Delta Transfer
Delta Transfer uses an algorithm for updating a file on one machine to be
identical to a file on another remote machine. The algorithm identifies parts of
the source file which are identical to some parts of the destination file, and
only sends those parts which cannot be matched in this way. Effectively, the
algorithm computes a set of difference without having both files on the same
machine.
Typically, Delta Transfer works very well when the two machines are connected
by a low-bandwidth, high-latency communications link. In this case, the
connection between the two machines is the major bottleneck of the whole system.
By dramatically reducing the amount of the bytes to be sent over the link, the
efficiency of the operations would be greatly improved.
Particularly, source control is the ideal application for Delta Transfer to
work extremely well. When we use source control tool, we mainly use it to record
the modifications. The similarity of the different versions of a file is the key
for Delta Transfer to perform its magic.
Note: Under the following cases, Delta Transfer may not be very
helpful:
- When the two machines are connected by LAN. Since the LAN is a very fast
connection, the time saved by reducing the amount of bytes to be sent may not
justify the time spent on generating the delta info and reconstructing the
file.
- If the file is in a compressed format. Since any small change in the
original file usually results in a dramatic change in the compressed file,
Delta Transfer would probably end up sending almost the whole original file
plus some bytes used by the Delta Transfer algorithm itself. The most common
compressed file formats are such as .zip, .rar, .mp3 and so on.
But no worries. Our Delta Transfer can function correctly, reasonably and
efficiently under even these circumstances.