Dynamic reconfiguration of multimedia stream processing modules
First Claim
1. A method for enabling dynamic changing of a streaming data path of a graph having a plurality of processing modules, each module connected to at least one other module to form the streaming data path, the streaming data path having at least one input module located at an input edge and at least one output module located at an output edge, comprising:
- issuing a command to temporarily block data flow from an output pin of a module until changing of the streaming data path is completed;
sending a notification packet through the streaming data path to each module within the streaming data path, the notification packet indicating that data flow has stopped;
detecting when the notification packet is received at each output module;
commanding one or more modules selected for removal from the streaming data path to change to a stop state after detecting when the notification packet is received at each output module;
removing each selected module;
restarting data flow in the streaming data path;
adding at least one additional module to the streaming data path after detecting when the notification packet is received at each output module; and
commanding the additional module to change to a run state.
2 Assignments
0 Petitions
Accused Products
Abstract
A method to dynamically reconfigure multimedia streaming processing modules using interfaces that allow applications and modules to seamlessly change the configuration of streaming modules. Reconfigurations are initiated by a processing module in a stream or by an application by sending a notification packet through the processing modules in the portion of the stream being changed that informs that modules that a change is being made and the modules to complete processing of its data. Modules affected by the change are stopped once the notification packet is received by all processing modules in the stream being changed and modules are then added, removed, or replaced and the portion of the stream being changed resumes processing the data stream. The modules at the beginning of the portion being changed can resume operation as soon as they are reconnected to other modules.
11 Citations
14 Claims
-
1. A method for enabling dynamic changing of a streaming data path of a graph having a plurality of processing modules, each module connected to at least one other module to form the streaming data path, the streaming data path having at least one input module located at an input edge and at least one output module located at an output edge, comprising:
-
issuing a command to temporarily block data flow from an output pin of a module until changing of the streaming data path is completed; sending a notification packet through the streaming data path to each module within the streaming data path, the notification packet indicating that data flow has stopped; detecting when the notification packet is received at each output module; commanding one or more modules selected for removal from the streaming data path to change to a stop state after detecting when the notification packet is received at each output module; removing each selected module; restarting data flow in the streaming data path; adding at least one additional module to the streaming data path after detecting when the notification packet is received at each output module; and commanding the additional module to change to a run state. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable medium having computer executable instructions for performing a method for enabling dynamic changing of a streaming data path of a graph having a plurality of processing modules, each module connected to at least one other module to form the streaming data path, the streaming data path having at least one input module located at an input edge and at least one output module located at an output edge, the method comprising:
-
issuing a command to temporarily block data flow from an output pin of a processing module until changing of the streaming data path is completed; sending a notification packet through the streaming data path to each module within the streaming data path, the notification packet indicating that data flow has stopped; detecting when the notification packet is received at each output module; commanding one or more modules selected for removal from the streaming data path to change to a stop state after detecting when the notification packet is received at each output removing each selected module; restarting data flow in the streaming data path; adding at least one additional module to the streaming data path after detecting when the notification packet is received at each output module; and commanding the additional module to change to a run state. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification