Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state
First Claim
1. A method of accessing resource objects contained in a distributed memory space in a communications network comprising:
- dividing the distributed memory space into one or more memory pools, each memory pool containing a collection of resource objects, each resource object being a software object having a network unique identifier and containing methods and attributes;
providing a plurality of resource manager objects, each resource manager object having an associated set of memory pools and a registry of the network unique indentifiers for the resource objects in the associated set of memory pools; and
accessing a given resource object via its network unique identifier in the registry of the resource manager object.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for accessing resource objects contained in a distributed memory space in a communications network, including dividing the distributed memory space into a plurality of memory pools, each pool containing a collection of resource objects, providing a plurality of resource manager objects, each resource manager object having an associated set of memory pools and a registry of network unique identifiers for the resource objects in those pools, and accessing a given resource object via its network identifier. Another aspect of the invention is to provide a relativistic view of state of a plurality of objects, each object generating a state vector representing that object'"'"'s view of its own state and the state of all other objects, each object sending its state vector to other objects, and each object maintaining a state matrix of the state vectors.
92 Citations
60 Claims
-
1. A method of accessing resource objects contained in a distributed memory space in a communications network comprising:
-
dividing the distributed memory space into one or more memory pools, each memory pool containing a collection of resource objects, each resource object being a software object having a network unique identifier and containing methods and attributes;
providing a plurality of resource manager objects, each resource manager object having an associated set of memory pools and a registry of the network unique indentifiers for the resource objects in the associated set of memory pools; and
accessing a given resource object via its network unique identifier in the registry of the resource manager object. - 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. A method of maintaining a relativistic view of state of a plurality of distributed resource objects comprising:
-
each resource object having a logical object name, a logical object state, and access to a method for communicating with other objects;
each resource object generating a state vector representing that object'"'"'s view of its own state and the state of all other objects, the state vector comprising a one-dimensional associative array of logical object name to logical object state, wherein the logical object name is an index into the vector and the logical object state is stored in a slot associated with the index;
each resource object sending its state vector to the other resource objects; and
each resource object maintaining a state matrix comprising a two-dimensional associative array of the state vectors having rows and columns indexed by logical object names. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. In a communications network having a distributed memory space in a plurality of hosts, apparatus for managing the distributed memory space comprising:
-
the distributed memory space being divided into a plurality of memory pools, each memory pool containing a collection of resource objects, each resource object being a software object having a network unique identifier and containing methods and attributes; and
a plurality of resource manager objects located on different hosts in the network, each resource manager object having an associated set of memory pools and a replicated set of resource objects for the associated memory pools.
-
-
38. In a distributed computing method, wherein a number of cooperating processes require access to resource objects, the improvement comprising:
-
a) providing a distributed memory space containing resource objects;
b) providing a plurality of pool objects, each pool object identifying an associated set of resource objects for dividing the resource objects in the distributed memory space into pools;
c) providing each cooperating process with a resource manager object object, each resource manager object object identifying an associated set of pools in which the cooperating process requires access to the contained resource objects;
d) each resource manager object object replicating the resource objects in its associated set of pools and providing access by the cooperating process to the replicated resource objects; and
e) each resource manager object object synchronizing its state with the other resource manager object objects. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. Apparatus for performing a distributed computing function in a system having a plurality of hosts, each host having a local processer and memory comprising:
-
a first host including a first process and a first resource manager object which identifies one or more pools containing resource objects which the first process requires access to;
a second host including a second process and a second resource manager object which identifies one or more pools containing resource objects which the second process requires access to;
each resource object being contained in the local memory of the host having the process which requires access to the resource object;
wherein each of the first and second processes can access the resource object in local memory contained in the same host as the process.
-
-
55. In a system comprising a plurality of hosts and a connection device for enabling communication between the hosts, each host having a local processor and local memory and the combined local memories comprising a distributed memory space, a software system for enabling the hosts to perform a distributed computing function comprising:
-
a plurality of cooperating processes contained on different hosts;
each cooperating process having a resource manager object identifying an associated set of pools in which the cooperating process requires access;
a plurality of pool objects for dividing the distributed memory space into pools, each pool object identifying an associated set of resource objects contained in the distributed memory space;
each host which contains a cooperating process having the pool objects and the resource objects to which the cooperating process requires access.
-
-
56. A software system for maintaining a relativistic view of state of a plurality of objects, wherein the objects are distributed among various host systems, comprising:
a state vector comprising a one-dimensional associative array of logical object name to logical object state, wherein the state vector is generated by an object and describes what that object thinks is the state of all objects in the vector. - View Dependent Claims (57)
-
58. In a distributed computing method, wherein a number of cooperating processes require access to resource objects, the improvement comprising:
-
the cooperating processes maintaining a distributed shared memory space, wherein each resource object has state information that is accessible within each cooperating process; and
the cooperating processes using the shared state information simultaneously, and communicating through object level messaging and remote procedure calls to distribute the processing load. - View Dependent Claims (59, 60)
-
Specification