KR102199432B1 - Methods and devices for selecting optimal controller in Software Defined Networking - Google Patents

Methods and devices for selecting optimal controller in Software Defined Networking Download PDF

Info

Publication number
KR102199432B1
KR102199432B1 KR1020190108464A KR20190108464A KR102199432B1 KR 102199432 B1 KR102199432 B1 KR 102199432B1 KR 1020190108464 A KR1020190108464 A KR 1020190108464A KR 20190108464 A KR20190108464 A KR 20190108464A KR 102199432 B1 KR102199432 B1 KR 102199432B1
Authority
KR
South Korea
Prior art keywords
controllers
functions
comparison matrix
selecting
matrix
Prior art date
Application number
KR1020190108464A
Other languages
Korean (ko)
Inventor
노병희
이승운
알리 제하드
권대훈
함재현
Original Assignee
국방과학연구소
아주대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소, 아주대학교 산학협력단 filed Critical 국방과학연구소
Priority to KR1020190108464A priority Critical patent/KR102199432B1/en
Application granted granted Critical
Publication of KR102199432B1 publication Critical patent/KR102199432B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method for selecting an optimal controller among a plurality of controllers in software defined networking comprises: setting a plurality of controllers and a plurality of functions as criteria for selecting an optimal controller; evaluating scores according to the importance for each of the plurality of functions for each of the plurality of controllers, performing qualitative analysis based on an analytic network process (ANP) based on the evaluated scores, and selecting the optimal controller based on a block matrix obtained as a result of the qualitative analysis. Therefore, the natural language understanding on a user voice can be efficiently performed.

Description

소프트웨어 정의 네트워킹(Software Defined Networking)에서 최적의 컨트롤러를 선택하는 방법 및 장치{Methods and devices for selecting optimal controller in Software Defined Networking}Methods and devices for selecting optimal controller in Software Defined Networking

본 개시는 소프트웨어 정의 네트워킹(Software Defined Networking)에서 최적의 컨트롤러를 선택하는 방법 및 장치에 관한 것이다.The present disclosure relates to a method and an apparatus for selecting an optimal controller in Software Defined Networking.

소프트웨어 정의 네트워킹(Software Defined Networking)은 제어 기능과 데이터 전달 기능을 논리적으로 분리시킴으로써 종래의 네트워크 장치의 복잡성을 감소시키는 기술이다. SDN의 네트워크 장치들은 중앙 집중형의 컨트롤러에 의해 제어 및 관리된다. Software Defined Networking is a technology that reduces the complexity of a conventional network device by logically separating a control function and a data transfer function. SDN's network devices are controlled and managed by a centralized controller.

소프트웨어 정의 네트워킹 컨트롤러는 운영자가 데이터 전달 장치를 프로그래밍하고 정책을 배포할 수 있는 환경을 제공한다. 한편, 망의 최적화를 위해 최적의 소프트웨어 정의 네트워킹 컨트롤러를 선택하는 것이 중요하다. Software-defined networking controllers provide an environment in which operators can program data delivery devices and distribute policies. Meanwhile, it is important to select the optimal software-defined networking controller for network optimization.

다만 종래에는, 벤치마킹 도구, 처리 시간, 지연 시간 등과 같은 네트워크의 성능 지표를 정량적으로만 비교함으로써 최적의 소프트웨어 정의 네트워킹 컨트롤러를 선택하였다.However, in the prior art, the optimal software-defined networking controller was selected by quantitatively comparing network performance indicators such as benchmarking tools, processing time, and delay time.

다양한 실시예들은 소프트웨어 정의 네트워킹(Software Defined Networking)에서 최적의 컨트롤러를 선택하는 방법 및 장치를 제공하는데 있다. 본 개시가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.Various embodiments are provided to provide a method and apparatus for selecting an optimal controller in Software Defined Networking. The technical problem to be achieved by the present disclosure is not limited to the technical problems as described above, and other technical problems may be inferred from the following embodiments.

본 개시의 일 측면에 따르면, 소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 방법에 있어서, According to an aspect of the present disclosure, in a method of selecting an optimal controller from among a plurality of controllers in software defined networking,

복수의 컨트롤러들 및 최적의 컨트롤러를 선택하기 위한 기준이 되는 복수의 기능들을 설정하는 단계; 상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 평가하는 단계; 상기 평가된 점수에 기초하여 ANP(Analytic Network Process)에 기반한 정성적 분석을 수행하는 단계; 및 상기 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러를 선택하는 단계를 포함할 수 있다. Setting a plurality of controllers and a plurality of functions serving as a reference for selecting an optimal controller; Evaluating a score according to importance for each of the plurality of functions for each of the plurality of controllers; Performing a qualitative analysis based on ANP (Analytic Network Process) based on the evaluated score; And selecting an optimal controller based on a block matrix obtained as a result of the qualitative analysis.

또한, 상기 복수의 컨트롤러들 각각에 대하여 시뮬레이션을 이용한 정량적 분석을 수행하는 단계를 더 포함할 수 있다. In addition, it may further include performing a quantitative analysis using a simulation on each of the plurality of controllers.

또한, 상기 정성적 분석을 수행하는 단계는, 상기 복수의 기능들 각각에 대하여 상기 복수의 컨트롤러들 상호 간의 상대적 중요도를 나타내는 제 1 비교 행렬을 생성하는 단계; 상기 제 1 비교 행렬의 일관성 비율 제 1 CR(Consistency Ratio)을 계산하는 단계; 상기 제 1 CR이 0.1 이하인지 여부를 판단하는 단계; 상기 컨트롤러들 각각에 대하여 상기 복수의 기능들 상호 간의 상대적 중요도를 나타내는 제 2 비교 행렬을 생성하는 단계; 상기 제 2 비교 행렬의 일관성 비율 제 2 CR(Consistency Ratio)을 계산하는 단계; 및 상기 제 2 CR이 0.1 이하인지 여부를 판단하는 단계를 더 포함할 수 있다. In addition, the performing of the qualitative analysis may include: generating a first comparison matrix indicating relative importance between the plurality of controllers for each of the plurality of functions; Calculating a first consistency ratio (CR) of the first comparison matrix; Determining whether the first CR is 0.1 or less; Generating a second comparison matrix indicating relative importance between the plurality of functions for each of the controllers; Calculating a second consistency ratio (CR) of the second comparison matrix; And determining whether the second CR is 0.1 or less.

또한, 상기 제 1 CR이 0.1 이하인지 여부를 판단하는 단계는, 상기 제 1 CR이 0.1 보다 작은 경우에는, 제 1 비교 행렬을 제 1 최종 비교 행렬로 결정하고, In addition, the determining whether the first CR is less than or equal to 0.1 may include determining a first comparison matrix as a first final comparison matrix when the first CR is less than 0.1,

상기 제 1 CR이 0.1 보다 큰 경우에는, 상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 재평가하고, 상기 제 2 CR이 0.1 이하인지 여부를 판단하는 단계는, 상기 제 2 CR이 0.1 보다 작은 경우에는, 제 2 비교 행렬을 제 2 최종 비교 행렬로 결정하고, 상기 제 2 CR이 0.1 보다 큰 경우에는, 상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 재평가할 수 있다. When the first CR is greater than 0.1, reevaluating a score according to the importance of each of the plurality of functions for each of the plurality of controllers, and determining whether the second CR is less than or equal to 0.1, the step of 2 When CR is less than 0.1, the second comparison matrix is determined as the second final comparison matrix, and when the second CR is greater than 0.1, the importance of each of the plurality of functions is determined for each of the plurality of controllers. The resulting score can be reevaluated.

또한, 상기 블록 행렬은 상기 제 1 최종 비교 행렬 및 상기 제 2 최종 비교 행렬에 기초하여 생성될 수 있다. Also, the block matrix may be generated based on the first final comparison matrix and the second final comparison matrix.

또한, 상기 블록 행렬에 대한 거듭 제곱을 반복하여 극한 블록 행렬을 생성하는 단계; 및 상기 극한 블록 행렬에서 가장 높은 값을 갖는 컨트롤러를 최적의 컨트롤러로 선택하는 단계를 더 포함할 수 있다. In addition, generating an extreme block matrix by repeating the power of the block matrix; And selecting a controller having the highest value in the limit block matrix as an optimal controller.

본 개시의 다른 측면에 따르면, 소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 방법을 구현하기 위한 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 방법은, 복수의 컨트롤러들 및 최적의 컨트롤러를 선택하기 위한 기준이 되는 복수의 기능들을 설정하는 단계; 상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 평가하는 단계; 상기 평가된 점수에 기초하여 ANP(Analytic Network Process)에 기반한 정성적 분석을 수행하는 단계; 및 상기 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러로 선택하는 단계를 포함할 수 있다.According to another aspect of the present disclosure, in a computer-readable recording medium in which a program for implementing a method for selecting an optimal controller among a plurality of controllers in Software Defined Networking is recorded, the method comprises: , Setting a plurality of controllers and a plurality of functions serving as a criterion for selecting an optimal controller; Evaluating a score according to importance for each of the plurality of functions for each of the plurality of controllers; Performing a qualitative analysis based on ANP (Analytic Network Process) based on the evaluated score; And selecting an optimal controller based on a block matrix obtained as a result of the qualitative analysis.

본 개시의 또 다른 측면에 따르면, 하드웨어와 결합되어, 소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 방법은, 복수의 컨트롤러들 및 최적의 컨트롤러를 선택하기 위한 기준이 되는 복수의 기능들을 설정하는 단계; 상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 평가하는 단계; 상기 평가된 점수에 기초하여 ANP(Analytic Network Process)에 기반한 정성적 분석을 수행하는 단계; 및 상기 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러로 선택하는 단계를 포함할 수 있다.According to another aspect of the present disclosure, in a computer program stored in a medium to execute a method of selecting an optimal controller among a plurality of controllers in software defined networking, combined with hardware, the method comprises: , Setting a plurality of controllers and a plurality of functions serving as a criterion for selecting an optimal controller; Evaluating a score according to importance for each of the plurality of functions for each of the plurality of controllers; Performing a qualitative analysis based on ANP (Analytic Network Process) based on the evaluated score; And selecting an optimal controller based on a block matrix obtained as a result of the qualitative analysis.

도 1은 소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 일 예를 나타내는 흐름도이다.
도 2는 최적의 컨트롤러를 선택하기 위해 설정한 ANP의 네트워크 구조의 일 예를 나타내는 도면이다.
도 3은 ANP에 기반한 정성적 분석을 수행하는 흐름도의 일 예를 나타낸다.
1 is a flowchart illustrating an example of selecting an optimal controller from among a plurality of controllers in software defined networking.
FIG. 2 is a diagram illustrating an example of an ANP network structure set to select an optimal controller.
3 shows an example of a flowchart for performing qualitative analysis based on ANP.

이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. It goes without saying that the following description is only for specifying the embodiments and does not limit or limit the scope of the invention. What can be easily inferred by experts in the art from the detailed description and examples is interpreted as belonging to the scope of the rights.

본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.The terms “consisting of” or “including” used herein should not be construed as necessarily including all of the various elements or various steps described in the specification, and some of the elements or some steps It should be interpreted that they may not be included, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.In addition, terms including ordinal numbers such as'first' or'second' used in the present specification may be used to describe various elements, but the elements should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another component.

본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in the present specification have selected general terms that are currently widely used as possible while considering functions in the present invention, but this may vary depending on the intention or precedent of a technician working in the field, the emergence of new technologies, and the like. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning of the terms will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall contents of the present invention, not a simple name of the term.

본 실시예들은 무인기의 임무 계획 최적화 방법 및 장치에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.The present embodiments relate to a method and apparatus for optimizing a mission plan of an unmanned aerial vehicle, and detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments belong will be omitted.

도 1은 소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 일 예를 나타내는 흐름도이다. 1 is a flowchart illustrating an example of selecting an optimal controller from among a plurality of controllers in software defined networking.

도 1을 참조하면, 110 단계에서, 소프트웨어 정의 네트워킹(Software Defined Networking)에서 최적의 컨트롤러를 선택하는 장치는, 복수의 컨트롤러들 및 최적의 컨트롤러를 선택하기 위한 기준이 되는 복수의 기능들을 설정할 수 있다.Referring to FIG. 1, in step 110, an apparatus for selecting an optimal controller in Software Defined Networking may set a plurality of controllers and a plurality of functions that serve as a criterion for selecting the optimal controller. .

복수의 컨트롤러들은 하기 수학식 1과 같이 나타낼 수 있다. A plurality of controllers can be represented by Equation 1 below.

Figure 112019090381207-pat00001
Figure 112019090381207-pat00001

상기 수학식 1과 같이, 복수의 컨트롤러들은 총 N개의 컨트롤러들에 해당할 수 있다. 예를 들어, 최적의 컨트롤러들은 총 6개의 컨트롤러들 중 선택될 수 있으나, 이에 제한되는 것은 아니며 새롭게 공개된 컨트롤러가 추가되거나 기존 컨트롤러가 제거될 수 있다.As shown in Equation 1, a plurality of controllers may correspond to a total of N controllers. For example, optimal controllers may be selected from a total of six controllers, but are not limited thereto, and a newly disclosed controller may be added or an existing controller may be removed.

예를 들어, 6개의 컨트롤러들은 하기 표 1과 같을 수 있다. 하기 표 1에는, 6개의 컨트롤러들 각각의 명칭 및 표현이 기재되어 있다. For example, six controllers may be shown in Table 1 below. In Table 1 below, the names and expressions of each of the six controllers are described.

순번turn 컨트롤러 명 Controller name 표현expression 1One FLOODLIGHTFLOODLIGHT

Figure 112019090381207-pat00002
Figure 112019090381207-pat00002
22 ODLODL
Figure 112019090381207-pat00003
Figure 112019090381207-pat00003
33 ONOSONOS
Figure 112019090381207-pat00004
Figure 112019090381207-pat00004
44 POXPOX
Figure 112019090381207-pat00005
Figure 112019090381207-pat00005
55 RYURYU
Figure 112019090381207-pat00006
Figure 112019090381207-pat00006
66 TREMATREMA
Figure 112019090381207-pat00007
Figure 112019090381207-pat00007

또한, 복수의 기능들은 하기 수학식 2와 같이 나타낼 수 있다. In addition, a plurality of functions can be represented by Equation 2 below.

Figure 112019090381207-pat00008
Figure 112019090381207-pat00008

상기 수학식 2와 같이, 복수의 기능들은 총 M개의 기능들에 해당할 수 있다. 예를 들어, 복수의 기능들은 10개의 기능들에 해당할 수 있으나 이에 제한되는 것은 아니며 필요에 따라 새로운 기능이 추가되거나 기존 기능을 제거할 수 있다.As shown in Equation 2, the plurality of functions may correspond to a total of M functions. For example, a plurality of functions may correspond to 10 functions, but are not limited thereto, and new functions may be added or existing functions may be removed as necessary.

예를 들어, 10개의 기능들은 하기 표 2와 같을 수 있다. 하기 표 2에는, 10개의 기능들 각각의 명칭, 표현, 설명 및 세부 분류가 기재되어 있다.For example, 10 functions may be shown in Table 2 below. In Table 2 below, the names, expressions, descriptions and subdivisions of each of the ten functions are described.

순번turn 기능명Function name 표현expression 설명 및 세부 분류Description and subdivision 1One OpenFlow 지원OpenFlow support

Figure 112019090381207-pat00009
Figure 112019090381207-pat00009
OpenFlow 1.0 ~ 1.5OpenFlow 1.0 ~ 1.5 22 그래픽 사용자 인터페이스 지원Graphical user interface support
Figure 112019090381207-pat00010
Figure 112019090381207-pat00010
Python based, Web based.Python based, Web based.
33 Northbound API 지원Northbound API support
Figure 112019090381207-pat00011
Figure 112019090381207-pat00011
REST API.REST API.
44 클러스터링 지원Clustering support
Figure 112019090381207-pat00012
Figure 112019090381207-pat00012
To avoid single point of failure (reliability)To avoid single point of failure (reliability)
55 오픈스택 네트워킹 지원OpenStack networking support
Figure 112019090381207-pat00013
Figure 112019090381207-pat00013
Enabling different network technologies via Quantum API.Enabling different network technologies via Quantum API.
66 싱크로나이제이션Synchronization
Figure 112019090381207-pat00014
Figure 112019090381207-pat00014
State synchronization of the network.State synchronization of the network.
77 생산성productivity
Figure 112019090381207-pat00015
Figure 112019090381207-pat00015
For developing software.For developing software.
88 파트너쉽Partnership
Figure 112019090381207-pat00016
Figure 112019090381207-pat00016
Cisco, IBM, Intel, Linux Foundation and Juniper. Cisco, IBM, Intel, Linux Foundation and Juniper.
99 지원 운영체제Supported operating system
Figure 112019090381207-pat00017
Figure 112019090381207-pat00017
Windows, Linux, Mac.Windows, Linux, Mac.
1010 모듈화 지원Modularization support
Figure 112019090381207-pat00018
Figure 112019090381207-pat00018
The extent of dividing the code in submodules.The extent of dividing the code in submodules.

120 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 복수의 컨트롤러들 각각에 대하여 복수의 기능들 별로 중요도에 따른 점수를 평가할 수 있다.예를 들어, 중요도에 따라 Very High, High, Medium, Low 중 어느 하나로 표현할 수 있다. 또는 중요도에 따라 Yes, No 중 어느 하나로 표현할 수 있다. 표 1의 컨트롤러들 각각에 대하여 표 2의 기능들 별로 중요도에 따라 점수를 평가한 결과는 표 3과 같을 수 있다.In step 120, the device for selecting the optimal controller in the software-defined networking may evaluate a score according to the importance of each of the plurality of functions for each of the plurality of controllers. For example, Very High, High, according to the importance. It can be expressed as either Medium or Low. Alternatively, it can be expressed as either Yes or No depending on the importance. For each of the controllers in Table 1, the results of evaluating scores according to the importance of each function in Table 2 may be as shown in Table 3.

컨트롤러controller 기능function

Figure 112019090381207-pat00019
Figure 112019090381207-pat00019
Figure 112019090381207-pat00020
Figure 112019090381207-pat00020
Figure 112019090381207-pat00021
Figure 112019090381207-pat00021
Figure 112019090381207-pat00022
Figure 112019090381207-pat00022
Figure 112019090381207-pat00023
Figure 112019090381207-pat00023
Figure 112019090381207-pat00024
Figure 112019090381207-pat00024
Figure 112019090381207-pat00025
Figure 112019090381207-pat00025
Figure 112019090381207-pat00026
Figure 112019090381207-pat00026
Figure 112019090381207-pat00027
Figure 112019090381207-pat00027
Figure 112019090381207-pat00028
Figure 112019090381207-pat00028
Figure 112019090381207-pat00029
Figure 112019090381207-pat00029
MediumMedium Very HighVery High YesYes YesYes NoNo MediumMedium MediumMedium LowLow LowLow MediumMedium
Figure 112019090381207-pat00030
Figure 112019090381207-pat00030
HighHigh HighHigh YesYes YesYes YesYes MediumMedium MediumMedium Very HighVery High HighHigh HighHigh
Figure 112019090381207-pat00031
Figure 112019090381207-pat00031
HighHigh HighHigh YesYes YesYes YesYes LowLow MediumMedium HighHigh HighHigh HighHigh
Figure 112019090381207-pat00032
Figure 112019090381207-pat00032
LowLow MediumMedium NoNo NoNo NoNo LowLow HighHigh LowLow HighHigh LowLow
Figure 112019090381207-pat00033
Figure 112019090381207-pat00033
Very HighVery High LowLow NoNo YesYes NoNo HighHigh HighHigh MediumMedium LowLow MediumMedium
Figure 112019090381207-pat00034
Figure 112019090381207-pat00034
LowLow LowLow NoNo YesYes NoNo LowLow HighHigh LowLow LowLow MediumMedium

130 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 평가된 점수에 기초하여 ANP(Analytic Network Process)에 기반한 정성적 분석을 수행할 수 있다.In step 130, the device for selecting an optimal controller in software-defined networking may perform a qualitative analysis based on an Analytic Network Process (ANP) based on the evaluated score.

ANP(Analytic Network Process)는 목표, 기준, 대안의 세 개의 요소 간 상호관계 및 종속성을 포함하는 네트워크 구조를 이용한 의사결정 시스템이다. ANP (Analytic Network Process) is a decision-making system using a network structure that includes interrelationships and dependencies among the three elements of goals, criteria, and alternatives.

ANP 과정은 4 단계로 분류할 수 있다. 1 단계로 문제를 해결하기 위한 요소들의 네트워크 구조화를 수행할 수 있다. 2 단계로 요소 별로 우선 순위를 설정할 수 있다. 3 단계로 일관성을 검증할 수 있으며, 마지막 4 단계로, 복합적인 우선 순위를 도출하는 극한 슈퍼 행렬을 생성할 수 있다. The ANP process can be classified into 4 steps. In one step, we can perform network structuring of elements to solve the problem. Priority can be set for each element in 2 steps Consistency can be verified in 3 steps, and in the last 4 steps, an extreme super matrix can be created that derives complex priorities.

도 2는 최적의 컨트롤러를 선택하기 위해 설정한 ANP의 네트워크 구조의 일 예를 나타내는 도면이다. FIG. 2 is a diagram illustrating an example of an ANP network structure set to select an optimal controller.

도 2를 참조하면, 최적의 컨트롤러를 선택하기 위해 설정한 ANP의 네트워크 구조가 도시되어 있다. 도 2에서와 같이, ANP의 네트워크 구조는 목표, 기준 및 대안의 순차적인 흐름으로 표현되는 트리(tree) 구조를 가질 수 있다.Referring to FIG. 2, a network structure of an ANP set to select an optimal controller is shown. As shown in FIG. 2, the network structure of ANP may have a tree structure represented by a sequential flow of targets, criteria, and alternatives.

도 3은 ANP에 기반한 정성적 분석을 수행하는 흐름도의 일 예를 나타낸다.3 shows an example of a flowchart for performing qualitative analysis based on ANP.

310 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 복수의 기능들 각각에 대하여 복수의 컨트롤러들 상호 간의 상대적 중요도를 나타내는 제 1 비교 행렬을 생성할 수 있다. 제 1 비교 행렬은 복수의 기능들 각각에 따른 우선 순위를 설정하기 위하여 생성될 수 있다. 복수의 컨트롤러들이 총 N개의 컨트롤러들에 해당하고 복수의 기능들이 총 M개의 기능들에 해당하는 경우, 제 1 비교 행렬은 M개의 NxN의 행렬일 수 있다. 예를 들어, 표 2의 기능들 각각에 대하여 표 1의 컨트롤러들 상호 간의 상대적 중요도를 나타내는 제 1 비교 행렬을 생성하는 경우, 6X6의 행렬이 총 10개 생성될 수 있다. In step 310, the apparatus for selecting an optimal controller in software defined networking may generate a first comparison matrix indicating relative importance between the plurality of controllers for each of the plurality of functions. The first comparison matrix may be generated to set priority according to each of the plurality of functions. When a plurality of controllers correspond to a total of N controllers and a plurality of functions correspond to a total of M functions, the first comparison matrix may be an M matrix of NxN. For example, when generating a first comparison matrix indicating the relative importance between the controllers of Table 1 for each of the functions of Table 2, a total of 10 matrices of 6X6 may be generated.

제 1 비교 행렬에서 행렬의 (i,j) 요소는 컨트롤러 Cj에 대한 Ci의 상대적인 중요도를 나타내는 상대적 추정 가중치를 의미한다. 제 1 비교 행렬에서 행렬의 (i,i)요소는 동일한 컨트롤러들 상호 간의 상대적 추정 가중치이므로, 행렬의 대각 요소들의 값은 1에 해당할 수 있다. In the first comparison matrix, the (i,j) element of the matrix denotes a relative estimated weight representing the relative importance of Ci with respect to the controller Cj. In the first comparison matrix, since the (i,i) element of the matrix is a relative estimated weight between the same controllers, values of the diagonal elements of the matrix may correspond to 1.

한편, 상대적 추정 가중치는 하기 표 4의 스케일 표에 의해 결정될 수 있다.Meanwhile, the relative estimated weight may be determined by the scale table of Table 4 below.

ScaleScale DescriptionDescription 1One Equally importantEqually important 22 Equally to moderately more importantEqually to moderately more important 33 Moderately more importantModerately more important 44 Moderately to significantly more importantModerately to significantly more important 55 Significantly more importantSignificantly more important 66 Significantly to remarkably more importantSignificantly to remarkably more important 77 Remarkably more importantRemarkably more important 88 Remarkably to excessively more importantRemarkably to excessively more important 99 Excessively more importantExcessively more important

상기 표 4에서, 상대적인 중요도를 나타내는 상대적 추정 가중치는 1부터 9까지로 표현될 수 있다. 스케일 값은 반대의 경우에는 역수로 표현될 수 있다. 따라서, 행렬의 (i,j) 요소에 해당하는 값은 행렬의 (j,i) 요소에 해당하는 값의 역수에 해당할 수 있다. 예를 들어, 표 2의 F1 기능(오픈플로우의 지원 여부)에 대하여 표 1의 컨트롤러들 상호 간의 상대적 중요도를 나타내는 F1의 제 1 비교 행렬은 하기와 같을 수 있다. In Table 4, relative estimated weights indicating relative importance may be expressed as 1 to 9. The scale value can be expressed as an reciprocal in the opposite case. Accordingly, a value corresponding to the (i,j) element of the matrix may correspond to the reciprocal of the value corresponding to the (j,i) element of the matrix. For example, the first comparison matrix of F1 indicating the relative importance between the controllers of Table 1 with respect to the F1 function (whether open flow is supported) of Table 2 may be as follows.

Figure 112019090381207-pat00035
Figure 112019090381207-pat00035

상기 F1의 제 1 비교 행렬에서, F1 기능에 대한 컨트롤러 C1의 중요도는 medium, F1 기능에 대한 컨트롤러 C2 의 중요도는 high이므로, 행렬의 (1,2) 요소에 해당하는 값은 3의 역수인 1/3로 결정될 수 있다. In the first comparison matrix of F1, the importance of the controller C1 for the F1 function is medium, and the importance of the controller C2 for the F1 function is high, so the value corresponding to the (1,2) element of the matrix is 1, which is the inverse of 3 Can be determined by /3.

320 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 제 1 비교 행렬의 일관성 비율 제 1 CR(Consistency Ratio)을 계산할 수 있다. In step 320, the apparatus for selecting an optimal controller in software-defined networking may calculate a first consistency ratio (CR) of the first comparison matrix.

일관성 비율 제 1 CR을 계산하기 위하여 제 1 비교 행렬의 각 요소의 값을 열의 총합으로 나눈 제 1 표준 행렬을 구할수 있다. 예를 들어, F1의 제 1 비교 행렬의 각 요소의 값을 열의 총합으로 나눈 제 1 표준 행렬은 하기와 같을 수 있다. In order to calculate the coherence ratio first CR, a first standard matrix obtained by dividing the value of each element of the first comparison matrix by the sum of columns may be obtained. For example, a first standard matrix obtained by dividing the value of each element of the first comparison matrix of F1 by the total number of columns may be as follows.

Figure 112019090381207-pat00036
Figure 112019090381207-pat00036

다음으로, 중요도 벡터로 사용되는 고윳값(Eigenvector) X를 계산할 수 있다. 고윳값의 i번째 요소 xi는 하기 수학식 5에 의해 계산될 수 있다. Next, the Eigenvector X used as the importance vector can be calculated. The i-th element xi of the high value can be calculated by Equation 5 below.

Figure 112019090381207-pat00037
Figure 112019090381207-pat00037

상기 수학식 3을 참조하면, 제 1 표준 행렬은 제 1 비교 행렬의 열의 합을 열의 개수로 나누어 구할 수 있다.

Figure 112019090381207-pat00038
는 제 1 비교 행렬의 (i,j) 요소에 해당하는 값이다. Referring to Equation 3, the first standard matrix can be obtained by dividing the sum of the columns of the first comparison matrix by the number of columns.
Figure 112019090381207-pat00038
Is a value corresponding to the (i,j) element of the first comparison matrix.

다음으로, 제 1 표준 행렬에 고윳값을 추가할 수 있다. 예를 들어, F1의 제 1 표준 행렬에 고윳값을 추가하는 경우 하기와 같을 수 있다. Next, it is possible to add a high value to the first standard matrix. For example, the case of adding a high value to the first standard matrix of F1 may be as follows.

Figure 112019090381207-pat00039
Figure 112019090381207-pat00039

다음으로, 제 1 CR을 계산하기 위하여 CM(Consistency Measure), CI(Consistency Index) 및 RI (Rank Index)를 계산할 수 있다. Next, in order to calculate the first CR, a Consistency Measure (CM), a Consistency Index (CI), and a Rank Index (RI) may be calculated.

CM Yj는 하기 수학식 7 에 의해 계산될 수 있다. CM Yj can be calculated by Equation 7 below.

Figure 112019090381207-pat00040
Figure 112019090381207-pat00040

상기 수학식 7에서, F는 제 1 비교 행렬에 해당하고 X는 고윳값에 해당한다.

Figure 112019090381207-pat00041
는 고윳값 X의 j번째 요소에 해당할 수 있다. In Equation 7, F corresponds to the first comparison matrix and X corresponds to the high value.
Figure 112019090381207-pat00041
May correspond to the j-th element of the high value X.

이 때, Yj 의 평균

Figure 112019090381207-pat00042
를 구할 수 있으며, 이를 이용하여 CI를 계산할 수 있다. CI는 하기 수학식 5 에 의해 계산될 수 있다. At this time, the average of Yj
Figure 112019090381207-pat00042
Can be obtained, and CI can be calculated using this. CI can be calculated by Equation 5 below.

Figure 112019090381207-pat00043
Figure 112019090381207-pat00043

한편, RI는 인덱스의 비율로 하기 표 5에 따라 정해지는 고정값일 수 있다. Meanwhile, the RI may be a fixed value determined according to Table 5 below as a ratio of the index.

개수Count 1One 22 33 44 55 66 77 88 99 1010 RIRI 0.000.00 0.000.00 0.580.58 0.900.90 1.121.12 1.241.24 1.321.32 1.411.41 1.451.45 1.491.49

예를 들어, F1의 의 제 1 표준 행렬의 경우에는, n=6이므로 RI는 1.24가 될 수 있다. For example, in the case of the first standard matrix of F 1 , since n = 6, RI may be 1.24.

마지막으로, CR은 하기 수학식 6에 의해 계산될 수 있다. Finally, CR can be calculated by Equation 6 below.

Figure 112019090381207-pat00044
Figure 112019090381207-pat00044

상기 수학식 6에 따르면, 표 2의 제 1 비교 행렬의 일관성 비율 제 1 CR은 0.09로 계산될 수 있다. According to Equation 6, the first CR of the consistency ratio of the first comparison matrix of Table 2 may be calculated as 0.09.

330 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 제 1 CR이 0.1 이하인지 여부를 판단할 수 있다.In step 330, the device for selecting an optimal controller in software defined networking may determine whether the first CR is 0.1 or less.

소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 비교 행렬의 일관성을 판단하기 위하여 0.1 이하의 CR 값만을 허용할 수 있다. CR 값이 0.1을 초과할 경우 310단계로 진행하고, CR 값이 0.1 이하인 경우 340단계로 진행한다. CR 값이 0.1 이하인 경우에는 해당 제 1 비교 행렬을 제 1 최종 비교 행렬로 결정할 수 있다. CR 값이 0.1을 초과할 경우에는 정성적 평가의 일관성이 없다고 간주하여 복수의 컨트롤러들 각각에 대하여 복수의 기능들 별로 중요도에 따른 점수를 재평가한다. 이에 따라 제 1 비교 행렬을 새롭게 생성한다. In software-defined networking, an apparatus for selecting an optimal controller may allow only a CR value of 0.1 or less to determine the consistency of the comparison matrix. If the CR value exceeds 0.1, proceed to step 310, and if the CR value is less than 0.1, proceed to step 340. When the CR value is 0.1 or less, the corresponding first comparison matrix may be determined as the first final comparison matrix. If the CR value exceeds 0.1, it is considered that the qualitative evaluation is inconsistent, and the scores according to the importance of each of the plurality of functions are re-evaluated for each of the plurality of controllers. Accordingly, a first comparison matrix is newly generated.

340 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 컨트롤러들 각각에 대하여 상기 복수의 기능들 상호 간의 상대적 중요도를 나타내는 제 2 비교 행렬을 생성할 수 있다. In step 340, the apparatus for selecting an optimal controller in software defined networking may generate a second comparison matrix indicating relative importance between the plurality of functions for each of the controllers.

복수의 컨트롤러들이 총 N개의 컨트롤러들에 해당하고 복수의 기능들이 총 M개의 기능들에 해당하는 경우, 제 2 비교 행렬은 N의 MxM의 행렬일 수 있다. 예를 들어, 표 1의 컨트롤러들 각각에 대하여 표 2의 기능들 상호 간의 상대적 중요도를 나타내는 제 2 비교 행렬을 생성하는 경우, 10X10의 행렬이 총 6개 생성될 수 있다. 제 2 비교 행렬을 생성하는 과정은 제 1 비교 행렬을 생성하는 과정과 동일할 수 있으므로 생략한다.When a plurality of controllers correspond to a total of N controllers and a plurality of functions correspond to a total of M functions, the second comparison matrix may be a matrix of N MxMs. For example, when generating a second comparison matrix representing the relative importance between the functions of Table 2 for each of the controllers of Table 1, a total of 6 matrices of 10×10 may be generated. The process of generating the second comparison matrix may be the same as the process of generating the first comparison matrix, and thus is omitted.

350 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 제 2 비교 행렬의 일관성 비율 제 2 CR(Consistency Ratio)을 계산할 수 있다. 제 2 비교 행렬의 일관성 비율 제 2 CR을 계산하는 과정은 제 1 비교 행렬의 일관성 비율 제 1 CR을 계산하는 과정과 동일할 수 있으므로 생략한다.In step 350, the apparatus for selecting an optimal controller in software-defined networking may calculate a second consistency ratio (CR) of the second comparison matrix. The process of calculating the second CR of the consistency ratio of the second comparison matrix may be the same as the process of calculating the first CR of the first comparison matrix, and thus is omitted.

360 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 제 2 CR이 0.1 이하인지 판단할 수 있다. In step 360, the device for selecting an optimal controller in software-defined networking may determine whether the second CR is 0.1 or less.

제 2 CR 값이 0.1을 초과할 경우 340단계로 진행하고, 제 2 CR 값이 0.1 이하인 경우 종료한다. 제 2 CR 값이 0.1 이하인 경우에는 제 2 비교 행렬을 제 2 최종 비교 행렬로 결정할 수 있다. 제 2 CR 값이 0.1을 초과할 경우에는 정성적 평가의 일관성이 없다고 간주하여 복수의 컨트롤러들 각각에 대하여 복수의 기능들 별로 중요도에 따른 점수를 재평가한다. 이에 따라 제 2 비교 행렬을 새롭게 생성한다.If the second CR value exceeds 0.1, the process proceeds to step 340, and if the second CR value is less than 0.1, the process ends. When the second CR value is 0.1 or less, the second comparison matrix may be determined as the second final comparison matrix. If the second CR value exceeds 0.1, it is considered that the qualitative evaluation is inconsistent, and the scores according to the importance of each of the plurality of functions are reevaluated for each of the plurality of controllers. Accordingly, a second comparison matrix is newly generated.

다시 도 1로 돌아와서, 140 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러를 선택할 수 있다. Returning to FIG. 1 again, in step 140, the apparatus for selecting an optimal controller in software-defined networking may select an optimal controller based on a block matrix obtained as a result of qualitative analysis.

블록 행렬은 제 1 최종 비교 행렬 및 제 2 최종 비교 행렬에 기초하여 생성될 수 있다. 복수의 컨트롤러들이 총 N개의 컨트롤러들에 해당하고 복수의 기능들이 총 M개의 기능들에 해당하는 경우, 고윳값을 행렬의 요소로 갖는 블록 행렬은 (N+M) X (N+M) 행렬에 해당할 수 있다. The block matrix may be generated based on the first final comparison matrix and the second final comparison matrix. If a plurality of controllers correspond to a total of N controllers and a plurality of functions correspond to a total of M functions, a block matrix having a high value as an element of the matrix is a (N+M) X (N+M) matrix. May be applicable.

표 1의 컨트롤러들 및 표 2의 기능들에 대한 블록 행렬은 하기와 같을 수 있다. The block matrix for the controllers of Table 1 and the functions of Table 2 may be as follows.

Figure 112019090381207-pat00045
Figure 112019090381207-pat00045

한편, 생성된 블록 행렬의 거듭 제곱을 반복하여 극한 블록 행렬을 생성할 수 있다. 행렬을 구성하는 요소들의 값이 변하지 않을 때까지 블록 행렬의 거듭 제곱을 반복할 수 있다. Meanwhile, an extreme block matrix may be generated by repeating the power of the generated block matrix. It is possible to repeat the power of the block matrix until the values of the elements constituting the matrix do not change.

표 1의 컨트롤러들 및 표 2의 기능들에 대한 극한 블록 행렬의 일 예는 하기와 같을 수 있다.An example of an extreme block matrix for the controllers of Table 1 and the functions of Table 2 may be as follows.

Figure 112019090381207-pat00046
Figure 112019090381207-pat00046

다시 도 1을 참조하면, 140 단계에서, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러를 선택할 수 있다.Referring back to FIG. 1, in step 140, an apparatus for selecting an optimum controller in software defined networking may select an optimum controller based on a block matrix obtained as a result of qualitative analysis.

예를 들어, 블록 행렬의 거듭 제곱을 반복하여 생성된 극한 블록 행렬에서 가장 높은 값을 갖는 컨트롤러를 최적의 컨트롤러로 선택할 수 있다. For example, a controller having the highest value in an extreme block matrix generated by repeating the power of the block matrix may be selected as the optimal controller.

상기 표 1의 컨트롤러들 및 표 2의 기능들에 대한 극한 블록 행렬에서 컨트롤러 C2를 최적의 컨트롤러로 선택할 수 있다. Controller C2 may be selected as an optimal controller from the limiting block matrix for the controllers in Table 1 and the functions in Table 2 above.

한편, 소프트웨어 정의 네트워킹에서 최적의 컨트롤러를 선택하는 장치는, 추가적으로 복수의 컨트롤러들 각각에 대하여 시뮬레이션을 이용한 정량적 분석을 수행할 수도 있다. 정량적 분석 과정에서는 예를 들어, 유럽 레퍼런스 네트워크, USA 백본 IP 네트워크, OS3E 등의 토폴로지를 고려할 수 있다. 또는, 망 관리자가 현재 운영하는 망의 구조를 모사하여 시뮬레이션을 수행할 수도 있다.Meanwhile, an apparatus for selecting an optimal controller in software defined networking may additionally perform a quantitative analysis using a simulation on each of a plurality of controllers. In the process of quantitative analysis, for example, topologies such as the European reference network, the USA backbone IP network, and OS3E can be considered. Alternatively, the network manager can perform simulation by simulating the structure of the currently operated network.

시뮬레이션 도구는 Mininet과 같은 오픈소스 도구, 상용 도구, 이산 시험 등의 도구에 해당할 수 있으나 이에 제한되는 것은 아니다. 정량적 분석에서의 비교 성능 지표는 컨트롤러의 토폴로지 탐지 시간, 지연시간, 컨트롤러의 패킷 처리량, 컨트롤러의 CPU 가용량 등이 될 수 있으나 이에 제한되는 것은 아니다. The simulation tool may correspond to an open source tool such as Mininet, a commercial tool, or a discrete test tool, but is not limited thereto. The comparative performance index in quantitative analysis may be, but is not limited to, the topology detection time of the controller, the delay time, the packet throughput of the controller, and the CPU capacity of the controller.

정량적 분석 결과에 따라 상술한 ANP 정성적 분석 결과로 도출된 컨트롤러의 효과성을 확인할 수 있다. 예를 들어, 가장 높은 우선순위를 가진 컨트롤러가 정성적 성능 분석에서 다른 컨트롤러의 현저하게 낮은 평가를 받은 경우 정성적 평가를 다시 수행할 수 있다.According to the quantitative analysis result, the effectiveness of the controller derived from the above-described ANP qualitative analysis result can be confirmed. For example, if the controller with the highest priority has a significantly lower rating from another controller in the qualitative performance analysis, the qualitative evaluation can be performed again.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. In addition, the structure of the data used in the above-described embodiment of the present invention can be recorded on a computer-readable recording medium through various means. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.) and an optical reading medium (for example, a CD-ROM, a DVD, etc.).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at around its preferred embodiments. Those of ordinary skill in the art to which the present invention pertains will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

Claims (8)

소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 방법에 있어서,
복수의 컨트롤러들 및 최적의 컨트롤러를 선택하기 위한 기준이 되는 복수의 기능들을 설정하는 단계;
상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 평가하는 단계;
상기 평가된 점수에 기초하여 ANP(Analytic Network Process)에 기반한 정성적 분석을 수행하는 단계; 및
상기 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러를 선택하는 단계를 포함하고,
상기 정성적 분석을 수행하는 단계는,
상기 복수의 기능들 각각에 대하여 상기 복수의 컨트롤러들 상호 간의 상대적 중요도를 나타내는 제 1 비교 행렬을 생성하는 단계;
상기 제 1 비교 행렬의 일관성 비율 제 1 CR(Consistency Ratio)을 계산하는 단계;
상기 제 1 CR이 0.1 이하인지 여부를 판단하는 단계;
상기 컨트롤러들 각각에 대하여 상기 복수의 기능들 상호 간의 상대적 중요도를 나타내는 제 2 비교 행렬을 생성하는 단계;
상기 제 2 비교 행렬의 일관성 비율 제 2 CR(Consistency Ratio)을 계산하는 단계; 및
상기 제 2 CR이 0.1 이하인지 여부를 판단하는 단계를 포함하고,
상기 제 1 CR은,
상기 컨트롤러들의 전체 개수마다 각각 대응되어 있는 상수를 기초로 계산되는 것을 특징으로 하는, 방법.
In a method of selecting an optimal controller from among a plurality of controllers in software defined networking,
Setting a plurality of controllers and a plurality of functions serving as a reference for selecting an optimal controller;
Evaluating a score according to importance for each of the plurality of functions for each of the plurality of controllers;
Performing a qualitative analysis based on ANP (Analytic Network Process) based on the evaluated score; And
Including the step of selecting an optimal controller based on the block matrix (block matrix) obtained as a result of the qualitative analysis,
The step of performing the qualitative analysis,
Generating a first comparison matrix indicating relative importance between the plurality of controllers for each of the plurality of functions;
Calculating a first consistency ratio (CR) of the first comparison matrix;
Determining whether the first CR is 0.1 or less;
Generating a second comparison matrix indicating relative importance between the plurality of functions for each of the controllers;
Calculating a second consistency ratio (CR) of the second comparison matrix; And
Including the step of determining whether the second CR is 0.1 or less,
The first CR,
The method, characterized in that calculated based on a constant corresponding to each of the total number of the controllers.
제 1 항에 있어서,
상기 복수의 컨트롤러들 각각에 대하여 시뮬레이션을 이용한 정량적 분석을 수행하는 단계를 더 포함하는 방법.
The method of claim 1,
The method further comprising performing a quantitative analysis using a simulation on each of the plurality of controllers.
삭제delete 제 1 항에 있어서,
상기 제 1 CR이 0.1 이하인지 여부를 판단하는 단계는,
상기 제 1 CR이 0.1 보다 작은 경우에는, 제 1 비교 행렬을 제 1 최종 비교 행렬로 결정하고,
상기 제 1 CR이 0.1 보다 큰 경우에는, 상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 재평가하고,
상기 제 2 CR이 0.1 이하인지 여부를 판단하는 단계는,
상기 제 2 CR이 0.1 보다 작은 경우에는, 제 2 비교 행렬을 제 2 최종 비교 행렬로 결정하고,
상기 제 2 CR이 0.1 보다 큰 경우에는, 상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 재평가하는 방법.
The method of claim 1,
The step of determining whether the first CR is 0.1 or less,
When the first CR is less than 0.1, the first comparison matrix is determined as the first final comparison matrix,
When the first CR is greater than 0.1, a score according to the importance of each of the plurality of functions is reevaluated for each of the plurality of controllers
The step of determining whether the second CR is 0.1 or less,
When the second CR is less than 0.1, a second comparison matrix is determined as a second final comparison matrix,
When the second CR is greater than 0.1, a method of re-evaluating a score according to an importance level for each of the plurality of controllers.
제 4 항에 있어서,
상기 블록 행렬은 상기 제 1 최종 비교 행렬 및 상기 제 2 최종 비교 행렬에 기초하여 생성되는 방법.
The method of claim 4,
The block matrix is generated based on the first final comparison matrix and the second final comparison matrix.
제 1 항에 있어서,
상기 블록 행렬에 대한 거듭 제곱을 반복하여 극한 블록 행렬을 생성하는 단계; 및
상기 극한 블록 행렬에서 가장 높은 값을 갖는 컨트롤러를 최적의 컨트롤러로 선택하는 단계를 더 포함하는 방법.
The method of claim 1,
Generating an extreme block matrix by repeating the power of the block matrix; And
And selecting a controller having the highest value in the extreme block matrix as an optimal controller.
소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 방법을 구현하기 위한 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체에 있어서,
상기 방법은,
복수의 컨트롤러들 및 최적의 컨트롤러를 선택하기 위한 기준이 되는 복수의 기능들을 설정하는 단계;
상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 평가하는 단계;
상기 평가된 점수에 기초하여 ANP(Analytic Network Process)에 기반한 정성적 분석을 수행하는 단계; 및
상기 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러로 선택하는 단계를 포함하고,
상기 정성적 분석을 수행하는 단계는,
상기 복수의 기능들 각각에 대하여 상기 복수의 컨트롤러들 상호 간의 상대적 중요도를 나타내는 제 1 비교 행렬을 생성하는 단계;
상기 제 1 비교 행렬의 일관성 비율 제 1 CR(Consistency Ratio)을 계산하는 단계;
상기 제 1 CR이 0.1 이하인지 여부를 판단하는 단계;
상기 컨트롤러들 각각에 대하여 상기 복수의 기능들 상호 간의 상대적 중요도를 나타내는 제 2 비교 행렬을 생성하는 단계;
상기 제 2 비교 행렬의 일관성 비율 제 2 CR(Consistency Ratio)을 계산하는 단계; 및
상기 제 2 CR이 0.1 이하인지 여부를 판단하는 단계를 포함하고,
상기 제 1 CR은,
상기 컨트롤러들의 전체 개수마다 각각 대응되어 있는 상수를 기초로 계산되는 것을 특징으로 하는, 기록 매체.
In a computer-readable recording medium in which a program for implementing a method for selecting an optimal controller among a plurality of controllers in Software Defined Networking is recorded,
The above method,
Setting a plurality of controllers and a plurality of functions serving as a reference for selecting an optimal controller;
Evaluating a score according to importance for each of the plurality of functions for each of the plurality of controllers;
Performing a qualitative analysis based on ANP (Analytic Network Process) based on the evaluated score; And
Including the step of selecting an optimal controller based on a block matrix obtained as a result of the qualitative analysis,
The step of performing the qualitative analysis,
Generating a first comparison matrix indicating relative importance between the plurality of controllers for each of the plurality of functions;
Calculating a first consistency ratio (CR) of the first comparison matrix;
Determining whether the first CR is 0.1 or less;
Generating a second comparison matrix indicating relative importance between the plurality of functions for each of the controllers;
Calculating a second consistency ratio (CR) of the second comparison matrix; And
Including the step of determining whether the second CR is 0.1 or less,
The first CR,
The recording medium, characterized in that calculated based on a constant corresponding to each of the total number of the controllers.
하드웨어와 결합되어, 소프트웨어 정의 네트워킹(Software Defined Networking)에서 복수의 컨트롤러들 중 최적의 컨트롤러를 선택하는 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 방법은,
복수의 컨트롤러들 및 최적의 컨트롤러를 선택하기 위한 기준이 되는 복수의 기능들을 설정하는 단계;
상기 복수의 컨트롤러들 각각에 대하여 상기 복수의 기능들 별로 중요도에 따른 점수를 평가하는 단계;
상기 평가된 점수에 기초하여 ANP(Analytic Network Process)에 기반한 정성적 분석을 수행하는 단계; 및
상기 정성적 분석 결과 획득된 블록 행렬(block matrix)에 기초하여 최적의 컨트롤러로 선택하는 단계를 포함하고,
상기 정성적 분석을 수행하는 단계는,
상기 복수의 기능들 각각에 대하여 상기 복수의 컨트롤러들 상호 간의 상대적 중요도를 나타내는 제 1 비교 행렬을 생성하는 단계;
상기 제 1 비교 행렬의 일관성 비율 제 1 CR(Consistency Ratio)을 계산하는 단계;
상기 제 1 CR이 0.1 이하인지 여부를 판단하는 단계;
상기 컨트롤러들 각각에 대하여 상기 복수의 기능들 상호 간의 상대적 중요도를 나타내는 제 2 비교 행렬을 생성하는 단계;
상기 제 2 비교 행렬의 일관성 비율 제 2 CR(Consistency Ratio)을 계산하는 단계; 및
상기 제 2 CR이 0.1 이하인지 여부를 판단하는 단계를 포함하고,
상기 제 1 CR은,
상기 컨트롤러들의 전체 개수마다 각각 대응되어 있는 상수를 기초로 계산되는 것을 특징으로 하는, 컴퓨터 프로그램.
In a computer program stored in a medium to execute a method of selecting an optimal controller from among a plurality of controllers in software defined networking, combined with hardware,
The above method,
Setting a plurality of controllers and a plurality of functions serving as a reference for selecting an optimal controller;
Evaluating a score according to importance for each of the plurality of functions for each of the plurality of controllers;
Performing a qualitative analysis based on ANP (Analytic Network Process) based on the evaluated score; And
Including the step of selecting an optimal controller based on a block matrix obtained as a result of the qualitative analysis,
The step of performing the qualitative analysis,
Generating a first comparison matrix indicating relative importance between the plurality of controllers for each of the plurality of functions;
Calculating a first consistency ratio (CR) of the first comparison matrix;
Determining whether the first CR is 0.1 or less;
Generating a second comparison matrix indicating relative importance between the plurality of functions for each of the controllers;
Calculating a second consistency ratio (CR) of the second comparison matrix; And
Including the step of determining whether the second CR is 0.1 or less,
The first CR,
Computer program, characterized in that calculated based on a constant corresponding to each of the total number of the controllers.
KR1020190108464A 2019-09-02 2019-09-02 Methods and devices for selecting optimal controller in Software Defined Networking KR102199432B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190108464A KR102199432B1 (en) 2019-09-02 2019-09-02 Methods and devices for selecting optimal controller in Software Defined Networking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190108464A KR102199432B1 (en) 2019-09-02 2019-09-02 Methods and devices for selecting optimal controller in Software Defined Networking

Publications (1)

Publication Number Publication Date
KR102199432B1 true KR102199432B1 (en) 2021-01-06

Family

ID=74128828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190108464A KR102199432B1 (en) 2019-09-02 2019-09-02 Methods and devices for selecting optimal controller in Software Defined Networking

Country Status (1)

Country Link
KR (1) KR102199432B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118552A (en) * 2002-09-26 2004-04-15 Toshiba Corp Method for supporting multipurpose decision making process and its program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118552A (en) * 2002-09-26 2004-04-15 Toshiba Corp Method for supporting multipurpose decision making process and its program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mohammed Abdul Rahman AlShehri et al. Feature Based Comparison and Selection of SDN Controller, international Journal of Innovation and Technology Management, Vol.16, No.05. 2019년 8월.* *
Yustus Eko Oktian et al. Distributed SDN controller system: A survey on design choice. Computer Networks 121 (2017) 100-111. www.elsevier.com/ locate/comnet. 2017년.* *

Similar Documents

Publication Publication Date Title
EP3525096B1 (en) Resource load balancing control method and cluster scheduler
KR102302609B1 (en) Neural Network Architecture Optimization
CN113064879B (en) Database parameter adjusting method and device and computer readable storage medium
US20130311642A1 (en) Automated discovery of template patterns based on received server requests
US20190235987A1 (en) Duplicate bug report detection using machine learning algorithms and automated feedback incorporation
KR102090239B1 (en) Method for detecting anomality quickly by using layer convergence statistics information and system thereof
CN115048254B (en) Simulation test method, system, equipment and readable medium for data distribution strategy
EP3383088A1 (en) A computer implemented method, a system and computer programs to quantify the performance of a network
CN112101674A (en) Resource allocation matching method, device, equipment and medium based on group intelligent algorithm
WO2010048758A1 (en) Classification of a document according to a weighted search tree created by genetic algorithms
CN114675975B (en) Job scheduling method, device and equipment based on reinforcement learning
CN110414569A (en) Cluster realizing method and device
Mercier et al. Effective resistance against pandemics: Mobility network sparsification for high-fidelity epidemic simulations
KR102199432B1 (en) Methods and devices for selecting optimal controller in Software Defined Networking
US10969964B2 (en) Method, device, and computer program product for parallel data transmission using machine learning to determine number of concurrencies and data slice size
CN111090401B (en) Storage device performance prediction method and device
JP5167596B2 (en) Data set selection device and experimental design system
JP2018106237A (en) Information processing apparatus, information processing method and program
de Carvalho Miranda et al. Development of an adaptive genetic algorithm for simulation optimization
CN111767225B (en) Third-party software testing system and method in cloud computing environment
CN116703046A (en) Control method and system for real-time dispatching sequence, electronic equipment and storage medium
JP4322094B2 (en) Information processing method, service time deriving method, and processing unit number adjusting method
KR101649913B1 (en) Apparatus and method for managing a research and development project
CN112579246A (en) Virtual machine migration processing method and device
US20240020561A1 (en) Quantum simulator network for simulating a quantum service

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant