Method and system for a graph based video streaming platform
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/46
G06F-009/50
G06F-009/48
출원번호
US-0448915
(2014-07-31)
등록번호
US-9417921
(2016-08-16)
발명자
/ 주소
Galdy, Alessio
Sapru, Sidharth
출원인 / 주소
iStreamPlanet Co.
대리인 / 주소
Nicholson De Vos Webster & Elliott, LLP
인용정보
피인용 횟수 :
0인용 특허 :
24
초록▼
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, wher
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.
대표청구항▼
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 gr
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; andsplitting 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. 2. The method of claim 1, the method further comprising: after estimating the resource requirement of each processing task, revising the task graph prior to splitting the task graph into the plurality of subsets based on at least one of: the estimated resource requirement of one or more processing tasks; andredundancy requirements of one or more processing tasks. 3. The method of claim 2, the method further comprising: after revising the task graph and after splitting the task graph into the plurality of subsets, estimating the resource requirement of each processing task again to accommodate any change as of resource requirement as a result of the revision. 4. The method of claim 1, the method further comprising: storing a status of each subset of the task graph; andupdating the status of each subset when the subset is allocated to one or more workers for execution. 5. The method of claim 1, wherein the parameters describing the video source include at least one of: a type of the video source;an address of the video source;an indication of whether to enable caption or enable advertisement insertion process;desired video and audio transcoding operations by the streaming platform system;desired content protection operations by the streaming platform system; anddesired publishing operations to output from the streaming platform system. 6. The method of claim 1, wherein estimating communication bandwidth usage and computing resource consumption of each processing task include predictions based on the video resource being ingested in the streaming platform system. 7. The method of claim 1, wherein each subset corresponds to a task group to be executed by a single worker of a plurality of workers, and wherein the task graph contains a single input task. 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; anda 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. 9. The electronic device of claim 8, wherein the orchestrator is further configured to: after estimating the resource requirement of each processing task, revise the task graph prior to splitting the task graph into the plurality of subsets based on at least one of: the estimated resource requirement of one or more processing tasks; andredundancy requirements of one or more processing tasks. 10. The electronic device of claim 8, wherein the orchestrator is further configured to: store a status of each subset of the task graph; andupdate the status of each subset when the subset is allocated to one or more workers for execution. 11. The electronic device of claim 8, wherein the parameters describing the video source include at least one of: a type of the video source;an address of the video source;an indication of whether to enable caption or enable advertisement insertion process;desired video and audio transcoding operations by the streaming platform system;desired content protection operations by the streaming platform system; anddesired publishing operations to output from the streaming platform system. 12. The electronic device of claim 8, wherein each subset corresponds to a task group to be executed by a single worker of a plurality of workers, and wherein the task graph contains a single input task. 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; andsplitting 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. 14. The non-transitory machine-readable medium of claim 13, the operations further comprising: after estimating the resource requirement of each processing task, revising the task graph prior to splitting the task graph into the plurality of subsets based on at least one of: the estimated resource requirement of one or more processing tasks; andredundancy requirements of one or more processing tasks. 15. The non-transitory machine-readable medium of claim 13, the operations further comprising: storing a status of each subset of the task graph; andupdating the status of each subset when the subset is allocated to one or more workers for execution. 16. The non-transitory machine-readable medium of claim 13, the operations further comprising: a type of the video source;an address of the video source;an indication of whether to enable caption or enable advertisement insertion process;desired video and audio transcoding operations by the streaming platform system;desired content protection operations by the streaming platform system; anddesired publishing operations to output from the streaming platform system. 17. The non-transitory machine-readable medium of claim 13, wherein each subset corresponds to a task group to be executed by a single worker of a plurality of workers, and wherein the task graph contains a single input task.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (24)
Bowman-Amuah, Michel K., Block-based communication in a communication services patterns environment.
Goldszmidt German Sergio ; Willebeek-LeMair Marc Hubert ; Hon Kenneth Sau-yee,HKX, Client-based dynamic switching of streaming servers for fault-tolerance and load balancing.
Dave Bharat P. ; Jha Niraj K., Concurrent hardware-software co-synthesis of hard real-time aperiodic and periodic specifications of embedded system architectures.
Angela C. W. Lai ; James Peter Hoddie ; Howard E. Chartock ; Christopher V. Pirazzi ; Giovanni M. Agnoli ; Harry A. Chomsky ; Steve H. Chen ; Hitoshi Hokamura, Distributed on-demand media transcoding system and method.
Buco, Melissa Jane; Chaar, Jarir Kamel; Chang, Rong Nickle; Hunt, Guerney Douglass Holloway; Luan, Laura Zaihua; Ward, Christopher, Execution order management of multiple processes on a data processing system by assigning constrained resources to the processes based on resource requirements and business impacts.
Bonomi, Mauro; Fritsch, Jean-Georges; Sweeney, Patrick James; Osborne, Randolph; Morris, Jr., Charles Francis; Majors, Reed; Degrange, Francis Michel; Locke, Ian; Ng, Johnny C. Y.; Cao, Yousheng; Liu, Method and system for delivering media services and application over networks.
Beyer, Dirk; Wiener, Janet; Kelly, Terence, Method of dispatching tasks in multi-processor computing environment with dispatching rules and monitoring of system status.
Moote, Stanley R.; Delay, John L.; Bugir, Taras M., System and method for controlling content and delivery of internet protocol television (IPTV) services.
Kwatra, Vivek; Yagnik, Jay; Toshev, Alexander T.; Suryanarayan, Poonam, System and method for exploiting segment co-occurrence relationships to identify object location in images.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.