So, I decided to bite the bullet and purchase the much vaunted World of Warcraft (WOW) by Blizzard. If you don't know what WOW is, well then you're probably living under a rock. Regardless, after purchasing the game, I created an account and used another installation to play my account for a few hours. Once I got home and had to install the game myself, the requisite waiting and patching ensued.
The blizzard updater uses a system based upon the very popular BitTorrent (BT) peer-to-peer distribution mechanism. In essence, your client talks to other users downloading the same file and randomly exchanges parts that you have for parts that they have. It's a quite beautiful system because the more popular a file is, the more people there are to download it from and everybody works together to get everybody copies of the file.
One problem that plagues most bittorrent distributions is the lack of what are called seeders. Seeders have a copy of the entire file and therefore can serve up any block you are missing. Without a seeder in the peer group, only those blocks that are in the network will eventually be copied everywhere. It would seem that in order to ensure there are enough complete (or nearly complete) sets of blocks exist in the Blizzard/WOW/BT network, the client has some magic.
While I was downloading, my transfer rate was around 300KB/s, this rate enabled me to receive the majority of a 150MB+ file in a very short period of time. The counter showing the upload rate hovered in the tens the whole time. This is consistent with my experience using the more mainstream BitTorrent clients. However, where things went sideways was when the file had downloaded 99%. At that point, with right around 1.6MB to go, my download rate dropped to 0KB/s while my upload rate remained at what it was prior. I let the program run for a while thinking it was some sort of glich, but then I clicked the box disallowing peers.
Now this may be an artifact of my download experience combined with my paranoid mind, but I suspect that Blizzard has designed its client so that it waits with a 99% download for a while to allow its users to continue sharing blocks when they would otherwise hit the 'finished' button, and then go patching and play. It makes perfect business sense to hold your users hostage with a nearly complete patch and thereby maximize the availability of the data they have to other users, it just seems a tad underhanded to do it without disclosing it--if this is actually occurring.
I only have a strong suspicion at this point, and until another patch is due out I won't know for sure, but for now, I'm going to be watching my updater very carefully. Unlike most WOW users, I'm actually looking forward to the next update. I hope it's a big one.