Concurrency control in groupware systems
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Handbook of theoretical computer science (vol. B)
Distributed operating systems
An integrating, transformation-oriented approach to concurrency control and undo in group editors
CSCW '96 Proceedings of the 1996 ACM conference on Computer supported cooperative work
ACM Transactions on Computer-Human Interaction (TOCHI)
Theoretical Computer Science
Copies convergence in a distributed real-time collaborative environment
CSCW '00 Proceedings of the 2000 ACM conference on Computer supported cooperative work
Concurrent Operations in a Distributed and Mobile Collaborative Environment
ICDE '98 Proceedings of the Fourteenth International Conference on Data Engineering
Towards an Algebraic Semantics for the Object Paradigm
Selected papers from the 9th Workshop on Specification of Abstract Data Types Joint with the 4th COMPASS Workshop on Recent Trends in Data Type Specification
Using the transformational approach to build a safe and generic data synchronizer
GROUP '03 Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work
Operational transformation for collaborative word processing
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
Formal design and verification of operational transformation algorithms for copies convergence
Theoretical Computer Science - Algebraic methodology and software technology
Hi-index | 0.01 |
A collaborative object represents a data type (such as a text document or a spreadsheet) designed to be shared by multiple geographically separated users. In order to improve performance and availability of data in such a distributed context, each user has a local copy of the shared objects, upon which he may perform updates. Locally executed updates are then transmitted to the other users. So, the updates are applied in different orders at different copies of the collaborative object. This replication potentially leads, however, to divergent (i.e. different) copies. The Operational Transformation (OT) approach provides an interesting solution for copies divergence. Indeed, every collaborative object has an algorithm which transforms the remote update according to local concurrent ones. But this OT algorithm needs to fulfill two conditions in order to ensure the convergence. Proving the correctness of OT algorithms is very complex and error prone without the assistance of a theorem prover. In the present work, we propose a compositional method for specifying complex collaborative objects. The most important feature of our method is that designing an OT algorithm for the composed collaborative object can be done by reusing the OT algorithms of component collaborative objects. By using our method, we can start from correct small collaborative objects which are relatively easy to handle and incrementally combine them to build more complex collaborative objects.