Distributed computing : principles algorithms and systms - Kshemkalyani, Ajay D.; Singhal, Mukesh (Delhi Cambridge university press, 2017)