Patent ID: 8145736

Claim:
A system comprising: a plurality of nodes, wherein the plurality of nodes includes: a third node, operable to select a second node of the plurality of nodes for storing location information for a data object stored on the third node, wherein the second node is configured to act as a directory server; and a first node operable to: determine the second node that stores the location information for the data object based on a mapping of the data object to the second node; send a message to the second node to request the location information for the data object; receive the location information for the data object from the second node, wherein the location information specifies that the data object is stored on the third node; and send a message to the third node in order to access the data object, wherein each node in the plurality of nodes has a node ID and the data object has an object ID, and wherein the third node selects the second node for storing the location information based on a deterministic relation that depends on the object ID irrespective of the node ID of the third node; wherein the first node determining the second node based on the mapping of the data object to the second node comprises: determining an ordering of the node ID's of the plurality of nodes; and determining that the object ID of the data object falls next to the node ID of the second node in relation to the ordered node ID's.