Brevet FR3032849A1 — publié le 20160819

1. Procédé d'établissement d'une session de communication bidirectionnelle entre un objet communicant et un serveur distant, passerelle, système et programme d'ordinateur correspondants 1. Domaine de l'invention Le domaine de l'invention est celui de l'Internet des objets. Il concerne plus particulièrement l'interconnexion de réseaux locaux sans-fil longue portée avec le coeur d'un réseau étendu, tel que le réseau Internet, et notamment le cas où ces réseaux (locaux et étendu) reposent sur des protocoles de communication hétérogènes. 2. Art antérieur L'internet des objets est en plein essor. Cette évolution s'accompagne de l'émergence de nouvelles applications, qui dépassent le simple cadre traditionnel du foyer ou de l'entreprise, pour venir s'intégrer au sein d'infrastructures beaucoup plus vastes. Le concept de « villes intelligentes » (ou « smart cities » en anglais) s'inscrit notamment dans ce cadre. Au moyen du déploiement à grande échelle de réseaux de capteurs sans fils, ou autres objets communicants, il devient ainsi possible de proposer de nouveaux services aux citoyens, ou aux autorités en charge d'administrer une ville. L'éventail des possibilités est large. L'éclairage urbain peut ainsi être optimisé, en l'adaptant dynamiquement en fonction de l'état du trafic routier à un instant considéré, par exemple. La gestion du stationnement peut également être facilitée, en informant en temps-réel les automobilistes des emplacements des places disponibles, grâce à des capteurs intégrés à chacun de ces emplacements. Ceci contribue par exemple à réduire la consommation de carburant des véhicules et donc la pollution. Parmi les critères déterminants pour le déploiement d'un tel réseau d'objets communicants sans-fil, il en est un qui est essentiel : l'autonomie. A titre d'exemple, pour des raisons évidentes de coût de maintenance, la pile qui alimente un capteur intégré dans la chaussée dans le but de détecter si une place de parking est libre ou occupée doit être en mesure d'assurer l'alimentation électrique de ce capteur pendant au moins plusieurs années. Aussi, une des particularités de ces objets communicants est d'être basse consommation. Toujours dans l'objectif d'optimiser au mieux la consommation électrique de ces objets communicants, la quantité d'information à transmettre est également maitrisée et le débit de transmission réduit. Le protocole de communication utilisé au sein d'un tel réseau local d'objets communicants est donc adapté en conséquence, et ces contraintes font qu'un réseau basé sur le protocole IP 3032849 2 (« Internet Protocol ») n'est pas toujours adapté. Cependant, afin d'étendre les applications possibles et de rendre disponibles les informations collectées au plus grand nombre, une interconnexion entre le réseau sans-fil local formé par ces objets communicants et un réseau étendu tel qu'Internet est souvent souhaitée. Se 5 pose alors le problème de faire communiquer des équipements (des objets communicants d'une part, et des serveurs par exemple d'autre part) présents sur des réseaux de communication basés sur des protocoles de communication hétérogènes. Des solutions existent, mais sont généralement limitées. Par exemple, alors que, dans le monde des terminaux de communication connectés à Internet, un simple point d'accès suffit pour faire communiquer un équipement avec 10 tout autre équipement également connecté au réseau, la mise à disposition des données émises par un réseau de capteurs repose actuellement majoritairement sur des solutions propriétaires et intégrées, complexes à mettre en oeuvre. Un autre facteur limitant de ces solutions est qu'elles mettent généralement en oeuvre une communication unilatérale seulement : les objets communicants sur le réseau local émettent des données qui sont effectivement transmises à des 15 serveurs sur le réseau étendu, mais ces derniers ne sont pas en mesure de transmettre en retour des données à destination des objets communicants, faute de pouvoir les identifier. 3. Résumé de l'invention L'invention offre une solution qui ne présente pas au moins certains de ces problèmes de 20 l'art antérieur, grâce à un procédé original d'établissement d'une session de communication bidirectionnelle entre un objet communicant et un serveur distant, ledit objet communicant étant connecté à un réseau de communication sans-fil local (WLAN) fondé sur un protocole non IP, dit réseau local, et ledit serveur distant étant connecté à un réseau de communication étendu (WAN) fondé sur le protocole IP, dit réseau étendu. Ce procédé est mis en oeuvre au sein d'une 25 passerelle, et il comprend : une étape de réception d'une trame de données en provenance dudit objet communicant, selon ledit protocole non IP, ladite trame comprenant au moins un identifiant représentatif dudit objet communicant dans ledit réseau local et au moins une charge utile destinée audit serveur distant ; 30 - une étape d'obtention d'une adresse IP et d'un numéro de port associés audit serveur de destination; une étape d'enregistrement, au sein d'une structure de données, d'une association entre : 3032849 3 - ledit identifiant représentatif dudit objet communicant ; - un numéro de port, délivré par ladite passerelle, attribué audit objet communicant pour ladite session de communication bidirectionnelle ; - lesdits adresse IP et numéro de port associés audit serveur de destination. 5 Cette association permet ledit établissement d'une session de communication bidirectionnelle de données entre ledit objet communicant et ledit serveur distant, via ladite passerelle. De cette manière, une session de communication bidirectionnelle peut être établie entre l'objet communicant et le serveur distant, même si ces entités appartiennent à des réseaux de communication reposant sur des protocoles de communication hétérogènes. Les données émises 10 (la charge utile par exemple) par l'objet communicant sont relayées au serveur distant par la passerelle, au moyen par exemple d'un datagramme UDP (« User Datagram Protocol »). Ce datagramme contient non seulement l'adresse IP et le port de destination (adresse IP du serveur distant et port à contacter du serveur distant), mais également l'adresse IP source (adresse IP de la passerelle) et le port attribué à l'objet communicant par ladite passerelle. Le serveur distant est 15 alors en mesure d'émettre en retour une trame de données, à destination de l'adresse IP de la passerelle et du port attribué à l'objet communicant pour ladite session de communication bidirectionnelle. A réception de cette trame, la passerelle identifie, au moyen de la structure de données et sur la base dudit port attribué à l'objet communicant, l'identifiant représentatif dudit objet communiquant au sein du réseau local. 20 Selon un mode de réalisation particulier de l'invention, la validité de ladite association expire si aucune donnée n'est échangée entre ledit objet communicant et ledit serveur distant pendant une durée prédéterminée. Ainsi, la durée d'une session entre un premier objet communicant et un serveur distant est limitée, et le numéro de port attribué par la passerelle au premier objet communicant peut 25 être réattribué à un second objet communicant si aucune donnée n'est échangée entre le premier objet communicant et le serveur distant pendant une durée prédéterminée (par exemple une heure). Selon un mode de réalisation particulier de l'invention, ledit identifiant représentatif dudit objet communicant dans ledit réseau local est une adresse MAC. 30 Selon encore un mode de réalisation particulier de l'invention, ledit réseau de communication sans-fil local (WLAN) appartient au groupe comprenant : un réseau Zigbee ; 3032849 4 un réseau Bluetooth ; un réseau Bluetooth Low Energy ; un réseau WMBus ; un réseau IEEE802.15.4. 5 Selon un autre aspect, l'invention se rapporte également à une passerelle pour l'établissement d'une session de communication bidirectionnelle entre un objet communicant et un serveur distant, ledit objet communicant étant connecté à un réseau de communication sans-fil local (WLAN) fondé sur un protocole non IP, dit réseau local, et ledit serveur distant étant connecté à un réseau de communication étendu (WAN) fondé sur le protocole IP, dit réseau 10 étendu. Cette passerelle comprend : des moyens de réception d'une trame de données en provenance dudit objet communicant, selon ledit protocole non IP, ladite trame comprenant au moins un identifiant représentatif dudit objet communicant dans ledit réseau local et au moins une charge utile destinée audit serveur distant ; 15 - des moyens d'obtention d'une adresse IP et d'un numéro de port associés audit serveur de destination; des moyens d'enregistrement, au sein d'une structure de données, d'une association entre : ledit identifiant représentatif dudit objet communicant ; 20 un numéro de port, délivré par ladite passerelle, attribué audit objet communicant pour ladite session de communication bidirectionnelle ; lesdits adresse IP et numéro de port associés audit serveur de destination. Cette association, au sein de ladite passerelle, permet ledit établissement d'une session de communication bidirectionnelle de données entre ledit objet communicant et ledit serveur 25 distant. Selon une implémentation préférée, les différentes étapes du procédé selon l'invention sont mises en oeuvre par un ou plusieurs logiciels ou programmes d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'une passerelle de service selon l'invention et étant conçu pour commander l'exécution des différentes étapes du 30 procédé. En conséquence, l'invention vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des instructions pour 3032849 5 commander l'exécution des étapes d'un procédé tel que mentionné ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. 5 L'invention vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen 10 d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. 15 Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Selon un mode de réalisation, l'invention est mise en oeuvre au moyen de composants logiciels et/ou matériels. 20 Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en oeuvre une fonction ou un ensemble de fonctions. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, routeur, etc.) et est susceptible d'accéder aux ressources 25 matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.). De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de 30 logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc. Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux 3032849 6 pour la mise en oeuvre de l'invention. 4. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la 5 lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés parmi lesquels : la figure 1 présente une vue d'ensemble du contexte général de l'invention, dans un mode de réalisation particulier ; la figure 2 illustre les principales étapes mises en oeuvre par le procédé d'établissement 10 d'une session de communication bidirectionnelle de l'invention, dans un mode de réalisation particulier ; la figure 3 présente un exemple d'association entre un objet communicant et un serveur distant, tel que défini au niveau de la passerelle, dans un mode de réalisation particulier ; la figure 4 présente un diagramme de séquence d'un cas d'utilisation de la technique 15 proposée, dans un mode de réalisation particulier ; la figure 5 décrit une architecture simplifiée d'une passerelle selon l'invention. 5. Description détaillée 5.1 Contexte général 20 L'invention se rapporte à un procédé d'établissement d'une session de communication bidirectionnelle entre un objet communicant d'une part et un équipement tel qu'un serveur distant ou un terminal de communication mobile d'autre part, l'objet communicant et ledit équipement appartenant chacun à des réseaux différents reposant sur des protocoles de communication hétérogènes. Ce procédé est mis en oeuvre au sein d'une passerelle 25 interconnectant ces deux réseaux. Dans toute la suite du document, on considère que ledit équipement est un serveur distant, mais cet exemple est donné à titre illustratif et non limitatif. On présente, en relation avec la figure 1, une vue d'ensemble du contexte général de l'invention, dans un mode de réalisation particulier. Un premier réseau de communication sans-fil local (WLAN pour « Wireless Local Area Network ») est interconnecté à un réseau de 30 communication étendu (WAN pour Wide Area Network) - typiquement le réseau Internet - au moyen d'une passerelle (GW). Ladite passerelle comprend donc des interfaces réseaux lui permettant d'appartenir à la fois au réseau local et au réseau étendu. 3032849 7 Outre la passerelle (GW), le réseau sans-fil local comprend un ensemble d'objets communicants (OC) (la figure 1 présente à titre d'exemple un réseau local qui contient quatre objets communicants 0C1 à 0C4, mais ceci est purement illustratif : le nombre d'objets communicants présents dans le réseau local selon la technique proposée est quelconque). Ces 5 objets communicants peuvent par exemple être des capteurs sans-fil. Ils ont la particularité d'être basse consommation et d'utiliser des moyens de communication très bas débit ( REVENDICATIONS1. Procédé d'établissement d'une session de communication bidirectionnelle entre un objet communicant et un serveur distant, ledit objet communicant étant connecté à un réseau de communication sans-fil local (WLAN) fondé sur un protocole non IP, dit réseau local, et ledit serveur distant étant connecté à un réseau de communication étendu (WAN) fondé sur le protocole IP, dit réseau étendu, ledit procédé étant mis en oeuvre au sein d'une passerelle, ledit procédé étant caractérisé en ce qu'il comprend : une étape de réception (21) d'une trame de données en provenance dudit objet communicant, selon ledit protocole non IP, ladite trame comprenant au moins un identifiant représentatif dudit objet communicant dans ledit réseau local et au moins une charge utile destinée audit serveur distant ; une étape d'obtention (22) d'une adresse IP et d'un numéro de port associés audit serveur de destination; - une étape d'enregistrement (23), au sein d'une structure de données, d'une association entre : ledit identifiant représentatif dudit objet communicant ; un numéro de port, délivré par ladite passerelle, attribué audit objet communicant pour ladite session de communication bidirectionnelle ; lesdits adresse IP et numéro de port associés audit serveur de destination, ladite association permettant ledit établissement d'une session de communication bidirectionnelle de données entre ledit objet communicant et ledit serveur distant, via ladite passerelle. 2. Procédé d'établissement d'une session de communication bidirectionnelle selon la revendication 1 caractérisé en ce que la validité de ladite association expire si aucune donnée n'est échangée entre ledit objet communicant et ledit serveur distant pendant une durée prédéterminée. 3. Procédé d'établissement d'une session de communication bidirectionnelle selon l'une quelconque des revendications 1 à 2 caractérisé en ce que ledit identifiant représentatif dudit objet communicant dans ledit réseau local est une adresse MAC. 3032849 15 4. Procédé d'établissement d'une session de communication bidirectionnelle selon l'une quelconque des revendications 1 à 3 caractérisé en ce que ledit réseau de communication sans-fil local (WLAN) appartient au groupe comprenant : un réseau Zigbee ; 5 un réseau Bluetooth ; un réseau Bluetooth Low Energy ; un réseau WMBus ; un réseau IEEE802.15.4. 10 5. Passerelle pour l'établissement d'une session de communication bidirectionnelle entre un objet communicant et un serveur distant, ledit objet communicant étant connecté à un réseau de communication sans-fil local (WLAN) fondé sur un protocole non IP, dit réseau local, et ledit serveur distant étant connecté à un réseau de communication étendu (WAN) fondé sur le protocole IP, dit réseau étendu, 15 ladite passerelle étant caractérisée en ce qu'elle comprend : des moyens de réception d'une trame de données en provenance dudit objet communicant, selon ledit protocole non IP, ladite trame comprenant au moins un identifiant représentatif dudit objet communicant dans ledit réseau local et au moins une charge utile destinée audit serveur distant ; 20 - des moyens d'obtention d'une adresse IP et d'un numéro de port associés audit serveur de destination; des moyens d'enregistrement, au sein d'une structure de données, d'une association entre : - ledit identifiant représentatif dudit objet communicant ; 25 - un numéro de port, délivré par ladite passerelle, attribué audit objet communicant pour ladite session de communication bidirectionnelle ; - lesdits adresse IP et numéro de port associés audit serveur de destination, ladite association permettant ledit établissement d'une session de communication bidirectionnelle de données entre ledit objet communicant et ledit serveur distant, via ladite 30 passerelle. 3032849 16 6. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution du procédé d'établissement d'une session de communication bidirectionnelle selon quelconque des 5 revendications 1 à 4, lorsqu'il est exécuté sur un ordinateur.