HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen...

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

Transcript of HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen...

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