Difference between revisions of "Dev:Network Games Related Work"
Line 3: | Line 3: | ||
** used by among others [[media:delaney-presence-2007.pdf|Delaney - Presence 2007]] | ** used by among others [[media:delaney-presence-2007.pdf|Delaney - Presence 2007]] | ||
** Includes any of the following: | ** Includes any of the following: | ||
− | * '''DIS''' = Distributed Interactive Simulations | + | *** '''DIS''' = Distributed Interactive Simulations |
− | ** Used by the military | + | **** Used by the military |
− | * '''NVE''' = Networked Virtual Environment | + | *** '''NVE''' = Networked Virtual Environment |
− | ** Singhal & Zyda 99 <insert reference> | + | **** Singhal & Zyda 99 <insert reference> |
− | * '''DIM''' = Distributed Interactive Media | + | *** '''DIM''' = Distributed Interactive Media |
− | ** Mauve01 <insert reference> | + | **** Mauve01 <insert reference> |
− | * '''NIE''' = Networked Interactive Environment | + | *** '''NIE''' = Networked Interactive Environment |
− | ** Capps, McDowell, Zyda 01 <insert reference> | + | **** Capps, McDowell, Zyda 01 <insert reference> |
− | * '''DVE''' = Distributed Virtual Environment | + | *** '''DVE''' = Distributed Virtual Environment |
− | ** Stytz96 <insert reference> | + | **** Stytz96 <insert reference> |
− | * '''CVE''' = Collaborative Virtual Environment | + | *** '''CVE''' = Collaborative Virtual Environment |
− | * '''DSE''' = Distributed Synthetic Environment | + | *** '''DSE''' = Distributed Synthetic Environment |
− | * '''SVE''' = Shared Virtual Environment | + | *** '''SVE''' = Shared Virtual Environment |
− | * '''CSCW''' = Computer Supported Cooperative Work | + | *** '''CSCW''' = Computer Supported Cooperative Work |
<br> | <br> | ||
Revision as of 21:25, 13 February 2009
Contents
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
- DIS = Distributed Interactive Simulations
Consistency is the degree to which users share the same view of the application state. It includes Delaney - Presence 2007
- 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
ISSUES IN SUPPORTING DIAs
Consistency vs Responsiveness
With 0 network latency and infinite bandwidth, a DIA could remain completely consistent and yet be highly responsive (i.e. change state rapidly). In the presence of network latency, however, the system will require time to reach a new consistent state. Thus when a state change is required, the system can either delay its response in order to fist reach a consistent state or it can process the change without guaranteeing complete consistency.
Fidelity is sacrificed in either case since fidelity represents how closely the simulation matches its real-world representation. Clearly inconsistencies harm fidelity as they lead to less accurate simulations. Decreased responsiveness also decreases fidelity since real events occur instantaneously. The importance of each aspect of fidelity is dependent upon the type of DIA. For instance, a fast-paced first-person shooter game must remain highly responsive but may tolerate certain types of inconsistencies. A shared whiteboard application, on the other hand, can tolerate some delay but should be consistent for all users.
It's important to notice that the fundamental problem to supporting DIAs is latency. Certain sources have found that for many DIAs, the variation in latency or "jitter", has the greatest impact on performance Delaney - Presence 2007. DIAs employ a wide range of Consistency Management Techniques, which are also known as latency hiding techniques, in order to maintain fidelity by balancing consistency with responsiveness in the face of latency. How best to manage this tradeoff depends on the requirements of the DIA.
Scalability
Scaling a DIA to support a larger number of users increases the computation that must be done by the nodes and increases the network bandwidth needed to communicate the state between the nodes. While adding more nodes can usually solve the computational burden, this increases the network bandwidth required as more endpoints in the network will need to share data. The exact architecture employed by each DIA will determine how the bandwidth requirements will increase with the number of users. To reduce the network bandwidth, DIAs employ a variety of Information Management Techniques.
TECHNIQUES
Consistency Management Techniques
- Lockstep Synchronization
- All nodes must acknowledged that they have completed their computation before they can advance their clocks.
- Ensures consistency but is not real-time
- Imposed Global Consistency
- Nodes must delay execution for a certain period to accommodate for network latency
- Examples include Bucket Synchronization
- Delayed Global Consistency
- "Users will perceive the same consistent state but potentially at different times"
- Useful in DIAs such as shared whiteboards.
- Time Warp
- Execute messages as soon as they arrive but rollback when a message is received with an earlier time-stamp
- Predictive Time Management
- Predict the occurrence of future events such as object collisions
- Send out event and predicted time of occurrence before they occur
- Concurrency
- A fast way of resolving conflict of ownership for entities
- Rather than using a traditional lock, each entity has a key that provides write permission
- The key remains with the node until another node requires it and the key can be preemptively fetched when a node predicts it will need it
Information Management Techniques
- Dead Reckoning
- A Prediction Technique is used to predict the state changes for objects in the absence of state updates
- When a state update is receives that contradicts the predicted state, a Convergence Technique is used to smoothly converge to the correct state in order to appear more natural to users
- Improves responsiveness at the cost of temporary inconsistencies
- Data Compression
- Internal Compression: uses an encoding that compresses data within a single packet and is not dependent on information sent before
- External Compression: uses an encoding across packets (e.g. delta encoding)
- Techniques can be "lossy" or "lossless"
- Can increase latency
- Packet Bundling/Aggregation
- Aggregate as much data as possible into a packet to reduce overhead of packet headers
- Can increase latency as the sending of data may be delayed so that it can be aggregated
- Relevance Filtering
- Also called Interest Management Techniques, these techniques attempt to exploit the locality of interest of users to reduce bandwidth
- These techniques typically include a method for expressing interest and for performing filtering based on these interests