TCP/IP Stack Link Failover Resilience

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In link aggregation, link failures lead to packet loss, which traditional TCP protocols incorrectly interpret as network congestion, triggering congestion avoidance modes that reduce throughput and result in suboptimal performance, especially in bandwidth-intensive and time-constrained applications.

Innovation Solution

Notifying the TCP/IP stack to ignore packet losses and suspend network congestion avoidance procedures for a predefined period after detecting a link failure, allowing flows to be rerouted without reducing congestion control windows, thereby maintaining throughput during link failover.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If congestion avoidance algorithms are employed to handle packet loss, then TCP protocol stability is improved, but throughput is reduced due to unnecessary window size reduction

Engineering Contradiction:
ImproveTCP protocol stabilityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary mechanism (link failure detection and notification system) that sits between the network layer and TCP protocol layer. This intermediary detects link failures and communicates them to the TCP stack, enabling TCP to distinguish between congestion-induced packet loss and link failure-induced packet loss, thereby preventing inappropriate congestion avoidance actions

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the behavior parameter of TCP congestion control by introducing a special mode (such as setting a flag or changing congestion control state) that disables congestion avoidance algorithms when link failure is detected. This parameter change allows TCP to maintain larger congestion windows and avoid unnecessary throughput reduction

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If congestion control windows are reduced to avoid congestion, then network stability is improved, but application performance deteriorates in bandwidth-intensive scenarios

Engineering Contradiction:
Improvenetwork stabilityVSAvoidapplication performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The link failure detection and notification mechanism acts as an intermediary that provides accurate information to the TCP stack, enabling it to maintain appropriate congestion control window sizes by distinguishing link failures from actual network congestion, thus preserving both stability and performance

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If link aggregation failover is implemented, then system reliability is improved, but packet loss occurs during the failover transition

Engineering Contradiction:
Improvesystem reliabilityVSAvoidpacket loss
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent implements preliminary action by proactively detecting link failures and notifying the TCP stack before packet loss becomes significant. The system detects the link failure event and communicates it to the TCP congestion control mechanism in advance, allowing TCP to adjust its behavior and prevent unnecessary packet loss during the failover transition

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10097462B2Throughput resilience during link failover
Publication Date: 2018.10.09 VMWARE INC
  • US10097462B2 patent drawing
  • US10097462B2 patent drawing
  • US10097462B2 patent drawing

AI summary

Techniques disclosed herein provide an approach for providing throughput resilience during link failover when links are aggregated in a link aggregation group (LAG). In one embodiment, failure of a link in the LAG may be detected, and a Transmission Control Protocol/Interact Protocol (TCP/IP) stack notified to ignore packet losses and not perform network congestion avoidance procedure(s) for one round-trip timeout (RTO) period. In a virtualized system in particular, a virtual switch may be configured to generate events in response to detected link failures and notify TCP/IP stacks of a hypervisor and/or virtual machines (VMs) of the link failures. In turn, the notified TCP/IP stacks of the hypervisor and/or VMs may ignore packet losses and not perform network congestion avoidance procedure(s) for one RTO period.