eli5: how do simultaneous downloads work? Specifically when a new piece of software or game is released?

107 viewsOtherTechnology

New game is released and everyone wants to download a copy at the same time. Are there multiple copies stored several places or people download different chunks etc?

In: Technology

2 Answers

Anonymous 0 Comments

As a game company you host servers that have the game files on them. Users login to download the game, and pull the content down via the game client.

Each server has X amount of bandwidth and can handle Y amount of simultaneous downloads.

The players either download individual files, or chunks of larger files depending on how the game client is setup. Depends on the developer and the way the game is structured.

As demand increases for downloads game companies can spin up more servers. In the age of cloud computing this is relatively easy, you can log into AWS/Azure or whatever and spin up clones of those servers in minutes. Once the demand dies down you destroy them so you don’t have to pay for them anymore.

Services like Steam take care of this for a lot of game companies these days. Steam maintains the game download clients and the servers so the developers don’t have to. In exchange Steam takes a cut of the sales.

Blizzard on the other hand is known for leveraging BitTorrent technology in its client. So each gamer that is online is helping to distribute the game to everyone else by sharing a portion of their upload bandwidth to the swarm.

In this scenario 100 users upload bandwidth might equal 1 dedicated server, but when you have hundreds of thousands of users this adds up.

As one player downloads a chunk of the patch, they immediately start uploading that chunk to other players in the swarm. This spreads the demand for downloads across all the available servers and a portion of the player base.

Anonymous 0 Comments

There are many copies hosted all over the world and people will tend to connect to a nearby server. There are companies that do this as their primary service, with “Akamai” probably being the most well known. They are well known for this kind of thing, but not the only one.

Very big companies like Valve, Google, Microsoft, Netflix, etc are in a position to offer this themselves as well, just having a worldwide presence of various server locations. You are directed to download from the nearest server and it just performs well since the distances involved tend to be fairly small.