Cementing high availability in OpenFlow with RuleBricks
Abstract
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 Rule-Bricks, 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. © 2013 ACM.