History
- Distributed systems did not start suddenly. They evolved gradually from networking developments.
- The true distributed system era began in the late 1970s and early 1980s with the development of LANs and client-server computing.
- A brief history of the development of a distributed system is as follows –
- Early Foundations (1965 – 1975) : In this time period-
- Mainframe computers were dominant.
- ARPANET was developed in 1969.
- Beginning of computer networking.
- Early Foundations (1965 – 1975) : In this time period-
This period laid the foundation of distributed computing.
-
- Emergence of Distributed Systems (Late 1970s – 1980s/1975 – 1989) : In this time period-
- The development of LAN (Local Area Networks)started.
- Introduction of Ethernet (1973, widely used in the 1980s).
- TCP/IP protocol adoption (1983).
- Client-Server architecture introduced
- Emergence of Distributed Systems (Late 1970s – 1980s/1975 – 1989) : In this time period-
This is considered the real birth period of distributed systems.
-
- Internet-Based Distributed Systems (1990s/1990 – 2000) : In this time period –
- World Wide Web was invented (1991)
- Web servers and browsers were developed
- Distributed databases
- Middleware technologies (CORBA, RMI)were invented.
- Internet-Based Distributed Systems (1990s/1990 – 2000) : In this time period –
Distributed systems became global.
-
- Cluster & Grid Computing Era (2000 – 2010): In this time period –
- High-performance distributed computing.
- Scientific simulations.
- Data centers
- Cloud & Modern Distributed Systems (2010 – Present) : In this time period –
- Cloud computing (AWS launched in 2006, growth after 2010)
- Microservices architecture
- IoT systems
- Blockchain
- Edge computing
- Cluster & Grid Computing Era (2000 – 2010): In this time period –
Introduction
- A distributed system was developed as a solution to overcome the limitations of centralized systems, such as high cost, limited scalability, and a single point of failure.
Definition
- A distributed System is a system in which multiple independent computers communicate and coordinate with each other through a network to achieve a common goal.
- A distributed system is a collection of autonomous computers connected by a network that communicate and coordinate their actions by passing messages.
Characteristics
- A distributed system is a collection of networked computers that work together as a single system or appear to users as a single unified system.
Advantages
- Resource Sharing – This system shares hardware, software, and data.
- Concurrency – This system has multiple processes running simultaneously.
- Scalability – This system can be expanded by adding more systems.
- Fault Tolerance – The system continues even if one node fails.
- Transparency – This system appears as a single system to users.
Disadvantages
- Although distributed systems have many advantages, they also have several disadvantages. These are –
- Complexity
- Distributed systems are complex to design and manage because multiple computers are connected, and hence, debugging is difficult because errors may occur on different machines.
- Network Dependency
- This system depends heavily on network connectivity. If the network fails, communication stops, and performance decreases with a slow network.
- Security Issues
- Since in this system, data is transmitted over networks hence higher risk of Hacking, Unauthorized access, and data breaches.
- Data Consistency Problems
- Maintaining the same data on multiple machines is difficult. Synchronization issues may also occur. Data replication can cause inconsistency.
- Fault Detection is Difficult
- In a distributed system, Hard to detect which system failed among multiple systems. The failure of one node may affect others. Troubleshooting requires advanced tools.
- High Initial Cost
- Since it uses multiple systems, networking equipment, and skilled administrators finally incurs high costs.
- Overhead of Communication
- In this, communication between nodes takes time, message passing increases the delay, and network congestion may occur.
- Software Complexity
- Requires special distributed operating systems or middleware, and programming is more complicated than centralized systems.
- Complexity
Classification of Distributed System
Distributed systems can be classified into various categories – based on architecture and functionality.
(A)Based on the Architecture, a distributed system may be –
(a) Client-Server Architecture
- Example: Banking System
(b) Peer-to-Peer (P2P) Architecture
- P2P architecture has no central server or has a decentralized structure.
- In P2P, each node acts as both client and server.
- It is comparatively less secure than client-server architecture.
- It is less costly than client-server architecture.
- For example: BitTorrent network.
(B) Based on the number of Tiers, a distributed system may be –
(a) Two-Tier Architecture
- This architecture consists of two layers/tiers – Client and Server
- For example: Desktop app connected to the database
(b) Three-Tier Architecture
- This architecture consists of three layers/tiers –
- Presentation layer (Client)
- Application layer (Server)
- Database layer
- For example: Web applications
(c) N-Tier Architecture
- This architecture consists of multiple layers/tiers –
- For example – Used in large enterprise systems
(C) Based on the Application Type, a distributed system may be –
(a) Distributed Computing Systems
- It may be –
- Grid computing
- Cloud computing
(b) Distributed Information Systems
- It may be –
- Banking networks
- Airline reservation systems
(c) Distributed Embedded Systems
- It may be –
- IoT systems
- Smart home devices
![]()
0 Comments