Routing data packets in an IoT network
The method addresses the energy constraint issue in IoT networks by using energy optimization rules to select neighboring nodes and determine transmission times for data packet routing, thereby optimizing energy use and extending node autonomy.
Patent Information
- Application Number
- FR2023014804
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-21
- Publication Date
- 2025-06-27
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing IoT network routing solutions do not adequately 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 node capabilities, minimizing energy costs, and extending node autonomy, while also improving overall network energy efficiency.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Routing of data packets in an IoT network Technical field
[0001] The invention relates to the field of the Internet of Things, or loT in English.
[0002] It relates in particular to the routing of data packets between connected objects forming nodes of an IoT network. State of the art
[0003] In some loT network topologies, it is necessary to route information between several nodes of the loT network, in several stages, i.e. 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 transfer the data packet.
[0004] The set of nodes through which a data packet has passed 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 routing 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, the rules optimize the 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 connected objects with energy constraints, 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 account may lead to the exhaustion of the energy capacities of one or more nodes, and the interruption of the service they provide.
[0009] There is thus 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-type topology, or a tree topology.
[0011] The invention offers a solution which does not have the drawbacks of the state of the art. Statement of the invention
[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: - selecting a neighboring node to which to transmit the data packet and / or determining 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 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 both to the neighboring nodes and to 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 said at least one energy optimization rule, the device can select the neighboring node according to current energy capacities of the device.
[0015] Thus, the device adapts the routing of the data packet to its own capabilities. energy. Routing is simplified and can be adapted in real time since the device has direct access to its 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] In addition, 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 less than a first given distance.
[0017] Thus, the device can minimize the energy cost associated with the transmission of 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 makes it possible to optimize the use of the energy capacities of the device but also the use of the energy capacities of the neighboring nodes. The neighboring nodes having the lowest current energy capacities are not used, in order to extend their autonomy or allow them to allocate the energy capacities to the services that they implement.
[0020] In addition or as a variant, according to said at least one energy optimization rule, the device can select 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 given threshold, called second threshold in the following.
[0021] Thus, when the device has sufficient energy capacity current, it prioritizes, when routing data packets, transmission to the neighboring node with the highest 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 instant of A given transmission may be an instant for which radio conditions satisfy the given quality criterion.
[0023] Taking radio conditions into account makes it possible to facilitate the transmission and reception of data packets, and thus avoid 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 the 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 the 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 the data packets only when its energy capacities are high, i.e. greater than the second threshold, which may be equal to the first threshold or greater than the first threshold, which makes it possible to use the energy capacities of the device for other uses when they are lower.
[0028] In addition, the device can store a prediction model of a temporal evolution of the energy capacities of the device, and the determined transmission instant can be an instant predicted 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, which allows factors such as aging of the device, change in the infrastructure on which the loT 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 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 the 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 greater than 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: - selecting a neighboring node to which to transmit the data packet and / or determining 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 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 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 may use any programming language. They may 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. Brief description of the drawings
[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] [Fig.l] illustrates an example of an loT network according to embodiments of the invention.
[0042] [Fig.2] illustrates the structure of a device forming a node of an loT network.
[0043] [Fig.3] 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. Description of the embodiments
[0044] [Fig.l] illustrates an example of an implementation environment of the invention according to embodiments.
[0045] An loT 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 executed by the connected object.
[0047] No restriction is attached to the service provided by each of the nodes 101.1 to 101.K of the loT network 100.
[0048] The loT 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 loT 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 in English, or NFC, for Near Field Communication in English, - 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 loT 100 network can be a WLAN type home network, for "Wireless Local Area Network" in English, or WP AN, for Wireless Personal Network" by 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 the data packets and the manner of exchanging the data packets between the nodes 101.1 and 101.K of the network, in particular the method of physical transmission of the data packets.
[0052] According to the invention, the topology of the loT 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 to avoid having central points which, if they fail, can isolate a part of the network which can then no longer communicate. Each data packet thus travels a given route in the mesh network, during its routing towards the destination node.
[0054] Generally speaking, the loT network 100 is a network with a topology that does not include a central element that centralizes and redistributes data packets to the connected objects.
[0055] In the following, it is considered, for illustrative purposes, that the loT 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 the other nodes of the loT network 100, the given node can transmit a data packet to a subset of the nodes of the loT network, or to all the nodes of the loT 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 neighboring nodes of the given node. Each node can store in memory identifiers of neighboring nodes, either predefined, or obtained by listening to the data packets exchanged in its environment, or by the exchange of discovery packets dedicated to the detection of neighboring nodes. In a tree-type network, however, the neighboring nodes are the parent or child nodes of the given node.
[0057] In the example of [Fig.l], a first node 101.1 is able to transmit to the nodes of the loT 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 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 loT network 100, which may be one of the aforementioned protocols.
[0060] Note that the nodes may have distinct transmission 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] No restrictions are attached to the connected objects of the loT network. In a first example, all the connected objects of the loT network are of the same type, for example a park of connected street lamps. Alternatively, in a second example, at least one connected object is of a different type from at least one other connected object.
[0062] The connected objects of the loT network can thus include one or more of the following types: camera, connected lamppost, speaker, temperature sensor, smartphone, etc.
[0063] [Fig.2] illustrates the structure of a device 101, forming a node of the loT network 100 presented previously, according to embodiments of the invention.
[0064] The device 101 illustrated in [Fig.2] may be any of the nodes 101.1 to 101.K of the loT network illustrated in [Fig.l].
[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 can 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 can be in the form of images, numerical value, description in alphanumeric form, etc.; - a service implementing an action or a series of actions based on data captured by the sensor 204 and / or based on data received from other nodes of the loT network 100, or a series of predefined actions.
[0067] Thus, the implementation of the service by the node may involve the reception and / or the transmission of data packets in the loT 100 network.
[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 memory of the “Random Access Memory” type, RAM, or a memory of the “Read Only Memory” type, 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 [Fig. 3] 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 loT 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 [Fig.3].
[0071] The device 101 further comprises a wireless communication interface 103, configured for the transmission and reception of data packets in the loT network 100, according to the wireless communication protocol used in the loT 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 carrying out 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 loT 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 the device 101 is a connected speaker, the actuator 205 may be a loudspeaker.
[0076] The device 101 may further comprise a battery 205, supplying energy 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] [Fig.3] is a diagram which illustrates the steps of a method of routing a data packet in the loT network 100, by the device 101 forming a node of the loT network 101, the device 101 being a connected object.
[0079] At a step 300, the device 101 can obtain at least one representative contextual information: - 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 loT 100 network, storage capacities of at least one neighboring node of the loT 100 network and / or radio conditions for at least one neighboring node of the loT 100 network, and preferably for several neighboring nodes of the loT 100 network.
[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 loT 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 capacities, storage or radio conditions of the nodes of the loT network 100.
[0082] The contextual information relating to the energy capacities of a node (the device 101 or one of the neighboring nodes) can be: - energy capacities of the node, i.e. a current or predicted level of autonomy of the battery 205 of the node, expressed in the form of a duration or an amount of energy for example; - a current or predicted level of a rate of decrease in the battery life level 205; - a type of energy source associated with the loading 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 battery energy.
[0083] Contextual information relating to the storage capabilities 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 (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 the energy capacities, the memory capacities and / or the 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 the 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] Regarding the 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 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 in addition, the contextual information may be metadata acquired upon reception 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 loT 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 commissioning the device 100, or can be implemented dynamically as shown in [Fig. 3]. 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 the in location formations, from each neighboring node, or can be stored in advance by the device 101. Indeed, in certain cases, the structure of the loT network is known in advance, fixed, and consequently the respective locations of all the nodes of the loT network 100, and the relative distances between each pair of nodes, can be stored locally by each node.
[0091] In addition, the device 101 can 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 can be obtained in data packets, in packets dedicated to information relating to the type, or can 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 loT network 100, in particular the part comprising the neighboring nodes of the device 101, from the contextual information obtained at step 300. The model can be a mapping comprising at least: - an identifier and a location of each neighboring node of the loT network 100, or the 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 neighboring nodes of the loT network 100; and / or - contextual information relating to the storage capabilities of the neighboring node(s); and / or - contextual information about the radio conditions of the neighboring node(s).
[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 quality of reception 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 updating 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 can be able to predict, for each of the neighboring nodes, the temporal evolution of the contextual information. Such a prediction can be obtained by machine learning of a predictive model. Machine learning can notably 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 instant, and the actual value obtained at this given instant.
[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 loT network 100, or of a part of the loT network, can thus be constructed in the device 101, and preferably in each of the nodes of the loT network 100.
[0099] Such a mapping can be constructed and maintained up to date by each node by observing the contextual information inserted in data packets or in dedicated packets, or deduced from the quality of reception of packets.
[0100] In the embodiment illustrated in [Fig.3], 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 prediction model of 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 battery renewal rate, 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] At a step 302, the device 101 obtains a data packet to be transmitted to a destination node of the loT 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 data packet obtained thus indicates, in addition to the payload, the destination node and the source node. In the first example, the source node is the 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 loT 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 loT 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, based on one or more energy optimization rules based on: - contextual information relating to device 101; and / or - contextual information relating to neighboring nodes of the device 101. For example, the energy optimization rule or rules may be based on: - contextual information relating to the energy capacities, storage capacities and / or radio conditions of the device 101; and / or - contextual information relating to the energy capacities, storage capacities and / or radio conditions of the neighboring nodes of the device 101.
[0108] As a variant 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 device 101; and / or - contextual information relating to 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, storage capacities and / or radio conditions of the device 101; and / or - contextual information relating to the energy capacities, storage capacities and / or 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 loT network 100, the routing choices according to the energy capacities of the nodes of the loT 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 node recipient. The energy optimization rule may in particular be determined in such a way 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 closest neighboring node. The closest neighboring node can be selected from among the neighboring nodes which make it possible to bring the data packet closer to the destination node.
[0116] In addition, 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 closest neighboring nodes. The closest neighboring nodes may be identified as the set of neighboring nodes located at a distance less than a first given 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 may 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 time of transmission determined, at step 305.
[0120] Alternatively, the third energy optimization rule may define that, if the current radio conditions of the device 101 do not satisfy 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 satisfy 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 previously. 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 makes it possible to improve the overall energy consumption of the loT 100 network, in that it makes it possible to transmit the data packet 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 neighboring node's battery 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 loT network 100, locally or for a set of nodes.
[0129] The aforementioned energy optimization rules are not mutually exclusive and can be combined. Alternatively, the device 101 can apply one or other of these energy optimization rules as a function of its energy capacities or as a function of a current period of the day or year.
Claims
Claims
1. 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.
2. 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.
3. 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 capabilities 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.
4. The method of claim 3, wherein, according to said at least one energy optimization rule, the selected neighbor node (303) from the set of close neighbor nodes, is the neighbor node of the set of close neighbor nodes having current energy capacities greater than the other neighbor nodes of the set of close neighbor nodes.
5. 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 su- superior to all other neighboring nodes, if the current energy capacities of the device are greater than a threshold.
6. 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.
7. The method of 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 time is a time predicted from the prediction model, for which the radio conditions satisfy the quality criterion.
8. 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.
9. The method of 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.
10. A method according to claim 7 or 9, wherein the prediction model is updated (301) upon obtaining contextual data from the device (101).
11. 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.
12. A 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.
13. 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: - selecting a neighboring node to which to transmit a data packet and / or determining 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; - transmitting, 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.
14. 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