The current interest in the commodity Internet for commercial purposes has helped to fuel R&D into advanced networks and distributed applications. Much of this research is addressing a common problem of scaling the internet to accommodate traffic from advanced applications requiring stringent QoS guarantees.
This research has progressed along three different axes: 1) providing scalable and high performance core networking technologies, 2) defining architectures and protocols which provide explicit end-to-end quality-of-service (QoS) guarantees to applications, and 3) developing advanced applications, distributed middleware and software development frameworks. Advanced testbeds such as Abilene for Internet2 provide an environment for these three areas to converge and produce the next generation distributed applications and infrastructure. This integration effort must occur at all levels, from hardware and internetworking protocols, to application definition and development frameworks.
This talk presents our work which addresses the development of frameworks and architectures for QoS-enabled distributed applications. First, it motivates an object-oriented (OO) QoS-enabled application programming interface (API) that we developed to provide a uniform interface to applications, regardless of the underlying networking technology or QoS architecture. Second, common patterns of use and a general abstraction of QoS parameters are presented to describe the QoS-enabled API design and class structure. Third, we describe a QoS-enabled pluggable protocol framework that has been applied to the CORBA Audio/Video Streaming Service.