An understanding of the techniques used to make distributed computing systems and networks reliable, fault-tolerant and secure will be crucial to those involved in designing and deploying the next generation of mission-critical applications and Web Services. Reliable Distributed Systems reviews and describes the key concepts, principles and applications of modern distributed computing systems and architectures. This self-contained book consists of five parts. The first covers introductory material, including the basic architecture of the Internet, simple protocols such as RPC and TCP, object oriented architectures, operating systems enhancements for high performance, and reliability issues. The second covers the Web, with a focus on Web Services technologies, Microsofts .NET and the Java Enterprise Edition. The remaining three parts look at a number of reliability and fault-tolerance issues and techniques, with an emphasis on replication applied in Web Services settings. With its well-focused approach and clarity of presentation, this book is an excellent resource for both advanced students and practitioners in computer science, computer networks and distributed systems. Anyone seeking to develop a solid grounding in distributed computing and Web Services architectures will find the book an essential and practical learning tool.