N AMING THE G AME W ORLD I Server Region The game world is - - PowerPoint PPT Presentation

n aming the g ame w orld i
SMART_READER_LITE
LIVE PREVIEW

N AMING THE G AME W ORLD I Server Region The game world is - - PowerPoint PPT Presentation

I NTER -S ERVER G AME S TATE S YNCHRONIZATION USING N AMED D ATA N ETWORKING Philipp Moll, S. Theuermann, Jeff Burke N. Rauscher, H. Hellwagner ACM Conference on Information-Centric Networking 2019 Moll, Theuermann, Rauscher, Hellwagner, Burke


slide-1
SLIDE 1

INTER-SERVER GAME STATE SYNCHRONIZATION

USING NAMED DATA NETWORKING

ACM Conference on Information-Centric Networking 2019

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 1

Philipp Moll, S. Theuermann,

  • N. Rauscher, H. Hellwagner

Jeff Burke

slide-2
SLIDE 2

SCALABILITY IN CURRENT ONLINE GAMES

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 2

  • Computer games are an important factor for the

entertainment industry

  • More than 40 billion USD revenues in the US in 2018
  • More than 2.6 billion people played games in 2017
  • Up to thousands of players in one game in current

massively multiplayer online games

  • Simulation of game world usually distributed to

server clusters

  • to achieve higher scalability
  • to achieve higher resilience
  • Game state synchronization is responsible for

building a consistent game state across the server cluster

Server 1 Server 2 Server 3 Server 4

Sync Sync Sync Sync

slide-3
SLIDE 3

NDN FOR GAME STATE SYNCHRONIZATION

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 3

  • Benefits of data-oriented architectures
  • Game state synchronization is a data distribution task
  • Point to point communication poorly suited
  • Efficiency increases due to network layer multicast
  • Game world well-suited for named access
  • Map regions requested by name instead of from host
  • Separates game world from managing servers
  • Increases scalability and resilience

Server 1 Server 2 Server 3 Server 4

Sync Sync Sync Sync

slide-4
SLIDE 4

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 4

A REAL-WORLD PROTOTYPE WITH MINECRAFT

slide-5
SLIDE 5

GAME STATE SYNCHRONIZATION

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 5

1. Take snapshots of map chunks at discrete time intervals 2. Increase the chunk’s version if its state has changed 3. Other servers request the latest version of the chunk’s state

How do servers know the latest version of a chunk?

Version: 0 Version: 1 Version: 2

𝜐 𝜐

Version: 2 [no changes]

𝜐

slide-6
SLIDE 6

NAMING THE GAME WORLD I

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 6

  • The game world is divided into map chunks.
  • Map chunks contain the full state of small parts
  • f the game world.
  • Each server simulates the map chunks of a certain

region of the game world (server region).

... ... ... ... ... ... ... ...

Server 1 Server 2 Server 3 Server 4

Server Region

Map Chunk 1,1 m,n

slide-7
SLIDE 7

NAMING THE GAME WORLD II

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 7

  • Names are created using a

quadtree-based hierarchical structure

  • Each quadtree level

represents a name component

  • Keeps the number of required

FIB entries low

... ...

4,1 2,1

...

  • 2. Level

... ...

  • 1. Level

1,1

1,1 2,1 1,2 2,2 3,1 4,1 … 4,4 1,1 2,1 1,2 2,2 1,1 /prefix/1,1/2,1/4,1/

slide-8
SLIDE 8

NAÏVE CHUNK-LEVEL UPDATE RETRIEVAL

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 8

Chunk-level game state update retrieval

  • Issue one Interest for the next version of every

world chunk managed by remote servers

  • Usage of long-lived Interests instead of polling

Issues

  • Large parts of the world change infrequently
  • Many Interests and PIT entries tend to time out
  • Does not scale for large worlds
  • One Interest per world chunk

... ...

1,1

Send me the next version of those chunks.

D I

slide-9
SLIDE 9

REGION MANIFEST APPROACH

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 9

Region-based update retrieval with manifest files for each server region 1. Each server provides a manifest file containing chunk versions of its region 2. Other servers request manifest and fetch updates via Interest/Data exchange

  • Manifest file optimized for rectangular

regions

  • Concept borrowed from existing NDN sync

protocols

... ...

1,1

What is the current state

  • f the world?

I D I D

Send me everything I don‘t have.

Manifest: Chunk versions

slide-10
SLIDE 10

EVALUATION SETUP

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 10

  • Multi-server Minecraft prototype
  • Server cluster in a local data center
  • 1-20 emulated clients playing the game
  • Comparison of three sync approaches
  • Baseline IP implementation
  • Naive chunk-level update retrieval
  • Region manifest approach
  • MiniNDN as evaluation environment

Minecraft MC3P Network Agent

Game Server

... ...

Game Server Cluster

Synchronization Protcol

Minecraft MC3P Network Agent

Game Server

Synchronization Protcol

Minecraft MC3P Network Agent

Game Server

Synchronization Protcol

Client Gateway

Proxy

Players

slide-11
SLIDE 11

EVALUATION RESULTS

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 11

  • No benefits in two server

setting (due to NDN’s protocol

  • verhead)
  • Benefits in three and four

server scenarios

  • Multicast benefits increase in

larger server clusters

  • RMA approach performs best

(three and four server setting)

  • Number of Data packets reduced

by more than 50 % (4 server scenario) compared to IP

slide-12
SLIDE 12

CONCLUSION AND FUTURE WORK

Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 12

  • Use of NDN for game state synchronization
  • NDN-based implementation beats IP in terms traffic volume
  • Location independent naming decouples map regions from servers

Future work

  • increasing scalability of game state synchronization for huge worlds
  • usage of NDN for client communication
  • consideration of peer-to-peer architectures

Source code available: https://github.com/phylib/ACM-ICN-19-Reproducibility