A semi-transparent selective undo algorithm for multi-user collaborative editors

Weiwei CAI, Fazhi HE, Xiao LV, Yuan CHENG

PDF(936 KB)
PDF(936 KB)
Front. Comput. Sci. ›› 2021, Vol. 15 ›› Issue (5) : 155209. DOI: 10.1007/s11704-020-9518-x
RESEARCH ARTICLE

A semi-transparent selective undo algorithm for multi-user collaborative editors

Author information +
History +

Abstract

Multi-user collaborative editors are useful computer-aided tools to support human-to-human collaboration. For multi-user collaborative editors, selective undo is an essential utility enabling users to undo any editing operations at any time. Collaborative editors usually adopt operational transformation (OT) to address concurrency and consistency issues. However, it is still a great challenge to design an efficient and correct OT algorithm capable of handling both normal do operations and user-initiated undo operations because these two kinds of operations can interfere with each other in various forms. In this paper, we propose a semi-transparent selective undo algorithm that handles both do and undo in a unified framework, which separates the processing part of do operations from the processing part of undo operations. Formal proofs are provided to prove the proposed algorithm under the well-established criteria. Theoretical analysis and experimental evaluation are conducted to show that the proposed algorithm outperforms the prior OT-based selective undo algorithms.

Keywords

human-centric collaboration / collaborative editing systems / selective undo / concurrency control / replication consistency

Cite this article

Download citation ▾
Weiwei CAI, Fazhi HE, Xiao LV, Yuan CHENG. A semi-transparent selective undo algorithm for multi-user collaborative editors. Front. Comput. Sci., 2021, 15(5): 155209 https://doi.org/10.1007/s11704-020-9518-x

References

[1]
Cho B, Sun C Z, Ng A. Issues and experiences in building heterogeneous co-editing systems. Proceedings of the ACM on Human-Computer Interaction, 2019, 3(GROUP): 1–28
CrossRef Google scholar
[2]
Fan H F, Li K, Li X Z, Song T Y, Zhang W Z, Shi Y. CoVSCode: a novel real-time collaborative programming environment for lightweight IDE. Applied Sciences, 2019, 9(21): 4642
CrossRef Google scholar
[3]
Mirri S, Roccetti M, Salomoni P. Collaborative design of software applications: the role of users. Human-centric Computing and Information Sciences, 2018, 8(1): 1–20
CrossRef Google scholar
[4]
Liang Y Q, He F Z, Zeng X T. 3D mesh simplification with feature preservation based on whale optimization algorithm and differential evolution. Integrated Computer-Aided Engineering, 2020, 27(4): 417–435
CrossRef Google scholar
[5]
Touhafi A, Braeken A, Tahiri A, Zbakh M. Coderlabs: a cloud-based platform for real-time online labs with user collaboration. Concurrency and Computation: Practice and Experience, 2018, 30(12): e4377
CrossRef Google scholar
[6]
Gao L P, Gao D F, Xiong N X, Lee C. CoWebDraw: a real-time collaborative graphical editing system supporting multi-clients based on HTML5. Multimedia Tools and Applications, 2018, 77(4): 5067–5082
CrossRef Google scholar
[7]
Ignat C L, André L, Oster G. Enhancing rich content wikis with real-time collaboration. Concurrency and Computation: Practice and Experience, 2021, 33(8): e4110
CrossRef Google scholar
[8]
Fan H F, Zhu H M, Liu Q, Shi Y, Sun C Z. A novel DAL scheme with shared-locking for semantic conflict prevention in unconstrained realtime collaborative programming. IEEE Access, 2017, 5: 22566–22583
CrossRef Google scholar
[9]
Ng A, Sun C Z. Operational transformation for real-time synchronization of shared workspace in cloud storage. In: Proceedings of ACM International Conference on Supporting Group Work. 2016, 61–70
CrossRef Google scholar
[10]
Junuzovic S, Dewan P. Towards self-optimizing collaborative systems. In: Proceedings of ACM Conference on Computer Supported Cooperative Work. 2012, 1421–1430
CrossRef Google scholar
[11]
Bartel J W, Dewan P. Towards multi-domain collaborative toolkits. In: Proceedings of ACM Conference on Computer Supported Cooperative Work. 2012, 1297–1306
CrossRef Google scholar
[12]
Li G, Zhu H Y, Lu T, Ding X H, Gu N. Is it good to be like wikipedia?: exploring the trade-offs of introducing collaborative editing model to Q&A sites. In: Proceedings of ACM Conference on Computer Supported Cooperative Work and Social Computing. 2015, 1080–1091
CrossRef Google scholar
[13]
Olson J S, Wang D K, Olson G M, Zhang J W. How people write together now: beginning the investigation with advanced undergraduates in a project course. ACM Transactions on Computer-Human Interaction, 2017, 24(1): 1–40
CrossRef Google scholar
[14]
Wang D K, Tan H D, Lu T. Why users do not want to write together when they are writing together: users’ rationales for today’s collaborative writing practices. Proceedings of the ACM on Human-Computer Interaction, 2017, 1(CSCW): 1–18
CrossRef Google scholar
[15]
Cai W W, Ng A, Sun C Z. Some discoveries from a concurrency benchmark study of major cloud storage systems. In: Proceedings of International Conferenceon on Cooperative Design, Visualization, and Engineering. 2018, 44–48
CrossRef Google scholar
[16]
Sun C Z, Chen D, Jia X H, Zhang Y C, Yang Y. Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Transactions on Computer-Human Interaction, 1998, 5(1): 63–108
CrossRef Google scholar
[17]
Ng A, Liu F, Xia S, Shen H F, Sun C Z. CoMaya: incorporating advanced collaboration capabilities into 3D digital media design tools. In: Proceedings of ACM Conference on Computer Supported Cooperative Work. 2008, 5–8
[18]
Sun C Z, Xia S, Sun D, Chen D, Shen H F, Cai W T. Transparent adaptation of single-user applications for multi-user real-time collaboration. ACM Transactions on Computer-Human Interaction, 2006, 13(4): 531–582
CrossRef Google scholar
[19]
Xu B M, Gao Q, Li C Y. Reusing single-user applications to create collaborative multi-member applications. Advances in Engineering Software, 2009, 40(8): 618–622
CrossRef Google scholar
[20]
Fan H F, Sun C Z, Shen H F. ATCoPE: any-time collaborative programming environment for seamless integration of real-time and non-real-time teamwork in software development. In: Proceedings of ACM International Conference on Supporting Group Work. 2012, 107–116
CrossRef Google scholar
[21]
Prakash A, Knister M J. A framework for undoing actions in collaborative systems. ACM Transactions on Computer-Human Interaction, 1994, 1(4): 295–330
CrossRef Google scholar
[22]
Choudhary R, Dewan P. A general multi-user undo/redo model. In: Proceedings of European Conference on Computer-Supported Cooperative Work. 1995, 231–246
CrossRef Google scholar
[23]
Sun C Z. Undo as concurrent inverse in group editors. ACM Transactions on Computer-Human Interaction, 2002, 9(4): 309–361
CrossRef Google scholar
[24]
Ferrié J, Vidot N, Cart M. Concurrent undo operations in collaborative environments using operational transformation. In: Proceedings of OTM Confederated International Conference on the Move to Meaningful Internet Systems. 2004, 155–173
CrossRef Google scholar
[25]
Weiss S, Urso P, Molli P. An undo framework for P2P collaborative editing. In: Proceedings of EAI International Conference on Collaborative Computing. 2009, 529–544
CrossRef Google scholar
[26]
Weiss S, Urso P, Molli P. A flexible undo framework for collaborative editing. INRIA Research Report, 2008, RR–6516
[27]
Sun D, Sun C Z. Context-based operational transformation in distributed collaborative editing systems. IEEE Transactions on Parallel and Distributed Systems, 2009, 20(10): 1454–1470
CrossRef Google scholar
[28]
Shao B, Li D, Gu N. An algorithm for selective undo of any operation in collaborative applications. In: Proceedings of ACM International Conference on Supporting Group Work. 2010, 131–140
CrossRef Google scholar
[29]
Yoon Y S, Myers B A. Supporting selective undo in a code editor. In: Proceedings of International Conference on Software Engineering. 2015, 223–233
CrossRef Google scholar
[30]
Cherif A, Imine A. Using CSP for coordinating undo-based collaborative applications. In: Proceedings of ACM Symposium on Applied Computing. 2016, 1928–1935
CrossRef Google scholar
[31]
Ressel M, Nitsche-Ruhland D, Gunzenhaeuser R. Integrating, transformation-oriented approach to concurrency control and undo in group editors. In: Proceedings of ACM Conference on Computer Supported Cooperative Work. 1996, 288–297
CrossRef Google scholar
[32]
Li R, Li D, Sun C Z. A time interval based consistency control algorithm for interactive groupware applications. In: Proceedings of IEEE International Conference on Parallel and Distributed Systems. 2004, 429–436
[33]
Xu Y, Sun C Z. Conditions and patterns for achieving convergence in OTbased co-editors. IEEE Transactions on Parallel and Distributed Systems, 2016, 27(3): 695–709
CrossRef Google scholar
[34]
Lamport L. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 1978, 21(7): 558–565
CrossRef Google scholar
[35]
Li D, Li R. Preserving operation effects relation in group editors. In: Proceedings of ACMConference on Computer Supported Cooperative Work. 2004, 457–466
CrossRef Google scholar
[36]
Oster G, Molli P, Urso P, Imine A. Tombstone transformation functions for ensuring consistency in collaborative editing systems. In: Proceedings of EAI International Conference on Collaborative Computing. 2006, 1–10
CrossRef Google scholar
[37]
Li R, Li D. A new operational transformation framework for real-time group editors. IEEE Transactions on Parallel and Distributed Systems, 2007, 18(3): 307–319
CrossRef Google scholar
[38]
Imine A. Flexible concurrency control for real-time collaborative editors. In: Proceedings of IEEE International Conference on Distributed Computing Systems. 2008, 423–428
CrossRef Google scholar
[39]
Li D, Li R. An admissibility-based operational transformation framework for collaborative editing systems. Computer Supported Cooperative Work, 2010, 19(1): 1–43
CrossRef Google scholar
[40]
Gu N, Yang J M, Zhang Q W. Consistency maintenance based on the mark & retrace technique in groupware systems. In: Proceedings of ACM International Conference on Supporting Group Work. 2005, 264–273
CrossRef Google scholar
[41]
Shao B, Li D, Gu N. A fast operational transformation algorithm for mobile and asynchronous collaboration. IEEE Transactions on Parallel and Distributed Systems, 2010, 21(12): 1707–1720
CrossRef Google scholar
[42]
Sun C Z, Sun D, Ng A, Cai WW, Cho B. Real differences between OT and CRDT under a general transformation framework for consistency maintenance in co-editors. Proceedings of the ACM on Human-Computer Interaction, 2020, 4(GROUP): 1–26
CrossRef Google scholar
[43]
Sun D, Sun C Z, Ng A, Cai W W. Real differences between OT and CRDT in correctness and complexity for consistency maintenance in coeditors. Proceedings of the ACM on Human-Computer Interaction, 2020, 4(CSCW1): 1–30
CrossRef Google scholar
[44]
Sun D, Sun C Z, Ng A, Cai WW. Real differences between OT and CRDT in building co-editing systems and real world applications. 2020, arXiv preprint arXiv:1905.01517
[45]
Oster G, Urso P, Molli P, Imine A. Data consistency for P2P collaborative editing. In: Proceedings of ACM Conference on Computer Supported Cooperative Work. 2006, 259–268
CrossRef Google scholar
[46]
Shapiro M, Preguiça N, Baquero C, Zawirski M. Conflict-free replicated data types. INRIA Research Report, 2011, RR–7687
CrossRef Google scholar
[47]
Weiss S, Urso P, Molli P. Logoot-Undo: distributed collaborative editing system on P2P networks. IEEE Transactions on Parallel and Distributed Systems, 2010, 21(8): 1162–1174
CrossRef Google scholar
[48]
Yu W H. Supporting string-wise operations and selective undo for peerto-peer group editing. In: Proceedings of ACM International Conference on Supporting Group Work. 2014, 226–237
CrossRef Google scholar
[49]
Li D, Li R. A performance study of group editing algorithms. In: Proceedings of IEEE International Conference on Parallel and Distributed Systems. 2006, 300–307
CrossRef Google scholar
[50]
Lim Y, Ahn S. Architecture for mobile group communication in campus environment. Frontiers of Computer Science, 2013, 7(4): 505–513
CrossRef Google scholar
[51]
Gao L P, Yu F Y, Chen Q K, Xiong N X. Consistency maintenance of do and undo/redo operations in real-time collaborative bitmap editing systems. Cluster Computing, 2016, 19(1): 255–267
CrossRef Google scholar
[52]
Li H R, He F Z, Liang Y Q, Quan Q. A dividing-based many-objective evolutionary algorithm for large-scale feature selection. Soft Computing, 2020, 24(9): 6851–6870
CrossRef Google scholar
[53]
Zhang S D, He F Z. DRCDN: learning deep residual convolutional dehazing networks. The Visual Computer, 2020, 36(9): 1797–1808
CrossRef Google scholar
[54]
Cui Z Y, Liu Y, Zhao W. YUN: a fast ground-to-air cloud image recognition framework. In: Proceedings of IEEE International Conference on Computer Supported Cooperative Work in Design. 2019, 290–294.
CrossRef Google scholar
[55]
Quan Q, He F Z, Li H R. A multi-phase blending method with incremental intensity for training detection networks. The Visual Computer, 2021, 37(2): 245–259
CrossRef Google scholar
[56]
Yu H P, He F Z, Pan Y T. A scalable region-based level set method using adaptive bilateral filter for noisy image segmentation. Multimedia Tools and Applications, 2020, 79: 5743–5765
CrossRef Google scholar
[57]
Gao M, Ling B, Yang L, Wen J H, Xiong Q Y, Li S. From similarity perspective: a robust collaborative filtering approach for service recommendations. Frontiers of Computer Science, 2019, 13(2): 231–246
CrossRef Google scholar
[58]
Chen Y L, He F Z, Li H R, Zhang D J, Wu Y Q. A full migration BBO algorithm with enhanced population quality bounds for multimodal biomedical image registration. Applied Soft Computing, 2020, 93: 106335
CrossRef Google scholar
[59]
Su K, Yang G P, Yang L, Su P, Yin Y L. Non-negative locality-constrained vocabulary tree for finger vein image retrieval. Frontiers of Computer Science, 2019, 13(2): 318–332
CrossRef Google scholar
[60]
Yong J S, He F Z, Li H R, Zhou W Q. A novel bat algorithm based on cross boundary learning and uniform explosion strategy. Applied Mathematics—A Journal of Chinese Universities, 2019, 34(4): 482–504
CrossRef Google scholar
[61]
Wu C X, Li L F, Peng CW,Wu Y, Xiong N X, Lee C. Design and analysis of an effective graphics collaborative editing system. Eurasip Journal on Image and Video Processing, 2019, 1: 50
CrossRef Google scholar
[62]
Zhang J, He F Z, Chen Y L. A new haze removal approach for sky/river alike scenes based on external and internal clues. Multimedia Tools and Applications, 2020, 79: 2085–2107
CrossRef Google scholar
[63]
Wang T, Zhang Q P, Liu Z, Liu W L, Wen D. On social computing research collaboration patterns: a social network perspective. Frontiers of Computer Science, 2012, 6(1): 122–130
[64]
Pan Y T, He F Z, Yu H P. Learning social representations with deep autoencoder for recommender system. World Wide Web, 2020, 23(4): 2259–2279
CrossRef Google scholar
[65]
Shi X H, Lu H T. Community detection in scientific collaborative network with bayesian matrix learning. Frontiers of Computer Science, 2019, 13(1): 212–214
CrossRef Google scholar
[66]
Pan Y T, He F Z, Yu H P. A correlative denoising autoencoder to model social influence for top-n recommender system. Frontiers of Computer Science, 2020, 14(3): 143301
CrossRef Google scholar
[67]
Zhang G, Li Y M, Shi Y H. Distributed learning particle swarm optimizer for global optimization of multimodal problems. Frontiers of Computer Science, 2018, 12(1): 122–134
CrossRef Google scholar
[68]
Luo J K, He F Z, Yong J S. An efficient and robust bat algorithm with fusion of opposition-based learning and whale optimization algorithm. Intelligent Data Analysis, 2020, 24(3): 581–606
CrossRef Google scholar
[69]
Zhao W, Shen H H, Zhang F, Tan H Z. Adaptive power optimization for mobile traffic based on machine learning. In: Proceedings of IEEE International Conference on Computer Supported Cooperative Work in Design. 2019, 500–505
CrossRef Google scholar
[70]
Luo J K, He F Z, Li H R, Z X T, Liang Y Q. A novel whale optimization algorithm with filtering disturbance and non-linear step. International Journal of Bio-Inspired Computation, 2020, 16: 137–148
[71]
Hou N, He F Z, Zhou Y, Chen Y L. An efficient GPU-based parallel tabu search algorithm for hardware/software co-design. Frontiers of Computer Science, 2020, 14(5): 145316
CrossRef Google scholar
[72]
Zhang S Q, Qin Z, Yang Y H, Shen L, Wang Z Y. Transparent partial page migration between CPU and GPU. Frontiers of Computer Science, 2020, 14(3): 143101
CrossRef Google scholar

RIGHTS & PERMISSIONS

2021 Higher Education Press
AI Summary AI Mindmap
PDF(936 KB)

Accesses

Citations

Detail

Sections
Recommended

/