+ All Categories
Home > Documents > A Framework for Structured Peer-To-Peer Systems

A Framework for Structured Peer-To-Peer Systems

Date post: 09-Jan-2016
Category:
Upload: astro
View: 42 times
Download: 2 times
Share this document with a friend
Description:
A Framework for Structured Peer-To-Peer Systems. Seif Haridi (SICS/KTH) Visiting Professor NUS Together with P2P research group Sameh El-Ansary (SICS) Ali Ghodsi (KTH) Luc Onana Alima (SICS/KTH) Per Brand (SICS). The Talk inOne Slide. P2P Systems. a- Simplification of - PowerPoint PPT Presentation
Popular Tags:
78
2003-11-14 S. Haridi, Peer to Peer Systems 1 A Framework for Structured Peer-To-Peer Systems Seif Haridi (SICS/KTH) Visiting Professor NUS Together with P2P research group Sameh El-Ansary (SICS) Ali Ghodsi (KTH) Luc Onana Alima (SICS/KTH) Per Brand (SICS)
Transcript
Page 1: A Framework for Structured  Peer-To-Peer Systems

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)

Page 2: A Framework for Structured  Peer-To-Peer Systems

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

Page 3: A Framework for Structured  Peer-To-Peer Systems

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

Page 4: A Framework for Structured  Peer-To-Peer Systems

2003-11-14 S. Haridi, Peer to Peer Systems 4

Overview of P2P systems

Page 5: A Framework for Structured  Peer-To-Peer 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.

Page 6: A Framework for Structured  Peer-To-Peer Systems

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.

Page 7: A Framework for Structured  Peer-To-Peer Systems

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

Page 8: A Framework for Structured  Peer-To-Peer Systems

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

Page 9: A Framework for Structured  Peer-To-Peer Systems

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

Page 10: A Framework for Structured  Peer-To-Peer Systems

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

Page 11: A Framework for Structured  Peer-To-Peer Systems

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

Page 12: A Framework for Structured  Peer-To-Peer Systems

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)

Page 13: A Framework for Structured  Peer-To-Peer Systems

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

Page 14: A Framework for Structured  Peer-To-Peer Systems

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)

Page 15: A Framework for Structured  Peer-To-Peer Systems

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)

Page 16: A Framework for Structured  Peer-To-Peer Systems

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)

Page 17: A Framework for Structured  Peer-To-Peer Systems

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)

Page 18: A Framework for Structured  Peer-To-Peer Systems

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 )

Page 19: A Framework for Structured  Peer-To-Peer Systems

2003-11-14 S. Haridi, Peer to Peer Systems 19

Comparison of P2P Systems

Page 20: A Framework for Structured  Peer-To-Peer 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

Page 21: A Framework for Structured  Peer-To-Peer Systems

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

Page 22: A Framework for Structured  Peer-To-Peer Systems

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

Page 23: A Framework for Structured  Peer-To-Peer Systems

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)

Page 24: A Framework for Structured  Peer-To-Peer Systems

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

Page 25: A Framework for Structured  Peer-To-Peer Systems

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

Page 26: A Framework for Structured  Peer-To-Peer Systems

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

Page 27: A Framework for Structured  Peer-To-Peer Systems

2003-11-14 S. Haridi, Peer to Peer Systems 27

Chord as binary search (2/2)

Page 28: A Framework for Structured  Peer-To-Peer Systems

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)

Page 29: A Framework for Structured  Peer-To-Peer Systems

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

Page 30: A Framework for Structured  Peer-To-Peer Systems

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

Page 31: A Framework for Structured  Peer-To-Peer Systems

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

Page 32: A Framework for Structured  Peer-To-Peer Systems

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

Page 33: A Framework for Structured  Peer-To-Peer Systems

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

Page 34: A Framework for Structured  Peer-To-Peer Systems

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

Page 35: A Framework for Structured  Peer-To-Peer Systems

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

Page 36: A Framework for Structured  Peer-To-Peer Systems

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

Page 37: A Framework for Structured  Peer-To-Peer Systems

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

Page 38: A Framework for Structured  Peer-To-Peer Systems

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)

Page 39: A Framework for Structured  Peer-To-Peer Systems

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

Page 40: A Framework for Structured  Peer-To-Peer Systems

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

Page 41: A Framework for Structured  Peer-To-Peer Systems

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

Page 42: A Framework for Structured  Peer-To-Peer Systems

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

Page 43: A Framework for Structured  Peer-To-Peer Systems

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

Page 44: A Framework for Structured  Peer-To-Peer Systems

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[

Page 45: A Framework for Structured  Peer-To-Peer Systems

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[

Page 46: A Framework for Structured  Peer-To-Peer Systems

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

Page 47: A Framework for Structured  Peer-To-Peer Systems

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

Page 48: A Framework for Structured  Peer-To-Peer Systems

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

Page 49: A Framework for Structured  Peer-To-Peer Systems

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

Page 50: A Framework for Structured  Peer-To-Peer Systems

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

Page 51: A Framework for Structured  Peer-To-Peer Systems

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

Page 52: A Framework for Structured  Peer-To-Peer Systems

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

Page 53: A Framework for Structured  Peer-To-Peer Systems

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

Page 54: A Framework for Structured  Peer-To-Peer Systems

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

Page 55: A Framework for Structured  Peer-To-Peer Systems

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.

Page 56: A Framework for Structured  Peer-To-Peer Systems

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.

Page 57: A Framework for Structured  Peer-To-Peer Systems

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.

Page 58: A Framework for Structured  Peer-To-Peer Systems

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

Page 59: A Framework for Structured  Peer-To-Peer Systems

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

Page 60: A Framework for Structured  Peer-To-Peer Systems

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.

Page 61: A Framework for Structured  Peer-To-Peer Systems

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)

Page 62: A Framework for Structured  Peer-To-Peer Systems

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)

Page 63: A Framework for Structured  Peer-To-Peer Systems

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)

Page 64: A Framework for Structured  Peer-To-Peer Systems

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.

Page 65: A Framework for Structured  Peer-To-Peer Systems

2003-11-14 S. Haridi, Peer to Peer Systems 65

Simulation Results (1/2)

Page 66: A Framework for Structured  Peer-To-Peer Systems

2003-11-14 S. Haridi, Peer to Peer Systems 66

Simulation Results (2/2)

Page 67: A Framework for Structured  Peer-To-Peer Systems

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

Page 68: A Framework for Structured  Peer-To-Peer Systems

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

Page 69: A Framework for Structured  Peer-To-Peer Systems

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.

Page 70: A Framework for Structured  Peer-To-Peer Systems

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

Page 71: A Framework for Structured  Peer-To-Peer Systems

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

Page 72: A Framework for Structured  Peer-To-Peer Systems

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

Page 73: A Framework for Structured  Peer-To-Peer Systems

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

Page 74: A Framework for Structured  Peer-To-Peer Systems

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

Page 75: A Framework for Structured  Peer-To-Peer Systems

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

Page 76: A Framework for Structured  Peer-To-Peer Systems

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

Page 77: A Framework for Structured  Peer-To-Peer Systems

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

Page 78: A Framework for Structured  Peer-To-Peer Systems

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


Recommended