skip to main content
10.1145/2851613.2851753acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Using CSP for coordinating undo-based collaborative applications

Published: 04 April 2016 Publication History

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.

References

[1]
X. L. Charles Prud'homme, Jean-Guillaume Fages. Choco3 Documentation. TASC, INRIA Rennes, LINA CNRS UMR 6241, COSLING S.A.S., 2014.
[2]
A. Cherif, A. Imine, and M. Rusinowitch. Optimistic access control for distributed collaborative editors. In SAC, pages 861--868, 2011.
[3]
A. Cherif, A. Imine, and M. Rusinowitch. Practical access control management for distributed collaborative editors. Pervasive and Mobile Computing, 15:62--86, 2014.
[4]
C. A. Ellis and S. J. Gibbs. Concurrency Control in Groupware Systems. In SIGMOD Conference, volume 18, pages 399--407, 1989.
[5]
J. Ferrié, N. Vidot, and M. Cart. Concurrent undo operations in collaborative environments using operational transformation. In CoopIS/DOA/ODBASE (1), pages 155--173, 2004.
[6]
A. Imine, P. Molli, G. Oster, and M. Rusinowitch. Proving correctness of transformation functions functions in real-time groupware. In ECSCW, pages 277--293, 2003.
[7]
D. Li and R. Li. An admissibility-based operational transformation framework for collaborative editing systems. Computer Supported Cooperative Work, 19(1):1--43, 2010.
[8]
B. Lushman and G. V. Cormack. Proof of correctness of Ressel's adopted algorithm. Information Processing Letters, 86(3):303--310, 2003.
[9]
G. Oster, P. Urso, P. Molli, and A. Imine. Data consistency for p2p collaborative editing. In CSCW, pages 259--268, 2006.
[10]
A. Prakash and M. J. Knister. A framework for undoing actions in collaborative systems. ACM Trans. Comput.-Hum. Interact., 1(4):295--330, 1994.
[11]
M. Ressel and R. Gunzenhäuser. Reducing the problems of group undo. In GROUP '99: Proceedings of the international ACM SIGGROUP conference on Supporting group work, pages 131--139, New York, NY, USA, 1999. ACM.
[12]
M. Ressel, D. Nitsche-Ruhland, and R. Gunzenhauser. An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors. In ACM CSCW'96, pages 288--297, Boston, USA, November 1996.
[13]
B. Shao, D. Li, and N. Gu. An algorithm for selective undo of any operation in collaborative applications. In GROUP, pages 131--140, 2010.
[14]
M. Suleiman, M. Cart, and J. Ferrié. Serialization of concurrent operations in a distributed collaborative environment. In ACM GROUP'97, pages 435--445, November 1997.
[15]
C. Sun. Undo any operation at any time in group editors. In CSCW '00: Proceedings of the 2000 ACM conference on Computer supported cooperative work, pages 191--200, New York, NY, USA, 2000. ACM.
[16]
C. Sun. Undo as concurrent inverse in group editors. ACM Trans. Comput.-Hum. Interact., 9(4):309--361, 2002.
[17]
C. Sun and C. Ellis. Operational transformation in real-time group editors: issues, algorithms, and achievements. In ACM CSCW'98, pages 59--68, 1998.
[18]
C. Sun, X. Jia, Y. Zhang, Y. Yang, and D. Chen. Achieving Convergence, Causality-preservation and Intention-preservation in real-time Cooperative Editing Systems. ACM Trans. Comput.-Hum. Interact., 5(1):63--108, March 1998.
[19]
C. Sun, S. Xia, D. Sun, D. Chen, H. Shen, and W. Cai. Transparent adaptation of single-user applications for multi-user real-time collaboration. ACM Trans. Comput.-Hum. Interact., 13(4):531--582, 2006.
[20]
D. Sun and C. Sun. Context-based operational transformation in distributed collaborative editing systems. IEEE Trans. Parallel Distrib. Syst., 20(10):1454--1470, 2009.
[21]
E. Tsang. Foundations of Constraint Satisfaction. Academic Press, London and San Diego, 1993.
[22]
S. Weiss, P. Urso, and P. Molli. An Undo Framework for P2P Collaborative Editing. In 4th International Conference on Collaborative Computing, volume 10, pages 529--544, Orlando États-Unis, 11 2008. Springer Berlin Heidelberg.

Cited By

View all
  • (2021)A semi-transparent selective undo algorithm for multi-user collaborative editorsFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-020-9518-x15:5Online publication date: 1-Oct-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '16: Proceedings of the 31st Annual ACM Symposium on Applied Computing
April 2016
2360 pages
ISBN:9781450337397
DOI:10.1145/2851613
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 April 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. collaborative applications
  2. constraint satisfaction problem (CSP)
  3. operational transformation (OT)
  4. selective undo

Qualifiers

  • Research-article

Conference

SAC 2016
Sponsor:
SAC 2016: Symposium on Applied Computing
April 4 - 8, 2016
Pisa, Italy

Acceptance Rates

SAC '16 Paper Acceptance Rate 252 of 1,047 submissions, 24%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2021)A semi-transparent selective undo algorithm for multi-user collaborative editorsFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-020-9518-x15:5Online publication date: 1-Oct-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media