Controller State Replication for SDN Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Software-Defined Networking (SDN) environments, maintaining a consistent network state across controller failures and recomputations can lead to downtime and resource-intensive processing, especially when snapshots require pausing the system and significant recomputation is needed.
Innovation Solution
Implementing a distributed database model for network controllers with continuous snapshotting and replicating the entire forwarding state between master and slave controllers to minimize downtime and processing load, allowing quick convergence to a correct network state without extensive recomputation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional snapshotting is used to maintain consistent network state, then reliability is improved, but productivity deteriorates due to system pausing and extensive recomputation
Solution Approach 1:
The system performs preliminary actions by continuously replicating the forwarding state from master controller to slave controllers before failures occur. This pre-positioning of state data eliminates the need for pausing and extensive recomputation during failover, as slave controllers already have up-to-date state information ready for immediate takeover.
Solution Approach 2:
The patent implements continuous state replication between master and slave controllers, ensuring that the useful action of state synchronization never stops. This continuous replication maintains network state consistency while keeping controllers available, eliminating the stop-start nature of traditional snapshotting approaches.
2Productivity
If continuous state replication is implemented between master and slave controllers, then productivity is improved by reducing downtime, but device complexity increases
Solution Approach 1:
The system creates copies of the forwarding state from the master controller and distributes them to slave controllers. This copying mechanism simplifies the failover process compared to full replication of controller functionality, as slave controllers receive and store state data without needing to independently compute or validate it, reducing the complexity of inter-controller communication and synchronization protocols.
3Reliability
If extensive recomputation is performed after controller failure, then reliability is improved by ensuring state accuracy, but loss of time increases
Solution Approach 1:
Slave controllers perform preliminary work by continuously receiving and storing forwarded state data from the master controller before failures occur. This pre-computed state information is ready for immediate use upon master controller failure, eliminating the need for time-consuming recomputation and ensuring both state accuracy and rapid recovery.
Solution Approach 2:
The slave controllers are self-sufficient in that they maintain their own copies of the forwarding state independently. When a master controller fails, slave controllers can immediately take over using their pre-loaded state without needing to request or compute state information from other controllers, reducing recovery time while maintaining state accuracy.
Data Source
AI summary
A network control system that achieves high availability for forwarding state computation within a controller cluster by replicating different levels of table state between controllers of the controller cluster. To build a highly available controller cluster, the tables for storing the forwarding state are replicated across the controllers. In order to reduce network traffic between the controllers, fewer tables are replicated to slave controllers, which then recompute the forwarding state of the master controller in order to have a replicate copy of the master controller's forwarding state for possible failover. In other embodiments, more tables are replicated to minimize the recomputations and processor load on the slave controller. The network control system of some embodiments performs continuous snapshotting to minimize downtime associated with reaching a fixed point and replicating the state.


