Virtual World Architecture II

Slides:



Advertisements
Similar presentations
MapReduce Online Tyson Condie UC Berkeley Slides by Kaixiang MO
Advertisements

Colyseus: A Distributed Architecture for Online Multiplayer Games
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
1 Topic 2 – Lesson 4 Packet Filtering Part I. 2 Basic Questions What is packet filtering? What is packet filtering? What elements are inside an IP header?
Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar
Network synchronization of Online Games Li, Zetan.
Server-Oriented Multiplayer Games Presented by: Eric Fesenmaier
Nov 27, Fall 2006IAT 4101 Networks Network Protocols Peer-to-peer Client-Server Configurations Trust.
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
Peer-to-Peer Support for Massively Multiplayer Games Bjorn Knutsson, Honghui Lu, Wei Xu, Bryan Hopkins Presented by Mohammed Alam (Shahed)
Peer-to-Peer Networks as a Distribution and Publishing Model Jorn De Boever (june 14, 2007)
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
Sync-MS: Synchronized Messaging Service for Real-Time Multi-Player Distributed Games By Yow-Jian Lin, Katherine Guo and Sanjoy Paul Presented by Greg Kempe.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
Networking Within MMOs Scott Seeley. Differences in game networking Peer-to-peer Client/Server Distributed Server.
A. Frank 1 Internet Resources Discovery (IRD) Peer-to-Peer (P2P) Technology (1) Thanks to Carmit Valit and Olga Gamayunov.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Multiplayer Online Games
P2P File Sharing Systems
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
Computers Are Your Future Tenth Edition Chapter 8: Networks: Communicating & Sharing Resources Copyright © 2009 Pearson Education, Inc. Publishing as Prentice.
1 Network Gaming. History of Network Gaming MUD MUD –Multi-user Dungeons Modem Games Modem Games Match Makings Match Makings –Real-time strategy –FPS.
Online Game Anatomy Server Components &Services. Server Categories  Passive  Patching  Authentication  Game Data Storage  Stats / Inventory  Event.
Introduction to Networked Graphics Part 3 of 5: Latency.
Scalability Don McGregor Research Associate MOVES Institute
Introduction to Networked Graphics Part 4 of 5: Bandwidth Management & Scalability.
Anonymity on the Internet Presented by Randy Unger.
Time Manipulation.  The game states rendered at the clients are different because latency is dependent on the location of the client from the server.
How computer’s are linked together.
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.
Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.
Netprog: Routing and the Network Layer1 Routing and the Network Layer (ref: Interconnections by Perlman)
Networked Games Objectives – –Understand the types of human interaction that a network game may provide and how this influences game play. –Understand.
Multiplayer games on networks potential and tradeoffs.
Agenda Last class: Digitization Today: Network Hardware Typing
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer-to-Peer (P2P) Networks By Bongju Yu. Contents  What is P2P?  Features of P2P systems  P2P Architecture  P2P Protocols  P2P Projects  Reference.
Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 11: Latency and Consistency.
For Programming Challenge N. H. N. D. de Silva. Introduction General Game Architecture Server Architecture Joining the game Game initiation Moving and.
Netprog: Chat1 Chat Issues and Ideas for Service Design Refs: RFC 1459 (IRC)
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
Hwajung Lee. Mutual Exclusion CS p0 p1 p2 p3 Some applications are:  Resource sharing  Avoiding concurrent update on shared data  Controlling the.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Oct 1, 2015 Lecture 12: Mutual Exclusion All slides © IG.
Networking Project. Game Networking Game Networking Topology Star (client/server) Topology – All devices are connected to a central hub (server) – Nodes.
Multiplayer Online Games
Network and hardware revision
Unity Networking.
Informatica PowerCenter Performance Tuning Tips
Network Configurations
Web Caching? Web Caching:.
CHAPTER 3 Architectures for Distributed Systems
EE 122: Network Applications
Wednesday, September 19, 2018 What Is the Internet?
Game Server Selection for Multiple Players
IROP Research Presentation
Comparison of LAN, MAN, WAN
Chat Refs: RFC 1459 (IRC).
CSE 381 – Advanced Game Programming Multiplayer Gaming
Computer communications
Mutual Exclusion CS p0 CS p1 p2 CS CS p3.
Planning and Storyboarding a Web Site
Routing and the Network Layer (ref: Interconnections by Perlman
Publish your presentations online we present SLIDEPLAYER.ONLINE.
Host and Small Network Relaying Howard C. Berkowitz
Design and Implementation of OverLay Multicast Tree Protocol
Message Passing Systems
Presentation transcript:

Virtual World Architecture II Network Architecture

Styles of Networking Architecture Peer to Peer Client - Server client client client client server client client client client client client

Broadcast Peer to Peer Client - Server client client client client

Broadcast Peer to Peer Client - Server client client client client

Direct Message Peer to Peer Client - Server client client client

Direct Message Peer to Peer Client - Server client client client

Peer to Peer Pros/Cons Good when Bad when 2 x latency btw client and server too high for interactivity No one trusted to be central relay Bad when Server has far more bandwidth than others peer-peer links cannot be established everywhere one slow peer-peer link slows down progression of simulation

Client/Server Pros/Cons Good when Server faster or better distributed than clients Clients behind firewalls Insulation Bad when Many peer to peer messages must be relayed Untrusted server Round trip time too high for application

Examples Peer to Peer Client/Server Starcraft + other RTS’s Croquet virtual world Gnutella Client/Server Xwing vs Tie fighter Doom and Quake Unreal Tournament Half Life / Garry’s Mod World of Warcraft + MMORPGs

Another way to slice the cake Full Disclosure All input events relayed to all clients Each client simulates the world using inputs from all players Need-to-know All input events sent to server Server updates each client with only information relevant to that client

In practice: who uses what Full Disclosure Need-to-know Peer to Peer Star Craft, Croquet Gnutella Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft

In practice: who uses what Full Disclosure Need-to-know Peer to Peer Star Craft, Croquet Gnutella Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft

Star Craft

How Star Craft works Full Disclosure Peer to Peer (8 players) Each clients sends mouse clicks and timestamp to all other clients If everyone acknowledges receipt in sufficient time, action performed Otherwise game halted until all can perform action AI players are deterministic and react to world state Peer to Peer (8 players) Once Star Craft game started, all clients are equal If someone is cheating, they only cheat themselves

In practice: who uses what Full Disclosure Need-to-know Peer to Peer Star Craft, Croquet Gnutella Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft

Croquet

How Croquet works Full disclosure Peer to peer (8-16 peers per room) Clients only send input events to each other Complex worlds with few actors are simulated in full by each client Peer to peer (8-16 peers per room) Save round trip time by sending data directly to each other

In practice: who uses what Full Disclosure Need-to-know Peer to Peer Star Craft, Croquet Gnutella Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft

X-wing vs Tie Fighter

How X-wing vs Tie Fighter works Full disclosure Clients only send input events to each other Most (95%) of the craft are AI simulated on each client Client/Server (8 players) If one player acts as host Can reduce burden of other players Slightly increase burden of host Broadband server can host 7 modem players

Full Disclosure Pros/Cons Good when # objects predictable w/ full game state > # unpredictable objects No one is trusted with game state Total transparency/information awareness Bad when num unpredictable objects large one slow link slows down updates for everyone Full world state can lead to cheating Star Craft map hack

In practice: who uses what Full Disclosure Need-to-know Peer to Peer Star Craft, Croquet Gnutella Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft

Gnutella

How Gnutella Works Need To Know Peer to Peer (30,000+ peers) Only file requests are relayed around Full sharing data of network is not available Peer to Peer (30,000+ peers) No central server to demand file list from (like napster had) If a host is inaccessible a pull command can be sent Malicious (RIAA) hosts can disrupt network effectiveness by relaying false world state

In practice: who uses what Full Disclosure Need-to-know Peer to Peer Star Craft, Croquet Gnutella Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft

Doom + First Person Shooters

How First Person Shooters Work Need-to-Know Portal/Room based maps Only people in your or adjacent rooms relevant Server only updates relevant clients Event timestamps still important Keep dead folks from shooting Client/Server (32 players) Host has high bandwidth, can make relevancy decisions easier Central connecting point for late-joiners

In practice: who uses what Full Disclosure Need-to-know Peer to Peer Star Craft, Croquet Gnutella Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft

World of Warcraft

How MMORPG’s work Need-to-know Client/Server (300 players) Impossible to update everyone about goings on in a large world Designers wish to keep some information secret Treasure locations Monster health Locations of players Client/Server (300 players) Trusted server(s) with high bandwidth Everyone connects to a server, some anonymity provided

Need-to-know Pros/Cons Good when # unpredictable objects too large for all clients to keep up with changes Server faster or better distributed than clients clients behind firewalls Bad when Untrusted server/relay Round trip time too high for application

Analogy to government types Full Disclosure :: Democracy Pure democracy -- town hall style Everyone talks to everyone else Education critical Everyone should be informed of all actions Otherwise can be duped by clients Check + balance system possible, but not easy Need-To-Know :: Dictatorship “ministry of information” Keeps “true world state” Broadcasts only needed info Clients trust the server for world state

Managing large commercial systems Divide servers into “shards” client client client client US West US East client client client client client client

Managing large commercial systems Divide shards into “instances” client client US West client client Instance server client

Managing large commercial systems Many-to-many server:client relationships client client client client server server server client client server server client

Massive Virtual Worlds:Current Efforts Shards World of Warcraft Instances as well Everquest Unified World MUDs EVE Second life

Dead Reckoning Final Location 4 seconds Sent 00:28 Received 00:04 Lag 00:24

Where Dead Reckoning fails 4 seconds Path Final Location 4 seconds 00:25 Sent 00:29 Received 00:04 Lag Sent 00:28 Received 00:04 Lag 00:24

How to patch dead reckoning 4 seconds Final Location 4 seconds path Rewind Simulation To 25 00:25 Sent 00:29 Received 00:04 Lag Sent 00:28 Received 00:04 Lag 00:24

Conclusion Many solution exist to put folks together in a virtual world Usually tailored to the specification of the world No one size fits all solution Networking architectures are only going to get more complex in the future