Distributed Network Controller State for Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network controller clusters, when the primary network controller fails, secondary controllers lack immediate access to the current configuration information of network devices, leading to re-sending of configuration data and potential loss of configurations, resulting in network performance degradation during convergence.
Innovation Solution
Distributing network device state information (NDSI) across all network controllers, including secondary ones, through configuration files, allowing a secondary controller to quickly assume the primary role by loading the most current NDSI from a selected network device, minimizing the need for re-sending configuration data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If configuration information is centralized in the primary network controller only, then the system structure is simple, but the network performance degrades during controller failure due to loss of configuration information
Solution Approach 1:
The patent segments the configuration information storage function by distributing NDSI to multiple network controllers (primary and secondary) instead of concentrating it in a single primary controller. Each controller maintains its own NDSI in local configuration files, allowing any controller to assume the primary role immediately upon failure without losing configuration information.
Solution Approach 2:
The patent implements preliminary action by having secondary network controllers proactively obtain and store NDSI from network devices before any failure occurs. This pre-positioning of configuration information ensures that when a failure happens, the secondary controller can immediately assume the primary role without needing to request or retrieve configuration data, thus avoiding network performance degradation.
2Loss of time
If secondary controllers do not store NDSI, then the storage and processing overhead is reduced, but configuration data must be re-sent after failure causing time loss
Solution Approach 1:
Secondary controllers perform preliminary action by obtaining and storing NDSI from network devices into their local configuration files before any failure occurs. This pre-positioning eliminates the need to re-send configuration data after failure, reducing convergence time from potentially minutes to seconds.
Solution Approach 2:
The patent uses copying by creating local copies of NDSI in the configuration files of secondary network controllers. These copies are maintained separately from the primary controller's database, allowing immediate access upon failure without needing to query the primary controller or re-transmit configuration data.
3Reliability
If NDSI is distributed to all controllers, then high availability is achieved, but the memory and storage requirements increase
Solution Approach 1:
The patent segments the storage burden by distributing NDSI across multiple controllers rather than requiring one controller to hold all configuration information centrally. Each controller stores only the portion of NDSI relevant to its potential failover role, reducing the peak storage requirement at any single location while maintaining overall system reliability.
Data Source
AI summary
A method for managing a network controller cluster includes obtaining, by the network controller in a network controller cluster, network device state information (NDSI) from each network device of a plurality of network devices managed by the network controller cluster, storing the NDSI in a configuration file, receiving a notification that a second network controller in the network controller cluster has failed, wherein the second network controller has a role of primary network controller in the network controller cluster, making a first determination that a role of the network controller has changed to primary network controller in the network controller cluster, based on the first determination, loading the NDSI from the configuration file into a network controller state database on the network controller, and initiating operation of the network controller using the network controller state database.


