ACM Home Page
Please provide us with feedback. Feedback
A survey of remote procedure calls
Full text PdfPdf (738 KB)
Source ACM SIGOPS Operating Systems Review archive
Volume 24 ,  Issue 3  (July 1990) table of contents
Pages: 68 - 79  
Year of Publication: 1990
ISSN:0163-5980
Authors
B. H. Tay  Department of Information Systems and Computer Science, National University of Singapore, Kent Ridge Crescent, Singapore 0511
A. L. Ananda  Department of Information Systems and Computer Science, National University of Singapore, Kent Ridge Crescent, Singapore 0511
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 85,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/382244.382832
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
[1] Project Athena Executive Committee, "An Introduction to Project Athena", MIT, 1983.
 
2
[2] Almes, G., "The Impact of Language and System on Remote Procedure Call Design", Proc. of 6th International Conference on Distributed Computing Systems, May 1986, pp. 414-421.
3
 
4
[4] J. M. Bacon and K. G. Hamilton, "Distributed Computing with the RPC: the Cambridge Approach", Distributed Processing, IFIP, North-Holland, 1988, pp. 355-369.
 
5
6
 
7
[7] Nelson, B. J., "Remote Procedure Call", Tech. Rep. CSL-81-9, Xerox Palo Alto Research Center, Palo Alto, Calif. 1981.
 
8
[8] Cheriton, D. R., "The V kernel: A Software Base for Distributed Systems", IEEE Software, Vol. 1, No. 2, 1984, pp. 19-42.
9
10
 
11
[11] Eric C. Cooper, "Circus: A Replicated Procedure Call Facility", Proc. of 4th Symp. on Reliability in Distributed Software and Database Systems, Oct 1984, pp. 11-24.
 
12
[12] Dineen, T. H., Leach, P. J., Mishkin, N. W., Pato, J. N., and Wyant, G. L., "The Network Computing Architecture and System: An Environment for Developing Distributed Applications", In Proc. of the 1987 Summer USENIX Conference (Phoenix, Ariz., June), USENIX Association, Berkeley, Calif., 1987, pp. 385-398.
 
13
 
14
[14] Leffler, S. J., Fabry, R. S., W. N., Lapsley, P. Miller, S., and Torek, C., "An Advanced 4.3 BSD Interprocess Communication Tutorial", Unix Programmer's Supplementary Documents, Vol. 1 (PS1), 4.3 Berkeley Software Distribution, Computer Systems Research Group, Computer Science Division, Univ. of California, Berkeley, Calif., Apr 1986.
 
15
[15] Joshua Levy, "A Comparison of Commercial RPC Systems", Atherton Technology, 1989.
16
17
 
18
 
19
[19] Russel Sandberg, "The SUN Network File System: Design, Implementation and Experience", Proc. of USENIX Conference, 1986, pp. 150-166.
 
20
[20] M. Satyanarayanan and E. H. Siegel, "Multi-RPC: A Parallel Remote Procedure Call Mechanism", Tech. Rep. CMU-CS-86-139/CMU-ITC-047, Carnegie Mellon Univ. Aug 1986.
 
21
 
22
[22] Stuart Sechrest, "An Introductory 4.3BSD Interprocess Communication Tutorial", Unix Programmer's Supplementary Documents, Vol. 1 (PS1), 4.3 Berkeley Software Distribution, Computer Systems Research Group, Computer Science Division, Univ. of California, Berkeley, Calif., Apr 1986.
 
23
[23] Shrivastava S. and Panzieri F., "The Design of a Reliable Remote Procedure Call Mechanism", IEEE Trans. Computers, Vol. 31, No. 7, Jul 1982, pp. 692-697.
 
24
[24] S. K. Shrivastava, "On the Treatment of Orphans in a Distributed System", Proc. of 3rd Symp. Reliability Distributed Software and Database Systems, Oct 1983, pp. 155-162.
25
 
26
[26] Robert J. Souza and Steven P. Miller, "Unix and Remote Procedure Calls: A Peaceful Coexistence?", Proc. 6th IEEE International Conference on Distributed Computing Systems, 1986.
 
27
 
28
 
29
 
30
[30] A. S. Tanenbaum and Robbert van Renesse, "Reliability Issues in Distributed Operating Systems", Proc. of 6th Symp. on Reliability in Distributed Software and Database Systems, Kingsmill Williamburg, VA, Mar 1987.
 
31
[31] Tanenbaum, A. S. and van Renesse, R., "A Critique of the Remote Procedure Call Paradigm", Research into Networks and Distributed Applications (Edt. by R. Speth), Elsevier Science Publishers B. V. (North-Holland), Apr 1988.
 
32
[32] Tanenbaum, A. S., Renesse, R. van, Staveren, H. van., Sharp, G. J., Mullender, S. J., Jansen, A. J., and Rossum, G. van, "Experiences with the Amoeba Distributed Operating System", Report IR-194, Dept of Mathematics and Computer Science, Vrije Universiteit, July 1989 (accepted for publication).
 
33
 
34
 
35
[35] Xerox Corporation, "Courier: The Remote Procedure Call Protocol", Xerox System Integration Standard 038112, Xerox OPD, Dec 1981.
 
36
[36] Yap, M., P. Jalote and S. K. Tripathi, "Fault Tolerant Remote Procedure Call", Proc. of 8th International Conference on Distributed Computing Systems, Jun 1988, pp. 48-54.
 
37

CITED BY  13