Architectures and Algorithms for Real-Time Web-Based Collaboration
Architectures and Algorithms for Real-Time Web-Based Collaboration Cristian Gadea A thesis submitted in partial fulfillment of the requirements for the Doctorate in Philosophy degree in Electrical and Computer Engineering School of Electrical Engineering and Computer Science Faculty of Engineering University of Ottawa © Cristian Gadea, Ottawa, Canada, 2021 \Great things are done by a series of small things brought together." Vincent Van Gogh ii Abstract 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 concur- rent 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 orga- nizations, 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 produc- tivity and efficiency. However, as the demand for effective real-time collaboration between team members continues to increase, web applications require new syn- chronization 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.
[Show full text]