Farsite is a serverless, distributed file system with no mutual trust among the client computers. The system work based on the principle that a group of desktop client computers collaboratively establish a virtual file server and any of the client can access it.

The system provides a global name space for files, location-transparent access to both private files and shared public files, and improved reliability relative to storing files on a desktop workstation. It does this by distributing multiple encrypted replicas of each file among a set of client machines. Files are referenced through a hierarchical directory structure that is maintained by a distributed directory service.

Specific goals of the system:

  • To provide high availability and reliability for file storage.
  • To provide security and resistance to Byzantine threats.
  • To have the system automatically configure and tune itself adaptively.

The paper about its load management of the system could be useful in the future work.

FARSITE (Federated, Available, and Reliable Storage for an Incompletely Trusted Environment) is designed to harness collective resources of loosely coupled, insecure, and unreliable machines to provide logically centralized, secure, and reliable file-storage services. It tries to solve the problem of high cost in maintaining centralized server and its vulnerability to geographically localized faultes.

The foundation of FARSITE design is built on top the fact that there is a general increase in unused disk capacity and a decrease in computational cost of cryptographic operation relative to I/O.

To achieve file system capability, FARSITE should have hierarchical directory namespace. FARSITE allows the flexibility of having multiple roots (regarded as name of virtual file server). Each root has a designated set of machines to manage it and these machines will form a Byzantine-fault-tolerant group to enhance their security.

FARSITE manages trust in its system by using public-key-cryptography, which is by introducing several types of certificates. Symmetric encryption is used to encrypt users’ private keys of their certificates. Note that in FARSITE, once encrypted, the private key of the certificate is stored in globally readable directory in FARSITE and it only can be accessed upon login.

In relation with Volunteer Computing, the notion of directory group is good idea. It allows the protocol to distribute the management job into several machines. Security is also handled well with encryption and public-key-cryptography-based access list control. However, it is designed to handle up to 105 nodes and it may be not sufficient in Volunteer Computing context. The other drawbacks is it is designed for University or Workplace environment (relatively slower churn rate and high machine availability, as what have assumed by the writer of the paper), which has different characteristics with Volunteer Computing environment (relatively higher churn rate and low machine availability).


  • Quantified scalability. Scalable up to 105 nodes
  • Security is really prioritized in the design
  • Mimic the centralized file system.


  • Limited uses, current design and implementation is suitable for desktop machines in academic and corporate settings

Volunteer Computing Suitability

  • Scalability up to 105 nodes may not enough for volunteer computing environment
  • Volunteer computing environment has different characteristics to FARSITE intended environment (University or Workplace environment)
decentralized_storage_systems/farsite.txt · Last modified: 2012/04/23 01:01 by julia
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki