The set of typical operations between a VR application and the underlying system range from moving point of view to moving objects themselves and altering the attitudes.
A more advanced approach, one could consider sending trajectories around, and having receivers apply the model world to the object. (eg. gravity, wind, friction, etc etc).
Messages may be idempotent (describe an absolute position for an object, or position and velocity, and so on), or not (maybe they just say how far the object has moved).
Interactions between users of a distributed VR application are complex. An object must in some senses have an "owner". This may be the user at a site (e.g. if the object is the POV itself, or the glove/pointer, etc), or an object currently under the control of a user.
Thus we should associate a set of objects (and users) with a portion of the multicast address space - the idea is that a user is in some locale and that only operations relative to that locale need be delivered to their system.
Furthermore, there most be some notion of ``real'' virtual world distance. The set of objects in VR in a locale that are ``near'' a user are subject to interactions which can reasonably be modeled without having to worry about propagation delay across the net. Beyond some distance, and the time to get a message from the originator of the action to the hosts that a set of POVs that include this locale may simply be too high to consider. For example, imagine playing catch in a virtual world simulated between two machines on the net. The time for the ball to reach the ground is less than the time for the message to cross a terrestrial line more than a few thousand miles.
However, it may be possible to introduce some element of representation of distance into the user interface - two approaches suggest themselves based on physics models of the real world:
Given this, different VR applications may need to relax a different one of the four constraints, possibly at different times. In fact, we can envisage single applications that need to relax different constraints for different objects at different times.
Next: The Distributed Virtual Reality Up: Distributed Virtual Reality Previous: Virtual Reality Operations, User Jon CROWCROFT