Lecture 2
Lecture 2
Introduction
Architectural Models
Software Layers
System Architectures
Client-Server
Clients and a Single Server, Multiple Servers, Proxy Servers with
Caches, Peer Model
Alternative Client-Sever models driven by:
Mobile code, mobile agents, network computers, thin clients, mobile
devices, and spontaneous networking
Design Challenges/Requirements
Fundamental Models – formal description
Interaction, failure, and security models.
Summary
2
Introduction
3
Architectural Models
Simplifies and abstracts the functions of individual
components
The placement of the components across a network of
computers – define patterns for the distribution of data and
workloads
The interrelationship between the components – i.e.,
functional roles and the patterns of communication
between them.
5
Architectural Models
peer
peer
6 peer
peer
Client Server Basic Model:
Clients invoke individual servers
result result
Server
Client
Key:
Process: Computer:
Two-tier model (classic)
client
client server
server
Three-tier (when the server, becomes a client)
client
client Server/client
Server/client server
server
Multi-tier (cascade model)
server
server
client
client Server/client
Server/client Server/client
Server/client
server
server
8
Clients and Servers
9
A service provided by multiple servers
Service
Server
Client
Server
Client
Server
10
Proxy servers (replication transparency) and
caches: Web proxy server
Client Web
server
Proxy
server
Client Web
server
11
Peer Processes: A distributed application based
on peer processes
Peer 2
Peer 1
Application
Application
Sharable Peer 3
objects
Application
Peer 4
Application
Peers 5 .... N
peer
peer
peer
peer
peer
peer
peer
peer
peer
peer
peer
peer
peer
peer
13
Variants of Client Sever Model: Mobile code
and Web applets
a) client request results in the downloading of applet code
Client Web
Applet code server
Web
Client Applet server
15
Thin clients and compute servers
Compute server
Network computer or PC
16
Presentation Outline
Introduction
Architectural Models
Software Layers
System Architectures
Client-Server
Clients and a Single Sever, Multiple Servers, Proxy Servers with
Caches, Peer Model
Alternative Client-Sever models driven by:
Mobile code, mobile agents, network computers, thin clients, mobile
devices and spontaneous networking
Design Challenges/Requirements
Fundamental Models – formal description
Interaction, Failure, and Security models.
Summary
17
Lecture Overview (II)
processes
Security Model – discusses possible threats to processes and
communication channels.
18
Interaction Model
20
Interaction Model:
Computer clocks and timing events
21
Interaction Model:
Two variants of the interaction model
22
Interaction Model:
Event Ordering
23
Real-time ordering of events
send
Z
receive receive
m3 m1 m2
A
receive receive receive
t1 t2 t3
24
Inbox of User A looks like:
26
Processes and channels
process p process q
send m receive
Communication channel
Outgoing message buffer Incoming message buffer
Class of failure
Affects Description
Fail-stop Process
Process halts and remains halted. Other processe
detect this state.
Crash Process
Process halts and remains halted. Other processe
not be able to detect this state.
Omission AChannel
message inserted in an outgoing message buffer
arrives at the other end’s incoming message buff
Send-omission A process completes send,
Process a but the
put in its outgoing message
message buffer.
is not
Process
eceive-omissionA message is put in a process’s incoming messag
buffer, but that process does not receive it.
Arbitrary Process
Process/channel
or exhibits arbitrary behaviour: it
(Byzantine)send/transmit
channel arbitrary messages at arbitrary ti
commit omissions; a process may stop or take an
incorrect step.
28
Timing failures
Class of Failure
Affects Description
Clock Process
Process’s local clock exceeds the bounds
rate of drift from real time.
Performance Process
Process exceeds the bounds on the interv
between two steps.
Performance Channel
A message’s transmission takes longer th
stated bound.
29
Masking Failures
30
Security Model
31
Protecting Objects: Objects and principals
Client
result Server
Copy of m
The enemy
m’
Process p m Process q
Communication channel
Principal A Principal B
34
Summary
35
Fundamental Models