Locating mobile objects in a distributed computer system
First Claim
1. In a system comprising a distributed plurality of computer nodes linked by a communication medium, wherein the system includes objects located on nodes and wherein each of said objects is supported by one or more stable storage servers, a method for invoking an object comprising the following steps, each step being performed with reference to one of the nodes, referred to (in the context of said step) as the current node:
- (a) first generating, at an invoking node, an invocation directed to the object, the invoking node being the current node;
(b) thereafter performing the invocation if the object is located at the current node and otherwise proceeding to step (c);
(c) determining if the current node has an address descriptor for the object;
if so and if either (i) the current node'"'"'s address descriptor is newer than the address descriptor used to select this as the current node for this step (c) or (ii) no address descriptor was used to select this as the current node for this step (c), proceeding to step (d);
otherwise, proceeding to step (e);
(d) sending the invocation to the node identified in the address descriptor, the identified node becoming the current node, and proceeding to step (b);
(e) attempting to locate an address descriptor corresponding to the object in a first stable storage server supporting the object;
(f) then sending the invocation to the node identified in the address descriptor, if one was located in the step performed before this step is performed, the identified node becoming the current node; and
then(g) if the object is located at the current node, performing the invocation, and otherwise, proceeding to step (c).
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method are disclosed for locating mobile objects in a distributed network having a large number of nodes connected by a communication network, each object supported by a stable storage server. The system uses either a two level or three level method to provide reliable and economical location of objects. The levels are increasingly expensive, but increasingly reliable. In the first level, address descriptors or forwarding addresses are used to retrace the mobile object'"'"'s movements from node to node, each node ideally having an address descriptor indicating the location of the next node to which the object moved. If this strategy fails, the second level (which is more expensive and more reliable than the first) is used and includes accessing stable storage to find a current address descriptor for the object. If the object still cannot be located, the most expensive and most reliable level is used, i.e., a universal name service.
-
Citations
14 Claims
-
1. In a system comprising a distributed plurality of computer nodes linked by a communication medium, wherein the system includes objects located on nodes and wherein each of said objects is supported by one or more stable storage servers, a method for invoking an object comprising the following steps, each step being performed with reference to one of the nodes, referred to (in the context of said step) as the current node:
-
(a) first generating, at an invoking node, an invocation directed to the object, the invoking node being the current node; (b) thereafter performing the invocation if the object is located at the current node and otherwise proceeding to step (c); (c) determining if the current node has an address descriptor for the object;
if so and if either (i) the current node'"'"'s address descriptor is newer than the address descriptor used to select this as the current node for this step (c) or (ii) no address descriptor was used to select this as the current node for this step (c), proceeding to step (d);
otherwise, proceeding to step (e);(d) sending the invocation to the node identified in the address descriptor, the identified node becoming the current node, and proceeding to step (b); (e) attempting to locate an address descriptor corresponding to the object in a first stable storage server supporting the object; (f) then sending the invocation to the node identified in the address descriptor, if one was located in the step performed before this step is performed, the identified node becoming the current node; and
then(g) if the object is located at the current node, performing the invocation, and otherwise, proceeding to step (c). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification