Architectures and Algorithms for Real-Time Web-Based Collaboration

Originating in the theory of distributed computing, the optimistic consistency control method known as Operational Transformation (OT) has been studied by researchers since the late 1980s. Algorithms were devised for managing the concurrent nature of user actions and for maintaining the consistency...

Full description

Bibliographic Details
Main Author: Gadea, Cristian
Other Authors: Ionescu, Dan
Format: Others
Language:en
Published: Université d'Ottawa / University of Ottawa 2021
Subjects:
Online Access:http://hdl.handle.net/10393/41944
http://dx.doi.org/10.20381/ruor-26166
id ndltd-uottawa.ca-oai-ruor.uottawa.ca-10393-41944
record_format oai_dc
spelling ndltd-uottawa.ca-oai-ruor.uottawa.ca-10393-419442021-04-02T05:25:43Z Architectures and Algorithms for Real-Time Web-Based Collaboration Gadea, Cristian Ionescu, Dan Distributed Computing Real-Time Systems Feedback Control Theory Consistency Algorithms Synchronous Editing Collaborative Software Originating in the theory of distributed computing, the optimistic consistency control method known as Operational Transformation (OT) has been studied by researchers since the late 1980s. Algorithms were devised for managing the concurrent nature of user actions and for maintaining the consistency of replicated data as changes are introduced by multiple geographically-distributed users in real-time. Web-Based Collaborative Platforms are now essential components of modern organizations, with real-time protocols and standards such as WebSocket enabling the development of online collaboration tools to facilitate information sharing, content creation, document management, audio and video streaming, and communication among team members. Products such as Google Docs have shown that centralized web-based co-editing is now possible in a reliable way, with benefits in user productivity and efficiency. However, as the demand for effective real-time collaboration between team members continues to increase, web applications require new synchronization algorithms and architectures to resolve the editing conflicts that may appear when multiple individuals are modifying the same data at the same time. In addition, collaborative applications need to be supported by scalable distributed backend services, as can be achieved with "serverless" technologies. While much existing research has addressed problems of optimistic consistency maintenance, previous approaches have not focused on capturing the dynamic client-server interactions of OT systems by modeling them as real-time systems using Finite State Machine (FSM) theory. This thesis includes an exploration of how the principles of control theory and hierarchical FSMs can be applied to model the distributed system behavior when processing and transforming HTML DOM changes initiated by multiple concurrent users. The FSM-based OT implementation is simulated, including with random inputs, and the approach is shown to be invaluable for organizing the algorithms required for synchronizing complex data structures. The real-time feedback control mechanism is used to develop a Web-Based Collaborative Platform based on a new OT integration algorithm and architecture that brings "Virtual DOM" concepts together with state-of-the-art OT principles to enable the next generation of collaborative web-based experiences, as shown with implementations of a rich-text editor and a 3D virtual environment. 2021-03-31T17:40:17Z 2021-03-31T17:40:17Z 2021-03-31 Thesis http://hdl.handle.net/10393/41944 http://dx.doi.org/10.20381/ruor-26166 en application/pdf Université d'Ottawa / University of Ottawa
collection NDLTD
language en
format Others
sources NDLTD
topic Distributed Computing
Real-Time Systems
Feedback Control Theory
Consistency Algorithms
Synchronous Editing
Collaborative Software
spellingShingle Distributed Computing
Real-Time Systems
Feedback Control Theory
Consistency Algorithms
Synchronous Editing
Collaborative Software
Gadea, Cristian
Architectures and Algorithms for Real-Time Web-Based Collaboration
description Originating in the theory of distributed computing, the optimistic consistency control method known as Operational Transformation (OT) has been studied by researchers since the late 1980s. Algorithms were devised for managing the concurrent nature of user actions and for maintaining the consistency of replicated data as changes are introduced by multiple geographically-distributed users in real-time. Web-Based Collaborative Platforms are now essential components of modern organizations, with real-time protocols and standards such as WebSocket enabling the development of online collaboration tools to facilitate information sharing, content creation, document management, audio and video streaming, and communication among team members. Products such as Google Docs have shown that centralized web-based co-editing is now possible in a reliable way, with benefits in user productivity and efficiency. However, as the demand for effective real-time collaboration between team members continues to increase, web applications require new synchronization algorithms and architectures to resolve the editing conflicts that may appear when multiple individuals are modifying the same data at the same time. In addition, collaborative applications need to be supported by scalable distributed backend services, as can be achieved with "serverless" technologies. While much existing research has addressed problems of optimistic consistency maintenance, previous approaches have not focused on capturing the dynamic client-server interactions of OT systems by modeling them as real-time systems using Finite State Machine (FSM) theory. This thesis includes an exploration of how the principles of control theory and hierarchical FSMs can be applied to model the distributed system behavior when processing and transforming HTML DOM changes initiated by multiple concurrent users. The FSM-based OT implementation is simulated, including with random inputs, and the approach is shown to be invaluable for organizing the algorithms required for synchronizing complex data structures. The real-time feedback control mechanism is used to develop a Web-Based Collaborative Platform based on a new OT integration algorithm and architecture that brings "Virtual DOM" concepts together with state-of-the-art OT principles to enable the next generation of collaborative web-based experiences, as shown with implementations of a rich-text editor and a 3D virtual environment.
author2 Ionescu, Dan
author_facet Ionescu, Dan
Gadea, Cristian
author Gadea, Cristian
author_sort Gadea, Cristian
title Architectures and Algorithms for Real-Time Web-Based Collaboration
title_short Architectures and Algorithms for Real-Time Web-Based Collaboration
title_full Architectures and Algorithms for Real-Time Web-Based Collaboration
title_fullStr Architectures and Algorithms for Real-Time Web-Based Collaboration
title_full_unstemmed Architectures and Algorithms for Real-Time Web-Based Collaboration
title_sort architectures and algorithms for real-time web-based collaboration
publisher Université d'Ottawa / University of Ottawa
publishDate 2021
url http://hdl.handle.net/10393/41944
http://dx.doi.org/10.20381/ruor-26166
work_keys_str_mv AT gadeacristian architecturesandalgorithmsforrealtimewebbasedcollaboration
_version_ 1719395069473062912