Elements Of Distributed Algorithms by Wolfgang Reisig