In heterogeneous network and operating system environments with a fair amount of performance variations, multiple applications compete and share a limited amount of system resources, and suffer from variations in resource availability. These complex applications, such as OmniTrack, a client-server based omni-directional visual tracking application, are thus desired to adapt themselves and to adjust their resource demands dynamically. Frequently, the ultimate objective of application-level adaptation is to preserve the quality of the most critical application-specific parameter, such as tracking precision, even at the cost of other non-critical parameters such as perceptual quality. On one hand, current adaptation mechanisms built within an application have the disadvantage of lacking global information to preserve fairness among all applications. On the other hand, adaptive resource management mechanisms built within the operating system are not aware of data semantics in the application, and reservation-based resource management mechanisms may need modifications to commodity off-the-shelf operating systems or network protocol stacks widely deployed today. We believe that appropriate application-level QoS adaptation decisions can be achieved with the assistance of a middleware architecture, where both application and system level dynamics can be observed and analyzed to decide when, how and to what extent adaptation has to occur.
In this work, we present OmniTrack (Agile QoS), a novel Middleware Control Architecture to enforce the best possible adaptation decisions for distributed multimedia applications, via dynamic controls and reconfigurations of then: internal parameters and functionalities. Several major contributions are presented in this dissertation. First, for modeling adaptors, we developed a Task Control Model based on control theory, in order to enact graceful degradation or upgrade paths within a required QoS range. With the Task Control Model, we are able to reason about and validate analytically adaptation attributes such as stability, adaptation agility, fairness and equilibrium values of the adaptive behavior. Second, complementary to the adaptors, we deployed a Fuzzy Control Model in the design of middleware configurators, in order to model the process of choosing among application-specific parameter-tuning and reconfiguration choices. Third, in order to optimally design the reconfiguration rules in configurators so that the best possible application QoS is achieved, we designed mechanisms and protocols for a series of Quality of Service (QoS) probing and profiling services, named QualProbes, for the discovery of relationships among QoS parameters and reconfiguration actions. Fourth, precise decisions on adaptation timing and scale depend on accurate observations and estimations of system states. Estimation errors and significant end-to-end delay may obstruct desired accurate adaptation measures. We devised an optimal state prediction approach to estimate current states based on available state observations. Fifth, we studied another dimension of adaptation choices in the scenario where a complex application involves multiple servers and clients in a distributed environment. We present a gateway-centric approach that facilitates on-the-fly reconfiguration of client-server mappings. Finally, the architecture is designed to feature generic applicability and ease of deployment of a wide variety of applications. We present such a design emphasizing a clean division of application-neutral and application-specific middleware components.
Evaluations and validations to our approach are not only analytical, but also experimental. We have built a prototype of the Agilos architecture, and validated it with OmniTrack, a client-server based omni-directional visual tracking system. The application features rich adaptation choices in various aspects, ranging from image quality to client-server mappings. The gateway-centric approach implemented in Agilos is thus applicable to this scenario. Among all QoS parameters that are application-specific, the topmost priority is to preserve the tracking precision. In this work, we show that the Agilos architecture effectively achieves the best possible performance with respect to the most critical QoS parameter, the tracking precision, while the adaptive actions are stable, flexible and configurable according to the needs of individual applications.