Dynamic generation of video manifest files
US-9613042-B1 · Apr 4, 2017 · US
US9942577B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9942577-B1 |
| Application number | US-201615051240-A |
| Country | US |
| Kind code | B1 |
| Filing date | Feb 23, 2016 |
| Priority date | Feb 23, 2016 |
| Publication date | Apr 10, 2018 |
| Grant date | Apr 10, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described for caching dynamic objects for media content playback. A media server can provide a cache key representing a set of instructions used to select a subset of manifest data. The cache key can be provided to a viewer device, which can then contact a content delivery network (CDN) for a dynamic manifest file corresponding to the cache key. The CDN can contact the media server to have the dynamic manifest file generated using the cache key if it is not in its cache.
Opening claim text (preview).
What is claimed is: 1. A computing device, comprising: one or more processors and memory configured to: receive a first request for playback of media content from a first viewer device; determine master manifest data corresponding to the media content, the master manifest data having been generated prior to receiving the first request, and the master manifest data having an associated master manifest data identifier; determine attributes of the first viewer device; determine a first cache key based on the attributes of the first viewer device; determine a first edge server identifier for a first edge server of a content delivery network (CDN); provide a first Uniform Resource Locator (URL) including the first edge server identifier, the first cache key and the master manifest data identifier to the first viewer device for generating a first request for a first dynamic manifest file to the first edge server, the first dynamic manifest file including a first subset of playback options identified in the master manifest data; receive a request for generating the first dynamic manifest file from the first edge server, the request for generating the first dynamic manifest file from the first edge server including the first cache key and the master manifest data identifier; generate the first dynamic manifest file using a first set of instructions corresponding to the first cache key and the master manifest data identified by the master manifest identifier; and provide the first dynamic manifest file to the first edge server for both storing in a cache at the first edge server and for providing to the first viewer device in response to the first request for the first dynamic manifest file. 2. The computing device of claim 1 , the processor and memory further configured to: receive a second request for playback of the media content from a second viewer device; determine attributes of the second viewer device; determine that the first cache key corresponds to the attributes of the second viewer device; and provide the first URL to the second viewer device for generating a second request for the first dynamic manifest file to the first edge server. 3. The computing device of claim 2 , wherein the first cache key is generated using a hash of the attributes of the first viewer device. 4. The computing device of claim 1 , the processor and memory further configured to: receive a second request for playback of media content from a second viewer device; determine attributes of the second viewer device; determine a second cache key based on the attributes of the second viewer device; provide a second Uniform Resource Locator (URL) including the first edge server identifier, the second cache key and the master manifest data identifier to the second device for generating a second request for a second dynamic manifest file to the first edge server, the second dynamic manifest file including a second subset of the playback options identified in the master manifest data; receive a request for generating the second dynamic manifest file from the first edge server, the request for generating the second dynamic manifest file from the first edge server including the second cache key and the master manifest data identifier; generate the second dynamic manifest file using a second set of instructions corresponding to the second cache key and the master manifest data identified by the master manifest identifier; and provide the second dynamic manifest file to the first edge server for both storing in a cache at the first edge server and for providing to the second viewer device in response to the second request for the second dynamic manifest file. 5. The computing device of claim 4 , wherein the second subset of the playback options is different than the first subset of the playback options. 6. The computing device of claim 4 , wherein the playback options include quality levels of fragments of video content of the media content, and the first subset and the second subset include different selections of quality levels. 7. A method, comprising: receiving a first request for playback of media content from a first viewer device; determining master manifest data corresponding to the media content, the master manifest data having been generated prior to receiving the first request, and the master manifest data having an associated master manifest data identifier; determining attributes of the first viewer device; determining a first cache key based on the attributes of the first viewer device; determining a first edge server identifier for a first edge server of a content delivery network (CDN); providing a first Uniform Resource Locator (URL) including the first edge server identifier, the first cache key and the master manifest data identifier to the first viewer device for generating a first request for a first dynamic manifest file to the first edge server, the first dynamic manifest file including a first subset of playback options identified in the master manifest data; receiving a request for generating the first dynamic manifest file from the first edge server, the request for generating the first dynamic manifest file from the first edge server including the first cache key and the master manifest data identifier; generating the first dynamic manifest file using a first set of instructions corresponding to the first cache key and the master manifest data identified by the master manifest identifier; and providing the first dynamic manifest file to the first edge server for both storing in a cache at the first edge server and for providing to the first viewer device in response to the first request for the first dynamic manifest file. 8. The method of claim 7 , further comprising: receiving a second request for playback of the media content from a second viewer device; determining attributes of the second viewer device, the attributes of the second viewer device being different than the attributes of the first viewer device; determining that the first cache key corresponds to the attributes of the second viewer device; and providing the first URL to the second viewer device for generating a second request for the first dynamic manifest file to the first edge server. 9. The method of claim 8 , wherein the first cache key is generated using a hash of the attributes of the first viewer device. 10. The method of claim 7 , further comprising: receiving a second request for playback of media content from a second viewer device; determining attributes of the second viewer device; determining a second cache key based on the attributes of the second viewer device; providing a second Uniform Resource Locator (URL) including the first edge server identifier, the second cache key and the master manifest data identifier to the second device for generating a second request for a second dynamic manifest file to the first edge server, the second dynamic manifest file including a second subset of the playback options identified in the master manifest data; receiving a request for generating the second dynamic manifest file from the first edge server, the request for generating the second dynamic manifest file from the first edge server including the second cache key and the master manifest data identifier; generating the second dynamic manifest file using a second set of instructions identified by the second cache key and the master manifest data identified by the master manifest identifier; and providing the second dynamic manifest file to the first edge server for both storing in a cache at the first edge server and for providing to the second viewer device in response to the second request for the secon
Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless {(real-time session protocols H04L65/1101)} · CPC title
involving caching operations (prefetching while addressing of a memory level in which the access to the desired data or data block requires associative addressing means within memory systems or architectures G06F12/0862; caching at an intermediate stage in a data network H04L67/568) · CPC title
Control signals issued by server directed to the network components or client {(management of faults, events, alarms in data networks H04L41/06)} · CPC title
for forcing some client operations, e.g. recording {(remote booting in general G06F9/4416)} · CPC title
Management of client data (terminal profiles in network data switching protocols H04L67/303) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.