# A Comprehensive Survey on Knowledge-Defined Networking
## 5 Control Plane
### Interfaces and Sub-Planes Connected with the Controller
#### 5.2.3 East- and Westbound Interfaces  
A single network centralized controller has the possibility of failure or a tendency for poor performance when interacting with a large number of user equipment. Furthermore, under a single controller, malfunctioning of the controller can lead to a single point of failure. Thus, a single control architecture has scalability and reliability issues. The solution proposed for that is a logically centralized control plane with physically distributed multiple controllers communicating with each other for synchronization using East and West bound interfaces. These interfaces should provide common compatibility and interoperability between different controllers and need to coordinate flow setups originated by applications, exchange reachability information, and update it to keep the network consistent. The main purpose of these interfaces is to provide interaction between the physically distributed controllers in order to have a global view of the network. As interactions, data can be exchanged between the controllers; they can observe/notify their capabilities; and they can provide procedures for data steadyness models.  
Application Layer Traffic Optimization (ALTO) is an east- and westbound API used to optimize point-to-point traffic and provide guidance for peer selection. ALTO provides guidance for peer selection by having information such as the location and characteristics of all nodes in the network [297].  
Hyperflow has an east- and westbound API that is based on an event propagation system that publishes a change in a network domain controlled by a given controller to other controllers whenever a change is detected, using a publish/subscribe system [298]. For instance, if a controller failure is discovered, it will be published to other controllers so that affected data plane elements will be handed over to a nearby controller, thus improving the availability of the system. Furthermore, HyperFlow is resilient to network partitioning by continuing to operate independently. Similar to Onix and ONOS, every controller in the physically distributed control plane of HyperFlow has a global network view.  
ONOS also has east- and westbound interfaces for physically distributed controllers, which will protect the network from controller failures by connecting a given data plane element with multiple controllers, where one will be the master controller and others will be the backup controllers, using east- and westbound interfaces [299]. In the event of a master controller failure, one of the backup controllers will take over. Furthermore, ONOS has additional recovery protocols to recover from lost crashes due to controller updates.  
Similar to ONOS, Onix also has each controller responsible for a subset of the network; however, it has a global network view where scalability is ensured using network partitioning and aggregation, and communication between the controllers is achieved using east and westbound interfaces [300]. Onix divides the network's information base such that each controller is responsible for a portion of it while aggregating the data using applications to lower the information fidelity.  
Note that east- and westbound interfaces are absent in an architecture that is both logically and physically centralized.