Description
This module provides high availability support when multiple instances of the controller are run. It is used to publish and subscribe to updates from multiple controllers, and uses ISyncService in order to store the data. It synchronizes state between the controllers by letting all of them access updates published by all other modules in the controller in an efficient manner. In addition, it runs a leader election process, in order to enable modules to perform role based programming in a distributed system with multiple controllers running and to be able to communicate with each other. The main purpose of this module was to lay the foundation to be able to build a fault tolerant system which is able to then retrieve the state of a failed controller and reinstantiate it to that state.
Services Provided
IHAControllerService
IHAWorkerService
Service Dependencies
IFloodlightService
ILinkDiscoveryService
IFloodlightProviderService
ISyncService
ITopologyService
...