1632 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 17, NO. 9, SEPTEMBER 1999 A Control-Based Middleware Framework for Quality-of-Service Adaptations Baochun Li and Klara Nahrstedt, Member, IEEE Abstract— In heterogeneous environments with performance variations present, multiple applications compete and share a limited amount of system resources and suffer from variations in resource availability. These complex applications are desired to adapt themselves and to adjust their resource demands dy- namically. On one hand, current adaptation mechanisms built within an application cannot preserve global properties such as fairness; on the other hand, adaptive resource management mech- anisms built within the operating system are not aware of data semantics in the application. In this paper, we present a novel middleware control framework to enhance the effectiveness of quality-of-service (QoS) adaptation decisions by dynamic control and reconfiguration of internal parameters and functionalities of a distributed multimedia application. Our objective is to satisfy both system-pwide properties (such as fairness among concur- rent applications) and application-specific requirements (such as preserving the critical performance criteria). The framework is modeled by the task control model and the fuzzy control model, based on rigorous results from the control theory, and verified by the controllability and adaptivity of a distributed visual tracking application. The results show validation of the framework, i.e., critical application quality parameters can be preserved via controlled adaptation. Index Terms— Application-aware quality-of-service (QoS), adaptation, middleware. I. INTRODUCTION I N heterogeneous end-to-end computing environments, it is commonly observed that quality-of-service (QoS)-aware system components may coexist with QoS-unaware compo- nents in the end systems and networks along the end-to-end path. From the application’s point of view, if services with statistical or no guarantees exist in the underlying environment, the QoS level that the application demands may not be satisfied continuously. Violations of application QoS requirements may be caused by physical resource limitations such as inherent bandwidth variations and error characteristics in wireless links or by statistical multiplexing and concurrency introduced by a dynamic number of application tasks sharing the same resource pool in end systems and networks. Manuscript received May 1, 1998; revised April 1, 1999. This work was supported in part by an Air Force Grant under Contract F30602-97-2-0121, a NASA Grant under Contract NASA NAG 2-1250, and a National Science Foundation CAREER Grant under Contract NSF CCR 96-23867. The authors are with Department of Computer Science, University of Illi- nois at Urbana-Champaign, Urbana, IL 61801 USA (e-mail: b-li@cs.uiuc.edu; klara@cs.uiuc.edu). Publisher Item Identifier S 0733-8716(99)05597-3. Fig. 1. Client–server based distributed visual tracking. Complex distributed applications, residing on top of the pre- viously described heterogeneous environment, must be flexible and adapt to the QoS variations in their end-to-end execution. They must demonstrate several important properties. First, they need to accept and tolerate resource scarcity to a certain minimum bound and can improve its performance if given a larger share of resources. Second, when QoS variations occur, they are willing to sacrifice and trade off the quality of less critical parameters for the quality of critical parameters. An example of flexible applications is the client–server based distributed visual tracking application. In this applica- tion, the server captures live video images off the camera and sends them over the network to the client. The client accepts user input (visual specification of desired tracked objects), receives the video, executes multiple computationally intensive tracking algorithms (referred to as trackers) on corresponding moving objects in the video, and displays the video with illustrations of tracking results. The complexity of the applica- tion is caused by the mapping between the quality of critical parameters, such as the tracking precision, 1 and resource availability in the system. As long as the tracking precision can be preserved, the application is very flexible with respect to other quality parameters and can be dynamically tuned or reconfigured in order to adapt to variations in both CPU and bandwidth availability. The structure of the application is shown in Fig. 1. If we examine the adaptation efforts throughout various levels in a distributed system, we note that there are two distinctive levels where adaptation may take place: the system level (e.g., operating systems and network protocols) and the application level. Adaptation practices in these two categories have different objectives. In the system level, the objectives of adaptation are set at a much lower level, for example, packets or cells in network protocols [1] and time slices in adaptive 1 The tracking precision is defined as the distance between the center of tracked region and center of the object. We wish to keep this distance stable and as small as possible. 0733–8716/99$10.00 1999 IEEE Authorized licensed use limited to: Universidad Federal de Pernambuco. Downloaded on November 21, 2008 at 09:42 from IEEE Xplore. Restrictions apply.