Open In App

Distributed Computing System Models

Distributed computing is a system where processing and data storage is distributed across multiple devices or systems, rather than handled by a single central device. In this article, we will see Distributed Computing System Models.



Types of Distributed Computing System Models

1. Physical Model

A physical model represents the underlying hardware elements of a distributed system. It encompasses the hardware composition of a distributed system in terms of computers and other devices and their interconnections. It is primarily used to design, manage, implement, and determine the performance of a distributed system.



A physical model majorly consists of the following components:

1. Nodes

Nodes are the end devices that can process data, execute tasks, and communicate with the other nodes. These end devices are generally the computers at the user end or can be servers, workstations, etc.

2. Links

Links are the communication channels between different nodes and intermediate devices. These may be wired or wireless. Wired links or physical media are implemented using copper wires, fiber optic cables, etc. The choice of the medium depends on the environmental conditions and the requirements. Generally, physical links are required for high-performance and real-time computing. Different connection types that can be implemented are as follows:

3. Middleware

These are the softwares installed and executed on the nodes. By running middleware on each node, the distributed computing system achieves a decentralised control and decision-making. It handles various tasks like communication with other nodes, resource management, fault tolerance, synchronisation of different nodes and security to prevent malicious and unauthorised access.

4. Network Topology

This defines the arrangement of nodes and links in the distributed computing system. The most common network topologies that are implemented are bus, star, mesh, ring or hybrid. Choice of topology is done by determining the exact use cases and the requirements.

5. Communication Protocols

Communication protocols are the set rules and procedures for transmitting data from in the links. Examples of these protocols include TCP, UDP, HTTPS, MQTT etc. These allow the nodes to communicate and interpret the data.

2. Architectural Model

Architectural model in distributed computing system is the overall design and structure of the system, and how its different components are organised to interact with each other and provide the desired functionalities. It is an overview of the system, on how will the development, deployment and operations take place. Construction of a good architectural model is required for efficient cost usage, and highly improved scalability of the applications.

The key aspects of architectural model are: 

1. Client-Server model

It is a centralised approach in which the clients initiate requests for services and severs respond by providing those services. It mainly works on the request-response model where the client sends a request to the server and the server processes it, and responds to the client accordingly.

2. Peer-to-peer model

It is a decentralised approach in which all the distributed computing nodes, known as peers, are all the same in terms of computing capabilities and can both request as well as provide services to other peers. It is a highly scalable model because the peers can join and leave the system dynamically, which makes it an ad-hoc form of network.

3. Layered model

It involves organising the system into multiple layers, where each layer will provision a specific service. Each layer communicated with the adjacent layers using certain well-defined protocols without affecting the integrity of the system. A hierarchical structure is obtained where each layer abstracts the underlying complexity of lower layers. 

4. Micro-services model

In this system, a complex application or task, is decomposed into multiple independent tasks and these services running on different servers. Each service performs only a single function and is focussed on a specific business-capability. This makes the overall system more maintainable, scalable and easier to understand. Services can be independently developed, deployed and scaled without affecting the ongoing services.

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:

1. 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 – 

2. 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.

1. Failure 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:

2. 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:


Article Tags :