A distributed system is a collection of autonomous computers connected through a network that coordinate activities to appear as a single integrated system to users. It breaks down applications into components distributed over a network that work together on tasks. Distributed systems are motivated by scalability, openness, and fault-tolerance. Examples include video-on-demand and the IT architecture of a Swiss bank with heterogeneous components across platforms.
A distributed system is a collection of autonomous computers connected through a network that coordinate activities to appear as a single integrated system to users. It breaks down applications into components distributed over a network that work together on tasks. Distributed systems are motivated by scalability, openness, and fault-tolerance. Examples include video-on-demand and the IT architecture of a Swiss bank with heterogeneous components across platforms.
A distributed system is a collection of autonomous computers connected through a network that coordinate activities to appear as a single integrated system to users. It breaks down applications into components distributed over a network that work together on tasks. Distributed systems are motivated by scalability, openness, and fault-tolerance. Examples include video-on-demand and the IT architecture of a Swiss bank with heterogeneous components across platforms.
A distributed system is a collection of autonomous hosts that are connected through a computer network and coordinate with each other in such a way that users perceive the system as a single and integrated computing facility. A distributed system is a collection of autonomous hosts that are connected through a computer network. Each host executes components and operates a distribution middleware. Middleware enables the components to coordinate their activities. Users perceive the system as a single, integrated computing facility. Can think of DS as: breaking down an application into individual computing agents distributed over a network work together on a cooperative task Motivation for DC: Scalability: can solve larger problems without larger computers Openness and heterogeneity: applications and data may be difficult to relocate and reconfigure Fault-tolerance: redundant processing agents for system availability Examples of Distributed Systems Video-on-Demand Client components are used to display videos Clients are hosted in the homes of the customers of the service Server components load and transmit videos Multiple servers are needed in order to scale IT Service Architecture of a Swiss Bank Service architecture consists of heterogeneous new and legacy components Hardware platforms range from mainframes to NTs Programming languages including Assembler, Cobol, C, C++, Java, … Different types of middleware can be used to resolve distribution and heterogeneity
Advantages and Disadvantages of Distributed Systems
Advantages 1. Shareability: 2. Expandability 3. Local autonomy 4. Improved performance 5. Improved reliability and availability 6. Potential cost reductions Disadvantage 1. Network reliance 2. Complexities 3. Security 4. Multiple point of failure Dimensions of transparency in DS 1. Access Transparency 2. Location Transparency 3. Migration Transparency 4. Replication Transparency 5. Concurrency Transparency 6. Scalability Transparency 7. Performance Transparency 8. Failure Transparency Centralized vs Distributed Systems Centralized Systems Distributed Systems Centralized systems have non-autonomous Distributed systems have autonomous components components Centralized systems are often build using Distributed systems may be built using homogeneous technology heterogeneous technology Multiple users share the resources of a Distributed system components may be used centralized system at all times exclusively Centralized systems have a single point of Distributed systems have multiple points of control and of failure failure Distributed systems are executed in concurrent processes
Why Distributed Systems?
1. Every application is part of your business model must make them work together! 2. Application Integration and Distributed Processing are the same thing Constructing information-sharing distributed systems from diverse sources: • heterogeneous • Networked • physically disparate • multi-vendor Application Requirements 1. Functional 2. Non-Functional Non-functional requirements drive distribution of a system 1. Scalability 2. Concurrency 3. Openness 4. Heterogeneity 5. Resource sharing 6. Fault-tolerance