• 20 hours
  • Hard

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Construisez des données interopérables

Log in or subscribe for free to enjoy all this course has to offer!

Construisez des données interopérables

Ce chapitre aborde plus en détail une notion déjà découverte lors de la leçon précédente, l’interopérabilité, et explore ce qui en fait un véritable défi pour l’Internet des Objets, en analysant les caractéristiques de données interopérables.

Tout d’abord, nous nous appuierons sur les caractéristiques intrinsèques de l’Internet des Objets pour identifier précisément les problèmes liés à la gestion de données dans l’Internet des Objets. Nous verrons ensuite les techniques que l’on peut appliquer pour répondre à ces problématiques.

Rendre les données compréhensibles par les machines

L’un des premiers aspects qui contraint l’échange de données dans l’Internet des Objets est le fait que la communication se fait de machine à machine. Aucun opérateur humain ne peut redonner de contexte ou désambiguïser les données échangées entre les différents objets. La nécessité que les données soient compréhensibles par les machines sans intervention de l’opérateur humain amène à avoir une approche différente de l’approche classique où les échanges sont toujours destinés à être interprétés par un utilisateur en bout de chaîne.

On peut illustrer cette notion de compréhensibilité par les machines par un exemple d’accès à une page Internet. Quand l’utilisateur veut accéder à une page Internet, un échange va bien être effectué entre deux machines : le serveur qui détient la page, et l’ordinateur client de l’utilisateur. Cependant, le contenu est clairement destiné à un humain : la structure de la page ainsi que le texte qu’elle contient sont lus et interprétés par l’utilisateur pour comprendre le sujet dont il est question. Du point de vue de l’ordinateur, il n’y a aucune différence entre les liens redirigeant vers d’autres pages depuis la page que le lecteur est en train de lire, même si, pour l’humain, ces liens ne sont pas tous équivalents.

Différents niveaux d’expressivité des données

On peut attribuer différents niveaux de “compréhensibilité” pour un même message. À la base, un message qui ne porte aucune information, qui n’a aucun sens, est un bruit. Au-dessus du bruit, un message dont le sens peut être interprété dans le cadre d’une application précise est une donnée. Cependant, en dehors de cette application, la donnée est difficilement réutilisable. Supposons que vous développiez une application qui donne la température mesurée par un capteur. Si ce capteur vous envoie ‘26’, vous êtes capable d’interpréter cette donnée, sachant qu’il s’agit d’un capteur de température qui mesure la température en degrés Celsius de la chambre à coucher… Cependant, ce ‘26’ seul est difficilement réutilisable, car ce contexte de collecte est implicite. Au-dessus de la donnée se trouve l’information, à savoir une donnée qui intègre localement un contexte de collecte. Pour que l’information soit réellement interopérable, il est nécessaire d’exprimer ce contexte de collecte dans un vocabulaire que les autres applications sont en mesure de comprendre, en la remettant dans un contexte global. C’est là que l’on peut parler de connaissance. Enfin, la sagesse est le comportement d’une application par rapport à un ensemble de connaissances.

La plupart des objets de l’Internet des Objets produisent des données, alors que les applications, pour pouvoir tirer le maximum du potentiel des observations des capteurs, nécessitent des connaissances. Dans ce cas, pourquoi ne pas directement produire des connaissances ?

L’IoT, un domaine contraint

La principale raison qui a amené les objets à ne produire que des données et non des connaissances est l’ensemble des contraintes qui pèsent sur l’Internet des Objets. Ces contraintes sont de plusieurs types :

  • Les contraintes sur les objets : puisque les objets connectés sont distribués dans l’environnement, ils disposent souvent de peu de puissance de calcul et de mémoire, afin de dépenser l’énergie au minimum pour économiser la batterie, dans le cas où ils ne seraient pas connectés au réseau électrique.

  • Les contraintes sur les réseaux : afin d’économiser la batterie, on a tendance à utiliser les protocoles dédiés, consommant très peu d’énergie, et à essayer d’économiser au maximum la bande passante.

On voit donc que les choix de production par les objets de données et non de connaissances ont été guidés par les contraintes techniques qui pèsent sur l’Internet des Objets.

Afin de respecter ces contraintes :

  • Il est nécessaire que les objets produisent et consomment des données simples, sérialisées dans des formats qui demandent peu de puissance afin d’être interprétées. Ces formats doivent être le plus compacts possible pour respecter les contraintes sur la bande passante.

  • Les protocoles conçus pour les réseaux objets connectés visent à limiter le nombre d’échanges entre les différentes entités : par exemple, les protocoles comme HTTP, qui reposent sur TCP, et donc demandent l’établissement d’une connexion entre les entités communicantes, se voient remplacés par des protocoles plus adaptés aux applications contraintes, comme CoAP, basé sur UDP. Il existe bien sûr d’autres protocoles, certains ouverts, d’autres propriétaires, dédiés ou non à un matériel spécifique.

Pour résumer, la gestion de données dans l’Internet des Objets fait face à des problématiques concurrentes :

  • La nécessité d’être compréhensible par les machines, ce qui permet de recontextualiser les données et les réutiliser en dehors de leur contact de collecte. Cette capture de contexte est rendue possible par l’ajout aux données de métadonnées, c’est-à-dire des données à propos des données, qui permettent de complémenter la donnée originale en précisant par exemple le moment où elle a été collectée, le capteur qui l’a observée, l’unité et la précision de ce capteur, etc.

  • Le passage à l’échelle : avec l’augmentation du nombre d’objets, accompagnée nécessairement de l'augmentation du volume de données collectées par ces objets, on a besoin d’avoir les données les plus compactes possible, alors que l’ajout de métadonnées alourdit les données.

Adapter le traitement des données aux contraintes de l’IoT

Afin de pouvoir marier les contraintes de l’Internet des Objets avec la demande des applications, il est nécessaire que le formalisme des données échangées s’adapte aux capacités des entités qui les échangent. En effet, nous n’avons jusqu’ici parlé que des objets les plus contraints de l’Internet des Objets, car ce sont eux qui en font la spécificité. Cependant, les capteurs et les actionneurs distribués dans l’environnement échangent avec des passerelles (gateways en anglais, équivalent des box domestiques dans l’Internet classique). Celles-ci peuvent connaître les protocoles spécifiques aux objets connectés pour échanger avec eux, mais aussi les protocoles classiques de l’Internet. Ceux-ci permettent aux passerelles d’échanger avec des serveurs aux capacités de traitement et de stockage bien plus importantes, et assurent le déploiement d’applications complexes.

Les objets les plus contraints échangeront donc des données, entre eux éventuellement, mais principalement avec les passerelles, alors que les applications déployées sur des objets de plus grande capacité pourront échanger des connaissances plus riches, mais plus complexes. Il sera donc nécessaire d’être capable de transformer les données en connaissance entre les couches de l’Internet des Objets. Ce sont les passerelles, bien que disposant d’une capacité de traitement limitée, qui semblent adaptées à la tâche de l’enrichissement, c’est-à-dire à la transformation d’un message dans un format plus expressif (au sens de la hiérarchie vue précédemment).

Pour résumer cette partie, nous avons vu que les données jouent un rôle important dans l’interopérabilité sur l’Internet des Objets, et en quoi les contraintes pesant sur ce domaine font de la gestion de données un défi. Après avoir identifié ces caractéristiques de l’Internet des Objets, nous avons vu en quoi l’enrichissement permet de marier les contraintes des objets avec les besoins d’interopérabilité en adaptant le type de données aux objets qui les manipulent.

Example of certificate of achievement
Example of certificate of achievement