Implementing Dynamic Querying Search in k-ary DHT-based Overlays
Distributed Hash Tables (DHTs) provide scalable mechanisms for implementing resource discovery services in structured Peer-to-Peer (P2P) networks. However, DHT-based lookups do not support some types of queries that are fundamental in several classes of applications. A way to support arbitrary queries in structured P2P networks is implementing unstructured search techniques on top of DHTbased overlays. This approach has been exploited in the design of DQ-DHT, a P2P search algorithm that combines the Dynamic Querying (DQ) technique used in unstructured networks with an algorithm for efficient broadcast over a DHT. Similarly to DQ, DQ-DHT dynamically adapts the search extent on the basis of the desired number of results and the popularity of the resource to be found. Differently from DQ, DQ-DHT exploits the structural constraints of the DHT to avoid message duplications. The original DQ-DHT algorithm has been implemented using Chord as basic overlay. In this paper we focus on extending DQ-DHT to work in k-ary DHT-based overlays. In a k-ary DHT, broadcast takes only O(logk N) hops using O(logk N) pointers per node. We exploit this “k-ary principle” in DQ-DHT to improve the search time with respect to the original Chord-based implementation. This paper describes the implementation of DQ-DHT over a k-ary DHT and analyzes its performance in terms of search time and generated number of messages in different configuration scenarios.
KeywordsPeer-to-Peer resource discovery dynamic querying distributed hash tables
Unable to display preview. Download preview PDF.
- I. Stoica, R. Morris, D. R. Karger, M. F. Kaashoek, H. Balakrishnan. Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. ACM SIGCOMM’01, San Diego, USA, 2001.Google Scholar
- M. Castro, M. Costa, A. Rowstron. Debunking Some Myths About Structured and Unstructured Overlays. 2nd Symp. on Networked Systems Design and Implementation (NSDI’05), Boston, USA, 2005.Google Scholar
- Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, S. Shenker. Making Gnutella-like P2P Systems Scalable. ACM SIGCOMM’03, Karlsruhe, Germany, 2003.Google Scholar
- D. Talia, P. Trunfio. Dynamic Querying in Structured Peer-to-Peer Networks. Submitted for publication. Available at: http://grid.deis.unical.it/papers/pdf/DQ-DHT.pdf.
- A. Fisk. Gnutella Dynamic Query Protocol v0.1, May 2003. Available at: http://www9.limewire.com/developer/dynamic query.html.
- S. El-Ansary, L. Onana Alima, P. Brand, S. Haridi. Efficient Broadcast in Structured P2P Networks. 2nd Int. Workshop on Peer-to-Peer Systems (IPTPS’03), Berkeley, USA, 2003.Google Scholar
- H. Jiang, S. Jin. Exploiting Dynamic Querying like Flooding Techniques in Unstructured Peer-to-Peer Networks. 13th IEEE Int. Conf. on Network Protocols (ICNP 2005), Boston, USA, 2005.Google Scholar
- A. Ghodsi. Distributed k-ary System: Algorithms for Distributed Hash Tables. Ph.D. Thesis, ECS Dept., The Royal Institute of Technology (KTH), Stockholm, Sweden, 2006.Google Scholar
- T. H. Cormen, C. E. Leiserson, R. L. Rivest. Introduction to Algorithms. MIT Press, 1990.Google Scholar
- H. Papadakis, P. Trunfio, D. Talia, P. Fragopoulou. Design and Implementation of a Hy- brid P2P-based Grid Resource Discovery System. In: Making Grids Work, M. Danelutto, P. Fragopoulou, V. Getov (Eds.), Springer, USA, 2008.Google Scholar
- L. O. Alima, S. El-Ansary, P. Brand, S. Haridi. DKS (N, k, f): A Family of Low Commu- nication, Scalable and Fault-Tolerant Infrastructures for P2P Applications. 3rd Int. Symp. on Cluster Computing and the Grid (CCGrid 2003), Tokyo, Japan, 2003.Google Scholar