8.3 Networked Application 8.3 Networked Application History and - - PDF document

8 3 networked application 8 3 networked application
SMART_READER_LITE
LIVE PREVIEW

8.3 Networked Application 8.3 Networked Application History and - - PDF document

8.3 Networked Application 8.3 Networked Application History and Evolution History and Evolution Department of Defense (DoD) Department of Defense (DoD) SIMNET SIMNET Distributed Interactive Simulation (DIS)


slide-1
SLIDE 1

1

§8.3 Networked Application §8.3 Networked Application

  • Department of Defense (DoD)

Department of Defense (DoD)

  • SIMNET

SIMNET

  • Distributed Interactive Simulation (DIS)

Distributed Interactive Simulation (DIS)

  • High

High-

  • Level Architecture (HLA)

Level Architecture (HLA)

  • Academic NVEs

Academic NVEs

  • PARADISE

PARADISE

  • DIVE

DIVE

  • BrickNet

BrickNet

  • ther academic projects
  • ther academic projects
  • Networked games and demos

Networked games and demos

  • SGI

SGI Flight, Flight, Dogfight Dogfight and and Falcon A.T. Falcon A.T.

  • Doom

Doom

  • ther multiplayer games
  • ther multiplayer games

History and Evolution History and Evolution

1980 1980 1990 1990 2000 2000

SIMNET SIMNET

DIS DIS HLA HLA DVE DVE CVE CVE

DIVE, Spline, MASSIVE, Coven DIVE, Spline, MASSIVE, Coven NPSNET, STOW NPSNET, STOW

Military Military Academic Academic Entertainment Entertainment

Amaze Amaze RB2 RB2 Doom Doom

MUD MUD

Battle.net Battle.net Ultima Online Ultima Online Air Warrior Air Warrior

U.S. Department U.S. Department of

  • f Defense (DoD)

Defense (DoD)

  • The largest

The largest developer of developer of networked virtual environments networked virtual environments (NVEs) (NVEs) for use as simulation systems for use as simulation systems

  • ne of the first to develop NVEs with its SIMNET system
  • ne of the first to develop NVEs with its SIMNET system
  • the first to do work on large

the first to do work on large-

  • scale NVEs

scale NVEs

  • SIMNET (simulator networking)

SIMNET (simulator networking)

  • begun 1983, delivered 1990

begun 1983, delivered 1990

  • a distributed military virtual environment developed for DARPA

a distributed military virtual environment developed for DARPA (Defense Advanced Research Projects Agency) (Defense Advanced Research Projects Agency)

  • develop a

develop a ‘low ‘low-

  • cost’

cost’ NVE for training small units (tanks, NVE for training small units (tanks, helicopters,…) to fight as a team helicopters,…) to fight as a team

SIMNET SIMNET

  • Technical

Technical challenges challenges

  • how to fabricate high

how to fabricate high-

  • quality, low

quality, low-

  • cost simulators

cost simulators

  • how to network them

how to network them together to create a consistent battlefield together to create a consistent battlefield

  • Testbed

Testbed

  • 11 sites with

11 sites with 50 50– –100 100 simulators at each site simulators at each site

  • a simulator

a simulator is is the portal to the synthetic environment the portal to the synthetic environment

  • participants

participants can interact/play with others can interact/play with others

  • play was

play was unscripted unscripted free play free play

  • confined to

confined to the chain the chain of command

  • f command

SIMNET NSA SIMNET NSA

Basic Basic components components

i. i.

An object An object-

  • event architecture

event architecture

ii. ii.

A notion of autonomous simulator nodes A notion of autonomous simulator nodes

iii. iii.

An embedded set of predictive An embedded set of predictive modelling modelling algorithms algorithms (i.e., (i.e., ‘dead ‘dead reckoning’) reckoning’)

  • i. Object
  • i. Object-
  • Event

Event Architecture Architecture

  • Models

Models the world as a collection of the world as a collection of objects

  • bjects
  • vehicles and weapon systems that can interact

vehicles and weapon systems that can interact

  • a single object is usually managed by a single

a single object is usually managed by a single host host

  • ‘selective functional fidelity’

‘selective functional fidelity’

  • Models

Models interactions between objects as a interactions between objects as a collection collection of

  • f events

events

  • messages indicating a change in the world or object state

messages indicating a change in the world or object state

  • The basic terrain and structures are separate from the collectio

The basic terrain and structures are separate from the collection n

  • f objects
  • f objects
  • if the structure can be destroyed then it has to be reclassified

if the structure can be destroyed then it has to be reclassified as an as an

  • bject,
  • bject, whose state

whose state is continually transmitted onto the is continually transmitted onto the network network

slide-2
SLIDE 2

2

  • ii. Autonomous
  • ii. Autonomous Simulator Nodes

Simulator Nodes

  • Individual players, vehicles, and weapon systems on the network

Individual players, vehicles, and weapon systems on the network are are responsible responsible for transmitting for transmitting accurately accurately their current state their current state

  • Autonomous nodes do not interact with the recipients by any othe

Autonomous nodes do not interact with the recipients by any other way r way

  • Recipients are responsible for

Recipients are responsible for

  • receiving state change information

receiving state change information

  • making appropriate

making appropriate changes to their local model of the world changes to their local model of the world

  • Lack of a central server

Lack of a central server

  • single point

single point failures do not crash the whole simulation failures do not crash the whole simulation

  • players can join and leave at any

players can join and leave at any time (persistency) time (persistency)

  • Each node is responsible for one or more objects

Each node is responsible for one or more objects

  • the node

the node has to has to send send update packets update packets to to the network whenever its objects have the network whenever its objects have changed enough changed enough to notify the other nodes to notify the other nodes of the

  • f the change

change

  • a ‘heartbeat’

a ‘heartbeat’ message, usually every 5 seconds message, usually every 5 seconds

  • iii. Predictive
  • iii. Predictive Modelling

Modelling Algorithms Algorithms

  • An embedded and well

An embedded and well-

  • defined set of predictive

defined set of predictive modelling algorithms called modelling algorithms called dead reckoning dead reckoning

  • Average SIMNET

Average SIMNET packet packet rates: rates:

  • 1 per second for slow

1 per second for slow-

  • moving ground vehicles

moving ground vehicles

  • 3 per second for air vehicles

3 per second for air vehicles

  • Other

Other packets packets

  • fire: a weapon has been launced

fire: a weapon has been launced

  • indirect

indirect fire: a ballistic weapon has been launced fire: a ballistic weapon has been launced

  • collision: a vehicle hits an object

collision: a vehicle hits an object

  • impact: a weapon hits an object

impact: a weapon hits an object

Distributed Interactive Simulation (DIS) Distributed Interactive Simulation (DIS)

  • Derived from SIMNET

Derived from SIMNET

  • bject
  • bject-
  • event

event architecture architecture

  • autonomous

autonomous distributed simulation nodes distributed simulation nodes

  • predictive

predictive modelling modelling algorithms algorithms

  • Covers

Covers more simulation more simulation requirements requirements

  • to allow any type of player, on any type of machine

to allow any type of player, on any type of machine

  • to achieve larger simulations

to achieve larger simulations

  • First version of the IEEE standard for DIS appeared 1993

First version of the IEEE standard for DIS appeared 1993

  • Protocol data unit (PDU)

Protocol data unit (PDU)

  • determine when

determine when each vehicle (node) should issue a each vehicle (node) should issue a PDU PDU

  • the DIS

the DIS standard standard defines 27 different defines 27 different PDUs PDUs

  • nly 4 of them interact with
  • nly 4 of them interact with the environment

the environment

  • entity state, fire, detonation, and collision

entity state, fire, detonation, and collision

  • the rest

the rest of

  • f the defined

the defined PDUs PDUs

  • simulation control, electronic emanations, and supporting

simulation control, electronic emanations, and supporting actions actions

  • not supported and disregarded by most DIS applications

not supported and disregarded by most DIS applications

Issuing Issuing PDUs PDUs

  • The vehicle’s node is responsible

The vehicle’s node is responsible of

  • f issuing

issuing PDUs PDUs

  • entity state PDU

entity state PDU

  • when

when position position, orientation, , orientation, velocity changes velocity changes sufficiently (i.e., sufficiently (i.e., others

  • thers

cannot accurately predict the cannot accurately predict the position any more) position any more)

  • as a heartbeat if

as a heartbeat if the time the time threshold (5 threshold (5 seconds) is seconds) is reached after reached after the last the last entity state PDU entity state PDU

  • fire PDU

fire PDU

  • detonation PDU

detonation PDU

  • a fired projectile explodes

a fired projectile explodes

  • node’s vehicle has died (death self

node’s vehicle has died (death self-

  • determination)

determination)

  • collision PDU

collision PDU

  • vehicle has collided with something

vehicle has collided with something

  • detection is

detection is left up left up to the individual node to the individual node

Lost Lost PDUs PDUs 1 (2) 1 (2)

  • Packets are sent via unreliable UDP broadcast

Packets are sent via unreliable UDP broadcast

  • State tables may differ among the hosts

State tables may differ among the hosts

  • Lost detonation PDU

Lost detonation PDU

‘ ‘from from the the afterlife’ afterlife’

Lost Lost PDUs PDUs 2 (2) 2 (2)

  • Lost entity state

Lost entity state PDU PDU

  • not a big problem

not a big problem

  • larger jumps on the display

larger jumps on the display

  • Lost fire

Lost fire PDU PDU

  • receive entity state PDU for which no ghost entry exists

receive entity state PDU for which no ghost entry exists

  • Lost collision

Lost collision PDU PDU

  • continue to display a vehicle as live

continue to display a vehicle as live

  • next heartbeat packet solves the situation

next heartbeat packet solves the situation

slide-3
SLIDE 3

3

The Fully The Fully Distributed, Heterogeneous Distributed, Heterogeneous Nature Nature of DIS

  • f DIS
  • Any computer that

Any computer that reads/writes reads/writes PDUs PDUs and manages the state of and manages the state of those those PDUs PDUs can can participate a DIS environment participate a DIS environment

  • The virtual environment can include

The virtual environment can include

  • virtual players

virtual players (humans (humans at at computer computer consoles) consoles)

  • constructive players (computer

constructive players (computer-

  • driven players)

driven players)

  • live players (actual weapon systems)

live players (actual weapon systems)

  • Problem of the advantages of the low

Problem of the advantages of the low-

  • end

end machines machines

  • the less details in the scenery, the better visuality

the less details in the scenery, the better visuality

  • Problems with

Problems with modelling modelling

  • dynamic terrain

dynamic terrain

  • soil

soil movement movement

  • environmental effects

environmental effects

  • weather, smoke,

weather, smoke, dust,… dust,…

High High-

  • Level Architecture (HLA)

Level Architecture (HLA)

  • Aims at providing a general architecture and services for

Aims at providing a general architecture and services for distributed data exchange. distributed data exchange.

  • While the DIS protocol is closely linked with the properties of

While the DIS protocol is closely linked with the properties of military military units and vehicles, HLA does not prescribe any units and vehicles, HLA does not prescribe any specific implementation or technology. specific implementation or technology.

  • could be used also with non

could be used also with non-

  • military applications (e.g., computer

military applications (e.g., computer games) games)

  • targeted towards new simulation developments

targeted towards new simulation developments

  • HLA was issued as IEEE Standard 1516 in 2000.

HLA was issued as IEEE Standard 1516 in 2000.

Academic Academic Research Research

  • DoD’s projects

DoD’s projects

  • large

large-

  • scale

scale NVEs NVEs

  • most

most of the research is unavailable

  • f the research is unavailable
  • lack

lack-

  • of
  • f-
  • availability

availability, lack , lack-

  • of
  • f-
  • generality

generality

  • Academic community has reinvented, extended, and

Academic community has reinvented, extended, and documented what documented what DoD DoD has done has done

  • PARADISE

PARADISE

  • DIVE

DIVE

  • BrickNet

BrickNet

  • and many more…

and many more…

PARADISE PARADISE

  • Performance Architecture for Advanced Distributed Interactive

Performance Architecture for Advanced Distributed Interactive Simulations Environments (PARADISE) Simulations Environments (PARADISE)

  • Initiated in 1993 at Stanford University

Initiated in 1993 at Stanford University

  • A design for a network architecture for

A design for a network architecture for thousands of thousands of users users

  • Assign a different multicast address to each active object

Assign a different multicast address to each active object

  • Object updates similar

Object updates similar to to SIMNET and DIS SIMNET and DIS

  • A hierarchy of

A hierarchy of area area-

  • of
  • f-
  • interest

interest servers servers

  • monitor the positions of objects

monitor the positions of objects

  • which multicast addresses are relevant

which multicast addresses are relevant

S

DIVE DIVE

  • Distributed Interactive Virtual

Distributed Interactive Virtual Environment (DIVE) Environment (DIVE)

  • Swedish Institute of Computer

Swedish Institute of Computer Science Science

  • To solve problems of

To solve problems of collaboration and interaction collaboration and interaction

  • Simulate a large shared memory

Simulate a large shared memory

  • ver a network
  • ver a network
  • Distributed, fully replicated

Distributed, fully replicated database database

  • Entire database is dynamic

Entire database is dynamic

  • add new objects

add new objects

  • modify the existing databases

modify the existing databases

  • reliability

reliability and and consistency consistency

BrickNet BrickNet

  • National

National University of Singapore, University of Singapore, started in 1991 started in 1991

  • Support for graphical,

Support for graphical, behavioural behavioural, and network , and network modelling modelling of virtual worlds

  • f virtual worlds
  • Allows objects to be shared by

Allows objects to be shared by multiple multiple virtual worlds virtual worlds

  • No replicated database

No replicated database

  • The virtual world is partitioned

The virtual world is partitioned among the various clients among the various clients

PowerPC 7 1 3 7
slide-4
SLIDE 4

4

Other Academic Projects Other Academic Projects

  • MASSIVE

MASSIVE

  • different interaction media: graphics, audio and text

different interaction media: graphics, audio and text

  • awareness

awareness-

  • based filtering: each entity expresses a focus and nimbus for ea

based filtering: each entity expresses a focus and nimbus for each ch medium medium

  • Distributed Worlds Transfer and Communication Protocol (DWTP)

Distributed Worlds Transfer and Communication Protocol (DWTP)

  • each object can specify whether a particular event requires a re

each object can specify whether a particular event requires a reliable liable distribution and what is the event’s maximum update frequency distribution and what is the event’s maximum update frequency

  • Real

Real-

  • Time Transport Protocol (RTP/I)

Time Transport Protocol (RTP/I)

  • ensures that all application instances look as if all operations

ensures that all application instances look as if all operations have been have been executed in the same order executed in the same order

  • Synchronous Collaboration Transport Protocol (SCTP)

Synchronous Collaboration Transport Protocol (SCTP)

  • collaboration on closely coupled, highly synchronized tasks

collaboration on closely coupled, highly synchronized tasks

  • the interaction stream has critical messages (especially the las

the interaction stream has critical messages (especially the last one) which are t one) which are sent reliably, while the rest are sent by best effort transport sent reliably, while the rest are sent by best effort transport

Networked Demos and Games Networked Demos and Games

  • SGI

SGI Flight Flight

  • 3D aeroplane simulator demo

3D aeroplane simulator demo for Silicon for Silicon Graphics workstation, Graphics workstation, 1983 1983– – 84 84

  • serial

serial cable between two workstations cable between two workstations

  • Ethernet network

Ethernet network

  • users could see each other’s planes, but no

users could see each other’s planes, but no interaction interaction

  • SGI

SGI Dogfight Dogfight

  • modification of

modification of Flight Flight, 1985 , 1985

  • interaction by shooting

interaction by shooting

  • packets were transmitted at frame

packets were transmitted at frame rate → clogged rate → clogged the network the network

  • limited up

limited up to ten to ten players players

  • Falcon A.T.

Falcon A.T.

  • commercial game by Spectrum

commercial game by Spectrum Holobyte, 1988 Holobyte, 1988

  • dogfighting between two players

dogfighting between two players using a modem using a modem

Networked Networked Games: Games: Doom Doom

  • id Software, 1993

id Software, 1993

  • First

First-

  • person

person shooter shooter (FPS) (FPS) for PCs for PCs

  • Part of the game was

Part of the game was released as shareware released as shareware in in 1993 1993

  • extremely popular

extremely popular

  • created a gamut of variants

created a gamut of variants

  • Flooded LANs with packets

Flooded LANs with packets at frame rate at frame rate

Networked Games: ‘First Generation’ Networked Games: ‘First Generation’

  • Peer

Peer-

  • to

to-

  • peer architectures

peer architectures

  • each participating computer is an equal to every other

each participating computer is an equal to every other

  • inputs and outputs are synchronized

inputs and outputs are synchronized

  • each computer executes the same code on the same set of data

each computer executes the same code on the same set of data

  • Advantages:

Advantages:

  • determinism ensures that each player has the same virtual enviro

determinism ensures that each player has the same virtual environment nment

  • relatively simple to implement

relatively simple to implement

  • Problems:

Problems:

  • persistency: players cannot join and leave the game at will

persistency: players cannot join and leave the game at will

  • scalability: network traffic explodes with more players

scalability: network traffic explodes with more players

  • reliability: coping with communication failures

reliability: coping with communication failures

  • security: too easy to cheat

security: too easy to cheat

Networked Games: ‘Second Generation’ Networked Games: ‘Second Generation’

  • Client

Client-

  • server architectures

server architectures

  • ne computer (a server) keeps the game state and makes decisions
  • ne computer (a server) keeps the game state and makes decisions on
  • n

updates updates

  • clients convey players’ input and display the appropriate output

clients convey players’ input and display the appropriate output but do but do not inlude (much) game logic not inlude (much) game logic

  • Advantages:

Advantages:

  • generates less network traffic

generates less network traffic

  • supports more players

supports more players

  • allows persistent virtual worlds

allows persistent virtual worlds

  • Problems:

Problems:

  • responsiveness: what if the connection to the server is slow or

responsiveness: what if the connection to the server is slow or the the server gets overburdened? server gets overburdened?

  • security: server authority abuse, client authority abuse

security: server authority abuse, client authority abuse

Networked Games: ‘Third Generation’ Networked Games: ‘Third Generation’

  • Client

Client-

  • server architecture with prediction algorithms

server architecture with prediction algorithms

  • clients use dead reckoning

clients use dead reckoning

  • Advantages:

Advantages:

  • reduces the network traffic further

reduces the network traffic further

  • copes with higher latencies and packet delivery failures

copes with higher latencies and packet delivery failures

  • Problems:

Problems:

  • consistency: if there is no unequivocal game state,

consistency: if there is no unequivocal game state, how to solve how to solve conflicts as they arise? conflicts as they arise?

  • security: packet interception, look

security: packet interception, look-

  • ahead cheating

ahead cheating

slide-5
SLIDE 5

5

Networked Games: ‘Fourth Generation’ Networked Games: ‘Fourth Generation’

  • Generalized client

Generalized client-

  • server architecture

server architecture

  • the game state is stored in a server

the game state is stored in a server

  • clients maintain a subset of the game state locally to reduce

clients maintain a subset of the game state locally to reduce communication communication

  • Advantages:

Advantages:

  • traffic between the server and the clients is reduced

traffic between the server and the clients is reduced

  • clients can response more promptly

clients can response more promptly

  • Problems:

Problems:

  • boundaries: what data is kept locally in the client?

boundaries: what data is kept locally in the client?

  • updating: does the subset of game state change over time?

updating: does the subset of game state change over time?

  • consistency: how to solve conflicts as they occur?

consistency: how to solve conflicts as they occur?

Future Trends? Future Trends? Part 1: Massive Multiplayer Online Games Part 1: Massive Multiplayer Online Games

N N/

/A

A

2003 2003 LucasArts LucasArts Star Wars Galaxies Star Wars Galaxies 97,000 97,000 2002 2002 Electronic Arts Electronic Arts Sims Online Sims Online 250,000 250,000 2001 2001 Sierra Studios Sierra Studios Dark Age of Dark Age of Camelot Camelot

N N/

/A

A

1999 1999 Microsoft Microsoft Asheron’s Call Asheron’s Call 430,000 430,000 1999 1999 Sony Entertainment Sony Entertainment EverQuest EverQuest 250,000 250,000 1997 1997 Origin Systems Origin Systems Ultima Online Ultima Online Subscribers Released Publisher Name

source: source: ht t p: / / www. m m

  • r pg. com

ht t p: / / www. m m

  • r pg. com

Future Trends? Future Trends? Part 2: Location Part 2: Location-

  • Based Games

Based Games

  • ARQuake

ARQuake, School of Computer , School of Computer and Information Science, and Information Science, University of South Australia University of South Australia

  • augmented reality version of

augmented reality version of Quake Quake: walk around in the real : walk around in the real world and play world and play Quake Quake against against virtual monsters virtual monsters

  • components

components

  • head mounted display

head mounted display

  • mobile computer

mobile computer

  • head tracker

head tracker

  • GPS system

GPS system

Communication Layers (Revisited) Communication Layers (Revisited)

  • physical platform

physical platform

  • bandwidth, latency

bandwidth, latency

  • unicasting, multicasting, broadcasting

unicasting, multicasting, broadcasting

  • TCP/IP, UDP/IP

TCP/IP, UDP/IP

  • logical platform

logical platform

  • peer

peer-

  • to

to-

  • peer, client

peer, client-

  • server, server

server, server-

  • network

network

  • centralized, replicated, distributed

centralized, replicated, distributed

  • networked application

networked application

  • military simulations, networked virtual environments

military simulations, networked virtual environments

  • multiplayer computer games

multiplayer computer games