26
HEINZ NIXDORF INSTITUT Universität Paderborn EIM ‒ Institut für Informatik 1 gorithm. Grundlagen des Internets . Juli 2003 Christian Schindelhauer Vorlesung Sommersemester 2003 Algorithmische Grundlagen des Internets XI Christian Schindelhauer [email protected] HEINZ NIXDORF INSTITUT Universität Paderborn Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik AG Theoretische Informatik Algorithmen, Komplexitätstheorie, Paralleles Rechnen

HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

Embed Size (px)

Citation preview

Page 1: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

1Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Vorlesung Sommersemester 2003

Algorithmische Grundlagen des Internets

XIChristian Schindelhauer

[email protected]

HEINZ NIXDORF INSTITUTUniversität Paderborn

Fakultät für Elektrotechnik, Informatik und MathematikInstitut für Informatik

AG Theoretische InformatikAlgorithmen, Komplexitätstheorie, Paralleles Rechnen

Page 2: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

2Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

ACHTUNGNeue Räume

Christian Schindelhauer•Raum:F2.315•Tel.: 60-6692

Klaus Volbert•Raum:F2.313•Tel.: 60-6722

Page 3: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

3Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Webseitensuche

o PageRank [Brin&Page 98] Vergibt jeder Web-Seite einen absoluten Rang (rank)/Autorität Rang berücksichtigt Eingrad und Autorität des Eingrads Idee Seiten sind wichtig, wenn wichtige Seite auf sie zeigen

o HITS (HyperText Induced Topic Search) [Kleinberg 98] Ausgehend von einem Seitenstamm aus einer textuellen Suche Betracht Hubs (Hinweisseiten) und Autoritäten, Idee:

• Gute Hubs zeigen gute Autoritäten an• Gute Autoritäten werden von guten Hubs adressiert

Page 4: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

4Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Kleinbergs HITS-Algoirhtmus(HyperText Induced Search)

o Anwendung: Textuelle Suche führt zu großen Anzahl von Treffern, z.B.

• Suche nach „windows“ Gewünschte Seite enthält nicht Suchwort

• z.B. http://www.porsche.com enthält weder „Sportwagen“ noch „Auto“

Suche nach allgemeinen Begriffen

o Idee des Algorithmus Autorität/Relevanz einer Web-Seite wird durch Links auf

Hinweisseiten (hubs) bezeugt• z.B. Eisenbahnfans sammeln Links von

Eisenbahngesellschaften Autoritäten weisen auf die Qualität von Hinweisseiten hin Ähnlicher Mechanismus wie PageRank-Algorithmus

Page 5: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

5Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Basismengenauswahl

o Ideal: S ist relativ klein S enthält viele relevante

Web-Seiten S enthält die meisten

(oder viele) der wichtigstenAutoritäten

o Knotenheuristik Erweitere um Nachfolger

•da Hinweisseiten in R auf diese zeigen

Erweitere um max. d Vorgänger•um ausreichende Anzahl von Hinweisseiten zu erhalten

Page 6: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

6Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Kantenmengenheuristik

o Neben Knoten werden Kanten eingeschränkt:

o Kantenmengenheuristik Lösche interne Links (innerhalb der selben Domain)

• wegen Navigationslinks• wegen Links auf Autor

Erlaube maximal m ( 4-8) Links aus gleicher Domain auf eine Seite

• wegen Werbelinks• wegen Links auf Softwaretool

Page 7: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

7Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Gegenseitige Verstärkung

o Gewichtung für Autorität einer Seite i: xi

o Gewichtung für Hinweiseigenschaft einer Seite i: yi

o Autorität/Relevanz einer Web-Seite wird durch Links auf Hinweisseiten (hubs) bezeugt

o Autoritäten weisen auf die Qualität von Hinweisseiten hin

c1, c2 normieren x und y bezüglich der L2-Norm:

Page 8: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

8Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Der HITS-Algorithmus

Page 9: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

9Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Matrixdarstellung

o Aus Adjazenzmatrix:

o Autoritäten:

o Hinweisseiten:

o Nach t Iterationen:

o D.h.

Page 10: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

10Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Matrixdarstellung

o M = A AT ist symmetrische Matrix

o Für symmetrische Matrizen sind alle n Eigenwerte reell sind die n Eigenvektoren orthogonal

o Es existiert die Darstellung

o wobei für die Spaltenvektoren Si gilt

o Falls größter Eigenwert 1 > 2 konvergiert der HITS-Algorithmus

Page 11: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

11Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

WWW-Lastbalancierung

o Für Surfen im Web typisch: Web-Server bieten Web-

Seiten an Web-Clients fordern Web-

Seiten an

o In der Regel sind diese Mengen disjunkt

o Eingehende Anforderungen belasten Web-Server hinsichtlich: Übertragungsbandbreite Rechenaufwand

(Zeit,Speicher)

www.google.com

www.upb.de

www.bundespraesident.de

HansHinz

Kunz

Page 12: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

12Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Lastanforderungen

o Einige Web-Server haben immer hohe Lastanforderungen Z.B. Nachrichten-Sites,

Suchmaschinen, Web-verzeichnisse

Für permanente Anforderungen müssen Server entsprechen ausgelegt werden

o Andere leiden unter hohen Fluktuationen, z.B. Z.B. Web-Site des Tages,

NASA, Turniere Server-Erweiterung nicht

sinnvoll Bedienung der Anfragen aber

erwünscht

www.google.com

www.viadukt-altenbeken.de

Montag Dienstag

www.viadukt-altenbeken.de

Mittwoch

www.viadukt-altenbeken.de

Page 13: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

13Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Lastbalancierung im WWW

o Andere leiden unter hohen Fluktuationen Server-Erweiterung nicht

sinnvoll Bedienung der Anfragen

aber erwünscht

o (Kommerzielle) Lösung Dienstleister bieten

Ausweich-(Cache) Server an Viele Anforderungen

werden auf diese Server verteilt

o Aber wie?

www.viadukt-altenbeken.de

Montag Dienstag

www.viadukt-altenbeken.de

Mittwoch

www.viadukt-altenbeken.de

www.viadukt-altenbeken.de

Page 14: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

14Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Web-Caching

o Leighton, Lewin, et al. STOC 97 Consistent Hashing and Random

Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web

Passen bestehende Verfahren für dynamische Hash-Funktionen an WWW-Anforderungen an

o Leighton und Lewin (MIT) gründen Akamai 97

o Akaimai 2003: 550 Angestellte Ertrag 145 Mio. $ (2002) 15.000 Server in 60 Ländern

verbunden mit 1.100 lokalen Netzwerken

Web-Cache

www.altenbeken-viadukt.de

Page 15: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

15Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Ausgangssituation

o Ohne Lastbalancierung: Jeder Browser (Web-Client) belegt

einen Web-Server für eine Web-Site

o Vorteil: Einfach

o Nachteil: Der Server muß immer für den Worst-

Case ausgelegt werden

Webseiten

Web-Server

Web-Clients

Page 16: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

16Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Site Caching

o Ganze Web-Site wird auf verschiedene Web-Caches kopiert

o Browser fragt bei Web-Server nach Seite

o Web-Server leitet Anfrage auf Web-Cache um (redirect)

o Web-Cache liefert Web-Seite aus

o Vorteil: Gute Lastbalancierung für

Seitenverteilung

o Nachteil: Bottleneck: Redirect Großer Overhead durch

vollständige Web-Site-Replikationen

WebseitenWeb-Server

Web-Clients

Web-Cache

Page 17: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

17Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Proxy Caching

o Jede Web-Seite wird auf einige (wenige) Web-Cache verteilt

o Nur Startanfrage erreicht Web-Server

o Links referenzieren auf Seiten im Web-Cache

o Dann surft der Web-Client nur noch auf den Web-Cache

o Vorteil: Kein Bottleneck

o Nachteil: Lastbalancierung nur implizit

möglich Hohe Anforderung an Caching-

Algorithmus

WebseitenWeb-Server

Web-Clients

Web-CacheLink

Page 18: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

18Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Anforderungen an Caching-Algorithmus

1. BalanceGleichmäßige Verteilung der Seiten

2. DynamikEffizientes Einfügen/Löschen von neuen Web-Cache-Servern

3. ViewsWeb-Clients „sehen“ unterschiedliche Menge von Web-Caches

Page 19: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

19Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Ranged Hash-Funktionen

o Gegeben:

Elemente (Items) I, Anzahl: I = |I|

Caches (Buckets) B Views V ⊆ 2B

o Ranged Hash-Funktion:

Voraussetzung:

Page 20: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

20Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

1. Idee Hash-Funktion (I)

o Verfahren: Wähle Hash-Funktion, z.B. r(i) = a i + b

mod n• n: Anzahl Cache-Server

o Balance: Sehr gut!

o Dynamik Einfügen/Löschen von nur einem Cach-

Server Neue Hash-Funktion und vollständige

Neuzuweisung Hoher Aufwand!

9 4 2 7

35

0 1 2 3

3 i + 1 mod 4

9 4 2 7

35

0 1 2 3

2 i + 2 mod 3

Page 21: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

21Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

1. Idee Hash-Funktion (II)

o Verfahren: Wähle Hash-Funktion,

z.B. r(i) = a i + b mod n• n: Anzahl Cache-

Server

o Views Verschiedene

Nummerierungen der Web-Cache notwendig

Anzahl der Duplikate proportional zu der Anzahl der Views

9 4 2 7

35

0 1 2 3

3 i + 1 mod 4

9

4 3

5

0

2

1 2

10View 1: 2i+2 mod 3View 2: 2i+2 mod 3

5

4

2

2

7

7

Ein View

Page 22: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

22Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Anforderungen an Ranged Hash-Funktionen

1. Monotonieo Seiten, die im umfassenderen View einem Cach zugewiesen

sind, werden nicht umorganisiert

View 1:

View 2:

Seiten

Seiten

Cache

Page 23: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

23Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Anforderungen an Ranged Hash-Funktionen2. Balance

Für jeden View V ist die Hash-Funktion fV(i) balanciert

View 1:

View 2:

Seiten

Seiten

Cache

Page 24: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

24Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Anforderungen an Ranged Hash-Funktionen3. Spread

Die Verbreitung σ(i) (spread) einer Seite i ist die Gesamtanzahl aller notwendigen Kopien (über alle Views)

View 1:

View 2:

View 3:

Page 25: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

25Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Anforderungen an Ranged Hash-Funktionen

4. Load

View 1:

View 2:

View 3:

Die Last λ(b) (load) eines Caches b ist die Gesamtanzahl aller notwendigen Kopien (über alle Views)

Page 26: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 14. Juli 2003 Christian Schindelhauer Vorlesung

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

26Algorithm. Grundlagen des Internets14. Juli 2003

Christian Schindelhauer

Konsistentes Hashing

o Für jede Hash-Funktion existiert eine Worst-Case-Eingabe Daher betrachtet man grundsätzlich Familien von Hash-Funktionen Genauso definieren wir Familie von Ranged-Hash-Funktionen für geg. Views

und Caches

o C: Anzahl aller Caches B und Mindestanzahl Caches pro View ist C/t

o Sei ρ = V/C konstant und I= C (Anzahl Seiten = Anzahl Caches)

Theorem

Es gibt eine Familie von ranged-Hash-Funktionen F mit den folgenden Eigenschaften

1. Jede Funktion fF ist monoton

2. Balance: Für jeden View gilt

3. Spread: Für jede Seite i ist

4. Load: Für jeden Cache b ist