Download presentation
Presentation is loading. Please wait.
1
A. D. Sotiriou, P. Kalliaras, N. Mitrou
Umbrella: A distributed routing table protocol for fault-tolerant content distribution A. D. Sotiriou, P. Kalliaras, N. Mitrou National Technical University of Athens
2
Outline Introduction Related Work Protocol Overview Routing Algorithms
Protocol Extensions Simulation Results Conclusions
3
Definition P2P systems are distributed systems consisting of interconnected nodes able to self-organize into network topologies with the purpose of sharing resources such as content, CPU cycles, storage and bandwidth, capable of adapting to failures and accommodating transient populations of nodes while maintaining acceptable connectivity and performance, without requiring the intermediation or support of a global centralized server or authority
4
Searching - Strategy 1 Messages poll nodes, without having any idea of where the data may be held by the destination nodes, till the required items are found The down side of this strategy is network overload due to a large number of generated search messages a long latency to satisfy a request
5
Searching - Strategy 2 Maintains additional information in nodes to reduce network traffic and/or the number of hop visits index over the data within hierarchical clusters or by nearby neighbors Messages are directed specifically along paths that are expected to be more productive Requires determining what attributes to index a priori and thus constraining the allowable search The high space cost incurred in storing the index
6
Introduction P2P networks constantly changing topology
routing must be able to tolerate random node failures and discover alternative paths to forward messages Problems of existing P2P algorithms (by using neighborhood tables) table size simultaneous failure application level (stability of nodes) Umbrella protocol based on a distributed hash table (DHT) of fixed-size on top of an overlay network The ad hoc networks are different to P2P networks. Ad hoc networking which focuses on routing protocol has been discussed in many papers. In P2P networking, the efficient message exchange is the main that has been discussed in many papers such as “Choosing Reputable Servants in a P2P Network”, “Neighborhood signatures for searching P2P networks”, etc. This paper tried to do what?
7
Related Work Routing and Location Infrastructure
control the number of hops that need to be traversed to get to the requested data items without flooding the network
8
Current P2P Routing and Location Infrastructures
Chord [Stoica et al. 2001]: A scalable P2P lookup service. Given a key, it maps the key to a node CAN [Ratnasamy et al. 2001]: Scalable content addressable network. A distributed infrastructure that provides hash-table functionality for mapping file names to their locations Pastry [Rowstron and Druschel 2001]: Infrastructure for fault-tolerant wide-area location and routing Tapestry [Zhao et al and 2004]: Infrastructure for fault-tolerant wide-area location and routing Kademlia [Mayamounkov and Mazieres 2002]: A scalable P2P lookup service based on the XOR metric Z-Ring [Lian et al. 2005]: Infrastructure for fault-tolerant wide-area location and routing From S. Androutsellis-Theotokis and D. Spinellis “A Survey of Content Distribution Technologies,” ACM Computing Surveys, Vol. 36, No. 4, December 2004, pp. 335–371.
9
Protocol Overview Protocol Structure Key Mapping Routing Table
The Maximum Height Lookup Steps
10
Protocol Structure Each node is inserted to the system through an existing node The overlay network is constructed in the form of a loose B-tree each node is placed in a hierarchy tree with a parent node and b child nodes without being required to fulfill pre-defined ranges as in a proper B-tree structure
11
Protocol Structure
12
m-way Search Tree The root has at most m subtrees and has the structure: N,A0,(k1, A1),…,(kn, An) where Ai, 0≦i ≦n <m are pointers to subtrees and the ki, 0≦i ≦n <m are key values ki < ki+1, 0≦i <n All key values in the subtree Ai are less than ki+1 and greater than ki+1, 0<i<n All key values in the subtree An are greater than kn, and those in A0 are less than k1 The subtrees Ai, 0≦i ≦n are also m-way search trees
13
m-way Search Tree (cont’d)
20, 40 d b c 10, 15 25, 30 45, 50 a: 2,b,(20,c),(40,d) b: 2,0,(10,0),(15,0) c: 2,0,(25,0),(30,e) d: 2,0,(45,0),(50,0) e: 1,0,(35,0) e 35
14
B-tree Balanced m-way search tree
A B-tree of order m is an m-way search tree The root node has at least 2 children All nodes other than the root node and failure nodes have at least children All failure nodes are at the same level
15
Key Mapping Parent node at level n and a child node
The n+1 first digits of the parent’s identifier are equal with the corresponding numbers of the child’s identifier The n+2 digit of the child’s identifier determines the child’s position in the parent’s child list
16
Routing Table The basic set stores nodes and information required for basic routing operations under fault-free conditions The upper and lower set store additional indexes to nodes in the upper and lower levels
17
The Maximum Height Thm 1. Given an Umbrella network of N nodes with identifiers of base b acquired by a consistent hash function, the maximum height of the Umbrella structure is of logarithmic scale
18
Lookup Steps Thm 2. A successful lookup in an Umbrella network requires, with high probability, O(logbN) step Proof : worst case scenario source and destination reside at level m and with maximum distance between them 2m steps are required O(logbN) steps
19
Routing Algorithms - Insertion
Contacting an already connected node and issuing a request The established node checks if the n+1 first digits of the identifier match its own, where n is the level the node resides If not then the insertion message is forwarded to the node’s parent If yes then the message is forwarded to the child with the n+2 digit common with that of the new node If such a child does not exist then the new node is placed as a child to the current node The new node is informed of its new neighbors and via versa
20
Routing Algorithms - Insertion (cont’d)
12500 n = 2, b=3 12511 11530 12510 12530 12520
21
Routing Algorithms - Lookup
The node first checks for the keyword in its list of published keywords If it exists then the search terminates If not, then it checks whether the first n+1 digits are identical to its own identifier If not then the message is forwarded to its parent If yes, then it’s forwarded to the child with corresponding n+2 digit matching If no such exists, then the search fails
22
Routing Algorithms - Lookup (cont’d)
12500 n = 2, b=3 12510 12530 12520 Find: 12511 Find:
23
Routing Algorithms - Departure
If the node has no children then all of its keywords are forwarded to its parent and it informs all its neighbors of the departure If it has any child, then it randomly picks one and copies all of its neighborhood and keyword information to it before departing. The chosen child moves up a level and substitutes the departing node If the chosen child has any child of its own, then the previous step is repeated recursively until a node with no child is reached and the first step terminates the algorithm
24
Routing Algorithms - Departure (cont’d)
12500 n = 2, b=3 12510 12530 12520 12511
25
Routing Algorithms -Fault Tolerance
Unable to contact its parent node the parent’s parent node ( field Up2) the node to the right of the parent node (field Right2) the node to the left of the parent node (field Left2) Unable to contact its child node one of the child’s child (field Umbrella2) the node on the right of the child (field Umbrella) the node on the left of the child (field Umbrella) a child of the node right of the issuing node (field Right3) a child of the node left of the issuing node (field Left3)
26
Protocol Extensions Replication schemas Virtual Networks
27
Replication schemas Local Spread Replication (LSR)
once the proper node is found, through the publish mechanism, the keyword is also published in all nodes residing in its neighboring table Inverse Replication (IR) - publishes keywords in two nodes closest match as in original routing protocol with inverse identifier to that of the keyword Local Spread Inverse Replication (LSIR) combination of the two previous schemas, and implements a local spread in both the closest match and the inverse closest match
28
Virtual Networks Identifier obtained by the use of the SHA-1 hash function determines each node’s position in the relevant B-tree bounds it to a constrained number of nodes allowing each node to participate in a number of virtual networks
29
Simulation Results Network Topology First Set of Results
Second Set of Results
30
Network Topology - N:10
31
Network Topology - N:100
32
Network Topology - N:1000
33
First Set of Results
34
First Set of Results (cont’d)
35
First Set of Results (cont’d)
36
First Set of Results (cont’d) -Without Repair
37
First Set of Results (cont’d) - 10T
38
First Set of Results (cont’d)
39
Second Set of Results (cont’d)
40
Second Set of Results (cont’d)
41
Second Set of Results (cont’d)
42
Second Set of Results (cont’d)
43
Second Set of Results (cont’d)
44
Second Set of Results (cont’d)
45
Second Set of Results (cont’d)
46
Second Set of Results (cont’d)
47
Second Set of Results (cont’d)
48
Second Set of Results (cont’d)
49
Conclusions Umbrella protocol
a novel protocol based on a DHT that supports key publishing and retrieval on top of an overlay network for content distribution Analyzed proposed theme and algorithms through both theoretical and simulation means and proved its correctness and efficacy Fixed-size routing table is able to provide efficient routing even under contrary conditions Scalable due to its low traffic load demands Simulations proved is able to route seamlessly successful lookups in O(logbN) steps even when more than 80% nodes suddenly fails
50
Anthill in P2P P2P systems can be seen as instances of complex adaptive systems (CAS) typically found in biological and social sciences Anthill is a framework to support the design, implementation and evaluation of P2P applications based on ideas such as multi-agent and evolutionary programming borrowed from CAS. An Anthill system consists of a dynamic network of peer nodes; societies of adaptive agents travel through this network, interacting with nodes and cooperating with other agents in order to solve complex problems. Anthill can be used to construct different classes of P2P services that exhibit resilience, adaptation and self-organization properties.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.