Soft Server Push Switching for Adaptive Video Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The constant termination and establishment of streams in HTTP/2 server push sessions for video streaming result in degraded user experience due to latency and inefficiencies, particularly in scenarios involving frequent changes in bitrate or viewport position, such as in 360-degree video streaming.
Innovation Solution
Implementing a soft server push process that allows the server to update the push process without terminating the current session, using a soft switch mechanism to adjust to changes in characteristics like viewport position or bitrate, thereby maintaining the stream without the need for new stream establishment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the server terminates and re-establishes streams to reflect changes in push session, then the push session can adapt to changes in characteristics, but the user experience degrades due to latency and time taken to terminate and establish new streams
Solution Approach 1:
The system transitions from static stream termination to dynamic stream updating. The server can now modify push session characteristics (bitrate, viewport position) dynamically without terminating the stream, allowing continuous adaptation to changing conditions while maintaining the established connection.
Solution Approach 2:
The server performs preliminary actions by establishing the stream with initial characteristics and then proactively updating it before termination would be necessary. This allows the stream to be prepared and maintained in advance, avoiding the time penalty of repeated termination and re-establishment.
2Speed
If the server pushes content proactively without waiting for client requests, then the client receives content faster, but the server may push more data than the client currently needs
Solution Approach 1:
The client sends feedback signals to the server indicating its current content needs and buffer status. The server uses this feedback to adjust its push decisions, pushing content proactively only when the client indicates it is needed, thereby maintaining fast delivery while avoiding unnecessary bandwidth consumption.
Solution Approach 2:
The server dynamically changes push parameters (such as bitrate, content selection, push timing) based on client feedback and current network conditions. This allows the server to optimize the balance between proactive content delivery and bandwidth efficiency by adjusting parameters in real-time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In some embodiments, a method sends a first frame that establishes a first state to push information to a client in a stream based on a first set of characteristics. The method transitions from the first state to a second state that allows pushing of content to the client. Content is pushed for a first time window to the client based on the first set of characteristics without receiving a request for the content in the first time window. The method receives request to change the first set of characteristics to a second set of characteristics. The request includes information requesting a switch from the second state to the first state. In response to receiving the change, the method sends a second frame to continue pushing content to the client in the stream based on the second set of characteristics and transitions from the second state to the first state.