FR 2970391 A1 20120713 FR 1150178 A 20110110 Déploiement de services sur un ensemble d'objets réels avec mise en correspondance automatique La présente invention est relative à l'internet des objets, et plus précisément au « web des objets ». Ces concepts relativement nouveaux font l'objet d'initiatives diverses. On peut par exemple citer les travaux décrits sur le site « www,webofthings.com » initié par deux chercheurs de l'université de Zurich. Ce « web des objets » est également décrit dans l'article de D. Guinard et V. Trifa, « Towards the web of things: Web mashups for embedded devices » in Proceedings of WWW (International World Wide Web Conferences), Madrid, Espagne, 2009. Il est encore fait état de cette tendance vers la connexion des objets physiques aux réseaux de communication dans le communiqué d'IMS Research daté du 19 août 2010: « Internet Connected Devices About to Pass the 5 Billion Milestone », Ce communiqué est disponible à l'adresse http://imsresearch.com/news-events/press- template.php?pr_id=1532&cat_id=108 Ces travaux sur le « web des objets » consistent à transformer les objets de la vie réelle en ressources disponibles via le Web et pouvant éventuellement communiquer entre eux par son truchement : lampes, télévisions, terminaux de communication, appareils électroménagers, etc. peuvent s'interfacer avec l'Internet et les services (ou applications) disponibles via celui-ci, et permettre ainsi de nouvelles possibilités. Ce champ de recherche est encore très vierge et seules quelques applications existent. 1 On peut par exemple citer les solutions des sociétés Yahoo et Google, respectivement « Yahoo Pipes! » et « Google Mashup Editor ». Ces solutions offrent un environnement permettant d'associer différents contenus et différents services provenant d'applications pour créer une nouvelle application. Toutefois ces solutions souffrent du fait que les applications considérées doivent être fournies par les sociétés en questions ou, tout du moins, posséder des interfaces ouvertes standards comme RSS ou Atom. En outre, ces solutions concernent la phase de conception de l'application. Elles ne permettent pas la prise en compte dynamique de nouvelles ressources (contenus, services...) apparaissant après le déploiement de l'application. Inversement, si une ressource n'est pas disponible, l'application ainsi créée ne peut plus fonctionner. D'une façon plus générale, elle ne peut prendre en compte aucun facteur dynamique (c'est-à-dire lié au « runtime ».) Une autre solution est la plateforme « Pachube ». Cette plateforme est décrite sur le site web http://www.pachube.com. La plateforme Pachube publie des données provenant de senseurs temps-réels et permet aux utilisateurs de créer des applications utilisant ces données. Toutefois, la modélisation des services est très insuffisante et il n'est pas possible de construire de nouvelles applications en s'appuyant sur des services existants. En outre, la tâche de rechercher les fournisseurs de données désirés incombe à l'utilisateur. Le nombre des senseurs allant grandissant, il devient rapidement impossible d'effectuer cette tâche de façon optimale. Une autre solution pourrait se baser sur SAWSDL (Semantic annotation for WSDL and XML Schema) du W3C (WWW Consortium). SAWSDL permet d'ajouter de la sémantique sur les services web. On entend ici par « services web » des systèmes informatiques conçus 30 pour supporter des interactions machines-à-machines à travers un réseau tel 2 internet. Ces « services web » sont également définis par le W3C et doivent donc être compris comme une acception limitative par rapport au terme générique de « service », notamment par l'introduction de caractéristiques techniques définis par les travaux du W3C. Notamment, les services web sont par nature sans-état (« stateless ») et donc, a fortiori, leur comportement ne peut pas dépendre de leur état. Or, dans le web des objets, il est indispensable de modéliser des objets qui possèdent des états. En effet, un objet comme un téléphone, une télévision, une lampe... possède des états : éteint/allumé, décroché/raccroché, etc. En fonction de l'état dans lequel il se trouve, un objet propose différentes opérations. Ainsi, par exemple, un téléphone dans l'état « raccroché » peut proposer des opérations « réception d'appel » (callMe) ou « transmission d'appel » (forward) et dans l'état « décroché » il peut proposer des opérations « laisser un message » (IeaveMessage) et « joindre l'appel en cours » (joinCall). La solution WSDL, comme toute solution basée sur des services web, ne prend pas en compte les états d'un objet et ne peut gérer la disponibilité d'une opération en fonction de situations différentes. L'invention a pour but d'améliorer la situation en permettant d'interfacer des services (ou applications) disponibles sur un réseau de communication tel Internet et des objets réels, en prenant en compte les états possibles que peuvent prendre les objets réels et les opérations disponibles en fonction de ces états. Pour ce faire, l'invention a pour objet un dispositif de déploiement d'un service sur un ensemble d'objets réels d'un environnement, comportant - des moyens d'interactions avec un utilisateur pour sélectionner ce service parmi un ensemble de services disponibles, chaque service disponible étant associé à des points d'interface, 3 des moyens de stockage de représentations, chaque représentation étant associée à un objet donné parmi l'ensemble d'objets réels et présentant des associations entre opérations disponibles et états possibles pour ledit objet donné, - des moyens de traitement pour effectuer au moins une mise en correspondance entre un point d'interface associé au service et au moins une opération disponible contenue dans la représentation d'un objet réel et associée à un état courant de l'objet réel. - Et des moyens d'activation pour déployer l'au moins une mise en correspondance en connectant le service et l'objet réel. Selon des mises en oeuvre de l'invention, les points d'interfaces appartiennent à un groupe comportant des points d'entrée, des points de sorties et des points d'événements. Les points d'interface peuvent être soit obligatoires soit optionnels. Et les moyens de traitement peuvent effectuer la mise en correspondance pour chaque point d'interface obligatoire du service. Les moyens d'interactions peuvent comprendre un terminal de communication muni d'un moyen d'affichage prévu pour présenter à l'utilisateur au moins une partie de l'ensemble de services disponibles et d'un moyen d'entrée pour sélectionner le service parmi l'au moins une partie. Le moyen d'affichage et les moyens d'entrée peuvent être un écran tactile. La mise en correspondance peut être effectuée en appariant des 25 opérations et des points d'interface ayant un même mot-clé. Elle peut aussi être effectuée en appariant des opérations et des points d'interface ayant une forte corrélation sémantique. Les moyens d'interactions peuvent être en outre prévus pour présenter à l'utilisateur au moins certaines des mises en correspondance effectuées et 30 lui permettre la sélection d'une ou plusieurs mises en correspondance. 4 Lorsque plusieurs mises en correspondance sont effectuées pour un même point d'interface, la détermination de la mise en correspondance à activer peut être réalisée en fonction d'un profil de l'utilisateur. Elle peut aussi être réalisée en fonction du coût de chacune de ces mises 5 en correspondance. L'invention et ses avantages apparaîtront de façon plus claire dans la description qui va suivre en liaison avec les figures annexées. La figure 1 illustre l'environnement dans lequel est déployée l'invention. 10 La figure 2 illustre un exemple d'interface homme-machine pour un terminal dédié permettant de déployer l'invention. La figure 3 montre une vue graphique d'une représentation possible pour un objet réel. 15 Sur la figure 1, un utilisateur U utilise un terminal de communication T et souhaite accéder à des services et à les déployer sur un ensemble d'objets réels Obi], Obj2, Obj3. Ces objets réels peuvent appartenir à une même zone que lui. Par exemple l'objet réel Objl est un poste de radio qui appartient à la même zone 20 Al. Ils peuvent être situés dans d'autres zones. Par exemple, l'objet Obj2 est une télévision située dans une zone A2, distincte de la zone Al dans laquelle se trouve l'utilisateur U et le terminal T. L'objet Obj3 est un cadre numérique située dans une troisième zone A3. La notion de zone peut être basée sur des considérations techniques : un 25 administrateur peut configurer un ensemble d'objets réels en zones en fonction de différents critères. Par exemple, dans un bâtiment semi-privatif comme un hôtel, des zones différentes peuvent correspondre aux différentes chambres et aux différents types de parties communes.5 Les zones peuvent également s'autoconfigurer en fonction de critères prédéterminées. Elles peuvent par exemple correspondre aux différentes pièces d'un appartement. Elles peuvent être définies comme le lieu où sont rassemblés un certain 5 nombre d'objets réels. Elles peuvent être limitées par la couverture radio des dispositifs de communication (une «femtocell» par exemple). Les différentes zones peuvent être connectées par un réseau de communication N. Ce réseau peut être internet ou une partie privatisée 10 d'Internet : « Intranet », VPN (pour «Virtual Private Network »)... Le réseau de communication N permet aussi la connexion avec un ensemble de services disponibles. Dans l'exemple de la figure 1, les services disponibles sont mémorisés dans un serveur applicatif AP. Bien évidemment, différentes solutions sont envisageables; notamment de disposer de plusieurs 15 serveurs applicatifs, ou de disposer également d'applications embarquées sur le terminal de communication T lui-même. Les serveurs applicatifs peuvent se situer dans le réseau privé de l'utilisateur ou déportés, par exemple chez l'opérateur, chez le fournisseur d'accès à internet (FAI) ou chez un fournisseur de service tiers. 20 Des moyens d'interaction sont prévus pour permettre à l'utilisateur U de sélectionner un service parmi ceux disponibles. Ces moyens d'interactions comprennent donc une interface homme-machine qui peut être de différentes natures. Il est par exemple possible de 25 disposer d'une interface de type « reconnaissance vocale » permettant à l'utilisateur U de vocaliser son choix. Il est également possible de permettre la sélection du service par le truchement d'un terminal de communication T. Ce terminal peut être un téléphone portable, un ordinateur, un assistant personnel numérique (ou PDA 30 pour « Persona! Digital Assistant ») de type Blackberry(TM) ou Iphone(TM)... 6 Le terminal T doit alors embarquer une application logicielle permettant de piloter l'interface homme-machine et de communiquer avec les autres dispositifs de l'invention. Il peut également s'agir d'un dispositif électronique dédié. La figure 2 illustre un tel dispositif. L'invention sera plus précisément explicitée sur cet exemple de dispositif dédié mais elle doit être comprise comme s'appliquant à tout type de terminaux de communication T. L'interface homme-machine du terminal T de la figure 2 comporte un 10 écran tactile E, des voyants V et des boutons B. Les voyants V permettent d'indiquer si le dispositif T est en fonctionnement ou non, ainsi qu'éventuellement d'autres indications d'états (connexion au réseau N par wifi, indication de charge de la batterie intégrée etc.) 15 Les boutons B permettent de mettre le terminal T sous tension, et d'accéder à certaines fonctionnalités de façon complémentaire à l'écran tactile E. L'écran tactile E peut présenter plusieurs zones. A gauche, une zone ZO présentant les différents objets réels disponibles. À droite, une zone ZA 20 présentant les différentes applications disponibles. Au centre, une zone ZM permettant les mises en correspondance entre objets réels et applications. Et en haut, une zone ZC permettant de visualiser les applications déjà déployées et de basculer de l'une à l'autre. 25 Les applications (ou services) disponibles peuvent être de différents types. Il peut s'agit d'applications de communication comme Skype, des applications de visualisation de contenu comme Youtube, Flickr, Dailymotion etc., des applications de réseaux sociaux comme Facebook, Myspace, Twitter ou Mixi etc. 7 L'invention peut couvrir tout type d'applications existantes possédant une interface homme-machine lui permettant d'interagir avec un utilisateur. Le terme de service peut également être utilisé de façon interchangeable dans la suite de la description. Ces services (ou applications) sont associés à des points d'interface qui lui permettent d'interagir avec leur environnement. Typiquement, ces points d'interface appartiennent à un groupe comportant des points d'entrée, des points de sorties et des points d'événements. Ils peuvent être obligatoires ou optionnels. Un point d'entrée obligatoire indique que des données sont nécessaires pour permettre au service de fonctionner. Un point de sortie obligatoire indique qu'un service fournira obligatoirement des données. Dans l'exemple de la figure 2, trois services sont déployées ainsi que les trois onglets en haut l'indiquent : Facebook, Flickr et Reddit. Sur la zone de mise en correspondance ZM sont représentés trois points de sorties pour le service (ou application) « Facebook » : une sortie « photo », une sortie « video » et une sortie « RSS ». L'utilisateur U peut sélectionner un service parmi ceux disponibles dans la partie droite ZA, en le touchant avec le doigt ou avec un stylet en le glissant vers la partie centrale ZM. Si l'écran E n'est pas un écran tactile, d'autres moyens d'entrée sont possibles. Par exemple, des touches de navigation peuvent être prévues pour déplacer un sélecteur parmi cet ensemble de services affichés. La zone d'application ZA peut présenter toutes ou une partie de ensemble des services disponibles. Si ceux-ci sont trop nombreux, ils peuvent classés en catégories et l'interface graphique peut ne présenter qu'une catégorie à la fois, ainsi que des moyens pour se déplacer d'une catégorie à l'autre. 8 Les associations entre un service et ces points d'interface peuvent être mémorisées sous la forme de représentations abstraites. L'exemple ci-dessous illustre une représentation possible pour une application de téléphonie pour personnes malentendantes. Dans cet exemple, la représentation est fournie en langage XML (Extensible Markup Language) mais d'autres formats de représentations sont bien évidemment possibles. 20 On peut également donner un exemple de représentation de l'application « Facebook » : 25 30 9 Pour des applications existante que l'on souhaitent pouvoir ainsi interfacer, il peut être nécessaire de prévoir une couche d'adaptation adapté pour utiliser les API de cette applications existante (par exemple, l'API « Facebook Graph API » permet de récupérer et d'ajouter des photos, des vidéos, des messages...) ou bien , s'il n'existe pas d'API, pour traiter la représentation HTML de l'application afin d'en extraire les informations de sortie (texte, image, flux RSS...). Il est possible que la représentation sémantique soit insérée dans du code HTML. Il est alors intéressant d'utiliser une autre mise en oeuvre de l'invention basée sur un microformat. Un microformat (parfois abrégé sous pF ou uF) est une approche de formatage de données basé sur le web qui cherche à réutiliser le contenu existant comme les métadonnées, en n'utilisant que des classesyet attributs XHTML et HTML. Un exemple utilisant un tel microformat peut être : mandatory input ringing 10 optional output light scintillate optional output text display Ces représentations qui comprennent au moins les associations avec les points d'interface peuvent être mémorisées dans un serveur d'applications AP. Ce serveur d'applications peut être de différentes natures. Il peut s'agir d'un serveur administré par une société de service pour fournir un ou plusieurs services dédiés. Il peut également s'agir une centre de ressources de type « market place » ou « applications store », qui assure l'intermédiaire entre des applications existantes afin de les rendre compatibles avec le web des objets. Ce centre de ressources peut ne pas héberger les applications elles- mêmes, mais fournir, entre autres, les représentations associées. Les terminaux peuvent mettre en oeuvre un système de cache pour mémoriser en interne (ou bien sur un proxy) tout ou partie de ces représentations, par exemple celles les plus communément ou les plus récemment utilisées. 11 Les objets réels Obi], Obj2, Obj3 sont également associés à des représentations. Ces représentations présentent au moins des associations entre opérations disponibles et états possibles de l'objet considéré. La figure 3 montre une vue graphique d'une telle représentation. Cette vue graphique peut être de type « réseau de Pétri » par exemple. Elle montre que l'objet réel associé à deux états E1, E2. Pour chacun de ces états, différentes opérations sur l'objet sont disponibles, respectivement fl, f2 dans l'état E1 et fl, f3, f4 dans l'état E2. Une même opération peut être disponible dans plusieurs états (fi). Cet exemple à 2 états peut être une lampe éteinte/allumée, un téléphone raccroché/décroché, une télévision allumée/éteinte etc. à un niveau abstrait, une représentation peut prendre la forme suivante: Plus concrètement, les représentations peuvent être données selon un langage de méta-données comme RDFa ou microformat. RDFa est une syntaxe qui permet de décrire des données structurées dans une page web. RDFa est un standard en cours d'élaboration au W3C. Il a atteint le statut de recommandation le 14 octobre 2008. Ces spécifications sont disponibles sur le site web du W3C. Cette syntaxe est conforme au modèle RDF (pour « Resource Description Framework ») et permet de mettre en oeuvre le web sémantique. 12 Un exemple concret pour une lampe peut être comme suit : Bob's desk lamp Owned by Bob The lamp's state is: lamp.switch.on 35 13 To blink the lamp, you can click on this button Ces représentations peuvent être fournies par les objets réels eux-mêmes. Certains objets peuvent en effet être commercialisé avec les moyens logiciels permettent de rendre disponibles une représentation de leurs capacités à des dispositifs extérieurs. Ces représentations peuvent être différentes de celle décrite ci-dessus mais différents mécanismes de conversion peuvent être alors fournis. Les représentations peuvent également être fournies par un tiers ou par un administrateur. Pour certains types d'objets réels, des modèles de représentation (« templates ») peuvent également être fournis, notamment par téléchargement depuis un site web. En effet, quelque soit le fabriquant, une lampe, par exemple, peut avoir une représentation très standardisée. Certaines paramètres peuvent éventuellement être modifiés (graduateur d'intensité, qualité spectrale, etc.) Des dispositifs d'adaptation OWE1, OWE2, OWE3 peuvent être en charge d'interfacer les objets réels Obi], Obj2, Obj3 respectivement, avec le réseau de communication N. Ces dispositifs d'adaptation peuvent avoir pour fonction de rendre disponible les représentations associés à chaque objet. Les dispositifs d'adaptation peuvent former une association 1-1 avec les zones, ainsi que représenté sur la figure 1. Ils peuvent aussi être embarquées 14 dans les objets eux-mêmes ; dans ce cas, un dispositif d'adaptation est associé à un objet réel. D'autres mises en oeuvre peuvent toutefois encore être envisagées. Ainsi, sur la figure 1, le dispositif d'adaptation n'interface à chaque fois qu'un unique objet réel, mais il peut être envisagé de disposer d'un même dispositif d'adaptation pour plusieurs objets réels. C'est évidemment le cas si l'on maintient une association 1-1 entre zone et dispositif d'adaptation et qu'une zone comporte plusieurs objets réels (ce qui est le cas général); mais il est aussi possible de disposer de plusieurs dispositif d'adaptation au sein d'une même zone et qu'un ou plusieurs de ceux-ci interface plusieurs objets réels, par exemple en fonction de leur type, de leur nature ou de leur fabriquant. Les représentations peuvent être mémorisées dans des moyens de stockage. Ces moyens de stockage peuvent être colocalisés avec un dispositif d'adaptation. Dans le cas où le dispositif d'adaptation est intégré dans l'objet réel, sa représentation peut également être embarquée dans la mémoire intégrée à l'objet. Il est également possible d'associer aux dispositifs d'adaptation gérant 20 plusieurs objets réels, une base de donnée D3 pour lui permettre de maintenir les références (et adresses) de ces objets pris en charge. En outre, une base de données D2 centralisée peut être utilisée pour former un annuaire des objets réels. Par exemple, lorsqu'un dispositif d'adaptation se connecte au réseau de communication, il peut mettre à jour 25 cet annuaire D2 en y insérant les références (et éventuellement les adresses, caractéristiques...) des objets réels qu'il gère. Le dispositif de contrôle de terminal TC est apte à rechercher tout ou partie des objets réels disponibles. Il peut pour ce faire interroger la base de 15 données D2. Il peut également interroger les dispositifs d'adaptation OWE1, OWE2, OWE3. La façon dont le dispositif de contrôle de terminal a connaissance des dispositifs d'adaptation OWE1, OWE2, OWE3 est hors du champ de l'invention. On peut ici juste évoquer quelques mises en oeuvre possibles : les dispositifs d'adaptation peuvent régulièrement envoyé sur le réseau de communication N des messages signalant leur existence et contenant leur adresse. Alternativement, ils peuvent mettre à jour un registre rassemblant les objets réels disponibles dans une zone ou une région de taille plus grande donnée, et leur adresse. Il peut également être possible pour un objet donné d'informer le dispositif de contrôle de terminal TC des autres objets dont il a connaissance. Cette mise en oeuvre a l'avantage de s'adapter à des « objets amis » : par exemple, un amplificateur connaîtra l'existence (et les caractéristiques techniques) du lecteur DVD, des enceintes etc. auquel il est habituellement connecté. Les objets réels ainsi déterminés par le dispositif de contrôle de terminal TC peuvent être présentés sur l'interface homme-machine du terminal TC. Sur la figure 2, les objets sont présentés sous une forme graphique dans la zone d'objets ZO de l'écran tactile E. Ont été représentés du haut en bas : un téléphone, un écran de taille moyenne, un ordinateur, un écran de plus grande taille (téléviseur), un cadre numérique et un poste de radio. L'ensemble des objets réels peut systématiquement être proposé à l'utilisateur U, quelque soit l'application sélectionnée. Mais, il peut être également possible de proposer un filtre. Ce filtre peut être basé sur le type d'application et sur les points d'interfaces associés à cette application. Par exemple, pour un point de sortie 16 vidéo, uniquement les objets réels capables de proposer une visualisation de vidéo peuvent être proposés. Ce filtre peut également être basé sur la zone géographique. Ce mécanisme de filtrage peut être similaire à celui qui est utilisé pour la 5 mise en correspondance automatique les points d'interface des services et les opérations disponible des objets réels. L'invention dispose en effet de moyens de traitement SM pour effectuer au moins une mise en correspondance entre un point d'interface associé au 10 service sélectionné et au moins une opération disponible contenue dans la représentation d'un objet réel et associée à un état courant de cet objet réel. Plus concrètement, dans l'exemple de la figure 2, il s'agit de trouver parmi les objets réels présentés dans la zone de gauche ZO, les opérations des objets, disponibles en fonction des états dans lesquels ceux-ci se trouvent, 15 qui correspondent aux trois points de sorties « vidéo », « photo », « RSS » pour le service « facebook ». Cette mise en correspondance peut être effectuée manuellement. L'utilisateur U peut cliquer sur un des objets représentés dans la zone 20 d'objets ZO et le glisser dans la zone centrale ZM en face du point de sortie souhaité. Il peut par exemple glisser de la sorte le cadre numérique vers le point de sortie « photo » ou « vidéos ». Les moyens de traitement peuvent alors fournir une fonction de vérification, afin de contrôler qu'effectivement l'objet sélectionné par 25 l'utilisateur possède bien une opération correspondant au point d'interface. Par exemple, il peut s'agir de vérifier que le cadre numérique possède bien les caractéristiques techniques pour lire et afficher des vidéo s'il est mis en correspondance avec le point de sortie « vidéo » de l'application « facebook ». 30 17 Egalement, il peut être possible qu'une opération soit disponible pour un objet réel sélectionné mais dans un état différent de l'état courant. Par exemple, la télévision est sélectionnée pour afficher les vidéos de l'application « Facebook » mais celle-ci est éteinte. Les moyens de traitement SM peuvent alors détecter cette situation à partir de la représentation associée à l'objet « télévision » et proposer de modifier son état afin de rendre l'opération « lire vidéo » disponible. Les moyens de traitement SM peuvent déterminer les actions à effectuer sur l'objet réel afin de le mettre dans cet état ; ou dans l'état « le plus proche » dans le cas où l'objet possède plus d'un état dans lequel l'opération en question est disponible (l'état « le plus proche » peut être celui qui nécessite le moins d'action, ou bien les actions les moins coûteuses). Les moyens de traitement SM peuvent également effectuer une mise en correspondance de façon automatique. Cette mise en correspondance peut être effectuée en appariant des opérations et des points d'interface ayant une forte corrélation sémantique. Pour ce faire, des valeurs sémantiques peuvent être attachées aux opérations et aux points d'interfaces, au sein de leurs représentations. Les représentations des objets réels peuvent contenir un mot-clé associé 20 à chaque opération. Ce mot-clé peut être l'identifiant de l'opération lui-même, ou bien complémentaire de cet identifiant. Dans le cas de la lampe, ce mot clé peut être « blink » et être inséré dans une ligne « resource= ». 25 Des mots-clés peuvent également être associés aux points d'interface des services disponibles. Ces mots-clés peuvent être alors mémorisés avec les représentations des services. Dans l'exemple du service précédemment décrit, ce mot clé est inséré dans un attribut « kind ». Il prend deux valeurs dans cet exemple « light » et 30 « text ». 18 Ce mot-clé peut être l'identifiant du point d'interface lui-même, ou bien complémentaire de cet identifiant. Une mise en oeuvre simple peut consister à mettre en correspondance des opérations et des points d'interface ayant le même mot-clé. D'autres mécanismes sont toutefois possibles pour rechercher l'optimisation de la corrélation sémantique entre opérations et points d'interface. Il est en outre important de prendre en compte différents facteurs : une valeur sémantique peut être plus générale que l'autre. Par exemple, une opération peut être « afficher image » alors que le service a un point de sortie « afficher photo ». Il peut être intéressant que les moyens de traitement SM puissent déterminer qu'une image est une généralisation du concept « photo » et que la mise en correspondance est possible même si les mots-clés sont différents. Des mots-clés peuvent être synonymes. Par exemple, « photo » et « photographie », « vidéo » et « film ». Cette situation peut notamment survenir si l'on utilise des équipements, des services provenant de différents fabricants, chacun utilisant un vocabulaire propre. Il peut alors être utile de pouvoir s'affranchir d'une mise en correspondance purement syntaxique et basée sur l'égalité entre mots clés. Un besoin peut donc exister d'effectuer une corrélation plus fine. Pour cela, les moyens de traitement SM peuvent utiliser une ontologie. Cette ontologie peut être disponible sur le web, ou bien être plus locale et livrée avec les moyens de traitement SM. Dans ce dernier cas, il peut être prévu des mises à jour afin d'intégrer des évolutions, des nouveaux fabricants, des nouveaux services, des nouveaux équipements... 19 Cette ontologie peut être décrite de différentes façons, selon différentes modélisations, notamment RDF schema, OWL qui sont issus des travaux du W3C. Par l'utilisation d'une ontologie, il devient possible d'effectuer des 5 corrélations entre des concepts synonymes (« video », « film »...) ou proche (« image », « photo »...). Par exemple, le point d'interface « scintillate » que l'on trouve dans les exemples donnés plus haut peut être mis en correspondance avec l'opération « blink » de l'exemple de lampe. 10 La mise en correspondance proposée automatiquement peut éventuellement être ensuite modifiée par l'utilisateur U. Elle est affichée dans la zone ZM du terminal T, et l'utilisateur U peut, par l'interface homme-machine, sélectionner la mise en correspondance pour la supprimer, la 15 modifier ou la configurer. Par exemple, il peut configurer la résolution dans laquelle une vidéo doit être affichée par un écran de télévision. Son choix peut être distinct du choix automatique. 20 Il peut arriver qu'un même point d'interface puisse être mis en correspondance avec plusieurs opérations. Dans ce cas, plusieurs options peuvent être prises par les moyens de traitement SM : 25 - l'ensemble des choix possibles peuvent être proposés à l'utilisateur via l'interface homme-machine du terminal T. Celui-ci peut alors sélectionner son choix d'une façon similaire à ce qui a été décrit pour la mise en correspondance manuelle, avec toutefois une proposition limitée dans la zone d'objets ZO aux objets ayant fait l'objet d'une mise en correspondance 30 automatique. Par exemple, pour le point de sortie « vidéo » de l'application 20 Facebook, la zone d'objets ZO ne présentera que des objets pouvant afficher une vidéo : télévision, écran d'ordinateur, etc. dans l'état approprié (« allumé ») - il peut être prévu d'utiliser un profil de l'utilisateur U. Ce profil peut comporter des préférences, notamment au sujet de ses équipements préférés. Il peut être ainsi possible d'indiquer que l'utilisateur U préfère voir ses vidéos sur la télévision. A défaut (télévision éteinte), il préfère les voir l'écran d'ordinateur. Ce profil peut être entièrement paramétré par l'utilisateur, mais il peut également être prévu d'utiliser l'historique des choix et actions de l'utilisateur pour le définir au moins en partie. Il peut être proposé en outre de mettre en correspondance un point d'interface avec une opération d'un objet non disponible dans l'état actuel de cet objet. Cette proposition peut permettre d'enrichir les choix possibles pour l'utilisateur, ou bien de proposer au moins un choix lorsqu'aucun ne serait autrement possible. Par exemple, si aucun écran n'est allumé alors que survient un appel de vidéophonie, il peut être proposé d'en allumer un. Également, pour visualiser une vidéo de l'application « Facebook », si uniquement l'écran du cadre numérique est allumé, il peut être proposé d'allumer un écran de dimension plus importante comme la télévision Là encore, l'ensemble des choix possibles peut être proposé ou bien un échantillon plus limité. La limitation des choix peut être effectuée en fonction d'un profil de l'utilisateur. Elle peut également être effectuée en fonction d'une notion de coût. Ce coût peut prendre en compte -le nombre d'actions nécessaires pour mettre l'objet réel concerné dans 30 un état où l'opération est disponible ; 21 - la durée de ces actions (par exemple, allumer un ordinateur pour afficher la vidéo d'un appel de vidéophonie entrant peut ne pas être adapté compte tenu du temps de « boot » nécessaire que cela implique) - la consommation d'énergie impliquée par chaque action, etc. 5 Le tableau ci-dessous illustre différentes situations pouvant survenir pour une application de téléphonie pour personnes malentendantes telle que précédemment décrite. La colonne de droite indique 3 situations et la colonne de gauche des 10 mises en correspondance pour ces situations. Seuls les 3 points de sortie « Ringing », « Blink » et « Display » précédemment évoqué sont pris en compte, et il n'est indiqué que l'objet réel de la mise en correspondance et non l'opération, celle-ci en découlant de façon évidente. Cas normal Ringing téléphone Blink lampe Diplay TV TV éteinte Ringing téléphone Blink lampe Display cadre numérique TV éteinte, téléphone Ringing réveil décroché Blink lampe Display cadre numérique 15 Les moyens de traitement SM peuvent contrôler que l'ensemble des points d'interface obligatoires sont effectivement mis en correspondance avec une opération d'un objet réel. Dans le cas contraire, il peut notifier à l'utilisateur U que celui-ci doit compléter sa configuration dans le cas d'une 20 mise en correspondance manuelle ou que le service ne peut pas être déployé. 22 Enfin, le dispositif selon l'invention comporte des moyens d'activation LM pour déployer la ou les mises en correspondance ainsi effectuées en connectant le service et l'objet réel concernés. Pour cela, les moyens d'activation peuvent communiquer avec les objets réels directement ou par l'intermédiaire des dispositifs d'adaptation OWE1, OWE2, OWE3 en utilisant les protocoles, langages et mécanismes disponibles. Notamment peuvent être utilisés les mécanismes DPWS (pour « Device 10 Profile for Web Services »), REST (pour « Representational State Transfer »), WDSL 2.0, etc. Ce mécanisme DPWS est notamment décrit sur les liens a~.or~ vis/2006/02/de v rof et http:fldownload.microsoft.com/download/b/5/3/b53ea430-dbe5-44 Oc-15 a3)3-df97b10230b7Jintroducir~. d ws.~d En utilisant ces technologies, les moyens d'activation LM peuvent établir la communication entre les points d'interface des services et les opérations des objets réels. 20 Pour ce faire, l'application peut utiliser l'API fournie par le dispositif d'adaptation OWE1, OWE2, OWE3, décrite en RDFa dans la représentation HTML qu'il fournit lui-même. En outre, les moyens d'activation LM peuvent contrôler en temps-réel la 25 disponibilité des objets et l'état des connexions entre services et objets réels. En cas de rupture de la connexion, ils peuvent ainsi envoyer un message aux moyens de traitement SM pour que ceux-ci déclenchent une nouvelle mise en correspondance avec un autre objet réel disponible. Les moyens d'activation peuvent maintenir la relation avec les objets réels 30 par l'intermédiaire des dispositifs d'adaptation OWE1, OWE2, OWE3. s x e 23 Ceux-ci peuvent disposer par exemple d'un mécanisme de souscription auquel les moyens d'activation LM peuvent s'abonner pour être informés automatiquement des événements des objets réels. Alternativement, les moyens d'activation peuvent régulièrement envoyer des requêtes pour s'assurer que les objets réels sont toujours disponibles. 24 REVENDICATIONS1) Dispositif de déploiement d'un service sur un ensemble d'objets réels (Objl, Obj2, Obj3) d'un environnement, comportant des moyens d'interactions (T, TC) avec un utilisateur (U) pour sélectionner ledit service parmi un ensemble de services disponibles, chaque service disponible étant associé à des points d'interface, - des moyens de stockage de représentations (OWE 1, OWE2, OWE3), chaque représentation étant associée à un objet donné parmi ledit ensemble d'objets réels et présentant des associations entre opérations disponibles et états possibles pour ledit objet donné, - des moyens de traitement (SM) pour effectuer au moins une mise en correspondance entre un point d'interface associé audit service et au moins une opération disponible contenue dans la représentation d'un objet réel et associée à un état courant dudit objet réel. - Et des moyens d'activation (LM) pour déployer l'au moins une mise en correspondance en connectant ledit service et ledit objet 20 réel. 2) Dispositif selon la revendication précédente dans lequel lesdits points d'interfaces appartiennent à un groupe comportant des points d'entrée, des points de sorties et des points d'événements. 3) Dispositif selon l'une des revendications précédentes, dans lequel lesdits points d'interface peuvent être soit obligatoires soit optionnels et dans lequel lesdits moyens de traitement (SM) effectuent la mise en correspondance pour chaque points d'interface obligatoire dudit service. 25 30 25 4) Dispositif selon l'une des revendications précédentes dans lequel lesdits moyens d'interactions (T, TC) comprennent un terminal de communication (T) muni d'un moyen d'affichage prévu pour présenter audit utilisateur au moins une partie dudit ensemble de services disponibles et d'un moyen d'entrée pour sélectionner ledit service parmi l'au moins une partie. 5) Dispositif selon la revendication précédente, dans lequel ledit moyen d'affichage et lesdits moyens d'entrée sont un écran tactile. 6) Dispositif selon l'une des revendications précédentes dans lequel ladite mise en correspondance est effectuée en appariant des opérations et des points d'interface ayant un même mot-clé. 7) Dispositif selon l'une des revendications 1 à 5 dans lequel ladite mise 15 en correspondance est effectuée en appariant des opérations et des points d'interface ayant une forte corrélation sémantique. 8) Dispositif selon l'une des revendications précédentes dans lequel lesdits moyens d'interactions sont en outre prévus pour présenter 20 audit utilisateur au moins certaines desdites mises en correspondance effectuées et lui permettre la sélection d'une ou plusieurs mises en correspondance. 9) Dispositif selon l'une des revendications précédentes dans lequel 25 lorsque plusieurs mises en correspondance sont effectuées pour un même point d'interface, la détermination de la mise en correspondance à activer est réalisée en fonction d'un profil dudit utilisateur. 10) Dispositif selon l'une des revendications 1 à 8 dans lequel lorsque 30 plusieurs mises en correspondance sont effectuées pour un même point 26d'interface, la détermination de la mise en correspondance à activer est réalisée en fonction du coût de chacun desdites plusieurs mises en correspondance. 27