Network Controller Failover Churn Reduction via State Delta
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network controller failures in data plane forwarding elements lead to unnecessary churn and delays due to recalculations and reconfigurations when a new primary controller takes over, especially when the new controller initially provides an empty set of input network state data entries, causing the system to tear down and rebuild the existing network state.
Innovation Solution
Implementing a waiting period or calculating changes between new and existing input network state data entries to minimize recalculations, where local controllers delay computing new output state until the waiting period expires or until additional updates are incorporated, and using shadow tables to mark entries for deletion and identify changes, thereby reducing unnecessary recalculations and maintaining a consistent network state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a new primary network controller takes over after a failover, then network controller availability is improved, but network state churn increases due to unnecessary recalculations and reconfigurations
Solution Approach 1:
The patent applies preliminary action by having the new primary network controller wait for a predetermined period before computing new output network state data. This waiting period allows the new controller to receive any additional input network state data entries that may become available, ensuring that the first output network state data is not unnecessarily superseded by subsequent updates, thereby reducing churn while maintaining availability
2Speed
If the new primary network controller immediately computes new output state data, then update propagation speed is improved, but redundant recalculations increase causing unnecessary churn
Solution Approach 1:
The patent implements preliminary action by introducing a waiting period before the new primary network controller computes its first output network state data. This preliminary wait ensures that the controller receives all necessary input data before calculation, preventing redundant recalculations when additional data becomes available, thus avoiding wasted computation time while maintaining efficient update propagation
Solution Approach 2:
The patent applies feedback by continuously monitoring whether additional input network state data entries become available during the waiting period. The controller uses this feedback to determine whether to supersede the first output network state data with second output network state data, optimizing the balance between update speed and calculation efficiency
3Manufacturing precision
If the new primary network controller waits for additional updates, then recalculation accuracy is improved, but network state update delay increases
Solution Approach 1:
The patent applies preliminary action by establishing a predetermined waiting period before the new primary network controller computes output network state data. This preliminary wait ensures that all necessary input data is received, guaranteeing network state consistency and accuracy while limiting the delay to a controlled, predetermined duration rather than an indefinite period
Data Source
AI summary
Some embodiments provide a network control system with techniques for handling failover of network controllers with minimal churn in the network state distributed to the forwarding elements of the network. Specifically, in some embodiments, the local controller designates a waiting period before computing output network state data entries based on the new version of the input network state data entries. Alternatively, or conjunctively, the local controller of some embodiments calculates the changes between the new version of input state data entries and its stored existing version of the input state data entries, and only generates new output network state data entries based on the calculated changes, in order to minimize unnecessary recalculations of the output network state data entries. The new output network state data entries may then be used by the local controller to provision its managed forwarding element.


