A survey of asynchronous remote procedure calls

Abstract
Remote Procedure Call (RPC) is a popular paradigm for interprocess communication in distributed systems. It is simple, flexible and powerful. However, most of the RPC systems today are synchronous in nature, and hence fail to exploit fully the parallelism inherent in distributed applications. In view of this, various asynchronous RPC systems have been designed and implemented to achieve higher parallelism while retaining the familiarity and simplicity of synchronous RPC. Asynchronous RPC calls do not block the caller (client) and the replies can be received as and when they are needed, thus allowing the client execution to proceed locally in parallel with the callee (server) invocation. Asynchronous RPC calls can be classified into two types depending on whether the calls return a value. Most asynchronous RPC systems only support calls that do not return a value, and few support both classes. In this paper, an analysis and comparison of various asynchronous RPC systems are presented.

This publication has 17 references indexed in Scilit: