The p2pweb model: a glue for the Web



Similar documents
International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

Towards a Decentralized p2pweb Service Oriented Architecture

Internet Content Distribution

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

How To Create A P2P Network

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

8 Conclusion and Future Work

Scaling 10Gb/s Clustering at Wire-Speed

PEER-TO-PEER (P2P) systems have emerged as an appealing

Computer Networks - CS132/EECS148 - Spring

Security in Structured P2P Systems

Research on P2P-SIP based VoIP system enhanced by UPnP technology

International journal of Engineering Research-Online A Peer Reviewed International Journal Articles available online

D1.1 Service Discovery system: Load balancing mechanisms

Chord - A Distributed Hash Table

Multicast vs. P2P for content distribution

Basic Network Configuration

Using Peer to Peer Dynamic Querying in Grid Information Services

Optimizing Data Center Networks for Cloud Computing

Simulating a File-Sharing P2P Network

Distributed Hash Tables in P2P Systems - A literary survey

An Introduction to Peer-to-Peer Networks

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

IMPACT OF DISTRIBUTED SYSTEMS IN MANAGING CLOUD APPLICATION

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

A Self-Managing SIP-based IP Telephony System based on a P2P approach using Kademlia

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Overlay Networks. Slides adopted from Prof. Böszörményi, Distributed Systems, Summer 2004.

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Load Balancing in Structured Overlay Networks. Tallat M. Shafaat

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Varalakshmi.T #1, Arul Murugan.R #2 # Department of Information Technology, Bannari Amman Institute of Technology, Sathyamangalam

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

GLOBAL SERVER LOAD BALANCING WITH SERVERIRON

Distributed file system in cloud based on load rebalancing algorithm

Discovery and Routing in the HEN Heterogeneous Peer-to-Peer Network

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

VXLAN: Scaling Data Center Capacity. White Paper

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

A Survey Study on Monitoring Service for Grid

A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT

Load Balancing. Final Network Exam LSNAT. Sommaire. How works a "traditional" NAT? Un article de Le wiki des TPs RSM.

Disaster Recovery Design Ehab Ashary University of Colorado at Colorado Springs

How To Understand The Power Of Icdn

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Graph Theory and Complex Networks: An Introduction. Chapter 08: Computer networks

A Survey and Comparison of Peer-to-Peer Overlay Network Schemes

The Feasibility of Supporting Large-Scale Live Streaming Applications with Dynamic Application End-Points

VMDC 3.0 Design Overview

Exploring the Design Space of Distributed and Peer-to-Peer Systems: Comparing the Web, TRIAD, and Chord/CFS

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Superior Disaster Recovery with Radware s Global Server Load Balancing (GSLB) Solution

2. Research and Development on the Autonomic Operation. Control Infrastructure Technologies in the Cloud Computing Environment

Storage Systems Autumn Chapter 6: Distributed Hash Tables and their Applications André Brinkmann

Static IP Routing and Aggregation Exercises

Virtual PortChannels: Building Networks without Spanning Tree Protocol

Global Server Load Balancing

An Active Packet can be classified as

Mobile P2PSIP. Peer-to-Peer SIP Communication in Mobile Communities

Real-Time Analysis of CDN in an Academic Institute: A Simulation Study

Communications and Networking

Stability of QOS. Avinash Varadarajan, Subhransu Maji

P2P VoIP for Today s Premium Voice Service 1

LOAD BALANCING WITH PARTIAL KNOWLEDGE OF SYSTEM

A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM

Tornado: A Capability-Aware Peer-to-Peer Storage Network

New Structured P2P Network with Dynamic Load Balancing Scheme

Information Searching Methods In P2P file-sharing systems

TRILL Large Layer 2 Network Solution

RELOAD Usages for P2P Data Storage and Discovery

Scalable Linux Clusters with LVS

Scalable Source Routing

P2P: centralized directory (Napster s Approach)

PROPOSAL AND EVALUATION OF A COOPERATIVE MECHANISM FOR HYBRID P2P FILE-SHARING NETWORKS

RESEARCH ISSUES IN PEER-TO-PEER DATA MANAGEMENT

Content Delivery Networks. Shaxun Chen April 21, 2009

Network Virtualization Network Admission Control Deployment Guide

EECS 489 Winter 2010 Midterm Exam

Experimentation with the YouTube Content Delivery Network (CDN)

CS514: Intermediate Course in Computer Systems

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

How To Understand and Configure Your Network for IntraVUE

DPTree: A Balanced Tree Based Indexing Framework for Peer-to-Peer Systems

Designing a Cloud Storage System

Intelligent Content Delivery Network (CDN) The New Generation of High-Quality Network

Hybrid Overlay Multicast Framework draft-irtf-sam-hybrid-overlay-framework-01.txt. John Buford, Avaya Labs Research

Bridging the gap between peer-to-peer and conventional SIP networks

Interconnection Networks. Interconnection Networks. Interconnection networks are used everywhere!

Domain Name System for PeerHosting

Transcription:

The p2pweb model: a glue for the Web Pedro García López, Marc Sánchez Artigas, Jordi Pujol Ahulló Universitat Rovira i Virgili Tarragona, Spain { pedro.garcia, marc.sanchez, jordi.pujol}@urv.cat Abstract We foresee promising cross-fertilizations of peerto-peer and Web models in the next years. Although both models are already influencing each other, there is still a lack of seamless integration between them in order to achieve constructive synergies. In this paper, we present a p2pweb infrastructure which interconnects a network of Web servers through a novel hierarchical Distributed Hash Table called H- Symphony. We show why the hierarchical approach outperforms the traditional flat designs in terms of content and path locality. Furthermore, our approach offers a seamless integration with Web technologies and creates a novel infrastructure for information distribution, data dissemination and query systems. Our proposed proof of concept application is framed in a known open source project called Moodle: A virtual campus web application used in thousands of Universities and Learning Institutions around the world. We have developed an extension of Moodle that aims to interconnect all the Moodle sites in the Internet using our p2pweb infrastructure. 1. Introduction In the last years, we noticed a slow but clear convergence between peer-to-peer (p2p) and Web environments. On the one hand, interoperable web standards and protocols are being massively used for data retrieval between edge peers. On the other hand, there are several approaches aimed to offer web services and applications on top of networks of edge peers. Examples of such services are p2p web hosting (YouServ [1]) or p2p web caches (Coral [2]) among others. They have a key common denominator: They offer transparent access for Web clients to different web services and applications deployed in edge peer overlays. Another possible approach can be to interconnect stable Web servers using peer-to-peer technologies in order to provide novel internet-wide services. We also believe that Distributed Hash Tables (DHTs) represent a suitable interconnection (glue) layer for several reasons: Churn vs. Stability. Web servers are stable peers which are not continuously entering and leaving the network. In fact, dynamicity is a strong problem for DHTs that are deployed in networks of volatile edge nodes. Therefore, our DHT abstraction can offer almost optimal efficiency without the burden of heavy selfadjusting stabilisation protocols. NAT traversal and firewalls vs. Web accessibility. Edge peers are usually located behind firewalls or NATs that preclude their full participation as routers in the network. Although there exist proxying techniques to overcome such a problem, they represent a burden for the whole overlay. We know that the utilization of HTTP permits to avoid such firewall problems: All nodes are full-fledged routers. Connections vs. decoupling. Most edge peerto-peer networks use TCP or UDP as their communication protocol and HTTP only for

downloads. Every machine has a limit of open connections, since the bandwidth is consumed even in the lightest protocols. The utilization of HTTP for inter-webnode communication creates a decoupled infrastructure that saves traffic and open connections, thus creating a very lightweight infrastructure. In particular, a webpeer routing table is not a collection of open connections, but instead a list of URLs. This costless approach permits the creation of URL-caches to improve the performance of the overall infrastructure. Peers vs. Super-peers. The decentralized network of Web servers (glue DHT) is in fact an overlay of super-peers that can offer added services to the enormous mass of edge peers. Through the interconnection of these 2 levels, one can devise innovative distributed services derived from the interaction of both layers. It is a transition from a Web of isolated server islands to a true interconnected (glued) Web of peer servers. Another key contribution of our approach is to base the p2pweb infrastructure on a Hierarchical DHT design. We present a novel methodology that converts a flat overlay to a hierarchical one without adding noticeable overhead. In this work, we show why the hierarchical design outperforms the flat one in terms of path and content locality. These locality properties are suited for a considerable number of p2pweb services such as query mechanisms, content distribution, aggregation and publish/subscribe. Finally, we present a proof of concept application of our p2pweb infrastructure in the context of an open source campus application called Moodle. We have developed an extension of Moodle that aims to interconnect all the Moodle sites in the Internet. We leverage the resources in this network made up of Web servers to offer efficient content distribution and search mechanisms in this community. 2. Related Work In the last years, most peer-to-peer (p2p) systems and p2p applications have focused on leveraging the resources and bandwidth of edge desktop peers. In this context, several research projects try to exploit the combination of Web technologies and peer-topeer to provide Web services and applications on top of edge peer networks. For example, Coral's [2] goal is to provide an efficient web cache designed to use the bandwidth of volunteers to reduce the load on websites. Coral follows a hierarchical DHT approach with clusters of the participating nodes grouped by latencies, thus improving the overall performance. YouServ [1] offers web hosting and file sharing of static content in an edge p2p network by using replication and proxying mechanisms. Although it does not balance the access to content, it represents a simple alternative to publish content in the Web. Although all these projects try to integrate peerto-peer and Web technologies, they share a classical approach focused on edge peers and not as glue for Web server populations. Probably our approach is closer to projects like OpenHash [4] and the Internet Indirection Infrastructure [5]. They aim to provide Internet-wide services on top of a p2p network of stable super-peers. We however are more focused in the Web server setting. 3. P2PWeb Architecture The key idea of our architecture is to interconnect the participating Web servers through a hierarchical DHT in which the communication mechanism is the HTTP protocol. On the one hand, the use of HTTP is appropriate thanks to Web servers stability, NAT and firewall traversal. Hence, routing consists of HTTP redirects: There is not need for a heavy stabilization protocol. On the other hand, the hierarchical design offers two key benefits to the p2pweb model architecture: content locality and path locality. Content locality permits applications to store information in specific domains and path locality ensures that a routing path stays entirely within an organization if needed. We will prove the importance of these two services for our architecture. In this section, we present our hierarchical DHT model that transforms a flat overlay to a hierarchical one without cost. We also describe the H-Symphony overlay used in our p2pweb implementation. Then, we evaluate the key contributions of our approach by simulation.

3.1 Hierarchical DHT Methodology In this section, we describe our methodology for constructing hierarchical DHTs. For convenience, we will refer to the underlying structured overlay as a ring, because the keyspace of protocols like Chord and Pastry form a ring. The great strength of our technique is that it configures a hierarchy built on top of a DHT, which reflects administrative and organizational domains, but with the same costs of running a flat DHT. It affords content/path locality. Rather than having a new routing table per domain, our technique properly distributes the links of each node into the different administrative domains. By a proper distribution, we mean that routing within a domain is as efficient as it will be in the flat design with the same membership. In fact, we seek to share a common overlay infrastructure, while constructing a hierarchy to work with. To applications, the multiring hierarchy appears as a single DHT that spans multiple organizations and networks, thus achieving the application-specific requirements of the p2pweb model. The system forms a tree of rings. Each ring has a globally unique clusterid, which is known to all members of that ring, indicating the ring position in the tree. To configure a hierarchy, our methodology recursively decomposes the keyspace into clusters. In practice, this means that for any two clusters in the hierarchy, the two clusters are either disjoint, or one ring is a proper subset of the other. Technically speaking, one can easily verify that our technique defines a partial-order tree, in which the participants are organized into clusters, clusters are organized into superclusters, superclusters are organized into hyperclusters and so on and so forth up to the global ring. All nodes in the entire system join the global ring, namely C 0, which spans all organizational domains. In addition, each node p joins each ring contained in its respective sequence of telescoping clusters: C 0 C 1 (p) C i (p), for i [0, l 1], where C i(p) denotes the p s leaf cluster and i its tree depth. For brevity, we will say that a ring is a leaf cluster if and only if it is not a union of a finite number of other clusters in the hierarchy. Essentially, we seek that nodes primarily route their messages and perform get/put operations in all the rings in which they are members, thus enjoying content/path locality for the keys they insert into the network. Note that no global information about the entire structure of the hierarchy is necessary; it suffices for each node to know its current position in the hierarchy and the list of ancestor clusters up to the global ring. However, we know from our limited experience with hierarchical DHT designs that many require additional routing information at the nodes that run the DHT. In such cases, it is not clear whether it is worth or not the effort of providing administrative autonomy and content/path locality at the expenses of a greater maintenance. In terms of maintenance, the principal overhead of these systems results from the fact that nodes must join multiple rings, and thus require control messages for maintaining the routing state in each ring. The technical contribution of this paper is a novel technique for building hierarchical DHTs to reflect the natural administrative domains of many p2p applications, web applications in this case, with the same costs of running a flat DHT. To meet this challenge, we apply our technique dubbed Cyclone [6] to Symphony [3] overlay, an adaptation of small world theory over a dynamic set of nodes lying on a circle. Cyclone s technique recursively decomposes the keyspace into two interleaved rings, as shown in Figure 1. As with many DHTs, Cyclone s technique assumes that each participating node has a globally unique nodeid, which corresponds to a key from a b- bit keyspace [0, 2 b 1], because the keyspace of many protocols like Chord and Symphony define a ring. To maximize load balancing, DHTs typically use the same hash function H() [0, 2 b 1] to map data to keys and nodes to nodeids, obscuring two basic concerns in DHT design: on the one hand, the distribution of nodes over the keyspace and on the other hand, the distribution of keys over the keyspace. Our technique considers the two concerns separately. While all levels share the entire keyspace [0, 2 b 1] for keys, the keyspace for nodeids is hierarchically decomposed into interleaved clusters. At level 0, a node n is assigned a nodeid from the whole keyspace [0, 2 b 1], which determines its position within the organization. At level i, node n is assigned to the cluster whose clusterid is congruent to n s nodeid mod 2 i. For sake of clarity, let us denote nodeids by its representation in base two (i.e. high order bits are on the left). Consequently, we view a nodeid as b-tuple x 1, x 2,, x b, where each x i {0,1}. Now, consider that node n has as nodeid

N52 N52 Ring 0 N2 N16 Ring 00 Ring 10 N40 N52 N40 N45 N2 N40 N34 N63 Global Ring N37 N34 N16 Figure 1. Cyclone s hierarchical model the tuple x 1, x 2,, x b. Then, it is not difficult to see that the cluster for node n at level i is given by the n s nodeid suffix x b-i,, x b, and the prefix x 1,, x b-(i+1) is the n s virtual nodeid for this cluster. As a result, routing within a ring is done according to the DHT routing algorithm, but considering only the nodeid prefixes. Note that there is exactly one cluster at each level i that encloses the n s nodeid. In particular, Cyclone can be seen as a collection of regular polygons with corners uniformly distributed along the keyspace. Technically speaking, given a cluster with a b-bit clusterid and a peer p within this cluster, p s closest neighbour will be at least at a distance 2 b away of him in the keyspace. 3.2 Hierarchical Symphony Ring 1 In this section, we introduce H-Symphony: the Cyclone s hierarchical version of Symphony. Briefly, Symphony is an adaptation of Kleinberg construction to model small world phenomenon over a dynamic set of nodes lying in a unitary circle [0, 1). Each node in Symphony maintains: a) two short links with its immediate neighbours along the ring and b) k 1 long distance links with the nodes lying clockwise distance x away from itself, where x is drawn from probability distribution p N (x) = 1/(x ln N), for some x [1/N, 1]. Routing is greedy and absolute: a node forwards a request for a key x along that out-going link (short or long) that minimizes the absolute distance to x. N2 N34 N45 N11 N63 N37 N16 N23 N11 N23 Our hierarchical design relies on our technique to configure the nodes into a hierarchy of clusters that reflect the p2pweb administrative domains. To this end, all we are required to do is to transform the unit interval [0, 1) into a circular b-bit keyspace [0, 2 b 1] and scale linearly function p N (x) to adapt it to the new keyspace. A node in H-Symphony maintains the following sets of links: a) successor and predecessor links for each ring and b) k long distance links for efficient routing within any ring. Each node distributes its k long links into its sequence of telescoping rings, so that routing within any ring is as efficient as it will be in the flat design with the same membership. To do so, we have applied the standard Symphony rule to create links in each ring. Note that our technique distributes the nodeids uniformly within each ring. For further details, see Cyclone[8]. Routing in H-Symphony is identical to routing in Symphony. If a node wishes to route a message for a key x, it forwards the message to its neighbour that is closest to x, without overshooting the destination. When there are multiple levels, routing proceeds as follows. When a node requests a key x, it first routes on its leaf cluster in order to take advantage of path locality/caching. If the message reaches the destination x, the query finishes. If not, the query reaches the closest node to x, say p, within this ring. Node p is then responsible for switching to the next upper cluster and for continuing routing in that ring. The preceding procedure is repeated until the node responsible for x is found. Even if the request eventually reaches the global ring, the total number of routing hops incurred will be approximately the same as in Symphony. 3.3 Content and Path Locality The main goal of our technique is to provide path and content locality as a basis for effective caching and hierarchical storage for the p2pweb model. We now describe how these two properties are achieved in H-Symphony.

AVG. latency (hops) 15 14 13 12 11 10 9 8 7 6 Symphony H-Symphony (2 levels) H-Symphony (3 levels) H-Symphony (4 levels) 2 4 6 8 10 12 14 16 Network Size (10e3) Path locality. The path from a peer to another never leaves the cluster in the hierarchy which contains both nodes. Clearly, this is true since nodes route in progressively larger rings, and the requests finish in the cluster that contains both the source and destination nodes. Strictly coupled to path locality, we have caching. For effective caching, one can easily exploit path locality provided by hierarchical routing. In particular, we cache the query answers in the exit points within each ring. In H-Symphony, when different nodes within a cluster C route for the same key x outside its cluster, all the routes to key x exit C through a common node y which is the closest neighbour of x within C. Therefore, we propose to cache the answers at each exit node encountered on the path to the query s destination. Content locality. Hierarchical design offers more alternatives for content storage than a flat DHT. For instance, if a node wishes to insert content, it can specify the ring in which the content will be stored. To this end, it can specify the clusterid for the content s storage ring by replacing the last bits of key s content suffix. Nodes can also specify the content s access ring, a superset of the storage domain, to all of whose nodes the information is made accessible. In other words, nodes are allowed to store and retrieve content bundled to a real organization in the p2pweb model. 4. Experimental Results In this section, we evaluate our p2pweb model, via simulation using Symphony and H-Symphony. AVG. latency (hops) 15 14 13 12 11 10 9 8 7 6 5 4 Symphony H-Symphony (2 levels) H-Symphony (3 levels) H-Symphony (4 levels) 2 4 6 8 10 12 14 16 Network Size (10e3) a) AVG. Number of routing hops (No Caching) b) AVG. Number of routing hops (8 copies) Figure 2. p2pweb model evaluation AVG. number cached copies 10 3 10 2 10 1 10 0 Symphony H-Symphony (2 levels) H-Symphony (3 levels) H-Symphony (4 levels) 2 4 6 8 10 12 14 16 Network Size (10e3) c) Number of cached copies required to guarantee that an item is reachable in at most 10 hops All evaluations simulate networks with up to 16K nodes that are uniformly distributed at random over the keyspace. Each node has 2 short links and 7 long links. All values shown in the Fig. 2 are the result of the queries from all nodes to a fixed set of 400 keys uniformly distributed at random over the keyspace. Fig 2.a) shows latency costs measured in number of hops. This figure shows that H-Symphony (up to 4 levels) has almost the same routing performance as Symphony. We show a caching scenario in Fig 2.b) in order to show H-Symphony s path locality skills. We have spread a total of 8 copies of an item throughout the network. In Symphony, the cached copies have been distributed uniformly at random. In H-Symphony, 2 l (l is the hierarchy depth) copies of the eight possible has been cached at cluster exit points, and the rest uniformly at random. The figure clearly shows that H-Symphony outperforms Symphony in this test. As l increases, the expected path length decreases. Finally, H-Symphony s caching algorithm storage cost is evaluated in Fig 2.c). More specifically, we wish to answer how many copies are required to reach a key within at most 10 hops from all nodes. In Symphony, copies are cached in route to the key. In H-Symphony, copies are cached at the cluster exit points as before. Again, this scenario points out that H-Symphony outperforms Symphony in number of copies. 5. Proof of Concept: MOODLE Thanks to the fact that our design is hierarchical (i.e., path/content locality), our p2pweb architecture offers tree and cluster-level services very efficiently. In particular, we have already developed on top of our PHP implementation of H-Symphony, available

at http://planet.urv.es/p2pweb, a DHT interface with the additional cluster-level services: put_cluster(cluster,k,v); get_cluster(cluster,k,v) and the tree-level services (i.e. aggregation): put_agg(cluster,k,v); get_agg(cluster,k,v) As a proof of concept, we have recently decided to embrace Moodle which is a popular open source Virtual Campus Learning Tool deployed in around 17,599 Web servers around the world. Moodle.org actually provides two centralized services: Moodle Sites and Moodle Statistics. While Moodle Statistics stores information about available resources such as courses, users and quizzes in the Moodle network, Moodle Sites keeps track of the registered Moodle servers by geographical area. Our MoodleShare standard extension to Moodle already offers both services on top of the p2pweb infrastructure. Our novel contributions here are: Updated Information. If every node installs MoodleShare, our Sites and Statistics services will provide up-to-date information. Clearly, this is valuable information for monitoring the state of the community. Geographical Information. We group nodes into geographical clusters (continent, country, city, organization), thus enabling cluster-level access to information. A GoogleMap interface is provided to facilitate the access to clusters aggregated information (e.g., 300 servers with 10000 resources in Spain). Moodle Search. We accommodate a resource search mechanism for the whole community. Specifically, we provide cluster-level requests in order to constraint the scope of the search to a specific subset of geographical areas (e.g. Spain). With this service, a teacher can locate resources like courses in the whole network or in the specified clusters. This project is in progress and it has received the attention of some leaders of the Moodle community like Martin Langhoff. They appreciate MoodleShare as a possible community hub that might complement the works about Moodle interoperability. We really believe that our infrastructure helps to improve the world-wide Moodle community offering information awareness and communication services. 6. Conclusions and Future Work We have presented a novel p2pweb infrastructure based on a hierarchical DHT which gives us key benefits like clustering, content and path locality or improved routing. These benefits seem to be quite adequate to define novel web reliable services such as Uniform Resource Name (URN) location, content distribution (i.e. web caching and replication), query services for clusters and publish/subscribe systems. In addition, our decoupled and lightweight approach will permit the creation of webrings of geographical, semantic or administrative clusters in a flexible way. We foresee a network of browser peers interacting in new ways, with the network of web superpeers as glue. Acknowledgements. This work is partly supported by European Commission under the FP6-2006-IST- 034241 POPEYE project. References [1] Robert Bayardo et al., YouServ: A Web-Hosting and Content Sharing Tool for the Masses. In Proceedings of the WWW 2002 Conference. [2] Michael J. Freedman et al., Democratizing Content Publication with Coral. In Proceedings of the NSDI '04 Conference. [3] G. Manku et al., Symphony: Distributed Hashing in a Small World. In Proceedings of USITS 2003. [4] Sean Rhea et al., OpenDHT: A Public DHT Service and Its Uses. In Proceedings of ACM SIGCOMM 2005. [5] Karthik Lakshminarayanan et al, Towards a Secure Indirection Infrastructure. In Proceedings of ACM PODC 2004. [6] Marc Sánchez et al., Cyclone: a novel design schema for hierarchical DHTs. In Proceedings of the Fifth IEEE International Conference on P2P (P2P2005).