Dynamically Composing Data Stream Processing Applications
First Claim
1. A system for dynamically modifying inter-connections between a plurality of components in a component-based data stream processing application, comprising:
- a processor;
a memory coupled to the processor;
a profile manager module stored on the memory to receive a data producer profile for each of a plurality of output ports within a software application to be executed on one or more processors, wherein the application comprises a plurality of components that each comprise an output port that produces a data stream and an input port that consumes a data stream, and wherein each data producer profile describes a characteristic of the data produced by the corresponding output port;
a subscription expression manager module stored on the memory to receive a data subscription profile for each of one or more input ports of a plurality of components of the application, wherein each data subscription profile describes a characteristic of the data consumed by the corresponding input port; and
a data flow module stored on the memory to establish one or more connections between output ports and input ports of the plurality of components in the application based on a comparison of each data producer profile and each data subscription profile.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for dynamically modifying inter-connections between components in an application are provided. The techniques include receiving a data producer profile for each output port within a software application to be executed on one or more processors, receiving a data subscription profile for each input port of each component of the application, establishing connections between the output ports and the input ports of the components in the application based on a comparison of each data producer profile and each data subscription profile, executing the application on one or more processors to process streams of data, receiving either or both of a new data producer profile or a new data subscription profile during the execution of the application, and establishing at least one new connection between an output port and an input port based upon a revised comparison of the received data profiles that include the new data profile.
63 Citations
29 Claims
-
1. A system for dynamically modifying inter-connections between a plurality of components in a component-based data stream processing application, comprising:
-
a processor; a memory coupled to the processor; a profile manager module stored on the memory to receive a data producer profile for each of a plurality of output ports within a software application to be executed on one or more processors, wherein the application comprises a plurality of components that each comprise an output port that produces a data stream and an input port that consumes a data stream, and wherein each data producer profile describes a characteristic of the data produced by the corresponding output port; a subscription expression manager module stored on the memory to receive a data subscription profile for each of one or more input ports of a plurality of components of the application, wherein each data subscription profile describes a characteristic of the data consumed by the corresponding input port; and a data flow module stored on the memory to establish one or more connections between output ports and input ports of the plurality of components in the application based on a comparison of each data producer profile and each data subscription profile. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for dynamically modifying inter-connections between a plurality of components in a component-based data stream processing application, the method comprising:
-
receiving a data producer profile for each of a plurality of output ports within a software application to be executed on one or more processors, wherein the application comprises a plurality of components that each comprise an output port that produces a data stream and an input port that consumes a data stream, and wherein each data producer profile describes a characteristic of the data produced by the corresponding output port; receiving a data subscription profile for each of one or more input ports of a plurality of components of the application, wherein each data subscription profile describes a characteristic of the data consumed by the input port; establishing one or more connections between output ports and input ports of the plurality of components in the application based on a comparison of received data producer profiles and received data subscription profiles; executing the data stream processing application on one or more processors to process one or more streams of data; receiving either or both of a new data producer profile or a new data subscription profile during the execution of the application; and establishing at least one new connection between an output port and an input port based upon a revised comparison of the received data profiles that include the one or more new data profiles. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer program product comprising a tangible computer readable recordable storage medium including computer useable program code for dynamically modifying inter-connections between a plurality of components in a component-based data stream processing application, the computer program product including:
-
computer useable program code for receiving a data producer profile for each of a plurality of output ports within a software application to be executed on one or more processors, wherein the application comprises a plurality of components that each comprise an output port that produces a data stream and an input port that consumes a data stream, and wherein each data producer profile describes a characteristic of the data produced by the corresponding output port; computer useable program code for receiving a data subscription profile for each of one or more input ports of a plurality of components of the application, wherein each data subscription profile describes a characteristic of the data consumed by the corresponding input port; computer useable program code for establishing one or more connections between the output ports and the input ports of the plurality of components in the application based on a comparison of the received data producer profile and the received data subscription profile; computer useable program code for executing the data stream processing application on one or more processors to process one or more streams of data; computer useable program code for receiving either or both of a new data producer profile or a new data subscription profile during the execution of the application; and computer useable program code for establishing at least one new connection between an output port and an input port based upon a revised comparison of the received data profiles that include the one or more new data profiles. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification