Distributed System
A distributed system is a collection of autonomous computing elements(also known as node) that appears to its user as a single coherent system.
Problems:
- Each node has its own time, no global clock
- Group membership management and authorization
Overlay network is the organization of the distributed system. Nodes only communicates with its neighbours. There are 2 types of overlay network: structured and unstructured.
Example: peer-to-peer system
Goals:
- Distribution transparency
- Partial failures transparency
Middleware is the commonly used components and functions for every nodes.
Transparencies
- Access: Hide data representations of objects.
- Location: Hide physical/logical location.
- Relocation: Move the object when it is in use.
- Migration: Move the object.
- Replication: Hide replicas of the object.
- Concurrency: Allow the object used by several indipendent users.
- Failure: Hide failure and recovery of an object.
Openess
- Comform to a well-defined interface
- Support portability of applications
- Make extensibility
- Easily interoperate
Scalbility
- Size: including storage, computation, and bandwith resource
- Geographical
- Administrative