Data overlay, self-organized metadata overlay, and associated methods
First Claim
1. A method for building a data overlay, comprising:
- providing a distributed hash table (DHT) that governs the insertion and retrieval of objects into and from a peer-to-peer system, wherein the distributed hash table includes a logical space including a plurality of DHT nodes having an associated plurality of DHT zones;
building the data overlay as a data structure on top of the logical space of the distributed hash table by associating objects in the data structure with the DHT nodes, and by establishing links between the objects in the data structure;
wherein each link includes a first field that provides a hardwired pointer that points from a first object to a second object, and a second field that provides a soft-state pointer that points from the first object to a DHT node which hosts the second object;
wherein the building of the data overlay makes use of a first primitive for setting a reference that establishes a pointer to an object in the distributed hash table, a second primitive for returning an object referenced by a pointer, and a third primitive for deleting an object referenced by a pointer; and
wherein the data structure facilitates dissemination of information to the DHT nodes and gathering of information from the DHT nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
A data overlay is described which is built as a data structure on top of a logical space defined by a distributed hash table (DHT) in a peer-to-peer (P2P) network environment. The data overlay can assume a topology of a tree having a plurality of tree nodes. Each of the tree nodes has a zone allocated to it that maps to a corresponding zone associated with a DHT node in the logical space of the DHT. Procedures are described for “growing” this tree structure, such that the tree structure is self-organizing and self-healing on the same scale as the underlying DHT. Other procedures are described for using the tree structure to gather information from the DHT nodes and to disseminate information to the DHT nodes.
-
Citations
25 Claims
-
1. A method for building a data overlay, comprising:
-
providing a distributed hash table (DHT) that governs the insertion and retrieval of objects into and from a peer-to-peer system, wherein the distributed hash table includes a logical space including a plurality of DHT nodes having an associated plurality of DHT zones; building the data overlay as a data structure on top of the logical space of the distributed hash table by associating objects in the data structure with the DHT nodes, and by establishing links between the objects in the data structure; wherein each link includes a first field that provides a hardwired pointer that points from a first object to a second object, and a second field that provides a soft-state pointer that points from the first object to a DHT node which hosts the second object; wherein the building of the data overlay makes use of a first primitive for setting a reference that establishes a pointer to an object in the distributed hash table, a second primitive for returning an object referenced by a pointer, and a third primitive for deleting an object referenced by a pointer; and wherein the data structure facilitates dissemination of information to the DHT nodes and gathering of information from the DHT nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer readable store having stored thereon a data structure, comprising:
-
a logical space of a distributed hash table (DHT), including a plurality of DHT nodes having a plurality of associated DHT zones, wherein the distributed hash table governs the insertion and retrieval of objects into and from a peer-to-peer system; a data overlay implemented as a data structure on top of the logical space of the distributed hash table logical space by associating objects in the data structure with the DHT nodes, and by establishing links between the objects in the data structure; wherein each link includes a first field that provides a hardwired pointer that points from a first object to a second object, and a second field that provides a soft-state pointer that points from the first object to a DHT node which hosts the second object; wherein building of the data overlay makes use of a first primitive for setting a reference that establishes a pointer to an object in the distributed hash table, a second primitive for returning an object referenced by a pointer, and a third primitive for deleting an object referenced by a pointer; and wherein the data structure facilitates dissemination of information to the DHT nodes and gathering of information from the DHT nodes. - View Dependent Claims (14)
-
-
15. A method for passing data through a data overlay, comprising:
-
providing a distributed hash table (DHT) that governs the insertion and retrieval of objects into and from a peer-to-peer system, wherein the distributed hash table includes a logical space including a plurality of DHT nodes having a plurality of associated DHT zones; building a data overlay as a data structure on top of the logical space of the distributed hash table by associating objects in the data structure with the DHT nodes, and by establishing links between the objects in the data structure; wherein each link includes a first field that provides a hardwired pointer that points from a first object to a second object, and a second field that provides a soft-state pointer that points from the first object to a DHT node which hosts the second object; wherein the building of the data overlay makes use of a first primitive for setting a reference that establishes a pointer to an object in the distributed hash table, a second primitive for returning an object referenced by a pointer, and a third primitive for deleting an object referenced by a pointer; and wherein the data overlay defines a plurality of interconnected nodes, and wherein the data structure facilitates dissemination of information to the DHT nodes and gathering of information from the DHT nodes; and routing data through the data overlay by passing the data through its interconnected nodes. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A peer-to-peer system including a plurality of machines interacting in peer-to-peer fashion, comprising:
-
a logical space of a distributed hash table (DHT), including a plurality of DHT nodes having a plurality of associated DHT zones, wherein the distributed hash table governs the insertion and retrieval of objects into and from the peer-to-peer system; and a data overlay implemented as a data structure on top of the logical space of the distributed hash table by associating objects in the data structure with the DHT nodes, and by establishing links between the objects in the data structure wherein each link includes a first field that provides a hardwired pointer that points from a first object to a second object, and a second field that provides a soft-state pointer that points from the first object to a DHT node which hosts the second object; wherein building of the data overlay makes use of a first primitive for setting a reference that establishes a pointer to an object in the distributed hash table, a second primitive for returning an object referenced by a pointer, and a third primitive for deleting an object referenced by a pointer; wherein the data overlay uses services provided by the distributed hash table in routing from one object to another in the data structure, and wherein the data structure facilitates dissemination of information to the DHT nodes and gathering of information from the DHT nodes; and wherein the logical space of the distributed hash table and the data overlay are implemented in distributed fashion in respective stores of the plurality of machines in the peer-to-peer system. - View Dependent Claims (22, 23, 24, 25)
-
Specification