Congestion Control via Header Modification and RTT-Based Window Sizing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network traffic congestion control methods, such as TCP's congestion control mechanism, lead to bursts and queuing, which increase latency and degrade user experience in real-time applications like online gaming and streaming, due to inefficient bandwidth allocation and probing for bottleneck speeds.

Innovation Solution

Implementing congestion control modules that intercept and modify message headers to regulate bandwidth and pacing, using Round Trip Time (RTT) and window sizing to optimize data transmission rates, ensuring fair allocation of bandwidth among users and reducing queuing by matching transmission rates with available bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If TCP's congestion control mechanism is used to allocate bandwidth and probe bottleneck speeds, then bandwidth allocation is achieved, but bursts and queuing occur which increase latency

Engineering Contradiction:
Improvebandwidth allocationVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and setting the congestion window size based on RTT measurements before actual data transmission begins. The congestion control module determines an initial congestion window value using the formula: congestion_window = min(max_congestion_window, cwnd_increase_rate * RTT), which prepares the transmission parameters in advance to avoid bursts during actual data flow

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by continuously adjusting the congestion window size based on real-time RTT measurements and network conditions. The congestion control module dynamically modifies the congestion window for each acknowledgment received, using the update rule: congestion_window = min(max_congestion_window, congestion_window + cwnd_increase_rate), allowing the system to adapt transmission rates to changing network states rather than using fixed allocations

Inventive Principle:
Principle #15Dynamics

2Productivity

If congestion control modules regulate bandwidth using RTT and window sizing, then transmission rates are optimized, but device complexity increases

Engineering Contradiction:
Improvetransmission rate optimizationVSAvoidcongestion control module complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing a congestion control module that autonomously measures RTT, calculates congestion window sizes, and adjusts transmission rates without external intervention. The module independently executes the full congestion control algorithm including RTT measurement, initial window calculation, and dynamic window adjustment based on acknowledgment patterns, eliminating the need for complex external control systems

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements parameter changes by modifying key transmission parameters (congestion window size, RTT thresholds, cwnd_increase_rate) based on measured network conditions. The congestion control module changes these parameters dynamically: congestion_window is adjusted per acknowledgment, RTT measurements update the baseline, and the system adapts cwnd_increase_rate based on network response, allowing optimization through parameter adaptation rather than structural complexity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11570117B2Congestion control
Publication Date: 2023.01.31 NETDUMA SOFTWARE LTD
  • US11570117B2 patent drawing
  • US11570117B2 patent drawing
  • US11570117B2 patent drawing

AI summary

In an embodiment, header information of messages is altered to specify a window within which to receive information, so that the messages sent by a remote device will be sent at a rate that a network can receive messages. The sending of acknowledgements of messages are paced to control window growth. Bandwidth is allocated to a plurality of flows such that the satisfied flows require less bandwidth than an amount of bandwidth allocated to each unsatisfied flow.