Designing a CDN for Online Gaming

Datapath.io
NetDevOps
Published in
5 min readJun 21, 2016

High speed Internet has led to a paradigm shift in how games are played and distributed.

Both distribution channels and gameplay itself have migrated to the Internet. This has given rise to unique challenges for the online gaming industry. One of these is network latency. Latency effectively stops any game from being a truly global phenomenon.

Is there a global online game?

Online gaming is often (mis)represented as being a truly global phenomenon, with players from all over the world playing against each other. In-fact, online gaming is restricted to players within geographic boundaries playing against each other.

Online gaming companies tend to have geographically distributed servers dedicated to specific regions. Players of highly interactive FPS games usually connect to the nearest servers. They do this in the interest of fluid and responsive gameplay.

Players from within Europe are most likely to connect to game servers in the European region. Players from Asia will connect to game servers dedicated to the Asian region.

This defeats the entire purpose of online gaming as a cross cultural global phenomenon. It essentially places a restriction on who can play on which servers and against whom.

There are many reasons online gaming platforms dedicate servers to specific regions. One is to keep the number of players down to a manageable level. Another is the very nature of data communications over the Internet.

Network latency and online gaming

The speed at which data is transmitted over the Internet is limited by the speed of light. This delay in data transmission is usually referred to as network latency. In the context of online gaming it is the delay between feeding an action into an online gaming platform and the action showing on the screen.

Network latency delay has consequences for gameplay, fluidity and responsiveness of online games. It comes into even sharper focus when players at different distances from a particular game server play each other. Players nearer to a game server will experience low network latency and responsive gameplay. While the ones farther away will experience higher network latency and un-responsive gameplay. As such players located nearer to a game server have a definite edge over ones that are further away.

Research has shown that delays of as small as 100ms can degrade gameplay to an extent where it is unplayable.

This is especially true for (MMOs), which pit players from different regions against each other. High intensity FPS, racing or sports games are also susceptible to latency.

Everyday thousands of avatars are sacrificed at the altar of high network latency.

The evolution of teams called clans has placed additional pressure on online gaming servers. Clans usually tend to stick together and play against other clans in large battles. The individual players making up these clans tend to be geographically distributed. As a result they experience different degrees of network latency.

In-game actions are not the only aspect of online games that are affected by network latency. Other aspects of online gaming that are affected include:

  • Long server connection times.
  • Delays in synchronizing game state across different players.
  • Slow download times for new updates.
  • Real time game streaming, which has grown up around online gaming, also requires low latency.

Online gaming server architecture

This is not to say that a server located near to the client is guaranteed to provide a better gaming experience. Game servers tend to get congested and clogged up during traffic spikes. This leads to a degraded gaming experience. One of the reasons network congestion arises are the routing policies of the Internet. Which in turn lead to slower gameplay.

The challenge is to provide an acceptable level of performance to all players. This performance level has to be maintained irrespective of the player’s location.

Why a CDN won’t work

CDN’s were designed to accelerate content delivery over the Internet. CDN’s however are extremely limited when it comes to online gaming or streaming platforms. In online gaming player actions have to be transmitted to all participating players with a minimum of delay. Real time streaming services also require real time content delivery. Videos have to be transmitted from the broadcasting peer through the web server to the end user. The concept of caching content at edge locations does not work for these kinds of services.

Designing a new dynamic CDN for online gaming

What these services needed was a CDN which could handle dynamic content delivery. A dynamic CDN would optimize content delivery from the origin server directly to the end user. In the process minimizing network latency. This was certainly doable. But it would require completely overhauling the current routing structure of the Internet.

We at Datapath.io accepted the challenge and set about engineering a new routing paradigm.

Re-engineering Internet routing

To optimize content delivery from the origin server directly to the end user. Let us first consider where network latency actually comes from. This will give us an idea of how it can be minimized by re-engineering Internet routing.

There are two factors that give rise to latency on the public Internet. The first one is the speed at which communication happens. This is essentially the upper limit on the speed of light and nothing much can be done about it. The other factor is the latency that arises because of network congestion.

The Internet is a huge mesh of interconnected networks. There are multiple ways of getting from one point to another on the network. The Border Gateway Protocol which is sort of like the traffic policeman of the Internet, makes these decisions. The BGP sends 95% of Internet traffic over the shortest path. But because all traffic goes over the shortest path, it tends to give rise to congestion. This results in traffic bottlenecks and frequent holdups of Internet traffic.

Datapath.io’s solution overcomes these delays by re-engineering the BGP. Traffic is routed based on the delay encountered over each network route rather than the distance. Network routing decisions are based on the latency of network routes. This has been shown to reduce network latency by up to 60%.

Network latency will always be a limiting factor in online gaming and other time intensive online services. It can however, be minimized to a degree where it is irrelevant to game play.

Article originally published on the Datapath.io Blog.

--

--

Datapath.io
NetDevOps

Cloud to Cloud Network - All your multi-cloud applications connected via a secure and dedicated private network https://datapath.io/