Efficient Time and QoS-Aware Selection for Service Composition
Choix efficace du temps et du QoS pour la composition du service
Résumé
Service-Oriented Computing (SOC) paradigm has emerged in last years to support cooperation between loosely coupled services to build complex applications. It involves the description, discovery, selection, and composition of services to support rapid development of complex applications. Usually, theses applications can be specified as abstract business processes and the goal is to select a service for implementing each abstract task. In addition to the functional requirements that must be accomplished, the QoS (Quality of Service) parameters are of paramount importance. Due to the large number of candidate services with same functionalities but offering different QoS values, the selection of the most suitable services for implementing abstract tasks while fulfilling QoS in a timely manner is not trivial. Moreover, in real-world applications, services can have different dependencies between them (i.e., structural and temporal). Considering these dependencies, the selection problem becomes more complex. Additionally, services usually operate in highly uncertain and dynamic environments, which can cause erroneous behaviors during the execution. In this context, it is crucial to tackle the selection problem while considering functional requirements associated with QoS and temporal constraints at design and run-time. In this thesis, we contribute towards addressing the aforementioned challenges. Specifically, the main contributions of this thesis are as follows: (1) We propose pre-processing techniques to allow a scalable service selection without affecting the optimality of the selected solution. (2) We develop an efficient QoS-aware service selection approach that allows selecting the suitable service composition while fulfilling QoS and temporal constraints. The proposed approach can handle complex service selection problems while considering the aforementioned dependencies between services. (3) We propose a heuristic service selection approach to select a close-to-optimal solution based on clustering and constraints decomposition techniques. (4) To deal with dynamic and uncertain environments, we propose a proactive service selection approach for enforcing service composition adaptation at run time. The aim is to take early re-selection actions in order to reduce the possibility of execution interruption and increase the likelihood of finding a feasible solution. This approach deals with QoS uctuations and changes in execution environments during execution (e.g., the availability of a new better service). The different contributions of the proposed approach are implemented and their eff ciency is demonstrated and validated analytically and empirically through experimental results.
Le paradigme de calcul orienté service (Service Oriented Computing SOC) a pour objectif de fournir des supports pour l’intégration d’applications. SOC repose sur des briques appelées services qui peuvent être composés pour produire des services à valeur ajoutée capables de satisfaire des besoins complexes. Souvent, ces besoins sont spécifiés sous forme de processus métiers abstraits qui peuvent être implémentés via la sélection de services pour les différentes tâches des processus. Dans ce contexte, à part les aspects fonctionnels, les paramètres de Qualité de Service (Quality of Service QoS) doivent être aussi considérés. De plus, dans des applications réelles, les services peuvent être soumis à des contraintes de dépendances (i.e., structurelles et temporelles). La sélection des services qui satisfassent les propriétés fonctionnelles et non fonctionnelles (QoS et les propriétés temporelles) est une tâche assez complexe. Ceci est dû principalement à la présence de plusieurs contraintes à respecter et au grand nombre de services candidats offrant différentes valeurs de QoS pour chaque tâche du processus. D’autre part, la sélection des services adéquats au moment de la conception est importante, mais pas suffisante. En effet, au moment de l’exécution, les valeurs des services sélectionnés peuvent dévier par rapport à celles estimées et plusieurs changements de l’environnement peuvent survenir ce qui peut causer la violation d’une ou plusieurs contraintes. Il est donc nécessaire de définir des mécanismes de sélection de services qui tiennent compte des paramètres fonctionnels associés aux paramètres de QoS et temporels aussi bien lors de la conception que lors de l’exécution. C’est dans ce cadre que s’inscrit cette thèse. Les contributions de ce travail peuvent être résumés comme suit : (1) afin de réduire l’espace de recherche et ainsi augmenter la scalabilité de l’approche de sélection, nous proposons une approche de filtrage permettant d’éliminer les services qui ne pourraient pas appartenir à la solution optimale et ce en considérant les paramètres de QoS et les propriétés temporelles. (2) En se basant sur l’ensemble des services filtrés, nous définissons une approche de sélection de la meilleure composition de services qui garantit la satisfaction de toutes les contraintes. (3) La troisième contribution consiste en la proposition d’une approche de sélection approximative. Le but de cette approche est de trouver une composition de services satisfaisante. Ceci permet de réduire le temps d’exécution du processus de sélection et d’améliorer sa scalabilité. (4) La dernière étape de ce travail consiste à définir une approche de re-sélection proactive de services au moment de l’exécution. L’objectif est de réagir d’une manière proactive aux changements liés à l’environnement ou aux déviations des services afin de garantir la satisfaction de l’ensemble des contraintes temporelles et de QoS. Les différentes contributions de l'approche proposée ont été implémentées et validées avec des expérimentations. Les résultats expérimentaux ont montré l'efficacité des algorithmes et des techniques proposés par rapport aux travaux existants.