A Wireless Network Coding Scheme with Forward Error Correction ...

3 downloads 0 Views 472KB Size Report
A Wireless Network Coding Scheme with Forward. Error Correction Code in Wireless Mesh Networks. Jeong-Yoon Lee, Woo-Jae Kim, Joo-Young Baek, and ...
A Wireless Network Coding Scheme with Forward Error Correction Code in Wireless Mesh Networks Jeong-Yoon Lee, Woo-Jae Kim, Joo-Young Baek, and Young-Joo Suh Department of Computer Science and Engineering Pohang University of Science and Technology (POSTECH), Pohang, Korea Email: {jylee9, hades15, nalsunia, yjsuh}@postech.ac.kr

Abstract—Wireless network coding (WNC) has been considered as a promising solution with its capability of improving the overall performance of wireless mesh networks. A problem caused when WNC is employed in multi-rate wireless networks is that the link status between the relay node and intended receivers of a coded packet is mutually different. Even though there are links that support higher transmission rates, the relay node must transmit the coded packet at the lowest transmission rate among intended links’ rates for the successful reception at all intended receivers. In this paper, we propose a WNC scheme that is combined with Forward Error Correction (FEC) to alleviate the problem explained above. The proposed scheme tries to transmit coded packets with a transmission rate higher than the lowest transmission rate so that the time required to transmit coded packets is reduced. However, it may increase the error rate. To compensate for the increased error rate, we use adaptively controlled FEC code. Our simulation study results show that the proposed scheme can increase the network coding gain compared to existing schemes.

I. I NTRODUCTION Recently, the in-network data processing technique called network coding is receiving a lot of attention from many researchers. Unlike traditional networks in which intermediate routers simply forward a copy of a packet, in network codingenabled networks, intermediate routers merge several packets into one packet. This results in the increase of network capacity by reducing the number of transmissions. After the concept of network coding had been introduced by Ahlswede et al. [1], many research results regarding to the informationtheoretical aspects [2], [3] and practical aspects [4], [5] have been proposed. When network coding is applied in wireless environments (it is called wireless network coding (WNC)), we can get an additional gain by exploiting the inherent broadcast nature of wireless transmissions. Fig. 1(a) shows a simple example of WNC. There are two traffic flows: One flow from node A to node B and the other flow from node D to node C. By using the traditional copy-and-forward method, the number of transmissions needed for the delivery of one packet for each flow is at least four: A −−→ R, D −−→ R, R −−→ B, PA

PD

PA

and R −−→ C, where Px indicates a packet originated from PD

node x. When WNC is employed, the number of transmissions can be reduced to three by combining (e.g., Exclusive-OR (XOR)) two packets into one and then broadcasting it: A −−→ PA

R, D −−→ R, and R −−−−−→ (B, C). Since C is within PD

PA ⊕PD

3$

$

%

$

5 &

3'

(a) Single-rate

3$ 0ESV

0ESV

'

&

5

0ESV

%

0ESV

3'

'

(b) Multi-rate

Fig. 1. Examples of wireless network coding. The relay node R mixes two packets from each flow into one coded packet and broadcasts it.

A’s transmission range, it can overhear PA when the packet is transmitted from A to R. Thus, when C receives PA ⊕ PD , it can decode PD by XORing the overheard packet with the coded packet (i.e., PA ⊕ (PA ⊕ PD )). In the same way, B can decode the packet by calculating PD ⊕ (PA ⊕ PD ). WNC can be categorized according to the following two criteria. First, according to the layer that performs network coding operations, it can be classified into symbol-level network coding at the Physical (PHY) layer (i.e., analog network coding) [6], byte-level network coding at the Medium Access Control (MAC) layer [7], and packet-level network coding between the MAC layer and IP layer [4]. Second, according to the place where packets are decoded, it can be classified into hop-by-hop network coding [4] and end-to-end network coding [8]. In hop-by-hop network coding, the coded packet is decoded at the receiver of each hop on the delivery path, while in end-to-end network coding, it is decoded only at the destination of the packet. In this paper, we focus on the packetlevel hop-by-hop network coding. In multi-rate multi-hop wireless networks, the transmission rate of a coded packet is limited by the link with the lowest transmission rate among links with intended receivers. Fig. 1(b) shows a similar scenario to Fig. 1(a) in multi-rate wireless networks. We assume IEEE 802.11a-based networks with symmetric links, and assume that an arbitrary link adaptation mechanism such as Automatic Rate Fallback (ARF) operates at the MAC layer of each node. When node R in Fig. 1(b) broadcasts PA ⊕ PD to the intended receivers (i.e., B and C), it should transmit the coded packet at 24Mbps rate1 that is the lowest transmission rate between R and the intended receivers so that all the intended receivers can receive the coded packet. When the intermediate router combines three or more packets, this problem becomes more serious since the link with the 1 IEEE 802.11a specifies eight transmission modes, which provide 6, 9, 12, 18, 24, 36, 48, and 54Mbps transmission rates.

978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.

lowest transmission rate restricts all other links’ transmission rates. We call this the unmatched transmission rate problem. In this paper, we propose a WNC scheme combined with Forward Error Correction (FEC) to mitigate the unmatched transmission rate problem. The basic idea of the scheme is to transmit coded packets with a higher transmission rate (i.e., not the lowest transmission rate) and compensate for the increased error rate using the FEC code. Since the size of a FEC-coded packet increases as a lower FEC coding-rate is used, it is important to select the proper ‘transmission rate and FEC coding rate pair’ to reduce the time needed to transmit coded packets and to provide a certain level of reliability. The proposed scheme controls the FEC coding rate adaptively within a set of predefined FEC coding rates using feedbacks from the receiver and timers. The rest of this paper is organized as follows. Section II provides related work. Section III describes the system model and the proposed scheme. Section IV provides the results of our performance evaluation study. Then, we conclude this paper in Section V. II. R ELATED W ORK A. Wireless Network Coding

By using superposition coding, a sender can simultaneously send independent messages to multiple receivers that have different link status with one another. The integrated packet mixing algorithm that jointly optimizes the superposition and network coding is presented. iPack provides 100% and 18% improvements in terms of throughput gain compared to no WNC and multi-rate extension of COPE, respectively. B. FEC for Reliable Wireless Link There have been research efforts to make the wireless links more reliable using FEC. In [10], a MAC-level FEC scheme for IEEE 802.11 is proposed for more reliable transmissions of data frames. In this scheme, the payload of MPDU (MAC Protocol Data Unit) is encoded into several FEC blocks using the Reed-Solomon (RS) code. Additionally, by the retransmission combining technique, the sender can retransmit only the FEC blocks that are not decoded at the receiver side. Riemann et al. [11] added redundant bits to IEEE 802.11 frames so that the transmission range increases. Results from the implementation on a real testbed show that the range of an outdoor line-ofsight link can be extended by 70%. III. P ROPOSED S CHEME

COPE [4] is the first implementation of a practical WNC protocol in IEEE 802.11-based wireless mesh networks. Its major features are opportunistic listening, opportunistic coding and neighbor state learning. For opportunistic listening, COPE exploits the broadcast nature of the wireless medium. In order to have more coding opportunity at the relay node, the neighbors of the relay node buffer overheard packets as many as possible to increase the decoding probability of the coded packet. Opportunistic coding is to combine (i.e., XOR) packets as many as possible, if the receivers of the coded packet can decode it with a probability above a certain level. For the information about neighbors, COPE uses a reception report message, which contains the list of currently buffered packets. Other important features of COPE are pseudo-broadcast and asynchronous acknowledgement. Since the broadcast mechanism specified in IEEE 802.11 does not provide reliable transmissions, the coded packet is transmitted using a unicast frame, which provides a synchronous ACK, destined to one of the intended receivers. The COPE header that is placed between the MAC header and IP header indicates the whole list of receivers. The intended receivers that overheard the unicast frame of the coded packet acknowledge the receipt and successful decoding of the coded packet using the same transmission method as data packets asynchronously. COPE improves the network performance by 38% over no WNC for TCP traffics and 200%∼300% for UDP traffics. In a mesh access network, COPE provides 5%∼15% (max. 70%) improvements. However, COPE considers only single-rate environments. iPack [9], which takes the multi-rate environment into consideration, proposes a two-layer WNC architecture for high throughput wireless mesh networks. It combines XOR-based WNC (such as COPE) and physical layer superposition coding.

A. System Model and Assumptions We consider a wireless mesh network where each node is equipped with an IEEE 802.11a device, although the proposed scheme is applicable to IEEE 802.11b/g/n. The proposed scheme uses XOR-based WNC and adopts several mechanisms of the COPE protocol such as pseudo-broadcast and asynchronous acknowledgement. When a relay node on the routing path of each flow obtains the opportunity to transmit a packet, it selects packets to be combined from its output queue. We define a set of those packets as Coding Packet. In addition, we define a set of next-hop nodes for each packet that belongs to Coding Packet as Coding Group, which is a subset of the relay node’s neighbors. The relay node generates the coded packet (PXOR ) by XORing all packets in Coding Packet. Specifically, if |Coding Packet| is N, then PXOR is calculated by PXOR = P1 ⊕ P2 ⊕ · · · ⊕ PN −1 ⊕ PN , where Pi is ith packet in Coding Packet (1 ≤ i ≤ N ). To generate Coding Packet, the information on the decodability of the coded packet for each node in Coding Group must be needed (i.e., the information about which node has which packets). We assume that such information is provided by each node using the neighbor state learning mechanism (e.g., the reception report message of COPE). After the generation of Coding Packet, the relay node checks the current operating transmission rate of links between itself and each neighbor in Coding Group, and then it selects the transmission rate of PXOR . Obviously, in order to receive the coded packet successfully at all intended receivers, the relay node must transmit the coded packet at the lowest transmission rate among the intended links’ rates. After the relay node

978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.

1HLJKERU

7[ PRGH

Fig. 2.

min T (L(PXOR

(m,d)

s.t. P (L(PXOR

RS(d) ),

RS(d) ),

m)

Smin , m, d) ≤ P ER,

where function L is the length of a given packet, function T is the time needed for the transmission of data with given length at transmission rate m, and function P is the packet error probability under the given link status. Namely, the problem is to find the transmission rate and FEC coding rate pair minimizing the time needed for the transmission of the coded packet with the packet error probability below the threshold. C. Wireless Network Coding with FEC To solve the defined problem, the sender should know the whole information about the current link status at the receiver side. In addition, the sender should calculate the transmission time of all possible RS-coded packets with all available transmission rate and FEC coding rate pairs. In real environments, it is very difficult to know all link status and calculate the transmission time. In this section, we propose the WNC scheme with adaptive FEC control to increase the number of packets transmitted in one coded packet transmission to reduce the total transmission time of all packets in the output queue. When the proposed scheme dequeues a packet at the head of the output queue, the transmission mode of the RS-coded packet is set to the mode between the sender and the next-hop of the dequeued packet. Then, the proposed scheme checks all packets in the output queue whether they can be encoded with one of predefined FEC coding rates or not for successful transmissions. Once the proposed scheme checks and selects suitable packets, then it encodes the selected

       

Example of FEC state table for the relay node R in Fig. 1(b). 7LPHU H[SLUHG

1R )(&

Smin = min (S1 , S2 , S3 , · · · , SN ), determines the transmission rate of the coded packet. Thus, transmitting the coded packet at a higher transmission rate than the currently determined transmission rate by Smin results in reducing the time needed for the reception of the coded packet at all nodes in Coding Group. However, this transmission increases the packet error probability. Thus, we exploit the RS code, which is the most widely used FEC code, to lower the packet error probability. PXOR RS(d) is the packet generated through encoding PXOR using the RS code at coding rate d. As a lower FEC coding rate is used, the length of PXOR RS(d) becomes longer. Therefore, we define the problem as follows:

1R)(& 1R)(& 1R)(& 1R)(& 1R)(& )(&/HYHO )(&/HYHO 1R:1&





The proposed scheme aims to mitigate the unmatched transmission rate problem. Before describing the proposed scheme, we first formulate the problem. Let Si be the current link status (e.g., signal-to-noise ratio) between the relay node and the ith node in Coding Group. The worst link status, which is obtained by





B. Problem Description

5HPDLQLQJ WLPH





&

       

&XUUHQWVWDWH





pseudo-broadcasts the coded packet, it waits for an acknowledgement from the intended receivers (i.e., the neighbors in Coding Group) within a timeout period. Whenever the relay node receives an asynchronous ACK from the intended receivers, the packet is removed from the output queue.

)(& /HYHO

)(& /HYHO

)(& /HYHO

1R :1&

%RRVWHG 1R DV\QFKURQRXV $&. UHFHLYHG

Fig. 3.

State transition of FEC for adaptive FEC control.

packets to one RS-coded packet with a selected FEC coding rate, and then transmits (i.e., pseudo-broadcast) to the nexthop of the dequeued packet with a list of intended receivers in the WNC subheader. We now describe FEC states that corresponds a finite set of FEC coding rates. Each relay node maintains the FEC state table, which manages the current FEC states and the associated timers for the neighbors. Fig.2 shows an example of the FEC state table. FEC states are managed individually for each transmission mode (i.e., a relay node maintains eight current FEC states and timer for each neighbor). In the FEC state table, each entry (i.e., the state for a neighbor and transmission mode) becomes one of the following five available FEC states: No FEC, No WNC, and three FEC Levels (Level-1, Level-2, and Level-3). No FEC state represents that adding redundant bits is not necessary for the corresponding neighbor and transmission mode. No WNC state represents that there is no feasible FEC coding rate to be achieved FEC gain. FEC Level-1, FEC Level-2, and FEC Level-3 states represent that adding redundant bits at specified FEC coding rates is necessary. We use RS (255, 247) for FEC Level-1, RS (255, 239) for FEC Level-2, and RS (255, 223) for FEC Level-3. These three FEC levels contain 8, 16, and 32-byte redundant information in each 255-byte FEC block. To control the FEC coding rate adaptively, we define the FEC state transition rule shown in Fig. 3. Initially, the FEC state for each FEC state table entry starts from the No FEC state. Then, if a specific neighbor becomes a member of Coding Group and it also has the lowest transmission mode, then the FEC state for the corresponding entry is changed to FEC Level-1 (i.e., boosted). Whenever the relay node does not receive an asynchronous ACK from one of the intended receivers within the timeout period, its state is changed to the right side state (e.g., from FEC Level-1 to FEC Level-2). That is, the current FEC coding rate is insufficient to avoid packet errors, and thus the relay node uses a lower FEC coding rate (i.e., more redundant bits) for the corresponding neighbor and transmission mode. When the FEC state for the entry becomes No WNC state, it represents that there is no feasible

978-1-4244-4148-8/09/$25.00 ©2009 This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2009 proceedings.



$OJRULWKP  &RGLQJRSSRUWXQLW\FKHFNSURFHGXUH 'HTXHXH+HDGB3DFNHW &RGLQJB3DFNHW  ^+HDGB3DFNHW`  &RGLQJB*URXS  ^1H[WKRS +HDGB3DFNHW `  )(&B/HYHO ^` 6WDUWSURFHGXUH 7DUJHWB'HVW  1H[WKRS +HDGB3DFNHW  7DUJHWB7[B0RGH FXUUHQW7[PRGHIRU7DUJHWB'HVW IRUSNWL  WR0GR     0 ȥ QXPRISNWVLQRXWSXWTXHXH LI QH[WKRS 3L  LVLQ&RGLQJB*URXSWKHQ FRQWLQXH LI  DOOGHFRGLQJSURERI 3;25 † 3L  DWHDFK&RGLQJB*URXSDQG QH[WKRS 3L  t 3UREB7KUHVKROG  WKHQ  )(&B6WDWH L  )(&B6WDWH QH[WKRS 3L 7DUJHWB7[B0RGH  LI )(&B6WDWH L LV1R:1&  WKHQ FRQWLQXH HOVHLI )(&B6WDWH L LVQRW1R)(&  WKHQ )(&B/HYHO )(&B/HYHO ‰^)(&B6WDWH L `  HQGLI &RGLQJB3DFNHW &RGLQJB3DFNHW ‰^3L `  &RGLQJB*URXS &RGLQJB*URXS ‰^QH[WKRS 3L `  HQGLI HQGIRU G  WKHORZHVW)(&FRGLQJUDWHLQ)(&B/HYHO UHWXUQ&RGLQJB3DFNHW&RGLQJB*URXS7DUJHWB7[B0RGH 7DUJHWB'HVW G  (QGSURFHGXUH

 FEC coding rate and the corresponding neighbor cannot be a member of Coding Group during a timeout period. Each FEC state has its timer that indicates the remaining time for the transition to the left side state (e.g., from FEC Level-3 state to FEC Level-2). That is, the timer expiration at the current FEC state means that the current FEC coding rate is sufficient to avoid packet error and thus the relay node attempts to reduce redundant bits by using a higher FEC coding rate. This timerbased state transition is used in order to reduce the overhead of redundancy.

When the relay node obtains a transmission opportunity, it checks whether the coding opportunity exists or not by examining the packets in its output queue and the FEC states of its FEC state table. Before the coding opportunity check procedure, the packet at the head of the output queue (Head Packet) is dequeued and inserted into Coding Packet. The next-hop of Head Packet (Target Dest) is also inserted to Coding Group. The coding opportunity check procedure investigates the packets of the output queue one by one. The iteration for each packet consists of the following steps: Step 1: The relay node checks whether the next-hop of the packet is in Coding Group or not. If two packets that have the same next-hop are XORed, the next-hop will not be able to decode them. Therefore, if the next-hop of the packet already exists in Coding Group, then the current iteration stops here. Step 2: The relay node checks whether the decoding probabilities of the coded packet at all next-hops in Coding Group are higher than the threshold or not, when the packet is inserted into Coding Packet. This ensures that all intended receivers are able to decode the coded packet. Thus, if the condition is

7LPH RI WUDQVPLVVLRQ

&RGHG SDFNHW DUULYDO

'HTXHXH WKH SDFNHW DW KHDG RI RXWSXW TXHXH

)(&GHFRGH 56 DQG H[WUDFW 03'8

&RGLQJ RSSRUWXQLW\" $OJ 

1R

7UDQVPLW QRUPDOO\