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.