Context-aware service composition and execution for pervasive computing : a data driven and delivery
Composition et exécution contextualisées de services pour des environnements pervasifs : une approche dirigée par les données
Résumé
The infrastructure-less pervasive computing environments such as mobile ad-hoc networks (MANETs) raise challenging research issues about the execution of data-driven applications. (a data driven application is represented as a task-flow to be applied on input data in order to satisfy the users needs) In this thesis, we propose a novel middleware called ConAMi (Context-Aware service composition and execution Middleware) that allows devices in a MANET to collaborate with each other in order to efficiently and reliably execute data-driven applications such as content adaptation. The principal challenge addressed in this thesis is determining the optimal service composition plan (also called the optimal composite service) since several service compositions can provide the same functionality to execute a given task-flow. This challenge is tackled by developing an algorithm that arranges services in a tree called a service composition tree. The main criterion considered to optimize the service composition plan is the global execution time, which consists of the data transfer time, and the service execution time. Execution of a task-flow can fail easily due to the mobility of devices in MANETs. To ensure a reliable execution of the task-flow, the time-to-leave (TTL) of a service is considered in our service composition algorithm. Nevertheless, the TTL can not give a guarantee of not occurring of faults since it is based on an estimation. Moreover, a task-flow execution may also fail due to other kinds of faults. As a consequence, the ConAMi middleware includes novel mechanisms for fault detection and recovery. We have developed a prototype to implement the ConAMi middleware and to evaluate its performance. The results of the experiments show that the ConAMi middleware has good performance. ConAMi ensures efficiency, reliability, and devices load balancing.
Des environnements informatiques pervasifs sans infrastructure tels que les réseaux mobiles spontanés (MANETs) soulève de nouveaux défis quant à l’exécution d’applications dirigées par les données. Dans cette thèse, nous proposons un nouveau middleware appelé ConAMi (Context-Aware service composition and execution Middleware) qui permet aux dispositifs dans un MANET de collaborer les uns avec les autres afin d'exécuter des applications dirigées par les données d’une manière efficace et fiable. Le défi principal abordé dans cette thèse est la détermination de la composition optimale de services car plusieurs compositions de services peuvent offrir la même fonctionnalité pour exécuter un flux de tâches. Ce défi est abordé via le développement d’un algorithme qui organise les services dans ce que nous appelons un arbre de composition de services. Le principal critère considéré pour déterminer la composition optimale de services est le temps d'exécution global qui comprend le temps de transfert de données et le temps d'exécution des services. L’exécution du flux de tâches peut échouer facilement en raison de la mobilité des dispositifs impliqués dans les MANETs. Pour assurer une exécution fiable du flux de tâches, le "Time-To-Leave" (TTL) du service est considéré lors de la détermination de la composition optimale de services. Néanmoins, le TTL ne peut pas donner une garantie d’absence d’erreurs car il est fondé sur une estimation. En outre, l’exécution du flux de tâches peut aussi échouer en raison d'autres types d’erreurs. En conséquence, le middleware ConAMi inclut des mécanismes originaux de détection et de récupération d’erreurs. Nous avons développé un prototype pour mettre en œuvre le middleware ConAMi et évaluer ses performances. Les résultats des expériences montrent que le middleware ConAMi a de meilleures performances que les approches similaires. ConAMi garantit l'efficacité, la fiabilité et l'équilibrage de la charge des dispositifs.