WO2020127128A1 - Opportunistic routing of data - Google Patents

Opportunistic routing of data Download PDF

Info

Publication number
WO2020127128A1
WO2020127128A1 PCT/EP2019/085463 EP2019085463W WO2020127128A1 WO 2020127128 A1 WO2020127128 A1 WO 2020127128A1 EP 2019085463 W EP2019085463 W EP 2019085463W WO 2020127128 A1 WO2020127128 A1 WO 2020127128A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
rank
candidate
nodes
lbda
Prior art date
Application number
PCT/EP2019/085463
Other languages
French (fr)
Inventor
Cédric LAVENU
Original Assignee
Enedis
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enedis filed Critical Enedis
Publication of WO2020127128A1 publication Critical patent/WO2020127128A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Definitions

  • the invention relates to the routing of data in a mesh network, in particular by line carrier currents (PLC).
  • PLC line carrier currents
  • the electrical network can be used to transmit data using PLC technologies.
  • PLC type telecommunication infrastructures are today widely deployed. In certain cases, in particular when the density of communicating objects is high, problems of saturation of the PLC network are noted and can harm the operational performance of the applications exploiting these telecommunications infrastructures.
  • the present invention improves this situation by proposing an opportunistic routing of data in a mesh network, such as for example the PLC network.
  • an opportunistic routing method of data in a mesh network comprising a root node, and a plurality of leaf nodes, the method comprising a phase of learning links between nodes of the network, and a current operational phase for routing data through the network,
  • the learning phase comprising:
  • each leaf node being defined by a number of intermediate node (s) on a single branch connecting this leaf node to the root node, and the nodes of the same rank linked to the same node of previous rank in the tree structure being identified and counted in a sequential order;
  • the position identifier comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank of the given node, the identifier of position further comprising a plurality of successive fields, each field coding the sequential order of each node of previous rank up to the rank following the root node, the position identifier further comprising a field coding the sequential order of the current node in its rank;
  • the current operational phase comprising a selection, among candidate nodes of the mesh network, of an optimal node for transmitting data from a source node to a destination node, the selection of the optimal node comprising the determination of a score for each candidate node according to the position identifiers of the source and destination nodes, and in relation to the position of the candidate node in the tree structure.
  • the protocol used can be the third generation (G3) online carrier current (CPL) protocol.
  • G3 third generation
  • CPL online carrier current
  • the calculation of the score allows maximization of the optimality of the candidate node for transmitting data.
  • the method may include one or more of the following characteristics.
  • the generation of the tree structure between the nodes comprises, for the current leaf node to be attached,
  • the given node which will be selected is the closest geographically to the current node to be attached.
  • the selection is made on the type of connection (wired or non-wired, etc.) or on a combination of the aforementioned metrics.
  • the message includes an address of the current leaf node to be attached as well as an address of the root node, the method further comprising:
  • the address of the leaf node can be a volatile or fixed address, for example a Media Access Control (MAC) address, for example a long MAC address.
  • MAC Media Access Control
  • the selection of an optimal node for transmitting the data may include one or more successive tests which may be different depending on whether one goes up or down in the tree structure. For example, and not limited to, some of the following tests relate more particularly to the case where we descend into the tree structure.
  • the selection of an optimal node for transmitting the data comprises: the local broadcast by the source node and the reception by a candidate node of a routing request message, the routing request message comprising the position identifier of the node receiving the data, the identifier of position of the source node, the candidate node comprising a memory storing a position identifier of the candidate node,
  • an amplitude at which the score is lowered is a function of the rank corresponding to the different field, for example the amplitude decreases when the rank increases.
  • a decrease in the score we mean a decrease in the probability of sending a routing proposal message.
  • the method makes it possible to avoid unnecessarily transmitting a response proposal message from a candidate node which is not located on a good branch of the tree structure.
  • the score of the candidate node is determined by the candidate node in response to the prior detection that the rank index of the source node is lower than the rank index of the candidate node, and that the rank index of the candidate node is lower than the rank index of the destination node.
  • the method avoids unnecessarily sending a response proposal message from a candidate node which is not located in the right direction in the tree.
  • the wrong direction is that which would not allow the data to be lowered in the tree structure from the source node (for example the root node), to the destination leaf node.
  • the selection of an optimal node for transmitting the data further comprises a preliminary step of determination, by the candidate node that the recipient node is not the root node. This preliminary step can be carried out for example by comparing the position identifiers of the recipient node and of the candidate node, or for example by comparing the addresses of the recipient node and of the candidate node.
  • the selection of an optimal node for transmitting the data comprises:
  • the local broadcasting, by the source node, and the reception, by a candidate node, of a routing request message comprising the position identifier of the node receiving the data, and the identifier source node position
  • the candidate node comprising a memory storing a position identifier of the candidate node
  • the determination of the score of the candidate node being carried out by the candidate node in response to the detection that the rank index of the source node is greater than the rank index of the candidate node, the score being a probability of sending, by the candidate node, intended for the source node, a routing proposal message comprising the position identifier of the candidate node.
  • the method makes it possible to avoid unnecessarily sending a response proposal message from a candidate node which is not located in the right direction in the tree structure.
  • the wrong direction is that which would not allow data to be brought back up in the tree structure from the source node, which is a leaf node, to the destination node (for example the root node).
  • the method further comprises a preliminary step of determining, by the candidate node that the recipient node is the root node.
  • This preliminary step can be carried out for example by comparing the position identifiers of the recipient node and of the candidate node, or for example by comparing the addresses of the recipient node and of the candidate node.
  • local broadcast means a transmission to the immediate geographic neighbors of the node, or the neighboring nodes directly connected to the node, as opposed to general broadcast to any node whatever its distance and which could include a "multi-hop” broadcast across the entire network.
  • the invention precisely avoids the energy and time expenditure linked to a general diffusion at any node.
  • Avoiding needlessly sending a response proposal message from a candidate node which would be a poor candidate makes it possible to conserve bandwidth for other messages and / or data, especially in a constrained network as such, for example the case of carrier current networks in the narrow band type usually.
  • the selection of the optimal node is carried out by the source node from among the candidate nodes having sent the routing proposal messages.
  • the optimal node is the first of the candidate nodes to have issued a routing proposal message.
  • the source node can be configured to select the optimal node from among the candidate nodes that have actually issued a routing proposal message, based on a metric.
  • a metric can be the location in the tree structure and / or the speed of response and / or the quality of the link between the nodes and / or of a weighted combination of these metrics.
  • the routing request message is a Request to Send message (RTS) and the routing proposal message is a Clear to Send message (CTS).
  • RTS Request to Send message
  • CTS Clear to Send message
  • the invention further provides a system comprising a root node, and a plurality of leaf nodes, in a mesh network, for the implementation of the method of opportunistic routing of data on the mesh network, according to one of the embodiments described above, in which each node of the network is configured to implement said current operational phase.
  • the root node of the system described above is configured to implement said learning phase.
  • the collector node is a communicating element that can be installed at any point in an electrical network regardless of its voltage level.
  • the leaf nodes are electricity consumption meters of an electrical distribution network and the root node is a collector node.
  • the invention further provides a root node of a system according to one of the embodiments described above, configured to implement said learning phase.
  • the invention further provides a node of a system according to one of the embodiments described above, configured to implement said current operational phase.
  • the invention further provides a method for determining node position identifiers of a mesh network, for opportunistic routing of data in the mesh network, by reading said identifiers, the mesh network comprising a root node, and a plurality of leaf nodes, the method comprising:
  • each leaf node being defined by a number of intermediate node (s) on a single branch connecting this leaf node to the root node, and the nodes of the same rank linked to the same node of previous rank in the tree structure being identified and counted in a sequential order,
  • the position identifier comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank of the given node, the position identifier further comprising a plurality of successive fields, each field coding the sequential order of each node of preceding rank up to the rank following the root node, the position identifier further comprising a field coding the sequential order of the current node in its rank.
  • the invention also provides a computer program comprising instructions for implementing the method according to one of the embodiments described above, when said instructions are executed by a processor of a processing circuit.
  • the invention also provides a method for opportunistic routing of data in a mesh network, the network comprising a root node, and a plurality of leaf nodes, the method comprising:
  • a rank of each leaf node in said tree being defined by a number of intermediate node (s) on a single branch connecting this leaf node to the root node, and the nodes of the same rank connected to the same rank node precedent in the tree structure being identified and counted in a sequential order,
  • Each node identifier being a position identifier for each current leaf node to be attached to a given node, each identifier comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank of the given node, the position identifier further comprising a plurality of successive fields, each field coding the sequential order of each node of previous rank up to the rank following the root node , the position identifier further comprising a field coding the sequential order of the current node in its row,
  • the invention further comprises a computer program comprising instructions for implementing the method according to one of the embodiments described above, when said instructions are executed by a processor of a processing circuit.
  • the processing circuit is a processing circuit of any node on the network.
  • Fig. 1 illustrates a diagram of a mesh network presenting an architecture to which a new node is added
  • Fig. 2 illustrates the diagram of the mesh network of FIG. 1 in a step of broadcasting the attachment request message by the new node;
  • Fig. 3 illustrates the diagram of the mesh network of FIG. 1 in a step of transmitting the attachment request message of FIG. 2 along a chain of transmission;
  • Fig. 4 illustrates the diagram of the mesh network of FIG. 1 after attachment of the new node to a branch of architecture
  • Fig. 5 illustrates a process implemented by the root node of the architecture to determine the attachment of the new node to the branch of architecture
  • Fig. 6 illustrates an example of the format of a position identifier comprising the information for attaching the new node to the branch of architecture
  • Fig. 7 illustrates a process implemented by the new node to be attached to the architecture to determine its attachment to the branch of architecture
  • Fig. 8 illustrates a request for routing of data by a source node of the mesh network of FIG. 4 to a destination node;
  • Fig. 9 illustrates a flow diagram between a source node and candidate nodes
  • Fig. 10 illustrates an example of an algorithm implemented by a candidate node to respond to the source node of FIG. 8.
  • FIG. 1 illustrates a diagram of a mesh network, for example a mesh network of the PLC G3 type, in which an architecture has also been defined.
  • This architecture is a tree structure 1 presenting a root node LBS and branches carrying leaf nodes LBDa, LBDc, LBA etc.
  • leaf nodes are electricity meters and the root node is a collector node.
  • the nodes are linked together by segments of branches 2.
  • the LBDc node is of rank
  • the leaf node LBA is of rank 3 because it is attached to the root node LBS via two leaf nodes LBDa and LBDc.
  • All the nodes of the mesh network have a memory and a processing circuit.
  • the memory further comprises addresses making it possible to identify the nodes of the mesh network according to preexisting protocols, for example short addresses.
  • the memory of a network node also has a PCTS probability value (calculated in a manner known per se) linked to the node when it acts as a source node for transmitting data. For this, each node of the mesh network calculates its PCTS probability value as a function of the number of active neighboring nodes of the node of the mesh network. The probability can be coded on a byte.
  • the memory of the node further includes a neighbor table which indicates which of its neighbors are active.
  • a new LBDb node must be attached to the preexisting architecture.
  • the new LBDb node broadcasts a link request message to its closest geographic neighbors.
  • the nearest neighboring nodes receive this attachment request and one of them, the LBA node, is selected according to a metric, for example here the geographical distance, to become the node on which the new LBDb node will be attached.
  • the selected LBA node transmits the attachment request via the branch of the tree structure to which it is itself attached, to the LBS root node which receives it S1 1.
  • FIG. 5 shows the implementation of a process for attaching the new leaf node to be attached LBDb by the root node LBS.
  • the LBS root node generates S12 an attachment of the new LBDb node to the tree structure. Then, the root node LBS generates S13 a position identifier 4 of the new node to be attached LBDb, as it is described below with reference to FIGS. 4 and fig. 6.
  • the LBS root node finds, in the memory of the LBS node, a position identifier of the LBA node which is the one to which the new LBDb node is attached.
  • the root node LBS stores S14 in its memory a correspondence table between short addresses of the nodes of the tree and position identifiers which it generates and assigns to each new node attachment.
  • the position identifier 4 of the new LBDb node has the following successive fields, each field corresponding to 1 or 2 byte (s):
  • a first field corresponds to the number of the current rank of the LBDb node.
  • the next field FLD RNK 1 corresponds to the order of attachment seq3 of the node of rank 1 of the branch of the tree structure to which the node LBDb is attached.
  • the corresponding rank 1 node is the LBDa node.
  • the attachment order is the attachment order of the LBDa node in the succession of attachment of leaf nodes to the LBS root node.
  • the following field FLD RNK 2 corresponds to the order of attachment seq2 of the LBDc node of rank 2 of the branch of the tree structure to which the LBDb node is attached.
  • the following field FLD RNK 3 corresponds to the order of attachment seq1 of the LBA node of rank 3 of the branch of the tree structure to which the LBDb node is attached.
  • the next field FLD RNK 4 corresponds to the order of attachment seq1 of the LBDb node of rank 4 which is attached.
  • the position identifier 4 of a node is by construction based on the ascending branch to the LBS root node, without taking into account the leaf nodes which would possibly be attached to the node.
  • the position identifier 4 comprises a field coding a rank index RNK4 of the current leaf node LBDb, the rank of the current leaf node at attach to the LBA node being defined by an index incremented with respect to an index of rank RNK3 of the LBA node to which it is attached.
  • the position identifier 4 further comprises a plurality of successive fields FLD RNK1, FLD RNK2 etc., each field coding the sequential order seq3, seq2 ... of each node of previous rank belonging to the branch of attachment, up to row 1.
  • the position identifier 4 further comprising a FLD RNK 4 field coding the sequential order seq1 of the LBD node b to be attached in its rank.
  • the root node LBS sends it S15 to the leaf node to attach LBDb.
  • the position identifier 4 of the LBDb node is therefore [0x04
  • the position identifier of the LBS root node is equal to: [0x00
  • the position identifier of the LBDa node is equal to [0x01
  • FIG. 7 shows the attachment process implemented on the side of the leaf node to be attached LBDb.
  • the leaf node to be attached receives S16 the position identifier 4 and stores it S17 in its memory.
  • a source node the LBDc node, broadcasts
  • the closest geographic neighbors are the nodes included in the dotted circle shown, the center of which is the source node LBDc.
  • the nodes included in the dotted circle: LBDa, LBA, CNDTa, CNDTb, CNDTc and CNDTd, are all candidate nodes for routing data from the source LBDc node to the destination node for the data.
  • the network is also configured so that each node of the tree structure stores in its memory a threshold probability value THR.
  • FIG. 9 represents the source node LBDc broadcasting the RTS message to the candidate nodes CNDTa, CNDTb, LBDa in order to select (S18) a node for routing data to a destination node.
  • the other candidate nodes LBA, CNDTc and CNDTd, are not represented for the sake of simplicity of the figure, but the same mechanism also applies for them.
  • the RTS message includes the following information:
  • the destination node is the LBS root node
  • Each candidate node CNDTa, CNDTb and LBDa, etc. receiving the RTS message will launch an S200 algorithm for calculating the probability of generating a CTS message.
  • the S200 algorithm can lead to different results depending on the candidate node: either a CTS transmission, or an absence of CTS transmission (as represented by the cross for the CNDTa node).
  • the S200 algorithm uses the node position identifiers (candidate, source and recipient) to determine a probability P of transmitting a CTS. This probability is a self-assessment score of the candidate node for the role of routing the data. If this probability exceeds the probability threshold value THR, then the probability of generating a CTS is equal to the probability P.
  • FIG. 10 shows in more detail an example of an S200 algorithm, in order to guarantee the propagation of a data packet in the right direction.
  • the candidate node referred to is one of the candidate nodes in fig. 9.
  • the candidate node receives the RTS request (step S201).
  • the candidate node checks in the routing table if there are previously received RTS records (step 202).
  • the candidate node checks (step 203) if the current transmission sequence number of the RTS is indeed later than the sequence numbers of the RTS previously received from the same source node LBDc.
  • the candidate node is configured to ignore the RTS message (step S215) if the current broadcast sequence number of the RTS is not later, so as not to unnecessarily process an obsolete RTS message.
  • the candidate node is configured to test (step S204), if the recipient node of the data to be routed is the LBS root node. To perform this test, the candidate node compares the location identifiers of the recipient node and the root node, for example.
  • the candidate node is configured to test (steps S205 or S206), if the position identifiers of the destination node and the candidate node are equal. This allows the candidate node to identify if it is the recipient node. If this is the case, the candidate node is configured to define (step S21 1), that the probability of transmitting the CTS is a probability P of 100%.
  • the recipient node is the LBS root node, or not.
  • the best option for transmitting the data is to go up the tree in the direction of the LBS root node.
  • the best option to transmit the data is to descend the tree in the direction opposite to that of the LBS root node.
  • the candidate node tests (step S207), that the rank index of the candidate node is lower than the rank index of the source node LBDc. This test makes it possible to ensure that the candidate node is in the direction of the root node seen by the source node LBDc, in the tree structure, and therefore that the data will be transmitted in the correct upward direction. Information about the respective ranks is contained in the respective position identifiers.
  • the candidate node is configured to ignore the RTS message (step S215) if the rank of the candidate node does not verify this inequality.
  • the candidate node is further configured to find (step S210), in the RTS message, a PCTS probability value linked to the source node LBDc, and define that the probability P is equal to this PCTS value.
  • the candidate node verifies (step S208) that the index of the rank of the source node LBDc is less than the index of the rank of the node candidate and that the rank index of the candidate node is lower than the rank index of the recipient node.
  • the candidate node verifies that it is indeed between the LBDc source node and the destination node, and that the direction of the candidate node is indeed the right, top-down.
  • Information about the respective ranks is contained in the respective position identifiers.
  • the candidate node is configured to ignore the RTS message (step S215) if the rank of the candidate node does not verify this inequality.
  • the candidate node tests (step S216) if each of the fields of the position identifier of the recipient node and the position identifier of the candidate node are equal, for the fields corresponding to the ranks of index equal to that from the rank of the candidate node to the rank of index 1.
  • a check on the content of the fields of the position identifiers, field by field, amounts to a check on the position of the nodes of a branch of the tree, row by row. This test makes it possible to immediately check whether the candidate node is located exactly on the correct branch of the tree structure to transmit the data to the recipient node.
  • the candidate node defines (step S211) that the probability P of transmitting the CTS is equal to 100%.
  • the candidate node calculates (step S209), a penalty per iteration, from an initial penalty which can be predefined (step S218).
  • the candidate node compares the content of a field of the same rank of the position identifiers of the candidate and recipient nodes.
  • the position of the branch node connecting the destination node to the root node is compared with the position of the branch node connecting the candidate node to the root node.
  • the candidate node modifies the value of the penalty by adding to the penalty of the previous iteration the iteration index and a unit.
  • the iterations are carried out in a decreasing order of rank of the fields in order to give more weight to the fields of rank close to the rank of the root node. Indeed, if the position of the nodes is different for ranks of low value (close to the root node), then the candidate node and the recipient node are on different main branches. For higher value ranks (away from the root node), the candidate node and the destination node are on different secondary branches, which has less negative impact on routing data than when the nodes are on different main branches. .
  • the candidate node is configured to ignore the RTS message (step S215) if the penalty is greater than a threshold (THR2).
  • the candidate node is configured to calculate (step S212) a weighting value, equal to the inverse of the penalty value, and to calculate a probability P of transmitting the CTS.
  • the probability P is equal to the probability linked to the source PCTS node, multiplied by the calculated weighting.
  • the candidate node is configured to check (step S213), whether the probability which has been calculated or defined (in steps S210, S21 1 or S212 depending on the case) is greater than the threshold probability. In the case where the probability is lower, then the candidate node ignores (step S215) the RTS message.
  • the probability that the candidate node sends (step S214) the CTS response to the source node LBDc is equal to the probability P established in steps S210, S211 or S212.
  • the candidate nodes effectively responding to the source node LBDc in order to propose routing the data form a subset of candidate nodes. Thanks to this selection of a subset of candidate nodes, the number of CTS responses occupying the bandwidth of the mesh network is reduced.
  • the source node LBDc selects from among the candidates having sent a CTS response the one which is the "optimal" node according to a metric.
  • this is the LBDa node, optimal for transmitting the data to the LBS destination node. This selection corresponds to an evaluation by the source node LBDc of the relevance of the candidate nodes for the role of routing the data.
  • the source node LBDc transmits the data to the optimal node LBDa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

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.

Description

Description Description
Titre : Routage opportuniste de données Title: Opportunistic data routing
[0001] L’invention concerne le routage de données dans un réseau maillé, notamment par courants porteurs en ligne (CPL). The invention relates to the routing of data in a mesh network, in particular by line carrier currents (PLC).
[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. The electrical network can be used to transmit data using PLC technologies. PLC type telecommunication infrastructures are today widely deployed. In certain cases, in particular when the density of communicating objects is high, problems of saturation of the PLC network are noted and can harm the operational performance of the applications exploiting these telecommunications infrastructures.
[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. The present invention improves this situation by proposing an opportunistic routing of data in a mesh network, such as for example the PLC network.
[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, To this end, it proposes an opportunistic routing method of data in a mesh network, the network comprising a root node, and a plurality of leaf nodes, the method comprising a phase of learning links between nodes of the network, and a current operational phase for routing data through the network,
a. la phase d’apprentissage comportant : at. the learning phase comprising:
- 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; - a tree generation between the nodes, a row of each leaf node being defined by a number of intermediate node (s) on a single branch connecting this leaf node to the root node, and the nodes of the same rank linked to the same node of previous rank in the tree structure being identified and counted in a sequential order;
- une détermination d’un identifiant de position pour chaque nœud feuille courant à rattacher à un nœud donné; - a determination of a position identifier for each current leaf node to be attached to a given node;
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; the position identifier comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank of the given node, the identifier of position further comprising a plurality of successive fields, each field coding the sequential order of each node of previous rank up to the rank following the root node, the position identifier further comprising a field coding the sequential order of the current node in its rank;
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. b. the current operational phase comprising a selection, among candidate nodes of the mesh network, of an optimal node for transmitting data from a source node to a destination node, the selection of the optimal node comprising the determination of a score for each candidate node according to the position identifiers of the source and destination nodes, and in relation to the position of the candidate node in the tree structure.
[0005] Par exemple, le protocole utilisé peut être le protocole courant porteur en ligne (CPL) troisième génération (G3). For example, the protocol used can be the third generation (G3) online carrier current (CPL) protocol.
[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. [0006] Thus, a unique position identifier makes it possible to locate the node in the tree structure and to choose the best route accordingly. In contrast, this data would normally be added to communications between nodes if their identifier was chosen arbitrarily. The reduction of such data makes it possible to conserve a bandwidth for other data, especially in a constrained network as such, for example, the case of networks using narrowband type line carrying currents.
[0007] Le calcul du score permet une maximisation de l’optimalité du nœud candidat pour transmettre des données. The calculation of the score allows maximization of the optimality of the candidate node for transmitting data.
[0008] Dans des modes de réalisation, le procédé peut comporter une ou plusieurs des caractéristiques suivantes. In embodiments, the method may include one or more of the following characteristics.
[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, [0009] According to one embodiment, the generation of the tree structure between the nodes comprises, for the current leaf node to be attached,
- diffuser, par le nœud feuille courant à rattacher, un message de demande de rattachement à l’arborescence destiné au nœud racine, - broadcast, by the current leaf node to be attached, a message requesting attachment to the tree structure intended for the root node,
- recevoir, par des candidats au rattachement parmi les nœuds du réseau maillé, le message, - receive, by candidates for attachment among the nodes of the mesh network, the 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é, - select the given node among these candidates for attachment, according to a metric, - transmit the message to the root node via the given node, the determination of the position identifier being carried out by the root node in response to this attachment request transmitted by the given node,
- transmettre l’identifiant de position au nœud donné afin que le nœud donné le transmette au nœud feuille courant à rattacher. - transmit the position identifier to the given node so that the given node transmits it to the current leaf node to be attached.
[0010] Ainsi, l’introduction d’un nouvel identifiant de position ne perturbe pas le protocole de communication préexistant avec des identifiants classiques. Thus, the introduction of a new position identifier does not disturb the preexisting communication protocol with conventional identifiers.
[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. There are a wide variety of metrics that can be chosen for the purposes of selecting the given node. For example, according to a first metric, the given node which will be selected is the closest geographically to the current node to be attached. According to another metric, the selection is made on the type of connection (wired or non-wired, etc.) or on a combination of the aforementioned metrics.
[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 : According to one embodiment, the message includes an address of the current leaf node to be attached as well as an address of the root node, the method further comprising:
- 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, - store in a memory of the root node the generated position identifier, in association with the address of the current leaf node,
- 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. - send, by the root node, the position identifier to the current leaf node, - store, in a memory of the current leaf node, the position identifier.
[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. For example, the address of the leaf node can be a volatile or fixed address, for example a Media Access Control (MAC) address, for example a long MAC address.
[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. According to embodiments, the selection of an optimal node for transmitting the data may include one or more successive tests which may be different depending on whether one goes up or down in the tree structure. For example, and not limited to, some of the following tests relate more particularly to the case where we descend into the tree structure.
[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, According to one embodiment, the selection of an optimal node for transmitting the data comprises: the local broadcast by the source node and the reception by a candidate node of a routing request message, the routing request message comprising the position identifier of the node receiving the data, the identifier of position of the source node, the candidate node comprising a memory storing a position identifier of the candidate node,
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. the determination of the score of the candidate node, being carried out by the candidate node, the score being determined by comparing the values of each of the fields of the identifier of the candidate node and of the identifier of the recipient node two by two, for the coding fields the sequential order of each node of previous rank, and for each different field, by lowering the score of the candidate node, the score being a probability of sending, by the candidate node, to the source node, a message proposing routing including the position identifier of the candidate node. For example, an amplitude at which the score is lowered is a function of the rank corresponding to the different field, for example the amplitude decreases when the rank increases. By a decrease in the score, we mean a decrease in the probability of sending a routing proposal message.
[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. [0016] Thus, the method makes it possible to avoid unnecessarily transmitting a response proposal message from a candidate node which is not located on a good branch of the tree structure.
[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. According to one embodiment, the score of the candidate node is determined by the candidate node in response to the prior detection that the rank index of the source node is lower than the rank index of the candidate node, and that the rank index of the candidate node is lower than the rank index of the destination node.
[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. Thus, the method avoids unnecessarily sending a response proposal message from a candidate node which is not located in the right direction in the tree. For example, here, the wrong direction is that which would not allow the data to be lowered in the tree structure from the source node (for example the root node), to the destination leaf node. According to one embodiment, the selection of an optimal node for transmitting the data further comprises a preliminary step of determination, by the candidate node that the recipient node is not the root node. This preliminary step can be carried out for example by comparing the position identifiers of the recipient node and of the candidate node, or for example by comparing the addresses of the recipient node and of the candidate node.
[0020] Par exemple, et non limitativement, certains des tests suivants concernent plus particulièrement le cas où on remonte dans l’arborescence. For example, and not limited to, some of the following tests relate more particularly to the case where we go back in the tree structure.
[0021] Selon un mode de réalisation, la sélection d’un nœud optimal pour transmettre les données comporte : According to one embodiment, the selection of an optimal node for transmitting the data comprises:
- 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, the local broadcasting, by the source node, and the reception, by a candidate node, of a routing request message, the routing request message comprising the position identifier of the node receiving the data, and the identifier source node position, the candidate node comprising a memory storing a position identifier of the candidate node,
- 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, - detect, by the candidate node, that the rank index of the source node is greater than the rank index of the candidate node,
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. the determination of the score of the candidate node being carried out by the candidate node in response to the detection that the rank index of the source node is greater than the rank index of the candidate node, the score being a probability of sending, by the candidate node, intended for the source node, a routing proposal message comprising the position identifier of the candidate node.
[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). Thus, the method makes it possible to avoid unnecessarily sending a response proposal message from a candidate node which is not located in the right direction in the tree structure. For example, here, the wrong direction is that which would not allow data to be brought back up in the tree structure from the source node, which is a leaf node, to the destination node (for example the root node).
[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. According to one embodiment, the method further comprises a preliminary step of determining, by the candidate node that the recipient node is the root node. This preliminary step can be carried out for example by comparing the position identifiers of the recipient node and of the candidate node, or for example by comparing the addresses of the recipient node and of the candidate node.
[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. Whether going up or down in the tree structure, "local broadcast" means a transmission to the immediate geographic neighbors of the node, or the neighboring nodes directly connected to the node, as opposed to general broadcast to any node whatever its distance and which could include a "multi-hop" broadcast across the entire network. The invention precisely avoids the energy and time expenditure linked to a general diffusion at any node.
[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. Avoiding needlessly sending a response proposal message from a candidate node which would be a poor candidate makes it possible to conserve bandwidth for other messages and / or data, especially in a constrained network as such, for example the case of carrier current networks in the narrow band type usually.
[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. In one embodiment, the selection of the optimal node is carried out by the source node from among the candidate nodes having sent the routing proposal messages. For example, the optimal node is the first of the candidate nodes to have issued a routing proposal message.
[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. In general, the source node can be configured to select the optimal node from among the candidate nodes that have actually issued a routing proposal message, based on a metric. Such a metric can be the location in the tree structure and / or the speed of response and / or the quality of the link between the nodes and / or of a weighted combination of these metrics.
[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). In one embodiment, the routing request message is a Request to Send message (RTS) and the routing proposal message is a Clear to Send message (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. The invention further provides a system comprising a root node, and a plurality of leaf nodes, in a mesh network, for the implementation of the method of opportunistic routing of data on the mesh network, according to one of the embodiments described above, in which each node of the network is configured to implement said current operational phase.
[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. According to one embodiment, the root node of the system described above is configured to implement said learning phase. For example, the collector node is a communicating element that can be installed at any point in an electrical network regardless of its voltage level.
[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. According to one embodiment, the leaf nodes are electricity consumption meters of an electrical distribution network and the root node is a collector node.
[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. The invention further provides a root node of a system according to one of the embodiments described above, configured to implement said learning phase.
[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. The invention further provides a node of a system according to one of the embodiments described above, configured to implement said current operational phase.
[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 : The invention further provides a method for determining node position identifiers of a mesh network, for opportunistic routing of data in the mesh network, by reading said identifiers, the mesh network comprising a root node, and a plurality of leaf nodes, the method comprising:
- 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, - a tree generation between the nodes, a row of each leaf node being defined by a number of intermediate node (s) on a single branch connecting this leaf node to the root node, and the nodes of the same rank linked to the same node of previous rank in the tree structure being identified and counted in a sequential order,
- une détermination d’un identifiant de position pour chaque nœud feuille courant à rattacher à un nœud donné, - a determination of a position identifier for each current leaf node to be attached to a given node,
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. the position identifier comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank of the given node, the position identifier further comprising a plurality of successive fields, each field coding the sequential order of each node of preceding rank up to the rank following the root node, the position identifier further comprising a field coding the sequential order of the current node in its rank.
[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. The invention also provides a computer program comprising instructions for implementing the method according to one of the embodiments described above, when said instructions are executed by a processor of a processing circuit.
[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 : The invention also provides a method for opportunistic routing of data in a mesh network, the network comprising a root node, and a plurality of leaf nodes, the method comprising:
- 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, a selection, among candidate nodes of the mesh network, of an optimal node for transmitting data from a source node to a destination node, the selection of the optimal node comprising the determination of a score for each candidate node as a function identifiers of the source node and of the destination node, and with respect to the position of the candidate node in a tree structure of the nodes of the network,
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, A rank of each leaf node in said tree being defined by a number of intermediate node (s) on a single branch connecting this leaf node to the root node, and the nodes of the same rank connected to the same rank node precedent in the tree structure being identified and counted in a sequential order,
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, Each node identifier being a position identifier for each current leaf node to be attached to a given node, each identifier comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank of the given node, the position identifier further comprising a plurality of successive fields, each field coding the sequential order of each node of previous rank up to the rank following the root node , the position identifier further comprising a field coding the sequential order of the current node in its row,
- une transmission des données par le nœud optimal ainsi sélectionné. - data transmission by the optimal node thus selected.
[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. The invention further comprises a computer program comprising instructions for implementing the method according to one of the embodiments described above, when said instructions are executed by a processor of a processing circuit. For example, the processing circuit is a processing circuit of any node on the network.
[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 : Furthermore, other characteristics and advantages of the invention will appear on reading the description which follows. This is purely illustrative and should be read in conjunction with the accompanying drawings in which:
[Fig. 1] [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. 1 illustrates a diagram of a mesh network presenting an architecture to which a new node is added;
[Fig. 2] [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. 2 illustrates the diagram of the mesh network of FIG. 1 in a step of broadcasting the attachment request message by the new node;
[Fig. 3] [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. 3 illustrates the diagram of the mesh network of FIG. 1 in a step of transmitting the attachment request message of FIG. 2 along a chain of transmission;
[Fig. 4] [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. 4 illustrates the diagram of the mesh network of FIG. 1 after attachment of the new node to a branch of architecture;
[Fig. 5] [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. 5 illustrates a process implemented by the root node of the architecture to determine the attachment of the new node to the branch of 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. 6] Fig. 6 illustrates an example of the format of a position identifier comprising the information for attaching the new node to the branch of architecture;
[Fig. 7] [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. 7 illustrates a process implemented by the new node to be attached to the architecture to determine its attachment to the branch of architecture;
[Fig. 8] [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. 8 illustrates a request for routing of data by a source node of the mesh network of FIG. 4 to a destination node;
[Fig. 9] [Fig. 9]
[0047] la fig. 9 illustre un diagramme de flux entre un nœud source et des nœuds candidats, Fig. 9 illustrates a flow diagram between a source node and candidate nodes,
[Fig. 10] [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. Fig. 10 illustrates an example of an algorithm implemented by a candidate node to respond to the source node of 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. The following description of a learning phase sets out to show at first, with reference to FIGS. 1 to fig. 7, the way in which a tree structure is constructed between nodes of a mesh network in order to implement a very advantageous routing method.
[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[0050] FIG. 1 illustrates a diagram of a mesh network, for example a mesh network of the PLC G3 type, in which an architecture has also been defined. This architecture is a tree structure 1 presenting a root node LBS and branches carrying leaf nodes LBDa, LBDc, LBA etc. For example, leaf nodes are electricity meters and the root node is a collector node. The nodes are linked together by segments of branches 2. We define a rank of leaf nodes relative to the number of intermediate leaf nodes to which a new node is grafted. For example, we define that the rank of the LBS root node is zero, the leaf node LBDa is of rank 1 because it is directly attached to the LBS root node. The LBDc node is of rank
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. 2 because it is linked to the LBS root node via the LBDa leaf node. The leaf node LBA is of rank 3 because it is attached to the root node LBS via two leaf nodes LBDa and 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. All the nodes of the mesh network have a memory and a processing circuit. The memory further comprises addresses making it possible to identify the nodes of the mesh network according to preexisting protocols, for example short addresses. The memory of a network node also has a PCTS probability value (calculated in a manner known per se) linked to the node when it acts as a source node for transmitting data. For this, each node of the mesh network calculates its PCTS probability value as a function of the number of active neighboring nodes of the node of the mesh network. The probability can be coded on a byte. The memory of the node further includes a neighbor table which indicates which of its neighbors are active.
[0052] Un nouveau nœud LBDb doit être rattaché à l’architecture préexistante.A new LBDb node must be attached to the preexisting architecture.
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. As shown in fig. 2, the new LBDb node broadcasts a link request message to its closest geographic neighbors.
[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. The nearest neighboring nodes receive this attachment request and one of them, the LBA node, is selected according to a metric, for example here the geographical distance, to become the node on which the new LBDb node will be attached.
[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. As shown in FIG. 3, the selected LBA node transmits the attachment request via the branch of the tree structure to which it is itself attached, to the LBS root node which receives it 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. [0055] FIG. 5 shows the implementation of a process for attaching the new leaf node to be attached LBDb by the root node 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. The LBS root node generates S12 an attachment of the new LBDb node to the tree structure. Then, the root node LBS generates S13 a position identifier 4 of the new node to be attached LBDb, as it is described below with reference to FIGS. 4 and fig. 6. The LBS root node finds, in the memory of the LBS node, a position identifier of the LBA node which is the one to which the new LBDb node is attached. The root node LBS stores S14 in its memory a correspondence table between short addresses of the nodes of the tree and position identifiers which it generates and assigns to each new node attachment.
[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) : The position identifier 4 of the new LBDb node has the following successive fields, each field corresponding to 1 or 2 byte (s):
[0059] Un premier champ correspond au numéro du rang courant du nœud LBDb. A first field corresponds to the number of the current rank of the LBDb node.
[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. The next field FLD RNK 1 corresponds to the order of attachment seq3 of the node of rank 1 of the branch of the tree structure to which the node LBDb is attached. The corresponding rank 1 node is the LBDa node. The attachment order is the attachment order of the LBDa node in the succession of attachment of leaf nodes to the LBS root node.
[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. The following field FLD RNK 2 corresponds to the order of attachment seq2 of the LBDc node of rank 2 of the branch of the tree structure to which the LBDb node is attached.
[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. The following field FLD RNK 3 corresponds to the order of attachment seq1 of the LBA node of rank 3 of the branch of the tree structure to which the LBDb node is attached.
[0063] Le champ suivant FLD RNK 4 correspond à l’ordre de rattachement seq1 du nœud LBDb de rang 4 qui se rattache. The next field FLD RNK 4 corresponds to the order of attachment seq1 of the LBDb node of rank 4 which is attached.
[0064] Les champs suivants sont nuis. The following fields are harmful.
[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. The position identifier 4 of a node is by construction based on the ascending branch to the LBS root node, without taking into account the leaf nodes which would possibly be attached to the node.
[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. In general, the rules for generating the position identifier 4 are as follows: The position identifier 4 comprises a field coding a rank index RNK4 of the current leaf node LBDb, the rank of the current leaf node at attach to the LBA node being defined by an index incremented with respect to an index of rank RNK3 of the LBA node to which it is attached.
[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. The position identifier 4 further comprises a plurality of successive fields FLD RNK1, FLD RNK2 etc., each field coding the sequential order seq3, seq2 ... of each node of previous rank belonging to the branch of attachment, up to row 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. The position identifier 4 further comprising a FLD RNK 4 field coding the sequential order seq1 of the LBD node b to be attached in its rank.
[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. Once the position identifier 4 has been generated, the root node LBS sends it S15 to the leaf node to attach 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]. The position identifier 4 of the LBDb node is therefore [0x04 | 0x0003, 0x02, 0x01, 0x01, 0x00, ..., 0x00]. The position identifier of the LBS root node is equal to: [0x00 | 0x0000, 0x00, ..., 0x00]. The position identifier of the LBDa node is equal to [0x01 | 0x0003, 0x00, ..., 0x00] and that of the LBDc node is [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. FIG. 7 shows the attachment process implemented on the side of the leaf node to be attached LBDb. The leaf node to be attached receives S16 the position identifier 4 and stores it S17 in its memory.
[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. Now that the generation of the tree structure 1 has been described, an operational phase advantageously using this tree structure 1 and the position identifiers 4 will be described for the routing of data in the mesh network, with reference to FIGS. 8 to fig. 10. In this example, only communications between the root node, for example collector, and a leaf node, for example counter, are considered.
[0073] Comme représenté sur la Fig. 8, un nœud source, le nœud LBDc, diffuseAs shown in FIG. 8, a source node, the LBDc node, broadcasts
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. S20 to its closest geographic neighbors of the mesh network, a RTS data routing request. The closest geographic neighbors are the nodes included in the dotted circle shown, the center of which is the source node LBDc. The nodes included in the dotted circle: LBDa, LBA, CNDTa, CNDTb, CNDTc and CNDTd, are all candidate nodes for routing data from the source LBDc node to the destination node for the data.
[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. The network is also configured so that each node of the tree structure stores in its memory a threshold probability value 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. FIG. 9 represents the source node LBDc broadcasting the RTS message to the candidate nodes CNDTa, CNDTb, LBDa in order to select (S18) a node for routing data to a destination node. The other candidate nodes LBA, CNDTc and CNDTd, are not represented for the sake of simplicity of the figure, but the same mechanism also applies for them.
[0076] Le message RTS comporte les informations suivantes : The RTS message includes the following information:
- un numéro de séquence d’émission courant de RTS depuis le même nœud source LBDc, - a current RTS transmission sequence number from the same source node LBDc,
- l’identifiant de position 4 du nœud source LBDc, - the position identifier 4 of the source node LBDc,
- l’identifiant de position 4 du nœud destinataire (par exemple, ici, le nœud destinataire est le nœud racine LBS), et - the location identifier 4 of the destination node (for example, here, the destination node is the LBS root node), and
- une valeur de probabilité PCTS liée au nœud source LBDc. - a PCTS probability value linked to the source node 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. Each candidate node CNDTa, CNDTb and LBDa, etc. receiving the RTS message will launch an S200 algorithm for calculating the probability of generating a CTS message. The S200 algorithm can lead to different results depending on the candidate node: either a CTS transmission, or an absence of CTS transmission (as represented by the cross for the CNDTa node). The S200 algorithm uses the node position identifiers (candidate, source and recipient) to determine a probability P of transmitting a CTS. This probability is a self-assessment score of the candidate node for the role of routing the data. If this probability exceeds the probability threshold value THR, then the probability of generating a CTS is equal to the probability P. If the probability P is less than the threshold, then the candidate node ignores the RST message. FIG. 10 shows in more detail an example of an S200 algorithm, in order to guarantee the propagation of a data packet in the right direction. The candidate node referred to is one of the candidate nodes in 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). The candidate node receives the RTS request (step S201). The candidate node checks in the routing table if there are previously received RTS records (step 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. If this is the case, the candidate node checks (step 203) if the current transmission sequence number of the RTS is indeed later than the sequence numbers of the RTS previously received from the same source node LBDc. The candidate node is configured to ignore the RTS message (step S215) if the current broadcast sequence number of the RTS is not later, so as not to unnecessarily process an obsolete RTS message.
[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. In the case where the current transmission sequence number of the RTS is much later or if there is no recording of RTS received previously from the source node LBDc, then the RTS message is therefore not obsolete . The candidate node is configured to test (step S204), if the recipient node of the data to be routed is the LBS root node. To perform this test, the candidate node compares the location identifiers of the recipient node and the root node, for example.
[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%. The candidate node is configured to test (steps S205 or S206), if the position identifiers of the destination node and the candidate node are equal. This allows the candidate node to identify if it is the recipient node. If this is the case, the candidate node is configured to define (step S21 1), that the probability of transmitting the CTS is a probability P of 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. Otherwise, two cases arise: either the recipient node is the LBS root node, or not. In the first case, if the destination node is the LBS root node, then the best option for transmitting the data is to go up the tree in the direction of the LBS root node. In the second case, if the destination node is not the LBS root node, then the best option to transmit the data is to descend the tree in the direction opposite to that of the LBS root node. The various tests described below are implemented in order to respect this general principle.
[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é. In the first case, where the destination node is the LBS root node, then the candidate node tests (step S207), that the rank index of the candidate node is lower than the rank index of the source node LBDc. This test makes it possible to ensure that the candidate node is in the direction of the root node seen by the source node LBDc, in the tree structure, and therefore that the data will be transmitted in the correct upward direction. Information about the respective ranks is contained in the respective position identifiers. The candidate node is configured to ignore the RTS message (step S215) if the rank of the candidate node does not verify this inequality.
[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. The candidate node is further configured to find (step S210), in the RTS message, a PCTS probability value linked to the source node LBDc, and define that the probability P is equal to this PCTS value.
[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é. In the second case, where the destination node is not the root node, the candidate node verifies (step S208) that the index of the rank of the source node LBDc is less than the index of the rank of the node candidate and that the rank index of the candidate node is lower than the rank index of the recipient node. Thus, the candidate node verifies that it is indeed between the LBDc source node and the destination node, and that the direction of the candidate node is indeed the right, top-down. Information about the respective ranks is contained in the respective position identifiers. The candidate node is configured to ignore the RTS message (step S215) if the rank of the candidate node does not verify this inequality.
[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. Otherwise, the candidate node tests (step S216) if each of the fields of the position identifier of the recipient node and the position identifier of the candidate node are equal, for the fields corresponding to the ranks of index equal to that from the rank of the candidate node to the rank of index 1. A check on the content of the fields of the position identifiers, field by field, amounts to a check on the position of the nodes of a branch of the tree, row by row. This test makes it possible to immediately check whether the candidate node is located exactly on the correct branch of the tree structure to transmit the data to the recipient node.
[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%. If this is the case, the candidate node defines (step S211) that the probability P of transmitting the CTS is equal to 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). Otherwise, the candidate node calculates (step S209), a penalty per iteration, from an initial penalty which can be predefined (step 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é. At each iteration, the candidate node compares the content of a field of the same rank of the position identifiers of the candidate and recipient nodes. Thus, row by row, the position of the branch node connecting the destination node to the root node is compared with the position of the branch node connecting the candidate node to the root node. When the two positions are different, this indicates that the candidate node is not located on the correct branch. In this case, the candidate node modifies the value of the penalty by adding to the penalty of the previous iteration the iteration index and a 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. The iterations are carried out in a decreasing order of rank of the fields in order to give more weight to the fields of rank close to the rank of the root node. Indeed, if the position of the nodes is different for ranks of low value (close to the root node), then the candidate node and the recipient node are on different main branches. For higher value ranks (away from the root node), the candidate node and the destination node are on different secondary branches, which has less negative impact on routing data than when the nodes are on different main branches. .
[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). Once the penalty has been calculated, the candidate node is configured to ignore the RTS message (step S215) if the penalty is greater than a threshold (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. The candidate node is configured to calculate (step S212) a weighting value, equal to the inverse of the penalty value, and to calculate a probability P of transmitting the CTS. The probability P is equal to the probability linked to the source PCTS node, multiplied by the calculated weighting. The candidate node is configured to check (step S213), whether the probability which has been calculated or defined (in steps S210, S21 1 or S212 depending on the case) is greater than the threshold probability. In the case where the probability is lower, then the candidate node ignores (step S215) the RTS message.
[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. The probability that the candidate node sends (step S214) the CTS response to the source node LBDc is equal to the probability P established in steps S210, S211 or 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. Thus, the candidate nodes effectively responding to the source node LBDc in order to propose routing the data form a subset of candidate nodes. Thanks to this selection of a subset of candidate nodes, the number of CTS responses occupying the bandwidth of the mesh network is reduced.
[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. In a step S18, the source node LBDc selects from among the candidates having sent a CTS response the one which is the "optimal" node according to a metric. In the example of fig. 9, this is the LBDa node, optimal for transmitting the data to the LBS destination node. This selection corresponds to an evaluation by the source node LBDc of the relevance of the candidate nodes for the role of routing the data.
[0098] Le nœud source LBDc émet les données au nœud optimal LBDa. The source node LBDc transmits the data to the optimal node 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. Although an S200 algorithm has been described participating in the selection of an optimal node, it goes without saying that in the case where the source node LBDc also identifies that the position identifiers or the short addresses of a candidate node and the recipient node are identical so it will necessarily select this candidate node.

Claims

Revendications Claims
[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 ), [Claim 1] Method for opportunistic routing of data in a mesh network (1), the network comprising a root node (LBS), and a plurality of leaf nodes (LBDa, LBDb, LBDc), the method comprising a learning phase of links (2) between nodes of the network, and a current operational phase (S200) for routing data through the network (1),
a. la phase d’apprentissage comportant : at. the learning phase comprising:
- 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 ); - a tree generation (S12) between the nodes, a rank (RNK) of each leaf node being defined by a number of intermediate node (s) on a single branch (3) connecting this leaf node (LBDb) at the root node (LBS), and the nodes of the same rank (RNK3) connected to the same node (LBDc) of previous rank (RNK2) in the tree structure being identified and counted in a sequential order (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); - a determination (S13) of a position identifier (4) for each current leaf node (LBDb) to be attached to a given node (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); the position identifier (4) comprising a field coding a rank index (RNK4) of the current leaf node (LBDb), the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank (RNK3) of the given node (LBA), the position identifier (4) further comprising a plurality of successive fields (FLD RNK1, FLD RNK2 ...), each field coding the sequential order (seq3, seq2. ..) from each node (LBA, LBDa, LBDc) of previous rank (RNK3, RKN2) to rank (RNK1) which follows the root node (LBS), the position identifier (4) also comprising a field (FLD RNK4) coding the sequential order (seq1) of the current node (LBDb) in its rank (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. b. the current operational phase (S200) comprising a selection (S18), among candidate nodes (CNDTa, CNDTb, CNDTc, CNDTd, LBDa, LBA) of the mesh network (1), of an optimal node (LBDa) for transmitting data from a source node (LBDc) to a destination node (LBS), the selection of the optimal node comprising the determination (S210, S21 1, S212) of a score for each candidate node as a function of the position identifiers (4) source (LBDc) and destination (LBS) nodes, and relative to the position of the candidate node in the tree structure.
[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, [Claim 2] Method according to claim 1, the generation (S12) of the tree structure between the nodes comprising, for the current leaf node (LBDb) to be attached,
- diffuser (S10), par le nœud feuille courant à rattacher, un message de demande de rattachement à l’arborescence destiné au nœud racine, - broadcast (S10), by the current leaf node to be attached, a message requesting attachment to the tree structure intended for the root node,
- recevoir, par des candidats au rattachement parmi les nœuds du réseau maillé, le message, - receive, by candidates for attachment among the nodes of the mesh network, the message,
- sélectionner le nœud donné (LBA) parmi ces candidats au rattachement, selon une métrique, - select the given node (LBA) among these candidates for attachment, according to a metric,
- 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é, - transmit (S11) the message to the root node (LBS) via the given node (LBA), the determination of the position identifier (4) being carried out by the root node (LBS) in response to this request for attachment transmitted by the given node,
- 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). - transmit the position identifier (4) to the given node (LBA) so that the given node (LBA) transmits it to the current leaf node to be attached (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 : [Claim 3] Method according to claim 2, the message comprising an address of the current leaf node to be attached (LBDb) as well as an address of the root node (LBS), the method further comprising:
- 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), - store (S14) in a memory of the root node (LBS) the position identifier (4) generated, in association with the address of the current leaf node (LBDb),
- envoyer (S15), par le nœud racine, l’identifiant de position (4) au nœud feuille courant (LBDb), - send (S15), by the root node, the position identifier (4) to the current leaf node (LBDb),
- stocker (S17), dans une mémoire du nœud feuille courant (LBDb), l’identifiant de position. - store (S17), in a memory of the current leaf node (LBDb), the position identifier.
[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 : [Claim 4] Method according to any one of claims 1 to 3, in which the selection of an optimal node for transmitting the data comprises:
- 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, - the local broadcast (S20), by the source node (LBDc), and the reception (S201), by a candidate node (LBDa), of a routing request message, the routing request message comprising the identifier position (4) of the destination node (LBD b) of the data, the position identifier (4) of the source node (LBDc), the candidate node (LBDa) comprising a memory storing a position identifier (4) of the candidate node,
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. the determination of the candidate node score (LBDa), being carried out by the candidate node, the score being determined by comparing (S209) the values of each of the fields of the identifier (4) of the candidate node (LBDa) and the identifier of the destination node (LBD b) two by two, for the fields coding the sequential order (FLD RNK) of each node of previous rank, and for each different field, by lowering the score of the candidate node, the score being a probability send (S214), by the candidate node (LBDa), to the source node (LBDc), a routing proposal message comprising the position identifier of the candidate node.
[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). [Claim 5] The method according to claim 4, further comprising a preliminary step of determining, by the candidate node (LBDa) that the recipient node (LDB b) is not the root node (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 : [Claim 6] Method according to any one of claims 1 to 3, in which the selection of an optimal node for transmitting the data comprises:
- 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, - the local broadcast (S20), by the source node (LBDc), and the reception (S201), by a candidate node (LBDa), of a routing request message, the routing request message comprising the identifier position (4) of the destination node (LBS) of the data, and the position identifier (4) of the source node (LBDc), the candidate node (LBDa) comprising a memory storing a position identifier (4) of the candidate node ,
- 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. - detect (S207), by the candidate node (LBDa), that the rank index (RNK2) of the source node (LBDc) is greater than the rank index (RNK1) of the candidate node, the determination (S210) of the candidate node score (LBDa) being performed by the candidate node in response to detection (S207) that the rank index (RNK2) of the source node (LBDc) is greater than the rank index (RNK1) of the candidate node , the score being a probability of sending (S214), by the candidate node (LBDa), to the source node (LBDc), a routing proposal message comprising the position identifier of the candidate node.
[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. [Claim 7] Method according to claim 6, further comprising a preliminary step of determining, by the candidate node (LBDa) that the recipient node is the root node.
[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. [Claim 8] System comprising a root node (LBS), and a plurality of leaf nodes (LBDa, LBDc ...), in a mesh network (1), for the implementation of the process of opportunistic routing of data on the mesh network, according to one of the preceding claims, in which each node of the network is configured to implement said current operational phase (S200).
[Revendication 9] Système selon la revendication 8, dans lequel le nœud racine, est configuré pour mettre en œuvre ladite phase d’apprentissage. [Claim 9] The system of claim 8, wherein the root node is configured to implement said learning phase.
[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. [Claim 10] System according to one of claims 8 and 9, wherein the leaf nodes are meters of electrical consumption of an electrical distribution network and the root node is a collector node.
[Revendication 11] Nœud racine (LBS) d’un système selon la revendication 9, configuré pour mettre en œuvre ladite phase d’apprentissage. [Claim 11] Root node (LBS) of a system according to claim 9, configured to implement said learning phase.
[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. [Claim 12] Node of a system according to one of claims 8 to 10, configured to implement said current operational phase (S200).
[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 : [Claim 13] Method for determining position identifiers (4) of nodes of a mesh network (1), for opportunistic routing of data in the mesh network, by reading said identifiers (4), the mesh network comprising a root node (LBS), and a plurality of leaf nodes (LBDa, LBDc ...), the method comprising:
- 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, - a generation (S12) of tree structure between the nodes, a row of each leaf node being defined by a number of intermediate node (s) on a single branch (3) connecting this leaf node (LBDb) to the root node (LBS), and the nodes of the same rank linked to the same node of previous rank in the tree structure being identified and counted in a sequential order,
- une détermination (S13) d’un identifiant de position (4) pour chaque nœud feuille courant à rattacher à un nœud donné (LBA), - a determination (S13) of a position identifier (4) for each current leaf node to be attached to a given node (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. the position identifier (4) comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node (LBA) being defined by an index incremented with respect to an index of the rank of the given node, the position identifier further comprising a plurality of successive fields, each field coding the sequential order of each node of previous rank (LBA, LBDc, LBDa) up to the rank following the root node (LBS), the position identifier further comprising a field coding the sequential order of the current node (LBDb) in its rank.
[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. [Claim 14] Computer program comprising instructions for implementing the method according to claim 13, when said instructions are executed by a processor of a processing circuit.
[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 : [Claim 15] Method for opportunistic routing of data in a mesh network (1), the network comprising a root node (LBS), and a plurality of leaf nodes (LBDa, LBDc ...), the method comprising:
- 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, a selection (S18), from among candidate nodes of the mesh network, of an optimal node (LBDa) for transmitting data from a source node (LBDc) to a destination node (LBS), the selection of the optimal node ( LBDa) comprising the determination of a score for each candidate node as a function of identifiers (4) of the source node (LBDc) and of the destination node (LBS), and with respect to the position of the candidate node in a tree structure of the nodes of the network,
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, A rank of each leaf node in said tree being defined by a number of intermediate node (s) on a single branch connecting this leaf node to the root node, and the nodes of the same rank connected to the same rank node precedent in the tree structure being identified and counted in a sequential order,
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, Each node identifier being a position identifier for each current leaf node to be attached to a given node, each identifier comprising a field coding a rank index of the current leaf node, the rank of the current leaf node to be attached to the given node being defined by an index incremented with respect to an index of the rank of the given node, the position identifier further comprising a plurality of successive fields, each field coding the sequential order of each node of previous rank up to the rank following the root node , the position identifier further comprising a field coding the sequential order of the current node in its row,
- une transmission des données (DTA) par le nœud optimal (LBDa) ainsi sélectionné. - a data transmission (DTA) by the optimal node (LBDa) thus selected.
[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. [Claim 16] Computer program comprising instructions for implementing the method according to claim 15, when said instructions are executed by a processor of a processing circuit.
PCT/EP2019/085463 2018-12-20 2019-12-16 Opportunistic routing of data WO2020127128A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1873677A FR3091094B1 (en) 2018-12-20 2018-12-20 Opportunistic data routing
FR1873677 2018-12-20

Publications (1)

Publication Number Publication Date
WO2020127128A1 true WO2020127128A1 (en) 2020-06-25

Family

ID=66530299

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/085463 WO2020127128A1 (en) 2018-12-20 2019-12-16 Opportunistic routing of data

Country Status (2)

Country Link
FR (1) FR3091094B1 (en)
WO (1) WO2020127128A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612687A (en) * 2021-08-18 2021-11-05 中煤科工集团北京华宇工程有限公司 Method and device for selecting forwarding node and electronic equipment
CN113795041A (en) * 2021-10-18 2021-12-14 深圳弘星智联科技有限公司 Method for optimizing LBD node routing based on network communication
CN115314433A (en) * 2022-08-08 2022-11-08 电子科技大学 Relay forwarding strategy of opportunistic routing combined with MAC layer

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
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 <URL:https://pdfs.semanticscholar.org/0631/102bacbf685e31a495cfe601a747075353e3.pdf> *
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 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612687A (en) * 2021-08-18 2021-11-05 中煤科工集团北京华宇工程有限公司 Method and device for selecting forwarding node and electronic equipment
CN113612687B (en) * 2021-08-18 2023-09-22 中煤科工集团北京华宇工程有限公司 Forwarding node selection method and device and electronic equipment
CN113795041A (en) * 2021-10-18 2021-12-14 深圳弘星智联科技有限公司 Method for optimizing LBD node routing based on network communication
CN113795041B (en) * 2021-10-18 2024-03-08 深圳弘星智联科技有限公司 Method for optimizing LBD node route based on network communication
CN115314433A (en) * 2022-08-08 2022-11-08 电子科技大学 Relay forwarding strategy of opportunistic routing combined with MAC layer

Also Published As

Publication number Publication date
FR3091094B1 (en) 2021-01-22
FR3091094A1 (en) 2020-06-26

Similar Documents

Publication Publication Date Title
WO2020127128A1 (en) Opportunistic routing of data
EP3054652B1 (en) Dynamic adjustment of the transmission mode in a satellite communication system
EP2119147B1 (en) Methods and devices for discovering a gateway and for routing towards said gateway in a hybrid wireless network
FR3044198A1 (en) METHOD FOR CONFIGURING A GATEWAY
FR3093392A1 (en) MULTIPLE-LINK ACCESS METHOD TO A NETWORK
EP2163071A2 (en) Method for automatically determining a group of pairs located close to another pair in a communication network and associated server, analysis device and communication device
EP1252744B1 (en) Method for dynamic optimisation of service quality in a data transmission network
EP2345210B1 (en) Management of routing topology in a network
EP2008410B1 (en) Method of identifying at least one route satisfying at least one constraint between a source node and a destination node in a telecommunications network
EP4142244B1 (en) Control method for reducing a blockage in a mesh communication network by powerline and radio communication
EP3934111B1 (en) Method for selecting a communication route
WO2009150335A2 (en) Technique for broadcasting via a communication network node
EP2761828A1 (en) Multi-hop routing protocol
EP3326294A1 (en) Method for determining a route in a plc network
EP1603296B1 (en) Method for automated configuring of a headend network device
EP2031809B1 (en) Method for processing data streams in a telecommunication network
EP3627795A1 (en) Method for detecting and filtering illegal streams in a satellite communication network
EP2649743A1 (en) Method, devices, and computer program for dynamically selecting frequency bands for uplink communication for ofdma or sc-fdma terminals, the power of which is controlled
EP3934114B1 (en) Control method for reducing a blockage in a mesh communication network by powerline communication
EP2107844B1 (en) Method and system for communicating by locating a mobile terminal according to a reference area
FR3139964A1 (en) Method for managing a communications network, communications network and associated entity
EP2198661A1 (en) Method for data communication in a co-operative cellular network, and corresponding device and computer program product
Liu et al. Building efficient overlays
Van Hiep Router-aided Approach for P2P Traffic Localization
EP3211841A1 (en) Method for deciding to relay a copy of a route discovery request in a communication network by broadcast

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19818109

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19818109

Country of ref document: EP

Kind code of ref document: A1