next up previous contents index
Next: Conflict Resolution Up: Replica Control Strategies Previous: Multi-Level Consistency   Contents   Index


Conflict Detection

My definition of (mutual) consistency is:

Definition 3.4   A cached (version of a) file, f', is consistent with the primary copy, f, if (and only if) f' has the same update history as f.

If a file is cached then the cached version--which is a secondary copy--may or may not be consistent with the server version; the primary copy. Note that with this definition it is not sufficient to have the same content to be consistent. Two versions of a file having the same update history should have the same content, whereas two versions of a file having the same content do not necessarily share the same update history. The decision to use update history in the definition rather than content is based on the fact that it is cheaper to compare timestamps than file contents. Since primary copies are stored in one place (a single server) and since consistency is only measured against the primary copy, timestamp comparisons are sufficient to check for consistency, there are no need for version vectors or the like.

To my knowledge Coda, Ficus, and Bayou use similar definitions of consistency. Using a database, as in Bayou [53], allows for testing of logical conflicts, i.e., based on the data in the tables. Bayou applications must specify their own conflict detection, called a dependency check, with each write/update.


next up previous contents index
Next: Conflict Resolution Up: Replica Control Strategies Previous: Multi-Level Consistency   Contents   Index

michael@garfield.dk
2000-10-13