Packet Splicer for TCP Stream Redundancy and Failover
Find Innovative SolutionsGenerate 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 the reliability of network services.
Innovation Solution
Implementing a system with concurrent instances of control plane applications on multiple servers that replicate and manage packet forwarding, flow control, and leader election algorithms to ensure sub-second failure recovery and secure access, using 1:N TCP splicing to merge packets into a single stream for seamless service provision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional techniques are used for control plane elements, then device complexity is reduced, but reliability and availability deteriorate due to single points of failure and inability to support real-time operations
Solution Approach 1:
The control plane application is segmented into multiple concurrent instances distributed across different servers. Each instance handles a portion of the control plane workload, eliminating single points of failure. The splicer segments the multiple output streams from these instances into a single unified stream for the data plane, enabling failover while maintaining simplified data plane operations.
Solution Approach 2:
The splicer acts as an intermediary component that receives multiple control plane streams from concurrent instances on different servers and merges them into a single stream for the data plane. This intermediary enables the data plane to interact with a unified interface while the control plane benefits from distributed redundancy and real-time failover capabilities.
2Reliability
If multiple concurrent instances are implemented for failover, then reliability improves, but difficulty of detecting and measuring increases due to stream splicing and packet ordering challenges
Solution Approach 1:
The splicer implements feedback mechanisms to monitor the status of multiple control plane instances and dynamically adjust stream splicing based on instance health and performance. This feedback enables automatic failover detection and measurement, allowing the system to respond to failures in real-time while maintaining packet ordering integrity across spliced streams.
Solution Approach 2:
The patent replaces manual stream management and packet ordering mechanisms with automated software-based splicing logic. The splicer uses protocol-aware processing to automatically handle packet sequencing, reordering, and filtering across multiple incoming streams, eliminating the need for complex manual coordination and reducing measurement difficulties.
3Ease of operation
If 1:N TCP splicing is used to merge packets, then ease of operation improves for data plane, but device complexity increases in control plane due to splicer implementation
Solution Approach 1:
The splicer implements dynamic stream splicing that adapts to changing conditions in real-time. It dynamically adjusts which control plane instance streams are active, reorders packets based on current stream states, and filters duplicates on-the-fly. This dynamic behavior maintains simple data plane operations while handling complex multi-stream integration automatically through adaptive software logic.
Data Source
AI summary
A packet splicer receives, from a first server of a plurality of servers, a first request for retransmission of an uplink packet that was received from a client and replicated to the plurality of servers. The plurality of servers is running concurrent instances of a control plane application configured to process information in the uplink packet. The packet splicer transmits the first request for retransmission of the uplink packet to the client. The packet splicer bypasses transmission of a second request for retransmission of the uplink packet received from a second server of the plurality of servers. In some cases, the packet splicer receives, from the client, a request for retransmission of a downlink packet that was redundantly transmitted by the plurality of servers. The packet splicer replicates the request for retransmission of the downlink packet to the plurality of servers.


