Active Transactions in Collaborative Virtual Environments

Collaborative Virtual Environments (CVE) 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. Simple models are often not providing enough flexibility and performance while advanced models thend to be quite complex and difficult to design. Active transactions were designed to overcome this limitations and they were encapsulated into the library making their reusability among CVE applications easy.

Active transaction model is a novel consistency model for Collaborative Virtual Environments (CVE). The active transactions consistency model is focused on strength of the consistency guarantees and usability because high consistency guarantees results often in simple design of CVE system. Theoretical foundations of active transactions are based on active replication from distributed systems and transaction concept from database systems. Both concepts were modified and adapted to reach the performance requirements of CVE systems.

Instead of designing a completely new API for CVE applications and going through many design mistakes, it was decided to use well designed and standardized API for high-level 3D scenes handling of developed by SGI – Open Inventor. CVE algorithms are implemented as an extension that is providing Open Inventor by collaborative scene capabilities, automatically handling updates and keeping the data consistent.

Related papers:

Download:

     zipped sources (~10MB) - contains Collaborative library and DBalls demo
     precompiled binaries for MSVC 8 (~12MB) - development files of Collaborative library

Demos and screenshots:

 

Multi-user Flight Simulator

Two fighters are flying over the infinite landscape. They can see each other and fly together. The movements of fighters are synchronized using active transactions. The application was demonstrated on INTETAIN 2005 conference.

Demo: win32 binaries (~3.2 MB)


 

Distributed Virtual Meeting Room

Distributed Virtual Meeting Room is an application for collaborative interaction of more people in a shared virtual room. The application was developed with cooperation between University of Twente (NL) and Brno University of Technology (CZ) for AMI (Augmented Multi-modal Interaction) European research project using active transactions.


 

Collaborative Data Sharing

Collaborative data sharing (CDS) was developed for AMI (Augmented Multi-modal Interaction) European research project using active transactions. The application enables group of people to collaboratively manipulate and examine the shared data set.


 

Distributed Billiard

Distribute billiard is a CVE application for testing and demonstration of advanced features of active transactions. It simulates movements of several moving objects with big amount of interaction. The balls are moving and they are crashing to each other. The application is aimed to demonstrate advanced properties of Active Transactions, such as speculative execution abilities that may enormously increase the responsibility of the application.

Demo: DBalls-bin.zip (~2.1 MB)

Video: DistributedBilliard.wmv (~11 MB)


 

Collaborative Viewer

Collaborative viewer is an application for the collaborative object viewing. The viewer is based on Open Inventor and it was developed to verify the idea that some stand-alone applications can be turned to the collaborative one by just extending the scene graph by the collaborative algorithms. Not even a single line of code was changed inside ivview.

Demo: win32 binaries (~3.2 MB)


 

Collaborative Maze

Maze is one of standard demonstration games coming with Open Inventor library. Maze is designed in a way that not all scene-related state is stored in the scene graph. As a result, if Open Inventor library is changed to the one that contains collaborative extension, the user is experiencing jerky movements. The scene consistency is never broken, but Collaborative Maze is one example of applications that should be adapted to be smoothly used as collaborative applications.

Demo: win32 binaries (~3.2 MB)


 

Distributed Cyclotron

Distributed Cyclotron is computing intensive distributed simulation to measure performance characteristics of active transactions. The electrons are emitted from emitter and accelerated by magnetic field until they left the cyclotron. The electrons are distributed among the computers to distribute the computing load.

 


This page is maintained by PC John (peciva@fit.vutbr.cz,
http://www.fit.vutbr.cz/~peciva/
). Last modified: 2008-01-22