Method and system for application development and a data processing architecture utilizing destinationless messaging
First Claim
1. A distributed processing system comprising:
- (a) a plurality of discrete, autonomous program processes, wherein each program process is capable of generating destinationless messages;
(b) at least one data repository for receiving and storing destinationless messages generated by program processes;
wherein each program process is associated with configuration information, which includes information for associating a program process with a data repository in at least one of a read and write capacity.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a data processing architecture and application development paradigm, which facilitates dynamic reconfiguration, code reuse, interoperability, performance, availability and manageability. The application architecture according to the present invention includes a combination of discrete and autonomous program processes each capable of generating destinationless data elements, one or more data repositories for the storage of data elements generated by the program processes and configuration information for each program process. The configuration information for each program process may associate a program process with one or more data repositories in either a read or write configuration. The application is made operative through the combination of the autonomous behavior of each program process and an exchange of data elements or communication pathways between program processes.
66 Citations
32 Claims
-
1. A distributed processing system comprising:
-
(a) a plurality of discrete, autonomous program processes, wherein each program process is capable of generating destinationless messages;
(b) at least one data repository for receiving and storing destinationless messages generated by program processes;
wherein each program process is associated with configuration information, which includes information for associating a program process with a data repository in at least one of a read and write capacity. - View Dependent Claims (2, 3, 4)
-
-
5. A reconfigurable data processing system comprising:
-
(a) a plurality of discrete, autonomous program processes, wherein each program process is capable of the generation of destinationless messages;
(b) at least one data repository for receiving and storing destinationless messages generated by program processes;
(c) a plurality of configuration parameters associating program processes with at least one data repository in one of a read and write capacity, the plurality of configuration parameters establishing a data flow mechanism.
-
-
6. A data processing system comprising:
-
(a) a plurality of modules, wherein a module is a discrete process and is associated with a capability for generating destinationless messages;
(b) at least one data repository, wherein each data repository receives and stores destinationless messages generated by modules;
(c) an API (“
Application Program Interface”
), wherein the API provides at least one function for associating a read operation of a module with a data repository and a write operation of a module with a data repository. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19)
-
-
18. A system for application development, comprising:
-
(a) a module API wherein the module API includes a plurality of function calls for defining a module, wherein a module is a discrete process that includes a capability for a generation of destinationless messages;
(b) a channel API, wherein the channel API includes a plurality of function calls for at least one of opening, writing to and reading from a channel, wherein a channel stores destinationless messages generated by modules;
(c) a message API, wherein the message API includes a plurality of function calls for defining a structure of destinationless messages.
-
-
20. A method for developing a computer program comprising the steps of:
-
(a) defining a plurality of program modules, wherein each module includes a process to perform an associated function, and wherein each module includes a capability for generating destinationless messages;
(b) defining a plurality of communication pathways between the modules in order to achieve a desired program behavior;
(c) at runtime, resolving the communication pathways to associate the plurality of program modules with a plurality of data repositories, wherein the data repositories receive and store messages. - View Dependent Claims (21, 22, 24, 25, 26, 27, 29)
-
-
23. A method for application development comprising the steps of:
-
(a) defining at least one module, wherein a module includes a discrete code element and performs a functional behavior;
(b) defining an interaction configuration between the at least one module to achieve an application behavior, wherein the interaction configuration includes re-configurable communication pathways for an exchange of messages between a first module and a second module;
(c) defining a deployment configuration for the application, wherein the deployment configuration defines at least a relationship between each module and one or more hosts within a computing environment;
(d) deploying the modules to the computing environment as a function of the deployment configuration; and
,(e) establishing the communication pathways between the at least one module as a function of the interaction and the deployment configuration.
-
-
28. A program module comprising:
-
(a) an initialization function process, wherein the initialization function process is executed upon an initialization of the program module;
(b) a work function process, wherein the work function process exhibits a behavior associated with the program module; and
,(c) a termination function process, wherein the termination function process is executed upon a termination of the program module.
-
-
30. A distributed application development system comprising a processor, wherein the processor is adapted to:
- provide a graphical user interface (“
GUI”
) wherein the GUI;
(a) provides for a specification of a plurality of discrete, autonomous program processes to be used in the application, and receives information relating thereto;
(b) provides for a specification of a plurality of communication pathways between the plurality of program processes and receives information relating thereto; and
,(c) provides for a specification of a deployment configuration and receives information relating thereto;
wherein the processor is further adapted to modify runtime configuration information relating each of the program processes as a function of the information received by the GUI. - View Dependent Claims (31, 32)
- provide a graphical user interface (“
Specification