written 6.9 years ago by | modified 2.9 years ago by |
Subject :- Data Structures
Topic :- Communication
Difficulty :- Medium
written 6.9 years ago by | modified 2.9 years ago by |
Subject :- Data Structures
Topic :- Communication
Difficulty :- Medium
written 6.8 years ago by |
• RPC (Remote Procedure Call) is a technique used for for constructing distributed, client-server based applications. It provides a communication mechanism by which a procedure stored on remote machine can be called by the client. The called procedure need not to be exist in the same address space as the calling procedure. The two processes may be on the same system, or they may be on different systems with a network connecting them. By using RPC, programmers of distributed applications avoid the details of the interface with the network. The transport independence of RPC isolates the application from the physical and logical elements of the data communications mechanism and allows the application to use a variety of transports.
• RPC makes the client/server model of computing more powerful and easier to program.
• The main components of RPC architecture are Clent, Client Stub, Server, Server Stub and RPC Runtime.
Working:
• The execution phases of an RPC thread, as shown in Execution Phases of an RPC Thread include the following:
The RPC operation begins in the client machine by client program, as a client application makes an RPC to its stub.
The Client stub packs the parameters to be sent to server process in the form of a message.
The RPC Runtime at the client forwards the message to server through the communication network.
RPC Runtime component at server side forwards the message to server stub.
Server stub unpacks the parameters and hands over the parameters to the remote procedure.
The remote procedure gets executed, and results are sent back to the client in the reverse direction