Distributed Interactive Applications (DIAs) are a class of software that allow
geographically remote users to interact within a shared virtual environment.
Many DIAs seek to present a rich and realistic virtual world to users, both on a
visual and behavioural level. A relatively recent addition to virtual environments
(both distributed and single user) to achieve the latter has been the simulation of
realistic physical phenomena between objects in the environment.
However, the application of physics simulation to virtual environments in DIAs
currently lags that of single user environments. This is primarily due to the
unavailability of entity state update mechanisms which can maintain consistency
in such physics-rich environments. The difference is particularly evident in
applications built on a peer-to-peer architecture, as a lack of a single authority
presents additional challenges in synchronising the state of shared objects while
also presenting a responsive simulation.
This thesis proposes a novel state maintenance mechanism for physics-rich
environments in peer-to-peer DIAs composed of two parts: a dynamic authority
scheme for shared objects, and a physics-aware dead reckoning model with an
adaptive error threshold. The first part is intended to place a bound on the
overall inconsistency present in shared objects, while the second is implemented
to minimise the instantaneous inconsistency during users’ interactions with
shared objects. A testbed application is also described, which is used to validate
the performance of the proposed mechanism.
The state maintenance mechanism is implemented for a single type of physicsaware
application, and demonstrates a marked improvement in consistency for
that application. However, several flexible terms are described in its
implementation, as well as their potential relevance to alternative applications.
Finally, it should be noted that the physics-aware dead reckoning model does not
depend on the authority scheme, and can therefore be employed with alternative
authority scheme