Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar: Information Management in the Web Vortragende: Désirée Zillmann Betreuer: Dr. Artur Andrzejak, ZIB Vortragsdatum: 08.05.2003 Distributed Hash.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar: Information Management in the Web Vortragende: Désirée Zillmann Betreuer: Dr. Artur Andrzejak, ZIB Vortragsdatum: 08.05.2003 Distributed Hash."—  Präsentation transkript:

1 Seminar: Information Management in the Web Vortragende: Désirée Zillmann Betreuer: Dr. Artur Andrzejak, ZIB Vortragsdatum: Distributed Hash Tables (DHTs) and Plaxton-Type Routing Vortrag:

2 Désirée Zillmann: DHTs and Plaxton-Type Routing 2 Inhaltsverzeichnis z1.Distributed Hash Tables z2.Plaxton z3.Pastry z4.Tapestry z5.Übersicht zLiteratur

3 Désirée Zillmann: DHTs and Plaxton-Type Routing 3 Distributed Hash Tables zDateien sind über einen eindeutigen Hash-Schlüssel (key) erreichbar zKnoten bekommen auch einen Schlüssel (z.B. IP-Adresse) aus demselben Namensraum zDie Hash-Funktionen sind jedem Teilnehmer bekannt zJeder Knoten ist root-Knoten für mehrere Dateien zJeder Knoten hält eine Tabelle mit (key, Id)- Paaren, wobei Id auf den Knoten zeigt, der die Datei zur Verfügung stellt zAnfragen werden an einen Knoten weitergeleitet, dessen KnotenId dem Schlüssel des Objekts “am nächsten” ist im Gegensatz zu Napster und Gnutella ySuche nach Schlüsselworten ysetzen voraus, dass Dateien in erster Linie auf dem Knoten des Publishers gespeichert sind

4 Désirée Zillmann: DHTs and Plaxton-Type Routing 4 Unterschiede bei DHT-Systemen zAufbau des Overlay-Netzwerks zAufrechterhaltung des Netzwerks zSuchalgorithmus lookup(key) yWichtig: Man kann die lookup-Anfrage an einen beliebigen Knoten schicken, und diese wird an den root-Knoten korrekt weitergeleitet. DHT-Systeme: zPlaxton zPastry zTapestry

5 Désirée Zillmann: DHTs and Plaxton-Type Routing 5 P2P Overlay-Netzwerk P2P-Layer IP-Layer

6 Désirée Zillmann: DHTs and Plaxton-Type Routing 6 Plaxton Jeder Knoten ist zServer für die bei ihm gespeicherten Objekte zRouter, der Nachrichten weiterleitet zClient, von dem Suchanfragen ausgehen Besonderheiten: zVon jedem Objekt gibt es ggf. mehrere Kopien

7 Désirée Zillmann: DHTs and Plaxton-Type Routing 7 Routing zu dem Knoten mit Schlüssel 5AC84B *****B  ****4B  ***84B  **C84B  *AC84B  5AC84B zBei jedem Schritt wird von rechts nach links eine Stelle des Schlüssels angepasst. *: zufällige Werte

8 Désirée Zillmann: DHTs and Plaxton-Type Routing 8 Neighbor table Für Knoten 1032 (b=4): -- Stellen, die direkt mit dem lokalen Knoten-Schlüssel übereinstimmen. Bei der Suche kann gleich in die nächste Zeile gesprungen werden. b b: Basis des Schlüssels n: Anzahl der Stellen der Schlüssel n

9 Désirée Zillmann: DHTs and Plaxton-Type Routing 9 Beispiel: Routing-Schritt Knoten 1032 erhält eine Nachricht für den Knoten 1232 An welchen Knoten wird die Nachricht weitergeleitet? => 0232

10 Désirée Zillmann: DHTs and Plaxton-Type Routing 10 Pointer list Ein Zeiger ist ein Tripel (A id, y, c(x,y) ) aus zdem ID A id des Objekt zdem Knoten y, welcher eine Kopie des Objektes besitzt zder „Entfernung“ c(x,y) von x nach y (=Kosten für das Senden einer Ein-Wort-Nachricht von x nach y)

11 Désirée Zillmann: DHTs and Plaxton-Type Routing 11 Wichtige Prozeduren bei Plaxton zSuchen nach einem Objekt zEinfügen eines Objekts zLöschen eines Objekts

12 Désirée Zillmann: DHTs and Plaxton-Type Routing 12 Suchen nach einem Objekt (Plaxton) Knoten 197E sucht Objekt 4378 routed in Richtung root jeder Knoten überprüft auf Zeiger auf genügend nahe Kopien des Objekts root

13 Désirée Zillmann: DHTs and Plaxton-Type Routing 13 Einfügen eines Objekts (Plaxton) Einfügen des Objekts 4378 durch Knoten 39AA (Server) sendet Wunsch an root hinterlässt einen Zeiger zu sich bei jedem Schritt (falls neue Kopie näher) root

14 Désirée Zillmann: DHTs and Plaxton-Type Routing 14 Zu guter Letzt (1) zFehlerbehandlung yVerbindungs- oder Knotenfehler: l ausweichen auf die secondary neighbors l zur Not zurückgreifen auf einen Knoten aus einer niedrigeren Ebene yAusfall des root-Knotens: l ein echtes Problem, da ohne ihn ein Routing zu einem existierenden Objekt nicht sichergestellt ist

15 Désirée Zillmann: DHTs and Plaxton-Type Routing 15 Zu guter Letzt (2) zLokalität yAusgangsvoraussetzung: l der erste Kontakt zum Netzwerk über e. Knoten in der Nähe l Ausnutzen der Entfernungsfunktion c yPlaxton erreicht eine hohe Wahrscheinlichkeit, dass eine nahe Kopie des Objekts gefunden wird (falls diese existiert).

16 Désirée Zillmann: DHTs and Plaxton-Type Routing 16 Zusammenfassung Plaxton + Die pointer list ist eindeutig + Versucht, die möglichst nahe Kopie eines Objektes zu finden + ortsunabhängiges Routing (jeder root ist die Wurzel eines spannenden Baumes im Graphen, der die Topologie des Netzwerks beschreibt) - Statische Menge von teilnehmenden Knoten - Viel Vorarbeit, um die Knotenmenge für den Routing-Prozess zu erzeugen - Plaxton geht von gefüllten neighbor tables aus - Fällt ein root-Knoten aus, dann können einige Objekte nicht mehr erreichbar sein

17 Désirée Zillmann: DHTs and Plaxton-Type Routing 17 Pastry zähnlich aufgebautes Overlay-Netzwerk wie Plaxton zselbst-organisierend zfehlertolerant

18 Désirée Zillmann: DHTs and Plaxton-Type Routing 18 Pseudo-Code Pastry Routing-Prozedur (1) (1) if( ){ (2) // D is within range of our leaf set (3) forward to, s.th. is minimal; (4) } else { (5) // use the routing table (6) Let ; (7) if ( ) { (8) forward to ; (9) } R l i : Eintrag in der routing table, i-te Spalte, l-te Zeile L i : i-te nächste KnotenId

19 Désirée Zillmann: DHTs and Plaxton-Type Routing 19 Pseudo-Code Pastry Routing-Prozedur (2) (10) else { (11) // rare case (12) forward to, s.th. (13) (14) (14) } (16) } D l : der Wert der l Zeichen im Schlüssel D shl(A,B) : Anzahl d. Zeichen des gemeinsamen Präfixes von A u. B

20 Désirée Zillmann: DHTs and Plaxton-Type Routing 20 Beispiel (Pastry) (1) KnotenId 1023 (b=4): routing table -- Stellen, die direkt mit dem lokalen Knoten-Schlüssel übereinstimmen. (es kann auch leere Einträge geben)

21 Désirée Zillmann: DHTs and Plaxton-Type Routing 21 Beispiel (Pastry) (2) KnotenId 1023 (b=4): leaf set neighborhood set Die zugehörigen IP-Adressen sind hier nicht mit angegeben.

22 Désirée Zillmann: DHTs and Plaxton-Type Routing 22 Selbstorganisation bei Pastry zEinfügen eines Knotens zLöschen eines Knotens

23 Désirée Zillmann: DHTs and Plaxton-Type Routing 23 Zu guter Letzt (1) zFehlerbehandlung yAusfall eines Knotens: l Selbstreparatur yKnoten, die eine Nachricht nicht korrekt weiterleiten: l Pastry ist hier anfällig l Abhilfe: mehrmaliges Senden der Nachricht durch client, bis evtl. eine andere Route gefunden l Abhilfe: Erweitern der Selbstorganisation yIP routing Anomalien im Internet: l eine Herausforderung, wenngleich Pastry hier relativ tolerant

24 Désirée Zillmann: DHTs and Plaxton-Type Routing 24 Zu guter Letzt (2) zLokalität yein Knoten sendet eine Nachricht an den (nicht ausgefallenen) Knoten mit einer KnotenID, die dem Schlüssel numerisch am nächsten liegt yalle Einträge der routing table verweisen auf einen nahen Knoten mit geeignetem Präfix

25 Désirée Zillmann: DHTs and Plaxton-Type Routing 25 Zusammenfassung Pastry zvollständig dezentralisiert zeffizient, gut skalierbar zselbstorganisierend zfehlertolerant zanpassungsfähig an Knoten-Fehler zzuverlässig im Senden einer Nachricht an den live Knoten mit einer KnotenID, die dem Schlüssel numerisch am nächsten liegt zgute Lokalität

26 Désirée Zillmann: DHTs and Plaxton-Type Routing 26 Tapestry zberuht im Wesentlichen auf dem Plaxton- Algorithmus zZuordnung mehrerer root-Knoten für ein Objekt zFrage nach nahegelegenstem Nachbar bei ähnlichen Kosten zneues Konzept zur Integration neuer Knoten zVerschieben eines Objekts zwischen zwei Knoten

27 Désirée Zillmann: DHTs and Plaxton-Type Routing 27 Tapestry Routing Mesh Jeder Knoten hat neighbor-Links zu anderen Knoten. L i : Eintrag in der Zeile i der neighbor table

28 Désirée Zillmann: DHTs and Plaxton-Type Routing 28 Selbstorganisation bei Tapestry (1) zErzeugung von Ersatz-root-Knoten yProblem: das Netzwerk ist nicht konstant yZiel: ein Objekt bleibt erreichbar, auch wenn ein root- Knoten ausgefallen ist yIdee: „Löcher“ umrunden, indem man zu dem nächsten Eintrag in derselben Zeile der neighbor table routed ygibt es nur noch einen Eintrag in der Zeile (den aktuellen Knoten), dann ist dieser Knoten der root- Knoten.

29 Désirée Zillmann: DHTs and Plaxton-Type Routing 29 Selbstorganisation bei Tapestry (2) zIntegration mehrerer neuer Knoten gleichzeitig yProblem: x hat ein Loch, wo y hingehört yLösung: l jeder neue Knoten versendet eine “wish list” (Bit-Vektor der Länge b) von nichterreichbaren Präfixen l jeder Rezipient überprüft, ob er einen der gewünschten Knoten erreichen kann, ggf. sendet er den multicast zurück, Präfix und Löcher können angepasst werden

30 Désirée Zillmann: DHTs and Plaxton-Type Routing 30 Zusammenfassung Tapestry zFokussierung auf proximity yfindet tatsächlich die ungefähr nächste Kopie eines Objekts und den nahegelegensten Nachbarn yNachteil: gestiegene Komplexität yDie Frage, welche Bedeutung proximity in einem P2P- System haben sollte, bleibt offen zermöglicht simultanes Einfügen von Knoten yBerücksichtigung eines weitreichenden Netzwerks zAnpassungsfähigkeit an eine sich verändernde Menge von Knoten

31 Désirée Zillmann: DHTs and Plaxton-Type Routing 31 Übersicht b: Basis des Schlüssels N: Anzahl der Schlüssel

32 Désirée Zillmann: DHTs and Plaxton-Type Routing 32 Fazit Es gibt noch viele offene Fragen in P2P-Systemen.

33 Désirée Zillmann: DHTs and Plaxton-Type Routing 33 Literatur(1) [1] H. Balakrishnan et al.: Looking Up Data in P2P Systems, Communications of the ACM, February 2003/Vo. 46, No. 2 [2] Kirsten Hildrum, John D. Kubiatowicz, Satish Rao, Ben Y. Zhao: Distributed Data Location in a Dynamic Network, Proc. of ACM SPAA, 2002) [3] C. Greg Plaxton, Rajmohan Rajaraman, Andrea W. Richa: Accessing Nearby Copies of Replicated Objects in a Distributed Environment, ACM Symposium on Parallel Algorithms and Architectures 1997 [4] Antony Rowstron, Peter Druschel: Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems, Middleware, 2001

34 Désirée Zillmann: DHTs and Plaxton-Type Routing 34 Literatur(2) [5] Julian Bart: Routing in Peer-to-Peer Systemen. Universität Stuttgart. Hauptseminar: Internettechnologien der nächsten Generation. Januar ws0203/seminars/NGI/folien/Routing_P2P-Folien.pdf [6] Marko Tomljenovic: Vergleich von Routing-Algorithmen in “Peer to Peer” – und “Mobile Ad Hoc” - Netzwerken. Universität Stuttgart. Hauptseminar: Internettechnologien der nächsten Generation. Januar ws0203/seminars/NGI/folien/Vergleich_P2P_Ad-Hoc- Routing.pdf


Herunterladen ppt "Seminar: Information Management in the Web Vortragende: Désirée Zillmann Betreuer: Dr. Artur Andrzejak, ZIB Vortragsdatum: 08.05.2003 Distributed Hash."

Ähnliche Präsentationen


Google-Anzeigen