Techniques for locating distributed objects on a network based on physical communication costs
First Claim
1. A method for locating an object on a node in a computer network, comprising the steps of:
- receiving communication cost data that indicates a cost of physically transferring data among a plurality of nodes in a computer network;
determining a node identifier for a node of the plurality of nodes based on the communication cost data such that a distance between two node identifiers for a pair of nodes of the plurality of nodes is based on a cost of physically transferring data between the pair of nodes;
for a particular object that has a particular object identifier, determining a closest node among the plurality of nodes based on the particular object identifier and a plurality of node identifiers corresponding to the plurality of nodes; and
locating the particular object through the closest node.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for locating an object such as a data item or service on a node in a distributed system on a computer network include receiving communication cost data that indicates a cost of physically transferring data among nodes in a computer network. A node identifier for a node is determined based on the communication cost data such that a distance between two node identifiers for a pair of nodes is based on a cost of physically transferring data between the pair of nodes. For a particular object that has a particular object identifier, a closest node is determined among the plurality of nodes based on the particular object identifier and node identifiers corresponding to the nodes. The object is located through the closest node, such as by retrieving it or a pointer or an identifier for another node that is still closer to the object.
63 Citations
33 Claims
-
1. A method for locating an object on a node in a computer network, comprising the steps of:
-
receiving communication cost data that indicates a cost of physically transferring data among a plurality of nodes in a computer network;
determining a node identifier for a node of the plurality of nodes based on the communication cost data such that a distance between two node identifiers for a pair of nodes of the plurality of nodes is based on a cost of physically transferring data between the pair of nodes;
for a particular object that has a particular object identifier, determining a closest node among the plurality of nodes based on the particular object identifier and a plurality of node identifiers corresponding to the plurality of nodes; and
locating the particular object through the closest node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for locating an object on a node in a computer network comprising the steps of:
-
receiving data that indicates a plurality of node identifiers that uniquely identify a plurality of nodes on a network;
receiving an object request message that includes data that indicates a particular object identifier that uniquely identifies a particular object among a plurality of objects distributed among the plurality of nodes;
determining, based on the particular object identifier and the plurality of node identifiers, a closest node among the plurality of nodes, wherein a closest node is used to locate the particular object;
determining whether the closest node is available for communication; and
if it is determined that the closest node is not available for communication, then sending a response message, wherein the response message includes data that indicates that the particular object is not available, and the response message does not include data that indicates that the particular object does not exist. - View Dependent Claims (11, 12)
-
-
13. A computer-readable medium carrying one or more sequences of instructions for locating an object on a node in a computer network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving communication cost data that indicates a cost of physically transferring data among a plurality of nodes in a computer network;
determining a node identifier for a node of the plurality of nodes based on the communication cost data such that a distance between two node identifiers for a pair of nodes of the plurality of nodes is based on a cost of physically transferring data between the pair of nodes;
for a particular object that has a particular object identifier, determining a closest node among the plurality of nodes based on the particular object identifier and a plurality of node identifiers corresponding to the plurality of nodes; and
locating the particular object through the closest node. - View Dependent Claims (14)
-
-
15. A computer-readable medium carrying one or more sequences of instructions for locating an object on a node in a computer network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving data that indicates a plurality of node identifiers that uniquely identify a plurality of nodes on a network;
receiving an object request message that includes data that indicates a particular object identifier that uniquely identifies a particular object among a plurality of objects distributed among the plurality of nodes;
determining, based on the particular object identifier and the plurality of node identifiers, a closest node among the plurality of nodes, wherein a closest node is used to locate the particular object;
determining whether the closest node is available for communication; and
if it is determined that the closest node is not available for communication, then sending a response message, wherein the response message includes data that indicates that the particular object is not available, and the response message does not include data that indicates that the particular object does not exist.
-
-
16. An apparatus for locating an object on a node in a computer network, comprising:
-
means for receiving communication cost data that indicates a cost of physically transferring data among a plurality of nodes in a computer network;
means for determining a node identifier for a node of the plurality of nodes based on the communication cost data such that a distance between two node identifiers for a pair of nodes of the plurality of nodes is based on a cost of physically transferring data between the pair of nodes;
means for determining a closest node among the plurality of nodes, for a particular object that has a particular object identifier, based on the particular object identifier and a plurality of node identifiers corresponding to the plurality of nodes; and
means for locating the particular object through the closest node.
-
-
17. An apparatus for locating an object on a node in a computer network, comprising:
-
means for receiving data that indicates a plurality of node identifiers that uniquely identify a plurality of nodes on a network;
means for receiving an object request message that includes data that indicates a particular object identifier that uniquely identifies a particular object among a plurality of objects distributed among the plurality of nodes;
means for determining, based on the particular object identifier and the plurality of node identifiers, a closest node among the plurality of nodes, wherein a closest node is used to locate the particular object;
means for determining whether the closest node is available for communication; and
means for sending a response message if it is determined that the closest node is not available for communication, wherein the response message includes data that indicates that the particular object is not available, and the response message does not include data that indicates that the particular object does not exist.
-
-
18. An apparatus for locating an object on a node in a computer network, comprising:
-
a network interface that is coupled to a network for communicating therewith a data packet;
one or more processors;
a computer-readable medium; and
one or more sequences of instructions stored in the computer-readable medium, which, when executed by the one or more processors, causes the one or more processors to carry out the steps of;
receiving communication cost data that indicates a cost of physically transferring data among a plurality of nodes in a computer network;
determining a node identifier for a node of the plurality of nodes based on the communication cost data such that a distance between two node identifiers for a pair of nodes of the plurality of nodes is based on a cost of physically transferring data between the pair of nodes;
for a particular object that has a particular object identifier, determining a closest node among the plurality of nodes based on the particular object identifier and a plurality of node identifiers corresponding to the plurality of nodes; and
locating the particular object through the closest node. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An apparatus for locating an object on a node in a computer network, comprising:
-
a network interface that is coupled to a network for communicating therewith a data packet;
one or more processors;
a computer-readable medium; and
one or more sequences of instructions stored in the computer-readable medium, which, when executed by the one or more processors, causes the one or more processors to carry out the steps of;
receiving data that indicates a plurality of node identifiers that uniquely identify a plurality of nodes on a network;
receiving an object request message that includes data that indicates a particular object identifier that uniquely identifies a particular object among a plurality of objects distributed among the plurality of nodes;
determining, based on the particular object identifier and the plurality of node identifiers, a closest node among the plurality of nodes, wherein a closest node is used to locate the particular object;
determining whether the closest node is available for communication; and
if it is determined that the closest node is not available for communication, then sending a response message, wherein the response message includes data that indicates that the particular object is not available, and the response message does not include data that indicates that the particular object does not exist. - View Dependent Claims (28, 29)
-
-
30. An apparatus for locating an object on a node in a computer network, comprising:
-
a network interface that is coupled to a network for communicating therewith a data packet;
one or more processors;
a computer-readable medium; and
one or more sequences of instructions stored in the computer-readable medium, which, when executed by the one or more processors, causes the one or more processors to carry out the steps of;
receiving node identifier data that indicates a plurality of node identifiers for a corresponding plurality of nodes in a computer network, wherein a distance between two node identifiers for a pair of nodes of the plurality of nodes is based on a cost of physically transferring data between the pair of nodes;
receiving object identifier data that indicates a particular object identifier that uniquely identifies a particular object;
determining a closest node among the plurality of nodes based on the particular object identifier and the plurality of node identifiers; and
locating the particular object through the closest node. - View Dependent Claims (31, 32, 33)
-
Specification