distributed system, partial failure
why do we want/have a distributed system?
notation (processes, channels, events, states, history)
happened_before () relation between two events
global state, cut
Chandy-Lamport snapshot algorithm
asynchronous system
timestamp function for an asynchronous system
Lamport Clock
vector clocks
abstractions
fault models for processes
fault models for channels
implementation of quasi-reliable links
synchronous system
failure detector
properties and assumptions of reliable broadcast
best-effort broadcast
(regular) reliable broadcast
uniform reliable broadcast
FIFO reliable broadcast
how to make the broadcast faster?
consensus applications
definition of the consensus problem, valence
impossibility results
consensus algorithm in a synchronous system
consensus in a partially synchronous system
(broken) consensus algorithms that don't satisfy one of the criteria
bonus: LastVoting algorithm (for a partially synchronous system)