Coping with Inconsistency Due to Network Delays in Collaborative Virtual Environments

Ivan Vaghi, Chris Greenhalgh, Steve Benford
Communication Research Group
Department of Computer Science
The University of Nottingham
UK

The deployment of Collaborative Virtual Environments (CVEs) over wide area networks magnifies the effect of network delays in breaking the consistency between the replicated versions of an environment. This can be so detrimental to collaborative work that much CVE research has focused on reducing the delays, claiming that interactive collaboration becomes impossible over a given delay threshold (usually 100-150 milliseconds). Early CVE research approached the consistency problem with techniques borrowed from the fields of databases and distributed shared memory systems. However these approaches do not consider the presence of human participants and often trade interactivity for state consistency, hindering the fluidity of collaborative work. We started investigating how network delay can affect participants' behaviours and produce collaboration breakdowns by performing a qualitative observation experiment involving two players engaged in a virtual ball game in the presence of increasing network delays. Our main finding was that as the network delay increases, the degradation of performance does not appear to be clear-cut. We observed several types of breakdown with different characteristics. We also noticed that users modified their playing strategies in an attempt to cope with the situation.

We believe that knowledge of the presence and effect of delays is a major factor in allowing users to adopt strategies for coping with inconsistencies. We propose that if the participants could be made more aware of the behaviour of the system in the presence of delays, going against the tendency of making this transparent to the users, they might be able to further improve their performance. We therefore introduce a number of techniques to selectively increase infrastructure visibility. For example, the amount of delay associated with an object or a user could be displayed explicitly by the means of a gauge associated with the entity, or a region of space surrounding a user could be marked as an area of uncertainty and potential inconsistency. These techniques can be encapsulated in reusable components that we call decorators. We will also outline an architecture supporting decorators in a flexible and dynamic way.