Seminar: Information Management in the Web

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

description

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

Transcript of Seminar: Information Management in the Web

Page 1: Seminar: Information Management in the Web

Seminar: Information Management in the Web

Vortragende: Désirée Zillmann Betreuer: Dr. Artur Andrzejak, ZIB Vortragsdatum: 08.05.2003

Distributed Hash Tables (DHTs) and Plaxton-Type Routing

Vortrag:

Page 2: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

208.05.2003

Inhaltsverzeichnis

1. Distributed Hash Tables 2. Plaxton 3. Pastry 4. Tapestry 5. Übersicht Literatur

Page 3: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

308.05.2003

Distributed Hash Tables

Dateien sind über einen eindeutigen Hash-Schlüssel (key) erreichbar

Knoten bekommen auch einen Schlüssel (z.B. IP-Adresse) aus demselben Namensraum

Die Hash-Funktionen sind jedem Teilnehmer bekannt Jeder Knoten ist root-Knoten für mehrere Dateien Jeder Knoten hält eine Tabelle mit (key, Id)- Paaren, wobei Id

auf den Knoten zeigt, der die Datei zur Verfügung stellt Anfragen werden an einen Knoten weitergeleitet, dessen

KnotenId dem Schlüssel des Objekts “am nächsten” ist

im Gegensatz zu Napster und Gnutella Suche nach Schlüsselworten setzen voraus, dass Dateien in erster Linie auf dem Knoten

des Publishers gespeichert sind

Page 4: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

408.05.2003

Unterschiede bei DHT-Systemen

Aufbau des Overlay-Netzwerks Aufrechterhaltung des Netzwerks Suchalgorithmus lookup(key)

Wichtig: Man kann die lookup-Anfrage an einen beliebigen Knoten schicken, und diese wird an den root-Knoten korrekt weitergeleitet.

DHT-Systeme: Plaxton Pastry Tapestry

Page 5: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

508.05.2003

P2P Overlay-Netzwerk

P2P-Layer

IP-Layer

Page 6: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

608.05.2003

Plaxton

Jeder Knoten ist Server für die bei ihm gespeicherten Objekte Router, der Nachrichten weiterleitet Client, von dem Suchanfragen ausgehen

Besonderheiten: Von jedem Objekt gibt es ggf. mehrere Kopien

Page 7: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

708.05.2003

Routing

zu dem Knoten mit Schlüssel 5AC84B

*****B ****4B ***84B **C84B

*AC84B 5AC84B

Bei jedem Schritt wird von rechts nach links eine Stelle des Schlüssels angepasst.

*: zufällige Werte

Page 8: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

808.05.2003

Neighbor table

1. Stelle 1200 3201 -- 0023 2. Stelle 2302 0112 1022 -- 3. Stelle -- 3132 0232 1332 4. Stelle 0032 -- 2032 3032

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üsselsn: Anzahl der Stellen der Schlüssel

n

Page 9: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing

908.05.2003

Beispiel: Routing-Schritt

1. Stelle 1200 3201 -- 0023 2. Stelle 2302 0112 1022 -- 3. Stelle -- 3132 0232 1332 4. Stelle 0032 -- 2032 3032

Knoten 1032 erhält eine Nachricht für den Knoten 1232An welchen Knoten wird die Nachricht weitergeleitet?

1032 <-> 1232 => 0232

Page 10: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1008.05.2003

Pointer list

Ein Zeiger ist ein Tripel (Aid, y, c(x,y) ) aus dem ID Aid des Objekt dem Knoten y, welcher eine Kopie des Objektes

besitzt der „Entfernung“ c(x,y) von x nach y (=Kosten für das Senden einer Ein-Wort-Nachricht von x

nach y)

Page 11: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1108.05.2003

Wichtige Prozeduren bei Plaxton

Suchen nach einem Objekt Einfügen eines Objekts Löschen eines Objekts

Page 12: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1208.05.2003

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

Page 13: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1308.05.2003

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

Page 14: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1408.05.2003

Zu guter Letzt (1)

Fehlerbehandlung Verbindungs- oder Knotenfehler:

ausweichen auf die secondary neighbors zur Not zurückgreifen auf einen Knoten aus einer niedrigeren

Ebene Ausfall des root-Knotens:

ein echtes Problem, da ohne ihn ein Routing zu einem existierenden Objekt nicht sichergestellt ist

Page 15: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1508.05.2003

Zu guter Letzt (2)

Lokalität Ausgangsvoraussetzung:

der erste Kontakt zum Netzwerk über e. Knoten in der Nähe

Ausnutzen der Entfernungsfunktion c Plaxton erreicht eine hohe Wahrscheinlichkeit, dass

eine nahe Kopie des Objekts gefunden wird (falls diese existiert).

Page 16: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1608.05.2003

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

Page 17: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1708.05.2003

Pastry

ähnlich aufgebautes Overlay-Netzwerk wie Plaxton

selbst-organisierend fehlertolerant

Page 18: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1808.05.2003

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) }Rli: Eintrag in der routing table, i-te Spalte, l-te ZeileLi : i-te nächste KnotenId

2/2/ LL LDL

iL iLD

),( ADshll

nullR lDl

lDlR

Page 19: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 1908.05.2003

Pseudo-Code Pastry Routing-Prozedur (2)

(10) else {(11) // rare case (12) forward to , s.th. (13) (14) (14) }(16) }

Dl : der Wert der l Zeichen im Schlüssel Dshl(A,B): Anzahl d. Zeichen des gemeinsamen Präfixes von A u. B

MRLT

lDTshl ),(

DADT

Page 20: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2008.05.2003

Beispiel (Pastry) (1)

1. Stelle 0221 -- 2230 3120 2. Stelle -- 1130 1223 1302 3. Stelle 1003 1013 -- 1032 4. Stelle 1020 1022 --

KnotenId 1023 (b=4):routing table

-- Stellen, die direkt mit dem lokalen Knoten-Schlüssel übereinstimmen.(es kann auch leere Einträge geben)

Page 21: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2108.05.2003

Beispiel (Pastry) (2)

1302 1020 1130 3130 0221 2230 3120 3321

KnotenId 1023 (b=4):leaf set

neighborhood set

Die zugehörigen IP-Adressen sind hier nicht mit angegeben.

kleiner größer

1019 1021 1025 1031 1001 1014 1030 1029

Page 22: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2208.05.2003

Selbstorganisation bei Pastry

Einfügen eines Knotens Löschen eines Knotens

Page 23: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2308.05.2003

Zu guter Letzt (1)

Fehlerbehandlung Ausfall eines Knotens:

Selbstreparatur Knoten, die eine Nachricht nicht korrekt weiterleiten:

Pastry ist hier anfällig Abhilfe: mehrmaliges Senden der Nachricht durch client, bis

evtl. eine andere Route gefunden Abhilfe: Erweitern der Selbstorganisation

IP routing Anomalien im Internet: eine Herausforderung, wenngleich Pastry hier relativ tolerant

Page 24: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2408.05.2003

Zu guter Letzt (2)

Lokalität ein Knoten sendet eine Nachricht an den (nicht

ausgefallenen) Knoten mit einer KnotenID, die dem Schlüssel numerisch am nächsten liegt

alle Einträge der routing table verweisen auf einen nahen Knoten mit geeignetem Präfix

Page 25: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2508.05.2003

Zusammenfassung Pastry

vollständig dezentralisiert effizient, gut skalierbar selbstorganisierend fehlertolerant anpassungsfähig an Knoten-Fehler zuverlässig im Senden einer Nachricht an den

live Knoten mit einer KnotenID, die dem Schlüssel numerisch am nächsten liegt

gute Lokalität

Page 26: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2608.05.2003

Tapestry

beruht im Wesentlichen auf dem Plaxton-Algorithmus

Zuordnung mehrerer root-Knoten für ein Objekt Frage nach nahegelegenstem Nachbar bei

ähnlichen Kosten neues Konzept zur Integration neuer Knoten Verschieben eines Objekts zwischen zwei

Knoten

Page 27: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2708.05.2003

Tapestry Routing Mesh

Jeder Knoten hat neighbor-Links zu anderen Knoten.Li: Eintrag in der Zeile i der neighbor table

Page 28: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2808.05.2003

Selbstorganisation bei Tapestry (1)

Erzeugung von Ersatz-root-Knoten Problem: das Netzwerk ist nicht konstant Ziel: ein Objekt bleibt erreichbar, auch wenn ein root-

Knoten ausgefallen ist Idee: „Löcher“ umrunden, indem man zu dem

nächsten Eintrag in derselben Zeile der neighbor table routed

gibt es nur noch einen Eintrag in der Zeile (den aktuellen Knoten), dann ist dieser Knoten der root-Knoten.

Page 29: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 2908.05.2003

Selbstorganisation bei Tapestry (2)

Integration mehrerer neuer Knoten gleichzeitig Problem: x hat ein Loch, wo y hingehört Lösung:

jeder neue Knoten versendet eine “wish list” (Bit-Vektor der Länge b) von nichterreichbaren Präfixen

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

Page 30: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 3008.05.2003

Zusammenfassung Tapestry

Fokussierung auf proximity findet tatsächlich die ungefähr nächste Kopie eines

Objekts und den nahegelegensten Nachbarn Nachteil: gestiegene Komplexität Die Frage, welche Bedeutung proximity in einem P2P-

System haben sollte, bleibt offen ermöglicht simultanes Einfügen von Knoten

Berücksichtigung eines weitreichenden Netzwerks Anpassungsfähigkeit an eine sich verändernde

Menge von Knoten

Page 31: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 3108.05.2003

Übersicht

A l g o r i t h m u s M o d e l l S u c h e S p e i c h e r

P l a x t o n n e i g h b o r t a b l e , p o i n t e r l i s t Nblog Nb blog

T a p e s t r y n e i g h b o r t a b l e , p o i n t e r l i s t Nblog Nb blog

P a s t r y r o u t i n g t a b l e , l e a f s e t , n e i g h b o r h o o d s e t

Nblog bNb b log

b: Basis des SchlüsselsN: Anzahl der Schlüssel

Page 32: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 3208.05.2003

Fazit

Es gibt noch viele offene Fragen in P2P-Systemen.

Page 33: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 3308.05.2003

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

Page 34: Seminar: Information Management in the Web

Désirée Zillmann: DHTs and Plaxton-Type Routing 3408.05.2003

Literatur(2)

[5] Julian Bart: Routing in Peer-to-Peer Systemen. Universität Stuttgart. Hauptseminar: Internettechnologien der nächsten Generation. Januar 2003

http://www.informatik.uni-stuttgart.de/ipvr/vs/de/teaching/ 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 2003

http://www.informatik.uni-stuttgart.de/ipvr/vs/de/teaching/ ws0203/seminars/NGI/folien/Vergleich_P2P_Ad-Hoc-Routing.pdf