Dynamic generation of video manifest files

US10148716B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10148716-B1
Application numberUS-201313859702-A
CountryUS
Kind codeB1
Filing dateApr 9, 2013
Priority dateApr 9, 2012
Publication dateDec 4, 2018
Grant dateDec 4, 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.

Controlling delivery of a video asset to a client is disclosed. A request for a manifest file is received. Manifest file components are retrieved. A dynamic manifest file is assembled from a set of manifest file components.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for controlling delivery of a video asset to a client, comprising: a processor configured to: obtain one or more manifest files: determined, based at least in part on an evaluation of the obtained one or more manifest files, a plurality of manifest file components, wherein a manifest file component comprises at least one of a reference to a segment of the video asset and a reference to a sub-manifest file; store the determined plurality of manifest file components in a repository comprising a plurality of candidate manifest file components; receive a request for a manifest file associated with the video asset, wherein the request includes an attribute associated with the client; obtain access to the repository including the plurality of candidate manifest file components; based at least in part on the attribute associated with the client included in the request, select, from the repository, a subset of the plurality of candidate manifest file components associated with the video asset; assemble a dynamic manifest file using the selected subset of the plurality of candidate manifest file components associated with the video asset selected from the repository based at least in part on the attribute associated with the client; and provide the assembled dynamic manifest file to the client, wherein the client is configured to obtain segments of the video asset according to the assembled dynamic manifest file; and a memory coupled to the processor and configured to provide the processor with instructions. 2. The system of claim 1 , wherein the attribute includes geographical information associated with a device associated with the client. 3. The system of claim 1 , wherein the attribute includes a device type of a device associated with the client. 4. The system of claim 1 , wherein the attribute includes an Internet service provider associated with the client. 5. The system of claim 1 , wherein the subset of candidate manifest file components is selected based at least in part on performance information. 6. The system of claim 5 , wherein the performance information includes information that has been aggregated from a plurality of content players. 7. The system of claim 1 , wherein the subset of candidate manifest file components is selected based at least in part on network traffic. 8. The system of claim 1 , wherein the subset of candidate manifest file components is selected based at least in part on a business policy. 9. The system of claim 1 , wherein the subset of candidate manifest file components include URLs. 10. The system of claim 1 , wherein the dynamic manifest file, when followed by a content player associated with the client, effects a CDN switch. 11. The system of claim 1 , wherein the dynamic manifest file, when followed by a content player associated with the client, effects a bitrate switch. 12. The system of claim 1 , wherein the dynamic manifest file, when followed by a content player associated with the client, effects an intra-CDN server switch. 13. A method of controlling delivery of a video asset to a client, comprising: receiving, from one or more remote sources, one or more manifest files; scraping, from the one or more manifest files received from the one or more remote sources, a plurality of manifest file components, wherein at least one scraped manifest file component comprises at least one of a reference to a segment of the video asset and a reference to a sub-manifest file; storing the scraped plurality of manifest file components in a repository of candidate manifest file components; receiving a request for a manifest file associated with the video asset; obtaining access to the repository of candidate manifest file components based at least in part on an attribute associated with the client, select, from the repository, a subset of the candidate manifest file components in the repository associated with the video asset; assembling a dynamic manifest file using the subset of candidate manifest file components associated with the video asset selected from the repository based at least in part on the attribute associated with the client; and providing the assembled dynamic manifest file to the client, wherein the client is configured to obtain segments of the video asset according to the assembled dynamic manifest file. 14. A computer program product for controlling delivery of a video asset to a client the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: receiving, from one or more remote sources, one or more manifest files; scraping, from the one or more manifest files received from the one or more remote sources, a plurality of manifest file components, wherein at least one scraped manifest file component comprises at least one of a reference to a segment of the video asset and a reference to a sub-manifest file; storing the scraped plurality of manifest file components in a repository of candidate manifest file components; receiving a request for a manifest file associated with the video asset; obtaining access to the repository of candidate manifest file components based at least in part on an attribute associated with the client, select, from the repository, a subset of the candidate manifest file components in the repository associated with the video asset; assembling a dynamic manifest file using the subset of candidate manifest file components associated with the video asset selected from the repository based at least in part on the attribute associated with the client; and providing the assembled dynamic manifest file to the client, wherein the client is configured to obtain segments of the video asset according to the assembled dynamic manifest file. 15. The system of claim 1 , wherein the repository comprises a cache including URLs directed to video segments that comprise portions of the video asset. 16. The system of claim 1 , wherein the processor is configured to download the one or more manifest files from one or more content delivery networks (CDNs). 17. The system of claim 1 , wherein the processor is further configured to refresh the repository at least in part by: requesting one or more additional manifest files; scraping, from the additional one or more manifest files, a plurality of additional manifest file components; and storing the scraped plurality of additional manifest file components in the repository. 18. The method of claim 13 , wherein the attribute includes geographical information associated with a device associated with the client. 19. The method of claim 13 , wherein the attribute includes a device type of a device associated with the client. 20. The method of claim 13 , wherein the attribute includes an Internet service provider associated with the client. 21. The method of claim 13 , wherein the subset of candidate manifest file components is selected based at least in part on performance information. 22. The method of claim 21 , wherein the performance information includes information that has been aggregated from a plurality of content players. 23. The method of claim 13 , wherein the subset of candidate manifest file components is selected based at least in part on network traffic. 24. The method of claim 13 , wherein the subset of candidate manifest file components is selected based at least in part on a business poli

Assignees

Inventors

Classifications

  • H04L65/60Primary

    Network streaming of media packets · CPC title

  • G06F16/16Primary

    File or folder operations, e.g. details of user interfaces specifically adapted to file systems · 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 US10148716B1 cover?
Controlling delivery of a video asset to a client is disclosed. A request for a manifest file is received. Manifest file components are retrieved. A dynamic manifest file is assembled from a set of manifest file components.
Who is the assignee on this patent?
Conviva Inc
What technology area does this patent fall under?
Primary CPC classification H04L65/60. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 04 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).