Chronofold: a data structure for versioned text

02/21/2020
by   Victor Grishchenko, et al.
0

Collaborative text editing and versioning is known to be a tough topic. Diffs, OT and CRDT are three relevant classes of algorithms which all have their issues. CRDT is the only one that works correctly and deterministically in a distributed environment, at the unfortunate cost of data structure complexity and metadata overheads. A chronofold is a data structure for editable linear collections based on the Causal Tree CRDT model. A chronofold maintains time-ordering and space-ordering of its elements. Simply put, a it is both a log and a text at the same time, which makes it very convenient for text versioning and synchronization. Being a simple array-based data structure with O(1) insertions, chronofold makes CRDT overheads acceptable for many practical applications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/13/2020

Update Query Time Trade-off for dynamic Suffix Arrays

The Suffix Array SA(S) of a string S[1 ... n] is an array containing all...
research
01/04/2022

Dynamic Suffix Array with Polylogarithmic Queries and Updates

The suffix array SA[1..n] of a text T of length n is a permutation of {1...
research
09/19/2022

Cache-Oblivious Representation of B-Tree Structures

We present a data structure CORoBTS for storing a search tree with all l...
research
01/17/2022

A Tree Clock Data Structure for Causal Orderings in Concurrent Executions

Dynamic techniques are a scalable and effective way to analyze concurren...
research
12/11/2020

Faster Deterministic Modular Subset Sum

We consider the Modular Subset Sum problem: given a multiset X of intege...
research
07/20/2023

Efficient algorithms for enumerating maximal common subsequences of two strings

We propose efficient algorithms for enumerating maximal common subsequen...
research
04/20/2021

ds-array: A Distributed Data Structure for Large Scale Machine Learning

Machine learning has proved to be a useful tool for extracting knowledge...

Please sign up or login with your details

Forgot password? Click here to reset