Adaptive Streaming Client Pipelined Segment Request Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive streaming technologies, such as HTTP adaptive streaming, incur bandwidth wastage due to the round trip time delay between client and server, especially in large delay networks, leading to reduced total bandwidth utilization, particularly when dealing with Scalable Video Coding (SVC) segments.
Innovation Solution
Implementing a pipelined approach where the client requests subsequent video segments before completely receiving the previous one, based on timing parameters related to channel occupancy and measured communication channel parameters like round trip time and bandwidth, allowing for earlier transmission of requests and reducing delay-dependent bandwidth limitations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the client waits for complete receipt of the previous segment before requesting the next segment, then the client ensures proper segment delivery and processing, but the total bandwidth utilization decreases due to wasted round trip time
Solution Approach 1:
The client performs preliminary actions by sending segment requests before the previous segment is completely received. The client calculates timing parameters based on segment size and measured bandwidth to determine when to issue the next request, overlapping the request transmission with the reception of the current segment. This eliminates idle round trip time and maximizes bandwidth utilization while maintaining reliable delivery through buffer management.
Solution Approach 2:
The system maintains continuous useful action by ensuring that the communication channel is always utilized. By pipelining requests and using a buffer to decouple request timing from reception timing, the client ensures that requests are continuously sent without idle gaps, maximizing the continuity of data transfer and overall bandwidth efficiency.
2Productivity
If the client sends requests for next segments before complete receipt of previous segments, then the total bandwidth utilization improves, but the timing coordination between request and reception becomes more complex
Solution Approach 1:
The client dynamically changes timing parameters based on measured bandwidth and segment characteristics. By calculating request timing using formulas that incorporate segment size, measured bandwidth, and buffer status, the system adapts the timing coordination to current network conditions, simplifying the complexity through parameterized control rather than fixed protocols.
Solution Approach 2:
The system uses feedback from bandwidth measurements and buffer status to adjust request timing. The client measures actual bandwidth from received segments and uses this feedback to calculate optimal timing parameters for subsequent requests, creating a closed-loop control system that manages timing complexity adaptively.
3Speed
If smaller video segments are used, then the video streaming responsiveness improves, but the bandwidth waste due to round trip time increases
Solution Approach 1:
The client sends preliminary requests for small segments before previous segments are fully received, eliminating idle round trip time. By overlapping request transmission with segment reception and using buffer management, the system maintains fast responsiveness to small segments while maximizing bandwidth utilization through pipelined requests.
Data Source
AI summary
A method for providing a streaming service from a server to a client, comprises the steps of requesting respective consecutive segments (SIQ1, S2Q2, S3Q3) by said client from said server, each consecutive segment being requested with an associated requested quality (Q1, Q2, Q3), at respective timing instances being determined by said client based on a timing parameter (PipelineEmptyEstimate), determined by said client, of the channel occupancy between said client and said server, such that a next request for a next segment can be transmitted by said client to said server, before complete receipt of the previous segment by said client. A client adapted to perform this method is disclosed as well.


