Professional Documents
Culture Documents
Ds Lect02
Ds Lect02
Models
Lecture Objectives
To
Distributed System
Models
Architectural models
Architecture: structure of separately
specified components
Architectural models define what different
components exist and the relationships
between these components
E.g., protocol layers, client/server model,
peer-to-peer model
Distributed System
Models
Fundamental models
Formal description of system properties
common in all architectural models
Some of these properties in distributed
systems are:
There is no global time in a distributed
system.
All communication between processes
is achieved by means of messages.
Distributed System
Models
* Message communication in distributed
systems has the following properties:
Delay
Failure
Security attacks
proces s p
proces s q
send m
receive
Distributed System
Models
* Message communication issues are
addressed by three models:
Interaction Model
It deals with performance and
with the difficulty of setting of
time limits in a distributed
system.
Distributed System
Models
Failure Model
It attempts to give a precise
specification of the faults that
can be exhibited by processes
and communication channels.
Security Model
It discusses possible threats to
processes and communication
channels.
Architectural Models
Reliability
Manageability
Adaptability
Cost-effectiveness
Layers
layer n
n-1 -service
layer n-1
Layers
Applications, serv ic es
Middleware
Operating s y stem
Platf orm
Computer and network hardware
Layers: Platform
Platform:
hardware
Supplies system programming interface
Windows XP / Pentium processor
Solaris / SPARC processor
Layers: Middleware
Transactions
Persistent
storage
Event notification
And others
Layers: Middleware
Limitations
Why not adding all the functionality inside
communication system so application programmer
does not have to care about anything else?
The end-to-end argument [Reed, 1984]
Some
End-to-End Argument
Reliable
Computer A
File transfer
application
Computer B
File transfer
application
Disk
Communication system
Two
End-to-End Argument
End-to-End Argument
System Architectures
Client-server
model
Multiple servers model
Proxy server model
Peer-to-peer model
System Architectures:
Client-Server Model
The
Client
inv ocation
res ult
inv ocation
Serv er
Serv er
res ult
Client
Key :
Proc es s:
Computer:
System Architectures:
Client-Server Model
Client: Process wishing to access data, use
resources or perform operations on a different
computer
Server: Process managing data and all other
shared resources amongst servers and clients,
allows clients an access to resource and
performs computation
Interaction: invocation / result message pairs
Example
http
System Architectures:
Client-Server Model
Multi-tier architectures (2-tier, 3tier) are special cases of clientserver model where multiple tiers
increase the scalability of the
server
Client-Server Model
Client-Server Model
Client-Server Model
Client-Server Model
Client-Server Model
2-Tier Model
Client-Server Model
Client-Server Model
3-Tier Model
System Architectures:
Multiple Servers Model
Serv ic e
Serv er
Client
Serv er
Client
Serv er
System Architectures:
Multiple Servers Model
System Architectures:
Proxy Server Model
Web
serv er
Client
Prox y
serv er
Client
Web
serv er
System Architectures:
Proxy Server Model
System Architectures:
Proxy Server Model
Frequently
used in search-engines
System Architectures:
Peer-to-Peer Model
Application
Application
Coordination
code
Coordination
code
Application
Coordination
code
System Architectures:
Peer-to-Peer Model
Variations on the
Client-Server Model
Variations
Variations on the
Client-Server Model
Server
push model
Variations on the
Client-Server Model
Client
Applet code
Web
serv er
Client
Applet
Web
serv er
Variations on the
Client-Server Model
Mobile agents
Executing program (code + data) that migrates
between processes in a network
Carries
in communication costs
applicability
Variations on the
Client-Server Model
Network computer
or PC
Thin
Client
Compute server
network
Application
Process
Variations on the
Client-Server Model
Network computer
All files stored remotely
Minimum of local software and hardware
Any local disk used mainly as a cache
Thin client
Does not even run its own applications
Executes windows-based user interface on a local
computer
Programs are run by a powerful computing server
Citrix WinFrame thin client process for Windows,
X11 server on Unix systems
Summary
Architectural
models
Service layers
End-to-End argument
Client/server model
Multiple servers model
Proxy server model
Peer-to-peer model
Variations