The K Zone, Home

About Me

K View

Projects

Papers

Gallery

Email

 

 

 
 

Evaluation of RMI - Page 3

 

Back to Contents Page

 
 

 

2. RMI versus Remote Process Calls (RPC)

2.2 Remote Process Calls (RPC)

RPC was formally introduced in the early 1980's [BAD 84] and describes how cooperating processes on different network nodes can communicate and coordinate activities. RPC is based upon the concept of traditional procedure calls. Traditional procedure calls takes place between procedures of a single process in the same memory on a single system. RPC differs in that it takes place between a client process on one system and a server process on another system where both systems are connected by a network.
A look at the RPC implementation structure, Figure 3, reveals how this is achieved.

RPC Implementation Structure

Figure 3. RPC implementation structure [5]

A client application, wishing to issue a procedure call, issues a normal procedure call to a client stub. The role of the client stub is to receive arguments from the calling procedure and convert them from the clients' local data representation to a common data representation. The arguments are then encapsulated in a message and a call is made to the client runtime which transmits the message to the server runtime.
The server runtime calls the server stub and it is the role of the stub to extract the input arguments from the message and convert them into the local data representation of the server. The stub then calls the server application, with the input arguments, to begin processing. When the server application has finished processing the output arguments are passed to the server stub. The output arguments are converted to the common data representation and encapsulated into a message before being passed to the client stub. The client stub extracts the output arguments from the message and converts them to the clients' local data representation. Finally the arguments are returned to the calling procedure.

Next Page

 

 

Home | About Me | K View | Projects | Papers | Gallery | Email