FR 3100095 A1 20210226 FR 1910783 A 20190930 Description Titre de l'invention : Procédé et dispositif de gestion de données entre au moins un compteur et un dispositif de collecte de données. Domaine technique [0001] L'invention concerne un procédé et un dispositif de gestion de données entre au moins un compteur et un dispositif de collecte de données. Technique antérieure [0002] Les nouveaux compteurs communicants tels que les compteurs électriques, les compteurs de gaz permettent de collecter une grande quantité d'informations pour un traitement ultérieur. Les données sont collectées par des concentrateurs par l'intermédiaire d'un réseau de communication reliant les concentrateurs aux compteurs. Le réseau de communication est par exemple un réseau par courants porteurs et/ou cellulaire et/ou maillé et/ou un réseau basse consommation longue portée NB-IoT (acronyme de Narrowbmid IoT). La quantité de données collectées est ainsi très importante et risque d'encombrer le réseau de communication pouvant provoquer des pertes de données ou de créer des surcharges au niveau des concentrateurs. [0003] Par exemple, le concentrateur interroge chaque compteur en lui transférant un message demandant de manière précise quelles données il souhaite recevoir et gère les éventuelles pertes de données. La taille en octets des requêtes encombre le réseau de communication et la gestion des éventuelles pertes de données au niveau du concentrateur surcharge celui-ci et peut être cause de dysfonctionnements. [0004] Par exemple, chaque compteur est préprograrmné avec un scénario de données à envoyer et choisit le moment qui lui semble le plus opportun pour les envoyer, le partage de charge étant réalisé par des attentes aléatoires. Le concentrateur de données n'a ainsi aucun contrôle sur le moment d'envoi de ces données ni sur la quantité de données demandées, ce qui peut amener à une saturation temporaire de la bande passante. [0005] Ces deux techniques apportent des limitations en ce sens qu'elles sont gommandes en bande passante ou surchargent les concentrateurs. [0006] 11 est alors souhaitable de pallier ces inconvénients de l'état de la technique. Exposé de l'invention [0007] La présente invention a pour but de résoudre les inconvénients de l'art antérieur en proposant un dispositif et un procédé qui réduisent la taille des messages échangés et allègent les tâches assumées par les concentrateurs. [0008] A cette fin, l'invention concerne un procédé de gestion du transfert de données entre 2 un compteur et un concentrateur de données reliés par un réseau de communication, caractérisé en ce que le procédé est exécuté par le compteur et comporte les étapes de : [0009] - obtention de données et enregistrement des données avec un horodatagc, [0010] - réception du concentrateur d'un message de requête d'obtention de données, [0011] - lecture de la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur, [0012] - sélection d'au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur s'il existe au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, [0013] - transfert d'un message au concentrateur, le message comprenant la au moins une donnée sélectionnée ou aucune donnée s'il n'existe pas au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, [0014] - vérification si un message d'acquittement est reçu en réponse au transfert du message, [0015] - mise à jour de la valeur du pointeur à la valeur de l'horodatage de la dernière donnée transférée uniquement si le message d'acquittement est reçu. [0016] L'invention concerne aussi un dispositif de gestion du transfert de données entre un compteur et un concentrateur de données reliés par un réseau de communication, caractérisé en ce que le dispositif est compris dans le compteur et comporte : [0017] - des moyens d'obtention de données et enregistrement des données avec un ho- rodatage, [0018] - des moyens de réception du concentrateur d'un message de requête d'obtention de données, [0019] - des moyens de lecture de la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur, [0020] - des moyens de sélection d'au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur s'il existe au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, [0021] - des moyens de transfert d'un message au concentrateur, le message comprenant la au moins une donnée sélectionnée ou aucune donnée s'il n'existe pas au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, [0022] - des moyens de vérification si un message d'acquittement est reçu en réponse au transfert du message, [0023] - des moyens de mise à jour de la valeur du pointeur à la valeur de l'horodatage de la dernière donnée transférée uniquement si le message d'acquittement est reçu. [0024] L'invention concerne aussi un système de gestion du transfert de données entre un compteur et un concentrateur de données reliés par un réseau de communication, caractérisé en ce que le système comporte : 3 [0025] - des moyens d'obtention, compris dans le compteur, de données et enregistrement des données avec un horodatage, [0026] - des moyens de transfert, compris dans le concentrateu d'un message de requête d'obtention de données, [0027] - des moyens de réception, compris dans le compteur, d'un message de requête d'obtention de données, [0028] - des moyens de lecture, compris dans le compteur, de la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur, [0029] - des moyens de sélection, compris dans le compteur, d'au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur s'il existe au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, [0030] - des moyens de transfert, compris dans le compteur, d'un message au concentrateur, le message comprenant la au moins une donnée sélectionnée ou aucune donnée s'il n'existe pas au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, [0031] - des moyens de vérification, compris dans le concentrateur, si un message est reçu en réponse, [0032] - des moyens de transfert, compris dans le concentrateur, d'un message d'acquittement uniquement si le message est reçu en réponse, [0033] - des moyens de vérification, compris dans le compteur, si un message d'acquittement est reçu en réponse au transfert du message, [0034] - des moyens de mise à jour de la valeur du pointeur à la valeur de l'horodatage de la dernière donnée transférée uniquement si le message d'acquittement est reçu. [0035] Ainsi la présente invention, en confiant la gestion du pointeur au compteur, allège les tâches effectuées par le concentrateur. [0036] De plus, en simplifiant le contenu des messages envoyés par le concentrateur, le réseau de communication est moins encombré. [0037] Selon un mode particulier de réalisation, le message de requête d'obtention de données comporte en outre une information indiquant la quantité de données à transférer. [0038] Selon un mode particulier de réalisation, le message de requête d'obtention de données comporte en outre une information indiquant une durée et les données, dont l'horodatage est postérieur à la valeur du pointeur et inférieur à la valeur du pointeur additionnée à la durée, sont sélectionnées et transférées. [0039] Selon un mode particulier de réalisation, le procédé comporte en outre les étapes exécutées par le concentrateur de : [0040] - transfert d'un message de requête d'obtention de données, [0041] - vérification si un message est reçu en réponse, 100421 - transfert d'un message d'acquittement uniquement si le message est reçu en réponse. [0043] L'invention concerne aussi un programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour mettre en oeuvre, par un dispositif, le procédé selon le premier aspect, lorsque ledit programme est exécuté par un processeur dudit dispositif. [0044] L'invention concerne aussi des moyens de stockage, caractérisés en ce qu'ils stockent un programme d'ordinateur comprenant des instructions pour mettre en oeuvre, par un dispositif, le procédé selon le premier aspect lorsque ledit programme est exécuté par un processeur dudit dispositif. Brève description des dessins [0045] Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, appa- raîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : [0046] [fig.1] représente schématiquement un système de collecte de données entre un compteur et un concentrateur de données reliés par un réseau de communication dans lequel la présente invention est implémentée ; [0047] [fig.2] illustre schématiquement un exemple d'architecture matérielle d'un compteur selon la présente invention ; [0048] [fig.3] illustre schématiquement un exemple d'architecture matérielle d'un concentrateur selon la présente invention ; [0049] [fig.4] illustre un exemple d'un algorithme exécuté par le concentrateur selon la présente invention ; [0050] [fig.5] illustre un exemple d'un algorithme exécuté par le compteur selon la présente invention. [0051] EXPOSE DETAILLE DE MODES DE REALISATION [0052] La Fig. I représente schématiquement un système de collecte de données entre un compteur et un concentrateur de données reliés par un réseau de communication dans lequel la présente invention est implémentée. [0053] Le système de collecte de données comporte un concentrateur 20 qui est relié à une pluralité de compteurs 10a, I Ob, 10e, 10d, 10e, 10f par l'intermédiaire d'un réseau de communication 30. [0054] Par souci de simplification, un seul concentrateur 20 et six compteurs 10a à 10f sont représentés en Fig. 1. Bien entendu, le système comporte un nombre plus important de concentrateurs 20 et de compteurs 10. [0055] Le réseau de communication 30 est par exemple un réseau par courants porteurs et/ou cellulaire et/ou maillé et/ou un réseau basse consommation longue poilée NB-IoT (acronyme de Nai-rowband IoT). [0056] Les données transférées par chaque compteur sont par exemple des données relatives à la consommation, des détections de tentatives de fraude, des éventuelles surtensions ou rupture d'alimentation. [0057] Selon la présente invention, le système comporte : [0058] - des moyens d'obtention, compris dans chaque compteur 10, de données et enre- gistrement des données avec un horodatagc, [0059] - des moyens de transfert, compris dans le concentrateur 20, d'un message de requête d'obtention de données, [0060] - des moyens de réception, compris dans chaque compteur 10, d'un message de requête d'obtention de données, [0061] - des moyens de lecture, compris dans chaque compteur 10, de la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur, [0062] - des moyens de sélection, compris dans le compteur, d'au moins une donnée dont r horodatagc est postérieur à la valeur du pointeur s'il existe au moins une donnée dont r horodatagc est postérieur à la valeur du pointeur, [0063] - des moyens de transfert, compris dans le compteur, d'un message au concentrateur, le message comprenant la au moins une donnée sélectionnée ou aucune donnée s'il n'existe pas au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, [0064] - des moyens de vérification compris dans le concentrateur, si un message est reçu en réponse, [0065] - des moyens de transfert, compris dans le concentrateur, d'un message d'acquittement uniquement si le message est reçu en réponse, [0066] - des moyens de vérification, compris dans le compteur, si un message d'acquittement est reçu en réponse au transfert du message, [0067] - des moyens de mise à jour de la valeur du pointeur à la valeur de l'horodatage de la dernière donnée transférée uniquement si le message d'acquittement est reçu. [0068] La Fig. 2 illustre schématiquement un exemple d'architecture matérielle d'un compteur selon la présente invention. [0069] Chaque compteur 10 comprend : [0070] - un processeur, micro-processeur, ou microcontrôleur 100; [0071] - une mémoire volatile 103 ; [0072] - une mémoire non volatile 102; [0073] - éventuellement, un lecteur 104 de medium de stockage tel qu'un lecteur de carte SD (Secure Digital Card en anglais ou Carte Numérique Sécurisée en français) ou un disque dur ; [0074] - une interface réseau 105 ; [0075] - une interface entrée sortie 106 permettant d'obtenir des données relatives à la 6 consommation, des détections de tentatives de fraude, des éventuelles surtensions ou rupture d'alimentation ; [0076] - un bus de communication 101 reliant le processeur 100 à la mémoire ROM 102, à la mémoire RAM 103, au lecteur de médium de stockage 104 et aux interfaces 105 et 106. [0077] Le processeur 100 est capable d'exécuter des instructions chargées dans la mémoire volatile 103 à partir de la mémoire non volatile 102, d'une mémoire externe (non représentée), d'un support de stockage, tel qu'une carte SD ou autre, ou d'un réseau de communication. Lorsque le compteur 10 est mis sous tension, le processeur 100 est capable de lire de la mémoire volatile 103 des instructions et de les exécuter. Ces instructions forment un programme d'ordinateur qui cause la mise en oeuvre, par le processeur 100, de tout ou partie du procédé décrit en relation avec la Fig. 5. [0078] Tout ou partie du procédé décrit en relation avec la Fig. S peut être implémenté sous forme logicielle par exécution d'un ensemble d'instructions par une machine programmable, telle qu'un DSP (Digital Signal Processor en anglais ou Unité de Traitement de Signal Numérique en français) ou un microcontrôlcur ou être implémenté sous forme matérielle par une machine ou un composant dédié, tel qu'un FPGA (Field-Programmable Gate Array en anglais ou Matrice de Portes Programmable sur le Terrain en français) ou un ASIC (Application-Specific Integrated Circuit en anglais ou Circuit Intégré Spécifique à une Application en français). [0079] La Fig. 3 illustre schématiquement un exemple d'architecture matérielle d'un concentrateur selon la présente invention. [0080] Le concentrateur 20 comprend : [0081] - un processeur, micro-processeur, ou microcontrôleur 200; [0082] - une mémoire volatile 203 ; [0083] - une mémoire non volatile 202; [0084] - éventuellement, un lecteur 204 de medium de stockage tel qu'un lecteur de carte SD (Secure Digital Card en anglais ou Carte Numérique Sécurisée en français) ou un disque dur ; [0085] - une interface réseau 205 ; [0086] - un bus de communication 201 reliant le processeur 200 à la mémoire ROM 202, à la mémoire RAM 203, au lecteur de médium de stockage 204 et à l'interface 205. [0087] Le processeur 200 est capable d'exécuter des instructions chargées dans la mémoire volatile 203 à partir de la mémoire non volatile 202, d'une mémoire externe (non représentée), d'un support de stockage, tel qu'une carte SD ou autre, ou d'un réseau de communication. Lorsque le concentrateur 20 est mis sous tension, le processeur 200 est capable de lire de la mémoire volatile 203 des instructions et de les exécuter. Ces instructions forment un programme d'ordinateur qui cause la mise en oeuvre, par le 7 processeur 200, de tout ou partie du procédé décrit en relation avec la Fig. 4. [0088] Tout ou partie du procédé décrit en relation avec la Fig. 4 peut être implémenté sous forme logicielle par exécution d'un ensemble d'instructions par une machine programmable, telle qu'un DSP (Digital Signal Processor en anglais ou Unité de Traitement de Signal Numérique en français) ou un microcontrôleur ou être implémenté sous forme matérielle par une machine ou un composant dédié, tel qu'un FPGA (Field-Programmable Gate Array en anglais ou Matrice de Portes Programmable sur le Terrain en français) ou un ASIC (Application-Specific Integrated Circuit en anglais ou Circuit Intégré Spécifique à une Application en français). [0089] La Fig. 4 illustre un exemple d'un algorithme exécuté par le concentrateur selon la présente invention. [0090] Le présent algorithme est exécuté par le concentrateur 20 pour chaque compteur 10 en fonction de la charge du réseau de communication 30 ou de la charge du concentrateur 20 de manière à éviter toute surcharge. [0091] A l'étape E40, le concentrateur 20 commande le transfert d'un message de requête d'obtention de données à destination d'un compteur. [0092] Le message de requête de données est un message ne comportant aucune information supplémentaire ou comporte en outre une information indiquant la quantité de données à transférer ou comporte en outre une information indiquant une durée. [0093] A l'étape suivante E41, le concentrateur 20 vérifie si un message est reçu en réponse. [0094] Si un message est reçu en réponse au message transféré à l'étape précédente, le concentrateur passe à l'étape E42. Dans la négative, le concentrateur 20 interrompt le présent algorithme pour l'exécuter une nouvelle fois ultérieurement. [0095] A l'étape E42, le concentrateur 20 mémorise les données reçues pour un éventuel traitement si des données sont comprises dans le message reçu en réponse. [0096] A l'étape suivante E43, le concentrateur 20 commande le transfert d'un message d'acquittement uniquement si le message est reçu en réponse. [0097] La Fig. 5 illustre un exemple d'un algorithme exécuté par le compteur selon la présente invention. [0098] Le présent algorithme est exécuté par chaque compteur à réception d'un message du concentrateur. [0099] Chaque compteur 10 collecte périodiquement des données, les enregistre avec un ho- rodatage. [0100] A l'étape E50, le compteur 10 détecte la réception du concentrateur d'un message de requête d'obtention de données. [0101] A l'étape suivante E.51, le compteur 10 lit la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur 20. [0102] A l'étape suivante E52, le compteur 10 sélectionne au moins une donnée dont 8 r horodatagc est postérieur à la valeur du pointeur s'il existe au moins une donnée dont r horodatagc est postérieur à la valeur du pointeur. [0103] Par exemple, le compteur 10 sélectionne toutes les données dont rhorodatage est postérieur à la valeur du pointeur. [0104] Par exemple, le compteur 10 sélectionne une quantité de données, indiquée dans le message reçu à l'étape E50, dont r horodatagc est postérieur à la valeur du pointeur. [0105] Par exemple, le compteur 10 sélectionne les données dont l'horodatagc est postérieur à la valeur du pointeur et inférieur à la valeur du pointeur additionnée à une durée comprise dans le message reçu à l'étape E50. [0106] A l'étape suivante E53, le compteur 10 commande le transfert d'un message au concentrateur. [0107] Le message comporte la au moins une donnée sélectionnée ou si aucune donnée n'a un horodatage postérieur à la valeur du pointeur, le message comporte une information prédéterminée telle qu'un code d'erreur ou un tableau vide. [0108] A l'étape suivante E54, le compteur 10 vérifie si un message d'acquittement est reçu en réponse au transfert du message. [0109] Dans l'affirmative, le compteur 10 passe à l'étape E55. Dans la négative, le compteur interrompt le présent algorithme. [0110] A l'étape suivante E55, le compteur 10 met à jour la valeur du pointeur à la valeur de r horodatagc de la dernière donnée transférée. 9 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] REVENDICATIONSProcédé dc gestion du transfert de données entre un compteur et un concentrateur de données reliés par un réseau de communication, caractérisé en ce que le procédé est exécuté par le compteur et comporte les étapes de : - obtention de données et enregistrement des données avec un horodatage, - réception (E50) du concentrateur d'un message dc requête d'obtention de données, - lecture (E51) de la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur, - sélection (E52) d'au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur s'il existe au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, - transfert (E53) d'un message au concentrateur, le message comprenant la au moins une donnée sélectionnée ou aucune donnée s'il n'existe pas au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, - vérification (E54) si un message d'acquittement est reçu en réponse au transfert du message, - mise à jour (E55) de la valeur du pointeur à la valeur de l'horodatage de la dernière donnée transférée uniquement si le message d'acquittement est reçu. Procédé selon la revendication 1, caractérisé en ce que le message de requête d'obtention de données comporte en outre une information indiquant la quantité de données à transférer. Procédé selon la revendication 1, caractérisé en ce que le message de requête d'obtention de données comporte en outre une information indiquant une durée et en ce que les données dont l'horodatage est postérieur à la valeur du pointeur et inférieur à la valeur du pointeur additionnée à la durée sont sélectionnées et transférées. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le procédé comporte en outre les étapes exécutées par le concentrateur de : - transfert d'un message de requête d'obtention de données, - vérification si un message est reçu en réponse, - transfert d'un message d'acquittement uniquement si le message est 10 [Revendication 5] [Revendication 6] reçu en réponse. Dispositif de gestion du transfert de données entre un compteur et un concentrateur de données reliés par un réseau de communication, caractérisé en ce que le dispositif est compris dans le compteur et comporte : - des moyens d'obtention de données et enregistrement des données avec un horodatagc, - des moyens de réception du concentrateur d'un message de requête d'obtention de données, - des moyens de lecture de la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur, - des moyens de sélection d'au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur s'il existe au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, - des moyens de transfert d'un message au concentrateur, le message comprenant la au moins une donnée sélectionnée ou aucune donnée s'il n'existe pas au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur, - des moyens de vérification si un message d'acquittement est reçu en réponse au transfert du message, - des moyens de mise à jour de la valeur du pointeur à la valeur de l'horodatage de la dernière donnée transférée uniquement si le message d'acquittement est reçu. Système de gestion du transfert de données entre un compteur et un concentrateur de données reliés par un réseau de communication, caractérisé en ce que le système comporte : - des moyens d'obtention, compris dans le compteur, de données et enregistrement des données avec un horodatage, - des moyens de transfert, compris dans le concentrateur, d'un message de requête d'obtention de données, - des moyens de réception, compris dans le compteur, d'un message de requête d'obtention de données, - des moyens de lecture, compris dans le compteur, de la valeur d'un pointeur datant la dernière donnée envoyée avec succès au concentrateur, - des moyens de sélection, compris dans le compteur, d'au moins une donnée dont l'horodatage est postérieur à la valeur du pointeur s'il existe au moins une donnée dont l'horodatage est postérieur à la valeur 11 [Revendication 7] du pointeur, [Revendication 8] - des moyens de transfert, compris dans le compteur, d'un message au concentrateur, le message comprenant la au moins une donnée sélectionnée ou aucune donnée s'il n'existe pas au moins une donnée dont l'horodatagc est postérieur à la valeur du pointeur, - des moyens de vérification, compris dans le concentratcur, si un message est reçu en réponse, - des moyens de transfert, compris dans le concentratcur, d'un message d'acquittement uniquement si le message est reçu en réponse, - des moyens de vérification, compris dans le compteur, si un message d'acquittement est reçu en réponse au transfert du message, - des moyens de mise à jour de la valeur du pointeur à la valeur de l'horodatagc de la dernière donnée transférée uniquement si le message d'acquittement est reçu. Programme d'ordinateur caractérisé en ce qu'il comprend des instructions pour mettre en oeuvre, par un dispositif, le procédé selon l'une des revendications 1 à 4, lorsque ledit programme est exécuté par le dispositif. Un support d'enregistrement sur lequel cst stocké un programme d'ordinateur comprenant des instructions pour mettre en oeuvre, par un dispositif, le procédé selon l'une des revendications 1 à 4, lorsque ledit programme est exécuté par le dispositif.