ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

Survey on Architecture of Peer-to-Peer Network

Kaushik Adhikary#1, Amit Bindal#2 , Gurmanjeet Kaur #3 #1, #2, #3 Dep’t. of CSE, MMU, Mullana, India [email protected] #1, [email protected]#2, [email protected]#3

Abstract

In recent times peer-to-peer networking has gained In a peer-to-peer network all nodes are equivalent since popularity since users can files without having to P2P is decentralized and distributed. communicate with a dedicated server. Peer-to-peer In a peer-to-peer network resources are distributed all over. network have a scalable and fault-tolerant system that can Any centralized control or organizations are not present in locate nodes on a network with no need to maintain a pure P2P network. Hence, traditional -server is state having a lot of information. As the bandwidth of different from P2P network. The nodes have an equal role connection has increased as well as the low cost, it as well as no hierarchy or central servers are needed as well has resulted in increase use of peer-to-peer networks. Peer- as resources are fully decentralized. Nodes in Peer-to-peer to-Peer networks have the ability to deliver contents and can function simultaneously as client and server and are services to other users easily. In this paper we discuss called as peers. The data is distributed and transferred in a about the various architecture of peer-to-peer networks. P2P manner and between these models lay the hybrid model where the server is used for lookups of resources. Keywords An example of hybrid model is a . Many P2P systems are used for file nowadays. But Peer-to-peer network, structured P2P, unstructured through peer-to-peer often involve illegal and copyright violations of sharing movies, music etc. Due to the P2P excessive network load that P2P file sharing causes, many 1. INTRODUCTION operators obstruct P2P traffic in their network. 2. P2P APPLICATIONS The traditional client-server architecture can be replaced by peer-to-peer network. In peer-to-peer architecture each • Instant Messaging (IM): technologies for sending nearly machine refered to as a peer can work as client with its instantaneous messages between users. Examples of own functions as that of a server and can use a such software are Microsoft's MSN Messenger, Trillian decentralised model.At the same time a peer can function and ICQ [1]. as a client as well as a server. It means that a peer can send • File Sharing: technologies for sharing data between request to other peer and at the same time can respond to equal peers in large networks; one identifying other incoming peer request. This differs from a traditional characteristic of such networks is the lack of any central client server model in which a client sends request to server entity. Examples of such software are , and then has to wait for server’s response. In a peer-to-peer and Limewire [1]. network, a peer is one of the entities connected with a P2P • Grid Computing: technologies for sharing computer application. So while referring a peer it can be both the resources, most commonly CPU cycles, among many applicaion and the user of the application being different systems. This can be used to perform refered.There are only peers in P2P application. Some peers processing of large amounts of data distributed over a are called super nodes in which a P2P networks relies on a large number of computers. An example of such centralized server in one form or the other. These super software is the SETI@home project [2]. nodes are not refered to as peers while discussing their 3. PROPERTIES OF P2P NETWORK concepts. The following desirable properties: Peer-to-peer networks have become increasingly popular in Decentralization: The data structure should be distributed recent times. A part of harware resouces such as processing among all the participants of the system. A central server, power,storage capacity or network bandwidth are shared by or even a cluster of such servers, may prove to be intolerant the Peer-to-peer participants. Without passing intermediary to faults, and will require considerable investment for high- entities, the service or content provided by the P2P network performance hardware and high bandwidth. Scalability: is accessible by other peers. Harnessing resourses such as The Internet user community has grown to be so large that storage, bandwidth and computing power of large distributed systems need to cope with millions of users. In populations of networked computers in a cost effective an ideal peer-to-peer system, the cost borne by each manner can be made possible by the peer-to-peer network.

IJCTA | NOV-DEC 2011 3089 Available [email protected] ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

participant should not depend too much on the size of the virtual links of the overlay. The protocol also determines entire system [3]. the lookup mechanism of the P2P overlay, as the resources Load balancing: It is like the cost of maintaining the have to be found somehow in the absence of a centralized system to be uniformly shared between all the peers. entity. The protocols for network maintenance and search Similarly, the system should be able to manage flash operation can also be separate, like in [7]. crowds i.e., high data request volume due to temporal locality, when a particular resource becomes extremely popular for a short period of time. Dynamic maintenance: The massive parallelism in peer-to-peer systems, due to high rate of machine arrival and departures, presents some very challenging issues that are trivially solved in a system with fixed membership. The system should be self- configuring, and machines and resources should be added and deleted from the system quickly without manual intervention or oversight[3]. Fault tolerance: The data structure should be resilient to both machine and link failures in the system. Even if a part of the system has failed, the data available in the surviving machines should still be accessible, as long as it is located in the same connected component as the requesting peer. Further, the system should gracefully degrade with increasing failures[3][4]. Self-stabilization: Not only should the system survive disruptions due to failures, but it should also heal Figure 1: Peer-to-Peer overlay Architecture automatically to restore ideal performance. The system The absence of a centralized entity also presents the should have a repair mechanism that detects local problem of how to join some P2P overlay. The process of inconsistencies such as machine failures or link outages, finding some of a P2P overlay is called bootstrapping. and triggers maintenance operations with minimal overhead There are different ways to locate a bootstrap node, such as in terms of network traffic[4]. multicasting, cached addresses and pre-configuration. Efficient searching: The primary goal of a peer-to-peer The of Peer-to-Peer overlay is system is to locate resources efficiently, and hence support essentially different when compared to the conventional CS for searching using a variety of specifications is a very architecture. The main goal of P2P overlay networks is to desirable property. Complex queries to locate resources share the resources such as bandwidth, storage, such as range queries, near matches to a key, and keyword computation power of participating peers. Thus, taking matches should be supported by a rich query language [3]. advantage of this distributed resource network, the usage of Security: The system should be secure against attacks such centralized servers can be avoided. However, even though as a denial-of-service attack, where some miscreant good scalability is possible with P2P systems, P2P systems participants may "flood" the system, thereby preventing with poor scalability also exist. There are different lookup legitimate traffic. In some applications, it may also be mechanisms and they also depend on how their overlay desirable to maintain anonymity of the users, or provide topologies are arranged and managed. There are thus many resistance to censorship by preventing certain data items to different ways to implement a P2P , and be deleted from the system [4][5]. many different protocols with their algorithms have been Topologically-sensitive construction: Routing should be developed for P2P systems. P2P overlay networks can be sensitive to network locality such as distance traveled or divided into two subgroups, unstructured and structured latency along transmission paths. Two possible approaches overlay networks depending on how the peers are are: (i) Proximity routing where machines are placed in the connected with each other. The fundamental problem of network to exploit the underlying topology, and (ii) decentralization is resource discovery, e.g. finding a Proximity neighbor selection where the closest neighbors particular node, service or file. This is done differently in are chosen among the set of potential neighbors [4][6]. unstructured and structured networks. Today, structured 4. CONCEPT OF PEER-TO-PEER overlay networks are more common among the P2P systems [8]. OVERLAY NETWORKS 5. P2P ARCHITECTURE There are several ways to classify P2P networks. One Peer-to-Peer (P2P) networks are overlay networks on top of the IP network topology. The topology of an overlay is approach considers the application a P2P network is used logical, so the underlying physical topology is usually for (e.g., file sharing, telephony, media streaming etc.). Another approach includes the degree of centralization and different from the overlay topology. Each peer node maintains a set of virtual links to other peers that become distinguishes between pure P2P without central server its neighbors, and these links form the overlay network. (peers act as equals) and networks with central server Every peer knows the location of at least one another node keeping information on peers. In this context, the following terminology can be found: centralized, or decentralized P2P in the P2P overlay. An overlay network is formed by some protocol that uses some specific algorithm to manage the networks, structured, unstructured, or hybrid (so-called super-peer architectures) P2P networks. P2P overlays can

IJCTA | NOV-DEC 2011 3090 Available [email protected] ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

be divided into unstructured and structured overlays, but of these regular peers in the P2P overlay. In this case, only P2P overlays based on a hybrid structure also exist. the super nodes run the P2P algorithm. Unstructured P2P overlays are divided into two categories: 5.2 Unstructured Peer-to-Peer Overlay ones with a flooding based lookup method and ones with a random walk-based lookup method. Both of these have Networks random topology of peer connections. Structured P2P Many file sharing networks in the Internet have been based overlays with a structured and logical topology are more on unstructured P2P networks. An unstructured network is advanced. Structured P2P overlays can be classified based based on an overlay of randomly connected peers. on the routing mechanism or on the topology. Chord, Therefore, an algorithm that is used within the overlay does Pastry, CAN and , have a flat topology and the not organize the structure of the overlay, but the network is routing of which is classified as second generation multi self-organizing. Nodes join the overlay network with some hop-based routing. This means that they use incrementally loose rules, without any prior knowledge of the topology. converging routing with multiple hops in order to find the Proximity is not always taken into account in unstructured target [8]. P2P networks. This means that neighbor peers might be located in the same subnet like in the same building or may 5.1 Super nodes in a Peer-to-Peer Overlay as well be on the other side of the world. Some networks adapt to the underlying physical topology, but such Network optimization is not required for the algorithm to work In a basic P2P overlay network, the peers have equal roles properly. NATs and firewalls cause difficulties in P2P and they participate equally in the lookup queries. connections, and therefore unstructured systems have However, super nodes can be used together with regular concentrated on these practical problems in order to make peers. These super nodes are more capable peers and they the system work. This is an important issue address in P2P function as server-like peers causing a hierarchical systems, as the majority of Internet computers are behind a difference between regular peers and super nodes. NAT [10]. 5.2.1 Resource Lookup in Unstructured P2P Overlay Networks A resource lookup in an unstructured overlay network is not very efficient, as the overlay structure is not deterministic. A node in an unstructured P2P network is in principal unaware of the resources its neighbor peers maintain. There are two ways to implement a lookup in unstructured overlays. One is the flooding-based lookup method, and another is the random walk-based lookup.

Figure 2: Peer-to-Peer Supernode Architecture

Figure 3: Unstructured P2P Network with Message A super node is a well-known P2P node that has some guarantee of high availability, computing resources and Flooding available networking bandwidth. Accordingly, they can provide more resources for other peers and they are usually more stable than regular peers. A regular peer may also In the flooding-based method, a lookup is based on a "blind become a super node, if the requirements are fulfilled. search" where the request is flooded in the network by Thereby, it does not necessarily need to have a static public sending it to every neighbor. If neighbors of a receiving IP address or DNS name for super node, if it is otherwise peer do not have the resource the peer is looking for, they well-known and has sufficient bandwidth capacity. send the request to their neighbors. The request floods in However, these are useful capacities especially if an the overlay until their Time-To-Live (TTL) counter reaches operator provides super node functionalities for a network its limit this counter is decreased after every hop. This [9]. counter is used to avoid the request to be flooded to the The use of super nodes implies a hierarchical structure entire overlay and to avoid the overlay network to be instead of a flat structure. However, a flat structure can also congested of search requests. However, this may cause the have super nodes, if the regular peers do not participate in search to fail, when some peers are outside the TTL limit the overlay signaling. Instead, the super nodes act on behalf and therefore cannot be reached. Flooding-based search is inefficient especially in large networks. Every node within

IJCTA | NOV-DEC 2011 3091 Available [email protected] ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

the TTL range of a query has to participate in the lookup split into segments. Super nodes are used. Kazaa network either by answering or forwarding the query. A flooding- has not been shut down, as the owners of Kazaa are not based lookup has a theoretical limit of N hops, where N is legally responsible for the actions of the users[15]. the number of nodes within the queries range, range 5.2.2.5 Bit Torrent defined by TTL. The limited search horizon is not critical The Bit Torrent protocol is currently the world's leading but is rather accepted in open file sharing networks such as peer-assisted digital content delivery platform. Bit Torrent Kazaa, because they are used for general file sharing and uses unstructured overlay topology, but also DHT-based do not require every file to be reachable for everyone. In Bit Torrent clients exist like uTorrent. Bit Torrent is not applications such as reliable distributed data storage, where fully decentralized, as it uses websites to publish the the resource has to be found, this limitation is unacceptable. information of files the people are sharing. These links This kind of application with reliable search mechanism enables the contact with a tracker, which gives a list of can be implemented using more efficient structured peers that are sharing the file. With these trackers, a client overlays. In the random walk method, a lookup query is can join a "swarm" i.e. a group of peers and start forwarded to a randomly chose neighbor at each step until downloading from multiple peers. This feature enables very the object is found. Multiple "walkers" can also be used to fast downloading and is a major reason for the popularity of enhance the query process. Random walk querying is Bit Torrent. In addition to general file sharing, a growing optimally only as fast as the flooding-based, but it reduces number of individuals and organizations are using Bit the network traffic by two orders of magnitude in many Torrent for fully legal material distribution like TV shows cases [11][12]. [15]. 5.2.2 Examples of Unstructured P2P Networks 5.3 Structured Peer-to-Peer Overlay Here some of the most well-known unstructured P2P protocols that are used in file sharing are presented. They Networks are presented mainly in order to identify some file sharing Structured overlay networks overcome the limitations of networks that use unstructured P2P algorithms. In addition unstructured networks by organizing the topology with to unstructured P2P networks, today many P2P file sharing some structured content location mechanism such as DHT. networks are based on structured networks and use Like an unstructured network, a structured network is an Distributed hash tables (DHTs). overlay having virtual link connections between the 5.2.2.1 Napster participating nodes. However, only structured overlay networks create virtual topologies based on node-content Napster, along with some others such as Gnutella and Free attributes such as a hashed IP address of the node. These net, was one of the first P2P experiments. It is a hybrid peers are assigned with static identifiers by using a system, as only the download capability is distributed. The distributed data structure such as DHT. The identifier search is done using the central Napster index server. values determine the structure of the overlay, as the Napster was shut down due to illegal digital music sharing. identifiers are organized logically. As consequences of the However, it was an important stepping stone and it paved deterministic structure of structured overlay networks, the way for decentralized file-sharing programs such as maintenance efforts to keep the correct structure are KaZaA[13]. increased due to the churn i.e. joins and leaves of nodes. 5.2.2.2 eDonkey The churn concerns especially structured P2P overlays, as The eDonkey network is also based on a hybrid model. structured overlays need to maintain a specific and valid eDonkey uses multiple hubs, whereas Napster uses just one structure of the overlay. If the churn handling of the entity. Even though the eDonkey client distribution was algorithm is not efficient enough, it may cause the entire forced to end also due to the illegal usage of the network, algorithm to be inefficient. Also, if churn was handled too the eDonkey network still stands as one of the most popular aggressively, it could also make the algorithm inefficient, P2P file sharing networks. This continuity of the network as then the maintenance signaling would load the overlay operation is possible, because it is not operated by any unnecessarily. However, even though the churn is needed single central entity[13]. to be taken care of in the design of structured P2P 5.2.2.3 Gnutella algorithms, structured P2P overlay networks is in general Gnutella was developed a year after Napster, and in well scalable. Applications of structured overlay networks contrast to Napster, it is fully distributed. Gnutella gained include large and reliable data-sharing, content distribution wide popularity after Napster was shut down in early 2001. and application level applications, and Internet Initial poor scalability was enhanced e.g. with super nodes, voice and other media communication applications [15[16]. and later with central "hubs" in . Also the search 5.3.1 Resource Lookup in Structured P2P mechanism was improved. Gnutella is still operational, but accounts for less than 10% of total P2P network traffic[14]. Overlay Networks 5.2.2.4 Fast Track A lookup in structured overlays is based on identifiers derived from the content. However, as a consequence of Fast Track is a P2P protocol for file sharing mainly mp3 this, advanced keyword-based searches are not directly music, but also other file types. Fast Track is used mainly supported in structured overlay networks, but can be by Kazaa. Kazaa was created by the founders of Skype and layered on top of a DHT. Every peer holds information on it is the third most used file sharing network after Bit the resources offered by its neighbor peers, and every peer Torrent and eDonkey networks. Kazaa does not have participates if needed in the search queries either by central entities, but any peer may become a super node. A forwarding or replying. In addition to this, as the overlay file can be downloaded using multiple peers, as the files are network is structured deterministically, every peer knows

IJCTA | NOV-DEC 2011 3092 Available [email protected] ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

"whereabouts" a resource can be found, if present in the overlay network. This implies that, unlike in the blind search method, queries can be directed, and each hop brings the query closer to its target either recursively or iteratively. This reduces the need of messaging and peer involvement. Therefore, the load for the network is substantially reduced. In addition, as a search does not need to be TTL-limited in structured networks, false negatives can be entirely avoided. In the case of false negative, a resource to be searched would not found even if available in the network. This feature is very important in reliability- demanding systems like in VoIP environment or distributed data storage. In addition to guaranteed data retrieval, structured overlay networks have three other qualities. These are provable lookup-time horizons, where N is the number of peers within the overlay, automatic load balancing and self-organization. The provable lookup time horizon means that as the network is structured, the maximum hops needed to solve a query is known and therefore bounded. Automatic load balancing is achieved Figure 4: DHT Distributed to the Peers by the function of DHT of distributing keys evenly over the nodes. Load balancing can be achieved also e.g. with file downloading, where a downloading peer automatically In general, DHTs can be used in decentralized distributed becomes a peer to provide the content for downloading. systems to partition the ownership of a set of keys among Self-organization is achieved using rules that define where participating nodes. Routing of messages to the unique the key identifier of a joining peer or resource needs to be owner of any given key of the key space is efficient and located. The information of the new peer or resource is sent reliable even in large networks [18]. in the same way that a lookup is done to the peer that is 5.3.4 Consistent hashing responsible for that part of the key space where the new key belongs. Also, when the protocol notices that some ID Most algorithms that use DHTs partition the key space in the responsibility range of the peer is lost, it takes using some variant of consistent hashing. Consistent appropriate actions to ensure that the structural rules apply hashing is designed to allow a node to leave and to join the and no old and thereby invalid mappings exist[16]. overlay with minimal disruption. Every peer in the overlay 5.3.2 (DHT) network is assigned an identifier (ID) key i. All the keys, which are closest to the ID key i of the peer, are owned by As was stated earlier, DHT abstraction can be used to the peer. Consistent hashing can be used to map keys to implement a structured P2P overlay algorithm. By being peers using an abstract notion of distance between two distributed, DHTs provide a location-independent substrate keys. This range is defined by a function of consistent that enables general mapping between any information and hashing technique. An essential property of consistent a location within an overlay key space. DHTs were hashing is that when a peer leaves or joins the overlay motivated in part by P2P file sharing networks such as network, no remapping of entire key space is needed with Napster and Gnutella that suffered from scalability and/or traditional hash tables nearly the entire key space has to be security issues. DHTs have the benefits of Napster and remapped. This implies that only peers having adjacent IDs Gnutella, while still being well efficient and scalable [17]. are affected when a peer is leaving or joining [17][18]. 5.3.3 Distributed Key Space 5.3.5 DHT Layer and its Operations Each peer has a set of keys of the entire key space i.e. hash The use of DHT adds an additional protocol layer i.e. the table, and the peers are responsible for the key space that is overlay network between the TCP/IP and the application assigned to them. Therefore, the entire key space is layer. The DHT layer is used only for signaling, and e.g. decentralized, and as the peers are organized into a graph media is not transported via this DHT layer. This algorithm using a DHT structure, each key can be found within the is being run in all the peers participating in the structured overlay network with the help of the peers. Every peer is overlay network. The DHT layer is an overlay between the assigned with a key that maps to the same key space and is DHT-related applications and the transport layer [19][20]. also related to its responsible key space. Each resource has also a key i.e. a resource-ID. The key can be obtained with a hash-function from some keyword or value that uniquely identifies the resource or the peer. For example, in Chord an IP-address of a peer is used in the generation of corresponding hashed key value.

IJCTA | NOV-DEC 2011 3093 Available [email protected] ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

may lack these beneficial qualities. However, at least the first four DHTs introduced in 2001, possess all these properties. As DHTs are fully decentralized, there is no single point of failure. Fault tolerance is achieved through this decentralization as well as through tolerating peers continuously joining and leaving i.e. churn. Scalability is related to decentralization, because the load and resources are distributed without a central server of storage, computing power and bandwidth. In order to realize these properties, the common technique in DHT is that any peer needs to coordinate with only few other peers of the overlay. The amount of work needed to perform an operation can be limited typically to O(log(N)) involvement of the N participants of the overlay. This also entails a disadvantage of DHTs when compared to the Figure 5: P2P Protocol Layers for Control Signaling client-server architecture. The lookup complexity is O(log(N)) hops to find the match, in contrast to a centralized client-server topology, where this is always 5.3.6 DHT Interactions O(1). This means that as the number of peers grows, the Figure 6 illustrates the four different types of API routing table of every peer increases logarithmically interactions between a DHT overlay and its peers. These [20][21]. are put (Key, Value), Remove (Key), and Get (Key) and 5.3.6 Examples of Structured P2P Networks Value. The first three are operations and the last (i.e. Many of the first popular P2P networks such as Napster, Value) is a response to the Get (Key) operation. After Gnutella and KaZaA are unstructured. However, most of joining the overlay network, peers can use these operations the recent P2P systems use a more advanced topology of to make a query for a key, or insert/remove a key and its structured algorithms. Bit Torrent and eDonkey are value to/from the overlay network. To make a query on a examples of very popular P2P networks that are used for resource, a Get (Key) method is used to receive the value. file sharing. For voice and other media communication, To insert a resource or a peer to the overlay network, a Put Skype has proven the good applicability of P2P networking (Key, Value) is sent to the overlay (the key is the hashed for communication other than just file sharing. Besides, identifier of the resource). These operations can be sent to P2P networks could also be used for emergency any peer in the overlay, as the messages are forwarded to information flow as well as for SPAM detection and the peer responsible for the range of key space where the filtering. key belongs. Exception to this is, of course, when a value to 5.3.6.1 Chord the query i.e. Get (Key) is returned directly to the peer that Chord is a simple and popular structured P2P algorithm sent the query[21]. that implements the DHT abstraction. Chord can be used to map a given key onto a node i.e. a peer in the context of P2P network in a Chord overlay[22]. 5.3.6.2 CAN The Content-Addressable Network (CAN) is basically similar to Chord, but it also has many differences. Rather than a virtual ring, CAN uses d-dimensional Cartesian coordinate space to implement DHT that maps keys onto values. CAN allow nodes to specify their own identity. State maintained by a CAN node does not depend on the network size of N, and the lookup cost increases faster than log N (O(dN1/d)). CAN require an additional maintenance protocol for periodical remapping of the key space. CAN optimizes the forward path by the best round trip time (RTT) of neighbors. This implies that the queries are forwarded without interacting with the querier. Thus, the querier cannot verify the forward process of its lookup and the algorithm is susceptible to misrouting attacks [23]. 5.3.6.3 Pastry Pastry is similar to Chord, but differs from it in some Figure 6: DHT Interaction Operations details. Pastry is a prefix-based routing protocol and not based on numerical difference like Chord is. Pastry has hybrid tree-ring geometry, while Chord has ring geometry. 5.3.6.1 Benefits of DHT Pastry is self-organizing and takes proximity into account DHT-based networks are self-organized, fully distributed by using a scalar proximity metric, such as the number of and highly scalable. Naturally, a bad DHT implementation IP routing hops or geographic distance[24].

IJCTA | NOV-DEC 2011 3094 Available [email protected] ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

Pastry is used in various applications, such as end-user with applications in peer-to-peer systems" application of Web caching, group notification and IM. 978-1-59593-989-0 ACM 2008 5.3.6.4 Bamboo [3] Ke YUa, Yang CAOa, Xiao-hong The geometry of Bamboo is similar to that of Pastry, as HUANGb and Xiao-fei WU "Analysis of Bamboo also uses hybrid tree-ring geometry. Bamboo is overlay topology of peer- to-peer designed to handle churn, which is a big concern in P2P applications " The Journal of China networks. Bamboo has lower routing latency than Chord Universities of Posts and (and even smaller under churn). This is a good feature especially when considering VoIP. The quick "local Telecommunications Volume 17, tuning" part of the routing algorithm of Bamboo is similar Supplement 2, December 2010, pp. 60-66 to the routing algorithm of Pastry, but it is incremental and [4] Hao Chen Hai Jin Jianhua Sun Dafu Deng more frequent. "Global tuning" of Bamboo routing Xiaofei Liao "Analysis of large-scale maintenance is similar to the stabilization of Chord and is topological properties for peer-to-peer used for optimization of the static network. Tuning is only networks" 0-7803-8430-X IEEE 2004, one part of neighbor discovery and state maintenance. Leaf pp.27-35 set maintenance and routing table filling occur before the [5] Babaoglu, O., Jelasity, M., Montresor, A., tuning of routing tables [24]. Fetzer, C., Leonardi, S., van Moorsel, A., 5.3.6.5 Kademlia van Steen, M "Self-star Properties in Kademlia is a DHT implementation for decentralized Complex Information Systems computer networks and it has been used for file sharing. The Kademlia algorithm is based on calculating a distance [6] Self-star Properties in Complex Information of two node IDs. This distance is used to maintain a similar Systems" 978-3-540-26009-7 springer 2005, list to the finger list in Chord. The list is filled from IDs of pp.447-556 the requests of reply messages the node receives. Kademlia [7] Chazapis, A. Tsoukalas, G. Verigakis, G. is resistant to certain DoS attacks, as the list cannot be Kourtis, K. Sotiropoulos, A. Koziris, N. flushed of valid node-items. Lookup is similar to Chord, "Global-scale peer-to-peer file services with but Kademlia can perform multiple parallel requests for the DFS" 978-1-4244-1560-1 IEEE2007, pp. same query. Kademlia is implemented e.g. in the fully 251-260 decentralized , and usually a client can join [8] Lua E. K., Crowcroft J., Pias M., Sharma R. the Kad Network by querying the eDonkey network for known Kad nodes. One such client is eMule. Some and Lim S., “A Survey and Comparison of clients, also use Kademlia for decentralized Peer-to-Peer Overlay Network Schemes”, tracking or trackless torrents [24][25]. Communications Surveys & Tutorials, 5.3.6.6 JXTA IEEE, vol. 7, issue 2, pp. 72-93, 2005. JXTA is an open source P2P platform that is defined as a [9] F. Dabek, B. Zhao, P. Druschel, and I. set of XML based protocols. JXTA is a very mature P2P Stoica “Towards a common api for framework and it has been designed to enable decentralized structured peer-to-peer overlays” in communication for a wide range of devices such as PCs, Proceedings of the 2nd International cell phones, PDAs. JXTA is a modular platform that Workshop on Peer-to-Peer Systems (IPTPS provides simple building blocks for developing a wide 2003), Berkeley, California, USA, February range of distributed services and applications. JXTA 20-21 2003. specifies a set of protocols rather than an API. Thus, JXTA technology can be implemented in any language on any [10] Bryan D., Lowekamp B. and Jennings C., Operating System. JXTA is optimized for frequent churn “SOSIMPLE: A Serverless, Standards- (i.e. devices joining and leaving the network). Many other based, P2P SIP Communication System”, P2P protocols (such as Chord and CAN) concentrate more Proceedings of the 2005 International on reducing the lookup time. These results in their Workshop on Advanced Architectures and operations for handling churn being more expensive [26]. Algorithms for Internet Delivery and Applications (AAA-IDEA 2005), June 2005 [11] Cuihong Li a, Bin Yu b, Katia Sycara "An References incentive mechanism for message relaying [1] Reckerd, D. Vico, J. "Application of peer- in unstructured peer-to-peer systems" to-peer communication, for protection and Electronic Commerce Research and control, at Seward distribution substation" 0- Applications 8 (2009) ScienceDirect, 7803-8896-8 IEEE 2005, pp. 40-45 pp.315–326 [2] Petra Berenbrink , Robert Elsaesser, Tom [12] Haribabu, K. Reddy, D. Hota, C. Yla- Friedetzky "Efficient randomised Jaaski, A. Tarkoma, S. "Adaptive lookup broadcasting in random regular networks for unstructured peer-to-peer overlays" 978- 1-4244-1796-4 IEEE 2008, pp. 776 - 782

IJCTA | NOV-DEC 2011 3095 Available [email protected] ISSN:2229-6093 Kaushik Adhikary et al,Int.J.Comp.Tech.Appl,Vol 2 (6), 3089-3096

[13] K. Haribabu, Chittaranjan Hota, Antti Ylä- [21] Garces-Erice, L.; Felber, P.A., Biersack, Jääski "Indexing through Querying in E.W., Urvoy-Keller, G., Ross, K.W "Data Unstructured Peer-to-Peer Overlay indexing in peer-to-peer DHT networks" 0- Networks" 978-3-540-88622-8 ACM 2008 7695-2086-3 IEEE 2005, pp.200 - 208 [14] Stern, R. "Napster: a walking copyright [22] Wolfgang Kellerera, Gerald Kunzmannb, infringement?" 0272-1732 IEEE 2002, pp.4 Rüdiger Schollmeierb and Stefan Zöls - 5 "Structured peer-to-peer systems for [15] Matei, R.; Iamnitchi, A.; Foster, P. telecommunications and mobile "Mapping the Gnutella network" 1089-7801 environments" AEU - International Journal IEEE 2002, pp.50 - 57 of Electronics and Communications Volume [16] Shashidhar Merugu Ellen Zegura,Sridhar 60, Issue 1, 2 January 2006, Pages 25-29 Srinivasan "Adding structure to unstructured [23] Yi-Chun Wu; Chuan-Ming Liu; Jenq-Haur peer-to-peer networks: the use of small- Wang "Enhancing the Performance of world graphs " Journal of Parallel and Locating Data in Chord-Based P2P Systems Volume 65, Issue 2, " 978-0-7695-3434-3 IEEE 2008 , pp. 841 - February 2005, pp. 142-153 846 [17] Onana Alima, Luc and Ghodsi, Ali and [24] Ratnasamy S., Francis P., Handley M., Karp Haridi, Seif "A Framework for Structured R. and Shenker, S. “Scalable content- Peer-to-Peer Overlay Networks" 3-540- addressable network” In Proc. ACM 24101-9 Springer 2005 SGCOMM (San Diego, CA) August 2001. [18] Yuh-Jzer Joung Li-Wei Yang "Wildcard [25] Viana A.C., Amorim M. D., Fdida S. and Search in Structured Peer-to-Peer Networks Rezende J. F., “Self-organization in " 1041-4347 IEEE 2007, pp.1524 - 1540 spontaneous networks: the [19] Rowstron A. and Druschel P., “Pastry: approach of DHT-based routing protocols”. Scalable, decentralized object location and In ACM Wireless Networks, Vol. 3, no. 5, routing for large-scale peer-to-peer pp. 589-606, 2005. systems”, in Proceedings of IFIP/ACM [26] Stoica I., Morris R., Karger D., Kaashoek M. Middleware, 2001. F. and Balakrishnan H., “Chord: A Scalable [20] Balfe, S., Lakhani, A.D., Paterson, K.G Peer-to-peer Lookup Service for Internet "Trusted computing: providing security for Applications“, Proceedings of the 2001 peer-to-peer networks" 0-7695-2376-5 IEEE ACM SIGCOMM Conference, 2001 2005 pp.117 - 124 .

IJCTA | NOV-DEC 2011 3096 Available [email protected]