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

51
THE PROBLEM OF USING A BEST- EFFORT NETWORK FOR ONLINE GAMES NIME WORKSHOP . IEEE CCNC 2014

description

Jose Saldana, Mirko Suznjevic, Invited talk "The problem of using a best-effort network for online games," 10th IEEE International Workshop on Networking Issues in Multimedia Entertainment NIME'14 – , held in conjunction with Consumer Communications and Networking Conference, CCNC 2014. Las Vegas, Nevada, USA – January 10, 2014.

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

Page 1: 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

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

Index I. Real-time services on

the Internet

II. The two problems

III. Adapting the network

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

Real-time services - Real-time services are being widely used:

VoIP, video conference, online gaming

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

Real-time services In this presentation, we will focus on online gaming. Why?

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

Popularity of online games

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

Popularity of online games

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

The approach Client-server architecture

- Consistency of the game

- Cheating avoidance

- Billing

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

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

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

Index I. Real-time services on

the Internet

II. The two problems

III. Adapting the network

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

- 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)

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

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

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

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

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

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.

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

- 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

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

- 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

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

- 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

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

- 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

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

- 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?

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

Index I. Real-time services on

the Internet

II. The two problems

III. Adapting the network

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

- Different solutions in order to enhance the network support for online games

- Traffic optimization

- Traffic prioritization

- Latency reduction methods

Adapting the network

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

- Different solutions in order to enhance the network support for online games

- Traffic optimization

- Traffic prioritization

- Latency reduction methods

Adapting the network

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

VoIP optimization - Voice trunking between two

offices:

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

VoIP optimization - Savings of 50% are achievable

.

.

.

.

.

.

Context Context

IP Network

MUX+COMP DEMUX+DECOMP

Real-Time Tunneling-Compressing-Multiplexing Real-Time

.

.

.

.

.

.

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

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

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

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

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

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?

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

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

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

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

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

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

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

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%

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

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

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

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

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

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

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

Extra slides

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

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

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

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

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

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

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

- 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

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

VoIP optimization - We merge the packets and make

them share the header:

1 flow

2 flows

3 flows

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

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

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

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

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

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

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

- 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

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

VoIP

Jack Wang

Answer

Question

Network delay scheme

time

Are you there?

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

“Shooting around the corner”

Jack Wang

Wang

Online games

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

“Shooting around the corner”

Jack

Wang: Dead

Wang

Wang

Online games

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

“Shooting around the corner”

Jack Wang

Wang: Dead ¡¡¡ #%$& !!!

Online games

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

Online games “Shooting around the corner”

Jack Game server Wang

Position 1

Position 2

Shot Wang DEAD

Network delay scheme

time

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

A period is defined, and all the packets arrived are compressed and multiplexed

PE

. . .

. . .

. . .

. . .

Native

traffic

Multiplexed

traffic

PE PE PE

Game traffic optimization

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

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