Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine Suche in P2P-Netzen: FASD Fault-tolerant, Adaptive, Scalable, Distributed search.

Ähnliche Präsentationen


Präsentation zum Thema: "FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine Suche in P2P-Netzen: FASD Fault-tolerant, Adaptive, Scalable, Distributed search."—  Präsentation transkript:

1 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine Suche in P2P-Netzen: FASD Fault-tolerant, Adaptive, Scalable, Distributed search engine Stefan Haun

2 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Gliederung Einleitung & Motivation Suchverfahren kurz angerissen Freenet FASD – Protokoll und Architektur Simulation der FASD Zusammenfassung Diskussion

3 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Einleitung & Motivation Bisher: Strukturen und Datentransfer Jetzt: Suchverfahren in P2P-Netzen Warum? –Notwendig zur Informationsbeschaffung –Schlechte Suchverfahren erzeugen viel Traffic

4 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Zentralisierte Suche (Napster) Client/Server Zentraler Server verwaltet Speicherorte der Dokumente Clients stellen direkte Suchanfragen an den Server Nachteile: –Suchverfahren nicht P2P-Verteilt -> Skaliert nicht –Gezielter Angriff auf Server macht Netz unbrauchbar –Keine Client-Anonymität, Identität bei Anfrage bekannt –Keine Dokumenten-Anonymität –Statt dessen: Liste mit Nutzern und ihren Dokumenten!

5 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Hash-Based Index Distribution (Chord) Grundlage ist Hash-Basierter Index (z.B. SHA-1) LOOKUP-Funktion liefert Knoten zur GUID Chord sucht bei N Knoten mit O(log N) Schritten Nachteile: –m UND/ODER-Verknüpfungen erzeugen m Suchen –Keine effizienten Insert/Remove-Operationen

6 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Broadcast (Gnutella) Suchanfrage wird an alle Nachbarn weitergeleitet Suchtiefe durch HTL (Hops To Live) begrenzt Nachteile: –Sehr hoher Traffic im Netzwerk –Dokument wird nicht gefunden, wenn zu weit entfernt

7 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Freenet Netz von Knoten mit lokalem Informationsspeicher Jedes Dokument durch GUID gekennzeichnet Kein semantischer Zusammenhang zwischen Inhalt und GUID Knoten auf GUID spezialisiert Bildung von Nachbarschaften ähnlicher GUIDs Suchanfrage an Nachbarknoten, die am nächsten an der GUID sind Suchaufwand ist O(log N), N = Knotenzahl

8 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 FASD Fault-Tolerant, Adaptive, Scalable Distributed search engine Als Such-Maschine für Freenet entwickelt Technisch sehr stark an Freenet angelehnt Kann aber auch stand-alone oder in anderen Netzen verwendet werden

9 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 FASD – Protokoll und Architektur Metadata Keys Schlüssel-Abstand (Closeness) Darstellung der Queries Suche nach Schlüsseln Erzeugen und Einfügen von Schlüsseln Speichern von Schlüsseln Mögliche Inkonsistenzen zwischen P2P-Netz und FASD

10 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Metadata Keys Vektor-Repräsentation des Dokuments Enthalten die Häufigkeiten von Schlüsselwörtern des Dokuments Berechnet nach TFIDF (term frequency x inverse document frequency) Aus Performancegründen als Lexikon bereitgestellt Metadata Key besteht aus Vektor, GUID und Decryption Key

11 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Schlüssel-Abstand (Closeness) Maß für die Ähnlichkeit zweier Metadata Keys Vorteile: –Ermöglicht effizientere Suche –Macht FASD kompatibel zum Freenet Routing- Algorithmus Cosinus-Abstand (cosine correlation value) verwendet Größerer Cosinus-Wert -> größere Ähnlichkeit Wert von 1 bedeutet Gleichheit Nur indirekte Aussage über Gleichheit der Dokumente!

12 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Darstellung der Queries Query = Vektor Gesuchte Schlüsselwörter werden auf 1 gesetzt Abstandsfunktion der Metadata Keys verwendet UND-Verknüpfungen in einem Vektor darstellbar ODER-Verknüpfungen in Einzelanfragen zerlegt Komplexe Queries in Disjunktive Normalform umgewandelt Beispiel: t1 ODER (t2 UND t3) ODER (t4 UND t5 UND t6)

13 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Suche nach Schlüsseln Erweitert Freenets Routing-Algorithmus Begrenzungen: –HTL (hops to live) –Anzahl der Treffer (Top n-Liste) –Schwellwert für die Ähnlichkeit Jeder Knoten erstellt eigene Top n-Liste Anschließend Top n der Nachbarknoten Ergebnisse werden zu neuer Top n-Liste zusammengeführt und zurückgegeben Ergebnisse entlang des Suchpfades gespeichert

14 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Einfügen von Schlüsseln Metadata Keys vom Knoten berechnet FASD liefert Lexikon mit Gewicht für Schlüsselwort Berechnung vom Benutzer nicht beeinflussbar -> Schlüssel im FASD-Layer konsistent Suche nach ähnlichstem Knoten Schlüssel wird dort eingefügt Inseln ähnlicher Metadata Keys

15 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Speichern von Schlüsseln Schlüssel werden in LRU-Cache gespeichert Läuft der Cache über, werden überflüssige Schlüssel gelöscht -> unpopuläre Schlüssel gehen verloren Effiziente Suche mit invertierten Indizes Effiziente Insert/Remove-Operationen benötigt Aggressives Caching: Alle Metadata Keys, die den Knoten passieren, werden zwischengespeichert

16 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Inkonsistenzen zwischen P2P/FASD Schlüssel wird gelöscht, Dokument existiert noch –Wird vermieden, indem Schlüssel bei Direktzugriff aufs Dokument neu eingefügt wird Dokument wird gelöscht, Schlüssel existiert noch –Schlüssel über cull request gelöscht –Knoten entlang des Suchpfades müssen bestätigen –Bestätigung bringt zusätzliche Sicherheit –Unerlaubter Cull-Request hat Verbreitung zur Folge

17 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Sicherheit FASD nutzt keine Verschlüsselung Bewertungsalgorithmen nicht ausgereift -> Weitere Forschungsarbeit notwendig! Lösungsansätze zu folgenden Aspekten: –Vermeidung von Zensur –Qualität der Dokumente

18 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Sicherheit: Vermeidung von Zensur Knoten können Suchabfragen nicht abfangen, da nur Teil des Suchbaums Bei Zensurverdacht kann Knoten umgangen werden Ansatz: Verschlüsselte Suchalgorithmen Problem: Knoten brauchen Schlüssel Network-Of-Trust kann Abhilfe schaffen

19 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Sicherheit: Ähnlichkeit vs Qualität Ähnlichkeit objektiv definiert, Qualität subjektiv Objektiv ähnliches Dokument kann für Nutzer unbrauchbar sein Mögliche Erweiterung um: –Reputation der Dokumentenquelle –Update-Frequenz –Popularität –Erwähnung in anderen Dokumenten

20 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Anwendungen neben Freenet FASD auch ohne Freenet als Such-Layer verwendbar Verwendung mit Chord: –hat sehr effiziente Methode zur Lokalisierung von Dokumenten –jedoch keine Suchfunktion –Zusammen mit FASD sehr effektiv Stand-Alone: –Als eigenständige Such-Applikation einsetzbar –Datentransfer über andere Standards

21 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Simulation des FASD FASD-Netz wurde durch Simulation geprüft Bedingungen: –Initial: 20 Knoten, 2500 Dokumente –Netz wird schrittweise auf 1000 Knoten erweitert –Alle 200 Zeiteinheiten 300 neue Requests –Bei Verfügbarkeitstests: HTL = 500 Im Folgenden werden einige Ergebnisse vorgestellt

22 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Durchschnittliche Suchtiefe

23 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Entwicklung der Suchdauer

24 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Entwicklung der Suchtiefe

25 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Verhalten bei Angriff auf Knoten

26 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Zukünftige Forschung Erweiterung der Funktion für die Schlüsselnähe Nutzung von verschlüsselter Suche Implementierung eines Trust-Networks Weitere Simulationen und Verbesserung der Parameter FASD soll in Freenet v0.6 integriert werden

27 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Zusammenfassung Grundlegendes Problem: Auffinden von Daten ohne zentrale Suchinstanz FASD löst das Problem, indem P2P-Netz als Suchmaschine genutzt wird Simulationen zeigen: Ansatz von FASD kann mit den bekannten Problemen umgehen Aber: Weitere Forschungsarbeiten sind noch notwendig!

28 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Geschafft! Vielen Dank für Eure Aufmerksamkeit! :)

29 FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine /29 Diskussion FASD gefährdet die Verfügbarkeit eines P2P-Netzes, weil semantisch ähnliche Dokumente konzentriert werden. Ist es trotzdem sinnvoll, das Verfahren in Freenet zu integrieren? Sollte es besser standalone laufen? Eine anderweitige Anwendung kann den Austausch des Lexikons notwendig machen. Wie lässt sich eine Migration der Metadata Keys realisieren? Eignet sich FASD auch, um nach Binärdaten zu suchen?


Herunterladen ppt "FASD – A Fault-Tolerant, Adaptive, Scalable, Distributed search engine Suche in P2P-Netzen: FASD Fault-tolerant, Adaptive, Scalable, Distributed search."

Ähnliche Präsentationen


Google-Anzeigen