An Efficient Hybrid P2P MMOG Cloud Architecture for Dynamic Load Management. Ginhung Wang, Kuochen Wang



Similar documents
Figure 1. The cloud scales: Amazon EC2 growth [2].

Duncan McCaffery. Personal homepage URL:

Cost Effective Selection of Data Center in Cloud Environment

Benchmarking the Performance of XenDesktop Virtual DeskTop Infrastructure (VDI) Platform

Sla Aware Load Balancing Algorithm Using Join-Idle Queue for Virtual Machines in Cloud Computing

A Survey of MMORPG Architectures

Bandwidth requirement and state consistency in three multiplayer game architectures

Comparison between client-server, peer-to-peer and hybrid architectures for MMOGs

Heterogeneous Workload Consolidation for Efficient Management of Data Centers in Cloud Computing

International Journal of Scientific & Engineering Research, Volume 6, Issue 4, April ISSN

MMOGG Programming and Network Design

A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing

Energy Constrained Resource Scheduling for Cloud Environment

How To Understand Cloud Computing

Keywords Distributed Computing, On Demand Resources, Cloud Computing, Virtualization, Server Consolidation, Load Balancing

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

Setting deadlines and priorities to the tasks to improve energy efficiency in cloud computing

Enhanced Load Balancing Approach to Avoid Deadlocks in Cloud

A Microcell Oriented Load Balancing Model for Collaborative Virtual Environments

PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM

CDBMS Physical Layer issue: Load Balancing

Service Oriented Paradigm for Massive Multiplayer Online Games

Dynamic Round Robin for Load Balancing in a Cloud Computing

: ADJUSTING THE MASSIVELY OPEN ONLINE COURSES IN CLOUD COMPUTING ENVIRONMENT 9

Dynamic resource management for energy saving in the cloud computing environment

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Performance Testing of an IAAS Cloud Software (A CloudStack Use Case)

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

SCHEDULING IN CLOUD COMPUTING

International Journal Of Engineering Research & Management Technology

Index Terms : Load rebalance, distributed file systems, clouds, movement cost, load imbalance, chunk.

Log Mining Based on Hadoop s Map and Reduce Technique

The Software Defined Hybrid Packet Optical Datacenter Network SDN AT LIGHT SPEED TM CALIENT Technologies

IMPROVEMENT OF RESPONSE TIME OF LOAD BALANCING ALGORITHM IN CLOUD ENVIROMENT

A Resource Allocation Mechanism for Video Mixing as a Cloud Computing Service in Multimedia Conferencing Applications

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

Payment minimization and Error-tolerant Resource Allocation for Cloud System Using equally spread current execution load

Cloud Computing for Control Systems CERN Openlab Summer Student Program 9/9/2011 ARSALAAN AHMED SHAIKH

Cloud Computing Architectures and Design Issues

ENERGY EFFICIENT VIRTUAL MACHINE ASSIGNMENT BASED ON ENERGY CONSUMPTION AND RESOURCE UTILIZATION IN CLOUD NETWORK

Environments, Services and Network Management for Green Clouds

Green Cloud Computing 班 級 : 資 管 碩 一 組 員 : 黃 宗 緯 朱 雅 甜

Scheduling Video Stream Transmissions for Distributed Playback over Mobile Cellular Networks

International Journal of Computer & Organization Trends Volume21 Number1 June 2015 A Study on Load Balancing in Cloud Computing

Cloud DReAM - Dynamic resource allocation management for large-scale MMOGS

UPS battery remote monitoring system in cloud computing

Efficient Load Balancing using VM Migration by QEMU-KVM

CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms

CLOUDDMSS: CLOUD-BASED DISTRIBUTED MULTIMEDIA STREAMING SERVICE SYSTEM FOR HETEROGENEOUS DEVICES

IMPACT OF DISTRIBUTED SYSTEMS IN MANAGING CLOUD APPLICATION

Nutan. N PG student. Girish. L Assistant professor Dept of CSE, CIT GubbiTumkur

Multilevel Communication Aware Approach for Load Balancing

Group Based Load Balancing Algorithm in Cloud Computing Virtualization

An Efficient Cloud Service Broker Algorithm

International Journal of Computer Science Trends and Technology (IJCST) Volume 2 Issue 4, July-Aug 2014

A Hybrid Electrical and Optical Networking Topology of Data Center for Big Data Network

Affinity Aware VM Colocation Mechanism for Cloud

Efficient and Enhanced Load Balancing Algorithms in Cloud Computing

Resource Allocation in a Client/Server System for Massive Multi-Player Online Games

Efficient DNS based Load Balancing for Bursty Web Application Traffic

Using Peer to Peer Dynamic Querying in Grid Information Services

AN ADAPTIVE DISTRIBUTED LOAD BALANCING TECHNIQUE FOR CLOUD COMPUTING

Fast Synchronization of Mirrored Game Servers: Outcomes from a Testbed Evaluation

Toward Community-Based Personal Cloud Computing

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching

The Association of System Performance Professionals

OPTIMAL MULTI SERVER CONFIGURATION FOR PROFIT MAXIMIZATION IN CLOUD COMPUTING

Dynamic Controller Deployment in SDN

Load Balancing to Save Energy in Cloud Computing

USING VIRTUAL MACHINE REPLICATION FOR DYNAMIC CONFIGURATION OF MULTI-TIER INTERNET SERVICES

A Real-Time Cloud Based Model for Mass Delivery

Cost-effective Resource Provisioning for MapReduce in a Cloud

A Framework for the Design of Cloud Based Collaborative Virtual Environment Architecture

MODIFIED BITTORRENT PROTOCOL AND ITS APPLICATION IN CLOUD COMPUTING ENVIRONMENT

Survey on Load Rebalancing for Distributed File System in Cloud

Optimizing Congestion in Peer-to-Peer File Sharing Based on Network Coding

A Novel Load Balancing Optimization Algorithm Based on Peer-to-Peer

Elastic Calculator : A Mobile Application for windows mobile using Mobile Cloud Services

Proposal of Dynamic Load Balancing Algorithm in Grid System

Cloud Computing for Agent-based Traffic Management Systems

Keywords: Cloudsim, MIPS, Gridlet, Virtual machine, Data center, Simulation, SaaS, PaaS, IaaS, VM. Introduction

A Proposed Service Broker Strategy in CloudAnalyst for Cost-Effective Data Center Selection

Implementation of a Service Platform for Online Games

An Approach to Load Balancing In Cloud Computing

Round Robin with Server Affinity: A VM Load Balancing Algorithm for Cloud Based Infrastructure

Fault-Tolerant Framework for Load Balancing System

Stability of QOS. Avinash Varadarajan, Subhransu Maji

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

Leveraging the Clouds for improving P2P Content Distribution Networks Performance

Optimizing Resource Consumption in Computational Cloud Using Enhanced ACO Algorithm

Infrastructure as a Service (IaaS)

Agent-based Federated Hybrid Cloud

Mobile Storage and Search Engine of Information Oriented to Food Cloud

EFFICIENT JOB SCHEDULING OF VIRTUAL MACHINES IN CLOUD COMPUTING

Content. Massively Multiplayer Online Games Previous Work. Cluster-based Approach. Evaluation Conclusions. P2P-based Infrastructure

ISSN: Keywords: HDFS, Replication, Map-Reduce I Introduction:

A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION

Offloading file search operation for performance improvement of smart phones

Transcription:

1 An Efficient Hybrid MMOG Cloud Architecture for Dynamic Load Management Ginhung Wang, Kuochen Wang Abstract- In recent years, massively multiplayer online games (MMOGs) become more and more popular. We combine cloud computing with MMOGs to increase flexibility of resource allocation. In an MMOG cloud environment, we use virtual machines (VMs), instead of traditional physical game servers. A game world is divided into several game regions. Each game region is serviced by at least one VM. Peer-to-peer () cloud computing is a new approach that combines high computation power, scalability, reliability and efficient information sharing of servers. This paper proposes a hybrid cloud architecture for MMOGs which includes two-level load management, multi-threshold load management for each game server and load management among game servers. It is suitable for players to interact with cloud servers and it avoids bottlenecks of the current multi-server MMOG architecture. Simulation results show that the proposed hybrid cloud architecture can reduce the average response time by 20.6% compared to the multi-server architecture under medium to high load through flexible allocation of resources (virtual machines). Key words: cloud computing, load management, massively multiplayer online game, peer-to-peer, resource allocation. propose a hybrid cloud architecture for MMOGs which includes two-level load management: multi-threshold load management for each game server and load management among game servers to resolve current architecture drawbacks. II. RELATED WORK A. Client-server MMOG architecture Client-server MMOG architecture has players (clients) that send requests to a single server. It is simple and easy to implement, but it is less scalable. As shown in Figure 1, commands from players must go through a single server, and the single server handles commands and returns state updates to players. The single server must be in the presence of insufficient bandwidth and copious waiting time for players. To resolve the problems, there are several approaches [13] to distribute traffic among multiple servers, such as a mirrored server [14], generic proxy [15], or booster box [16]. Server I. INTRODUCTION MMOGs have emerged in the past decade as a new type of large-scale distributed applications. An MMOG is a real-time virtual world with many players across the real world. Traditionally, MMOGs operate as multi-server architecture which is composed of many game servers. Game servers simulate a virtual game world. They receive and process commands from clients (players), and inter-operate with a billing and accounting system [1]. To support ever more and more players, MMOG environments require a new architecture with a high degree of flexibility to respond to environmental changes, including load change. Therefore, in this paper, we propose a hybrid cloud architecture for MMOGs to provide flexible resource usages to deal with load change. The game providers need to install and operate a large infrastructure, with hundreds to thousands of computers for each game [2]. For example, the operating infrastructure of an MMOG, World of Warcraft, has over 10,000 computers [3]. The traditional solutions to decrease server loads are deploying more servers to the heavy-loaded areas [2]. This solution is simple but has limitation of scalability. The other solution is using the multi-server architecture, where game servers can be added to heavy-loaded areas on demand. In this paper, we Player B. Multi-server MMOG architecture Request State Update Figure 1: Client-server MMOG architecture [28]. Multi-server MMOG architecture [5] has various kinds of servers which provide different functionalities as shown in Figure 2. The various servers are described as follows [5] Master Server handles access of players and communicates with operated servers. It assists players logging in a zone server and transfers data of players to the corresponding zone server from the character server. Character Server is mainly stored the data of players. It assists players in using the same characters on any zone servers. World Daemon transfers players from a zone server to another zone server that players expected. It also monitors each load of zone servers. is composed of zone servers and mainly serves players. A zone server is assigned to serve a specific zone. A client moves

2 between zone servers. A client sends a request to an interested zone server. World Daemon Master Server Character Server World Daemon Game servers cloud consists a number of game servers and a game server has a number of virtual machines (VMs) to serve players. A game server receives requests from players, calculates new game states in regions, and responses to players. A game server is also in charge of creating accounts for players when they login for the first time. Players move between game regions of a game world. The load of a game region increases when players move into the game region. Character database stores the data of players, such as equipment, rank, site, etc. The backup method is based on backup method of hadoop. Game regions data storage maintains game states in each region. It also backups game states and object states in each game region. Figure 2: MMOG multi-server architecture [5] In this MMOG multi-server architecture, the players in the same zone connect to the specific zone server. Some zone servers will suffer heavy load if many players move into the same zone. Hence, load balancing is needed to prevent the downgrade of service. In [10], it creates a management server that monitors zone servers and decides a load balancing strategy. In this case, the management server would become the bottleneck of the system [8]. C. cloud computing architecture As shown in Figure 3 [12], the architecture includes three basic roles: User, Central Peer and Side Peer. The Central Peer and Side Peer form two networks, called central network and side network, respectively. The central network mainly maintains metadata of dynamic mapreduce and backups DHT storage cloud. The side network is mainly used to provide storage and computing resources. Send Request Return Result Dynamic MapReduce Cloud Architecture Send/Receive Computing Result C3 Central Network C2 Players Master server Game server Database Request Response B. Game server cloud Game servers cloud In MMOG environments, there are huge messages, especially communication messages between players. Game servers use a protocol to exchange load information and game region data. Game servers also use the protocol to exchange the information of players. By flooding, each game server can know the other game servers load. When a game server is overloaded, it will migrate some players to other game servers by the proposed game server load management procedure. T 4 T 3 C/S C/S L5 (Heavy) L4 (High) Game regions data storage Hybrid MMOG Cloud Character database Figure 4: Hybrid MMOG Cloud architecture Upload/Download Data DHT Storage Cloud Upload/Download Data C1 Side Network L3 (Medium) Figure 3: Cloud computing architecture based on [12] T 2 T 1 L2 (Low) L1 (Light) III. PROPOSED HYBRID MMOG CLOUD ARCHITECTURE A. Proposed cloud architecture MMOG environments require a high degree of flexibility to respond to environmental changes, including load change. Thus, we combine cloud computing with MMOGs to increase flexibility of resource allocation. The proposed cloud architecture includes four basic components: game server cloud, players, character database and game regions data storage, as shown in Figure 4. We introduce each component s characteristics as follows: Figure 5: Multi-threshold load management C. Cloud Computing Load management In the game servers cloud, we allocate VMs from game servers to service game regions. Game regions do not setup on specific virtual machines. In this way, it could help the system to get high scalability. We do not use a single master server in the game servers cloud, Game servers communication is based on a protocol. Game servers can exchange load information by flooding in the protocol. Game servers can perform load management by themselves, and a game server is also in charge

3 of creating accounts for players when they login for the first time. This way can help resource allocation more efficient. The multi-threshold load management focuses on VMs management. We use four thresholds (T 1, T 2, T 3, and T 4 ) to define five loading layers (L 1, L 2, L 3, L 4, and L 5 ) for each VM. T 1 is the lower bound of VM load. T 2 and T 3 define two preferred loading layers to service players. T 4 is the upper bound of VM load. As shown in Figure 5, each loading layer represents a different load and status. L 1 (Light): For a VM i operating in this layer, its players will be migrated to another VM j serving the same region in L 3, L 2, or L 4 (selection order). After the players in VM i are migrated out, VM i will be released. L 2 (High): For a VM i with maximal load in this layer, it can provide capacity for a VM j in L 5 to migrate its players to this VM i L 3 (Medium): It is the optimal layer for VMs to stay. L 4 (Low): For a VM i operating in this layer, its loading is slightly high, but is tolerable. L 5 (Light): For a VM i operating in this layer, part of its players will be migrated to another VM j serving the same region in L 2, L 3, or L 1 ( selection order) if there are available VMs in these layers; If there are no VMs in these layers, the game server load management will be executed. Figure 6 and Figure 7 show the flow chart of the multi-threshold load management algorithm. The details of the multi-threshold load management algorithm are described in the following. 1) We monitor the VMs in each game region and sort the VMs in each game region according to their loadings in an ascending order. 2) If the VM in L 5 is empty, go to step 7. Otherwise, go to step 3. Sort the VMs in each region according to their loadings in ascending order Is L5 empty? Is L2 empty? Is L3 empty? Is L1 empty? Execute VM creating procedure A 3) In this step, we know some VMs exist in L 5. We check if there are VMs in L 2. If there are VMs in L 2, we migrate maximal load in L5 to in L2 minimal load in L5 to in L3 minimal load in L5 to VMj with maximal load in L1 Figure 6: Multi-threshold local load management algorithm (1/2) VMi with maximal load in L 5 to the VM j with minimal load in L 2, and then go to step 2. Otherwise, go to step 4. 4) We check if there are VMs in L 3. If there are VMs in L 3, we migrate VM i with minimal load in L5 to the VM j with minimal load in L 3, and then go to step 2. Otherwise, go to step 5. 5) We check if there are VMs in L 1. If there are VMs in L 1, we migrate VM i with minimal load in L 5 to the VM j with minimal load in L 1, and then go to step 2. Otherwise, go to step 6. 6) Executing the VM creating procedure to create a VM to share the load in this game region. 7) In this step, we start to release VMs. Check if there is any VM in L 1. If there is no VM in L 1, exit this procedure. Otherwise, go to step 8. 8) We check if there are VMs in L 3. If there are VMs in L 3, we minimal load in L 3, release VM i, and then go to step 7. Otherwise, go to step 9. 9) We check if there are VMs in L 2. If there are VMs in L 2, we maximal load in L 2, release VM i, and then go to step 7. Otherwise, go to step 10. 10) We check if there are VMs in L 4. If there are VMs in L 4, we maximal load in L 4, release VM i, and then go to step 7. Otherwise, exit the procedure. A Is L1 empty? Is L3 empty? Is L2 empty? Is L4 empty? minimal load in L1 to in L3 maximal load in L1 to in L2 When a game region needs a new VM, the VM creating procedure is executed, as shown in Figure 8. Firstly, the game server checks its resource. If it has enough resources, the game server will create a new VM to service the game region. If not, the game server will turn down the VM creating request. The game server executes the game server load management procedure to transfer players to another game server. Release VMi minimal load in L1 to in L4 Figure 7: Multi-threshold local load management algorithm (2/2)

4 In the game server load management procedure, we mainly consider the physical distance between players and game servers, because players need to be served with low response time. As shown in Figure 9, firstly we find a neighboring game server who is serving the same game region and has the lowest load. If not available, we select a neighboring game server that is not serving the same game region and has the lowest load. If not available, we select a distant game server that has capacity to service more players. The selected game server will service the migrated players. Finally, if we could not find a game server who has capacity to service more players, then it means all game servers are overloading. total number of responses in a game server j, j is the j th game server, and m is total number of game servers Create a new VM Activate the VM to service the region Does the game server have enough resource to create a VM Turn down the VM creating request Execute the game server load management procedure IV. SIMULATION A. Simulation setup and evaluation metrics We use CloudSim [12] to simulate players behaviors by sending service requests to game servers. Players requests were collected from Stendhal MMORPG using Wireshark. The Stendhal MMORPG is running on Intel i7 2.93 GHz CPU with 512 MB RAM and 100 Mbps Ethernet. The average service time to serve a request is 0.2 ms. There are three game servers and the upper bound of the response time is set to 300 ms according to [11]. Each game server can create at most 40 VMs. The capability of a VM is 2000 MIPS with 1024 MB RAM and 100 Mbps Ethernet (P3 capability). Each VM can support at most 59 players (obtained from CloudSim). The total number of game regions is 30. In addition, a game region is served by at least one VM, if there are players. The average response time is defined as the elapsed time between the time a player sends a request to the time that a player actually receives the response, which is formulized as follows: B. Comparison between multi-server and hybrid cloud Figure 10 shows the average response time of the multi-server architecture and proposed hybrid cloud architecture. The multi-server architecture has the lower response time initially because a regional server s capacity is higher than a VM s. When the number of players increases to 3490, the multi-server architecture has higher response time. This is because its regional servers serve specific game regions. As a result, players are queued up for a specific regional server. In our architecture, each VM has lower capacity, but our architecture has higher scalability. VMs can be migrated to a busy game region and the response time of players can be reduced. Because of this, our architecture performs better after the number of players exceeding 3490. Figure 8: VM creating procedure where T avg is average response time, TRi is the time interval for player to receive a response, and i is the i th request. TS i the time interval for player j to send a request, and i is the i th request. p is the total number of player j. n j is is the total number of requests for player j. k is the k th round, and m is the total rounds of execution. The average deadline miss ratio is defined as the response time being more than a real time bound, and we set the real time bound to 300 ms according to [11], which is formulized as follows: where Davg is deadline miss ratio, RD j is the total number of responses that miss the deadline in a game server j, RT j is the Is there a neighboring game server who is serving the same game region and has he capacity to service more players Transfer some players from calling game server to this game server Is there a neighboring game server who is not serving the same game region and has the capacity to service more players All game servers are overloading Is there a game server who has capacity to service more players Figure 9: Game server load management procedure Figure 11 shows the deadline miss ratio between the multi-server architecture and proposed hybrid cloud architecture. In the multi-server architecture, it has the lower deadline miss ratio under lower number of players. It shows that with enough resources in the multi-server architecture, the multi-server architecture can have good performance. The proposed architecture has a smaller deadline miss ratio under medium to high load than the multi-server architecture.

5 A. Concluding remarks V. CONCLUSION In this paper, we propose a hybrid cloud architecture which includes multi-threshold load management and game server load management for MMOG cloud environments. The multi-threshold load management can make the utilization of virtual machines more efficient. The game server load management transfers some players from an overloaded game server to a neighbor game server with available capacity. The proposed hybrid cloud architecture can support 10.31% more players under no deadline (300 ms) miss compared to the multi-server architecture. The proposed hybrid cloud architecture can reduce the average response time by 20.6% compared to the multi-server architecture under medium to high load through flexible allocation of resources (virtual machines). The proposed architecture also has a 27.9% smaller deadline miss ratio than the multi-server architecture under medium to high load. Figure 10: Average response time between multi-server and proposed hybrid cloud architecture. Figure 11: Deadline miss ratio between multi-server and proposed hybrid cloud architecture. VI. REFERENCES [1] A. Shaikh, S. Sahu, M.-C. Rosu, M. Shea, and D. Saha, On demand platform for online games, IBM Systems Journal, vol. 45, no. 1, pp. 7 20, 2006. [2] B. Hack, M. Morhaime, J.-F. Grollemund, and N. Bradford, Introduction to vivendi games, [Online] Available: http://www.vivendi.com/, Jun 2006. [3] S. Sukhyun, et al., "Blue Eyes: Scalable and reliable system management for cloud computing," in Proceedings of the IEEE International Symposium on Parallel & Distributed Processing, pp. 1-8, 2009. [4] V. Nae, A. Iosup, and R. Prodan, "Dynamic resource provisioning in massively multiplayer online games," IEEE Transactions on Parallel and Distributed Systems, vol. PP, pp. 1-1, 2010. [5] Torque MMO Kit - Server Architecture http://www.mmoworkshop.com/trac/mom/wiki/serverarc hitecture [6] A. E. Rhalibi and M. Merabti, "Interest management and scalability issues in MMOG," in Proceedings of the Consumer Communications and Networking Conference, pp. 1188-1192, 2006. [7] X.-B. Shi, D. Yang, L. Du, and Z.-W. Wang, "Research on service management techniques for MMOG," in Proceedings of the International Conference on Internet Technology and Applications, pp. 1-4, 2010. [8] P. Zhao, T.-l. Huang, C.-x. Liu, and X. Wang, "Research of architecture based on cloud computing," in Proceedings of the International Conference on Intelligent Computing and Integrated Systems, pp. 652-655, 2010. [9] C. Carter, A. E. Rhalibi, M. Merabti, and A. T. Bendiab, "Hybrid client-server, peer-to-peer framework for MMOG," in Proceedings of IEEE International Conference on Multimedia and Expo, pp. 1558-1563, 2010. [10] Q. Zhaoyang and W. Yanguang, "The design of the substation simulation model of distributed virtual environment," in Proceedings of the Second International Symposium on Computational Intelligence and Design, pp. 249-252, 2009. [11] B. Hariri, S. Shirmohammadi, and M. R. Pakravan, "A distributed topology control algorithm for based simulations," in Proceedings of the Distributed Simulation and Real-Time Applications, IEEE International Symposium, pp. 68-71, 2007. [12] CloudSim: A Framework For Modeling And Simulation Of Cloud Computing Infrastructures And Services http://www.buyya.com/gridbus/cloudsim/ [13] E. Cronin, B. Filstrup, A.R. Kurc, and S. Jamin, An efficient synchronization mechanism for mirrored game architectures," in Proceedings of the 1st workshop on Network and system support for games, pp.67-73, ACM Press, 2002. [14] E. Cronin, B. Filstrup, and A. Kurc, A distributed multiplayer game server system," University of Michigan Course Project Report, May 2001. [15] M. Mauve, S. Fischer, and J. Widmer, A generic proxy system for networked computer games," in Proceedings of the 1st workshop on Network and system support for games, pp.25-28, ACM Press, 2002. [16] D. Bauer, S. Rooney, and P. Scotton, Network infrastructure for massively distributed games," in Proceedings of the 1st workshop on Network and system support for games, pp.36-43, ACM Press, 2002.