Dynamic objects caching for media content playback

US9942577B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9942577-B1
Application numberUS-201615051240-A
CountryUS
Kind codeB1
Filing dateFeb 23, 2016
Priority dateFeb 23, 2016
Publication dateApr 10, 2018
Grant dateApr 10, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9942577B1 cover?
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 serv…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04N21/2183. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 10 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).