Dev:Network Games Related Work

From ARL Wiki
Revision as of 00:09, 13 February 2009 by Mart Haitjema (talk | contribs)
Jump to navigationJump to search

Terminology

  • DIA = Distributed Interactive Applications
  • DIS = Distributed Interactive Simulations
    • Used by the military
  • NVE = Networked Virtual Environment
    • Singhal & Zyda 99 <insert reference>
  • DIM = Distributed Interactive Media
    • Mauve01 <insert reference>
  • NIE = Networked Interactive Environment
    • Capps, McDowell, Zyda 01 <insert reference>
  • DVE = Distributed Virtual Environment
    • Stytz96 <insert reference>
  • CVE = Collaborative Virtual Environment
  • DSE = Distributed Synthetic Environment
  • SVE = Shared Virtual Environment
  • CSCW = Computer Supported Cooperative Work


Consistency is the degree to which users share the same view of the application state. It includes

  • Synchronization: Time of events relative to other events are the same across the DIA
  • Causality: cause/effect ordering is maintained
  • Concurrency: Simultaneous execution of events by different users on same entity

Responsiveness is the time taken for the system to register and respond to a user event. Delaney - Presence 2007

Fidelity is the degree to which the virtual representations are similar to their real-world representations. Delaney - Presence 2007 & IEEE95


Consistency vs Performance

With infinite bandwidth and 0 network latency, a DIA could remain completely consistent and yet be extremely responsive (i.e. change state rapidly). In the presence of network latency, however, the system will require time to reach a new consistent state when a change in state is required. When a state change is requested, the system can either delay its response to reach a consistent state or process the change without guaranteeing complete consistency.
Fidelity is sacrificed either way since fidelity represents how closely the simulation matches its real-world representation. Inconsistencies mean the simulation does not accurately match it's real-world representation. Decreased responsiveness also decreases fidelity since real events occur instantaneously.

To manage this tradeoff, DIAs use Consistency Management Techniques.


Scalability

Scaling a DIA will primarily require more bandwidth from the network. The exact architecture will determine how the bandwidth requirements increase with the number of users. To reduce bandwidth, DIAs employ a variety of Information Management Techniques.


Unlike other distributed systems, however, they can trade consistency for responsiveness and fidelity.


DIAs can be broken into 3-different classes:Smed - TCCS 2002

  • Military Simulations
  • NVEs
  • MCGs (Multiplayer Computer Games)


I don't like this categorization. I think it's more appropriate to break it into DIAs that require tight consistency vs those that require high-performance and fidelity.

With 0 latency and infinite bandwidth then a DIA could be as dynamic (fast-paced state changes) as you want but would still be 100% consistent. In reality, we trade some consistency for performance. We also employ techniques to hide effects of latency and minimize bandwidth.
Consistency Maintenance Mechanisms are used to:

  • Hide latency
  • Maintain some level of consistency