Networked Games Objectives – –Understand the types of human interaction that a network game may provide and how this influences game play. –Understand.

Slides:



Advertisements
Similar presentations
Distributed Processing, Client/Server and Clusters
Advertisements

Global States.
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 7: Consistency 4/13/20151Distributed Systems - COMP 655.
Interest Management Objectives – –Understand what is meant by the term interest management. –Realise how interest management schemes may be deployed. –Understand.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Technical Architectures
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Issues with MONET Prasad. Latency Overhead Every single HTTP request has to go through Waypoint Selection This could add a substantial amount of user.
Chapter 13 Physical Architecture Layer Design
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Design Fest 2004 Data Collection TerraSense Arbor XT Cristiano, Giuliano, Pedro, Nélson, Lene, Henning, Fábio.
The problems associated with operating an effective anti-spam blocklist system in an increasingly hostile environment. Robert Gallagher September 2004.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Definition of terms Definition of terms Explain business conditions driving distributed databases Explain business conditions driving distributed databases.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Introduction to client/server architecture
Online Gaming (for virtual living). Objectives – Understand the business related to online gaming works – Realise how online games are managed – Have.
Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Communication Part IV Multicast Communication* *Referred to slides by Manhyung Han at Kyung Hee University and Hitesh Ballani at Cornell University.
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Client/Server Architectures
On the Anonymity of Anonymity Systems Andrei Serjantov (anonymous)
INF Web Design Using Multimedia on the Web Sound - Part 2.
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
E0262 MIS - Multimedia Playback Systems Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India.
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 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.
CH2 System models.
Introduction to Networked Graphics Part 3 of 5: Latency.
NETWORK TOPOLOGIES HNC COMPUTING - Network Concepts 1 Network Concepts Topologies.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Jini Architecture Introduction System Overview An Example.
Real-Time & MultiMedia Lab Synchronization Distributed System Jin-Seung,KIM.
Geo-distributed Messaging with RabbitMQ
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Activity 1 5 minutes to discuss and feedback on the following:
Ordering in online games Objectives – Understand the ordering requirements of gaming – Realise how ordering may be achieved – Be able to relate ordering.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
What you need to know.  Each TDI vessel is equipped with satellite communications that supplies a LOW BANDWIDTH internet connection. Even though the.
COMPUTER NETWORKS Quizzes 5% First practical exam 5% Final practical exam 10% LANGUAGE.
A service Oriented Architecture & Web Service Technology.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
The Distributed Application Debugger (DAD)
Chapter 12: Architecture
Distributed Computing
Peer-to-peer networking
Software Design and Architecture
Distribution and components
Introduction to NewSQL
#01 Client/Server Computing
Chapter 12: Physical Architecture Layer Design
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

Networked Games Objectives – –Understand the types of human interaction that a network game may provide and how this influences game play. –Understand what technologies may be employed in the development of network games. –Realise the different architectures available for network game deployment.

Gaming environment We consider gaming environments that place emphasis on the following requirements: –User views of the gaming environment must be consistent “enough” to ensure successful game play. –Users interact with the gaming environment in “real-time”. –Gaming environment is graphically represented, with possible use made of sound and tactile feedback. Typical examples of the type of games we consider: –Unreal Tournament, Age of Empires, Quake Arena. Round based games (i.e., not real-time) are not considered. –For example, Civilization III.

Achieving user-to-user communications The only method available to provide user-to-user communication is via message passing. There are three approaches: –Centralised server – state information is held on a centralised data store. –De-centralised server – state information is held on a number of data stores. –Peer – state information is held by the user’s node. Irrelevant of approach, message passing over a computer network is required. –Protocols need to be derived to aid in satisfying real-time and consistency requirements.

Centralised server approach Users are geographically distributed, however, management of state is accomplished at a single geographic location (server). User nodes simply update state as indicated by the server. –This means that any potentially state changing event that is derived from a user node, say U 1, must be sent to the server via a message, with state change occurring at U 1 only when appropriate message received back from server. Node-server communication may occur via two methods: –Pull: Node periodically polls the server. –Push: The server periodically sends new state change information to node.

Using pull approach to gain state updates When the pull approach is used there is the possibility of missing state update messages. –If nodes are too slow in requesting state information then they could miss some state update messages. –For example, assume the the interval between U1 requesting messages from the server is t1. If the server has identified three messages for collection during t1 then U1 will only receive the last one. –This problem may be overcome by buffering messages. However, if this is a persistent problem buffer overflow will occur. Using the pull approach may be wasteful if state updates occur less frequently than node requests. –Nodes will be wasting their time requesting state updates when there are no updates required.

Using the push approach to gain state updates The push approach seeks to overcome the problems associated with the pull approach. Message passing is reduced as nodes do not send wasted messages when no state update is available. –Server sends message only when update has occurred. Problems may occur is node is unable to consume server message (possibly due to processing overheads). –This may be overcome by buffering messages at the client side. However, if this is a persistent problem buffer overflow may occur.

Issues related to central approach Not scalable. –If complex gaming environments are used (many hundreds of entities) and user numbers are large a single server may not be able to cope. Problem of users on varying quality of service network connections with server. –High message latency may result in users gaining messages out of date. –Error prone connections may result in users not gaining messages. This may be overcome with transactions, but this approach will add to message latency. Real-time requirements may be difficult to satisfy. –As no local management of events may occur, there is a high possibility that responsiveness of the gaming environment may suffer. –For example, if you move the joystick to the left nothing will happen until your node has informed the server, the server has updated the state, and the server has informed your node of state update.

De-centralised server approach This approach is an enhancement over the centralised server approach. Additional servers attempt to overcome scalability problems. High performance network links may be guaranteed between servers (much more likely than guaranteeing such performance between clients and servers). –We can place servers geographically close to users (e.g., Europe, China, USA) to reduce the message latency problem. Problems arise when attempting to ensure the consistency of servers. –Complex protocols, which are not, yet, scalable, are required. –Quite sophisticated support infrastructure required, not practical for networked games (vendors need to put a lot more effort towards providing this approach)

Peer approach Commonly used in networked games. Each user node may derive state without any centralised control. –You may notice that some games have a designated server, this is to ease problems encountered due to message ordering, but more usually associated to problems when users join a game. This approach is commonly termed “Frequent State Regeneration”. –Potential for nodes to update state frequently (no need to wait for server to update state). Peers pass messages to each other indicating changes in their own state. –For example, U 1 moves their avator to the left. The node of U 1 indicates this movement via a message sent to all other nodes. –Only if a node instigates a change state event does it notify of changed state to peers.