Se342: Distributed Computing: Lecture # 03-b Fundamental Models
Se342: Distributed Computing: Lecture # 03-b Fundamental Models
Lecture # 03-b
Fundamental Models
Outline
2
Interaction Model
Failure Model
Security Model
Interaction Model
3
Each computer in a distributed system has its own internal clock, which can
be used by local processes to obtain the value of the current time.
Two processes running on different computers can each associate
timestamps with their events
However, even if the two processes read their clocks at the same time, their
local clocks may supply different time values. This is because computer
clocks drift from perfect time and, more importantly, their drift rates differ from
one another.
clock drift rate – rate at which a computer clock deviates from a perfect
reference clock
Several approaches to correcting the times on computer clocks
get time readings from the Global Positioning System
GPS can send timing messages to other computers in its network (variable message delays)
Classification of Clock Based on Drif Rate
7
Variants of Interaction Model
8
A process performs send by inserting the message m in outgoing message buffer and
performs a receive by taking m from its incoming message buffer
The communication channel produces an omission failure if it does not transport a
message from outgoing buffer to incoming message buffer.
This is known as ‘dropping messages’ and is generally caused by lack of buffer space at
the receiver or at an intervening gateway, or by a network transmission error, detected by
a checksum carried with the message data.
send-omission failures – loss of messages between the sending process and the outgoing message
buffer
receive-omission failures – loss of messages between the incoming message buffer and the
receiving process
channel omission failures – loss of messages in between
Benign failures
include omission as well as timing and performance failures
Communication Omission Failures
15
Arbitrary Failures
16
Multiple servers that hold replicas of data can continue to provide a service
when one of them crashes.
Omission failures can be hidden by using a protocol that retransmits
messages that do not arrive at their destination.
Process crashes may be masked, by replacing the process and
restoring its memory from information stored on disk by its predecessor.
Reliability of one-to-one communication
20
The server is responsible for verifying the identity of the principal behind
each invocation and checking their access rights.
The client may check the identity of the principal behind the server to
ensure that the result comes from the required server.
Securing Processes and their Interaction
24