Video Stream Buffer Segmentation for Fast Startup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Viewers of streaming content face a conflict between achieving high video quality and quick startup times, as a large buffer improves quality but increases startup time, while synchronization across multiple viewers is also desired.

Innovation Solution

Implementing a buffer system where clients can start playing video after a subset of the buffer is downloaded, allowing for quick startup while filling the rest of the buffer, and using peer-to-peer techniques to maintain synchronized playback across nodes with varying buffer sizes and network conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a large buffer is used to improve video quality and recovery from network issues, then video quality and reliability are improved, but startup time increases

Engineering Contradiction:
Improvevideo qualityVSAvoidstartup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The buffer is segmented into multiple parts distributed across different nodes in the network. Each node maintains a portion of the buffer, allowing the system to achieve the benefits of a large buffer while enabling faster startup by playing from available segments without waiting for the entire buffer to fill.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Nodes pre-fetch and store video packets in the buffer before they are needed for playback. This preliminary action allows the system to have video data ready in advance, enabling fast startup while maintaining quality through the use of buffered data.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a large buffer is used to recover from network congestion, then reliability is improved, but the time to fill the buffer increases

Engineering Contradiction:
Improverecovery from network congestionVSAvoidbuffer filling time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Multiple nodes combine their buffer resources to form a distributed buffer system. This merging allows the system to achieve the capacity and reliability of a large buffer while reducing the time to fill it, as multiple nodes are simultaneously fetching and storing video data in parallel.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Each node independently manages its own buffer, fetching video packets from the network or from other nodes as needed. This self-service approach allows nodes to autonomously fill their buffers without centralized coordination, reducing overall buffer filling time while maintaining reliability through distributed redundancy.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If video packets are played from the front of the buffer, then playback quality is improved, but synchronization across multiple viewers becomes difficult

Engineering Contradiction:
Improveplayback qualityVSAvoidsynchronization complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system uses feedback mechanisms where nodes exchange information about their playback state and buffer status. This feedback allows the system to coordinate playback across multiple nodes, maintaining synchronization while enabling each node to play from its local buffer for optimal quality.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

All nodes are treated equally in the distributed buffer system, with each node having the same capabilities to store and play video packets. This equipotential approach simplifies synchronization, as all nodes operate under the same principles and can be coordinated through standardized protocols without complex hierarchical control.

Inventive Principle:
Principle #12Equipotentiality

Data Source

PatentUS9813475B1Delivering a video stream
Publication Date: 2017.11.07 CONVIVA
  • US9813475B1 patent drawing
  • US9813475B1 patent drawing
  • US9813475B1 patent drawing

AI summary

Delivering a video stream is disclosed. A request for the video stream is received. A past portion of the video stream is delivered to a client. The past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer. Receiving a video stream is also disclosed. A request for the video stream is transmitted. A past portion of the video stream is received. The received past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer.