ACM Transactions on Computer Systems (TOCS)
A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems
IEEE Transactions on Software Engineering
The duality of memory and communication in the implementation of a multiprocessor operating system
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Communications in the mercury system
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
Distributed process groups in the V Kernel
ACM Transactions on Computer Systems (TOCS)
Secure communication using remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Matchmaker: an interface specification language for distributed processing
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An architecture for large scale information systems
Proceedings of the tenth ACM symposium on Operating systems principles
Security Mechanisms in High-Level Network Protocols
ACM Computing Surveys (CSUR)
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computation and communication in R*: a distributed database manager
ACM Transactions on Computer Systems (TOCS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Performing remote operations efficiently on a local computer network
Communications of the ACM
Experience with processes and monitors in Mesa
Communications of the ACM
Using encryption for authentication in large networks of computers
Communications of the ACM
Communications of the ACM
REMOTE PIPES AND PROCEDURE FOR EFFICIENT DISTRIBUTED COMMUNICATION
REMOTE PIPES AND PROCEDURE FOR EFFICIENT DISTRIBUTED COMMUNICATION
WALTER USER''S MANUAL (VERSION 1.0)
WALTER USER''S MANUAL (VERSION 1.0)
THE X WINDOW SYSTEM
Preserving and using context information in interprocess communication
ACM Transactions on Computer Systems (TOCS)
The experimental literature of the internet: an annotated bibliography
ACM SIGCOMM Computer Communication Review
Polychannel systems for mass digital communications
Communications of the ACM
An associated object model for distributed systems
ACM SIGOPS Operating Systems Review
Scheduling and IPC mechanisms for continuous media
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
A survey of asynchronous remote procedure calls
ACM SIGOPS Operating Systems Review
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Reducing cross domain call overhead using batched futures
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Separating data and control transfer in distributed operating systems
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Global flush communication primitive for inter-process communication
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Designing an Agent Synthesis System for Cross-RPC Communication
IEEE Transactions on Software Engineering
A source-level transformation framework for RPC-based distributed programs
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
On reliable distributed IPC/RPC design for interactive mobile applications
Proceedings of the International Conference on Management of Emergent Digital EcoSystems
Research: Client-server based ray-tracer using ASTRA: an asynchronous RPC mechanism
Computer Communications
The software architecture for designing interactive mobile computing applications
International Journal of Ad Hoc and Ubiquitous Computing
Hi-index | 0.02 |
We describe a new communication model for distributed systems that combines the advantages of remote procedure call with the efficient transfer of bulk data. Three ideas form the basis of this model. First, remote procedures are first-class values which can be freely exchanged among nodes, thus enabling a greater variety of protocols to be directly implemented in a remote procedure call framework. Second, a new type of abstract object, called a pipe, allows bulk data and incremental results to be efficiently transported in a type-safe manner. Unlike procedure calls, pipe calls do not return values and do not block a caller. Data sent down a pipe is received by the pipe's sink node in the order sent. Third, the relative sequencing of pipes and procedures can be controlled by combining them into channel groups. Calls on the members of a channel group are guaranteed to be processed in order. Application experience with this model, which we call the Channel Model, is reported. Derived performance bounds and experimental measures demonstrate k pipe calls can perform min( 1 + (r/p), k) times faster than k procedure calls, where r is the total roundtrip remote communication time and p is the procedure execution time.