Per-Packet Congestion Control Using Queue Threshold Actions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing congestion control algorithms for network protocols fail to prevent congestion effectively, particularly when packets with different types of congestion control algorithms share a link, leading to buffer overflow and increased latency.
Innovation Solution
A computing system with a congestion controller that determines message parameters and assigns congestion control algorithms to each packet based on its parameters, using a buffer with multiple threshold queue positions to selectively apply congestion control actions, including marking or dropping packets based on their algorithm settings and position in the queue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional congestion control algorithms are used, then congestion is corrected after it occurs, but congestion prevention is ineffective particularly when packets with different congestion control algorithms share a link
Solution Approach 1:
The patent applies preliminary action by monitoring queue length thresholds before congestion occurs and proactively adjusting congestion control parameters. The system continuously monitors the queue length L against predefined thresholds (L1, L2, L3) and adjusts the congestion window or sending rate in advance when approaching threshold values, preventing buffer overflow and congestion collapse rather than reacting after congestion has occurred.
Solution Approach 2:
The patent implements parameter changes by dynamically modifying congestion control parameters (such as congestion window size or sending rate) based on the current queue length state. When the queue length exceeds specific thresholds, the system changes the congestion control parameters to reduce the sending rate, thereby adapting the congestion control behavior to current network conditions and preventing congestion.
2Productivity
If multiple packets with different congestion control algorithms share a link, then network utilization increases, but fairness in packet routing deteriorates leading to buffer overflow and increased latency
Solution Approach 1:
The patent applies local quality by treating packets differently based on their specific congestion control algorithm type. The system identifies the congestion control algorithm associated with each packet (e.g., TCP Reno, TCP Cubic, BBR) and applies tailored congestion control actions appropriate to each algorithm's characteristics, rather than applying a uniform control mechanism to all packets. This ensures fair coexistence of multiple congestion control algorithms on the same link.
Solution Approach 2:
The patent implements segmentation by dividing the congestion control management into distinct segments based on packet types and queue threshold levels. The system segments packets according to their congestion control algorithms and applies different monitoring and control strategies to each segment, while also segmenting the queue management into multiple threshold levels (L1, L2, L3) with different response actions for each level.
3Ease of operation
If congestion control actions are applied uniformly to all packets, then implementation simplicity is maintained, but performance optimization for different packet types is lost
Solution Approach 1:
The patent applies universality by designing a congestion control mechanism that can handle multiple types of packets with different congestion control algorithms through a unified framework. The system uses a universal queue monitoring approach that works across different packet types, identifying the congestion control algorithm type for each packet and applying appropriate standardized responses, thereby maintaining implementation simplicity while achieving optimized performance for diverse packet types.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer system (10) for managing congestion control of packets includes a processor (14) that implements a network traffic manager including a congestion controller (30) and a socket (56). The congestion controller (30) determines messages parameters for packets of a plurality of messages and assigns a congestion control algorithm setting to each packet based on the message parameters associated with each packet. The socket (56) includes a buffer (54) with a queue having a plurality of threshold queue positions. The congestion controller (30) determines that a subset of packets exceeds at least a first threshold queue position and selects a congestion control action for each packet in the subset based on the assigned congestion control setting for each respective packet and a position of each respective packet relative to the plurality of threshold queue positions.