The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.12 - December (2010 vol.21)
pp: 1707-1720
Bin Shao , Fudan University, Shanghai
Du Li , Nokia Research Center, Palo Alto
Ning Gu , Fudan University, Shanghai
ABSTRACT
In a mobile collaboration environment, the shared files are often replicated so that the users can work in parallel during periods of disconnection. When reconnected, sequences of updates made by different users are merged to produce a consistent view of shared files. This paper presents a novel transformation-based merging algorithm for supporting mobile collaboration. Compared to alternative optimistic consistency control methods, it can merge any updates to the same file automatically at the finest granularity without causing loss of work. Moreover, it improves the time complexity of the state-of-the-art transformation-based merging algorithms from O(n^3) to O(n), where n is the size of either sequence when their sizes are comparable. This improvement is drastic and important especially for mobile devices that run on batteries and have limited processing power.
INDEX TERMS
Collaboration, concurrency control, data consistency, mobile computing, operational transformation, optimistic replication.
CITATION
Bin Shao, Du Li, Ning Gu, "A Fast Operational Transformation Algorithm for Mobile and Asynchronous Collaboration", IEEE Transactions on Parallel & Distributed Systems, vol.21, no. 12, pp. 1707-1720, December 2010, doi:10.1109/TPDS.2010.64
REFERENCES
[1] B. Shao, D. Li, and N. Gu, "A Sequence Transformation Algorithm for Supporting Cooperative Work on Mobile Devices," Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW), pp. 159-168, Feb. 2010.
[2] Y. Saito and M. Shapiro, "Optimistic Replication," ACM Computing Survey, vol. 37, no. 1, pp. 42-81, Mar. 2005.
[3] J. Kistler and M. Satyanarayanan, "Disconnected Operation in the Coda File System," ACM Trans. Computer Systems, vol. 10, no. 1, pp. 3-25, Feb. 1992.
[4] K. Petersen, M.J. Spreitzer, D.B. Terry, M.M. Theimer, and A.J. Demers, "Flexible Update Propagation for Weakly Consistent Replication," Proc. 16th ACM Symp. Operating Systems Principles, pp. 288-301, 1997.
[5] R. Guy, P. Reiher, D. Ratner, M. Gunter, W. Ma, and G. Popek, "Rumor: Mobile Data Access through Optimistic Peer-to-Peer Replication," Proc. 17th Int'l Conf. Conceptual Modeling (ER '98): Workshop Mobile Data Access, 1998.
[6] A.-M. Kermarrec, A. Rowstron, M. Shapiro, and P. Druschel, "The IceCube Approach to the Reconciliation of Divergent Replicas," Proc. 20th Ann. ACM Symp. Principles of Distributed Computing (PODC '01), pp. 210-218, 2001.
[7] C.A. Ellis and S.J. Gibbs, "Concurrency Control in Groupware Systems," Proc. ACM SIGMOD '89, pp. 399-407, 1989.
[8] C. Sun and C. Ellis, "Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements," Proc. ACM Conf. Computer-Supported Cooperative Work, pp. 59-68, Dec. 1998.
[9] C.M. Hymes and G.M. Olson, "Unblocking Brainstorming through the Use of Simple Group Editor," Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '92), pp. 99-106, Nov. 1992.
[10] 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. Computer-Human Interaction, vol. 5, no. 1, pp. 63-108, Mar. 1998.
[11] A.H. Davis, C. Sun, and J. Lu, "Generalizing Operational Transformation to the Standard General Markup Language," Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '02), pp. 58-67, Nov. 2002.
[12] R. Li and D. Li, "Commutativity-Based Concurrency Control in Groupware," Proc. First IEEE Conf. Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom '05), Dec. 2005.
[13] D. Li and R. Li, "An Admissibility-Based Operational Transformation Framework for Collaborative Editing Systems," to be published in Computer Supported Cooperative Work: The J. Collaborative Computing, vol. 19, no. 1, pp. 1-43, 2010.
[14] S. Balasubramaniam and B.C. Pierce, "What Is a File Synchronizer?" Proc. ACM/IEEE MobiCom '98, pp. 98-108, 1998.
[15] V. Gaburici, P. Keleher, and B. Bhattacharjee, "File System Support for Collaboration in the Wide Area," Proc. 26th IEEE Int'l Conf. Distributed Computing Systems (ICDCS '06), p. 26, 2006.
[16] D. Li and R. Li, "Preserving Operation Effects Relation in Group Editors," Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '04), pp. 457-466, Nov. 2004.
[17] Y.-W. Lee, K.-S. Leung, and M. Satyanarayanan, "Operation-Based Update Propagation in a Mobile File System," Proc. USENIX Ann. Technical Conf., June 1999.
[18] M. Suleiman, M. Cart, and J. Ferrié, "Concurrent Operations in a Distributed and Mobile Collaborative Environment," Proc. IEEE Int'l Conf. Data Eng. (ICDE '98), pp. 36-45, Feb. 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. Computer-Human Interaction, vol. 13, no. 4, pp. 531-582, Dec. 2006.
[20] D. Sun and C. Sun, "Context-Based Operational Transformation in Distributed Collaborative Editing Systems," IEEE Trans. Parallel and Distributed Systems, vol. 20, no. 10, pp. 1454-1470, Oct. 2009.
[21] R. Li and D. Li, "A New Operational Transformation Framework for Real-Time Group Editors," IEEE Trans. Parallel and Distributed Systems, vol. 18, no. 3, pp. 307-319, Mar. 2007.
[22] G. Oster, P. Urso, P. Molli, and A. Imine, "Proving Correctness of Transformation Functions in Collaborative Editing Systems," Technical Report 5795, INRIA, Dec. 2005.
[23] D. Li, C. Sun, L. Zhou, and R.R. Muntz, "Operation Propagation in Real-Time Group Editors," IEEE Multimedia, special issue on multimedia computer supported cooperative work, vol. 7, no. 4, pp. 55-61, Oct.-Dec. 2000.
[24] D. Li and R. Li, "A Performance Study of Group Editing Algorithms," Proc. 12th Int'l Conf. Parallel and Distributed Systems (ICPADS '06), pp. 300-307, July 2006.
[25] H. Shen and C. Sun, "Flexible Merging for Asynchronous Collaborative Systems," Proc. Int'l Conf. Cooperative Information Systems (CoopIS '02), pp. 304-321, Oct. 2002.
[26] H. Shen and C. Sun, "A Log Compression Algorithm for Operation-Based Version Control Systems," Proc. IEEE Int'l Computer Software and Application Conf., pp. 867-872, Aug. 2002.
[27] D. Li and J. Lu, "A Lightweight Approach to Sharing Heterogeneous Single-User Editors," Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '06), pp. 139-148, Nov. 2006.
[28] E.W. Myers, "An $O(ND)$ Difference Algorithm and Its Variations," Algorithmica, vol. 1, pp. 251-266, 1986.
[29] L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[30] S. Noel and J.-M. Robert, "Empirical Study on Collaborative Writing: What Do Co-Authors Do, Use, and Like," Computer Supported Cooperative Work: The J. Collaborative Computing, vol. 13, pp. 63-89, 2004.
[31] B. Shao, D. Li, and N. Gu, "An Algorithm for Selective Undo of Any Operation in Collaborative Applications," Proc. ACM Conf. Supporting Group Work (GROUP), to appear, Nov. 2010.
5 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool