Distributed System – Simplified Explanation
Introduction

A distributed system is a software system in which multiple computers (called nodes) are connected through a network and work together by communicating with each other using messages. These computers coordinate their actions to achieve a common goal.

In a distributed system, each computer works independently, but due to the help of network and middleware, they share resources and coordinate activities. To the user, the entire system appears as one single integrated system, even though it is made up of many computers.

Features of a Distributed System

The main features of a distributed system are:

Concurrency: Many components in the system work at the same time.

Autonomous components: Each computer works independently and makes its own decisions.

No global clock: A single global time clock is not required for system operation.

Fault tolerance: Failure of one node does not stop the entire system.

Better price/performance ratio: Distributed systems give better performance at a lower cost compared to centralized systems.

Goals of a Distributed System

The important goals of a distributed system are:

1. Transparency

The system should look like a single system to users. Users should not know where resources are located or how data is accessed. Transparency includes location, access, migration, concurrency, failure, relocation, persistence, and resource transparency.

2. Openness

Distributed systems should be easy to configure, expand, and modify. They should support standard interfaces and protocols.

3. Reliability

The system should be secure, consistent, and capable of handling failures efficiently. Even if one system fails, others should continue working.

4. Performance

Distributed systems should provide better performance by using multiple computers and sharing workload.

5. Scalability

The system should easily grow in terms of size, users, location, or administration without affecting performance.

Types of Distributed Systems

Distributed systems are mainly classified into two types:

1. Client/Server Systems

In a client-server system:

The client requests services or resources.

The server provides the requested services.

A server can handle multiple clients at the same time.

A client usually communicates with only one server.

Communication happens over a network.

Example: Web browsers (clients) requesting data from web servers.

2. Peer-to-Peer Systems

In peer-to-peer systems:

All nodes are equal.

Each node can act as both a client and a server.

Tasks and resources are shared among all nodes.

Nodes communicate directly with each other through the network.

Example: File-sharing systems.

Advantages of Distributed Systems

Distributed systems offer many advantages:

1. Data Sharing

Data can be easily shared among multiple nodes, improving collaboration and efficiency.

2. Scalability

New computers can be easily added to the system to increase capacity.

3. Failure Handling

If one node fails, the rest of the system continues to work, ensuring system availability.

4. Reliability

Since failures are handled efficiently, distributed systems are highly reliable.

5. Efficiency

Using multiple computers reduces processing time and improves overall system performance.

6. Lesser Delay

Tasks are handled by nodes closer to the user, which reduces response time and improves speed.

Disadvantages of Distributed Systems

Despite many benefits, distributed systems also have some drawbacks:

1. Security Issues

Due to multiple nodes and open connections, ensuring security becomes difficult.

2. High Setup Cost

Initial installation requires many hardware and software components, increasing cost.

3. Data Loss

Data packets may get lost during transmission between nodes, leading to loss of important information.

4. Difficult to Handle

The system is complex to design, manage, and maintain due to hardware and software complexity.

5. Overloading Issue

If many nodes send data at the same time, the system may become overloaded, affecting performance.