The Challenges of Distributed Systems
- location, location, location
Placing data and computation for effective and reliable resource sharing, and finding it again once you put it somewhere.
- distributed access to shared state
naming it, finding it, getting to it
- building reliable systems from unreliable components
reliable communication over unreliable network links
autonomous computers can fail independently
Lamport’s characterization: “A distributed system is one in which the failure of a machine I’ve never heard of can prevent me from doing my work.”
- private communication over public networks