Building Self-configuring Services Using Service-specific Knowledge

An-Cheng Huang

Thesis Oral

Thesis Draft: pdf (2.65MB)

Thesis Committee

Thesis Abstract

Network applications such as Web browsing, video conferencing, instant messaging, file sharing, and online gaming are becoming a necessity for more and more people. From a user's perspective, these network applications are used to access services offered by service providers through the Internet. Most of the services today are statically integrated, i.e., at design time, a service provider puts together a service configuration consisting of appropriate resources and components. One major problem with such services is that they cannot cope well with variations in user requirements and environment characteristics.

Self-configuration is an emerging approach for addressing this limitation. A self-configuring service is able to find an ``optimal'' service configuration automatically according to the user requirements and environment characteristics. There have been many previous research efforts in building such services. However, previous approaches either require a provider to build a custom self-configuration solution, resulting in high development cost, or cannot take advantage of a provider's service-specific self-configuration knowledge, resulting in low effectiveness.

In this dissertation, we show that providers' service-specific knowledge can be abstracted from the lower-level self-configuration mechanisms such that service providers can build effective self-configuring services using a general, shared self-configuration framework. The use of a shared framework reduces the development cost, and being able to take advantage of a provider's service-specific knowledge increases the effectiveness of self-configuration.

This dissertation describes how a provider can express its service-specific knowledge in a recipe and how the synthesizer, the core element of our recipe-based self-configuration architecture, can perform global configuration and local adaptation accordingly. We also present a network-sensitive service discovery infrastructure that provides efficient support for component selection based on service-specific optimization criteria. We validate the thesis by developing a prototype self-configuring video conferencing service using our recipe-based approach. Our experiment results show that the abstraction and interpretation of the knowledge incurs negligible overhead, and our heuristic for complex component selection problems is effective. A different set of experiment results demonstrates the flexibility of the network-sensitive service discovery approach. Finally, simulation results show that our adaptation mechanisms work as expected and do not introduce unreasonable overhead.

Last modified: Mon Dec 6 15:32:23 EST 2004 using Vim
by pach at cs.cmu.edu