Buffered Subscriber Tables for Network State Consistency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If changes are applied to the dataplane as they are computed, then processing speed is improved, but network downtime increases
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.
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.
3Reliability
If garbage collection is delayed while processing network state, then state consistency is improved, but garbage collection efficiency deteriorates
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.
4Adaptability or versatility
If multiple controllers send changes for the same slice simultaneously, then controller redundancy is improved, but state consistency deteriorates
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.
Data Source
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.).


