Coping with conflicts in an optimistically replicated file system
Puneet Kumar · 2002
Coda is a scalable distributed Unix file system that provides high availability through the use of two distinct but complementary mechanisms. One mechanism, server replication, stores copies of a file at multiple servers. The other mechanism, disconnected operation, is a mode of execution in which a caching site temporarily assumes the role of a replication site. Disconnected operation is particularly useful for supporting portable workstations. Both mechanisms are forms of optimistic replication. Coda allows potentially conflicting updates to be made in each network partition during failures. This strategy is acceptable for two reasons. First, sequential write-sharing of data within a short period of time is relatively infrequent in Unix. Second, Coda provides mechanisms to minimize the inconvenience caused by conflicting updates. The author focuses on the mechanisms in Coda to cope with conflicts and describes experience in implementing them.>