Zheng Cai, Maestro: A System for Orchestrating Network Control Components

Network operation is inherently complex because it consists of many functions such as routing, firewalling, VPN provisioning, traffic load-balancing, network maintenance, etc. To cope with this, network designers have created modular components to handle each function. Unfortunately, in reality, unavoidable dependencies exist between some of the components and they may interact accidentally. At the same time, some policies are realized by compositions of different components, but the methods of composition are ad hoc and fragile. In other words, there is no single mechanism for systematically governing the interactions between the various components.

To address these problems, we propose a clean-late system called Maestro. Maestro is an operating system that orchestrates the network control applications that govern the behavior of a network, and directly controls the underlying network devices. Maestro provides abstractions for the modular implementation of network control applications, and is the first system to address the fundamental problems originating from the concurrent operations of network control applications, namely communication between applications, scheduling of application executions, feedback management, concurrency management, and network state transition management. As the networking industry moves towards building directly controllable devices like the OpenFlow Switch, we believe Maestro can become a common platform.