Related Work
The work targeted by Rendezvous covers a significant range of different research
areas, all of which can lend valuable background to the Rendezvous system.
Collaborative games and distributed virtual environments for instance deal with
discrepancies within games or environments caused by network delays. However,
the discrepancies are often dealt with by rolling back time, which in certain
real time environments may prove impossible. Nonetheless, this work describes
the use of the shared state necessary to this type of distributed system and
provides detailed background on common approaches to compensating for errors.
The links below give a general overview of the area of distributed virtual
environments and how they deal with their shared state. Beyond the use of
rollback, this also describes event aggregation using buckets, which enable a
given round of information from each distributed source to be collected into a
single package with a given delay. The use of this delay enables all but the
most remote user to have a fair view of a game even if their responses are
delayed by distance. Area of interest filtering in the interests of overall
scalability is also discussed.
Collaborative games and other distributed virtual environments
Massive
Dive
Saul Greenberg
Timewarp and
Timewarp II
Martin
Mauve
Before we worried about real time systems, we first had to understand how
non-real time systems might deal with the same discrepancies. Although the
origins of this work are relatively old, work is still ongoing in this area,
which describes how file servers deal with optimistic caching by clients when
one file is edited simultaneously, and the lengths to which they go to avoid
the need for user intervention.
File Systems
Satya - Coda,
Aura and Odyssey
The very nature of Rendezvous requires the system to have a degree of
understanding of its own working, whether this be through modelling, reflection
or other alternative means. In many of the collaborative environments discussed
previously, the system would keep a log of events in order to ensure the
ability to undo them. But what if your actions are irreversible? If Rendezvous
can't just go back, and it refuses to ask for (user) help then its only option
is to require a degree of understanding of its situation.
More Coordination and collaboration, with Reflection
Malone and Crowston
Pattie Maes
The links and directions discussed so far show a clear set of background topics
which are of relevance to the creation of Rendezvous. However, beyond the use
of Rendezvous in the entertainment area, where in the most widely accepted
terms the players would not generally be mobile, we have yet to discuss the
potential applications of Rendezvous. Certainly, there will be situations in
which a working Rendezvous system would be of interest to the area of
distributed computer games, however, Rendezvous also has wider applications.
These include instant messager (the use of complex sensors to gather presence
information), and also telemetry and control applications such as collaborative
robotics. The following collaborative robotics section describes work we have
undertaken in the field of collaborative robotics and also discusses background
research relevant to that field which is also relevant to Rendezvous and the
type of sensor networks which could potentially be used to gather instant
messenger presence information. Collaborative robots are also intended to form
a platform for our initial experiments and investigations and so hold a degree
on interest in their own right.
Collaborative Robotics
This link provides some background and results on our collaborative robotics
work in Lancaster.
Collaborative robotics in computing and engineering at
Lancaster
Area of Interest Filtering
Passing state between all players will take up a lot of bandwidth, in an area
where bandwidth may well be charged for, is there any way round it?
Funology
As Rendezvous progresses, it becomes increasingly clear that although
Rendezvous provides consistency, it is not infact the degree of consistency
provided which is the important measure of its functionality. Even under
extreme delay circumstances, rollback will be more consistent, it is just
likely to become unplayable. As a result, we have to turn to Funology (a new
branch of HCI), as a potential means of quantifying how well the system is
doing both in managing consistency and in providing a playable game (or
equivalent application).
More on Reflection
Increasingly, as the project progresses, the ideal purpose of reflection based
software as a means to implement a Rendezvous API becomes clear. This API will
enable a programmer to add Rendezvous to an existing application (ideally at
development time) with the minimal of integration difficulties.
A good start for
programming reflection
Paul Grace (at Lancaster) has also done a lot of work in the
area
Control Theory
The use of control theory as a means of both controlling and tuning the
application of the Rendezvous integration and targetting procedure.
Ziegler-Nichols and modified Ziegler-Nichols are also of relevance.
General
PID controllers simply
Tuning with
Ziegler-Nichols method
Because of the age of PID control, it was also significant to see that PID is
only now being replaced in the engineering world. Model Free Adaptive control
is heralded as the next step.
Beyond PID - George
Cheng
Dead Reckoning
Although we don't regard dead reckoning as a viable means of compensating for
large delays, work is being done on the use of dead reckoning in very high
delays, and it's worth taking a look at.
Sudhir Aggarwal's work on dead reckoning
Rendezvous' Parallels
Projects which bear some similarity to Rendezvous.
Zeroping - an Unreal Tournament modification which allowed modem players to fire certain weapons without apparent lag. Similar approach to Rendezvous, although in very restricted circumstances.
At Digra 2005 Hanna and Katchabaw propose a system called New HOPE which bears a great deal of similarity to Rendezvous. This is new, in very early stages, but with recovery rather than rollback certainly takes the same general approach.