GSoC/GCI Archive
Google Summer of Code 2013

Open Networking Lab

Web Page: http://onlab.us/careers.html

Mailing List: https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

As inventors of OpenFlow and SDN, we seek to "open up the Internet infrastructure for innovations" and enable the larger network industry to build networks that offer increasingly sophisticated functionality yet are cheaper and simpler to manage than current networks.


We develop tools that demonstrate new capabilities made possible by SDN. ON.Lab is the organization where we develop, distribute and support open source SDN tools and platforms for the larger community.

Projects

  • Automated creation of virtual network based on real network This project involves discovering the topology of a physical, hardware network and to recreate it automatically in Mininet with the help of controller (Floodlight or Pox controller).
  • FlowVisor GUI FlowVisor currently slices networks but unfortunately provides no mechanism to graphically visualise the slices. Visualising slices is not as trivial as it sounds because FlowVisor slices can be defined on any L1-L4 headers and such slices do not translate naturally to a visual representation. The idea here would be to use the existing API available in FlowVisor (and possibly add some more API) and develop a FlowVisor slice visualizer which will allow an administer and visualize their slices on a web UI.
  • Link (wire & wireless) simulator support using ns-3 ns-3 network simulator has ability to exchange traffic in real-time with the outside world (so called "emulation mode"). In particular, it is possible to establish connection between two virtual interfaces on the host machine through the simulated link in ns-3. ns-3 offers broad range of link types, from CSMA Ethernet to 802.11 or even LTE. Goal of the project is to introduce support for such simulated links in mininet and to create a convenient way for establishing them with mininet CLI and Python API.
  • Replace SQL DB by NOSQL DB FlowVisor currently relies on a SQL database for storing and persisting it's configuration. This is quite complicated and requires a lot of extra code to handle all the database accesses. More importantly, handling updates to the database requires FlowVisor to update the database schema which can be limiting and error prone. Finally, the current backend requires that all request come from the same JVM and incurs a performance hit on the overall system. The idea of this project is to replace this backend with a NoSQL storage to allow easier handling of the configuration and more flexibility in retrieving the configuration information.
  • Web Interface to Share Mininet Systems The first part of the project is a web interface for users to share their mininet modules. Users should be able to submit his own mininet modules, see what others submitted, download a module and run it easily. A tutorial on how to use the website will also be written. The second part of the project is a website for users to share their full experiments by uploading VM image.