That would work, too. I didn't look at their system in detail, but if I
understand how it works I don't think rsync is the best idea.

The problem is that _each_time_ a file is re-synchronized, both the
server (with the new file) and the client (the one updating) must read
the file completely, hash it several times (it's a simple hash, but
still), exchange the hashes and only then they transmit the diff. In a
sense, the server must determine the diff for _every_ client connecting,
without even seeing the client's file. Although, I think it _is_
technically possible to pre-compute the hashes and store them on the
server (ie, you only need them once for each version of the file), but
I'm not sure if there's any rsynch implementation that does this.

The only advantages I see are that (1) this would work with any old
version of the Package file, and (2) it gets rid of the large list of
diffs.

With straight rsync, there are disadvantages: (a) we'd need a completely
new parallel protocol (rsync doesn't work through HTTP), (b) the
synchronization is processing-intensive both on the server and the
client, for _every_ connection (the client isn't the problem, but we'd
be trading bandwidth for processor time).

If we do find something rsync-like that can pre-compute the server-side
hashes (so that the client download them, and then the file differences
selectively using HTTP ranges), that would be nice too.

-- 
"package lists" should be downloaded as diffs (Contents-i386.gz)
https://bugs.launchpad.net/bugs/144083
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to