A Joint Consideration of Channel Assignment and Multicast Routing in ...

11 downloads 152266 Views 426KB Size Report
mesh clients by an access point(AP) based on Wi-Fi standard. Since only the gateway ..... 1) By taking advantages of wireless broadcast, we collect a set of links ...
2012 7th International ICST Conference on Communications and Networking in China (CHINACOM)

A Joint Consideration of Channel Assignment and Multicast Routing in MCMR WMNs Wen-Lin Yang

Wan-Ting Hong

Dept. of Computer Science and Information Engineering National University of Tainan Tainan, Taiwan [email protected]

Dept. of Computer Science and Information Engineering National University of Tainan Tainan, Taiwan [email protected]

Abstract—In this paper, we are interested in an optimization problem whose goal is to construct an interference-free and delay-constrained multicast tree with maximized serviced mesh clients in multi-channel multi-radio wireless mesh networks. Based on a cross-layer design paradigm, we propose a crosslayer and load-oriented (CLLO) algorithm which can consider application demand, multicast routing and channel assignment jointly. We have, as well, conducted a set of simulations to verify the efficiency of the CLLO algorithm. The experimental results show that our proposed algorithm outperforms previous methods in terms of the number of serviced mesh clients and throughputs. Index Terms—wireless mesh networks, cross-layer optimization, multi-channel, multi-radio, maximum-revenue and delayconstrained multicast

I. I NTRODUCTION A wireless mesh network (WMN) is basically a communication network composed of radio devices (transmitters and receivers) organized in a mesh topology [1]. As shown in Fig. 1, a WMN consists of a large number of static mesh routers and at least one mesh router acting as the gateway. Each mesh router provides network connections to a number of mesh clients by an access point(AP) based on Wi-Fi standard. Since only the gateway node can connect to Internet with wired lines, the mesh routers use multi-hop wireless communications to access Internet through the gateway. To make WMNs get widespread use as a backbone for the wireless broadband networks, it is required to show that killer applications such as net TVs and on-line games can be deployed and operated on WMNs in a business model. In this study, we are interested in Video server

MR: mesh router AP: access point

Gateway

MR1

MR2

AP wi-fi mesh client

A,B

MR3

MR4

AP

AP wi-fi

mesh client

Fig. 1.

C

wi-fi mesh client

D

A Wireless Mesh Network

such a scenario: assuming that a video/audio streaming system is installed in the gateway node as shown in Fig. 1, and a number of mesh clients attached with different mesh routers may simultaneously send out a request to the gateway for subscribing a TV program in live. In order to save bandwidth, it is better to build a multicast tree to transmit video streams to all mesh clients concurrently. In addition, the multicast is required to provide high-quality video streams so that highresolution TV programs can be received. Hence, the capability to support multiple interference-free concurrent transmissions is a requirement for our multicast tree. To achieve the above goal, the proposed video streaming system must be implemented in multi-channel and multi-radio (MCMR) WMNs. In MCMR WMNs, multiple radio interfaces are available to each mesh router, and a procedure called channel assignment(CA) is required to bind each interface with an interference-free channel. In contrast to previous research on CA problems by implementing orthogonal channels only, our CA procedure takes both partially overlapping channels and orthogonal channels into consideration so that channel resources can be fully utilized. However, since the number of channels is limited, it is possible that the resulting multicast tree may not include all the receivers because of the lack of interference-free channels for interfering links. Since the number of mesh clients served by a mesh client is different, various multicast trees may serve various numbers of mesh clients. For the company providing video streaming services, the more clients it can serve, the more revenue it can generate. Hence, we are interested in an optimization problem that is about how to build a multicast tree so that the number of mesh clients is maximized. In addition, path delay is usually an important factor for time-sensitive services. The above optimization problem is then extended to be the maximum-revenue and delay-constrained multicast (MRDCM) problem. In our previous work [11], a multicast tree is determined first and then followed by a CA procedure. This approach has a drawback which is that CA can not work well with the determined multicast tree. As a result, only suboptimal solution can be found for the MRDCM problem. Hence, we are interested in the cross-layer approach which can jointly consider routing

642

978-1-4673-2699-5/12/$31.00 © 2012 IEEE

and CA. In this paper, we propose an optimization method called cross-layer and load-oriented (CLLO) algorithm for the MRDCM problem, where the CLLO algorithm is developed based on the cross-layer design paradigm. II. R ELATED W ORK In general, there are three categories of methods for constructing channel-allocated multicast trees for maximizing throughputs or minimizing bandwidth consumption in MCMR WMNs [2]: 1) A multicast tree is constructed first, then followed by a procedure to allocating channels to tree links. 2) A CA scheme is determined first for a given network in which a multicast tree is built for a given multicast group. 3) A channel-allocated multicast tree is determined by joint consideration of CA and routing. For methods in the first category, it is important to select a proper objective function for constructing good multicast trees, since a good multicast tree may be easier for CA procedures to minimize total link interference for maximum throughputs. Based on minimization of various objectives such as number of hops, aggregate cost of tree edges, etc., a large number of algorithms are developed for constructing multicast trees in wired networks [3], [4]. However, they have been shown to be not suitable for wireless networks [5], [7]. Hence, multicast tree construction algorithms for WMNs for minimizing the number of data transmissions [7] or the number of relay nodes [8] are proposed. In reference [7], the proposed algorithms builds multicast trees with minimal numbers of forwarding nodes in single-channel WMNs. In [8], a multi-channel multicast (MCM) algorithm is proposed to build a multicast tree with minimum number of relay nodes and minimum hop counts of the tree for MCMR WMNs. The resultant tree is then allocated with channels by a CA strategy referred to as Heuristic Channel Assignment, where channel separation and interference factor concepts are introduced to minimize the sum of the interference area of all the transmissions. However, the MCM algorithm suffers from the hidden channel problem (HCP) by considering interference from one-hop neighbours only. An algorithm named M4 proposed in [6] can cope with HCP. In M4 algorithm, interference from both one-hop and two-hop neighbours is taken into account for optimizing the objective function. These two algorithms share one common feature is that they are developed by fully exploiting the natural wireless broadcast advantage (WBA). Given a channel-assigned connected graph, authors in [13], [14] proposed a method named multi-channel minimum number of transmissions (MCMNT) to determine a multicast tree with minimized total number of transmissions. This approach is in the second category. The objective of MCMNT algorithm is to minimize the amount of bandwidth consumed by the resultant routing tree, since the less transmissions a tree incurs, the less bandwidth it consumes. However, a large amount of channel resources are wasted since only orthogonal channels

are considered in this study. In addition, no CA strategy is tailored for the MCMNT algorithm. Authors in [15] integrate CA and multicast tree construction together and solve this joint problem by intelligent computational methods. In this work, they aim to find a delayconstrained multicast tree with minimized total channel conflict. Various types of multicast trees are generated by a tabusearch based algorithm proposed in [15]. A fitness function is used to compute total channel conflict. A multicast tree with the minimal number of channel conflict is kept for each iteration. The main disadvantages of the approach are HCP and inefficient utilization of bandwidth resources. III. T HE N ETWORK M ODEL AND P ROBLEM F ORMULATION As shown in Fig. 1, each mesh router in a WMN is stationary and equipped with a certain number of radio interface cards. We model a WMN by an undirected graph G = (V, E) where V represents a set of nodes and E is the set of undirected edges. In this study, a symbol l(u, v) or (u, v) to represent a transmission flow from u to v. Suppose a video-stream delivering system is deployed on the gateway node to provide a continuous video/audio stream. For each mesh router u, a certain number of mesh clients associated it may subscribe to receive a streaming program. A term called demand(u) is then defined as the number of subscribers which are serviced by the mesh router u. For a set M consisting of nodes with demand value greater than 1, M is referred as a multicast group and can be formulated as {u|u ∈ V, demand(u) > 0}. For a given delay bound ∆, we are required to find a channel-allocated multicast tree ¯ rooted at the gateway s. All the paths from s to T = {V¯ , E} each node in T should satisfy the following two constraints: 1) The delay on the path from s to u can not be greater than ∆ for each u ∈ T . 2) All the links in T can support multiple concurrent and interference-free wireless transmissions. Our goal is to find an interference-free and delay-constrained multicast tree T such that the following objective function is maximized. X Gain = demand(u) (1) u∈T &&u∈M

The value of Gain represents the number of mesh clients who can receive their subscribed streaming programs successfully. Since our MRDCM tree is deployed on the MCMR WMNs, a CA algorithm is required to bind each network interface card to a radio channel in such a way that the MRDCM tree can support multiple concurrent transmissions without incurring interference. Since the CA problem has been shown to be NP-complete [12], it is easy to see that our MRDCM problem is an intractable problem. IV. I NTERFERENCE D ETERMINATION During the formation of a channel-allocated multicast tree, we need an interference determination (ID) method implemented with a CA procedure to allocate links with non-

643

1) 2) 3) 4) 5) 6) 7) 8)

δi,j = 0, CS = 0 if li and lj are sibling links; δi,j = 0, CS = 5 if li and lj are consecutive links; 0 < δi,j < 0.2R, CS ≥ 5; 0.2R ≤ δi,j < 0.5R, CS ≥ 4; 0.5R ≤ δi,j < 0.7R, CS ≥ 3; 0.7R ≤ δi,j < 1.2R, CS ≥ 2; 1.2R ≤ δi,j < 2.0R, CS ≥ 1; 2.0R ≤ δi,j , CS = 0;

Fig. 2.

Interference Determination Procedure for IEEE 802.11b

interference channels. Also, in order to fully utilize the bandwidth resources, both orthogonal (ie, non-overlapping) and non-orthogonal (ie, partial overlapping) channels are used in the CA procedure embedded in our CLLO algorithm, which will be discussed in section V. In this section, we develop an ID procedure for allocating interference-free channels to links based on interference factor (IF) introduced in [8]. For a transmission range R and an interference range IR given for a wireless communication standard, IF is defined as IR/R to measure the interference strength between two channel-allocated nodes. Suppose c1 and c2 are two channels assigned to two neighbouring nodes respectively, a term called channel separation (CS) is defined as |c1 − c2|. The relationship between IF and CS is greatly affected by the transmission rate at the physical layer. For transmission rate of 11M bps in IEEE 802.11b standard, the relationship between CS and IF is given in Table I. CS

VS

IF

TABLE I IEEE 802.11b

BASED ON

Channel Separation(CS) Interference Factor(IF)

0 2.0

1 1.2

2 0.7

3 0.5

4 0.2

5 0.0

For any two links li = (u, v) and lj = (x, y) in the tree, the distance between them is denoted by δi,j = min{d(u, x), d(u, y), d(v, x), d(v, y)} where d represents distance. In Fig. 2, we present an ID procedure derived from Table I to assign non-interference channels to links. For example, if δi,j = 0.4R and channel assigned to link li is 1, then the feasible channels that can be assigned to link lj have to be 5,6,...,11. If δi,j = 0, two cases are required to be considered. The first case is that when two links are sibling, the same channel should be shared by them according to WBA property. The second case is that when two links are consecutive links, only non-overlapping channels (ie, CS ≥ 5) can be assigned to them. V. A C ROSS -L AYER A PPROACH FOR C ONSTRUCTING MRDCM T REES In this section, we present a heuristic algorithm named cross-layer and load-oriented (CLLO) algorithm to determine channel-allocated multicast trees with the maximum number of serviced clients. The CLLO algorithm shown in Fig. 3 is designed by jointly considering application demands, multicast routing and channel assignment. To make the following

discussion simple, several terms about the CLLO algorithm are defined as follows: • A partial tree T is defined to be a multicast tree being under construction. • A crossing link is referred as a link that can connect a node u ∈ T to a node v ∈ / T , where T is a partial tree. • A feasible crossing link is a crossing links that can be allocated with at least one non-interference channel when it is added into a partial tree T . In our CLLO algorithm, a multicast tree is generated in a top-down manner. Initially, the partial multicast tree T contains only one node (the gateway). We then add uncovered nodes to T one at a time. As shown in line 11 and 16 of Fig. 3, the procedure stops when all the receivers are covered by T or no ”feasible crossing links” can be found. During the process of constructing a multicast tree, the most important step in our CLLO algorithm is to determine the next best routing link for each partial tree so that it can lead to a resulting tree with maximum number of clients. The determination of next routing links is done by one of the following three procedures: 1) By taking advantages of wireless broadcast, we collect a set of links which can share channels with the other links already in partial tree T . 2) We collect a set of links which are feasible crossing links. 3) If none of links can be found by the above two procedures, a channel-adjusting technique is used to alter channels allocated to links in T in such a way that at least one feasible crossing link can be found. The above procedures are implemented in Fig. 4, Fig. 5 and Fig. 6 respectively, which will be discussed in details later in this section. If one of link sets determined by the above three procedures is not empty, the best feasible crossing link (u, v) is then selected from it. The selection criteria is based on the load values stored at nodes. The method for computing load values is given in [11] . As shown in the ”while loop” of Fig. 3, one iteration is done after a feasible crossing link (u, v) is added into the partial tree T . Suppose none of feasible crossing links can be found, CLLO algorithm stops and outputs the resulting multicast tree, which is then used to compute the gain value. A. Find aLink based on WBA Procedure The main purpose of the procedure given in Fig. 4 is to share channels, which have been allocated to links in T , with the crossing links without incurring any interference. If such a link is found, we can add one more uncovered node into the partial tree T without taking up any new channel. We may then have more free channels left for later use. In general, the more free channels we have, the more receivers we can cover in the multicast tree. That is the reason why WBA procedure is the first procedure executed in the ”while” loop of Fig. 3. In line 3 ∼ 5 of Fig. 4, set ξ is used to collect the feasible crossing links (u, v) that can share channels with some links (u, w) ∈ T . However, the delay constraint ∆ must be satisfied after link (u, v) is added to T . In set ξ, the crossing links (u, v)

644

Input: Given an undirected graph G(V, E), a gateway node s, a delay bound ∆ and a multicast set M = {u|u ∈ V, req(u) > 0}. 1) Make G being a directed graph by replacing an undirected edge with two oppositely directed links; 2) Starting from the gateway node s, a breadth-first traversal procedure is called to assign each node a level value; 3) A backward link (u → v) is deleted if level(u) > level(v); 4) Compute load value by Load computation(G) procedure given in [11]; ¯ S = {s}, E ¯ = ∅ and 5) Let multicast tree T = (S, E), U = V − {s}; 6) While(true){ 7) add = f alse; 8) If(L = F ind aLink based on W BA(T, U, ∆) 6= null){add = true;} 9) Else if(L = F ind f easible crossing link(T, U, ∆) 6= null){add = true;} 10) Else if(L = Channel adjusting(T, U, ∆) 6= null){add = true;} 11) Else break; 12) If(add == true){ 13) Let L={(u, v),λ;} 14) Allocate channel λ to link (u, v); ¯ E ¯ ∪ {(u, v)}; S = S ∪ {v}; U = U − {v}; } 15) E= 16) If(M ⊆ S) break; 17) } Output: A channel-allocated multicast tree T . Fig. 3.

F ind aLink based on W BA(T, U, ∆) 1) Let link set ξ = Ω = ∅; 2) For each link (u, w) ∈ T { 3) If(∃v ∈ U and link (u, v) can share the same channel λ allocated to link (u, w) { 4) If((delay of path from root to u)+d(u, v) ≤ ∆){ 5) ξ = ξ ∪ {(u, v)}; 6) }}} 7) If (ξ == ∅) return null; 8) Ω= {(u, v)| link (u, v) with the largest load(v) value in ξ}; 9) (¯ u, v¯)= max(u,v)∈Ω level(v); 10) Return {link (¯ u, v¯) and channel λ}; Find aLink based on WBA Procedure

The goal of the procedure given in Fig. 5 is to find interference-free crossing links which have higher probability to reach receivers of large demand values. In line 6 of Fig. 5, set ξ is used to collect the feasible crossing links (u, v), which will not violate the delay constraint ∆ after they are added to T . Based on the same reason shown in section V-A, the feasible crossing links (u, v) with the largest load(v) value are collected into set Ω in line 9 of Fig. 5. If there are more than one link in set Ω, the deepest link with the maximum level is selected for addition to the partial tree T . F ind f easible crossing link(T, U, ∆) 1) Let link set ξ = Ω = ∅; 2) For each node u ∈ T { 3) If(∃v ∈ U and v is adjacent to u){ 4) If(at least an interference-free channel λ is found for link(u, v)){ 5) If((delay of path from root to u)+d(u, v) ≤ ∆){ 6) ξ = ξ ∪ {(u, v)}; 7) }}}} 8) If (ξ == ∅) return null; 9) Ω= {(u, v)|link(u, v) ∈ ξ with the largest load(v)}; 10) (¯ u, v¯)= max(u,v)∈Ω level(v); 11) Return {link (¯ u, v¯) and channel λ}; Fig. 5.

Find feasible crossing link Procedure

C. Channel adjusting Procedure

The CLLO Algorithm

with the largest load(v) are selected into set Ω as shown in line 8 of Fig. 4. It is because that we will use the load value as a guide to lead the routing paths to reach nodes with larger demand. If there are more than one link in set Ω, the one with the maximum level is selected.

Fig. 4.

B. F ind f easible crossing link Procedure

In case none of feasible crossing links can be found by procedures in Fig. 4 and Fig. 5, a channel adjusting procedure shown in Fig. 6 is used to alter the CA scheme which has been assigned to the current partial tree. With this adjusting, we may have a chance to assign non-interference channels Channel adjusting(T, U, ∆) 1) ξ={(u, v)|u ∈ T, v ∈ U , (delay of path from root to u )+d(u, v) ≤ ∆}; 2) Sort ξ into a decreasing order list; 3) For each link (u, v) ∈ ξ { 4) I={(x, y, ch)|(x, y) ∈ T interferes link (u, v), and ch is the current channel allocated to (x, y)} 5) For each link (x, y, ch) ∈ I { 6) Λ={all the non-interference channels can be allocated to (x, y)} −{ch}; 7) For each channel η ∈ Λ { 8) Allocate η to link (x, y); 9) If(at least one non-interference channel λ is found for link (u, v)){ 10) Return {link (u, v) and channel λ}; 11) }}} 12) Return null; Fig. 6.

645

Channel adjusting Procedure

VI. E XPERIMENTAL R ESULTS In this section, we present a number of experiments to measure performance metrics for channel-allocated MRDCM trees, which are constructed by the following four methods: CLLO, LMCM+Best-first, LMCM+BFS and LMCM+DFS. The LMCM is multicast tree construction algorithm proposed in [11], while Best-first, BFS and DFS are three CA strategies proposed in [10]. The performance metrics measured in the experiments are as follows: number of serviced clients and throughputs. The set of data about the number of serviced clients obtained by programs written by Java is given in section VI-A. The other sets of data are measured by the Qualnet simulator 4.5 [19]. All the channel-allocated MRDCM trees constructed by the above four approaches are based on the same sets of degreeconstrained random graphs, which are generated on a 1000 × 1000 grid by M AX − DP A algorithm proposed in reference [18]. The settings of simulation parameters are summarized in Table II. TABLE II S IMULATION SETTINGS

simulation parameter network size maximum degree of a node multicast ratio (# of receivers /# of total nodes) # of mesh clients per receiver delay of a link # of network interfaces per node wireless technology transmission range maximum interference range antenna

value 100 nodes 8 10% ∼ 90% 1∼5 1∼5 ≥2 IEEE 802.11b 100 units 200 units omni-directional

55%

performance ratio

to the crossing links. This channel reassignment procedure of Fig. 6 is described as follows. 1) The first step of Fig. 6 is to store all the crossing links (u, v) into set ξ, where link (u, v) will not violate the delay bound ∆ when it is added into T . Set ξ is then sorted into a decreasing order sequence based on the load value stored at the tail end of each link. 2) For each crossing link (u, v) ∈ ξ, a number of links in the partial tree may interfere with it. These interfering links with their allocated channels are stored into set I as shown in line 4. 3) For each tuple (x, y, ch) ∈ I, we are required to find all the interference-free channels for link (x, y). In line 6, these feasible channels are stored in set Λ. 4) If the number of elements in set Λ is more than one, we reassign link (x, y) with a new channel η which is chosen from Λ and is different from ch. The work is done in line 8. The next step shown in line 9 is to test whether this reassignment can result in link (u, v) to be allocated with an interference-free channel λ. If it succeeds, procedure stops with returning link (u, v) and channel λ. Otherwise, go back to step 3.

100‐node networks

50% 45% 40% 35% 30% 10%

20%

30%

40%

50%

60%

70%

80%

90%

multicast ratio Best‐First

Fig. 7.

BFS

DFS

Cross‐Layer

Performance comparisons for 100-node networks

A. Number of serviced clients In order to compare the performance regarding to the number of serviced clients generated from various types of channel-allocated MRDCM trees, a normalized term named ”performance ratio” θ is defined as follows: Gain × 100% (2) Π where Gain is the total number of serviced clients which is defined in equation (1) in section III, and Π is the total number of clients initially assigned to the mesh routers for a given network. Note that Π is an upper bound for the optimal value. Recall that the MRDCM problem is as hard as NP-hard problems. It is only feasible to obtain optimal Gain values for small-size networks. Hence, performance ratios are compared only for four heuristic algorithms described above: CLLO, Best-first, BFS and DFS. Each θ value in the following figures is an average value on 1000 runs. 1) Superiority of Cross-Layer Approach: Recall that the channel adjusting procedure presented in Fig. 6 is used to reassign channels to links included in the multicast tree in order to make a room for current link to have a feasible channel. In fact, it can be worked with any CA strategies to improve performance ratios. To fully explore the merits of cross-layer design on MRDCM trees, our CLLO algorithm without channel adjusting procedure is used for performance comparisons with the other methods in this section. This simplified version of CLLO algorithm is referred as the ”crosslayer” method in Fig. 7. The experimental results show that our cross-layer method consistently outperforms the other three methods: LMCM+Best-first, LMCM+BFS and LMCM+DFS, for various multicast ratios in 100-node networks. The phenomenon is due to that the cross-layer approach can jointly consider application-level demand, routing and CA at the same time. As a result, it can explore more solution space than the methods that build multicast trees first and then followed by CA strategies. It is also noted that θ values decrease in Fig. 7 as the multicast ratios increase. This fact is reasonable because it becomes more difficult to allocate conflict-free channels for links as the number of receivers increases and the interference gets worse. 2) Impact of Channel Adjusting Procedure: Recall that the channel adjusting procedure can be used with any heuristic CA algorithm to increase the number of channel-allocated

646

θ=

performance ratio

60%

100‐node networks

In future, for mesh nodes equipped with battery, we plan to extend our cross-layer approach to take power dissipation into consideration for designing a multicast tree with the longest life.

55% 50% 45% 40% 35%

R EFERENCES

30% 10%

20%

30%

40%

50%

60%

70%

80%

90%

multicast ratio

Fig. 8.

10

Best‐first+adjust

Best‐first

Cross‐Layer+adjust

Cross‐Layer

Impact of channel adjusting

/

100‐node networks

17

throughput

15 13 11 9 7 5 3 30%

50%

70%

90%

multicast ratio BFS

Fig. 9.

DFS

Best‐first

Cross‐layer

Average throughput

links. And, our CLLO algorithm is the cross-layer method combined with channel adjusting procedure. In this section, we are interested in the impact on θ values when the cross-layer and best-first methods are enhanced by channel adjusting procedure. Based on the results shown in Fig. 8, we can see that the improvement ratios of cross-layer method are larger than those of best-first method. It is because that routing and CA are considered together in the cross-layer approach so that more flexibility can be obtained in the channel reassignment phrase. B. Throughputs The throughputs for 100-node networks are obtained by Qualnet 4.5 simulator, where MCBR traffic with 1 packet/sec (or 512KB/sec) for 200 seconds is used for simulation. Here, MCBR stands for multicast constant bit rate. Each data is an average value on 20 runs. In Fig. 9, average throughputs of MRDCM trees constructed by cross-layer, Best-first, BFS and DFS methods are presented. The throughput measured here is based on the number of packets received at all receivers in a MRDCM tree. Therefore, the MRDCM trees with larger number of receivers give higher throughputs. Since MRDCM trees constructed by cross-layer method have more receivers than the others, their corresponding throughputs are the highest for various multicast ratios in Fig. 9. VII. C ONCLUSION AND F UTURE W ORK In this paper, we propose a cross-layer and load-oriented based algorithm for the MRDCM problem. Based on the simulation results, the proposed algorithm outperforms previous methods which solve CA and routing problem separately in terms of the number of serviced mesh clients and throughputs.

[1] I.F. Akyildiz, X. Wang and W. Wang, Wireless mesh networks: a survey, Computer Networks, vol. 47, pp. 445-487, 2005. [2] M. Jahanshahi, M. Dehghan and M.R. Meybodi, ”A mathematical formulation for joint assignment and multicast routing in multi-channel multi-radio wireless mesh networks,” Journal of Network and Computer Applications 2011;34(6):1869-1882. [3] L.H. Sahasrabuddhe and B. Mukherjee, ”Multicast routing algorithms and protocols: a tutorial,” IEEE Network, 2000;4(1):90-102. [4] Carlos A.S. Oliveira, Panos M. Pardalos, ”A survey of combinatorial optimization problems in multicast routing,” Computers & Operations Research 2005;32(8):19531981. [5] U.T. Nguyen and J. Xu, ”Multicast Routing in Wireless Mesh Networks: Minimum Cost Trees or Shortest Path Trees,” IEEE Communications Magazine, 2007, pp. 72-75. [6] Hoang Lan Nguyen and Uyen Trang Nguyen, ”Channel assignment for multicast in multi-channel multi-radio wireless mesh networks,” Wireless Communications and Mobile Computing, 2009;9:557-571. [7] P.M. Ruiz and A.F. Gomez-Skarmeta, ”Approximating Optimal Multicast Trees in Wireless Multihop Networks,” in Proc. of IEEE Symposium on Computers and Communications, 2005, pp. 686-691. [8] G. Zeng, B. Wang, Y. Ding, L. Xiao and M. Mutka, ”Efficient Multicast Algorithms for Multi Channel Wireless Mesh Networks,” IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 1, 2010, pp. 86-99. [9] A.P. Subramanian, H. Gupta, S.R. Das and J. Cao, ”Minimum Interference Channel Assignment in Multiradio Wireless Mesh Networks,” IEEE Transactions on Mobile Computing, 2008;7(12):1459-1473. [10] Wen-Lin Yang, Wan-Ting Hong, ”Channel Allocation Strategies for Interference-Free Multicast in Multi-Channel Multi-Radio Wireless Mesh Networks,” KSII Transactions on Internet and Information Systems, vol. 6, no. 2, 2012, pp. 629-648. [11] Wen-Lin Yang, Chi-Chou Kao and Cheng-Huang Tung, ”Heuristic Algorithms for constructing interference-free and delay-constrained multicast trees for wireless mesh networks,” KSII Transactions on Internet and Information Systems, vol. 5, no. 2, 2011, pp. 269-286. [12] X. Mao, X. Y. Li and S. K. Makki, ”Static Channel Assignment for Multi-Radio Multi-Channel Multi-Hop Wireless Networks,” in Proc. of WTASA 2007. [13] Hoang Lan Nguyen and Uyen Trang Nguyen, ”Bandwidth Efficient Multicast Routing in Multi-channel Multi-radio Wireless Mesh Networks,” International Conference on Ultra Modern Telecommunications (ICUMT’09) 2009. [14] Hoang Lan Nguyen and Uyen Trang Nguyen, ”Algorithm Bandwidth Efficient Multicast Routing in Multi-channel Multi-radio Wireless Mesh Networks,” IEEE Wireless Communications and Networking Conference (WCNC), 2011, pp.1107-1112. [15] Hui Cheng and Shengxiang Yang, ”Joint QoS Multicast routing and channel assignment in multiradio multichannel wireless mesh networks using intelligent computational methods,” Applied Soft Computing, 2011;11(2):1953-1964. [16] Hui Cheng and Shengxiang Yang, ”Joint Multicast routing and channel assignment in multiradio multichannel wireless mesh networks using Tabu Search,” The Fifth International Conference on Natural Computation, 2009, pp. 325-330. [17] A. Mishra, E. Rozner, S. Banerjee and W. Arbaugh, ”Exploiting Partially Overlapping Channels in Wireless Networks: Turning a Peril into an Advantage,” in Proc. of Internet Measurement Conference, pp. 311-316, 2005. [18] F. A. Ont, I. Stojmenovic, H. YaniKomeroglu, Generating random graphs for the simulation of wireless ad hoc, actuator, sensor, and internet networks, Pervasive and Mobile Computing, 2008;4(5):597-615. [19] Qualnet simulator, http://www.scalable-networks.com/content/

647