Data overlay, self-organized metadata overlay, and application level multicasting
First Claim
1. A method comprising:
- building a data overlay as a data structure on top of a logical space included in a distributed hash table (DHT) for a peer-to-peer system;
wherein the logical space includes a plurality of DHT nodes having an associated plurality of DHT zones;
building, in the data overlay, a topology of a tree having a plurality of levels each including one or more tree nodes associated with respective said DHT nodes, wherein;
the first level of the tree includes a single tree node having a single tree node zone corresponding to the entire span of the logical space of the DHT and being logically divided into a plurality of said tree node zones respectively corresponding to;
the tree nodes at each level of the tree; and
parts of the logical space of the DHT;
each said tree node includes a key member which identifies a key associated with its respective tree node zone. mapping a plurality of machines to the logical space of the DHT, wherein;
each machine corresponds to one or more of more of the tree node zones;
each machine selects as its representative node, from the one or more tree node zones corresponding thereto, the tree node corresponding to the largest size tree node zone; and
each said representative node selects as its parent node another said representative node that is the representative node for an adjacent said tree node zone that has a larger size.
2 Assignments
0 Petitions
Accused Products
Abstract
A data overlay is built as a data structure on a logical space defined by a distributed hash table (DHT) in a peer-to-peer network. The data overlay includes a tree having tree nodes that each have a zone mapped to a corresponding DHT node in the logical space of the DHT. The logical space of the DHT is mapped to machines, each of which corresponds to one or more of more of the tree node zones. The tree nodes are hierarchically situated by tree node zone size and my available resource so that tasks are performed by machines in the peer-to-peer network according to the respective abilities of the machines to supply the tasks'"'"' demand. The tree, which self-organizes and self-heals on the same scale as the underlying DHT, is used together and disseminate information from and to the DHT nodes using the hierarchy of the tree nodes.
79 Citations
42 Claims
-
1. A method comprising:
-
building a data overlay as a data structure on top of a logical space included in a distributed hash table (DHT) for a peer-to-peer system;
wherein the logical space includes a plurality of DHT nodes having an associated plurality of DHT zones;
building, in the data overlay, a topology of a tree having a plurality of levels each including one or more tree nodes associated with respective said DHT nodes, wherein;
the first level of the tree includes a single tree node having a single tree node zone corresponding to the entire span of the logical space of the DHT and being logically divided into a plurality of said tree node zones respectively corresponding to;
the tree nodes at each level of the tree; and
parts of the logical space of the DHT;
each said tree node includes a key member which identifies a key associated with its respective tree node zone. mapping a plurality of machines to the logical space of the DHT, wherein;
each machine corresponds to one or more of more of the tree node zones;
each machine selects as its representative node, from the one or more tree node zones corresponding thereto, the tree node corresponding to the largest size tree node zone; and
each said representative node selects as its parent node another said representative node that is the representative node for an adjacent said tree node zone that has a larger size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer readable store having stored thereon a data structure that comprises a data overlay as a data structure on top of a logical space included in a DHT for a peer-to-peer system;
- wherein;
the DHT governs the insertion and retrieval of objects into and from a peer-to-peer system;
the logical space includes a plurality of DHT nodes having an associated plurality of DHT zones;
the data overlay of the DHT is built by;
associating objects in the data structure with the DHT nodes; and
establishing links between the objects in the data structure;
the data overlay has a topology of a tree that includes a plurality of levels;
the tree includes a plurality of tree nodes associated with respective said DHT nodes;
the tree nodes include a root node having a tree node zone corresponding to the logical space of the DHT;
the tree node zone of the root node is logically divided into a plurality of tree node zones respectively corresponding to;
the number of tree nodes at each level of the tree; and
a part of the logical space of the distributed hash table;
each said tree node includes a key member which identifies a key associated with its respective tree node zone;
the logical space of the DHT is mapped to a plurality of machines;
each machine corresponds to one or more of more of the tree node zones;
each machine selects as its representative node, from the one or more tree node zones corresponding thereto, the tree node corresponding to the largest size tree node zone; and
each said representative node selects as its parent node another said representative node that is the representative node for an adjacent said tree node zone that has a larger size. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28)
- wherein;
-
29. A peer-to-peer system including a plurality of machines interacting in peer-to-peer fashion, comprising:
-
a logical space of a DHT that includes a plurality of DHT nodes having a plurality of associated DHT zones, wherein the DHT governs the insertion and retrieval of objects into and from the peer-to-peer system;
a data overlay as a data structure on top of the logical space of the DHT, wherein;
the data overlay of the DHT;
has objects in the data structure associated with the DHT nodes; and
has links established between the objects in the data structure;
the data overlay has a topology of a tree that includes a plurality of levels and includes a plurality of tree nodes associated with respective said DHT nodes;
the tree nodes include a root node having a tree node zone corresponding to the logical space of the DHT;
the tree node zone of the root node is logically divided into a plurality of tree node zones respectively corresponding to;
the number of tree nodes at each level of the tree; and
a part of the logical space of the distributed hash table;
each said tree node includes a key member which identifies a key associated with its respective tree node zone;
the logical space of the DHT is mapped to a plurality of machines;
each machine corresponds to one or more of more of the tree node zones;
each machine selects as its representative node, from the one or more tree node zones corresponding thereto, the tree node corresponding to the largest size tree node zone; and
each said representative node selects as its parent node another said representative node that is the representative node for an adjacent said tree node zone that has a larger size. - View Dependent Claims (30, 31, 32)
-
-
33. An apparatus for building a peer-to-peer system, the apparatus comprising:
-
means for building a data overlay as a data structure on top of a logical space included in a distributed hash table (DHT) for a peer-to-peer system;
wherein;
the DHT governs the insertion and retrieval of objects into and from a peer-to-peer system;
the logical space includes a plurality of DHT nodes having an associated plurality of DHT zones; and
the data overlay of the DHT is built by;
associating objects in the data structure with the DHT nodes; and
establishing links between the objects in the data structure;
means for building a topology of a tree in the data overlay, the tree having a plurality of levels and including a plurality of tree nodes associated with respective said DHT nodes, wherein;
the tree nodes include a root node having a tree node zone corresponding to the logical space of the DHT;
the tree node zone of the root node is logically divided into a plurality of tree node zones respectively corresponding to;
the number of tree nodes at each level of the tree; and
a part of the logical space of the distributed hash table;
each said tree node includes a key member which identifies a key associated with its respective tree node zone;
means for mapping a plurality of machines to the logical space of the DHT, wherein each machine corresponds to one or more of more of the tree node zones;
means for selecting as its representative node, from the one or more tree node zones corresponding to a respective said machine, the tree node corresponding to the largest size tree node zone; and
means for selecting for each said representative node as its parent node another said representative node that is the representative node for an adjacent said tree node zone that has a larger size. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification