Summary: | As computer-based services become pervasive, their attributes related to quality of service (QoS) such as reliability, security, and timeliness become both more important and more difficult to achieve. This is especially true for distributed services, where the service is accessed across a network. In such scenarios, the execution environment is dynamic, and a service must often support a diverse set of users, each with different multi-dimensional QoS requirements. Although many new distributed service platforms such as CORBA, Java RMI, and Web Services have emerged, and many QoS techniques have been developed, no existing approach provides a complete solution to these issues. This dissertation addresses these challenges by introducing two novel QoS architectures that facilitate customizable multi-dimensional QoS in distributed service platforms. The first, called CQoS, is designed for platforms in which most of the functionality is implemented by the endpoints, such as CORBA and Java RMI. CQoS consists of two parts: application- and platform-dependent interceptors and generic QoS components. The generic QoS components are implemented using Cactus, a system for building highly configurable protocols and services in distributed systems. The CQoS architecture is described, along with experimental results for a prototype constructed on Linux. Compared with other approaches, CQoS emphasizes portability across different object platforms, while the use of Cactus allows custom combinations of attributes to be realized on a per-session basis in a straightforward way. The second architecture, called the QBox architecture, is designed for platforms in which most of the functionality is implemented in the network, such as mobile service platforms where endpoints may be resource-limited mobile devices. In addition to QoS components implemented using Cactus, the architecture includes policy components that evaluate each request's requirements and dynamically determines an appropriate execution strategy. A specific strategy based on QoS-aware request ordering and replica selection algorithms that manage the tradeoffs between the reliability and timeliness requirements of different requests is presented and evaluated. The architecture has been integrated into an experimental version of iMobile, a mobile service platform from AT&T. The design and implementation of the architecture are described, together with experimental results from the iMobile prototype.
|