Google Groups
Brown CS Spring 2008 CSCI 2950-X
Visit this group

Summary

How do you allow dozens, hundreds, thousands of users to edit shared documents? How do you synchronize their changes? How do you cope with volunteers who don't commit, machines that aren't reliable, and simultaneous edits, i.e., the Internet? How do you do this with low space- and time-overhead?

The field of optimistic replication tackles these questions. It sits squarely between systems and theory, depending on the former to scope out the problem and constrain solutions, and the latter to ensure the solutions make sense.

This is a hot topic, with new results constantly appearing in print. We will study some classic literature, examine contemporary results, and then identify projects in which we attempt to make our own contributions.

Project Groups

DivaScheme: King, Pantel, Yoo
Static Reasoning: Gordon, McCorkle
Drawing: Bartholomew, Bascetincelik, Baskin (the Killer B's)
Middleware: Fischer, O'Donnell
Semantic Web-Browser: Barratt, Bromfield, Goldmints-Orlov, Guha (Mostly Killer B's)

Readings

Survey (Everyone)

Saito, Shapiro
Optimistic replication
Computing Surveys 2005
link

Consistency Algorithms (Chris King, Danny Yoo)

Fischer and Michael
Sacrificing serializability to attain high availability of data in an unreliable network
PODS 1982
link
Herlihy
Apologizing vs. asking permission: optimistic concurrency control for abstract data types
TODS 1990
link
Guy, Popek and Page
Consistency algorithms for optimistic replication
ICNP 1993
link

Bayou (Chris Barratt, Aleks Bromfield, Tim O'Donnell)

Terry, et al.
Session guarantees for weakly consistent replicated data
PDIS 1994
formal link
actual paper (flaky link, may need reloading)
Terry, et al.
Managing update conflicts in Bayou, a weakly connected replicated storage system
SOSP 1995
link
Petersen, et al.
Flexible update propagation for weakly consistent replication
SOSP 1997
link

Operational Transformation (Jacob Baskin, Arjun Guha, Adam Pantel)

Ellis and Gibbs
Concurrency control in groupware systems
SIGMOD Record 1989
link
Sun and Ellis
Operational transformation in real-time group editors: issues, algorithms, and achievements
CSCW 1998
link
Sun and Sun
Operation context and context-based operational transformation
CSCW 2006
link

Lenses (Aysun Bascetincelik, Eric McCorkle, Colin Gordon)

Foster, et al.
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
TOPLAS 2007
link
Bohannon, et al.
Relational lenses: a language for updateable views
PODS 2006
link
Foster, et al.
Exploiting schemas in data synchronization
JCSS 2007
link

Action-Constraints Framework (Andy Bartholomew, Arcady Goldmints-Orlov)

Shapiro, Bhargavan, Krishna
A constraint-based formalism for consistency in replicated systems
OPODIS 2004
link
Shapiro, Bhargavan
The Actions-Constraints approach to replication: definitions and proofs
MSR-TR-2004-14
link
Shapiro and Krishna
The three dimensions of data consistency
CDUR 2005
link

Commutative Datatypes (Chris Barratt, Aleks Bromfield, Tim O'Donnell)

Shapiro, Preguiça
Designing a commutative replicated data type
INRIA RR
link
Oster, Urso, Molli, Imine
Data consistency for P2P collaborative editing
CSCW 2006
link
 

Tombstones and Undo (Andy Bartholomew, Arcady Goldmints-Orlov, Travis Fischer)

Oster, Molli, Urso, Imine
Tombstone transformation functions for ensuring consistency in collaborative editing systems
CollaborateCom 2006
link
Weiss, Urso, Molli
Compensation in collaborative editing
Collaborative Editing Systems 2007
link
Imine, Rusinowitch, Oster, Molli
Formal design and verification of operational transformation algorithms for copies convergence
TCS 2006
link

Movers (Aysun Bascetincelik, Eric McCorkle, Colin Gordon)

Flanagan, Freund, Qadeer
Exploiting purity for atomicity
TSE 2005
link
Flanagan, Qadeer
A type and effect system for atomicity
PLDI 2003
link
Lipton
Reduction: a method of proving properties of parallel programs
CACM 1975
link

Byzantine Fault Tolerance (Jacob Baskin, Arjun Guha, Adam Pantel)

Castro, Liskov
Practical Byzantine fault tolerance
OSDI 1999
link