Abstract:Conflict-free replicated data types (CRDTs) aid programmers develop highly available and scalable distributed systems. However, the literature describes only a limited portfolio of conflict-free data types and implementing custom ones requires additional knowledge of replication and consistency techniques. As a result, programmers resort to ad hoc solutions which are error-prone and result in brittle systems. In this paper, we introduce strong eventually consistent replicated objects (SECROs), a general-purpos… Show more
“…This forces programmers to choose between availability (AP) and consistency (CP) in the event of a replicas of this RDT are guaranteed to converge to the same state. This paper complements our previous exposition of SECROs in [9] by proving convergence and showing that progress depends on the data type itself. Hence, we formulate a necessary condition for SECRO data types which enables us to give a general proof of progress.…”
Section: Introductionsupporting
confidence: 60%
“…Having introduced the CScript language and our SECRO data type, we now turn our attention to the replication algorithm behind SECROs. The detailed algorithm is explained in [9]. This paper provides the correctness proofs and presents only the parts of the algorithm that are relevant to the proofs.…”
Section: Secro's Replication Protocolmentioning
confidence: 99%
“…Commit operations commute in order not to compromise availability. The detailed commit algorithm and its explanation can be found in [9].…”
“…This forces programmers to choose between availability (AP) and consistency (CP) in the event of a replicas of this RDT are guaranteed to converge to the same state. This paper complements our previous exposition of SECROs in [9] by proving convergence and showing that progress depends on the data type itself. Hence, we formulate a necessary condition for SECRO data types which enables us to give a general proof of progress.…”
Section: Introductionsupporting
confidence: 60%
“…Having introduced the CScript language and our SECRO data type, we now turn our attention to the replication algorithm behind SECROs. The detailed algorithm is explained in [9]. This paper provides the correctness proofs and presents only the parts of the algorithm that are relevant to the proofs.…”
Section: Secro's Replication Protocolmentioning
confidence: 99%
“…Commit operations commute in order not to compromise availability. The detailed commit algorithm and its explanation can be found in [9].…”
“…But this only treats transient network disruptions where clients will come back online eventually, which is not necessarily the case for web clients. Strong Eventually Consistent Replicated Objects (SECROs) [47] are similar to operation-based CRDTs, but do not impose restrictions on commutativity of operations. However, by doing so, they need a global total order and cannot tolerate network disruptions.…”
Many enterprise software services are adopting a fully web-based architecture for both internal line-of-business applications and for online customer-facing applications. Although wireless connections are becoming more ubiquitous and faster, mobile employees and customers are often offline due to expected or unexpected network disruptions. Nevertheless, continuous operation of the software is expected. This paper presents OWebSync: a web-based middleware for data synchronization in interactive groupware with fast resynchronization of offline clients and continuous, interactive synchronization of online clients. To automatically resolve conflicts, OWebSync implements a fine-grained data synchronization model and leverages state-based Conflict-free Replicated Data Types. This middleware uses Merkle-trees embedded in the tree-structured data and virtual Merkle-tree levels to achieve the required interactive performance. Our comparative evaluation with available operation-based and delta-state-based middleware solutions shows that OWebSync is especially better in operating in and recovering from offline settings and network disruptions. In addition, OWebSync scales more efficiently over time, as it does not store version vectors or other meta-data for all past clients.
“…Commutativity lies at the basis of (operation-based) conflict-free replicated data types (CRDTs) [20]. Other work proposed SECROs [7], an alternative data type ensuring SEC that can deal with non-commutative operations by keeping a totally ordered log of operations.…”
Distributed key-value (KV) stores are a rising alternative to traditional relational databases since they provide a flexible yet simple data model. Recent KV stores use eventual consistency to ensure fast reads and writes as well as high availability. Support for eventual consistency is however still very limited as typically only a handful of replicated data types are provided. Moreover, modern applications maintain various types of data, some of which require strong consistency whereas other require high availability. Implementing such applications remains cumbersome due to the lack of support for data consistency in today's KV stores. In this paper we propose Squirrel, an open implementation of an in-memory distributed KV store. The core idea is to reify distribution through consistency models and protocols. We implement two families of consistency models (strong consistency and strong eventual consistency) and several consistency protocols, including two-phase commit and CRDTs.CCS Concepts • Information systems → Key-value stores; Data replication tools; Distributed database transactions.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.