Environnement adaptatif d’exécution distribuée d’applications dans un contexte mobile

Technologies des réseaux sans-fil

Plusieurs technologies existent pour implanter les différentes architectures de réseaux sansfil. Celles-ci se caractérisent par deux critères : la bande passante disponible et la portée de transmission. Ces deux critères varient de manière opposée. Plus la portée de transmission est importante, plus la puissance du signal reçu est faible et sujette à interférences et, donc, plus la bande passante est faible. Différents compromis existent et chacun possède ses avantages . Les réseaux à ondes infrarouges privilégient la bande passante à la portée de transmission. Deux technologies de réseaux infrarouges existent : les réseaux à ondes infrarouges directes et les réseaux à ondes infrarouges diffuses. Les réseaux à ondes infrarouges directes sont normalisés par les standards IrDA Data [IrDA 1996a, IrDA 1996b, IrDA 2001] et IrDA Control [IrDA 1998]. La communication s’effectue en plaçant les entités communiquantes sur une même ligne de vue et à une distance maximale de 2 m. Les échanges se font entre 1 et 4 Mb/s. Les réseaux à ondes infrarouges diffuses ne sont pas très répandus bien que certaines expérimentations [Harter et Hopper 1994] et réalisations commerciales [Spectrix] montrent pourtant qu’ils offrent des perspectives intéressantes. La bande passante offerte est toujours de 4 Mb/s, mais une antenne à ondes infrarouges diffuses couvre une zone de 100 m².
Les ondes infrarouges ne traversent pas les murs, donc ce type d’antenne est plutôt installé en intérieur pour couvrir une pièce.
Les réseaux radio à courte portée se positionnent sur le même créneau que les réseaux à ondes infrarouges. Par rapport aux réseaux à ondes infrarouges directes, les antennes radio présentent  l’avantage de communiquer non pas sur une ligne mais sur une cellule. De plus, les ondes radio traversent les objets qui peuvent faire obstacle aux ondes infrarouges.
Ces caractéristiques font que ce type de réseau est en plein émergence, notamment avec le standard Bluetooth [Bluetooth]. Ce standard offre la possibilité à un terminal portable de communiquer dans un rayon de 10 m et avec une bande passante de 1 Mb/s.

Caractéristiques des terminaux portables

Les terminaux portables peuvent être décrits par trois caractéristiques : les ressources, l’encombrement et l’autonomie. Ces différentes caractéristiques ne sont pas indépendantes les unes des autres. En effet, réduire grandement la taille et le poids du terminal portable ne permet pas d’avoir d’importantes ressources mais permet d’avoir une bonne autonomie. À l’inverse, un terminal portable plus volumineux peut offrir plus de ressources, mais il consomme alors plus d’énergie et bénéficie donc d’une autonomie moindre. Différents compromis existent pour satisfaire aux exigences des utilisateurs.
Les assistants personnels numériques (Personal Digital Assistants) sont conçus pour tenir dans la main ou être mis dans une poche. Ils sont dépourvus de clavier et la saisie s’effectue au moyen d’un stylet et d’un écran tactile. En ce qui concerne les ressources et l’autonomie, deux compromis existent : les organiseurs (Organizers, Palmtops) [Palm, Handspring] possèdent des ressources moindres (processeur entre 16 et 33 MHz et mémoire entre 8 et 16 Mo) pour une excellente autonomie (entre 2 et 8 semaines) ; ces restrictions limitent grandement leurs fonctionnalités aux applications de consultation et saisie d’informations personnelles (agenda, répertoire, liste de tâches, mémentos, etc), et les assistants personnels de type Pocket PC, Palm-size PC [Casio, Compaq, HP] possèdent de plus grandes ressources (processeur entre 131 et 400 MHz et mémoire de 16 à 64 Mo) pour une autonomie moindre (de 6 à 15 heures) ; les fonctionnalités offertes permettent d’implanter les systèmes d’exploitation (Windows CE [Microsoft], Linux [LoL]) avec la plupart des applications prévues pour ces systèmes (Internet Explorer, Netscape, etc). Les ordinateurs de poche (Handheld Computers) [Psion] sont un peu plus grands que les assistants personnels. En plus de l’écran tactile et du stylet, ils disposent d’un petit clavier pour la saisie de texte. Au niveau des ressources, la puissance du processeur varie entre 90 et 350 MHz, la mémoire varie entre 16 et 32 Mo. Du fait de l’écran, l’autonomie diminue encore et varie entre 6 et 10 heures. Les fonctionnalités disponibles sont similaires à celles des ordinateurs de poche, si ce n’est que le clavier rend plus facile l’utilisation des applications de type saisie et traitement de texte.

Transparence au niveau du protocole HTTP

Le World Wide Web est constitué d’un ensemble de données accessibles à distance en utilisant l’infrastructure de communication Internet. Ces données sont organisées en pages contenant du texte, des images, du son et de la vidéo. Elles sont publiées sur des serveurs Web et l’accès depuis les clients s’effectue selon le protocole HTTP [Fielding et al. 1999, Khare et Lawrence 2000]. L’utilisation du protocole HTTP en environnements mobiles pose deux problèmes principaux: l’encodage des données d’une requête HTTP s’effectue selon différents langages (SGML Standard Generalized Markup Language [ISO 1986] : HTML [W3C 1999a], XHTML [W3C 2000], XML [W3C 2002], etc) qui sont conçus pour une réalisation simple et facile par l’utilisateur mais qui ne sont pas optimisés pour le transfert de données, chaque requête HTTP correspond à une connexion TCP entre le client et le serveur Web, ce qui entraîne un surcoût dû à l’établissement de la connexion et la possibilité de déclenchement des mécanismes de congestion liés à TCP. Pour surmonter ces problèmes et réduire le temps de latence des communications, différentes approches [Liljeberg et al. 1996, Housel et Lindquist 1996, Nielsen et al. 1998, Nielsen et al. 2000] proposent des mécanismes tels que des connexions persistantes, le multiplexage des requêtes ou un encodage optimisé. Ci-dessous, WebExpress illustre ces mécanismes à travers un modèle d’interception et d’optimisation du protocole HTTP.

Partage et équilibrage de charge

La problématique du partage et de l’équilibrage de charge consiste à mettre à profit, de la meilleure façon, les possibilités d’utilisation des ressources distantes. Le partage de charge vise à garantir qu’aucune machine n’est sous-chargée ou surchargée. L’équilibrage de charge cherche à instaurer une charge uniforme sur toutes les machines.
Pour assurer cette répartition de la charge, différents choix et actions doivent être réalisés. Ceux-ci sont traditionnellement mis en place au sein de trois politiques [Zhou 1988] : Politique d’information: la politique d’information définit la nature des informations à collecter, comme l’état d’utilisation des ressources ou les besoins des application. Elle définit également la manière dont ces informations sont collectées et mises à jour.
Politique d’élection : la politique d’élection utilise ces informations ainsi qu’une métrique de charge pour décider si une machine est en sur(sous)charge. Elle décide particulièrement quelles sont les entités applicatives en cause.
Politique de placement : la politique de placement décide des actions à appliquer aux entités applicatives élues. Ces actions peuvent être  un placement : choix initial d’une machine d’exécution, ou  une migration : transfert en cours d’exécution d’une machine à une autre. Pour choisir la machine cible de l’exécution, les informations collectées et la métrique de charge peuvent ne pas être utilisées, comme dans le cas d’un placement prédéfini, être utilisées d’une manière différente de celle de la politique d’élection, comme en choisissant d’élire localement mais de placer globalement, ou être utilisées de manière similaire à la politique d’élection.

Propriétés du système d’adaptation et de réaction

La fonctionnalité d’adaptation et de réaction dynamique fait partie intégrante de notre cadre de conception et doit donc satisfaire les mêmes propriétés : Généricité : les concepteurs, les administrateurs, les applications et le système d’adaptation ont la possibilité de changer le comportement des fonctionnalités par différentes spécialisations. Pour pouvoir autoriser cela, le modèle d’adaptation proposé doit donc pouvoir s’appliquer à toutes les fonctionnalités du cadre de conception.
Modularité : le découpage en fonctionnalités et implantations constitue une granularité facile d’utilisation pour les concepteurs. Toutefois, si ceux-ci souhaitent effectuer des traitements plus fins (par exemple, au niveau d’un objet) ou plus grossiers (par exemple, au niveau d’une application grande-échelle), notre système doit proposer une échelle de granularité d’adaptation.
Adaptabilité : Prise en compte de l’environnement : pour pouvoir réagir et s’adapter aux variations de l’environnement, notre système d’adaptation doit interagir avec la fonctionnalité de détection et de notification, et permettre de spécifier, au sein d’une stratégie d’adaptation, les choix d’adaptations qui doivent alors être appliqués. Prise en compte de l’application : tout comme l’application peut spécialiser les fonctionnalités avec ses propres implantations, l’application doit pouvoir spécialiser les adaptations possibles et les stratégies d’adaptation.
Évolutivité : la spécification des mécanismes d’adaptation doit être suffisamment souple pour pouvoir ajouter ou retirer facilement des adaptations possibles ou des stratégies d’adaptation. Dynamicité : la dynamicité de ces spécialisations est essentielle pour ne pas avoir à arrêter le système pour le faire évoluer, mais surtout parce que les choix d’adaptations à un instant donné ne sont plus forcément pertinent à un autre instant (une fonctionnalité que l’on souhaitait adaptable à un instant ne doit plus l’être à un autre ; une fonctionnalité que l’on souhait adapter d’une certaine manière à un certain instant ne doit plus l’être de la même manière à un autre instant).

Table des matières

Introduction 
I Le contexte de la thèse 
1 Du fixe vers le mobile 
1.1 Les terminaux 
1.1.1 Caractéristiques des terminaux portables
1.1.2 Comparaisons avec les stations fixes
1.2 Les réseaux
1.2.1 Topologies des réseaux sans-fil
1.2.2 Technologies des réseaux sans-fil
1.2.3 Comparaison avec les réseaux filaires
1.3 Discussion 
2 Systèmes d’adaptation aux environnements mobiles 
2.1 Définitions 
2.2 Transparence de la mobilité 
2.2.1 Transparence de l’adressage IP
2.2.2 Transparence au niveau du protocole TCP
2.2.3 Transparence des systèmes de fichiers
2.2.4 Transparence au niveau du protocole HTTP
2.2.5 Résumé
2.3 Le besoin de spécialisation 
2.3.1 Spécialisation de la qualité de service
2.3.2 Spécialisation de comportement d’exécution incluant des stratégies d’adaptation spécifiques
2.3.3 Résumé
2.4 Adaptation et réflexivité 
2.4.1 Résumé
2.5 Discussion 
3 Stratégies d’adaptation en environnements mobiles
3.1 Stratégies de gestion des données 
3.1.1 Transformation des données
3.1.2 Préchargement
3.1.3 Réplication et cohérence des données
3.1.4 Résumé
3.2 Stratégies de gestion des ressources 
3.2.1 Nommage, découverte et localisation des ressources
3.2.2 Modèles de conception de systèmes distribués
3.2.3 Partage et équilibrage de charge
3.2.4 Résumé
II Généricité, gestion des ressources et distribution des applications en environnements mobiles
4 Organisation générale du système d’adaptation
4.1 Objectifs 
4.2 Définitions 
4.3 Architecture du système d’adaptation 
4.3.1 Le cadre de conception
4.3.2 La boîte à outils
4.4 Conclusion 
5 Conception d’un système d’adaptation et de réaction dynamique à granularité variable 
5.1 Propriétés du système d’adaptation et de réaction
5.2 Modèle du système d’adaptation et de réaction 
5.2.1 Définition d’une entité
5.2.2 Définition d’une entité adaptative
5.2.3 Entité adaptative et réaction
5.2.4 Entité adaptative et synchronisation d’adaptations multiples
5.3 Définition des modèles de conception par spécialisation d’entité 
5.3.1 Hiérarchie de représentation des abstractions de conception
5.3.2 Propagation des adaptations au sein de l’échelle de niveaux d’abstractions
5.3.3 Exemples de spécialisations de modèles de conception
5.4 Conclusion 
6 Conception d’un système de gestion de ressources et de distribution d’applications en environnements mobiles 
6.1 Propriétés du système de gestion de ressources et de distribution d’applications 
6.2 Caractérisation de l’environnement mobile
6.2.1 Définition du modèle de Ressources / Entités utilisatrices
6.2.2 Particularités liées à l’environnement mobile
6.2.3 Gestion du modèle au niveau d’une entité
6.3 Caractérisation des applications 
6.4 Caractérisation du système de gestion des ressources et de distribution des applications 
6.4.1 Architecture du système et passage à l’échelle des services
6.4.2 Services et politiques
6.4.3 Définitions des services et politiques par spécialisations d’entités
6.4.4 Contrôle des adaptations
6.5 Conclusion
III Le système AeDEn 
7 Mise en œuvre et expérimentations 
7.1 Mise en œuvre d’AeDEn 
7.1.1 Préliminaires MolèNE
7.1.2 Définition du composant adaptatif MolèNE par spécialisation d’entité adaptative
7.1.3 Communication par évènement
7.1.4 Exemple : mise en œuvre du SGEL
7.2 Expérimentations d’utilisation d’AeDEn 
7.2.1 Navigateur pour environnement mobile
7.2.2 Résultats des performances de l’application
7.2.3 Résultats des utilisations des ressources propres à l’environnement mobile
7.3 Bilan 
Conclusion 
A Grammaire de description des éléments de l’environnement 
Bibliographie

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *