Cloud Computing Books


Project 1

Software Defined Networks (SDN)

Project Description

This project has an individual component and one in teams of 2-3persons.

For this project, you will design, implement, and thoroughly test a software defined network (SDN) for a distributed server that is going to serve a variety of services, from regular HTTP web pages to real-time applications such as sensor streaming and video players. The network has to support protocols such as TCP/IP and UDP simultaneously.

The project would be done a part in the class workshops and a part outside of the class.


Your project grade will be based on the quality of your report, on the usefulness of the system you’ve built, on the extent to which your design is a good fit for the problem you’re solving, and the quality of the code submitted.


This project mainly consists of four modules:

  • Research  – Individual
  • Implementation of a topology using mininet.  – Individual
  • Implementation of static and dynamic rules using OpenFlow. – Individual
  • Simulation and measurements of the previous two steps using real hardware. -Group
  • Design, implement and test a network for a data center that fulfills the requirements given.  – Group

Tools that may be handy

iperf, wireshark, tc, cbench, and ovs-ofctl

Week by Week

 Expected Timeline

Screenshot from 2016-02-25 13:37:17

Additional notes

Your code should comply with the given headers and code structure, a significant part of your grade is going to be from automatic grading, if your code does not meet the requirements a zero would be given for the corresponding section.  Tests will be provided for you to verify that your code has the required structure.

What to Hand In (Final submission)

  • A report with all the contents exposed in the previous sections, following the template from ACM SIG.
  • The code for the topology implementation.
  • The code for the OpenFlow implementation
  • The code for your final system.
  • Any test cases used to test your system with the corresponding Makefile.

All the files have to be submitted using the directory structure obtained from T-Square and compress to tar.gz format. 

Topics that can be covered

  • Overview
    • General Benefits and Architecture
    • Precursors
    • Business Drivers
    • Cloud Service Models (PaaS, IaaS, SaaS)
    • Main players in the Field
    • Overview of Security Issues
  • Microsoft Azure
  • DataCenter Architecture
  • Resource Management
    • Automated provisioning
    • Balancing.
    • Scheduling
  • Virtualization basics
    • Virtualization, hypervisor
    • VM management example
  • Network
    • Physical data center network topology and fault-tolerance
    • Network virtualization
    • Software defined networking
    • Congestion control and traffic engineering
    • Inter-data center networks
  • Filesystems and Data Storage
    • Distributed FileSystems
    • (Dynamo,Haystack,BigTable)
    • NoSQL
  • Security
  • Programming frameworks and software
    • MapReduce
    • Dryad
    • Hadoop
    • Pig Latin
    • OpenStack
  • Sensor Networks and Stream Processing
  • Energy
  • Scalability, performance characterization and  benchmarking

Additional interesting topics that may or not be covered

  • Operating Systems (Mesos, Akaros, Arrakis)
  • Distributed Algorithms
    • PAXOS
    • Overlay Networks
    • P2P
    • Consensus (Quorum)
    • Coordination (ZooKeeper)
  • Multicast
  • RealTime cloud -> Reference
  • PubSub
  • Faults and failures
  • Iterative processing (pregel, spark, etc)+
  • Web Development and Cloud applications
    • RestFUL API’s
  • Trending areas
  • Disaster and failure recovery.
  • Mobile Cloud computing.

Cloud Computing Classes from other Universities (and other entities)

Other references:

  • Paper about the implementation of the cloud computing class in CMU



Good references for other universities here

Good introductory referency by Berkeley