The evolution of Coda
- 1 May 2002
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 20 (2), 85-124
- https://doi.org/10.1145/507052.507053
Abstract
Failure-resilient, scalable, and secure read-write access to shared information by mobile and static users over wireless and wired networks is a fundamental computing challenge. In this article, we describe how the Coda file system has evolved to meet this challenge through the development of mechanisms for server replication, disconnected operation, adaptive use of weak connectivity, isolation-only transactions, translucent caching, and opportunistic exploitation of hardware surrogates. For each mechanism, the article explains how usage experience with it led to the insights for another mechanism. It also shows how Coda has been influenced by the work of other researchers and by industry. The article closes with a discussion of the technical and nontechnical lessons that can be learned from the evolution of the system.Keywords
This publication has 29 references indexed in Scilit:
- The future of systems researchComputer, 1999
- Coda: a highly available file system for a distributed workstation environmentIEEE Transactions on Computers, 1990
- Performance of the Firefly RPCACM Transactions on Computer Systems, 1990
- Maintaining availability in partitioned replicated databasesACM Transactions on Database Systems, 1989
- Fault tolerance under UNIXACM Transactions on Computer Systems, 1989
- Scale and performance in a distributed file systemACM Transactions on Computer Systems, 1988
- A quorum-consensus replication method for abstract data typesACM Transactions on Computer Systems, 1986
- Consistency in a partitioned network: a surveyACM Computing Surveys, 1985
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976