Nonblocking and orphan-free message logging protocols
Distributed snapshots: determining global states of distributed systems