I work in a company that has a slow large WAN covering many different locations on all continents.
Releases of a particular internal application consist of DLLs and data files that can cumulatively top 100 MB, and there is talk of the application growing. Each desktop machine has a launcher program which checks if there is a new version, downloads the new files, and runs the up-to-date application.
Ideally it would be nice to copy a new version of the application to the one “master” server. It would then efficiently and reliably propagate to local servers globally. The desktop launcher would then fetch the application from the suitable local server. Ideally this would be nicely robust to parts of the WAN coming down, to local servers being out of commission, or the server to server or server to client transfers being interrupted half way through.
Presently the launcher downloads the application from one server and does not differentiate where the client is located. This is slow and can crush the WAN with frequent releases.
I have seen exactly the same (bad) solution at a previous employer. There must be a better solution!
Are the existing simple reliable solutions to this, ideally something that works for desktop clients running either Windows XP and Windows 7?
Microsoft looks like it has some neat technology in their BranchCache (http://www.microsoft.com/en-us/server-cloud/windows-server/branchcache.aspx), especially in the Distributed Cache. But most of our clients are (unfortunately) Windows XP.