Skip to main content
Erschienen in: EURASIP Journal on Wireless Communications and Networking 1/2010

Open Access 01.12.2010 | Research Article

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

verfasst von: Jain-Shing Liu, Chun-Hung Richard Lin, Kuang-Yuan Tung

Erschienen in: EURASIP Journal on Wireless Communications and Networking | Ausgabe 1/2010

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

MIMO links can significantly improve network throughput by supporting multiple concurrent data streams between a pair of nodes and suppressing wireless interference. In this paper, we study joint rate control, routing, and scheduling in MIMO-based multihop wireless networks, which are traditionally known as transport layer, network layer, and MAC layer issues, respectively. Our aim is to find a rate allocation along with a flow allocation and a transmission schedule for a set of end-to-end communication sessions so as to maximize the network throughput and also to achieve the proportional or weighted fairness among these sessions. To this end, we develop Transmission Mode Generating Algorithms (TMGAs), and Linear Programming- (LP-) and Convex Programming- (CP-) based optimization schemes for the MIMO networks. The performances of the proposed schemes are verified by simulation experiments, and the results show that the different schemes have different performance benefits when achieving a tradeoff between throughput and fairness.

1. 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 [13]. 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, 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 MIMO-based 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 scheduling-based 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 cross-layer 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.

2. System Model

2.1. Node Topology Graph

In this work, we consider a multihop wireless network that consists of a finite set https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq1_HTML.gif of nodes where each node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq2_HTML.gif is stationary and has a MIMO antenna array with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq3_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq4_HTML.gif and a uniform interference range https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq5_HTML.gif . Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq6_HTML.gif denote the set of all pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq7_HTML.gif of distinct nodes in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq8_HTML.gif such that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq9_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq10_HTML.gif are within each other's transmission range. An ordered pair of nodes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq11_HTML.gif in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq12_HTML.gif is said to form a flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq13_HTML.gif if node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq14_HTML.gif needs to transmit to node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq15_HTML.gif . https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq16_HTML.gif is said to be active if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq17_HTML.gif is currently transmitting to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq18_HTML.gif ; otherwise, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq19_HTML.gif is said to be inactive. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq20_HTML.gif denote the set of all flows. Hereafter, the graph https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq21_HTML.gif defined above is referred to as node topology graph.

2.2. Overview of MIMO Antenna Array Processing

Figure 1 illustrates the transmitter and receiver antenna array and the MIMO channel for the case when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq22_HTML.gif antennas are used at the both ends. To transmit a signal https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq23_HTML.gif through a transmit beamformer over the 2-antenna array, the transmitter sends two weighted copies of the signal, one on each antenna. That is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq24_HTML.gif is sent over antenna 1, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq25_HTML.gif is sent over antenna 2, with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq26_HTML.gif called the transmitting weight vector. Then, the two signals are weighted by the receiver with a receiving weight vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq27_HTML.gif and summed to produce https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq28_HTML.gif . Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq29_HTML.gif denote the matrix of channel coefficients between the transmitter and the receiver. The above can thus be written as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq30_HTML.gif , and the complex gain experienced by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq31_HTML.gif is then a consequence of transmit beamforming, the channel, and receive beamforming of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq32_HTML.gif . Now with appropriate weight vectors https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq33_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq34_HTML.gif , the received signal https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq35_HTML.gif can achieve a unit gain ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq36_HTML.gif ) if it is received at the desired receiver or a zero gain ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq37_HTML.gif ) 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq38_HTML.gif if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq39_HTML.gif 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.
(1)
If the receiver corresponding to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq41_HTML.gif is the desired receiver of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq42_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq43_HTML.gif is fixed, then we could require https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq44_HTML.gif to satisfy https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq45_HTML.gif so that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq46_HTML.gif can be received with unit gain.
 
(2)
If the receiver corresponding to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq48_HTML.gif is already involved in another link, then https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq49_HTML.gif is fixed and we could require https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq50_HTML.gif to satisfy https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq51_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq53_HTML.gif , and the receiver corresponding to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq54_HTML.gif wants to receive signals from different transmitter without interference, then we could require https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq55_HTML.gif to satisfy https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq56_HTML.gif so as to null the contribution of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq57_HTML.gif at the receiver.
 

2.3. Transmission Constraints on MIMO Links

Consider the multihop wireless network https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq58_HTML.gif shown in Figure 2, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq59_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq60_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq61_HTML.gif . Assume that ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq62_HTML.gif ) every link has the same https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq63_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq64_HTML.gif , ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq65_HTML.gif ) the numbers of antennas are https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq66_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq67_HTML.gif , and ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq68_HTML.gif ) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq69_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq70_HTML.gif 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., https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq71_HTML.gif is active). Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq72_HTML.gif be the (1 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq73_HTML.gif 1) transmitting weight vector that node 2 is currently using to weight its transmitted signal and let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq74_HTML.gif be the (1 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq75_HTML.gif 1) receiving weight vector that node 1 is currently using to weight the signal received from node 2. In this case that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq76_HTML.gif is currently active, if node 3 wants to receive an interference-free signal from node 4, it must design its receiving weight vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq77_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq78_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq79_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq80_HTML.gif is the transmitting weight vector of node 4, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq81_HTML.gif is the receiving weight vector of node 3. Now, given https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq82_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq83_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq84_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq85_HTML.gif , the system of these two equations would have a unique solution https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq86_HTML.gif because the elements of each of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq87_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq88_HTML.gif 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, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq89_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq90_HTML.gif 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., https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq91_HTML.gif is active). With similar considerations for the above, this example can be represented by the equations of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq92_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq93_HTML.gif , but now the objective to be solved becomes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq94_HTML.gif , which is (1 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq95_HTML.gif 1) weight vector. That is, the single variable https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq96_HTML.gif involves the system of the two equations associated with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq97_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq98_HTML.gif 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 ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq99_HTML.gif ) is order dependent. That is, if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq100_HTML.gif is admitted first, then https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq101_HTML.gif is possibly admitted. On the contrary, if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq102_HTML.gif is admitted first, then https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq103_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq104_HTML.gif be the transmitter and node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq105_HTML.gif the receiver, and suppose that there are https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq106_HTML.gif streams currently received by nodes located within https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq107_HTML.gif 's interference range, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq108_HTML.gif streams currently transmitted by nodes located within https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq109_HTML.gif 's interference range, where a steam denotes a copy of data signal transmitted by the MIMO system. Suppose further that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq110_HTML.gif wants to transmit an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq111_HTML.gif -stream flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq112_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq113_HTML.gif . Then, for interference-free communications in the system, we have the following constraints.
Theorem 1 (transmit DOF constraint).
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq114_HTML.gif can transmit an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq115_HTML.gif -stream flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq116_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq117_HTML.gif without interfering with the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq118_HTML.gif streams concurrently received by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq119_HTML.gif 's neighbors if
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ1_HTML.gif
(1)
Proof.
Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq120_HTML.gif denote the set of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq121_HTML.gif 's neighbors that are receiving the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq122_HTML.gif streams and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq123_HTML.gif denote the number of streams that node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq124_HTML.gif is currently receiving, for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq125_HTML.gif (i.e., https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq126_HTML.gif ). Suppose that for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq127_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq128_HTML.gif knows the receiving weight vector of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq129_HTML.gif , and the channel matrix between it and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq130_HTML.gif . Then, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq131_HTML.gif can transmit its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq132_HTML.gif -stream flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq133_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq134_HTML.gif with the weight vectors https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq135_HTML.gif subject to the conditions of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq136_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq137_HTML.gif is the column vector of length https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq138_HTML.gif defined as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq139_HTML.gif with 1 at the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq140_HTML.gif th position, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq141_HTML.gif is the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq142_HTML.gif matrix defined as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq143_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq144_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq145_HTML.gif , for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq146_HTML.gif . Because the elements of each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq147_HTML.gif involved would be i.i.d in general, the system of equations https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq148_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq149_HTML.gif of the size of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq150_HTML.gif , would have no solution if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq151_HTML.gif .
Theorem 2 (receive DOF constraint).
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq152_HTML.gif can receive an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq153_HTML.gif -stream flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq154_HTML.gif from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq155_HTML.gif without interfering with the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq156_HTML.gif streams concurrently transmitted by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq157_HTML.gif 's neighbors if
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ2_HTML.gif
(2)
Proof.
Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq158_HTML.gif denote the set of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq159_HTML.gif 's neighbors that are transmitting the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq160_HTML.gif streams and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq161_HTML.gif denote the number of streams that node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq162_HTML.gif is currently transmitting, for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq163_HTML.gif (i.e., https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq164_HTML.gif ). Suppose that for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq165_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq166_HTML.gif knows the transmitting weight vector of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq167_HTML.gif , and the channel matrix between it and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq168_HTML.gif , for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq169_HTML.gif . Then, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq170_HTML.gif can receive its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq171_HTML.gif -stream flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq172_HTML.gif from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq173_HTML.gif with the weight vectors https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq174_HTML.gif subject to the conditions of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq175_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq176_HTML.gif is the column vector of length https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq177_HTML.gif defined as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq178_HTML.gif with 1 at the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq179_HTML.gif th position, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq180_HTML.gif is the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq181_HTML.gif matrix defined as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq182_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq183_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq184_HTML.gif , for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq185_HTML.gif . Because the elements of each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq186_HTML.gif involved would be i.i.d in general, the system of equations https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq187_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq188_HTML.gif of the size of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq189_HTML.gif would have no solution if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq190_HTML.gif .

3. 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq191_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq192_HTML.gif are said to strongly contend with each other if and only if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq193_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq194_HTML.gif . Given that, we define https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq195_HTML.gif as the strong contention graph, where a vertex in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq196_HTML.gif corresponds to a flow in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq197_HTML.gif , and a bidirectional edge in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq198_HTML.gif denotes the corresponding flows in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq199_HTML.gif strongly contend with each other in the node topology graph https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq200_HTML.gif .
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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq201_HTML.gif as the weak contention graph. In this graph, a directional edge between a pair of vertices corresponding to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq202_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq203_HTML.gif in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq204_HTML.gif arises if any one of the three weak-interference conditions holds: ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq205_HTML.gif ) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq206_HTML.gif , ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq207_HTML.gif ) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq208_HTML.gif , and ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq209_HTML.gif ) there exists a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq210_HTML.gif (possibely https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq211_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq212_HTML.gif ) such that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq213_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq214_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq215_HTML.gif . To be specific, we consider a MIMO network of 8 nodes and 8 flows as an example, showing its node topology graph https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq216_HTML.gif in Figure 3(a) and the derived https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq217_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq218_HTML.gif in Figures 3(b) and 3(c), respectively. For example, we can see in Figure 3(a) that when node 4 is transmitting to node 2 (with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq219_HTML.gif ), node 2 cannot simultaneously transmit to node 1 (with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq220_HTML.gif ), and vice versa. This is a strong interference, and is denoted by a bidirectional edge between https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq221_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq222_HTML.gif 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, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq223_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq224_HTML.gif will contend with each other. This corresponds to the first weak-interference condition, and is shown by a bidirectional edge between https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq225_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq226_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq227_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq228_HTML.gif interfere with each other. Therefore, there is a bidirectional edge between https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq229_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq230_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq231_HTML.gif ), this node can interfere with node 1's receipt of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq232_HTML.gif from node 3. This interference is shown by a directional edge from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq233_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq234_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq238_HTML.gif , that contain only weak contentions and can be represented by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq239_HTML.gif . This step is done by finding a valid coloring for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq240_HTML.gif with, for example, the greedy algorithm given in [11] that sorts vertices in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq241_HTML.gif by decreasing vertex degrees, and according to the order, colors them one by one using a first-fit greedy approach. Then, the flows of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq242_HTML.gif with the same color in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq243_HTML.gif compose a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq244_HTML.gif , and the corresponding subset of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq245_HTML.gif composes a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq246_HTML.gif .

3.1. Transmission Modes

After obtaining https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq247_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq248_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq249_HTML.gif that can be active simultaneously. A https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq250_HTML.gif matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq251_HTML.gif is used to represent the set of transmission modes, and called scheduling matrix, in which https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq252_HTML.gif denotes the number of transmission modes, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq253_HTML.gif denotes the number of flows in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq254_HTML.gif . In the matrix, a row represents a transmission mode https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq255_HTML.gif , and its element https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq256_HTML.gif represents the number of traffic streams utilized by flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq257_HTML.gif in this mode. That is, a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq258_HTML.gif is a vector denoting a possible set of transmissions from all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq259_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq260_HTML.gif s for constructing a desired https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq261_HTML.gif . Next, with these modes representing the time slots to be used, they are expected to determine the time fraction https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq262_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq263_HTML.gif for every https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq264_HTML.gif is given, the frame length is then the smallest positive integer https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq265_HTML.gif such that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq266_HTML.gif is an integer for every transmission mode, and the number of active times for a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq267_HTML.gif is simply its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq268_HTML.gif . Now, given the two aims of the scheduling algorithms, we proceed to develop the transmission mode generating algorithms for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq269_HTML.gif s in the next subsection, and leave the methods for determining https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq270_HTML.gif s till Section 4.

3.2. 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq271_HTML.gif , the set of destination DOFs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq272_HTML.gif , and the set of weak contention graphs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq273_HTML.gif , for the flow components https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq274_HTML.gif obtained previously. For each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq275_HTML.gif , the algorithm generates all possible transmission modes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq276_HTML.gif s, according to the component's https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq277_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq278_HTML.gif . 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, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq279_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq280_HTML.gif to confirm its validity. For either of the versions, the algorithm requires Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq281_HTML.gif to update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq282_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq283_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq284_HTML.gif with
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ3_HTML.gif
(3)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq285_HTML.gif is the flow in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq286_HTML.gif now considered for the proceeding https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq287_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq288_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq289_HTML.gif is the set of neighbors, in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq290_HTML.gif , located within https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq291_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq292_HTML.gif 's source node, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq293_HTML.gif is that for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq294_HTML.gif 's destination node.
Algorithm 1: Transmission mode generating Algorithm 1 (TMGA1)
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq295_HTML.gif ) INPUT: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq296_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq297_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq298_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq299_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq300_HTML.gif )for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq301_HTML.gif do
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq302_HTML.gif ) Generate all transmission modes, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq303_HTML.gif s, for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq304_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq305_HTML.gif ) for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq306_HTML.gif do
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq307_HTML.gif )  Generate all admission orders, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq308_HTML.gif s, for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq309_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq310_HTML.gif )  for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq311_HTML.gif do
(7)   Initialize https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq312_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq313_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq314_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq315_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq316_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq317_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq318_HTML.gif )   for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq319_HTML.gif sorted with the increasing order of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq320_HTML.gif do
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq321_HTML.gif )     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq322_HTML.gif Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq323_HTML.gif : update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq324_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq325_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq326_HTML.gif https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq327_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq328_HTML.gif )     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq329_HTML.gif ;  https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq330_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq331_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq332_HTML.gif )     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq333_HTML.gif ;  https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq334_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq335_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq336_HTML.gif )     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq337_HTML.gif ;   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq338_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq339_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq340_HTML.gif )     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq341_HTML.gif Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq342_HTML.gif : verify for the Trasmit/Receive DOF constraints https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq343_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq344_HTML.gif )    Success https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq345_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq346_HTML.gif )    if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq347_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq348_HTML.gif then
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq349_HTML.gif )     Success https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq350_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq351_HTML.gif )    end if
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq352_HTML.gif )   end for
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq353_HTML.gif )   if Success ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq354_HTML.gif ) = 1, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq355_HTML.gif then
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq356_HTML.gif )    Success( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq357_HTML.gif ) = 1;
(21)   end if
(22)  end for
(23)  if ((Conservative == 1 and Success ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq358_HTML.gif ) = 1, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq359_HTML.gif ) or
   (Conservative == 0 and Success ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq360_HTML.gif ) = 1, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq361_HTML.gif )) then
(24)    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq362_HTML.gif ;
(25)  end if
(26) end for
(27) Reduce https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq363_HTML.gif to be that in which https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq364_HTML.gif s.t. https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq365_HTML.gif
(28)end for;
(29) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq366_HTML.gif Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq367_HTML.gif : merge and output the scheduling matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq368_HTML.gif
(30)Merge https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq369_HTML.gif s to form a single https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq370_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq371_HTML.gif ;
(31)OUTPUT: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq372_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq373_HTML.gif ;
Following that, in Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq374_HTML.gif , these updated values are used to verify whether the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq375_HTML.gif -stream traffic can be established on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq376_HTML.gif without interfering with the other flows according to the DOF constrains given in (1) and (2). If all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq377_HTML.gif 's in the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq378_HTML.gif are verified successfully, the corresponding https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq379_HTML.gif could then be conservatively or nonconservatively considered to be an element of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq380_HTML.gif ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq381_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq382_HTML.gif ). In addition, to reduce the size of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq383_HTML.gif , the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq384_HTML.gif 's with their capabilities being subset of the others will not be included. Then, all the reduced https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq385_HTML.gif 's are merged to form a single scheduling matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq386_HTML.gif so that its size ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq387_HTML.gif ) can be tractable for the cross-layer design. Finally, after added with an empty https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq388_HTML.gif as the default element for scheduling, the complete https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq389_HTML.gif is given in Step https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq390_HTML.gif .
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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq391_HTML.gif . As already shown, this example has https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq392_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq393_HTML.gif . However, they are represented here by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq394_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq395_HTML.gif to be the inputs of TMGA1 in addition to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq396_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq397_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq398_HTML.gif . With these inputs, the algorithm generates a set of all possible transmission modes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq399_HTML.gif . Among these, we consider the mode of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq400_HTML.gif with its two possible admission orders, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq401_HTML.gif , as before. For the first order, TMGA1 initializes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq402_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq403_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq404_HTML.gif . Then it updates for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq405_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq406_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq407_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq408_HTML.gif (since https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq409_HTML.gif ), and the updated values satisfy the DOF constrains by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq410_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq411_HTML.gif . After that, it updates for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq412_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq413_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq414_HTML.gif (since https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq415_HTML.gif ), and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq416_HTML.gif , and these also satisfy the DOF constrains by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq417_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq418_HTML.gif . Thus, the first order https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq419_HTML.gif is valid.
Similarly, after the initialization, the update for the second order will start with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq420_HTML.gif , resulting in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq421_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq422_HTML.gif , as before; but now https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq423_HTML.gif and thus https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq424_HTML.gif . Nevertheless, the above still satisfies the DOF constrains. When then updating for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq425_HTML.gif , it results in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq426_HTML.gif in addition to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq427_HTML.gif updated previously. Thus https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq428_HTML.gif instead of 0, while https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq429_HTML.gif without change. Consequently, it can only satisfy the receive DOF constrain by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq430_HTML.gif , but fails on the transmit DOF constraint since https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq431_HTML.gif . Finally, with the two https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq432_HTML.gif s' results, if the nonconservative version (TMGA1-non) is adopted, the transmission mode https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq433_HTML.gif is accepted; otherwise, if the conservative version (TMGA1-con) is adopted, the mode is rejected.
For the time complexity of TMGA1, we recall https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq434_HTML.gif and denote by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq435_HTML.gif the number of flows that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq436_HTML.gif has a strong contention with, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq437_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq438_HTML.gif refer to in and out degrees of the node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq439_HTML.gif , respectively. With that, we can let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq440_HTML.gif and denote it by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq441_HTML.gif . Then, the number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq442_HTML.gif in the network would be https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq443_HTML.gif if the coloring algorithm in [11] is adopted. Now consider that the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq444_HTML.gif th https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq445_HTML.gif has the number of transmission modes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq446_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq447_HTML.gif (with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq448_HTML.gif denoting the total number of flows in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq449_HTML.gif ) is the size of this https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq450_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq451_HTML.gif is the DOF of its element flow https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq452_HTML.gif . In the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq453_HTML.gif , each transmission mode has https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq454_HTML.gif admission orders, which is the total number of permutations for the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq455_HTML.gif elements (flows). With the above, we can show the time complexity of TMGA1 as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq456_HTML.gif .
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.

3.3. Transmission Mode Generating Algorithm 2

In what mentioned before, TMGA1 can find all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq457_HTML.gif 's for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq458_HTML.gif . However, the number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq459_HTML.gif s will grow exponentially with the increase of the size of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq460_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq461_HTML.gif 's for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq462_HTML.gif . The central idea of TMGA2 is to consider a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq463_HTML.gif as the first flow to be admitted for a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq464_HTML.gif -stream flow, and then randomly choose other https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq465_HTML.gif 's https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq466_HTML.gif to see if they could cooperatively construct a valid https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq467_HTML.gif . Note that the starting https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq468_HTML.gif is chosen with an increasing order and the following https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq469_HTML.gif s could be the same of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq470_HTML.gif , implying that multiple https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq471_HTML.gif -streams could be established in a single https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq472_HTML.gif . Furthermore, the seeking process could be repeated several times according to the iteration limit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq473_HTML.gif . With that, we can control its time complexity to be satisfactory enough while obtaining a good https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq474_HTML.gif that can cover all flows in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq475_HTML.gif and can evenly distribute the number of times that each flow is included in certain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq476_HTML.gif s.
Algorithm 2: Transmission mode generating Algorithm 2 (TMGA2)
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq477_HTML.gif ) INPUT: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq478_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq479_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq480_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq481_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq482_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq483_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq484_HTML.gif )for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq485_HTML.gif do
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq486_HTML.gif ) Initialize https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq487_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq488_HTML.gif ) for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq489_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq490_HTML.gif do
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq491_HTML.gif )  Initialize https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq492_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq493_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq494_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq495_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq496_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq497_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq498_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq499_HTML.gif )  for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq500_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq501_HTML.gif do
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq502_HTML.gif )   Initialize https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq503_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq504_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq505_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq506_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq507_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq508_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq509_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq510_HTML.gif = TRUE;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq511_HTML.gif )    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq512_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq513_HTML.gif ; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq514_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq515_HTML.gif )   while https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq516_HTML.gif == TRUE do
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq517_HTML.gif )    if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq518_HTML.gif then
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq519_HTML.gif )      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq520_HTML.gif Primary update: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq521_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq522_HTML.gif )      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq523_HTML.gif ;  https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq524_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq525_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq526_HTML.gif )      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq527_HTML.gif ;   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq528_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq529_HTML.gif #1 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq530_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq531_HTML.gif )      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq532_HTML.gif ;   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq533_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq534_HTML.gif #1 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq535_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq536_HTML.gif )      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq537_HTML.gif Optional update: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq538_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq539_HTML.gif )      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq540_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq541_HTML.gif ;  https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq542_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq543_HTML.gif #2 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq544_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq545_HTML.gif )      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq546_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq547_HTML.gif ;   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq548_HTML.gif Update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq549_HTML.gif #2 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq550_HTML.gif
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq551_HTML.gif )    end if
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq552_HTML.gif )    Success https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq553_HTML.gif ;
( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq554_HTML.gif )     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq555_HTML.gif Primary verification: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq556_HTML.gif
(21)    if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq557_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq558_HTML.gif then
(22)     Success https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq559_HTML.gif ;
(23)    end if
(24)     https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq560_HTML.gif Optional verification: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq561_HTML.gif
(25)    for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq562_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq563_HTML.gif do
(26)     if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq564_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq565_HTML.gif then
(27)      Success https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq566_HTML.gif ;
(28)     end if
(29)    end for
(30)    if Success https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq567_HTML.gif then
(31)     Roll back https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq568_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq569_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq570_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq571_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq572_HTML.gif , and stamp https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq573_HTML.gif as failed; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq574_HTML.gif Roll back if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq575_HTML.gif is not valid https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq576_HTML.gif
(32)    end if
(33)    Find the next https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq577_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq578_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq579_HTML.gif , among https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq580_HTML.gif not yet examined and not yet failed;
(34)    if no https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq581_HTML.gif can be found then
(35)      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq582_HTML.gif = FALSE;
(36)    else
(37)      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq583_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq584_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq585_HTML.gif ;
(38)    end if
(39)   end while
(40)    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq586_HTML.gif ;
(41)    if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq587_HTML.gif then
(42)      https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq588_HTML.gif https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq589_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq590_HTML.gif ;
(43)    end if
(44)   end for
(45)  end for
(46)  Reduce https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq591_HTML.gif to be that in which https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq592_HTML.gif s.t. https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq593_HTML.gif ;
(47) end for
(48) Merge https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq594_HTML.gif s to form a single https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq595_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq596_HTML.gif is the number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq597_HTML.gif found;
(49) OUTPUT: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq598_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq599_HTML.gif ;
To fulfill the design aim, we add https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq600_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq601_HTML.gif in this algorithm in addition to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq602_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq603_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq604_HTML.gif given previously. More precisely, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq605_HTML.gif is the set of values associated with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq606_HTML.gif s' chosen probabilities. In the current version, the values are given with uniform random numbers, and TMGA2 chooses the next https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq607_HTML.gif with the lowest value; that is, it will choose uniformly and randomly among the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq608_HTML.gif 's. On the other hand, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq609_HTML.gif denotes the set of link capabilities for the flows and is obtained by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq610_HTML.gif . In addition, two new update rules are considered for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq611_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq612_HTML.gif , respectively, as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ4_HTML.gif
(4)
In what mentioned previously, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq613_HTML.gif is the flow now considered in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq614_HTML.gif . Clearly, each neighbor of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq615_HTML.gif 's destination node would consume https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq616_HTML.gif DOFs to null its interference at the receiver if it has data to transmit right after https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq617_HTML.gif . Thus, conservatively it should take https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq618_HTML.gif 's https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq619_HTML.gif into account as a part of its own https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq620_HTML.gif and then check the transmit DOF constraint to avoid the interference. Symmetrically, each neighbor of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq621_HTML.gif 's source node will be interfered with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq622_HTML.gif 's transmission if it wants to concurrently receive its own traffic right after https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq623_HTML.gif . Hence, by taking https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq624_HTML.gif 's https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq625_HTML.gif into account as a part of its own https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq626_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq627_HTML.gif so that the algorithm will consider 1-stream flow for each admission. With the initial https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq628_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq629_HTML.gif , TMGA2 starts by assuming https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq630_HTML.gif to be admitted and accordingly updating the related parameters to be https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq631_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq632_HTML.gif . In the same time, the neighbor of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq633_HTML.gif , that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq634_HTML.gif , should also consume its link capability (DOF) to be interference-free from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq635_HTML.gif 's transmission. Thus, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq636_HTML.gif is further changed to be https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq637_HTML.gif . In what follows, it updates https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq638_HTML.gif 's https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq639_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq640_HTML.gif with the equations in (3) as TMGA1 does. If TMGA2-non is considered, the algorithm will proceed to examine the next https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq641_HTML.gif that has the lowest random value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq642_HTML.gif and has its link capability https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq643_HTML.gif equal to or larger than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq644_HTML.gif (= 1). Now https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq645_HTML.gif is the only candidate, and the following process for updating https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq646_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq647_HTML.gif and verifying the DOF constraints is the same as that for TMGA1. Finally, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq648_HTML.gif found is used to update https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq649_HTML.gif as (1,1), which is the result of this case. Then, with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq650_HTML.gif as the new start, the process continues to search other valid https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq651_HTML.gif , and will end after the searching. In fact, the algorithm is designed to repeat the whole process https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq652_HTML.gif times, and with the random nature of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq653_HTML.gif , each of the iterations may lead to a different https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq654_HTML.gif complying with our design aim.
Now, let us turn out to focus on the conservative version of TMGA2. As shown in the TMGA1 example, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq655_HTML.gif is accepted by TMGA1-non but is rejected by TMGA1-con, because the latter considers both https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq656_HTML.gif s of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq657_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq658_HTML.gif , and finds the second order to be unacceptable. In TMGA2-con, this is done implicitly. To see why, let us reconsider the above process started with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq659_HTML.gif . After checking https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq660_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq661_HTML.gif for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq662_HTML.gif , TMGA2-con must also make the optional checks for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq663_HTML.gif 's neighbors. In this case, no https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq664_HTML.gif is the neighbor of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq665_HTML.gif 's destination node, and thus no update for its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq666_HTML.gif is needed. On the other hand, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq667_HTML.gif is the neighbor of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq668_HTML.gif 's source node. However, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq669_HTML.gif currently has no established traffic and thus has no need to change its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq670_HTML.gif . With the unchanged values, the optional verification for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq671_HTML.gif is easily passed, in addition to the primary verification for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq672_HTML.gif . Consequently, TMGA2-con may go to check the next, that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq673_HTML.gif , as TMGA2-non would do.
As expected, TMGA2-con first makes the primary update for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq674_HTML.gif , which keeps https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq675_HTML.gif and changes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq676_HTML.gif to be 1, then it makes the optional update and finds that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq677_HTML.gif is the neighbor of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq678_HTML.gif 's destination node and has 1-stream traffic established before. Thus, it changes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq679_HTML.gif to be 1. Meanwhile, it finds no neighbor of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq680_HTML.gif 's source node, and thus it changes nothing. However, since the optional update changes at least one value ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq681_HTML.gif ), its optional verification may produce nontrivial results. In fact, it has https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq682_HTML.gif , indicating that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq683_HTML.gif is not valid. Clearly, this example shows that while https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq684_HTML.gif is examined by the primary update and verification, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq685_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq686_HTML.gif is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq687_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq688_HTML.gif denotes the number of edges (flows) in the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq689_HTML.gif , that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq690_HTML.gif . Then, considering https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq691_HTML.gif graph components ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq692_HTML.gif s), and denoting by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq693_HTML.gif the maximal https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq694_HTML.gif in the network, that is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq695_HTML.gif , we can have the polynomial time complexity for TMGA2 as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq696_HTML.gif .

4. Cross-Layer Schemes

Now, given a network https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq697_HTML.gif with MIMO links, the source and destination nodes of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq698_HTML.gif end-to-end communication sessions, and the scheduling matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq699_HTML.gif obtained previously, in this section we aim to find a rate allocation https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq700_HTML.gif specifying the rate https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq701_HTML.gif for each session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq702_HTML.gif , along with a flow allocation vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq703_HTML.gif specifying the amount of traffic https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq704_HTML.gif of session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq705_HTML.gif routed through link https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq706_HTML.gif , and a transmission schedule vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq707_HTML.gif specifying time fraction https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq708_HTML.gif for each transmission mode https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq709_HTML.gif . 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   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq710_HTML.gif , along with a feasible flow allocation vector and a feasible transmission schedule vector such that the throughput https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq711_HTML.gif is maximized.
Definition 2.
The Proportional fair Rate Allocation (PRA) problem seeks a feasible rate allocation vector   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq712_HTML.gif , along with a feasible flow allocation vector and a feasible transmission schedule vector such that the utility function https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq713_HTML.gif is maximized.
Definition 3.
The Weighted fair Rate Allocation (WRA) problem seeks a feasible rate allocation vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq714_HTML.gif , along with a feasible flow allocation vector and a feasible transmission schedule vector suchthat https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq715_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq716_HTML.gif denotes the positive weight of session   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq717_HTML.gif , with the  assumption of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq718_HTML.gif , and the throughput https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq719_HTML.gif 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.
Linear Programming 1 (LP1): MRA
Given
(i)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq720_HTML.gif , node topology graph of the MIMO network.
 
(ii)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq721_HTML.gif , set of session source nodes, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq722_HTML.gif is the source node of session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq723_HTML.gif .
 
(iii)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq724_HTML.gif , set of session destination nodes, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq725_HTML.gif is the destination node of session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq726_HTML.gif .
 
(iv)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq727_HTML.gif , scheduling matrix.
 
Variables
(i)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq728_HTML.gif , rate allocation vector, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq729_HTML.gif is the rate allocated for session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq730_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq731_HTML.gif .
 
(ii)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq732_HTML.gif , flow allocation vector for session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq733_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq734_HTML.gif is the session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq735_HTML.gif 's traffic routed through link https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq736_HTML.gif .
 
(iii)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq737_HTML.gif , transmission schedule vector, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq738_HTML.gif is the time fraction for the transmission mode https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq739_HTML.gif .
 
Optimize
(i)
Maximize the total throughput of sessions
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ5_HTML.gif
(5)
 
Constraint
(i)
Flow conservation for source nodes
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ6_HTML.gif
(6)
 
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq740_HTML.gif ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq741_HTML.gif ) denotes the set of outgoing (incoming) edges of source node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq742_HTML.gif .
(ii)
Flow conservation for intermediate nodes
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ7_HTML.gif
(7)
 
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq743_HTML.gif ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq744_HTML.gif ) denotes the set of outgoing (incoming) edges of node https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq745_HTML.gif .
(iii)
Bandwidth conservation
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ8_HTML.gif
(8)
 
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq746_HTML.gif is the link capacity or rate of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq747_HTML.gif .
(iv)
Scheduling constraint
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ9_HTML.gif
(9)
 
(v)
Flow rate validity:
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ10_HTML.gif
(10)
 
(vi)
Scheduling validity
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ11_HTML.gif
(11)
 
(vii)
Session rate validity
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ12_HTML.gif
(12)
 
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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq748_HTML.gif imply that a session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq749_HTML.gif can be routed through different links, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq750_HTML.gif s. 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
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ13_HTML.gif
(13)
subject to the constraints (6)–(12), and
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ14_HTML.gif
(14)
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,
Convex Programming 1 (CP1): PRA
We have
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ15_HTML.gif
(15)
subject to the constraints (6) to (12).
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.

5. 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, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq751_HTML.gif , and the system throughput, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq752_HTML.gif , are normalized by the capability to provide their values independent of a certain system.

5.1. 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.

5.1.1. Topology 1

Let's re-examine the topology in Figure 2, and regard it as a backhaul network as follows. That is, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq753_HTML.gif 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 (TAP). With these APs, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq754_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq755_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq756_HTML.gif are so conducted to compose the flow set https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq757_HTML.gif , reasonably representing that all uplink traffics are destined to the wired Internet. Clearly, every AP has its own traffic toward TAP, and thus the three sessions involved would be https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq758_HTML.gif = 2, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq759_HTML.gif = 1), https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq760_HTML.gif = 3, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq761_HTML.gif = 1), and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq762_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq763_HTML.gif = 1) (where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq764_HTML.gif denotes the source-destination pair of session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq765_HTML.gif ). Given the above, it is easy to derive https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq766_HTML.gif showing that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq767_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq768_HTML.gif strongly contend with each other, and so do https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq769_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq770_HTML.gif . Accordingly, with the coloring algorithm, they are divided into two flow components, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq771_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq772_HTML.gif , containing only weak contentions. For these components, TMGA1 and TMGA2 both can easily produce https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq773_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq774_HTML.gif . After padding its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq775_HTML.gif 's with zeros for the flows not in the component, respectively, the two https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq776_HTML.gif 's are merged to be the complete scheduling matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq777_HTML.gif , wherein an empty https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq778_HTML.gif is added as the default element for scheduling.
Now, with a DOF to represent a unit of transmission capability, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq779_HTML.gif produces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq780_HTML.gif . That is, only by routing session 1 through https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq781_HTML.gif and sacrificing all other sessions (with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq782_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq783_HTML.gif ), the system can have the maximum system throughput 2. In addition, it produces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq784_HTML.gif , saying that only https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq785_HTML.gif should be scheduled in the MIMO network. 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq786_HTML.gif we can achieve the weighted fairness among the sessions while maximizing the aggregated system throughput. More precisely, LP2 produces, for example, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq787_HTML.gif , exactly complying with the given weights https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq788_HTML.gif . The corresponding routes are constituted by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq789_HTML.gif . For the requirements on link capability, a TDMA-based MAC over the MIMO PHY is scheduled with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq790_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq791_HTML.gif . Accordingly, the link capabilities https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq792_HTML.gif can fulfill the requirement of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq793_HTML.gif (0.7692 + 0.3846 + 0.1538 = 1.3076), that of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq794_HTML.gif (0 + 0.3846 + 0.1538 = 0.5384), and that of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq795_HTML.gif (0 + 0 + 0.1538 = 0.1538). Finally, for solving the PRA problem, CP1 produces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq796_HTML.gif and improves the fairness problem when compared with LP1. However, it lacks the capability of achieving weighted fairness, and it would inevitably sacrifice the system throughput as LP2 may do.

5.1.2. 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq797_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq798_HTML.gif ), https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq799_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq800_HTML.gif ), and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq801_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq802_HTML.gif ) are conducted for the leaf nodes (6, 7, and 8). Given that, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq803_HTML.gif produces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq804_HTML.gif . 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq805_HTML.gif and that for the second is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq806_HTML.gif , in which every single flow contributes the data rate of 0.3781 to its session. On the other hand, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq807_HTML.gif finds two routes for the third session: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq808_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq809_HTML.gif . In what mentioned above, each flow provides its rate of 0.2885. Then, by combining the two routes, it can support https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq810_HTML.gif . Similarly, by setting https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq811_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq812_HTML.gif can give each session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq813_HTML.gif the same rate allocation https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq814_HTML.gif , 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.

5.2. Wireless Mesh Network

In this set of experiments, we randomly generate wireless mesh networks (WMNs) with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq815_HTML.gif nodes located in a 1000 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq816_HTML.gif 1000 m2 region. The transmission range ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq817_HTML.gif ) and the corresponding interference range ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq818_HTML.gif ) 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq819_HTML.gif in a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq820_HTML.gif is 18, and clearly, the number of permutations for the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq821_HTML.gif elements (flows), that is, its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq822_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq823_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq824_HTML.gif , respectively. The corresponding rate allocation results are shown in Figure 5. As expected, the MRA scheme can give certain sessions the highest https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq825_HTML.gif '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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq826_HTML.gif , the rate allocated to each session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq827_HTML.gif 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 ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq830_HTML.gif s) and can give the cross-layer schemes the most complete scheduling matrix ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq831_HTML.gif ). 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, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq832_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq833_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq834_HTML.gif , are examined for TMGA2. In addition, to quantitatively analyze the fairness performances for these schemes, we let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq835_HTML.gif denote the throughput of session https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq836_HTML.gif , and let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq837_HTML.gif denote the associated weight, and we use these parameters to obtain the fairness index in [20] as follow:
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_Equ16_HTML.gif
(16)
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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq838_HTML.gif . That is to say, although a larger https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq839_HTML.gif may lead to a larger number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq840_HTML.gif 's in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq841_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq842_HTML.gif s obtained, as indicated in Section 5.1. Similarly, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq843_HTML.gif does not affect much PRA and WRA with conservative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq844_HTML.gif 's. However, if given nonconservative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq845_HTML.gif 's, it has stronger impacts on the two schemes. This is because a larger https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq846_HTML.gif resulted may open more opportunities for these schemes to optimize their target functions, and the nonconservative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq847_HTML.gif 's found would have their sizes larger than the conservative counterparts. Apart from these differences, we note also that the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq848_HTML.gif 's resulted from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq849_HTML.gif or 2 would be enough for most of the schemes. Even so, one may still expect a nonconservative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq850_HTML.gif for higher throughputs, despite https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq851_HTML.gif . 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 ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq852_HTML.gif 's) recorded to realize the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq853_HTML.gif 's in a given nonconservative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq854_HTML.gif . On the other hand, with a conservative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq855_HTML.gif , every possible https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq856_HTML.gif would be already considered for a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq857_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq858_HTML.gif , and its fairness index values are all of 1 in spite of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq859_HTML.gif . 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq860_HTML.gif 's usually provide better performances than the conservative counterparts. However, we note that a higher https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq861_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq862_HTML.gif depending on the performance metric most concerned. Nevertheless, in general, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq863_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F515609/MediaObjects/13638_2009_Article_1933_IEq864_HTML.gif 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 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.

6. 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 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.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://​creativecommons.​org/​licenses/​by/​2.​0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Literatur
1.
Zurück zum Zitat Jayaweera SK, Poor HV: Capacity of multiple-antenna systems with both receiver and transmitter channel state information. IEEE Transactions on Information Theory 2003, 49(10):2697-2709. 10.1109/TIT.2003.817479MathSciNetCrossRefMATH Jayaweera SK, Poor HV: Capacity of multiple-antenna systems with both receiver and transmitter channel state information. IEEE Transactions on Information Theory 2003, 49(10):2697-2709. 10.1109/TIT.2003.817479MathSciNetCrossRefMATH
2.
Zurück zum Zitat Blum RS: MIMO capacity with interference. IEEE Journal on Selected Areas in Communications 2003, 21(5):793-801. 10.1109/JSAC.2003.810345CrossRef Blum RS: MIMO capacity with interference. IEEE Journal on Selected Areas in Communications 2003, 21(5):793-801. 10.1109/JSAC.2003.810345CrossRef
3.
Zurück zum Zitat Narasimhan R: Spatial multiplexing with transmit antenna and constellation selection for correlated MIMO fading channels. IEEE Transactions on Signal Processing 2003, 51(11):2829-2838. 10.1109/TSP.2003.818205CrossRef Narasimhan R: Spatial multiplexing with transmit antenna and constellation selection for correlated MIMO fading channels. IEEE Transactions on Signal Processing 2003, 51(11):2829-2838. 10.1109/TSP.2003.818205CrossRef
4.
Zurück zum Zitat Hu M, Zhang J: MIMO ad hoc networks: medium access control, saturation throughput, and optimal hop distance. Journal of Communications and Networks 2004, 6(4):317-330.CrossRef Hu M, Zhang J: MIMO ad hoc networks: medium access control, saturation throughput, and optimal hop distance. Journal of Communications and Networks 2004, 6(4):317-330.CrossRef
5.
Zurück zum Zitat Sundaresan K, Sivakumar R, Ingram MA, Chang T-Y: Medium access control in ad hoc networks with MIMO links: optimization considerations and algorithms. IEEE Transactions on Mobile Computing 2004, 3(4):350-365. 10.1109/TMC.2004.42CrossRef Sundaresan K, Sivakumar R, Ingram MA, Chang T-Y: Medium access control in ad hoc networks with MIMO links: optimization considerations and algorithms. IEEE Transactions on Mobile Computing 2004, 3(4):350-365. 10.1109/TMC.2004.42CrossRef
6.
Zurück zum Zitat Chen L, Low SH, Doyle JC: Joint congestion control and media access control design for ad hoc wireless networks. Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '05), March 2005, Miami, Fla, USA 3: 2212-2222.CrossRef Chen L, Low SH, Doyle JC: Joint congestion control and media access control design for ad hoc wireless networks. Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '05), March 2005, Miami, Fla, USA 3: 2212-2222.CrossRef
7.
Zurück zum Zitat Wang X, Kar K: Cross-layer rate control for end-to-end proportional fairness in wireless networks with random access. Proceedings of the 6th International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc '05), May 2005, Urbana-Champaign, Ill, USA 157-168.CrossRef Wang X, Kar K: Cross-layer rate control for end-to-end proportional fairness in wireless networks with random access. Proceedings of the 6th International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc '05), May 2005, Urbana-Champaign, Ill, USA 157-168.CrossRef
8.
Zurück zum Zitat Tang J, Xue G, Chandler C, Zhang W: Link scheduling with power control for throughput enhancement in multihop wireless networks. IEEE Transactions on Vehicular Technology 2006, 55(3):733-742. 10.1109/TVT.2006.873836CrossRef Tang J, Xue G, Chandler C, Zhang W: Link scheduling with power control for throughput enhancement in multihop wireless networks. IEEE Transactions on Vehicular Technology 2006, 55(3):733-742. 10.1109/TVT.2006.873836CrossRef
9.
Zurück zum Zitat Bhatia R, Li L: Throughput optimization of wireless mesh networks with MIMO links. Proceedings of the 26th IEEE International Conference on Computer Communications (INFOCOM '07), May 2007, Anchorage, Alaska, USA 2326-2330. Bhatia R, Li L: Throughput optimization of wireless mesh networks with MIMO links. Proceedings of the 26th IEEE International Conference on Computer Communications (INFOCOM '07), May 2007, Anchorage, Alaska, USA 2326-2330.
10.
Zurück zum Zitat Mumey B, Tang J, Hahn T: Joint stream control and scheduling in multihop wireless networks with MIMO links. Proceedings of IEEE International Conference on Communications (ICC '08), May 2008, Beijing, China 2921-2925. Mumey B, Tang J, Hahn T: Joint stream control and scheduling in multihop wireless networks with MIMO links. Proceedings of IEEE International Conference on Communications (ICC '08), May 2008, Beijing, China 2921-2925.
11.
Zurück zum Zitat Ramanathan S: Unified framework and algorithm for channel assignment in wireless networks. Wireless Networks 1999, 5(2):81-94. 10.1023/A:1019126406181CrossRef Ramanathan S: Unified framework and algorithm for channel assignment in wireless networks. Wireless Networks 1999, 5(2):81-94. 10.1023/A:1019126406181CrossRef
12.
Zurück zum Zitat Jain K, Padhye J, Padmanabhan VN, Qiu L: Impact of interference on multi-hop wireless network performance. Proceedings of the 9th Annual International Conference on Mobile Computing and Networking (MOBICOM '03), September 2003, San Diego, Calif, USA 66-80.CrossRef Jain K, Padhye J, Padmanabhan VN, Qiu L: Impact of interference on multi-hop wireless network performance. Proceedings of the 9th Annual International Conference on Mobile Computing and Networking (MOBICOM '03), September 2003, San Diego, Calif, USA 66-80.CrossRef
13.
Zurück zum Zitat Kodialam M, Nandagopal T: Characterizing achievable rates in multi-hop wireless networks: the joint routing and scheduling problem. Proceedings of the 9th Annual International Conference on Mobile Computing and Networking (MOBICOM '03), September 2003, San Diego, Calif, USA 42-54.CrossRef Kodialam M, Nandagopal T: Characterizing achievable rates in multi-hop wireless networks: the joint routing and scheduling problem. Proceedings of the 9th Annual International Conference on Mobile Computing and Networking (MOBICOM '03), September 2003, San Diego, Calif, USA 42-54.CrossRef
14.
Zurück zum Zitat Bazaraa MS, Jarvis JJ, Sherali HD: Linear Programming and Networks Flows. 3rd edition. John Wiley & Sons, New York, NY, USA; 2005.MATH Bazaraa MS, Jarvis JJ, Sherali HD: Linear Programming and Networks Flows. 3rd edition. John Wiley & Sons, New York, NY, USA; 2005.MATH
15.
Zurück zum Zitat Boyd S, Vandenberghe L: Convex Optimization. Cambridge University Press, Cambridge, UK; 2004.CrossRefMATH Boyd S, Vandenberghe L: Convex Optimization. Cambridge University Press, Cambridge, UK; 2004.CrossRefMATH
16.
Zurück zum Zitat Grant M, Boyd S, Ye Y: CVX: Matlab Software for Disciplined Convex Programming. 2008 Grant M, Boyd S, Ye Y: CVX: Matlab Software for Disciplined Convex Programming. 2008
17.
Zurück zum Zitat Gambiroza V, Sadeghi B, Knightly EW: End-to-end performance and fairness in multihop wireless backhaul networks. Proceedings of the 10th Annual International Conference on Mobile Computing and Networking (MOBICOM '04), September 2004, Philadelphia, Pa, USA 287-301.CrossRef Gambiroza V, Sadeghi B, Knightly EW: End-to-end performance and fairness in multihop wireless backhaul networks. Proceedings of the 10th Annual International Conference on Mobile Computing and Networking (MOBICOM '04), September 2004, Philadelphia, Pa, USA 287-301.CrossRef
18.
Zurück zum Zitat Lee J, Liao W, Chen MC: An incentive-based fairness mechanism for multi-hop wireless backhaul networks with selfish nodes. IEEE Transactions on Wireless Communications 2008, 7(2):697-704.CrossRef Lee J, Liao W, Chen MC: An incentive-based fairness mechanism for multi-hop wireless backhaul networks with selfish nodes. IEEE Transactions on Wireless Communications 2008, 7(2):697-704.CrossRef
19.
Zurück zum Zitat Johnson DS, Yannakakis M, Papadimitriou CH: On generating all maximal independent sets. Information Processing Letters 1988, 27(3):119-123. 10.1016/0020-0190(88)90065-8MathSciNetCrossRefMATH Johnson DS, Yannakakis M, Papadimitriou CH: On generating all maximal independent sets. Information Processing Letters 1988, 27(3):119-123. 10.1016/0020-0190(88)90065-8MathSciNetCrossRefMATH
20.
Zurück zum Zitat Qiao D, Shin KG: Achieving efficient channel utilization and weighted fairness for data communications in IEEE 802.11 WLAN under the DCF. Proceedings of the 10th International Workshop on Quality of Service (IWQoS '02), 2002 227-236. Qiao D, Shin KG: Achieving efficient channel utilization and weighted fairness for data communications in IEEE 802.11 WLAN under the DCF. Proceedings of the 10th International Workshop on Quality of Service (IWQoS '02), 2002 227-236.
Metadaten
Titel
Cross-Layer Design for End-to-End Throughput Maximization and Fairness in MIMO Multihop Wireless Networks
verfasst von
Jain-Shing Liu
Chun-Hung Richard Lin
Kuang-Yuan Tung
Publikationsdatum
01.12.2010
Verlag
Springer International Publishing
DOI
https://doi.org/10.1155/2010/515609

Weitere Artikel der Ausgabe 1/2010

EURASIP Journal on Wireless Communications and Networking 1/2010 Zur Ausgabe

Premium Partner