Chapter 2 Slides
Chapter 2 Slides
Architectural Models
Physical models
the most explicit way in which to describe a system; they capture the
hardware composition of a system in terms of the computers (and other
devices, such as mobile phones) and their interconnecting networks.
Architectural models
a system in terms of the computational and communication tasks performed
by its computational elements; the computational elements being individual
computers or aggregates of them supported by appropriate network
interconnections.
Fundamental models
an abstract perspective in order to examine individual aspects of a
distributed system
3-important-aspects of distributed systems: interactions models, failure
models, security models
3
2.2 Physical models
4
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
5
2.3 Architecture models
6
2.3.1 Architectural elements
4 key questions:
What are the entities that are communicating in the distributed system?
How do they communicate, or, more specifically, what communication
paradigm is used?
What (potentially changing) roles and responsibilities do they have in the
overall architecture?
How are they mapped on to the physical distributed infrastructure (what
is their placement)?
7
Comminicating entities Roles and responsibilities
objects client-server (fig. 2.3)
components peer-to-peer (fig. 2.4a)
web services Placement
Communication paradigms mapping of services to
multiple servers (fig. 2.4b)
interprocess communication
caching (fig 2.5)
remote invocation (chapter
mobile code (fig. 2.6)
5)
mobile agents
request-reply
protocols
remote procedure
calls
remote method
invocation
indirect communication
(chapter 6)
group
communication 8
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
9
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.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
2.3.2 Architecture patterns
15
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
17
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
18 © Pearson Education 2012
Figure 2.10
Thin clients and compute servers
Compute server
Network computer or PC
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
20
2.3.3 Associated middleware solutions
21
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
22
2.4 Fundamental models
23
2.4.1 Interaction model
24
Performance of communication channels
Computer clocks and timing events
Two variants of the interaction model
Event ordering (fig. 2.13)
25
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
2.4.2 Failure model
Omission failures
Process omission failures
Communication omission failures (fig. 2.14)
Arbitrary failures
Timing failures
Masking failures
Reliability of one-to-one communication
27
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.15
Omission and arbitrary failures
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.16
Timing failures
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
2.4.3 Security model
31
The threats from a potential enemy include threats to
processes and threats to communication channels.
Defeating security threats:
• Cryptography and shared secrets
• Authentication
• Secure channel (fig. 2.19)
32
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
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Exercises
36