Utilizing object-oriented databases for concurrency control in virtual environments

Virtual Reality Modeling Language (VRML) is widely used to represent, create, and display virtual reality objects and their environment. Some VRML applications require concurrent interaction by multiple users in a real-time distributed fashion. Such applications need a method for users to share and update the VRML objects in real-time. To allow concurrent shared real-time access, our approach is to store the VRML objects in an object-oriented database system (ObjectStore) in order to utilize the concurrency control mechanisms of the system. The authors present an architecture that allows multiple users to interact in a non-trivial way in such a shared VRML environment. We outline how the VRML world can be saved in ObjectStore and implement a series of test cases demonstrating concurrency issues arising from simultaneous updates. Our architecture uses ordinary Java enabled Web browsers with a VRML plug-in. A commercial Web server routes client requests to a custom application server which interacts with the object-oriented database. As users change the VRML world, our application server orders the requests and updates the master copy in the database.