• Aucun résultat trouvé

Interactions d’un agent mobile avec le nœud local et NDS

Chapitre IV. Monitoring de ressources de calcul pour l’optimisation dynamique de requêtes

5. Intégration des informations de monitoring dans une jointure mobile

5.2. Interactions d’un agent mobile avec le nœud local et NDS

Dans cette sous-section, nous souhaitons présenter les interactions d’un agent mobile avec le nœud local (i.e. où il construit la table de hachage de R1) et NDS. Lors de son installation, un agent mobile AM commence d’abord par construire la table de hachage TH de R1 sur N1. Il peut ainsi savoir le profil précis à la fin de la construction de TH (pour le moment il n’interagit pas ni avec son EM, ni avec NDS). Lors de l’étape de décision, AM fournit au modèle de coûts (i) son espace de migration (ii) le profil précis de R1 et le profil de R2, (iii) les caractéristiques statiques de N1 et N2, (iv) les valeurs de certains paramètres hôtes de N1 et N2 et les valeurs de certains paramètres réseaux reliant N1 à N2. (i), (ii) et (iii) constituent le modèle de coûts embarqué dans

AM. (iv) est calculé grâce à NDS.

Le profil précis de R1 et le profil de R2 (i) sont important pour pouvoir calculer le profil de T. Ces profils sont estampillés par une date. Si le nœud courant stocke dans son catalogue local le profil de R2, l’agent choisit le profil le plus récent. Ensuite, AM demande au modèle de coûts de calculer le coût d’exécution d’une partie de la jointure mobile en fonction du coût de l’exécution

CE sur N1 (nommé CEN1) ou sur N2 (nommé CEN2). Si le coût de traitement de l’étape de

sondage sur N1 plus le coût de l’envoi de R2 (de N2 à N1), nommé CEN1, est inférieur au coût de

l’envoi de la table de hachage de R1 (de N1 à N2) plus le coût de traitement de l’étape de sondage sur N2 ainsi que le coût de l’envoi du résultat T (de N2 à N1), nommé CEN2, alors l’agent décide

d’exécuter J sur N1. Sinon, il décide d’exécuter J sur N2. Les coûts CEN1 et le CEN2 sont calculés

grâce aux formules de coûts présentes sur le nœud local.

Figure 20 : Scénario d’utilisation de NDS par un agent mobile AM (juste avant la prise de décision) NDS N1 N2 R1 R2 NWS AM

Invocation de NDS par un agent mobile AM Communication réseau

Afin de mieux illustrer l’exploitation des paramètres hôtes et réseaux (calculés via NDS) et utilisé par un agent mobile AM, nous présentons par des diagrammes de séquence UML le comportement de la méthode proposée dans les deux cas :

(i) Exécution de la phase du sondage sur N1, (ii) Exécution de la phase du sondage sur N2.

Dans le cas (i), l’agent décide d’exécuter la jointure mobile J sur N1. Ainsi, il contacte N2 via son interface en lui demandant d’envoyer R2 à N1. Ensuite, l’étape de sondage peut démarrer dès la réception du premier tuple de R2. Enfin, la matérialisation peut être effectuée sur N1 au fur et à mesure de la production des tuples résultats de la relation T issus de l’étape de sondage.

Figure 21 Illustration de l’utilisation de NDS par un agent mobile AM lors de l’exécution de la phase de sondage sur N1

Probe(HT,R2) Send(R2) get(R2) AM NDS NWS Interface de N1 Interface de N2 get(parameters) calculate(parameters) Decision ? N1 Materialise(T) send(parameters) send(parameters) Build(R1,HT)

Dans le cas (ii), l’agent décide d’exécuter la jointure mobile J sur N2. Ainsi, il contacte N1 via son interface en lui demandant d’envoyer la table de hachage HT de R1 à N2. Ensuite, l’étape de sondage peut démarrer une fois la table de hachage est complètement envoyé à N2. Le résultat est ensuite envoyé au fur et à mesure de sa production et il est matérialisé sur N1.

Figure 22 Illustration de l’utilisation de NDS par un agent mobile AM lors de l’exécution de la phase de sondage sur N2

Probe(HT,R2) Send(HT) get(HT) AM NDS NWS Interface de N1 Interface de N2 get(parameters) calculate(parameters) send(parameters) send(parameters) Decision ? N2 Materialise(T) Send(T) Build(R1,HT)

6.

Conclusion

Dans ce chapitre, nous avons proposé une méthode permettant la prise en compte de la variation de valeurs des paramètres hôtes et réseaux dans le calcul du temps de réponse de la jointure mobile. Dans un premier temps, nous avons décrit le problème adressé dans ce chapitre. Plus précisément, il s’agit de permettre aux agents mobiles une prise de décisions efficace en présence de la variation des valeurs des paramètres hôtes et réseaux. Nous avons précisé qu’un agent se base sur les informations qui figurent dans le modèle de coûts. En effet, ces informations sont souvent calibrées dans les approches classiques (e.g. modèle de coûts calibré) et peuvent être obsolètes. Ainsi, nous proposons d’utiliser des informations de monitoring permettant de capturer les valeurs des paramètres hôtes et réseaux à jour. Ensuite, nous avons présenté puis analysé les limites de l’utilisation des services de monitoring (dans notre contexte) employés aujourd’hui. En effet, la plupart des solutions actuelles consistent à définir un seul service pour chaque type de paramètre. Utiliser un outil de monitoring pour chaque paramètre est assez lassant dans un système à grande échelle et en particulier pour des agents mobiles. Ceci implique qu’un agent doit programmer toutes les méthodes d’invocation des outils de monitoring dont il a besoin. Une solution pour éviter le problème ci-dessus consiste à utiliser un seul service (invocable via une seule interface) pour tous les outils de monitoring comme le Network Distant Service (NDS). NDS permet de calculer la meilleure valeur estimée d’un paramètre hôte ou réseau. Puis, nous avons présenté le modèle de coûts et nous avons détaillé la formule de coûts adaptée, en fonction des paramètres calculés par NDS, permettant d’estimer le coût d’exécution d’une jointure par hachage simple. Enfin, nous avons montré comment l’intégration des informations de monitoring peut être effectuée dans une jointure mobile.