Distributed Systems: Concepts and Design Jinghai Rao 13,9,2000.

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Chapter 1 Characterization of Distributed Systems Choe, Hyun Jong Dept. of Computer Education Korea National Univ. Of Education.
Distributed components
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Distributed Systems.
Technical Architectures
CS Distributed Computing Systems Chapter 1: Characterization of Distributed Systems Chin-Chih Chang, From Coulouris, Dollimore.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
City University London
CMPT Dr. Alexandra Fedorova Distributed Systems.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Figure 1.1 Interaction between applications and the operating system.
Introduction to Distributed Systems CS412: Programming Distributed Applications Computer Science Southern Illinois University CS412: Programming Distributed.
OCT1 Principles From Chapter Two of “Distributed Systems Concepts and Design” Material on Lamport Clocks from “Distributed Systems Principles and Paradigms”
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture II: Architectural Models.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED COMPUTING
Distributed Systems System Models Chapter 2.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
CS431 Distributed Systems
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006.
Chapter 1 Characterization of Distributed Systems Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education.
CH2 System models.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bộ môn Mạng và Truyền Thông Máy Tính.
Characterization of Distributed Systems
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Exercises for Chapter 2: System models
Distributed Systems: Concepts and Design Chapter 1 Pages
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Architectures of distributed systems Fundamental Models
Learning Objectives 1.Identify the major categories and trends of distributed system 2.Identify the essential processes of an e- commerce system, and give.
Distributed System Models (Fundamental Model). Architectural Model Goal Reliability Manageability Adaptability Cost-effectiveness Service Layers Platform.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Prepared By: Md Rezaul Huda Reza
Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.
D ISTRIBUTED S YSTEM UNIT-1 Prepared By: G.S.Mishra.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Examples of distributed systems Resource sharing and the web
Distributed System Models
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
Exercises for Chapter 1: Characterization of Distributed Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 System Models by Dr. Sarmad Sadik.
Chapter 1 Characterization of Distributed Systems
Examples of distributed systems Resource sharing and the web
Chapter 2: System Model Introduction Architecture Models
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
System Models and Networking Chapter 2,3
COMP28112 Lecture 2 A few words about parallel computing
Distributed Systems Bina Ramamurthy 4/7/2019 B.Ramamurthy.
Architectures of distributed systems
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Introduction To Distributed Systems
Architectures of distributed systems Fundamental Models
Distributed Systems and Concurrency: Distributed Systems
Chapter 2: System models
Presentation transcript:

Distributed Systems: Concepts and Design Jinghai Rao 13,9,2000

Topics Chapter 1: Characterization of Distributed Systems Chapter 2: System Models

What is Distributed Systems A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. Three Examples –The internet –An intranet which is a portion of the internet managed by an organization –Mobile and ubiquitous computing

The Internet The Internet is a very large distributed system. The implementation of the internet and the services that it suports has entailed the development of practical solutions to many distributed system issues.

Intranets 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 The main issues arising in the design of components for use in intranets are: file services, firewalls, cost.

Mobil and ubiquitous computing The portability of the devices, such as laptop computers, PDA, mobil phone, refrigerators, togather with their ability to connect conveniently to networks in different places, makes mobile computing possible. Ubiquitous computing is the harnessing of many small cheap computational devices that are present in users’ physical environments, including the home, office and elsewhere.

Mobil and ubiquitous computing (continue) Mobile and ubiquitous computing raise significant system issues presents an architecture for mobile compuing and outlines the issues that arise from it, including how to support the discovery of resources in a host environment; eliminating the need for users to reconfigure their mobile devices as they move around; helping users to cope with limited connectivity as they travel; and providing privacy and other security guarantees to users and the environments that the visit.

Significant Consequences of DS Concurrency –The capacity of the system to handle shared resources can be increased by adding more resources to the network. No global clock –The only communication is by sending messages through a network. Independent failures –The programs may not be able to detect whether the network has failed or has become unusually slow.

Resource The term ”resource” is a rather abstract one, but it best characterizes the range of things that can usefully be shared in a networked computer system. It extends from hardware components such as disks and printers to software-defined entities such as files, databases and data objects of all kinds.

Important Terms of Web Services –A distinct part of a computer system that manages a collection of related resources and presents their functionality to users and applications. –http, telnet, pop3... Server –A running program (a process) on a networked computer that accepts requests from programs running on other computers to perform a service, and responds apppropriately. –IIS, Apache... Client –The requesting processes.

The World Wide Web The WWW is an evolving system for publishing and accessing resources and services across the Internet. The Web is an open system: –Its oeration is based on communication standards and document standards tht are freely published and widely implemented. –The Web is one with respect to the types of ’resource’ that can be published and shared on.

The main standard components of Web HyperText Markup Language (HTML) Uniform Resource Laocators (URLs) HyperText Transfer Protocol (HTTP) –HTTP is a ’request-reply’ protocol.

More Discussion of Web Dynamic pages –CGI –Javascript –ASP, PHP... Discussion –Hypertext model is lacking in some respects, such as ’lost in hyperspace’. –HTML is limited in exchanging structured data, one solution is XML. –The problems of scale. –A Web page is not always a satisfactory user interface.

Challenges Heterogeneity Openness Security Scalability Failure handling Concurrency Transparency

Heterogeneity Different networks, hardware, operating systems, programming languages, developers. We set up protocols to solve these heterogeneities. Middleware: a software layer that provides a programming abstraction as well as masking the heterogeneity. Mobile code: code that can be sent from one computer to another and run at the destination.

Openness The openness of DS is determined primarily by the degree to which new resource-sharing services can be added and be made available for use by a variety of client programs. Open systems are characterized by the fact that their key interfaces are published. Open DS are based on the provision of a uniform communication mechanism and published interfaces for access to shared resources. Open DS can be constrcted from heterogeneous hardware and software.

Security Security for information resources has three components: –Confidentiality: protection against disclosure to unauthorized individuals. –Integrity: protection against alteration or corruption. –Availability: protection against interference with the means to access the resources. Two new security challenges: –Denial of service attacks (DoS). –Security of mobile code.

Scalability A system is described as scalable if it remains effective when there is a significant increase in the number of resources and the number of users. Challenges: –Controlling the cost of resources or money. –Controlling the performance loss. –Preventing software resources from running out –Avoiding preformance bottlenecks.

Failure handling When faults occur in hardware or software, programs may produce incorrect results or they may stop before they have completed the intended computation. Techniques for dealing with failures: –Detecting failures –Masking failures –Tolerating failures –Recovering form failures –Redundancy

Concurrency There is a possibility that several clients will attempt to access a shared resource at the same time. Any object that represents a shared resource in a distributed system must be responsible for ensuring that operates correctly in a concurrent environment.

Transparency Transparency is defined as the concealment from the user and the application programmer of the separation of components in a distributed system, so that the system is perceived as a whole rather than as a collection of independent components. Eight forms of transparency: –Access transparency ** –Location transparency ** –Concurrency transparency –Replication transparency –Failure transparency –Mobility transparency –Performance transparency –Scaling transparency

Summary Distributed systems are everywhere –Internet, intranet, wireless networks. Resource sharing is the main motivating factor for constructing distribute systems. The constrcution of distributed systems produces many challenges.

Chapter 2 System Models Introduction Architectural models Fundamental models summary

Introduction In this chapter we bring out the common properties and design issues for distributed systems in the form of descriptive modes. An architectural model defines the way in which the components of systems interact with one another and the way in which they are maped onto an underlying network of computers In section2.3, we introduce three fundamental models that help to reveal key problems for the designers of distributed system.

Difficulties and threats for distributed systems Widely varying modes of use. Wide range of system environments Internal problems: non-synchronized clocks, conflicting data updates, many modes of hardware and software failure involving the individual components of a system.

Architectural models An architectural model of a distributed system first simplifies and abstracts the functions of the individual components of a DS and then it considers: –The placement of the components across a network of computers –The interrelationships between the components.

Architectural models (cont.) Software layers System architectures Variations on the client-server model Interfaces and objects Design requirements for distributed architectures

Software layers Applications, services Middleware Operating system Computer and network hardware

System architectures Client-server model Services provided by multiple servers Proxy srvers and caches Peer processes

Variations on the client-server model Mobile code Mobile agents Network computers Thin client Mobile devices and spontaneous networking The X-11 window system

Design requirements for distributed architectures Performance issues Use of caching and replication Dependability issues

Performance issues Responsiveness –Users of interactive aplication require a fast and consistent response to interaction. Throughput –The rate at which computational work is done. Quality of services –The ability to meet the deadlines of users need. Balancing computer loads –In some case load balancing may involve moving partially-completed work as the loads on hosts changes.

Use of caching and replication The performance issues often appear to be major obstacles to the successful deployment of DS, but much progress has been made in the design of systems that overcome them by the use of data replication and caching.

Dependability issues The dependability of computer systems as correctness, security and fault tolerance. Fault tolerance: reliability is achieved through redundancy. Security: the architectural impact of the requirement for security concerns the need to locate sensitive data and other resources only in computers that can be effectively secured against attack.

Fundamental Models Interaction model Failure model Security model

Interaction model Performance of communication channels Computer clocks and timing events Two variants of the interaction model Agreement in pepperland Event ordering

Performance of communication channels Communication performance is often a limiting characteristic. The delay between the sending of a message by one process and its receipt by another is referred to as latency. Bandwidth Jitter is the variation in the time taken to deliver a series of messages.

Computer clock and timing event It is impossible to maintain a single global notion of time. There are several approaches to correcting the times on computer clocks. (from GPS)

Two variants of the interaction model Synchronous distributed system –The time to execute each step f a process has known lower and uper bounds. –Each message transmitted over a channel is received within a known bounded time –Each process has a local clock whose drift rate from real time has a known bound. Asynchronous distributed system –No bound on process executiong speeds –No bound on message transmisson delays –No bound on clock drift rates.

Agreement in pepperland The pepperland divisions need to agree on which of them will lead the charge against the Blue Meanies, and when the charge will take place. In asynchronous pepperland, the messengers are very variable in their speed. The divisions know some useful constraints: every message takes at least min. Minutes and at most max minutes to arive. The leading division sends a message ’charge!’, then waits for min minutes, then it charges. The other division’s charge is guaranteed to be after the leading division’s, but no more than (max-min) after it.

Event ordering In many cases, we are interested in knowing whether an event (sending or receiving a message) at one process occurred before, after or concurrently with another event at another process. The execution of a system can be described in terms of events and their ordering despite the lack of accurate clocks. example(p. 58).

Failure model Omission failures Arbitrary failures Failure detection Impossibility of reaching agreement in the presence of failure Masking failure Reliability of one to one communication

Security model Protecting objects Securing processes and their interactions The enemy Defeating security threats Other possible threats from the enemy The uses of security models

summary Most DS are arranged according to one of a variety of architectural models. The fundamental models – interaction, failure, and security – identify the common characteristics of the basic components from which distributed systems are constructed.