The present disclosure relates to a framework for network coding and cross-layer information exchange in the presence of corrupt data packets.
Network coding has found a wide variety of applications. Many research efforts have shown significant utility for combining network coding with the broadcast nature of wireless networks. Majority of the current studies, focus their analysis on packet networks, where the only possible channel impairments (if any) is a packet drop. Nevertheless some recent studies have shown that coding may provide performance gains on noisy channels, i.e., on channels that lead to symmetric errors.
The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
An improved routing scheme is provided for data packets in a network. Upon receiving incoming data packets at an intermediate routing node of the network, the incoming data packets are processed in accordance with a cross-layer protocol. In addition, network coding is applied to the incoming data packets to form a combined data packet which is in turn broadcast over the network.
Further areas of applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
Consider a scenario where router C is placed such that the packet transmissions over links 1, 2, 3, and 4 are susceptible to bit corruptions. Such a scenario can occur in regions where a network is sparse and has to communicate over long distances or poor quality channels to remain connected. If a significant portion of packets on either of the links are dropped due to bit-corruptions, the exchange of information (despite the presence of network coding at an intermediate node) won't be efficient. Thus, in such a scenario, this disclosure proposes to employ a cross-layer protocol that allows the relay of corrupted packets and thus reduces the susceptibility to bit errors.
When a data packet is deemed to contain bit errors, the packet is further assessed to determine if the errors are found in the header of the data packet at 35, thereby obscuring the identity of the data packet. If a corrupted packet can be adequately identified from the header information, the packet is likewise forwarded on at 36 to the application layer for further processing. If the corrupted packet cannot be adequately identified, then the data packet is dropped at 37.
For each corrupted data packet sent to the application layer, an indicator of the bit errors associated with that data packet is also passed to the application layer. In an exemplary embodiment, the bit error indicator for the packet may be reported by the communication protocol operating at the data link layer of the receiver. For example, the bit error indicator may be a signal to silence ratio (SSR) value as provided in accordance with 802.11b WLAN. It is readily understood that other types of indicators for the bit errors contained in a given data packet are contemplated by this disclosure. Furthermore, it is contemplated that the bit error indicator may be captured at a physical layer of the receiver or at some other layer below the application layer as defined by the Open System Interconnection (OSI) model.
At the application layer, corrupt data packets undergo an error recovery operation at 36 which uses the bit error indicator associated with the corrupt data packet. In an exemplary embodiment, the bits of the corrupt data packet are decoded using a low density parity check decoding scheme. It is envisioned that bit error indictor may be used in other types of decoding schemes or forward error correction schemes. For details regarding how the bit error indicator is captured and then used to perform an error recovery operation may be found in U.S. patent application Ser. No. 11/725,242 filed on Mar. 16, 2007 and entitled “Method to Utilize Physical Layer Channel State Information to Improve Video Quality” which is incorporated herein by reference. While an exemplary cross-layer protocol has been described, it is readily understood that the broader aspects of this disclosure pertain to other types of cross-layer protocols.
Returning to
To evaluate the utility and feasibility of CLIX, a rigorous comparative evaluation is conducted for the four possible combinations that emerge from (i) employing traditional or cross-layer protocols on links 1, 2, 3, 4 and (ii) employing network coding (i.e. XOR-ing) or pure forwarding functionality at router C. Additional credence is lent to the evaluation by utilizing actual 802.11b wireless traces to emulate links 1, 2, 3 and 4. The analysis presented in this disclosure can be broken down into the following steps. First, based on some key parameters we deduce an abstract model to represent the communication over each link. The throughput capacity of each of the four schemes is deduced for such a model. Values of these key parameters, derived on the basis of actual 802.11b traces, are used to predict that CLIX should perform better than any other combination on an actual 802.11b wireless channel. Trace based simulations presented below validate this prediction. Second, we conduct forward error correction (FEC) analysis for multiple sets of actual 802.11b wireless traces. It is observed that for a variety of coding rates and realistic channel conditions, the goodput of CLIX is superior to that of other schemes. In addition, with the help of H.264 based video simulations, we exhibit the efficacy of CLIX in improving wireless video quality.
As XOR-ing of packets at an intermediate node or bit corruptions over the first hop alters the content of the packet, the header and the payload checksums have to be updated at the intermediate node. Additional meta-data also has to be inserted in the header at an intermediate node to allow the eventual receivers to identify the packets that were XORed at the intermediate node and to also identify, even when the transmission over the final hop is corruption free, packets which were corrupted on an initial hop. In this disclosure, we assume that the overhead due to this meta-data is negligible and due to brevity do not explicitly study the impact of such an assumption.
For ease of analysis, a slotted communication is assumed. In addition, it is assumed that the communication proceeds in terms of exchanges of individual packets. Each exchange involves the transmission of 1 packet each from A to B and B to A. In an exchange, packets are initially transmitted over link 1, 2 and then over links 3, 4. Thus a scheme employing network coding uses three transmission slots in each exchange, while a non-NC scheme uses 4 slots. If for some reason a packet involved in an exchange cannot be successfully transmitted within the slots allocated for the exchange, the packet is considered dropped. The above assumptions allow us to focus on issues core to the proposed work, without significantly compromising the validity of the analysis and conclusions.
In order to get an estimate of the performance gain from utilizing CLIX, we assume that the communication over links 1, 2, 3 and 4 is governed by an abstract channel. For communication over each of the links, we can consider a channel determined by 3 parameters, namely, (1) δ which denotes the probability that at least a single bit is in error in the header and/or in the data payload; (2) λ is the probability that the packet header contains at least a single bit in error; and (3) ε is the conditional probability of error in a packet conditioned on the event that a packet is corrupted and on the event that the header of the corrupted packet is error free. A traditional protocol drops a packet when either the header or payload has an error. Thus δ(λ) denotes the probability of a packet getting dropped when a link employs a traditional protocol. In contrast, a cross-layer protocol does not drop all packets which contain errors.
Returning to our assessment of CLIX, CA (CB) denotes the throughput capacity from B to A (A to B). The throughput capacity is determined by two factors, the number of slots that are required to exchange packets and also by the actual information rate in the received packets. The information rate can be reduced due to presence of bit errors or due to packet drops. Thus, it can be shown that the throughput capacity of traditional schemes and cross-layer schemes, which do not employ any network coding is given by equation (1) and (2):
where (i) δA=(1−δ2)(1−δ4), δB=(1−δ1)(1−δ3) denote the end-to end packet drop probability in traditional schemes; (ii) λA=((1−λ2)(1−λ4), λB=(1−λ1)(1−λ3) denotes the end-to-end packet drop probability in cross-layer schemes; and (iii) εA=(ε2*ε4), εB=(ε1*ε3) denotes the conditional probability of error in the corrupted un-erased packets received in cross-layer communication at receiver A and B, respectively.
When network coding is employed in conjunction with a traditional scheme, the packet drop process is identical to that of the traditional scheme; however the exchange occupies less number of slots. Thus throughput capacity for network coding is given by
C
A
NC(⅓)·(1−δA), CB
where, (i) 1−δA
A packet is erased if and only if it encounters header corruption on either of the hops, thus λA
There exist some combination of values for the above considered parameters, such that the performance of CLIX does not provide any advantage over network coding or cross-layer protocols and similarly there exist values for which CLIX can provide benefits. However, an important question to be raised is, “Which of these combinations are more likely to be observed on actual wireless channels?” For this purpose, we evaluate the values of δ, λ, ε, on the basis of actual 802.11b error traces. Traces are collected traces, with a total MAC-frame size of 1024 bytes which included a combined header size of 60 bytes. The traces were collected at a PHY data rate of 11 Mbps. The parameters δ, λ, ε were evaluated as a function of SNR.
For ease of analysis, links 1, 2, 3 and 4 are assumed to be governed by identical values of SNR and hence of identical δ, λ, ε. Thus, C=CA=CB and can be expressed as a function of SNR.
The actual 802.11b channel exhibits temporal correlation in the error process, both at the packet level and at the bit-level. Though the values of δ, λ, ε were derived on the basis of actual traces, they may not capture the behavior of the 802.11b channel. It is important to simulate the behavior of the considered schemes on actual sample traces. For this purpose, two sets of error traces are considered. Each set consists of 4 traces, one to emulate each link. Each trace consists of 40,000 packets. The error traces in two sets, Set 1 and Set 2, are such that Set 1 represents a scenario where the communication over each link is highly susceptible to packet corruption, while Set 2 represents a scenario where packet corruptions are relatively rare. More specifically, the average SNR for each trace in Set 1 was lesser than 14 dB, while the SNR for each trace in Set 2 was in the range of 18-30 dB. As mentioned in the previous section, each MAC-frame in the error trace is of size 1024 bytes and consists of a combined header size of 60 bytes. A cross-layer scheme drops the packet whenever there is an error in the first 60 bytes of the frame, while a non-cross-layer scheme drops the packet whenever there is an error in any of the 1024 bytes in the frame.
For Set 1 and 2, the performance of Reed Solomon (RS) based FEC schemes employed in conjunction with network coding, cross-layer protocol and CLIX is considered. The FEC block-length was chosen in a manner to ensure that an FEC block gets exchanged in 240 transmission slots. Thus packet block-length for cross-layer was chosen to be 60, while the block-length for network coding and CLIX was chosen to be 80. Each FEC block consisted of 964 codewords interleaved over the packets, such that each packet contributed a symbol in GF(255) for each codeword.
Next, whether the improvement in goodput can be translated into improvement in video quality is evaluated. The results are based on utilizing H.264 version 10.1 reference software. The picture frame size is maintained at 352×288 for all test sequences. All standard error concealment features have been turned on, a video packet size of 1024 bytes is used and specific source bit-rates are obtained using standard rate-control. The experiments in this section can be broken into two parts a) where the channel coding rate for the cross-layer protocol only, network coding only, and CLIX is identical and b) where the source coding rate is identical. As done in the previous section, the FEC block-length for the cross-layer protocol is maintained at 60 packets, while that for network coding and CLIX is maintained at 80 packets. First 8 rows of the table below provide the results for part (a) while the last 4 rows provide the results for part (b). Due to brevity, only a part of the results are presented, and only for receiver A.
For part (a), the channel coding rate is maintained at 0.7, thus the source bitrate used for network coding and CLIX is 4/3 times that used for cross-layer protocol. In the table, results associated with Set 1 exhibit that, when channel conditions are bad, the video quality offered by cross-layer protocols and CLIX can be significantly better than that of network coding. In addition, it can be incurred that CLIX can provide substantial improvement over cross-layer protocols too, especially in terms of motion continuity. Observations associated with Set 2 highlight the efficiency with which CLIX combines the advantages of network coding and cross-layer protocols.
In poor channel conditions the additional bandwidth available to network coding and CLIX is better used by providing additional redundancy. For part (b), the source bit-rate was maintained constant at 1.2 Mbps for all three schemes, while a channel coding rate of 0.525 was used for network coding and CLIX. The additional redundancy proves to be useful as shown in Table I below. Nevertheless, the performance of CLIX is still substantially better than network coding and cross-layer protocols individually.
Even for the actual 802.11b wireless channel, it is observed that advantages of network coding and cross-layer protocols can be efficiently combined. Theoretical and experimental deductions exhibited that CLIX provides an improvement in throughput capacity, FEC goodput and video quality.
Channel behavior observed in practical wireless networks exhibits a time-varying behavior. Under such a time-varying behavior the optimal network coding function employed at an intermediate node also varies with time. Consequently, an adaptive network coding (ANC) scheme, which alters the coding function in accordance to the Bit Error Rates (BER) in the packets, would naturally lead to a performance improvement. If each coding function utilizes an identical amount of network resource, an optimal ANC scheme could be easily designed by enumerating the performance of each coding function for the entire range of channel parameters and then choosing the best scheme for each channel condition. However when the network resources used vary with the coding function, the problem of designing an optimal ANC becomes harder and resembles a resource allocation problem. Thus, a framework is developed for design and analysis of an ANC suitable for efficient exchange of mutually independent information. We quantify the performance benefit offered by ANC on time-varying channel models derived from actual 802.11b and 802.15.4 wireless measurements. Our comparisons show significantly utility for employing an ANC when the variations in channel conditions are significant.
To motivate the discussion on noisy channels without processing, for now, let the channels be described by Binary Symmetric Channels (BSCs) as shown in
To illustrate this phenomenon, we obtain
C
A
NO-XOR
=C
B
No-XOR+(¼)(1−hb(ε1*ε2))
C
A
XOR=(⅓)(1−hb(ε1*ε1*ε2))
C
B
XOR=(⅓)(1−hb(ε1*ε2*ε2)) (7)
In this document, the operation “*” is defined such that p1*p2=p1(1−p2)+p2·(1−p1). The joint parameter space defined by BCS parameters (ε1, ε2) is partitioned into four regions depending upon the benefit of XOR-ing to each of the eventual receivers. XOR-ing improves throughput capacity to both receivers in region N1. In region N2, XOR-ing is beneficial only to B; whereas, in region N3, XOR-ing is beneficial only to A. Forwarding the data packets separately is a better strategy for both A and B in region N4. Thus, it can be observed that the coding is not always the best function and additionally under certain channel conditions neither of the functions are mutually beneficial.
An appropriate network coding function is selected based on the error indicator. For example, the network coding function may be selected from one of combining the incoming data packets into an outgoing data packet for transmission over the network (i.e., XOR-ing) or forwarding the incoming data packets separately over the network. With reference to
For time-varying channel conditions, a direct application of
It can be easily verified that the best deterministic scheme is not represented by the above describe ANC. An ANC scheme that employs a coding function for the state {BSC(0.3), BSC(0.3)} and a forwarding function for the state {BSC(0.04), BSC(0.04)} performs better and provides a throughput capacity of 0.1109. The throughput capacity provided by only coding is 0.1046, while that provided by only forwarding is 0.1096.
From the above discussion, it is quite clear that ANC if designed appropriately can lead to performance benefits. However it is equally evident that a direct application of optimal rules at specific channel conditions may lead to the optimal ANC performance. An optimization problem that formally allows one to design an efficient ANC scheme is presented below. However prior to doing so, one more aspect of the considered problem requires to be highlighted.
For the considered topology, the performance of any NC scheme is given by the tuple {CA,CB}. In this disclosure, we focus on scenarios where the overall performance can be represented as some scalarized version of the vector objective. Specifically, we concentrate on a performance objective that can be defined as a linear combination of the individual capacities provided to A and B:
C=(w)CA+(1−w)CB (8)
where w can represent the bias or preference for a particular receiver. To illustrate the impact of w in determining the optimal function, we again assume that the links are governed by BSC as shown in
Prior to stating the optimization problem that will facilitate the design of efficient ANC, certain preliminaries are developed in the following sub-sections. Assume that the time varying channel model can be described by a quasi-static compound BSC (CBSC). Assume that channel behavior remains static over the duration of transmission of single slot or packet, i.e. all the bits in a single packet are corrupted by an identical BSC. However the BSC parameter may vary across packets to form the compound BSC. Additionally the CBSC we consider can be described by a mass function {circumflex over (f)}(•) defined on some finite discrete subset S of the interval [0,0.5], such that, {circumflex over (f)}(p) represents the probability of the channel being described by a BSC with parameter p. For mathematical convenience we shall often utilize the continuous equivalent {circumflex over (f)}(•) given by
The equivalent channel of a cascade of more than two channels is obtained by a repeated operation of the above equation. From here on we represent feq by f1f2 where represents the operation described by (9). Additionally, since cascades of BSC are commutative, the cascades of CBSC are also commutative. Hence the equivalent channel obtained by cascade of more than two channels can just be represented as f1f2f3 . . . . Additionally we shall often use a shortened notation f1p2 to represent the equivalent channel that is obtained by cascading f1 with a BSC (p2).
Assume a two-hop network topology as done in
Let Λ be set of coding functions that can be employed at a relay node. An exchange rule describes the probability with which a coding function is employed, given the corruption levels in the packets received at the relay node. For the model considered here the coding functions operate only on two packets. Thus for each coding function we define a “rule” as a function
λc
such that λc
As stated previously, in this work we restrict our attention to the functions {ci≡CODING,c2≡FORWARDING}. Since we employ only two possible functions, from here on λc
Two important special cases of exchanges rules are given by
λ(p1,p2)=1∀p1,p2ε[0,0.5] (13)
λ(p1,p2)=0∀p1,p2ε[0,0.5] (14)
where (13) represents a scheme that always employs CODING, while (14) represents a scheme that always employs FORWARDING.
The throughput capacity provided to each receiver is determined by the corruption in the received packets and also by the rate at which the packets are received. The distribution of BERs in the packets received by a node can be mapped to an equivalent reception CBSC, feq. For such a channel, the Ergodic capacity is given by
The equivalent channel will be dependent on the employed exchange rule λ. We shall describe how we can obtain the equivalent channel shortly, but for now let's assume that we have some mechanism to do so. As explained above the throughput capacity will also be determined by the rate at which packets are received. We can measure the rate by evaluating the average number of slots used in each exchange and then taking the reciprocal. Thus the rate, R is given by
Hence the average throughput capacity is given by:
C=τ·R (17)
The equivalent channels required to determine the capacity can be easily determined when the exchange rule is always:
FORWARDING: fA
CODING: fA
In the following we illustrate the determination of the equivalent reception CBSC for an arbitrary exchange rule. To do so, first consider the scenario when fAC and fBC are represented by BSC (pAC) and BSC (pBC). For such a channel conditions the equivalent reception channels are given by:
f
A
eq(p1,p2)=λ(p1,p2)(fCA(pAC*pBC))+
f
B
eq(p1,p2)=λ(p1,p2)(fCB(pAC*pBC))+
The design of an efficient ANC scheme requires the design of an optimal exchange rule λ((p1,p2). The optimal exchange rule in general is a non-parametric function described on the two-dimension space [0,0.5]×[0,0.5]. Thus to make the problem tractable we shall quantize the parameter space [0,0.5]×[0,0.5] into m suitable rectangular intervals. Such interval can be represented as
I
i
≡[p
1i−Δ1i, p1i+Δ1i]×[p2i−Δ1i, p2i+Δ2i]∀iε[1,m]
which represents the probability of receiving a pair of packets corrupted by BSCs with parameter values in the interval Ii. Additionally we restrict our attention to exchange rules that remain constant over each interval. Thus an exchange rule can now be represented by identifying a λi for each Interval. The equivalent reception channels can thus be approximated as
a
i
={tilde over (f)}
i·(Ef
b
i
={tilde over (f)}
i·(Ef
Thus from equations (21) and (22) we can state the problem of designing optimal exchange rules as the following optimization problem:
λ1+
where
α1=(w)αi+(1−w)bi,
are channel dependent constants.
With slight mathematical jugulary it may be feasible to convert the above program into a Linear Program. However this leads to an increase in the total number of variables in the optimization algorithm. Hence we use a slightly different approach, which in practice provides us with a sufficiently fast convergence. We illustrate our approach in terms of the following two-optimization algorithms.
We obtain the solution for problem (23), by solving (25) as a single variable optimization problem on a constrained domain. In our approach, the gradient direction at the boundaries is evaluated to first verify that the optimum is not at a boundary. Following this we adopt the following iterative algorithm:
Initialize: Rleft=0.25, Rright0.3
Interative R1=(F(Rleft)Rleft)Rleft+F(Rright)Rright)
Update: If Rleft<RrightRright:=R1 ELSE Rleft:=Rnew
Stopping Criteria: Stop if |Rleft−Rright|<Δthreshold
Note that the enumeration of the above algorithm requires us to solve an instance of problem (25) in each iteration. Also note that the quantized exchange rule obtained in accordance to the above approach can be applied over the entire parameter space with the help of suitable interpolation.
The time-varying channel models we use to illustrate the utility of the proposed approach are derived from actual 802.11b and 802.15.4 wireless measurements. It is observed that practical radio devices are capable of associating a Signal-to-Silence Ratio (SSR) with each received packet. Empirical measurements thus allow the evaluation of the following relationships:
In practice, it is observed that the SSR/SNR variations can often be approximated by a Gaussian distribution. Thus in this work we concentrate on channel models obtained by assuming a Gaussian distribution for g(SNR).
We compare the performance of ANC with only FORWARDING and only CODING in terms of the ratio of the throughput capacities provided by each of the schemes. We focus on w=0.5 and hence comparison in terms of throughput capacity are sufficient to describe the performance of both the receivers. Thus,
The above description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses.
This application claims the benefit of U.S. Provisional Application No. 60/849,329, filed on Oct. 4, 2006. The disclosure of the above application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60849329 | Oct 2006 | US |