Congestion Control via Header Modification and Pacing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network traffic management systems experience congestion and latency due to inefficient bandwidth allocation and queuing, particularly in scenarios like online gaming and streaming media, where bursts of data lead to packet drops and increased latency.

Innovation Solution

Implementing congestion control modules that intercept and modify message headers to regulate bandwidth and pacing, ensuring that data transmission rates match available bandwidth, thereby reducing queuing and latency by using techniques such as windowing and pacing to control the flow of packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data transmission rate is increased to improve productivity, then bandwidth utilization improves, but congestion and packet drops increase

Engineering Contradiction:
Improvedata transmission rateVSAvoidpacket delivery reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The congestion control module performs preliminary actions by intercepting and modifying message headers before data transmission occurs. It regulates bandwidth and pacing in advance, ensuring that data transmission rates match available bandwidth, thereby preventing congestion and packet drops before they happen.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by monitoring network conditions and dynamically adjusting transmission parameters. The congestion control module continuously adapts bandwidth allocation and pacing based on real-time network status, ensuring reliable packet delivery while maximizing throughput.

Inventive Principle:
Principle #23Feedback

2Loss of time

If bandwidth allocation is optimized to reduce latency, then real-time application performance improves, but network complexity increases

Engineering Contradiction:
Improvenetwork latencyVSAvoidcongestion control module complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The congestion control module acts as an intermediary between network applications and the underlying network infrastructure. It intercepts message headers, modifies bandwidth and pacing parameters, and regulates data flow without requiring changes to applications or network hardware, thereby reducing latency while managing complexity centrally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system reduces latency by dynamically changing transmission parameters such as bandwidth allocation and pacing intervals. The congestion control module adjusts these parameters in real-time based on network conditions, optimizing performance for real-time applications without requiring complex structural changes.

Inventive Principle:
Principle #35Parameter changes

3Speed

If queuing is reduced to improve speed, then data transmission efficiency improves, but bandwidth control precision must increase

Engineering Contradiction:
Improvedata transmission speedVSAvoidbandwidth control precision
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

The congestion control module performs preliminary bandwidth regulation before data enters the network queue. By modifying message headers and setting pacing parameters in advance, it ensures that data transmission rates match available bandwidth, thereby reducing queuing while maintaining precise bandwidth control through pre-configured rate limits.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10715442B2Congestion control
Publication Date: 2020.07.14 NETDUMA SOFTWARE LTD
  • US10715442B2 patent drawing
  • US10715442B2 patent drawing
  • US10715442B2 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.