A Based-on Agent Framework for Home Networking
Transcription
A Based-on Agent Framework for Home Networking
145 A Based-on Agent Framework for Home Networking Si Hoàng DO, Marc BUI, and Paul KOPFF Abstract— Home networking is the collection of elements that process, manage, transport and store information, enabling the connection and integration of multiple computing, control, monitoring and communication devices in the home. Finding and constructing a framework of home networking is a complex work but it must be done. This framework must satisfy : - Services may be dynamically loaded over a wide-area network and accessed through a Services Gateway in a home. - Services may be accessed by all connected devices and networks in the home. - The installation and update of services are managed in a dynamic and scalable way. - Services can be shared with other services and run on environments of limited resourced like embedded device. This paper presents frameworks used in home networking and proposes a new framework based on mobile agent system. Index Terms— Home networking, residential gateway, Java, distributed application, AutoHAN, OSGi, mobile agent. l’émergence d’applications domotiques dans l’habitat. La synergie de nouvelles applications domotiques crée un nouvel espace permettant de développer de nouveaux marchés en répondant aux besoins du grand public utilisateur. Dans cet article, nous décrivons d'abord les cadres de travail existants de la domotique. L’objectif de cet article est, après 1 avoir présenté les frameworks existants de la domotique, de proposer un contexte d’interopérabilité pour le Home Networking. II. ROBLÈME P Avec le développement de la technologie, les équipements domestiques sont de plus en plus numériques et interconnectés en réseau dans la maison. La construction d’un framework pour la maison est maintenant essentielle. Elle peut nous aider à gérer les dispositifs, à communiquer avec des réseaux externes, notamment à gérer et mettre à jour les services téléchargeables d’un réseau à grande échelle comme Internet. I. L NTRODUCTION I Les caractéristiques principales de la domotique sont : a domotique englobe l’ensemble des services et techniques visant à intégrer dans l’habitat des fonctions dans des domaines d’application dont certains peuvent utiliser des réseaux de télécommunications externes. Ces domaines d’application sont: la gestion d’énergie, la gestion de l’eau, la sécurité, le divertissement et l’éducation, l’éclairage et les appareils ménagers et les communications internes et externes. La domotique intègre plusieurs technologies existantes et nouvelles. Son développement et son implantation requièrent l’association d’industriels, de professionnels et de groupes d’utilisateurs pluridisciplinaires. On y trouve entre autres, les concepteurs de produits, les fournisseurs de services, les manufacturiers, constructeurs, les les promoteurs représentants immobiliers des et gouvernements, les Fig. 1. Système de la maison communicante les associations de personnes âgées et handicapées, les centres de recherche et autres, dont le souci est de - promouvoir Manuscript received October 20, 2002. Si Hoàng DO is with the Laboratoire de Recherches d’Informatique Avancée (LRIA), University of Paris 8, 41 rue Gay Lussac, 75005 Paris – France, and with the Electricité de France, Division Recherche et Développement (EDF R&D), avenue des Renardières – Ecuelles, 77250 Moret sur Loing - France (e-mail: [email protected]). Marc BUI is with the LRIA, University of Paris 8, 41 rue Gay Lussac, 75005 Paris - France (e-mail: [email protected]). Paul KOPFF is with the Electricité de France, Division Recherche et Développement (EDF R&D), 1 avenue du Général de Gaulle, 92141 Clamart Cedex – France (e-mail: [email protected]). des services peuvent être dynamiquement chargés sur un réseau à grand secteur (comme Internet) et être accessibles avec une passerelle de services dans la maison. - des services peuvent être consultés par tous les dispositifs reliés par les réseaux dans la maison. - l'installation et la mise à jour des services sont contrôlées de manière dynamique et extensible. Framework : cadre de travail. Nous préférons conserver l’appellation anglo-saxonne « framework » pour une question d’usage « métier » 1 146 - des services peuvent être partagés avec les autres le services et s’exécutent sur l'environnement d’une AutoHAN, ce qui gène l’industrialisation du système. ressource limitée comme un dispositif embarqué. III. A. D logiciel B. EUX SYSTEMES CONNUS DE HOME NETWORKING ne supporte que les dispositifs conformes à Framework d’OSGi (Open Services Gateway initiative) Le but d'OSGi est de définir et stimuler l'adoption rapide de caractéristiques « ouvertes » pour la livraison des services à large bande contrôlés aux réseaux dans les maisons, les Architecture d’ AutoHAN les voitures et autres environnements. Aujourd’hui, le framework ressources peuvent décrire leur interface de contrôle et leurs d’OSGi devient un standard avec le soutien de plus de soixante attributs (non fonctionnels), et trouver d'autres ressources sur grandes sociétés de par le monde. AutoHAN [2] fournit un mécanisme par lequel Le framework forme le noyau de la spécification de la plate- le réseau et interagissent avec elles. Cette architecture est proposée par le Computer Laboratory of University développer of une Cambridge. Le méthodologie but avancée d'AutoHAN et est complète de pour contrôler des dispositifs dans la maison. L’accent porte sur la configuration automatique et l'application automatisée des forme de service d'OSGi [7]. Elle fournit un framework en Java sécurisé, déploiement contrôlé, des d'usage applications universel qui soutient le de service extensibles et téléchargeables connues sous le nom de bundles. Les dispositifs conformes à OSGi peuvent télécharger et règles définies sur les dispositifs et le comportement de la maison. Le projet emploie un langage typé (langage AutoHAN – un langage de type byte code, interprété) pour manipuler des 2 3 expressions XML - la forme utilisée par UPnP et HomeAPI . Dans AutoHAN, tout est décrit en XML: les dispositifs, les Fig. 3. Framework d’OSGi. installer des bundles d'OSGi et les enlever quand ils ne sont plus nécessaires. Les bundles installés peuvent enregistrer un certain nombre de services qui peuvent être partagés avec d'autres bundles sous le contrôle strict du framework. Le framework contrôle l'installation et la mise à jour des paquetages Fig. 2. Architecture du système AutoHan. dans un environnement d'OSGi de manière dynamique et extensible et contrôle les dépendances entre les programmes, les salles, les gens, les licences, et, naturellement, bundles et les services. les types d’événement. Les dispositifs conformes à AutoHAN ont des fonctions de base qui sont définies dans leur mémoire ROM, avec une Le framework d’OSGi fournit au développeur de bundles architecture pour contrôler les ressources trouvées à l'intérieur les ressources nécessaires pour tirer profit de l'indépendance de ces dispositifs, tels que le stockage générique, l’exécution, de la plate-forme Java et des possibilités de téléchargement l’interface utilisateur, et les fonctions spécialisées. dynamique de code. Les services peuvent alors se développer Grâce au module logiciel IHan, le réseau de la maison est autorisé à accéder à Internet. Ce module est installé sur la passerelle de la maison. IHan présente le réseau de la maison facilement, et se déployer des services à grande échelle dans les dispositifs qui ont peu de mémoire. Le framework fournit également un modèle de comme un ensemble de pages décrites au format de XML. programmation concis et cohérent pour les développeurs de L'utilisateur bundles peut y trouver les dispositifs disponibles et commander leur comportement. Ce système présenté a un grand inconvénient par le fait que UPnP : Universal Plug'n'Play - Service réseau de Microsoft permettant l'identification automatique des matériels réseau. 3 HomeAPI : Standard ouvert pour des services et des applications logicielles permettant la commande des équipements de la maison. Le but est de piloter les nouveaux équipements numériques via un PC. 2 en Java, simplifiant le développement et le déploiement des services en découplant les spécifications de service (interface Java) de ses implémentations. Ce modèle permet à des développeurs de bundles de relier les services seulement par leurs spécifications d'interface. Le choix d'une implémentation, optimisée pour un besoin ou un fournisseur spécifique, peut être ainsi reporté à la phase d'exécution. 147 Le framework permet à des bundles de choisir une C’est l’environnement des agents, il comporte de deux implémentation disponible au moment de la phase d'exécution modules : un module de gestion d’exécution d’agents et par l'enregistrement de services du framework. Les bundles module de sérialisation et desérialisation d’agents. un enregistrent de nouveaux services, reçoivent des notifications Le module de gestion d’exécution d’agents maintient le de l'état des services ou recherchent des services existants afin de s'adapter aux possibilités courantes du dispositif. Cet aspect cycle de vie des agents: initialisation, exécution, suspension et 4 arrêt. Quand l'état de cycle de vie d'un agent est changé, le du noyau du système diffuse certains événements à l'agent. framework le rend extensible après déploiement: de nouveaux bundles peuvent être installés pour les fonctions supplémentaires ou des bundles existants peuvent être modifiés et mis à jour sans exiger le redémarrage du système. C. Le module de sérialisation et desérialisation d’agents comprend un mécanisme de cryptage et décryptage d’un agent quand il est transféré d’un site à un autre. Ce mécanisme permet le noyau du système de vérifier si l'agent arrivé est Limitations des frmeworks présentés Les cadres de travail mentionnés ci-dessus satisfont aux services classiques tels que : manipuler un dispositif, faire une série de commandes avec un événement de déclenchement. Néanmoins, avec les services plus complexes comme les valide ou pas, afin de protéger le système entier contre les agents inadmissibles ou malveillants. B. Sous-composants Le noyau de système comprend seulement les fonctions services orientés pour les objets mobiles (ex. : personne, indépendantes de l'environnement fondamental. Au lieu de voiture, objet portable, … ) ou bien les services demandant cela, fournies une négociation (ex. : service de confort), le développement composants mis en application en tant qu'agents mobiles en devient plus peu difficile. dehors du noyau du système. Les fonctions peuvent donc être La technologie agent mobile facilite le travail de développement de ces services. Grâce aux caractéristiques les autres fonctions sont par des sous- ajoutées, supprimées et mises à jour dynamiquement par la migration et le remplacement des agents correspondants. d’un agent mobile, un service – logiciel agent peut interagir Bien entendu, un agent est un service. Il peut être un pilote avec d'autres services, fonctionner sans intervention directe d’un équipement domestique, un service d’un fournisseur de des humains ou d'autres entités, percevoir leur environnement services ou bien un service de base du framework de la (qui peut être le monde physique, un utilisateur via une domotique. interface utilisateur graphique, …) s’y adapter et répondre d'une façon opportune aux changements qui se produisent dans cet environnement. Un framework basé sur un système d’agent mobile peut donc répondre à nos besoins. IV. RAMEWORK BASE SUR LE SYSTEME D’AGENT MOBILE F Pour bénéficier de la standardisation du framework d’OSGi, on construit le framework basé sur le système d’agent mobile comme une couche de développement au-dessus de celle d’OSGi. C’est à dire, ce cadre est développé comme un service d’OSGi. La structure du système se compose 2 parties : le noyau du système et les sous-composants. A. C. Services de base 1) Service d’interface Web Ce service s’inscrit au système sous un URL fixe. Il permet aux services-agents arrivés d’enregistrer ses informations (fonction de contrôle, interface utilisateur, …) et de les supprimer quand les agents migrent. En plus, le service fournit à l’utilisateur une page de loggin pour qu’il puisse consulter le système et trouver les dispositifs, les informations et les services disponibles. 2) Service de journalisation Ce service stocke toutes les informations des événements qui arrivent aux services-agents inscrits. V. Noyau du système Nous sommes au cours de l’architecture mobile, ONCLUSION C la du framework basé avec développement l’intention de au-dessus du phase de sur le construire standard définition de système d’agent une OSGi. couche Le de langage d’implémentation choisit donc Java. Le framework développé se basera sur les frameworks existants. Les Aglets [9], grâce à leur popularité et à sa mode de diffusion « open source » et MobileSpaces [10], grâce à sa structure hiérarchique sont les candidats éligibles pour construire notre service agent extensible. Fig. 4. Framework basé sur le system d’agent mobile - un complément du framework d’OSGi. 4 Le modèle de cycle de vie peut être représenté par un automate qui définit dont les différents états d'exécution un agent mobile et les événements qui causent le mouvement d'un état à un autre. Il définit également la durée de l'existence de l'agent. 148 REFERENCES [1] R. Gustavsson, “Agents with power”, Communications of the ACM, (42) 3, pp.41-47, 1999. [2] U. Saif, D. Gordon, D.J. Greaves, “Internet Access to a Home Area Network”, IEEE Internet Computing, pp.54-63, 2001. [3] Home Plug and Play: CAL-based interoperability for Home Systems, CEBus Industry Council, 4405 Massachusetts Avenue, Indianapolis, IN 46218, USA. 1997. [4] T.A. Horan, “The Paradox of Place”, Communications of the ACM, (44) 3, pp.59-60, 2001. [5] Borriello, R. Want, “Embedded Computation Meets the WWW”, Communications of the ACM, (43) 5, pp.59-66, 2000. [6] G. Bell and J. Gemmel, “A call for the Home Media Network”, Communications of the ACM, (45) 7, pp.71-75, 2002. [7] The Open Services Gateway initiative, OSGi Service Platform, Release 2, October 2001. [8] Stan Franklin and Art Graesser , “Is It an Agent, or Just a Program?: A Taxonomy for Autonomous Agents”, Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages (Institute for Intelligent Systems, University of Memphis, 1996). [9] B. D. Lange and M. Oshima, “Programming and Deploying Java Mobile Agents with Aglets”, Addison-Wesley 1998. [10] Ichiro Satoh, “MobileSpaces: A Framework for Building Adaptive Distributed Applications using a Hierarchical Mobile Agent System”, Proceedings of IEEE International Conference on Distributed Computing Systems (ICDCS'2000), pp.161-168, IEEE Computer Society, April, (2000). [11] J. E. White, “Telescript Technology: Mobile Agents”, General Magic, 1995. Si Hoàng DO received a MS in 1999 from the Institut de la Francophonie pour l’Informatique (IFI), and now, he is PhD student at the Laboratoire de Recherches d’Informatique Avancée (LRIA), University of Paris 8. His research interests are in distributed system. His current research focuses on the based-on agent framework for Home Services.