Deceit: a flexible distributed file system

Deceit, a distributed file system that provides flexibility in the fault-tolerance and availability of files, is described. Deceit provides many capabilities to the user: file replication with concurrent reads and writes, a range of update propagation strategies, automatic disk load balancing and the ability to have multiple versions of a file. Deceit provides Sun Network File Server (NFS) protocol compatibility; no change in NFS client software is necessary in order to use Deceit. The purpose of Deceit is to replace large collections of NFS servers. NFS suffers from several problems in an environment where most clients mount most servers. First, if any one server crashes, clients will block or fail when they try to access that server, and, as the number of servers increases, this problem becomes more likely. Second, servers have a (roughly) fixed capacity, yet it is difficult to move files from one NFS server to another without disrupting clients. Third, replicating a file to increase its availability must be managed by the user. Deceit addresses these three problems.<<ETX>>

[1]  Andrew S. Tanenbaum,et al.  A distributed file service based on optimistic concurrency control , 1985, SOSP '85.

[2]  Nancy P. Kronenberg,et al.  VAXcluster: a closely-coupled distributed system , 1986, TOCS.

[3]  David K. Gifford,et al.  A caching file system for a programmer's workstation , 1985, SOSP '85.

[4]  L. F. Cabrera,et al.  QuickSilver distributed file services: an architecture for horizontal growth , 1988, [1988] Proceedings. 2nd IEEE Conference on Computer Workstations.

[5]  David K. Gifford,et al.  The Cedar file system , 1988, CACM.

[6]  Jerre D. Noe,et al.  Effectiveness of Replication in Distributed Computer Networks , 1987, ICDCS.

[7]  Robert B. Hagmann,et al.  Reimplementing the Cedar file system using logging and group commit , 1987, SOSP '87.

[8]  Darrell D. E. Long,et al.  Block-Level Consistency of Replicated Files , 1987, ICDCS.

[9]  Frank Bernhard Schmuck,et al.  The Use of Efficient Broadcast Protocols in Asynchronous Distributed Systems , 1988 .

[10]  L. Svobodova MANAGEMENT OF OBJECT HISTORIES IN THE SWALLOW REPOSITORY , 1980 .

[11]  J. Mitchell,et al.  Issues in the design and use of a distributed file system , 1980, OPSR.

[12]  Butler W. Lampson,et al.  Distributed Systems - Architecture and Implementation, An Advanced Course , 1981, Advanced Course: Distributed Systems.

[13]  Marek Fridrich,et al.  The Felix File Server , 1981, SOSP.

[14]  Keith Marzullo,et al.  Supplying high availability with a standard network file system , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[15]  Paul J. Leach,et al.  UIDs as internal names in a distributed file system , 1982, PODC '82.

[16]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[17]  Gérard Le Lann,et al.  Algorithms for Distributed Data-Sharing Systems Which Use Tickets , 1978, Berkeley Workshop.

[18]  Walter A. Burkhard,et al.  Consistency and recovery control for replicated files , 1985, SOSP '85.

[19]  Kenneth P. Birman,et al.  Low cost management of replicated data in fault-tolerant distributed systems , 1986, TOCS.

[20]  Barbara Liskov,et al.  Highly available distributed services and fault-tolerant distributed garbage collection , 1986, PODC '86.

[21]  Fred Douglis,et al.  Beating the I/O bottleneck: a case for log-structured file systems , 1989, OPSR.

[22]  Pearl Brereton Detection and resolution of inconsistencies among distributed replicates of files , 1983, OPSR.

[23]  Liba Svobodova A reliable object-oriented data repository for a distributed computer system , 1981, SOSP.

[24]  Dan M. Nessett Identifier protection in a distributed operating system , 1982, OPSR.

[25]  Philip L. Karlton,et al.  A file system supporting cooperation between programs , 1983, SOSP '83.

[26]  Maurice Herlihy Comparing how atomicity mechanisms support replication , 1986, OPSR.

[27]  K OusterhoutJohn,et al.  Caching in the Sprite network file system , 1988 .

[28]  P BirmanKenneth,et al.  Low cost management of replicated data in fault-tolerant distributed systems , 1986 .

[29]  Kenneth P. Birman,et al.  Exploiting virtual synchrony in distributed systems , 1987, SOSP '87.

[30]  John A. Kunze,et al.  A trace-driven analysis of the UNIX 4.2 BSD file system , 1985, SOSP '85.

[31]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[32]  Bruce Walker,et al.  The LOCUS distributed operating system , 1983, SOSP '83.

[33]  Roger M. Needham Adding capability access to conventional file servers , 1979, OPSR.

[34]  Andrew S. Tanenbaum,et al.  An overview of the Amoeba distributed operating system , 1981, OPSR.

[35]  Willy Zwaenepoel,et al.  File access performance of diskless workstations , 1986, TOCS.

[36]  James G. Mitchell,et al.  A comparison of two network-based file servers , 1981, SOSP.

[37]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[38]  R. Hayes,et al.  The Design of the Saguaro Distributed Operating System , 1987, IEEE Transactions on Software Engineering.

[39]  Keith A. Lantz,et al.  Towards a universal directory service , 1985, PODC '85.

[40]  Mahadev Satyanarayanan,et al.  A SURVEY OF DISTRIBUTED FILE SYSTEMS , 1990 .