This report describes Sprite's kernel-to-kernel remote procedure call (RPC) system. User programs access system services through the Sprite kernel on their local host, and the local kernel makes remote procedure calls to access services located on remote hosts. Each kernel has several RPC channels so that it can be making RPCs for several processes concurrently. A server machine keeps several kernel server processes that are used to execute service procedures. Messages carry requests for remote procedure execution to server kernels and carry results back to client kernels. The RPC network protocol also supports efficient data transfers larger than the network packet size to meet the bandwidth requirements of Sprite's distributed filesystem.