Stateless Control Plane State Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data networks, particularly in 5G networks, ensuring consistency between stateless control plane and stateful user plane states is challenging due to network instability or component failures, leading to unsynchronized states, which requires costly reconciliation processes.

Innovation Solution

The control plane's external state store is located within the user plane, with control plane state encoded in a user plane graph object and stored within the packet processing graph, allowing retrieval of matching states without version numbers or reconciliation, using subgraphs and OpaqueData graph objects for atomic replication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If control plane state is stored in an external database separate from user plane, then control plane can restart and scale without recovering state, but control plane state and user plane state become unsynchronized due to network instability or component failure

Engineering Contradiction:
Improvecontrol plane restart and scaling capabilityVSAvoidstate consistency between control plane and user plane
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent merges the control plane state storage with the user plane by embedding the control plane state within the user plane graph object. This is achieved by storing the control plane state in an OpaqueData graph object that is part of the user plane graph, located at a specific path within the graph structure. This integration ensures that both control plane and user plane share the same state storage location, eliminating synchronization issues while maintaining the ability to restart and scale the control plane.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If versioning and reconciliation processes are implemented to ensure state consistency, then state synchronization between control plane and user plane is achieved, but additional processing latency and code complexity significantly increase

Engineering Contradiction:
Improvestate synchronizationVSAvoidreconciliation process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the control plane state from the external database and embeds it directly within the user plane graph object. By removing the separate control plane state storage and placing it inside the user plane structure, the system eliminates the need for complex versioning and reconciliation processes. The control plane state is now automatically synchronized with the user plane since they share the same storage location.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If control plane state is stored externally, then control plane components can be stateless and scalable, but retrieval of matching control and user plane state requires additional latency

Engineering Contradiction:
Improvecontrol plane scalabilityVSAvoidstate retrieval latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines control plane state retrieval with user plane graph retrieval by locating the control plane state within the user plane graph object. When the control plane retrieves the user plane graph, it simultaneously retrieves the embedded control plane state from the OpaqueData graph object. This merged retrieval approach eliminates additional latency while preserving control plane scalability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11700170B2Stateless control planes
Publication Date: 2023.07.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11700170B2 patent drawing
  • US11700170B2 patent drawing
  • US11700170B2 patent drawing

AI summary

The techniques disclosed herein improve existing systems by receiving, by a packet processor from a control node of the communications network, a request to program operations for processing data packets, the request received with opaque data comprising a state of the control node. The packet processor stores the operations and the opaque data in a data store of the packet processor. The packet processor receives from the control node a subsequent request to retrieve the opaque data. The packet processor sends to the control node the operations and the opaque data that were stored in the data store of the packet processor. The opaque data is not stored in the control node.