TCP-over-TCP Tunneling with Dynamic RTO and Stream Redirection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

TCP over TCP connections experience network congestion issues due to mismatched RTO timers and head of line blocking, leading to inefficient retransmissions and network traffic disruptions.

Innovation Solution

Establishing multiple tunneled network connections between devices and employing a reset flag or other mechanisms to manage congestion, allowing for the redirection of application data streams to alleviate congestion and maintain session continuity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If TCP uses adaptive timeout for determining packet loss, then packet loss detection accuracy is improved, but network congestion increases due to inappropriate retransmissions

Engineering Contradiction:
Improvepacket loss detection accuracyVSAvoidnetwork congestion
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The patent implements dynamic RTO adjustment by allowing the receiving device to send RTO adjustment indicators to the sending device. The sending device then adjusts its retransmission timeout based on current network conditions and receiving device buffer status, making the timeout adaptive rather than fixed. This dynamic adjustment prevents both premature retransmissions (which cause congestion) and delayed retransmissions (which reduce throughput).

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a feedback mechanism where the receiving device monitors its buffer status and sends RTO adjustment indicators back to the sending device. This feedback loop allows the sending device to adjust its retransmission timing based on real-time receiving conditions, optimizing the balance between packet loss detection accuracy and network congestion prevention.

Inventive Principle:
Principle #23Feedback

2Object-affected harmful factors

If multiple TCP connections are established for TCP over TCP traffic, then network congestion is alleviated, but device complexity increases

Engineering Contradiction:
Improvenetwork congestionVSAvoidconnection management complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent segments the single TCP over TCP connection into multiple independent TCP connections. Each connection handles a portion of the tunneling traffic, distributing the load and preventing any single connection from becoming a congestion bottleneck. The sending and receiving devices maintain multiple parallel TCP connections instead of relying on a single connection for all tunneled traffic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines multiple TCP connections to handle TCP over TCP traffic simultaneously. By merging the capacity of multiple connections, the system achieves higher overall throughput and better congestion resistance than a single connection could provide, while the connections work together as a unified tunneling mechanism.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8856354B1TCP-over-TCP using multiple TCP streams
Publication Date: 2014.10.07 F5 NETWORKS INC
  • US8856354B1 patent drawing
  • US8856354B1 patent drawing
  • US8856354B1 patent drawing

AI summary

A system, apparatus, and method for managing TCP over TCP communications using multiple TCP network connections. A plurality of tunneled network connections may be established between network devices. The network devices may employ one of the tunneled network connections over which to establish a plurality of application sessions. If congestion is detected on the employed tunneled network connection that exceeds a threshold, then a reset flag may be sent to abort that tunneled network connection. At least some of the application sessions are also transferred to another one of plurality of tunneled network connections, without terminating the moved application sessions. In one embodiment, at least one more tunneled network connection may be established between the network devices.