96
UNIVERSITÉ DE NANTES LABORATOIRE D’INFORMATIQUE DE NANTES ATLANTIQUE STRUCTURED P2P OVERLAY NETWORKS Yann Busnel 1 Structured P2P overlay networks Yann Busnel Maitre de conférence – Université de Nantes F2R401b - Architectures des systèmes dynamiques Telecom Bretagne – Rennes

UNIVERSITÉ DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE STRUCTURED P2P OVERLAY NETWORKS Yann Busnel1Structured P2P overlay networks Yann Busnel

Embed Size (px)

Citation preview

  • Slide 1

UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE STRUCTURED P2P OVERLAY NETWORKS Yann Busnel1Structured P2P overlay networks Yann Busnel Maitre de confrence Universit de Nantes F2R401b - Architectures des systmes dynamiques Telecom Bretagne Rennes Slide 2 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Recall on unstructured P2P Unstructured P2P architectures Direct application of P2P paradigm Each peer: Is both client and server Is autonomous in term of storage and resources Has only a knowledge of its logical neighborhood Problems : Numerous limitations due to The number of exchanges messages The efficiency of localization process Blind approach Yann Busnel2Structured P2P overlay networks Slide 3 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Polemic P2P paradigm is realistic ? Nodes from a network are they all really equivalent? Is it reasonnable to not indexing resources in order to protect autonomy? Yann Busnel3Structured P2P overlay networks Slide 4 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Constat 1 All peers are not equivalents: Bandwidth heterogeneity A gap from 1 to 3 of the available bandwidth [Sar02] Storage capabilities heterogeneity Processor heterogeneity Behavior heterogeneity In file sharing system, 70% of users are free riders i.e. users that dont share any file [Ada00] 50% of replies are produced from 1% of peers [Ada00] Finally, all peers are not equals! Motivation for HYBRIDES P2P ARCHITECTURES Yann Busnel4Structured P2P overlay networks Slide 5 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Constat 2 Resources indexation remains (until now) the best way to guarantee resource localization Finally, in order to maintain a good localization service QoS, it is not reasonnable to avoid resource indexes! Motivation for STRUCTURED P2P ARCHITECTURES Yann Busnel5Structured P2P overlay networks Slide 6 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Outline Introduction Hybrid P2P Structured P2P DHT Interface Example system CHORD PASTRY CAN Yann Busnel6Structured P2P overlay networks Slide 7 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Hierarchical peers Remove the peers equality constraint Aims: Give to some peers a specific role Representation role Routing role Remove low bandwidth nodes from the localization process: ask for other peers to represent them Strategies Creation of peers data index on a subset of peers => Super-peer Yann Busnel7Structured P2P overlay networks Slide 8 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Super-peer Super-peer / Peer Super-Peer : Nodes with a large bandwidth Peer : Node with a low bandwidth are clustered around a super-peer Role: To substitute itself to simple peers in the localization process Indexation Super-peers have an index of resources provided by represented peers. Note that Napster : 1 super-peer / n pairs KaZaA : m super-peers / n pairs Yann Busnel8Structured P2P overlay networks Slide 9 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Hierarchical network Super-Peers are organized in P2P fashion All Peers are linked to a super-peer in client/serveur mode pair super-pair C / S P2P i i i i i Index des ressources du cluster cluster Yann Busnel9Structured P2P overlay networks Slide 10 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Download Peer architecture C/S Communication Peer User Interface Request Locales resources Result Request Download service Resource Super-peer connection system Super-peer interogation system Index of stored data Index Super-Peer @ super peer Yann Busnel10Structured P2P overlay networks Slide 11 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Download Super peer architecture Message management Super-Peer User Interface Request Resources locales Super-Peer Neighborhood table Request management Request handler Result transmitter Request forwarder Result handler Results Result Request Request Request Request Downloading service Resource Index of local data and represented peers data C/S Comm. C/S communication server Results Peer Yann Busnel11Structured P2P overlay networks Slide 12 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Fault tolerance Redondant Super-peer Possible enhancement, choose k super-peers (partners) instead of one in a cluster Each partner is connected to each client and owns an index for all their resources Raise join cost of new node by a factor k Clients send their requests to their partner according to a round robin principle Permit to decrease the load of a partner by a factor k Yann Busnel12Structured P2P overlay networks Slide 13 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Example of redondant super-peer C/S P2P Yann Busnel13Structured P2P overlay networks Slide 14 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Remarks R1 : increase the cluster size raise individual load (in term of bandwidth) of super-peers but reduce the global load Large clusters => Huge consequence in term of failure, attacks, R2 : super-peer redondance is positive but costful Good trade-off between global load balancing using large cluster with low individual load and a good ault tolerance Yann Busnel14Structured P2P overlay networks Slide 15 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Summary Avantages Remove low resource peers (bandwidth, processing power, ) from the information localization process Faster resource localization Disadvantages Creation of an index on super-peer likely to resolve queries Centralization, even local, infers a lower super-peer failure tolerance Costly super peer redondance Yann Busnel15Structured P2P overlay networks Slide 16 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Example of hierarchical P2P Super-peer : KaZaA 4 500 000 simultaneous connections Connexions duration: few hours Number of available files: 10 6 Gnutella (0.6-*) Ultrapeers Yann Busnel16Structured P2P overlay networks Slide 17 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Outline Introduction Hybrid P2P Structured P2P DHT Interface Example system CHORD PASTRY CAN Yann Busnel17Structured P2P overlay networks Slide 18 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Objectives Give value to efficiency of localization process Data indexation Guarantee to find any available data in the network Required a decentralized index ! Yann Busnel18Structured P2P overlay networks Slide 19 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Structure networks Properties Data or data reference are placed on specific nodes Allocation are made using a hash function Searching is proceed according to a key Challenge Find fastly an object starting from its key in a large scale network without centralized structure Chord, CAN, Pastry Yann Busnel19Structured P2P overlay networks Slide 20 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE 1-P2P routing infrastructure Overlay: network abstraction on top of IP Basic functionality: distributed hash table CAN relies on a multidimensional cartesian space Chord, Pastry, Tapestry: generalized hypercube routing based on prefix matching Exact-match interface Applications Content-delivery networks Storage systems, Caching Naming services Multicast Yann Busnel20Structured P2P overlay networks Slide 21 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Distributed Hash Table (DHT) Yann Busnel21 k6,v6 k1,v1 k5,v5 k2,v2 k4,v4 k3,v3 containers Operations: insert(k,v) lookup(k) Table of containers Store pairs Efficient access to a value given a key Mapping key-value ensured by the table of containers Structured P2P overlay networks Slide 22 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE P2P Distributed Hash Table Yann Busnel22 k6,v6 k1,v1 k5,v5 k2,v2 k4,v4 k3,v3 nodes Operations: send(m,k) P2P overlay network Message sent to keys: implementation of a DHT P2P infrast. ensures mapping between keys and physical nodes Fully decentralized: peer to peer communication paradigm Structured P2P overlay networks Slide 23 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE DHT capabilities Scalability: Resources agregation Storage Computing power Bandwidth Load balancing Availability Self-organizing Failure resilience Yann Busnel23Structured P2P overlay networks Slide 24 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE 24 P2P DHT principle 52 24 75 40 18 91 32 66 83 Yann Busnel24Structured P2P overlay networks Slide 25 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE logical address space 52 24 75 40 18 91 32 66 83 South America North America Australia Asia Europe Asia Overlay network P2P DHT principle Yann BusnelStructured P2P overlay networks25 Slide 26 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Mapping Yann Busnel26 Identifier Space key nodeId An identifier is associated to each node (nodeId) Large identifier space (keys and nodeId) A node is responsible for closest key to its nodeId Structured P2P overlay networks Slide 27 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE key nodeId Sending messages to keys Yann Busnel27 source destination Each node maintains a routing table (nodeid, IP adress) At each routing hops, the message gets closest to the key Infrastructure P2P: mapping between key and node Structured P2P overlay networks Slide 28 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Distributed Hash Table Yann Busnel28 K V (K 1,V 1 ) retrieve (K 1 ) insert (K 1,V 1 ) Structured P2P overlay networks Slide 29 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing Interface Route (key,node,msg) Send (node,msg) NextHopSet = lookup (key, num) Upcalls Deliver(key,msg) Forward (key,msg, NexHopNode) Update (neighbour set) Yann Busnel29Structured P2P overlay networks Slide 30 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing Interface Route (key, node, msg) Route the msg to the node (alive) responsible of the key. Non blocking, (best effort), the message may be lost or duplicated node parameter is optional and is interpreted as the first hop (using a good heuristic might deliver the message in one single hop) msg: application-specific key: numerical key (160 bits) node: encapsulates the @ of the last node known associated to that key Yann Busnel30Structured P2P overlay networks Slide 31 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing Interface nextHopSet = lookup (key,num)Returns a set of nodes (num) from the routing table as potential next steps for the routing key: numerical 160 bit key num: number of nodes required in the set Result: the resulting set of nodes Yann Busnel31Structured P2P overlay networks Slide 32 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing Interface Send(node,msg) sends a message to a specific node; fails if the node is not available, blocking and reliable Msg: msg is application-specific Node: encapsulate the @ of the destination node Result: true if the msg is delivered false otherwise Yann Busnel32Structured P2P overlay networks Slide 33 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing Interface Deliver (msg,key) Upcall delivering the message to application. Assumes one application per node msg: message application-specific key: numerical 160 bit key Yann Busnel33Structured P2P overlay networks Slide 34 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing Interface Forward (msg,key,nextHopNode) upcall invoked at each node on the message route (source and destination included) to inform an application that the msg and the key are about to be forwarded to NextHopNode. The application can modify msg, key, nextHopNode or terminate the message by setting nextHopNode to null Msg: application specific msg Key: numerical 160 bit key nextHopNode: @ of the node to which the message is forwarded after the upcall has returned Yann Busnel34Structured P2P overlay networks Slide 35 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing Interface Update(neighborSet) upcall invoked to inform the application of a change in the neighborhood of the local node. Neigborset: set of k nodes Yann Busnel35Structured P2P overlay networks Slide 36 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Outline Introduction Hybrid P2P Structured P2P DHT Interface Example system CHORD PASTRY CAN Yann Busnel36Structured P2P overlay networks Slide 37 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Pastry / Chord Yann Busnel37 node key Id space NodeId = 128 bits Nodes and key place in a linear space (ring) Mapping : a key is associated to the node with the numerically closest nodeId to the key (different placement in Pastry and Chord) Structured P2P overlay networks Slide 38 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Chord DHT-based on a ring that permit place 2 m nodes Node allocation Hashing of node IP Each node is allocated on the ring according to its IP hash m = 4 16 emplacements m = 4 16 emplacements Yann Busnel38Structured P2P overlay networks Slide 39 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Resource hash H(resource) = key The key is placed on the node with ID greater or equal than key value Resource allocation ( cl=0000, contenu=F1 ) ( cl=1001, contenu=F3 ) ( cl=0010, contenu=F2 ) ( cl=0110, contenu=F4 ) Yann Busnel39Structured P2P overlay networks Slide 40 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Naive resource searching Each node store ID of its successor To handle a query, a peer forward the request to its successor The result follow the backward path Linear searching according to the number of peers Yann Busnel40Structured P2P overlay networks Slide 41 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Example of naive searching Recherche(0000) ( cl=0000, contenu=F1 ) Yann Busnel41Structured P2P overlay networks Slide 42 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Research enhancement Required a routing table more complete: Finger nodes table Use a successor mechanism not limited to the direct one on the ring Principle For each node Ni with hash value j : Succ[k]=first node on the ring that verify (j + 2k-1) mod 2 m, 1 k m Use of predecessor for ring maintenance Yann Busnel42Structured P2P overlay networks Slide 43 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Yann BusnelStructured P2P overlay networks Finger nodes table 1+2 0 =2N8 1+2 1 =3N8 1+2 2 =5N3 1+2 3 =9N5 10+2 0 =11N4 10+2 1 =12N4 10+2 2 =14N7 10+2 3 =2N8 [11,12 [ [12,14 [ [14,2 [ [2,10 [ [2,3 [ [3,5 [ [5,9 [ [9,1 [ 43 Slide 44 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Searching algorithm If the key exists locally Yes return associated value Else Search in the routing table a node with a value lower or equal than the searched key Forward the query to the selected node Apply this recursively Average number of hops: O(log 2 (N)) Yann Busnel44Structured P2P overlay networks Slide 45 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE 45Structured P2P overlay networks Searching in Chord Look for key 00001 from peer N2 Stored keys {00111,10111} Routing table (Finger nodes) Stored keys {00111,10111} Routing table (Finger nodes) ValueResp.Node 7 + 2 0 = 8[8,9[N5 7 + 2 1 = 9[9,11[N5 7 + 2 2 = 11[11,15[N4 7 + 2 3 = 15[15,7[N1 0 6 5 15 4 8 10 N5 9 7 1 3 2 12 11 13 14 N6 N8 N3 N2 N4 N7 N10 Stored keys {00000,01111,10000,11111} Routing table (Finger nodes) Stored keys {00000,01111,10000,11111} Routing table (Finger nodes) 00001 ValueResp.Node 0 + 2 0 = 1[1,2[N6 0 + 2 1 = 2[2,4[N8 0 + 2 2 = 4[4,8[N3 0 + 2 3 = 8[8,0[N5 Yann Busnel Slide 46 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Node insertion Combining elementary operations: N.JOIN(N) Node N tells to node N its arriving int the network and ask for a successor N.STABILIZE() Periodically launch, permit to N and its successor to check if they form a correct couple (no new node inserted between them) N.MAJENTRY() : Periodically launch, permit to initialize routing table of new nodes, or update existing ones N.TESTPREC() : Periodically launch, check if predecessor remains connected Yann Busnel46Structured P2P overlay networks Slide 47 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Insertion of node N11 at position 9 Insertion of node N11 at position 9 N11 1) Contact successor 01000, 11000, 11001 9 >9 9 9 >9 2) Key retrival (join) 3) Predecessor retrival (stabilize) 4) Routing table update 01010, 110010 Yann Busnel47Structured P2P overlay networks Slide 48 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Insertion of node N11 at position 9 Insertion of node N11 at position 9 9 9 N11 1) Contact successor 2) Key retrival (join) 3) Predecessor retrival (stabilize) 4) Routing table update 01010, 110010 N5, N4, N10, N6 N11, N11 N11 N11 insertion generates modification on 5 nodes 01000, 11000, 11001 Yann Busnel48Structured P2P overlay networks Slide 49 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Insertion algorithm properties Guarantee that any sequence of join interlace with stabilize converges to a stable state (all nodes are reachable) Even in presence of (limited) joins, searching cost remains in O(log(N)) A search can fail if the network is not completelly stabilized (its possible to send again the query a little bit later) Yann Busnel49Structured P2P overlay networks Slide 50 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Failure tolerance The algorithm relies of successor notion (Failure on one node cut the network) A solution consists to manage a set of r successor (cf. Pastry) Yann Busnel50Structured P2P overlay networks Slide 51 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Chord evaluation Searching type: equality Searching cost: O(log(n)) Update cost: O(log(n)) Node insertion cost: O(log 2 (n)) No storage or routing autonomy Yann Busnel51Structured P2P overlay networks Slide 52 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Chord summary Simple algorithm, with good demonstrable properties Confirmation by experimentation Latency problem Searching function minimize hops but all hops dont have the same physical cost (cf. Pastry) Required to use information on distance between nodes (choose the closest successor among the set of possible ones) Yann Busnel52Structured P2P overlay networks Slide 53 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Pastry Slide 54 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Pastry (MSR/Rice) Naming space : Ring of 128 bit integers nodeIds chosen at random Key/node mapping key associated to the node with the numerically closest node id Routing table: Identifiers are a set of digits in base 16 Matrix of 128/4 lines and 16 columns routeTable(i,j): nodeId matching the current node identifier up to level I with the next digit is j Leaf set 8 or 16 closest numerical neighbours in the naming space Yann Busnel54Structured P2P overlay networks Slide 55 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Pastry: Routing table(#65a1fcx) Yann Busnel55 log 16 (N) lines log 16 (N) lines Line 0 Line 1 Line 2 Line 3 Structured P2P overlay networks Slide 56 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Pastry: Routing Yann Busnel56 Properties log 16 N hops Size of the state (routing table): O(log N) d46a1c Route(d46a1c) d462ba d4213f d13da3 65a1fc d467c4 d471f1 Structured P2P overlay networks Slide 57 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing algorithm, notations Yann Busnel57Structured P2P overlay networks Slide 58 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing algorithm (on node A) Yann Busnel58Structured P2P overlay networks Slide 59 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Node departure Explicit departure or failure Replacement of a node The leafset of the closest node in the leafset contains the closest new node, not yet in the leafset Update from the leafset information Update the application Yann Busnel59Structured P2P overlay networks Slide 60 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Failure detection Detected when immediate neighbours in the name space (leafset) can no longer communicate Detected when a contact fails during the routing Routing uses an alternative route Yann Busnel60Structured P2P overlay networks Slide 61 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Fixing the routing table of A Repair Yann Busnel61Structured P2P overlay networks Slide 62 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE State maintenance Leaf set is aggressively monitored and fixed Routing table are lazily repaired When a hole is detected during the routing Periodic gossip-based maintenance Yann Busnel62Structured P2P overlay networks Slide 63 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Reducing latency Random assignment of nodeId: Nodes numerically close are geographically (topologically) distant Objective: fill the routing table with nodes so that routing hops are as short (latency wise) as possible Topological Metric: latency Yann Busnel63 d467c4 d467f5 6fdacd Structured P2P overlay networks Slide 64 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Exploiting locality in Pastry Neighbour selected based of a network proximity metric: Closest topological node Satisfying the constraints of the routing table routeTable(i,j): nodeId corresponding to the current nodeId courant up to level i next digit = j nodes are close at the top level of the routing table random nodes at the bottom levels of the routing tables Yann Busnel64Structured P2P overlay networks Slide 65 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Proximity routing in Pastry Yann Busnel65 d46a1c Route(d46a1c) d462ba d4213f d13da3 65a1fc d467c4 d471f1 Naming space d467c4 65a1fc d13da3 d4213f d462ba Topological space Leaf set Structured P2P overlay networks Slide 66 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Locality Node X routes to node A Path A,B, -> Z Z numerically closest to X Initialisation of the line i of the routing table with the contents of line i of the routing table of the ith node encountered on the path Improving the quality of the routing table X asks to each node of its routing table its own routing state and compare distances Gossip-based update for each line (20mn) Periodically, an entry is chosen at random in the routing table Corresponding line of this entry sent Evaluation of potential candidates Replacement of better candidates New nodes gradually integrated Yann Busnel66Structured P2P overlay networks Slide 67 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Node insertion in Pastry Yann Busnel67 d467c4 65a1fc d13da3 d4213f d462ba Topological space New node : d46a1c d46a1c Route(d46a1c) d462ba d4213f d13da3 65a1fc d467c4 d471f1 Naming space Structured P2P overlay networks Slide 68 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE 68 04F2 5230 834B C52A 8909 8BB2 3A79 8954 8957 AC78 895D E25A 04F2 3A79 5230 834B 8909 8954 8957 8BB2 AC78 C52A E25A k = 8958 k = 8959 put(8959,block) root of key 8959 block replica 895D replica Resource insertion in Pastry Yann Busnel68Structured P2P overlay networks Slide 69 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE 69 04F2 5230 834B C52A 8909 8BB2 3A79 8954 8957 AC78 895D E25A 04F2 3A79 5230 834B 8909 8954 8957 8BB2 AC78 C52A E25A block replica 895D replica k = 8958 k = 8959 get(8959,block) Searching in Pastry in detail Yann Busnel69Structured P2P overlay networks Slide 70 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Node discovery: approximation of the closest node discover(seed) //destination nodes=getleafset(seed) //probes on the leaf set nearNode=pickClosest(nodes) //pick closest in the leafset depth=getMaxRoutingTableLevel(nearNode) //highest line in RT closest=nil while (closest != nearNode) closest=nearNode nodes = getRoutingTable(nearNode, depth) nearNode =pickclosest(nodes) if (depth >0) depth = depth 1 end return closest Routing table property used to move exponentially close to the closest Pick the closest node at each level and get the the next level from it (bottom up) Constant number of probes at each level Probed nodes get exponentially closer at each level Fill routing table entries from the closest node Yann Busnel70Structured P2P overlay networks Slide 71 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Performance Yann Busnel71 1.59 slower than IP on average Structured P2P overlay networks Slide 72 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Content Adressable Network (CAN) Slide 73 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Content Adressable Network -CAN Virtual coordinates Cartesian space The space is shared between peers Each node is responsible for a part of the space (zone) Abstraction CAN enables to store data at a given point in the space CAN enable the routing from a point of the space to the other (DHT functionality) A point is associated to the node owning the zone in which the point lies Yann Busnel73Structured P2P overlay networks Slide 74 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Space organisation in CAN Yann Busnel74 node Key Name space D-dimension space Routing: progression within the space towards The destination Structured P2P overlay networks Slide 75 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE CAN: Example Yann Busnel75Structured P2P overlay networks Slide 76 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE CAN: Example Yann Busnel76Structured P2P overlay networks Slide 77 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE CAN: routing Yann Busnel77 (a,b) (x,y) (1) a = h x (K) b = h y (K) y = b node X ::insert(K,V) x = a (2) route(K,V) -> (a,b) (3) (a,b) stores (K,V) Structured P2P overlay networks Slide 78 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE (x,y) CAN: node insertion Yann Busnel78 (1) Bootstrap : discovery of a contact node already participating to the CAN overlay network (2) Selection of a random point (p,q) in the space (3) Routing to (p,q) and discovery of node Y (4) Zone splitting between Y and N (p,q) Y N N Insertion affects only Y and its immediate neighbours Structured P2P overlay networks Slide 79 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing information The joining node gets the IP @ of its neighbours from the previous owner of the zone Set of neighbours of the joining node is a sub- set of neighbours of the previous owner The previous owner updates its own list of neighbours The neighbours of the joining node should also be updated Yann Busnel79Structured P2P overlay networks Slide 80 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Departure, arrival, maintenance Node departure The leaving node L must make sure that the zone is taken over A leaving node hands over explicitly its own zone (and associated database) to one of its neighbours Failure: detected by periodic messages from a node to its neighbours (hearteat) containing its own coordinates and coordinates of its neighbours Yann Busnel80Structured P2P overlay networks Slide 81 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE CAN: properties Yann Busnel81 Each node maintains pointers to its immediate neighbours = 2d O(d) Routing in a N node network Number of hops in a d-dimension space: In case of failure: selection of an alternative neighbour Optimizations Multiple dimensions Multiple reality RTT Measures Zone splitting Locality awareness: landmarks Structured P2P overlay networks Slide 82 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Failure resilience Yann Busnel82 destination source Structured P2P overlay networks Slide 83 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Failure resilience Yann Busnel83Structured P2P overlay networks Slide 84 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Failure resilience Yann Busnel84 destination Structured P2P overlay networks Slide 85 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Routing resilience Yann Busnel85Structured P2P overlay networks Slide 86 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Failure resilience Node X::route(D) If (X cannot progress directly towards D) Check if one neighbour can progress towards the destination If so, forward the message Yann Busnel86Structured P2P overlay networks Slide 87 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Multiple dimensions Increasing the number of dimensions The average path length is improved The number of neighbours increases linearly with the dimension Enhanced availability: potentially more nodes available Yann Busnel87Structured P2P overlay networks Slide 88 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Reality Multiple independent coordinate spaces Each node is associated to a different zone in each space (reality): r sets of coordinates Enhanced availability DHT content can be replicated across realities Ex: a pointer to a file stored at (x,y,z) is stored on three nodes responsible of point (x,y,z) in 3 realities Improves average path length as well: depending on the destination, the most relevant reality is chosen Yann Busnel88Structured P2P overlay networks Slide 89 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE RTT measures So far, the metric used to progress in the space in the path length in the Cartesian space Better criterion to take into account the underlying topology RTT to each neighbour Message forwarded to the neighbour for which the ratio progress/RTT is the best Avoid long hops Yann Busnel89Structured P2P overlay networks Slide 90 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Summary on structured overlay Chord, Pastry and Tapestry use a generalized hypercube routing: prefix matching State maintained: O(Log(N)) Number of routing hops: O(Log(N)) Proximity routing in Pastry and Tapestry CAN uses progression in a multidimensional Cartesian space State maintained: O(D) Number of routing hops: O(N1/D) Proximity routing more difficult to exploit Yann Busnel90 DHT Functionality = Exact match interface Structured P2P overlay networks Slide 91 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Summary on structured overlay Avantages Localization guarante in determistic time Disadvantages Maintenance cost of DHT Weak autonomous Poor query language (exact matching) Yann Busnel91Structured P2P overlay networks Slide 92 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Conclusion Structured architectures ensure localization of an object among the networkl Contrepart is link to the maintenance cost and peer autonmoy loss Yann Busnel92Structured P2P overlay networks Slide 93 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Comparison of P2P systems UnstructuredHybridStructured AutonomyHighMediumPoor EfficiencyPoorMediumHigh Language expressivity HighMediumPoor Fault toleranceHighPoorHigh Unstructured P2P/ Hybrid P2P / Structured P2P Yann Busnel93Structured P2P overlay networks Slide 94 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Comparison (2) CONCLUSION : Not one fully satisfied solution ! Poor Medium High Unstructured Hybrid Structured Autonomous Expressivity Robustness Localization quality Yann Busnel94Structured P2P overlay networks Slide 95 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE Conclusion 3 P2P architectures type considered, which respect more or less the original paradigm : Unstructured (respect paradigm) Hybrid (remove equality between peers) Structured (remove autonomous principle but permit indexation) Choice of an architecture is made according to: Applicative context Constraints Challenges Enhance localization process, take into account higher-level query language, securize interactions Yann Busnel95Structured P2P overlay networks Slide 96 UNIVERSIT DE NANTES LABORATOIRE DINFORMATIQUE DE NANTES ATLANTIQUE STRUCTURED P2P OVERLAY NETWORKS Yann Busnel96Structured P2P overlay networks Yann Busnel Maitre de confrence Universit de Nantes F2R401b - Architectures des systmes dynamiques Telecom Bretagne Rennes