SlideShare a Scribd company logo
THE PROBLEM OF USING A BESTEFFORT 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 110
bytes

0

10 20 30 40 50 60 70
ms

Unreal
Tournament

40 50 60 70 80 90 100 110
bytes

0

10 20 30 40 50 60 70
ms

Counter
Strike I

40 50 60 70 80 90 100 110
bytes

0

10 20 30 40 50 60 70
ms

Quake III
Index
I.

Real-time services on
the Internet
II. The two problems
III. Adapting the network
-

Still there are problem(s)

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 realtime requirements: players are really
difficult to satisfy
We need to measure quality, in terms of
network parameters.
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%
IPv4

UDP

RTP

codec G.729a, 2 samples
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.
User impact
-

More experienced players demand more!

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
Context impact
-

Player’s surrounding s (other players) have an
impact on QoE scores!

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
System impact - genres
Difference between game genres
250
Tollerated one way delay [ms]

-

200

150
100
50
0
FPS

RPG
Game genre

RTS
Network side
- 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
How do we fight network delay?
- 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)
Index
I.

Real-time services on
the Internet
II. The two problems
III. Adapting the network
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
VoIP optimization
- Voice trunking between two
offices:
VoIP optimization
- Savings of 50% are achievable

.
.
.

Context

.
.
.

Context

IP Network

.
.
.

MUX+COMP

Real-Time

DEMUX+DECOMP

Tunneling-Compressing-Multiplexing

Real-Time

.
.
.
VoIP optimization
- RFC 4170 (2005) deploys this,
also compressing the header
payload

payload
ECRTP

...

ECRTP

RTP
UDP
IP

PPP Mux
PPP
L2TP

VoIP

IP

One IPv4/UDP/RTP VoIP packet with two samples of 10 bytes
η=20/60=33%

40 to 6-8 bytes compression

Five IPv4/UDP/RTP VoIP packets with two samples of 10 bytes
η=20/60=33%

One IPv4 TCMTF Packet multiplexing five two sample packets
η=100/161=62%

saving
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
Home network with a
number of users (e.g.
Internet Café, access
shared by neighbours)

Individual DSL

xDSL router

DSLAM

ISP
aggregation
network

Network of
the service
provider

xDSL router
ISP network
DSLAM 2

LTE access
network

Application
server

BRAS

Serving
Gateway
Evolved NodeB
eNB

Internet

ISP
aggregation
network

Internet Router
(ISP)

Internet Router
(Service provider)
MUX/DEMUX
Game optimization scenarios
- The end user (e.g. internet café)
deploys the multiplexing
Home network with a
number of users (e.g.
Internet Café, access
shared by neighbours)

xDSL router
With multiplexer
embedded

DSLAM
Individual DSL

xDSL router
Without multiplexer

ISP network

Transport
network

BRAS
Internet Router

Internet
IETF proposal: TCM-TF
Tunneling, Compressing and Multiplexing Traffic Flows
draft-saldana-tsvwg-tcmtf-05
draft-suznjevic-tsvwg-mtd-tcmtf-02
payload

payload

RTP

payload

payload

RTP

UDP

TCP

UDP

UDP

IP

IP

IP

IP

ECRTP

Compression layer

No compr. / ROHC / IPHC / ECRTP

PPPMux

Multiplexing layer

PPPMux / Other

L2TP

Tunneling layer

GRE / L2TP
MPLS

IP

a) TCRTP

Network Protocol

IP

b) TCMTF
One IPv4/TCP packet 1500 bytes
η=1460/1500=97%

FPS optimization

Efficiency improvement IPv4, IPv6

One IPv4/UDP/RTP packet of VoIP with two samples of 10 bytes
η=20/60=33%

One IPv4/UDP server-to-client packet of Counter Strike with 9 players
One IPv6/TCP packet 1500 bytes
η=160/188=85%
η=1440/1500=96%
Four IPv4/UDP client-to-server packets of Counter Strike
η=61/89=68%
One IPv4/TCM packet multiplexing four client-to-server Counter Strike packets

saving

η=244/293=83%

One IPv6/UDP/RTP packet of VoIP with two samples of 10 bytes
η=20/80=25%
One IPv6/UDP server-to-client packet of Counter Strike with 9 players
η=160/208=77%
Three IPv6/UDP client-to-server packets of Counter Strike
η=61/109=56%
One IPv6/TCM packet multiplexing three client-to-server Counter Strike packets
η=183/246=74%

saving
FPS optimization
Bandwidth saving IPv4

IPv4 10 ms 5 players
IPv4 10 ms 20 players

60%

IPv4 reached
IPv4 theoretical

50%

40%

30%

20%

10%

0%
Quake 2

Unreal
Tournament

Counter Strike
1

Quake 3

Enemy
Territory

Counter Strike
2

Halo 2

Quake 4
MMORPG optimization
Can this be adapted to MMORPGs?
- Higher savings, due to the use of TCP (with
a lot of ACKs)

TCP ACKs without payload
Seven IPv4/TCP client-to-server packets of World of Warcraft. E[P]=20bytes
η=80/360=22%
One IPv4/TCMTF packet multiplexing seven client-to-server WoW packets
η=80/175=45%

saving
MMORPG optimization
TCMTF Bandwidth Saving, TCP/IPv4, World of Warcraft

tm

50%
45%
40%
35%

BS

30%
25%
20%
100 players

15%

50 players
10%
20 players
5%

10 players

0%
10

20

30

40

50

60

period (ms)

70

80

90

100
THANK YOU!

jsaldana@unizar.es
Mirko.Suznjevic@fer.hr
Extra slides
The approach
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 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%

IPv6

UDP

RTP

codec G.729a, 2 samples
System impact - protocols
- TCP is sometimes used for games
(usually MMORPGs)
-

Delayed acknowledgments
Nagle algorithm
A lot of “pure” ACK packets

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
Home network with a
number of users (e.g.
Internet Café, access
shared by neighbours)

DSLAM
Individual DSL

Network of
the service
provider

ISP
aggregation
network

xDSL router

ISP network

Application 1
server

Internet

xDSL router
BRAS

Internet Router
(ISP)

LTE access
network

Serving
ISP Gateway
Evolved NodeB aggregation
network MUX/DEMUX of the Service
eNB
Provider, hosted by the ISP

Application 2
server

Internet Router
(Service provider)
MUX/DEMUX
VoIP optimization
- RFC 4170 savings (50%):
TCMTF Bandwidth Saving, RTP/UDP/IPv4 voice G.729a, 2 samples per packet
60%

50%

40%

30%

20%

10%

0%
20 19
18 17
16 15
14 13
12 11
10
Number of calls

70%
9

8

7

6

5

85%
prob. of reduced header
4

3

2

100%
1
FPS optimization
Significant savings (Counter Strike)
Bandwidth Saving
35%

30%

25%

BS

20%

15%
20 players
10%
15 players
10 players

5%

5 players
0%
5

10

15

20

25

30

period (ms)

35

40

45

50
Shooting around the corner
- 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.
VoIP
Jack

Wang
Question

Are you there?
time

Network delay scheme

Answer
Online games
“Shooting around the corner”

Jack

Wang

Wang
Online games
“Shooting around the corner”
Wang: Dead

Jack

Wang

Wang
Online games
“Shooting around the corner”
Wang: Dead

Jack

¡¡¡ #%$& !!!
Wang
Online games
“Shooting around the corner”

Jack

Game server

Wang
Position 1

Position 2

time

Shot

Wang DEAD

Network delay scheme
Game traffic optimization
A period is defined, and all the packets
arrived are compressed and
multiplexed
Native
traffic
...

Multiplexed
traffic . . .

PE

PE

PE

PE
...

...
Multiplexing
Bandwidth saving IPv6

IPv6 10 ms 5 players
IPv6 10 ms 20 players

60%

IPv6 reached
IPv6 theoretical

50%

40%

30%

20%

10%

0%
Quake 2

Unreal
Tournament

Counter Strike
1

Quake 3

Enemy
Territory

Counter Strike
2

Halo 2

Quake 4

More Related Content

PDF
Muo Network Manual
PPTX
Massively Social != Massively Multiplayer
PPTX
A practical architecture design for MMO casual game
PPS
Anatomy of the MMO
PDF
Traffic Optimization for TCP-based Massive Multiplayer Online Games
PDF
Online games traffic characterization and network support
PPT
Multiplayer Online Gaming
PDF
Multiplayer Computer Games - lecture slides 2013
Muo Network Manual
Massively Social != Massively Multiplayer
A practical architecture design for MMO casual game
Anatomy of the MMO
Traffic Optimization for TCP-based Massive Multiplayer Online Games
Online games traffic characterization and network support
Multiplayer Online Gaming
Multiplayer Computer Games - lecture slides 2013

Viewers also liked (12)

PDF
Server side game_development
PDF
MMO Design Architecture by Andrew
PDF
Intro to Massively Multiplayer Online Game (MMOG) Design
PPTX
A Practical Architecture Design for MMO Casual Game
PDF
Building Multiplayer Games (w/ Unity)
PPTX
Building fast,scalable game server in node.js
PDF
Scalable Gaming with AWS - GDC 2014
PPTX
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
PDF
GDC 2015 - Low-latency Multiplayer Gaming with AWS
PPTX
Next-generation MMORPG service architecture
PDF
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
PPT
Hla typing
Server side game_development
MMO Design Architecture by Andrew
Intro to Massively Multiplayer Online Game (MMOG) Design
A Practical Architecture Design for MMO Casual Game
Building Multiplayer Games (w/ Unity)
Building fast,scalable game server in node.js
Scalable Gaming with AWS - GDC 2014
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
GDC 2015 - Low-latency Multiplayer Gaming with AWS
Next-generation MMORPG service architecture
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
Hla typing
Ad

Similar to The problem of using a best-effort network for online games (20)

PPTX
Online games: a real-time problem for the network
PPTX
SJNC13.pptx
PDF
The Effect of Router Buffer Size on Subjective Gaming Quality Estimators base...
PDF
Comparison of Multiplexing Policies for FPS Games in terms of Subjective Quality
PPT
Harlan Beverly Lag The Barrier to innovation gdc austin 2009
PPT
Applications of Virtual Machine Monitors for Scalable, Reliable, and Interact...
PPT
Playtime's Over - Gaming Lessons Learned Dealing with Massive Scale & Terribl...
PPT
Harlan beverly gaming levels up networking ieee 10 2009
PDF
Tech solutions and tricks in real time mobile multiplayer
PDF
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
ODP
Challenges and experiences with IPTV from a network point of view
PDF
Cloud Gaming Onward: Research Opportunities and Outlook
PPTX
Game server development in node.js in jsconf eu
PDF
111223_Ext_Cloud+Gaming+Latency_GFN_Perspective.pdf
PPT
Internet service
PPT
MMTA – Technology 1 PC – become standard for MM applications
PPTX
Mobile Cloud Computing for Games - Gamelet
PDF
TCM-TF 2014
PPT
preKnowledge-InternetNetworking Android's mobile operating system is based on...
PPT
preKnowledge-InternetNetworking.ppt
Online games: a real-time problem for the network
SJNC13.pptx
The Effect of Router Buffer Size on Subjective Gaming Quality Estimators base...
Comparison of Multiplexing Policies for FPS Games in terms of Subjective Quality
Harlan Beverly Lag The Barrier to innovation gdc austin 2009
Applications of Virtual Machine Monitors for Scalable, Reliable, and Interact...
Playtime's Over - Gaming Lessons Learned Dealing with Massive Scale & Terribl...
Harlan beverly gaming levels up networking ieee 10 2009
Tech solutions and tricks in real time mobile multiplayer
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
Challenges and experiences with IPTV from a network point of view
Cloud Gaming Onward: Research Opportunities and Outlook
Game server development in node.js in jsconf eu
111223_Ext_Cloud+Gaming+Latency_GFN_Perspective.pdf
Internet service
MMTA – Technology 1 PC – become standard for MM applications
Mobile Cloud Computing for Games - Gamelet
TCM-TF 2014
preKnowledge-InternetNetworking Android's mobile operating system is based on...
preKnowledge-InternetNetworking.ppt
Ad

More from Jose Saldana (20)

PPTX
Pint of science Patinete as a Service
PDF
Mejorar tu empleabilidad como ingeniero
PDF
POUZ Universidad de Zaragoza - Telecomunicación 2º y 3º
PDF
Cómo se conectan los ordenadores y los móviles
PDF
La bala que dobló la esquina: el problema de los videojuegos online
PDF
Entretenimiento online. Una perspectiva cristiana
PDF
¿Por qué el WiFi se va y se viene?
PDF
Wi-5: Advanced Features for Low-cost Wi-Fi APs
PDF
Header compression and multiplexing in LISP
PDF
Simplemux traffic optimization
PDF
Improving Network Efficiency with Simplemux
PDF
GAIA and Alternative Networks
PDF
Bar-BoF session about Simplemux at IETF93, Prague
PDF
Alternative Network Deployments
PDF
Simplemux: a generic multiplexing protocol
PDF
Optimization of Low-efficiency Traffic in OpenFlow Software Defined Networks
PDF
Can We Multiplex ACKs without Harming the Performance of TCP?
PDF
The Effect of Multiplexing Delay on MMORPG TCP Traffic Flows
PDF
Influence of the Distribution of TCRTP Multiplexed Flows on VoIP Conversation...
PDF
Evaluation of Multiplexing and Buffer Policies Influence on VoIP Conversation...
Pint of science Patinete as a Service
Mejorar tu empleabilidad como ingeniero
POUZ Universidad de Zaragoza - Telecomunicación 2º y 3º
Cómo se conectan los ordenadores y los móviles
La bala que dobló la esquina: el problema de los videojuegos online
Entretenimiento online. Una perspectiva cristiana
¿Por qué el WiFi se va y se viene?
Wi-5: Advanced Features for Low-cost Wi-Fi APs
Header compression and multiplexing in LISP
Simplemux traffic optimization
Improving Network Efficiency with Simplemux
GAIA and Alternative Networks
Bar-BoF session about Simplemux at IETF93, Prague
Alternative Network Deployments
Simplemux: a generic multiplexing protocol
Optimization of Low-efficiency Traffic in OpenFlow Software Defined Networks
Can We Multiplex ACKs without Harming the Performance of TCP?
The Effect of Multiplexing Delay on MMORPG TCP Traffic Flows
Influence of the Distribution of TCRTP Multiplexed Flows on VoIP Conversation...
Evaluation of Multiplexing and Buffer Policies Influence on VoIP Conversation...

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
Assigned Numbers - 2025 - Bluetooth® Document
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
SOPHOS-XG Firewall Administrator PPT.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Advanced methodologies resolving dimensionality complications for autism neur...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
Programs and apps: productivity, graphics, security and other tools

The problem of using a best-effort network for online games

  • 1. THE PROBLEM OF USING A BESTEFFORT NETWORK FOR ONLINE GAMES NIME WORKSHOP. IEEE CCNC 2014
  • 2. Index I. Real-time services on the Internet II. The two problems III. Adapting the network
  • 3. Real-time services - Real-time services are being widely used: VoIP, video conference, online gaming
  • 4. Real-time services In this presentation, we will focus on online gaming. Why?
  • 7. The approach Client-server architecture - Consistency of the game - Cheating avoidance - Billing
  • 8. How does it look? (On the packet level) 40 50 60 70 80 90 100 110 bytes 0 10 20 30 40 50 60 70 ms Unreal Tournament 40 50 60 70 80 90 100 110 bytes 0 10 20 30 40 50 60 70 ms Counter Strike I 40 50 60 70 80 90 100 110 bytes 0 10 20 30 40 50 60 70 ms Quake III
  • 9. Index I. Real-time services on the Internet II. The two problems III. Adapting the network
  • 10. - Still there are problem(s) 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 realtime requirements: players are really difficult to satisfy We need to measure quality, in terms of network parameters.
  • 11. 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
  • 12. 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% IPv4 UDP RTP codec G.729a, 2 samples
  • 13. 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.
  • 14. User impact - More experienced players demand more! 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
  • 15. Context impact - Player’s surrounding s (other players) have an impact on QoE scores! 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
  • 16. System impact - genres Difference between game genres 250 Tollerated one way delay [ms] - 200 150 100 50 0 FPS RPG Game genre RTS
  • 17. Network side - 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
  • 18. How do we fight network delay? - 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)
  • 19. Index I. Real-time services on the Internet II. The two problems III. Adapting the network
  • 20. Adapting the network - Different solutions in order to enhance the network support for online games - Traffic optimization - Traffic prioritization - Latency reduction methods
  • 21. Adapting the network - Different solutions in order to enhance the network support for online games - Traffic optimization - Traffic prioritization - Latency reduction methods
  • 22. VoIP optimization - Voice trunking between two offices:
  • 23. VoIP optimization - Savings of 50% are achievable . . . Context . . . Context IP Network . . . MUX+COMP Real-Time DEMUX+DECOMP Tunneling-Compressing-Multiplexing Real-Time . . .
  • 24. VoIP optimization - RFC 4170 (2005) deploys this, also compressing the header payload payload ECRTP ... ECRTP RTP UDP IP PPP Mux PPP L2TP VoIP IP One IPv4/UDP/RTP VoIP packet with two samples of 10 bytes η=20/60=33% 40 to 6-8 bytes compression Five IPv4/UDP/RTP VoIP packets with two samples of 10 bytes η=20/60=33% One IPv4 TCMTF Packet multiplexing five two sample packets η=100/161=62% saving
  • 25. 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
  • 26. 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?
  • 27. Game optimization scenarios - Between the network provider and the game company Home network with a number of users (e.g. Internet Café, access shared by neighbours) Individual DSL xDSL router DSLAM ISP aggregation network Network of the service provider xDSL router ISP network DSLAM 2 LTE access network Application server BRAS Serving Gateway Evolved NodeB eNB Internet ISP aggregation network Internet Router (ISP) Internet Router (Service provider) MUX/DEMUX
  • 28. Game optimization scenarios - The end user (e.g. internet café) deploys the multiplexing Home network with a number of users (e.g. Internet Café, access shared by neighbours) xDSL router With multiplexer embedded DSLAM Individual DSL xDSL router Without multiplexer ISP network Transport network BRAS Internet Router Internet
  • 29. IETF proposal: TCM-TF Tunneling, Compressing and Multiplexing Traffic Flows draft-saldana-tsvwg-tcmtf-05 draft-suznjevic-tsvwg-mtd-tcmtf-02 payload payload RTP payload payload RTP UDP TCP UDP UDP IP IP IP IP ECRTP Compression layer No compr. / ROHC / IPHC / ECRTP PPPMux Multiplexing layer PPPMux / Other L2TP Tunneling layer GRE / L2TP MPLS IP a) TCRTP Network Protocol IP b) TCMTF
  • 30. One IPv4/TCP packet 1500 bytes η=1460/1500=97% FPS optimization Efficiency improvement IPv4, IPv6 One IPv4/UDP/RTP packet of VoIP with two samples of 10 bytes η=20/60=33% One IPv4/UDP server-to-client packet of Counter Strike with 9 players One IPv6/TCP packet 1500 bytes η=160/188=85% η=1440/1500=96% Four IPv4/UDP client-to-server packets of Counter Strike η=61/89=68% One IPv4/TCM packet multiplexing four client-to-server Counter Strike packets saving η=244/293=83% One IPv6/UDP/RTP packet of VoIP with two samples of 10 bytes η=20/80=25% One IPv6/UDP server-to-client packet of Counter Strike with 9 players η=160/208=77% Three IPv6/UDP client-to-server packets of Counter Strike η=61/109=56% One IPv6/TCM packet multiplexing three client-to-server Counter Strike packets η=183/246=74% saving
  • 31. FPS optimization Bandwidth saving IPv4 IPv4 10 ms 5 players IPv4 10 ms 20 players 60% IPv4 reached IPv4 theoretical 50% 40% 30% 20% 10% 0% Quake 2 Unreal Tournament Counter Strike 1 Quake 3 Enemy Territory Counter Strike 2 Halo 2 Quake 4
  • 32. MMORPG optimization Can this be adapted to MMORPGs? - Higher savings, due to the use of TCP (with a lot of ACKs) TCP ACKs without payload Seven IPv4/TCP client-to-server packets of World of Warcraft. E[P]=20bytes η=80/360=22% One IPv4/TCMTF packet multiplexing seven client-to-server WoW packets η=80/175=45% saving
  • 33. MMORPG optimization TCMTF Bandwidth Saving, TCP/IPv4, World of Warcraft tm 50% 45% 40% 35% BS 30% 25% 20% 100 players 15% 50 players 10% 20 players 5% 10 players 0% 10 20 30 40 50 60 period (ms) 70 80 90 100
  • 36. The approach 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)
  • 37. 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
  • 38. 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% IPv6 UDP RTP codec G.729a, 2 samples
  • 39. System impact - protocols - TCP is sometimes used for games (usually MMORPGs) - Delayed acknowledgments Nagle algorithm A lot of “pure” ACK packets 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
  • 40. VoIP optimization - We merge the packets and make them share the header: 1 flow 2 flows 3 flows
  • 41. Game optimization scenarios - The game company places a multiplexer in the ISP network Home network with a number of users (e.g. Internet Café, access shared by neighbours) DSLAM Individual DSL Network of the service provider ISP aggregation network xDSL router ISP network Application 1 server Internet xDSL router BRAS Internet Router (ISP) LTE access network Serving ISP Gateway Evolved NodeB aggregation network MUX/DEMUX of the Service eNB Provider, hosted by the ISP Application 2 server Internet Router (Service provider) MUX/DEMUX
  • 42. VoIP optimization - RFC 4170 savings (50%): TCMTF Bandwidth Saving, RTP/UDP/IPv4 voice G.729a, 2 samples per packet 60% 50% 40% 30% 20% 10% 0% 20 19 18 17 16 15 14 13 12 11 10 Number of calls 70% 9 8 7 6 5 85% prob. of reduced header 4 3 2 100% 1
  • 43. FPS optimization Significant savings (Counter Strike) Bandwidth Saving 35% 30% 25% BS 20% 15% 20 players 10% 15 players 10 players 5% 5 players 0% 5 10 15 20 25 30 period (ms) 35 40 45 50
  • 44. Shooting around the corner - 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.
  • 46. Online games “Shooting around the corner” Jack Wang Wang
  • 47. Online games “Shooting around the corner” Wang: Dead Jack Wang Wang
  • 48. Online games “Shooting around the corner” Wang: Dead Jack ¡¡¡ #%$& !!! Wang
  • 49. Online games “Shooting around the corner” Jack Game server Wang Position 1 Position 2 time Shot Wang DEAD Network delay scheme
  • 50. Game traffic optimization A period is defined, and all the packets arrived are compressed and multiplexed Native traffic ... Multiplexed traffic . . . PE PE PE PE ... ...
  • 51. Multiplexing Bandwidth saving IPv6 IPv6 10 ms 5 players IPv6 10 ms 20 players 60% IPv6 reached IPv6 theoretical 50% 40% 30% 20% 10% 0% Quake 2 Unreal Tournament Counter Strike 1 Quake 3 Enemy Territory Counter Strike 2 Halo 2 Quake 4