Page 1

Proc. of Int. Conf. on Recent Trends in Information, Telecommunication and Computing, ITC

An Adaptive Spectrum Assignment Algorithm in Cognitive Radio Network Himanshu Pareek1 and Awadhesh Kumar Singh2 1

2

Department of Computer Engineering, NIT Kurukshetra, INDIA pareek1991@gmail.com Department of Computer Engineering, NIT Kurukshetra, INDIA aksinreck@rediffmail.com

Abstract—Today’s wireless networks are characterized by a fixed spectrum assignment policy. On the other hand, a huge portion of the assigned spectrum is underutilized. But in contrast, rapid development of wireless communication technologies is seriously challenged by spectrum scarcity problem and lower spectrum utilization. Cognitive radio network (CRN), a revolutionary technology in wireless communication area, has been regarded as one of the most effective solutions to improve spectrum utilization by allowing secondary users (SUs) to opportunistically share unused spectrum bands with primary users (PUs). Secondary users (SUs) are required to vacate the channel when a primary user (PU) appears on the same licensed channel. This may cause interruptions in the secondary network transmissions. The paper presents a cluster based channel assignment scheme for CRNs which allocates available channels to most suitable SUs one by one. Also, the scheme handles dynamism in channel availability caused by presence of primary user on the channel allocated to some SU, in time efficient manner leading to enhanced spectrum utilization with fair allocation to all SUs. Index Terms—Cognitive Radio Network (CRN), Channel Assignment Algorithm (CAA), cluster, primary user, secondary user.

I. INTRODUCTION The radio frequency is a limited natural resource and in each country its use is controlled by the respective government agencies. The license is required to operate on a certain frequency band. In conventional technique, each user is assigned a license on a long term basis to operate in a specific frequency band. However, according to recent measurements by the federal communications commission (FCC) [1], most of the time spectrum remains unused and it is also difficult to know the status. Thus, a major portion of the wireless spectrum is underutilized due to the current fixed spectrum allocation policy. In order to overcome the spectrum scarcity and under utilization of spectrum, a new communication technique, namely cognitive radio (CR) was introduced [2]. The CR network provides efficient utilization of the radio spectrum and highly reliable communication to users whenever and wherever needed. A CRN is a new paradigm for wireless communication in which either the network or wireless entities can change their transmission or reception parameters based on interaction with the environment, in order to exploit the unused portions of spectrum in an opportunistic manner. A spectrum hole is the portion of the spectrum that is not used by a licensed network. In CRN, unlicensed users have been able to utilize the DOI: 02.ITC.2014.5.99 © Association of Computer Electronics and Electrical Engineers, 2014


spectrum holes, as long as they do not impose harmful interference on primary users (PUs). The two main characteristics in CRN are cognitive capability and reconfigurability [3, 4].  Cognitive capability: A CRN is capable of sensing available spectrum opportunity in frequency, temporal, spatial and geographical domains.  Reconfigurability: The secondary users in CRN are capable of dynamically adjusting their operating frequency, changing their modulation scheme, changing their receiver parameters, altering their transmission power or even adapting to different communication technology in accordance with the radio environment. Besides conventional radio management services, a CRN supports the following functionalities in order to take benefit of the available spectrum opportunistically.  Spectrum sensing: Determine which portions of the spectrum are available and detect the presence of licensed or primary users when a user operates in a licensed band.  Spectrum management: Selecting the best available spectrum.  Spectrum sharing/assignment: Assign the appropriate spectrum among coexisting users.  Spectrum mobility: Vacate the channel when a licensed user is detected and select another available channel for the communication. II. PROBLEM DEFINITION The spectrum (a.k.a. channel) assignment (SA) is an interesting problem in traditional wireless networks, with the objective of satisfying the interference constraints and maximizing the number of nodes with channels assigned. The fundamental difference between CRNs and traditional wireless networks is the dynamic availability of channels, wide range and heterogeneity of radio frequencies. So a different approach is desirable for channel assignment in CRN to meet its requirements. Consider a CRN currently serving an arbitrary number of PUs and SUs. There are some unused channels and several SUs waiting to be admitted into the network. Hence, SA in CRN environments aims to assign channels to CR device according to some criteria (i.e., maximize throughput, fairness, spectral efficiency, etc.), while, at the same time, avoid causing interference to primary networks operating in the same area. In CRN, channels may be unavailable for SUs when any PU requires the channel. Due to this dynamic availability of channels in CRN an adaptive spectrum assignment is desirable which assigns current available channels to SUs according to the predefined criteria in an efficient time by considering only relevant SUs. III. RELATED WORK The spectrum assignment in CRN can be centralized, distributed, segment based or cluster based. In centralized SA requires the existence of a central node that performs major task and takes decisions on assigning the channels to the secondary users. Alnwaimi et al. [5] propose a centralized algorithm which enhances the spectrum utilization given a minimal interference level shared among multi-operators. A centralized algorithm proposed by Hoang et al. [6] is formulated as a linear mixed integer programming. Hoang et al. [7] assume limited PUs cooperation. A dynamic spectrum allocation algorithm [8] proposes a fair allocation strategy. In distributed cognitive SA, no central entity is responsible for assigning channels to cognitive users. In this case, users take decisions either by themselves or by cooperating with their neighbors, through the exchange of information, measurements and channel assignments with other SUs. Li et al. [9] have proposed spectrum aware Channel Assignment (SaCA) algorithm for multi-radio, multi-channel cognitive radio networks. By incorporating the primary user activity and other spectrum conditions such packet loss ratio algorithm has significantly improved the packet delivery ratio. Ding et al. [10] propose a distributed algorithm for joint opportunistic routing and dynamic spectrum access in multi hop cognitive radio networks. In [11], a distributed approach for managing data spectrum is proposed. Users are divided into groups based on existing common channel. User groups coordinate and exchange information via a common channel. Decisions in distributed SAs are usually taken much faster, but are not optimal because the nodes have knowledge only for neighbor SUs and not for the whole network. In Segment based SA [12] the term “segment” is defined as the maximal set of connected nodes that have access to at least one common channel. This strategy assigns the same channel to all nodes within a segment. In Cluster-based SA the cognitive mesh network is divided into clusters, with each cluster having a router as a cluster head. Each SU sends its sensing results to the cluster head, which combines the results and generates 409


a final spectrum allocation vector. The cluster heads exchange these vectors and then each cluster head decides which spectrum bands to use and broadcasts the decision to all cluster members. To address cluster head failures, SUs subscribe to the closest cluster. Alsarahn et al. [13] have given a heuristic based channel assignment scheme for wireless mesh network. Each secondary user executes a distributed algorithm [14] to select its cluster head and form clusters and this scheme is beacon-based. Chen et al. [15] have proposed a cluster-based framework to form a wireless mesh network in the context of open spectrum sharing. Clusters are constructed by neighbour nodes sharing local common channels, and the network is formed by interconnecting the clusters gradually. This algorithm suffers with the common control channel (CCC) problem because CCC becomes unavailable when PU comes. In [16] topology management work is done in CogMesh networks in which the cluster formation and inter cluster connection are performed distributively based on nodes’ neighbor information. IV. MOTIVATION Most of the spectrum assignment schemes, prepare a spectrum allocation map for secondary users and when the environment changes then again consider all SUs to prepare the new spectrum allocation map. In CRN channel availability varies frequently for SUs. A single change in environment enforces to create a new allocation map, which requires same amount of time that was required for initial assignment. A time efficient adaptive channel assignment algorithm is required. So here we have presented a cluster based adaptive spectrum assignment algorithm which performs the channel assignment task by considering all SUs initially but as the environment changes only a few SUs are considered to make further channel allocation. Channel allocation done by the algorithm increases spectrum utilization as well as fairness. The proposed algorithm also tries to balance the load (number of SUs to which channel is allocated) to minimize contention on each channel. V. CHANNEL ASSIGNMENT ALGORITHM (CAA) IN CRN A. System Model A CRN(N, M) consists N SUs which share a set of M channels, C = {1, 2,‌, M }. The network is partitioned into K clusters. Each cluster has a Cluster Head (CH). SUs and CHs can exchange messages over a control channel which is implemented as Underlay Control Channel (UCC). The UCC can be implemented by transmitting control signals below a power threshold among one or more channels. The main advantage is that control transmissions should be performed at any time. But power limit should be chosen carefully in order to guarantee that no licensed user is disturbed. A cognitive radio network with 3 channels and 4 secondary users is depicted in Fig.1. SU2 {1, 2, 3} SU1 {2, 3}

C1 SU3 {1, 2} SU4 {3}

C3

Primary User

C3

Channel Secondary User(SU)

C2 SU3 {1, 2}

SU with Free Channel List

Fig. 1.An example of CRN(4, 3)

410


CHs propagate the signals to SUs which are at one hop distance and SUs receive the signals from various CHs and join the cluster from where the signal of maximum strength is received. So each SU belongs to exactly one cluster. When some CH fails then SUs of the failed cluster join other clusters depending on their receipt of signal strength from other clusters. All CHs are connected with each other. B. The Algorithm Concept Secondary Users sense its environment and depending on the interference with Primary Users (PUs) prepare a Free Channel List. Each SU sends its Free Channel List to its respective cluster head (CH). When CH collects the Free Channel Lists from all SUs of its cluster then CH share these Channel Lists with all other CHs. Now each CH has the Channel Lists of every SU in the network then it starts the channel assignment task by allocating the channel to most required SUs first and considering other SUs one by one. Cluster head sends the channel allocation message to SUs to inform them about allocation of channels. Whenever any PU appears on the licensed channel then SUs vacate the channel and send an updated Free Channel List to respective CH. Cluster head allocates a new channel to the SU by using a fair scheme which tries that each channel has equal number of SUs. New channel allocation phase considers only a few relevant SUs to make changes in allocation of channels. Hence the proposed scheme does not consider all SUs again, so a time efficient allocation is performed when environment changes. C. Data Structures At each SU 1) Free Channel List (CLi ): Depending on the interference with primary users (PUs) each SUi prepares a Free Channel List (CLᵢ). SUi sends its CLi to its corresponding cluster head. The structure of CLi is given as follows CLᵢ = {j | j ∈ M and Inf(i, j) = 0} ∀ i ∈ N Inf(i, j) is the interference value of SUi on channel j with PU where Inf(i, j) ∈ {0, 1}. Inf(i, j) = 0 means SU i can use the channel because on the channel j no interference is observed. Inf(i, j) = 1 means SUi can’t use the channel because on the channel j interference is observed. 2) Channel id (Cidi): Cidi = j represents that channel j is allocated to SU i. At each CH 1) Candidate Allocation Table (CAT): Each cluster head prepares a CAT table after receiving the Free Channel Lists of all SUs in the network. One copy of CAT is preserved as original O_CAT and other one is used for modification. CAT contains the all SUs along with their CLs according to following ARRANGEMENT rules. a) The node with the smaller size CL is put above than the larger size CL in CAT. Size of CL means number of channels in CL. b) For the same size CL, lower the SU id is put above in CAT. c) Each CL is ordered in ascending order of number of occurrence of the channels in CAT. 2) Spectrum Allocation Table (SAT): Each cluster head prepares a SAT table by using algorithm rules. Each column in SAT represents the set of SUs to which the particular channel is allocated. Such set of SUs for a channel is called Node Allocation Vector (NAV) of that channel. Thus each column in SAT is NAV of each channel. D. Messages 1) UPDATE_CHANNEL (SUi, CLi): This message is sent by the SUs to their respective cluster head. This message is sent in 2 cases  When first time SUi senses the environment.  When any updation in CLi of SUi occurs due to its sensing with environment. When CH receives this message it forwards the message to all other CHs. When CH receives first time this message then it prepares CAT and after getting the information of all SUs it prepares SAT. Further reception of this message makes CH to update the CAT and SAT according to algorithm rules. 2) CHANNEL_ALLOCATED (SUi, j): This message is sent by the cluster head to SUi when SUi is allocated the channel j. This message is sent in 2 cases:  When first time SAT is prepared.  When allocation of SUi is changed in SAT due to any UPDATE_CHANNEL( ) message. When SUi receives this message it set its Cidi = j and waits for START(SUi, δ) message to start communication on the allocated channel j. 411


3) START (SUi, δ): This message is sent by the CH to SUi whenever SUi is allowed to use the channel for the δ time on the periodic basis. On reception of START(SUi, δ) message, SUi starts its communication on the allocated channel for δ time units. E. Pseudo Code Each SUᵢ senses its environment and depending on the interference with primary users (PUs) prepares a Free Channel List (CLᵢ). Each SU sends its CL to its respective CH. CH collects the CLs from all SUs of its cluster then it shares these Channel Lists with all other CHs. When each CH has the CLs of every SU in the network then it prepares a Candidate Allocation Table (CAT). CAT is ready then CH performs the Channel Assignment task. CH uses the following approach to prepare a Spectrum Allocation Table (SAT): Procedure 1: ALLOCATE( ) Begin 1. Allocate the first channel to SU which makes first row of CAT. 2. Remove the SU and its CL from CAT. 3. Put the SU into Node Allocation Vector (NAV) of the allocated channel in SAT. 4. Remove the channel from CL of all other SUs in CAT. 5. Rearrange the remaining SUs in CAT according to ARRANGEMENT rules. 6. Use the above 1-5 steps until CAT becomes empty. 7. Consider the O_CAT for all remaining SUs and their CLs and use above procedure until each SU is assigned to NAV of some channel. End. When SAT is prepared then all SUs are sent the CHANNEL_ALLOCATED(SU i, j) message where SU i ∈ NAVj. SUs which are in top of NAVs of each channel are given the corresponding channel by sending START(SU, δ) for some period δ. Next SUs in NAVs of each channel get the channel when CH sends START(SU, δ) message to next SUs on the completion of time δ. Thus each channel j for which |NAVj|> 0 is always allocated to some SU i ∈ NAVj. SUs sense their environment continuously so their Free Channel List may change. After sensing the environment if Free Channel List of a SU changes then the SU sends the UPDATE_CHANNEL(SU, CL) to its corresponding cluster head. On the reception of UPDATE_CHANNEL(SU, CL) message, cluster head forwards this message to all other cluster heads. Suppose SUi is currently allocated the channel j. Each CH performs the following rules for the allocation of a new channel to the SU: Procedure 2: UPDATE( ) Begin 1. Replace the CLi in O_CAT with new CLi for SU i. 2. CH determines the value of X = MAX(|NAVj| - |NAVk|) ∀k ∈ CLi. Let Maximum value of X is for channel p ∈ CLi. 3. If j ∈ CLi and X ≤ 1 a. No updation in SAT is required. 4. If j ∈ CLi and X > 1 a. Entry for the SUi is deleted from NAV j in SAT. b. Allocate the channel p to SUi and make an entry for SUi in NAVp in SAT. c. CHANNEL_ALLOCATED(SUi, p) message is sent by CH message to SU i. 5. Else If j ∉ CLi and X ≥ 1 a. Entry for the SUi is deleted from NAV j in SAT. b. Allocate the channel k to SUi and make an entry for SUi in NAVp in SAT. c. CHANNEL_ALLOCATED(SUi, p) message is sent by CH message to SU i. 6. Else a. CHs make a tree T which is rooted with channel (SUi, j) and its immediate children are all the channels (SUl, k) k ∈ CLi, ∀l ∈ NAVk. b. Repeat the following steps to find (SUi, j) in tree T except root until all SUs are scanned i. For every child (SU l, k) consider the O_CAT. Make all channels except k, (SUm, s) where s ∈ CLl, ∀m ∈ NAVs, the immediate children of (SUl, k). 412


ii. If (SUi, j) is found 1. EXCHANGE(SUi, j, T). 2. Exit. c. If (SUi, j) is not found and all SUs are scanned i. Entry for the SUi is deleted from NAVj in SAT. ii. Allocate the channel k = HEAD(CLi) to SUi and make an entry for SU i in NAVk in SAT. iii. CHANNEL_ALLOCATED(SUi, p) message is sent by CH message to SUi. End Procedure 3: EXCHANGE(SUi, j, T) Begin 1. (SUp, p) = PARENT(SUi, j) 2. Delete entry for SUp in NAVp in SAT. 3. Make entry for SUp in NAVj in SAT. 4. CH sends the CHANNEL_ALLOCATED(SUp, j) to SUp. 5. If (SUp, p)==root(T) a. Exit 6. Else a. EXCHANGE(SUp, p, T) End Procedure 4: PARENT(SUi, j) Begin 1. PARENT(SUi, j) returns the parent node of (SUi, j) in Exchange Tree T. End Procedure 5: HEAD(CLi ) Begin 1. HEAD(CLi) returns the first channel in CLi of SU i. End VI. ILLUSTRATION Example 1: In a CRN of N=7 and M=5 the whole network is partitioned into K=3 clusters. Each cluster has a cluster head. SU1 and SU2 belong to cluster 1, SU3, SU4 and SU5 belong to cluster 2 and SU6 and SU7 belong to cluster 3. SUs sense their environment and prepare their Free Channel Lists and send the UPDATE_CHANNEL(SU, CL) to their respective cluster heads. At CH1 CL1 = {2, 4} and CL2 = {2, 5} At CH2 CL3 = {3, 2, 1}, CL4 = {4, 5, 3} and CL5 = {5, 3, 1} At CH3 CL4 = {2, 4, 3, 1} and CL7 = {1, 4, 5, 3, 2} After getting the Free Channel Lists from its entire members SUs the cluster head broadcasts the channel lists to all other CHs. When a CH has the free channel lists of all SUs in the network it prepares the Candidate Allocation Table (CAT) using the ARRANGEMENT rules. The occurrence of each channel is determined by checking the appearances of the channel in CLs. Channels are arranged in CAT in increasing order of their occurrence. Occurrence of channel 1 in all CLs = 4 Occurrence of channel 2 in all CLs = 5 Occurrence of channel 3 in all CLs = 5 Occurrence of channel 4 in all CLs = 4 Occurrence of channel 5 in all CLs = 4 So in CAT order of channel will be 1 4 5 2 3 In TABLE I a CAT is prepared. Now each CH starts the channel assignment task by preparing the Spectrum Allocation Table (SAT) by using the Channel Allocation Algorithm (CAA).

413


TABLE I. CAT FOR 7 SUS AND 5 CHANNELS SU1

4

2

SU2

5

2

SU3

1

2

3

SU4

4

5

3

SU5

1

5

3

SU6

1

4

2

3

SU7

1

4

5

2

3

In TABLE II CAT is used for first allocation. In TABLE III channel 4 is allocated to SU1 so corresponding entry is made into NAV4 in SAT and CHANNEL_ALLOCATED(SU1, 4) message is sent by CH1 to SU1. When SU1 receives the message it sets its channel id Cid1=4. In CAT, entry corresponding to SU1 is deleted along with its CL1 and channel value 4 is deleted from CLs of all other SUs, which are SU2, SU3 and SU7. Now remaining SUs are arranged in CAT according to ARRANGEMENT rules. In TABLE IV, TABLE V and TABLE VI similar process is repeated and both SAT and CAT are updated accordingly. When channel 2 is allocated to SU3 the CAT becomes empty because it contains no channel for allocation to SU6 and SU7. TABLE II. CAT WITH 7 SUS AND USED FOR FIRST ALLOCATION SU1

4

2

SU2

5

2

SU3

1

2

3

SU4

4

5

3

SU5

1

5

3

SU6

1

4

2

3

SU7

1

4

5

2

3

TABLE III. CAT WITH 6 SUS AND SAT WITH 1 ALLOCATION SU2

5

2

SU4

5

3

SU3

1

2

3

SU5

1

5

3

SU6

1

2

3

SU7

1

5

2

NAV1

NAV2

NAV3

3

NAV4

NAV5

SU1 TABLE IV. CAT WITH 5 SUS AND SAT WITH 2 ALLOCATIONS

NAV1

SU4

3

SU5

1

3

SU3

1

2

3

SU6

1

2

3

SU7

1

2

3

NAV2

NAV3

414

NAV4

NAV5

SU1

SU2


TABLE V. CAT WITH 4 SUS AND SAT WITH 3 ALLOCATIONS

NAV1

SU5

1

SU3

1

2

SU6

1

2

SU7

1

2

NAV2

NAV3

NAV4

NAV5

SU4

SU1

SU2

TABLE VI. CAT WITH 3 SUS AND SAT WITH 4 ALLOCATIONS

NAV1

SU3

2

SU6

2

SU7

2

NAV2

NAV3

NAV4

NAV5

SU4

SU1

SU2

SU5

Now the O_CAT is referred to get the channel lists of SU6 and SU7. The order of channels in CLs of SU6 and SU7 will be 5 1 2 3 4 because in current CAT occurrence of channel 5 is minimum. In TABLE VII SU6 and SU7 along with their channel lists are used to make channel assignment. In TABLE VIII channel 1 is allocated to SU6. In TABLE IX final SAT is prepared by allocating the channel 5 to SU 7. All SUs are allocated at least one channel and channel ids of SUs are set to the respective allocated channel. TABLE VII. CAT WITH 2 SUS AND SAT WITH 5 ALLOCATIONS SU6

1

2

3

4

SU7

5

1

2

3

NAV1

NAV2

NAV3

NAV4

NAV5

SU5

SU3

SU4

SU1

SU2

4

TABLE VIII. CAT WITH 1 SU AND SAT WITH 6 ALLOCATIONS SU7

5

2

3

4

NAV1

NAV2

NAV3

NAV4

NAV5

SU5

SU3

SU4

SU1

SU2

SU6 TABLE IX. FINAL SAT WITH 7 ALLOCATIONS NAV1

NAV2

NAV3

NAV4

NAV5

SU5

SU3

SU4

SU1

SU2

SU6

SU7

Example 2: Let SU2 senses its environment and updates its Free Channel List which is now CL2 = {3, 4} New CL2 of SU2 does not contain the channel 5 which is currently allocated to it so it has to vacate it. CH calculates the value of X as follows NAV − NAV X= MAX NAV − NAV 415


2 − 1 2 − 1 1 X= MAX 1 X= 1 Here X ≥ 1 so CH selects channel 3 for which maximum value of X is determined. Thus SU2 is allocated to channel 3. New SAT is prepared in TABLE X according to algorithm and channel allocation message of newly allocated channel is sent to SU2. X= MAX

TABLE X. CAT WITH UPDATED SU2 AND SAT WITH NEW ALLOCATION FOR SU2 SU1

4

2

SU2

3

4

SU3

1

2

3

SU4

4

5

3

SU5

1

5

3

SU6

1

4

2

3

SU7

1

4

5

2

NAV1

NAV2

NAV3

NAV4

NAV5

SU5

SU3

SU4

SU1

SU7

SU6

3

SU2

Example 3: Let SU4 updates its Free Channel List and it is now CL4 = {1} New CL4 of SU4 does not contain the channel 3 which is currently allocated to it so it has to vacate it. X = NAV3 – NAV1 X = 2-2 X=0 Here X < 1 so tree based EXCHANGE( ) procedure is used by creating the Exchange Tree as in Fig. 2. (SU4, 3)

(SU5, 1)

(SU7, 5)

(SU2, 3)

(SU6, 1)

(SU4 , 3)

Fig. 2. An Exchange Tree rooted with (SU4, 3)

(SU4, 3) is found; Call the procedure EXCAHNGE (SU4, 3, T) EXCAHNGE (SU4, 3, T) 1. (SU5, 1) = PARENT(SU4, 3) 2. Delete entry for SU5 in NAV1 in SAT. 3. Make entry for SU5 in NAV3 in SAT. 4. (SU5, 1) ≠ root (T) EXCAHNGE (SU5, 1, T) Now call the procedure EXCAHNGE (SU5, 1, T) EXCAHNGE (SU5, 1, T) 416


1. 2. 3. 4.

(SU4, 3) = PARENT(SU5, 1) Delete entry for SU4 in NAV3 in SAT. Make entry for SU4 in NAV1 in SAT. (SU4, 3) = = root (T) Exit. Now new SAT is prepared in TABLE XI. TABLE XI. CAT WITH UPDATED SU4 AND SAT WITH NEW ALLOCATIONS FOR SU4 & SU5 SU4

1

SU1

4

2

SU2

3

4

SU3

1

2

3

SU5

1

5

3

SU6

1

4

2

3

SU7

1

4

5

2

NAV1

NAV2

NAV3

NAV4

NAV5

SU4

SU3

SU5

SU1

SU7

SU6

3

SU2

VII. STATIC ANALYSIS A.Spectrum Utilization Spectrum Utilization achieved by the algorithm is defined as follows U = | {j | j ∈ Ms and |NAVj| > 0} | Here Ms is the set of all channels which are sensed by SUs i.e. Ms = {k | k ∈ M and k ∈ CLi for any i ∈ N} Maximum Spectrum Utilization in CRN(N, Ms) is upper bounded by: MIN(N, Ms) Utilization Ratio (UR) =

( ,

)

Our algorithm enhances the spectrum utilization because each channel which is sensed by any SU will be allocated if by any means its allocation increases spectrum utilization. Let channel k is not allocated to any SU so |NAVk| = 0 and all other channels are allocated means |NAVj| > 0, ∀ j ∈ Ms – {k}. Now channel k ∈ M is sensed by SUY when environment changes. Our algorithm calculates the value of X which implies the maximum difference in size of NAVs of currently allocated channel and channels of updated Free Channel List of SUY. Here |NAVk| = 0 so value of X will always be maximum for the channel k. Thus channel k is now allocated to SUY. This assignment increases our spectrum utilization because now |NAVk| > 0. B. Allocation of Channels is Mutually Exclusive Channels are allocated to SUs for the communication on the periodic basis for time unit δ. After δ time expires the channel is allocated to next SU in NAV of that channel. Suppose two SUs are assigned same channel i.e. SUi, SUj ∈ NAVk (Cidi= k and Cidj = k). If SUi is currently communicating on channel k then SUj will wait for δ time units. After δ time units SUistops its communication and SUj starts its communication on channel k. Thus the channel is used for communication by one and only one SU at a time in mutually exclusive manner. Suppose two SUs are assigned different channels i.e. SUi ∈ NAVk (Cidi= k)and SUj ∈ NAVl (Cidj= l) then according to algorithm SUi will communicate over channel k and SUj will communicate over channel l. So allocation of channels is always mutually exclusive. C. Fairness Updation scheme tries to maintain the size of NAVs equal so that equal number of SUs is allocated to channels. Let SUi ∈ NAVk, now its sensed Free Channel List has changed such that channel k is no longer in 417


its new CL. Then SUi will be allocated the channel m which belongs to its new CL and is currently assigned to minimum number of SUs. Hence the channel which is assigned to minimum number of SUs is allocated first whenever change in environment occurs. The approach maintains the equal number of SUs on each channel. Thus load balancing among the channels is achieved which leads to fairness of allocation. D. No Interference with PU SUs sense the environment and prepare the Free Channel List (CL) which contains the channels for which no interference is measured with any PU. If any PU uses the channel which is in CL of any SU then interference may occur but SU immediately leaves the channel and prepare an updated Free Channel List. So no interference with PU occurs. VIII. CONCLUSION The protocol satisfies the safety requirement of cognitive radio network that the primary user is free to use its licensed channel whenever it requires even though the channel is allocated to some secondary user. The SUs are allocated the channels in mutually exclusive manner. Unlike other protocols [9, 14], our tree based exchange procedure allocates the channel to SU as soon as possible by considering only few SUs. The contention level for each channel is near uniform in our scheme. However, the approach handles single update request at a time. The dynamic analysis and enhancement to handle multiple simultaneous update requests are being postponed for full paper. REFERENCES [1] Fed. Commun. Comm., “Spectrum Policy Task Force Report,” Washington, DC, 02-155, Nov. 2002. [2] J. Mitola III and G. Maguire Jr, “Cognitive radio: making software radios more personal,” IEEE Personal Communications, vol. 6, no. 4, pp. 13–18, 1999. [3] R.W. Thomas, L.A. DaSilva, A.B. MacKenzie, “Cognitive networks,” 1st IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks, DySPAN, pp. 352–360, November 2005. [4] S. Haykin, “Cognitive radio: brain-empowered wireless communications,” IEEE Journal on Selected Areas in Communications, vol. 23, no. 2, pp. 201–220, 2005. [5] G. Alnwaimi, K. Arshad, and K. Moessner, “Dynamic Spectrum Allocation Algorithm with Interference Management in Co-Existing Networks,” IEEE Communication Letters, vol. 15, no. 9, pp. 932–934, Sep. 2011. [6] A. Hoang and Y. Liang, “Maximizing spectrum utilization of cognitive radio networks using channel allocation and power control,” 64th IEEE Vehicular Technology Conference, pp. 1–5, 2006. [7] A. Hoang, Y. Liang, and M. Islam, “Maximizing throughput of cognitive radio networks with limited primary users’ cooperation,” IEEE International Conference on Communications, pp. 5177–5182, 2007. [8] S. Byun, I. Balasingham, and X. Liang, “Dynamic spectrum allocation in wireless cognitive sensor networks: Improving fairness and energy efficiency,” 68th IEEE Vehicular Technology Conference, pp. 1–5, 2008. [9] X. Li, T. Drive, and S. A. R. Zekavat, “Distributed Channel Assignment in Cognitive Radio Networks,” Proc. International Conference on Wireless Communications and Mobile Computing: Connecting the World Wirelessly, pp. 989–993, 2009. [10] L. Ding, T. Melodia, S. Batalama, J. Matyjas, and M. Medley, “Cross layer routing and dynamic spectrum allocation in cognitive radio ad hoc networks,” IEEE Trans. Vehicular Technology, vol. 59, no. 4, pp. 1969– 1979, 2010. [11] J. Zhao., H. Zheng, G.-H. Yang, “Distributed coordination in dynamic spectrum allocation networks,”Proc. IEEE DySPAN, pp. 259-268, 2005. [12] K. Bian and J.-M. Park, “Segment-Based Channel Assignment in Cognitive Radio Ad Hoc Networks,” 2nd International Conference on Cognitive Radio Oriented Wireless Networks and Communications, pp. 327–335, Aug. 2007. [13] A. Alsarahn and A. Agarwal, “Channel assignment in cognitive wireless mesh networks,” 3rd IEEE International Symposium on Advanced Networks and Telecommunication Systems (ANTS), pp. 1–3, 2009. [14] A. Alsarhan and A. Agarwal, “Cluster-based spectrum management using cognitive radios in wireless mesh network,” Proc. 18th IEEE International Conference on Computer Communications and Networks, ICCCN, pp. 1–6, 2009. [15] T. Chen, H. Zhang, G. Maggio, and I. Chlamtac, “CogMesh: a cluster-based cognitive radio network,” 2nd IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks, DySPAN, pp. 168–178, Apr. 2007. [16] T. Chen, H. Zhang, G. Maggio, and I. Chamtac, “Topology management in CogMesh: a cluster-based cognitive radio mesh network,” IEEE International Conference on Communications, ICC’07, pp. 6516–6521, 2007.

418

99 408 418