Kernel TCP Session Maintenance for Network Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large computer networks, failover from a primary control unit to a secondary control unit can result in significant downtime and network disruptions due to the time it takes for the secondary unit to become operational, leading to queued or lost network traffic and increased latency caused by routing oscillations and session timeouts.
Innovation Solution
Implementing a technique where the secondary control unit transparently takes over communication sessions by replicating data and maintaining session timeouts, using a prioritized data structure to ensure seamless session maintenance and minimize downtime during failover, allowing it to send KEEPALIVE messages and manage socket cleanup at the kernel level.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the secondary control unit waits for the primary control unit to fail before taking over, then the failover process is simple, but network downtime increases and traffic is lost
Solution Approach 1:
The secondary control unit performs preliminary actions by synchronizing routing tables and forwarding state with the primary control unit before actual failover occurs. This includes replicating routing information, neighbor relationships, and session states so that the secondary unit is ready to immediately assume control without interruption when failover is triggered.
Solution Approach 2:
The patent introduces an intermediary mechanism where the secondary control unit proactively sends KEEPALIVE messages through the kernel to maintain communication sessions during the failover transition. This intermediary action prevents session timeouts and routing oscillations, enabling seamless handover between primary and secondary units.
2Speed
If the secondary control unit immediately takes over without session maintenance, then failover speed increases, but routing oscillations occur and packet loss increases
Solution Approach 1:
The patent ensures continuity of useful action by maintaining communication sessions during failover through kernel-level socket management. The secondary control unit continues to send and receive KEEPALIVE messages on existing TCP sessions, preventing session termination and avoiding routing oscillations that would otherwise cause packet loss and network instability.
3Ease of operation
If the secondary control unit manages all sessions manually, then control is precise, but system complexity increases
Solution Approach 1:
The patent implements self-service by allowing the secondary control unit to automatically inherit and manage communication sessions through the operating system's kernel mechanisms. The secondary unit leverages existing socket structures, file descriptors, and network stack resources without requiring manual session configuration or complex custom management logic, thus reducing system complexity while maintaining precise control.
Data Source
AI summary
In one example, a network device includes a plurality of interface cards to send and receive packets over a network, a primary control unit of the network device, and a secondary control unit of the network device configured to detect a failover event that causes the network device to failover from the primary control unit to the secondary control unit. An operating system of the secondary control unit may be configured to send, in response to detecting the failover event, a session maintenance message on each of a plurality of application-level communication sessions in accordance with a prioritized data structure having a plurality of hierarchically arranged nodes, each of the nodes associated with a different subset of the communication sessions having a common session timeout value.


