Combining Peer-to-Peer and Cloud Computing for Large Scale On-line Games

This dissertation investigates the combination of Peer-to-Peer (P2P) and Cloud Computing to support Massively Multiplayer Online Games (MMOGs). MMOGs are large-scale distributed applications allowing for a large amount of users worldwide to share a real-time virtual environment. Today’s commercial architectures for MMOG are over-sized to support peak loads, therefore expensive and hardly adaptable to the variable load of the application. In this context, the on-demand resources provisioning, in particular Cloud Computing, represents an attractive solution. The possibility of renting machines lifts the operators from the burden of buying and maintaining hardware, while the pay-per-use model pairs with the seasonal access patterns of the MMOGs. However, the provisioning of machines must be carefully orchestrated to deal with the start-up time of on-demand resources and with the expenses of bandwidth consumption. Such expenses may be further reduced by exploiting P2P mechanisms that involves user-provided resources. These mechanisms expose inherently scalability and robustness, but require additional techniques to cope with the unreliability of user-provided resources.

In this light, we introduced a two components architecture for MMOG combining on-demand and user-provided resources. The first component is dedicated to the management of the position inside the MMOG. It employs a combination of a centralized server and P2P protocols for the management of the movement of the players. An overlay connecting the user-provided nodes is built in a completely distributed fashion, by employing gossip-based communications. This overlay provides nodes with the ability to discover and retrieve knowledge about the state of the MMOG, therefore decreasing the amount of requests sent to the centralized servers.

The second component manages the interaction within the MMOG. It employs a structured P2P approach to distribute the effort of the state management among multiple nodes, including on-demand and user-provided nodes. An adaptive provisioning of nodes is performed according to the current and the predicted load of the MMOG. Heuristics are employed with the aim of minimizing the cost, while keeping a target level in the quality of service. Using realistic workloads, we show that our combined P2P and Cloud architecture effectively reduces the cost of running an MMOG architecture, while offers a level of service comparable with centralized architectures.