Software Defined Networking
Beehive
2013 – Now
Beehive is a distributed messaging platform focused on simplicity. Our goal is to create a programming model for distributed control applications that is almost identical to a centralized controller yet can automatically be distributed and optimized. Beehive comes with built-in support for transactions, replication, fault-tolerance, runtime instrumentation, and optimized placement. Beehive can be used to emulate existing distributed controllers inculuding Kandoo and ONIX. Beehive supersedes Kandoo.
More info: Publications.
Code: beehive
Kandoo
2011 – 2013
Kandoo is a hierarchical SDN control plane aiming to handle frequent networking events, at scale. The main idea behind Kandoo is that control applications do not necessarily require the network-wide state. In essence, there are applications (such as learning switch and elephant flow detection) that can even work with only accessing the state of a single switch. Kandoo exploits such properties to scale.
More info: kandoo.org, Publications.
OpenTCP
2010 – 2011
OpenTCP is a SDN-based TCP congestion control providing a framework to optimize TCP using the network-wide view available in SDN. We deployed OpenTCP in SciNet, the largest HPC data center in Canada.
More info: Publication.
Code:
tcp_flow_spy
,
tcp_tune
.