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:

  1. 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.
  2. 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.