J
Joshua Jung
Hi, I appreciate the note to research rsync on my last post (thanks Rogan
and Suken!).
I've done some research on rsync and even read the doctoral thesis that
Tridgell wrote on his rsync algorithm. While knowledgeable about what the
rsync algorithm is in practice, I am unsure of whether it will work for
our application.
Our program concept involves regularly transferring huge numbers of files
from our client to our server for special processing and storage. This is
to be done regularly and we want the process to be transparent (at least
on the client). This would mean we do not want duplicate files or file
blocks on the server.
This is where rsync *could* be beneficial. Unfortunately, besides the
currently *unsupported* jarsync I have been unable to find any Java
implementations of rsync. Also my research is finding out that rsync was
originally designed for high-latency type applications (like dial-up
connections). Assuming our network is going to be low-latency (i.e.
broadband based), will rsync make any sense? It just seems to me that the
rolling signature algorithm is only good if the algorithm is faster than
the connection.
The short and sweet of my questions is this:
Assuming our transfer speeds are broadband level, will it be faster to
run the standard rsync algorithm or just do a quick check on the time
stamps of the files on client and server and just upload the entire file
(with zipping of course) if the time-stamps are different?
Any website links or data on the speed of rsync on current
machines/connections would be greatly appreciated. Also, if there is any
other option besides rsync, that would be sweet as well!
Josh <><
[P.S I'd love to test out rsync myself, but I'd like some more advice
before diving that direction ]
and Suken!).
I've done some research on rsync and even read the doctoral thesis that
Tridgell wrote on his rsync algorithm. While knowledgeable about what the
rsync algorithm is in practice, I am unsure of whether it will work for
our application.
Our program concept involves regularly transferring huge numbers of files
from our client to our server for special processing and storage. This is
to be done regularly and we want the process to be transparent (at least
on the client). This would mean we do not want duplicate files or file
blocks on the server.
This is where rsync *could* be beneficial. Unfortunately, besides the
currently *unsupported* jarsync I have been unable to find any Java
implementations of rsync. Also my research is finding out that rsync was
originally designed for high-latency type applications (like dial-up
connections). Assuming our network is going to be low-latency (i.e.
broadband based), will rsync make any sense? It just seems to me that the
rolling signature algorithm is only good if the algorithm is faster than
the connection.
The short and sweet of my questions is this:
Assuming our transfer speeds are broadband level, will it be faster to
run the standard rsync algorithm or just do a quick check on the time
stamps of the files on client and server and just upload the entire file
(with zipping of course) if the time-stamps are different?
Any website links or data on the speed of rsync on current
machines/connections would be greatly appreciated. Also, if there is any
other option besides rsync, that would be sweet as well!
Josh <><
[P.S I'd love to test out rsync myself, but I'd like some more advice
before diving that direction ]