Service selection has been widely investigated by the SOA research community as an effective adaptation mechanism that allows a service broker, offering a composite service, to bind at runtime each task of the composite service to a corresponding concrete implementation, selecting it from a set of candidates which differ from one another in terms of QoS parameters. In this paper we present a load-aware per-request approach to service selection which aims to combine the relative benefits of the well known per-request and perflow approaches. Our service selection policy represents the core methodology of the Plan phase of a self-adaptive service oriented system based on the MAPE-K reference loop. Since the service broker operates in a variable and uncertain environment where the QoS levels negotiated with the service providers can fluctuate, it requires some mechanism to enforce the QoS constraints with its users. To this end, we also propose an algorithm for the Analyze phase of MAPE-K which is based on the adaptive Cusum algorithm and allows to determine whether a change in the QoS level requires a service selection replanning. We present experimental results obtained with a prototype implementation of a service broker. Our results show that the proposed load-aware approach is superior to the traditional perrequest one and combines the ability of sustaining large volume of service requests, as the perflow approach, while at the same time offering a finer customizable service selection, as the per-request approach. Furthermore, the results show that the adaptive Cusum algorithm can quickly detect changes in the execution environment and trigger a new optimization plan before the system performance degrades.
Valeria Cardellini, Valerio Di Valerio, Vincenzo Grassi, Stefano Iannucci, Francesco Lo Presti. QoS Driven Per-Request Load-Aware Service Selection in Service Oriented Architectures. International Journal of Software and Informatics, 2013,7(2):195~220Copy