Definition
Distributed System
User Perspective
A distributed system is a collection of independent computers that appears to its users as a single coherent system.
Structural Perspective
A distributed system is a collection of autonomous computers linked by a computer network and supported by software that enables the collection to operate as an integrated facility.
Failure Perspective ( Leslie Lamport)
You know you have a distributed system when the crash of a computer you have never heard of stops you from getting any work done.
Why distribute at all?
There are several reasons why we could want to distribute:
- Connecting users to resources and services, which is a basic function of a distributed system
- Dependability and security: availability, fault tolerance, intrusion, tolerance, …
- Performance: latency, throughput, …
Fallacies
- The network is reliable
- Latency is zero
- Bandwidth is infinite
- The network is secure
- Topology doesn’t change
- There’s one administrator
- Transport cost is zero
- The network is homogeneous