Share This Author
Conflict-Free Replicated Data Types
This paper formalises two popular approaches (state- and operation-based) and their relevant sufficient conditions and studies a number of useful CRDTs, such as sets with clean semantics, supporting both add and remove operations, and considers in depth the more complex Graph data type.
A comprehensive study of Convergent and Commutative Replicated Data Types
This paper formalises asynchronous object replication, either state based or operation based, and provides a sufficient condition appropriate for each case, and describes several useful CRDTs, including container data types supporting bothadd and remove operations with clean semantics, and more complex types such as graphs, montonic DAGs, and sequences.
This article identifies key challenges facing optimistic replication systems---ordering operations, detecting and resolving conflicts, propagating changes efficiently, and bounding replica divergence---and provides a comprehensive survey of techniques developed for addressing these challenges.
A Commutative Replicated Data Type for Cooperative Editing
- N. Preguiça, J. Marquès, M. Shapiro, Mihai Letia
- Computer Science29th IEEE International Conference on Distributed…
- 22 June 2009
Treedoc is described, a novel CRDT design for cooperative text editing where the identifiers of Treedoc atoms are selected from a dense space and the results with traces from existing edit histories are validated.
Cure: Strong Semantics Meets High Availability and Low Latency
- Deepthi Devaki Akkoorath, Alejandro Z. Tomsic, M. Shapiro
- Computer ScienceIEEE 36th International Conference on Distributed…
- 27 June 2016
The protocols for highly available transactions, and an experimental evaluation showing that Cure is able to achieve scalability similar to eventually-consistent NoSQL databases, while providing stronger guarantees.
Fast and accurate flow-insensitive points-to analysis
This paper addresses techniques for flow- and context-insensitive interprocedural analysis of stack-based storage, and defines two new algorithms that are significantly more accurate than Steensgaard's algorithm, and significantly faster than Andersen's algorithm on large programs.
The IceCube approach to the reconciliation of divergent replicas
Preliminary experience indicates that strong static constraints successfully contain the potential combinatorial explosion of the simulation stage and with weaker static constraints, the system still finds good solutions in a reasonable time.
'Cause I'm strong enough: Reasoning about consistency choices in distributed systems
- Alexey Gotsman, Hongseok Yang, C. Ferreira, Mahsa Najafzadeh, M. Shapiro
- Computer SciencePOPL
- 11 January 2016
This work proposes the first proof rule for establishing that a particular choice of consistency guarantees for various operations on a replicated database is enough to ensure the preservation of a given data integrity invariant.
Write Fast, Read in the Past: Causal Consistency for Client-Side Applications
- M. Zawirski, N. Preguiça, S. Duarte, Annette Bieniusa, Valter Balegas, M. Shapiro
- Computer ScienceMiddleware
- 24 November 2015
The SwiftCloud algorithms, design, and experimental evaluation show that client-side apps enjoy the high performance and availability, under the same guarantees as a remote cloud data store, at a small cost.
Structure and Encapsulation in Distributed Systems: The Proxy Principle
- M. Shapiro
- Computer ScienceICDCS
A novel view of the structuring of distributed systems, and a few examples of its utilization in an object-oriented context is presented, which provides a powerful structuring framework for distributed systems that can be implemented cheaply without sacricing much exibility.