multicasting in cognitive radio networks: algorithms, techniques and protocols

18

Click here to load reader

Upload: quratulain

Post on 16-Apr-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

Review

Multicasting in cognitive radio networks: Algorithms, techniquesand protocols$

Junaid Qadir n, Adeel Baig, Asad Ali, Quratulain ShafiSchool of Electrical Engineering and Computer Science (SEECS), National University of Sciences and Technology (NUST), Pakistan

a r t i c l e i n f o

Article history:Received 12 November 2013Received in revised form5 July 2014Accepted 21 July 2014Available online 1 August 2014

Keywords:MulticastingCognitive radio networksRouting

a b s t r a c t

Multicasting is a fundamental networking primitive utilized by numerous applications. This also holdstrue for cognitive radio networks which have been proposed as a solution to the problems that emanatefrom the static non-adaptive features of classical wireless networks. A prime application of cognitiveradio networks is dynamic spectrum access, which improves the efficiency of spectrum allocation byallowing a secondary network, comprising secondary users, to share spectrum licensed to a primarylicensed network comprising primary users. Multicasting in cognitive radio networks is a challengingproblem due to the dynamic nature of spectrum opportunities available to the secondary users. Variousapproaches, including those based on optimization theory, network coding, algorithms, have beenproposed for performing efficient multicast in cognitive radio networks. In this paper, we provide a self-contained tutorial on algorithms and techniques useful for solving the multicast problem, and thenprovide a comprehensive survey of protocols that have been proposed for multicasting in cognitive radionetworks. We conclude this paper by identifying open research questions and future research directions.

& 2014 Elsevier Ltd. All rights reserved.

Contents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452. Background: wireless multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1. Multicasting basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.1.1. Multicast group based classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.1.2. Forwarding structure based classification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.2. Multicasting goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.3. Why multicasting in CRNs is challenging? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.3.1. Challenges unique to multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.3.2. Challenges due to the wireless medium. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.3.3. Challenges introduced by CRNs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3. Algorithms and techniques for wireless multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.1. Graph theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.1.1. Source based algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.1.2. Center based algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.1.3. Steiner tree based algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.2. Network coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.3. Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.3.1. Linear programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.3.2. Integer programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.3.3. Convex optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.3.4. Dynamic programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Contents lists available at ScienceDirect

journal homepage: www.elsevier.com/locate/jnca

Journal of Network and Computer Applications

http://dx.doi.org/10.1016/j.jnca.2014.07.0241084-8045/& 2014 Elsevier Ltd. All rights reserved.

☆This work has been supported by Higher Education Commission (HEC), Pakistan, under the National Research Program for Universities (NRPU) programme Project ref.no. 20-1639.

n Corresponding author.E-mail addresses: [email protected] (J. Qadir), [email protected] (A. Baig), [email protected] (A. Ali), [email protected] (Q. Shafi).

Journal of Network and Computer Applications 45 (2014) 44–61

Page 2: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

3.3.5. Nonlinear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.3.6. Constrained nonlinear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.3.7. Heuristic nonlinear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.4. Machine learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.4.1. Reinforcement learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.5. Game theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544. Protocols used for wireless multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.1. Metric based classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2. Technique based classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.2.1. Network coding based multicasting protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.2. Optimization-based multicasting protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.3. RL based multicasting protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2.4. Game theory based multicasting protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.3. CRN specific multicast protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3.1. PU-aware resilient multicasting for CRNs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3.2. Multicast scheduling protocols in CRNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3.3. Other CRN multicast protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5. Open research issues and future directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.1. Incorporation of AI into multicast frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.2. Building reliable multicast routing protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.3. Incorporation of spectrum modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.4. Incorporation of extra degrees of freedom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

1. Introduction

Cognitive radio networks (CRNs), networks of nodes equippedwith cognitive radios (CRs), promise to revolutionize modernwireless networks by incorporating intelligence into its core(Akyildiz et al., 2009). CRs have themselves evolved from theconcept of software-defined-radios (SDRs) that allowed a networkto adapt to network conditions and user requirements in runtimewith software changes only. CRs extend this concept to allow anode to observe its environment and to adapt to it throughlearning and cognition. A major use-case of CRNs is employing‘dynamic spectrum access’ (DSA) to improve the wireless spectrumutilization. DSA has captured the fancy of industry, regulators, andacademia as it promises to remedy the problem of inefficientspectrum utilization brought upon by the historical command-and-control approach to spectrum allocation. The main failing ofthis static spectrum allocation approach, which licensed specificportions of the radio spectrum to specific applications for exclu-sive usage, became apparent as more and more wireless technol-ogies clamored for any available spectrum. It was observed thatwhile most of the wireless spectrum was licensed, thereby beingoff-limits for newer innovative technologies that required spec-trum as their lifeline, the spectrum was hardly utilized through aquirk of static spectrum policy and licensed user's bursty commu-nication nature. DSA promises to solve this problem of ‘artificialspectrum scarcity’ by allowing secondary users (SUs) access to thelicensed spectrum subject to the condition that it does not causeany interference for the licensed, or the primary, users (PUs).

Multicasting or group communication is a fundamental net-working primitive utilized by numerous wireless networkingapplications. Some envisioned applications include support ofmultimedia applications (such as video conferencing), file distri-bution, news or update dissemination (Paul and Raghavan, 2002;Sahasrabuddhe and Mukherjee, 2000). Multicasting subsumes themodels of unicast transmission and broadcast transmission in itsparadigm by varying the receiver group from the one extreme of asingle receiver to the other extreme of all the network nodes asreceivers.

Multicasting over wireless networks is a significant but chal-lenging goal in the field of networks, which requires a lot of issues

to be addressed like bandwidth, topology, loss of packets, routing,reliability, security issues and quality of service, before it can bedeployed. Providing a trade-off between stability, throughput andpacket loss with reduced bandwidth requirement and less powerconsumption is the main aim of multicast in wireless networks(Quinn and Almeroth, 2001). Furthermore, multicasting is challen-ging in CRNs due to the dynamically changing topology of CRNs.CRNs often have to operate in unknown radio environments, withthe topology of a secondary network depending critically on thetemporal and spatial aspects of PU arrivals. This can lead to ascenario where the various CRN nodes have a heterogeneous set ofchannels available. This complicates the problem of multicast asthe channel heterogeneity may mean lack of a common channelbetween neighbors (Akyildiz et al., 2006). More detailed analysisof routing challenges for multi-hop CRNs is provided in Senguptaand Subbalakshmi (2013).

In this paper, we provide a tutorial on the general algorithms,techniques, and protocols that have been proposed for the wirelessmulticast problem, particularly, with a focus on CRNs. While thereare numerous survey articles on wireless multicast (Varshney,2002), optimization problems in multicast (Oliveira and Pardalos,2005), algorithm issues in multicast (Winter, 1987), this is the firstwork that coherently synthesizes necessary background fromfields like optimization theory, network coding theory, algorithms,game-theory, machine-learning in the form of unified tutorial andfollows it up with a survey of existing work on multicast in CRNs.We also provide a survey of the state-of-the-art in the field ofmulticast routing in CRNs, and highlight the open researchchallenges in this area.

Organization of the paper: The rest of the paper is organized asfollows. We provide the necessary background on multicasting,including defining basic terminology, various categories of multi-casting approaches, and challenges of multicasting in Section 2.We then provide a self-contained tutorial on various algorithmsand techniques from diverse fields such as graph theory, networkcoding, optimization, machine learning, and game theory inSection 3. A detailed survey of multicasting protocols proposedfor CRNs is then provided in Section 4, followed by articulation ofopen research issues and future research directions in Section 5.Finally, this paper is concluded in Section 6.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 45

Page 3: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

2. Background: wireless multicasting

Before coming to our focused topic of algorithms, techniquesand protocols for multicasting in CRNs, it is important to establishsome background in the broad area of wireless multicasting.In this section, we will introduce some basic multicasting terminol-ogy and concepts, multicasting goals, and challenges for efficientmulticasting in CRNs in Sections 2.1–2.3, respectively.

2.1. Multicasting basics

The basic components of a multicast routing frameworkinclude sources, receivers, and groups having straightforwardinterpretations. The originator of the data stream is called a‘source’ while the end-user that wishes to receive the data streamis called a ‘receiver’. Receivers that share a common interest arepooled together in a multicast ‘group’. In multicast routing, thesource is interested in transmitting its data stream to a group ofhosts (Rosenberg, 2012).

When there is a single receiver node, the routing problem isknown as unicast routing which is typically solved by computing ashortest path between the source and the receiver. On the otherextreme, the problem of transmitting the stream from the sourceto all the node in the network is known as broadcast routing orsimply broadcasting. Multicasting subsumes unicasting and broad-casting as a special case, and addresses the problem of reaching agroup of nodes that collectively represent the destination.

To understand the various approaches that may be adopted toensure packet delivery to a group of nodes, consider a simpleexample. Consider a multicasting example in which a source nodes wishes to send a stream of bandwidth b to a group comprising gother network nodes. A rather inefficient approach of doing this,known as unicast replication, is to have s create g copies of thestream, i.e., a copy for each of the g receivers, and to send each ofthese copies towards its destination node amongst the g receiversusing unicast. This approach is viable only when b and g are smalland the intention is to avoid the overhead of implementing amulticast routing protocol. The disadvantage of using unicastreplication is that there would be (unnecessarily) increased con-sumption of bandwidth and general network resources.

For point-to-multipoint group communication, multicastingcomes across as the most efficient manner of communication.Different from replicated unicast, if a node is transmitting tomultiple receivers through the same downstream neighbor, onlyone transmission is used in multicasting thereby suppressing theunnecessary redundancy and overhead. The efficiency or gain ofmulticast in terms of network resource consumption compared tounicast has been studied in Van Mieghem et al. (2001). Moreover,multicast also avoids the inefficiency of broadcasting when only agroup of nodes are intended receivers by sending data only to theinterested nodes by creating multicast groups (Varshney, 2002).

2.1.1. Multicast group based classificationThe conception of multicast group is an essential part of the

overall multicasting framework. A multicast group can be static ordynamic: in the former category, the group composition cannot bechanged once decided, while the latter category allows membersto be added or removed at any time. The task of routing is morechallenging for the case of dynamic groups since it is not known inadvance which nodes will be added or removed (Oliveira andPardalos, 2005).

Multicast groups can also be classified according to the relativenumber of users: in sparse groups, the number of participants issmall compared to the number of nodes in the network, while forpervasive or dense groups, most of the network nodes are engaged

in multicast communication. Alternatively, groups can be classifiedon the basis of its openness: closed group allows only groupmember senders to send data, while in an open group the sendermay or may not be a member. Finally, groups can be classified onthe basis of their permanency: permanent groups are everlastingand exist longer than transient groups (Deering, 1988).

2.1.2. Forwarding structure based classificationMulticast protocols are broadly classified into the following

two types.(1) Tree-based protocols: In graph-theoretic terminology, a tree

on a graph is defined as a subgraph. Tree-based multicastingprotocols work by constructing a tree on the overall connectivitygraph which connects together the multicast group in an acyclicsubgraph. In a tree structure, each node can reach any other nodethrough a single path. Trees have been widely deployed in wirednetworks for establishing shortest path routing: with such a treebeing called a shortest-path-tree (SPT). Although they ensureefficient data forwarding for wireless networks, they are proble-matic for unreliable wireless networks due to lack of robustnessassociated with the fragile tree structure. In case of a link failure, atree has to be recomputed because there is no alternative pathpresent. Trees are well-suited for networks with relatively statictopology (such as wired networks, or wireless mesh networks tosome extent), but are not as suited for dynamic topologies (such asmobile ad hoc networks or MANETs, and CRNs). Tree-basedprotocols can be further classified into source-based and shared-based tree protocols (Paul and Raghavan, 2002).

There are fundamentally two distinct approaches to construc-tion of multicasting trees: using (i) ‘shortest path trees’ (SPTs), or(ii) minimum cost trees (MCTs). The former approach minimizesthe distance of each receiver from the sender, while the latterapproach aims to minimize the tree's overall edge cost (Nguyen,2008).

The Source-based approach works by constructing a SPT rootedat the source node. Since the source-based trees are custom builtfor each source, the receivers in the multicast tree typically receiveexcellent QoS (as the receivers are connected to the source viashortest paths) at the cost of the usage of extra network resources.The problem with source based trees is mainly in its lack ofscalability to large networks.

The Core-based approach, on the other hand, typically uses MCTalgorithms such as the minimum Steiner trees (MSTs) to minimizethe overall edge cost of the multicast tree. In the core-based tree(CBT) approach, a single tree is constructed for each group,regardless of the multicast source (Ballardie et al., 1993), toaddress the scalability problem faced by source-based trees. Thecore router receives all the messages as unicast transmission, andthen forwards packets to all the ongoing interfaces of the treeexcept for the incoming one. CBT is able to conserve networkbandwidth since it does not utilize flooding. The CBT is also able toscale to large networks since it utilizes a shared tree that haslimited overhead. The drawback of a CBT approach is that since thetree is not customized to each source, the receivers will typicallyhave non-optimal routes and QoS.

(2) Mesh-based protocols improve upon the fragility of tree-basedstructures by allowing multiple paths to exist between the source andthe receivers. Mesh-based protocols avoid recomputation of trees onthe failure of a link (which may be due to node mobility or PU arrival)and can instead rely on alternate paths that are part of the originalforwarding structure. This introduces some robustness to link failuresmaking mesh-based protocols more suited to wireless networkswith dynamic topologies and network conditions (such as MANETsand CRNs). The drawback of mesh-based protocols is the higher

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6146

Page 4: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

computational and message overhead involved with managing theforwarding structure (Sahasrabuddhe and Mukherjee, 2000).

2.2. Multicasting goals

In wireless networks, multicasting can have various perfor-mance goals. In particular, it is important to provide high quality ofservice (QoS), energy-efficient performance, and to ensure relia-bility and security. We discuss these performance goals next.

Quality of Service (QoS): A number of popular applications, suchas teleconferencing, distance learning, and file caching and dis-semination, exploit multicast transmissions while requiring acertain minimum QoS for satisfactory performance. To supportsuch applications, providing network support for scalable group-based applications with strict QoS requirements becomes essen-tial. Various metrics (such as end-to-end delay, jitter, loss, andthroughput) can be used to quantify the quality of service. Theinterested reader is referred to the survey (Striegel andManimaran, 2002) for more details about the issues relating toQoS-based multicasting.

Power consumption: In wireless networks, the choice of thetransmitting power level is linked with a crucial tradeoff betweenthe reach and interference of a particular transmission. If thetransmit power is increased, more of the neighboring receivers canbe reached in a single-hop. This, however, comes at the cost ofincreased interference to other neighboring nodes that are not theintended receivers (Wieselthier et al., 2000). In a CRN, thesecondary nodes have to ensure that their transmissions do notinterference with any PU. Another consideration impacting thechoice of transmit power deals with node mobility as commonlymobile nodes have limited power resources thus motivatingenergy-efficient multicasting approaches. An efficient multicastingprotocol must take into account all these issues. As an examplework, Thomas et al. presented a cognitive energy efficient multi-casting approach that increases the lifetime of a multicast flow bycontrolling the antenna directionality, transmission power, androuting tables of network nodes (Thomas et al., 2007). A compre-hensive survey on energy efficient wireless multicasting protocolscan be seen at Gupta and Wang (2005).

Reliability and security: Ensuring reliability and security ofmulticast routing is complicated by the broadcast nature ofwireless channels and the multicast group dynamics (throughwhich nodes can join and leave groups at any time) (Akyildiz et al.,2006; Moyer et al., 1999). It has been pointed out in literature thatARQ-based mechanisms, which require ACKs to be sent inresponse to a valid received packet, do not scale well for multi-casting and broadcasting applications. Ensuring reliability andsecurity is an important goal for multicasting protocols in CRNsand must be carefully considered by protocol designers.

2.3. Why multicasting in CRNs is challenging?

To fully exploit the benefits of multicasting in CRNs, it isimportant to surmount the considerable challenges that accom-pany it. Before describing the various CRN specific multicastingprotocols proposed in literature in Section 4.3, we will describe thevarious challenges associated with multicasting in CRNs in thissection. We will divide the challenges into general challenges ofmulticasting, challenges due to wireless networks and challengesimposed by the cognitive environment.

2.3.1. Challenges unique to multicastingOptimal solution to the problem of multicasting is considered

difficult even in centralized conditions with distributed multicast-ing being correspondingly more difficult. For example, the problem

of optimally packing Steiner trees to find maximum multicast flowis NP-hard (Hodgskiss, 2000). Another significant challenge ismanaging dynamic multicast groups which results in a highlydynamic topology which creates problem due to the need ofrecomputation of the multicast forwarding structure. It is desirablethat the group dynamics should not affect the way data is deliveredcurrently to members that remain in the group (Diot et al., 1997).Although, calculating an optimal multicast route is already adifficulty problem, maintaining route optimality after changes inthe group and network complicates it further significantly (Diotet al., 1997).

2.3.2. Challenges due to the wireless mediumBroadly speaking, there are three main challenges posed by

wireless networks to the problem of efficient multicasting. We willdiscuss these next.

(i) Wireless broadcast advantage: Unlike wireline networks, atransmission in wireless medium reaches all nodes in the trans-mission range simultaneously (assuming omnidirectional anten-nas). This is known as the ‘wireless broadcast advantage’ (WBA) orthe ‘wireless multicast advantage’ (WMA) (Wieselthier et al., 2000).While exploiting WMA can result in lesser number of distincttransmissions than what would be required in an equivalent wirednetwork, WMA is not really an advantage when it comes todevising polynomial-time optimal algorithms for multicasting.In contrast, the multicast ‘advantage’ makes the multicasting pro-blem much harder. As an example, the minimum energy broadcastproblem—which is tractable and is solved easily for wirelinenetworks through various algorithms devised for calculating theminimum spanning tree (MST)—is NP-complete in the context ofwireless networks (Liang, 2002; Lun et al., 2005a). We reiteratehere that the broadcasting problem is a special case of the multi-casting problem (where the multicast group contains all thenetwork nodes). This implies that the multicast problem is atleast as complex the broadcast problem, thereby motivatinginterest in development of heuristic multicasting algorithms(Wieselthier et al., 2000).

(ii) Interface diversity: Many wireless technologies can currentlysupport provisioning of multiple radio interfaces on the samenode. The use of multi-radio interfaces introduces ‘interface-diversity’ which allows multiple simultaneous transmissions on anode through these multiple interfaces tuned to orthogonalchannels. It has been shown in previous work that exploiting theradio diversity can significantly improve routing performance bothin the case of unicast (Draves et al., 2004) and broadcast (Qadiret al., 2006a).

(iii) Rate diversity: Another feature of modern wireless technol-ogy is the use of adaptive modulation to provide the ability totransmit at multiple link-layer transmission rates. As an example,IEEE 802.11b nodes support transmission at link-layer rates of 1, 2,5.5 and 11 Mbps. This ‘rate-diversity’ provides an extra degree-of-freedom that should be incorporated into the design of multicastingframework. Although it is commonly assumed that multicasting andbroadcasting will only utilize the lowest link-layer rate for transmis-sion (with which maximum neighboring nodes can be reached),previous work has shown the benefit of using rate-diversity in thechoice of link-layer transmission rate for both multicast (Qadir et al.,2006b) and broadcast (Chou et al., 2006).

2.3.3. Challenges introduced by CRNsCRNs are very dynamic in nature. Topology changes in CRN

depend upon the location and activity of the PUs. These frequentchanges cause a number of problems for multicasting in CRNscompared to multicasting in traditional wireless networks. Chan-nel heterogeneity is one such problem, where two neighboring

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 47

Page 5: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

nodes may not have a common channel available and they have touse different channels for multicasting. Thus as a result, a singlemulticast transmission is broken into many small unicast trans-missions introducing significant switching delay. Achieving routestability is another problem, as CR transmissions need to beinterrupted whenever a PU activity is detected. Routing algorithmshould be capable of dealing with such changes and adaptaccordingly. Interestingly, there has been work that has shownthat the multicast capacity of the secondary network, as well asthe primary network, can theoretically achieve the same perfor-mance bounds as if they were standalone networks (Wang et al.,2009). However, to achieve these performance bounds, the majorchallenges in multicasting in CRNs must be addressed. In theremainder of this section, we will describe four major challengesposed by CRNs:

(i) PU dynamics: In CRNs, whenever a PU starts communicatingin the vicinity of a SU, the SU is required to vacate the channel andinstead look for another channel not occupied by the PU. FrequentPU arrivals can lead to a highly dynamic network due to thespectrum mobility associated with the PU dynamics which cancause frequent temporal connection losses for SUs thereby ser-iously impacting their performance. Therefore, deployment ofmulticasting becomes even more challenging with channel avail-ability being dependent on both time and location (Almasaeid andKamal, 2010). This results in different sets of idle channelsavailable at various SUs, making transmission coordination extre-mely exigent.

(ii) Channel diversity: In order to perform transmission coordi-nation in CRNs, a common control channel (CCC) is commonlyused for exchanging control information between SUs. The CCCdesign originates frommulti-channel wireless networks, but whendeployed in cognitive networks, it needs to address a number ofadditional challenges such as ensuring: robustness to PU activity,sufficient coverage of the CCC, and security of the CCC (Chachulskiet al., 2007). Unless, there is a dedicated radio interface tuned tothe CCC, the problem of ‘deafness’ can arise and lead to coordina-tion problems. A detailed discussion of issues relating to the use ofCCC in CRNs is provided in Lo (2011).

(iii) Spectrum heterogeneity: The random and arbitrary nature ofPU arrivals on various licensed channels can significantly complicatethe problem of routing in CRNs. This implies that the spectrumavailable to a given SU is contingent on the activity of PUs at thegiven time in its range. The spectrum availability is likely to bedynamic (i.e., time-varying) and heterogeneous (i.e., not the samechannels are available at all nodes) across the SUs in CRNs (Senguptaand Subbalakshmi, 2013). Also, unlike traditional wireless networksthe channels used are typically from the same spectrum band, it ispossible that CRNs are operating on heterogeneous channels fromdiverse spectrum bands having distinctly different transmissionproperties (Sengupta and Subbalakshmi, 2013).

(iv) Spectrum opportunity: It has been shown in literature (Renet al., 2009) that detecting spectrum opportunities is not equivalentto detecting PU signals. In particular, the existence of a spectrumopportunity requires that (i) the transmission of a SU transmitter isnot ‘harmful’ to PU receivers; (ii) the reception at the SU receiver issuccessful. Intuitively, a channel provides a spectrum opportunity toa pair of SUs if they can communicate successfully without violatingthe interference constraint (that ensures PU transmissions andreceptions are not interfered with). This implies that ‘spectrumopportunity’ defines an asymmetric1 concept local to a particularsecondary transmitter and its receiver(s). Thus, the simple detectionof a PU transmitter's signal does not necessarily imply that SUs

must not access the spectrum since there may be no PU receivers inthe vicinity of the SU transmitter. Another key takeaway is thatspectrum opportunities depend on both transmitting and receivingactivities of PUs. Moreover, the task of detecting spectrum dependsalso on (i) the transmission powers and (ii) the geographicallocations of PUs and SUs.

This has significant implications for the problem of multicast inCRNs. For example, if a SU uses high transmission power to reach alarge group of receivers, it may have to wait longer to ensure thatno PU receiver is active in the resulting larger interference region;on the other hand, transmitting with lower transmission powerwill reduce the chances of interrupting with PU reception but mayresult in more transmissions—each of which is now able to reachlesser number of receivers individually due to the reducedtransmission power. This highlights the potential tradeoff asso-ciated with the ‘power diversity’ or the ability to transmit atdifferent transmitting power. A similar tradeoff is associated withthe ‘rate diversity’ of modern wireless networks in which a lowerrate transmission has a larger reception area while higher ratetransmissions can be decoded reliably in a shorter range.

3. Algorithms and techniques for wireless multicasting

Various algorithms and encompassing techniques have beenused in the design and analysis of wireless multicast. In particular,the techniques of the field of graph theory have been extensivelyapplied to solve various routing problems in networking. In recenttimes, network coding has also emerged as an informationtheoretic framework that can be used to increase performanceparticularly for multicasting in wireless networks. With CRNsrepresenting a network with very dynamic conditions, there isalso interest in applying algorithms and techniques from optimi-zation and decision theory to providing adaptive functionality.In this section, we survey the landscape of these algorithms andtechniques of graph theory, network coding, and decision makingframeworks such as optimization, machine-learning, and gametheory in Sections 3.1–3.6, respectively.

3.1. Graph theory

Multicasting has been an active area of research for manydecades and numerous techniques from graph theory have beenproposed for the construction of multicast routes. In a classicpaper, Diot et al. (1997) described the basic multicasting algo-rithms in three categories: source-tree based, center-tree based,and Steiner-tree based algorithms (Oliveira and Pardalos, 2005).These techniques are discussed next.

3.1.1. Source based algorithmsFor source-based routing, the routing tree created for each multi-

cast group is rooted at the source node. Some implementations ofthis scheme utilize the reverse path forwarding (RPF) algorithm toensure loop-free forwarding of multicast packets. The RPF algorithmhas been shown to perform poorly for small multicast groups(Oliveira and Pardalos, 2005). Source based routing techniques canalso utilize Steiner tree-based methods to focus on minimization oftree cost (Oliveira and Pardalos, 2005).

3.1.2. Center based algorithmsIn contrast to source-based routing, center-based tree, or the

core-based tree (CBT), algorithms utilize single unique shared treefor all group communication regardless of the source. The center-based algorithms construct a tree rooted at a special root nodeknown as the center node, or the core node, through which all thegroup communication is managed. The center node is computed to

1 A channel that is an opportunity for a particular transmitter and receiver maynot be opportunity if the transmitter/ receiver roles are reversed.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6148

Page 6: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

have some special properties such as being the closest to all othernodes (Oliveira and Pardalos, 2005). Contrary to shortest-path-trees(SPT) used for source-based trees, the path between two groupmembers in a CBT is not guaranteed to be the shortest. Furthermore,calculating the center node is a hard problem, although approxima-tions have been proposed (Oliveira and Pardalos, 2005).

3.1.3. Steiner tree based algorithmsA Steiner tree is a tree that interconnects a particular subset of

the vertex set with minimum aggregate cost. While the Steinerproblem for connecting a source with a multicast group apparentlylooks identical to the minimum-spanning-tree problem involvingthe same set of nodes, the difference is that the Steiner tree canincorporate other non-multicast-group vertices (the so-calledSteiner points) and edges to produce the shortest interconnectbetween the source and the multicast group.

The Steiner tree is well-known to be a computationally com-plex problem and has been shown to be NP-complete (Winter,1987). Also, since the edges are undirected, it is applicable only ifwe assume symmetric links. Another inefficiency is that it is amonolithic algorithm. Unlike incremental algorithms, monolithicalgorithms have to be run every time there is a change in topologyor costs. Although, it is aimed at a centralized computation,heuristic implementation can be distributed (Diot et al., 1997;Bezenšek and Robič, 2013). Due to its complexity, a lot of attentionhas focused on deriving approximate solutions to this problem(Takahashi and Matsuyama, 1980; Waxman, 1988; Hauptmann andKarpinski, 2013).

The problem of routing with static multicast groups in wirednetworks is often formulated as a Steiner tree problem (Oliveiraand Pardalos, 2005). In a wired network, multicast packets aretransmitted over the tree edges independently (i.e., each outgoinglink requires an independent transmission). Thus, the Steiner tree(which minimizes the overall aggregate cost of all the tree'sindependent links) is an adequate model for wired multicast.

Extension of Steiner trees to wireless networks: Due to itscharacteristic WBA, the wireless multicasting problem is signifi-cantly different from the traditional multicasting problem in wirednetworks, and the wired multicasting approaches cannot bedirectly applied to wireless networks. For wireless multicasting,the Steiner connected dominated set (SCDS) model has beenproposed as a viable approach (Torkestani and Meybodi, 2011).The minimum SCDS problem was first proposed as a general-ization of the well-known concept of a connected dominating set(CDS) by Guha and Khuller (1998), and was applied to the problemof multicast in ad hoc networks by Ya-feng et al. (2004).

3.2. Network coding

While routing was long viewed as the only primitive availablefor successfully operating multi-hop networks, it has been dis-covered that allowing intermediate nodes to diversify beyond thesimple primitive of store-and-forward routing can actuallyimprove performance. This discovery was first articulated in theseminal work of Ahlswede et al. (2000). This paradigm, known asnetwork coding (NC), equips intermediate nodes with the ability ofcombining incoming packets and applying algebraic operations onreceived data before forwarding. The receiving node is thenpresented with a set of network coded packets as well as theinformation required for retrieving the original information. Net-work coding is considered a very attractive alternative to routingin settings like application-layer overlay networks and multi-hopwireless networks (Lun et al., 2006).

To develop an intuition for how network coding works, we referthe reader to Fig. 1 representing a simple wireless network in which

two nodes X and Y are connected through an access-point (AP).2

Both the end nodes X and Y intend to send their packets, named xand y respectively, to the other node. In the traditional approach,this will require four transmissions as shown in Fig. 1. NC-basedapproach, however, exploits the WBA to suppress an extra trans-mission by transmitting a single coded packet (determined throughan XOR operation on X and Y). Due to the WBA, this packet isreceived by both the nodes X and Y, and since these nodes alreadyknown their own respective packet contents, they can easily recoverthe other packet. While we have used XOR operation as the codingchoice at intermediate node for ease of exposition, in general, moreelaborate algebraic coding operations (e.g., linear network coding)can be used to recombine several input packets into one or moreoutput packets (Fragouli et al., 2006). Intuitively, NC improvesnetwork efficiency through extra computation at the end nodes.This tradeoff is appealing due to the increasing need of efficientnetwork bandwidth and since processing continues to becomecheaper and powerful riding Moore's law.

While NC was originally proposed for multicasting in a wirelinesetting, it turns out that wireless applications are even more suited toan NC scheme. This stems from the observation that NC naturallythrives when dealing with two characteristics of wireless links (itsunreliability and its broadcast nature) that complicate the wirelessrouting problem (Deb et al., 2005; Lun et al., 2005a). Interestingly, NCis useful for multicasting application both in lossless and lossywireless settings (Lun et al., 2005a). It was shown that for losslessnetworks (i.e., idealized networks with broadcast links that areeffectively lossless), NC can achieve the maximum possible multicastrate. Since NC allows joint use of network resources by multiple sinknodes, any rate possible for all sinks individually is simultaneouslyachievable for all sinks together (Ho and Lun, 2008). In losslesssetting, the main utility of NC over routing is for multicast, while forsingle unicast sessions, NC provides no extra benefit. For lossynetworks, NC, particular random linear NC, provides better perfor-mance than routing for both single unicast and multicast sessions(Lun et al., 2005a). It has been shown that for a given codingsubgraph, random linear NC achieves the capacity of a singleconnection (unicast or multicast, Ho and Lun, 2008).

NC can be categorized into the following two main types:

1. Intra-session NC considers network coding for a single commu-nication session of either unicast communication to a single sinknode or multicast communication with multiple sink nodes.Our discussion up to now has focused on intra-session NC.Since in intra-session NC, the same set of sink nodes are

Fig. 1. Comparison between the traditional approach and the NC coding approach.It can be seen that even in this simple wireless networking topology of two nodes Xand Y interconnected through an access point AP that the NC-based approach canreduce a transmission, and thereby avoid wastage of bandwidth, by exploitingWBA.

2 While the advantage of NC over store-and-forward in wireless is oftenexplained through the so-called ‘butterfly’ example (Yeung, 2008), we use a simpleexample adapted from Fragouli et al. (2006) and Katti et al. (2006) to highlight boththe NC advantage in avoiding redundant transmissions and also how it utilizesthe WBA.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 49

Page 7: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

decoding all coded packets, it suffices for each node to generateoutputs through linear combinations of its inputs. The receivercan successfully decode the packets once it has receivedenough independent linear combinations of the source pro-cesses. Intra-session NC is well-understood with the maximumachievable multicast rate being characterized by the min-cutmax-flow theorem (Ahlswede et al., 2000). The throughputbenefits of intra-session NC are available only for multicast andvanish for the case of unicast. It has been shown that linearcodes are sufficient for achieving maximum bounds for multi-cast traffic (Li et al., 2003) with polynomial-time linear encod-ing and decoding algorithms being available (Koetter andMédard, 2003). Also, randomized NC algorithms focusing onmulticast have been proposed (Ho et al., 2003).

2. Inter-session NC (i.e., coding amongst information symbols ofdifferent sessions) is needed in general for achieving optimal rateswhen multiple sessions share the network. Inter-session admitsthroughput benefits for the cases of both unicast and multicast,with these benefits readily visible in two special kinds of networktopologies: those having ‘butterfly’ substructure or a ‘wirelesscross’ topology (Khreishah et al., 2009) (similar to the topologyused in Fig. 1). Inter-session NC is typically more complicated thanintra-session NV requiring strategic coding so that each sink maybe able to decode its desired source processes. Another complica-tion is that in inter-session NC, decoding may be required at non-sink nodes unlike the case of intra-session NC. Presently, it is notyet completely known how to construct optimal network codes formulti-session network problems, although some work has beendone in this direction (Ho et al., 2006).

The most well-known utility of NC is increase in throughput.Ahlswede et al. (2000) demonstrated an increase in throughput forthe problem of multicast in a wireline network. This observationholds even more true for the same problem in wireless settings,where NC provides a pronounced advantage and yields a through-put advantage over routing (Ho and Lun, 2008). Another importantutility of NC is that it provides improved robustness implying lossresilience and facilitation in the design of localized distributedalgorithms that can perform well even with partial information(Fragouli et al., 2006). While, erasure channel coding is tradition-ally performed at the source node, it has been shown that NC isuseful in combating against packet losses leading to improvederror resilience (Ho and Lun, 2008). Finally, NC often leads to lesscomplex solutions as compared to the routing approach.

3.3. Optimization

Optimization theory is a richly developed theory comprisingtools and techniques for determining ‘optimal’ decisions in scenar-ios which may also incorporate certain constraints (Keshav, 2012;Hillier and Lieberman, 2001).

Formally, a mathematical optimization problem has the follow-ing form:

minimize f 0ðxÞ subject to f iðxÞrbi ð1ÞHere the vector x¼ ðx1;…; xnÞ is called the optimization variable,

and the function (f 0 : Rn-R) of the optimization variable, that wehave the objective of minimizing, is known as the objective function.The functions f i : Rn-R, i¼1, …, m are the (inequality) constraintfunctions, and the constants b1, …, bm are the limits, or bounds, forthe constraints. A vector xn ‘solves’ the optimization problem, or isdeemed optimal, if it has the smallest objective function value amongall vectors that satisfy the constraints defined.

There are many classes of optimization problems generallycharacterized on the basis of the form of the objective and theconstraint functions. In particular, for linear program (which we

will study in Section 3.3.1), the objective function f0 and the mconstraint functions f 1;…; f m are all linear, i.e., f iðαxþβyÞ ¼αf iðxÞþβf iðyÞÞ. If the optimization problem is not linear, it is calleda nonlinear optimization problem. The class of convex optimization(which we shall study in Section 3.3.3), which includes linearoptimization as a special case, the objective function f0 and the mconstraint functions f 1;…; f m are all convex, i.e., f iðαxþβyÞrαf iðxÞþβf iðyÞÞ. Due to the inequality in the preceding constraintfunction, convex programming can be of both linear andnonlinear types.

An important characteristic of an optimization problem is itsdiscrete or continuous nature. Typically, continuous optimizationproblems either have no constraints or have constraints of a contin-uous character comprising equations and inequalities. In problems ofdiscrete optimization, also called combinatorial optimization, eitherthe constraint set is finite or it has a discrete nature. Informallyspeaking, combinatorial algorithms are techniques for highspeed manipulation of combinatorial objects such as permutations,graphs, and networks (Knuth, 2006; Papadimitriou and Steiglitz,1998). Common applications of combinatorial optimization includescheduling, assignment, route planning, and set covering. We willfind extensive use of combinatorial optimization in multicasting(Leggieri, 2009). Two important combinatorial optimization tech-niques, which are extensively used in multicasting literature, arelinear programming (covered in Section 3.3.1) and integer program-ming (covered in Section 3.3.2). Linear programming is a problem ofcombinatorial optimization according to its fundamental theorem,while integer programming is a combinatorial technique in whichoptimization variables can only adopt discrete integer values(Papadimitriou and Steiglitz, 1998).

Optimization problems come in two main varieties if weconsider the complexity of the optimization problem. Firstly, thereare some ‘easy’ problems that can be solved in time bounded by apolynomial in the input length n, and secondly, a larger class of‘hard’ problems for which no polynomial time algorithm existsand all known algorithms require time exponential in n in theworst-case (Fisher, 2004). If a problem has a linear objectivefunction and linear constraints, the problem is considered easyto solve and linear programming (discussed in Section 3.3.1) canbe used to solve it (even for very large sized problems). For manypractical problems, the objective function or the constraints arenot linear, and the resulting problem is hard to solve in a time-efficient manner. We will discuss various approaches that can beused to tackle such hard nonlinear optimization problems later on.

Deriving a solution to an optimization problem typically entailsseeking an optimal solution (if the problem is tractable or is asmall-scale NP problem), or an approximation solution with somequalification of its quality in comparison with the optimal, oraiming for heuristic if even an approximate solution is difficult toobtain. In case of multiple objective functions, one way of definingefficiency of solution is through Pareto optimality which capturesthe tradeoff between the multiple objective functions by choosingan operating point where further improvement in any objectivefunction cannot be made except through deterioration in someother objective function's value.

3.3.1. Linear programmingLinear programming (LP)3 is one of the biggest success stories

of ‘optimization theory’. LP techniques have been exploited bygenerations of practitioners to solve practical problems in adiverse set of fields such as engineering, economics and finance

3 The use of the ‘programming’ does not refer to computer programming, but isused in the sense of planning; this word is used in the same sense in mathematicalprogramming, linear programming, and dynamic programming.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6150

Page 8: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

(Hillier and Lieberman, 2001; Bertsimas and Tsitsiklis, 1997). LP iscommonly applied in these fields to realize optimal logisticalplanning and scheduling. An application area of LP, much closerto our subject, is in network optimization.

Typical network optimization problems, that may be formu-lated as linear programming problems, are the shortest pathproblem, the min-cut max-flow problem, and the minimumcost-flow problem (Ahuja et al., 1993). Various highly efficientsolutions have been devised that exploit the special structurefound in minimum cost network flow problems. This structureallows radical simplification to the standard Simplex solutionmethod of LP and allows even large-scale optimization problemsto be solved very efficiently. The foundation of these procedurescan be seen in a specialized field of optimization that caters tonetwork flow problems (Ford and Fulkerson, 2010; Ahuja et al.,1993).

3.3.2. Integer programmingIn many optimization problems, it only makes sense for certain

optimization variables to take on integer values (e.g., number ofpackets, flows, generally make sense for integral values only).When all the optimization variables must take only integer values,the optimization model is known as integer programming (IP).In general, IP problems can belong to either of the linear or thenonlinear class. If an IP belongs to the linear class, i.e., its objectiveand constraint functions are both linear, the class of model isreferred to as integer linear programming or ILP. If in an optimiza-tion model, certain optimization variables can only take on integervalues while other can take real values, the class of optimizationmodel is known as mixed integer programming (MIP) model. Therelationship of IP with other classes of optimization is depictedgraphically in Fig. 2.

While LP problems generally entertain polynomial-time solutions,IP programs are more complex to solve and typically are in the class ofnon-deterministic polynomial-time (NP). Since IP problems are com-putationally intractable (i.e., they are NP-complete or NP-hard), variousrelaxation techniques have been used for producing approximatesolutions. IP models can be solved more efficiently if the problemhas network substructure in which case Lagrangian relaxation can beused to decompose the IP. Other solution concepts for IP includebranch-and-bound and branch-and-cut. The most common relaxationmethod used for solving IP is the linear programming relaxationthough the restriction of optimization variables taking integer values isrelaxed.

IP techniques are useful in communication networks for synth-esis, assignment and scheduling problems (Resende and Pardalos,2006). The objective in a synthesis problem is to find an optimalallocation of resources to edges of a complete graph such that all

demands, and other requirements of the problem, are met(Resende and Pardalos, 2006). An example of a synthesis problemis ensuring that the transmission demands are met even in theevent of a node or link failure. IP techniques are also commonlyused for solving a wide variety of assignment and schedulingproblems (Resende and Pardalos, 2006). Since allocation oftendoes not entertain a fractional solution, IP formulation arises as anatural candidate optimization model. Example applicationsinclude: (i) channel assignment problem which assigns channelsto the various nodes and their interfaces, and (ii) allocatingdiscrete time slots to job requests.

3.3.3. Convex optimizationAlthough, earlier it was thought that all nonlinear problems are

intractable, it has been shown now that convexity defines thedemarcation, or the ‘watershed’, between tractable and intractableproblems (Chiang et al., 2007). This insight, along with the invention ofefficient methods for solving convex optimization problems, marks thebiggest progress in the field of optimization theory since the formula-tion of linear programming and invention of the simplex algorithm. Somuch so that it can be said that successfully formulating a practicalproblem as a convex optimization problem is as good as solving theproblem (Boyd and Vandenberghe, 2004). Interest in convex optimi-zation has been reinvigorated by a few important recent discoveries.It has been shown that interior-points methods developed for solvinglinear programming problems are useful for solving a broader muchwider class of convex optimization problems as well. Secondly, it isnow realized that convex optimization problems (beyond least-squareand linear optimization problems) are much more prevalent thanpreviously thought (Boyd and Vandenberghe, 2004). Convex optimi-zation subsumes least-square, linear-optimization, conic programming(Nemirovski, 2006), and geometric programming (Chiang, 2005)classes of optimization (Boyd and Vandenberghe, 2004).

3.3.4. Dynamic programmingDynamic programming (DP) is a powerful optimization tech-

nique applicable when a problem can be decomposed into sub-problems such that the optimal solution to the original problem isa composition of the optimal solutions to each subproblem. (Thisis also called the optimal substructure of the problem.) Thetechnique proceeds by decomposing the problem into smallersubproblems, solve each subproblem recursively, and then aggre-gating the solutions to obtain the final answer. DP is applicablewhere the problem can be divided into smaller problems that areeasily solved and when the program has the optimal substructurewhich allows coalescing the smaller solutions into a solution of theoverall problem. It is critical for DP that the recursion does notresult in a proliferation of subproblems (Keshav, 2012).

The term ‘dynamic programming’ was used by Richard Bellmanin the 1940s in his mathematical study of sequential multi-stagedecision processes in which it is desired to make an ‘optimal’decision one stage after another. The term ‘dynamic’ in ‘dynamicprogramming’ refers to the temporal aspect of multi-stage decisionmaking while ‘programming’ refers to optimization. Naively, onewould assume that an optimal decision should require consideringthe set of all feasible policies, and then choosing the policy whichprovides the maximum return. This brute-force approach does notwork except for trivial toy problems and is grossly inadequate forprocesses involving even a moderate number of stages andactions. The excessive dimensionality of such brute-force enu-meration based approach results from trying to incorporate toomuch information into the framework. The basic idea of the theoryof DP is refreshingly simple. It proposes that ‘optimal policy’should be viewed as determining the decision required at eachtime in terms of the current state of the system. This is known as

Non-linear programs

Fig. 2. Relationship between various optimization approaches. Convexity is the‘watershed’ between tractable and intractable problems. Linear programs generallyhave polynomial-time solutions while integer programs have no known polyno-mial-time solutions as they belong to the class of NP-complete problems.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 51

Page 9: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

the principle of optimality which is based on the insight that theremaining decisions in DP must constitute an optimal policy π forthe continuation process treating the current state as startinginput regardless of the initial states and decisions. Using thisprinciple, the optimal policy can be computed through backwardinduction starting at the terminal point.

Since DP proceeds by breaking down a complex problem intosmaller subproblems, it is important for time-efficiency that eachsubproblem is solved only once. In many DP problems, it turns outthat the repeating subproblems grow exponentially as a function ofthe size of the input. DP solves this problem by trading off space fortime. In DP, the solution to a subproblem is stored, or ‘memoized’,and looked up when needed. DP combines the best of the methodsof ‘greedy algorithms’ and ‘exhaustive search’ into an intelligentbrute-force method that allows us to go through all the possiblesolutions to pick up the optimal solution in reasonable time.

Application of DP in CRNs: DP, like most other optimizationtechniques, can only be used in CRNs when perfect knowledgeabout the system is available.4 In such a scenario, i.e., with a modelof the environment available, the wireless environment is typicallymodeled as a Markov decision process (MDP) which provides amathematical framework for modeling sequential planning by anagent in stochastic situations, where the outcome does not followdeterministically from actions, as an ‘optimal control’ problem inwhich the aim is to select actions that maximize some measure oflong-term reward. DP techniques are widely used for solutionof MDPs.

3.3.5. Nonlinear optimizationWe have earlier seen in the beginning of Section 3.3 that if any

of the objective function (f0) or the m constraint functions(f 1;…; f m) is not linear, then the optimization problem is knownas nonlinear optimization.

For constrained non-integer linear optimization, or simplylinear programming, it is well-known that the objective functionhas its maximum and minimum values at one of the vertices of thepolytope defined by the intersection of the constraint planes. Sincethe extremal value of the objective function is guaranteed to be ata vertex of the polytope, linear programming can thus be easilysolved through methods like the simplex algorithm. In nonlinearoptimization, on the other hand, there is no such guarantee thatthe extremal value of the objective function will lie at a vertex ofthe polytope. In particular, the objective function may bothincrease and decrease as we walk along the contour line (Boydand Vandenberghe, 2004), thereby making the optimization pro-blem much more challenging. Since the technique of checking thevertices of the polytope of constraint planes is no longer sufficient,we need to resort to any of the large number of nonlinearoptimization techniques proposed in literature (Keshav, 2012).

Nonlinear optimization techniques fall into roughly into twocategories (Keshav, 2012): (i) constrained nonlinear optimization,and (ii) heuristic nonlinear optimization. We discuss these twotechniques in the next two subsections.

3.3.6. Constrained nonlinear optimizationIn constrained nonlinear optimization, when the objective

function and the constraints are continuous and at least twicedifferentiable, there are two well-known techniques:(i) Lagrangian optimization, and (ii) Lagrangian optimization withthe Karush–Kuhn–Tucker (KKT) conditions.

Lagrangian optimization: Lagrangian optimization is a methodof constrained nonlinear optimization that computes the max-imum or minimum of a function f of several variables subject toone or more constraint functions denoted gi. The method ofLagrange multipliers gives the set of necessary conditions toidentify optimal points of equality constrained optimization pro-blems. This is done by converting the original constrained problemto an equivalent unconstrained problem with the help of certainunspecified parameters known as Lagrange multipliers.

As an example, consider that we wish to maximize f ðx; yÞsubject to the constraint that gðx; yÞ ¼ c. It is assumed that boththese functions have continuous first partial derivatives. TheLagrange multiplier λ is used in the Lagrangian dual function L, orsimply Lagrangian, in the following way: Lðx; y; λÞ ¼ f ðx; yÞþλ � ðgðx; yÞ�cÞ. The Lagrangian can be solved to recover the solutionto the original constrained optimization problem (Bertsekas, 1982).

Lagrange optimization is based on the two fundamental prin-ciples of duality and relaxation.

1. The duality principle implies that an optimization problem canbe viewed from either from the perspective of the primalproblem or the alternative perspective of the dual problem.The primal and dual problems are intimately linked with thesolution of the dual problem informing about the solution ofthe primal problem. The optimal values of the primal and dualproblems are not necessarily the same though, with thesolution of the dual providing a lower bound (Boyd andVandenberghe, 2004) to the solution of the primal problem.The difference between the solutions for the dual and theprimal is known as the ‘duality gap’. This duality gap is zerounder a constraint qualification condition for convex optimiza-tion problems which ensures ‘strong duality’. Thus, when thenecessary condition is fulfilled, the value of an optimal solutionto the primal problem establishing the immense utility of theduality principle. In summary, the main insight behind usingduality is to bound or solve an optimization problem via adifferent optimization problem.

2. The Lagrangian relaxation idea is based on the intuition ofconceptualize a ‘hard’ optimization problem (e.g., MILP) as an‘easy’ problem that is complicated by a relatively small numberof complicating side constraints (Fisher, 2004). This ideaproposes linking the original minimization problem, termedas the primal problem, with a complementary maximizationproblem, termed as the Lagrangian dual problem, which is ofteneasier to solve as it readily presents decomposition possibilities.The basic intuition of Lagrange duality is to develop a relaxedversion of the primal problem by transferring the complicatingconstraints to a modified objective function (known as theLagrangian function or simply the Lagrangian) augmented witha weighted sum of the constraint functions in which theweighting term, representing the (Lagrangian multipliers), isused to penalize in proportion to the amount of violation of thedualized constraints. The Lagrange dual is obtained by mini-mizing the Lagrangian function with respect to the primalvariable. Interestingly, solving the Lagrange dual is always aconvex optimization problem, evenwhen the primal problem isnot. The solution of the Lagrange dual is either the lower boundfor the primal solution (for weak duality) or the exact primalsolution (if conditions of strong duality are fulfilled).

Lagrangian optimization with KKT conditions: The Lagrangianmethod is applicable when the constraint function is limited tobeing equality constraints. Allowing inequality constraints, theKarush–Kuhn–Tucker (KKT) approach generalizes the Lagrangemultiplier method to allow solutions to a broader class of non-linear programming problems. Using the KKT conditions, it can be

4 For the case where perfect knowledge is not known, machine-learningtechniques like reinforcement learning are more appropriate. Such machine-learning techniques are covered later in Section 3.4.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6152

Page 10: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

determined whether the stationary point of the auxiliary Lagran-gian function is also a global minimum (Keshav, 2012).

3.3.7. Heuristic nonlinear optimizationFor the typical class of intractable problems, sometimes we are

satisfied with heuristic or ‘good enough’ solutions that providereasonably good results most of the time. Amongst variousheuristic solutions, we will discuss greedy algorithms, geneticalgorithms, and ant colony optimization algorithms.

Greedy algorithms: In a greedy algorithm, the basic buildingblock of a complete feasible solution is a partial solution devel-oped by ‘greedy’ that are based on whatever partial information isavailable at the time. These partial solutions are progressivelydeveloped to build a more complete solution until the iterationsdevelop a complete feasible solution. The famous Dijkstra algo-rithm used for solving the shortest path tree (SPT) problem is anexample greedy algorithm.

Randomization is an important tool that can be exploited toavoid local minima's in search-based optimization problems.In particular, randomization is utilized by tools like simulatedannealing. Another core idea adopted in some metaheuristictechniques like tabu-search is to use adaptive memory contrary tothe approach adopted in memoryless approaches like simulatedannealing. Metaheuristics also employ concepts of intensification(which encourages intensifying previous solutions found to per-form well) and diversification (which encourages search to exam-ine unvisited solutions). In some other fields (e.g., in geneticalgorithms and reinforcement learning), the concepts of intensifi-cation and diversification are known by the terms exploitation andexploration, respectively. It is to be noted that exploitation andexploration, or alternatively, intensification and diversification,represent conflicting goals and therefore the dilemma of choosingone or the other needs to be resolved in a balanced fashion.

There are various other metaheuristic techniques proposed inliterature and the interested reader is referred to a book on thistopic (Talbi, 2009) or the book chapter on this topic in Resende andPardalos (2006). We discuss next two particular evolutionaryalgorithm metaheuristic algorithms: genetic algorithms and ant-colony optimization.

Genetic algorithms: A genetic algorithm (GA) is a particular classof evolutionary algorithm which uses techniques inspired fromevolutionary biology—such as inheritance, mutation, crossover,and natural selection—to improve the performance of a computa-tional process. In every generation, multiple individuals arestochastically selected from the current population with fitterindividuals more likely selections and are genetically modified(mutated or recombined) to form the next generation of thepopulation. The usage of genetic operators and stochastic selectionallow a gradual improvement in the ‘fitness’ of the solution andallow GAs to keep away from local optima.

Ant colony optimization: While typical ‘shortest path’ routingprotocols may have significant computational and message com-plexity, the humble biological ants, in a marvel of nature, are ableto shortest routes to food sources in the dynamics of ant colonywith extremely modest resources. There is interest in applyingtechniques from ant colony optimization (ACO) to problems inwireless networking to allow low complexity and high perfor-mance solutions.

3.4. Machine learning

Machine learning is an interdisciplinary field that deals withlearning systems and algorithms. It draws upon techniques andmethods from a wide variety of fields such as statistics, informa-tion theory, artificial intelligence, optimization theory, control

theory, and operations research (Russell et al., 1995). Russellet al. (1995) describe machine learning to be the ability to “adaptto new circumstances and to detect and extrapolate patterns”.Machine learning techniques have proven themselves to be ofgreat practical utility in diverse domains such as pattern recogni-tion, robotics, natural language processing, autonomous controlsystems. They are particularly useful in domains, like CRNs, wherethe agents must dynamically adapt to changing conditions.

3.4.1. Reinforcement learningThe aim of an intelligent agent in reinforcement learning (RL) is

to determine a policy, or a sequence of actions, that maps the stateof an unknown stochastic environment to an optimal action plan.RL thus addresses the planning problem for unknown stochasticenvironments. For the case where the environment is stochasticbut with a known model (i.e., we have an unknown stochasticenvironment), the framework of Markov decision processes (MDPs)is used instead. RL techniques are widely used in CRNs, with theirimportance emanating from the specific relevance of RL techni-ques to CRN environment (which is highly dynamic, unpredictable,and generally unknown a priori).

Since the environment RL agents work in are stochastic, thepayoffs of actions are also not deterministic. The agent, therefore,has to balance two potentially conflicting considerations as itperforms sequential decision making. On the one hand, it needsto explore all feasible actions and their consequences to determinewhich action returns the most value. Simultaneously, it is alsodesired to exploit the existing knowledge, attained through pastexperience, of favorable actions which received the most positivereinforcement.

Most RL algorithms can be classified into being either model-freeor model-based (Sutton and Barto, 1998). A model intuitively is anabstraction that an agent can use to predict how the environmentwill respond to its actions, i.e., given a state and the actionperformed therein by the agent, a model can predict the (expected)resultant next state and the accompanying reward. In themodel-freeapproach, which are most applicable to CRNs with dynamicunknown conditions, the agent aims to directly determine theoptimal policy by mapping environmental states to actions withoutconstructing a MDP model of the environment. An example of apopular model-free RL technique is the Q-learning technique whoseapplication to multicast routing in CRNs we will study next (Suttonand Barto, 1998).

Q-learning: Q-learning is a popular model-free RL techniquewith limited computational requirements that enables agents tolearn how to act optimally in controlled Markovian domains. Theimplication of being model-free is that Q-learning does notexplicitly model the reward transition probabilities of the under-lying process. Q-learning proceeds instead by estimating the valueof an action by compiled over experienced outcomes using theidea known as temporal-difference (TD) learning. TD learningcombines ideas from Monte Carlo (MC) methods and dynamicprogramming (DP). Like MC methods, TD method is a simulationbased model-free method that can learn directly from rawexperience without a model of the environment's dynamics. Likedynamic programming, TD method used bootstrapping to update esti-mates based in part on other learned estimates. Q-learning proceedsby incrementally improving its evaluations of the Q-values thatincorporate the quality of particular actions at particular states. Theevaluation of the Q-values is done by learning the Q-function that givesthe expected utility of taking a given action in a given state andfollowing the optimal policy thereafter.

Learning Automata (LA): LA is a RL technique that subscribes to thepolicy iteration paradigm of RL which, unlike other RL techniques,operates by directly manipulating the policy π (Nicopolitidis et al.,

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 53

Page 11: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

2011; Akbari Torkestani and Meybodi, 2010a,b). A learning automa-ton is a finite state machine that attempts to learn the optimal action(that has the maximum probability to be rewarded) while interactingwith a stochastic environment. The application of LA techniques forbuilding adaptive protocols in CRNs is particularly appealing due tothe natural simplicity of the LA approaches, and the general applic-ability of RL techniques to CRNs. Accordingly, LA has been used in thedesign of wireless MAC, routing and transport-layer protocols(Nicopolitidis et al., 2011).

3.5. Game theory

Game theory is a mathematical framework which can be usedto model interactive decision making between multiple decisionmaking entities. Although, game theoretic models exist for bothcooperative and non-cooperative settings, it is precisely the abilityto model the competition between multiple agents which distin-guishes game theory from optimization theory and optimalcontrol-theoretic frameworks such as the MDP (Haykin, 2005).Game-theoretic analysis is relevant when the decision making is aresult not only of environment, but also the decision of other‘players’ (or decision makers). Game theory is popularly used inCRNs since each CR in a CRN interacts with a dynamic environ-ment composed of other rational agents that sense, act, and learnwhile aiming to maximize personal utility. For games specific toCRNs, individual CRs typically represent the players, and theactions may include the choice of various system or designparameters such as the modulation scheme, transmit power level,and flow control parameter. In literature, there has been a lot ofwork in applying game-theoretic ideas to the design and analysisof general wireless networks (MacKenzie and DaSilva, 2006) andCRNs (Wang et al., 2010).

4. Protocols used for wireless multicasting

Multicast routing for wireless networks is an active area ofresearch and various protocols have been proposed in literature.While our main focus in this paper is on the topic of multicastingin CRN, we will also highlight related work in multicasting whichhas focused on general multi-hop wireless networks since suchnetworks share many common attributes with CRNs. In theremainder of this section, we will provide a metric based classi-fication of multicasting protocols in Section 4.1.

4.1. Metric based classification

Multicasting protocols addressing various important metrics inwireless networks such as energy efficiency (Maric and Yates,2005), throughput (Zeng et al., 2007, 2010; Ramamurthi et al.,2009), and delay (Hoang Lan and Uyen Trang, 2009; Isazadeh andHeydarian, 2010) have been proposed in literature. Since the majorbulk of routing research in wireless network has focused on thedevelopment of unicast routing protocols, there is considerablymore work done on routing metrics for unicast traffic in wirelessnetworks. Since unicast and multicast routing are fundamentallydifferent (in particular, multicast routing typically uses link-layerbroadcast to exploit the WMA), there have been efforts tocustomize link-quality based unicast routing metrics (developedwith the assumption of a single receiver) for application formulticast routing. As an example, Roy et al. have adapted variousrouting metrics that have been developed for constructing high-throughput unicast routing trees for use for multicast traffic (Royet al., 2008).

4.2. Technique based classification

4.2.1. Network coding based multicasting protocolsAs discussed in Section 3.2, network coding (NC) offers a

promising technique to theoretically achieve multicast capacitythroughput in wireless networks. It has been shown in literaturethat an NC based approach can lead to significant performancegains in practical wireless networks. For example, it has beenshown empirically on a wireless testbed that a simple networkcoding based approach (that uses the XOR operation to combinepackets) at the forwarding layer, without modifying higher layersincluding the routing layer, can increase network throughput forunicast traffic (Katti et al., 2006). Network coding can also be usedto simplify computationally complex problems related to routingin wireless networks. As an example, the routing problem ofconstructing a Steiner multicast tree which selects a minimum-cost subgraph is computationally complex (i.e., it is in theNP-complete class) even in a centralized setting. The correspond-ing NC problem, however, is considerably less complex and can besolved through linear optimization with low-complexity distrib-uted solutions (Ho and Lun, 2008).

In work addressing multicast in wireless networks, it has beenshown that the interaction between network coding and link-layertransmission rate diversity5 in multi-rate multi-hop wireless net-works has been investigated by Vieira et al. (2013) where it wasshown that network coding can be combined with multi-rate linklayer broadcast to increase network throughput for multicastapplications. There also has been work on using network codingfor minimum-energy multicasting in wireless networks. It wasdiscussed earlier (Section 2.3.2) than minimum-energy multicast-ing is an intractable problem if we consider a routing basedsolution since constructing the minimum-cost multicast tree intraditional routed networks requires solving the directed Steinertree problem which is known to be NP-complete. However, thesituation is not as bleak for NC based multicast solution as theproblem of finding the minimum-cost multicast tree, when net-work coding is used, can be solved in polynomial time with a linearprogram. The results of this optimal NC-based solution greatlyimprove the results of non-NC-based routing heuristics (Lun et al.,2005a). Furthermore, the practical implementation of NC is easedas decentralized NC solutions exist crucially in wireless networks.The amenability of NC for decentralized implementation, morethan the energy savings, arguably holds the most promise forimproving the performance of wireless networks (Lun et al.,2005a).

It is worth noting that NC based wireless multicasting protocolshave been proposed for CRNs in literature. We will cover a fewrepresentative works later in Section 4.3.3.

4.2.2. Optimization-based multicasting protocolsVarious methods of optimization theory (which was introduced

in Section 3.3) have been used for addressing multicasting pro-blems in CRNs. In this section, we will survey the applications ofthese optimization methods.

While considering optimization-based multicast work, it isimportant to note that different objectives can be considered foroptimization such as path delay, total cost of the tree, andmaximum congestion (Oliveira and Pardalos, 2005). Some impor-tant optimization problems that relate to multicast routing are the‘the multicast network dimensioning problem’, and the ‘multicastpacking problem’ (Oliveira and Pardalos, 2005). The problem ofoptimally packing Steiner trees to find maximum multicast flow is

5 The ability of a modern wireless node to support multiple link-layertransmission rate, e.g., IEEE 802.11b supports rates of 1, 2, 5.5 and 11 Mbps.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6154

Page 12: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

NP-hard (Hodgskiss, 2000). This was shown in the context ofsingle-radio single-channel multi-hop wireless network in Wan(2009) where it was shown that the ‘maximum multiflow’ and the‘maximum concurrent multiflow’ problems subject to bandwidthand interference constraints are NP-hard. A survey of optimizationproblems that are relevant to multicast tree construction ispresented in Oliveira et al. (2006) and Oliveira and Pardalos(2005).

The technique of dynamic programming (DP) has been exten-sively applied for the problem of routing in communication net-works. In general, DP-based solutions are highly suited toproblems that involve graph-theoretic problems involving rootedtrees (Skiena, 1998) and famous routing algorithms—such as theDijkstra algorithm and the Floyd–Warshall algorithm—are basedon DP principles (Leiserson et al., 2001; Keshav, 2012). Various DPbased multicasting solutions have been proposed in literature. Lunet al. formulated the problem of dynamic multicasting, whichaimed at finding minimum-cost time-varying multicast subgraphsthat provide continuous service to dynamic groups in wirelessnetworks using NC within the framework of DP (Lun et al., 2005b).We have seen earlier in Section 3.2 that minimum-cost multicasttree can be solved in the setting of NC with a linear program—

however, such works have assumed a static multicast group setupthat does not change with time. The dynamic multicastingproblem is more challenging and DP techniques have been applied

to this problemwith some success in Lun et al. (2005b). In anotherDP-based work, Almasaeid et al. (2010) have considered theproblems of broadcast deformation and channel switching delaywhile proposing a multicast algorithm for CRNs. The problem ofbroadcast deformation is very common in CRNs because of itsdynamic environment due to the dependence of channel avail-ability for SUs on channel occupancy of PUs due to which theavailable channel set for each may be different which canpotentially deform a broadcast transmission into a few multicasttransmissions or many unicast transmissions in the worst casescenario. With different channels at different users, the channelswitching latency also contributes a switching delay. This studyproposes algorithms to tackle the problem of channel heteroge-neity and latency introduced due to the channel switching. Thesimulations show the better performance of proposed algorithmsin terms of delay as compared to baseline algorithms.

Integer programming (IP) has been popularly used for modelingthe broadcast and multicast problems in wireless networks. Wepresent a few representative examples of IP based wireless multi-casting. Das et al. (2003) presented three different IP models for theoptimal solution of minimum power broadcast/ multicast problemin wireless networks. The models assumed complete knowledge ofdistance and the network nodes are fixed. Oh and Lee (2013) haveproposed MR2-ODMRP (an ODMRP inspired new multicastingprotocol) which explores using new degrees of freedom (multiple

Table 1Representative summary of the various protocols and algorithms proposed for multicasting in CRNs.

Proposed work Technique/algorithm

Multicast objective Summary

Scheduling workAMS (Almasaeid and Kamal,

2010)Scheduling Min. total multicast time Proposes an assistant strategy to reduce the effect of channel

heterogeneity and thereby improve multicast throughputperformance

Network coding based work

Jin et al. (2010) Optimization &network coding

Perform error control and recovery withminimal overhead to improve wirelessmulticast performance

Proposed an optimization framework for multicast schedulingincorporating cooperative techniques and network coding

Kim et al. (2012) Network coding Support efficient wireless multicast incognitive vehicular networks working in theISM band

This work modifies the CoCast protocol (Kim et al., 2012) andincorporates network coding to improve reliability of multicastcommunication

Optimization based work

OMRA (Almasaeid et al.,2010)

Dynamicprogramming

Reduce the end to end delay and throughputdegradation

Dynamic programming based solution for optimal channelallocation

Channel allocation andmulticast routing in CRNs(Shu et al., 2013)

MILP Max. multicast throughput Joint channel assignment and multicast routing solution thatmodels PU activity and interference

Scalable video multicast (Huet al., 2010)

MINLP Optimize the received video quality and ensurefairness among users

Formulates video multicasting as an mixed-integer NLP problem.A sequential fixing algorithm, and greedy algorithms areproposed

Multicast communication inmulti-hop CRNs (Gao etal., 2011)

MILP Reduce network wide resources to supportmulticast sessions

Formulates multicasting as a mixed-integer LP problem via across-layer approach and provided a polynomial-time centralizedheuristic solution

PU-aware resilient multicasting

Alnabelsi and Kamal (2013) Multi-layerhypergraph/ILP

Support multicast sessions in CRNs withprotection against channel failures

Proposed keeping a backup path for primary path, if feasible,such that the primary and backup paths are shared riskhyperedge disjoint

Almasoud (2013) Protection without/with link-sharing,and rings

Support multicast sessions in CRNs withprotection against channel failures

Proposed multicast session protection (i) with link-sharing, (ii)without link-sharing, and (iii) with rings

Tree construction techniques

CoCast (Kim et al., 2009) Source based tree Improve the scalability of ODMRP Reactive routing protocol incorporating channel assignment thatseeks to maximize delivery ratio and minimize delay is proposed

MEMT (Ren et al., 2009) Steiner tree Construct minimum energy multicast tree Proposed a low-complexity approximate solutionQoS multicast (Xie et al.,

2012)Spanning tree Tree construction with minimum bandwidth

consumptionA QoS-satisfying multicast tree, with minimal bandwidthconsumption, is constructed through a novel slot assignmentalgorithm

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 55

Page 13: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

transmission rates with multiple radios) to provide optimizedmulticasting performance. The optimization problem is modeledas an integer linear program (ILP) and the transmission rate for eachnode is computed to construct the optimal tree. The results showthat MR2-ODMRP outperforms ODMRP in terms of end-to-enddelay to produce near optimum results. In an optimization-basedwireless multicasting work based in the context of CRNs, Shu et al.(2013) have jointly formulated the problem of multicast routing andchannel allocation in CRNs as an MILP optimization problem withthe objective of increasing throughput/ session. A representativesummary of optimization-based CRN multicasting works can beseen in Table 1.

The methods of Lagrangian relaxation and dual decompositionare popular techniques that are applied to a wide variety ofoptimization problems in wireless routing. In Yuan et al. (2006),the throughput maximization problem for multi-hop multicast isdecomposed into two subproblems: firstly, a data routing subpro-blem at the network layer, and secondly, a power control sub-problem at the PHY layer. The coordination between thesesubproblems is managed through a set of Lagrangian dual vari-ables. In Chen et al. (2006), it is proposed that cross-layered designbe performed systematically through the framework of ‘layering asoptimization decomposition’ (Chiang et al., 2007) for time-varyingchannels. The resource allocation problem is broken down,through dual composition, into three subproblems of congestioncontrol, routing and schedule which interact through the conges-tion price. A recent Lagrangian relaxation based wireless routingwork can also been seen at Wen and Liao (2011).

Cross layer optimization approach has been used for theproblem of multicasting in CRNs in Hu et al. (2010) and Gaoet al. (2011). In Hu et al. (2010), cross layer optimization approachis used to multicast data to the multimedia receivers whileoptimizing the received video quality. The proportional fairnessamong multicast receivers and interference minimization are alsotaken into account. A sequential fixing algorithm and a greedyalgorithm is proposed in order to achieve the fairness and tominimize the interference while optimizing the video quality.Linear relaxation of the mixed integer nonlinear programming(MINLP) problem is used by the fixing algorithm and the greedyalgorithm makes use of the inherent priority structure of finegranularity structure video and ordering of user channels accord-ing to their qualities. To adjust the calculated solution according toupdated channel sensing results, a less complex greedy algorithmis used. The results show that the proposed algorithms performbetter than the baseline algorithms in terms of average peak tosignal to noise ratio. In Gao et al. (2011), cross layer optimizationapproach is used with the purpose of reduction in the requirednetwork resources. A self-interference constraint protocol is pro-posed which assigns a frequency channel at each transmitter to atmost one session of multicast. These frequency bands are assignedby using the self-interference constraint in which the receivingnodes are not allowed to receive simultaneously from two trans-mitters. In this way, interference is minimized. The purposedalgorithm solutions are compared with the lower bound whichshow that the proposed solution provides near optimum values.

Apart from optimization techniques, metaheuristic techniqueshave also been proposed for various routing problems in wirelessnetworks particularly for multicasting. We will present next a briefsketch of some representative works that have used the frame-works of genetic algorithms (GA) (Roy and Das, 2004; Cheng andYang, 2010), and ant-colony-optimization (ACO), respectively.

Roy and Das (2004) have proposed ‘QoS-based mobile multi-cast routing protocol’ (QM2RP) which utilizes the framework ofmulti-objective genetic algorithms to optimize multiple QoSparameters such as end-to-end delay, bandwidth requirementand residual bandwidth utilization; the presented protocol is

capable of discovering near-optimal multicast routes within fewiterations even with imprecise network information. In anotherwork, Cheng and Yang (2010) have proposed a GA based QoSmulticasting protocol for MANETs. This work adapts to thedynamically changing topology of MANETs using GA.

A lot of research effort has also focused on using ACO forimitating the performance of biological ants to produce optimizedand efficient distributed routing behavior in wireless networks (Zhaoet al., 2012; Di Caro et al., 2005; Shen et al., 2008). In particular, a fewant-colony-optimization based multicasting protocols have beenproposed for wireless networks (Yi and Yan-chun, 2011). In Prasadand Lobiyal (2013), an ant colony optimization approach isproposed to tackle the minimum cost multicast tree with delayand bandwidth constraints problem. A niched ant colony optimi-zation with colony guides (NACOg) algorithm is proposed to tacklethe problem. The results show the better performance of theNACOg as compared to other algorithms in terms of finding theminimum cost QoS multicast tree. In another research (Alasaad etal., 2013), QoS multicasting performance in wireless mesh net-works is studied over a ring routing topology. An algorithm isproposed for IP multicasting routing with the mesh routerssupporting the group communication. The proposed algorithmoutperforms the traditional schemes in terms of end to end delayand capacity of multicast networks.

4.2.3. RL based multicasting protocolsIn this section, we will discuss two RL based techniques that

can be used for multicasting in wireless networks. We havealready provided background on Q-learning and learning auto-mata (LA) in Section 3.4.1. We will now describe their applicationsfor the problem of routing in general, and for multicasting in CRNsin particular.

Q-learning is arguably the most popular model-free reinforce-ment learning technique, and it has been applied to CRNsextensively (Bkassiny et al., 2013). It has also been applied in thesetting of routing in communication networks. The ‘Q-routing’algorithm, proposed by Boyan in 1994 (Boyan and Littman, 1994),learned a routing policy that minimizes total delivery timethrough experimentation with different routing policies. Somedesirable features of this approach were: (i) its learning iscontinual and online, (ii) it is robust in the face of dynamicnetwork conditions, and (iii) it is distributed and uses localinformation only. This early paper established that adaptiverouting is a natural domain for reinforcement learning and a lotof follow-up work has taken place (Kumar and Miikkulainen, 1997;Littman and Boyan, 2013).

The technique of LA has been popularly used for constructingrouting protocols for wireless networks. Torkestani et al. haveproposed using LA for multicast routing in mobile ad hoc networksor MANETs6 to find routes with expected higher lifetimes throughprediction of node mobility (Akbari Torkestani and Meybodi, 2010a).Another LA-based distributed broadcast solutions can be seen atAkbari Torkestani and Meybodi (2010b). In Jahanshahi et al. (2013),the problem of channel assignment and multicast routing in wirelessmesh networks is solved jointly in the learning automata framework.The performance evaluation depicts that the proposed scheme LAMR(Learning Automata based Multicast Routing) outperforms the wellknown algorithms LCA (Level Channel Assignment) (Zeng et al.,2007) and MCM (Multi-Channel Multicast) (Zeng et al., 2010) interms of packet delivery ratio, delay and throughput. In anotherstudy (Cheng and Yang, 2011), QoS multicast problem merged with

6 MANETs share an important characteristic with CRNs in that both of themhave highly dynamic topology. The dynamically changing topology in MANETs isdue to node mobility while in CRNs it is due to PU arrivals.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6156

Page 14: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

the channel assignment problem in wireless networks is presented.The authors claim that the multicast tree construction and channelassignment problem have been solved separately. They proposethree different algorithms for finding minimum interference multi-cast tree with efficient use of scarce network resources.

4.2.4. Game theory based multicasting protocolsRouting in networks is a well-studied problem in algorithmic

game theory both in a general network setting (e.g., of transporta-tion networks) (Roughgarden, 2007) and also for Internet-likenetworks (Qiu et al., 2006). In particular, game theory has beenused to analyze ‘selfish routing’, which can arise in distributedrouting algorithms where each agent intends to optimize for itself,using ‘mechanism design’, sometimes called reverse game theory,which allows us to devise appropriate mechanisms for a gamesuch that rational players interested in maximizing their personalutility will play into a desired equilibrium point (MacKenzie andDaSilva, 2006).

In wireless networking, there is a strong interest in sharing thecost of multicasting, particularly of multimedia content, whichincurs a significant cost to the network in terms of bandwidth andoverall power consumption which has to be borne by the networknodes. It is usually desired to distribute this cost across variousreceivers by devising some cost-sharing mechanism. Consideringnon-cooperative scenarios, it is possible for nodes to cheat andthereby maximize their personal utility. In this context, game-theoretic analysis has been used to analyze cost-sharing mechan-isms for multicasting in wireless networks. We will describe twosuch works in brief. Singh and Altman (2011) have studied theproblem of sharing the cost of multicasting (assumed to be interms of the transmission power) in a wireless network. Theproperties of various cost-sharing proposals are studied usinggame-theoretic analysis. Panda et al. (2012) have studied a wire-less multicast cost sharing game in a population of dynamic usersthat arrive and depart randomly. The authors have characterizedits equilibrium and have made observations on how to ensureequal cost sharing.

4.3. CRN specific multicast protocols

We will now be presenting the solutions that have beenproposed to address the challenges that are faced while deployingmulticast in CRNs. We will discuss these solutions in categories ofPU-aware resilient multicasting protocols, multicast schedulingprotocols, and other general CRN multicasting protocols inSections 4.3.1–4.3.3, respectively. A representative summary isalso presented in Table 1.

4.3.1. PU-aware resilient multicasting for CRNsThere is great interest in developing PU-aware resilient routing

protocols for CRNs to counter the ability of PUs to disruptcommunications of SUs in CRNs. Due to the importance ofmaintaining uninterrupted communication sessions in CRNs,Mao and Li (2011) have proposed a backup path based approachwhich proposes to switch traffic flow to the backup path in thecase of PU activity on the working path. The problem of selectingthe backup path is formulated as an integer programming pro-blem. The switching of traffic to the backup path is triggered bystatistical rules based on Bayesian decision framework. Theauthors have demonstrated an approximate 50% reduction inaverage packet delay on a multi-hop CRN experimental testbedinvolving PUs. While the work of Mao et al. is not particularlyfocused on supporting multicasting sessions with backup paths,there has beenwork that have applied the concept of backup paths

to develop PU-aware resilient multicasting protocols (Alnabelsiand Kamal, 2013; Almasoud, 2013). We will discuss them next.

Alnabelsi and Kamal (2013) have proposed a resilient multicastrouting framework in CRNs (that is robust to failures or disap-pearance of channels) based on the concept of multi-layer hyper-graphs (MLHG). The CRN is modeled as a MLHG with each layer ofthe MLHG representing a different channel, and the group of SUssharing a common channel modeled with a hyper-edge. While theprimary paths from the source SU to the destination SUs areselected considering the channel-switching and transmissiondelay, a backup path—which is, if feasible, ‘shared risk hyper edgegroup’ (SRHEG) disjoint with the primary path—is also computedto protect the multicast session. The authors have proposed an ILPmodel for determining the multicast primary and backup pathsthat minimizes the maximum path delay and minimizes thenumber of selected channel links. The authors present simulationresults showing the feasibility of backup based multicasting anddemonstrate that with increasing number of channels, the numberof primary and backup paths that can be routed in CRNs alsoincreases.

Almasoud (2013) and Almasoud and Kamal (2014) haverecently proposed mechanisms for PU-aware resilient multicastingwhich can protect against channel failures and disappearance. Theoverarching aim of this work is to provision multiple multicastsessions that are protected against PU induced spectrum interrup-tions while ensuring minimization of the cost of multicast sessionsand maximization of number of accommodated multicast sessions.This work proposed three approaches for multicast session protec-tion. In the first approach (protection without link-sharing), primaryand backup multicast trees—which are ‘shared primary user riskgroup’ (SPURG) disjoint—are established for each multicast sessionthat protects against one PU interruption at a time. The secondapproach (protection with link-sharing) generates primary andbackup multicast trees like the first approach but allows backuptrees increased sharing of resources (the backup trees can sharesome links in the primary tree of the same session, and also linksin backup trees of any session) while limiting the number of linksthat can be shared within one or more sessions (to avoid the jointfailure of primary and backup tree on the appearance of a certainPU). The third approach (protection with rings) generates for eachmulticast session a ring which starts and ends at the source nodewhile passing through all the destination nodes. It is ensured thata path along any ring is SPURG disjoint from other paths along thesame ring which results in each destination node receiving a copyof the multicast message even if a PU becomes active and causesone path along the ring to fail. It is shown that in general that thenumber of accommodated sessions in the network increases, andthe cost of multicast sessions decreases, as available channels areincreased or as the session size becomes smaller. The highestnumber of multicast sessions in the network can be supportedwith the link-sharing approach, while the ring-sharing approachgenerates multicast sessions with the least cost.

4.3.2. Multicast scheduling protocols in CRNsTo cope with the channel heterogeneity problem in CRNs,

multicast scheduling protocols have been proposed. Almasaeidand Kamal (2010) have proposed assisted multicast schedulingto reduce the end to end multicast delay in a single cell ofcognitive mesh networks. The proposed scheme uses three opera-tions of assisting, overhearing and codeword exchange. Theassistance operation allows the multicast receivers to assist inthe process of multicasting and to forward the data to the otherreceivers too. Overhearing introduces the assistance between twodifferent multicast groups. This happens when some nodesbelonging to a group overhears a transmission intended for

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 57

Page 15: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

another group. After overhearing, these nodes can now forwardthe data intended for the other group. Codeword exchange is alsointroduced to assist the multicast scheduling by using codedpackets. The intended multicast receivers can decode and extracttheir data easily. These three operations help in reduction of totalmulticast time. The results show the better performance ofassisted multicasting in terms of throughput and total multicasttime. It is shown that when no assistance is used, the sender usessix slots to transmit data intended for the multicast receivers.When intra-group assistance is allowed through assistance opera-tion, the number of time slots required to transmit data reduces tofive. Furthermore, when the overhearing operation is enabled andinter group assistance is allowed, the number of slots reduce tofour. Finally, the number of slots used to transmit data reduceto three when network coding is used and coded packets areexchanged.

In their recent work, Almasaeid et al. have addressed theproblem of assisted multicast scheduling in cognitive wirelessmesh networks (Almasaeid and Kamal, 2013), and have proposedtwo approaches for cooperative multicasting: the first dependingon the assistance of multicast receivers in delivering multicastdata to other receivers, while the second is network-coding based.

In another study (Jin et al., 2010), a greedy scheduling protocolis proposed to optimize the overall performance of the network.In this work, fairness among users is also considered along with theefficient utilization of spectrum. A cooperative transmission link isallocated with at most one channel so that more cognitive users areencouraged to participate in the cooperative communication. Theyhave also adopted the network coding so that the overhead can bereduced and better error control can be performed. The problem isformulated as nonlinear integer program and an online schedulingprotocol is introduced for channel allocation and power controlpolicies. The proposed protocol allocates channels to the linksaccording to a distributed algorithm which is claimed to be a goodoperator in realistic systems.

4.3.3. Other CRN multicast protocolsSome CRN-specific multicast routing protocols have recently

been proposed. In Kim et al. (2009), the authors have proposed amulticast routing protocol for CR-equipped MANETs to alleviatethe scalability issues associated with the well known multicastingprotocol ODMRP (Lee et al., 2002). All the nodes are consideredmobile with a single radio per node and multiple channels areavailable in the network. CoCast works in similar fashion asODMRP works but the difference lies in construction of tree andmesh. The ODMRP constructs a mesh so that alternative paths canbe used upon the breakage of routes. In contrast to ODMRP, CoCastconstructs a tree which is different from mesh in terms ofalternative paths and reduces the route overhead. The simulationresults show that the proposed algorithm CoCast performs betterwhen number of multicast sources increase in the network. Theproposed algorithm is more scalable as compared to the ODMRP.

NC based protocols have also been proposed for use in CRNs. Jinet al. (2010) have proposed an optimization framework for multi-cast scheduling incorporating cooperative techniques and NC tooptimize the overall performance of CRNs. This work uses NC toreduce overhead, and perform error control and recovery.In particular, NC is used to address the challenging task of schedulingtransmissions in a cooperative fashion without too much overhead(which will be associated with the naive approach of SUs blindlypushing packets not useful to other SUs). This paper also NC basedmulticast scheduling protocols based on centralized greedy opti-mization and stochastic Lyapunov optimization with the authorspresent analysis as well as simulation results to demonstratesignificant improvement in the multicast performance in CRNs.

In another work, Kim et al. (2012) have proposed NC-basedwireless multicast in cognitive vehicular networks working inthe ISM band. The considered problem is challenging due to theproblem of interference from residential WiFi users also utilizingthe ISM band. This work remodels the existing CoCast protocol(Kim et al., 2012) proposed for multicasting in CRNs for theconsidered environment to improve reliability of multicast com-munication by incorporating NC.

The problem of multicasting in CRNs has also been studied as aminimum energy multicast (MEM) tree construction problem (Ren etal., 2009). The purpose is to save the overall energy used in theconstruction of a multicast tree. Apart from the energy consumed intree construction, energy is also consumed in spectrum sensing,which must be also taken into the account. In this work, spectrumopportunities are considered to be determined not only by PUtransmissions but also by the transmission power of the SUs andthe traffic load of the PUs (as explained earlier in Section 2.3.3).Thus there is a need of an adaptive MEM tree since the MEM treeunder high primary traffic load may not be optimal for low primarytraffic load and vice versa. It is shown in this paper that the MEMproblem is equivalent to the problem of computing the directSteiner tree rooted at the source. The authors propose an approx-imate algorithm for constructing the MEM tree in CRNs whiletaking into account the impact of the spectrum opportunities. Thepresented approximation algorithm for the MEM tree relies on theapproximation algorithm for the directed Steiner problem (Charikaret al., 1999) and is adaptive to the traffic load of the primarynetwork. The results show that the proposed algorithm performsbetter than the baseline approximation algorithm (Liang, 2006)(proposed for the traditional networks) in terms of average energysaving under different traffic load of the primary network. Thebetter performance is explained by the fact that the baselineapproximation algorithm treats the secondary network just likethe primary network and constructs a undirected node-weightedmulticast tree that is invariant to the primary traffic load while theproposed approximation algorithm, on the other hand, constructs adirected Steiner tree that also incorporates the sensing energy toproduce multicast trees that adapt to the primary traffic load.

Apart from the works addressing the MEM problem, a protocolhas also been proposed for construction of a tree with ‘minimummulticast bandwidth consumption’ (Xie et al., 2012) in ad hocCRNs. Two methods have been proposed in this study for mini-mum bandwidth tree construction. The first methods constructthe minimal spanning tree first and then slot assignment is donethrough a proposed algorithm, whereas the second approachconsiders these two problems of minimal spanning tree construc-tion and slot assignment jointly in such a way that overallbandwidth consumption is minimized. The metrics used for theevaluation of proposed algorithm are transmission of slots andsuccess rate and these metrics show the better performance of thealgorithm over the baseline algorithms. A study in Matam andTripathy (2013) solves the problem of multicasting in wirelessnetworks with the objective of bandwidth conservation. A proto-col has been proposed which computes the multicast trees withminimum bandwidth consumption through a heuristic approach.The performance evaluation shows that even in the worst casescenarios, the proposed algorithm works better compared to otherbaseline algorithms.

5. Open research issues and future directions

5.1. Incorporation of AI into multicast frameworks

Since CRNs often have to operate in dynamic unpredictable andunknown environments, it is important to integrate AI-based

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6158

Page 16: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

techniques seamless into the core of the routing framework. Thedesign of ‘cognitive multicasting protocols’ that can intelligentlyadapt to changing network conditions is an important, and yetunexplored, area of research. The interested reader is referred to adetailed tutorial and survey on the topic of AI-based cognitiverouting protocols for CRNs (Qadir, 2013).

5.2. Building reliable multicast routing protocols

The ARQ scheme adopted in unicast reliable end-to-end pro-tocol is not suited to multicast since it requires every packet, or agroup of packets, to be ACK'ed by the receiver. Using a negativeacknowledgment mechanism (NACK) with a semantic of a retrans-mission request is better suited for multicast transmission (Diotet al., 1997). An approach for reliable multicast incorporating NACKthat has been proposed in literature for WLANs (Kuri and Kasera,2001) is to elect one of the multicast group members as the group‘leader’ which acts as a group representative for the purpose ofsending feedback to the multicast source about reliable packetreception. More research needs to be done on reliable wirelessmulticasting protocols for CRNs especially for highly dynamic anderror-prone environments.

5.3. Incorporation of spectrum modeling

The multicast routing framework should incorporate spectrummodeling into its basic design. One way is to probabilisticallymodel the PU arrival process and traffic pattern to avoid thechannels that will be claimed by PU with a high probability. Forexample, a SU can exploit spectrum sensing data to select whitespaces (that emerge due to the absence of PUs) that tend to belonger lived at a particular time of the day and a particularlocation. A number of techniques have been proposed for spec-trum prediction including techniques that are: (i) Hidden Markovmodel based, (ii) Neural Networks based, (iii) Bayesian inferencebased (Xing et al., 2013). For more details about spectrum predic-tion techniques, the interested readers are referred to a detailedsurvey on this topic (Xing et al., 2013) and the references therein.

5.4. Incorporation of extra degrees of freedom

A future research direction is incorporating extra degrees offreedom such as power control, link-layer rate diversity, interfacediversity, and mobility seamlessly with techniques such as net-work coding, game theory, and optimization into the multicastingframework. More research is needed on the interplay of thesedegree of freedom in the setting of multicasting in CRNs.

6. Conclusion

There has a lot of work on wireless multicasting. In particular,various algorithms for developing multicast forwarding structureshave been proposed, and various techniques, including the frame-works of optimization theory, network coding, and heuristictechniques, have been used to improve multicast routing. Multi-cast protocols incorporate both techniques and algorithms todefine the rules, syntax, and semantics of multicast communica-tion. In this paper, we have presented a coherent account of theoverall landscape of multicasting algorithms, techniques, andprotocols that apply to multi-hop cognitive radio networks. Inparticular, we have presented both a self-contained tutorial ofmulticasting algorithms, techniques, and protocols that apply toCRNs along with and a detailed survey of their applications. Wehave also identified open research issues, and have identifiedpromising directions for future work.

References

Ahlswede R, Cai N, Li S-Y, Yeung RW. Network information flow. IEEE Trans. Inf.Theory 2000;46(4):1204–16.

Ahuja RK, Magnanti TL, Orlin JB. Network flows: theory, algorithms, and applica-tions, 1993.

Akbari Torkestani J, Meybodi MR. Mobility-based multicast routing algorithm forwireless mobile ad-hoc networks: a learning automata approach. ComputCommun 2010a;33(6):721–35.

Akbari Torkestani J, Meybodi MR. An intelligent backbone formation algorithm forwireless ad hoc networks based on distributed learning automata. ComputNetw 2010b;54(5):826–43.

Akyildiz I, Lee W, Vuran M, Mohanty S. Next generation/dynamic spectrum access/cognitive radio wireless networks: a survey. Comput Netw 2006;50(13):2127–2159.

Akyildiz I, Lee W, Chowdhury K. CRAHNs: cognitive radio ad hoc networks. Ad HocNetw 2009;7(5):810–36.

Alasaad A, Nicanfar H, Gopalakrishnan S, Leung VC. A ring-based multicast routingtopology with QoS support in wireless mesh networks. Wirel Netw 2013:1–25.

Almasaeid HM, Kamal AE. Assisted-multicast scheduling in wireless cognitive meshnetworks. In: 2010 IEEE international conference on communications (ICC).IEEE; USA, 2010. p. 1–5.

Almasaeid HM, Kamal AE. Exploiting multichannel diversity for cooperative multi-cast in cognitive radio mesh networks. IEEE/ACM Trans Netw 2013.

Almasaeid H, Jawadwala T, Kamal A. On-demand multicast routing in cognitiveradio mesh networks. In: GLOBECOM 2010, 2010 IEEE global telecommunica-tions conference. IEEE; USA, 2010. p. 1–5.

Almasoud AMM. Robust provisioning of multicast sessions in cognitive radionetworks [Graduate theses and dissertations]. Paper 13565, 2013 ⟨http://lib.dr.iastate.edu/etd/13565⟩.

Almasoud AMM, Kamal AE. Robust provisioning of multicast sessions in cognitiveradio networks. In: International wireless communications and mobile com-puting conference (IWCMC), 2014.

Alnabelsi S, Kamal A. Resilient multicast routing in crns using a multilayer hyper-graph approach. In: 2013 IEEE international conference on communications(ICC), June 2013. p. 2910–5.

Ballardie T, Francis P, Crowcroft J. Core based trees (CBT). ACM SIGCOMM ComputCommun Rev 1993;23(4):85–95.

Bertsekas DP. Constrained optimization and lagrange multiplier methods. Compu-ter science and applied mathematics. Boston: Academic Press; 1982 vol. 1.

Bertsimas D, Tsitsiklis JN. Introduction to linear optimization. 1997.Bezenšek M, Robič B. A survey of parallel and distributed algorithms for the Steiner

tree problem. Int J Parallel Programm 2013:1–33.Bkassiny M, Li Y, Jayaweera S. A survey on machine-learning techniques in

cognitive radios. Commun Surv Tutor 2013;15.Boyan JA, Littman ML. Packet routing in dynamically changing networks: a

reinforcement learning approach. Adv Neural Inf Process Syst 1994:671.Boyd SP, Vandenberghe L. Convex optimization. Cambridge, UK: Cambridge Uni-

versity Press; 2004.Chachulski S, Jennings M, Katti S, Katabi D. Trading structure for randomness in

wireless opportunistic routing. SIGCOMM Comput Commun Rev 2007;37(4):169–80.

Charikar M, Chekuri C, Cheung T-y, Dai Z, Goel A, Guha S, et al. Approximationalgorithms for directed Steiner problems. J. Algorithms 1999;33(1):73–91.

Chen L, Low S, Chiang M, Doyle JC. Optimal cross-layer congestion control, routingand scheduling design in ad hoc wireless networks. In: Proceedings of IEEEINFOCOM’06, 2006.

Cheng H, Yang S. Genetic algorithms with immigrants schemes for dynamicmulticast problems in mobile ad hoc networks. Eng Appl Artif Intell 2010;23(5):806–19.

Cheng H, Yang S. Joint QoS multicast routing and channel assignment in multiradiomultichannel wireless mesh networks using intelligent computational meth-ods. Appl Soft Comput 2011;11(2):1953–64.

Chiang M. Geometric programming for communication systems. Delft, TheNetherlands: Now Publishers Inc; 2005.

Chiang M, Low SH, Calderbank AR, Doyle JC. Layering as optimization decomposition:a mathematical theory of network architectures. Proc IEEE 2007;95(1):255–312.

Chou CT, Misra A, Qadir J. Low-latency broadcast in multirate wireless meshnetworks. IEEE J Sel Areas Commun 2006;24(11):2081–91.

Das AK, Marks RJ, El-Sharkawi M, Arabshahi P, Gray A. Minimum power broadcasttrees for wireless networks: integer programming formulations. In: INFOCOM2003. Twenty-second annual joint conference of the IEEE computer andcommunications. IEEE societies, vol. 2. IEEE; USA, 2003. p. 1001–10.

Deb S, Effros M, Ho T, Karger DR, Koetter R, Lun DS, Network coding for wirelessapplications: a brief tutorial. IWWAN, 2005.

Deering S. Host extensions for IP multicasting, IETF RFC 1112. 1988.Di Caro G, Ducatelle F, Gambardella LM. Anthocnet: an adaptive nature-inspired

algorithm for routing in mobile ad hoc networks. Eur Trans Telecommun2005;16(5):443–55.

Diot C, Dabbous W, Crowcroft J. Multipoint communication: a survey of protocols,functions, and mechanisms. IEEE J Sel Areas Commun 1997;15(3):277–90.

Draves R, Padhye J, Zill B. Routing in multi-radio, multi-hop wireless meshnetworks. In: Proceedings of the 10th annual international conference onMobile computing and networking. ACM; Philadelphia, PA, USA, 2004.p. 114–128.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 59

Page 17: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

Fisher ML. The lagrangian relaxation method for solving integer programmingproblems. Manag Sci 2004;50(Suppl. 12):S1861–71.

Ford LR, Fulkerson DR. Flows in networks. Princeton, USA: Princeton UniversityPress; 2010.

Fragouli C, Le Boudec J-Y, Widmer J. Network coding: an instant primer. ACMSIGCOMM Comput Commun Rev 2006;36(1):63–8.

Gao C, Shi Y, Hou Y, Sherali H, Zhou H. Multicast communications in multi-hopcognitive radio networks. IEEE J Sel Areas Commun 2011;29(4):784–93.

Guha S, Khuller S. Approximation algorithms for connected dominating sets.Algorithmica 1998;20(4):374–87.

Gupta SK, Wang B. Energy-efficient multicast protocols. In: Resource managementin wireless networking. Springer; NY, USA, 2005. p. 583–609.

Hauptmann M, Karpinski M. A compendium on Steiner tree problems, 2013 ⟨http://theory.cs.bonn.edu/info5/steinerkompendium/netcompendium.pdf⟩.

Haykin S. Cognitive radio: brain-empowered wireless communications. IEEE J SelAreas Commun 2005;23(2):201–20.

Hillier FS, Lieberman GJ. Introduction to operations research. NY, USA: McGraw Hill;2001.

Ho T, Lun D. Network coding: an introduction. New York, NY, USA: CambridgeUniversity Press; 2008.

Hoang Lan N, Uyen Trang N. Channel assignment for multicast in multi-channelmulti-radio wireless mesh networks. Wirel Commun Mobile Comput 2009;9(4):557–71.

Hodgskiss JP. Optimisation models and algorithms for multicast message routingand power control in wireless multihop networks [Ph.D. thesis]. University ofBirmingham; 2010.

Ho T, Koetter R, Medard M, Karger DR, Effros M. The benefits of coding over routingin a randomized setting, 2003.

Ho T, Médard M, Koetter R, Karger DR, Effros M, Shi J, et al. A random linearnetwork coding approach to multicast. IEEE Trans Inf Theory 2006;52(10):4413–30.

Hu D, Mao S, Hou Y, Reed J. Scalable video multicast in cognitive radio networks.IEEE J Sel Areas Commun 2010;28(3):334–44.

Isazadeh A, Heydarian M. Traffic distribution for end-to-end QoS routing withmulticast multichannel services. J Supercomput 2010;52(1):47–81.

Jahanshahi M, Dehghan M, Meybodi MR. Lamr: learning automata based multicastrouting protocol for multi-channel multi-radio wireless mesh networks. ApplIntell 2013;38(1):58–77.

Jin J, Xu H, Li B. Multicast scheduling with cooperation and network coding incognitive radio networks. In: INFOCOM, 2010 Proceedings IEEE. IEEE; USA,2010. p. 1–9.

Katti S, Rahul H, Hu W, Katabi D, Médard M, Crowcroft J. Xors in the air: practicalwireless network coding. In: ACM SIGCOMM computer communication review,vol. 36. ACM; New York, NY, USA, 2006. p. 243–54.

Keshav S. Mathematical foundations of computer networking. Boston, USA:Addison-Wesley; 2012.

Khreishah A, Wang C-C, Shroff N. Cross-layer optimization for wireless multihopnetworks with pairwise intersession network coding. IEEE J Sel Areas Commun2009;27(5):606–21.

Kim W, Oh S, Gerla M, Park J. Cocast: Multicast mobile ad hoc networks usingcognitive radio. In: Military communications conference, 2009. MILCOM 2009.IEEE. IEEE; USA, 2009. p. 1–7.

Kim W, Choi B, Oh S, Gerla M. Cognitive multicast (cocast) in vehicular net-works using ofdm subchannels and network coding. In: 2012 Internationalconference on computing, networking and communications (ICNC), January2012. p. 776–80.

Knuth DE. Art of computer programming, vol. 4. Fascicle 4: the generating all trees—history of combinatorial generation. Boston, USA: Addison-Wesley; 2006.

Koetter R, Médard M. An algebraic approach to network coding. IEEE/ACM TransNetw 2003;11(5):782–95.

Kumar S, Miikkulainen R. Dual reinforcement q-routing: an on-line adaptiverouting algorithm. In: Artificial neural networks in engineering, 1997.

Kuri J, Kasera SK. Reliable multicast in multi-access wireless lans. Wirel Netw2001;7(4):359–69.

Lee S-J, Su W, Gerla M. On-demand multicast routing protocol in multihop wirelessmobile networks. Mobile Netw Appl 2002;7(6):441–53.

Leggieri V. Multicast problems in telecommunication networks. 4OR 2009;7(1):105–8.

Leiserson CE, Rivest RL, Stein C, Cormen TH. Introduction to algorithms. CambridgeMA, USA: The MIT Press; 2001.

Liang W. Constructing minimum-energy broadcast trees in wireless ad hoc net-works. In: Proceedings of the 3rd ACM international symposium on mobile adhoc networking & computing. ACM; New York, NY, USA, 2002. p. 112–22.

Liang W. Approximate minimum-energy multicasting in wireless ad hoc networks.IEEE Trans Mobile Comput 2006;5(4):377–87.

Li S-Y, Yeung RW, Cai N. Linear network coding. IEEE Trans Inf Theory 2003;49(2):371–81.

Littman M, Boyan J. Reinforcement learning scheme for network routing. In:Proceedings of the international workshop on applications of neural networksto telecommunications. Psychology Press; UK, 2013.

Lo BF. A survey of common control channel design in cognitive radio networks.Phys Commun 2011;4(1):26–39.

Lun DS, Médard M, Koetter R. Efficient operation of wireless packet networks usingnetwork coding. In: International workshop on convergent technologies(IWCT), vol. 33. Citeseer. 2005a.

Lun DS, Médard M, Karger DR. On the dynamic multicast problem for codednetworks. In: Proceedings of WINMEE, RAWNET and NETCOD 2005 workshops,2005b.

Lun DS, Ratnakar N, Médard M, Koetter R, Karger DR, Ho T, et al. Minimum-costmulticast over coded packet networks. IEEE Trans Inf Theory 2006;52(6):2608–23.

MacKenzie AB, DaSilva LA. Game theory for wireless engineers. Synth Lect Commun2006;1(1):1–86.

Mao R, Li H. Protecting cognitive radio networks against primary users: a backuppath approach. In: Global telecommunications conference (GLOBECOM 2011),2011 IEEE. IEEE; USA, 2011. p. 1–6.

Maric I, Yates RD. Cooperative multicast for maximum network lifetime. IEEE J SelAreas Commun 2005;23(1):127–35.

Matam R, Tripathy S. Improved heuristics for multicast routing in wireless meshnetworks. Wirel Netw 2013:1–9.

Moyer M, Rao J, Rohatgi P. A survey of security issues in multicast communications.Network 1999;13(6):12–23.

Nemirovski A. Advances in convex optimization: conic programming. In: Proceed-ings of the international congress of mathematicians: Madrid, August 22–30,2006: invited lectures, 2006. p. 413–44.

Nguyen UT. On multicast routing in wireless mesh networks. Comput Commun2008;31(7):1385–99.

Nicopolitidis P, Papadimitriou GI, Pomportsis AS, Sarigiannidis P, Obaidat MS.Adaptive wireless networks using learning automata. Wirel Commun 2011;18(2):75–81.

Oh KJ, Lee CY. MR2_ODMRP: improvement of end-to-end transmission delay inwireless multicast routing. Wirel Pers Commun 2013;1–13.

Oliveira CA, Pardalos PM. A survey of combinatorial optimization problems inmulticast routing. Comput Oper Res 2005;32(8):1953–81.

Oliveira CA, Pardalos PM, Resende MG. Optimization problems in multicast treeconstruction. In: Handbook of optimization in telecommunications. Springer;NY, USA, 2006. p. 701–31.

Panda M, Chahed T, Altman E. Wireless multicast cost sharing game with a dynamicpopulation. In: 2012 6th International conference on network games, controland optimization (NetGCooP). IEEE; USA, 2012. p. 58–63.

Papadimitriou CH, Steiglitz K. Combinatorial optimization: algorithms and com-plexity. NY, USA: Dover Publications; 1998.

Paul P, Raghavan S. Survey of multicast routing algorithms and protocols. In:Proceedings of the international conference on computer communication, vol.15, 2002. p. 902.

Prasad S, Lobiyal D, et al. Multiobjective multicast routing in wireless ad-hocnetworks—an ant colony approach. In: Advance computing conference (IACC),2013 IEEE 3rd international. IEEE; USA, 2013. p. 511–4.

Qadir J. Artificial intelligence based cognitive routing for cognitive radio networks.ArXiv e-prints, August 2013.

Qadir J, Misra A, Chou CT. Minimum latency broadcasting in multi-radio multi-channel multi-rate wireless meshes. In: 2006 3rd Annual IEEE communicationssociety on sensor and ad hoc communications and networks, 2006. SECON’06,vol. 1. IEEE; USA, 2006a. p. 80–9.

Qadir J, Chou CT, Misra A. Exploiting rate diversity for multicasting in multi-radiowireless mesh networks. In: Proceedings 2006 31st IEEE conference on localcomputer networks. IEEE; USA, 2006b. p. 287–94.

Qiu L, Yang YR, Zhang Y, Shenker S. On selfish routing in internet-like environ-ments. IEEE/ACM Trans Netw (TON) 2006;14(4):725–38.

Quinn B, Almeroth K. IP multicast applications: challenges and solutions. IETF RFC3170. 2001.

Ramamurthi V, Vadrevu SKC, Chaudhry A, Bhatnagar MR. Multicast capacity ofmulti-channel multihop wireless networks. In: Wireless communications andnetworking conference, 2009. WCNC 2009. IEEE. IEEE; USA, 2009. p. 1–6.

Ren W, Xiao X, Zhao Q. Minimum-energy multicast tree in cognitive radionetworks. In: 2009 Conference record of the forty-third asilomar conferenceon signals, systems and computers. IEEE; USA, 2009. p. 312–6.

Resende MG, Pardalos PM. Handbook of optimization in telecommunications.Berlin: Springer; 2006.

Rosenberg E. A primer of multicast routing. NY, USA: Springer; 2012.Roughgarden T. Routing games. Algorithmic game theory. 2007 [chapter 18].Roy A, Das SK. QM2RP: a QoS-based mobile multicast routing protocol using multi-

objective genetic algorithm. Wirel Netw 2004;10(3):271–86.Roy S, Koutsonikolas D, Das S, Hu YC. High-throughput multicast routing metrics in

wireless mesh networks. Ad Hoc Netw 2008;6(6):878–99.Russell SJ, Norvig P, Canny JF, Malik JM, Edwards DD. Artificial intelligence: a

modern approach, vol. 74. Englewood Cliffs: Prentice Hall; 1995.Sahasrabuddhe L, Mukherjee B. Multicast routing algorithms and protocols: a

tutorial. Network 2000;14(1):90–102.Sengupta S, Subbalakshmi K. Open research issues in multi-hop cognitive radio

networks. Commun Mag 2013;51(4):168–76.Shen C-C, Li K, Jaikaeo C, Sridhara V. Ant-based distributed constrained Steiner tree

algorithm for jointly conserving energy and bounding delay in ad hoc multicastrouting. ACM Trans Auton Adapt Syst 2008;3(1):3.

Shu Z, Qian Y, Yang Y, Sharif H. Channel allocation and multicast routing incognitive radio networks. In: Wireless communications and networking con-ference (WCNC), 2013 IEEE. IEEE; USA, 2013. p. 1703–8.

Singh C, Altman E. The wireless multicast coalition game and the non-cooperativeassociation problem. In: INFOCOM, 2011 Proceedings IEEE. IEEE; USA, 2011.p. 2705–13.

Skiena S. The algorithm design manual: text, vol. 1. Springer; NY, USA, 1998.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–6160

Page 18: Multicasting in cognitive radio networks: Algorithms, techniques and protocols

Striegel A, Manimaran G. A survey of QoS multicasting issues. Commun Mag2002;40(6):82–7.

Sutton RS, Barto AG. Reinforcement learning: an introduction. Cambridge, UK:Cambridge University Press; 1998.

Takahashi H, Matsuyama A. An approximate solution for the Steiner problem ingraphs. Math Jpn 1980;24(6):573–7.

Talbi E-G. Metaheuristics: from design to implementation, vol. 74. USA: Wiley;2009.

Thomas RW, Friend DH, DaSilva LA, MacKenzie AB. Cognitive networks. NY, USA:Springer; 2007.

Torkestani JA, Meybodi MR. Weighted Steiner connected dominating set and itsapplication to multicast routing in wireless manets. Wirel Pers Commun2011;60(2):145–69.

Van Mieghem P, Hooghiemstra G, Van Der Hofstad R. On the efficiency of multicast.IEEE/ACM Trans Netw 2001;9(6):719–32.

Varshney U. Multicast over wireless networks. Commun ACM 2002;45(12):31–7.Vieira LFM, Gerla M, Misra A. Fundamental limits on end-to-end throughput of

network coding in multirate and multicast wireless networks. Comput Netw2013.

Wan P-J. Multiflows in multihop wireless networks. In: Proceedings of the tenthACM international symposium on mobile ad hoc networking and computing.ACM; New York, NY, USA, 2009. p. 85–94.

Wang C, Tang S, Li M, Jiang C. Multicast capacity of multihop cognitive networks. In:IEEE 6th international conference on mobile ad hoc and sensor systems, 2009.MASS'09. IEEE; 2009. p. 274–83.

Wang B, Wu Y, Liu K. Game theory for cognitive radio networks: an overview.Comput Netw 2010;54(14):2537–61.

Waxman BM. Routing of multipoint connections. IEEE J Sel Areas Commun 1988;6(9):1617–22.

Wen Y-F, Liao W. Minimum power multicast algorithms for wireless networks witha Lagrangian relaxation approach. Wirel Netw 2011;17(6):1401–21.

Wieselthier J, Nguyen G, Ephremides A. On the construction of energy-efficientbroadcast and multicast trees in wireless networks. In: INFOCOM 2000. Nine-teenth annual joint conference of the IEEE computer and communicationssocieties. Proceedings. IEEE, vol. 2. IEEE; USA, 2000. p. 585–94.

Winter P. Steiner problem in networks: a survey. Networks 1987;17(2):129–67.Xie L, Jia X, Zhou K. Qos multicast routing in cognitive radio ad hoc networks. Int J

Commun Syst 2012;25(1):30–46.Xing X, Jing T, Huo Y, Li H, Cheng X. Channel quality prediction based on Bayesian

inference in cognitive radio networks. In: IEEE INFOCOM, 2013.Ya-feng W, Yin-long X, Guo-liang C, Kun W. On the construction of virtual multicast

backbone for wireless ad hoc networks. In: 2004 IEEE International Conferenceon mobile ad hoc and sensor systems. IEEE; USA, 2004. p. 294–303.

Yeung RW. Information theory and network coding. NY, USA: Springer; 2008.Yi Z, Yan-chun L. An improved ant colony optimisation and its application on

multicast routing problem. Int J Wirel Mobile Comput 2011;5(1):18–23.Yuan J, Li Z, Yu W, Li B. A cross-layer optimization framework for multihop

multicast in wireless mesh networks. IEEE J Sel Areas Commun 2006;24(11):2092–103.

Zeng G, Wang B, Ding Y, Xiao L, Mutka M. Multicast algorithms for multi-channelwireless mesh networks. In: IEEE international conference on network proto-cols, 2007. ICNP 2007. IEEE; USA, 2007. p. 1–10.

Zeng G, Wang B, Ding Y, Xiao L, Mutka MW. Efficient multicast algorithms formultichannel wireless mesh networks. IEEE Trans Parallel Distrib Syst 2010;21(1):86–99.

Zhao N, Li S, Wu Z. Cognitive radio engine design based on ant colony optimization.Wirel Pers Commun 2012;65(1):15–24.

J. Qadir et al. / Journal of Network and Computer Applications 45 (2014) 44–61 61