Atomic Broadcast and Quorum-based Replication in Asynchronous Crash-Recovery Distributed Systems