Scalable Chord-based, Cluster-enhanced Peer-to-Peer Architecture supporting Range Queries Codruţ Grosu, Eliana-Dina Tîra, Ciprian Dobre, Valentin Cristea, Mugurel Ionuţ Andreica Computer Science Department University POLITEHNICA of Bucharest, Romania Bucharest, Romania e-mail: {eliana.tirsa, ciprian.dobre, valentin.cristea, mugurel.andreica}@cs.pub.ro Abstract—Over the Internet today, computing and communications environments are more complex and chaotic than classical distributed systems, lacking any centralized organization or hierarchical control. Peer-to-Peer network overlays provide a good substrate for creating large-scale data sharing, content distribution and application-level multicast applications. We present a scalable, cluster-enhanced P2P overlay network designed to share large sets of replicated distributed objects in the context of large-scale highly dynamic infrastructures. The system extends an existing architecture with an original solution designed to achieve optimal implementation results for range queries, as well as provide a fault-tolerant substrate. It also optimizes message routing in hop-count and throughput, whilst providing an adequate consistency among replicas. Keywords-range query; Chord; peer-to-peer; distributed segment tree; storage and retrieval I. INTRODUCTION Peer-to-peer (P2P) networks are amongst the fastest growing technologies in computing. They are largely used for data-sharing, and hence must support a powerful mechanism for distributed search. In the last years, intense research has been done to overcome scaling problems with unstructured P2P networks, such as Gnutella [12], where data placement and overlay network construction are essentially random. This paper presents an extension to an existing P2P system introduced in [13] that allows efficient and fault tolerant storage and retrieval of shared objects by attribute values. The main contribution of the present work is to use a distributed segment tree to maintain metadata and add support for range queries. In order to preserve the advantages of the previous architecture, we introduce and analyze a new routing algorithm. The architecture presented in [13] has two types of nodes: peers that store data and super-peers that control the peer clusters, maintain the metadata and answer to client requests. The super-peers are connected in a complete graph. Clusters maintain a manageable number of peers, being split or merged accordingly. Both clusters and cluster dynamics are geographic location aware. Super-peers register to and can be discovered by lookup services, accessible by all peers. Fault tolerance is ensured by replicating the data on several peers and by maintaining a backup for every super-peer. Letting aside the beneficial characteristics of the original system (that we tried to preserve), we also identified a series of problems that our proposed solution will overcome. Firstly, the network is experiencing scalability problems because a super-peer processes every request regarding data in a given cluster. Metadata is stored on super-peers and their backups, however, only the master replica is exposed to requests. Also, broadcasting between super-peers undermines cluster locality. Furthermore, network topology is not fully exploited. The links between peers are not used, although message routing might improve and super-peers will be less burdened with traffic. The rest of the paper is structured as follows: in section II we discuss related work, in section III we describe our proposed architecture, in section IV we present experimental results and in section V we conclude. II. RELATED WORK Distributed Hash Tables (DHTs) are decentralized solutions that partition the hash table keys among the participating nodes. They usually form a structured overlay network in which each communicating node is connected to a small number of other nodes. The Content Addressable Network (CAN) is a decentralized P2P infrastructure that provides hash-table functionality on Internet-like scale [1]. CAN is designed to be scalable, fault-tolerant, and self-organizing. Unlike other solutions, the routing table does not grow with the network size, but the number of routing hops increases faster than log2N. CAN requires an additional maintenance protocol to periodically remap the identifier space onto nodes. Pastry [3] is a scalable, distributed object location and application-level routing scheme based on a self-organizing overlay network of nodes connected to the Internet. Fault tolerance is accomplished using timeouts and keepalives, with actual data transmissions doubling as keepalives to minimize traffic. Similar to Pastry, Tapestry [4] employs decentralized randomness to achieve both load distribution and routing locality. The difference between Pastry and Tapestry is the handling of network locality and data object replication. Tapestry’s architecture uses a variant of the distributed search technique, with additional mechanisms to provide availability, scalability, and adaptation in the