Chapter1:Introduction to Distributed System Topic of Contents • Distributed systems • Definitions, • Basic Concepts, • Examples • Advantages Distributed systems • Characteristics Distributed systems • Challenges System • Definition Collection of components that are organized for a common purpose. Computer System Education System Human Body System,etc History Centralize System Characteristics • Single Computer Resource to handle of request • Single Computer Resource shared by users all the time • All resources accessible by user all the time • Software runs in a single process • Single point of control • Single point of failure Distributed systems • Definition A distributed system consists of a collection of autonomous computers, connected through a network and distribution middleware, 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. Why DS:Availibility of powerful yet cheap microprocessor,continue advancement in communication technology Distributed systems Characteristics • Multiple autonomous components • Components are not shared by all users • Resources may not be accessible • Software runs in concurrent processes on different processors • Multiple Points of control • Multiple Points of failure Examples of Distributed Systems • Local Area Network and Intranet • Database Management System • ATM Network • Internet/World-Wide Web • Mobile Computing • Cloud Computing 8 DBMS:Examples of Distributed Systems Automatic Teller Machine Network(ATM) Advantage of Distributed System • Resource Sharing :Ability to use any hardware, software or data anywhere in the system. . • Scalability :More nodes can easily be added to the distributed system i.e. it can be scaled as required. • Fault tolerant : Failure of one node does not lead to the failure of the entire distributed system. Other nodes can still communicate with each other. • Redundancy :Several machines can provide the same services, so if one is unavailable, work does not stop. • Openness : extensions and improvements of new component in distributed systems. • Concurrency : Components in distributed systems are executed in concurrent processes. • Transparency :Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. Transparency Transparency dimensions Properties Access Transparency Enables local and remote information objects to be accessed using same 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 Failure Transparency enable users and applications to complete their tasks despite the failure of other components Migration Transparency Enable movement of information objects within a system without affecting the operations of users or Performance Transparency Enable the system to be reconfigured to improve performance as loads vary. Scaling Transparency Enable the system and applications to expand in scale without change to the system structure Disadvantage of Distributed System • It is difficult to provide security in distributed systems because the nodes as well as the connections need to be secured. • Some messages and data can be lost in the network while moving from one node to another. • The database connected to the distributed systems is difficult to handle as compared to a single user system. • Overloading may occur in the network if all the nodes of the distributed system try to send data at once. Challenges: • • • • • • • • • • Increased complexity: Synchronization process challenges Imperfect scalability: More complex security Increased opportunities for failure: Communication Software structure System architecture Workload allocation Consistency maintenance