|
Boost : |
Subject: Re: [boost] Fwd: Binary Region Differentials
From: Thijs (M.A.) van den Berg (thijs_at_[hidden])
Date: 2015-05-21 18:05:03
> On 21 May 2015, at 21:20, Kenneth Adam Miller <kennethadammiller_at_[hidden]> wrote:
>
> Suppose I have a rather huge binary region. Transferring it by any means is
> an expensive operation. But changes to it will only be some fraction at
> worst case as large as the binary region itself, but in practice will
> typically be regional byte blobs, mostly not more than a single kilobyte
> long.. Is there any data structure that already handles this, where I could
> say, have every instance start off from the original binary region, and
> calculate what any other instance of that data structure has by
> "applicating the deltas"?
>
Do you keep track of changes, or do you need to calculate what the difference between two given huge binaries are?
You might be able to efficiently compare binaries without transferring them by computing hashes of chunks of the binaries and transfer those hashes so that you can compare those. It's not an exact comparison because you have a risk of hash collisions, but that risk is typically extremely small.
Once you have a list or regions that differ then you can simply send those regions and patch the binary at the other end.
What you have sounds a bit like a version control system?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk