Next Article in Journal
Coordinate-Based Clustering Method for Indoor Fingerprinting Localization in Dense Cluttered Environments
Next Article in Special Issue
The Impact of 3D Stacking and Technology Scaling on the Power and Area of Stereo Matching Processors
Previous Article in Journal
Managing the Quality of Experience in the Multimedia Internet of Things: A Layered-Based Approach
Previous Article in Special Issue
A Reliable TTP-Based Infrastructure with Low Sensor Resource Consumption for the Smart Home Multi-Platform
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Minimum Interference Channel Assignment Algorithm for Multicast in a Wireless Mesh Network

1
Department of Computer Science, Swaziland Christian University, P.O. Box A624 Swazi Plaza, Mbabane H101, Swaziland
2
Department of Computer Science & Engineering, Seoul National University of Science and Technology, Seoul 01811, Korea
*
Author to whom correspondence should be addressed.
Sensors 2016, 16(12), 2056; https://doi.org/10.3390/s16122056
Submission received: 10 August 2016 / Revised: 18 November 2016 / Accepted: 28 November 2016 / Published: 2 December 2016
(This article belongs to the Special Issue Advances on Resources Management for Multi-Platform Infrastructures)

Abstract

:
Wireless mesh networks (WMNs) have been considered as one of the key technologies for the configuration of wireless machines since they emerged. In a WMN, wireless routers provide multi-hop wireless connectivity between hosts in the network and also allow them to access the Internet via gateway devices. Wireless routers are typically equipped with multiple radios operating on different channels to increase network throughput. Multicast is a form of communication that delivers data from a source to a set of destinations simultaneously. It is used in a number of applications, such as distributed games, distance education, and video conferencing. In this study, we address a channel assignment problem for multicast in multi-radio multi-channel WMNs. In a multi-radio multi-channel WMN, two nearby nodes will interfere with each other and cause a throughput decrease when they transmit on the same channel. Thus, an important goal for multicast channel assignment is to reduce the interference among networked devices. We have developed a minimum interference channel assignment (MICA) algorithm for multicast that accurately models the interference relationship between pairs of multicast tree nodes using the concept of the interference factor and assigns channels to tree nodes to minimize interference within the multicast tree. Simulation results show that MICA achieves higher throughput and lower end-to-end packet delay compared with an existing channel assignment algorithm named multi-channel multicast (MCM). In addition, MICA achieves much lower throughput variation among the destination nodes than MCM.

1. Introduction

Wireless networks are a common communication environment these days. Wireless devices are widely spread out and we can use them every day. Especially, wireless mesh networks (WMNs) [1] are the most recently emerging technology that provides more reliability than mobile ad hoc networks (MANET). Typical WMNs usually consist of mesh clients, mesh routers, and gateways. The mesh clients are often laptops, cell phones, and other wireless devices, while the mesh routers forward data packets to and from the gateway nodes which usually connect to the Internet. WMNs can be implemented with various existing wireless technologies, including 802.11, 802.16, ZigBee, or cellular technologies.
Multicast communications can be useful for exchanging information between physical devices, such as wireless sensors. An individual physical device sends control or data packets to some control devices. These control nodes can collect and aggregate this information and send them to multiple interested devices or users. In addition, whenever the control machines receive packets, they distribute them to some destination devices or users. It is well known that multicast can transmit the same data flow to multiple destinations without producing the duplicated flow and wasting bandwidth.
One of the greatest challenges of applying multicast in machine-to-machine (M2M) communications [2,3,4] is how to deal with network interference between machines. Wireless mesh routers in WMNs are typically equipped with multiple network interfaces operating on different channels to increase network throughput. In a multi-radio multi-channel WMN, when two nearby nodes transmit on the same channel, they may interfere with each other and cause throughput decreases. Therefore, we need an efficient solution to reduce network interference to improve network throughput significantly. One of the best ways to decrease interference in WMNs is always to assign a different channel to each wireless device instead of the same channel. However, we do not have enough available channels to use at the same time. As a result, we need an efficient channel assignment mechanism to diminish the overall network interference in the network. In this work, we have proposed a minimum interference channel assignment (MICA) algorithm for multicast that accurately models the interference relationship between pairs of multicast tree nodes using the concept of the interference factor and assign channels to tree nodes to minimize interference within the multicast tree.
There are many studies on how to assign channels to nodes in WMNs [5,6,7,8,9,10,11,12,13,14]. All of these studies concentrate on unicast communications. On the other hand, channel assignment for multicast has been addressed recently [15,16,17,18,19,20,21,22,23]. In addition, there are emerging studies of resource allocation for small cell networks, called femtocell networks [24,25,26,27,28]. The femtocell network is a small coverage network to support home users. Femtocell networks suffer from cross-tier interference between macrocell and multiple femtocells as well. The channel assignment algorithm named multi-channel multicast (MCM) [17] suffers from low throughput caused by the hidden channel problem (HCP) [15]. Our proposed algorithm in this paper can get rid of HCP by considering every pair of nodes in the network. This algorithm allows nodes in a multicast tree to work with minimum interference. Our simulation results show that MICA achieves higher throughput and lower end-to-end packet delay compared with MCM. In addition, MICA accomplishes much lower throughput variation among the destination nodes than MCM.
This paper is organized as follows: Section 2 reviews the relevant literature regarding channel assignment for multicast in WMNs; we describe our proposed MICA algorithm and explain three procedures in detail in Section 3; Section 4 shows our simulation results, focusing on comparing the performance of MICA with that of MCM; and the last section finalizes the paper by providing conclusions.

2. Related Work

In this section, we review some of the related works in the area of channel assignment for multicast in multi-channel multi-radio WMNs. It is widely considered that there are two different types of channels in the study of channel assignment for multi-channel and multi-radio WMNs: orthogonal channels and partially-overlapped channels. In 802.11b/g network environments the use of 11 channels from channel number 1–11 is allowed [22]. Based on the IEEE 802.11b/g standard, if the channel gap is greater than, or equal, to 5 then two channels are non-overlapping. This means that three channel numbers 1, 6, and 11 are non-overlapping channels in 802.11b/g. Orthogonal channels can completely eliminate network interference between two nodes and dramatically increase network throughput. However, only three orthogonal channels are not enough to assign them to the network interfaces of wireless nodes to get rid of network interference completely. Thus, most of the studies of channel assignment consider partially-overlapping channels.
Previous studies on channel assignment problems in multi-channel multi-radio WMNs have been studied substantially for unicast communications [5,6,7,8,9,10,11,12,13,14]. However, recent studies on the channel assignment problem in WMNs focus on multicast manner [15,16,17,18,19,20,21,22,23]. Therefore, our work focuses on the channel assignment problem for multicast in WMNs.
In [17], authors presented the MCM algorithm. The MCM algorithm is a channel assignment algorithm for multicast in multi-channel multi-radio wireless mesh network environments. This algorithm first constructs a multicast tree for multicast communications from a source to multi-receivers. In the multicast tree, there are three kinds of nodes: a source, relay nodes, and multi-receivers. A source node usually generates data packets, and a relay node receives packets from its relay node and forwards them to its children. Lastly, there are several receivers that just receive data from its parent node. In this algorithm, they assume each wireless node has two network interfaces: one for sending packets to its children and the other for receiving data from its relay node. Thus, each node needs two-channel information for these network interfaces. The main goal of MCM is to assign channel numbers to the sending and receiving interfaces, respectively, without network interference. The MCM algorithm uses an interference factor to estimate the level of interference between two nodes. The interference factor [17] is defined as the ratio of the interference range by the transmission range. The interference factor is also closely connected with channel separation [29] between two nodes. In the previous research, they conducted real experiments to measure the interference factor between two wireless peer-to-peer links. Table 1 shows the interference factors in an IEEE 802.11b network. As seen from this table, we can know that the interference range decreases as the channel separation increases. For instance, if the channel separation is greater than, or equal to, 5 then the interference factor value is zero, which means there is no interference between the two nodes. An example of channel assignment by MCM is shown in Figure 1. In this example, S is a source node, C, D, and F are multi-receivers, and A, B, and E are relay nodes. The black-colored numbers represent the channel number for each node’s sending interface and the red-colored number represents the channel number for each node’s receiving interface. The MCM channel assignment algorithm considers only one-hop neighboring nodes to decide the influence of interference. This approach may yield the HCP. The HCP takes place when two different nodes which are away from each other with a two-hop distance use the same channel, thus these two nodes can interfere with themselves. For example, node A receives packets from node S on channel 1, which means node A is located in the source node’s transmission range. Additionally, node A is within node B’s transmission range in Figure 1. Unfortunately, node B uses the same channel as the source node’s sending interface. If nodes S and B transmit their packets at the same time, there will be a collision at node A. This situation occurs because node B examines only the channel assigned to its one-hop neighbor A and does not consider the one assigned to two-hop neighbor S. Our new channel assignment algorithm thinks about every pair of nodes within the given network in order to minimize network interference and improve overall network throughput.
Nguyen et al. [15] provided a channel assignment algorithm named minimum interference multi-channel multi-radio multicast (M4). M4 allows nodes to broadcast the channel information to their neighbors whenever every node receives the broadcast message, it adds its own channel information and re-broadcasts the updated message to its neighbors. The M4 algorithm has definitely improved performance compared to MCM. It considers not only one-hop neighbors but also two-hop ones for channel assignment to solve HCP. However, if the physical distance of one node and its two-hop neighbors is close, there may be network interference between the two nodes. Therefore, M4 still has a network interference problem. Due to this reason, our proposed algorithm investigates every pair of nodes in the multicast tree to minimize network interference.
Jahanshahi et al. [18] proposed a layered binary integer programming (layered BIP)-based solution for the channel assignment in WMNs. The primary goal of layered BIP is to minimize the total number of links in the multicast tree and network interference. One drawback of the study is that there is no large difference to deal with multicast communication compared to unicast communication. In [19], authors also adopted an integer linear programming in order to minimize the carried load on the most-heavily loaded channel and maximize the residual capacity of the most heavily loaded node. They proposed a heuristic multicast tree construction and channel assignment algorithm called largest coverage and shortest path first (LC-SPF).
MCM and M4 mainly concentrate on minimizing network interference between nodes in order to increase network throughput and mitigate end-to-end packet delay. However, Yang et al. [20] proposed the load-based MCM (LMCM). This scheme selects a relay node based on the largest load value when it constructs a multicast tree. In this study, load means the number of subscribers served by the sub-tree rooted at the node. In addition, two channel assignment mechanisms are also proposed in the paper-load-based depth first search and load-based breadth first search.
Karimi et al. [21] proposed a heuristic channel assignment algorithm named progressive channel assignment (progressive CA). In progressive CA, channel assignment is decided according to a certain acceptable threshold value. The algorithm visits each node in the multicast tree using a breadth-first search to find the highest interference factor below the threshold. However, there is no mention about how to decide the threshold in the paper.

3. Minimum Interference Channel Assignment

The ultimate goal of the minimum interference channel assignment (MICA) algorithm is to assign communication channels to wireless devices properly for the purpose of minimizing network interference among nodes. Therefore, MICA achieves maximum throughput and minimum end-to-end packet delay for multicast in wireless mesh networks. In this section, we describe how the MICA algorithm works.
The MICA algorithm accepts a multicast tree as an input and produces a channel assignment for communicating interfaces of each wireless node in the tree. There are three steps in MICA. The first step is to calculate channel separation of all pairs of nodes in the network in order to avoid network interference. The second phase is to find whether there is a channel separation of zero (CSzero) among wireless nodes. This is why we could assign the same channel to those pairs of nodes as many times as possible. Lastly, MICA assigns an optimal channel numbers to all of the nodes in the network.

3.1. Calculating a Channel Separation of All Pairs of Nodes

MICA first computes the channel separation of all pairs of nodes in a multicast tree. In the first step, the algorithm considers only a pair of nodes which are not a leaf node in the tree. Channel Separation is defined as the difference in channel numbers which are used by the two pairs of nodes [29]. When calculating the channel separation of two pairs, MICA examines every pair of nodes in the tree to minimize network interference between two nodes. Algorithm 1 shows the algorithm of calculating channel separation of all pairs of nodes. This algorithm needs to calculate the channel separation of all pairs of nodes in the network, so the time complexity of the algorithm is Ο ( n ) , where n is the total number of nodes in the network.
Algorithm 1: Calculating Channel Separation
  1: input: T, a multicast tree
  2: output: CS<u, v>, the channel separation of all pairs of nodes in T
  3: procedure CALCULATING THE CHANNEL SEPARATION OF ALL PAIRS OF NODES
  4: for each pair of nodes (u, v) T   d o
  5:  Cu ← the set of u’s children
  6:  Cv ← the set of v’s children
  7:  MAXu ← 0
  8:  MAXv ← 0
  9:  for each node iu Cu do
10:   CS<v, iu> ← channel separation between v and iu
11:   MAXv ← a maximum value between MAXv and CS<v, iu>
12:  end
13:  for each node iv Cv do
14:   CS<u, iv> ← channel separation between u and iv
15:   MAXu ← a maximum value between MAXu and CS<u, iv>
16:  end
17:  CS<u, v> ← a maximum value between MAXu and MAXv
18: end
The purpose of the first step is to compute the channel separation of all pairs of nodes in the multicast tree. First, MICA considers all pairs of nodes (u, v) in the given tree. Next, it attempts to obtain the channel separation between u and v’s children and v and u’s children.
We use an interference factor to compute the channel separation of two nodes. As mentioned before, the interference factor is defined as the ratio of an interference range to a transmission range. From this definition, we can obtain the interference range by multiplying the interference factor by the transmission range. If a physical distance of two comparing nodes is within the obtained interference range, these two nodes may interfere with each other. However, we can eliminate network interference between two nodes by increasing channel separation. According to Table 1, as the value of channel separation increases, an interference factor decreases. For example, if channel separation is greater than, or equal to, 5 there is no interference between two nodes in an 802.11b network. Consequently, we can get channel separation with no interference between two nodes if we can acquire channel separation in which the physical distance of two nodes is greater than the interference range of these two nodes. Finally, we can decide the final channel separation between u and v by choosing the maximum channel separation value among u and v’s children and v and u’s children.
We assume that all wireless nodes have the same transmission range 250 m in the multicast tree shown in Figure 2. As mentioned before, we do not consider leaf nodes in the first step. Therefore, we only think about the combination of all nodes except F, G, and I in the tree. For instance, we want to calculate the channel separation of S and A. MICA always looks at the opponent’s children to totally eliminate network interference between two nodes. In the case of S and A pair, S’s children are A and B and A’s child is C. As a result, (S, C) and (A, B) pairs will be considered to calculate the channel separation of S and A.
Let us assume that the physical distance of S and C is 350 m and that of A and B is 420 m. If the channel separation of two arbitrary nodes is 1 then an interference factor is 1.6 at 2 Mbps of network bandwidth based on Table 1. Now, we can compute the interference range by multiplying 1.6 by 250 m (a given transmission range). Hence, the interference range between any nodes is 400 m in this case. This result means that if the distance of two nodes is within this amount of value then they might interfere with each other. Therefore, we should increase the channel separation of the two nodes in order to avoid network interference. Given by the scenario, the channel separation of S and C should be two and that of A and C is one to remove network interference. Finally, MICA can decide the maximum value (=2) as a result of the channel separation of S and A. This procedure can be applied to calculate the channel separation of all pairs of nodes except F, G, and I in the multicast tree shown in Figure 2.

3.2. Finding Channel Separation of Zero

Finding channel separation of zero is the second step. There are two situations in this step. The first scenario is that there is CSzero between two nodes. The other case is that there exists no pair of nodes with CSzero. In this step, we first find CSzero in a multicast tree. If there is no CSzero, we try to discover channel separation of a maximum value. The algorithm of finding CSzero is represented in Algorithm 2. Like the algorithm of calculating the channel separation in Section 3.1, the time complexity of finding channel separation of zero is also Ο ( n ) , where n is the total number of nodes in the network.
CSzero means that there is no channel difference between two nodes. In other words, although two nodes use the same channel number at the same time, there is no interference between these two nodes. It is very important to find CSzero because available channel numbers are limited.
The second step takes a multicast tree and the channel separation obtained from the first step as the input. We define two sets of nodes, SD and SN in this phase. While SD contains nodes that acquire their own channel number, SN holds nodes that do not have a channel number. These sets are the output of the second step. For each pair of nodes, u and v, in a multicast tree, MICA investigates whether there is CSzero or not. If it exists, the given algorithm (Algorithm 2) assigns a specific channel number, a channel number 6, to the sending interface of u and v. Especially, we use a certain channel number 6 in this algorithm because this number is one of the orthogonal numbers as we mentioned before. Furthermore, it could be possible to eliminate network interference the first time as we discussed before. Then, u and v are allocated to SD and the rest of the nodes except u and v are assigned to SN. Next, if SD is not empty, the algorithm keeps searching if there is CSzero between node i in SN and all of the nodes in SD. Whenever obtaining CSzero, we can remove i from SN and put it into SD. This procedure continues until there is no CSzero. Otherwise, for every (u, v), we just select a channel separation of a maximum value between u and v. After that, we need to assign channel number 6 to one of these nodes and the summation of channel number 6 and the maximum channel separation value to the other node as its channel number. Finally, we put u and v to SD and all nodes except u and v to SN.
Algorithm 2: Finding Channel Separation of Zero
  1: input: T, a multicast tree
  2:    CS<u, v>, the channel separation of all pairs of nodes in T
  3: output: SD, the set of nodes with a channel number for their sending interface
  4:    SN, the set of nodes without a channel number for their sending interface
  5: procedure FINDING CHANNEL SEPARATION OF ZERO
  6: for each pair of nodes (u, v) T   d o
  7:  if CS<u, v> == 0 then
  8:   sending interface of u ← channel number 6
  9:   sending interface of v ← channel number 6
10:   SDu, v
11:   SN ← all nodes except (u, v) in T
12:   break
13:  end
14: end
15: if SD then
16:  for each node i SN do
17:   if CS<i, j> == 0 for all j SD then
18:    sending interface of i ← channel number 6
19:    remove i from SN
20:    SDi
21:   end
22:  end
23: else
24:  find u, v T such that CS<u, v> is a maximum
25:  sending interface of u ← channel number 6
26:  sending interface of v ← channel number 6 + CS<u, v>
27:  SDu, v
28:  SN ← all nodes except except (u, v) in T
29: end
Let us think about the following example to illustrate the second step. We assume that there exists CSzero between nodes A and D in the multicast tree shown in Figure 2, which means that the same channel number can be assigned to A and D. In this case, MICA allocates channel number 6 to these two nodes for their sending interface and put A and D to SD. After that, it keeps searching for a pair of nodes with CSzero. Nodes A and D have already been put in SD, so MICA needs to keep comparing all other nodes which are located in SN with the two nodes A and D, for instance, after checking both channel separation between A and H and channel difference between D and H. If these two channel separation values (CS <A, H> and CS <D, H>) are all zero, MICA can assign the same channel number as that of A and D to H and put it into SD. As a result, SD = {A, D, H} and SN = {S, B, C, E}. This process continues until all of the nodes in SN are examined.
There is one more situation in the second step. Let us assume that there is no pair of nodes with CSzero in the first place. In this scenario, MICA just chooses two nodes with a channel separation of a maximum value. Suppose that a channel separation of A and H has a maximum value of 5. Now, we can assign channel number 6 to A and 11 to H and put these two nodes into SD based on the given algorithm. Finally, all remaining nodes—S, B, C, D, and E—are located in SN. Therefore, SD = {A, H} and SN = {S, B, C, D, E}.

3.3. Assigning a Channel Number to All Nodes

In the final round, MICA needs to assign a channel number to all of the nodes in SN. The final process is well illustrated in Algorithm 3.
Algorithm 3: Assigning a Channel Number to All Nodes
1: input: T, a multicast tree
2:    SD, the set of nodes with a channel number for their sending interface
3:    SN, the set of nodes without a channel number for their sending interface
4: output: Channel assignment for all network interfaces
5: CS<u, v>: the channel separation of all pairs of nodes in T
6: CHi: a channel number for node i
7: CONDj: the set of conditions for deciding a channel number of node j
8: procedure ASSIGNING A CHANNEL NUMBER
9: while SN d o
10:  find x SN, y SD such that CS<x, y> is a maximum
11:  for each node k SD do
12:   CONDx ← [CHx >= CHk + CS<x, k> or CHx <= CHkCS<x, k>]
13:   eliminate all invalid channel numbers
14:    C O N D ˜ x CONDx conflict conditions
15:    select CHx that satisfies all conditions C O N D ˜ x
16:  end
17:  xCHx
18:  remove x from SN
19:  SDx
20: end
MICA takes SD and SN as inputs and produces a final channel assignment for all network interfaces of every node in a multicast tree. First, MICA compares a channel separation of each node i in SN with all nodes in SD. After finishing all comparisons, it selects one node which has a channel separation of a maximum value. Next, for each node k in SD, it can be possible for MICA to generate several conditions for the channel number of node i. One possible channel number of i might be greater than, or equal to, the summation of CS < k, i > and the channel number of k. The other could be less than, or equal to, the difference between CS < k, i > and the channel number of k. Based on the number of elements of SD, the number of conditions will be decided. After producing all possible conditions, MICA can choose a channel number for node i. Eventually, the selected channel number will be used for the sending interface of i. Now MICA can remove i from SN and put it into SD. This process keeps running until there are no elements in SN, which means the sending interface of all nodes in a multicast tree has its own channel number. Lastly, we can easily assign a channel number to each receiving interface of all nodes because the receiving interface of each node should be the same channel number as its parent’s sending interface to communicate with each other. The algorithm of assigning channel numbers is affected by the algorithm shown in Algorithm 2. Therefore, this channel assignment algorithm takes Ο ( n ) in the worst case. As a result, the overall time complexity of the proposed channel assignment algorithm takes Ο ( n ) , where n is the total number of nodes in the network.
The following scenario is a specific example in order to demonstrate the final step. Let us assume that SD = {A, H}, SN = {S, B, C, D, E}, nodes A and D have a channel separation of 3, and H and D have a channel separation of 2. One more assumption is that CS <A, D> is the maximum channel separation among all nodes in SN. Therefore, node D can have its own channel number based on this maximum value. Suppose that the channel number of A is 6 and the channel difference between A and D is 3, there might be one of the following conditions: the channel number of D is less than or equal to 3 (COND1) or that of D is greater than or equal to 9 (COND2). Therefore, D can have the channel number 3 or 9. In addition, assume that H uses the channel number of 11 and the channel separation between H and D is 2. The following two more conditions may be considered: the channel number of D is less than, or equal to, 9 (COND3) or that of D is greater than, or equal to, 13 (COND4). However, we cannot use 13 because our channel assumption is that we only have 11 channels from 1 to 11. Hence, a channel number of 13 is an invalid number to use, so COND4 will be eliminated. In order to satisfy three conditions from COND1 to COND3, MICA finally assigns a channel number of 9 to node D and puts it into SD. The reason why MICA cannot assign a channel number of 3 to D is that COND2 says the channel number of D should be greater than, or equal to, 9. This procedure continues until it covers all nodes in SN. Consequently, all nodes except F, G, and I, in a multicast tree are located in SD, which means that every node, except leaf nodes, has its own channel number of its sending interface. Figure 3 represents the multicast tree where every node has its own channel number for its sending and receiving interfaces. Leaf nodes F, G, and I have only a receiving interface because they do not need to forward packets and the source node S is simply a sending interface. In Figure 3, the black-colored number means the channel number for each node’s sending interface and the red-colored number represents the channel number for each node’s receiving interface, like Figure 1.

4. Simulations

We evaluate MICA by comparing it with the MCM algorithm. The reason why MICA is proposed is that it eliminates the drawback of MCM (HCP) by examining every pair of nodes in the network. Our simulation tool is QualNet 4.5 (SCALABLE Network Technologies, Culver City, CA, USA) [30]. For the first experiment, we measure an average number of packets received by multi-receivers and the standard deviation of average packets in different network topologies. In the experimental setting, the number of multi-receivers is fixed and a variety of multicast trees are used. For the second test, QualNet computes an average number of packets received by multi-receivers and an end-to-end packet delay with the different number of multi-receivers. In the second simulation setup, we use the same network topology during the entire simulation. Whenever carrying out the second experiment, only the number of multi-receivers is changed.

4.1. Performance Metrics

For a simulation study, the following metrics are used in order to measure the performance of MICA and MCM:
  • Average packet: an average packet is defined as the average number of packets that each multi-receiver receives successfully during the simulation time.
  • Average delay: an average delay is the average time taken for a packet to be transmitted across a network from source to destination.
  • Standard deviation: the standard deviation is the variability or dispersion of packets received by all multi-receivers.

4.2. Simulation Parameters

We first perform 10 experiments with different network topologies. Whenever conducting each experiment, QualNet randomly places 30 wireless nodes in a flat area of 900 m by 900 m. In this scenario, there is one source and 10 multi-receivers in a multicast tree where these nodes are randomly selected as being a receiver. For the other experiment, a different number of multi-receivers is applied under the same topology. For the entire simulation settings, each node has two network interfaces for sending and receiving data packets, so they use two channel numbers for their radio interfaces. A total of 11 channel numbers are adopted for channel assignment. The transmission range of each wireless node is 250 m and the transmission rate is 11 Mbit/s. The data packet size for all traffic is 512 bytes and the transmission rate of a source node is 100 packets/s. The traffic model is a multicast constant bit rate (MCBR) traffic generator to evaluate the multicast performance. The QualNet software provides the following multicast routing protocols: on-demand multicast routing protocol (ODMRP) [31], distance vector routing protocol (DVMRP) [32], multicast open shortest path first (MOSPF) [33], and multicast ad hoc on-demand distance vector (MAODV) [34]. We decided to use MOSPF because this protocol basically supports multiple network interfaces. Finally, we set a total simulation time to 300 s. The aforementioned simulation parameters are summarized in Table 2.

4.3. Simulation Results

We generate different network topologies when performing the first scenario. Whenever executing each simulation, a source node produces 100 packets per second and the simulation time is 300 s, so a sender creates 30,000 packets during each simulation. For each experiment, we measure total packets received by each multi-receiver and compute the average number of received packets. These simulation results are represented in Figure 4. This graph shows the average number of packets received by multi-receivers during the simulation time. As seen from this graph, the performance of the proposed MICA algorithm is much better than that of MCM. The average number of packets received by multi-receivers using MICA is approximately between 25,000 and 29,000. This value is very close to the number of packets (30,000) the source generates. On the other hand, the majority of the average number of packets using MCM is below 20,000 and the worst case is under 5000.
We also measured the standard deviation of all packets received by multi-receivers. The result is shown in Figure 5. This picture represents the standard deviation of the packets received by receivers. The standard deviation of MICA is much lower than that of MCM. For 10 experiments, the standard deviation of MICA was below 2000, which means all receivers receive packets evenly. However, MCM has a much higher value than MICA, which means some destinations receive some amount of packets but other nodes cannot receive a certain amount of packets. The standard deviation in our simulation shows the variability of packets received by all multi-receivers. If the value of standard deviation is small, all multi-receivers fairly receive data packets, but a large value depicts some receivers obtain enough packets, but others do not. Consequently, if the variance of packets received by multi-receivers is extremely large, then it indicates that overall network throughput is not outstanding.
Finally, we calculate the average number of packets received in simulations with a different number of multi-receivers by assigning the number of receivers to 2, 4, 6, 8, and 10. The results are shown in Figure 6. This graph shows the trend of the average packets received as the number of receivers is increased. Although the number of receivers is increased, the performance of MICA is stable. All receivers receive almost all of the packets from the source regardless of the number of receivers. However, the performance of MCM is affected by the number of multi-receivers because the chance of network interference is also increased. We also compute the average end-to-end packet delay of MICA and MCM by comparing the average time for each packet takes to arrive at multi-receivers. Figure 7 shows the trend of average end-to-end packet delay. The average delay of MICA is almost same regardless of the number of receivers. However, the delay of MCM gets higher as the number of receivers is increases because of network interference. If network interference exists then it causes packet collision and retransmission, so the end-to-end delay is also increased.
The most important reason why we get these simulation results is that the MCM algorithm has HCP, which we discussed in Section 2. We conclude that HCP yields network interference among wireless nodes. As a result, it causes a poor network throughput. By eliminating this problem, MICA significantly improves the network performance for multicasting.

5. Conclusions

In this study, we propose a channel assignment algorithm for multicast in multi-channel multi-radio wireless mesh networks. We investigate the drawback of the MCM algorithm and try to find the solution to minimize network interference and enhance network throughput. MCM only considers one-hop neighbors for channel assignment. This mechanism may yield HCP, so there is network interference among wireless nodes when they communicate with each other at the same time and this problem might have an influence on overall network throughput. Our simulation results show that the performance of MCM is much worse than that of MICA because of network interference. Accordingly, our approach focuses on reducing network interference by considering every pair of nodes in a multicast tree for channel assignment. By minimizing interference among wireless nodes in a wireless network, we can improve overall network throughput and reduce end-to-end packet delay. The performance evaluation shows that our algorithm outperforms the MCM algorithm in terms of average packets received by multi-receivers and an average end-to-end delay in a given network environment.

Acknowledgments

This research was supported by the MSIP (Ministry of Science, ICT and Future Planning), Korea, under the ITRC (Information Technology Research Center) support program (IITP-2016-H8601-16-1009) supervised by the IITP (Institute for Information & Communications Technology Promotion).

Author Contributions

All authors contributed equally to this work. Sangil Choi designed the main concept of MICA algorithm and wrote the paper. Jong Hyuk Park compared the performance of MICA and MCM, conducted the experiments, and wrote the simulation section.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Akyildiz, I.F.; Wang, X.; Wang, W. Wireless Mesh Networks: A Survey. Elsevier Comput. Netw. 2005, 47, 445–487. [Google Scholar] [CrossRef]
  2. Stojmenovic, I. Machine-to-machine communications with in-network data aggregation, processing, and actuation for large-scale cyber-physical systems. IEEE Internet Things J. 2014, 1, 122–128. [Google Scholar] [CrossRef]
  3. Perera, C.; Zaslavsky, A.; Christen, P.; Georgakopoulos, D. Context aware computing for the internet of things: A survey. IEEE Commun. Surv. Tutor. J. 2014, 16, 414–454. [Google Scholar] [CrossRef]
  4. Dohler, M.; Anton-Haro, C. Machine-to-Machine (M2M) Communications—Architecture, Performance and Applications; Woodhead Publishing: Cambridge, UK, 2015. [Google Scholar]
  5. Alicherry, M.; Bhatia, R.; Li, L. Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks. In Proceedings of the ACM SIGMOBILE, Cologne, Germany, 28 August–2 September 2005.
  6. Das, A.K.; Alazemi, H.M.K.; Vijayakumar, R.; Roy, S. Optimization models for fixed channel assignment in wireless mesh networks with multiple radios. In Proceedings of the IEEE SECON, Santa Clara, CA, USA, 26–29 September 2005.
  7. Kodialam, M.; Nandagopal, T. Characterizing the capacity region in multi-radio multi-channel wireless mesh networks. In Proceedings of the ACM MOBICOM, Cologne, Germany, 28 August–2 September 2005.
  8. Marina, M.K.; Das, S.R. A topology control approach for utilizing multiple channels in multi-radio wireless mesh networks. In Proceedings of the IEEE BROADNETS, Boston, MA, USA, 3–7 October 2005.
  9. Ramachandran, K.N.; Belding, E.M.; Almeroth, K.C.; Buddhikot, M.M. Interference-aware channel assignment in multi-radio wireless mesh networks. In Proceedings of the IEEE INFOCOM, Barcelona, Spain, 23–29 April 2006.
  10. Raman, B. Channel allocation in 802.11-based mesh networks. In Proceedings of the IEEE INFOCOM, Barcelona, Spain, 23–29 April 2006.
  11. Raniwala, A.; Chiueh, T. Architecture and algorithms for an IEEE 802.11-based multi-channel wireless mesh network. In Proceedings of the IEEE INFOCOM, Miami, FL, USA, 13–17 March 2005.
  12. Raniwala, A.; Gopalan, K.; Chiueh, T. Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks. In Proceedings of the ACM SIGMOBILE, Philadelphia, PA, USA, 26 September–1 October 2004.
  13. Subramanian, A.P.; Gupta, H.; Das, S.R. Minimum interference channel assignment in multi-radio wireless mesh networks. In Proceedings of the IEEE SECON, San Diego, CA, USA, 18–21 June 2007.
  14. Tang, J.; Xue, G.; Zhang, W. Interference-aware topology control and QoS routing in multi-channel wireless mesh networks. In Proceedings of the ACM SIGMOBILE, Cologne, Germany, 28 August–2 September 2005.
  15. Nguyen, H.L.; Nguyen, U.T. Channel assignment for multicast in multi-channel multi-radio wireless mesh networks. Wirel. Commun. Mob. Comput. 2009, 9, 557–571. [Google Scholar]
  16. Yin, Z.; Li, Z.; Chen, M. A novel channel assignment algorithm for multicast in multi-radio wireless mesh networks. In Proceedings of the IEEE ICNP, Beijing, China, 16–19 October 2007.
  17. Zeng, G.; Wang, B.; Ding, Y.; Xiao, L.; Mutka, M. Efficient multicast algorithms for multi-channel wireless mesh networks. IEEE Trans. Parallel Distrib. Syst. 2010, 21, 86–99. [Google Scholar] [CrossRef]
  18. Jahanshahi, M.; Dehghan, M.; Meybodi, M.R. On channel assignment and multicast routing in multi-channel multi-radio wireless mesh networks. Int. J. Ad Hoc Ubiquitous Comput. 2013, 12, 225–244. [Google Scholar] [CrossRef]
  19. Chiu, H.S.; Yeung, K.L. Maximizing multicast call acceptance rate in multi-channel multi-interface wireless mesh networks. IEEE Trans. Wirel. Commun. 2010, 9, 2622–2631. [Google Scholar] [CrossRef] [Green Version]
  20. Yang, W.-L.; Kao, C.-C.; Tung, C.-H. Heuristic algorithms for constructing interference-free and delay-constrained multicast trees for wireless mesh networks. KSII Trans. Internet Inf. Syst. 2011, 5, 269–286. [Google Scholar] [CrossRef]
  21. Karimi, O.B.; Liu, J.; Li, Z. Multicast with cooperative gateways in multi-channel wireless mesh networks. Ad Hoc Netw. 2014, 13, 170–180. [Google Scholar] [CrossRef]
  22. Ding, Y.; Huang, Y.; Zeng, G.; Xiao, L. Using partially overlapping channels to improve throughput in wireless mesh networks. IEEE Trans. Mob. Comput. 2012, 11, 1720–1733. [Google Scholar] [CrossRef]
  23. Gaaloul, F.; Radaydeh, R.M.; Alouini, M.-S. Performance improvement of switched-based interference mitigation for channel assignment in over-loaded small-cell networks. IEEE Trans. Wirel. Commun. 2013, 12, 2091–2103. [Google Scholar] [CrossRef]
  24. Chandrasekhar, V.; Andrews, J.G.; Muharemovic, T.; Shen, Z. Power Control in Two-Tier Femtocell Networks. IEEE Trans. Wirel. Commun. 2009, 8, 4316–4328. [Google Scholar] [CrossRef]
  25. Liu, D.; Zhang, H.; Zheng, W.; Wen, X. The sub-channel allocation algorithm in femtocell networks based on ant colony optimization. In Proceedings of the Military Communications Conference (MILCOM 2012), Orlando, FL, USA, 29 October–1 November 2012.
  26. Zhang, W.; Jiang, C.; Beaulieu, C.N.; Chu, X.; Wen, X.; Tao, M. Resource allocation in spectrum-sharing OFDMA femtocells with heterogeneous service. IEEE Trans. Commun. 2014, 62, 2366–2377. [Google Scholar] [CrossRef]
  27. Zhang, W.; Xing, H.; Cheng, J.; Nallanathan, A.; Leung, V.C.M. Secure Resource allocation for OFDMA two-way relay wireless sensor networks without and with cooperative jamming. IEEE Trans. Ind. Inform. 2016, 12, 1714–1725. [Google Scholar] [CrossRef]
  28. Zhang, W.; Jiang, C.; Beaulieu, C.N.; Chu, X.; Wang, X.; Quek, T.Q.S. Resource allocation for cognitive small cell networks: A cooperative bargaining game theoretic approach. IEEE Trans. Wirel. Commun. 2015, 6, 3481–3493. [Google Scholar] [CrossRef]
  29. Mishra, A.; Rozner, E.; Banerjee, S.; Arbaugh, W. Exploiting partially overlapping channels in wireless networks: Turning a peril into an advantage. In Proceedings of the IMC, Berkeley, CA, USA, 19–21 October 2005.
  30. Qualnet. Available online: http://web.scalable-networks.com/content/qualnet (accessed on 8 August 2016).
  31. Lee, S.J.; Gerla, M.; Chiang, C.C. On-demand multicast routing protocol. In Proceedings of the IEEE WCNC’99, New Orleans, LA, USA, 21–25 September 1999.
  32. Distance Vector Multicast Routing Protocol. Available online: http://www.networksorcery.com/enp/rfc/rfc1075.txt (accessed on 8 August 2016).
  33. Multicast Extensions to OSPF. Available online: http://www.networksorcery.com/enp/rfc/rfc1584.txt (accessed on 8 August 2016).
  34. Royer, E.M.; Perkins, C.E. Multicast operation of the ad-hoc on-demand distance vector routing protocol. In Proceedings of the ACM MOBICOM, Seattle, WA, USA, 15–20 August 1999.
Figure 1. An example of channel assignment by MCM.
Figure 1. An example of channel assignment by MCM.
Sensors 16 02056 g001
Figure 2. Multicast tree and children of S and A.
Figure 2. Multicast tree and children of S and A.
Sensors 16 02056 g002
Figure 3. Channel assignment example by MICA.
Figure 3. Channel assignment example by MICA.
Sensors 16 02056 g003
Figure 4. Average packets received by multi-receivers.
Figure 4. Average packets received by multi-receivers.
Sensors 16 02056 g004
Figure 5. Standard deviation of all packets received by multi-receivers.
Figure 5. Standard deviation of all packets received by multi-receivers.
Sensors 16 02056 g005
Figure 6. Impact of a different number of multi-receivers.
Figure 6. Impact of a different number of multi-receivers.
Sensors 16 02056 g006
Figure 7. Comparison of end-to-end packet delay.
Figure 7. Comparison of end-to-end packet delay.
Sensors 16 02056 g007
Table 1. Interference factor in an IEEE 802.11b network.
Table 1. Interference factor in an IEEE 802.11b network.
Channel Separation2 Mbits/s5.5 Mbits/s11 Mbits/s
02.52.22.0
11.61.51.2
21.21.00.7
30.90.80.5
40.50.30.2
50.00.00.0
Table 2. Simulation parameters.
Table 2. Simulation parameters.
ParameterValue
Number of channels used11
Network size30 nodes over 900 m × 900 m
Transmission range250 m
Transmission rate at a physical layer11 Mbits/s
Physical layer protocolIEEE PHY 802.11b
Multicast routing protocolMOSPF
Packet size512 bytes
Transmission rate at an application layer100 packets/s
Traffic modelMCBR
Simulation time300 s

Share and Cite

MDPI and ACS Style

Choi, S.; Park, J.H. Minimum Interference Channel Assignment Algorithm for Multicast in a Wireless Mesh Network. Sensors 2016, 16, 2056. https://doi.org/10.3390/s16122056

AMA Style

Choi S, Park JH. Minimum Interference Channel Assignment Algorithm for Multicast in a Wireless Mesh Network. Sensors. 2016; 16(12):2056. https://doi.org/10.3390/s16122056

Chicago/Turabian Style

Choi, Sangil, and Jong Hyuk Park. 2016. "Minimum Interference Channel Assignment Algorithm for Multicast in a Wireless Mesh Network" Sensors 16, no. 12: 2056. https://doi.org/10.3390/s16122056

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop