A Dynamic Middleware Control Architecture for Distributed Multimedia Applications Baochun Li and Klara Nahrstedt Department of Computer Science University of Illinois at Urbana-Champaign b-li, klara@cs.uiuc.edu Current state-of-the-art distributed multimedia applications typically require the underlying environment to provide a desired level of Quality of Service (QoS). However, in heterogeneous end-to-end environments, QoS-aware and QoS-unaware system components may coexist along end-to-end paths, in which case application demands may not be satisfied continuously, and QoS violations may occur. For example, in an end system without real-time prioritized scheduling and reservation mechanisms for CPU resources, CPU-intensive applications may not be able to receive constant QoS with respect to their timeliness requirements in application execution. The applications, residing in the above described environment, must be adaptive to the variations in their end-to-end execution. To allow room for adaptation, we consider the category of applications that have flexible demands within a specific QoS range. For these applications, we propose a Middleware Control Architecture to support the adaptation decisions on when, how and to what extent these applications may adapt to the environment. This architecture serves as a centralized coordinator to control the adaptation behavior of all concurrent application tasks, so that if viewed globally, these applications do not adapt in a conflicting or unfair way. In order to balance between a centralized controller to enforce fairness and optimality in adaptation behavior and the diversely different QoS requirements from different applications, the Middleware Control Architecture is designed to be consisted of two separate middleware components, the Adaptor and the Configurator. Based on control algorithms derived from the control theory, the Adaptor makes control decisions with global awareness of application requirements and resource availability of the entire system [1]. Based on Fuzzy Logic and Fuzzy Control Theory, the Configurator translates the control decisions made by the Adaptor into actual parameter-tuning or reconfiguring adaptation actions executed by the application [2]. Each Adaptor in an end system corresponds to a single type of resource, such as CPU or network bandwidth, and consisted of an Adaptation Task, which executes the control algorithm, and an Observation Task, which monitors the system environment. Each Configurator corresponds to a single target application task, and consists of the fuzzifier, defuzzifier and the fuzzy inference engine that fueled by the application-specific rule base and membership functions used to define linguistic values. On the implementation front, we have implemented a distributed visual tracking application on Windows NT 4.0 as our testbed, based on the XVision project [3]. Since the Middleware Control Architecture is designed to control diversely different applications, we used service enabling platforms such as CORBA as a medium for all interactions among middleware components and applications. Our experiences show that only minor and trivial modifications are needed in the applications in order to control their adaptive behavior via our architecture. We have implemented the Middleware Control Architecture with Visual C++ 6.0 and Java 2 SDK. We have identified several adaptation and reconfiguration choices in the tracking application, such as image size, the number of concurrent trackers, activation of compression algorithms and the size of actively tracked region. Preliminary results have shown that under the control of the Middleware Control Architecture, the tracking application is able to maintain a stable tracking precision to track interested objects via appropriately timed adaptations. We conclude that our approach was valid and effective in controlling the adaptive actions in applications with flexible QoS demands. References [1] B. Li and K. Nahrstedt. A Control Theoretical Model for Quality of Service Adaptations. In Proceedings of Sixth International Workshop on Quality of Service, May 1998. [2] B. Li and K. Nahrstedt. Dynamic Reconfiguration for Complex Multimedia Applications. To appear in Proceedings of IEEE International Conference on Multimedia Computing and Systems 99, June 1999. [3] G. Hager and K. Toyama. The XVision System: A General-Purpose Substrate for Portable Real-Time Vision Applications. Computer Vision and Image Understanding, 1997.