Scalable techniques for executing custom algorithms on media items

US10877798B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10877798-B2
Application numberUS-201816116842-A
CountryUS
Kind codeB2
Filing dateAug 29, 2018
Priority dateAug 31, 2017
Publication dateDec 29, 2020
Grant dateDec 29, 2020

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.

In various embodiments, a workflow engine executes a custom algorithm on a media item. In operation, the workflow engine generates split specifications based on a split function included in a container image. Each split specification is associated with a different portion of the media item. Subsequently, the workflow engine generates map output files based on the split specifications and a map function included in the container image. The workflow engine then generates one or more final output file(s) based on the map output files and a collect function included in the container image. The final output file(s) are subsequently used to perform at least one of an evaluation operation on, a modification operation on, and a representation operation with respect to the media item.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: generating a plurality of split specifications based on a split function included in a container image, wherein the split function partitions a media item based on playback time to generate the plurality of split specifications, and each split specification is associated with a different portion of the media item; generating a plurality of map output files based on the plurality of split specifications and a map function included in the container image; and generating one or more final output files based on the plurality of map output files and a collect function included in the container image, wherein the one or more final output files are subsequently used to perform at least one of an evaluation operation on, a modification operation on, and a representation operation with respect to the media item. 2. The computer-implemented method of claim 1 , wherein the container image includes a scalable media application and one or more operating system (OS) dependencies of the scalable media application. 3. The computer-implemented method of claim 1 , further comprising performing one or more operations to determine that the plurality of map output files have been successfully generated. 4. The computer-implemented method of claim 1 , wherein generating the plurality of split specifications comprises: acquiring a first container associated with the container image; causing the first container to securely acquire the media item from a media content library; and causing the first container to execute the split function on the media item. 5. The computer-implemented method of claim 1 , further comprising executing the container image on a compute instance included in a cloud or other distributed computing system to generate a first container included in a plurality of containers associated with the container image. 6. The computer-implemented method of claim 1 , wherein generating the plurality of map output files comprises, for each split specification included in the plurality of split specifications, causing a different container included in a plurality of containers associated with the container image to generate a different map output file included in the plurality of map output files based on the map function. 7. The computer-implemented method of claim 1 , wherein generating the one or more final output files comprises acquiring a first container associated with the container image and causing the first container to execute the collect function on the plurality of map output files. 8. The computer-implemented method of claim 1 , wherein the split function partitions a plurality of frames included in the media item. 9. The computer-implemented method of claim 1 , wherein the map function incorporates a custom algorithm that operates on at least one of media content or encoded media content. 10. The computer-implemented method of claim 1 , wherein the collect function performs at least one of an encryption operation, a compression operation, and a byte concatenation operation on the plurality of map output files to generate the one or more final output files. 11. One or more non-transitory computer readable media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of: generating a plurality of split specifications based on a split function included in a container image, wherein the split function partitions a media item based on playback time to generate the plurality of split specifications, and each split specification is associated with a different portion of the media item; for each split specification included in the plurality of split specifications, generating one or more different map output files included in a plurality of map output files based on the split specification and a map function included in the container image; and generating one or more final output files based on the plurality of map output files and a collect function included in the container image, wherein the one or more final output files are subsequently used to perform at least one of an evaluation operation on, a modification operation on, and a representation operation with respect to the media item. 12. The one or more non-transitory computer readable media of claim 11 , wherein the container image includes a scalable media application and one or more operating system (OS) dependencies of the scalable media application. 13. The one or more non-transitory computer readable media of claim 11 , wherein the map function operates on a media-related object as a first class object. 14. The one or more non-transitory computer readable media of claim 11 , wherein generating the plurality of split specifications comprises transmitting a task request to a task engine that, in response, acquires a first container associated with the container image, and causes the first container to execute the split function on an uncompressed and decoded version of the media item. 15. The one or more non-transitory computer readable media of claim 11 , further comprising executing the container image on a compute instance included in a cloud or other distributed computing system to generate a first container included in a plurality of containers associated with the container image. 16. The one or more non-transitory computer readable media of claim 11 , wherein generating the plurality of map output files comprises: causing a first container associated with the container image to determine a first plurality of frames included in the media item based on a first split specification included in the plurality of split specifications; causing the first container to execute the map function on the first plurality of frames to generate a first map output file included in the plurality of map output files; causing a second container associated with the container image to determine a second plurality of frames included in the media item based on a second split specification included in the plurality of split specifications; and causing the second container to execute the map function on the second plurality of frames to generate a second map output file included in the plurality of map output files. 17. The one or more non-transitory computer readable media of claim 11 , wherein generating the one or more final output files comprises acquiring a first container associated with the container image and causing the first container to execute the collect function on the plurality of map output files. 18. The one or more non-transitory computer readable media of claim 11 , wherein each split specification is associated with a different shot sequence included in the media item. 19. The one or more non-transitory computer readable media of claim 11 , wherein the media item comprises at least one of video content, encoded video content, audio content, encoded audio content, and text content. 20. A system, comprising: one or more memories storing instructions; and one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to: generate a plurality of split specifications based on a split function included in a container image, wherein the split function partitions media content based on playback time to generate the plurality of split specifications, and each split specification is associated with a different portion of the media content; generate a plurality of map output files

Assignees

Inventors

Classifications

  • Hypervisors; Virtual machine monitors · CPC title

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • G06F9/448Primary

    Execution paradigms, e.g. implementations of programming paradigms · 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 US10877798B2 cover?
In various embodiments, a workflow engine executes a custom algorithm on a media item. In operation, the workflow engine generates split specifications based on a split function included in a container image. Each split specification is associated with a different portion of the media item. Subsequently, the workflow engine generates map output files based on the split specifications and a map …
Who is the assignee on this patent?
Netflix Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 29 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).