CS262B Reading Summary
Disconnected Operation in the Coda File System
James J. Kistler and M. Satyanarayanan
Summary by Feng Zhou
2/10/2004
Strong points of the paper are:
- Using caching to improve not only performance, but availability
of remote file systems, is a novel idea. The idea fits very well
in the original AFS design. First, whole file, disk based
persistent caching makes the data for disconnected operation readily
available to the client machine. Second, call-back-based cache
consistency protocol makes consistency information directly known to
the client when it's online, helping it in knowing which locally cached
files are up-to-date or not.
- Optimistic replica control is a good decision for disconnected
use. As noted in the paper, both locking and lease are not good
idea here. Locking renders the server file unavailable to other
users when one disconnected user locks the file. Leases, while partly
resolving this problem, limits the amount of time a disconnected user
can modify the file.
One major flaw.
Resolving conflicts is hard with Coda, because the user needs to
decide which version of the file to keep, while the modificaiton to
files can be related to each other. Also there's no single tool
for the user to view the difference between files easily, for files not
in plain text.