Synchronous collaborative systems for distributed virtual environments in Java

This paper presents a 3D-distributed virtual environment, which allows for the creation of applications to enable multiple users to collaboratively interact in, and communicate about, a virtual world. This virtual environment is used to primarily support a flight simulator application by providing communications routines and networking synchronisation between the client and the server. Four server client synchronisation methods were developed and compared. The method of transparent synchronisation with non-blocking I/O has been found to be the best method for maintaining synchronisation among distributed virtual environments using Java. The successful creation of the distributed virtual environment and the positive results collected in the supporting experimental data, leads to the conclusion that Java, with the addition of the non-blocking I/O Java.NIO.channels API and the Java 3D API, can be successfully used to create high-performance distributed 3D-virtual environments.

[1]  Steve Pettifer,et al.  Subjectivity and the relaxing of synchronization in networked virtual environments , 1999, VRST '99.

[2]  Mark R. Mine,et al.  Building a massively multiplayer game for the million: Disney's Toontown Online , 2003, CIE.

[3]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

[4]  Maria Roussou,et al.  Learning by doing and learning through play: an exploration of interactivity in virtual environments for children , 2004, CIE.

[5]  Chris Stephenson,et al.  Language Choice and Key Concepts in Introductory Computer Science Courses , 1998 .

[6]  Steve Pettifer,et al.  DEVA3: architecture for a large-scale distributed virtual reality system , 2000, VRST '00.

[7]  Stephen John Turner,et al.  Time-space consistency in large-scale distributed virtual environments , 2004, TOMC.

[8]  Philippe Coiffet,et al.  Virtual Reality Technology , 2003, Presence: Teleoperators & Virtual Environments.

[9]  Rynson W. H. Lau,et al.  Supporting continuous consistency in multiplayer online games , 2004, MULTIMEDIA '04.

[10]  Shervin Shirmohammadi,et al.  An end-to-end communication architecture for collaborative virtual environments , 2001, Comput. Networks.

[11]  Mark Lehto,et al.  A review of: “Virtual Reality Technology” Grigore Burdea and Philippe Coiffet John Wiley & Sons, Inc., 1994 , 1996 .

[12]  Steve Benford,et al.  Coping with inconsistency due to network delays in collaborative virtual environments , 1999, VRST '99.

[13]  Yutaka Ishibashi,et al.  Causality and media synchronization control for networked multimedia games: centralized versus distributed , 2003, NetGames '03.

[14]  Mingyu Lim,et al.  ATLAS: a scalable network framework for distributed virtual environments , 2002, CVE '02.

[15]  Mel Slater,et al.  Component framework infrastructure for virtual environments , 2000, CVE '00.

[16]  Nicolas D. Georganas,et al.  A lightweight multi-session synchronous multimedia collaborative environment , 2003 .

[17]  Brad J. Cox,et al.  Object-oriented programming ; an evolutionary approach , 1986 .

[18]  Shaun Bangay Experiences in porting a virtual reality system to Java , 2001, AFRIGRAPH '01.

[19]  Abdulmotaleb El-Saddik,et al.  JASMINE: A Java Tool for Multimedia Collaboration on the Internet , 2003, Multimedia Tools and Applications.

[20]  Meredith Bricken,et al.  Virtual reality learning environments: potentials and challenges , 1991, COMG.

[21]  Nick Hedley,et al.  Web3D in ocean science learning environments: virtual big beef creek , 2002, Web3D '02.

[22]  Michael Zyda,et al.  Networked virtual environments - desgin and implementation , 1999 .

[23]  Sugih Jamin,et al.  An Efficient Synchronization Mechanism for Mirrored Game Architectures , 2002, NetGames '02.

[24]  J. Leigh,et al.  Issues in the Design of a Flexible Distributed Architecture for Supporting Persistence and Interoperability in Collaborative Virtual Environments , 1997, ACM/IEEE SC 1997 Conference (SC'97).

[25]  Sandeep Singhal,et al.  Networked virtual environments , 1999 .

[26]  Athomas Goldberg,et al.  Java technologies for games , 2004, CIE.