The present invention generally relates to a corrupted packet toleration and correction system, and more particularly to a system that employs a combination of Hybrid Error Erasure LDPC (HEEL) with a cross-layer approach.
Telecommunication networks typically employ protocols for transmitting packets between network nodes, with a receiver at a network node passing packets ultimately destined for that network node up to an application layer for decoding. Reed-Solomon (hereinafter “RS”) codes are typically employed for this purpose. Unlike conventional, non cross-layer, protocols, which usually drop all corrupted packets due to bit errors, cross-layer protocols (e.g., MAC-transport) and their corresponding “channels” exhibit both errors and erasures at their outputs. The nature of these errors and erasures is a function of the particular cross-layer scheme used.
It is well known that the erasure correcting capability of any code is much better than its ability to correct symmetric errors. Thus allowing the existence of corrupted packets at the application layer can lead to a reduction in throughput and channel capacity. However, if the number of errors in the corrupted packets is not large, then the total number of channel failures is reduced. This reduction in total number of failures can lead to an increase in channel capacity. Thus there is an inherent tradeoff between allowing and disallowing the relay of corrupted packets to the application layer. One pressing need is an identification of the channel conditions under which the existence of corrupted packets at the application layer can be preferred over dropping them entirely.
As the cross-layer protocols permit the occurrence of errors at the application layer, any Forward Error Correction scheme (hereinafter “FEC”) used in conjunction with these protocols must be capable of hybrid erasure and error recovery. Though Low-Density Parity Check (hereinafter “LDPC”) codes for channels with only errors and for channels with only erasures have been extensively studied, the design and performance of these codes in presence of erasures as well as errors is substantially unexplored. In addition, the usage of graph codes at the application layer has been limited to FEC designs for bulk-data transfer. Thus, another pressing need is an identification of the modifications required to be made to the LDPC decoding processes in order to enable them to perform hybrid erasure and error correction.
In accordance with the present invention, a corrupted packet toleration and correction system includes a receiver adapted to employ a cross layer protocol that distinguishes between corrupted packets and error-free packets, and tolerates corrupted packets by making side information about corrupted packets available to an application layer. In another aspect of the present invention, a decoder of the application layer provides hybrid decoding that simultaneously handles errors and erasures and takes advantage of the side information, including employing Hybrid Error Erasure LDPC (hereinafter “HEEL”) based codes over short packet blocks in the cross layer protocol.
The combination of HEEL with a cross-layer approach according to the present invention is advantageous over previous corrupted packet toleration and correction systems because the conditional retention and use of the corrupted packets with side information at the application layer results in a dramatic increase in overall capacity. Further areas of applicability of the present invention will become apparent from the detailed description and drawings provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein:
The following description of the preferred embodiment is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses.
In order to keep the discussion generic and not dependent on a particular implementation or standard, the following discussions primarily consider three communication schemes: (a) transmission over erasure channels, which represents conventional transport and/or MAC protocols that do not forward corrupted packets to higher layers (e.g., due to bit errors not corrected by the physical layer); (b) transmission in presence of erasures and errors using a cross-layer design (hereinafter “CLD”), which is representative of cross-layer schemes that may pass corrupted packets to higher layers; and (c) side-information enhanced transmission in presence of erasures and errors using a cross-layer design (hereinafter “CLDS”).
The present teachings analyze the tradeoff involved in allowing corrupted packets to be relayed to the application layer. Channel conditions under which a cross-layer approach can provide improvement are identified. The capacity improvements are quantified, and it is established that dramatic increase in capacity can be achieved in many realistic scenarios by using a cross-layer approach. Moreover it is shown that, contrary to the conventional packet based schemes, HEEL based codes can be employed over short packet blocks in a cross-layer scenario. The decoding process is modified to provide hybrid decoding and also to take advantage of side information. Thus, the combination of HEEL with a cross-layer approach provides the best option among the considered schemes.
Referring to
Thus, the communication channels under consideration can be characterized as follows: (i) δ is the probability that at least a single bit is in error in the header and/or the data payload. Thus δ is the probability of a packet being dropped in a conventional (non-cross layer) protocol because at least one of the check sums, CRC-HDR and/or CRC-DATA, was not satisfied; (ii) λ is the probability that the packet header contains at least a single bit in error. Thus λ is the probability of packet being dropped in the cross-layer schemes because the check CRC-HDR was not satisfied. (Note that this event could occur regardless if there is an error within the packet data or not.) Thus δ−λ represents the probability of a corrupted packet being delivered to a CLD/CLDS channel receiver; (iii) ε is the conditional probability of a bit in the data payload being in error given that the checksum CRC-HDR is satisfied and checksum CRC-DATA has failed. Given a corrupted packet at a CLD/CLDS receiver, ε represents the probability of having a random bit selected from that packet to be in error. Thus the probability of bit error is given by (δ−λ)·ε. Let p be the conditional probability that a bit in an un-erased packet is in error. By definition of the above parameters it can be deduced that p=(δ−λ)·ε/(1−λ); (iv) For a cross-layer protocol with side-information (e.g., CLDS) let Z be a discrete random variable that takes on three possible outcomes: SZ {0, 1, ?}. Where, (i) Z=? if the header information 22 contains at least one single bit error and CLDS drops the packet. Thus, p(Z=?)=λ (ii) Z=0 if a packet contains no errors in the header information 22 but contains at least a single bit error in the data payload 24. Thus, p(Z=0)=(δ−λ) and (iii) Z=1 if neither the header information 22 nor the data payload 24 contain even a single erroneous bit. Thus, p(Z=1)=(1−δ).
Turning now to
C
CON=1−δ (1)
C
CLD=(1−λ)·(1−hb(p)) (2)
C
CLDS=(1−δ)+(δ−λ)·(1−hb(ε)) (3)
Thus in order to clearly establish the channel parameters under which a particular protocol offers better performance, a couple of lemma's are proven immediately below.
Lemma 1: CCON>CCLDhb(p)>(p/ε),
Lemma 1 tells us that for a given δ,λ there exists a threshold εmin such that if the level of corruption in the corrupted (but not dropped) packets is greater than this threshold then the conventional schemes shall perform better than the cross-layer scheme. Thus εmin divides the parameter space into two separate regions and thus demarcates the region over which cross-layer schemes can perform better than the conventional scheme. In
Lemma 2: a) CCLDS≧CCON with equality occurring iff ε=0.5 or δ=λ. (b)CCLDS≧CCLD with equality occurring iff δ=λ.
Proof:
a) Since (δ−λ)·(1−hb(ε))≧0. Equality occurs iff (δ−λ)·(1−hb(ε))=0, i.e. iff δ=λ or hb(ε)=1 i.e. ε=0.5.
b) This result can be proved by using the following fact: If f(x) is strictly monotonically decreasing over [a,b] then
Notice that hb(x) is strictly monotonically decreasing for ∀xε[0,1]. As 1−λ≧1−δ it can be shown that p≦ε, which implies
Substituting for p we can conclude that (1−δ)+(δ−λ)·(1−hb(ε))≧(1−λ)·(1−hb(p)). Note that equality can occur only when p=ε, which is possible iff δ=1. Thus the capacity of the CLDS scheme is provably better than both CLD and CON.
note: a*b=a·(1−b)+b·(1−a) by definition
note: the operator “*” is s.t. p1*p2=p1·(1−p2)+p2·(1−p1) and
The term “multi-hop” is used to refer to microwave links requiring two or more links to get to a destination, which allows a link to extend distance, as well as move the link path around buildings or mountains. Thus, a multi-hop wireless channel can be represented as a cascade of channels. For example, the conventional scheme can be represented by a cascade of BEC channels, where each link is represented by a distinct BEC channel in the cascade. Similar cascades can be made for the cross-layer schemes too. Thus expressions for channel capacities over multiple hops are given by equations (4), (5), (6). Results for multiple-hops in
The following substitutions in equations (4), (5), (6) convert them into equations (1), (2), (3) respectively. Thus it is sufficient to maintain the discussion in terms of δ, λ, p, ε from here on. Transmission over multiple-hops can be represented by higher error/erasure values.
Before proceeding further, it is prudent to pay some attention to dependence of the aforementioned parameters on the link-layer channel. These parameters, δ,λ,ε are parameterized below; however these parameters are not actually independent of each other and are in fact a function of the underlying link-layer channel. Assuming a specific link-layer channel can indeed lead to more precise conclusions and render some of the regions (combination of δ,λ,p) described below unachievable. However, parameterizing the channels as below allows conductance of a more generalized analysis and, whenever necessary, δ,λ,p can be expressed in terms of the under-lying channel to derive more precise expressions. Further below, an example of such analysis is provided. However, the remainder of the present teachings continue to assume that δ,λ,ε are independent.
Let the h and d represent the number of header and payload bits respectively. If the link-layer channel is assumed to be a BSC channel with cross-over probability q then it can be said that δ=1−(1−q)(h+d),λ=1−(1−q)h and ε=q. Thus, the channel capacities are given by CCON=(1−q)(h+d),CCLD=(1−q)h·(1−hb((1−(1−q)d)·q)), and CCLDS=(1−q)h·(1−((1−(1−q)d)·hb(q))).
Lemma 3: ∀qε(0,0.5), ∃dmin≧0 s.t, d≧dminCCLD≧CCON equality occurs iff d=dmin.
Note: (1−(1−q)d)≧hb((1−(1−q)d)·q)CCLD≧CCON
The above lemma can be proved by showing that the equation (1−(1−q)d)=hb((1−(1−q)d)·q) can at maximum have a single non-negative solution dsol. Moreover it should be observed that lim hb((1−(1−q)d)·q)=hb(q) which is less than d→∞lim (1−(1−q)d)=1∀qε (0,0.5). Thus if a solution to the above equation does not exist, it can be concluded that CCLD≧CCON, while if a solution does exist then ∃d>dsols.t.(1−(1−q)d)>hb((1−(1−q)d)·q). This statement proves the above lema. The value of dmin, even for q=0.4, is less than 20 bytes. Thus, if the link-layer channel resembles a BSC, the CLD scheme is better than CON almost always.
The deduction made above can be generalized by considering a channel over which all the packet transmissions are not necessarily susceptible to errors. Such a behavior is possible on time-varying channels and over wireless networks with dynamic topologies. Thus, consider a channel over which only a fraction η number of the total transmitted packets are susceptible to errors. When packet transmissions are susceptible to errors, the behavior of the link-layer channel can be assumed to be equivalent to a BSC with crossover probability of θ. For such a channel it can be shown that ε=θ,δ=η−(1−θ)(h+d) and λ=η−(1−θ)h. Thus it can be shown that the channel capacities of the three schemes are
It should be observed that the expressions for the BSC example can be obtained from the above equations by setting η=1.
Thus it is again evident that a cross-layer approach can provide significant improvements in capacity. The examples considered above predict that it is not possible to achieve throughput improvements on account of a cross-layer channel when the number of errors in a packet is greater than 1%. Limitation of an analysis based on a specific link-layer channel model should be noted.
LDPC based FEC performance is analyzed below. Though LDPC (and other similar graph codes) codes have been extensively employed for a variety of channels, their usage at the application layer over computer networks has been limited. The current FEC schemes treat an entire packet as a single symbol. Since an efficient design of a sparse graph code requires the length of the codeword to be large, FEC blocks at the application layer also have to include a large number of packets to provide good performance. Thus the research at the application layer has primarily concentrated on design of efficient codes for transfer of bulk data. The advantage of using a symbol of size smaller than the entire packet is minimal, if the channel failures consist only of burst erasures on account of packet drops. However, in a cross-layer scenario a significant advantage can be gained by employing a code based on a smaller symbol size.
Accordingly, all the LDPC based FEC simulations discussed here combine all the bits in a single packet block to form a single codeword. Thus, a single (61440, 40960) LDPC code is used in the simulations discussed herein. A packet block-length of 30 is employed, and therefore each packet is 256 bytes long. After encoding, the bits in the codeword are remapped in such a way that the packet level FEC is systematic. The packet block is systematic and includes 20 message packets and 10 redundant packets. The maximum number of iterations is maintained to be 25, and stopping criteria checking for a codeword at the end of each iteration are used; thus, undetected decoding errors are avoided.
The same graph structure is chosen for all codes below. The emphasis of the discussion here is on the decoding procedure and the relative performance under different protocol schemes. Thus, a regular LDPC code is used with 3 checks per message bit.
On occurrence of a block decoding failure, the channel decoder is unable to recover all the dropped/corrupted packets. However as the FEC block is systematic, message packets that can be identified as uncorrupted can still be forwarded to the eventual application. However, in a cross layer design like CLD, information about CRC-DATA is not available if a decoding failure is encountered; an FEC implementation on CLD drops the entire packet block.
Returning to
The LDPC decoding process used in conjunction with the conventional scheme is a simple bit—flipping process. However, the decoding process used in conjunction with the cross-layer protocols in the preferred embodiment is required to handle simultaneous decoding of errors and erasures. Yet, as the messages passed in the LDEE decoding process can take only three possible values; the decoding capability of these codes is compromised. Thus, a decoding process HEEL is employed by decoder 30, which is based on a belief propagation technique, and which does not constrain the messages passed along the graph edges to a few finite discrete values as in prior studies. In such prior studies, the erasures are handled in a special way by always keeping them undecided about being a 0/1. However, there is no need to treat the erasure as a special symbol when used along with belief propagation. Thus, HEEL uses the sum-product process for simultaneous correction of erasures as well as errors by setting all the erased bits to 0 and setting the a priori probability of the erased bit being in error to 0.5.
Side-information for improved decoding efficiency is discussed as follows. In
The present teachings analyze the tradeoff involved in allowing corrupted packets to be relayed to the application layer. Channel conditions under which a cross-layer approach can provide improvement are identified. The capacity improvements are quantified, and it is established that dramatic increase in capacity can be achieved in many realistic scenarios by using a cross-layer approach. Moreover it is shown that, contrary to the conventional packet based schemes, LDPC (HEEL) based codes can be employed over short packet blocks in a cross-layer scenario. The decoding process is adapted to provide hybrid decoding and also to take advantage of side information. Thus it is shown that the combination of HEEL with a cross-layer approach provides the best option among the considered schemes.
In some embodiments, a number of packet header updates is determined and recorded in a header field of the packet header. For example, packet checksums (i.e., CK-DATA) are recalculated at each hop taken by a packet in a communication network, and the packet checksums are updated at each of the hops. Storing a count of checksum updates in the header field in the packet header of the packet over multiple hops ensures that this information is available for use by an end receiver to determine corruption status of the packet payload. For example, the end receiver can access the packet header of the packet received over the communications network and read the header field of the packet header to determine the number of checksum updates. Then, the end receiver can use the number of checksum updates to determine corruption status of the payload of the packet. For example, let n=number of updates: Use n in one or more of the following ways:
1) Incorporate an application dependent threshold t such that if n is greater than a threshold t just drop the packet;
The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. Such variations are not to be regarded as a departure from the spirit and scope of the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US06/18188 | 5/11/2006 | WO | 00 | 1/5/2009 |
Number | Date | Country | |
---|---|---|---|
60679960 | May 2005 | US |