Distributed Systems: Concepts and Design

download Distributed Systems: Concepts and Design

of 44

Transcript of Distributed Systems: Concepts and Design

  • 8/14/2019 Distributed Systems: Concepts and Design

    1/44

    Distributed Systems: Concepts

    and Design

  • 8/14/2019 Distributed Systems: Concepts and Design

    2/44

    Topics

    Chapter 1: Characterization of Distributed

    Systems

    Chapter 2: System Models

  • 8/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    5/44

  • 8/14/2019 Distributed Systems: Concepts and Design

    6/44

    Mobile 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/14/2019 Distributed Systems: Concepts and Design

    7/44

    Mobile 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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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 operation 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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    14/44

    Challenges

    Heterogeneity

    Openness

    Security

    Scalability

    Failure handling Concurrency

    Transparency

  • 8/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    22/44

  • 8/14/2019 Distributed Systems: Concepts and Design

    23/44

    Chapter 2 System Models

    Introduction

    Architectural models

    Fundamental models

    summary

  • 8/14/2019 Distributed Systems: Concepts and Design

    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

    Three fundamental models that help to reveal keyproblems for the designers of distributed system.

  • 8/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    27/44

    Architectural models (cont.)

    Software layers

    System architectures

    Variations on the client-server model

    Interfaces and objects

    Design requirements for distributedarchitectures

  • 8/14/2019 Distributed Systems: Concepts and Design

    28/44

    Software layers

    Applications, services

    Middleware

    Operating system

    Computer and network hardware

  • 8/14/2019 Distributed Systems: Concepts and Design

    29/44

    System architectures

    Client-server model

    Services provided by multiple servers

    Proxy srvers and caches

    Peer processes

  • 8/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    31/44

    Design requirements for

    distributed architectures Performance issues

    Use of caching and replication

    Dependability issues

  • 8/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    35/44

    Fundamental Models

    Interaction model

    Failure model

    Security model

  • 8/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    37/44

    Performance of communication

    channels Communication performance is often a

    limiting characteristic.

    The delay between the sending of amessage by one process and its receipt byanother is referred to as latency.

    Bandwidth

    Jitter is the variation in the time taken todeliver a series of messages.

  • 8/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    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/14/2019 Distributed Systems: Concepts and Design

    44/44

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