Distributed Systems Topics 4 What is a Distributed
Distributed Systems Topics 4 What is a Distributed System? 4 Why Distributed Systems? 4 Examples of Distributed Systems 4 Distributed System Requirements 4 Transparency in Distributed Systems 1
Distributed Systems i Can think of DS as: 4 breaking down an application into individual computing agents 4 distributed over a network 4 work together on a cooperative task i Motivation for DC: 4 Scalability: can solve larger problems without larger computers 4 Openness and heterogeneity: applications and data may be difficult to relocate and reconfigure 4 Fault-tolerance: redundant processing agents for system availability Distributed Systems 2
What Is a Distributed System? i Ingredients of a Distributed System Component-1 Component-n … Component-1 … Component-m Network OS Hardware Host-1 Host-n Component-1 … Component-n Middleware Network OS Hardware Host-1 Distributed Systems 3
What Is a Distributed System? Component-1 … Component-1 Component-n … Component-n Middleware Network OS Hardware Host-1 Host-2 … Network Component-n Component-1 … Component-n Middleware Network OS Hardware Host-n Host-3 Distributed Systems 4
What is a Distributed System i Distributed System Definition: 4 A distributed system is a collection of autonomous hosts that are connected through a computer network. 4 Each host executes components and operates a distribution middleware. 4 Middleware enables the components to coordinate their activities. 4 Users perceive the system as a single, integrated computing facility. Distributed Systems 5
Why Distributed Systems? i Every application is part of your business model 4 must make them work together! Payables/ Receivables Sales Accounting Manufacturing Inventory Shipping/ Receiving Engineering Distributed Systems 6
Why Distributed Systems? i Application Integration and Distributed Processing are the same thing 4 Constructing information-sharing distributed systems from diverse sources: h heterogeneous h networked h physically disparate h multi-vendor Distributed Systems 7
Why Distributed System? i Application Requirements 4 Functional 4 Non-Functional i Non-functional requirements drive distribution of a system 4 Scalability 4 Concurrency 4 Openness 4 Heterogeneity 4 Resource sharing 4 Fault-tolerance 4… Distributed Systems 8
Centralized vs Distributed Systems i Centralized Systems 4 Centralized systems have non-autonomous components 4 Centralized systems are often build using homogeneous technology 4 Multiple users share the resources of a centralized system at all times 4 Centralized systems have a single point of control and of failure i Distributed Systems 4 Distributed systems have autonomous components 4 Distributed systems may be built using heterogeneous technology 4 Distributed system components may be used exclusively 4 Distributed systems are executed in concurrent processes 4 Distributed systems have multiple points of failure Distributed Systems 9
Advantages and Disadvantages of Distributed Systems i Advantages 4 Shareability 4 Expandability 4 Local autonomy 4 Improved performance 4 Improved reliability and availability 4 Potential cost reductions i Disadvantages 4 Network reliance 4 Complexities 4 Security 4 Multiple point of failure Distributed Systems 10
History Review of Distributed Systems i Late 70’s and early 80’s: synchronous with distributed processing i Mid 80’s: no point of central control i Late 80’s: peer structure and inter-connection configuration i Later: more fine-grained distribution 4 Software is decomposed into components 4 Components can resides on different computers and be implemented with different languages Distributed Systems 11
Examples of Distributed Systems i Video-on-Demand 4 Client components are used to display videos 4 Clients are hosted in the homes of the customers of the service 4 Server components load and transmit videos 4 Multiple servers are needed in order to scale Distributed Systems 12
Examples of Distributed Systems i IT Service Architecture of a Swiss Bank 4 Service architecture consists of heterogeneous new and legacy components 4 Hardware platforms range from mainframes to NTs 4 Programming languages including Assembler, Cobol, C, C++, Java, … 4 Different types of middleware can be used to resolve distribution and heterogeneity Authorization Services Customer Information Services Trading Services ATM Services Distributed Systems 13
Transparency in Distributed Systems i Distributed System Definition: 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. i Dimensions of transparency in DS 4 Access Transparency 4 Location Transparency 4 Migration Transparency 4 Replication Transparency 4 Concurrency Transparency 4 Scalability Transparency 4 Performance Transparency 4 Failure Transparency Distributed Systems 14
Location Transparency Caller Machine 1 local call Proxy Machine 2 remote call Distributed Systems Implementor 15
Summary i Distributed systems i Centralized systems vs distributed systems i The need for distributed systems --- application’s non-functional requirements i Transparencies i Dependencies among different dimensions of transparencies Distributed Systems 16
- Slides: 16