Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPPORTUNISTIC ROUTING OF DATA
Document Type and Number:
WIPO Patent Application WO/2020/127128
Kind Code:
A1
Abstract:
The invention relates to a method for opportunistic routing of data in a grid network, a. a learning phase comprising: - generating a tree structure between the nodes, the nodes of a same rank connected to a same node of preceding rank in the tree structure being identified and counted in a sequential order; - determining a position identifier for each current leaf node to be attached to a given node; comprising a field coding an index incremented with respect to a rank index of the given node, and further comprising a plurality of successive fields coding the sequential order of each node of preceding rank and the sequential order of the current node in its rank; b. the current operational phase comprising selecting, among candidate nodes of the grid network, an optimum node, the selection comprising determining a score as a function of the position identifiers of the source and destination nodes, and with respect to the position of the candidate node in the tree structure.

Inventors:
LAVENU CÉDRIC (FR)
Application Number:
PCT/EP2019/085463
Publication Date:
June 25, 2020
Filing Date:
December 16, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ENEDIS (FR)
International Classes:
H04L45/122; H04L45/16
Other References:
SIMON DUQUENNOY ET AL: "Let the tree Bloom : scalable opportunistic routing with ORPL", PROCEEDINGS OF THE 11TH ACM CONFERENCE ON EMBEDDED NETWORKED SENSOR SYSTEMS, SENSYS '13, 1 January 2013 (2013-01-01), New York, New York, USA, pages 1 - 14, XP055612446, ISBN: 978-1-4503-2027-6, DOI: 10.1145/2517351.2517369
A TRIVINO-CABRERA ET AL: "Survey on opportunistic routing in multihop wireless networks", INTERNATIONAL JOURNAL OF COMMUNICATION NETWORKS AND INFORMATION SECURITY (IJCNIS), 1 August 2011 (2011-08-01), Kohat, pages 170, XP055612449, Retrieved from the Internet
Attorney, Agent or Firm:
PLASSERAUD IP (FR)
Download PDF:
Claims:
Revendications

[Revendication 1] Procédé de routage opportuniste de données dans un réseau maillé (1 ), le réseau comportant un nœud racine (LBS), et une pluralité de nœuds feuilles (LBDa, LBDb, LBDc), le procédé comportant une phase d’apprentissage de liens (2) entre nœuds du réseau, et une phase opérationnelle courante (S200) pour un routage de données à travers le réseau (1 ),

a. la phase d’apprentissage comportant :

- une génération d’arborescence (S12) entre les nœuds, un rang (RNK) de chaque nœud feuille étant défini par un nombre de nœud(s) intermédiaire(s) sur une branche unique (3) reliant ce nœud feuille (LBDb) au nœud racine (LBS), et les nœuds d’un même rang (RNK3) reliés à un même nœud (LBDc) de rang précédent (RNK2) dans l’arborescence étant identifiés et comptabilisés selon un ordre séquentiel (seq1 , seq2 );

- une détermination (S13) d’un identifiant de position (4) pour chaque nœud feuille courant (LBDb) à rattacher à un nœud donné (LBA);

l’identifiant de position (4) comportant un champ codant un indice de rang (RNK4) du nœud feuille courant (LBDb), le rang du nœud feuille courant à rattacher au nœud donné étant défini par un indice incrémenté par rapport à un indice du rang (RNK3) du nœud donné (LBA), l’identifiant de position (4) comportant en outre une pluralité de champs successifs (FLD RNK1 , FLD RNK2...), chaque champ codant l’ordre séquentiel (seq3, seq2...) de chaque nœud (LBA, LBDa, LBDc) de rang précédent (RNK3, RKN2) jusqu’au rang (RNK1 ) qui suit le nœud racine (LBS), l’identifiant de position (4) comportant en outre un champ (FLD RNK4) codant l’ordre séquentiel (seq1 ) du nœud courant (LBDb) dans son rang (RNK4);

b. la phase opérationnelle courante (S200) comportant une sélection (S18), parmi des nœuds candidats (CNDTa, CNDTb, CNDTc, CNDTd, LBDa, LBA) du réseau maillé (1 ), d’un nœud optimal (LBDa) pour transmettre des données depuis un nœud source (LBDc) jusqu’à un nœud destinataire (LBS), la sélection du nœud optimal comportant la détermination (S210, S21 1 , S212) d’un score pour chaque nœud candidat en fonction des identifiants de position (4) des nœuds source (LBDc) et destinataire (LBS), et par rapport à la position du nœud candidat dans l’arborescence. [Revendication 2] Procédé selon la revendication 1 , la génération (S12) de l’arborescence entre les noeuds comportant, pour le nœud feuille courant (LBDb) à rattacher,

- diffuser (S10), par le nœud feuille courant à rattacher, un message de demande de rattachement à l’arborescence destiné au nœud racine,

- recevoir, par des candidats au rattachement parmi les nœuds du réseau maillé, le message,

- sélectionner le nœud donné (LBA) parmi ces candidats au rattachement, selon une métrique,

- transmettre (S11 ) le message au nœud racine (LBS) par l’intermédiaire du nœud donné (LBA), la détermination de l’identifiant de position (4) étant effectuée par le nœud racine (LBS) en réponse à cette demande de rattachement transmise par le nœud donné,

- transmettre l’identifiant de position (4) au nœud donné (LBA) afin que le nœud donné (LBA) le transmette au nœud feuille courant à rattacher (LBDb).

[Revendication 3] Procédé selon la revendication 2, le message comportant une adresse du nœud feuille courant à rattacher (LBDb) ainsi qu’une adresse du nœud racine (LBS), le procédé comportant en outre :

- stocker (S14) dans une mémoire du nœud racine (LBS) l’identifiant de position (4) généré, en association avec l’adresse du nœud feuille courant (LBDb),

- envoyer (S15), par le nœud racine, l’identifiant de position (4) au nœud feuille courant (LBDb),

- stocker (S17), dans une mémoire du nœud feuille courant (LBDb), l’identifiant de position.

[Revendication 4] Procédé selon l’une quelconque des revendications 1 à 3, dans lequel la sélection d’un nœud optimal pour transmettre les données comporte :

- la diffusion locale (S20), par le nœud source (LBDc), et la réception (S201 ), par un nœud candidat (LBDa), d’un message de demande de routage, le message de demande de routage comportant l’identifiant de position (4) du nœud destinataire (LBD b) des données, l’identifiant de position (4) du nœud source (LBDc), le nœud candidat (LBDa) comportant une mémoire stockant un identifiant de position (4) du nœud candidat,

la détermination du score du nœud candidat (LBDa), étant effectuée par le nœud candidat, le score étant déterminé en comparant (S209) les valeurs de chacun des champs de l’identifiant (4) du nœud candidat (LBDa) et de l’identifiant du nœud destinataire (LBD b) deux à deux, pour les champs codant l’ordre séquentiel (FLD RNK) de chaque nœud de rang précédent, et pour chaque champ différent, en baissant le score du nœud candidat, le score étant une probabilité d’envoyer (S214), par le nœud candidat (LBDa), à destination du nœud source (LBDc), un message de proposition de routage comportant l’identifiant de position du nœud candidat.

[Revendication 5] Procédé selon la revendication 4, comportant en outre une étape préalable de détermination, par le nœud candidat (LBDa) que le nœud destinataire (LDB b) n’est pas le nœud racine (LBS).

[Revendication 6] Procédé selon l’une quelconque des revendications 1 à 3, dans lequel la sélection d’un nœud optimal pour transmettre les données comporte :

- la diffusion locale (S20), par le nœud source (LBDc), et la réception (S201 ), par un nœud candidat (LBDa), d’un message de demande de routage, le message de demande de routage comportant l’identifiant de position (4) du nœud destinataire (LBS) des données, et l’identifiant de position (4) du nœud source (LBDc), le nœud candidat (LBDa) comportant une mémoire stockant un identifiant de position (4) du nœud candidat,

- détecter (S207), par le nœud candidat (LBDa), que l’indice de rang (RNK2) du nœud source (LBDc) est supérieur à l’indice de rang (RNK1 ) du nœud candidat, la détermination (S210) du score du nœud candidat (LBDa) étant effectuée par le nœud candidat en réponse à la détection (S207) que l’indice de rang (RNK2) du nœud source (LBDc) est supérieur à l’indice de rang (RNK1 ) du nœud candidat, le score étant une probabilité d’envoyer (S214), par le nœud candidat (LBDa), à destination du nœud source (LBDc), un message de proposition de routage comportant l’identifiant de position du nœud candidat. [Revendication 7] Procédé selon la revendication 6, comportant en outre une étape préalable de détermination, par le nœud candidat (LBDa) que le nœud destinataire est le nœud racine.

[Revendication 8] Système comportant un nœud racine (LBS), et une pluralité de nœuds feuilles (LBDa, LBDc...), dans un réseau maillé (1 ), pour la mise en œuvre du procédé de routage opportuniste de données sur le réseau maillé, selon l’une des revendications précédentes, dans lequel chaque nœud du réseau est configuré pour mettre en œuvre ladite phase opérationnelle (S200) courante.

[Revendication 9] Système selon la revendication 8, dans lequel le nœud racine, est configuré pour mettre en œuvre ladite phase d’apprentissage.

[Revendication 10] Système selon l’une des revendications 8 et 9, dans lequel les nœuds feuilles sont des compteurs de consommation électrique d’un réseau de distribution électrique et le nœud racine est un nœud collecteur.

[Revendication 11] Nœud racine (LBS) d’un système selon la revendication 9, configuré pour mettre en œuvre ladite phase d’apprentissage.

[Revendication 12] Nœud d’un système selon l’une des revendications 8 à 10, configuré pour mettre en œuvre ladite phase opérationnelle (S200) courante.

[Revendication 13] Procédé de détermination d’identifiants de position (4) de nœuds d’un réseau maillé (1 ), pour un routage opportuniste de données dans le réseau maillé, par lecture desdits identifiants (4), le réseau maillé comportant un nœud racine(LBS), et une pluralité de nœuds feuilles (LBDa, LBDc...), le procédé comportant :

- une génération (S12) d’arborescence entre les nœuds, un rang de chaque nœud feuille étant défini par un nombre de nœud(s) intermédiaire(s) sur une branche unique (3) reliant ce nœud feuille (LBDb) au nœud racine (LBS), et les nœuds d’un même rang reliés à un même nœud de rang précédent dans l’arborescence étant identifiés et comptabilisés selon un ordre séquentiel,

- une détermination (S13) d’un identifiant de position (4) pour chaque nœud feuille courant à rattacher à un nœud donné (LBA),

l’identifiant de position (4) comportant un champ codant un indice de rang du nœud feuille courant, le rang du nœud feuille courant à rattacher au nœud donné (LBA) étant défini par un indice incrémenté par rapport à un indice du rang du nœud donné, l’identifiant de position comportant en outre une pluralité de champs successifs, chaque champ codant l’ordre séquentiel de chaque nœud de rang précédent (LBA, LBDc, LBDa) jusqu’au rang qui suit le nœud racine (LBS), l’identifiant de position comportant en outre un champ codant l’ordre séquentiel du nœud courant (LBDb) dans son rang.

[Revendication 14] Programme informatique comportant des instructions pour la mise en œuvre du procédé selon la revendication 13, lorsque lesdites instructions sont exécutées par un processeur d’un circuit de traitement.

[Revendication 15] Procédé de routage opportuniste de données dans un réseau maillé (1 ), le réseau comportant un nœud racine (LBS), et une pluralité de nœuds feuilles (LBDa, LBDc...), le procédé comportant :

- une sélection (S18), parmi des nœuds candidats du réseau maillé, d’un nœud optimal (LBDa) pour transmettre des données depuis un nœud source (LBDc) jusqu’à un nœud destinataire (LBS), la sélection du nœud optimal (LBDa) comportant la détermination d’un score pour chaque nœud candidat en fonction d’identifiants (4) du nœud source (LBDc) et du nœud destinataire (LBS), et par rapport à la position du nœud candidat dans une arborescence des nœuds du réseau,

Un rang de chaque nœud feuille dans ladite arborescence étant défini par un nombre de nœud(s) intermédiaire(s) sur une branche unique reliant ce nœud feuille au nœud racine, et les nœuds d’un même rang reliés à un même nœud de rang précédent dans l’arborescence étant identifiés et comptabilisés selon un ordre séquentiel,

Chaque identifiant de nœud étant un identifiant de position pour chaque nœud feuille courant à rattacher à un nœud donné, chaque identifiant comportant un champ codant un indice de rang du nœud feuille courant, le rang du nœud feuille courant à rattacher au nœud donné étant défini par un indice incrémenté par rapport à un indice du rang du nœud donné, l’identifiant de position comportant en outre une pluralité de champs successifs, chaque champ codant l’ordre séquentiel de chaque nœud de rang précédent jusqu’au rang qui suit le nœud racine, l’identifiant de position comportant en outre un champ codant l’ordre séquentiel du nœud courant dans son rang,

- une transmission des données (DTA) par le nœud optimal (LBDa) ainsi sélectionné.

[Revendication 16] Programme informatique comportant des instructions pour la mise en œuvre du procédé selon la revendication 15, lorsque lesdites instructions sont exécutées par un processeur d’un circuit de traitement.

Description:
Description

Titre : Routage opportuniste de données

[0001] L’invention concerne le routage de données dans un réseau maillé, notamment par courants porteurs en ligne (CPL).

[0002] Le réseau électrique peut être utilisé pour transmettre des données grâce aux technologies CPL. Des infrastructures de télécommunication de type CPL sont aujourd’hui largement déployées. Dans certains cas, notamment lorsque la densité d’objets communicants est importante, des problèmes de saturation du réseau CPL sont constatés et peuvent nuire à la performance opérationnelle des applications exploitant ces infrastructures de télécommunication.

[0003] La présente invention vient améliorer cette situation en proposant un routage opportuniste de données dans un réseau maillé, comme par exemple le réseau CPL.

[0004] Elle propose à cet effet un procédé de routage opportuniste de données dans un réseau maillé, le réseau comportant un nœud racine, et une pluralité de nœuds feuilles, le procédé comportant une phase d’apprentissage de liens entre nœuds du réseau, et une phase opérationnelle courante pour un routage de données à travers le réseau,

a. la phase d’apprentissage comportant :

- une génération d’arborescence entre les nœuds, un rang de chaque nœud feuille étant défini par un nombre de nœud(s) intermédiaire(s) sur une branche unique reliant ce nœud feuille au nœud racine, et les nœuds d’un même rang reliés à un même nœud de rang précédent dans l’arborescence étant identifiés et comptabilisés selon un ordre séquentiel;

- une détermination d’un identifiant de position pour chaque nœud feuille courant à rattacher à un nœud donné;

l’identifiant de position comportant un champ codant un indice de rang du nœud feuille courant, le rang du nœud feuille courant à rattacher au nœud donné étant défini par un indice incrémenté par rapport à un indice du rang du nœud donné, l’identifiant de position comportant en outre une pluralité de champs successifs, chaque champ codant l’ordre séquentiel de chaque nœud de rang précédent jusqu’au rang qui suit le nœud racine, l’identifiant de position comportant en outre un champ codant l’ordre séquentiel du nœud courant dans son rang;

b. la phase opérationnelle courante comportant une sélection, parmi des nœuds candidats du réseau maillé, d’un nœud optimal pour transmettre des données depuis un nœud source jusqu’à un nœud destinataire, la sélection du nœud optimal comportant la détermination d’un score pour chaque nœud candidat en fonction des identifiants de position des nœuds source et destinataire, et par rapport à la position du nœud candidat dans l’arborescence.

[0005] Par exemple, le protocole utilisé peut être le protocole courant porteur en ligne (CPL) troisième génération (G3).

[0006] Ainsi, un identifiant unique de position permet de situer le nœud dans l’arborescence et de choisir en fonction la meilleure route. Par contraste ces données seraient normalement à ajouter aux communications entre nœuds si leur identifiant était choisi arbitrairement. La réduction de telles données permet de conserver une bande passante pour d’autres données surtout dans un réseau contraint comme tel est par exemple le cas des réseaux par courants porteurs en ligne de type bande étroite habituellement.

[0007] Le calcul du score permet une maximisation de l’optimalité du nœud candidat pour transmettre des données.

[0008] Dans des modes de réalisation, le procédé peut comporter une ou plusieurs des caractéristiques suivantes.

[0009] Selon un mode de réalisation, la génération de l’arborescence entre les nœuds comporte, pour le nœud feuille courant à rattacher,

- diffuser, par le nœud feuille courant à rattacher, un message de demande de rattachement à l’arborescence destiné au nœud racine,

- recevoir, par des candidats au rattachement parmi les nœuds du réseau maillé, le message,

- sélectionner le nœud donné parmi ces candidats au rattachement, selon une métrique, - transmettre le message au nœud racine par l’intermédiaire du nœud donné, la détermination de l’identifiant de position étant effectuée par le nœud racine en réponse à cette demande de rattachement transmise par le nœud donné,

- transmettre l’identifiant de position au nœud donné afin que le nœud donné le transmette au nœud feuille courant à rattacher.

[0010] Ainsi, l’introduction d’un nouvel identifiant de position ne perturbe pas le protocole de communication préexistant avec des identifiants classiques.

[0011] Il existe une grande variété de métriques que l’on peut choisir pour les besoins de la sélection du nœud donné. Par exemple selon une première métrique, le nœud donné qui va être sélectionné est le plus proche géographiquement du nœud courant à rattacher. Selon un autre métrique, la sélection s’opère sur le type de connexion (filaire ou non filaire, etc) ou sur une combinaison des métriques précitées.

[0012] Selon un mode de réalisation, le message comporte une adresse du nœud feuille courant à rattacher ainsi qu’une adresse du nœud racine, le procédé comportant en outre :

- stocker dans une mémoire du nœud racine l’identifiant de position généré, en association avec l’adresse du nœud feuille courant,

- envoyer, par le nœud racine, l’identifiant de position au nœud feuille courant, - stocker, dans une mémoire du nœud feuille courant, l’identifiant de position.

[0013] Par exemple l’adresse du nœud feuille peut être une adresse volatile ou fixe, par exemple une adresse Media Access Control (MAC), par exemple une adresse MAC longue.

[0014] Selon des modes de réalisation, la sélection d’un nœud optimal pour transmettre les données peut comporter un ou plusieurs tests successifs qui peuvent être différents selon qu’on remonte ou qu’on descende dans l’arborescence. Par exemple, et non limitativement, certains des tests suivants concernent plus particulièrement le cas où on descend dans l’arborescence.

[0015] Selon un mode de réalisation, la sélection d’un nœud optimal pour transmettre les données comporte : - la diffusion locale, par le nœud source, et la réception, par un nœud candidat, d’un message de demande de routage, le message de demande de routage comportant l’identifiant de position du nœud destinataire des données, l’identifiant de position du nœud source, le nœud candidat comportant une mémoire stockant un identifiant de position du nœud candidat,

la détermination du score du nœud candidat, étant effectuée par le nœud candidat, le score étant déterminé en comparant les valeurs de chacun des champs de l’identifiant du nœud candidat et de l’identifiant du nœud destinataire deux à deux, pour les champs codant l’ordre séquentiel de chaque nœud de rang précédent, et pour chaque champ différent, en baissant le score du nœud candidat, le score étant une probabilité d’envoyer, par le nœud candidat, à destination du nœud source, un message de proposition de routage comportant l’identifiant de position du nœud candidat. Par exemple, une amplitude à laquelle le score est baissé est une fonction du rang correspondant au champ différent, par exemple l’amplitude décroit lorsque le rang croît. Par une baisse du score, on entend une baisse de la probabilité d'émettre un message de proposition de routage.

[0016] Ainsi, le procédé permet d’éviter d’émettre inutilement un message de proposition de réponse d’un nœud candidat qui n’est pas situé sur une bonne branche de l’arborescence.

[0017] Selon un mode de réalisation, la détermination du score du nœud candidat est effectuée par le nœud candidat en réponse à la détection préalable que l’indice de rang du nœud source est inférieur à l’indice de rang du nœud candidat, et que l’indice de rang du nœud candidat est inférieur à l’indice de rang du nœud destinataire.

[0018] Ainsi, le procédé permet d’éviter d’émettre inutilement un message de proposition de réponse d’un nœud candidat qui n’est pas situé dans la bonne direction dans l’arborescence. Par exemple, ici, la mauvaise direction est celle qui ne permettrait pas de descendre les données dans l’arborescence depuis le nœud source (par exemple le nœud racine), jusqu’au nœud feuille destinataire. [0019] Selon un mode de réalisation, la sélection d’un nœud optimal pour transmettre les données comporte en outre une étape préalable de détermination, par le nœud candidat que le nœud destinataire n’est pas le nœud racine. Cette étape préalable peut être réalisée par exemple en comparant les identifiants de positions du nœud destinataire et du nœud candidat, ou par exemple en comparant les adresses du nœud destinataire et du nœud candidat.

[0020] Par exemple, et non limitativement, certains des tests suivants concernent plus particulièrement le cas où on remonte dans l’arborescence.

[0021] Selon un mode de réalisation, la sélection d’un nœud optimal pour transmettre les données comporte :

- la diffusion locale, par le nœud source, et la réception, par un nœud candidat, d’un message de demande de routage, le message de demande de routage comportant l’identifiant de position du nœud destinataire des données, et l’identifiant de position du nœud source, le nœud candidat comportant une mémoire stockant un identifiant de position du nœud candidat,

- détecter, par le nœud candidat, que l’indice de rang du nœud source est supérieur à l’indice de rang du nœud candidat,

la détermination du score du nœud candidat étant effectuée par le nœud candidat en réponse à la détection que l’indice de rang du nœud source est supérieur à l’indice de rang du nœud candidat, le score étant une probabilité d’envoyer, par le nœud candidat, à destination du nœud source, un message de proposition de routage comportant l’identifiant de position du nœud candidat.

[0022] Ainsi, le procédé permet d’éviter d’émettre inutilement un message de proposition de réponse d’un nœud candidat qui n’est pas situé dans la bonne direction dans l’arborescence. Par exemple, ici, la mauvaise direction est celle qui ne permettrait pas de remonter les données dans l’arborescence depuis le nœud source, qui est un nœud feuille, jusqu’au nœud destinataire (par exemple le nœud racine).

[0023] Selon un mode de réalisation, le procédé comporte en outre une étape préalable de détermination, par le nœud candidat que le nœud destinataire est le nœud racine. Cette étape préalable peut être réalisée par exemple en comparant les identifiants de positions du nœud destinataire et du nœud candidat, ou par exemple en comparant les adresses du nœud destinataire et du nœud candidat.

[0024] Qu’on remonte ou qu’on descende dans l’arborescence, on entend par « diffusion locale » une transmission aux voisins géographiques immédiats du nœud, ou les nœuds voisins directement connectés au nœud, par opposition à la diffusion générale à tout nœud quelle que soit sa distance et qui pourrait comporter une diffusion « multisauts » à l’échelle du réseau entier. L’invention évite justement la dépense énergétique et temporelle liée à une diffusion générale à tout nœud.

[0025] Eviter d’émettre inutilement un message de proposition de réponse d’un nœud candidat qui serait un mauvais candidat permet de conserver une bande passante pour d’autres messages et/ou données, surtout dans un réseau contraint comme tel est par exemple le cas des réseaux par courants porteurs en ligne de type bande étroite habituellement.

[0026] Dans un mode de réalisation, la sélection du nœud optimal est effectuée par le nœud source parmi les nœuds candidats ayant émis les messages de proposition de routage. Par exemple, le nœud optimal est le premier des nœuds candidats ayant émis un message de proposition de routage.

[0027] De manière générale, le nœud source peut être configuré pour sélectionner le nœud optimal, parmi les nœuds candidats ayant effectivement émis un message de proposition de routage, sur la base d’une métrique. Une telle métrique peut être la localisation dans l’arborescence et/ou la rapidité de réponse et/ou la qualité de lien entre les nœuds et/ou d’une combinaison pondérée de ces métriques.

[0028] Dans un mode de réalisation, le message de demande de routage est un message Request to Send (RTS) et le message de proposition de routage est un message Clear to Send (CTS).

[0029] L’invention fournit en outre un système comportant un nœud racine, et une pluralité de nœuds feuilles, dans un réseau maillé, pour la mise en œuvre du procédé de routage opportuniste de données sur le réseau maillé, selon l’un des modes de réalisation décrits ci-avant, dans lequel chaque nœud du réseau est configuré pour mettre en œuvre ladite phase opérationnelle courante.

[0030] Selon un mode de réalisation, le nœud racine du système décrit ci-avant est configuré pour mettre en œuvre ladite phase d’apprentissage. Par exemple, le nœud collecteur est un élément communicant pouvant être installé en tout point d’un réseau électrique quel que soit son niveau de tension.

[0031] Selon un mode de réalisation, les nœuds feuilles sont des compteurs de consommation électrique d’un réseau de distribution électrique et le nœud racine est un nœud collecteur.

[0032] L’invention fournit en outre un nœud racine d’un système selon l’un des modes de réalisation décrits ci-avant, configuré pour mettre en œuvre ladite phase d’apprentissage.

[0033] L’invention fournit en outre un nœud d’un système selon l’un des modes de réalisation décrits ci-avant, configuré pour mettre en œuvre ladite phase opérationnelle courante.

[0034] L’invention fournit en outre un procédé de détermination d’identifiants de position de nœuds d’un réseau maillé, pour un routage opportuniste de données dans le réseau maillé, par lecture desdits identifiants, le réseau maillé comportant un nœud racine, et une pluralité de nœuds feuilles, le procédé comportant :

- une génération d’arborescence entre les nœuds, un rang de chaque nœud feuille étant défini par un nombre de nœud(s) intermédiaire(s) sur une branche unique reliant ce nœud feuille au nœud racine, et les nœuds d’un même rang reliés à un même nœud de rang précédent dans l’arborescence étant identifiés et comptabilisés selon un ordre séquentiel,

- une détermination d’un identifiant de position pour chaque nœud feuille courant à rattacher à un nœud donné,

l’identifiant de position comportant un champ codant un indice de rang du nœud feuille courant, le rang du nœud feuille courant à rattacher au nœud donné étant défini par un indice incrémenté par rapport à un indice du rang du nœud donné, l’identifiant de position comportant en outre une pluralité de champs successifs, chaque champ codant l’ordre séquentiel de chaque nœud de rang précédent jusqu’au rang qui suit le nœud racine, l’identifiant de position comportant en outre un champ codant l’ordre séquentiel du nœud courant dans son rang.

[0035] L’invention fournit également un programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’un des modes de réalisation décrits ci-avant, lorsque lesdites instructions sont exécutées par un processeur d’un circuit de traitement.

[0036] L’invention fournit en outre un procédé de routage opportuniste de données dans un réseau maillé, le réseau comportant un nœud racine, et une pluralité de nœuds feuilles, le procédé comportant :

- une sélection, parmi des nœuds candidats du réseau maillé, d’un nœud optimal pour transmettre des données depuis un nœud source jusqu’à un nœud destinataire, la sélection du nœud optimal comportant la détermination d’un score pour chaque nœud candidat en fonction d’identifiants du nœud source et du nœud destinataire, et par rapport à la position du nœud candidat dans une arborescence des nœuds du réseau,

Un rang de chaque nœud feuille dans ladite arborescence étant défini par un nombre de nœud(s) intermédiaire(s) sur une branche unique reliant ce nœud feuille au nœud racine, et les nœuds d’un même rang reliés à un même nœud de rang précédent dans l’arborescence étant identifiés et comptabilisés selon un ordre séquentiel,

Chaque identifiant de nœud étant un identifiant de position pour chaque nœud feuille courant à rattacher à un nœud donné, chaque identifiant comportant un champ codant un indice de rang du nœud feuille courant, le rang du nœud feuille courant à rattacher au nœud donné étant défini par un indice incrémenté par rapport à un indice du rang du nœud donné, l’identifiant de position comportant en outre une pluralité de champs successifs, chaque champ codant l’ordre séquentiel de chaque nœud de rang précédent jusqu’au rang qui suit le nœud racine, l’identifiant de position comportant en outre un champ codant l’ordre séquentiel du nœud courant dans son rang,

- une transmission des données par le nœud optimal ainsi sélectionné.

[0037] L’invention comporte en outre un programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’un des modes de réalisation décrit ci-avant, lorsque lesdites instructions sont exécutées par un processeur d’un circuit de traitement. Par exemple, le circuit de traitement est un circuit de traitement d’un nœud quelconque du réseau.

[0038] D’ailleurs, d’autres caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels :

[Fig. 1]

[0039] la fig. 1 illustre un schéma d’un réseau maillé présentant une architecture à laquelle un nouveau nœud vient se greffer ;

[Fig. 2]

[0040] la fig. 2 illustre le schéma du réseau maillé de la fig. 1 dans une étape de diffusion de message de demande de rattachement par le nouveau nœud ;

[Fig. 3]

[0041] la fig. 3 illustre le schéma du réseau maillé de la fig. 1 dans une étape de transmission du message de demande de rattachement de la fig. 2 le long d’une chaîne de transmission;

[Fig. 4]

[0042] la fig. 4 illustre le schéma du réseau maillé de la fig. 1 après rattachement du nouveau nœud à une branche de l’architecture ;

[Fig. 5]

[0043] la fig. 5 illustre un procédé mis en œuvre par le nœud racine de l’architecture pour déterminer le rattachement du nouveau nœud à la branche de l’architecture ;

[Fig. 6] [0044] la fig. 6 illustre un exemple de format d’un identifiant de position comportant les informations de rattachement du nouveau nœud à la branche de l’architecture ;

[Fig. 7]

[0045] la fig. 7 illustre un procédé mis en œuvre par le nouveau nœud à rattacher à l’architecture pour déterminer son rattachement à la branche de l’architecture ;

[Fig. 8]

[0046] la fig. 8 illustre une demande de routage de données par un nœud source du réseau maillé de la fig. 4 vers un nœud destinataire;

[Fig. 9]

[0047] la fig. 9 illustre un diagramme de flux entre un nœud source et des nœuds candidats,

[Fig. 10]

[0048] la fig. 10 illustre un exemple d’un algorithme mis en œuvre par un nœud candidat pour répondre au nœud source de la fig. 8.

[0049] La description suivante d’une phase d’apprentissage s’attache à montrer dans un premier temps, en référence aux fig. 1 à fig. 7, la façon dont on construit une arborescence entre des nœuds d’un réseau maillé afin de mettre en œuvre un procédé de routage très avantageux.

[0050] La fig. 1 illustre un schéma d’un réseau maillé, par exemple un réseau maillé de type CPL G3, dans lequel on a en outre défini une architecture. Cette architecture est une arborescence 1 présentant un nœud racine LBS et des branches portant des nœuds feuilles LBDa, LBDc, LBA etc. Par exemple, les nœuds feuilles sont des compteurs d’électricité et le nœud racine est un nœud collecteur. Les nœuds sont reliés entre eux par des segments de branches 2. On définit un rang des nœuds feuilles relativement au nombre de nœuds feuilles intermédiaires à laquelle un nouveau nœud vient se greffer. Par exemple, on définit que le rang du nœud racine LBS est zéro, le nœud feuille LBDa est de rang 1 car il est rattaché directement au nœud racine LBS. Le nœud LBDc est de rang

2 car il est rattaché au nœud racine LBS via le nœud feuille LBDa. Le nœud feuille LBA est de rang 3 car il est rattaché au nœud racine LBS via deux nœuds feuilles LBDa et LBDc.

[0051] Tous les nœuds du réseau maillé disposent d’une mémoire, et d’un circuit de traitement. La mémoire comporte en outre des adresses permettant d’identifier les nœuds du réseau maillé selon des protocoles préexistants, par exemple des adresses courtes. La mémoire d’un nœud du réseau comporte en outre une valeur de probabilité PCTS (calculée de manière connue en soi) liée au nœud lorsqu’il agit en tant que nœud source pour transmettre des données. Pour cela, chaque nœud du réseau maillé calcule sa valeur de probabilité PCTS en fonction du nombre de nœuds voisins actifs du nœud du réseau maillé. La probabilité peut être codée sur un octet. La mémoire du nœud comporte en outre une table des voisins qui indique quels sont ses nœuds voisins actifs.

[0052] Un nouveau nœud LBDb doit être rattaché à l’architecture préexistante.

Comme représenté sur la fig. 2, le nouveau nœud LBDb diffuse à ses plus proches voisins géographiques un message de demande de rattachement.

[0053] Les plus proches nœuds voisins, reçoivent cette demande de rattachement et l’un d’entre eux, le nœud LBA, est sélectionné selon une métrique, par exemple ici la distance géographique, pour devenir le nœud sur lequel le nouveau nœud LBDb se rattachera.

[0054] Comme représenté sur la fig. 3, le nœud LBA sélectionné transmet la demande de rattachement via la branche de l’arborescence à laquelle il est lui- même rattaché, jusqu’au nœud racine LBS qui le reçoit S1 1.

[0055] La fig. 5 représente la mise en œuvre d’un procédé de rattachement du nouveau nœud feuille à rattacher LBDb par le nœud racine LBS.

[0056] Le nœud racine LBS génère S12 un rattachement du nouveau nœud LBDb à l’arborescence. Puis, le nœud racine LBS génère S13 un identifiant de position 4 du nouveau nœud à rattacher LBDb, comme il est décrit ci-dessous en référence aux fig. 4 et fig. 6. [0057] Le nœud racine LBS retrouve, dans la mémoire du nœud LBS, un identifiant de position du nœud LBA qui est celui auquel le nouveau nœud LBDb se rattache. Le nœud racine LBS stocke S14 dans sa mémoire une table de correspondance entre adresses courtes des nœuds de l’arborescence et identifiants de position qu’il génère et attribue à chaque nouveau rattachement de nœud.

[0058] L’identifiant de position 4 du nouveau nœud LBDb présente les champs successifs suivants, chaque champ correspondant à 1 ou 2 octet(s) :

[0059] Un premier champ correspond au numéro du rang courant du nœud LBDb.

[0060] Le champ suivant FLD RNK 1 correspond à l’ordre de rattachement seq3 du nœud de rang 1 de la branche de l’arborescence sur lequel le nœud LBDb se rattache. Le nœud de rang 1 correspondant est le nœud LBDa. L’ordre de rattachement est l’ordre de rattachement du nœud LBDa dans la succession de rattachement de nœuds feuilles au nœud racine LBS.

[0061] Le champ suivant FLD RNK 2 correspond à l’ordre de rattachement seq2 du nœud LBDc de rang 2 de la branche de l’arborescence sur lequel le nœud LBDb se rattache.

[0062] Le champ suivant FLD RNK 3 correspond à l’ordre de rattachement seq1 du nœud LBA de rang 3 de la branche de l’arborescence sur lequel le nœud LBDb se rattache.

[0063] Le champ suivant FLD RNK 4 correspond à l’ordre de rattachement seq1 du nœud LBDb de rang 4 qui se rattache.

[0064] Les champs suivants sont nuis.

[0065] L’identifiant de position 4 d’un nœud est par construction basé sur la branche ascendante vers le nœud racine LBS, sans prise en compte des nœuds feuille qui seraient éventuellement rattachés au nœud.

[0066] De manière générale, les règles de génération de l’identifiant de position 4 sont les suivantes : L’identifiant de position 4 comporte un champ codant un indice de rang RNK4 du nœud feuille courant LBDb, le rang du nœud feuille courant à rattacher au nœud LBA étant défini par un indice incrémenté par rapport à un indice du rang RNK3 du nœud LBA auquel il se rattache.

[0067] L’identifiant de position 4 comporte en outre une pluralité de champs successifs FLD RNK1 , FLD RNK2 etc, chaque champ codant l’ordre séquentiel seq3, seq2... de chaque nœud de rang précédent appartenant à la branche de rattachement, jusqu’au rang 1.

[0068] L’identifiant de position 4 comportant en outre un champ FLD RNK 4 codant l’ordre séquentiel seq1 du nœud LBD b à rattacher dans son rang.

[0069] Une fois l’identifiant de position 4 généré, le nœud racine LBS l’envoie S15 au nœud feuille à rattacher LBDb.

[0070] L’identifiant de position 4 du nœud LBDb est donc [0x04 | 0x0003, 0x02, 0x01 , 0x01 , 0x00, ..., 0x00]. L’identifiant de position du nœud racine LBS est égal à : [0x00 | 0x0000, 0x00, ..., 0x00]. L’identifiant de position du nœud LBDa est égal à [0x01 | 0x0003, 0x00, ..., 0x00] et celui du nœud LBDc est [0x02 | 0x0003, 0x02, 0x00, ..., 0x00].

[0071] La fig. 7 représente le procédé de rattachement mis en œuvre du côté du nœud feuille à rattacher LBDb. Le nœud feuille à rattacher reçoit S16 l’identifiant de position 4 et le stocke S17 dans sa mémoire.

[0072] A présent que la génération de l’arborescence 1 a été décrite, une phase opérationnelle utilisant avantageusement cette arborescence 1 et les identifiants de positions 4 va être décrite pour le routage de données dans le réseau maillé, en référence aux fig. 8 à fig. 10. Dans cet exemple, seules les communications entre le nœud racine, par exemple collecteur, et un nœud feuille, par exemple compteur, sont envisagées.

[0073] Comme représenté sur la Fig. 8, un nœud source, le nœud LBDc, diffuse

S20 à ses plus proches voisins géographiques du réseau maillé une requête de routage de données RTS. Les plus proches voisins géographiques sont les nœuds compris dans le cercle pointillé représenté, dont le centre est le nœud source LBDc. Les nœuds compris dans le cercle pointillé : LBDa, LBA, CNDTa, CNDTb, CNDTc et CNDTd, sont tous des noeuds candidats pour router les données depuis le nœud source LBDc jusqu’au nœud destinataire des données.

[0074] Le réseau est en outre configuré pour que chaque nœud de l’arborescence enregistre dans sa mémoire une valeur de probabilité seuil THR.

[0075] La fig. 9 représente le nœud source LBDc diffusant le message RTS aux nœuds candidats CNDTa, CNDTb, LBDa afin de sélectionner (S18) un nœud pour acheminer des données jusqu’à un nœud destinataire. Les autres nœuds candidats LBA, CNDTc et CNDTd, ne sont pas représentés pour des raisons de simplicité de la figure, mais le même mécanisme s’applique également pour eux.

[0076] Le message RTS comporte les informations suivantes :

- un numéro de séquence d’émission courant de RTS depuis le même nœud source LBDc,

- l’identifiant de position 4 du nœud source LBDc,

- l’identifiant de position 4 du nœud destinataire (par exemple, ici, le nœud destinataire est le nœud racine LBS), et

- une valeur de probabilité PCTS liée au nœud source LBDc.

[0077] Chaque nœud candidat CNDTa, CNDTb et LBDa, etc. recevant le message RTS va lancer un algorithme S200 de calcul de probabilité de génération d’un message CTS. L’algorithme S200 peut conduire à différents résultat en fonction du nœud candidat : soit une émission de CTS, soit une absence d’émission de CTS (comme représenté par la croix pour le nœud CNDTa). L’algorithme S200 utilise les identifiants de position des nœuds (candidat, source et destinataire) afin de déterminer une probabilité P d’émettre un CTS. Cette probabilité est un score d’auto-évaluation du nœud candidat pour le rôle d’acheminer les données. Si cette probabilité excède la valeur de seuil de probabilité THR, alors la probabilité de génération d’un CTS est égale à la probabilité P. Si la probabilité P est inférieure au seuil, alors le nœud candidat ignore le message RST. [0078] La fig. 10 représente plus en détail un exemple d’algorithme S200, afin de garantir la propagation d’un paquet de données dans la bonne direction. Le nœud candidat auquel il est fait référence est l’un des nœuds candidats de la fig. 9.

[0079] Le nœud candidat reçoit la requête RTS (étape S201 ). Le nœud candidat vérifie dans la table de routage s’il existe des enregistrements de RTS reçus précédemment (étape 202).

[0080] Si c’est le cas, le nœud candidat vérifie (étape 203) si le numéro de séquence d’émission courant du RTS est bien postérieur aux numéros de séquences des RTS reçus précédemment depuis le même nœud source LBDc. Le nœud candidat est configuré pour ignorer le message RTS (étape S215) si le numéro de séquence d’émission courant du RTS n’est pas postérieur, afin de ne pas traiter inutilement un message RTS obsolète.

[0081] Dans le cas où le numéro de séquence d’émission courant du RTS est bien postérieur ou s’il n’y a aucun enregistrement de RTS reçus précédemment depuis le nœud source LBDc, alors le message RTS n’est donc pas obsolète. Le nœud candidat est configuré pour tester (étape S204), si le nœud destinataire des données à router est le nœud racine LBS. Pour effectuer ce test, le nœud candidat compare les identifiants de position du nœud destinataire et du nœud racine, par exemple.

[0082] Le nœud candidat est configuré pour tester (étapes S205 ou S206), si les identifiants de position du nœud destinataire et du nœud candidat sont égaux. En effet, cela permet au nœud candidat d’identifier s’il est le nœud destinataire. Si tel est le cas, le nœud candidat est configuré pour définir (étape S21 1 ), que la probabilité de transmettre le CTS est une probabilité P de 100%.

[0083] Sinon, deux cas de figures se présentent: soit le nœud destinataire est le nœud racine LBS, soit non. Dans le premier cas, si le nœud destinataire est le nœud racine LBS, alors la meilleure option pour transmettre les données est de remonter l’arborescence dans la direction du nœud racine LBS. Dans le second cas, si le nœud destinataire n’est pas le nœud racine LBS, alors la meilleure option pour transmettre les données est de descendre l’arborescence dans la direction contraire à celle du nœud racine LBS. Les différents tests décrits ci- dessous sont mis en œuvre afin de respecter ce principe général.

[0084] Dans le premier cas de figure, où le nœud destinataire est le nœud racine LBS, alors le nœud candidat teste (étape S207), que l’indice du rang du nœud candidat est inférieur à l’indice du rang du nœud source LBDc. Ce test permet de s’assurer que le nœud candidat est dans la direction du nœud racine vu par le nœud source LBDc, dans l’arborescence, et donc que les données seront transmises dans la bonne direction, ascendante. Les informations concernant les rangs respectifs sont contenues dans les identifiants de position respectifs. Le nœud candidat est configuré pour ignorer le message RTS (étape S215) si le rang du nœud candidat ne vérifie pas cette inégalité.

[0085] Le nœud candidat est en outre configuré pour retrouver (étape S210), dans le message RTS, une valeur de probabilité PCTS liée au nœud source LBDc, et définir que la probabilité P est égale à cette valeur PCTS.

[0086] Dans le second cas de figure, où le nœud destinataire n’est pas le nœud racine, le nœud candidat vérifie (étape S208) que l’indice du rang du nœud source LBDc est inférieur à l’indice du rang du nœud candidat et que l’indice du rang du nœud candidat est inférieur à l’indice du rang du nœud destinataire. Ainsi, le nœud candidat vérifie qu’il se situe bien entre le nœud source LBDc et le nœud destinataire, et que la direction du nœud candidat est bien la bonne, descendante. Les informations concernant les rangs respectifs sont contenues dans les identifiants de position respectifs. Le nœud candidat est configuré pour ignorer le message RTS (étape S215) si le rang du nœud candidat ne vérifie pas cette inégalité.

[0087] Autrement, le nœud candidat teste (étape S216) si chacun des champs de l’identifiant de position du nœud destinataire et l’identifiant de position du nœud candidat sont égaux, pour les champs correspondants aux rangs d’indice égal à celui du rang du nœud candidat jusqu’au rang d’indice 1. Une vérification portant sur le contenu des champs des identifiants de position, champ par champ, revient à une vérification portant sur la position des nœuds d’une branche de l’arborescence, rang par rang. Ce test permet de vérifier immédiatement si le nœud candidat se situe exactement sur la bonne branche de l’arborescence pour transmettre les données au nœud destinataire.

[0088] Si tel est le cas, le nœud candidat définit (étape S211 ) que la probabilité P de transmettre le CTS est égale à 100%.

[0089] Sinon, le nœud candidat calcule (étape S209), une pénalité par itération, à partir d’une pénalité initiale qui peut être prédéfinie (étape S218).

[0090] A chaque itération, le nœud candidat compare le contenu d’un champ de même rang des identifiants de position des nœuds candidat et destinataire. Ainsi, rang par rang, on compare la position du nœud de la branche connectant le nœud destinataire au nœud racine et la position du nœud de la branche connectant le nœud candidat au nœud racine. Lorsque les deux positions sont différentes, cela indique que le nœud candidat n’est pas situé sur la bonne branche. Dans ce cas, le nœud candidat modifie la valeur de la pénalité en ajoutant à la pénalité de l’itération précédente l’indice d’itération et une unité.

[0091] Les itérations sont effectuées selon un ordre de rang des champs décroissant afin de donner plus de poids aux champs de rang proche du rang du nœud racine. En effet, si la position des nœuds est différente pour des rangs de valeur faibles (proche du nœud racine), alors le nœud candidat et le nœud destinataire sont sur des branches principales différentes. Pour des rangs de valeur plus élevée (loin du nœud racine), le nœud candidat et le nœud destinataire sont sur des branches secondaires différentes, ce qui a moins d’impact négatif pour acheminer les données que lorsque les nœuds sont sur des branches principales différentes.

[0092] Une fois la pénalité calculée, le nœud candidat est configuré ignorer le message RTS (étape S215) si la pénalité est supérieure à un seuil (THR2).

[0093] Le nœud candidat est configuré pour calculer (étape S212) une valeur de pondération, égale à l’inverse de la valeur de pénalité, et pour calculer une probabilité P de transmettre le CTS. La probabilité P est égale à la probabilité liée au nœud source PCTS, multipliée par la pondération calculée. [0094] Le nœud candidat est configuré pour vérifier (étape S213), si la probabilité qui a été calculée ou définie (dans les étapes S210, S21 1 ou S212 en fonction des cas) est supérieure à la probabilité seuil. Dans le cas où la probabilité est inférieure, alors le nœud candidat ignore (étape S215) le message RTS.

[0095] La probabilité que le nœud candidat envoie (étape S214) la réponse CTS au nœud source LBDc est égale à la probabilité P établie aux étapes S210, S211 ou S212.

[0096] Ainsi, les nœuds candidats répondant effectivement au nœud source LBDc pour proposer de router les données forment un sous-ensemble de nœuds candidats. Grâce à cette sélection d’un sous-ensemble de nœuds candidats, le nombre de réponses CTS occupant la bande passante du réseau maillé est restreint.

[0097] Dans une étape S18, le nœud source LBDc sélectionne parmi les candidats ayant émis une réponse CTS celui qui est le nœud « optimal» selon une métrique. Sur l’exemple de la fig. 9, c’est le nœud LBDa, optimal pour transmettre les données au nœud destinataire LBS. Cette sélection correspond à une évaluation par le nœud source LBDc de la pertinence des nœuds candidats pour le rôle d’acheminer les données.

[0098] Le nœud source LBDc émet les données au nœud optimal LBDa.

[0099] Bien qu’il est été décrit un algorithme S200 participant à la sélection d’un nœud optimal, il va de soi que dans le cas où le nœud source LBDc identifie par ailleurs que les identifiants de position ou les adresses courtes d’un nœud candidat et du nœud destinataire sont identiques alors il sélectionnera nécessairement ce nœud candidat.