2014 IEEE Military Communications Conference
Maximizing Multicast Throughput in a Single-Hop Multi-Channel Wireless Network David R. Wasserman, Douglas S. Hulbert Space and Naval Warfare Systems Center Pacific San Diego, CA
[email protected] [email protected] Abstract—This paper studies multicast traffic in a wireless network in which all nodes are within communication range of each other and share multiple independent channels. A node in this network cannot simultaneously transmit and receive, and can only transmit on one channel at a time, but when not transmitting it can simultaneously receive all channels. It is shown that increased throughput may be achieved by using erasure coding, which eliminates the requirement that all recipients listen at the same time. For any given set of multicast sessions, throughput may be optimized subject to a fairness constraint by solving a certain linear programming problem.
II. R ELATED W ORK Many works have studied scheduling of multicast traffic in ad hoc wireless networks, including [2]–[4]. Such works generally address complications not covered by the present work, including multi-hop routing and node mobility. Most such works do not consider multiple channels. [5]–[14] are some works that do consider multi-channel wireless networks. In these works, a node generally has k interfaces, enabling it to simultaneously transmit on k channels or simultaneously receive on k channels. None of them consider the present work’s asymmetrical constraint that nodes can simultaneously receive on multiple channels but cannot simultaneously transmit on multiple channels. Nodes with MPR are the best approximation to this constraint that we have found in the existing literature. [1], [15]–[17] in particular consider an M -MPR protocol model in which a receiver can receive up to M simultaneous transmissions, but cannot receive anything if more than M transmitters are active within range. For a single-hop network this is equivalent to using M independent channels. [1] considers unicast only, and in [15] only one node receives all transmissions. [16] presesnts a distributed, probabilistic algorithm, in which transmissions are not limited by the need to receive. [17] considers a special case of the present work’s problem. Like the present work, all nodes are half duplex and within transmission range of each other, so the only difficulty is that simultaneously transmitting nodes miss each other’s data. Unlike the current work, in [17] all transmissions are broadcast, at least M nodes have no data to send, and the other nodes all send equal amounts of data. [17] addresses the missed data problem by using the non-source nodes to retransmit the missed data, with or without network coding. In contrast, the current work uses erasure coding with no retransmission. [18]–[22] also studied MPR. These works give big-O and big-theta estimates of capacity; none of them attempt to compute the exact throughput that can be obtained for a particular set of sessions on a particular network. Erasure coding is a well-known technique in networking. [23], [24] are examples of works that proposed erasure coding to optimize multicast scheduling. In those papers, only one node transmits. In [23], erasures are caused by changes in the
I. I NTRODUCTION This paper is concerned with a single-hop wireless network that was originally designed to use a single channel, and later modified to use multiple statistically independent channels. Each node is half-duplex, i.e., it cannot simultaneously transmit and receive. Each node can only transmit on one channel at a time, but when not transmitting, it can simultaneously receive all channels. Such nodes behave similarly to nodes with F -multi-packet reception (MPR), where F is the number of channels [1]. All traffic in the network is multicast. The increased throughput provided by the additional channels has been smaller than expected, due to the difficulty of scheduling transmissions so that all recipients of a multicast are listening at the same time. We will show that greater throughput may be achieved through the use of erasure coding, which eliminates the requirement that all recipients listen at the same time. We will show that by solving a certain linear programming (LP) problem, we can maximize the throughput for any given set of multicast sessions subject to a fairness constraint. The rest of the paper is organized as follows. Section II describes some related work. We describe the system model and then formulate the optimization problem in section III, and then show in section IV that it is equivalent to an LP problem, assuming that information is infinitely divisible (in a sense described in that section). Section V gives an example. In section VI we introduce the requirement that each transmission contains an integral number of bits, and show how to convert the LP solution to an explicit schedule. In section VII we modify the schedule to reduce latency and to accommodate time slots of a pre-determined duration. Section VIII is concerned with reducing encoding and decoding complexity. 978-1-4799-6770-4 2014 U.S. Government Work Not Protected by U.S. Copyright DOI 10.1109/MILCOM.2014.202
1207
channel characteristics, while in [24] each message is split across multiple channels, and erasures occur because some recipients cannot receive all of the channels. In contrast, in the present work erasures are caused by nodes that cannot receive while they transmit on another channel. We are not aware of any other work that uses erasure coding this way.
different source nodes.1 Let the operating modes be numbered from 1 to M . 2 A schedule will be an M -by-1 vector T whose ith component is Ti , the time spent in the ith operating mode. A schedule is feasible if for each session, every destination node can receive the whole message. B. Listening time
III. S YSTEM MODEL AND PROBLEM DEFINITION
For any pair (k, j) such that k ∈ {1, . . . , K} and j ∈ Rk , let Lkj be the amount of time that node j listens to session k. This will occur during all operating modes such that node session k and node j is not transmitting. sk is transmitting K Let J = k=1 |Rk |; then there are J such pairs (k, j), and we number them from 1 to J. If (k, j) is the ith pair, then Lkj will also be called Li . Let A be the J-by-M matrix such that entry (i, m) is 1 if node j listens to session k during operating mode m, and 0 otherwise. Let B be the K-by-M matrix such that entry (k, m) is 1 if session k is included in operating mode m, and 0 otherwise. Let L = AT; then L is a J-by-1 vector whose ith component is Li . The number of bits that node j receives during time Lkj is cLkj , which must be at least dk to satisfy the demand. Let d be a J-by-1 vector whose ith component is dk . Therefore, any feasible schedule must satisfy AT ≥ d/c. (1)
A. System model We will assume the following network characteristics: 1) The nodes share multiple statistically independent channels; let F be the number of channels. 2) A node can transmit on only one channel at a time, and cannot listen while transmitting. 3) When not transmitting, a node can listen to all F channels. 4) All nodes are within communication range of each other, which means on each channel only one node may transmit at a time. 5) If only one node is transmitting on a particular channel, and the transmission rate is ≤ c bits per second, all listening nodes can receive this transmission error-free. Pre-existing hardware and software may limit the behavior of the nodes. We will assume the following restrictions: 1) All transmissions are required to be at the same rate of c bits per second. 2) Messages will not be relayed.
Constraint (1) is necessary for a schedule to satisfy the demands; now we will show that it is sufficient. Let X = BT; then X is a K-by-1 vector; let Xk be its kth entry. Xk is the total transmission time of session k, because it is the sum of Ti over all modes that include session k. Therefore the number of bits transmitted for session k is cXk .3 For any j ∈ Rk , by definition Xk ≥ Lkj . If node j sometimes transmits at the same time that node sk transmits session k, then Lkj will be less than Xk , which implies cXk > cLkj ≥ dk . So the number of bits transmitted for session k is more than the length of the message.
B. Problem definition Let the network nodes be numbered from 1 to N , and let the multicast sessions be numbered from 1 to K. For 1 ≤ k ≤ K, let sk be the source node of session k, and let Rk ⊆ {1, . . . , N } \ sk be the set of destination nodes. Our goal is to maximize throughput subject to a fairness constraint. We will use the fairness constraint found in [11], [13], [24], [25], which can be expressed most easily by assuming that each session has a finite number dk of bits to be transmitted. We wish to find a transmission schedule to satisfy these demands in the minimum amount of time. This is equivalent to assuming that each session has a desired rate of dk bits per second, and we wish to find the largest λ such that λdk bits per second can be sent for each session. For each session, we require that each destination node must receive the whole message. However, a destination node does not necessarily listen for the entire transmission time of the message. Erasure coding may be used so that destination nodes can recover missing bits.
C. Erasure coding To resolve this discrepancy, we will use a Reed-Solomon [26] erasure code. For any positive integers a, b, and m with 1 Strictly speaking, an operating mode should also assign each of these sessions to a channel; this information is needed to execute the schedule. However, using different channel assignments for the same set of sessions provides no advantage, so we will assume there is a convention that determines the channel assignment for each operating mode. The convention is not needed while building the schedule. 2 In general there is no simple expression for the number of operating modes M . If for 1 ≤ n≤N we let Sn be the number f of sessions with source node F S . For fixed K and F , n, then M = 1≤n1 ≤...≤nf ≤N f =1 i=1 ni M is maximized when all sessions have different source nodes. In this case F K M is the sum of binomial coefficients , which is O(K F /F !). f =1 f 3 Note that cX is not necessarily an integer. Theoretically, this is not k a problem, because information is not necessarily sent in the form of bits. For example, it could be sent as ternary symbols, each of which carries log 3/ log 2 bits of information. In practice, cTi will probably have to be an integer for each operating mode i. Furthermore, Ti may have to be a multiple of some pre-determined time slot width. So the optimum that we will compute is an approximation of the true optimum, and the relative error approaches 0 for large values of the dk ’s.
IV. S OLUTION A. Operating modes A set of sessions that can be active at the same time will be called an operating mode. We will build our transmission schedule by assigning a duration to each possible operating mode. We will represent an operating mode with a set S ⊆ {1, . . . , K} such that |S| ≤ F and all sessions in S have
1208
a < b < 2m , there is a (b, a) Reed-Solomon code using 2m ary symbols (i.e., each symbol is formed from m bits). This code maps a information symbols to a b-symbol codeword, and this code can correct b − a erasures. This means that if the b symbols are sent through the channel, then any receiver that receives at least a of them can decode the original information symbols. Since our channel rate is c bits per second, the transmitter sends am bits of information in bm/c seconds, but the receiver only needs to listen for am/c seconds to decode the am bits. This motivates the following assumption, which we use in sections IV and V: Simplifying assumption: for any t > 0 and any 0 < r < 1, a transmitter may send crt bits of information in t seconds, encoded in such a way that a listener may receive the information by listening during any rt seconds of the transmission. Using this assumption, constraint (1) is sufficient to satisfy the demands, provided that session k is transmitted at code rate dk rk = cXk Therefore M the time needed to send all sessions is the minimum of i=1 Ti subject to Ti ≥ 0 and constraint (1). This is an LP problem: let c be the M -by-1 vector consisting of ones; then our problem may be stated as Minimize cT T subject to AT ≥
d and T ≥ 0. c
F
The number of variables is O(K ) and the number of constraints is O(KN ), so for fixed F the problem can be solved in polynomial time [27]. Let T ∗ be the minimum value of cT T. V. E XAMPLE Suppose N = 10, F = 3, and each node has a demand to send d bits to all other nodes. There are 10 · 9 · 8/6 = 120 operating modes that use all three frequencies. The optimal schedule assigns equal time T to each of these 120 modes. For any nodes j and k, there are 8 · 7/2 = 28 operating modes in which node j listens to node k. So, 28T = Lkj = d/c, 1 d 120 d d T = 28 c , and the total time needed is 120T = 28 c ≈ 4.29 c . Each node transmits in 9·8/2 = 36 operating modes, therefore the code rate is 28/36 = 7/9. In contrast, suppose we did not use erasure coding. Then if two nodes transmit at the same time, each would miss part of the other’s message, and the demand would not be satisfied. So the time needed to satisfy the demands without erasure coding is 10 dc . VI. I MPLEMENTING THE SCHEDULE After we solve the LP problem, we need to decide when to use each operating mode, and choose an encoding method that will allow each destination node to decode the messages. The total duration of the implemented schedule should be close to T ∗ , with the relative error approaching 0 for large values of the dk ’s. We will describe an algorithm to do this. Part of the algorithm must be executed before communication begins, and the results must be available to all nodes. The rest of the
algorithm must be executed at all nodes, and we will make this part deterministic so all nodes agree on a schedule. We will use a Reed-Solomon code for each session. All codes will use m bits per symbol for some m to be determined.4 We will prove the following: Theorem 1: Suppose the following data are specified: N , K, F , and for 1 ≤ k ≤ K, sk and Rk (but not dk ). Then for any K > 0 there is a Δ0 such that for any d1 , . . . , dK with k=1 dk ≥ Δ0 there is an m such that the algorithm below yields a schedule with total duration < (1 + )T ∗ where T ∗ is the optimal value of the LP problem. Let d = d/m; then if (j, k) is the ith pair, the ith component di is the number of symbols in session k. For 1 ≤ i ≤ M let Ti be the optimal time computed for the i ith operating mode, and let Qi = cT m . The ith operating mode will be used for Qi symbols. Let Q be the M -by-1 vector with components Qi , and let L = AQ. If (j, k) is the ith pair, recall that the ith row of A indicates during which modes node j receives session k; therefore the ith component of L is the number of symbols that node j receives of session k. Call this component Lkj or Li . Then L = A
cT ≥ (by (1)) d/m = d . m
Therefore Lkj ≥ dk as required. Let Xk be the sum of Qi over all operating modes that include session k; then Xk is the kth element of BQ and is the number of symbols transmitted for session k. For each k we need to choose a (b, a) Reed-Solomon code such that a ≤ b ≤ 2m −1. (The case a = b represents uncoded transmission.) We must ensure that each destination node receives at least a symbols of every codeword. The simplest solution is to choose a = dk and b = Xk , making the entire message a single codeword. This requires choosing m so that 2m > Xk , which is possible because Xk is a nonincreasing function of m. The data needed to execute the schedule are m, Qi for 1 ≤ i ≤ M , and dk and Xk for 1 ≤ k ≤ K. For each session, the source node encodes the dk -symbol message to Xk symbols. The transmission then proceeds in M steps; during step i, Qi symbols are transmitted for each of the sessions included in operating mode i. For each session k, each destination node j ∈ Rk keeps track of the number of symbols transmitted for session k; if node j transmits during a mode that includes session k, then node j records erasures in place of the missed symbols. After all modes have been executed, each message can be decoded by all of its destination nodes. Now we can prove Theorem 1. The proof will be omitted because Theorem 1 is a special case of Theorem 2 below. 4 We would like to place a bound on m to limit the complexity of encoding and decoding. However, in section VIII we will show that achieving nearoptimal throughput with a bound on m is difficult, and probably not possible in all cases.
1209
received in γLkj time slots is the ith component of cT cT ≥A ≥ (by (1))d/m = d αγL = αγA mαγ m
VII. U SING PRE - DETERMINED TIME SLOTS AND REDUCING LATENCY
Suppose that our schedule is required to use time slots of a fixed duration β0 /c that can each accommodate β0 channel bits. We want an algorithm to construct a schedule so that Theorem 1 is still satisfied. In general, β0 will not be a multiple of m, which means a time slot cannot be filled by complete symbols. (Recall that m is a number to be chosen. We can try to find a suitable m that is a divisor of β0 , but to prove Theorem 1 we need to allow m to be larger than β0 .) After packing β0 /m symbols into a time slot, we can either leave the rest of the slot unused, or split the next symbol across two slots (or more than two, if m > 2β0 ). The first option is not acceptable because it wastes a fraction of the capacity, and this fraction does not decrease as the dk ’s increase, which implies that Theorem 1 is not satisfied. Therefore we must split symbols. Also, it is not useful to change operating modes in mid-symbol, because Reed-Solomon decoding cannot make use of a partial symbol. In effect we are constrained to use time slots whose size is the least common multiple (lcm) of β0 and m. It is difficult to prove inequalities involving lcm(β0 , m) due to its nonmonotonic nature, so we will allow the use of even larger time slots. The algorithm will choose a β and an m such that β is a multiple of lcm(β0 , m), and m satisfies an additional constraint that will be described later. Let α = β/m. The algorithm will use m-bit symbols grouped into time slots of α symbols each, and will only change operating modes at time slot boundaries. In the description of the algorithm, “time slot” will always mean a duration β/c, not β0 /c. Let γ be an integer ≥ 1. To reduce latency, we will divide each message k into γ submessages of dk /γ bits each, and we will construct the algorithm so that the each destination node can decode the ith submessage after a fraction i/γ of the schedule duration. We will prove the following: Theorem 2: Suppose the following data are specified: N , K, F , β0 , γ, and for 1 ≤ k ≤ K, sk and Rk (but not dk ). Then for Kany > 0 there is a Δ0 such that for any d1 , . . . , dK with k=1 dk ≥ Δ0 there is an m and α such mα is a multiple of β0 and the algorithm below yields a schedule with total duration < (1 + )T ∗ where T ∗ is the optimal value of the LP problem. Let d = d/m; then if (j, k) is the ith pair, the ith component di is the number of symbols in session k. Let β = mα. For 1 ≤ k ≤ K, let dk = dk /(βγ). For 1 ≤ i ≤ M let Ti be the optimal
time computed for the cTi ith operating mode, and let Qi = mαγ . The ith operating mode will be used for γQi time slots. Let Q be the M -by-1 vector with components Qi , and let L = AQ. If (j, k) is the ith pair, recall that the ith row of A indicates during which modes node j receives session k. Let the ith component of L be called Lkj or Li . Then γLkj is the number of time slots that node j receives of message k. The number of symbols
indicating that node j receives enough symbols to decode session k. Also cT d cT L = A =A ≥ (by (1)) . mαγ βγ βγ
d is dk , therefore dk ≤ Li = Lkj . The ith component of βγ For each k, let Xk be the kth component of BQ, which is the sum of Qi over all operating modes that include session k; then γXk is the number of time slots transmitted for message k, and αγXk is the number of symbols transmitted for message k. For each k we need to choose a (b, a) Reed-Solomon code such that a ≤ b ≤ 2m −1. We must ensure that each destination node receives at least a symbols of every codeword. We will choose a = dk and b = Xk . This requires choosing m so that 2m > Xk . Note that Xk is a nonincreasing function of mα, and that both m and α must be chosen so that mα is a multiple of β0 . One possibility is to choose α = β0 ;5 then 2m > Xk will be satisfied for sufficiently large m. The data needed to execute the schedule are m, α, γ, Qi for 1 ≤ i ≤ M , and dk and Xk for 1 ≤ k ≤ K. Each source node must pad message k to the length γαmdk bits. The schedule consists of γ phases. We describe the first phase: For each session, the source node divides the first αdk symbols of message k into α groups of dk each. It then encodes each group to form an Xk -symbol codeword. The transmission then M proceeds for i=1 Qi time slots, with each operating mode i used for Qi of these time slots. In each time slot, the current operating mode determines which messages are transmitted. For each such message, the source node transmits the next symbol from each of its α codewords. For each session k, each destination node j ∈ Rk keeps track of the number of symbols transmitted for session k; if node j transmits during a mode that includes session k, then nodej records erasures M in place of the missed symbols. After all i=1 Qi time slots, each source node has sent αXk symbols of message k (i.e., α complete codewords), and each destination node j ∈ Rk has received Lkj symbols from each codeword in message k. Since Lkj ≥ dk , the destination node decodes all α codewords. Each remaining phase transmits the next αdk symbols of message k in the same way. After all γ phases, γαmdk bits of each message have been encoded, sent, and decoded by all destination nodes. Since γαmdk ≥ dk , we are done. Now we can prove Theorem 2; the proof is in the appendix. VIII. R EDUCING CODE COMPLEXITY In the algorithm of Section VII, we see that by increasing α or γ, we can reduce both m, the number of bits per 5 The choice of α = β is not necessarily the best choice, and is presented 0 only to make it easier to prove Theorem 2. The scheduling algorithm will work for any m and α such that mα is a multiple of β0 and 2m > Xk .
1210
symbol, and bk , the number of symbols per codeword, but this reduction is limited: the algorithm specifies bk = Xk , and Xk must be at least the number of operating modes used in message k. The reason for the choice bk = Xk is that it allows each codeword to be spread across all operating modes used in the message, and this is the easiest way to ensure that each destination node receives enough symbols of every codeword. In some cases this can be accomplished with shorter codewords. Consider the example of Section V: N = 10, F = 3, and each node has d bits to send to all other nodes. Thirty-six operating modes are used for each message, for equal numbers of bits. Each destination node listens to 28 of these 36. If we can split these 36 into four subsets of nine each, so that each destination node listens to seven from each subset, then we can use codewords of length nine, each spread across the operating modes of one subset. Such a splitting is possible. For 1 ≤ q ≤ 4, let Sq = (i, j, 10) ∈
{1, . . . , 9} × {1, . . . , 9} × {10} | j − i = q (mod 9) . These are four disjoint sets of nine modes each, and their union is the set of modes used in message 10. By permuting {1, . . . , 10} we get splittings for the other messages. In the general case, different destination nodes will listen to different numbers of operating modes, and these operating modes will be used for different lengths of time. Xk could be a prime number for some choices of m, α, and γ. Therefore, we cannot describe a splitting method that works in the general case. It is possible to use codewords of different lengths and rates for the same message. However, recall that the optimal code rate for each message is determined by the optimal solution to the LP problem, so to keep the schedule duration close to T ∗ , the code rates must stay close to the optimal rates. Also, if we are required to use an m ≤ mmax , then all of our code rates must have a denominator < 2mmax . For very small values of , not all possible rates will be within of a fraction with denominator < 2mmax . It may be possible to prove that if m is bounded, no schedule of the type we have considered can satisfy Theorem 1. IX. C ONCLUSION In summary, this work is concerned with multicast traffic in a single-hop multi-channel wireless network in which • nodes cannot simultaneously transmit and receive; • nodes can transmit on only one channel at a time; • when not transmitting, nodes may receive on all channels simultaneously; • messages may not be relayed. We have shown that erasure coding makes it unnecessary for all recipients of a message to listen at the same time, enabling increased throughput. We have also shown that a throughputmaximizing schedule may be produced in polynomial time using linear programming. A PPENDIX Proof of Theorem 2: Given N , K, F , β0 , γ, sk and Rk for 1 ≤ k ≤ K, and > 0, let M be the number of possible
operating modes. It is well known that an increasing exponential function eventually dominates a polynomial function, therefore we can find a z such that F Mγβ0 x for any x ≥ z, 2 ≥ 2 M + . γβ0 x
K Choose Δ0 = z. Then for any d1 , . . . , dK with k=1 dk ≥ K Δ , and Δ0 , let Δ = k=1 dk , choose m = log2 M + γβ 0 choose α = β0 . Recall that m is required to satisfy 2m > Xk for 1 ≤ k ≤ K, and each Xk depends on m. We will prove that these constraints are satisfied. We now compute some inequalities. Δ Claim 1: 2m ≥ M + γβ . This is immediate from the 0 definition of m. Claim 2: M
Qi < M +
i=1
Recall that by definition Qi = Therefore M
Qi
Xk . Recall that by definition Xk is the number of time slots of message k transmitted in each phase, and Qi is the number of time slots M spent in the ith operating mode during each phase. So i=1 Qi is the number of time slots in each phase. Therefore Xk ≤
M
Qi < (by claim 2) M +
i=1
≤ (by claim 3) M +
cT ∗ cT ∗ ≤M+ γmα γβ0
Δ ≤ (by claim 1) 2m , γβ0
proving claim 5. Claim 6: Δ>
F M γβ0 m .
F Mγβ0 Δ Since Δ ≥ z, we have 2Δ ≥ 2 M + γβ . 0 Taking base-2 logarithms of both sides, we get
1211
Δ log2 2 M + γβ0 Δ 1 + log2 M + γβ 0 Δ log2 M + γβ0 F M γβ0 m, = (by definition of m) proving claim 6. Now we can complete the proof. The total schedule duration is F M γβ0 F M γβ0 = F M γβ0 >
[9] A. Raniwala, K. Gopalan, and T.-c. Chiueh, “Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks,” ACM Mobile Computing and Comm. Rev., vol. 8, pp. 50– 65, 2004.
Δ≥
M mαγ M mαγ + T∗ Qi < (by claim 2) c i=1 c
F M mγβ0 + T∗ = (because α = β0 ) cF + T∗ < (by claim 6) Δ cF ≤ (by claim 4) T ∗ + T ∗ as required.
[10] J. Laneman, D. Tse, and G. W. Wornell, “Cooperative diversity in wireless networks: efficient protocols and outage behavior,” IEEE Trans. Inform. Theory, vol. 50, no. 12, pp. 3062–3080, Dec. 2004. [11] P. Kyasanur and N. H. Vaidya, “Routing and interface assignment in multi-channel multi-interface wireless networks,” in IEEE WCNC, 2005, pp. 2051–2056. [12] K. Oh and C. Lee,“MR2 ODMRP: Improvement of End-to-End Transmission Delay in Wireless Multicast Routing,” Wireless Pers. Commun., vol. 74, 2014, pp. 245–257. [13] J. Zhang, H. Wu, Q. Zhang, and B. Li, “Joint routing and scheduling in multi-radio multi-channel multi-hop wireless networks,” in Proc. Broadnets, 2005, pp. 631–640. [14] M. Kodialam and T. Nandagopal, “Characterizing the capacity region in multi-radio multi-channel wireless mesh networks,” in MobiCom, 2005, pp. 73–87. [15] N. Pappas, A. Ephremides, and A. Traganitis, “Stability and performance issues of a relay assisted multiple access scheme with mpr capabilities,” Comp. Commun., vol. 42, pp. 70–76, 2014. [16] K. Li, M. Ghanbarinejad, I. Nikolaidis, and C. Schlegel, “AdditiveIncrease Multiplicative-Decrease MAC Protocol with Multi-Packet Reception”, Wired/Wireless Internet Communications, WWIC 2013, LNCS Vol. 2957, pp. 153–164.
ACKNOWLEDGMENT
[17] A. Rezaee, L. Zeger, and M. Medard, “Multi packet reception and network coding,” in MILCOM, 2010, pp. 1393–1398.
This research was partially supported by the Networks Program, Assistant Secretary of Defense for Research and Engineering.
[18] Z. Wang, H. Sadjadpour, and J. Garcia-Luna-Aceves, “Fundamental limits of information dissemination in wireless ad hoc networks—Part II: Multi-packet reception,” IEEE Trans. Wireless Commun., vol. 10, no. 3, pp. 803–813, March 2011.
R EFERENCES
[19] H. Sadjadpour, Z. Wang, and J. J. Garcia-Luna-Aceves, “The capacity of wireless ad hoc networks with multi-packet reception,” IEEE Trans. Commun., vol. 58, no. 2, pp. 600–610, Feb. 2010.
[1] X. Wang and J. Garcia-Luna-Aceves, “Embracing interference in ad hoc networks using joint routing and scheduling with multiple packet reception,” in Proc. IEEE INFOCOM, 2008, pp. 843–851. [2] E. Karami and S. Glisic, “Optimization of routing, network coding and scheduling in wireless multicast ad-hoc networks with topology compression,” in Proc. 20th PIMRC Symp., 2009, pp. 410–414. [3] M. Hu, Z. Zhong, and C. Chang.“A Multicast Scheduling Approach for Layered Video Service in Vehicular Ad Hoc Networks.” In Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), 2013 Seventh International Conference on, pp. 387-392. IEEE, 2013. [4] Z. Li, B. Li, and L. C. Lau, “On achieving maximum multicast throughput in undirected networks,” IEEE Trans. Information Theory, vol. 52, no. 6, pp. 2467–2485, June 2006. [5] V. Bhandari and N. H. Vaidya, “Capacity of multi-channel wireless networks with random (c, f) assignment,” in MobiHoc, 2007, pp. 229– 238. [6] M. Alicherry, R. Bhatia, and L. E. Li, “Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks,” in MobiCom, 2005, pp. 58–72. [7] P. Kyasanur and N. H. Vaidya, “Capacity of multi-channel wireless networks: impact of number of channels and interfaces,” in MobiCom, 2005, pp. 43–57. [8] A. Raniwala and T.-c. Chiueh, “Architecture and algorithms for an IEEE 802.11-based multi-channel wireless mesh network,” in Proc. IEEE INFOCOM , 2005, pp. 2223–2234.
[20] Z. Wang, H. Sadjadpour, and J. J. Garcia-Luna-Aceves, “The capacity and energy efficiency of wireless ad hoc networks with multi-packet reception,” in MobiHoc, 2008, pp. 179–188. [21] B. Azimdoost, H. Sadjadpour, and J. Garcia-Luna-Aceves, “Impact of multi-packet transmission and reception on the throughput capacity of wireless ad hoc networks,” in MILCOM, 2010, pp. 487–492. [22] M.-F. Guo, X. Wang, and M.-Y. Wu, “On the capacity of k-MPR wireless networks,” IEEE Trans. Wireless Commun., vol. 8, no. 7, pp. 3878–3886, July 2009. [23] U. Kozat, “On the throughput capacity of opportunistic multicasting with erasure codes,” in IEEE INFOCOM, 2008, pp. 1193–1201. [24] K. Bakanoglu, W. Mingquan, L. Hang, and M. Saurabh, “Adaptive resource allocation in multicast OFDMA systems,” in Proc. IEEE Wireless Communications and Networking Conference (WCNC10), Apr. 2010, pp. 1-6. [25] F. Shahrokhi and D. W. Matula, “The maximum concurrent flow problem,” J. ACM, vol. 37, no. 2, pp. 318–334, 1990. [26] I. S. Reed and G. Solomon, “Polynomial codes over certain finite fields,” J. Soc. Indust. Appl. Math, vol. 8, no. 2, pp. 300–304, 1960. [27] N. Karmarkar, “A new polynomial-time algorithm for linear programming,” Combinatorica, vol. 4, no. 4, pp. 373–395, 1984.
1212