P. 1
Phd Thesis

Phd Thesis

|Views: 155|Likes:
Publicado porainugiri

More info:

Published by: ainugiri on Aug 19, 2009
Direitos Autorais:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





Even so, it would be desirable for the probability of failure of the rsync algorithm to

scale not as n3/2

but instead to be independent of the file size. Luckily this is easy to



to the whole file, rather than just to the individual blocks of the file. The algorithm

needs to change in the following way:

• When working through the file to find the matches, A incrementally computes
the strong signature of the whole file. This is then sent to B after the matching is


• When reconstructing the file, B incrementally computes the strong signature on
the whole file.

• If the file signature sent from A doesn’t match the reconstructed file signature
then the whole algorithm is repeated, but with a new signature s s for each block.

The algorithm loops until the file signatures match19

The use of a different strong signature for the block signatures each time through

the loop is necessary to prevent the same false positive signature match happening


The universe is thought to be about 1010

years old.


When the transfer is repeated B uses the result of the incorrect transfer as the starting point for the
newtransfer. Thisisanadvantageasitishighlyunlikelythatmorethanoneoftheblockswastransferred
incorrectly, so the second transfer will be very fast.

§3.5 Practical performance


again. In my implementation I use the simple solution of using the same signature

code but seeding it with a different value each time through the loop. The seed is

applied by computing the signature algorithm on an extended block obtained by con-

catenating the original block with a 4 byte timestamp.

With this file signature in place the probability of failure changes to O(2−128

) for

each file20

which means that for the previous example of one million computers trans-

ferring one file per second it will take about 1025

years on average for a failed transfer

to occur. That is quite a comfortable margin21

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->