 Research
 Open Access
 Published:
Routing, spectrum access, and scheduling in multihop multichannel wireless networks with MIMO links
EURASIP Journal on Wireless Communications and Networking volume 2015, Article number: 65 (2015)
Abstract
Softwaredefined radios (SDRs) are a promising technology to enable dynamic channel access and sharing. Multiple Input Multiple Output (MIMO) is another radio technology breakthrough for increasing wireless network capacity. To obtain the full benefits brought by the SDR and MIMO technologies in wireless mesh networks (WMNs), the higher layer mechanisms should exploit their capabilities in a systematic way. In this paper, we investigate routing, channel assignment, link scheduling, and MIMO transmission mode control in multichannel multiantenna wireless mesh networks. We first present a crosslayer framework for network performance optimization. Network traffic routing is established on a relatively long time scale to maintain system stability. We then proposed a stream controlled multiple access (SCMA) scheme, which is responsible for assigning frequency channels and scheduling links for data transmission and controlling MIMO transmission modes. It enables efficient spectrum access and sharing in time, frequency, and space, and adapts to varying network conditions. The evaluation results show that the proposed scheme greatly improves network performance compared to the traditional schemes.
Introduction
Softwaredefined radios (SDRs) are a promising technology to enable dynamic channel access and sharing by allowing flexible configuration of radio transmission parameters in real time and switching from one channel to another. Multiple Input Multiple Output (MIMO) is another radio technology breakthrough for improving wireless network performance. MIMO can provide many types of benefits via multiple antennas and advanced signal processing. With spatial multiplexing, a transmitter can concurrently send multiple independent data streams over multiple antenna elements on the same frequency channel to increase throughput, and the receiver is able to separate and decode these data streams based on their spatial signatures. In another way, MIMO can realize interference suppression and improve spectrum spatial reuse. A MIMO transmitter can nullify its signal interference to the nearby receivers that do not want to receive the signal, and a MIMO receiver can suppress interference caused by undesired nearby transmitters. These benefits can be attained simultaneously by properly using different MIMO techniques, i.e. controlling MIMO operation mode. For example, spatial multiplexing and interference suppression can be realized together for achieving significant performance gain. Given its potential, MIMO has been adopted in nextgeneration WiFi, WiMax, and cellular network standards.
SDR and MIMO are expected to greatly enhance spectrum efficiency and increase wireless network throughput. Particularly, in multihop wireless mesh networks (WMNs), one of the major problems is capacity reduction due to interference among multiple simultaneous transmissions [1]. A WMN can use SDR and MIMO to improve its performance in which nodes equipping with one or more MIMOenabled SDR interfaces can flexibly access different frequency channels and employ spatial multiplexing and/or interference suppression on each channel for high throughput. To obtain the full benefits brought by the SDR and MIMO techniques in multichannel WMNs, the higher layer mechanisms such as network routing and media access control (MAC) should exploit their capabilities in a systematic way due to the interdependence.
Most existing studies on applying MIMO technique in wireless mesh networks focus on singlechannel WMNs [28]. Channel assignment is not an issue for those cases. However, in multichannel WMNs with SDRs, dynamic channel assignment and sharing is another important factor that affects the system performance. From the network and MAC layersŠ perspective, it provides another dimension for optimization in crosslayer algorithm design. Moreover, the option of different MIMO operation modes, i.e. spatial multiplexing and interference suppression with different levels of degree of freedom, could further increase the flexibility of channel sharing by multiple MIMO nodes in a network and significantly impact the determination of routing, channel assignment, and scheduling. Some earlier work [9,10] has made an effort to obtain theoretical formulation of the optimization problem with an abstract model for multichannel multiantenna WMNs and compute the upper bound of achievable throughput. However, to the best of our knowledge, there is little work to design practical algorithms to exploit SDR and MIMO in multichannel multiantenna WMNs. A key challenge in the algorithm and protocol design is to take into account the interaction of network routing, transmission scheduling, allocation of available frequency channels to radios, and control of MIMO operation mode on each wireless link (also referred to as MIMO stream control). Routing traffic over the WMN and scheduling concurrent transmissions on the different wireless links should consider the channel assignment and the interference level of the links that are affected by the resource allocation at the physical layer. The MIMO operation mode selection of a radio link is also interdependent with the assigned frequency channel and other scheduled radio transmissions on the same channel. It is necessary to employ a crosslayer approach in the network design to optimize performance.
In this paper, we present a set of algorithms for routing, channel assignment, link scheduling, and MIMO mode control in multichannel multiSDR MIMOenabled WMNs. In order to maintain network stability, routing is established on a longer time scale based on a networkwide global view and the expected channel and traffic characteristics through an optimization framework. The proposed framework achieves the cross layer gains of network routing with channel assignment, link scheduling, and MIMO mode control. In this way, the flow paths are not overly sensitive to the instantaneous channel and traffic changes. Furthermore, we design a streamcontrolled multiple access (SCMA) scheme that is responsible for assigning channels and scheduling links to transmit and controlling the MIMO transmission mode. The proposed SCMA scheme is able to adapt to the shortterm channel variations and traffic dynamics to exploit local transmission opportunities and achieve efficient spectrum access and sharing in time, frequency, and space. The evaluation results show that the proposed schemes greatly improve the network performance compared to the traditional schemes.
The rest of the paper is organized as follows. In Section 2, we review the related work. In Section 3, we present MIMO background. Section 4 describes the network model. Section 5 presents the optimization framework and network routing. The proposed SCMA scheme is presented in Section 6. Performance evaluation is given in Section 7. Finally, Section 8 concludes the paper.
Related work
Various routing, channel assignment, and scheduling algorithms [1117] have been proposed for nonMIMO WMNs, but those conventional algorithms did not consider the effects of multiple antennas and could not leverage the benefits brought by MIMO into wireless mesh networks. They become inefficient when directly applied to MIMO SDRbased WMNs with capability to dynamically access available channels and select MIMO modes to transmit. MIMO has been widely studied for single pointtopoint link or pointtomultipoint transmission scenarios [1822], where the main focus is on physical and MAC layers.
The application of MIMO technique in singlechannel WMNs have been investigated in recent years. The works in [24] focused on development of the MAC schemes to enable MIMO communications and joint optimization of MIMO stream control and link scheduling in wireless mesh networks. In [23], the authors defined a joint optimization problem of bandwidth allocation, element assignment, and scheduling without assuming the same number of antenna elements on each WMN node and also proposed a technique to minimize the total number of the antenna elements. MIMOaware routing and joint design of routing, scheduling, and stream control to obtain optimal throughput for singlechannel multiantenna WMNs have been studied in [58]. However, dynamic channel assignment and sharing as well as its benefits and constraints are not considered in those studies.
There is very limited research on multichannel multiantenna WMNs. In [9], the authors formulated an analytical framework and derived the maximum achievable throughput in multichannel multiantenna WMNs as only the MIMO interference suppression technique is used. In addition, they only considered routing, not scheduling, in their formulation to optimize the total network throughput. [10] enhanced [9] by presenting a mathematical model of routing and scheduling optimization problem and analyzed and compared the achievable network throughput for several MIMO operation modes with interference suppression and spatial multiplexing. These works mainly focus on theoretical formulation and obtain the upper bound of achievable throughput. In [24], the authors considered a wireless mesh network prototype with a square topology and three nonoverlapped channels at 2.4GHz ISM band, two channels assigned to the backbone and one channel for the connections between the wireless clients and router. The channel allocation method in the backbone is designed, and MIMO is used to cancel interhop interference. However, the design is specific for the square topology with two nonoverlapped backbone channels. How to design practical algorithms to exploit SDR and MIMO capabilities to improve performance in multihop multichannel MIMOenabled SDRbased WMNs is still an challenging issue that needs systematic investigation.
MIMO background
MIMO employs multiple antenna elements to offer multiple degrees of freedom (DoFs) for communications and to achieve spatial multiplexing and interference suppression. In this section, we briefly explain the basics of MIMO and its benefits. Since MIMO is a broad category containing various techniques, we will mainly focus on zeroforcingbeamforming (ZFBF) [19,20], which is one of the most powerful MIMO techniques.
For ease of explanation, let us first consider a MIMO link and assume that the transmitting node A and the receiving node B are each quipped with two antennas as shown in Figure 1a. Two streams, s _{1}(t) and s _{2}(t), can be transmitted simultaneously through this MIMO link. Before transmission, precoding can be performed on the two streams by multiplying the stream s _{ i }(t) (i=1,2) with an encoding vector u _{ i }=[u _{ i,1} u _{ i,2}]^{⊤}. Therefore, the resulting transmitted signal will be s ( t )=u _{1} s _{1}(t)+u _{2} s _{2}(t). Each antenna transmits a weighted combination of the original streams s _{1}(t) and s _{2}(t). Let H _{ A,B } denote the 2 × 2 channel matrix between transmitter A and receiver B. Each entry h _{ i,j } of H _{ A,B } is a complex channel coefficient along the path from the jth antenna on the transmitter to the ith antenna on the receiver. At the receiver, two separate streams, r _{1}(t) and r _{2}(t), can be constructed by weighting the two received signals (one on each antenna) with two decoding vectors v _{1}=[v _{1,1} v _{1,2}]^{⊤} and v _{2}=[v _{2,1} v _{2,2}]^{⊤}. One can write $r_{1}(t)=(\mathbf {v_{1}^{\intercal }H_{A,B}u_{1}})s_{1}(t)+(\mathbf {v_{1}^{\intercal }H_{A,B}u_{2}})s_{2}(t)+\mathbf {v_{1}^{\intercal }n}$ and $r_{2}(t)=(\mathbf {v_{2}^{\intercal }H_{A,B}u_{1}})s_{1}(t)+(\mathbf {v_{2}^{\intercal }H_{A,B}u_{2}})s_{2}(t)+\mathbf {v_{2}^{\intercal }n}$ , where n is the channel noise. With appropriate configuration of the encoding and decoding vectors, one can ensure $\mathbf {v_{1}^{\intercal }H_{A,B}u_{2}}=0$ and $\mathbf {v_{1}^{\intercal }H_{A,B}u_{1}}=1$ to construct r _{1}(t), and $\mathbf {v_{2}^{\intercal }H_{A,B}u_{1}}=0$ and $\mathbf {v_{2}^{\intercal }H_{A,B}u_{2}}=1$ to construct r _{2}(t). Hence, multiple antennas can be exploited to send multiple streams for increasing throughput with spatial multiplexing.
MIMO can also be used to suppress interference. Considering an example in Figure 1b, there are two concurrent transmissions: node A → node B and node C → node D, which interfere with each other. If each of the nodes is equipped with a single omnidirectional antenna, node C’s transmission would interfere with node B’s reception, and hence, node B would not be able to successfully receive the signal from node A. Similarly, node D could not successfully receive the signal from node C under the interference of node A’s transmission. However, with MIMO, nodes B and D can successfully receive their desired signals from A and C, respectively, even nodes A and C transmit simultaneously. For illustration purpose, we assume that each node is equipped with two antennas as before. Node A uses its two antennas to send two weighted copies of its signal s _{1}(t) to node B, and node C sends two weighted copies of its signal s _{2}(t) to node D. Let u _{ A }= [u _{ A,1} u _{ A,2}]^{⊤} and u _{ C }= [u _{ C,1} u _{ C,2}]^{⊤} denote the encoding vectors of node A and node C, respectively. The resulting transmitted signal from nodes A will be s _{ A } ( t )=u _{ A } s _{1}(t), and the signal from node C will be s _{ C } ( t )=u _{ C } s _{2}(t). Let v _{ B }= [v _{ B,1} v _{ B,2}]^{⊤} and v _{ D }= [v _{ D,1} v _{ D,2}]^{⊤} denote the decoding vectors of nodes B and D, respectively. Because node B is within the transmission ranges of both A and C, its received signal can be expressed as $r_{1}(t)=(\mathbf {v_{B}^{\intercal }H_{A,B}u_{A}})s_{1}(t)+(\mathbf {v_{B}^{\intercal }H_{C,B}u_{C}})s_{2}(t)+\mathbf {v_{B}^{\intercal }n}$ where H _{ A,B } and H _{ C,B } are the channel coefficient matrices between receiving node B and transmitting nodes A and C, respectively. Similarly, the received signal of node D is $r_{2}(t)=(\mathbf {v_{D}^{\intercal }H_{A,D}u_{A}})s_{1}(t)+(\mathbf {v_{D}^{\intercal }H_{C,D}u_{C}})s_{2}(t)+\mathbf {v_{D}^{\intercal }n}$ where H _{ A,D } and H _{ C,D } are the channel coefficient matrices between receiving node D and transmitting nodes A and C, respectively. Because node B has two antennas, its decoding vector v _{ B } can be chosen to let $\mathbf {v_{B}^{\intercal }H_{C,B}u_{C}}=0$ and $\mathbf {v_{B}^{\intercal }H_{A,B}u_{A}}=1$ so that the interference caused by node C’s transmission is suppressed, and node B receives an interferencefree signal from its intended transmitter A. Similarly, receiver D can reconstruct the signal from its intended transmitter C by choosing its decoding vector v _{ D } so that $\mathbf {v_{D}^{\intercal }H_{A,D}u_{A}}=0$ and $\mathbf {v_{D}^{\intercal }H_{C,D}u_{C}}=1$ . In addition, transmitter A may select its encoding vector to nullify its interference to node D by ensuring $\mathbf {v_{D}^{\intercal }H_{A,D}u_{A}}=0$ . So node C can nullify its interference to node B. In general, receivers can use their multiple antennas to suppress interference caused by undesired nearby transmitters while successfully receiving their desired signals. Transmitters can use their multiple antennas to nullify their signals at undesired nearby receivers while ensuring acceptable signal gains at their desired receivers. Thus, with MIMO, the spatial reuse factor of spectrum is improved by letting multiple interfering links transmit simultaneously.
Although the MIMO techniques can provide appealing benefits, several issues need to be carefully considered when employing it. (i) To properly configure the encoding and decoding vectors, both transmitter and receiver should be aware of the instantaneous channel coefficient matrices. This is a common assumption for many higher layer algorithm designs [510]. However, even without such an assumption, there exist practical estimation techniques that have already been applied in implementations and given fairly good results [25]. In addition, to keep the illustration simple and focused, we assume the channel coefficient matrices are all full rank. (ii) The ability of MIMO to enable spatial multiplexing and interference suppression is not unlimited. Fundamentally, the number of concurrent streams that can be scheduled to transmit is constrained by the number of antennas, i.e. the DoF of the transmitter. Also, the number of streams a receiver can simultaneously receive is also limited by its number of antennas (DoF) [19]. We will carefully consider the nodes’ DoF constraints in scheduling transmissions later in the paper.
Based on the above discussions, the DoFs of a MIMO radio can be exploited in one of the following three modes: (1) all DoFs are used to send a multistream flow of data by exploiting spatial multiplexing; (2) all DoFs are used to suppress the interference which allows multiple concurrent transmissions of multiple radios in a neighborhood; (3) some of DoFs are used to send a multistream flow while the others are used to suppress interference. The overall throughput under different MIMO operation modes is different. For the example in Figure 1, if links AB and CD transmit in a TDMA fashion, that is, link AB active with two streams in time slot 1 and link CD active with two streams in time slot 2, the total throughput over two time slots is different from that as links AB and CD are both active in time slots 1 and 2, each transmitting one stream. This is because the throughput depends on the channel matrices and the encoding and decoding vectors, which are all varying over time and depend on the assigned channel frequency. The MIMO mode control, that is, arranging the DoFs of each radio for transmitting, receiving, or suppressing interference in a time slot, has a great impact on the overall network performance.
Network model
We study multiSDR, multichannel wireless mesh networks with MIMO links and assume the system is timeslotted. Each mesh node is equipped with one or more SDRs and multiple antennas. Each radio is capable of dynamically switching channels on a perslot basis and forming MIMO links with neighboring radios if they are assigned on the same channel. With multiple MIMOenabled SDR interfaces, a node can flexibly access multiple orthogonal frequency channels and transmit multiple MIMO streams on each channel simultaneously, exploiting both frequency and spatial dimensions to improve network throughput. Depending on implementation, multiple MIMO SDR interfaces at a node may share a set of antennas and some radio processing unit for cost saving and operate on different channels.
We model the WMN network as a directed graph G=(V,E) where V represents the set of nodes and Ethe set of directed links. If node u can transmit directly to node v, then we represent this by a link, e=(u,v)∈E. We assume that there are C orthogonal frequency channels available in the network, numbered from 1 to C. Assume a node u∈V has N(u) SDRs and each SDR can operate on a channel assigned to it in a time slot. We denote by F(u) the set of channels assigned to node u, and F(u) is the number of channels in F(u) (obviously, F(u)≤N(u)). The communication between two nodes u and v is possible only if there is a common channel among the sets F(u) and F(v).
If the transmitting and receiving radios of a MIMO link, e=(u,v) are equipped with K _{ u } and K _{ v } antenna elements, respectively. There can be no more than K _{ e }=m i n{K _{ u },K _{ v }} concurrent MIMO streams over e on a channel. The receiver v can decode all K _{ e } incoming streams from transmitter u successfully as long as the total number of streams (including the data streams from u and the interference streams from other nearby transmitters) is less than or equal to the number of its antenna elements (DoFs). For ease of exposition, in this paper, we assume that each node has Kantenna elements.
Assume that there is a set S of endtoend flows in the WMN, where each flow s∈S is characterized with a sourcedestination pair s r c(s) and d s t(s)∈V and a flow rate r _{ s }. Hence, we seek 1) the network traffic flow routing; 2) a channel assignment specifying the channels assigned to each node u∈V, denoted by F(u); 3) a schedule that decides the set of simultaneous communications on each available channels i=1,2,…Cat each time slot t, for t=1,2,…T where Tis the period of the schedule; and 4) the MIMO operation mode of each link.
Optimization framework and network routing
We first formulate a crosslayer optimization framework for maximizing an aggregate utility under the routing, MAC, and physical layer constraints to seek the optimal network performance in this section, which forms a theoretical foundation for our work. Then, we discuss the routing algorithm.
Let U _{ s }(r _{ s }) be a utility function that represents the benefit to the system achieved by a flow rate r _{ s }. The goal of our optimization framework is to maximize the aggregate utility function $\sum _{s\in S}{U_{s}{(r}_{s})}$ , subject to the network constraints that we describe and model below. This problem is implicitly coupled with network traffic flow routing, channel assignment, scheduling, and MIMO mode control problems.
We let δ(u) denote all the link in E that are incident (incoming or outgoing) on node u∈V. Among these, the incoming links are denoted by δ ^{−}(u), and the outgoing links are denoted by δ ^{+}(u). For a link e=(u,v)∈E, let X _{ t }(e,i,j) be 1 if there is a communication (e, i, j) from uto von channel i and using j streams at time slot t, and let X _{ t }(e,i,j) be 0 otherwise. Let f(e,i,j) or f(u,v,i,j) denote the average data flow rate at which data are transmitted over link e from node u to node v on channel i (1≤i≤C) using j streams (1≤j≤K) over T time slots, which can be given by $f(e,i,j)=\frac {1}{T}\sum _{t\in \{1,\dots T\}}{X_{t}\left (e,i,j\right)c_{t}\left (e,i,j\right)}$ , where c _{ t }(e,i,j) is the date rate of link e=(u,v) at tth slot when it operates on channel i and transmits j independent streams. Let c(e,i,j) denote the pointtopoint link capacity or maximum achievable data rate for link e=(u,v) if it operates on channel i and transmits j independent streams without interference from any other links. Then, we can rearrange the terms and yield
Note that the above inequality results in a loose performance upper bound. When two interfering links transmit simultaneously on the same channel by taking advantage of MIMO processing, the transmission rate is expected to be lower than the pointtopoint link capacity with the same channel and the same number of streams but under no interference. The smaller the impact of interference, the closer is the transmission rate to the link capacity and thus the closer is the system performance to the bound.
For every flow s∈S, let P _{ s } denote the set of all possible paths between s r c(s) and d s t(s). A possible path in P _{ s } is a sequence of (e,i,j) from s r c(s) to d s t(s). By letting r _{ p } denote the rate of a path p, $r_{s}=\sum _{p\in P_{s}}{r_{p}}$ . Let △_{ p }(e,i,j) be 1 if path p contains a communication (e, i, j) on link e and channel i with j streams, and let △_{ p }(e,i,j) be 0 otherwise. One can write
The network flow must satisfy flow conservation at all nodes, that is, at any node u, the total incoming traffic plus the traffic initiated from node u should be equal to the total outgoing traffic plus the traffic destined to node u. The flow conservation constraint can be expressed as
The data flow rate on a link should not be over the link capacity, that is, there is a link capacity constraint,
Considering a halfduplex radio, it can be engaged in only one communication activity at a time, either send or receive. A node u with N(u) SDRs can participate in at most N(u) communications at a time on distinct channels, that is, $\sum _{e\in \delta \left (u\right)}{\sum ^{C}_{i=1}{\sum ^{K}_{j=1}{X_{t}\left (e,i,j\right)}}\leq N(u)}$ . In order to maintain network stability, routing is established on a longer time scale based on overall network conditions and average traffic flow rate. To obtain the radio constraint on the average data flow rate on a link, we take average of both side of the formula over all time slots, $\frac {1}{T}\sum _{t\in \{1,\dots T \}}\sum _{e\in \delta \left (u\right)}\sum ^{C}_{i=1}{\sum ^{K}_{j=1}{X_{t}\left (e,i,j\right)}}\leq N(u)$ . Using Equation 1, we can derive the radio constraint,
We denote by I(e)∈E the set of links that can interfere with link e. Note that simultaneous transmissions on two interfering links e _{1} and e _{2} on the same channel are possible due to MIMO. Let $I_{\delta ^{}}(u)\phantom {\dot {i}\!}$ denote the set of links that interfere with links directed at node u if communicated on the same channel. That is, the transmitters of this set of links can cause interference to the signal reception of node u. Note that the set δ(u) is included in the set $I_{\delta ^{}}(u)\phantom {\dot {i}\!}$ . Likewise, we denote by $I_{\delta ^{+}}(u)\phantom {\dot {i}\!}$ the set of links that get interference from links directed out of node u. That is, transmissions initiated by node u will interfere with the reception on this set of links. The set δ(u) is also included in the set $I_{\delta ^{+}}(u)\phantom {\dot {i}\!}$ . As described in Section 3, with MIMO, node u must dedicate enough DoFs to combat the interference from all nearby transmissions on the same channel in order to successfully receive its desired signal in a time slot. In addition, other nodes must dedicate enough DoFs for interference suppression from the transmission of node u if they operate on the same channel as u. We model this as the following set of necessary conditions that must be satisfied by any feasible solution. For any node uworking on channel i and for a time slot t, $\sum _{e\in I_{{\delta }^{}}(u)}{\sum ^{K}_{j=1}{X_{t}(e,i,j)\times j}\le K}$ and $\sum _{e\in I_{{\delta }^{+}}(u)}{\sum ^{K}_{j=1}{X_{t}(e,i,j)\times j}\le K}$ . Taking average over all time slots and using Equation 1, we derive the following interference constraints,
Then, we formulate the following crosslayer optimization problem,
subject to constraints Equations 3 to 7.
For simplicity, we just set the utility U _{ s }(r _{ s }) to be equal to the flow rate r _{ s } in this paper although other utility functions can be used in our framework. Thus, $U_{s}(\sum _{p\in P_{s}}{r_{p}})=\sum _{p\in P_{s}}{r_{p}}$ . Substituting f(e,i,j) with Equation 2 in the constraints Equations 3 to 7, the above problem is a mixed integer linear programming (MILP) problem which can be solved using approximation algorithms [9,26] and obtain the optimal rate of each flow path and routing. It is clear that any optimal solution must satisfy the above constraints, and solving this problem provides an upper bound on the achievable overall network utility or throughput (if the utility is equal to the flow throughput). However, the solution may not be feasible in terms of channel assignment and schedulability as discussed later. In addition, the formulation only deals with the average traffic flow rate and gives a longterm average optimum. However, the traffic rate and channel conditions on a wireless link may change very fast, for example, just in a time period of several packet transmissions, which is much shorter than the expected lifetime of a route.
In general, it is desirable that the network layer selects the route of data flows based on longterm expected channel and traffic conditions for network stability. Link layer and physical layer mechanisms account for instantaneous channel variations and traffic dynamics to exploit local opportunistic transmissions. Therefore, we will present a scheme based on such time scale separation in which routing is established for a longer term use, while channel assignment, scheduling, and MIMO mode control are dynamically adapted to varying channel and traffic conditions.
The approximation algorithm [26] can be employed to obtain the optimal solution to the above MILP problem, which gives the flow routing and the achievable rate of each flow path that maximize the network throughput and satisfy all of the above mentioned constraints. The approximation algorithm uses iteration to compute the shortest weighted paths among the pairs of sources and destinations for all the flows. A flow is then routed via the shortest weighted path. The rate of the flow path is chosen such that the minimum capacity edge belonging to the shortest path is saturated. Given an approximation requirement ε, the complexity of the algorithm is O((N ^{3}logN)/ε ^{2}) to find a solution with (1−ε)^{2} approximation ratio to the optimal solution, where N is the total number of nodes in the network. The parameter ε can be appropriately chosen so that a solution with acceptable quality is obtained in polynomial time by trading off some accuracy for faster execution. We denote the optimal rate of flow path p as $r^{*}_{p}$ and the optimal traffic solution as $f^{*}(e,i,j)=\sum _{s\in S}{\sum _{p\in P_{s}}{r^{*}_{p}\times {\triangle }^{*}_{p}(e, i, j)}}$ . For each link e=(u,v), its carried traffic is calculated as $f^{*}(u,v)=\sum ^{C}_{i=1}{\sum ^{K}_{j=1}{f^{*}(u,v,i,j)}}$ . Here, we are only interested in the volume of traffic on a link between two nodes for routing purpose regardless of which channel it operates on and how many MIMO streams are used. In the next section, a media access scheme is designed, which exploits the shortterm channel variations and traffic dynamics for optimal channel assignment, MIMO transmission mode control, and scheduling. Additionally, a flow control mechanism may be implemented at the source node of each flow path which injects traffic at an average rate no greater than the maximum achievable average flow path rate $r^{*}_{p}$ to avoid overwhelming the network.
Streamcontrolled multiple access (SCMA)
In this section, we present a scheme, called streamcontrolled multiple access (SCMA), which assigns the channels to radios, decides the set of simultaneous communications on each available channel i (i=1,2,...,C) in a time slot t, as well as controls the MIMO operation mode of each active link in order to achieve efficient spectrum access and sharing among temporal, frequency, and spatial dimensions. For a time slot t, the SCMA scheme proceeds in two stages: (i) channel assignment for scheduling a set of links for transmission on different channels and (ii) link pairing for taking advantage of MIMO mode control to improve performance. For ease of explanation, we assume that each flow s∈S propagates along a single path from a source to a destination in this section. It is easy to extend the scheme to the case of multiple paths per flow by splitting a flow to multiple subflows. Each subflow corresponds to a path, and scheduling is performed on the subflow level. We further assume in the following that the paths of the flows in the network have been determined by the framework described in the last section or by another routing mechanism, e.g. Hybrid Wireless Mesh Protocol (HWMP) specified in the IEEE 802.11s standard [12].
6.1 Channel assignment and scheduling
A mesh node in the WMN can maintain perflow queues for resource allocation. Consider a flow s passing through a link e=(u,v) from node u to node v. The queue for flow s at nodes u and v are denoted by ${Q^{s}_{u}}$ and ${Q^{s}_{v}}$ , respectively. Let ${Q^{s}_{u}}$ and ${Q^{s}_{v}}$ denote the amount of data in the queues ${Q^{s}_{u}}$ and ${Q^{s}_{v}}$ , respectively, i.e. queue lengths. Note that if the destination node of a flow can process packets fast enough, the queue length of a flow at its destination node is zero. Each perflow queue at a node has an associated weight. The weight for queue ${Q^{s}_{u}}$ , denoted by ${w^{s}_{u}}$ , is defined as ${w^{s}_{u}} = \text {max}\{({q^{s}_{u}}  {q^{s}_{v}})r_{e},\ 0\}$ , where r _{ e } is the transmission rate on the link e=(u,v). That is, the perflow queue weight is set to be the difference between the flow queue length at the current node and the associated flow queue length at the next hop node, multiplied by the data transmission rate between these two nodes. Actually, the weight is a linkoriented concept as it involves the two end nodes of a link. Let s:s∋e denote all the flows that go through link e. Then, the transmit queue length of link e at node u is ${q^{e}_{u}}=\sum _{s:s\ni e}{{q^{s}_{u}}}$ .
Let Ω denote the set of all linkchannel pairs (e,i), e=(u,v)∈E and i = 1, 2, …C, in the multichannel MIMO WMN. We denote that ${r^{i}_{e}}$ is the transmission rate of link e on channel i when all K DoFs are used for transmitting K MIMO streams with spatial multiplexing. We then define the weight of linkchannel pair (e,i) to be $w_{(e,i)}=\sum _{s:s\ni e}max\{({q^{s}_{u}}  {q^{s}_{v}}){r^{i}_{e}},\ 0\}$ . Intuitively, the product of the queue length and transmission rate reflects the urgency and efficiency of data transmission. This metric thus measures the importance of transmitting data on this linkchannel pair.
The first stage of SCMA is channel assignment and scheduling. We propose an algorithm in which the available channels are assigned to the links in the decreasing order of linkchannel pair weights. In singlechannel singleantenna networks, the greedy primaldual algorithm [27] can approximately attain optimal network throughput. Our proposed heuristic algorithm extends the greedy primaldual algorithm to multichannel MIMO networks and uses it to perform channel assignment and scheduling.
Specifically, the following procedure is performed to assign channels to the links in time slot t.

1.
Start from an empty schedule M ^{i}(t) for each channel i.

2.
Search in the linkchannel pair set Ω for the linkchannel pair (e,i) with the largest weight w _{(e,i)}. Add (e,i) to M ^{i}(t), meaning that in the tth time slot, link e will be scheduled for transmission on channel i. Correspondingly, assign channel i to a radio at node u for transmitting and to a radio at node v for receiving, i.e., update F(u) and F(v) to include the newly assigned channel i, F(u)=F(u)∪{i} and F(v)=F(v)∪{i}. Remove from the set of Ω the (e,i) pair. Set the new queue length of link e, ${q^{e}_{u}}(t+1)={q^{e}_{u}}{r^{i}_{e}}\tau \phantom {\dot {i}\!}$ , where τ is the time slot length and recalculate $w_{(e,i^{\prime })},i^{\prime }\ne i\phantom {\dot {i}\!}$ using ${q^{e}_{u}}(t+1)\phantom {\dot {i}\!}$ .

3.
Remove from the set of Ω all linkchannel pairs (e ^{′},i), where e ^{′}∈I(e) is the set of links that can interfere with link e. Since channel i has been assigned to link e with full DoF, link e ^{′} can no longer use channel i.

4.
If F(u)≥N(u), which means node u has used up all its radios, then remove from Ω all the linkchannel pairs (e ^{″},i ^{″}) where e ^{″} is any link incident (i.e. receiving or transmitting) on node u. Similarly, if F(v)≥N(v), remove from Ω all the linkchannel pairs incident on v.

5.
Repeat from step 2 until Ω is empty.
In the channel assignment stage, all effective DoFs on the transmitter and receiver are assumed to be used for the intended MIMO transmissions. Therefore, if a link is scheduled on the ith channel, no other links in its neighborhood can operate on the same channel without causing interference to this link. The channel assignment stage results in a schedule in which interfering links can be active in a time slot only if each of them can be exclusively assigned a distinct channel. Otherwise, they have to be scheduled in different time slots. We refer to such scheduling algorithm as TDMA. By taking advantage of MIMO mode control, we could actually achieve better performance by scheduling interfering links to be active on the same channel in the same time slot, each using partial number of DoFs to transmit or receive, and the remaining DoFs for interference suppression. We refer to this latter scheme as SCMA. SCMA adds the link pairing stage after the channel assignment.
6.2 Link pairing
Some links are not assigned a channel and scheduled to be active during time slot t in the channel assignment stage because no more channels are available, that is, other links in the interference range have higher weights and have used up all available channels. If each of the nodes is equipped with multiple radios, an unassigned link represents a link between two nodes each of which has at least one unassigned or unused radio. With MIMO, an unassigned link may share a channel with a neighboring link that has been assigned to transmit on that channel in the previous channel assignment stage. For an unassigned link e ^{′}, we denote link e in its neighborhood that has been assigned to channel i to transmit in time slot t. If e and e ^{′} both use partial number of DoFs for their respective transmissions on channel i and set aside enough DoFs for suppressing interference from the other, then e ^{′} can be scheduled to transmit in the same slot on the same channel as e. Note that if this happens, e can no longer transmit as many streams as its full DoFs which was assumed in the channel assignment stage. MIMO mode control determines which MIMO transmission strategy should be used, letting e transmit with all its DoFs while keeping e ^{′} silent or allowing e ^{′} and e transmit simultaneously on channel i, each using partial number of DoFs. The answer is whichever generates the better performance. Also, if e ^{′} and e are both scheduled to be active in slot t, how many and which antenna elements should be selected to use at each transmitter? The answers to these two questions are determined by the link pairing algorithm, which proceeds as follows.

1.
All the unassigned links form a set Π.

2.
Search for the unassigned link e ^{′}=(u ^{′},v ^{′}) with the largest queue length in set Π.

3.
On channel i, find a link paring candidate e=(u,v) for link e ^{′}. A candidate link e must satisfy the following two conditions: (a) e is the only link within the interference range of link e ^{′} that has been assigned on channel i in the channel assignment stage; (b) link e has not paired with any link.

4.
If there exists no candidate link on channel i, continue with the next available channel. Otherwise, determine the set of antenna elements to be used at each transmitter of two links e and e ^{′}. Assume that A(e)and A(e ^{′}) are the set of antenna elements selected at the transmitters of eand e ^{′}, respectively, for transmitting data streams. Calculate the weights of the linkchannel pairs (e,i) and (e ^{′},i) as $w^{((A(e),A(e'))}_{(e,i)}=\sum _{s:s\ni e} {\text {max}\{({q^{s}_{u}}{q^{s}_{v}})r^{(i,A(e),A(e'))}_{e},0\}}$ and $w^{(A(e'),A(e))}_{(e',i)}=\sum _{s:s\ni e'}{\text {max} \{q^{s}_{u'}q^{s}_{v'})r^{(i,A(e'),A(e))}_{e'},0\}}$ , where $r^{(i,A(e),A(e'))}_{e}$ and $r^{(i,A(e'),A(e))}_{e'}$ denote the transmission rates of links e and e ^{′} on channel i when the sets of antenna elements used by the transmitters of e and e ^{′} are A(e) and A(e ^{′}), respectively. Since links eand e ^{′} interfere with each other, their data rates depend on the antenna element selections at both the transmitters. The criterion for antenna element selection is to jointly optimize the total weight of (e,i) and (e ^{′},i), i.e., $\text {argmax}_{\left A\left (e\right)\right +A\left (e'\right)\le K}\{w^{\left (A\left (e\right),A\left (e'\right)\right)}_{\left (e,i\right)}+w^{(A\left (e'\right),A\left (e\right))}_{(e',i)}$ }. At each transmitter of e and e ^{′}, an independent data stream is transmitted from each selected antenna element. The total number of transmitted data streams should be less or equal to the available DoF, that is, A(e)+A(e ^{′})≤K.

5.
Perform steps 3 and 4 on each available channel.

6.
Link e ^{′} may find qualified candidates on multiple channels. Select the most qualified candidate (e,i), i.e., the candidate that results in the largest maximal total weight of (e,i) and (e ^{′} i), and pair link e ^{′} with that link (assuming it is eand e operates on channel i), i.e., scheduling e ^{′} and e to transmit simultaneously on channel i, each using the MIMO antenna mode determined in step 4.

7.
Assign channel i to node u ^{′} and node v ^{′}. Update F(u ^{′})=F(u ^{′})∪{i} and F(v ^{′})=F(v ^{′})∪{i}.

8.
Add link e ^{′} to M ^{i}(t), meaning that in the tth time slot, link e ^{′} can be active on channel i using the MIMO antenna mode determined in step 4 to transmit. Also update the selected pairing link e that has been added in M ^{i}(t) in the channel assignment stage with the new MIMO mode determined in step 4. After pairing, link e may not be able to transmit K MIMO streams as assumed in the first stage because it has to share the same channel with link e ^{′}. The total number of MIMO streams transmitted by link e ^{′} and link e should not exceed the DoF K.

9.
Update the queue length of link e ^{′} and link e, $q^{e'}_{u}=q^{e'}_{u}r^{(i,A\left (e'\right),\ A(e))}_{e'}\tau $ , and ${q^{e}_{u}}={q^{e}_{u}}r^{(i,A\left (e\right),A\left (e'\right))}_{e} \tau $ , where τ is the time slot length.

10.
If F(u ^{′})≥N(u ^{′}) which implies node u’ has used up all its radios, remove all the links incident on u’ from set Π. Similarly, if F(v ^{′})≥N(v ^{′}) which implies node v’ has used up all its radios, remove from Π all the links incident on v’.

11.
It is possible that link e ^{′} cannot find a link to pair with. If so, link e ^{′} is not scheduled to transmit in this time slot and removed from set Π.

12.
Repeat from step 2 until set Π becomes empty.
After the link paring stage, the two interfering links may be active simultaneously on the same channel under the constraint that the total number of streams is not greater than the effective degrees of freedom at respective receivers. In addition, when a link e is schedule to transmit, the transmitter will send the packets belonging to different flows s:s∋e on link e in a roundrobin fashion to allocate equal resource and maintain fairness among the flows sharing the link.
Performance evaluation
In this section, we compare the performance of the proposed SCMA scheme with that of the TDMA scheme and the performance upper bound under various network scenarios and unveil the impact of various system parameters on the performance with simulation results. In TDMA, a link uses all the DoFs for transmitting or receiving, and the interfering MIMO links either operate in different time slots or on different channels. With SCMA, the interfering MIMO links may simultaneously be active on a channel with interference suppression. We consider a channel path loss model with a path loss exponent of 4 in our simulations and assume the channel bandwidth is 10 MHz.
We first consider a tree network with one root node and 12 other nodes as shown in Figure 2. Tree networks are often used in backhaul WMNs in which the root node is an Internet gateway, and the other nodes are mesh routers. The distance between two neighboring nodes on the tree is all 200 m. We assume each mesh node equipped with only one softwaredefined MIMO radio capable of switching channels on a perslot basis and K antennas, and all the mesh radios transmit at a fixed power. We randomly generate the channel matrices between all the node pairs with each of their entries being i.i.d. Gaussian distributed with zero mean and unit variance. We assume there is a traffic flow from each mesh node to the root. Under the described tree topology and traffic pattern, it is easily seen that the three links incident on the root node form a bottleneck area for the traffic flows since all the traffic has to go through this area. For fairness, the traffic flows sharing a link will be allocated equal resources, that is, equal packet transmission opportunity on the link.
In the first simulation scenario, we assume there are two available channels in the network and each mesh node has two antennas. We repeat the experiment 100 times, each with randomly generated channel matrices, and then average the perflow throughput over the 100 experiments. The results are presented in Figure 3. We see that the wireless resources are fairly allocated to the 12 flows, but SCMA achieves much higher throughput than TDMA and its performance is very close to the ideal performance upper bound. For the ideal case, we assume that the transmission rate of a link is equal to the pointtopoint MIMO link capacity without interference from neighboring transmissions. The performance upper bound is thus achieved. We note that the impact of interference in this tree network is small because the interferers of a node are at least two hops away from that node.
Next, we investigate the impact of the number of antennas on the network performance. We vary the number of antennas from 2 to 6 and assume there are two available channels in the network. As above, we repeat the experiment 100 times, each with randomly generated channel matrices, and obtain the average perflow throughput of the 100 experiments. Figure 4 shows the achievable minimum flow throughput and total network throughput. We see that SCMA can achieve much larger minimum flow throughput and total network throughput than TDMA. The performance of SCMA is very close to the ideal performance bound. We also observe that the throughput is nearly a linearly increasing function of the number of antennas. To see more details, we give the throughput of each flow for twochannel, fourantenna case in Figure 5. We see that the wireless resources are almost equally allocated among the flows.
Moreover, we study the impact of the number of available channels on network performance. We vary the number of available channels and repeat the experiments 100 times for each case to obtain the average perflow throughput. The average minimum flow throughput and the average total network throughput are presented in Figure 6. Both the minimum flow throughput and the total network throughput initially increase with the number of available channels and then become flat as the number of channels is over a value, which is three for this tree topology. This is because the channels can be reused, and three channels are enough for reuse in this tree topology. SCMA outperforms TDMA, and its performance is very close to the ideal performance bound.
Finally, we evaluate the performance of TDMA and SCMA in a network with random topology. We randomly place 20 wireless nodes in a square area of 800×800 m^{2}. We generate eight data flows with sources and destinations randomly selected. We repeat the experiment 100 times, in each of which channel matrices are randomly generated. The flow throughput for each of the flows averaged over 100 experiments is given in Figure 7. We observe that SCMA also outperforms TDMA in this scenario. The performance gap between the SCMA and the ideal performance bound is a little bit larger in this random network than in the tree network due to the greater impact of interference.
Conclusions
In this paper, we have studied the higher layer enhancements, such as routing and media access control, to fully exploit the capabilities brought by the SDR and MIMO techniques in multichannel multiantenna wireless mesh networks. We provide a crosslayer framework for network performance optimization. We also propose that network traffic routing is established on a relatively long time scale to maintain system stability, and then channel assignment, link scheduling, and MIMO mode control are performed to achieve opportunistic transmissions based on instantaneous channel and traffic conditions. We further designed a MIMOaware media access scheme, streamcontrolled multiple access (SCMA), which is responsible for assigning frequency channels and scheduling links to transmit data and controlling MIMO transmission mode in every time slot. SCMA enables efficient spectrum access and sharing along temporal, frequency, and spatial dimensions and adapts to varying network conditions. The evaluation results show that the proposed scheme greatly improve the network performance compared to the traditional schemes.
References
 1
P Gupta, PR Kumar, The capacity of wireless networks. IEEE Trans. Inform. Theory. 46(2), 388–404 (2000).
 2
B Mumey, J Tang, T Hahn, in Proceedings of IEEE ICC. Algorithmic aspects of communications in multihop wireless networks with mimo links (Cape Town, South Africa, 2010).
 3
S Jaiswal, A Ganz, R Mettu, An optimization framework for demandbased fair stream allocation in mimo ad hoc networks. Mobile Netw. Appl. 14(4), 451–469 (2009).
 4
A Driouech, W Ajib, E Driouch, in Proceedings of IEEE Symposium on Computers and Communications. An efficient scheduling scheme for MIMO wireless mesh networks with fairness constraints (Sousse, Tunisia, 2009).
 5
S Chu, X Wang, in Proceedings of IEEE INFOCOM. Mimoaware routing in wireless mesh networks (New York, 2010).
 6
M Yazdanpanah, C Assi, Y Shayan, Crosslayer optimization for wireless mesh networks with smart antennas. Comput. Commun. 34, 1894–1911 (2011).
 7
M Cao, X Wang, S Kim, M Madihian, Multihop wireless backhaul networks: A crosslayer design paradigm. IEEE J. Selected Areas Commun25. 4, 738–748 (2007).
 8
A Gkelias, F Boccardi, CH Liu, KK Leung, in Proceedings of 3rd International Symposium on Wireless Pervasive Computing. Mimo routing with qos provisioning (Santorini, Greece, 2008).
 9
B Hamdaoui, KG Shin, Maximum achievable throughput in multiband multiantenna wireless mesh networks. IEEE Trans. Mobile Comput9. 6, 838–849 (2010).
 10
M Bansal, A Trivedi, Crosslayer optimization of multichannel multiantenna wmns. Wireless Pers. Commun. 71, 1443–1459 (2013).
 11
A Raniwala, T Chiuh, in Proceedings of IEEE INFOCOM. Architecture and algorithms for an ieee 802.11based multichannel wireless mesh networks (Miami, 2005).
 12
IEEE 802.11 Wireless LAN Working Group, IEEE 802.11s Mesh Networking Standard (IEEE Standards Association, New York, 2011).
 13
C Perkins, E BeldingRoyer, S Das, RFC 3561 Ad hoc ondemand distance vector (aodv) routing (Internet Engineering Task Force, 2003). http://www.ietf.org.
 14
MR Alicherry, R Bhatia, L Li, in Proceedings of ACM MobiCom. Joint channel assignment and routing for throughput optimization in multiradio wireless mesh networks (Cologne, Germany, 2005).
 15
MA Ergina, M Grutesera, L Luo, D Raychaudhuria, H Liu, Available bandwidth estimation and admission control for qos routing in wireless mesh networks. Comput. Commun. 31(7), 1301–1317 (2008).
 16
T Jing, X Chen, Y Huo, C Cheng, in Proceedings of IEEE INFOCOM. Achievable transmission capacity of cognitive mesh networks with different media access control (Orlando, 2012), pp. 1764–1772.
 17
Z Cai, Y Duan, A Bourgeois, Delay efficient opportunistic routing in asynchronous multichannel cognitive radio networks. J. Comb. Optimization. 26, 1–21 (2013).
 18
RS Blum, Mimo capacity with interference. IEEE J. Selected Areas Commun. 21, 793–801 (2003).
 19
E Biglieri, R Calderbank, A Constantinides, A Goldsmith, A Paulraj, HV Poor, MIMO Wireless Communications (Cambridge University Press, Cambridge, 2007).
 20
Q Spencer, A Swindlehurst, M Haardt, Zeroforcing methods for downlink spatial multiplexing in multiuser mimo channels. IEEE Trans. Signal Process. 52(2), 461–471 (2004).
 21
LU Choi, RD Murch, A transmit preprocessing technique for multiuser mimo systems using a decomposition approach. IEEE Trans. Wireless Commun. 3(1), 20–24 (2004).
 22
V Jungnickel, M Schellmann, L Thiele, T Wirth, T Haustein, O Koch, W Zirwas, E Schulz, Interference aware scheduling in the multiuser mimoofdm downlink. IEEE Commun. Mag. 47(6), 56–66 (2009).
 23
J Wang, D Peng, W Jia, L Huang, H Li, Joint bandwidth allocation, element assignment and scheduling for wireless mesh networks with mimo links. Elsevier J. Comput. Commun. 31(7), 1372–1384 (2008).
 24
D Wang, S Yang, Y Hu, D Teng, in Proceedings of International Conference on Wireless Communications, Networking and Mobile Computing. 9square: A new architecture for mimo wmn (Wuhan, China, 2006).
 25
S Gollakota, SD Perli, D Katabi. Interference alignment and cancellation (Barcelona, Spain, 2009).
 26
N Garg, J Konemann, in Proceedings of 39th Ann. Symp. Foundations of Computer Sciences. Faster and simpler algorithms for multicommodity flow and other fractional packing problems (Palo Alto, CA, 1998).
 27
A Stolyar, Maximizing queueing network utility subject to stability: Greedy primaldual algorithm. Queueing Syst. Theory Appl. 50(4), 401–457 (2005).
Acknowledgements
Disclaimer: The views expressed are those of the author(s) and do not necessarily reflect the official views of the Uniformed Services University of the Health Sciences or the Department of Defense.
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0), which permits use, duplication, adaptation, distribution, and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Received
Accepted
Published
DOI
Keywords
 Softwaredefined radio
 MIMO
 Wireless mesh network
 Routing
 Spectrum access
 Channel assignment
 Scheduling