Transport Stack Congestion Control Using Path Capacity Regression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network congestion control techniques cause playback delay due to buffering and are slow to adapt transmission rates, especially for real-time applications requiring high bitrate, and often require frame encoding that may not achieve desired transmission rates.
Innovation Solution
A congestion control module computes the available network path capacity by performing linear regression on send and reception durations to determine a relationship between send and reception times, allowing packets to be encoded and transmitted at a target bitrate based on this capacity, without buffering, thereby adapting transmission rates faster and avoiding packet delay and loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packets are buffered in a jitter buffer to mitigate network delay variability, then network congestion effects are reduced, but playback delay is introduced
Solution Approach 1:
The patent extracts the congestion control function from the receiver side (where jitter buffering occurs) and moves it to the sender side. The sender actively probes network capacity and controls transmission rate, eliminating the need for receiver-side buffering and the associated playback delay.
Solution Approach 2:
The sender performs preliminary network capacity probing before transmitting actual data packets. By measuring available capacity in advance and adjusting transmission rate proactively, the system prevents congestion before it occurs, eliminating the need for reactive buffering at the receiver.
2Reliability
If the transmission rate is increased slowly to probe the network path, then network congestion is avoided, but the adaptation speed is too slow for high bitrate applications
Solution Approach 1:
The patent implements dynamic transmission rate adjustment where the sender continuously probes network capacity and adapts the transmission rate in real-time. The system transitions from static slow ramp-up to dynamic adjustment based on actual network conditions, enabling fast adaptation for high bitrate applications.
Solution Approach 2:
The system establishes a feedback loop where the sender measures network capacity by analyzing packet transmission timing and adjusts the transmission rate accordingly. This closed-loop control enables rapid adaptation to changing network conditions while maintaining congestion avoidance.
3Productivity
If the transmission rate is increased quickly to reach maximum bitrate, then application performance is improved, but network congestion occurs causing packet delay and loss
Solution Approach 1:
The sender performs preliminary network capacity probing and takes anti-action by limiting the transmission rate to match available capacity before congestion occurs. This proactive approach prevents packet delay and loss by ensuring the transmission rate never exceeds what the network can handle.
Solution Approach 2:
The system uses feedback from network capacity measurements to continuously adjust the transmission rate. By monitoring packet transmission timing and network response, the sender maintains the highest possible transmission rate that does not cause congestion, optimizing both productivity and reliability.
Data Source
AI summary
In various embodiments, a congestion control module within a transport stack limits the rate at which packets are transmitted from a server to a client device based on a percentage of the available capacity of a network path through which the packets are transmitted. In some embodiments, the available network path capacity can be determined by first performing a linear regression using (1) send durations over which packets associated with encoded frames are transmitted, and (2) corresponding reception durations over which the packets associated with the encoded frames are received, in order to determine a line that relates send duration and reception duration. After the line is determined, the available network path capacity can be computed as an estimated intersection between the determined line and the line y=x, with the intersection being approached as a limit.


