Distributed Application Paradigms - GeeksforGeeks

03 Sep, 2021
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 server 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 
 
kalrap615
Distributed System
Technical Scripter 2019
Operating Systems
Technical Scripter
Operating Systems
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Memory Management in Operating System
Difference between Internal and External fragmentation
Program for Least Recently Used (LRU) Page Replacement algorithm
Logical and Physical Address in Operating System
Mutex lock for Linux Thread Synchronization
States of a Process in Operating Systems
File Allocation Methods
Dining Philosopher Problem Using Semaphores
Process Table and Process Control Block (PCB)
Introduction of Process Management