Technical Paper

As I develop, I am updating the original technical paper in which I laid out the algorithms, ideas and design decisions behind zsync. The paper is therefore a work in progress. Some sections may be incomplete, or refer to earlier versions of zsync or of the implementation; I have given zsync version numbers and indicate out-of-date sections wherever possible.

March 2005 Paper — zsync — Optimised rsync over HTTP

I have frozen the version of the technical paper as it stood in March 2005, because this when I stopped working on zsync for a while. This is also the point where I had completed my work on matching the efficiency of rsync, so it is a good moment to take a snapshot of where the work stands.

This is a frozen, finished version of the technical paper as it stood at zsync-0.4.x, and can be used for citations.

http://zsync.moria.org.uk/paper200503/

Jan 2005 Paper — zsync — Principles and Implementation

I have frozen the version of the technical paper as it stood at the time of zsync-0.1.x, because I think it is an interesting insight into the original justification for the look-inside method, and I have not seen this approach discussed elsewhere.

In the light of subsequent improvements to zsync these ideas may be overtaken, so I want this present as a permanent reference for the original reasoning. This can also be used as a citation if other people take up the idea. This version of the paper is now fixed and will remain at:

http://zsync.moria.org.uk/paper200501/