Collaborative virtual environment

Collaborative virtual environments are used for collaboration and interaction of possibly many participants that may be spread over large distances. Typical examples are distributed simulations, 3D multiplayer games, collaborative engineering software, collaborative learning applications,[1] and others. The applications are usually based on the shared virtual environment. Because of the spreading of participants and the communication latency, some data consistency model have to be used to keep the data consistent.

The consistency model influences deeply the programming model of the application. One classification is introduced in [2] based on several criteria, like centralized/distributed architecture, type of replication, and performance and consistency properties. Four types of consistency models were described, covering the most frequently used types of collaborative virtual environment architecture:

Collaborative virtual environment architectures:

Centralized primaires
Distributed Primaries
 
Data ownership
Active Replication
 
  • Centralized primaries
All primary replicas of each data item resides on the same computer called server.
Advantages: complete server control over the scene
Disadvantages: performance is limited by the server computer
  • Distributed primaries
Primary replicas are distributed among the computers.
Advantages: high performance and scalability
Disadvantages: difficult programming model, weaker consistency
Used in: Distributed Interactive Simulation, Repo-3D,[3][4]
  • Data ownership
Primaries are allowed to migrate among the computers. This approach is often called system with transferable data ownership.
Advantages: more flexibility compared to Distributed Primaries
Disadvantages: high amount of ownership requests may limit the system performance
Used in: MASSIVE-3/HIVEK, Blue-c, CIAO,[5] SPLINE
Active transactions
  • Active replication
Active replication uses peer-to-peer approach while all replicas are equal. Usually, atomic broadcast is used to deliver updates to all of them, thus they are kept synchronized.
Advantages: complete scene synchronization (equal scene content on all computers)
Disadvantages: the performance is limited by the slowest computer in the system
Used in: active transactions, Age of Empires, Avango, DIVE

References

  1. ^ Sedlák, Michal; Šašinka, Čeněk; Stachoň, Zdeněk; Chmelík, Jiří; Doležal, Milan (2022-10-18). "Collaborative and individual learning of geography in immersive virtual reality: An effectiveness study". PLOS ONE. 17 (10): e0276267. Bibcode:2022PLoSO..1776267S. doi:10.1371/journal.pone.0276267. ISSN 1932-6203. PMC 9578614. PMID 36256672.
  2. ^ Pečiva, J. 2007. Active Transactions in Collaborative Virtual Environments. PhD Thesis, Brno, Czech Republic, FIT VUT, ISBN 978-80-214-3549-0
  3. ^ MacIntyre, B.; Feiner, S (July 1998). A distributed 3D graphics library (PDF). SIGGRAPH '98 – Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques. New York, NY. pp. 361–370. doi:10.1145/280814.280935.
  4. ^ DIV, DOOM
  5. ^ Sung, U., Yang, J., and Wohn, K. 1999. Concurrency Control in CIAO. In Proceedings of the IEEE Virtual Reality (March 13 – 17, 1999). VR. IEEE Computer Society, Washington, DC, 22