


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Remote Procedure Call (RPC) is a mechanism that allows distributed applications to communicate with each other across a network, as if they were running on the same machine. It is a fundamental building block of modern distributed systems, allowing programs to transparently invoke functions or methods on a remote machine, without the need for the caller to have any knowledge of the underlying network protocols or details.
Typology: Lecture notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



RPC call semantics We covered request-reply protocols and demonstrated how doOperation may be implemented in several ways to offer various delivery guarantees. The principal options are:
Once at least Yes Yes Response sent again At-most-once displays the relevant options along with names for the resulting semantics. Keep in mind that the semantics for local procedure calls are precisely once, which means that each procedure is run exactly once (except in the case of process failure). The following definitions outline the options for RPC invocation semantics. Maybe semantics: The remote procedure call may be executed once or not at all when maybe semantics are used. Maybe semantics develops in the absence of fault-tolerance controls and is susceptible to the following failure types:
done once; if it were repeated, the sum would keep increasing! At-least-once call semantics could be acceptable if server activities can be planned so that every procedure in their service interfaces is an idempotent operation. At-most-once semantics: With at-most-once semantics, the caller will either know that the method was performed precisely once upon receiving a result, or upon receiving an exception notifying it that no result was obtained, in which case the procedure will have either been executed once or not at all. All of the fault-tolerance techniques shown in Figure 5.9 can be used to obtain at-most-once semantics. The use of retries, like in the prior instance, hides any request or result message omission failures. This collection of fault tolerance controls makes sure that a process is never run more than once for each RPC, preventing arbitrary failures. At least-once call semantics are offered by Sun RPC.