Abstract
Farsite is a secure, scalable file system that logically functions as a centralized file server but is physically distributed among a set of untrusted computers. Farsite provides file availability and reliability through randomized replicated storage; it ensures the secrecy of file contents with cryptographic techniques; it maintains the integrity of file and directory data with a Byzantine-fault-tolerant protocol; it is designed to be scalable by using a distributed hint mechanism and delegation certificates for pathname translations; and it achieves good performance by locally caching file data, lazily propagating file updates, and varying the duration and granularity of content leases. We report on the design of Farsite and the lessons we have learned by implementing much of that design.
- T. Anderson, M. Dahlin, J. Neefe, D. Patterson, D. Roselli, R. Wang. Serverless Network File Systems. 15th SOSP, Dec 1995.]] Google ScholarDigital Library
- R. J. Anderson, "The Eternity Service", PRAGO-CRYPT '96, CTU Publishing, Sep/Oct 1996.]]Google Scholar
- R. E. Blahut, Theory and Practice of Error Control Codes, Addison Wesley, 1983.]]Google Scholar
- M. G. Baker, J. H. Hartman, M. D. Kupfer, K. W. Shirriff, J. K. Ousterhout. "Measurements of a Distributed File System." 13th SOSP, Oct 1991.]] Google ScholarDigital Library
- M. Blaze, "A Cryptographic File System for Unix", 1st Computer and Comm. Security, ACM, Nov 1993.]] Google ScholarDigital Library
- W. J. Bolosky, J. R. Douceur, D. Ely, and M. Theimer, "Feasibility of a Serverless Distributed File System Deployed on an Existing Set of Desktop PCs", SiGMETRICS 2000, ACM, Jun 2000.]] Google ScholarDigital Library
- W. J. Bolosky, S. Corbin, D. Goebel, J. R. Douceur. Single Instance Storage in Windows 2000. 4th Usenix Windows System Symposium, Aug 2000.]] Google ScholarDigital Library
- M. Castro and B. Liskov, "Practical Byzantine Fault Tolerance", 3rd OSDI, USENIX, Feb 1999.]] Google ScholarDigital Library
- I. Clarke, O. Sandberg, B. Wiley, and T. Hong, "Freenet: A Distributed Anonymous Information Storage and Retrieval System", ICSI Workshop on Design Issues in Anonymity and Unobervability, Jul 2000.]] Google ScholarDigital Library
- F. Dabek, M. F. Kaashoek, D. Karger, R. Morris, I. Stoica, "Wide-Area Cooperative Storage with CFS", SOSP, Oct 2001.]] Google ScholarDigital Library
- J. R. Douceur, "The Sybil Attack", 1st IPTPS, Mar 2002.]] Google ScholarDigital Library
- J. R. Douceur, A. Adya, W. J. Bolosky, D. Simon, M. Theimer, "Reclaiming Space from duplicate Files in a Serverless Distributed File System", ICDCS, Jul 2002.]] Google ScholarDigital Library
- J. R. Douceur and W. J. Bolosky, "A Large-Scale Study of File-System Contents", SIGMETRICS, May 1999.]] Google ScholarDigital Library
- J. R. Douceur and R. P. Wattenhofer, "Optimizing File Availability in a Secure Serverless Distributed File System", 20th SRDS, IEEE, Oct 2001.]]Google ScholarCross Ref
- J. R. Douceur, A. Adya; J. Benaloh; W. J. Bolosky; G. Yuval, "A Secure Directory Service based on Exclusive Encryption", (to appear) 18th ACSAC, Dec 2002.]] Google ScholarDigital Library
- J. Gemmell, E. M. Schooler, J. Gray, "Fcast Multicast File Distribution: 'Tune in, Download, and Drop Out'", Internet, Multimedia Systems and Applications, 1999.]]Google Scholar
- Gnutella, http://gnutelladev.wego.com.]]Google Scholar
- A. Goldberg and P. Yianilos, "Towards an Archival Intermemory", International Forum on Research and Technology Advances in Digital Libraries, Apr 1998.]] Google ScholarDigital Library
- J. Gray. "Why do Computers Stop and What Can Be Done About It?", 5th SRDS, Jan. 1986.]]Google Scholar
- J. Gray and A. Reuter, Transaction Processiong: Concepts and Techniques. Morgan Kaufmann, 1993.]] Google ScholarDigital Library
- J. Howard, M. Kazar, S. Menees, D. Nichols, M. Satyanarayanan, R. Sidebotham, M. West, "Scale and Performance in a Distributed File System", TOCS 6(1), Feb 1988.]] Google ScholarDigital Library
- J. Kistler, M. Satyanarayanan. Disconnected operation in the Coda File System. TOCS 10(l), Feb 1992.]] Google ScholarDigital Library
- J. Kubiatowicz, et al., "OceanStore: An Architecture for Global-Scale Persistent Storage", 9th ASPLOS, ACM, Nov 2000.]] Google ScholarDigital Library
- E. Lee, C. Thekkath. Petal: Distributed virtual disks. 7th ASPLOS, Oct 1996.]] Google ScholarDigital Library
- M. Luby, "Benchmark Comparisons of Erasure Codes", http://www.icsi.berkeley.edu/~luby/erasure.html]]Google Scholar
- D. Mazières, M. Kaminsky, M. F. Kaashoek, E. Witchel, "Separating Key Management from File System Security", SOSP, Dec 1999.]] Google ScholarDigital Library
- D. Mazières and D. Shasha, "Don't Trust Your File Server", 8th HotOS, May 2001.]]Google ScholarDigital Library
- M. McKusick, W. Joy, S. Leffler, R. Fabry. A Fast File System for UNIX. TOCS, 2(3):181--197, Aug 1984.]] Google ScholarDigital Library
- A. J. Menezes, P. C. van Oorschot, S. A. Vanstone. Handbook of Applied Cryptography. CRC Press, 1997.]] Google ScholarDigital Library
- R. Merkle, "Protocols for Public Key Cryptosystems", IEEE Symposium on Security and Privacy, 1980.]]Google Scholar
- Microsoft, "File Name Conventions", MSDN, Apt 2002.]]Google Scholar
- Microsoft, "About Windows Update", http://v4.windowsupdate.microsoft.com/en/about.asp]]Google Scholar
- Napster, http://www.napster.com.]]Google Scholar
- E. Nemeth, G. Snyder, S. Seebass, T. R. Hein, UNIX System Administration Handbook, Prentice Hall, 2000.]] Google ScholarDigital Library
- J. K. Ousterhout, A, R. Cherenson, F. Douglis, M. N. Nelson, B. B. Welch, "The Sprite Network Operating System", IEEE Computer Group Magazine 21 (2), 1988.]] Google ScholarDigital Library
- M. Pease, R. Shostak, L. Lamport "Reaching Agreement in the Presence of Faults", JACM 27(2), Apr 1980.]] Google ScholarDigital Library
- G. J. Popek, R. G. Guy, T. W. Page, J. S. Heidemann, "Replication in Ficus Distributed File Systems", IEEE Workshop on Management of Replicated Data, 1990.]]Google Scholar
- A. Rowstron and P. Druschel. "Storage Management and Caching in PAST, a Large-Scale, Persistent Peer-to-Peer Storage Utility", SOSP, Oct 2001.]] Google ScholarDigital Library
- R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, B. Lyon. Design and Implementation of the Sun Network File System. Summer USENIX Proceedings, 1985.]]Google Scholar
- D. S. Santry, M. J. Feeley, N. C. Hutchinson, A. C. Veitch, R. W. Carton, J. Ofir, "Deciding When to Forget in the Elephant File System", 17th SOSP, Dec 1999.]] Google ScholarDigital Library
- S. T. Shafer, "The Enemy Within", Red Herring, Jan 2002.]]Google Scholar
- D. A. Solomon and M. E. Russinovich, Inside Microsoft Windows 2000 Third Edition, Microsoft Press, 2000.]] Google ScholarDigital Library
- A. Sweeny, D. Doucette, W. Hu, C. Anderson, M. Nishimoto, G. Peck, "Scalability in the XFS File System", USENIX, 1996.]] Google ScholarDigital Library
- D. B. Terry, M. M. Theimer, K. Petersen, A. J. Demers, Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System, 15th SOSP, 1995.]] Google ScholarDigital Library
- C. Thekkath, T. Mann, E. Lee. Frangipani: A Scalable Distributed File System. 16th SOSP, Dec 1997.]] Google ScholarDigital Library
- M. Tompa and H. Woll, "How to Share a Secret with Cheaters", Journal of Cryptology 1(2), 1998.]] Google ScholarDigital Library
- S, Travaglia, P. Abrams, Bastard Operator from Hell, Plan Nine Publishing, Apr 2001.]]Google Scholar
- W. Vogels. File system usage in Windows NT 4.0. 17th SOSP, Dec 1999.]] Google ScholarDigital Library
- J. Wylie, M. Bigrigg, J. Strunk, G. Ganger, H. Kilite, P. Khosla, "Survivalbe Information Storage Systems", IEEE Computer 33(8), Aug 2000.]] Google ScholarDigital Library
- B. Yee and J. D. Tygar, "Secure Coprocessors in Electronic Commerce Applications", USENIX 95, 1995.]] Google ScholarDigital Library
Index Terms
- Farsite: federated, available, and reliable storage for an incompletely trusted environment
Recommendations
The Farsite project: a retrospective
Systems work at Microsoft ResearchThe Farsite file system is a storage service that runs on the desktop computers of a large organization and provides the semantics of a central NTFS file server. The motivation behind the Farsite project was to harness the unused storage and network ...
Farsite: federated, available, and reliable storage for an incompletely trusted environment
OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation (Copyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading)Farsite is a secure, scalable file system that logically functions as a centralized file server but is physically distributed among a set of untrusted computers. Farsite provides file availability and reliability through randomized replicated storage; ...
Distributed directory service in the farsite file system
OSDI '06: Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7We present the design, implementation, and evaluation of a fully distributed directory service for Farsite, a logically centralized file system that is physically implemented on a loosely coupled network of desktop computers. Prior to this work, the ...
Comments