IMPLÉMENTATION DE LA PLATEFORME DE GESTION DE
CONTEXTE
INTRODUCTION
Depuis leur apparition, les réseaux de communication sans fil ont connu un large succès.
Grâce à leurs nombreux avantages, ces réseaux ont pu s’imposer comme acteurs incontournables dans les architectures réseau actuelles. Les réseaux sans fil offrent en effet des propriétés intéressantes, qui peuvent être résumées en trois points : la facilité du déploiement, l’omniprésence de l’information et le coût réduit d’installation. Un réseau de capteurs sans fil est un réseau sans fil composé de noeuds capteurs distribués spatialement dans un environnement donné. Ces capteurs surveillent différents types de données environnementales comme la température et l’humidité ou physiques comme la pression sanguine et la température du corps humain, etc. Par ailleurs, la collecte des données n’est pas en elle-même une finalité, mais juste un moyen pour d’autres systèmes qui traitent les données.
Après l’explosion de la bulle internet, l’informatique occupe une partie importante de notre quotidien. L’intégration des circuits électroniques dans les véhicules, l’omniprésence de la téléphonie mobile intelligente, l’arrivée sur le marché des ordinateurs portables ultraperformants donnent une idée de ce qui peut nous attendre en informatique dans les années à venir : de plus en plus de mobilité, de communication entre machines qui ressemble de plus en plus au langage humain et des utilisateurs s’attendant à ce que leurs appareils répondent à des attentes motivées aussi par leur environnement. Les systèmes CA sont là pour répondre à ces besoins. Puisque ces systèmes tirent leur information d’une source de contexte, l’utilisation des réseaux de capteurs comme source de contexte devient un volet de recherche intéressant. Cependant, avec tant d’informations fournies par les réseaux de capteurs, l’intégration de ces réseaux dans d’autres systèmes peut créer plusieurs défis. Les différents protocoles de communications utilisés et les différentes représentations des données capturées créent un problème d’hétérogénéité. La puissance de traitement nécessaire est accrue dû à la quantité des données et le stockage des données devient difficile à cause des différents formats de données et à cause de la vitesse de stockage/extraction des données.
REVUE DE LA LITTÉRATURE
Les réseaux de capteurs
Les réseaux de capteurs sans fil (RCSF) sont composés d’un large nombre de noeuds capteurs déployés d’une façon dense dans un environnement cible.
Architecture des RCSFs
L’architecture classique des RCSFs est illustrée dans la figure 1-1. Les noeuds capteurs sont dispersés dans le domaine dans lequel la capture est souhaitée. Les noeuds capteurs possèdent une portée de transmission faible et communiquent avec les noeuds adjacents pour acheminer les captures vers la passerelle. La passerelle est connectée à un médium longue distance et sert de lien entre les noeuds capteurs et les clients. Le noeud capteur est l’entité de base des RCSFs et sont déployés en grand nombre. Un noeud capteur comporte au moins ces quatre composants :
• Unité de détection : cette unité peut comporter plusieurs capteurs pour détecter différents types de phénomènes et d’un convertisseur qui convertiront les différents signaux analogiques en signaux numériques pour les envoyer à l’unité de traitement;
• Unité de traitement : cette unité gère en collaboration avec les autres unités de traitement la mission de mener à bien les tâches de détection. Cette unité contient en général un composant qui permet le stockage des données;
• Unité de transmission : ce composant est responsable de connecter le noeud capteur au
réseau;
• Unité d’alimentation : ce composant assure les besoins énergétiques des différentes unités du noeud capteur.
Les systèmes CA
Les systèmes CA (SAC) sont des systèmes qui possèdent la capacité de changer de comportement dépendamment de la situation qui entoure l’environnement d’exécution. Ces systèmes donnent naissance à un nouveau type d’applications : plus intelligentes, plus intuitives et tendent à comprendre les intentions de l’utilisateur et agissent en fonction de ces intentions. La situation ou le contexte n’est pas limité seulement à l’utilisateur final, son profil et ses préférences, mais aussi à d’autres éléments par exemple le lieu dans lequel il se trouve, un facteur de temps, l’état du matériel, etc.
Fonctionnalités
Les systèmes SAC sont des systèmes complexes et leur compréhension est essentielle pour le bon déroulement du projet. Dans ce qui suit, nous essayerons d’éclaircir les principales fonctionnalités des systèmes SaC.
Acquisition du contexte
L’acquisition du contexte est une fonctionnalité initiale et de base. Dans cette phase nous collectons de l’information contextuelle depuis les différentes sources de contexte. Nous définissons le contexte par « toute information qui peut être utilisée pour caractériser la situation d’une entité. Une entité peut être une personne, une place, ou un objet qui s’avère pertinent à l’interaction entre l’utilisateur et l’application » (Devajaru, Hoh et Hartle, 2007).
L’information qui constitue le contexte peut provenir de deux types de sources :
• Sources physiques : ce sont les mesures qui proviennent des différents noeuds capteurs des RCSFs. Ils représentent des mesures associées à des phénomènes physiques par exemple la température, la pression, l’humidité…
• Sources logiques : ce sont des mesures qui représentent des états logiques d’entités contextuelles. Par exemple : la bande passante du réseau, la fiabilité des mesures des noeuds capteurs…
ANALYSE DES PERFORMANCES DE LA PLATEFORME DE GESTION DE CONTEXTE
Technologies et outils de développement
Java : C’est un langage de programmation général. Java possède des avantages qui lui permettent de se distinguer des autres langages de programmation :
• Java est orienté objet
• Java est indépendante de la plateforme (portabilité)
• Java est distribuée
• Java est sécurisée
• Java est robuste
• Java est multithread
Nous avons utilisé ce langage de programmation comme langage de base pour développer notre plateforme de gestion de contexte et les différents substrates.
Environnement de test
La figure 4-1 illustre l’environnement de tests qe nous avons utilisé pour tester les performances de la plateforme de gestion de contexte. Nous possédons deux machines physiques connectées au même réseau local. Nous avons installé KVM sur les deux machines physiques. La première machine (PM1) peut supporter jusqu’à quatre machines virtuelles qui sont acquisition, dissemination, modeling et storage. La deuxième machine (PM2) supporte jusqu’à trois machines qui sont : inference, le dépôt de données et le serveur de monitorage Zabbix. Toutes les machines virtuelles ont été créées à l’aide d’un pont qui les connecte au même réseau local que celui des machines physiques. Toutes les machines virtuelles utilisent comme système d’exploitation Linux Server 12.04 connu pour sa stabilité et ses besoins minimes en termes de ressources.
CONCLUSION
Pour résumer, les principales contributions de ce projet sont, premièrement, la séparation des systèmes classiques CA en modules fonctionnels nommés substrates. En réalisant cette séparation, nous montrons que l’on peut concevoir des systèmes CA modulaires et distribués.
À l’opposé des systèmes classiques qui sont des systèmes monolithique et centralisé. Les substrates offrent aussi l’avantage de la réutilisabilité et la maintenabilité de ceux-ci.
La deuxième contribution est la proposition de l’architecture d’une plateforme de gestion de contexte dans le Nuage. Cette plateforme permet la composition et le déploiement dynamique de services CA tout en offrant des interfaces ouvertes et standards.
La troisième contribution est la validation de ces substrates et l’architecture à travers le prototypage. En effet, nous avons réussi à implémenter cinq principaux substrates des systèmes CA à savoir : acquisition, dissemination, modeling, storage et inference. Nous avons aussi fourni une implémentation de la plateforme de gestion de contexte et l’avons déployé dans un environnement virtuel. La plateforme développée permet la découverte et la publication des ressources qui sont les capteurs et les substrates. Elle permet aussi la composition de ces ressources et leur déploiement pour créer des services CA. Finalement, elle permet d’exécuter les services déployés.
|
Table des matières
INTRODUCTION
CHAPITRE 1 REVUE DE LA LITTÉRATURE
1.1 Les réseaux de capteurs
1.1.1 Architecture des RCSFs
1.2 Les systèmes CA
1.2.1 Exemples d’application
1.2.2 Fonctionnalités
1.2.2.1 Acquisition du contexte
1.2.2.2 Modélisation du contexte
1.2.2.3 Autres fonctionnalités
1.3 Le Cloud computing
1.3.1 Les caractéristiques du Cloud
1.3.2 Les services du Cloud
1.3.3 Les modèles de déploiement du Cloud
1.4 Les plateformes de gestion de contexte
1.5 Conclusion
CHAPITRE 2 ARCHITECTURE PROPOSÉE
2.1 Scénarios motivants
2.2 Présentation des substrates reliées aux systèmes CA
2.3 La vue globale
2.4 Architecture logicielle
2.4.1 La couche de plateforme
2.4.2 La couche d’infrastructure
2.4.3 Le dépôt de données (Broker)
2.5 Diagrammes de séquences
2.5.1 La séquence de découverte
2.5.2 Séquence d’instanciation
2.5.3 Séquence d’exécution
2.6 Conclusion
CHAPITRE 3 IMPLÉMENTATION DE LA PLATEFORME DE GESTION DE
CONTEXTE
3.1 Diagramme de classe
3.1.1 Le fournisseur de plateforme
3.1.2 Le fournisseur d’infrastructure
3.2 Les substrates
3.2.1 Acquisition
3.2.2 Modélisation
3.2.3 Dissemination
3.2.4 Stockage
3.2.5 Inférence
CHAPITRE 4 ANALYSE DES PERFORMANCES DE LA PLATEFORME DE
GESTION DE CONTEXTE
4.1 Technologies et outils de développement
4.2 Environnement de test
4.3 Tests de la plateforme
4.3.1 Validité et fiabilité des outils de mesure
4.3.2 Temps de réponse .
4.3.3 Tests de changement de données
4.3.4 Tests de stress
4.4 Dimensionnement de la plateforme de gestion de contexte
4.4.1 Régression linéaire
4.4.2 Méthodologie de dimensionnement
4.5 Conclusion
CONCLUSION
Télécharger le rapport complet