Dynamic Congestion Control Module Selection for Network Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current TCP congestion control algorithms underutilize network bandwidth in high bandwidth-delay environments due to aggressive throttling measures, leading to unfairness to other TCP flows and lack of a universal standard for congestion control.

Innovation Solution

A framework for creating and selecting different congestion control modules (CCMs) based on network environment and connection characteristics, allowing for delay-based and loss-based congestion control, with sampling rates adjusted according to transmission rate and round trip time to optimize memory usage and congestion management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If aggressive congestion control algorithms are used to defuse network congestion, then packet loss is reduced, but network bandwidth is substantially underutilized in high bandwidth-delay networks

Engineering Contradiction:
Improvepacket lossVSAvoidnetwork bandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic congestion control by allowing the system to switch between different congestion control algorithms (CCMs) based on real-time network conditions. The network device monitors metrics such as packet loss rate, bandwidth, and delay to dynamically select the most appropriate algorithm, enabling the system to adapt its congestion control strategy to current network state rather than using a fixed aggressive approach

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of congestion control by introducing multiple algorithms with different threshold values and control mechanisms. Each algorithm uses specific parameters (such as different packet loss thresholds or bandwidth utilization targets) that can be adjusted based on network conditions, allowing optimization of both packet loss reduction and bandwidth utilization

Inventive Principle:
Principle #35Parameter changes

2Reliability

If aggressive congestion control algorithms are used to defuse network congestion, then packet loss is reduced, but fairness to other TCP flows is compromised

Engineering Contradiction:
Improvepacket lossVSAvoidfairness to other TCP flows
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically selects congestion control algorithms based on network conditions and flow characteristics. By monitoring metrics such as packet loss rate, bandwidth, and delay, the system can choose algorithms that balance congestion relief with fairness to other TCP flows, rather than consistently applying aggressive control that harms overall network fairness

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal framework that supports multiple congestion control algorithms, allowing the system to handle different network scenarios and flow types appropriately. This multi-algorithm approach enables the system to maintain fairness across different TCP flows while still achieving effective congestion control when needed

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If multiple congestion control algorithms are supported to address different network conditions, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvecongestion control algorithm optionsVSAvoidcongestion control infrastructure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the congestion control functionality into separate, modular algorithms that can be independently implemented and selected. Each algorithm is encapsulated as a distinct module (CCM) that can be activated based on network conditions, allowing the system to support multiple algorithms without overwhelming complexity in a single monolithic structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (the congestion control selection mechanism) that manages the complexity of multiple algorithms. This intermediary monitors network conditions and selects the appropriate algorithm, shielding the rest of the system from the complexity of having multiple algorithm options while maintaining adaptability

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2011280B1Enabling network devices to run multiple congestion control algorithms
Publication Date: 2015.05.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2011280B1 patent drawingFigure 1
  • EP2011280B1 patent drawingFigure 2
  • EP2011280B1 patent drawingFigure 3

AI summary

Creating different congestion control modules (CCMs) that can be plugged into a network communications stack (e.g., a TCP/IP stack). Software abstractions defining transport control events, congestion control algorithms and other information may be exposed by an application programming interface, e.g., of an operating system, and these abstractions may be used to define a CCM. The network communications stack may be configured to select one of multiple available CCMs to control congestion for a given connection. This selection may be based on any of a variety of factors including, but not limited to: network environment; connection path characteristics; connection link characteristics; a value of a socket parameter of an application; other factors; and any suitable combination of the foregoing. Thus, CCMs may be selected and implemented on a per-connection basis.