From Coulouris, Dollimore, Kindberg and
Blair
Distributed Systems:
Concepts and Design
Edition 5, © Addison-Wesley 2012
Slides for Chapter 2:
Architectural Models
2
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 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
3
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.1
Generations of distributed systems
4
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.2
Communicating entities and communication paradigms
5
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2
Architectural Model
Architectural Models deals with organization of components across the network of
computers and their relationships.
Client Server
Peer to Peer
6
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
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
Figure 2.3
Clients invoke individual servers
8
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
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
14
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
15
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
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.)
.....
} 15
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.10
Thin clients and compute servers
Thin
Client
Application
Process
Network computer or PC
Compute server
network
17
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
18
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
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
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
21
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
22
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
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
23
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
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
24
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
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
25
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
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
Figure 2.15
Types of Failure Models: 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-omission Process A message is put in a process’s incoming message
buffer, but that process does not receive it.
Arbitrary
(Byzantine)
Process or
channel
Process/channel exhibits arbitrary behaviour: it may
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.
28
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
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
Communication channel
Copy of m
Process p Process q
m
The enemy
m’
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
Secure channel
Process p Process q
Principal B

Distributed System Presentation Chapter 2

  • 1.
    From Coulouris, Dollimore,Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 2: Architectural Models
  • 2.
    2 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 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
  • 3.
    3 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.1 Generations of distributed systems
  • 4.
    4 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.2 Communicating entities and communication paradigms
  • 5.
    5 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2 Architectural Model Architectural Models deals with organization of components across the network of computers and their relationships. Client Server Peer to Peer
  • 6.
    6 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 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
  • 7.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.3 Clients invoke individual servers
  • 8.
    8 Instructor’s Guide forCoulouris, 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.
  • 9.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.4a Peer-to-peer architecture
  • 10.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.4b A service provided by multiple servers
  • 11.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.5 Web proxy server
  • 12.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.6 Web applets
  • 13.
    Instructor’s Guide forCoulouris, 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
  • 14.
    14 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.8 Two-tier and three-tier architectures
  • 15.
    15 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 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.) ..... } 15
  • 16.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.10 Thin clients and compute servers Thin Client Application Process Network computer or PC Compute server network
  • 17.
    17 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.11 The web service architectural pattern
  • 18.
    18 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.12 Categories of middleware
  • 19.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.13 Real-time ordering of events
  • 20.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.14 Processes and channels
  • 21.
    21 Instructor’s Guide forCoulouris, 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
  • 22.
    22 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 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
  • 23.
    23 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 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
  • 24.
    24 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 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
  • 25.
    25 Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 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:
  • 26.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.15 Types of Failure Models: 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-omission Process A message is put in a process’s incoming message buffer, but that process does not receive it. Arbitrary (Byzantine) Process or channel Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times, commit omissions; a process may stop or take an incorrect step.
  • 27.
    Instructor’s Guide forCoulouris, 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.
  • 28.
    28 Instructor’s Guide forCoulouris, 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
  • 29.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.17 Objects and principals
  • 30.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.18 The enemy Communication channel Copy of m Process p Process q m The enemy m’
  • 31.
    Instructor’s Guide forCoulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.19 Secure channels Principal A Secure channel Process p Process q Principal B