You are on page 1of 12

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL. 14, NO.

1, FEBRUARY 2012

51

Distributed Coordination Protocol for Ad Hoc Cognitive Radio Networks


Mi-Ryeong Kim and Sang-Jo Yoo
Abstract: The exponential growth in wireless services has resulted in an overly crowded spectrum. The current state of spectrum allocation indicates that most usable frequencies have already been occupied. This makes one pessimistic about the feasibility of integrating emerging wireless services such as large-scale sensor networks into the existing communication infrastructure. Cognitive radio is an emerging dynamic spectrum access technology that can be used for exibly and efciently achieving open spectrum sharing. Cognitive radio is an intelligent wireless communication system that is aware of its radio environment and that is capable of adapting its operation to statistical variations of the radio frequency. In ad hoc cognitive radio networks, a common control channel (CCC) is usually used for supporting transmission coordination and spectrum-related information exchange. Determining a CCC in distributed networks is a challenging research issue because the spectrum availability at each ad hoc node is quite different and dynamic due to the interference between and coexistence of primary users. In this paper, we propose a novel CCC selection protocol that is implemented in a distributed way according to the appearance patterns of primary systems and connectivity among nodes. The proposed protocol minimizes the possibility of CCC disruption by primary user activities and maximizes node connectivity when the control channel is set up. It also facilitates adaptive recovery of the control channel when the primary user is detected on that channel. Index Terms: Ad hoc networks, cognitive radio, common control channel (CCC), coordination protocol.

I. INTRODUCTION Wireless spectrum licensing on a long-term basis is currently under way over vast geographical regions. In order to address the critical problem of spectrum scarcity, the federal communications commission (FCC) has recently approved the use of unlicensed devices in licensed bands [1]. The report published by the spectrum policy task force of the FCC in 2002 [2], which was aimed at improving the way of utilizing the spectrum resource, catalyzed intensive research activities in this new eld of open spectrum sharing. Consequently, dynamic spectrum access (DSA) techniques have been proposed to solve spectrum inefciency problems. Cognitive radio (CR), a term rst coined by J. Mitola III in 1999 [3], is a promising approach for exibly and efciently achieving open spectrum sharing [4], [5]. A CR system is an intelligent wireless communication system that is aware of its radio environment and is capable of adapting its
Manuscript received April 27, 2010; approved for publication by Brooke Shrader, Division III Editor, October 20, 2010. This work was supported by the Inha University Research Grant. The authors are with the Graduate School of Information Technology and Telecommunications, Inha University, 253 Yonghyun-dong, Nam-gu, Incheon 402-751, Korea, email: miryeongkim@inha.edu, sjyoo@inha.ac.kr.

operation to statistical variations of the radio freqeuncy of incoming signals. IEEE 802.22 [6] is the rst standard based on CR. IEEE 802.16h [7] is expected to implement CR functions in worldwide interoperability for microwave access (WiMAX) networks for facilitating the coexistence of homogeneous and heterogeneous networks. A number of cognitive radio test-beds based on different architectures and radio technologies have been developed [8], [9]. Since most of the useful spectrum is already assigned to primary systems (licensed systems), to utilize the spectrum holes of the licensed bands, CR devices should be capable of detecting primary user signals on the licensed primary channels and not lead to harmful interference to the primary system users. Research on CR covers a wide range of areas, including spectrum analysis, channel estimation, spectrum sharing, medium access control (MAC), and routing. However, CR networks pose unique challenges owing to high uctuations in the available spectrum as well as the diverse quality of service (QoS) requirements [5]. Specically, in ad hoc networks based on CR, the distributed multi-hop architecture, the dynamic network topology, and the variation of the spectrum availability with time and location are key distinguishing factors. CR networks are different from traditional ad hoc networks in the sense that the CR networks can opportunistically utilize various spectral holes for smooth peer-to-peer communications by virtue of the unique CR functionalities [10]. The ad hoc cognitive radio network requires reliable control and spectrum management message exchanges between neighbor nodes to communicate local sensing results, set up data channels, immediately notify incumbent detection events, announce spectrum handover, and so on. These message exchanges are usually assumed to be carried out on a dedicated control channel, the so-called common control channel (CCC) [5]. However, in many cases, we cannot guarantee that dedicated CCCs can be set up for all different cognitive radio networks, and further, dedicated control channels are wasteful of channel resources when there is no CR user. Therefore, a dynamic and distributed method is required for CCC selection in ad hoc CR networks. In this paper, we propose a novel CCC selection protocol (distributed coordination protocol for a CCC (DCP-CCC)) in a distributed way, based on the appearance patterns of the primary system (PS) and network connectivity. The proposed protocol provides a decentralized cluster-based architecture to form a large-scale network, and it provides mechanisms to adapt the network topology to network and radio environment changes. Preliminary results of the proposed protocol were presented in [11]. In this paper, we have extended the cluster management methods (cluster merge, cluster interconnection, and common channel change schemes) and have intensively studied the performance of the proposed protocol for var-

1229-2370/12/$10.00 c 2012 KICS

52

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL. 14, NO. 1, FEBRUARY 2012

ious network conditions. The rest of this paper is organized as follows. Related work is discussed in Section II. The proposed DCP-CCC protocol is presented in detail in Section III. Cluster management is presented in Section IV. The performance of the proposed protocol is studied in Section V. Finally, we conclude this paper in Section VI. II. RELATED WORK Most of the existing distributed CR network protocols for MAC and routing assume that there exists a dedicated CCC. However, such protocols are in conict with the opportunistic nature of cognitive radio, and moreover, most of the available spectrum has already been allocated to existing communication systems. Therefore, it may not be feasible to assign dedicated CCCs to all possible types of CR networks in the future. Some CR systems use an unlicensed band, such as industrial, scientic, and medical (ISM) bands, or ultra-wide bands (UWBs) for the control channel. In this case, the unlicensed band is already overcrowded and suffers strong interference from existing unlicensed band users; therefore, reliability, which is one of the most important features of the control channel, cannot be guaranteed [12]. In the absence of a dedicated CCC, a distributed and dynamic self-congurable procedure is required for setting up a common channel. A CCC can be classied as an in-band CCC or out-of-band CCC, depending on whether the control channel shares the data channel or uses a dedicated spectrum, respectively [13]. In the in-band CCC, the current data transmission channel is also used for exchanging control messages. Since each node pair may use a different channel for communication, the CCC is generally limited to the corresponding communication pair (i.e., local coverage). Therefore, the out-of-band CCC is widely considered for ad hoc CR networks. Some studies assume that there exists a common channel with global coverage available for all nodes in ad hoc CR networks. The network nodes also have the capability determine and use an alternate global control channel if the original control channel is jammed [14][16]. Two neighboring nodes can exchange available channel information or negotiate channel assignments of a link via the control channel. In [16] and [17], the authors propose a global control channel to carry out the MAC-layer control mechanisms in the open spectrum sharing paradigm which is so popular so that it is not required to be explained further. The C-MAC protocol presented in [18] is based on the dynamic channel assignment protocol [19]. These protocols use the packet-based channel assignment approach. However, it is difcult to nd a globally common channel in a network, and there are frequent individual spectrum changes even if a CCC covering the entire network is found. Changing the CCC frequently leads to drastic communication overhead. There is high possibility that the global CCC can suffer denial of service (DoS) attacks [20]. Therefore, global CCC approaches are unlikely to be applicable to real CR network scenarios. Since the probability that a global CCC is available to every node in the network is small, CR users can be grouped into clusters and a CCC may be used for the nodes in the same cluster. In this case, the selected CCC has only group coverage.

Fig. 1. Proposed ad hoc CR network architecture.

In [14], Zhao et al. proposed a distributed coordination scheme for spectrum allocations that addresses the spectrum variability problem without using a global control channel. Zhao et al.s scheme uses a group coordination channel instead. In [21], a close group of users form a sub ad hoc network and select a channel for communicating control information. If the primary user of the channel returns, then a different channel that is available to everyone in the available sub-group channels is chosen. It is assumed that one of the members of the group has the capability to connect to the neighboring groups. In CogMesh [10], a cluster-based framework is used to form a wireless mesh network in the context of open spectrum sharing. The study in [10] investigates the issues involved in setting up an ad hoc open spectrum sharing network that coexists with primary users of the spectrums and proposes a decentralized cluster-based architecture to form a large-scale network. The basic unit of the network is a cluster, which is a sub-network formed by a group of neighbor nodes sharing common channels and coordinated by a selected node (called cluster head) in the cluster. On the other hand, some proposed MAC protocols do not require separate control channels for the purpose of control signal exchange. Using a single CCC may introduce control channel saturation that degrades the overall performance of the network. In [22], SYN-MAC was proposed for avoiding the use of the CCC. The main idea is to divide the total time into xed-time intervals, each corresponding to one of the available channels. At the beginning of each time slot, all nodes in the network listen to a channel whose time slot is equal to the time required for the exchange of control messages. However, this scheme requires global time synchronization. Synchronization in an ad hoc network is a challenge owing to the absence of centralized coordination. III. DCP-CCC: DISTRIBUTED COORDINATION PROTOCOL FOR COMMON CONTROL CHANNEL SELECTION A. Network Architecture and Design Requirements Fig. 1 shows the network environments of cognitive radio ad hoc networks. We assume that there is no xed dedicated CCC and that the average spectrum idle time of the PSs is much longer than the packet transmission time. As shown in Fig. 1, each node may have a different set of available channels after

KIM AND YOO: DISTRIBUTED COORDINATION PROTOCOL FOR AD-HOC...

53

local spectrum sensing. In the proposed common channel selection and maintenance protocol, we form clusters with desired sizes, and within the cluster range, an optimal CCC is selected. In order to choose a CCC, the DCP-CCC takes into account not only the locally available spectrum bands of each node, but also the temporal and spatial variations in the primary user spectrum activities. In Fig. 1, the cluster head (CH) is a node that initiates cluster formation for selecting the CCC. The actual cluster nodes that share the same CCC are determined by the initially desired cluster size and each nodes available channel set. Multiple clusters can be merged or interconnected by using gateway nodes. The proposed DCP-CCC has the following unique design features. i) No global time synchronization: Achieving time synchronization in ad hoc networks is not a trivial task and generally requires complex device implementation or synchronization protocols. Therefore, we assume that time synchronization is not provided in the proposed method. ii) Congurable cluster size: A cluster is a set of nodes that use the same control channel. To increase the network connectivity, a cluster should include as many CR nodes as possible. If the cluster size is too small, then an entire CR network can be partitioned into many small clusters, and they may not be connected to exchange the control messages of the MAC and of the routing operations. Even if some of them can be interconnected by gateway nodes, the control channel switching overheads of the interconnected clusters, which use different CCCs, increase the packet delivery time and decrease the throughput. In this paper, the cluster size is adaptively congurable when the CH initiates the control channel setup procedure. The actual cluster size can be smaller than the desired size when the optimal channel in terms of the proposed performance criteria (average primary system appearance probability and idle time) is not available for all nodes in the desired cluster. iii) Fast common channel setup: In CCC-based MAC operations of ad hoc CR networks, before the CCC is setup, each node cannot send data packets to or receive data packets from neighbor nodes. Exchanges pertaining to the data channel negotiation and transmission time schedule are performed on the control channel. Therefore, the control channel setup time should be minimized. Since nodes may have different sets of available channels and since they can tune into different channels at a given time, ensuring fast message delivery for setting up a common channel is not a trivial task. iv) New CCC selection criteria: A single cluster should include as many nodes as possible while having a size less than the desired cluster size, and the selected channel should have low PS activities. v) Common channel change mechanism upon the primary signal detection: When some of the cluster nodes have detected the primary signals of the current CCC, then this information should be delivered to the neighbor nodes in the cluster to make them perform local sensing. By considering the number of interfering CR nodes, the cluster should decide whether all cluster nodes should reselect the control channel or whether the interfering nodes should be isolated.

Fig. 2. CC IVT message format.

vi) Cluster merge and interconnection: For control message exchange or packet delivery between any nodes in the entire ad hoc network, the clusters should be able to communicate through CCCs. Clusters with the same CCC are merged, and the clusters with different CCCs are interconnected by gateway nodes in the proposed protocol. The proposed DCP-CCC can set up a wide-area CCC that can reach many CR nodes with a single control channel without channel switching. In CogMesh [10], which is also a clusterbased common channel CR network, a CH constructs a cluster only with single-hop neighbors, and therefore, many gateway nodes are required to interconnect other neighboring clusters. Since gateway nodes should manage the data transmission schedule for multiple clusters and frequently switch channels, their use results in a decrease in the channel throughput. In DCP-CCC, the CH selects an optimum control channel on the basis of primary signal activities and the number of possibly covered nodes, unlike CogMesh. B. Common Control Channel Setup Procedure To set up a CCC, CR nodes follow six steps: 1) Local sensing and scanning, 2) common channel invitation, 3) cluster tree construction, 4) common channel reporting, 5) CCC decision, and 6) common channel advertisement. In the following subsections, the operations are explained in detail. B.1 Local Sensing and Scanning Each node i in a ad hoc CR network periodically or aperiodically performs local sensing to determine the available channel set (Ca (i)) and primary channels. If a node needs to nd an existing cluster to share the common channel, then it should scan all channels to possibly receive a common channel beacon (CC BC) message from a neighbor node; CC BC is periodically broadcast by a CH. A node should listen to one channel for a duration of at least Tp to receive CC BC. Tp is the time interval taken for beacon transmission from the CH. The CC BC includes the CCC information. Therefore, once a node receives the message, it can immediately tune to the indicated CCC and start exchanging control messages. In this case, there is no explicit procedure for connecting to the CH. The local sensing and scanning of each channel may be done simultaneously. B.2 Common Channel Invitation If a node does not receive any CC BC during the scanning procedure, then it can be inferred that there is no CCC or that the existing CCCs are not available for the node. In this case, the CR node initiates the cluster construction process by broadcasting a common channel invite (CC IVT) message to its neighbor

54

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL. 14, NO. 1, FEBRUARY 2012

If node i rst receives a CC IVT message from node j and c (i, j ) = , then node i records node j as a parent node. Note C that within a cluster, each node can reach the CH through its parent node using one of the overlapping common channels. Then, node i rebroadcasts the CC IVT with an updated CCL as indicated in (2).
Fig. 3. Broadcasting CC IVT via the CH.
IVT c (i, j ) = Ca (i) C IVT (j ) Cc (i) = Cc (i, j ) = C c

(2)

nodes using carrier sense multiple access with collision avoidance (CSMA/CA). The CC IVT message format is dened as in Fig. 2. The CC IVT can be rebroadcast until the desired cluster size is reached. Transmitting node ID: ID of the node that transmits the CC IVT. CH node ID (cluster head node ID): ID of the node that initially generated the CC IVT. When a CH sends the CC IVT at rst, Transmitting node ID and CH node ID are the same. SEQ number (sequence number): Whenever a CH sends a CC IVT to nd a new CCC, it increases the SEQ number by 1. This number is for uniquely identifying CC IVT messages; periodic CC IVT repetitions have the same SEQ number. Hop count: The desired maximum hop counts (cluster size) from the CH to retain the same CCC. When a node receives a CC IVT, it decreases the hop count by 1, and it broadcasts it again only if the count is not zero. Candidate channel list (CCL): This list contains the candidate channels that can possibly be used as the CCC. Whenever a node rebroadcasts a CC IVT, the CCL can be updated. If a CH node broadcasts the CC IVT message only on a single channel, then some neighbor nodes cannot receive the message when the channel used to broadcast the CC IVT is not available to these neighbor nodes. Further, because each CR node tunes into one of the available channels at a given time, the neighbor nodes may not be able to receive the message even though the channel is available to the neighbor nodes. Therefore, a CH sequentially broadcasts a CC IVT on each available channel using a single transceiver, as is shown in Fig. 3. If the CH has multiple transceivers, then the available channels are subdivided among the different transceivers. After a duration of Tp , the CH rebroadcasts the CC IVT with the same SEQ number. Each neighbor node should wait at least for a duration of Tp for each of its available channels. If a neighbor node does not receive the CC IVT, then it switches to the next channel on its local available channel list. B.3 Common Channel Cluster Tree Construction After a node receives a CC IVT from its neighbor node, it stores the candidate channel list of the CC IVT and the node ID of the transmitting node. When node i receives a CC IVT from neighbor node j , it determines the overlapping common c (i, j ) from its local available channel list Ca (i) channel set C IVT and the CCL of the received CC IVT, Cc (j ), from node j .
IVT c (i, j ) = Ca (i) Cc C (j ).

where Cc (i, j ) is the set of channels in the CCL eld rebroadcast by node i after receiving a CC IVT from node j . After decreasing the hop count of the received CC IVT, unless the hop count is zero, node i sequentially and periodically rebroadcasts the CC IVT message on all available channels. If there are no overlapping channels between its locally available channels and the received CCL from node j , then it indicates that node i and node j do not have any common channels; therefore, they are not able to setup a CCC. In this case, node i simply discards the CC IVT. If node i receives additional CC IVT messages satisfying the following three conditions from any other neighbor node k , then it simply discards them. i) The same CH node ID with the previously received CC IVT from node j . ii) The same SEQ number. iii) c (i, k ) C Cc (i, j ). (3)
for all parent nodes j of node i

c (i, k ) were not included in the previIf some channels of C ous CC INV forwarded, then it indicates that node i can have new channels that can be used as a CCC; these new channels are not selected on the basis of CC IVTs sent by the previous parent nodes. Therefore, if the condition in (4) is satised despite the CH node ID and SEQ number of the CC IVT from node i being the same as those in the CC IVT from the previous parent nodes, then node k becomes a new parent node of node i and node i rebroadcasts the CC IVT from node k to its neighbor nodes with the CCL in (5). c (i, k ) C
for all parent nodes j of node i

Cc (i, j ),

(4)

IVT (i) = Cc (i, k ) Cc IVT = {Ca (i) Cc (k )}


for all parent nodes j of node i

Cc (i, j ). (5)

(1)

Fig. 4 explains the CC IVT message transmissions and presents an example of tree construction. As shown in the gure, the CC IVT message is propagated until the desired cluster size is reached, and the common channel cluster tree is constructed accordingly. When there is no neighbor node to rebroadcast the CC IVT or when the neighbor nodes cannot receive the CC IVT, the message cannot be propagated further even if the desired cluster size is not reached. It should be noted that unlike the conventional multicasting tree, a node can be involved in multiple tree paths because the common control tree is built according to channel availability. The numbers in brackets for

KIM AND YOO: DISTRIBUTED COORDINATION PROTOCOL FOR AD-HOC...

55

Fig. 5. CC RPT message format.

its parent nodes. 1) A node receives a CC IVT and the hop count reaches zero. 2) A node has broadcast a CC IVT, but has not received any CC RPT message during a certain time TR TR = (R Hop Count)TW (6)

Fig. 4. CC IVT transmission and tree construction.

each node are the available channels of that node. Assume that node A is the CH that generated the CC IVT message. Node B receives the CC IVT message from node A on one of its available channels (channel 1 or channel 2) and computes the candidate channel list, which consists of the overlapping available channels between node A and node B, as indicated in (2). Then, node B rebroadcasts the CC IVT message (in Fig. 4, CC IVT (3) message). For channel 1 and channel 2, node B records node A as a parent node. On the other hand, node D cannot receive the CC IVT from node A because it does not have any available channels overlapping with node A. When node B receives CC IVT (2) from node C, since node B has already set up a common channel tree for the channel set {1, 2}, node B simply ignores the message. As shown in Fig. 4, node H receives two CC IVT messages. We assume that the CC IVT from node F arrives later than the CC IVT from E. Node H discovers that the CH node ID and the SEQ number of each of the CC IVTs are the same, but the CCLs are different. At node H, rst, the candidate channel list with parent node E is derived as {1, 2} using (2), and when node H receives the list a little later in the CC IVT from F, the CCL with parent node F is newly derived as {3} using (5). Therefore, node H has two parent nodes: Node E for channel set {1, 2} and node F for {3}. When node K nally receives the CC IVT, the hop count reaches 0, and therefore, node K stops CC IVT broadcasting. B.4 Common Channel Reporting Common channel report (CC RPT) message is used to deliver CCC information on the path through which the CC IVT is delivered, to the CH to help in deciding the nal common channel. For the following two cases, a node stops broadcasting a CC IVT and periodically sends back a CC RPT message to

where R Hop Count is the hop count at the node when it has broadcast the CC IVT and TW indicates the maximum waiting time to receive a CC RPT from one hop neighbor node. The CC RPT message format is illustrated in Fig. 5. Transmitting node ID: ID of the node that transmits the CC RPT. CH node ID: ID of the CH node that initially generated CC IVT. SEQ number: The same SEQ number as that of the received CC IVT. Tuple {Ch, Pp , Tpi , NUMC }: For each candidate common channel on the path to the CH, the following denitions hold. Ch: Candidate CCC Pp : Accumulated PS appearance probability on the channel Ch Tpi : Accumulated average PS idle time on the channel Ch NUMC : Accumulated number of connected nodes that can use the channel Ch as a CCC Each node in ad hoc CR networks senses the channels and maintains a channel status table that contains the PS appearance probability (Pp ) and the average PS idle time (Tpi ) of each channel. In this paper, we utilize the PS appearance probability and idle time statistics for the CCC decision. As we mentioned in the subsection on design requirements, to ensure that the common channel in a cluster is used by as many nodes of the cluster as possible, information on the number of nodes on the channel tree to the cluster head is included in the CC RPT message. Fig. 6 shows an example of a CC RPT delivery procedure. When nodes I and K receive CC IVT messages, the hop count reaches zero, so nodes I and K cease to broadcast the CC IVT and respond with CC RPT messages to their parent nodes. After node C sends a CC IVT, it does not receive any CC RPT during a certain time (i.e., 2TW ). Therefore, node C initiates a CC RPT response message. The CC PRT message is delivered to the parent node on the channel cluster tree to the CH. Note that the tree formation from the CH to nodes with a hop count within a predetermined value is already performed upon the delivery of the CC IVT message, so that nodes can send a CC RPT to only their stored parent nodes on available channels. Each node on the common channel cluster tree adds the

56

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL. 14, NO. 1, FEBRUARY 2012

Fig. 7. Pseudocode for the common channel reporting procedure. Table 1. Candidate CCC status for a scenario corresponding to the table in Fig. 6. Channel ID Average Pp Average Tpi Connected nodes

Fig. 6. CC RPT transmission example.

1 2 3

0.21 0.24 0.18

8 7.6 7

8 5 5

PS appearance probability and the average primary idle time of each channel to the received CC RPT message. In Fig. 6, node B adds its local measurement information on channel 1 to that of CC RPT (2) from node G, so that the tuple of channel 1 of CC RPT (3) is {1, 0.8, 25, 3}. Node H has two different parent nodes, E and F, for the candidate channel sets {1, 2} and {3}, respectively. Therefore, the channel information on {1, 2} and {3} is delivered to the CH through node E and node F, respectively. In the proposed mechanism, the channel and connectivity information of each node inside the desired cluster size is delivered to the CH through a unique path so that each nodes information is not counted as duplicate content. Fig. 7 shows the pseudocode for our proposed CC RPT transmission scheme. B.5 Common Control Channel Decision A CH maintains a candidate CCC status table. Whenever the CH receives CC RPT messages, it updates the table. For each channel in the received CC RPT messages, Pp , Tpi , and the connected nodes are accumulated. Finally, the CH divides Pp and Tpi by the number of connected nodes for each channel after the CH has received a sufcient number of CC RPT messages, or after the maximum waiting time has expired. The cluster head can estimate the average PS appearance probability, average PS idle time, and the total number of possibly connected nodes including CH itself for each candidate CCC. Therefore, the CH can identify a CCC based on the PS activities and determine the number of nodes that can be connected together via a common channel. Table 1 shows the status of each candidate channel for the example scenario in Fig. 6. Depending on the importance of each parameter, the CH can

Fig. 8. Procedure for the CCC decision.

determine the optimal CCC. Various decision rules can be applied (e.g., a cost function with different weights for three parameters). In this paper, the purpose of determining a CCC is that as many CR nodes as possible should be able to share the same CCC as long as the primary activity values are less than the pre-dened thresholds. As shown in Fig. 8, in step 1, the channel set CSP is determined by considering the PS appearance probability, and the average PS idle time is considered in step 2. From the channel set CST , the channel with the largest number of connected nodes is nally selected for use as the CCC. After step 1 or step 2, if the number of channels determined is less than 2, then the channel with the minimum Pp (in step 1) or maximum Tpi (in step 2) is selected. B.6 Common Control Advertisement After the CH determines the optimal CCC, information on the selected CCC is sequentially broadcast with a common channel advertisement (CC ADV) message to the nodes in the cluster hop count on all available channels. After a sufcient number of CC ADV transmissions have been completed, the CH switches to the CCC and periodically broadcasts CC BC. The CC BC is a message to indicate activation of the new CCC. The neighbor nodes that receive CC ADV sequentially rebroadcast the

KIM AND YOO: DISTRIBUTED COORDINATION PROTOCOL FOR AD-HOC...

57

CC ADV along with their available channels and then switch to the CCC. Therefore, switching to the new CCC is performed sequentially in the cluster. When a node receives a CC ADV message, the selected CCC may not be available to the node. In this case, the node discards the CC ADV and tries to nd or construct a new cluster by starting from procedure A (scanning). It should be noted that since ad hoc nodes can move without notications, the CH should periodically reinitiate the common channel setup procedure. In this paper, the proposed CCC selection algorithm relies on many broadcast messages. Since radio signals are likely to overlap with other signals in a geographical area, straightforward broadcasting usually results in serious redundancy and collision, which is referred to as the broadcast storm problem. To reduce the number of broadcast packets and possible packet losses resulting from collisions, several mechanisms have been proposed in the literature, such as a probabilistic scheme, a counter-based scheme, and spanning tree clustering [23], [24]. Any broadcast storm avoidance mechanism can be used with the proposed method. IV. CLUSTER MANAGEMENT A. Cluster Merge and Interconnection Multiple CCC clusters organized in the network can be merged or interconnected by gateway nodes. Cluster merge and interconnection mechanisms facilitate seamless data exchanges between any pair of nodes in the network by enhancing the network connectivity. A node that already uses a CCC of a certain cluster may overhear another clusters CC ADV or CC BC messages through one of the available channels during its normal operation. When both clusters use the same control channel, the overhearing node can be a gateway node to merge two clusters, as shown in Fig. 9(a). In this case, all ad hoc nodes in the two clusters can exchange control messages by using a single common channel. If the CCC in the overheard messages is different but one available to the node, then the node can interconnect the two clusters via control channel switching, as shown in Fig. 9(b). In the case of cluster interconnection, if a single transceiver is used to access a common control channel, the gateway node needs to divide its resources between both clusters, as shown in Fig. 9(b), so the neighbor nodes (nodes B and G) of the gateway node should know the exact time schedule of the gateway node. The time schedule indicates when the gateway node switches to the neighbor clusters CCC. Therefore, the greater the number of gateway nodes in the network, the higher the cluster connection overheads and the lower the control channel throughput. In the proposed procedure for CCC selection, a CH selects a CCC that can reach many nodes without gateway nodes. When the CH selects a new control channel, it considers the number of nodes connected to each candidate CCC, which is obtained from NUMc in the CC RPT message. Another method to reduce the gateway nodes in this paper is to broadcast a gateway node announcement to its neighbors. If there are many overlapping nodes between two clusters, we may have multiple candidate gateway nodes. Once any node assumes the gateway role, it broadcasts a gateway advertisement (GATE ADV) message

(a)

(b) Fig. 9. Cluster merge and interconnection: (a) Cluster merge and (b) cluster interconnection.

to its neighbor nodes, and any neighbor node that receives the message will not be a gateway node. The GATE ADV message includes the CH IDs of both clusters. B. Common Channel Change Even though the CH selects the CCC after proper consideration of the average PS appearance probability and idle time, the PS may suddenly use the CCC. Since the cognitive radio network should avoid harmful interference with PSs, when nodes detect the primary signal on the current CCC, the detection information should be conveyed to the neighbors. In addition, the detecting nodes should stop using the CCC, to protect the PSs. In the proposed mechanism, the primary system detection information is delivered to the CH, and the CH decides whether the common channel should be changed. This decision will be made on the basis of the cost of changing the CCC (i.e., message exchange overhead and delay) and the number of detecting nodes in the cluster. If the CCC is not changed, then the detecting nodes simply leave the cluster without exchanging messages. As mentioned in Section III, the detecting nodes may try to form a new cluster or join one of the other existing clusters. B.1 Primary Detection Notication When a node detects a primary signal on the current CCC, it sends a common channel detection (CC DET) message to the CH on the present CCC and immediately returns to listen mode. In this mode, a node can listen to a common channel signal, but it is prohibited from sending messages on the channel. Even though it is not on the routing path to the CH, any neighbor node that overhears the CC DET message performs local sensing to determine whether it is inside the primary signal area. The CC DET message includes the CH node ID, the SEQ number (the same as the SEQ in CC ADV), information on the primary detected CCC, and NUMd . NUMd is the number of detecting nodes on the routing path. At the rst detecting node, NUMd is

58

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL. 14, NO. 1, FEBRUARY 2012

Table 2. Simulation parameters.

Parameter
PS appearance pattern Back-off mechanism Number of grids Size of one grid PS interference range Fig. 10. Forwarding CC DET. Number of primary systems

Value
ON-OFF model CSMA/CA 36 grids 100 m 100 m 4 neighboring grids 14

Parameter
CR nodes transmission range Number of CR nodes Channel pool Cluster size , % of NUMd for CCC change

Value
40 m 50600 120 channels 15 hops 2.0, 0.2 20%

set to 1. B.2 Forwarding CC DET Message When a node receives a CC DET message, if it is the next node on the routing path, then it forwards the message to the CH node. If it is not on the routing path and has simply overheard the message, then it performs local sensing. If the node detects a primary signal on the CCC as a result of local sensing, then it initiates the primary detection notication procedure by sending a CC DET message. If the node is on the path and has also detected a primary signal and if it has not previously forwarded any CC DET message with the same SEQ and CH node ID, then it increases NUMd by 1 and forwards the CC DET to the CH. If the node has already transmitted the CC DET with the same SEQ and CH node ID to the same CH node or if it does not detect a primary signal on the CCC, then it simply forwards the message to the CH without increasing NUMd . Fig. 10 shows the CC DET forwarding procedure. Nodes A, B, C, D, E, F, and G belong to the cluster using channel 1 as the CCC; node A is the CH of that cluster. As soon as node F detects the primary signal of channel 1, it transmits a CC DET to its neighbor node E that is on the routing path to node A. Since node E is also within the range of the primary signal, it increases NUMd by 1. Node B is not inuenced by the primary signal, and therefore, it forwards the CC DET to node A without increasing NUMd . B.3 Common Channel Change On the basis of the received CC DETs, the CH decides whether it should change the cost CCC. To change the current CCC, the CH should take into account of CCC in terms of the number of control message exchanges and the delay in forming a new cluster. The percentage of NUMd in the total number of nodes in the cluster can be used to determine CCC change criteria. If the CH decides to change the current CCC, then it broadcasts a common channel change (CC CNG) message in all available channels, including the new CCC. The new channel is selected from the candidate common channel set shown in Table 1. If there is no candidate channel for the new CCC, then the CH initiates a new common channel construction procedure by sending a CC IVT. When a node receives a CC CNG, it decreases the hop count and checks whether the hop count is zero. If it is not zero, the node rebroadcasts the CC CNG on all available channels. Then, the node switches to the new CCC. B.4 Cluster Division If a node in the listen mode is not able to hear the CC CNG message from the CH until the CC CNG waiting time has expired or if the new CCC of the received CC CNG is not available to the node, then the node starts a new CCC setup procedure as discussed in Section III. Before it initiates a new cluster, it should wait to check whether it receives any CC BCs from neighboring clusters for joining one of the existing clusters. If there is no CC BC matching the available channels, then it starts to create a new cluster by sending a CC IVT message. In this case, cluster division can occur. V. SIMULATION RESULTS In this section, simulation experiments conducted to evaluate the performance of the proposed algorithm are discussed. For the simulation study, we implemented a CR network simulator completely in object-oriented C++, and the simulator includes a multi-channel system environment, channel sensing, and CSMA/CA based data transmission. We employ the common channel selection algorithm of CogMesh [10], [25] for performance comparison. CR network devices are randomly placed in a two-dimensional area 600 m 600 m, and the maximum transmission range of a CR node is set to 40 m. We use the ON-OFF model for the PS appearance pattern. The CSMA/CA back-off mechanism is used when each node sends control messages. The entire area is subdivided into 36 grids (6 6 grids), as shown in Fig. 11. PSs are located at the cross points of the grids, and they affect the 4 neighboring grids. The channels used by the PSs are randomly selected from the channel pool (CP). The specic simulation parameters are shown in Table 2. Fig. 11 shows an example of a topology (300 CR nodes in the entire network and 5 channels in the CP) considered in our simulation study. Fig. 12 shows the corresponding PS appearances on grids G1, G15, and G25. From the ON-OFF model, the activation and idle time of the PSs are found to follow an exponential distribution with and . We set as 0.2 and as 0.4. In the rst experiment, we observe the average number of clusters for different numbers of nodes. As shown in Fig. 13, when the cluster size (CS) is set to 1, the proposed scheme shows performance similar to that of CogMesh. However, as we increase the cluster size, the number of generated clusters decreases in the proposed method. Therefore, many CR nodes

KIM AND YOO: DISTRIBUTED COORDINATION PROTOCOL FOR AD-HOC...

59

Fig. 11. Example of a simulation topology.

Fig. 13. Number of clusters.

Fig. 12. PS appearances according to the ON-OFF model.

can have the same common channel. The number of channels in the CP is xed at 5 in Figs. 13 and 14. The number of single-node clusters is compared for the different methods in Fig. 14. A single-node cluster has only a singlenode that is acting as a CH. It can be considered as an isolated node, and it cannot exchange control messages with neighbor nodes. Therefore, a smaller percentage of single-node clusters indicates better network connectivity. As shown in Fig. 14, the proposed method results in a lesser number of isolated nodes. In the CCC selection, it is desirable that the selected CCC should be stable for the longest time possible. This stability can be measured by determining the average PS appearance probability and the average idle time of the PS of the chosen CCC. For different CP sizes, ranging from 1 to 20 channels, the stability factors are compared (Figs. 15 and 16). The number of nodes in the network is set to 150. Regardless of the total number of channels, PS appearance probabilities determined by using CogMesh do not show a specic trend with increasing CP for the selected CCC because it is not aware of the PS statistics. When the network has a single channel, the two algorithms show similar performances in selecting the CCC. However, as the number of channels in the CP increases, the proposed protocol shows outstanding performance with regard to not only the PS appearance probability but also the CCC idle time. In other words, the proposed method needs less frequent CCC changes compared to the conventional method.

Fig. 14. Number of isolated nodes.

Fig. 17 presents the number of clusters for different CP sizes. When the size of the CP is one, the network is reduced to a single-channel network. Upon increasing the CP size, CogMesh retains a similar number of clusters. On the other hand, the number of clusters is signicantly reduced as the CPs are increased in the proposed protocol because if the number of channels increases, then each cluster can nd a CCC that can cover many CR nodes with high possibility. In Fig. 18, we show the average delay of cluster formation. To successfully set up a CCC for a cluster, some control message exchanges (CC IVT, CC RPT, and CC ADV) are required in the proposed method. When the cluster size is 1, the required time is relatively short and similar to that of CogMesh. However, as the cluster size increases, the path from a CH to the last node on the cluster boundary also increases, so the average delay increases. However, the larger the cluster size, the more the nodes that can use the CCC and the lesser the number of gateway nodes required. Figs. 19 and 20 show the number of gateway nodes for cluster merging and cluster interconnection, respectively. As the number of nodes in the network increases, we can observe that

60

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL. 14, NO. 1, FEBRUARY 2012

(a) Fig. 15. Average PS appearance probability for the selected CCC.

(b) Fig. 17. The number of clusters in different CPs: (a) CogMesh and (b) proposed.

Fig. 16. Average primary system idle time for the selected CCC.

the number of gateway nodes also increases. In the proposed method, as the CS increased, the required number of gateway nodes for a given number of nodes in the network decreases since each cluster contains more member nodes. The gateway node should perform common channel switching, resource sharing between multiple clusters, and frequent control message exchanges. Therefore, a small number of gateway nodes are required if reliable network connectivity is supported. The proposed method (with CS 2) always shows a lesser number of gateway nodes than CogMesh, as can be observed in Figs. 19 and 20, and the network connectivity is also superior to that of CogMesh, as shown in Fig. 14. Fig. 21 explains the CCC change trials performed by the CH when the nodes detect PS appearances. In this experiment, the number of nodes is 300, and if the number of detected nodes in a certain cluster is 5, 10, 15, 20, 25, or 30% of the total number of nodes in the cluster, then the CH tries to change the existing CCC. In the proposed method, upon detecting PS appearances, the detecting node in a certain cluster sends a CC DET message to its CH. After the CH receives several CC DETs,

Fig. 18. Average delay for cluster formation.

it should decide on the basis of the number of detected nodes whether the cluster should change the current CCC. If a large number of nodes detect the PS, then the CH selects a new CCC using the aforementioned CCC selection algorithm. The x-axis

KIM AND YOO: DISTRIBUTED COORDINATION PROTOCOL FOR AD-HOC...

61

Fig. 19. Number of gateway nodes that perform cluster merging.

Fig. 21. CCC change trials performed by the CH upon detecting the PS.

Fig. 22. Common control channel switching delay.

Fig. 20. Number of gateway nodes that perform cluster interconnection.

VI. CONCLUSION In this paper, we have proposed an efcient common control channel selection protocol for ad hoc networks in the context of CR. The control channel for CR operation is constructed in a distributed way. To determine an optimal common control channel, we have dened a channel-based tree from the cluster head to the nodes within a predetermined number of hops. The proposed distributed coordination protocol takes into account the primary system activities of each channel and node connectivity for common channel selection. We have also proposed a primary detection notication procedure to efciently change the common control channel. In a simulation study, we have evaluated the protocol performance under various network conditions. Compared with the conventional CogMesh CR clustering method, the proposed DCP-CCC requires a smaller number of clusters, and therefore, many CR nodes can communicate with the same control link. Further, the proposed DCP-CCC enhances the control channel connectivity at the cost of an increase in the delay in cluster formation. The most important contribution of this paper is that the common control channel selected by using the proposed protocol is more reliable and stable since it is selected by considering channel activities of the primary sys-

of Fig. 21 represents the threshold percentage of detecting nodes required to effect a CCC change. As expected, a lower threshold percentage results in more CCC change trials. In fact, a CCC change involves high cost in terms of convergence time, cluster re-formation, and message exchanges. Therefore, if the area of the primary detected signal is relatively small, then local CCC repair is preferred. In local CCC repair, if the nodes that transmitted CC DET do not receive any CCC change message within a predetermined time, then they simply join one of the neighbor clusters or start a new cluster formation process. Fig. 22 shows the CCC switching delay. When a CH decides to change the current CCC, it transmits a CC CNG message and the message is sent to all the nodes in the cluster. In this experiment, we measured the delay up to the instant at which a node successfully changed the control channel after the CH announced a CCC change. As can be observed in Fig. 22, as the cluster size increases, the average delay also increases. Since the CC CNG is sent from the CH, a node that is closer to the CH can switch to the new control channel much faster than cluster boundary nodes.

62

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL. 14, NO. 1, FEBRUARY 2012

tems. The proposed protocol also reduces the frequency with which control channels are changed and cluster re-formation. REFERENCES
[1] [2] [3] FCC, Notice of rule making and order, No. 03-322, Dec. 2003. FCC, Spectrum policy task force report, No. 02-155, Nov. 2002. J. Mitola III, Cognitive radio: An integrated agent architecture for software dened radio, Ph.D. dissertation, Computer Communication System Laboratory, Department of Teleinformatics, Royal Institute of Technology (KTH), Stockholm, Sweden, May 2000. S. Haykin, Cognitive radio: Brain-empowered wireless communications, IEEE J. Sel. Areas Commun., vol. 23, no. 2, pp. 201220. 2005. I. Akyildiz, W. Lee, M. Vuran, and S. Mohanty, Next generation/dynamic spectrum access/cognitive radio wireless network: A survey, Computer Netw., vol. 50, no. 13, pp. 21272159, 2006. C. Cordeiro, K. Challapali, and M. Ghosh, Cognitive PHY and MAC layers for dynamic spectrum access and sharing of TV bands, in Proc. TAPAS, 2006. J. Sydor, Messaging and spectrum sharing between ad-hoc cognitive radio networks, in Proc. IEEE ISCAS, 2006. T. Weiss and F. Jondral, Spectrum pooling: An innovative strategy for the enhancement of spectrum efciency, IEEE Commun. Mag., vol. 42, no. 3, pp. 814, 2004. R. Brodersen, A. Wolisz, D. Cabric, S. Mishra, and D. Willkomm. (2004). CORVUS: A cognitive radio approach for usage of virtual unlicensed spectrum. White paper. [Online]. Available: http://bwrc.eecs. berkeley.edu/Research/MCMA T. Chen, H. Zhang, G. M. Maggio, and I. Chlamtac, CogMesh: A cluster-based cognitive radio network, in Proc. IEEE DySPAN, 2007, pp. 168178. M.-R. Kim and S.-J. Yoo, Distributed coordination protocol for common control channel selection in multichannel ad-hoc cognitive radio networks, in Proc. IEEE WiMob, 2009, pp. 227232. L. Lazos, S. Liu, and M. Krunz, Spectrum opportunity-based control channel assignment in cognitive radio networks, in Proc. SECON, 2009. I. F. Akyildiz, W.-Y. Lee, and K. R. Chowdhury, CRAHNs: Cognitive radio ad hoc networks, Ad Hoc Netw., vol. 7, pp. 810836, 2009. Q. Zhao, L. Tong, A. Swami, and Y. Chen, Decentralized cognitive MAC for opportunistic spectrum access in ad hoc networks: A POMDP framework, IEEE J. Sel. Areas Commun., vol. 25, no. 3, pp. 589600, 2006. P. Kyasanur and N. H. Vaidya, Selsh MAC layer misbehavior in wireless networks, IEEE Trans. Mobile Comput., vol. 4, no. 5, pp. 502516, 2005. J. Li, C. Blake, D. S. J. De Couto, H. I. Lee, and R. Morris, Capacity of ad hoc wireless networks, in Proc. ACM Int. Conf. Mobile Comput. Netw., 2001, pp. 6169. S. Krishnamurthy, M. Thoppian, S. Venkatesan, and R. Prakash, Control channel based MAC-layer conguration, routing, and situation awareness for cognitive radio networks, in Proc. IEEE MILCOM, 2005, pp. 455 460. C. Cordeiro and K. Challapali, C-MAC: A cognitive MAC protocol for multi-channel wireless networks, in Proc. IEEE DySPAN, 2007, pp. 147 157. L. Ma, X. Han, and C.-C. Shen, Dynamic open spectrum sharing MAC

[20] [21] [22] [23] [24] [25]

[4] [5] [6] [7] [8] [9]

protocol for wireless ad hoc networks, in Proc. IEEE DySPAN, 2005, pp. 203213. J. Zhao, H. Zheng, and G. Yang, Distributed coordination in dynamic spectrum allocation networks, in Proc. IEEE DySPAN, 2005, pp. 259 268. S.-L. Wu, C.-Y. Lin, Y.-C. Tseng, and J.-L. Sheu, A new multi-channel MAC protocol with on-demand channel assignment for multi-hop mobile Ad hoc networks, in Proc. IEEE ISPAN, 2000, pp. 232237. Y. R. Kondareddy and P. Agrawal, Synchronized MAC protocol for multihop cognitive radio networks, in Proc. IEEE ICC, 2008, pp. 31983202. S.-Y. Ni, Y.-C. Tseng, Y.-S. Cheu, and J.-P. Sheu, The broadcast storm problem in a mobile ad hoc network, in Proc. ACM/IEEE MobiCom, 1999, pp. 151162. R. Gandhi, A. Mishra, and S. Parthasarathy, Minimizing broadcast latency and redundancy in ad hoc networks, IEEE/ACM Trans. Netw., vol.16, no. 4, pp. 840851, 2008. T. Chen, H. Zhang, G. M. Maggio, and I. Chlamtac, Topology management in CogMesh: A cluster-based cognitive radio mesh network, in Proc. IEEE ICC, 2007, pp. 65166521.

[10] [11] [12] [13] [14] [15] [16] [17]

Mi-Ryeong Kim received the B.S. degree in Computer Science Engineering and M.S. degree in Information and Telecommunication Engineering from Inha University, Incheon, Korea, in 2008 and 2010, respectively. Her research interests include cognitive radio network protocols and wireless sensor networks. Since 2010, she has been with Hyundai Mobis.

[18] [19]

Sang-Jo Yoo received the B.S. degree in Electronic Communication Engineering from Hanyang University, Seoul, Korea, in 1988 and the M.S. and Ph.D. degrees in Electrical Engineering from the Korea Advanced Institute of Science and Technology (KAIST), in 1990 and in 2000, respectively. From 1990 to 2001, he was a member of technical staff at the Korea Telecom Research and Development Group, where he worked in the communication protocol conformance testing and network design elds. From September 1994 to August 1995 and from January 2007 to January 2008, he was a guest researcher at the National Institute of Standards and Technology (NIST), USA. Since 2001, he has been with the Graduate School of Information Technology and Telecommunications, Inha University, where he is currently a Professor. His current research interests include cognitive radio network protocols, seamless network mobility control, wireless network QoS, and wireless sensor networks.

You might also like