Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 38
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 system principle 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. Characteristics of a centralised system. One component with non-autonomous parts. Component shared by users all the time. All resources accessible. Software runs in a single process. Single Point of control. Single Point of failure. Distributed System 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. telecommunication networks: telephone networks and cellular networks, computer networks such as the Internet, wireless sensor networks. distributed databases and distributed database management systems. distributed information processing systems such as banking systems and airline reservation systems; Design Goals. 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. Openess 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. Integrity of the system may be violated if concurrent updates are not coordinated. o Lost updates o Inconsistent analysis Scalability Adaption of distributed systems to • accommodate 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. Types of Transparency Access Transparency. Enables local and remote information objects to be accessed using identical operations. Example: File system operations in NFS. Navigation in the Web, SQL Queries. Location Transparency. Enables information objects to be accessed without knowledge of their location. Example. File system operations in NFS Pages in the Web Tables in distributed databases Concurrency Transparency Enables several processes to operate concurrently using shared information objects without interference between them. Example: Automatic teller machine network Database management system 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. Example: Distributed DBMS Mirroring Web Pages. Failure Transparency Enables the concealment of faults Allows users and applications to complete their tasks despite the failure of other components. Example: Database Management System Migration Transparency Allows the movement of information objects within a system without affecting the operations of users or application programs. Examples. Web pages. Performance Transparency. Allows the system to be reconfigured to improve performance as loads vary. Scaling Transparency Allows the system and applications to expand in scale without change to the system structure or the application algorithms. Being open Another important goal of distributed systems is openness. An open distributed system is essentially a system that offers components that can easily be used by, or integrated into other systems. At the same time, an open distributed system itself will often consist of components that originate from elsewhere this include, Interoperability, composability, and extensibility. Being scalable. Ability to add more nodes to a distributed system. Scalability can be of three dimensions. Size scalability. Geographic scalability. Administrative scalability. Being scalable. Size scalability. system can be scalable with respect to its size, meaning that we can easily add more users and resources to the system without any noticeable loss of performance. Geographic scalability. A geographically scalable system is one in which the users and resources may lie far apart, but the fact that communication delays may be significant is hardly noticed. Being scalable. Administrative scalability: An administratively scalable system is one that can still be easily managed even if it spans many independent administrative organizations. Pitfalls of a Dos. Distributed systems differ from traditional software because components are dispersed across a network. developing a distributed system is a formidable task. there are so many issues to consider at the same time that it seems that only complexity can be the result. This include. The network is reliable The network is secure The network is homogeneous The topology does not change Latency is zero Bandwidth is infinite Transport cost is zero There is one administrator Types of Distributed Systems. High performance Distributed computing. Distributed information systems. Pervasive systems. Advantages of Distributed Systems Improved Performance: Parallel processing, in which tasks are split up and carried out simultaneously by several nodes, is possible with distributed systems. Comparatively to a single, centralised system, this results in quicker execution times and better performance. Load Balancing: Load balancing strategies can be used in distributed systems to divide the workload among nodes in a fair manner. As a result, resources are used to their full potential and performance is enhanced. Data Replication and Data Locality: Replication of data across several nodes is a common technique used in distributed systems. This raises data availability and lowers the possibility of data loss or non- availability as a result of node failures. Redundancy and Disaster Recovery: Redundancy and disaster recovery capabilities can be offered by distributed systems. The system is better able to recover from errors or disasters when data and tasks are replicated. Flexibility and Modularity: Distributed systems allow for freedom in design and modularity. It is possible to build the system up of microservices or loosely linked components, which makes it simpler to create, deploy, and manage. Geographic Distribution and Reduced Latency: Data and services can be placed closer to end consumers because of distributed systems' ability to span several different geographic regions. The system can lower latency and speed up reaction times by putting nodes in various areas. Resource sharing: istributed systems allow multiple users and programmers to share resources. Computing resources, such as processing power, memory, and storage, can be efficiently utilized and shared across the system, resulting in resource allocation optimization. Flexibility and extensibility: Distributed systems allow for the addition or removal of nodes without affecting the overall system. Increased data availability: Distributed systems can replicate and spread data across numerous nodes, boosting data availability and accessibility. Collaboration and coordination: Multiple people or entities can collaborate and coordinate using distributed systems. They serve as a platform for sharing resources, communicating, and synchronizing tasks, facilitating effective teamwork. Enhanced security: Distributed systems provide increased security capabilities by utilizing distributed security techniques. Increased reliability: Distributed systems are less prone to full failures or data loss when data is duplicated across numerous nodes. Disadvantages Increased communication overhead: Higher latency: Increased development and maintenance complexity: Network dependency: Cost and complexity of infrastructure: Consistency and data integrity Dependency on network stability: Complexity of failure handling: