Pearson Education 2005. Figure 2.1. Software and hardware service layers in
distributed systems. Applications, services. Computer and network hardware.
Slides for Chapter 2: Architectural Models
From Coulouris, Dollimore and Kindberg
Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005
Figure 2.1 Software and hardware service layers in distributed systems
Applications, services
Middleware
Operating system Platform Computer and network hardware Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.2 Clients invoke individual servers
Client
invocation result
Client
Server
invocation
Server
result
Key: Process:
Computer:
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.3 A distributed application based on peer processes Peer 2 Peer 1
Application
Application Peer 3
Sharable objects
Application
Peer 4 Application Peers 5 .... N
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.4 A service provided by multiple servers Service
Server Client
Server
Client Server
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.5 Web proxy server
Web server
Client Proxy server
Web server
Client
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.6 Web applets
a) client request results in the downloading of applet code
Client Applet code
Web server
b) client interacts with the applet
Client
Applet
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Web server
Figure 2.7 Thin clients and compute servers
Compute server
Network computer or PC Thin Client
network
Application Process
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.8 Real-time ordering of events
send X
1
m1 2 receive
Y
receive
receive 4 send 3
m2
receive
Physical time
send
Z
receive receive m3
A t1
t2
m1
m2
receivereceivereceive t3
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.9 Processes and channels
processp
processq
send m
receive
Communication channel Outgoing message buffer
Incoming message buffer
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.10 Omission and arbitrary failures
Class of failure Affects Description Fail-stop Process Process halts and remains halted. Other processes may detect this state. Crash Process Process halts and remains halted. Other processes may not be able to detect this state. Omission ChannelA message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer. Send-omission Process A process completes asend,but 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 or Process/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. Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.11 Timing failures
Class of Failure Affects Clock Process Performance
Process
Performance
Channel
Description Process’s local clock exceeds the bounds on its rate of drift from real time. Process exceeds the bounds on the interval between two steps. A message’s transmission takes longer than the stated bound.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.12 Objects and principals
Access rights invocation Client result
Principal (user)
Network
Server
Principal (server)
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Object
Figure 2.13 The enemy
Copy ofm The enemy Processp
m’
m
Processq Communication channel
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005
Figure 2.14 Secure channels
Principal B
Principal A Processp
Secure channel
Processq
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005