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


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:, Publications.


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.