Andrew S. Tanenbaum Distributed systems: principles and paradigms - 2nd ed. - CreateSpace Independent Publishing 2016 ISBN: 9781530281756