Aspects of Networking in Multiplayer Computer Games J. Smed, T. Kaukoranta and H. Hakonen The Electronic Library Volume 20, Number 2, Pages 87-97 2002.

Slides:



Advertisements
Similar presentations
Review of Topology and Access Techniques / Switching Concepts BSAD 141 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Advertisements

Colyseus: A Distributed Architecture for Online Multiplayer Games
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
CCNA3: Switching Basics and Intermediate Routing v3.0 CISCO NETWORKING ACADEMY PROGRAM Switching Concepts Introduction to Ethernet/802.3 LANs Introduction.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Networked Gaming Networking Bandwidth Security/Cheating Dynamics.
Cheat-Proof Playout for Centralized and Distributed Online Games IEEE InfoCom’01 Paper by Nathaniel E. Baughman and Brian Neil Levine CPSC 538A Presentation:
Aspects of Networking in Multiplayer Computer Games J. Smed, T. Kaukoranta and H. Hakonen The Electronic Library Volume 20, Number 2, Pages
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Peer-to-Peer Support for Massively Multiplayer Games Bjorn Knutsson, Honghui Lu, Wei Xu, Bryan Hopkins Presented by Mohammed Alam (Shahed)
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Application layer (continued) Week 4 – Lecture 2.
Internet Traffic Patterns Learning outcomes –Be aware of how information is transmitted on the Internet –Understand the concept of Internet traffic –Identify.
1 Fall 2005 Extending LANs Qutaibah Malluhi CSE Department Qatar University Repeaters, Hubs, Bridges, Fiber Modems, and Switches.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
1 AINA 2006 Wien, April th 2006 DiVES: A DISTRIBUTED SUPPORT FOR NETWORKED VIRTUAL ENVIRONMENTS The IEEE 20th International Conference on Advanced.
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
Distributed Information Systems - The Client server model
Security in Wireless Sensor Networks Perrig, Stankovic, Wagner Jason Buckingham CSCI 7143: Secure Sensor Networks August 31, 2004.
Using Bluetooth on Android Devices to Implement Real-Time Multiplayer Games Brad Boone, Corey Darr, Chris Hayes, Dale Musser, Ph.D. Introduction With the.
Wireless Video Sensor Networks Vijaya S Malla Harish Reddy Kottam Kirankumar Srilanka.
“We’ve Got Game!” Teaching and Researching Computer Games at WPI Mark Claypool Assistant Professor Computer Science Department Worcester Polytechnic Institute.
Ch. 28 Q and A IS 333 Spring Q1 Q: What is network latency? 1.Changes in delay and duration of the changes 2.time required to transfer data across.
Top-Down Network Design Chapter Two Analyzing Technical Goals and Tradeoffs Copyright 2010 Cisco Press & Priscilla Oppenheimer.
Chapter 3 part II Data and Signals
Receiver-driven Layered Multicast Paper by- Steven McCanne, Van Jacobson and Martin Vetterli – ACM SIGCOMM 1996 Presented By – Manoj Sivakumar.
Multiplayer Online Games
Network Topologies.
Client/Server Architectures
CECS 5460 – Assignment 3 Stacey VanderHeiden Güney.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
Internet Addressing. When your computer is on the Internet, anything you do requires data to be transmitted and received. For example, when you visit.
Chapter 2 Network Design Essentials Instructor: Nhan Nguyen Phuong.
Chapter 4 Computer Networks – Part 1
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Introduction – Part II.
Overlay Network Physical LayerR : router Overlay Layer N R R R R R N.
Definitions What is a network? A series of interconnected computers, linked together either via cabling or wirelessly. Often linked via a central server.
Architectures of distributed systems Fundamental Models
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
LAN Switching and Wireless – Chapter 1
William Stallings Data and Computer Communications 7 th Edition Chapter 1 Data Communications and Networks Overview.
Networks CS105. What is a computer network? A computer network is a collection of computing devices that are connected in various ways so that they can.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Chapter 4 Objectives Upon completion you will be able to: Classful Internet Addressing Understand IPv4 addresses and classes Identify the class of an.
1 Distributed Databases BUAD/American University Distributed Databases.
William Stallings Data and Computer Communications
Chapter2 Networking Fundamentals
Chapter 11 Extending LANs 1. Distance limitations of LANs 2. Connecting multiple LANs together 3. Repeaters 4. Bridges 5. Filtering frame 6. Bridged network.
Multiplayer games on networks potential and tradeoffs.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Distributed Computing Systems (Slides for Final Class)
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
Distributed Computing Systems Network Games. References / Reading [BT01] P. Bettner and M. Terrano Archers on a 28.8: Network Programming in Age.
The Concept of Universal Service
Networking Devices.
I. Basic Network Concepts
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
Presentation transcript:

Aspects of Networking in Multiplayer Computer Games J. Smed, T. Kaukoranta and H. Hakonen The Electronic Library Volume 20, Number 2, Pages

Introduction Network growth, especially wireless, making multiplayer computer games (MCGs) more popular Commercial computer games increasingly having mutiplayer option And not just PCs, but consoles, too (PS4, Xbox One, Wii…) Wireless-only devices, too (3d DS, PS Vita, Smart phones)

Shared Space Technologies (MCG’s)

Other VR Research Efforts Distributed Interactive Simulations (DIS) – Protocol (IEEE), architectures … – Ex: flight simulation – Large scale, spread out, many users Distributed Virtual Environments (DVEs) – Immersive, technology oriented – Ex: “Caves” – Local, few users Computer Supported Cooperative Work (CSCW) – Focus on collaboration – Ex: 3D editors And MCGs are similar, yet not discussed in scientific literature  Hence, this paper seeks to rectify

Outline Introduction(done) Networking Resources(next) Distribution Concepts Scalability Security and Cheating Conclusions

Network Resources Distributed simulations face three resource limitations – Network bandwidth – Network latency – Host processing power (to handle network aspects) Physical restrictions that system cannot overcome – Must be considered in design of application (More on each, next)

Network Bandwidth (Capacities) Data sent/received per time LAN – 10 Mbps to 10 Gbps – Limited size (hosts) and scope (distance) WANs – 10s of kbps from modems, to 1-10 Mbps (broadband), to 55 Mbps (T3) and more – Potentially enormous (billions of hosts), Global in scope (across continents and world) Number of users, size and frequency of messages determines bitrate use As does transmission technique (next slide)

Network Bandwidth (Transmission Techniques) (a) Unicast: one send and one receive – Can waste bandwidth when path shared by several clients (c) Broadcast: one send and all receive – Perhaps ok for LAN – Can waste bandwidth when most nodes don’t need (b) Multicast: one send and only subscribed receive – Current Internet does not support – Multicast overlay networks (e.g., MBone or application layer mcast)

Network Latency Delay when message sent until received – Variation in delay (delay jitter) also matters Cannot be totally eliminated – e.g., speed of light propagation yields ms across Atlantic – And with routing and queuing, usually 80+ ms Application tolerances: – File download – minutes – Web page download – up to 10 seconds – Interactive audio – 100s of ms MCG latencies tolerance?  Depends upon game! – First-Person Shooters – about 100 ms – Third-Person Adventure – up to 500 ms – Real-Time Strategy – up to 1 second – And depends upon action within game! (topic for another paper)

Computational Power Processing to send/receive packets Most devices powerful enough for raw sending/receiving – Can saturate LAN Rather, application must process state in each packet (e.g., receive packet, update game world) Especially critical on resource-constrained devices – e.g., hand-held console, cell phone, PDA,

Outline Introduction(done) Networking Resources(done) Distribution Concepts(next) Scalability Security and Cheating Conclusions

Distribution Concepts Cannot do much about above resource limitations Should tackle problems at higher level Choose architectures for – Communication – Data – Control Plus, compensatory techniques to relax requirements

Communication Architectures Split-screen - Limited players All peers equal -Easy to extend -Doesn’t scale (LAN only) Central server - Clients only to server -Server may be bottleneck Server pool -Improved scalability -More complex

Data and Control Architectures Want consistency – Same state on each node – Needs tightly coupled, low latency, small nodes Want responsiveness – More computation locally to reduce network – Loosely coupled (asynchronous) In general, cannot do both  Tradeoffs

“Relay” Architecture Abstraction Want control to propagate quickly so can update data (responsiveness) Want to reflect same data on all nodes (consistency)

Relay Architecture Choices (Example: Dumb terminal, send and wait for response) (Example: Smart terminal, send and echo)

MCG Architectures Centralized – Use only two-way relay (no short-circuit) – One node holds data so view is consistent at all times – Lacks responsiveness Distributed and Replicated – Allow short-circuit relay – Replicated has copies, used when predictable (e.g., behavior of non-player characters) – Distributed has local node only, used when unpredictable (e.g., behavior of players)

Compensatory Techniques Architectures alone not enough Design to compensate for residual Techniques: – Message aggregation – Interest management – Dead reckoning (next)

Message Aggregation Combine multiple messages in one packet to reduce network overhead Examples: – Multiple user commands to server (move and shoot) – Multiple users command to clients (player A’s and player B’s actions combined to player C)

Interest Management – Auras (1 of 2) Nodes express area of interest to them – Do not get messages for outside areas - Only circle sent even if world is larger - But implementation complex (squares easier)

Interest Management- Auras (2 of 2) - Divide into cells (or hexes) - Easier, but less discriminating - Compute bounding box - Relatively easy, precise Always symmetric – both receive –But can sub-divide – focus and nimbus

Interest Management- Focus and Nimbus - Nimbus must intersect with focus to receive - Example above: hider has smaller nimbus, so seeker cannot see, while hider can see seeker since seeker’s nimbus intersects hider’s focus

Dead Reckoning When prediction differs and adjust, get “warping” or “rubber-banding” effect –Some techniques move to place over short time (predicted position) (actual position) (“warp”) Based on ocean navigation techniques (“dead” == “deduced (ded.)”) Predict position based on last known position plus direction – Only send updates when deviates past threshold

Outline Introduction(done) Networking Resources(done) Distribution Concepts(done) Scalability(next) Security and Cheating Conclusions

Scalability Ability to adapt to resource changes Example: – Expand to varying number of players – Allocate non-player computation among nodes Need hardware parallelism that supports software concurrency

Serial and Parallel Execution Given time T(1), speedup with n nodes Part of T(1) must happen serially and part can be done in parallel T s + T p = T(1) and  = T s /(T s + T p ) If serialized optimally: (Amdahls’ law) If T s = 0, everything parallelizable but then no communication (ex: players at own console with no interaction) If T p = 0, then turn based Between are MCGs which have some of both

Serial and Parallel MCGs Separate games Turn-based games Interactive games

Communication Capacity Scalability limited by communication requirements of chosen architecture (Multicasting) Can consider pool of m servers with n clients divided evenly amongst them Servers in hierarchy have root as bottleneck In order not to increase with n, must have clients not aware of other clients (interest management) and do message aggregation

Outline Introduction(done) Networking Resources(done) Distribution Concepts(done) Scalability(done) Security and Cheating(next) Conclusions

Security and Cheating Unique to games – Other multi-person applications don’t have – In DIS, military not public and considered trustworthy Cheaters want: – Vandalism – create havoc (relatively few) – Dominance – gain advantage (more)

Packet and Traffic Tampering Reflex augmentation - enhance cheater’s reactions – e.g., aiming proxy monitors opponents movement packets, when cheater fires, improve aim Packet interception – prevent some packets from reaching cheater – e.g., suppress damage packets, so cheater is invulnerable Packet replay – repeat event over for added advantage – e.g., multiple bullets or rockets if otherwise limited

Preventing Packet Tampering Cheaters figure out by changing bytes and observing effects – Prevent by MD5 checksums (fast, public) Still cheaters can: – Reverse engineer checksums – Attack with packet replay So: – Encrypt packets – Add sequence numbers (or encoded sequence numbers) to prevent replay

Information Exposure Allows cheater to gain access to replicated, hidden game data (e.g. status of other players) – Passive, since does not alter traffic – e.g., ignore “fog of war” in RTS, or “wall hack” to see through walls in FPS Cannot be defeated by network alone Instead: – Sensitive data should be encoded – Kept in hard-to-detect memory location – Centralized server may detect cheating (e.g., attack enemy could not have seen) Harder in replicated system, but can still share

Design Defects If clients trust each other, then if client is replaced and exaggerates cheater effects, others will go along – Can have checksums on client binaries – Still, more secure to have trusted server that puts into play client actions (centralized server) Distribution may be source of unexpected behavior – Features only evident upon high load (say, latency compensation technique) – e.g., Madden Football

Conclusion Overview of problems with MCGs Connection to other distributed systems – Networking resources – Distribution architectures – Scalability – Security

Future Work Other distributed systems solutions Cryptography Practitioners should be encouraged to participate