[WLANnews] Rubens Realisierungsidee zu dezentrale Suche in der Freifunk Wolke.

Christof Schulze christof.schulze at gmx.net
So Apr 7 18:13:45 CEST 2013


Hi Ruben,

auf der Liste finden im selben Thread Diskussionen um Anforderungen an
eine Suche und Diskussionen um Realisierungsformen einer Suche statt.
Das sollten wir trennen, weshalb ich mit dieser Mail einen neuen Thread
öffne.

Ich würde Deine Idee gern besser verstehen und möchte daher einige
Fragen formulieren:
> * Man installiert im Netzwerk Supernodes.
> * Die Supernodes machen sich untereinander bekannt.
> * Die Supernodes machen untereinander eine Reihenfolge aus.
> * Jeder Supernode schickt einen Broadcast pro Stunde raus mit seinem
>   Public Key. 
Wie sollten die ersten drei Punkte gelöst werden (Aushandeln der
Supernodes, Bekanntmachung, Bildung der Hierarchie)? Wie machen das
andere Netze/Protokolle z.B. Skype, Smb, Kazaa, ...? Daraus ergibt sich,
wie viele Supernodes es geben kann.

> - In den Routern wird eine Public-Keys-Liste konfiguriert, eine IP-Adresse
> ist im eigenen Subnetz optional.
> - Die Router indizieren die eigenen Dokumente.
> - Die Router melden sich bei zwei der gültigen Supernodes und hinterlegt
> dort seinen Public-Key und IP.
> - Die Router aktualisieren ihren Eintrag beim Wechsel der IP, signiert mit
> ihrem Schlüssel.
> -Die Router melden sich nach 60 Minuten ohne Traffic zwischen Ihnen und den
> beiden verwendeten Supernodes um zu bestätigen das sie noch aktiv sind.
>   + Fällt dabei auf das einer der Supernodes nicht mehr zu erreichen ist
> werden neue Verbindungen aufgebaut.
> -Suchanfragen leiten die Router im Wechsel zu einem der beiden Supernodes.
>   + Fällt dabei auf das einer der Supernodes nicht mehr zu erreichen ist
> werden neue Verbindungen aufgebaut.
> -Die Supernodes melden die Anfrage und eine Cachezeit (bis 24h) per
> Flutungsalgorithmus an alle Supernodes bis sie das Handle auf die Anfrage
> haben, dann:
>   + Gilt dieser Supernode als Cache für diese Anfrage.
>   + Fragt dieser Supernode die Clients lokal, sendet seine Liste mit
> Clients an den Supernode mit der niedrigsten Nummer, dieser:
>      - Sendet die Anfrage an seine Clients und erweitert die Liste und
> sendet diese an den nächsten Supernode.
>        +Der Supernode mit dem Handle wird dabei übersprungen.
>        +Der letzte Supernode sendet die Daten zurück.
>        +Alle Clientantworten werden direkt an den fragenden Supernode
> gesendet.
>        +Supernode die keine Clients hinzufügen senden nichts an den
> fragenden Supernode.
>        +Der erste Supernode gibt die Daten an den Client aus.
> -Fällt bei der Suche auf das ein Supernode fehlt wird dieser übersprungen
> und die Info per Flutungsalgorithmus bekannt gemacht. Hierbei überprüfen
> alle angesprochenden Supernodes bevor sie diese Information bestätigen dass
> das aus ihrer Sicht auch so ist.
* Was genau ist die Funktion der Supernodes?
* Wo sind die Daten gespeichert, die die Suchergebnisse darstellen? Auf
  den Clients?
* Dein Entwurf sieht Caching auf Supernodes vor. Was genau wird
  gecached? 
* Woher weiß der Nutzer, wo er seine Suchanfrage absetzen kann?
* Wo findet eine Bewertung der Suchergebnisse und die damit
  zusammenhängende Sortierung nach Relevanz statt?
  
viele Grüße

Christof

> LG Ruben

> Am 2. April 2013 01:04 schrieb <smilebef at gmail.com>:
> > Hallo Frank,

> > Die Variante, eine Suchmaschine auf einem Router mit 150mA laufen zu
> > lassen ist natürlich nicht für große Datenmengen gedacht.
> > Aber Hardware ist skalierbar.

> > Was ist aber das eigentliche Problem einer dezentralen Suche sie mir
> > vorschwebt?

> > Angenommen ich habe index++ auf OpenWRT portiert und ein Index erzeugt
> > Zusätzlich existieren noch viele andere Server, auf denen vielleicht
> > nativ ein Debian mit swish-e läuft.
> > Ein User zuhause gibt einen Suchbefehl ein.
> > Dann ist doch die eigentliche Problematik, daß es wirklich
> > einen Broadcast geben muss.
> > Der Suchbefehl muss zu allen möglichen Ziel-Computern gelangen (notfalls
> > zu allen Computern im Netzwerk) und dort eine Suche im Index auslösen.
> > Zurück werden nur die Treffer gesendet. Der Rückweg ist also kein
> > Broadcast aber enthält mehr Daten.
> > Es ist also zu erkennen dass hier gigantische Datenmengen anfallen können.
> > Dieser Menge Herr zu werden ist das eigentliche Problem.

> > Lösungsvorschlag 1:
> > Der Treffer-Report eines Rechners ist bei Broadcast vereinfacht.
> > Computer www.farnell.de hat 234 Dateien mit dem Such-Begriff gefunden.

> > Lösungsvorschlag 2:
> > Es könnte auch verschiedene Such-Level geben.
> > Broadcast-Anfrage und Einzelrechner Suche mit IP.- oder Pfadangabe.

> > Lösungsvorschlag 3:
> > Es könnte verschiedene Server geben, welche
> > diese Index-Dateien einsammeln und dann einen schnelleren Zugriff auf
> > die Daten liefern.

> > Lösungsvorschlag 4:
> > Vielleicht könnten die Webserver eine Änderung ihrer Index-Datei
> > selbstständig zu Suchmaschinen senden. Ein Abo-Service.

> > Lösungsvorschlag 5:
> > Die Broadcast Suche ist grundsätzlich zu implementieren um die
> > Abhängigkeit von Suchmaschinen auszuhebeln. Auch Suchmaschinen könnten
> > die Broadcast-Suche nutzen. Der User sollte es sich aussuchen können,
> > welche Methode er
> > für seine Suche für angemessen hält.

> > Lösungsvorschlag 6:
> > Broadcast-Suche muss mit einer niedrigen Priorität abgeschwächt werden.


> > Mir ist klar, das das bis jetzt eine Vision ist. :)
> > Was brauchen wir denn für diese Vision?

> > 1. Wir müssen sicherstellen, dass Freifunkrouter in der Lage sind mit
> > einem Broadcast umzugehen. (Kein mehrfaches Senden gleicher
> > Such-Anfragen)
> > 2. Es muß ein Plugin geben, welches auf solche Fragen antwortet.
> > 3. Die ganzen Daten müssen zu einer Antwortseite zusammengefügt werden.


> > Zu Punkt 1 ist klar, olsr und Batman müssen das können, Prioritäten
> > sind einzuführen wenn es sie noch nicht gibt.

> > Zu Punkt 2:
> > Das Plugin muß also gezielt Informationen in mehreren Weisen anbieten
> > können. Ich spinne mal:
> > "Broadcast-Suche" liefert: URL,Standort,Titel,Beschreibung
> > des Servers, Trefferanzahl.
> > "Pfad-Suche mit Option x und y" liefert: die erste Zeile
> > der x-ten von y Dateien, welche das Suchwort enthält.
> > Als nächste Stufe wäre auch möglich sich die ersten x Seiten zeigen zu
> > lassen (oder den Inhalt).

> > Zu Punkt 3:
> > Was wird denn passieren, wenn ich eine Broadcast-Suche absende?
> > Der nächstgelegene Rechner wird seine Antwort am schnellsten abliefern.
> > Wie können all die vielen Antworten zu einem Dokument zusammengefügt
> > werden?
> > An einer Stelle, an der wegen Br.-Cast der Pfad aufgesplittet wurde
> > werden höchst wahrscheinlich auch die Daten aus unterschiedlichen
> > Richtungen zurückkommen. Es muss also jeder Knoten diese Daten
> > zusammenführen.
> > Google macht es doch ähnlich. Es liefert einfach kein EOF und hält so
> > die Verbindung offen. Auf diese Weise kann Google, jede Bewegung mit
> > der Maus und jeden Tastaturanschlag analysieren.
> > Jetzt könnte eine Einschränkung vorgenommen werden nach Planquadraht,
> > nach Knotenanzahl und nach Zeit.


> > Hoffe ich habe euch nicht erschlagen.
> > siehe Kommentare weiter unten.

> > LG




> > Am Mon, 01 Apr 2013 17:55:07 +0200

> > schrieb Frank Rühlemann <ruehlema at informatik.uni-luebeck.de>:
> > > Mit Yacy hab ich recht schlechte Erfahrungen gemacht.

> > > Obwohl es anfangs ganz gut funktionierte, als ich es erstmal dazu
> > > gebracht hatte, dass es auch mit privaten Adressen umgehen kann, lief
> > > es später einfach immer schlechter und dann gar nicht mehr.
> > > Leider fand ich zu Yacy nur sehr wenig Dokumentation, selbst auf der
> > > offiziellen Seite. Daher blieb dann oft nur das Rumspielen mit den
> > > wenig sagenden Parametern übrig. Irgendwann bekam ich es in einen
> > > Zustand, wo zwar der Crawler eindeutig Traffic verursachte, sich aber
> > > der Index nicht mehr veränderte.

> > Cleverer Junge (:
> > > Zu dem Zeitpunkt habe ich es abgeschaltet.
> > > An sich versuche ich grad noch selbst nebenbei eine Suchmaschine auf
> > > Basis von Lucene & Nutch zusammen zu klöppeln, aber dafür bleibt
> > > gerade nur wenig Zeit über.

> > Muss ich mir mal ansehen. (:
> > > Aber zurück zur eigentlichen Frage:
> > > Das Problem ist gar nicht so trivial, wie es scheint. Du musst da mit
> > > sehr großen Datenmengen hantieren und dafür sind diese kleinen
> > > Plastikkisten nicht gemacht. Das betrifft sowohl die
> > > Speicherkapazität, als auch die Rechenleistung, die neben dem anderen
> > > Kram noch übrig sein müsste.
> > > Das müsste also eher auf Servern laufen. Das könnte günstigerweise
> > > auch ein angeschlossener Raspberry Pi sein! Der hat deutlich mehr
> > > Rechenleistung, wenn er nur dafür abgestellt wird.

> > > Das Suchen nach Geo-Koordinaten bedingt aber auch wieder, dass diese

> > Ich wollte nur sagen, was alles möglich wäre, wenn der Rest erst mal

> > läuft. (:
> > > mit den Informationen verknüpft werden. Das ist nicht zwingend
> > > möglich oder gewollt. Für die Suche nach lokalen Geschäften bietet
> > > sich eher OSM an. Das muss man nicht noch mit aufnehmen.

> > Muss ich recherchieren.

> > > Die Suche in internen Dokumenten ist erstmal Aufwand genug. (^_~)

> > Nö, schau dir mal swish-e an. Für HTML oder XML ist das kein Hit.
> > Für PDF und Bilder oder Videos wird es schon schwieriger.
> > Aber ein einfacher Friseursalon oder ein Werkzeugmacher hat meist nur
> > HTML-Seiten.

> > > Ich selbst sehe auch die Notwendigkeit einer internen Suchmaschine,
> > > aber nur, wenn sie auch sinnvoll läuft. Auch diese braucht einen
> > > gewissen Wartungsaufwand, damit sie gut läuft. :)

> > Wie schon gesagt, der Indizierer muss nur einmal, nämlich bei einer
> > Änderung des Datei-Baumes das Verzeichnis durchforsten. Das halte ich
> > für angemessen.

> > > Gruß

> > >     Frank

> > > Am 01.04.2013 03:30, schrieb Mario Behling:
> > > > Hallo,

> > > > versuch mal Yacy. Hat ganz gut funktioniert im Netz in Berlin vor
> > > > einer Weile. Der Entwickler ist auch fuer Ideen offen falls wir
> > > > weitere Features fuer das Freifunk- Netz brauchen.

> > > > LG,

> > > > Mario


> > > > 2013/4/1 <smilebef at gmail.com>

> > > >> Hallo Leute,

> > > >> wie ihr sicherlich schon mitbekommen habt, suche ich nach einer
> > > >> Lösung für eine dezentralen Suchfunktion in der Freifunk-Wolke.

> > > >> Das das nicht so einfach ist, hatte ich mir ja schon gedacht, aber
> > > >> ich gehe davon aus, dass sich irgendwann in meinem Kopf ein Bild
> > > >> ergibt, was die Sache greifbarer macht.
> > > >> Ich weiss ja im Grunde was ich will, und überlege mir wie dies
> > > >> aussehen könnte. Ich möchte Schritt für Schritt an diese
> > > >> Geschichte herangehen und erst einmal die Bausteine dazu zusammen
> > > >> suchen, welche mich einen Schritt weiter bringen.

> > > >> Nun habe ich im Netz einen interessanten Artikel über
> > > >> swish-e/swish++ gefunden. Dieses Programm generiert ein Index-file
> > > >> aus dem Inhalt von Dateien.

> > > >> Die Ausgabe sieht wie folgt aus.

> > > >> user:~$ swish-e -f .swish_index/howto-html.index  -w Antenne
> > > >> # SWISH format: 2.4.7
> > > >> # Search words: Antenne
> > > >> # Removed stopwords:
> > > >> # Number of hits: 3
> > > >> # Search time: 0,000 seconds
> > > >> # Run time: 0,007 seconds
> > > >> 1000 ../Daten/Nachschlagewerke/Antennen/Wlan/biquad.html "Biquad
> > > >> WLAN Selbstbau 10 dB" 7478
> > > >> 588 ../Daten/Linkbudget/Linkbudget.html  "Linkbudget.html" 21324
> > > >> 226 ../Daten/Nachschlagewerke/Antennen/Wlan/omni_mario.html "Omni
> > > >> Mario" 935


> > > >> Warum soll man solch ein Programm nicht für eine dezentrale Suche
> > > >> benutzen können? Im Grunde braucht man nur noch die URL des
> > > >> Ziel-Rechners vorne ran basteln und erhält einen Link.
> > > >> Es ist auch noch ein olsr/batman-Plugin zu schreiben, welches das
> > > >> größere Problem darstellen dürfte.
> > > >> Einmal nach einer Änderung des Dateisystems muß das Index-file
> > > >> erneuert werden.
> > > >> Letztlich könnte man das Netz durch solch eine Suche-Funktion
> > > >> extrem attraktiv machen.
> > > >> Ich fände es sehr interessant, wenn man die Suchfunktion in einem
> > > >> selbst bestimmten Umkreis zur Ausführung bringen könnte.
> > > >> Zum Beispiel könnte man eine Region auf der Karte markieren und
> > > >> eine lokale Suche nach Friseur oder Psychiatrie absenden.
> > > >> Oder ich sage, suche nur in den nächsten 10 Knoten.
> > > >> Ein Kunststück dürfte dann noch die Zusammenführung der Ergebnisse
> > > >> auf einer Webseite sein. Aber das müsste es dann auch gewesen sein.
> > > >> Oder ist jemand anderer Meinung, damit wette ich doch mal. (:

> > > >> Gibt es jemanden, den ich mit diesem Gedanken überzeugen könnte?
> > > >> Ich schaffe das definitiv nicht alleine.


> > > >> LG

> > > > _______________________________________________
> > > > WLANnews mailing list
> > > > WLANnews at freifunk.net
> > > > Abonnement abbestellen? ->
> > > > http://lists.freifunk.net/mailman/listinfo/wlannews-freifunk.net

> > > > Weitere Infos zu den freifunk.net Mailinglisten und zur An- und
> > > > Abmeldung unter http://freifunk.net/mailinglisten

> > _______________________________________________
> > WLANnews mailing list
> > WLANnews at freifunk.net
> > Abonnement abbestellen? ->
> > http://lists.freifunk.net/mailman/listinfo/wlannews-freifunk.net

> > Weitere Infos zu den freifunk.net Mailinglisten und zur An- und Abmeldung
> > unter http://freifunk.net/mailinglisten
-- 
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 198 bytes
Beschreibung: This is a digitally signed message part.
URL         : <http://lists.freifunk.net/pipermail/wlannews-freifunk.net/attachments/20130407/9f53a593/attachment-0001.pgp>


Mehr Informationen über die Mailingliste WLANnews