 Research
 Open Access
 Published:
Intelligent spectrum assignment and migration in cognitive radio network
EURASIP Journal on Wireless Communications and Networking volume 2013, Article number: 200 (2013)
Abstract
Cognitive radio networks significantly improve spectrum utilization efficiency by allowing unlicensed users to opportunistically access the unused licensed spectrum. One of the key challenges is to determine how to properly assign the unused spectrum slots without impacting the licensed users and if necessary, move the existing users to different spectrum bands. In this paper, we present a spectrum migration model and propose a simulated annealing approach to determine the proper spectrum migration solution, which optimizes the aggregated utility while satisfying capacity constraints, interference constraints, and rate requirement constraints. The algorithm also takes into account different classes of traffic. We show that the algorithm greatly outperforms the greedy migration approach and other assignment approaches without migration.
1 Introduction
As smartphone and other wireless equipment have become such integral part of our daily lives, we demand to be connected to anyone, anytime, and anywhere. This poses an exciting challenge to the wireless communication research community to explore new ways to exploit the limited radio spectrum band. The fixed spectrum assignment strategy employed by existing wireless networks is extremely inefficient. A field test taken in New York City reported that the maximum total spectrum occupancy is only 13.1% in the 30MHz to 3GHz band [1]. Similar studies showed that only 22% of assigned spectrum is utilized in urban areas and less than 3% in rural areas [2]. The Federal Communications Commission estimates that the utilization rate for existing spectrum is between 15% to 85% with high variance in time and location [3]. Cognitive radio network (CRN) shows great promise to exploit these deficiencies by applying dynamic spectrum assignment.
CRN, first introduced in [4, 5], is a new paradigm for wireless communication that allows spectrum deficiency to be exploited in an opportunistic manner. Unless the traffic is continuous and uniform, an assignment spectrum band is always underutilized or even unused, leading to a waste of radio resources. These underutilized or unused spectrum bands are called spectrum holes (also called white spaces). As shown in Figures 1 and 2, there are actually two types of spectrum holes. TypeA spectrum hole is the portion of underutilized assigned spectrum. Figure 1 displays the usage of a particular assigned spectrum over a period of time. Assume that the maximum throughput for this band is 20 Mbps, represented by a blue dash line. As shown in the diagram, the spectrum band is rarely being fully utilized, leaving lots of white spaces. We call this underutilized white spaces typeA spectrum holes. Taking advantage of such spectrum requires sophisticated spectrum spreading. TypeB spectrum hole is the gap between transmissions in an assigned spectrum. As show n in Figure 2, the spectrum band is being used to its full capacity, but there are pauses in the transmission, creating lots of white spaces. We call these gaps typeB spectrum holes. This type of spectrum hole is much easier to detect and utilize. In reality, typeA and typeB often coexist in an assigned spectrum band while typeA occurs more often than typeB. In fixed spectrum assignment, these spectrum holes could fill up to 85% of the assigned band. The observation of spectrum holes inspired the introduction to cognitive radio technologies.
The approach to address typeA spectrum hole is called underlay, in which an unlicensed user might transmit in the same band and at the same time as the licensed user, as long as their interference is within tolerable limit of the licensed user. The approach to address typeB spectrum hole is called overlay, in which an unlicensed user only transmits when the band is not in use, causing minimum interference to the licensed user. These licensed and unlicensed users are actually called primary user (PU) and secondary user (SU), respectively. Formally, a PU is the subscriber of a licensed band network, and an SU is the one that leases the unused licensed band of the network. In essence, a PU and an SU share the same spectrum band, typically in a preemptive manner where priority is given to the PU. In other words, if a PU requests a spectrum band that is currently used by an SU, this SU must vacate the band immediately and either migrate to another spectrum hole or has to hang up. Such preemptive sharing scheme is widely accepted for the purpose of avoiding harmful interference to existing PUs.
The key challenge of constructing a CRN is to detect spectrum holes and assign them to appropriate users. Therefore, besides the conventional network management functions like admission control, congestion control, and handover, a CRN must implement at least two additional functions:

spectrum sensing  detecting spectrum holes in the licensed spectrum bands; and

spectrum sharing  deciding proper spectrum allocation scheme among existing PUs and SUs. This is also called the spectrum assignment.
In this literature, we focus on the spectrum assignment problem. We propose a simulated annealing approach that maximizes the aggregated user utility while attempting to assign users to available spectrum bands. If necessary, the algorithm will move existing users to different bands to accommodate new users. The algorithm also considers different classes of traffic. The rest of the paper is organized as follows. Section 2 gives a literature review of various spectrum assignment approaches. Section 3 describes our system model and formulates the spectrum assignment and migration problem. A simulated annealing approach to solve the problem is proposed in section 4. Simulation results are shown and discussed in section 5. Finally, we give our conclusions and future research extensions in section 6.
2 Literature review
Many attempts have been made to tackle the dynamic spectrum assignment and sharing problem. These approaches can be roughly divided into three categories based on their theoretical foundations, graph theory approach, pricebased approach, and heuristic approach.
The graph theory approach tries to reduce the spectrum assignment problem into a variant of the sensitive graph coloring problem [6–8]. In this approach, spectrum channels are represented by different colors and SUs are denoted by vertices. A vertex and its edges can use a number of colors depending on the channels in which the corresponding SU can operate, as well as the conflicts it might have with adjacent vertices (i.e., adjacent SUs). A set of approximation algorithms are used to find the proper labeling and coloring scheme that maximizes some utility function. The utility function is often defined based on throughput, transmission power, interference, or profit. This approach is improved in [9] by taking proportional fairness into account. It models the local bargaining as a graph where each vertex represents a group of SUs belonging to the same poverty line. The coloring process ensures that each group will receive at least a minimum spectrum allocation and hence ensures proportional fairness. The problem is then solved in both distributed and centralized fashions. The works in [10, 11] model the spectrum allocation problem as a graph coloring problem with the aim to maximize utilization and fairness. This model investigates both centralized and decentralized approaches, as well as cooperative and noncooperative approaches. The simulation results show that distributed and centralized solutions have similar performance and cooperative solutions outperform the competitive solutions and almost reach the global optimum. To combat the complexity of the coloringbased spectrum allocation, a parallel algorithm is introduced in [12]. Other coloring approaches can be found in [13, 14]. It should be noted that though the graph coloring approach can be carried out in distributed fashion, it requires cooperation between users; hence, a lot of information exchange is needed. Such high communication overhead might offset the benefits of decentralized implementation. Queuing theory is investigated in [15]. They study how to efficiently handle retransmission in CRN. It proposed a queuelengthbased scheduling technique to identify proper temporal and spatial spectrum holes for the retransmission, resulting in a significant quality of service (QoS) gain for SUs.
The pricebased approach does not directly tackle the assignment problem. It does not compute the actual assignment but computes the price that eventually dictates the spectrum assignment. The service providers decide the prices for different bands and let users choose which price is acceptable, which determines how users are assigned. To some degree, the pricebased approach resolves the spectrum assignment in distributed fashion (by users). Many of the pricing strategies are constructed using game theory, where each network entity (users and network operators) is considered as a player. Each player has his own objective. Operators want to sell the resource for as high a price as possible, while users want to get as much resource as possible for a given price. The idea is to come up with a proper pricing scheme that meets everyone’s objective. Depending on how the network is modeled, the interaction could be between users, between users and operators, or between different operators. One of the most comprehensive studies in this area is done in [16], where SUs and the network operators are modeled as players in a game, each with its own utility function that is defined as a function of price. Depending on the market condition (whether it is a closed or open market) and the degree of cooperation between different network operators, a pricing strategy is computed that will put the game in equilibrium and the channel assignment is consequently determined. Game theory is also used in [17] but formulated differently. In [17], each SU expresses his channel preference in terms of throughput while each channel specifies the type of SU it prefers in terms of transmission power. The idea is to find a matching channel for each SU based on their preferences. A noregret learning approach is proposed in [18] where both cooperative and noncooperative scenarios are considered. It is worth mentioning that pricing strategy in practice is a complex multifaceted problem. Economic factors like incentive to use the service, knowledge of the users, price elasticity and demand function, social factors like social welfare and social fairness, and technical factors like complexity, pricing interval, and billing mechanism must all be considered [19, 20]. However, the pricing schemes discussed here usually consider only one or two of these issues. In particular, the effectiveness of these pricing schemes heavily depends on the proper estimation of user behavior, which is often unpredictable and highly volatile [21]. Social fairness is also neglected in many of the pricing schemes, leading to starvation where users with small budget might never get to access the network.
Heuristic approach encompasses a variety of schemes. One of the earliest heuristic approaches is the waterfill algorithm, first introduced in [21]. In this algorithm, the rate assignment is done in iterations. During each iteration, each user increases his transmission rate by a predefined amount. The process continues until the frequencydependent power constraints imposed by PUs have been reached. It is proven that the algorithm converges to a Nash Equilibrium under certain conditions. This work is extended in [22], where a pricebased iterative waterfilling algorithm is proposed and implemented in a distributed fashion. It allows SUs to repeatedly negotiate their spectrum and transmission powers. In this approach, an SU selfishly adjusts his transmission power and his pricing factor based on the interference he observes locally in the hope to maximize his own utility function. This process is repeated for each SU. It is proven that the proposed algorithm will drive the SUs to a Nash equilibrium [23] to thoroughly evaluate this approach under an eventdriven simulation environment. A biologically inspired spectrum sharing scheme is proposed in [24]. It is based on the adaptive task allocation model in insect colonies. The algorithm allows SUs to coordinate their decision making about what channels suit them the most hence avoiding channel handoff latency. Authors in [25] use swam intelligence to help neighboring SUs identify the suitable common control channels. These channels are then used by SUs to exchange information about the detected spectrum holes and coordinate their spectrum allocation efforts. An iterative heuristic algorithm, ELCI, is proposed in [26]. It maximizes the aggregated throughput in an interferencelimited multichannel CRN. The algorithm could produce the optimal solution and outperform the wellknown global optimum algorithm MARL [27]. A heuristicbased adaptive resource allocation scheme is introduced in [28]. The scheme provides proportional fairness among SUs. Genetic algorithm is attempted in [29] that helps SUs select the optimal channels. Simulation results show that the algorithm significantly reduces the number of channel switchings, minimizes the delay, and saves the transmission power. Other noticeable works are a family of distributed spectrum sharing schemes [19, 20, 30–32]. In these schemes, operators announce the availability and quality of their spectrum bands and each SU makes his own decision about his spectrum access strategy.
Some algorithms that do not fit into the three categories include a linear programming approach that maximizes SU’s spectrum efficiency [33], a neural network that produces interferenceavoiding spectrum assignment in an ultrawideband CRN [34], an adhoc routing protocol that allows SUs to exchange traffic information so that they can dynamically switch to different paths and spectrum bands for better performance [35], and a Markov process that controls the admission of SUs without deteriorating the QoS of PUs [36].
Many of the approaches mentioned above suffer from three major defects. First of all, they do not scale well. If the network has a bounded response time (or a threshold on delay) and the demand is high, these approaches will not be able to compute a solution within the time limit. Secondly, they are tightly coupled with the objective function. If objective changes or the assumed utility function is incorrect, these approaches will fail. Finally, user mobility and traffic type are ignored or simply assumed in these approaches. We attempt to address these problems by introducing a simulated annealing (SA) approach. It offers a fixed response time and is flexible to work with different objective functions and utility functions. We also incorporate three different classes of traffic into the algorithm. Next, we formally define the spectrum assignment problem.
3 Problem formulation
Consider a CRN owning a fixed number of spectrum bands. Each band has different characteristics and, therefore, might have different transmission capacity and support different transmission rates. There are some PUs and SUs already admitted into the network and there are several newly arrived SUs waiting to be admitted into the network. Each user has his own utility function that is defined based on some QoS requirements. The objective is to find a spectrum assignment to all the users, regardless of whether it is a PU or an SU and whether it is already admitted or not, so that the aggregated user utility will be maximized. If necessary, an existing user might have to move to a different spectrum or even disconnect to make room for a new user. Therefore, this is a combination of assignment and migration problem. For simplicity, we make the following assumptions:

All newly arrived users are SUs.

A user can only be admitted to one band but a band can be shared by multiple users.

There is a CRN base station responsible for sensing which spectrum bands are available, their transmission capacity and transmission rate, and deciding how to allocate the spectrum bands.
Under these settings, we formulate the spectrum assignment as follows:

The CRN owns M spectrum bands. Each is denoted as band_{ i }, where 1 ≤ j ≤ M.

Spectrum availability vector: a = {a_{1}, a_{2}, …,a_{ M }} is a binary vector of M bits, where a_{1} indicates the corresponding band is unused and 0 indicates otherwise.

Spectrum capacity vector: b = {b_{1}, b_{2}, …,b_{ M }} is a vector where each element represents the maximum transmission rate supported by the corresponding spectrum band.

There are total N users. Some are already admitted into the network, and some are waiting to be admitted into the network. Each user is denoted as user_{ i }, where 1 ≤ i ≤ N.

Rate request vector: r = {r_{1},r_{2}, …,r_{ N }} is a vector where each element represents the requested transmission rate of the corresponding user.

Utility vector: u = {u_{1}, u_{2}, …,u_{ N }} a vector where each element represents the utility function of the corresponding user. A utility function computes a user’s degree of satisfaction when a certain QoS parameter like transmission rate, delay, and call dropping probability is met.

Interference constraint matrix: I = {i_{ i, j, k } є (0,1) }_{ N×N×M } is a N by N by M binary matrix where 1 ≤ i ≤ N, 1 ≤ j ≤ N, 1 ≤ k ≤ M, and if i_{ i, j, k } = 1, it means that user_{ i } and user_{ j } interfere with each other in band_{ k } and must not be assigned to that particular spectrum band.

Spectrum assignment vector: x = {x_{1}, x_{2}, …,x_{ N }} is a vector where element x_{ i } means that user_{ i }, where 1 ≤ i ≤ N is assigned to ${\mathrm{band}}_{{x}_{i}}$, where 1 ≤ x_{ i } ≤ M. Note that if x_{ i } = −1, it means that user_{ i } is not admitted into the network. Vector x is a valid spectrum assignment if for 1 ≤ n, m ≤ N, x_{ n } satisfies:
$$\mathit{M}\ge {\mathit{x}}_{\mathit{n}}\ge 0\phantom{\rule{0.5em}{0ex}}\mathrm{\text{and}}$$(1)$$\mathrm{\text{if}}\phantom{\rule{0.5em}{0ex}}{\mathit{x}}_{\mathit{n}}>0,\mathrm{\text{then}}\phantom{\rule{0.5em}{0ex}}{\mathit{g}}_{\mathit{n}\mathit{,}{\mathit{x}}_{\mathit{n}}}\ge {\mathit{r}}_{\mathit{n}}\phantom{\rule{0.5em}{0ex}}\mathrm{\text{and}}$$(2)$$\mathrm{\text{for}}\phantom{\rule{0.25em}{0ex}}\mathrm{\text{all}}\phantom{\rule{0.5em}{0ex}}{\mathit{x}}_{\mathit{n}}\phantom{\rule{0.5em}{0ex}}\mathrm{\text{that}}\phantom{\rule{0.25em}{0ex}}\mathrm{\text{are}}\phantom{\rule{0.25em}{0ex}}\mathrm{\text{equal}},{\displaystyle \sum {\mathit{u}}_{\mathit{n}\mathit{,}{\mathit{x}}_{\mathit{n}}}}\le {\mathit{b}}_{{\mathit{x}}_{\mathit{n}}}\phantom{\rule{0.5em}{0ex}}\mathrm{\text{and}}$$(3)$$\mathrm{\text{for}}\phantom{\rule{0.25em}{0ex}}\mathrm{\text{all}}\phantom{\rule{0.5em}{0ex}}{\mathit{x}}_{\mathit{n}}={\mathit{x}}_{\mathit{m}}\mathit{,}{\mathit{i}}_{\mathit{n}\mathit{,}\mathit{m}}=0$$(4)
Constraint (1) states that the assigned band must be owned by the CRN. Constraint (2) means that if a user is indeed admitted, the assigned band must offer a rate no less than the requested rate. Constraints (3) and (4) mean that if multiple users are assigned to the same band, their aggregated rate cannot exceed the band’s capacity, and they must not interfere with each other.
Given the above model and the current spectrum assignment x’, the objective of the spectrum assignment problem is to find a new and valid spectrum assignment x^{*} that maximizes the aggregated user utility:
4 Simulated annealing
In this section, we propose a simulated annealing algorithm (SA) to solve (5). The idea is borrowed from tempering technique in metallurgy, in which weakness and defects along the border of two welded metal plates come from atoms of crystals freezing in the wrong place (similar to a local optimum). Heating is applied to the border to unstuck the atoms (similar to escape the local optimum). A slow cooling process is then applied to allow atoms to get to better place (similar to a global optimum). SA runs faster than random walk by directing the search towards a likely global optimum and produces better result than greedy search by allowing bad move to escape from local optimum. The probability that a bad move is accepted is based on a temperature and the degree of badness. The higher the temperature, the greater chance of wrongway move is accepted. And the worse the bad move is, the lesser chance of wrongway move is accepted. The temperature is very high at the beginning and gradually decreases every couple of iterations. Assuming the objective is to maximize some function, the probability of a bad move being accepted can be computed using the following formula:
where T is the current temperature and ΔE = Energy_{ i } − Energy_{i + 1}, that is, the energy difference between the current state and the next state. In SA, the objective function is sometimes called energy function. In maximization, the higher the energy, the better the solution (state).The proposed SA is outlined below.
As shown above, SA employs a highly modularized design. The stop condition, energy function, and neighborhood function are independent of each other. We can finetune any part of the algorithm without changing its overall structure. We can plugandplay any energy function into the algorithm or even modify it on the fly. This is very useful when user utility function is not known in advance and has to be derived during execution. There are different ways to stop the algorithm. For example, we can stop the algorithm when the temperature is below some predefined threshold. If the network requires a fixed response time, we can set up a timer equal to the required response time and set the stop condition to be the expiry of the timer. This makes the proposed algorithm scalable to large problems. Unlike other approaches where response time always increases as the number of users or number of bands increases, SA can offer a constant response time regardless of the complexity of the problem. Hence, it allows for a flexible tradeoff between accuracy and response time.
Because we allow migration, that is, an existing user might have to move to a different band or even disconnect, (5) has to be modified to account for the migration cost. The energy function, the difference between the aggregated utility and aggregated penalty, is defined below:
where u() is the user utility function and p() is the penalty function. Both of these functions as well as the neighborhood function are explained in the following sections.
4.1 The utility function
We define the user utility function as a function of the given transmission rate. Based on bandwidth adaptability, we identify three classes of traffic/traffic with a fixed bandwidth requirement, traffic with a flexible bandwidth requirement within certain range, and traffic that can work with any given bandwidth. Their utility functions are given below. Each utility function computes the utility of user_{ k } if it is assigned to ${\mathrm{\text{band}}}_{{x}_{k}}$ with given rate r_{ k }.
Fixed bandwidth traffic has a rigid requirement on its transmission rate. There is no flexibility over the life time of the connection. If the given rate r_{ k } is no less than the requested rate ${r}_{k}^{\mathrm{req}}$, utility is the requested rate. Once above the threshold, higher transmission rate does not make the user happier. If the given rate is below the requested rate, utility is 0. As illustrated in Figure 3, the utility function is a Heaviside step function:
Bounded traffic class has a somewhat flexible bandwidth requirement. The traffic is characterized by a minimum requested rate ${r}_{i}^{\mathrm{min}}$ and a maximum requested bandwidth ${r}_{i}^{\mathrm{max}}$. The utility function for this type of traffic is defined as:
where c_{k 1} and c_{k 2} are constants controlling the curves of the convex and concave functions. As shown in Figure 4, the utility function for bounded service class is a convexturnconcave function. This type of traffic is characterized by a pair of minimum request rate and maximum request rate. If the given rate is within this range, the utility increases dramatically. If not, the utility curve is almost flat.
Dynamic traffic has a large delay tolerance and lacks strict bandwidth requirement. Examples of dynamic traffic are web traffic or file transfer. Figure 5 illustrates the utility function for this type of traffic, which is an exponential function bounded by the band capacity ${c}_{{x}_{k}}$.
where c_{k 1} is some constant controlling the curve of the exponential function.
4.2 The penalty function
When an existing user is forced to move to a different band or disconnect, certain penalty will occur due to the computational cost involved or contractual obligation. There are four different cases:

Cost of moving an existing SU to a different band.

Cost of moving an existing PU to a different band.

Cost of disconnecting an existing SU.

Cost of disconnecting an existing PU.
Moving a user (either PU or SU) to a different band involves only computational cost, which is proportional to the size of the problem, that is, the number of users plus the number of bands. The disconnect cost for an SU is 0 as there is no contractual obligation to maintain the call while the disconnect cost for a PUis n times that of PU’s utility, where n is some constant. Therefore, the cost of migrating existing user_{ i } from ${\mathrm{\text{band}}}_{{x}_{i}}$ to ${\mathrm{\text{band}}}_{{x}_{i}}$ can be defined as
where n is some constant and c_{k 3} is the computation unit cost, that is, when there is only one user and one band.
Note that transmission rate and computation cost are measured by different measurement units and in different scales as well. Therefore, during implementation, these numbers need to be normalized before being plugged into the energy function to ensure they are compatible.
4.3 The neighborhood function
The neighborhood function, also called the transition function, computes the next possible candidate solution. The efficiency of simulated annealing is highly influenced by the neighborhood function used. A key problemspecific choice is the size of the step, or in our case, the degree of migration allowed per iteration. If the neighborhood size is small compared to the total solution space cardinality, the search cannot move around the solution space fast enough to find the optimum in a reasonable time. On the other hand, a very large neighborhood has the algorithm merely sampling randomly from a large portion of the solution space and thus is unable to focus on specific areas of the solution space. As a starting point, we assume one degree of migration, that is, at the maximum, only one existing user will be moved to a different band or disconnect. We propose two neighborhood functions: the random neighborhood function and the guided neighborhood function.
Given a list of new users, a list of spectrum bands and the current assignment, the random neighborhood function works as follows:

1.
If the new user list is empty, add all existing users to the list. Otherwise, move to step 2.

2.
Randomly pick a new user from the new user list.

3.
Randomly pick a band from the spectrum list.

4.
If the chosen band is already occupied by some other user, move the occupant to the new user list. Otherwise, move to step 5.

5.
Copy the current assignment into a new assignment.

6.
In the new assignment, assign the chosen new user to the chosen band.

7.
Return the new assignment.
Given a list of new users, a list of spectrum bands and the current assignment, the guided neighborhood function works as follows:

1.
If the new user list is empty, add all existing users to the list. Otherwise, move to step 2.

2.
Randomly pick a band from the spectrum list according to a distribution, in which the probability of a band being chosen is proportional to the difference between the occupant’s utility and the band’s capacity. In other words, the more a band is underutilized, the more likely it will be chosen to be assigned to a new user.

3.
Pick a new user from the new user list according to a distribution, in which the probability of a new user being chosen is proportional to the utility that the user will receive in the band chosen in step 2. In other words, the higher the utility the user will obtain in the chosen band, the more likely it will be assigned to that band.

4.
If the chosen band is already occupied by some other user, move the occupant to the new user list. Otherwise, move to step 5.

5.
Copy the current assignment into a new assignment.

6.
In the new assignment, assign the chosen new user to the chosen band.

7.
Return the new assignment.
Though it remains to be proved, we expect that both neighborhood functions will produce the same quality of solution but the guided version should find the solution faster.
5 Performance evaluation
In this section, we present the experiment results where we compare the proposed SA with a random walk (RW) and a hill climbing (HC). Both RW and HC use the same energy function and transition function as SA. The only difference between the three is that SA moves to a worse neighbor with certain probability, RW always moves to the neighbor regardless it is better or not, while HC moves to a neighbor only if it is better. After some trial runs, we decided to set up the experiments as follows: the temperature for SA starts at 118.8 and drops 1% every 10 generations. The algorithm stops when the temperature is 0.5 or lower. This is translated into 5,370 iterations. Both RW and HC run the same number of iterations as the proposed SA to ensure their results are compatible. Each experiment is repeated 100 times, and the average is calculated and displayed. The number of new SUs is set to 5 while the number of total spectrum bands is set to 10. The occupancy rate, the percentage of bands being occupied, ranges from 10% to 100%, representing traffic condition from being light to heavily congested. User utility functions, user types of occupants (either PU or SU), user traffic type (either fixed, bounded or dynamic), requested rates (including max rate and min rate) and band capacities are randomly generated according to some uniform distributions. Note that because these numbers are randomly generated, comparing an algorithm’s performance between different traffic conditions is not very useful. Therefore, our analysis will focus on comparing different algorithms’ performances under the same traffic setting.
Note that because utilities under different traffic conditions vary quite a bit, all the utility numbers are normalized to between 0 and 1 for easier display. Figure 6 shows the experiment result with migration under different traffic conditions. This diagram compares the performances of different migration strategies under different occupancy rates. SA with migration clearly outperforms all other algorithms while RW with migration closely matches its performance until the network gets congested. Figure 7 shows the result without migration. This diagram compares the performances of different algorithms without migration. Their performances are very close to each other while the nomigration version of SA still maintains a slight edge over the other two. All algorithms converge to the initial assignment when the bands are 100% occupied as there is no room for any change. Figure 8 combines the results from Figures 6 and 7. It shows that, for each algorithm, regardless of the traffic condition, the migration version always outperforms the nomigration version. From Figures 6, 7, and 8, we can conclude that regardless of the traffic condition and whether migration is applied or not, the proposed SA outperforms other algorithms.
We also tested how fast each migration algorithm finds its best solution. As shown in Figure 9, SA usually finds the best solution at around the 495th generation while HC at around the 19th and RW at around the 2,630th. Therefore, although RW’s performance is comparable to SA, SA is over five times more efficient (in terms of finding the best solution) than RW.
All of the above tests are done using the random neighborhood function. Figure 10 compares the performances between SA with the random neighborhood function and SA with the guided neighborhood function, and Figure 11 compares their speeds. Because SA with migration has been proven to be superior over other algorithms, we only focus on the migration version of SA here. As expected, the two functions have similar performance, but on average, the guided version can locate the best solution twice as fast as the random version.
In conclusion, the proposed SA with migration outperforms all other algorithms, regardless of the traffic condition and whether the neighborhood function is guided or random.
6 Conclusion
In this paper, we propose a simulated annealing approach to solve the spectrum assignment problem. It maximizes aggregated user utility while taking into account of the spectrum capacity constraint, interference constraint, and user requirement constraints. The algorithm incorporates a migration strategy into its solution space. It also provides differential treatments to different classes of traffics. The algorithm outperforms the random and the greedy hill climbing assignment approaches regardless of whether the network is congested or not. So far, our algorithm only considers when the network is underutilized due to either typeA or typeB white spaces or both. However, even when the spectrum is fully utilized, there are still ways to exploit it. Some traffic like email, text messaging, or even streaming with adaptive coding has large tolerance in terms of their QoS requirements. So even when the spectrum is used to its full extent by a PU with flexible QoS demand, it is still possible for an SU with critical transmission to negotiate with this flexible PU to give up portion of his assigned band. Though the overall throughput is the same, the aggregated utility is improved. We call this spectrum trading. Incorporating spectrum trading into our algorithm will be a major extension to our work. Other possible extensions include making a spectrum band sharable by more than two users and making the interference matrix continuous instead of binary. Right now, a user has a universal utility function regardless of what band is assigned to him, but in reality, due to the difference in power consumption, signal quality, and other qualityofservice requirements, a user should have a different utility function for each spectrum band.
Abbreviations
 CRN:

Cognitive radio network
 HC:

Hill climbing
 PU:

Primary user
 QoS:

Quality of service
 RW:

Random walk
 SA:

Simulated annealing
 SU:

Secondary user.
References
 1.
McHenry M, Livsics E, Nguyen T, Majumdar N: XG dynamic spectrum access field test results. IEEE 2007, 45(6):5157.
 2.
Petrin A, Steffes PG: Analysis and comparison of spectrum measurements performed in urban and rural areas to determine the total amount of spectrum usage, in the 7th Annual ISART. Boulder: NTIA; 2005.
 3.
FCC: ET Docket No 03–222 Notice of proposed rule making and order. Washington: FCC; 2003.
 4.
Mitola JI: Cognitive radio for flexible mobile multimedia communication. In Proceedings of IEEE International Workshop on Mobile Multimedia Communications (MoMuC) 1999. IEEE: Piscataway; 1999.
 5.
Mitola JI: Cognitive Radio: An Integrated Agent Architecture for Software Defined Radio. Stockholm: KTH Royal Institute of Technology; 2000.
 6.
Buddhikot MM, Ryan K: Spectrum management in coordinated dynamic spectrum access based cellular networks. In Proceedings of IEEE DySPAN 2005. IEEE: Piscataway; 2005.
 7.
Liang Y, Lai L, Halloran J: Distributed cognitive radio network management via algorithms in probabilistic graphical models. IEEE Journal of Selected Areas in Communications 2011, 29(2):338347.
 8.
Zhang T, Wang B, Wu Z: Spectrum assignment in infrastructurebased cognitive radio network. In Proceedings of the IEEE 2009 National Aerospace & Electronics Conference (NAECON), Dayton, OH, 2009. IEEE: Piscataway; 2009:6974.
 9.
Ge Y, Sun J, Shao S, Yang L, Zhu H: An improved spectrum allocation algorithm based on proportional fairness in cognitive radio network. In Proceedings of 12th Annual IEEE International Conference on Communications, Nanjing, 2010. IEEE: Piscataway; 2010:742745.
 10.
Zheng H, Peng C: Collaboration and fairness in opportunistic spectrum access. In Proceedings of IEEE International Conference on Communications (ICC 2005). Piscataway: IEEE; 2005:31323136. Vol. 5
 11.
Peng C, Zheng H, Zhao BY: Utilization and fairness in spectrum assignment for opportunistic spectrum access. ACM Journal of Mobile Networks and Applications 2006, 11(4):555576. 10.1007/s110360067322y
 12.
Liao CL, Checn J, Tang YX: Parallel algorithm of spectrum allocation in cognitive radio. Journal of Electronics and Information Technology (in Chinese), Institute of Electronics, Beijing 2007, 29(7):16081611.
 13.
Wang W, Liu X: List coloring channel allocation for open spectrum wireless networks. In the 62nd IEEE Vehicular Technology Conference (VTC). IEEE: Piscataway; 2005:690694.
 14.
Yu L, Liu C, Liu Z, Hu W: Heuristic spectrum assignment algorithm in distributed cognitive networks, in. In the 6th International Conference on Wireless Communications, Networking and Mobile Computing, 2010 (WiCOM’10). Piscataway: IEEE; 2010:15.
 15.
Liu J, Chen W, Cao Z, Zhang YJ: Active interference cancellationaided QoSaware distributed ARQ for cognitive radios with heterogeneous traffics. EURASIP J. Wirel. Commun. Netw. 2013, 2013(1):115. 10.1186/1687149920131
 16.
Niyato D, Hossain E: Marketequilibrium, competitive, and cooperative pricing for spectrum sharing in cognitive radio networks: analysis and comparison. IEEE Trans. Wirel. Commun. 2008, 7: 11.
 17.
An C, Zhang L: A Spectrum Allocation Algorithm Based On Matching Game. In the 5th International Conference on Wireless Communications, Networking and Mobile Computing, 2009 (WiCom '09). IEEE: Piscataway; 2009:13.
 18.
Nie N, Comaniciu C: Adaptive channel allocation spectrum etiquette. Mobile Network Applications 2006, 6: 779797.
 19.
Bernardo F, Agusti R, PerezRomero J, Sallent O: Distributed spectrum management based on reinforce learning. In Proceedings of the 4th Internal Conference on CROWNCOM, Hannover. IEEE: Piscataway; 2009:16.
 20.
Wang F, Krunz M, Cui S: Pricebased spectrum management in cognitive radio networks. IEEE Journal of Selected Topics in Signal Processing 2008, 2(1):7487.
 21.
Yu W: Competition and cooperation in multiuser communication environments. Stanford: Stanford University; 2002.
 22.
Thomas RW, DaSilva L, MacKenzie AB: Cognitive networks. In Proceeding of IEEE DySPAN 2005. IEEE: Piscataway; 2005.
 23.
Sebastien D, Bart S, Vincent LN: Implementation of Dynamic Spectrum Allocation for Cognitive Radio Networks Based on Iterative Water Filling in OMNeT++/MiXiM. In Proceeding of SIMUTools '11. Belgium: ICST; 2011:383389.
 24.
Atakan B, Akan O: BIOlogicallyinspired spectrum sharing in cognitive radio networks. In IEEE WCNC 2007, Kowloon. IEEE: Piscataway; 2007:4348.
 25.
Chen T, Zhang H, Katz M, Zhou Z: Swarm intelligence based dynamic control channel assignment in CogMesh. In Proceedings of IEEE ICC 2008, Beijing. IEEE: Piscataway; 2008:123128.
 26.
Luxmiram V, Byun S, Øien GE, Ekman T: Increasing sumrate in largescale cognitive radio networks by centralized power and spectrum allocation. EURASIP J. Wirel. Commun. Netw. 2012, 2012(1):113. 10.1186/1687149920121
 27.
Qian LP, Jun Y: Monotonic optimization for nonconcave power control in multiuser multicarrier network systems. In IEEE INFOCOM, Rio de Janeiro. IEEE: Piscataway; 2009:172180.
 28.
Wang Y, Zhang Q, Zhang Y, Chen P: Adaptive resource allocation for cognitive radio networks with multiple primary networks. EURASIP J. Wirel. Commun. Netw. 2012, 2012(1):112. 10.1186/1687149920121
 29.
Aslam S, Lee KG, CSPA: Channel selection and parameter adaptation scheme based on genetic algorithm for cognitive radio ad hoc networks. EURASIP J. Wirel. Commun. Netw. 2012, 2012(1):115. 10.1186/1687149920121
 30.
Cao L, Zheng H: Distributed spectrum allocation via local bargaining. In Proceedings of IEEE Sensor and Ad Hoc Communications and Networks (SECON). IEEE: Piscataway; 2005:475486.
 31.
Nadkar T, Thumar V, Desai UB, Merchant SN: Distributed execution of cognitive relaying with time incentive: multiple PU scenario. EURASIP J. Wirel. Commun. Netw. 2012, 2012(1):119. 10.1186/1687149920121
 32.
Hao N, Yoo S: Interference avoidance throughput optimization in cognitive radio ad hoc networks. EURASIP J. Wirel. Commun. Netw. 2012, 2012(1):118. 10.1186/1687149920121
 33.
Zhu R, Zhao Y, Li Y, Wang J: Optimal linear precoding for opportunistic spectrum sharing under arbitrary input distributions assumption. EURASIP J. Adv. Sig. Pr. 2013, 2013(1):111. 10.1186/1687618020131
 34.
Sun X, Li B, Zhao C, Jia Y: Adaptive narrowband interference mitigation by designing UWB waveforms based on radial basis function neural networks. EURASIP J. Wirel. Commun. Netw. 2013, 2013(1):111. 10.1186/1687149920131
 35.
Rahman MA, Caleffi M, Paura L: Joint path and spectrum diversity in cognitive radio adhoc networks. EURASIP J. Wirel. Commun. Netw. 2012, 2012(1):19. 10.1186/1687149920121
 36.
RaissElFenni M, ElAzouzi R, ElKamili M, Ibrahimi K, Bouyakhf EH: Dynamic spectrum allocation with admission control based on cognitive radio for QoS support in multiple wireless network. EURASIP J. Wirel. Commun. Netw. 2012, 2012(1):113. 10.1186/1687149920121
Acknowledgement
This work is supported by a National Priorities Research Program (NPRP) grant from the Qatar National Research Fund (Member of Qatar Foundation).
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
About this article
Cite this article
Liu, Z.M., Nasser, N. & Hassanein, H.S. Intelligent spectrum assignment and migration in cognitive radio network. J Wireless Com Network 2013, 200 (2013) doi:10.1186/168714992013200
Received:
Accepted:
Published:
Keywords
 Cognitive radio network (CRN)
 Simulated annealing
 Spectrum assignment
 Spectrum migration