Distributed System
Models
1
Distributed System Models
Model: “a simplified representation of a
system or phenomenon, as in the sciences
or economics, with any hypotheses
required to describe the system or explain
the phenomenon, often mathematically.”
2
System Models
Architectural Model defines the way in which the
components of the system are placed and how they interact
with one another and the way in which they are mapped
onto the underlying network of computers.
Fundamental Models:
Interaction model deals with communication details
among the components and their timing and
performance details.
Failure model gives specification of faults and defines
reliable communication and correct processes.
Security model specifies possible threats and defines
the concept of secure channels.
3
Architectural Model
Concerned with placement of its parts and
relationship among them.
Example: client-server model, peer-to-peer model
Abstracts the functions of the individual
components.
Defines patterns for distribution of data and
workload.
Defines patterns of communication among the
components.
Example: Server process, client process and peer
process and protocols for communication among
processes; Client/server model and its variations.
4
service layers in distributed
systems
Applications, services
Middleware
Operating system
Platform
Computer and network hardware
5
Middleware
Layer of software whose purpose is to mask
the heterogeneity and to provide a convenient
programming model for application
programmers.
Middleware supports such abstractions as
remote method invocation, group
communications, event notification, replication
of shared data, real-time data streaming.
Examples: Web services.
6
Clients invoke individual
servers
Client invocation invocation Server
result
Server
result 1. File server,
2. Web crawler
Web server
Client
Key:
Process: Computer:
browser,
web client
7
A service provided by
multiple servers
Service
Server
Client
Server
Client
Server
8
Web Proxy Server
Client Web
server
Proxy
server
Client Web
server
Proxy servers are used to provide increased
Availability and performance. They also play a major role i
Firewall based security. 9
Based on
Peer Processes
Application Application
Coordination Coordination
code code
distributed Application
Whiteboard Coordination
Application; code
Music sharing
10
Web Applets (Mobile Codes)
a) client request results in the downloading of applet code
Client Web
Applet code server
b) client interacts with the applet
Web
Client Applet server
Form Applet: A form applet displays data in a data entry form
List Applet: A list applet allows the simultaneous display of data from multiple
11
records
Interaction Models
Interaction model are for time handling
i. e. for process execution, message
delivery, clock time etc.
Within address space (using path as
addresses)
Socket based communication: connection-
oriented, connection-less
Socket is an end-point of communication
12
Two variants of the Interaction
Model-1
1. Synchronous Distributed Systems
The time to execute each step of a
process has known lower and
upper bounds.
Each message transmitted over a channel
is received within a known bounded time.
Each process has a local clock whose drift
rate from real time has a known bound.
13
Two variants of the Interaction
Model-2
1. Asynchronous Distributed Systems
The time to execute each step of a process
can take arbitrarily long.
Each message transmitted over a channel
can be received after an arbitrarily long
time.
Each process has a local clock whose drift
rate from real time can be arbitrarily large.
14
Ordering of Events (Email)
Failure Model-1
Defines the way in which failures may occur in
distributed systems
Provides a basis for understanding the effects of failures
Enables construction of a new service that hides the
faulty behavior of the service.
example: TCP on top of IP
– TCP: reliable byte-stream service
– IP: unreliable datagram service
16
Failure Model-2
TCP is a more sophisticated transport protocol is one that offers
a reliable connection oriented byte stream service. Such service
has proven useful that there is no worry about missing or
reordered data.
TCP guarantees the reliable in order delivery of a stream of
bytes.
It is a full duplex protocol meaning that each TCP connection
supports a pair of byte streams, one flowing each direction.
17
Failure Model-3
It also includes a flow control mechanism for each of these byte
streams that allow the receiver to limit how much data the sender can
transmit at a given time.
Datagram service is often compared to a mail delivery service; the
user only provides the destination address, but receives no
guarantee of delivery, and no confirmation upon successful
delivery. Datagram service is therefore considered unreliable.
18
Specification of Failure
Model
Specification of failure models requires a
way to describe failures.
Omission Failures
Arbitrary Failures
Timing Failures
19
Omission Failure-1
A process or channel fails to perform
actions that it is supposed to do
20
Omission Failure-2
21
Omission Failure-3
Usual assumption that a server has “fail-stop” failure
model.
The server crashes in a “nice” way
– it halts completely
– other servers may detect it has failed
* It is difficult to detect omission failures for
processes in an asynchronous system
22
Arbitrary Failure (Byzantine
Failures)
Process or channel may exhibit arbitrary behavior when
failing.
send/receive arbitrary messages at arbitrary intervals
a process may halt or perform “faulty” steps
a process may omit to respond now and then
23
Arbitrary Failure (Byzantine
Failures)
By adopting a byzantine failure model, we can attempt to
make systems that are “ultra-reliable” (handles HW failures,
and provide guaranteed response times)
Control systems in air planes
Robot control systems
Control systems for nuclear power plants
24
Timing Failure
Applicable in synchronous distributed systems.
responses that are not available to clients in a specified time interval
timing guarantees requires guaranteed access to resources when they are
needed
Examples: control and monitoring systems
25
Security Model-1
The security of a distributed system can be achieved by securing
the processes and the channels used for their interactions.
Cryptography
Authentication
Secure channels
26
Security Model-2
Cryptography is the science of keeping messages secure.
Encryption is the process of scrambling a message in such a way as
to hide its contents.
Modern cryptography is based on encryption algorithms that use
secret keys – large numbers that are difficult to guess – to
transform data in a manner that can only be reversed with
knowledge of the corresponding decryption key.
27
Security Model-3
Authentication is the process of recognizing a user's identity.
It is the mechanism of associating an incoming request with a set of
identifying credentials
Passwords
Personal Identification Number (PIN)
Biometrics
Fingerprints
Voice Recognition
28
Security Model-4
A Secure Channel ensures the privacy and integrity
(protection against tampering) of the data transmitted
across it.
A secure channel is a communication channel connecting a
pair of processes, each of which acts on behalf of a principal.
Encryption and authentication are used to build secure
channels as a service layer on top of existing communication
services.
29
Security Model-5
30