Distributed Systems
Master's Programme: Computer Systems and Networks
Simple Distributed Blackboard
A program that runs on several machines, clients post to any server using a web browser, store all received data, propagate the newly received data: to all the other boards and in a peer-to-peer manner.
Distributed Blackboard - Centralized communication version
Each post is sent to the leader which distributes it to the network. The leader should be able to handle correctly multiple posts from different nodes.
Eventually Consistent Blackboard
All replicas eventually converge to the same value, a protocol for eventual consistency: writes are eventually applied in total order (same order on all replicas, lead to the same value, eventual consistency) and reads might not see most recent writes in total order.
Byzantine Agreement
N vessels, each general controls one vessel, for each general (vessel): decide on a profile "honest" or "Byzantine", for honest generals decide on a vote "attack" or "retreat", start the Byzantine agreement algorithm on all generals, through a webpage interface. When the algorithm ends, the result and result vector should appear on each webpage (upon refresh): honest generals should agree on the same votes among them, it is not required any agreement for the Byzantine generals.