Distributed computing (Springer Verlag, 2003)