This work presents Hoard, a peer-to-peer enhancement for the widely-used Network File System (NFS). Certain features–such as location transparency, mobility transparency, load balancing, and file replication–are missing from NFS but are commonly found in peer-to-peer storage applications. On the other hand, features that NFS provides–specifically hierarchical file organization, directory listings, and file permissions–are missing from most peer-to-peer storage applications. Hoard strives to provide a low-overhead enhancement for NFS through a NFS server that leverages a peer-to-peer routing substrate for efficient node communication. By blending the strengths of NFS with those of peer-to-peer, Hoard provides a single, reliable, shared file system that acts as a large redundant storage with normal NFS semantics. We present the design, implementation, and evaluation of the Hoard file system. Our experiments show that, for an eight-node system, Hoard adds 25% overhead to unmodified NFS, it achieves load balancing in distributed directories, and it guarantees 99.99% or better file availability using the availability trace of machines in a large organization over a period of 35 days.

Date of this Version

January 2003