CSC423 - Lec4 - Distributed and Parallel ComputerSystems
CSC423 - Lec4 - Distributed and Parallel ComputerSystems
CSC 423
Lecture 4
Client-Sever Models & Fundamental Models
Instructor
Dr / Ayman Soliman
➢ Contents
➢ Alternative Client-Sever models driven by:
• Mobile code, mobile agents, network computers, thin clients, mobile devices and spontaneous networking
• Design Challenges/Requirements
• Interaction model
• Failure model
• Security model
➢ Summary
Client Web
server
Applet code
Web
Client Applet server
➢ Mobile codes such as Applets are potential security threat, so the browser gives applets limited
access to local resources (e.g., NO access to local/user file system).
➢ Applications are run locally but the files are managed by a remote
file server.
➢ Since all the applications data and code are stored by a file server,
the users may migrate from one network computer to another.
• Mobile code, mobile agents, network computers, thin clients, mobile devices and spontaneous networking
• Design Challenges/Requirements
• Interaction model
• Failure model
• Security model
➢ Summary
• Mobile code, mobile agents, network computers, thin clients, mobile devices and spontaneous networking
• Design Challenges/Requirements
• Interaction model
• Failure model
• Security model
➢ Summary
o Streams
➢ However, even if two processes read their clock at the same time,
their local clocks may supply different time.
o This is because computer clock drift from perfect time and their
drift rates differ from one another.
send
Z
receive receive
m3 m1 m2
A
receive receive receive
t1 t2 t3
➢ Types of failures:
send m receive
Communication channel
Outgoing message buffer Incoming message buffer
send m receive
Communication channel
Outgoing message buffer Incoming message buffer
Crash Process Process halts and remains halted. Other processes may not be able to
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 a send but the message is not put in its outgoing
message buffer.
Receive-omission Process A message is put in a process’s incoming message buffer, but that process
does not receive it.
Arbitrary Process Process/channel exhibits arbitrary behaviour: it may send/transmit
(Byzantine) or channel arbitrary messages at arbitrary times, a process may stop or take an
incorrect step.
Clock Process Process’s local clock exceeds the bounds on its rate of drift
from real time.
Performance Process Process exceeds the bounds on the interval between two steps.
Performance Channel A message’s transmission takes longer than the stated bound.
access.
Client
result Server
The enemy
m’
Process p m Process q
Communication channel
Principal A Principal B
• Mobile code, mobile agents, network computers, thin clients, mobile devices and spontaneous networking
• Design Challenges/Requirements
• Interaction model
• Failure model
• Security model
➢ Summary