Lecture_02 - System Models
Lecture_02 - System Models
! Overall goal is to ensure that the structure will meet present and
likely future demands upon it
Mi ddleware
Platform
result invocation
Server
Client
Key:
Process: Computer:
Peer 2
Peer 1
Applica tion
Applica tion
Peer 4
Applica tion
Peers 5 .... N
! To that:
! Thin clients
♦ Low-cost computers with limited hardware resources that are
simple to manage
♦ Hold minimum software locally; download OS and application
SW from server
Serv ice
Serv er
Client
Serv er
Client
Serv er
Client Web
server
Prox y
server
Client Web
server
Client Web
Applet code server
Web
Client Applet server
e.g., Javascript
AJAX
Cloud and Distributed Computing
Thin clients and compute servers
Compute server
Network computer or PC
Terminals
X11;
Virtual Network Computing (VNC);
Remote desktop protocols
Cloud computing
Cloud and Distributed Computing
Design Requirements for Distributed Architectures
! Dependability
♦ Crucial for safety-critical systems; correctness, security, fault
tolerance
Cloud and Distributed Computing
Fundamental models
! Purpose of a model:
♦ To make explicit all relevant assumptions about the systems
♦ To make generalisations about what is possible or impossible, given
those assumptions (can then formally prove it)
Cloud and Distributed Computing
Fundamental models: Interaction
♦ In real-time, X’s message was sent first; Y reads it and replies; Z reads
both X’s message and Y’s reply and then sends another reply, which
references both X’s and Y’s messages
m2
send receive
Physical
Y time
receive
send
Z
receive receive
m3 m1 m2
A
receive receive receive
t1 t2 t3
Cloud and Distributed Computing
Fundamental models: Failure
process p process q
! Arbitrary failures
♦ An arbitrary (or Byzantine) process failure is one in which the
process omits intended processing steps or takes unintended
processing steps
! Masking failures
♦ Possible to construct reliable services from components that
exhibit failures
♦ A service masks a failure by hiding it altogether or by
converting it into a more acceptable type of failure
♦ E.g., checksums mask corrupted messages: convert and
arbitrary failure to an omission failure
Client
result Serv er
Copy of m
The enemy
m’
Process p m Process q
Communication channel
! Denial of service
♦ Make excessive and pointless invocations on services or message
transmissions in a network
♦ Results in overload on physical resources; e.g. processing capacity,
network bandwidth
! Mobile code
♦ A problem for any process that receives and executes program code
from elsewhere
♦ Such code may easily play a Trojan horse role (modifies resources
available to the host node, but not to the originator of the code)
! Peer-to-peer model
♦ All processes play similar roles; exploit large number of available resources
! Fundamental models
♦ Interaction: concerned with performance of processes and communication
channels and absence of global clocks
♦ Failure: classifies failures of processes and basic communication
channels
♦ Security: identifies possible threats to processes and communication
channels
Cloud and Distributed Computing