Congestion Window Control for Predictable Media Segment Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive bitrate delivery of media content over networks faces unpredictable and variable delivery times due to TCP protocol's congestion response, leading to performance issues like buffering delays and playout stalling, despite efforts to minimize these with buffering, which incurs high latency.
Innovation Solution
A method and apparatus that dynamically control the congestion window based on initial and adjusted sizes, using measured packet loss to determine the size of subsequent congestion windows, decoupling the congestion response from packet loss events and optimizing transmission rates for more predictable segment delivery times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP protocol's congestion response is used to control transmission rate, then network throughput is protected and competing traffic is avoided, but segment delivery time becomes highly variable and unpredictable
Solution Approach 1:
The patent segments the media content into temporal segments and applies congestion window control on a per-segment basis. By resetting the congestion window to an initial value at the start of each segment delivery, the system creates independent delivery units that can be controlled individually, reducing the cumulative effect of TCP's variable congestion responses across multiple segments.
Solution Approach 2:
The patent performs preliminary action by setting the congestion window to a predetermined initial value before starting each segment delivery. This preliminary configuration ensures that each segment starts with a known transmission rate, reducing variability caused by TCP's dynamic congestion window adjustments during delivery.
2Reliability
If large buffering is used to minimize playout stalling, then media playout performance is improved, but end-to-end latency increases significantly
Solution Approach 1:
The patent implements feedback by measuring the actual delivery time of each segment and using this information to adjust the congestion window for subsequent segments. This closed-loop control allows the system to adapt to network conditions while maintaining predictable delivery times, reducing the need for excessive buffering.
Solution Approach 2:
The patent changes the congestion window parameter dynamically based on measured delivery performance. By adjusting this key transmission parameter, the system optimizes delivery time predictability without requiring large buffer sizes, thus reducing end-to-end latency while maintaining playout performance.
3Reliability
If congestion window is significantly decreased following packet loss, then transmission rate is reduced to avoid congestion, but segment delivery time becomes highly contingent on packet loss rate
Solution Approach 1:
The patent applies preliminary action by resetting the congestion window to an initial value at the beginning of each segment delivery, before packet loss can significantly impact the transmission. This approach ensures that each segment starts with a fresh, predictable transmission rate independent of previous packet loss events.
Solution Approach 2:
By treating each temporal segment as an independent delivery unit with its own congestion window initialization, the patent isolates the effect of packet loss to individual segments rather than allowing it to compound across multiple segments, thereby reducing overall delivery time variability.
Data Source
AI summary
A method of delivering media content over a network, the media content including a plurality of temporal segments, wherein each temporal segment comprises a plurality of data packets, the method including: selecting an initial size of a first congestion window; delivering the plurality of data packets of a first segment using the first congestion window, the initial size of the first congestion window being used to control the size of the first congestion window for the duration of the first segment delivery; measuring the packet loss during the delivery of the first segment; determining an initial size of a second congestion window in dependence on the measured packet loss for the first segment; and delivering a second segment using the second congestion window, the initial size of the second congestion window being used to control the size of the second congestion window for the duration of the second segment delivery.


