Common Characteristics
Certain common characteristics can be used to assess distributed systems
- Resource Sharing
- Openness
- Concurrency
- Scalability
- Fault Tolerance
- Transparency
Resource Sharing
- Ability to use any hardware, software or data anywhere in the system.
- Resource manager controls access, provides naming scheme and controls concurrency.
- Resource sharing model (e.g. client/server or object-based) describing how
- resources are provided,
- they are used and
- provider and user interact with each other.
Openness
- Openness is concerned with extensions and improvements of distributed systems.
- Detailed interfaces of components need to be published.
- New components have to be integrated with existing components.
- Differences in data representation of interface types on different processors (of different vendors) have to be resolved.
Concurrency
Components in distributed systems are executed in concurrent processes.
- Components access and update shared resources (e.g. variables, databases, device drivers).
- Integrity of the system may be violated if concurrent updates are not coordinated.
- Lost updates
- Inconsistent analysis
- Integrity of the system may be violated if concurrent updates are not coordinated.
Scalability
- Adaption of distributed systems to
- accomodate more users
- respond faster (this is the hard one)
- Usually done by adding more and/or faster processors.
- Components should not need to be changed when scale of a system increases.
- Design components to be scalable
Fault Tolerance
Hardware, software and networks fail!
- Distributed systems must maintain availability even at low levels of hardware/software/network reliability.
- Fault tolerance is achieved by
- recovery
- redundancy
Transparency
Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components.
- Transparency has different dimensions that were identified by ANSA.
- These represent various properties that distributed systems should have.