Chapter 2 Slides
Chapter 2 Slides
Architectural Models
Dr. M. Sudha
Associate Professor
Information Technology Dept.
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
2
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
3
Architectural Elements and Communicating Paradigms
Elements
Objects
Components
Web services
Communicating paradigms
Inter process Communication IPC
Remote invocation RI
Indirect Communication
4
IPC
5
Remote Invocation
6
Remote Invocation
Request-reply protocols
Request-reply protocols: Request-reply protocols are
effectively a pattern imposed on an underlying message-
passing service to support client-server computing
Involve a pairwise exchange of messages from client to
server and then from server back to client, with
• first message containing an encoding of the operation
to be executed at the server and also an array of bytes
holding associated arguments
• second message containing any results of the operation,
again encoded as an array of bytes.
7
Preferred Distributed Communication
9
Figure 2.3
Clients invoke individual servers
result result
Server
Client
Key:
Process: Computer:
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
Service
Server
Client
Server
Client
Server
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
Client Web
server
Proxy
server
Client Web
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
Client Web
Applet code server
Web
Client Applet server
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
Applications, services
Middleware
Operating system
Platform
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
16
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.)
.....
17
}
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
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
19
Fundamental models are
21
Asynchronous distributed systems:
Many distributed systems, such as the Internet, are very useful
without being able to qualify as synchronous systems.
An asynchronous distributed system is one in which there
are no bounds on:
• Process execution speeds – for example, one process step
may take only a picosecond and another a century; all that
can be said is that each step may take an arbitrarily long
time.
• Message transmission delays – messages from process A to
process B may be, a message may be received after an
arbitrarily long time.
• Clock drift rates – again, the drift rate of a clock is arbitrary.
22
latency
23
Failure:
24
Security:
25
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
26
Figure 2.13
Real-time ordering of events
send
Z
receive receive
m3 m1 m2
A
receive receive receive
t1 t2 t3
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
process p process q
send m receive
Communication channel
Outgoing message buffer Incoming message buffer
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.11
Timing failures
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
Client
result Server
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