Distributed Systems CH3-2022
Distributed Systems CH3-2022
System Models
l Real world Distributed Systems (DS) should be designed to function
correctly in the widest range of circumstances and in the face of many
possible difficulties and threats, such as:
l Widely varying modes of use: The components of a DS are subject to wide
variations in workload.
l the main page of the amazon.com website is accessed millions of times a day
l multimedia applications require high bandwidth and low latency
Architectural Models
l Defines the set of components that make up a system and the
interplay between those components.
l It combines:
l A simplified functional model of the individual components
l The placement of components across a network of computers
l The interrelationships between the components
1
22/03/2022
NC / PC Compute Server
Application
Thin Client
network Process
Window
Application
Server network
2
22/03/2022
invocation
Client result Server
result
invocation
Server
result
Client invocation
invocation Servlet
Web Browser result Container
result
invocation
Web Server
result
Web Browser
invocation
3
22/03/2022
Peer 2
Peer 1
Application
Application
Sharable
Objects Peer 3
Application
Peers 4 … N
Peer 2
Peer 1
Gnutella
Gnutella Client
Client
Shared
Files Peer 3
Gnutella
Client
Peers 4 … N
4
22/03/2022
Server
Client
Server Service
Client
Server
Checkout
Web Server
Web Browser
Web Browser
Store Front
Web Server
10
5
22/03/2022
11
Client Server
Proxy
Client Server
12
6
22/03/2022
13
14
7
22/03/2022
Web Browser
Gateway Web-Server
Web Browser
Web-Server
15
(3)
Client Server
(2) Broker (1)
Service- Server
Repository
16
8
22/03/2022
Client Server
VS.:
Client Server
Broker
Service- Server
Repository
l How would you build fault tolerance upon this design pattern?
17
18
9
22/03/2022
19
l It consists of:
l Platform: A combination
of hardware and software
upon that provides the Applications, Services
N
basis for all applications. E
T
l Middleware: A layer of W
software whose purpose Middleware
O
is to mask heterogeneity
R
and to provide a convenient
programming model to K
application programmers Operating System
20
10
22/03/2022
What is Middleware?
l Middleware is the set of processes or objects in a group of computers
that interact with each other to implement communication and
resource-sharing support for Distributed Systems.
l It delivers an abstract layer of support that acts as a building block for the
construction of the target application(s).
l Examples of Middleware:
l Sun RPC, CORBA, Java RMI, Web Services, Microsoft’s Distributed
Component Object Model (DCOM).
21
Without Middleware
22
11
22/03/2022
With Middleware
23
Applications, Services
N Appl
E icati ons,
T Serv
ices
Middleware W
O
R
K
Operating System Operating System
24
12
22/03/2022
Limitations of Middleware
l Middleware is an abstracted communication infrastructure component
that aims to simplify the process of implementing a Distributed System.
25
Limitations of Middleware
l More generally, this is known as the “end-to-end argument” (Saltzer et
al., 1984):
l “Some communication-related functions can be completely and reliably
implemented only with the knowledge and help of the application standing
at the end points of the communication system. Therefore, providing that
function as a feature of the communication system itself is not always
sensible. (An incomplete version of the function provided by the
communication system may sometimes be useful as a performance
enhancement)”
26
13