The Essence of Distributed Snapshots