^{1}

^{*}

^{1}

^{*}

Solving the controller placement problem (CPP) in an SDN architecture with multiple controllers has a significant impact on control overhead in the network, especially in multihop wireless networks (MWNs). The generated control overhead consists of controller-device and inter-controller communications to discover the network topology, exchange configurations, and set up and modify flow tables in the control plane. However, due to the high complexity of the proposed optimization model to the CPP, heuristic algorithms have been reported to find near-optimal solutions faster for large-scale wired networks. In this paper, the objective is to extend those existing heuristic algorithms to solve a proposed optimization model to the CPP in software- defined multihop wireless networking (SDMWN).Our results demonstrate that using ranking degrees assigned to the possible controller placements, including the average distance to other devices as a degree or the connectivity degree of each placement, the extended heuristic algorithms are able to achieve the optimal solution in small-scale networks in terms of the generated control overhead and the number of controllers selected in the network. As a result, using extended heuristic algorithms, the average number of hops among devices and their assigned controllers as well as among controllers will be reduced. Moreover, these algorithms are able tolower the control overhead in large-scale networks and select fewer controllers compared to an extended algorithm that solves the CPP in SDMWN based on a randomly selected controller placement approach.

Applying the software-defined networking (SDN) architecture to multihop wireless networks (MWNs), which are self-configuring and self-organizing, can be beneficial to overcome some of the existing challenges, including distributed network management, mobility of devices, energy consumption, and quality of service [

In SDMWN, in addition to the shared and unreliable communications and the capacity limit of links, in some techniques, the data and control traffic share the same channel. Therefore, in such networks, solving the CPP while minimizing the generated control overhead plays an important role in reducing energy consumption, packet losses, and delay that in turn has a significant impact on the reliability of the control plane. The control overhead in the network consists of controller-device communications to set up flow tables and exchange network configurations. Moreover, in a multi-controller environment, a number of control packets are required to be exchanged periodically among controllers (inter-controller communications) to synchronize and integrate different network views and obtain a global view of the network [

In [

In the proposed model in [

On the other hand, various heuristic algorithms, as described more in Section 2, have been proposed to solve the CPP and find near-optimal solutions in a reasonable time while considering different objectives in larger networks [

We have performed a number of experiments using large networks. The results demonstrate that the proposed heuristic algorithms that find the controller placements based on a ranking degree assigned to the possible placements, i.e., the ranking of connectivity degree or the average distance degree to other devices, are able to find optimal and near-optimal solutions, including controller placements and assignments while minimizing the network cost. We also evaluate the performance of those adapted heuristic algorithms and the optimal solution with multiple metrics, including the network cost, the average number of hops among devices and their assigned controllers, the average number of hops among controllers and the computational time. To make the model easier before considering the mobility in the network, the proposed heuristic algorithms in the literature and in this paper consider static networks such that investigating the effect of mobility on heuristics should be conducted in the future.

The rest of the paper is organized as follows. Section 2 describes the related work in heuristic algorithms to solve the CPP while minimizing the control overhead. Section 3 presents the proposed optimization problem and Section 4 shows the proposed extension to the existing heuristic algorithms to solve the proposed optimization model. Section 5 evaluates the proposed heuristic algorithms and compare the obtained results with the optimal solution achieved from solving the optimization model in networks with different topologies and a different numbers of devices. Finally, we conclude the paper in Section 6.

In this section, we review some existing heuristic approaches proposed in the literature to solve the CPP, while minimizing control overhead in the network.

SDN was originally proposed to have a central controller. Having a centralized controller has some drawbacks, such as a single point of failure and scalability issue [

However, there are other challenges for SDMWN. Among them include determination of the number of controllers and their locations, and assignment of controllers to network devices. Those challenges in SDMWN are referred to as the CPP that is a NP-hard problem [

There are only few studies investigating the CPP in wireless networks. This problem was introduced as the wireless CPP in [

Dvir et al. [

A few heuristic algorithms for the CPP have been reported in the literature to minimize the control overhead in the network. However, those existing algorithms do not consider the characteristics of wireless networks. In [

In the proposed algorithm in [

Summary: In [

In general, the existing heuristic algorithms [

In this section, we present the simplified model of [

We use the following notations in this paper for the proposed models. All notations except N h o p m , n are also presented in the optimization model proposed in [

· C o s t T D shows the total cost of topology discovery in the network (control packets/second) calculated using Equation (2).

· R T D is the rate of running topology discovery by each controller in the network (1/second).

· R F l o w R q is the arrival rate of new flows in each network device, i.e., the devicesends a flow request message toward its assigned controller (1/second).

· N shows the number of controllers.

· n e i g h b o r [ i ] presents a set of neighbors of device i in the network.

· n e i g h b o r i , j demonstrates the j^{th} neighbor of device i in the network.

· N h o p m , n is the number of hops in the shortest path between device m and device n.

In the simplified optimization model proposed in this paper, since controllers and devices communicate using the shortest paths without considering the capacity of links, the outputs are defined as follows in the objective function.

· y k : The value equals one if and only if device k hosts a controller.

· x k , i : The value equals one if and only if the controller placed on device k is assigned to device i.

Therefore, the outputs of the proposed model are the optimal placements of N controllers, controller assignments to network devices and the optimal cost of N controller placements in a SDMWN.

This section presents the objective function and the cost function that we adapt the one used for optimization from [

M i n ( C o s t T D + ∑ k = 1 | V | ∑ i = 1 , i ≠ k | V | ( R F l o w R q x k , i [ N h o p k , i + N h o p i , k ] ) ) (1)

subject to: (3), (4), (5), (6).

The first part of Equation (1) ( C o s t T D ), which is calculated using Equation (2) shows the total cost of topology discovery in the network. The second part of Equation (1) shows the total cost of controller-device communications to set up flow rules and exchange configurations using the shortest path communications.

C o s t T D = R T D [ ∑ k = 1 | V | ∑ i = 1 , i ≠ k | V | ( N h o p k , i + ∑ m = 1 | V | ∑ j = 1 , j ≠ k , m | n e i g h b o r [ i ] | N h o p n e i g h b o r i , j , m x m , n e i g h b o r i , j ) x k , i ] + R T D [ ∑ k = 1 | V | ∑ p = 1 , p ≠ k | V | ( y k y p N h o p k , p ) ] (2)

The objective function presented in Equation (1) is subject to the following defined constraints. The constraint defined in Equation (3) avoids assigning a device to a controller that is not placed in the network.

x k , i ≤ y k , ∀ i , k ∈ V (3)

The constraint defined in Equation (4) ensures that each device is assigned to exactly one controller.

∑ k = 1 | V | x k , i = 1 , ∀ i ∈ V (4)

Equation (5) ensures that there is a given number of controllers in the network.

∑ k = 1 | V | y k = N (5)

Equation (6) presents the integrality constraints.

x k , i , y k ∈ { 0 , 1 } , ∀ i , k ∈ V , ∀ ( u , v ) ∈ E (6)

As described in the introduction, we adapt the existing heuristic algorithms for the modified optimization problem. This section presents the three extended algorithms in details. The objective of those heuristic algorithms is to minimize the network cost and satisfy the defined constraints. This network cost consists of the cost of controller-device and inter-controller communications for network topology discovery, and the cost of controller-device communications to set up flow tables and exchange configurations.

1: | Input: G = (V, E), N (number of controllers), Constraints (e.g., capacity of links) |
---|---|

2: | M i n C o s t ← ∞ |

3: | For each solution k in the set of possible solutions Do |

4: | Assign the set of controllers in k to network devices |

5: | C o s t k = C o s t F u n c ( G , k ) |

6: | If ( C o s t k < M i n C o s t ) and (Constraint Check) Then |

7: | M i n C o s t = C o s t k |

8: | End If |

9: | End For |

10: | Return N Controller Placements, Controller Assignments, MinCost |

1: | Function C o s t F u n c ( G , k ) |
---|---|

2: | Calculate C o s t T D k |

3: | Calculate C o s t S e t u p k |

4: | C o s t k = C o s t T D k + C o s t S e t u p k |

5: | Return C o s t k |

Similar to [

The authors in [

1: | Input: G = (V, E), N (number of controllers), Constraints (e.g., number of controllers, number of controllers assigned to each device) |
---|---|

2: | P[ |

3: | M i n C o s t ← ∞ |

4: | I 0 |

5: | Do |

6: | Add placement P[i] to the set of possible placements k |

7: | Assign the set of the controllers in k to network devices |

8: | C o s t k = C o s t F u n c ( G , k ) |

9: | If ( C o s t k > M i n C o s t ) Then |

10: | Remove P[i] from the set of possible placements k |

11: | End If |

12: | i++ |

13: | While ( C o s t k < M i n C o s t ) |

14: | Return N Controller Placements, Controller Assignments, M i n C o s t |

as the ranking degree. However, the algorithm presented in [

Hence, Algorithm 4 presented in

Moreover, Algorithm 5 presented in

1: | Input: G = (V, E), N (number ofcontrollers), Constraints (e.g., number of controllers, number of controllers assigned to each device) |
---|---|

2: | P[ |

3: | M i n C o s t ← ∞ |

4: | I 0 |

5: | Do |

6: | Add placement P[i] to the set of possible placements k |

7: | Assign the set of the controllers in k to network devices |

8: | C o s t k = C o s t F u n c ( G , k ) |

9: | If ( C o s t k > M i n C o s t ) Then |

10: | Remove P[i] from the set of possible placements k |

11: | End If |

12: | i++ |

13: | While ( C o s t k < M i n C o s t ) |

14: | Return N Controller Placements, Controller Assignments, M i n C o s t |

1: | Input: G = (V, E), N (number ofcontrollers), Constraints (e.g., number of controllers, number of controllers assigned to each device) |
---|---|

2: | M i n C o s t ← ∞ |

3: | Add placements in V to the set of possible controller placements k |

4: | Assign the set of the controllers in k to network devices |

5: | Do |

6: | Select a placement i randomly from k |

7: | Remove i from the set of possible placement k |

8: | Assign the set of the controllers in k to network devices |

9: | C o s t k = C o s t F u n c ( G , k ) |

10: | If ( C o s t k > M i n C o s t ) |

11: | Add i to the set of possible placements k |

12: | End If |

13: | While ( C o s t k < M i n C o s t ) |

14: | Return N Controller Placements, Controller Assignments, M i n C o s t |

The computational complexity of the presented algorithms, i.e., Algorithms 1, 2 and 3, in this section is (O(|V|)) which is lower than solving the optimization problem that needs to search all possible combinations of selecting N placements from V devices, which is a NP-hard problem [

As mentioned earlier, the proposed optimization model in [

A number of experiments have been performed for evaluation. We use randomly generated topologies with different numbers of devices and run the proposed algorithms on each topology 10 times and calculate the average network cost. Moreover, we use AMPL (a mathematical programming language) [

To evaluate the optimization problem and the proposed heuristic algorithms, we assume that R F l o w R q = 0.5 (1/second), i.e., each network device receives a new flow every 2 seconds and R_{TD} = 0.2 (1/second), i.e., each controller runs the topology discovery process every 5 seconds, which is adopted from Open Daylight [

Optimal Solution | Algorithm 3 | Algorithm 4 | Algorithm 5 |
---|---|---|---|

13.8 | 13.8 | 13.8 | 15.0 |

Optimal Solution | Algorithm 3 | Algorithm 4 | Algorithm 5 |
---|---|---|---|

13.2 | 13.2 | 13.2 | 15.6 |

Number of devices | Optimal Solution | Algorithm 3 | Algorithm 4 | Algorithm 5 |
---|---|---|---|---|

10 | 13.8 | 13.8 | 13.8 | 15 |

20 | 42.6 | 42.6 | 42.6 | 54 |

30 | 79.2 | 79.6 | 80.4 | 88 |

40 | 126 | 149.8 | 131.4 | 143.8 |

50 | 186.4 | 199.4 | 194.8 | 223.8 |

60 | 219.8 | 274 | 252 | 286.6 |

for small-scale networks, Algorithm 3 based on the connectivity degree and Algorithm 4 based on the distance degree are able to find the same solution as the optimal solution obtained from solving the optimization problem for 10 or 20 nodes. The results generated from Algorithm 3 and Algorithm 4 are mostly close to that of the optimal solution, whereas Algorithm 5 generally has a higher cost. Moreover,

Number of devices | Algorithm 3 | Algorithm 4 | Algorithm 5 |
---|---|---|---|

70 | 284.6 | 337 | 368.6 |

80 | 420 | 408.8 | 460.2 |

90 | 557 | 481.8 | 629.8 |

100 | 763.4 | 539 | 801.6 |

150 | 1091.4 | 1098.6 | 1604.7 |

200 | 1723.6 | 1930 | 2204.5 |

300 | 4035.6 | 4076.2 | 4303.4 |

400 | 6424.8 | 7111.4 | 7308.9 |

500 | 10,122.6 | 10,675 | 12,029.4 |

In the reviewed algorithms [

If we consider the capacity constraint of links and limit the capacity of all links to a certain value, using the network cost achieved from the proposed heuristic algorithms and the generated placement results, we are able to find the number of controllers that satisfies the capacity constraint. In this case, when placing a given number of controllers, if the heuristic algorithms or the proposed optimization problem result with higher cost than the limited capacity, the solution then is not able to satisfy the capacity constraint.

For example, when placing 5 controllers in Topology 1 as shown in

In addition,

Number of devices | Optimal Solution | Algorithm 3 | Algorithm 4 | Algorithm 5 |
---|---|---|---|---|

10 | 0.4484 | 0.0086 | 0.0120 | 0.0042 |

20 | 21.1262 | 0.0109 | 0.0163 | 0.0105 |

30 | 95.5204 | 0.0133 | 0.0220 | 0.0171 |

40 | 300.3674 | 0.0154 | 0.0272 | 0.0226 |

50 | 1062.1368 | 0.0163 | 0.0413 | 0.0348 |

60 | 1889.29 | 0.0172 | 0.0419 | 0.0382 |

Number of devices | Algorithm 3 | Algorithm 4 | Algorithm 5 |
---|---|---|---|

70 | 0.01754 | 0.04554 | 0.05268 |

80 | 0.01845 | 0.05377 | 0.07014 |

90 | 0.01954 | 0.06315 | 0.09617 |

100 | 0.02313 | 0.07222 | 0.11397 |

150 | 0.03531 | 0.18085 | 0.19192 |

200 | 0.06372 | 0.48571 | 0.39283 |

300 | 0.13912 | 0.94347 | 1.03180 |

400 | 0.17023 | 1.44209 | 1.64672 |

500 | 0.28923 | 3.39799 | 3.02576 |

The objective of most studies in solving the CPP in both wired and wireless networks [

Number of devices | Optimal Solution | Algorithm 3 | Algorithm 4 | Algorithm 5 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|

Cost | Avg. Hop Counts (CD) | Avg. Hop Counts (CC) | Cost | Avg. Hop Counts (CD) | Avg. Hop Counts (CC) | Cost | Avg. Hop Counts (CD) | Avg. Hop Counts (CC) | Cost | Avg. Hop Counts (CD) | Avg. Hop Counts (CC) | |

10 | 13.8 | 1.0 | 1.0 | 13.8 | 1.0 | 1.0 | 13.8 | 1.0 | 1.0 | 15.0 | 1.0 | 1.0 |

20 | 42.6 | 1.0 | 1.0 | 42.6 | 1.0 | 1.0 | 42.6 | 1.0 | 1.0 | 54.0 | 1.0 | 1.5 |

30 | 79.2 | 1.0 | 1.21 | 79.6 | 1.0 | 1.22 | 80.4 | 1.04 | 1.1 | 88.0 | 1.0 | 1.44 |

40 | 126.0 | 1.03 | 1.38 | 149.8 | 1.41 | 1.05 | 131.4 | 1.12 | 1.22 | 143.8 | 1.03 | 1.95 |

50 | 186.4 | 1.08 | 1.14 | 199.4 | 1.33 | 1.0 | 194.8 | 1.24 | 1.02 | 223.8 | 1.02 | 1.89 |

60 | 219.8 | 1.02 | 1.91 | 274.0 | 1.58 | 1.01 | 252.0 | 1.37 | 1.19 | 286.6 | 1.06 | 2.41 |

the number of devices in the network. As shown in

The CPP is a potentially useful solution to SDMWN due to some issues in MWNs, such as reliability, scalability, and energy depletion. Control overhead is a crucial factor to consider for SDMWN. In this paper, we extended some of the existing heuristic algorithms proposed for the CPP in wired networks to SDMWN. The objective is to minimize the control overhead or the network cost for the proposed optimization problem in SDMWN. The extension of our algorithms considered the characteristics of SDMWN, e.g., wireless medium, multihop communications. We ran the algorithms in SDMWN with different numbers of devices, from 10 to 500.

The results obtained from the proposed three heuristic algorithms and the linear optimization model show that using a ranking algorithm based on the connectivity degree of the possible placements (Algorithm 3) or the degree of the average distance of the placements to other devices (Algorithm 4), we are able to find solutions that are identical to that of the optimization model in small-scale networks. Moreover, when increasing the number of devices, these two proposed heuristic algorithms are able to select a better number of controllers and controller placements, which results in lower network cost and the average number of hops among controllers compared to Algorithm 5 which selects the possible placements randomly.

Using the results obtained from the proposed heuristic algorithms, we were able to find the number of controllers that satisfy the capacity of links constraint defined in the proposed optimization model. Moreover, the results showed that the computational times for all three heuristic algorithms are significantly lower than that of the optimal solution, which makes them more practical. Among those three heuristic algorithms, Algorithm 3consistently requires less computational time which is based on calculating connective degree values of the possible placements.

Devices in SDMWN may be mobile. However, the algorithms presented in related works and in this paper are based on the model with stationary network devices. The motivation of this paper is to investigate the CPP and potential solutions, as the model is easier to understand before considering mobility. By doing so, we could also establish the baseline for further research to show the impact of solving the CPP in SDMWN with mobile devices on the network cost in the future.

The authors declare no conflicts of interest regarding the publication of this paper.

Zahmatkesh, A. and Lung, C.-H. (2020) Using Heuristics to the Controller Placement Problem in Software-Defined Multihop Wireless Networking. Communications and Network, 12, 199-219. https://doi.org/10.4236/cn.2020.124010