We address the modeling and design of linear network coding (LNC) for reliable communication against multiple failures in wireless sensor networks (WSNs). To fulfill the objective, we design a deterministic LNC scheme RDLC based on the average number of path failures simultaneously happening in the network other than the maximum number of path failures. The scheme can significantly improve the network throughput comparing with the traditional approaches. In our study, we also investigate the potential of random linear code RRLC for providing reliable communication in WSNs and prove the low bound of the probability that the RRLC can provide the reliable communication. Finally, extensive simulation experiments have been conducted, and the results demonstrate the effectiveness of the proposed LNC schemes.
1. Introduction
In recent years, wireless sensor network (WSN) has attracted significant attention for future generations of wireless applications in industry, agriculture, and military [1–5]. Despite its salient potentials, there are still many challenges to be addressed. In this paper, we will investigate how to provide reliable data transmissions in WSNs, which is very challenging because not only the wireless medium is vulnerable to severe channel fading and interference but also the sensor node always faces to energy exhaustion and physical damage.
Clearly, how to provide reliable communication in WSNs can be studied from multiple layers, including the physical layer and the MAC layer [6–9]. In this work, we will focus on the network layer and transport layer. Particularly, we will study how to provide reliable communication in WSNs against loss of data packets.
To provide reliable communication against node or link failures, there are two kinds of traditional approaches [10]: the proactive recovery and the reactive recovery, which aim at recovering the data transmission when node or link failures happen. The proactive recovery approaches can recover data transmission immediately when a link or node failure occurs, because it reserves the bandwidth (in backup paths) between the source node and the destination node in advance and the data flow is simultaneously transmitted on both primary paths and backup paths. On the other hand, the proactive recovery approaches do not provide any immediate recovery in advance. When the failure occurs on the routing paths of the data flow, the affected flow will be retransmitted to the destination by using available bandwidth in the network. Therefore, although the proactive recovery approaches can recover data transmission immediately when the link or node failures happen, network resources (e.g., bandwidth on the backup paths) are wasted when no failure happens. For the proactive recovery approaches, although network resources are used efficiently (no network resource is reserved in advance), the procedure of transferring the data traffic from the failed paths to the new routing paths incurs a considerable delay to data communications.
Following its success in maximizing network throughput [11–15], linear network coding (LNC) has recently been shown to be a promising approach that can achieve reliable communication with much better efficiency, because it can be used to provide protection in a proactive manner with the bandwidth cost in a reactive manner [16–20]. LNC has been first introduced by Kamal [16, 19] to provide 100% protection against single link failures in optical network. Recently, the design of reliable communication based on LNC has attracted an increasing amount of attention in optical networks [16], wireless networks [18], and hybrid wireless-optical access networks [20], respectively. However, in these studies, the LNC scheme, which can generate large number of linear combinations of original data packets to provide reliable communication when link or node failures happen, is designed according to the maximum number of failures (fmax, i.e., the worst case) happening simultaneously. In this case, with such LNC schemes, the destination can receive sufficient coded data packets and recover the original data packets, as long as the number of failures happening simultaneously is no more than fmax. However, the number of failures happening simultaneously in WSNs varies at different times in practice. When the number of failures happening simultaneously in the network is less than fmax, the network throughput decreases because the capacity of the WSN is wasted by the redundant coded data packets transmitted in the WSN.
Therefore, our key idea is to increase the number of original data packets transmitted and recovered in the transmission rounds with large number of failures happening simultaneously, by utilizing the redundant coded data packets transmitted in the transmission rounds with fewer failures happening simultaneously in the network to improve the network throughput.
Figure 1 gives an example to compare the network throughput that can be achieved by LNC scheme based on the maximum number of failures fmax and the LNC scheme based on the average number of failures fexp (denoted in Section 2.1). Specifically, in the WSN, there are 4 edge-disjoint paths between the source S and the destination (sink) D. Suppose that fmax=2 and fexp=1. Without loss of generality, we assume that 2 path failures happen in time slot 1 and no failure happens in time slot 2. Different LNC schemes are shown in Figures 1(a) and 1(b), in which the notation “S1:x1+x2” on a link denotes the link is used to transmit a coded symbol x1+x2 at time slot 1. Moreover, for LNC schemes shown in both Figures 1(a) and 1(b), the coded data packets transmitted on the links belonging to the same path are same in given time slot.
Reliable communication using LNC: an example.
The LNC scheme based on the maximum number of failures
The LNC scheme based on the average number of failures
Since the fmax=2, in Figure 1(a), the LNC scheme designed based on fmax can ensure that the destination can decode and recover even if 2 path failures happen. However, no failure happens in time slot 2, which decreases the network throughput because the capacity of the WSN is wasted by the redundant coded data packets transmitted in time slot 2. On the other hand, in Figure 1(b), the LNC scheme was designed based on fexp, in which part of original data packets sent previously is still encoded into the following time slots. In this case, the network throughput can be improved by utilizing the redundant coded data packets transmitted in time slot 2. Specifically, with different LNC schemes, the sink can recover 4 original data packets in 2 time slots (i.e., the achieved network throughput is 2) in the case shown in Figure 1(a), while the sink can recover 6 original data packets in 2 time slots (i.e., the achieved network throughput is 3) in the case shown in Figure 1(b). Obviously, the LNC scheme based on the average number of path failures can significantly improve the network throughput.
In this paper, we will design an efficient LNC scheme based on the average number of path failures, to provide reliable communication in WSNs. It must be noted that our study in this paper is different to our previous work in [21], where we have investigated the LNC design for providing N+k protection in the wireless mesh networks. Specifically, as we can see from the rest of the paper, the main differences include the following.
Firstly, different LNC designs are given to provide reliable communication in this paper. The deterministic LNC scheme proposed in Section 3 achieves the network throughput N=L-⌈fexp⌉ (L denotes the number of edge-disjoint paths between the source and the destination and fexp is the expected number of path failures per time slot), while the LNC scheme proposed in [21] does not ensure that the network throughput can achieve N=L-⌈fexp⌉. Therefore, the deterministic LNC scheme proposed in this paper can achieve higher network throughput than our previous work in [21]. Moreover, in this paper, we also investigate the potential of standard random LNC to thwart path failures in WSNs and analyze the lower bound of the probability that a random LNC can provide reliable communication. On the other hand, the work in [21] only considered the deterministic LNC design.
Secondly, comparing with the work in [21], we not only give the theoretical design of deterministic LNC scheme and random LNC scheme but also conduct considerable simulations with four parameters to demonstrate the effectiveness of the proposed LNC schemes, from view of both network throughput and recovery delay. We also show the impact of the size of finite field on the performance of the proposed random LNC schemes, which is not investigated in [21].
The rest of the paper is organized as follows. Section 2 describes the system models and problem description. In Section 3, we design a deterministic LNC scheme to provide reliable communication in WSNs and give the theoretically analysis to show the achieved network throughput. The analysis of the usage of random LNC to realize reliable communication in WSNs is shown in Section 4. Simulation results are given in Section 5. Finally, we conclude the paper in Section 6.
2. Reliable Communication against Multiple Failures in WSNs Based on LNC
In this section, we will describe the problem studied in this paper. Specifically, we first introduce the network model. We then give the description of the reliable communication problem.
2.1. The Network Model
In this paper, we consider a multihop wireless sensor network as a directed acyclic graph G=(V,E), where V is the set of sensor nodes and E is the set of edges. We assume that each edge in G has the same unit capacity. Note that the capacity of different edges can be different in practice. However, we can always convert an edge with a certain capacity C (a nature number) data units to C edges with unit capacity. Suppose that all data packets have the same unit size. There are one source S, one destination D and L edge-disjoint paths between them. We assume that it will cost one time slot that the source sends L coded packets through L edge-disjoint paths and gets the feedback from the destination.
Although the wireless medium is vulnerable and the sensor node always faces energy exhaustion and physical damage, LNC can be designed to tolerate the link or node failures and provide reliable communications in WSNs. Specifically, L coded data packets are generated at the source node by linearly combining original data packets and transmitted through L edge-disjoint paths in each time slot. Since there will be different number of edge-disjoint paths failing simultaneously in different transmission rounds, we denote pi as the probability that i edge-disjoint paths are failed simultaneously, where 1≤i≤L. Therefore, fexp=∑i=1Lipi is the expected number of path failures per time slot. Let N=L-⌈fexp⌉.
Suppose that the data stream arrive rate is N data packets per time slot; the data packets arrived are firstly buffered at the source S, waiting for encoding and transmission towards the destination D. We will design an LNC scheme to protect the data stream with arrive rate N.
2.2. The LNC Scheme
In practical LNC schemes, the source node first divides the whole file into fix-size original packets. Then, the coded packets can be generated by encoding the original packets together. Moreover, each coded packet in the network corresponds to an encoding vector, which consists of the coding coefficients that it is produced with respect to the set of original packets. When the destination node received sufficient coded packets, it can decode and recover the original packets according to their encoding vectors.
Due to the limited computational capability of the sensor nodes in WSNs, we assume that the intermediate sensor nodes simply store and forward encoding packets. Such assumption is practical because coding operations require extra computation capability which imposes the processing overheads and may slow down the switching speed.
2.3. Problem Description
To improve the network throughput, we design the LNC schemes based on the expected number of path failures per time slot (fexp). However, since the number of path failures may exceed fexp in some time slots, which may cause that the destination cannot decode the received coded data packets, it is desirable to utilize the redundant coded data packets transmitted in the transmission rounds with fewer failures (<fexp) to improve the network throughput.
Therefore, in this paper, we aim to design an LNC scheme providing reliable communication in WSNs to achieve network throughput N=L-⌈fexp⌉, in which fexp is the expected number of path failures per time slot. We will show in the rest of the paper that the original data packets can be recovered by the destination and the network throughput N can be achieved, if only the average number of failures is no more than fexp.
2.4. Notations
To facilitate further discussions, we summarize main notations to be used throughout the rest of the paper in Table 1. We also denote the L×iN dimensional matrix Λi as follows:
(1)Λi=(1λ(i-1)L+1λ(i-1)L+12⋯λ(i-1)L+1i*N-11λ(i-1)L+2λ(i-1)L+22⋯λ(i-1)L+2i*N-1⋯1λiLλiL2⋯λiLi*N-1),
where λi1≠λi2, for all i1≠i2.
Symbol
Definition
Bold font
Vectors, matrixes
Normal font
A normal number
𝔽q
A finite field of size q, over which the LNC is defined
{B}ij
A set of vector composed by ith to jth row vectors of matrix B
[B]i,jm,n
A matrix composed by the ith to jth row and mth to nth column of matrix B
[B]i
The ith row vector of matrix B
[B]i,j
The matrix composed by the ith to jth row vectors of matrix B
[V]
The matrix formed by vectors in the set V as its rows
Rank (B)
The rank of a matrix B
mi,j
The jth,j≤N original data packet arrived at time slot i
Mi
N original data packets Mi={mi,1,…,mi,N} arrived at time slot i
L
The number of edge-disjoint paths between the source and the destination
0m×n
A m×n dimensional zero matrix
N
N=L-⌈fexp⌉, in which fexp is the expected number of path failures per time slot
Span (·)
Linear span of a set of row vectors of a matrix
Dim (·)
Dimension of a linear space
P(A)
The probability that condition A is satisfied
3. Reliable Communication Using Deterministic Linear Network Coding
In this section, we provide a deterministic LNC scheme to provide reliable communication (RDLC) for multiple failures in WSNs.
We assume that a buffer exists in the source to buffer the newly arrived data packets and parts of original data packets arrived previously. We also assume that the destination has a buffer to buffer the coded data packets which have not been decoded. At the end of each time slot, the destination sends an acknowledgment to the source in order to report the number of coded data packets received in this time slot. Then, according to the number of coded data packets received by the destination in the previously time slots, the source first removes some original data packets arrived perviously in its buffer and then generates L new coded data packets by encoding the original data packets arrived previously and the newly arrived data packets together. After that, the source sends the L new coded data packets to the destination. At the end of time slot t, for all t≥1, if the destination has totally received no less tN coded data packet, it can decode and recover the tN original data packets, clear its buffer and send an acknowledgment to notify the source that all the received coded data packets are decoded.
We denote the N original packets arrived at time slot t as Mt={mt,1,…,mt,N}. The details of RDLC scheme is shown in Algorithms 1 and 2.
Algorithm 1: Encoding at the source.
At time slott:
N original data packets Mt={mt,1,…,mt,N} are arrived and stored into its buffer;
ift = 1 then
Generate L coded packets: Λ1[M1] and send them to the destination through L edge-disjoint paths;
end if
ift > 1 then
Receives ACK(ct-1) from the destination;
ifct-1=-1then
Clear the buffer, set t=1 and get ready for a new transmission round;
else
Remove the ct-1 earliest arrived data packets in the buffer;
vt,i=[0L×∑i=1t-1ci[Λt]1,L1,tN-∑i=1t-1ci]i through path i to the receiver, ∀i∈{1,…,L};
end if
end if
Algorithm 2: Decoding at the destination.
At time slott:
Received ct coded data packet in time slot t;
If ∑i=1tci≥tN then
Extend each received encoding vector vi,j to its corresponding global encoding vector vi,j′ with length tN by adding (t-i)N zeros, i.e., vi,j′=[vi,j01×(t-i)N];
Suppose that the matrix YT is composed by the global encoding vectors of the received TN coded packets as its rows and the matrix M′ is composed by corresponding coded packets as its rows;
Decode and recover the tN original data packets as follows:
[[M1]⋮[Mt]]=YT-1M′;
Clear the its buffer and send a ACK(-1) to the source;
else
Store the ct coded data packet to its buffer;
Send a ACK(ct) to the source;
end if
Suppose that ct denotes the number of coded data packets received by the destination at the end of time slot t; we have ct≤L, for all t>0. Let
(2)T=mint:t>0{t∣∑i=1tci≥tN}.
Next, we will prove that the destination can decode and recover the TN original data packets once it receives no less than TN coded data packets.
Lemma 1.
When T=1, the destination can decode and recover the N original data packets.
Proof.
When T=1, the destination can receive c1≥N coded data packets. The global encoding vector of each coded data packets is one row vector in the matrix Λ1. According to the matrix Λ1, any N rows can construct a square N×N dimensional Vandermonde matrix. Since λi≠λj, for all i≠j, the determinant of the N×N dimensional Vandermonde matrix is not equal to 0. Hence, the destination receives N coded data packets with N linearly independent global encoding vectors. Therefore, the destination can decode and recover the N original data packets.
Lemma 2.
When T=2, the destination can decode and recover the 2N original data packets.
Proof.
When T=2, the destination receives no less than 2N coded data packets. We suppose that it receives c1 coded data packets in time slot 1. Without loss of generality, let these coded data packets be [Λ1]1,c11,N[M1]. Since the destination receives no less than 2N coded data packets we can select 2N-c1 coded data packets received by the destination in time slot 2. Without loss of generality, let these coded data packets be [0c2×c1[Λ2]1,c21,2N-c1][[M1][M2]]. Therefore, the matrix Y2 composed by global encoding vectors of the coded packets as its rows can be represented by
(3)Y2=[[Λ1]1,c11,c1[Λ1]1,c1c1+1,N00[Λ2]1,2N-c11,N-c1[Λ2]1,2N-c1N-c1+1,2N-c1].
Next, we will prove that Rank(Y2)=2N. If c1=0, then c1+c2=c2≥2N. We have det(Y2)=det([Λ2]1,2N1,2N)≠0 because [Λ2]1,2N1,2N is a 2N×2N dimensional Vandermonde matrix. Otherwise, if c1>0, obviously, the block matrix [Λ1]1,c11,c1 in the left upper corner of the matrix Y2 is c1×c1 dimensional and has full rank. Therefore, each column vector in [Λ1]1,c1c1+1,N can be written as a linear combination of the column vectors in [Λ1]1,c11,c1. Since the (2N-c1)×c1 dimensional block matrix in the left lower corner of the matrix Y2 is zero matrix, the matrix Y2 can be transformed to be matrix Y2′ by column transformation:
(4)Y2′=[[Λ1]1,c11,c1000[Λ2]1,2N-c11,N-c1[Λ2]1,2N-c1N-c1+1,2N-c1]=[[Λ1]1,c11,c100[Λ2]1,2N-c11,2N-c1],
and det(Y2)=det(Y2′).
We have
(5)det(Y2)=det([[Λ1]1,c11,c100[Λ2]1,2N-c11,2N-c1])=det([Λ1]1,c11,c1)det([Λ2]1,2N-c11,2N-c1).
Since the block matrix [Λ1]1,c11,c1 is a c1×c1 dimensional Vandermonde matrix, [Λ2]1,2N-c11,2N-c1 is a (2N-c1)×(2N-c1) dimensional Vandermonde matrix and xi≠xj, for all i≠j, we have det([Λ1]1,c11,c1)≠0 and det([Λ2]1,2N-c11,2N-c1)≠0.
Therefore, we have det(Y2)≠0, which indicates that Rank(Y2)=2N, that is, when i=2, the destination can decode and recover the original data packets if it receives no less than 2N coded data packets.
Theorem 3.
The destination can decode and recover the TN original data packets as long as it totally receives no less than TN coded data packets at the end of T time slots.
Proof .
According to Lemmas 1 and 2, the theorem holds when T=1,2. When T=t+1,t>1, it means that ∑i=1jci<jN, for all j≤t and ∑i=1t+1ci≥(t+1)N. When ∑i=1t+1ci=(t+1)N, that is, cT=TN-∑i=1tci, without loss of generality, let these coded data packets be
(6)[0ct×∑i=1t-1ci[Λt]1,ct1,tN-∑i=1t-1][[M1]⋮[Mt]].
The matrix YT composed by the global encoding vectors of these TN coded packets as its rows can be represented by
(7)[[Λ1]1,c11,c1*⋯**0[Λ2]1,c21,c2⋯**⋯⋱00⋯0[ΛT]1,cT1,(t+1)N-∑i=1tci].
Similarly to the proof of Lemma 2, the block matrix [Λ1]1,c11,c1 in the left upper corner of the above matrix is c1×c1 dimensional and has full rank. Therefore, each column vector in [YT]1,c1c1+1,TN can be written as a linear combination of the column vectors in [Λ1]1,c11,c1. Since the (TN-c1)×c1 dimensional block matrix in the left lower corner of the matrix YT is zero matrix, the elements in between 1 to c1 row and c1+1 to TN-c1 will be transformed to zeros in matrix YT by column transformation. And then by using the full rank block matrix [Λ2]1,c21,c2, the elements in between c1+1 to c1+c2 row and c1+c2+1 to TN-c1 will be transformed to zeros in matrix YT by column transformation.
By step to step column transformation, the matrix YT can be finally transformed to be YT′:
(8)[[Λ1]1,c11,c10⋯000[Λ2]1,c21,c2⋯00⋯⋱00⋯0[ΛT]1,cT1,(t+1)N-∑i=1tci].
Obviously, det(YT′)=∏i=1Tdet([Λi]1,ci1,ci). Since each matrix [Λi]1,ci1,ci is a square Vandermonde matrix and xi≠xj, for all i≠j, we have det([Λi]1,ci1,ci)≠0, for all i∈{1,…,T}. Therefore, det(YT′)≠0. Since the column transformation on a matrix does not change the rank of the matrix, the matrix YT has full rank, that is, the destination can decode and recover TN organical packets.
When cT>TN-∑i=1tci, the destination can randomly select TN-∑i=1tci coded data packets. Together with the ∑i=1tci coded packets received from time slot 1 to time slot t, the destination have TN coded packets. Similarly to the above proof, we can have the destination that can decode and recover TN original packets.
Corollary 4.
If the average number of path failures is no more than fexp, then the network throughput N=L-⌈fexp⌉ can be achieved.
Proof.
When the average number of path failures is no more than fexp, we have the average number of coded packets received by the destination in each time slot is L-fexp. Therefore, there exists a time slot T that the destination totally receives T(L-fexp) coded data packets at the end of T time slots. Since N=L-⌈fexp⌉<L-fexp, the destination totally receives T(L-fexp)>TN coded data packets at the end of T time slots. Therefore, according to Theorem 3, we have that the destination can decode and recover the TN original data packets, that is, the network throughput N=L-⌈fexp⌉ is achieved.
4. Reliable Communication Using Random Linear Network Coding
In the previous section, we have discussed how to construct linear network code at the source node in a deterministic manner to provide the reliable communication. In practice, random linear coding has been widely used in the literature [15, 22], because of the simplicity of the coding scheme. With random linear coding, random linear combinations of the packets can be forwarded by a node, which the node received previously, to outgoing edges. It has been proved in pervious work that such a simple approach can obtain valid linear codes for multicast with probability (1-d/q)η, where η is the number of edges with associated randomized coefficients, q is the size of the finite field, and d is the number of destination nodes.
In this section, we investigate the behavior of the random linear coding, when it is applied to the reliable communication problem we discuss in this paper. The usage of such linear code is similar to the one we discussed in Section 3. The coding operations are only done at the source node and destination node. The major difference is that, instead of computing the coding matrix Yi at the source node, the elements of L×iN dimensional coding matrix Bi for time slot i are randomly chosen from the finite field 𝔽q according to the number of coded packets received by the destination in each time slot. We referred to such random linear coding scheme as reliable random linear coding RRLC. Since the destination does not need to send an acknowledgment to notify the source that the number of coded packets received in each time slot, the communication overhead of RRLC, is smaller than the RDLC. We also show that the RRLC can ensure that the destination can recover the iN original packets when it receives iN coded packets with high probability.
Specifically, the L coded data packets sent during time slot i can be represented by
(9)Bi[[M1]⋮[Mi]].
Suppose that the number of coded packets received within time slot i by the destination node d is ci, without loss of generality, let these coded data packets be
(10)[Bi]1,ci[[M1]⋮[Mi]].
Suppose the (∑w=1icw)×(iN) dimensional matrix B¯i is
(11)[[B1]1,c100⋯0[B2]1,c21,N[B2]1,c2N+1,2N0⋯0⋯⋱[Bi]1,ci1,N[Bi]1,ciN+1,2N[Bi]1,ci2N+1,3N⋯[Bi]1,ci(i-1)N+1,iN].
Therefore, the total coded packets received by the destination node D during i time slots can be represented by
(12)B¯i[[M1]⋮[Mi]].
From above theoretical analysis, the destination D can decode and recover the set of iN original packets ⋃t=1iMt, if and only if Rank(B¯i)=iN.
Next, we will give the lower bound of the probability that the destination D can decode and recover the original packets once it totally receives no less than iN coded packets after time slot i.
We set ∑k=10f(x)=0 and ∏k=10f(x)=1, for all function f(x). We first prove a lemma.
Lemma 5.
If ∑w=1i′cw≤i′N, for all i′≤i, the probability that the (∑w=1icw)×(iN) dimensional matrix B¯i has full rank is
(13)∏w=1i∏j=∑k=1w-1ck+1∑k=1wck(1-1qwn-j+1).
Proof.
Obviously, the matrix B¯i has full rank, if and only if
(14)[B¯i]j∉Span([B¯i]1,j-1),∀j∈{1,…,∑w=1icw}.
We first give the theoretical analysis on the first c1 row vectors in the matrix B¯i. Suppose that the first j, (j∈{1,…,c1-1}) rows of B¯i are selected and [B¯i]j′∉Span([B¯i]1,j′-1), for all j′{1,…,j}, that is, Rank([B¯i]1,j)=j, for the j+1th row vector of the matrix B¯i, the total number different vectors can be selected from the finite filed is qN, because [B¯i]j+1,forallj∈{1,…,c1-1} that have the first N elements randomly selected in finite filed 𝔽q and other elements are 0. Let σj+1 be the number of vectors which can be selected as the j+1th row vector of the matrix B¯i such that [B¯i]j+1∉Span([B¯i]1,j). The total number of vectors in Span([B¯i]1,j) is qj. Therefore, if [B¯i]j+1∉Span([B¯i]1,j), we have σj+1=qN-qj.
Similarly, we then give the probability that the matrix B¯i has full rank.
Suppose that the first j,(j∈{∑k=1w-1ck+1,…,∑k=1wck-1}) rows of B¯i are selected and [B¯i]j′∉Span([B¯i]1,j′-1), for all j′∈{1,…,j}, that is, Rank([B¯i]1,j)=j, for the j+1th row vector of the matrix B¯i, the total number different vectors can be selected from the finite filed which is qwN, because [B¯i]j+1 for all j∈{∑k=1w-1ck+1,…,∑k=1wck-1} have the first wN elements randomly selected in finite filed 𝔽q and other elements are 0. Let σj+1 be the number of vectors which can be selected as the j+1th row vector of the matrix B¯i such that [B¯i]j+1∉Span([B¯i]1,j). The total number of vectors in Span([B¯i]1,j) is qj. Therefore, if [B¯i]j+1∉Span([B¯i]1,j), we have σj+1=qwN-qj.
Let σ be the number of matrix B¯i that can be constructed in the finite field which satisfies the condition shown in (14). We have
(15)σ=∏j=1∑k=1ickσj=∏w=1i∏j=∑k=1w-1ck+1∑k=1wck(qwN-qj-1).
The total number of different matrix B¯i with dimension (∑k=1ick)×(iN) is q∑k=1ikckN, because there are ∑k=1ikckN elements randomly selected in finite filed 𝔽q and other elements are 0 in matrix B¯i.
Therefore, the probability that the matrix B¯i has full rank is
(16)σq∑k=1ikckN=∏w=1i∏j=∑k=1w-1ck+1∑k=1wck(qwN-qj-1)q∑k=1ikckN=∏w=1i∏j=∑k=1w-1ck+1∑k=1wck(1-1qwN-j+1).
Theorem 6.
If the total number of coded packets received by destination d during the first i time slots is no less than iN, that is, ∑w=1icw≥iN and for all i′<i, ∑w=1i′cw<i′N, the lower bound of the probability that can decode and recover the set of iN original packets ⋃t=1iMt is
(17)∏w=1i∏j=∑k=1w-1ck+1min(∑k=1wck,iN)(1-1qwn-j+1).
Proof.
The destination node D can decode and recover the set of iN original packets ⋃t=1iMt, if and only if Rank(B¯i)=iN. Since ∑w=1icw≥iN and for all i′<i, ∑w=1i′cw<i′N, we have ci≥iN-∑w=1i-1cw. Obviously, if the first iN row vectors are linearly independent, Rank([B¯i]1,iN)=iN, we have Rank(B¯i)=iN. Therefore, the probability that Rank(B¯i)=iN is lower bounded by the probability that Rank([B¯i]1,iN)=iN. According to matrix [B¯i]1,iN, the number of row vectors in it belonging to time slot i is ci′=iN-∑w=1i-1cw. Therefore, from the Lemma 5, the probability that Rank([B¯i]1,iN)=iN is
(18)∏w=1i-1∏j=∑k=1w-1ck+1∑k=1wck(qwN-qj-1)∏j=∑k=1i-1ck+1iN(qiN-qj-1)q∑k=1i-1kckN+(iN-∑k=1i-1ck)iN=∏w=1i∏j=∑k=1w-1ck+1min(∑k=1wck,iN)(1-1qwn-j+1).
Since the probability that Rank(B¯i)=iN is lower bounded by the probability that Rank([B¯i]1,iN)=iN, the probability that Rank(B¯i)=iN is large than
(19)∏w=1i∏j=∑k=1w-1ck+1min(∑k=1wck,iN)(1-1qwn-j+1).
5. Performance Evaluation
In this section, we conduct simulations to compare the scheme that without considering reliable communication (denoted as Unreliable Communication Scheme) the linear coding schemes are designed for recovering from maximum number of edge failures and the proposed linear coding schemes.
In the transmission scheme without network protection, the source sent totally L original packets along the L paths between the source node and the destination node in each time slot, until the destination node receive all the L original packets. Since each path may fail in each time slot, the destination may wait for some time slots to receive all the L original packets.
In the linear coding schemes designed for recovering from maximum number of edge failures, the scheme codes L-fmax original packets in each time slot and makes sure that the destination can decode all of them even if the maximum number of edge failures happens in one time slot (i.e., the worst case). However, such a scheme will waste lots of throughput of the network, because the number of edge failures probably is less than the maximum number of edge failures. We denote such schemes as LCW scheme.
Therefore, in our coding scheme, we code the packets sent in the pervious time slots with the new packets together which can fully utilize the available paths in the network to achieve higher throughput. To achieve this goal, in the proposed linear coding scheme, the destination receives coded packets instead original packets in each time slot which may not be decoded immediately. Therefore, the destination may wait for some time slots to receive enough coded packets to decode and recover all the original packets sent by the source node in the past time slots. However, we will show in this section that we can decrease a bit of throughput to achieve a much low decoding delay.
The objectives of the simulation conducted in this work are as follows.
To compare the throughput achieved when using different schemes under different parameter settings. The throughput is referred to as the total number of original packets recovered (or reviewed) in the past time slots divided to the total number of time slots.
To compare the recovery delay using different schemes under different parameter settings. The delay will cause by different schemes to receive (or decode and recover) all the original packets sent by the source node in the past time slots.
5.1. Simulation Setup
We have four parameters in our simulations.
The number of paths between the source node and the destination node, L, which varies from 10 to 20.
The maximum number of paths between the source node and the destination node which can simultaneously fail, fmax=⌊αL⌋, in which α varies from 0.2 to 0.7.
The number of original packets coded (or sent) in each time slots, N, which varies from 2 to ⌊L-Fmax/2⌋-1.
The size of finite field, q=2r, in which r varies from 1 to 7.
In a network G, we suppose that there are L edge-disjoint paths between the source node S and the destination node D. In each time slot, there may be f′, 0≤f′≤fmax edges failure and the packets transmitted on these paths cannot be received by the destination node D. In the simulation, we randomly select f′ in {0,…,fmax} and then select f′ paths in the L paths which will fail in the following one time slot.
For each combination of parameters L, fmax, N and q, we generate 100 instances. For each instance, we evaluate the performance of the data transmission using unreliable communication scheme, the linear coding schemes designed for recovering from maximum number of edge failures, and the proposed linear coding schemes.
5.2. Simulation Results
We compare the network throughput and the recovery delay of the proposed RDLC and RRLC schemes with LLW scheme and the unreliable communication scheme.
Firstly, in Figure 2, we set q=22, α=0.4, fmax=⌊αL⌋, N=⌈L-fmax/2⌉-1 and vary L in the range of [10,20].
q=22, α=0.4, fmax=⌊αL⌋, N=⌈L-fmax/2⌉-1.
Throughput
Transmission delay
In Figure 2(a), the throughput of all the four schemes increases with the increase of the number of edge-disjoint paths between the source node and the destination node. The reason is that the more the number of edge-disjoint paths exist between the source node and the destination node the more packets can be transmitted successfully to the destination. The throughput of the LLW scheme is higher than the unreliable communication scheme, because the LLW scheme exploits the LNC to ensure that all the original packets sent in one time slot can be recovered by the destination node which limit the number of original packets transmitted in each time slot. On the other hand, the unreliable communication scheme will transmit the same set of original packets many times to make sure the destination node can successfully receive all of them. The throughput of the proposed RDLC and RRLC schemes are much higher (more than 25% compared with LLW and more than 40% compared with the unreliable communication scheme when L grows sufficiently large), because the proposed schemes fully utilize the unfailed paths to transmit coded packets. Since the number of original packets transmitted in each time slot is the same in the proposed RDLC and RRLC schemes, the two schemes has the same throughput.
In Figure 2(b), the recovery delay of the unreliable communication scheme is higher than the other three schemes. The unreliable communication scheme will transmit the same set of original packets many times to make sure the destination node can successfully receive all of them. The recovery delay of the LLW scheme is always one time slot because a limited number of original packets are transmitted in each time slot to make sure the destination can decode and recover them in one time slot. The recovery delay of the proposed RDLC and RRLC schemes are between the unreliable communication scheme and the LLW scheme. Therefore, we can observe that the proposed RDLC and RRLC schemes can achieve highest throughput and moderate recovery delay. The figure also shows that the recovery delay of the RRLC scheme is higher than the recovery delay of the RDLC scheme. The reason is that according to the theoretical analysis a destination may not be decode and recover the original packets when using the RRLC scheme, even if it totally received more than i*N coded packets during the past i time slots. Therefore, when using the RRLC scheme, the destination will wait more time slots to achieve the same throughput as the RDLC scheme.
Secondly, in Figure 3, we set L=16, q=22, fmax=⌊αL⌋, N=⌈M-fmax/2⌉-1 and vary α in the range of [0.2,0.9].
L=16, q=22, fmax=⌊αL⌋, N=⌈M-fmax/2⌉-1.
Throughput
Transmission delay
In Figure 3(a), the throughput of all the four schemes decreases with the increase of α, because the number of edge-disjoint paths between the source node and the destination node is fixed but the number of failure paths increases. We can observe that the throughput of LLW scheme will be lower than the unreliable communication scheme when α grows sufficiently large. The reason is that when α grows sufficiently large, the throughput of of LLW scheme L-fmax will decrease to zero, while the unreliable communication scheme can exploit unfailed paths to transmit packets. The throughput of the proposed RDLC and RRLC schemes are much higher (more than 60% compared with the unreliable communication scheme when α grows sufficiently large).
In Figure 3(b), the recovery delay of the proposed RDLC, RRLC schemes, and the unreliable communication scheme increase with the increase of α. Moreover, The recovery delay of the unreliable communication scheme is higher than the other three schemes. The recovery delay of the LLW scheme is always one time slot because a number of original packets transmitted in each time slot decreases when the α increase to make sure the destination can decode and recover them in one time slot.
Thirdly, in Figure 4, we set L=16, q=22, α=0.4, fmax=⌊αL⌋, N<⌈M-fmax/2⌉.
L=16, q=22, α=0.4, fmax=⌊αL⌋, N<⌈M-fmax/2⌉.
Throughput
Transmission delay
In Figure 4(a), the throughput of the proposed RDLC, RRLC schemes increases with the increase of N, because the throughput of the proposed RDLC, RRLC schemes can achieve N only if N is no more than the total number of paths minus the average number of path failures each time slot. In our simulation, the condition is that N≤L-fmax/2. Therefore, in Figure 4(a), the throughput of the proposed RDLC, RRLC schemes can achieve N. Obviously, N does not have impact on the throughput of the unreliable communication scheme and the LCW scheme. We can see in Figure 4(a) that the throughput of the proposed RDLC, RRLC schemes outperforms the other two schemes when N is sufficiently large.
Figure 4(b) shows that the values of N also do not have impact on the recovery delay of the unreliable communication scheme and the LCW scheme. On the other hand, the recovery delays of the proposed RDLC, RRLC schemes increase with the increase of achievable throughput. However, by selecting a suitable value of N, a transmission can achieve a higher throughput with a lower delay compared with the unreliable communication scheme and the LCW scheme.
Finally, in Figure 5, we set L=16, α=0.4, fmax=⌊αL⌋, N=⌈M-fmax/2⌉-1.
L=16, α=0.4, fmax=⌊αL⌋, N=⌈M-fmax/2⌉-1.
Throughput
Transmission delay
In Figure 5(a), the throughput of the proposed RDLC, RRLC schemes, the unreliable communication scheme, and the LCW scheme do not change because the throughput of them does not related with the size of the finite field. However, as we showed in Section 4, the size of the finite field has impact on the decoding probability that the destination to recovery the original packets when using the RRLC scheme. Therefore, the increase of the size of the finite field will increase the decoding probability and reduce the recovery delay. The trends of the recovery delay of the RRLC scheme shown in Figure 5(a) are consistent with our theoretical analysis. The recovery delay of the other three schemes does not related with the size of the finite field.
6. Conclusion
In this paper, we have explored the power of LNC to provide reliable communication for multiple failures in WSNs. The key idea is to design the LNC scheme based on average number of path failures, in which part of original data packets sent previously is still encoded into the following time slots, in order to improve the network throughput by utilizing the redundant coded data packets transmitted in the transmission rounds with fewer failures happening simultaneously in the WSN. Specifically, we first give the design of deterministic LNC scheme based on the average number of path failures, by which the network throughput is significantly improved comparing with the traditional approaches designed based on the maximum number of path failures. We also have investigated the behavior of the random LNC, when it is applied to the reliable communication problem studied in this paper. We have given the performance evaluation, which demonstrates the effectiveness of the proposed LNC schemes.
Acknowledgments
This work is supported in part by the National Natural Science Foundation of China under Grants no. 61202378, 61070169, 61070170, and 61201212, the Fundamental Research Funds for the Central Universities under Grant no. 2012HGBZ0640, the Natural Science Foundation of Jiangsu Province under Grant no. BK2011376, the Specialized Research Foundation for the Doctoral Program of Higher Education of China no. 20103201110018, and the Application Foundation Research of Suzhou of China no. SYG201118, SYG201238, and SYG201239.
AkyildizI. F.WangX.A survey on wireless mesh networks2005439S23S302-s2.0-2784459038410.1109/MCOM.2005.1509968SichitiuM. L.Wireless mesh networks: opportunities and challengesProceedings of the 6th World Wireless Congress (WWC '05)May 2005Palo Alto, Calif, USA3183232-s2.0-20444444697OliveiraL. M. L.De SousaA. F.RodriguesJ. J. P. C.Routing and mobility approaches in IPv6 over LoWPAN mesh networks20112411144514662-s2.0-7995326001410.1002/dac.1228BekmezciI.AlagzF.Energy efficient, delay sensitive, fault tolerant wireless sensor network for military monitoring200956729747JainN.AgrawalD. P.Current trends in wireless sensor network design200511101122YeW.HeidemannJ.EstrinD.A flexible and reliable radio communication stack on motes2002USC Information Sciences InstituteWooA.CullerD. E.A transmission control scheme for media access in sensor networksProceedings of the 7th Annual International Conference on Mobile Computing and Networking (MobiCom '01)July 2001New York, NY, USA2212352-s2.0-0034782102YeW.HeidemannJ.EstrinD.Medium access control with coordinated adaptive sleeping for wireless sensor networks20041234935062-s2.0-434471407110.1109/TNET.2004.828953KusyB.RichterC.HuW.AfanasyevM.JurdakR.BrünigM.AbbottD.HuynhC.OstryD.Radio diversity for reliable communication in WSNsProceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN '11)April 20112702812-s2.0-79959301271ChalasaniS.RajaravivarmaV.Survivability in optical networksproceedings of the 35th Southeastern Ymposium on System Theory2003610AhlswedeR.CaiN.LiS. Y. R.YeungR. W.Network information flow2000464120412162-s2.0-003422940410.1109/18.850663KoetterR.MédardM.An algebraic approach to network coding20031157827952-s2.0-024233416510.1109/TNET.2003.818197LiS. Y. R.YeungR. W.CaiN.Linear network coding20034923713812-s2.0-003732307310.1109/TIT.2002.807285LiZ.LiB.LauL. C.On achieving maximum multicast throughput in undirected networks2006526246724852-s2.0-3374513539910.1109/TIT.2006.874515HoT.KoetterR.MédardM.KargerD. R.EffrosM.The benefits of coding over routing in a randomized settingProceedings of the IEEE International Symposium on Information Theory (ISIT '03)July 20034422-s2.0-0142008000KamalA. E.1+N protection in mesh networks using network coding over p-CyclesProceedings of the IEEE Global Telecommunications Conference (GLOBECOM '06)December 2006162-s2.0-5094909796510.1109/GLOCOM.2006.378AlyS. A.KamalA. E.Al-KofahiO. M.Network protection codes: providing self-healing in autonomic networks using network coding201256199111Al-KofahiO. M.KamalA.Network coding-based protection of many-to-one wireless flows20092757978132-s2.0-6765058779010.1109/JSAC.2009.090619KamalA. E.A generalized strategy for 1+N protectionProceedings of the IEEE International Conference on Communications (ICC '08)May 2008515551592-s2.0-5124909326310.1109/ICC.2008.968DaiS.WangJ.ZhangX.LiS.Network coding-based 1+N protection scheme in hybrid wireless-optical broadband access networksProceedings of the 6th International ICST Conference on Communications and Networking in China (CHINACOM '11)201110131020DaiS.ZhangX.WangJ.WangJ.An efficient coding scheme designed for n+k protection in wireless mesh networks201216812661269LimaL.MédardM.BarrosJ.Random linear network coding: a free cipher?proceedings of the IEEE International Symposium on Information Theory (ISIT '07)June 20075465502-s2.0-5164911886510.1109/ISIT.2007.4557282