Paradigm means an idea or pattern. In this article, we will see the classification of the paradigms for distributed applications.
Level of Abstraction:
Message Passing Paradigm:
It is a basic approach for Inter Process Communication. The data exchange between the sender and the receiver. A process sends a message representing the request. The receiver receives and processes it then sends back as reply.
Operations: send, receive Connections: connect, disconnect
Client Server Paradigm:
In this approach, the server acts as a service provider, the client issues the request and wait for the response from the server. Here server is dump machine. Until client make a call sever doesn’t communicate. Many Internet services are client-server applications.
Server Process: listen, accept Client Process: issue the request, accept the response
Peer to Peer Paradigm:
Direct communication between processes. Here is no client or server, anyone can make request to others and get the response.
Example: A well-known example of a peer-to-peer file transfer.
Message System Paradigm:
Message system act as intermediate among independent processes. It is also act as switch through which process exchange messages asynchronously in decoupled manner. sender sends message which drop at first in message system then forward to message queue which is associated with the receiver.
- Point to Point message model
- Publish/Subscribe model
Point to Point message model:
Forward message from sender to receiver via message system. The message system keeps repository of messages and directly forward messages to the receiver’s message queue. Unlike the basic message-passing model, it provides asynchronous message passing.
In this model, each message is associated with a specific topic or event. whoever interest in the messages can subscribe to the event before it occurs. When the waited event occurs, the process publishes the message with an event or topic. Then the message system distributes messages to all the subscribers.
Example: IBM MQ service, Microsoft Message Queuing
Remote Procedure Call:
Local procedure call happens only within a local machine. Remote Procedure call(RPC) happens between two remote machines.
RPC involves two independent processes that may reside on a separate machine. Process A wishing to make a request process B for procedure call with a list of arguments. Process B operates the procedure and return values to Process A.
Distributed Object Paradigm:
Application access the objects distributed over the network. Objects provide methods, through the invocation of which an application obtains access to services.
- Remote Method Invocation (RMI)
- Object Request Broker
- Object Space
Remote Method Invocation:
RMI is more like RPC but major difference is, it is object-oriented approach. A process invokes the methods in an object, which may reside in a remote host. Arguments may be passed with the invocation.
Object Request Broker (ORB):
ORB acts as mediator between objects and object requester, it allows requester can access multiple remote objects. An application issues requests to an object request broker (ORB), which directs the request to an appropriate object that provides service.
Objects are placed as logical entities in the space called object space. Providers place their objects entries in the objects space. Requests who subscribe can access the objects.
Mobile Agent Paradigm:
Mobile agent starts from originated host and transports over host to host. At each host, the agent can access the services or resources to complete the mission.
Network Service Paradigm:
All the service objects are register with global directory service. If process want a service can contact directory service at runtime. Requestor is provided a reference, using which process interact with service. services are identified by the global unique identifier.
Example: Java Jini
Collaborative Application Paradigm:
processes participate in a collaborative session as a group. Each participating process may contribute input to part or all of the group.
- Message based groupware paradigm
- Whiteboard based groupware paradigm
Message based groupware paradigm:
A host can multicast to send data to all hosts in the group or part of the hosts in the group.
Whiteboard based groupware paradigm:
The information is available on the public board in the group whoever in the group can access it. Anyone can read or write data to a shared display
- Limitation of Distributed System
- Difference between Network OS and Distributed OS
- Advantages of Distributed database
- Hashing in Distributed Systems
- Synchronization in Distributed Systems
- Mutual exclusion in distributed system
- Deadlock detection in Distributed systems
- Interprocess Communication in Distributed Systems
- Deadlock Detection in Distributed Systems
- Implementation of Access Matrix in Distributed OS
- Algorithm for implementing Distributed Shared Memory
- Hierarchical Deadlock Detection in Distributed System
- Comparison - Centralized, Decentralized and Distributed Systems
- Maekawa’s Algorithm for Mutual Exclusion in Distributed System
- Lamport's Algorithm for Mutual Exclusion in Distributed System
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.