Professional Documents
Culture Documents
Request/Reply Communication: Purnanand Kumar (CE)
Request/Reply Communication: Purnanand Kumar (CE)
PURNANAND KUMAR
(CE)
RPC Operations
Introduction
Request/Reply Communication
Common technique for one application to request the
services of another.
Introduction Contd
Remote Procedure Call (RPC)
Most widely used request/reply communication model
A language-level abstraction of the request/reply
communication mechanism
How RPC work?
What is the implementation issues for RPC?
RPC Operations
RPC vs. local procedure call.
Similar in syntax as two have calling and waiting
linking
Exception and failure handling
Security
Parameter Passing
In a single process : via parameters and/or global
variables
In multiple processes on the same host : via message
passing .
However, RPC-based clients and servers : passing
The client stub copies the value packages into a network message
by-reference. Call-by-value at the entry of call and call-byreference to the exit of the call
Binding
Binding is the process of connecting the client to the
server
Services are specified by a server interface with interface
Binding Contd
1. The server, when it starts up
Binding Contd
3. Port mapper verifies the program and version numbers,
Binding Contd
directory server
port mapper
2. create
1. register
3. port #
client
server
4. handle
RPC compilation
Compilation of RPC requires the followings:
1.
2.
3.
Failures
Exception Handling
Exceptions must be reported to the clients.
procedure.
Failure Handling
Cannot locate the server
requests-based.
If server not fail, but TCP connection fail: examine the cache
table for duplicated message.
Loss of cache table: at least once and log the cache table to
storage.
Secure RPC
Security is important for RPC, since
1.
2.
Authentication of processes.
Confidentiality of messages.
Mutual authentication.
2.
When user login, NIS gives the key. With user password, the key
used to decrypt the secret key, discard password.
2.
3.
4.
5.
6.
Reference
1.
2.
Interprocess Commnications
http://en.wikipedia.org/wiki/Interprocess_communication
Thank
You