Opportunistic Scheduling for Wireless Network Coding - CiteSeerX

10 downloads 19934 Views 129KB Size Report
Center for TeleInfrastructure (CTIF), Department of Electronic Systems, Aalborg University ..... We call the above scheduling method as an opportunistic.
Opportunistic Scheduling for Wireless Network Coding Hiroyuki Yomo and Petar Popovski Center for TeleInfrastructure (CTIF), Department of Electronic Systems, Aalborg University Niels Jernes Vej 12, DK-9220, Aalborg, Denmark Tel/FAX: +45 96359821/+45 98151583 e-mail:{yomo,petarp}@es.aau.dk

Abstract— This paper addresses a scheduling problem for wireless network coding which has been recently proposed as a novel method to enhance the throughput in wireless networks. The wireless network coding involves broadcast transmission of a network–coded packet which contains unicast data to several receiving nodes. These receiving nodes have time–varying fading links to the transmitting node, which can generate different instantaneous conditions for different links. In this paper, we introduce an opportunistic scheduling for such a wireless network coding, which selects a set of nodes whose packets are network– coded as well as the data rate for the broadcast transmission according to the instantaneous link conditions. We analyze the average capacity of such a scheduling, and discuss the impact of different parameters on the average capacity. We show that the opportunistic scheduling can maximize the average capacity by choosing the appropriate set of network–coded nodes according to the instantaneous link conditions. We also discuss the practical factors which can additionally affect the best scheduling strategy for wireless network coding. Index Terms— wireless network coding, time–varying fading, rate adaptation, opportunistic scheduling

I. I NTRODUCTION Wireless network coding has recently gained much attention as a means to enhance the overall throughput in a wireless multi–hop network that supports multiple communication flows [1][2][3][4]. The basic idea is that a relay node can combine several packets, intended for different destinations, in a single packet that is broadcasted. Each destination extracts the desired packet from the combined (network–coded) packet by using some previous knowledge of the other packets. Thus, the relay is saving packet transmissions, which results in throughput improvement. The most canonical example is the network coding with XOR operation at the relay node [1][2][5]. From a higher layer perspective, the combined packet is carrying multiple unicast transmissions, as each destination node will extract different information from the combined packet. Nevertheless, the relay should ensure a reliable broadcast of the combined packet to all destinations. Clearly, if the instantaneous conditions are identical for all links between the relay and the destinations, the best scheduling strategy is to combine as many packets as possible from different nodes into a network-coded packet. However, in a practical situation the links between the relay and the destinations are heterogenous, meaning that different links can have different instantaneous link conditions due to the time–varying fading. In order to take advantage of such multiple fading links,

the relay should apply opportunistic scheduling and transmit packet to the nodes that have better instantaneous signal–to– noise ratio (SNR). Such an opportunistic scheduling has been extensively investigated for unicast as well as broadcast data transmission [6][7][8]. In normal unicast case where single destination node is opportunistically chosen according to the instantaneous SNR, the throughput gain can be obtained from the fact that the data rate is always adapted to the highest SNR. On the other hand, if a packet needs to be broadcasted to a group of nodes, then the data rate at which the packet is transmitted should be selected according to the user with the worst SNR in the group to ensure the reliable broadcast. Such an effect in the group transmission decreases the overall throughput as compared to the case when the transmission is adapted to the best SNR. Clearly, when both opportunistic scheduling and network coding are applied, two opposing mechanisms will make an effect on the overall throughput. On one hand, by combining packets from more nodes into a network–coded packet, the relay saves more number of transmissions and therefore increases the overall throughput. On the other hand, the relay should send the combined packet at the rate of the worst SNR among the intended destinations. The more nodes in the group whose packets are combined into a broadcast packet, the higher the probability that the worst SNR in the group has a low value. Thus, there is a trade–off between the network coding effect and the rate adaptation for the broadcast transmission. The above observation motivates us to investigate the appropriate opportunistic scheduling to maximize the throughput when the network coding is applied. In this paper, we focus on the simplest wireless network coding based on XOR operation at the relay node. We introduce an opportunistic scheduling strategy for such a wireless network coding, which decides a set of nodes whose packets are XORed as well as the data rate for its broadcast transmission according to the instantaneous link conditions. We also derive the theoretical expressions for the average capacity (bits/sec/Hz) obtained with the fixed number of nodes whose packets are XORed, and discuss the impact of different scheduling parameters on the average capacity. We show that the appropriate set of XORed nodes should be opportunistically chosen according to the instantaneous link conditions in order to maximize the average capacity. We also address the factors which can additionally affect the achieved throughput in a practical setting.

Traffic flow from A to C through B

II. R ELATED W ORK The body of literature related to network coding has started to grow significantly since the introduction of the concept [9], where the application is multicast in wired networks. An extensive bibliography of the network coding is maintained at [10], while a detailed account of the information-theoretic aspects of network coding can be found in [11]. The researchers have very recently noted that the unreliability and the broadcast nature of the wireless medium represent a fertile ground for developing innovative communication modes based on network coding [12][13][14][15]. One of the most representative applications of wireless network coding is the enhanced communication in case of bi-directional (multidirectional) unicast traffic [1][2][3][4][5][16]. While the practical implementation for wireless network coding has been made with XOR operation in [1] and [2], there have been several proposals for different transmission modes such as amplify–and–forward (AF) [4][16] and denoise–and–forward (DNF) [3]. The opportunistic scheduling for diverse wireless networks, which selects a single best user and adapts its rate to the best channel condition, has been widely investigated in literature (see [6] and references therein). The opportunistic scheduling with hierarchical modulation which selects 2 best users has been studied in [17]. While most of the work on rate adaptation and opportunistic scheduling have been made for unicast transmission, several papers have also studied rate adaptation for multicast/broadcast application [7][8]. To the best of our knowledge, this is the first paper which investigates the possible rate adaptation and opportunistic scheduling for wireless network coding. III. S YSTEM M ODEL In this paper, we consider the scheduling by a relay node after the relay gathered packets intended to different receivers and reached the situation where the network coding is applicable to a group of nodes. We call such group as network coding group. This group consists of one relay node and N receiving nodes, and satisfies the following three conditions: 1) All the N nodes are communication range of the relay node so that the broadcast transmission is possible for N nodes 2) The relay node has packets to be forwarded to all N receiving nodes in the group 3) Each receiving node has the packets forwarded by the relay node to the other N − 1 receiving nodes. We call N as size of network coding group. The example of this network coding group with N = 2 is the 3-node network which has bi–directional traffic flow as shown in Fig. 1 [3][4]. Assume that node A and C are not within communication range of each other, but they are within communication range of node B. Node A has traffic flow destined to node C through relay node B, and vice versa, node C has traffic flow to node A through relay node B. After B collects packets to be forwarded to nodes A and C, the above three conditions can be satisfied. Thus, node B has packets to be forwarded to these 2 nodes, and node A (C) can have information on the packets to



A

Traffic flow from C to A through B …

B

C

Fig. 1. 3-node network with bi–directional traffic flow which forms network coding group with N = 2.

C’s Queue P3

P2 E

C

P3

P2

P1 B P3 P2

B P1 A

D

A P3 P1 A’s Queue

Fig. 2.

C

E

D P1 P2 D’s Queue

The example of the creation of network coding group with N = 3.

be forwarded from node B to node C (A) since those packets are generated by node A (C). In this case, a network coding group is formed where nodes A and C are the receiving nodes, and node B is the relay node. Note that each receiving node needs to know which packets are included in the network– coded packet in order to retrieve its desired packet. In this work, we assume that such information is available to each receiving node1 . The network coding group with N > 2 can be created when each node can overhear packets transmitted by the other nodes. Fig. 2 shows an example where there are 5 nodes A - E. Here, there are packet P1 to be forwarded from node A to node C, P2 from C to A, P3 from E to D. We assume that each node is communication range of each neighbor, for example, node A is within communication range of nodes B, D, and E. At first, each node forwards the packet to relay node B. When each packet is transmitted to node B, not only the intended receiver (thus node B) but also the neighbors of each transmitting node receive the packet and store it to each queue. Then, after each transmission to node B, nodes have the queue state as shown in the right side of Fig. 2 (each node also puts its own packet into the queue). Here, we can see that the relay node B and the receiving nodes A, C, and D satisfy the above 3 conditions to create a network coding group. Thus, this is an example of the networking group with N = 3. Note that, in this paper, we assume that the transmission from individual nodes to a relay node as well as overhearing are performed ideally to create a network coding group. We consider the scheduling by the relay node after it becomes ready to perform network coding2 . The detailed methods and protocols to create the network coding group 1 Practically, we need a protocol to signal this information to each node, e.g. COPE protocol proposed in [1][2]. 2 We will discuss the impact of scheduling on the transmissions from individual nodes to a relay node in Sec. V-B

of N with overhearing in the mesh network scenario can be found in [1] and [2]. We assume that each receiving node n in the network coding group (1 ≤ n ≤ N ) has a time–varying fading link from the relay node. The instantaneous SNR of node n at the time instant i is given by γn [i] =

P |hn [i]|2 σn2

(1)

where P is the constant transmission power, hn [i] is the complex channel gain of the link between the relay and node n at the time instant i, σn2 denotes the variance of the additive while Gaussian noise (AWGN) at the receiver n. The noise level is assumed to be identical at each receiver, thus, σn2 = σ 2 . We consider the stationary fading process, and denote the probability density function (pdf) of γn [i] as p(γn ) and the mean of γn as γn which is the average SNR of each link. We assume that γn , 1 ≤ n ≤ N , are i.i.d. random variable, where p(γn ) = p(γ), and the average SNR is identical for all the links, thus γn = γ. In this work, we focus on Rayleigh fading environment where p(γ) is expressed as [18]: 1 p(γ) = e−γ/γ . (2) γ We assume that the relay node has channel state information (CSI) to each receiving node, thus each instantaneous SNR γn . The relay node can adapt its data rate with the appropriate rate adaption technique such as adaptive modulation and coding (AMC). We assume that the node n can successfully decode the transmitted data only if the data rate is less than Shannon capacity given by B log2 (1 + γn ), where B is the signal bandwidth. IV. R ATE A DAPTATION AND S CHEDULING WITH W IRELESS N ETWORK C ODING A. XOR based Wireless Network Coding There have been several proposals on the transmission modes for wireless network coding [1][2][3][4]. The most canonical example is the one with XOR operation of different packets at the relay node. Let us consider a network coding group with the size of N . We assume that the packet to be forwarded to node n (1 ≤ n ≤ N ) has the infinite length bn = (bn [1], bn [2], . . .) where bn [l] ∈ {0, 1}. With XOR based wireless network coding, using the data to all N nodes, new XORed packet is created by bXOR =

N 

bn

(3)

bn = bXOR ⊕

N 

bk

(5)

k=1,k=n

where the addition is again bitwise XOR operation. The above wireless network coding can decrease the number of packets to be forwarded significantly, thereby increasing the network throughput. Due to its simplicity, it has been the first target mode of the wireless network coding to be implemented in the actual wireless system setting [1][2]. B. Rate Adaptation and Scheduling with Wireless Network Coding With the above wireless network coding, the data rate can be adapted when the relay node broadcasts the XORed data to the receiving nodes. However, since this is a broadcast transmission, the relay node has to choose one data rate (e.g. AMC level) to transmit the data although different nodes can have different instantaneous channel gains. If we try to maximize the gain from network coding, the relay node should combine all the N packets into a broadcast packet. In this case, the rate for broadcast should be chosen according to min {γn } in 1≤n≤N

order to ensure a reliable broadcast. However, such a rate can be too conservative for the other link which has very good instantaneous channel condition. Such an inefficiency in the rate adaptation for broadcast/multicast transmission has been widely investigated in literature [7][8]. However, there is one important difference between the transmission in network coding with N nodes and the normal broadcast group with N nodes. While the normal broadcast tries to send the same information to all the receiving nodes, the packet transmitted by the relay node in the network coding contains the unicast data to be forwarded to different nodes. Thus, the relay node in the network coding group with size N does not have to always forward packets to all the N nodes, but instead, it can have opportunity to choose a set of nodes out of N whose packets are XORed and broadcasted. Thus, when the network coding group has size N , the relay node first chooses the data rate for broadcast according to the kth smallest (worst) instantaneous SNR among N nodes. Thus, the rate of broadcast transmission is chosen as: Rb = B log2 (1 + γk )

n=1

where the addition is the bitwise XOR operation. Then, the relay node broadcasts XORed data to all the N nodes with the modulation/coding applied to obtain the string of transmission symbol xXOR = (xB [1], xB [2], . . .) where xB [m] is the m–th complex symbol transmitted by the relay node. These symbols are received by node n where the m–th received symbol can be written as: rn [m] = hn xXOR [m] + zn [m]

where the value zn [m] is the complex additive Gaussian white noise at node n with the variance of σ 2 . From the received signal, node n decodes the XORed packet bXOR with the appropriate demodulation/decoding. Then, it extracts the desired data by XOR operation with the known data destined to the other nodes:

(4)

(6)

where γk is the kth smallest instantaneous SNR. The relay node performs XOR for the packets of N − k + 1 nodes who have the instantaneous SNRs higher than or equal to the kth smallest instantaneous SNR. We call such parameter k as level of the scheduling for the network coding group. In this case, the instantaneous capacity per unit bandwidth [bits/sec/Hz] of scheduling level k can be calculated as: k = (N − k + 1) log2 (1 + γk ) Cinst

(7)

In order to maximize the average capacity, the relay node can choose the level kop according to the time–varying instantaneous SNRs of N links as: k kop = arg max Cinst k

(8)

We call the above scheduling method as an opportunistic scheduling for network coding. As an alternative approach to this opportunistic scheduling, we also introduce a fixed scheduling strategy which always utilize the same level k irrespective of the instantaneous link condition. With fixed scheduling of k = 1, the XORed packet always contains data to all the N nodes, and the rate is adapted according to the worst SNR condition in the network coding group. On the other hand, with fixed scheduling of k = N , we have singleuser opportunistic scheduling where only one user, who has the best link condition, is selected for the transmission and the packet is transmitted without XOR operation. C. Average Capacity Analysis for Wireless Network Coding with Fixed Scheduling The analysis of average capacity for the opportunistic scheduling requires the order statistics [19] of non–identical distributed random number, and its detailed derivation is very much involved. Therefore, we count on the computer simulation to evaluate the average capacity of the opportunistic scheduling. On the other hand, we can theoretically derive the average capacity of the fixed scheduling case since it only requires the order statistics of i.i.d. random variables. The analysis of the fixed scheduling can give us the insight into the trade–off between the network coding effect and the rate adaptation. Since the instantaneous capacity of the scheduling with level k is given by eq. (7), the total average capacity can be written as  ∞ k log2 (1 + γk )p(γk )dγk (9) CAve = (N − k + 1) 0

where p(γk ) is the pdf of the random number γk , which can be obtained from p(γ) as [19]   N −1 p(γk ) = N p(γ) P (γ)k−1 {1 − P (γ)}N −k (10) k−1 where P (γ) is the cumulative distribution function (CDF) of γ. From eq. (2) and eq. (10), we can obtain   γk N −k+1 N N −1 p(γk ) = (1 − e− γ )k−1 e− γ γk (11) k−1 γ By substituting eq. (11) into eq. (9), the total average capacity is expressed as   ∞ N N −1 k (N − k + 1) = log2 (1 + γk ) CAve k−1 γ 0 ·(1 − e−

γk γ

)k−1 e−

N −k+1 γk γ

dγk

(12)

By using the binomial expansion, eq. (12) can be written as:   k−1 N N −1  k (N − k + 1) CAve = (−1)(k−1)−l k−1 γ l=0   ∞ N −l k−1 · log2 (1 + γk )e− γ dγk (13) l 0

By using the  ∞exponential–integral function of the first order E1 (x) = 1 e−xt /tdt [20] and [21, eqs. (32) and (80)], eq. (13) can be solved as   k−1 N −1  k (−1)(k−1)−l CAve = log2 (e)N (N − k + 1) k−1 l=0   (N −l)/γ   e N −l k−1 E1 · (14) l N −l γ Note that, with k = 1, we obtain 1 CAve

N γ

= N log2 (e)e E1



N γ

 (15)

which corresponds to the average capacity in network coding group when the packets from all the N nodes are always XORed. On the other hand, with k = N , we obtain   N −1  N −1 N = N log2 (e) (−1)l CAve l l=0   (l+1)/γ l+1 e E1 · (16) l+1 γ which corresponds to the average capacity when single–user opportunistic scheduling is applied to N nodes. V. N UMERICAL R ESULTS AND D ISCUSSIONS A. Numerical Results We evaluate the average capacity per unit bandwidth (bits/sec/Hz) of the fixed and opportunistic scheduling strategies. For the fixed scheduling, we show the results obtained with the theoretical equations derived in Sec. IV-C and also with computer simulation. For the opportunistic scheduling, we only show the results obtained by computer simulation. In the simulation, we have randomly generated many realizations of instantaneous SNRs of different links, and calculated average capacity achieved with different scheduling strategies. We analyze the average capacity against average SNR with different size of network coding group (i.e. N ). First, let us investigate the trade–off between the network coding effect and the rate adaptation of broadcast transmission by using the results of fixed scheduling with different level of k. Fig. 3 shows the average capacity against average SNR for different k in the fixed scheduling strategy when the size of the network coding group is 2. Throughout this section, for the curves of the fixed scheduling, the lines show the results obtained from theoretical derivation, and dots for the simulation results. We can see that theoretical and simulation results of the fixed scheduling closely match for all the curves. From Fig. 3, it can be observed that the scheduling with k = 1 yields better capacity than that of k = 2 for most of the average SNR values. Recall that the scheduling with k = N (in this case k = 2) is the single–node opportunistic scheduling among N nodes without network coding. Thus, this figure shows that, for most of the average SNRs, the network coding can give gain thanks to the fact that the packets from 2 users are XORed and that the broadcasted packet contains more information. However, interestingly, for very low average SNR, we can observe the region where single

B. Discussions An important conclusion from the above results is that the set of nodes whose packets are XORed should be opportunistically chosen at each scheduling instance according to the given instantaneous link conditions instead of fixing the number of XORed nodes. From practical point of view, there are several other factors which can affect the overall performance of network coding group. For example, as the number of nodes whose packets are XORed increases (thus as k decreases), we need larger header to include the information on the individual packets included in the broadcast packet (e.g. IP address and sequence number

18

Average Capacity (bits/sec/Hz)

16 14

Opportunistic Scheduling Fixed Scheduling (k = 1) Fixed Scheduling (k = 2)

12 10 8 6 4 2 0 0

5

10

15 Average SNR (dB)

20

25

30

Fig. 3. Average Capacity (bits/sec/Hz) against average SNR for XOR–based network coding with different scheduling strategies (N = 2).

Average Capacity (bits/sec/Hz)

25

20

Opportunistic Scheduling Fixed Scheduling (k = 1) Fixed Scheduling (k = 2) Fixed Scheduling (k = 3)

15

10

5

0 0

5

10

15 Average SNR (dB)

20

25

30

Fig. 4. Average Capacity (bits/sec/Hz) against average SNR for XOR–based network coding with different scheduling strategies (N = 3).

70 Opportunistic Scheduling Fixed Scheduling (k = 1) Fixed Scheduling (k = 2)

60 Average Capacity (bits/sec/Hz)

node case has better capacity than network coding. This is because one of 2 nodes in the network coding group can have very low instantaneous SNR in this region, which dominantly affects the average capacity performance. Fig. 4 shows the average capacity performance with N = 3. In this case, for higher average SNR, the scheduling with k = 1 has the best performance with higher average SNR. However, for lower average SNR, the scheduling with k = 2 yields the best performance. Although the scheduling with k = 1 generates broadcast packet which contains data from 3 users, the rate of broadcast is chosen according to the worst instantaneous SNR among 3 nodes, which can be very small and dominantly affect the average capacity. On the other hand, the scheduling with k = 2 has only 2 nodes to create broadcast packet, however, it can produce higher broadcast rate with higher instantaneous SNR for the 2nd best node. Fig. 5 shows the average capacity with N = 10. From the figure, we can clearly see the following tendency for the fixed scheduling: As the number of users whose packets are XORed increases (thus k decreases), the average capacity for high average SNR region becomes higher thanks to the effect to XOR many node’s packets. However, the scheduling with high number of nodes with XOR operation tends to have low average capacity for lower average SNR since there is higher probability for the kth node to have very low instantaneous SNR which can largely affect the overall capacity performance. Next, looking at the results of the opportunistic scheduling in all the figures, it is observed that the opportunistic scheduling can always achieve the highest performance for all the average SNR region as compared with fixed scheduling. This is because the opportunistic scheduling can adapt the level k according to the given instantaneous link conditions, which always results in the best choice of the set of nodes whose packets are XORed. This can be considered as the similar effect to the average capacity against average SNR with the fast adaptive modulation [22]. If we plot the average capacity of each fixed modulation level against the average SNR, different modulation levels can have the highest performance with different average SNR. However, by employing the "fast" adaptive modulation which adapts the modulation level to the "instantaneous" SNR, it can always achieve higher capacity than the fixed modulation case. Here, the similar effect occurs with the parameter choice of k, instead of the modulation level.

Fixed Scheduling (k = 3) Fixed Scheduling (k = 4) Fixed Scheduling (k = 5) Fixed Scheduling (k = 6) Fixed Scheduling (k = 7)

50 40 30 20 10 0 0

5

10

15 Average SNR (dB)

20

25

30

Fig. 5. Average Capacity (bits/sec/Hz) against average SNR for XOR–based network coding with different scheduling strategies (N = 10).

as in COPE protocol proposed in [2]). This larger header can degrade the throughput performance, and it can affect the choice of the optimum scheduling level k. Furthermore, in this paper, we have assumed that the relay node has infinite length of packet to be forwarded to each node. However, practically, each packet should have different limited length, which can also affect the resulting throughput. Thus, the length of packet for individual receiving node should be also taken into account when the set of activated (XORed) nodes is decided. Finally, in this paper, we have only considered the state where the relay node has already packets to be forwarded to the receiving nodes in the network coding group. The scheduling and rate adaptation for the transmissions from individual nodes to the relay node should be also investigated since it can affect the resulting size of the network coding group. For instance, if a node uses lower data rate for the transmission to the relay node, it could result in the lower throughput, but could be received (overheard) by many other nodes, which can create more opportunity to have network coding group with larger size. The investigation on these practical scheduling issues is kept for our future work. VI. C ONCLUSIONS In this paper, we have introduced an opportunistic scheduling for wireless network coding, where the scheduling level k, thus the set of nodes whose packets are XORed as well as the resulting data rate for the broadcast packet, is opportunistically selected according to the instantaneous link conditions. We have also analyzed the average capacity of the fixed scheduling strategy where k is always fixed, and derived the theoretical expressions for different level of the scheduling k. With the numerical results, we have investigated the trade–off between the network coding effect and the rate adaptation for broadcast transmission. Our results have shown that the strategy to combine packets from fixed number of nodes does not lead to the best performance, and the opportunistic scheduling, which can change the scheduling level adaptively according to the instantaneous link conditions, can maximize the average capacity. We have also discussed some issues which can affect the design of practical opportunistic scheduling for network coding. Besides the investigations on the practical scheduling listed in Sec. V-B, our future work includes the study on the scheduling when the average link conditions to different nodes are different. In this case, we need to include the scheduling with fairness such as proportional fair scheduling (PFS) for wireless network coding. Another interesting study is the rate adaptation and opportunistic scheduling for different transmission modes of wireless network coding, such as AF and DNF [3]. R EFERENCES [1] S. Katti, , D. Katabi, W. H. H. Rahul, and M. Médard, “The importance of being opportunistic: Practical network coding for wireless environments,” in Proc. of 43rd Annual Allerton Conference on Communication, Control and Computing, Sept. 2005. [2] S. Katti, H. Rahul, W. Hu, D. Katabi, M. Médard, and J. Crowcroft, “Xors in the air: Practical wireless network coding,” in Proc. of ACM Sigcomm 2006, Pisa, Italy, Sept. 2006.

[3] P. Popovski and H. Yomo, “The anti-packets can increase the achievable throughput of a wireless multi-hop network,” in Proc. of IEEE International Conference on Communications (ICC 2006), Istanbul, Turkey, 2006. [4] ——, “Bi–directional amplification of throughput in a wireless multi– hop network,” in Proc. of 63rd IEEE Vehicular Technology Conference (VTC2006-spring), Melbourne, Australia, May 2006. [5] Y. Wu, P. A. Chou, and S.-Y. Kung, “Information exchange in wireless networks with network coding and physical-layer broadcast,” Microsoft, Tech. Rep, vol. MSR-TR-2004-78, Aug. 2004. [6] P. Viswanath, D. Tse, and R. Laroia, “Opportunistic beamforming using dumb antennas,” IEEE Transaction on Information Theory, vol. 48, no. 6, pp. 1277–1294, 2002. [7] C. S. Hwang and Y. Kim, “An adaptive modulation for multicast communications of hierarchical data in wireless networks,” in Proc. of ICC’02, vol. 2, 2002, pp. 896–900. [8] Q. Du and X. Zhang, “Time–sharing based rate adaptation for multicast over wireless fading channels in mobile wireless networks,” in Proc. of IEEE Information Theory Society, the 40th Conference on Information Sciences and Systems (CISS 2006), 2006. [9] R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network information flow,” IEEE Transactions on Information Theory, vol. 46, no. 4, pp. 1204–1216, 2000. [10] The Network Coding Home Page. [Online]. Available: http://www.networkcoding.info [11] R. W. Yeung, S.-Y. R. Li, N. Cai, and Z. Zhang, “Network coding theory,” Foundations and Trends in Commun. and Inf. Theory, vol. 2, no. 4,5, 2006. [12] D. Lun, N. Ratnakar, R. Koetter, M. Médard, E. Ahmed, and H. Lee, “Achieving minimum–cost multicast: A decentralized approach based on network coding,” in Proc. of IEEE Infocom’05, vol. 3, 2005, pp. 1607–1617. [13] C. Fragouli, J. Widmer, and J.-Y. L. Boudec, “A network coding approach to energy efficient broadcasting: From theory to practice,” in Proc. of IEEE Infocom’06, 2006. [14] C. Hausl and J. Hagenauer, “Iterative network and channel decoding for the two-way relay channel,” in Proc. of IEEE International Conference on Communications (ICC 2006), Istanbul, Turkey, 2006. [15] W. Chen, K. B. Letaief, and Z. Cao, “A cross-layer method for interference cancellation and network coding in wireless networks,” in Proc. of IEEE International Conference on Communications (ICC 2006), Istanbul, Turkey, 2006. [16] B. Rankov and A. Wittneben, “Spectral efficient protocols for nonregenerative half-duplex relaying,” in Proc. of Allerton Conference on Communication, Control, and Computing, Sept. 2005. [17] M. J. Hossain, M. Alouini, and V. K. Ghargava, “Rate adaptive hierachical modulation assisted two–user opportunistic scheduling,” in Proc. of Globecom’05, vol. 3, Dec. 2005. [18] W. C. Jakes, Microwave Mobile Communication, 2nd ed. Piscataway, NJ: IEEE Press, 1994. [19] H. A. David and H. N. Nagaraja, Order Statistics 3rd ed. WileyInterscience, 2003. [20] L. S. Gradshteyn and I. M. Ryzhik, Table of Integrals, Series, and Products. San Diego, CA: Academic, 5th ed., 1994. [21] M. S. Alouini and A. J. Goldsmith, “Capacity of rayleigh fading channels under different adaptive transmission and diversity–combining techniques,” IEEE Transactions on Vehicular Technology, vol. 48, no. 4, pp. 1165–1181, 1999. [22] N. Morinaga, M. Nakagawa, and R. Kohno, “New concepts and technologies for achieving highly reliable andhigh-capacity multimedia wireless communications systems,” in IEEE Communication Magazine, vol. 35, no. 1, Jan. 1997, pp. 34–40.