Distributed systems: Software Design and Implementation - Fleischmann, Albert (Berlin Herdelberg: Springer-verlag, 1994)