Routing of data packets in an IoT network
The method addresses the energy constraint oversight in IoT network routing by using energy optimization rules based on contextual information to select neighboring nodes and determine transmission times, thereby optimizing energy use and extending node autonomy.
Patent Information
- Application Number
- PCT/EP2024/087287
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-21
- Filing Date
- 2024-12-18
- Publication Date
- 2025-06-26
AI Technical Summary
Existing IoT network routing solutions fail to consider energy constraints of nodes in wireless IoT networks, leading to potential node energy exhaustion and service interruption.
A method for routing data packets in IoT networks that selects neighboring nodes and determines transmission times based on energy optimization rules using contextual information such as energy capacities, storage, and radio conditions of both the device and neighboring nodes.
This approach optimizes energy use by adapting routing to current energy levels, extending node autonomy, and conserving overall network energy resources, while also improving transmission efficiency by considering radio conditions.
Smart Images

Figure EP2024087287_26062025_PF_FP_ABST
Abstract
Description
Routing data packets in an IoT network
[0001] The invention relates to the field of the Internet of Things, or IoT in English.
[0002] In particular, it concerns the routing of data packets between connected objects forming nodes of an IoT network. State of the art
[0003] In some IoT network topologies, it is necessary to route information between several nodes of the IoT network, in several stages, that is, via one or more intermediate nodes between a source node of the information and a destination node. Such operation implies a need for routing, involving routing rules or protocols, and routing devices, so that each node receiving information in the form of a data packet, can decide to which other node of the network it is preferable to forward the data packet.
[0004] The set of nodes through which a data packet travels between the source node and the destination node is called a route. The logic that determines how routes are determined or constructed is commonly called a routing protocol.
[0005] In IoT networks, several types of routing exist, each seeking to optimize the delivery of data packets according to one or more optimization rules.
[0006] Such rules aim to maximize certain performance indicators while trying to respect constraints or limits imposed by the application context of the IoT network.
[0007] Most existing approaches aim to reduce the transmission time of data packets between the source node and the destination node in the network. To this end, rules optimize routes to be as short as possible, or with as few intermediate nodes as possible.
[0008] However, in the context of wireless IoT networks in which the nodes are energy-constrained connected objects, for example on battery and / or powered by intermittent energy sources, the optimization rules based on performance / speed in the transmission of messages do not take into account the energy constraints of the different nodes, the lifetime of the nodes and / or the overall energy consumption of the IoT network. Such a lack of consideration can lead to the exhaustion of the energy capacities of one or more nodes, and the interruption of the service they provide.
[0009] There is therefore a need for a routing solution in an IoT network comprising a set of connected objects forming nodes and having energy constraints, making it possible to preserve the energy and material resources of one or more nodes of the IoT network.
[0010] In particular, a solution is desired that is applicable to IoT networks with a non-centralized topology, such as a mesh topology or a tree topology.
[0011] The invention offers a solution which does not have the drawbacks of the state of the art.
[0012] To this end, according to a functional aspect, the invention relates to a method for routing a data packet in a wireless communication network comprising a set of connected objects forming nodes of the network, the method being implemented in at least one of the nodes of the network, called a device, and comprising the following steps: - selection of a neighboring node to which to transmit the data packet and / or determination of a transmission time of the data packet, in which the selection of the neighboring node and / or the determination of the transmission time is a function of at least one energy optimization rule based on contextual information of the device and / or neighboring nodes of the device, the contextual information relating to energy capacities, storage capacities and / or radio conditions;- transmitting the data packet to a given neighboring node and at a given time, wherein the given neighboring node is the selected neighboring node and / or the given time is the determined transmission time.;
[0013] Thus, the routing of the data packet is optimized according to at least one energy optimization rule based on contextual information relating to the device itself, to the neighboring nodes, or even to both the neighboring nodes and the device itself. It is thus made possible to take into account energy constraints of one or more neighboring nodes and / or those which apply to the device.
[0014] According to embodiments, according to the at least one energy optimization rule, the device can select the neighboring node based on current energy capabilities of the device.
[0015] In this way, the device adapts the routing of the data packet to its own energy capacities. Routing is simplified and can be adapted in real time since the device has direct access to its own current energy capacities. In addition, by doing this across all network nodes, it is possible to optimize the use of the network's overall energy resources.
[0016] Additionally, according to said at least one energy optimization rule, the device can select the neighboring node from a set of close neighboring nodes if the current energy capacities of the device are lower than a given threshold, called first threshold in the following, the set of close neighboring nodes comprising neighboring nodes located at respective distances from the device lower than a first given distance.
[0017] Thus, the device can minimize the energy cost associated with transmitting the data packet, when its current energy capacities are low. It is thus made possible to preserve the energy capacities of the device, to extend its autonomy, to allocate them to a service to which the device is dedicated, or to route other data packets in the network.
[0018] Further in addition, according to said at least one energy optimization rule, the neighboring node selected from the set of close neighboring nodes may be the neighboring node of the set of close neighboring nodes having current energy capacities greater than the other neighboring nodes of the set of close neighboring nodes.
[0019] Thus, the routing method not only optimizes the use of the device's energy capacities but also the use of the energy capacities of neighboring nodes. Neighboring nodes with the lowest current energy capacities are not used, in order to extend their autonomy or allow them to allocate energy capacities to the services they implement.
[0020] Additionally or alternatively, according to said at least one energy optimization rule, the device can select the neighboring node having energy capacities greater than all other neighboring nodes, if the current energy capacities of the device are greater than a given threshold, called second threshold in the following.
[0021] Thus, when the device has sufficient current energy capacities, it prioritizes, when routing the data packets, transmission to the neighboring node with the greatest energy capacities, which makes it possible to preserve neighboring nodes with lower current energy capacities.
[0022] According to embodiments, according to said at least one energy optimization rule, if current radio conditions of the device do not satisfy a given quality criterion, the device can store the data packet, and the determined transmission time can be a time for which the radio conditions satisfy the given quality criterion.
[0023] Taking radio conditions into account makes it easier to transmit and receive data packets, and thus avoids retransmissions: it is therefore also a criterion which allows the optimization of energy consumption in the network.
[0024] Additionally, the device may store a prediction model of a temporal evolution of the radio conditions of the device, and the determined transmission time may be a predicted time from the prediction model, for which the radio conditions satisfy the given quality criterion.
[0025] Thus, the device is able to anticipate when radio conditions will be favorable for efficient transmission of the data packet. Such a predictive model can be trained from observing the actual evolution of radio conditions over a sufficient period of time.
[0026] Alternatively, according to said at least one energy optimization rule, if current energy capacities of the device are lower than a first given threshold, the device can store the data packet, and the determined transmission time can be a time for which the energy capacities of the device are higher than a second given threshold.
[0027] Thus, the device can transmit data packets only when its energy capacities are high, i.e. higher than the second threshold, which can be equal to the first threshold or higher than the first threshold, which allows the energy capacities of the device to be used for other uses when they are lower.
[0028] Additionally, the device may store a prediction model of a temporal evolution of the energy capacities of the device, and the determined transmission time may be a predicted time from the prediction model, for which the radio conditions satisfy the given quality criterion.
[0029] Thus, the device is able to anticipate the moment when its energy capacities will be high, to transmit the data packet, possibly to a neighboring node located far from the device, therefore implementing significant radio power. Such a predictive model can be trained from the observation of the actual evolution of the energy capacities of the device over a sufficient period of time.
[0030] Additionally, the prediction model can be updated upon obtaining contextual data from the device.
[0031] Thus, the prediction model can be updated regularly, allowing factors such as device aging, changes in the infrastructure on which the IoT network is based, etc. to be taken into account.
[0032] According to embodiments, the device may modify the data packet before transmission to the given neighbor node, by adding contextual information of the device into the data packet.
[0033] Thus, the device allows other nodes to optimize routing based on contextual information and rules such as said at least one energy optimization rule. The routing logics used in the different nodes are thus consistent with each other, which allows for better overall management of energy capacities in the network.
[0034] According to embodiments, the device may store the data packet, and, according to the at least one energy optimization rule, the determined transmission time may be a time after obtaining at least one other data packet for routing in the wireless communication network, and the data packet and the other data packet may be transmitted together at the determined transmission time to the given neighboring node.
[0035] Thus, it is made possible to aggregate data packets for joint transmission, taking advantage of contextual information, including transmitting when radio conditions are favorable and / or when the current energy capabilities of the device are above the second threshold.
[0036] According to a hardware aspect, the invention relates to a device comprising a wireless communication interface for communicating with neighboring nodes in a wireless communication network comprising a set of connected objects forming nodes of the network, and a processor, the processor being configured to:- select a neighboring node to which to transmit the data packet and / or determine a transmission time of the data packet, in which the selection of the neighboring node and / or the determination of the transmission time is a function of at least one energy optimization rule based on contextual information of the device and / or neighboring nodes of the device, the contextual information relating to energy capacities, storage capacities and / or radio conditions;- transmitting, via the wireless communication interface, the data packet to a given neighboring node and at a given time, wherein the given neighboring node is the selected neighboring node and / or the given time is the determined transmission time.;
[0037] According to another material aspect, the invention also relates to a computer program capable of being implemented on a device such as the aforementioned, the program comprising code instructions which, when the program is executed by a processor, carry out the steps of the defined method.
[0038] Such programs can use any programming language. They can be downloaded from a communications network and / or stored on a computer-readable medium.
[0039] According to another material aspect, the invention relates to a data medium on which at least one series of program code instructions has been stored for the execution of the method defined above.
[0040] The invention will be better understood on reading the following description, given by way of example and with reference to the appended drawings in which:
[0041] Illustrates an example of an IoT network according to embodiments of the invention.
[0042] Illustrates the structure of a device forming a node of an IoT network.
[0043] This is a method of routing a data packet in an IoT network, by a device forming a node of the network, according to embodiments of the invention.
[0044] Illustrates an example environment for implementing the invention according to embodiments.
[0045] An IoT network 100 is capable of enabling the exchange of information, in the form of data packets, between nodes 101.1 to 101.K of the network 100.
[0046] A node in an IoT network is also called a connected object, and is dedicated to one or more services. A service can be a set of actions performed by the connected object.
[0047] No restrictions are attached to the service provided by each of the nodes 101.1 to 101.K of the IoT network 100.
[0048] The IoT network according to the invention comprises K nodes, K being an integer greater than 1, generally greater than 5, and possibly greater than 10, or even greater than 100. It is thus understood that the five nodes 101.1 to 101.K may be a subset of the nodes of the IoT network, when K is strictly greater than 5.
[0049] An IoT network is therefore understood to mean any set of connected objects, called nodes, capable of communicating information between them via a given wireless communication technology.
[0050] The wireless communication technology used may, for example, be based on one of the following protocols: - very short-range protocols such as RFID, for RadioFrequency Identification, or NFC, for Near Field Communication, - Wifi, which is a set of wireless communication protocols governed by the standards of the IEEE 802.11 group, or Zigbee or Bluetooth. In these cases, the IoT network 100 may be a home network of the WLAN type, for "Wireless Local Area Network" in English, or WPAN, for Wireless Personal Network" for example; - 2G, 3G or 4G allowing long-range exchanges in the IoT network; - a protocol compatible with an LPWAN type network, such as Sigfow, 5G, LTE-M, etc.An LPWAN type network, for "Low Power Wide Area Network", is a network in which connected objects can communicate over long distances, particularly over several kilometers, and in which the frequencies and quantity of information exchanged are generally low, resulting in low energy consumption.
[0051] The wireless communication protocol defines the format of data packets and how to exchange data packets between nodes 101.1 and 101.K in the network, including the method of physical transmission of data packets.
[0052] According to the invention, the topology of the IoT network 100, which can be a mesh network, also called “Mesh” in English, or a tree network.
[0053] A mesh network is a network in which all nodes are connected peer-to-peer without a central hierarchy, thus forming a net-like structure. Therefore, each node must receive, send, and relay data packets. The advantage of a mesh network is that it avoids having central points that, if they fail, can isolate a part of the network and make it unable to communicate. Each data packet thus travels a specific route in the mesh network, during its routing to the destination node.
[0054] Generally speaking, the IoT 100 network is a network with a topology that does not include a central element that centralizes and redistributes data packets to connected objects.
[0055] In the following, it is considered, for illustrative purposes, that the IoT network is a long-range network with a mesh topology.
[0056] Depending on the range associated with the transmission power of a given node and the distance to other nodes in the IoT network 100, the given node may transmit a data packet to a subset of the nodes in the IoT network, or to all of the nodes in the IoT network. The nodes to which a given node is capable of transmitting a data packet, for example for its maximum transmission power, are called the neighbor nodes of the given node. Each node may store in memory identifiers of neighbor nodes, either predefined, or obtained by listening to data packets exchanged in its environment, or by exchanging discovery packets dedicated to detecting neighbor nodes. In a tree-type network, however, the neighbor nodes are the parent or child nodes of the given node.
[0057] In the example of the, a first node 101.1 is able to transmit to the nodes of the IoT network which are closest to it, namely the second node 101.2 and the third node 101.3 which are thus its neighboring nodes according to the definition given previously. Thus, to transmit a data packet to the node 101.4 or 101.K, a data packet from the first node 101.1 must be routed via one of the second and third nodes 101.2 and 101.3.
[0058] The first node 101.1 can thus transmit data packets to the second node 101.2 via a first wireless communication channel 102.1, and to the third node 101.3 via a second wireless communication channel 102.2.
[0059] The wireless communication channels 102.1 and 102.2 depend on the communication protocol used in the IoT network 100, which may be one of the aforementioned protocols.
[0060] Note that nodes may have distinct transmit powers, and therefore it is possible that a given node may transmit a data packet to another node without that other node being able to transmit a data packet back to the given node.
[0061] There are no restrictions on the connected objects in the IoT network. In a first example, all the connected objects in the IoT network are of the same type, for example, a set of connected streetlights. Alternatively, in a second example, at least one connected object is of a different type from at least one other connected object.
[0062] Connected objects in the IoT network can therefore include one or more of the following types: camera, connected lamppost, speaker, temperature sensor, smartphone, etc.
[0063] Illustrates the structure of a device 101, forming a node of the IoT network 100 presented previously, according to embodiments of the invention.
[0064] The device 101 illustrated in the can be any of the nodes 101.1 to 101.K of the IoT network illustrated in the.
[0065] The device 101 is a connected object capable of implementing at least one service by executing at least one action.
[0066] No restriction is attached to the service implemented by the device 101, which may be: - a data capture service by at least one sensor 204 of the device 101, the captured data being able to be transmitted to other nodes of the network in the form of data packets, in particular to certain nodes being able to use the data captured by the sensor 204 for the implementation of actions. No restriction is attached to the format of the captured data, which may be in the form of images, numerical value, description in alphanumeric form, etc.; - a service implementing an action or a series of actions on the basis of data captured by the sensor 204 and / or on the basis of data received from other nodes of the IoT network 100, or a series of predefined actions.
[0067] Thus, the implementation of the service by the node may involve the reception and / or transmission of data packets in the IoT network 100.
[0068] The device 100 may comprise a processor 201 configured to communicate unidirectionally or bidirectionally, via one or more buses or via a direct wired connection, with a memory 202 such as a “Random Access Memory” type memory, RAM, or a “Read Only Memory” type memory, ROM, or any other type of memory (Flash, EEPROM, etc.). Alternatively, the memory 202 comprises several memories of the aforementioned types.
[0069] The memory 202 comprises at least one non-volatile memory in which the data used and / or resulting from the implementation of the steps of the generation method according to the invention described with reference to the are stored, temporarily or permanently. The memory 202 also stores, temporarily or permanently, the data captured by the device 101 and / or the data received from other nodes of the IoT network 100.
[0070] The processor 201 is capable of executing instructions, stored in the memory 202, for implementing the steps of the generation method according to the invention, described with reference to the.
[0071] The device 101 further comprises a wireless communication interface 103, configured for the transmission and reception of data packets in the IoT network 100, according to the wireless communication protocol used in the IoT network 100, among the protocols listed previously.
[0072] The device 101 may further comprise at least one sensor 204 and / or at least one actuator 205.
[0073] The sensor 204 may be capable of acquiring data such as color, black and white, or infrared images, or of performing measurements of the environment of the device 101, such as measurements of temperature, brightness, humidity, or other variable. Alternatively, the sensor 204 may be a presence detector. The device 101 may in particular comprise several sensors 204 capable of obtaining complementary data.
[0074] The actuator 205 can be controlled by the processor 201, based on data from the sensor 204 or other nodes of the IoT network, in order to implement at least one action, or a series of actions, specific to the service associated with the device 101. No restriction is attached to the actuator, which can trigger any type of action, such as switching on a lamp, opening or locking a door, acquiring a photograph, switching on a heater, moving the device 101, etc.
[0075] For example, if device 101 is a connected speaker, actuator 205 may be a loudspeaker.
[0076] The device 101 may further comprise a battery 205, supplying power to all of the previously described components of the device 101. The battery 205 may be a battery that is rechargeable or not. When the battery 205 is rechargeable, it may be connected to a charging unit 206 external to the device 101.
[0077] The charging unit 206 is capable of supplying electrical energy to the battery 205. In order to generate such electrical energy, the charging unit 206 may comprise a module for capturing solar, wind or thermal energy, such as a thermal or photovoltaic solar panel for example.
[0078] This is a diagram which illustrates the steps of a method of routing a data packet in the IoT network 100, by the device 101 forming a node of the IoT network 101, the device 101 being a connected object.
[0079] In a step 300, the device 101 can obtain at least one piece of contextual information representative of:- energy capacities of the device 101, storage capacities of the device 101 and / or radio conditions for the device 101 in the IoT network;- energy capacities of at least one neighboring node of the IoT network 100, storage capacities of at least one neighboring node of the IoT network 100 and / or radio conditions for at least one neighboring node of the IoT network 100, and preferably for several neighboring nodes of the IoT network 100.
[0080] As explained previously, by neighboring node, we mean a node to which the device 101 can transmit a data packet according to the topology of the IoT network 100 and / or according to the transmission power of its interface 203.
[0081] According to the invention, contextual information is distinguished from the main data communicated in the data packets, main data from which the nodes implement the service associated with them. The contextual information relates to the energy, storage or radio conditions of the nodes of the IoT network 100.
[0082] The contextual information relating to the energy capacities of a node (the device 101 or one of the neighboring nodes) may be:- energy capacities of the node, i.e. a current or predicted level of autonomy of the battery 205 of the node, expressed as a duration or an amount of energy for example;- a current or predicted level of a rate of decrease of the level of autonomy of the battery 205;- a type of energy source associated with the charging unit 206 of the node;- an average or current rate of energy renewal of the battery 205 of the node, as well as schedules associated with the renewal of the energy of the battery.
[0083] The contextual information relating to the storage capacities of a node (the device 101 or one of the neighboring nodes) may be a total storage capacity of the memory of a node 202 and / or a current storage capacity (the total capacity reduced by the amount of data already stored).
[0084] The contextual information relating to the radio conditions of a node (the device 101 or one of the neighboring nodes) may be current radio conditions (at a given time), predicted radio conditions (at a future time) or associations between time ranges and measured or predicted radio conditions of the node.
[0085] The device 101 can obtain at least one contextual information relating to energy capacities, memory capacities and / or radio conditions.
[0086] Concerning the contextual information relating to the device 101, the device 101 is able to determine it itself, without receiving information from other nodes of the network. For example, for the energy capacities, the device 101 accesses the current autonomy level of the battery 205, the renewal rate allowed by the charging unit 206, the rate of decrease of the autonomy level of the battery.
[0087] Concerning contextual information relating to a neighboring node, it can be:- received in data packets comprising data from or enabling the implementation of the neighboring node's service;- received in packets dedicated to contextual information.
[0088] In both cases, the neighboring node explicitly indicates the contextual information concerning it to the device 101. Alternatively or additionally, the contextual information may be metadata acquired upon receipt of a data packet from a neighboring node: for example, contextual information relating to the radio conditions of the neighboring node may be estimated from the quality of the received data packet, for example as a function of a signal-to-noise ratio.
[0089] Alternatively, the device 101 stores, prior to commissioning the device 101 in the IoT network 100, the contextual information relating to its neighboring nodes and / or the contextual information concerning it, in a memory of the device 101.
[0090] Thus, the obtaining step 300 can be implemented prior to the commissioning of the device 100, or can be implemented dynamically as shown in the. In addition to the contextual information, the device 101 has location information of the neighboring nodes. The device 101 is thus capable of storing an identifier of each neighboring node in association with a distance between the device 101 and the neighboring node. The location information can be communicated in data packets, or in packets dedicated to location information, from each neighboring node, or can be stored in advance by the device 101. Indeed, in certain cases, the structure of the IoT network is known in advance, fixed, and consequently the respective locations of all the nodes of the IoT network 100, and the relative distances between each pair of nodes, can be stored locally by each node.
[0091] Additionally, the device 101 may also obtain information relating to the type of each of the neighboring nodes, the type identifying in particular the service provided by the neighboring node. Again, the information relating to the type may be obtained in data packets, in packets dedicated to information relating to the type, or may be stored in advance in each of the nodes.
[0092] In the illustrated embodiment, at a step 301, the device 101 updates a model representing at least a part of the IoT network 100, in particular the part comprising the neighboring nodes of the device 101, from the contextual information obtained at step 300. The model may be a map comprising at least: - an identifier and a location of each neighboring node of the IoT network 100, or respective distances between the neighboring nodes and the device 101; and - contextual information relating to the energy capacities of at least one neighboring node, and preferably of all the neighboring nodes of the IoT network 100; and / or - contextual information relating to the storage capacities of the neighboring node or nodes; and / or - contextual information relating to the radio conditions of the neighboring node or nodes.
[0093] The model can be continuously updated when the obtaining steps 300 are iterated. This is particularly the case when contextual information is inserted into the data packets: each time a data packet is received from a neighboring node, contextual information relating to this neighboring node can be included in the data packet, or can be deduced from the reception quality of the data packet, and such information makes it possible to improve the accuracy of the model and / or to update it.
[0094] In the variant according to which the obtaining step 300 is prior to the commissioning of the device 101, the model can also be determined prior to commissioning, for storage in the device 101. In this variant, the model is obtained and stored in step 301, prior to the commissioning of the device 101, and there is no dynamic update of the model (steps 300 and 301 are not iterated).
[0095] According to certain embodiments, after having acquired a given quantity of contextual information on each of the neighboring nodes, the model may be able to predict, for each of the neighboring nodes, the temporal evolution of the contextual information. Such a prediction may be obtained by machine learning of a predictive model. The machine learning may in particular be supervised learning: - the prediction model predicts the evolution of the value of contextual information for the given node, at a given time; - then an actual value of the contextual information is obtained from a packet received from the neighboring node, at a given time; - the predictive model is adjusted according to a difference between the predicted value for the given time, and the actual value obtained at this given time.
[0096] Alternatively, the device 101 is not capable of predicting the temporal evolution of the contextual information of each of the neighboring nodes, and, in this case, the device 101 updates, upon each reception of contextual information from a neighboring node, the current value of this contextual information stored in the device 101 in association with an identifier of the neighboring node. The device can thus maintain up-to-date current values of contextual information for each of the neighboring nodes, each current value corresponding to the last value obtained in step 300 for the contextual information of this neighboring node.
[0097] For example, at a given time, the current value of the battery life level of the second node 101.2, stored in the memory 202 of the device 101, may be equal to 60%. Upon receiving a data packet from the neighbor node, in which the neighbor node has indicated a current battery life level equal to a current value of 40%, the device 101 updates the current battery life level value stored in the device 101, by replacing 60% with 40%.
[0098] A map of the IoT network 100, or of a part of the IoT network, can thus be constructed in the device 101, and preferably in each of the nodes of the IoT network 100.
[0099] Such a mapping can be constructed and maintained by each node by observing contextual information inserted into data packets or dedicated packets, or inferred from the quality of packet reception.
[0100] In the embodiment illustrated in the, the device 100 thus acquires continuous information on the energy capacities of the neighboring nodes on the storage capacities of the neighboring nodes and / or the radio conditions of the neighboring nodes.
[0101] The device 101 may also obtain contextual information about itself, as previously indicated. The contextual information may be obtained by measuring a quality of the radio link on the interface 203, by measuring the autonomy level of the battery 205, and / or by determining the space available in the memory 202.
[0102] Furthermore, the device 101 can train a model for predicting the autonomy level of its own battery 205, the prediction model thus making it possible to obtain a prediction of the evolution of the autonomy level of the battery 205 of the device 101, over time. The prediction model is specific to the device 101, and depends in particular on the renewal rate of the battery, the energy consumption of the service that it implements and more generally on the operation of the components 201 to 204 previously described, as well as the maximum autonomy level of the battery (which is the autonomy level of the battery when it is fully charged).
[0103] In a step 302, the device 101 obtains a data packet to be transmitted to a destination node of the IoT network 100. In a first example, the data packet may come from the device 101 itself: the data packet may comprise a payload, composed of data acquired by the device 101, for example from the sensor 204. In a second example, the data packet is received from another node of the network: the other neighbor of the network may be the source node of the data packet, or may be an intermediate node having received the data packet from another intermediate or source node and routing the data packet to the device 101.
[0104] The resulting data packet thus indicates, in addition to the payload, the destination node and the source node. In the first example, the source node is device 101 itself.
[0105] Note that, in the second example, the data packet is received from another node, and may further comprise contextual information relating to the other node, in which case the contextual information may be used by the device 101 to update the aforementioned mapping representing at least part of the IoT network 100, during step 301.
[0106] In a step 303, following step 302, and following one or more iterations of steps 300 and 301, depending on whether the model is stored prior to commissioning the device 101 or is dynamically updated, the device 101 selects a neighboring node to which to transmit the data packet obtained in step 302 and / or determines a transmission time, in order to route the data packet to its destination node in the IoT network 100, according to at least one energy optimization rule. An energy optimization rule is understood to mean a rule capable of indicating, according to contextual information, a transmission time and / or a neighboring node to select, the rule being established beforehand in order to ensure optimization of the energy consumption of the device 101 and / or its neighboring nodes.Thus, some energy optimization rules allow selection of a neighboring node while others allow selection of a transmission time.
[0107] According to the invention, the device 101 can select the neighboring node to which to route the data packet obtained in step 302, according to one or more energy optimization rules based on:- contextual information relating to the device 101; and / or- contextual information relating to the neighboring nodes of the device 101. For example, the energy optimization rule or rules can be based on:- contextual information relating to the energy capacities, the storage capacities and / or the radio conditions of the device 101; and / or- contextual information relating to the energy capacities, the storage capacities and / or the radio conditions of the neighboring nodes of the device 101.
[0108] Alternatively or in addition to the selection of the neighboring node of step 303, the device 101 can determine a time of transmission of the data packet, according to at least one other energy optimization rule based on: - contextual information relating to the device 101; and / or - contextual information relating to the neighboring nodes of the device 101.
[0109] Said at least one other energy optimization rule may be based on:- contextual information relating to the energy capacities, the storage capacities and / or the radio conditions of the device 101; and / or- contextual information relating to the energy capacities, the storage capacities and / or the radio conditions of the neighboring nodes of the device 101
[0110] Following step 303, optionally, the device 101 can modify the data packet obtained in step 302, to add contextual information concerning it, in particular contextual information relating to the energy capacities of the device 101, contextual information relating to the storage capacities of the device 101 and / or contextual information relating to the radio conditions of the device 101.
[0111] Thus, the neighboring node receiving the modified data packet can store and update the contextual information concerning the device 101, which is explicitly indicated to it by the device 101. It is thus made possible to carry out the same steps 300 to 304 in the neighboring nodes of the device 101, which makes it possible to optimize, in each node of the IoT network 100, the routing choices according to the energy capacities of the nodes of the IoT network 100, the storage capacities and the radio conditions.
[0112] In a step 305, the device 101 transmits the data packet, possibly modified in step 304, to a given neighboring node and at a given time, the neighboring node being the neighboring node selected in step 303 and / or the given time being the transmission time determined in step 303.
[0113] The energy optimization rules may be stored in the memory 202 of the device 101. Such energy optimization rules differ from speed criteria aimed at optimizing the transmission time of the data packet to the destination node. The energy optimization rule may in particular be determined so as to optimize the lifetime of the nodes of the IoT network. Each energy optimization rule takes as input one or more of the aforementioned contextual information, namely contextual information relating to energy capacities, contextual information relating to storage capacities and / or contextual information relating to radio conditions, in order to select the neighboring node and / or to determine the transmission time.
[0114] Examples of energy optimization rules used in step 303 are described below, for illustrative purposes.
[0115] According to a first energy optimization rule, if the current energy capacities of the device 101 are lower than a first predefined threshold, the device 101 selects the nearest neighboring node. The nearest neighboring node can be selected from among the neighboring nodes that make it possible to bring the data packet closer to the destination node.
[0116] Additionally, the first energy optimization rule may be that, if the current energy capacities of the device 101 are lower than a predefined threshold, the device 101 selects the neighboring node having the highest current energy capacities among the nearest neighboring nodes. The nearest neighboring nodes may be identified as the set of neighboring nodes located at a distance less than a given first distance, for example a first predefined distance or a first distance determined from the current energy capacities of the device 101. The device 101 has contextual information relating to the energy capacities of the neighboring nodes, updated during step 301 and is thus able to take into account the first energy optimization rule in the selection of the neighboring node.
[0117] According to a second energy optimization rule, if the current energy capacities of the device 101 are greater than a second predefined threshold, the device 101 selects the neighboring node having the highest current energy capacities. Indeed, in this case, the device 101 can use more energy to transmit further, if the neighboring node located further away has more current energy capacities than the neighboring nodes closer to the device 101.
[0118] The second predefined threshold can be equal to or greater than the first predefined threshold.
[0119] According to a third energy optimization rule, if the current radio conditions of the device 101 do not satisfy a given quality criterion, and if the memory capacities of the device 101 are greater than a given memory threshold, then the device 101 stores the data packet, and determines a transmission time for which the predicted radio conditions for the device 101 satisfy the given quality criterion. The data packet is then transmitted at the determined transmission time, in step 305.
[0120] Alternatively, the third energy optimization rule may define that, if the current radio conditions of the device 101 do not meet the given quality criterion, and if the memory capacities of the device 101 are greater than the given memory threshold, then the device 101 stores the data packet, and delays until the radio conditions for the device 101 meet the given quality criterion.
[0121] When the radio conditions satisfy the given quality criterion, the device 101 transmits the data packet to one of the neighboring nodes that it selects, for example according to the first and / or second rule described above. Alternatively, the selected neighboring node may be the neighboring node having the highest energy capacities among the neighboring nodes closer to the destination node than the device 101.
[0122] Transmitting a data packet with better radio conditions improves the overall energy consumption of the IoT network 100, in that it allows the data packet to be transmitted further and / or with fewer collisions or retransmissions.
[0123] According to a fourth energy optimization rule, if the device 101 has a charging unit 206 using a renewable energy source, powering the battery either periodically in the case of a charging unit 206 of the solar panel type for example, or permanently, and if the storage capacities of the device 101 are greater than the given memory threshold, the device 101 transmits the data packet only if the current energy capacities are greater than the second aforementioned threshold.If this is not the case, the device 101 stores the data packet and:- transmits the data packet at a later time upon detection that the current energy capacities are greater than the second threshold;- predicts a transmission time at which the energy capacities of the device 101 are greater than the second given threshold, based on a prediction model stored in the device 101, and transmits the data packet at the predicted transmission time. Alternatively, if the device 101 cannot predict the evolution of the energy capacities, the device 101 delays until the energy capacities of the device 101 are greater than the second given threshold, and the transmission time is after the detection that the energy capacities of the device are greater than the second given threshold.
[0124] According to a fifth energy optimization rule, the device 101 selects a neighboring node having periodic energy capacities, and determines a transmission time of the data packet for which the current energy capacities of the neighboring node are greater than a given third threshold, which may be equal to the second threshold. Alternatively, the third threshold may depend on the total energy capacities of the neighboring node, i.e. its energy capacities when the battery of the neighboring node is fully recharged.
[0125] The transmission time determined according to the fifth energy optimization rule may be the current time if the current energy capacities of the neighboring node are greater than the third given threshold. Otherwise, the transmission time may be a future time predicted from a prediction model of the energy capacities of the neighboring node resulting from the steps 300 and 301 described previously.
[0126] According to a sixth energy optimization rule, the device 101 transmits the data packet at a transmission time subsequent to obtaining at least one other data packet at another step 302.
[0127] Thus, upon obtaining the data packet at a first iteration of step 302, the device can store the data packet until at least one other data packet is received at another iteration of step 302. The device 101 can thus transmit several data packets simultaneously to one of the neighboring nodes, selected according to one of the other energy optimization rules described previously, in particular according to the first and / or according to the second energy optimization rule. In addition, the transmission time can be a time: - at which several data packets have been received at several iterations of step 302; and - for which the radio conditions of the device 101 satisfy the given quality criterion.
[0128] Thus, according to the invention, the energy optimization rule(s) allow the selection of a neighboring node and / or the determination of a transmission time, which ensure optimization of the energy resources in the IoT network 100, locally or for a set of nodes.
[0129] The aforementioned energy optimization rules are not mutually exclusive and may be combined. Alternatively, the device 101 may apply one or other of these energy optimization rules based on its energy capacities or based on a current period of the day or year.
Claims
Method for routing a data packet in a wireless communication network (100) comprising a set of connected objects forming nodes (101.1-101.K) of the network, the method being implemented in at least one of the nodes of the network, called device (101), and comprising the following steps: - selection (303) of a neighboring node to which to transmit a data packet and / or determination of a transmission time of the data packet, in which the selection of the neighboring node and / or the determination of the transmission time is a function of at least one energy optimization rule based on contextual information of the device and / or neighboring nodes of the device, the contextual information relating to energy capacities, storage capacities and / or radio conditions; - transmission (305) of the data packet to a given neighboring node and at a given time, in which the given neighboring node is the selected neighboring node and / or the given time is the determined transmission time. The method of claim 1, wherein, according to said at least one energy optimization rule, the device (101) selects (303) the neighboring node based on current energy capabilities of the device. The method of claim 2, wherein, according to said at least one energy optimization rule, the device (101) selects (303) the neighboring node from a set of nearby neighboring nodes if the current energy capacities of the device are less than a threshold, the set of nearby neighboring nodes comprising neighboring nodes located at respective distances from the device, less than a first distance. The method of claim 3, wherein, according to said at least one energy optimization rule, the selected neighboring node (303) from the set of close neighboring nodes, is the neighboring node of the set of close neighboring nodes having current energy capacities greater than the other neighboring nodes of the set of close neighboring nodes. Method according to one of claims 2 to 4, wherein, according to said at least one energy optimization rule, the device (101) selects (303) the neighboring node having energy capacities greater than all the other neighboring nodes, if the current energy capacities of the device are greater than a threshold. Method according to one of the preceding claims, wherein, according to said at least one energy optimization rule, if current radio conditions of the device do not satisfy a quality criterion, the device (101) stores the data packet, and the transmission time is a time for which the radio conditions satisfy the quality criterion. Method according to claim 6, wherein the device (101) stores a prediction model of a temporal evolution of the radio conditions of the device, and wherein the determined transmission instant is an instant predicted from the prediction model, for which the radio conditions satisfy the quality criterion. Method according to one of claims 1 to 5, wherein, according to said at least one energy optimization rule, if current energy capacities of the device are lower than a threshold, the device (101) stores the data packet, and the determined transmission time is a time for which the energy capacities of the device are higher than a second threshold. Method according to claim 8, wherein the device (101) stores a prediction model of a temporal evolution of the energy capacities of the device, and wherein the determined transmission instant is an instant predicted from the prediction model, for which the radio conditions satisfy the quality criterion. The method of claim 7 or 9, wherein the prediction model is updated (301) upon obtaining contextual data from the device (101). Method according to one of the preceding claims, wherein the device (101) modifies (304) the data packet before transmission to the neighboring node, by adding contextual information of the device in the data packet. Method according to one of the preceding claims, wherein the device (101) stores the data packet, and wherein, according to said at least one energy optimization rule, the determined transmission time is a time after obtaining at least one other data packet for routing in the wireless communication network, and the data packet and the other data packet are transmitted (305) together at the determined transmission time to the neighboring node. Device (101) comprising a wireless communication interface (203) for communicating with neighboring nodes in a wireless communication network (100) comprising a set of connected objects forming nodes (101.1-101.K) of the network, and a processor (201), the processor being configured to:- select a neighboring node to which to transmit a data packet and / or determine a transmission time of the data packet, wherein the selection of the neighboring node and / or the determination of the transmission time is a function of an energy optimization rule based on contextual information of the device and / or neighboring nodes of the device, the contextual information relating to energy capacities, storage capacities and / or radio conditions;- transmit, via the wireless communication interface, the data packet to a given neighboring node and at a given time, the given neighboring node being the selected neighboring node and / or the given time being the determined transmission time. A computer program capable of being implemented in a generation module as defined in claim 13, the program comprising code instructions which, when executed by a processor (201), performs the steps of the method defined in one of claims 1 to 12.
Citation Information
Patent Citations
Method and device for the dynamic management of a mesh communication network
FR3130494A1
Resource Aware Multi-Task Routing in Multi-hop Heterogeneous Wireless Networks
US20170264532A1