Andrew File System

The Andrew File System (AFS) was developed at Carnegie Mellon University in the 1980s as part of a project to develop networked workstations for campus use as a replacement for the older mainframe-and-terminals setup used for educational and research computing. CMU and IBM collaborated on this project. It was turned into a commercial project after being implemented on-campus, and is now in use in many locations.

Andrew is a distributed network file system in which a potentially very large number of systems share a common filesystem, with extensive caching used to keep file operations fast, and file locking ensuring multiple users don't modify the same file at once. Authentication and access control are also built into the system.

The file locking scheme does not work well with large shared databases in which an entire massive structure is contained within a single file, since once the file is locked nobody else can use it until the lock is released. For such applications, a finer-tuned record-locking system (such as is found in modern database systems) is more useful. Systems designed to work well with Andrew are better off using structures that separate things into many different files to reduce the inter-user conflicts; for instance, the original Andrew mail system used separate files for each message instead of putting them in combined mailbox files.