B. H. Tay
A. L. Ananda
D e p a r t m e n t of I n f o r m a t i o n S y s t e m s a n d C o m p u t e r S c i e n c e
N a t i o n a l U n i v e r s i t y of S i n g a p o r e
K e n t Ridge Crescent
S i n g a p o r e 0511
BITNET: taybengh@nusdiscs
Abstract
The Remote Procedure Call (RPC) is a popular paradigm for inter-process communication (IPC) between processes in different computers across the network. It is widely used in various Distributed Systems. Although it is conceptually simple and straightforward to implement, there are a lot of different and subtle issues involved which result different RPC implementations. In this paper, various distinctive RPC implementations are surveyed, analyzed and compared: Xerox Courier RPC, Xerox Cedar RPC, Sun ONC/RPC, Apollo
NCA/RPC, Cambridge Mayflower Project RPC, MIT Athena Project RPC,
Stanford Modula/V RPC, and Rajdoot RPC are presented. The design objectives, features provided, call semantics, orphan treatment, binding, transport protocols supported, security/authentication, data representation and application programming interface of these RPCs are examined.
1. I n t r o d u c t i o n
Remote Procedure Call (RPC) is an easy and popular paradigm for developing distributed applications [26]. It is widely used as a communication mechanism in distributed systems, such as the Network Computing Architecture (NCA) from HP/Apollo [12] [13] [37] and Amoeba distributed operating system [32] [133]. Although RPC is conceptually simple and straightforward, there are a lot of subtle and difficult issues involved [23] [24] [30] [31].
Sometimes certain system parameters have to be traded off against other parameters in the design of different RPC. As a result, there are a lot of different RPC implementations available, both in the research and industrial environment.
The main objective of this paper is to select a few distinctive RPC implementations
References: [1] Project Athena Executive Committee, "An Introduction to Project Athena", MIT, 1983. [4] J.M. Bacon and K.G. Hamilton, "Distributed Computing with the RPC: the Cambridge Approach", Distributed Processing, IFIP, North-Holland, 1988, pp Applications", In Proc. of the 1987 Summer USENIX Conference (Phoenix, Ariz., June), USENIX Association, Berkeley, Calif., 1987, pp Mishkin, Joseph N. Pato, and Geoffrey L. Wyant, Network Computing System Reference Manual, Prentice-Hall, Englewood Cliffs, N.J., 1990. 77 [15] Joshua Levy, "A Comparison of Commercial RPC Systems", Atherton Technology, 1989. Systems, 1986. [27] Sun Microsystems, "XDR: External Data Representation Standard (RFC 1014)", in Internet Network Working Group Request for Comments, No 78 [29] Sun Microsystems, "NFS: Network File System Protocol Specification (RFC 1094)", in Internet Network Working Group Request for Comments, No. 1094, Network Information Center, SRI International, Mar 1989.