Computer Science Department
School of Computer Science, Carnegie Mellon University


Building Self-configuring Services Using
Service-specific Knowledge

An-Cheng Huang

December 2004

Ph.D. Thesis

Keywords: Distributed systems, networking, self-configuration, network sensitivity, run-time adaptation

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 they 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 experimental 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 experimental 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. 180 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by