Peer-to-peer network architecture for massive online gaming
Files
Date
2014-09-01
Authors
Shongwe, Bongani
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Virtual worlds and massive multiplayer online games are amongst the most popular applications on the
Internet. In order to host these applications a reliable architecture is required. It is essential for the
architecture to handle high user loads, maintain a complex game state, promptly respond to game interactions,
and prevent cheating, amongst other properties. Many of today’s Massive Multiplayer Online
Games (MMOG) use client-server architectures to provide multiplayer service. Clients (players) send
their actions to a server. The latter calculates the game state and publishes the information to the clients.
Although the client-server architecture has been widely adopted in the past for MMOG, it suffers from
many limitations. First, applications based on a client-server architecture are difficult to support and
maintain given the dynamic user base of online games. Such architectures do not easily scale (or handle
heavy loads). Also, the server constitutes a single point of failure. We argue that peer-to-peer architectures
can provide better support for MMOG. Peer-to-peer architectures can enable the user base to scale
to a large number. They also limit disruptions experienced by players due to other nodes failing.
This research designs and implements a peer-to-peer architecture for MMOG. The peer-to-peer architecture
aims at reducing message latency over the network and on the application layer. We refine the
communication between nodes in the architecture to reduce network latency by using SPDY, a protocol
designed to reduce web page load time. For the application layer, an event-driven paradigm was used to
process messages. Through user load simulation, we show that our peer-to-peer design is able to process
and reliably deliver messages in a timely manner. Furthermore, by distributing the work conducted by a
game server, our research shows that a peer-to-peer architecture responds quicker to requests compared
to client-server models.
Description
A dissertation submitted to the Faculty of Science, University of the Witwatersrand, Johannesburg, in fulfilment of the requirements for the degree of Master of Science. Johannesburg, 2014.