The Agilos Project
Dating back to 1996 — 2000, the Agilos project represented the design and implementation of a Middleware Control Architecture for Application-aware Quality of Service Adaptations, which Baochun did as part of his PhD dissertation research at the University of Illinois, Urbana-Champaign, under the supervision of Professor Klara Nahrstedt.
In a nutshell, the research objective of the Agilos project was to assist complex applications to make informed decisions regarding the timing and scale of QoS adaptations. The project implementation was performed in Windows NT 4.0, compiled with Visual C++ 4.2 (and later 6.0), and supported by ORBacus 2.1 (and later 3.0) as its CORBA framework. In its final revision around early 2000, it involved approximately 60,000 lines of code (LOC), developed across a distributed Windows-based platform. This work has led to the IEEE Communications Society Leonard G. Abraham Prize Paper Award in the Field of Communications Systems in 2000.
This page has been launched in December 2006 as a special way to celebrate the ten year anniversary of launching the Agilos project in late 1996, in a mailroom converted office facing the north of DCL, 1304 W. Springfield Avenue, Urbana, Illinois. The initial code development was performed in the summer of 1996, using a (then brand-new) Gateway PC powered by Pentium 200MHz MMX, 64MB of memory, as well as 1GB of disk space. At the time, it had one of the first host names in the research group: cairo.cs.uiuc.edu.
The Gateway PC has been actively used to serve the official web site of the MONET research group till 2004. Unfortunately, the original project web page for the Agilos project has already been phased out.
The Agilos project was funded by DARPA (the Advanced Research Projects Agency, U.S.), as part of the EPIQ project, on end-to-end Quality of Service and Resource Management.
The grand objective of the EPIQ project, with Professors Jane W.-S. Liu, Klara Nahrstedt and Andrew Chien as the project co-PIs, is to develop an end-to-end Quality of Service (QoS) and resource management framework for real-time, multimedia and high-performance applications. The EPIQ multidimensional QoS management mechanisms were to be application-domain independent, but will permit integration with application-specific mechanisms and give user control in adaptation, graceful degradation, and recovery. QoS management within EPIQ would be supported by an open run-time environment that can provide end-to-end real-time performance guarantees, and deliver predictable, high-performance communications.
In July 1997, an unpublished white paper was written to outline the general objectives and methodologies of the EPIQ project, titled “EPIQ QoS Characterization.” We have retained a local copy of the Adobe PDF document.
At the time of the Agilos project, research advances in Quality-of-Service (QoS) and resource management were able to bring forth numerous solutions to support QoS-aware applications, so that their demands for both end system and network resources are met. Two major categories of such solutions have evolved:
First, Reservation-based systems employed various resource reservation and admission control mechanisms to enforce the delivery of requested QoS to the applications. Such enforcement may be deterministic or statistical, depending on the policies involved for resource reservation. One drawback of this approach was that many reservation mechanisms demand major overhaul in the design of prevalent operating systems in use at the time, such as Windows NT 4.0, or networking protocols, such as TCP/IP. In contrast, adaptation-based systems operated based on best-effort environments, and attempted to adapt themselves or the applications for the purpose of providing the best possible QoS under available resource conditions, and of achieving the most graceful quality degradation in case of scarce resources.
We believed that it is advantageous to implement such adaptation-based systems in the middleware level, since it does not require tight integration or modifications to the best-effort services in OS kernel and network protocol stack, which is the major advantage of adaptation-based systems over reservation-based systems. Indeed, notable examples of adaptation-based systems at the time, such as QuO and Da CaPo++, implemented adaptation-based services in the middleware.
Naturally, since both middleware components and the actual QoS-aware applications may be reconfigured to adapt to the changing environment, two approaches existed with two distinctive focuses. One approach was to dynamically reconfigure the middleware itself so that it can transparently provide a stable and predictable operating environment to the application. This approach was attractive since it does not require any modifications to the application, any legacy application can be deployed with little efforts and with a certain level of QoS assurance. However, since it can only provide a generic solution to all applications, a set of highly application-specific requirements cannot be addressed.
Alternatively, the middleware may be active, and exert strict control of the adaptation behavior of QoS-aware applications, so that these applications adapt and reconfigure themselves under such control. This approach enjoys the advantage of knowing exactly what are the application-specific adaptation priorities and requirements, so that appropriate adaptation choices can be made to address these requirements. However, it lacks an easy way to manifest the relationship between application-specific adaptation choices and the actual changes in resource demands, caused by reconfiguring an adaptive application. In Agilos, we have taken the latter alternative in our design.
The Agilos (Agile QoS) architecture is a middleware control architecture designed to provide middleware services to assist application-aware adaptations, namely, adaptation mechanisms that are tuned to the performance goals and specific functionalities of an application. We selected OmniTrack, an omni-directional visual tracking application that we have developed, to serve as an experimental testbed application to study the design challenges and implementation complications in the Agilos architecture.
The ultimate objective of Agilos, our proposed middleware control architecture, is to control the adaptation process within the application so that under any resource conditions, it is steered towards maximum achievable user satisfaction with respect to delivered performance. We adopt a single application-specific criterion to quantify and define such user satisfaction, which we refer to as the critical performance criterion.
Figure 1: The Hierarchical Design of the Agilos Architecture
In order to accomplish such objective, Agilos is designed as a three-tier architecture: In the first and lowest tier, application-neutral adaptors and observers maintain tight relationships with individual types of resources, and react to changes in resource availability. In the second tier, application-specific configurators are responsible for making decisions on when and what adaptive mechanisms are to be invoked in a client-server application, based on on-the-fly user preferences and application-specific rules. Furthermore, though each configurator corresponds to one application, configurators share the same fuzzy inference engine for rule processing. Finally, QualProbes provide QoS probing and profiling services so that application-specific adaptation rules can be either derived by measurements or specified explicitly by the user. In the third tier, a gateway and negotiators are introduced to control adaptation behavior in an application with multiple clients and servers, so that dynamic reconfigurations of client-server mappings are possible and tuned to the best interests of the application.
Communication among the middleware components, as well as between middleware layer and the application, are designed to be via a stardard service enabling platform, such as CORBA or DCOM. This three-tier hierarchical design of the Agilos architecture is shown in Figure 1.
Since the goal of middleware is to actively exert control of the applications, a closed control loop is naturally formed to steer the applications so that they react to resource fluctuations. Such a control loop is formed with an integrated framework including the adaptors, configurators and observers, shown in Figure 2. The illustration shows a hybrid control approach adopted by Agilos. With the controller comprising of application-neutral adaptors and application-specific configurators, the generated control actions are both globally fair to other concurrent applications, and specific to the application’s adaptation needs and performance criterion as well.
Figure 2: The Control Loop In the Agilos Architecture
As a case study, we have developed OmniTrack, a distributed omni-directional visual tracking system, using tracking algorithms in the XVision project. OmniTrack is a flexible, multi-threaded and client-server based application, which adopts complex tracking capabilities in multiple dimensions, such as visual object tracking, camera tracking and switching, and features full integration of user preferences. This application illustrates the coexistence of multiple adaptation possibilities, ranging from image properties, codec choices, server selections, to tracker quantities and variety. The actual adaptation choices are based on a combination of user preferences and decisions made by the underlying Agilos middleware control architecture. An illustration of OmniTrack architecture is shown in Figure 3.
Figure 3: OmniTrack: A Distributed Omni-Directional Visual Tracking
OmniTrack is implemented in Windows 2000 with Visual C++ 6.0, deployed under the control of Agilos middleware. OmniTrack exports a control interface which is clearly defined in IDL. All control commands made by the Agilos middleware is carried out through such a control interface via CORBA. This ensures that Agilos middleware architecture is generic and not bound to any specific applications. Besides exporting the control interface, OmniTrack reports on-the-fly observations of its application-specific QoS parameters to the CORBA Property Service, so that they are always observable from the middleware’s point of view.
Screenshot 1: The OmniTrack Client
Screenshot 2: The OmniTrack Server
Screenshot 3: The Gateway in Agilos Architecture
Screenshot 4: The Observer in Agilos Architecture
Screenshot 5: The User Configurator specific to OmniTrack
We have published three journal papers and a larger number of conference papers with the results of the Agilos project, dating back to the 1998 — 2002 time period.
Baochun Li, Dongyan Xu, Klara Nahrstedt. “An Integrated Runtime QoS-aware Middleware Framework for Distributed Multimedia Applications,” in ACM Multimedia Systems Journal, Vol. 8, Issue 5, pp. 420-430, ACM Springer-Verlag, 2002.
Baochun Li, William Kalter, Klara Nahrstedt. “A Hierarchical Quality of Service Control Architecture for Configurable Multimedia Applications,” in Journal of High-Speed Networks, Special Issue on QoS for Multimedia on the Internet, IOS Press, Vol. 9, pp. 153-174, 2000.
Baochun Li, Klara Nahrstedt. “A Control-based Middleware Framework for Quality of Service Adaptations,” in IEEE Journal on Selected Areas in Communications, Special Issue on Service Enabling Platforms, Vol. 17, No. 9, pp. 1632-1650, September 1999 (IEEE Communications Society Leonard G. Abraham Prize Paper Award, 2000).
Baochun Li, Klara Nahrstedt. “Impact of Control Theory on QoS Adaptation in Distributed Middleware Systems,” in Proceedings of the 2001 American Control Conference (ACC 2001), Arlington, Virginia, June 2001.
William Kalter, Baochun Li, Won Jeon, Klara Nahrstedt, Jun-hyuk Seo. “A Gateway-Assisted Approach Toward QoS Adaptations,” in Proceedings of IEEE International Conference on Multimedia and Expo (ICME 2000), pp. 855-858, July 30 – August 2, 2000.
Baochun Li, Klara Nahrstedt. “QualProbes: Middleware QoS Profiling Services for Configuring Adaptive Applications,” in Proceedings of IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware 2000), also Lecture Notes in Computer Science, ACM Springer-Verlag, vol. 1795, pp. 256-272, New York, April 3-7, 2000.
Baochun Li, Won Jeon, William Kalter, Klara Nahrstedt, Jun-Hyuk Seo. “Adaptive Middleware Architecture for a Distributed Omni-Directional Visual Tracking System,” in Proceedings of SPIE/ACM Multimedia Computing and Networking 2000 (MMCN 2000), pp. 101-112, January 25-27, 2000.
Baochun Li, Klara Nahrstedt. “Dynamic Reconfiguration for Complex Multimedia Applications,” in Proceedings of IEEE International Conference on Multimedia Computing and Systems (IEEE Multimedia Systems ’99), vol. 1, pp. 165-170, Florence, Italy, June 7-11, 1999.
Baochun Li, Dongyan Xu, Klara Nahrstedt. “Optimal State Prediction for Feedback-Based QoS Adaptations,” in Proceedings of Seventh IEEE International Workshop on Quality of Service (IWQoS 99), pp. 37-46, London, UK, May 31 – June 4, 1999.
Baochun Li, Klara Nahrstedt. “A Dynamic Middleware Control Architecture for Distributed Multimedia Applications,” Workshop on Automated Control of Distributed Instrumentation (ACDI 99), April 22-23, 1999, Urbana, Illinois.
Baochun Li, Dongyan Xu, Klara Nahrstedt, Jane W.S. Liu. “End-to-End QoS Support for Adaptive Applications Over the Internet,” in SPIE Proceedings on Internet Routing and Quality of Service, vol. 3529, pp. 166-176, Boston, Massachusetts, November 1-6, 1998.
Baochun Li, Klara Nahrstedt. “A Control Theoretical Model for Quality of Service Adaptations,” in Proceedings of Sixth IEEE International Workshop on Quality of Service (IWQoS 98), pp. 145-153, Napa, California, May 18-20, 1998.
Baochun Li, Klara Nahrstedt. “An Open Task Control Model for Quality of Service Adaptation,” in Proceedings of the 14th International Conference of Advanced Science and Technology (ICAST 98), pp. 29-41, Naperville, Illinois, April 3-5, 1998.
Baochun Li, Klara Nahrstedt. “Adaptive QoS Middleware Framework for Complex Flexible Applications,” NASA NREN QoS Workshop, NASA Ames Research Center, California, August 18-19, 1998.
Baochun Li, Agilos: A Middleware Control Architecture for Application-Aware Quality of Service Adaptations, Ph.D. Dissertation, Department of Computer Science, University of Illinois at Urbana-Champaign, May 2000.
Baochun Li, Adaptive Behavior of Quality of Service in Distributed Multimedia Systems, MS Thesis, Department of Computer Science, University of Illinois at Urbana-Champaign, May 1997.