Download - p1a-coulouris-ch1-2
-
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