Fast Channel Change via Multi-Connection Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In over-the-top (OTT) environments, channel changes in video streaming are slower due to limited bandwidth and the need to request live channels, unlike traditional digital video broadcast systems where all channels are pre-sent, allowing for faster switching.
Innovation Solution
Establishing multiple connections with edge servers, using a high-priority thread for channel changes, and sending byte ranges across multiple servers to initiate a fast channel change process, along with thumbnail animation to simulate immediate playback.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If all channels are sent continuously to client devices like in traditional digital video broadcast, then channel switching speed is improved, but bandwidth consumption increases significantly
Solution Approach 1:
The system pre-loads channel video data into buffer memory before it is requested by the user. When a channel change is initiated, the buffered data is already available for immediate playback, eliminating the need to wait for data transmission. This preliminary buffering action resolves the contradiction by enabling fast channel switching without requiring continuous transmission of all channels, thus maintaining low bandwidth consumption.
2Loss of energy
If channels are sent upon request in OTT environment to save bandwidth, then bandwidth consumption is reduced, but channel switching time increases
Solution Approach 1:
The system proactively buffers channel data in advance of user requests. Multiple worker threads continuously download and buffer video segments from different channels in the background. When a user requests a channel change, the data is already prepared in the buffer, enabling immediate playback without increasing bandwidth consumption during the switching event.
Solution Approach 2:
The system dynamically manages buffer content based on predicted user behavior and current viewing state. The buffer is continuously updated with data from the currently viewed channel and potentially pre-loaded with data from adjacent or popular channels. This dynamic buffering strategy ensures that frequently accessed or likely-to-be-accessed channels are ready in the buffer, reducing switching time without wasting bandwidth on unnecessary data transmission.
3Speed
If multiple connections are established with edge servers for fast channel change, then channel switching speed is improved, but system complexity increases
Solution Approach 1:
The system dynamically creates and manages multiple worker threads only when needed for channel switching operations. During normal playback, a single connection is maintained. When a channel change is requested, additional worker threads are spawned to fetch data from edge servers, and these threads are terminated once the channel switch is complete. This dynamic thread management enables fast channel switching capability while minimizing system complexity during steady-state operation.
Data Source
AI summary
A client establishes connections with a media server. The connections include a first connection for regular playback and one or more second connections for processing a channel change. Segments of a first video are received from the media server using the first connection in the plurality of connections. The first video is being played on a first channel in a plurality of channels. The client receives a request to change from the first channel to a second channel in the plurality of channels. A request for at least a portion of a segment of a second video being played on the second channel is sent to the media server. The request includes a channel change indicator. The client then receives the at least the portion of the segment of the second video using the one or more second connections with the media server.


