Implementing Remote Procedure Calls
This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.
Remote procedure calls (RPC) appear to be a useful paradigm for providing communication across a network between programs written in a high-level language. This paper describes a package providing a remote procedure call facility, the options that face the designer of such a package, and the decisions we made. We describe the overall structure of our RPC mechanism, our facilities for binding RPC clients, the transport level communication protocol, and some performance measurements. We include descriptions of some optimizations used to achieve high performance and to minimize the load on server machines that have many clients.
CR Categories and Subject Descriptors: C.2.2 [Computer-Communication Networks]: Network Protocols—protocol architecture; C.2.4 [Computer-Communication Networks]: Distributed Systems—distributed applications, network operating systems; D.4.4 [Operating Systems]: Communications Management—message sending, network communication; D.4.7[Operating Systems]: Organization and Design—distributed systems
General Terms: Design, Experimentation, Performance, Security
Additional Keywords and Phrases: Remote procedure calls, transport layer protocols, distributed naming and binding, inter-process communication, performance of communication protocols.
vẫn tiếp tục thực thi (phụ thuộc vào các chi tiết về tính đồng thời của môi trường đó và việc triển khai RPC).
Có nhiều khía cạnh hấp dẫn của ý tưởng này. Một khía cạnh là ngữ nghĩa sạch và đơn giản: chúng sẽ giúp việc xây dựng các tính toán phân tán trở nên dễ dàng hơn, và giúp thực hiện chúng đúng đắn. Một khía cạnh khác là hiệu quả: các lời gọi thủ tục có vẻ đủ đơn giản để việc giao tiếp có thể diễn ra rất nhanh. Khía cạnh thứ ba là tính tổng quát: trong các tính toán trên một máy đơn, các thủ tục thường là cơ chế quan trọng nhất để giao tiếp giữa các phần của thuật toán.
Ý tưởng về RPC đã tồn tại trong nhiều năm. Nó đã được thảo luận trong các tài liệu công khai nhiều lần kể từ ít nhất là năm 1976 [15]. Luận án tiến sĩ của Nelson [13] là một khảo sát sâu rộng về các khả năng thiết kế cho một hệ thống RPC và có các tài liệu tham khảo đến nhiều công trình trước đó về RPC. Tuy nhiên, các triển khai RPC quy mô đầy đủ hiếm hơn các thiết kế trên giấy. Những nỗ lực đáng chú ý gần đây bao gồm Courier trong họ các giao thức Xerox NS [4], và công việc hiện tại tại MIT [10].
Bài báo này là kết quả từ việc xây dựng một cơ sở RPC cho dự án Cedar. Chúng tôi cho rằng, dựa trên các công trình trước đó (đặc biệt là luận án của Nelson và các thử nghiệm liên quan), chúng tôi đã hiểu được những lựa chọn mà người thiết kế một cơ sở RPC phải đưa ra. Nhiệm vụ của chúng tôi là đưa ra các lựa chọn dựa trên những mục tiêu và môi trường cụ thể của mình. Trong thực tế, chúng tôi nhận thấy rằng một số lĩnh vực chưa được hiểu đầy đủ, và chúng tôi đã tạo ra một hệ thống có thiết kế chứa một số khía cạnh mới lạ.
1 INTRODUCTION
This section is missing here.
2 BINDING
This section is missing here.
3 PACKET-LEVEL TRANSPORT PROTOCOL
This section is missing here.
4 PERFORMANCE
This section is missing here.
5 STATUS AND DISCUSSIONS
This section is missing here.
References
- BIRRELL, A. D., LEVIN, R., NEEDHAM, R. M. AND SCHROEDER, M. D. Grapevine: an exercise in distributed computing. Commun. ACM 25, 4 (April 1982), 260–274.
- BOGGS, D. R. Internet Broadcasting. PhD dissertation, Department of Electrical Engineering, Stanford University, Jan. 1982.
- BOGGS, D. R., SHOCH, J. R., TAFT, E. A. AND METCALF, R. M. PUP: An internetwork architecture. IEEE Trans. Commun. 28, 4 (April 1980), 612–634.
- Courier: the remote procedure call protocol. Xerox System Integration Standard XSIS-038112, Xerox Corporation, Stamford, Connecticut, Dec. 1981.
- DATA ENCRYPTION STANDARD. FIPS Publication 46. National Bureau of Standards, U.S. Department of Commerce, Washington D.C., January 1977.
- DEUTSCH, L. P. AND TAFT, E. A. Requirements for an exceptional programming environment. Tech. Rep. CSL-80-10, Xerox Palo Alto Research Center, Palo Alto, Calif., 1980.
- Ethernet, a local area network: data link layer and physical layer specifications version 1.0. Digital Equipment Corporation, Intel Corporation, Xerox Corporation, Sept. 1980.
- LAMPSON, B. W. AND PIER, K. A. A processor for a high-performance personal computer. In Proc 7th IEEE Symposium on Computer Architecture, (May 1980), IEEE, New York, pp. 146–160.
- LAMPSON, B. W. AND SCHMIDT, E. E. Practical use of a polymorphic applicative language. In Proc. Tenth Annual ACM Symposium on Principles of Programming Languages (Austin, Texas, Jan. 24–26), ACM, New York (1983), pp. 237–255.
- LISKOv, B. Primitives for distributed computing. Oper. Syst. Rev. 13, 5 (Dec. 1979), 33–42.
- METCALFE, R. M. AND BOGGS, D. R. Ethernet: Distributed packet switching for local computer networks. Commun. ACM 19, 7 (July 1976), 395–404.
- MITCHELL, J. G., MAYBURY, W. AND SWEET, R. Mesa language manual (Version 5.0). Tech. Rep. CSL-79-3, Xerox Palo Alto Research Center, Palo Alto, Calif. 1979.
- NELSON, B. J. Remote procedure call. Tech. Rep. CSL-81-9, Xerox Palo Alto Research Center, Palo Alto, Calif. 1981.
- SPECTOR, A. Z. Performing remote operations efficiently on a local computer network. Commun. ACM 25, 4 (April 1982), 246–260.
- WHITE, J. E. A high-level framework for network-based resource sharing. In Proc. National Computer Conference, (June 1976). Received March 1983; revised November 1983; accepted November 1983
Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8.
Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8. Translated into Tiếng Việt by gpt-5, against glossary version 7. Translated from the English.