The convergence of games and online social platforms is
an exploding phenomena. The continued success of social
games hinges critically on the ability to deliver smooth and
highly-interactive experiences to end-users. However, it is
extremely challenging to satisfy the stringent performance
requirements of online social games.
Motivated by an Xbox Live online social gaming application,
we address the problem of concurrent messaging,
where the maximum latency of game messages has to be
tightly bounded. Learning from a large-scale measurement
experiment, we conclude that the generic transport protocol
TCP, currently being used in the game, cannot ensure
concurrent messaging. We develop a new UDP-based transport
protocol, named Pangolin. The core of Pangolin is an
adaptive decision making engine derived from the Markov
Decision Process theory. The engine optimally controls the
transmission of redundant Forward Error Correction packets
to combat data loss. Trace-driven emulation demonstrates
that Pangolin reduces the 99.9-percentile latency from more
than 4 seconds to about 1 second with negligible overhead.
Pangolin pre-computes all optimal actions and requires
only simple table look-up during online operation. Pangolin
has been incorporated into the latest Xbox SDK – released in
November, 2010 – and is now powering concurrent messaging
for hundreds of thousands of Xbox clients.