Part I: Computing in the Cloud
The Way of the Cloud
Client Perspective
Network Perspective
The Structure of Cloud Data Centers
Remote Procedure Calls and the Client/Server Mode
CORBA: The Common Object Request Broker Architecture
System Support for Fast Client/Server Communication
Part II: Reliable Distributed Computing
How and Why Computer Systems Fail
Overcoming Failures in a Distributed System
Dynamic Membership
Group Communication Systems
Point to Point and Multi-group Considerations
The Virtual Synchrony Execution Model
Consistency in Distributed Systems
Part III: Applications of Reliability Techniques
Retrofitting Reliability into Complex Systems
Software Architectures for Group Communication
Part IV: Related Technologies
Security Options for Distributed Settings
Clock Synchronization and Synchronous Systems
Transactional Systems
Peer-to-Peer Systems and Probabilistic Protocols
Appendix A: Virtually Synchronous Methodology For Building Dynamic Reliable Services
Appendix B: Isis2API
Appendix C: Problems
About the Author:
Dr. Kenneth P. Birman is an ACM Fellow and Professor of Computer Science at Cornell University. He received the 2009 IEEE Tsukomo Kanai Award for his fundamental and practical contributions to distributed computing, fault tolerance, reliability and distributed systems management, and has authored nearly 200 journal and conference papers in the area. Examples of settings in which his work has been applied include the communications infrastructure of the NYSE, the Swiss Stock Exchange, the US Navy's AEGIS warship, the French air-traffic control system, and a wide range of cutting edge cloud-computing products.