posted on 2003-04-01, 00:00authored byGarth R. Goodson, Jay J. Wylie, Gregory R. Ganger, Michael K. Reiter
This paper describes the design, implementation and performance of a family of protocols for survivable, decentralized data storage. These protocols exploit storage-node versioning to efficiently achieve strong consistency semantics. These protocols allow erasure-codes to be used that achieve network and storage efficiency (and optionally data confidentiality in the face of server compromise). The protocol family is general in that its parameters accommodate a wide range of fault and timing assumptions, up to asynchrony and Byzantine faults of both storage-nodes and clients, with no changes to server implementation or client-server interface. Measurements of a prototype storage system using these protocols show that the
protocol performs well under various system model assumptions, numbers of failures tolerated, and degrees of reader-writer concurrency.