Cooperative and Adaptive Network Coding for Gradient Based Routing in Wireless Sensor Networks with Multiple Sinks

Despite its low computational cost, the Gradient Based Routing (GBR) broadcast of interest messages inWireless Sensor Networks (WSNs) causes significant packets duplications and unnecessary packets transmissions. This results in energy wastage, traffic load imbalance, high network traffic, and low throughput. Thanks to the emergence of fast and powerful processors, the development of efficient network coding strategies is expected to enable efficient packets aggregations and reduce packets retransmissions. For multiple sinks WSNs, the challenge consists of efficiently selecting a suitable network coding scheme. This article proposes a Cooperative and Adaptive Network Coding for GBR (CoAdNC-GBR) technique which considers the network density as dynamically defined by the average number of neighbouring nodes, to efficiently aggregate interest messages. The aggregation is performed by means of linear combinations of random coefficients of a finite Galois Field of variable size GF(2S) at each node and the decoding is performed by means of Gaussian elimination.The obtained results reveal that, by exploiting the cooperation of the multiple sinks, the CoAdNC-GBR not only improves the transmission reliability of links and lowers the number of transmissions and the propagation latency, but also enhances the energy efficiency of the network when compared to the GBR-network coding (GBR-NC) techniques.


Introduction
WSNs are used in many military and civil applications such as the enemy detection in battlefields, disaster detection, and various monitoring applications (health, civil engineering structures, etc.) [1].Despite the high level of importance, WSNs are still constrained in terms of energy resources.Thus, routing data traffic from a sensor node to the sink by using an energy efficient strategy is imperative.Recently, the GBR has been applied in WSNs as a query-based routing protocol in which sink nodes broadcast interest messages to all the other sensor nodes in order to request sensed information from specific sensor nodes in the network [2].The broadcast messages serve to update routing information during network initialization and calibration phases as well as in objects' tracking and prediction.Upon successful reception of the interest messages, each sensor node floods the sensed information to its neighbours.Associated with routing concept is the idea of a network coding technique in which relay nodes combine packets using mathematical (numerical or logical) operations such that the number of transmitted packets is significantly reduced [3].Network coding has been extensively applied in wired networks' applications to increase throughput.The broadcast and diversity nature of the wireless links have recently attracted the network coding research in the wireless domain, that is, WSNs [4].The GBR-GB and GBR-CB approaches which do not consider network coding have been shown to be energy efficient [2].These approaches have been characterised by their energy balancing capability, resulting in the network lifetime improvement when compared to Generic GBR (GBR-G) and the Competing GBR (GBR-C) counterparts in [5] and [6], respectively.
The focus of most previously developed GBR protocols has been toward the achievement of energy efficiency in the routing of the sensed data to the sink [7,8].For example, a study on the GBR approaches in [9] shows that the average energy level of sensor nodes is reduced approximately by 7% for every 100 nodes during the flooding of the interest messages.Therefore, there is a need for developing a much more energy efficient interest messages propagation as much as there is a need for an energy efficient technique for routing the sensed data back to the sink nodes.Intelligent packet aggregation (network coding) comes with an extra computational and energy cost when compared to the simple flooding technique [10].However, the recent advances in the designs of microcontrollers and microprocessors have made it possible to have very fast but ultra-low power sensor nodes.As a result, medium complex algorithms such as linear combinations can now be implemented in ultra-low power WSNs with significantly low processing energy cost.Note that the faster the processing speed of the processor, the shorter the state transitions and therefore the smaller the energy consumption as modelled in [11].This implies that trading more computation complexity for intelligent packets aggregation (network coding) is worth a research aspect for investigation.This is because network coding schemes in the modern WSNs applications are now capable of minimising the energy consumption of the overall network by reducing the number of duplicated transmissions.
In this paper, the CoAdNC-GBR scheme is proposed.The scheme adapts the number of aggregated packets according to the level of network conditions such that the reliability of data packets transmission is enhanced.Moreover, the CoAdNC-GBR approach improves the overall energy efficiency of the network by reducing the number of retransmission attempts in contrast to the conventional approaches.Another key feature employed by the CoAdNC-GBR approach is the cooperative strategy involving different multiple sink nodes when diffusing the interest messages throughout the network.The cooperation among multiple sink nodes in turn reduces the overall latency of the interest messages diffusion throughout the WSN.To the best knowledge of these researchers, there is no CoAdNC-GBR scheme proposed in the literature which has demonstrated the above attributes.
The rest of this paper is organised as follows.Section 2 presents the related work of the CoAdNC-GBR and in Section 3, a detailed development of the CoAdNC-GBR algorithm has been provided.Section 4 presents the performance evaluation of the proposed CoAdNC-GBR algorithm, analyses, and discusses the obtained study findings.Section 5 concludes the paper.

Related Work
Previously, a considerable research effort has been concerted toward minimising the energy consumption at different network's levels and by using different strategies [14].One key strategy of minimising energy consumption is by reducing the network traffic through data dissemination, network coding, and network programming [15].While the wired networks focused on unicast network coding, wireless networks considered the broadcast network coding in which some information (e.g., interest messages or network reconfiguration) is disseminated to all nodes [16].The probabilistic broadcast in [13,17] has been used as an alternative approach to minimising the number of packets required for a sink to flood queries throughout the WSNs.The existing network coding techniques for multihop routing in WSNs in literature can broadly be classified into two types, namely, local or global coding depending on whether the decoding of aggregated packets is performed at each sensor node level or only at destination nodes level, respectively [18].These types can also be viewed as either intrasession or intersession depending on whether the relay sensor nodes only encode packets from the same session (source nodes) or encode packets from different sessions (sources).Most often, the intrasession network coding protocols in WSNs are designed to address the packet loss problem while the intersession network coding protocols are designed in order to reduce the number of packets transmissions.Both network coding protocols classified as local or global can be further classified as being either binary (XOR) or random linear (RL) [4].
Some of the most commonly known network coding approaches for WSNs are discussed as follows.
2.1.The COPR Approach.COPR is a local (distributed) intersession network coding approach in WSNs which is based on the well-known backpressure routing algorithm.COPR was developed in order to enhance the energy efficiency of the backpressure algorithm.COPR has been proven to achieve up to 25% power saving over pure routing [19].However, COPR still suffers from high computing complexity in its session scheduling [20].
2.2.The SenseCode Approach.This network coding approach has been proposed by Keller et al. [21] in order to simultaneously achieve reliable and energy efficient data aggregation in WSNs.In SenseCode, it is assumed that the sensing task is performed by sensor nodes on a periodic basis.Keller et al. [21] further argue that the traditional tree-based Collection Tree Protocols (CTP) originally proposed by Gnawali et al. [22] do not provide reliable communication.This is because the CTP requires each intermediate node to transmit the received packets from its children nodes to its parent node.Moreover, when a node or a link fails, the data will not be able to reach the sink node.In a SenseCode approach, the sensed data is transmitted through multiple paths instead of a single one.When implemented as a TinyOS module and evaluated using TOSSIM simulations, the SenseCode proved to reduce the end-to-end packet error rate by 90% under normal network conditions.However, its reliability dropped to a value between 60% and 75% under highly dynamic network environments.In both scenarios, the SenseCode maintains an average energy efficiency improvement of 10% better than the CTP [21].One drawback of the SenseCode is that it suffers from WSN disconnectivity problem during high dynamic network conditions [23].

The CodeDrip Protocol.
CodeDrip is a data dissemination protocol for WSNs which uses network coding in order to improve energy efficiency, reliability, and dissemination speed [24].The CodeDrip protocol uses a Trickle timer in order to ensure that message transmissions arrive at all the nodes in the network.It is an enhancement of the Drip protocol which modifies the Drip packet format in order to accommodate the control fields required by the decoding process.Its advantages include its high resilience to dissemination failure and its fast dissemination.However, CodeDrip is not suitable as a network coding protocol for applications which require high volume of sensed data.
Possibilities for further studies with CodeDrip include analysing the impact of different topology types and link qualities on the energy efficiency performance.Another interesting work is to develop new policies for combining messages using less complex operators as less complex operations means less computation which simply means less processing energy consumption.

The Random Linear Network Coding (RLNC) Concept.
Random linear network coding (RLNC) is a technique that consists of linearly combining a number of independent packets using randomly generated coefficient selected from a Galois Field (GF) in order to generate a single encoded packet of the same size [25].On the receivers side, the decoding process consists of a Gaussian elimination technique.RLNC in general and as applied to GBR in particular comes with its own multiple challenges among which the fact that decoding an encoded message which consists of an aggregation of data packets using Gaussian elimination requires a reception of at least as many packets as the encoded ones.The reception of a packet in WSN is a probabilistic event.This is mainly due to the stochastic nature of the wireless communication channel.Attempting to achieve energy efficiency by encoding (aggregating) packets with no guarantee of decoding them can lead to totally achieving the opposite (considerable energy wastage).Therefore, it is very crucial that the design of a network coding protocol considers the reliability aspect in order to achieve the network coding potential.
A RLNC method called the GBR-NC has been proposed in [6].One of its principal drawbacks is that the GBR-NC mainly addresses the problem of how to select a reliable network coding scheme.The study presented in [13] has demonstrated that a proper selection of the network coding scheme informed by the networks connectivity conditions can considerably improve the probability of successful decoding and in turn improve the energy efficiency of the WSNs.This is the premise on which the AdNC-GBR scheme in our paper has been proposed.The method creates a dynamic network scheme selection method based on the varying network conditions.When a sensor node wants to transmit  accumulated data packets ( 1 ,  2 ,  3 , . . .,   ), it first randomly selects  random coefficients  1 ,  2 ,  1 , . . .,   from the Galois Field of order 2  with  being a positive integer.It then linearly combines the accumulated data packets together with 0.999756 the randomly generated coefficients as illustrated in Figure 1 and is computed as follows: The decoding process on the receiver's side is conditional to the reception of a number of data packets  ≥ .Upon reception of  data packets, the decoding process is performed by Gaussian elimination process in which the accumulated header data (coefficients) are grouped to form a  ×  matrix  × which then reduced to a row-echelon form.The  encoded data packets from the transmitter sensor node can then be decoded by solving a set of linear equations provided that the obtained equations are linearly independent from each other.That is, their coefficient vectors must be linearly independent.One of the key differences between the deterministic linear network coding technique (DLNC) and the RLNC is that the RLNC coding coefficients increase the probability of their linear independence.It is also shown in [12] that the larger the Galois Field, the higher the probability of linear independence of its elements (coding coefficients) as concisely summarised in Table 1.
From Table 1, it can be shown clearly that, with a Galois Field of 2 8 order, achieving linear independence is quite reliable (99.6%).This is one of the major reasons why RLNC is preferred for network coding within WSNs as these are usually limited in terms of storage capacity [26].
A quick reasoning shows that, in a network coding scenario, a sensor node sending one single encoded interest message instead of n messages that it receives saves up to ( − 1)/ bandwidth as compared to the traditional storeand-forward scenario.Also, in a GBR scenario, network coding can considerably reduce the overall number of interest messages transmissions [4].
(i) Interest Messages Broadcast without Network Coding.For a WSN with a total of  sensor nodes including the sink node, assuming that the sink node possesses a total of  interest For transmission messages, from a case by case analysis, a general formula to compute the total number of transmissions  tot can be derived as (ii) Interest Messages Broadcast with Network Coding Using  as the Network Coding Scheme.From a case by case analysis, a general formula for the total number of transmissions  totNC can be derived as This means that, for a network coding scheme of  = 8 and a total of 31 sensor nodes in the 1-to-2 tree architecture, we have a reduction in total number of transmissions of interest messages computed as follows [4]: 2.5.Network Coding Scheme, Reliability, and Network Density.A study has been conducted in [13] with the focus of analysing network coding and decoding reliability in WSNs by experimentally defining the number of packets to combine, defined as coding scheme, and by establishing the relationship between the independence of combinations and the decoding reliability.Its outcomes are used by our current work to implement adaptive network coding in the GBR context.The condition for decoding encoded packets in WSNs is that sufficient and independent combinations of encoded packets must be received.The idea of linear independence has been analysed in the previous subsection and this subsection tackles the stochastic aspects about receiving sufficient encoded packets.Three important concepts are defined in [6] and include the following.
(i) Network Density.This concept is related in this particular case to the average number of neighbours in the WSN.With a varying energy level of sensor nodes and many other multiple harsh conditions, the number of sensor nodes to which a particular sensor node is connected may sensibly vary.This results in the number of neighbours of the considered sensor node being variable.It is also true that not all sensor nodes in a WSN have the exact same number of neighbours.Therefore [27] proposes that each time each sensor node should keep and update an average number of its neighbours as the total number of sensor nodes from which it receives packets.
(ii) Network Coding Scheme.The reliability of decoding the encoded packets in a network of a certain density is dependent on the choice of a particular number of packets to combine also referred to as network coding scheme.The study in [28] proposes an efficient reliable data transfer scheme with network coding for WSNs.In order to guarantee expected reliability with appropriate overhead, the authors in [28] not only derive an analytic model to estimate the proper amount of redundancy, but also propose the cluster-based and distributed scheme to dynamically adjust the redundancy at each hop.The study has conducted simulations by varying the average number of neighbours from 4 to 12 neighbours per sensor node.The reliability of each network coding scheme for each of the network densities has been computed in each case as the fraction of sensor nodes that successfully decode all the received encoded messages.The obtained result is depicted in Figure 2.
(iii) Best Coding Scheme.The best network coding scheme is defined from the results depicted and marked in Figure 2 as the network coding scheme for which the WSN in a particular network density achieves the best possible reliability percentage.The best coding schemes, derived from the multiple operated simulations, are recorded in Table 2.
Here, Avg Nn is the average number of neighbours and  is the corresponding best coding scheme.The GBR-network coding (GBR-NC) algorithm has been proposed in [6].It mainly consists in a control mechanism to cater for shortage of sufficient packets for decoding to occur at the receiver sensor node.The technique consists in an automatic feedback mechanism whereby the receiver sensor node sends "NACK" messages back to the sender node as a way to request missing packets necessary for decoding purposes.The drawback of this corrective method is that it becomes nonfeasible with changes in the WSN connectivity.The GBR-NC suffers from the lack of adaptation of the coding scheme to the density and the slow query responsiveness due to a high latency in the broadcast of interest messages.
Based on the identified drawbacks with the existing literature, the current paper introduces the idea of a Cooperative and Adaptive Network Coding for GBR (CoAdNC-GBR) technique in which the best network coding scheme is efficiently selected based on (i) the nodes' adaptability to their density dynamics and (ii) message relay cooperation among neighbouring multiple sinks.The performance gains achieved are, namely, (i) the minimised diffusion time of interest messages and (ii) improved energy efficiency within the global WSN.
Antecedent to the present work is a survey work on energy efficient network coding for multihop routing in Wireless Sensor Networks by [4].This previous work clearly identifies and presents in a form of table summary the opportunities that could be exploited through network coding in order to enhance the overall performance of WSNs.In the next section, the present article proposes an algorithm that aims at tapping into one of the major challenges as identified in [4] which is the enhancement of the overall energy efficiency of WSN through a much more reliable network coding.

Hypothesis of the Study.
This study is based on the hypothesis that the network density conditions can be defined in terms of the average number of neighbours.Therefore, by intelligently combining a variable number of interest messages based on the network density conditions, the network traffic can considerably be reduced, the network throughput can be increased, the number of retransmission attempts can be reduced, and the energy efficiency of the network can be improved.

The CoAdNC-GBR Algorithm.
The CoAdNC-GBR algorithm presented in this section focuses on how to improve the energy efficiency during the propagation of the interest message.The main goal is to reliably reduce the unnecessary interest message duplications and in this way it not only further reduces the overall energy consumption of the WSN but also reduces the overall latency of the network.
Unlike the GBR-NC protocol, the CoAdNC-GBR adapts the best coding scheme  value by sensing each time the number of active neighbours (adaptive approach).It also takes advantage of the WSN multisinks architecture to ensure concurrent propagation of encoded interest messages as a way to reduce the overall latency of the process (cooperative approach).
Figure 3 clearly illustrates the flowchart description of the CoAdNC-GBR algorithm.As it can clearly be seen, there is not a "NACK" feedback control mechanism as in the GBR-NC.The sink's ID is used as an overhead of the encoded message.It is only saved by the receiving sensor node in case of successful decoding process.Since all four sink nodes concurrently broadcast the interest messages, a receiving sensor node always checks if it has not previously decoded an interest message packet from any of the other sink nodes before it starts with the decoding process.This allows the four sink nodes to cooperatively reduce the number of transmissions duplications of encoded interest messages throughout the WSN and therefore shortens the time for the diffusion of interest messages.
In addition, it can be clearly seen in Figure 3 that the network coding scheme is adapted through a selection of the best coding scheme which is based on the updated number of neighbours as taken from the list of neighbours maintained by each sensor node.
In case of unsuccessful decoding, should a preset timer not be overflowed yet, the encoding process is repeated; otherwise the encoded message is discarded.The pseudocode describing the CoAdNC-GBR process is provided as shown in Algorithm 1.

Performance Evaluation and Results
This section presents the performance evaluation of the proposed CoAdNC-GBR algorithm.The simulations were conducted by means of the OMNET++discrete event simulator using the MiXiM framework.The CoAdNC-GBR algorithm comes as an enhancement of the existing GBR-NC protocol.Therefore, both protocols have been implemented in the OMNET++ simulator in order to evaluate and compare their respective traffic load (total number of packets transmissions, retransmissions, and receptions) and their energy efficiency as well as their latency performances.The obtained simulation results are described in the following sections.

Simulation Parameters.
The simulation parameters values used to conduct the performance evaluation of the CoAdNC-GBR algorithm are presented in Table 3.
According to the objectives of this study, the CoAdNC-GBR-network coding technique is proposed as a solution to further enhance the energy efficiency of the already developed GBR-CB routing protocol that has been demonstrated to be energy efficient [2].Furthermore, the CoAdNC-GBR algorithm comes as an enhancement of the existing GBR-NC protocol because the CoAdNC-GBR unlike the GBR-NC protocol guarantees maximum probability of successful decoding of the encoded interest messages.This is because, in the CoAdNC-GBR, the network coding scheme is always adapted to the best possible value according to the network density condition.Both the GBR-NC and the CoAdNC-GBR protocols have been implemented in the OMNET++ simulator in order to evaluate and compare their respective traffic load (total number of packets transmissions, retransmissions, and receptions) and their energy efficiency as well as their latency performances.The obtained simulation results are described in the following sections.

Traffic Load for Interest
Messages of the CoAdNC-GBR, the GBR-NC, and the Generic GBR.It is through an intelligent, reliable, and less complex packets aggregation as a strategy to reduce the total number of unnecessary packet transmissions and receptions that a network coding technique contributes to achieving energy efficiency in WSNs.Therefore, it was necessary to evaluate the network traffic activity within the network as a way to evaluate the performance of the CoAdNC-GBR as compared to the existing Generic GBR and GBR-NC protocols.
The results in Figure 4 were obtained for a 1-minute duration with a period of 100 ms in between the broadcast of the interest messages (packets).They sufficiently demonstrate that a lower number of packets are sent by each sensor node when the CoAdNC-GBR approach is used when compared to the GBR-NC approach.Similarly the GBR-NC has a much lower traffic load than the Generic GBR.The CoAdNC-GBR reduces in average terms the traffic load by 61.8% with respect to the GBR-NC and by 81.37% with respect to the Generic GBR.An interpretation is that the CoAdNC-GBR reduces the number of retransmission attempts as the interest message is being flooded throughout the network.As expected and clearly stipulated in this study's hypothesis as presented in Section 3.1, this is due to the fact that the CoAdNC-GBR approach improves the network coding efficiency and at the same time improves the reliability of the decoding process.

CoAdNC-GBR Energy Efficiency and Scalability Effect.
From the network traffic load results as depicted in Figure 4 and discussed in the previous section, it would be expected that the CoAdGBR-NC algorithm will improve the energy efficiency of the GBR-CB protocol.After running the simulation, the results were obtained in Figure 5.
The results in Figure 5 demonstrate that as the number of sensor nodes increases the average energy consumption increases for the Generic GBR, the GBR-NC, and the CoAdNC-GBR.However, the CoAdNC-GBR protocol consumes much less energy of about 26% for 800 sensor nodes than the GBR-NC which in turn consumes 24.69% less energy than the Generic GBR.Furthermore, the energy consumption of the network when the GBR-NC protocol is executed increases faster than that of the CoAdNC-GBR.Such an observation implies that the CoAdNC-GBR protocol will be likely to scale better in a large WSNs deployment than the energy efficient performance of the GBR-NC.

The Delay Analysis of the CoAdNC-GBR.
Another very important evaluation metric for the proposed CoAdNC-GBR coding technique is its latency.The delay or latency in this specific case is defined as the total time it takes for an interest message to be broadcast throughout the entire WSN.After simulations, the results were obtained in Figure 6.
The results in Figure 6 clearly show how the CoAdNC-GBR approach considerably reduces the propagation delay of the interest message throughout the network when compared to the GBR-NC protocol.It is also important to notice that the delay increases more or less linearly with the increase in the number of sensor nodes in the network.An interpretation of the obtained results is that the reduction in the propagation delay for the broadcast of the interest message is once again due to the reduction in retransmission attempts.The reduction in retransmission attempts is due to the improvement of the transmission reliability on the network links.It is also important to observe that the use of multiple collaborating sinks definitely plays a role in reducing the interest message diffusion time as it creates a parallel (simultaneous) method to inject the interest message throughout the network.In addition, it is important to note that, under the same network conditions, the Generic GBR exhibits longer delays than the GBR-NC and the CoAdNC-GBR.

Conclusion
In short, the GBR-network coding (GBR-NC) algorithm as proposed by Miao et al. [6] is a corrective method that becomes nonfeasible with changes in the WSN connectivity.The CoAdNC-GBR algorithm developed in this paper is an adaptive method instead of a corrective method as it removes the "NACK" feedback control mechanism and by adaptation of the best coding scheme, it provides much more reliability.The CoAdNC-GBR also reduces the amount   of computation complexity by removing the need for the sending out number,  NACK computations as proposed in the GBR-NC.In addition, thanks to its collaborative aspect between the multiple sinks, the CoAdNC-GBR helps shorten the interest message propagation time.In general, the results are that when the CoAdNC-GBR is compared to the GBR-NC and the Generic GBR, better energy efficiency, lower traffic load, and lower diffusion latency performances are observed.

Table 1 :
[12]ability of linear independence as a function of the Galois Field size[12].

Table 2 :
Best network coding scheme selection as a function of average number of neighbours.