TCP Splicer for High Availability Control Plane Sessions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques fail to provide high availability and reliability for control plane elements implementing stateful protocols like TCP, as they are not suitable for real-time operations and are prone to single points of failure, undermining network reliability and availability.

Innovation Solution

Implementing a system with multiple servers running concurrent instances of a control plane application, where agents handle packet replication, forwarding, and flow control, and a leader agent manages packet transmission and failure recovery through 1:N TCP splicing and flow control algorithms, ensuring secure and seamless operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple servers run concurrent instances of control plane application, then reliability and availability are improved, but device complexity increases

Engineering Contradiction:
Improvereliability and availability of control plane applicationsVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A splicer acts as an intermediary component that receives packets from multiple server instances and merges them into a single output stream. This mediator abstracts the complexity of managing multiple concurrent connections, allowing servers to operate independently while the splicer handles the coordination and merging logic, thus improving reliability without proportionally increasing operational complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges multiple packet streams from different server instances into a single concatenated output stream. By combining redundant connection instances at the packet level rather than requiring complex coordination protocols between servers, the system achieves high availability while keeping the control plane architecture relatively simple

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If 1:N TCP splicing is implemented for failure recovery, then failure recovery time is reduced to sub-second, but device complexity increases

Engineering Contradiction:
Improvefailure recovery timeVSAvoidsplicing mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system pre-establishes multiple concurrent TCP connections to backup servers before failures occur. When a failure is detected, the splicer immediately switches to using the pre-configured backup connections without requiring new connection establishment, enabling sub-second failure recovery. The connections are prepared in advance but remain idle until needed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The splicer creates duplicate copies of packet streams and distributes them through multiple concurrent TCP connections to different server instances. This copying approach allows immediate failover by simply switching which copy's output is forwarded, avoiding complex real-time coordination during failure recovery

Inventive Principle:
Principle #26Copying

3Reliability

If concurrent connections are spliced into a single high availability session, then availability is enhanced, but flow control difficulty increases

Engineering Contradiction:
Improveavailability of control plane elementsVSAvoidflow control management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The splicer serves as a flow control intermediary that receives packets from multiple server instances, each with its own flow control state. It maintains separate flow control tracking for each input connection while presenting a unified flow control interface to the client. This mediator approach allows independent flow control management for each concurrent connection without requiring complex coordinated control across all connections

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the flow control management into separate independent modules, one for each concurrent TCP connection. Each connection's flow control is handled independently by its own agent, and the splicer simply concatenates the outputs. This segmentation avoids the need for complex unified flow control algorithms across multiple connections, reducing overall system complexity while maintaining availability

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10848367B2Splicing concurrent connections into a high availability session
Publication Date: 2020.11.24 NOKIA SOLUTIONS & NETWORKS OY
  • US10848367B2 patent drawing
  • US10848367B2 patent drawing
  • US10848367B2 patent drawing

AI summary

A plurality of agents is instantiated on a corresponding plurality of servers that are running concurrent instances of a control plane application. A first agent is selected from the plurality of agents to mediate communication between a client and the concurrent instances of the control plane application running on the plurality of servers. The first agent replicates uplink packets received from the client for transmission to the plurality of agents. A first connection is used to convey the uplink packets. The first agent transmits a single copy of redundant downlink packets received from the plurality of agents to the client via the first connection. In some cases, the first connection is a stateful transmission control protocol (TCP) connection and the first agent replicates the uplink packets received in a single TCP stream. The first agent merges the redundant downlink packets into the single TCP stream.