SlideShare a Scribd company logo
1 of 14
RMC-Remote Procedure Call
M.Jagadeesh, Assistant Professor, Information Technology,
MNM Jain Engineering College, Chennai
Styles of exchange protocols
Request (R) protocol-
No requirement of reply or acknowledgment .
Soon after request, the client carries out with
the other application. Implemented over
datagram protocol.
Request- reply protocol(RR) –
No ACK required because reply acts as ACK.
Implemented on UDP.
Request- reply- ACK protocol(RRA)-
The ACK message contains requestId from the
reply message being acknowledged. The arrival
of requestId in ACK is interpreted as ACK
receipt of all reply messages with lower
requestId.
Definition of Remote Procedure Call
When a process on machine A
calls a procedure on machine B,
the calling process on A is
suspended, and execution of the
called procedure takes place on B.
Information can be transported
from the caller to the callee in the
parameters and can come back in
the procedure result. This method
is known as Remote Procedure
Call.
A procedure call is also
sometimes known as a function
call or a subroutine call.
Message passing is hidden to the
programmer.
RPC Model
It is similar to commonly used procedure call
model. RPC is generally implemented over a
request- reply protocol. It works in the following
manner:
1. For making a procedure call, the caller places
arguments to the procedure in some well specified
location.
2. Control is then transferred to the sequence of
instructions that constitutes the body of the
procedure.
3. The procedure body is executed in a newly created
execution environment that includes copies of the
arguments given in the calling instruction.
4. After the procedure execution is over, control
returns to the calling point, returning a result.
Difference between local and
remote procedure call
 Local procedure call is done either by call by value
or call by address/ reference.
 Disjoint Address Space-In remote procedure call ,
this is not possible because the address space of
procedure calling and one that is called are
different.
 So RPC can be done by *stubs- proxies, Flattening-
marshalling.
 *Stubs- A stub is a piece of code that is used to
convert parameters during a RPC. Since RPC
allows a client computer to call remote procedures
on server as local procedures, the parameters
used in function call have to be converted. Stub
libraries are installed on the client and server.
Steps in a remote procedure call
 The client calls a local procedure, called the client stub. To the client process,
this appears to be the actual procedure, because it is a regular local
procedure. It just does something different since the real procedure is on the
server. The client stub packages the parameters to the remote procedure
(this may involve converting them to a standard format) and builds one or
more network messages. The packaging of arguments into a network
message is called marshaling and requires serializing all the data elements
into a flat array-of-bytes format.
 Network messages are sent by the client stub to the remote system (via a
system call to the local kernel using sockets interfaces).
 Network messages are transferred by the kernel to the remote system via
some protocol (either connectionless or connection-oriented).
 A server stub, sometimes called the skeleton, receives the messages on the
server. It unmarshals the arguments from the messages and, if necessary,
converts them from a standard network format into a machine-specific form.
 The server stub calls the server function (which, to the client, is
the remote procedure), passing it the arguments that it received
from the client.
 When the server function is finished, it returns to the server stub
with its return values.
 The server stub converts the return values, if necessary, and
marshals them into one or more network messages to send to the
client stub.
 Messages get sent back across the network to the client stub.
 The client stub reads the messages from the local kernel.
 The client stub then returns the results to the client function,
converting them from the network representation to a local one if
necessary.
 The client code then continues its execution.
Transparency of RPC
1. Syntactic Transparency means that the
remote procedure call should have exactly
the same syntax as a local procedure call.
2. Semantic Transparency means that the
semantics of a remote procedure call are
identical to those of a local procedure call
 RPC procedure call semantics
RPC supports 3 different “call semantics” that
define the level of guarantee of requests:
1. maybe call semantics.
2. at-least-once call semantics.
3. at-most-once call semantics.
maybe call semantics:
 No retransmission of request messages.
 Client is not certain whether the procedure has been executed or
not.
 No fault-tolerance measures (RPC call may or may not be
successful).
 Generally not acceptable (low level of guarantee).
at-least-once call semantics:
 The message module repeatedly resends request messages after
timeouts occur until it either gets a reply message or a
maximum number of retries have been made.
 No duplicate request message filtering.
 The remote procedure is called at least once if the server is not
down.
 The client does not know how many times the remote procedure
has been called. This could produce undesirable results (e.g.,
money transfer) unless the called procedure is “idempotent” (=
repeatable with the same effect as a single call).
at-most-once call semantics:
 Retransmission of request messages.
 Duplicate request message filtering.
 If the server does not crash and the client receives the
result of a call, then the procedure has been called
exactly once. Otherwise, an exception is reported and
the procedure will have been called either once or not at
all.
 Works for both idempotent and non-idempotent
operations.
 More complex support required due to the need for
request message filtering and for keeping track of
replies.
Comparison

More Related Content

What's hot

Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)Sri Prasanna
 
Distributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionDistributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionSHIKHA GAUTAM
 
2.communcation in distributed system
2.communcation in distributed system2.communcation in distributed system
2.communcation in distributed systemGd Goenka University
 
Load Balancing In Distributed Computing
Load Balancing In Distributed ComputingLoad Balancing In Distributed Computing
Load Balancing In Distributed ComputingRicha Singh
 
Task communication
Task communicationTask communication
Task communication1jayanti
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systemsSHATHAN
 
Message passing ( in computer science)
Message   passing  ( in   computer  science)Message   passing  ( in   computer  science)
Message passing ( in computer science)Computer_ at_home
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Data Replication in Distributed System
Data Replication in  Distributed SystemData Replication in  Distributed System
Data Replication in Distributed SystemEhsan Hessami
 
Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)Sri Prasanna
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...Sehrish Asif
 
A new, efficiet coordinated checkpointing protocol combined with selective se...
A new, efficiet coordinated checkpointing protocol combined with selective se...A new, efficiet coordinated checkpointing protocol combined with selective se...
A new, efficiet coordinated checkpointing protocol combined with selective se...Mumbai Academisc
 

What's hot (20)

Chapter 11
Chapter 11Chapter 11
Chapter 11
 
Distributed Coordination-Based Systems
Distributed Coordination-Based SystemsDistributed Coordination-Based Systems
Distributed Coordination-Based Systems
 
5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)
 
Distributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionDistributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock Detection
 
Remoting and serialization
Remoting and serializationRemoting and serialization
Remoting and serialization
 
2.communcation in distributed system
2.communcation in distributed system2.communcation in distributed system
2.communcation in distributed system
 
Process Management-Process Migration
Process Management-Process MigrationProcess Management-Process Migration
Process Management-Process Migration
 
Load Balancing In Distributed Computing
Load Balancing In Distributed ComputingLoad Balancing In Distributed Computing
Load Balancing In Distributed Computing
 
message passing
 message passing message passing
message passing
 
Task communication
Task communicationTask communication
Task communication
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
 
Message passing ( in computer science)
Message   passing  ( in   computer  science)Message   passing  ( in   computer  science)
Message passing ( in computer science)
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Data Replication in Distributed System
Data Replication in  Distributed SystemData Replication in  Distributed System
Data Replication in Distributed System
 
Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)Mutual Exclusion Election (Distributed computing)
Mutual Exclusion Election (Distributed computing)
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
 
A new, efficiet coordinated checkpointing protocol combined with selective se...
A new, efficiet coordinated checkpointing protocol combined with selective se...A new, efficiet coordinated checkpointing protocol combined with selective se...
A new, efficiet coordinated checkpointing protocol combined with selective se...
 

Similar to Remote Procedure Call

RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure callSunita Sahu
 
Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Avishek Sarkar
 
Remote invocation
Remote invocationRemote invocation
Remote invocationishapadhy
 
Remote procedure call on client server computing
Remote procedure call on client server computingRemote procedure call on client server computing
Remote procedure call on client server computingSatya P. Joshi
 
Remote procedure calls
Remote procedure callsRemote procedure calls
Remote procedure callsimnomus
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptxFamiDan
 
Distributes objects and Rmi
Distributes objects and RmiDistributes objects and Rmi
Distributes objects and RmiMayank Jain
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Peter R. Egli
 
COMMUNICATION IN DISTRIBUTED SYSTEMS
COMMUNICATION IN DISTRIBUTED SYSTEMSCOMMUNICATION IN DISTRIBUTED SYSTEMS
COMMUNICATION IN DISTRIBUTED SYSTEMSSaji banu
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure CallNadia Nahar
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote InvocationMedicaps University
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed ComputingAbhishek Jaisingh
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.pptsirajmohammed35
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3farshad33
 

Similar to Remote Procedure Call (20)

RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020
 
Remote invocation
Remote invocationRemote invocation
Remote invocation
 
Remote procedure call on client server computing
Remote procedure call on client server computingRemote procedure call on client server computing
Remote procedure call on client server computing
 
Remote procedure call
Remote procedure callRemote procedure call
Remote procedure call
 
Remote procedure calls
Remote procedure callsRemote procedure calls
Remote procedure calls
 
Lecture9
Lecture9Lecture9
Lecture9
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
 
MSB-Remote procedure call
MSB-Remote procedure callMSB-Remote procedure call
MSB-Remote procedure call
 
Distributes objects and Rmi
Distributes objects and RmiDistributes objects and Rmi
Distributes objects and Rmi
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
 
COMMUNICATION IN DISTRIBUTED SYSTEMS
COMMUNICATION IN DISTRIBUTED SYSTEMSCOMMUNICATION IN DISTRIBUTED SYSTEMS
COMMUNICATION IN DISTRIBUTED SYSTEMS
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
Rpc
RpcRpc
Rpc
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote Invocation
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.ppt
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 

More from MNM Jain Engineering College (12)

IT8602 MOBILE COMMUNICATION.docx
IT8602 MOBILE COMMUNICATION.docxIT8602 MOBILE COMMUNICATION.docx
IT8602 MOBILE COMMUNICATION.docx
 
IT8602 Syllabus.pdf
IT8602 Syllabus.pdfIT8602 Syllabus.pdf
IT8602 Syllabus.pdf
 
Mg8591 syllabus
Mg8591 syllabusMg8591 syllabus
Mg8591 syllabus
 
Ccse ii model_qp
Ccse ii model_qpCcse ii model_qp
Ccse ii model_qp
 
Task assignment approach
Task assignment approachTask assignment approach
Task assignment approach
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
Engineering Ethics
Engineering EthicsEngineering Ethics
Engineering Ethics
 
It6312 dbms lab-ex2
It6312 dbms lab-ex2It6312 dbms lab-ex2
It6312 dbms lab-ex2
 
Expected questions in Artificial Intelligence
Expected questions in Artificial IntelligenceExpected questions in Artificial Intelligence
Expected questions in Artificial Intelligence
 
Qp mobile & pervasive 2015
Qp mobile & pervasive 2015Qp mobile & pervasive 2015
Qp mobile & pervasive 2015
 
It6611 mobile application development laboratory l t p c0 0 3 2
It6611 mobile application development laboratory l t p c0 0 3 2It6611 mobile application development laboratory l t p c0 0 3 2
It6611 mobile application development laboratory l t p c0 0 3 2
 
Instruction formats-in-8086
Instruction formats-in-8086Instruction formats-in-8086
Instruction formats-in-8086
 

Recently uploaded

18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 

Recently uploaded (20)

18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 

Remote Procedure Call

  • 1. RMC-Remote Procedure Call M.Jagadeesh, Assistant Professor, Information Technology, MNM Jain Engineering College, Chennai
  • 2. Styles of exchange protocols Request (R) protocol- No requirement of reply or acknowledgment . Soon after request, the client carries out with the other application. Implemented over datagram protocol. Request- reply protocol(RR) – No ACK required because reply acts as ACK. Implemented on UDP. Request- reply- ACK protocol(RRA)- The ACK message contains requestId from the reply message being acknowledged. The arrival of requestId in ACK is interpreted as ACK receipt of all reply messages with lower requestId.
  • 3. Definition of Remote Procedure Call When a process on machine A calls a procedure on machine B, the calling process on A is suspended, and execution of the called procedure takes place on B. Information can be transported from the caller to the callee in the parameters and can come back in the procedure result. This method is known as Remote Procedure Call. A procedure call is also sometimes known as a function call or a subroutine call. Message passing is hidden to the programmer.
  • 4. RPC Model It is similar to commonly used procedure call model. RPC is generally implemented over a request- reply protocol. It works in the following manner: 1. For making a procedure call, the caller places arguments to the procedure in some well specified location. 2. Control is then transferred to the sequence of instructions that constitutes the body of the procedure. 3. The procedure body is executed in a newly created execution environment that includes copies of the arguments given in the calling instruction. 4. After the procedure execution is over, control returns to the calling point, returning a result.
  • 5. Difference between local and remote procedure call  Local procedure call is done either by call by value or call by address/ reference.  Disjoint Address Space-In remote procedure call , this is not possible because the address space of procedure calling and one that is called are different.  So RPC can be done by *stubs- proxies, Flattening- marshalling.  *Stubs- A stub is a piece of code that is used to convert parameters during a RPC. Since RPC allows a client computer to call remote procedures on server as local procedures, the parameters used in function call have to be converted. Stub libraries are installed on the client and server.
  • 6.
  • 7. Steps in a remote procedure call
  • 8.  The client calls a local procedure, called the client stub. To the client process, this appears to be the actual procedure, because it is a regular local procedure. It just does something different since the real procedure is on the server. The client stub packages the parameters to the remote procedure (this may involve converting them to a standard format) and builds one or more network messages. The packaging of arguments into a network message is called marshaling and requires serializing all the data elements into a flat array-of-bytes format.  Network messages are sent by the client stub to the remote system (via a system call to the local kernel using sockets interfaces).  Network messages are transferred by the kernel to the remote system via some protocol (either connectionless or connection-oriented).  A server stub, sometimes called the skeleton, receives the messages on the server. It unmarshals the arguments from the messages and, if necessary, converts them from a standard network format into a machine-specific form.
  • 9.  The server stub calls the server function (which, to the client, is the remote procedure), passing it the arguments that it received from the client.  When the server function is finished, it returns to the server stub with its return values.  The server stub converts the return values, if necessary, and marshals them into one or more network messages to send to the client stub.  Messages get sent back across the network to the client stub.  The client stub reads the messages from the local kernel.  The client stub then returns the results to the client function, converting them from the network representation to a local one if necessary.  The client code then continues its execution.
  • 10. Transparency of RPC 1. Syntactic Transparency means that the remote procedure call should have exactly the same syntax as a local procedure call. 2. Semantic Transparency means that the semantics of a remote procedure call are identical to those of a local procedure call
  • 11.  RPC procedure call semantics RPC supports 3 different “call semantics” that define the level of guarantee of requests: 1. maybe call semantics. 2. at-least-once call semantics. 3. at-most-once call semantics.
  • 12. maybe call semantics:  No retransmission of request messages.  Client is not certain whether the procedure has been executed or not.  No fault-tolerance measures (RPC call may or may not be successful).  Generally not acceptable (low level of guarantee). at-least-once call semantics:  The message module repeatedly resends request messages after timeouts occur until it either gets a reply message or a maximum number of retries have been made.  No duplicate request message filtering.  The remote procedure is called at least once if the server is not down.  The client does not know how many times the remote procedure has been called. This could produce undesirable results (e.g., money transfer) unless the called procedure is “idempotent” (= repeatable with the same effect as a single call).
  • 13. at-most-once call semantics:  Retransmission of request messages.  Duplicate request message filtering.  If the server does not crash and the client receives the result of a call, then the procedure has been called exactly once. Otherwise, an exception is reported and the procedure will have been called either once or not at all.  Works for both idempotent and non-idempotent operations.  More complex support required due to the need for request message filtering and for keeping track of replies.