[WLANnews] dezentrale Suche in der Freifunk Wolke.

willi übelherr wube at gmx.net
Do Apr 4 18:39:37 CEST 2013


liebe freunde,

eigentlich hatte ich das gefuehl, dass eine weitere diskussion um diesen 
themenkomplex auf dieser list sinnlos ist. nach der antwort von Allan und 
Moritz war klar, dass die engstirnigkeit und denkbegrenzung dominiert. und 
dies, weil all die anderen sich ruhig verhalten. so ging ich davon aus, dass 
das niveau von denkfahigkeit der liste dem von Allan und Moritz gleichkommt.

aber Ruben und Smilie durchbrechen dies. das war mir schon vorher klar. und 
sie setzen den diskurs fort. so will ich die idee von Ruben aufgreifen, weil 
sie auch meinen vorstellungen entspricht.

er nennt es Supernodes. tatsaechlich sind es aber Server. und Server sind 
immer Supernodes. das wesentliche ist ihre aufgabe, der allgemeinheit 
dienste zur verfuegung zu stellen, deren implementierung auf allen knoten 
nicht notwendig erscheint.

Ruben hat es ueber die transportbelastung dargelegt. wir koennen aber noch 
weiter gehen. Smilie hat in einem frueheren text schon darauf hingewiesen, 
dass sich die Freifunk-struktur unabhaengig machen sollte, indem sie 
moeglichst viel der notwendigen aufgabem in dieser struktur loest.

auch ich bin genau dieser auffassung. und wie es scheint, auch Ruben.

beim suchen von datenquellen und sonstigen verteilten informationen wie 
statusdaten beliebiger art muessen wir uns immer der frage stellen, ob wir 
diee daten vorhalten, sei es direkt oder nur die referenz, oder nur den 
mechanismus zur abfrage behandeln wollen. das hat viel mit dem realen 
geschehen zu tun. ist also eine erfahrungsbasierte entscheidung.

alle cache-strukturen, also zwischenhaltungen, tendieren zur negativen 
selbstbeschaeftigung. werden ab einer spezifischen groesse zur last. so 
bleiben oft nur spezifische zeitbetrachtungen, die aber im konkreten nicht 
generalisierbar sind.

das suchen in datenbestaenden, oder besser die herstellung von informationen 
uber inhalte von datenbestaenden, hat keine spezifische ausrichtung auf 
FreiFunk. es liegt darueber.

wahrend der zugriff auf FreiFunk-spezifische daten sehr wohl als aufgabe 
dieses netzwerks behandelt werden kann. vielleicht meint dies auch Smilie. 
aber es gibt ausser dem suchen im freifunknetz noch viele taetigkeiten, die 
mit lokaler serverstruktur(supernodes) einfacher zu loesen ist.

alle derartigen aktivitaeten sind generell dienste. sie werden den nutzern 
zur verfuegung gestellt, die ihren zweck bestimmen.

Ruben hat es bereits angesprochen. die meisten Freifunknetze sind keine 
verteilten maschennetze, sondern eigentlich sternstrukturen. und viele 
anwendungen sind nur triviale accesspoints. insofern ist hier erstmal eine 
innere, ehrliche klaerung notwendig, welche anforderungen fuer 
netzwerkaufgaben ueberhaupt real existieren.

und ich habe es schon angedeutet, dass das reden ueber routingprotokolle und 
-mechanismen meist nur theater ist, weil es faktisch so nicht existiert und 
mit einfachsten methoden viel einfacher zu loesen waere.

wenn dann aber wirklich lokale netzstrukturen entstehen, wie z.b. ein 
eigenes, kommunales netz, dann wird die diskussion fruchtbar. und ich 
unterstuetze jede form einer solchen diskussion und halte sie fuer wichtig 
auch dann, wenn sie aktuell praktisch noch nicht zur anwendung gefuehrt 
werden kann.

mit lieben gruessen, willi
merida/venezuela



Am 02/04/2013 14:46, schrieb Ruben Kelevra:
> Hallo smilebef,
>
> ich sehe kein Problem darin in einem Router eine Suchmaschine unter zu
> bringen.
>
> Das Problem würde die "Festplatte" sein, aber du kannst ja per USB nen
> Speicherkartenleser oder nen Stick dran klemmen, dann hast du Speicher
> genug.
>
> Broadcast bzw. eigentlich besser dafür geeignet wäre Multicast ist leider
> im Moment eine ziehmlich dumme Idee. Batman-adb behandelt Multicast wie
> broadcasts und die Unterteilung in Subnetze ermöglicht nur die Suche im
> eigenen Subnetz.
>
> Selbst wenn das ganze lokale Netzwerk einen Switch darstellt dürfte es
> einfach zu viel Traffic werden, da jeder Node diese Multicast-Nachricht an
> jeden Client raus sendet, und im Normalfall dies auch noch mit 1 Mbit/s. In
> Lübeck wechselt man gerade auf 12 Mbit/s, was bedeutet das die Nachrichten
> immerhin mit einer 6 Mbit/s rausgesendet werden können. Sinnvoll ist das
> aber immer noch nicht, da es unglaublich schlecht skaliert.
>
> Sinnvoller fände ich folgendes:
>
> -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.
>
> -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.
>
>
> 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
>>
>
>
>
> _______________________________________________
> 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
>


Mehr Informationen über die Mailingliste WLANnews