An Architecture for Fault Tolerant Storage Systems

This paper presents an architectural model for structuring fault tolerant storage systems. This architecture is independent of the semantics of managed data, i.e. it can be applied to a le system, a logging system, or an object store system. The common storage functions used to ensure fault tolerance (e.g. data replication, or distribution) are encapsulated into objects. These may be composed in diierent ways in order to customize the storage service to some set of failure assumptions .