Method and system for a graph based video streaming platform
First Claim
1. A method implemented in an electronic device serving as an orchestrator managing video and audio stream processing of a streaming platform system, the method comprising:
- receiving a request to process a video source, the request containing parameters describing the video source;
creating a task graph based on the request, wherein the task graph is a directed acyclic graph of tasks for processing the video source, wherein each node of the task graph represents a processing task, and wherein each edge of the task graph represents a data flow across two processing tasks and corresponding input and output of each processing task;
estimating resource requirements of each processing task, where estimating the resource requirement includes any one of estimating storage usage of each processing task during its execution cycle, estimating communication bandwidth usage of each processing task during its execution cycle, or estimating computing resource consumption of each processing task during its execution cycle; and
splitting the task graph into a plurality of subsets, wherein each subset corresponds to a task group to be executed by one or more workers of a plurality of workers, where each worker is a processing unit of the streaming platform system.
3 Assignments
0 Petitions
Accused Products
Abstract
A method implemented in an electronic device serving as an orchestrator managing video and audio stream processing of a streaming platform system is disclosed. The method includes the electronic device receiving a request to process a video source and creating a task graph based on the request, where the task graph is a directed acyclic graph of tasks for processing the video source, where each node of the task graph represents a processing task, and where each edge of the task graph represents a data flow across two processing tasks and corresponding input and output of each processing task. The method also includes the electronic device estimating resource requirements of each processing tasks, and splitting the task graph into a plurality of subsets, wherein each subset corresponds to a task group to be executed by one or more workers of a plurality of processing units of the streaming platform system.
54 Citations
17 Claims
-
1. A method implemented in an electronic device serving as an orchestrator managing video and audio stream processing of a streaming platform system, the method comprising:
-
receiving a request to process a video source, the request containing parameters describing the video source; creating a task graph based on the request, wherein the task graph is a directed acyclic graph of tasks for processing the video source, wherein each node of the task graph represents a processing task, and wherein each edge of the task graph represents a data flow across two processing tasks and corresponding input and output of each processing task; estimating resource requirements of each processing task, where estimating the resource requirement includes any one of estimating storage usage of each processing task during its execution cycle, estimating communication bandwidth usage of each processing task during its execution cycle, or estimating computing resource consumption of each processing task during its execution cycle; and splitting the task graph into a plurality of subsets, wherein each subset corresponds to a task group to be executed by one or more workers of a plurality of workers, where each worker is a processing unit of the streaming platform system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An electronic device to serve as an orchestrator managing video and audio streams of a streaming platform system, the electronic device comprising:
-
a non-transitory machine-readable storage medium to store the orchestrator; and a processor coupled to the non-transitory machine-readable storage medium, the processor to execute the orchestrator, the orchestrator configured to receive a request to process a video source, the request containing parameters describing the video source, create a task graph based on the request, wherein the task graph is a directed acyclic graph of tasks for processing the video source, wherein each node of the task graph represents a processing task, and wherein each edge of the task graph represents a data flow across two processing tasks and corresponding input and output of each processing task, estimate resource requirements of each processing task, where the estimate of the resource requirements include any one of an estimate of storage usage of each processing task during its execution cycle, an estimate of communication bandwidth usage of each processing task during its execution cycle, or an estimate of computing resource consumption of each processing task during its execution cycle, and split the task graph into a plurality of subsets, wherein each subset corresponds to a task group to be executed by one or more workers of a plurality of workers, where each worker is a processing unit of the streaming platform system. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations in an electronic device serving as an orchestrator managing video and audio stream processing of a streaming platform system, the operations comprising:
-
receiving a request to process a video source, the request containing parameters describing the video source; creating a task graph based on the request, wherein the task graph is a directed acyclic graph of tasks for processing the video source, wherein each node of the task graph represents a processing task, and wherein each edge of the task graph represents a data flow across two processing tasks and corresponding input and output of each processing task; estimating resource requirements of each processing task, where estimating the resource requirements include any one of estimating storage usage of each processing task during its execution cycle, estimating communication bandwidth usage of each processing task during its execution cycle, or estimating computing resource consumption of each processing task during its execution cycle; and splitting the task graph into a plurality of subsets, wherein each subset corresponds to a task group to be executed by one or more workers of a plurality of workers, where each worker is a processing unit of the streaming platform system. - View Dependent Claims (14, 15, 16, 17)
-
Specification