EP4643580A1 - Procédé de routage de messages dans un réseau maillé - Google Patents
Procédé de routage de messages dans un réseau mailléInfo
- Publication number
- EP4643580A1 EP4643580A1 EP23837231.2A EP23837231A EP4643580A1 EP 4643580 A1 EP4643580 A1 EP 4643580A1 EP 23837231 A EP23837231 A EP 23837231A EP 4643580 A1 EP4643580 A1 EP 4643580A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- message
- node
- routing
- network
- transmit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/20—Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
Definitions
- the present disclosure relates to the field of message routing in a network, and in particular message routing in a mesh network implementing a flooding transmission mode.
- IOT Internet of Things
- mesh networks also referred to as “mesh” type networks in English.
- nodes are connected peer-to-peer without a central hierarchy, with each node able to receive, send and retransmit a message.
- the implementation of a mesh network makes it possible to increase the robustness of the network by avoiding having hotspots, which in the event of a breakdown, can hamper the operation of the network. This is because in a mesh network, if a node fails, the message can be transmitted via an alternative route.
- messages can be transmitted in a flooding mode, commonly referred to as “flooding” in English.
- Flooding consists of flooding the network with messages in the hope that they reach their destination.
- This technique can be used for message routing, or for the discovery of routes in the network, for example according to the AODV (“Ad hoc On Demand Distance Vector”) protocol.
- AODV Ad hoc On Demand Distance Vector
- This technique of flooding the network makes it possible to avoid having to maintain routing tables and to be reactive to a change in network architecture, for example in the case of adding a new node, updating implementation of mobile nodes, or in the event of a breakdown and/or attack.
- the mode of transmission by flooding in a mesh network has the disadvantage of promoting network congestion and can have a significant energy impact. Routing methods are being sought that consume less energy and limit the risk of network saturation.
- a routing method is proposed for routing a message via nodes of a network, in which the message includes geographic destination data, and the method, implemented by a current node of the network , understand :
- - upon receipt of a message comprising said geographical destination data, and coming from a sending node, - decide to transmit or not to transmit the message according to a desired direction of transmission of the message determined according to the geographical destination data and a direction taken by the message between the sending node and the current node.
- geometric destination data means data making it possible to locate in space a destination of the message.
- direction we mean a direction in space between the geographical locations concerned.
- the use of geographic destination data advantageously makes it possible to carry out geographic routing of messages.
- the method according to the present disclosure advantageously makes it possible to retransmit only messages spatially oriented towards the destination. This improves the security of message transmission because messages are transmitted more selectively to the destination. Indeed, not spreading messages unnecessarily, particularly in the wrong directions, makes it possible to improve the security of message transmission.
- the method makes it possible to limit the number of retransmissions of messages before arrival at the destination. This makes it possible, on the one hand, to limit network saturation by reducing the wave effect, and on the other hand, to limit the consumption of the different elements of the network and therefore to reduce the energy impact of message transmission.
- a geographic location is associated with each of the nodes.
- Each of the nodes in the network has particular knowledge of its geographical location determined by the node itself or transmitted by the network.
- the geographical location of each of the nodes may in particular include spatial coordinates of a point associated with the node, for example a set of three-dimensional coordinates of said point.
- Each of the three-dimensional coordinate sets can be associated with a radius of uncertainty around this point.
- Each of the nodes may include means for determining its location, for example geolocation means such as triangulation.
- the geographic destination data may include a destination point presenting spatial coordinates, with which a tolerance radius may be associated.
- the destination node(s) then correspond to the nodes located within the tolerance radius around the destination point.
- the method comprises:
- - determine the desired direction of transmission of the message including the determination of a destination vector collinear with the direction connecting the geographical location of the current node and the geographical destination, - determine the direction taken by the message including obtaining an arrival vector collinear with the direction connecting the geographic location of the current node and the geographic location of the sending node.
- deciding to transmit or not to transmit the message includes the comparison of a retransmission angle, determined as a function of the arrival vector and the destination vector, with a routing angle.
- the routing angle can be fixed or adapted depending on the topology of the network, for example depending on the extent and/or density of the network.
- the routing angle is a constant data.
- the routing angle is data that can be determined as a function of at least one routing parameter carried by the message. This characteristic makes it possible to further constrain the transmission of the message as it advances in the network. In other words, the message is transmitted more and more selectively as it gets closer to the destination.
- the message can carry the geographical location of the sending node.
- the message carries an address of the sending node and the current node includes a table, called the neighbor table, listing neighboring nodes at the current node, each neighboring node being identified by an address and each neighboring node being associated with a data relating to the geographical location of the respective neighboring node.
- neighboring nodes we mean nodes that can enter into direct communication with the current node.
- the arrival vector is obtained based on the neighbor table when the address of the sending node is present in the neighbor table.
- the neighbors table advantageously makes it possible to construct a topology for routing messages by a current node based on the neighboring nodes of this current node.
- routing topology we mean in particular the set of admissible directions of retransmission of a message by the current node according to the geographical position of the neighboring nodes at the current node.
- the data relating to the geographical location of the respective neighboring node may consist of a geographical location of the neighboring node or alternatively may correspond to a vector collinear with the direction connecting the geographical location of the current node and the geographical location of the neighboring node. Storing said vector associated with the neighboring node advantageously makes it possible to avoid calculating the vector between the sending node and the current node each time a message is transmitted.
- the sending node is the last node having transmitted the message to the current node.
- the last node having transmitted the message to the current node we mean the node having transmitted the message to the current node last in a message transmission chain.
- the message includes a number of hops and the decision to transmit or not transmit the message is also made as a function of the number of hops.
- the method can advantageously be implemented as soon as the number of hops of the message reaches a predetermined number of hops since the first transmission of the message, for example two hops.
- the method further comprises, upon receipt of the message and prior to implementing the transmission of the message, checking the number of hops made by the message prior to receipt of the message by the current node.
- the number of hops made is equal to a predetermined number of hops, transmission of the message according to the method of the present disclosure is implemented. This makes it possible to avoid being too restrictive from the initial transmission of the message and to be able, for example, to bypass potential obstacles.
- the message can advantageously include an age and the decision to transmit or not transmit the message is made based on the age of the message.
- a node of a network is proposed for the method as previously described.
- a computer program comprising instructions for the implementation of all or part of a method as defined herein when this program is executed by a processor.
- a non-transitory recording medium readable by a computer, on which such a program is recorded.
- FIG.l shows an example of a network of nodes for implementing the above method, according to one embodiment.
- FIG.2 shows an example of steps of the process as defined above, according to one embodiment.
- FIG.3 shows an example of steps of the process as defined above, according to one embodiment.
- FIG.4 illustrates two examples A and B of routing topology of a current node for the implementation of the above method, according to one embodiment.
- FIG.5 shows an example of steps of the process as defined above, according to one embodiment.
- FIG.6 schematically illustrates a node according to one embodiment.
- FIG.1 schematically representing a network 1 having nodes 2, also conventionally designated “hosts”. We are particularly interested in the routing of messages in such a network 1.
- a geographical location is associated with each of the nodes.
- Each of the nodes in the network has particular knowledge of its geographical location.
- the geographical location of each of the nodes may in particular include spatial coordinates of a point associated with the node, for example a set of three-dimensional coordinates of said point.
- Each of the three-dimensional coordinate sets can be associated with a radius of uncertainty around this point.
- Each of the nodes may include means for determining its location, for example geolocation means such as triangulation.
- the present disclosure concerns a routing method for routing a message, also referred to as a packet, via network nodes.
- the message includes geographic destination data LocDest.
- the message is conventionally formed of data, designated "payload” in English and corresponding to the content of the message to be transmitted, and of routing data, designated “routing data” in English, allowing the management of the routing of the message in the network.
- routing data designated "routing data” in English
- the message is routed from a source S to a destination D.
- the “source” of the message can correspond to a node of the network, to an entity connected to one of the nodes of the network and asking it to transmit the message.
- a user can connect to a node through a smartphone interface.
- destination is meant a geographical destination which is represented by the geographical destination data, and which can cover one or more destination nodes.
- the geographic destination data may include a destination point having spatial coordinates, to which a tolerance radius may be associated.
- the destination node(s) then correspond to the nodes located within the tolerance radius around the destination point.
- Geographic destination data advantageously makes it possible to carry out geographic routing of messages.
- “Geographical routing” means routing in the message space.
- FIG.2 represents a schematic diagram of the process implemented by a current node in the network.
- the process includes:
- Direction means a direction in space between the geographical locations concerned.
- the method according to the present disclosure advantageously makes it possible to retransmit only messages spatially oriented towards the destination. This improves the security of message transmission because messages are transmitted more selectively to the destination. Indeed, not spreading messages unnecessarily, particularly in the wrong directions, makes it possible to improve the security of message transmission.
- the method makes it possible to limit the number of retransmissions of messages before arrival at the destination. This makes it possible, on the one hand, to limit network saturation by reducing the wave effect, and on the other hand, to limit the consumption of the different elements of the network and therefore to reduce the energy impact of message transmission.
- the determination of the direction taken and the desired direction can be carried out directly by the current node, or alternatively by a computer with which the current node is in communication for example.
- the sending node is preferably the last node having transmitted the message to the current node.
- the last node having transmitted the message to the current node we mean the node having transmitted the message to the current node last in a message transmission chain.
- the sending node may correspond to a node having sent the message to the current node via at least one other node.
- the sender node can for example correspond to a source node of the message. It can be noted that the further upstream the sending node is in the message transmission chain, the more precise the estimate of the direction taken will be. However, using the last node that transmitted the message as the sending node is a pragmatic and simple solution to implement.
- the method advantageously comprises:
- determining the desired direction of transmission of the message may include the determination of a destination vector VecDest as a function of the geographic location LocNode of the current node and the geographic destination LocDest.
- the destination vector VecDest is notably determined so as to be collinear with the direction connecting the geographic location LocNode of the current node and the geographic destination LocDest.
- the direction taken by the message between the sending node and the current node is determined in particular as a function of the LocSender geographical location of the sending node and the LocNode geographical location of the current node. More precisely, determining the direction taken by the message may include obtaining an arrival vector VecArr collinear with the direction connecting the geographic location LocNode of the current node and the geographic location LocSender of the sending node.
- the message can carry the LocSender geographical location of the sending node.
- Said arrival vector VecArr can be calculated each time a message is transmitted to the current node by a sending node.
- the message may include an address of the sending node and the current node may include a table listing neighboring nodes to the current node, called the ListNdDist neighbor table.
- neighbor node we mean nodes that can enter directly into communication with the current node.
- Each of the nodes in the neighbors table can be identified by an NdDist address.
- Each neighboring node is associated with data relating to the geographical location of the respective neighboring node. If the address of the sending node is present in the neighbor table, then the arrival vector VecArr is obtained based on the neighbor table ListNdDist. More precisely, the arrival vector VecArr is obtained according to the data relating to the geographical location of the neighboring node corresponding to the sending node.
- the neighbors table thus makes it possible to construct a topology for routing messages by a current node based on the neighboring nodes of this current node.
- routing topology we mean in particular the set of admissible directions of retransmission of a message by the current node according to the geographical position of the neighboring nodes at the current node.
- Parts A and B of [Fig.4] represent two examples of parts of a network comprising nodes 2 including a current node and neighboring nodes, namely three neighboring nodes for [Fig.4] - A and two neighboring nodes for [Fig.4]-B. Said set of admissible directions are represented in hatched areas 4.
- the desired direction of transmission of the message is compatible with the routing topology of the current node, the message can be transmitted to the neighboring node concerned.
- the desired direction of transmission of the message is incompatible with the routing topology of the current node, the message is not retransmitted.
- the data relating to the geographic location of the respective neighboring node may consist of a geographic location of the neighboring node LocDist or may correspond to a VecToDist vector collinear with the direction connecting the geographic location LocNode of the current node and the geographic location of the neighboring node.
- the storage of said VecToDist vector associated with the neighboring node is preferred because this solution makes it possible to avoid calculating the vector between the sending node and the current node each time a message is transmitted. Indeed, if the address of the sending node is present in the neighbors table, then the arrival vector VecArr is taken equal to the vector VecToDist associated with the neighboring node corresponding to the sending node.
- the neighbors table can be constructed and updated progressively, as messages are received by the current node from neighboring nodes.
- the neighbors table can be used directly, or only used after a certain number of neighboring nodes are listed in the neighbors table of the current node.
- [Eig.5] represents an example of steps for the implementation of decision step E4.
- the current node determines in step E41 a retransmission angle AngleVec as a function of the arrival vector VecArr and the destination vector VecDest.
- the current node compares this retransmission angle AngleVec with a routing angle AngleRouting, and based on this comparison, it is decided to transmit or not to transmit the message (in particular if the angle of retransmission is greater than the routing angle as detailed later).
- the arrival vector VecArr can be obtained by the current node as a function of the LocNode geographic location of the current node and the LocSender geographic location of the sending node, when the message carries the LocSender geographical location of the sending node.
- the arrival vector VecArr is obtained as a function of the data relating to the geographical location of the corresponding NdDist neighbor node.
- this data may correspond to the geographical location of the neighboring node LocDist or may correspond to the VecToDist vector collinear with the direction connecting the geographical location LocNode of the current node and the geographical location of the neighboring node LocDist.
- the retransmission angle AngleVec may in particular consist of an angle between the arrival vector VecArr and the destination vector VecDest, the arrival vector VecArr being obtained according to one of the means described above.
- the determination of the angle of re-emission AngleVec can be carried out by a scalar product which is a simple operation and inexpensive to carry out.
- the retransmission angle AngleVec can be determined for each NdDist neighbor node listed in the ListNdDist neighbor table.
- the current node decides to transmit the message following the comparison of the AngleVec retransmission angle with the AngleRouting routing angle, said NdDist neighbor node is added to a list of selected nodes ListNdSel.
- the retransmission angle AngleVec is greater than or equal to the routing angle AngleRouting for the respective neighbor node, that neighbor node NdDist is added to a list of selected nodes ListNdSel.
- the message is transmitted for all the neighboring nodes of the list of selected nodes ListNdSel.
- the AngleRouting routing angle is in particular fixed or adapted according to the topology of the network, for example according to the extent and/or density of the network.
- the AngleRouting routing angle can have a different value for different nodes in the network, or alternatively have the same value for all nodes in the network.
- the AngleRouting routing angle may in particular be constant data at the level of each node or may be determinable data as a function of at least one routing parameter, in particular carried by the message.
- the current node may include an EctAngleRouting function capable of determining the AngleRouting routing angle.
- the AngleRouting routing angle can be determined as a function of a number of hops NbHop of the message.
- the message can carry the parameter of the number of hops NbHop.
- the NbHop hop count can be initialized to 0 or alternatively to a maximum number of jumps.
- the number of NbHop hops can be respectively incremented by 1, or decremented by 1 each time the message is retransmitted by a node.
- the larger the number of NbHop hops, or smaller as the case may be the more the AngleRouting routing angle can be reduced accordingly. This characteristic makes it possible to further constrain the transmission of the message as it advances in the network. In other words, the message is transmitted more and more selectively as it gets closer to the destination.
- the AngleRouting routing angle can for example be initially set to 90°.
- the node can decide to transmit or not to transmit the message further depending on the number of hops.
- the number of hops NbHop when the number of hops NbHop is initialized to 0, the number of hops can be compared to a maximum number of hops NbHopMax, for example carried by the node or directly in the message. As long as the number of hops NbHop associated with the message is less than the maximum number of hops NbHopMax, the message can be retransmitted by the current node, otherwise the message is ignored.
- the NbHop hop count is initialized to a maximum hop count, as long as the NbHop hop count is not zero the message can be retransmitted by the current node, otherwise the message is ignored.
- the method according to the present disclosure can advantageously be implemented as soon as the number of NbHop hops of the message reaches a predetermined number of hops since the first transmission of the message, for example two jumps.
- the method further comprises, upon receipt of the message and prior to implementing the transmission of the message, checking the number of hops made by the message prior to receipt of the message by the current node.
- the transmission of the message according to the method of the present disclosure is implemented. This makes it possible to avoid being too restrictive from the initial transmission of the message and to be able to for example, bypassing potential obstacles.
- Each of the nodes can advantageously include a clock, in particular a synchronized clock.
- the clock allows you to implement a parameter constraining the lifespan of the message.
- the message may include an AgeMsg.
- the decision to transmit or not to transmit the message is made in particular based on the age of the AgeMsg message. More precisely, we define a duration of AgeLimit life carried by the message or specified in the current node. The age of the AgeMsg message is then compared to the AgeLimit lifetime. As long as the age of the AgeMsg message is less than the AgeLimit lifetime, the message can be retransmitted by the current node, otherwise the message is ignored.
- the message can also include a parameter relating to the urgency of the message. If the message is indicated as urgent, it can be processed by the current node according to a message priority protocol.
- These parameters namely the number of NbHop hops, the age of the AgeMsg message and/or the urgency parameter of the message, can be initialized by the transmitter of the message, or by the first node transmitting the message in the network.
- the node can include a table of processed messages TabMsg.
- TabMsg a table of processed messages
- the table of processed messages can preferably have a fixed size, and implement FIFO (“First In First Out”) type operation.
- the processed messages table can be cleaned based on the age of the processed messages, when the age of the message is accessible data. Other operations of the processed messages table can be considered.
- the LocSender geographic location of the sending node is updated to the LocNode geographic location of the current node.
- the network is preferably a mesh network, also referred to as a type network.
- messages in English, in particular a collaborative network (“crowd network”) or resilient network (“disaster network”).
- a collaborative network (“crowd network”) or resilient network (“disaster network”).
- nodes are connected peer-to-peer without a central hierarchy, with each node able to receive, send and retransmit a message.
- a message is thus transmitted by a source to arrive at a destination while being able to pass through intermediate nodes which receive and retransmit the message.
- the message can be transmitted from the source to the destination through nodes that do not have a direct communication link between them.
- the implementation of a mesh network makes it possible to increase the robustness of the network by avoiding having hotspots, which in the event of a breakdown, can hamper the operation of the network. This is because in a mesh network, if a node fails, the message can be transmitted via an alternative route.
- messages can be transmitted in a flooding mode, commonly referred to as “flooding” in English.
- a message is sent by a sending node without specifying the receiving node. So any listening node can receive the message and must process it.
- the message can then be retransmitted in a similar manner. Message retransmission stops when the receiving node matches the specified recipient node(s), or if other constraint parameters are reached, for example if a maximum hop count of the message is reached.
- the messages can be transmitted by a point-to-point mode, commonly referred to as “peer-to-peer” in English.
- peer-to-peer In this mode of message transmission, a message is sent by a sending node specifying the addresses of the recipient node(s). Thus, any listening node can ignore the message if it is not part of the recipient node(s).
- routes are predefined. The network must then provide for uninterrupted connections or alternatively alternative routes can be provided.
- node In the remainder of the description, a node will be described in more detail, the technical characteristics developed being able to apply to all the nodes of the network.
- the node is typically a small, energy-efficient piece of equipment.
- FIG.6 illustrates one of the nodes of the network.
- the node comprises a PROC processor and a MEM memory storing at least instructions of a computer program and accessible by the processor to implement the method as previously described when the PROC processor executes the program instructions.
- the MEM memory of the node notably includes a RAM and a storage memory.
- the MEM memory of the node stores the geographic location LocNode of the respective node and the AngleRouting routing angle or the function making it possible to determine the routing angle.
- the node's memory can store the neighbor table ListNdDist, the table of processed messages, and/or additional constraint parameters such as the maximum number of hops NbHopMax, the lifetime of the message AgeLimit , or a parameter relating to the urgency of the message.
- the table of processed messages can in particular be stored in a non-volatile memory of the node, namely a flash memory or a hard disk, depending on the needs of the network.
- the node comprises in particular a first communication interface C0M1 controlled by the processor PROC, in order to receive and transmit messages to other nodes in the network, in particular with neighboring nodes of the node considered.
- the first COM communication interface is controlled by the processor.
- the node may include a second communication interface COM2 controlled by the processor PROC, in order to receive and transmit routing data to other nodes in the network.
- the first and the second communication interface may in particular be the same.
- Each of the first and second communication interface COM1 and COM2 may preferably consist of an RF radio frequency communication interface allowing the nodes to communicate with each other without going through a central system.
- the communication interface can comply with 2G, 3G, 4G or 5G type standards according to 3GPP.
- Low energy consumption communication interfaces may in particular be favored, such as Lora, BLE or SigFox.
- Other D2D (“Device to Device”) type communication interfaces in 6G may also be considered in the future, provided that constraints in terms of cost and energy consumption allow it.
- At least certain nodes may include external sensors which can generate messages to be transmitted over the network (environmental sensors, counters).
- Each node may further comprise electrical power supply means, for example a battery, a wired power supply, solar panels, or a combination of these electrical supply means.
- electrical power supply means for example a battery, a wired power supply, solar panels, or a combination of these electrical supply means.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
La présente divulgation concerne un procédé de routage pour l'acheminement d'un message (3) via des nœuds (2) d'un réseau (1), dans lequel le message (3) comporte une donnée de destination géographique, et le procédé, mis en œuvre par un nœud courant du réseau (1), comprend : - sur réception d'un message comprenant ladite donnée de destination géographique, et issu d'un nœud émetteur, - décider de transmettre ou de ne pas transmettre le message en fonction d'une direction désirée de transmission du message déterminée en fonction de la donnée de destination géographique et d'une direction prise par le message entre le nœud émetteur et le nœud courant.
Description
Description
Titre de l'invention : Procédé de routage de messages dans un réseau maillé
Domaine technique
[0001] La présente divulgation relève du domaine du routage de messages dans un réseau, et en particulier du routage des messages dans un réseau maillé mettant en œuvre un mode de transmission par inondation.
Technique antérieure
[0002] Dans les réseaux IOT (« Internet of Things »), il est connu d’utiliser des réseaux maillés, également désigné réseau de type « mesh » en langue anglaise. Dans le réseau maillé, les nœuds sont connectés pair à pair sans hiérarchie centrale, chacun des nœuds pouvant recevoir, envoyer et retransmettre un message. La mise en œuvre d’un réseau maillé permet d’augmenter la robustesse du réseau en évitant d’avoir des points névralgiques, qui en cas de panne, peuvent gêner le fonctionnement du réseau. En effet, dans un réseau maillé, si un nœud tombe en panne, le message peut être transmis via une route alternative.
[0003] Au sein d’un tel réseau maillé, les messages peuvent être transmis selon un mode inondation, couramment désigné « flooding » en langue anglaise. L’inondation consiste à inonder le réseau avec les messages en espérant que ceux-ci arrivent à destination. Cette technique peut être utilisée pour le routage de message, ou encore pour la découverte de routes dans le réseau, par exemple selon le protocole AODV (« Ad hoc On Demand Distance Vector »). Cette technique d’inondation du réseau permet de ne pas avoir à entretenir de tables de routage et d’être réactif à un changement d’architecture du réseau, par exemple dans le cas d’un ajout d’un nouveau nœud, de la mise en œuvre de nœuds mobile, ou encore en cas de panne et/ou d’attaque.
[0004] Toutefois, le mode de transmission par inondation dans un réseau maillé présente l’inconvénient de favoriser la congestion du réseau et peut présenter un impact énergétique non-négligeable. Il est recherché des méthodes de routage qui soient moins énergivores et qui permettent de limiter les risques de saturation du réseau.
Résumé
[0005] La présente divulgation vient améliorer la situation.
[0006] Il est proposé un procédé de routage pour l’acheminement d’un message via des nœuds d’un réseau, dans lequel le message comporte une donnée de destination géographique, et le procédé, mis en œuvre par un nœud courant du réseau, comprend :
- sur réception d’un message comprenant ladite donnée de destination géographique, et issu d’un nœud émetteur,
- décider de transmettre ou de ne pas transmettre le message en fonction d’une direction désirée de transmission du message déterminée en fonction de la donnée de destination géographique et d’une direction prise par le message entre le nœud émetteur et le nœud courant.
[0007] On entend par « donnée de destination géographique », une donnée permettant de localiser dans l’espace une destination du message. On entend par « direction », une direction dans l’espace entre les localisations géographiques concernées.
[0008] L’utilisation de la donnée de destination géographique permet avantageusement d’effectuer un routage géographique des messages. Le procédé selon la présente divulgation permet avantageusement de ne retransmettre que les messages orientés spatialement vers la destination. Ceci permet d’améliorer la sécurisation de la transmission des messages car les messages sont transmis de manière plus sélective vers la destination. En effet, le fait de ne pas diffuser des messages inutilement, notamment vers des mauvaises directions permet d’améliorer la sécurité de la transmission des messages. De plus, le procédé permet de limiter le nombre de retransmission des messages avant l’arrivée à destination. Ceci permet d’une part de limiter la saturation du réseau en réduisant l’effet de vague, et d’autre part, de limiter la consommation des différents éléments du réseau et donc de réduire l’impact énergétique de la transmission de messages.
[0009] Une localisation géographique est associée à chacun des nœuds. Chacun des nœuds du réseau a notamment connaissance de sa localisation géographique déterminée par le nœud lui-même ou transmis par le réseau. La localisation géographique de chacun des nœuds peut notamment comprendre des coordonnées spatiales d’un point associé au nœud, par exemple un jeu de coordonnées tridimensionnelles dudit point. A chacun des jeux de coordonnées tridimensionnelles peut être associé un rayon d’incertitude autour de ce point. Chacun des nœuds peut comprendre des moyens pour déterminer sa localisation, par exemple des moyens de géolocalisation tel que la triangulation.
[0010] Les caractéristiques exposées dans les paragraphes suivants peuvent, option- nellement, être mises en œuvre, indépendamment les unes des autres ou en combinaison les unes avec les autres :
[0011] La donnée de destination géographique peut comprendre un point de destination présentant des coordonnées spatiales, auquel peut être associé un rayon de tolérance. Le ou les nœuds destinataires correspondent alors aux nœuds situés dans le rayon de tolérance autour du point de destination.
[0012] De manière avantageuse, le procédé comprend :
- déterminer la direction désirée de transmission du message comportant la détermination d’un vecteur de destination colinéaire à la direction reliant la localisation géographique du nœud courant et la destination géographique,
- déterminer la direction prise par le message comportant l’obtention d’un vecteur d’arrivée colinéaire à la direction reliant la localisation géographique du nœud courant et la localisation géographique du nœud émetteur.
[0013] Avantageusement, décider de transmettre ou de ne pas transmettre le message comprend la comparaison d’un angle de réémission, déterminé en fonction du vecteur d’arrivée et du vecteur de destination, avec un angle de routage.
[0014] L’angle de routage peut être fixé ou adapté en fonction de la topologie du réseau, par exemple en fonction de l’étendue et/ou de la densité du réseau.
[0015] Optionnellement, l’angle de routage est une donnée constante.
[0016] Optionnellement, l’angle de routage est une donnée déterminable en fonction d’au moins un paramètre de routage porté par le message. Cette caractéristique permet de contraindre davantage la transmission du message au fur et à mesure que ce dernier avance dans le réseau. Autrement dit, le message est transmis de manière de plus en plus sélective lorsqu’il se rapproche de la destination.
[0017] Optionnellement, le message peut porter la localisation géographique du nœud émetteur.
[0018] Optionnellement, le message porte une adresse du nœud émetteur et le nœud courant comprend une table, dite table des voisins, listant des nœuds voisins au nœud courant, chaque nœud voisin étant identifié par une adresse et à chaque nœud voisin étant associée une donnée relative à la localisation géographique du nœud voisin respectif. On entend par « nœuds voisins » les nœuds pouvant entrer directement en communication avec le nœud courant. Le vecteur d’arrivée est obtenu en fonction de la table des voisins lorsque l’adresse du nœud émetteur est présente dans la table des voisins. La table des voisins permet avantageusement de construire une topologie de routage des messages par un nœud courant en fonction des nœuds voisins à ce nœud courant. On entend notamment par topologie de routage, l’ensemble des directions admissibles de retransmission d’un message par le nœud courant en fonction de la position géographique des nœuds voisins au nœud courant.
[0019] La donnée relative à la localisation géographique du nœud voisin respectif peut consister en une localisation géographique du nœud voisin ou alternativement peut correspondre à un vecteur colinéaire à la direction reliant la localisation géographique du nœud courant et la localisation géographique du nœud voisin. Le stockage dudit vecteur associé au nœud voisin permet avantageusement d’éviter de calculer le vecteur entre le nœud émetteur et le nœud courant à chaque nouvelle transmission d’un message.
[0020] Avantageusement, le nœud émetteur est le dernier nœud ayant transmis le message au nœud courant. On entend par le dernier nœud ayant transmis le message au nœud courant, le nœud ayant transmis le message au nœud courant en dernier dans une
chaîne de transmission du message.
[0021] De manière avantageuse, le message comprend un nombre de sauts et la décision de transmettre ou de ne pas transmettre le message est réalisée en outre en fonction du nombre de sauts.
[0022] Lorsque le message comprend un nombre de sauts, le procédé peut avantageusement être mis en œuvre dès lors que le nombre de sauts du message atteint un nombre de sauts prédéterminé depuis la première émission du message, par exemple deux sauts. Autrement dit, le procédé comporte en outre, à réception du message et préalablement à la mise en œuvre de la transmission du message, la vérification du nombre de sauts réalisés par le message préalablement à la réception du message par le nœud courant. Lorsque le nombre de sauts réalisés est égale à un nombre de sauts prédéterminé, la transmission du message selon le procédé de la présente divulgation est mise en œuvre. Ceci permet d’éviter d’être trop restrictif dès l’émission initiale du message et de pouvoir par exemple contourner de potentiels obstacles.
[0023] Le message peut avantageusement comprendre un âge et la décision de transmettre ou de ne pas transmettre le message est réalisée en fonction de l’âge du message.
[0024] Selon un autre aspect, il est proposé un nœud d’un réseau pour le procédé tel que précédemment décrit.
[0025] Selon un autre aspect, il est proposé un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie d’un procédé tel que défini dans les présentes lorsque ce programme est exécuté par un processeur. Selon un autre aspect, il est proposé un support d’enregistrement non transitoire, lisible par un ordinateur, sur lequel est enregistré un tel programme.
Brève description des dessins
[0026] D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : Fig. l
[0027] [Fig.l] montre un exemple de réseau de nœuds pour la mise en œuvre du procédé ci- avant, selon un mode de réalisation.
Fig. 2
[0028] [Fig.2] montre un exemple d’étapes du procédé tel que défini ci-avant, selon un mode de réalisation.
Fig. 3
[0029] [Fig.3] montre un exemple d’étapes du procédé tel que défini ci-avant, selon un mode de réalisation.
Fig. 4
[0030] [Fig.4] illustre deux exemples A et B de topologie de routage d’un nœud courant
pour la mise en œuvre du procédé ci-avant, selon un mode de réalisation.
Fig. 5
[0031] [Fig.5] montre un exemple d’étapes du procédé tel que défini ci-avant, selon un mode de réalisation.
Fig. 6
[0032] [Fig.6] illustre schématiquement un nœud selon un mode de réalisation.
Description des modes de réalisation
[0033] Il est maintenant fait référence à la [Fig.1] représentant schématiquement un réseau 1 ayant des nœuds 2, également classiquement désignés « hôtes ». On s’intéresse en particulier au routage de messages dans un tel réseau 1. Une localisation géographique est associée à chacun des nœuds. Chacun des nœuds du réseau a notamment connaissance de sa localisation géographique. La localisation géographique de chacun des nœuds peut notamment comprendre des coordonnées spatiales d’un point associé au nœud, par exemple un jeu de coordonnées tridimensionnelles dudit point. A chacun des jeux de coordonnées tridimensionnelles peut être associé un rayon d’incertitude autour de ce point. Chacun des nœuds peut comprendre des moyens pour déterminer sa localisation, par exemple des moyens de géolocalisation tel que la triangulation.
[0034] Selon un aspect, la présente divulgation concerne un procédé de routage pour l’acheminement d’un message, aussi désigné paquet, via des nœuds du réseau. Le message comporte une donnée de destination géographique LocDest. Le message est classiquement formé de données, désignées « payload » en langue anglaise et correspondant au contenu du message à transmettre, et de données de routage, désignées « routing data » en langue anglaise, permettant la gestion de l’acheminement du message dans le réseau. On s’intéresse ici plus particulièrement aux données de routage du message comprenant ladite donnée de destination géographique LocDest.
[0035] Plus précisément, le message est acheminé depuis une source S vers une destination D. La « source » du message peut correspondre à un nœud du réseau, à une entité connectée à l’un des nœuds du réseau et lui demandant de transmettre le message. Par exemple, un utilisateur peut se connecter à un nœud à travers une interface d’un smartphone. On entend par « destination », une destination géographique qui est représentée par la donnée de destination géographique, et qui peut couvrir un ou plusieurs nœuds destinataires. La donnée de destination géographique peut comprendre un point de destination présentant des coordonnées spatiales, auquel peut être associé un rayon de tolérance. Le ou les nœuds destinataires correspondent alors aux nœuds situés dans le rayon de tolérance autour du point de destination. L’utilisation de la donnée de destination géographique permet avantageusement d’effectuer un routage géographique des messages. On entend par « routage géographique », un routage dans
l’espace des messages.
[0036] La [Fig.2] représente un diagramme schématique du procédé mis en œuvre par un nœud courant du réseau. Le procédé comprend :
- sur réception El d’un message comprenant ladite donnée de destination géographique LocDest, et issu d’un nœud émetteur,
- décider E4 de transmettre ou de ne pas transmettre le message en fonction d’une direction désirée de transmission du message déterminée en fonction de la donnée de destination géographique LocDest et d’une direction prise par le message entre le nœud émetteur et le nœud courant.
[0037] On entend par « direction », une direction dans l’espace entre les localisations géographiques concernées.
[0038] Le procédé selon la présente divulgation permet avantageusement de ne retransmettre que les messages orientés spatialement vers la destination. Ceci permet d’améliorer la sécurisation de la transmission des messages car les messages sont transmis de manière plus sélective vers la destination. En effet, le fait de ne pas diffuser des messages inutilement, notamment vers des mauvaises directions permet d’améliorer la sécurité de la transmission des messages. De plus, le procédé permet de limiter le nombre de retransmission des messages avant l’arrivée à destination. Ceci permet d’une part de limiter la saturation du réseau en réduisant l’effet de vague, et d’autre part, de limiter la consommation des différents éléments du réseau et donc de réduire l’impact énergétique de la transmission de messages.
[0039] La détermination de la direction prise et de la direction désirée peut être réalisée directement par le nœud courant, ou alternativement par un calculateur avec lequel le nœud courant est en communication par exemple.
[0040] Le nœud émetteur est de préférence le dernier nœud ayant transmis le message au nœud courant. On entend par le dernier nœud ayant transmis le message au nœud courant, le nœud ayant transmis le message au nœud courant en dernier dans une chaîne de transmission du message. Alternativement, le nœud émetteur peut correspondre à un nœud ayant émis le message au nœud courant via au moins un autre nœud. Le nœud émetteur peut par exemple correspondre à un nœud source du message. On peut noter que plus le nœud émetteur est pris en amont de la chaîne de transmission des messages, plus l’estimation de la direction prise sera précise. Cependant, utiliser le dernier nœud ayant transmis le message comme nœud émetteur est une solution pragmatique et simple à implémenter.
[0041] En outre, en référence à la [Fig.3], le procédé comprend avantageusement :
- déterminer E2 la direction désirée de transmission du message,
- déterminer E3 la direction prise par le message.
[0042] En référence à la [Fig.1], la détermination de la direction désirée de transmission du
message peut comprendre la détermination d’un vecteur de destination VecDest en fonction de la localisation géographique LocNode du nœud courant et de la destination géographique LocDest. Le vecteur de destination VecDest est notamment déterminé de sorte à être colinéaire à la direction reliant la localisation géographique LocNode du nœud courant et la destination géographique LocDest.
[0043] La direction prise par le message entre le nœud émetteur et le nœud courant est notamment déterminée en fonction de la localisation géographique LocSender du nœud émetteur et de la localisation géographique LocNode du nœud courant. Plus précisément, la détermination de la direction prise par le message peut comprendre l’obtention d’un vecteur d’arrivée VecArr colinéaire à la direction reliant la localisation géographique LocNode du nœud courant et la localisation géographique LocSender du nœud émetteur.
[0044] A cette fin, le message peut porter la localisation géographique LocSender du nœud émetteur. Ledit vecteur d’arrivée VecArr peut être calculé à chaque fois qu’un message est transmis au nœud courant par un nœud émetteur.
[0045] Alternativement, en référence aux figures 4A et 4B, le message peut comprendre une adresse du nœud émetteur et le nœud courant peut comprendre une table listant des nœuds voisins au nœud courant, dite table des voisins ListNdDist. On entend par « nœud voisin » les nœuds pouvant entrer directement en communication avec le nœud courant. Chacun des nœuds de la table des voisins peut être identifié par une adresse NdDist. A chaque nœud voisin est associée une donnée relative à la localisation géographique du nœud voisin respectif. Si l’adresse du nœud émetteur est présente dans la table des voisins, alors le vecteur d’arrivée VecArr est obtenu en fonction de la table des voisins ListNdDist. Plus précisément, le vecteur d’arrivée VecArr est obtenu en fonction de la donnée relative à la localisation géographique du nœud voisin correspondant au nœud émetteur.
[0046] La table des voisins permet ainsi de construire une topologie de routage des messages par un nœud courant en fonction des nœuds voisins à ce nœud courant. On entend notamment par topologie de routage, l’ensemble des directions admissibles de retransmission d’un message par le nœud courant en fonction de la position géographique des nœuds voisins au nœud courant.
[0047] Les parties A et B de la [Fig.4] représentent deux exemples de parties d’un réseau comprenant des nœuds 2 dont un nœud courant et des nœuds voisins, à savoir trois nœuds voisins pour la [Fig.4]-A et deux nœuds voisins pour la [Fig.4]-B. Sont représentées en zones hachurées 4 ledit ensemble des directions admissibles. En référence à la [Fig.4]-A, la direction désirée de transmission du message est compatible avec la topologie de routage du nœud courant, le message peut être transmis au nœud voisin concerné. En référence à la [Fig.4]-B, la direction désirée de transmission du
message est incompatible avec la topologie de routage du nœud courant, le message n’est pas retransmis.
[0048] De plus, la donnée relative à la localisation géographique du nœud voisin respectif peut consister en une localisation géographique du nœud voisin LocDist ou peut correspondre à un vecteur VecToDist colinéaire à la direction reliant la localisation géographique LocNode du nœud courant et la localisation géographique du nœud voisin.
[0049] Le stockage dudit vecteur VecToDist associé au nœud voisin est préféré car cette solution permet d’éviter de calculer le vecteur entre le nœud émetteur et le nœud courant à chaque nouvelle transmission d’un message. En effet, si l’adresse du nœud émetteur est présente dans la table des voisins, alors le vecteur d’arrivée VecArr est pris égal au vecteur VecToDist associé au nœud voisin correspondant au nœud émetteur.
[0050] La table des voisins peut être construite et mise à jour progressivement, au fur et à mesure de la réception de messages par le nœud courant provenant de nœuds voisins.
[0051] La table des voisins peut être directement utilisée, ou n’être utilisée qu’ après qu’un certain nombre de nœuds voisins sont répertoriés dans la table des voisins du nœud courant.
[0052] Par ailleurs, la [Eig.5] représente un exemple d’étapes pour la mise en œuvre de l’étape de décision E4. Le nœud courant détermine à l’étape E41 un angle de réémission AngleVec en fonction du vecteur d’arrivée VecArr et du vecteur de destination VecDest. A l’étape E42, le nœud courant compare ensuite cet angle de réémission AngleVec avec un angle de routage AngleRouting, et en fonction de cette comparaison, il est décidé de transmettre ou de ne pas transmettre le message (en particulier si l’angle de réémission est supérieur à l’angle de routage comme détaillé plus loin).
[0053] Le vecteur d’arrivée VecArr peut être obtenu par le nœud courant en fonction de la localisation géographique LocNode du nœud courant et la localisation géographique LocSender du nœud émetteur, lorsque le message porte la localisation géographique LocSender du nœud émetteur.
[0054] Lorsque le nœud courant comprend la table des voisins ListNdDist et que le message porte l’adresse NdDist du nœud émetteur, le vecteur d’arrivée VecArr est obtenu en fonction de la donnée relative à la localisation géographique du nœud voisin NdDist correspondant. Pour rappel, cette donnée peut correspondre à la localisation géographique du nœud voisin LocDist ou peut correspondre au vecteur VecToDist colinéaire à la direction reliant la localisation géographique LocNode du nœud courant et la localisation géographique du nœud voisin LocDist.
[0055] L’angle de réémission AngleVec peut en particulier consister en un angle entre le vecteur d’arrivée VecArr et le vecteur de destination VecDest, le vecteur d’arrivée
VecArr étant obtenu selon l’un des moyens décrits précédemment. La détermination de l’angle de réémission AngleVec peut être réalisée par un produit scalaire qui est une opération simple est peu coûteuse à réaliser.
[0056] En particulier, si l’angle de réémission AngleVec est supérieur ou égal à l’angle de routage AngleRouting, le message est retransmis par le nœud courant. A l’inverse, si l’angle de réémission AngleVec est inférieur à l’angle de routage AngleRouting, le message n’est pas retransmis par le nœud courant. Ceci permet d’éviter de transmettre le message vers des nœuds qui ne sont pas localisés dans la direction de la destination par rapport au nœud courant et donc de limiter voire de ne pas du tout saturer le réseau. De plus, cette solution offre l’avantage de permettre des économies énergétiques et d’assuré une disponibilité du réseau.
[0057] Lorsque le nœud courant comprend la table des voisins ListNdDist, l’angle de réémission AngleVec peut être déterminé pour chaque nœud voisin NdDist listé dans la table des voisins ListNdDist. Lorsque, pour l’un des nœuds voisins NdDist, le nœud courant décide de transmettre le message suite à la comparaison de l’angle de réémission AngleVec avec l’angle de routage AngleRouting, ledit nœud voisin NdDist est ajouté à une liste de nœuds sélectionnés ListNdSel. Plus précisément, lorsque l’angle de réémission AngleVec est supérieur ou égal à l’angle de routage AngleRouting pour le nœud voisin respectif, ce nœud voisin NdDist est ajouté à une liste de nœuds sélectionnés ListNdSel.
[0058] Ensuite, le message est transmis pour tous les nœuds voisins de la liste de nœuds sélectionnés ListNdSel. Cette caractéristique permet d’améliorer l’efficacité du traitement des messages, en effectuant, lorsque cela est approprié, dans un premier temps, la sélection des nœuds voisins auxquels le message sera transmis, puis dans un second temps, l’envoi des messages aux nœuds voisins sélectionnés.
[0059] L’angle de routage AngleRouting est notamment fixé ou adapté en fonction de la topologie du réseau, par exemple en fonction de l’étendue et/ou de la densité du réseau. L’angle de routage AngleRouting peut présenter une valeur différente pour des nœuds différents du réseau, ou alternativement avoir une même valeur pour tous les nœuds du réseau.
[0060] De plus, l’angle de routage AngleRouting peut notamment être une donnée constante au niveau de chaque nœud ou peut être une donnée déterminable en fonction d’au moins un paramètre de routage, notamment porté par le message. A cette fin, le nœud courant peut comprendre une fonction EctAngleRouting apte à déterminer l’angle de routage AngleRouting.
[0061] A titre d’exemple, l’angle de routage AngleRouting peut être déterminé en fonction d’un nombre de sauts NbHop du message. A cette fin, le message peut porter le paramètre du nombre de sauts NbHop. Le nombre de saut NbHop peut être initialisé à
0 ou alternativement à un nombre de sauts maximal. Alors, le nombre de sauts NbHop peut être respectivement incrémenté de 1, ou décrémenté de 1 à chaque retransmission du message par un nœud. En particulier, plus le nombre de sauts NbHop est grand, ou petit selon le cas, plus l’angle de routage AngleRouting peut être réduit en conséquence. Cette caractéristique permet de contraindre davantage la transmission du message au fur et à mesure que ce dernier avance dans le réseau. Autrement dit, le message est transmis de manière de plus en plus sélective lorsqu’il se rapproche de la destination.
[0062] L’angle de routage AngleRouting peut par exemple être initialement fixé à 90°.
[0063] De plus, des paramètres de contrainte supplémentaires peuvent être implémentés afin d’influer sur le pilotage de la transmission dudit message.
[0064] Lorsque le message comprend un nombre de sauts NbHop, le nœud peut décider de transmettre ou de ne pas transmettre le message en outre en fonction du nombre de sauts.
[0065] Par exemple, lorsque le nombre de sauts NbHop est initialisé à 0, le nombre de sauts peut être comparé à un nombre maximal de sauts NbHopMax, par exemple porté par le nœud ou directement dans le message. Tant que le nombre de sauts NbHop associé au message est inférieur au nombre de sauts maximal NbHopMax, le message peut être retransmis par le nœud courant, sinon le message est ignoré. Alternativement, lorsque le nombre de sauts NbHop est initialisé à un nombre de sauts maximal, tant que le nombre de sauts NbHop n’est pas nul le message peut être retransmis par le nœud courant, sinon le message est ignoré.
[0066] Lorsque le message comprend un nombre de sauts NbHop, le procédé selon la présente divulgation peut avantageusement être mis en œuvre dès lors que le nombre de sauts NbHop du message atteint un nombre de sauts prédéterminé depuis la première émission du message, par exemple deux sauts. Autrement dit, le procédé comporte en outre, à réception du message et préalablement à la mise en œuvre de la transmission du message, la vérification du nombre de sauts réalisés par le message préalablement à la réception du message par le nœud courant. Lorsque le nombre de sauts réalisés est égale à un nombre de sauts prédéterminé, la transmission du message selon le procédé de la présente divulgation est mise en œuvre Ceci permet d’éviter d’être trop restrictif dès l’émission initiale du message et de pouvoir par exemple contourner de potentiels obstacles.
[0067] Chacun des nœuds peut avantageusement comprendre une horloge, en particulier une horloge synchronisée. L’horloge permet d’implémenter un paramètre contraignant la durée de vie du message. En particulier, le message peut comprendre un âge AgeMsg. La décision de transmettre ou de ne pas transmettre le message est notamment réalisée en fonction de l’âge du message AgeMsg. Plus précisément, on définit une durée de
vie AgeLimit portée par le message ou spécifiée dans le nœud courant. L’âge du message AgeMsg est alors comparé à la durée de vie AgeLimit. Tant que l’âge du message AgeMsg est inférieur à la durée de vie AgeLimit, le message peut être retransmis par le nœud courant, sinon le message est ignoré.
[0068] Le message peut aussi comprendre un paramètre relatif à l’urgence du message. Si le message est indiqué comme étant urgent, il pourra être traité par le nœud courant selon un protocole de priorité des messages.
[0069] Ces paramètres, à savoir le nombre de sauts NbHop, l’âge du message AgeMsg et/ou le paramètre d’urgence du message, peuvent être initialisés par l’émetteur du message, ou par le premier nœud émettant le message dans le réseau.
[0070] De plus, le nœud peut comprendre une table des messages traités TabMsg. Ainsi, lorsqu’un message est transmis au nœud courant, si ce message est identifié comment faisant partie des messages traités, le message sera ignoré par le nœud, sinon il sera traité par le nœud courant. Cette étape préalable permet d’éviter à un nœud de traiter plusieurs fois le même message.
[0071] La table des messages traités peut de préférence présenter une taille fixe, et implémenter un fonctionnement de type FIFO (« First In First Out »). Alternativement, la table des messages traités peut être nettoyée en fonction de l’âge des messages traités, lorsque l’âge du message est une donnée accessible. D’autres fonctionnements de la table des messages traités peuvent être envisagés.
[0072] Dans le cas où le nœud courant décide de transmettre le message, avant la réémission du message, la localisation géographique LocSender du nœud émetteur est mise à jour à la localisation géographique LocNode du nœud courant.
[0073] Le réseau est de préférence un réseau maillé, également désigné réseau de type
« mesh » en langue anglaise, en particulier un réseau collaboratif (« crowd network ») ou résiliant (« disaster network »). Dans le réseau maillé, les nœuds sont connectés pair à pair sans hiérarchie centrale, chacun des nœuds pouvant recevoir, envoyer et retransmettre un message. Dans un tel réseau, un message est ainsi transmis par une source pour arriver à une destination en pouvant passer par des nœuds intermédiaires qui reçoivent et retransmettent le message. Autrement dit, le message peut être transmis à partir de la source vers la destination par l’intermédiaire de nœuds n’ayant pas de lien de communication direct entre eux. La mise en œuvre d’un réseau maillé permet d’augmenter la robustesse du réseau en évitant d’avoir des points névralgiques, qui en cas de panne, peuvent gêner le fonctionnement du réseau. En effet, dans un réseau maillé, si un nœud tombe en panne, le message peut être transmis via une route alternative.
[0074] Au sein du réseau, les messages peuvent être transmis selon un mode inondation, couramment désigné « flooding » en langue anglaise. Dans ce mode de transmission,
un message est émis par un nœud émetteur sans spécification du nœud récepteur. Ainsi, tout nœud qui écoute peut recevoir le message et doit le traiter. Le message peut alors être réémis de façon similaire. La retransmission du message s’arrête lorsque le nœud récepteur correspond au nœud ou aux nœuds destinataires spécifié(s), ou si d’autres paramètres de contrainte sont atteints, par exemple si un nombre de sauts maximal du message est atteint.
[0075] Alternativement, les messages peuvent être transmis par un mode point à point, couramment désigné « peer-to-peer » en langue anglaise. Dans ce mode de transmission des messages, un message est émis par un nœud émetteur en spécifiant les adresses du ou des nœuds destinataires. Ainsi, tout nœud qui écoute peut ignorer le message s’il ne fait pas partie du ou des nœuds destinataires. Dans le mode point à point, les routes sont prédéfinies. Le réseau doit alors prévoir des connexions sans interruption ou alternativement des routes alternatives peuvent être prévues.
[0076] Dans la suite de la description, un nœud sera décrit plus en détails, les caractéristiques techniques développées pouvant s’appliquer à l’ensemble des nœuds du réseau. Le nœud est classiquement un petit équipement peu énergivore.
[0077] La [Fig.6] illustre l’un des nœuds du réseau. Le nœud comprend un processeur PROC et une mémoire MEM stockant au moins des instructions d’un programme informatique et accessible par le processeur pour mettre en œuvre le procédé tel que précédemment décrit lorsque le processeur PROC exécute les instructions du programme. La mémoire MEM du nœud comprend notamment une mémoire vive et une mémoire de stockage.
[0078] La mémoire MEM du nœud stocke la localisation géographique LocNode du nœud respectif et l’angle de routage AngleRouting ou la fonction permettant de déterminer l’angle de routage.
[0079] Lorsque cela est approprié, la mémoire du nœud peut stocker la table de voisins ListNdDist, la table des messages traités, et/ou des paramètres de contrainte supplémentaires tels que le nombre de sauts maximal NbHopMax, la durée de vie du message AgeLimit, ou encore un paramètre relatif à l’urgence du message. La table des messages traités peut notamment être stockée dans une mémoire non volatile du nœud, à savoir une mémoire flash ou un disque dur, en fonction des besoins du réseau.
[0080] Par ailleurs, le nœud comprend en particulier une première interface de communication C0M1 pilotée par le processeur PROC, afin de recevoir et de transmettre des messages à d’autres nœuds du réseau, en particulier avec les nœuds voisins du nœud considéré. La première interface de communication COM est pilotée par le processeur.
[0081] Le nœud peut comprendre une deuxième interface de communication COM2 pilotée par le processeur PROC, afin de recevoir et de transmettre des données de routage à d’autres nœuds du réseau.
[0082] La première et la deuxième interface de communication peuvent notamment être les mêmes.
[0083] Chacune de la première et de la deuxième interface de communication COM1 et COM2 peut de préférence consister en une interface de communication par radiofréquence RF permettant aux nœuds de communiquer entre eux sans passer par un système central. A titre d’exemple non-limitatif, l’interface de communication peut respecter les normes de type 2G, 3G, 4G ou 5G selon le 3GPP. Des interfaces de communication à basse consommation d’énergie peuvent notamment être privilégiées, tel que Lora, BLE ou encore SigFox. D’autres interfaces de communication de type D2D (« Device to Device ») en 6G pourront également être envisagées à l’avenir, entendu que les contraintes en termes de coût et de consommation d’énergie le permettent.
[0084] En outre, au moins certains nœuds peuvent comprendre des capteurs externes qui peuvent générer des messages à transmettre sur le réseau (capteurs environnementaux, compteurs).
[0085] Chaque nœud peut en outre comprendre des moyens d’alimentation électrique, par exemple une batterie, une alimentation filaire, des panneaux solaires, ou une combinaison de ces moyens d’alimentation électrique.
Claims
[Revendication 1] Procédé de routage pour F acheminement d’un message (3) via des nœuds (2) d’un réseau (1), dans lequel le message (3) comporte une donnée de destination géographique (LocDest), et le procédé, mis en œuvre par un nœud courant du réseau (1), comprend :
- sur réception (El) d’un message comprenant ladite donnée de destination géographique, et issu d’un nœud émetteur,
- décider (E4) de transmettre ou de ne pas transmettre le message en fonction d’une direction désirée de transmission du message déterminée en fonction de la donnée de destination géographique (LocDest) et d’une direction prise par le message entre le nœud émetteur et le nœud courant.
[Revendication 2] Procédé selon la revendication 1, comprenant :
- déterminer (E2) la direction désirée de transmission du message comportant la détermination d’un vecteur de destination (VecDest) colinéaire à la direction reliant une localisation géographique (LocNode) du nœud courant et la destination géographique (LocDest) ,
- déterminer (E3) la direction prise par le message comportant l’obtention d’un vecteur d’arrivée (VecArr) colinéaire à la direction reliant la localisation géographique (LocNode) du nœud courant et la localisation géographique (LocSender) du nœud émetteur.
[Revendication 3] Procédé selon la revendication précédente, dans lequel décider (E4) de transmettre ou de ne pas transmettre le message comprend la comparaison (E42) d’un angle de réémission (AngleVec), déterminé (E41) en fonction du vecteur d’arrivée (VecArr) et du vecteur de destination (VecDest), avec un angle de routage (AngleRouting).
[Revendication 4] Procédé selon la revendication 3, dans lequel l’angle de routage (AngleRouting) est une donnée constante.
[Revendication 5] Procédé selon la revendication 3, dans lequel l’angle de routage (AngleRouting) est une donnée déterminable en fonction d’au moins un paramètre de routage porté par le message.
[Revendication 6] Procédé selon l’une des revendications précédentes, dans lequel le message porte une localisation géographique (LocSender) du nœud émetteur.
[Revendication 7] Procédé selon l’une des revendications précédentes, dans lequel le message porte une adresse du nœud émetteur et le nœud courant comprend une table, dite table des voisins (ListNdDist), listant les
nœuds voisins au nœud courant, chaque nœud voisin étant identifié par une adresse (NdDist) et à chaque nœud voisin étant associée une donnée relative à une localisation géographique du nœud voisin respectif, le vecteur d’arrivée (VecArr) étant obtenu en fonction de la table des voisins (ListNdDist) lorsque l’adresse du nœud émetteur est présente dans la table des voisins (ListNdDist).
[Revendication 8] Procédé selon l’une des revendications précédentes, dans lequel le nœud émetteur est le dernier nœud ayant transmis le message au nœud courant.
[Revendication 9] Procédé selon l’une des revendications précédentes, dans lequel le message comprend un nombre de sauts (NbHop) et la décision (E4) de transmettre ou de ne pas transmettre le message est réalisée en outre en fonction du nombre de sauts (NbHop).
[Revendication 10] Procédé selon la revendication précédente, dans lequel le procédé est mis en œuvre dès lors que le nombre de sauts (NbHop) du message atteint un nombre de sauts prédéterminé depuis la première émission du message.
[Revendication 11] Procédé selon l’une des revendications précédentes, dans lequel le message comprend un âge (AgeMsg) et la décision (E4) de transmettre ou de ne pas transmettre le message est réalisée en fonction de l’âge du message (AgeMsg).
[Revendication 12] Nœud (2) d’un réseau (1) pour le procédé selon l’une quelconque des revendications précédentes.
[Revendication 13] Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 11 lorsque ce programme est exécuté par un processeur (PROC).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2214496A FR3144476A1 (fr) | 2022-12-26 | 2022-12-26 | Procédé de routage de messages dans un réseau maillé |
| PCT/EP2023/086937 WO2024141371A1 (fr) | 2022-12-26 | 2023-12-20 | Procédé de routage de messages dans un réseau maillé |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4643580A1 true EP4643580A1 (fr) | 2025-11-05 |
Family
ID=86657083
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23837231.2A Pending EP4643580A1 (fr) | 2022-12-26 | 2023-12-20 | Procédé de routage de messages dans un réseau maillé |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4643580A1 (fr) |
| FR (1) | FR3144476A1 (fr) |
| WO (1) | WO2024141371A1 (fr) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5057408B2 (ja) * | 2007-06-22 | 2012-10-24 | フランス・テレコム | 車両ネットワークに属するソースノードと宛先ノードとの間の通信方法 |
| JP2013527713A (ja) * | 2010-05-21 | 2013-06-27 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データパケット転送方法及び装置 |
| FR3005384B1 (fr) * | 2013-05-02 | 2015-06-19 | Thales Sa | Module de routage ; circuit logique programmable, noeud, reseau maille de communication et procede de routage associes. |
-
2022
- 2022-12-26 FR FR2214496A patent/FR3144476A1/fr active Pending
-
2023
- 2023-12-20 EP EP23837231.2A patent/EP4643580A1/fr active Pending
- 2023-12-20 WO PCT/EP2023/086937 patent/WO2024141371A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024141371A1 (fr) | 2024-07-04 |
| FR3144476A1 (fr) | 2024-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3804408B1 (fr) | Procédé de sélection d'une route dans un réseau ad hoc | |
| FR2978003A1 (fr) | Procede de routage d'un flux en mode non-stockage | |
| FR2973981A1 (fr) | Procede pour optimiser les capacites d"un reseau de telecommunication de type ad-hoc | |
| EP2070276B1 (fr) | Procédé pour évaluer la fiabilité d'une route dans un réseau coopératif | |
| EP2502384B1 (fr) | Procede et systeme pour distribuer du contenu avec des garanties de delais de livraison dans les reseaux radio hybrides | |
| US9882811B1 (en) | Community based network protocols | |
| US20160156714A1 (en) | Content placement in an information centric network | |
| Shah et al. | An optimized load balancing probabilistic protocol for delay tolerant networks | |
| US7577107B2 (en) | Protocol specification for message-initiated constraint-based routing | |
| EP2997717A1 (fr) | Procede et dispositif de selection d'interface de communication | |
| WO2024141371A1 (fr) | Procédé de routage de messages dans un réseau maillé | |
| KR101310769B1 (ko) | 스마트 라우터 및 그 제어방법, 및 이를 이용한 스마트 네트워크 서비스 제공 시스템 및 방법 | |
| EP2823608A1 (fr) | Procédé, dispositif et programme d'ordinateur pour sélectionner un noeud routeur dans un réseau lln | |
| EP1122919A1 (fr) | Procédé d'acheminement de messages dans un réseau ad hoc | |
| EP2854467B1 (fr) | Système et procédé de partage de capacité distribué dans un réseau ad-hoc | |
| WO2024141372A1 (fr) | Procédé de routage de messages dans un réseau maillé | |
| EP2835954B1 (fr) | Procédé de traitement, dans un réseau ad hoc de radiocommunication, stations de radiocommunication et programmes d'ordinateur correspondants | |
| EP3675463B1 (fr) | Procédé d'identification d'un objet connecté dans une infrastructure réseau | |
| EP1875689B1 (fr) | Procede de routage, station emettrice-receptrice et programme d'ordinateur pour la mise en uvre du procede | |
| EP3211841B1 (fr) | Procédé pour décider de relayer par diffusion une copie d'une requête de découverte de route dans un réseau de communication | |
| Abbasi et al. | A Survey on Topology-Aware Routing Protocols for Underwater Optical Wireless Sensors | |
| EP4142169A1 (fr) | Procede de transmission et dispositif noeud implementant ledit procede | |
| EP3563593A1 (fr) | Procede et systeme d'echanges de donnees | |
| WO2008035007A1 (fr) | Procede de routage de paquets de donnees dans un reseau ad-hoc a large echelle comprenant une pluralite de cellules de couverture geographique | |
| FR3096850A1 (fr) | Procede de transmission de donnees entre un emetteur et un recepteur dans un reseau de radiocommunications a capacite de bouclage local |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250626 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |