ENHANCED BLOCK-REQUEST STREAMING USING COOPERATIVE PARALLEL HTTP AND FORWARD ERROR CORRECTION
First Claim
1. In a communication system wherein a client device requests media files from a media ingestion system, a method comprising:
- constructing, at the media ingestion system, forward error correction (FEC) blocks that correspond to data in media blocks; and
naming, using the media ingestion system, a plurality of files such that media files containing media blocks and FEC files containing FEC blocks are named according to a derivable pattern derivable at a client device, thereby allowing a client device to derive names of corresponding FEC files in order to make requests for those FEC files based on media blocks needed by the client device.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
2 Claims
-
1. In a communication system wherein a client device requests media files from a media ingestion system, a method comprising:
-
constructing, at the media ingestion system, forward error correction (FEC) blocks that correspond to data in media blocks; and naming, using the media ingestion system, a plurality of files such that media files containing media blocks and FEC files containing FEC blocks are named according to a derivable pattern derivable at a client device, thereby allowing a client device to derive names of corresponding FEC files in order to make requests for those FEC files based on media blocks needed by the client device.
-
-
2. A client device that is adapted to receive media blocks from a media ingestion system via a file server that responds to file requests, the client device including a processor and program code in non-transitory computer-readable storage, comprising:
-
program code for determining which media blocks are needed for a desired presentation; program code for requesting the media blocks needed for the desired presentation; program code for determining which forward error correction (FEC) blocks might be used for filling in for missing data in the needed media blocks; program code for determining file names for FEC files that contain the FEC blocks that might be used, based on the missing data or the needed media blocks; and program code for requesting the determined FEC files.
-
Specification