The document presents a study analyzing the use of tunneling, compressing, and multiplexing (TCM) techniques for optimizing TCP traffic in massive multiplayer online games (MMORPGs). The study adapts the TCRTP protocol stack for use with TCP traffic from MMORPGs. Tests of the TCM approach on real game traces show bandwidth savings of up to 60% are possible, as well as reductions in the number of packets per second. Additional testing examines the impact of TCM on mean opinion score (MOS) for different levels of added delay. The results suggest avoiding large period sizes for multiplexing when round-trip times are high.
Traffic Optimization for TCP-based Massive Multiplayer Online Games
1. SPECTS 2012, Genoa, 10th July 2012
Traffic Optimization for TCP-based Massive
Multiplayer Online Games
Jose Saldana
Luis Sequeira
Julián Fernández-Navajas
José Ruiz-Mas
Communication Technologies Group (GTC)
Aragon Inst. of Engineering Research (I3A)
University of Zaragoza
2. SPECTS 2012, Genoa, 10th July 2012
Index
1.
2.
3.
4.
5.
Introduction
Related Works
Analysis of TCM for MMORPG games
Tests and Results
Conclusions
3. SPECTS 2012, Genoa, 10th July 2012
Index
1.
2.
3.
4.
5.
Introduction
Related Works
Analysis of TCM for MMORPG games
Tests and Results
Conclusions
4. SPECTS 2012, Genoa, 10th July 2012
Introduction
Online games are getting more and more
popular
MMORPG (Massive Multiplayer Online Role
Playing Games) are a specific genre with a set
of shared characteristics
Number of titles, and number of players
growing, especially in Asia
5. SPECTS 2012, Genoa, 10th July 2012
Introduction
http://designcult.org/designcult/2010/08/mmo-subscription-charts.html
6. SPECTS 2012, Genoa, 10th July 2012
Introduction
Common characteristics:
Long-term avatar who can reach higher
levels
Missions
Objects
Interaction between real-players
High number of players share a scenario
The most popular one: World of Warcraft
8. SPECTS 2012, Genoa, 10th July 2012
Introduction
Differences with First Person Shooters:
Session duration is longer
Number of player is bigger
Real-time requirements are looser
They use TCP instead of UDP
9. SPECTS 2012, Genoa, 10th July 2012
Introduction
Consequences of using TCP:
Retransmission when a packet is lost
Dependence on the TCP variant
More overhead (40 bytes instead of 28)
But they are interactive:
The speed of the player matters
We have a real-time service using TCP!!!
10. SPECTS 2012, Genoa, 10th July 2012
Introduction
Problem of supporting the game
It is difficult to predict the success of a game
Players are especially difficult clients: they
usually have very high expectations
High amounts of bandwidth and processing
capacity
12. SPECTS 2012, Genoa, 10th July 2012
Introduction
Supporting infrastructures are critical.
They MUST work 24/7.
Over-provisioning?
13. SPECTS 2012, Genoa, 10th July 2012
Introduction
Techniques for saving bandwidth can be
interesting
A reduction in the number of packets per
second can also be good
14. SPECTS 2012, Genoa, 10th July 2012
Introduction
We have long-term flows of small packets
which have the same:
Source and destination IP
Source and destination port
Many other header fields that do not change
We can use header compression
15. SPECTS 2012, Genoa, 10th July 2012
Introduction
We also have scenarios in which a number of
flows share the same path
TCM
Proxy
Central
Game
Server
TCM
TCM
TCM
.
.
.
Proxy
Players
Multiplexer
Access
router
Players
Proxy
Players
We can multiplex these flows
Game Server
16. SPECTS 2012, Genoa, 10th July 2012
Introduction
We can adapt aTunneling-CompressingMultiplexing technique, deployed for RTP
flows, and use it for TCP
.
.
.
Context
.
.
.
Context
IP Network
.
.
.
MUX+COMP
Real-Time
DEMUX+DECOMP
Tunneling-Compressing-Multiplexing
Real-Time
.
.
.
17. SPECTS 2012, Genoa, 10th July 2012
Index
1.
2.
3.
4.
5.
Introduction
Related Works
Analysis of TCM for MMORPG games
Tests and Results
Conclusions
18. SPECTS 2012, Genoa, 10th July 2012
Related Works
Header compression methods
They use the repeatibility of header fields in
order to avoid sending them
Need of a context, shared between origin
and destination
Importance of context synchronization
Need of tunneling
Different standards: ECRTP, IPHC,
ROHC
19. SPECTS 2012, Genoa, 10th July 2012
Related Works
TCRTP: Current Tunneling-CompressingMultiplexing standard (RFC4170)
Designed for VoIP
payload
payload
ECRTP
...
ECRTP
RTP
UDP
IP
PPP Mux
PPP
L2TP
IP
20. SPECTS 2012, Genoa, 10th July 2012
Related Works
Mean Opinion Score (MOS)
Adapted from VoIP to games
Ranges from 1 (bad quality) to 5 (excellent)
Need of subjective tests
Depends on network impairments: delay, loss,
jitter
21. SPECTS 2012, Genoa, 10th July 2012
Index
1.
2.
3.
4.
5.
Introduction
Related Works
Analysis of TCM for MMORPG games
Tests and Results
Conclusions
22. SPECTS 2012, Genoa, 10th July 2012
TCM for MMORPG traffic
We adapt the protocol stack from TCRTP
payload
payload
ECRTP
...
ECRTP
RTP
UDP
Payload
Payload
Reduced Header
...
IP
IP
PPP Mux
PPP Mux
PPP
PPP
L2TP
L2TP
IP
IP
TCRTP
TCP
Reduced Header
TCM
23. SPECTS 2012, Genoa, 10th July 2012
TCM for MMORPG traffic
We adapt the protocol stack from TCRTP
payload
payload
ECRTP
...
ECRTP
RTP
UDP
Payload
Payload
Reduced Header
...
IP
IP
PPP Mux
PPP Mux
PPP
PPP
L2TP
L2TP
IP
IP
TCRTP
TCP
Reduced Header
TCM
24. SPECTS 2012, Genoa, 10th July 2012
TCM for MMORPG traffic
We establish a tunnel to the game server,
while multiplexing packets
Tretention
Tprocess Tqueue
.
.
.
MUX
Tnetwork
IP network
Tprocess
DEMUX
Game Server
Players
IP
TCM
IP
25. SPECTS 2012, Genoa, 10th July 2012
TCM for MMORPG traffic
We establish a policy for selecting the packets,
using a period
Native
traffic
...
PE
PE
PE
T<PE
PE
...
Multiplexed
traffic . . .
...
TCP ACKs without payload
Seven IPv4/TCP client-to-server packets of World of Warcraft. E[P]=20bytes
η=20/60=33%
One IPv4/TCM packet multiplexing seven client-to-server W. of Warcraft packets
η=120/187=64%
saving
26. SPECTS 2012, Genoa, 10th July 2012
TCM for MMORPG traffic
Analysis of the header compression algorithm
Random fields: copied
Constant fields: removed
Delta fields: size reduced
Need for using a tunnel
27. SPECTS 2012, Genoa, 10th July 2012
TCM for MMORPG traffic
Analysis of the header compression algorithm
Flow identifier
Byte 0
1
CID
R
O
I
P
S
A
W
U
Flags saying which fields are present
2
TCP checksum
3
Random fields
4
Random fields, if any
.
R-octet
if R=1
.
urgent pointer (U)
if U=1
.
Δ window (W)
if W=1
Δ ack (A)
if A=1
Δ sequence (S)
if S=1
Δ IP ID (I)
if I=1
Options
if O=1
Delta fields
28. SPECTS 2012, Genoa, 10th July 2012
Index
1.
2.
3.
4.
5.
Introduction
Related Works
Analysis of TCM for MMORPG games
Tests and Results
Conclusions
29. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
From real traces, the expected value of the
compressed header has been obtained
Server-to-client histogram
40
35
30
25
20
15
10
5
0
Frequency (%)
Frequency (%)
Client-to-server histogram
4
5
6
7
8
9
10 11
Header size (bytes)
12
13
14
40
35
30
25
20
15
10
5
0
4
5
6
7
8
9
10 11
Header size (bytes)
12
13
14
Pass from 40 bytes to 8.72 (c-s) or 7.37 (s-c)
30. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
This allows us to obtain the maximum
bandwidth saving for different games
client to server
game
E[P]
WoW
pps
max. saving
8.74
9.51
60.07 %
ShenZhou
25
8
45.1 %
RoM
33
4.17
40.1 %
server to client
game
E[P]
pps
max. saving
WoW
314
6.05
8.65 %
ShenZhou
114
8
19.88 %
99
5.17
22 %
RoM
31. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Multiplexing tests
Statistical model from the literature: APDU,
IAT. ACKs are also added
Synthetic
traces
Compressed
traces
Player 1
Player 1
Player 2
Player 2
Theoretical
model
Player 1 to N
period
...
Player N
Generation
Multiplexed,
compressed and
tunneled
Compression
...
Player N
Multiplexing and
tunneling
32. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Obtained inter-packet time
Inter-packet time histogram 100 players, PE=60ms
number of packets
100
80
60
40
20
0
10
20
30
40
50
60
time (ms)
Obtained packet size
Packet size histogram 100 players, PE=60ms
number of packets
1000
800
600
400
200
0
0
200
400
600
800
size (bytes)
1000
1200
1400
33. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Obtained inter-packet time
Inter-packet time histogram 100 players, PE=60ms
number of packets
100
80
60
40
20
0
10
20
30
40
50
60
time (ms)
Obtained packet size
Size limit
Packet size histogram 100 players, PE=60ms
number of packets
1000
800
600
400
200
0
0
200
400
600
800
size (bytes)
1000
1200
1400
34. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Bandwidth savings: client to server
Bandwidth Saving
70%
60%
50%
BS
40%
30%
100 players
20%
50 players
20 players
10%
10 players
0%
10
20
30
40
50
60
period (ms)
70
80
90
100
35. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Bandwidth savings: client to server
Asymptote 60%
Bandwidth Saving
70%
60%
50%
BS
40%
30%
100 players
20%
50 players
20 players
10%
10 players
0%
10
20
30
40
50
60
period (ms)
70
80
90
100
36. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Bandwidth savings: client to server
Bandwidth Saving
70%
60%
50%
BS
40%
100 players:
small period for
high savings
30%
20%
100 players
50 players
20 players
10%
10 players
0%
10
20
30
40
50
60
period (ms)
70
80
90
100
37. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Bandwidth savings: client to server
Bandwidth Saving
70%
60%
50%
10 players: 50%
saving with
PE=50ms
BS
40%
30%
100 players
20%
50 players
20 players
10%
10 players
0%
10
20
30
40
50
60
period (ms)
70
80
90
100
38. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Packets per second savings: client to server
Packets per second
100 players
1000
50 players
900
20 players
10 players
800
700
600
500
400
300
200
100
0
native
10
20
30
40
50
period (ms)
60
70
80
90
100
39. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Packets per second savings: client to server
Packets per second
100 players
1000
50 players
900
20 players
10 players
800
700
600
Tends to be 1/PE
500
400
300
200
100
0
native
10
20
30
40
50
period (ms)
60
70
80
90
100
40. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
Packets per second savings: client to server
Packets per second
100 players
1000
50 players
900
20 players
10 players
800
700
600
100 players: from
900 to 50 pps
500
400
300
200
100
0
native
10
20
30
40
50
period (ms)
60
70
80
90
100
41. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
What happens with MOS and added delays?
MOS
delay=20ms
delay=40ms
5
delay=100ms
4.5
4
MOS
3.5
3
2.5
2
1.5
1
0
10
20
30
40
50
60
period (ms)
70
80
90
100
42. SPECTS 2012, Genoa, 10th July 2012
Tests and Results
What happens with MOS and added delays?
MOS
delay=20ms
delay=40ms
5
delay=100ms
4.5
4
MOS
3.5
3
2.5
2
With big RTT, big PE
should be avoided
1.5
1
0
10
20
30
40
50
60
period (ms)
70
80
90
100
43. SPECTS 2012, Genoa, 10th July 2012
Index
1.
2.
3.
4.
5.
Introduction
Related Works
Analysis of TCM for MMORPG games
Tests and Results
Conclusions
44. SPECTS 2012, Genoa, 10th July 2012
Conclusions
We have presented the adaptation of a
Tunneling-Compressing-Multiplexing
method for its use with TCP-IP flows of
MMORPG
Asymptote for maximum bandwidth saving
Study of the performance of the header
compression method
Significant savings: 60% for client-to-server