Introduction to Distributed Algorithms - Gerard Tel (CAMBRIDGE UNIVERSITY PRESS UK, 2004)