• Aucun résultat trouvé

Auto-organisation logicielle des espaces intelligents

Les fonctionnalités d’auto-organisation du projet Tyche ont pour but de simplifier le dé- ploiement d’applications dans des espaces intelligents en éliminant la majorité du raisonnement

sur les composantes de l’espace par les utilisateurs. Cette auto-organisation se doit donc d’être rapide, facile à utiliser et qu’il soit possible de manipuler celle-ci à distance afin de réduire les coûts en déplacement des utilisateurs/gestionnaires vers ces milieux [84].

Plusieurs stratégies quant à l’implémentation du raisonnement d’auto-organisation sur l’in- formation contextuelle des espaces sont possibles :

1. extraction des données vers un outil de gestion chez les gestionnaires et raisonnement sur ces données à même l’outil de gestion (Utilisation de l’orchestration) ;

2. raisonnement basé sur une approche micro-contextuelle et la chorégraphie. L’outil de gestion n’est alors qu’une entité calculatoire10 parmi les autres des espaces intelligents (entités appareils, entités utilisateurs, entités de localisation, etc.) ;

3. raisonnement basé sur une approche macro-contextuelle où le raisonnement est effectué par le noeud coordonnateur. Utilisation de l’orchestration. L’outil de gestion envoie les requêtes aux coordonnateurs des espaces intelligents ;

4. raisonnement basé sur une approche mixte où un agent coordonnateur gère le raison- nement d’organisation logicielle dans chaque espace intelligent, où l’outil de gestion envoie les requêtes vers les noeuds coordonnateurs des espaces intelligents et où une part du raisonnement est également laissé aux appareils des espaces.

La première stratégie a plusieurs désavantages : la nécessité d’accumuler ou du moins d’ac- céder à toute l’information contextuelle de chaque espace intelligent à gérer à partir de l’outil de gestion, un niveau élevé de communications entre l’outil de gestion et les espaces, la sécu- rité des informations, etc. La seconde stratégie présente des avantages certains : dynamismes, résistances aux fautes et bris, et autonomie des composantes. Par contre, elle est difficile à im- plémenter, nécessite un nombre important de messages échangés entre les agents et enfin une performance à vérifier. La troisième stratégie est à l’inverse de la deuxième stratégie : facile à implémenter, peu de messages échangés entre les composantes des milieux et une encapsu- lation du contexte dans les espaces intelligents vis-à-vis l’outil de gestion. Toutefois, elle est moins dynamique et résistante aux fautes. Enfin, la quatrième stratégie, qui a été évidemment choisie (tel que décrit dans la Section 3.2), allie les avantages de l’orchestration/macro-contexte et de la chorégraphie/micro-contexte.

En encapsulant et en plaçant le raisonnement sur le contexte à même les espaces intel- ligents, l’échange d’information entre l’outil de gestion et les milieux est réduit, la sécurité des informations est améliorée et les milieux reçoivent plus d’autonomie notamment en ce qui

a trait à l’auto-optimisation des organisations, à l’organisation des logiciels provenant de re- quêtes internes aux milieux et aux autres futures fonctionnalités autonomes (auto-réparation, auto-protection).

3.4.1 Le Device Capability Quotient (DCQ)

Indépendamment de la stratégie utilisée, puisque la mécanique d’auto-organisation doit comparer les performances des appareils versus les besoins des applications et le contexte des milieux (utilisateurs, topologie, etc.), il était nécessaire de trouver une métrique d’évaluation suffisamment universelle pour être facilement assimilée par les utilisateurs et versatile pour être utilisée par les autres fonctionnalités du projet Tyche.

Depuis toujours les êtres humains ont donné des métriques d’évaluation qualitatives ou quantitatives aux performances de leurs activités, d’eux-mêmes et des objets qui les entourent. Les notes données aux élèves, les cotes en finance et la puissance des moteurs en chevaux va- peurs ne sont que quelques exemples de ce type de métriques d’évaluation. L’utilisation d’un quotient variant entre des valeurs bornées telles que les pourcentages ([0, 1]), est particuliè- rement intéressante puisque ce quotient permet de bien saisir les limites d’un système et est largement utilisé par la population, donc aisément assimilable.

Le projet Tyche utilise donc un quotient, le Device Capability Quotient (DCQ), comme métrique d’évaluation de la viabilité d’un déploiement d’une application sur un appareil en particulier. Le DCQ quantifie la performance d’un appareil, de ses ressources et de son micro- contexte, face aux besoins des applications et du macro-contexte des espaces intelligents (profil des utilisateurs, topologie). Afin d’intégrer la charge d’une application sur un appareil, le DCQ est calculé de façon à intégrer les ressources consommées par les applications sur les appa- reils en question, une fois le déploiement effectué. Le DCQ représente donc les performances globales d’un appareil après un hypothétique déploiement d’application sur un appareil. Afin d’améliorer la compréhension du DCQ auprès des utilisateurs/gestionnaires, nous avons fait varier les valeurs du DCQ entre [0, 100[ où 0 point représente l’incapacité totale d’un appareil à recevoir et exécuter une application et 100 points représentent un appareil dont les propriétés sont optimales aux besoins d’une application. Cette dernière valeur est théoriquement impos- sible à atteindre puisque le DCQ intègre dans son évaluation les ressources consommées par l’application, l’utilisation des ressources d’un appareil ne sera donc jamais nulle et se reflètera par une baisse dans la valeur du DCQ, parfois minime.

avec déploiement autonome désactivé, voir Section 3.7), les résultats retournés à l’outil de gestion correspondent à une liste d’appareils et de DCQ associés. Cette liste présentée en ordre décroissant de DCQ, offre aux utilisateurs une vue rapide de la situation, du classement des appareils et des options de déploiement/organisation (Figure 3.7).

FIGURE 3.7 – Aperçu des résultats d’auto-organisation en mode manuel de l’outil de gestion

du projet Tyche

Le DCQ agit également comme métrique de ralliement entre les fonctionnalités autonomes de l’intergiciel de gestion logicielle autonome. Dans l’approche de l’informatique diffuse au- tonome (Chapitre 2), l’auto-configuration/organisation est la fonctionnalité autonome sur la- quelle les autres fonctionnalités se basent dans la réalisation de leurs tâches. Par exemple, dans le cas de l’auto-réparation et d’un bris matériel, cette fonctionnalité autonome utili- serait l’auto-organisation afin de trouver des appareils dans le milieu, pouvant héberger les applications de l’appareil en panne. Le DCQ dans ce cas serait utilisé par la fonctionnalité d’auto-réparation afin de comparer les solutions possibles et les mettre en pratique via l’auto- organisation. Exemple plus concret, la fonctionnalité d’auto-optimisation de l’organisation lo- gicielle de Tyche utilise le DCQ afin d’évaluer les gains de performance. Le calcul du Device

Capability Quotientest présenté dans les prochaines lignes présentant le Fuzzy Logic Organi-