p1a-coulouris-ch1-2

Upload: madhur-shailesh-dwivedi

Post on 30-May-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 p1a-coulouris-ch1-2

    1/44

    Distributed Systems: Concepts

    and Design

    Jinghai Rao

    13,9,2000

  • 8/9/2019 p1a-coulouris-ch1-2

    2/44

    Topics

    Chapter 1: Characterization of Distributed

    Systems

    Chapter 2: System Models

  • 8/9/2019 p1a-coulouris-ch1-2

    3/44

    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

  • 8/9/2019 p1a-coulouris-ch1-2

    4/44

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    5/44

    Intranets

    An intranet is a portion of the Internet that

    is separately administered and has a

    boundary that can be configured to enforcelocal security policies

    The main issues arising in the design of

    components for use in intranets are: fileservices, firewalls, cost.

  • 8/9/2019 p1a-coulouris-ch1-2

    6/44

    Mobil and ubiquitous computing

    The portability of the devices, such as laptop

    computers, PDA, mobil phone, refrigerators,

    togather with their ability to connect convenientlyto networks in different places, makes mobile

    computing possible.

    Ubiquitous computing is the harnessing of many

    small cheap computational devices that are presentin users physical environments, including the

    home, office and elsewhere.

  • 8/9/2019 p1a-coulouris-ch1-2

    7/44

    Mobil and ubiquitous computing

    (continue) Mobile and ubiquitous computing raise significant

    system issues presents an architecture for mobilecompuing and outlines the issues that arise from it,including how to support the discovery ofresources in a host environment; eliminating theneed for users to reconfigure their mobile devicesas they move around; helping users to cope with

    limited connectivity as they travel; and providingprivacy and other security guarantees to users andthe environments that the visit.

  • 8/9/2019 p1a-coulouris-ch1-2

    8/44

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    9/44

    Resource

    The term resource is a rather abstract

    one, but it best characterizes the range of

    things that can usefully be shared in anetworked computer system. It extends

    from hardware components such as disks

    and printers to software-defined entitiessuch as files, databases and data objects of

    all kinds.

  • 8/9/2019 p1a-coulouris-ch1-2

    10/44

    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 acceptsrequests from programs running on other computers to perform a service,and responds apppropriately.

    IIS, Apache...

    Client The requesting processes.

  • 8/9/2019 p1a-coulouris-ch1-2

    11/44

    The World Wide Web

    The WWW is an evolving system forpublishing and accessing resources and

    services across the Internet. The Web is an open system:

    Its oeration is based on communicationstandards and document standards tht are freely

    published and widely implemented.

    The Web is one with respect to the types ofresource that can be published and shared on.

  • 8/9/2019 p1a-coulouris-ch1-2

    12/44

    The main standard components

    of Web

    HyperText Markup Language (HTML)

    Uniform Resource Laocators (URLs)

    HyperText Transfer Protocol (HTTP)

    HTTP is a request-reply protocol.

  • 8/9/2019 p1a-coulouris-ch1-2

    13/44

    More Discussion of Web

    Dynamic pages

    CGI

    Javascript

    ASP, PHP...

    Discussion

    Hypertext model is lacking in some respects, such as lost inhyperspace.

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    14/44

    Challenges

    Heterogeneity

    Openness

    Security

    Scalability

    Failure handling Concurrency

    Transparency

  • 8/9/2019 p1a-coulouris-ch1-2

    15/44

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    16/44

    Openness

    The openness of DS is determined primarily by the degreeto 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 keyinterfaces are published.

    Open DS are based on the provision of a uniformcommunication mechanism and published interfaces foraccess to shared resources.

    Open DS can be constrcted from heterogeneous hardwareand software.

  • 8/9/2019 p1a-coulouris-ch1-2

    17/44

    Security

    Security for information resources has threecomponents: Confidentiality: protection against disclosure to

    unauthorized individuals.

    Integrity: protection against alteration or corruption.

    Availability: protection against interference with themeans to access the resources.

    Two new security challenges: Denial of service attacks (DoS).

    Security of mobile code.

  • 8/9/2019 p1a-coulouris-ch1-2

    18/44

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    19/44

    Failure handling

    When faults occur in hardware or software,programs may produce incorrect results or theymay stop before they have completed the intendedcomputation.

    Techniques for dealing with failures: Detecting failures

    Masking failures

    Tolerating failures

    Recovering form failures

    Redundancy

  • 8/9/2019 p1a-coulouris-ch1-2

    20/44

    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 aconcurrent environment.

  • 8/9/2019 p1a-coulouris-ch1-2

    21/44

    Transparency

    Transparency is defined as the concealment from theuser and the application programmer of the separation ofcomponents in a distributed system, so that the system is

    perceived as a whole rather than as a collection ofindependent components.

    Eight forms of transparency: Access transparency **

    Location transparency **

    Concurrency transparency

    Replication transparency

    Failure transparency

    Mobility transparency

    Performance transparency

    Scaling transparency

  • 8/9/2019 p1a-coulouris-ch1-2

    22/44

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    23/44

    Chapter 2 System Models

    Introduction

    Architectural models

    Fundamental models

    summary

  • 8/9/2019 p1a-coulouris-ch1-2

    24/44

    Introduction

    In this chapter we bring out the commonproperties and design issues for distributedsystems in the form of descriptive modes.

    An architectural model defines the way in whichthe components of systems interact with oneanother and the way in which they are maped ontoan underlying network of computers

    In section2.3, we introduce three fundamentalmodels that help to reveal key problems for thedesigners of distributed system.

  • 8/9/2019 p1a-coulouris-ch1-2

    25/44

    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 asystem.

  • 8/9/2019 p1a-coulouris-ch1-2

    26/44

    Architectural models

    An architectural model of a distributed

    system first simplifies and abstracts the

    functions of the individual components of aDS and then it considers:

    The placement of the components across a

    network of computersThe interrelationships between the components.

  • 8/9/2019 p1a-coulouris-ch1-2

    27/44

    Architectural models (cont.)

    Software layers

    System architectures

    Variations on the client-server model

    Interfaces and objects

    Design requirements for distributedarchitectures

  • 8/9/2019 p1a-coulouris-ch1-2

    28/44

    Software layers

    Applications, services

    Middleware

    Operating system

    Computer and network hardware

  • 8/9/2019 p1a-coulouris-ch1-2

    29/44

    System architectures

    Client-server model

    Services provided by multiple servers

    Proxy srvers and caches

    Peer processes

  • 8/9/2019 p1a-coulouris-ch1-2

    30/44

    Variations on the client-server

    model Mobile code

    Mobile agents

    Network computers

    Thin client

    Mobile devices and spontaneousnetworking

    The X-11 window system

  • 8/9/2019 p1a-coulouris-ch1-2

    31/44

    Design requirements for

    distributed architectures Performance issues

    Use of caching and replication

    Dependability issues

  • 8/9/2019 p1a-coulouris-ch1-2

    32/44

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    33/44

    Use of caching and replication

    The performance issues often appear to be

    major obstacles to the successful

    deployment of DS, but much progress hasbeen made in the design of systems that

    overcome them by the use of data

    replication and caching.

  • 8/9/2019 p1a-coulouris-ch1-2

    34/44

    Dependability issues

    The dependability of computer systems as

    correctness, security and fault tolerance.

    Fault tolerance: reliability is achieved throughredundancy.

    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.

  • 8/9/2019 p1a-coulouris-ch1-2

    35/44

    Fundamental Models

    Interaction model

    Failure model

    Security model

  • 8/9/2019 p1a-coulouris-ch1-2

    36/44

    Interaction model

    Performance of communication channels

    Computer clocks and timing events

    Two variants of the interaction model

    Agreement in pepperland

    Event ordering

  • 8/9/2019 p1a-coulouris-ch1-2

    37/44

  • 8/9/2019 p1a-coulouris-ch1-2

    38/44

    Computer clock and timing event

    It is impossible to maintain a single global

    notion of time.

    There are several approaches to correctingthe times on computer clocks. (from GPS)

  • 8/9/2019 p1a-coulouris-ch1-2

    39/44

    Two variants of the interaction

    model Synchronous distributed system

    The time to execute each step f a process has known lower anduper bounds.

    Each message transmitted over a channel is received within aknown bounded time

    Each process has a local clock whose drift rate from real time has aknown bound.

    Asynchronous distributed system

    No bound on process executiong speedsNo bound on message transmisson delays

    No bound on clock drift rates.

  • 8/9/2019 p1a-coulouris-ch1-2

    40/44

    Agreement in pepperland

    The pepperland divisions need to agree on which of them willlead the charge against the Blue Meanies, and when the chargewill take place.

    In asynchronous pepperland, the messengers are very variablein their speed.

    The divisions know some useful constraints: every messagetakes 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 divisions charge is guaranteed to be after the

    leading divisions, but no more than (max-min) after it.

  • 8/9/2019 p1a-coulouris-ch1-2

    41/44

    Event ordering

    In many cases, we are interested in knowing

    whether an event (sending or receiving a message)

    at one process occurred before, after orconcurrently 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).

  • 8/9/2019 p1a-coulouris-ch1-2

    42/44

    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

  • 8/9/2019 p1a-coulouris-ch1-2

    43/44

    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

  • 8/9/2019 p1a-coulouris-ch1-2

    44/44