An On Demand Platform for Online Games

Innovation Matters


Online gaming is a rapidly growing segment of the video games industry and has the potential to be a killer Internet application. Current massive multi-player games support hundreds of thousands of simultaneous players, and that number is expected to continue to increase. With their significant computing and networking resource requirements, it is readily apparent that online games are a good fit for IBM’s on demand vision.

Launching large-scale multi-player online games requires considerable investment and effort to purchase and manage the computing and network infrastructure necessary to deliver a consistently satisfying gaming experience. The traditional approach taken by most publishers and game providers is to install a dedicated infrastructure for each game, resulting in high risk and expense, and potentially poor use of resources. As the number of online games grows, it is increasingly difficult to predict the success of a title at launch, or its popularity as it ages. This problem strongly motivates new models for deploying computing resources to support the plethora of online titles slated for release over the next few years. The games industry can benefit from the ability to leverage infrastructure across game properties in an on demand fashion to better support the current and future online games environment.
In this project, we develop and implement a virtualized, on demand service platform for games, consisting of automatic game infrastructure provisioning, bandwidth-efficient distribution of game content, and policy-based software deployment services for game publishers and developers. The platform is built on Intel-based Linux servers and a combination of off-the-shelf commercial, open-source, and custom software components. As a part of this project, we have also collected and analyzed a large amount of data from different game servers in order to better understand user behavior, server and network load, and their impact on the on demand hosting platform.
One of our aims in developing a game hosting service platform is to investigate the opportunity for multiplexing infrastructure across business applications and games, for example to better utilize servers and bandwidth during idle periods. We have compared the workload characteristics of a variety of interactive business and educational Web applications with several games, and found a clear offset in peak load periods, particularly on weekends (see Figure 1). We are currently investigating non-interactive business applications which may provide an even greater opportunity for sharing with online games.
Figure 1. One week comparison of interactive business site and popular action game workloads.
Figure 1. One week comparison of interactive business site and popular action game workloads.
The challenge in developing an on demand infrastructure provisioning for games is to create a solution that meets the unique real-time requirements of online games. In contrast to traditional Web-based applications, many games demand very low latency and high responsiveness from the server and network infrastructure. Moreover, measuring system-level metrics such as CPU load, memory usage, and link bandwidth utilization, is not necessarily sufficient to characterize game performance. Various games and game types require specialized application-layer metrics, such as the number of players, spatial distribution of the player population, or game state computation delay, to correctly model their performance. One of the important aspects of our work is identifying the metrics that correctly reflect the performance of gaming applications. We have instrumented gaming applications and developed techniques for collecting and analyzing load information for use in resource allocation decisions.
Another challenge in on demand provisioning of gaming application is that the provisioning system itself is required to be highly responsive when load increases. Our studies have shown that players are impatient when trying to connect to game servers, with less than 20 percent willing to return after a single timeout. Our solution to this problem is predictive provisioning. Our analysis of workload data collected over more than a year for different games shows that the player population exhibits stable temporal patterns, particularly for mature games. We can exploit these patterns to develop predictive models that enable the provisioning system to anticipate peak periods and make sure that sufficient resources are available. We are currently exploring predictive models that can use game workload patterns to deploy game servers slightly in advance to further improve the perceived provisioning delay.
Figure 2. Weekly Half-Life player population over a 4 week period.
Figure 2. Weekly half-life player population over a four-week period.
Figure 3. Game provisioning platform diagram and management console.
Figure 3. Game provisioning platform diagram and management console.
Figure 3. Game provisioning platform diagram and management console.
In addition to infrastructure provisioning, we have developed additional reusable components that are useful in a game hosting service offering. In our discussions with online game publishers and producers, we found that network bandwidth is a major cost factor in running a game, both in traffic as well as content and patches that have extraordinarily high demand over a short time period as soon as they are released. To address this problem, we have developed a content distribution service that uses game clients and servers in the data centers, to establish an ad-hoc delivery network to distribute large game patches and content. The service allows simultaneous download from multiple nodes, servers as well as peer game clients. The set of download nodes are chosen according to their network proximity and connection speed with respect to the client.
Finally, the platform also includes a software deployment service to enable game publishers and developers to deploy their games without understanding the complexities of the provisioning system. The publisher can express system requirements (e.g., disk space, memory requirement, system libraries, network bandwidth, etc.) and also policies on the minimal number of servers that should run the game, or the maximum number of servers that the publisher is willing to pay to run the game. Our implementation of the software deployment service is in the form of a Web-based portal.
We have demonstrated the feasibility of the platform by provisioning multiple instances of Quake II, a popular action game available as open source. In order to develop and test the platform, we also developed client-side “bots”, synthetic players that emulate real players in the game to allow us to experiment with various player workloads.
The project has been an important vehicle to demonstrate IBM’s on demand technology in the context of gaming applications to a variety of customers in the industry. The on demand platform for games was also featured at the IBM Game Industry Press Briefing held in Hawthorne in August 2004, and covered by the Wall Street Journal, New York Times, Financial Times and Spin magazine among others.


Quake II is a registered trademark of Id Software, Inc. in the United Sates.


Rate this article

Innovator's corner  

Anees ShaikhAnees Shaikh Researcher

What is the most exciting potential future use for the work you're doing?
We hope that an on demand platform like this reduces the risk for large game companies to deploy new online games, and also lowers the barrier to entry for smaller online game developers. For the large players, having the ability to scale up their game infrastructure when a title is a big hit, or similarly repurpose resources when a game does not meet expectations, means that they can greenlight riskier, more unusual games that may not be guaranteed big sellers. For the small developers, the infrastructure cost to run a massively multiplayer game is prohibitive, so the idea of a shared infrastructure where they pay just for the resources they need is very appealing. So we think this sort of technology really has the potential to broaden the types of online games we see in the market.

What is the most interesting part of your research?
It has to be all that we’re learning about games technology and the games business. Our interaction with real game developers, executives and technology managers in large and small gaming companies has been fascinating.

What inspired you to go into this field?
I have been playing games since text-based ‘Adventure’ on my first 4.77 Mhz IBM PC, and haven’t stopped. So the opportunity for us to develop new technology to support the newest online games is very exciting and interesting. The proof is in the reaction we get when we tell people that we’re doing research on games technology.

What is your favorite invention of all time?
It would have to be that first IBM PC and all the great stuff it engendered.

Research team  

Sambit Sahu

Sambit Sahu

Mike Shea (former collaborator)

Mike Shea (former collaborator)

Related Research  

Disciplines: Computer Science
Research Areas: Communications & Networking
Research Labs: Watson Research Center