Elements of distributed computing - Vijay K. Garg (John Wiley and Sons, 2002)