Multicast Algorithms for Multi-Channel
Wireless Mesh Networks
Guokai Zeng, Bo Wang, Yong Ding, Li Xiao, Matt Mutka
Department of Computer Science and Engineering
Michigan State University
Email: {zengguok, wangbo1, dingyong, lxiao, mutka}@cse.msu.edu
Abstract— Multicast is a key technology that provides efficient
data communication among a set of nodes for wireless multi-hop
networks. In sensor networks and MANETs, multicast algorithms
are designed to be energy efficient and to achieve optimal
route discovery among mobile nodes, respectively. However, in
wireless mesh networks, which are required to provide high
quality service to end users as the “last-mile” of the Internet,
throughput maximization conflicting with scarce bandwidth has
the paramount priority. We propose a Level Channel Assignment (LCA) algorithm and a Multi-Channel Multicast (MCM)
algorithm to optimize throughput for multi-channel and multiinterface mesh networks. The algorithms first build a multicast
structure by minimizing the number of relay nodes and hop
count distances between the source and destinations, and use
dedicated channel assignment strategies to improve the network
capacity by reducing interference. We also illustrate that the
use of partially overlapping channels can further improve the
throughput. Simulations show that our algorithms greatly outperform the single-channel multicast algorithm. We observe that
MCM achieves better throughput and shorter delay while LCA
can be realized in distributed manner.
keywords: Wireless Mesh Networks, Multicast, Multi-Interface,
Channel Assignment.
I. I NTRODUCTION
The Wireless Mesh Network (WMN) is an emerging
paradigm for the next-generation wireless Internet. In such
networks, most of the nodes are either stationary or minimally
mobile and do not have power constraints. Compared with
their single-hop counterpart, wireless LANs, the WMNs are
self-organized with the nodes automatically establishing ad
hoc networks and maintaining their connectivity, which provides more reliability as well as larger coverage, and reduces
equipment cost. Being used on the last mile for extending or
enhancing Internet connectivity, commercial deployments of
WMNs are already in the works, such as MIT Roofnet [8]
and Seattle Wireless [10].
Mesh networks are characterized by the use of multiple channels and multiple interfaces to improve the system
throughput. Recent research has focused on how to assign
channels to different wireless interfaces in unicast routing to
improve system throughput in WMNs. However, the multicast
communication, which intends to transmit the packets from
the source to a set of nodes, draws less attention in the
literature of mesh networks. We believe that efficient multicast,
which cannot be readily achieved through combined unicast
or simplified broadcast, is essential to wireless mesh networks
and is worthy of thorough investigation. It is often necessary
for a portion of end users to retrieve data packets from the
Internet. For example, a large number of users may like to
watch the FIFA World Cup or some other field pickup on the
Internet. The gateway that helps to connect the mesh network
with the Internet can effectively multicast the data packets to
those users.
Efficient multicast protocols in WMNs cannot be achieved
by adopting or slightly modifying the multicast protocols for
other types of multi-hop wireless networks. Unlike mobile ad
hoc networks or wireless sensor networks, route recovery or
energy efficiency is not the major concern for mesh networks
due to the limited mobility and the rechargeable characteristic
of mesh nodes. Moreover, supporting the potential major
applications such as Video On Demand poses a big challenge
for the limited bandwidth of WMNs. Thus, it is necessary to
design an effective multicast algorithm for mesh networks.
Traditional multicast protocols for wireless networks assume that each node is equipped with one interface, while the
mesh networks provide the nodes with multiple interfaces that
can be used to improve the throughput substantially. However,
channel assignment is subject to the number of available
channels and interfaces, the network topology, the communication requests, and other factors. Especially, the interference
cannot be completely eliminated due to the limited number of
available channels. Inappropriate channel assignment strategy
will result in throughput reduction due to the multi-channel
hidden terminal problem [26], disconnection of the topology
[20], or unfair bandwidth allocation to various users [27].
In this paper, we aim to design a multicast protocol for
mesh networks that has the following characteristics: i) it
improves the system throughput by allowing simultaneous
close-by transmissions with multi-channel and multi-interface,
and ii) it assigns all the available channels to the interfaces
instead of just the non-overlapping channels.
We propose a Level Channel Assignment (LCA) algorithm
and a Multi-Channel Multicast (MCM) algorithm to optimize throughput for multi-channel and multi-interface mesh
networks. The algorithms first build a multicast structure by
minimizing the number of relay nodes and hop count distances
between the source and destinations, and use dedicated channel
assignment strategies to improve the network capacity by
reducing the interferences.
will be forwarded one more hop to the corresponding mesh
clients that desire to receive the packets.
Our design builds a new multicast backbone - “tree mesh”,
which partitions the mesh routers into different levels based
on the Breadth First Search (BFS), and then heuristically
assigns channels to different interfaces. Tree-based multicast
is well established in wireless networks for its data forwarding
efficiency over other types of approaches at the expense
of low robustness. However, unlike MANETs, WMNs are
normally considered stationary and always put the throughput
maximization as the first priority. Thus, tree-based multicast is
suitable for WMNs since the topology change is not a major
concern in WMNs.
To simplify the system model, we consider the network as
a graph G = (V, E), where V represents the set of gateways
and mesh routers, and E represents the physical links among
neighboring nodes (the node refers to the mesh router or the
gateway in the subsequent sections). We assume that each node
has the same fixed communication range, that is, if node u can
transmit directly to node v (and vice versa), there is a link
(u, v) in E.
We also illustrate that the use of partially overlapping
channels can further improve the throughput. Simulations
show that our algorithms greatly outperform the single-channel
multicast algorithm. We observe that MCM achieves better
throughput and shorter delay while LCA can be implemented
in a distributed manner.
The rest of this paper is organized as follows. Section
II describes the system model and the design consideration.
Section III proposes an intuitive algorithm, the LCA algorithm,
which is easy to implement but has drawbacks. Section IV
introduces the MCM algorithm to build a more efficient
multicast structure, which is followed by the description of
how to assign channels on it. Several companion mechanisms
for our protocol are presented in Section V. Section VI presents
simulation results. Section VII surveys the related work, and
the last section concludes this paper.
II. S YSTEM M ODEL
We start from the underlying network model by introducing
some basic terminology and the partial channel conflict phenomena, which is followed by the design considerations for
the multicast algorithms in WMNs.
A. Basics
Mesh networks are composed of three types of nodes:
gateways (access points), mesh routers, and mesh clients.
Gateways enable the integration of WMNs with various other
networks, including the Internet. As dedicated devices providing stable high throughput for mesh clients, the mesh routers
have minimal mobility and form the mesh backbone. In order
to further improve the flexibility and capacity of WMNs,
the mesh routers are often equipped with multiple wireless
interfaces. As a result, two transmissions of two nearby pairs
can be simultaneously scheduled if non-overlapping channels
are assigned. Mesh clients are usually end users, such as
laptops and PDAs, which access the Internet through the mesh
routers, so that the mesh clients are usually within one-hop
of the mesh routers. Since the multicast packets are always
relayed among the mesh backbone, we only consider how to
transmit the packets to multiple mesh routers; then packets
The number of available channels is limited in the current
network protocols. In addition, each node is able to be
equipped with k (k ≥ 2) Network Interface Cards (NICs), any
of which can be tuned to any available channel. Multi-channel
and multi-interface characteristics enable more concurrent
transmissions. When one NIC is transmitting or receiving
packets on one channel, another NIC on the same node is
able to undertake transmission on another different channel at
the same time. The value of k usually equals to 2, 3, or 4
due to economical reasons. In this paper, we only consider
the situation that each node has 2 interfaces.
B. Measuring Partial Overlap
To improve the throughput of WMNs, many studies have
been conducted on how to assign orthogonal channels to
adjacent wireless links to minimize interference. It is known
that 802.11b/g and 802.11a provide 3 and 12 non-overlapping
channels, respectively. Although 802.11a provides more nonoverlapping channels than 802.11b/g, it has several drawbacks. Because 802.11a works on a higher frequency spectrum (5GHz) than 802.11b/g (2GHz), it is more difficult to
penetrate walls and other obstructions, and thus 802.11a has
a shorter range. In addition, 5GHz belongs to the regulated
frequency spectrum, which makes 802.11a more expensive.
As a result, 802.11b/g is more commonly used.
Previous channel assignment algorithms for 802.11b/g only
use three non-overlapping channels: 1, 6, and 11. In these
studies, a binary interference model is usually assumed, that
is, if two links are within interference range of each other,
they will interfere with each other if they are on the same
channel, and otherwise not. However, the interference can be
further reduced by using the partially overlapping channels
too, that is, by using any channel from 1 to 11 in the channel
assignment.
Through experiments, we observe that the interference between two links depends on both their physical distance and
channel separation [17]. Unlike the traditional interference
model, the interference range is no longer a constant. Instead,
it varies with the channel separation. Let Ic be the interference
range of two links with channel separation c. That means,
when the channel separation of two links is c, they will
interfere with each other if their distance is less than Ic , and
otherwise not. For example, I0 = 2R, which means the same
Interference Factor
2.5
2
1.5
s
2Mbps
5.5Mbps
11Mbps
b
a
d
c
1
b
a
e
c
1 1
2
0.5
0
0
2
4
Channel Separation
6
Fig. 1. Interference Factor vs Channel Separation
f
g
h
i
j
2
g
f
h
(a) Network Topology
i
(b) Multicast Tree
Fig. 2.
channel can be used on two links without any interference
only when they are over twice the transmission range away.
In [17][18], experiments have been done to measure the interference between two wireless AP-Client links with different
distances and channel separations.
Definition 1: Interference Factor is defined as the radio of
the interference range by the transmission range. We use δt to
represent the Interference Factor when the channel separation
of two links is t.
We performed similar experiments to measure the interference factor between two wireless peer-to-peer links. We
used 4 laptops with Netgear WAG511 PC Cards, each two
of which construct a separate wireless link. We evaluated
the interference between two links by comparing the total
throughput when both links are active and the sum of each
link’s throughput when the other link is turned down. We
found a similar trend in our experiments, that is, interference
range decreases with the increase of channel separation. The
results of these experiments are shown in Fig. 1. Therefore, if
we can fully utilize these partially overlapping channels, we
can further decrease the total interference in the network, and
thus improve the network throughput.
C. Design Consideration
Routing protocols do exist to offer efficient multicasting
service for conventional multi-hop wireless networks, such
as MANETs and wireless sensor networks. Since the nodes
become increasingly mobile or the networks only have scarce
resources such as power constraints and limited computing
ability, most previous work pays much attention to energy
efficiency and how to build the multicast structure without
knowing the global topology. As a result, the multicast structure should be distributedly constructed, energy efficient, and
should take care of the topology change as well as group
member management, which may conflict with maximizing
the throughput of the network to some extent.
However, since mesh networks are deployed to provide
last-mile Internet access for enterprises or communities, the
throughput and the network capacity are the major concerns.
Deployed at the fixed locations, mesh routers have limited mobility. Furthermore, they are computationally powerful and do
not rely on battery power compared with their counterparts in
0
a
d
c
e
s
s
s
j
3
f
0
0
1 1
d
a
e
2
2
b
b
1
c
e
d
2
g
3
(c) Channel Assignment
f
g
h
i
j
(d) Tree Mesh
An Example for LCA and Tree Mesh
MANETs or sensor networks, which helps to achieve sufficient
network capacity to meet the requirement of applications such
as audio or video sharing among end users. Thus, we need
to create a multicast structure that aims to deliver the packets
rapidly to the multi-receivers (multi-receivers are defined as
the multicast group members except for the source node)
without worrying about the energy consumption and topology
changes.
Moreover, equipping the mesh routers with more than one
wireless interface could further improve the network capacity.
The assignment of channels to interfaces on the multicast
structure is also essential to throughput optimization. Inappropriate channel allocation will lead to topology disconnection
and exacerbation of multi-channel hidden terminal problems,
which reduces the system throughput. Therefore, both efficient
multicast structure and effective channel assignment play
important roles in mesh network multicast.
III. L EVEL C HANNEL A SSIGNMENT A LGORITHM
A common method for multicast is to build a multicast
tree, where the source node is usually the access point in this
paper. We first propose the Level Channel Assignment (LCA)
algorithm, which can be achieved by the following steps.
First, the nodes obtain their level information. The breadth
first search (BFS) is used to traverse the whole network. Based
on the BFS, all the nodes are partitioned into different levels
according to the hop count distances between the source and
the nodes.
Definition 2: if node a (in level i) and b (in level i + 1) are
within each other’s communication range, then a is called the
parent of b, and b is called the child of a.
Second, we build a multicast tree based on the node level
information. Initially, the source and all the receivers are
included in the tree. Then, for each multi-receiver v, if one of
its parents is a tree node, then connect it with that parent, and
stop. Otherwise, randomly choose one of its parents, say fv ,
as a relay node on the tree, and connect v and fv . Afterwards,
we try to find out the relay node for fv recursively. This
process repeats until all the multi-receivers are included in
the multicast tree. Algorithm 1 gives the detail.
Next, the tree nodes decide their channel assignment with
1
a
b
c
d
c
b
b
d
a
d
c
d
7
2
3
4
5
6
7
(a)
4
5
(b)
Fig. 3.
6
2
Level 1
5
4
1
1
Level 0
3
2
7
6
7
1
2
3
(c)
4
(d)
Relay Node Search Example
Data: M : multi-receivers; s: source node;
Result: T : multicast tree
V (T ) = M ∪ {s}; E(T ) = ∅;
for ∀ node v ∈ M do
p = v;
while none of p’s parents is included in V (T ) do
Randomly select one of p’s parents, say fp .
V (T ) = V (T ) ∪ {fp };
E(T ) = E(T ) ∪ {(p, fp )};
p = fp
end
E(T ) = E(T ) ∪ {(p, fp′ )} (fp′ is the parent of p, and it is a tree node)
end
Algorithm 1: Multicast Tree Construction for LCA
the level information.
1) The source node (level 0) only uses one interface, which
is assigned channel 0. This interface is responsible for
sending packets to the tree nodes in level 1.
2) The internal tree node in level i (i ≥ 1) uses two
interfaces: one is assigned channel i − 1, which is used
to receive packets from the upper level, the other is
assigned channel i, which is used to forward packets
to tree nodes at level i + 1
3) The leaf in the level i (i ≥ 1) uses two interfaces: one
uses channel i−1 to receive the packets from level i−1,
the other uses channel i to forward the packets to the
mesh clients within its communication range who desire
to receive the packets.
One example is shown in Fig. 2, where node s is the
source, and e, f, g are the multi-receivers. Initially, {s,e,f,g}
are included in the multicast tree. At first, since none of g’s
parents are tree nodes, randomly select one parent d as a tree
node and connect g with d. We then choose d’s parent b as a
tree node and connect d with b. Since b’s parent s is a tree
node, we connect b with s and stop the process for including
g in the multicast tree. Next, we start from the second multireceiver e. Connect e with its parent b and stop since b is
already a tree node. Similarly for the third multi-receiver f ,
we connect f with c, c with a, and then a with s. Now the tree
construction is complete since all the receivers are connected
to the tree. The constructed multicast tree is shown in Fig. 2(b).
We can see that in the tree, level 0 = {s}, level 1 = {a, b},
level 2 = {c, d, e} and level 3 = {f, g}. Thus, we get the
channel assignment in Fig. 2(c), where the number above the
node represents the channel for receiving, and the number
below the node for sending.
The LCA algorithm has two advantages: simple implemen-
5
6
6
9
10
Level 3
7
(a) Network Topology
Fig. 4.
6
4
Level 2
8
7
8
(b) Multicast Tree
A Multicast Structure Example
tation and throughput improvement. It only needs one BFS of
the network at the beginning, and it creates the multicast tree
by connecting the multi-receivers with the nearest tree nodes.
The tree nodes then can decide the channels by themselves
according to the level information, which can be realized
distributedly. At the same time, the use of multi-channel reduces the close-by interference and allows more simultaneous
transmissions.
However, there is still potential for the LCA algorithm to
improve system throughput. Firstly, LCA cannot diminish the
interference among the same levels since it uses the same
channel at the same level. For example, in Fig. 2(c), since
g is in the transmission range of both c and d, there will be
interference when c and d use the same channel. Secondly,
when the number of available channels is more than that of
the levels, some channels will not be utilized, which is a waste
of channel diversity. Thirdly, the channel assignment does not
take the overlap property of the two adjacent channels into
account. As we know, ∀i, channel i and channel i + 1 are
adjacent in frequency, so they partially interfere with each
other. Thus, the channel i for level i still has some inference
effect with the channel i + 1 for level i + 1.
IV. M ULTI -C HANNEL M ULTICAST A LGORITHM
To further improve the system throughput, we propose a
Multi-Channel Multicast algorithm (MCM) to minimize the
number of relay nodes and the hop count distances between the
source and the destinations, and further reduce the interference
by exploiting all the partially overlapping channels instead of
just the orthogonal channels.
A. Multicast Structure Construction
Following the design constraint of WMNs, we aim for a
multicast protocol for WMNs, which includes two primary
procedures. The first is to build an effective multicast structure,
which is detailed in this subsection, and the second tries
to allocate channels for minimizing interference in the next
subsection.
Broadcast Structure. Some previous work treats broadcast
and multicast in a different way. Actually, when all the nodes
are multi-receivers, the multicast problem becomes the broadcast problem. We can say that broadcast is a special case of
multicast. In order to focus on the basic idea of MCM, we first
consider the situation that all the nodes are the multi-receivers.
We then detail how to trim those unnecessary branches based
on the broadcast structure when the multi-receivers are only
a portion of the nodes. The broadcast structure in the mesh
network is built by the following steps.
The first step is realized by BFS, which is similar with
the LCA algorithm. After the BFS traversal, all the nodes
are divided into different levels. We then delete the edges
between any two nodes of the same level, with which we
get the elementary communication structure — “tree mesh”.
Fig. 2(a) and Fig. 2(d) give an example of the original network
topology and its responding tree mesh. We use BFS to build
the tree mesh for the following reasons:
1) With the hop count distance increasing between the
sender and the receiver, the intra-flow contention exacerbates. Moreover, shorter hop count distance means
shorter transmission delay. Minimizing the delay is also
important in WMNs, thus we build a shallow tree by
BFS, which reduces the total hop count distances from
the source to the receivers.
2) BFS guarantees that if two nodes are not at the same
level or the adjacent levels, they are at least two hops
away. Hence, when considering channel assignment, the
two nodes may use the same channel since they are very
likely not to interfere with each other.
3) The time complexity of BFS is O(|V | + |E|), whose
cost is much less than other broadcast or multicast tree
construction algorithms.
In the second step, we identify the minimal number of relay
nodes that form the broadcast tree. In the tree mesh, one node
could have more than one parent. The purpose of this step is
to identify the only parent (we call it a relay node here) for
a node who has more than one parent so that the number of
relay nodes is minimal.
A top-down approach, i.e., from level 0, level 1 to the lowest
level, is used to identify the relay nodes. Suppose we have
discovered the relay nodes in level 0, level 1... level i − 1,
now we study how to find the relay nodes in level i. We see
that the fewer relay nodes will result in less traffic flows in
the network, which means less local interference. Thus, our
objective is to identify the minimal number of relay nodes in
level i that can communicate with all the nodes in level i + 1.
Definition 3: Given a tree mesh TG , TG (i) is a subgraph
of TG and consists of only the nodes at level i and level i + 1
of TG . This subgraph TG (i) is called (i, i + 1) subtree mesh.
In addition, the set Si consisting of the nodes from level i is
called the upper node set of TG (i), and the set Sj consisting
of the nodes from level i + 1 is called the lower node set.
We can see that identifying the minimal number of relay
nodes at level i is equivalent to selecting the minimal number
of nodes at upper node set of TG (i) that can cover all the nodes
of the lower node set. In fact, it is a variation of the set-cover
problem, which has been proved NP-complete. We devise an
approximation algorithm, which is detailed in Algorithm 2.
Data: TG (i): (i, i + 1) subtree mesh; Si : nodes in level i; Sj : nodes in level
i+1
Result: R: the set of the relay nodes in level i
R = ∅;
while Sj ! = ∅ do
In TG (i), compute the number of parents of each node in Sj , and compute
the number of children of each node in Si ;
Find vi1 , vi2 , .... in Sj with the minimal number of parents;
Among the parents of vi1 , vi2 , ...., find tf with the maximal number of
children;
R = R ∪ {tf };
Si = Si − {tf };
The children of tf record tf as their relay node;
Sj = Sj − {the children of tf };
end
Algorithm 2: Relay Node Search in Level i Algorithm
1) Some parents are considered as relay candidates if one
of their children has the minimal number of parents.
2) Among the relay candidates, we choose one node that
has the maximal number of children. The reason is that
given the fixed number of nodes at the level i + 1, the
more children a relay node can forward packets to, the
fewer relay nodes we will need at level i.
3) We remove the relay node and its children, and repeat
the above process until all the nodes at level i + 1 are
removed.
We use a simple example to further explain this algorithm.
Fig. 3(a) gives a (i, i + 1) subtree mesh, from which we can
compute the number of parents of each node in level i + 1.
The nodes 1, 5, and 7 have the minimal number of parents (1
parent), and their parents are nodes a, c, and d. The number
of children of nodes a, c, and d are 3, 2, and 2, respectively.
Since node a has the maximal number of children, a is chosen
as a relay node.
We then remove node a and its child nodes 1, 2, and 3 from
the subtree mesh. In the new subtree mesh, which is shown
in Fig. 3(b), the node 5 and 7 have the minimal number of
parents, and their parents are nodes c and d. We randomly
choose node c as one relay node since c and d both have 2
children.
Afterwards, we remove c and its children, then get the
subtree mesh shown in Fig. 3(c). Similarly, with the process
above, we select node d as a relay node. After removal of node
d and its children, the level i + 1 is empty, thus the algorithm
stops. Finally, nodes a, c, and d are chosen as relay nodes at
level i, which is shown in Fig. 3(d).
Algorithm 2 is superior to the Greedy Set Cover algorithm
[4] by introducing step 1. We observe that if a node has just
one parent, the parent has to be selected as a relay node, while
that greedy algorithm recursively selects the node with the
maximal number of children in the remained graph. For the
above example, that greedy algorithm will select a, b, c, and
d as relay nodes.
Multicast Structure. The broadcast structure mentioned
above contains some unnecessary branches if the destinations
do not involve all the nodes. Instead, we propose to construct
a “slim” structure by using the MCM Tree Construction
algorithm described in Algorithm 3.
Data: T : tree mesh of the network
Result: T ′ : multicast tree
Use BFS to partition nodes into different levels;
for ∀ node v ∈ V (T ) do
c[v]=true if and only if v is a multi-receiver or the source.
end
for l = LevelN um − 1; l >= 1; l = l − 1 do
Si = {node vi |vi belongs to level l − 1};
Sj = {node vj |vj belongs to level l and c[vj ] = true};
while Sj ! = ∅ do
Find vi1 , vi2 , .... in Sj with the minimal number of parents;
Among the parents of vi1 , vi2 , ...., find node tf with the maximal
number of children;
c[tf ] = true;
Si = Si − {tf };
The children of tf record tf as their relay node;
Sj = Sj − {the children of tf };
end
end
V (T ′ ) = ∅; E(T ′ ) = ∅;
for ∀ node v ∈ V (T ) do
V (T ′ ) = V (T ′ ) ∪ {v} if and only if c[v] = true;
edge e = (v, v’s relay parent);
E(T ′ ) = E(T ′ ) ∪ {e};
end
Algorithm 3: MCM Tree Construction Algorithm
The goal of the algorithm is to discover the minimal number
of relay nodes to construct a multicast tree. The search process
starts from the bottom to the top. We use a boolean variable
– “c[v]” for any node v to represent that v is either a multireceiver or a relay node if c[v] is true. At each step, we intend
to minimize the number of relay nodes at the upper level,
which can cover all the multi-receivers and relay nodes at the
lower level. The process is similar with the broadcast structure,
except that we do not require that the relay nodes should cover
those non-receiver and non-relay nodes of the lower level.
We use a simple example to illustrate the process. There is
a tree mesh in Fig. 4(a), where nodes 6, 7, and 8 are multireceivers. First, we select node 4 at level 2 because it covers all
the multi-receivers at level 3. Next, we select node 2 at level
1, which covers all the multi-receivers and the relay node at
level 2. Finally, we get the multicast tree in Fig. 4(b).
B. Channel Assignment
The tree node discovery in the previous subsection allows
each multi-receiver to connect with the gateway through the
minimal hop count distance. In this section, we discuss how to
assign channels to the interfaces of the tree nodes by proposing
two allocation algorithms: ascending channel allocation, and
heuristic channel assignment.
Ascending Channel Allocation. As assumed in Section II,
each node has two interfaces. Specially, the interface that
a node uses to receive packets from its relay node at the
upper layer, termed Receive-Interface (RI), is disjoint from
the interface the node uses to forward packets to its children,
called Send-Interface (SI). In order to guarantee that the relay
node can communicate with its children, each node’s RI is
associated with the SI of its relay node, i.e., they should be
assigned the same channel. Ascending Channel Allocation is
proposed to assign channels and described in Algorithm 4.
Data: {0, 1, ...C − 1}: available orthogonal channel set; T ′ : multicast tree;
Result: Channel assignment for interfaces
The source uses channel 0 for its SI;
Its children use channel 0 for their RIs;
A = 0;
for l = 1; l ≤ LevelNum-2; l++ do
for ∀ relay node u at level l do
A = (A + 1) mod C;
u uses channel A for its SI;
u’s children use channel A for their RIs;
end
end
Algorithm 4: Ascending Channel Allocation Algorithm
The basic idea of the algorithm is straightforward: from top
to down in the tree, the channels are assigned to the interfaces
in the ascending order until the maximum channel number is
reached, then start from channel 0 again. Although simple,
this approach avoids the situation where the same channel is
assigned to two nearby links that interfere with each other. We
use a simple case to illustrate this algorithm in Fig. 5, where
the the number of the orthogonal channels is 3. Note that the
number above the node represents the channel number used
for its RI, while the number below the node represents the
channel number for its SI.
In the algorithm we only use limited orthogonal channels.
As we know, 802.11b protocol provides 14 channels, 5 MHz
apart in frequency. However, to be totally orthogonal, the
frequency should be at least 30 MHz, so 802.11b can offer only
3 non-overlapping channels. Thus, although the Ascending
Channel Allocation is easy to implement, its performance is
still constrained by the limited number of orthogonal channels.
Fortunately, as mentioned in Section II, network throughput
can be further improved by exploiting all the partially overlapping channels.
Heuristic Channel Assignment. In fact, we can utilize all
the channels instead of just orthogonal channels. In Section
II, we observed that the interference range decreases with
the increase of the channel separation. Intuitively, the channel
assignment should make a large channel separation for two
wireless links if the physical distance between them is short.
We aim to minimize the sum of the interference area of all
the transmissions.
We use IR(uv ) to indicate the interference range of sender
u of one link with respect to sender v of another link.
According to the experiment we performed in Section II, under
the condition that all the nodes have the same transmission
range R, IR(uv )= R ∗ δ|iu −iv | . Here, u and v use channel
iu and iv for their SIs respectively, and δt is the Interference
Factor. When allocating a channel for relay node u, the channel
assignment should take a channel that minimizes the sum
of the square of the IRs between
u and u’s neighboring
relay nodes, that is, minimize v∈N (u) IR2 (uv ), where N (u)
represents the set of the
of u. Since
neighboring relay nodes
2
2
IR
(u
)
=
(R
∗δ
)
,
we
just
need to
v
|iu −iv |
v∈N (u)
v∈N (u)
1
0
1
0
0
1
0
2
1
4
2
1
1
2
0
2
3
5
6
7
4
5
1
2
3
5
4
7
2
3
4
6
7
1
0
1
1
Fig. 5. Ascending Channel Allocation Example
8
9
10
11
12
13
8
9
10
(a)
minimize v∈N (u) δ|i2 u −iv | . Based on this consideration, we
propose the Heuristic Channel Assignment in Algorithm 5.
Data: CH: available channel set; T ′ : multicast tree;
Result: Channel assignment for interfaces
The source uses channel 0 for its SI
Its children use channel 0 for their RIs;
for l = 1; l ≤ LevelNum-2; l++ do
for ∀ relay node u at level l do
S(u) = {u’s neighboring relay nodes that have been assigned channels
for their SIs }
2
Choose channel i ∈ CH that minimizes
v∈S(u) δ|iu −iv |
u uses channel i for its SI;
u’s children use channel i for their RIs;
end
end
Algorithm 5: Heuristic Channel Assignment Algorithm
V. F URTHER D ISCUSSION ON MCM A LGORITHM
In this section, we discuss some companion mechanisms
to further improve the MCM algorithm including the failure
recovery mechanism and the node join mechanism.
Failure Recovery. Usually, the mesh routers work reliably,
but node failure still could happen for various reasons. When
a tree node fails, nodes in its subtree lose their connectivity
to the root. Our mechanism will reorganize the multicast tree
to bypass the failed node and restore the connectivity.
At first, we can safely assume that any node is able to detect
the failure of its neighbor quickly since the nodes periodically
send “hello” messages to their neighbors. If a node does not
receive a hello message from one neighbor for a period of
time, it considers the neighbor to have crashed. There are two
cases that apply to the node failure: the collapsed node is a
leaf or a relay node.
For the first case, if the collapsed node v is a leaf, we
propose two approaches. One is just to leave it alone, since
the leaf is not responsible for forwarding packets to any other
tree nodes. (That means that the mesh clients within the communication range of the failed node restore the connectivity
to the network, which is beyond the scope of this paper.) This
approach is simple, but the parent of the failure node will
continue to receive packets even if it is not a multi-receiver.
The second choice is related with v’s parent u on the tree.
If u has only one child on the tree, then it stops forwarding
packets. Moreover, if u is not a multi-receiver, it sends out a
message to its neighbors, announcing that it is no longer part
of the tree. Then, the parent of u will do the same thing as u
(b)
Fig. 6.
13
8
9
(c)
10
8
9
10
(d)
Repair Mechanism Example
does. The process continues until one ancestor of v has more
than one child or it is a multi-receiver. The first choice is easy
to implement, and v is able to join the multicast group again
if v recovers from failure after a short period of time. The
second choice helps to remove those unnecessary branches,
which reduces the interference and saves the bandwidth.
For the second case, when v is a relay node, all its children
on the tree should check whether they are physical neighbors
of some other relay nodes on the tree. (If two nodes are within
each other’s transmission range, they are called physical
neighbors even if they are not using the same channel.) If
they are, the channels of their RIs will be reassigned as that of
the “backup” relay node’s SI and re-establish the connectivity
with the gateway. If they are not physical neighbors of any
relay node, each node will randomly choose one neighbor t
at the upper layer, requesting t to be its relay node. If t is the
physical neighbor of one relay node, it connects with the relay
node by using the same channel, otherwise, t will randomly
choose one of its neighbors at the upper layer, asking that node
to be a relay node. This process continues until the request
arrives at a physical neighbor of any relay node.
We use an example in Fig. 6 to illustrate the repair mechanism. Fig. 6(a) and Fig. 6(b) give the network topology and the
responding multicast tree respectively, where nodes 8, 9, 10,
and 13 are multi-receivers. If node 13 breaks down, because
it is a leaf, we can simply leave it alone. The other choice is
that 13 requires its parent 7 to stop forwarding packets. And
node 7 realizes that it has one child on the tree, so it also asks
its parent 3 to stop forwarding. The resulting multicast tree
after failure of node 13 is shown in Fig. 6(c).
If node 5 breaks down, its children begin to look for other
connections to the source. Node 9 finds that it can communicate with relay node 4, so it changes the channel on its RI for
packet reception from 4. Node 10 cannot communicate with
any relay node on the tree, so it randomly slects one of its
physical neighbors at the upper level, such as 6, requesting 6
to be its relay node. Node 6 then tries to communicate with
any neighboring relay node, and it sets the channel of its RI
the same as the SI of relay node 3. Node 6 then chooses a
channel that is not used by any of its neighbors for its SI,
and node 10 accordingly sets the same channel for its RI for
packet reception. The resulting multicast tree after the failure
of node 5 is shown in Fig. 6(d).
Node Join. If a new node wants to join the multicast group,
13
15
10
5
0
5
10
15
20
Number of Multi−Receivers
Fig. 7.
25
MCM
LCA
Single−Channel
15
10
5
0
0
20
40
Number of Multi−Receivers
60
Impact of Network Size
it sends out a request for connecting to a nearby relay node.
The request is locally flooded, and the nodes on the path
that reaches the nearest relay node will be absorbed into the
multicast tree.
10
0
0
5
10
Number of Channels
Fig. 8.
15
Network Size : 60 Nodes, 5 Receivers
25
MCM
LCA
20
3
20
Network Size : 30 Nodes, 5 Receivers
30
MCM
LCA
20
Throughput (*10 packets)
MCM
LCA
Single−Channel
Network Size : 60 Nodes
25
Throughput (*103 packets)
20
Throughput (*103 packets)
3
Throughput (*10 packets)
Network Size : 30 Nodes
25
15
10
5
0
5
10
Number of Channels
15
Impact of Number of Available Channels
LCA, MCM further improves throughput though they both
take advantage of multi-channel and multi-interface. This is
because MCM builds a more efficient multicast tree and
carefully assigns the channels on the tree; thus, it further
reduces the interference.
VI. S IMULATIONS
We evaluate the MCM algorithm by comparing it with
the LCA algorithm and a single channel multicast algorithm
through the following metrics.
•
•
Throughput: the throughput is the average number of
packets each multi-receiver receives during a time unit.
Delay: the delay is the average time it takes for a packet
to reach the destination after it leaves the source.
We use an NS2 simulator (version 2.29)[9] to simulate a flat
area of 900m by 900m with varying number of randomly positioned wireless router nodes. By extending the NS2 simulator,
we configure all nodes to use multiple interfaces/channels with
a transmission range of 250m and a carrier sensing range of
550m. We use the default IEEE 802.11 MAC configuration
in NS2 which supports multicasting using broadcasting at the
base rate 1Mbps.
We evaluate LCA and MCM algorithms in different scenarios. For each scenario, we randomly generate 100 different
graphs where the source and the destinations are randomly
selected. Traffic is generated by constant bit rate (CBR)
sessions. We vary the session rate at some scenarios. The
packet size for all traffic is set to be 512 bytes. Except for
the last subsection, we use the orthogonal channels in the
simulation.
A. Impact of Network Size
We evaluate the throughput in different network sizes by
assigning the number of nodes with 30 and 60, and assigning
the number of the available channels with 12. For each network
size, we vary the number of multi-receivers from 5 to 55.
We measure the throughput of the MCM algorithm, the LCA
algorithm, and the single-channel algorithm in which only
one single channel is used in the multicasting. The results
are shown in Fig. 7. We can see that using multi-channel
and multi-interface significantly improves the throughput. The
reason is that using different channels prevents the channel
interference among close-by transmissions. Compared with
B. Impact of Number of Available Channels
We vary the number of available channels from 2 to 14
and measure the throughput of MCM and LCA. Fig. 8 shows
that MCM enhances more and more throughput than LCA
with the increasing of the number of available channels. In
addition, we notice that when the number of available channels
varies from 2 to 6, both MCM and LCA have great throughput improvement. However, when the number of available
channels varies from 7 to 14, MCM has small throughput
improvement while LCA almost has no improvement. The
explanation of the phenomena on MCM is that when the
number of channels increases to a certain extent, it is enough
to eliminate almost all the interferences in the network, thus
using more channels cannot further improve throughput. At
the same time, the number of channels that LCA uses is equal
to the tree height, thus some channels are left unused when
the number exceeds tree height, although some interferences
still exist in the network.
C. Impact of Transmission Rate
We vary the transmission rate from 50 packets/s to 300
packets/s, and measure the throughput of MCM and LCA.
Fig. 9 shows that MCM achieves much better throughput
than LCA under different transmission rates. We also observe
that the saturated transmission rates for MCM and LCA to
achieve nearly the maximal throughput are 225 packets/s and
125 packets/s respectively. The transmission rate exceeding the
saturated rate almost does not help to improve the throughput.
Since MCM has the higher saturated transmission rate, this
means that MCM can take greater advantage of the channel
diversity than LCA.
D. Delay Comparison
In this simulation, we evaluate the delay of LCM and MCM
by comparing the average time each packet takes to reach
the destination. The transmission rate is set to 200 packets/s.
Fig. 10 shows that MCM has a much shorter delay than LCA.
5
0
100
200
300
Transmission Rate (packet/s)
Fig. 9.
15
10
5
0
100
200
300
Transmission Rate (packet/s)
Impact of Number of Transmission Rate
We also see that the delay of MCM decreases rapidly when
the number of channels increases from 6 to 12, since we
choose a fast transmission rate. When the number of available
channels is 6, it just diminishes some interferences, and
residual interferences still restrain more packet transmissions.
The packets have to remain at the buffer of nodes, and delay
becomes large. At the same time, when the number of available
channels is 12, it can greatly diminish interference, so the more
concurrent transmissions take place, and data packets do not
need to stay at the buffer for a long time. As a result, when
using 12 channels, the delay of MCM decreases to nearly zero.
E. Partially Overlapping Channel Assignment Test
Usually, users are offered a range of frequency spectrum,
where the numbers of orthogonal channels and partially
overlapping channels are fixed. We choose two frequency
spectrums: i) 30MHz, which can offer 2 orthogonal channels
and 6 partially overlapping channels, and ii) 60MHz, which
can offer 3 orthogonal channels and 12 partially overlapping
channels. In the two spectrums, we compare the throughput
of the MCM algorithm under the following different channel
assignment methods.
1) We only use the orthogonal channels defined in the fixed
range of frequency spectrum.
2) We use Ascending Channel Allocation to allocate all the
partially overlapping channels in the frequency spectrum
to the interfaces.
3) We use Heuristic Channel Assignment to allocate all the
partially overlapping channels in the frequency spectrum
to the interfaces.
The results in Fig. 11 show that using partially overlapping
channels can achieve better throughput than using just orthogonal channels. This is because the orthogonal channels are so
scarce that they can not eliminate all the interference, while the
partially overlapping channels can further reduce interference.
We also observe that the Heuristic Channel Assignment is
better than the Ascending Channel Allocation, since it makes
a large channel separation for the adjacent wireless links.
VII. R ELATED W ORK
As a basic data communication mechanism, multicast has
been intensively studied in Internet and multi-hop wireless
Network Size : 45 Nodes, 6 Channels
2
MCM
LCA
1.5
1
0.5
0
0
10
20
30
40
50
Number of Multi−Receivers
Fig. 10.
Network Size : 45 Nodes, 12 Channels
1.5
Average Delay (sec)
10
Network Size : 60 Nodes, 5 Receivers
25
MCM
LCA
20
Average Delay (sec)
15
Throughput (*103 packets)
3
Throughput (*10 packets)
Network Size : 30 Nodes, 5 Receivers
25
MCM
LCA
20
1
MCM
LCA
0.5
0
0
10
20
30
40
50
Number of Multi−Receivers
Delay Comparison
networks. Those proposed multicast algorithms and protocols
do not take advantage of multi-channel and multi-interface.
At the same time, there exists a large number of studies
that aim to address the channel assignment problem of mesh
networks, which is characterized by using multi-channel and
multi-interface. Thus, we summarize multicast research in
MANET, and representative research on multi-channel in
wireless network.
The multicast routing protocols in MANET are classified
into three categories according to the way multicast routes
are created: 1) tree-based, 2) mesh-based, and 3) stateless
multicast. In the tree based protocols, the data packets are
transmitted from the source to the destinations along the
paths on the multicast tree, which helps to minimize the
bandwidth cost [11][25][29]. The mesh-based protocols try to
create multiple trees among the group members, such that the
packets can be delivered to each receiver through multiple
paths [5][7][14]. The alternative paths help to increase the
protection against the topology alteration. However, both treebased and mesh-based multicast protocols have to bear the
overhead of creating and maintaining the multicast overhead
keeping at the intermediate nodes. In order to address this
drawback, stateless multicast protocols have been proposed to
store the destination list in the packet header, and the packets
are self-routed to the destinations based on the geographical
information [3][12][16].
Our proposed MCM algorithm inherits the tree-based multicast design, but it differs from previous approaches in the
following aspects: i) Instead of power efficiency and route
recovery, which are usually the paramount goals of multicast
in MANET and sensor networks, MCM aims at maximizing
throughput. ii) The multicast tree constructed by MCM is
formed by the diverse channels. Based on this, MCM is able
to minimize the interference by making use of multi-channel
and multi-interface.
In recent years, multi-channel issues in wireless networks
have drawn much attention. Several link layer and MAC layer
protocols have been proposed to improve the performance
of wireless networks [2][15][19][26][28]. These approaches
are to find the optimal channel for the current packet transmission for essentially avoiding interference. Such schemes
have the key advantage that a single radio is required to
support multiple channels. Some researchers aim to derive
Orthogonal
Ascending
Heuristic
10
8
6
4
0
10
20
30
40
50
Number of Multi−Receivers
(a) Spectrum Range: 30 MHz
Fig. 11.
Network Size : 45 Nodes
Throughput (*103 packet)
3
Throughput (*10 packet)
Network Size : 45 Nodes
12
20
Orthogonal
Ascending
Heuristic
15
10
5
0
10
20
30
40
50
Number of Multi−Receivers
(b) Spectrum Range: 60 MHz
Partially Overlapping Channel Test
the lower bound or upper bound of the capacity in terms
of achievable QoS in mesh networks [13][27]. Many studies
focus on how to assign channels to nodes in the network, either
by the static or the dynamic methods [1][20][21][22][23].
They develop a set of centralized or distributed algorithms for
channel assignments by taking the bandwidth cost, efficient
routing, and load-balance into account. Most of them believe
that static assignment outperforms dynamic assignment due
to the channel switching cost and the delay. New metrics
have also been proposed for multihop wireless networks with
considering the impact of channel interference, which is used
to find high throughput paths between sources and destinations
[6][24].
Our channel assignment is different from previous channel
assignment approaches at two aspects: i) we assign channels
based on the multicast structure so that we can exploit the
broadcast property of wireless nodes, and ii) we make full
use of the partially overlapping channels instead of just
orthogonal channels, which ultimately reduces the interference
and improves the throughput.
VIII. C ONCLUSION
In this paper, we investigate the multicast algorithm in wireless mesh networks where the throughput and the delay have
the paramount priorities. In order to achieve efficient multicast
in WMNs, two multicast algorithms, LCA and MCM, are
proposed by using multi-channel and multi-interface. An effective multicast structure is constructed to minimize the number
of relay nodes and the communication delay. The dedicated
channel assignment helps to further minimize the interference
as well. Compared with previous multicast approaches, our
algorithms are based on the multi-channel and focus on the
throughput maximization. The performance evaluation shows
that our algorithms outperform the single-channel multicast in
terms of throughput and delay, and more efficient multicast
structure and subtle channel assignment can further improve
throughput and reduce delay.
IX. ACKNOWLEDGEMENTS
This work was supported in part by the US National Science
Foundation under grants CCF-0514078, CNS-0551464, and
CNS-0721441.
R EFERENCES
[1] M. Alicherry, R. Bhatia, and L. Li. Joint channel assignment and routing
for throughput optimization in multiradio wireless mesh networks. In
MobiCom 05, 2005.
[2] P. Bahl, R. Chandra, and J. Dunagan. Ssch: slotted seeded channel
hopping for capacity improvement in ieee 802.11 ad-hoc wireless
networks. In ACM MobiCom 2004, 2004.
[3] K. Chen and K. Nahrstedt. Effective location-guided overlay multicast
in mobile ad hoc networks. International Journal of Wireless and Mobile
Computing(IJWMC), 3, 2005.
[4] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction
To Algorithms. The MIT Press, 2001.
[5] S. Das, B. Manoj, and C. Murthy. A dynamic core based multicast
routing protocol. In MobiHoc 2002. 2002.
[6] R. Draves, J. Padhye, and B. Zill. Routing in multi-radio, multi-hop
wireless mesh networks. In MobiCom 04, 2004.
[7] J. J. Garcia-Luna-Aceves and E. L. Madruga. The core-assisted mesh
protocol. IEEE Journal on Selected Areas in Communications, 17(8),
Aug. 1999.
[8] http://pdos.csail.mit.edu/roofnet/doku.php.
[9] http://www.isi.edu/nsnam/ns/index.html.
[10] http://www.seattlewireless.net.
[11] J. Jetcheva and D. B. Johnson. Adaptive demand-driven multicast routing
in multi-hop wireless ad hoc networks. In MobiHoc 2001, 2001.
[12] L. Ji and M. S. Corson. Differential destination multicast-a manet
multicast routing protocol for small groups. In IEEE INFOCOM 2001,
pages 1192–1201, Apr. 2001.
[13] M. Kodialam and T. Nandagopal. Characterizing the capacity region
in multi-radio multi-channel wireless mesh networks. In MobiCom 05,
2005.
[14] S. Lee, M. Gerla, and C. Chiang. On demand multicast routing protocol.
In IEEE WCNC 99, pages 1313–1317, Aug. 1999.
[15] Y. Liu and E. Knightly. Opportunistic fair scheduling over multiple
wireless channels. In IEEE INFOCOM 03, 2003.
[16] M. Mauve, H. Fuler, J. Widmer, and T. Lang. Position-based multicast
routing for mobile ad hoc networks. In MobiHoc 2003, June 2003.
[17] A. Mishra, E. Rozner, S. Banerjee, and W. Arbaugh. Exploiting partially
overlapping channels in wireless networks: Turning a peril into an
advantage. In ACM/USENIX Internet Measurement Conference, 2005.
[18] A. Mishra, V. Shrivastava, and S. Banerjee. Partially overlapped channels
not considered harmful. In SIGMetrics/Performance 06, 2006.
[19] A. H. M. Rad and V. W. Wong. Joint channel allocation, interface
assignment and mac design for multi-channel wireless mesh networks.
In INFOCOM 07, 2007.
[20] K. Ramachandran, E. M. Belding, K. Almeroth, and M. Buddhiko.
Interference-aware channel assignment in multi-radio wireless mesh
networks. In Infocom 06, 2006.
[21] B. Raman. Channel allocation in 802.11-based mesh networks. In
INFOCOM 06, 2006.
[22] A. Raniwala and T. cker Chiueh. Architecture and algorithms for an ieee
802.11-based multi-channel wireless mesh network. In IEEE INFOCOM
2005, 2005.
[23] A. Raniwala, K. Gopalan, and T.-c. Chiueh. Centralized channel
assignment and routing algorithms for multi-channel wi reless mesh
networks (mc2r). ACM Mobile Computing and Communications Review,
8(2):50–65, 2004.
[24] S. Roy, D. Koutsonikolas, S. Das, and Y. C. Hu. Highthroughput
multicast routing metrics in wireless mesh networks. In ICDCS 06,
2006.
[25] E. Royer and C. Perkins. Multicast operation of the ad-hoc on demand
distance vector routing protocol. In MOBICOM 99, 1999.
[26] J. So and N. Vaidya. Multi-channel mac for ad hoc networks:handling
multi-channel hidden terminals using a single transceiver. In MobiHoc
’04, 2004.
[27] J. Tang, G. Xue, and W. Zhang. Maximum throughput and fair
bandwidth allocation in multi-channel wireless mesh networks. In
INFOCOM 06, 2006.
[28] A. Tzamaloukas and J. J. Garcia-Luna-Aceves. A receiver-initiated
collision-avoidance protocol for multi-channel networks. In IEEE
INFOCOM 2001, 2001.
[29] C. Wu, Y. Tay, and C. Toh. Ad hoc multicast routing protocol utilizing
increasing id-numbers (amris) functional specificastion. In Internet
Draft, Nov. 1998.