An-Cheng Huang Building Self-configuring Services Using Service-specific Knowledge Degree Type: Ph.D. in Computer Science Advisor(s): Peter Steenkiste Graduated: December 2004 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 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. Thesis Committee: Peter Steenkiste (Chair) David Garlan Srinivasan Seshan Ian Foster (Argonne National Laboratory and The University of Chicago) Jeannette Wing, Head, Computer Science Department Randy Bryant, Dean, School of Computer Science Keywords: Distributed systems, networking, self-configuration, network sensitivity, run-time adaptation CMU-CS-04-186.pdf (2.66 MB) ( 180 pages) Copyright Notice