VR News http://www.vrnews.com

March 1999 Tech Review

Network VR Tools

By Jerry Isdale

Collaborative multiuser cyberspace is one of the great visions of VR. Bernie’s Shared Worlds column is taking a long and in depth look at the key technical challenges facing the world builders over the course of this year. Here we will be taking a quick look into the network level technology. This is a deep and rich area of virtual reality with many technical issues and lots of alternative solutions. A good discussion of the technology has been presented at a couple past SIGGRAPH conferences. The notes for the 1998 course "Beyond Bottlenecks and Roadkblocks: Internetworked 3D Computer Graphics" is available starting at http://www.crcg.edu/events/sig98/theresa/intro-netgraf.html . Don Brutzman’s portion is based on his chapter in the book Digital Illusions, also available online (see links in course notes). It provides an excellent discussion of the issues and some solutions with lots of references.

There are two main phases to shared virtual environments - setting them up and keeping them going. Setting up covers the distribution and installation of the required software and databases, as well as the initiation of action and (partially) entrance of individuals. Large, complex VE require significant setup time and are usually distributed well in advance of actually running. Distribution may be done over the net, but often physical media are used. A truck load of DVD’s represents a very large bandwidth. VRML was created largely to provide a standard format for distribution of worlds, although it extends well beyond that goal now. As a distribution mechanism, it is widely accepted but a bit verbose. The MPEG-4 SNHC (Synthetic- Natural Hybrid Coding ) seeks to address some aspects of distribution of VE through compression of the object descriptions as does the VRML/Web3D Binary Format Working Group . Initiation of action and entrance of individuals are part of the administration of a shared world.

Keeping a world going is a much bigger problem. Changes must be communicated to participants fairly quickly and reliably. Latency in distribution of updates can cause many problems keeping worlds consistent. Complex worlds may require sending very large amounts of data, such as human or other articulated object position tracking. If there are a very small number of nodes in the network, it may be possible to send all changes directly from the originator to the other nodes. Highly interactive worlds operating on a LAN, or using very high speed long distance connections are possible. A number of projects have used ISDN and ATM lines and custom protocols to connect two sites. The CAVERN (CAVE Research Net) has shown a number of such applications. SGI has a demonstration program called "Share3D" they make available to RealityCenter customers that allows a limited number of participants. The Virtual Life Network (VLNet), ACTS COVEN, CAVERN are a few examples of European projects with limited nodes.

Scaling up to many participants, greatly complicates the distribution of changes. Almost all such systems are built on the Internet Protocol (IP), which offers a flexible, extensible, and fairly standard base. Bernie’s Shared Worlds column talks a bit about the differences of UDP, TCP and Multicast IP A multicast based solution greatly reduces the bandwidth required to distribute updates, since a single packet is delivered to multiple nodes. However, connecting to the Mbone requires special network setup and only a small (but growing) percentage of the Internet users have access at present. Multicast is generally not a reliable protocol, so dropped packets can result in inconsistent worlds. The systems I surveyed often use some combination of these protocols.

This leads to the next major choice in networking - the degree of distribution which can range from a highly centralized server with many clients, to a fully distributed environment. The mother of all networked virtual worlds was the DARPA SIMNET project for training groups of tank crews. This project was very successful and lead to the development of the IEEE 1278 standard Distributed Interactive Simulation (DIS) protocol. Each simulator in a DIS environment maintains its own world model, using a both a high and low fidelity model for itself and lower fidelity models for others. The low fidelity models generally operate on simple dead reckoning based on position, and velocity. When the simulator’s own high and low fidelity models differ by some predetermined amount, an Entity State Protocol Data Unit (PDU) is broadcast. Other nodes use this PDU to update their low fidelity models. DIS defines a fairly large number of Protocol Data Units (PDUs) for simulation management, radio communication, sensors interactions, etc. The most common PDU is the Entity State PDU, which provides the location, velocity, among other parameters. DIS has been widely used for military and some entertainment simulators. One of the largest military exercises had over 5000 entities, although that does not mean 5000 separate simulators and people since some entities are controlled as a group. The DIS community has been developing a follow-on technology called High Level Architecture or HLA to address simulator interoperability. Mak Technologies, MetaVR and SAIC SIMTools are the primary commercial providers of DIS libraries. All have been used for entertainment as well as military and other training environments. The Web 3D Consortium (aka VRML.org) has a DIS-Java-VRML working group that developed a freely available implementation.

The client-server model for networked worlds is very common. It provides a central server that coordinate’s the world, receiving individual updates and resending them other participants. Some systems have the server doing the bulk of the simulation, while others simply use it to reflect the updates. Commercial game systems often use this model, since it allows for central control over paying particpants. Chat worlds such as Blaxxun, ActiveWorlds and Bang also use client-server solutions. The bottleneck for client-server systems is primarily the server’s network connection, with each client needing one or more connections. There are several open source client server systems such as VNET’s VRML Interchange Protocol (VIP) and Deep Matrix. VR-1 and RTime are two commercial client-server network solutions targeted primarily at the on-line game market. RTime provides both voice and game data and allows client and server controls to automate the amount and type of data delivered based on connection speed. VRT’s Paraworld uses RTime coupled with Supercape viscape. Sense8 offers a sophisticated client-server system in their World2World product, aimed at the more traditional collaborative training, engineering and data exploration markets.

Another very interesting W3C working group is the Virtual Reality Transport Protocol (VRTP) group, which was chartered shortly before the VRML 99 conference. It seeks to provide a public domain software that will provide support linked VRML worlds with client, server, peer-to-peer and network monitoring capabilities. The initial papers on VRTP are available at http://www.vrml.org/WorkingGroups/vrtp as is a hypermail archive of the vrtp mail list discussion. This project pulls from many efforts such as the Bamboo Plugin-architecture and Dial-A-Protocol, developed at the US Naval Postgraduate School (NPS) in Montery CA. This will certainly be a development worth following.