Collaborative virtual environment

Collaborative virtual environments, or CVEs, 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, 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 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 CVE architectures: