Editing Any Version at Any Time: a consistency maintenance mechanism in
Internet-based collaborative environments
Liyin Xue
Dept of Computing
Macquarie University
Sydney, NSW 2109 Australia
lyxue@ics.mq.edu.au
Mehmet Orgun
Dept of Computing
Macquarie University
Sydney, NSW 2109 Australia
mehmet@ics.mq.edu.au
Kang Zhang
Dept of Computer Science
University of Texas at Dallas
Richardson, TX 75083-0688,USA
kzhang@utdallas.edu
Abstract
This paper investigates the multi-version approach to
consistency maintenance in Internet-based real-time
collaborative editing systems. It proposes a new multi-
versioning scheme that is able to preserve individual users’
intentions while guaranteeing convergent document states.
The scheme has been implemented in Java in a prototype
called POLO.
Keywords
Intention preservation, multi-versioning, consistency
maintenance, group editors, CSCW, Internet computing.
1. Introduction
Consistency maintenance is a fundamental issue in the
design of groupware systems [4, 11, 16]. Real-time group
editors are a particular type of groupware systems,
allowing a group of users to view and edit the same
document at the same time from geographically dispersed
sites connected by a communication network such as the
Internet. They can reduce the time required to complete an
authoring task by avoiding the overhead of merging
different versions of the same document into one.
In a collaborative editing environment based on the
Internet, which has non-negligible and non-deterministic
communication latency, a replicated architecture is usually
adopted, where the shared document is replicated on each
user’s workstation that runs a copy of the application
process [11]. Each process communicates directly with
processes on other users’ computers. Local operations are
executed immediately and then multicast to remote sites.
Therefore, each user can see his/her own actions
immediately, i.e., the responsiveness of users’ actions is
guaranteed. However, each user cannot instantly see
changes made by remote users to the shared objects, that is,
the property of What You See Is What I See (WYSIWIS)
cannot be guaranteed [10]. Consequently, users may
happen to edit the same part of the document at the same
time. This may lead to a conflict. Many existing systems
use various locking techniques invented for database
systems to prevent such a contention [3, 5]. However, they
interrupt end-users in their work and cause unnecessary
locking overhead. Since end-users are accustomed to the
free editing style common in single-user editors, i.e., a
user can freely edit any part of the document without
requesting a lock, non-restrictive (free) editing is highly
desired in group editors.
A fundamental property of single-user editors is that
whenever an operation is generated, its effect is persistent
until another operation is generated to specifically
overwrite or undo that effect. The intention of an operation
is the execution effect that can be achieved by applying it
on the document state from which it was generated [2].
The intentions of a user are represented by the intentions
of operations that the user issues. In group editors, a direct
consequence of free or unconstrained editing is intention
violation due to concurrent executions of operations, e.g.,
one intention may be overwritten or changed by another.
Therefore, intention preservation is an important aspect of
consistency maintenance in group editors [2, 11, 16, 18].
Interpersonal conflicts can sometimes be productive,
and it is generally infeasible for the systems to have the
knowledge necessary to properly resolve conflicts among
users, thus the systems must be capable of reflecting all
aspects of human conflict and cooperation and facilitating
human users in conflict resolution. To put it in another
way, the systems must preserve individual users’
intentions that may be conflicting with one another, and
provide facilities to help users reach a consensus, or group
intention [18]. The challenge we face is how to maintain
the unconstrained multiple individual users’ intentions
such that all replicas (copies) of the document converge
(become identical) while each user’s intentions are
preserved. The multi-version approach has been proposed
to accommodate individual users’ conflicting intentions in
multiple versions in the Tivoli [9] and GRACE systems [2,
15]. However, there are some limitations associated with
them. This paper presents a new multi-versioning scheme
that is able to achieve replica convergence and to preserve
individual users’ intentions. The scheme has been
implemented in Java in a prototype called POLO, which is
a distributed object-based real-time collaborative editor. In
the current prototype, a document consists of independent
objects, such as, lines, rectangles, ellipses, textboxes, etc.
Operations are defined to modify individual attribute
values. After an object has been created, operations such
as “change color” and “move to a new position” can be
applied to change its attribute values.
The rest of this paper is organized as follows. We start
with a review of existing work in Section 2. Section 3
deals with the convergence issue, i.e., how to guarantee
that the created versions are identical at all participating
Proceedings of the Ninth International Conference on Parallel and Distributed Systems (ICPADS’02)
1521-9097/02 $17.00 © 2002 IEEE