Skip to main content
Erschienen in: EURASIP Journal on Wireless Communications and Networking 1/2010

Open Access 01.12.2010 | Research Article

Data Dissemination in Wireless Sensor Networks with Network Coding

verfasst von: Xiumin Wang, Jianping Wang, Yinlong Xu

Erschienen in: EURASIP Journal on Wireless Communications and Networking | Ausgabe 1/2010

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

In wireless sensor networks (WSNs), it is often necessary to update the software running on sensors, which requires reliable dissemination of large data objects to each sensor with energy efficiency. During data dissemination, due to sleep scheduling designed for energy efficiency, some sensors may not receive some packets at some time slots. In the meantime, due to the unreliability of wireless communication, a sensor may not successfully receive a packet even when it is in the active mode. Thus, retransmission of such packets to those sensors is necessary, which consumes more energy and increases the delay of data dissemination cycle. In this paper, we propose a network coding-based approach in data dissemination such that data dissemination can be accomplished at the earliest time. Thus, less energy is consumed and the delay can be decreased. The impact of packet loss probability and the sleep probability of sensors on the network coding gain is analyzed. A threshold is also given to decide whether the current sleep scheduling is effective on energy saving in data dissemination process or not. Simulation results demonstrate the effectiveness and scalability of the proposed work.

1. Introduction

Recently, more research attention has been directed towards wireless sensor networks. Once deployed, sensors are expected to operate for extended periods of time, and it is impractical to physically reach all sensors. However, it is quite often necessary to update the software running on those sensors or add new functionality to the sensors [13]. Reprogramming the network needs to reliably disseminate large data objects (50–100 KB) to every sensor in the network with energy efficiency [2].
Protocols for reliably disseminating large data objects in WSNs have been developed over years. Protocols in [14] achieve data dissemination reliability through different mechanisms such as hop-by-hop recovery, NACKs or ACKs mechanisms, while another requirement of disseminating large objects in WSNs, energy efficiency, has not been well studied.
In WSNs, energy consumption is a critical issue and sleep scheduling has been well studied as a conservative approach to minimize the energy consumption due to idle listening [5, 6]. Though sleep scheduling can save energy, sensors in sleep mode cannot receive data packets. In addition, due to the unreliability of wireless communication, a sensor may not receive the packet successfully even when it is in active mode [7]. Hence, a data packet may be transmitted several times in order to be disseminated to all sensors, which wastes energy and increases the delay of the whole data dissemination process. In other words, the data dissemination process consists of sending native data packets and recovering "wanted" packets that each sensor has not received due to sleep scheduling and/or link unreliability. In order to complete the data dissemination process in a timely manner and achieve energy efficiency, it is crucial to assure that the maximum number of "wanted" packets at all sensors can be recovered at each time slot.
Recently, network coding has become a promising approach to improve the system throughput in wireless networks. Network coding with XORs operation in wireless broadcast has been studied in [8], which shows the advantage of the proposed XORs coding scheme over the traditional wireless broadcast in the bandwidth efficiency through simulations and theoretical analysis. In XORs coding, a coded packet carries both the coding vector information and the encoded data. Thus, upon receiving a coded packet, the receiver knows which packets are encoded together and how to decode the packet with the available packets at the receiver. The work in [9] has proved that optimal XORs encoding decision for wireless broadcast, which decides the coding vector of each coded packet, is an NP-hard problem. Heuristic algorithms of encoding decision problem for wireless broadcast and multicast are proposed in [9, 10]. However, the proposed encoding decision approach can only be applied to the scenario where all receivers remain active during the whole time period of recovery. Such an approach can not be applied to WSNs with sleep scheduling because different sets of active sensors may be available at different time slots.
In this paper, given the sleep scheduling information at the sensors, we aim to determine an effective XORs encoding strategy such that the minimum number of transmissions is required in order for each sensor in the network to successfully receive the whole set of disseminated data packets. Thus, energy consumption can be reduced and the data dissemination process can be accomplished in a timely manner. To achieve such an objective, it is important to maximize the expected number of active sensors that can decode out one "wanted" data packet at each time slot in the recovery process, which is the focus of this paper. The contribution of the proposed work is summarized as follows.
(i)
The proposed work takes both link unreliability and sleep scheduling into consideration and proposes an XORs encoding decision algorithm to maximize the expected number of active sensors that can decode out one native packet in their "wanted" data packet sets at each time slot in the recovery process.
 
(ii)
We analyze the impact of each link's packet loss probability and each sensor's sleep probability at each time slot on the network coding gain, which is an extension of the analysis given in [8].
 
(iii)
We also study the effectiveness of sleep scheduling on energy saving, which is offsetted by the total number of active time slots consumed in the data dissemination process. A threshold is derived to decide whether the current sleep scheduling is effective on energy saving or not. The simulation results also confirm the accuracy of our analysis.
 
The rest of the paper is organized as follows. Related work is reviewed in Section 2. Section 3 introduces the system architecture and data dissemination schemes. The problem description and its complexity is presented in Section 4. Section 5 describes the algorithm design. Theoretical analysis is given in Section 6. Section 7 gives the simulation results. Finally, we conclude the paper in Section 8.
In this section, we review the related work of network coding in WSNs. Network coding is originally proposed in information theory [11] and recently has become a promising approach to improve the system throughput in wireless networks [1116]. Adaptive network coding is proposed in [17] to reduce traffic in the process of software updates where linear network coding technique is used. As computation ability and the memory at sensor nodes are very limited, the complexity of linear encoding and decoding introduces extra overhead. Thus, it is more appropriate to use XORs operation in WSNs since both encoding and decoding operations are much simpler. In fact, XORs coding has been widely used in wireless networks to reduce the complexity of linear network coding [8, 10, 18, 19].
COPE proposed in [18] improves the throughput of unicast with XORs coding. By exploiting the broadcast nature of wireless medium, each node buffers overheard packets for a short time and notifies its neighbors which packets it has heard. When a node transmits a packet, it uses its knowledge of what its neighbors have heard to perform opportunistic coding and XORs multiple packets to transmit them as a single packet while ensuring that each intended next-hop has enough information to decode the encoded packet.
Network coding with XORs operation in wireless broadcast has also been studied in [8], which shows the advantage of the proposed network coding scheme over traditional wireless broadcast in bandwidth efficiency through simulations and theoretical analysis. However, encoding decision has not been given in [8]. The work in [9] has proved that optimal XORs encoding decision problem for wireless broadcast is an NP-hard problem.
Several heuristic algorithms for encoding decision in wireless broadcast and multicast have been proposed in [9, 10]. With the knowledge of the "wanted" packet set at each receiver, an auxiliary graph is constructed. The encoding decision during the recovery process is then converted to a clique partition problem in the auxiliary graph. However, the proposed encoding decision algorithms can only be applied to the scenario where all receivers remain active during the time period of recovery. Such an approach cannot be applied to WSNs since different set of active sensors may be available at different time slots. Thus, encoding decision in WSNs with sleep scheduling cannot be converted into finding a minimum clique partition in the graph.
The work in [20] proposes a retransmission scheme, which only uses reception estimation to determine the coding set selection. However, the reception estimation at the source node may not be accurate enough, consequently, some receivers may not be able to decode useful information from the coded packet and more retransmissions will be needed. In addition, the coding decision based on reception estimation does not consider the impact of sleep scheduling, which affects the decoding probability at the receivers in low duty-cycled WSNs.

3. System Architecture and Data Dissemination with Network Coding

In this paper, we propose to use XORs coding in data dissemination in a large scale WSN which is organized as a multihop cluster hierarchy [21]. A multihop cluster hierarchical architecture consists of multiple layers as shown in Figure 1. In the lowest layer, all the nodes in the network are grouped into clusters. In addition, besides being a member in a cluster, a node may act as a cluster head in a down layer cluster, for example, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq1_HTML.gif in the figure. Within each cluster, the cluster head communicates with its member sensors in a one-hop fashion [22]. We also assume that each sensor is aware of its one-hop neighbors' sleep scheduling and the reliability of the wireless links between the sensor to its neighbors. This can be easily accomplished by one-hop information exchange and link loss inference [23].
Our data dissemination process is conducted at each cluster head so as to make sure that finally all the sensors obtain the updating packets. In a multihop cluster hierarchy, if a cluster head in an intermediate layer starts to transmit the received packet immediately after receiving one fresh packet, the gain of network coding cannot be fully utilized. On the other hand, if a cluster head waits and starts to transmit packets until it receives all packets from the cluster head in the upper layer, it will waste bandwidth and introduce extra delay. In order to achieve the balance between bandwidth efficiency and network coding gain, we propose to use a threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq2_HTML.gif to determine when the current cluster head starts to transmit the packets to its member nodes. Specifically, for each cluster head, after obtaining https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq3_HTML.gif fresh native packets, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq4_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq5_HTML.gif is the number of native packets available at its upper-layer cluster head, it will conduct XORs coding scheme to transmit the packets to its member nodes. In the simulation part, we will study the impact of the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq6_HTML.gif on the delay and energy consumption.
In the rest of the paper, we focus on how a cluster head encodes the packets and transmits them to its member sensors. The coding decision at other cluster heads can use the same approach.
As we mentioned earlier, the data dissemination process consists of sending native data packets and recovering "wanted" packets for each receiver. We now give an example to show that network coding can indeed recover "wanted" packets for all neighbors more efficiently.
Suppose that four packets https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq7_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq8_HTML.gif need to be transmitted to sensors https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq9_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq10_HTML.gif as shown in Figure 2. The sleep scheduling at each receiver is given in Figure 2(a) where 1 denotes that this sensor is active at the current time slot, otherwise, it is in sleep mode. For the sake of simplicity, in this example, we assume that no packet is lost due to unreliable wireless communication, which means that a sensor can receive a packet successfully when it is in active mode. We also assume that an active sensor can only transmit or receive one packet at each time slot [5]. We show that different data dissemination approaches will lead to different finishing time of data dissemination.
(i)
Without network coding, 4 native packets will be sent firstly, followed by sending native packets to recover "wanted" packets at sensors. Figure 2(b) gives the "wanted" data packet set at each sensor after 4 native packets are sent out. Without network coding, it will take 10 time slots to finish the data dissemination process as shown in Figure 2(c).
 
(ii)
With network coding, 4 native packets can be sent at first followed by sending encoded packets to recover "wanted" packets at sensors. Assume that our coding strategy at each time slot is to maximize the number of active receivers that can decode the encoded packet. For example, at time https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq11_HTML.gif , if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq12_HTML.gif is sent, all four receivers can obtain a "wanted" packet by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq13_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq14_HTML.gif . Eventually, it will take 8 time slots to finish the data dissemination process as shown in Figure 2(d). Under such a data dissemination approach, as all native packets are sent at first, the available packets at sensors are most diversified. Thus, the best network coding gain can be achieved. This, however, means that each sensor needs to buffer all received native packets in order to decode out "wanted" packets, which might not be feasible in a WSN due to limited memories at sensors.
 
(iii)
An alternative approach will be to divide the data dissemination process into several batches where in each batch, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq15_HTML.gif native packets are sent followed by the recovering process [24]. Once all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq16_HTML.gif native packets are received by all sensors in the cluster, the cluster head proceeds to transmit the following batch of packets. The data dissemination is accomplished when all batches of packets are obtained by all sensor nodes in the network. In Figure 2(e), we send two native packets at first, followed by sending encoded packets to recover "wanted" packets of the first batch at sensors, then send the last two native packets followed by sending encoded packets to recover "wanted" packets of the second batch at sensors. It takes 9 time slots to finish the data dissemination process.
 
We now discuss how the cluster head can maintain "wanted" packet set at each member sensor. After sending out a packet, the cluster head needs to collect the "wanted" packet set at each member sensor. In order to reduce ACKs implosion, only the active receivers that have received a packet at current time slot successfully and can obtain/decode one "wanted" packet from the received packet will send an ACK message to the cluster head. Thus, according to ACKs from receivers, the cluster head can derive the "wanted" packet set for each active receiver.
With the information of "wanted" packet set of each receiver at each time slot in the recovery process, an encoding decision which aims to maximize the expected number of active sensors that can decode out one "wanted" packet at current time slot will be introduced in the following section.

4. Problem Description and Complexity

In this section, we first describe the encoding decision problem that aims to decide which native packets should be encoded at each time slot https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq17_HTML.gif in the recovering process such that the maximum expected number of active sensors at time slot https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq18_HTML.gif can decode out one "wanted" native packet. Thus, we limit our discussion to the recovery process of one data dissemination batch in a cluster, which can also be applied to other batches in all other clusters.
Suppose that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq19_HTML.gif is the set of data packets in a batch which need to be disseminated to all the sensors in a cluster. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq20_HTML.gif be the set of active member sensors in the cluster at https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq21_HTML.gif th time slot At each time slot, the cluster head can obtain its neighbor sensors' "wanted" packet set based on ACKs feedback. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq22_HTML.gif be 1 if packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq23_HTML.gif is not available at active sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq24_HTML.gif at current time slot where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq25_HTML.gif , otherwise, let it be 0. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq26_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq27_HTML.gif be the "wanted" data packet set of active sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq28_HTML.gif at current time slot https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq29_HTML.gif as shown in Figure 2(b). Assume that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq30_HTML.gif is the probability that sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq31_HTML.gif can not successfully receive a packet from the cluster head when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq32_HTML.gif is in active mode.
Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq33_HTML.gif be 1 if native packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq34_HTML.gif is combined in current encoded packet, otherwise, let it be 0. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq35_HTML.gif be 1 if active sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq36_HTML.gif can decode out one "wanted" native packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq37_HTML.gif from the current encoded packet where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq38_HTML.gif , otherwise, let it be 0. Considering unreliable wireless communication, the probability that an active sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq39_HTML.gif can successfully obtain one "wanted" packet at the current time slot is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq40_HTML.gif . Thus, at current time slot, the expected number of sensors that can decode out one "wanted" packet is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq41_HTML.gif , which needs to be maximized in order to save energy.
Still take Figure 2(d) as an example, after https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq42_HTML.gif , the cluster head starts to recover the "wanted" packets at its member sensors. At https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq43_HTML.gif , if the cluster head sends an encoded packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq44_HTML.gif , in an ideal condition where no packet will be lost, active receivers https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq45_HTML.gif can decode out one "wanted" packet by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq46_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq47_HTML.gif . Assume that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq48_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq49_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq50_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq51_HTML.gif in a practical wireless network where the probability of successfully receiving a packet at https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq52_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq53_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq54_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq55_HTML.gif is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq56_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq57_HTML.gif respectively due to unreliable wireless communication. Thus, the expected number of active receivers that can decode out one "wanted" packet after receiving the current encoded packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq58_HTML.gif is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq59_HTML.gif , which is maximum at the current time slot. Thus, the cluster head will send out https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq60_HTML.gif at the current time slot. In this paper, such an encoding decision problem using XORs coding is referred to as network coding based data dissemination (NCDD) problem.

4.1. Problem Formulation

We can formally formulate the NCDD problem at time slot https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq61_HTML.gif in the recovery process as follows:
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ1_HTML.gif
(1)
subject to
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ2_HTML.gif
(2)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ3_HTML.gif
(3)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ4_HTML.gif
(4)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ5_HTML.gif
(5)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ6_HTML.gif
(6)
In the above formulation, the term of the objective represents the expected number of active receivers that can decode out one "wanted" data packet from the encoded packet at the current time slot. Equations (2) and (6) ensure that each receiver can only decode out at most one "wanted" native packet from the encoded packet. Equations (3) and (4) give two requirements that active receiver https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq62_HTML.gif can decode out one "wanted" packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq63_HTML.gif : ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq64_HTML.gif ) packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq65_HTML.gif is in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq66_HTML.gif 's "wanted" packet set and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq67_HTML.gif is participated in the encoded packet; ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq68_HTML.gif ) all other combined native packets except https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq69_HTML.gif in the encoded packet have already been successfully received by receiver https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq70_HTML.gif . Equation (5) guarantees that if packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq71_HTML.gif is available at all active receivers at current time slot https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq72_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq73_HTML.gif must not be combined into the encoded packet.

4.2. Problem Complexity

Theorem 1.
NCDD problem is NP-hard.
Proof.
We prove the theorem by a reduction from MAXIMUM ONE-IN-THREE SAT problem which is a well known NP-hard problem in the strong sense.
MAXIMUM ONE-IN-THREE SAT: We are given a set https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq74_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq75_HTML.gif boolean variables and a collection https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq76_HTML.gif of clauses with exactly three literals. Each of these clauses is a boolean formula and it is true if and only if exactly one of its three literals is true. Without loss of generality, we assume that the three literals in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq77_HTML.gif are https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq78_HTML.gif . The objective of MAXIMUM ONE-IN-THREE SAT is to find a truth assignment such that the maximum number of clauses is true. We use https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq79_HTML.gif to denote the optimal solution of this problem.
Given an instance of MAXIMUM ONE-IN-THREE SAT, we can construct an instance of the decision version of the NCDD problem in polynomial time as follows. Let there be https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq80_HTML.gif data packets needed to be disseminated from the cluster head to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq81_HTML.gif receiver nodes. If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq82_HTML.gif , packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq83_HTML.gif is participated in encoding, otherwise, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq84_HTML.gif is not participated in encoding. For each clause https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq85_HTML.gif , if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq86_HTML.gif is a literal of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq87_HTML.gif , then https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq88_HTML.gif is a "wanted" packet at https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq89_HTML.gif . In other words, each sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq90_HTML.gif has lost exactly three packets and has all other packets. Let the probability that an active sensor can successfully receive a packet be https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq91_HTML.gif . Then, our objective is to maximize https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq92_HTML.gif For a given encoded packet, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq93_HTML.gif can decode a new native packet if and only if exactly one native packet in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq94_HTML.gif is encoded into the new encoded one. The problem is to find an encoding strategy to maximize the number of receivers which can decode out one "wanted" packet from the encoded packet. We use https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq95_HTML.gif to refer to the result of this objective.
(i)
Suppose that there is a true assignment for MAXIMUM ONE-IN-THREE SAT with the maximum number of clauses. If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq96_HTML.gif is true, there must be exactly one true assignment for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq97_HTML.gif . Without loss of generality, we assume that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq98_HTML.gif is true while https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq99_HTML.gif are both false. According to the construction of the instance, only https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq100_HTML.gif is participated in encoding while neither https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq101_HTML.gif nor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq102_HTML.gif is participated in encoding. In other words, only one lost packet of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq103_HTML.gif is participated in encoding and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq104_HTML.gif has all other packets involved in encoding, thus, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq105_HTML.gif can decode out one "wanted" native packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq106_HTML.gif . Therefore, if there is a clause which is true in the MAXIMUM ONE-IN-THREE SAT problem, there must be a receiver which can obtain a "wanted" native packet. Then, we have https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq107_HTML.gif .
 
(ii)
Suppose that there is an encoding strategy such that the maximum number of receivers can decode the new native packet. Assume that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq108_HTML.gif can decode a new native packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq109_HTML.gif from the encoded one. According to the decoding strategy, the other two "wanted" packets https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq110_HTML.gif must not be encoded into the new one, that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq111_HTML.gif both have false assignment while https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq112_HTML.gif is true. In this assignment, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq113_HTML.gif also has a true value. So, we have https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq114_HTML.gif .
 
The above analysis shows that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq115_HTML.gif . Thus NCDD problem is NP-hard.

5. Algorithm for NCDD Problem

In this section, we first introduce an auxiliary graph in which each vertex is assigned a weight. We then show that the proposed NCDD problem can be converted into finding a maximum weight clique problem in the auxiliary graph, based on which we develop a heuristic algorithm for the NCDD problem.

5.1. Model Design

At any https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq116_HTML.gif th time slot, let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq117_HTML.gif be the set of packets "wanted" by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq118_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq119_HTML.gif be the set of packets received by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq120_HTML.gif . We can construct an auxiliary graph https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq121_HTML.gif similar to [9] where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq122_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq123_HTML.gif , which means that every "wanted" packet of each active sensor has a vertex in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq124_HTML.gif . Considering two receivers https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq125_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq126_HTML.gif , if they have lost the same packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq127_HTML.gif , then they can both recover https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq128_HTML.gif if only native packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq129_HTML.gif is encoded at current time slot. We use a link https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq130_HTML.gif between https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq131_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq132_HTML.gif to denote such recoverability. If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq133_HTML.gif is a "wanted" packet of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq134_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq135_HTML.gif , while https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq136_HTML.gif is a "wanted" packet of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq137_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq138_HTML.gif , then https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq139_HTML.gif can recover https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq140_HTML.gif when it receives https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq141_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq142_HTML.gif can recover https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq143_HTML.gif when it receives https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq144_HTML.gif . We use a link https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq145_HTML.gif between https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq146_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq147_HTML.gif to denote such recoverability. In other words, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq148_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq149_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq150_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq151_HTML.gif where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq152_HTML.gif .
For a clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq153_HTML.gif in the graph, let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq154_HTML.gif be the sensors which have "wanted" packets in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq155_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq156_HTML.gif be the set of "wanted" packets of those sensors in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq157_HTML.gif . Suppose that there are https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq158_HTML.gif packets in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq159_HTML.gif . For any vertex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq160_HTML.gif , according to the edge assignment of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq161_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq162_HTML.gif must have already successfully obtained the packets in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq163_HTML.gif but still requires packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq164_HTML.gif . Thus, if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq165_HTML.gif where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq166_HTML.gif are encoded and sent at https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq167_HTML.gif th time slot, each sensor in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq168_HTML.gif will be able to decode out one "wanted" packet if the encoded packet can be successfully received by all sensors in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq169_HTML.gif . To consider the unreliability of wireless communication, we assign weight https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq170_HTML.gif in the vertex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq171_HTML.gif for any https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq172_HTML.gif . Then the weight for clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq173_HTML.gif which is defined in
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ7_HTML.gif
(7)
is equivalent to the expected number of active sensors which can successfully decode out one "wanted" packet if all packets in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq174_HTML.gif are encoded together. Thus, our NCDD problem which aims to maximize the expected number of active sensors that can decode out one "wanted" packet is converted into finding a maximum weight clique in graph https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq175_HTML.gif .
For example, after the whole 4 native packets are sent, the "wanted" packet set in Figure 2(b) can be constructed into Figure 3. Thus, the encoding decision for recovery process at https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq176_HTML.gif is then converted into finding a maximum weight clique in such a graph. As shown in Figure 3, the clique that consists of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq177_HTML.gif is the clique with the maximum weight https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq178_HTML.gif . After the encoded packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq179_HTML.gif is sent, active receivers https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq180_HTML.gif can decode out https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq181_HTML.gif , respectively, if all sensors successfully receive https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq182_HTML.gif .

5.2. Algorithm Design

Assume that the total number of vertices in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq183_HTML.gif is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq184_HTML.gif . We first sort all vertices into nonincreasing order according to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq185_HTML.gif . For the example given in Figure 3, vertices in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq186_HTML.gif will be sorted into https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq187_HTML.gif .
For the simplicity of presentation, we abuse the notation a little bit and assign a unique id https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq188_HTML.gif for each vertex in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq189_HTML.gif , which uses one-dimensional subscript for vertices in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq190_HTML.gif instead of using two-dimensional subscripts. Correspondingly, we use https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq191_HTML.gif to denote the weight of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq192_HTML.gif . Thus, for the example given in Figure 3, we have https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq193_HTML.gif https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq194_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq195_HTML.gif . Without loss of generality, we assume that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq196_HTML.gif where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq197_HTML.gif .
Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq198_HTML.gif be the clique with maximum weight in the subgraph which only contains vertices of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq199_HTML.gif and let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq200_HTML.gif be the weight of clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq201_HTML.gif . In other words, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq202_HTML.gif represents the maximum weight clique the algorithm has found considering of the subgraph consisting of vertices https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq203_HTML.gif . The algorithm starts with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq204_HTML.gif and iteratively considers more vertices until all vertices in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq205_HTML.gif are considered. The algorithm stops when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq206_HTML.gif is found.
When we consider vertex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq207_HTML.gif , there are two cases. If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq208_HTML.gif is also a clique, then https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq209_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq210_HTML.gif , otherwise, if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq211_HTML.gif is not a clique, we need to find out a clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq212_HTML.gif that includes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq213_HTML.gif in the subgraph consisting of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq214_HTML.gif . Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq215_HTML.gif be the set of neighbors of vertex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq216_HTML.gif . Initially, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq217_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq218_HTML.gif . If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq219_HTML.gif is not https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq220_HTML.gif , let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq221_HTML.gif be the smallest https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq222_HTML.gif such that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq223_HTML.gif . We add https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq224_HTML.gif to the clique, that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq225_HTML.gif , and update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq226_HTML.gif , that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq227_HTML.gif . If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq228_HTML.gif is still not https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq229_HTML.gif , we then add another vertex whose index is the smallest in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq230_HTML.gif into the clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq231_HTML.gif . We repeat this process until there is no vertex in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq232_HTML.gif , that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq233_HTML.gif . By comparing the weight of the clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq234_HTML.gif without including https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq235_HTML.gif and the weight of the clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq236_HTML.gif including https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq237_HTML.gif , the clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq238_HTML.gif with maximum weight in the subgraph including vertices in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq239_HTML.gif is set to be the one with the larger weight. The detail of the algorithm is given in Algorithm 1. After this algorithm, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq240_HTML.gif gives all vertices in the found maximum weight clique. All native packets involved in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq241_HTML.gif will be encoded together and be sent out at current time slot.
Algorithm 1: Maximum weight clique algorithm.
Function   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq242_HTML.gif
if   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq243_HTML.gif
  if   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq244_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq245_HTML.gif ;
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq246_HTML.gif ;
  return
while   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq247_HTML.gif
   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq248_HTML.gif ;
   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq249_HTML.gif ;
   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq250_HTML.gif
   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq251_HTML.gif ;
  if   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq252_HTML.gif
   if   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq253_HTML.gif
     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq254_HTML.gif ; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq255_HTML.gif
return
Function   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq256_HTML.gif
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq257_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq258_HTML.gif ; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq259_HTML.gif ;
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq260_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq261_HTML.gif ;
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq262_HTML.gif ;
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq263_HTML.gif ;
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq264_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq265_HTML.gif ;
for   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq266_HTML.gif down to 1
  if   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq267_HTML.gif is also a clique;
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq268_HTML.gif ;
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq269_HTML.gif ;
  else
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq270_HTML.gif ;
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq271_HTML.gif ;
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq272_HTML.gif ;
   if   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq273_HTML.gif
     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq274_HTML.gif ; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq275_HTML.gif ;
return
We now show how to find the maximum weight clique of the graph shown in Figure 3. Assume that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq276_HTML.gif has been found, which consists of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq277_HTML.gif . Next, we will consider https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq278_HTML.gif . Since https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq279_HTML.gif is not a clique, we need to find https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq280_HTML.gif which includes vertex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq281_HTML.gif in the subgraph consisting of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq282_HTML.gif . The corresponding steps for finding such https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq283_HTML.gif is given in Algorithm 2 where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq284_HTML.gif in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq285_HTML.gif denotes that we use a unique id https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq286_HTML.gif in the algorithm to replace the original vertex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq287_HTML.gif . After https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq288_HTML.gif is found, we compare it with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq289_HTML.gif which has the weight https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq290_HTML.gif . Since https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq291_HTML.gif is larger than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq292_HTML.gif , the clique https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq293_HTML.gif is the maximum weight clique found in graph https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq294_HTML.gif . Vertices in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq295_HTML.gif indicate that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq296_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq297_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq298_HTML.gif lost packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq299_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq300_HTML.gif lost packet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq301_HTML.gif . The encoding decision will be to send https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq302_HTML.gif .
Algorithm 2: The steps of finding https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq303_HTML.gif .
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq304_HTML.gif
Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq305_HTML.gif :
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq306_HTML.gif    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq307_HTML.gif    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq308_HTML.gif https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq309_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq310_HTML.gif     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq311_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq312_HTML.gif      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq313_HTML.gif
Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq314_HTML.gif :
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq315_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq316_HTML.gif      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq317_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq318_HTML.gif     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq319_HTML.gif
Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq320_HTML.gif :
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq321_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq322_HTML.gif          https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq323_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq324_HTML.gif    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq325_HTML.gif
Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq326_HTML.gif :
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq327_HTML.gif
    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq328_HTML.gif
   Terminate;

6. Analysis

In this section, we firstly analyze the impact of packet loss probability and sleep probability on network coding gain. Then, we derive a threshold to decide whether the current sleep scheduling can save energy compared with no sleep scheduling. We only limit the analysis to one cluster in the multihop cluster hierarchy.

6.1. Impact of Packet Loss Probability and Sleep Probability on Network Coding Gain

Suppose that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq329_HTML.gif is the number of transmissions that the data dissemination process requires without coding and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq330_HTML.gif is the number of transmissions required with XORs coding. Assume that the probability that receiver https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq331_HTML.gif is in sleep mode is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq332_HTML.gif at each time slot, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq333_HTML.gif is the probability that receiver https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq334_HTML.gif can not successfully receive a packet even when it is in active mode due to unreliable wireless communication. We have the following two lemmas.
Lemma 1.
The total number of transmissions without coding required for transmitting sufficient large https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq335_HTML.gif packets to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq336_HTML.gif receivers is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ8_HTML.gif
(8)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq337_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq338_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq339_HTML.gif .
Proof.
See Appendix .
Lemma 2.
The total number of transmissions with XORs coding for transmitting sufficient large https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq340_HTML.gif packets to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq341_HTML.gif receivers is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ9_HTML.gif
(9)
Proof.
See Appendix .
With the analytical result of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq342_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq343_HTML.gif , we can define analytical network coding gain as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ10_HTML.gif
(10)
Take two receivers as an example, assume that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq344_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq345_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq346_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq347_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq348_HTML.gif is sufficient large. According to (8) and (9), we can calculate that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq349_HTML.gif  M, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq350_HTML.gif  M. Then, the analytical network coding gain is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq351_HTML.gif .
From Lemmas 1 and 2, we can also obtain the following corollary.
Corollary 1.
With two receivers, the maximum network coding gain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq352_HTML.gif can be achieved if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq353_HTML.gif , that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq354_HTML.gif .
Proof.
See Appendix .

6.2. Impact of Sleep Probability on Energy Consumption

Though sleep scheduling can save energy consumption due to idle listening, sensors in sleep mode cannot receive data packets, which imposes retransmission and may consume more energy. If sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq355_HTML.gif is active at https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq356_HTML.gif th time slot, we say that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq357_HTML.gif th time slot is an active time slot for sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq358_HTML.gif . We know that only at its active time slot, sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq359_HTML.gif consumes its energy. Thus, we can use the total number of active time slots consumed for the sensors to successfully receive the whole set of packets as the energy consumption for data dissemination.
We define a threshold as follows:
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ11_HTML.gif
(11)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq360_HTML.gif .
Then, we have the following lemma.
Lemma 3.
In XORs coding, if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq361_HTML.gif , the current sleep scheduling can save energy consumed by idle listening; otherwise, the current sleep scheduling has no contribution to energy saving.
Proof.
See Appendix .
Take two receivers with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq362_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq363_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq364_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq365_HTML.gif as an example, according to (11), we have https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq366_HTML.gif . Thus, the energy saving with sleep scheduling is offsetted by more retransmissions. In this case, the cluster head should wake up more sensors. An interesting problem is how to design an optimal sleep scheduling such that energy saving of sleep scheduling will not be offsetted by more retransmission, which is out of the scope of this paper.

7. Simulation Results

In this section, we demonstrate the effectiveness of our dissemination schemes through simulations using C https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq367_HTML.gif simulator. In our simulations, a multihop cluster hierarchical WSN is randomly generated with the fixed value of the number of sensors if without specification. We group the packets required to send into batches, and each batch has https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq368_HTML.gif packets. Recovery process with network coding starts after every https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq369_HTML.gif native packets are transmitted. In a cluster, we randomly generate sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq370_HTML.gif 's sleep scheduling according to its sleeping probability https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq371_HTML.gif .
To demonstrate the advantage of our coding scheme, we introduce two baseline algorithms, namely, dissemination without coding algorithm and dissemination with random_coding algorithm. Dissemination without coding algorithm randomly transmits a native "wanted" packet at each time slot until all receivers obtain their "wanted" data packets while dissemination with random_coding algorithm transmits an XORs packet which is randomly generated at each time slot until all receivers obtain their "wanted" packets.
In the simulation, we are interested in evaluating the performance of our coding schemes from the following perspectives.
(i)
The number of active receivers that can obtain a new "wanted" packet at one time slot and the total number of transmissions required in one batch data dissemination within one cluster.
 
(ii)
The impact of the number of receiver sensors https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq372_HTML.gif , batch size https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq373_HTML.gif , sleep probability and packet loss probability on the network coding gain under different dissemination schemes within one cluster.
 
(iii)
How close the performance of our proposed algorithms is to the derived analytical results within one cluster.
 
(iv)
The impact of the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq374_HTML.gif on the delay and the total number of transmissions required in a multihop cluster hierarchy.
 
For each setting, we simulate 150 instances and report the average performance.

7.1. Comparison with Different Data Dissemination Schemes

The effectiveness of our coding scheme for maximizing the expected number of sensors that can obtain one "wanted" packet at one time slot is demonstrated by comparing with dissemination without coding algorithm and dissemination with random_coding algorithm.
We evaluate the performance of our algorithms by varying the number of active sensors within a cluster at one time slot in the range of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq375_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq376_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq377_HTML.gif . As shown in Figure 4, the number of active sensors that can obtain one "wanted" packet by our coding scheme is much more than that by dissemination without coding algorithm and dissemination with random_coding algorithm.
For one batch data dissemination process within a cluster, to demonstrate the performance of our coding scheme, the total number of transmissions required is also compared with the other two baseline algorithms: dissemination without coding and dissemination with random_coding algorithms. We vary the number of packets needed to be sent in the range of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq378_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq379_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq380_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq381_HTML.gif . As shown in Figure 5, the total number of transmissions required in one batch dissemination by our coding scheme is much less than that by dissemination without coding and dissemination with random_coding algorithms. Hence, for data dissemination with a large set of packets, our XORs coding scheme can efficiently decrease the number of transmissions required. Thus, more energy can be saved.

7.2. Network Coding Gain Comparison with Analytical Results

We demonstrate the effectiveness of the proposed network coding algorithm by comparing the network coding gain obtained through simulation with the analytical network coding gain.
We start with a simple experiment where there are only two members sensors in a cluster. We fix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq382_HTML.gif to 0.2 and vary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq383_HTML.gif in the range of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq384_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq385_HTML.gif . As shown in Figure 6(a), the network coding gain obtained by our simulation follows the same trend as the analytical results. In addition, the maximum network coding gain is achieved when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq386_HTML.gif with both our simulation results and analytical results, which verifies Corollary 1. When https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq387_HTML.gif , most likely the "wanted" packets at one receiver are the packets available at another receiver, thus, coding opportunity is high, which achieves maximum network coding gain.
We also extend the simulation to 10 receivers in a cluster. The loss probability of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq390_HTML.gif is varied along the x-axis for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq391_HTML.gif ; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq392_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq393_HTML.gif ; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq394_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq395_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq396_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq397_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq398_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq399_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq400_HTML.gif . As shown in Figure 6(b), the simulation results are very close to the analytical results. In addition, Figure 6 verifies that network coding indeed can bring gains on reducing the number of transmissions required.
In Figure 7, we vary the sleep probability at sensors, similar results as Figure 6 can be observed and the network coding gain obtained through simulations is quite close to the analytical results.

7.3. The Impact of Sleep Scheduling on Energy Saving

We now study the impact of sleep scheduling on the energy consumption. Our simulation is conducted within one cluster. We use the total number of active time slots consumed to denote the energy consumption in data dissemination process.
Suppose that XORs coding is applied. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq403_HTML.gif be the total number of active time slots consumed for data dissemination with sleep scheduling and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq404_HTML.gif be the total number of transmissions for data dissemination without sleep scheduling. The energy saving in XORs coding with sleep scheduling over that without sleep scheduling is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ12_HTML.gif
(12)
For data dissemination without coding, we can define energy saving with sleep scheduling over that without sleep scheduling in a similar way.
We evaluate the performance of our algorithm by varying https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq405_HTML.gif in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq406_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq407_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq408_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq409_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq410_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq411_HTML.gif . As shown in Figure 8, the simulation results are very close to the analytical results.
For our XORs coding, from the figure, we know that the energy consumption with sleep scheduling is less than that without sleep scheduling when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq413_HTML.gif is less than 0.15. When https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq414_HTML.gif , the energy consumption with sleep scheduling is equal to that without sleep scheduling. When https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq415_HTML.gif is larger than 0.15, sleep scheduling has no contribution to the energy saving, it even incurs more energy consumption than that without sleep scheduling. This interesting result is plausible since when the number of sleep sensors becomes larger, more retransmissions are required, which imposes more energy consumption. In this case, the energy saving with sleep scheduling is offsetted by more retransmissions, which means that the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq416_HTML.gif and the cluster head should wake up more sensors to receive packets in order to save energy.

7.4. The Impact of Threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq417_HTML.gif on the Delay and the Total Number of Transmissions Required

We now study the impact of threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq418_HTML.gif on the delay of the data dissemination process in a multihop cluster hierarchical WSN. The threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq419_HTML.gif is varied in the range of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq420_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq421_HTML.gif . Figure 9 gives the delay required for data dissemination when the number of layers is 5 and 6, respectively. We can see that the delay increases with the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq422_HTML.gif . This is because the cluster heads need to wait more time before they can transmit their available packets to their members with the increasing of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq423_HTML.gif . Thus, the cluster heads in down layers can do nothing for a long time. Specifically, when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq424_HTML.gif , each cluster head cannot transmit its available packets until receiving all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq425_HTML.gif packets. In this case, concurrent transmissions cannot be allowed even if there is no collision between them, which thus increases the delay. From Figure 9, we can also see that the delay increases with the number of layers, because the number of receivers increases with the number of layers.
We further study the impact of the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq427_HTML.gif on the total number of transmissions required under a multihop cluster hierarchical WSN. The threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq428_HTML.gif is also varied in the range of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq429_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq430_HTML.gif . As shown in Figure 10, the total number of transmissions required decreases with the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq431_HTML.gif . When https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq432_HTML.gif is small, the cluster heads transmit the packets to their members more quickly. Therefore, the number of fresh packets available at cluster heads is small, which can not fully utilize the network coding gain. Hence, the total number of transmissions required is more than with larger threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq433_HTML.gif .

8. Conclusion

This paper studies data dissemination in wireless sensor networks with network coding to achieve energy efficiency. In order to quickly complete the whole process of data dissemination, at each time slot in the recovery process, we aim to transmit an encoded packet such that the expected number of active sensors that can decode out one "wanted" packet is maximized. A maximum weight clique model is proposed here to achieve such an objective. We further study the impact of packet loss probability and sleep probability on network coding gain. We also analyze the impact of sleep probability on energy saving gain and derive a threshold which can be used to decide whether the current sleep scheduling is effective on energy saving or not. The simulation results verify the work proposed in the paper.

Acknowledgment

This paper is supported by the National Science Foundation of China under Grant no. 60773036.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://​creativecommons.​org/​licenses/​by/​2.​0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Anhänge

Appendices

A. Proof of Lemma 1
According to [8], we can obtain that the total number of transmissions without coding to successfully deliver sufficient large https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq435_HTML.gif packets to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq436_HTML.gif receivers is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq437_HTML.gif , where each receiver keeps in active mode during data transmission process.
However, in the data dissemination process, receiver sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq438_HTML.gif may be in sleep mode and can not successfully receive a packet. Therefore, the probability that sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq439_HTML.gif can successfully receive the packet at any time slot is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq440_HTML.gif . In other words, the probability that sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq441_HTML.gif will lose the packet is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq442_HTML.gif . Thus, considering sleep scheduling, the total number of transmissions required without coding is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ13_HTML.gif
(A.1)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq443_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq444_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq445_HTML.gif .
B. Proof of Lemma 2
From [8], we know that the total number of transmissions with XORs coding to successfully deliver sufficient large https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq446_HTML.gif packets to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq447_HTML.gif receivers is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq448_HTML.gif , where each receiver keeps in active mode during the data transmission process.
As in Appendix , the probability that sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq449_HTML.gif can not successfully receive the packet with sleep scheduling is changed into https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq450_HTML.gif . Thus, the total number of transmissions required with XORs coding to transmit sufficient large https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq451_HTML.gif packets to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq452_HTML.gif receivers is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ14_HTML.gif
(B.2)
C. Proof of Corollary 1
With two receivers, from Lemma 1, the total number of transmissions required for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq453_HTML.gif packets without coding is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq454_HTML.gif , and from Lemma 2, the total number of transmissions with XORs coding is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq455_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq456_HTML.gif .
Without loss of generality, suppose that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq457_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq458_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq459_HTML.gif . We have
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ15_HTML.gif
(C.3)
Define a function https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq460_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq461_HTML.gif being the variable. We can easily prove that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq462_HTML.gif is an increasing function. Thus, when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq463_HTML.gif is 1, the value of function https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq464_HTML.gif is maximum. That is when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq465_HTML.gif , the network coding gain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq466_HTML.gif is maximum, which proves our Corollary 1.
D. Proof of Lemma 3
From the analysis in the previous section, we can see that the total number of active time slots consumed for data dissemination with XORs coding is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ16_HTML.gif
(D.4)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq467_HTML.gif is the probability that sensor https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq468_HTML.gif is in sleep mode at each time slot.
However, if there is no sleep scheduling at sensors, that is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq469_HTML.gif , the total number of transmissions for disseminating sufficient large https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq470_HTML.gif packets to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq471_HTML.gif receivers with XORs coding is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ17_HTML.gif
(D.5)
Since no sensors are in sleep mode, the total number of active time slots consumed for disseminating packets with XORs coding is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ18_HTML.gif
(D.6)
From the above formulation, we know that only if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq472_HTML.gif , sleep scheduling has contribution to save energy consumed by idle listening, otherwise, the retransmission due to sleep scheduling in sensors imposes more energy consumption. The above https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq473_HTML.gif changes into
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ19_HTML.gif
(D.7)
That is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_Equ20_HTML.gif
(D.8)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F465915/MediaObjects/13638_2009_Article_1916_IEq474_HTML.gif .
Thus, if (D.8) can be satisfied, the current sleep scheduling must have contribution to save energy compared with no sleep scheduling.
Literatur
1.
Zurück zum Zitat Hui JW, Culler D: The dynamic behavior of a data dissemination protocol for network programming at scale. Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems (SenSys '04), November 2004, Baltimore, Md, USA 81-94.CrossRef Hui JW, Culler D: The dynamic behavior of a data dissemination protocol for network programming at scale. Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems (SenSys '04), November 2004, Baltimore, Md, USA 81-94.CrossRef
2.
Zurück zum Zitat Liang C-JM, Musǎloiu-E R, Terzis A: Typhoon: a reliable data dissemination protocol for wireless sensor networks. Proceedings of the 5th European Conference on Wireless Sensor Networks (EWSN '08), January 2008, Lecture Notes in Computer Science 4913: 268-285. Liang C-JM, Musǎloiu-E R, Terzis A: Typhoon: a reliable data dissemination protocol for wireless sensor networks. Proceedings of the 5th European Conference on Wireless Sensor Networks (EWSN '08), January 2008, Lecture Notes in Computer Science 4913: 268-285.
3.
Zurück zum Zitat Wan C-Y, Campbell AT, Krishnamurthy L: PSFQ: a reliable transport protocol for wireless sensor networks. Proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications, September 2002, Atlanta, Ga, USA 1-11.CrossRef Wan C-Y, Campbell AT, Krishnamurthy L: PSFQ: a reliable transport protocol for wireless sensor networks. Proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications, September 2002, Atlanta, Ga, USA 1-11.CrossRef
4.
Zurück zum Zitat Kulkarni SS, Wang L: MNP: multihop network reprogramming service for sensor networks. Proceedings of the 25th IEEE International Conference on Distributed Computing Systems (ICDCS '05), June 2005 7-16.CrossRef Kulkarni SS, Wang L: MNP: multihop network reprogramming service for sensor networks. Proceedings of the 25th IEEE International Conference on Distributed Computing Systems (ICDCS '05), June 2005 7-16.CrossRef
5.
Zurück zum Zitat Lu G, Sadagopan N, Krishnamachari B, Goel A: Delay efficient sleep scheduling in wireless sensor networks. Proceedings of the 24th IEEE Annual Joint Conference of the Computer and Communications Societies (INFOCOM '05), 2005, Miami, Fla, USA 4: 2470-2481.CrossRef Lu G, Sadagopan N, Krishnamachari B, Goel A: Delay efficient sleep scheduling in wireless sensor networks. Proceedings of the 24th IEEE Annual Joint Conference of the Computer and Communications Societies (INFOCOM '05), 2005, Miami, Fla, USA 4: 2470-2481.CrossRef
6.
Zurück zum Zitat Ye W, Heidemann J, Estrin D: An energy-efficient MAC protocol for wireless sensor networks. Proceedings of the 21st IEEE Annual Joint Conference of the Computer and Communications Societies (INFOCOM '02), 2002 3: 1567-1576. Ye W, Heidemann J, Estrin D: An energy-efficient MAC protocol for wireless sensor networks. Proceedings of the 21st IEEE Annual Joint Conference of the Computer and Communications Societies (INFOCOM '02), 2002 3: 1567-1576.
7.
Zurück zum Zitat Cerpa A, Wong JL, Kuang L, Potkonjak M, Estrin D: Statistical model of lossy links in wireless sensor networks. Proceedings of the 4th International Symposium on Information Processing in Sensor Networks (IPSN '05), 2005, Los Angeles, Calif, USA 81-88. Cerpa A, Wong JL, Kuang L, Potkonjak M, Estrin D: Statistical model of lossy links in wireless sensor networks. Proceedings of the 4th International Symposium on Information Processing in Sensor Networks (IPSN '05), 2005, Los Angeles, Calif, USA 81-88.
8.
Zurück zum Zitat Nguyen D, Tran T, Nguyen T, Bose B: Wireless broadcast using network coding. IEEE Transactions on Vehicular Technology 2009, 58(2):914-925.CrossRef Nguyen D, Tran T, Nguyen T, Bose B: Wireless broadcast using network coding. IEEE Transactions on Vehicular Technology 2009, 58(2):914-925.CrossRef
9.
Zurück zum Zitat El Rouayheb SY, Chaudhry MAR, Sprintson A: On the minimum number of transmissions in single-hop wireless coding networks. Proceedings of the IEEE Information Theory Workshop (ITW '07), September 2007, Tahoe City, Calif, USA 120-125. El Rouayheb SY, Chaudhry MAR, Sprintson A: On the minimum number of transmissions in single-hop wireless coding networks. Proceedings of the IEEE Information Theory Workshop (ITW '07), September 2007, Tahoe City, Calif, USA 120-125.
10.
Zurück zum Zitat Zhan C, Xu Y, Wang J, Lee V: Reliable multicast in wireless networks using network coding. Proceedings of the 6th International Conference on Mobile Adhoc and Sensor Systems (MASS '09), 2009, Macau, China 506-515. Zhan C, Xu Y, Wang J, Lee V: Reliable multicast in wireless networks using network coding. Proceedings of the 6th International Conference on Mobile Adhoc and Sensor Systems (MASS '09), 2009, Macau, China 506-515.
11.
Zurück zum Zitat Ahlswede R, Cai N, Li S-YR, Yeung RW: Network information flow. IEEE Transactions on Information Theory 2000, 46(4):1204-1216. 10.1109/18.850663MATHMathSciNetCrossRef Ahlswede R, Cai N, Li S-YR, Yeung RW: Network information flow. IEEE Transactions on Information Theory 2000, 46(4):1204-1216. 10.1109/18.850663MATHMathSciNetCrossRef
12.
Zurück zum Zitat Fragouli C, Soljanin E: Information flow decomposition for network coding. IEEE Transactions on Information Theory 2006, 52(3):829-848.MATHMathSciNetCrossRef Fragouli C, Soljanin E: Information flow decomposition for network coding. IEEE Transactions on Information Theory 2006, 52(3):829-848.MATHMathSciNetCrossRef
13.
Zurück zum Zitat Fragouli C, Le Boudec J-Y, Widmer J: Network coding: an instant primer. Computer Communication Review 36(1):63-68. Fragouli C, Le Boudec J-Y, Widmer J: Network coding: an instant primer. Computer Communication Review 36(1):63-68.
14.
Zurück zum Zitat Deb S, Effros M, Ho T: Network coding for wireless applications: a brief tutorial. Proceedings of the International Workshop on Wireless Adhoc Networks (IWWAN '05), May 2005 Deb S, Effros M, Ho T: Network coding for wireless applications: a brief tutorial. Proceedings of the International Workshop on Wireless Adhoc Networks (IWWAN '05), May 2005
15.
Zurück zum Zitat Ghaderi M, Towsley D, Kurose J: Reliability gain of network coding in lossy wireless networks. Proceedings of the 27th IEEE Conference on Computer Communications (INFOCOM '08), April 2008, Phoenix, Ariz, USA 2171-2179. Ghaderi M, Towsley D, Kurose J: Reliability gain of network coding in lossy wireless networks. Proceedings of the 27th IEEE Conference on Computer Communications (INFOCOM '08), April 2008, Phoenix, Ariz, USA 2171-2179.
16.
Zurück zum Zitat Lin Y, Liang B, Li B: Data persistence in large-scale sensor networks with decentralized fountain codes. Proceedings of the 26th IEEE International Conference on Computer Communications (INFOCOM '07), May 2007, Anchorage, Alaska, USA 1658-1666. Lin Y, Liang B, Li B: Data persistence in large-scale sensor networks with decentralized fountain codes. Proceedings of the 26th IEEE International Conference on Computer Communications (INFOCOM '07), May 2007, Anchorage, Alaska, USA 1658-1666.
17.
Zurück zum Zitat Hou I-H, Tsai Y-E, Abdelzaher TF, Gupta I: AdapCode: adaptive network coding for code updates in wireless sensor networks. Proceedings of the 27th IEEE Conference on Computer Communications (INFOCOM '08), 2008, Phoenix, Aariz, USA 1517-1525. Hou I-H, Tsai Y-E, Abdelzaher TF, Gupta I: AdapCode: adaptive network coding for code updates in wireless sensor networks. Proceedings of the 27th IEEE Conference on Computer Communications (INFOCOM '08), 2008, Phoenix, Aariz, USA 1517-1525.
18.
Zurück zum Zitat Katti S, Rahul H, Hu W, Katabi D, Medard M, Crowcroft J: XORs in the air: practical wireless network coding. IEEE/ACM Transactions on Networking 2008, 16(3):497-510.CrossRef Katti S, Rahul H, Hu W, Katabi D, Medard M, Crowcroft J: XORs in the air: practical wireless network coding. IEEE/ACM Transactions on Networking 2008, 16(3):497-510.CrossRef
19.
Zurück zum Zitat Rayanchu S, Sen S, Wu J, Baneriee S, Senqupta S: Loss-aware network coding for unicast wireless sessions: design, implementation, and performance evaluation. Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS '08), 2008, Annapolis, Md, USA 85-96. Rayanchu S, Sen S, Wu J, Baneriee S, Senqupta S: Loss-aware network coding for unicast wireless sessions: design, implementation, and performance evaluation. Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS '08), 2008, Annapolis, Md, USA 85-96.
20.
Zurück zum Zitat Kuo F-C, Tan K, Li XY, Zhang J, Fu X: XOR rescue: exploiting network coding in lossy wireless networks. Proceedings of the 6th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON '09), June 2009, Rome, Italy 1-9. Kuo F-C, Tan K, Li XY, Zhang J, Fu X: XOR rescue: exploiting network coding in lossy wireless networks. Proceedings of the 6th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON '09), June 2009, Rome, Italy 1-9.
21.
Zurück zum Zitat Banerjee S, Khuller S: A clustering scheme for hierarchical control in wireless networks. Proceedings of the 20th IEEE Annual Joint Conference of the Computer and Communications Societies (INFOCOM '01), 2001 1028-1037. Banerjee S, Khuller S: A clustering scheme for hierarchical control in wireless networks. Proceedings of the 20th IEEE Annual Joint Conference of the Computer and Communications Societies (INFOCOM '01), 2001 1028-1037.
22.
Zurück zum Zitat Iwanicki K, Van Steen M: Multi-hop cluster hierarchy maintenance in wireless sensor networks: a case for gossip-based protocols. In Proceedings of the 6th European Conference on Wireless Sensor Networks, February 2009, Cork, Ireland. Springer; 102-117.CrossRef Iwanicki K, Van Steen M: Multi-hop cluster hierarchy maintenance in wireless sensor networks: a case for gossip-based protocols. In Proceedings of the 6th European Conference on Wireless Sensor Networks, February 2009, Cork, Ireland. Springer; 102-117.CrossRef
23.
Zurück zum Zitat Hartl G, Li B: Loss inference in wireless sensor networks based on data aggregation. Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks (IPSN '04), April 2004 396-404. Hartl G, Li B: Loss inference in wireless sensor networks based on data aggregation. Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks (IPSN '04), April 2004 396-404.
24.
Zurück zum Zitat Chachulski S, Jennings M, Katti S, Katabi D: Trading structure for randomness in wireless opportunistic routing. Proceedings of the ACM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM '07), 2007, Kyoto, Japan 169-180. Chachulski S, Jennings M, Katti S, Katabi D: Trading structure for randomness in wireless opportunistic routing. Proceedings of the ACM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM '07), 2007, Kyoto, Japan 169-180.
Metadaten
Titel
Data Dissemination in Wireless Sensor Networks with Network Coding
verfasst von
Xiumin Wang
Jianping Wang
Yinlong Xu
Publikationsdatum
01.12.2010
Verlag
Springer International Publishing
DOI
https://doi.org/10.1155/2010/465915

Weitere Artikel der Ausgabe 1/2010

EURASIP Journal on Wireless Communications and Networking 1/2010 Zur Ausgabe