KR20180126868A - Method for providing dualization - Google Patents

Method for providing dualization Download PDF

Info

Publication number
KR20180126868A
KR20180126868A KR1020170061852A KR20170061852A KR20180126868A KR 20180126868 A KR20180126868 A KR 20180126868A KR 1020170061852 A KR1020170061852 A KR 1020170061852A KR 20170061852 A KR20170061852 A KR 20170061852A KR 20180126868 A KR20180126868 A KR 20180126868A
Authority
KR
South Korea
Prior art keywords
virtual machine
private
virtual
service
switch
Prior art date
Application number
KR1020170061852A
Other languages
Korean (ko)
Other versions
KR102323431B1 (en
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 KR1020170061852A priority Critical patent/KR102323431B1/en
Publication of KR20180126868A publication Critical patent/KR20180126868A/en
Application granted granted Critical
Publication of KR102323431B1 publication Critical patent/KR102323431B1/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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0695Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses

Abstract

According to an embodiment of the present invention, a dualization providing method which is performed by a software defined network (SDN) controller connected to an SDN network, comprising the steps of: detecting whether a fault occurs in a first virtual machine when the first virtual machine allocated with a first private IP provides a service for a terminal located outside an SDN; issuing a command to a second virtual machine allocated with a second private IP to start an operation thereof when the fault occurrence is detected; and controlling a virtual router which transmits traffic transmitted from an external terminal to the first virtual machine before the fault occurs, to transmit the same to the second virtual machine after the operation of the second virtual machine is started.

Description

이중화 제공 방법{METHOD FOR PROVIDING DUALIZATION}{METHOD FOR PROVIDING DUALIZATION}

본 발명은 이중화를 제공하는 방법에 관한 것이다. 보다 자세하게는 장애가 발생한 제1 가상 머신(virtual machine)과 동일한 서비스를 제공하는 제2 가상 머신을, 해당 장애의 발생 감지 이후에, 소프트웨어 정의 컨트롤러(software defined network controller, SDN 컨트롤러)에 의해 생성 또는 동작시킴으로써 이중화를 제공하는 기술에 관한 것이다The present invention relates to a method for providing redundancy. More specifically, a second virtual machine providing the same service as a first virtual machine in which a failure occurs is generated or operated by a software defined network controller (SDN controller) after detection of occurrence of the failure. ≪ RTI ID = 0.0 >

서버를 이용하여 다양한 서비스를 제공하는 서비스 공급자(service provider)는 해당 서비스를 안정적으로 제공하기 위하여 이중화(dualization) 기술을 이용한다. 이중화가 요구되는 서비스의 예로는 음성이나 데이터를 제공하는 이동통신 서비스, 뱅킹 서비스, 웹포털 서비스, 메신져 서비스 또는 게임 서비스 등이 있을 수 있다.A service provider that provides various services using a server uses a dualization technique to stably provide the service. Examples of services requiring redundancy include a mobile communication service providing voice or data, a banking service, a web portal service, a messenger service, or a game service.

여기서, 음성이나 데이터를 제공하는 이동통신 서비스나 뱅킹 서비스에는 레벨 6(6 nines 가용성(availability)(99.9999%)) 또는 레벨 5(5 nines 가용성(99.999%))과 같이 매우 높은 수준의 장애 복구(failover)가 요구된다. 즉, 해당 서비스의 경우, 액티브 상태의 서버에 장애가 발생하면, 수 내지 수십 ms 이내에서 스탠바이 상태의 서버에 의해 동일한 서비스가 제공될 수 있어야 한다.Here, a mobile communication service or banking service that provides voice or data may have a very high level of disaster recovery (such as level 6 (6 nines availability (99.9999%)) or level 5 (5 nines availability (99.999% failover is required. That is, in case of the service, if the server in the active state fails, the same service can be provided by the server in the standby state within several to several tens ms.

도 1a와 1b는 이처럼 높은 수준의 장애 복구가 요구되는 서비스를 위한 이중화 제공 방식을 도시한 도면이다. 도 1a를 참조하면, 제1 서버(2)는 10.1.1.2의 IP를 가지고 현재 서비스를 제공하는 서버를 가리킨다. 제2 서버(3)는 스탠바이 상태의 서버이며, 현재는 서비스를 제공하지 않고 대기 중에 있는 서버를 가리킨다. 제1 서버(2)와 제2 서버(3)는 주요한 정보를 동기화한다. 제2 서버(3)는 제1 서버(2)가 정상적으로 동작하는지 여부를 예컨대 heartbeat check 방식으로 체크한다. 체크 결과, 만약 제1 서버(2)에 장애가 발생하면, 도 1b에 도시된 바와 같이 그 즉시(레벨 5나 6에서 요구되는 시간 이내에) 제2 서버(3)는 제1 서버(2)를 대신하여 해당 서비스를 제공한다.FIGS. 1A and 1B are diagrams illustrating a redundancy providing method for a service requiring such a high level of failure recovery. Referring to FIG. 1A, a first server 2 refers to a server that provides an IP with an IP of 10.1.1.2. The second server 3 is a server in a standby state, and indicates a server that is currently in a standby state without providing a service. The first server (2) and the second server (3) synchronize the main information. The second server 3 checks whether the first server 2 is operating normally, for example, by a heartbeat check method. As a result of the check, if a failure occurs in the first server 2, the second server 3 immediately substitutes the first server 2 (within the time required at the level 5 or 6) And provide the corresponding service.

그런데, 도 1a와 1b에 도시된 바와 같이, 전술한 높은 수준의 장애 복구는 다음과 같은 조건이 충족되도록 시스템이 구성되어야 한다. 첫째, 제2 서버(3)의 네트워크 설정은 제1 서버(2)와 동일해야 한다. 예컨대 제2 서버(3)는 제1 서버(2)와 동일한 스위치(1)에 연결되어야 한다. 둘째, 제2 서버(2)는 스탠바이 상태라고 할지라도 상시 운용 중에 있어야 한다. 그래야만 제1 서버(2)에 장애가 발생하였을 때 제2 서버(3)가 레벨 5나 6에서 요구되는 시간 이내에 제1 서버(2)가 제공하는 것과 동일한 서비스를 제공할 수 있다.However, as shown in Figs. 1A and 1B, the above-mentioned high level of failure recovery must be configured so that the following conditions are satisfied. First, the network configuration of the second server 3 should be the same as that of the first server 2. For example, the second server 3 should be connected to the same switch 1 as the first server 2. Second, the second server 2 must be in constant operation even if it is in the standby state. The second server 3 can provide the same service as that provided by the first server 2 within the time required at the level 5 or 6 when the first server 2 fails.

한국공개특허공보, 10-2015-0111608 (2015.10.06. 공개)Korean Unexamined Patent Publication No. 10-2015-0111608 (published October 10, 2015)

이중화가 요구되는 서비스 중에는 전술한 것보다는 상대적으로 낮은 장애 복구를 요구하는 서비스가 있다. 예컨대 웹포털 서비스, 메신져 서비스 또는 게임 서비스 등에는 레벨 4(4 nines 가용성(99.99%)) 수준이 요구된다.Among the services requiring redundancy, there is a service that requires a relatively low failure recovery than the one described above. For example, level 4 (4 nines availability (99.99%)) level is required for web portal service, messenger service or game service.

이에, 본 발명의 해결하고자 하는 과제는 레벨 5나 6보다는 상대적으로 낮은 수준의 장애 복구가 요구되는 서비스에 대해, 전술한 조건(스탠바이 서버와 액티스 서버 간의 네트워크 설정 동일, 스탠바이 서버의 상시 운용)을 충족시킬 필요 없이 이중화를 제공하는 기술을 제공하는 것이다.Accordingly, a problem to be solved by the present invention is that the above-described conditions (same as the network configuration between the standby server and the actis server, and the standby operation of the standby server) are satisfied for a service requiring a relatively low level of failure recovery than the level 5 or 6, To provide redundancy without having to satisfy the requirements of the present invention.

일 실시예에 따른 소프트웨어 정의 네트워크(software defined network, SDN)에 연결된 SDN 컨트롤러에 의하여 수행되는 이중화 제공 방법은, 상기 소프트웨어 정의 네트워크의 외부에 위치한 단말에게 서비스를 제공하며 제1 사설 IP가 할당된 제1 가상 머신에 장애가 발생하였는지를 감지하는 단계와, 상기 장애 발생이 감지되면, 제2 사설 IP가 할당된 제2 가상 머신이 동작하도록 명령하는 단계와, 상기 장애의 발생 전에는 상기 외부의 단말로부터 전달된 트래픽을 상기 제1 가상 머신에게 전달하는 가상 라우터로 하여금, 상기 제2 가상 머신의 동작 개시 후에는 상기 외부의 단말로부터 전달된 트래픽을 상기 제2 가상 머신에게 전달하도록 요청하는 단계를 포함한다.A duplication providing method performed by an SDN controller connected to a software defined network (SDN) according to an exemplary embodiment of the present invention includes providing a service to a terminal located outside the software defined network and allocating a first private IP The method comprising the steps of: detecting whether a failure has occurred in a virtual machine; instructing a second virtual machine, to which a second private IP is allocated, to operate when the occurrence of the failure is detected; And requesting a virtual router for delivering traffic to the first virtual machine to forward the traffic delivered from the external terminal to the second virtual machine after the operation of the second virtual machine is started.

일 실시예에 따르면, 이중화를 위한 스탠바이 상태의 서버는 액티스 상태의 서버와 상이한 스위치에 연결되어도 된다. 따라서, 이중화를 위한 시스템 구성에 있어서 유연성(flexibility)이 증가될 수 있다. 또한, 스탠바이 서버는 상시 운용되지 않아도 된다. 예컨대, 스탠바이 서버는 액티브 상태의 서버에 장애가 발생한 이후에 생성되고 동작이 개시되어도 된다. 따라서, 스탠바이 서버의 상시 운용에 따른 자원 낭비가 더 이상 발생하지 않을 수 있다. According to one embodiment, the server in the standby state for redundancy may be connected to a different switch from the server in the actuated state. Thus, flexibility in system configuration for redundancy can be increased. Also, the standby server does not have to be operated at all times. For example, the standby server may be created and started to operate after a failure occurs in the active server. Therefore, a waste of resources due to the normal operation of the standby server may not occur any more.

도 1a와 1b는 레벨 5나 6 수준의 장애 복구가 요구되는 서비스를 위하여 이중화를 제공하는 시스템의 도면을 도시한 도면이다.
도 2는 일 실시예에 따라 이중화를 제공하는 시스템의 도면을 도시한 도면이다.
도 3은 일 실시예에 따른 이중화 제공 방법의 절차를 도시한 도면이다.
Figures 1a and 1b show a diagram of a system for providing redundancy for services requiring level 5 or 6 failover.
2 is a diagram illustrating a system for providing redundancy in accordance with one embodiment.
3 is a flowchart illustrating a method of providing a redundancy according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions in the embodiments of the present invention, which may vary depending on the intention of the user, the intention or the custom of the operator. Therefore, the definition should be based on the contents throughout this specification.

도 2를 참조하면, 시스템(100)은 이중화 제어 장치(100), 단말(200), 가상 라우터(300), 제1 가상 머신(410)과 이에 연결된 제1 스위치(411), 제2 가상 머신(420)과 이에 연결된 제2 스위치(421)로 구성된다. 아울러, 이들 구성요소들은 네트워크(500)에 의하여 연결 가능하다. 2, the system 100 includes a duplication control apparatus 100, a terminal 200, a virtual router 300, a first virtual machine 410 and a first switch 411 connected to the first virtual machine 410, (420) and a second switch (421) connected thereto. In addition, these components are connectable by the network 500.

이 때, 이중화 제어 장치(100), 가상 라우터(300), 제1 가상 머신(410)과 이에 연결된 제1 스위치(411) 그리고 제2 가상 머신(420)과 이에 연결된 제2 스위치(421)는 논리적으로 소프트웨어 정의 네트워크(software defined network)의 내부에서 서로 연결된 것일 수 있고, 단말(200)은 논리적으로 이러한 소프트웨어 정의 네트워크의 외부에 배치되어 통상적으로 사용되는 네트워크(유선 네트워크 또는 무선 네트워크)에 연결된 것일 수 있다.At this time, the redundancy control apparatus 100, the virtual router 300, the first virtual machine 410 and the first switch 411 connected thereto, and the second virtual machine 420 and the second switch 421 connected thereto May logically be interconnected within a software defined network and the terminal 200 may be logically connected to a network (wired network or wireless network) that is placed outside of such a software defined network and is typically used .

제1 가상 머신(410)과 제2 가상 머신(420)은 각각 복수 개의 물리적인 서버의 가상화 기술에 따라 생성된 가상화 서버에 구현된다. 제1 가상 머신(410)과 제2 가상 머신(420)은 각각 독자적으로 또는 다른 가상 머신과 함께 특정한 서비스를 제공할 수 있다. 예컨대, 일 실시예에 따른 제1 가상 머신(410)과 제2 가상 머신(420)은 웹포털 서비스, 메신져 서비스 또는 게임 서비스 등을 제공할 수 있다.The first virtual machine 410 and the second virtual machine 420 are each implemented in a virtualization server created according to a virtualization technique of a plurality of physical servers. The first virtual machine 410 and the second virtual machine 420 can each independently provide a specific service together with another virtual machine or the like. For example, the first virtual machine 410 and the second virtual machine 420 according to an embodiment may provide a web portal service, a messenger service, or a game service.

제1 가상 머신(410)에는 제1 사설 IP가 할당된다. 제1 사설 IP는 소프트웨어 정의 네트워크의 내부에서만 사용 또는 인식 가능하며, 소프트웨어 정의 네트워크의 외부에 배치된 객체, 예컨대 단말(200)에 의해서는 인식될 수 없다. 제2 가상 머신(420)에는 제2 사설 IP가 할당된다. 제2 사설 IP는 소프트웨어 정의 네트워크의 내부에서만 사용 또는 인식 가능하며, 소프트웨어 정의 네트워크의 외부에 배치된 객체, 예컨대 단말(200)에 의해서는 인식될 수 없다. 이 때, 제1 사설 IP는 제2 사설 IP와 상이한 IP이다.The first virtual machine 410 is assigned a first private IP. The first private IP can only be used or recognized internally in the software defined network and can not be recognized by objects located outside the software defined network, The second virtual machine 420 is assigned a second private IP. The second private IP can only be used or recognized internally in the software defined network and can not be recognized by objects located outside the software defined network, At this time, the first private IP is an IP different from the second private IP.

제1 가상 머신(410)은 제1 스위치(411)를 통해 네트워크(500)에 연결된다. 제1 스위치(411)는 제1 가상 머신(410) 내부에서 소프트웨어적으로 구현된 가상(virtual) 스위치로서, 제1 가상 머신(410)이 외부의 단말(200)과 통신할 때의 경로 상에 배치될 수 있다. 제1 스위치(411)는 제1 가상 머신(410)의 장애 여부를 SDN 컨트롤러(120)에게 전달한다.The first virtual machine 410 is connected to the network 500 via the first switch 411. The first switch 411 is a virtual switch that is implemented in software within the first virtual machine 410 and is a virtual switch that is provided on the path when the first virtual machine 410 communicates with the external terminal 200 . The first switch 411 transmits the failure of the first virtual machine 410 to the SDN controller 120.

제2 가상 머신(420)은 제2 스위치(421)를 통해 네트워크(500)에 연결된다. 제2 스위치(421)는 제2 가상 머신(420) 내부에서 소프트웨어적으로 구현된 가상(virtual) 스위치로서, 제2 가상 머신(420)이 외부의 단말(200)과 통신할 때의 경로 상에 배치될 수 있다. 제2 스위치(421)는 제2 가상 머신(420)의 장애 여부를 SDN 컨트롤러(120)에게 전달한다.The second virtual machine 420 is connected to the network 500 via the second switch 421. The second switch 421 is a virtual switch implemented in software in the second virtual machine 420 and is a virtual switch that is provided on the path when the second virtual machine 420 communicates with the external terminal 200 . The second switch 421 transfers the failure of the second virtual machine 420 to the SDN controller 120.

여기서, 제1 가상 머신(410)은 제1 스위치(411)에 연결되는 반면, 제2 가상 머신(420)은 제2 스위치(421)에 연결된다. 즉, 제1 가상 머신(410)과 제2 가상 머신(420)에 연결되는 각각의 스위치들은 서로 상이하다.Here, the first virtual machine 410 is connected to the first switch 411 while the second virtual machine 420 is connected to the second switch 421. That is, the respective switches connected to the first virtual machine 410 and the second virtual machine 420 are different from each other.

가상 라우터(300)는 제1 가상 머신(410) 또는 제2 가상 머신(420)을 외부의 단말(200)과 연결시켜주는 게이트웨이의 역할을 한다. 이러한 가상 라우터(300)는 소프트웨어 정의 네트워크에 의해 구현 및 제어될 수 있다.The virtual router 300 serves as a gateway for connecting the first virtual machine 410 or the second virtual machine 420 to the external terminal 200. [ This virtual router 300 can be implemented and controlled by a software defined network.

가상 라우터(300)는 공인 IP를 가지며, 타 라우터들에게 해당 공인 IP는 가상 라우터(300) 자신에게 라우팅해달라고 알린다.The virtual router 300 has a public IP address, and informs other routers to route the public IP address to the virtual router 300 itself.

가상 라우터(300)는 공인 IP를 제1 사설 IP와 맵핑시키는 맵핑 정보를 저장한다. 제1 사설 IP를 갖는 제1 가상 머신(410)이 외부의 단말(200)을 목적지(destination)로 하는 트래픽을 가상 라우터(300)에게 전송하면, 가상 라우터(300)는 맵핑 정보를 이용하여서 해당 트래픽이 외부의 단말(200)에게 전달되도록 한다. 이를 위해, 가상 라우터(300)는 맵핑 정보를 이용하여서 제1 사설 IP를 공인 IP로 변환한다. 또한, 외부의 단말이 공인 IP를 목적지 IP로 해서 트래픽을 가상 라우터(300)에게 전송하면, 가상 라우터(300)는 맵핑 정보를 이용하여서 해당 트래픽이 제1 가상 단말(410)에게 전달되도록 한다. 이를 위해, 가상 라우터(300)는 맵핑 정보를 이용하여서 공인 IP를 제1 사설 IP로 변환한다.The virtual router 300 stores mapping information for mapping the public IP with the first private IP. When the first virtual machine 410 having the first private IP transmits traffic to the virtual router 300 with the destination of the external terminal 200 as a destination, the virtual router 300 uses the mapping information So that the traffic is delivered to the external terminal 200. To this end, the virtual router 300 converts the first private IP to the public IP using the mapping information. When the external terminal transmits the traffic to the virtual router 300 using the public IP as the destination IP, the virtual router 300 transmits the corresponding traffic to the first virtual terminal 410 using the mapping information. To this end, the virtual router 300 converts the public IP into the first private IP using the mapping information.

가상 라우터(300)가 저장하는 맵핑 정보는 변경 가능하다. 예컨대, 가상 라우터(300)는 오픈 스택(110)으로부터 공인 IP와 맵핑되는 사설 IP를 제1 사설 IP에서 제2 사설 IP로 변경하라는 명령을 수신할 수 있으며, 그에 따라 맵핑 정보를 변경할 수 있다. The mapping information stored in the virtual router 300 is changeable. For example, the virtual router 300 can receive an instruction to change the private IP mapped to the public IP from the open stack 110 from the first private IP to the second private IP, thereby changing the mapping information accordingly.

단말(200)은 소프트웨어 정의 네트워크에 의해 제공되는 다양한 서비스를 제공받는 단말기일 수 있다. 예컨대, 스마트폰이나 스마트 패드, PC, PDA 등일 수 있다.The terminal 200 may be a terminal receiving various services provided by a software defined network. For example, it may be a smart phone, a smart pad, a PC, a PDA, or the like.

단말(200)은 전술한 서비스 각각에 할당된 공인 IP에 대한 정보를 획득할 수 있다. 획득된 공인 IP가 가상 라우터(300)가 갖는 공인 IP와 매칭된다면, 단말(200)은 해당 가상 라우터(300)를 통하여, 해당 가상 라우터(300)에 연결된 가상 머신로부터 서비스를 제공받을 수 있다.The terminal 200 can acquire information on the public IP assigned to each of the above-described services. If the acquired public IP is matched with the public IP of the virtual router 300, the terminal 200 can receive the service from the virtual machine connected to the virtual router 300 through the virtual router 300.

여기서, 단말(200)은 전술한 바와 같이 소프트웨어 정의 네트워크의 외부에 배치되므로, 소프트웨어 정의 네트워크의 내부에서만 사용/인식 가능한 제1 사설 IP 및 제2 사설 IP를 획득할 수는 없다. 단말(200)은 가상 라우터(300)에 할당된 공인 IP에 대한 정보만 획득할 수 있을 뿐이다.Here, since the terminal 200 is disposed outside the software defined network as described above, it can not obtain the first private IP and the second private IP that can be used / recognized only in the software defined network. The terminal 200 can only acquire information on the public IP assigned to the virtual router 300. [

이중화 제어 장치(100)는 서비스를 제공하는 액티브 상태의 가상 머신에 장애가 발생하는지를 감지하고, 장애가 발생하면 또 다른 가상 머신이 해당 서비스를 제공하도록 제어한다. 즉, 이중화 제어 장치(100)는 이중화의 기능을 제공한다. 이하에서는 이러한 이중화 제어 장치(100)의 구성에 대하여 살펴보도록 한다.The duplication control apparatus 100 detects whether a failure occurs in an active virtual machine providing a service and controls the other virtual machine to provide the corresponding service when a failure occurs. That is, the duplication control apparatus 100 provides a function of redundancy. Hereinafter, the configuration of the duplication control apparatus 100 will be described.

이중화 제어 장치(100)는 오픈 스택(openstack)(110)과 소프트웨어 정의 네트워크 (software defined network) 컨트롤러(120)를 포함한다. 이러한 이중화 제어 장치(100)는 후술할 기능을 수행하도록 프로그램된 명령어를 포함하는 메모리 및 이러한 명령어를 실행하는 마이크로프로세서에 의하여 구현 가능하다.The duplication control apparatus 100 includes an open stack 110 and a software defined network controller 120. This duplication control apparatus 100 can be implemented by a memory including an instruction programmed to perform a function to be described later and a microprocessor for executing such an instruction.

오픈 스택(110)에 대하여 먼저 살펴보면, 오픈 스택(110)이란 오픈 소스 클라우드 기술이며 도면에는 도시되지 않았지만 NFVI(network function virtualization infrastructure)에 설치된 가상화 OS의 한 종류이다. 오픈 스택(110) 그 자체의 구성에 대해서는 자세한 설명은 생략하기로 한다.First, the open stack 110 is an open source cloud technology, which is a type of virtualization OS installed in a network function virtualization infrastructure (NFVI), although it is not shown in the drawing. A detailed description of the configuration of the open stack 110 itself will be omitted.

오픈 스택(110)은 가상 머신을 생성, 변경, 삭제한다. 예컨대, 도 2에 도시된 제1 가상 머신(410)과 제2 가상 머신(420)은 오픈 스택(110)에 의하여 생성된 것이다.The open stack 110 creates, modifies, and deletes virtual machines. For example, the first virtual machine 410 and the second virtual machine 420 shown in FIG. 2 are generated by the open stack 110.

오픈 스택(110)은 가상 라우터(300)가 공인 IP와 사설 IP를 맵핑하도록 요청한다. 이를 위해 오픈 스택(110)은 사설 IP에 대한 정보를 가상 라우터(300)에게 전달한다. 이에 따라 가상 라우터(300)에는 공인 IP와 맵핑되는 사설 IP에 대한 맵핑 정보가 생성되어 저장된다.The open stack 110 requests the virtual router 300 to map the public IP and the private IP. To this end, the open stack 110 transmits information on the private IP to the virtual router 300. Accordingly, mapping information on the private IP mapped to the public IP is generated and stored in the virtual router 300.

오픈 스택(110)은 공인 IP와 사설 IP의 맵핑 관계에 따라서 네트워크가 설정되도록, SDN 컨트롤러(120)에게 요청한다. 이 경우, 공인 IP와 사설 IP의 맵핑 관계에 따라 네트워크가 설정된다. 따라서 제1 사설 IP를 갖는 제1 가상 머신(410)이 외부의 단말(200)을 목적지(destination)로 하는 트래픽을 가상 라우터(300)에게 전송하면, 해당 트래픽은 외부의 단말(200)에게 전달될 수 있다. 또한, 외부의 단말(200)이 공인 IP를 목적지 IP로 해서 트래픽을 가상 라우터(300)에게 전송하면, 해당 트래픽은 제1 가상 단말(410)에게 전달될 수 있다.The open stack 110 requests the SDN controller 120 to set the network according to the mapping relationship between the public IP and the private IP. In this case, the network is set according to the mapping relationship between the public IP and the private IP. Accordingly, when the first virtual machine 410 having the first private IP transmits traffic to the virtual router 300 with the external terminal 200 as a destination, the traffic is delivered to the external terminal 200 . Also, if the external terminal 200 transmits the traffic to the virtual router 300 using the public IP as the destination IP, the corresponding traffic can be delivered to the first virtual terminal 410.

SDN 컨트롤러(120)는 액티브 상태인 가상 머신을 모니터링한다. 구체적으로 살펴보면, SDN 컨트롤러(120)는 액티브 상태인 가상 머신에 연결된 스위치로부터 해당 가상 머신에 장애가 발생하였는지에 대한 정보를 전달받고, 이를 기초로 해당 가상 머신에 대한 장애 여부를 판단한다. 도 2의 경우, SDN 컨트롤러(120)는 제1 스위치(411)로부터 액티브 상태인 제1 가상 머신(410)의 상태를 전달받아서 장애 여부를 모니터링 한다.The SDN controller 120 monitors the virtual machine in the active state. Specifically, the SDN controller 120 receives information on whether a failure has occurred in the virtual machine from a switch connected to the virtual machine in an active state, and determines whether the virtual machine has failed based on the received information. In the case of FIG. 2, the SDN controller 120 receives the status of the first virtual machine 410 in an active state from the first switch 411, and monitors the failure.

SDN 컨트롤러(120)는 액티브 상태인 가상 머신에서 장애가 감지되면 오픈 스택(110)에게 장애 발생 사실을 전달한다. 또한, SDN 컨트롤러(120)는 장애가 감지되면 오픈 스택(110)에게 스탠바이 상태인 가상 머신의 생성이나 동작의 개시를 요청한다. 그에 따라 오픈 스택(110)은 스탠바이 상태인 가상 머신을 생성하거나 동작하도록 할 수 있다. 도 2의 경우, SDN 컨트롤러(120)는 액티브 상태인 제1 가상 머신(410)의 장애 발생 사실을 오픈 스택(110)에게 전달하며, 오픈 스택(110)에게 제2 가상 머신(420)의 생성 또는 동작의 개시를 요청한다. The SDN controller 120 informs the open stack 110 of the occurrence of the failure when a failure is detected in the virtual machine in the active state. In addition, when a failure is detected, the SDN controller 120 requests the open stack 110 to start the creation or operation of a virtual machine in a standby state. Thereby allowing the open stack 110 to create or operate a virtual machine that is in a standby state. 2, the SDN controller 120 transmits the fault occurrence of the first virtual machine 410 in an active state to the open stack 110 and informs the open stack 110 of the occurrence of the second virtual machine 420 Or the start of operation.

즉, 일 실시예에 따르면, 액티브 상태인 가상 머신에 장애가 발생하면, 그 이후에 스탠바이 상태인 가상 머신이 생성되거나 또는 동작이 개시된다. 따라서, 스탠바이 상태인 가상 머신이 상시 운용될 필요가 없으므로, 상시 운용에 따른 자원 낭비가 제거될 수 있다. 이 때, 제1 가상 머신에 장애가 발생하여서 서비스가 중단되었다가 제2 가상 머신에 의하여 서비스가 재개될 때까지의 소요되는 시간은 레벨 4에서 요구하는 기준을 만족시킬 수 있다.That is, according to one embodiment, when a failure occurs in a virtual machine that is in an active state, a virtual machine that is in a standby state is created or started after that. Therefore, since the virtual machine in the standby state does not need to be operated at all times, resource waste due to normal operation can be eliminated. In this case, the time required until the service is restarted by the second virtual machine after the service is stopped due to the failure of the first virtual machine can satisfy the criterion required at the level 4.

또한, 스탠바이 상태인 가상 머신과 액티브 상태인 가상 머신이 동일한 스위치에 연결될 필요가 없다. 따라서, 이중화를 제공하는 시스템을 구성함에 있어서 유연성이 제공될 수 있다.In addition, a virtual machine in a standby state and a virtual machine in an active state need not be connected to the same switch. Thus, flexibility can be provided in constructing a system that provides redundancy.

도 3은 일 실시예에 따른 이중화 제공 방법의 절차를 도시한 도면이다. 도 3에 도시된 이중화 제공 방법은 도 2에 도시된 SDN 컨트롤러(110)에 의하여 수행 가능하다. 아울러, 도 3에 도시된 절차는 예시적인 것에 불과하므로, 본 발명의 사상이 이에 한정 해석되는 것은 아니다.3 is a flowchart illustrating a method of providing a redundancy according to an embodiment of the present invention. The duplication providing method shown in FIG. 3 can be performed by the SDN controller 110 shown in FIG. In addition, the procedure shown in FIG. 3 is merely an example, and thus the spirit of the present invention is not limited thereto.

도 3을 참조하기에 앞서, 물리 스위치(310)는 가상 라우터(300)와 연계되어서, 제1 가상 머신(410)과 제2 가상 머신(420)에 대한 게이트웨이의 역할을 수행하는 구성이며, 통상적으로 사용되는 스위치를 의미한다.3, the physical switch 310 is a configuration that is associated with the virtual router 300 and serves as a gateway to the first virtual machine 410 and the second virtual machine 420, Quot; switch "

도 3을 참조하면, 먼저 오픈 스택(110)은 제1 가상 머신(410)이 액티브 상태에서 단말(200)에게 서비스를 제공하도록, 즉 동작을 개시하도록 명령한다(S100). 이 때의 제1 가상 머신(410)은 오픈 스택(110)에 의하여 사전에 생성된 것일 수 있다.Referring to FIG. 3, first, the open stack 110 instructs the first virtual machine 410 to provide a service to the terminal 200 in an active state, that is, to start an operation (SlOO). The first virtual machine 410 at this time may be previously generated by the open stack 110.

다음으로, 액티브 상태인 제1 가상 머신(410)의 장애 여부가 SDN 컨트롤러(110)에게 보고된다(S110). 보다 구체적으로 살펴보면, 이러한 보고는 제1 가상 머신(410)의 내부에 소프트웨어적으로 구현된 제1 스위치(411)에 의하여 주기적으로 또는 장애가 발생하면 수행될 수 있다.Next, the failure of the first virtual machine 410 in the active state is reported to the SDN controller 110 (S110). More specifically, such a report may be periodically performed by the first switch 411 implemented in the first virtual machine 410 or when a failure occurs.

다음으로 오픈 스택(110)은 가상 라우터(300)가 공인 IP와 사설 IP를 맵핑하도록 요청한다(S120). 이를 위해 오픈 스택(110)은 공인 IP와 맵핑되어야 하는 사설 IP에 대한 정보를 가상 라우터(300)에게 전달한다. 이에 따라 가상 라우터(300)에는 공인 IP와 맵핑되는 사설 IP에 대한 맵핑 정보가 생성되어 저장된다.Next, the open stack 110 requests the virtual router 300 to map the public IP and the private IP (S120). To this end, the open stack 110 transmits information on the private IP to be mapped to the public IP to the virtual router 300. Accordingly, mapping information on the private IP mapped to the public IP is generated and stored in the virtual router 300.

다음으로, 오픈 스택(110)은 공인 IP와 사설 IP의 맵핑 관계에 따라서 네트워크가 설정되도록, SDN 컨트롤러(120)에게 요청한다(S130). 오픈 스택(110)으로부터의 이러한 요청에 따라 SDN 컨트롤러(120)는 공인 IP와 사설 IP의 맵핑 관계에 따라서 네트워크가 설정되도록 물리 스위치를 설정한다(S140). Next, the open stack 110 requests the SDN controller 120 to set the network according to the mapping relationship between the public IP and the private IP (S130). In response to the request from the open stack 110, the SDN controller 120 sets a physical switch so that the network is set according to the mapping relationship between the public IP and the private IP (S140).

이부터는 제1 가상 머신(410)에 의하여 서비스가 제공된다. 이에 대하여 구체적으로 살펴보면, 외부의 단말(200)은 서비스를 요청하면서 공인 IP를 목적지 IP로 해서 트래픽을 가상 라우터(300)에게 전송한다(S210). 가상 라우터(300)는 맵핑 정보를 이용하여서 공인 IP를 제1 가상 머신(410)에 할당된 제1 사설 IP로 변환한 뒤, 해당 트래픽과 함께 변환된 제1 사설 IP에 대한 정보를 물리 스위치(310)에게 전달한다(S220). 물리 스위치(310)는 해당 트래픽을 제1 사설 IP를 갖는 제1 가상 머신(410)에게 전송한다(S230). 이후에는 역순으로, 즉 제1 가상 머신(410)에서 물리 스위치(310)에게(S240), 물리 스위치(310)에서 가상 라우터(300)에게(S250), 가상 라우터(250)에서 단말(200)에게(S260) 응답이 이루어진다.The service is provided by the first virtual machine 410. In detail, the external terminal 200 requests the service and transmits the traffic to the virtual router 300 using the public IP as the destination IP (S210). The virtual router 300 converts the public IP into the first private IP address assigned to the first virtual machine 410 using the mapping information and then transmits the converted information of the first private IP to the physical switch 310 (S220). The physical switch 310 transmits the traffic to the first virtual machine 410 having the first private IP (S230). The physical switch 310 from the physical switch 310 to the virtual router 300 in step S250 and the virtual router 250 from the terminal 200 in the reverse order, that is, in the first virtual machine 410, (S260).

한편, 제1 가상 머신(410)에 의하여 서비스가 제공되는 중에, 제1 가상 머신(410)에 장애가 발생할 수 있다(S300). 그러면, 제1 가상 머신(410)에 연결된 제1 스위치(411)는 SDN 컨트롤러(110)에게 장애 발생 사실을 보고한다(S310). SDN 컨트롤러(110)는 오픈 스택(120)에게 장애를 보고하고, 스탠바이 상태의 가상 머신, 예컨대 제2 가상 머신(420)에 대한 동작의 개시를 요청한다(S320). Meanwhile, while the service is provided by the first virtual machine 410, the first virtual machine 410 may fail (S300). Then, the first switch 411 connected to the first virtual machine 410 reports the failure occurrence to the SDN controller 110 (S310). The SDN controller 110 reports the failure to the open stack 120 and requests the virtual machine in the standby state, e.g., the second virtual machine 420, to start the operation (S320).

오픈 스택(110)은 현재의 서버 중에서 유휴 자원이 있는 서버를 활용하여 제2 가상 머신(420)을 생성한 뒤 제1 가상 머신(410)이 제공하는 것과 동일한 서비스를 제2 가상 머신(420)이 제공하도록 동작 개시를 명령한다(S330). 다만, 이와 달리 오픈 스택(110)은 이미 생성되어 있는 제2 가상 머신(420)에게 제1 가상 머신(410)이 제공하는 것과 동일한 서비스를 제공하도록 제2 가상 머신(420)의 동작 개시를 명령할 수도 있다.The open stack 110 creates a second virtual machine 420 using a server having idle resources among the current servers and then transmits the same service as that provided by the first virtual machine 410 to the second virtual machine 420. [ (Step S330). Alternatively, the open stack 110 may instruct the second virtual machine 420, which has already been created, to start the operation of the second virtual machine 420 so as to provide the same service as that provided by the first virtual machine 410 You may.

다음으로, 제2 가상 머신(420)의 장애 여부가 SDN 컨트롤러(110)에 의해 모니터링된다(S340). 보다 구체적으로 살펴보면, 이러한 모니터링은 제2 가상 머신(420)의 내부에 소프트웨어적으로 구현된 제2 스위치(412)에 의하여 주기적으로 또는 장애가 발생하면 수행될 수 있다.Next, the failure of the second virtual machine 420 is monitored by the SDN controller 110 (S340). More specifically, this monitoring can be performed periodically or when a failure occurs by the second switch 412 implemented in software in the second virtual machine 420.

다음으로 오픈 스택(110)은 가상 라우터(300)가 공인 IP와 제2 사설 IP를 맵핑하도록 요청한다(S350). 이를 위해 오픈 스택(110)은 공인 IP와 맵핑되어야 하는 사설 IP에 대한 정보, 즉 제2 사설 IP에 대한 정보를 가상 라우터(300)에게 전달한다. 이에 따라 가상 라우터(300)에 기존에 저장된 맵핑 정보가 변경되어 저장된다.Next, the open stack 110 requests the virtual router 300 to map the public IP and the second private IP (S350). To this end, the open stack 110 transmits information on the private IP to be mapped to the public IP, that is, information on the second private IP to the virtual router 300. Accordingly, the mapping information stored in the virtual router 300 is changed and stored.

다음으로, 오픈 스택(110)은 공인 IP와 제2 사설 IP의 맵핑 관계에 따라서 네트워크가 설정되도록, SDN 컨트롤러(120)에게 요청한다(S360). 오픈 스택(110)으로부터의 이러한 요청에 따라 SDN 컨트롤러(120)는 공인 IP와 제2 사설 IP의 맵핑 관계에 따라서 네트워크가 설정되도록 물리 스위치를 설정한다(S370). Next, the open stack 110 requests the SDN controller 120 to set the network according to the mapping relationship between the public IP and the second private IP (S360). In response to the request from the open stack 110, the SDN controller 120 sets up the physical switch so that the network is set according to the mapping relationship between the public IP and the second private IP (S370).

이후부터는, 예컨대 제2 가상 머신(420)이 동작을 개시한 이후에는 제2 가상 머신(420)에 의하여 서비스가 제공된다(S400). 이에 대하여 구체적으로 살펴보면, 외부의 단말(200)이 공인 IP를 목적지 IP로 해서 트래픽을 가상 라우터(300)에게 전송하면서 서비스를 요청하면, 가상 라우터(300)는 맵핑 정보를 이용하여서 공인 IP를 제2 사설 IP로 변환한 뒤, 해당 트래픽과 함께 변환된 제2 사설IP에 대한 정보를 물리 스위치(310)에게 전달한다. 물리 스위치(310)는 해당 트래픽을 제2 사설 IP를 갖는 제2 가상 머신(420)에게 전송한다. 그에 따라 제2 가상 머신(420)은 전송된 트래픽에 대해 물리 스위치(310)에게 응답을 하고, 물리 스위치(310)는 가상 라우터(300)에게 응답을 하며, 가상 라우터(300)는 단말(200)에게 응답을 한다.Thereafter, the service is provided by the second virtual machine 420, for example, after the second virtual machine 420 starts operation (S400). Specifically, when the external terminal 200 requests the service while transmitting the traffic to the virtual router 300 using the public IP as the destination IP, the virtual router 300 transmits the public IP to the virtual router 300 using the mapping information. 2 private IP, and transmits information on the converted second private IP together with the traffic to the physical switch 310. The physical switch 310 transmits the traffic to the second virtual machine 420 having the second private IP. The second virtual machine 420 responds to the physical switch 310 with respect to the transmitted traffic and the physical switch 310 responds to the virtual router 300. The virtual router 300 transmits the response to the terminal 200 ).

따라서, 일 실시예에 따르면, 액티브 상태인 가상 머신에 장애가 발생한 이후에 스탠바이 상태인 가상 머신이 생성되거나 또는 동작이 개시된다. 따라서, 스탠바이 상태인 가상 머신이 상시 운용될 필요가 없으므로, 상시 운용에 따른 자원 낭비가 제거될 수 있다. Thus, according to one embodiment, a virtual machine that is in a standby state is created or started after a failure occurs in the active virtual machine. Therefore, since the virtual machine in the standby state does not need to be operated at all times, resource waste due to normal operation can be eliminated.

또한, 스탠바이 상태인 가상 머신과 액티브 상태인 가상 머신이 동일한 스위치에 연결될 필요가 없다. 따라서, 이중화를 제공하는 시스템을 구성함에 있어서 유연성이 제공될 수 있다.In addition, a virtual machine in a standby state and a virtual machine in an active state need not be connected to the same switch. Thus, flexibility can be provided in constructing a system that provides redundancy.

한편, 전술한 이중화 제공 방법은 이러한 방법에 포함된 절차가 수행되도록 프로그램된 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램의 형태로 구현 가능하며, 또는 이러한 방법에 포함된 절차가 수행되도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체의 형태로 구현 가능하다.On the other hand, the duplication providing method described above can be implemented in the form of a computer program stored in a computer-readable recording medium that is programmed to perform the procedures included in the method, or a computer program programmed to perform the procedures included in the method And a computer-readable recording medium storing the program.

본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each step of the flowchart and each block of the block diagrams appended to the present invention may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus so that the instructions, which may be executed by a processor of a computer or other programmable data processing apparatus, And means for performing the functions described in each step are created. These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory It is also possible for the instructions stored in the block diagram to produce a manufacturing item containing instruction means for performing the functions described in each block or flowchart of the block diagram. Computer program instructions may also be stored on a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible that the instructions that perform the processing equipment provide the steps for executing the functions described in each block of the block diagram and at each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications and changes may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

일 실시예에 따르면, 스탠바이 상태인 가상 머신이 상시 운용될 필요가 없으므로, 상시 운용에 따른 자원 낭비가 제거될 수 있다. According to one embodiment, since the virtual machine in the standby state does not need to be operated at all times, resource waste due to normal operation can be eliminated.

또한, 이중화를 제공하는 시스템을 구성함에 있어서 유연성이 제공될 수 있다.Flexibility can also be provided in constructing a system that provides redundancy.

100: 이중화 제공 장치
110: 오픈 스택
120: SDN 컨트롤러
200: 단말
300: 가상 라우터
100: Redundant device
110: Open stack
120: SDN controller
200: terminal
300: Virtual Router

Claims (4)

소프트웨어 정의 네트워크(software defined network, SDN)에 연결된 SDN 컨트롤러에 의하여 수행되는 이중화 제공 방법으로서, 제1 사설 IP가 할당된 제1 가상 머신이 상기 소프트웨어 정의 네트워크의 외부에 위치한 단말에게 서비스를 제공하는 경우,
상기 제1 가상 머신에 장애가 발생하였는지를 감지하는 단계와,
상기 장애 발생이 감지되면, 제2 사설 IP가 할당된 제2 가상 머신이 동작을 개시하도록 명령하는 단계와,
상기 장애의 발생 전에는 상기 외부의 단말로부터 전달된 트래픽을 상기 제1 가상 머신에게 전달하는 가상 라우터로 하여금, 상기 제2 가상 머신의 동작 개시 후에는 상기 외부의 단말로부터 전달된 트래픽을 상기 제2 가상 머신에게 전달하도록 제어하는 단계를 포함하는
이중화 제공 방법.
A duplication providing method performed by an SDN controller connected to a software defined network (SDN), wherein when a first virtual machine to which a first private IP is allocated provides a service to a terminal located outside the software defined network ,
Detecting whether the first virtual machine has failed;
When the occurrence of the failure is detected, instructing a second virtual machine assigned a second private IP to start operation;
Wherein the second virtual machine is configured to transmit the traffic from the external terminal to the first virtual machine before the occurrence of the failure, To the machine,
Providing redundancy.
제 1 항에 있어서,
상기 제2 가상 머신은,
상기 명령에 따라 상기 SDN에 연결된 오픈 스택(openstack)에 의하여 생성된 후 동작이 개시되는
이중화 제공 방법.
The method according to claim 1,
Wherein the second virtual machine comprises:
Is generated by an open stack connected to the SDN according to the command,
Providing redundancy.
제 1 항에 있어서,
상기 제1 가상 머신이 상기 외부의 단말과 연결되는 경로 상의 스위치는 상기 제2 가상 머신이 상기 외부의 단말과 연결되는 경로 상의 스위치와 서로 상이한
이중화 제공 방법.
The method according to claim 1,
Wherein the switch on the path where the first virtual machine is connected to the external terminal is different from the switch on the path where the second virtual machine is connected to the external terminal
Providing redundancy.
제 1 항에 있어서,
상기 장애 발생에 따라 상기 서비스의 제공이 상기 외부의 단말에게 중단되는 시간은, 레벨 4의 가용성(availability)을 만족시키는
이중화 제공 방법.
The method according to claim 1,
The time when the provision of the service is stopped to the external terminal according to the occurrence of the failure satisfies the availability of the level 4
Providing redundancy.
KR1020170061852A 2017-05-18 2017-05-18 Method for providing dualization KR102323431B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170061852A KR102323431B1 (en) 2017-05-18 2017-05-18 Method for providing dualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170061852A KR102323431B1 (en) 2017-05-18 2017-05-18 Method for providing dualization

Publications (2)

Publication Number Publication Date
KR20180126868A true KR20180126868A (en) 2018-11-28
KR102323431B1 KR102323431B1 (en) 2021-11-09

Family

ID=64561654

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170061852A KR102323431B1 (en) 2017-05-18 2017-05-18 Method for providing dualization

Country Status (1)

Country Link
KR (1) KR102323431B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150043383A1 (en) * 2013-08-07 2015-02-12 Telefonaktiebolaget L M Ericsson (Publ) Automatic establishment of redundant paths with cautious restoration in a packet network
KR20150111608A (en) 2014-03-26 2015-10-06 에스케이텔레콤 주식회사 Method for duplication of virtualization server and Virtualization control apparatus thereof
US20160112246A1 (en) * 2014-10-17 2016-04-21 International Business Machines Corporation Identifying configuration inconsistency in edge-based software defined networks (sdn)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150043383A1 (en) * 2013-08-07 2015-02-12 Telefonaktiebolaget L M Ericsson (Publ) Automatic establishment of redundant paths with cautious restoration in a packet network
KR20150111608A (en) 2014-03-26 2015-10-06 에스케이텔레콤 주식회사 Method for duplication of virtualization server and Virtualization control apparatus thereof
US20160112246A1 (en) * 2014-10-17 2016-04-21 International Business Machines Corporation Identifying configuration inconsistency in edge-based software defined networks (sdn)

Also Published As

Publication number Publication date
KR102323431B1 (en) 2021-11-09

Similar Documents

Publication Publication Date Title
KR101099822B1 (en) Redundant routing capabilities for a network node cluster
CN100527716C (en) Method and gateway equipment for resuming service after switching status of main/standby gateway device
CN108075971B (en) Main/standby switching method and device
CN106533736B (en) Network equipment restarting method and device
WO2015074396A1 (en) Automatic configuration method, device and system of software defined network
US20070270984A1 (en) Method and Device for Redundancy Control of Electrical Devices
CN104869057A (en) OpeFlow switch graceful restart processing method, device and OpeFlow controller
CN112583708A (en) Connection relation control method and device and electronic equipment
KR20150002474A (en) Methods for recovering failure in communication networks
CN112564983B (en) Data transmission method, device, computer system and medium
CN104935614B (en) Data transmission method and device
CN113254205A (en) Load balancing system, method and device, electronic equipment and storage medium
MXPA02006896A (en) Method and apparatus for providing reliable communications in an intelligent network.
JP2021061478A (en) Relay device, relay system, and relay program
CN109412943B (en) SDN controller cluster flow processing method, device, equipment and storage medium
KR102323431B1 (en) Method for providing dualization
CN110417599B (en) Main/standby node switching method and node server
US10536875B2 (en) System and method for seamless TCP connection handoff
CN108174417B (en) Main/standby switching method and device, related electronic equipment and readable storage medium
US9019964B2 (en) Methods and systems for routing application traffic
CN113286321B (en) Backup management method, device, equipment and machine readable storage medium
WO2021259097A1 (en) Communication method, communication device, and storage medium
JP2009278436A (en) Communication system and redundant configuration management method
JP2019045957A (en) Transmission/reception system, control method of transmission/reception system, and relay device
JP6674272B2 (en) Information processing method and control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant