Chord: A scalable peer-to-peer lookup service for internet applications
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
OpenFlow: enabling innovation in campus networks
ACM SIGCOMM Computer Communication Review
Onix: a distributed control platform for large-scale production networks
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
OpenFlow-based server load balancing gone wild
Hot-ICE'11 Proceedings of the 11th USENIX conference on Hot topics in management of internet, cloud, and enterprise networks and services
OFRewind: enabling record and replay troubleshooting for networks
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
Frenetic: a network programming language
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Hierarchical policies for software defined networks
Proceedings of the first workshop on Hot topics in software defined networks
Programming your network at run-time for big data applications
Proceedings of the first workshop on Hot topics in software defined networks
Openflow random host mutation: transparent moving target defense using software defined networking
Proceedings of the first workshop on Hot topics in software defined networks
Composing software-defined networks
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Split/merge: system support for elastic execution in virtual middleboxes
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
Controller applications in OpenFlow cannot be trivially augmented to support the various high availability (or failure recovery) models of server applications. Recent work on OpenFlow has largely assumed static replica configurations or has relied on controller developers to embed high availability support in their design. Instead, we present RuleBricks, a system for flexibly embedding high availability support in existing OpenFlow policies. RuleBricks introduces three key primitives: drop, insert, and reduce. We describe how these primitives can express various flow assignment and backup policies, demonstrating the one offered by the Chord protocol. We have implemented RuleBricks and the Chord assignment policy. Using simulation, we compare RuleBricks against a typical tree-based approach. We show that RuleBricks maintains linear scalability with the number of replicas on the Chord ring.