Proxy Server Bandwidth Control for ABR Streaming Stalling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In adaptive bit rate (ABR) streaming, intermediate network elements struggle to ensure timely delivery of video content at reduced bandwidths, as ABR clients may not have lower quality variants available, leading to potential stalling issues, especially when clients are in non-adaptive modes or when network resources are constrained.
Innovation Solution
A proxy server with a data flow monitoring and control component that categorizes ABR streaming data flows, selects a target quality variant, and applies a bandwidth value to guide the client into selecting a different quality variant, thereby reducing the risk of media playback stalling without reassembling HTTP requests or responses, even when encrypted.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If an intermediate network element reduces the bandwidth available for data download from server to client, then the client will request lower quality segments, but the client may not have lower quality variants available leading to playback stalling
Solution Approach 1:
The system performs preliminary actions by having the client pre-fetch segments at multiple quality levels before bandwidth reduction occurs. The client monitors bandwidth trends and proactively downloads lower quality variant segments in advance, so when bandwidth is reduced by the intermediate network element, the client already has alternative segments available to prevent stalling.
Solution Approach 2:
The system introduces an intermediary mechanism where the client acts as a buffer between the server and playback. The client maintains a segment buffer with multiple quality variants and uses this buffer to mediate between bandwidth fluctuations imposed by the intermediate network element and the continuous playback requirement, selecting appropriate segments from the buffer to prevent stalling.
2Ease of operation
If the client requests segments one after another at different resolutions, then smoother video experience is achieved, but network bandwidth is consumed more rapidly
Solution Approach 1:
The system implements dynamic quality selection where the client continuously adapts segment request quality based on real-time bandwidth conditions. The client monitors download performance and dynamically adjusts the quality level of subsequent segment requests, requesting higher quality when bandwidth is abundant and lower quality when bandwidth is constrained, thereby maintaining playback smoothness while optimizing bandwidth consumption.
Solution Approach 2:
The system changes the parameter of segment quality (bitrate/resolution) based on network conditions. The client monitors bandwidth availability and changes the quality parameter of requested segments accordingly, switching between different quality variants to match current network capacity, thus achieving smooth playback without excessive bandwidth consumption.
3Device complexity
If the client is configured in non-adaptive mode to request only one type of segment variant, then request complexity is reduced, but the client cannot adapt to reduced bandwidth leading to stalling
Solution Approach 1:
The system performs preliminary action by having the client pre-fetch and buffer segments at multiple quality levels before non-adaptive mode is engaged. Even though the client operates in non-adaptive mode during playback (requesting only one quality type), the pre-fetched buffer contains alternative quality variants that can be substituted if bandwidth reduction occurs, providing adaptation capability without increasing runtime request complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is described a method for controlling bandwidth between a client and a content server in a data network. The method is implemented by an intermediate network entity that is between the client and the content server in the data network. A dataflow between the content server and the client is monitored and based on the monitoring, the dataflow is categorised as being an Adaptive Bit Rate (ABR) streaming dataflow that comprises segments of media data of a particular quality variant of a plurality of quality variants potentially available at the content server. A different quality variant of the plurality of quality variants is selected as a target quality variant and a bandwidth value is determined to apply to the dataflow to try to cause the client to request segments of media data of the target quality variant for the dataflow. The determined bandwidth value is applied to the dataflow.