Top Banner
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung Christian Schindelhauer
41

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Apr 05, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

1

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Algorithmen für Peer-to-Peer-Netzwerke

Sommersemester 200430.04.2004

2. Vorlesung

Christian Schindelhauer

Page 2: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 2

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kapitel I

Page 3: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 3

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Termine

Vorlesung:– jeden Freitag 9-11 (c.t.), Raum F0.530

Übung– Einteilung durch StudInfo{flex}, Link auf– http://wwwcs.upb.de/cs/ag-madh/WWW/Teaching/2004SS/AlgoP2P/

– Gruppe A: Mo 10-11 (Christian Schindelhauer)– Gruppe B: Mo 11-12 (Peter Mahlmann)– Gruppe C: Mo 16-17 (Peter Mahlmann)

Anmeldung zum Vorrechnen– Wer zuerst kommt, mahlt zuerst...

Page 4: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 4

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kapitel II

Page 5: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 5

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Wiederholung

„Ein Peer-to-Peer-Netzwerk ist ein Kommunikationsnetzwerk zwischen Rechnern, indem jeder Teilnehmer sowohl Client als auch Server-Aufgaben

durchführt.“

„In einem Peer-to-Peer-Netzwerk werden verteilte Rechenresourcen durch direkte Kommunikation gemeinsam genutzt.“

Ein Peer-to-Peer-Netzwerk ist kein Client-Server-Netzwerk!

Page 6: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 6

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Wie funktioniert Napster?

Client-Server-StrukturServer unterhält

– Index mit Meta-Daten• Dateiname, Datum, etc

–Tabelle der Verbindungen der teilnehmenden Clients

–Tabelle aller Dateien der teilnehmenden Clients

Query–Client fragt nach Dateinamen–Server sucht nach passenden Teilnehmern

–Server antwortet, wer die Datei besitzt–Anfrage-Client lädt Datei von datei-besitzenden Client herunter

Page 7: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 7

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Wie gut ist Napster?

Vorteile

– Napster ist einfach

– Dateien werden schnell und effizient gefundenNachteile

– Zentrale Struktur erleichtert Zensur, feindliche Eingriffe und technisches Pannen

• wie z.B. Denial-of-Service-Angriff

– Napster skaliert nicht

• d.h. mit zunehmender Teilnehmerzahl verschlechtert sich die Performanz

• Speicher auf dem Server endlichResumee

– Napster keine akzeptable Peer-to-Peer-Netzwerklösung

– Bis auf den Download-Aspekt ist Napster im eigentlichen Sinne kein P2P-Netzwerk

Page 8: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 8

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Gnutella - Originalversion - Anfrage

Dateianfrage

– wird an alle Nachbarn geschickt

– diese senden sie an ihre Nachbarn

– bis zu einer vorgegebenen Anzahl von Hops

• TTL-Feld (time to live)

Wenn Datei gefunden wurde, direkter Download

Page 9: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 9

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Gnutella - Verbindungsstruktur

Graphstruktur– entsteht durch zufälligen Prozess– unterliegt Pareto-Verteilung– entsteht unkontrolliert

Gnutella Schnappschuss im Jahr 2000

Page 10: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 10

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Gnutella - Diskussion

Vorteile

– verteilte Netzwerkstruktur

– Netzwerk skalierbarNachteil

– Durch TTL findet für Abfragen eine implizite Netzwerkpartitionierung statt

– Dadurch Anfrageerfolg gering

– Durch lange Wege, große Latenzzeiten

Verbesserungsvorschläge– Random Walks statt Broadcasting– Passive Replikation von Information entlang des Pfads

• Häufigkeit der Replikate nimmt im Quadrat des Abstands ab

Page 11: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 11

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kazaa, Gnutella (II), Morpheus

Hybride Struktur– Knoten mit großer Bandbreite werden zu

P2P-Server ausgewählt– Diese unterhalten P2P-Netzwerk im Stil

von Gnutella– Normale Knoten werden als Clients an

diese Super-Knoten angebundenEingesetzt in

– Kazaa– Morpheus– Gnutella (neuere Ausgabe)

Vorteile– Verbesserte Skalierbarkeit– Geringere Latenzzeiten

Nachteile– Immer noch unzuverlässig und langsam– Clients können sich der Super-Node-

Aufgabe verweigern

Page 12: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 12

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Zusammenfassung

Lackmus-Test für P2P-Netzwerk

– Sind variable Verbindungen und temporäre Netzwerverbindungen die Norm?

– Sind die Kanten des Netzwerks autonom?

Strukturen von P2P-Netzwerken

Zentral

– siehe NapsterRein dezentral

– siehe Gnutella (Original-Version)Teilweise zentralisiert

– siehe Kazaa und neu Version von Gnutella

Page 13: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 13

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kapitel III

Warum manche Netzwerke nicht skalieren

Page 14: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 14

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Warum skaliert Napster nicht?

Napster– Client-Server-Struktur entspricht

Stern-Topologie– Grad des Graphen n-1

• n Anzahl der Peers– Der Stern-Graph ist 1-

zusammenhängendEin Graph ist k-zusammenhängend,

– wenn es k Knoten gibt, nach deren Entfernung der Graph unzusammenhängend ist

– wenn nach Entfernen von k-1 beliebigen Knoten der Graph noch zusammenhängend ist.

Napster skaliert nicht, weil– der Grad des Graphen ist groß

• Flaschenhals in Kommunikation– und der Zusammenhang ist schwach

• keine robuste Konstruktion

Page 15: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 15

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Warum skaliert Gnutella nicht?

Gnutella– Graph-Struktur ist zufälliger

Verbindungsgraph– Grad des Graphen klein– Durchmesser gering– Zusammenhang groß

Suche aber aufwändig– Um ein Datum sicher zu finden, muss

das gesamte Netzwerk durchsucht werden

Gnutella skaliert nicht, weil– Keine Struktur in der Datenablage

Page 16: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 16

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Warum skalieren Kazaa und Co. nicht?

Hybride Struktur– Durchmesser gering– Zusammenhang kann hoch gewählt

werden• durch Anzahl Super-Nodes per Client

– Grad geringSkaliert

– nicht so schlecht wie Gnutella oder Napster

– nicht gut, da jeder Super-Node jede Anfrage der Clients erhält

Page 17: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 17

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kapitel III

Content Addressable NetworkCAN

Page 18: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 18

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Zwei Fragen zur Informationsfindung

Wo ist es?Wie dorthin kommen?

Napster:– Wo?

• Auf dem Server – Wie dorthin?

• Zum Serverstau Gnutella

– Wo?• Weiss nicht

– Wie dorthin?• Alle fragen

Besser:

Wo ist Datum x?– An der Stelle f(x)

– Was ist f(x)?• Eine allen Teilnehmern bekannte

Abbildung von x auf einem Raum

Wie komme ich dorthin?– Durch eine Route die mir den Weg

von meinen Standort zu f(x) aufzeigt.

Page 19: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 19

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Eine Hash-Tabelle als Peer-to-Peer-Netzwerk

Jeder Peer steht für eine Speicherstelle 0,1,2,..,n-1

– Eine allen Peers bekannte Hash-Funktion, z.B. für n = 7 f(x) = (3x+1 mod 23) mod 7

– Peers sind als Kette verbunden

Suche

– Berechne f(x)

– Gehe zu Peer mit Adresse f(x) entlang der Linie

0 1 2 3 4 5 6

41523 0

Peers

Indexdatenf(23)=1 f(1)=4

Page 20: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 20

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Von der Hash-Tabelle zur Distributed Hash-Table (DHT)

Hash-TabellenVorteile

• Suche einfachNachteile

– Ein neuer Peer verursacht neue Wahl der Hash-Funktion

– Lange Wege

Distributed Hash-TablePeers werden an eine Stelle ge“hash“t

und erhalten Bereiche des Wertebereichs der Hashfunktion zugeteilt

Daten werden auch ge“hash“t– Je nach Bereich den Peers

zugeordnet

0 1 2 3 4 5 6

41523 0

Peers

Indexdatenf(23)=1 f(1)=4

Page 21: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 21

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Einfügen in die Distributed Hash-Table (DHT)

Distributed Hash-Table– Peers werden an eine Stelle ge“hash“t– Dokumente ebenso– Jeder ist für einen Bereich

verantwortlich

Kommt ein neuer Knoten hinzu– müssen die Nachbarn teilen

Verlässt ein Knoten das Netzwerk– übernehmen die Nachbarn sein

Gebiet

Page 22: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 22

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Eigenschaften DHT

Vorteile– Jedes Datum kann einem bestimmten

Peer zugewiesen werden– Einfügen und Entfernen von Peers

erzeugt nur Veränderungen in den benachbarten Peers

DHTs werden von vielen P2P-Netzwerken benutzt

Noch zu klären:– Die Verbindungsstruktur

0 1 2 3 4 5 6

41523 0

Peers

Indexdatenf(23)=1 f(1)=4

Page 23: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 23

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Page 24: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 24

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

A Scalable Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

DickKarp

Mark Handley

SylviaRatnasamy

Paul Francis

Scott Shenker

Page 25: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 25

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Page 26: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 26

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

Page 27: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 27

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

– Der Besitzer des entsprechenden Quadrats teilt seine Fläche und

– übergibt die Hälfte dem neuen Peer

Page 28: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 28

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

– Der Besitzer des entsprechenden Quadrats teilt seine Fläche und

– übergibt die Hälfte dem neuen Peer

Page 29: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 29

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

– Der Besitzer des entsprechenden Quadrats teilt seine Fläche und

– übergibt die Hälfte dem neuen Peer

Page 30: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 30

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

– Der Besitzer des entsprechenden Quadrats teilt seine Fläche und

– übergibt die Hälfte dem neuen Peer

Page 31: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 31

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

– Der Besitzer des entsprechenden Quadrats teilt seine Fläche und

– übergibt die Hälfte dem neuen Peer

Page 32: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 32

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

– Der Besitzer des entsprechenden Quadrats teilt seine Fläche und

– übergibt die Hälfte dem neuen Peer

Page 33: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 33

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

Der Besitzer einer Fläche speichert alle Einträge in der Fläche

Ein Peer wählt einen zufälligen Punkt in der Ebene

– Der Besitzer des entsprechenden Quadrats teilt seine Fläche und

– übergibt die Hälfte dem neuen Peer

Page 34: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 34

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Wie groß/klein können solche Flächen werden

R(p) : Rechteck eines Peers p

A(p) : Fläche des Rechteck eines Peers p

n : Anzahl Peers

Anfangsquadrat: Fläche 1

Lemma

Für alle Peers p gilt

1.

2. Sei PR,n die Wahrscheinlichkeit, dass keines der n Peers in das Rechteck R hineinfällt. Dann gilt

Page 35: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 35

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Die erwartete Fläche eines Peers in CAN

Beweis von 1.

Seien {1,..,n} die Peers.

Dann gilt:

Ferner gilt wegen Symmetrie

Damit gilt:

Page 36: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 36

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Ein nichtgetroffenes Rechteck

Beweis von 2.

Betrachte ein Rechteck R der Fläche x=Vol(R)

Die Wahrscheinlichkeit, dass ein Peer nicht in diese Fläche fällt, ist

Die Wahrscheinlichkeit, dass n Peers nicht in R hineinfallen ist

Damit ist die Wahrscheinlichkeit dafür höchstens

weil für alle

R

Page 37: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 37

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Wie groß kann ein nicht getroffenes Rechteck sein?

Aus 2.

folgt für ein Rechteck Ri Fläche 2-i

Es genügen also Peers um Ri

mit Wahrscheinlichkeit1- n-c

zu teilen. Diese kommen jetzt hintereinander. Sei nun

Damit wird ein Rechteck der Fläche mit W‘keit nicht geteilt

R1

R2

R3

R4

Page 38: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 38

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Wie gleichmäßig werden die Daten verteilt?

Lemma

Mit Wahrscheinlichkeit (log n) n-c wird ein Rechteck der Größe 2c(ln n)/n nicht geteilt.

Wenn m Elemente insgesamt gespeichert werden, – so erhält jeder Peer also maximal 2 c (ln n) m/n Elemente,– während der Durchschnitt m/n Elemente speichert

Also speichert jeder Peer höchstens 2c (ln n) mal mehr als der Durchschnittspeer mit hoher Wahrscheinlichkeit.

Page 39: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 39

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Lookup in CAN

Zuerst wird Ort des Indexes durch Berechnung der Hash-Funktion bestimmt

Zwischen den Besitzer benachbarter Rechtecke bestehen Kanten

Anfrage wird in Richtung des Index weitergeleitet

d Dimension des Quadrats– 1: Linie– 2: Quadrat– 3: Würfel– 4: ...

Erwartete Anzahl Hops in d Dimensionen: n1/d

Durchschnittlicher Grad eines Knotens: O(d)

Page 40: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Algorithmen für Peer-to-Peer-Netzwerke 40

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Bewertung CAN

Vorteile– Einfaches robustes Verfahren– Balanciert die Datenmenge– Kleiner Grad– Netzwerk ist stark

zusammenhängend, dadurch robust– Kennt verschiedene Wege zum Ziel

und kann dadurch Routen optimieren Nachteil

– Durchmesser bei konstanten Dimensionen des Raums polynomiell groß

Page 41: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

41

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Heinz Nixdorf Institut& Institut für InformatikUniversität PaderbornFürstenallee 1133102 Paderborn

Tel.: 0 52 51/60 66 92Fax: 0 52 51/62 64 82E-Mail: [email protected]://www.upb.de/cs/schindel.html

Vielen DankEnde der 2. VorlesungNächste Vorlesung: Fr. 07.05.2004Nächste Übung: Mo. 03.05.2004