A K-means-based Network Partition Algorithm for ... - IEEE Xplore

33 downloads 28065 Views 134KB Size Report
Computer Network Information Center, Chinese Academy of Sciences, Beijing, 100190 China. Abstract—Software Defined Networking (SDN), the novel.
IEEE ICC 2016 - Communications Software, Services and Multimedia Applications Symposium

A K-means-based Network Partition Algorithm for Controller Placement in Software Defined Network Guodong Wang∗ , Yanxiao Zhao∗ , Jun Huang† , Qiang Duan‡ , Jun Li§ ∗ Department

of Electrical and Computer Engineering South Dakota School of Mines and Technology, Rapid City, SD 57701 USA † Department of Communication and Information Engineering Chongqing University of Posts and Telecommunications, Chongqing, 400065 China ‡ Department of Information Science & Technology The Pennsylvania State University, Abington, PA 19001 USA § Computer Network Information Center, Chinese Academy of Sciences, Beijing, 100190 China Abstract—Software Defined Networking (SDN), the novel paradigm of decoupling the control logic from packet forwarding devices, has been drawing considerable attention from both academia and industry. As the latency between a controller and switches is a significant factor for SDN, selecting appropriate locations for controllers to shorten the latency becomes one grand challenge. In this paper, we investigate multi-controller placement problem from the perspective of latency minimization. Distinct from previous works, the network partition technique is introduced to simplify the problem. Specifically, the network partition problem and the controller placement problem are first formulated. An optimized K-means algorithm is then proposed to address the problem. Extensive simulations are conducted and results demonstrate that the proposed algorithm can remarkably reduce the maximum latency between centroid and their nodes compared with the standard K-means. Specifically, the maximum latency can reach 2.437 times shorter than the average latency achieved by the standard K-means. Index Terms—Software Defined Network; Network partition; Controller placement; Latency;

I. I NTRODUCTION Software Defined Networking (SDN) is emerging as a promising paradigm for future networking. One distinct change of SDN compared with conventional networking is that the control plane is moved to a set of dedicated controllers and each of them manages one or more simplified packetforwarding switches. Although the research in SDN has drawn considerable attentions, many challenges remain. Take the control plane as an example, given a specific network with a certain number of nodes, how to place the controllers to appropriate nodes is an open question. To address this issue, metrics such as latency, resilience, reliability, energy saving and load balancing are often considered. Among these performance metrics, latency plays a critical role in networking performance [1], [2], [3] as it heavily affects quality of service in growing real-time applications. Therefore, the main focus of this work is to design a controller placement approach while minimizing latency. In the literature, several solutions target reducing the latency between controller and switches. Heller et al. [4] initiated the investigation of controller placement and examined the impacts of placements on average latency and the worst-case

978-1-4799-6664-6/16/$31.00 ©2016 IEEE

latency in the practical topologies. Yao et al. [5] emphasized the importance of the latency and the traffic load between the controller and switches. Sallahi et al. [6] proposed an optimal model while treating the delay as a constraint for the controller placement. In parallel, the number of controllers in SDN draws a great attention in research communities. OpenFlow [7], the most popular SDN-enabling communications protocol between control plane and data plane, initially assumed a single controller for the sake of simplicity. However, with the scale continually expanding, relying on a single controller for the entire network may not be feasible in security and privacy. This motivates the studies on multi-controller placement, e.g., Onix [8], DevoFlow [9], Kandoo [10], HyperFlow [11] and Devolved controllers [12]. In this paper, we tackle the multi-controller placement issue in SDN and propose a new approach with network partition technique. To the best of our knowledge, it is the first work to analytically investigate the strategy of network partition in SDN. The potential gains of partitioning network are twofold. First, it is an effective way to shorten the response latency between a controller and switches. Second, other performance objectives such as load balancing, resistance/reliability awareness, and energy saving can be implemented to the subnetworks instead of the whole network, which significantly reduce the complexity of the controller placement. In our approach, the entire network is divided into multiple subnetworks and for each subnetwork, one or more controllers are deployed correspondingly. Specifically, the clustering algorithm is leveraged to partition the network into subnetworks and an optimized K-means algorithm is proposed to shorten the maximum latency between the centroid and associated switches in the subnetwork. The optimized K-means can guarantee that each partition is able to shorten the maximum latency between the centroid and other nodes and hence the performance is remarkably improved compared with the regular K-means. The main contributions of this paper are briefly highlighted as follows. • A network partition strategy is proposed in this paper

to facilitate the controller placement in SDN. With this strategy, performance objectives can be implemented to the subnetworks instead of the whole network, which significantly reduces the complexity of the controller placement. • The network partition problem is analytically formulated and the controller placement problem in terms of latency is presented. Even though the main focus of this paper is latency minimization, the proposed network partition strategy will shed lights on the issue of controller placement with other performance metrics including load balancing, resistance/reliability awareness, energy saving, etc. • An optimized K-means algorithm is proposed to partition the network. The simulations results demonstrate that the maximum latency between the centroid and associated switches in the subnetworks is remarkably reduced. The rest of the paper is organized as follows. In Section II, the related work is introduced. Section III formulates the problem mathematically. In Section IV, the proposed new solution is described in detail. Section V presents the performance analysis of the solution. Concluding remarks are drawn in Section VI. II. R ELATED W ORK Controller placement in SDN is one of critical problems and has attracted extensive attention in the literature. The aim of the placement is to find out the best k nodes in a SDN network to place controllers so that an objective function is optimized. Latency reduction has been a critical objective function in SDN. Heller et al. [4] initiated the study on controller placement in SDN and proposed that latency (average latency and worst-case latency) is the main consideration when place controllers. This problem is referred to as a K-center or K-median problem. Guang Yao et al. [5] moved forward by considering both the latency and the controller capacity. Thus the placement can be regarded as a variant of the capacitated K-center problem [13]. The simulation results show that their solution can reduce the number of controllers as well as the load of the busiest controllers. Zhang et al. [14] initiated the study of controller placement in terms of resilience and proposed a min-cut based algorithm to minimize the likelihood of loss of connectivity between the controller and the switch. The performance outperforms a random scheme with reliability improvements. Hu et al. further [15] studied the placement problem for reliability and proposed a greedy algorithm for efficient placement with good reliability. The general goal of [16] was to maximize connectivity between forwarding devices and controllers instances. They concluded that the path diversity can increase the survivability during fail over states. In the most of existing works, K-center is widely used [4] [17] [18] to place controllers into the entire network. The controller placement problem is known as an NP-Hard [4] [5] and time consuming [6]. Different from the above solutions,

we propose to partition the network into subnetworks and thus simplify the controller placement problem. K-means clustering algorithm is a straightforward and effective method which is widely adopted to partition figures [19], [20]. In this paper, an optimized K-means algorithm is proposed to shorten the latency between the centroid and other nodes in a subnetwork. III. F ORMULATION In this section, we formulate the network partition problem and controller placement problem in terms of latency. For a network with given nodes and links, the physical topology is denoted by an undirected graph G = (V, E), where V is the set of switches, E is the set of physical links among switches. The distance between node u and v is denoted by d(u, v), which is the shortest path between node u and v (u, v ∈ V ). The set of possible controller instance is given by C. The number of sub-graphs is given by K, denoting the amount of sub-networks that are divided by the algorithm. The network partition can be defined by SDNi (Vi , Ei ), which subjects to: k k (1) i=1 Vi = V ; i=1 Ei = E SDNi ∩ SDNj = φ,

∀ i = j, i, j ∈ k

S(SDNi ) = T RU E, S(SDNi ∩ SDNj ) = F ALSE,

(2)

∀i∈k

(3)

∀ i = j, i, j ∈ k

(4)

∀i∈k

(5)

SDNi is a connected region

Eq. (1) indicate that the total sub-networks need to cover all the network; Eq. (2) means that one edge or vertex can only be allocated to one sub-network; Eq. (3) implies that the elements in one sub-network have the same similarity; Eq. (4) suggests that the elements allocated to different subnetworks have different similarity; Eq. (5) indicates that all the vertexes in one sub-network are connected by edges. Note that other similarities can be adopted here such as resilience, reliability, load balancing, energy saving, etc. In this paper, we only consider the similarity in terms of latency, as it is the main focus of this paper. Different from previous models, we consider multicontroller case in the subnetworks. The outputs of the controller placement formulation include Θ, M and S. Θ = {θ1 , θ2 , · · · , θk } represents the controller set in the network G and θi represents the controller set of the ith subnetwork. M = {m1 , m2 , · · · , mk } represents the number of controllers of the network G and mi = |θi | is the number of controllers of the ith subnetwork. S = {s1 , s2 , · · · , sk } is the switch set of the network G and si represents the switches set of the ith subnetwork. ni = |si | represents the number of controllers in the ith subnetwork. The main objective of controller placement is to minimize the maximum latency between the switches and controllers in each subnetwork. Therefore, the objective can be defined as: min{max{d(θi , si )}}

(∀i ∈ k)

such that θi , si ∈ SDNi By the above formulation it can be seen that the resulting network partition will minimize the maximum latency between the centroid and its associated switches in subnetworks. IV. A N OPTIMIZED K- MEANS A LGORITHM FOR N ETWORK PARTITION The network partition problem resembles the clustering problem. K-means is a straightforward and effective clustering method which is widely used in the partition problems [19], [20]. In this section, we propose an optimized K-means algorithm to partition a network. For clarification, the initial nodes which are selected to do K-means are coined as ‘center’. The actual node which is found by the K-means algorithm and has the shortest distance to other nodes in the subnetwork is called as ‘centroid’. To facilitate understanding, we firstly introduce the standard K-means method. The standard K-means clustering algorithm includes four main steps: 1) initialize K clusters and allocate one center for each cluster using random sampling; 2) allocate nodes into one of the clusters based on distance; 3) recalculate centroid for each cluster; 4) repeat step 2 and 3 until there is no change in each cluster. However, the standard K-means algorithm cannot be directly applied to partition network topologies due to the following reasons. First, randomly choosing initial centers will not guarantee that the latency between centroid and other nodes in the subnetwork to be shortened for each division. Second, the Euclidean distance used in the standard K-means might not have a path physically connected in a network. Third, the recalculated centroid should be chosen from V (centroid ∈ V ) to guarantee there is connection between the centroid and other nodes. Therefore, we present an enhanced version of the standard K-means and improve it feasible towards network partition, as summarized in Algorithm 1. There are three major steps in Algorithm 1. In Setp 1, centers are initialized, in which the initialization process is skipped here and will be interpreted in detail in Algorithm 2. In Step 2, nodes are allocated into different clusters based on the shortest path distance. In Step 3, centroid is updated based on the nodes in a cluster. The revised K-means clustering algorithm works to partition network topologies, the partition, however, varies as the initial centers are selected randomly. Since the objective of the network partition in the SDN is to shorten the maximum latency between the centroid and other nodes in a cluster, a more effective K-means algorithm is required to meet this goal. The centroid initialization method plays a significant role for the K-means algorithm and many solutions have been proposed [21]. The initialization method proposed by Katsavounidis et al [22] can achieve preferable local minimum, so we adopt the idea of [22] and propose an optimized Kmeans.

Algorithm 1: Revised K-means clustering algorithm which can be utilized to partition network topologies step 1: Initialize centers. step 2: Distribute the vertex v (v ∈ V ) to one of the K clusters using the relation, v ∈ clusteri , if d(v, ci ) < d(v, cj ),

∀j ∈ {1, 2, · · · , k}

where d(u, v) represents the shortest path between node u and v. step 3: Update centroids C  = {c1 , c2 , · · · ck } such that the sum of the shortest path distance from all points in clusteri to the new centroid ci is minimized. ci = vm , if d(vm , v) = minimum, ∀ m ∈ size(clusteri ), v ∈ clusteri , i = {1, 2, · · · , k} step 4: Repeat steps 2 and 3 until there is no change in cluster centroids. Algorithm 2: Optimized K-means network partition algorithm step 1: Compute the shortest paths d(u,v). step 2: Randomly select one node from V as the first initial center (center(1)) of G; step 3: Do the revised K-means algorithm described in Algorithm 1 and find out the exact centroid of G (centroid(1)). step 4: Find out the target subgraph (Gtarget ) which has the biggest distance (shortest path distance) between its centroid and nodes. The node which has the biggest distance to the centroid is denoted to center(Gtarget ). step 5: Select the previous centroid (or centroids) and the center(Gtarget ) as the new initial centers. step 6: Do the revised K-means algorithm again and find out the centroid of each subnetwork. step 7: Repeat step 4, 5 and 6 until the network is partitioned into K subnetworks.

The essence of the optimized K-means approach is to divide an entire network progressively from 1 till K subnetworks. As summarized in Algorithm 2, the first step of the optimized K-means is to calculate the shortest path. Then randomly select one node from V to call the revised K-means as presented in Algorithm 1. As there is only one centroid in the network G (the network is not partitioned), no matter where the initial center is, Algorithm 1 is able to seek the centroid of the network in Step 3. In step 4, the algorithm finds the target subnetwork which will be partitioned in the next partition. The target subnetwork is found by calculating the maximum distance between the centroid and the nodes in the subnetwork. In step 5, the initial centers will be initialized here. Specifically, the node which has the maximum distance to the centroid and the updated centroids are selected as the initial centers to do the next partition in step 6. Step 4, 5,

16

16

14

14

12

12 Maximum latency (ms)

V. P ERFORMANCE E VALUATION

Maximum latency (ms)

and 6 are repeated until the network is partitioned into K subnetworks.

10 8 6 4

0

8 6 4

2

2

0

10

20

30

40

50 60 Test times (n)

70

80

90

0

100

0

10

(1) K = 5

20

30

40

50 60 Test times (n)

70

80

90

100

(2) K = 6

Fig. 2. The maximum latency of the Internet2 OS3E which is partitioned by the standard K-means (100 times of partition) 20

20

18

18

16

16

14

14

Maximum latency (ms)

Maximum latency (ms)

In this section, we evaluate the latency performance of the optimized K-means algorithm compared with the standard Kmeans. Note that the standard K-means utilized in this section is implemented based on the revised K-means which is capable to partition networks. The network partition is first conducted by the standard K-means and its performance is presented. Afterwards, the network partition performed by the optimized K-means is illustrated in detail. To evaluate the performance of the optimized K-means, there are two topologies are used in this section. The first one is the Internet2 OS3E topology [23] which is widely adopted in the literature [4] [5]. The second one is the Chinanet, the largest network in China [24]. The topology of Chinanet is obtained from Topology Zoo [25] which consists of hundreds of network topologies from network providers.

10

12 10 8 6 4

10 8 6 4

2 0

12

2 0

10

20

30

40

50 60 Test times (n)

(1) K = 5

70

80

90

100

0

0

10

20

30

40

50 60 Test times (n)

70

80

90

100

(2) K = 6

Fig. 3. The maximum latency of the Chinenet which is partitioned by the standard K-means (100 times of partition)

A. Performance of standard K-means network partition In this subsection, we demonstrate the network partition that is conducted by the standard K-means. In the standard Kmeans, the initial centers are randomly selected, so the result of the network partition varies for each execution. Therefore, the maximum latency between the centroid and nodes in the subnetworks may increase when the network is partitioned into more subnetworks, which is not desirable in terms of latency. For example, as depicted in Fig. 1 (1), the OS3E network is partitioned into 5 subnetworks by the standard K-means. The maximum latency appears in the path from node 5 to 2 and the latency is 7.459 ms 1 . In contrast, when network is partitioned into 6 subnetworks, the maximum latency increases to 9.254 ms from node 25 to 19 as depicted in Fig. 1 (2). To explore more realistic performance of the standard K-means, we have conducted 100 times of the standard K-means algorithm to partition both the OS3E and the Chinanet topology. Results are presented in Fig. 2 and Fig. 3.

5

25 2 19

(1) K = 5

(2) K = 6

Fig. 1. Demonstration of the standard K-means network partition of the Internet2 OS3E

Fig. 2 depicts the maximum latency of the Internet2 OS3E which is partitioned by the standard K-means. The K-means is executed 100 times so that we obtain different partitions as well as the maximum latencies. When K = 5, the maximum latency of the subnetwork varies from 6 ms to 1 The

latency is calculated by latency =

distance(m) . 2×108 (m/s)

10 ms as depicted in Fig. 2 (1). Intuitively, the maximum latency of the subnetwork might be decreased if the network is partitioned into more subnetworks. K = 6 is executed and the corresponding result is depicted in Fig. 2 (2). However, it shows that the standard K-means fails to meet this objective when K is larger, as the maximum latency still fluctuates from 6 ms to 10 ms. The same phenomenon can also be observed in the Chinanet network partition which is adopted by the standard K-means. The difference between the 5 subnetworks partition and the 6 subnetworks partition (depicted in Fig. 3) is that the probability of the minimum maximum latency in the 6 subnetworks partition occurs more frequently than the ones in the 5 subnetworks partition, while the maximum latency remains the same. B. Gain of optimized K-means network partition Fig. 4 depicts the Internet2 OS3E network which is partitioned step by step by the optimized K-means. We go over the process and demonstrate how the network is partitioned. The first step is to find the centroid of the entire network. It is noteworthy that the centroid of the network can be found easily, because no matter where the initial center is, the revised K-means (Algorithm 1) can ultimately find the unique centroid of the network. As depicted in Fig. 4 (1), the centroid of the network is found at node 4 and the node which has the biggest distance from the centroid is node 1. Therefore, node 1 is selected as the second initial center to perform the further partition. Fig. 4 (2) shows the result that the network is partitioned into two subnetworks with the initial nodes 4 and 1. Note that although the initial center is selected to node 1, the final centroid found by our algorithm is at node 29, because it is the node which is closest to all the other nodes in the subnetwork. The longest distance in the two subnetworks is from node 4 to node 2, so the subnetwork depicted by ‘◦’ needs to be further partitioned and the initial centers of

33 4

4

29

1

4

29

1

12

1 25 2

2 19

(1) K = 1

(2) K = 2

33

(3) K = 3

33 29

1

4

6

30 12

33 29

30 12

4

6

1

16

29

16

25

5

2

4

6

1

16

15

25

25

5

2

19

2

19

(4) K = 4

30 12

19

(5) K = 5

(6) K = 6

• centroid of the subnetwork + location of the furthest node from the centroid Fig. 4. Demonstration of the network partition of the Internet2 OS3E

the k-means algorithm are selected to node 4, 29 and 2. The rest partitions are depicted in Fig. 4 (3), (4), (5) and (6). The nodes which have the biggest distance from the centroids are found at node 19, 6, 1, respectively, so they are selected as the initial centers of the K-means algorithm. The final result of the network partition is depicted in Fig. 4 (6) where the network is partitioned into 6 subnetworks which are distinguished by ‘◦’, ‘∗’, ‘’, ‘’, etc.

slim chance that the partition can reach the smallest maximum latency, while the optimized K-means can constantly obtain the smallest maximum latency. When the network is partitioned into 6 subnetworks, the smallest maximum latency that is achieved by the optimized K-means is 5.319 ms, which is less than the 5.697 ms achieved by the standard K-means. 9 Standard K−means Optimized K−means

8 7 Maximum latency (ms)

1 0.9 0.8

Percentage

0.7 0.6 0.5

5 4 3 2

0.4

1

0.3

0

(Standard K−means) K = 5 (Standard K−means) K = 6 (Optimized K−means) K = 5 (Optimized K−means) K = 6

0.2 0.1 0

6

5

6

7

8 Maximum latency (ms)

9

10

K=5

K=6 Partition of networks (k)

11

Fig. 6. Comparison of the OS3E network partition in terms of maximum latency

Fig. 5. Maximum latency CDFs for all possible partitions of the OS3E network 1 (Standard K−means) K = 5 (Standard K−means) K = 6 (Optimized K−means) K = 5 (Optimized K−means) K = 6

0.9 0.8 0.7 Percentage

Fig. 5 depicts the maximum latency Cumulative Distribution Function (CDF) from all possible partitions of the OS3E network. The standard K-means is executed 100 times while the optimized K-means is only executed once, as the optimized K-means always obtain the same result for each execution. The reason is Algorithm 2 has calculated the appropriate centers to partition the network and the fixed initial centers will get the fixed partition. The solid blue curve represents the maximum latency CDF which the network is partitioned into 5 subnetworks by the standard K-means. The dashed blue curve is the maximum latency CDF which the network is partitioned into 5 subnetworks by the optimized K-means. It can be seen that among the 100 times of K-means partitions, there is a

0.6 0.5 0.4 0.3 0.2 0.1 0

6

8

10

12 14 Maximum latency (ms)

16

18

20

Fig. 7. Maximum latency CDFs for all possible partitions of the Chinnet

The average latency of the 100 runs of the standard Kmeans are further calculated and is compared with the result

achieved by the optimized K-means. As depicted in Fig. 6, the partition deployed by the optimized K-means has greatly decreased the maximum latency between the centroid and the associated nodes. 18 Standard K−means Optimized K−means

16

Maximum latency (ms)

14 12 10 8 6 4 2 0

K=5

K=6 Partition of networks (k)

Fig. 8. Comparison of the Chinanet partition in terms of maximum latency

The optimized K-means algorithm is also evaluated in the Chinanet topology. Similar to the evaluation in the OS3E, the standard K-means run 100 times. Fig. 7 depicts the maximum latency CDF from all possible partitions of the Chinanet topology. It can be observed that both of the 5 and 6 partitions conducted by the optimized K-means can achieve smaller latency than the 100 times run of the standard K-means. Fig. 8 depicts that the maximum latency achieved by the optimized K-means is 2.312 times and 2.437 times smaller than the average maximum latency achieved by the standard Kmeans when network is partitioned into 5 and 6 subnetworks, respectively. VI. C ONCLUSION How to place controllers into SDN is a big challenge. In this paper, the concept of network partition bas been proposed to tackle the controller placement problem. By modeling the network partition problem, we propose an effective network partition algorithm named optimized K-means to partition network into subnetworks in terms of latency. Simulation results have verified that the optimized K-means algorithm can effectively partition the network into subnetworks where the maximum latency between centroid and their associated nodes is smaller than that of the standard K-means. Specifically, the maximum latency can reach 2.437 times smaller than the average latency achieved by the standard K-means. Even though the main focus of this paper is latency minimization, more objectives such as load balancing, resistance/reliability awareness, and energy saving can be implemented to the subnetworks instead of the entire network to decrease the complexity of the controller placement. R EFERENCES [1] G. Wang, Y. Wu, K. Dou, Y. Ren, and J. Li, “AppTCP: The design and evaluation of application-based TCP for e-VLBI in fast long distance networks,” Future Generation Computer Systems, vol. 39, pp. 67–74, 2014. [2] G. Wang, Y. Ren, K. Dou, and J. Li, “IDTCP: An effective approach to mitigating the TCP incast problem in data center networks,” Information Systems Frontiers, vol. 16, pp. 35–44, 2014.

[3] G. Wang, Y. Ren, and J. Li, “An effective approach to alleviating the challenges of transmission control protocol,” Communications, IET, vol. 8, no. 6, pp. 860–869, 2014. [4] B. Heller, R. Sherwood, and N. McKeown, “The controller placement problem,” in Proceedings of the first workshop on Hot topics in software defined networks. ACM, 2012, pp. 7–12. [5] G. Yao, J. Bi, Y. Li, and L. Guo, “On the capacitated controller placement problem in software defined networks,” Communications Letters, IEEE, vol. 18, no. 8, pp. 1339–1342, 2014. [6] A. Sallahi and M. St-Hilaire, “Optimal Model for the Controller Placement Problem in Software Defined Networks,” Communications Letters, IEEE, vol. 19, no. 1, pp. 30–33, 2015. [7] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner, “OpenFlow: enabling innovation in campus networks,” ACM SIGCOMM Computer Communication Review, vol. 38, no. 2, pp. 69–74, 2008. [8] T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y. Iwata, H. Inoue, T. Hama et al., “Onix: A Distributed Control Platform for Large-scale Production Networks.” in OSDI, vol. 10, 2010, pp. 1–6. [9] A. R. Curtis, J. C. Mogul, J. Tourrilhes, P. Yalagandula, P. Sharma, and S. Banerjee, “DevoFlow: Scaling flow management for highperformance networks,” in ACM SIGCOMM Computer Communication Review, vol. 41, no. 4. ACM, 2011, pp. 254–265. [10] S. Hassas Yeganeh and Y. Ganjali, “Kandoo: a framework for efficient and scalable offloading of control applications,” in Proceedings of the first workshop on Hot topics in software defined networks. ACM, 2012, pp. 19–24. [11] A. Tootoonchian and Y. Ganjali, “HyperFlow: A distributed control plane for OpenFlow,” in Proceedings of the 2010 internet network management conference on Research on enterprise networking. USENIX Association, 2010, pp. 3–3. [12] A.-W. Tam, K. Xi, and H. J. Chao, “Use of devolved controllers in data center networks,” in Computer Communications Workshops (INFOCOM WKSHPS), 2011 IEEE Conference on. IEEE, 2011, pp. 596–601. [13] S. Khuller and Y. J. Sussmann, “The capacitated k-center problem,” SIAM Journal on Discrete Mathematics, vol. 13, no. 3, pp. 403–418, 2000. [14] Y. Zhang, N. Beheshti, and M. Tatipamula, “On resilience of splitarchitecture networks,” in Global Telecommunications Conference (GLOBECOM 2011), 2011 IEEE. IEEE, 2011, pp. 1–6. [15] Y.-n. HU, W.-d. WANG, X.-y. GONG, X.-r. QUE, and S.-d. CHENG, “On the placement of controllers in software-defined networks,” The Journal of China Universities of Posts and Telecommunications, vol. 19, pp. 92–171, 2012. [16] L. F. M¨uller, R. R. Oliveira, M. C. Luizelli, L. P. Gaspary, and M. P. Barcellos, “Survivor: an Enhanced Controller Placement Strategy for Improving SDN Survivability,” in IEEE Global Communications Conference (GLOBECOM), 2014. [17] Y. A. Jim´enez Agudelo, C. Cervell´o Pastor, A. J. Garc´ıa Garc´ıa et al., “Defining a network management architecture,” 2013. [18] Y. Jimenez, C. Cervello-Pastor, and A. J. Garcia, “On the controller placement for designing a distributed SDN control layer,” in Networking Conference, 2014 IFIP. IEEE, 2014, pp. 1–9. [19] H. K. Al-Mohair, J. M. Saleh, and S. A. Suandi, “Hybrid Human Skin Detection Using Neural Network and K-Means Clustering Technique,” Applied Soft Computing, vol. 33, pp. 337–347, 2015. [20] C. Jose, L. A. R. Calla et al., “Parallelization of the Algorithm K-means Applied in Image Segmentation,” International Journal of Computer Applications, vol. 88, no. 17, 2014. [21] M. E. Celebi, H. A. Kingravi, and P. A. Vela, “A comparative study of efficient initialization methods for the k-means clustering algorithm,” Expert Systems with Applications, vol. 40, no. 1, pp. 200–210, 2013. [22] I. Katsavounidis, C.-C. Jay Kuo, and Z. Zhang, “A new initialization technique for generalized Lloyd iteration,” Signal Processing Letters, IEEE, vol. 1, no. 10, pp. 144–146, 1994. [23] Internet2 Open science, scholarship and services exchange. [Online]. Available: http://www.internet2.edu/network/ose/ [24] Chinanet. [Online]. Available: http://en.chinatelecom.com.cn/products/ t20060116 48406.html [25] S. Knight, H. X. Nguyen, N. Falkner, R. Bowden, and M. Roughan, “The internet topology zoo,” IEEE Journal on Selected Areas in Communications, vol. 29, no. 9, pp. 1765–1775, 2011.