Scholarly article on topic 'A tree routing protocol for cognitive radio network'

A tree routing protocol for cognitive radio network Academic research paper on "Computer and information sciences"

CC BY-NC-ND
0
0
Share paper
Academic journal
Egyptian Informatics Journal
OECD Field of science
Keywords
{"Primary User (PU)" / "Secondary User (SU)" / "Channel assignment" / Routing / "Packet Delivery Ratio (PDR)"}

Abstract of research paper on Computer and information sciences, author of scientific article — Mohammed Hashem, Shrief Barakat, Mahmoud Atta Alla

Abstract Cognitive Radio (CR) technology is an agile solution for spectrum congestion and spectrum access utilization problems that result from the legacy fixed spectrum management policies. CR technology can exploit unused licensed band to meet the increasing demand for radio frequency. The routing process faces many challenges in CR Network (CRN) such as the absence of centralized infrastructure, the coordination between the routing module and spectrum management module, in addition to the frequent link failure due to the sudden appearance of PUs. In this paper we propose a Tree routing protocol for cognitive radio network (C-TRP) that jointly utilizes the tree routing algorithm with a spectrum management module in routing decisions, and also we proposed a new metric used in taking the best route decisions. In addition, we enhance the traditional tree routing algorithm by using a neighbor table technique that speeds up the forwarding data packets. Moreover, we add a robust recovery module to C-TRP to resume the network in case of the link failure. The main motivation in the design of C-TRP is quick data transmission and maximization of date rates. The performance evaluation is carried out in NS2 simulator. The simulation results proved that C-TRP protocol achieves better performance in terms of average “PDR”, “end-to-end delay” and “routing overhead ratio “compared to “CTBR” and “STOD-RP” routing protocols.

Academic research paper on topic "A tree routing protocol for cognitive radio network"

Egyptian Informatics Journal xxx (2016) xxx-xxx

Contents lists available at ScienceDirect

Egyptian Informatics Journal

journal homepage: www.sciencedirect.com

Full length article

A tree routing protocol for cognitive radio network

Mohammed Hashema, Shrief Barakatb, Mahmoud Atta Allab'*

a Faculty of Computers and Information Science, AinShams University, Cairo 11566, Egypt b Faculty of Computers and Information, Mansoura University, Mansoura 35516, Egypt

ARTICLE INFO

Article history: Received 20 February 2016 Revised 15 October 2016 Accepted 31 October 2016 Available online xxxx

Keywords: Primary User (PU) Secondary User (SU) Channel assignment Routing

Packet Delivery Ratio (PDR)

ABSTRACT

Cognitive Radio (CR) technology is an agile solution for spectrum congestion and spectrum access utilization problems that result from the legacy fixed spectrum management policies. CR technology can exploit unused licensed band to meet the increasing demand for radio frequency. The routing process faces many challenges in CR Network (CRN) such as the absence of centralized infrastructure, the coordination between the routing module and spectrum management module, in addition to the frequent link failure due to the sudden appearance of PUs. In this paper we propose a Tree routing protocol for cognitive radio network (C-TRP) that jointly utilizes the tree routing algorithm with a spectrum management module in routing decisions, and also we proposed a new metric used in taking the best route decisions. In addition, we enhance the traditional tree routing algorithm by using a neighbor table technique that speeds up the forwarding data packets. Moreover, we add a robust recovery module to C-TRP to resume the network in case of the link failure. The main motivation in the design of C-TRP is quick data transmission and maximization of date rates. The performance evaluation is carried out in NS2 simulator. The simulation results proved that C-TRP protocol achieves better performance in terms of average ''PDR", ''end-to-end delay" and ''routing overhead ratio ''compared to ''CTBR" and ''STOD-RP" routing protocols. © 2016 Production and hosting by Elsevier B.V. on behalf of Faculty of Computers and Information, Cairo University. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/

licenses/by-nc-nd/4.0/).

1. Introduction

The radio spectrum is a natural resource regulated by international governmental agencies and assigned to licensed operators on a term basis using a fixed spectrum assignment policy [1].

This fixed assignment policy which was adequate in the past. But due to the rapid development of wireless applications and devices, that policy became inadequate according to federal communications commission (FCC) reports [2]. These recent reports [3,4] have shown that the usage of spectrum band is quite low due to waste valuable resources (spectrum bands) in some places. FCC highlights that many spectrum bands, allocated through fixed assignment policies, have the average utilization of such bands varying between 15% and 85% [5].

We can overcome this problem and utilize the unused radio frequency band efficiently by applying the concept of cognitive radio (CR) that has been proposed by Mitola [6]. Mitola has proposed that spectrum holes can be best used by permitting unlicensed

Peer review under responsibility of Faculty of Computers and Information, Cairo University.

* Corresponding author. E-mail address: m3ttaalla@gmail.com (M. Atta Alla).

users to access the spectrum band when the licensed users are not available. The licensed users are called Primary Users (PUs), whereas the unlicensed users are called Secondary Users (SUs) or CR nodes. The PU is the user that has absolute authority and higher priority to use the spectrum band at any time and any place. The SU is the user that uses the spectrum band as a visitor only at the time that PU is not available.

In CR network, a node is equipped with a spectrum agile radio that can monitor, scan the available channels (spectrum sensing), change its configuration parameters and tune its transmitter to a suitable free available channel to use it in the time that PUs are not available and release it when the PUs return back [7].

In this paper, we focus on the routing module in Cognitive Radio Network (CRN). The routing process is the process of finding the best route from a source node to destination node. The routing in multi-hop CRN faces many challenges. First one is the coordination between the routing module and spectrum management module [8]. The second challenge is the frequent link failure [9] due to the sudden appearance of PUs. Therefore, the routing protocol in CRN must have a robust recovery module to resume the network stability.

Any routing protocol consists of three main components: the first one is the routing metric which means the criteria that how

http://dx.doi.org/10.1016/j.eij.2016.10.001

1110-8665/® 2016 Production and hosting by Elsevier B.V. on behalf of Faculty of Computers and Information, Cairo University. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

to choose the best route from source to destination, the second one is the data structure that contains the routing information and third is the messages that exchange between neighboring nodes to share routing information.

Many routing protocols have been proposed for CRN in the last years. Besides the main goal of protecting PU transmissions [10], each protocol is proposed based on different design goals which change the types of previous components. Some protocols seek to decrease ''end to end delay" such as [11], other protocols want to increase the throughput such as [12,13], some protocols are designed to maintain the route stability such as [14,15], and others minimize the cost of route recovery/maintenance [16].

In this paper, our contributions are as follows: first we introduce a tree routing protocol for cognitive radio network (C-TRP) that can deal with the previous challenges. C-TRP effectively coordinates between tree routing module and channel assignment module. Second, we enhance the tree routing algorithm that is used in C-TRP by adding a neighbor table technique. C-TRP employs a neighbor table to reduce the overhead of the routing process in the traditional tree algorithm. The nodes consult the neighbor table before sending packets, up (parents) or down (children) in the tree. If the node finds the destination node in the neighbor table, it will forward packets directly to it; otherwise, it will send packets up or down the tree according to the routing table's data. Third, we also propose the new routing metric that is path-delay. A path-delay includes both switching and queuing delay. A routing metric is used to rank the channels available from end to end. Last, we provide our routing protocol with a robust recovery module to deal with frequent link failure due to PUs activities on channels.

The rest of the paper is organized as follows. Section two describes the related work, section three describes the C-TRP in details, section four presents our performance evaluations and simulation results while section five concludes the paper and future work.

2. Related work

In this paper, we apply a Tree Routing Protocol for cognitive Radio Network (C-TRP). A tree-based routing is used before for large-scale wireless networks. For example, it is used in IEEE 802.16j [17] in which the wireless network type was used in Japan, and the wireless land type operates on 2.4 GHZ band and The Zig-Bee standard [18] for sensor wireless network.

In the Tree-based Routing protocols (TRPs), the links between nodes are controlled by Parent-Child relationships only. The TRP builds a hierarchical and logical map of nodes in the form of a tree from a physical mesh network topology as shown in Fig. 1. The TRP is a hierarchical model routing protocol that has one root node connected by parents' nodes and the children that connected to the root node through its parents. This topology eliminates path search [26] and avoids the extensive broadcast message that occurs in many routing protocols such as ''Ad hoc On-Demand Distance Vector (AODV)" [19].

AODV is the most famous routing protocol in the ad hoc wireless network in general. AODV uses a hop count as routing metric. AODV [20] has two message types. First one is a route request message (RREQ) which is broadcast when a node requires a route. The second message is a route reply (RREP) that is sent from the destination node or intermediate node that has a route to the destination.

The main disadvantage of TRP is that it increases the end to end hop count. We mitigate this disadvantage by using a neighbor table. The neighbor table is not fully utilized in most TRP that used in wireless networks, and also not used in all TRP which is used in

Fig. 1. Physical mesh topology.

CRN such as ''spectrum-tree based on demand routing protocol for multi-hop cognitive radio networks (STOD-RP)" [21] and ''Cognitive Tree-based Routing (CTBR) protocol" [22]. The neighbor table is built once a node starts to join the tree. The node first discovers all surrounding nodes (parents, some other adjacent nodes). The node searches for all available neighbors and finds the best parent to join the tree. The neighbor table must be refreshed periodically. The AODV [20] updates its neighbor table information by exchanging a hello message with neighbors at a specific period.

In this paper, we implement a C-TRP and compare it with the other two related routing protocols for multi-hop multi-channel CRN STOD-RP [21] and CTBR [22] protocols.

In a STOD-RP protocol, the authors proposed the ''spectrum Tree Based On Demand Routing protocol (STOD-RP)". The STOD-RP addresses the problem of the integration between the routing's module with spectrum decision management module. In the STOD-RP, protocol builds one tree for each spectrum and selects one CR node from existing nodes to become the root node. The root node contains all information about the spectrum band (busy -free) states. The root node is selected based on the node which has the largest number of spectrum bands and has the longest period of spectrum availability. The STOD-RP uses statistical PUs activities and SU Quality of Service (QoS) requirements as a metric for route selection.

The drawbacks of STOD-RP: first it runs a proactive tree based routing to establish a route from the node to the root node, and then uses on demand routing discovery to search the destination node, which may cause processing overhead and longer delay. The second drawback is that STOD-RP does not use a dedicated common control channel (CCC) and uses one available channel in each spectrum tree to transmit the data and control messages, which decrease the end-to-end throughput and packet delivery ratio, and does not maintain the stability of network topology due to the dynamic nature of available channels.

Another approach that extends a tree routing algorithm is a cognitive tree based routing (CTBR). A CTBR has enhanced tree based routing to adapt multiple wireless systems. In CTBR, the tree is built by configuring a base station as a tree root node. The root node sends periodically a root announcement (RANN) messages to all nodes. When a node receives RANN message, it caches the parent that sends this message as a potential parent. Then, each node selects one parent from potential parents based on the best path metric from the node to the root node.

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

For registration process, when each node receives the RANN message. It replies by root reply (RREP) message to record itself at the root node. Finally, the root base station builds a tree by registering all nodes in its routing table that can reach to all CR nodes in the topology.

The authors proposed two routing decision schemes for link metric calculation. The first schema is global decision schema. The global decision schema is a metric for route selection from end to end. Whereas the second one called local decision schema, which selects the best interface for transmission, based on least load interface.

The main drawback of CTBR is that the protocol depends mainly on fixed base station configured as a tree root node, and this is not applicable in distributed cognitive radio Network (CRN) environment where the nodes are distributed and communicated in ad hoc way.

3. The proposed routing protocol (C-TRP)

We introduce in this paper an efficient routing protocol called Tree Routing Protocol for Cognitive radio network (C-TRP). In our proposed protocol, the tree structure topology starts by periodically sending out the root advertisement (RA) messages by increasing the sequence number during every advertisement.

Any node listens to the RA message, stores the node for whom it receives the advertisement message as it is a potential parent and rebroadcasts the RA message with updated cumulative cost. After waiting for other RA message arriving from other channels available through the node's interfaces, the node selects best parent node with the best path metric to the root node through all selected root channels, and the metric is associated with RA message.

A node that has a known path to the root node must reply to the root node with node Acknowledgment (NA) message, and root stores the node in its routing table. Each intermediate node that received the NA message forwards to its selected best parent node and at the same time updates its routing table with the source node in NA message. At the end, the Root Node can learn all nodes and build a tree topology to reach any node in the network.

Our proposed C-TRP is communicated among all connected nodes on a spectrum band. Each node executes the C-TRP based on information received from other neighboring nodes. The algorithm chooses a reference point in the network and calculates all the routes to that reference point. When redundant paths are found, the C-TRP algorithm picks one channel by which to forward its messages and disable, or block, forwarding on the other channel to avoid the interference and achieve the fair distribution of spectrum among SUs to let other SU found available free channels. Many works [23,24] have considered the criterion of maximizing throughput fairness among SUs.

As its name implies, C-TRP computes a tree structure that spans all nodes in a specific spectrum band. Redundant channels are placed in a blocking or standby state to prevent data forwarding. The node network is then in interference-free condition. However, if a forwarding channel fails or becomes unavailable (primary user occupies it or other secondary user use it), the proposed algorithm recomputes the spectrum tree topology so that the properly blocked channels can be reactivated (channel switching).

3.1. Node-ID assignment

Each node has its unique Node-ID [14] in spectrum-tree. The Node-ID of node is {A0 A1 ... An}, where A0 is the number of spectrum band in which the spectrum-tree is formed, and it is also the Node-ID of the root in this spectrum tree. (n): is the hop number

away from the root. {A0 A1 ... An - 1} is the node's parent Node-ID (forwarder node). In this way, Node-ID indicates the proactive route to the root node easily.

3.2. The proposed routing protocol (C-TRP) steps

The first step: The C-TRP is started by a root node discovery phase as shown in Fig. 2. In this step, the node broadcasts a Root Advertisement (RA) messages across all channels detected by a node. The RA message contains many fields as shown in Fig. 3.

Each node sends the RA messages from all its channels. At the first, each node considers itself as the Root Node by setting the Root-ID value equals the Node-ID Value. The node sets the value of SeqNo to zero and broadcast the RA message across all available channels. When the CR node receives the RA message, a node compares the information of the message received with the information already in recipient node memory.

Each CR node compares the SeqNo value in RA message received with the value stored in its memory as shown in . SeqNo is the variable number which starts by zero and increments by one at each time when the CR node sends or rebroadcasts RA message. The node that has the highest SeqNo value is selected as a CR root node in the topology. We prefer the node which has highest SeqNo

Fig. 2. C-TRP flowchart.

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

Fig. 3. Root advertisement (RA) message format.

X-Root-ID = X-ID

/* At the start each node assume itself as a root Node */

RA_Receive(SeqNo,Y-ID);

/* X receive RA message from Y node */

IF(Y-SeqNo > X-SeqNo)then

/* X compare SeqNo in RA message from Y node */ X set(X-Root-ID = Y-Root-ID)& X forward RA message to other nodes ;Exit End IF

IF (Y-SeqNo = X-SeqNo)Then

ElselF(Y-Root-ID >X-Root-ID)then /* compare Root Node-ID in The Y RA message */ X set(X-Root-ID = Y-Root-ID)& X forward RA message to other nodes;Exit else drop packet ; Exit

End IF End

Fig. 4. Selecting root node pseudo code.

because SeqNo reflects the length of node's age. The greater node's age leads to maintain the tree stability.

Otherwise, if SeqNo is equal (i.e. CR nodes start of running the C-TRP), then, the node compares the Root-ID value to its Root-ID. The nodes select a node that has the highest Node-ID as a root node. So the root election process is ended by selecting one node that has the highest SeqNo value or the highest Node-ID as a Root node as shown in Fig. 5.

The node updates its Root-ID with the new Root-ID information and floods the message to all neighbors. Sooner, the election converges and all nodes agree on the notion that one of them is the root node. After the root selection procedure finished as shown in Fig. 4, the selected root node becomes the only node which generates the RA message. Intermediate nodes in the tree branches rebroadcast RA when received. Once the RA message is broadcast with the new Root-ID, the tree begins to grow. Once the nodes receive the RA message, they process the following steps: First, the nodes check SeqNO value; Second, if the nodes have a value greater than or equal that is stored in their memory, they execute the reminding steps otherwise the nodes drop the message.

The second step: The purpose of exchanging RA messages: first, the root node election process. Second, if the node is not connected to root node directly, it selects one parent node to reach the Root node called best Parent node as shown in Fig. 2.

Fig. 5. Root node election.

The third step: Selecting root channel, now a reference point has been nominated and elected for the spectrum bands nodes, and each non-root node must figure out to the root node or to best parent. This action can be performed by selecting only one root channel from the available channels on each non-root node as shown in Fig. 6. The continuous lines represent the root channels. The root channel always points toward the current root node directly or indirectly by best parent way.

Our proposed protocol uses the concept of cost or metric to determine the root channel involves evaluating the Root path cost. This value is cumulative cost of all channels leading to the root node. Each node's channel also has a cost associated with it, called the channel node cost. We will explain the path-cost in details in next section.

In this step, the root node starts sending out RA messages with path-cost equal the cost value of each channel that the RA message sends over it. When the neighbor's nodes receive the RA messages, the node performs two steps. The first one the node compares the path-cost value carried in RA message with the path-cost values which is formerly received from other its channels. So each node

Fig. 6. Root channel selection.

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

selects the root channel based on the lowest path-cost one and stores it in the routing table. The second step each node computes the total path-cost by adding the node cost of each channels and floods the new path-cost to all neighbors. The path-cost is incremented along the downstream nodes.

Each node receive RA message it replies with a root node registration message called Node Acknowledgment (NA) message as show in Fig. 7. The NA message is sent to the root node across the root channel to join the tree. All intermediate nodes (between the node and the root node) record the node in their routing table as a child node.

The fourth step: Root node has been identified and each node connects itself toward the root with single root channel which has best path-cost value. A tree structure as shown in Fig. 6 beginning to emerge but links have only been identified at this point.

To remove possibility of interference, achieving fairness, our proposed C-TRP marks the reminding channels as non-root or alternative channels as represented in Fig. 6 by dotted lines. Those channels are switched to disabled state. When the root channel becomes not available, the CR nodes promote the best non root channel from alternative channels to become a new root channel which has the lowest path-cost.

The fifth step: Fig. 8 illustrates the forwarding procedure that happens at each node. When a node receives a data message, the node checks the destination node with its neighbor table. Each CR node keeps a neighbor table which contains all first one hop neighbors' nodes. If the destination node in its neighbor table the node forward the message directly, else the node check the destination node with the information in its routing table to forward the packet down to its children or up to its best parent node toward the root node.

3.3. C-TRP routing metric computations

Our routing protocol uses the path-cost concept or a routing metric of the path to choose the root channel to reach the root node. There are several criteria for assigning channel to CR nodes in cognitive radio networks, and those vary according to target objectives of each algorithm.

The path-cost is a cumulative channel cost that we use from a particular node to the root node. Therefore, we have two cost types: the first one is the reported cost which the node receives from RA messages in path-cost field and the node cost i.e. the total cost is equal to parent's path-cost (reported) plus the node's cost.

In this paper we find that delay plays an important role in information propagation speed. So we use it as a metric in our proposed

Fig. 8. Forwarding strategy pseudo code.

protocol to evaluate the effectiveness of candidate channels to choose one from available channels as root channel at each node. In our previous work [25] ''DCSS: distributed channel selection strategy based on channel weight in multi-hop cognitive radio network", we proposed that the delay at each node can be calculated as a combination of two delay types: channels switching delay Dsmtching and channel queuing delay Dqueueing as shown in Eq. (1):

Delaynode = D.

switching

The switching delay Dswitching [26] is the waiting time which results from swapping between spectrum bands. In [26] study proved that more channels switching would affect the performance negatively. Therefore, in our proposed routing protocol, we try to choose the lowest channel delay. In end-to-end session, packets are sent from one hop to another to reach their destination; therefore, at every hop, the node switches to a different channel based on the channels cost. Hence, it is consequential to take it into our consideration when we need to calculate the cost of the path and the time needed to move between different channels. Most works use a static time for switching delay [27]. Some works estimate the switching delay by the channel switches number; however, these can give reasonable results just if the channels have the same width. In the study [27], the authors prove that the switching delay is from 40 ms to 80 ms.

On the radio spectrum, the switching delay depends proportionally on both the width of the channel and relative positions of the two channels (former and latter). In this paper we use the switching delay as used in [28]. That switching from one frequency band to another could be the order of 10 ms for a 10 MHz step in frequency range 20 MHz to 3 GHz. So we use the following Eq. (2) to compute the switching delay:

Dswitching = rjBandi - Bandj |

Fig. 7. RA and NA messages Flows.

where DSwitching the channel delay time is from frequency band (i) to frequency band (j) and r is constantly equal to 10 ms for a 10 MHz steps in frequency range [28].

The second delay parameter, which is the queuing delay [28] Dqueueing, is the amount of time that a packet spends in waiting

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

for other packets to finish their transmission. If we get the number of contending nodes n on each Band i, then the queuing Delay [28] on Band i is stated as

Numi-1 p

Dqueueing(Bandi) = B (3)

n=1,n-n0 Bi

where Pn packet size in flown, Bi is the bandwidth under Bandi.

From (1)-(3), it is clear that assigning a new active frequency band for the flow results in larger increased Dswitching. On the other hand, letting the flow use existing active frequency band Bandi increases Numi, thus making larger Dqueueing. Then we state the accumulative delay along the route from source node to destination node as

Path - Cost = Delayroute = Y^Delaymde (4)

where S is the source node, R is root node and H hops between S to R. Node assigns appropriate frequency band which achieves minimum Droute, such that the route-wide cumulative delay is minimized.

When the next-closest parent nodes receive the RA message, it adds its node cost to path-cost value and rebroadcasts the RA message with new accumulative path-cost. The path-cost value is incremented by each node along the tree down. Each node chooses the lowest channel to become root channel to send data on it to the root node.

root channel and The node modify root channel in the routing table with the new best root channel.

The second case, if the RA message is received from another parent with the lowest cost, the CR node sends Tree topology change (TTC) message to the Root node via current parent node and each intermediate nodes in the previous path delete the node from their routing table. The node also sends a registration message NA to the new parent and record the new parent in its routing table as new parent.

The third case: the parent node became unavailable. If the CR node does not receive any RA or Hello messages from the best parent node for a certain period (dead interval time), then the node looks up for an alternate parent in its neighbor table. If the neighbor table contains alternate parents, the CR node chooses the best one to become the best parent and sends a NA message via the best channels. If no alternate parents were found in the neighbor table the node, move to step number one again.

4. Performance evaluation and results

In this section, we evaluate the performance of the C-TRP protocol by numerical simulation via network simulator NS-2 [29] with an extension to support multi-hop multi-channel cognitive radio environment. The NS-2 visual trace analyzer [30] is used to analyze the simulation results which are stored in NS-2 trace file. The simulation is carried out under different network settings, environments e.g. channel conditions, number of CR nodes.

3.4. Route recovery block

4.1. Simulation setup

The CR node maintains the tree topology by using three things: Hello message, a neighbor table and dead interval time. The Hello message is the periodic message that exchanges between neighbors in our topology. The Hello message is to ensure the neighbors are still alive. In our proposed protocol, we use a Common Control Channel (CCC) for exchanging the Hello message. We assigned the CCC channel from unlicensed radio bands called Industrial, Scientific, and Medical (ISM) band.

The reason for selecting the CCC from ISM band that we try to reduce the interference with The PUs nodes and we cannot select the CCC channel from licensed band because the dynamic nature of the licensed channel in CR networks. This dynamic nature switches the network to instability status. Every node that receives the Hello message must replies with a Hello message to form the adjacency relationship with this node. The node stores the adjacent node in the neighbor table.

Each Hello message contains Time to Live (TTL) field. The TTL is the number of CR nodes that the message is permitted to reach before it discards. In our proposed protocol, we set the TTL value equal one to reach the first neighbor only. Each node has a dead-interval timer. If a dead-interval is expired and the node had not received Hello from the neighbor, the node deletes the neighbor from neighbor table. The dead-interval timer value is set greater than the hello timer value.

Our proposed routing protocol is an efficient and fast convergence routing protocol. It quickly reacts with tree changes to fast resume the network stability. Our proposed solution has a recovery block's flowchart that is surrounded by a dotted rectangle as shown in Fig. 2.

The tree change can occur in many cases; either ''finding the best new path", ''linking Failure" or ''root channel became unavailable". The first case, the CR node received the RA message with the better path-cost than current path-cost, In this case the CR node checks: If the RA is received from the same parent but from another channel, then the node promotes the new channel to become the

The simulation parameters are summarized in Table 1 that are used for our study. The simulation area is 800 m x 800 m. The number of CR nodes is 250 nodes that are randomly distributed. The range of transmission of CR nodes is 250 m. The PUs activities Times (Ton, Toff) follow an exponential distribution [31] free-busy model. In this model, Ton state indicates the time when the channel is occupied by PUs and Toff state represents the time when the channel is free from the PUs' activities. The average of Toff is E [Toff ] which is set from 100 ms to 600 ms for each channel. Every channel state alternates between the free and busy state. ''In spite of the fact that CR node cannot detect PUs' activities, during the data sending/receiving interval, we model the impact of PUs' activities on SU's transmissions by supposing a 10% packet loss probability (due to collision) If a PU is active during an SU transmission".

We set a pair of CR nodes as source and destinations in different places in the tree selected randomly with minimum distance

Table 1

Simulation parameters.

Parameter name

Simulation area Simulation Time E[Toff ]

Number of CR nodes

Transmission range of CR nodes

Number of channels

Traffic type

Data packet size

Data packet interval

MAC layer

Transport layer

Propagation model

PU checking interval

Hello messages timer

Dead timer

RA messages timer

800 m x 800 m 1000 s 100-600ms 250 nodes 250 m 4

512 bytes Every 50 ms IEEE 802.11 UDP

2-Ray Ground Reflection

Every 5 s

Every 0.5 s

Every 1.5 s

Every 3 s

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

400 m. The Type of connections between the CR nodes is an UDP connection. At each UDP session, we set a constant bit rate (CBR) flow with a packet size 512bytes. The transmission period for each CR node is 50 ms. Each channel has a bit rate equal to 2 Mbps. We use IEEE 802.11 b standard for MAC protocol. The radio propagation type is two-way ground reflection. We performed the experiments five runs. Each run is carried out for 1000 s. The Hello message interval is set to 0.5 s. The RA message interval is broadcast from the root node every 3 s. The dead interval is set three times of hello interval. The process of transmission is triggered after 10 s.

We take both the average value and standard deviation of each metric that are:

• Packet Delivery Ratio (PDR): the ratio between the number of data packets successfully received and those generated.

• Average End-To-End Delay (ETED): is the average of latency time for successfully transmitted packets via a route from end to end.

• Routing overhead ratio: is the ratio between the number of generated control packets and the total number of generated packets.

We evaluate the performance of our proposed protocol (C-TRP) by comparing it with both two protocols STOD-RP [21] and CTBR [22] under identical environment settings using previous four metric.

4.2. Numerical results

In the first experiment as shown in Figs. 9-12, we studied the effect of PUs activity duration on the channel. In this experiment, we change the time available of each channel (i.e. the time when channel free from PUs activity) (Toff) from 100 ms to 600 ms. We set the channel busy time (i.e. the time when channel occupied by PUs activities) (Ton) fixed at 200 ms. The number of channels available is 10 channels. The number of PUs is 10 randomly distributed in the topology.

In Fig. 9 the simulation results indicate that the PDR is decreased when the available time is low (100 ms) and increased when the channel available time increases. The justification of this result is when the channel available time is low the transmission process is interrupted by PUs traffic; on the contrary, when the

♦ C-TBR ■ STOD-RP A C-TRP

E[Toff] ms

Fig. 9. Packet delivery ratio comparison between C-TRP, STOD-RP, and CTBR under different PU activity patterns.

C-TBR ■ STOD-RP A C-TRP

E[T0ff] ms

Fig. 10. ETED comparison between C-TRP, STOD-RP, and CTBR under different PU activity patterns.

CTBR —■— STOD-RP —A— C-TRP

100 200 300 400 500 600

E[Toff] ms

Fig. 11. Routing overhead ratio comparison between C-TRP, STOD-RP, and CTBR under different PU activity patterns.

—♦— CTBR —■— STOD-RP —A— C-TRP

Number Of CR Nodes

Fig. 12. Packet delivery ratio comparison between C-TRP, STOD-RP, and CTBR under different number of CR nodes.

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

channel available time increases at 600 ms the nodes are allowed to locally take a decision to choose the best root channel and forward data packets. In Fig. 9 as shown the C-TRP outperforms other two (CTBR, STOD-RP) protocols because the C-TRP contains a robust recovery module when the channel is occupied by PUs, and the node promotes the next best metric channel to become root channel. This module makes the C-TRP adapt effectively in dynamically channel environment.

In Fig. 10 the ETED is decreased when Toff increased. C-TRP outperforms the STOD-RP and CTBR because the C-TRP takes into account a path-delay as a routing metric. A path-delay is a summation of all intermediate nodes' delay (Sections 3-3.3) from end to end. The node's delay includes queuing delay and switching delay as previously illustrated in Eq. (1).

When the node seeks to forward packets, it balances between assigning new channels and using the currently active channel. If the CR nodes use the new channel, it will avoid the queuing delay but cost the switching delay, else if the CR nodes use the current active channel, it will avoid the switching delay but it will cost the queuing delay. This load balance distributes the traffic load between the available channels that lead to decrease the ETED. On the other hand, the CTBR and STOD-RP use the same channel along the path from end to end.

As depicted in Figs. 11 and 12 when the channel available time increases, the overhead is decreased. The reason is when the channel available time increases, the tree is built becomes stable and consistent, but if channel state frequently changes this makes the routes fail, and in this case the node tries to enter in discovery process and rejoin in the tree and the nodes send more control packets to resume the tree again thus leading to increase overhead ratio.

In the second experiment Figs. 11-14 the C-TRP performance is evaluated and analyzed as a function of CR nodes number. We set the PUs number fixed at 10. The PU activity time Ton and Toff is set as 600 ms.

In Fig. 11 with reference to the PDR, we notice that by increasing the number of CR nodes, the PDR of C-TRP also improved. The reason is that our C-TRP is enhanced by a neighbor table technique. In C-TRP, any CR node in the tree can forward the packet to destination CR node. If the CR node finds the destination node in its neighbors table, it will directly forward the packet to destination else if it does not find it in the neighbor table, it will forward the packet to the root node as illustrated in Fig. 7 thus leading to improvement in the PDR of C-TRP as shown in Fig. 10 compared

♦ CTBR ■ STOD-RP A C-TRP

Number Of CR Nodes

Fig. 14. Routing overhead ratio comparison between C-TRP, STOD-RP, and CTBR under different number of CR nodes.

to CTBR and STOD-RP. In the CTBR and STOD-RP the root node is the only node that can forward the packet to a destination, so when the traffic load increases the root node is congested and this leads to the more packets queued and dropped and affects the PDR.

In Fig. 13 when the number of CR nodes increases, the density of CR nodes in the topology increases, and this leads to the CR node finding many available routes which are unaffected by PUs traffic. The C-TRP selects the best route from these available routes based on the path's delay as we have previously illustrated. So when the number of CR nodes increases, the ETED is decreased.

In Fig. 14 we measure the control overhead ratio as a function of various CR nodes number. The control traffic overhead ratio increases as the number of CR nodes number increases because as the number of CR nodes increases the number of hello messages rebroadcasts more RA and the number of registration messages increases and consequently the overhead ratio increases. On the contrary the STOD-RP and CTBR are using broadcast request messages in the route discovery process and these messages are increased as the number of CR nodes increases; therefore, C-TRP is less overhead than STOD-RP and CTBR.

—♦— CTBR —■— STOD-RP —A— C-TRP

200 250 300 350 400 450

Number Of CR Nodes

Fig. 13. ETED comparison between C-TRP, STOD-RP, and CTBR under different number of CR nodes.

5. Conclusion

In this paper, we propose Tree Routing Protocol for cognitive radio network (C-TRP) to improve the data transmission performance in CRN and channel assignment. First, we enhanced the traditional tree search algorithm (search for the best path) by adding the neighbor table mechanism to reduce the hops count from its end to end. Second, we suggest a routing metric to channel assignment which includes the switching delay and queuing delay. Moreover, we add a robust recovery module to C-TRP that resumes the network when link failure occurs.

We validate the performance effectiveness of C-TRP through ns-2 simulation and compare the performance of C-TRP with existing two routing approaches (STOD-RP - CTBR) under different PUs' activity patterns and different number of CR nodes. The results show that our proposed protocol achieves the lowest end-to-end delay, routing overhead and highest PDR.

In our future work, we will study how we will optimize the performance of our protocol and how to convert the design from one tree into multiple trees to decrease the processing and overhead traffics at root node.

M. Hashem et al./Egyptian Informatics Journal xxx (2016) xxx-xxx

References

[1] Fette B. Cognitive radio technology. Elsevier Inc.; 2006.

[2] Engelman R, Abrokwah KA. Report of the spectrum efficiency working group, Nov. 2002.

[3] Akyildiz I, Lee W, Vuran M, Mohanty S. NeXT generation/dynamic spectrum access/cognitive radio wireless networks: a survey. Comput Networks 2006;50 (13):2127-59.

[4] Cabric D, Mishra S, Willkomm D, Brodersen R, Wolisz A. A cognitive radio approach for usage of virtual unlicensed spectrum. In: 14th IST mobile and wireless communications summit, no. June. Citeseer.

[5] Commission FC. Spectrum policy task force, Technical report, November 2002.

[6] Mitola J. Cognitive radio, Licentiate proposal, KTH, Stockholm, Sweden, Dec. 1998.

[7] Akyildiz F, Laskar J, Li Y. OCRA: OFDM-based cognitive radio networks. Broadband wireless networking laboratory technical report, March 2006.

[8] Ma H, Zheng L, Ma X, Luo Y. Spectrum aware routing for multihop cognitive radio networks with a single transceiver. In: Proc IEEE crown com. p. 1-6.

[9] Cesana M, Cuomob F, Ekicic E. Routing in cognitive radio networks: challenges and solutions. Ad Hoc Networks 2011;9(3):228-48. Elsevier.

[10] Sun Li, Zheng W, Rawat N, Sawant V, Koutsonikolas D. Performance comparison of routing protocols for cognitive radio networks. IEEE Trans Mobile Comput 2015;14(6):1272-86.

[11] Yang Z, Cheng G, Liu W, Yuan W, Cheng W. Local coordination based routing and spectrum assignment in multi-hop cognitive radio networks. Mobile Netw Appl 2008;13(1-2):67-81 (Kluwer).

[12] Wang Q, Zheng H. Route and spectrum selection in dynamic spectrum networks. In: Proc of IEEE CCNC.

[13] Sampath A, Yang L, Cao L, Zheng H, Zhao BY. High throughput spectrum-aware routing for cognitive radio networks. In: Proc of IEEE Crown Com.

[14] Huang X, Lu D, Li P, Fang Y. Coolest path: spectrum mobility aware routing metrics in cognitive ad hoc networks. In: Proc of IEEE ICDCS.

[15] Deng S, Chen J, He H, Tang W. Collaborative strategy for route and spectrum selection in cognitive radio networks. In: Proc of IEEE FGCN.

[16] Filippini I, Ekici E, Cesana M. Minimum maintenance cost routing in cognitive radio networks. In: Proc of IEEE MASS.

[17] Qiu W, Skafidas E, Hao P. Enhanced tree routing for wireless sensor networks. Ad Hoc Networks 2009;7(3):638-50. doi: http://dx.doi.org/10.1016/i, adhoc.2008.07.006.

[18] ZigBee Specification Version 1.0, ZigBee Alliance; 2005.

[19] Perkins CE, Royer EM. Ad hoc on-demand distance vector routing. In: Proceedings of second IEEE workshop mobile computing systems and applications. p. 90-100.

[20] Gomez C, Salvatella P, Alonso O, Paradells J. Adapting AODV for IEEE 802.15.4 mesh sensor networks: theoretical discussion and performance evaluation in a real environment. In: Proceedings of the 2006 international symposium on a world of wireless, mobile and multimedia networks (WoWMoM'06). p. 159-70.

[21] Zhu G, Akyildiz IF, Kuo G. STOD: a spectrum-tree based on demand routing protocol for multi-hop cognitive radio networks. In: Proc IEEE Globecom. p. 1-5.

[22] Zhang B, Takizawa Y, Hasagawa A, Yamauchi A, Obana S. Tree-based routing protocol for cognitive wireless access networks. In: Proc of IEEE WCNC 2007, March 2007. p. 4207-11.

[23] Byun S, Balasingham I, Liang X. Dynamic spectrum allocation in wireless cognitive sensor networks: Improving fairness and energy efficiency. Vehicular technology conference, 2008. VTC 2008-Fall. IEEE 68th, vol. 1. IEEE; 2008. p. 1-5.

[24] Liu G, Zhou L, Xiao K, Yu B, Zhou G, Wang B, et al. Receiver-centric channel assignment model and algorithm in cognitive radio network. Wireless communications, networking and mobile computing, 2008. WiCOM'08. 4th International Conference on, vol. 1. IEEE; 2008. p. 1-4.

[25] Hashem M, Barakat SI, Atta Alla MA. DCSS: distributed channel selection strategy based on channel weight in multi-hop cognitive radio network. Int J Intell Comput Inform Sci 2016;16(2).

[26] Di Felice M, Chowdhury K, Kim W, Kassler A, Bononi L End-to-end protocols for cognitive radio ad hoc networks: an evaluation study. Perform Eval 2011;68(9):859-75.

[27] Wang J, Huang Y. A cross-layer design of channel assignment and routing in cognitive radio networks. In: Computer science and information technology (ICCSIT), 2010 3rd IEEE international conference on. p. 542-7.

[28] Draves R, Padhye J, Zill B. Routing in multi-radio, multi-hop wireless mesh networks. In: Proc. 10th annual international conference on mobile computing and networking - MobiCom '04. p. 114.

[29] The VINT Project. The Network Simulator -NS-2 Available at: <http://www.isi. edu/nsnam/ns/index.html>; 1995.

[30] Rocha F. NS2 visual trace analyzer Available at: <http:// nsvisualtraceanalyzer.wordpress.com>; 2012.

[31] Hashem M, Barakat S, AttaAlla M. Distributed channel selection based on channel weight for cognitive radio network. In: Computer engineering conference (ICENCO), 2014, 10th international (ICCSIT), IEEE international conference, Available: IEEE Xplore, <http://www.ieee.org>, http://dx.doi.org/ 10.1109/ICENCO.2014.7050442.