From Chapter 1 of Distributed Systems Concepts and Design, 4 Edition
From Chapter 1 of Distributed Systems Concepts and Design, 4 Edition
DISTRIBUTED SYSTEMS
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
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
3
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
4
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
6
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
7
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
8
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
9
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
10
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
intranet %
%
% ISP
backbone
satellite link
desktop computer:
server:
network link:
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
12
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Loc al area
Web server netw ork
email s erv er
print
File s erv er
other s erv ers
the res t of
the Internet
router/f irew all
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
14
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
15
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
16
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Internet
Mobile
phone
Printer Laptop
Camera Host site
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
19
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
20
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
http://www.google.com/search?q=Buyya
www.google.com
www.cdk3.net
http://www.cdk3.net/
www.w3c.org
Activity.html
Figure 4. Web servers and web browsers.
21
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
23
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
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
Middleware applies to a software layer.
Middleware provides a programming
abstraction.
Middleware masks the heterogeneity of the
underlying networks, hardware, operating
systems and programming languages.
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
Mobile code is the code that can be sent
from one computer to another and run at the
destination.
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
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.
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
Integrity
Protection against alteration or corruption.
Availability
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.
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.
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
Cost should linearly increase with the
system size.
Controlling the performance loss
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
An example is the numbers used as Internet
addresses (IP)(32 bit->128-bit)
Y2K like problem.
Avoiding performance bottlenecks
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.
Failure handling
Tolerating failures
E.g. Exception handling
E.g. Timeouts
Recovery from Failure
E.g. Rollback mechanisms
Redundancy
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.
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.
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
43
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Transparency
Forms of transparencies:
Access transparency
Enables local and remote resources to be
accessed using identical operations.
Location transparency
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
Enables several processes to operate
concurrently using shared resources without
interference between them.
Replication transparency
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
Enables the concealment of faults, allowing
users and application programs to complete
their tasks despite the failure of hardware or
software components.
Mobility transparency
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
Allows the system to be reconfigured to
improve performance as loads vary.
Scaling transparency
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.
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