Module 1-Introduction to Distributed Systems
1.8 Distributed System Models
Distributed System is categorized into 3 types
1. Physical Model
2. Architectural Model
3. Fundamental Model
1. Physical Model
Physical model represents the underlying hardware pieces of a distributed system that abstracts from the
features of computer and networking technologies used.
Types of Physical models based on hardware and computation
A. Minicomputer Model
B. Workstation model
C. Workstation–Server Model
D. Processor–Pool Model
E. Hybrid Model
A. Minicomputer Model
Fig 3: Minicomputer Model
The minicomputer model is a simple extension of the centralized time-sharing system.
A distributed computing system based on this model consists of a few minicomputers interconnected by
a communication network were each minicomputer usually has multiple users simultaneously logged on
to it.
Several interactive terminals are connected to each minicomputer. Each user logged on to one specific
minicomputer has remote access to other minicomputers.
The network allows a user to access remote resources that are available on some machine other than the
one on to which the user is currently [Link] minicomputer model may be used when resource
sharing with remote users is desired.
The early ARPA net is an example of a distributed computing system based on the minicomputer
model.
B. Workstation model
A distributed computing system based on the workstation model consists of several workstations
interconnected by a communication network.
An organization may have several workstations located throughout an infrastructure were each
workstation is equipped with its own disk & serves as a single-user computer.
In such an environment, at any one time a significant proportion of the workstations are idle which
results in the waste of large amounts of CPU time.
Therefore, the idea of the workstation model is to interconnect all these workstations by a high-speed
LAN so that idle workstations may be used to process jobs of users who are logged onto other
workstations & do not have sufficient processing power at their own workstations to get their jobs
processed efficiently.
Example: Sprite system & Xerox PARC.
C. Workstation–Server Model
The workstation model is a network of personal workstations having its own disk & a local file system.
A workstation with its own local disk is usually called a diskful workstation & a workstation without a
local disk is called a diskless workstation. Diskless workstations have become more popular in network
environments than diskful workstations, making the workstation-server model more popular than the
workstation model for building distributed computing systems.
A distributed computing system based on the workstation-server model consists of a few
minicomputers & several workstations interconnected by a communication network.
In this model, a user logs onto a workstation called his or her home workstation. Normal computation
activities required by the user's processes are performed at the user's home workstation, but requests for
services provided by special servers are sent to a server providing that type of service that performs the
user's requested activity & returns the result of request processing to the user's workstation.
Therefore, in this model, the user's processes need not migrated to the server machines for getting the
work done by those machines.
D. Processor–Pool Model
The processor-pool model is based on the observation that most of the time a user does not need any
computing power but once in a while the user may need a very large amount of computing power for a
short time.
Therefore, unlike the workstation-server model in which a processor is allocated to each user,in
processor-pool model the processors are pooled together to be shared by the users as needed.
The pool of processors consists of a large number of microcomputers & minicomputers attached to the
network.
Each processor in the pool has its own memory to load & run a system program or an application
program of the distributed computing system.
In this model no home machine is present & the user does not log onto any machine.
This model has better utilization of processing power & greater flexibility.
Example: Amoeba & the Cambridge Distributed Computing System.
E. Hybrid Model
The workstation-server model has a large number of computer users only performing simple
interactive tasks &-executing small programs.
In a working environment that has groups of users who often perform jobs needing massive
computation,the processor-pool model is more attractive & suitable.
To combine Advantages of workstation-server & processor-pool models,a hybrid model can be
used to build a distributed system.
The processors in the pool can be allocated dynamically for computations that are too large or
require several computers for execution.
The hybrid model gives guaranteed response to interactive jobs allowing them to be more
processed in local workstations of the users
2. Architectural Model
A. Client/Server Model
B. Peer-to-Peer Model
A. Client/Server Model
Client-Server System is the most basic communication method where the client sends input to the server
and the server replies to the client with an output. The client requests the server for resources or a task to
do, the server allocates the resource or performs the task and sends the result in the form of a response
to the request of the client. Client Server System can be applied with multiple servers.
B. Peer-to-Peer Model
Peer-to-Peer System communication model works as a decentralized model in which the system works
like both Client and Server. Nodes are an important part of a system. In this, each node performs its task
on its local memory and shares data through the supporting medium, this node can work as a server or
as a client for a system. Programs in the peer-to-peer system can communicate at the same level without
any hierarchy.
3. Fundamental Model
The fundamental model in a distributed computing system is a broad conceptual framework that helps in
understanding the key aspects of the distributed systems. These are concerned with more formal description of
properties that are generally common in all architectural models. It represents the essential components that are
required to understand a distributed system’s behaviour. Three fundamental models are as follows:
A. Interaction Model
Distributed computing systems are full of many processes interacting with each other in highly
complex ways. Interaction model provides a framework to understand the mechanisms and
patterns that are used for communication and coordination among various processes.\
Different components that are important in this model are – Message Passing – It deals with
passing messages that may contain, data, instructions, a service request, or process
synchronisation between different computing nodes. It may be synchronous or asynchronous
depending on the types of tasks and processes.
Publish/Subscribe Systems – Also known as pub/sub system. In this the publishing process
can publish a message over a topic and the processes that are subscribed to that topic can take it
up and execute the process for themselves. It is more important in an event-driven architecture.
Remote Procedure Call (RPC) – It is a communication paradigm that has an ability to invoke a
new process or a method on a remote process as if it were a local procedure call. The client
process makes a procedure call using RPC and then the message is passed to the required server
process using communication protocols. These message passing protocols are abstracted and the
result once obtained from the server process, is sent back to the client process to continue
execution.
B. Fault Model
This model addresses the faults and failures that occur in the distributed computing system. It
provides a framework to identify and rectify the faults that occur or may occur in the system. Fault
tolerance mechanisms are implemented so as to handle failures by replication and error detection
and recovery methods. Different failures that may occur are:
Crash failures – A process or node unexpectedly stops functioning.
Omission failures – It involves a loss of message, resulting in absence of required communication.
Timing failures – The process deviates from its expected time quantum and may lead to delays or
unsynchronised response times.
Byzantine failures – The process may send malicious or unexpected messages that conflict with the set
protocols
C. Security Model
Distributed computing systems may suffer malicious attacks, unauthorised access and data breaches.
Security model provides a framework for understanding the security requirements, threats,
vulnerabilities, and mechanisms to safeguard the system and its resources. Various aspects that are vital
in the security model are – Authentication – It verifies the identity of the users accessing the system. It
ensures that only the authorised and trusted entities get access. It involves –
Password-based authentication – Users provide a unique password to prove their identity.
Public-key cryptography – Entities possess a private key and a corresponding public key
allowing verification of their authenticity.
Multi-factor authentication – Multiple factors, such as passwords, biometrics, or security tokens,
are used to validate identity.
Encryption – It is the process of transforming data into a format that is unreadable without a decryption
key. It protects sensitive information from unauthorized access or disclosure.
Data Integrity – Data integrity mechanisms protect against un-authorised modifications or tampering of
data. They ensure that data remains unchanged during storage, transmission, or processing. Data
integrity mechanisms include:
Hash functions – Generating a hash value or checksum from data to verify its integrity.
Digital signatures – Using cryptographic techniques to sign data and verify its authenticity and
integrity.