a distributed and oblivious heap n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
A Distributed and Oblivious Heap PowerPoint Presentation
Download Presentation
A Distributed and Oblivious Heap

Loading in 2 Seconds...

play fullscreen
1 / 25

A Distributed and Oblivious Heap - PowerPoint PPT Presentation


  • 133 Views
  • Uploaded on

A Distributed and Oblivious Heap. Christian Scheideler and Stefan Schmid Dept . of Computer Science University of Paderborn. Motivation. P2P systems : significant amount of attention . Holy grail : P2P systems that are highly scalable and robust. Internet. Motivation.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'A Distributed and Oblivious Heap' - atira


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a distributed and oblivious heap

A Distributed andOblivious Heap

Christian Scheideler and Stefan Schmid

Dept. of Computer Science

University of Paderborn

motivation
Motivation

P2P systems: significantamountofattention.

Holy grail: P2P systemsthatarehighlyscalableandrobust

Internet

motivation1
Motivation

P2P systemsfacemanythreats:stop/failattacks, join/leaveattacks, Eclipseattacks, Sybil attacks, Denial-of-Service attacks, contentpollution,…

Internet

sybil attacks
Sybil Attacks

Goal:floodnetworkwithfakepeers

Effect:disconnectgoodpeers, dropmessages, dropormanipulatedata,…

Internet

sybil attacks1
Sybil Attacks

Previoussolutions:

  • Douceur 02: Usetrustedauthoritytolimitgenerationofidentities
  • Bazzi et al. 05/06: Limit identitiescreatedat a particularlocation (e.g., withinan ISP) ofthe Internet
  • Danezis et al. 05, Yu et al. 06: Network based on socialcontacts
  • Margolin & Levine 07: Game theory

General approach: addconstraints

Ourapproach: working P2P networkdespiteSybil attacks

our a pproach
OurApproach

Connect totheolderpeers!

our approach
Our Approach

Similartopreferentialattachmentgraphs.

Hope:peersalready in thesystemwhen Sybil attackstartsare not affectedby it.

Network Entry Point

28

26

23

21

20

19

18

17

16

9

10

3

how to connect to older peers
Howtoconnecttoolderpeers?

Naive solution:

Connection todolderpeerschosenuniformlyatrandom:

  • Howtojoinandleaveefficiently?
  • Not a self-routingtopology!

Better: distributedheapbased on de Bruijngraph

3

2

1

5

4

dynamic de bruijn network

01

00

11

10

Dynamic de Bruijn Network

Classicalnetworktheory: familyofgraphs

Example: d-dim. de BruijngraphG=(V,E)

  • V = {0,1}d
  • E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), forsome b{0,1} }

Weneed: dynamic form ofde Bruijngraph (nodesjoinandleave)

dynamic de bruijn network1
Dynamic de Bruijn Network

Example: d-dim. de BruijngraphG=(V,E)

  • V = {0,1}d
  • E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), forsome b{0,1} }
  • Represent(x1,…,xd) as0.x1 x2…xd [0,1), e.g. 0.101 = 1(1/2) + 0(1/4) + 1(1/8)
  • Letd
dynamic de bruijn network2
Dynamic de Bruijn Network

Example: d-dim. de BruijngraphG=(V,E)

  • V = {0,1}d
  • E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), forsome b{0,1} }

Resultford:

  • V = [0,1)
  • E = { {x,y}[0,1)2| y=x/2 ory=(1+x)/2 }
dynamic de bruijn network3
Dynamic de Bruijn Network

Continuous de Bruijngraph:

  • V = [0,1)
  • E = { {x,y}[0,1)2 | y=x/2 or y=(1+x)/2 }

R

0

1

ForanytworegionsR, R´: {x,y}E: (x,y)RxR´or(x,y)R´xR: eachpeer in Rto all olderpeers in R´

  • cut[0,1) intoregionsof same size
  • assignpeerstorandompoints in [0,1)
dynamic de bruijn network4
Dynamic de Bruijn Network

Continuous de Bruijngraph:

  • V = [0,1)
  • E = { {x,y}[0,1)2 | y=x/2 or y=(1+x)/2 }

0

1

Dilemma:foranyfixedregionsize

EITHER : noneighbors OR : toomanyneighbors

shell
SHELL

SHELL: Hierarchyof de Bruijnnetworks

shell1
SHELL

SHELL: distributedheapbased on age

shell2
SHELL

Foreverynodev:

  • vhasforwardedgestoolderpeers in itshomeregionand de Bruijnregions
  • vhasbackwardedgesto all peersthathaveforwardedgestoit
  • Level ofvisthelowest s.t. v´shomeregioncontainsat least c log nvoldernodes in thisandhigherlevels(nv: total # nodesolderthanv) (Howdoes v know?)

Forward degree: O(log n), backwarddegree: O(log2 n)

(w.h.p., based on randompositionsofpeers)

shell3
SHELL

Routing betweentwopeers v and w:

  • usedeBruijnroutingalongforwardedgestillregionofw reached
  • descendalongbackwardedgestillwreached

1.

v

2.

w

shell4
SHELL

Routing betweentwonodes v and w:

  • usedeBruijnroutingalongforwardedgestillregionofw reached
  • descendalongbackwardedgestillwreached

1.

v

forwardedge

youngestpeer

shell5
SHELL

Routing betweentwonodes v and w:

  • usedeBruijnroutingalongforwardedgestillregionofw reached
  • descendalongbackwardedgestillwreached

Nice properties:

  • Onlynodesvisitedthatareat least asoldasvandw
  • Wheneverynodevsends packet torandomw, congestionatmostO(log2 n) w.h.p.
shell6
SHELL

Join(v):

  • find rightregion in rightlevelprescribedby order nvandrandompointassignedtovO(log n) time w.h.p. (userouting)
  • integratevinto SHELL andadaptregionsofneighbors (ifneeded)O(1) time, O(log2 n)workw.h.p. (forgeneralheap)

v

Join/leave verkehrt!!

w

Expected O(1) lifts per level

O(log n) work per liftw.h.p.

shell7
SHELL

Leave(v):

  • Remove vfrom SHELL andadaptregionsofneighbors (ifneeded)O(1) time, O(log2 n)workw.h.p.

v

Expected O(1) drops per level

w

O(log n) work per dropw.h.p.

shell8
SHELL

Problem: nodevneedstoestimateits order nv(i.e. # nodesolderthan v)

Solution:

  • B(j): numberofnodes in homeregionofv in leveljthatareolderthanv
  • vfindslargestj so thatj < B(j)/c – log B(j)

Chosen leveldeviatesby1from ideal levelw.h.p.

distributed heaps
Distributed Heaps

Concurrentheaps:

  • Shavit & Zemach 99: skipqueue
  • Shavit & Zemach 00: funneltree

not applicable in ourcontext

Distributed heaps:

  • Bhargava et al. 04: PAGODAjoin/leave: O(log2 n) time andwork
main results
Main Results

Theorem:Forany Sybil attack after stept0, all peersthatwere in the SHELL systembeforet0can still performreliableandefficientrouting (andbased on that, also datamanagement).

SHELL can also beappliedasscalable, low-congestionnetworkforpeerswitharbitrarybandwidths.

conclusion
Conclusion

SHELL:distributedheapwithessentially optimal runtimeforrouting, joiningandleaving

Future tasks:

  • Bettercongestion (O(log2 n) down toO(log n))
  • Locality
  • Realization?