Coda: A Highly Available File System for a Distributed
M. Satyanarayanan, James J. Kistler, Puneet Kumar, Maria E. Okasaki, Ellen
H. Siegel, David C. Steere
Coda is a file system for a large-scale distributed computing environment
composed of Unix workstations. It provides resiliency to server and network
failures 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. The design of Coda optimizes for availability and
performance, and strives to provide the highest degree of consistency attainable
in the light of these objectives. Measurements from a prototype show that
the performance cost of providing high availability in Coda is reasonable.