Abstract
Operational Transformation (OT) is a coordination approach used for supporting optimistic replication in distributed collaborative applications, where many users cooperatively manipulate replicated shared objects such as textual or multimedia documents. It allows users to concurrently update the shared data and exchange their updates in any order since the consistency of all replicas is ensured in all cases. In this context, it is desirable to undo some erroneous modifications for recovering the last correct state. This task is more tricky when out-of-order executions are considered. To avoid untimely and useless cancellations, a selective undo scheme based on OT approach is used to cancel the effect of any logged operation. Nevertheless, combining OT and undo approaches is a challenging problem since the process of doing and undoing should be reversible while preserving the data consistency. In this paper, we propose a theoretical study for this combination by formulating the undo problem as a Constraint Satisfaction Problem (CSP). For this purpose, we define a set of constraints to be fulfilled by the transformation function so that undoability is correctly managed. These constraints allow us to reduce the search space and output a reasonable number of transformation functions. The study of this output shows that commutativity somehow impacts on undoability. As the main result, to correctly manipulate undo for a shared object, we prove that the set of operations of size n • 4 must be totally commutative, while only a subset of commutative operations is necessary otherwise. As such, this work opens new perspectives for the design of safe OT-based collaborative applications using CSP methods.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have