Title: CMPE 541 TERM PROJECT PRESENTATION Remote Procedure Call for Distributed Processing
1CMPE 541TERM PROJECT PRESENTATION Remote
Procedure Call for Distributed Processing
EASTERN MEDITERRANEAN UNIVERSITYDEPARTMENT OF
COMPUTER ENGINEERING
2OUTLINE
- Introduction
- Remote Procedure Call (RPC)
- Features of RPC
- User Package
- Design Issues of RPC
- How RPC works?
- Possible failures of RPC
- Conclusion
- References
3INTRODUCTION
- Remote Procedure Calling mechanisms integrate
- Client/Server arrangement with conventional
- procedural programming languages.
- ?In that case clients communicates with servers
by - calling procedures.
Client
Server
Request
Reply
Figure1 Client/Server Model
4Remote Procedue Call
- clients can only access to resources (in server)
only by calling procedures which are supplied by
services - In RPC these services are modules with an
interface that exports procedures to operate
resources. - ( ex authentication service?validity of
names passwords ) - is modelled on the local procedure call but
actually called procedure is executed in
different remote process. -
Caller
Called
Request
NETWORK
Reply
Figure2 RPC
5Features of RPC
- Remote procedure has I/O parameters
- Input parameters client ? server
- values of arguments(in request msg) copied into
variables - and passed as parameters to procedure (in the
server). - Output parameters server ? client
- They are used to replace variables in the client.
- Caller computer cant access to variables in
called computer
6User Package
- is a library of conventional procedures that can
be used in application programs.
Relationship between a client program,user
package andsoftware below RPC interface.
User Package Interface
?
RPC Interface
Figure3 Levels in client software
7User Package
- Why to support application program with user
package - RPC interface is not the most convenient for
client programs because - There are differences between local and remote
procedures - Service should be defined at a level appropriate
for the widest possible use - There are some tasks such as location of suitable
server that must be performed by client
8User Package
- Advantages of user package
- The application progragrammer dont need to work
in an interface definition language. - Improve the performance and reduce the complexity
of remote service (because some of the
functionality of service can be put in user
package).
9Design Issues of RPC
- Interface definition specifies characteristics
of procedures which are provided by server but
visible to clients. - Exception handling is needed for reporting
failures to clients (caller). - Transparency is up to designers of interface
languages. - Transparent case client calls procedures in
normal way - Non-Transparent case client uses special
notation for calling remote procedures.
10How RPC works?
- Binding is necessary when client and server
starts first. - Stub Procedure deals with marshaling and
unmarshaling - Communication Module deals with communication of
client and server.
11Local Call ----------- Local Return
Marshalling Parameters ----------------- Unmarshal
ling Results
Send Req. --------- Receive Reply
CLIENT COMP.
NETWORK
Return ---------- Execute procedure
Marshalling Results --------------- Unmarshalling
Parameters
Send Reply --------- Receive Req.
SERVER COMP.
Figure4 RPCs flow of activity
12Possible failures of RPC
- 1. Request to server may lost
- 2. Server may crashes after receiving request
- 3. Reply to client may lost.
- 4. Client may crashes after sending request.
13CONCLUSION
- RPC is an attractive technique
- to the application programmer it is similar to an
ordinary procedure call - RPC is general technique for interprocess
communication - Today RPC is the core of many distributed
systems - used from object oriented Corba systems and
reliability issues are more evident than in past. - reliability issues are more evident than in past
14REFERENCES
- 1 Coulouris, G., Dollimore, J., Kindberg, T.,
Distributrd Systems Concepts and Designs, 1994. - 2 Y.Liu , D.B.Hoang,1996.OSI remote procedure
call Standardization issues, design and
implementation.Computer communications
20,Elsevier B.V. - 3 Sullivan, M. ,Anderson, D.,1989.Marinette a
System for Parallel Distributed Programming Using
a Master/Slave Model.IEEE. - 4 Software Engineering Enstitute, Remote
Procedure Call, - Available at http//www.sei.cmu.edu/str/desc
riptions/rpc.html - 5 A. D. Marshall, Remote Procedure Call,
Available at http//www.cs.cf.ac.uk/Dave/C/node33
.htmlSECTION003300000000000000000