|国家预印本平台
首页|Collabs: A Flexible and Performant CRDT Collaboration Framework

Collabs: A Flexible and Performant CRDT Collaboration Framework

Collabs: A Flexible and Performant CRDT Collaboration Framework

来源:Arxiv_logoArxiv
英文摘要

A collaboration framework is a distributed system that serves as the data layer for a collaborative app. Conflict-free Replicated Data Types (CRDTs) are a promising theoretical technique for implementing collaboration frameworks. However, existing frameworks are inflexible: they are often one-off implementations of research papers or only permit a restricted set of CRDT semantics, and they do not allow app-specific optimizations. Until now, there was no general framework that lets programmers mix, match, and modify CRDTs. We solve this with Collabs, a CRDT-based collaboration framework that lets programmers implement their own CRDTs, either from-scratch or by composing existing building blocks. Collabs prioritizes both semantic flexibility and performance flexibility: it allows arbitrary app-specific CRDT behaviors and optimizations, while still providing strong eventual consistency. We demonstrate Collabs's capabilities and programming model with example apps and CRDT implementations. We then show that a collaborative rich-text editor using Collabs's built-in CRDTs can scale to over 100 simultaneous users, unlike existing CRDT frameworks and Google Docs. Collabs also has lower end-to-end latency and server CPU usage than a popular Operational Transformation framework, with acceptable CRDT metadata overhead.

Gregory Schare、Sicheng Xing、Xuan Tang、Yicheng Zhang、Matthew Weidner、Huairui Qi、Heather Miller、Maxime Kjaer、Ria Pradeep、Benito Geordie

计算技术、计算机技术

Gregory Schare,Sicheng Xing,Xuan Tang,Yicheng Zhang,Matthew Weidner,Huairui Qi,Heather Miller,Maxime Kjaer,Ria Pradeep,Benito Geordie.Collabs: A Flexible and Performant CRDT Collaboration Framework[EB/OL].(2022-12-05)[2025-08-05].https://arxiv.org/abs/2212.02618.点此复制

评论