Keywords

1 Introduction

Due to the rapid growth of mobile devices such as laptops and smartphones, wireless data traffic has significantly increased, driving the many efforts to increase wireless bandwidth [1,2,3,4,5]. Recently, wide attention has focused on a novel paradigm called network coding (NC) to maximize the link utilization of a given wireless bandwidth. Energy efficient technique has been widely acknowledged as a promising diversity technique to combat wireless fading [1,2,3,4,5]. Two research areas are exploring this approach: energy efficient and network coding by a neighbor node.

Network coding (NC) is an area that has emerged in 2000 [3], and has since then attracted an increasing interest, as it promises to have a significant impact on both the theory and practice of networks. NC provides some benefits in terms of performance efficiency and throughput in dynamic environments such as mobile ad hoc network (MANET). Suppose a source node sends a set of data packets, grouped into what are referred to as generations, to several destination nodes. Network coding allows the intermediate nodes to combine the different data packets of the same generation.

The advantages of NC come however at the price of additional computational complexity, mainly due to the packet encoding and decoding process. In [4], Guang et al. study the performance of random linear network coding (RLNC) for the well-known butterfly network by analyzing some failure probabilities. Ho et al. [5] present a distributed RLNC algorithm for transmission and compression of information in general multisource multicast networks. The authors show that the RLNC can take advantage of redundant network capacity for improved success probability and robustness. Papanikos et al. [6] focus on the problem of multiple sources broadcasting in MANETs. The authors propose a connected dominating set-based algorithm that works in synergy with RLNC on the “packet generation level”.

How to improve the energy efficient is an important issue for packet transmission in MANETs. This paper proposes an Adaptive Length Sliding Window-based Network Coding for Energy Efficient algorithm in MANETs (ALSW-NCEE). We apply network coding over GF(2q) on symbols rather than on packets to fully exploit the advantages of network coding including adaptive length sliding window, energy efficient. The main contribution of this work is summarized as:

  1. (1)

    We present an efficient approach to construct adaptive length sliding window and network coding coefficients in a pseudo-random manner on each user. We provide a thorough description of adaptive length sliding window, network coding, and energy efficient in MANETs (ALSW-NCEE), a novel class of network codes.

  2. (2)

    Second, an analytical model of ALSW-NCEE decoding complexity is derived allowing to matching the decoding computational cost to the capacity of the mobile node.

  3. (3)

    The performance of the ALSW-NCEE is studied using NS2 and experimentation to assess the encoding efficiency of ALSW-NCEE enabled mobile node. The ALSW-NCEE is shown to achieve significant performance gain.

The rest of the paper is organized as follows. Section 2 discusses the some related work. Section 3 describes models of sliding encoding window model in MANETs. Some simulating results are provided in Sect. 4. Finally, the paper concludes in Sect. 5.

2 Related Works

In this section, we overview the existing literature on lower complexity NC and energy efficient for MANETs. In its best known algorithm, NC is defined over finite fields such as GF(2q), as the size of the field to ensure the node receives the packet has the very high decoding ability.

In MANET, network coding in higher finite field has been proved with solid performance improvement over binary codes. A key problem in network coding (NC) lies in the complexity and energy consumption associated with the packet decoding processes, which hinder its application in mobile environments. Energy efficiency directly affects battery life and thus is a critical design parameter for MANETs. Applying network coding for wireless applications in general has also been proposed and investigated in the more recent literature. Keller et al. [7] present SenseCode, a new collection protocol for sensor networks, which leverages network coding to balance energy efficiency and end-to-end packet error rate. Fiandrotti et al. [8] propose a band codes algorithm, a novel class of network codes specifically designed to preserve the packet degree distribution during packet encoding, recombination and decoding. Seferoglu et al. [9] propose a network coding aware queue management scheme (NCAQM) that is implemented at intermediate network coding nodes and bridges the gap between network coding and TCP rate control. The NCAQM scheme is grounded on the network utility maximization framework, stores coded packets at intermediate nodes, and drops packets at intermediate nodes. Hong et al. [10] present a cooperative relaying strategy for half-duplex multihop relay networks. The author propose a short message noisy network coding with sliding-window decoding (SNNC-SW), the SNNC-SW has a better rate-scaling, lower decoding complexity and delay. Lee et al. [11] focus on multiparty video conferencing via a satellite. The author proposed protocol uses the multicasting routing information and number of video frame packets to generate coded packets. The proposed protocol ensures the reliable transmission of multicasting packet for mobile users using the decoding error rate for the random linear network coding batch.

Although some network coding algorithms are proposed to improve network performance, most of these approaches do not consider mobile energy efficient scenario. In this paper, we focus primarily on the mobile packet network problem of MANETs. We take into account maximizing network throughput, consider minimizing decoding delay. By constructing the appropriate network coding structure, we can achieve the higher energy efficient.

Qin et al. [12] proposed an energy-saving scheme for wireless sensor networks based on network coding and duty-cycle (NCDES). The scheme determines the node’s status based on the ID information which embedded in data information. When combining network coding and duty-cycle in wireless sensor networks, it will reduce transmission coding coefficients and retransmissions. Jiang et al. [13] proposes an energy-efficient multicast routing approach to achieve the data forwarding in the multi-hop wireless network. Analysis of the multi-hop networks energy metric and energy efficiency metric. Then the corresponding models are given network coding is used to improve network throughput. Antonopoulos et al. [14] propose an ANC-aided game theoretic energy-efficient layout (ANGEL) for data dissemination in wireless networks. Júnior et al. [15] propose a show-case that applying Network Coding to data dissemination for Wireless Sensor Networks provides benefits even for small values (CodeDrip). CodeDrip is a data dissemination protocol with network coding capability. CodeDrip utilizes network coding to improve energy efficiency, reliability, and speed of dissemination. Qu et al. [16] develop an efficient network coding strategy for secondary users while considering the uncertain idle durations in cognitive radio networks. The authors propose a coding parameter selection algorithm for systematic network coding by considering the complicated correlation among the receptions at different receivers. Nawaz et al. [17] proposes a gradient based energy efficient with network coding routing protocol (GREEN). The GREEN algorithm improves the lifetime of industrial wireless sensor network. Energy efficiency increases as more data is routed towards the sink with less number of transmissions.

3 Adaptive Length Sliding Window

We now focus to the adaptive length sliding window and the random network coding approaches. When using this approach, not all packets need to be coded together in a generation, only the code group operating in the same window.

3.1 Network Model

The network model is represented as G = (V, E) where V represents the set of nodes in the network and E denotes the set of directed edges. Each link e = (i, j) \( \in \) E means that node i can transmit to node j. We assume links are symmetric that if (i, j) \( \in \) E; (j, i) \( \in \) E as well. Whether two links interfere with each other depends on the interference model adopted.

3.2 Adaptive Length Sliding Window

The conventional sliding window algorithm using a fixed window length, the computational complexity of the algorithm can increase the additional and proportional to the length of the sliding window. In order to effectively improve the performance of sliding window, we proposed an adaptive length sliding window algorithm using a network coding length. Adaptive length sliding window algorithm of the general structure and process the same as the traditional sliding window algorithm, just in the process according to the performance of adaptive window to resize the sliding window. The adaptive length sliding window of algorithm will be adaptive set the length of each sliding window, which can avoid the length of the sliding window is too big or too small.

Figure 1 illustrates the conceptual structure of the proposed adaptive length sliding window algorithm with a sliding window length of w information bits and a frame length of N information bits, assumed to be an integer multiple of w. Let us define the i-th (1 ≤ i ≤ N/w) forward recursion and the i-th backward recursion computation as the forward metric and backward recursion computation computed from the beginning of the (i – 1)-th sliding window to the beginning of the i-th sliding window, respectively.

Fig. 1.
figure 1

Depiction of the proposed adaptive length sliding window algorithm.

In the conventional sliding window algorithm, the length of the sliding window is fixed for all encoding windows, decoding windows and all decoder iterations. However, in the proposed adaptive length sliding window algorithm, the length of the sliding window is adaptively varied for each encoding windows, decoding window and each iteration depending on the reliability information obtained from the backward recursion.

We define the following formula to aggregate the most recent received packet R i , given the packet R i is the i-th packet in current sliding window W i .

$$ R_{i} = \alpha \cdot f(i) + (1 - \alpha ) \cdot R_{i - 1} ,\,{\text{and}}\;f (i ) { = }k \cdot i{ + }C\; $$
(1)
$$ W_{i} = \beta \cdot W_{i - 2} + (1 - \beta ) \cdot W_{i - 1} $$
(2)

where α, β(0 ≤ α, β < 1) is the weight assigned to the predictive sliding window value of latest received packet in window W i . f(i) is the linear regression function on packets. When the behavior of a service changes, current sliding window value R i will be updated in a new sliding window, therefore current sliding window may be updated as the new sliding window.

3.3 Network Coding Operation

The network coding process consists of randomly combining source symbols by using coefficients randomly selected within a finite field GF(2q). Let x 1, x 2, …, x n denote the source packets associated with the nodes. Linear network coding allows inter-mediate nodes to combine incoming packets (symbols). Each packet contains a linear combination of the source packets, as described by a vector of coefficients with respect to the source symbols called coding vector, which is sent appended to the packet.

The coding vector can be used by network nodes to decode the data, or further encode it. Encoding can be performed recursively, namely, with already encoded packets. Consider a node that has received and stored a set (a 1, X 1), (a 2, X 2), …, (a m, X m), where X i denotes the information symbols and a i the appended coding vector to packet. This node may generate a new encoded packet (a , X ) by picking a set of coefficients e = (e 1, e 2, …, e m ) and computing the linear combination X  = \( \sum\nolimits_{j = 1}^{m} {e_{j} X^{j} } \). The corresponding coding vector a is not simply equal to e, since the coefficients are with respect to the original packets x 1, x 2, …, x n ; in contrast, straightforward algebra shows that it is given by \( a_{i}^{'} = \sum\nolimits_{j = 1}^{m} {e_{j} a_{i}^{j} } \). This operation may be repeated at several nodes in the network.

The node has received m the corresponding linear combinations of the source symbols. Each node v collects the coding vectors for the packets it receives (or generates) in a decoding matrix G v . To transmit, the node generates a linear combination whose coding vector lies in the vector space of its decoding matrix. Once a node receives linearly independent combinations, or equivalently, a basis of the n-dimensional space, it is able to decode and retrieve the information of the n sources. Decoding amounts to solving a system of linear equations with complexity bounded as O(n 3).

3.4 Assigning Probabilities to Sliding Windows

Once the window boundaries have been set around each position of each of the result sets that are to be fused, the next stage in the fusion process is to assign a probability score to each position based on those positions contained in the window surrounding it.

P(d p , w|s), the probability of relevance of packet d in position p using a window size of w packets either side of p, given that it has been returned by input system s is given by

$$ P(d_{p,w} |s) = \frac{{\sum\nolimits_{i = f}^{e} {P(d_{i} |s)} }}{e - f + 1} $$
(3)

The use of the sliding window results in a smoother decrease in the probabilities later in the result set, when compared with using probabilities based on data available at each position alone.

4 Energy Efficiency

Focusing on the energy aspect of the problem, we have chosen the utility function so as to quantify the lifetime of the nodes. The energy efficiency (η EE) is evaluated as the expected number of successfully transmitted information bits L divided by the total consumed energy E tot in the MANET, i.e.,

$$ \eta_{\text{EE}} { = }\frac{{L({\text{bits}})}}{{E_{tot} ({\text{Joule}})}} $$
(4)

where L is the total amount of useful data delivered and E tot denotes the total energy consumed.

In MANETs, as long as the mobile nodes are deployed in the transmission range of the transmitting nodes, they receive these packets for free even if these packets do not belong to their duties. Having analyzed the ALSW-NCEE’s performance, we are able to derive a closed-form formula that describes the average energy consumption in the network

$$ E_{tot} = E_{NC} + E_{min} + E_{EC} + E_{SW} $$
(5)

where E NC represent the average energy consumption during the network coding and the initial transmission from the source node, E min denotes the energy waste in a perfect scheduled cooperative phase, E EC is the energy consumed during the contention phase, and E SW is the sliding encoding window during the sliding energy consumption.

The energy consumed in transmitting and receiving a packet is denoted by P T , P R , respectively. Furthermore, the relationship between energy and power is given by E = P∙t, where the terms ε, P and t represent the energy, the power and the time, respectively. We recall that the network consists of a source node, a destination node and a set of n intermediate nodes (code node and sliding node). Therefore, considering the network topology, we have:

$$ E_{NCS} = P_{T} \cdot T_{A} + \left( {n + 1} \right) \cdot \, P_{R} \cdot T_{A} $$
(6)

where E NCS represents the average energy required to transmit a NC packet during the contention phase among all the intermediate nodes. Computing the energy consumed during the sliding encoding window phase constitutes one of the most challenging parts in this analytical model. Let us start by defining that:

$$ E_{NC} = E_{r} \cdot \, E_{NCS} $$
(7)

With coding, packets are delivered to the application in a packet-by-packet manner. For every coding packet, the receiver node needs to receive B independent coded packets in order to decode and recover the original coding packet. Let N i denote the number of transmitted coded packets until the receiver decodes coding block i. p is the packet loss rate. The probability that the receiver receives exactly B coded packets after the n-th packet transmission by the sender for coding packet i is given by a negative binomial distribution, i.e.,

$$ P\{ N_{i} = n\} = \left( {\begin{array}{*{20}c} {n - 1} \\ {B - 1} \\ \end{array} } \right)(1 - p)^{B} p^{n - B} ,\begin{array}{*{20}c} {} \\ \end{array} n \ge B $$
(8)

which is the probability that B-1 packets out of the first n-1 transmissions are received successfully and the last transmission is a success too. Recall that, for the moment, we are assuming all coded packets are independent following the mechanism described earlier. Therefore, we obtain that,

$$ \begin{aligned} P\{ N_{i} \le n\} = & \sum\limits_{i = B}^{n} {\left( {\begin{array}{*{20}c} {i - 1} \\ {B - 1} \\ \end{array} } \right)} (1 - p)^{B} p^{i - B} \\ = & (1 - p)^{B} \sum\limits_{i = 0}^{n - B} {\left( {\begin{array}{*{20}c} {B + i - 1} \\ {B - 1} \\ \end{array} } \right)} p^{i} \\ \end{aligned} $$
(9)

5 Simulation Experiments

In this section, we evaluate and compare the performance of the proposed ALSW-NCEE algorithm for MANETs with SenseCode algorithm [7] and ANGEL algorithm [14]. We implemented the code by integrating the Network Simulator NS-2 [18] to perform the simulations for the MANETs with adaptive length sliding window network coding with energy efficient algorithm.

5.1 Simulation Scenario

We evaluate ALSW-NCEE in a wireless packets scenario where one source distributes a packet sequence to receiver nodes. Nodes are randomly and uniformly located over a 1000 m × 1000 m area, with a node transmission range of 250 m [19]. Node mobility follows the random waypoint model. The generation distributed by the source is called seeding position within the wireless packets stream. The results of the simulation are positive with respect to performance. The corresponding simulation parameters are summarized in Table 1.

Table 1. Simulation parameters

5.2 Simulation Results

In this section, we evaluate and compare the performance of the proposed ALSW-NCEE algorithm for MANETs with SenseCode algorithm [7] and ANGEL algorithm [14].

In Fig. 2, we compare the average network throughput of ALSW-NCEE with those of SenseCode and ANGEL under node’s mobility speed for three algorithms. From the Fig. 2 we can see that when the node’s mobility speed increases, SenseCode and ANGEL average network throughput is lower than that of ALSW-NCEE. Therefore we emphasize that the main aim of these algorithms is to avoid any source of energy consumption that rise due to bad wireless links, hence, ALSW-NCEE has an advantage in transmission, than consuming energy by limiting the transmitted packets, and its utilization to adaptive length sliding window network coding algorithms allows for reliable transmission and less energy due to decreased re-transmissions encountered.

Fig. 2.
figure 2

Network throughput vs. Node’s mobility speed (m/s).

In Fig. 3, we test the ALSW-NCEE performance in encoding overhead. We plot the encoding overhead versus node’s mobility speed for three algorithms. The encoding overhead increases as the packets transmission increases because the node’s mobility speed increases. ALSW-NCEE reduces the encoding overhead the best. Figure 3 shows the encoding overhead of ALSW-NCEE, SenseCode and ANGEL, which use the adaptive length sliding window network coding and energy efficient that minimize the encoding overhead.

Fig. 3.
figure 3

Encoding overhead with Node’s movement speed (m/s).

As the node’s movement speed is increased, the distance between the nodes is changing, the energy consumption of the nodes increases. Observe in Fig. 4 that ALSW-NCEE significantly improves the energy consumption of the nodes, hence reducing the frequency of path update events. The energy consumption of ALSW-NCEE is lower than that of SenseCode and ANGEL, especially when the node’s movement speed changes from 0 to 20.

Fig. 4.
figure 4

Energy consumption with Node’s movement speed (m/s).

Figure 5 illustrates the energy efficiency versus the node’s movement speed with various traffic communication scenarios. The energy efficiency presents the network throughput by multipath receivers versus the number of network coding data packets supposed to be received. The proposed ALSW-NCEE scheme has the better energy efficiency than that of SenseCode and ANGEL algorithm.

Fig. 5.
figure 5

Energy efficiency with Node’s movement speed (m/s).

6 Conclusion

In this paper, we discuss adaptive length sliding window network coding and energy efficient problem, which may deal with the sliding window network coding model for researching in wireless networks. It presents an Adaptive Length Sliding Window-based Network Coding for Energy Efficient algorithm in MANETs (ALSW-NCEE). We provide a thorough description of adaptive length sliding window, network coding, and energy efficient in MANETs. When the destination node receives enough original and coded packets from two transmission phases, it retrieves all the packets by solving a set of linear equations. The performance of the ALSW-NCEE is studied using NS2 and experimentation to assess the network throughput, encoding overhead, energy consumption, energy efficiency of ALSW-NCEE enabled mobile node. The ALSW-NCEE is shown to achieve significant performance gain.