 Research
 Open Access
Unified approach to crosslayer scheduling and resource allocation in OFDMA wireless networks
 Guillem Femenias^{1}Email author,
 Borja Dañobeitia^{1} and
 Felip RieraPalou^{1}
https://doi.org/10.1186/168714992012145
© Femenias et al; licensee Springer. 2012
 Received: 23 September 2011
 Accepted: 17 April 2012
 Published: 17 April 2012
Abstract
Orthogonal frequency division multiple access (OFDMA) has been selected as the core physical layer access scheme for stateoftheart and nextgeneration wireless communications standards. In these systems, scheduling and resource allocation algorithms, jointly assigning transmission data rates, bandwidth and power, become crucial to optimize the resource utilization while providing support to multimedia applications with heterogeneous quality of service (QoS) requirements. In this article, a unified framework for channeland queueaware QoSguaranteed crosslayer scheduling and resource allocation algorithms for heterogeneous multiservice OFDMA wireless networks is presented. The framework encompasses different types of traffic, uniform and continuous power allocation, discrete and continuous rate allocation, and protocols with different amounts of channel and queueawareness. System parameters and QoS requirements are projected into utility functions and the optimization problem is then formulated as a constrained utility maximization problem. Optimal solutions for this problem are obtained for the uniform power allocation schemes, and novel quasioptimal algorithms are proposed for the adaptive power allocation strategies. Remarkably, these techniques exhibit complexities that are linear in the number of resource units and users. Simulation results demonstrate the validity and merits of the proposed crosslayer unified approach.
Keywords
 Power Allocation
 Mobile Station
 Queue Length
 Orthogonal Frequency Division Multiple Access
 Best Effort
1 Introduction
Due to its high spectral efficiency, inherent robustness against frequencyselective fading and flexibility in resource allocation, orthogonal frequency division multiple access (OFDMA), combined with multipleinput multipleoutput (MIMO) strategies, has been chosen as the multiple access technique for stateoftheart and nextgeneration wireless communications standards such as IEEE 802.16e/mbased WiMAX systems [1] and Third Generation Partnership Project (3GPP) technologies based on the longterm evolution (LTE) and LTEadvanced (LTEA)^{a}[2]. These systems have been designed with different quality of service (QoS) frameworks and strategies to allow the delivery of the wide range of emerging Internet multimedia applications with diverse QoS requirements [3]. In this context, scheduling and resource allocation algorithms jointly assigning transmission data rates (AMCadaptive modulation and coding), subcarriers, time slots and power become crucial for maximizing the resource utilization while providing satisfactory service delivery to end users.
The instantaneous characteristics of the transmission channel used by wireless MIMOOFDMA networks are inherently varying in time and frequency due to multipath propagation, changing positions of mobile stations (MS) relative to the base station (BS), and nonstationary environment. Consequently, the result is that different users sharing a BS experience different channel conditions at the same time and frequency. This phenomenon, referred to as multiuser diversity, constitutes the basis of opportunistic or channelaware scheduling algorithms. The goal of these strategies is to jointly allocate resources (i.e., power, subcarriers and/or time slots) in order to either minimize the weighted sum of powers under a prescribed minimum rate budget [4–6] or maximize the weighted sumrate under a prescribed power budget [7–9]. Nevertheless, greedyopportunistic schedulers serving only the users with favorable channel quality conditions raise the issue of fairness, as those users experiencing bad channel quality conditions may suffer from starvation. Therefore, besides channel state information (CSI), fairness is also an important issue that has been taken into account when designing scheduling algorithms for OFDMAbased multiservice networks [10–16]. Fairness, however, may lead to low spectral efficiency, and this may become an issue when facing realtime services with stringent QoS requirements in terms of delay and error tolerance. Thus, beyond channel quality conditions and fairness, another important issue that should be considered to maximize users' satisfaction is the one raised by the wide range of QoS requirements of heterogeneous applications supported by emerging OFDMAbased wireless networks.
In order to tackle all previously mentioned issues, the data link layer (DLC) bursty packet arrivals and queueing behavior should be jointly taken into consideration, in a crosslayer fashion, with the physical layer (PHY) channel conditions when designing scheduling and resource allocation algorithms. In this context, publications such as [17–23], reporting optimal and suboptimal crosslayer algorithms for very specific wireless multiuser OFDMA network configurations, lack a complete overview of the full problem, making it difficult to extract general conclusions. Song and Li [17, 18] present a framework for crosslayer optimization of downlink multiuser singlecell OFDMA systems, where the interactions between the physical and DLC layers are modeled using a utility function that trades fairness for throughput efficiency. This work assumes, however, that the system has an infinite number of subcarriers and proposes suboptimal allocation algorithms for practical realization. A crosslayer scheduling scheme for OFDMA wireless systems with heterogeneous delay requirements taking into account both queueing theory and information theory in modeling the system dynamics is presented in [19]. The objective of maximizing system throughput with constraints on the delay and the maximum transmitted power is formulated as a mixed convex and combinatorial optimization problem. Mohanram and Bhashyan [20] propose a suboptimal joint subcarrier and power allocation for channel and queueaware schedulers aiming at the maximization of the global average long term throughput. This scheduler, however, seems to be only applicable for traffic types without any constraint on delays. In [21] the authors propose a QoSaware proportional fairness (QPF) scheduling policy based on a crosslayer design where the scheduler is aware of both the channel and the queue state information. The proposed approach, however, apart from using suboptimal modified greedy multicarrier proportional fairness algorithms, only considers Shannon's capacitybased data rate allocation schemes and uniform power allocation (UPA) in the frequency domain. In [22], Song et al. propose a joint channeland queueaware scheduler, which is called the maxdelayutility (MDU) scheduling, designed to efficiently support delaysensitive applications. However, this scheduler is only effective for traffic types without explicit constraints on the minimum achievable average data rate and/or the maximum allowable absolute delay. Furthermore, only suboptimal sortingsearch algorithms for the subcarrier (subband) allocation problem and greedy algorithms for the power allocation problem are proposed. Finally, Zhou et al. [23] propose a packetdependent adaptive crosslayer design for downlink multiuser OFDMA systems, designed to maximize the weighted sum capacity of users with multiple heterogeneous traffic queues and based on the suboptimal algorithms proposed in [19].
Scheduling and resource allocation based on crosslayer principles can be regarded as a multiobjective optimization problem taking into account not only the system throughput but also the transmitted power, the QoS constraints on traffic delay and minimum and maximum data rates, the priority levels of different traffic classes and amount of backlogged data in the queues. In general, there is not a single optimal solution to a multiobjective optimization problem, however, using tools from information theory, queueing theory, convex optimization, and stochastic approximation [24], a unified framework for channel and queueaware QoS guaranteed scheduling and resource allocation for heterogeneous multiservice OFDMA wireless networks is proposed in this article. To this end, this study introduces a framework able to account for different types of traffic (e.g., best effort, nonrealtime and realtime), different allocation strategies (e.g., continuous and discrete rate allocation (DRA), uniform and adaptive power allocation (APA)), protocols with different amounts of channel and queueawareness, and different utility functions measuring user's satisfaction in terms of, for instance, throughput, queue length and/or service time (waiting time in the queues). Channel state, physicallayer characteristics, queueing delay and/or QoS requirements are projected into utility functions and the multiobjective optimization problem is then formulated as a constrained utility maximization problem, where the objective function is the maximization of the user services' utility functions. The constraints are related to the specifications of the network and offered services under consideration, namely, power limitations, perservice rate limits, and exclusive chunk (frequency/time resource unit) assignment. The unified algorithmic framework presented in this article generalizes results presented in, for instance, [19, 21, 22, 25, 26]. The proposed approach is based on dual decomposition optimization [27] and stochastic approximation techniques [24] exhibiting complexities that are linear in the number of resource units and users, and that achieve negligible duality gaps in numerical simulations based on current standardslike scenarios. Algorithms presented in this article optimize nonstatic utility functions based on the temporal evolution of throughput and/or waiting time of packets in the queues. Stochastic approximation techniques are used that allow these strategies to be implemented in real time.
This article is organized as follows. Section 2 presents a brief description of the system model under consideration alongside with the key assumptions made in the formulation of the optimization problem. A thorough description of the singlecell scenario, transmitter and receiver architectures, as well as of the channel model employed is also provided. As part of the crosslayer unified framework, the variables involved in the optimization problem are described in Section 3. Next, Section 4 presents a unified framework for constrained channeland queueaware QoS guaranteed scheduling and resource allocation for heterogeneous multiservice OFDMA wireless networks. Both continuous (Shannoncapacitybased) and discrete (AMCbased) strategies are considered, and solutions based on dualoptimization techniques are provided. In Section 6, numerical results illustrating the different performance/complexity tradeoffs of the proposed unified optimization framework are presented. Special emphasis is paid to efficiency, fairness and the fulfillment of QoS requirements. Finally, Section 7 summarizes the contributions of this article, and outlines the most interesting avenues for further research.
List of selected symbols (in order of appearance)
Symbols  Description 

P _{T}  BS transmit power 
N _{ T } , N _{ R }  Number of transmit and receive antennas 
N _{ m }  Number of active MSs 
T _{ s }  Time slot duration 
T _{ o }  OFDM symbol duration (without the cyclic prefix) 
T _{CP}  OFDM cyclic prefix duration 
N _{ o }  Number of OFDM symbol per slot 
B  System bandwidth 
B _{ b }  Subband bandwidth 
N _{ b }  Number of orthogonal subbands 
Nsc  Number of subcarriers per subband 
${\mathcal{N}}_{m}$  Set of active MSs 
${\mathcal{N}}_{b}$  Set of frequency subbands 
p_{ m, b }(t)  Power allocated to MS m on subband b during the time slot t 
δ_{ m, b }(t)  Equivalent MRT/MRC channel gain for MS m on subband b during the time slot t 
${\sigma}_{\nu}^{2}$  Noise variance 
${Q}_{m}\left(t\right),{\stackrel{\u02c6}{Q}}_{m}\left(t\right),{\stackrel{\u0304}{Q}}_{m}\left(t\right)$  Measured, predicted and sample average queue length of MS m at the beginning of time slot t 
A_{ m }(t)  Number of arriving bits to the queue of MS m during time slot t 
λ _{ m }  Average arrival data rate for MS m 
r_{ m }(t), R_{ m }(t)  Allocated and effective data rates of user m during time slot t 
${\u0174}_{m}\left(t\right),{\stackrel{\u0304}{W}}_{m}\left(t\right)$  Predicted and sample average delay (waiting time) for MS m at the beginning of time slot t 
${\stackrel{\u0304}{T}}_{m}\left(t\right)$  Throughput sample average for MS m at the beginning of time slot t 
${\tau}_{m}^{\left(A\right)}\left(t\right),{\stackrel{\u02c7}{\tau}}_{m}^{\left(A\right)}\left(t\right)$  Measured and predicted arrival time of the HOL packet in the queue of MS m 
${W}_{\text{HOL},m}\left(t\right),\phantom{\rule{2.77695pt}{0ex}}{\u0174}_{\text{HOL},m}\left(t\right)$  Measured and predicted HOL delay for MS m at the end of time slot t 
p(t)  Vector of power allocation values during time slot t 
 Set of allowed power allocation vectors 
ρm, b(t)  PHY layer transmission rate of MS m over subband b during time slot t 
${\mathcal{N}}_{k}$  Set of available MCSs when using discreterate AMC 
N_{ k }  Number of available MCSs when using discreterate AMC 
${\rho}_{m}^{\left(k\right)}$  Data rate characterizing MCS k when MS m uses discreterate AMC 
${\Gamma}_{m}^{\left(k\right)}$  Instantaneous SNR boundaries defining MCS selection intervals for MS m 
Λ _{ m }  Coding gap for MCSs used by MS m 
θ_{ m }(t)  Set of quantitative QoS measures used to characterize the satisfaction of user m 
${\stackrel{\u02c7}{\mathit{\Omega}}}_{m}$  Set of QoS requirements for MS m 
${\stackrel{\u02c7}{\epsilon}}_{m},{\u010e}_{m},{\stackrel{\u02c7}{\xi}}_{m}$  Maximum tolerable BER, absolute delay and outage delay probability for MS m 
${\u0164}_{m}$  Minimum sustainable throughput for user m 
${\stackrel{\u0303}{W}}_{m}$  Delay threshold related to Ť_{ m }in MDU scheduling rule 
φ _{ m }  Set of constants used by the MDU scheduler to differentiate between heterogeneous services 
w_{ m }(t)  Weighing (prioritization) coefficient for MS m during the time slot t 
U(⋅)  Utility function used to express the satisfaction of user m 
$\mathcal{L}\left(\cdot \right)$  Lagrangian of an optimization problem 
μ  Lagrange multiplier 
g(⋅)  Dual problem 
2 System model and assumptions
Transmission between the BS and active MSs is organized in time slots of a fixed duration T_{ s } , assumed to be less than the channel coherence time. Thus, the channel fading can be considered constant over the whole slot and it only varies from slot to slot, i.e., a slotbased block fading channel is assumed. Each of these slots consists of a fixed number N_{ o } of OFDM symbols of duration T_{ o } + T_{CP} = T_{ s } / N_{ o } , where T_{CP} is the cyclic prefix duration. Slotted transmissions take place over a bandwidth B, which is divided into N_{ b } orthogonal subbands, each consisting of N_{sc} adjacent subcarriers and with a bandwidth B_{ b } = B/N_{ b } small enough to assume that all subcarriers in a subband experience frequency flat fading. One subband in the frequency axis over one slot in the time axis forms a basic resource allocation unit. Active MS and frequency subbands in a given slot are indexed by the sets ${\mathcal{N}}_{m}=\left\{1,\dots ,{N}_{m}\right\}$ and ${\mathcal{N}}_{b}=\left\{1,\dots ,{N}_{b}\right\}$, respectively.

Best effort (BE) low priority services with a prescribed maximum allowable error rate but without specific requirements on rate or delay guarantees. Examples of besteffort services include applications such as email or HTTP web browsing.

Nonrealtime (nRT) services entail applications such as file transfers (FTP). They do not impose any constraint on delays but, in addition to a maximum allowable error rate, they require sustained throughput guarantees.

Realtime (RT) high priority services are used for applications such as video conferencing and streaming entailing QoS guarantees on maximum allowable error rate, minimum throughput, and maximum delay.
Traffic flows arriving from higher layers are buffered into the corresponding N_{ m } firstin firstout (FIFO) queues at the DLC layer. At the beginning of each scheduling time interval, based on the available joint channel and queuestate information (CSI/QSI), the crosslayer scheduling and resource allocation algorithms select some packets in the queues for transmission, which are then forwarded to the OFDM transmitter, at a rate R_{ m }(t) for all $m\in {\mathcal{N}}_{m}$, where they are adaptively modulated and channel encoded (AMC), and are allocated power and subbands, just before MIMO processing.
2.1 PHY layer modeling
2.1.1 Transmitter
Multipleinput multipleoutput technology provides a great variety of techniques to exploit the multiple propagation paths between the N_{ T } transmit antennas and the N_{ R } receive antennas. Notably when CSI is available at the transmitter and receiver sides, and multiplexing in the spatial domain is not used, the joint use of maximum ratio transmission (MRT) [28] at the transmitter and maximal ratio combining (MRC) at the receiver is known to provide optimum performance in the sense of maximizing the received signaltonoise ratio (SNR).
where p_{ m, b } (t) is the power allocated to MS m on subband b during the time slot t (in a given subband, power is uniformly allocated to subcarriers), and ${\upsilon}_{m,b}\left(t\right)\in {\u2102}^{{N}_{T}\times 1}$ denotes the unit energy linear transmit filter used by the MRT transmission system.
2.1.2 Channel model
2.1.3 Receiver
where ${\mathbf{\nu}}_{m,b}^{\left(c,o\right)}\left(t\right)\in {\u2102}^{{N}_{R}\times 1}$ is a noise vector with elements modeled as independent identically distributed (i.i.d.) zeromean complex circularsymmetric Gaussian random variables, with covariance matrix $E\left\{{\u2225{\mathbf{\nu}}_{m,b}^{\left(c,o\right)}\left(t\right)\u2225}^{2}\right\}={\sigma}_{\nu}^{2}{\mathit{I}}_{{N}_{R}}$.
where ${\delta}_{m,b}\left(t\right)={\sigma}_{\text{max}}^{2}\left({\mathit{H}}_{m,b}\left(t\right)\right)$, which coincides with the largest eigenvalue of the N_{ R } × N_{ R } positive semidefinite Hermitian matrix ${\mathit{H}}_{m,b}\left(t\right){\mathit{H}}_{m,b}^{\u2020}\left(t\right)$.
2.2 DLC layer modeling
is said to fulfill the frugality constraint (FC) [22].
As will be shown in Section 4.1, most of the schedulers and resource allocation schemes that have been proposed in the literature can be interpreted as decision making algorithms that, at the beginning of time slot t estimate or predict the future behavior of QoS quantitative performance measures such as the throughput, average delay, queue length and/or headofline delay, and decide which users will be granted a transmission opportunity and the amount of resources that they will be allocated.
2.2.1 Predicting the queue length
where E_{ x } {⋅} denotes the statistical expectation operator with respect to the random variable x.
2.2.2 Predicting the average waiting time
2.2.3 Estimating the average throughput
2.2.4 Predicting the headofline delay
3 Optimization variables
3.1 Power allocation
optimizing a prescribed objective function. In addition to determining the power allocation values, the resource allocation algorithms should also allocate subbands and transmission rates. Nevertheless, as it will be shown next, the power allocation vector p(t) can also be used to represent the allocation of all these resources, thus simplifying the formulation of the optimization problem [9].
3.2 Subband allocation
where × denotes the Cartesian product (or product set).
3.3 Rate allocation
In the downlink of multirate systems based on AMC, a channel estimate is obtained at the receiver of each MS and it is then fed back to the BS so that the transmission scheme, comprising a modulation format and a channel code, can be adapted in accordance with the channel characteristics.
where κ_{1} and κ_{2} are modulationand codespecific constants that can be accurately approximated by exponential curve fitting. This expression is general enough to obtain the BER performance of any transmission system for which the joint effects of transmission filters, channel coefficients and reception filters can be represented through an instantaneous SNR γ_{ m, b } (t). For the special case of MRT/MRC scheme, γ_{ m, b } (t) is defined by (7).
3.3.1 Discreterate AMC
Realistic AMC strategies can only use a discrete set ${\mathcal{N}}_{k}=\left\{0,1,\dots ,{N}_{k}\right\}$ of MCSs that can differ for different MSs. Each MCS is characterized by a particular transmission rate ${\varrho}_{m}^{\left(k\right)}$, with ${\varrho}_{m}^{\left(1\right)}<\cdots <{\varrho}_{m}^{{N}_{k}}$, and ${\varrho}_{m}^{\left(0\right)}=0$ denoting the case where MS m does not transmit.
3.3.2 Continuousrate AMC
where ${\Lambda}_{m}={\kappa}_{2}^{1}\text{ln}\left({\kappa}_{1}/{\stackrel{\u02c7}{\epsilon}}_{m}\right)\ge 1$ represents the coding gap due to the utilization of a practical (rather than ideal) coding scheme. With Λ_{ m } = 1 this expression results in the Shannon's capacity limit and allows the comparison of practical AMCbased schemes against fundamental capacityachieving benchmarks.
4 Problem formulation
The main objective of crosslayer scheduling and resource allocation algorithms over a wireless network is the establishment of effective policies able to optimize metrics related to spectral/energy efficiency and fairness, while satisfying prescribed QoS constraints. The issues of efficient and fair allocation of resources have been intensively investigated in the context of economics, where utility functions have been used to quantify the benefit obtained from the usage of a pool of resources. In a similar way, utility theory can be used in wireless communication networks to evaluate the degree up to which a given network configuration can satisfy users' QoS requirements [17, 18].
4.1 Gradientbased scheduling and resource allocation
4.2 Marginal utility functions
4.2.1 Maxsumrate (MSR) rule
However, as stated by Song et al. [22], although it maximizes the spectral efficiency, it can lead to unfairness and queue instability, especially for nonuniform traffic patterns and MSs operating in uneven channel conditions. Furthermore, since MSs with unfavorable channel conditions can experience long deep fading periods, long delays are expected and consequently, the MSR rule is not able to support delaysensitive applications.
4.2.2 Proportional fair (PF) rule
Nevertheless, although PF rule can trade off spectral efficiency and fairness among users belonging to the same QoS class, it cannot cope with MSs with disparate QoS requirements, especially those supporting delaysensitive applications. Particularly, long deep fading starvation periods are not solved by this rule.
4.2.3 Modified largest weighted delay first (MLWDF) rule
where χ_{ m } (t) are arbitrary positive constants that can be used to set different priority levels between traffic flows. The MLWDF scheduling rule remains throughput optimal if for all or some queues, the headofline delay W_{HOL,m}(t) is replaced by the queue length Q_{ m } (t). Thus, the scheduler can be easily implemented by time stamping arriving data packets of all MSs, and/or keeping track of the corresponding queue lengths.
providing in this way QoS differentiation among user's flows.
As stated by Andrews et al. [37], services with QoS constraints on the minimum sustainable throughput Ť_{ m }can also be supported by the MLWDF scheduling rule, provided that the scheduler is used in conjunction with a token bucket control. In this case, each queue m is associated to a virtual token bucket, with tokens arriving at a constant rate Ť_{ m }. At each time slot, queues are served according to the MLWDF rule, with W_{HOL,m}(t) denoting the delay of the headofline token in bucket m instead of the headofline packet delay for queue m. After serving a given queue m, the number of tokens in the corresponding bucket must be reduced by the actual amount of data served.
4.2.4 Exponential (EXP) rule
As in the MLWDF scheduler, the headofline delay W_{HOL,m}(t) can be replaced, for all or some queues, by the queue length Q_{ m } (t) without affecting the throughput optimality of this strategy. Furthermore, if providing a minimum throughput Ť_{ m }to a given flow is a goal, the EXP rule can also be modified by introducing a virtual token queue, where tokens arrive at a constant rate Ť_{ m }, and serving the queue according to the EXP rule, with W_{HOL,m}(t) denoting the delay of the headofline token in bucket m.
4.2.5 MDU rule
where φ_{ m } = {φ_{ m } ,_{1}, φ_{ m } ,_{2}} is a set of constants used to differentiate between heterogeneous services and ${\stackrel{\u0303}{W}}_{m}$ is a delay threshold related to the maximum tolerable delay Ť_{ m }. In [39], based on the corresponding required QoS, these parameters were set to φ_{ m } = {1, 1.5} and ${\stackrel{\u0303}{W}}_{m}=25\phantom{\rule{0.3em}{0ex}}\text{ms}$ for packetswitched voice with endtoend delay required to be less than 100 ms, φ_{ m } = {0.6, 1} and ${\stackrel{\u0303}{W}}_{m}=100\phantom{\rule{0.3em}{0ex}}\text{ms}$ for goodquality streaming transmission requiring endtoend delays between 150400 ms and, finally, φ_{ m } = {0.5, 0} and ${\stackrel{\u0303}{W}}_{m}=100\phantom{\rule{0.3em}{0ex}}\text{ms}$ ms for BE traffic. Actually, using these settings the MDU scheduling for the besteffort traffic becomes the PF scheduling.
4.2.6 Other scheduling rules
Although not treated in this article, the unified crosslayer optimization approach defined in (34) can also be extended to scheduling rules such as those proposed in [16, 23, 40–42]. Notably, AlManthari et al. [41] propose the use of utility functions that are based on both the throughput and the average delay.
5 Unified optimization framework
The optimization problem formulated in (34) is general enough to account for different power and rate allocation strategies, either with or without FC. For clarity of presentation, the following list of acronyms will be used: UPA, APA, continuous rate allocation (CRA), DRA and FC. Furthermore, since optimization is performed on a slotbyslot basis, from this point onwards the time dependence (i.e., (t)) of all the variables will be dropped.
5.1 UPA without FC
with ρ_{ m, b } obtained as in either (23), for the DRA case, or (25), for the CRA case.
5.2 APA without FC
The solution to the simplified dual problem is given by optimizing (49) over all (p, μ) ≽ 0. This optimization can be done iteratively and coordinatewise, starting with the p variables and continuing with μ.
5.2.1 Optimizing the dual function over p
Furthermore, as in the CRA case, given μ and ${p}_{m,b}^{*}$, the subband b must be allocated to MS ${m}_{b}^{*}$ satisfying (53).
5.2.2 Optimizing the dual function over μ
Using standard properties of dual optimization problems [9, 27], it can be shown that this problem is convex with respect to μ, and thus, derivativefree line search methods like, for example, Goldensection or Fibonacci, can be used to determine μ*. Once μ* has been found, it can be used to obtain optimal power, subband and rate allocation for each of the data flows in the system.
 1:
i = 1; {Initialize iteration counter}
 2:
${\mathcal{N}}_{b}^{\left(1\right)}={\mathcal{N}}_{b}$ {Initialize set of non allocated subbands}
 3:
${Q}_{m}^{\left(1\right)}\left(t\right)={Q}_{m}\left(t\right)\phantom{\rule{2.77695pt}{0ex}}\forall m$ {Initialize queue lengths}
 4:
${P}_{T}^{\left(1\right)}\left(t\right)={P}_{T}$ {Initialize available power (APA)}
 5:
while${\mathcal{N}}_{b}^{\left(i\right)}\ne \mathrm{0\u0338}$ and ${\sum}_{m=1}^{{N}_{m}}{Q}_{m}^{\left(i\right)}\ne 0$ do
 6:
{Allocate resources using (61)(63) or (65)(69)}
 7:
${\mathcal{N}}_{b}^{\left(i+1\right)}=\left\{{\mathcal{N}}_{b}^{\left(i\right)}\backslash b\right\}$ {Update non allocated subbands}
 8:
${Q}_{{m}_{b}^{*}}^{\left(i+1\right)}={Q}_{{m}_{b}^{*}}^{\left(i\right)}{N}_{\text{sc}}{\rho}_{{m}_{b}^{*},b}{N}_{o}{T}_{o}$ {Update queue}
 9:
${P}_{T}^{\left(i+1\right)}={P}_{T}^{\left(i\right)}{p}_{{m}_{b}^{*}}$ {Update available power (APA)}
 10:
i = i + 1; {Update iteration counter}
 11:
end while
5.3 UPA and APA with FC
This problem belongs to the class of nonlinear integer optimization programs, which have no general global optimal solution. In an attempt to provide a fast and efficient suboptimal solution to the joint scheduling and resource allocation problem, an iterative searching algorithm providing quasioptimal solutions is proposed in Algorithm 1. Our approach is based on a modified version of the optimal solutions presented in Sections 5.1 and 5.2. If necessary, the proposed algorithm allocates a subband $b\in {\mathcal{N}}_{b}$ per iteration i, assuming that queue length and available transmit power (APA cases only) are updated, in each iteration, by taking into account the data rate and power (APA cases only) allocated to subband b.
5.3.1 UP A with FC
The persubband data rate ρ_{ m, b } is obtained as in either (23), for the DRA case, or (25), for the CRA case.
5.3.2 APA with FC
which, as previously stated, can be solved by using derivativefree line search methods. Once μ*^{(i)}has been found, it can be used to obtain power, subband and rate allocation.
Furthermore, as in the APA/CRA case, given μ*^{(i)}and ${p}_{m,b}^{*\left(i\right)}$, the subband b must be allocated to MS ${m}_{b}^{*}$ satisfying (67).
6 Numerical results

Average system throughput: average number of transmitted bits per second by the BS. It is obtained as the average sumrate achieved by the whole set of users connected to the BS.

Average delay: average amount of time the bits spent in the queue at the BS in addition to transmission time. Notice that delay can be interpreted as an indirect throughput measure. If a given MS is not allocated enough resources, the achievable throughput is below the traffic arrival rate, the corresponding queue gets unstable and delay grows toward infinity. On the other hand, if the MS is overprovisioned, the traffic arrival rate is below the maximum achievable throughput, the queue is stable, and the mean delay remains bounded.

Fairness: Jain's fairness index [44] will be used to calculate fairness among users of the same class of service. With Ω_{ m }denoting the performance metric for user m (i.e., throughput or average delay), then Jain's fairness index is calculated as$\text{JF}{\text{I}}_{\mathcal{C}}=\frac{{\left({\sum}_{m\in \mathcal{C}}{\Omega}_{m}\right)}^{2}}{\left\mathcal{C}\right{\sum}_{m\in \mathcal{C}}{\Omega}_{m}^{2}},\phantom{\rule{1em}{0ex}}{\Omega}_{m}\ge 0\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\forall m,$(70)
where is the set of users belonging to a given class of service and $\left\mathcal{C}\right$ denotes the cardinality of this set. The Jain's fairness index is constrained to the set of values $1/\left\mathcal{C}\right\le \text{JF}{\text{I}}_{\mathcal{C}}\le 1$. If all the users in get the same Ω_{ m } , then $\text{JF}{\text{I}}_{\mathcal{C}}=1$ and maximum fairness is achieved. Lower Jain's fairness index values indicate a higher variance in their achieved QoS, revealing unfairness in scheduling and resource allocation.

Service coverage: percentage of users who achieve their QoS requirements in terms of minimum throughput or maximum allowable average or absolute delay.
6.1 Simulation configuration
Let us consider a singlecell downlink scenario where the BS, transmitting with a power of P_{ T } = 37 dBm over a carrier frequency f_{0} = 2 GHz, is assumed to be located at the center of a circular coverage area with a radius R = 500 m. This BS serves a set of N_{ u } MSs that are uniformly distributed over the whole coverage area. Unless otherwise specified, a default 2 × 2 MIMO configuration will be assumed. The entire system bandwidth is B = 5.6 MHz, and is divided into N_{ b } = 64 orthogonal subbands, each with a bandwidth B_{ b } = 87.5 kHz and consisting of N_{sc} = 8 adjacent subcarriers. Transmission between the BS and active MSs is organized in time slots of duration T_{ s } = 2.0571 ms, and each of these slots consists of N_{ o } = 20 OFDM symbols of duration (without considering the cyclic prefix) T_{ o } = 91.4286 μ s. Thus, the basic resource allocation unit is formed by 8 adjacent subcarriers and 20 OFDM symbols. We would like to point out that, without loss of generality, most of the chosen parameters are very much aligned with those considered in the Mobile WIMAX standard (see, for instance, [[45] Table 2.3]).
When using DRA strategies, the set of achievable transmission rates in bits/symbol has been fixed to {0, 0.5, 1, 1.5, 2, 3, 4, 4.5}, the coding gap has been set to Λ_{ m } = 3, and the switching thresholds between transmission modes have been obtained as ${\Gamma}_{m}^{\left(k\right)}={\Lambda}_{m}\left({2}^{{\varrho}^{\left(k\right)}}1\right)$. In contrast, a coding gap of Λ_{ m } = 1 (Shannon's capacity limit) has been set when using CRA strategies, whose performance serves as a benchmark against which practical DRA strategies can be measured.
The channel model describing the pathlosses, shadowing effects and frequency, timeand spaceselective fading experienced by the transmitted signal on its way from the BS to the MSs, has been implemented by using Stanford University Interim (SUI) channel model 4 [46] with a shadow fading standard deviation of 6 dB. The power delay profile of this model is characterized by L_{ p } = 3 Rayleigh distributed paths with power gains ${\sigma}_{m,0}^{2}=0\phantom{\rule{0.3em}{0ex}}\text{dB,}{\sigma}_{m,1}^{2}=4\phantom{\rule{0.3em}{0ex}}\text{dB}$ and ${\sigma}_{m,2}^{2}=8\phantom{\rule{0.3em}{0ex}}\text{dB}$, and corresponding delays τ_{0} = 0 μs, τ_{1} = 1.5 μ s and τ_{2} = 4 μ s. Moreover, a per subcarrier AWGN power of ${\sigma}_{\nu}^{2}=163.6\phantom{\rule{0.3em}{0ex}}\text{dBW}$ has been assumed at the receiver frontend.
To demonstrate the ability of our proposed unified framework to schedule and allocate resources to service flows with different QoS requirements, three traffic classes are considered, i.e., real time (RT), non real time (nRT) and BE. As in [22], traffic arrivals have been modeled as Poisson random variables, with a mean that depends on the average arrival rate per flow (measured in bits/s). Without loss of generality, the maximum tolerable delays (Ď_{ m }) for each traffic class have been set to 100 ms (RT), 2 s (nRT) and 20 s (BE), and the outage delay probabilities (ξ_{ m } ) to 0.01 (RT), 0.01 (nRT) and 0.1 (BE).
All the numerical results presented in this article have been obtained by averaging the outcomes of a dynamic discrete event simulation performed over 60 scenarios, each with a particular random distribution of MSs over the coverage area, and transmitting 15,000 slots per scenario. To guarantee that the presented results correspond to the steadystate of the system, initial transitory periods of 1,000 slots per scenario, which are not accounted for in the performance evaluation process, have been used.
6.2 Comparing scheduling rules
Without FC, the EXP and MLWDF rules provide the best joint results in terms of throughput, delay, Jain's fairness indexes, and service coverage, with MLWDF achieving a slightly higher throughput, lower delay and better service coverage that EXP, at the cost of lower throughput and delay fairness indexes.^{c} The PF scheduler, although achieves a quite good result in terms of average throughput per flow, fails in providing QoS requirements. In fact, the PF rule can only guarantee a 99% service coverage for average arrival rates per flow less than 0.3 Mbps compared to the 0.8 and 1 Mbps that can be guaranteed by EXP and MLWDF rules, respectively. The MSR scheduling rule, which only considers CSI as a quality indicator, allocates all the resources to the users with favorable channel quality conditions, and those users experiencing bad channel quality conditions suffer from starvation. Hence, as it wastes resources, MSR rule is not capable of achieving queue stability and presents a very low average throughput and an infinite^{d} average delay per flow, irrespective of the average traffic arrival rate.
Except for a slight increase in delay Jain's fairness index, which is only perceptible for light or moderate traffic loads, the effect of implementing FC on the performance of EXP and MLDF scheduling rules is very small. This can be explained by the fact that, when calculating the weighting coefficients w_{ m } (t), the EXP and MLDF schedulers use QSI and thus, the performance gains provided by the introduction of the FC are just incremental. On the contrary, the performance improvement induced by the implementation of FC is considerable for the PF rule, and specially important for the MSR scheduler, which do not use QSI when calculating w_{ m } (t). In fact, even though the PF and MSR rules provide poorer Jain's fairness indexes than those delivered by the EXP and MLWDF rules, they can guarantee a 99% service coverage for average arrival rates per flow less than approximately 0.8 Mbps, which is almost the same that can be guaranteed when using the EXP scheduler.
6.3 Comparing allocation strategies
The effect of implementing FC on the system performance metrics is practically identical irrespective of the power and rate allocation strategies implemented at the crosslayer resource allocation unit. The average throughput per flow, delay, throughput JFI and service coverage are basically unaffected, and only an improvement in delay JFI is obtained with light and moderate traffic loads. Although not shown in the graphs, when implementing APA strategies, the use of FC also introduces a decrease in power consumption. This is due to the fact that resources (power and subbands) are only allocated when necessary, that is, when there is enough information in the queues ready to be transmitted.
6.4 Comparing MIMO configurations
6.5 Performance results for heterogeneous traffic scenarios
In this particular scenario, except for very heavy traffic arrivals, the MLWDF scheduling rule provides the best performance results in terms of average throughput per flow and service coverage at the cost of a worse behavior of the delay Jain's fairness index. The MDU scheduler provides the best results in terms of both throughput and delay Jain's fairness indexes for RT and nRT traffic classes, but such a fair behavior is obtained at the cost of service coverage. The EXP scheduler sacrifices the average throughput and delay per flow of BE users to obtain a good tradeoff between service coverage and delay Jain's fairness index.
7 Conclusions
The emergence of stateoftheart and nextgeneration wireless communications networks based on adaptive MIMOOFDMA PHY access schemes, will enable the support of a wide range of multimedia applications with heterogeneous QoS requirements. In order to optimize the resource utilization while maintaining the QoS provided to as many users as possible, these systems require of adaptive scheduling and resource allocation algorithms able to grant a proper trade off between efficiency and fairness. In this context, using tools from information and queueing theories, mathematical convex programming, and stochastic approximation, a unified framework for channel and queueaware QoSguaranteed crosslayer scheduling and resource allocation algorithms has been developed in this article. The proposed unified framework generalizes previous work on this topic by encompassing different types of traffic, different utility functions measuring user's satisfaction, uniform and adaptive power allocation, continuous and DRA, and protocols with different amounts of channel and queueawareness. System parameters and QoS requirements have been projected into utility functions, which have then been used to formulate a unified constrained utility maximization problem, whose main aim is to balance the efficiency and fairness of resource allocation. Optimal solutions for this problem have been obtained for the UPA schemes, and novel quasioptimal algorithms have been proposed for the APA strategies, exhibiting complexities that are linear in the number of resource units and users.

Without FC, the EXP and MLWDF rules provide the best joint performance results, with MLWDF achieving a slightly higher throughput, lower delay and better service coverage that EXP, at the cost of lower throughput and delay fairness indexes. The PF and MSR scheduling rules, which only consider CSI as a quality indicator, fail in providing QoS. However, although implementing FC has a negligible impact on the performance of EXP and MLDF scheduling rules, the performance improvement induced by FC is remarkable for the PF and MSR schedulers.

APAbased strategies improve the performance of UPAbased ones. Nevertheless, this performance improvement, although noticeable for DRA systems, becomes almost negligible when using CRA schemes. Thus, using AMC schemes with a large set of modulation and coding formats can make unnecessary the use of power allocation strategies.

Increasing the number of transmit and/or receive antennas at the PHY translates into a widening of the stability region, proving in this way the convenience of employing MIMO spatial diversity to support statistical QoS provision to upper layer protocols.

Channel and queueaware crosslayer scheduling and resource allocation strategies can fairly allocate resources among heterogenous traffic classes, with different scheduling policies (e.g., EXP, MDU and MLWDF) providing different tradeoffs between efficiency, delay, fairness and service coverage.
Simulation results have demonstrated the validity and merits of the proposed crosslayer unified approach. However, the optimization problem treated in this article is only applicable to single cell scenarios using MRT/MRCbased MIMO techniques. Therefore, to widen its application scope, current work focusses on extending the crosslayer unified approach to distributed scheduling and resource allocation in generalized MIMOOFDMA multicellular wireless heterogeneous networks, possibly including more sophisticated MIMO techniques, one and twoway relays, shared relays, femtocells and/or clusters of coordinated BSs.
Endnotes
^{a}LTE was introduced in 3GPP Releases 8 and 9 as a major step forward for UMTSbased networks, and LTEAdvanced is the fourth generation (4G) LTE standard in 3GPP Release 10.
^{b}A scheduling algorithm is said to be throughput optimal if it can keep all the queues stable if this is at all feasible to do.
^{c}Typically, the delay Jain's fairness index is high for light traffic arrival rates because, in this case, all the flows can be served after very low average waiting times in the queues. For moderate traffic arrival rates, the variance of per flow waiting times in the queues increases and, consequently, the delay Jain's fairness index decreases. Heavy traffic arrivals tend to cause queue instability, with almost all the flows experiencing large average delays, thus producing again an increase of the delay fairness index.
^{d}The average delay per flow would be infinite if simulations were performed over an infinite period of time.
Declarations
Acknowledgements
This was supported in part by the MEC and FEDER under projects COSMOS (TEC200802422) and AM3DIO (TEC201125446), and in part by the Govern de les Illes Balears through a Ph.D. scholarship.
Authors’ Affiliations
References
 Fu I, Chen Y, Cheng P, Yuk Y, Kim Y, Kwak J: Multicarrier technology for 4G WiMax system. IEEE Commun Mag 2010, 48(8):5058.View ArticleGoogle Scholar
 Ghosh A, Ratasuk R, Mondal B, Mangalvedhe N, Thomas T: LTEadvanced: nextgeneration wireless broadband technology. IEEE Wirel Commun 2010, 17(3):1022.View ArticleGoogle Scholar
 Alasti M, Neekzad B, Hui J, Vannithamby R: Quality of service in WiMAX and LTE networks. IEEE Commun Mag 2010, 48(5):104111.View ArticleGoogle Scholar
 Wong CY, Cheng RS, Letaief KB, Murch RD: Multiuser OFDM with adaptive subcarrier, bit, and power allocation. IEEE J Sel Areas Commun 1999, 17(10):17471758. 10.1109/49.793310View ArticleGoogle Scholar
 Krongold BS, Ramchandran K, Jones DL: Computationally efficient optimal power allocation algorithms for multicarrier communication systems. IEEE Trans Commun 2000, 48(1):2327. 10.1109/26.818869View ArticleGoogle Scholar
 Kivanc D, Li G, Liu H: Computationally efficient bandwidth allocation and power control for OFDMA. IEEE Trans Wirel Commun 2003, 2(6):11501158. 10.1109/TWC.2003.819016View ArticleGoogle Scholar
 Jang J, Lee KB: Transmit power adaptation for multiuser OFDM systems. IEEE J Sel Areas Commun 2003, 21(2):171178. 10.1109/JSAC.2002.807348View ArticleGoogle Scholar
 Hoo LMC, Halder B, Tellado J, Cioffi JM: Multiuser transmit optimization for multicarrier broadcast channels: asymptotic FDMA capacity region and algorithms. IEEE Trans Commun 2004, 52(6):922930. 10.1109/TCOMM.2004.829570View ArticleGoogle Scholar
 Wong IC, Evans B: Resource allocation in multiuser multicarrier wireless systems. Springer New York; 2008.View ArticleGoogle Scholar
 Ergen M, Coleri S, Varaiya P: QoS aware adaptive resource allocation techniques for fair scheduling in OFDMA based broadband wireless access systems. IEEE Trans Broadcast 2003, 49(4):362370. 10.1109/TBC.2003.819051View ArticleGoogle Scholar
 Wong IC, Shen Z, Evans B, Andrews J: A low complexity algorithm for proportional resource allocation in OFDMA systems. In Proc IEEE Workshop on Signal Processing Systems. Austin Texas USA; 2004:16.Google Scholar
 Kim H, Han Y: A proportional fair scheduling for multicarrier transmission systems. IEEE Commun Lett 2005, 9(3):210212. 10.1109/LCOMM.2005.03014MathSciNetView ArticleGoogle Scholar
 Shen Z, Andrews JG, Evans BL: Adaptive resource allocation in multiuser OFDM systems with proportional rate constraints. IEEE Trans Wirel Commun 2005, 4(6):27262737.View ArticleGoogle Scholar
 Han Z, Ji Z, Liu K: Fair multiuser channel allocation for OFDMA networks using Nash bargaining solutions and coalitions. IEEE Trans Commun 2005, 53(8):13661376. 10.1109/TCOMM.2005.852826View ArticleGoogle Scholar
 Ma Y: Rate maximization for downlink OFDMA with proportional fairness. IEEE Trans Veh Technol 2008, 57(5):32673274.View ArticleGoogle Scholar
 Rodrigues EB, Casadevall F: Control of the tradeoff between resource efficiency and user fairness in wireless networks using utilitybased adaptive resource allocation. IEEE Commun Mag 2011, 49(9):9098.View ArticleGoogle Scholar
 Song G, Li Y: Crosslayer optimization for OFDM wireless networkspart I: theoretical framework. IEEE Trans Wirel Commun 2005, 4(2):614624.MathSciNetView ArticleGoogle Scholar
 Song G, Li Y: Crosslayer optimization for OFDM wireless networkspart II: theoretical framework. IEEE Trans Wirel Commun 2005, 4(2):625634.MathSciNetView ArticleGoogle Scholar
 Hui D, Lau V, Lam W: Crosslayer design for OFDMA wireless systems with heterogeneous delay requirements. IEEE Trans Wirel Commun 2007, 6(8):28722880.View ArticleGoogle Scholar
 Mohanram C, Bhashyam S: Joint subcarrier and power allocation in channelaware queueaware scheduling for multiuser OFDM. IEEE Trans Wirel Commun 2007, 6(9):32083213.View ArticleGoogle Scholar
 Kong Z, Kwok YK, Wang J: A lowcomplexity QoSaware proportional fair multicarrier scheduling algorithm for OFDM systems. IEEE Trans Veh Technol 2009, 58(5):22252235.View ArticleGoogle Scholar
 Song G, Li Y, Cimini L: Joint channel and queueaware scheduling for multiuser diversity in wireless OFDMA networks. IEEE Trans Commun 2009, 57(7):21092121.View ArticleGoogle Scholar
 Zhou N, Zhu X, Huang Y, Lin H: Low complexity crosslayer design with packet dependent scheduling for heterogeneous traffic in multiuser OFDM systems. IEEE Trans Wirel Commun 2010, 9(6):19121923.View ArticleGoogle Scholar
 Wang X, Giannakis G, Marques A: A unified approach to QoSguaranteed scheduling for channeladaptive wireless networks. Proc IEEE 2007, 95(12):24102431.View ArticleGoogle Scholar
 Dañobeitia B, Femenias G, RieraPalou F: Resource allocation in MIMOOFDMA wireless systems based on linearly precoded orthogonal spacetime block codes. In Proceedings of EUNICE. Barcelona, Spain; 2009:127134.Google Scholar
 Dañobeitia B, Femenias G: Dual methods for channel and QoSaware resource allocation in MIMOOFDMA networks. In IFIP Wireless Days. Venice, Italy; 2010.Google Scholar
 Yu W, Lui R: Dual methods for nonconvex spectrum optimization of multicarrier systems. IEEE Trans Commun 2006, 54(7):13101322.View ArticleGoogle Scholar
 Lo T: Maximum ratio transmission. IEEE Trans Commun 1999, 47(10):14581461. 10.1109/26.795811View ArticleGoogle Scholar
 Proakis JG: Digital Communications. 4th edition. McGraw Hill, New York; 2001.MATHGoogle Scholar
 Kleinrock L: Queueing Systems. Volume I. Wiley, New York; 1975. TheoryMATHGoogle Scholar
 Goldsmith AJ: Wireless Communications. Cambridge University Press, Cambridge; 2005.View ArticleGoogle Scholar
 Stolyar A: On the asymptotic optimality of the gradient scheduling algorithm for multiuser throughput allocation. J Operat Res Soc 2005, 53: 1225. 10.1287/opre.1040.0156MathSciNetView ArticleMATHGoogle Scholar
 Knopp R, Humblet P: Information capacity and power control in singlecell multiuser communications. In IEEE International Conference on Communications (ICC). Volume 1. Seattle, Washington, USA; 1995:331335.View ArticleGoogle Scholar
 Kelly F, Maulloo A, Tan D: Rate control for communication networks: shadow prices, proportional fairness and stability. J Operat Res Soc 1998, 49(3):237252.View ArticleMATHGoogle Scholar
 Shakkottai S, Stolyar A: Scheduling algorithms for a mixture of realtime and nonrealtime data in HDR. Bell Laboratories, Lucent Technologies, Murray Hill; 2000.Google Scholar
 Andrews M, Borst S, Dominique F, Jelenkovic P, Kumaran K, Ramakrishnan K, Whiting P: Dynamic bandwidth allocation algorithms for highspeed data wireless networks. Bell Labs Tech J 1998, 3(3):3049.View ArticleGoogle Scholar
 Andrews M, Kumaran K, Ramanan K, Stolyar A, Whiting P, Vijayakumar R: Providing quality of service over a shared wireless link. IEEE Commun Mag 2001, 39(2):150154. 10.1109/35.900644View ArticleGoogle Scholar
 Shakkottai S, Stolyar A: Scheduling for multiple flows sharing a time varying channel: the exponential rule. Bell Labs Technical Report; 2000.MATHGoogle Scholar
 Song G: Crosslayer resource allocation and scheduling in wireless multicarrier networks. School of Electrical and Computer Engineering, Georgia Institute of Technology; 2005.Google Scholar
 Sundaresan K, Wang X, Madihian M: Scheduler design for heterogeneous traffic in cellular networks with multiple channels. In Proceedings of the Third International Conference on Wireless Internet (WICON). Austin, Texas, USA; 2007:12. 112:10Google Scholar
 AlManthari B, Hassanein H, Ali N, Nasser N: Fair classbased downlink scheduling with revenue considerations in next generation broadband wireless access systems. IEEE Trans Mobile Comput 2009, 8: 721734.View ArticleGoogle Scholar
 Mehrjoo M, Awad MK, Dianati M, Shen XS: Design of fair weights for heterogeneous traffic scheduling in multichannel wireless networks. IEEE Trans Commun 2010, 58(10):28922902.View ArticleGoogle Scholar
 Boyd S, Vandenberghe L: Convex Optimization. Cambridge University Press, Cambridge; 2004.View ArticleMATHGoogle Scholar
 Jain R, Chiu DM, Hawe W: A quantitative measure of fairness and discrimination for resource allocation in shared systems. DEC Research Report; 1984.Google Scholar
 Andrews JG, Gosh A, Muhamed R: Fundamentals of WiMAX. Undestanding Broadband Wireless Networking. PrenticeHall, Upper Saddle River; 2007.Google Scholar
 Erceg V, Hari K, Smith M, Baum D, Sheikh K, Tappenden C, Costa J, Bushue C, Sarajedini A, Schwartz R, Branlund D, Kaitz T, Trinkwon D: Channel models for fixed wireless applications. IEEE 802.16 Broadband Wireless Access Working Group, Tech Rep 2001.Google Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.