A General-Purpose Architecture for Replicated Metadata Services in Distributed File Systems
Implementing fault-tolerant services using the state machine approach: a tutorial