Models and techniques for constructing reliable distributed systems - Chung Hin Cheng (1998)