0% found this document useful (0 votes)
19 views

Distributed Systems Design 1

This document discusses distributed systems design and various distributed system architectures. It begins by explaining the objectives of distributed systems and characteristics such as resource sharing, openness, concurrency and fault tolerance. It then describes common architectures like client-server, distributed objects, and peer-to-peer as well as system types, advantages, disadvantages and examples.

Uploaded by

Archit Dogra
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Distributed Systems Design 1

This document discusses distributed systems design and various distributed system architectures. It begins by explaining the objectives of distributed systems and characteristics such as resource sharing, openness, concurrency and fault tolerance. It then describes common architectures like client-server, distributed objects, and peer-to-peer as well as system types, advantages, disadvantages and examples.

Uploaded by

Archit Dogra
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

Distributed Systems Design 1

Objectives
• To explain the advantages and disadvantages of different
distributed systems architectures
• To discuss client-server and distributed object architectures
• To describe object request brokers and the principles
underlying the CORBA standards
• To introduce peer-to-peer and service-oriented architectures
as new models of distributed computing.
Distributed systems
• Virtually all 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.
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.
Distributed systems architectures
• 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.
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.
Multiprocessor architectures
• 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.
A multiprocessor traffic control system

Sensor Traffic flow Traffic light control


processor processor processor

Sensor Light
control Display control
process process process

Traffic lights
Traffic flow sensors and
cameras Operator consoles
Client-server architectures
• 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.
A client-server system

c2 c3 c4
c12
c11
Server process

c1 s1 s4

c10
c5
Client process
s2 s3
c9

c6
c7 c8
Layered application architecture
• Presentation layer
– Concerned with presenting the results of a computation to system
users and with collecting user inputs.
• Application processing layer
– Concerned with providing application specific functionality e.g., in a
banking system, banking functions such as open account, close
account, etc.
• Data management layer
– Concerned with managing the system databases.
Application layers

Presentation layer

Application processing
layer

Data management
layer
Thin and fat clients
• Thin-client model
– In a thin-client model, all of the application
processing and data management is carried out
on the server. The client is simply responsible for
running the presentation software.
• Fat-client model
– In this model, the server is only responsible for
data management. The software on the client
implements the application logic and the
interactions with the system user.
Thin and fat clients

Presentation
Server
Thin-client Data management
model Client
Application processing

Presentation
Application processing Server
Fat-client
model Client
Data management
Thin client model
• Used when legacy systems are migrated to
client server architectures.
– The legacy system acts as a server in its own right
with a graphical interface implemented on a
client.
• A major disadvantage is that it places a heavy
processing load on both the server and the
network.
Fat client model
• More processing is delegated to the client as
the application processing is locally executed.
• Most suitable for new C/S systems where the
capabilities of the client system are known in
advance.
• More complex than a thin client model
especially for management. New versions of
the application have to be installed on all
clients.
A client-server ATM system

ATM

ATM Account server

Tele- Customer
processing account
monitor database

ATM

ATM
Three-tier architectures
• In a three-tier architecture, each of the
application architecture layers may execute
on a separate processor.
• Allows for better performance than a thin-
client approach and is simpler to manage than
a fat-client approach.
• A more scalable architecture - as demands
increase, extra servers can be added.
A 3-tier C/S architecture

Presentation
Server Server

Client Application Data


processing management
An internet banking system

Client HTTP interaction

Web server Database server


Client
SQL query
Account service Customer
SQL account
provision
database
Client

Client

You might also like