ACM Transactions on Programming Languages and Systems · 1990 · 218 citations · 19 references
ComputingComputer ScienceComputer SystemsComputer ArchitectureDistributed SystemsOperating SystemsDistributed ComputingDistributed Systems DesignDistributed Systems PerformanceInterprocess CommunicationRemote Procedure CallDistributed System ServicesDistributed Systems SemanticsProgrammable SystemsRemote Method InvocationRemote Procedure Call Systems
A new technique for computer-to-computer communication is presented that can increase the performance of distributed systems. This technique, called remote evaluation, lets one computer send another computer a request in the form of a program. A computer that receives such a request executes the program in the request and returns the results to the sending computer. Remote evaluation provides a new degree of flexibility in the design of distributed systems. In present distributed systems that use remote procedure calls, server computers are designed to offer a fixed set of services. In a system that uses remote evaluation, server computers are more properly viewed as programmable processors. One consequence of this flexibility is that remote evaluation can reduce the amount of communication that is required to accomplish a given task. In this paper we discuss the semantics of remote evaluation and its effect on distributed system design. We also summarize our experience with a prototype implementation.
19
Implementing remote procedure calls
Andrew Birrell, Bruce Jay Nelson · ACM Transactions on Computer Systems · 1984 · 1.8K citations · Full text
Barbara Liskov, Alan Snyder, Russell R. Atkinson et al. · Communications of the ACM · 1977 · 772 citations · Full text
Fine-grained mobility in the Emerald system
Eric Jul, Henry M. Levy, Norman C. Hutchinson et al. · ACM Transactions on Computer Systems · 1988 · 733 citations · Full text