Parallel HTTP Block Streaming With Erasure Coding for Timely Playback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current media streaming systems face challenges in providing uninterrupted playback and efficient bandwidth utilization, particularly in adapting to changing network conditions and ensuring timely delivery of media data, leading to issues like stalling and excessive storage requirements.

Innovation Solution

A block-request streaming system that uses erasure codes and intelligent client-side request management to efficiently decode media data, allowing for adaptive bit-rate adaptation and timely playback, while minimizing CPU usage and storage needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional streaming protocols are used to ensure timely delivery, then playback timeliness is improved, but network bandwidth utilization becomes inefficient

Engineering Contradiction:
Improveplayback timelinessVSAvoidbandwidth utilization efficiency
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The media stream is divided into multiple blocks, each encoded with erasure codes to produce multiple coded blocks. The client can request and receive these blocks in parallel through multiple HTTP connections, allowing timely reconstruction of the media data without requiring sequential transmission, thus improving playback timeliness while efficiently utilizing available network bandwidth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the degree of parallelism (number of simultaneous HTTP connections and blocks requested) based on available network bandwidth and client buffer status. By changing transmission parameters adaptively, the system optimizes bandwidth utilization while ensuring timely delivery of media data for uninterrupted playback.

Inventive Principle:
Principle #35Parameter changes

2Speed

If multiple parallel HTTP connections are used to improve delivery speed, then content zapping time is reduced, but system complexity increases

Engineering Contradiction:
Improvecontent zapping timeVSAvoidconnection management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The client autonomously manages multiple parallel HTTP connections by automatically requesting multiple coded blocks simultaneously, receiving responses, and reconstructing media data without requiring complex server-side coordination. The server simply responds to standard HTTP requests independently, significantly reducing system complexity while maintaining fast content zapping time.

Inventive Principle:
Principle #25Self-service

3Reliability

If erasure codes are used to ensure reliable delivery, then playback reliability is improved, but computational overhead increases

Engineering Contradiction:
Improveplayback reliabilityVSAvoidCPU usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The client requests more coded blocks than the minimum required for reconstruction (excessive action), allowing it to stop requesting once sufficient blocks are received to reconstruct the media data. This partial execution approach ensures reliable playback while minimizing unnecessary computational overhead from processing excess coded blocks.

Inventive Principle:
Principle #16Partial or excessive action

4Loss of energy

If adaptive bit-rate adaptation is implemented to optimize bandwidth usage, then bandwidth efficiency is improved, but buffer management complexity increases

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The client continuously monitors buffer status and available network bandwidth, using this feedback to dynamically adjust the rate of block requests and the degree of parallelism. When bandwidth is abundant, the client requests blocks more aggressively; when bandwidth is constrained or buffer is full, requests are throttled. This feedback-driven adaptation optimizes bandwidth efficiency while keeping buffer management straightforward.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9209934B2Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
Publication Date: 2015.12.08 QUALCOMM INC
  • US9209934B2 patent drawing
  • US9209934B2 patent drawing
  • US9209934B2 patent drawing

AI summary

A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might or might not include a cache. A client device can be adapted to take advantage of the ingestion process as well as including improvements that make for a better presentation independent of the ingestion process. In the block-request streaming system, the an ingestion system generates data according to erasure codes and the client device, through various selection and timing of requests for media data and redundant data, can efficiently decode media to provide for presentations.