ECE 6102: Dependable Distributed Systems

List of Topics (Tentative)


The course is organized into the following modules, each of which will be covered for approximately two weeks. The material is introduced through lectures and discussions of research papers covering the listed topics.
  1. Fundamentals of Distributed Systems

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

  2. Group Communication

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

  3. Software Replication

    Active, passive, and semi-active replication of software; state machine approach, replica determinism.

  4. Peer-to-Peer Systems

    Distributed hash tables, Chord and Pastry; P2P replication.
  5. Distributed Object Systems

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

  6. Fault-Tolerant and Secure Storage

    Quorum and Byzantine quorum systems; secret sharing and proactive security; versioning.

  7. Software Diversity

    Monocultures and diversity; specialization and compiler techniques; modeling diversity.

  8. Digital Identity Systems

    Digital credentials; federated identity; trust negotiation.