Patent ID: 7174370

Claim:
A system for users to develop distributed applications over a network of computing units, the system comprising: a. a plurality of component programs installed over the network of computing units to create the distributed application, wherein the only functionality of the component programs are to receive data presented at their input ports, process said data and write the results to their output ports, and wherein the component programs do not contain routing information and information related to other component programs; b. a plurality of data stores on one or more of the computing units that contain a specification of component programs that make up the application, the communication routes between the component programs, and the nodes on which the component programs are to run; c. a graphical user interface based application composer that composes said distributed application within said one or more data stores by allowing users to graphically specify the component programs that make up the application, the communication routes between the component programs, and the nodes on which the component programs are to run; and, d. a multiplicity of controller programs running on a multiplicity of computing units in the network for transmitting data to said input ports of the component programs and receiving data from said output ports of the component programs and for transmitting and receiving data with controller programs and disseminating said routing information to other controller programs, and wherein controller programs pass data between component programs based on the routing information disseminated to them from the data stores in which the distributed application has been composed.