E-Book Overview
Designing distributed computing systems is a complex process requiring a solid understanding of the design problems and the theoretical and practical aspects of their solutions. This comprehensive textbook covers the fundamental principles and models underlying the theory, algorithms and systems aspects of distributed computing. Broad and detailed coverage of the theory is balanced with practical systems-related issues such as mutual exclusion, deadlock detection, authentication, and failure recovery. Algorithms are carefully selected, lucidly presented, and described without complex proofs. Simple explanations and illustrations are used to elucidate the algorithms. Important emerging topics such as peer-to-peer networks and network security are also considered. With state-of-the-art algorithms, numerous illustrations, examples and homework problems, this textbook is suitable for advanced undergraduate and graduate students of electrical and computer engineering and computer science. Practitioners in data networking and sensor networks will also find this a valuable resource. Additional resources are available online at www.cambridge.org/9780521876346.
E-Book Content
c A. Kshemkalyani and M. Singhal, 2005
Limited circulation within a classroom, after seeking permission from authors.
1
DISTRIBUTED COMPUTING: PRINCIPLES, ALGORITHMS, and SYSTEMS Ajay D. Kshemkalyani Department of Computer Science University of Illinois at Chicago Chicago, IL 60607
Mukesh Singhal Department of Computer Science University of Kentucky Lexington, KY 40506
January 29, 2007
“To my father Shri Digambar and my mother Shrimati Vimala.” -Ajay D. Kshemkalyani “To my mother Chandra Prabha Singhal, my father Brij Mohan Singhal, and my daughters Meenakshi, Malvika, and Priyanka.“ -Mukesh Singhal
i
Preface Background The field of Distrib