AT Unit1 Distributed - Systems
AT Unit1 Distributed - Systems
Davinia Hernández-Leo
1
Distributed system: definition
2
Centralized systems
vs.
Distributed Systems
3
Centralized systems
4
Distributed systems
• Comprise:
– Devices: PCs, server computers, etc.
– Local, wide area networks, Internet
– Systems: distributed operating systems,
distributed applications
6
Example: Internet
intranet %
%
% ISP
backbone
satellite link
desktop computer:
server
network :
link:
(Coulouris et al., 2005)
7
Example: Distributed operating
systems
– Chorus (INRIA)
– Amoeba (Vrije Universiteit, Amsterdame)
–…
8
Examples: Application to support distributed
football league management
• Distribution
– League management provides services to register players and
teams
– Clubs provide services to the association to make appointments
with players for games of the national team
9
Examples: Application to support distributed
football league management
• Heterogeneous application
– Clubs are autonomous, they want to use their existing computing
infrastructure (different operating systems, different programming
languages, already existing databases…)
11
Distributed system requirements
12
Distributed system requirements
• Scalability
• Openness
• Heterogeneity
• Resource Sharing
• Fault-Tolerance
• Concurrency
• Transparency
13
Scalability
14
Scalability
15
Openness
16
Openness
• Why?
– Reuse “parts” off-the-shelf, legacy parts,
different contractors
19
Fault-Tolerance / failure handling
20
Concurrency
21
Transparency
22
Access transparency
Location transparency
23
Concurrency transparency
Replication transparency
25
Performance transparency
Scaling transparency
26
Distributed applications
27
Middleware
• klñk
28
Middleware
• Between application and transport
• Distribution transparency
– To the developer!!!
• Solves heterogeneity
• Hardware
• Operating systems
• Networks
• Programming Languages
• Message-oriented middleware
• Transaction-oriented middleware
• RPC (Remote Procedure Call)
• Object-oriented Middleware
• Component-oriented Middleware
• Service-oriented Middleware
30