METHOD FOR MANAGING IN AN ADAPTIVE AND JOINT WAY THE ROUTING POLICY AND THE RETRANSMISSION POLICY OF A NODE IN AN UNDERWATER NETWORK, AND MEANS FOR ITS IMPLEMENTATION

20180302172 ยท 2018-10-18

Assignee

Inventors

Cpc classification

International classification

Abstract

The method of the invention envisages determining, for each packet that is to be transmitted/retransmitted, through an LLC communication protocol, which is the top sublayer of the datalink layer of the ISO-OSI model, (LLC logic) autonomously, node by node, the specific communication apparatus to be used from the ones available on the single node, to which subset of the nodes said packet is to be transmitted (routing logic), i.e., the number and the set of neighbouring nodes to which it is to be transmitted, the specific communication apparatus to be used from the multiple ones that may be available, and the maximum number of retransmissions to be made, by using a decentralized self-learning algorithm that enables each node to learn and select dynamically the best operating mode, according to the number of transmissions already made.

Claims

1) A method for selecting, in an underwater communication sensor network, at each transmission/retransmission of a packet, the set of the nodes to which said packet is to be sent, and which envisages, for each node, a module that governs the policy of transmission/retransmission of the LLC (Logical Link Control) layer and a routing module, said method being characterized in that it consists in: using a self-learning algorithm that determines, for each packet, autonomously and without explicit exchange of acknowledgement messages, taking into account the number of times this packet has already been transmitted, the optimal set of the nodes to which this packet is to be re-sent (routing logic); and determining the maximum number of retransmissions to be performed, selecting the best operating mode, according to the specific characteristics of the communication network.

2) The method as per the preceding claim, characterized in that, as the network conditions vary, using said decentralized self-learning algorithm, each node is able to modify its own policy in terms of number and identity of the nodes chosen as addressees and/or number of retransmissions to be attempted for a packet.

3) The method as per either of the preceding claims, characterized in that said algorithm is identical for all the nodes and is based upon Q-learning.

4) The method as per claim 1, characterized in that the LLC sublayer governs the retransmission logic of a node by carrying out in succession the following steps: when a node has to send (or re-send in the case of retransmission) a packet, it interfaces with the routing module of the node for identifying the nodes to which the packet is to be sent: for this purpose, the LLC sublayer sends to the network layer the number of times that the packet has already been transmitted (unsuccessfully) and receives from the latter the set of the nodes to which the packet is to be sent (a set that in general will be a function also of the number of retransmissions of that packet); after the node has sent a packet and set off a timer, it waits for an implicit acknowledgement using the overhearing technique whereby the packet is considered as having been sent successfully if at least one of the nodes to which it had sent the packet retransmits it, and then passes on to transmission of the next packet; if, instead, no copy of the packet is detected, it is assumed that none of the nodes have received it, and the packet is retransmitted after a backoff period; each packet being transmitted at the most a number K of times, after which the packet is rejected, said parameter K being dynamically set on the basis of the estimated load.

5) The method as per the preceding claim, characterized in that, in said self-learning algorithm, in each node i the state of a packet s is represented by the number of times that the packet has been transmitted (s=0 if the packet has not yet been transmitted, s=1 if the packet has already been transmitted once, etc.), while the possible actions a are the different subsets of nodes to which the packet can be sent: (a={j}: the packet is sent just to the node j, a={j.sub.1,j.sub.2}: the packet is sent to the nodes j.sub.1 and j.sub.2, a={j.sub.1, j.sub.2, . . . , j.sub.n}: the packet is sent to the nodes j.sub.1, j.sub.2, . . . , j.sub.n, etc.); and in that for each state, the self-learning algorithm keeps track of the set of variables Q.sub.i(s,a) for each value of s and a, Q.sub.i(s,a) representing the local estimate of the routing module regarding the cost associated to execution of the action a when the node i is in the state s, i.e., the total cost associated to sending to the nodes in the set a of a packet that has already been transmitted s times.

6) The method as per the preceding claim, characterized in that the algorithm envisages that, whenever the node has to send a packet, it carries out the following two steps: in the first step, it updates the estimates Q.sub.i(s,a); and in the second step, it chooses, on the basis of the values of these estimates, the set of the nodes to which to send the packet.

7) The method as per the preceding claim, characterized in that, in the updating step, it calculates the new value of Q.sub.i(s,a) as sum of: the total cost associated to the current transmission to the nodes in the set a of a packet that has already been transmitted s times; and the mean costdiscounted by a factor gamma comprised between 0 and 1of the cost of the possible further retransmissions of that packet, where the total cost associated to the current transmission to the nodes of the set a of a packet that has already been transmitted s times is equal to the sum of the following three terms: i. the cost of transmission of a packet to the set of nodes associated to the action a; ii. the cost employed by the nodes of the set a to deliver the packet to destination, said cost being defined as sum of the costs of transmission of each node j belonging to the set a, each weighted with the likelihood of the packet sent by the node i reaching the node j; and iii. the cost associated to the possible loss of the packet when this is rejected after the maximum number of retransmissions has been reached, defined by the product of a constant L that represents the penalty associated to the loss of the packet and the likelihood of the packet not being received by any of the addressee nodes, wherein, in the sum, the terms i and iii are weighted (with non-negative weights, the total sum of which is equal to 1) on the basis of the applicational requirements; and moreover, if the number of retransmissions s is less than the maximum value of retransmissions K, the term iii is not considered in so far as the packet is not yet to be considered as having been lost.

8) The method as per the preceding claim, characterized in that: once the various estimates have been updated, the choice of the addressee nodes falls on the set a to which the best cost (lowest value) is associated.

9) The method as per claim 1, characterized in that: each node calculates and stores the number of the packets correctly received from the neighbouring nodes, said calculation being made on all the packets, irrespective of whether the node is an addressee or not of the packets; and once the node j has received correctly a packet sent by the node i, it determines, from the serial number of the packet, the number of packets n.sub.i sent by the node and uses as estimate of the quality of the link the ratio between the packets received and the packets sent, calculated with respect to a sliding time window of appropriate dimensions, in order to have estimates that take into account the marked dynamicity of the underwater channel.

10) The method as per the preceding claims, characterized in that: the maximum number of retransmissions K is equal to the smallest integer greater than the ratio between the number 0.5 and the product between the time of collision, i.e., the sum of the time of transmission of a packet and of the maximum network propagation time (a value that can be estimated on the basis of the size of the network itself) and the network traffic, which is a value that can be estimated dynamically by each node on the basis of the traffic observed locally.

11) The method as per the preceding claims, characterized in that it further envisaged determining autonomously, node by node, the specific communication apparatus to be used from among the multiple ones that may be available.

12) The method as per the claim 11 and claim 5, further characterized in that in said self-learning algorithm, in each node i, the state of a packet s is represented by the number of times that the packet has been transmitted (s=0 if the packet has not been yet transmitted, s=1 if the packet has already been transmitted once, etc.), while the possible actions a specify the communication apparatus to be used and the different subsets of nodes to which the packet can be sent: a={m.sub.1, [j]} if the packet is sent to just the node j using the apparatus m.sub.1; a={m.sub.2, [j.sub.1, j.sub.2]} if the packet is sent to j.sub.1 and j.sub.2 using the apparatus m.sub.2, a={m.sub.1, [j.sub.1, j.sub.2, . . . , j.sub.n]} if the packet is sent to the nodes j.sub.1, j.sub.2, . . . , j.sub.n using the apparatus m.sub.1, etc.

13) The method as per claim 11 and claim 7, further characterized in that the overall cost associated to current transmission, to the nodes of the set a, of a packet that has already been transmitted s times is equal to the sum of the following three terms: i. the cost of transmission of a packet using the communication apparatus specified by the action a; ii. the cost used by the nodes of the set a to deliver the packet to destination, defined as sum of the costs of transmission of each node j belonging to the set a, each weighted with the probability of the packet sent by the node i reaching the node j (a probability that depends upon the specific communication apparatus used); and iii. the cost associated to the possible loss of the packet when this is rejected after the maximum number of retransmissions has been reached, said loss being defined by the product of a constant L that represents the penalty associated to the loss of the packet and the probability of the packet not being received by any of the addressee nodes.

14) The method as per claim 11, characterized in that: each node calculates and stores the number of the packets correctly received from the neighbouring nodes using the various communication apparatuses, said calculation being made on all the packets, irrespective of whether the node is an addressee of the packets or not; and the node j, once it has correctly received a packet sent by the node i using the apparatus m, determines, from the serial number of the packet, the number of packets n.sub.i.sup.m sent by the node using said apparatus and uses as estimate of the quality of the link corresponding to m the ratio between the packets received and the packets sent, calculated with respect to a sliding time window of appropriate dimensions, in order to have estimates that take into account the marked dynamicity of the underwater channel.

Description

[0019] Further characteristics of the invention will emerge clearly from the ensuing description with reference to the attached plates of drawings, in which:

[0020] FIG. 1 is a schematic illustration of a standard underwater network;

[0021] FIG. 2 is a scheme of the OSI protocol stack;

[0022] FIG. 3 shows the execution flow of the LLC sub layer;

[0023] FIG. 4 shows in detail the module for learning and choice of the next-hop nodes;

[0024] FIG. 5 shows the PDR (i.e., the packet-delivery ratio, which is the ratio between the number of packets received correctly by the sink node and the number of packets generated by the nodes) as a function of the network traffic, setting in comparison the CARMA protocol according to the invention with the known QELAR and EFlood protocols;

[0025] FIG. 6 shows the different plots of the energy consumed by the network for correct delivery of a data bit to the sink node, as a function of the network load, in the three reference protocols of FIG. 5;

[0026] FIG. 7 compares the mean latency defined as the time between generation of the packets and the time of their correct delivery to the sink node in the three different protocols of FIGS. 5 and 6; and

[0027] FIG. 8 shows the energy spent by the network nodes for successful delivery of a bit of information in the case of low and high traffic.

DETAILED DESCRIPTION OF THE INVENTION

[0028] With reference to the figures, consider an underwater sensor network as that of FIG. 1, made up of a plurality of nodes appropriately positioned to cover the area of interest. Irrespective of whether the node is fixed or is represented by a mobile vehicle, each node is equipped with sensors and one or more communication apparatuses. The nodes collect from the surrounding environment data, which, after local processing, are sent to one or more sink nodes, which store/handle/transport the data elsewhere on the basis of the type of application.

[0029] The present invention is a cross-layer solution that integrates the network layer (routing) with the LLC (Logical Link Control) sublayer of the datalink layer.

[0030] The method proposed consists in determining autonomously, node by node, for each packet that is to be transmitted/retransmitted (LLC logic), to which subset of the nodes it is to be transmitted (routing logic) and the maximum number of retransmissions to be made.

[0031] For this purpose, for each node, a module is provided, which governs the policy of transmission and retransmission of the LLC layer (top sublayer of the datalink layer of the ISO-OSI model), as well as a routing module, which, using a self-learning algorithm based upon Q-learning, determines, for each packet, also according to the number of times that this has already been transmitted, the optimal set of the nodes to which this packet is to be re-sent, as will be described in detail in what follows.

LLC (Logical Link Control) Sublayer

[0032] The LLC sublayer governs the logic of retransmission of a node that is illustrated in FIG. 2. When a node has to send a packet (or re-send a packet, in the case of retransmission), it interfaces with the routing module (arrows A and B) to identify the nodes to which the packet is to be sent. For this purpose, the LLC sublayer sends to the routing module the number of times that the packet has already been (unsuccessfully) transmitted and receives from the latter the set of the nodes to which the packet is to be sent (a set that in general will be a function also of the number of retransmissions of that packet).

[0033] The calculation of the set of the nodes could be carried out periodically instead of on a time-to-time basis. The solution proposed is, however, to be preferred given the frequently very long times between successive retransmissions.

[0034] After a packet has been sent and a timer has been started, the node goes into a wait state where it waits for an implicit acknowledgement using the overhearing technique: the packet is considered as having been successfully sent if at least one of the nodes to which it had sent the packet retransmits it; if, instead, no transmission of a copy of the packet is detected, it is assumed that none of the nodes has received the packet. In the former case, the next packet is transmitted. In the latter case, the packet is retransmitted after a wait period referred to as backoff.

[0035] Each packet is transmitted by each node at most a number K of times, after which the packet is rejected. The parameter K is set dynamically according to the estimate of the intensity of the network traffic as described hereinafter.

Routing Module

[0036] The routing module governs the routing logic, determining, for each packet, also according to the number of times that this has already been transmitted, the optimal set of the nodes to which this is to be (re-)sent.

[0037] The solution proposed is based upon a general mathematical reinforcement-learning technique known as Q-learning [SuBa98]. The Q-learning method is based upon the Q functions (Q-values), which represent the estimate of the cost associated to each possible action for each possible state of the system. Iteratively, the algorithm updates the various estimates and, on the basis of these, indicates as action to be executed the action of minimum cost.

[0038] The specific algorithm used by the routing module is described hereinafter and represented in FIG. 4. In each node, the state of a packet s is represented by the number of times that this has been transmitted (if s=0, the packet has not yet been transmitted, if s=1, the packet has been transmitted already once, etc.), whereas the possible actions a are the various subsets of nodes to which the packet can be sent (if a={j} the packet is sent to just the node j, if a={j.sub.1,j.sub.2} the packet is sent to j.sub.1 and j.sub.2, if a={j.sub.1, j.sub.2, . . . , j.sub.n}, the packet is sent to the nodes {j.sub.1, j.sub.2, . . . , j.sub.n}etc.).

[0039] For each state/action pair (s,a), i.e., the pair formed by number of retransmissions and the set of the possible addressees, the routing module of each node i estimates the Q-function Q.sub.i(s,a), i.e., the cost associated to execution of the action a when it is in the state s, i.e., the cost of sending a packet that has already been transmitted s times to the nodes in the set a (lines 2-7).

TABLE-US-00001 1 function Learning( state k) 2 # Updating of estimates 3 for s=0 , ... , K-1 4 for all a ? A.sub.i(s) 5 Q.sub.1(s, a) = ?.sub.1(s, a) + ??.sub.s ?{0, . . . ,F ? 1,drop,rev} {circumflex over (P)}.sub.1,s s.sup.B .Math. min.sub.B?A.sub.1.sub.(s) Q.sub.1(s , a) 6 end for 7 end for 8 # Choice of subsequent nodes 9 a = arg min.sub.a?A.sub.1.sub.(k) Q.sub.i(k, a) 10 return a 11 end function

Pseudocode of the Learning Algorithm

[0040] Once the various estimates have been updated, the choice of the addressee nodes falls on the set a to which the best cost is associated (line 9).

[0041] The probabilities {circumflex over (P)}.sub.i,s,s.sup.a for calculation of the values Q.sub.i(s,a) (line 5) are obtained starting from the probabilities P.sub.i,j of a packet sent by the node i being correctly received by the node j, as appears below:

[00001] P i , s .Math. .Math. s + 1 a = .Math. j ? a .Math. .Math. ( 1 - P i , j .Math. P j , i ) P i , s .Math. .Math. rcv a = 1 - .Math. j ? a .Math. .Math. ( 1 - P i , j .Math. P j , i ) P i , s .Math. .Math. drop a = .Math. j ? a .Math. .Math. ( 1 - P i , j .Math. P j , i )

[0042] The core of the operation of the learning technique is the specification of the cost function associated to the various state/action pairs, which in effect determines the logic of selection of the set of the relays.

[0043] In the solution proposed herein, the cost function c.sub.i(s,a) associated to each action is defined below

[00002] c i ? ( s , a ) = { w e .Math. e i ? ( s , a ) + n i ? ( s , a ) s < K - 1 w e .Math. e i ? ( s , a ) + w l .Math. l i ? ( s , a ) + n i ? ( s , a ) s = K - 1

where e.sub.i(s,a) is equal to the cost of transmission of a packet to the set of nodes that corresponds to the action, n.sub.i(s,a) is the cost for the nodes downstream to deliver the packet to destination (calculated on the basis of the information exchanged with the neighbours), l.sub.i(s,a) is the cost associated to the possible loss of the packet when this is rejected after the maximum number of retransmissions has been reached, w.sub.e and w.sub.l, where w.sub.e+w.sub.l=1, are weights, selected on the basis of the applicational requirements.

[0044] The expression for the cost of the nodes downstream is

[00003] n i ? ( s , a ) = .Math. j ? a .Math. .Math. c j .Math. P i , j

where c.sub.j is equal to the cost for the node j to transmit the packet to destination, i.e.,


c.sub.j=min.sub.s?A.sub.i.sub.(0)Q.sub.i(0,a)

this value being periodically broadcast by the nodes, while the expression for l.sub.i(s,a) is

[00004] l i ? ( s , a ) = L .Math. .Math. j ? a .Math. .Math. ( 1 - P i , j )

where L is a penalty associated to the loss of the packet when this is rejected after the maximum number of retransmissions has been reached, and the product is the probability of the packet having been lost.

Details

Estimate of the Link Quality

[0045] Each node keeps track of the number n.sub.i,j of the packets correctly received from the neighbouring nodes. This calculation is made on all the packets, irrespective of whether the node is addressee or not of the single packet. Once the node j has received correctly a packet sent by the node i, it determines from the serial number of the packet the number of packets n.sub.i sent by the node and estimates therefrom the link quality as:

[00005] P ^ i , j = n i , j n i

[0046] where the link quality P.sub.ij represents the probability of a packet sent by the node i being correctly received by the node j. In order to have estimates that take into account the marked dynamicity of the underwater channel, the values n.sub.i and n.sub.ij are calculated with respect to a sliding time window of appropriate dimensions.

Dynamic Setting of the Maximum Number of Retransmissions K

[0047] K is a fundamental parameter of the protocol. A low value contributes to limiting the network traffic, but may lead to a low probability of success of the transmissions. Instead, a high value of K increases the probability of a packet being received, but at the cost of an increase in the network traffic: an adequate value of K with low traffic may easily lead to conditions of network overloading in conditions of sustained traffic, thus leading to network crashing. In the solution proposed, the parameter K is dynamically set in such a way that the mean number of transmissions G, made during a time window the length of which is equal to the time necessary for sending a packet, is equal 0.5 (the idea is to approximate the behaviour of layer 2 of the network as an unslotted broadcast ALOHA network for which it is known that the peak of transmission capacity of the network is obtained at G=0.5).

Using the following approximation for the maximum network load


G=t.sub.col?K

where t.sub.col is the collision time, i.e., the sum of the time of transmission of a packet and of the maximum network propagation time (a value that can be estimated on the basis of the size of the network itself), and ? denotes the traffic in the network, a value that can be estimated dynamically by each node on the basis of the traffic observed locally, for the maximum number of retransmissions the following formula is obtained:

[00006] K = .Math. 0.5 t col .Math. ? .Math.

where the notation ?x? designates the smallest integer greater than x.

Extension for Dynamic Selection of the Communication Device

[0048] It is by now common knowledge that the efficiency of an underwater communication network can be increased using simultaneously heterogeneous communication devices, which may differ as regards bitrate, operating frequency, transmission range, reliability in the communication, etc. This enables a greater adaptability to the changeable conditions of the underwater environment and to different types of networks. In this context, the present invention can be easily extended for selecting, autonomously, node by node, in addition to the subset of the nodes to which to send the packet, also the specific communication apparatus to be used from among the multiple ones that may be available. To do this, it is necessary to change the model discussed previously as follows.

[0049] The possible actions a specify not only the different subsets of nodes to which the packet may be sent but also the communication apparatus to be used from among the multiple ones that may be available (if a={m.sub.1, [j]} the packet is sent to just the node j using the apparatus m.sub.1, if a={m.sub.2, [j.sub.1,j.sub.2]} the packet is sent to j.sub.1 and j.sub.2 using the apparatus m.sub.2, if a={m.sub.1, [j.sub.1, j.sub.2, . . . , j.sub.n]} the packet is sent to the nodes j.sub.1, j.sub.2, . . . , j.sub.n using the apparatus m.sub.1, etc.).

[0050] The cost of transmission of a packet e.sub.i.sup.m(s,a) takes into account also the specific communication device m chosen for transmitting the packet, given that associated to different devices are, for example, different levels of energy consumption or transmission capacity.

[0051] The probability of a packet sent by the node i being correctly received by the node j is defined as P.sub.i,j.sup.m, since it depends upon the particular device m used. It is calculated as follows: the node j, once it has correctly received a packet sent by the node i using the apparatus m, determines, from the serial number of the packet, the number of packets n.sub.i.sup.m sent by the node using said apparatus and uses as estimate of the quality of the link corresponding to m the ratio

[00007] P ^ i , j m = n i , j m n i m

where n.sub.i,j.sup.m is the number of packets sent by the node i with the device m and correctly received by j.

Experimental Results

[0052] To highlight the advantages of the invention, illustrated hereinafter are experimental results obtained via simulation. The performance of CARMA was compared with the performance of QELAR [HuFe10], a protocol based upon reinforcement learning that seeks to obtain a homogeneous energy consumption between the nodes but that does not consider multipath, and EFlood [BaPe14], an improved version of the flooding protocol, designed explicitly for reducing collisions and increasing robustness of the protocol. The underwater environment simulated corresponds to a portion of the Norwegian fjord off the coasts of Trondheim. All the information necessary for simulation of the underwater environment was obtained from the World Ocean Database (http://www.nodc.noaa.gov/OC5/WOA05/pr_woa05.html), the General Bathymetric Chart of the Oceans (GEBCO) (http://www.gebco.net), and the National Geophysical Data Center Deck41 database (http://www.ngdc.noaa.gov/mgg/geology/deck41.html).

[0053] In the experiments, there was considered a static network of 40 nodes (39 nodes plus the sink node) randomly positioned over a region of 4 km?1 km and at different depths, ranging between 10 and 240 m. The network traffic was generated according to a Poisson process of parameter ? packets per second, where ? assumed values in the set {0.01, 0.02, 0.04, 0.0666, 0.1}. Furthermore, three different packet sizes were considered, namely, 50 B, 500 B, and 1000 B.

[0054] The performance of the protocols was evaluated using the following performance metrics: [0055] packet-delivery ratio (PDR), namely the ratio of packets delivered to the sink node, defined as the fraction between the packets correctly received by the sink node and all the packets generated by the nodes; [0056] end-to-end latency, defined as the time that elapses between generation of the packet and its correct reception at the sink node; and [0057] energy per bit, defined as the energy consumed in the network for delivery of a data bit to the sink node.

Results of Simulations

[0058] FIGS. 5, 6, and 7 show the performance of the three protocols in the simulation scenario described. The results refer to a size of the packet of 1000 B, which corresponds to the best performance for all three protocols considered (the performance for the other packet sizes are summed up in Table 1). In order to obtain a comparison in the same conditions between the protocols, the characteristic parameters of QELAR and of EFlood were set to the optimal values suggested by the respective authors.

TABLE-US-00002 TABLE 1 Simulation results for different network traffic and packet size. 50 Bytes 500 Bytes ? 0.02 ? 0.1 ? 0.02 Metric CARMA QELAR EFlood CARMA QELAR EFlood CARMA QELAR EFlood Packet 99 64 85 58 40 49 99 98 73 Delivery Ratio (%) End-to-end 3.77 198.8 39.21 14.85 1360.0 423.8 6.56 9.58 21.23 latency (s.) Energy per 0.029 0.129 0.145 0.032 0.187 0.109 0.016 0.016 0.109 bit (J/b) Overhead 2.48 6.44 0.23 3.67 10.15 0.18 0.17 0.055 0.160 per bit 500 Bytes ? 0.1 Metric CARMA QELAR EFlood Packet 77 20 32 Delivery Ratio (%) End-to-end 14.68 64.0 27.68 latency (s.) Energy per 0.021 0.128 0.089 bit (J/b) Overhead 0.29 1.12 0.132 per bit

[0059] Packet delivery ratio. The PDR that was measured for each protocol appears in FIG. 5. The results are consistent with the expectations. In particular, the PDR decreases as the network traffic increases since the collisions between the packets and the probability of finding the channel occupied increase. In any case, CARMA shows the best performance: its PDR drops from 100% to 85% only when the network traffic is very high.

[0060] The performance of CARMA basically depends upon three factors: 1) the protocol minimizes the overall number of transmissions necessary for transmitting a packet from the source to the sink, and consequently is able to identify the routes with the highest probability of delivering the packet to destination; 2) forwarding of the packets in multipath as the retransmissions increase, increases the robustness of the protocol; 3) the maximum number of retransmissions K is calculated dynamically on the basis of the traffic, thus reducing the number of retransmissions when the traffic is higher and consequently reducing the collisions between the packets. Among all the protocols, EFlood shows the worst performance on account of the high number of transmissions, which, above all as the load increases, results in a high number of collisions. On the other hand QELAR shows good performance as long as the traffic in the network is low, but its PDR decays rapidly when the traffic increases. This is because it does not have a dynamic control on the number of retransmissions and because it estimates less accurately than does CARMA the quality of the communication links. At high loads the difficulty of overhearing the packets, which is the main mechanism used by QELAR for estimating the link quality, results in a far from accurate estimate and, consequently, in non-optimal routing decisions.

[0061] Energy per bit. FIG. 6 shows the energy consumption for delivery of a databit to the sink. EFlood is the protocol that consumes most for delivery of a bit, above all in low-traffic conditions. It should be recalled that EFLood is a protocol based upon flooding, and hence for its very nature is characterized by a high number of transmissions and corresponding high energy consumption.

CARMA and QELAR show good performance at low traffic intensities, with CARMA that is able to reduce considerably consumption in the case of smaller packet size (Table 1). However, as the level of traffic increases, the performance of the QELAR decays as a result of the higher number of retransmissions and of the lower number of data bits correctly delivered to the sink.

[0062] FIG. 8 shows how the energy per bit varies between the network nodes, considering two scenarios corresponding to a low and high load level. The energy efficiency is very uniform in CARMA, whereas it presents a greater variability in the other two protocols.

[0063] End-to-end latency. FIG. 7 shows the mean latency for delivery of the packets to the sink node. As may be expected, as the level of traffic increases, also the time necessary for delivery of a packet increases. CARMA delivers the packets in the shortest time in all the scenarios considered. By reducing the number of retransmissions necessary for delivery of a packet, CARMA acts effectively on the latency. EFlood presents, instead, longer latencies, which depend upon the delay introduced for desynchronizing the transmitting nodes, but that remain similar irrespective of the network traffic. In EFlood each packet is transmitted exactly just once by each node (there are no retransmissions), limiting the latency but at the expense of a lower PDR. QELAR presents a latency comparable to that of CARMA at low traffic levels, except that it then increases significantly as the level of traffic increases. This is because the QELAR protocol is characterized by a high retransmission rate (over 150% of the rate when the traffic is low) together with the difficulty in receiving the implicit acknowledgments, which jeopardizes the capacity of routing the packets correctly.

[0064] A preferred embodiment of the method forming the subject of the invention has been described herein. It is evident, however, that numerous modifications and variations may be made by the person skilled in the sector, without thereby departing from the sphere of protection of the invention as defined by the ensuing claims.

REFERENCES

[0065] [SuBa98] R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction. Cambridge Univ. Press, 1998. [0066] [BaPe14] S. Basagni, C. Petrioli, R. Petroccia and D. Spaccini. CARP: A Channel-aware Routing Protocol for Underwater Acoustic Wireless Networks, in press, Elsevier Ad Hoc Networks and Physical Communication. 2014. [0067] [HuFe10] T. Hu and Y. Fei, QELAR: A Machine Learning Based Adaptive Routing Protocol for Energy Efficient and Lifetime Extended Underwater Sensor Networks, IEEE Transactions on Mobile Computing, Vol. 9, N. 6, pp. 796-808, June 2010. [0068] [PlWa14] R. Plate, C. Wakayama, Utilizing kinematics and selective sweeping in reinforcement learning based routing algorithms for underwater networks, in press, Elsevier Ad Hoc Networks and Physical Communication. 2014. [0069] [US2026] US 2012/192026 A1 (CHEN REN-JR [TW] ET AL) 26 Jul. 2012 [0070] [US1082] US 2004/071082 A1 (BASU ANINDYA [US] ET AL) 15 Apr. 2004