With the increase in available network bandwidth and reduction in network latency, more emphasis has been placed on end-host QoS to provide quality of service guarantees for distributed real-time applications, such as video streaming servers, video conferencing applications, and VoIP applications. End-host QoS requires support from the underlying operating system (OS) in the form of network schedulers and traffic controllers. GNU/Linux supports a variety of network schedulers for the provision of end-host QoS, but no easy-to-use API is provided between applications and system-level traffic controllers. Moreover, existing APIs lack the ability to link QoS attributes with stream or datagram sockets and to associate QoS information with individual packets allowing sophisticated network schedulers to make scheduling decisions based on such information or to link different streams such that their QoS management is coordinated. We propose an extension to the standard Berkeley socket interface that enables applications to easily create and manage connections with QoS requirements. This new API – called QSockets – includes per-socket traffic classification that allows the application developer to link a socket connection with a scheduler so that all data going out on this socket is scheduled accordingly. We further allow an application to pass packet-specific parameters to the scheduler for fine-grained scheduler control. We evaluate our approach with a multimedia application using QSockets and a real-time packet scheduler.
[1]
David K. Y. Yau,et al.
Migrating sockets—end system support for networking with quality of service guarantees
,
1998,
TNET.
[2]
W. Almesberger.
Linux Traffic Control - Implementation Overview
,
1998
.
[3]
Werner Almesberger,et al.
Linux Network Traffic Control -- Implementation Overview
,
1999
.
[4]
Christian Poellabauer,et al.
Scalable scheduling support for loss and delay constrained media streams
,
1999,
Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.
[5]
Karsten Schwan,et al.
Dynamic window-constrained scheduling for multimedia applications
,
1999,
Proceedings IEEE International Conference on Multimedia Computing and Systems.
[6]
John A. Zinky,et al.
Experimental QoS performances of multimedia applications
,
2000,
Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).
[7]
Günter Schäfer,et al.
Traffic shaping in end systems attached to QoS-supporting networks
,
2001,
Proceedings. Sixth IEEE Symposium on Computers and Communications.
[8]
Christian Poellabauer,et al.
Cooperative run-time management of adaptive applications and distributed resources
,
2002,
MULTIMEDIA '02.