Sparse Streaming System Integrating Metadata With HTTP Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing media streaming architectures face challenges such as tight coupling between server and client, limited scalability, and inability to cache live media, leading to latency and reduced capacity for parallel viewers during live events.

Innovation Solution

A sparse streaming system that uses an integrated data channel with HTTP-based caching infrastructure to deliver sparse metadata, including references within continuous streaming tracks to ensure clients receive all sparse track fragments, even when they are created irregularly, and allows clients to pull media fragments on demand.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a stateful connection is maintained between client and server for streaming media, then the server can track client state and provide continuous media delivery, but server overhead increases and scalability is limited

Engineering Contradiction:
Improvecontinuous media deliveryVSAvoidserver overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the streaming system into independent continuous tracks and sparse tracks. Each track can be delivered and cached independently, allowing the server to handle requests without maintaining stateful connections. The segmentation enables parallel processing of multiple client requests without increasing server overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary caching layer between the server and clients. Sparse tracks are published to a cacheable channel where intermediaries (caches, proxies) can store and serve content. This eliminates the need for stateful server-client connections while ensuring reliable content delivery through the intermediary network.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If clients buffer data to avoid breaks in media playback, then playback continuity is improved, but latency increases which is unacceptable for live events

Engineering Contradiction:
Improveplayback continuityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the media stream into continuous tracks (for audio/video) and sparse tracks (for metadata and synchronization data). This segmentation allows clients to request only the necessary sparse fragments rather than buffering large amounts of continuous data, reducing latency while maintaining playback continuity through efficient on-demand retrieval.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by publishing sparse track fragments to a cacheable channel in advance. Clients can proactively retrieve and cache sparse fragments (metadata, captions, advertising data) before they are needed for playback, eliminating the need for large continuous buffers while ensuring data availability when needed.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If live media is delivered without caching, then freshness of content is maintained, but the number of parallel viewers and requests that servers can handle is limited

Engineering Contradiction:
Improvecontent freshnessVSAvoidnumber of parallel viewers
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent segments content into cacheable sparse tracks and non-cacheable continuous tracks. Sparse tracks (metadata, captions, advertising information) are published to cacheable channels where they can be stored and served to multiple clients simultaneously. This segmentation allows unlimited parallel viewers to access cached sparse content without impacting content freshness, as the continuous media streams remain live and uncached.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates copies of sparse track fragments and stores them in a distributed cache network. Multiple clients can retrieve identical or similar sparse fragments (e.g., advertising data, event metadata) from cache copies rather than requiring the server to deliver the same data to each client individually. This copying mechanism dramatically increases the number of parallel viewers the system can support while maintaining content freshness for the actual media streams.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If sparse metadata is delivered out-of-band using separate mechanisms, then data can be delivered flexibly, but the client has difficulty being informed of what content to request, especially for sparse or sporadic content

Engineering Contradiction:
Improvedata delivery flexibilityVSAvoidclient content request management
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent merges the continuous media track and sparse metadata track into a unified segmented streaming system. Both track types share the same delivery infrastructure and caching mechanism. The client requests segments from a unified manifest that includes both continuous and sparse track segments, eliminating the need for separate out-of-band delivery mechanisms and simplifying client content request management while maintaining delivery flexibility.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10257587B2Integrating continuous and sparse streaming data
Publication Date: 2019.04.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10257587B2 patent drawing
  • US10257587B2 patent drawing
  • US10257587B2 patent drawing

AI summary

A sparse streaming system provides a first-class means for sparse metadata to be added to streaming media presentations and to be delivered using an integrated data channel that is cacheable using readily available HTTP-based Internet caching infrastructure for increased scalability. The sparse streaming system stores a reference to a sparse track within a continuous track. If a continuous fragment arrives at the client that refers to a sparse fragment that the client has not yet retrieved, then the client requests the sparse fragment. In addition, each sparse fragment may include a backwards reference to the sparse fragment created immediately prior. The references in the continuous fragments make the client aware of new sparse track fragments, and the backwards references in the sparse track fragments ensure that the client has not missed any intervening sparse track fragments.