Sei sulla pagina 1di 15

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

InstructorsGuideforCoulouris,
Figure 2.2
Clients invoke individual servers

Client invocation Server


invocation

result result
Server

Client
Key:
Process: Computer:

InstructorsGuideforCoulouris,
Figure 2.3
A distributed application based on peer processes

Peer 2

Peer 1
Application

Application

Sharable Peer 3
objects
Application

Peer 4

Application

Peers 5 .... N

InstructorsGuideforCoulouris,
Figure 2.4
A service provided by multiple servers

Service

Server

Client

Server

Client
Server

InstructorsGuideforCoulouris,
Figure 2.5
Web proxy server

Client Web
server
Proxy
server

Client Web
server

InstructorsGuideforCoulouris,
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

InstructorsGuideforCoulouris,
Figure 2.7
Thin clients and compute servers

Compute server
Network computer or PC

Thin network Application


Client Process

InstructorsGuideforCoulouris,
Figure 2.8
Real-time ordering of events

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

InstructorsGuideforCoulouris,
Figure 2.9
Processes and channels

process p process q

send m receive

Communication channel
Outgoing message buffer Incoming message buffer

InstructorsGuideforCoulouris,
Figure 2.10
Omission and arbitrary failures

Classoffailure Affects Description


Failstop Process Processhaltsandremainshalted.Otherprocessesmay
detectthisstate.
Crash Process Processhaltsandremainshalted.Otherprocessesmay
notbeabletodetectthisstate.
Omission Channel Amessageinsertedinanoutgoingmessagebuffernever
arrivesattheotherendsincomingmessagebuffer.
Sendomission Process Aprocesscompletesa send,butthemessageisnotput
initsoutgoingmessagebuffer.
ReceiveomissionProcess Amessageisputinaprocesssincomingmessage
buffer,butthatprocessdoesnotreceiveit.
Arbitrary ProcessorProcess/channelexhibitsarbitrarybehaviour:itmay
(Byzantine) channel send/transmitarbitrarymessagesatarbitrarytimes,
commitomissions;aprocessmaystoportakean
incorrectstep.

InstructorsGuideforCoulouris,
Figure 2.11
Timing failures

ClassofFailure Affects Description


Clock Process Processslocalclockexceedstheboundsonits
rateofdriftfromrealtime.
Performance Process Processexceedstheboundsontheinterval
betweentwosteps.
Performance Channel Amessagestransmissiontakeslongerthanthe
statedbound.

InstructorsGuideforCoulouris,
Figure 2.12
Objects and principals

Access rights Object


invocation

Client
result Server

Principal (user) Network Principal (server)

InstructorsGuideforCoulouris,
Figure 2.13
The enemy

Copy ofm

The enemy
m
Processp m Processq
Communication channel

InstructorsGuideforCoulouris,
Figure 2.14
Secure channels

PrincipalA PrincipalB

Processp Secure channel Processq

InstructorsGuideforCoulouris,

Potrebbero piacerti anche