Joining a Real-Time Simulation: Parallel Finite-State Machines and Hierarchical Action Level Methods for Mitigating Lag Time

Distributed virtual environments, which simulate an actual physical or imaginary world on a network and allow multiple participants to interact simultaneously with one another within it, are becoming increasingly important for both research and practical purposes. As the number of participants and the amount of information exchanged among participants increase, it is crucial to large-scale distributed virtual environments to overcome bandwidth limitations and resolve network latency and synchronization problems. We present a new framework, called MELD, for modeling distributed virtual environments using the pilot/drone paradigm, which allows each host to locally model remote entities in order to resolve latency problems and improve responsiveness. Our approach uses shared event queues and a cache coherence protocol to synchronize the pilot/drone. To further improve the system's scalability, interest management is used to filter unneeded data before a host receives it for processing. The partition, however, introduces the problem of dynamically joining a group in a real-time simulation. We address this problem by presenting a checkpoint/restart mechanism based on an action hierarchy and a parallel finite-state machine structure. Additionally, ALOD (action level of detail) is employed to mitigate the lag between pilot and drone at any joining time.

[1]  Prasun Dewan,et al.  Generic and Composable Latecomer Accomodation Service for Centralized Shared Systems , 1998, EHCI.

[2]  Ozalp Babaoglu,et al.  Consistent global states of distributed systems: fundamental concepts and mechanisms , 1993 .

[3]  Andrew S. Grimshaw,et al.  Process Introspection: A Heterogeneous Checkpoint/Restart Mechanism Based on Automatic Code Modification , 1997 .

[4]  Luis Serra,et al.  BrickNet: A Software Toolkit for Network-Based Virtual Worlds , 1994, Presence: Teleoperators & Virtual Environments.

[5]  Norman I. Badler,et al.  Simulating humans: computer graphics animation and control , 1993 .

[6]  Norman I. Badler,et al.  Time-critical human figure animation for interactive 3d visual simulation applications , 2000 .

[7]  J. M. Pullen,et al.  Networking technology and DIS , 1995 .

[8]  Norman I. Badler,et al.  Behavioral control for real-time simulated human agents , 1995, I3D '95.

[9]  D. C. Miller,et al.  SIMNET: the advent of simulator networking , 1995, Proc. IEEE.

[10]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[11]  Kirk L. Johnson,et al.  CRL: high-performance all-software distributed shared memory , 1995, SOSP.

[12]  References , 1971 .

[13]  Anoop Gupta,et al.  The Stanford Dash multiprocessor , 1992, Computer.

[14]  Ricardo Bianchini,et al.  The MIT Alewife machine: architecture and performance , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[15]  Satish K. Tripathi,et al.  Parallel and distributed simulation of discrete event systems , 1994 .

[16]  Daniel E. Lenoski,et al.  Scalable Shared-Memory Multiprocessing , 1995 .

[17]  Norman I. Badler,et al.  A Parameterized Action Representation for Virtual Human Agents , 1998 .

[18]  Sam Toueg,et al.  Fault-tolerant broadcasts and related problems , 1993 .

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

[20]  Sandeep Kishan Singhal,et al.  Effective remote modeling in large-scale distributed simulation and visualization environments , 1996 .

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

[22]  Norman I. Badler,et al.  Production and playback of human figure motion for visual simulation , 1995, TOMC.

[23]  Christer Carlsson,et al.  DIVE - A platform for multi-user virtual environments , 1993, Comput. Graph..

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