Design and analysis of routing protocol for cognitive radio ad hoc networks in heterogeneous environment

ABSTRACT


INTRODUCTION
Ad hoc networks are made up of an autonomous system of mobile devices which act as both hosts and routers [1]. This permits the mobile devices to interconnect one another through multi-hops without a predefined communi-cation. Ad hoc networks may support different wireless standards, the present state-of the-art remains to be mostly limited to their operations in the 900 MHz and the 2.4 GHz industrial, scientific and medical (ISM) bands. With xpo-nentially growing growth of wireless devices, these bands are increasingly getting congested. Simultaneously, there are lots of frequency bands licensed to operators, for example in the 400-700 MHz range, that are used sporadically or under-utilized for transmission [2]. The FCC has recently approved the usage of unlicensed devices in licensed bands. Consequently, dynamic spectrum access (DSA) techniques are proposed to solve these current spectrum inefficiency problems. This new area of research foresees the development of cognitive radio (CR) networks to improve spectrum efficiency [3,4].
In CR networks, there are two types of devices. Namely, primary primary user (PU or licensed user) and secondary user (SU). The PUs are legacy users who own licensed channels (LC), but do not fully utilize it. The UHF TV and public safety broadcast stations are examples of LC. The SUs are nextgeneration CR devices who opportunistically exploit locally unused LC without disrupting operations of PUs. This scheme is often referred to as opportunistic spectrum access (OSA). The SU must vacate the channel as soon as the PU reappears, which leads to the forced termination of the SU connection [2]. Briefly, the main function of CR is as follows. Determination of unused LCs, selection of the best available LC, coordination of the access with SUs and detection of the appearance of PUs. Routing protocols in traditional wireless multi-hop networks cannot be efficiently applied in CR Mobile Networks (CRMNET) [5,6]. To fully unleash the potentials of such networks, new challenges must be addressed and solved at the network layer. In particular, effective routing metrics able to account for the distinguishable properties of the CRMNET are needed [3,7]. The routing metrics for CR can be classified into two classes. 1) The metrics originally proposed for multi-channel environments and then adapted to CR networks. 2) The metrics specifically designed for CR networks. In this paper, based on the expected busy period of both the LCs and unlicensed channels (UCs), a new routing protocol based on the accumulative expected busy period metric will be introduced in heterogeneous environment. Through simulations, we highlight the performance of our proposed routing protocol and compare it to the previous works. The remaining of the paper are organized as follows. In section 2, a related work is introduced. The system model is illustrated in section 3. In section 4, the proposed HCR routing protocol is described. We evaluate the performance of the proposed HCR routing protocol in section 5. Finally, the paper is concluded in section 6.

RELATED WORK
Most related researches of CRMNET are focused on the homogeneous environment [8]- [11] (i.e. licensed spectrum only). A joint operation of a routing and a channel assignment has been already proposed in many literature mainly based on the centralized approaches leveraging the graph theory. Delay based routing has been proposed in [9,12,13], to achieve lower cumulative delay caused by channel switching, queuing and collisions. However, the algorithm is under assumption that the node has the global knowledge of the networks. In [12], a multi-radio multi-channel on-demand solution that is able to effectively manage the transmission activities of cognitive and primary users in investigated. The routing metric was carefully developed in order to provide a tradeoff between the channel diversity of the routing path and the end-to-end delay. In [14], the authors were proposed a novel spectrum aware routing scheme that is a distributed routing con-sidering some key characteristics of the cognitive radio mesh networks. However, the routing metrics which used to select best route among all routes was chosen as a function of the LC usage.
In [15], the authors proposed Opportunistic Service Differentiation outing Protocol (OSDRP). The proposed OSDRP finds the minimum-delay maximum stability route in dynamic CRNs by considering spectrum availability and queueing/switching delay across PU channels. Service differentiation is achieved through power control and opportunistic routing. In that approach, the channel with the maximum expected available transmission time is selected among all common available data channels. However, the quality of the selected channel may be relatively bad. In other words, the transmission time of this channel may be longer than its availability time, which may negatively affect the achieved CRMANET throughput.
In [16], the authors present the expected transmission count metric (ETX), which finds highthroughput paths on multi-hop wireless networks. The ETX selects routes with knowledge of the delivery ratios which is more pertinent information than the hop count metric, thus increasing the throughput and improving the network utilization. However, ETX has the disadvantage of only considering the link loss rate and not the link data transmission rate (related to the transmission delay). In [17], a new metric for routing in multi-radio, multi-hop wireless networks is proposed. The proposed metric assigns weights to individual links based on the Expected Trans-mission Time (ETT) of a packet over the link. However, the ETT metric focus on wireless networks with stationary nodes, such as community wireless networks. In [18] and [19], the authors categorized routing metrics into three types and derived new metrics of each type. By considering the primary usage pattern and maximum CR link hold-time, they derived three new metrics MET, RH and METRH to capture different end-to-end performances.

SYSTEM MODEL 3.1. Assumptions
In this paper, a distributed multi-hop CRMANET consisting of Np PUs and Ns SUs nodes is assumed. Let Cp and Cs denoting the number of LCs and UCs respectively, where each channel has its own infinite buffer. The buffer of a LC can hold both the PUs and SUs packets while the buffer of a UC can hold the SU packets only. We assume that the PUs packets follow the first-come-first-served (FCFS) scheduling policy. The PU has the preemptive priority to use the LC and can interrupt the transmission of the SU users. In addition, each SU is equipped with a common control channel (CCC). The CCC is assumed to be implemented through dedicated hardware with time sharing over the main transceiver hardware and used for transmitting and receiving control messages (routing, spectrum sensing), where different data transceivers are used for transmission and reception.

Primary channel model
The LC is viewed as an ON-OFF random process, where a LC experiences a sequence of busy (ON) and idle (OFF) periods. An ON busy period represents the corresponds LC is busy with a PU. An OFF idle period represents the corresponds LC is idle and can be utilized by a SU.

Busy period analysis
In this section, the expected busy period of LC is derived. The analysis will likely be carried out in steady state. Let the time axis is split into identical intervals named slots. Every single slot is exactly equivalent to the transmitting time of a single packet. In each slot k = 0,1,2,3, …, either a random variable (RV) patch A = 1,2,3, … of PU packets arrives at the buffer attached to the LC c , j = 1,2,3, ⋯ C , with probability λ or not arrives with probability λ = 1 − λ . In other words, λ is the batch arrival rate of PU packets at the LC c . The PU patch arrival at the LC is assumed to be Bernoulli process. Let a and A (z) be the common distribution and the probability generating function (PGF) of A . That is, a = lim → Pr A = n and ( ) = ∑ . Let = 1,2,3, ⋯ be a RV denoting the busy period of the LC generated by a given PU. Let ( ) = ∑ = be the PGF of . The busy period of the LC is started with the arrival of nonzero batch of PU packets at that LC while it is in the OFF state. We call the packets of this patch as "leading packets" and denotes it size by the RV = 1,2,3, …. All the PU packets arrivals at the buffer of the LC are served using last come first service (LCFS) discipline. Note that, the service order has no bearing on the distribution of the busy period. The first come first service (FCFS) and the LCFS disciplines lead to the same result. Let us label the "leading packets" packets as , , , … , . Let = 1,2,3, … , be a RV denoting the service time of . Because of the LCFS order, all the PU packets that arrive at the buffer while the in service will be served before . It is clear that, each leading packet will generate its own sub-busy period. The sub-busy period generated by the packet consists of its service time plus the service time of all packets that arrive at the buffer of channel during its service time. Let be a RV denoting the sub-busy period of the packet . The RVs = 1,2,3, … , are identically independent distribution (iid) with the common distribution w and PGF W (z). The total busy period B of the LC c is given as B = ∑ W . Let L (z) be the PGF of the RV L . In such case, the PGF B (z) can be written as The PGF of the RV L is related to the PGF A (z) as follows.
The sub-busy period W of the pkt starts with service time X . While the the pkt is in service, a number of PU packets arrive at the LC c . Let N be a RV denoting these packets. It is clear that, the value of N is given as where Φ = ∑ I is the number of batches that arrive at the LC c during the service time X and I = 0,1 is an indicator RV denoting the number of PU patches that arrive at the LC c in the n the slot of X . Let us refer to these N packets as "follower packets". Let us refer to the first packet of N as f and the second packet as f and so on. Since of the LCFS discipline, all packets that arrive at the buffer of the LC c will be serviced after f and before f . Hence, the packet f will generates its own a sub-busy period consists of its service time plus the service times of all arrival packets during its service time. Let F be a RV denoting the sub-busy period of the follower packets f . The other all the remaining follower packets will generate its own sub-busy period F (n = 1,2,3, … N ) in similar fashion. The sub-busy periods F (n = 1,2,3, … N ) are iid RVs with common PGF W (z). The sub-busy period F can be expressed as F = X + ∑ F and hence the PGF W (z) can be written as Substituting for N from (4), we get Substituting from (3) into (5), we get Substituting for W (z) into 1, yields Finally, substituting for L (z) from (2), yields the final expression of the PGF for the busy period of the LC c as follows.

PROTOCOL DESCRIPTION
In this section, the description of the suggested HCR protocol is going to be presented depending on the well known routing protocol AODV. First, we present our path metric after which we explained the HCR protocol in details. In CRMANETs routing protocols, the route between a source and a destination of the SUs needs to be selected within a robust method to ensure that the SUs' traffic does not disrupt the PUs' traffic. For this propose, the routing mechanism must obtain the LCs occupancy information about the physical layer and include the spectrum assignment inside the path selection so that the nodes would have to follow the designated spectrum and path [20]. In this paper, the expected busy periods of the LCs are used as a metric to determine if the idle LC will be included in the route between the source and destination of the SUs or not.

Modified routing metric
The hop count routing metric employed by the AODV routing protocol does not take into account the activity in the PUs [21]. Moreover, the busy period of a LC is not regarded in route discovery process. As a result, a lot of the data packets are discarded because of the PU weighty usage of that LC. Therefore, the expected busy period of the LC should be regarded while discovering the route. For simplicity, we are going to refer to our expected busy period of time metric as EBP within the sequel. We have modified the minimum hop count routing metric to consider the effect of the EBP in route discovery process, where a hop count metric will be used for route selection only when all the available routes have equal EBP values.
For any two SUs communicating with each other, there should be one or more idle LC amongst their respective readily available LCs sets. If there is several idle LCs between two SUs, the best LC should be chosen according to channel selection metric. The channel choice metric EBP which suggested in this paper is defined as the minimum value of the expected busy periods amongst of selected idle LCs sets by a SU.The expression of EBP can be derived as follows. During each time slot, the SU labeled as = 1, 2, 3, …, will select an idle LC ℎ = 1, 2, 3, … , − with probability , given as where i is the number of ongoing PUs. Let S be a RV denoting the number of idle LCs discovered by the SU l. It is clear that the RVS has the following binomial distribution, where P be a RV denoting the PU system occupancy (i.e, the number of ongoing PUs) and j ≤ C − i. During the route establishment process, when there are more than one idle LC discovered by the SU, the best LC should be chosen based on the channel choice metric EBP according to the following expression 4.2. Spectrum sensing A significant component of the suggested protocol is the spectrum sensing. A cognitive radio is made to be aware of and sensitive to the changes in its environment. The spectrum sensing functionality is utilized to recognize unused LCs [2]. Three strategies are often utilized for the transmitter detection according to the hypothesis model. These three strategies are matched filter detection, energy detection and cycle stationary feature. The coordination between both transceivers can be described as follows: a. The SUs uses energy detection as a spectrum sensing technique to detect the idle LCs. b. The SUs will inform other neighbors about the availability of these LCs during the route establishment process.

Spectrum allocation
Spectrum allocation strategy should be efficient, because without efficient spectrum allocation the routing protocol cannot perform well [4]. Every single node identifies the best possible spectrum band, as well as the favored channels inside of that band during spectrum allocation phase. To enable this, we use the proposed accumulative EBP metric combined with the number of hop count form source to destination. Based on the gathered sensing information, the spectrum allocation data structures, residing in each node (i.e. SU), make an adaptive decision on the order of operating LCs according to the activities of PUs in its vicinity. Where each SU is equipped with data structures called Free Hopping Channel List (FHCL). The FHCL data structure is used to record the list of all idle LCs and UCs list order. FHCL is predefined sequences used by each SU to determine the order in which the free LCs and UCs are to be visited in the case of suddenly appearance of the PU. This step can be done by applying the reactive channel selection strategy is used [24]. In this strategy, SUs monitors the spectrum for PU activity and whenever PU activity is detected, this information is passed to other SUs and then SUs switch to another available LC or UC according to the sequences defined in the FHCL data structure. The UCs are randomly ordered and visited after visiting all the LCs order list. The data structure for the FLCH at each node can be described as follows: FLCH(i).type denotes the channel type, where its value is set to 1 for LC and 2 for UC. FLCH(i).priority denotes the priority of the idle LC i. FLCH(i).subpriority denotes the priority of the LC i within the LCs set The LC with minimum expected busy period is given the highest priority. Figure 1-a illustrates a simple example of a network topology with six PUs labeled as PU1 through PU2, where each PU operates on different spectrum with different coverage area. Seven SUs, labeled as A through F, share spectrum with PUs. The nodes A, B and C are within the same transmission range and share the UC 8. While nodes A and G are within the same transmission range and share the UC 7. According to the FHCL data structure at node A in Figure 1-a, the LCs with indices 1 and 3 have the same EBP values with FLCH(1).priority = 1 and FLCH(3).priority = 1. In such case, the sub priorities of LCs 1 and 3 are chosen randomly using function rand(1,2, … n), where n denotes the size of LCs set with same EBP values. In this example FLCH(1).subpriority = rand(1,2) = 2 and FLCH(3).subpriority = rand(1,2) = 1. Since the LC number 6 has the highest value of EBP among the LCs 1, 3 and 6 then FLCH(6).priority = 3 and FLCH(6).subpriority = and(1) = 1. Thus the visited order of the free LCs will be 3, 1, 6, 7, 8. Beside the FLCH data structure, each node contains a special field called Accumulative Expected Busy Period (AEBP). This field contains the summation of EBP of all links which constitute the route from the current node to a destination. The proposed routing protocol has three phases, namely neighbor discovery, route discovery and route maintenance phase. The route discovery phase needs information of next-hop node and the data of LC information of next-hop. Each of these phases is described in the subsequent sections.

Neighbor discovery
In this phase, we assume that, not all nodes within the transmission range of a given node are neighbors. Only nodes with at least a common free LC with that node are considered to be neighbors. The neighbor discovery phase in our protocol is similar to the neighbor discovery phase of AODV protocol expect a few modifications are made to fit the requirement of our proposed protocol. On bootstrap process, all SUs broadcast a ND_REQ message (as Hello message in AODV) with format: <source_ip, broadcast_ip, FLCH> where broadcast_ip denoting the broadcast address of the network. Upon reception of ND_REQ message, each SU within the transmission range of the sender node matches its FLCH with the FLCH included in the received ND_REQ message. If there is at least one common free LC then it replies with unicast ND_REP message to the sender in the following format: <source_ip, destination_ip, has_FLC>. The field has_FLC = 1 if a neighbor has at least either a free common LC or UC with the source node. Otherwise it set to 0. When a SU receives a ND_REP message it constructs its a neighbors table (i.e., precursors). This table containing the IP addresses of its neighbors that are likely to use it as a next hop towards each destination. These precursors will receive notifications from the node on CCC in the case of suddenly appearance of the PU on one of the common free LCs. Figure 1-b represents 4 SUs and 4 PUs nodes. The SUs A, B, C and D are in the same transmission range. The primary users PU1, PU2, PU3 and PU4 represent the available LCs 1, 2, 3 and 4 respectively with different transmission ranges. The LCs 3 and 4 are busy while the LCs 1 and 2 are idle. As shown in Figure 1-b, after the neighbor discovery step, the 4 SUs nodes have a list of neighbors that are likely to use it as a next hop. When state of any LC within the transmission range of a given node is changed, a notification from that node will be sent to all its neighbors on CCC. As a result, all its neighbors update their neighbor tables.
(a). The free hopping channel list of node A (b). The neighbor discovery process ISSN: 2088-8708  If the destination node within the transmission range of the source node then it negotiates with destination node about the LCs and UCs FHS. To complete the negotiation process, the source node sends a unicast RREQ message to the destination node. The RREQ message contains a special field called REQ_type. If the destination node is a neighbor of the source node then the value of this field is 0. Otherwise, its value is set to 1. In addition, a new field is added to the traditional RREQ message of the AODV to fit the requirement of the cognitive radio environment. This field contains the FLCH at the source node. In such case, source node transmits RREQ message to the destination with format: <source_ip, destination_ip, FLCH, REG_type=0>. Upon receiving the RREQ message, the destination matches its FLCH with the FLCH in the RREQ message. If there is still at least one common LC or UC then it replies with a Route Reply (RREP) message to the source with format: <source_ip, destination_ip, FHS>, where FHS denoting the hopping sequence data structure which contains all the common idle LCs ordered according to their priority and subpriorty fields. In addition, it contains list of the common idle UCs at the end of the LCs order list. A node disseminates a RREQ message with format: <source_ip, destination_ip, FLCH, REG_type=1>.
When it determines that it needs a route to a destination and does not have one available. This can happen if the destination is previously unknown to the node, or if a previously valid route to the destination expires or is marked as invalid [22]. In discover a route phase, unlike to the AODV routing protocol, a source node multicasting a Route Request (RREQ) message to all the nodes in its neighbor table which constructed in the neighbor discovery phase with has_FLC = 1. The reason for multicasting message is that the other SUs neighbors nodes with has_FLC = 0 have no at least a common free idle with the source node. This strategy will minimize the bandwidth consumed for establishing a route to a destination. The source node waits for a certain amount of time for the arrival of RREP messages, otherwise the node considers the destination node to be unreachable and drops the packet. If the source node receives a RREP message, then it updates the routing table. The following changes are made to the routing RREQ and RREP mechanism within the AODV routing protocol. On reception of RREQ message, all the neighbors of the source node follow these steps: 1. If a neighbor has forwarded this RREQ before from the source then it just drops it which resulted in the loops avoidance. 2. If a neighbor has no an active route to the destination, it rebroadcasts the RREQ to its own neighbors after increasing the hop count. 3. If it has an active route to the destination, then it compares its FLCH with the FLCH included in the received RREQ message. Upon the comparison process, one of the following cases will be happens: a. Case 1: If there is still at least one common free with the source node then it can respond to the RREQ by unicasting a Route Reply (RREP) to the source node through the reverse path with following format: ⟨source_ip, destination_ip, FHS, hop_count, AEBP⟩. As aforementioned, the field AEBP contains the summation of EBP of all LCs links which constitute the route from the current node to a destination. The current node updates its routing table by adding a valid route to the source node. b. Case 2: If there is no at least one common free channel with the source node then it drops the RREQ message. 4. If the source node receives multiple RREP then it selects one with the minimum value of the field AEBP.
If all route have the same value of field AEBP, then it selects the node with the minimum number of hops. During the route discovery process, the collected information are stored in a tabular form in a node. This table is called routing table. The information stored in the routing table includes the following data: <destination_ip, next_hop, FHS, AEBPhop_count, sequence_number, TTL, lifetime>. The sequence number is used to detect duplicate RREQ packets. TTL prevents RREQ packets from flooding through the network. For each of the node in the network there is one entry in the table. The next_hop field specifies the IP address of the next node of the path. The FHS specifies the frequency hopping sequence of the next hop node. The sequence_no is included to avoid the looping of paths. The lifetime field indicates the period for which a path is valid. As shown in Figure 2-a, there are three alternatives routes from node A to node S. When node A receives the RREP messages from the nodes B, C and E, it selects the route via node B because this route has the lowest AEBP values between the other routes. The routes via the nodes C and E are maintained in the routing table as backup routes in the case of route failure. These routes are sorted based on the value of AEBP and the hop count number.

Route maintenance
A route maintenance and recovery is far more complex in multi-hop CR ad hoc networks than that in traditional multi-hop multi-channel ad hoc Networks (missing citation). As shown in Figure 2-b, when a link between two nodes A and B is disconnected with the PU appearance, both nodes change to the second free LC according to the FHS. If the second channel is busy, they switch to the third and so on. Should they reach to the last LC in FHS list and that channel is busy, they search for the UCs in the FHS. If there is no free channel in FHS, node A searches its routing table for another route to destination. If there is no route, the session is ended and a RERR (Route Error) message is delivered to the source node. The later searches its  table for another route to destination or re-initiates RREQ if there is no route to the destination in its  routing table. (a). Route discovery for node A (b). Route maintenance mechanism Figure 2. The Process of route discovery and maintenance

SIMULATION ANS DISCUSSION
In this section, the performance of the proposed HCR protocol is evaluated through a simulation study. We implement HCR via a discrete-event simulation which we developed using JAVA platform. Figure 3 illustrates the network topology used in conducted simulation experiment. First, we illustrate th simulation parameters. Second, we evaluate our HCR protocol through comparing it with the Ad hoc ondemand distance vector (AODV) protocol.

Simulation parameters
In Figure 3, the simulation region is square with 300 × 300m , in which 10 SUs and 7 PUs are randomly distributed. Four PU base stations (BSs) are installed to serve four different areas. Each BS utilizes affixed number of LCs in random manner. In addition, each SU has set of data UCs shared with other SUs within the same transmission range. We assume that each SU has always a packet with fixed-size to be send. The packets at each SU is generated using ftp/TCP traffic model. The expected busy period of LCs are calculated using the modified routing metric derived section 4.1.

Int J Elec & Comp Eng
ISSN: 2088-8708  Design and analysis of routing protocol for cognitive radio ad hoc networks… (Hassan Al-Mahdi) 349

Simulation results
The performance of the proposed HCR routing protocol is evaluated in terms of number of failed connections, link maintenance probability, number of successful connections and SU throughput. Figure 4-a illustrates the number of successful connections against the PU traffic load. It is shown that the packet number of successful connections of SUs decreases in both HCR and AODV protocols with increasing the PU traffic load. Moreover, the proposed HCR protocol achieve higher number of successful connections compared to the AODV routing protocol. Figure 4-b illustrates the number of failed connections against the PU traffic load. In this Figure, when the homogeneous environment is used (i.e., LCs only), the number of failed connection increases. On the other hand, when HCR protocol is used, the number of failed connection increases but outperforms the performance of the AODV by 62%. Figures 5-a and 5-b illustrate SU throughput (Kbps) against both the PU and SU traffic load respectively. To make a fair comparison between HCR and AODV, we use the same number of channels for each protocol. However, the type of channel will be different from one protocol to another. For AODV, = 10 and = 0 are used since this protocol operates over the LCs only. For the HCR protocol, = 6 and = 4. The Figures illustrate that the performance of the HCR protocol outperforms AODV in both PU and SU different traffic load. Finally, Figures 6-a and 6-b show the maintenance in our experiments. In the HCR routing protocol, upon a node detects a certain route becomes unavailable, it initiates a local routing process to maintain an alternative route to the next hop. From the Figures, we note that the proposed HCR routing protocol outperforms the AODV routing protocol in both fixed and variant the OU traffic load.

CONCLUSION
In this paper, we developed the HCR routing protocol that formulates and selects stable route based on both licensed and unlicensed spectrum to avoid the interruption of the SUs transmissions due to the sudden appearance of the PUs in the CRMANETs. The details of the HCR and a transmission cost metric based on the LCs busy period are introduced. A mathematical for the PU channel traffic and busy period are introduced. Simulation experiments show that, the proposed HCR outperforms The AODV routing protocol in terms of number of the failed connections, link maintenance probability delay, number of successful connections and SU throughput. From the obtained results, we concluded that, using a combination of channels from LCs and UCs in a route formulation is a better than using homogeneous spectrum (i.e., LC only).