Knowledge and common knowledge in a distributed environment
Distributed snapshots: determining global states of distributed systems