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.

This period laid the foundation of distributed computing.

    • Emergence of Distributed Systems (Late 1970s1980s/19751989) :  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

This is considered the real birth period of distributed systems.

    • Internet-Based Distributed Systems (1990s/19902000) : In this time period –
      • World Wide Web was invented (1991)
      • Web servers and browsers were developed
      • Distributed databases
      • Middleware technologies (CORBA, RMI)were invented.

Distributed systems became global.

    • Cluster & Grid Computing Era (20002010): 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

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.

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

    Loading


    0 Comments

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.