Distributed systems : - George Coulouris (Addison-Wesley, 2001)