UNIT 1-System Models Distributed Computing
UNIT 1-System Models Distributed Computing
UNIT 1-System Models Distributed Computing
Architectural Model
Fundamental Models
Introduction
DC - UNIT 1 2
Introduction
DC - UNIT 1 3
Architectural models
DC - UNIT 1 4
Building a Architectural Model
Middlew are
Operating sy stem
Platform
DC - UNIT 1 7
Software Layers (Layer Architecture)
• Middleware (continued):
It is represented by processes or objects that interact with
each other to implement communication and resource-
sharing support for distributed applications.
It also provides essential support for distributed application
development and is likely to offer greater support in the
future.
Examples – Remote Procedure Call (RPC), Object-oriented
middleware products and standards - Common Object
Request Broker Architecture (CORBA), JAVA Remote
Object Invocation (RMI), Distributed Component Object
Model (DCOM), Reference Model for Open Distributed
Processing (RM-ODP).
DC - UNIT 1 8
System Architectures (Process Placement)
result result
Server
Client
Key:
Proc es s: Computer:
DC - UNIT 1 10
Figure 2.3
A service provided by multiple servers
Service
Server
Client
Server
Client
Server
DC - UNIT 1 11
System Architectures (Process Placement)
DC - UNIT 1 12
Figure 2.4
Web proxy server
Client Web
s erv er
Prox y
s erv er
Client Web
s erv er
DC - UNIT 1 13
SYSTEM MODE
System Architectures
Peer-to-Peer model
All of the processes play similar roles,
interacting cooperatively as peers to perform a
distributed activities or computations
without any distinction between clients and
servers or the computers that they run on.
DC - UNIT 1 14
Figure 2.5
A distributed application based on peer processes
Coordination Coordination
c ode c ode
Applic ation
Coordination
c ode
DC - UNIT 1 15
SYSTEM MODE
System Architectures
Peer 2
Peer 1
Application
Application
Sharable Peer 3
objects
Application
Peer 4
Application
Peers 5 .... N
DC - UNIT 1 17
Variations on the client-server model
DC - UNIT 1 18
SYSTEM MODE
Variants of Client Sever Model
Mobile code
Applets are a well-known and widely used
example of mobile code.
Applets downloaded to clients give good
interactive response
Mobile codes such as Applets are a potential
security threat to the local resources in the
destination computer.
DC - UNIT 1 19
SYSTEM MODE
Variants of Client Sever Model
Browsers give applets limited access to local
resources.
For example, by providing no access to local
user file system.
E.g. a stockbroker might provide a customized
service to notify customers of changes in the
prices of shares;
to use the service, each customer would have to
download a special applet that receives updates
from the broker’s server, display them to the user
DC - UNIT 1 20
SYSTEM MODE
Variants of Client Sever Model
a) client request res ults in the dow nloading of applet c ode
Client Web
Applet code s erv er
Web
Client Applet s erv er
Web applets
DC - UNIT 1 21
SYSTEM MODE
Variants of Client Sever Model
Mobile agents
A running program (code and data) that travels
from one computer to another in a network
carrying out of a task, usually on behalf of
some other process.
Examples of the tasks that can be done by
mobile agents are:
To collecting information.
To install and maintain software maintain on the
computers within an organization.
To compare the prices of products from a number
of vendors.
DC - UNIT 1 22
SYSTEM MODEL
Variants of Client Sever Model
Advantage:
- Reduce communication cost and time by replacing
remote invocation with local ones.
Disadvantages:
Limited applicability.
Security threat of the visited sites resources.
DC - UNIT 1 23
SYSTEM MODE
Variants of Client Sever Model
Network computers
It downloads its operating system and any
application software needed by the user from
a remote file server.
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
DC - UNIT 1 24
SYSTEM MODE
Variants of Client Sever Model
Thin clients
A software layer that supports a window-based
user interface on a computer that is local to
the user while executing application programs
on a remote computer.
DC - UNIT 1 25
SYSTEM MODE
Variants of Client Sever Model
DC - UNIT 1 26
Figure 2.7
Thin clients and compute servers
Compute server
Network computer or PC
DC - UNIT 1 27
SYSTEM MODE
Variants of Client Sever Model
Thin client implementations
Thin client systems are simple in concept and
their implementation is straightforward in some
environment.
For example, most variants of UNIX include
the X-11 window system.
DC - UNIT 1 28
Variants of Client Sever Model
The X-11 window system
The X-11 window system is a process that
manages the display and interactive input
devices (keyboard, mouse) of the computer on
which it runs.
X-11 provides an extensive library of
procedures (the X-11 protocol) for displaying
and modifying graphical objects in windows as
well as the creation and manipulation of the
windows themselves.
The X-11 system is referred to as a window
server process.
DC - UNIT 1 29
Variants of Client Sever Model
The clients of X-11 server are the application
programs that the user is currently interacting
with.
The client programs communicate with the
server by invoking operations in the X-11
protocol.
These include operations to draw text and
graphical objects in windows.
DC - UNIT 1 30
Thin clients
Advantage:
Good interactive response since.
Does not suffer from the delays or variability of
bandwidth associated with network
communication.
Disadvantage:
Security threat to the local resources in the
destination computer.
DC - UNIT 1 31
Variants of Client Sever Model
Mobile devices and spontaneous
interoperation
Mobile devices are hardware computing
components that move between physical
locations and thus networks, carrying software
component with them.
Connects both mobile & non mobile devices to
network
Many of these devices are capable of wireless
networking ranges of hundreds of meters such
as WiFi (IEEE 802.11), or about 10 meters
such as Bluetooth.
DC - UNIT 1 32
Variants of Client Sever Model
Laptops
Personal digital assistants (PDAs)
Mobile phones
Digital cameras
Wearable computers such as smart watches
DC - UNIT 1 33
Mobile devices and Spontaneous networking
DC - UNIT 1 34
Spontaneous networking in a hotel
Music
service Alarm
gateway service
Internet
Hotel wireless
network
Discovery
service
Camera
TV/PC Guests
Laptop PDA
devices
DC - UNIT 1 35
Spontaneous networking in a hotel
DC - UNIT 1 36
Features of Spontaneous Networking
DC - UNIT 1 37
Features of Spontaneous Networking
DC - UNIT 1 38
Interface and Objects
• The set of functions available for invocation in a
process is specified by one or more interface
definitions.
• Each server process is seen as a single entity with a
fixed interface defining the functions that can be
invoked in it.
• Many objects can be in a server process,references
to them are passed to other processes
• Methods can be accessed by remote invocation
DC - UNIT 1 39
Design Issues
• Performance issues:
limited processing and communication capacities of
computers and networks
Responsiveness, Throughput, Balancing computational
loads
• Quality of service - Reliability, Security,
Performance, Adaptability
• Use of caching and replication - Web-caching
protocol
• Dependability issues - Correctness, Security, Fault
tolerance
DC - UNIT 1 40
Architectures Design Requirements
Performance Issues:
Considered under the following factors:
Responsiveness:
• Fast and consistent response time is important for the users of
interactive applications.
• Response speed is determined by the load and performance of
the server and the network and the delay in all the involved
software components.
Throughput:
• The rate at which work is done for all users in a distributed
system.
Load balancing:
• Enable applications and service processes to proceed
concurrently without competing for the same resources.
• Exploit available processing resources.
DC - UNIT 1 41
Architectures Design Requirements
Quality of Service:
Main system properties that affect the service quality are:
Reliability: related to failure fundamental model (discussed later).
Performance: ability to meet timeliness guarantees.
Security: related to security fundamental model (discussed later).
Adaptability: ability to meet changing resource availability and
system configurations.
Dependability issues:
A requirement in most application domains.
Achieved by:
Fault tolerance: continuing to function in the presence of failures.
Security: locate sensitive data only in secure computers.
Correctness of distributed concurrent programs: research topic.
DC - UNIT 1 42
Fundamental models
Purpose of model:
• To make explicit all assumptions about system
• Generalizations of what is possible /not possible
DC - UNIT 1 43
Fundamental models
DC - UNIT 1 44
Interaction model
DC - UNIT 1 45
Interaction models
• Processes interact through message passing to
solve a problem.
• Factors affect interacting processes:
Performance of the communication channels
Synchronization of the clocks
• Communication performance:
Latency – delay between the start of a message’s
transmission from one process and the beginning of its
receipt by another
Bandwidth – total amount of information transmitted in a
given time
Jitter – variation in time taken to deliver a series of
messages.
DC - UNIT 1 46
Clocks and event ordering
DC - UNIT 1 47
Clocks and event ordering
DC - UNIT 1 48
Synchronous Distributed System
DC - UNIT 1 49
Asynchronous Distributed System
• No bounds on:
Time for each processing step
Time to transmit each message
Clock drift for each process.
• This exactly models the Internet.
• Actual distributed systems are very often
asynchronous because of the need for processes to
share the processors and for communication
channels to share the network.
• Some design problems can be solved when some
time constraints are used. For example, multimedia.
DC - UNIT 1 50
Event ordering
DC - UNIT 1 51
Figure 2.9
Real-time ordering of events
s end
Z
receiv e receiv e
m3 m1 m2
A
receiv e receiv e receiv e
t1 t2 t3
DC - UNIT 1 52
Logical time
DC - UNIT 1 53
Failure models
proc es sp proc es s q
send m receiv e
DC - UNIT 1 55
Failure models
• Omission failures
Process omission failures: crash - halt
Communication omission failures does not transport a
message (caused by lack of buffer space): send omission
failure, receive omission failure, channel omission failure
• Arbitrary failures (Fig 2.11)
the worst failure
It arbitrarily omits intended processing steps or takes
unintended processing steps can not be detected
• Timing failures (Fig 2.12) occur only in synchronous
distributed systems (limits on execution time).
DC - UNIT 1 56
Figure 2.11
Omission and arbitrary failures
DC - UNIT 1 57
Figure 2.12
Timing failures
DC - UNIT 1 58
Failure Models
DC - UNIT 1 59
Reliable communication
DC - UNIT 1 61
Security model
Client
result Server
DC - UNIT 1 63
Figure 2.14
The enemy
Copy of m
The enemy
m’
Process p m Process q
Communication channel
DC - UNIT 1 64
Threats
DC - UNIT 1 65
Secure Channel
Principal A Principal B
DC - UNIT 1 67
Other Threats
DC - UNIT 1 68
Summary
DC - UNIT 1 69
Summary
DC - UNIT 1 70