MaDViWorld: a software framework for massively distributed virtual worlds

The MaDViWorld project represents an original attempt to define an appropriate software architecture for supporting massively distributed virtual world systems. A non‐massively distributed virtual world system is typically engineered as a client–server application for which a single server or more rarely a small cluster of servers contain all the world pertinent data and assume the world accessibility, consistency and persistence. On the client side, many of them enable interaction with the other users and the various objects of the world. The main originality of our approach resides in the fact that the server part of the proposed system is no more limited to a few centralized servers, but can be distributed on arbitrarily many of them. Indeed, MaDViWorld, the prototypal software framework already implemented using Java and RMI by our group, allows for creating the rooms of a given world on several machines, each running the server application. It is then possible to connect the rooms by way of simple doors and to populate them with active objects. Finally, avatars managed by the client application visit the rooms and interact with the active objects either directly on the remote host or locally by cloning or transporting them first to the client machine. This paper draws from the experience gained with the development of our first prototype in order to discuss, both at the user's and the vi‐world developer's level, the main software engineering issues related to the implementation of such massively distributed virtual world systems. Copyright © 2002 John Wiley & Sons, Ltd.

[1]  Michael Zyda,et al.  NPSNET: constructing a 3D virtual world , 1992, I3D '92.

[2]  Harold Abelson,et al.  Turtle geometry : the computer as a medium for exploring mathematics , 1983 .

[3]  Daniel Thalmann,et al.  A Taxonomy of Networked Virtual Environments , 1999 .

[4]  Steve Benford,et al.  MASSIVE: a distributed virtual reality system incorporating spatial trading , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[5]  David Kirsh,et al.  Adaptive Rooms, Virtual Collaboration and Cognitive Workflow , 1998, CoBuild.

[6]  Jack A. Thorpe,et al.  The New Technology of Large Scale Simulator Networking: Implications for Mastering the Art of Warfighting , 1987 .

[7]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  Stephan Diehl Distributed virtual worlds - foundations and implementation techniques using VRML, Java, and CORBA , 2001 .

[10]  Anna Cicognani,et al.  A Linguistic Characterisation of Design in Text-Based Virtual Worlds , 1998 .

[11]  Elizabeth Reid,et al.  Cultural formations in text-based virtual realities , 1994 .

[12]  Pavel Curtis,et al.  Mudding: Social phenomena in text-based virtual realities. , 1997 .

[13]  Don Mitchell,et al.  The Architecture of a Distributed Virtual Worlds System , 1998, COOTS.

[14]  Esmond Pitt,et al.  java.rmi: The Remote Method Invocation Guide , 2001 .

[15]  Emmanuel Frécon,et al.  DIVE: a scaleable network architecture for distributed virtual environments , 1998, Distributed Syst. Eng..

[16]  A. J. Herbert,et al.  Mobile Java Objects , 1999 .

[17]  David Flanagan,et al.  Java enterprise in a nutshell - a desktop quick reference: covers J2EE 1.3 (2. ed.) , 1999 .

[18]  Quan Zhou,et al.  A Distributed Implementation of an N-body Virtual World Simulation , 1992 .

[19]  S. Wilson,et al.  Using CORBA Middleware to Support the Development of Distributed Virtual Environment Applications , 2001, WSCG.

[20]  Akim Demaille,et al.  A Framework to Dynamically Manage Distributed Virtual Environments , 2000, Virtual Worlds.

[21]  David Flanagan,et al.  Java examples in a nutshell , 1997 .

[22]  Sing Li,et al.  Professional Jini , 2000 .

[23]  Claudio Kirner,et al.  CORBA platform as support for distributed virtual environments , 1999, Proceedings IEEE Virtual Reality (Cat. No. 99CB36316).