Efficient search for storage objects in a network
First Claim
Patent Images
1. A computer-readable storage medium storing program instructions executable to implement a method comprising:
- a first node in a first LAN selecting a second node in the first LAN to store location information for a first object, wherein the location information specifies that the first object is stored on the first node, wherein each node in the first LAN has a node ID and the first object has an object ID, and wherein the first node selects the second node based on a deterministic relation that depends on the object ID of the first object irrespective of the node ID of the first node;
the first node sending the location information for the first object to the second node;
the second node storing the location information for the first object in response to receiving the location information;
the first node selecting a second LAN to store the location information for the first object;
the first node sending the location information for the first object to the second LAN; and
a third node in the second LAN storing the location information for the first object in response to receiving the location information;
a fourth node in the first LAN performing a search operation to locate the first object, wherein said performing the search operation comprises;
the fourth node selecting the second node to query for the location information for the first object;
the fourth node querying the second node for the location information for the first object; and
the fourth node receiving the location information for the first object from the second node in response to said querying.
9 Assignments
0 Petitions
Accused Products
Abstract
A system and method related to efficiently searching for an object in a network including a plurality of realms, e.g., a plurality of local area networks (LANs). The method may ensure that nodes within a LAN are able to locate objects within that LAN using only computing resources on the local LAN. Thus, expensive WAN transfers may be avoided where possible. The system may also scale to many nodes. Nodes may not be required to know about every other node in the system. Mechanisms for re-distributing object location information among nodes as nodes are added to and removed from the system are also described.
81 Citations
18 Claims
-
1. A computer-readable storage medium storing program instructions executable to implement a method comprising:
-
a first node in a first LAN selecting a second node in the first LAN to store location information for a first object, wherein the location information specifies that the first object is stored on the first node, wherein each node in the first LAN has a node ID and the first object has an object ID, and wherein the first node selects the second node based on a deterministic relation that depends on the object ID of the first object irrespective of the node ID of the first node; the first node sending the location information for the first object to the second node; the second node storing the location information for the first object in response to receiving the location information; the first node selecting a second LAN to store the location information for the first object; the first node sending the location information for the first object to the second LAN; and a third node in the second LAN storing the location information for the first object in response to receiving the location information; a fourth node in the first LAN performing a search operation to locate the first object, wherein said performing the search operation comprises; the fourth node selecting the second node to query for the location information for the first object; the fourth node querying the second node for the location information for the first object; and the fourth node receiving the location information for the first object from the second node in response to said querying. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a plurality of nodes, wherein each node is included in one of a plurality of local area networks (LANs); wherein the plurality of nodes includes a first node in a first LAN of the plurality of LANs, wherein the first node stores a first object, wherein the first node is configured to; select a second node in the first LAN to store location information for the first object, wherein the location information specifies that the first object is stored on the first node, wherein each node in the first LAN has a node ID and the first object has an object ID, and wherein the first node selects the second node based on a deterministic relation that depends on the object ID of the first object irrespective of the node ID of the first node; and send the location information for the first object to the second node; wherein the second node is configured to store the location information for the first object in response to receiving the location information; wherein the first node is further configured to; select a second LAN to store the location information for the first object; and send the location information for the first object to the second LAN; and wherein a third node in the second LAN is configured to store the location information for the first object in response to receiving the location information; wherein the first LAN also includes a fourth node configured to; select the second node to query for the location information for the first object; and query the second node for the location information for the first object; wherein the second node is configured to send the location information for the first object to the fourth node in response to said querying. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
a first node in a first LAN selecting a second node in the first LAN to store location information for a first object, wherein the location information specifies that the first object is stored on the first node, wherein each node in the first LAN has a node ID and the first object has an object ID, and wherein the first node selects the second node based on a deterministic relation that depends on the object ID of the first object irrespective of the node ID of the first node; the first node sending the location information for the first object to the second node; the second node storing the location information for the first object in response to receiving the location information; the first node selecting a second LAN to store the location information for the first object; the first node sending the location information for the first object to the second LAN; and a third node in the second LAN storing the location information for the first object in response to receiving the location information; a fourth node in the first LAN performing a search operation to locate the first object, wherein said performing the search operation comprises; the fourth node selecting the second node to query for the location information for the first object; the fourth node querying the second node for the location information for the first object; and the fourth node receiving the location information for the first object from the second node in response to said querying.
-
Specification