Virtual Buffer Intermediary for TCP Flow Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In ultra-low latency networks, existing systems face challenges in managing bi-directional TCP packet flow efficiently, leading to dropped packets due to insufficient buffer space, which results in network instability and resource wastage from re-transmissions.

Innovation Solution

A system and method that modify TCP packets to include indicators of remaining buffer capacity, allowing routers to manage packet transmission and acknowledgment processes effectively, ensuring that endpoints do not overflow and reducing re-transmissions by reporting actual buffer capacity differently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the router uses actual buffer capacity for flow control, then the buffer management is accurate, but packets are dropped when buffer space is insufficient

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidnetwork throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary virtual buffer between the physical buffer and the TCP endpoints. This virtual buffer mediates the flow control signals, providing endpoints with an optimistic view of available buffer space while protecting the actual physical buffer from overflow. The intermediary layer decouples the endpoints from the true buffer state, allowing sustained throughput without packet drops.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the buffer capacity parameter reported to endpoints from the actual physical buffer size to a virtual buffer size that is always sufficient. By modifying this critical parameter, the system transforms the flow control behavior of endpoints, preventing them from reducing transmission rates unnecessarily while the physical buffer is managed separately to avoid actual overflow.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the router reports accurate buffer capacity, then endpoints can manage their transmission accurately, but network latency increases due to conservative flow control

Engineering Contradiction:
Improveflow control accuracyVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The virtual buffer acts as an intermediary that absorbs the time delay between packet transmission and acknowledgment. By decoupling the reported buffer capacity from the actual physical buffer state, the system eliminates the need for endpoints to wait conservatively, thus reducing latency while maintaining reliable flow control through the intermediary layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the router increases buffer space for TCP acknowledgment, then packet drops are prevented, but ultra-low latency performance is compromised

Engineering Contradiction:
Improvepacket acknowledgment reliabilityVSAvoidacknowledgment latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a virtual copy of the buffer capacity information that is presented to endpoints. This copy is decoupled from the actual physical buffer, allowing the system to report sufficient buffer space to endpoints without physically expanding the buffer. The virtual copy enables ultra-low latency performance by preventing endpoints from pausing transmission, while the actual buffer is managed efficiently to avoid drops.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20210328938A1Flow control of two TCP streams between three network nodes
Publication Date: 2021.10.21 MORGAN STANLEY SERVICES GROUP INC
  • US20210328938A1 patent drawing
  • US20210328938A1 patent drawing
  • US20210328938A1 patent drawing

AI summary

A system for forwarding packets between a first endpoint and a second endpoint, comprising one or more processors; a first network interface for communication with the first endpoint and a second network interface for communication with the second endpoint; and non-transitory memory comprising instructions. The instructions cause the one or more processors to receive a first packet from the first endpoint comprising a first data payload; generate a second packet, comprising the first data payload and an indicator of remaining buffer capacity different from an actual buffer capacity of the system; transmit the second packet to the second endpoint; receive a third packet from the second endpoint comprising a second data payload; generate a fourth packet, comprising the second data payload and an indicator of remaining buffer capacity different from an actual buffer capacity of the system; and transmit the fourth packet to the first endpoint.