Open In App

Types of Distributed System

Improve
Improve
Like Article
Like
Save
Share
Report

Pre-requisites: Distributed System

A Distributed System is a Network of Machines that can exchange information with each other through Message-passing. It can be very useful as it helps in resource sharing. It enables computers to coordinate their activities and to share the resources of the system so that users perceive the system as a single, integrated computing facility.

Types of Distributed Systems

  1. Client/Server Systems
  2. Peer-to-Peer Systems
  3. Middleware
  4. Three-tier
  5. N-tier

1. Client/Server Systems: 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.

2. Peer-to-Peer Systems: 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. Middleware: Middleware can be thought of as an application that sits between two separate applications and provides service to both. It works as a base for different interoperability applications running on different operating systems. Data can be transferred to other between others by using this service.

4. Three-tier: Three-tier system uses a separate layer and server for each function of a program. In this data of the client is stored in the middle tier rather than sorted into the client system or on their server through which development can be done easily. It includes an Application Layer, Data Layer, and Presentation Layer. This is mostly used in web or online applications.

5. N-tier: N-tier is also called a multitier distributed system. The N-tier system can contain any number of functions in the network. N-tier systems contain similar structures to three-tier architecture. When interoperability sends the request to another application to perform a task or to provide a service. N-tier is commonly used in web applications and data systems.

Distributed System

Distributed System

Characteristics of Distributed System

  • Resource Sharing: It is the ability to use any Hardware, Software, or Data anywhere in the System.
  • Concurrency: It is naturally present in Distributed Systems, that deal with the same activity or functionality that can be performed by separate users who are in remote locations. Every local system has its independent Operating Systems and Resources.
  • Scalability: It increases the scale of the system as several processors communicate with more users by accommodating to improve the responsiveness of the system.
  • Transparency: It hides the complexity of the Distributed Systems from the Users and Application programs as there should be privacy in every system.

Challenges of Distributed Systems

  • Network latency: The communication network in a distributed system can introduce latency, which can affect the performance of the system.
  • Distributed coordination: Distributed systems require coordination among the nodes, which can be challenging because of the distributed nature of the system.
  • Data consistency: Maintaining data consistency across multiple nodes in a distributed system can be challenging.

Ways of Distributed Systems

A distributed system is also known as distributed computer science and distributed databases; independent components that interact with other different machines that exchange messages to achieve common goals. As such, the distributed system appears to the end-user like an interface or a computer. Together the system can maximize resources and information while preventing system failure and did not affect service availability.

1. Distributed Computing System

This distributed system is used in performance computation which requires high computing.

  • Cluster Computing: Cluster Computing is a collection of connected computers that work together as a unit to perform operations together, functioning in a single system. Clusters are generally connected quickly via local area networks & each node is running the same operating system.
Cluster Computing

Cluster Computing

When input comes from a client to the main computer, the master CPU divides the task into simple jobs and sends it to the slave note to do it when the jobs are done by the slave nodes, they send it back to the master node, and then it shows the result to the main computer.

Advantages of Cluster Computing

  1. High Performance
  2. Easy to manage
  3. Scalable
  4. Expandability
  5. Availability
  6. Flexibility
  7. Cost-effectiveness 
  8. Distributed applications 

Disadvantages of Cluster Computing

  1. High cost.
  2. The problem is finding the fault.
  3. More space is needed.
  4. The increased infrastructure is needed.
  5. In distributed systems, it is challenging to provide adequate security because both the nodes and the connections must be protected.

Applications of Cluster Computing

  1. In many web applications functionalities such as Security, Search Engines, Database servers, web servers, proxy, and email.
  2. It is flexible to allocate work as small data tasks for processing.
  3. Assist and help to solve complex computational problems.
  4. Cluster computing can be used in weather modeling.
  5. Earthquake, Nuclear, Simulation, and tornado forecast.
  • Grid Computing: In grid computing, the subgroup consists of distributed systems, which are often set up as a network of computer systems, each system can belong to a different administrative domain and can differ greatly in terms of hardware, software, and implementation network technology.
Grid Computing

Grid Computing

The different department has different computer with different OS to make the control node present which helps different computer with different OS to communicate with each other and transfer messages to work.

Advantages of Grid Computing

  1. Can solve bigger and more complex problems in a shorter time frame. Easier collaboration with other organizations and better use of existing equipment.
  2. Existing hardware is used to the fullest.
  3. Collaboration with organizations made easier

Disadvantages of Grid Computing

  1. Grid software and standards continue to evolve.
  2. Getting started learning curve.
  3. Non-interactive job submission.
  4. You may need a fast connection between computer resources.
  5. Licensing on many servers can be prohibitive for some applications.

Applications of Grid Computing  

  1. Organizations that develop grid standards and practices for the guild line.
  2. Works as a middleware solution for connecting different businesses.
  3. It is a solution-based solution that can meet computing, data, and network needs.

2. Distributed Information System

  • Distributed transaction processing: It works across different servers using multiple communication models. The four characteristics that transactions have:
    • Atomic: the transaction taking place must be indivisible to the others.
    • Consistent:  The transaction should be consistent after the transaction has been done.
    • Isolated: A transaction must not interfere with another transaction.
    • Durable: Once an engaged transaction, the changes are permanent. Transactions are often constructed as several sub-transactions, jointly forming a nested transaction.
Nested Transaction

Nested Transaction

Each database can perform its query containing data retrieval from two different databases to give one single result

In the company’s middleware systems, the component that manages distributed (or nested) transactions has formed the application integration core at the server or database. This was referred to as the Transaction Processing Monitor(TP Monitor). Its main task was to allow an application to access multiple servers/databases by providing a transactional programming model. Many requests are sent to the database to get the result, to ensure each request gets successfully executed and deliver result to each request, this work is handled by the TP Monitor.

Distributed Transaction Processing

Distributed Transaction Processing

  • Enterprise Application Integration: Enterprise Application Integration (EAI) is the process of bringing different businesses together. The databases and workflows associated with business applications ensure that the business uses information consistently and that changes in data done by one business application are reflected correctly in another’s. Many organizations collect different data from different plate forms in the internal systems and then they use those data are used in the Trading system /physical medium.
Enterprise Application Integration

Enterprise Application Integration

  • RPC: Remote Procedure Calls (RPC), a software element that sends a request to every other software element with the aid of using creating a nearby method name and retrieving the data Which is now known as remote method invocation (RMI). An app can have a different database for managing different data and then they can communicate with each other on different platforms. Suppose, if you login into your android device and watch your video on YouTube then you go to your laptop and open YouTube you can see the same video is in your watch list. RPC and RMI have the disadvantage that the sender and receiver must be running at the time of communication.
Remote Procedure Calls

Remote Procedure Calls

Purposes

  • Targets the application rules and implements them in the EAI system so that even if one of the lines of business applications is replaced by the application of another vendor.
  • An EAI system can use a group of applications as a front end, provide only one, consistent access interface to those applications, and protect users from learning how to use different software packages.

3. Distributed Pervasive System

Pervasive Computing is also abbreviated as ubiquitous (Changed and removed) computing and it is the new step towards integrating everyday objects with microprocessors so that this information can communicate. a computer system available anywhere in the company or as a generally available consumer system that looks like that same everywhere with the same functionality but that operates from computing power, storage, and locations across the globe.

  • Home system: Nowadays many devices used in the home are digital so we can control them from anywhere and effectively.
Home Systems

Home Systems

  • Electronic Health System: Nowadays smart medical wearable devices are also present through which we can monitor our health regularly.
Electronic Health System

Electronic Health System

  • Sensor Network (IoT devices): Internet devices only send data to the client to act according to the data send to the device.
Sensor Network

Sensor Network

  • Before sensory devices only send and send data to the client but now, they can store and process the data to manage it efficiently.
Sensor Network

Sensor Network



Last Updated : 31 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads