DOI: https://doi.org/10.15368/theses.2023.2
Available at: https://digitalcommons.calpoly.edu/theses/2654
Date of Award
3-2023
Degree Name
MS in Computer Science
Department/Program
Computer Science
College
College of Engineering
Advisor
Maria Pantoja
Advisor Department
Computer Science
Advisor College
College of Engineering
Abstract
Collaboration has become a key feature of modern software, allowing teams to work together effectively in real-time while in different locations. In order for a user to communicate their intention to several distributed peers, computing devices must exchange high-frequency updates with transient metadata like mouse position, text range highlights, and temporary comments. Current peer-to-peer awareness solutions have high time and space complexity due to the ever-expanding logs that each client must maintain in order to ensure robust collaboration in eventually consistent environments. This paper proposes an awareness Conflict-Free Replicated Data Type (CRDT) library that provides the tooling to support an eventually consistent, decentralized, and robust multi-user collaborative environment. Our library is tuned for rapid iterative updates that communicate fine-grained user actions across a network of collaborators. Our approach holds memory constant for subsequent writes to an existing key on a shared resource and completely prunes stale data from shared documents. These features allow us to keep the CRDT's memory footprint small, making it a feasible solution for memory constrained applications. Results show that our CRDT implementation is comparable to or exceeds the performance of similar data structures in high-frequency read/write scenarios.
Included in
Computational Engineering Commons, Data Storage Systems Commons, Digital Communications and Networking Commons