Distributed Systems for System Architects (Advances in Distributed Computing and Middleware)