ECE Course Outline

ECE6102

Dependable Distributed Systems (3-0-3)

Prerequisites
None
Corequisites
None
Catalog Description
Concepts, theory, and practice of dependable distributed systems. Techniques for tolerating hardware and software faults.
Textbook(s)
No Textbook Specified.
Topical Outline
1.	Fundamentals of Distributed Systems

States, events, event ordering, system models, failures, and failure detectors.

2.	Software Replication
Active, passive, and hybrid replication of software.

3.	Group Communication

Properties of different multicasts, causal atomic multicast, and introduction to virtual synchrony.

4.	Global States and Checkpointing

Snapshot algorithms, coordinated checkpoint and rollback, and message logging approaches.

5.	Software Diversity

Operating system, compiler, and algorithmic diversity. Security and robustness through software diversity.

6.	Secure Storage

Byzantine quorum systems; secret sharing techniques, confidentiality and integrity vs. consistency

7.	Distributed Object Systems

Introduction to JAVA RMI, CORBA, and .NET; Fault-Tolerant CORBA.

8.	Distributed Embedded Systems

Algorithms and systems for aerospace, automotive, and manufacturing applications. Mobile computing.

9.	Clustering for Dependability

Availability clusters, resource sharing, failover, network failures, and the split brain problem.