KR101585413B1 - 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법 - Google Patents

소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법 Download PDF

Info

Publication number
KR101585413B1
KR101585413B1 KR1020140137693A KR20140137693A KR101585413B1 KR 101585413 B1 KR101585413 B1 KR 101585413B1 KR 1020140137693 A KR1020140137693 A KR 1020140137693A KR 20140137693 A KR20140137693 A KR 20140137693A KR 101585413 B1 KR101585413 B1 KR 101585413B1
Authority
KR
South Korea
Prior art keywords
virtual machine
forwarding path
open flow
cloud computing
computing system
Prior art date
Application number
KR1020140137693A
Other languages
English (en)
Other versions
KR20150135040A (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 숭실대학교산학협력단
Publication of KR20150135040A publication Critical patent/KR20150135040A/ko
Application granted granted Critical
Publication of KR101585413B1 publication Critical patent/KR101585413B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템에서의 오픈플로우 컨트롤러는 클라우드 컴퓨팅 시스템에 포함된 하나 이상의 가상 머신의 정보 및 가상 머신의 포워딩 경로가 저장된 데이터베이스, 재해복구 애플리케이션이 저장된 스토리지 장치 및 재해복구 애플리케이션을 실행시키는 프로세서를 포함한다. 이때, 프로세서는 클라우드 컴퓨팅 시스템에 포함된 가상 머신이 라이브 마이그레이션되면, 재해복구 애플리케이션을 실행시킴에 따라 라이브 마이그레이션된 가상 머신을 탐지하고, 라이브 마이그레이션된 가상 머신에 대응하는 포워딩 경로를 추출하고, 추출된 포워딩 경로에 기초하여 저장된 포워딩 경로를 업데이트하며, 추출된 포워딩 경로에 대응하는 오픈플로우 스위치를 검색하고, 검색된 오픈플로우 스위치에 추출된 포워딩 경로를 업데이트한다.

Description

소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법{OPENFLOW CONTROLLER AND METHOD OF DISASTER RECOVERTY FOR CLOUD COMPUTING SYSTEM BASED ON SOFTWARE DEFINITION NETWORK}
본 발명은 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법에 관한 것이다.
클라우드 컴퓨팅 시스템(cloud computing system)은 하나의 물리 머신(physical machine)에 복수 개의 가상 머신(virtual machine)을 포함하며 자원(resource)의 효율성을 높일 수 있는 시스템이다.
클라우드 컴퓨팅 시스템에서 현재 서비스 중인 가상 머신을 서비스의 중단 없이 다른 물리 머신으로 이전할 수 있으며, 이를 라이브 마이그레이션(live migration)이라고 한다. 클라우드 컴퓨팅 시스템은 가상 머신의 라이브 마이그레이션이 발생하면, 빠르게 가상 머신의 라이브 마이그레이션을 감지하고 네트워크를 복구하여 끊김 없이 가상 머신의 서비스를 제공하여야 한다.
이를 위하여, 클라우드 컴퓨팅 시스템은 자동으로 가상 머신의 메모리 상태를 다른 물리 머신의 메모리에 저장하고, 가상 머신의 운영 체제(operating system)를 다른 물리 머신에 저장한다. 가상 머신이 라이브 마이그레이션 된 후, 가상 머신의 아이피(internet protocol; IP) 및 맥(media access control; MAC) 주소는 유지되지만, 라이브 마이그레이션 된 가상 머신의 가상 포트는 변경될 수 있다. 가상 머신의 마이그레이션은 일반적으로 재해복구 또는 로드 밸런싱(load balancing)에 사용된다.
특히, 클라우드 컴퓨팅 SaaS(Software as a service) 클라우드의 한 종류인 SecaaS(security as a service) 플랫폼은 보안 애플리케이션을 제공하는 형태이다. SecaaS 플랫폼의 보안 서비스 제공자는 애플리케이션을 제공하고, 서비스를 수행하는 사용자는 필요한 서비스를 신청하여 사용할 수 있다. 또한, SecaaS 플랫폼은 여러 보안 서비스를 체이닝(chaining)하는 서비스 체이닝(service chaining) 기술을 포함한다.
빠르게 라이브 마이그레이션을 수행하여 원활한 클라우드 컴퓨팅 서비스 제공하기 위하여, 최근에는 소프트웨어 정의 네트워크(software definition network; SDN)의 대표적인 인터페이스(interface) 표준 기술인 오픈플로우(open flow)를 결합된 클라우드 컴퓨팅 시스템이 개발되고 있다. 오픈플로우를 결합한 클라우드 컴퓨팅 시스템은 오픈플로우 컨트롤러(openflow controller) 및 오픈플로우 스위치(openflow switch)를 포함하며 오픈플로우 프로토콜(openflow protocol)을 이용하여 내부 통신을 수행한다. 이때, 오픈플로우 스위치는 하드웨어(hardware)로 구현 되는 데이터 플레인(data plane)을 포함하며, 오픈플로우 컨트롤러는 소프트웨어(software)로 구현되는 컨트롤 플레인(control plane)을 포함한다. 오픈플로우 기반 스위치에서는 데이터 플레인의 중앙집중식 제어가 가능하여, 네트워크 관리자는 이를 통해 좀 더 효과적이고 유연하게 네트워크를 관리할 수 있다.
소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템에 대한 기존 발명은 다음과 같다.
한국 등록특허공보 제1230009호(발명의 명칭: "클라우드 컴퓨팅 기반의 네트워크 정보보호 서비스 시스템")는 클라우드 컴퓨팅 기반의 정보보호 서비스 시스템을 개시하고 있다. 이 발명은 클라우드 컴퓨팅 서비스 환경에 적합한 네트워크 정보보호 시스템과 네트워크 정보보호 서비스를 제공한다.
또한, 2014년 방송공학회 논문지에 발표한 국내논문(논문의 제목: "초고속 클라우드 비디오 서비스 실현을 위한 SDN 기반의 다중 무선 접속 기술 제어에 관한 연구")은 이동통신 네트워크에서 초고속 클라우드 비디오 서비스를 위한 소프트웨어 기반 네트워크 기반 다중 무선 접속 기술의 제어 기법을 개시하고 있다.
본 발명의 본 실시예는 소프트웨어 정의 네트워크에 기반한 클라우드 컴퓨팅 시스템에서의 라이브 마이그레이션을 위한 오픈플로우 컨트롤러 및 재해복구 방법을 제공하는 데 그 목적이 있다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템에서의 오픈플로우 컨트롤러는 클라우드 컴퓨팅 시스템에 포함된 하나 이상의 가상 머신의 정보 및 가상 머신의 포워딩 경로가 저장된 데이터베이스, 재해복구 애플리케이션이 저장된 스토리지 장치 및 재해복구 애플리케이션을 실행시키는 프로세서를 포함한다. 이때, 프로세서는 클라우드 컴퓨팅 시스템에 포함된 가상 머신이 라이브 마이그레이션되면, 재해복구 애플리케이션을 실행시킴에 따라 라이브 마이그레이션된 가상 머신을 탐지하고, 라이브 마이그레이션된 가상 머신에 대응하는 포워딩 경로를 추출하고, 추출된 포워딩 경로에 기초하여 저장된 포워딩 경로를 업데이트하며, 추출된 포워딩 경로에 대응하는 오픈플로우 스위치를 검색하고, 검색된 오픈플로우 스위치에 추출된 포워딩 경로를 업데이트한다.
또한, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크에 기반한 클라우드 컴퓨팅 시스템에서 오픈플로우 컨트롤러의 재해복구 방법은 클라우드 컴퓨팅 시스템에 포함된 가상 머신이 라이브 마이그레이션되면, 라이브 마이그레이션된 가상 머신을 탐지는 단계; 라이브 마이그레이션된 가상 머신에 대응하는 포워딩 경로를 추출하고, 추출된 포워딩 경로에 기초하여 데이터베이스에 저장된 포워딩 경로를 업데이트하는 단계; 계산된 포워딩 경로에 대응하는 오픈플로우 스위치를 검색하는 단계; 및 검색된 오픈플로우 스위치에 포워딩 경로를 업데이트하는 단계를 포함한다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 소프트웨어 정의 네트워크에 기반한 오픈플로우 컨트롤러를 이용하여 가상 머신의 라이브 마이그레이션을 탐지하고 네트워크 복구 수행할 수 있으므로, 서비스의 연속성 및 고 가용성을 보장할 수 있다.
또한, 본 발명에 따른 소프트웨어 정의 네트워크에 기반한 클라우드 컴퓨팅 시스템에서 재해 복구 방법 및 장치는 데이터 링크 계층을 기반으로 가상 머신의 라이브 마이그레이션 및 네트워크 복구를 수행하므로 기존 발명에 비하여 라이브 마이그레이션의 속도를 개선하여 빠르게 네트워크를 복구할 수 있어 끊김 없는 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 라이브 마이그레이션을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 재해복구 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
먼저, 도 1을 참조하여, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템(10)을 설명한다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템(10)의 구성도이다.
도 1에 도시된 것처럼, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템(10)은 가상 머신(400)의 라이브 마이그레이션을 위한 재해복구 방법 및 장치를 제공한다. 이때, 클라우드 컴퓨팅 시스템(10)은 오픈플로우 컨트롤러(100), 오픈플로우 스위치(200), 복수 개의 물리 머신(physical machine; 300) 및 물리 머신(300)에 포함된 하나 이상의 가상 머신(virtual machine; 400)을 포함할 수 있다. 각 구성요소는 네트워크(network)를 통해 연결될 수 있다.
이때, 네트워크는 단말 및 서버와 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 3GPP(3rd generation partnership project) 네트워크, LTE(long term evolution) 네트워크, WIMAX(world interoperability for microwave access) 네트워크, 인터넷(internet), LAN(local area network), Wireless LAN(wireless local area network), WAN(wide area network), PAN(personal area network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(digital multimedia broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
또한, 오픈플로우 컨트롤러(100)는 데이터베이스(110) 및 재해복구 애플리케이션이 저장된 스토리지 장치(120)를 포함한다. 그리고 오픈플로우 컨트롤러(100)는 네트워크 통신에 기반하여 오픈플로우 스위치(200)에 명령을 하고 그 명령에 따라 패킷(packet)을 목적지 물리 머신(300)으로 전송, 수정 및 폐기 등의 처리를 할 수 있다. 이때, 오픈플로우 컨트롤러(100)는 독립적인 장치로 실행되거나, 서버 컴퓨터(server computer) 등에 서버 프로그램(server program)으로 탑재되어 실행될 수 있다.
오픈플로우 스위치(200)는 클라우드 컴퓨팅 시스템(10)에 포함된 하나 이상의 물리 머신(300) 및 물리 머신(300)에 포함된 가상 머신(400)의 포워딩 규칙(forwarding rule)을 관리한다. 이때, 오픈플로우 스위치(200)는 데이터 플레인의 중앙집중식 제어가 가능하여, 네트워크 관리자는 이를 통해 좀 더 효과적이고 유연하게 네트워크를 관리할 수 있다.
또한, 오픈플로우 스위치(200)는 하드웨어로 구현되는 데이터 플레인을 포함하는 일종의 라우터이며, 오픈플로우 컨트롤러(100)는 소프트웨어로 구현되는 컨트롤 플레인을 포함하는 일종의 컴퓨팅 장치이다.
그리고 물리 머신(300)은 프로세서(processor), 메모리(memory) 및 네트워크 모듈(network module) 등을 포함하는 실제 하드웨어를 탑재한 컴퓨팅 장치이다. 예를 들어, 물리 머신(300)은 서버 컴퓨터, 워크스테이션(workstation), 데스크톱 컴퓨터(desktop computer) 및 노트북 컴퓨터(notebook computer) 등 일반적인 컴퓨팅 장치를 포함할 수 있다.
또한, 가상 머신(400)은 가상화된 프로세서(virtual processor), 가상화된 메모리(virtual memory) 및 가상화된 네트워크 모듈(virtual network module) 등을 포함하는 가상화된 컴퓨팅 장치이다. 가상 머신(400)은 물리 머신(300)에 포함되며, 가상화된 컴퓨팅 환경을 소프트웨어(software)로 구현한 것이다. 그러므로 가상 머신(400)은 물리 머신(300)의 하드웨어 등의 자원(resource)을 가상화(virtualization)하여 운영 체제(operating system)나 응용 프로그램(application)을 설치하고 실행할 수 있다. 가상 머신(400)은 가상 머신(400)에 설치된 운영 체제를 이용하여 물리 머신(300)의 자원에 직접 접근하여 실행하거나, 물리 머신(300)에 설치된 호스트 운영체제를 이용하여 자원에 접근하여 실행할 수 있다.
도 1에 도시된 것처럼, 가상 머신(400)의 라이브 마이그레이션이 결정되면 가상 머신(400)은 현재 연결된 물리 머신(300)이 아닌 다른 물리 머신(300)으로 라이브 마이그레이션을 수행할 수 있다.
이때, 라이브 마이그레이션은 클라우드 컴퓨팅 시스템(10)에서 가상 머신(400)이 서비스의 중단 없이 물리 머신(300)을 이전하는 것이다. 이때, 가상 머신(400)의 라이브 마이그레이션은 가상 머신(400)이 결정하거나, 가상 머신(400)이 포함된 물리 머신(300)이 결정할 수 있다. 또한, 오픈플로우 컨트롤러(100) 혹은 오픈플로우 스위치(200)가 가상 머신(400)의 라이브 마이그레이션을 결정할 수 있으나 이에 한정된 것은 아니다.
예를 들어, 가상 머신(400)은 현재 연결된 물리 머신에 과중한 부하가 발생하거나 시스템 오류나 하드웨어 고장 등이 발생하여 더 이상 사용할 수 없을 때 라이브 마이그레이션을 결정하고, 현재 연결된 물리 머신이 아닌 다른 물리 머신으로 라이브 마이그레이션을 수행할 수 있다. 또한, 물리 머신(300)은 과중한 부하나 시스템 오류가 발생하였을 때, 현재 물리 머신(300)에 포함된 가상 머신(400)의 라이브 마이그레이션을 결정하고, 가상 머신(400)에게 라이브 마이그레이션 수행을 요청할 수 있다.
그리고 오픈플로우 컨트롤러(100)는 클라우드 컴퓨팅 시스템(10)에 포함된 자원(resource)의 로드 밸런싱(load balancing)을 위하여 특정 가상 머신(400)의 라이브 마이그레이션을 결정할 수 있다. 또한, 오픈플로우 컨트롤러(100)는 클라우드 컴퓨팅 시스템(10)에 포함된 물리 머신(300) 및 네트워크 장치 등 하드웨어 장치에 이상이 발생하였을 때 가상 머신(400)의 라이브 마이그레이션 수행을 결정할 수 있다.
오픈플로우 컨트롤러(100)는 가상 머신(400)의 라이브 마이그레이션이 결정되면 클라우드 컴퓨팅 시스템(10)의 고가용성(high availability; HA) 기능을 이용하여 가상 머신이 현재 연결된 물리 머신(300)이 아닌 다른 물리 머신(300)으로 라이브 마이그레이션을 수행하도록 할 수 있다.
그리고 가상 머신(400)의 라이브 마이그레이션이 수행되면 오픈플로우 컨트롤러(100)는 오픈플로우 컨트롤러 API(application programming interface)에 기반하여 라이브 마이그레이션 된 가상 머신의 정보를 수신할 수 있다.
가상 머신의 정보를 수신한 오픈플로우 컨트롤러(100)는 재해복구 애플리케이션을 이용하여 라이브 마이그레이션된 가상 머신(400)을 감지할 수 있다. 라이브 마이그레이션된 가상 머신(400)이 감지되면, 오픈플로우 컨트롤러(100)는 라이브 마이그레이션된 가상 머신(400)에 대응하는 포워딩 경로(forwarding path)를 계산할 수 있다. 그리고 계산된 포워딩 경로에 대응하는 오픈플로우 스위치(200)를 검색하고, 검색된 오픈플로우 스위치(200)에 포워딩 경로를 업데이트 하여 가상 머신(400)의 라이브 마이그레이션을 완료할 수 있다.
다음은 도 2 내지 도 3을 이용하여 본 발명의 일 실시예를 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템(10)에서의 오픈플로우 컨트롤러(100)를 설명한다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)의 구성도이다.
본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템(10)에서의 오픈플로우 컨트롤러(100)는 라이브 마이그레이션된 가상 머신(400)을 탐지하고 포워딩 경로를 업데이트하여 네트워크 통신을 복구한다.
이때, 클라우드 컴퓨팅 시스템(10)에서의 오픈플로우 컨트롤러(100)는 데이터베이스(database; 110), 스토리지 장치(storage device; 120) 및 프로세서(130)를 포함한다.
데이터베이스(110)는 클라우드 컴퓨팅 시스템(10)에 포함된 하나 이상의 가상 머신(400)의 정보 및 가상 머신(400)의 포워딩 경로를 저장한다. 이때, 데이터베이스(110)는 오픈플로우 컨트롤러(100)에 설치된 서버 프로그램(server program) 형태로 실행될 수 있다. 그리고 데이터베이스(110)는 오픈플로우 컨트롤러(100)와 네트워크로 연결된 독립적인 데이터베이스 서버(database server)일 수 있다.
또한, 스토리지 장치(120)에는 재해복구 애플리케이션이 저장된다. 이때, 스토리지 장치(120)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장 장치를 통칭하는 것이다. 예를 들어, 스토리지 장치(120)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.
프로세서(130)는 클라우드 컴퓨팅 시스템(10)에 포함된 가상 머신(400)이 라이브 마이그레이션되면, 스토리지 장치(120)에 저장된 재해복구 애플리케이션을 실행시킴에 따라 라이브 마이그레이션된 가상 머신(400)을 탐지한다. 또한, 프로세서(130)는 라이브 마이그레이션된 가상 머신(400)에 대응하는 포워딩 경로를 추출하고, 추출된 포워딩 경로에 기초하여 저장된 포워딩 경로를 업데이트한다. 그리고 프로세서(130)는 계산된 포워딩 경로에 대응하는 오픈플로우 스위치(200)를 검색하고, 검색된 오픈플로우 스위치(200)에 포워딩 경로를 업데이트한다.
이때, 가상 머신(400)은 앞에서 설명한 것과 같이 가상화된 프로세서, 가상화된 메모리 및 가상화된 네트워크 모듈 등을 포함하는 가상화된 컴퓨팅 장치일 수 있다. 그리고 가상 머신(400)은 물리 머신(300)에 포함되며, 가상화된 컴퓨팅 환경을 소프트웨어로 구현한 것이다.
또한, 포워딩 경로는 데이터베이스(110)에 저장된 포워딩 규칙에 포함될 수 있다. 이때, 포워딩 규칙은 데이터베이스(110)에 저장되며, 가상 머신(400)의 순서 및 가상 머신(400)에 대응되는 오픈플로우 스위치(200) 목록을 더 포함할 수 있다.
그러므로 검색된 오픈플로우 스위치(200)에 포워딩 경로를 업데이트하기 위하여 검색된 오픈플로우 스위치(200)에 저장된 포워딩 규칙을 추출된 포워딩 경로가 포함된 포워딩 규칙으로 변경하여 업데이트할 수 있다.
한편, 데이터베이스(110)에 저장된 가상 머신의 정보는 가상 머신(400)의 식별 정보, 가상 머신(400)의 아이피(IP) 주소, 가상 머신(400)의 맥(MAC) 주소 및 가상 포트 정보를 포함할 수 있다. 이때, 가상 머신(400)의 식별 정보는 가상 머신(400)에게 부여된 식별 정보이거나 가성 머신(400)에서 실행되는 서비스의 식별 정보일 수 있다.
또한, 가상 머신(400)의 가상 머신의 정보는 라이브 마이그레이션을 수행하면, 변경될 수 있다. 그리고 프로세서(130)는 오픈플로우 컨트롤러(100)의 링크 디스커버리(link discovery) 기능을 이용하여 라이브 마이그레이션 된 가상 머신의 변경된 정보를 확인할 수 있다. 그러므로 프로세서(130)는 변경된 가상 머신의 정보에 기반하여 가상 머신(400)의 라이브 마이그레이션을 탐지할 수 있다.
한편, 프로세서(130)는 종래 기술에서 OSI 모델(Open Systems Interconnection Reference Model) 중 3번째 계층인 네트워크 계층(network layer)에서 재해복구 애플리케이션을 수행한 것과 달리 2번째 계층인 데이터 링크 계층(data link layer)에서 재해복구 애플리케이션을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)의 라이브 마이그레이션을 설명하기 위한 예시도이다.
예를 들어, 도 3에 도시된 것처럼, 복수 개의 물리 머신(300) 중 제 1 물리 머신(310)에 포함되는 제 1 가상 머신(410)은 제 1 물리 머신(310)에 시스템 오류가 발생하여 더 이상 실행할 수 없을 때 제 2 물리 머신(320)으로 라이브 마이그레이션을 수행할 수 있다. 이때, 라이브 마이그레이션을 수행하면, 오픈플로우 컨트롤러(100)에 저장된 제 1 가상 머신(410)의 정보는 제 1 물리 머신(310)에 대응하는 정보에서 제 2 물리 머신(320)에 대응하는 정보로 변경될 수 있다.
그리고 오픈플로우 컨트롤러(110)의 프로세서(130)는 오픈플로우 컨트롤러(100)의 스토리지 장치(120)에 저장된 재해복구 애플리케이션에 따라, 변경된 가상 머신의 정보에 기반하여 제 1 가상 머신(410)을 라이브 마이그레이션된 가상 머신(400)으로 탐지할 수 있다.
제 1 가상 머신(410)의 라이브 마이그레이션을 탐지한 이후 프로세서(130)는 포워딩 경로를 추출하고, 추출된 포워딩 경로에 기초하여 데이터베이스(110)에 저장된 포워딩 경로를 업데이트할 수 있다. 또한, 프로세서(130)는 추출된 포워딩 경로에 대응하는 제 2 오픈플로우 스위치(220)를 검색하고, 제 2 오픈플로우 스위치(220)에 포워딩 경로를 업데이트할 수 있다. 그리고 프로세서(130)는 라이브 마이그레이션 이전 제 1 가상 머신(410)의 포워딩 경로와 대응되는 제 1 오픈플로우 스위치(210)에 설치된 포워딩 경로를 삭제하여 재해복구를 완료할 수 있다.
다음은 도 4를 참조하여 본 발명의 일 실시예를 따른 소프트웨어 정의 네트워크에 기반한 클라우드 컴퓨팅 시스템(10)에서 오픈플로우 컨트롤러(100)의 재해복구 방법을 설명한다.
도 4는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)의 재해복구 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크에 기반한 클라우드 컴퓨팅 시스템(10)에서 오픈플로우 컨트롤러(100)의 재해복구 방법은 클라우드 컴퓨팅 시스템(10)에 포함된 가상 머신(400)이 라이브 마이그레이션되면, 먼저 라이브 마이그레이션된 가상 머신(400)을 탐지한다(S500). 그리고 재해복구 방법은 오픈플로우 컨트롤러(100)에 포함된 데이터베이스(110)에 저장된 포워딩 경로에서 라이브 마이그레이션된 가상 머신(400)에 대응하는 포워딩 경로를 추출하고(S510), 포워딩 경로에 기초하여 데이터베이스(110)에 저장된 포워딩 경로를 업데이트 한다(S520). 다음으로 계산된 포워딩 경로에 대응하는 오픈플로우 스위치를 검색하고(S530), 검색된 오픈플로우 스위치(200)에 포워딩 경로를 업데이트한다(S540).
이때, 클라우드 컴퓨팅 시스템(10)을 구성하는 각 구성요소는 네트워크를 통해 연결될 수 있다. 네트워크는 앞에서 설명한 것과 같이 단말 및 서버와 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다.
그리고 오픈플로우 컨트롤러(100)는 데이터베이스(110) 및 재해복구 애플리케이션이 저장된 스토리지 장치(120)를 포함할 수 있다. 또한, 오픈플로우 컨트롤러(100)는 네트워크 통신에 기반하여 오픈플로우 스위치(200)에 명령을 하고 그 명령에 따라 패킷을 목적지 물리 머신(300)으로 전송, 수정 및 폐기 등의 처리를 할 수 있다. 그리고 오픈플로우 컨트롤러(100)는 독립적인 장치로 실행되거나, 서버 등에 서버 프로그램으로 탑재되어 실행될 수 있다.
또한, 오픈플로우 스위치(200)는 하드웨어로 구현되는 데이터 플레인을 포함하는 일종의 라우터이며, 오픈플로우 컨트롤러(100)는 소프트웨어로 구현되는 컨트롤 플레인을 포함하는 일종의 컴퓨팅 장치이다. 오픈플로우 스위치(200)는 데이터 플레인의 중앙집중식 제어가 가능하여, 네트워크 관리자는 이를 통해 좀 더 효과적이고 유연하게 네트워크를 관리할 수 있다.
그리고 가상 머신(400)은 앞에서 설명한 것과 같이 가상화된 프로세서, 가상화된 메모리 및 가상화된 네트워크 모듈 등을 포함하는 가상화된 컴퓨팅 장치이다. 가상 머신(400)은 물리 머신(300)에 포함되며, 가상화된 컴퓨팅 환경을 소프트웨어로 구현한 것으로 물리 머신(300)의 하드웨어 등의 자원을 가상화하여 운영 체제나 응용 프로그램을 설치하고 실행할 수 있다.
또한, 가상 머신(400)은 가상 머신(400)에 설치된 운영 체제를 이용하여 물리 머신(300)의 자원에 직접 접근하여 실행하거나, 물리 머신(300)에 설치된 호스트 운영체제를 이용하여 자원에 접근하여 실행할 수 있다.
한편, 포워딩 경로는 포워딩 규칙을 포함할 수 있다. 그러므로 포워딩 경로를 업데이트하는 단계(S520)는 검색된 오픈플로우 스위치(200)에 저장된 포워딩 규칙을 추출된 포워딩 경로가 포함된 포워딩 규칙으로 변경하여 업데이트하는 것일 수 있다.
또한, 오픈플로우 컨트롤러(100)의 재해복구 방법은 라이브 마이그레이션된 가상 머신(400)을 탐지하기 위하여(S500) 데이터베이스(110)에 저장된 라이브 마이그레이션된 가상 머신(400)의 가상 머신의 정보에 기반할 수 있다. 이때, 오픈플로우 컨트롤러(100)의 링크 디스커버리 기능을 이용하여 라이브 마이그레이션 된 가상 머신의 정보를 확인할 수 있다. 가상 포트 정보와 같은 가상 머신(400)의 정보는 라이브 마이그레이션을 수행하면 변경될 수 있다. 그러므로 재해복구 방법은 이러한 가상 머신의 정보에 기반하여 가상 머신(400)의 라이브 마이그레이션을 탐지할 수 있다.
이와 같이 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크에 기반한 클라우드 컴퓨팅 시스템(10)의 오픈플로우 컨트롤러(100) 및 재해복구 방법은 소프트웨어 정의 네트워크에 기반한 오픈플로우 컨트롤러(100)를 이용하여 가상 머신(400)의 라이브 마이그레이션을 탐지하고 네트워크의 복구를 수행할 수 있으므로, 클라우드 컴퓨팅 시스템(10)의 서비스 연속성 및 고 가용성을 보장할 수 있다.
또한, 오픈플로우 컨트롤러(100) 및 재해복구 방법은 소프트웨어 정의 네트워크에 기반하여 데이터 링크 계층에서 재해복구 애플리케이션을 수행할 수 있다. 그러므로 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 시스템(10)은 기존 방법에 비하여 빠르게 네트워크를 복구하고 끊김 없는 서비스를 제공할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 클라우드 컴퓨팅 시스템 100: 오픈플로우 컨트롤러
110: 데이터베이스 120: 스토리지 장치
130: 프로세서 200: 오픈플로우 스위치
300: 물리 머신 400: 가상 머신

Claims (9)

  1. 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템에서의 오픈플로우 컨트롤러에 있어서,
    상기 클라우드 컴퓨팅 시스템에 포함된 하나 이상의 가상 머신의 정보 및 상기 가상 머신의 포워딩 경로가 저장된 데이터베이스,
    재해복구 애플리케이션이 저장된 스토리지 장치 및
    상기 재해복구 애플리케이션을 실행시키는 프로세서를 포함하되,
    상기 프로세서는 상기 클라우드 컴퓨팅 시스템에 포함된 가상 머신이 라이브 마이그레이션되면, 상기 재해복구 애플리케이션을 실행시킴에 따라 상기 가상 머신의 변경된 정보에 기초하여, 상기 라이브 마이그레이션된 가상 머신을 탐지하고,
    상기 라이브 마이그레이션된 가상 머신에 대응하는 포워딩 경로를 추출하고, 상기 추출된 포워딩 경로에 기초하여 상기 저장된 포워딩 경로를 업데이트하며,
    상기 추출된 포워딩 경로에 대응하는 오픈플로우 스위치를 검색하고, 상기 검색된 오픈플로우 스위치에 상기 추출된 포워딩 경로에 대응하는 업데이트 요청 을 전송하고,
    상기 가상 머신의 변경된 정보는 상기 가상 머신의 가상 포트 정보를 포함하는 오픈플로우 컨트롤러.
  2. 제 1 항에 있어서,
    상기 포워딩 경로는 포워딩 규칙에 포함되되,
    상기 포워딩 규칙은 상기 데이터베이스에 저장되며, 상기 가상 머신의 순서 및 상기 가상 머신에 대응되는 오픈플로우 스위치 목록을 더 포함하는 오픈플로우 컨트롤러.
  3. 제 2 항에 있어서,
    상기 프로세서는 상기 검색된 오픈플로우 스위치에 저장된 포워딩 규칙을 상기 추출된 포워딩 경로가 포함된 포워딩 규칙으로 변경하여 업데이트하는 것인 오픈플로우 컨트롤러.
  4. 제 1 항에 있어서,
    상기 데이터베이스에 저장된 가상 머신의 정보는 상기 가상 머신의 식별 정보, 상기 가상 머신의 아이피(IP) 주소, 상기 가상 머신의 맥(MAC) 주소 및 상기 가상 머신의 가상 포트 정보를 포함하는 것인 오픈플로우 컨트롤러.
  5. 제 4 항에 있어서,
    상기 프로세서는 상기 가상 머신의 가상 포트 정보의 변경 여부를 판단하고, 상기 가상 포트 정보가 변경된 것으로 판단된 가상 머신을 라이브 마이그레이션된 가상 머신으로 탐지하는 오픈플로우 컨트롤러.
  6. 제 1 항에 있어서,
    상기 프로세서는 데이터 링크 계층에서 상기 재해복구 애플리케이션을 수행하는 오픈플로우 컨트롤러.
  7. 소프트웨어 정의 네트워크에 기반한 클라우드 컴퓨팅 시스템에서 오픈플로우 컨트롤러의 재해복구 방법에 있어서,
    상기 클라우드 컴퓨팅 시스템에 포함된 가상 머신이 라이브 마이그레이션되면,
    상기 가상 머신의 변경된 정보에 기초하여, 상기 라이브 마이그레이션된 가상 머신을 탐지하는 단계;
    상기 라이브 마이그레이션된 가상 머신에 대응하는 포워딩 경로를 추출하는 단계;
    상기 추출된 포워딩 경로에 기초하여 데이터베이스에 저장된 포워딩 경로를 업데이트하는 단계;
    상기 추출된 포워딩 경로에 대응하는 오픈플로우 스위치를 검색하는 단계; 및
    상기 검색된 오픈플로우 스위치에 상기 포워딩 경로에 대응하는 업데이트 요청을 전송하는 단계를 포함하되,
    상기 가상 머신의 변경된 정보는 상기 가상 머신의 가상 포트 정보를 포함하는 재해복구 방법.
  8. 제 7 항에 있어서,
    상기 포워딩 경로는 포워딩 규칙에 포함되되,
    상기 포워딩 경로를 업데이트 하는 단계는,
    상기 검색된 오픈플로우 스위치에 저장된 포워딩 규칙을 상기 추출된 포워딩 경로가 포함된 포워딩 규칙으로 변경하여 업데이트하는 것인 재해복구 방법.
  9. 제 7 항에 있어서,
    상기 라이브 마이그레이션된 가상 머신을 탐지하는 단계는,
    상기 데이터베이스에 포함된 상기 가상 머신의 가상 포트 정보의 변경 여부를 판단하고, 상기 가상 포트 정보가 변경된 것으로 판단된 가상 머신을 라이브 마이그레이션된 가상 머신으로 탐지하는 것인 재해복구 방법.
KR1020140137693A 2014-05-22 2014-10-13 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법 KR101585413B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140061814 2014-05-22
KR1020140061814 2014-05-22

Publications (2)

Publication Number Publication Date
KR20150135040A KR20150135040A (ko) 2015-12-02
KR101585413B1 true KR101585413B1 (ko) 2016-01-14

Family

ID=54883380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140137693A KR101585413B1 (ko) 2014-05-22 2014-10-13 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법

Country Status (1)

Country Link
KR (1) KR101585413B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105726258A (zh) * 2016-02-03 2016-07-06 苏州经贸职业技术学院 一种智能助残康复系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013179456A (ja) 2012-02-28 2013-09-09 Nippon Telegr & Teleph Corp <Ntt> 統合制御装置及び統合制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013179456A (ja) 2012-02-28 2013-09-09 Nippon Telegr & Teleph Corp <Ntt> 統合制御装置及び統合制御方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Boughzala, Bochra, et al. "OpenFlow supporting inter-domain virtual machine migration." Wireless and Optical Communications Networks (WOCN), 2011 Eighth International Conference on. IEEE, 2011.
Mann, Vijay, et al. "CrossRoads: Seamless VM mobility across data centers through software defined networking." Network Operations and Management Symposium (NOMS), 2012 IEEE. IEEE, 2012.
Pisa, Pedro S., et al. "Openflow and xen-based virtual network migration." Communications: Wireless in Developing Countries and Networks of the Future. Springer Berlin Heidelberg, 2010. 170-181.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105726258A (zh) * 2016-02-03 2016-07-06 苏州经贸职业技术学院 一种智能助残康复系统

Also Published As

Publication number Publication date
KR20150135040A (ko) 2015-12-02

Similar Documents

Publication Publication Date Title
US10944630B2 (en) Seamless automation of network device migration to and from cloud managed systems
US20220131746A1 (en) Data center resource tracking
CN115004661B (zh) 通信服务提供商网络内托管的云计算实例的移动性
US20190089651A1 (en) Systems and methods for providing container attributes as part of oam techniques
US10979534B1 (en) Latency-based placement of cloud compute instances within communications service provider networks
US10887276B1 (en) DNS-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
US11095534B1 (en) API-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
US11246088B2 (en) Failover and management of multi-vendor network slices
US11941423B2 (en) Data processing method and related device
US11323919B1 (en) Edge computing for mobile devices that migrate in an access network
US20140019970A1 (en) Virtual machine management system and virtual machine management method
CN108667575B (zh) 一种bras转控分离的备份方法和装置
Ksentini et al. A LISP-based implementation of follow me cloud
US20170279689A1 (en) Software defined network controller for implementing tenant specific policy
CN105991387A (zh) 虚拟扩展局域网的报文传输方法和装置
CN112997452B (zh) 具有策略实施的基于云的路由器
US10873639B2 (en) Cooperative caching for fast and scalable policy sharing in cloud environments
US20200159556A1 (en) Traffic forwarding during migration
US10764234B2 (en) Method and system for host discovery and tracking in a network using associations between hosts and tunnel end points
US11743325B1 (en) Centralized load balancing of resources in cloud edge locations embedded in telecommunications networks
Addad et al. MIRA!: An SDN-based framework for cross-domain fast migration of ultra-low latency 5G services
US11138035B1 (en) Messaging between device groups using a logical group address in an access network
KR101585413B1 (ko) 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법
KR101984846B1 (ko) 객체 이동성을 제공하는 통신 방법 및 장치
US11943137B2 (en) Proactive flow provisioning based on environmental parameters of network devices

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
FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200106

Year of fee payment: 5