ABSTRACT
This paper reports our experiences implementing remote procedure call (RPC) protocols in the x-kernel. This exercise is interesting because the RPC protocols exploit two novel design techniques: virtual protocols and layered protocols. These techniques are made possible because the x-kernel provides an object-oriented infrastructure that supports three significant features: a uniform interface to all protocols, a late binding between protocol layers, and a small overhead for invoking any given protocol layer. For each design technique, the paper motivates the technique with a concrete example, describes how it is applied to the implementation of RPC protocols, and presents the results of experiments designed to evaluate the technique.
- 1.A. Birrell and B. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2( 1 ):39-59, Feb. 1984.]] Google ScholarDigital Library
- 2.A. Black, N. C. Hutchinson, E. Jul, H. M. Levy, and L. Carter. Distribution and abstract types in Emerald. iEEE Transactions on Software Engineering, SE- 13(1):65-76, Jan. 1987.]] Google ScholarDigital Library
- 3.D.P. Boggs, J. F. Shoch, E. A. Taft, and R. M. Metcalfe. Pup: an internetwork architecture. IEEE Transactions on Communications, COM-28(4):612-623, Apr. 1989.]]Google Scholar
- 4.D. R. Cheriton. VMTP: a transport protocol for the next generation of communications systems. In Proceedings of the SIGCOMM '86 Symposium, pages 406--415, Aug. 1987.]] Google ScholarDigital Library
- 5.N. C. Hutchinson, S. Mishra, L. L. Peter,;on, and V. T. Thomas. Tools for implementing network protocols. Software--Practice and Experience, 1989. To appear.]] Google ScholarDigital Library
- 6.N. C. Hutchinson and L. L. Peterson. Design of the x- Kernel. In Proceedings of the SIGCOMM '88 Symposium, pages 65-75, Stanford, Calif., Aug. 1988.]] Google ScholarDigital Library
- 7.S. Mishra, L. L. Peterson, and R. D. Schlichting. Implementing fault-tolerant replicated objects using Psync. In Eighth Symposium on Reliable Distributed Systems, Oct. 1989. To appear.]]Google ScholarCross Ref
- 8.P. Mockapetris. Domain Names--Implementation and Specification. Request For Comments 1035, USC information Sciences Institute, Marina del Ray, Calif., Nov. 1987.]] Google ScholarDigital Library
- 9.j. C. Mogul, R. F. Rashid, and M. J. Accetta. The packet filter: an efficient mechanism for user-level network code. In Proceedings of the Eleventh ACM Symposium on Operating System Principles, pages 39-51, Nov. 1987.]] Google ScholarDigital Library
- 10.J. K. Ousterhout, A. R. Cherenson, F. Douglis, M. N. Nelson, and B. B. Welch. The sprite network operating system. IEEE Computer, 23-36, Feb. 1988.]] Google ScholarDigital Library
- 11.L.L. Peterson, N. Buchholz, and R. D. Schlichting. Preserving and using context information in interprocess communication. ACM Transactions on Computer Systems, 7(3):217-246, Aug. t989.]] Google ScholarDigital Library
- 12.D. Plummer. An Ethernet Address Resolution Protocol. Request For Comments 826, USC Information Sciences Institute, Marina del Ray, Calif., Nov. 1982.]] Google ScholarDigital Library
- 13.J. Postel. Internet Message Control Protocol. Request For Comments 792, USC Information Sciences Institute, Marina del Ray, Calif., Sep. 1981.]]Google Scholar
- 14.J. Postel. internet Protocol. Request For Comments 791, USC Information Sciences Institute, Marina del Ray, Calif., Sep. 1981.]]Google Scholar
- 15.J. Postel. User Datagram Protocol. Request For Comments 768, USC Information Sciences Institute, Marina del Ray, Calif., Aug. 1980.]] Google ScholarDigital Library
- 16.D. M. Ritchie. A stream input-output system. AT&T Bell Laboratories Technical Journal, 63(8):311-324, Oct. 1984.]]Google ScholarCross Ref
- 17.Network File System. Sun Microsystems, Inc., Mountain view, Calif., Feb. 1986.]]Google Scholar
- 18.Remote Procedure Call Programming Guide. Sun Microsystems, Inc., Mountain view, Calif., Feb. 1986.]]Google Scholar
- 19.USC. Transmission Control Protocol. Request For Comments 793, USC Information Sciences Institute, Marina del Ray, Calif., Sep. 1981.]]Google Scholar
- 20.B. B. Welch. The Sprite Remote Procedure Call System. Technical Report UCB/CSD 86/302, University of California Berkeley, Berkeley, Calif., June 1988.]] Google ScholarDigital Library
Index Terms
- RPC in the x-Kernel: evaluating new design techniques
Recommendations
RPC in the x-Kernel: evaluating new design techniques
This paper reports our experiences implementing remote procedure call (RPC) protocols in the x-kernel. This exercise is interesting because the RPC protocols exploit two novel design techniques: virtual protocols and layered protocols. These techniques ...
The X-Kernel: An Architecture for Implementing Network Protocols
A description is given of an operating system kernel, called the x-Kernel, that provides an explicit architecture for constructing and composing network protocols. The authors' experience implementing and evaluation several protocols in the x-Kernel ...
Design of the x-kernel
SIGCOMM '88: Symposium proceedings on Communications architectures and protocolsThe x-kernel is a configurable operating system kernel designed to support experimentation in interprocess communication and distributed programming. The x-kernel's underlying architecture provides a rich set of abstractions that are used to construct ...
Comments