We present an end system architecture designed to support networking with 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 (i) an adaptive rate-controlled scheduler, (ii) rate-based flow control on the send side for access to reserved-rate network connections, and (iii) 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 vic. 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 Sparc and Ultra workstations, as well as Pentium-II desktops.
Yau and Lam REF propose an end system architecture that supports networking with quality of service guarantees.
Migrating sockets--end system support for networking with quality of service guarantees
IEEE/ACM Trans. Netw.
Computer Science