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: