Kernel TCP Session Maintenance for Network Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenetwork connectivity reliabilityVSAvoidfailover downtime
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the secondary control unit immediately takes over without session maintenance, then failover speed increases, but routing oscillations occur and packet loss increases

Engineering Contradiction:
Improvefailover speedVSAvoidrouting oscillations and packet loss
Core Design Contradiction:
SpeedVSObject-generated harmful factors

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.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If the secondary control unit manages all sessions manually, then control is precise, but system complexity increases

Engineering Contradiction:
Improvesession management controlVSAvoidsession management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9077617B1Kernel-based TCP-layer assist for fast recovery by backup control unit of a device
Publication Date: 2015.07.07 JUNIPER NETWORKS INC
  • US9077617B1 patent drawing
  • US9077617B1 patent drawing
  • US9077617B1 patent drawing

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.