Dynamic Virtual Chunking for Streaming Media

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current digital content distribution systems face challenges in efficiently streaming media content due to the requirement of storing each portion of a stream as a distinct file, leading to a large number of files needed for a large catalog, which is impractical and can deter content providers, especially when protocols like HTTP Live Streaming do not support range requests.

Innovation Solution

The method involves generating URLs with parameters that allow a client device to request dynamic virtual chunks from a single multiplexed audiovisual stream, enabling the streaming of media files encoded at different bit rates without the need for each chunk to be stored as a separate file, using a playlist that includes URLs with byte position parameters for range requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If each portion of a stream is stored as a distinct file, then the stream can be efficiently accessed and streamed, but the number of files required for a large catalog becomes impractically large

Engineering Contradiction:
Improvestreaming efficiencyVSAvoidnumber of files
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent combines multiple logical stream portions into a single physical file by using byte range requests. Instead of storing each chunk as a separate file, the system stores one continuous file and allows clients to request specific byte ranges, effectively merging multiple logical files into one physical file while maintaining the ability to access individual portions efficiently.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments a single file into virtual chunks through byte range requests. The file is divided into logical portions that can be independently requested and streamed, allowing the system to treat one file as if it were multiple files without actually creating multiple physical files.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If streaming protocols require distinct files for each stream portion, then range requests can be supported, but protocols like HTTP Live Streaming that do not support range requests cannot be used effectively

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidstorage management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (the playlist file with virtual chunk URLs) between the client and the physical file storage. This intermediary allows the system to work with protocols that don't natively support range requests by translating virtual chunk requests into byte range requests, effectively mediating between protocols with different capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple bit rate versions of a media title are stored as separate files, then bit rate switching is enabled, but the storage burden and file management complexity increase significantly

Engineering Contradiction:
Improvebit rate switching capabilityVSAvoidtotal number of files
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple bit rate versions into a single multiplexed file that contains all bit rate variations. The playlist file references different byte ranges within this single multiplexed file to provide access to different bit rate versions, combining multiple logical streams into one physical file while maintaining bit rate switching capability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10033787B2Dynamic virtual chunking of streaming media content
Publication Date: 2018.07.24 NETFLIX INC
  • US10033787B2 patent drawing
  • US10033787B2 patent drawing
  • US10033787B2 patent drawing

AI summary

Techniques are disclosed for a client device to stream a user-selected media file from a content server. The client device may create a playlist of dynamic virtual chunks to represent a single media stream file on a streaming media server. The playlist itself may be generated from an index in the header of a given stream defining what chunks, or segments of multiplexed audiovisual content, are present within that stream. The playlist of dynamic virtual chunks provides the playback engine on the client device with a list of individual files that may be requested from the streaming server independently of one another, despite the stream being stored on the server as a single media stream file.