Network Congestion Control via Send-Receive Duration 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 bitrates, and often require frame encoding that may not achieve desired transmission rates.
Innovation Solution
A congestion control module computes the available network path capacity through linear regression of send and reception durations, allowing packets to be transmitted at a target bitrate without buffering, thereby adapting the transmission rate faster and avoiding packet delay and loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packets are buffered in a jitter buffer and played back at a constant rate, then network delay variability is mitigated, but playback delay is introduced
Solution Approach 1:
The patent extracts the congestion control functionality from the traditional buffering approach. Instead of buffering packets and playing them back later, the system computes available network path capacity and controls the transmission rate directly at the source, eliminating the need for jitter buffers and associated playback delays while still mitigating network delay variability
Solution Approach 2:
The patent implements a feedback mechanism where the source computer computes the available network path capacity based on reception duration feedback from the destination computer. This feedback loop allows the source to dynamically adjust its transmission rate to match actual network conditions, achieving reliable delivery without the need for buffering
2Reliability
If the transmission rate is slowly increased to probe the network path, then network congestion is avoided, but the transmission rate adapts too slowly for high bitrate applications
Solution Approach 1:
The patent makes the transmission rate dynamic by computing the available network path capacity based on real-time feedback about reception durations. Instead of slowly increasing the rate in fixed steps, the system dynamically adjusts the transmission rate to match the currently measured network capacity, enabling fast adaptation to changing network conditions while avoiding congestion
Solution Approach 2:
The system uses feedback from reception duration measurements to continuously update the estimate of available network path capacity. This feedback-driven approach allows the transmission rate to adapt quickly to actual network conditions, resolving the contradiction between avoiding congestion and achieving high bitrates for real-time applications
3Reliability
If the encoder encodes video frames at particular bitrates to achieve desired transmission rates, then congestion control is enabled, but the encoder may not always achieve the required encoding bitrates
Solution Approach 1:
The patent inverts the traditional approach by not constraining the encoder to specific bitrates. Instead of the encoder adapting to fixed bitrate requirements, the system computes the available network path capacity and allows the encoder to use whatever bitrate is needed, with the congestion control mechanism adapting to the actual encoding output rather than forcing the encoder to meet predetermined bitrate targets
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.


