The core element in a CDN is the redirection algorithm which will send the players to the most adequate server according to real-time network conditions. CDNs (by their nature) provide a reduction in latency and, at the same time, a load balancing mechanism so multiplayer gamers receive a consistent view of the game environment in a timely manner.
An important component in offering game services is cost-effective scalable servers that can support large numbers of users ensuring QoS in the game session. Moreover, every type of game demands a different QoS on the underlying network (Liu et al., 2006).
Several network architectures have been proposed to satisfy the player needs (an acceptable number of simultaneous players, a good and the same QoS for all the players, games without cheating, etc.). Most network games use the Client/Server (or “C/S”) architecture where the server has the control in the game. With only one centralized trusted server, keeping the game consistent and cheat-free is straightforward.
However, there are some limitations to the C/S architecture:
The server’s incoming and outgoing bandwidth are bottlenecks, it has to be sufficient to receive and to disseminate the player updates.
The server’s processing power is another bottleneck to be considered by the quantity of tasks that the server has to carry out (receiving and disseminating player updates, storing the current game state and the player information, etc.).
Latency is Unfair:
Players spatially close to the server have an unfair advantage because they will have lower game delay (response time) than those situated further away (Cronin et al., 2004).
In this paper, NetNDA proposes the implementation of a CDN to solve the problems of the described networks architectures. A CDN is a multi-server architecture with the difference that the control of the servers (surrogates) is carried out by a central server (Content Manager). Additionally, NetNDA analyzes the implications and needs of the CDN in the different types of games.
The remaining papers are organised as follows: in Section 2, we provide background on multiplayer game architectures and types of games. In Section 3, we propose the outline of the system, with the CDN as the solution of the bottlenecks of multiplayer game architectures. Section 4 explains the CDN development. Section 5 examines the performance of CDN. Finally, Section 6 concludes and proposes the future work.
You can download the CDN for Multiplayer Online Game performance paper from NetDNA here (registration required).