Module 2 - Distributed System Models -...
Transcript of Module 2 - Distributed System Models -...
![Page 1: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/1.jpg)
Module 1 - Distributed System
Architectures & Models
![Page 2: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/2.jpg)
Architecture
Distributed systems tend to be very complex.
It is critical to properly organize these systems to manage the
complexity.
The organization of a distributed system is primarily about
defining the software components that constitute the system.
A component is a modular unit with well-defined required and
provided interfaces.
CS454/654
1-2
![Page 3: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/3.jpg)
Architecture (2)
Software Architecture:
Tells us how software components should be organized and how they
should interact.
System Architecture:
Instantiation of a software architecture on real machines.
Functions of each component are defined
Interrelationships and interactions between components are defined
CS454/654 1-3
![Page 4: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/4.jpg)
CS454/654 1-4
![Page 5: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/5.jpg)
CS454/654 1-5
![Page 6: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/6.jpg)
CS454/654 1-10
System Architectures
Centralized architectures
Client-server
Multiple-client/single-server
Multiple-client/multiple-servers
Multitier systems
Decentralized architectures
![Page 7: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/7.jpg)
CS454/654 1-11
![Page 8: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/8.jpg)
CS454/654 1-13
Client-Server Communication
Client
Client
Server
Process Computer
Request (invocation)
Result
Request (invocation)
Result
![Page 9: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/9.jpg)
CS454/654 1-15
Advantages of Client/Server
Computing
More efficient division of labor
Horizontal and vertical scaling of resources
Better price/performance on client machines
Ability to use familiar tools on client machines
Client access to remote data (via standards)
Full DBMS functionality provided to client
workstations
Overall better system price/performance
![Page 10: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/10.jpg)
CS454/654 1-16
An Example Client and Server (1) The header.h file used by the client and server.
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms
© Prentice-Hall, Inc. 2002
![Page 11: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/11.jpg)
CS454/654 1-17
An Example Client and Server (2)
A sample server.
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms
© Prentice-Hall, Inc. 2002
![Page 12: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/12.jpg)
CS454/654 1-18
An Example Client and Server (3) A client using the server to copy a file.
1-27 b
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms
© Prentice-Hall, Inc. 2002
![Page 13: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/13.jpg)
CS454/654 1-19
Problems With Multiple-
Client/Single Server
Server forms bottleneck
Server forms single point of failure
System scaling difficult
![Page 14: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/14.jpg)
CS454/654 1-21
Service Across Multiple Servers
Server
Server
Server
Service
Client
Client
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed.
© Addison-Wesley Publishers 2000
![Page 15: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/15.jpg)
CS454/654 1-22
Multiple-Client/Multiple-Server
Communication
Server
Client
Client
invocation
result
Server invocation
result
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed.
© Addison-Wesley Publishers 2000
![Page 16: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/16.jpg)
CS454/654 1-27
![Page 17: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/17.jpg)
CS454/654 1-28
Multitier Systems
Example: Internet Search Engines
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms
© Prentice-Hall, Inc. 2002
![Page 18: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/18.jpg)
CS454/654 1-29
Multitier System Alternatives
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms
© Prentice-Hall, Inc. 2002
![Page 19: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/19.jpg)
CS454/654 1-30
Communication in Multitier
Systems
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms
© Prentice-Hall, Inc. 2002
![Page 20: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/20.jpg)
CS454/654 1-31
Peer-to-Peer Systems
Coordination
Application
code
Coordination
Application
code
Coordination
Application
code
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed.
© Addison-Wesley Publishers 2000
![Page 21: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/21.jpg)
CS454/654 1-32
![Page 22: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/22.jpg)
CS454/654 1-33
![Page 23: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/23.jpg)
CS454/654 1-34
![Page 24: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/24.jpg)
CS454/654 1-35
![Page 25: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/25.jpg)
CS454/654 1-36
![Page 26: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/26.jpg)
CS454/654 1-37
Software Layers
Platform
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms
© Prentice-Hall, Inc. 2002
![Page 27: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/27.jpg)
CS454/654 1-38
Layers
Platform
Fundamental communication and resource management services
We won’t be worried about these
Middleware
Provides a service layer that hides the details and heterogeneity of the underlying platform
Provides an “easier” API for the applications and services
RPC, RMI, CORBA, etc.
Applications
Distributed applications, services
Examples: e-mail, ftp, etc
![Page 28: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.](https://reader031.fdocuments.us/reader031/viewer/2022022805/5cb6762a88c9933a1b8b944c/html5/thumbnails/28.jpg)
CS454/654 1-39
Example Client/Server Middleware
Remote Procedure Call (RPC) Uses the well-known procedure call semantics.
The caller makes a procedure call and then waits. If it is a local
procedure call, then it is handled normally; if it is a remote procedure,
then it is handled as a remote procedure call.
Caller semantics is blocked send; callee semantics is blocked receive to
get the parameters and a nonblocked send at the end to transmit results.
Caller
procedure
Caller
stub
Comm.
Transmit
Receive
Caller
Callee
procedure
Callee
stub
Comm.
Marshall
results Transmit
Unmarshall
arguments Receive
Callee
Call
Return
Call packet(s)
Result packet(s)
Call(…) Marshall
params
Unmarshall
results
.
.
.