Scalability of Peer-to-Peer Systems

Size: px
Start display at page:

Download "Scalability of Peer-to-Peer Systems"

Transcription

1 Scalability of Peer-to-Peer Systems Jari Mäntylä Helsinki University of Technology Abstract In recent years, peer-to-peer systems have been widely deployed in the Internet. This is because of the improved availability of information and the control it offers to the users. Users have the latest information always at hand. Since the peer-to-peer systems tend to be so popular, scalability becomes an utterly important feature in these architectures. Many algorithms have been developed to address this issue and they get there by slightly different means. Earlier protocols were unstructured and had poor scalability, whereas modern peer-to-peer systems are structured and scale well. However, the second generation basically supports only exact-match queries, instead of keyword searching found in the first generation systems. This paper introduces four existing algorithms (i.e., Gnutella, Tapestry, Pastry and Chord). Gnutella represents the first generation systems, whereas the rest belong to the second generation. We compare these two generations in relation to scalability in a qualitative fashion. In addition, we present improvements how these systems could be ennobled in relation to scalability. In the case of Gnutella, there seems to be many ways to improve its scalability, which in fact might prolong its existence despite the more advanced second generation. Whereas, the second generation is still young, and there are only few improvements and propositions submitted by the research community. KEYWORDS: peer-to-peer, scalability, Gnutella, Tapestry, Pastry, Chord. 1 Introduction Peer-to-peer systems typically consist of large number of heterogeneous, distributed and dynamic network nodes (e.g., PC, router, PDA etc.). This arrangement presents many challenges for distributed applications to cope with in a large scale environment such as the Internet, where failure-prone peers join and exit the network continuously. As a consequence, we need a sophisticated mechanism to perform effective queries and stabilizations, which uphold the integrity of the overlay network. In this paper we focus on the scalability issue of a few algorithms used for data discovery and organizing tasks in peer-to-peer systems. Specifically, we will make a comparison of scalability in Gnutella, Tapestry, Pastry and Chord. Gnutella was chosen because of its open architecture and wide adoption in the Internet. There s also a lot of debate around Gnutella. The latter three were chosen to represent the second generation of structured peer-to-peer overlay infrastructures. These systems act as a substrate for peer-to-peer applications. Generally speaking, scalability can be defined as the adaptability to changes in the peer-to-peer system size, load extent and nature of the load [1]. On the other hand, this paper focuses on the scalability of the system in relation to both search and stabilization algorithms. Also, congested peers are taken into account while comparing the scalability. That is, the network load should be distributed evenly among the peers, which means that every peer should be aware of approximately the same number of other peers. The aforementioned algorithms are based on a virtual topology, or in other words, on an overlay network, which is generated on the application layer above the operating system s network layer. This overlay system is used for routing or forwarding the lookup and maintenance messages between the peers. Structured overlay networks allow the system to self-organize in a fairly dynamic environment, where peers constantly enter and leave the network either willingly or because of failures. Structured overlay networks typically offer a horizon for lookup-time. This paper makes solely a qualitative comparison no simulations or complex arithmetic evaluation is included. Rest of the paper is divided into four Sections. In Section 2, we will describe the named overlay networks in detail. Following the details is the actual comparison (Section 3) of the algorithms properties in relation to scalability defined earlier. The scalability of these systems could also be improved with new ideas. We are presenting a few proposals made by other research groups in Section 4. Finally, we will make conclusions of the comparison (Section 5). 2 Algorithms 2.1 Gnutella Overview Gnutella [6, 5] is one of the first-generation fully distributed peer-to-peer file sharing protocols. It does not rely on any central server. On the contrary, it consists of number of equal nodes, which all act as both the peers and the servents. In other words each of these nodes acts as the client (i.e., consumer of the information) and the server (i.e., distributor of the information). Gnutella protocol is fairly simple. Therefore, it has widely spread into today s Internet as an abundant set of file sharing applications.

2 2.1.2 Message types Gnutella operates on an overlay network that provides routing and forwarding of messages between the nodes. The messages consist of a few types: Ping, Pong, Query, Query Hit and Push. The first pair of these is used to attach a node to an existing Gnutella network. Existing nodes reply to the joining node s Ping-message with a Pong-message. Similarly, the nodes reply to the Query-message with a Query Hit-message, if their file database contains queried information. The last message-type (Push) is used in situations where peers with the wanted information do not allow incoming connections (e.g., ones that lie behind a firewall) Routing Routing in Gnutella is based on flooding or constrained broadcasting. Generally speaking, every message received by a node is forwarded to all of its neighbors. Only exception is the node from which the message arrived. Every message contains a Time To Live-header (TTL). This value is decremented by one after each hop until it reaches zero, when it s no longer forwarded. Pong- and Query Hitmessages travel the same route as the corresponding Pingand Query-messages, but in the opposite direction. Also, Push-messages are sent along the same path that the corresponding Query Hit-message traveled. Each message carries an ID field that marks the message with unique identifier. Whenever a node receives a message with same type and ID encountered in the past, it discards the message. An example of Gnutella topology is shown in the figure 1. unique identifier (GUID), which is selected likewise at random from the same identifier space as the nodeids. These IDs are presumed to be evenly distributed throughout the entire identifier space. This is achieved by using an appropriate hashing algorithm (e.g., SHA-1). In additions to the nodeid or GUID, a message contains an application-specific identifier A id (having the same role as a port has in transmission protocols), to support co-existence of different applications Routing Tapestry [11, 12] maps each identifier G to a solitary live node (nodeid), which is called the root G R of the object. A node maintains a routing table consisting of nodeids and corresponding IP addresses. These nodes are called the neighbors of the local node. Routing is carried out using only node-local information by forwarding a message to a node progressively closer to the G R by determining which of the neighbors has a matching prefix. Progressive in this context means routing closer to the target ID digit by digit (i.e., Hexadecimal digit of the identifier). The routing table is divided into multiple levels, each level i consisting of nodes having i 1 matching prefix digits their nodeid. To sum up, each routing hop takes the message closer to the destination node by at least one digit. The algorithm outlined above yields that message is routed to an existing node with O(log β (N)) hops (where N is number of the nodes in the network and β the base of the identifier space). Tapestry takes locality into account in its design. This is achieved by selecting the closest possible node (i.e., shortest network distance) to fill the slot in the routing table. An example of Tapestry routing is shown in the figure 2. Figure 1: Gnutella: An example of the Gnutella neighborhood topology. 2.2 Tapestry Overview Tapestry is an overlay infrastructure that offers decentralized object location and routing (DOLR). Tapestry nodes are assigned a nodeid that is allotted randomly from a large uniform identifier space. One physical host can host multiple nodes. Application-endpoints, objects utilized by applications acting on top of Tapestry, are assigned a globally Figure 2: Tapestry: Path of the message to node 42AD originating from node L1, L2, L3 and L4 emphasize the number of matching digits (minus one) between the two nodes Object publishing Each object O (with GUID O G ) is separately published in the network by the server S storing a copy of the object. This is done by routing a publish message periodically to the object s root node O R. Each node in the path stores a link <O G, S> in their pointer map. Whenever a client wants to locate an

3 object O, it routes a message to O R. Every node in the path checks whether they possess a pointer mapping to O. If they do, they forward the message to the S directly. Otherwise, the message is forwarded a step closer to the O R. An example of Tapestry object publishing is shown in the figure 3. nodeids are diverse in physical location and available resources. The identifiers have a base 2 b, where b is the number of bits per one digit. Typical value for b is 4, which results in hexadecimal digits Routing Figure 3: Tapestry: Two replicas of object 4378 are published to their root node Each node along the path to the root node stores a location pointer to the object Node insertion and deletion Every joining node has a surrogate node S (i.e., the root node to which the N id maps in the current network). The insertion process is started by S, which finds the largest matching prefix (length p) that N id and S id share. S then sends an Acknowledged Multicast message to all existing nodes having the same prefix. These nodes contact N and become the basis of the neighbor set of N. With the help of this set, N constructs its routing table in an iterative manner by starting from level p and decrementing it by one in each step. Here it decides which nodes to include by favoring locality or the network distance between them. Also, each node contacted by N update their routing table with N wherever appropriate. A node can leave the Tapestry network voluntarily or involuntarily (e.g., regular failure in the wide-area network). If the node N has a chance to leave in collaboration, it informs a set of nodes in its backpointers by sending them a replacement node to place in their routing tables. At the same time all the informed nodes republish their objects through N and its replacements. The departure may occur ungracefully and many times in a short interval. This is addressed by keeping backups for each routing table entry and object in pointer mappings. Nodes poll the network to detect link failures and start a repair process for routing tables and object publications if necessary. Messages are routed to a live node whose nodeid is numerically closest to the given key. Similarly to Tapestry, Pastry uses prefix-based routing. One hop in the routing process usually takes the message one digit (i.e., b bits) closer to the destination node s nodeid. A node upholds three discrete set of nodes: routing table, neighbor set M and leaf set L. The routing table consists of log 2 b(n) rows (i.e., number of digits in the nodeid), each having 2 b 1. Each entry on row n has common prefix with the local node till nth digit. Nodes are selected considering locality (i.e., network proximity metric). The neighbor set contains M nodes that are closest to the local node according to network proximity. The leaf set contains L nodes whose nodeid is numerically closest to the local node s nodeid. The neighbor set is not used in the routing, whereas the leaf set is. Typically, M and L have the value of 2 b or 2 b+1. A node forwards given message preferably to a node in the leaf set whenever it falls within the range of their nodeids. Otherwise, the message is forwarded to a node in the routing table whose nodeid shares one digit longer prefix than the local node. The appropriate slot in the routing table may be empty or the actual node unreachable, in which case the message is forwarded to a node sharing a prefix of at least the same length than the local node one that is numerically closer to the message s key. An example of Pastry node is shown in the figure 4 and a routing example is shown in the figure Pastry Overview Pastry [13] is a substrate for a variety of peer-to-peer applications. Again, the nodes are assigned a unique identifier nodeid randomly from a circular identifier space, that ranges from 0 to This randomness leads to a uniform distribution of the identifiers in the space. If the nodeid are obtained by hashing IP address or public key, the close-by Figure 4: Pastry: An example node All the numbers are in base 4 (b = 2). The routing table cells are split with - to emphasize the common prefix, next digit and the rest of the nodeid.

4 did, Chord assigns nodes a key through consistent hashing, which tends to balance the load (i.e., nodes have roughly the same number of keys assigned to them). The identifiers lie on an identifier circle (i.e., Chord ring). Every key k maps to single node whose identifier is equal to k or is the next node that succeeds it (clockwise). That node is called the successor of k. If identifier has a length m (bits), there are 2 m possible values on the ring Routing Figure 5: Pastry: Path of the query to key d46a1c initiated by node 65a1fc Node insertion and deletion A new node acquires its nodeid X (e.g., by a hashing algorithm mentioned in chapter 2.2.1). N asks a formerly attained node nearby with nodeid A to route a message with key X. The message ends up in a node with nodeid Z, which is numerically closest to X. All of the nodes encountered on the path to node Z send their state tables to X. The new node can then initialize its neighbor set with A s neighbor set and leaf set with Z s leaf set. Routing table is filled with entries found from the routing tables received from the nodes on the path from X to Z. Simplified, the ith row in the routing table is initialized with N i s (i.e., ith node on the path) ith routing table row. After this initialization, X sends its formed state to each node found in its routing table, neighbor set and leaf set. Those nodes then have the opportunity to update their tables according to the received information. In the case of node failure, a replacement is to be found for it in the tables. If a node in the leaf set fails, the local node asks the remaining leaf nodes (either the lesser or the greater half, according to failed node s id) for their leaf set and finds an appropriate replacement. The neighbor set is repaired in a similar manner by finding a replacement from living neighbors sets. A failing routing table entry is repaired by contacting another node on the same row and asking for its entry. If none of the nodes on the same row has a proper entry, the procedure continues by asking the nodes on the next row. In theory, a replacement is always found for each failing entry in the state tables. 2.4 Chord Overview Chord [16, 17] is described as a peer-to-peer lookup protocol. In fact, it provides only one operation: mapping a key onto a node. It is application-specific, how the key is used (e.g., the node on which the key maps, might store an item corresponding to that key). Likewise, as Tapestry and Pastry Every node sustains a maximum of m routing entries. A node s (identifier n) ith entry in the routing table points to successor of key n+2 i 1. This is called the ith finger of the node n. This definition yields that every node maintains a routing table of size log(n). Every node keeps also track of its immediate predecessor (i.e., the next node counterclockwise). Logically, the first finger of the node is its successor. On the other hand, the last finger is at least halfway across the circle; hence the routing quickly approaches the destination. When routing a key k the local node n checks if k falls between n and the successor of n. If so, it returns the address of the successor and the routing is complete. Otherwise, the node finds a finger that most immediately precedes k and asks that finger node to continue routing. This procedure completes within log(n) hops. Example of Chord s finger table is shown in the figure 6. Also, a routing example in that setting is shown in figure 7. Figure 6: Chord: Finger table contents for node Node joins and stabilization A node joins the network by asking another node to route its identifier n on the network, which yields its successor n s. At the same time, node with id n s acquires n as its new predecessor. Next time the joining node s predecessor n p checks if it is its successors (used to be n p ) predecessor, it finds out that actually node n is its successor. Node n p also informs node n that it is the predecessor. After the successor (and predecessor) pointers are correct, the newly joined node finds its fingers by routing the keys n + 2 i 1, where i is [1,m]. The fingers are not required to be specified for the routing procedure to work correctly.

5 3.1.1 Overlay topology Figure 7: Chord: Path of the query for key 54 initiated by node 8. Stabilization procedure utilizes partially the same set of functions as the joining. Nodes periodically check whether they are their successor s predecessor. This way node n p finds out about newly joined node n emerged in between n p itself and n s. Nodes also notify their successor of themselves, and the successor might update its predecessor pointer accordingly. Nodes clear out their predecessor pointer if a periodic check fails (i.e., the predecessor does not acknowledge). Nodes maintain the integrity of their finger table by routing to keys n + 2 i 1 periodically. This way they discover the newly joined nodes to be used as new valid fingers and revise their finger table. 3 Comparison General properties of the aforementioned peer-to-peer systems are listed in the table First generation Gnutella is less of a substrate than the other aforementioned protocols, since it basically provides only file sharing services in addition to overlay network maintenance. Gnutella belongs to the first generation of peer-to-peer systems that are based on unstructured overlay networks. It is old-fashioned mainly because of its flooding-based search and maintenance algorithms. This flooding or constrained broadcasting can be described as best effort within specified range, since the message is propagated everywhere within predetermined scope. One message is processed and sent several times during the forwarding procedure. This consumes peers CPU time and network resources even if they were otherwise passive. Time To Live -parameter (TTL) affects significantly the cost of querying and discovering of peers. Increasing it improves the query hit ratio and number of new peers detected, but at the same time it hugely raises the number of messages propagated throughout the network. Portmann et al. [6] state that the topology of Gnutella overlay network affects the scalability significantly. They measured through simulations the total cost of search and peer discovery mechanisms in three different topologies (i.e., Mesh, Random and Power-law). These topologies differ very much in their nature. The simulated topologies had a common node degree of about 4, which means the average number of neighbors each node maintains. Their results indicate that the cost of searching in Gnutella network with power-law topology is substantially lower than in the other topologies. The least load is imposed on the nodes in the power-law topology, where the distribution of the node degrees is decaying according to a power function. Developers should have proper knowledge about this topology issue when implementing Gnutella-based applications. In reality, it has been shown that the Internet and Gnutella network topologies have a power-law property ([3, 5]). Nevertheless, in our opinion, this can make the co-operation of Gnutella applications obscure, since different implementations might address this in a different way through various configuration parameters Congestion Neither does Gnutella take into account the congested peers. Gnutella network functions correctly until part of the nodes become congested and cannot perform necessary processing and forwarding of the arrived messages due to the lack of proper CPU and network resources. Portmann et al. [6] show that Gnutella does not function well as the number of peers becomes thousands. Furthermore, the network gets fragmented and queries do not get satisfied properly. In fact, we should be talking about tens or hundreds of thousands of nodes since there are millions of potential nodes in the case of the Internet. Therefore, one can state that Gnutella does not scale well enough to be used in the ever-growing Internet. Besides, none of the text above considers the file transfer part, which as well affects the congestion among the peers. 3.2 Second generation The other protocols (i.e., Tapestry, Pastry and Chord) belong to the second generation of peer-to-peer systems. This generation is based on Distributed hash tables (DHT), which basically means distributing of the information to multiple locations. In fact, these systems are only a substrate for peer-topeer applications. They provide an overlay network, which offers efficient object location with small horizon (i.e., small number of hops) and agile node insertion and network stabilization services. Many kinds of applications can be built on these systems; ranging from distributed file storage to decentralized instant messaging. These systems are not as easy to implement as for example Gnutella. Even so, application developers are able to use existing reference implementations of these open architecture systems, which makes it all a softer job. Unlike Gnutella, these second generation systems guarantee content location, but at the same time require exact-match queries. Keyword search implementation on top of these

6 Lookup Maintenance Routing table size Gnutella variable variable number of neighbors Tapestry O(log b (N)) O(log b (N)) b log b (N) Pastry O(log 2 b(n)) O(log 2 b(n)) (2 b 1) log 2 b(n) Chord O(log 2 (N)) O(log 2 2 (N)) log 2 (N) Table 1: Here are listed a few properties of the protocols presented in chapter 2. N is the number of nodes in the network and b is a configuration parameter of Tapestry and Pastry. [2] DHT-based systems is not a trivial task, since the exactly same file might have different names on different nodes. Keyword searching is mainly based on the filenames, but some sort of meta information coupled with the file could be of help there. The gained advantages in routing performance and scalability come with this exact-match limitation. In our opinion, this narrows the application deployments at least partially in reality, since file sharing is the most utilized feature Structured overlay networks These systems use key-based routing (KBR), which is common for all structured peer-to-peer algorithms. As a common feature, all of these use only local information in routing, which has a positive impact on scalability, as the route information is not propagated throughout the overlay network Resilience Structured nature does not come for free there is a cost of stabilizing and maintaining the integrity of this network. While Gnutella uses heartbeat messages to determine whether its neighbors are alive, these more sophisticated systems stabilize the network both periodically and upon detecting a failure. Still, stabilization demands a lot of messages to be propagated down the hierarchy. For example, a node in Chord needs to send O(log 2 (N)) messages when either joining or leaving the network [16]. Designers have used simulations to prove their overlay network to normalize or recover rather quickly even under major breakdowns. Nevertheless, these systems recover as well as first generation of the systems do. Xuan et al. [18] claim that Chord has less maintenance overhead than most of the other DHT-based peer-to-peer protocols. At the same time, they admit Chord being most fragile against malicious nodes Locality Tapestry and Pastry take network distances into account while building their overlay topology. Chord in its basic form does not consider this; hence given overlay hop might span the entire diameter of the underlying network. Locality should be addressed by all of the systems, as it affects the efficiency of the message forwarding between adjacent nodes in the overlay topology. Also, this effect accumulates as network grows. Using locality speeds up the message propagation; hence improving the overall performance of the system. On the other hand, for example in Pastry [13] locality preference together with major breakdowns tends to produce another problem: creation of multiple isolated self-organizing overlay networks, unaware of the others. This isolation might persist even after complete recover from the breakdown. Rowstron et al. propose random use of IP multicast as a solution. In our opinion this sounds too complicated mechanism that would need special multicast configuration. Also, IP multicast might be unavailable in parts of the network. Instead, as mentioned before, Chord does not consider locality and is therefore quite resilient against this partitioning. This is a two-sided problem, which requires a research of its own Routing Tapestry and Pastry both use prefix routing while Chord uses the numerical difference between current node and the destination. Both of these methods deliver the message to its destination with the same horizon O(log(N)). All of these systems are able to forward a message to its destination even under failures. All of them have some sort of backup for the nodes in their state tables which are used upon failures. Tapestry and Pastry node forwards the message numerically a little closer to the destination whenever it is not able to bring it a digit closer, as it normally would. Whereas Chord forwards the message to its immediate successors (or one of them in the case of successor list) if the appropriate finger node fails to respond. As a consequence, these networks are rather resilient, even in the case of massive failures that are quite common in today s Internet Congestion Structured networks employ consistent hashing to accomplish an even distribution of the nodes and objects identifiers in the identifier space. This deconcentration addresses the issue of congestion as the load is presumably evenly divided among the peers. Since these systems map a key to a single node by default, certain nodes with popular objects might get congested. One possible solution to this is replication. For example PAST [14], a file sharing utility built on Pastry, stores file replicas on a set of nodes whose size is determined by taking the rate of transient nodes into account. Tapestry [12] also provides a replication feature indirectly. Each node storing a replica or a link to one publishes this as an object on its own. Tapestry s design causes the queries of an object to arrive at a near-by node with a replica of this object. While on the contrary, Chord [17] does not provide replication but leaves this to application developers. In our opinion, Tapestry s way of publishing each replica is the most practical way. Other solutions possibly require nodes to copy the replicas from one node to another without users

7 explicit approval. 4 Discussion Many of these aforementioned protocols have unattractive features that could be bypassed by upgrading or extending the default specifications. Next, we are going through some previous researches addressing these weaknesses. As Gnutella is the most deployed and analyzed among the described protocols, these proposals tend to be bound to it. 4.1 Gnutella Chawathe et al. [9] and Singla et al. [10] propose the concept of supernodes or ultrapeers for Gnutella networks. Ultrapeer is a node with significantly more network resources than regular nodes participating in the system. Ordinary nodes send information about their shared data to these ultrapeers that are then responsible for receiving and processing all of the queries in the network. Singla et al. suggest that leaf nodes form overlay network connections only to the ultrapeers, which should reduce messaging and traffic in overall between the leaf nodes. In our opinion, this contravenes the idea of peer-to-peer networks, where all of the peers should share identical functionality. If these ultrapeers are considered, the whole concept is moving to a hybrid direction, where things are not completely decentralized. Sripanidkulchai et al. [4] propose an idea of internetbased locality where queries exploit common interests of certain group of peers. In other words, if some peer finds out another peer has information that it has interest in; it is very likely that this peer has also other attractive material available. In the case of Gnutella, the proposal is based on shortcuts that form a loose structure on top of the unstructured overlay. Their proof and analysis seems logical. Therefore, we hope to see real life implementations and research in relation to this proposal. Sripanidkulchai et al. also state that these shortcuts improve the query performance of Chord. In our opinion, the presented evidence was too slight to convince us it would be worth the effort. Markatos [7] and Patro et al. [8] suggest that peers should cache the query results it has seen in the past. This idea is based on the assumption that real life queries show extreme amount of locality, which certainly favors this idea. He shows that caching for even a short period of time increases query performance significantly. He also shows that cache does not consume a lot of memory and thus is obtainable on each node s host. Query performance affects directly the scalability, since fewer messages gets flooded through the network. We hope this idea gets deployed widely, as it convinced us about improving the scalability of Gnutella. Furthermore, this caching can be done transparently. That is, every node is not required to cache the results, since the actual results do not differ whether caching is used or not. Randomizing Gnutella s flooding mechanism, so that a node forwards the query only to subset on its neighbors, improves the scalability but tends to favor only popular content. It probably would result in multiple adjacent queries with same keywords, if users knew about the random behavior. Hence, this is not the candidate solution for improving Gnutella s scalability as a whole. 4.2 The second generation optimizations Zhang et al. [15] propose two optimizations for structured overlay networks that exploit the routing table redundancy. They experimented these optimizations with Pastry, which has potentially a lot of routing table redundancy because of its fault-resilience design. In more detail, each entry in the routing table contains more than one node that could be used as a backup in the case of failures or in the routing table maintenance to lower the delay caused by overlay hops by making the closest node the primary choice. Normally the routing table redundancy is exploited in the case of failures, but they could be used to optimize routing as well. Their first proposal is to check whether one of the backup entries is in fact the exact destination of the query. In that case, the message could be forwarded directly to its destination. Their second proposal is more probabilistic as it includes some probability calculus in regard to the average distance between adjacent nodes in the identifier space. Even though one of the backup entries might not have the exact same identifier as the queried key, it might still be the actual destination. Zhang et al. [15] introduce a constant c, which is used to determine whether one of the backup entries is the destination with high probability. If the distance between the queried key and one of the backup entries is less than c times the average distance between adjacent nodes, the message is forwarded directly to that node. Their experiments indicate that these optimizations work in practice. The first optimization reduces the average routing delay penalty by 13%, while the second optimization, with optimal value of c, reduces it by 7-8%. However, there is a weakness in the probabilistic second optimization. Since the backup nodes are not visited as often as the primary nodes, an overhead due to failures might offset the potential improvement. Zhang et al. [15] also state that these optimizations are equally applicable to Tapestry, since it uses same kind of prefix-based routing and locality awareness. Additionally, they state that the first optimization can be used with Chord. Instead of just one successor, Chord often uses list of k next successors. There is certain probability that the queried key actually maps to one these successors. The second optimization can not be adapted to Chord, since it does not take locality into account. We think that the first optimization works well in reality and is simple to implement. Additionally, we agree with Zhang et al. about this optimization having no downsides. The second optimization is not that straightforward, since it increases the already complex implementation possibly too much. Furthermore, it requires a thorough study of constant c before it is known to be optimal in any application. 5 Conclusions This paper introduced four existing peer-to-peer infrastructures; one belonging to the first generation and others to the second generation. Specifically, these were Gnutella,

8 Changing system Stabilization (nodes Searching (number Congestion (popular size joining and disjoining) and kind of requests) items, distribution of keys) Gnutella Poor. The flooding-based Good. The joining is a Poor and restricted. Poor. Congested peers routing mechanism does fairly quick process. The network is flooded are not considered in not scale, since the Also, Gnutella uses with queries, which do any way. A node with network tends to fill heartbeat messages to not reach all of the a popular item might up with messages. determine whether the nodes that might have have to send it neighbors are still matching objects. continuously. alive. Tapestry Good. Consistent hashing Fair. In addition to Excellent. The cost of Good. Tapestry s balances the load in the polling the network to searching is infrastructure supports network. Growing network detect link failures, logarithmic in relation replication indirectly. size does not affect the many messages must be to the network size. Each node publishes the functionality appreciably. sent when node is Additionally, it copy of the object joining or leaving the performs even under itself. Therefore, The network. Backups are frequent failures due number of congested kept for each routing to intelligent algorithm. peers should diminish. table entry to address possibly frequent departures. Pastry Good. Consistent hashing Fair. Like Tapestry, Excellent. The cost of Good. Pastry s design balances the load in the Pastry polls the network searching is supports replicas also. network. Growing network for link failures. Its logarithmic in relation For example PAST [14], size does not affect the repair mechanism is a to the network size. a file sharing utility functionality appreciably. little simpler than that Additionally, it built on Pastry, stores of Tapestry s, but many performs even under file replicas on a set messages are used there frequent failures due of nodes. too. to intelligent algorithm. Chord Good. Consistent hashing Fair/Good. Chord is said Excellent. The cost of Fair. Chord does not balances the load in the to have less maintenance searching is provide replication but network. Growing network overhead than most of logarithmic in relation leaves this to size does not affect the the DHT-based systems. to the network size. application developers. functionality appreciably. At the same time, it is Additionally, it more vulnerable against malicious nodes. performs even under frequent failures due to intelligent algorithm. Table 2: A collection of the qualitative properties of the algorithms covered in this paper in relation to scalability. Tapestry, Pastry and Chord. We compared these protocols in relation to scalability, or in other words, the adaptability of both search and stabilization algorithms as well as to changes in the network size. The results are roughly collected to the table 2. As expected, Gnutella lacks scalability because of its usage of flooding-based forwarding algorithm. Neither does it address congested peers properly. The remaining structured overlay networks perform well regarding scalability, but with the cost of supporting only exact-match queries. These DHTbased substrates address congestion through consistent hashing, which leads to even distribution of the keys among the peers. Also, all of these algorithms do not take locality into consideration, even though locality improves query performance significantly. In chapter 4 we went through some previous researches that try to improve peer-to-peer systems scalability by proposing extensions to the basic behavior. Some of these would better the scalability of the systems. For example, caching the query results in Gnutella nodes seems to be an excellent, downward compatible, upgrade to the algorithm. In the future, we would like to see well scalable applications, which are built on the structured peer-to-peer substrates, but extend these with keyword searching support. However, Gnutella may survive in the future through new versions with improvements that make it more scalable. Gnutella is widely deployed and simple architecture, which will appeal the development community in the future too.

9 References [1] DePaoli, F. and Mariani, L. Dependability in peer-topeer systems. Internet Computing., 8(4):54 61, Jul. Aug [2] Kelaskar, M. and Matossian, V. and Mehra, P. and Paul, D. and Parashar, M. A study of discovery mechanisms for peer-to-peer applications. In Cluster Computing and the Grid 2nd IEEE/ACM International Symposium CCGRID2002., pages , May 21th May 24th [3] Michalis Faloutsos and Petros Faloutsos and Christos Faloutsos. On power-law relationships of the internet topology. In SIGCOMM 99: Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication, pages ACM Press, [4] Sripanidkulchai, K. and Maggs, B. and Zhang, H. Efficient content location using interest-based locality in peer-to-peer systems. In INFOCOM Twenty- Second Annual Joint Conference of the IEEE Computer and Communications Societies., volume 3, pages IEEE, Mar. 30th Apr. 3rd [5] Mihajlo A. Jovanovic and Fred S. Annexstein and Kenneth A. Berman. Scalability issues in large peer-to-peer networks a case study of gnutella. ECECS Department, University of Cincinnati, Cincinnati, OH , Jan [6] Portmann, M. and Sookavatana, P. and Ardon, S. and Seneviratne, A. The cost of peer discovery and searching in the gnutella peer-to-peer file sharing protocol. In Networks, Proceedings. Ninth IEEE International Conference., pages , Oct. 10th Oct. 12th [7] Markatos, E.P. Tracing a large-scale peer to peer system: an hour in the life of gnutella. In Cluster Computing and the Grid 2nd IEEE/ACM International Symposium CCGRID2002., pages 56 65, May 21th May 24th [8] Patro, S. and Hu, Y.C. Transparent query caching in peer-to-peer overlay networks. In Parallel and Distributed Processing Symposium, Proceedings. International., page 10 pp., Apr. 22th Apr. 26th [11] Ben Y. Zhao and John D. Kubiatowicz and Anthony D. Joseph. Tapestry: An infrastructure for faulttolerant wide-area location and routing. Technical Report UCB/CSD , Computer Science Division (EECS), University of California, Berkeley, California 94720, Apr [12] Zhao, B.Y. and Ling Huang and Stribling, J. and Rhea, S.C. and Joseph, A.D. and Kubiatowicz, J.D. Tapestry: a resilient global-scale overlay for service deployment. Selected Areas in Communications, IEEE Journal., 22(1):41 53, Jan [13] Rowstron, A. and Druschel, P. Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In IFIP/ACM International Conference on Distributed Systems Platforms (Middleware)., pages , Heidelberg, Germany, Nov [14] Druschel, P. and Rowstron, A. Past: a large-scale, persistent peer-to-peer storage utility. In Hot Topics in Operating Systems, Proceedings of the Eighth Workshop., pages 75 80, May 20th May 22th [15] Rongmei Zhang and Hu, Y.C. and Druschel, P. Optimizing routing in structured peer-to-peer overlay networks using routing table redundancy. In Distributed Computing Systems, FTDCS Proceedings. The Ninth IEEE Workshop on Future Trends of., pages , May 28th May 30th [16] Ion Stoica and Robert Morris and David Karger and M. Frans Kaashoek and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the ACM SIGCOMM 01 Conference., pages , San Diego, California, Aug [17] Ion Stoica and Robert Morris and David Liben-Nowell and David R. Karger and M. Frans Kaashoek and Frank Dabek and Hari Balakrishnan. Chord: a scalable peer-to-peer lookup protocol for internet applications. IEEE/ACM Transactions. Networking., 11(1):17 32, Feb [18] Dong Xuan and Chellappan, S. and Krishnamoorthy, M. Rchord: an enhanced chord system resilient to routing attacks. In Computer Networks and Mobile Computing, ICCNMC International Conference., pages , Oct. 20th Oct. 23th [9] Yatin Chawathe and Sylvia Ratnasamy and Lee Breslau and Nick Lanham and Scott Shenker. Making gnutellalike p2p systems scalable. In SIGCOMM 03: Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications, pages ACM Press, [10] Anurag Singla and Christopher Rohrs. Ultrapeers: Another step toward gnutella scalability. version 1.0., Nov

Chord - A Distributed Hash Table

Chord - A Distributed Hash Table Kurt Tutschku Vertretung - Professur Rechnernetze und verteilte Systeme Chord - A Distributed Hash Table Outline Lookup problem in Peer-to-Peer systems and Solutions Chord Algorithm Consistent Hashing

More information

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 ISSN 2229-5518

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 ISSN 2229-5518 International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 Load Balancing Heterogeneous Request in DHT-based P2P Systems Mrs. Yogita A. Dalvi Dr. R. Shankar Mr. Atesh

More information

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

Varalakshmi.T #1, Arul Murugan.R #2 # Department of Information Technology, Bannari Amman Institute of Technology, Sathyamangalam A Survey on P2P File Sharing Systems Using Proximity-aware interest Clustering Varalakshmi.T #1, Arul Murugan.R #2 # Department of Information Technology, Bannari Amman Institute of Technology, Sathyamangalam

More information

Plaxton routing. Systems. (Pastry, Tapestry and Kademlia) Pastry: Routing Basics. Pastry: Topology. Pastry: Routing Basics /3

Plaxton routing. Systems. (Pastry, Tapestry and Kademlia) Pastry: Routing Basics. Pastry: Topology. Pastry: Routing Basics /3 Uni Innsbruck Informatik Uni Innsbruck Informatik Peerto topeer Systems DHT examples, part (Pastry, Tapestry and Kademlia) Michael Welzl michael.welzl@uibk.ac.at DPS NSG Team http://dps.uibk.ac.at dps.uibk.ac.at/nsg

More information

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

Tornado: A Capability-Aware Peer-to-Peer Storage Network Tornado: A Capability-Aware Peer-to-Peer Storage Network Hung-Chang Hsiao hsiao@pads1.cs.nthu.edu.tw Chung-Ta King* king@cs.nthu.edu.tw Department of Computer Science National Tsing Hua University Hsinchu,

More information

How To Create A P2P Network

How To Create A P2P Network Peer-to-peer systems INF 5040 autumn 2007 lecturer: Roman Vitenberg INF5040, Frank Eliassen & Roman Vitenberg 1 Motivation for peer-to-peer Inherent restrictions of the standard client/server model Centralised

More information

Load Balancing in Structured Overlay Networks. Tallat M. Shafaat tallat(@)kth.se

Load Balancing in Structured Overlay Networks. Tallat M. Shafaat tallat(@)kth.se Load Balancing in Structured Overlay Networks Tallat M. Shafaat tallat(@)kth.se Overview Background The problem : load imbalance Causes of load imbalance Solutions But first, some slides from previous

More information

Calto: A Self Sufficient Presence System for Autonomous Networks

Calto: A Self Sufficient Presence System for Autonomous Networks Calto: A Self Sufficient Presence System for Autonomous Networks Abstract In recent years much attention has been paid to spontaneously formed Ad Hoc networks. These networks can be formed without central

More information

New Structured P2P Network with Dynamic Load Balancing Scheme

New Structured P2P Network with Dynamic Load Balancing Scheme New Structured P2P Network with Dynamic Load Balancing Scheme Atushi TAKEDA, Takuma OIDE and Akiko TAKAHASHI Department of Information Science, Tohoku Gakuin University Department of Information Engineering,

More information

Peer-to-Peer Replication

Peer-to-Peer Replication Peer-to-Peer Replication Matthieu Weber September 13, 2002 Contents 1 Introduction 1 2 Database Replication 2 2.1 Synchronous Replication..................... 2 2.2 Asynchronous Replication....................

More information

Chord. A scalable peer-to-peer look-up protocol for internet applications

Chord. A scalable peer-to-peer look-up protocol for internet applications Chord A scalable peer-to-peer look-up protocol for internet applications by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Overview Introduction The Chord Algorithm Construction

More information

Distributed Hash Tables in P2P Systems - A literary survey

Distributed Hash Tables in P2P Systems - A literary survey Distributed Hash Tables in P2P Systems - A literary survey Timo Tanner Helsinki University of Technology tstanner@cc.hut.fi Abstract Distributed Hash Tables (DHT) are algorithms used in modern peer-to-peer

More information

An Introduction to Peer-to-Peer Networks

An Introduction to Peer-to-Peer Networks An Introduction to Peer-to-Peer Networks Presentation for MIE456 - Information Systems Infrastructure II Vinod Muthusamy October 30, 2003 Agenda Overview of P2P Characteristics Benefits Unstructured P2P

More information

GISP: Global Information Sharing Protocol a distributed index for peer-to-peer systems

GISP: Global Information Sharing Protocol a distributed index for peer-to-peer systems GISP: Global Information Sharing Protocol a distributed index for peer-to-peer systems Daishi Kato Computer Science Department, Stanford University Visiting from NEC Corporation Abstract This paper proposes

More information

P2P Networking - Advantages and Disadvantages of Virtualization

P2P Networking - Advantages and Disadvantages of Virtualization Are Virtualized Overlay Networks Too Much of a Good Thing? Pete Keleher, Bobby Bhattacharjee, Bujor Silaghi Department of Computer Science University of Maryland, College Park keleher@cs.umd.edu 1 Introduction

More information

IPTV AND VOD NETWORK ARCHITECTURES. Diogo Miguel Mateus Farinha

IPTV AND VOD NETWORK ARCHITECTURES. Diogo Miguel Mateus Farinha IPTV AND VOD NETWORK ARCHITECTURES Diogo Miguel Mateus Farinha Instituto Superior Técnico Av. Rovisco Pais, 1049-001 Lisboa, Portugal E-mail: diogo.farinha@ist.utl.pt ABSTRACT IPTV and Video on Demand

More information

A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM

A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM Dr.S. DHANALAKSHMI 1, R. ANUPRIYA 2 1 Prof & Head, 2 Research Scholar Computer Science and Applications, Vivekanandha College of Arts and Sciences

More information

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

Discovery and Routing in the HEN Heterogeneous Peer-to-Peer Network Discovery and Routing in the HEN Heterogeneous Peer-to-Peer Network Tim Schattkowsky Paderborn University, C-LAB, D-33102 Paderborn, Germany tim@c-lab.de Abstract. Network infrastructures are nowadays

More information

LOOKING UP DATA IN P2P SYSTEMS

LOOKING UP DATA IN P2P SYSTEMS LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica MIT Laboratory for Computer Science 1. Introduction The recent success of some widely deployed

More information

File sharing using IP-Multicast

File sharing using IP-Multicast File sharing using IP-Multicast Kai Trojahner, Peter Sobe University of Luebeck, Germany Institute of Computer Engineering email: sobe@iti.uni-luebeck.de Abstract: File sharing systems cause a huge portion

More information

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

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching 2012 2 nd International Conference on Information Communication and Management (ICICM 2012) IPCSIT vol. 55 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V55.5 Object Request Reduction

More information

A Reputation Management System in Structured Peer-to-Peer Networks

A Reputation Management System in Structured Peer-to-Peer Networks A Reputation Management System in Structured Peer-to-Peer Networks So Young Lee, O-Hoon Kwon, Jong Kim and Sung Je Hong Dept. of Computer Science & Engineering, Pohang University of Science and Technology

More information

Identity Theft Protection in Structured Overlays

Identity Theft Protection in Structured Overlays Identity Theft Protection in Structured Overlays Lakshmi Ganesh and Ben Y. Zhao Computer Science Department, U. C. Santa Barbara {lakshmi, ravenben}@cs.ucsb.edu Abstract Structured peer-to-peer (P2P) overlays

More information

DUP: Dynamic-tree Based Update Propagation in Peer-to-Peer Networks

DUP: Dynamic-tree Based Update Propagation in Peer-to-Peer Networks : Dynamic-tree Based Update Propagation in Peer-to-Peer Networks Liangzhong Yin and Guohong Cao Department of Computer Science & Engineering The Pennsylvania State University University Park, PA 16802

More information

Clustering in Peer-to-Peer File Sharing Workloads

Clustering in Peer-to-Peer File Sharing Workloads Clustering in Peer-to-Peer File Sharing Workloads F. Le Fessant, S. Handurukande, A.-M. Kermarrec & L. Massoulié INRIA-Futurs and LIX, Palaiseau, France EPFL, Lausanne, Switzerland Microsoft Research,

More information

Async: Secure File Synchronization

Async: Secure File Synchronization Async: Secure File Synchronization Vera Schaaber, Alois Schuette University of Applied Sciences Darmstadt, Department of Computer Science, Schoefferstr. 8a, 64295 Darmstadt, Germany vera.schaaber@stud.h-da.de

More information

Using Peer to Peer Dynamic Querying in Grid Information Services

Using Peer to Peer Dynamic Querying in Grid Information Services Using Peer to Peer Dynamic Querying in Grid Information Services Domenico Talia and Paolo Trunfio DEIS University of Calabria HPC 2008 July 2, 2008 Cetraro, Italy Using P2P for Large scale Grid Information

More information

A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT

A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT CATALOGUES Lican Huang Institute of Network & Distributed Computing, Zhejiang Sci-Tech University, No.5, St.2, Xiasha Higher Education Zone, Hangzhou,

More information

Analysis of the Traffic on the Gnutella Network

Analysis of the Traffic on the Gnutella Network Analysis of the Traffic on the Gnutella Network Kelsey Anderson University of California, San Diego CSE222 Final Project March 21 Abstract The Gnutella network is an overlay network

More information

Identity Theft Protection in Structured Overlays

Identity Theft Protection in Structured Overlays Appears in Proceedings of the 1st Workshop on Secure Network Protocols (NPSec 5) Identity Theft Protection in Structured Overlays Lakshmi Ganesh and Ben Y. Zhao Computer Science Department, U. C. Santa

More information

A SURVEY OF P2P OVERLAYS IN VARIOUS NETWORKS

A SURVEY OF P2P OVERLAYS IN VARIOUS NETWORKS A SURVEY OF P2P OVERLAYS IN VARIOUS Mrs. A. Anitha Dr. J. JayaKumari Department of computer science & engineering Department of Electronics & communication Engineering anidathi@yahoo.co.in jkumaribharat@yahoo.com

More information

A Network Monitoring System with a Peer-to-Peer Architecture

A Network Monitoring System with a Peer-to-Peer Architecture A Network Monitoring System with a Peer-to-Peer Architecture Paulo Salvador, Rui Valadas University of Aveiro / Institute of Telecommunications Aveiro E-mail: salvador@av.it.pt; rv@det.ua.pt Abstract The

More information

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks University of Tübingen Chair for Computer Networks and Internet Adapting Distributed Hash Tables for Mobile Ad Hoc Networks Tobias Heer, Stefan Götz, Simon Rieche, Klaus Wehrle Protocol Engineering and

More information

8 Conclusion and Future Work

8 Conclusion and Future Work 8 Conclusion and Future Work This chapter concludes this thesis and provides an outlook on future work in the area of mobile ad hoc networks and peer-to-peer overlay networks 8.1 Conclusion Due to the

More information

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

Exploring the Design Space of Distributed and Peer-to-Peer Systems: Comparing the Web, TRIAD, and Chord/CFS Exploring the Design Space of Distributed and Peer-to-Peer Systems: Comparing the Web, TRIAD, and Chord/CFS Stefan Saroiu, P. Krishna Gummadi, Steven D. Gribble University of Washington Abstract: Despite

More information

SCALABLE RANGE QUERY PROCESSING FOR LARGE-SCALE DISTRIBUTED DATABASE APPLICATIONS *

SCALABLE RANGE QUERY PROCESSING FOR LARGE-SCALE DISTRIBUTED DATABASE APPLICATIONS * SCALABLE RANGE QUERY PROCESSING FOR LARGE-SCALE DISTRIBUTED DATABASE APPLICATIONS * Maha Abdallah LIP6, Université Paris 6, rue du Capitaine Scott 75015 Paris, France Maha.Abdallah@lip6.fr Hung Cuong Le

More information

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

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing Department of Computer Science Institute for System Architecture, Chair for Computer Networks File Sharing What is file sharing? File sharing is the practice of making files available for other users to

More information

P2P Storage Systems. Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung

P2P Storage Systems. Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung P2P Storage Systems Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung Outline Introduction Distributed file systems P2P file-swapping systems P2P storage systems Strengths

More information

CS5412: TIER 2 OVERLAYS

CS5412: TIER 2 OVERLAYS 1 CS5412: TIER 2 OVERLAYS Lecture VI Ken Birman Recap 2 A week ago we discussed RON and Chord: typical examples of P2P network tools popular in the cloud Then we shifted attention and peeked into the data

More information

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks Chin-Tser Huang, Prasanth Kalakota, Alexander B. Alexandrov Department of Computer Science and Engineering University

More information

New Algorithms for Load Balancing in Peer-to-Peer Systems

New Algorithms for Load Balancing in Peer-to-Peer Systems New Algorithms for Load Balancing in Peer-to-Peer Systems David R. Karger Matthias Ruhl MIT Laboratory for Computer Science Cambridge, MA 02139, USA {karger, ruhl}@theory.lcs.mit.edu Abstract Load balancing

More information

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

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet AUTHOR: Jem E. Berkes umberkes@cc.umanitoba.ca University of Manitoba Winnipeg, Manitoba Canada April 9, 2003 Introduction Although

More information

RESEARCH ISSUES IN PEER-TO-PEER DATA MANAGEMENT

RESEARCH ISSUES IN PEER-TO-PEER DATA MANAGEMENT RESEARCH ISSUES IN PEER-TO-PEER DATA MANAGEMENT Bilkent University 1 OUTLINE P2P computing systems Representative P2P systems P2P data management Incentive mechanisms Concluding remarks Bilkent University

More information

Decentralized supplementary services for Voice-over-IP telephony

Decentralized supplementary services for Voice-over-IP telephony Decentralized supplementary services for Voice-over-IP telephony Christoph Spleiß and Gerald Kunzmann Technische Universität München 80333 Munich, Germany {christoph.spleiss,gerald.kunzmann}@tum.de Abstract.

More information

Peer-VM: A Peer-to-Peer Network of Virtual Machines for Grid Computing

Peer-VM: A Peer-to-Peer Network of Virtual Machines for Grid Computing Peer-VM: A Peer-to-Peer Network of Virtual Machines for Grid Computing (Research Proposal) Abhishek Agrawal (aagrawal@acis.ufl.edu) Abstract This proposal discusses details about Peer-VM which is a peer-to-peer

More information

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols Anthony J Howe Supervisor: Dr Mantis Cheng University of Victoria February 28, 2002 Abstract This article presents the reverse engineered

More information

A Peer-to-Peer File Sharing System for Wireless Ad-Hoc Networks

A Peer-to-Peer File Sharing System for Wireless Ad-Hoc Networks 1 A Peer-to-Peer File Sharing System for Wireless Ad-Hoc Networks Hasan Sözer, Metin Tekkalmaz, and İbrahim Körpeoğlu Abstract File sharing in wireless ad-hoc networks in a peerto-peer manner imposes many

More information

Acknowledgements. Peer to Peer File Storage Systems. Target Uses. P2P File Systems CS 699. Serving data with inexpensive hosts:

Acknowledgements. Peer to Peer File Storage Systems. Target Uses. P2P File Systems CS 699. Serving data with inexpensive hosts: Acknowledgements Peer to Peer File Storage Systems CS 699 Some of the followings slides are borrowed from a talk by Robert Morris (MIT) 1 2 P2P File Systems Target Uses File Sharing is one of the most

More information

A Survey of Peer-to-Peer File Sharing Technologies

A Survey of Peer-to-Peer File Sharing Technologies Athens University of Economics and Business The ebusiness Centre (www.eltrun.gr) A Survey of Peer-to-Peer File Sharing Technologies White Paper Page 1 of 1 A Survey of Peer-to-Peer File Sharing Technologies

More information

Approximate Object Location and Spam Filtering on Peer-to-Peer Systems

Approximate Object Location and Spam Filtering on Peer-to-Peer Systems Approximate Object Location and Spam Filtering on Peer-to-Peer Systems Feng Zhou, Li Zhuang, Ben Y. Zhao, Ling Huang, Anthony D. Joseph and John D. Kubiatowicz University of California, Berkeley The Problem

More information

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

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P) Distributed Computing over Communication Networks: Topology (with an excursion to P2P) Some administrative comments... There will be a Skript for this part of the lecture. (Same as slides, except for today...

More information

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks T.Chandrasekhar 1, J.S.Chakravarthi 2, K.Sravya 3 Professor, Dept. of Electronics and Communication Engg., GIET Engg.

More information

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

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390 The Role and uses of Peer-to-Peer in file-sharing Computer Communication & Distributed Systems EDA 390 Jenny Bengtsson Prarthanaa Khokar jenben@dtek.chalmers.se prarthan@dtek.chalmers.se Gothenburg, May

More information

I. Middleboxes No Longer Considered Harmful II. A Layered Naming Architecture for the Internet

I. Middleboxes No Longer Considered Harmful II. A Layered Naming Architecture for the Internet I. Middleboxes No Longer Considered Harmful II. A Layered Naming Architecture for the Internet Seminar in Distributed Computing Louis Woods / 14.11.2007 Intermediaries NATs (NAPTs), firewalls and other

More information

Join and Leave in Peer-to-Peer Systems: The DASIS Approach

Join and Leave in Peer-to-Peer Systems: The DASIS Approach Join and Leave in Peer-to-Peer Systems: The DASIS Approach Keno Albrecht, Ruedi Arnold, Michael Gähwiler, Roger Wattenhofer {kenoa@inf, rarnold@inf, mgaehwil@student, wattenhofer@inf}.ethz.ch Department

More information

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

A Survey and Comparison of Peer-to-Peer Overlay Network Schemes % " #$! IEEE COMMUNICATIONS SURVEY AND TUTORIAL, MARCH 2004 1 A Survey and Comparison of Peer-to-Peer Overlay Network Schemes Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim Abstract

More information

LOAD BALANCING WITH PARTIAL KNOWLEDGE OF SYSTEM

LOAD BALANCING WITH PARTIAL KNOWLEDGE OF SYSTEM LOAD BALANCING WITH PARTIAL KNOWLEDGE OF SYSTEM IN PEER TO PEER NETWORKS R. Vijayalakshmi and S. Muthu Kumarasamy Dept. of Computer Science & Engineering, S.A. Engineering College Anna University, Chennai,

More information

Middleware and Distributed Systems. Peer-to-Peer Systems. Martin v. Löwis. Montag, 30. Januar 12

Middleware and Distributed Systems. Peer-to-Peer Systems. Martin v. Löwis. Montag, 30. Januar 12 Middleware and Distributed Systems Peer-to-Peer Systems Martin v. Löwis Peer-to-Peer Systems (P2P) Concept of a decentralized large-scale distributed system Large number of networked computers (peers)

More information

Security in Structured P2P Systems

Security in Structured P2P Systems P2P Systems, Security and Overlays Presented by Vishal thanks to Dan Rubenstein Columbia University 1 Security in Structured P2P Systems Structured Systems assume all nodes behave Position themselves in

More information

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks Adapting Distributed Hash Tables for Mobile Ad Hoc Networks Tobias Heer, Stefan Götz, Simon Rieche, Klaus Wehrle {heer,goetzs,rieche,wehrle}@informatik.uni-tuebingen.de Protocol Engineering and Distributed

More information

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

PEER-TO-PEER (P2P) systems have emerged as an appealing IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 21, NO. 4, APRIL 2009 595 Histogram-Based Global Load Balancing in Structured Peer-to-Peer Systems Quang Hieu Vu, Member, IEEE, Beng Chin Ooi,

More information

Traceroute-Based Topology Inference without Network Coordinate Estimation

Traceroute-Based Topology Inference without Network Coordinate Estimation Traceroute-Based Topology Inference without Network Coordinate Estimation Xing Jin, Wanqing Tu Department of Computer Science and Engineering The Hong Kong University of Science and Technology Clear Water

More information

Load Balancing in Distributed Systems: A survey

Load Balancing in Distributed Systems: A survey Load Balancing in Distributed Systems: A survey Amit S Hanamakkanavar * and Prof. Vidya S.Handur # * (amitsh2190@gmail.com) Dept of Computer Science & Engg, B.V.B.College of Engg. & Tech, Hubli # (vidya_handur@bvb.edu)

More information

Load Balancing in Structured P2P Systems

Load Balancing in Structured P2P Systems 1 Load Balancing in Structured P2P Systems Ananth Rao Karthik Lakshminarayanan Sonesh Surana Richard Karp Ion Stoica ananthar, karthik, sonesh, karp, istoica @cs.berkeley.edu Abstract Most P2P systems

More information

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols Purvi N. Ramanuj Department of Computer Engineering L.D. College of Engineering Ahmedabad Hiteishi M. Diwanji

More information

Multicast vs. P2P for content distribution

Multicast vs. P2P for content distribution Multicast vs. P2P for content distribution Abstract Many different service architectures, ranging from centralized client-server to fully distributed are available in today s world for Content Distribution

More information

Towards a scalable ad hoc network infrastructure

Towards a scalable ad hoc network infrastructure Towards a scalable ad hoc network infrastructure Ansley Post abpost@rice.edu Rice University, Houston, TX, USA Abstract As wirelessly networked devices become more pervasive, large scale mobile ad hoc

More information

Trace Driven Analysis of the Long Term Evolution of Gnutella Peer-to-Peer Traffic

Trace Driven Analysis of the Long Term Evolution of Gnutella Peer-to-Peer Traffic Trace Driven Analysis of the Long Term Evolution of Gnutella Peer-to-Peer Traffic William Acosta and Surendar Chandra University of Notre Dame, Notre Dame IN, 46556, USA {wacosta,surendar}@cse.nd.edu Abstract.

More information

P2P: centralized directory (Napster s Approach)

P2P: centralized directory (Napster s Approach) P2P File Sharing P2P file sharing Example Alice runs P2P client application on her notebook computer Intermittently connects to Internet; gets new IP address for each connection Asks for Hey Jude Application

More information

A Topology-Aware Relay Lookup Scheme for P2P VoIP System

A Topology-Aware Relay Lookup Scheme for P2P VoIP System Int. J. Communications, Network and System Sciences, 2010, 3, 119-125 doi:10.4236/ijcns.2010.32018 Published Online February 2010 (http://www.scirp.org/journal/ijcns/). A Topology-Aware Relay Lookup Scheme

More information

Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security

Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security Ehsan Saboori and Shahriar Mohammadi Abstract One of the most important issues in peer-to-peer networks is anonymity.

More information

A Comparative Study of the DNS Design with DHT-Based Alternatives

A Comparative Study of the DNS Design with DHT-Based Alternatives A Comparative Study of the DNS Design with DHT-Based Alternatives Vasileios Pappas Computer Science Department UCLA Email: vpappas@cs.ucla.edu Dan Massey Computer Science Department Colorado State University

More information

Enhancing Secure File Transfer by Analyzing Repeated Server Based Strategy using Gargantuan Peers (G-peers)

Enhancing Secure File Transfer by Analyzing Repeated Server Based Strategy using Gargantuan Peers (G-peers) Enhancing Secure File Transfer by Analyzing Repeated Server Based Strategy using Gargantuan Peers (G-peers) Kaushik Sekaran Assistant Professor School of Computing Science & Engineering VIT University,

More information

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

Research on P2P-SIP based VoIP system enhanced by UPnP technology December 2010, 17(Suppl. 2): 36 40 www.sciencedirect.com/science/journal/10058885 The Journal of China Universities of Posts and Telecommunications http://www.jcupt.com Research on P2P-SIP based VoIP system

More information

PEER TO PEER FILE SHARING USING NETWORK CODING

PEER TO PEER FILE SHARING USING NETWORK CODING PEER TO PEER FILE SHARING USING NETWORK CODING Ajay Choudhary 1, Nilesh Akhade 2, Aditya Narke 3, Ajit Deshmane 4 Department of Computer Engineering, University of Pune Imperial College of Engineering

More information

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING CHAPTER 6 CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING 6.1 INTRODUCTION The technical challenges in WMNs are load balancing, optimal routing, fairness, network auto-configuration and mobility

More information

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science chord@lcs.mit.edu

More information

The Case for a Hybrid P2P Search Infrastructure

The Case for a Hybrid P2P Search Infrastructure The Case for a Hybrid P2P Search Infrastructure Boon Thau Loo Ryan Huebsch Ion Stoica Joseph M. Hellerstein University of California at Berkeley Intel Research Berkeley boonloo, huebsch, istoica, jmh @cs.berkeley.edu

More information

Routing with OSPF. Introduction

Routing with OSPF. Introduction Routing with OSPF Introduction The capabilities of an internet are largely determined by its routing protocol. An internet's scalability, its ability to quickly route around failures, and the consumption

More information

GRIDB: A SCALABLE DISTRIBUTED DATABASE SHARING SYSTEM FOR GRID ENVIRONMENTS *

GRIDB: A SCALABLE DISTRIBUTED DATABASE SHARING SYSTEM FOR GRID ENVIRONMENTS * GRIDB: A SCALABLE DISTRIBUTED DATABASE SHARING SYSTEM FOR GRID ENVIRONMENTS * Maha Abdallah Lynda Temal LIP6, Paris 6 University 8, rue du Capitaine Scott 75015 Paris, France [abdallah, temal]@poleia.lip6.fr

More information

Administrative Distance

Administrative Distance RIP is a distance vector routing protocol. It shares routing information through the local broadcast in every 30 seconds. In this tutorial we will explain RIP routing fundamentals with examples such as

More information

Clustering in Peer-to-Peer File Sharing Workloads

Clustering in Peer-to-Peer File Sharing Workloads Clustering in Peer-to-Peer File Sharing Workloads F. Le Fessant, S. Handurukande, A.-M. Kermarrec & L. Massoulié INRIA-Futurs and LIX, Palaiseau, France Distributed Programming Laboratory, EPFL, Switzerland

More information

A Review on Efficient File Sharing in Clustered P2P System

A Review on Efficient File Sharing in Clustered P2P System A Review on Efficient File Sharing in Clustered P2P System Anju S Kumar 1, Ratheesh S 2, Manoj M 3 1 PG scholar, Dept. of Computer Science, College of Engineering Perumon, Kerala, India 2 Assisstant Professor,

More information

MASHUPS are an icon of Web 2.0 applications. A

MASHUPS are an icon of Web 2.0 applications. A , 23-25 October, 2013, San Francisco, USA MashChord: A Structured Peer-to-Peer Architecture for Mashups Based on Chord Osama Al-Haj Hassan, Ashraf Odeh, and Anas Abu Taleb Abstract Mashups are key category

More information

Chapter 4. Distance Vector Routing Protocols

Chapter 4. Distance Vector Routing Protocols Chapter 4 Distance Vector Routing Protocols CCNA2-1 Chapter 4 Note for Instructors These presentations are the result of a collaboration among the instructors at St. Clair College in Windsor, Ontario.

More information

Cooperative Monitoring for Internet Data Centers

Cooperative Monitoring for Internet Data Centers Cooperative Monitoring for Internet Data Centers Kuai Xu Feng Wang Arizona State University Division of Mathematical and Natural Sciences New College of Interdisciplinary Arts & Sciences P.O. Box 371,

More information

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

Storage Systems Autumn 2009. Chapter 6: Distributed Hash Tables and their Applications André Brinkmann Storage Systems Autumn 2009 Chapter 6: Distributed Hash Tables and their Applications André Brinkmann Scaling RAID architectures Using traditional RAID architecture does not scale Adding news disk implies

More information

Distance Vector Routing Protocols. Routing Protocols and Concepts Ola Lundh

Distance Vector Routing Protocols. Routing Protocols and Concepts Ola Lundh Distance Vector Routing Protocols Routing Protocols and Concepts Ola Lundh Objectives The characteristics of distance vector routing protocols. The network discovery process of distance vector routing

More information

Scaling 10Gb/s Clustering at Wire-Speed

Scaling 10Gb/s Clustering at Wire-Speed Scaling 10Gb/s Clustering at Wire-Speed InfiniBand offers cost-effective wire-speed scaling with deterministic performance Mellanox Technologies Inc. 2900 Stender Way, Santa Clara, CA 95054 Tel: 408-970-3400

More information

T he Electronic Magazine of O riginal Peer-Reviewed Survey Articles ABSTRACT

T he Electronic Magazine of O riginal Peer-Reviewed Survey Articles ABSTRACT SECOND QUARTER 2005, VOLUME 7, NO. 2 IEEE C OMMUNICATIONS SURVEYS T he Electronic Magazine of O riginal -Reviewed Survey Articles www.comsoc.org/pubs/surveys A SURVEY AND COMPARISON OF PEER-TO-PEER OVERLAY

More information

Internet Control Message Protocol (ICMP)

Internet Control Message Protocol (ICMP) SFWR 4C03: Computer Networks & Computer Security Jan 31-Feb 4, 2005 Lecturer: Kartik Krishnan Lecture 13-16 Internet Control Message Protocol (ICMP) The operation of the Internet is closely monitored by

More information

RARP: Reverse Address Resolution Protocol

RARP: Reverse Address Resolution Protocol SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it

More information

Mobile File-Sharing over P2P Networks

Mobile File-Sharing over P2P Networks Category: P2P obile File-Sharing over P2P Networks Lu Yan Åbo Akademi, Finland INTRODUCTION Peer-to-peer (P2P) computing is a networking and distributed computing paradigm which allows the sharing of computing

More information

Efficient Search in Gnutella-like Small-World Peerto-Peer

Efficient Search in Gnutella-like Small-World Peerto-Peer Efficient Search in Gnutella-like Small-World Peerto-Peer Systems * Dongsheng Li, Xicheng Lu, Yijie Wang, Nong Xiao School of Computer, National University of Defense Technology, 410073 Changsha, China

More information

Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems

Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems Matei Ripeanu, Ian Foster {matei, foster}@cs.uchicago.edu Abstract Despite recent excitement generated by the peer-to-peer

More information

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Executive Summary Oracle Berkeley DB is used in a wide variety of carrier-grade mobile infrastructure systems. Berkeley DB provides

More information

Optimizing and Balancing Load in Fully Distributed P2P File Sharing Systems

Optimizing and Balancing Load in Fully Distributed P2P File Sharing Systems Optimizing and Balancing Load in Fully Distributed P2P File Sharing Systems (Scalable and Efficient Keyword Searching) Anh-Tuan Gai INRIA Rocquencourt anh-tuan.gai@inria.fr Laurent Viennot INRIA Rocquencourt

More information

5. Peer-to-peer (P2P) networks

5. Peer-to-peer (P2P) networks 5. Peer-to-peer (P2P) networks PA191: Advanced Computer Networking I. Eva Hladká Slides by: Tomáš Rebok Faculty of Informatics Masaryk University Autumn 2015 Eva Hladká (FI MU) 5. P2P networks Autumn 2015

More information

query enabled P2P networks 2009. 08. 27 Park, Byunggyu

query enabled P2P networks 2009. 08. 27 Park, Byunggyu Load balancing mechanism in range query enabled P2P networks 2009. 08. 27 Park, Byunggyu Background Contents DHT(Distributed Hash Table) Motivation Proposed scheme Compression based Hashing Load balancing

More information

An integrated approach for P2P file sharing on multi-hop wireless networks

An integrated approach for P2P file sharing on multi-hop wireless networks 1 An integrated approach for P2P file sharing on multi-hop wireless networks Bin Tang, Zongheng Zhou, Anand Kashyap and Tzi-cker Chiueh Abstract P2P file sharing protocol and Ad Hoc wireless routing protocol

More information