A Location-Aided Routing Protocol for Cognitive Radio Networks Karim Habak, Mohammed Abdelatif, Hazem Hagrass and Karim Rizc Moustafa Youssef Department of Computer Science and Engineering Egypt-Japan Univ. of Sc. and Tech. (E-JUST), Alexandria, Egypt Emails: {karim.habak,abdollatif,hazem.hagrass,karim.rizc}@ejust.edu.eg Wireless Research Center Alexandria University and E-JUST, Egypt moustafa.youssef@ejust.edu.eg Abstract—Multi-hop cognitive radio networks (CRNs) are gaining interest recently in many practical applications. With location information becoming more available, designing location-aware routing protocols that fit the nature of CRNs becomes a necessity. We present LAUNCH as a location-aided routing protocol for CRNs that has a set of desirable properties: efficient use of the common control channel, has a minimal route setup delay, prefers stable routes, handles primary users heterogeneity, and handles secondary users mobility. LAUNCH is based on four main concepts: (1) a novel locationaware CRN routing metric that takes into account the PUs activity; (2) distributed calculations at the neighbors; (3) a channel locking mechanism to achieve the route stability and minimize channel switching time; (4) an efficient route maintenance strategy. Evaluation of LAUNCH on the NS2 simulator shows that its performance significantly outperforms the current state-of-the-art CRNs routing protocols in terms of end-to-end delay and packet loss rate. In addition, LAUNCH incurs a low control overhead with a fast route establishment delay. I. I NTRODUCTION Cognitive Radio Networks (CRNs) have been proposed as a means for increasing the utilization of licensed spectrum and providing non-licensed users (i.e. secondary users (SUs)) with opportunities to have access to bandwidth that is otherwise unavailable. Recently, multi-hop CRNs have gained attention as a way for providing new services such as cognitive wireless mesh networks [1] and cognitive radio adhoc networks characterized by a completely self-configuring architecture [2]. Designing efficient routing solutions for such networks that minimize the control overhead on the common control channel (CCC) used for synchronization and maximize the network performance becomes a challenge. Current routing protocols for CRNs can be classified, based on their network state maintenance strategies, as limited scope or global [3]. The majority of protocols that maintain limited scope network state exchange state information with a limited set of nodes in an on-demand manner. These protocols usually employ a form of on-demand route discovery procedure commonly used in traditional adhoc networks. For example, [4], [5] are based on modifications to the AODV routing protocol. Consequently, the local state information is delivered to the destination node when there is a demand for establishing a new path. However, these systems usually require a large number of control packets to reach the destination, as the discovery packets are broadcast through the network, and incur some delay in route establishment. Global network state maintenance based protocols, e.g. [6], [7], propose to use a link-state based routing protocol that floods the network with messages as in traditional ad hoc networks. Such solutions incur a high control overhead. In this paper, we propose LAUNCH as a location-aided routing protocol for CRNs where location information is used to guide route discovery, maintenance, and data forwarding. Packet forwarding decisions at a node are based on the geographical position of the packets destination as well as the positions of the nodes immediate neighbors. Therefore, there is no need for discovering and maintaining explicit routes, reducing communication overhead and state information at each node. Hence, location-aided routing protocols do scale well, especially when the network is highly dynamic. Moreover, many of todays wireless devices are location-enabled and this is expected to become more ubiquitous in the future. Adding to these advantages the fact that location information of CRN nodes can be obtained via FCC Geolocation-Databases [8] or estimated via measurements [9] accurately, these features make location-aided protocols attractive for CRNs. Although, location-aided routing has been previously investigated in the context of ad-hoc networks [10], applying it in the context of CRNs has its own challenges, particularly the heterogeneity of the network (having two classes of nodes: PUs and SUs) with preferential treatment to PUs, optimizing path selection based on the availability of multiple channels, and the tight coupling between the routing and the spectrum management functionalities at the PHY/MAC layers. The closest work to ours in literature is SEARCH [11]. However, it does not take the stochastic activity of PUs into account which makes it select unstable routes at some points. In addition, route selection is performed at the destination, which introduces initial delay at route establishment. Evaluation of LAUNCH on the NS2 simulator shows that in typical operation scenarios of heterogeneous PUs and high SUs mobility, its performance significantly outperforms the current state-of-the-art CRNs routing protocols in terms of end-to-end delay and packet loss rate. In addition, LAUNCH incurs a very low control overhead and provides fast route establishment. The remainder of this paper is organized as follows. Section II presents the details of LAUNCH. We evaluate LAUNCH in Section III. Finally, Section IV concludes the paper and provides directions for future work. II. T HE LAUNCH P ROTOCOL Compared to the current CRN routing protocols, LAUNCH not only handles the PUs when they are active, but also selects routes that are expected to be more stable, i.e. with less PUs activity. This is inspired by the observation that a CR user usually establishes a connection to the destination and therefore, requires a stable route to this destination. So even though a route may be currently promising, it may be less attractive if it will be available for a short time due to the PUs activity. Therefore, LAUNCH prefers stable routes over short-lived ones. Similar to traditional location-aided routing protocols, it performs greedy routing to the destination based on its location. A node selects one of the direct neighbors that are closer to the destination than itself to forward the packet to. However, rather than selecting the node that is closest to the destination, it selects the node that has a more stable route to the destination, based on the PUs expected activity and the available channels. LAUNCH has four main salient features: (1) It uses a novel CRN and location-aware routing metric that take into account the PUs activity; (2) It performs distributed calculations at the neighbors, as compared to centralized computation at the source node; (3) It relies on a channel-locking mechanism to achieve the route stability and minimize channel switching time; (4) It has an efficient route maintenance strategy. We explain the details of the protocol in the next subsections. A. System Model We consider a cognitive radio network that consists of a set of static Primary Users (PUs), such as the case of white spacebased CRNs, that hold the right to use a licensed portion of the spectrum and a set of Secondary Users (SUs) that may access this licensed spectrum without affecting the operation of the PUs. Since PUs own the rights to use the spectrum, their operations must not be disturbed by the presence of SUs. Hence, we model the transmission ranges of SUs as circles and do not allow SUs in the “interference range” of a PU to operate when the PU is active (i.e., interweave model). For modeling the PUs’ activities, we adopt the commonly used two-state ON-OFF birth-death process model, where the PU can either be active (ON) or inactive (OFF). The length of the ON and OFF periods follows two independent exponential distributions with different parameters depending on the traffic of the PUs. We also assume that the secondary user (SU) uses a CCC to exchange routing parameters. The CCC can be implemented either via a dedicated hardware, time-shared over the main transceiver hardware, or through allocation of control time slots or other in-band techniques. Two radios are used as data transceivers (one for transmission and the other for reception) which can be tuned to any channel of the licensed bands (those on which PUs operate). In addition, each SU node is capable of adapting the signal strength of its transmission to the distance separating it and the receiver to further optimize energy consumption. All SUs are assumed to be mobile. Each SU knows its own location as well as the location of its direct neighbors. In addition, it can know the location of the destination SU it wants to communicate with. This last information can be obtained through out-of-band means or disseminated through the network. Finally, the number of PUs in range can be estimated by a SU based on passive sensing. Also their distribution parameters are assumed to be known through estimation. Finally, We assume that PUs are stationary. B. Routing Metric and Forwarding Strategy Choosing a good routing metric is crucial for the performance of a routing protocol. The routing metric is used to select one of the neighbors in a greedy manner as a next hop for the packet. Standard routing metrics for location-aided routing, e.g. GPSR [12], use the distance between the neighbor and the destination as a metric and select the neighbor that is closest to the destination as a next hop. Although this reduces the instantaneous end-to-end delay, it fails to capture the stability of the route, which may introduce significant delays if a PU along the path becomes active and requires a rerouting event. Instead, LAUNCH uses a delay-based metric that selects the neighbor that satisfies two conditions: 1) It is closer to the destination than the current node (greedy forwarding criterion) and 2) It has the lowest expected delay from the current node based on route stability (minimum delay criterion). The greedy forwarding criterion guarantees that we are always getting closer to the destination. On the other hand, the minimum delay criterion takes into account the stability of the route by estimating the additional delay that will be encountered if a PU becomes active and rerouting is needed. More formally, consider two nodes Src and Dst. The proposed metric estimates the delay (T ) between the two nodes as: TP rop + TSwitchs T = 1 − PActive Where: • TP rop : is the propagation time between the two nodes which is calculated as the summation of the propagation time between the current node and its neighbor plus the propagation time between the neighbor and the destination. This can be calculated from the nodes coordinates and represents the greedy location based component of the routing decision, as it depends on the geographic location of the nodes. • TSwitch : is the channel switching time which is a function of the difference of frequencies between the channels the Src and Dst nodes are currently working on and the channel which they will use. This term reflects the first component of the CRNs nature which is the awareness of the presence of multiple channels, and the ability to choose from them. As we show later, the channel locking mechanism employed by LAUNCH make this term typically zero, except for rerouting events, reducing the switching time overhead significantly. • PActive : is the probability that at least one PU that affects the link between Src and Dst will become active during a predefined time period τ . Higher values of parameter τ represent higher path stability. Based on our system model, since the PU is modeled as a two-state ON-OFF birth-death process with parameters λi and µi representing the parameters of the exponential distributions P innthe ON and OFF periods respectively, PActive = 1 − e−τ i=1 µi SU2 SU2 PU Src SU2 PU PU RREQ PU PU SU1 Dst SU1 Src RCONF Dst Src SU4 SU3 PU PU PU RREP SU1 PU SU2 SU1 Src RACK Dst PU PU PU SU4 SU4 SU4 SU3 SU3 Dst SU3 (a) Node broadcasts RREQ to neigh- (b) Only neighbors closer to Dst reply (c) Node selects the best neighbor and (d) Selected neighbor locks channel bors with best/locked channel RREP) sends CONF and confirms RACK) Fig. 1. Operation of LAUNCH’s locally-distributed locking-based route setup. 1) Route Setup: A node using a traditional multi-channel routing protocol in CRNs selects the best outgoing route on a per packet basis. Accordingly, a channel switch can occur on a per packet basis which incurs channel switching delays and reduces the route stability. In addition, it has a high overhead over the CCC as nodes have to coordinate their channel switching. On contrast, LAUNCH makes each node work on only one channel for sending and another for receiving with the ability to change the channel as needed. This approach has the advantage of increasing the route stability, reducing computational power, and reducing the channel switching time. In addition, it reduces the overhead of route maintenance when rerouting is required, as explained in Section II-B2. For this method, route establishment can be locally distributed and follows the following steps (Figure 1). 1) When a node wants to select one of its neighbors for packet forwarding, it broadcasts to its first hop neighbors an RREQ packet containing its ID, location, timestamp, number of PUs that affect the communication of the requesting node, and their distribution parameters which are assumed to be known according the system model. 2) Each neighboring node, closer to the destination than the requesting node, upon receipt of an RREQ packet, calculates the routing metric, based on its local information including its own number of neighboring PUs, propagation delay and the minimum switching delay, and sends back to the requesting node an RREP packet containing the calculated metric and the preferred channel. 3) The requesting node waits for a certain time to collect RREP packets and selects the neighbor with the best metric as its next hop for this connection. 4) The requesting node sends a route confirm packet (RCONF) to the selected neighbor. 5) Upon receipt of the RCONF packet, the neighboring node locks the selected channel as its operating channel, if no other node is using it, or increases its lock count. It then transmits back a route acknowledgment packet (RACK) confirming the path. 6) If two or more nodes start this process at the same time on different channels, the node can send a negative acknowledgment packet (RNACK) to deny the request of some nodes. These nodes can select other nodes as their next hop. Note that once locked on a channel, the node can include its transmission channel in the RREQ packet. Only neighbors operating on this channel reply, further reducing the overall consumed power in the network. Similarly, a locked neighbor always reply with its locked channel, but with its current calculated metric. Note that this makes the channel switching time typically zero for the locking-based method for the majority of packets. The node only needs to calculate the channel switching time on the event of re-routing. This leverages the fact that neighboring nodes has similar channel conditions and should operate on similar channels to minimize overhead. All routes establishment are treated as soft state: a route is allocated for a certain time parameter(δ). After this time, unless the route is refreshed, the route is considered invalid. This reduces the overhead in the route maintenance phase as described in Section II-B2. Upon route expiration, the node reduces the lock count for this channel, declaring that the route is no longer valid. When the lock count reaches zero, the node can change its allocated channel. Small values of the parameter δ allow for a shorter locking time and thus a node can change its channel more frequently but at the expense of reducing route stability and possibly increasing the CCC traffic. δ = 0 leads to the traditional routing per packet approach. routing minimum (routing holes), such as perimeter forwarding [12], when forwarding cannot be continued because there are no neighboring nodes that are closer to the destination than the sending node. 2) Route Maintenance: Route maintenance is initiated due to PUs activity, node mobility, and/or node failure. 3) PU Avoidance: LAUNCH reduces the frequency of route update events due to PUs activity by basing its routing metric on route stability as discussed in Section II-B. In addition, each node saves additional next hop information it receives in the RREP packets. However, PUs becoming active on an established route is inevitable due to the stochastic nature of the PUs activities. When a PU becomes active, all SUs within its transmission range and acting on the same channel become inactive. The following procedure is activated: • On such event, each affected node calculates the routing metric for the different available channels and selects a channel that has the best average metric for all connections passing through it (based on nodes locations, channel switching time, and current status of other PUs). • Since all of these connections were using the same channel, Parameter Number of PUs PU interference range (m) µactive µnormal Number of SUs SU transumption range (m) Data rate (Kbps) Number of active connections Number of channels Channel switching time (ms) Frequency (GHz) Effective bandwidth (Mbps) Packet Size (KB) Area size τ (sec) Maximum SUs speed(m/s) Value range 0, 2, 4, 16 300 ∈ Uniform[1, 3] ∈ Uniform([1, 3], [3, 5], [5, 7], [7, 9], [9, 11]) 100, 200, 300, 400 125 200 1, 2, 4, 8, 16 2 5 2.4 2 1.5 1000m×1000m 1 0, 2, 4, 6, 8 Nominal Value(s) 4 300 ∈ Uniform[1, 3] ∈ Uniform[7, 9] 200 125 200 2 2 5 2.4 2 1.5 1000m×1000m 1 4 the affected node needs only to broadcast one packet (RUPDATE) containing the new available channel on the CCC. Optionally, the affected node can include in the RUPDATE packet the metric value for all the nodes using it. • Upon reception of the RUPDATE packet, the sending node can switch its channel to the new channel. If the routing metric is not suitable for one node, it can start a new route discovery process. Note that the node does not need to release the old path as the soft state will expire in the forwarding node. Note that using the proposed approach, only one packet is needed to reestablish the new routes, reducing the overhead on the nodes and on the CCC. 4) Node Mobility and Failure: Mobility of SUs leads to breaking established routes. A node that becomes out of range of its neighbors will be detected, e.g. by the link layer. In this case, affected nodes can start a limited route discovery starting from the affected node. Mobility models can be used to estimate the movement of the node to start the rerouting request before the path is completely broken, thus reducing the disruption due to route breakage. Note that routes passing through the mobile node will expire by themselves and thus no actions need to be taken to remove them. Nodes failure can be handled in the same way as node mobility. III. P ERFORMANCE E VALUATION In this section we evaluate the performance of LAUNCH via NS2 simulations. We start by describing our experimental setup followed by the results. We evaluate the effect of changing the different parameters on LAUNCH and compare it to well known CRN routing protocols protocols. A. Experimental Setup Table I summarizes the experimental parameters. We use the multi-channel multi-radio extension to NS2 [13] and adopt the PU ON-OFF model described in Section II-A where the means of the exponentially distributed active and inactive periods are randomly chosen (according to a uniform distribution). We have two types of PUs that differ in the length of their activity period: highly active (µactive ) and normal (µnormal). Both have a 50% duty cycle. Primary users are distributed uniformally over the available channels. We model the transmission Number Of routing packets TABLE I E XPERIMENTS PARAMETERS . 6000 CLCR AODV SEARCH LAUNCH 5000 4000 3000 2000 1000 0 0 Fig. 2. 200 400 600 800 1000 1200 Number of SUs Routing overhead of the different CRNs routing protocols. range of SUs as circles of adaptive transmission power with a maximum possible value of 125m. The interference range of a PU is set to 300m. SUs in the interference range of a PU are not allowed to operate (i.e., interweave model). The nodes are initially placed uniformly at random then move according to the random way point model. Each SU node is equipped with three radio interfaces and have omni-directional antennas and runs the IEEE 802.11 MAC protocol. The source and destination of each connection are selected randomly. Throughout our evaluation, we use the end to end delay, loss ratio and control packet overhead as our main metrics. B. Results We compare LAUNCH to a reactive AODV-like algorithm [14], a link-state based algorithm (CLCR [15]), and a locationaware CRN protocol (SEARCH [11]). Note that all these protocols do not model the stochastic activity of the PUs into account. SEARCH, however, avoids the area around the active PUs. 1) Routing overhead: Figure 2 shows the effect of increasing the number of SUs on the routing overhead. The figure shows that LAUNCH and SEARCH, being location-based, have the minimum overhead. The CLCR protocol, being linkstate based, periodically disseminates information about the current routes throughout the network which incurs significant overhead. This overloads the limited CCC and cannot react quickly to PUs dynamics and SUs mobility. Therefore, for the rest of this section, we focus on comparison with the reactive based protocols (excluding CLCR). 2) Impact of SUs density: Figure 3 shows that with increasing the number of secondary users, the performance of all protocols enhances because they have more opportunities to select routes. The slight performance advantage of AODV at a low number of SUs can be explained by noting that there are two factors that affect the performance of the routing protocols: the optimality of the chosen routes and the reaction to the activity of the PUs. For a low number of SUs, the number of routes discovered by the greedy location- aided routing protocols are limited, leading to a suboptimal performance compared to the AODV protocol that selects the best routes. As the number of SUs increases, the effect of reaction to the PUs activity dominates and the relative advantage of AODV is reversed. 3) Impact of the number of PUs: Figure 4 shows that as the number of PUs increases, the available capacity for SUs de- 0.15 0.1 0.05 3 2.5 2 1.5 1 0.5 400 0.2 0.15 0.1 0.05 0 2 500 0 4 8 3 4 16 (a) End-to-end delay 20 SEARCH AODV LAUNCH Loss ratio (%) 1.5 1 0.5 5 6 7 8 9 10 15 10 5 0.2 0.1 1 2 3 4 5 6 7 8 Maximum node speed (m/s) (a) End-to-end delay 1.5 SEARCH AODV LAUNCH 0.8 0.3 0 (a) End-to-end delay 1 SEARCH AODV LAUNCH SEARCH AODV LAUNCH 0.4 0 Average µNormal Number of PUs (a) End-to-end delay 2 2 0.5 SEARCH AODV LAUNCH SEARCH AODV LAUNCH 1.25 Loss ratio (%) 300 Number Of SUs Loss ratio(%) 0.3 0.25 0 200 Loss ratio (%) 0 100 SEARCH AODV LAUNCH 3.5 End-to-End delay (sec) 0.2 End-to-End delay (sec) 4 SEARCH AODV LAUNCH End-to-End delay (sec) End-to-End delay (sec) 0.3 0.25 0.6 0.4 0.2 1 0.75 0.5 0.25 0 0 100 0 200 300 400 500 2 0 Number of SUs (b) Loss ratio Fig. 3. Impact of SUs density. 2 4 8 16 Number of PUs 3 4 5 6 7 8 9 10 IV. C ONCLUSION We presented LAUNCH as a routing solution for CRNs that uses the available location information and PUs’ stochastic activity to enhance the operation of CRNs. Similar to traditional location-aided routing algorithms, LAUNCH performs greedy routing to the destination based on its location. However, rather than selecting the node that is closest to the destination, it selects the node that has a more stable route to the destination, based on the PUs’ expected activity and the available channels. Compared to the current CRN routing protocols, LAUNCH not only handles the PUs when they are active, but also selects routes that are expected to be more stable. We presented the details of LAUNCH and showed that the developed routing metric provides a robust packet delivery system with a low computational and network overhead and small end-to-end delay. LAUNCH significantly outperforms both traditional location-aware protocols and CRNs protocols in typical network scenarios of heterogeneous PUs activity and SU mobility. Currently, we are expanding LAUNCH in multiple directions including investigating other metrics that take into account the 1 2 3 4 5 6 7 8 Maximum node speed (m/s) (b) Loss ratio (b) Loss ratio Fig. 4. Impact of the number of PUs. Fig. 5. Impact of PUs heterogeneity. creases leading to degraded performance in terms of significant delays and loss ratio. LAUNCH, modeling the PUs activities, can maintain significant advantage over other protocols. 4) Impact of PUs heterogeneity: Figure 5 shows the effect of PUs heterogeneity on performance. As µnormal increases, the routes become more stable which enhances the performance of all protocols. LAUNCH performance significantly increases as it models the PUs stochastic activity. Similar to the analysis of the SUs mobility effect, AODV has a slight advantage when the network is more homogeneous in terms of the PUs activity as route optimality dominates the performance in this case rather than handling PUs activity. 5) Impact of SUs mobility: Figure 6 shows that increasing the SUs mobility degrades the performance of all protocols. LAUNCH, since it employers a local repair procedure, is less affected by mobility compared to the other two protocols that repair the route by contacting the destination. 0 0 Average µNormal (b) Loss ratio Fig. 6. Impact of SUs mobility. channel and node load, and combining the ad-hoc and lockingbased techniques. ACKNOWLEDGMENT This work is supported in part by a grant from the Egyptian National Telecommunications Regulatory Authority (NTRA). R EFERENCES [1] K. Chowdhury and I. Akyildiz, “Cognitive Wireless Mesh Networks with Dynamic Spectrum Access,” IEEE Journal on Selected Areas in Communications, vol. 26, no. 1, pp. 168–181, January 2008. [2] I. Akyildiz, W.-Y. Lee, and K. Chowdhury, “CRAHNs: cognitive radio ad hoc networks,” Ad Hoc Networks (Elsevier), 2009. [3] M. Cesana, F. Cuomo, and E. Ekici, “Routing in Cognitive Radio Networks: Challenges and Solutions,” Ad Hoc Networks (Elsevier), 2010, doi:10.1016/j.adhoc.2010.06.009 (Article in Press). [4] G. Cheng, W. Liu, Y. Li, and W. Cheng, “Joint On-Demand Routing and Spectrum Assignment in Cognitive Radio Networks,” Proceedings of IEEE ICC 2007, June 2007. [5] H. Ma, L. Zheng, X. Ma, and Y. luo, “Spectrum Aware Routing for Multi-Hop Cognitive Radio Networks with a Single Transceiver,” Proceedings of IEEE CrownCom 2008, 2008. [6] H. Khalife, S. Ahuja, N. Malouch, and M. Krunz, “Probabilistic Path Selection in Opportunistic Cognitive Radio Networks,” Proceedings of IEEE GLOBECOM 2008, 2008. [7] M. Pan, R. Huang, and Y. Fang, “Cost design for opportunistic multi-hop routing in cognitive radio networks,” IEEE MILCOM, 2008. [8] Federal Communications Commission, “FCC Adopted Rules for Unlicensed Use of Television White Spaces,” Tech. Rep. ET Docket No. 04-186, Second Report and Order and Memorandum Opinion and Order, 2004. [9] M. Ibrahim and M. Youssef, “CellSense: A Probabilistic RSSI-based GSM Positioning System,” Proceedings of IEEE Globecom, 2010. [10] M. Mauve, A. Widmer, and H. Hartenstein, “A survey on position-based routing in mobile ad hoc networks,” Network, IEEE, vol. 15, no. 6, pp. 30–39, 2001. [11] K. Chowdhury and M. Felice, “Search: A routing protocol for mobile cognitive radio ad-hoc networks,” Computer Communications, 2009. [12] B. Karp and H. Kung, “GPSR: greedy perimeter stateless routing for wireless networks,” in ACM MobiCom, 2000. [13] “Cognitive radio extension.” [Online]. Available: http://stuweb.ee.mtu.edu/ ljialian/ [14] C. Perkins, E. Belding-Royer, S. Das et al., “Ad hoc on-demand distance vector (aodv) routing,” 2003. [15] C. Pyo and M. Hasegawa, “Minimum weight routing based on a common link control radio for cognitive wireless ad hoc networks,” in Proceedings of IWCMC. IEEE, 2007.