Definition of Distributed System, Goals
Definition of Distributed System
A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal.
Distributed systems Principles
A distributed system consists of a collection of autonomous computers, connected through a network and distribution middle ware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility.
Centralized System Characteristics:
1. One component with non-autonomous parts
2. Component shared by users all the time
3. All resources accessible
4. Software runs in a single process
5. Single Point of control
6. Single Point of failure
Distributed System Characteristics:
1. Multiple autonomous components
2. Components are not shared by all users
3. Resources may not be accessible
4. Software runs in concurrent processes on different processors
5. Multiple Points of control
6. Multiple Points of failure
Examples of distributed systems:
1. telephone networks and cellular networks,
2. computer networks such as the Internet
3. wireless sensor networks
4. routing algorithms
Goals:
1. Resource Sharing
2. Openness
3. Concurrency
4. Scalability
5. Fault Tolerance
6. 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)
Openness
Openness is concerned with extensions and improvements of distributed systems.
New components have to be integrated with existing components.
Concurrency
Components in distributed systems are executed in concurrent processes.
Components access and update shared resources (e.g. variables, databases, device drivers).
Scalability
Adaption of distributed systems to accommodate more users respond faster
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
1. Recovery
2. Redundancy
Transparency
Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components.
Access Transparency
Enables local and remote information objects to be accessed using identical operations.
Location Transparency
Enables information objects to be accessed without knowledge of their location.
Concurrency Transparency
Enables several processes to operate concurrently using shared information objects without interference between them.
Replication Transparency
Enables multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users or application programs
Failure Transparency
Allows users and applications to complete their tasks despite the failure of other components.
Migration Transparency
Allows the movement of information objects within a system without affecting the operations of users or application programs
Performance Transparency
Allows the system to be reconfigured to improve performance as loads vary.
Scaling Transparency
Adaption of distributed systems to accommodate more users and respond faster
A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal.
Distributed systems Principles
A distributed system consists of a collection of autonomous computers, connected through a network and distribution middle ware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility.
Centralized System Characteristics:
1. One component with non-autonomous parts
2. Component shared by users all the time
3. All resources accessible
4. Software runs in a single process
5. Single Point of control
6. Single Point of failure
Distributed System Characteristics:
1. Multiple autonomous components
2. Components are not shared by all users
3. Resources may not be accessible
4. Software runs in concurrent processes on different processors
5. Multiple Points of control
6. Multiple Points of failure
Examples of distributed systems:
1. telephone networks and cellular networks,
2. computer networks such as the Internet
3. wireless sensor networks
4. routing algorithms
Goals:
1. Resource Sharing
2. Openness
3. Concurrency
4. Scalability
5. Fault Tolerance
6. 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)
Openness
Openness is concerned with extensions and improvements of distributed systems.
New components have to be integrated with existing components.
Concurrency
Components in distributed systems are executed in concurrent processes.
Components access and update shared resources (e.g. variables, databases, device drivers).
Scalability
Adaption of distributed systems to accommodate more users respond faster
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
1. Recovery
2. Redundancy
Transparency
Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components.
Access Transparency
Enables local and remote information objects to be accessed using identical operations.
Location Transparency
Enables information objects to be accessed without knowledge of their location.
Concurrency Transparency
Enables several processes to operate concurrently using shared information objects without interference between them.
Replication Transparency
Enables multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users or application programs
Failure Transparency
Allows users and applications to complete their tasks despite the failure of other components.
Migration Transparency
Allows the movement of information objects within a system without affecting the operations of users or application programs
Performance Transparency
Allows the system to be reconfigured to improve performance as loads vary.
Scaling Transparency
Adaption of distributed systems to accommodate more users and respond faster
No comments: