3) System Models
3) System Models
Contents
• Introduction
• Physical models
• Architectural models
• Fundamental models
Introduction
Distributed system design can be explained through
three different models:
Physical models – models that capture the hardware
composition of a system in terms of computer and their
interconnecting networks
• Architecture?
• The structure of a system specifying its components and their
interrelationships
• Why architecture?
• To ensure that the structure will meet the current and future
demands on it
• To provide a reliable, manageable, adaptable and cost-effective
system
Architectural models
• Architectural elements:
• How to understand the fundamental building blocks of a
distributed system?
What are the entities that are communicating in the distributed system
(communicating entities)?
How do they communicate, or, what communication paradigm is used
(communication paradigms)?
What roles and responsibilities do they have in the overall architecture (roles
and responsibilities)?
How do they mapped on to the physical distributed architecture (what is their
placement)?
Architectural models
• Communicating entities:
Processes: From a system perspective, the entities that communicate in a
distributed system are typically processes, leading to the prevailing view of a
distributed system as processes coupled with appropriate inter-process
communication paradigms.
Objects: Objects have been introduced to enable and encourage the use of object-
oriented approaches in distributed systems (including both object-oriented design
and object-oriented programming languages).
Components: Components resemble objects in that they offer problem-oriented
abstractions for building distributed systems and are also accessed through
interfaces.
Web services: Web services represent the third important paradigm for the
development of distributed systems. Web services are closely related to objects and
components, again taking an approach based on encapsulation of behaviour and
access through interfaces. Web services are intrinsically integrated into the World
Wide Web, using web standards to represent and discover services.
Architectural models
Communication paradigms
How entities communicate in a distributed system
Inter-process communication – low-level process support. E.g.
message passing primitives, direct access to API, multicast
communication.
Remote invocation – common communication paradigm in
distributed systems. Two-way exchange between communicating
entities, common techniques; RPC, RMI, request-reply protocols
Indirect communication– E.g. group communication, publish-
subscribe systems, message queues, tuple spaces, distributed
shared memory
Architectural models
Architectural models
Roles and responsibilities
•In doing so, the processes take on given roles, and these roles are
fundamental in establishing the overall architecture to be adopted.
Client-server
Peer-to-peer
Client-Server model
• Most widely employed model in DS.
• Client processes interact with individual server processes in potentially separate host
computers in order to access the shared resources that they manage.
• Web servers and most other Internet services are clients of the DNS service, which
translates Internet domain names to network addresses.
• Another web-related example concerns search engines, which enable users to look up
summaries of information available on web pages at sites throughout the Internet.
result result
Server
Client
Key:
Process: Computer:
Service
Server
Client
Server
Client
Server
Client Web
server
Architectural patterns:
Layering –complex system is partitioned into a number of
layers. The top layer utilizes the services of the lower
layer.
Middleware
Operating system
Platform
send m receive
Communication channel
Outgoing message buffer Incoming message buffer
Timing failures
Security model
• Secure processes and channels and protect objects
encapsulated against unauthorized access.
• Protecting access to objects - Access rights, authentication of clients
Access rights Object
invocation
Client
result Server
The enemy
m’
Process p m Process q
Communication channel
Secure channels
Thank you…
The end