This textbook serves as an introduction to fault-tolerance, intended for upper-division undergraduate students, graduate-level students and practicing engineers in need of an overview of the field. Readers will develop skills in modeling and evaluating fault-tolerant architectures in terms of reliability, availability and safety. They will gain a thorough understanding of fault tolerant computers, including both the theory of how to design and evaluate them and the practical knowledge of achieving fault-tolerance in electronic, communication and software systems. Coverage includes fault-tolerance techniques through hardware, software, information and time redundancy. The content is designed to be highly accessible, including numerous examples and exercises. Solutions and powerpoint slides are available for instructors. ? Provides textbook coverage of the fundamental concepts of fault-tolerance; ? Describes a variety of basic techniques for achieving fault-tolerance in electronic, communication and software systems; ? Guides readers to develop skills in modeling and evaluating fault-tolerant architectures in terms of reliability, availability and safety; ? Describes in detail sources of faults and means for their prevention and forecasting.
Introduction -- Fundamentals of Dependability -- Dependability Evaluation Techniques -- Hardware Redundancy -- Information Redundancy -- Time Redundancy -- Software Redundancy -- Conclusion.