Distributed computing in practice: the Condor experience
Distributed snapshots: determining global states of distributed systems