CHARACTERIZATION OF DISTRIBUTED SYSTEMS From Chapter 1 of
CHARACTERIZATION OF DISTRIBUTED SYSTEMS From Chapter 1 of Distributed Systems Concepts and Design, 4 th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison Wesley/Pearson Education June 2005 1
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Topics § Defining Distributed Systems § Resource sharing and the Web § Design Challenges of Distributed Systems Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 2
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Defining Distributed Systems § Various definition of distributed systems have been given in the literature, for example: Ø A collection of logically related data that is distributed over different processing nodes of computer network. § Definition above does not provide all characteristics of distributed systems. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 3
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Defining Distributed Systems § It is difficult to find a definition that provides all characteristics of distributed systems. § Another way is a definition that gives a loose characterization for distributed systems such as: Ø A distributed system is a collection of independent computers that appear to the users of the system as a single computer. § With any definition, sharing of resources is a main motivation for constructing distributed systems. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 4
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Defining Distributed Systems § In this course, we define distributed systems more precisely as : Ø A distributed system is one in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing. § Definition above covers the entire range of distributed systems in which networked computers can usefully be deployed. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 5
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Defining Distributed Systems § Networks of computers are everywhere! § Examples of networks of computers are: Ø Mobile phone networks Ø Corporate networks Ø Factory networks Ø Campus networks Ø Home networks Ø In-car networks Ø On board networks in aero planes and trains Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 6
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Defining Distributed Systems § Our definition of distributed systems has the following significant consequences: Ø Concurrency v Tasks carry out independently Ø No global clock v Tasks coordinate their actions by exchanging messages Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 7
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Defining Distributed Systems Ø Independent Failures v Faults in the network result in the isolation of the computers that are connected to it. v Each component of the system can fail independently, leaving the others still running. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 8
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems § Internet § Intranets § Mobile networks Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 9
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems § The Internet Ø The Internet is a vast interconnected collection of computer networks of many different types. Ø Multimedia services are available in the Internet enabling users to access audio and video data including music, radio, TV channels, phone, and video conferencing. (Figure 1) Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 10
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems intranet % ISP % % % backbone satellite link desktop computer: server: network link: Figure 1. A typical portion of the Internet Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 11
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems § Intranet Ø An intranet is a portion of the Internet that is separately administered and has a boundary that can be configured to enforce local security policies. (Figure 2) Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 12
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems Figure 2. A typical Interanet Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 13
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems § Mobile networks Ø Technological advances in device miniatorization and wireless networking have led increasingly to the integration of small and portable computing devices into distributed systems. Ø These devices include: v Laptop computers Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 14
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems v Handheld devices • • • Personal digital assistants(PDAs) Mobile phones Pagers Video cameras Digital cameras Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 15
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems Ø Wearable devices v Smart watches with functionality similar to a PDA Ø Devices embedded in appliances v Washing machines v Hi-fi systems v Cars v Refrigerators (Figure 3) Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 16
CHARACTERIZATION OF DISTRIBUTED SYSTEMS General Examples of Distributed Systems Figure 3. Portable and handheld devices in a distributed system. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 17
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Other Examples of Distributed Systems § Cluster Ø A type of parallel or distributed processing system, which consists of a collection of interconnected stand-alone computers cooperatively working together as a single, integrated computing resource. The computers may be standard per uniprocessor or multiprocessor. Ø A cluster can be used for providing highly scalable services such as search engines provide for users all over the Internet. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 18
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Other Examples of Distributed Systems § Grid Ø A type of parallel and distributed system that enables the sharing, selection, and aggregation of geographically distributed autonomous resources dynamically at runtime depending on their availability, capability, performance, cost, and users' quality-of-service requirements. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 19
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Resource sharing and the Web § The World Wide Web Ø The World Wide Web is an evolving system for publishing and accessing resources and services across the Internet. (Figure 4) Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 20
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Resource sharing and the Web http: //www. google. com/search? q=Buyya www. google. com Web servers www. cdk 3. net Browsers http: //www. cdk 3. net/ www. w 3 c. org File system of www. w 3 c. org http: //www. w 3 c. org/Protocols/Activity. html Protocols Activity. html Figure 4. Web servers and web browsers. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 21
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Design Challenges of Distributed Systems n Designers of distributed systems need to take the following challenges into account: Ø Heterogeneity v Heterogeneous components must be able to interoperate. Ø Openness v Interfaces should allow components to be added or replaced. Ø Security v The system should only be used in the way intended. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 22
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Design Challenges of Distributed Systems Ø Scalability v System should work efficiently with an increasing number of users. v System performance should increase with inclusion of additional resources. Ø Failure handling v Failure of a component (partial failure) should not result in failure of the whole system. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 23
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Design Challenges of Distributed Systems Ø Transparency v Distribution should be hidden from the user as much as possible. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 24
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Heterogeneity § Heterogeneous components that must be able to interoperate, apply to all of the following: Ø Networks Ø Hardware architectures Ø Operating systems Ø Programming languages Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 25
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Heterogeneity § Examples that mask differences in network, operating systems, hardware and software to provide heterogeneity are Ø Middleware Ø Internet protocols Ø Mobile code Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 26
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Heterogeneity Ø Middleware v Middleware applies to a software layer. v Middleware provides a programming abstraction. v Middleware masks the heterogeneity of the underlying networks, hardware, operating systems and programming languages. v The Common Object Request Broker (CORBA) is a middleware example. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 27
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Heterogeneity Ø Mobile code v Mobile code is the code that can be sent from one computer to another and run at the destination. v Java applets are the example of mobile codes. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 28
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Heterogeneity Ø Virtual machine v Virtual machine provides a way of making code executable on any hardware. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 29
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Openness § Distributed systems must be extensible. § Openness of a computer system is the characteristic that determines whether the system can be extended and reimplemented in various ways. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 30
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Openness § The first step in openness is publishing the documentation of software components and interfaces of the components to make them available to software developers. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 31
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Security § Security of a computer system is the characteristic that the resources are accessible to authorized users and used in the way they are intended. § Security for information resources has three components: Ø Confidentiality v Protection against disclosure to unauthorized individual. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 32
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Security Ø Integrity v Protection against alteration or corruption. Ø Availability v Protection against interference with the means to access the resources. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 33
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Security § Security Mechanisms are: Ø Encryption Ø Authentication Ø Authorization Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 34
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Security challenges § Denial of service attacks Ø Denial of service attacks is an attempt to make a computer resource unavailable to its intended users. § Security of mobile code Ø Mobile code needs to be handled with care. v E. g. receiving an executable program as an electronic mail attachment to display an interesting picture but in reality it may access local resources, or perhaps be part of a denial of service attack. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 35
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Scalability § Scalable distributed systems operate effectively and efficiently at many different scales, ranging from a small Intranet to the Internet. § Scalable distributed systems remain effective when there is a significant increase in the number of resources and the number of users. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 36
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Scalability § Challenges of designing scalable distributed systems are: Ø Controlling the cost of physical resources v Cost should linearly increase with the system size. Ø Controlling the performance loss v For example, in hierarchically structured data, search performance loss due to data growth should not be beyond O(log n), where n is the size of data. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 37
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Scalability Ø Preventing software resources running out v An example is the numbers used as Internet addresses (IP)(32 bit->128 -bit) v Y 2 K like problem. Ø Avoiding performance bottlenecks v Using decentralized algorithms to avoid having performance bottlenecks. § Caching and replication in Web are examples of providing scalability. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 38
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Failure handling § Failures in distributed systems are partial, that is some components fail while others continue to function. § Techniques for dealing with failures: Ø Detecting failures v E. g. Checksums Ø Masking failures v E. g. Retransmission of corrupt messages v E. g. File redundancy Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 39
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Failure handling Ø Tolerating failures v E. g. Exception handling v E. g. Timeouts Ø Recovery from Failure v E. g. Rollback mechanisms Ø Redundancy v E. g. Redundant components Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 40
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Concurrency § With concurrency, services and applications can be shared by clients in a distributed system. § For an object to be safe in a concurrent environment, its operations must be synchronized in such a way that its data remains consistent. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 41
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Concurrency § Concurrency can be achieved by standard techniques such as semaphores, which are used in most operating systems. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 42
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Transparency § Transparency is defined as the hiding of the separation of components in a distributed systems from the user and the application programmer. § With transparency the system is perceived as a whole rather than a collection of independent components. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 43
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Transparency § Forms of transparencies: Ø Access transparency v Enables local and remote resources to be accessed using identical operations. Ø Location transparency v Enables resources to be accessed without knowledge of their physical or network location (for example, which building or IP address). Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 44
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Transparency Ø Concurrency transparency v Enables several processes to operate concurrently using shared resources without interference between them. Ø Replication transparency v Enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 45
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Transparency Ø Failure transparency v Enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. Ø Mobility transparency v Allows the movement of resources and clients within a system without affecting the operation of users or programs. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 46
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Transparency Ø Performance transparency v Allows the system to be reconfigured to improve performance as loads vary. Ø Scaling transparency v Allows the system and applications to expand in scale without change to the system structure or the application algorithms. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 47
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Transparency § The two most important transparencies are access and location transparency referred to together as network transparency. § Presence or absence of network transparency most strongly affects the utilization of distributed resources. Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 48
CHARACTERIZATION OF DISTRIBUTED SYSTEMS Question 1. 10 § The INFO service manages a potentially very large set of resources, each of which can be accessed by users throughout the Internet by means of a key (a string name). Discuss an approach to the design of the names of the resources that achieves the minimum loss of performance as the number of resources in the service increases. Suggest how the INFO service can be implemented so as to avoid performance bottlenecks when the number of users becomes very large Couloris, Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005 49
- Slides: 49