Distributed System Models

Download Report

Transcript Distributed System Models

Distributed System Models
(Fundamental Model)
 Architectural Model
 Goal




Reliability
Manageability
Adaptability
Cost-effectiveness
 Service Layers


Platform
Middleware
 System Architecture



Client/Server
Proxy
Peer to Peer
 Variations on Client/Server

Mobile code and mobile agent
 Design requirements for distributed systems
Objectives of the lecture
 To provide fundamental models that reflect common
properties for distributed system designs.
 To understand the characteristics of the most common
fundamental models of distributed systems.
System models – what and why?
 System model:
 Abstract, consistent description of a relevant aspect of a distributed
system.
 A system model could address:
 What are the main entities in the system?
 How do they interact?
 What are the characteristics that affect their individual and
collective behavior?
 The purpose of a system model:
 Make explicit all assumptions.
 To make generalizations concerning what is possible or
impossible.
Distributed system models
 Architectural models:
?
 Fundamental models:
 Formal description of system properties common in all
architectural models
 Interaction, failure, security
Fundamental models
 Interaction model:
 Performance of processes and communication channels,
absence of a global clock, timing problems, …
 Failure model:
 Failures of processes and communication channels,
 reliable communication…
 We define and Classifies the faults and their effects
 Security model:
 Possible threats to processes and communication channels
 secure channels…
Interaction
model - basics
 Interaction
 Multiple server processes may cooperate to provide service
eg.DNS
 A set of peer processes may cooperate to achieve common
goal eg. Voice conferencing

Communication & Coordination
 Distributed Algorithm
 definition of the steps to be taken by each of the processes of
which DS is made of, including the transmission of messages.
 Rate at which each process proceed and the timing of transmission
of messages cannot in general be predicted.
 Each process has its own state.
 Significant factors affecting interacting processes:
 Communication performance.
 Lack of global notion of time.
Interaction model – Significant factors
 Performance of communication channels:
 Latency.

Delay between sending of a message by one process and its receipt
by another.

Transmission time


Delay network access time


Time taken to for the first of the string of bits transmitted
through a network to reach its destination.
Increase significantly with increase in network load.
Operating system communication services time

In sending and receiving messages. Varies with load on OS
 Bandwidth.

total amount of information that can be transmitted in given time
 Jitter.

Variation in the time taken to deliver a series of messages. e.g.
multimedia data
Interaction model – Signifiant factors (cont.)
 Computer clocks and timing events.
 Local processes use time service
 Different time values for processes at different systems
 Drift rate

The relative amount of time that a clock differs from a perfect
reference clock
 Computers may use radio receivers to get time from GPS
 Costly
Interaction model –
synchronous vs. asynchronous
 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.
Interaction model – synchronous vs.
asynchronous
 Asynchronous distributed systems
 – no bounds on:



Process execution speed.
Message transmission delays.
Clock drift rates.
 Web is asynchronous system
 Actual distributed systems are very often asynchronous


Sharing processors
Sharing network
Interaction model – event ordering
s end
X
receiv e
1
m1
2
Y
receiv e
4
s end
3
m2
receiv e
Phy sical
time
receiv e
s end
Z
receiv e
receiv e
m3
A
t1
t2
m1
m2
receiv e receiv e receiv e
t3
Lamport Logical Clock for time stamping
Failure Models
 Failure

System doesn’t give desired behavior


Component-level failure
System-level failure (incorrect result)
 Fault

Cause of failure (component-level)



Transient: Not repeatable
Intermittent: Repeats, but (apparently) independent of
system operations
Permanent: Exists until component repaired
 Failure Model
 How the system behaves when its not working
properly
Failure models - Types
 Omission failures.
 Arbitrary failures.
 Timing failures.
Failure model - omission failure (1)
 A process or communication channel fails to perform
actions that it is supposed to do.
 Process omission failures:
 Crash.

Use timeouts.
 Process crash is called Fail-stop



If other processes can detect certainly that Process has
been crashed.
Can be produced in synchronous systems only.
Where message delivery is guaranteed.
Failure model – omission failure (2)
 Communication omission failures:
 Communication primitives are send and receive.



Send-omission failures.
Receive-omission failures.
Channel-omission failures.


Also known as dropping message
Generally caused by


Lack of buffer space at receiving end or intervening gateway
Network transmission error, detected by a checksum
process p
process q
send m
receiv e
Communic ation c hannel
Outgoing mess age buffer
Incoming mes sage buffer
Failure model – Arbitrary failure
 Arbitrary or Byzantine failures
 Describe the worst possible failure semantics, in which any
type of error may occur

process/channel exhibits arbitrary behavior
 Arbitrary Process failure
Process may omit a step/s or Perform uninterested step/s
 Arbitrary Communication Failure
 Messages contents can be corrupted, a duplicate message can
be sent or message can be lost on its way
 Rare and can be detected by checksum or message numbering

Failure model – overview of omission failures
Class of failure Affects Description
Process halts and remains halted. Other processes may
not be able to detect this state.
Fail-stop
Process Process halts and remains halted. Other processes may
detect this state.
Omission
Channel A message inserted in an outgoing message buffer never
arrives at the other end’s incoming message buffer.
Send-omission Process A process completes send,but
a
the message is not put
in its outgoing message buffer.
Receive-omissionProcess A message is put in a process’s incoming message
buffer, but that process does not receive it.
Arbitrary
Process orProcess/channel exhibits arbitrary behaviour: it may
(Byzantine)
channel send/transmit arbitrary messages at arbitrary times,
commit omissions; a process may stop or take an
incorrect step.
Crash
Process
Failure model - timing failures
 Applicable in synchronous distributed systems.
 Time limits
 Process execution time
 Message delivery time
 Clock drift rate
Class
Affects
Description
Performance
Process
Performance
Channel
Process exceeds the bounds on the interval
between two steps.
A message’s transmission takes longer than the
stated bound.
Clock
Process
Process’s local clock exceeds the bounds on its
rate of drift from real time.
 Real Time Operating System
Provides timing guarantee
 Multimedia

Failure model - remedies
 Masking failures:
 A knowledge of the failure characteristic of a component can enable
us to develop a reliable service which use such components which
can fail.
 Converting failure, retransmit message, replication, restoring
information
 Reliability of one-to-one communication:
 Correct message delivery in presence of failure
 Validity: Any message in the outgoing message buffer is
eventually delivered to the incoming message buffer.
 Integrity: The message received is identical to one sent, and
no messages are delivered twice.
Security model - basics
 The security of a distributed system:
 securing the processes and the channels
 protecting the objects against unauthorized access.
 Protecting objects.
Ac cess right s
inv oc ation
Client
result
Principal (user)
Netw ork
Server
Principal (s erv er)
•Access rights:
• Who is allowed to perform operation
•Principal:
• Authority associated with each invocation and each result – The
behalf on which it is issued
Object
Security model – Securing processes
 Securing processes and their interactions.
 Processes interact by sending messages
 Servers and Peers expose their interfaces
Security model – enemies and threats
 The enemy
 capable of sending any message to any process and reading or
copying any message between a pair of processes.
 Threats to processes.
generate a message with a forged source IP address
 Servers.
 Clients.
 Threats to communication channels.
copy, alter or inject messages as they travel across the network


Privacy
Integrity
Security model - the enemy
Copy ofm
The enemy
Processp
m’
m
Processq
Communication channel
Security model – defeating security threats
 Shared secret
 Private information of two users
 Encryption
 Process of scrambling messages to hide the contents
 Cryptography
 The science of keeping messages secure
 based on encryption algorithms that use secret keys
 Authentication.
 include in a message an encrypted portion to guarantee its
authenticity
Security model - Secure channels
 Secure channels.
 Encryption and authentication are used to build secure
channels as service layers on top of the exiting
communication services
 Characteristics
 Identity of the processes
 Privacy and integrity
 Physical or logical time
PrincipalB
PrincipalA
Processp
Secure channel
Processq
Security model – Other possible threats
 Denial of service
 attack by making excessive and pointless invocations
resulting in overloading of physical resource
 Mobile code
 Can play Torjan Horse role
 e.g. e-mail attachment, java applets
Summary
 Models in general.
 Architectural models:
 Fundamental models:
 Interaction.
 Failure.
 Security.