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. 3 ©Pearson Education 2001 1
Figure 2.2 Clients invoke individual servers
Client invocation Server
invocation
result result
Server
Client
Key:
Process: Computer:
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 2
Figure 2.3 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. 3 ©Pearson Education 2001 3
Figure 2.4 Web proxy server
Client Web
server
Proxy
server
Client Web
server
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 4
Figure 2.5 A distributed application based on peer processes
Application Application
Coordination Coordination
code code
Application
Coordination
code
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 5
Figure 2.6 Web applets
a) client request results in the downloading of applet code
Client Web
server
Applet code
b) client interacts with the applet
Web
Client Applet server
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 6
Figure 2.7 Thin clients and compute servers
Compute server
Network computer or PC
Thin network Application
Client Process
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 7
Figure 2.8 Spontaneous networking in a hotel
Music
service Alarm
gateway service
Internet
Hotel wireless
network
Discovery
service
Camera
TV/PC Guest’s
Laptop PDA
devices
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 8
Figure 2.9 Real-time ordering of event.
send receive receive
X
1 m1 4
m2
send
2 3 receive Physical
Y
receive time
send
Z
receive receive
m3 m1 m2
A
receive receive receive
t1 t2 t3
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 9
Figure 2.10 Processes and channels
process p process q
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. 3 ©Pearson Education 2001 10
Figure 2.11 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 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- Process A message is put in a process’s incoming message
omission buffer, but that process does not receive it.
Arbitrary Process Process/channel exhibits arbitrary behaviour: it may
(Byzantine) or send/transmit arbitrary messages at arbitrary times,
channel 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. 3 ©Pearson Education 2001 11
Figure 2.12 Timing failures
Class of Failure Affects Description
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.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 12
Figure 2.13 Objects and principals
Access rights Object
invocation
Client
result Server
Principal (user) Network Principal (server)
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 13
Figure 2.14 The enemy
Copy of m
The enemy
m’
Process p m Process q
Communication channel
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 14
Figure 2.15 Secure channels
Principal A Principal B
Process p Secure channel Process q
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 ©Pearson Education 2001 15