System and method for integrating arbitrary isochronous processing algorithms in general media processing systems
First Claim
1. A media processing system, for applying one or more processing algorithms to retrieved digital data to generate at least one media stream in response to a request, comprising:
- a controller for receiving a request;
at least one data pump component for dynamically creating at least one request-specific data path for data retrieved in response to said request, said at least one data path comprising a plurality of filters for processing said data in accordance with said one or more processing algorithms; and
at least one component responsive to said controller for creating a request-specific graph for processing data in accordance with said request and for instructing said data pump to retrieve filters and create said at least one request-specific data path in accordance with said request-specific graph.
1 Assignment
0 Petitions
Accused Products
Abstract
A flexible and efficient mechanism for integrating arbitrary isochronous processing algorithms in general purpose media servers is provided. The disclosed system supports generic graphs of processing modules with for buffer management, distributed stream control, and quality of service management. A data pump component is provided for dynamically creating at least one data path for data retrieved in response to a request, the data path having a plurality of filters for processing the data with one or more processing algorithms. A graph of component then creates a graph for processing data and instructs the data pump to retrieve filters and create the data path in accordance with the graph. By distributing stream control and decoupling resource management from components responsible for processing the media stream, the disclosed system allows these generic graphs to be constructed over multiple, networked systems.
-
Citations
22 Claims
-
1. A media processing system, for applying one or more processing algorithms to retrieved digital data to generate at least one media stream in response to a request, comprising:
-
a controller for receiving a request;
at least one data pump component for dynamically creating at least one request-specific data path for data retrieved in response to said request, said at least one data path comprising a plurality of filters for processing said data in accordance with said one or more processing algorithms; and
at least one component responsive to said controller for creating a request-specific graph for processing data in accordance with said request and for instructing said data pump to retrieve filters and create said at least one request-specific data path in accordance with said request-specific graph. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for a media processing system to apply one or more processing algorithms to retrieved digital data to generate at least one media stream in response to a request comprising the steps of:
-
receiving a request;
creating a request-specific graph for processing data in response to said request;
dynamically creating at least one request-specific data path for data retrieved in response to said request, said at least one request-specific data path comprising a plurality of data processing filters in accordance with said request-specific graph. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
identifying an output port for one of said plurality of filters and an input port for a next successive one of said plurality of filters;
determining connection attributes for said output port;
forwarding said connection attributes to said input port; and
obtaining approval for said connection.
-
-
11. The method of claim 10 wherein each of said input and output ports is associated with an owning filter and wherein said obtaining approval for said connection comprises the steps of:
-
said input port forwarding connection attributes to its owning filter;
said owning filter communicating a response to said input port; and
said input port returning control to said output port.
-
-
12. The method of claim 11 further comprising said output port verifying that connection has been completed.
-
13. The method of claim 11 further comprising identifying at least one of at least one alternative output port and at least one alternative input port for said connection.
-
14. The method of claim 9 further comprising the step of characterizing said data path to obtain a determined data flow model representing the data flow that said filters and connected ports can handle along said data path.
-
15. The method of claim 7 further comprising the steps of assembling data packets for transmission along said data path.
-
16. The method of claim 15 further comprising chaining a plurality of data packets for transmission along said data path.
-
17. The method of claim 14 wherein said data path begins at a source node filter, said method further comprising providing said determined data flow model to said source node filter.
-
18. The method of claim 17 further comprising said source node assembling data packets based on said determined data flow model.
-
19. A method for providing management of the flow of data retrieved by a retrieval entity in response to a request for transmission along a data path comprising a plurality of processing filters and connectors comprising the steps of:
-
querying each of said plurality of processing filters and connectors to obtain a determined request-specific data flow model representing the potential data flow for said data path;
providing said determined request-specific data flow model to said retrieval entity; and
assembling retrieved data in accordance with said determined request-specific data flow model.
-
-
20. A system for providing management of the flow of data retrieved for transmission along a data path comprising a plurality of processing filters and connectors comprising the steps of:
-
a query component for querying each of said plurality of processing filters and connectors to obtain a determined request-specific data flow model; and
a retrieval entity for assembling retrieved data in accordance with said determined request-specific data flow model.
-
-
21. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a media processing system to apply one or more processing algorithms to retrieved digital data to generate at least one media stream in response to a request, said method steps comprising:
-
receiving a request;
creating a request-specific graph for processing data in response to said request;
dynamically creating at least one request-specific data path for data retrieved in response to said request, said at least one request-specific data path comprising a plurality of data processing filters in accordance with said request-specific graph.
-
-
22. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for providing management of the flow of data retrieved by a retrieval entity in response to a request for transmission along a data path comprising a plurality of processing filters and connectors, said method comprising the steps of:
-
querying each of said plurality of processing filters and connectors to obtain a determined request-specific data flow model representing the potential data flow for said data path;
providing said determined request-specific data flow model to said retrieval entity; and
assembling retrieved data in accordance with said determined request-specific data flow model.
-
Specification