Software architecture for modeling and distributing virtual environments

The simulation of a Virtual Environment (YE) is an intensive process which is severely limited if restricted to one machine. Through distribution it is possible to increase the size and accuracy of the simulation, thus permitting multiple users to interact with each other and the VIE. Existing distributed YE systems have been designed to target a specific level of distribution. This level is dictated by the geographical distance over which the systems must operate and the communications medium connecting them. The system requirements on a tightly-coupled multiprocessor system are not the same as those of a system operating over a Wide Area Network (WAN). Consequently, the solution for any given level does not scale well to larger or smaller system configurations. VE modeling has its heritage in Computer-Aided Design (CAD) and has evolved unchecked into its present state. As the amount of information required in a YE increases, so the current modeling techniques and tools are put under added stress to cope with the extra load. Most modeling techniques are driven by the structure of the system upon which the model must execute, rather than capturing the structure of the information it should represent. This thesis questions the motives behind YE modeling, examines the problems of distributing a YE and details the various solutions that have been employed. An analysis of the methods used leads to the selection of techniques which may be combined to provide a solution unified over all levels of distribution. The proposed solution is also integrated with and actively supports the modeling process, thus providing a powerful environment for VE designers and participants alike. The architecture of this system is presented complete with a description of a prototype implementation that demonstrates the key aspects. The thesis concludes with an evaluation of the prototype.

[1]  Christer Carlsson,et al.  DIVE - The Distributed Interactive Virtual Environment , 1994 .

[2]  K. H. Kim,et al.  Action-level fault tolerance , 1995 .

[3]  Chris Shaw,et al.  On temporal-spatial realism in the virtual reality environment , 1991, UIST '91.

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

[5]  David N. Lee,et al.  A Theory of Visual Control of Braking Based on Information about Time-to-Collision , 1976, Perception.

[6]  George Vanĕček,et al.  Collision Detection and Analysis in a Physically Based Simulation , 1991 .

[7]  Van Jacobson,et al.  TCP Extensions for High Performance , 1992, RFC.

[8]  Martin R. Stytz,et al.  A virtual cockpit for a distributed interactive simulation , 1994, IEEE Computer Graphics and Applications.

[9]  David R. Pratt,et al.  NPSNET: physically-based modeling enhancements to an object file format , 1992 .

[10]  Michael Zyda,et al.  NPSNET: Real-time collision detection and response , 1993, Comput. Animat. Virtual Worlds.

[11]  Mostafa H. Ammar,et al.  Single connection emulation (SCE): an architecture for providing a reliable multicast transport service , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[12]  Purificacion Matute,et al.  Transmission control protocol: darpa internet program protocol specification , 1981 .

[13]  Ken Pimentel,et al.  Virtual reality - through the new looking glass , 1993 .

[14]  David M. Piscitello,et al.  The Transmission of IP Datagrams over the SMDS Service , 1991, RFC.

[15]  P. Astheimer,et al.  What you see is what you hear-Acoustics applied in virtual worlds , 1993, Proceedings of 1993 IEEE Research Properties in Virtual Reality Symposium.

[16]  N. Carlson,et al.  Physiology of behavior (3rd ed.). , 1986 .

[17]  Chris Shaw,et al.  The MR Toolkit Peers Package and experiment , 1993, Proceedings of IEEE Virtual Reality Annual International Symposium.

[18]  Kees Overbeeke,et al.  Designing in virtual reality: implementing perception-action coupling with affordances , 1994 .

[19]  Steve Benford,et al.  A Spatial Model of Interaction in Large Virtual Environments , 1993, ECSCW.

[20]  H. G. Rotithor Taxonomy of dynamic task scheduling schemes in distributed computing systems , 1994 .

[21]  Thomas Christaller,et al.  Multiple vs. single inheritance in object-oriented programming languages , 1990, Microprocessing and Microprogramming.

[22]  M. Mon-Williams,et al.  Binocular vision in a virtual world: visual deficits following the wearing of a head‐mounted display , 1993, Ophthalmic & physiological optics : the journal of the British College of Ophthalmic Opticians.

[23]  Michael Zyda,et al.  NPSNET:A Network Software Architecture for LargeScale Virtual Environments , 1994, Presence: Teleoperators & Virtual Environments.

[24]  Warren Robinett,et al.  Synthetic Experience:A Proposed Taxonomy , 1992, Presence: Teleoperators & Virtual Environments.

[25]  Philip A. Wilsey,et al.  pGVT: an algorithm for accurate GVT estimation , 1994, PADS '94.

[26]  Stephen Cameron,et al.  Collision detection by four-dimensional intersection testing , 1990, IEEE Trans. Robotics Autom..

[27]  Richard L. Holloway Viper: A Quasi-Real-Time Virtual-Worlds Application , 1991 .

[28]  David Jefferson,et al.  Fast Concurrent Simulation Using the Time Warp Mechanism. Part I. Local Control. , 1982 .

[29]  Paulo Veríssimo,et al.  Reliable broadcast for fault-tolerance on local computer networks , 1990, Proceedings Ninth Symposium on Reliable Distributed Systems.

[30]  Christer Carlsson,et al.  DIVE A multi-user virtual reality system , 1993, Proceedings of IEEE Virtual Reality Annual International Symposium.

[31]  Chris Shaw,et al.  The decoupled simulation model for virtual reality systems , 1992, CHI '92.

[32]  Steve Bryson Interaction of objects in a virtual environment: a two-point paradigm , 1991, Electronic Imaging.

[33]  James M. Calvin,et al.  The SIMNET virtual world architecture , 1993, Proceedings of IEEE Virtual Reality Annual International Symposium.

[34]  Karsten Schwan,et al.  PORTS: a parallel, optimistic, real-time simulator , 1994, PADS '94.

[35]  G. vanRossum Extending and embedding the Python interpreter , 1995 .

[36]  E. Reed The Ecological Approach to Visual Perception , 1989 .

[37]  Brian E. Bliss Interactive steering using the application executive , 1991 .

[38]  Warren Katz Military networking technology applied to location-based, theme park and home entertainment systems , 1994, COMG.

[39]  R Kazamn HIDRA, AN ARCHITECTURE FOR HIGHLY DYNAMIC PHYSICALLY BASED MULTIAGENT SIMULATIONS , 1995 .

[40]  G. J. Jense,et al.  Virtual Environments for Advanced Trainers and Simulators , 1993 .

[41]  M. Milenkovitch Operating systems -- concepts and design , 1987 .

[42]  James A. Gosling,et al.  The java language environment: a white paper , 1995 .

[43]  F. Brooks,et al.  Feeling and seeing: issues in force display , 1990, ACM Symposium on Interactive 3D Graphics and Games.

[44]  Frederick P. Brooks,et al.  Using a manipulator for force display in molecular docking , 1988, Proceedings. 1988 IEEE International Conference on Robotics and Automation.

[45]  David L. Mills,et al.  Network Time Protocol (version 1) specification and implementation , 1988, RFC.

[46]  J. Mark Pullen,et al.  Networking for Distributed Virtual Simulation , 1994, Comput. Networks ISDN Syst..

[47]  Carlo H. Séquin,et al.  Adaptive display algorithm for interactive frame rates during visualization of complex virtual environments , 1993, SIGGRAPH.

[48]  Matthias Hemmje,et al.  Towards Agent - Based Modelling of Time and Dynamic Behaviour of Graphical Objects within Virtual Scenes , 1993 .

[49]  Adrian J. West,et al.  AVIARY:Design Issues for Future Large-Scale Virtual Environments , 1994, Presence: Teleoperators & Virtual Environments.

[50]  Rassul Ayani,et al.  Adaptive checkpointing in Time Warp , 1994, PADS '94.

[51]  Robert T. Braden,et al.  TIME-WAIT Assassination Hazards in TCP , 1992, RFC.

[52]  John N. Latta,et al.  A conceptual virtual reality model , 1994, IEEE Computer Graphics and Applications.

[53]  Peter Checkland,et al.  Systems Thinking, Systems Practice , 1981 .

[54]  Wolfgang Broll Interacting in distributed collaborative virtual environments , 1995, Proceedings Virtual Reality Annual International Symposium '95.

[55]  Randy F. Pausch,et al.  A Literature Survey for Virtual Environments: Military Flight Simulator Visual Systems and Simulator Sickness , 1992, Presence: Teleoperators & Virtual Environments.

[56]  Rick Kazman,et al.  Making WAVES: On the design of architectures for low-end distributed virtual environments , 1993, Proceedings of IEEE Virtual Reality Annual International Symposium.

[57]  Mark Laubach,et al.  Classical IP and ARP over ATM , 1994, RFC.

[58]  Andy Wheeler,et al.  The Design and Implementation of an Experimental Virtual Acoustic Display , 1993 .

[59]  Scott O. Bradner,et al.  The Recommendation for the IP Next Generation Protocol , 1995, RFC.

[60]  Satish K. Tripathi,et al.  Effect of topology on performance of reliable multicast communication , 1994, Proceedings of INFOCOM '94 Conference on Computer Communications.

[61]  Krithi Ramamritham,et al.  Evaluation of a flexible task scheduling algorithm for distributed hard real-time systems , 1985, IEEE Transactions on Computers.

[62]  H. Kopetz,et al.  A Reliable Multicast Protocol for Distributed Real-Time Systems , 1991 .

[63]  Stephen R. Ellis,et al.  What are virtual environments? , 1994, IEEE Computer Graphics and Applications.

[64]  Richard J. Lipton,et al.  T ime Warp vs. Chandy-Misra: A worst-case comparison , 1990 .

[65]  Bezalel Gavish,et al.  O(n) algorithms for load balancing in distributed computing systems , 1994, Comput. Oper. Res..

[66]  Sheng Cheng,et al.  Scheduling algorithms for hard real-time systems: a brief survey , 1989 .

[67]  Ronen Barzel,et al.  Physically-based modeling for computer graphics: a structured approach , 1992 .

[68]  Frederick P. Brooks,et al.  Towards image realism with interactive update rates in complex virtual building environments , 1990, I3D '90.

[69]  Rick Kazman,et al.  Load Balancing, Latency Management and Separation of Concerns in a Distributed Virtual World , 1996 .

[70]  R. Webb,et al.  Using dynamic bounding volume hierarchies to improve efficiency of rigid body simulations , 1992 .

[71]  David Betz Your own tiny object-oriented language , 1991 .

[72]  Larry L. Peterson,et al.  Univers: An attribute‐based name server , 1990, Softw. Pract. Exp..

[73]  Arnulf Remote,et al.  PICTORIAL COMMUNICATION IN VIRTUAL AND REAL ENVIRONMENTS , 1992 .

[74]  L. Sha,et al.  A systematic approach to designing distributed real-time systems , 1995, Computer.

[75]  Thomas W. Mastaglio,et al.  A Large-Scale Complex Virtual Environment for Team Training , 1995, Computer.

[76]  Michael Zyda,et al.  Exploiting reality with multicast groups: a network architecture for large-scale virtual environments , 1995, Proceedings Virtual Reality Annual International Symposium '95.

[77]  C. Grimsdale Virtual reality evolution or revolution , 1993 .

[78]  Raouf Boutaba,et al.  Load Balancing in Local Area Networks , 1992, NETWORKS.