Original Post
Hi, I'm wondering about an algorith on updating binaries from the server to connected clients. Imagine a server having a 1gb file, and a client having the identical file. Now the server-version is modified - let's assume that we inserted a block of 1 MB in the middle. The challenge: without downloading the entire 1GB - how can the client update it's copy of the file (ie what is the bare minumum we need to download and where to put it on the client) I was thinking that the client could calculate MD5's of each megabyte of it's local copy - and send these to the server. Then the server could compare it with the source-binary and detect where the MD5's mismatch... But that would mean that, in my example, all MD5's which come after the 1MB I inserted in the middle would be invalid (ie Need to download 501MB)... So maybe from the position I detected a mismatch I should can forward and backwards a few MB's and see if the happen to be matching MD5's? ... or can this be done more cleverly? Thanks in advance!