Game State and Event Distribution using Proxy Technology and Application Layer Multicast Knut-Helge Vik Department of Informatics, University of Oslo knuthelv@ifi.uio.no Categories and Subject Descriptors: C.2[Computer Communication Networks]: Miscellaneous; General Terms: Algorithms, Performance, Experimentation Keywords: Online Games, Multicast, Steiner Minimal Tree 1. INTRODUCTION munication should be applied to distribute the events within the group efficiently, i.e., using the virtual and physical location of the players. A distributed architecture needs to be used to exploit these observations. 2.2 Basic Architectures Online multiplayer games have become a multi-million industry that is anticipated to grow even more. The most popular online multiplayer games are role-playing games, first person shooter games and real-time strategy games. Today, online multiplayer games are increasing in size and complexity, supporting hundreds of players. Such games are referred to as massively multiplayer online games (MMOGs). In MMOGs, it is important to distribute the game events efficiently, such that the perceived game quality is good for all players regardless of the underlying system capacity, geographical distance, etc. Today, most current MMOGs have few if any mechanisms to optimize event distribution. To enable efficient event distribution we use application layer multicast (ALM) and investigate group communication algorithms appropriate for MMOGs. Furthermore, we also investigate how to distribute partial game state using proxy technology to achieve better scalability and reduce the latency. Today, most MMOGs use a client/server architecture where every packet flows via a centralized server (cluster). Such a client/server model makes it easy to manage the global game state, but the server is a potential bottleneck. Proxy technology and peer-to-peer (P2P) are distributed options. Proxy technology has an infrastructure with a centralized server and a set of distributed proxy servers. The proxies are usually physically closer to the clients, and may, for example, hold partial game state copies of virtual game regions. The proxies can be organized hierarchically or in a proxy pool fashion. A P2P architecture distributes the game state among peers and has no central server, making it very hard to administrate the game state such that it is consistent. Currently, MMOGs can not solely use a P2P architecture because there is no working business model. In our work, we focus on proxy technology because it allows a trade-off between client/server and P2P. However, a mix of communication styles may be used for different traffic types fitting to these models. 2. 2.3 Traffic Types MMOGS The architecture for an MMOG needs to be cost-efficient for the game provider, but the perceived game quality should not suffer. 2.1 User Perception Improving the perceived game quality in MMOGs is tightly linked to reducing event distribution latency, and also making better use of available resources in general. For example, many players in MMOGs are unaware of each other, because they are virtually far apart or their views are blocked by obstacles. These restrictions in player awareness are handled by area of interest management. Players far apart, but still within the field of vision, may not need such a consistent view of one another, and the level of detail may be reduced. Area of interest management enables virtual area of interest regions within the MMOG. Such virtual regions provide the opportunity to organize players into groups. Group comCopyright is held by the author/owner. MM’05, November 6–11, 2005, Singapore. ACM 1-59593-044-2/05/0011. Most MMOGs have multiple traffic types, such as, several kinds of events, video streams and instant text messages (chat). The majority of the traffic flows consist of small packets carrying event information like a position update, where latency is the main issue. Moreover, there are events that are more critical for correct gameplay than others. A level of consistency should be associated with an event to help distinguish and distribute them employing different distribution models. The underlying architecture and communication model should exploit the properties that the traffic types exhibit. In the case of events that require a varying degree of consistency, they will benefit from a distributed architecture like proxy technology. Events that do not affect the game state and have no particular latency requirements, such as chat messages, could use P2P communication to avoid server load. On the other hand, an event type with high consistency requirements affecting a vital part of the game state, i.e., changing a global condition, could use client/server communication. This enables a server/proxy to do necessary checks, i.e., prevent cheaters and inconsistencies, before the event is put into action. 3. GAME STATE DISTRIBUTION Proxy technology is a platform to distribute partial game state. It can provide load distribution, reduce the average latency and increased scalability, but, consistency mechanisms are required. Partial game state is copied to proxies, using a proxy pool or a hierarchical proxy structure. A proxy pool partitions the load by uniquely assigning parts of the virtual world (game regions) to a proxy. This reduces the advantage of the physical location of the proxy, because clients within a region can be located throughout the world, but it will ease the consistency issues. The physical location of the proxy and clients within the region must be taken into account before assigning a copy to a proxy. Hierarchical proxies partition the load by uniquely assigning parts of the physical world (clients) to a proxy. Proxies hold a copy of a virtual region and act as a distributed server for it. Multiple proxies have copies of the same region, thus additional consistency mechanisms are required. In our project, we investigate the effect of using proxy technology in relation with partial game state distribution in MMOGs. Additionally, when the partial game state is distributed among proxies, it is important to have group communication to organize players dynamically. 4. APPLICATION LAYER MULTICAST Multicast provides group communication, where groups can be organized using a tree structure. One implementation is IP Multicast, but it is not fully deployed in the Internet, and lacks address filtering and group membership control. The alternative and our focus is on ALM. ALM is easy to deploy but less efficient in terms of latency. The multicast trees need to be constructed such that events can be efficiently distributed in MMOGs. Events may differ in terms of latency and consistency requirements (urgency and importance). Urgent events may benefit from a shallow tree. Less urgent events allow tree optimization, in terms of cost. The importance of an event is related to how critical it is for the destination(s) to receive an event. Furthermore, the groups that are created may vary in life expectancy and group membership. Some groups may be transient, and some groups may last the entire gameplay. Thus, MMOGs need one or more algorithms supporting such requirements, e.g., provide trees with resource efficient routes, trees optimized for single- or multiple sources and mechanisms that handle fast dynamic tree updates. In addition, the algorithm itself should be optimized for timeand message-complexity. 4.1 Tree Algorithms We focus on tree algorithms solving the problem of finding the shortest path tree (SPT), minimum spanning tree (MST) and steiner minimal tree in networks (SMT) [1, 2]. An SMT is a cost-minimized tree built from a weighted graph. Vertices that are not a part of the group (receivers) are called steiner points (StPs). StPs are used to minimize the cost of the tree. An SMT with no StPs is equal to an MST. We also investigate multicast routing algorithms, in particular, center based tree (CBT) algorithms [3]. An SPT is preferable for situations where a single source needs to distribute information fast to its group members. In MMOGs, it is common that all the group members are sending data. Thus, a tree optimized for the entire group is often desirable. MSTs and SMTs are such trees. 4.2 Steiner Minimal Tree in networks The physical distance between the group members of a multicast tree is potentially very large. It is beneficial to use an SMT because it can add StPs to minimize the total cost of the tree. In MMOGs, StPs can be well-connected nodes that function in the same way as an overlay. But, most of the flows in MMOGs are small, and having an extra overlay may just increase the latency. However, MMOG providers need to prevent cheaters and provide fair gaming, and using proxies as StPs makes it easier to meet these requirements. Furthermore, enabling clients as potential StPs will save resources on the server side, but this requires a trust relation between the client and the server side to prevent cheating. In addition, well connected clients must be selected based on some criterias if they are going to be used as StPs. We are currently surveying the area of SMT heuristics to be used as multicast tree algorithms in MMOGs. Some of the more famous SMT heuristics include minimum-cost path heuristic, distance network heuristics, average distance heuristics, contraction heuristic and distributed greedy algorithm [2]. Many SMT heuristics use these as a foundation to create variations where they add some functionality [5, 4]. Our analysis of the existing SMT heuristics indicate that there are algorithms that cover many MMOG event and group requirements. However, some questions remain: How well does one SMT heuristic perform in terms of covering the event and group requirements posed by MMOGs? And, how practical are these SMT heuristics when used in MMOGs? The usefulness of an algorithm may, for example, be limited by the assumptions and time/message complexity. So far, we have not been able to find a single one algorithm covering all requirements, but rather many covering different areas of the requierments. We research how a limited set of SMT heuristics can be entered in an algorithm pool, such that the groups can be created efficiently for different events and their requirements. 5. CONCLUSIONS AND FUTURE WORK In our project, we are working with MMOGs where the most important issues are latency and consistency. We use group communication and partial game state distribution to reduce the average latency, specifically, ALM and proxy technology. We are continuing our research within SMT heuristics to optimize the group communication, later also combined with CBT ideas. In addition, we want to research mechanisms for partial game state distribution. 6. REFERENCES [1] M. Goodrich and R. Tamassia. Algorithm Design: Foundations, Analysis and Internet Examples. John Wiley and Sons, 2002. [2] F. Hwang, D. Richards, and P. Winter. The steiner tree problem. Annals of Discrete Mathematics, 53, 1992. [3] P. Paul and S. V. Raghavan. Survey of multicast routing algorithms and protocols. In ICCC ’02, 2002. [4] Sriram, Manimaran, and S. R. Murthy. Preferred link based delay-constrained least-cost routing in wide area networks. Comput. Commun., 21, 1998. [5] L.-C. Wuu, L. S. Lin, and S.-C. Shiao. Constructing delay-bounded multicast trees in computer networks. J. Inf. Sci. Eng., 17, 2001.