2003-11-14s. haridi, peer to peer systems1 a framework for structured peer-to-peer systems seif...
TRANSCRIPT
2003-11-14 S. Haridi, Peer to Peer Systems 1
A Framework for Structured Peer-To-Peer Systems
Seif Haridi (SICS/KTH)Visiting Professor NUSTogether withP2P research groupSameh El-Ansary (SICS)Ali Ghodsi (KTH)Luc Onana Alima (SICS/KTH)Per Brand (SICS)
2003-11-14 S. Haridi, Peer to Peer Systems 2
The Talk inOne Slide
P2P Systems
ExistingStructured
P2PSystems
withLogarithmicProperties
Distributed K-ary Search is a common
principle
Results of the
Observation
a- Simplification of systems understanding
b- Optimization of systems
C- Design of new algorithms and
systems
Important Observation
2003-11-14 S. Haridi, Peer to Peer Systems 3
Outline
Overview What is P2P? Evolution of P2P systems Taxonomy of P2P systems Brief Comparison of P2P systems Research issues in state-the-art P2P systems
DKS Broadcast service in DKS Conclusion & Future Work
2003-11-14 S. Haridi, Peer to Peer Systems 4
Overview of P2P systems
2003-11-14 S. Haridi, Peer to Peer Systems 5
What is Peer-To-Peer Computing? (1/3)
Oram (First book on P2P): P2P is a class of applications that: Takes advantage of resources – (storage, CPU, etc,..) –
available at the edges of the Internet. Because accessing these decentralized resources means
operating in an environment of unstable connectivity and unpredictable IP addresses, P2P nodes must operate outside the DNS system and have significant or total autonomy from central servers.
2003-11-14 S. Haridi, Peer to Peer Systems 6
What is Peer-To-Peer Computing? (2/3)
P2P Working Group (A Standardization Effort): P2P computing is: The sharing of computer resources and services
by direct exchange between systems. Peer-to-peer computing takes advantage of
existing computing power and networking connectivity, allowing economical clients to leverage their collective power to benefit the entire enterprise.
2003-11-14 S. Haridi, Peer to Peer Systems 7
What is Peer-To-Peer Computing? (3/3)
Our view: P2P computing is distributed computing with the following desirable properties: Resource Sharing Dual client/server role Decentralization/Autonomy Scalability Robustness/Self-Organization
2003-11-14 S. Haridi, Peer to Peer Systems 8
Evolution of P2P - 1st Generation(Central Directory + Distributed Storage)
Central Directory
bye.mp3
britney.mp3
Hope.sics.se
Hello.mp3
Britney.mp3
…..
….
….
…..
x.imit.kth.se
foo.mp3
bye.mp3
Hello.mp3
{x.imit.kth.se}
{hope.sics.se}
hello.mp3 {hope.sics.se, x.imit.kth.se}
foo.mp3 {x.imit.kth.se}
Representative:Napster
Queries
Que
ries
Queries
Data TransferData Transfer
2003-11-14 S. Haridi, Peer to Peer Systems 9
Storage + Directory
Evolution of P2P: 2nd Generation(Random Overlay Networks)
Main representatives:GnutellaFreenet
Storage + Directory
Storage + Directory
Storage + DirectoryStorage + Directory
Storage + Directory
Storage + Directory
2003-11-14 S. Haridi, Peer to Peer Systems 10
Evolution of P2P - 3rd Generation (Structured Overlay Networks / DHTs) (1/2)
put(key,value), get(key) interface The neighbors of a node are well-
defined and not randomly chosen A value inserted from any node,
will be stored at a certain well-defined node
How do we do this?
The Distributed Hash Table Abstraction
2003-11-14 S. Haridi, Peer to Peer Systems 11
Keys of ValuesKeys of ValuesSet of Values/Items
Keys of NodesSet of Nodes
Evolution of P2P - 3rd Generation (Structured Overlay Networks / DHTs) (2/2)
…
Main representatives:Chord, Pastry, Tapestry, CAN, Kademlia, P-Grid, Viceroy
Node IdentifierValue Identifier
Hashing
Hashing
Common Identifier Space
ConnectThe nodesSmartly
2003-11-14 S. Haridi, Peer to Peer Systems 12
The Principle Of Distributed Hash Tables
A dynamic distribution of a hash table onto a set of cooperating nodes
Key Value
1 Algorithms
9 Routing
11 DS
12 Peer-to-Peer
21 Networks
22 Grids
• Basic service: lookup operation • Key resolution from any node
• Each node has a routing table • Pointers to some other nodes• Typically, a constant or a logarithmic number of pointers
node A
node D
node B
node C
→Node D : lookup(9)
2003-11-14 S. Haridi, Peer to Peer Systems 13
A DHT Example: Chord
Nodes
Ids of nodes and items are arranged in a circular space.
An item id is assigned to the first node id that follows it on the circle.
The node at or following an id on the space (circle) is called the successor
8
2
6
7
4
3
5
109
11
14
13
15
Values
0 1
12
2003-11-14 S. Haridi, Peer to Peer Systems 14
Chord – Routing (1/4)
Routing table size: M, where N = 2M
Every node n knows successor(n + 2 i-1) ,for i = 1..M
Routing entries = log2(N)
log2(N) hops from any node to any other node
8
2
6
7
4
3
5
109
14
15 0 1
11
13
12
Get(15)
2003-11-14 S. Haridi, Peer to Peer Systems 15
Chord – Routing (2/4)
Routing table size: M, where N = 2M
Every node n knows successor(n + 2 i-1) ,for i = 1..M
Routing entries = log2(N)
log2(N) hops from any node to any other node
8
2
6
7
4
3
5
109
14
15 0 1
11
13
12
Get(15)
2003-11-14 S. Haridi, Peer to Peer Systems 16
Chord – Routing (3/4)
Routing table size: M, where N = 2M
Every node n knows successor(n + 2 i-1) ,for i = 1..M
Routing entries = log2(N)
log2(N) hops from any node to any other node
8
2
6
7
4
3
5
109
14
15 0 1
11
13
12
Get(15)
2003-11-14 S. Haridi, Peer to Peer Systems 17
Chord – Routing (4/4)
From node 1, only 3 hops to node 0 where item 15 is stored
For 16 nodes, the maximum is log2(16) = 4 hops between any two nodes
8
2
6
7
4
3
5
109
14
15 0 1
11
13
12
Get(15)
2003-11-14 S. Haridi, Peer to Peer Systems 18
Taxonomy of P2P Systems
P2P Systems
Fully Decentralized (Gnutella)
Partially Decentralized (Kazaa)
Hybrid Decentralized (Napster)
Unstructured
Structured (Chord, CAN, Tapestry, Pastry )
2003-11-14 S. Haridi, Peer to Peer Systems 19
Comparison of P2P Systems
2003-11-14 S. Haridi, Peer to Peer Systems 20
Current Research Issues in DHTs
Lack of a Common Framework Absence of Locality Cost of Maintaining the Structure Complex Queries Heterogeneity Group Communication/Higher level services Grid Integration
2003-11-14 S. Haridi, Peer to Peer Systems 21
Framework
A Framework for Peer-To-Peer Lookup Services Based On k-ary Search
Aspects: Understanding, Optimization
2003-11-14 S. Haridi, Peer to Peer Systems 22
DHTs as Distributed k-ary SearchS
The lookup originS Interval in virtual space A node
2003-11-14 S. Haridi, Peer to Peer Systems 23
DHTs as Distributed k-ary Search
R S
S
The responsible of an interval : - Successor (Chord) - Next matching prefix + proximity metric (Pastry, Tapestry) - Next matching prefix + XOR metric (Kademlia)
R
The lookup originS Interval in id space A node
Virtual Hop
Network Hop
R R
SR R
Level 1
Level 2
… Level logk(N)
…
2003-11-14 S. Haridi, Peer to Peer Systems 24
The Space-Performance Trade-off
We have N nodes. A node keeps info about a subset of peers . Lookup length vs. Routing table size trade-off Extremes:
Keep info about all Keep info about 1
2003-11-14 S. Haridi, Peer to Peer Systems 25
In general, for N nodes, the maximum lookup path length H and the number of routing entries R are as follows:
H = logk(N) (Number of levels in the tree)
R = (k –1)* logk(N) (k-1 neighbors per levels)
Relating N, H and R
N = (R/H +1)H
2003-11-14 S. Haridi, Peer to Peer Systems 26
Chord as binary search (1/2) Chord is a special case
of our view with with k=2, i.e., binary search
H= log2(N)
R= log2(N)
8
2
6
7
4
3
5
109
14
15 0 1
13
2003-11-14 S. Haridi, Peer to Peer Systems 27
Chord as binary search (2/2)
2003-11-14 S. Haridi, Peer to Peer Systems 28
Generalizing Chord
Suggestion: Increase the search arity by following the guidelines of our view and put enough info for k-ary search
H = logk(N)
R = (k-1) logk(N)
2003-11-14 S. Haridi, Peer to Peer Systems 29
Why Does routing table size matter?
Not because of storage capacity But because of the effort needed to correct
an inconsistent routing table after the network changes
2003-11-14 S. Haridi, Peer to Peer Systems 30
DKS(N,k,f)
Title: DKS(N,k,f): Family of Low Communication, Scalable and Fault-Tolerant Infrastructures for P2P Applications
Authors: Luc Onana Alima, Sameh El-Ansary, Per Brand, and Seif Haridi.
Place: In The 3rd International Workshop on Global and Peer-To-Peer Computing on Large-scale Distributed Systems - CCGRID2003, Tokyo, Japan, May 2003.
Aspects: Understanding, Design
2003-11-14 S. Haridi, Peer to Peer Systems 31
DKS A P2P system that:
Realizes the DKS principle Offers strong guarantees because of the
local atomic actions Introduces novel technique that avoids
unnecessary bandwidth consumption Relevance to research issues in state-of-
the-art P2P systems: Common framework Cost of maintaining the structure
2003-11-14 S. Haridi, Peer to Peer Systems 32
Next
Design principles in DKS(N,k,f) How does a DKS work? Conclusion and other ongoing work
2003-11-14 S. Haridi, Peer to Peer Systems 33
Design principles in DKS(N,k,f)
Distributed K-ary Search (DKS) principle Local atomic action for joins and leaves Correction-on-use technique Replication for fault tolerance
2003-11-14 S. Haridi, Peer to Peer Systems 34
Design Principles in DKS
Tunability Routing table size vs. lookup length Fault-tolerance degree
Local atomic join and leave Strong guarantees
Correction-on-use No unnecessary bandwidth consumption
2003-11-14 S. Haridi, Peer to Peer Systems 35
DKS overlay illustrated-1 An identifier space of size N=kL is used
A logical ring of N positions
01
2
3
4
5
6
78
910
11
15
14
13
12
An item (key,value) is stored at successor of H(key), first node that follows H(key) on the ring in the clockwise direction
A hash function, H, maps:Nodes onto the logical ring
Items onto the logical ring
2003-11-14 S. Haridi, Peer to Peer Systems 36
DKS overlay illustrated-2 Basic Interconnection
Bidirectional linked list of nodes Each node points to its
PredecessorSuccessor
Resolving keyO(N) hops
in an N-node system
01
2
3
4
5
6
78
910
11
15
14
13
12
2003-11-14 S. Haridi, Peer to Peer Systems 37
Design principle 1:Distributed K-ary Search (DKS) principle
The DKS is designed from the beginning based on the Distributed k-ary search principle.
The system uses the successor of an identifier in a circular space for assigning responsibilities
2003-11-14 S. Haridi, Peer to Peer Systems 38
DKS Overlay illustrated-3 Enhanced Interconnection
Speeding up key resolution: logk(N) hops
At each node, a RT of logk(N) levels Each level of RT has k intervals
For level l and interval i(RT(l))(i) = address of the first node that
follows the start of the interval i
(responsible node)
2003-11-14 S. Haridi, Peer to Peer Systems 39
Notation
k
NinxxxI
IIIV
LN
Nba
kN
NI
I
iiii
k
k
L
111
11
11
11
10
1
,[,[
... 1, levelat
log levels ofnumber
mod)(ba
space) theof (size
}1,...,1,0{
space Identifier
Views and Levels
2003-11-14 S. Haridi, Peer to Peer Systems 40
Levels and views
10for )( ,[,[
[,[..., ,[,[
...,2 levelat
10for ,[,[
... 1, levelat
log levels ofnumber
1
1011100
110
111
11
11
11
10
1
kik
NinnxxxI
xxIxxI
IIIVLl
kik
NinxxxI
IIIV
LN
lli
li
li
li
llk
lk
lll
lk
lll
iiii
k
k
Views and Levels
2003-11-14 S. Haridi, Peer to Peer Systems 41
Responsibility
nodeany by computed be can
n of function a isxS that Observe
lIn
xSI
ln
xxxSx
I
IRV
li
l
li
li
li
li
l
)(
any for for eresponsibl itself is nodeEach
)( is for
eresponsibl the, levelarbitrary an and nodearbitrary an For
[,[in dencountere nodefirst theis )( node, a be let
intervaleach
for eresponsibl is that )( node a is there leveleach At
1
2003-11-14 S. Haridi, Peer to Peer Systems 42
DKS Overlay illustrated-4 Example, k=4, N=16 (42)
At each node an RT of two levelsIn each level, 4 intervals
Let us focus on node 1
1
2
3
4
5
6
78
9
10
11
12
13
14
150
• Level 1, 4 intervalsI0 = [1,5[ : (RT(1))(0) = 1
I1 = [5,9[ : (RT(1))(1) = 6
I2 = [9,13[ : (RT(1))(2) = 10
I3 = [13,1[ : (RT(1))(3) = 15
• level 2, 4 intervalsI0 = [1,2[ : (RT(2))
(0) = 1 I1 = [2,3[ : (RT(2))
(1) = 2I2 = [3,4[ : (RT(2))
(2) = 3I3 = [4,5[ : (RT(2))
(3) = 6
2003-11-14 S. Haridi, Peer to Peer Systems 43
Lookup in a DKS(N,k,f) network (basic idea)
A predecessor pointer is added at each node
Interval routingIf key between my
predecessor and me, doneOtherwise, systematic forwarding
level by level
2003-11-14 S. Haridi, Peer to Peer Systems 44
Lookup in a DKS(N,k,f) network illustrated (1/2)
A lookup request for 11 from node 0
Node 0 sends a request to 9
Piggybackingof sender’s currentposition on its “tree”
0
8
2
12
6
7
4
3
1
5
10
9
11
14
13
15
L=1,
[8,1
2[
2003-11-14 S. Haridi, Peer to Peer Systems 45
Lookup in a DKS(N,k,f) network illustrated (2/2)
A lookup request for 11 from node 0
Node 9 behaves similarly Uses its level 2
for forwarding
Request resolvedin two hops
0
8
2
12
6
7
4
3
1
5
10
9
11
14
13
15
L=2, [11,12[
2003-11-14 S. Haridi, Peer to Peer Systems 46
Design principle 2:Local atomic action for guarantees
To ensure that any key-value pair previously inserted is found despite concurrent joins and leaves We use local atomic operation for
Node join Node leave
Stabilization-based systems do not ensure this
2003-11-14 S. Haridi, Peer to Peer Systems 47
DKS(N,k,f) network construction
A joining node is atomically inserted by its currentsuccessor on the virtual space
The atomic insertion involves only three nodes in fault-free scenarios
The new node receives approximate routinginformation from its current successor
Concurrent joins on the same segment are serialized by mean of local atomic action
2003-11-14 S. Haridi, Peer to Peer Systems 48
DKS routing table maintenance
Example: node 1 in DKS(N=16, k=4, f)
l=1,
i=3
l=1,
i=2l=1
, i=1
l=2,
i=3
l=2,
i=2
l=2,
i=1
1
2
3
4
5
6
78
9
10
11
12
13
14
150
• Node 14 joins the system
• Node 1’s pointer on level=1, interval=3 becomes invalid
• Will be corrected by Correction-on-use
2003-11-14 S. Haridi, Peer to Peer Systems 49
Design principle 3:Correction-on-use
A node always talks to a responsible node Knowledge of responsible may be erroneous
“If you tell me from where (in your “tree”,) you are contacting me, then I can tell you whether you know the correct responsible” Help others to correct themselves
“If I heard from you, I learn about your existence” Help to correct myself
2003-11-14 S. Haridi, Peer to Peer Systems 50
Correction on use
Look-up or insert messages from node n to node n’
Add the following to the message i (interval) and l (level)
Node n’ can compute : Node n’ maintains a list of predecessors BL
)(nxli
2003-11-14 S. Haridi, Peer to Peer Systems 51
DKS correction-on-use
Example: node 1 in DKS(N=16, k=4, f)
• Node 1: lookup(key:13)
• Node 1’s uses its pointer on level=1 interval=3l=1
, i=3
l=1,
i=2l=1
, i=1
l=2,
i=3
l=2,
i=2
l=2,
i=1
1
2
3
4
5
6
78
9
10
11
12
13
14
150
a) Lookup(Key:13, Level:1, Interval: 3)
a
b) BadPointer(Key:13,Candidate:14)
b
2003-11-14 S. Haridi, Peer to Peer Systems 52
DKS correction-on-use
Example: node 1 in DKS(N=16, k=4, f)
• Node 1: lookup(key:13)
• Node 1’s uses its pointer on level=1 interval=3
l=1,
i=3
l=1,
i=2l=1
, i=1
l=2,
i=3
l=2,
i=2
l=2,
i=1
1
2
3
4
5
6
78
9
10
11
12
13
14
150
a) Lookup(Key:13, Level:1, Interval: 3)
a
b) BadPointer(Key:13,Candidate:14)
b
c) Lookup(Key:13, Level:1, Interval: 3)
c
2003-11-14 S. Haridi, Peer to Peer Systems 53
Correction-on-use works given enough traffic
Settings:
+/- 10 % network changes,
α x P lookups injected
2003-11-14 S. Haridi, Peer to Peer Systems 54
Efficient Broadcast
Title: Efficient Broadcast in Structure P2P Systems
Authors: Sameh El-Ansary, Luc Onana Alima, Per Brand, and Seif Haridi.
Place: In The 2nd International Workshop on Peer-to-Peer Systems (IPTPS ’03), February 2003.
Related aspects: Design
2003-11-14 S. Haridi, Peer to Peer Systems 55
Motivation: Why broadcast is needed for DHTs?
In general, support for global dissemination/collection of info in DHTs.
In particular, the ability to perform arbitrary queries in DHTs.
2003-11-14 S. Haridi, Peer to Peer Systems 56
The Broadcast Problem in DHTs
Problem: Given an overlay network constructed by a P2P DHT system, find an efficient algorithm for broadcasting messages. The algorithm should not depend on global knowledge of membership and should be of equal cost for any member in the system.
2003-11-14 S. Haridi, Peer to Peer Systems 57
The Efficient Broadcast Solution
Construct a spanning tree derived from the decision tree of the distributed k-ary search after removal of the virtual hops.
2003-11-14 S. Haridi, Peer to Peer Systems 58
DHTs as Distributed k-ary Search
R R
R R
S
R R
R RR R
R RR RR R R R R R R R R
The responsible of an interval : - Successor (Chord) - Next matching prefix node in (Pastry, Tapestry)
R
The lookup originS Interval in id space
R R R R
A node
Virtual Hop
Network Hop
2003-11-14 S. Haridi, Peer to Peer Systems 59
Other Solutions for Broadcast Gnutella-like Flooding in DHT
(Pro) Known diameter→ Correct TTL → High Guarantees
(Con) The traffic is high with redundant messages Traversing the ring in Chord or Pastry
(Pro) No redundant messages (Con) Sequential execution time (Con) Highly sensitive to failure
2003-11-14 S. Haridi, Peer to Peer Systems 60
Efficient Broadcast Algorithm Invariants
Any node sends to distinct routing entries. Any sender informs a receiver about a
forwarding limit, that should not be crossed by the receiver or the neighbors of the receiver.
Forwarding within disjoint intervals where every node receives a message exactly once.
2003-11-14 S. Haridi, Peer to Peer Systems 61
Efficient Broadcast Idea0
8
2
12
6
7
4
3
1
5
109
11
14
13
151
3 3 96
Lim(6) Lim(9)Lim(1)
2003-11-14 S. Haridi, Peer to Peer Systems 62
Stop!!
Limit
Efficient Broadcast Idea0
8
2
12
6
7
4
3
1
5
109
11
14
13
151
3 6 9
Lim(6)
Lim(9)Lim(1)
4 6 7 12
Lim(6)
2003-11-14 S. Haridi, Peer to Peer Systems 63
Efficient Broadcast Idea0
8
2
12
6
7
4
3
1
5
109
11
14
13
151
3 6 9
Lim(6)
Lim(9)Lim(1)
4 7
Lim(6)
Lim(9)
10 12
15
Lim(1)Lim(12)
Lim(1)
2003-11-14 S. Haridi, Peer to Peer Systems 64
Cost Versus Guarantees Q: Is N-1 messages tolerable for any
application? A1: Broadcast is a costly basic service, if
necessary, broadcast wisely. A2: If less guarantees are desirable, prune or
traverse the spanning tree differently.
2003-11-14 S. Haridi, Peer to Peer Systems 65
Simulation Results (1/2)
2003-11-14 S. Haridi, Peer to Peer Systems 66
Simulation Results (2/2)
2003-11-14 S. Haridi, Peer to Peer Systems 67
Broadcast Contributions Presents an optimal algorithm for
broadcasting in DHTs Relevance to research issues in state-of-
the-art P2P systems: Group communication Complex queries
2003-11-14 S. Haridi, Peer to Peer Systems 68
Conclusion By using the distributed k-ary search
framework for the understanding, optimization and design of existing structured P2P systems with logarithmic performance properties, we were able to provide solutions to current research issues in state-of-the-art systems namely: Lack of a common framework Group communication Complex queries Cost of maintaining the structure
2003-11-14 S. Haridi, Peer to Peer Systems 69
Current/Future Work Short term plans:
A thorough evaluation of the DKS(N,k,f) system under different operation conditions.
Strong support of network dynamism in the broadcast algorithm (done).
Supporting multicast inspired by our work on broadcast (done) An Mozart implementation of DKS(N,k,f) Integrating the Mozart implementation with the Generic
Distribution Susbsystem (DSS) (being done) Provide an implementation of DKS(N,k,f) in a mainstream
programming language such as Java or C\# Long-term plans:
Formal reasoning about P2P algorithms. Dealing with heterogeneity and locality of overlays networks. Integration with GRID middleware.
2003-11-14 S. Haridi, Peer to Peer Systems 70
Notation
k
NinxxxI
IIIV
LN
Nba
kN
NI
I
iiii
k
k
L
111
11
11
11
10
1
,[,[
... 1, levelat
log levels ofnumber
mod)(ba
space) theof (size
}1,...,1,0{
space Identifier
Views and Levels
2003-11-14 S. Haridi, Peer to Peer Systems 71
Levels and views
10for )( ,[,[
[,[..., ,[,[
...,2 levelat
10for ,[,[
... 1, levelat
log levels ofnumber
1
1011100
110
111
11
11
11
10
1
kik
NinnxxxI
xxIxxI
IIIVLl
kik
NinxxxI
IIIV
LN
lli
li
li
li
llk
lk
lll
lk
lll
iiii
k
k
Views and Levels
2003-11-14 S. Haridi, Peer to Peer Systems 72
Responsibility
nodeany by computed be can
n of function a isxS that Observe
lIn
xSI
ln
xxxSx
I
IRV
li
li
li
li
li
li
l
)(
any for for eresponsibl itself is nodeEach
)( is for
eresponsibl the, levelarbitrary an and nodearbitrary an For
[,[in dencountere nodefirst theis )( node, a be let
intervaleach
for eresponsibl is that )( node a is there leveleach At
2003-11-14 S. Haridi, Peer to Peer Systems 73
Routing table
nodes ofset :
},..,1{:
levels ofset :
)(pointer r predecesso a
:
for eresponsibl is that )( node a is there leveleach At
k
nP
RT
IRV
n
li
l
2003-11-14 S. Haridi, Peer to Peer Systems 74
Node insertion I
nilInsert
np
nilRT
iLl
n
n
Insert
p
j
j
j
j
:
:
:))((
do ,1each for
)(
inserted be tonode :
inserted be tonodes :
pointerr predecesso :
Network Empty
2003-11-14 S. Haridi, Peer to Peer Systems 75
Node insertion II
ysimilar wa ain its adapts
:
:))(( else
:))((
then [,[)( if
do }0/{,for
:)0)((
do for
: of RT thecomputes Node
)(
n
n
jn
n
jjli
jn
j
RTn
np
nilRT
nilRT
nnnx
iLl
nlRT
Ll
nn
n
j
j
j
j
node single a with Network NonEmpty
2003-11-14 S. Haridi, Peer to Peer Systems 76
Node insertion III
jn
n
nn
nnjli
jnjjli
njjli
jn
j
np
RTn
pp
ionapproximatilRTilRTpnnx
nilRTnpnx
nilRTnnnx
iLl
nlRTLl
nn
j
j
j
j
j
:
y similar wa ain its adapts
:
)( ))(( :))(( then [,[)( elseif
:))(( then [,[)( elseif
:))(( then [,[)( if
do }0/{,for
:)0)(( do for
: of RT thecomputes Node
nodes multiple with Network NonEmpty
2003-11-14 S. Haridi, Peer to Peer Systems 77
Node insertion IV
Node insertion is an atomic operation Coordinated and serialized by n p is informed of nj
Other insertion requests to n wait n is the coordinator of 2PC Clients p and nj
2003-11-14 S. Haridi, Peer to Peer Systems 78
Correction on use
Look-up or insert messages from node n to node n’
Add the following to the message i (interval) and l (level)
Node n’ can compute : Node n’ maintains a list of predecessors BL
)(nxli