KR101757257B1 - Sdn 기반의 장애회복을 위한 동적제어장치 및 그 방법 - Google Patents

Sdn 기반의 장애회복을 위한 동적제어장치 및 그 방법 Download PDF

Info

Publication number
KR101757257B1
KR101757257B1 KR1020160104920A KR20160104920A KR101757257B1 KR 101757257 B1 KR101757257 B1 KR 101757257B1 KR 1020160104920 A KR1020160104920 A KR 1020160104920A KR 20160104920 A KR20160104920 A KR 20160104920A KR 101757257 B1 KR101757257 B1 KR 101757257B1
Authority
KR
South Korea
Prior art keywords
physical network
information
application program
change
network
Prior art date
Application number
KR1020160104920A
Other languages
English (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 KR1020160104920A priority Critical patent/KR101757257B1/ko
Application granted granted Critical
Publication of KR101757257B1 publication Critical patent/KR101757257B1/ko

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
    • 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/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0618Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on the physical or logical position
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Abstract

본 발명은 장애발생 시 물리적 네트워크의 변경에 따른 응용 프로그램에 대한 정보변경 요구여부를 확인한 결과에 기초하여 장애발생과 무관하게 지속적인 서비스가 제공되도록 하는 SDN 기반의 장애회복을 위한 동적제어 장치 및 그 방법을 제안한다.

Description

SDN 기반의 장애회복을 위한 동적제어장치 및 그 방법{METHOD AND APPARATUS FOR DYNAMIC CONTROL FOR RECOVERYING ERROR BASED ON SOFTWARE DEFINED NETWORK ENVIROMENT}
본 발명은 소프트웨어 정의 네트워크(Software Defined Network) 환경에서의 네트워크 상황에 적합한 장애 복구 기술에 관한 것으로, 더욱 상세하게는, 장애발생 시 물리적 네트워크의 변경에 따른 응용 프로그램에 대한 정보변경 요구여부를 확인한 결과에 기초하여 장애발생과 무관하게 지속적인 서비스가 제공되도록 하기 위한 방안에 관한 것이다.
소프트웨어 정의 네트워크(Software Defined Network, 이하 SDN)는 라우터나 스위치 등의 기본적인 하드웨어 네트워크 장치에 대하여 사용자가 통제 권한을 가지며, 별도의 소프트웨어 컨트롤러가 트래픽 흐름을 제어하는 사용자 중심의 네트워크를 의미한다.
이러한 SDN은 컨트롤러 기반으로 응용 프로그램을 구동하여 서비스를 제공하게 된다. 즉, SDN의 컨트롤러는 물리적 네트워크의 토폴로지 정보를 사우스바운드 API(Southbound API)를 통하여 자동으로 획득하며, 응용 프로그램의 정보를 노스바운드 API(Northbound API)를 통하여 획득하고, 이를 기반으로 물리적 네트워크를 활용한 다양한 서비스를 제공하게 된다.
그러나, 컨트롤러의 장애가 발생하여 재실행되는 경우에는 물리적 네트워크에 대한 정보는 자동으로 획득 가능하지만, 응용 프로그램에 대한 정보는 손실되어 원활한 서비스의 제공이 불가능해 지는 한계점이 있다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 장애발생 시 물리적 네트워크의 변경에 따른 응용 프로그램에 대한 정보변경 요구여부를 확인한 결과에 기초하여 응용프로그램정보의 갱신이 동적으로 수행되도록 함으로써, 컨트롤러의 장애발생과 무관하게 지속적인 서비스가 제공되도록 하는데 있다.
또한, 본 발명에서 도달하고자 하는 목적은, 물리적 네트워크가 변경되더라도 네트워크 상황에 따라 동적으로 응용프로그램정보의 갱신여부가 결정됨에 따라 불필요한 자원 낭비를 미연에 방지할 수 있어 최소한의 자원을 기반으로 원활한 서비스가 제공되도록 하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 소프트웨어 정의 네트워크에서의 동적제어장치는 소프트웨어 정의 네트워크를 기반으로 생성되는 물리적 네트워크에 대한 물리네트워크정보를 관리하는 물리네트워크정보관리부; 상기 물리적 네트워크를 이용한 서비스 제공과 관련하여 응용 프로그램을 통해 확인되는 제어관련정보를 관리하는 응용프로그램정보관리부; 및 장애발생으로 재실행되는 경우, 상기 물리적 네트워크의 변경여부를 판단한 결과에 기초하여 상기 응용 프로그램에 대한 응용프로그램정보의 갱신여부를 결정하는 제어부를 포함하는 것을 특징으로 한다.
기 설정된 주기로 상기 물리네트워크정보 및 상기 제어관련정보를 수신하여 저장하는 저장부를 더 포함하며, 상기 제어관련정보는, 상기 응용 프로그램을 통해 사용자로부터 입력되는 사용자요청명령 및 상기 응용프로그램과 관련하여 발생되는 임의의 이벤트의 실행을 위한 이벤트관련명령 중 적어도 하나를 포함하는 것을 특징으로 한다.
상기 물리네트워크정보관리부는, 사우스바운드 API(Southbound API)와의 연동을 통해 상기 물리적 네트워크로부터 상기 물리네트워크정보를 획득하여 상기 저장부에 저장하며, 상기 응용프로그램정보관리부는, 노스바운드 API(Northbound API)와의 연동을 통해 상기 응용 프로그램으로부터 상기 제어관련정보를 획득하여 상기 저장부에 저장하는 것을 특징으로 한다.
상기 제어부는, 상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보를 비교한 결과에 기초하여 상기 물리적 네트워크의 변경여부를 판단하는 것을 특징으로 한다.
상기 제어부는, 상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하면, 상기 물리적 네트워크의 변경이 발생되지 않은 것으로 판단하여 상기 물리적 네트워크에 해당하는 상기 응용 프로그램에 대하여 기 저장된 응용프로그램정보를 획득하며, 상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않으면, 상기 물리적 네트워크의 변경이 발생된 것으로 판단하고, 상기 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한 결과에 기초하여 상기 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 획득하는 것을 특징으로 한다.
상기 제어부는, 상기 응용 프로그램에 대한 정보변경이 요구되지 않는 경우, 상기 기 저장된 응용프로그램정보를 획득하며, 상기 응용 프로그램에 대한 정보변경이 요구되는 경우, 상기 변경된 물리적 네트워크에 대한 물리적네트워크정보와 기 저장된 제어관련정보를 기반으로 갱신을 수행하여 상기 변경된 물리적 네트워크에 해당하는 상기 응용 프로그램에 대한 상기 신규 응용프로그램정보를 획득하는 것을 특징으로 한다.
상기 응용 프로그램이 최적 경로 기반 제1 응용 프로그램일 때 트리 구조의 제1 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제1 물리적 네트워크에 대한 제1 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우, 상기 제어부는, 상기 제1 물리적 네트워크를 이용하는 참여 호스트들 간의 데이터 전송의 요구 대역폭이 만족되지 않으면, 상기 제1 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 생성하는 것을 특징으로 한다.
상기 응용 프로그램이 다중 경로 기반 제2 응용 프로그램일 때 다중 경로를 포함하는 제2 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제2 물리적 네트워크에 대한 제2 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우, 상기 제어부는, 상기 제2 물리적 네트워크에 포함되는 상기 다중 경로의 전체 개수 중 특정개수 이하의 경로만이 대체 경로로 이용 가능하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 조건이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 획득하며, 상기 특정개수를 초과하는 상기 대체 경로가 존재하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 조건이 요구되지 않는 것으로 판단하여 상기 기 저장된 응용프로그램정보를 획득하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명에 따른 소프트웨어 정의 네트워크에서의 동적제어방법은 소프트웨어 정의 네트워크를 기반으로 생성되는 물리적 네트워크에 대한 물리네트워크정보를 관리하는 물리네트워크정보관리단계; 상기 물리적 네트워크를 이용한 서비스 제공과 관련하여 응용 프로그램을 통해 확인되는 제어관련정보를 관리하는 응용프로그램정보관리단계; 및 장애발생으로 재실행되는 경우, 상기 물리적 네트워크의 변경여부를 판단한 결과에 기초하여 상기 응용 프로그램에 대한 응용프로그램정보의 갱신여부를 결정하는 제어단계를 포함하는 것을 특징으로 한다.
기 설정된 주기로 상기 물리네트워크정보 및 상기 제어관련정보를 수신하여 저장하는 저장단계를 더 포함하며, 상기 제어관련정보는, 상기 응용 프로그램을 통해 사용자로부터 입력되는 사용자요청명령 및 상기 응용프로그램과 관련하여 발생되는 임의의 이벤트의 실행을 위한 이벤트관련명령 중 적어도 하나를 포함하는 것을 특징으로 한다.
상기 물리네트워크정보관리단계는, 사우스바운드 API(Southbound API)와의 연동을 통해 상기 물리적 네트워크로부터 상기 물리네트워크정보를 획득하며, 상기 응용프로그램정보관리단계는, 노스바운드 API(Northbound API)와의 연동을 통해 상기 응용 프로그램으로부터 상기 제어관련정보를 획득하는 것을 특징으로 한다.
상기 제어단계는, 상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보를 비교한 결과에 기초하여 상기 물리적 네트워크의 변경여부를 판단하는 것을 특징으로 한다.
상기 제어단계는, 상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하면, 상기 물리적 네트워크의 변경이 발생되지 않은 것으로 판단하여 상기 물리적 네트워크에 해당하는 상기 응용 프로그램에 대하여 기 저장된 응용프로그램정보를 획득하는 네트워크유지단계; 및 상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않으면, 상기 물리적 네트워크의 변경이 발생된 것으로 판단하고, 상기 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한 결과에 기초하여 상기 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 획득하는 네트워크변경단계를 포함하는 것을 특징으로 한다.
상기 네트워크변경단계는, 상기 응용 프로그램에 대한 정보변경이 요구되지 않는 경우, 상기 기 저장된 응용프로그램정보를 획득하며, 상기 응용 프로그램에 대한 정보변경이 요구되는 경우, 상기 변경된 물리적 네트워크에 대한 물리적네트워크정보와 기 저장된 제어관련정보를 기반으로 갱신을 수행하여 상기 변경된 물리적 네트워크에 해당하는 상기 응용 프로그램에 대한 상기 신규 응용프로그램정보를 획득하는 것을 특징으로 한다.
상기 응용 프로그램이 최적 경로 기반 제1 응용 프로그램일 때 트리 구조의 제1 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제1 물리적 네트워크에 대한 제1 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우, 상기 네트워크변경단계는, 상기 제1 물리적 네트워크를 이용하는 참여 호스트들 간의 데이터 전송의 요구 대역폭이 만족되지 않으면, 상기 제1 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 생성하는 것을 특징으로 한다.
상기 응용 프로그램이 다중 경로 기반 제2 응용 프로그램일 때 다중 경로를 포함하는 제2 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제2 물리적 네트워크에 대한 제2 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우, 상기 네트워크변경단계는,
상기 제2 물리적 네트워크에 포함되는 상기 다중 경로의 전체 개수 중 특정개수 이하의 경로만이 대체 경로로 이용 가능하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 조건이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 획득하며, 상기 특정개수를 초과하는 상기 대체 경로가 존재하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 조건이 요구되지 않는 것으로 판단하여 상기 기 저장된 응용프로그램정보를 획득하는 것을 특징으로 한다.
이에, 본 발명의 SDN 기반의 장애회복을 위한 동적제어 장치 및 그 방법에 의하면, 장애발생 시 물리적 네트워크의 변경에 따른 응용 프로그램에 대한 정보변경 요구여부를 확인한 결과에 기초하여 응용프로그램정보의 갱신이 동적으로 수행되도록 함으로써, 컨트롤러의 장애발생과 무관하게 지속적인 서비스를 제공할 수 있다.
또한, 본 발명의 SDN 기반의 장애회복을 위한 동적제어 장치 및 그 방법에 의하면, 물리적 네트워크가 변경되더라도 네트워크 상황에 따라 동적으로 응용프로그램정보의 갱신여부가 결정됨에 따라 불필요한 자원 낭비를 미연에 방지할 수 있어 최소한의 자원을 기반으로 원활한 서비스를 제공할 수 있는 효과가 성취된다.
도 1은 본 발명의 일 실시예에 따른 동적제어장치가 적용될 통신 환경을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크에서의 동적제어장치의 개략적인 구성도를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 응용 프로그램에 대한 정보변경이 항시 요구되는 일례의 일례를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 특정조건에 따라 응용 프로그램에 대한 정보변경이 요구되는 일례의 일례를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 동적제어장치에서 수행되는 소프트웨어 정의 네트워크에서의 장애 복구를 위한 동적 제어 흐름을 나타내는 도면이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.
먼저, 도 1을 참조하여 본 발명의 SDN 기반의 장애회복을 위한 동적제어장치(이하, 동적제어장치)가 적용될 통신 환경을 설명하도록 하겠다.
도 1에 도시된 바와 같이, 본 발명이 적용될 소프트웨어 정의 네트워크(Software Defined Network, 이하 SDN) 환경은, 인프라스트럭처 계층(Infrastructure Layer)(A1), 제어 계층(Control Layer)(A2) 및 응용 계층(Application Layer)(A3)을 포함하는 구성을 가질 수 있다.
인프라스트럭처 계층(A1)은, 물리적 네트워크(100)가 구현되는 영역으로서, 데이터 플레인(data plane)의 기능을 수행하는 것과 관련된다.
여기서, 데이터 플레인(data plane)의 기능은, 일반적인 하드웨어나 소프트웨어 스위치에 의해 수행되던 네트워크 패킷 데이터의 전달, 무시, 변경 등을 수행하는 것일 수 있다.
이러한 인프라스트럭처 계층(A1)에 구현되는 물리적 네트워크(100)는, 적어도 하나의 스위치, 라우터, 링크 및 호스트 등에 의해 구현되는 기본적인 하드웨어 네트워크 장치를 의미한다.
제어 계층(A2)는, 인프라스트럭처 계층(A1)과 응용 계층(A3) 사이에서 위치하며, 사용자가 원하는 대로 물리적 네트워크(100)의 경로가 설정되고 관련 정책이 전달되도록 하기 위한 명령 등을 전달하는 제어 플레인(control plane)의 기능을 수행하는 것과 관련된다.
이러한 제어 계층(A2)에는, SDN 환경에서의 서비스 제공을 위한 전반적인 제어 동작을 수행하는 동적제어장치(200)가 구현될 수 있다.
본 발명의 일 실시예에 따른 동적제어장치(200)는, 응용 계층(A3)으로부터 서비스 제공과 관련되는 제어관련정보를 수신하여 사용자가 원하는 대로 물리적 네트워크(100)가 구성되도록 하기 위한 장치로서, 특히 본 발명에서 제안하고자 하는 동적제어장치(200)의 장애가 발생되어 재실행되었을 때 물리적 네트워크(100)의 변경에 따른 응용 프로그램(300)에 대한 정보변경 요구여부를 확인한 결과에 기초하여 장애발생과 무관하게 지속적인 서비스가 제공되도록 제어하는 기능을 수행하기 위한 장치이다.
여기서, 제어관련정보는, 응용 프로그램(300)을 통해 사용자로부터 입력되는 사용자요청명령, 및 응용프로그램(300)과 관련하여 발생되는 임의의 이벤트의 실행을 위한 이벤트관련명령 중 적어도 하나를 포함할 수 있다.
응용 계층(A3)은, 제어 계층(A2) 내 동적제어장치(200)와의 연동을 통해 물리적 네트워크(100)를 활용한 다양한 서비스가 이루어지도록 하는 기능을 수행한다.
이러한 응용 계층(A3)에는, 다양한 서비스와 관련되는 적어도 하나의 응용프로그램(300)이 구현될 수 있다. 이때, 응용프로그램(300)은, 사용자로부터 입력되는 제어관련정보(사용자요청명령, 이벤트관련명령)를 적어도 하나를 동적제어장치(200)로 전달하여 사용자가 원하는 대로 물리적 네트워크(100)가 구현되어 관련 서비스가 제공되도록 한다.
한편, SDN 환경을 구성하는 각 계층(A1, A2, A3) 간의 통신을 통해 물리적 네트워크(100)의 제어, 관리, 모니터링 등의 서비스가 제공될 수 있도록 하기 위해서는 사우스바운드 API(Southbound API)(10) 및 노스바운드 API(Northbound API)(20)를 통한 정보의 송수신이 수행되는 것이 바람직할 것이다.
즉, 본 발명의 인프라스트럭처 계층(A1)과 제어 계층(A2) 사이에는 각 계층(A1, A2)간의 연동을 위해 사우스바운드 API)(10)가 배치되게 된다.
이러한, 사우스바운드 API(10)는, 제어 계층(A2) 내 동적제어장치(200)로부터 제어관련정보(사용자요청명령, 이벤트관련명령)가 수신되면 이를 인프라스트럭처 계층(A1) 내 물리적 네트워크(100)로 전달한다. 반대로, 사우스바운드 API(10)는, 인프라스트럭처 계층(A1) 내 물리적 네트워크(100)로부터 소정의 주기로 물리적 네트워크(100)에 대한 정보(이하, 물리네트워크정보)가 수신되면 이를 제어 계층(A2) 내 동적제어장치(200)로 전달한다.
또한, 본 발명의 제어 계층(A2)과 응용 계층(A3) 사이에는 각 계층(A2, A3)간의 연동을 위해 노스바운드 API(Northbound API)(20)가 배치되게 된다.
이러한, 노스바운드 API(20)는, 응용 계층(A3) 내 응용 프로그램(300)으로부터 제어관련정보(사용자요청명령, 이벤트관련명령)가 수신되면 이를 제어 계층(A2) 내 동적제어장치(200)로 전달한다. 반대로, 노스바운드 API(20)는, 제어 계층(A2) 내 동적제어장치(200)로부터 제어관련정보(사용자요청명령, 이벤트관련명령)에 따른 명령 수행 결과 및 물리네트워크정보가 수신되면 이를 응용 계층(A3) 내 응용 프로그램(300)으로 전달한다.
이하에서는, 도 2를 참조하여 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크에서의 동적제어장치의 구성을 구체적으로 설명하겠다.
도 2에 도시된 바와 같이, 본 발명에 따른 동적제어장치(200)는, 소프트웨어 정의 네트워크(SDN)를 기반으로 생성되는 물리적 네트워크(100)에 대한 물리네트워크정보를 관리하는 물리네트워크정보관리부(210), 물리적 네트워크(100)를 이용한 서비스 제공과 관련하여 응용 프로그램(300)을 통해 확인되는 제어관련정보를 관리하는 응용프로그램정보관리부(220), 및 장애발생으로 재실행되는 경우, 물리적 네트워크(100)의 변경여부를 판단한 결과에 기초하여 응용 프로그램(300)에 대한 응용프로그램정보의 갱신여부를 결정하는 제어부(230)를 포함하는 구성을 가질 수 있다.
또한, 본 발명에 따른 동적제어장치(200)는, 기 설정된 주기로 상기 물리네트워크정보 및 상기 제어관련정보를 수신하여 저장하는 저장부(240)를 더 포함하는 구성을 가질 수 있다.
이러한 저장부(240)는, 동적제어장치(200)의 내부에 탑재되는 비휘발성(Non-Volatile)의 내부 데이터베이스로 형태로 구현되거나, 또는 제어 계층(A2) 내에서 노스바운드 API(20)와의 연동을 통하여 정보를 송수신하는 비휘발성의 외부 데이터베이스로 형태로 구현될 수 있으나, 이에 한정되지 않으며, 동적제어장치(200)의 성능에 따라 전술한 구현 방식 외에도 다양한 방식을 적용하여 구현할 수 있음은 물론이다.
이상의 물리네트워크정보관리부(210), 응용프로그램정보관리부(220), 제어부(230) 및 저장부(240)를 포함하는 동적제어장치(200)의 구성 전체 내지는 적어도 일부는, 프로세서에 의해 실행되는 소프트웨어 모듈 형태 또는 하드웨어 모듈 형태로 구현되거나, 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있다.
결국, 본 발명의 일 실시예에 따른 동적제어장치(200)는 장애발생 시 물리적 네트워크(100)의 변경에 따른 응용 프로그램(300)에 대한 정보변경 요구여부를 확인한 결과에 기초하여 장애발생과 무관하게 지속적인 서비스가 제공되도록 하게 되는 데, 이하에서는 이를 위한 동적제어장치(200) 내 각 구성에 대해 구체적으로 설명하기로 한다.
물리네트워크정보관리부(210)는, 물리적 네트워크(100)에 대한 정보(이하, 물리네트워크정보)를 관리하는 기능을 수행한다.
보다 구체적으로, 물리네트워크정보관리부(210)는, 사우스바운드 API(10)와의 연동을 통해 기 설정된 주기로 물리네트워크정보를 획득한다. 이후, 물리네트워크정보관리부(210)는, 획득한 물리네트워크정보가 저장될 수 있도록 저장부(240)로 전달한다.
여기서, 물리네트워크정보는, 물리적 네트워크(100)를 형성하는 구성요소(스위치, 라우터, 링크 및 호스트 등)에 대한 타입, 식별자, 위치, 이름 등이 포함될 수 있으며, 후술할 물리적 네트워크(100)에 대한 변경여부를 확인할 수만 있다면 관련된 모든 정보들이 포함될 수 있다.
응용프로그램정보관리부(220)는, 응용 프로그램(300)을 통해 확인되는 제어관련정보를 관리하는 기능을 수행한다.
보다 구체적으로, 응용프로그램정보관리부(220)는, 노스바운드 API(Northbound API)(20)와의 연동을 통해 응용 프로그램(300)으로부터 제어관련정보를 획득한다. 이후, 응용프로그램정보관리부(220)는, 획득한 제어관련정보가 저장될 수 있도록 저장부(240)로 전달한다.
여기서, 제어관련정보는, 응용 프로그램(300)을 통해 사용자로부터 입력되는 사용자요청명령, 및 응용프로그램(300)과 관련하여 발생되는 임의의 이벤트의 실행을 위한 이벤트관련명령 중 적어도 하나를 포함할 수 있다.
이때, 사용자요청명령은, 예를 들어 사용자가 물리네트워크정보, 호스트리스트, 대역폭 등을 요청하기 위해 입력하는 사용자 입력정보일 수 있다. 이벤트관련명령은, 예를 들어 적어도 하나의 VND(Virtual Dedicate Network) 네트워크, 다중경로 네트워크, 최적경로 네트워크 등을 생성하는 것과 관련되는 명령일 수 있다.
제어부(230)는, 물리적 네트워크(100)를 활용한 다양한 서비스를 제공하며, 동적제어장치(200)의 장애발생 시 네트워크 상황을 기반으로 동적으로 복구가 이루어지도록 하는 기능을 수행한다.
보다 구체적으로, 제어부(230)는, 동적제어장치(200)의 장애발생으로 재실행되는 경우, 물리적 네트워크(100)의 변경여부를 판단한 결과에 기초하여 응용 프로그램(300)에 대한 응용프로그램정보의 갱신여부를 결정한다.
즉, 제어부(230)는, 동적제어장치(200)의 장애발생 기간 동안 물리적 네트워크(100)의 변경이 발생했는지의 여부를 판단하기 위해 물리네트워크정보관리부(210)로부터 재실행 이후 확인되는 물리적네트워크정보(이하, 재실행 물리적네트워크정보)를 확인한다.
이후, 제어부(230)는, 저장부(240)로부터 장애발생 이전까지 기 저장된 물리적네트워크정보를 확인한다.
이처럼 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보의 확인이 완료되면, 제어부(230)는, 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보를 비교한 결과에 기초하여 물리적 네트워크(100)의 변경여부를 판단한다.
즉, 제어부(230)는, 재실행 물리적네트워크정보에 포함되는 스위치, 라우터, 링크 및 호스트 등의 구성요소와 관련된 정보(타입, 식별자, 위치, 이름 등)와, 기 저장된 물리적네트워크정보에 포함되는 포함되는 스위치, 라우터, 링크 및 호스트 등의 구성요소와 관련된 정보(타입, 식별자, 위치, 이름 등)를 비교하여 일치 여부를 판단하게 된다.
전술에 따른 판단 결과 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하면, 제어부(230)는, 물리적 네트워크(100)의 변경이 발생되지 않은 것으로 판단하여 저장부(240)에 기 저장된 응용프로그램정보를 제공한다.
여기서, 응용프로그램정보는, 물리적 네트워크(100)에 해당하는 응용 프로그램(300)에 대한 바인딩 정보일 수 있으며, 사용자정보, 네트워크 토폴로지 추가정보, 가상네트워크정보 및 그 외 다양한 서비스운영정보 등이 포함될 수 있다.
이때, 사용자정보에는, 식별자, 이메일, 비밀번호 등이 포함되며, 네트워크 토폴로지 추가정보에는, 스위치 소재 지역, 위도, 경도, 링크 타입 등이 포함되며, 가상네트워크정보에는, 식별자, 호스트, 디바이스, 링크, 생성일자, 대역폭 등이 포함되게 된다.
한편, 전술에 따른 판단 결과 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않으면, 제어부(230)는, 물리적 네트워크(100)의 변경이 발생된 것으로 판단한다.
이후, 제어부(230)는, 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한 결과에 기초하여 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 제공하게 된다.
즉, 제어부(230)는, 응용 프로그램에 대한 정보변경이 요구되지 않는 경우에는 저장부(240)로부터 기 저장된 응용프로그램정보를 획득하게 된다. 한편, 제어부(230)는, 응용 프로그램에 대한 정보변경이 요구되는 경우에는 변경된 물리적 네트워크에 대한 물리적네트워크정보와 기 저장된 제어관련정보를 기반으로 갱신을 수행하여 변경된 물리적 네트워크에 해당하는 응용 프로그램에 대한 신규 응용프로그램정보를 획득하게 된다.
먼저, 응용 프로그램에 대한 정보변경이 항시 요구되는 일례에 대하여 보다 구체적으로 설명하도록 하겠다.
보다 구체적으로, 제어부(230)는, 물리적 네트워크의 변경이 발생되었을 때 응용 프로그램에 대한 정보변경이 항시 요구되는 경우에는 신규 응용프로그램정보를 획득하게 된다.
이와 관련하여, 도 3에서는 본 발명의 일 실시예에 따른 물리적 네트워크의 변경이 발생되었으며 응용 프로그램에 대한 정보변경이 항시 요구되는 일례를 보여주고 있다.
도 3과 같이, 본 발명의 일 실시예에 따른 응용 프로그램이 최적 경로 기반 제1 응용 프로그램인 경우, 네트워크 자원 활용 및 전송경로의 최적화를 위해 트리 구조를 기반으로 제1 물리적 네트워크(400)가 생성되게 된다.
이하에서는 설명의 편의를 위해 제1 응용 프로그램이 Virtual Dedicate Network(VDN) 시스템을 활용하여 서비스를 제공하며, 제1 응용 프로그램에 해당하는 물리적 네트워크가 제1 물리적 네트워크(400)이며, 4개의 VDN 참여 호스트 엑세스 스위치(이하, 엑세스 스위치)(SW1-SW4)와, 6개의 VDN을 위한 경로 상의 스위치(이하, 경로 스위치)(SW5-SW10)를 포함하는 것으로 언급하여 설명하도록 하겠다.
즉, 제1 물리적 네트워크(400)는, 참여 호스트들(도시하지 않음) 간의 데이터 전송의 요구 대역폭이 보장될 수 있도록 하기 위한 네트워크 자원을 점유하는 VDN일 수 있으며, 다수의 스위치(SW)와 링크(LK)에 의해 트리 구조로 형성되게 된다.
이러한 제1 물리적 네트워크(400)는, 엑세스 스위치(SW1-SW4) 및 경로 스위치(SW5-SW10) 사이에 해당하는 링크(LK1-LK9)가 연결되어 VDN을 위한 제1 경로가 생성되게 된다.
전술과 같이 트리 구조의 제1 물리적 네트워크(400)가 생성된 상태에서 동적제어장치(200)의 장애가 발생되어 재실행된 경우, 제1 물리적 네트워크(400)에 대한 제1 물리적네트워크정보와 저장부(240)에 기 저장된 물리적네트워크정보가 동일하지 않게 되면, 제어부(230)는, 제1 물리적 네트워크(400)의 변경이 발생한 것으로 판단한다.
이후, 제어부(230)는, 제1 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한다. 즉, 제어부(230)는, 제1 물리적 네트워크(400)를 이용하는 참여 호스트들(도시하지 않음) 간의 데이터 전송의 요구 대역폭이 만족되는 지의 여부를 확인한다.
여기서, 본 발명의 제1 물리적 네트워크(400)는, 데이터 전송의 요구 대역폭이 보장될 수 있도록 하기 위한 네트워크 자원을 점유하는 VDN이므로, 제1 물리적 네트워크(400)에 포함되는 엑세스 스위치(SW1-SW4), 경로 스위치(SW5-SW10) 및 링크(LK1-LK9)에 의해 형성되는 제1 경로 상의 장애발생 여부에 따라 데이터 전송의 요구 대역폭이 만족되거나 또는 그렇지 않게 될 것이다.
결국, 제1 경로 상의 장애발생 여부를 확인했을 때 장애가 발생되어 요구 대역폭이 만족되지 않으면, 제1 경로의 단절 및 대체 경로의 부재로 인해 제1 응용 프로그램을 통해 서비스 제공이 어렵다는 것을 확인할 수 있게 된다.
이에, 제어부(230)는, 제1 물리적 네트워크(400)를 이용하는 참여 호스트들 간의 데이터 전송의 요구 대역폭이 만족되지 않게 되면, 제1 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단할 수 있게 된다.
전술과 같이 제1 물리적 네트워크(400)의 변경이 발생된 상태에서 제1 응용 프로그램에 대한 정보변경이 요구되면, 제어부(230)는, 변경된 제1 물리적 네트워크(400)에 대한 물리적네트워크정보와 저장부(240)에 기 저장된 제어관련정보를 기반으로 관련 이벤트를 재수행하여 응용프로그램정보를 갱신하는 방식으로 변경된 제1 물리적 네트워크(400)에 해당하는 제1 응용 프로그램에 대한 신규 응용프로그램정보를 획득하게 된다.
이후, 제어부(230)는, 신규 응용프로그램정보를 기반으로 제1 응용 프로그램을 구동하여 관련 서비스를 제공하게 된다.
다음으로, 응용 프로그램에 대한 정보변경이 요구되는 지의 여부를 확인하여 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 획득하는 과정에 대하여 보다 구체적으로 설명하도록 하겠다.
보다 구체적으로, 제어부(230)는, 물리적 네트워크의 변경이 발생되었을 때 특정조건에 따라 응용 프로그램에 대한 정보변경이 요구되는 지의 여부를 판단하여 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 획득하게 된다.
여기서, 특정조건은, 응용 프로그램을 통해 정의되는 물리적 네트워크의 목적과 구성 등에 따라 다르게 정의될 수 있으며, 이하에서는 설명의 편의를 위해, 네트워크 변경에 따른 전송 경로의 단절 초래여부가 특정조건인 것으로 언급하여 설명하도록 하겠다.
이와 관련하여, 도 4에서는 본 발명의 일 실시예에 따른 물리적 네트워크의 변경이 발생되었으나, 특정조건에 따라 응용 프로그램에 대한 정보변경이 요구되거나 또는 그렇지 않은 일례를 보여주고 있다.
도 4와 같이, 본 발명의 일 실시예에 따른 응용 프로그램이 다중 경로 기반 제2 응용 프로그램인 경우에는, 서비스의 고가용성(High Availability) 및 네트워크 자원의 균등 분배 등을 위해 다중 경로 및 대체 경로를 포함하는 제2 물리적 네트워크(500)가 생성되게 된다.
이하에서는 설명의 편의를 위해 제2 응용 프로그램이 부하분산(Load balancing) 시스템을 활용하여 서비스를 제공하며, 제2 응용 프로그램에 해당하는 물리적 네트워크가 제2 물리적 네트워크(500)이며, 4개의 참여 호스트 엑세스 스위치(이하, 엑세스 스위치)(SW1'-SW4')와, 6개의 VDN을 위한 트리 포함 스위치(이하, 트리 스위치)(SW5'-SW10') 및 3개의 중복(Redundancy) 스위치(SW11'-SW13')를 포함하며, 다중 경로의 전채 개수(N개) 중 특정개수(M개)가 보장되어야 하는 것으로 언급하여 설명하도록 하겠다.
즉, 제2 물리적 네트워크(500)는, 부하 분산을 목적으로 임의의 클라이언트 또는 엑세스 스위치 사이의 다중 경로 및 대체 경로 포함하는 네트워크일 수 있으며, 다중 경로 중 현재 네트워크 자원 상황에 따라 부하가 적은 경로를 선택하여 데이터 전송을 수행하는 방식으로 운영될 수 있다. 이에, 제2 물리적 네트워크(500)에서는 다중 경로 중 특정개수(M개)만큼의 경로에 대한 보장이 요구되게 된다.
이러한 제2 물리적 네트워크(500)는, 엑세스 스위치(SW1'-SW4') 및 트리 스위치(SW5'-SW10') 사이에 각각 해당하는 링크(LK1'-LK9')가 연결되어 적어도 하나의 제1 경로가 생성되게 된다. 또한, 제2 물리적 네트워크(500)에는, 엑세스 스위치(SW1'-SW4') 및 중복 스위치(SW11'-SW13') 사이에 각각 해당하는 링크(LK10'-LK17')가 연결되어 적어도 하나의 제2 경로가 생성되게 된다.
전술과 같이 다중 경로를 포함하는 제2 물리적 네트워크(500)가 생성된 상태에서, 동적제어장치(200)의 장애가 발생되어 재실행된 이후 제2 물리적 네트워크(500)에 대한 제2 물리적네트워크정보와 저장부(240)에 기 저장된 물리적네트워크정보가 동일하지 않게 되면, 제어부(230)는, 제2 물리적 네트워크(500)의 변경이 발생한 것으로 판단한다.
이후, 제어부(230)는, 제2 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한다. 즉, 제어부(230)는, 제2 물리적 네트워크(500)에 포함되는 다중 경로의 전체 개수(N개) 중 특정개수(M개)의 경로를 보장해야 하는 경우, 전체 개수(N개) 중 대체 경로로 이용 가능한 특정경로의 개수를 확인한다.
이때, 본 발명의 제2 물리적 네트워크(500)에서는, 다중 경로의 전체 개수(N개) 중 특정개수(M개)만큼의 경로를 보장해야 하므로, 제어부(230)는, 대체 경로로 이용 가능한 특정경로의 개수가 특정개수(M개) 이하인지의 여부를 확인하게 된다.
즉, 대체 경로로 이용 가능한 특정경로의 개수가 특정개수(M개) 이하가 되면, 제어부(230)는, 중복 스위치(SW11'-SW13') 및 링크(LK10'-LK17')에 문제가 발생하는 경우 대체 경로를 통해 부하분산의 목적을 달성할 수 없으므로, 제2 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단할 수 있게 된다.
이처럼 제2 물리적 네트워크(500)의 변경이 발생된 상태에서 제2 응용 프로그램에 대한 정보변경이 요구되면, 제어부(230)는, 변경된 제2 물리적 네트워크(500)에 대한 물리적네트워크정보와 저장부(240)에 기 저장된 제어관련정보를 기반으로 관련 이벤트를 재수행하여 응용프로그램정보를 갱신하는 방식으로 변경된 제2 물리적 네트워크(500)에 해당하는 제2 응용 프로그램에 대한 신규 응용프로그램정보를 획득하게 된다.
이후, 제어부(230)는, 신규 응용프로그램정보를 기반으로 제1 응용 프로그램을 구동하여 관련 서비스를 제공하게 된다.
한편, 대체 경로로 이용 가능한 특정경로의 개수가 특정개수(M개)를 초과하게 되면, 제어부(230)는, 중복 스위치(SW11'-SW13') 및 링크(LK10'-LK17')에 문제가 발생하더라도 대체 경로를 통해 부하분산의 목적을 달성할 수 있으므로, 제2 응용 프로그램에 대한 정보변경이 요구되지 않는 것으로 판단할 수 있게 된다.
이에, 전술과 같이 제2 물리적 네트워크(500)의 변경이 발생된 상태에서 제2 응용 프로그램에 대한 정보변경이 요구되지 않게 되면, 제어부(230)는, 저장부(240)에 기 저장된 응용프로그램정보를 획득하게 된다.
이후, 제어부(230)는, 기 저장된 응용프로그램정보를 기반으로 제1 응용 프로그램을 구동하여 관련 서비스를 제공하게 된다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 장애발생 시 물리적 네트워크의 변경에 따른 응용 프로그램에 대한 정보변경 요구여부를 확인한 결과에 기초하여 응용프로그램정보의 갱신이 동적으로 수행되도록 함으로써, 컨트롤러의 장애발생과 무관하게 지속적인 서비스를 제공할 수 있다. 또한, 물리적 네트워크가 변경되더라도 네트워크 상황에 따라 동적으로 응용프로그램정보의 갱신여부가 결정됨에 따라 불필요한 자원 낭비를 미연에 방지할 수 있어 최소한의 자원을 기반으로 원활한 서비스를 제공할 수 있는 효과가 성취된다.
이하에서는, 도 5를 참조하여 본 발명의 실시예에 따른 동적제어장치 에서 수행되는 소프트웨어 정의 네트워크에서의 장애 복구를 위한 동적 제어 흐름을 구체적으로 설명하도록 한다. 이하에서는 설명의 편의를 위해 전술의 도 1 내지 도 4에서 언급한 참조번호를 언급하여 설명하도록 하겠다.
물리네트워크정보관리부(210)는, 사우스바운드 API(10)와의 연동을 통해 기 설정된 주기로 물리네트워크정보를 획득한다. 이후, 물리네트워크정보관리부(210)는, 획득한 물리네트워크정보가 저장될 수 있도록 저장부(240)로 전달한다(S100).
여기서, 물리네트워크정보는, 물리적 네트워크(100)를 형성하는 구성요소(스위치, 라우터, 링크 및 호스트 등)에 대한 타입, 식별자, 위치, 이름 등이 포함될 수 있으며, 후술할 물리적 네트워크(100)에 대한 변경여부를 확인할 수만 있다면 관련된 모든 정보들이 포함될 수 있다.
응용프로그램정보관리부(220)는, 노스바운드 API(Northbound API)(20)와의 연동을 통해 응용 프로그램(300)으로부터 제어관련정보를 획득한다. 이후, 응용프로그램정보관리부(220)는, 획득한 제어관련정보가 저장될 수 있도록 저장부(240)로 전달한다(S110).
여기서, 제어관련정보는, 응용 프로그램(300)을 통해 사용자로부터 입력되는 사용자요청명령, 및 응용프로그램(300)과 관련하여 발생되는 임의의 이벤트의 실행을 위한 이벤트관련명령 중 적어도 하나를 포함할 수 있다.
제어부(230)는, 동적제어장치(200)의 장애발생으로 재실행되는 것으로 확인되면(S120의 YES), 물리적 네트워크(100)의 변경여부를 판단한 결과에 기초하여 응용 프로그램(300)에 대한 응용프로그램정보의 갱신여부를 결정한다.
즉, 제어부(230)는, 동적제어장치(200)의 장애발생 기간 동안 물리적 네트워크(100)의 변경이 발생했는지의 여부를 판단하기 위해 물리네트워크정보관리부(210)로부터 재실행 이후 확인되는 물리적네트워크정보(이하, 재실행 물리적네트워크정보)를 확인한다.
이후, 제어부(230)는, 저장부(240)로부터 장애발생 이전까지 기 저장된 물리적네트워크정보를 확인한다.
이처럼 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보의 확인이 완료되면, 제어부(230)는, 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보를 비교한 결과에 기초하여 물리적 네트워크(100)의 변경여부를 판단한다(S130).
S130 단계의 판단결과, 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않으면, 제어부(230)는, 물리적 네트워크(100)의 변경이 발생된 것으로 판단한다.
이후, 제어부(230)는, 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한 결과에 기초하여 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 제공하게 된다(S140, S150).
보다 구체적으로, 제어부(230)는, 응용 프로그램에 대한 정보변경이 요구되는 경우(S140의 YES), 변경된 물리적 네트워크에 대한 물리적네트워크정보와 기 저장된 제어관련정보를 기반으로 갱신을 수행하여 변경된 물리적 네트워크에 해당하는 응용 프로그램에 대한 신규 응용프로그램정보를 획득하게 된다.
먼저, 응용 프로그램에 대한 정보변경이 항시 요구되는 일례에 대하여 보다 구체적으로 설명하도록 하겠다.
보다 구체적으로, 제어부(230)는, 물리적 네트워크의 변경이 발생되었을 때 응용 프로그램에 대한 정보변경이 항시 요구되는 경우에는 신규 응용프로그램정보를 획득하게 된다.
이와 관련하여, 도 3과 같이 본 발명의 일 실시예에 따른 응용 프로그램이 최적 경로 기반 제1 응용 프로그램인 경우, 네트워크 자원 활용 및 전송경로의 최적화를 위해 트리 구조를 기반으로 제1 물리적 네트워크(400)가 생성되게 된다.
이하에서는 설명의 편의를 위해 제1 응용 프로그램이 Virtual Dedicate Network(VDN) 시스템을 활용하여 서비스를 제공하며, 제1 응용 프로그램에 해당하는 물리적 네트워크가 제1 물리적 네트워크(400)이며, 4개의 VDN 참여 호스트 엑세스 스위치(이하, 엑세스 스위치)(SW1-SW4)와, 6개의 VDN을 위한 경로 상의 스위치(이하, 경로 스위치)(SW5-SW10)를 포함하는 것으로 언급하여 설명하도록 하겠다.
즉, 제1 물리적 네트워크(400)는, 참여 호스트들(도시하지 않음) 간의 데이터 전송의 요구 대역폭이 보장될 수 있도록 하기 위한 네트워크 자원을 점유하는 VDN일 수 있으며, 다수의 스위치(SW)와 링크(LK)에 의해 트리 구조로 형성되게 된다.
이러한 제1 물리적 네트워크(400)는, 엑세스 스위치(SW1-SW4) 및 경로 스위치(SW5-SW10) 사이에 해당하는 링크(LK1-LK9)가 연결되어 VDN을 위한 제1 경로가 생성되게 된다.
전술과 같이 트리 구조의 제1 물리적 네트워크(400)가 생성된 상태에서 동적제어장치(200)의 장애가 발생되어 재실행된 경우, 제1 물리적 네트워크(400)에 대한 제1 물리적네트워크정보와 저장부(240)에 기 저장된 물리적네트워크정보가 동일하지 않게 되면, 제어부(230)는, 제1 물리적 네트워크(400)의 변경이 발생한 것으로 판단한다.
이후, 제어부(230)는, 제1 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한다. 즉, 제어부(230)는, 제1 물리적 네트워크(400)를 이용하는 참여 호스트들(도시하지 않음) 간의 데이터 전송의 요구 대역폭이 만족되는 지의 여부를 확인한다.
여기서, 본 발명의 제1 물리적 네트워크(400)는, 데이터 전송의 요구 대역폭이 보장될 수 있도록 하기 위한 네트워크 자원을 점유하는 VDN이므로, 제1 물리적 네트워크(400)에 포함되는 엑세스 스위치(SW1-SW4), 경로 스위치(SW5-SW10) 및 링크(LK1-LK9)에 의해 형성되는 제1 경로 상의 장애발생 여부에 따라 데이터 전송의 요구 대역폭이 만족되거나 또는 그렇지 않게 될 것이다.
결국, 제1 경로 상의 장애발생 여부를 확인했을 때 장애가 발생되어 요구 대역폭이 만족되지 않으면, 제1 경로의 단절 및 대체 경로의 부재로 인해 제1 응용 프로그램을 통해 서비스 제공이 어렵다는 것을 확인할 수 있게 된다.
이에, 제어부(230)는, 제1 물리적 네트워크(400)를 이용하는 참여 호스트들 간의 데이터 전송의 요구 대역폭이 만족되지 않게 되면, 제1 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단할 수 있게 된다.
전술과 같이 제1 물리적 네트워크(400)의 변경이 발생된 상태에서 제1 응용 프로그램에 대한 정보변경이 요구되면, 제어부(230)는, 변경된 제1 물리적 네트워크(400)에 대한 물리적네트워크정보와 저장부(240)에 기 저장된 제어관련정보를 기반으로 관련 이벤트를 재수행하여 응용프로그램정보를 갱신하는 방식으로 변경된 제1 물리적 네트워크(400)에 해당하는 제1 응용 프로그램에 대한 신규 응용프로그램정보를 획득하게 된다.
다음으로, 응용 프로그램에 대한 정보변경이 요구되는 지의 여부를 확인하여 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 획득하는 과정에 대하여 보다 구체적으로 설명하도록 하겠다.
보다 구체적으로, 제어부(230)는, 물리적 네트워크의 변경이 발생되었을 때 특정조건에 따라 응용 프로그램에 대한 정보변경이 요구되는 지의 여부를 판단하여 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보를 획득하게 된다.
여기서, 특정조건은, 응용 프로그램을 통해 정의되는 물리적 네트워크의 목적과 구성 등에 따라 다르게 정의될 수 있으며, 이하에서는 설명의 편의를 위해, 네트워크 변경에 따른 전송 경로의 단절 초래여부가 특정조건인 것으로 언급하여 설명하도록 하겠다.
이와 관련하여, 도 4와 같이 본 발명의 일 실시예에 따른 응용 프로그램이 다중 경로 기반 제2 응용 프로그램인 경우에는, 서비스의 고가용성(High Availability) 및 네트워크 자원의 균등 분배 등을 위해 다중 경로 및 대체 경로를 포함하는 제2 물리적 네트워크(500)가 생성되게 된다.
이하에서는 설명의 편의를 위해 제2 응용 프로그램이 부하분산(Load balancing) 시스템을 활용하여 서비스를 제공하며, 제2 응용 프로그램에 해당하는 물리적 네트워크가 제2 물리적 네트워크(500)이며, 4개의 참여 호스트 엑세스 스위치(이하, 엑세스 스위치)(SW1'-SW4')와, 6개의 VDN을 위한 트리 포함 스위치(이하, 트리 스위치)(SW5'-SW10') 및 3개의 중복(Redundancy) 스위치(SW11'-SW13')를 포함하며, 다중 경로의 전채 개수(N개) 중 특정개수(M개)가 보장되어야 하는 것으로 언급하여 설명하도록 하겠다.
즉, 제2 물리적 네트워크(500)는, 부하 분산을 목적으로 임의의 클라이언트 또는 엑세스 스위치 사이의 다중 경로 및 대체 경로 포함하는 네트워크일 수 있으며, 다중 경로 중 현재 네트워크 자원 상황에 따라 부하가 적은 경로를 선택하여 데이터 전송을 수행하는 방식으로 운영될 수 있다. 이에, 제2 물리적 네트워크(500)에서는 다중 경로 중 특정개수(M개)만큼의 경로에 대한 보장이 요구되게 된다.
이러한 제2 물리적 네트워크(500)는, 엑세스 스위치(SW1'-SW4') 및 트리 스위치(SW5'-SW10') 사이에 각각 해당하는 링크(LK1'-LK9')가 연결되어 적어도 하나의 제1 경로가 생성되게 된다. 또한, 제2 물리적 네트워크(500)에는, 엑세스 스위치(SW1'-SW4') 및 중복 스위치(SW11'-SW13') 사이에 각각 해당하는 링크(LK10'-LK17')가 연결되어 적어도 하나의 제2 경로가 생성되게 된다.
전술과 같이 다중 경로를 포함하는 제2 물리적 네트워크(500)가 생성된 상태에서, 동적제어장치(200)의 장애가 발생되어 재실행된 이후 제2 물리적 네트워크(500)에 대한 제2 물리적네트워크정보와 저장부(240)에 기 저장된 물리적네트워크정보가 동일하지 않게 되면, 제어부(230)는, 제2 물리적 네트워크(500)의 변경이 발생한 것으로 판단한다.
이후, 제어부(230)는, 제2 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한다. 즉, 제어부(230)는, 제2 물리적 네트워크(500)에 포함되는 다중 경로의 전체 개수(N개) 중 특정개수(M개)의 경로를 보장해야 하는 경우, 전체 개수(N개) 중 대체 경로로 이용 가능한 특정경로의 개수를 확인한다.
이때, 본 발명의 제2 물리적 네트워크(500)에서는, 다중 경로의 전체 개수(N개) 중 특정개수(M개)만큼의 경로를 보장해야 하므로, 제어부(230)는, 대체 경로로 이용 가능한 특정경로의 개수가 특정개수(M개) 이하인지의 여부를 확인하게 된다.
즉, 대체 경로로 이용 가능한 특정경로의 개수가 특정개수(M개) 이하가 되면, 제어부(230)는, 중복 스위치(SW11'-SW13') 및 링크(LK10'-LK17')에 문제가 발생하는 경우 대체 경로를 통해 부하분산의 목적을 달성할 수 없으므로, 제2 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단할 수 있게 된다.
이처럼 제2 물리적 네트워크(500)의 변경이 발생된 상태에서 제2 응용 프로그램에 대한 정보변경이 요구되면, 제어부(230)는, 변경된 제2 물리적 네트워크(500)에 대한 물리적네트워크정보와 저장부(240)에 기 저장된 제어관련정보를 기반으로 관련 이벤트를 재수행하여 응용프로그램정보를 갱신하는 방식으로 변경된 제2 물리적 네트워크(500)에 해당하는 제2 응용 프로그램에 대한 신규 응용프로그램정보를 획득하게 된다.
한편, 대체 경로로 이용 가능한 특정경로의 개수가 특정개수(M개)를 초과하게 되면, 제어부(230)는, 중복 스위치(SW11'-SW13') 및 링크(LK10'-LK17')에 문제가 발생하더라도 대체 경로를 통해 부하분산의 목적을 달성할 수 있으므로, 제2 응용 프로그램에 대한 정보변경이 요구되지 않는 것으로 판단할 수 있게 된다.
이에, 전술과 같이 제2 물리적 네트워크(500)의 변경이 발생된 상태에서 제2 응용 프로그램에 대한 정보변경이 요구되지 않게 되면, 제어부(230)는, 저장부(240)에 기 저장된 응용프로그램정보를 획득하게 된다.
한편, 응용 프로그램에 대한 정보변경이 요구되지 않는 경우(S140의 NO), 제어부(230)는, 후술할 S170 단계로 이동하여 저장부(240)로부터 기 저장된 응용프로그램정보를 획득하게 된다.
전술에 따라 기 저장된 응용프로그램정보 또는 신규 응용프로그램정보가 확인되면, 제어부(230)는, 확인된 해당 정보를 기반으로 관련 서비스를 제공하게 된다(S160).
한편, S130 단계의 판단 결과, 재실행 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하면, 제어부(230)는, 물리적 네트워크(100)의 변경이 발생되지 않은 것으로 판단하여 저장부(240)에 기 저장된 응용프로그램정보를 제공한다(S170).
한편, 제어부(230)는, 동적제어장치(200)가 재실행되지 않는 확인되면(S120의 NO), S160 단계로 이동하여 서비스 제공을 유지하게 된다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 장애발생 시 물리적 네트워크의 변경에 따른 응용 프로그램에 대한 정보변경 요구여부를 확인한 결과에 기초하여 응용프로그램정보의 갱신이 동적으로 수행되도록 함으로써, 컨트롤러의 장애발생과 무관하게 지속적인 서비스를 제공할 수 있다. 또한, 물리적 네트워크가 변경되더라도 네트워크 상황에 따라 동적으로 응용프로그램정보의 갱신여부가 결정됨에 따라 불필요한 자원 낭비를 미연에 방지할 수 있어 최소한의 자원을 기반으로 원활한 서비스를 제공할 수 있는 효과가 성취된다.
본 발명의 실시예들은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명의 SDN 기반의 장애회복을 위한 동적제어 장치 및 그 방법에 따르면, 장애발생 시 물리적 네트워크의 변경에 따른 응용 프로그램에 대한 정보변경 요구여부를 확인한 결과에 기초하여 응용프로그램정보의 갱신이 동적으로 수행되도록 함으로써, 컨트롤러의 장애발생과 무관하게 지속적인 서비스가 제공되도록 하며, 물리적 네트워크가 변경되더라도 네트워크 상황에 따라 동적으로 응용프로그램정보의 갱신여부가 결정됨에 따라 불필요한 자원 낭비를 미연에 방지할 수 있어 최소한의 자원을 기반으로 원활한 서비스가 제공되도록 할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100: 물리적 네트워크
200: 동적제어장치
210: 물리네트워크정보관리부 220: 응용프로그램정보관리부
230: 제어부 240: 저장부
300: 응용 프로그램

Claims (16)

  1. 소프트웨어 정의 네트워크를 기반으로 생성되는 물리적 네트워크에 대한 물리네트워크정보를 관리하는 물리네트워크정보관리부; 및
    장애발생으로 재실행되는 경우, 상기 물리적 네트워크의 변경여부를 판단한 결과에 기초하여 상기 물리적 네트워크를 이용한 서비스 제공과 관련되는 응용 프로그램에 대한 응용프로그램정보의 갱신여부를 결정하는 제어부를 포함하며,
    상기 제어부는,
    상기 재실행 이후 상기 물리적 네트워크의 변경이 발생되는 경우, 상기 응용 프로그램에 대한 정보변경이 요구되는 것으로 확인되면, 상기 변경된 물리적 네트워크에 해당하는 응용 프로그램에 대한 신규 응용프로그램정보를 획득하며, 상기 응용 프로그램에 대한 정보변경이 요구되지 않는 것으로 확인되면, 상기 변경되기 이전의 물리적 네트워크에 해당하는 응용 프로그램에 대하여 기 저장된 응용프로그램정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  2. 제 1 항에 있어서,
    상기 응용 프로그램을 통해 확인되는 제어관련정보를 관리하는 응용프로그램정보관리부; 및
    기 설정된 주기로 상기 물리네트워크정보 및 상기 제어관련정보를 수신하여 저장하는 저장부를 더 포함하며,
    상기 제어관련정보는,
    상기 응용 프로그램을 통해 사용자로부터 입력되는 사용자요청명령 및 상기 응용프로그램과 관련하여 발생되는 임의의 이벤트의 실행을 위한 이벤트관련명령 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  3. 제 2 항에 있어서,
    상기 물리네트워크정보관리부는,
    사우스바운드 API(Southbound API)와의 연동을 통해 상기 물리적 네트워크로부터 상기 물리네트워크정보를 획득하여 상기 저장부에 저장하며,
    상기 응용프로그램정보관리부는,
    노스바운드 API(Northbound API)와의 연동을 통해 상기 응용 프로그램으로부터 상기 제어관련정보를 획득하여 상기 저장부에 저장하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  4. 제 3 항에 있어서,
    상기 제어부는,
    상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보를 비교한 결과에 기초하여 상기 물리적 네트워크의 변경여부를 판단하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  5. 제 4 항에 있어서,
    상기 제어부는,
    상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하면, 상기 물리적 네트워크의 변경이 발생되지 않은 것으로 판단하여 상기 기 저장된 응용프로그램정보를 획득하며,
    상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않으면, 상기 물리적 네트워크의 변경이 발생된 것으로 판단하고, 상기 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한 결과에 기초하여 상기 기 저장된 응용프로그램정보 또는 상기 신규 응용프로그램정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  6. 제 5 항에 있어서,
    상기 제어부는,
    상기 응용 프로그램에 대한 정보변경이 요구되는 경우, 상기 변경된 물리적 네트워크에 대한 물리적네트워크정보와 기 저장된 제어관련정보를 기반으로 갱신을 수행하여 상기 신규 응용프로그램정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  7. 제 5 항에 있어서,
    상기 응용 프로그램이 최적 경로 기반 제1 응용 프로그램일 때 트리 구조의 제1 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제1 물리적 네트워크에 대한 제1 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우,
    상기 제어부는,
    상기 제1 물리적 네트워크를 이용하는 참여 호스트들 간의 데이터 전송의 요구 대역폭이 만족되지 않으면, 상기 제1 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 생성하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  8. 제 5 항에 있어서,
    상기 응용 프로그램이 다중 경로 기반 제2 응용 프로그램일 때 다중 경로를 포함하는 제2 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제2 물리적 네트워크에 대한 제2 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우,
    상기 제어부는,
    상기 제2 물리적 네트워크에 포함되는 상기 다중 경로의 전체 개수 중 특정개수 이하의 경로만이 대체 경로로 이용 가능하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 획득하며,
    상기 특정개수를 초과하는 상기 대체 경로가 존재하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 요구되지 않는 것으로 판단하여 상기 기 저장된 응용프로그램정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어장치.
  9. 소프트웨어 정의 네트워크를 기반으로 생성되는 물리적 네트워크에 대한 물리네트워크정보를 관리하는 물리네트워크정보관리단계; 및
    장애발생으로 재실행되는 경우, 상기 물리적 네트워크의 변경여부를 판단한 결과에 기초하여 상기 물리적 네트워크를 이용한 서비스 제공과 관련되는 응용 프로그램에 대한 응용프로그램정보의 갱신여부를 결정하는 제어단계를 포함하며,
    상기 제어단계는,
    상기 재실행 이후 상기 물리적 네트워크의 변경이 발생되는 경우, 상기 응용 프로그램에 대한 정보변경이 요구되는 것으로 확인되면, 상기 변경된 물리적 네트워크에 해당하는 응용 프로그램에 대한 신규 응용프로그램정보를 획득하며, 상기 응용 프로그램에 대한 정보변경이 요구되지 않는 것으로 확인되면, 상기 변경되기 이전의 물리적 네트워크에 해당하는 응용 프로그램에 대하여 기 저장된 응용프로그램정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법.
  10. 제 9 항에 있어서,
    상기 응용 프로그램을 통해 확인되는 제어관련정보를 관리하는 응용프로그램정보관리단계; 및
    기 설정된 주기로 상기 물리네트워크정보 및 상기 제어관련정보를 수신하여 저장하는 저장단계를 더 포함하며,
    상기 제어관련정보는,
    상기 응용 프로그램을 통해 사용자로부터 입력되는 사용자요청명령 및 상기 응용프로그램과 관련하여 발생되는 임의의 이벤트의 실행을 위한 이벤트관련명령 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법
  11. 제 10 항에 있어서,
    상기 물리네트워크정보관리단계는,
    사우스바운드 API(Southbound API)와의 연동을 통해 상기 물리적 네트워크로부터 상기 물리네트워크정보를 획득하며,
    상기 응용프로그램정보관리단계는,
    노스바운드 API(Northbound API)와의 연동을 통해 상기 응용 프로그램으로부터 상기 제어관련정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법.
  12. 제 10 항에 있어서,
    상기 제어단계는,
    상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보를 비교한 결과에 기초하여 상기 물리적 네트워크의 변경여부를 판단하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법.
  13. 제 12 항에 있어서,
    상기 제어단계는,
    상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하면, 상기 물리적 네트워크의 변경이 발생되지 않은 것으로 판단하여 상기 기 저장된 응용프로그램정보를 획득하는 네트워크유지단계; 및
    상기 재실행 이후 확인되는 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않으면, 상기 물리적 네트워크의 변경이 발생된 것으로 판단하고, 상기 응용 프로그램에 대한 정보변경이 요구되는지의 여부를 확인한 결과에 기초하여 상기 기 저장된 응용프로그램정보 또는 상기 신규 응용프로그램정보를 획득하는 네트워크변경단계를 포함하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법.
  14. 제 13 항에 있어서,
    상기 네트워크변경단계는,
    상기 응용 프로그램에 대한 정보변경이 요구되는 경우, 상기 변경된 물리적 네트워크에 대한 물리적네트워크정보와 기 저장된 제어관련정보를 기반으로 갱신을 수행하여 상기 신규 응용프로그램정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법.
  15. 제 13 항에 있어서,
    상기 응용 프로그램이 최적 경로 기반 제1 응용 프로그램일 때 트리 구조의 제1 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제1 물리적 네트워크에 대한 제1 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우,
    상기 네트워크변경단계는,
    상기 제1 물리적 네트워크를 이용하는 참여 호스트들 간의 데이터 전송의 요구 대역폭이 만족되지 않으면, 상기 제1 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 생성하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법.
  16. 제 13 항에 있어서,
    상기 응용 프로그램이 다중 경로 기반 제2 응용 프로그램일 때 다중 경로를 포함하는 제2 물리적 네트워크가 생성된 상태에서, 상기 재실행 이후 확인되는 제2 물리적 네트워크에 대한 제2 물리적네트워크정보와 기 저장된 물리적네트워크정보가 동일하지 않는 경우,
    상기 네트워크변경단계는,
    상기 제2 물리적 네트워크에 포함되는 상기 다중 경로의 전체 개수 중 특정개수 이하의 경로만이 대체 경로로 이용 가능하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 요구되는 것으로 판단하여 상기 신규응용프로그램정보를 획득하며,
    상기 특정개수를 초과하는 상기 대체 경로가 존재하게 되면, 상기 제2 응용 프로그램에 대한 정보변경이 요구되지 않는 것으로 판단하여 상기 기 저장된 응용프로그램정보를 획득하는 것을 특징으로 하는 소프트웨어 정의 네트워크에서의 동적제어방법.
KR1020160104920A 2016-08-18 2016-08-18 Sdn 기반의 장애회복을 위한 동적제어장치 및 그 방법 KR101757257B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160104920A KR101757257B1 (ko) 2016-08-18 2016-08-18 Sdn 기반의 장애회복을 위한 동적제어장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160104920A KR101757257B1 (ko) 2016-08-18 2016-08-18 Sdn 기반의 장애회복을 위한 동적제어장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101757257B1 true KR101757257B1 (ko) 2017-07-13

Family

ID=59352539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160104920A KR101757257B1 (ko) 2016-08-18 2016-08-18 Sdn 기반의 장애회복을 위한 동적제어장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101757257B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069154A (ko) * 2017-12-11 2019-06-19 건국대학교 산학협력단 SDN에서 애플리케이션 레이어의 통신을 위한 노스바운드 API로써의 gRPC

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5860423B2 (ja) 2013-02-18 2016-02-16 日本電信電話株式会社 キャリア網仮想化システム及び方法
US20160173338A1 (en) 2013-03-20 2016-06-16 Wolting Holding B.V. Compiler for and method for software defined networks
KR101628219B1 (ko) * 2015-01-22 2016-06-21 아토리서치(주) 소프트웨어 정의 네트워크에서 컨트롤러를 운용하는 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5860423B2 (ja) 2013-02-18 2016-02-16 日本電信電話株式会社 キャリア網仮想化システム及び方法
US20160173338A1 (en) 2013-03-20 2016-06-16 Wolting Holding B.V. Compiler for and method for software defined networks
KR101628219B1 (ko) * 2015-01-22 2016-06-21 아토리서치(주) 소프트웨어 정의 네트워크에서 컨트롤러를 운용하는 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069154A (ko) * 2017-12-11 2019-06-19 건국대학교 산학협력단 SDN에서 애플리케이션 레이어의 통신을 위한 노스바운드 API로써의 gRPC
KR102021671B1 (ko) * 2017-12-11 2019-09-16 건국대학교 산학협력단 SDN에서 애플리케이션 레이어의 통신을 위한 노스바운드 API로써의 gRPC

Similar Documents

Publication Publication Date Title
RU2641477C1 (ru) Способ и устройство для конфигурирования обеспечивающего резервирование решения в архитектуре облачных вычислений
EP3216194B1 (en) Network function virtualization service chaining
US8015275B2 (en) Computer product, method, and apparatus for managing operations of servers
JP6466003B2 (ja) Vnfフェイルオーバの方法及び装置
US7619965B2 (en) Storage network management server, storage network managing method, storage network managing program, and storage network management system
EP3210367B1 (en) System and method for disaster recovery of cloud applications
EP2974238B1 (en) Method and apparatus for providing tenant redundancy
US20100293409A1 (en) Redundant configuration management system and method
US8032786B2 (en) Information-processing equipment and system therefor with switching control for switchover operation
WO2015074396A1 (zh) 一种软件定义网络sdn的自动配置方法、设备及系统
JP2005535241A (ja) マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置
US8112518B2 (en) Redundant systems management frameworks for network environments
CN103200036A (zh) 一种电力系统云计算平台的自动化配置方法
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
US8990619B1 (en) Method and systems to perform a rolling stack upgrade
US20170371643A1 (en) Collaborative maintenance of software programs
KR101757257B1 (ko) Sdn 기반의 장애회복을 위한 동적제어장치 및 그 방법
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP2017027166A (ja) 運用管理装置、運用管理プログラムおよび情報処理システム
WO2019012675A1 (ja) 管理装置及び管理方法
JP6561766B2 (ja) 情報処理装置、クラスタシステム、クラスタリング方法、及びプログラム
Moazzeni et al. Improving the reliability of Byzantine fault‐tolerant distributed software‐defined networks
US20180152346A1 (en) Information processing device, communication control method, and computer-readable recording medium
CN112953735B (zh) 网络服务设备和网络服务方法
CN112799602B (zh) 一种云硬盘在线扩容方法

Legal Events

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