Ansatz aus dem DFG-Projekt (Simulationsergebnisse)
Transcription
Ansatz aus dem DFG-Projekt (Simulationsergebnisse)
Ansatz aus dem DFG-Projekt (Simulationsergebnisse) Inhaltsbasierte Suche in P2P-Netzen DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 0 Überblick • Erinnerung/Motivation: Small Worlds • Algorithmus: – Suche – Strukturbildung – Weitere Ideen (nicht implementiert) • Simulation: – – – – Vereinfachende Annahmen Initialisierung, Messgrößen Untersuchte Graphen Ergebnisse • Fazit DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 1 Motivation (1) • Annahmen: 1. Anwender haben bestimmte Interessen und sammeln sich dazu passende Dokumente => Peers haben Profile, welche aus ihren Dokumenten errechnet werden können und ihre Interessen zusammenfassen 2. Die in Kleinbergs Modell eingeführten Gitterkoordinaten lassen sich durch semantische Koordinaten ersetzen • Small World Struktur: – – Kurze Wege (Semantische) Cluster: muss nur Cluster finden, diesen dann „abgrasen“ DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 2 Motivation (2) • Kleinberg: – Es reicht nicht, dass kurze Wege existieren, man muss sie auch finden! • Gewünschte semantische Netzwerktopologie: – Direkt analog zu Kleinberg, nur dass Koordinaten durch Profilabstände D ersetzt werden – direkte Nachbarn von Peer P: Peers mit sehr ähnlichem Profil – random shortcuts von P: Peers mit weniger ähnlichen bzw. unähnlichen Profilen – Fragen: Kleinberg sagt, dass es optimal ist, wenn random shortcuts mit Wkt. D-2 gewählt werden • Genaue Definition von D? • wer sagt uns, daß sich D bezügl. Kleinbergs Sätzen genauso verhält wie die Manhattan-Distanz? DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 3 Algorithmus: Voraussetzungen • Peers bestehen aus 3 Komponenten: 1. 2. 3. Library: Menge von Dokumenten (im freigegebenen Verzeichnis) Profil: kompakte Zusammenfassung der Library Nachbarn: Adressen und Profile einiger anderer Peers DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 4 Algorithmus: Zwei Teile • Der Algorithmus hat zwei Komponenten: 1. Strukturbildung: Erstellung des Small-World-Netzwerkgraphen mittels Gossiping 2. Soziale Suche: frage immer den Nachbarn, dessen Profil am besten zur Anfrage paßt • Der Gossiping-Algorithmus für die Strukturbildung benutzt die soziale Suche DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 5 Algorithmus: Soziale Suche (1) • Idee der sozialen Suche analog zu Milgram: – Wenn ich eine Anfrage Q habe, wende ich mich an den Peer N unter meinen Bekannten, der Q am ehesten beantworten kann (d.h. dessen Profil am besten zu Q paßt) – N hängt alle Dokumente an Q an, die darauf passen – Dann verfährt N wie ich vorher – Das alles solange bis time-to-live (TTL) abgelaufen – Kreisvermeidung: Nachricht hat Log mit Adressen der bisher besuchten Peers (kein Backtracking) • Unterschied zu Milgram: – Es gibt nicht "die Zielperson", sondern eine gesuchte Information, die an verschiedenen Stellen gespeichert sein kann (ist) DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 6 Algorithmus: Soziale Suche (2) • Voraussetzung für soziale Suche: – Profile: ermöglichen Vorhersage darüber, wer der „beste“ meiner Nachbarn bezügl. Q ist – Ähnlichkeits- oder Abstandsmaße zwischen Dokumenten, Profilen und Anfragen – Netzwerkgraph: • Kurze Wege im Bekanntschaftsgraphen • Organisation von Peers in Clustern semantischer Ähnlichkeit => Hill-Climbing: finde erst den richtigen Cluster für Q, dann immer bessere Peers innerhalb des Clusters DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 7 Algorithmus: Strukturbildung (1) Gossiping: − − − − Jeder Peer stellt Anfragen nach seinem eigenen Profil Anfragen werden per sozialer Suche verarbeitet Peers tragen sich – mit ihrem Profil – in das Log der Nachricht ein Peers untersuchen die Logs von erhaltenen Antworten (bzw. beliebigen vorbeikommenden Anfragen) darauf, ob sie „bessere“ potentielle Nachbarn enthalten − Da nur begrenzter Speicherplatz verfügbar, müssen alte Nachbarn evtl. irgendwann durch neue (bessere) ersetzt werden DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 8 Algorithmus: Strukturbildung (2) • Strategien : – Cluster-Strategie: wähle solche Nachbarn, deren Profil meinem möglichst ähnlich ist – Intergroup-Strategie: wähle möglichst unähnliche Nachbarn => schafft Links zwischen Clustern (random shortcuts) • Caching – In Antworten enthaltene Dokumente können (als Metainformationen) in die Library aufgenommen werden, wenn sie gut zum Profil passen (vgl. Freenet) DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 9 Algorithmus: weitere Ideen • Merken von besten Nachbarn auf vorangegangen Stationen – Führe in Suchanfrage Q immer Profile von den k am besten zu Q passenden Peers mit – Auf jeder Station wird die Liste zunächst mit lokalen Nachbarn erneuert – Dann: wähle den besten aus dieser Liste – Effekt: mehr „Globalität“ in Routing-Entscheidungen • Egoistische Strategie: – wähle Nachbarn, die in der Vergangenheit "gute" Antworten auf Anfragen meines Benutzers geliefert haben – was gut ist, bleibt noch festzulegen DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 10 Simulation: Vereinfachende Annahmen • Alle Peers sind immer online (kein „Churn“) • Unterschiedliche Bandbreite oder Verarbeitungskapazität der Peers spielt keine Rolle • Zunächst keine realen, sondern „künstliche“ Dokumentvektoren: – Bestehen aus Keywords = Integers – Jedes Keyword hat genau eine „Farbe“ = inhaltliche Kategorie – Jedes Dokument lässt sich also auch durch einen „Farbvektor“ (=Menge der enthaltenen Kategorien) charakterisieren • Strukturbildung und Suche laufen nacheinander ab DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 11 Simulation: Parameter Parameter Erklärung Wert n Anzahl Peers neighboursSize maximale Anzahl Nachbarn eines Peers clusterPercentage Anteil von Nachbarn, die nach ClusterStrategie ausgewählt wurden variiert intergroupPercentage Anteil von Nachbarn, die nach IntergroupStrategie ausgwählt wurden variiert TTL maximale Anzahl Hops für Nachrichten variiert storageFactor jeder Peer darf (storageFactor*initiale Größe seiner Library) Dokumente bzw. Metainformationen über Dokumente speichern variiert numKeywords Anzahl Keywords numColors Anzahl Farben 50 KWperDoc Länge der Dokumentvektoren 10 DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 8000 20 1000 12 Initialisierung: Kontakte • Jeder Peer erhält zu Anfang 3 zufällig gewählte Adressen von anderen Peers • Der von uns generierte initiale Graph ist nicht stark zusammenhängend: – 445 starke Komponenten – größte Komponente: 7556 Knoten DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 13 Initialisierung: Dokumente/Profile • Dokumente lassen sich – über Farben der in ihnen enthaltenen Stichwörter – kategorisieren. – Annahme: Anzahl Farben pro Dokument ist nach Zipf verteilt • • Peers erhalten (erkennbare) Interessenprofile, d.h. decken 1 bis 3 Kategorien ab Peers ziehen Dokumente, so dass: – Diese zu ihren Interessenprofilen passen – Die Anzahl Dokumente pro Peer nach Power-Law (Zipf) verteilt ist (Annahme über P2P-Systeme, deckt sich aber mit Messungen!) • Profile = Summe aller Farbvektoren in der Library eines Peers – Die Vektoren der Dokumente sind (summen-)normiert, das Profil nicht – Ähnlichkeit zwischen (beliebigen) Vektoren: einfaches Skalarprodukt – Effekt: “Preferential Attachment” zu Peers mit großen Libraries DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 14 Simulation: Durchführung • Implementierung in OMNeT++: – Discrete Event Simulation: • Abarbeitung von Peer-Aktionen in einer Schleife: Nachrichten werden in ein Future Event Set (FES) eingeordnet • In einem Zeitschritt bearbeitet jede Einheit (Peer) alle für ihn im FES enthaltenen Nachrichten und steckt diese anschließend neu adressiert wieder ins FES, wo sie der Empfänger im nächsten Zeitschritt abholt. DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 15 Simulation: Messgrößen 1. Grapheigenschaften: – – – – 2. Clusterkoeffizient Zusammenhang: Anzahl/Größe starker Komponenten Durchschnittliche (kürzeste) Weglängen, berechnet jeweils für 10.000 zufällig gewählte Knotenpaare Eingangsgrade Recall: jeder von 100 zufällig gewählten Peers sucht einmal nach allen 50 Farben – Recall = DFG-Projekt # von den Peers gefundeneDokumente # im zentralen Index gefundeneDokumente Inhaltsbasierte Suche in P2P-Netzen 16 Simulation: Untersuchte Graphen • Zufallsgraph: – Jeder Peer hat Dokumente (und damit Profil) wie unten – Jeder Peer hat 20 zufällige Kontakte • Strukturierte Graphen: – – – – Graph 1: storageFactor = 1, clusterPercentage = 1 Graph 2: storageFactor = 1, clusterPercentage = 0.7 Graph 3: storageFactor = 5, clusterPercentage = 0.7 Bei allen dreien: Initialisierung wie eben beschrieben DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 17 Strukturbildung: CK/Zusammenhang Graph CK Anzahl starke Komponenten größte Komponente 0,0024 1 8000 Graph 1 0,56 6829 1168 Graph 2 0,34 135 7865 Graph 3 0,31 135 7865 Zufallsgraph DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 18 CK als Fkt. Der Zeit (Graph 3) DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 19 Weglängen: Zufallsgraph DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 20 Weglängen: Graph 1 DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 21 Weglängen: Graph 2 DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 22 Weglängen: Graph 3 DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 23 Eingangsgrade (2) DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 24 Eingangsgrade (3) DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 25 Recall: Zufallsgraph (TTL=25) • Durchschnitt über alle 100 Peers: R = 11,4% DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 26 Recall: Graph 1 (TTL=25) • Durchschnitt: R = 44,6% DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 27 Recall: Graph 2 (TTL=25) • Durchschnitt: R = 47,9% DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 28 Recall: Graph 3 (TTL=25) • Durchschnitt: R = 75,2% DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 29 Recall als Funktion der TTL DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 30 Fazit • Erkenntnisse: – Small World Strukturen (CK, Weglängen) bilden sich tatsächlich – Power-Law für Eingangsgrade • Indegree korreliert lose mit Größe der Library, d.h. ein Peer mit vielen Dokumenten wird als Nachbar bevorzugt – Strukturbildung bringt wesentlich besseren Recall als Suche im Zufallsgraphen – Ab 10 Hops wird nicht mehr viel Neues gefunden – Fehlen von random shortcuts läßt Graphen zerfallen, aber: Recall leidet nur unwesentlich (erstaunlich!) • Vermuteter Grund: auch isolierte Peers haben Zugang zu den „großen“ Peers mit vielen Dokumenten, unerreichbare Peers bieten „nichts Wichtiges“ an DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 31 Ausblick • Reale Daten (Dokumente) – Profilbildung? – Kürzung von Profilen (=> wie trotzdem Recall hochhalten?) • Churn: An- und Abmeldung von Peers berücksichtigen, Netz wachsen lassen • Skalierbarkeit: Experimente mit anderen Netzgrößen • Neue Strategien: Implementieren und ausprobieren DFG-Projekt Inhaltsbasierte Suche in P2P-Netzen 32