World of Warcraft Patcher/High Availability
Published August 22nd, 2006 in Tech Tags: bittorrent, online games, patching, Tech, world of warcraft.I don’t play world of warcraft, but I do have an account. I ocassionally log in to take a look around or kill some time, but I just can’t get into the game. I think its probably the playerbase that I can’t stand, since I’m spoiled by Dark Grimoire. Often when I login I spend my time thinking about various aspects of running a game or building a community rather than the game itself and today was no exception. Today is patch day, and a lesson in high availability.
The thing that impressed me the most when WoW came out was their ingenuity when it comes to patching. They’ve solved a huge hurdle for most online games in a fantastic way. Back in the day of Everquest, your chances of getting online very quickly after a patch were pretty slim. Everyone was downloading the same files at the same time. I’m sure this was sped up through distributed cache networks like akamai, but still it was a LOT of bandwidth.
The world of warcraft patch solution is pretty ingenious. They use bittorrent to effectively offload the enourmous amount of bandwidth to their customers, who all have high speed connections anyway. After completion of the download the connections remain open and seeding until the patch installation is complete. Then the connection is close and the world of warcraft client boots into play mode again. If a piece isn’t available through the peer to peer cloud, the client falls back to HTTP retrieval. The torrent isn’t closed out though, the http retrieval is just treated like any other seed.
The system isn’t without its faults of course. Many players have NAT cable/DSL routers which prevent them from listening for connections unless they add a forwarding rule for this. I didn’t add a rule at first, just to see how it handled it, but I the download was excrutiatingly slow. The connection to the HTTP retrieval was often failing also, which I assume has to be because of the load place on it by other people who can’t receive incoming connections.
Few people are behind a true firewall that they can’t open ports in so if blizzard could come up with a way to make configuring a router from the patcher easier, then they could pretty easily get those newly opened connections offloaded back onto the p2p cloud rather than the world of warcraft download servers. Detecting and prompting the opening of ports on a UPnP router such as the way uTorrent does would be a perfect solution. During the patch you have the players attention, pop a box up asking to try it or not if a device is detected.
Another thing they could do to alleviate the HTTP burden would be to offload to Akamai. I may be vastly underestimating the required level of bandwidth and maybe that makes the cost prohibitive, but its an option. Right now their entire web infrastructure hits a brick wall during patches. This is probably just from bored players hitting the forums, or hitting refresh on the server status nonstop, but on the off chance that WoW patch BW is shared by the web infrastructure bandwidth, separating them is pretty critical. If Akami is too costly, figure something out, but just stop accepting the death of your internet connection for a few hours after patches.
Besides being good for business on blizzards side, this is also very good PR for bittorrent in general. The MPAA and RIAA have been able to foster the impression of P2P tools being only used to pirate intellectual property. Little adoption by major players of some of the earlier technologies made that an easy to back arguement. Bittorrent wont be going that way. With mainstream recognition by players such as blizzard, all the linux distros that offer discs for download, and all the podcasters with a large enough audience to make use of this(I’ll get into torrent distribution through RSS feeds for podcasting sometime), its impossible to say that this is the only use. ISPs will also have a harder time blocking the protocol because they will be hurting legitimate users in the process.
Overall, kudos to the blizzard teams. Although not much progress has been made since the original wow application came out, I see patching as a big enough money saver that they will eventually invest the time into refining the patching program into an effective content delivery system at a price the little guys can take advantage of too.





No Responses to “World of Warcraft Patcher/High Availability”
Please Wait
Leave a Reply
You must log in to post a comment.