Presentation of the course
Presentation of the course. Evaluation method. Bibliography.
Physical models. Architectural models. Fundamental models. (Chapter 2)
Introduction to group communication. JGroups. (Chapter 6)
Introduction to publish-subscribe systems. (Chapter 6)
Publish-subscribe systems and message queues
Architecture of publish-subscribe systems. Example systems. Message queues (chapter 6).
Distributed shared memory
Distributed shared memory. (chapter 6)
Tuple spaces: model and implementation (chapter 6)
Introduction to peer-to-peer systems
Introduction to peer-to-peer systems and network overlays. Structured P2P systems. Chord. (chapter 10)
Peer-to-peer systems: examples
Continuation from the previous class: PASTRY. Some concrete peer-to-peer systems and applications. Oceanstore and Scribe. Unstructured overlay networks. (chapter 10)
P2P & Time and physical clocks
Time, physical clocks, clock synchronization. (chapter 14)
Logical time a logical clocks
Clock synchronization (end). Lamport´s logical clocks. Vector clocks. (chapter 14)
Consistent cut. Snapshot algorithm. (chapter 14)
Global States (conclusion) and Mutual-exclusion
Global states and distributed debugging. Introduction to mutual-exclusion. Ricart and Agrawala's algorithm. (chapter 15)
Maekawa´s algorithm for mutual exclusion. Leader Election. (chapter 15).
Coordination in group communications
Total order multicast on top of view synchronous communication. (chapter 15)
Implementing total order and View Synchrony
Using total order to implement mutual exclusion with quorums. Implementing View Synchrony. Reliable Multicast (regular and uniform). View Change Protocol.
Consensus and related problems
Consensus. Interactive consistency. Total order broadcast. (chapter 15)
Consensus without a perfect failure detector. Paxos.
Concurrency control techniques
Optimistic and pessimistic concurrency control. (chapter 16)
Concurrency control in distributed transactions. Distributed deadlock detection. (chapter 17).
Replicating transactional systems using consensus
State-machine replication variants to implement transactional systems.
The gossip architecture
The gossip architcture. (chapter 18)
Bayou and optimistic replication/ eventual consistency. (chapter 18)
Distributed File Systems: BFS, AFS, CODA and Google File System
Distributed File Systems:
Historic perspective: NFS and AFS
CODA (chapter 18)
- Main use cases
Google File System (chapter 21)
Case Study: Google
Other google services (chapter 21)