Abstract
We present an end system architecture designed to support networking with quality of service (QoS guarantees, The protocol processing component of the architecture, called Migrating Sockets, has been designed with minimal hidden scheduling which enables accurate determination of the rate requirement of a user application. The end system provides QoS guarantees using: 1) an adaptive rate-controlled scheduler; 2) rate-based Row control on the send side for access to reserved-rate network connections; and 3) a constant overhead active demultiplexing mechanism on the receive side which can be transparently enabled in wide-area TCP/IP internetworking (although it is not restricted to TCP/IP), To achieve efficiency, Migrating Sockets lets user applications manage network endpoints with minimal system intervention, provides user level protocols read-only access to routing information, and integrates kernel level support we previously built for efficient data movement. Migrating sockets is backward compatible with Unix semantics and Berkeley sockets, It has been used to implement Internet protocols such as TCP. UDP, and IP (including IP multicast), and run existing applications such as vie. Migrating sockets has been implemented in Solaris 2.5.1. We discuss our implementation experience, and present performance results of our system running on Sun Spare and Ultra workstations, as well as Pentium-II desktops.