The Ficus Replicated File System

Ficus is a replicated distributed file system for UNIX being developed at UCLA. It is intended to scale tile range of applications from small offices to nation-wide filing environments. Ficus has three primary distinguishing characteristics. First, it uses optimistic concurrency control with periodic reconciliation to maximize availability. The reconciliation algorithms automatically restore directories after unsynchronized updates and reliably detect and report concurrent partitioned updates on user files. Second, Ficus leverages the directory reconciliation algorithms to solve the volume location data management problem in a way that permits the name space to scale to nation-wide application with millions of transparently accessible volumes. Ficus volume replicas are located using information stored in the replicated graft points, dynamically grafted on access, and pruned when not used for some time. The replicated volume location information in graft points is fully updatable, even during partition. Third, Ficus is built using a stackable layers architecture which permits it to coexist with and leverage other independently created extended filing features. Ficus replication has, for example, been run both above and below independent layers providing file encryption and file compression. Ficus is operational, in daily use at UCLA, and has received limited testing across the Internet. The designers are actively soliciting willing participants for alpha testing.