Centralized determination of routing instructions in an IoT network for network energy optimization
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-21
- Publication Date
- 2026-08-07
AI Technical Summary
Existing IoT network routing solutions do not adequately consider energy constraints of nodes, leading to inefficient energy use, potential node exhaustion, and suboptimal network performance.
A centralized method for determining routing instructions in IoT networks, using a routing device that applies global energy optimization rules based on contextual information such as energy capacities, storage, and radio conditions of nodes.
This approach optimizes overall network energy consumption, extends node lifetimes, and reduces the network's carbon footprint by making informed routing decisions that account for energy constraints.
Smart Images

Figure 00000029_0000 
Figure 00000029_0001 
Figure 00000030_0000
Abstract
Description
Title of the invention: Centralized determination of routing instructions, in an IoT network, for energy optimization of the 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 data 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 or routing policy.
[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 data packets do not take into account the energy constraints of the different nodes, the overall 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, the interruption of the service they implement, and more generally to routing rules that are not optimal from an overall energy point of view for the network.
[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 the network from a global point of view.
[0010] In particular, a solution is desired which is applicable to IoT networks with a centralized topology, organized with routing tables shared by the nodes of the network, or with a mesh type topology, or a tree topology, but comprising a routing device which is at least locally centralized.
[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 transmitting routing instructions in a wireless communication network comprising a set of connected objects forming nodes of the network, the method being implemented by a routing device in charge of a routing policy applied by a set of nodes of the network, the method comprising the following steps: - determination, as a function of at least one global energy optimization rule of the network based on at least one contextual information relating to energy capacities, storage capacities and / or radio conditions of at least one node of the set, of at least one routing instruction relating to at least one node of the set, called the node concerned; - transmission of said at least one routing instruction to said at least one node concerned.
[0013] Thus, a centralized routing device in charge of a set of nodes is configured to determine a routing instruction, or a set of routing instructions, taking into account contextual information on the nodes of the set and applying at least one global energy optimization rule of the network. Such a rule is predetermined so as to receive as input one or more contextual information, and to indicate at least one routing instruction allowing global energy optimization of the network, for example allowing to increase an overall lifespan of the nodes and / or to reduce the overall energy consumption in the network when transferring a data packet. It is thus made possible to globally optimize the network's energy, thereby reducing its overall carbon footprint.
[0014] The set of nodes may be a part of the network or the entire network.
[0015] According to embodiments, the at least one energy optimization rule global network optimization may include a rule for optimizing the overall energy consumption of a packet transfer in the network and / or a rule for optimizing the overall lifetime of the nodes in the set.
[0016] The routing instruction obtained thus makes it possible to increase the overall lifetime of the nodes and / or to reduce the overall energy consumption in the network during the transfer of a data packet, thus contributing to the overall energy optimization of the network.
[0017] According to embodiments, the at least one piece of contextual information can be obtained by receiving a data packet comprising said at least one piece of contextual information, from one of the nodes of the set.
[0018] Thus, the nodes can themselves send contextual information concerning them to the centralized routing device, which allows regular updating of the contextual information, and therefore better determination of the routing instructions transmitted to the nodes. The overall energy optimization of the network is thus improved.
[0019] According to embodiments, several contextual information can be obtained by receiving a data packet comprising contextual information relating to energy capacities, storage capacities and / or radio conditions of several nodes of the set.
[0020] Thus, the data packet can be enriched by the intermediate nodes through which it is routed, with the contextual information concerning these intermediate nodes. The feedback of the contextual information to the routing device is thus shared between the nodes, which reduces the number of data packets comprising the contextual information routed in the network, and also contributes to reducing the energy consumption of the set of nodes and extending their lifetime.
[0021] In addition or as a variant, the routing device can store in a memory, for the nodes of the set, current values of contextual information relating to energy capacities, storage capacities and / or radio conditions of the node, and the method can further comprise, for any reception of contextual information relating to a given node in a data packet, updating the current value of said contextual information stored in the memory. Said at least one routing instruction can be determined according to at least one global energy optimization rule of the network based on the current values of the contextual information stored in the memory for the nodes of the set.
[0022] Thus, a regular update of the contextual information by the iteration of the method according to the invention makes it possible to regularly determine routing instructions making it possible to adapt the routing policy in the set of nodes. Continuous optimization of the routing policy is allowed, which is particularly advantageous in the case where the network and its nodes evolve over time.
[0023] Alternatively, the routing device may store in a memory, for the nodes of the set, a history for each contextual information, the history comprising associations between values of the contextual information and respective dates. For any reception of contextual information relating to a given node in a data packet, the method may comprise updating the history of the contextual information. Said at least one instruction may be determined according to at least one global energy optimization rule of the network based on the histories of the contextual information stored in the memory for the nodes of the set.
[0024] Storing a history, and updating it regularly, makes it possible to enrich the stored contextual information, which allows for more precise determination of routing instructions making it possible to reduce the overall energy consumption linked to the transfer of data packets and to increase the lifetime of the nodes.
[0025] In addition, the method may further comprise an estimation of a future temporal evolution of a given contextual information of a given node, from the history of the given contextual information, and said at least one routing instruction may be determined according to at least one global energy optimization rule of the network based on said future temporal evolution of the given contextual information.
[0026] Thus, the routing instruction can be determined on the basis of predicted or estimated contextual information, which makes it possible to anticipate the variation of the contextual information in the nodes, and allows for better accuracy of the routing instruction. In particular, it is made possible to instruct the routing of packets during periods more favorable for transmitting data packets, for example when the energy capacities of a node are high, for example greater than a threshold defined in the global energy optimization rule, and / or when the radio conditions are good, for example greater than a threshold defined in the global energy optimization rule.
[0027] According to embodiments, said at least one routing instruction may be determined by application of an artificial neural network, capable of receiving as input said at least one piece of contextual information, said artificial neural network being obtained by machine learning to implement said at least one global energy optimization rule of the network. The use of an artificial neural network is particularly suitable in the case of a complex optimization problem in a system, and thus makes it possible to achieve high performance with respect to the optimization criterion(s).
[0028] According to embodiments, at least one global energy optimization rule of the network is further based on permanent information relating to the set of nodes and stored in said routing device, the permanent information comprising: - respective positions of at least some nodes of the set; and / or - respective levels of physical accessibility of at least some nodes of the set; and / or - characteristics intrinsic to at least some nodes, such as a maximum storage capacity and / or a transmission power of a communication interface and / or computing capabilities; and / or - to services respectively implemented by at least some nodes of the set.
[0029] Thus, the routing instruction is determined from a global energy optimization rule of the network based on rich information describing the network, or at least the set of nodes, whether this information is permanent or dynamic. This results in better routing of packets in the network from the point of view of the optimization criterion(s).
[0030] According to embodiments, said at least one global energy optimization rule of the network may comprise at least one global energy consumption optimization rule of a data packet transfer, and said at least one routing instruction obtained according to said at least one global energy consumption optimization rule of the data packet transfer may define a route for a data packet transfer between a source node and a destination node of the set.
[0031] Thus, the routing instruction makes it possible to indicate the routes to be considered for routing data packets and which have lower overall energy consumption.
[0032] According to embodiments, said at least one routing instruction may comprise at least one first routing instruction for at least one first node concerned, and at least one second routing instruction for at least one second node concerned. Thus, it is possible to optimize the set of nodes according to the first criterion and / or the second criterion by differentiated instructions between several nodes of the set, which allows the implementation of a more precise routing policy.
[0033] Additionally, the first routing instruction may instruct said at least one first node concerned to forward a data packet to the second node concerned, and the second routing instruction may instruct the second node concerned to store several received data packets for routing, and to forward said data packets together. The second node may be a node with greater storage capacity than the other nodes in the set. Sending multiple data packets in bulk reduces the energy consumption generated by the transmission, compared to sending each of the data packets separately.
[0034] According to embodiments, the given contextual information for which the future temporal evolution is estimated is contextual information relating to the energy capacities of the given node, the node concerned by the routing instruction may be the given node, and the routing instruction may indicate a transmission period for the transfer of at least one data packet, the transmission period being determined from the estimation of the future temporal evolution of the contextual information relating to the energy capacities of the given node. Thus, the given node is allowed to transmit during transmission periods in which its energy capacities are high, for example above a given threshold, which makes it possible to improve the lifetime of the node, or of several nodes if several routing instructions are thus determined. The overall lifetime of the nodes of the network is thus improved.
[0035] According to embodiments, the routing instruction may indicate several routes for the transfer of data packets, the routes all passing a given node, the given node may be determined by at least one global energy optimization rule of the network based on a level of physical accessibility of the given node, the level of physical accessibility of the given node being higher than the levels of physical accessibility of other nodes in the set.
[0036] Thus, an optimization of the overall lifetime of the nodes can be done at the expense of a particular node, which can thus be "sacrificed". This particular node is determined to be an easily accessible node, which allows easy replacement of the node by an operator.
[0037] According to a hardware aspect, the invention relates to a routing device in charge of a routing policy applied by a set of connected objects forming nodes of a wireless communication network of a wireless communication network, comprising: - a processor configured to determine, as a function of at least one global energy optimization rule of the network based on at least one contextual information relating to energy capacities, storage capacities and / or radio conditions of at least one node of the set, at least one routing instruction relating to at least one node of the set, called the node concerned. The processor is further configured to transmit, via the interface, said at least one routing instruction to said at least one node concerned.
[0038] 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.
[0039] Such programs may use any programming language. They may be downloaded from a communications network and / or recorded on a computer-readable medium.
[0040] 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
[0041] 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:
[0042] [Fig. 1a] illustrates an example of an IoT network according to embodiments of the invention.
[0043] [Fig. 1b] illustrates the structure of a device forming a node of an loT network.
[0044] [Fig.2] is a method of transmitting a routing instruction, implemented by a routing device of an IoT network, according to embodiments of the invention;
[0045] [Fig.3] illustrates the transmission of contextual information relating to nodes of the network, to the routing device, according to embodiments of the invention.
[0046] [Fig.4] illustrates the structure of a routing device according to embodiments of the invention. Description of the embodiments
[0047] [Fig. 1a] illustrates an example of an environment for implementing the invention according to embodiments.
[0048] An loT network 100 is capable of enabling the exchange of information, in the form of data packets, between nodes of the network 100.
[0049] 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 object connected.
[0050] No restriction is attached to the service provided by each of the nodes of the loT network 100. In the example of [Fig.1a], five nodes 101.1 to 101.5 have been shown for illustrative purposes. The loT network 100 according to the invention comprises K nodes, K being an integer greater than 1, often greater than 5, and possibly greater than 10, or even greater than 100.
[0051] Thus, the nodes represented in [Fig.1a] may be only a part of the loT network 100, which may include other nodes not represented, when K is strictly greater than 5.
[0052] 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.
[0053] 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 home network of the WLAN type, for "Wireless Local Area Network" in English, or WP AN, 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.
[0054] The wireless communication protocol defining the format of the data packets and the manner of exchanging the data packets between the set of nodes 101.1 to 101.5 of the network, in particular the method of physical transmission of the data packets.
[0055] According to the invention, the loT network 100 is any network topology, in which the routing of data packets between the nodes of the network is in accordance with a routing policy defined and updated by at least one routing device 110, according to the invention. The routing device 110 may define a routing policy for all the nodes of the loT network, or for a sub-part of the loT network 100, for example for the set of nodes 101.1 to 101.5 shown in [Fig. 1a].
[0056] The topology of the loT 100 network can be a mesh network, also called “Mesh” in English, or a tree network, and for each of these topologies, the invention proposes to define a routing policy in the routing device 110 in charge of at least part of the loT network 100.
[0057] 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.
[0058] Alternatively, the loT network 100 is a network of a topology comprising a central element which centralizes and redistributes the data packets to the connected objects, further comprising a routing device making it possible to define a routing policy for routing the data packets between the source node, the central element and the destination node. In this case, the central element and the routing device 110 may be one and the same device.
[0059] In the following, it is considered, for illustrative purposes, that the loT network is a long-range network with a mesh topology.
[0060] Depending on the range associated with the transmission power of a given node and the distance to other nodes in the loT network 100, the given node may transmit a data packet to a subset of the nodes in the loT network, or to all nodes in 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. In a tree-type network, however, the neighboring nodes are the parent or child nodes of the given node.
[0061] In the example of [Fig.1a], 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 the node 101.4 or 101.5, 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.
[0062] 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. The wireless communication channels 102.1 and 102.2 depend on the communication protocol used in the loT network 100, which can be one of the aforementioned protocols.
[0063] The first node 101.1 transmits a data packet to the second node 101.2 or to the third node 101.3 according to the routing policy imposed on it by the server. routing 110. For this purpose, each node can store routing tables, or more generally routing instructions, which define rules for selecting neighboring nodes based on the destination node of a data packet, whether the packet is sent by the node or routed by this node. The routing tables or routing instructions can be updated by receiving new routing instructions, resulting from updates to the routing policy by the routing device 110, as described below.
[0064] To transmit a data packet or a contextual information packet to the routing device 110 as a destination node, as described in the following, the first node 101.1 routes the data packet or information packet via the second node 101.2 or via the third node 101.3, selected according to the routing policy currently applied. The third node 101.3 for example can then transmit the data packet directly to the routing device 110 by a third wireless communication channel 102.3 between the third node 101.3 and the routing device 110. A wireless communication channel, not shown in FIG. 1, can also allow the exchange of packets between the routing device 110 and the second node 101.2.
[0065] Note that the 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.
[0066] 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.
[0067] 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.
[0068] The routing device 110 may be dedicated to managing the routing policy, as described below. Alternatively, the routing device 110 is both dedicated to managing the routing policy, and is also a connected object forming a node of the network and communicating data packets with other nodes.
[0069] [Fig.lb] illustrates the structure of a node 101 of the loT network 100, which may be one of the nodes 101.1 to 101.5 presented previously, according to embodiments of the invention.
[0070] The node 101 is a connected object capable of implementing at least one service by executing at least one action.
[0071] No restrictions are attached to the service implemented by node 101, which can be: - a data capture service by at least one sensor 124 of the node 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 124 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 124 and / or based on data received from other nodes of the loT network 100, or a series of predefined actions.
[0072] Thus, the implementation of the service by the node may involve the reception and / or transmission of data packets in the loT network 100.
[0073] The node 101 may comprise a processor 121 configured to communicate unidirectionally or bidirectionally, via one or more buses or via a direct wired connection, with a memory 122 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 122 comprises several memories of the aforementioned types.
[0074] The memory 122 temporarily or permanently stores the data captured by the node 101 and / or the data received from other nodes of the loT network 100.
[0075] The processor 121 is capable of executing instructions, stored in the memory 202, for the generation of data packets or contextual information packets according to the invention, described with reference to [Fig.3].
[0076] The node 101 further comprises a wireless communication interface 123, 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.
[0077] The node 101 may further comprise at least one sensor 124 and / or at least one actuator 125.
[0078] The sensor 124 may be capable of acquiring data such as color, black and white, or infrared images, or of performing measurements of the environment of the node 101, such as measurements of temperature, brightness, humidity, or any other variable. Alternatively, the sensor 124 may be a presence detector. The node 101 may in particular comprise several sensors 124 capable of obtaining complementary data.
[0079] The actuator 125 can be controlled by the processor 121, based on data from the sensor 124 or other nodes of the IoT network, in order to implement at least one action, or series of actions, specific to the service associated with node 101. No restrictions are attached to the actuator, which can trigger any type of action, such as turning on a lamp, opening or locking a door, taking a photograph, turning on a heater, moving node 101, etc.
[0080] For example, if node 101 is a connected enclosure, actuator 125 may be a loudspeaker.
[0081] The node 101 may further comprise a battery 125, supplying power to all of the previously described components of the node 101. The battery 125 may be a battery that is rechargeable or not. When the battery 125 is rechargeable, it may be connected to a charging unit 126 external to the node 101.
[0082] The charging unit 126 is capable of supplying electrical energy to the battery 125. In order to generate such electrical energy, the charging unit 126 may comprise a module for capturing solar, wind or thermal energy, such as a thermal or photovoltaic solar panel for example.
[0083] [Fig.2] is a diagram which illustrates the steps of a method for transmitting routing instructions, implemented by the routing device 110 illustrated with reference to [Fig.1a] and the structure of which is described with reference to [Fig.4].
[0084] The method described in the following is applied by the routing device 110 to the entire loT network, or to only part of the nodes of the loT network 100. In the following, it is considered that the routing device 110 is in charge of managing the routing policy for the set of nodes 101.1 to 101.5 shown in [Fig.1a]. In practice, the routing device 110 according to the invention can however apply a routing policy to more than ten nodes, or even to several tens or hundreds of nodes.
[0085] At a step 200, the loT network 100, or the part of the loT network 100 illustrated in [Fig.1a] is in an initial situation. Such a situation may correspond to the installation of the nodes 101.1 to 101.5, for implementation of their respective services, as well as the routing device 110. In the initial situation, a given routing policy is applied by each of the nodes, the routing policy possibly comprising routing tables, indicating packet routing paths for a given destination node and for a given source node. Each node may store the entire routing policy, or may store the part of the routing policy that concerns it.
[0086] The routing policy can be stored by default in each of the nodes, or can be established by the routing device 110, after a phase of observation of the data packets exchanged between the nodes 101.1 to 101.5.
[0087] According to the invention, the routing policy implemented in the loT network is de completed from a set of at least one global network energy optimization rule. The set may comprise several global network energy optimization rules. A global network energy optimization rule is understood to mean any function capable of determining a routing instruction from at least one piece of contextual information provided as input, as described below, the rule being defined beforehand so that the routing instruction optimizes the overall energy consumption of the network. No restriction is attached to such rules, which may for example be based on a simple comparison between contextual information and a predefined threshold, the routing instruction being dependent on the result of the comparison. According to other embodiments, the energy optimization rule may take more complex forms.For example, the set of at least one global energy optimization rule may be an artificial neural network whose parameters are trained by machine learning as described later. The set of at least one global energy optimization rule of the network may include: . - at least a first rule for global optimization of the transfer of data packets in terms of energy consumption induced by the transfer. The adjective "global" does not mean that the routing policy aims to minimize the energy consumption of each node in the IoT network, but that an average value or one resulting from a weighting of the energy consumption of the nodes, or an aggregated value (a sum) of the energy consumption of nodes on the path of a data packet, is minimized. Such optimization may be to the detriment of the energy consumption of a particular node, as detailed in the following.Such at least one first optimization rule may take as input one or more contextual information relating to energy capacities of the node, to storage capacities of the node and / or to radio conditions of the node; and / or - at least one second optimization rule relating to the overall lifetime of the nodes of the IoT network. The adjective "overall" does not mean that the routing policy aims to maximize the lifetime of each node of the IoT network, but that an average value or one resulting from a weighting of the lifetimes of the nodes is maximized. Such optimization may be to the detriment of the lifetime of a particular node, as detailed in the following. Such at least one second optimization rule may take as input one or more contextual information relating to energy capacities of the node, to storage capacities of the node and / or to radio conditions of the node.A second optimization rule can for example define a route not passing through a node whose current battery level is lower than a given threshold, in order to preserve the node, if the other nodes have current battery levels higher than the given threshold.
[0088] Furthermore, during the step 200 of initializing the loT network, the routing device 110 can store permanent information relating to the loT network 100, or to the part of the loT network dedicated to it, in particular to the set of nodes 101.1-101.5. Such permanent information relating to the nodes of the loT network 100 can in particular relate to: - the respective positions of nodes 101.1 to 101.5 and their physical accessibility. Physical accessibility means the ability of a node to be replaced by an operator, which depends on its physical location and the way in which it is fixed to a support in particular. Physical accessibility can be expressed by a score varying between a minimum score and a maximum score. A minimum score may indicate that the node is not very accessible, for example because it is a water meter in a confined space and difficult for an operator to access. On the contrary, a maximum score may be given to a node accessible outdoors, for example fixed to a pole and directly accessible at operator height; - to intrinsic characteristics of the nodes, such as a maximum storage capacity and / or a transmission power of the wireless communication interface 123, and / or computing capabilities of the processor 121; and / or - to the service implemented by each node, including in particular the action(s) implemented as well as the application constraints of the node.
[0089] At least one global energy optimization rule may further be based on at least one permanent piece of information.
[0090] The following steps of the method are part of a current phase during which the nodes are in service and exchange data packets in the loT network 100, by routing the data packets according to the routing policy of the routing device 110.
[0091] In a step 201, the routing device receives a packet comprising at least one piece of contextual information relating to at least one of the nodes 101.1 to 101.5. According to the invention, the contextual information relates to at least one of: - the node's energy capabilities, - the node's storage capabilities; and - the node's radio conditions.
[0092] The packet may include multiple contextual information per node, for example a combination of the contextual information listed above, and may, according to some embodiments, include contextual information relating to multiple nodes.
[0093] According to the invention, contextual information is distinguished from main (or application) data communicated in the data packets, main data from which the nodes implement the service associated with them. The in Contextual trainings relate to the energy, storage or radio conditions of the nodes of the IoT 100 network, as stated above.
[0094] Contextual information relating to the energy capabilities of a node may be: - energy capacities of the node, i.e. a current or predicted level of autonomy of the battery 125 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 125; - a type of energy source associated with the loading unit 126 of the node; - an average or current rate of energy renewal of the battery 125 of the node, as well as schedules associated with the renewal of the battery energy.
[0095] The contextual information relating to the storage capacities of a node may be a total storage capacity of the memory of a node 122 and / or a current storage capacity (the total capacity reduced by the quantity of data already stored). As indicated previously, the total storage capacity may be known to the routing device 110 during the initialization step 200. Alternatively, it may be known from the step 201 of receiving the packet comprising the contextual information on the storage capacities of the node.
[0096] Contextual information about a node's radio conditions may be current (at a given time), predicted (at a future time) radio conditions, or associations between time ranges and measured or predicted node radio conditions.
[0097] The data packet including the contextual information can be: - an application data packet having the same format as a data packet used for the transfer of application data, i.e. used for, or resulting from, the implementation of the services of nodes 101.1 to 101.5; - a contextual information packet, dedicated to the transport of such contextual information, and which may have a different format from the application data packet commonly used in the IoT 100 network.
[0098] [Fig.3] illustrates the transmission of packets comprising node contextual information to the routing device 110, which receives such contextual information during step 201 described above.
[0099] As detailed previously, the first node 101.1, to transmit a packet to the routing device 110, must transmit to an intermediate node, selected according to the routing policy. In this case, it is the second node 101.2.
[0100] The first node 101.1 transmits at a step 301 to the second node 101.2 an MSI data packet comprising one or more contextual information concerning it, such as contextual information C11 and C12, for example a current level of autonomy of the battery 125 of the first node 101.1 and schedules associated with the charging unit 126 associated with the first node 101.1. However, the contextual information C11 and C12 may be any of the contextual information previously described.
[0101] Upon receipt of the MSI message, the second node 101.2 can directly forward the MSI data packet, without modifying it, to the next intermediate node enabling routing to the routing device 110, according to the routing policy. In the example of [Fig.1a], the second node 101.2 is close enough to the routing device 110 to directly forward to it the MSI data packet comprising the contextual information of the first node 101.1.
[0102] Alternatively, the second node 101.2 may enrich the MSI data packet with other contextual information.
[0103] In a first example of such a variant, the second node 101.2 adds information C13 relating to the radio conditions of the first node 101.1. The contextual information relating to the radio conditions of the first node 101.1 can be estimated from the quality of the MSI packet received by the second node 101.2, for example as a function of a signal-to-noise ratio. An enriched MS2.1 data packet is thus obtained by the second node 101.2, which can transmit it to the routing device 110 in a step 302.1. In a second example of the variant according to which the MSI packet is enriched before transmission to the routing device 110, the second node 101.2 can further add contextual information concerning it in an enriched MS2.2 data packet compared to the received MSI data packet. The contextual information concerning the second node 101.2 may be contextual information relating to the energy capacities of the second node 101.2, relating to the storage capacities of the second node 101.2 or relating to the radio conditions of the second node 101.2. For example, two contextual information C21 and C22 relating to the second node are integrated in the enriched data packet 302.2. The contextual information C21 and C22 are for example comparable to the contextual information C11 and C12 relating to the first node 101.1, and may thus be a current level of autonomy of the battery 125 of the second node 101.2 and schedules associated with the charging unit 126 associated with the second node 101.2. However, alternatively, the contextual information C21 and C22 may be any of the contextual information previously described.
[0104] In the example of [Fig.3], the enriched data packet M2.2 comprises, in addition to the contextual information C21 and C22, the contextual information C13 previously described. Alternatively, the data packet MS2.2 may be enriched with the contextual information C21 and C22 relating to the second node 101.2, but without further integrating contextual information C13 relating to the radio conditions of the first node 101.1.
[0105] The enriched MS2.2 data packet may be transmitted by the second node 101.2 to the routing device 110, at a step 302.2 alternative to step 302.1.
[0106] Referring again to [Fig.2], following step 201 described above, the routing device 110 may update contextual information that it stores on the nodes 101.1 to 101.5, at a step 202. For example, the routing device 110 may store, in a memory, a database comprising, for each node among the nodes 101.1 to 101.5, contextual information relating to the energy capabilities of the node, contextual information relating to the storage capabilities of the node and / or contextual information relating to the radio conditions of the node.
[0107] In a first example, the routing device stores, for each node, current values of the contextual information relating to the energy capacities, the storage capacities and / or the radio conditions. Upon receiving contextual data relating to a node at a step 201, the routing device 110 updates the current value of the contextual information in its memory. Thus, the routing device 110 can store tables keeping up to date the current values of the contextual information relating to the nodes 101.1 to 101.5 of the set.
[0108] In a second example, the routing device 110 stores, for each node of the set, a history of the contextual information relating to the energy capacities, the storage capacities and / or the radio conditions. In the history, each value of a previously received contextual information is associated with a date or time stamp: the history thus represents the past temporal evolution of the value of the contextual information. On receipt of contextual data relating to a node at a step 201, the routing device 110 adds, for each contextual data item, its value received at step 201 in the history, in association with a date, which may be the date of reception by the routing device 110 or the date of transmission by the node to which the contextual data item relates.
[0109] The routing device 110 can, on the basis of the history of each contextual information of a node, estimate a future temporal evolution of the temporal information, by extrapolation, pattern detection or any method of analyzing the history of the contextual information. Such an estimation can further be based on the permanent information relating to the node, such as its total energy capacity, the service that it implements, the nature of the load unit that supplies it. Alternatively, the contextual information of the history can feeding a machine learning process aimed at obtaining a predictive model of the evolution of the contextual information for a given node. The machine learning of the model can be based on the history of the contextual information of the given node, as well as on other histories of the same contextual information obtained for other nodes similar to the given node, for example performing the same service and / or having the same energy constraints, such as the same load unit 126 as the given node.
[0110] Thus, updating the contextual information in step 202 may not only comprise storing the contextual information received in step 201, but also estimating the future temporal evolution of the contextual information.
[0111] 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. 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 instant, and the actual value obtained at this given instant.
[0112] In a step 203, the routing device 110 checks whether at least one criterion for updating the routing policy is met or not. No restriction is attached to such a criterion. For example, the routing policy may be updated at a given frequency, for example, every week, or every month. Alternatively, the routing policy may be updated upon receipt of a given number of node contextual information since a last update of the routing policy.
[0113] If the routing policy update criterion is not met, the method returns to step 201 until new contextual information relating to one or more nodes 101.1 to 101.5 is received.
[0114] If the routing policy update criterion is met, the method proceeds to a step 204.
[0115] In step 204, the routing device 110 updates the routing policy according to at least one global energy optimization rule of the network, for example according to the at least one first optimization rule or the at least one second optimization rule, said at least one optimization rule being based on (i.e. being able to receive as input): - one or more of the contextual information relating to nodes 101.1 to 101.5 updated in step 202 described previously; - optionally one or more of the aforementioned permanent information relating to all nodes 101.1 to 101.5.
[0116] Because the contextual information has been updated, the updated routing policy differs from the previous version, and thus includes at least one change from the previous version. The updated routing policy may: - be a new routing table, in which at least one path defined according to a destination node and a source node is modified compared to a routing table of the previous version of the routing policy, the modified path forming a new routing instruction; or - may include the routing tables from initialization step 200, and one or more specific routing instructions dedicated to certain nodes.
[0117] In a step 205, the routing device 110 determines at least one routing instruction relating to at least one node among the nodes 101.1 to 101.5, capable of implementing the updated routing policy. Said at least one instruction thus allows the routing policy to be updated once it is applied locally by the node(s) concerned.
[0118] In a step 206, the routing device 110 transmits said at least one routing instruction to the node(s) concerned by said at least one routing instruction. The routing instruction may be transmitted in an application data packet or in a dedicated instruction packet, which may have a format different from the application data packet.
[0119] Note that according to a variant, the nodes do not apply a given routing policy initially defined during step 200, and updated regularly in step 204, the update being implemented following step 206. Instead, according to this variant, the routing device 110 directly determines one or more routing instructions as a function of at least one global energy optimization rule of the network, for example as a function of the at least one first optimization rule or the at least one second optimization rule, said at least one optimization rule being based on (i.e. being able to receive as input): - one or more of the contextual information relating to the nodes 101.1 to 101.5 updated in step 202 described previously; - optionally one or more of the aforementioned permanent information relating to all nodes 101.1 to 101.5.
[0120] In this case, the routing policy is constructed as the method is iterated, by adding routing instructions for the nodes concerned, and there is no pre-existing routing policy.
[0121] The routing device 110 thus determines at least one routing instruction as a function of the at least one global energy optimization rule of the network based on one or more of the contextual information relating to the nodes and optionally on one or more of the permanent information. For this purpose, the routing device 110 may have an application based on an algorithm implementing the set of at least one global energy optimization rule of the network, the application being capable of receiving as input the contextual information relating to the nodes 101.1 to 101.5, or to a part of these nodes 101.1 to 101.5 and optionally the permanent information, and of determining as output at least one routing instruction relating to at least one node (or an update of the routing policy).Alternatively, the set of at least one rule does not take permanent information as input, but is defined, before its implementation, as a function of said permanent information.
[0122] Alternatively, the application implementing the set of at least one global energy optimization rule of the network may be based on a predictive model resulting from machine learning. For this purpose, during a learning phase, the routing device may collect contextual training information relating to the set of nodes 101.1 to 101.5, as well as optionally the permanent information relating to the set of nodes 101.1 to 101.5. This contextual information, and optionally the permanent information, is submitted to a model, for example an artificial neural network, configured to return at least one routing instruction as output. In addition, other training data is measured, collected or estimated so as to be able to evaluate a score relating to the application of the routing instruction: for example, the overall energy consumption generated by the transfer of a message between the nodes 101.1 to 101.5 following the application of the routing instruction, can be measured, collected, or estimated, and the overall energy consumption makes it possible to evaluate a performance score relating to the set of at least one optimization rule: such training makes it possible to define a first rule for optimizing the energy consumption of the set of nodes of the network. Alternatively, the optimization rule can be based on a measurement of an overall lifetime of the nodes of the set, for example an average value of the lifetime of the nodes of the network, following the application of the routing instruction: in this case, the training makes it possible to define a second rule for optimizing the overall lifetime of the nodes. The machine learning model is then reconfigured based on the score obtained. Alternatively, the model is capable of determining an entire routing policy, i.e. routing tables, and not simply individual routing instructions.
[0123] At the end of the learning phase, the model can be implemented in lo form software in the routing device 110, for application during the aforementioned steps 204 and 205.
[0124] The training data may be collected during the initiation phase 200 on the nodes 101.1 to 101.5 or may, alternatively, be simulated, or obtained on nodes distinct from the nodes 101.1 to 101.5, but arranged in a similar manner and having similar application constraints.
[0125] In the following, examples of routing instructions determined from global energy optimization rules of the network according to the invention are detailed for illustrative purposes.
[0126] In a first example, the at least one routing instruction determined in step 205 from a first rule for optimizing the overall energy consumption of the nodes indicates to one or more nodes concerned, to change at least a first route into a second optimized route, for the transfer of a data packet from a source node to a destination node, the second optimized route inducing a lower energy consumption compared to the first route. Such a first optimization rule can for this purpose be based on current radio conditions of the nodes of the set: in fact, when the current radio conditions are favorable for a node, it is capable of transmitting a data packet at a transmission power lower than that necessary in the event of unfavorable radio conditions.
[0127] In a second example, a first optimization rule or a second optimization rule determines a routing instruction in step 205 which indicates to one or more nodes concerned, to route data packets to a given node, the given node having energy and / or storage capacities greater than the other nodes. A routing instruction can also be sent to the given node, indicating to store the received packets, for transmission in blocks of several data packets at a time. Such a first or second optimization rule can thus be based on one or more of the contextual information relating to the energy and / or storage capacities of the nodes.
[0128] In a third example, a second optimization rule determines, when the battery level of several nodes is lower than a given threshold, at least one routing instruction which indicates to one or more nodes concerned, to route packets to a given storage node, for storage of the packets, in order to avoid energetically soliciting the nodes having a battery level lower than the given threshold. The given storage node can be determined by the second optimization rule from the contextual information relating to the storage capacities of the nodes 101.1 to 101.5. According to this same second optimization rule, the storage device 110 can also send a routing instruction to the node of given storage, indicating a storage duration of the packets before retransmission in the IoT network, the storage duration being able to be determined by the second optimization rule according to the predicted evolution of the battery level of the nodes neighboring the given storage node. It is thus made possible to perpetuate the lifetime of the nodes, by reducing their solicitation, both in routing and in transmission, when their respective battery levels are below a given threshold.
[0129] In a fourth example, a second optimization rule determines, when the routing device 110 is able to predict the future temporal evolutions of the energy capacities of the nodes 101.1 to 101.5, by constructing a prediction model for each node, for example during the step 202 described previously, for the nodes concerned, a routing instruction indicating, for each node concerned, a determined period of transmission of data packets. The transmission period allocated to each node concerned may be a period during which the energy capacities of the node concerned are greater than a given threshold and / or while the battery 125 of the node concerned is powered by the charging unit 126, which may be intermittent. Thus, the lifetimes of the nodes concerned by the respective routing instructions are extended.
[0130] In a fifth example, a second optimization rule determines a routing instruction indicating to several nodes concerned, to modify at least one route, and preferably several routes, of routing tables so that they pass through a given node, or through several given nodes, the given node or the given nodes being selected according to their level of physical accessibility, in particular when their level of physical accessibility is higher than a given threshold, or higher than the levels of physical accessibility of the other nodes. Thus, the lifetime of the nodes other than the given nodes is extended, because they are less requested for routing, to the detriment of the given nodes which are however easily replaceable by an operator, since they are easily accessible. Such a second optimization rule can thus be based on the permanent accessibility information of the nodes.
[0131] The examples described above are complementary and not mutually exclusive. Thus, several routing instructions resulting from the application of several global energy optimization rules of the network can be determined by the routing device 110 during steps 204 and 205.
[0132] [Fig.4] illustrates the structure of the routing device 110, according to embodiments of the invention.
[0133] The routing device 110 comprises a processor 401 configured to communicate unidirectionally or bidirectionally, via one or more buses or via a direct wired connection, with a memory 402 such as a memory of type “Random Access Memory”, RAM, or a “Read Only Memory” type memory, ROM, or any other type of memory (Flash, EEPROM, etc.). Alternatively, the memory 402 comprises several memories of the aforementioned types.
[0134] The memory 402 comprises at least one non-volatile memory in which the data used and / or resulting from the implementation of the steps of the method according to the invention described with reference to [Fig.2] are stored, temporarily or permanently.
[0135] In particular, the memory 402 can store: - contextual information relating to the energy capacities, storage capacities and / or radio conditions of the set of nodes 101.1-101.5; and - permanent information relating to the set of nodes 101.1-101.5; - the application based on an algorithm, for example implementing an artificial intelligence model, capable of implementing a set of at least one global energy optimization rule of the network to determine said at least one routing instruction during steps 204 and 205 described previously - optionally, prediction models capable of predicting the evolution of contextual information relating to the energy capacities, storage capacities and / or radio conditions of the nodes 101.1-101.5.
[0136] The processor 401 is capable of executing instructions, stored in the memory 402, for implementing the steps of the method according to the invention, described with reference to [Fig.2],
[0137] The routing device 110 comprises a first interface 403 configured for transmitting and receiving data packets, such as data packets comprising application data, contextual information relating to one or more nodes and routing instructions, in the loT network 100, according to the wireless communication protocol used in the loT network 100, among the protocols listed previously. In particular, the first interface 403 is capable of and configured to receive data packets comprising contextual information relating to one or more nodes during the step 201 described previously, and is capable of and configured to transmit one or more data packets comprising one or more routing instructions during the step 206 described previously.
[0138] The routing device 110 may further comprise a second interface 404 capable of communicating with a network server. The network server may modify the application making it possible to implement the steps 204 and 205 described previously, in particular by changing an optimization rule for updating the routing policy and / or for determining the at least one routing instruction.
Claims
Claims
1. Method for transmitting routing instructions in a wireless communication network (100) comprising a set of connected objects forming nodes of the network, the method being implemented by a routing device (110) in charge of a routing policy applied by a set of nodes (101.1-101.5) of the network, the method comprising the following steps: - determining (204; 205), i as a function of at least one global energy optimization rule of the network based on at least one contextual information relating to energy capacities, storage capacities and / or radio conditions of at least one node of the set of at least one routing instruction relating to at least one node of the set, said node concerned; - transmitting (206) said at least one routing instruction to said at least one node concerned.
2. Method according to claim 1, wherein the at least one global energy optimization rule of the network comprises a rule for optimizing global energy consumption of a packet transfer in the network and / or a rule for optimizing a global lifetime of the nodes of the set.
3. Method according to claim 1 or 2, wherein at least one contextual information is obtained by receiving (201) a data packet comprising contextual information relating to energy capacities, storage capacities and / or radio conditions of one or more nodes (101.1-101.5) of the set.
4. Method according to claim 3, wherein the routing device (110) stores in a memory (402), for the nodes (101.1-101.5) of the set, current values of contextual information relating to energy capacities, storage capacities and / or radio conditions of the node, and wherein the method further comprises, for each reception (201) of contextual information relating to a given node in a data packet, updating (202) the current value of said contextual information stored in the memory; wherein said at least one routing instruction is determined (204; 205) according to at least one global energy optimization rule of the network based on the current values of the information contextual stored in memory for the nodes of the set.
5. Method according to claim 3, wherein the routing device (110) stores in a memory (402), for the nodes (101.1-101.5) of the set, a history for each contextual information, the history comprising associations between values of the contextual information and respective dates; wherein, for each reception (201) of contextual information relating to a given node in a given packet, the method comprises updating (202) the history of the contextual information; said at least one instruction is determined (204; 205) according to at least one global energy optimization rule of the network based on the histories of the contextual information stored in the memory for the nodes of the set.
6. Method according to claim 5, further comprising an estimation (202) of a future temporal evolution of a given contextual information of a given node (101.1-101.5), from the history of the given contextual information, and in which said at least one routing instruction is determined (204; 205) according to a global energy optimization rule of the network based on said future temporal evolution of the given contextual information.
7. Method according to one of the preceding claims, in which said at least one routing instruction is determined (205; 205) by application of an artificial neural network, capable of receiving as input said at least one piece of contextual information, said artificial neural network being obtained by machine learning to implement said at least one global energy optimization rule of the network.
8. Method according to one of the preceding claims, wherein at least one global energy optimization rule of the network is further based on permanent information relating to the set of nodes (101.1-101.5) and stored in said routing device (110), the permanent information comprising: - respective positions of at least some nodes of the set; and / or - respective physical accessibility levels of at least some nodes of the set; and / or - characteristics intrinsic to at least some nodes, such as a maximum storage capacity and / or a transmission power of a communication interface and / or computing capacities; and / or - to services respectively implemented by at least some nodes of the set.
9. Method according to one of the preceding claims, wherein said at least one global energy optimization rule of the network comprises at least one global energy consumption optimization rule of a data packet transfer, and wherein said at least one routing instruction obtained according to said at least one global energy consumption optimization rule of the data packet transfer defines a route for a data packet transfer between a source node and a destination node of the set.
10. Method according to one of the preceding claims, said at least one routing instruction comprises at least one first routing instruction for at least one first node concerned (101.1-101.5), and at least one second routing instruction for at least one second node concerned (101.1-101.5).
11. The method of claim 10, wherein the first routing instruction instructs said at least one first node concerned (101.1-101.5) to forward a data packet to the second node concerned, and the second routing instruction instructs the second node concerned (101.1-101.5) to store several received data packets for routing, and to forward said data packets together.
12. Method according to one of the preceding claims and claim 6, in which the given contextual information is contextual information relating to the energy capacities of the given node (101.1-101.5), in which the node concerned by the routing instruction is the given node, and in which the routing instruction indicates a transmission period for the transfer of at least one data packet, the transmission period being determined from the estimation of the future temporal evolution of the contextual information relating to the energy capacities of the given node.
13. Method according to one of the preceding claims and claim 8, wherein the routing instruction indicates several routes for the transfer of data packets, the routes all passing a given node (101.1-101.5), wherein the given node is determined by at least one global energy optimization rule of the network based on a level of physical accessibility of the given node, the level of physical accessibility of the given node being higher than the levels physical accessibility of other nodes in the set.
14. Routing device (110) in charge of a routing policy applied by a set of connected objects forming nodes (101.1-101.5) of a wireless communication network (110) of a wireless communication network, comprising: - a processor (401) configured to determine, as a function of at least one global energy optimization rule of the network based on at least one contextual information relating to energy capacities, storage capacities and / or radio conditions of at least one node of the set, at least one routing instruction relating to at least one node of the set, said node concerned, the processor being further configured to transmit, via an interface, said at least one routing instruction to said at least one node concerned.
15. A computer program implementable in a generation module as defined in claim 14, the program comprising code instructions which, when executed by a processor (401), performs the steps of the method defined in one of claims 1 to 13.