Web and file based document collaboration via aysnchronous and synchronous updates

Collaborative documents can be worked on synchronously (collaborators see updates as they happen) and asynchronously (collaborators see updates after they are shared). Synchronous updates are useful when collaborators are working together in real-time on the details of a document. Asynchronous updates are more appropriate for sharing larger sets of changes or for publishing a particular version. Furthermore, although web-based collaboration is ideal for real-time updates, often authors wish to use software installed on their local computer to edit documents. As such, this note will outline an approach for merging synchronous and asynchronous updates across both the WWW and the user's local file system using Operational Transforms and Conflict-Free Replicated Data Types.

[1]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

[2]  Christopher Hertel Implementing CIFS: The Common Internet File System , 2003 .

[3]  Benjamin W. Wah File Placement on Distributed Computer Systems , 1984, Computer.

[4]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.

[5]  Joan Manuel Marquès,et al.  A Commutative Replicated Data Type for Cooperative Editing , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems.

[6]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[7]  Michaël Rusinowitch,et al.  Formal design and verification of operational transformation algorithms for copies convergence , 2006, Theor. Comput. Sci..

[8]  Andrew Tridgell,et al.  Efficient Algorithms for Sorting and Synchronization , 1999 .

[9]  Neil Fraser Differential synchronization , 2009, DocEng '09.

[10]  Marvin Theimer,et al.  The Bayou Architecture: Support for Data Sharing Among Mobile Users , 1994, 1994 First Workshop on Mobile Computing Systems and Applications.

[11]  Pascal Urso,et al.  Merging OT and CRDT algorithms , 2014, PaPEC '14.

[12]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[13]  Pascal Urso,et al.  File system on CRDT , 2012, ArXiv.

[14]  Marc Shapiro,et al.  Convergent and Commutative Replicated Data Types , 2011, Bull. EATCS.

[15]  Benjamin C. Pierce,et al.  What's in Unison? A Formal Specification and Reference Implementation of a File Synchronizer , 2004 .

[16]  Ning Gu,et al.  A Fast Operational Transformation Algorithm for Mobile and Asynchronous Collaboration , 2010, IEEE Transactions on Parallel and Distributed Systems.

[17]  Achour Mostéfaoui,et al.  Concurrency Effects Over Variable-size Identifiers in Distributed Collaborative Editing , 2013, DChanges.

[18]  Mahadev Satyanarayanan,et al.  Coda: A Highly Available File System for a Distributed Workstation Environment , 1990, IEEE Trans. Computers.