Distributed Systematic Network Coding for Reliable Content Uploading in Wireless Multimedia Sensor Networks

Recently, the wireless sensor network paradigm is shifting toward research aimed at enabling the robust delivery of multimedia content. A challenge is to deliver multimedia content with predefined levels of Quality of Service (QoS) under resource constraints such as bandwidth, energy, and delay. In this paper, we propose a distributed systematic network coding (DSNC) scheme for reliable multimedia content uploading over wireless multimedia sensor networks, in which a large number of multimedia sensor nodes upload their own content to a sink through a cluster head node. The design objective is to increase the reliability and bandwidth-efficient utilization in uploading with low decoding complexity. The proposed scheme consists of two phases: in the first phase, each sensor node distributedly encodes the content into systematic network coding packets and transmits them to the cluster head; then in the second phase, the cluster head encodes all successfully decoded incoming packets from multiple sensor nodes into innovative systematic network coding packets and transmits them to the sink. A bandwidth-efficient and channel-aware error control algorithm is proposed to enhance the bandwidth-efficient utilization by dynamically determining the optimal number of innovative coded packets. For performance analysis and evaluation, we firstly derive the closed-form equations of decoding probability to validate the effectiveness of the proposed uploading scheme. Furthermore, we perform various simulations along with a discussion in terms of three performance metrics: decoding probability, redundancy, and image quality measurement. The analytical and experimental results demonstrate that the performance of our proposed DSNC outperforms the existing uploading schemes.


Introduction
Wireless multimedia sensor networks (WMSNs) have attracted many researchers due to potential applications. Apart from environmental monitoring, WMSNs can enable some new applications such as object recognition, tracking, multimedia surveillance, automated assistance for elderly and family monitoring, and industrial process control, etc. [1]. As with sensor networks, WMSNs are composed of wirelessly connected devices that can collect information from environments at any time. However, the types of collected information are video, audio streams, images, and scalar sensor data. To enable the above practical applications, WMSNs require sensors to upload collected information to users or applications. In general, the multimedia sensors are densely distributed and divided into several clusters. Each of them consists of a single leader (i.e., cluster head (CH) node) and several ordinary nodes (ONs). A cluster head operates as a relay between its members (i.e., ONs) and base station (i.e., sink in WMSNs) [2]. The operation of data collection consists of two phases: first, each ON uploads its data packets to the corresponding CH, and second, the CH transmits the gathered data to the sink.
To enhance the efficient uploading in WMSNs, many works have paid attention to techniques such as data aggregation [2], compressive sensing [3], information fusion [4], network lifetime [5], and energy efficiency [6][7][8][9][10]. Instead of uploading raw data, CH tries to reduce the gathered information used for uploading along with guaranteeing quality of service (QoS). Those methods can increase the energy-efficient and bandwidth-efficient utilization. Nevertheless, a safe solution to satisfy all users is to upload all of the raw data regardless of whether or not the information is needed by the users. Hence, in this paper, we propose a distributed systematic network coding (DSNC) scheme for multimedia content uploading over WMSNs to increase the uploading efficiency in terms of reliability and bandwidth-efficient utilization with low decoding complexity. The uploading mechanism consists of two phases: (1) multiple ONs encode original packets into systematic network coding (SNC) packets, and transmit them to the dedicated CH using a proposed bandwidth-efficient and channel-aware error control algorithm in the first phase, where each node uses a different frequency [11]); (2) instead of conventionally forwarding all the received SNC packets from multiple senders to the sink, the CH decodes the SNC packets and encodes them into innovative SNC packets in the second phase. Particularly, our contributions are listed as follows: • The proposed DSNC enables to enhance the efficient multimedia content uploading and to solve the issue of heavy feedback signaling and retransmission caused by retransmission-based protocols in WMSNs.

•
We propose a bandwidth-efficient and channel-aware error control algorithm to enhance the bandwidth-efficient utilization. Our proposed DSNC can be simply embedded on application layer. In the practical point of view, DSNC can take a significant step towards realistic deployment integrated into WMSNs.

•
We derive the closed-form equations of decoding probability that are validated by various simulations. We evaluate the effectiveness in terms of three performance metrics: decoding probability, redundancy, and image quality measurement using peak signal-to-noise ratio (PSNR). The experimental results demonstrate that the performance of the proposed DSNC outperforms the existing uploading schemes.
The remainder of this paper is organized as follows. Related work is described in Section 2. In Section 3, we present our proposed DSNC. Furthermore, we derive the closed-form equations of decoding probability as well as performance evaluation regarding the reliability in terms of decoding probability, redundancy, and PSNR compared to random linear network coding (RLNC) and SNC in Sections 4 and 5, respectively. Finally, in Section 6 we conclude this paper along with future work.

Related Work
Retransmission and redundancy are two typical techniques used in WMSNs to achieve reliability [12]. Most of existing works conventionally focus on retransmission-based reliability [13]. To recover the lost packets, the sender retransmits them by getting feedback from the receiver. This retransmission-based reliability mechanism causes additional transmission overhead that not only increases network congestion but also wastes energy resource. On the other hand, redundancy-based reliability mechanism has recently attracted attention in WMSNs [14]. Since the lost packets can be recovered by utilizing some forms of coding. Among the coding techniques, RLNC was proposed to increase the reliability in transmission and solve the issue of heavy feedback signaling and retransmission [15]. Figure 1 presents RLNC encoder and decoder that are integrated on application layers of sender and receiver, respectively. The sender divides each frame into K packets, which are encoded using a linear combination of K original packets into (K + R) RLNC packets. R is the number of redundant packets used to increase the capability of loss recovery. The receiver can reconstruct the original packets whether the number of received packets is equal to or greater than the number of original packets. The receiver receives the transmitted network-coded packets and starts decoding as receiving a sufficient number of coded packets. The advantage of RLNC is that decoding process can complete successfully right away if the coefficient matrix achieves full rank (i.e., the coding vectors are linearly independent). The sender keeps sending the coded packets until the receiver decodes them successfully and sends an accumulated feedback to the sender. The receiver does not need to send ACK/NACK feedback for each transmission. Hence, the reliability is increased and the issue of feedback storm can be solved. The RLNC has been exploited efficiently in many applications, such as reliable point-to-point communication [16] and efficient multicast [17,18] to enhance reliability and bandwidth efficiency. Furthermore, performance could be significantly enhanced by combining resource allocation frameworks beside the ordinary advantages of RLNC [19]. Authors in [19] showed that RLNC improved communication reliability and derived accurate closed-form equations for the probability of recovering a predetermined set of consecutive message layers. Nevertheless, none of all the above aforementioned studies investigated application on multimedia content uploading. Recently, Moritz et al. addressed the upward trend on sharing multimedia content by proposing a linear network coding approach for uplink network-coded cooperative communication with downlink energy transfer [20]. The authors derived a closed-form approximation for the system outage probability. The deployment of RLNC for uplink distributed systems was also proposed in [21]. The authors provided the analysis on outage behavior and showed that the linear network coding approach can decrease the outage probability and frame error rate.
Although RLNC can increase the reliability without using feedback and retransmission but there are two significant drawbacks: rank deficiency and high decoding complexity that are not suitable for multimedia content because of strict time constraint. To tackle these drawbacks, SNC was proposed [22]. The transmission of SNC consists of two stages: a sender sends original packets in the first stage; upon sending out all original packets, the sender continues generating RLNC packets for transmission in the second stage. Obviously, the issue of rank deficiency can be solved since the receiver can still decode some original packets even though the receiver cannot receive a sufficient number of linearly independent packets. On the other hand, SNC can achieve the same performance as the receiver receives a sufficient number of transmitted packets [22,23]. In addition, the second drawback (i.e., high decoding complexity) can be solved by brief propagation (BP) and Gaussian Elimination (GE) algorithms that are used for decoding with low computational complexity compared to RLNC [24]. However, the mentioned studies only deployed the RLNC and SNC for one-hop data uploading. Our work is the first work investigating the DSNC to enhance the efficient multimedia content uploading over WMSNs. Furthermore, we derive a closed-form equation of decoding probability which provides a theoretical analysis for further understanding of the DSNC.

Proposed DSNC
In this section, we present our proposed DSNC performed at each cluster in WMSNs. Figure 2 presents the encoding/decoding operations at ON, CH, and sink in an uploading scenario with multiple ONs. The wireless link from an ON to a CH is a short-ranged contention-based wireless link (e.g., WiFi) and the wireless link from the CH to a sink is a long-ranged cellular link (e.g., 4G-LTE). U ONs upload their own multimedia content with strict time constraint and predefined level of QoS (i.e., the data received after time constraint is useless) to a sink through a CH. Since multiple ONs upload their own content to a sink through a CH and ON cannot transmit directly to the sink, the uploading mechanism consists of two phases: (1) multiple ONs encode original packets into innovative SNC packets and transmit them to the CH using different frequencies [11]; (2) instead of forwarding all the received SNC packets from multiple senders to the sink, the CH decodes the received SNC packets and then encodes them into innovative SNC packets in the second phase. The number of innovative SNC packets is selected using the proposed bandwidth-efficient and channel-aware error control algorithm. Suppose that received signal strength indicators (RSSIs) are exchanged among sink, CH, and ONs (i.e., end users). Based on the RSSI information, the sender can estimate a packet loss ratio (PLR) at each duration of a frame transmission [25]. For clarity, we list the commonly used notations in Table 1. The total number of SNC packets used for transmission of the uth ON, note that The total number of received SNC packets of the uth ON at CH, note that M CH,u = k CH,u + r CH,u k CH,u The number of received uncoded packets of the uth ON at CH r CH,u The number of received RLNC packets of the uth ON at CH D CH,u The number of successfully decoded packets of the uth ON at CH D CH The total number of successfully decoded packets at CH, note that D CH = ∑ U u=1 D CH,u R CH,u The number of RLNC packets used for transmission of the uth ON from CH to sink R CH The total number of RLNC packets used for transmission from CH to sink, note that The number of SNC packets used for transmission of the uth ON from CH to sink, note that The total number of SNC packets used for transmission from CH to sink, note that The total number of received packets at sink D S,u The number of successfully decoded packets of the uth ON at sink k S,u The number of received uncoded packets of the uth ON at sink r S The total number of received RLNC packets at sink ρ S,u Decoding probability of the uth ON at sink ρ u,TH Decoding probability threshold of the uth ON E(ρ S,u ) Expected decoding probability of the uth ON at sink u Erasure probability of access link from the uth ON to CH Erasure probability of the backhaul link from CH to sink  Figure 3 presents a proposed ON's architecture that encodes multimedia content for uploading to CH in the first phase. Let f ile u be the multimedia content (i.e., application data units (ADUs)) of the uth ON, where each file is partitioned into multiple packets and delivered to the SNC encoder. SNC integrates SNC encoder/decoder on application layer. Based on the transmission requirements corresponding to RSSI feedback from physical layer (PHY), the SNC encoder divides the ADU into K u equal-length source packets which can be presented as a vector of K u elements:

Multimedia Content Encoding at Multiple ONs in the First Phase
where (·) T denotes the transpose operation. N u is the number of packets used for transmission from the uth ON to CH and N u ≥ K u . Encoding process: SNC encoder encodes the K u original source packets into N u SNC packets for transmission, which consist of K u original packets and R u RLNC packets (i.e., N u = K u + R u ). Let b r be an RLNC packet which is presented as follows: where f r,k is a coefficient number of the kth packet of the rth coded packet. Each coefficient number is generated randomly over Galois Field F(q) of size q. We use random number generator (RNG) to generate these coefficients. Each RNG seed of the first encoded packet is transmitted in such a way that CH also can generate these same coefficients for decoding [17,22]. Lastly, N u SNC packets (i.e., K u original and R u = N u − K u RLNC packets) are delivered to transport layer based on UDP protocol for transmission. The determination of N u is based on RSSI feedback along with physical transmission requirements. The simple existing method is to use Equation (3) that the determination of redundant packets is equal to the expected lost packets based on erasure probability, u , of the channel link [26], hence a receiver can expectedly achieve the full rank of a coefficient matrix and decode all original packets.
Nevertheless, this method cannot guarantee the predefined level of QoS in WMSNs as the channel condition is getting worse (i.e., proved in Section 5.2). To enhance bandwidth-efficient utilization under a predefined level of QoS, we propose a bandwidth-efficient and channel-aware error control algorithm presented in Algorithm 1 to select the optimal number of redundant packets. Our proposed Algorithm 1 is based on our analysis of decoding probability presented in Section 4. Firstly, we formulate the redundancy assignment problem as follows: subject to: where ρ u,TH is a threshold of decoding probability, constraint (5) guarantees a predefined level of QoS; R u,max is the maximum number of redundant packets, constraint (6) guarantees the sender cannot exceed the maximum sending rate constraint. Secondly, to solve this problem with low complexity, we perform a proximity search of the given point determined by Equation (3). Algorithm 1 starts by the given point and determines the expected decoding probability using Equations (8) and (13) from our analysis (lines 2-3). There are two cases: constraint (5) is satisfied or unsatisfied. In the first case, if constraint (5) is satisfied, it means the given point of redundancy uses more resource than the predefined quality. Hence, the algorithm reduces the number of redundant packets by one and checks the constraint (5) again. The process keeps decreasing the redundancy while constraint (5) is satisfied. The optimal value is the latest proximity value (lines 7-14). In the second case, if constraint (5) is not satisfied, it means the given point of redundancy cannot satisfy the predefined level of QoS. Hence, the algorithm increases the number of redundant packets by one until constraint (5) is satisfied (lines [15][16][17][18][19][20][21][22]. Now we discuss the complexity of our proposed algorithm. The time complexity of Algorithm 1 is O(R u,max ). However, the particular time complexity is either O(R u ) (i.e., the first case) or O(R u,max − R u ) (i.e., the second case) that depends on the available bandwidth, channel condition and the number of original packets. To give the further estimation of complexity, suppose that the number of original packets is K u = 50, error probability is u = 0.1, and the available bandwidth of possibly transmitting redundant packets is R u,max = 10. The given point of searching starts from R u = 6. Hence the complexity of the Algorithm 1 is O(6) that is negligible. Hence, the propose algorithm is capable of implementing on practical sensor nodes.
Algorithm 1 Proposed bandwidth-efficient and channel-aware error control algorithm. Input: Given K u , u , ρ u,TH , R u,max Output: R u 1: procedure 2: R u ← Equation (3) 3: (8) and (13) 4: if E(ρ u ) = ρ u,TH then 5: return R u 6: end if 7: if E(ρ u ) > ρ u,TH then 8: (8) and (13) 10: if E(ρ u ) < ρ u,TH then 11: return R u + 1 12: end if 13: end for 14: end if 15: if E(ρ u ) < ρ u,TH then 16: for R u + 1 → R u,max do 17: E(ρ u ) ← Equations (8) and (13) 18: if E(ρ u ) > ρ u,TH then 19: return R u 20: end if 21: end for 22: end if 23: end procedure Decoding process: the received packets can be presented as follows: where (i) H u is an N u × N u diagonal transfer matrix from the uth ON to CH, where the diagonal component is one with the probability of 1 − u and zeros with the probability of u (i.e., erasure probability); (ii) C u = [I K u ; F u ] is an N u × K u coefficient matrix over the Galois field F N u ×K u q that is vertically concatenated from the identity matrix of size K u (i.e., transmission of original packets) and a coefficient matrix used to encode the RLNC packets (i.e., F u ∈ F R u ×K u q ); (iii) X u is a matrix representing the original packets; (iv) Y u is a matrix representing the received packets. An example of coefficient matrix C u is shown in Figure 5a. The CH can decode successfully all K u source packets as the coefficient coding vectors of the received packets achieves the full rank of K u (i.e., rank(H u C u ) = K u ). Otherwise, the CH can also decode a fraction of K u source packets if the uncoded packets are decoded successfully. The SNC decoder uses BP and GE algorithms for decoding with low computational complexity compared to RLNC presented in [24].

DSNC Execution at CH in the Second Phase
In this subsection, we present our proposed DSNC implemented at CH. Instead of forwarding all the received SNC packets from multiple senders to the sink, the CH performs DSNC in the second phase. Sink can simply use SNC decoder to decode all the original packets before the packet ordering for each individual ON.
DSNC at CH: Figure 4 presents our proposed DSNC implemented at CH. Our proposal is integrated on application layer with the existing PHY transmission procedure. The transport layer sends the received SNC packets of each ON to SNC decoder, which decodes all received SNC packets from multiple ONs. Please note that D CH,u and D S,u are the numbers of the successfully decoded SNC packets of the uth ON at CH and sink, respectively, and they meet the condition K u ≥ D CH,u ≥ D S,u . All these successfully decoded packets D CH = ∑ U u=1 D CH,u at CH are encoded into N CH = D CH + R CH innovative SNC packets using SNC encoder, where D CH and R CH be the numbers of successfully decoded packets and RLNC packets, respectively. The R CH is determined using Algorithm 1 with a minor modification. We change the input information such as K u to D CH , u to , ρ u,TH to ρ CH,TH , and R u,max to R CH,max (i.e., the maximum number of RLNC packets that the CH can transmit in the second phase). Then all of those innovative SNC packets are used for transmission to the sink. The time complexity for multiple sources of our proposed scheme at CH will be O(R CH,max ). Since the complexity only depends on the maximum total number of redundant packets used at CH which is associated with the number of ONs. As the number of ONs increases, the more redundant packets are used leading to the time complexity also increases. Decoding process at sink: Clearly, the encoded packet in the second phase is a linear combination of all successfully decoded packets from all ONs. Hence, the sink cannot decode each data flow separately. To decode each data flow from each ON, the sink simply uses the BP and GE algorithms [24] similar to SNC to decode all data from ONs, and then performing the packet reordering to separate each data flow.
The DSNC can increase efficiently the multimedia uploading because of two advantages: (1) in the access link side (i.e., in the first phase from multiple ONs to CH): ON can upload a fraction of data even if the measured RSSI used for physical uplink scheduling is not accurate. This issue causes transmission error and often happens in practical wireless networks due to measurement error and the mobility of ONs [25]. On the other hand, ON can upload all data easily without using feedback and retransmission since CH can decode all transmitted packets as receiving a sufficient number of SNC packets; (2) in the backhaul link side (i.e., in the second phase from CH to sink): the reliability performance can be achieved by the substantial improvement since the generation size used for RLNC encoding increases leading to the increase in reliability [15]. As seen, the reliability improvement comes from the cost of computational complexity. However, this issue can be easily solved by the powerful computational capability of the current smart sink [27].

Performance Analysis
In this section, we derive the closed-form equations for decoding probability of our proposed DSNC. This performance metric is widely used to evaluate the reliability in transmission. The decoding probability ρ S,u of each ON at sink is defined as the ratio of the number of the successfully decoded packets D S,u at destination (i.e., sink) over K u source packets. The expected value of decoding probability is defined as follows: Our objective is to derive the probability Pr(D S,u = d S,u ) of the uth ON at sink, note that D S,u ≤ K u because of erasure channel and d S,u is a sliding variable of the successfully decoded number of packets. Performance analysis of SNC can be treated as the uploading scenario with a single ON since CH treats each data flow individually. For simplicity, we start the analysis with a single ON over one-hop transmission, two-hop transmission, and extending to multiple ONs of our proposed DSNC.

A Single ON over One-Hop Transmission
First, we describe the decoding probability of SNC over one-hop transmission with a single ON u and CH in the first phase derived in [28]. Sender encodes K u original packets into N u SNC packets for transmission. Please note that N u = K u + R u consists of K u uncoded packets and R u RLNC packets. The probability Pr(M CH,u , N u ) that the CH receives M CH,u (i.e., the number of received packets) over N u transmissions that follows a binomial distribution [15] with the erasure probability u of the access link.
The decoding capability at CH can be classified into two cases: decoding a fraction of source data if D CH,u < K u and decoding all K u original packets if D CH,u = K u , note that D CH,u is the number of the successfully decoded packets at CH and K u is the number of the original packets used for transmission in the first phase. Let k CH,u and r CH,u be the numbers of uncoded (i.e., original) packets, and encoded packets (i.e., RLNC packets) of ON u that are received at the CH, respectively. The random variables of k CH,u and r CH,u also follow the binomial distributions Pr(k CH,u , K u ) and Pr(r CH,u , R u ) independently since the channel is memoryless. Figure 5 presents an illustration of two possible decoding cases by a coefficient coding matrix. Assume that the number of original packets (i.e., uncoded packets) is K u = 4 and the number of RLNC packets is R u = 2 (i.e., Figure 5a). In the case of D CH,u < K u shown in Figure 5b, the CH receives three packets but only decodes successfully two decoded original packets. Since the coefficient coding matrix needs to achieve the rank of 4 but the rank is only 3. Hence, one successfully received RLNC packet becomes useless. In the case of D CH,u = K u shown in Figure 5c, the CH can decode successfully all 4 packets since the coefficient coding matrix achieves the rank of 4. Now we describe the analysis of two cases in detail:

•
In the case of D CH,u < K u (i.e., example shown in Figure 5b): CH only can decode successfully k CH,u uncoded packets (i.e., D CH,u = k CH,u ) and the coefficient coding vectors of all the received packets cannot achieve the rank of K u .
where R u = N u − K u is the number of RLNC packets used for transmission, in which K u and R u represent the ranks of coefficient matrix and redundant packets, respectively; f K u (K u − k CH,u , r CH,u ) is the probability that the r CH,u × K u coefficient coding matrix achieves the rank of (K u − k CH,u ) derived in [22].
• In the case of D CH,u = K u (i.e., example shown in Figure 5c): obviously, CH can decode all K u source packets as the matrix of received coefficient coding vectors achieves the rank of K u . The Pr(D CH,u = K u ) can be simply expressed as follows: Finally, the Pr(D CH,u = d CH,u ) for a single-hop wireless transmission can be derived as follows:

A Single ON over Two-Hop Transmission
Now, we extend our analysis for the second transmission from CH to sink. The closed-form expectation of decoding probability of ON u is presented as follows: Since the Pr(D S,u = d S,u ) at the sink is the marginal distribution computed from the joint distribution Pr(D CH,u , D S,u ). Hence, the Pr(D S,u = d S,u ) is expressed as follows: where Pr(D CH,u = d CH,u ) is the probability of decoding successfully d CH,u at the CH in the first phase, which is determined using Equation (13). Please note that the sink only uses D CH,u decoded packets for encoding into N CH,u SNC packets. The conditional probability Pr(D S,u = d S,u |D CH,u ) is the decoding probability that the sink can decode d S,u packets given D CH,u . The complete closed-form equation can be defined as follows: where R CH,u = N CH,u − D CH,u is the number of RLNC packets due to a single ON only; k S,u and r S,u be the numbers of uncoded packets and encoded packets received at the sink from the CH, respectively.

Analysis of DSNC with Multiple Source Senders
Based on the above analysis, we extent to the case of our proposed DSNC with multiple source senders. Instead of simply treating each data flow individually, CH encodes all successfully decoded packets from source senders (i.e., all ONs) in the first phase into innovative SNC packets and transmits them to the sink in the second phase.
We firstly extend the analysis to the case of two ONs. Please note that CH uses all successfully decoded packets from both source senders for encoding. Hence, the total number of SNC packets used for transmission from the CH to sink is determined as N CH = D CH,1 + D CH,2 + R CH . Figure 6a,b present the coefficient coding matrices at CH performed SNC individually and DSNCs, respectively. For simplicity, assuming that CH can decode successfully all four transmitted packets from both ONs in the illustration. Obviously, each data flow can be decoded as the coefficient coding matrix achieves the rank of D CH = ∑ 2 u=1 D CH,u . On the other words, sink needs to receive at least D CH packets.
The terms of Pr(D CH,1 = d CH,1 ) and Pr(D CH,2 = d CH,2 ) can be determined using in such a similar way of Equation (13). The last term is conditional probability Pr(D S,1 = d S,1 |D CH = ∑ 2 u=1 D CH,u ) that the sink can decode the data flow of ON u depending on two cases: decoding a fraction of source data if D S,1 < D CH,1 and decoding all D CH,1 if D S,1 = D CH,1 or corresponding to M S = D CH . Let k S,u and r S be the numbers of received uncoded packets of the uth ON and received RLNC packets at sink, respectively. M S = ∑ 2 u=1 k S,u + r S is the number of received packets at sink.

•
The case of D S,1 ≤ D CH,1 (i.e., example shown in Figure 6c): sink only can decode successfully k S,1 uncoded packets (i.e., D S,u = k S,1 ) and the coefficient coding vectors of k S,2 uncoded and r S RLNC packets are not linearly independent.
where RE 1 = D CH,2 + R CH is treated as the number of redundant packets of the 1st ON. Each ON treats the received packets of other ONs as redundancy. Examples of the RE 1 and R CH are presented in Figure 6b.

•
The case of D S,1 = D CH,1 (i.e., example shown in Figure 6d): obviously, CH can decode all D CH,u source packets as the matrix of received coefficient coding vectors achieves the rank of D CH,u .
Hence, the final closed-form equation of decoding probability of the uth ON at sink can be derived as follows: with Pr(D CH,u = d CH,u ) can be determined using in the similar way of Equation (13), and the conditional probability Pr(D S,u = d S,u |D CH = ∑ U u=1 D CH,u ) is presented as follows: (20) where RE u = ∑ U j =u D CH,j + R CH .

Performance Evaluation
For performance evaluation, we performed various simulations that firstly validate our theoretical analysis. The analytical and simulation results matched well with a difference of 0.05%. Secondly, we present the comparative performance analysis with the existing uploading schemes. Each simulation was run 100,000 times in the Matlab environment with a confidence interval of at least 95%. Galois field size of 8 is selected to guarantee linear independence with a very high probability at application layer [29]. There is no standard method for selecting a field size, but there are majority of works that consider the Galois field size of 8 [19,30]. Table 2 describes the main simulation parameters.

Validation of Theoretical Analysis
Firstly, we validated the theoretical analysis presented in Section 4.2. In addition, we proved that the performance of decoding probability that depended on the selection of redundancy. In this evaluation, suppose that a single ON 1 encoded K 1 = 30 original packets for uploading to sink through CH. Figure 7a showed the decoding probability versus erasure probability with various redundancies. We assume that two links have the same erasure probability that is widely used for two-hop communication [31]. Redundancies at ON 1 and CH are similar. As seen, when the overhead was zero, the decoding probability was similar to that of the transmission scheme without coding. The increase in redundancy leaded to the increase in the decoding probability. When the sender increased the sufficient number of redundant packets, the receiver could achieve the maximum decoding probability. Secondly, we validated the theoretical analysis for our proposed DSNC presented in Section 4.3. Furthermore, we evaluated the impact of the number of ONs on the performance. Figure 7b showed the decoding probability versus erasure probability with various numbers of ONs. The results were decoding probabilities of the 1st ON, where channel conditions of access link (i.e., between ON 1 and CH) and backhaul link (i.e., between CH and sink) have the similar erasure probability. Other access links had erasure probability of zero, which means no error over other access links. We considered this configuration since we mainly focused on the performance of our proposed DSNC implemented as CH in the second phase. Each ON encoded K u = 30 original packets for uploading and used redundancy of R u = R CH = 4 for transmission. The results demonstrated that the increase in the number of ONs leaded to the increase in performance of decoding probability.
Thirdly, we evaluated the impact of erasure probabilities of the other adjacent access links. We performed simulation with two ONs, and various erasure probabilities of the access link between ON 2 and CH (i.e., 2 ). Figure 8 showed the decoding probability of ON 1 . The simulation results also matched well with our theoretical analysis. Figure 8a,b are results of decoding probability corresponding to R 1 = R 2 = 2 and R 1 = R 2 = 4, respectively. Figure 8a showed that given the channel condition of access link 1 and the number of predefined redundant packets, the performance of decoding probability increases as the channel condition of the 2nd access link increases. In addition, Figure 8b demonstrated that if the number of predefined redundant packets is assigned sufficient enough. The impact of erasure probability of the 2 is trivial.

Comparative Performance Analysis
In this subsection, we compared the performance of our scheme to two other baseline schemes that were RLNC [16] and SNC [23]. This is because both of them employed redundancy-based reliability mechanism to use the advantage of coding for providing the capability of error correction over lossy wireless channel like our proposal scheme. We performed simulations with two ONs uploading to sink through CH. Each ON also encoded K u = 30 original packets for uploading. Each packet was 1500 bytes and transmission rate for each ON's link was 480 Kbps (i.e., maximum sending rate was 40 packets per second). We evaluate the performance of the 1st ON. Performance metrics used for comparative analysis were decoding probability, redundancy, and PSNR for image quality measurement. Channel conditions of access link (i.e., between ON 1 and CH) and backhaul link (i.e., between CH and sink) have the similar erasure probability. Other access link (i.e., between ON 2 and CH) has erasure probability of zero, which means no error over this access link. Figure 9 presented the performance of decoding probability of the 1st ON versus erasure probability with various redundancies compared to RLNC and SNC. We did not apply the method to dynamically determine redundancy according to channel condition, since we focused on the evaluation of the general impact of redundancy to all schemes. Given channel condition and predetermined redundancy, the DSNC showed better performance than SNC and RLNC. We selected the same numbers of redundant packets as 4 and 6, leading to the results shown in Figure 9a,b, respectively. As channel condition was getting worse, the DSNC showed better performance since the RLNC had rank deficiency disadvantage. Please note that we performed simulation with two ONs, but as shown in Figure 7b, our proposed scheme could achieve better performance as the number of ONs increases. Lastly, we used Lena image for transmission and evaluated with the adaptive method to dynamically determine redundancy according to channel condition. The image file is still large for WMSNs. We divided the file into multiple segments of 100 packets. The predefined level of QoS was the decoding probability threshold of 0.99. Figure 10a-c presented the performance of decoding probability, PSNR, and redundancy, respectively. This simulation differs from the results in Figure 9, because we applied the adaptive method to dynamically determine redundancy according to channel condition in order to show the advantage of the proposed bandwidth-efficient and channel-aware error control algorithm. Other schemes use the existing method shown in Equation (3). As shown in Figure 10a,b, the DSNC could still satisfy the predefined level of QoS even the channel condition getting worse. Especially, the performance gap increases as the channel condition is getting worse. Accordingly, Figure 10c shows that the DSNC could adaptively determine the redundancy better than the other schemes to achieve the decoding probability threshold.

Conclusions
We proposed a distributed systematic network coding called DSNC for multimedia content uploading over WMSNs. In addition, we derived the closed-form equation for decoding probability analysis. Based on the analysis, we proposed a bandwidth-efficient and channel-aware error control algorithm to enhance the bandwidth-efficient utilization by dynamically determining the optimal number of innovative coded packets. The experiment results verified our mathematical equations and demonstrated that the proposed distributed systematic network coding outperformed the random linear network coding-based scheme and systematic network coding-based scheme in terms of decoding probability, redundancy, and image quality measurement. For future research, we extend our work to the vehicular sensor networks for multimedia collection and dissemination, in which the mobility challenge is taken under consideration.
Author Contributions: P.C. proposed the DSNC scheme, mainly wrote the manuscript, and implemented the proposed scheme along with the compared schemes and ran the simulations. J.S. designed the performance evaluation method and improved the manuscript with performance analysis. J.(P.)J. verified the correctness of the proposed DSNC scheme and improved the manuscript technically. All the authors have spent so much effort on the improvement of the manuscript. They have reviewed with many good advices and approved the final manuscript.
Funding: This research received no external funding.