Soft Server Push Switching for Adaptive Video Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepush session adaptabilityVSAvoidstream termination and establishment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvecontent delivery speedVSAvoidbandwidth consumption
Core Design Contradiction:
SpeedVSLoss of substance

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3967047B1Soft server push in video streaming
Publication Date: 2026.02.18 HULU LLC
  • EP3967047B1 patent drawingFigure 1
  • EP3967047B1 patent drawingFigure 2
  • EP3967047B1 patent drawingFigure 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.