Distributed Application Paradigms

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.

Types:

  • 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.



Public/Subscribe Model:
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.
Types:

  • 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.
Example: CORBA



Object Space:
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.
Types:

  • 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

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.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.