We present an end system architecture designed to support networking with q
uality of service (QoS guarantees, The protocol processing component of the
architecture, called Migrating Sockets, has been designed with minimal hid
den 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 ove
rhead active demultiplexing mechanism on the receive side which can be tran
sparently enabled in wide-area TCP/IP internetworking (although it is not r
estricted to TCP/IP), To achieve efficiency, Migrating Sockets lets user ap
plications manage network endpoints with minimal system intervention, provi
des user level protocols read-only access to routing information, and integ
rates 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 i
mplementation experience, and present performance results of our system run
ning on Sun Spare and Ultra workstations, as well as Pentium-II desktops.