The problem of using a best-effort network for online games
-
Upload
jose-saldana -
Category
Technology
-
view
171 -
download
4
description
Transcript of The problem of using a best-effort network for online games
THE PROBLEM OF USING A BEST-EFFORT NETWORK FOR ONLINE GAMES
NIME WORKSHOP. IEEE CCNC 2014
Index I. Real-time services on
the Internet
II. The two problems
III. Adapting the network
Real-time services - Real-time services are being widely used:
VoIP, video conference, online gaming
Real-time services In this presentation, we will focus on online gaming. Why?
Popularity of online games
Popularity of online games
The approach Client-server architecture
- Consistency of the game
- Cheating avoidance
- Billing
How does it look? (On the packet level)
40 50 60 70 80 90 100 110bytes
0 10 20 30 40 50 60 70ms
40 50 60 70 80 90 100 110bytes
0 10 20 30 40 50 60 70ms
40 50 60 70 80 90 100 110bytes
0 10 20 30 40 50 60 70ms
Unreal Tournament
Counter Strike I
Quake III
Index I. Real-time services on
the Internet
II. The two problems
III. Adapting the network
- Efficiency problem: Sending very frequent updates containing small volume of information is not efficient
- Not everybody has fast connections with excess bandwidth
- Quality problem: Using a best effort network for a real-time service
- Online games present very stringent real-time requirements: players are really difficult to satisfy
- We need to measure quality, in terms of network parameters.
Still there are problem(s)
Efficiency problem If I have to send a big file, I divide it in chunks of 1500 bytes, and I may have an efficiency of 97%
One IPv4/TCP packet 1500 bytes
η=1460/1500=97%
IPv4 TCP
Efficiency problem But real-time services cannot wait. They need information every (e.g.) 20 ms, so efficiency gets really bad (33%):
One IPv4/UDP/RTP VoIP packet with two samples of 10 bytes
η=20/60=33%
codec G.729a, 2 samples IPv4 UDP RTP
Quality problem: QoE for games
S. Möller, S. Schmidt, and J. Beyer, “Gaming Taxonomy: An Overview of Concepts and Evaluation Methods for Computer Gaming QoE,” in International Workshop on Quality of Multimedia Experience, QoMEX, 2013, pp. 1–6.
- More experienced players demand more!
User impact
M. Suznjevic, L. Skorin-Kapov, and M. Matijasevic, “The Impact of User, System, and Context factors on Gaming QoE a Case Study Involving MMORPGs”, The 12th Annual Workshop on Network and Systems Support for Games, 2013., p. 6
- Player’s surrounding s (other players) have an impact on QoE scores!
Context impact
M. Suznjevic, L. Skorin-Kapov, and M. Matijasevic, “The Impact of User, System, and Context factors on Gaming QoE a Case Study Involving MMORPGs”, The 12th Annual Workshop on Network and Systems Support for Games, 2013., p. 6
- Difference between game genres
System impact - genres
0
50
100
150
200
250
FPS RPG RTS
Tolle
rate
d o
ne
way
de
lay
[ms]
Game genre
- Major parameters: Delay, jitter, packet loss
- Fixed networks - Stable
- Very low packet loss and jitter
- Delay is still an issue
- Mobile networks - Huge growing market
- Worse network conditions
- Variation of network parameters
Network side
- Client side prediction - QoS-enabled home devices (traffic
prioritization) - Traffic shaping - Dedicated networks - Geographical server distribution - Optimization of server locations - Lag compensation mechanisms
(moving server time into the past)
How do we fight network delay?
Index I. Real-time services on
the Internet
II. The two problems
III. Adapting the network
- Different solutions in order to enhance the network support for online games
- Traffic optimization
- Traffic prioritization
- Latency reduction methods
Adapting the network
- Different solutions in order to enhance the network support for online games
- Traffic optimization
- Traffic prioritization
- Latency reduction methods
Adapting the network
VoIP optimization - Voice trunking between two
offices:
VoIP optimization - Savings of 50% are achievable
.
.
.
.
.
.
Context Context
IP Network
MUX+COMP DEMUX+DECOMP
Real-Time Tunneling-Compressing-Multiplexing Real-Time
.
.
.
.
.
.
VoIP optimization - RFC 4170 (2005) deploys this,
also compressing the header
PPP
PPP Mux
ECRTP
payload
IP
UDP
RTP...
ECRTP
payload
L2TP
IP
One IPv4/UDP/RTP VoIP packet with two samples of 10 bytes
η=20/60=33%
Five IPv4/UDP/RTP VoIP packets with two samples of 10 bytes
η=20/60=33%
saving
VoIP
One IPv4 TCMTF Packet multiplexing five two sample packets
η=100/161=62%
40 to 6-8 bytes compression
Optimization - A trade-off appears:
- Efficiency problem: we are improving it, since we are saving bandwidth and reducing pps
- Quality problem: We are adding an additional delay
Game traffic optimization - Can we do the same with games?
- Is there any scenario where a number of game traffic flows share the same path?
Game optimization scenarios - Between the network provider
and the game company
ISP networkInternet
Evolved NodeBeNB
Internet Router
(ISP)
xDSL router
xDSL router
DSLAM
BRAS
Home network with a number of users (e.g. Internet Café, access
shared by neighbours)
Individual DSL
Network of the service
provider
Internet Router
(Service provider)
Application
serverDSLAM 2
LTE access network
ISP aggregation
network
Serving
Gateway
ISP aggregation
network
MUX/DEMUX
Game optimization scenarios - The end user (e.g. internet café)
deploys the multiplexing
ISP network InternetTransport network
Internet Router
DSLAM BRAS
Home network with a number of users (e.g. Internet Café, access
shared by neighbours)
Individual DSL
xDSL routerWith multiplexer
embedded
xDSL routerWithout multiplexer
IETF proposal: TCM-TF Tunneling, Compressing and Multiplexing Traffic Flows
draft-saldana-tsvwg-tcmtf-05
draft-suznjevic-tsvwg-mtd-tcmtf-02
IP IP IP
No compr. / ROHC / IPHC / ECRTP
PPPMux / Other
GRE / L2TP
IP
Compression layer
Multiplexing layer
Tunneling layer
a) TCRTP
Network Protocol
UDP
RTP
payload
UDPTCP
payloadpayload
ECRTP
PPPMux
L2TP
IP
IP
UDP
RTP
payload
b) TCMTF
MPLS
Efficiency improvement IPv4, IPv6
One IPv4/TCP packet 1500 bytes
Four IPv4/UDP client-to-server packets of Counter Strike
One IPv4/TCM packet multiplexing four client-to-server Counter Strike packets
η=1460/1500=97%
η=61/89=68%
η=244/293=83%
One IPv4/UDP server-to-client packet of Counter Strike with 9 players
η=160/188=85%
saving
One IPv4/UDP/RTP packet of VoIP with two samples of 10 bytes
η=20/60=33%
FPS optimization
One IPv6/TCP packet 1500 bytes
Three IPv6/UDP client-to-server packets of Counter Strike
One IPv6/TCM packet multiplexing three client-to-server Counter Strike packets
η=1440/1500=96%
η=61/109=56%
η=183/246=74%
One IPv6/UDP server-to-client packet of Counter Strike with 9 players
η=160/208=77%
saving
One IPv6/UDP/RTP packet of VoIP with two samples of 10 bytes
η=20/80=25%
0%
10%
20%
30%
40%
50%
60%
Quake 2 UnrealTournament
Counter Strike1
Quake 3 EnemyTerritory
Counter Strike2
Halo 2 Quake 4
Bandwidth saving IPv4 IPv4 10 ms 5 players
IPv4 10 ms 20 players
IPv4 reached
IPv4 theoretical
FPS optimization
MMORPG optimization Can this be adapted to MMORPGs?
- Higher savings, due to the use of TCP (with a lot of ACKs)
Seven IPv4/TCP client-to-server packets of World of Warcraft. E[P]=20bytes
One IPv4/TCMTF packet multiplexing seven client-to-server WoW packets
η=80/360=22%
η=80/175=45%
saving
TCP ACKs without payload
MMORPG optimization
0%
5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
10 20 30 40 50 60 70 80 90 100
BS
period (ms)
TCMTF Bandwidth Saving, TCP/IPv4, World of Warcraft
100 players
50 players
20 players
10 players
tm
THANK YOU!
Extra slides
The network is the part that I do not control
- Big amount of data in my hard disk (size of WoW folder)
- Small packets (interactivity requires frequent updates)
The approach
The two problems - Efficiency problem
- If I use IPv6 (the next version of the protocol, with a huge number of different addresses), the efficiency only drops to 96%
One IPv6/TCP packet 1500 bytes
η=1440/1500=96%
IPv6 TCP
The two problems - Efficiency problem
- But for real-time services it becomes even worse: only one byte out of four is useful information!
One IPv6/UDP/RTP packet of VoIP with two samples of 10 bytes
η=20/80=25%
codec G.729a, 2 samples IPv6 UDP RTP
- TCP is sometimes used for games (usually MMORPGs)
- Delayed acknowledgments
- Nagle algorithm
- A lot of “pure” ACK packets
System impact - protocols
Protocol MMORPGs
TCP
World of Warcraft, Lineage I/II, Guild Wars, Ragnarok Online, Anarchy Online, Mabinogi
UDP
EverQuest, City of Heroes, Star Wars Galaxies, Ultima Online, Asherons Call, Final Fantasy XI
TCP/UDP Dark Age of Camelot
VoIP optimization - We merge the packets and make
them share the header:
1 flow
2 flows
3 flows
Game optimization scenarios - The game company places a
multiplexer in the ISP network
ISP network Internet
Evolved NodeBeNB
Internet Router
(ISP)
xDSL router
xDSL router
DSLAM
BRAS
Home network with a number of users (e.g. Internet Café, access
shared by neighbours)
Individual DSL
Network of the service
provider
Internet Router
(Service provider)
Application 1
server
Serving
GatewayLTE access network
MUX/DEMUX of the Service
Provider, hosted by the ISP
MUX/DEMUX
Application 2
server
ISP aggregation
network
ISP aggregation
network
VoIP optimization - RFC 4170 savings (50%):
70%
85%
100%
0%
10%
20%
30%
40%
50%
60%
1234567891011121314151617181920
prob. of reduced headerNumber of calls
TCMTF Bandwidth Saving, RTP/UDP/IPv4 voice G.729a, 2 samples per packet
Significant savings (Counter Strike)
0%
5%
10%
15%
20%
25%
30%
35%
5 10 15 20 25 30 35 40 45 50
BS
period (ms)
Bandwidth Saving
20 players
15 players
10 players
5 players
FPS optimization
- The same problems we can find in VoIP.
- Instead of having two users talking at the same time, we have the “shooting around the corner” problem.
Shooting around the corner
VoIP
Jack Wang
Answer
Question
Network delay scheme
time
Are you there?
“Shooting around the corner”
Jack Wang
Wang
Online games
“Shooting around the corner”
Jack
Wang: Dead
Wang
Wang
Online games
“Shooting around the corner”
Jack Wang
Wang: Dead ¡¡¡ #%$& !!!
Online games
Online games “Shooting around the corner”
Jack Game server Wang
Position 1
Position 2
Shot Wang DEAD
Network delay scheme
time
A period is defined, and all the packets arrived are compressed and multiplexed
PE
. . .
. . .
. . .
. . .
Native
traffic
Multiplexed
traffic
PE PE PE
Game traffic optimization
0%
10%
20%
30%
40%
50%
60%
Quake 2 UnrealTournament
Counter Strike1
Quake 3 EnemyTerritory
Counter Strike2
Halo 2 Quake 4
Bandwidth saving IPv6 IPv6 10 ms 5 players
IPv6 10 ms 20 players
IPv6 reached
IPv6 theoretical
Multiplexing