DISTRIBUTED SYSTEM
CHAPTER 10 : CASE STUDY
LAB WORK SOLUTION- DISTRIBUTED SYSTEM
DISTRIBUTED SYSTEM -BCA -ALL SLIDES
MCQ- DISTRIBUTED SYSTEM

MODELS OF DISTRIBUTED SYSTEM

CLIENT SERVER MODEL

The client-server model is a fundamental and widely used architecture for distributed systems. 

Clients: These are user applications or processes that initiate requests for services or data from the server. They typically have a user interface for interacting with the system and limited processing power for complex tasks.

Servers: These are powerful machines that run server programs and provide services or resources to clients. They manage data, perform computations, and handle client requests.
 

Working of Client-Server Model :

  • Communication: Clients initiate communication by sending requests to servers. These requests can be for data retrieval, performing an operation, or accessing a service.
  • Request Processing: The server receives the request, processes it, and generates a response. This may involve accessing databases, performing calculations, or interacting with other servers.
  • Response Delivery: Finally, the server sends the response back to the client. The client interprets the response and updates its user interface or performs further actions based on the information received.

Benefits of Client-Server Model:

  • Scalability: Servers can be scaled up by adding more powerful hardware or by distributing tasks across multiple servers to handle increasing workloads from clients.
  • Centralized Management: Data and critical resources are managed on the server, simplifying administration and security.
  • Resource Sharing: Servers can share resources like databases and applications with multiple clients, optimizing resource utilization.
  • Flexibility: Different types of clients (web browsers, mobile apps, etc.) can connect to the same server as long as they understand the communication protocol.

Drawbacks of Client-Server Model:

  • Single Point of Failure: If the server fails, all connected clients are affected and lose access to services.
  • Performance Bottleneck: A heavily loaded server can become a bottleneck, impacting performance for all connected clients.
  • Security Concerns: Security breaches on the server can expose sensitive data from all clients.
  • Network Dependency: The system relies on a reliable network connection for communication between clients and servers.

Examples of Client-Server Model:

The client-server model is used in various applications, including:

  • World Wide Web: Web browsers (clients) request web pages and resources from web servers.
  • Email Systems: Email clients connect to email servers to send and receive emails.
  • Online Banking: Banking applications (clients) connect to bank servers to access account information and perform transactions.
  • Database Systems: Database applications (clients) connect to database servers to store, retrieve, and manipulate data.

PEER TO PEER MODEL

In contrast to the client-server model, the peer-to-peer (P2P) model functions in a much more democratic way. All participants act as both clients and servers, sharing resources and workload amongst themselves. There are no dedicated server machines.

Characteristics of P2P systems:

  • Distributed Resources: Each peer contributes a portion of its resources, such as storage space, processing power, or files, to the network. This collective resource pool benefits all participants.
     
  • Direct Communication: Peers communicate directly with each other to exchange data or request resources. There's no central coordinator that routes communication.
     
  • Self-Organization: Peers can join and leave the network dynamically. The system automatically adapts to the changing number of participants.
     
  • Decentralization: There's no single point of failure. If one peer goes offline, the network can still function using the remaining active peers.
     

Benefits of P2P Model:

  • Scalability: The system can easily scale as more peers join the network, distributing the workload and increasing resource availability.
     
  • Fault Tolerance: The lack of a central server eliminates a single point of failure, making the network more resilient to outages.
     
  • Cost-Effectiveness: No need for dedicated server infrastructure, reducing overall system costs.
     
  • Anonymity: In some P2P models, users can remain anonymous as there's no central authority tracking activity.
     

Drawbacks of P2P Model:

  • Security Concerns: Malicious peers can infiltrate the network, introducing security risks like malware or copyright infringement.
     
  • Search Complexity: Finding specific data or resources can be challenging due to the decentralized nature of the network.
     
  • Performance Variability: Performance can depend on the availability and capabilities of individual peers in the network.
     
  • Limited Centralized Control: Difficult to enforce rules or manage content due to the lack of a central authority.
     

Examples of P2P Model:

  • File Sharing Networks: Popularized for sharing music and movies, these networks allow users to directly connect and share files.
     
  • BitTorrent: A popular file-sharing protocol that leverages P2P principles for efficient file distribution.
     
  • Blockchain Technology: Cryptocurrencies like Bitcoin rely on P2P networks to maintain a distributed ledger of transactions.
     
  • Collaborative Content Creation Platforms: Some online communities or document editing tools function using P2P models for real-time collaboration.