Game State and Event Distribution using Proxy Knut-Helge Vik

advertisement
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.
Download