29,893 research outputs found
A Constraint-based Approach for Generating Transformation Patterns
Undoing operations is an indispensable feature for many collaborative
applications, mainly collaborative editors. It provides the ability to restore
a correct state of shared data after erroneous operations. In particular,
selective undo allows to undo any operation and is based on rearranging
operations in the history thanks to the Operational Transformation (OT)
approach. OT is an optimistic replication technique allowing for updating the
shared data concurrently while maintaining convergence. It is a challenging
task how to meaningfully combine OT and undo approaches. Indeed, undoing
operations that are received and executed out-of-order at different sites leads
to divergence cases. Even though various undo solutions have been proposed over
the recent years, they are either limited or erroneous.
In this paper, we propose a constraint-based approach to address the undo
problem. We use Constraint Satisfaction Problem (CSP) theory to devise correct
and undoable transformation patterns (w.r.t OT and undo properties) which
considerably simplifies the design of collaborative objects.Comment: In Proceedings FOCLASA 2015, arXiv:1512.0694
Scalable XML Collaborative Editing with Undo short paper
Commutative Replicated Data-Type (CRDT) is a new class of algorithms that
ensures scalable consistency of replicated data. It has been successfully
applied to collaborative editing of texts without complex concurrency control.
In this paper, we present a CRDT to edit XML data. Compared to existing
approaches for XML collaborative editing, our approach is more scalable and
handles all the XML editing aspects : elements, contents, attributes and undo.
Indeed, undo is recognized as an important feature for collaborative editing
that allows to overcome system complexity through error recovery or
collaborative conflict resolution
On Consistency of Operational Transformation Approach
The Operational Transformation (OT) approach, used in many collaborative
editors, allows a group of users to concurrently update replicas of a shared
object and exchange their updates in any order. The basic idea of this approach
is to transform any received update operation before its execution on a replica
of the object. This transformation aims to ensure the convergence of the
different replicas of the object, even though the operations are executed in
different orders. However, designing transformation functions for achieving
convergence is a critical and challenging issue. Indeed, the transformation
functions proposed in the literature are all revealed incorrect.
In this paper, we investigate the existence of transformation functions for a
shared string altered by insert and delete operations. From the theoretical
point of view, two properties - named TP1 and TP2 - are necessary and
sufficient to ensure convergence. Using controller synthesis technique, we show
that there are some transformation functions which satisfy only TP1 for the
basic signatures of insert and delete operations. As a matter of fact, it is
impossible to meet both properties TP1 and TP2 with these simple signatures.Comment: In Proceedings Infinity 2012, arXiv:1302.310
Research report : Collaborative Peer 2 Peer Edition: Avoiding Conflicts is Better than Solving Conflicts
Collaborative edition is achieved by distinct sites that work independently
on (a copy of) a shared document. Conflicts may arise during this process and
must be solved by the collaborative editor. In pure Peer to Peer collaborative
editing, no centralization nor locks nor time-stamps are used which make
conflict resolution difficult. We propose an algorithm which relies on the
notion or semantics dependence and avoids the need of any integration
transformation to solve conflicts. Furthermore, it doesn't use any history file
recording operations performed since starting the edition process. We show how
to define editing operations for semi-structured documents i.e. XML-like trees,
that are enriched with informations derived for free from the editing process.
Then we define the semantics dependence relation required by the algorithm and
we present preliminary results obtained by a prototype implementation.Comment: 12 page
- …