Network Controller Failover Churn Reduction via State Delta

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenetwork controller availabilityVSAvoidnetwork state churn
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveupdate propagation speedVSAvoidredundant recalculation time
Core Design Contradiction:
SpeedVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If the new primary network controller waits for additional updates, then recalculation accuracy is improved, but network state update delay increases

Engineering Contradiction:
Improvenetwork state consistencyVSAvoidupdate delay
Core Design Contradiction:
Manufacturing precisionVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9967134B2Reduction of network churn based on differences in input state
Publication Date: 2018.05.08 VMWARE INC
  • US9967134B2 patent drawing
  • US9967134B2 patent drawing
  • US9967134B2 patent drawing

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.