Projektidee
This commit is contained in:
parent
0460a081e7
commit
6596362063
|
@ -0,0 +1,69 @@
|
|||
==Problem==
|
||||
|
||||
Hacker A hat auf seinem lokalen Fileserver viele größere (> 1GB) Dateien, die
|
||||
Hacker B gerne hätte. Die Internet-Verbindung von A hat nicht genug Upstream
|
||||
die von B nicht genug Downstream, um bequem direkte Kopien zu ermöglichen.
|
||||
Hacker A und Hacker B kennen sich aber persönlich und treffen sich regelmäßig
|
||||
an einem Ort, an dem eine LAN-Verbindung möglich ist (oder WLAN) und beide ihre
|
||||
Laptops mithaben.
|
||||
|
||||
==Hackerspace==
|
||||
|
||||
Hackerspace ist eine XMPP/XMLRPC-basierte Anwendung, die auf dem Laptops von A
|
||||
und B läuft. A teilt Hackerspace den Pfad zu seinem lokalen Fileserver mit (via
|
||||
file-, ftp-, http-, sftp-, smb-URLs) und freien Speicherplatz auf seinem Laptop
|
||||
mit. Im Normalfall nutzt Hackerspace die JID seines Besitzers und ist so von
|
||||
außen erreichbar, die Priorität ist so festgelegt, dass normalerweise keine
|
||||
Nachrichten an Hackerspace gehen. Sollte dies doch einmal der Fall sein, sollte
|
||||
Hackerspace den Absender unterrichten, dass der Besitzer die Nachricht nicht
|
||||
bekommen hat und/oder die Nachricht seinem Besitzer weiterleiten, wenn dieser
|
||||
das nächste Mal online ist. Die Ressource von Hackerspace sollte darauf
|
||||
hinweisen, worum es sich handelt.
|
||||
|
||||
Hacker B kann nun mittels seiner lokalen Hackerspace-Instanz (HsB) die von A
|
||||
freigegebenen Dateien durchsuchen. Das Interface hierfür kann z.B. in einem
|
||||
lokalen Web-Server bestehen, alternativ ist auch GTK, QT etc. möglich. Wenn B
|
||||
eine Datei sieht, die er gerne haben möchte, bittet er die Hackerspace-Instanz
|
||||
von A (HsA) diese Datei auf dem Laptop von A abzulegen. Hierbei kann eine
|
||||
maximale Hinterlegungsdauer angegeben werden, die A von vorneherein limitieren
|
||||
kann.
|
||||
|
||||
Wenn sich A und B das nächste Mal treffen und sich im gleichen Netzwerk
|
||||
befinden, sollten die Hackerspace von A und B dies über eine Heuristik selbst
|
||||
herausfinden und dann bei ihren jeweiligen Besitzern nachfragen ob der Transfer
|
||||
eingeleitet werden soll (dies sollte netzbasiert ausgeschaltet werden können).
|
||||
Ist der Transfer vollständig werden die übertragenen Datei automatisch vom
|
||||
Laptop von A (nach optionaler Bestätigung) gelöscht.
|
||||
|
||||
===Queues und Prioritäten===
|
||||
|
||||
Eine Hackerspace-Instanz sollte Queues implementieren, die es ermöglichen, dass
|
||||
Transfers vom Fileserver zum Laptop, die aufgrund mangelden freien Speichers
|
||||
nicht ausgeführt werden können, später ausgeführt werden. Desweiteren ist es
|
||||
sinnvoll, wenn Hackerspace über die Eckdaten des Heimnetzes und des LANs
|
||||
Bescheid weiß um so Transfers besser planen zu können.
|
||||
|
||||
Außerdem ist ein Modus sinnvoll, bei dem Transfers im Heimnetz, erst kurze Zeit
|
||||
bevor A zum Treffen mit B aufbricht, ausgeführt werden. Damit ist es möglich
|
||||
Dateien, die von mehreren Hackern gewünscht werden, höher zu priorisieren.
|
||||
Selbstverständlich ist es dazu nötig, Hackerspace mitzuteilen, wann man (und
|
||||
evt. wohin) aufbricht.
|
||||
|
||||
Der Besitzer einer Hackerspaceinstanz sollte stets in der Lage sein, lokal
|
||||
Prioritäten zu manipulieren.
|
||||
|
||||
Wenn genug Speicherplatz verfügbar ist, müssen Prioritäten nicht beachtet
|
||||
werden.
|
||||
|
||||
==Visionen==
|
||||
|
||||
Es ist vom Design her klar, dass Hackerspace nicht nur für 2 Hacker und nicht
|
||||
nur in einer Richtunge funktioniert. Bei mehreren Anfragen von mehreren Hackern
|
||||
sollte es jederzeit möglich sein, Anfragen abzulehnen
|
||||
|
||||
Hackerspace kann jederzeit Kopieranfrage
|
||||
|
||||
==Sicherheit==
|
||||
|
||||
Beim Verfolgen von URLs achtet Hackerspace stets darauf, dass der freigegebene
|
||||
Platz nicht verlassen werden kann.
|
Loading…
Reference in New Issue