Multicast Routing with Load Balancing in Multi-Channel Multi-Radio Wireless Mesh Networks

By an increasing expansion of multimedia services and group communication applications, the need for multicast routing to respond to multicast requests in wireless mesh networks is felt more than before. One of the main challenges in multi-channel multi-radio wireless mesh networks is the efficient use of the capacity of channels as well as load balance in network. In this paper, we proposed an algorithm for building a multicast tree, namely, Load balanced Multicast routing with Genetic Algorithm (LM-GA). The purpose of this algorithm is to construct a multicast tree for requested sessions in Multi-Radio Multi-Channel Wireless Mesh Networks (MCMR WMNs) regarding load balance in channels through minimizing the maximum amount of channels utilization. The results show the efficiency of LM-GA in distribution of load in the channels of the network with finding near-optimal solutions, and also an increase in the network performance while avoiding creation of bottlenecks. Keywords—Wireless mesh network; multi-radio; multichannel; multicast routing; channels load balancing; genetic algorithm


I. INTRODUCTION
During the evolution of various wireless networks in the next generation for providing better service, a key technology has emerged which is known as wireless mesh networks (WMNs).These networks are popular for their low cost, convenient maintenance, robustness and reliability [1].
In WMNs packets are sent from the source node to the destination node in a multi-hop manner.Nodes consist of mesh routers and mesh clients.Mesh clients are called end user devices and at the same time routers play the role of transit access point for exchanging information either between clients or clients-internet.Some mesh routers have direct access to wired networks and they serve as gateway for other nodes for access to internet.
In wireless networks unlike the wired ones, owing to their broadcast nature, capacity reduction caused by interference is a basic challenge.A good way to overcome this challenge is to equip the mesh routers with several radios and to assign nonoverlapping channels to their radios.Using multi-radios causes a parallel transmission in different channels; however, it will complicate the routing process.Also, ignoring the channels usage may lead to congestion in specific channels; as a result, a bottleneck may be created or an early overload of a channel may occur.All these will lead to a decrease in the network throughput.
Multicast routing has been considered as a way for communication between several receivers; it means that data will be transmitted / sent from one source to a group of destinations.The aim of multicast routing is to find a multicast tree whose root is the source node and that it covers all the receivers.
Since the problem of constructing a Minimum Cost Multicast Tree (MCMT) is a NP-hard problem [2], an algorithm named Load balanced Multicast routing with Genetic Algorithm (LM-GA) was used to find the near optimal solution.This algorithm explores the space of solutions and leaves the local optimum in order to get to the best solution.
This paper is organized as follows.Section 2 provides a summary of related works; Section 3 presents the system model and defines the problem; our proposed algorithm is presented in Section 4; Section 5 evaluates the algorithm operation; finally, the discussion and the conclusion are provided in Section 6.

II. RELATED WORKS
The load balance may be studied at two general levels: the node and the channel.Many studies have been carried out on load balance at node level, namely, on the mesh router and gateway.Here the focus is on load balance in channels.Now some research carried out on the construction of the multicast tree and the load balancing on channels are briefly reviewed.For the rest of this paper, the terms mesh routers and nodes are used interchangeably.
In [2], Liu and Liao studied the problem of building a multicast tree by considering the interference between trees in dynamic traffic model in Multi-Radio Multi-Channel Wireless Mesh Networks (MCMR WMN).Moreover, in their research they proved that the problem of building multicast tree with the minimum cost is a NP-hard problem.Besides, in order to build a multicast tree, first they presented an optimal model and then proposed a near optimal algorithm called Wireless Closest Terminal Branching (WCTB) algorithm.In each stage of this algorithm, a branch from source to destination is added to the tree and this node is the closest uncovered destination to the source.[3] proposed an innovative algorithm for building a load-balanced multicast tree in MCMR WMN.They used a load-aware cost function to weight the links.In this function, two factors of Wireless Broadcast Advantage (WBA) and node load balance were considered, which resulted www.ijacsa.thesai.org in building a multicast tree with the minimum transmission and fair distribution of load in the network and decreasing the interference.

Avokh and Mirjalili
Asadi Shahmirzadi et al. [4] proposed a mathematical framework for wireless mesh network with several gateways which, in response to a multicast request, finds the shortest load balanced multicast tree with the minimum usage of channel.In this tree, the maximum used amount of channels is minimized and several gateways are used for routing.In their research, they used Integer Linear Programming (ILP) method for solving the problems; however, as this problem is NP-hard, it is not extendible for networks with a large number of nodes.
Cicconetti et al. [5] proposed a fair bandwidth allocation algorithm for bandwidth distribution in IEEE 802.16 singleradio multi-channel WMN.In this algorithm, the requested bandwidth between channels is distributed in a round robin fashion and the outputs of flows are served by using Deficit Round Robin (DRR) scheduling algorithm.This method does not employ the multi-radio capacity of nodes and as a result is not suitable for multi-radio multi-channels WMNs.
Avokh and Mirjalili [6] proposed two algorithms which consider the problems of building multicast and broadcast trees, choosing the channel, and selecting the transmission rate commonly in multi-radio multi-rate multi-channel WMNs.Employing these algorithms can lead to create traffic load balance in the network and it improves network resources consumption.The essential aim in this paper is to build a load balanced multicast or broadcast tree along through choosing transmission channel and rate.However, the proposed algorithms cannot guarantee the optimal solutions.Shi et al. [7] proposed a routing algorithm taking inter/intra flow interference into account.Considering the factors of load balance in channel, their algorithm uses less loaded links for routing in multicast sessions.The resulted output of this algorithm will not be an optimal solution.
The problem of load balance has been studied in WMNs [8,9] by applying genetic algorithm.In [8], Hsu and et al. used Backbone Wireless Mesh Network (BWMN) as a replacement for MAN backbone.Their paper focuses on the topology and placement of gateway at the minimum cost.They proposed two algorithms, namely, the Predefined Gateway Set Algorithm (PGSA) and the Self-Constituted Gateway Algorithm (SCGA) for designing BWMNs.Since the problem of designing an optimal network typology by a spanning tree is a NP-hard problem, therefore, using a metaheuristic algorithm has been studied in this paper along with the two said algorithms to achieve a near-optimal solution.Here, genetic algorithms together with Dijkstra algorithm have been used as a search technique for finding a low cost network configuration with limitation such as survivability, link capacity and maximum durable delay.
Zeng and Chen [9] have proposed a Greedy Algorithm for Load Balancing Clustering (GA-LBC), for dividing mesh network into separate clusters: in each cluster a node is chosen as the head where QoS needs are satisfied.Since choosing the right gateway is very important for optimal throughput and load balance and achieving this aims is difficult when greedy algorithm is used, a combination of this algorithm and genetic algorithm was made and led to presenting Hybrid Algorithm for Load Balancing Placement of Gateways (HA-LBP) to reach at a near-optimal solution.Therefore, algorithm GA-LBC was proposed for clustering the networks and HA-LBPG by using genetic algorithm operators to find the right node for the gateway in each cluster.
As it was mentioned above, in most methods like this, the proposed solutions are not optimum, or they may be trapped in a local optimum.Also, in cases where genetic algorithm has been used to achieve throughout optimum, this algorithm has been applied together with other algorithms and as a tool for searching the solution space.But, in our proposed algorithm, genetic algorithm is used as the principal algorithm.As the result, the problem becomes simpler and can be implemented easier.

III. SYSTEM MODEL AND PROBLEM DESCRIPTION
In this section, we explain the network model, the interference model, and the problem which will be solved accordingly.

A. Network and Interference Model
MCMR WMN consists of n fixed mesh router and each router is equipped with several half duplex network cards.Each network card is tuned to one of the non-overlapping K channel and it is not possible to change the channel.Graph representation has been used for network modelling.In this demonstration, G= (V, E) demonstrates network graph where V is the set of routers, Matrix E denotes the links between the nodes and their values demonstrate the channel assigned to the links.
The considered interference model is called Receiver Conflict Avoidance (RCA) [10].According to this model, an interference is occurred between two transmission (x,y) and (w,z), if and only if y node is located in interference range of node w and a similar channel is used for transmission in both links.Also, transmission rate for all sessions is fixed.For all radios in each node, transmission range and interference range are assumed to be the same.The connection between nodes has been assumed to be symmetric and the wireless broadcast advantage (WBA) has been considered for the appropriate use of wireless environment and improvement of network performance.

B. Problem Description
The purpose of this paper is to present an algorithm for building a multicast tree at the minimum cost for channel load balancing.Here, the sessions, without the knowledge of future sessions, enter the network one after another.Each session includes a source node and a number of destination nodes.The multicast tree is in form of a directed acyclic subgraph of Graph G where the source node is linked to destination nodes.For example, in Fig. 1, node 14 with two circles is source node and gray nodes are multicast destinations.The number of each node is that node's identification code and the number on each link shows the channel assigned to that link.In this figure, arrows show the links of constructed multicast tree.There are www.ijacsa.thesai.orgthree types of nodes in a multicast tree: the source node which plays the role of the root and it only sends the data (node 14), the leaf node that only receives the data (nodes 2, 9, 30) and the forwarding node which may also be both receiver and sender of data (nodes 3, 7, 10, 11, 18, 19).

IV. LOAD BALANCED MULTICAST ROUTING WITH GENETIC ALGORITHM
As mentioned above, the aim is to present an algorithm for building a multicast tree for load balance in channels at minimum cost.Here the genetic algorithm is used to find the optimal solution in the problem.In this section the proposed algorithm is presented.The steps of applying a genetic algorithm for a session are shown in Fig. 2. In this section these steps are studied.

A. Population Representation
In this paper, each individual (chromosome) is defined as a path from the source to one of a multicast destination.A sequence of integer numbers is used to show the routes.For example, in Fig. 3 the route between the source node (node 14) and the destination node (node 2) is shown in a sequence of {14, 10, 11, 7, 3, 2}.

B. Population Generation
To start the genetic algorithm, a population of solutions is needed.Therefore, a random-tree generation algorithm is applied for generating the first population; the merge, sort, and truncate method was used for regenerating the population.Therefore, by applying roulette wheel selection method, persons are selected from the initial population for mutation and crossover operators; then the population resulted from crossover and mutation are merged with the initial population and they are ordered according to the cost function.Finally, a specific number of the best members of the population are selected as the new generation.

C. Crossover
In order to apply crossover, the first two individuals are selected as parents by roulette wheel.Then, by using singlepoint crossover, the crossover children are generated.In the crossover process, as it is shown in Fig. 3, a common point is selected which is called the crossover point between two paths.As a result, the first part of both children is chosen from the corresponding parent and the second part from the other ones.

D. Mutation
To apply this operator, one parent is selected by roulette wheel and one of its points is chosen randomly for employing the mutation.Fig. 4 shows an example of mutation.As it is shown, when the mutation node(gray node) is selected, one of the neighboring nodes which not being a member of the current session tree, is selected randomly (the black node) and the selected node generates new route.In Fig. 4 bold lines show the route before the mutation is applied and the route shown by arrows indicates the replaced route after the mutation is applied.

E. Cost Function
To calculate costs of each route, the utilization of various channels on each node is calculated using (1).
In the relation shows the channel utilization k from the view of node x.Number of sessions is shown by n s .The channel utilization is location dependent, namely, the amount of channel utilization shown by k from a node view may be different from that calculated from the view of other nodes.In this relation, if i is a forwarding node on channel k on a tree in j th session, will be 1, otherwise it will be zero.Also shows the traffic load requested by the j th session and C 0 shows the capacity of the channel.In each session, the channel utilization of session j th equals the sum of transmissions made by the nodes existing in the interference range of X operated on channel k.The amount of CU is always less than 1, otherwise it will lead to channel overload.
The output of this relation is a matrix n×k.Then, the maximum utilization of each channel is extracted and the maximum amount of them is selected as the cost route.Finally, from the generated routes, the one with minimum of maximum utilization is selected as the output route.

F. The Termination Condition
Here the condition of maximum 50 iteration for each route between the source and one specified destination is considered where, if a solution is iterated 7 times as the best solution, it will be ultimately considered the same.
Pseudo code of LM-GA algorithm is shown in Algorithm 1.
Here n c , n m , D and C show the number of children from crossover, the number of children of mutation, the number of uncovered destinations and the number of covered destinations, respectively.
The Algorithm outputs contain j th multicast tree, the vector of node loads and the matrix of channel utilizations.In each run of the algorithm, the initial tree contains of the source node of current session (line 6), then the while loop in lines 7-27 will be repeated until the multicast tree spans all destination nodes.In the end of the algorithm, L and CU amounts will be updated (line 28).
1: For j: J Do 2: /* Initialization*/ 3: S S j , R R j , FWD= 4: Initial population create base on Random Tree 5: /* tree construction */ 6: T j {S} 7: While C<M 8: Select paths from S to R D from Initial population 9: Sort paths base on costs 10: While stop conditions don't satisfy 11: For ⁄ times do 12: Choose parents 13: Apply crossover 14: End for 15: For n m times do 16: Choose parent 17: Apply mutation 18: End for 19: Merge paths and offsprings 20: Sort base on cost 21: Truncate 22: Select first individual as the best path 23: End While 24: T j  T j best solution 25: FWD j  FWD j (best solution(S,R D )) 26: R R-{R C }, D = D-1, C=C+1 27: End While 28: Updata Values of L and CU 29: Return T j 30: /* the j th multicast Tree is obtained */ 31: End for

V. PERFORMANCE ANALYSIS AND SIMULATION RESULTS
In this section we discuss the performance of LM-GA algorithm on the basis of following criteria.

 Standard Deviation of Nodes Utilization (SDNU)
 Average of end-to-end delay Utilization of channels and nodes show usage level of channels and nodes sources by multicast trees.Therefore, variance of channels utilizations as well as SDNU is used for analyzing in order to study the level of load balance in the network.The smaller the amount is the more equal distributed in the network accordingly.Average of end-to-end delay is www.ijacsa.thesai.orgcalculated via the average level of steps between source and destination in each session.
The performance of LM-GA is compared with LMTR [3] and SPT algorithms utilizing simulation in MATLAB.Here a multi-radio multi-channel wireless mesh network is considered together with 16 mesh routers in a grid topology.In this topology the routers are at a distance of 100 meters from one another.The transmission range and interference range are considered 120 and 200 meters, respectively.

A. Scenario #1
Here a fixed network 4×4 was considered.LM-GA, LMTR, and SPT Algorithms were run 10 times for 100 sessions.The results of comparison are presented separately for each criteria brought up in previous section as follows: As it is shown in Fig. 5(a), (b), the results of LM-GA algorithm which were obtained by applying genetic metaheuristic algorithm show an improvement in both channels utilization and standard deviation of utilization factors in comparison with the results of that of SPT and LMTR algorithms.In other words, channels are more balanced in LM-GA algorithm.So, as the results show one or more channels do not end in early overload and they do not become inaccessible.Sometimes, such balance requires choosing longer routes, and therefore, as the graph shows in Fig. 5(c), the average end-toend delay has increased slightly.Fig. 6 shows the result of utilization of three nonoverlapping channels (K1 to K3) after various employment of LM-GA, LMTR and SPT algorithms.Comparing the results, the conclusion is that the network load of LM-GA Algorithm is distributed more fairly if compared with that of LMTR and SPT Algorithm.

B. Scenario #2
Here the effects of LM-GA algorithm on the network size were studied.Fig. 7 shows the results of applying LM-GA algorithm in Mesh Network at sizes of 4×4, 5×5 and 6×6 at 100 sessions.As network size is increased, variance of channels utilization and standard deviation of node utilization will decrease in LM-GA algorithm (Fig. 7(a), (b)) correspondingly.When the maximum use of channels is decreased, more capacity of channels will be available for acceptance of future sessions.Moreover, the standard deviation of node utilization decrease shows that when the size of the network is increased, the load is distributed more fairly between the nodes and an end-to-end delay in LM-GA algorithm is slightly increased if compared with SPT (Fig. 7 (c)).

VI. CONCLUSION
This paper focuses on solving the multicast routing problem, having considered the load balance in the links of MCMR WMN.In order to avoid creation of bottleneck and overload in one or more channels, the maximum utilization of the channel was minimized for the balanced distribution of the loads in the network channels.To meet this purpose, genetic metaheuristic algorithm was applied.
The simulation results show that in both scenarios where LM-GA algorithm was employed, the variance of channels utilization is less than the time LMTR and SPT algorithms were applied.Even when the size of network is increased the variance is decreased accordingly.In other words, the load distributed between the channels is more balanced and all channels capacity is used almost evenly.Therefore, the maximum of channel usage is decreased and more channel capacity will be available for the future sessions.
In this research, static channel assignment has been used for links.Therefore, with using dynamic channel assignment, the proposed algorithm can be extended for achieving better results in future works.

Fig. 2 .
Fig. 2. The flow chart of a genetic algorithm for a multicast session.

Fig. 7 .
Fig. 7. Comparing network size impact based on criteria (a) variance of channel utilization (b) SDUN (c) average of end-to-end delay.