Delta Sync ermöglicht ownCloud-Nutzern eine radikale Reduzierung der Dateigrößen, die nach der Änderung einer Datei auf den Server hoch- oder von dort heruntergeladen werden müssen. Die Software vergleicht vor dem Transfer einer Datei deren neue Version mit der vorherigen – und tauscht dann nur den Teil der Datei aus, der verändert wurde.

Wenn früher beispielsweise eine unkomprimierte große Videodatei (z.B. 50 GB), mit ownCloud synchronisiert und auf dem Server bearbeitet werden sollte (z.B. durch Hinzufügen eines Cover-Bildes), war es in der Vergangenheit nötig, die kompletten 50 GB auszutauschen. Delta Sync ermöglicht es nun, im Wesentlichen nur den Unterschied der beiden Dateien (also das „Delta“) hoch- bzw. herunterzuladen – in diesem Fall also die 10 MB, die durch das Cover-Bild hinzugefügt wurden. Besonders effektiv ist die Technologie bei Downloads, da hier ausschließlich die Änderungen synchronisiert werden und Dateien häufig mit mehreren Nutzern geteilt werden – das potentiell eingesparte Datenvolumen steigt also parallel zur Anzahl der Empfänger.

Quelle: ownCloud GmbH

Das Schaubild zeigt den Synchronisierungsvorgang im Vergleich zur vorherigen „vollen“ Synchronisierung.

 

Delta Sync befindet sich aktuell in der Testphase und funktioniert für unkomprimierte Formate. Es ist vor allem für Dateien sinnvoll, die nur leicht verändert wurden. Das Feature ist serverseitig unter AGPLv3, clientseitig unter GPLv2 lizenziert und kann damit von der Community frei verwendet und weiterentwickelt werden.

Entwicklung aus der Community 

Die Forderung nach der Implementation von Delta Sync besteht schon seit einigen Jahren innerhalb der Entwickler-Community. Dementsprechend groß ist das Interesse: Auf der Entwicklerplattform Bountysource war das Projekt unter allen ownCloud-Projekten mit der höchsten jemals ausgeschriebenen Entwicklerprämie dotiert. Delta Sync wurde von einem Community-Mitglied mit Unterstützung durch das ownCloud-Entwicklerteam entwickelt und durch zahlreiche Contributoren, die teilweise dreistellige Geldbeträge beisteuerten, gefördert.

Die Umsetzung bestand vor allem in der Integration des ZSync-Algorithmus in den ownCloud-Server und den Desktop Client. ZSync findet vor allem in Linux-Distributionen Verwendung, wo schnell wechselnde Beta-ISO-Image-Dateien verteilt werden. Es verwendet das HTTP-Protokoll und .zsync-Dateien mit vorberechneten Rolling-Hashes, um die Serverlast zu minimieren und dennoch eine Diff-Transfer-Übertragung zur Netzwerkoptimierung zu ermöglichen.

Delta Sync unterstützt beispielsweise folgende Dateiformate:

– Krypto-Container (z.B. VeraCrypt)
– Disc-Images (.iso /.img)
– Audio (Roh-Audioformate /.wav /.aiff)
– Bilder (.svg /.tiff /.bmp /.dng)
– Video (Rohvideoformate, z.B. unkomprimierte .avi)
– Virtual Machine Images (.vdi /.ova /.img /RAW)
– Microsoft PST Dateien (E-Mails, Kalendereinträge, etc.)
– Textdateien
– Tar-Archive

 Intensives Testing

Die offizielle Veröffentlichung von Delta Sync für den ownCloud Server und Desktop Client erfolgt mit dem nächsten Major Release im Laufe des Jahres. Danach beginnt die Testphase, in der die Tech-Community das Feature ausprobieren und Feedback übermitteln kann. Auf diesen Schritt folgt die Stabilisierung des neuen Sync-Algorithmus und weiteres Testing, Leistungsmessungen und Performance-Optimierung, bis das Feature schließlich allen ownCloud-Nutzern zur Verfügung steht.