1 / 25

A Distributed and Oblivious Heap

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.

atira
Télécharger la présentation

A Distributed and Oblivious Heap

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Distributed andOblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn

  2. Motivation P2P systems: significantamountofattention. Holy grail: P2P systemsthatarehighlyscalableandrobust Internet

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

  4. Sybil Attacks Goal:floodnetworkwithfakepeers Effect:disconnectgoodpeers, dropmessages, dropormanipulatedata,… Internet

  5. 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

  6. OurApproach Connect totheolderpeers!

  7. 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

  8. Howtoconnecttoolderpeers? Naive solution: Connection todolderpeerschosenuniformlyatrandom: • Howtojoinandleaveefficiently? • Not a self-routingtopology! Better: distributedheapbased on de Bruijngraph 3 2 1 5 4

  9. 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)

  10. 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

  11. 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 }

  12. 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´ 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)

  13. 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

  14. SHELL SHELL: Hierarchyof de Bruijnnetworks

  15. SHELL SHELL: distributedheapbased on age

  16. 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)

  17. SHELL Routing betweentwopeers v and w: • usedeBruijnroutingalongforwardedgestillregionofw reached • descendalongbackwardedgestillwreached 1. v 2. w

  18. SHELL Routing betweentwonodes v and w: • usedeBruijnroutingalongforwardedgestillregionofw reached • descendalongbackwardedgestillwreached 1. v forwardedge youngestpeer

  19. SHELL Routing betweentwonodes v and w: • usedeBruijnroutingalongforwardedgestillregionofw reached • descendalongbackwardedgestillwreached Nice properties: • Onlynodesvisitedthatareat least asoldasvandw • Wheneverynodevsends packet torandomw, congestionatmostO(log2 n) w.h.p.

  20. 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.

  21. 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.

  22. 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.

  23. 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

  24. 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.

  25. Conclusion SHELL:distributedheapwithessentially optimal runtimeforrouting, joiningandleaving Future tasks: • Bettercongestion (O(log2 n) down toO(log n)) • Locality • Realization?

More Related