0% found this document useful (0 votes)
24 views

Chapter 2 Slides

python threading 2

Uploaded by

kendystar147
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)
24 views

Chapter 2 Slides

python threading 2

Uploaded by

kendystar147
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/ 36

Slides for Chapter 2:

Architectural Models

From Coulouris, Dollimore, Kindberg and


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

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

Baseline physical model


Early distributed systems (section 3.5)
Internet-scale distributed systems
chapter 1, figures 1.3
CORBA

Contemporary distributed systems


Grid computing

Distributed systems of systems

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

The architecture of a system is its structure in terms of


separately specified components and their
interrelationships. The overall goal is to ensure that the
structure will meet present and likely future demands on
it. Major concerns are to make the system reliable,
manageable, adaptable and cost-effective.
Understanding such trade-offs is arguably the key skill in
distributed systems design.

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

Architectural patterns build on the more primitive architectural


elements discussed above and provide composite recurring
structures that have been shown to work well in given
circumstances
Many architectural patterns have been identified for distributed
systems
- layering
- tiered architectures
- related concept of thin clients
- web services

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

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
20
2.3.3 Associated middleware solutions

The task of middleware is to provide a higher-level


programming abstraction for the development of
distributed systems and, through layering, to abstract
over heterogeneity in the underlying infrastructure to
promoteinteroperability and portability
Categories of middleware (fig. 2.12)
Limitations of middleware

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

Fundamentally distributed systems are composed of many


processes, interacting in complex ways
Two significant factors affecting interacting processes
in a distributed system:
• Communication performance is often a limiting characteristic.
• It is impossible to maintain a single global notion of time

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

Class of failure AffectsDescription


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 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.16
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
2.4.3 Security model

The security of a distributed system can be achieved by


securing the processes and the channels used for their
interactions and by protecting the objects that they
encapsulate against unauthorized access.

Protecting objects (fig. 2.17)


Securing processes and their interactions
The enemy (fig. 2.18)

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

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
Exercises

36

You might also like