Difference between revisions of "Dev:Network Games Related Work"
Line 18: | Line 18: | ||
* '''CSCW''' = Computer Supported Cooperative Work | * '''CSCW''' = Computer Supported Cooperative Work | ||
<br> | <br> | ||
+ | |||
+ | =Issues= | ||
'''Consistency''' is the degree to which users share the same view of the application state. It includes | '''Consistency''' is the degree to which users share the same view of the application state. It includes |
Revision as of 00:10, 13 February 2009
Terminology
- DIA = Distributed Interactive Applications
- used by among others Delaney - Presence 2007
- Includes any of the following:
- 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
Issues
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