Sun's Network File System (NFS) [17] is a client/server distributed file system that uses a stateless server. The server simply services requests for file accesses. It does not keep track of what clients are caching, nor does it grant locks to clients. Each NFS request is an independent atomic operation. Crash recovery is simplified because no transient state needs to be rebuilt in either the server or the client.
However, NFS's stateless server burdens the NFS client with cache consistency. Typical NFS clients give cached data a three second lifetime, after which they query the server to determine if the data is still valid. Stale data is marked and subsequent accesses force retrieval of the current state. This process, known as timestamp validation, does not scale well. As the number of clients grows, the server becomes swamped with validation requests.
Another drawback to NFS is that it does not support disconnected operation. In order to enforce consistency with the three second lifetime for cached data, clients are constantly sending validation messages. If the client is disconnected, it cannot function; invalid data cannot be validated or updated until the client reconnects with the server.