Method for dynamic reprogramming dataflow in a distributed system
First Claim
1. A computer software tool for designing a software architecture, the tool comprising:
- a plurality of data channels;
a plurality of global states; and
a software architecture maintainer;
wherein the maintainer communicates with a plurality of modules using the plurality of data channels and stores global states data;
wherein a module only receives data via a data channel for which the module has registered and wherein one or more of the global states is relevant to the module; and
whereby the software tool enables behavior modification of the module during runtime of the module.
2 Assignments
0 Petitions
Accused Products
Abstract
A software tool or framework for designing a software architecture is described. The tool consists of three broad components: a series of data channels, multiple global states, and a software architecture maintainer which performs as a scheduler and “switchboard” for the architecture. The architecture maintainer communicates with modules in a collection of modules using the multiple data channels and also stores global states data. The tool is configured such that a module only receives data via a data channel for which the module has registered. A module will not receive data on a data channel, nor will the maintainer send data on a data channel, for which the module is not registered. The module also has one or more relevant global states. The software tool of the present invention enables modification of the behavior of a module during the runtime of the module.
-
Citations
16 Claims
-
1. A computer software tool for designing a software architecture, the tool comprising:
-
a plurality of data channels;
a plurality of global states; and
a software architecture maintainer;
wherein the maintainer communicates with a plurality of modules using the plurality of data channels and stores global states data;
wherein a module only receives data via a data channel for which the module has registered and wherein one or more of the global states is relevant to the module; and
whereby the software tool enables behavior modification of the module during runtime of the module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of executing a process in a software architecture, the method comprising:
-
subscribing with a system architecture maintainer, wherein a process informs the maintainer of one or more relevant global states and one or more named data channels;
receiving data from the system architecture maintainer only on a named data channel; and
performing executable tasks independent of the system architecture maintainer. - View Dependent Claims (14, 15)
-
-
16. A method of managing a software architecture, the method comprising:
-
maintaining a first data relating to a plurality of global states;
maintaining a second data on validities of global states in the plurality of global states;
receiving an instruction from a module relating to a next executable task as specified in a module registration, the next executable task being known to a software architecture maintainer; and
maintaining a third data on a global state relevant to the module and at least one named data channel that is subscribed to by the module.
-
Specification