Patron de conception pour l'analyse et la construction de systèmes à comportements autoadaptatifs / A design pattern for the analysis and design of adaptive behaviour systems

Résumé

La popularité sans cesse croissante du WWW incite à considérer de nouveaux enjeux qui n'étaient pas forcément d'actualité lors de la création de cet outil. La capacité des infrastructures de communication ne croît pas aussi rapidement que les besoins en termes de volume de données à transférer, ce qui pose des problèmes de performances tant pour les utilisateurs que pour les fournisseurs de services.

Des caches web ont été rapidement mis en place pour tenter d'obvier à cette difficulté. Ils permettent, par la réplication des données, d'accélérer le chargement des documents et de soulager la charge des réseaux et des serveurs. Cependant, le besoin de s'accommoder d'environnements aux besoins et caractéristiques très divers a conduit à l'élaboration de nombreux algorithmes dédiés aussi bien à la coopération des caches qu'au stockage des données, à leur remplacement ou à leur cohérence. Cette variété algorithmique, présente par ailleurs dans la plupart des systèmes informatiques complexes, comme les environnements sans fil par exemple, rend plus ardue leur administration du fait du grand nombre de réglages qu'elle entraîne. L'introduction de mécanismes d'adaptation automatique dans les systèmes augmente leur autonomie, et les rend plus facilement administrables.

Pour atteindre cet objectif, nous proposons une classification des systèmes d'adaptation permettant de préciser le vocabulaire et les mécanismes mis en jeu. Dans le cadre de l'adaptation dynamique de comportements, nous proposons le patron de conception Stratégie Autoadaptative qui définit un modèle d'architecture d'application autoadaptative. Il identifie les différents composants de tout système autoadaptatif et décrit leurs interactions lors du processus d'adaptation. Des analyses de systèmes adaptatifs existants ainsi que des expérimentations sur un simulateur et sur un cache web réel ont été conduites afin de vérifier son application.

Mots-clés : caches web, systèmes autoadaptatifs, patron de conception

Abstract

The unexpected growth of the WWW has highlighted new concerns. The capacity of the underlying infrastructure may have trouble handling the evergrowing amount of transferred data, which leads to performance issues from the point of view of the users as well as the ISPs.

Web caches are one of the answers to this problem. They replicate data, thus allowing faster transfer of documents and alleviating the load on networks and servers. However, they are complex systems running in a dynamic environment: they feature numerous algorithms for data storage, replacement or coherence. This complexity, which we may find in most complex computer systems like mobile computers for instance, makes their administration more difficult because of the great number of configuration parameters. Using self-adaptation mechanisms in these systems enhances their autonomy and makes them more easily manageable.

In order to reach this goal, we propose a classification of adaptation systems and define the different words and mechanisms involved. In the more precise scope of dynamic adaptation of behaviours, we propose the Adaptive Strategy Design Pattern which defines an architecture model of an adaptive application. It identifies the various components of the system and describes their interactions during the adaptation process. Analysis of existing adaptive systems as well as experiments on a web cache simulator and on a genuine web cache have been carried out to validate the proposed model.

Keywords: web caches, self-adaptive systems, design pattern

Rapport

Le rapport est disponible en version PDF