"The aim of this book is to present in a comprehensive way basic notions, concepts, and algorithms of distributed computing when the distributed entities cooperate by sending and receiving messages on top of an underlying network. ... This book is useful for senior-level undergraduate students and graduate students in computer science with basic knowledge of algorithms and operating systems." (T. C. Mohan, Mathematical Reviews, November, 2015) "This book offers balanced coverage of the major topics encountered in courses on modern distributed computations. The text is primarily intended for courses on distributed systems; it can be used for both undergraduate and postgraduate courses. ... Overall, this title is an instructive and valuable book that deserves to be studied." (Dimitrios Katsaros, Computing Reviews, June, 2014) "The book presents in well structured manner the basic concepts and algorithms currently used in distributed systems based on message passing. ... The book can be used as textbook by undergraduate students in distributed systems. What distinguishes this book from similar ones are the text accessibility and the well organization of a classical material. Many figures and pseudo-codes are helping the understanding of the algorithms." (Dana Petcu, zbMATH, Vol. 1282, 2014)