Section: Scientific Foundations
Data and Knowledge Sharing
Consistency Models for Distributed Collaborative Systems
Collaborative systems are distributed systems that allow users to share data. One important issue is to manage consistency of shared data according to concurrent access. Traditional consistency criteria such as locking, serializability, linearizability are not adequate for collaborative systems.
Causal consistency, eventual Consistency and Intention preservation (CCI) [77] are more suitable for developing middleware for collaborative applications.
We develop algorithms for ensuring CCI properties on collaborative distributed systems. Constraints on the algorithms are different according to the type of distributed system and type of data. The distributed system can be centralized, decentralized, GRID or peer-to-peer systems. The type of data can include strings, growable arrays, ordered trees, semantic graphs and multimedia data.
Optimistic Replication
Replication of data between different nodes of a network allows improving reliability, fault-tolerance, and accessibility. When the data are mutable, consistency between the different replicas must be ensured. Pessimistic replication is based on the principle of single-copy consistency while optimistic replication allows the replicas to diverge during a short time period. The consistency model for optimistic replication [75] is called eventual consistency, meaning that replicas are guaranteed to converge to the same value when the system is idle.
Our research focuses on the two most promising families of optimistic replication algorithms for ensuring CCI:
-
the operational transformation (OT) algorithms [70]
-
the algorithms based on commutative replicated data types (CRDT) [74]
Operational transformation algorithms are based on the application of a transformation function when a remote modification is integrated into the local document. Integration algorithms are generic, being parameterized by operational transformation functions which depend on replicated document types. The advantage of these algorithms is their genericity. These algorithms can be applied to any data type and they can merge heterogeneous data in a uniform manner.
Commutative replicated data types is a new class of algorithms initiated by woot [73] . They ensure consistency of highly dynamic content on peer-to-peer networks. Unlike traditional optimistic replication algorithms, they do not require to detect concurrency between operations in order to ensure consistency. CRDT algorithms rely on natively commutative operations defined on abstract data types such as lists or ordered trees. Thus, they do not require a merge algorithm or an integration procedure.