0% found this document useful (0 votes)
2 views31 pages

Chapter 2 Slides

Chapter 2 of the document discusses architectural models in distributed systems, focusing on fundamental models such as interaction, failure, and security models, as well as architectural styles like client-server and peer-to-peer. The client-server model is highlighted for its centralized data management and efficiency, while the peer-to-peer model is noted for its cost-effectiveness and independence of nodes. The chapter also covers various types of failures and security threats that system designers must consider.

Uploaded by

sarkarmayuk2002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views31 pages

Chapter 2 Slides

Chapter 2 of the document discusses architectural models in distributed systems, focusing on fundamental models such as interaction, failure, and security models, as well as architectural styles like client-server and peer-to-peer. The client-server model is highlighted for its centralized data management and efficiency, while the peer-to-peer model is noted for its cost-effectiveness and independence of nodes. The chapter also covers various types of failures and security threats that system designers must consider.

Uploaded by

sarkarmayuk2002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Slides for Chapter 2:

Architectural Models

From Coulouris, Dollimore, Kindberg and


Blair
Distributed Systems:
Concepts and Design
Edition 5, © Addison-Wesley 2012
Figure 2.1
Models

1. Fundamental Models: based on some fundamental properties. Examples-


• Interaction Models
• Failure Model
• Security Model
2. Architectural Models: based on architectural style. Examples-
• Client Server
• Peer-to-peer

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
2
Figure 2.1
Generations of distributed systems

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
3
Figure 2.2
Communicating entities and communication paradigms

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
4
Figure 2
Architectural Model

Architectural Models deals with organization of components across the network of


computers and their relationships.
Client Server
Peer to Peer

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
5
Figure 2.3
Client Server Model

• Client Server Model is the most popular and most widely used
distributed system architecture.
• Client Server architecture is also known as request-response
architecture.
• In this architectural model the client makes a request to the server
and the server will fulfill the response.
• Client and server roles are assigned and changeable.

Advantages of client server model:


• Centralized system where all the data can be stored in a single
place.
• Requires less maintenance cost and entire system is maintained by
the server.
• Increases the speed of the resource sharing
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
6
Figure 2.3
Clients invoke individual servers

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.4
Peer to Peer Model

• Unlike client-server model, Peer to Peer Model (P2P) does not


distinguish between client and server instead each node can either be
a client or server depending on whether the node is requesting or
providing the services.

Advantages of peer to peer models:


•Setup and maintenance of network is easy.
•Cost efficient as each node in this model acts as a server.
•Each node is independent of each other so if one node stops
working it won't affect other node.

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
8
Figure 2.4a
Peer-to-peer architecture

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.4b
A service provided by multiple servers

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.5
Web proxy server

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.6
Web applets

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.7
Software and hardware service layers in distributed systems

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.8
Two-tier and three-tier architectures

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
14
Figure 2.9
AJAX example: soccer score updates

new Ajax.Request('scores.php?
game=Arsenal:Liverpool’,
{onSuccess: updateScore});
function updateScore(request) {
.....
( request contains the state of the Ajax request
including the returned result.
The result is parsed to obtain some text giving the
score, which is used to update the relevant portion
of the current page.)
.....
}
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
15 © Pearson Education 2012
Figure 2.10
Thin clients and compute servers

Compute server
Network computer or PC

Thin network Application


Client Process

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.11
The web service architectural pattern

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
17
Figure 2.12
Categories of middleware

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
18
Figure 2.13
Real-time ordering of events

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.14
Processes and channels

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.4
Fundamental Models

• Interaction Models
• Failure Models
• Security Models

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
21
Figure 2.5
Interaction Models Models

• Computation occurs within the process


•The processes interact within the process interact by passing
messages in
•Communication
•Coordination
•Interaction model reflects the facts that communication takes place
with delay
•Performance:
•Latency
•Bandwidth
•Jitter
•Two variants of the interaction model
•Synchronous
•Asynchronous
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
22
Figure 2.5
Interaction Models Models

• Computation occurs within the process


•The processes interact within the process interact by passing
messages in
•Communication
•Coordination
•Interaction model reflects the facts that communication takes place
with delay
•Performance:
•Latency
•Bandwidth
•Jitter
•Two variants of the interaction model
•Synchronous
•Asynchronous
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
23
Figure 2.5
Interaction Models contd…

•Synchronous Distributed System has bounds on:


• Process is executing in a known lower/upper bound time
• Message is received within a known bound time
• known local clock drifts rates
•Asynchronous Distributed System has no bounds on :
• Process execution speed
• Message transmission delay
• Clock drift rate

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
24
Figure 2.5
Faliure Models

• Failure model defines & classifies the faults


• It is important to understand the kinds of failure that may occur in a
system Distributed System has bounds on:
•Types:

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
25
Figure 2.15
Types of Failure Models: Omission and arbitrary failures

Class of failure Affects Description


Fail-stop ProcessProcess 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-omission Process 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, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.11
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, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.5
Security Models

• There are several potential threats a system designer need to be


aware of
•Threats to process: messages sent with fake identity
•Threats to communication channels: channel is spoofed
• Denial of service: channel or process is made unavailable

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
28
Figure 2.17
Objects and principals

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.18
The enemy

Copy of m

The enemy
m’
Process p m Process q
Communication channel

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.19
Secure channels

Principal A Principal B

Process p Secure channel Process q

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012

You might also like