KR20190114126A - Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof - Google Patents

Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof Download PDF

Info

Publication number
KR20190114126A
KR20190114126A KR1020180036329A KR20180036329A KR20190114126A KR 20190114126 A KR20190114126 A KR 20190114126A KR 1020180036329 A KR1020180036329 A KR 1020180036329A KR 20180036329 A KR20180036329 A KR 20180036329A KR 20190114126 A KR20190114126 A KR 20190114126A
Authority
KR
South Korea
Prior art keywords
message
switch
delay time
time
processing
Prior art date
Application number
KR1020180036329A
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 KR1020180036329A priority Critical patent/KR20190114126A/en
Publication of KR20190114126A publication Critical patent/KR20190114126A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • H04L51/14
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]

Abstract

The present invention relates to an operation method of a software-defined network (SDN) controller connected to at least one switch. Disclosed is the operation method of the SDN controller which comprises the steps of: obtaining first time information for transmitting a message to at least one switch from log information of the SDN controller and second time information for receiving a response message to the message from the at least one switch; calculating a processing delay time of at least one message for each switch based on the first time information and the second time information; and controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing delay time.

Description

메시지의 처리 완료 지연 시간을 기초로 스위치로의 메시지 송신을 제어하는 SDN 컨트롤러 및 그 방법{SOFTWARE-DEFINED NETWORK CONTROLLER FOR CONTROLLING MESSAGE TRANSMISSION TO SWITCH BASED ON PROCESSING COMPLETION DELAY TIME OF MESSAGE AND METHOD THEREOF}SDN controller to control message transmission to switch based on message completion delay time and method thereof

본 발명은 메시지의 처리 완료 지연 시간을 기초로 스위치로의 메시지 송신을 제어하는 SDN(Software-Defined Network) 컨트롤러 및 그 방법에 관한 것으로, 더욱 상세하게는 각 스위치의 메시지 처리 지연 시간을 산출하고, 이를 기초로 복수의 스위치 간의 메시지 처리 완료 시간 차이가 최소화되도록 메시지 송신을 제어하는 SDN 컨트롤러 및 그 방법에 관한 것이다.The present invention relates to a Software-Defined Network (SDN) controller and a method for controlling message transmission to a switch based on a message completion delay time, and more specifically, to calculate a message processing delay time of each switch, The present invention relates to an SDN controller and a method for controlling message transmission so that a difference in message processing completion time between a plurality of switches is minimized.

일반적으로 SDN(Software-Defined Network) 컨트롤러는 다수의 스위치를 제어하기 위해서 각 스위치로 제어메시지를 순차적으로 전달하는 방법이 사용되고 있다. SDN 컨트롤러에서 전달되는 제어메시지는 네트워크를 통해서 전달되고, 해당 제어메시지를 수신한 스위치는 내부의 메시지 처리 프로세스에 따라 제어 정보를 처리 및 적용하였다.In general, in order to control a plurality of switches, a SDN controller is used to sequentially transmit control messages to each switch. The control message transmitted from the SDN controller is transmitted through the network, and the switch receiving the control message processes and applies the control information according to an internal message processing process.

이와 같은 방법은 제어메시지가 최종 스위치에서 처리되기 때문에 SDN 컨트롤러의 제어 명령이 스위치에서 수행되기 위해서는 제어메시지가 전달되는 네트워크 지연 및 스위치에서 제어메시지를 처리하는 데 소요되는 처리 지연 시간이 절대적으로 수반되게 되는 문제점을 가진다. In this method, since the control message is processed on the final switch, the control command of the SDN controller must be accompanied by a network delay in which the control message is transmitted and a processing delay time in processing the control message on the switch. Has the problem.

또한, SDN 컨트롤러 및 스위치는 이격되어 물리적인 거리가 존재하고, 스위치가 갖고 있는 컴퓨팅 파워(computing power)가 제품 별로 상이할 수 밖에 없기 때문에 동시에 복수의 스위치에 제어메시지를 동시에 전달하고 처리해야 할 필요가 있는 응용서비스의 경우에는 제어메시지 처리(적용) 완료에 따른 지연 시간이 스위치 별로 상이하게 되어, 원활한 망 구성 및 서비스 제공의 문제가 발생할 수 있다.In addition, the SDN controller and the switch are separated from each other, and there is a physical distance, and the computing power of the switch is inevitably different from product to product. Therefore, it is necessary to simultaneously transmit and process control messages to multiple switches. In the case of an application service, the delay time according to the completion of control message processing (application) is different for each switch, which may cause problems of smooth network configuration and service provision.

특히, 통신사업자와 같이 지역적으로 떨어져 있는 복수의 국사를 운영해야 하는 입장에서는 SDN 기반의 복수의 스위치 제어를 효과적으로 수행하기 위해 도메인 별 제어메시지의 스위치 적용 지연 시간 차이를 최소화할 필요가 있다.In particular, from the standpoint of operating a plurality of local offices apart from each other, such as a telecommunication service provider, it is necessary to minimize the difference in switch application delay time of control messages for each domain in order to effectively control a plurality of SDN-based switches.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 스위치의 메시지 처리 지연 시간을 측정하는 SDN 컨트롤러의 동작 방법을 제공하는 데 있다.An object of the present invention for solving the above problems is to provide an operation method of the SDN controller for measuring the message processing delay time of the switch.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 스위치의 메시지 처리 지연 시간을 측정하는 SDN 컨트롤러를 제공하는 데 있다.Another object of the present invention for solving the above problems is to provide an SDN controller for measuring the message processing delay time of the switch.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 SDN 컨트롤러의 동작 방법은, SDN 컨트롤러의 로그 정보로부터 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보 및 적어도 하나의 스위치로부터 메시지에 대한 응답 메시지를 수신한 제2 시간 정보를 획득하는 단계, 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 지연 시간을 산출하는 단계 및 처리 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계를 포함할 수 있다.In accordance with an aspect of the present invention, there is provided a method of operating an SDN controller, the first time information transmitting a message to at least one switch from log information of the SDN controller and a response to the message from at least one switch. Acquiring second time information that has received the message; calculating a processing delay time of the at least one message for each switch based on the first time information and the second time information; and at least one switch based on the processing delay time. Controlling the transmission time of the next message to be sent to.

여기서, 적어도 하나의 스위치 별 메시지의 처리 지연 시간을 산출하는 단계는, 제1 시간 정보 및 제2 시간 정보의 차를 처리 지연 시간으로 산출하는 단계를 포함할 수 있다.Here, calculating the processing delay time of the at least one message for each switch may include calculating the difference between the first time information and the second time information as the processing delay time.

여기서, 적어도 하나의 스위치 별 메시지의 처리 지연 시간을 산출하는 단계는, 적어도 하나의 스위치 및 메시지의 종류에 따라 구분하여 처리 지연 시간을 산출하는 단계를 포함할 수 있다.Here, calculating the processing delay time of the at least one switch-specific message may include calculating the processing delay time according to the type of the at least one switch and the message.

여기서, 적어도 하나의 스위치 및 메시지의 종류에 따라 구분하여 처리 지연 시간을 산출하는 단계는, 연결 확인 메시지 및 설정 메시지에 따라 구분하여 처리 지연 시간을 산출하는 단계를 포함할 수 있다.Here, the step of calculating the processing delay time according to the at least one switch and the type of the message may include calculating the processing delay time according to the connection confirmation message and the setting message.

여기서, 처리 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는, 연결 확인 메시지에 따른 처리 지연 시간을 기초로 적어도 하나의 스위치 별 단방향 네트워크 지연 시간을 산출하는 단계를 포함할 수 있다.Here, controlling the transmission time of the next message to be transmitted to the at least one switch based on the processing delay time, calculating the one-way network delay time for each of the at least one switch based on the processing delay time according to the connection confirmation message. It may include.

여기서, 처리 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는, 설정 메시지에 따른 처리 지연 시간 및 단방향 네트워크 지연 시간을 기초로 적어도 하나의 스위치 별 설정 메시지에 따른 처리 완료 지연 시간을 산출하는 단계를 더 포함할 수 있다.Here, the controlling of the transmission time of the next message to be transmitted to the at least one switch based on the processing delay time may include the processing delay time according to the configuration message and the configuration message according to the at least one switch based on the one-way network delay time. The method may further include calculating a processing completion delay time.

여기서, 처리 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는, 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계를 더 포함할 수 있다.Here, controlling the transmission time of the next message to be transmitted to the at least one switch based on the processing delay time may include controlling the transmission time of the next message to be transmitted to the at least one switch based on the processing completion delay time. It may further include.

여기서, 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는, 처리 완료 지연 시간이 큰 순서에 따라 적어도 하나의 스위치로 다음 메시지를 송신하는 단계를 포함할 수 있다.Here, controlling the transmission time of the next message to be transmitted to the at least one switch based on the processing delay time may include transmitting the next message to the at least one switch according to the order in which the processing completion delay time is large. Can be.

상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 SDN 컨트롤러의 동작 방법은, SDN 컨트롤러의 로그 정보로부터 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보를 획득하는 단계, 적어도 하나의 스위치로부터 메시지를 처리 완료한 제2 시간 정보를 포함하는 응답 메시지를 수신하는 단계, 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 완료 지연 시간을 산출하는 단계 및 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계를 포함할 수 있다.In accordance with another aspect of the present invention, there is provided a method of operating an SDN controller, the method comprising: obtaining first time information for transmitting a message to at least one switch from log information of the SDN controller; Receiving a response message including the second time information processing the message, Computing the processing completion delay time of at least one message for each switch based on the first time information and the second time information and Processing completion delay Controlling the transmission time of the next message to be transmitted to the at least one switch based on the time.

여기서, 적어도 하나의 스위치로 메시지를 처리 완료한 제2 시간 정보를 요청하는 요청 메시지를 송신하는 단계를 더 포함할 수 있다.Here, the method may further include transmitting a request message for requesting the second time information for which the message has been processed by the at least one switch.

상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 SDN 컨트롤러는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 적어도 하나의 명령은, SDN 컨트롤러의 로그 정보로부터 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보 및 적어도 하나의 스위치로부터 메시지에 대한 응답 메시지를 수신한 제2 시간 정보를 획득하도록 실행될 수 있고, 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 지연 시간을 산출하도록 실행될 수 있고, 처리 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하도록 실행될 수 있다.An SDN controller according to an embodiment of the present invention for achieving the above another object includes a processor and a memory in which at least one instruction executed by the processor is stored, and the at least one instruction is an SDN. The first time information sent from the log information of the controller to the at least one switch and the second time information received from the at least one switch in response to the message, wherein the first time information and the second time information are received. It may be executed to calculate the processing delay time of the at least one switch-specific message based on the time information, and may be executed to control the transmission time of the next message to be transmitted to the at least one switch based on the processing delay time.

여기서, 적어도 하나의 명령은, 제1 시간 정보 및 제2 시간 정보의 차를 처리 지연 시간으로 산출하도록 실행될 수 있다. Here, the at least one command may be executed to calculate the difference between the first time information and the second time information as a processing delay time.

여기서, 적어도 하나의 명령은, 적어도 하나의 스위치 및 메시지의 종류에 따라 구분하여 처리 지연 시간을 산출하도록 실행될 수 있다.Here, the at least one command may be executed to calculate the processing delay time according to the type of the at least one switch and the message.

여기서, 적어도 하나의 명령은, 연결 확인 메시지 및 설정 메시지에 따라 구분하여 처리 지연 시간을 산출하도록 실행될 수 있다.Here, the at least one command may be executed to calculate a processing delay time according to the connection confirmation message and the setting message.

여기서, 적어도 하나의 명령은, 연결 확인 메시지에 따른 처리 지연 시간을 기초로 적어도 하나의 스위치 별 단방향 네트워크 지연 시간을 산출하도록 실행될 수 있다.Here, the at least one command may be executed to calculate at least one unidirectional network delay time for each switch based on the processing delay time according to the connection confirmation message.

여기서, 적어도 하나의 명령은, 설정 메시지에 따른 처리 지연 시간 및 단방향 네트워크 지연 시간을 기초로 적어도 하나의 스위치 별 설정 메시지에 따른 처리 완료 지연 시간을 산출하도록 실행될 수 있다.Here, the at least one command may be executed to calculate the processing completion delay time according to the at least one setting message per switch based on the processing delay time according to the setting message and the one-way network delay time.

여기서, 적어도 하나의 명령은, 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하도록 실행될 수 있다.Here, the at least one command may be executed to control the transmission time of the next message to be transmitted to the at least one switch based on the processing completion delay time.

여기서, 적어도 하나의 명령은, 처리 완료 지연 시간이 큰 순서에 따라 적어도 하나의 스위치로 다음 메시지를 송신하도록 실행될 수 있다.Here, the at least one command may be executed to transmit the next message to the at least one switch in the order of the high processing completion delay time.

상기 다른 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 SDN 컨트롤러는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 적어도 하나의 명령은, SDN 컨트롤러의 로그 정보로부터 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보를 획득하도록 실행될 수 있고, 적어도 하나의 스위치로부터 메시지를 처리 완료한 제2 시간 정보를 포함하는 응답 메시지를 수신하도록 실행될 수 있고, 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 완료 지연 시간을 산출하도록 실행될 수 있고, 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하도록 실행될 수 있다.An SDN controller according to another embodiment of the present invention for achieving the above another object includes a processor and a memory in which at least one instruction executed by the processor is stored, wherein the at least one instruction is an SDN. May be executed to obtain first time information of sending a message from the log information of the controller to the at least one switch, and may be executed to receive a response message including the second time information of processing the message from the at least one switch; And a processing completion delay time of at least one switch-specific message based on the first time information and the second time information, and a transmission time of the next message to be transmitted to the at least one switch based on the processing completion delay time. It can be executed to control.

여기서, 적어도 하나의 명령은, 적어도 하나의 스위치로 메시지를 처리 완료한 제2 시간 정보를 요청하는 요청 메시지를 송신하도록 실행될 수 있다.Here, the at least one command may be executed to transmit a request message requesting the second time information which has completed processing the message to the at least one switch.

본 발명에 따르면, 물리적으로 떨어져 있는 도메인 또는 국사별로 다수의 스위치가 존재하는 대규모 통신 사업자 망에게 효율적인 제어 관리 및 서비스를 제공할 수 있다.According to the present invention, it is possible to provide efficient control management and service to a network of large communication providers in which a plurality of switches exist for physically separated domains or offices.

본 발명에 따르면, 응용서비스에 따라 요구될 수 있는 다수의 스위치의 동시 제어를 효율적으로 달성할 수 있다.According to the present invention, it is possible to efficiently achieve simultaneous control of a plurality of switches that may be required according to an application service.

본 발명에 따르면, 메시지 별 처리 지연 시간 및 단대단(end-to-end) 제어 설정 완료 지연 시간을 측정 및 관리할 수 있다.According to the present invention, the processing delay time per message and the end-to-end control setting completion delay time can be measured and managed.

본 발명은 SDN 컨트롤러의 내부 응용기능 및 노스 바운드 인터페이스(north bound interface) 등을 이용한 별도 애플리케이션으로 구현될 수 있으므로, 기포설되어 있는 SDN 컨트롤러에도 용이하게 적용할 수 있다.The present invention can be implemented as a separate application using an internal application function of the SDN controller, a north bound interface, and the like, and thus can be easily applied to an existing SDN controller.

도 1은 본 발명의 일 실시예에 따른 SDN 컨트롤러의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 지연 시간 산출부의 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 SDN 컨트롤러의 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 SDN 컨트롤러의 동작 방법을 나타낸 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 스위치의 메시지 처리 완료 지연 시간을 산출하는 방법을 나타낸 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른 스위치의 메시지 처리 완료 지연 시간을 산출하는 방법을 나타낸 도면이다.
1 is a conceptual diagram of an SDN controller according to an embodiment of the present invention.
2 is a block diagram illustrating a delay time calculator according to an exemplary embodiment of the present invention.
3 is a block diagram of an SDN controller according to an embodiment of the present invention.
4 is a flowchart illustrating a method of operating an SDN controller according to an embodiment of the present invention.
5 is a diagram illustrating a method of calculating a message processing completion delay time of a switch according to another exemplary embodiment of the present invention.
6 is a diagram illustrating a method of calculating a message processing completion delay time of a switch according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term “and / or” includes any combination of a plurality of related items or any of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. 이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. In the following description of the present invention, the same reference numerals are used for the same elements in the drawings and redundant descriptions of the same elements will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 설명에서 사용되는 용어를 미리 정리하면 다음과 같다.The terms used in the description of the present invention are summarized as follows.

소프트웨어 정의 네트워크(Software Defined Networks, SDN)는 소프트웨어 프로그래밍을 통해 네트워크 경로 설정과 제어 및 복잡한 운용 관리를 편하게 처리할 수 있는 차세대 네트워킹 기술로서 사용자가 소프트웨어로 네트워크를 제어하는 기술을 의미할 수 있다. SDN은 네트워크 제어 기능이 물리적 네트워크와 분리되어 있는 구조로, 물리적인 인프라스트럭처 레이어(infrastructure layer), 제어할 수 있는 컨트롤 레이어(control layer) 및 애플리케이션 레이어(application layer)로 나누어질 수 있다. 다시 말해, 네트워크 제어 기능이 기존의 스위치(switch) 및/또는 라우터(router) 등의 하드웨어와 별도로 분리될 수 있고, 또한, 데이터 전달 기능과도 분리될 수 있다.Software Defined Networks (SDN) is a next-generation networking technology that makes it easy to handle network routing, control, and complex operational management through software programming, which can mean the technology that allows users to control the network with software. SDN is a structure in which a network control function is separated from a physical network, and may be divided into a physical infrastructure layer, a controllable control layer, and an application layer. In other words, the network control function may be separated from hardware such as existing switches and / or routers, and may also be separated from the data transfer function.

소프트웨어 정의 네트워크의 주요 목적은 기존의 네트워크 장비 중심의 수직적으로 통합된(vertically integrated) 네트워크를 제어 평면(control plane) 및 데이터 평면(data plane)으로 나누는 것이다. 여기서, 제어 평면은 대상 네트워크의 전체적인 뷰(View)를 가지고 라우팅 정책이나 기타 다양한 네트워크 관리 정책 등의 의사 결정을 담당하고, 데이터 평면은 제어 평면에서 결정된 정책을 바탕으로 실질적인 네트워크 트래픽의 처리를 담당한다. 일반적으로 제어 평면을 구성하는 요소는 SDN 컨트롤러가 있고, 데이터 평면을 구성하는 요소는 스위치 및/또는 라우터 등이 있다.The main purpose of a software defined network is to divide a vertically integrated network centered on existing network equipment into a control plane and a data plane. Here, the control plane has an overall view of the target network and is responsible for making decisions such as routing policies and various other network management policies, and the data plane is responsible for handling the actual network traffic based on the policies determined at the control plane. . In general, an element that constitutes the control plane includes an SDN controller, and an element that constitutes the data plane includes a switch and / or a router.

처리 지연 시간은 SDN 컨트롤러가 스위치로 메시지를 송신한 제1 시간 정보 및 실시예에 따라 다를 수 있으나, SDN 컨트롤러가 스위치로부터 응답 메시지를 수신한 제2 시간 정보 간의 시간 차이를 의미할 수 있다. 여기서, 메시지가 hello 메시지 및 echo 메시지 등의 연결 확인 메시지인 경우, 처리 지연 시간은 제1 확인 시간 정보 및 제2 확인 시간 정보에 따른 확인 메시지의 처리 지연 시간을 의미할 수 있으며, 메시지가 config 메시지 또는 modify 메시지 등의 설정 메시지인 경우, 처리 지연 시간은 제1 설정 시간 정보 및 제2 설정 시간 정보에 따른 설정 메시지의 처리 지연 시간을 의미할 수 있으나, 메시지의 종류 및 어느 메시지에 따른 처리 지연 시간인지를 명시하지 않는 경우, 모든 메시지에 대한 것을 포괄적으로 의미할 수도 있다.The processing delay time may vary depending on the first time information when the SDN controller transmits a message to the switch and the embodiment, but may mean a time difference between the second time information when the SDN controller receives the response message from the switch. Here, when the message is a connection confirmation message such as a hello message and an echo message, the processing delay time may mean a processing delay time of the confirmation message according to the first confirmation time information and the second confirmation time information, and the message is a config message. Alternatively, in the case of a setting message such as a modify message, the processing delay time may mean a processing delay time of the setting message according to the first setting time information and the second setting time information, but the processing delay time according to the type of message and any message. If no acknowledgment is specified, it may mean comprehensively for all messages.

단방향 네트워크 지연 시간은 SDN 컨트롤러가 메시지를 송신하고 스위치가 메시지를 수신하는 동안의 소요되는 시간을 의미할 수 있으나, 역의 경우를 의미할 수도 있다.The one-way network delay time may mean the time taken while the SDN controller transmits a message and the switch receives the message, but may also mean the reverse case.

처리 완료 지연 시간은 SDN 컨트롤러가 메시지를 송신하고 스위치가 메시지를 수신하는 동안의 소요되는 시간과 스위치가 수신한 메시지를 처리하여 제어 정보를 적용하는데 소요되는 시간을 합한 시간을 의미할 수 있다. 다시 말해, 처리 완료 지연 시간은 단방향 네트워크 지연 시간 및 협의의 스위치의 메시지 처리 시간을 합한 시간으로 메시지가 적용되어 네크워크가 SDN 컨트롤러의 제어 명령에 따라 동작할 수 있는 상태에 도달할 때까지 소요되는 시간을 의미할 수 있다. The processing completion delay time may mean a time in which the time required for the SDN controller to transmit a message and the switch receives the message and the time required for processing the message received by the switch to apply the control information. In other words, the processing completion delay time is the sum of the one-way network delay time and the message processing time of the negotiating switch, and the time taken until the message is applied and the network reaches a state in which it can operate according to the control commands of the SDN controller. It may mean.

상술한 용어 외에 본 발명의 명세서에서 사용되는 설명이 요구될 수 있는 용어는 명세서의 관련 부분에서 추가로 설명하겠다.In addition to the above terms, terms that may require a description used in the specification of the present invention will be further described in the relevant part of the specification.

도 1은 본 발명의 일 실시예에 따른 SDN 컨트롤러의 개념도이다.1 is a conceptual diagram of an SDN controller according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 SDN 컨트롤러(100)는 로그 수집부(110), 지연 시간 산출부(120), 전송 제어부(130), 메시지 전송부(140) 및 데이터베이스(150)를 포함할 수 있다. 여기서, SDN 컨트롤러(100)의 구성은 명칭에 한정되지 않으며, 기능에 의해 정의될 수 있고, 복수의 기능을 하나의 구성이 수행할 수 있으며, 하나의 기능을 복수의 구성이 수행할 수 있다.Referring to FIG. 1, the SDN controller 100 according to an embodiment of the present invention may include a log collector 110, a delay time calculator 120, a transmission controller 130, a message transmitter 140, and a database ( 150). Here, the configuration of the SDN controller 100 is not limited to a name, and may be defined by a function, one configuration may perform a plurality of functions, and a plurality of configurations may perform one function.

또한, 본 발명의 일 실시예에 따른 SDN 컨트롤러(100)는 기존의 SDN 컨트롤러에서 해당 기능을 수행하는 소프트웨어 형식으로 구현될 수 있으나, 이에 한정되는 것은 아니다.In addition, the SDN controller 100 according to an embodiment of the present invention may be implemented in a software format for performing a corresponding function in the existing SDN controller, but is not limited thereto.

본 발명의 일 실시예에 따른 SDN 컨트롤러(100)는 적어도 하나의 SDN 스위치(이하, 스위치)와 연결될 수 있으며, 스위치와 메시지를 송수신하여 스위치를 제어할 수 있다. 메시지는 SDN 컨트롤러와 스위치 간의 연결을 확인하는 연결 확인 메시지 및 스위치의 제어하기 위한 설정 메시지 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 여기서, 설정 메시지는 플로우 테이블을 포함할 수 있으나, 스위치를 제어하기 위한 모든 메시지를 의미할 수 있으므로, 이에 한정되는 것은 아니다.The SDN controller 100 according to an embodiment of the present invention may be connected to at least one SDN switch (hereinafter, referred to as a switch), and may control the switch by transmitting and receiving a message with the switch. The message may include a connection confirmation message for confirming a connection between the SDN controller and the switch and a configuration message for controlling the switch, but is not limited thereto. Here, the configuration message may include a flow table, but may mean all messages for controlling the switch, but is not limited thereto.

로그 수집부(110)는 SDN 컨트롤러(100)와 스위치 간의 메시지 송수신에 대한 로그를 수집할 수 있다. 다시 말해, 로그 수집부(110)는 SDN 컨트롤러가 스위치로 메시지를 송신한 로그를 수집할 수 있고, SDN 컨트롤러가 스위치로부터 메시지를 수신한 로그를 수집할 수 있다. 여기서, 로그 데이터는 스위치의 정보, 메시지의 송수신 시간 정보 및 메시지의 종류 등을 포함할 수 있다.The log collector 110 may collect a log of message transmission and reception between the SDN controller 100 and the switch. In other words, the log collector 110 may collect a log in which the SDN controller sends a message to the switch, and collect a log in which the SDN controller receives the message from the switch. Here, the log data may include information of a switch, transmission / reception time information of a message, a type of a message, and the like.

지연 시간 산출부(120)는 로그 수집부(110)에서 수집한 로그 데이터에 포함된 메시지의 송수신 시간 정보를 기초로 지연 시간을 측정할 수 있다. 다시 말해, 지연 시간 산출부(120)는 SDN 컨트롤러가 스위치로 메시지를 송신한 로그로부터 제1 시간 정보를 획득할 수 있고, SDN 컨트롤러가 스위치로부터 메시지를 수신한 로그로부터 제2 시간 정보를 획득할 수 있다. 또한, 지연 시간 산출부(120)는 제1 시간 정보 및 제2 시간 정보를 기초로 처리 지연 시간, 단방향 네트워크 지연 시간 및 처리 완료 지연 시간을 산출할 수 있다. 더욱 상세한 설명은 도 2와 함께 후술하겠다.The delay time calculator 120 may measure the delay time based on the transmission / reception time information of the message included in the log data collected by the log collector 110. In other words, the delay time calculator 120 may obtain first time information from a log in which the SDN controller sends a message to the switch, and obtain the second time information from a log in which the SDN controller receives a message from the switch. Can be. In addition, the delay time calculator 120 may calculate a processing delay time, a unidirectional network delay time, and a processing completion delay time based on the first time information and the second time information. A more detailed description will be given later with reference to FIG. 2.

전송 제어부(130)는 지연 시간 산출부(120)에서 산출한 처리 완료 지연 시간을 기초로 SDN 컨트롤러가 적어도 하나의 스위치로 다음 메시지를 송신한 시간을 스위치 별로 제어할 수 있다. 다시 말해, 전송 제어부(130)는 처리 완료 지연 시간에 따라 스위치 별 다음 메시지 송신 시간을 조절할 수 있으며, 처리 완료 지연 시간이 큰 순서대로 스위치에 대한 다음 메시지 송신을 우선시할 수 있고, 이에 따라 송신 시간을 제어할 수 있다. The transmission controller 130 may control, for each switch, the time at which the SDN controller transmits the next message to the at least one switch based on the processing completion delay time calculated by the delay time calculator 120. In other words, the transmission control unit 130 may adjust the next message transmission time for each switch according to the processing completion delay time, and prioritize the next message transmission to the switch in order of the processing completion delay time, and accordingly the transmission time Can be controlled.

메시지 전송부(140)는 전송 제어부(130)가 제어한 스위치 별 송신 시간에 따라 각 스위치로 메시지를 송신할 수 있다. 이에 따라, 처리 완료 지연 시간이 큰 스위치로 먼저 메시지가 송신되고, 처리 완료 지연 시간이 작은 스위치로 나중에 메시지가 송신되어, 결과적으로 특정 단대단 네트워크 경로에 포함된 복수의 스위치 간의 메시지 처리 완료 시간 차이를 최소화시킬 수 있다.The message transmitter 140 may transmit a message to each switch according to the transmission time for each switch controlled by the transmission controller 130. Accordingly, a message is sent first to a switch having a large processing delay time, and a message is sent later to a switch having a small processing delay time, and as a result, a message processing completion time difference between a plurality of switches included in a specific end-to-end network path. Can be minimized.

데이터베이스(150)는 로그 수집부(110)가 수집한 로그, 지연 시간 산출부(120)가 획득한 제1 시간 정보 및 제2 시간 정보, 지연 시간 산출부(120)가 산출한 처리 지연 시간, 단방향 네트워크 지연 시간 및 처리 완료 지연 시간 및 전송 제어부(130)가 제어한 송신 시간 중 적어도 하나를 스위치 별로 저장할 수 있다.The database 150 may include logs collected by the log collector 110, first time information and second time information obtained by the delay time calculator 120, processing delay time calculated by the delay time calculator 120, At least one of a unidirectional network delay time, a processing completion delay time, and a transmission time controlled by the transmission controller 130 may be stored for each switch.

본 발명의 일 실시예로, 지연 시간 산출부(120)가 산출한 제1 스위치에 대한 처리 완료 지연 시간이 200ms이고, 제2 스위치에 대한 처리 완료 지연 시간이 500ms인 경우, 전송 제어부(130)는 처리 완료 지연 시간의 차이에 따라 처리 완료 지연 시간이 300ms 더 큰 제2 스위치로 먼저 메시지를 송신하도록 송신 시간을 제어할 수 있고, 제2 스위치의 송신 시간보다 300ms 이후의 시간을 제1 스위치의 송신 시간으로 제어할 수 있고, 메시지 전송부(140)는 전송 제어부(130)가 제어한 송신 시간에 따라 각 스위치로 메시지를 송신할 수 있다. 이에 따라, 제1 스위치 및 제2 스위치 간에 메시지를 처리 완료하는 시점의 차이가 최소화되도록 할 수 있다.According to an embodiment of the present invention, when the processing completion delay time for the first switch calculated by the delay time calculating unit 120 is 200 ms and the processing completion delay time for the second switch is 500 ms, the transmission control unit 130 is performed. According to the difference in the processing completion delay time can control the transmission time to send a message first to the second switch, the processing completion delay time is greater than 300ms, the time after 300ms than the transmission time of the second switch of the first switch The transmission time may be controlled, and the message transmitter 140 may transmit a message to each switch according to the transmission time controlled by the transmission controller 130. Accordingly, the difference between the time points at which the message is processed between the first switch and the second switch can be minimized.

본 발명의 일 실시예에 따른 SDN 컨트롤러(100)는 적어도 하나의 프로세서 및 프로세서를 통해 상술한 동작이 실행되는 적어도 하나의 명령을 저장하고 있는 메모리를 포함할 수 있다. 여기서, 프로세서는 메모리에 저장된 프로그램 명령(program command)을 실행할 수 있고, 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있고, 읽기 전용 메모리(Read Only Memory, ROM) 및/또는 랜덤 액세스 메모리(Random Access Memory, RAM)로 구성될 수 있다.The SDN controller 100 according to an embodiment of the present invention may include at least one processor and a memory storing at least one command for executing the above-described operation through the processor. Here, the processor may execute a program command stored in a memory, and may be executed by a central processing unit (CPU), a graphics processing unit (GPU), or a method according to the present invention. It may mean a processor. The memory may be comprised of a volatile storage medium and / or a nonvolatile storage medium, and may be comprised of a read only memory (ROM) and / or a random access memory (RAM).

도 2는 본 발명의 일 실시예에 따른 지연 시간 산출부의 블록 구성도이다.2 is a block diagram illustrating a delay time calculator according to an exemplary embodiment of the present invention.

도 2를 참조하면, 지연 시간 산출부(120)는 시간 차이 산출부(121) 및 시간 정보 관리부(122)를 포함할 수 있다. 여기서, 지연 시간 산출부(120)의 구성은 명칭에 한정되지 않으며, 기능에 의해 정의될 수 있고, 복수의 기능을 하나의 구성이 수행할 수 있으며, 하나의 기능을 복수의 구성이 수행할 수 있다.2, the delay time calculator 120 may include a time difference calculator 121 and a time information manager 122. Here, the configuration of the delay time calculator 120 is not limited to a name, and may be defined by a function, one configuration may perform a plurality of functions, and a plurality of configurations may perform one function. have.

시간 차이 산출부(121)는 로그 수집부(110)가 수집한 로그 데이터를 기초로 SDN 컨트롤러가 스위치로 메시지를 송신하는 시각에 대한 제1 시간 정보 및 SDN 컨트롤러가 스위치로부터 메시지를 수신한 시각에 대한 제2 시간 정보를 추출할 수 있으며, 제1 시간 정보 및 제2 시간 정보를 기초로 처리 지연 시간, 단방향 네트워크 지연 시간 및 처리 완료 지연 시간을 산출할 수 있다.The time difference calculator 121 is configured based on the log data collected by the log collector 110 to determine the first time information on the time at which the SDN controller sends a message to the switch and the time at which the SDN controller receives the message from the switch. The second time information may be extracted, and a processing delay time, a unidirectional network delay time, and a processing completion delay time may be calculated based on the first time information and the second time information.

더욱 상세히 설명하면, 시간 차이 산출부(121)는 수학식 1과 같이 연결 확인 메시지에 따른 제1 확인 시간 정보(Ti1) 및 연결 확인 메시지의 응답 메시지에 따른 제2 확인 시간 정보(Ti2)의 차를 연결 확인 메시지의 처리 지연 시간(Td1)으로 산출할 수 있다.In more detail, the time difference calculator 121 includes the first confirmation time information Ti 1 according to the connection confirmation message and the second confirmation time information Ti 2 according to the response message of the connection confirmation message as shown in Equation 1 below. The difference of may be calculated as the processing delay time Td 1 of the connection confirmation message.

Figure pat00001
Figure pat00001

시간 차이 산출부(121)는 수학식 2와 같이 연결 확인 메시지의 처리 지연 시간(Td1)을 기초로 단방향 네트워크 지연 시간(Propagation delay or Network delay, Pd)을 산출할 수 있다.The time difference calculator 121 may calculate a unidirectional network delay time (Propagation delay or Network delay, Pd) based on the processing delay time Td 1 of the connection confirmation message as shown in Equation (2).

Figure pat00002
Figure pat00002

시간 차이 산출부(121)는 수학식 3과 같이 설정 메시지에 따른 제1 설정 시간 정보(Tc1) 및 설정 메시지의 응답 메시지에 따른 제2 설정 시간 정보(Tc2)의 차를 설정 메시지의 처리 지연 시간(Td2)으로 산출할 수 있다.The time difference calculator 121 processes the setting message by comparing a difference between the first setting time information Tc 1 according to the setting message and the second setting time information Tc 2 according to the response message of the setting message as shown in Equation 3 below. It can be calculated from the delay time Td 2 .

Figure pat00003
Figure pat00003

시간 차이 산출부(121)는 수학식 4와 같이 단방향 네트워크 지연 시간(Pd) 및 설정 메시지의 처리 지연 시간(Td2)의 차를 처리 완료 지연 시간(Ts)으로 산출할 수 있다.The time difference calculator 121 may calculate the difference between the one-way network delay time Pd and the processing delay time Td2 of the setting message as the processing completion delay time Ts as shown in Equation 4.

Figure pat00004
Figure pat00004

시간 정보 관리부(122)는 시간 차이 산출부(121)가 산출한 단방향 네트워크 지연 시간 및 처리 완료 지연 시간 중 적어도 하나를 스위치 별로 및 메시지의 종류 별로 관리할 수 있으며, 복수의 메시지 송수신을 통해 데이터가 누적된 경우, 통계정보를 제공하기 위해 스위치 및 메시지의 종류 별로 단방향 네트워크 지연 시간 및 처리 완료 지연 시간 중 적어도 하나에 대한 평균값, 최소값, 최대값 및 최근값 중 적어도 하나를 추출 및 관리할 수 있다.The time information manager 122 may manage at least one of the one-way network delay time and the processing completion delay time calculated by the time difference calculator 121 for each switch and for each type of message. When accumulated, at least one of an average value, a minimum value, a maximum value, and a latest value of at least one of a unidirectional network delay time and a processing completion delay time may be extracted and managed for each type of switch and message to provide statistical information.

또한, 시간 정보 관리부(122)는 개별 스위치에 대한 지연 시간 정보뿐만 아니라 특정 단대단(end-to-end) 경로에 포함된 적어도 하나의 스위치에 대하여 단대단 단위로 지연 시간 정보를 관리할 수도 있다. 다시 말해, 시간 정보 관리부(122)는 개별 스위치의 측정 정보를 이용하여 망 토폴로지 상의 단대단 메시지 설정 완료 성능을 측정할 수 있다.In addition, the time information manager 122 may manage delay time information on an end-to-end basis with respect to at least one switch included in a specific end-to-end path as well as delay time information on an individual switch. . In other words, the time information manager 122 may measure the end-to-end message setting completion performance on the network topology by using the measurement information of the individual switch.

도 3은 본 발명의 일 실시예에 따른 SDN 컨트롤러의 블록 구성도이다.3 is a block diagram of an SDN controller according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 SDN 컨트롤러(300)는 적어도 하나의 프로세서(310), 메모리(320) 및 저장 장치(330)를 포함할 수 있다.Referring to FIG. 3, the SDN controller 300 according to an embodiment of the present invention may include at least one processor 310, a memory 320, and a storage device 330.

프로세서(310)는 메모리(320) 및/또는 저장 장치(330)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(310)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(320)와 저장 장치(330)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(320)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.The processor 310 may execute a program command stored in the memory 320 and / or the storage device 330. The processor 310 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to the present invention are performed. The memory 320 and the storage device 330 may be configured of a volatile storage medium and / or a nonvolatile storage medium. For example, the memory 320 may be configured as read only memory (ROM) and / or random access memory (RAM).

메모리(320)는 프로세서(310)를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 SDN 컨트롤러의 로그 정보로부터 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보 및 적어도 하나의 스위치로부터 메시지에 대한 응답 메시지를 수신한 제2 시간 정보를 획득하는 명령, 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 지연 시간을 산출하는 명령 및 처리 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 명령을 포함할 수 있다.The memory 320 may store at least one instruction executed by the processor 310. The at least one command is a command for obtaining first time information for transmitting a message from the log information of the SDN controller to the at least one switch and second time information for receiving a response message for the message from the at least one switch, the first time. Instructions for calculating a processing delay time of at least one message for each switch based on the information and the second time information, and controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing delay time. have.

더욱 상세하게 설명하면, 프로세서(310)는 메모리(320)에 저장된 명령에 따라 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 지연 시간을 산출할 수 있다. 여기서, 프로세서(310)는 제1 시간 정보 및 제2 시간 정보의 차를 처리 지연 시간으로 산출할 수 있으며, 적어도 하나의 스위치 및 메시지의 종류에 따라 구분하여 처리 지연 시간을 산출할 수 있고, 연결 확인 메시지 및 설정 메시지에 따라 구분하여 처리 지연 시간을 산출할 수 있다.In more detail, the processor 310 may calculate a processing delay time of at least one message for each switch based on the first time information and the second time information according to a command stored in the memory 320. Here, the processor 310 may calculate the difference between the first time information and the second time information as a processing delay time, calculate a processing delay time by dividing according to at least one type of switch and a message, and connect The processing delay time can be calculated by dividing according to the confirmation message and the setting message.

프로세서(310)는 메모리(320)에 저장된 명령에 따라 처리 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어할 수 있다. 여기서, 프로세서(310)는 연결 확인 메시지에 따른 처리 지연 시간을 기초로 적어도 하나의 스위치 별 단방향 네트워크 지연 시간을 산출할 수 있고, 설정 메시지에 따른 처리 지연 시간 및 단방향 네트워크 지연 시간을 기초로 적어도 하나의 스위치 별 설정 메시지에 따른 처리 완료 지연 시간을 산출할 수 있다. The processor 310 may control a transmission time of a next message to be transmitted to at least one switch based on a processing delay time according to a command stored in the memory 320. Here, the processor 310 may calculate at least one unidirectional network delay time for each switch based on the processing delay time according to the connection confirmation message, and at least one based on the processing delay time and the unidirectional network delay time according to the configuration message. The processing completion delay time can be calculated according to the setting message for each switch.

또한, 프로세서(310)는 메모리(320)에 저장된 명령에 따라 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어할 수 있고, 처리 완료 지연 시간이 큰 순서에 따라 적어도 하나의 스위치로 다음 메시지를 송신할 수 있다.In addition, the processor 310 may control a transmission time of the next message to be transmitted to the at least one switch based on the processing completion delay time according to a command stored in the memory 320, and according to the order in which the processing completion delay time is large. You can send the next message to at least one switch.

도 5와 함께 후술할 본 발명의 다른 실시예에 따른 SDN 컨트롤러는 상술한 SDN 컨트롤러와 같이 적어도 하나의 프로세서, 메모리 및 저장 장치를 포함할 수 있다.The SDN controller according to another embodiment of the present invention to be described below with reference to FIG. 5 may include at least one processor, a memory, and a storage device like the above-described SDN controller.

다른 실시예에 따른 SDN 컨트롤러의 메모리는 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있으며, 적어도 하나의 명령은 SDN 컨트롤러의 로그 정보로부터 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보를 획득하는 명령, 적어도 하나의 스위치로부터 메시지를 처리 완료한 제2 시간 정보를 포함하는 응답 메시지를 수신하는 명령, 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 완료 지연 시간을 산출하는 명령 및 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 명령을 포함할 수 있다. The memory of the SDN controller according to another embodiment may store at least one command executed by a processor, wherein the at least one command is first time information transmitted from a log information of the SDN controller to at least one switch. A command for obtaining a message, a command for receiving a response message including second time information for processing a message from at least one switch, and completion of processing of at least one message for each switch based on the first time information and the second time information And a command for controlling a transmission time of the next message to be transmitted to the at least one switch based on the delay time calculating command and the processing completion delay time.

도 6과 함께 후술할 본 발명의 또 다른 실시예에 따른 SDN 컨트롤러는 상술한 SDN 컨트롤러와 같이 적어도 하나의 프로세서, 메모리 및 저장 장치를 포함할 수 있다.The SDN controller according to another embodiment of the present invention to be described later with reference to FIG. 6 may include at least one processor, a memory, and a storage device like the above-described SDN controller.

또 다른 실시예에 따른 SDN 컨트롤러의 메모리는 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있으며, 적어도 하나의 명령은 SDN 컨트롤러의 로그 정보로부터 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보를 획득하는 명령, 적어도 하나의 스위치로부터 메시지를 처리 완료한 제2 시간 정보를 포함하는 응답 메시지를 수신하는 명령, 제1 시간 정보 및 제2 시간 정보를 기초로 적어도 하나의 스위치 별 메시지의 처리 완료 지연 시간을 산출하는 명령 및 처리 완료 지연 시간을 기초로 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 명령을 포함할 수 있고, 적어도 하나의 스위치로 메시지를 처리 완료한 제2 시간 정보를 요청하는 요청 메시지를 송신하는 명령을 더 포함할 수 있다.The memory of the SDN controller according to another embodiment may store at least one command executed by a processor, wherein the at least one command is a first time for transmitting a message from the log information of the SDN controller to at least one switch. A command for acquiring information, a command for receiving a response message including second time information from which the message has been processed from at least one switch, and processing of at least one message for each switch based on the first time information and the second time information A command for calculating a completion delay time and a command for controlling a transmission time of a next message to be transmitted to at least one switch based on the processing completion delay time, the second time of processing the message with the at least one switch. The method may further include a command for transmitting a request message requesting information.

도 4는 본 발명의 일 실시예에 따른 SDN 컨트롤러의 동작 방법을 나타낸 순서도이다.4 is a flowchart illustrating a method of operating an SDN controller according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 SDN 컨트롤러는 우선 SDN 컨트롤러의 로그 정보로부터 스위치로 연결 확인 메시지를 송신한 제1 확인 시간 정보를 획득할 수 있으며(S410), SDN 컨트롤러의 로그 정보로부터 스위치로부터 연결 확인 메시지에 대한 응답 메시지를 수신한 제2 확인 시간 정보를 획득할 수 있고(S420), 제1 확인 시간 정보 및 제2 확인 시간 정보를 기초로 확인 메시지의 처리 지연 시간을 산출할 수 있다(S430). 또한, SDN 컨트롤러는 확인 메시지의 처리 지연 시간을 기초로 단방향 네트워크 지연 시간을 산출할 수 있다(S440).Referring to FIG. 4, the SDN controller according to an embodiment of the present invention may first obtain first confirmation time information that transmits a connection confirmation message from the log information of the SDN controller to the switch (S410), and logs of the SDN controller. The second acknowledgment time information receiving the response message for the connection acknowledgment message from the switch may be obtained from the information (S420), and the processing delay time of the acknowledgment message is calculated based on the first acknowledgment time information and the second acknowledgment time information. It may be (S430). In addition, the SDN controller may calculate the one-way network delay time based on the processing delay time of the confirmation message (S440).

SDN 컨트롤러는 SDN 컨트롤러의 로그 정보로부터 스위치로 설정 메시지를 송신한 제1 설정 시간 정보를 획득할 수 있으며(S450), SDN 컨트롤러의 로그 정보로부터 스위치로부터 설정 메시지에 대한 응답 메시지를 수신한 제2 설정 시간 정보를 획득할 수 있고(S460), 제1 설정 시간 정보 및 제2 설정 시간 정보를 기초로 설정 메시지의 처리 지연 시간을 산출할 수 있다(S470).The SDN controller may obtain first setting time information that transmits a setting message to the switch from the log information of the SDN controller (S450), and the second setting that receives a response message for the setting message from the switch from the log information of the SDN controller. Time information may be obtained (S460), and processing delay time of the setup message may be calculated based on the first set time information and the second set time information (S470).

SDN 컨트롤러는 설정 메시지의 처리 지연 시간 및 단방향 네트워크 지연 시간을 기초로 처리 완료 지연 시간을 산출할 수 있으며(S480), 처리 완료 지연 시간을 기초로 스위치로의 다음 메시지 송신 시간을 제어할 수 있다(S490).The SDN controller may calculate the processing completion delay time based on the processing delay time and the unidirectional network delay time of the configuration message (S480), and control the next message transmission time to the switch based on the processing completion delay time (S480). S490).

여기서, S450 내지 S470 단계는 S480 단계 이전의 어느 단계 보다 우선 수행될 수도 있다.Here, steps S450 to S470 may be performed prior to any step before step S480.

도 5는 본 발명의 다른 실시예에 따른 스위치의 메시지 처리 완료 지연 시간을 산출하는 방법을 나타낸 도면이다.5 is a diagram illustrating a method of calculating a message processing completion delay time of a switch according to another exemplary embodiment of the present invention.

본 발명의 다른 실시예에 따른 SDN 컨트롤러(500)는 스위치로부터 메시지를 처리 완료한 제2 시간 정보를 포함하는 처리 완료 시간 확인 메시지를 수신할 수 있고, SDN 컨트롤러(500)는 스위치로 메시지를 송신한 제1 시간 정보와 처리 완료 시간 확인 메시지에 포함된 제2 시간 정보를 기초로 처리 완료 지연 시간을 산출할 수 있다.According to another embodiment of the present invention, the SDN controller 500 may receive a processing completion time confirmation message including second time information processing a message from a switch, and the SDN controller 500 may transmit a message to the switch. The processing completion delay time may be calculated based on the first time information and the second time information included in the processing completion time confirmation message.

여기서, 제2 시간 정보는 상술한 일 실시예에 따른 SDN 컨트롤러가 메시지에 대한 응답 메시지를 수신한 제2 시간 정보와는 다르며, 스위치가 메시지를 처리 완료한 시각에 대한 정보를 의미할 수 있다. Here, the second time information is different from the second time information when the SDN controller according to the above-described embodiment receives the response message for the message, and may mean information about the time when the switch has processed the message.

스위치는 처리 완료한 제2 시간 정보를 요청하는 SDN 컨트롤러(500)의 처리 완료 시간 요청 메시지와 무관하게 SDN 컨트롤러(500)로 제2 시간 정보를 포함하는 처리 완료 시간 확인 메시지를 송신할 수 있도록 정의 또는 설정될 수 있다.The switch is defined to transmit a processing completion time confirmation message including the second time information to the SDN controller 500 irrespective of the processing completion time request message of the SDN controller 500 requesting the completed second time information. Or can be set.

이에 따라, 본 발명의 다른 실시예에 따른 SDN 컨트롤러(500)는 제1 시간 정보 및 제2 시간 정보의 차를 곧바로 처리 완료 지연 시간으로 산출할 수 있다. Accordingly, the SDN controller 500 according to another embodiment of the present invention may immediately calculate the difference between the first time information and the second time information as a processing completion delay time.

도 6은 본 발명의 또 다른 실시예에 따른 스위치의 메시지 처리 완료 지연 시간을 산출하는 방법을 나타낸 도면이다.6 is a diagram illustrating a method of calculating a message processing completion delay time of a switch according to another embodiment of the present invention.

본 발명의 또 다른 실시예에 따른 SDN 컨트롤러(600)는 스위치가 메시지를 처리 완료한 제2 시간 정보를 요청하는 처리 완료 시간 요청 메시지를 스위치로 송신할 수 있으며, 스위치로부터 메시지를 처리 완료한 제2 시간 정보를 포함하는 처리 완료 시간 응답 메시지를 수신할 수 있고, SDN 컨트롤러(600)는 스위치로 메시지를 송신한 제1 시간 정보와 처리 완료 시간 응답 메시지에 포함된 제2 시간 정보를 기초로 처리 완료 지연 시간을 산출할 수 있다.According to another embodiment of the present invention, the SDN controller 600 may transmit a processing completion time request message for requesting the second time information for which the switch has completed processing a message to the switch, and has finished processing the message from the switch. The SDN controller 600 may receive a processing completion time response message including two time information, and the SDN controller 600 processes the processing based on the first time information transmitted from the switch and the second time information included in the processing completion time response message. Completion delay time can be calculated.

여기서, 제2 시간 정보는 상술한 일 실시예에 따른 SDN 컨트롤러가 메시지에 대한 응답 메시지를 수신한 제2 시간 정보와는 다르며, 스위치가 메시지를 처리 완료한 시각에 대한 정보를 의미할 수 있다. Here, the second time information is different from the second time information when the SDN controller according to the above-described embodiment receives the response message for the message, and may mean information about the time when the switch has processed the message.

처리 완료 시간 요청 메시지는 스위치에서 메시지가 처리 완료된 제2 시간 정보를 포함하는 및 처리 완료 시간 응답 메시지를 SDN 컨트롤러로 송신하도록 정의될 수 있다.The processing completion time request message may be defined at the switch to include processing second time information for which the message is completed and to send a processing completion time response message to the SDN controller.

이에 따라, 본 발명의 또 다른 실시예에 따른 SDN 컨트롤러(600)는 제1 시간 정보 및 제2 시간 정보의 차를 곧바로 처리 완료 지연 시간으로 산출할 수 있다. Accordingly, the SDN controller 600 according to another embodiment of the present invention may immediately calculate the difference between the first time information and the second time information as a processing completion delay time.

본 발명의 실시예에 따른 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다. Operation according to an embodiment of the present invention can be implemented as a computer-readable program or code on a computer-readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable program or code is stored and executed in a distributed fashion.

또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.In addition, the computer-readable recording medium may include a hardware device specifically configured to store and execute program instructions, such as a ROM, a RAM, a flash memory, and the like. Program instructions may include high-level language code that can be executed by a computer using an interpreter, as well as machine code such as produced by a compiler.

본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다. While some aspects of the invention have been described in the context of a device, it may also represent a description according to a corresponding method, wherein the block or device corresponds to a method step or a feature of the method step. Similarly, aspects described in the context of a method may also be indicated by the features of the corresponding block or item or corresponding device. Some or all of the method steps may be performed by (or using) a hardware device such as, for example, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.In embodiments, a programmable logic device (eg, a field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In embodiments, the field programmable gate array may operate in conjunction with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware apparatus.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

100: SDN 컨트롤러 110: 로그 수집부
120: 지연 시간 산출부 130: 전송 제어부
140: 메시지 전송부 150: 데이터베이스
100: SDN controller 110: log collection unit
120: delay time calculation unit 130: transmission control unit
140: message transmission unit 150: database

Claims (20)

적어도 하나의 스위치와 연결된 SDN(Software-Defined Network) 컨트롤러의 동작 방법으로서,
상기 SDN 컨트롤러의 로그 정보로부터 상기 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보 및 상기 적어도 하나의 스위치로부터 상기 메시지에 대한 응답 메시지를 수신한 제2 시간 정보를 획득하는 단계;
상기 제1 시간 정보 및 상기 제2 시간 정보를 기초로 상기 적어도 하나의 스위치 별 상기 메시지의 처리 지연 시간을 산출하는 단계; 및
상기 처리 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계를 포함하는, SDN 컨트롤러의 동작 방법.
A method of operating a software-defined network (SDN) controller connected to at least one switch,
Obtaining first time information for transmitting a message to the at least one switch from log information of the SDN controller and second time information for receiving a response message for the message from the at least one switch;
Calculating a processing delay time of the message for each of the at least one switch based on the first time information and the second time information; And
Controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing delay time.
청구항 1에 있어서,
상기 적어도 하나의 스위치 별 상기 메시지의 처리 지연 시간을 산출하는 단계는,
상기 제1 시간 정보 및 상기 제2 시간 정보의 차를 상기 처리 지연 시간으로 산출하는 단계를 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 1,
Calculating a processing delay time of the message for each of the at least one switch,
Calculating a difference between the first time information and the second time information as the processing delay time.
청구항 1에 있어서,
상기 적어도 하나의 스위치 별 상기 메시지의 처리 지연 시간을 산출하는 단계는,
상기 적어도 하나의 스위치 및 메시지의 종류에 따라 구분하여 상기 처리 지연 시간을 산출하는 단계를 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 1,
Calculating a processing delay time of the message for each of the at least one switch,
And calculating the processing delay time by dividing according to the at least one switch and a type of a message.
청구항 3에 있어서,
상기 적어도 하나의 스위치 및 메시지의 종류에 따라 구분하여 상기 처리 지연 시간을 산출하는 단계는,
연결 확인 메시지 및 설정 메시지에 따라 구분하여 상기 처리 지연 시간을 산출하는 단계를 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 3,
Computing the processing delay time according to the type of the at least one switch and the message,
And calculating the processing delay time by dividing according to a connection confirmation message and a setting message.
청구항 4에 있어서,
상기 처리 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는,
상기 연결 확인 메시지에 따른 처리 지연 시간을 기초로 상기 적어도 하나의 스위치 별 단방향 네트워크 지연 시간을 산출하는 단계를 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 4,
Controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing delay time,
Calculating a one-way network delay time for each of the at least one switch based on a processing delay time according to the connection confirmation message.
청구항 5에 있어서,
상기 처리 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는,
상기 설정 메시지에 따른 처리 지연 시간 및 상기 단방향 네트워크 지연 시간을 기초로 상기 적어도 하나의 스위치 별 상기 설정 메시지에 따른 처리 완료 지연 시간을 산출하는 단계를 더 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 5,
Controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing delay time,
Calculating a processing completion delay time according to the configuration message for each of the at least one switch based on the processing delay time according to the configuration message and the one-way network delay time.
청구항 6에 있어서,
상기 처리 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는,
상기 처리 완료 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계를 더 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 6,
Controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing delay time,
Controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing completion delay time.
청구항 7에 있어서,
상기 처리 완료 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계는,
상기 처리 완료 지연 시간이 큰 순서에 따라 상기 적어도 하나의 스위치로 다음 메시지를 송신하는 단계를 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 7,
Controlling the transmission time of a next message to be transmitted to the at least one switch based on the processing completion delay time;
And transmitting a next message to the at least one switch in order of increasing processing completion delay time.
적어도 하나의 스위치와 연결된 SDN(Software-Defined Network) 컨트롤러의 동작 방법으로서,
상기 SDN 컨트롤러의 로그 정보로부터 상기 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보를 획득하는 단계;
상기 적어도 하나의 스위치로부터 상기 메시지를 처리 완료한 제2 시간 정보를 포함하는 응답 메시지를 수신하는 단계;
상기 제1 시간 정보 및 상기 제2 시간 정보를 기초로 상기 적어도 하나의 스위치 별 상기 메시지의 처리 완료 지연 시간을 산출하는 단계; 및
상기 처리 완료 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하는 단계를 포함하는, SDN 컨트롤러의 동작 방법.
A method of operating a software-defined network (SDN) controller connected to at least one switch,
Acquiring first time information transmitted from the log information of the SDN controller to the at least one switch;
Receiving a response message including second time information for processing the message from the at least one switch;
Calculating a processing completion delay time of the message for each of the at least one switch based on the first time information and the second time information; And
Controlling a transmission time of a next message to be transmitted to the at least one switch based on the processing completion delay time.
청구항 9에 있어서,
상기 적어도 하나의 스위치로 상기 메시지를 처리 완료한 제2 시간 정보를 요청하는 요청 메시지를 송신하는 단계를 더 포함하는, SDN 컨트롤러의 동작 방법.
The method according to claim 9,
And transmitting a request message for requesting second time information on which the message has been processed to the at least one switch.
적어도 하나의 스위치와 연결된 SDN(Software-Defined Network) 컨트롤러로서,
프로세서(processor); 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
상기 적어도 하나의 명령은,
상기 SDN 컨트롤러의 로그 정보로부터 상기 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보 및 상기 적어도 하나의 스위치로부터 상기 메시지에 대한 응답 메시지를 수신한 제2 시간 정보를 획득하도록 실행되고,
상기 제1 시간 정보 및 상기 제2 시간 정보를 기초로 상기 적어도 하나의 스위치 별 상기 메시지의 처리 지연 시간을 산출하도록 실행되고,
상기 처리 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하도록 실행되는, SDN 컨트롤러.
A software-defined network (SDN) controller connected to at least one switch.
A processor; And
At least one instruction executed by the processor includes a memory (memory),
The at least one command is
And from the log information of the SDN controller, first time information for transmitting a message to the at least one switch and second time information for receiving a response message for the message from the at least one switch,
Calculating a processing delay time of the message for each of the at least one switch based on the first time information and the second time information;
And control a transmission time of a next message to be transmitted to the at least one switch based on the processing delay time.
청구항 11에 있어서,
상기 적어도 하나의 명령은,
상기 제1 시간 정보 및 상기 제2 시간 정보의 차를 상기 처리 지연 시간으로 산출하도록 실행되는, SDN 컨트롤러.
The method according to claim 11,
The at least one command is
And calculating the difference between the first time information and the second time information as the processing delay time.
청구항 11에 있어서,
상기 적어도 하나의 명령은,
상기 적어도 하나의 스위치 및 메시지의 종류에 따라 구분하여 상기 처리 지연 시간을 산출하도록 실행되는, SDN 컨트롤러.
The method according to claim 11,
The at least one command is
And calculating the processing delay time according to the at least one switch and the type of message.
청구항 13에 있어서,
상기 적어도 하나의 명령은,
연결 확인 메시지 및 설정 메시지에 따라 구분하여 상기 처리 지연 시간을 산출하도록 실행되는, SDN 컨트롤러.
The method according to claim 13,
The at least one command is
And calculating the processing delay time according to a connection confirmation message and a setting message.
청구항 14에 있어서,
상기 적어도 하나의 명령은,
상기 연결 확인 메시지에 따른 처리 지연 시간을 기초로 상기 적어도 하나의 스위치 별 단방향 네트워크 지연 시간을 산출하도록 실행되는, SDN 컨트롤러.
The method according to claim 14,
The at least one command is
And calculate one-way network delay time for each of the at least one switch based on a processing delay time according to the connection confirmation message.
청구항 15에 있어서,
상기 적어도 하나의 명령은,
상기 설정 메시지에 따른 처리 지연 시간 및 상기 단방향 네트워크 지연 시간을 기초로 상기 적어도 하나의 스위치 별 상기 설정 메시지에 따른 처리 완료 지연 시간을 산출하도록 실행되는, SDN 컨트롤러.
The method according to claim 15,
The at least one command is
And calculating a processing completion delay time according to the configuration message for each of the at least one switch based on the processing delay time according to the configuration message and the one-way network delay time.
청구항 16에 있어서,
상기 적어도 하나의 명령은,
상기 처리 완료 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하도록 실행되는, SDN 컨트롤러.
The method according to claim 16,
The at least one command is
And control a transmission time of a next message to be transmitted to the at least one switch based on the processing completion delay time.
청구항 17에 있어서,
상기 적어도 하나의 명령은,
상기 처리 완료 지연 시간이 큰 순서에 따라 상기 적어도 하나의 스위치로 다음 메시지를 송신하도록 실행되는, SDN 컨트롤러.
The method according to claim 17,
The at least one command is
And send the next message to the at least one switch in order of the processing completion delay time being greater.
적어도 하나의 스위치와 연결된 SDN(Software-Defined Network) 컨트롤러로서,
프로세서(processor); 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
상기 적어도 하나의 명령은,
상기 SDN 컨트롤러의 로그 정보로부터 상기 적어도 하나의 스위치로 메시지를 송신한 제1 시간 정보를 획득하도록 실행되고,
상기 적어도 하나의 스위치로부터 상기 메시지를 처리 완료한 제2 시간 정보를 포함하는 응답 메시지를 수신하도록 실행되고,
상기 제1 시간 정보 및 상기 제2 시간 정보를 기초로 상기 적어도 하나의 스위치 별 상기 메시지의 처리 완료 지연 시간을 산출하도록 실행되고,
상기 처리 완료 지연 시간을 기초로 상기 적어도 하나의 스위치로 송신할 다음 메시지의 송신 시간을 제어하도록 실행되는, SDN 컨트롤러.
A software-defined network (SDN) controller connected to at least one switch.
A processor; And
At least one instruction executed by the processor includes a memory (memory),
The at least one command is
To obtain first time information of sending a message from the log information of the SDN controller to the at least one switch,
Receive a response message from the at least one switch, the response message comprising second time information for which the message has been processed;
Calculating a processing completion delay time of the message for each of the at least one switch based on the first time information and the second time information;
And to control a transmission time of a next message to be transmitted to the at least one switch based on the processing completion delay time.
청구항 19에 있어서,
상기 적어도 하나의 명령은,
상기 적어도 하나의 스위치로 상기 메시지를 처리 완료한 제2 시간 정보를 요청하는 요청 메시지를 송신하도록 실행되는, SDN 컨트롤러.
The method according to claim 19,
The at least one command is
And send a request message to the at least one switch requesting second time information for which the message has been processed.
KR1020180036329A 2018-03-29 2018-03-29 Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof KR20190114126A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180036329A KR20190114126A (en) 2018-03-29 2018-03-29 Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180036329A KR20190114126A (en) 2018-03-29 2018-03-29 Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof

Publications (1)

Publication Number Publication Date
KR20190114126A true KR20190114126A (en) 2019-10-10

Family

ID=68206503

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180036329A KR20190114126A (en) 2018-03-29 2018-03-29 Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof

Country Status (1)

Country Link
KR (1) KR20190114126A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102410957B1 (en) 2021-04-14 2022-06-22 구동현 Carrier for motorcycle
KR20230006654A (en) * 2021-06-25 2023-01-11 국방과학연구소 Method for coordination virtual network function and apparatus for the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102410957B1 (en) 2021-04-14 2022-06-22 구동현 Carrier for motorcycle
KR20230006654A (en) * 2021-06-25 2023-01-11 국방과학연구소 Method for coordination virtual network function and apparatus for the same

Similar Documents

Publication Publication Date Title
KR101573182B1 (en) Method For Managing Network And For Providing Service QoS
US9798810B2 (en) Methods and apparatus to track changes to a network topology
CN108243106A (en) Control method, forwarding unit, control device and the communication system of network slice
EP4087202A1 (en) Data stream type identification model updating method and related device
CN112532409B (en) Network parameter configuration method, device, computer equipment and storage medium
CN105591819A (en) Method and device of configuring network equipment
CN101772918A (en) The Operations, Administration and Maintenance of service chaining (OAM)
CN110730478B (en) Slice association method, device, end-to-end slice organizer and storage medium
CN111769998A (en) Method and device for detecting network delay state
KR20220053658A (en) Data stream classification method and related device
US8848522B2 (en) Telecommunications system and server apparatus
CN116545936B (en) Congestion control method, system, device, communication equipment and storage medium
Chakravarthy et al. A novel software‐defined networking approach for load balancing in data center networks
CN108234317A (en) A kind of tunnel loop back method and its relevant device
KR20190114126A (en) Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof
CN105872093A (en) CDN acceleration method and system
CN112532466A (en) Flow identification method and device and storage medium
US11556100B2 (en) Control method, related device, and system
KR20220029142A (en) Sdn controller server and method for analysing sdn based network traffic usage thereof
EP2515479B1 (en) Communication resource assignment system
US10200445B2 (en) Method for analyzing performance of network application program in software defined networking environment, apparatus therefor, and computer program therefor
JP2017050708A (en) Communication system, control unit, switch, communication method, and program
EP2930617A1 (en) Resource management method and device
KR20210044682A (en) System, apparatus and method for measuring delay time of service function
CN109151895B (en) Data transmission method, device, server and network center node