Applications should use specific knowledge of their data, along with the knowledge that data may be stale, to detect and resolve conflicts. Two applications are studied, a bibliographic database and a meeting room scheduler. A client may connect to any server for reading and writing data. Servers replicate all data, and synchronize using pair-wise communication. A primary server is the authoritative source of consistency.
Programs resolve conflicts with each write.
Resolution may involve cascading back-outs. Procedures must be deterministic so that they may be replayed on multiple machines. When a write occurs, it is considered tentative until committed at the primary server. A global ordering is used by the primary server to dictate which of several conflicting writes wins. Once a modification has reached the primary server, it is considered stable .