SlideShare a Scribd company logo
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

More Related Content

PPT
Chapter 2 system models
PPT
Chapter 2 slides
PDF
02 Models of Distribution Systems.pdf
PDF
Cs556 section2
PDF
Distributed System Presentation Chapter 1
PDF
Distributed System Introduction Presentation
PPTX
Distributed Systems Introduction and Importance
PDF
Chapter 11b
Chapter 2 system models
Chapter 2 slides
02 Models of Distribution Systems.pdf
Cs556 section2
Distributed System Presentation Chapter 1
Distributed System Introduction Presentation
Distributed Systems Introduction and Importance
Chapter 11b

Similar to Architectual Models Distributed System Presentation (20)

PPT
Chapter 1
PPT
Chapter 1 slides
PDF
avdsffdhgfhjhghgj,fgfhlkjk.jk;jkhgdhghghghgf
PPT
Chapter 1 characterisation of distributed systems
PDF
Cordination&agreement
PDF
DISTRIBUTED SYSTEM CHAPTER THREE UP TO FIVE.pdf
PPT
Chapter 1 slides
PPT
Chapter 2 slides
PPT
Distributed systems file system in computer ecience.ppt
PDF
System models
PPTX
chapter 5.pptx
PPT
C-System Models Presentation files .ppt
PPT
Chapter 21 slides distributed file system in comps.ppt
PDF
Caracterizacion de sistemas distribuidos
PPTX
Distributed Computing - System Models.pptx
PPT
Chapter 1 Characterization of Distributed Systems
PPT
distcomp.ppt
PPT
distcomp.ppt
PPT
distcomp.ppt
PPT
DSchap-02.ppt
Chapter 1
Chapter 1 slides
avdsffdhgfhjhghgj,fgfhlkjk.jk;jkhgdhghghghgf
Chapter 1 characterisation of distributed systems
Cordination&agreement
DISTRIBUTED SYSTEM CHAPTER THREE UP TO FIVE.pdf
Chapter 1 slides
Chapter 2 slides
Distributed systems file system in computer ecience.ppt
System models
chapter 5.pptx
C-System Models Presentation files .ppt
Chapter 21 slides distributed file system in comps.ppt
Caracterizacion de sistemas distribuidos
Distributed Computing - System Models.pptx
Chapter 1 Characterization of Distributed Systems
distcomp.ppt
distcomp.ppt
distcomp.ppt
DSchap-02.ppt
Ad

Recently uploaded (20)

PPTX
OOP with Java - Java Introduction (Basics)
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Geodesy 1.pptx...............................................
PPTX
additive manufacturing of ss316l using mig welding
PPTX
web development for engineering and engineering
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Construction Project Organization Group 2.pptx
PDF
Well-logging-methods_new................
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Sustainable Sites - Green Building Construction
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPT
introduction to datamining and warehousing
PPT
Mechanical Engineering MATERIALS Selection
OOP with Java - Java Introduction (Basics)
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Geodesy 1.pptx...............................................
additive manufacturing of ss316l using mig welding
web development for engineering and engineering
Embodied AI: Ushering in the Next Era of Intelligent Systems
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
CYBER-CRIMES AND SECURITY A guide to understanding
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Construction Project Organization Group 2.pptx
Well-logging-methods_new................
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Foundation to blockchain - A guide to Blockchain Tech
Internet of Things (IOT) - A guide to understanding
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Sustainable Sites - Green Building Construction
Automation-in-Manufacturing-Chapter-Introduction.pdf
introduction to datamining and warehousing
Mechanical Engineering MATERIALS Selection
Ad

Architectual Models Distributed System Presentation

  • 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 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. 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. 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. 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. 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
  • 7. 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. 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.
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 2.6 Web applets
  • 13. 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. 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. 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
  • 16. 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. 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. 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
  • 19. 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
  • 20. 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. 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. 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. 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. 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. 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:
  • 26. 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.
  • 27. 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. 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
  • 29. 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
  • 30. 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’
  • 31. 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