Seminar: Information Management in the Web

Slides:



Advertisements
Ähnliche Präsentationen
1 Multicast Routing in Ad Hoc Netzen.ppt Oliver Finger_ TECHNISCHE UNIVERSITÄT ZU BRAUNSCHWEIG CAROLO-WILHELMINA Institut für Betriebssysteme und.
Advertisements

Routing – Routing Protokolle
Vorlesung Programmieren II
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Christian Schindelhauer
Seminar Verteilte Informationssysteme LH* A Scalable, Distributed Data Structure.
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Suche in Texten (Stringsuche )
Kapitel 6. Suchverfahren
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Sortierverfahren Richard Göbel.
Garbage Collection Maik Theisen Betreuer: Guido Tack
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (15 Hashverfahren: Verkettung der Überläufer) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Seminar parallele Programmierung SS 2003
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
R-tree, R*-tree und R+-tree
Katja Losemann Chris Schwiegelshohn
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Klausuraufgaben.
Verteilte Algorithmen
1 Thomas Butter Content Delivery Networks Peer-to-Peer Netze Thomas Butter
Kapitel 2: Datenstrukturen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Peer-to-Peer-Netzwerke
Einführung in die Programmierung
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002.
© 2001 Matthias Bossardt 1 Routing. © 2001 Matthias Bossardt 2 Dienstmodell Findet den günstigsten Pfad um ein Datenpaket vom Sender zum Empfänger zu.
Die Idee hinter Copying Garbage Collection (1) Aufteilung des Heaps in zwei Teile: To-Space und From-Space Nutzung eines Teiles durch das Programm Ist.
Peer-to-Peer-Netzwerke
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Peer-to-Peer-Netzwerke
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Peer-to-Peer-Netzwerke
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
das Routing Information Protocol
Routing … … die Suche nach dem Weg..
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

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

Désirée Zillmann: DHTs and Plaxton-Type Routing Inhaltsverzeichnis 1. Distributed Hash Tables 2. Plaxton 3. Pastry 4. Tapestry 5. Übersicht Literatur Désirée Zillmann: DHTs and Plaxton-Type Routing

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 Désirée Zillmann: DHTs and Plaxton-Type Routing

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 Désirée Zillmann: DHTs and Plaxton-Type Routing

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

Désirée Zillmann: DHTs and Plaxton-Type Routing 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 Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type 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 Désirée Zillmann: DHTs and Plaxton-Type Routing

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

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

Désirée Zillmann: DHTs and Plaxton-Type Routing 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) Désirée Zillmann: DHTs and Plaxton-Type Routing

Wichtige Prozeduren bei Plaxton Suchen nach einem Objekt Einfügen eines Objekts Löschen eines Objekts Désirée Zillmann: DHTs and Plaxton-Type Routing

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

Einfügen eines Objekts (Plaxton) root 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) Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type Routing 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 Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type Routing 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). Désirée Zillmann: DHTs and Plaxton-Type Routing

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 Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type Routing Pastry ähnlich aufgebautes Overlay-Netzwerk wie Plaxton selbst-organisierend fehlertolerant Désirée Zillmann: DHTs and Plaxton-Type Routing

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 Zeile Li : i-te nächste KnotenId Désirée Zillmann: DHTs and Plaxton-Type Routing

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 D shl(A,B): Anzahl d. Zeichen des gemeinsamen Präfixes von A u. B Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type Routing 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) Désirée Zillmann: DHTs and Plaxton-Type Routing

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

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

Désirée Zillmann: DHTs and Plaxton-Type Routing 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 Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type Routing 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 Désirée Zillmann: DHTs and Plaxton-Type Routing

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 Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type Routing 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 Désirée Zillmann: DHTs and Plaxton-Type Routing

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

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. Désirée Zillmann: DHTs and Plaxton-Type Routing

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 Désirée Zillmann: DHTs and Plaxton-Type Routing

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 Désirée Zillmann: DHTs and Plaxton-Type Routing

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

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

Désirée Zillmann: DHTs and Plaxton-Type Routing 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 Désirée Zillmann: DHTs and Plaxton-Type Routing

Désirée Zillmann: DHTs and Plaxton-Type Routing 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 Désirée Zillmann: DHTs and Plaxton-Type Routing