Adaptation Space: A Design Framework for Adaptive Web Services

Web service adaptation is an important feature for mission critical Web services. It is widely recognized that thrashing and crashes occur in system saturation for many statically adaptive resource management algorithms, including CPU, memory, and network congestion. Service adaptation supports alternative responses to saturation control, maintaining service and server system stability and progress, instead of thrashing. In this paper, we present a design framework for developing adaptive web services. The core of this framework is the adaptation space model, which is based on the concepts of adaptation space and adaptation case. An adaptation space is defined by a use context and a partial order of adaptation cases. Each adaptation case describes a specific adaptation of a program or component of a web service. There are three main thrusts of the adaptation space approach. First, it defines a multi-dimensional adaptation context for capturing and coordinating different kinds of adaptation at different levels of a web service. Second, it provides a uniform way for representing and viewing a collection of alternative adaptations for a given web service component. Third, it promotes a declarative and incremental approach to adaptation specification, allowing the incorporation of new adaptation behavior of a web service in terms of existing adaptation cases. We evaluate the adaptation space approach using Ginga, an adaptive query processing service for handling queries over multiple data sources with diverse capabilities across the Internet. Our experimental results show that Ginga query adaptation can achieve significant performance improvements (up to 40% of response time gain) for processing distributed queries over the Internet in the presence of end-to-end delays.