Get to know the concept of systems models and understand the implications of unreliable networks for distributed systems. Get to know the thought experiment called Two Generals Problem and learn to apply it to real world scenarios.
Examples
Exercises
Context
A system model defines the assumptions we make when working with a distributed system. Based on the assumptions, we need to adapt our implementation.
Based on the system model, we can answer questions like:
In the real world, networks are unreliable. Cables might get pulled, hardware might be upgraded, networks might be reconfigured, traffic might be high, sharks might bite cables, …
https://www.youtube.com/watch?v=1ex7uTQf4bQ
The Two Generals Problem is a thought experiment to illustrate the challenges of coordinating an action by communicating over an unreliable network. The original idea was presented by E. A. Akkoyunlu in 1975 as a group of gangsters pulling off a big job (akkoyunlu75).
There are two armies $A$ and $B$ who want to conquer a city. Both armies, lead by their generals, must attack the city at the same time to be able to conquer it (gray78 ). If they don't attack at the same time, the attacking army and general are dead.
The only way to coordinate the time of the attack is by sending messengers between general $A$ and $B$. A messenger, however, may be intercepted when crossing the river.
Question: Can the attack be reliably coordinated?