Dezentrales backup mit torrent-Protokoll
Ich Spiele mit einer Idee-client, der das torrent-Protokoll verwendet, heute in torrent download client-wie uTorrrent oder Vuze zu erstellen:
Client-software, die wäre:
- Wählen Sie Dateien, die Sie möchten, um backup -
- Erstellen torrent-wie-Deskriptor-Dateien für jede Datei
- Bieten optionale Verschlüsselung der Dateien basierend auf Schlüssel-Satz
- Wählen lassen, die Redundanz, die Sie handeln möchten mit anderen Kunden
(Redundanz basiert auf dem geben-und-nehmen-Prinzip. Wenn Sie möchten, um backup-100MB fünf mal Sie zu bieten haben würde zusätzliche 500 MB eigenen Speicherplatz in Ihrem system. Die Datei backup nicht bekommen würde, nur verteilt unter 5 clients, aber es würde nutzen so viele Kunden wie möglich anbieten-Speicher in exchange basiert auf körperlicher Distanz, angegeben in den Einstellungen)
Optional:
-
Ich dachte umfassen edge file sharing. Hätte man nicht die verschlüsselten Dateien freigegeben, in der Sie den backup-Speicher und lieber Kunden, die Ihren port 80 für die öffentlichkeit geöffnet HTTP teilen. Aber das bekommt trickst da habe ich harte Zeit kommen mit ein einfaches Schema, wo die Besucher würden Holen die nächsten backup-client.
-
Gehören Datei-manager, die erlauben würde, Dateiübertragungen (sowas wie FTP mit GUI) Stil zwischen zwei Systemen mithilfe von torrent-Protokoll.
Ich bin denken über das erstellen diese als service-API-Projekt (so in der Art wie http://www.elasticsearch.org ), die integriert werden könnte, mit jedem container wie tomcat und spring oder einfach nur Schwingen.
Wäre dies P2P open-source-Projekt. Da bin ich nicht ganz überzeugt von meinem Verständnis von torrent-Protokoll die Frage ist:
Ist die oben machbar mit dem aktuellen Stand der torrent-Technologie (und wo sollte ich schauen, um zu rekrutieren java
Entwickler für dieses Projekt)
Wenn das die falsche Stelle, das zu posten, bitte verschieben Sie es an geeigneter Standort.
- Es ist möglich, dass labs.bittorrent.com/experiments/sync.html tun, was Sie wollen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie erwägen, die falsche Technik für den job. Was Sie wollen, ist ein erasure code mit Vandermonde-Matrix. Was dies ermöglicht es Ihnen zu tun ist, erhalten das gleiche Maß an Schutz gegen verlorene Daten ohne zu speichern fast so viele Kopien. Es ist ein open-source-Implementierung von Luigi Rizzo, die perfekt funktioniert.
Was dieser code ermöglicht es Ihnen zu tun ist, nehmen Sie ein 8 MB Datensatz und schneiden Sie es in einer beliebigen Anzahl von 1-MB-Blöcken, so dass alle acht von Ihnen können die ursprünglichen Daten rekonstruieren. Dadurch erhalten Sie den gleichen Schutz wie die Verdreifachung der Größe der gespeicherten Daten, ohne selbst eine Verdoppelung der Größe der gespeicherten Daten.
Können Sie die Feinabstimmung der Parameter, wie Sie wollen. Mit Luigi Rizzo Umsetzung, es gibt ein limit von 256 Blöcken. Aber Sie können Steuern, die chunk-Größe und die Anzahl der Stücke erforderlich, um die Rekonstruktion der Daten.
Brauchen Sie nicht zu erzeugen oder zu speichern alle möglichen Stücke. Wenn Sie schneiden ein 80MB Stück von Daten in 8 Stücke, so dass jeder zehn wiederherstellen der ursprünglichen Daten, die Sie erstellen können bis zu 256 solcher Brocken. Sie werden wahrscheinlich wollen nur 20 oder so.
Könnten Sie große Schwierigkeiten haben, die Durchsetzung der wechselseitigen Speicher-Funktion, die ich glaube, ist entscheidend für die großflächige Einführung (endlich mal eine gute Verwendung für die drei-terabyte-Laufwerke, die Sie in cornflakespackungen!) Vielleicht möchten Sie auch zur Untersuchung der Mechanismen der BitCoin, um zu sehen, ob es irgendwelche tools, die Sie stehlen können oder nehmen Sie für Ihre eigenen Bedürfnisse für die verteilte nicht-unleugbar sein Nachweis der Lagerung.