Today we proudly announce the implementation of Delta Sync for ownCloud. This long-awaited feature will save bandwidth and time for ownCloud Users that update large files regularly.
What is Delta Sync?
With “Delta Sync” ownCloud offers a technology that accelerates the synchronization of updated files. Instead of the complete file, the sync client only uploads or downloads the corresponding modified parts when files are changed. This significantly reduces the volume of transmitted data. Delta Sync allows ownCloud Users to radically reduce the file sizes that they upload to – or from the server after changing a file. Before ownCloud transfers a file, the software compares its new version with the previous one – and then only replaces the part of the file that has been modified. Delta Sync is currently in the test phase and works for uncompressed formats. It is particularly useful for files that have been changed only slightly.
Why is this so great?
For example, if an uncompressed large video file (e.g. 50 GB) was synchronized with ownCloud and edited on the server (e.g. by adding a cover image), it was necessary to replace the entire 50 GB in the past. Delta Sync now allows you to upload and download essentially only the difference between the two files (the “delta”) – in this case the 10 MB added by the cover image. The technology is particularly effective for downloads, since the client only synchronizes the changes. Usually, files are often shared with several users – the potentially saved data volume, therefore, increases parallel to the number of recipients.
Developed by the community
The demand for the implementation of Delta Sync exists already for some years within the developer community. The interest is accordingly high: On the developer platform Bountysource the project was endowed with the highest developer bonus ever offered among all ownCloud projects.
Ahmed Ammar developed Delta Sync with the support of the ownCloud development team. Ahmed Ammar implemented Delta Sync as a fun project and as a way to resharpen his coding skills. Numerous contributors supported this Feature, some of whom contributed three-figure sums of money. We take pride in the fact that ownCloud is the first Open Source File Sync&Share Project that implements this Feature.
ZSync as the basis for Delta Sync
The main implementation was the integration of the ZSync algorithm into the ownCloud server and the desktop client. Linux distributions use ZSync mainly to distribute rapidly changing beta ISO image files. The server creates a metafile to determine which parts of a file the user already has; the client then downloads the remaining parts via HTTP.
Supported file formats:
- Crypto container (e.g. VeraCrypt)
- Disc images (.iso /.img)
- Audio (raw audio formats /.wav /.aiff)
- images (.svg /.tiff /.bmp /.dng)
- Video (raw video formats, e.g. uncompressed.avi)
- Virtual Machine Images (.vdi /.ova /.img /RAW)
- Microsoft PST files (emails, calendar entries, etc.)
- text files
- Tar Archives
We release Delta Sync for the ownCloud server and desktop client with the next major release later this year. The tech community can try out the feature and provide feedback. We follow this step by stabilizing the new sync algorithm and further testing it. We will add performance measurements and will then do performance optimization until the feature is finally available to all ownCloud Users.
[oc-button link=”https://github.com/ownCloud” target=”_blank” icon=”fa-search”]Check out the Code on Github![/oc-button]