Ethernet: distributed packet switching for local computer networks
Communications of the ACM
The notions of consistency and predicate locks in a database system
Communications of the ACM
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
Implementation of resilient, atomic data types
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
File servers for network-based distributed systems
ACM Computing Surveys (CSUR)
The Starburst long field manager
VLDB '89 Proceedings of the 15th international conference on Very large data bases
Stability, Availability, and Response in Network File Service
IEEE Transactions on Software Engineering
Distributed transactions for reliable systems
Proceedings of the tenth ACM symposium on Operating systems principles
Office Information Systems and Computer Science
ACM Computing Surveys (CSUR)
A comparison of two network-based file servers
Communications of the ACM
WFS a simple shared file system for a distributed environment
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
A reliable object-oriented data repository for a distributed computer system
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
Specification and implementation of resilient, atomic data types
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
ACM Transactions on Computer Systems (TOCS)
Execution monitoring enforcement for limited-memory systems
Proceedings of the 2006 International Conference on Privacy, Security and Trust: Bridge the Gap Between PST Technologies and Business Services
Enforcing non-safety security policies with program monitors
ESORICS'05 Proceedings of the 10th European conference on Research in Computer Security
Hi-index | 0.02 |
This paper describes a technique for maintaining data integrity that can be implemented using capabilities typically found in existing file systems. Integrity is a property of a total collection of data. It cannot be maintained simply by using reliable primitives for reading and writing single units—the relations between the units are important also. The technique suggested in this paper ensures that data integrity will not be lost as a result of simultaneous access or as a result of crashes at inopportune times. The approach is attractive because of its relative simplicity and its modest demands on the underlying file system. The paper gives a detailed description of how consistent, atomic transactions can be implemented by client processes communicating with one or more file server computers. The discussion covers file structure, basic client operations, crash recovery, and includes an informal correctness proof.