An NFS-based Caching System for Hoarding Files for Use on Mobile Unix computers
During 1995 and 1996 I worked on a cache manager for hoarding files from
NFS servers and re-integrating new and changed files upon reconnection. I
worked with
Dorota
Huizinga at
California State
University, Fullerton in the
Computer Science Department.
The prototype I wrote runs as a "local NFS server". When it starts up, it
checks to see if the network is available, mounts filesystems listed in a
configuration file and proceeds to operate in "connected" mode and starts
handling file requests for various local directories.
In "connected" mode, the cache manager will cache complete files
to a local disk cache as they are requested and will compare attributes
of cached files to the server upon subsequent accesses to make sure the
files stay consistent.
The cache manager switches to "disconnected" mode if an NFS mounted
filesystem becomes unavailable. The manager thens makes the (perhaps
incorrect) assumption that all filesystems have become unavailable and
switches to disconnected mode.
In disconnected mode, the cache manager does not perform cache consistency
checks, but does periodically check to see if the network is available
again. While disconnected all files that get modified are logged. When
the network becomes available again, the cache manager uses this log to
copy updated files back to the server.
The prototype was been compiled and minimally tested on a 486 machine
running Linux. Note! This cache manager does not attempt to provide
a cache to improve NFS performance. In connected mode, performance is
similar to or slightly worse than NFS performance. The primary
intention of this cache manager is to provide an easily managed hoard
of files for use when disconnected.
The project's code and paper are available:
- cacher.ps: Postscript version of cacher paper
A variety of Internet available software packages helped me orient myself
when I started this project, including:
I'd like to express my sincere appreciation for the efforts made by theauthors of these programs and systems.
I'd also like to thank Peter Galvin, Erez Zadok, and Marc Staveley,
all of whom were kind enough to take time out of their
busy schedules to answer my email.
--
HeatherSherman - 13 Mar 2005
to top