Youtopia (Kot and Koch, 2009) is a system for
collaborative integration of relational data. Unlike
our work, Youtopia manages conflicts among updates
from multiple users in a synchronous mode through
serializability and concurrency control techniques.
Also, Youtopia neither performs a provenance-based
integration, nor introduces support to different recon-
ciliation policies, as we propose in this work. Further-
more, both Orchestra and Youtopia, need the user’s
interference during the reconciliation process to de-
cide data conflicts not solved by their policies, unlike
AcCORD which applies the proposed policies to re-
solve all conflicts automatically.
PrInt (Tomazela et al., 2013) is a provenance
model that supports data integration conflict resolu-
tion at instance level. Its main objective is the strict re-
production of user’s decisions among distinct integra-
tion processes. These decisions are represented as op-
erations, which contain provenance data. PrInt stores
the operations in a repository and introduces the con-
cept of repository consistency for managing conflicts
in a single user level. Thus, it aims at data integration
processes performed by a single user, as opposed to
AcCORD, which focuses on several users performing
a collaborative reconciliation process. Here, we bor-
row some ideas from PrInt, such as the notions of op-
erations, repository and transitive and overlapping op-
erations. However, we extend these principles to sup-
port multiple users working asynchronously. Also,
we define a general model and different policies to
manage inconsistencies in this new context.
We now move on to discuss related work in the
second group, i. e. asynchronous collaboration in
the distributed system area. We analyze existing tech-
niques in a tandem, as they face the same limitations
when compared to our work.
IceCube (Kermarrec et al., 2001) does operation-
based reconciliation. It captures the static and dy-
namic reconciliation constraints between all pairs of
operations, proposes schedules that satisfy the static
constraints, and validates them against dynamic con-
straints. IceCube does not present algorithms to solve
conflicts, but tries to avoid them by scheduling opera-
tions, in a particular order.
Bayou (Edwards et al., 1997) is another operation-
based reconciler designed to support the construc-
tion of asynchronous collaborative applications. It
provides a replicated, shared and weakly-consistent
database. To this end, it supports conflict detec-
tion and resolution methods based on client-provided
merge procedures, and can rollback the effects of pre-
viously executed write operations and reapply them
according to a global serialization order. Bayou is not
as flexible as IceCube, but it addresses distribution is-
sues and provides a distributed infrastructure for col-
laboration.
Harmony (Pierce et al., 2004) is a state-based rec-
onciler for structured data, which considers only the
current version of the replicas, together with a version
of the last state they had in common. Harmony deals
with conflicts by allowing replicas to remain differ-
ent after reconciliation. By contrast, operation-based
reconcilers, as Bayou and IceCube, try to construct
a common sequence of operations. Therefore, they
deal with conflicts by omitting conflicting operations.
This approach always achieves a common final state,
but sometimes it backs out user changes.
Although IceCube, Bayou and Harmony focus on
asynchronous reconciliation and use logs to support
the process or allow copies to remain inconsistent for
a given period, which are features similar to those
adopted by AcCORD, the main objective of these
techniques differs from ours in the following way:
they present algorithms to find schedules that mini-
mize the number of conflicts among updates, or let the
conflict resolution up to the application. On the other
hand, we show in this paper how to reach reconcilia-
tion when multiusers wish to share their updates and
detail how conflict among operations can be solved.
3 AcCORD
We introduce AcCORD, an asynchronous collabora-
tive data reconciliation model. The scenario consid-
ered by AcCORD is depicted in Figure 4. In this
scenario, collaborative users U
1
,...,U
n
reconcile data
imported from several data sources. Each user de-
cides how to solve attribute value conflicts on corre-
sponding objects according to his/her point of view
(Figure 4(a)). To this end, each user may apply tools
for helping the integration process and for storing
updates in a operation-based provenance repository.
As a result, each user produces a set of local views,
which are integrated versions of the sources, and a
repository, which contains provenance data composed
of a sequence of operations that reflect his/her up-
dates. As several collaborative users work on the
same sources, they maintain their own local views,
and the original sources are not updated.
After finishing the integration and provenance
process, a given user, say user U
1
, decides to reconcile
his/her updates with the updates of the other collabo-
rative users (Figure 4(b)), i.e. to perform a reconcili-
ation process considering multiuser updates, which is
the focus of our work. Note that we denote the pro-
cess performed by a single user as an integration pro-
cess, and the process performed by several users as a
WhatifMultiusersWishtoReconcileTheirData?
187