Lecture-2 Content Sharing in P2P Networks Different P2P Protocols

Size: px
Start display at page:

Download "Lecture-2 Content Sharing in P2P Networks Different P2P Protocols"

Transcription

1 Lecture-2 Content Sharing in P2P Networks Different P2P Protocols Zhou Shuigeng March 10, 2005

2 Outline Classification of content sharing P2P systems Content sharing P2P systems Napster; Gnutella; Freenet Chord; CAN Pastry; Tapestry Summary References Dept. of Computer Sci. & Eng. 2

3 Classification of Content Sharing P2P Systems Dept. of Computer Sci. & Eng. 3

4 How to Classify? We can classify content sharing P2P systems based on two general aspects Degree of decentralization Network structure Dept. of Computer Sci. & Eng. 4

5 Degree of Decentralization(1) Degree of decentralization: to what extent they rely to one or more servers to facilitate the interaction between peers Purely decentralized Partially decentralized Hybrid decentralized Dept. of Computer Sci. & Eng. 5

6 Degree of Decentralization(2) Purely decentralized Examples: original Gnutella, Freenet All nodes in the network perform exactly the same tasks, acting both as servers and clients There is no central coordination of the nodes activities The nodes of such networks are termed servents (SERVers+clieENTS) Dept. of Computer Sci. & Eng. 6

7 Purely Decentralized Peer Peer Peer Peer Peer Peer Dept. of Computer Sci. & Eng. 7

8 Degree of Decentralization(3) Partially decentralized Examples: Kazaa, Morpheus, and new version of Gnutella Supernodes assume a more important role than the rest of the nodes, acting as local central indexes for files shared by local peers Supernodes are dynamically assigned in case of single point failure or malicious attack Dept. of Computer Sci. & Eng. 8

9 Partially Decentralized Supernode Layer Cluster Cluster Cluster Dept. of Computer Sci. & Eng. 9

10 Degree of Decentralization(4) Hybrid decentralized Examples: Napster A central server facilitating the interaction between peers by maintaining meta-data, performing the lookups and identifying desirable nodes The end-to-end interaction is between any two peer clients Weakness: single point failure, malicious attack Dept. of Computer Sci. & Eng. 10

11 Hybrid Decentralized Peer Peer Peer Central Server Peer Peer Peer Dept. of Computer Sci. & Eng. 11

12 BestPeer Location independent global lookup (LIGLO) LIGLO Servers LIGLO Server LIGLO ServerLIGLO Server Peers Peer Peer Peer Peer Peer Peer Peer Dept. of Computer Sci. & Eng. 12

13 Different Classification P2P systems Purely decentralized, partial decentralized, hybrid decentralized Purely P2P, hybrid P2P, centralized P2P A question What type P2P should we regard CAN, Chord etc. in terms of the degree of decentralization? Dept. of Computer Sci. & Eng. 13

14 Network Structure(1) A P2P system corresponds to an overlay network, which is a kind of logical topologies, and may be totally unrelated to the underlying physical network P2P network structure indicates the way in which the content of the network is located with respect to the network topology Directly knowing on which nodes some specific content is located randomly search the entire network to find the desirable content Dept. of Computer Sci. & Eng. 14

15 Network Structure(2) P2P systems can be differentiated by the degree to which these overlay networks contain some structure or are created ad-hoc Unstructured Structured Loosely structured Dept. of Computer Sci. & Eng. 15

16 Network Structure(3) Unstructured Examples: Gnutella Features Data placement is unrelated to the overlay topology Data finding relies on random search; distributing queries from node to node Overlay topology construction Advantage: easily accommodate a highly transient node population Disadvantages: hard to find the desired files without distributing queries widely; scalability Dept. of Computer Sci. & Eng. 16

17 Network Structure(4) Structured Examples: Chord, CAN, Pastry, Tapestry Address the scalability problem in unstructured networks Features: topology is tightly controlled; files (or pointers to them) are placed at specified locations by providing a mapping between file identifier and location Advantage: scalable solution for exact-match queries Disadvantage: hard to maintain the structure when nodes leaving and joining at high rate Dept. of Computer Sci. & Eng. 17

18 Network Structure(5) Loosely structured Example: Freenet/Napster(?) Network structure is between structured and unstructured File locations are affected by routing hints, but they are not completely specified, so not all searches succeed Dept. of Computer Sci. & Eng. 18

19 A Combined View BestPeer? Dept. of Computer Sci. & Eng. 19

20 P2P Content Sharing Systems Dept. of Computer Sci. & Eng. 20

21 Unstructured Systems Hybrid decentralized unstructured systems (Napster) Purely decentralized unstructured systems (Gnutella: original architecture) Partially decentralized unstructured systems (Kazaa, Morpheus, Gnutella: more recent architecture) Dept. of Computer Sci. & Eng. 21

22 Napster: Architecture Web search engine? Dept. of Computer Sci. & Eng. 22

23 Napster: the Central Server The central directory server maintaining An index with metadata (file name, time of creation etc.) of all the files in the network. Document info A table listing the files that each user holds and shares in the network Peer-document info A table of registered user connection information (IP addresses, connection speeds etc.) Peer info: address Dept. of Computer Sci. & Eng. 23

24 Napster: Operational Mode On startup the client contacts the central server and reports a list with the files it maintains When the server receives a query from a user, it searches for matches in its index returning a list of users that hold the matching file The user then opens a direct connection with the peer that holds the requested file, and downloads it Dept. of Computer Sci. & Eng. 24

25 Napster: Strength vs. Weakness Advantage simple and efficient Disadvantages vulnerable to censorship, malicious attack and technical failure. inherently not largely scalable do not offer an acceptable p2p solution (controlled by the single institution, company or user maintaining the central server) Dept. of Computer Sci. & Eng. 25

26 Gnutella: General Information First introduced in March of 2000 by two employees of AOL s Nullsoft division The goal is to provide purely distributed file sharing solution A Communication protocol used to search for and share files among users Dept. of Computer Sci. & Eng. 26

27 Gnutella: A Snapshot of Network A snapshot of the Gnutella network on January Dept. of Computer Sci. & Eng. 27

28 Gnutella: Operational Mode(1) Users connect to each other directly through a Gnutella software (referred to as a servent) An instance of this software running on a particular machine is also referred to as a host Using four type messages for communication between hosts Ping, Pong, Query, and Queryhit Dept. of Computer Sci. & Eng. 28

29 Gnutella: Operational Mode(2) Ping: A request for a certain host to announce itself Pong: Reply to a Ping message. It contains the IP and port of the responding host and number and size of files shared Query: A search request. It contains search string and the minimum speed requirements of the response Query hits: Reply to a Query message. It contains the IP and port and speed of the responding host, the number of matching files found and their indexed result set Dept. of Computer Sci. & Eng. 29

30 Gnutella: Operational Mode(3) A node joins Gnutella by using hosts such as gnutellahosts.com After joining the Gnutella network a node sends out a Ping message to any node it is connected to The nodes send back a Pong message identifying themselves, and also propagate the ping message to their neighbors Gnutella originally uses TTL(Time-to-Live)- limited flooding (or broadcast) to distribute Ping and Query messages Dept. of Computer Sci. & Eng. 30

31 Gnutella: Operational Mode(4) Each message is labeled by a unique identifier Each host with a dynamic routing table of message identifiers Since the response messages contain the same ID as the original messages, the host checks its routing table to determine along which link the response message should be forwarded Once a node receives a QueryHit message, it initiates a direct out-of-network download by establishing a direct connection between the source and target node Dept. of Computer Sci. & Eng. 31

32 Gnutella: Operational Mode(5) Dept. of Computer Sci. & Eng. 32

33 Free-riding on Gnutella(1) 24 hour sampling period 70% of Gnutella users share no files 50% of all responses are returned by top 1% of sharing hosts A social problem not a technical one Problems: Degradation of system performance: collapse? Increase of system vulnerability Gnutella causes copyright issues? Dept. of Computer Sci. & Eng. 33

34 Free-riding on Gnutella(2) Most Gnutella users are free riders Of 33,335 hosts Top 1 percent (333) hosts share 37% (1,142,645) of total files shared Top 5 percent (1,667) hosts share 70% (1,142,645) of total files shared Top 10 percent (3,334) hosts share 87% (2,692,082) of total files shared Dept. of Computer Sci. & Eng. 34

35 Free-riding on Gnutella(3) Many servents share files nobody downloads Of 11,585 sharing hosts: Top 1% of sites provide nearly 47% of all answers Top 25% of sites provide 98% of all answers 7,349 (63%) never provide a query response Dept. of Computer Sci. & Eng. 35

36 Gnutella: Popularity of Queries Very popular documents are approximately equally popular Less popular documents follow a Zipf-like distribution (i.e., the probability of seeing a query for the i-th most popular query is proportional to 1/ α i Dept. of Computer Sci. & Eng. 36

37 Gnutella Topology(1) Small-world properties verified ( find everything close by ) Backbone + outskirts Dept. of Computer Sci. & Eng. 37

38 Gnutella Topology(2) Backbone of Gnutella Dept. of Computer Sci. & Eng. 38

39 Gnutella: Strength & Weakness Advantages Fully Embody the nature of P2P Disadvantages TTL segments the Gnutella network into subnets Heavy query traffic on the networks Improving measurements parallel random walks Objects replication: passive vs. proactive Dept. of Computer Sci. & Eng. 39

40 Kazaa, Morpheus and New Gnutella Use SuperNodes dynamically assigned the task of servicing a small subpart of the peer network index and cache files contained in the part of the network they are assigned to have sufficient bandwidth and processing power Kazaa & Morpheus are proprietary systems Features More efficient than old Gnutella More robust than Napster Dept. of Computer Sci. & Eng. 40

41 Freenet: Loosely structured systems(1) Purely decentralized, loosely structured, selforganizing P2P Pools unused disk space in peer computers to create a collaborative virtual file system Provides file-storage service (vs. file-sharing service) Files are pushed to other nodes for storage, replication and persistence Provides both security and publisher anonymity Peer does not know the true address of retrieved files Peer may not know the content it holds Dept. of Computer Sci. & Eng. 41

42 Freenet: Loosely structured systems(2) Peers maintain local datastore: available to the network for reading and writing dynamic routing table: addresses of other nodes and the keys (file identifiers) they are thought to hold Files are identified by binary keys keyword-signed keys, signed-subspace keys and content-hash keys user sends a request message specifying the key and a timeout (hops-to-live) value Dept. of Computer Sci. & Eng. 42

43 Freenet: Loosely structured systems(3) A Messages always include ID (for loop detection) hops-to-live value source and destination and the following types: Data request. Additional field: Key Data reply. Additional field: Data Data failed. Additional fields: Location and reason Data insert. Additional fields: Key and data Dept. of Computer Sci. & Eng. 43

44 Freenet: Loosely structured systems(4) Each Freenet node maintains a common stack storing: ID: File identifier Next hop: Another node that stores this ID File: The file identified by the id, stored on the local node Dept. of Computer Sci. & Eng. 44

45 Freenet: Loosely structured systems(5) Joining Freenet: finding the an existing peer and sending it message Inserting new file Calculates file key, sends an insert message to node with the key and a hop-to-live value When a node receives the message, it checks to see if the key is already taken Yes-> returns the pre-existing file as if a request were made for it No -> looks up the nearest key in its routing table, and forwards the insert message to the corresponding node Dept. of Computer Sci. & Eng. 45

46 Freenet: Loosely structured systems(6) Freenet uses a chain-mode discovery mechanism If a node receives a request for a file that it stores locally, the search stops and the data is forwarded back to the requestor If the node does not store the file, it forwards the request to one of its neighbors that is more likely to have the file (searching for the closest ID in the stack If the file is found at a certain node, a reply is passed back to the original node, and the data will be cached in all intermediate nodes Dept. of Computer Sci. & Eng. 46

47 Freenet: Loosely structured systems(7) The Freenet chain mode file discovery mechanism Dept. of Computer Sci. & Eng. 47

48 Freenet: Loosely structured systems(8) To keep data source anonymous, two further measures are taken : Any node along the reply path can change the reply message and claim to be the source of the data The hops-to-live counter is randomly initiated in order to obscure the distance from the originator Dept. of Computer Sci. & Eng. 48

49 Freenet: Loosely structured systems(9) Some further features Nodes tend to specialize in searching for similar keys over time, as they get queries from other nodes for similar keys Nodes store similar keys over time, due to the caching of files as a result of successful queries Similarity of keys does not reflect similarity of files Routing does not reflect underlying network topology Dept. of Computer Sci. & Eng. 49

50 Structured Network Chord CAN Tapestry Pastry OceanStore Dept. of Computer Sci. & Eng. 50

51 Documents Routing Structured P2P systems adopt documents routing mechanism to store/discover desirable files Routing Challenges Define a useful key nearness metric Keep the hop count small Keep the tables small Stay robust despite rapid change Dept. of Computer Sci. & Eng. 51

52 Distributed Hash Table Problem Given an id, map to a host Challenges Scalability: hundreds or thousands or millions machines Instability: routes, traffic, and availability of machines Heterogeneity: Latency:1ms-1000ms Bandwidth: 32kb/s-1Gb/s Presence: from 10s to a year Trust Selfish users; malicious users Dept. of Computer Sci. & Eng. 52

53 Chord: Overview Provides peer-to-peer hash lookup Lookup(key) ->IP The problems to solve How to locate a node? How to route lookups? How to maintain routing tables? Dept. of Computer Sci. & Eng. 53

54 Chord: Performance Efficiency O(log(N)) messages per lookup N is the total number of servers Scalability O(log(N)) state per node N is the total number of servers Robustness: survives massive failures Dept. of Computer Sci. & Eng. 54

55 Chord: IDs m bit identifier space for both keys and nodes Key identifier = SHA-1(key) Key= LetItBe SHA-1 ID=5 Node identifier = SHA-1(IP address) IP= SHA-1 ID=105 Both are uniformly distributed How to map key IDs to node IDs? Dept. of Computer Sci. & Eng. 55

56 Chord: Basic Routing(1) IP= K5 N105 K20 As nodes enter the network, they are assigned unique IDs by hashing their IP address N90 K80 Circular 7-bit ID space N32 A key is stored at its successor: node with next higher ID Dept. of Computer Sci. & Eng. 56

57 Chord: Basic Routing(2) N105 N120 N10 Where is key 80? N90 has K80 N32 K80 N90 N60 Every node knows its successor in the ring Dept. of Computer Sci. & Eng. 57

58 Chord: Basic Routing(3) The Lookup algorithm Lookup(my-id, key-id) n = my successor if my-id <n <key-id call Lookup(id) on node n // next hop else return my successor // done Correctness depends only on successors Dept. of Computer Sci. & Eng. 58

59 Chord: Basic Routing(4) Routing information maintenance When a node n joins the network, certain keys previously assigned to n's successor will become assigned to n When node n leaves the network, all keys assigned to it will be reassigned to its successor Dept. of Computer Sci. & Eng. 59

60 Chord: Finger-table based routing(1) Finger table (FT): With m additional entry The i-th entry points to the successor of node n+ 2 i To lookup key k at node n In FT, identify the highest node n' whose id is between n and k. If such a node exists, the lookup is repeated starting from n' Otherwise, the successor of n is returned Dept. of Computer Sci. & Eng. 60

61 Chord: Finger-table based routing(2) N112 N M=7 N N Dept. of Computer Sci. & Eng. 61

62 Chord: Finger-table based routing(3) 112 ¼ N120 ½ 1/8 1/16 1/32 1/64 1/128 N Dept. of Computer Sci. & Eng. 62

63 Chord: Finger-table based routing(4) Algorithm Lookup(my-id, key-id) look in local finger table for highest node n s.t. my-id < n <key-id if n exists call Lookup(id) on node n // next hop else return my successor // done Dept. of Computer Sci. & Eng. 63

64 Chord: Finger-table based routing(5) An example N32: N60, N80, N99 N99: N110, N5, N60 N5 : N10, N20, N32, N60, N80 N10: N20, N32, N60 N80 N20: N32, N60, N99 N99 N110 N80 N5 N60 N10 K19 N20 N32 Lookup(K19) Dept. of Computer Sci. & Eng. 64

65 Chord: A New Node Joining(1) N36 N25 1. Lookup(36) N40 K30 K Dept. of Computer Sci. & Eng. 65

66 Chord: A New Node Joining(2) N25 2. N36 sets its own successor pointer N40 K30 K38 N Dept. of Computer Sci. & Eng. 66

67 Chord: A New Node Joining(3) N25 3. Copy keys from N40 to N36 N36 K30 N40 K Dept. of Computer Sci. & Eng. 67

68 Chord: A New Node Joining(4) Update finger pointers in the background N25 Correct successors produce correct lookups 4. Set N25 s successor pointer N36 K30 N40 K Dept. of Computer Sci. & Eng. 68

69 Chord: Finger table update(1) Assume an identifier space 0..7 (m=3) Succ. Table i id+2 i succ Node n1:(1) joins all entries in its finger table are initialized to itself Dept. of Computer Sci. & Eng. 69

70 Chord: Finger table update(2) Succ. Table i id+2 i succ Node n2:(2) joins Succ. Table i id+2 i succ Dept. of Computer Sci. & Eng. 70

71 Chord: Finger table update(3) Succ. Table Nodes n3:(0), n4:(6) join i id+2 i succ Succ. Table Succ. Table i id+2 i succ i id+2 i succ Succ. Table i id+2 i succ Dept. of Computer Sci. & Eng. 71

72 Chord: Nodes Failure N80 cannot find correct successor, so incorrect lookup N80: N85, N102, N120, N10 N102 N110 N120 N10 N85 Lookup(90) N Dept. of Computer Sci. & Eng. 72

73 Chord: Successor lists Each node knows r immediate successors After failure, will know first live successor Correct successors guarantee correct lookups Guarantee is with some probability Dept. of Computer Sci. & Eng. 73

74 Chord: successors list length Assume every node fails with prob. ½ P(successor list all dead) = (1/2) r P(this node breaks the Chord ring) Depends on independent failure P(no broken nodes) = (1 (1/2) r ) N r = 2log(N) makes prob. = 1 1/N Dept. of Computer Sci. & Eng. 74

75 Chord: Lookup with fault tolerance Lookup(my-id, key-id) look in local finger table and successor-list for highest node n s.t. my-id < n < key-id if n exists call Lookup(id) on node n // next hop if call failed, remove n from finger table return Lookup(my-id, key-id) else return my successor // done Dept. of Computer Sci. & Eng. 75

76 Chord: Discussion Network proximity (consider latency?) Protocol security Malicious data insertion Malicious Chord table information Keyword search and indexing Dept. of Computer Sci. & Eng. 76

77 CAN: Content-Addressable Network Internet scale hash table Interface insert(key, value) value = retrieve(key) Properties scalable operationally simple good performance Related systems: Chord/Pastry/Tapestry/Buzz/Plaxton Dept. of Computer Sci. & Eng. 77

78 CAN: Problem Scope Design a system that provides the interface scalability robustness performance security Application-specific, higher level primitives keyword searching anonymity Dept. of Computer Sci. & Eng. 78

79 CAN: Basic idea(1) A distributed, internet-scale hash table that maps file names to their location in the network Each CAN node stores a part (called a zone ) of the hash table, as well as information about a small number of adjacent zones in the table Requests to insert, lookup or delete for a particular key are routed via intermediate nodes to the node that maintains the zone containing the key Dept. of Computer Sci. & Eng. 79

80 CAN: Basic idea(2) K V K V K V K V K V K V K V K V K V K V K V Dept. of Computer Sci. & Eng. 80

81 CAN: Basic idea(2) K V K V K V K V K V K V K V K V insert (K 1,V 1 ) K V K V K V Dept. of Computer Sci. & Eng. 81

82 CAN: Basic idea(2) K V K V K V K V K V K V K V K V insert (K 1,V 1 ) K V K V K V Dept. of Computer Sci. & Eng. 82

83 CAN: Basic idea(2) (K 1,V 1 ) K V K V K V K V K V K V K V K V K V K V K V Dept. of Computer Sci. & Eng. 83

84 CAN: Basic idea(2) K V K V K V K V K V K V K V K V K V K V K V retrieve (K 1 ) Dept. of Computer Sci. & Eng. 84

85 CAN: Solution virtual Cartesian coordinate space entire space is partitioned amongst all the nodes every node owns a zone in the overall space abstraction can store data at points in the space can route from one point to another point = node that owns the enclosing zone Data stored in the CAN is addressed by name (i.e. key), not location (i.e. IP address) Dept. of Computer Sci. & Eng. 85

86 CAN: A Simple Example Dept. of Computer Sci. & Eng. 86

87 CAN: A Simple Example Dept. of Computer Sci. & Eng. 87

88 CAN: A Simple Example Dept. of Computer Sci. & Eng. 88

89 CAN: A Simple Example Dept. of Computer Sci. & Eng. 89

90 CAN: A Simple Example Dept. of Computer Sci. & Eng. 90

91 CAN: A Simple Example I Dept. of Computer Sci. & Eng. 91

92 CAN: A Simple Example node I::insert(K,V) I Dept. of Computer Sci. & Eng. 92

93 CAN: A Simple Example node I::insert(K,V) (1) a = h x (K) I x = a Dept. of Computer Sci. & Eng. 93

94 CAN: A Simple Example node I::insert(K,V) (1) a = h x (K) b = h y (K) I y = b x = a Dept. of Computer Sci. & Eng. 94

95 CAN: A Simple Example node I::insert(K,V) (1) a = h x (K) b = h y (K) I Dept. of Computer Sci. & Eng. 95

96 CAN: A Simple Example node I::insert(K,V) (1) a = h x (K) b = h y (K) I (2) route(k,v) -> (a,b) (K,V) (3) (a,b) stores (K,V) Dept. of Computer Sci. & Eng. 96

97 CAN: A Simple Example node J::retrieve(K) (1) a = h x (K) b = h y (K) (2) route retrieve(k) to (a,b) (K,V) J Dept. of Computer Sci. & Eng. 97

98 CAN: Routing A node only maintains state for its immediate neighboring nodes Dept. of Computer Sci. & Eng. 98

99 CAN: Routing A node only maintains state for its immediate neighboring nodes (x,y) (a,b) Dept. of Computer Sci. & Eng. 99

100 CAN: node insertion The new node identifies a node already existing in CAN, using some bootrstrap mechanism Using the CAN routing mechanism, it randomly chooses a point P in the space and sends a JOIN request to the node whose zone contains P The zone will be split, and half will be assigned to the new node The new node learns the IP addresses of its neighbors, and the neighbors of the split zone are notified so that routing can include the new node Dept. of Computer Sci. & Eng. 100

101 CAN: node insertion Bootstrap node new node 1) Discover some node I already in CAN Dept. of Computer Sci. & Eng. 101

102 CAN: node insertion I new node 1) discover some node I already in CAN Dept. of Computer Sci. & Eng. 102

103 CAN: node insertion (p,q) 2) pick random point in space I new node Dept. of Computer Sci. & Eng. 103

104 CAN: node insertion (p,q) J I new node 3) I routes to (p,q), discovers node J Dept. of Computer Sci. & Eng. 104

105 CAN: node insertion Inserting a new node affects only a single other node and its immediate neighbors J new 4) split J s zone in half new owns one half Dept. of Computer Sci. & Eng. 105

106 CAN: Node Failures Need to repair the space recover database soft-state updates use replication, rebuild database from replicas repair routing takeover algorithm Only the failed node s immediate neighbors are required for recovery Dept. of Computer Sci. & Eng. 106

107 CAN: Node Failures Simple failures know your neighbor s neighbors when a node fails, one of its neighbors takes over its zone More complex failure modes simultaneous failure of multiple adjacent nodes scoped flooding to discover neighbors hopefully, a rare event Dept. of Computer Sci. & Eng. 107

108 CAN: Evaluation Scalability For a uniformly partitioned space with n nodes and d dimensions per node, number of neighbors is 2d average routing path is (dn 1/d )/4 hops simulations show that the above results hold in practice Can scale the network without increasing pernode state Dept. of Computer Sci. & Eng. 108

109 CAN: Evaluation Latency Problem latency stretch = (CAN routing delay) (IP routing delay) application-level routing may lead to high stretch Solution increase dimensions heuristics RTT(round-trip-time)-weighted routing multiple nodes per zone (peer nodes) deterministically replicate entries Dept. of Computer Sci. & Eng. 109

110 CAN: Evaluation Dealing with hot-spots popular (key,value) pairs nodes cache recently requested entries overloaded node replicates popular entries at neighbors Uniform coordinate space partitioning uniformly spread (key,value) entries uniformly spread out routing load Dept. of Computer Sci. & Eng. 110

111 CAN: Evaluation Robustness Completely distributed no single point of failure Resilience of routing can route around trouble Dept. of Computer Sci. & Eng. 111

112 CAN: Improvements Use of multi-dimensional coordinate space for improving network latency and fault tolerance with a small routing table size overhead Use of multiple coordinate spaces (realities) for fault tolerance Better routing metrics, by taking into account the underlying IP topology and connection latency alongside the Cartesian distance between source and destination Overloading coordinate zones by allowing multiple nodes to share the same zone for improved fault tolerance, reduced per-hop latency and path length Use of multiple hash functions to map the same key onto different points in the coordinate space for replication Topologically-sensitive network construction, assuming the existence of a set of machines that act as landmarks on the internet Use of caching and replication techniques etc Dept. of Computer Sci. & Eng. 112

113 CAN: Summary CAN an Internet-scale hash table potential building block in Internet applications Scalability O(d) per-node state Low-latency routing simple heuristics help a lot Robust decentralized, can route around trouble Dept. of Computer Sci. & Eng. 113

114 Combination of Chord & CAN C&C(or C 2 ) means Chord and CAN It is a overlay network that combines Chord and CAN s structure characteristics It is like CAN except that each dimension is a ring similar to Chord C&C surpass CAN in both routing efficiency and fault tolerance C 2 was first published in GCC2003 and an extended version appears in the International Journal of High Performance Computing and Networking, vol. 3, no. 4, pages , Dept. of Computer Sci. & Eng. 114

115 Pastry: Introduction A scalable,distributed application-level object location and routing substrate for wide-area peer-to-peer applications in a potentially very large overlay network of nodes connected via the Internet Pastry takes into account network locality Scalability: up to 100,000 nodes Applications: global file sharing, file storage, group communication and naming systems Dept. of Computer Sci. & Eng. 115

116 Pastry Design Node identification space: 128-bit node identifier (nodeid) NodeId is used to indicate a node s position in a circular nodeid space, which ranges from 0 to For a network with N node can route to the numerically closest node to a given key in less than [log 2 bn] delivery is guaranteed unless [ L /2] nodes with adjacent nodeids fail simultaneously L and b are configuration parameters Dept. of Computer Sci. & Eng. 116

117 Pastry Routing Routing idea: routes messages to the node whose nodeid is numerically closest to the given key. In each routing step a node normally forwards the message to a node whose nodeid shares with the key a prefix that is at least one digit (or b bits) longer than the prefix that the key shares with the present node s id If no such node is known, the message is forwarded to a node whose nodeid shares a prefix with the key as long as the current node, but is numerically closer to the key than the present node s id Dept. of Computer Sci. & Eng. 117

118 Pastry Node State Each Pastry node maintains a routing table, a neighborhood set and a leaf set. A Routing table has [log 2 bn] rows with 2 b -1 entries each The 2 b -1 entries at row n of the routing table each refer to a node whose nodeid shares the present node s nodeid in the first n digits, but whose n + 1th digit has one of the 2 b -1 possible values other than the n + 1th digit in the present node s id Each entry in the routing table contains the IP address of one of potentially many nodes whose nodeid have the appropriate prefix Dept. of Computer Sci. & Eng. 118

119 Pastry Node State(cont d) The neighborhood set M contains the nodeids and IP addresses of the M nodes that are closest (according the proximity metric) to the local node useful in maintaining locality properties The leaf set L is the set of nodes with the L /2 numerically closest larger nodeids, and the L /2 nodes with numerically closest smaller nodeids, relative to the present node s nodeid Dept. of Computer Sci. & Eng. 119

120 An Example State node with nodeid= ; b = 2; L = Dept. of Computer Sci. & Eng. 120

121 Routing Algorithm Some notations R li : the entry in the routing table R at column i, 0 i < 2 b and row l, 0 l <[log 2 bn] L i : the i-th closest nodeid in the leaf set L, - [L/2] I [L/2], where negative/positive indices indicate nodeids smaller/larger than the present nodeid, respectively D l : the value of the l s digit in the key D shl(a;b): the length of the prefix shared among A and B, in digits Dept. of Computer Sci. & Eng. 121

122 Routing Algorithm(cont d) For a message key D arrived node A Dept. of Computer Sci. & Eng. 122

123 Pastry APIs nodeid = pastryinit(credentials, Application) route(msg,key) deliver(msg,key) forward(msg,key,nextid) newleafs(leafset) Dept. of Computer Sci. & Eng. 123

124 Locality Pastry s notion of network proximity is based on a scalar proximity metric the number of IP routing hops, or geographic distance It is assumed that the application provides a function that allows each Pastry node to determine the distance of a node with a given IP address to itself Dept. of Computer Sci. & Eng. 124

125 Summary Dept. of Computer Sci. & Eng. 125

126 Unstructured P2P(1) Advantages Decentralization Autonomy Keyword searching Disadvantage: scalability When use unstructured P2P Keyword searching is the common operation. Most content is typically replicated at a fair fraction of participating sites. The node population is highly transient Dept. of Computer Sci. & Eng. 126

127 Unstructured P2P(2) Open Problems Improving scalability Intelligent routing algorithms Workload balancing Security & privacy Dept. of Computer Sci. & Eng. 127

128 Structured P2P Advantages Scalability Efficiency Disadvantages Exact-matching Locality-destroyed Dept. of Computer Sci. & Eng. 128

129 References(1) 1. A. Rowstron and P. Druschel. Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Heidelberg, Germany, Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. ACM SIGCOMM ZHAO, B.,KUBIATOWICZ, J., JOSEPH, A Tapestry: An Infrastructure for Fault-Toleran Wide-area Location and Routing. Computer Science Division, University of California, Berkeley Technical Report No.UCB/CSD , April DRUSCHEL P. AND ROWSTRON, A PAST: A Large-Scale, Persistent Peer-to-Peer Storage Utility, HotOS VIII, Schloss Elmau, Germany, May Dept. of Computer Sci. & Eng. 129

130 References(2) 5. Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable content addressable network. Proc. ACM SIGCOMM (2001) 6. D. S. Milojicic, V. Kalogeraki, R. Lukose, K. Nagaraja1, J. Pruyne, B. Richard, S. Rollins, Z. Xu. Peer-to-Peer Computing. Technical Report HPL , HP Labs, March S. Androutsellis-Theotokis. A survey of peer-to-peer file sharing technologies. White paper of ELTRUN, Athens University of Economics and Business, Greece Andy Oram (ed.). Peer-to-Peer: Harnessing the Benefits of a Disruptive Technology. O REILLY, Gnutella website Freenet homepage Napster homepage BestPeer homepage Dept. of Computer Sci. & Eng. 130

Distributed Hash Table

Distributed Hash Table Distributed Hash Table P2P Routing and Searching Algorithms Ruixuan Li College of Computer Science, HUST rxli@public.wh.hb.cn http://idc.hust.edu.cn/~rxli/ In Courtesy of Xiaodong Zhang, Ohio State Univ

More information

A Survey of Peer-to-Peer Content Distribution Technologies

A Survey of Peer-to-Peer Content Distribution Technologies A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004 Presenter: Seung-hwan Baek Ja-eun Choi Outline Overview

More information

Telematics Chapter 9: Peer-to-Peer Networks

Telematics Chapter 9: Peer-to-Peer Networks Telematics Chapter 9: Peer-to-Peer Networks Beispielbild User watching video clip Server with video clips Application Layer Presentation Layer Application Layer Presentation Layer Session Layer Session

More information

08 Distributed Hash Tables

08 Distributed Hash Tables 08 Distributed Hash Tables 2/59 Chord Lookup Algorithm Properties Interface: lookup(key) IP address Efficient: O(log N) messages per lookup N is the total number of servers Scalable: O(log N) state per

More information

Distributed Hash Tables: Chord

Distributed Hash Tables: Chord Distributed Hash Tables: Chord Brad Karp (with many slides contributed by Robert Morris) UCL Computer Science CS M038 / GZ06 12 th February 2016 Today: DHTs, P2P Distributed Hash Tables: a building block

More information

Badri Nath Rutgers University

Badri Nath Rutgers University lookup services Badri Nath Rutgers University badri@cs.rutgers.edu 1. CAN: A scalable content addressable network, Sylvia Ratnasamy et.al. SIGCOMM 2001 2. Chord: A scalable peer-to-peer lookup protocol

More information

Athens University of Economics and Business. Dept. of Informatics

Athens University of Economics and Business. Dept. of Informatics Athens University of Economics and Business Athens University of Economics and Business Dept. of Informatics B.Sc. Thesis Project report: Implementation of the PASTRY Distributed Hash Table lookup service

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [P2P SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Byzantine failures vs malicious nodes

More information

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE for for March 10, 2006 Agenda for Peer-to-Peer Sytems Initial approaches to Their Limitations CAN - Applications of CAN Design Details Benefits for Distributed and a decentralized architecture No centralized

More information

Peer-to-Peer Systems and Distributed Hash Tables

Peer-to-Peer Systems and Distributed Hash Tables Peer-to-Peer Systems and Distributed Hash Tables CS 240: Computing Systems and Concurrency Lecture 8 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Selected

More information

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Content Overlays. Nick Feamster CS 7260 March 12, 2007 Content Overlays Nick Feamster CS 7260 March 12, 2007 Content Overlays Distributed content storage and retrieval Two primary approaches: Structured overlay Unstructured overlay Today s paper: Chord Not

More information

Early Measurements of a Cluster-based Architecture for P2P Systems

Early Measurements of a Cluster-based Architecture for P2P Systems Early Measurements of a Cluster-based Architecture for P2P Systems Balachander Krishnamurthy, Jia Wang, Yinglian Xie I. INTRODUCTION Peer-to-peer applications such as Napster [4], Freenet [1], and Gnutella

More information

A Scalable Content- Addressable Network

A Scalable Content- Addressable Network A Scalable Content- Addressable Network In Proceedings of ACM SIGCOMM 2001 S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker Presented by L.G. Alex Sung 9th March 2005 for CS856 1 Outline CAN basics

More information

Architectures for Distributed Systems

Architectures for Distributed Systems Distributed Systems and Middleware 2013 2: Architectures Architectures for Distributed Systems Components A distributed system consists of components Each component has well-defined interface, can be replaced

More information

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou Scalability In Peer-to-Peer Systems Presented by Stavros Nikolaou Background on Peer-to-Peer Systems Definition: Distributed systems/applications featuring: No centralized control, no hierarchical organization

More information

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4 Xiaowei Yang xwy@cs.duke.edu Overview Problem Evolving solutions IP multicast Proxy caching Content distribution networks

More information

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables Peer-to-Peer Systems and Distributed Hash Tables COS 418: Distributed Systems Lecture 7 Today 1. Peer-to-Peer Systems Napster, Gnutella, BitTorrent, challenges 2. Distributed Hash Tables 3. The Chord Lookup

More information

L3S Research Center, University of Hannover

L3S Research Center, University of Hannover , University of Hannover Structured Peer-to to-peer Networks Wolf-Tilo Balke and Wolf Siberski 3..6 *Original slides provided by K. Wehrle, S. Götz, S. Rieche (University of Tübingen) Peer-to-Peer Systems

More information

Peer-to-Peer Systems. Chapter General Characteristics

Peer-to-Peer Systems. Chapter General Characteristics Chapter 2 Peer-to-Peer Systems Abstract In this chapter, a basic overview is given of P2P systems, architectures, and search strategies in P2P systems. More specific concepts that are outlined include

More information

Introduction to P2P Computing

Introduction to P2P Computing Introduction to P2P Computing Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction A. Peer-to-Peer vs. Client/Server B. Overlay Networks 2. Common Topologies 3. Data Location 4. Gnutella

More information

CS514: Intermediate Course in Computer Systems

CS514: Intermediate Course in Computer Systems Distributed Hash Tables (DHT) Overview and Issues Paul Francis CS514: Intermediate Course in Computer Systems Lecture 26: Nov 19, 2003 Distributed Hash Tables (DHT): Overview and Issues What is a Distributed

More information

Distributed lookup services

Distributed lookup services Distributed lookup services lookup services Badri Nath Rutgers University badri@cs.rutgers.edu A set of nodes cooperating Peers Run special purpose algorithms/software Doesn t have to be deployed at every

More information

Motivation for peer-to-peer

Motivation for peer-to-peer Peer-to-peer systems INF 5040 autumn 2015 lecturer: Roman Vitenberg INF5040, Frank Eliassen & Roman Vitenberg 1 Motivation for peer-to-peer Ø Inherent restrictions of the standard client/ server model

More information

Should we build Gnutella on a structured overlay? We believe

Should we build Gnutella on a structured overlay? We believe Should we build on a structured overlay? Miguel Castro, Manuel Costa and Antony Rowstron Microsoft Research, Cambridge, CB3 FB, UK Abstract There has been much interest in both unstructured and structured

More information

INF5071 Performance in distributed systems: Distribution Part III

INF5071 Performance in distributed systems: Distribution Part III INF5071 Performance in distributed systems: Distribution Part III 5 November 2010 Client-Server Traditional distributed computing Successful architecture, and will continue to be so (adding proxy servers)

More information

Effect of Links on DHT Routing Algorithms 1

Effect of Links on DHT Routing Algorithms 1 Effect of Links on DHT Routing Algorithms 1 Futai Zou, Liang Zhang, Yin Li, Fanyuan Ma Department of Computer Science and Engineering Shanghai Jiao Tong University, 200030 Shanghai, China zoufutai@cs.sjtu.edu.cn

More information

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002 EE 122: Peer-to-Peer (P2P) Networks Ion Stoica November 27, 22 How Did it Start? A killer application: Naptser - Free music over the Internet Key idea: share the storage and bandwidth of individual (home)

More information

Scalable overlay Networks

Scalable overlay Networks overlay Networks Dr. Samu Varjonen 1 Lectures MO 15.01. C122 Introduction. Exercises. Motivation. TH 18.01. DK117 Unstructured networks I MO 22.01. C122 Unstructured networks II TH 25.01. DK117 Bittorrent

More information

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 17. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2016 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

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

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley

More information

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9 Peer-to-Peer Networks -: Computer Networking L-: PP Typically each member stores/provides access to content Has quickly grown in popularity Bulk of traffic from/to CMU is Kazaa! Basically a replication

More information

EE 122: Peer-to-Peer Networks

EE 122: Peer-to-Peer Networks EE 122: Peer-to-Peer Networks Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer

More information

Introduction to Peer-to-Peer Systems

Introduction to Peer-to-Peer Systems Introduction Introduction to Peer-to-Peer Systems Peer-to-peer (PP) systems have become extremely popular and contribute to vast amounts of Internet traffic PP basic definition: A PP system is a distributed

More information

Distributed Hash Tables

Distributed Hash Tables Distributed Hash Tables CS6450: Distributed Systems Lecture 11 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University.

More information

Peer-to-Peer (P2P) Systems

Peer-to-Peer (P2P) Systems Peer-to-Peer (P2P) Systems What Does Peer-to-Peer Mean? A generic name for systems in which peers communicate directly and not through a server Characteristics: decentralized self-organizing distributed

More information

Distriubted Hash Tables and Scalable Content Adressable Network (CAN)

Distriubted Hash Tables and Scalable Content Adressable Network (CAN) Distriubted Hash Tables and Scalable Content Adressable Network (CAN) Ines Abdelghani 22.09.2008 Contents 1 Introduction 2 2 Distributed Hash Tables: DHT 2 2.1 Generalities about DHTs............................

More information

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Page 1. How Did it Start? Model Main Challenge CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks How Did it Start?" CS162 Operating Systems and Systems Programming Lecture 24 Peer-to-Peer Networks" A killer application: Napster (1999) Free music over the Internet Key idea: share the storage and bandwidth

More information

Peer-to-peer computing research a fad?

Peer-to-peer computing research a fad? Peer-to-peer computing research a fad? Frans Kaashoek kaashoek@lcs.mit.edu NSF Project IRIS http://www.project-iris.net Berkeley, ICSI, MIT, NYU, Rice What is a P2P system? Node Node Node Internet Node

More information

Evolution of Peer-to-peer algorithms: Past, present and future.

Evolution of Peer-to-peer algorithms: Past, present and future. Evolution of Peer-to-peer algorithms: Past, present and future. Alexei Semenov Helsinki University of Technology alexei.semenov@hut.fi Abstract Today peer-to-peer applications are widely used for different

More information

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashock, Frank Dabek, Hari Balakrishnan March 4, 2013 One slide

More information

INF5070 media storage and distribution systems. to-peer Systems 10/

INF5070 media storage and distribution systems. to-peer Systems 10/ INF5070 Media Storage and Distribution Systems: Peer-to to-peer Systems 10/11 2003 Client-Server! Traditional distributed computing! Successful architecture, and will continue to be so (adding proxy servers)!

More information

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals. Overlay Networks: Motivations CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University

More information

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 16. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2017 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

More information

CIS 700/005 Networking Meets Databases

CIS 700/005 Networking Meets Databases Announcements CIS / Networking Meets Databases Boon Thau Loo Spring Lecture Paper summaries due at noon today. Office hours: Wed - pm ( Levine) Project proposal: due Feb. Student presenter: rd Jan: A Scalable

More information

Chapter 10: Peer-to-Peer Systems

Chapter 10: Peer-to-Peer Systems Chapter 10: Peer-to-Peer Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Introduction To enable the sharing of data and resources

More information

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today Network Science: Peer-to-Peer Systems Ozalp Babaoglu Dipartimento di Informatica Scienza e Ingegneria Università di Bologna www.cs.unibo.it/babaoglu/ Introduction Peer-to-peer (PP) systems have become

More information

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General 1 ELT-53206 Peer-to-Peer Networks Searching for Shared Resources: DHT in General Mathieu Devos Tampere University of Technology Department of Electronics and Communications Engineering Based on the original

More information

A Framework for Peer-To-Peer Lookup Services based on k-ary search

A Framework for Peer-To-Peer Lookup Services based on k-ary search A Framework for Peer-To-Peer Lookup Services based on k-ary search Sameh El-Ansary Swedish Institute of Computer Science Kista, Sweden Luc Onana Alima Department of Microelectronics and Information Technology

More information

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General 1 ELT-53207 P2P & IoT Systems Searching for Shared Resources: DHT in General Mathieu Devos Tampere University of Technology Department of Electronics and Communications Engineering Based on the original

More information

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications Introduction to Computer Networks Lecture30 Today s lecture Peer to peer applications Napster Gnutella KaZaA Chord What is P2P? Significant autonomy from central servers Exploits resources at the edges

More information

Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others

Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others Sabina Serbu, Silvia Bianchi, Peter Kropf and Pascal Felber Computer Science Department, University of Neuchâtel

More information

Part 1: Introducing DHTs

Part 1: Introducing DHTs Uni Innsbruck Informatik - Peer-to to-peer Systems Structured PP file sharing systems Michael Welzl michael.welzl@uibk.ac.at DPS NSG Team http://dps.uibk.ac.at dps.uibk.ac.at/nsg Institute of Computer

More information

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Unstructured networks Prof. Sasu Tarkoma 20.1.2014 Contents P2P index revisited Unstructured networks Gnutella Bloom filters BitTorrent Freenet Summary of unstructured networks

More information

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol Min Li 1, Enhong Chen 1, and Phillip C-y Sheu 2 1 Department of Computer Science and Technology, University of Science and Technology of China,

More information

P2P: Distributed Hash Tables

P2P: Distributed Hash Tables P2P: Distributed Hash Tables Chord + Routing Geometries Nirvan Tyagi CS 6410 Fall16 Peer-to-peer (P2P) Peer-to-peer (P2P) Decentralized! Hard to coordinate with peers joining and leaving Peer-to-peer (P2P)

More information

A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery

A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery Shawn Chen 1, Steve Liang 2 1 Geomatics, University of Calgary, hschen@ucalgary.ca 2 Geomatics, University of Calgary, steve.liang@ucalgary.ca

More information

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili P2P Network Structured Networks: Distributed Hash Tables Pedro García López Universitat Rovira I Virgili Pedro.garcia@urv.net Index Introduction to DHT s Origins of structured overlays Case studies Chord

More information

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University CPSC 4/5 PP Lookup Service Ennan Zhai Computer Science Department Yale University Recall: Lec- Network basics: - OSI model and how Internet works - Socket APIs red PP network (Gnutella, KaZaA, etc.) UseNet

More information

Making Gnutella-like P2P Systems Scalable

Making Gnutella-like P2P Systems Scalable Making Gnutella-like P2P Systems Scalable Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, S. Shenker Presented by: Herman Li Mar 2, 2005 Outline What are peer-to-peer (P2P) systems? Early P2P systems

More information

DATA. The main challenge in P2P computing is to design and implement LOOKING UP. in P2P Systems

DATA. The main challenge in P2P computing is to design and implement LOOKING UP. in P2P Systems LOOKING UP DATA in P2P Systems By Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert Morris, and Ion Stoica The main challenge in P2P computing is to design and implement a robust and scalable

More information

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q Overlay networks To do q q q Overlay networks P2P evolution DHTs in general, Chord and Kademlia Turtles all the way down Overlay networks virtual networks Different applications with a wide range of needs

More information

Slides for Chapter 10: Peer-to-Peer Systems

Slides for Chapter 10: Peer-to-Peer Systems Slides for Chapter 10: Peer-to-Peer Systems From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Overview of Chapter Introduction Napster

More information

5 Lectures on Peer-peer and Application-level Networking Advanced System Topics

5 Lectures on Peer-peer and Application-level Networking Advanced System Topics 5 Lectures on Peer-peer and Application-level Networking Advanced System Topics Presented by Jon Crowcroft Ack for material by Jim Kurose,Brian Levine,Don Towsley,Umass, + Marcello Pias (CL) & Ant Rowstron

More information

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics // Topics Peer to Peer Systems Introduction Client-server vs peer to peer Peer-to-peer networks Routing Overlays Structured vs unstructured Example PP Systems Skype login server Peer-to-peer - definitions

More information

Building a low-latency, proximity-aware DHT-based P2P network

Building a low-latency, proximity-aware DHT-based P2P network Building a low-latency, proximity-aware DHT-based P2P network Ngoc Ben DANG, Son Tung VU, Hoai Son NGUYEN Department of Computer network College of Technology, Vietnam National University, Hanoi 144 Xuan

More information

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen Overlay and P2P Networks Unstructured networks PhD. Samu Varjonen 25.1.2016 Contents Unstructured networks Last week Napster Skype This week: Gnutella BitTorrent P2P Index It is crucial to be able to find

More information

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma Overlay and P2P Networks Structured Networks and DHTs Prof. Sasu Tarkoma 6.2.2014 Contents Today Semantic free indexing Consistent Hashing Distributed Hash Tables (DHTs) Thursday (Dr. Samu Varjonen) DHTs

More information

Peer-to-peer systems and overlay networks

Peer-to-peer systems and overlay networks Complex Adaptive Systems C.d.L. Informatica Università di Bologna Peer-to-peer systems and overlay networks Fabio Picconi Dipartimento di Scienze dell Informazione 1 Outline Introduction to P2P systems

More information

The Design and Implementation of a Next Generation Name Service for the Internet (CoDoNS) Presented By: Kamalakar Kambhatla

The Design and Implementation of a Next Generation Name Service for the Internet (CoDoNS) Presented By: Kamalakar Kambhatla The Design and Implementation of a Next Generation Name Service for the Internet (CoDoNS) Venugopalan Ramasubramanian Emin Gün Sirer Presented By: Kamalakar Kambhatla * Slides adapted from the paper -

More information

Reminder: Distributed Hash Table (DHT) CS514: Intermediate Course in Operating Systems. Several flavors, each with variants.

Reminder: Distributed Hash Table (DHT) CS514: Intermediate Course in Operating Systems. Several flavors, each with variants. CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA Reminder: Distributed Hash Table (DHT) A service, distributed over multiple machines, with hash table semantics

More information

Distributed Hash Tables

Distributed Hash Tables Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi 1/34 Outline 1 2 Smruti R. Sarangi 2/34 Normal Hashtables Hashtable : Contains a set of

More information

Structured Peer-to-Peer Networks

Structured Peer-to-Peer Networks Structured Peer-to-Peer Networks The P2P Scaling Problem Unstructured P2P Revisited Distributed Indexing Fundamentals of Distributed Hash Tables DHT Algorithms Chord Pastry Can Programming a DHT Graphics

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 Presented by Jibin Yuan ION STOICA Professor of CS

More information

Peer- Peer to -peer Systems

Peer- Peer to -peer Systems Peer-to-peer Systems Brian Nielsen bnielsen@cs.aau.dk Client-Server Centralized Bottleneck Functional specialization Single point of failure Central administration NFS Client NFS Client NFS Server NFS

More information

Query Processing Over Peer-To-Peer Data Sharing Systems

Query Processing Over Peer-To-Peer Data Sharing Systems Query Processing Over Peer-To-Peer Data Sharing Systems O. D. Şahin A. Gupta D. Agrawal A. El Abbadi Department of Computer Science University of California at Santa Barbara odsahin, abhishek, agrawal,

More information

Today s Objec2ves. Kerberos. Kerberos Peer To Peer Overlay Networks Final Projects

Today s Objec2ves. Kerberos. Kerberos Peer To Peer Overlay Networks Final Projects Today s Objec2ves Kerberos Peer To Peer Overlay Networks Final Projects Nov 27, 2017 Sprenkle - CSCI325 1 Kerberos Trusted third party, runs by default on port 88 Security objects: Ø Ticket: token, verifying

More information

DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS

DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS Herwig Unger Markus Wulff Department of Computer Science University of Rostock D-1851 Rostock, Germany {hunger,mwulff}@informatik.uni-rostock.de KEYWORDS P2P,

More information

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline System Architectural Design Issues Centralized Architectures Application

More information

6. Peer-to-peer (P2P) networks I.

6. Peer-to-peer (P2P) networks I. 6. Peer-to-peer (P2P) networks I. PA159: Net-Centric Computing I. Eva Hladká Faculty of Informatics Masaryk University Autumn 2010 Eva Hladká (FI MU) 6. P2P networks I. Autumn 2010 1 / 46 Lecture Overview

More information

15-744: Computer Networking P2P/DHT

15-744: Computer Networking P2P/DHT 15-744: Computer Networking P2P/DHT Overview P2P Lookup Overview Centralized/Flooded Lookups Routed Lookups Chord Comparison of DHTs 2 Peer-to-Peer Networks Typically each member stores/provides access

More information

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Unstructured networks Prof. Sasu Tarkoma 19.1.2015 Contents Unstructured networks Last week Napster Skype This week: Gnutella BitTorrent P2P Index It is crucial to be able to find

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks P2P Systems Jianping Pan Summer 2007 5/30/07 csc485b/586b/seng480b 1 C/S vs P2P Client-server server is well-known server may become a bottleneck Peer-to-peer everyone is a (potential)

More information

Peer-To-Peer Techniques

Peer-To-Peer Techniques PG DynaSearch Markus Benter 31th October, 2013 Introduction Centralized P2P-Networks Unstructured P2P-Networks Structured P2P-Networks Misc 1 What is a Peer-to-Peer System? Definition Peer-to-peer systems

More information

Decentralized Object Location In Dynamic Peer-to-Peer Distributed Systems

Decentralized Object Location In Dynamic Peer-to-Peer Distributed Systems Decentralized Object Location In Dynamic Peer-to-Peer Distributed Systems George Fletcher Project 3, B649, Dr. Plale July 16, 2003 1 Introduction One of the key requirements for global level scalability

More information

Semester Thesis on Chord/CFS: Towards Compatibility with Firewalls and a Keyword Search

Semester Thesis on Chord/CFS: Towards Compatibility with Firewalls and a Keyword Search Semester Thesis on Chord/CFS: Towards Compatibility with Firewalls and a Keyword Search David Baer Student of Computer Science Dept. of Computer Science Swiss Federal Institute of Technology (ETH) ETH-Zentrum,

More information

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations.

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations. Goals CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University of California, Berkeley

More information

Distributed hash table - Wikipedia, the free encyclopedia

Distributed hash table - Wikipedia, the free encyclopedia Page 1 sur 6 Distributed hash table From Wikipedia, the free encyclopedia Distributed hash tables (DHTs) are a class of decentralized distributed systems that provide a lookup service similar to a hash

More information

Peer-to-Peer Protocols and Systems. TA: David Murray Spring /19/2006

Peer-to-Peer Protocols and Systems. TA: David Murray Spring /19/2006 Peer-to-Peer Protocols and Systems TA: David Murray 15-441 Spring 2006 4/19/2006 P2P - Outline What is P2P? P2P System Types 1) File-sharing 2) File distribution 3) Streaming Uses & Challenges 2 Problem:

More information

Telecommunication Services Engineering Lab. Roch H. Glitho

Telecommunication Services Engineering Lab. Roch H. Glitho 1 Support Infrastructure Support infrastructure for application layer Why? Re-usability across application layer protocols Modularity (i.e. separation between application layer protocol specification /

More information

Opportunistic Application Flows in Sensor-based Pervasive Environments

Opportunistic Application Flows in Sensor-based Pervasive Environments Opportunistic Application Flows in Sensor-based Pervasive Environments Nanyan Jiang, Cristina Schmidt, Vincent Matossian, and Manish Parashar ICPS 2004 1 Outline Introduction to pervasive sensor-based

More information

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Overview 5-44 5-44 Computer Networking 5-64 Lecture 6: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Web Consistent hashing Peer-to-peer Motivation Architectures Discussion CDN Video Fall

More information

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing March 8, 2016 rof. George orter Outline Today: eer-to-peer networking Distributed hash tables Consistent hashing

More information

: Scalable Lookup

: Scalable Lookup 6.824 2006: Scalable Lookup Prior focus has been on traditional distributed systems e.g. NFS, DSM/Hypervisor, Harp Machine room: well maintained, centrally located. Relatively stable population: can be

More information

Addressed Issue. P2P What are we looking at? What is Peer-to-Peer? What can databases do for P2P? What can databases do for P2P?

Addressed Issue. P2P What are we looking at? What is Peer-to-Peer? What can databases do for P2P? What can databases do for P2P? Peer-to-Peer Data Management - Part 1- Alex Coman acoman@cs.ualberta.ca Addressed Issue [1] Placement and retrieval of data [2] Server architectures for hybrid P2P [3] Improve search in pure P2P systems

More information

L3S Research Center, University of Hannover

L3S Research Center, University of Hannover , University of Hannover Dynamics of Wolf-Tilo Balke and Wolf Siberski 21.11.2007 *Original slides provided by S. Rieche, H. Niedermayer, S. Götz, K. Wehrle (University of Tübingen) and A. Datta, K. Aberer

More information

Debunking some myths about structured and unstructured overlays

Debunking some myths about structured and unstructured overlays Debunking some myths about structured and unstructured overlays Miguel Castro Manuel Costa Antony Rowstron Microsoft Research, 7 J J Thomson Avenue, Cambridge, UK Abstract We present a comparison of structured

More information

LECT-05, S-1 FP2P, Javed I.

LECT-05, S-1 FP2P, Javed I. A Course on Foundations of Peer-to-Peer Systems & Applications LECT-, S- FPP, javed@kent.edu Javed I. Khan@8 CS /99 Foundation of Peer-to-Peer Applications & Systems Kent State University Dept. of Computer

More information

SplitQuest: Controlled and Exhaustive Search in Peer-to-Peer Networks

SplitQuest: Controlled and Exhaustive Search in Peer-to-Peer Networks SplitQuest: Controlled and Exhaustive Search in Peer-to-Peer Networks Pericles Lopes Ronaldo A. Ferreira pericles@facom.ufms.br raf@facom.ufms.br College of Computing, Federal University of Mato Grosso

More information

EARM: An Efficient and Adaptive File Replication with Consistency Maintenance in P2P Systems.

EARM: An Efficient and Adaptive File Replication with Consistency Maintenance in P2P Systems. : An Efficient and Adaptive File Replication with Consistency Maintenance in P2P Systems. 1 K.V.K.Chaitanya, 2 Smt. S.Vasundra, M,Tech., (Ph.D), 1 M.Tech (Computer Science), 2 Associate Professor, Department

More information