page 1  (17 pages)
2to next section

The Parting of the Ways: Divergence,

Data Management and Collaborative Work

Paul Dourish
Rank Xerox Research Centre, Cambridge Laboratory (EuroPARC) and Dept of Computer Science, University College, London (dourish@europarc.xerox.com).

Abstract: Systems coordinating distributed collaborative work must manage user data distributed over a network. The strong consistency algorithms which designers have typically borrowed from the distributed systems community are often unsuited to the particular needs of CSCW. Here, I outline an alternative approach based on divergence and synchronisation between parallel streams of activity. From a CSCW perspective, this strategy offers three primary advantages. First, it is scalable, allowing smooth transitions from highly interactive collaboration to more extended, ?asynchronous? styles of work. Second, it supports ?multi - synchronous? work, in which parties work independently in parallel. Third, it directly supports observed patterns of opportunistic activities in collaborative working.

Introduction: Distributed Data Management

Collaborative applications coordinate activities which may be distributed in time and/or space. Distribution in time means that activities may take place at different times, but are coordinated to achieve a unified effect (such as the production of a document). Distribution in space means that activities may take place on different computers, perhaps linked by a data network. Collaborative applications, then, are heir to a set of design problems which have arisen in the development of distributed computing systems (or just ?distributed systems?), concerning the distributed management of data.

This paper considers strategies which can be employed to meet the conflicting demands placed on collaborative applications, in presenting users with a single, uniform data ?space?. We are primarily concerned here with ?user data?; that is, largely the computational representations of artefacts which are manipulated directly by the system?s users. So, in a collaborative writing system, user data would include