supporting multi-dimensional range query in hd tree
There are two basic concerns for supporting multi-dimensional range query in P2P overlay networks. The first is to preserve data locality in the process of data space partitioning, and the second is the maintenance of data locality among data items with an exponentially expanding rate and an exponentially extending rate. The first problem has been well addressed by using recursive decomposition schemes, such as Quad tree, K-d tree, Z-order, and Hilbert curve. While the second problem was recently identified by our novel data structure: HD Tree. This paper is a follow-up to our previous work in HD Tree. In this paper, we explore how data locality can be easily maintained, and how range query can be efficiently supported in HD Tree. This is done by introducing two basic routing strategies, hierarchical routing and distributed routing. Although hierarchical routing can be applied to any two nodes in the system, it generates high volume traffic towards nodes near the root, and has very limited options to cope with a node failure. On the other hand, distributed routing concerns source and destination pairs only at the same depth, but traffic load is bound to some nodes at two neighboring depths, and multiple options can be found to redirect a routing request. Because HD Tree supports multiple routes between any two nodes in the system, routing in HD Tree is very flexible, and can be designed for many purposes, like fault tolerance, or dynamic load balancing. Distributed Routing Oriented Combined Routing algorithm is one such routing strategies implemented so far. It is a hybrid algorithm combining advantages from both the hierarchical routing and the distributed routing. The experimental results show that the DROCR algorithm achieves considerable performance gain over the equivalent tree routing at the highest depth examined. In the experiment of supporting multi-dimensional range query, we employ the Z-order space filling curve over the HD Tree overlay layer. We are expecting that the performance of range query will vary proportionally with the change of range size, and reasonably with the increase of dimensionality.
multi-dimensional range query hd tree p2p overlay data space partitioning data structures distributed associative searching ddm peer-to-peer