The distributed file system will have to support diverse file systems, some
sooner than later. These will include:
PC-NFS/DOS file systems. These will be essential for safe software
availability (since distribution to pure DOS machines could be a
disaster area). Probably best not to allow DOS machines to hold user
files if possible.
Andrew AFS - a vastly superior distributed file system to NFS, but not
in widespread use. Mentioned as favoured in the Decorum proposal.
Probably ideal for teaching since chached files used in teaching are
relatively small. Known to co-exist with NFS. How it interacts with
naming/mounting/access control not known.
The CODA file system extends the AFS (see later) to add cache
coherence algorithm. Basically, a CODA client has a cache of a file.
Since most files are read only, network partitioning or even server
crash are not a problem. If a client opens a file for write, CODA is
optimistic, and simply assumes that statistically, it is unlikely two
clients will open the same file to write. If they do, then on writing
the cache back to the server there is a roll-back, and re-integration
scheme that is invoked. Unfortunately, for many common filesystems,
a file is a stream of bytes (c.f. Unix/DOS), and integration of two
sequences of changes is not meaningful. This has led to the next
generation of filesystem designs, where all files are kept in a series
of updates of their contents. With decreasing storage costs, such <#2401#>
Log Structured Filesystems<#2401#> are becoming increasingly attractive,
since they simplify a number of error recovery procedures outside
distributed systems as well as inside.