Cross-Layer Design for End-to-End Throughput Maximization and Fairness in MIMO Multihop Wireless Networks

.


Introduction
Recent advances in wireless communications and computing technologies enable a broad range of network applications. To facilitate these applications for the fast-growing number of mobile users and services, the communication society intensifies the interest in the development of novel approaches that can increase the overall network capacity. With the enlarged requirement, future multihop wireless networks such as wireless backhaul networks (WBNs) and wireless mesh networks (WMNs) are conducted to support various data and multimedia transmissions that are usually bandwidth-consumed. In such networks, the Multiple-Input Multiple-Output (MIMO) antenna system, which can offer multiple Degree of Freedom (DOFs) for communications in a node while reducing interference and improving network throughput, is one of the technologies to this end, and attracts much attention of recent research on communication [1][2][3]. However, when considered with networking, it is still in its early stage. For example, in [4], the authors devise a MIMO-based MAC protocol and develop analytical methods to characterize the corresponding saturation throughput and study the impact of MIMO MAC on routing. As another example, the authors in [5] give their key optimization considerations such as spatial multiplexing for MAC layer design in ad hoc wireless networks.
On the other hand, cross-layer schemes have been proposed to improve throughput and fairness for multihop wireless networks. For example, in [6,7], the joint rate control and scheduling problems have been studied for wireless ad hoc networks with either a scheduling-based MAC [6] or an Aloha-based MAC [7], in which routes are assumed to be given a prior, however. In [8], the authors propose Integer Linear Programming formulations and a heuristic algorithm to solve the joint scheduling and power control problems in WMNs. Nevertheless, they consider only the wireless networks without MIMO links. In addition, the authors in [9] also present a centralized algorithm to solve the corresponding joint routing, scheduling, and stream control problem for WMNs. With MIMO links, 2 EURASIP Journal on Wireless Communications and Networking the authors provide a three-step approach to this end, but they do not explicitly consider the problem of providing different object functions of fairness for each session in the network. Similarly, a cross-layer optimization for solving the joint stream control and scheduling problem for MIMObased wireless networks is proposed in [10]. In this work, the authors aim to seek a stream control solution and a transmission schedule with minimum frame length to satisfy traffic demands of links, and pay no attention to the issue of supporting service differentiation for different traffic sessions.
In this paper, we aim to develop cross-layer optimization schemes for multihop wireless networks with MIMO to provide end-to-end throughput optimization among different sessions and support service differentiation for these sessions with proportional or weighted fair share. To this end, we first divide communication flows into components containing only weak contentions. Then, we use Transmission Mode Generating Algorithms (TMGAs, including TMGA1 and TMGA2) to generate a TDMA-based scheduling matrix for these components to be scheduled without interference. As expected, generating all transmission modes for a network (with, e.g., TMGA1) would be time consuming. Thus, we design a polynomial time heuristic (TMGA2) to compute a subset of transmission modes with time efficiency. Given the scheduling matrix, we conduct the cross-layer optimization schemes to address joint network routing, link scheduling, and rate control in such networks with a schedulingbased MAC, which are traditionally known as transport layer, network layer, and MAC layer issues, respectively. In particular, with Linear Programming (LP) and Convex Programming (CP), we seek a rate allocation along with a flow allocation and a transmission schedule such that the network throughput can be maximized and the desired fairness can be achieved. The performances of the proposed schemes are verified by simulation experiments, and their impacts on throughput and fairness for the networks are evaluated. The numerical results show that the proposed schemes can satisfy our design aims and can provide their unique performance benefits when achieving a tradeoff between throughput and fairness. The results also show that TMGA2 can achieve nearly the same performance gains with only a few numbers of iterations and can be very time efficient, when compared with TMGA1 that generates all transmission modes.
The rest of this paper is organized as follows. In Section 2, we summarize the system model for MIMO links. Following that, in Section 3, we introduce our flow scheduling algorithms for the system. In Section 4, we present the crosslayer optimization schemes for the throughput maximization and fairness problem. Finally, these schemes are examined with experiments in Section 5, and conclusions are drawn in Section 6.

Node Topology Graph.
In this work, we consider a multihop wireless network that consists of a finite set V of nodes where each node m ∈ V is stationary and has a MIMO antenna array with K m elements or DOFs for each node to transmit and receive signals. All nodes transmit at the same fixed power level in a signal common channel, and each node has a uniform transmission range R T and a uniform interference range R I ≥ R T . Let E denote the set of all pairs (m, n) of distinct nodes in V such that m and n are within each other's transmission range. An ordered pair of nodes if node m needs to transmit to node n. f is said to be active if m is currently transmitting to n; otherwise, f is said to be inactive. Let F denote the set of all flows. Hereafter, the graph G = (V , E, F) defined above is referred to as node topology graph. Figure 1 illustrates the transmitter and receiver antenna array and the MIMO channel for the case when N = 2 antennas are used at the both ends. To transmit a signal x(t) through a transmit beamformer over the 2-antenna array, the transmitter sends two weighted copies of the signal, one on each antenna. That is, u 1 x(t) is sent over antenna 1, and u 2 x(t) is sent over antenna 2, with u = [u 1 , u 2 ] T called the transmitting weight vector. Then, the two signals are weighted by the receiver with a receiving weight vector v = [v 1 , v 2 ] T and summed to produce y(t). Let H denote the matrix of channel coefficients between the transmitter and the receiver. The above can thus be written as y(t) = (u T Hv)x(t), and the complex gain experienced by x(t) is then a consequence of transmit beamforming, the channel, and receive beamforming of u T Hv. Now with appropriate weight vectors u and v, the received signal y(t) can achieve a unit gain (u T Hv = 1) if it is received at the desired receiver or a zero gain (u T Hv = 0) if it is received at a nondesired receiver. In other words, we can ensure that the signal is received with a certain gain or is perfectly nulled by appropriately choosing the weight vectors if no power limit on a node's receiving capacity. In general, we could design u if v is given, and vice versa. Thus, by considering whether the transmitter and the receiver are a desired communication pair or potentially interference with one another, we have the following beamforming conditions.

Overview of MIMO Antenna Array Processing.
(1) If the receiver corresponding to v is the desired receiver of x(t) and v is fixed, then we could require u to satisfy u T Hv = 1 so that x(t) can be received with unit gain. (2) If the receiver corresponding to v is already involved in another link, then v is fixed and we could require u to satisfy u T Hv = 0 so that the transmitter does not create interference at this receiver.
(3) If the transmitter is communicating with a different user by using a fixed u, and the receiver corresponding to v wants to receive signals from different transmitter without interference, then we could require v to satisfy u T Hv = 0 so as to null the contribution of u at the receiver.

Transmission Constraints on MIMO Links. Consider the multihop wireless network
Assume that (1) every link has the same R T and R I = 1.5 R T , (2) the numbers of antennas are K 1 = K 2 = 1 and K 3 = K 4 = 2, and (3) f 1 and f 2 are the only two flows in the network. With the above, we consider the example that node 4 wants to transmit to node 3 while node 2 is currently transmitting to node 1 (i.e., f 1 is active). Let u 2 be the (1 × 1) transmitting weight vector that node 2 is currently using to weight its transmitted signal and let v 1 be the (1 × 1) receiving weight vector that node 1 is currently using to weight the signal received from node 2. In this case that f 1 is currently active, if node 3 wants to receive an interference-free signal from node 4, it must design its receiving weight vector v 3 to suppress the interference caused by node 2's transmission while assuring an acceptable gain of its intended signal coming form node 4. In terms of equations, the above can be written as (u T 4 H 4,3 v 3 ) = 1 and (u T 2 H 2,3 v 3 ) = 0, where u 4 = [u 4,1 , u 4,2 ] T is the transmitting weight vector of node 4, and v 3 = [v 3,1 , v 3,2 ] T is the receiving weight vector of node 3. Now, given u 4 , u 2 , H 4,3 and H 2,3 , the system of these two equations would have a unique solution v * 3 because the elements of each of H 4,3 , and H 2,3 are i.i.d in general. That is, if there is no power limit on node 3's receiving capacity, it is always possible for node 3 to receive one interference-free flow from node 4 concurrently with the signals from node 2. In other words, f 1 and f 2 are always possible to be active simultaneously in this example.
By reserving the admission order of these flows, we now consider another example in which node 2 wants to transmit to node 1 while node 4 is currently transmitting to node 3 (i.e., f 2 is active). With similar considerations for the above, this example can be represented by the equations of (u T 2 H 2,1 v 1 ) = 1 and (u T 2 H 2,3 v 3 ) = 0, but now the objective to be solved becomes u 2 , which is (1 × 1) weight vector. That is, the single variable u 2 involves the system of the two equations associated with H 2,1 and H 2,3 that are i.i.d in general. Obviously, the over-determined system has no solution.
By summarizing these examples, we can find that the admission of ( f 1 , f 2 ) is order dependent. That is, if f 1 is admitted first, then f 2 is possibly admitted. On the contrary, if f 2 is admitted first, then f 1 could not be admitted without inference. Clearly, these could be verified with the beamforming conditions given previously. However, to be specific, we define the transmission constraints as follows. Let node m be the transmitter and node n the receiver, and suppose that there are β streams currently received by nodes located within m's interference range, and γ streams currently transmitted by nodes located within n's interference range, where a steam denotes a copy of data signal transmitted by the MIMO system. Suppose further that m wants to transmit an α-stream flow f to n. Then, for interference-free communications in the system, we have the following constraints.
Proof. Let {n 1 , n 2 , . . . , n q } denote the set of n's neighbors that are transmitting the γ streams and γ i denote the number of streams that node n i is currently transmitting, for all i ∈ {1, 2, . . . , q} (i.e., q i=1 γ i = γ). Suppose that for each i ∈ {1, 2, . . . , q}, n knows the transmitting weight vector of n i , and the channel matrix between it and n i , for all i. Then, n can receive its α-stream flow f from m with the weight vectors v n,j , j ∈ {1, 2, . . . , α} subject to the conditions of B n v n, j = b j , ∀ j, where b j is the column vector of length α + γ defined as [0 0 · · · 0 1 0 0 · · · 0] T with 1 at the jth position, and B n is 7

Flow Scheduling Algorithms
In this section, we present our flow scheduling algorithms for MIMO networks. As the first step to this end, we divide the flow contentions in a MIMO system into two categories: strong interference and weak interference, similar to that given in [10]. The strong interference denotes that an incoming flow into a node cannot be scheduled in the same time slot with any outgoing flow from the same node and vice versa. This is because a node in wireless networks is usually half-duplexing and thus it cannot simultaneously transmit and receive. In other words, any two flows Given that, we define G strong (V strong , E strong ) as the strong contention graph, where a vertex in V strong corresponds to a flow in F, and a bidirectional edge in E strong denotes the corresponding flows in F strongly contend with each other in the node topology graph G.
On the other hand, the weak interference denotes that a pair of flows would contend for resources but they could be scheduled in the same time slot if the related DOFs can be properly arranged. Similarly, we define G weak (V weak , E weak ) as the weak contention graph. In this graph, a directional edge between a pair of vertices corresponding to To be specific, we consider a MIMO network of 8 nodes and 8 flows as an example, showing its node topology graph G in  Figure 3(a) that when node 4 is transmitting to node 2 (with f 3 ), node 2 cannot simultaneously transmit to node 1 (with f 1 ), and vice versa. This is a strong interference, and is denoted by a bidirectional edge between f 1 and f 3 in Figure 3(b). Similarly, we can also see in Figure 3(a) that when node 8 simultaneously transmits to node 4 and node 5, f 7 and f 8 will contend with each other. This corresponds to the first weak-interference condition, and is shown by a bidirectional edge between f 7 and f 8 in Figure 3(c). In addition, the second weak-interference condition is exemplified by the scenario in Figure 3(a) that nodes 2 and 3 simultaneously send to node 1, and thus f 1 and f 2 interfere with each other. Therefore, there is a bidirectional edge between f 1 and f 2 in Figure 3(c). Finally, the third weak-interference condition can be found in Figure 3(a) that when node 4 transmits to node 2 (with f 3 ), this node can interfere with node 1's receipt of f 2 from node 3. This interference is shown by a directional edge from f 3 to f 2 in Figure 3(c). Besides, the other strong and weak interferences not exemplified in the above can be also observed easily.
Clearly, the flows strongly contending with each other cannot be scheduled at the same time. Thus, the first step of our algorithms is to divide the flows into a set of components, say {C o }, that contain only weak contentions and can be represented by {C oweak }. This step is done by finding a valid coloring for G strong with, for example, the greedy algorithm given in [11] that sorts vertices in G strong by decreasing vertex degrees, and according to the order, colors them one by one using a first-fit greedy approach. Then, the flows of G with the same color in G strong compose a C o , and the corresponding subset of G weak composes a C oweak .

Transmission Modes.
After obtaining {C o } and {C oweak }, we now proceed to find an interference-free scheduling for each of the components with a scheduling-based MAC. To this end, we define transmission mode as the flows in G that can be active simultaneously. A t Γ × m Γ matrix Γ is used to represent the set of transmission modes, and called scheduling matrix, in which t Γ denotes the number of transmission modes, and m Γ denotes the number of flows in G. In the matrix, a row represents a transmission mode T M , and its element Γ TM , fi represents the number of traffic streams utilized by flow f i in this mode. That is, a T M is a vector denoting a possible set of transmissions from all m Γ flows in a time slot. By definition, all flows with traffic streams in a transmission mode can be activated simultaneously. However, the concurrent flows may interfere with each other in the MIMO network. Thus, the scheduling algorithms should firstly generate interference-free T M s for constructing a desired Γ. Next, with these modes representing the time slots to be used, they are expected to determine the time fraction p tm for every transmission mode or time slot to compose a TDMA frame that can satisfy the scheduling target. Accordingly, the scheduling algorithms should secondly find the frame length and the number of active time slots of each transmission mode in one frame. This can be done by considering that if the value of p tm for every T M is given, the frame length is then the smallest positive integer I such that p tm · I is an integer for every transmission mode, and the number of active times for a T M is simply its p tm ·I. Now, given the two aims of the scheduling algorithms, we proceed to develop the transmission mode generating algorithms for T M s in the next subsection, and leave the methods for determining p tm s till Section 4.

Transmission Mode Generating Algorithm 1.
To obtain the transmission modes for MIMO networks, we design Transmission Mode Generating Algorithm 1, or shortly TMGA1. As shown in Algorithm 1, the inputs of TMGA1 include the set of source DOFs {K m }, the set of destination DOFs {K n }, and the set of weak contention graphs {C oweak }, for the flow components {C o } obtained previously. For each C o , the algorithm generates all possible transmission modes T M s, according to the component's K m and K n . Then, each of the modes is examined for its validity conservatively or nonconservatively. Two different versions of TMGA1, namely, TMGA1-con and TMGA1-non, are conducted here according to Section 2.3 revealing that the admission of flows is order dependent. In TMGA1-con, a transmission mode is considered to be valid if and only if all its admission orders, A O s, can lead to the mode. On the contrary, in TMGA1-non, the mode is said to be valid if there exists at least one A O to confirm its validity. For either of the versions, the algorithm requires Step 1 to update α, β, and γ with where f i is the flow in G o now considered for the proceeding A O and T M , and N I S ( f i ) is the set of neighbors, in G o , located within R I of f i 's source node, and N I R ( f i ) is that for f i 's destination node.
Following that, in Step 2, these updated values are used to verify whether the α( f i )-stream traffic can be established on f i without interfering with the other flows according to the DOF constrains given in (1) and (2). If all f i 's in the A O are verified successfully, the corresponding T M could then be conservatively or nonconservatively considered to be an element of Γ o (Γ for C o ). In addition, to reduce the size of Γ o , the T M 's with their capabilities being subset of the others will not be included. Then, all the reduced Γ o 's are merged to form a single scheduling matrix Γ so that its size (t Γ ) can be tractable for the cross-layer design. Finally, after added with an empty T M as the default element for scheduling, the complete Γ is given in Step 3.
To be clear, let us review the example in Figure 2. Obviously, this example presents no strong contention and thus TMGA1 only needs to consider a single flow component As already shown, this example has K 1 = K 2 = 1 and K 3 = K 4 = 2. However, they are represented With these inputs, the algorithm generates a set of all possible transmission modes Among these, we consider the mode of (1, 1) with its two possible admission orders, , and the updated values satisfy the DOF constrains by α( f 1 , and these also satisfy the DOF constrains by α( Similarly, after the initialization, the update for the second order will start with f 2 , resulting in α( f 2 ) = T M ( f 2 ) = 1 and β( f 2 ) = 0, as before; but now α( f 1 ) = 0 and thus γ( f 2 ) = α( f 1 ) = 0. Nevertheless, the above still satisfies the DOF constrains. When then updating for f 1 Consequently, it can only satisfy the receive DOF constrain by α( f 1 )+γ( f 1 ) (= 1) ≤ K n ( f 1 ) (= 1), but fails on the transmit DOF constraint since α( f 1 ) + β( f 1 ) (= 2) / ≤K m ( f 1 ) (= 1). Finally, with the two A O s' results, if the nonconservative version (TMGA1-non) is adopted, the transmission mode T M = (1, 1) is accepted; otherwise, if the conservative version (TMGA1-con) is adopted, the mode is rejected.
For the time complexity of TMGA1, we recall f = − −− → (u, v) and denote by ξ( f ) = δ in (u) + δ out (v) the number of flows that f has a strong contention with, where δ in (v) and δ out (v) refer to in and out degrees of the node v, respectively. With that, we can let ξ = max f ξ( f ) and denote it by ξ = Δ(G strong ). Then, the number of C o in the network would ( Initialize {α} = ∅, {β} = ∅, {γ} = ∅; (8) for each f i sorted with the increasing order of A O do (9) {Step 1: update α, β and γ} (10) α {Step 2: verify for the Trasmit/Receive DOF constraints} (14) Success end if (18) end for (19) if Success ( f i ) = 1, ∀i then (20) Success Although the time complexity could be high as shown in what mentioned above, TMGA1 is the only way to explore all possible transmission modes that are feasible according to the transmit DOF constraint and receive DOF constraint for the MIMO networks. In fact, designing interference-free scheduler for multihop wireless networks is considered to be a hard problem in the literature, and recent works have shown that it is in fact NP complete [12,13]. Thus, as a rule of thumb, if one has no time to find all the modes with an algorithm such as TMGA1, a possible solution is using a polynomial time heuristic such as the algorithm (TMGA2) shown in what follows to generate a subset of these modes satisfactory enough, within a reasonable time limit.

Transmission Mode Generating Algorithm 2.
In what mentioned before, TMGA1 can find all T M 's for each C o . However, the number of T M s will grow exponentially with the increase of the size of C o , which would be intractable when it is relatively large. Therefore, we propose here a polynomial time heuristic algorithm, namely, Transmission Mode Generating Algorithm 2, or shortly, TMGA2, that can generate a good subset of T M 's for each C o . The central idea of TMGA2 is to consider a f i ∈ C o as the first flow to be admitted for a S-stream flow, and then randomly choose other f j 's ∈ C o to see if they could cooperatively construct a valid T M . Note that the starting f i is chosen with an increasing order and the following f j s could be the same of f i , implying that multiple S-streams could be established in a single f i . Furthermore, the seeking process could be repeated several times according to the iteration limit L. With that, we can control its time complexity to be satisfactory enough while obtaining a good Γ o that can cover all flows in C o and can evenly distribute the number of times that each flow is included in certain T M s.

EURASIP Journal on Wireless Communications and Networking
In what mentioned previously, f i is the flow now considered in C o . Clearly, each neighbor of f i 's destination node would consume α( f i ) DOFs to null its interference at the receiver if it has data to transmit right after f i . Thus, conservatively it should take f i 's α into account as a part of its own β and then check the transmit DOF constraint to avoid the interference. Symmetrically, each neighbor of f i 's source node will be interfered with f i 's transmission if it wants to concurrently receive its own traffic right after f i . Hence, by taking f i 's α into account as a part of its own γ for the receive DOF constraint, it could be interference-free in the situation. In TMGA2, if the optional update and the optional verification (as shown in lines 16 to 17, and lines 25 to 29 in Algorithm 2, resp.) are considered, the algorithm is operated conservatively, and called TMGA2-con. On the other hand, if these optional parts are not involved, then it is TMGA2-non. Obviously, the two versions correspond to those of TMGA1, and their performances will be compared in the experiments.
Let us use Figure 2, again, as our example and set S = 1 so that the algorithm will consider 1-stream flow for each admission. With the initial {α} = {0, 0} and {W } = {1, 2}, TMGA2 starts by assuming f 1 to be admitted and accordingly updating the related parameters to be {α} = {1, 0} and {W } = {0, 2}. In the same time, the neighbor of f 1 , that is, f 2 , should also consume its link capability (DOF) to be interference-free from f 1 's transmission. Thus, {W } is further changed to be {0, 1}. In what follows, it updates f 1 's α and β with the equations in (3) as TMGA1 does. If TMGA2non is considered, the algorithm will proceed to examine the next f i that has the lowest random value V and has its link capability W equal to or larger than S (= 1). Now f 2 is the only candidate, and the following process for updating α and β and verifying the DOF constraints is the same as that for TMGA1. Finally, {α} = {1, 1} found is used to update T M as (1,1), which is the result of this case. Then, with f 2 as the new start, the process continues to search other valid T M , and will end after the searching. In fact, the algorithm is designed to repeat the whole process L times, and with the random nature of V , each of the iterations may lead to a different T M complying with our design aim. Now, let us turn out to focus on the conservative version of TMGA2. As shown in the TMGA1 example, T M = (1, 1) is accepted by TMGA1-non but is rejected by TMGA1-con, because the latter considers both A O s of ( f 1 , f 2 ) and ( f 2 , f 1 ), and finds the second order to be unacceptable. In TMGA2con, this is done implicitly. To see why, let us reconsider the above process started with f 1 . After checking α and β for f 1 , TMGA2-con must also make the optional checks for f 1 's neighbors. In this case, no f i is the neighbor of f 1 's destination node, and thus no update for its β is needed. On the other hand, f 2 is the neighbor of f 1 's source node. However, f 2 currently has no established traffic and thus has no need to change its γ. With the unchanged values, the optional verification for f 2 is easily passed, in addition to the primary verification for f 1 . Consequently, TMGA2-con may go to check the next, that is, f 2 , as TMGA2-non would do.
As expected, TMGA2-con first makes the primary update for f 2 , which keeps β( f 2 ) = 0 and changes γ( f 2 ) to be 1, then it makes the optional update and finds that f 1 is the neighbor of f 2 's destination node and has 1-stream traffic established before. Thus, it changes β( f 1 ) to be 1. Meanwhile, it finds no neighbor of f 2 's source node, and thus it changes nothing. However, since the optional update changes at least one value (β( f 1 )), its optional verification may produce nontrivial results. In fact, it has α( f 1 ) + β( f 1 ) (= 2) / ≤K m ( f 1 ) (= 2), indicating that T M = (1, 1) is not valid. Clearly, this example shows that while A O = ( f 1 , f 2 ) is examined by the primary update and verification, A O = ( f 2 , f 1 ) is also verified by the optional counterpart in TMGA2-con.
For the time complexity of TMGA2, we note that the time complexity for a single C o is O(L 2 · e + L · e 3 ), where e denotes the number of edges (flows) in the C o , that is, e = |E Co |. Then, considering p ≤ ξ + 1 graph components (C o s), and denoting by e the maximal e in the network, that is, e = max e {e = |E Co |}, we can have the polynomial time complexity for TMGA2 as O(p · L 2 · e + p · L · e 3 ).

Cross-Layer Schemes
Now, given a network G with MIMO links, the source and destination nodes of K end-to-end communication sessions, and the scheduling matrix Γ obtained previously, in this section we aim to find a rate allocation r specifying the rate r k for each session k, along with a flow allocation vector f k specifying the amount of traffic f k e of session k routed through link e, and a transmission schedule vector p specifying time fraction p tm for each transmission mode T M . More precisely, we want to solve the following optimization problems. Definition 1. The Maximum throughput Rate Allocation (MRA) problem seeks a feasible rate allocation vector r = [r 1 , r 2 , . . . , r K ], along with a feasible flow allocation vector and a feasible transmission schedule vector such that the throughput K k=1 r k is maximized.
Definition 2. The Proportional fair Rate Allocation (PRA) problem seeks a feasible rate allocation vector r, along with a feasible flow allocation vector and a feasible transmission schedule vector such that the utility function K k=1 log(r k ) is maximized.
Definition 3. The Weighted fair Rate Allocation (WRA) problem seeks a feasible rate allocation vector r, along with a feasible flow allocation vector and a feasible transmission schedule vector suchthat r i /ψ i = r j /ψ j , 1 ≤ i / = j ≤ K, where ψ i denotes the positive weight of session i, with the assumption of 1 = ψ 1 > ψ 2 , . . . , > ψ K > 0, and the throughput K k=1 r k is maximized.
For these problems, we propose our cross-layer schemes with the same basic steps. First, we identify all possible transmission modes or a subset of transmission modes by means of TMGA1 or TMGA2 given previously. Second, we formulate the problems as Linear Programming problems (LP)s and Convex Programming problems (CPs) based on the transmission modes found in above. More precisely, we have the following. (5)

Constraint. (i) Flow conservation for source nodes
where E out sk (E in sk ) denotes the set of outgoing (incoming) edges of source node s k .
(ii) Flow conservation for intermediate nodes where E out v (E in v ) denotes the set of outgoing (incoming) edges where c fi is the link capacity or rate of Γ TM , fi . (iv) Scheduling constraint tΓ t=1 p tm = 1.
(v) Flow rate validity: (vi) Scheduling validity (vii) Session rate validity Remark 1. (i) Constraint (6) ensures that the net amount of traffic going out of the source node of a session is equal to that of the end-to-end session rate.
(ii) Constraint (7) ensures that the amount of traffic of a session entering any intermediate node is equal to that existing the intermediate node.
(iii) Constraint (8) ensures that the total traffic on a link is no more than the average link transmission rate.
(iv) Constraint (9) ensures that the summation of all elements in a transmission schedule vector is equal to 1.
(v) Constraints involving f k e imply that a session k can be routed through different links, es. That is, a session can go through several different routes towards its destination, which is called traffic splittable.

Linear Programming 2 (LP2): WRA
We have subject to the constraints (6)- (12), and When compared with the objective of LP1 that only maximizes the network throughput and involves no consideration for fairness, LP2 has the extra constraint (14) for the weighted fairness among the session traffics. That is, LP2 aims to maximize the throughput while preserving the weighted fair shares in the sessions. On the other hand, the PRA problem can be formulated as a convex program because it has the same linear constraints as the MRA problem and the objective is to maximize a concave utility function. That is,
There are efficient algorithms for solving LPs and CPs [14,15]. In our experiments, we use MATLAB to solve the LPs, and its CVX package [16] to solve the CPs. Their results are given in the following section.

Experiment Results
In this section, we report on simulation experiments made in order to verify the cross-layer schemes designed previously. To this end, different sets of experiments are conducted to exhibit their distinct performances on different network topologies frequently used. In addition, we take into account that throughput is in fact affected by link capability or rate.
Thus, to focus on the schemes' correctness and compare their performance, we assume that each antenna (DOF) in the MIMO system has the same capability (of 1). The rate allocated to each session, r k , and the system throughput, K k=1 r k , are normalized by the capability to provide their values independent of a certain system.

Wireless Backhaul Network.
A wireless backhaul network (WBN) is considered as a collection of access points (APs), along with the uplink (to the Internet) and downlink (from the Internet) demands for each AP. The MAC layer adopted is usually assumed to schedule data to multiple receivers across timeslots using a TDMA-based scheme, which complies with our scenarios. For the network, we consider only uplink traffics conveyed with a common wireless channel shared by the MIMO links. In addition, we consider also that access traffic from the users to their respective APs is transmitted in a separate frequency band, and does not interfere with the wireless backhaul traffic considered here. For WBNs, the cross-layer schemes can be used to schedule the MIMO links without interference, and to maximize the system throughput according to the traffic demands form APs.

Topology 1.
Let's re-examine the topology in Figure 2, and regard it as a backhaul network as follows. That is, N = {1, 2, 3, 4} now represents the set of APs, each with DOF of 2, and node 1 denotes the AP connecting to the Internet, which is usually referred to as Transit Access Point In other words, the system throughput is dominated by the APs closet to TAP. The unfairness problem has also been reported in [17,18]. However, unlike the previous works, we address here joint rate control, routing, and scheduling for the MIMO-based wireless backhaul networks with a scheduling-based (TDMA-based) MAC. To be specific, with LP2 we can achieve the weighted fairness among the sessions while maximizing the aggregated system throughput. More precisely, LP2 produces, for example,

Topology 2.
Let us now consider the example in Figure 3. In principle, it can be also regarded as a wireless backhaul network with node 1 as TAP and other nodes as APs. With the more complex topology, our aim is to show how the cross-layer schemes can find multiple routes for a session to fulfill their specific maximization goals. To this end, three sessions (s 1 = 6, d 1 = 1), (s 2 = 7, d 2 = 1), and (s 3 = 8, d 3 = 1) are conducted for the leaf nodes (6, 7, and 8). Given that, LP1 produces {r} = {r 1 = 0.3781, r 2 = 0.3781, r 3 = 0.5771}. To support these session rates, a single route to TAP (node 1) is allocated to the first two sessions, respectively. That is, the route for the first session is f 5 → f 3 → f 1 and that for the second is f 6 → f 4 → f 2 , in which every single flow contributes the data rate of 0.3781 to its session. On the other hand, LP1 finds two routes for the third session: In what mentioned above, each flow provides its rate of 0.2885. Then, by combining the two routes, it can support r 3 = 0.5771. Similarly, by setting ψ i = 1, ∀i, LP2 can give each session i the same rate allocation r i = 0.4, with the same routes obtained in what mentioned above. Finally, CP1 also finds the same equal rate allocation as LP2, and thus, it has the same implication on the fairness in this case.

Wireless Mesh Network.
In this set of experiments, we randomly generate wireless mesh networks (WMNs) with n nodes located in a 1000 × 1000 m 2 region. The transmission range (R T ) and the corresponding interference range (R I ) are set to 400 m and 600 m, respectively. In addition, these networks are so conducted to ensure their connectivity of the resulting topologies. Then, the cross-layer schemes are examined on these networks to provide their performances on rate allocated to each session, throughput, and weighted fairness. In particular, the sessions are sorted in the increasing order of their rate values to clearly show their performance differences.
As the first part of this experiment set, we examine our cross-layer schemes on a network with 15 nodes, as shown in Figure 4. In the network, we equip each node with 2 antennas and generate 10 communication sessions with their source and destination nodes to be randomly generated so that no two sessions have the same sources and destinations. Note that, in this example, the maximum number of flows s j in a C o is 18, and clearly, the number of permutations for the s j = 18 elements (flows), that is, its o j , is generally an intractable value for computation.
A similar situation also happens to the problem of finding Maximal Independent Sets (MISs). Although the algorithm in [19] can be used to find all MISs, it is still intractable that the number of MISs will grow exponentially with the increase of the graph size, and this is the reason why we need to develop TMGA2. In the experiment, TMGA2 is used to generate transmission modes with L = 1 and L = 10, respectively. The corresponding rate allocation results are shown in Figure 5. As expected, the MRA scheme can give certain sessions the highest r i 's, but it also results in a severe unfairness on the rate allocation. This can be seen in the figure that the first several sessions sorted have their rates equal to zero but the latter ones obtain very high values. On the contrary, the WRA scheme performs best in terms of fairness. In fact, with ψ i = 1, ∀i, the rate allocated to each session i is the same. Note that the WRA scheme has the capability to achieve arbitrary weighted fairness among the sessions. However, in the experiments, we simply show the equal weight results. Between the two extremes, the PRA scheme is much better than the MRA scheme on the fairness, but it cannot achieve an absolutely even distribution, and certainly it cannot achieve the weighted fairness. Finally, it could be seen that with the conservative generating approach, labeled with "(con)," the three schemes tend to have their rate allocations lower than those with the nonconservative counterparts, labeled with "(non)." This trend is further verified in the following experiments.
In the second part of the experiments, we aim to compare the conservative and the nonconservative transmission mode generating approaches in TMGA1 and TMGA2 and to evaluate the efficiency of TMGA2. In fact, TMGA1 is used here as a benchmark because it can generate all possible transmission modes (T M s) and can give the crosslayer schemes the most complete scheduling matrix (Γ). However, to be numerically tractable for TMGA1, we run the experiments on a smaller network that has 6 nodes and 6 sessions with the same setting given previously. In this network, each node is randomly equipped with 1 or 2 antennas, and three numbers of iteration limit, L = 1, L = 2, and L = 10, are examined for TMGA2. In addition, to quantitatively analyze the fairness performances for these schemes, we let S i denote the throughput of session i, and let ψ i denote the associated weight, and we use these parameters to obtain the fairness index in [20] as follow: The results are shown in Figure 6, wherein "All" denotes that for TMGA1. With this figure, we summarize our observations from the following two aspects. First, from the throughput aspect in Figure 6(a), we can see that the MRA scheme achieves the highest values in spite of L. That is to say, although a larger L may lead to a larger number of T M 's in Γ, it does not affect MRA's throughput performance here. This is because MPA could always maximize a single session while sacrificing all other sessions with Γs obtained, as indicated in Section 5.1. Similarly, L does not affect much PRA and WRA with conservative Γ's. However, if given nonconservative Γ's, it has stronger impacts on the two schemes. This is because a larger Γ resulted may open more opportunities for these schemes to optimize their target functions, and the nonconservative Γ's found would have their sizes larger than the conservative counterparts. Apart from these differences, we note also that the Γ's resulted from L = 1 or 2 would be enough for most of the schemes. Even so, one may still expect a nonconservative Γ for higher throughputs, despite L. However, the higher throughputs are obtained with the costs of providing a more strict admission control that can correctly admit its sessions with the admission orders (A O 's) recorded to realize the T M 's in a given nonconservative Γ. On the other hand, with a conservative Γ, every possible A O would be already considered for a T M , and thus no such overheads would be involved.
As the second aspect, we consider the fairness results in Figure 6(b). Clearly, it is shown that the WRA scheme perfectly achieves the weighted fairness of ψ i = 1, ∀i, and its fairness index values are all of 1 in spite of L. On the other hand, the PRA scheme has its values ranging from 0.7 to 0.9, and the MRA scheme does not exceed 0.52. In addition, similar trends for the throughput results also hold here. For example, the nonconservative Γ's usually provide better performances than the conservative counterparts. However, we note that a higher L improves most the PRA scheme on the throughput, but it improves most the MRA scheme on the fairness. Thus, it is suggested that one may choose L depending on the performance metric most concerned. Nevertheless, in general, L = 1 or 2 could satisfy these schemes with low time complexity, as indicated previously.
As the final part of the experiments, we examine TMGA2 with more topologies to know its effectiveness. To be specific, we let L = 10 and conduct two sets of experiments that are numerically tractable for this aim. Specifically, by randomly deploying 6 nodes and 6 sessions in the network, we conduct 30 different topologies as the first set of experiments. Note that although this set has the same numbers as the above, with the variation it actually results in very different topologies and traffic conditions to be considered. With the same way, we conduct another 30 topologies as the second set of experiments, but now there are 10 nodes and 8 sessions randomly deployed to reasonably represent the different numbers of nodes and sessions that may involve.
The throughput and fairness results for the first set are given in Figures 7(a) and 7(b), respectively. From these figures, we can easily see that the two performance EURASIP Journal on Wireless Communications and Networking metrics are significantly varied by the different topologies, as expected. However, for each single topology, the relative relationships among the results of these schemes have the same trend as Figure 6 has shown. Clearly, this trend can be also observed in Figures 7(c) and 7(d) for the results of the second set. With the above, it could be said that the proposed schemes in TMGA2 are able to generate the transmission modes that can efficiently fulfill the design aim of solving the MRA, PRA, and WRA problems in spite of the topologies with the different numbers of nodes and sessions.

Conclusion
In this work, we take into account the fact that for fully realizing the potential of MIMO technology, higher layer must be designed to be cognizant of the MIMO link capability. To this end, instead of simply translating the achievable gain for individual MIMO links into end-to-end gain in the network, we present a mathematical framework that can express the cross-layer gain on throughput as a function of network routing, link scheduling, and stream control in the presence of interference. With that, we propose Transmission Mode

EURASIP Journal on Wireless Communications and Networking
Generating Algorithms (TMGAs) to generate TDMA-based scheduling matrices and give our Linear Programming-(LP-) based and Convex Programming-(CP-) based schemes to maximize the network throughput, and to achieve certain fairness (such as weighted fairness, in particular) at the same time. The simulation experiments' results show that the proposed schemes are all capable on achieving our design aims, and every scheme has its own unique performance benefit and tradeoff between throughput and fairness.