Buffered Subscriber Tables for Network State Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network control systems face challenges in maintaining consistent network states due to conflicting inputs from multiple controllers, arbitrary processing orders of state changes, and inconsistent garbage collection, leading to dataplane downtime and prolonged inconsistency.

Innovation Solution

Implementing fixed points with publications, generation numbers, and secondary queues to ensure consistent state propagation, using buffered subscribers to maintain network state integrity and reduce churn, and employing barriers to process changes as a single group, thereby preventing inconsistencies and improving garbage collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the cluster computes all pending state changes in an arbitrary order, then processing flexibility is improved, but network state consistency deteriorates

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidnetwork state consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a two-phase commit mechanism where state changes are first prepared in a consistent order within the cluster, then applied to the dataplane. This preliminary ordering action ensures that related changes are processed together in the correct sequence, preventing inconsistency while maintaining processing flexibility through the staged approach.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If changes are applied to the dataplane as they are computed, then processing speed is improved, but network downtime increases

Engineering Contradiction:
Improveprocessing speedVSAvoiddataplane downtime
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent prepares all state changes in advance within the cluster in a consistent order before applying them to the dataplane. This preliminary preparation ensures that when changes are applied, they are complete and consistent, minimizing the time the dataplane is in an inconsistent state while maintaining efficient batch processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the state change process into two distinct phases: cluster-level computation and ordering, followed by dataplane application. This segmentation allows the cluster to perform comprehensive consistency checks and ordering operations without blocking the dataplane, reducing overall downtime while maintaining processing speed.

Inventive Principle:
Principle #1Segmentation

3Reliability

If garbage collection is delayed while processing network state, then state consistency is improved, but garbage collection efficiency deteriorates

Engineering Contradiction:
Improvestate consistencyVSAvoidgarbage collection efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs garbage collection as a preliminary action during the cluster computation phase, before changes are applied to the dataplane. By removing obsolete state entries from the cluster's state database during this phase, the system ensures that only consistent, currently valid state is processed and applied, maintaining reliability while preventing garbage accumulation that would hinder future collection efficiency.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If multiple controllers send changes for the same slice simultaneously, then controller redundancy is improved, but state consistency deteriorates

Engineering Contradiction:
Improvecontroller redundancyVSAvoidstate consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where controllers exchange state information and change notifications with each other. When multiple controllers have changes for the same slice, the feedback loop allows them to coordinate, determine the correct processing order, and apply changes in a sequence that maintains consistency. This feedback-based coordination preserves controller redundancy while preventing inconsistent state application.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10164894B2Buffered subscriber tables for maintaining a consistent network state
Publication Date: 2018.12.25 VMWARE INC
  • US10164894B2 patent drawing
  • US10164894B2 patent drawing
  • US10164894B2 patent drawing

AI summary

Some embodiments provide a novel network control system that provides publications for managing different slices (e.g., logical and/or physical entities) of a network. The publications are published from publisher controllers in the network control system to subscriber controllers. The network control system uses publications with generation numbers and buffered subscribers to implement the fixed points in order to help maintain a consistent network state. Buffered subscribers buffer the inputs received from a publisher in case the publisher becomes unavailable. Rather than deleting all of the output state that is based on the published inputs, the buffered subscriber allows the subscriber to maintain the network state until an explicit change to the state is received at the subscriber from a publisher (e.g., a restarted publisher, a backup publisher, etc.).