• 沒有找到結果。

A Heuristic Algorithm

Two ILP were introduced to solve the multicast routing and channel assignment problem in WMNs. However, the computation time of ILP is too high to be acceptable. A heuristic strategy is required since it has less computation time and yields an acceptable solution. Routing and channel assignment problems are both NP-complete, and considering both routing and channel assignment simultaneously is impossible. Therefore, the two problems are considered individually. The heuristic algorithm employs a routing algorithm to determine the multicast tree for each multicast request. From these multicast trees are estimated the approximate load of each link and the most suitable channel is assigned to each link. The rest of this section introduces a strategy to calculate the expected load and expected WBA load of each link, as well as the channel assignment algorithm. Finally, a short summary and a flowchart are presented.

4.1: Compute Expected Load Phase

The multicast tree of each multicast request must be known to estimate the expected load of each link. The following explains the use of Ruiz’s algorithm to yield these multicast trees.

A network topology and a traffic profile are given. Each link in the network has a weight value. The weight value of a link depends on several factors, such as link latency, distance between a pair of nodes. In practice, the weight of each link in a network probably differs from others’. For ease of explanation, in the following instances, all links are assumed to have equal weights. The traffic profile comprises

many multicast groups and the corresponding traffic demand. As in the definition in section 3.1, the traffic associated with each multicast group is assume to be sent from one source node to a set of destination nodes. Finally, Ruiz’s algorithm is individually executed for each multicast request, yielding the multicast tree of each multicast request.

4.1.1: Expected load graph, Expected WBA load graph, and Expected Reduction load graph

After each multicast tree has been obtained, the next step is to calculate the total load of each link. The following introduces three forms of load graph – the expected load graph, the expected WBA load graph and the expected Reduction load graph. A load graph is a structure that describes the load distribution in the network. In a load graph, each arc is bound by a load value t that represents the traffic that passes through this arc with a total load of t units. The load value of a link (u, v) is the sum of the load value of arc (u, v) and arc (v, u). For convenience, the load values of the arcs in those three load graphs are called expected arc load, expected WBA arc load and expected reduction link arc. The same nomenclature is applied to each link. These three load graphs will support the proposed heuristic strategy.

In the expected load graph, any transmission is assumed to be unicast transmission. Restated, wireless broadcast advantage is not considered. The method for calculating each expected arc(link) load is explained as follows. Given a network of four nodes, nodes A, B, C and D, each link in the graph is assigned the same channel, as illustrated in Fig. 5(a). Each link has an initial load value of zero units.

Now traffic is sent from node A to the other two nodes at a amount of 300 units. Arc (A, B) and arc (A, C) have expected arc loads of 300 units each. Different traffic is

sent from node B to node A and node D at a amount of 200. Therefore, the expected arc load of arc (B, D) is 200 units, and the expected arc load of (B, A) is also 200. The expected link load of link eAB is the sum of the expected arc loads of arc (A, B) and arc (B, A), which is 500 units. Figure 5 displays the steps of the calculation.

Figure 5: An example illustrates the calculation method of expected load graph.

In expected WBA load graph, each transmission is assumed to be broadcast: the wireless broadcast advantage is considered. In the following, the same example as was used in the preceding paragraph is applied to elucidate the method for calculating expected WBA arc(link) load. Figure 6 displays the steps. Similarly, the example involves two traffic flows - one from node A to its neighbors, nodes B and C, and the other from node B to nodes A and B. Node A, originally needed two unicast transmissions to send two identical data to its neighbors, nodes B and C. However, if wireless broadcast advantage is considered, then only one broadcast transmission is required to send data from node A to its neighbors. A simple formula is applied to calculate the expected WBA arc(link) load and elucidate the phenomenon clearly. The formula distributes traffic into the links that connect the sender to the receivers. For the traffic generated by node A, the two arcs, which connect node A, B to node A, C, carry about 300/2=150 units of traffic data. The same method is applied to the traffic generated by node B.

(a) (b) (c)

Figure 6: An example illustrates the calculation method of expected WBA load graph.

The expected reduction load graph results from expected load graph and the expected WBA load graph introduced above. Each expected reduction arc(link) load is the corresponding expected arc(link) load minus the corresponding expected WBA arc(link) load. The same example as presented in Fig. 7 is applied here to display the calculation of each expected reduction arc (link) load. Figure 7(a) shows the expected load graph from Fig. 5, and Fig. 7(b) plots the expected WBA load graph from Fig. 6.

Consider the arc (A, B); its expected arc load is 300 units, and its expected WBA arc load is 150 units; then its expected reduction arc load is therefore 300 - 150 = 150 units. The same method is applied to calculate each expected reduction arc(link) load.

Finally, the expected reduction load graph is obtained. Therefore, the expected reduction arc(link) load represents the possible saving of the load of the corresponding arc(link) by replacing unicast transmission with broadcast transmission.

(a) (b) (c)

Figure 7: An example illustrates the calculation method of expected reduction load graph.

4.2: Channel Assignment Phase

The preceding section described three important structures - expected load graph, expected WBA load graph and expected reduction load graph. The functions of these three structures in the proposed channel assignment algorithm are introduced below.

A communication between two nodes can be interfered with by other nodes that use the same channel. Accordingly, the goal of this phase is to develop an appropriate channel assignment algorithm to reduce the interference between each communication.

Furthermore, the wireless broadcast advantage is considered. Accordingly, the proposed channel assignment is divided into the following two steps in this order.

(1) First, as in Ruiz’s routing algorithm, search the nodes and the corresponding links with highly tendency of wireless broadcast advantage and assign channels to those nodes and links. The underlying concept is that, if those nodes and links are assigned suitable channels initially, then the interference can be reduced and the traffic throughput greatly improved.

(2) Perform a channel assignment procedure in heavy-load-first order to assign channels to the rest of the nodes and links.

(a) Original-load graph (b) Expected-load graph (c) Saving-load graph

The following paragraphs describe the two steps in detail. Chapter 5 then presents a performance analysis of the algorithm.

4.2.1: Step 1: Search the nodes with highly tendency of wireless broadcast advantage

This section presents a procedure for searching the nodes with highly tendency of wireless broadcast advantage. Wireless broadcast advantage, as stated above, is a technique that employs broadcast transmission rather than unicast transmission to send one datum to multiple receivers at a time to reduce interference. For ease of explanation, the nodes (links or arcs) that have highly tendency of wireless broadcast advantage are called WBA nodes (links or arcs).

Each node could be a WBA node. However, such nodes interfere with each other.

Therefore, the question is raised regarding how to select the WBA nodes properly. The WBA links must be identified first to achieve this goal. This study proposes a approach that involves sieving with the aid of the three types of load graph. Based on section 4.1.1, for a link, a larger saving link load corresponds to a greater probability of reducing the interference in the network if its neighbor links using the same channel. However, such description for saving link load above is not precise or suitable because it does not take interference into account. The instance described in section 4.1 can be considered to explain this situation. New traffic, with a amount of 1000 units, is generated from node C and passes through node A to arrive at node B, the destination node. The corresponding three load graphs are as displayed in Fig. 8.

In Fig. 8(c), link (A, B) has the largest expected reduction link load and link (A, C) the second. However, the same channel cannot be assigned to both link (A, B) and link (A, C) since both have heavy loads. Therefore, a suitable method is required to

select edges and prevent unacceptable interference.

Figure 8: An example illustrate that it is not suitable to select links according to expected reduction link load merely.

Since the saving link load is not precise or suitable to decide which nodes (links or arcs) are WBA nodes (links or arcs), a precise one is required to reflect the conditions of interference and take wireless broadcast advantage into consideration. A criterion called the expected reduction link (arc) ratio is proposed as follows.

( )

( ) =

( )

expected WBA link arc load expected reduction link arc ratio

expected link arc load (23) From Eq. (23), a larger expected reduction link (arc) radio intuitively favors the selection of the link (arc) as a WBA link (arc). Therefore, a threshold is required to divide the links into WBA links and others. This study sets the threshold as 0.5.

A method of determining which links (arcs) is WBA links (arcs) has now been explicated. The final part is to determine which nodes are WBA nodes. The procedure is divided into two stages - building stage and sieving and channel assignment stage.

It is described as follows.

Building stage, if a node has more than two WBA arcs, then it is chosen as a candidate WBA node. Otherwise, it is discarded. Repeat this procedure for all nodes in order until all nodes are checked.

(b) (c)

(a)

Sieving stage and channel assignment stage, for the candidate nodes in order of the number of WBA arcs associated with the node. In this stage, the appropriate nodes are filtered from the candidate nodes as WBA nodes. A channel is properly assigned to those nodes and their corresponding links. The procedure is described as follows. Let the set of candidate nodes be S.

Step 1: Select the node that has the most WBA arcs or the largest ratio of WBA arcs to total arcs from S. Let this node be node x. Remove x from S; go step 2.

Step 2: If one of x’s WBA arcs has been assigned a channel, then node x is dropped; go step 1. Otherwise, go to step 3.

Step 3: If the total expected link load of x’s WBA arcs exceeds the capacity of a channel, then remove the arcs with smaller saving arc ratios until the total expected link load is less than the capacity of the channel. Finally, if the number of x’s remaining WBA arcs, called eligible WBA arcs, do not exceed two, then x is discarded; go step 1. Otherwise, go to step 4.

Step 4: Assign the channel with least load to node x and its eligible WBA arcs.

Go to step 5.

Step 5: If other candidate nodes are present in S, go step 1. Otherwise, finish.

Now, channels have been assigned to appropriate WBA nodes and WBA links.

4.2.2: Step 2: Perform channel assignment procedure in heavy-load-first order

This section introduces the method for assigning channels to other nodes and links. It differs from the procedure described in section 4.2.1; the channel assignment procedure introduced here begins with links. The procedure introduced in section

4.2.1 is applied to assign channels to some of the links and nodes. Therefore, each expected link load can be recalculated using this information, as the updated expected link load; the corresponding graph is then called the updated expected load graph. It helps in finding links with heavy loads.

Before the channel assignment strategy can be described, several terms must be defined. Let the set of links that have not been assigned a channel be H. The number of NICs of node u that are not assigned a channel is anic u( ). The steps are as follows.

Step 1: Select the link that has the largest updated expected link load from H.

Let this link be l, and the end points of this link be lu and lv. Remove l from H. Go to step 2.

Step 2: Apply different policies according anic l( )u and anic l( )v . Case 1: anic l( )u >0 and anic l( )v >0,

Both nodes have available NICs that are not bound to any channel.

Assign the least load channel to this link and set the NIC correctly.

Case 2: anic l( )u =0 and anic l( )v =0,

If some channels are common to lu and lv, then assign the least loaded channel to link l. Otherwise, the ripple-effect of channel changing occurs. This process will be described below.

Case 3: (anic l( )u >0 &anic l( )v =0) or (anic l( )u =0 &anic l( )v >0)

In the case, (anic l( )u >0 &anic l( )v =0); assign the least loaded channel from those channels of node u to link l and node v. Do the same if (anic l( )u =0 &anic l( )v >0).

Step 3: Finish.

The ripple-effect of channel changing is described below. For a link l with end points lu and lv, anic l( )u =0, anic l( )v =0, and no channel is common to node u and node

v. Let a set be composed of the channels associated with node u and the set of channels of node v be CL. A WBA channel list, WL, is built, to reduce interference and maintain the channel assignment that was conducted in section 4.2.1. The list records that channels that are assigned to WBA nodes and WBA links, in the hope of selecting the channel that is not part of WL first, to prevent local heavy interference. The steps are as follows.

Step 1: Select the least loaded channel from CL that is not part of WL. If such a channel is found, denote it w, and go to step 3; otherwise, go to step 2.

Step 2: Select the least loaded channel from CL, and denote it w. Go to step 3.

Step 3: If node u has channel w, then select a victim channel from node v, called w’. Do the same thing if node v has channel w. Assign channel w to link l.

Go to step 4.

Step 4: Recursively adjust the NIC of the node that has w’ and the channel of related links.

Step 5: Finish.

Figure 9 illustrates the main idea that underlies the ripple-effect of channel changing.

Figure 9: It illustrates the idea of ripple-effect of channel changing.

4.3: Short Summary

The heuristic algorithm proposed herein comprises two phases. The two phases and the steps of each phase are summarized below.

(1) Compute expected load phase. This phase constructs the multicast trees for each multicast request using [10]. These multicast trees are routed to compute the expected load, the expected WBA load and the expected reduction in load of each link in the network.

(2) Channel assignment phase. This phase selects the eligible WBA nodes and assigns the most suitable channel to them and their related WBA links.

Finally, a channel is assigned to the rest of links.

Figure 10 displays the two phases and their steps briefly.

Figure 10: The flowchart of compute expected load phase and channel assignment phase.

相關文件