Managing and distributing data objects of different types between computers connected to a network
First Claim
1. A method of managing and distributing data objects of different types between a plurality of child processes running on a plurality of computers connected to a network, wherein said data objects each include data and properties associated with said data, wherein at least a subset of said properties are usable to indicate the types of data objects, wherein a child process runs on each of the plurality of the computers, and wherein a router process rims on each of the plurality of computers, each router process acting as an interface between its respective child process and the other router processes, the method comprising the steps of:
- each router process storing connection information in a table for indicating how the router process is connected to its respective child process and to the other router processes;
each router process storing interest information in a table for indicating the types of data objects its respective mild process and the other router processes are interested in, wherein said interested information comprises one or more values of one or more of said properties of said data objects;
a first router process building a destination list based on said interest information and connection information stored in its respective tables in response to its respective child process transmitting a data object of a first type, said destination list specifying which other router processes are to receive said data object;
said first router process modifying said data object by adding said destination list to said data object; and
said first router process distributing said modified data object to the other router processes according to said destination list.
3 Assignments
0 Petitions
Accused Products
Abstract
A data management and distribution system has been described that includes router processes for controlling data communications between child processes running on computers connected by a network. Preferably, a router process runs on each computer, with the application processes running on the computer connected directly to the router process. As a result, all interprocess communications must pass through the routers. Each router process includes a connection table listing its connections with all other router and application processes, as well as an interest table listing the type of objects that each of the other processes are interested in receiving. Data communication is accomplished by an application process providing an object to its local router, which then distributes the object to all other interested routers. The object includes a destination list indicating which processes are to receive the object. Thus, with the use of routers, application processes that need to communicate with each other over a network need not know the intricate details (such as the communications protocol used, the exact address of the receiving process, etc.) involved in transmitting information. By placing the burden of managing the network communications on the local routers, the complexity of the application code is reduced since it has only a single connection to its local router.
212 Citations
28 Claims
-
1. A method of managing and distributing data objects of different types between a plurality of child processes running on a plurality of computers connected to a network, wherein said data objects each include data and properties associated with said data, wherein at least a subset of said properties are usable to indicate the types of data objects, wherein a child process runs on each of the plurality of the computers, and wherein a router process rims on each of the plurality of computers, each router process acting as an interface between its respective child process and the other router processes, the method comprising the steps of:
-
each router process storing connection information in a table for indicating how the router process is connected to its respective child process and to the other router processes; each router process storing interest information in a table for indicating the types of data objects its respective mild process and the other router processes are interested in, wherein said interested information comprises one or more values of one or more of said properties of said data objects; a first router process building a destination list based on said interest information and connection information stored in its respective tables in response to its respective child process transmitting a data object of a first type, said destination list specifying which other router processes are to receive said data object; said first router process modifying said data object by adding said destination list to said data object; and said first router process distributing said modified data object to the other router processes according to said destination list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification