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