DISTRIBUTED
SYSTEMS
ARCHITECTURES
Objectives
To explain the advantages and
disadvantages of different distributed
systems architectures
To discuss client-server and distributed
object architectures
Multiprocessor architectures
Client-server architectures
Distributed object architectures
Distributed systems
Virtuallyall large computer-based
systems are now distributed systems.
Information processing is distributed
over several computers rather than
confined to a single machine.
Distributed software engineering is
therefore very important for enterprise
computing systems.
System types
Personal systems that are not distributed and
that are designed to run on a personal
computer or workstation.
Embedded systems that run on a single
processor or on an integrated group of
processors.
Distributed systems where the system
software runs on a loosely integrated group
of cooperating processors linked by a
network
Distributed system characteristics
Resource sharing
◦ Sharing of hardware and software resources.
Openness
◦ Use of equipment and software from different
vendors.
Concurrency
◦ Concurrent processing to enhance performance.
Scalability
◦ Increased throughput by adding new resources.
Fault tolerance
◦ The ability to continue in operation after a fault has
occurred.
Middleware
Software that manages and supports the different
components of a distributed system. In essence, it
sits in the middle of the system.
Middleware is usually off-the-shelf rather than
specially written software.
Examples
◦ Transaction processing monitors;
◦ Data converters;
◦ Communication controllers.
Distributed Systems Architecture
Client-server architectures
◦ Distributed services which are called on by
clients. Servers that provide services are
treated differently from clients that use
services.
Distributed object architectures
◦ No distinction between clients and servers.
Any object on the system may provide and
use services from other objects.
Multiprocessor Architecture
Simplest distributed system model.
System composed of multiple
processes which may (but need not)
execute on different processors.
Architectural model of many large
real-time systems.
Distribution of process to processor
may be pre-ordered or may be under
the control of a dispatcher.
Client-Server Architecture
The application is modelled as a set of
services that are provided by servers and a
set of clients that use these services.
Clients know of servers but servers need not
know of clients.
Clients and servers are logical processes
The mapping of processors to processes is
not necessarily 1 : 1
Distributed Object Architecture
There is no distinction in a distributed object
architectures between clients and servers.
Each distributable entity is an object that
provides services to other objects and receives
services from other objects.
Object communication is through a middleware
system called an object request broker.
However, distributed object architectures are
more complex to design than C/S systems.
Advantages of Distributed Object
Architecture
It allows the system designer to delay
decisions on where and how services should
be provided.
It is a very open system architecture that
allows new resources to be added to it as
required.
The system is flexible and scaleable.
It is possible to reconfigure the system
dynamically with objects migrating across
the network as required.
Distributed System Disadvantages
Complexity
◦ Typically, distributed systems are more complex than
centralised systems.
Security
◦ More susceptible to external attack.
Manageability
◦ More effort required for system management.
Unpredictability
◦ Unpredictable responses depending on the system
organisation and network load.
QUERRIES
WELCUM
THANK
YOU