Range and cover queries in overlay networks
First Claim
1. A computer implemented method, the method comprising:
- generating a segment tree on multiple participating computing devices (peers) comprising one or more memory units storing computer-executable instructions executable on one or more processors, the generated segment tree comprising multiple nodes, each node of the multiple nodes having a respective node interval [s, t] of multiple node intervals, s and t being indexes to a sorted array of possible endpoints of the node intervals, each node corresponding to a particular computing device of multiple participating computing devices (peers) in an overlay network, each node interval being assigned to a peer of the peers to provide a connection between node interval structural information of the segment tree and an underlying structure-less routing substrate associated with the overlay network; and
distributing the segment tree across the peers for query operations using a Distributed Hash Table (DHT) interface, wherein the query operations comprise cover query operations to locate each range of multiple ranges currently in the network that cover a given key and further wherein the query operations comprise range query operations with an associated range of [s, t] to find each key of multiple keys in a certain range over the network, and wherein the method further comprises;
splitting the range with a range splitting algorithm such that the range is split into a union of minimum node intervals associated with the segment tree; and
retrieving one or more keys maintained by corresponding peers in the network using the union of minimum node intervals a DHT get operation; and
wherein a final query result is a union of the one or more keys returned.
2 Assignments
0 Petitions
Accused Products
Abstract
System and methods for range and cover queries in overlay networks are described. In one aspect, respective node intervals [s, t] of multiple node intervals are allocated to corresponding nodes in a segment tree. Each integer s and t corresponding to an index to a sorted array of possible endpoints of the node intervals. Each node in the segment tree corresponds to a particular computing device (peer) of multiple computing devices in an overlay network. A node interval [s, t] is assigned to a particular peer associated with a key. This assignment provides a connection between node interval structural information of the segment tree and an underlying structure-less routing substrate in the overlay network. The segment tree is distributed across the peers for query operations over DHT.
26 Citations
18 Claims
-
1. A computer implemented method, the method comprising:
-
generating a segment tree on multiple participating computing devices (peers) comprising one or more memory units storing computer-executable instructions executable on one or more processors, the generated segment tree comprising multiple nodes, each node of the multiple nodes having a respective node interval [s, t] of multiple node intervals, s and t being indexes to a sorted array of possible endpoints of the node intervals, each node corresponding to a particular computing device of multiple participating computing devices (peers) in an overlay network, each node interval being assigned to a peer of the peers to provide a connection between node interval structural information of the segment tree and an underlying structure-less routing substrate associated with the overlay network; and distributing the segment tree across the peers for query operations using a Distributed Hash Table (DHT) interface, wherein the query operations comprise cover query operations to locate each range of multiple ranges currently in the network that cover a given key and further wherein the query operations comprise range query operations with an associated range of [s, t] to find each key of multiple keys in a certain range over the network, and wherein the method further comprises; splitting the range with a range splitting algorithm such that the range is split into a union of minimum node intervals associated with the segment tree; and retrieving one or more keys maintained by corresponding peers in the network using the union of minimum node intervals a DHT get operation; and
wherein a final query result is a union of the one or more keys returned. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable memory unit comprising computer-program instructions that when executed by a processor perform acts comprising:
-
receiving a segment tree range and a delegated interval from a peer computing device of multiple peer computing devices in an overlay network, each peer computing device comprising one or more memory units storing computer-executable instructions executable on one or more processors, the delegated interval having been assigned in view of a particular key, the delegated interval providing a connection between node interval structural information of the segment tree and an underlying structure-less network routing substrate, wherein the segment tree supports query operation comprising cover query operations to locate each range of multiple ranges currently in the network that cover a given key; and responsive to receiving the segment tree range and the delegated interval reconstructing a segment tree with multiple nodes, each node representing a respective node interval [s, t] of multiple node intervals, each integer s and t corresponding to an index to a sorted array of possible endpoints of the node intervals, the segment tree also having been constructed by the peer computing device, wherein the query operations comprise range query operations with an associated range of [s, t] to find each key of multiple keys in a certain range over the network, and wherein the computer-program instructions further comprise instructions for; splitting the range with a range splitting algorithm such that the range is split into a union of minimum node intervals associated with the segment tree; retrieving one or more kegs maintained by corresponding peers in the network using the union of minimum node intervals a DHT get operation; and wherein a final query result is a union of the one or more keys returned. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computing device comprising:
-
one or more memory units storing computer-executable instructions executed on one or more orocessors; query support means, executable on the one or more processors, to support cover queries over a DHT network, wherein query support means includes cover query operations to locate each range of multiple ranges currently in the DHT network that cover a given key; and segment tree maintenance means, executable on the one or more processors, to implement one or more of insert and remove key operations in a segment tree that supports cover query, wherein query operations comprise range query operations with an associated range of [s, t] to find each key of multiple keys in a certain range over the network, and wherein the computing device further comprises; splitting the range with a range splitting algorithm such that the range is split into a union of minimum node intervals associated with the segment tree; retrieving one or more keys maintained by corresponding peers in the network using the union of minimum node intervals a DHT get operation; and wherein a final query result is a union of the one or more keys returned. - View Dependent Claims (18)
-
Specification