KR20160027337A - 가상화 환경에서의 자원 관리 장치 및 방법 - Google Patents

가상화 환경에서의 자원 관리 장치 및 방법 Download PDF

Info

Publication number
KR20160027337A
KR20160027337A KR1020140113399A KR20140113399A KR20160027337A KR 20160027337 A KR20160027337 A KR 20160027337A KR 1020140113399 A KR1020140113399 A KR 1020140113399A KR 20140113399 A KR20140113399 A KR 20140113399A KR 20160027337 A KR20160027337 A KR 20160027337A
Authority
KR
South Korea
Prior art keywords
resource
resources
controller
monitored
servers
Prior art date
Application number
KR1020140113399A
Other languages
English (en)
Other versions
KR101737468B1 (ko
Inventor
이정희
이상민
박종근
이범철
최강일
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020140113399A priority Critical patent/KR101737468B1/ko
Publication of KR20160027337A publication Critical patent/KR20160027337A/ko
Application granted granted Critical
Publication of KR101737468B1 publication Critical patent/KR101737468B1/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/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

가상화 환경의 자원들을 효율적으로 관리하고, 가상 머신의 성능을 확장시킬 수 있는 가상화 환경에서의 자원 관리 장치에 관한 기술이 개시된다. 가상화 환경에서의 자원 관리 장치는 서버들에 포함된 자원 정보를 모니터링하는 자원 모니터링부, 모니터링된 자원 정보에 기초하여 모니터링된 자원에 대한 라이프 사이클(Life Cycle)을 제어하는 제1 제어부 및 모니터링된 자원 정보에 기초하여 모니터링된 자원에 대한 작업 부하(Workload)를 제어하는 제2 제어부를 포함한다.

Description

가상화 환경에서의 자원 관리 장치 및 방법{APPARATUS AND METHOD FOR MANAGING RESOURCE IN VIRTUALIZATION ENVIRONMENT}
본 발명은 가상화 기술에 관한 것으로, 더욱 상세하게는 가상화 환경에서의 자원 관리 장치 및 방법 에 관한 것이다.
최근에 인터넷과 스마트 단말을 통한 클라우드 컴퓨팅이 확산되면서, 클라우드 컴퓨팅을 구현하는데 필요한 기반 기술 중에서 핵심적인 기술인 가상화(Virtualization) 기술이 주목받고 있다.
특히, 서버 가상화는 하나의 물리적인 서버를 여러 개의 서버인 것처럼 가상화하여 물리적인 서버의 효율을 높이기 위한 기술을 의미한다. 여기에서, 상기 가상화된 서버는 가상 머신(Virtual Machine; VM)이라고 지칭한다.
또한, 최근에 IT 시장의 급격한 발전으로 인해 데이터 규모가 크게 증가하고, 증가된 데이터 규모에 상응하여 데이터 센터가 대규모로 구축되면서, 대규모의 데이터 센터를 구축하는데 필요한 기반 기술 중에서 핵심적인 기술인 네트워크 기술이 주목받고 있다.
특히, 네트워크 기술 중에서 네트워크 기능 가상화 (Network Function Virtualization; NFV) 기술은 소프트웨어 정의 네트워킹(Software Defined Networking; SDN) 기술과 더불어 가상화 환경을 위해 새롭게 대두되는 기술이다. NFV 기술은 기존의 전용 하드웨어에 기반한 네트워크 장비 대신에 표준화된 대용량의 서버, 스위치, 스토리지 등을 이용하여 네트워크 장비를 구현하고, 상기 기존의 전용 하드웨어의 네트워크 기능들을 가상 머신을 이용하여 소프트웨어 기반으로 구현하는 기술이다.
상술한 바와 같이, 클라우드 컴퓨팅과 NFV 기술의 등장으로 인해, 현재의 가상화 환경에서는 응용 프로그램이 가상 머신 상에서 동작하고, 네트워크 기능들이 가상 머신을 이용하여 소프트웨어 기반으로 구현되고 있다.
따라서, 현재의 가상화 환경에서는 가상 머신의 성능을 확장하고, 자원을 효율적으로 관리하는 것이 매우 중요하다.
특히, 일반적인 서버를 이용하여 소프트웨어적으로 구현된 기능이나 가상 머신 상에 구현된 기능의 성능을 확장하는 방법에는 스케일 업(Scale-Up) 방법과 스케일 아웃(Scale-Out) 방법이 있다.
최근에는 제한적인 자원의 범위 내에서만 성능 확장이 가능한 스케일 업 방법보다는 지속적인 성능 확장이 가능한 스케일 아웃 방법이 많이 사용된다. 스케일 아웃 방법은 서버 또는 가상 머신의 수를 지속적으로 늘릴 수 있기 때문에 성능을 확장시키는데 대한 제한 조건이 거의 없다.
그러나, 현재의 가상화 환경에서는 상술한 스케일 아웃을 위한 모니터링을 클라우드 운영 체제(Operating System; OS) 내에서 수행함으로써 지속적으로 증가하는 응용 서비스 및 자원들에 대한 새로운 속성을 신속하게 모니터링하고 관리하는데 한계가 있는 문제점이 있다.
이와 더불어, 현재의 가상화 환경에서는 가상 머신 상에 동작하는 응용 프로그램과 가상 머신을 이용하여 소프트웨어 기반으로 구현되는 네트워크 기능들이 클라우드 운영 체제의 제어를 받는 구조적인 한계로 인하여 가상 머신의 성능을 확장하고, 자원을 효율적으로 관리하는데 있어서 제한적이라는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 가상화 환경의 자원들을 효율적으로 관리하고, 가상 머신의 성능을 확장시킬 수 있는 가상화 환경에서의 자원 관리 장치를 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 가상화 환경의 자원들을 효율적으로 관리하고, 가상 머신의 성능을 확장시킬 수 있는 가상화 환경에서의 자원 관리 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 가상화 환경에서의 자원 관리 장치는 서버들에 포함된 자원 정보를 모니터링하는 자원 모니터링부, 상기 모니터링된 자원 정보에 기초하여 상기 모니터링된 자원에 대한 라이프 사이클(Life Cycle)을 제어하는 제1 제어부 및 상기 모니터링된 자원 정보에 기초하여 상기 모니터링된 자원에 대한 작업 부하(Workload)를 제어하는 제2 제어부를 포함한다.
여기에서, 상기 자원 모니터링부는 상기 서버들에 포함된 자원 정보를 속성별로 분산하여 각각 모니터링하는 복수의 모니터들을 포함하고, 상기 제1 제어부는 상기 각각 모니터링된 자원 정보에 기초하여 상기 각각 모니터링된 자원에 대한 라이프 사이클을 제어하며, 상기 제2 제어부는 상기 복수의 모니터들 출력에 각각 연결되고, 상기 각각 모니터링된 자원 정보에 기초하여 상기 모니터링된 자원에 대한 작업 부하를 각각 제어하는 복수의 제어기를 포함할 수 있다.
여기에서, 상기 복수의 제어기들은 상기 각각 모니터링된 자원 정보에 기초하여 상기 각각 모니터링된 자원에 대한 작업 부하 상태를 판단하고, 상기 판단 결과에 따라 상기 각각 모니터링된 자원에 대한 작업 부하를 제어하거나 상기 제1 제어부에게 상기 각각 모니터링된 자원에 대한 라이프 사이클의 제어를 요청할 수 있다.
여기에서, 상기 복수의 제어기들 중에서 컴퓨팅 자원 제어기는 모니터링된 컴퓨팅 자원에 관련된 정보에 기초하여 상기 컴퓨팅 자원에 대한 분산 배치 상태를 판단하고, 상기 판단 결과 상기 컴퓨팅 자원에 대한 분산 배치가 필요한 경우 상기 컴퓨팅 자원에 대한 분산 배치를 제어하며, 상기 판단 결과 상기 컴퓨팅 자원에 대한 새로운 가상 머신의 스케일 아웃이 필요한 경우 상기 제1 제어부에게 상기 새로운 가상 머신의 추가 할당을 요청할 수 있다.
여기에서, 상기 복수의 제어기들 중에서 대역 자원 제어기는 모니터링된 대역 자원에 관련된 정보에 기초하여 상기 대역 자윈에 대한 대역 상태를 판단하고, 상기 판단 결과 상기 대역 자원에 대한 대역 재조정이 필요한 경우 상기 대역 자원에 대한 대역 재조정을 제어하며, 상기 판단 결과 상기 대역 자원에 대한 새로운 대역이 필요한 경우 상기 제1 제어부에게 상기 새로운 대역의 추가 할당을 요청할 수 있다.
여기에서, 상기 복수의 제어기들 중에서 플로우 제어기는 모니터링된 플로우 자원에 관련된 정보에 기초하여 상기 플로우 자원에 대한 플로우 상태를 판단하고, 상기 판단 결과 상기 플로우 자원에 새로운 플로우가 입력된 경우 상기 새로운 플로우를 제어하며, 상기 판단 결과 상기 플로우 자원에서 플로우가 aging out된 경우 상기 제1 제어부에게 상기 aging out된 플로우에 대한 제어를 요청할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 실시예에 따른 가상화 환경에서의 자원 관리 방법은 각각의 모니터에서 서버들에 포함된 자원 정보를 속성별로 분산하여 각각 모니터링하는 단계, 각각의 제어기에서 상기 각각 모니터링된 자원 정보에 기초하여 상기 각각 모니터링된 자원에 대한 작업 부하를 각각 제어하는 단계 및 통합 제어기에서 상기 각각 모니터링된 자원 정보에 기초하여 상기 각각 모니터링된 자원에 대한 라이프 사이클을 제어하는 단계를 포함한다.
여기에서, 상기 각각의 제어기에서 상기 작업 부하를 각각 제어하는 단계는 상기 각각 모니터링된 자원 정보에 기초하여 상기 각각 모니터링된 자원에 대한 작업 부하 상태를 판단하고, 상기 판단 결과에 따라 상기 각각 모니터링된 자원에 대한 작업 부하를 제어하거나 상기 통합 제어기에게 상기 각각 모니터링된 자원에 대한 라이프 사이클의 제어를 요청할 수 있다.
여기에서, 상기 각각의 제어기에서 상기 작업 부하를 각각 제어하는 단계는 상기 각각 모니터링된 자원 정보 중에서 컴퓨팅 자원에 관련된 정보에 기초하여 상기 컴퓨팅 자원에 대한 분산 배치 상태를 판단하고, 상기 판단 결과 상기 컴퓨팅 자원에 대한 분산 배치가 필요한 경우 상기 컴퓨팅 자원에 대한 분산 배치를 제어하며, 상기 판단 결과 상기 컴퓨팅 자원에 대한 새로운 가상 머신의 스케일 아웃이 필요한 경우 상기 통합 제어기에게 상기 새로운 가상 머신의 추가 할당을 요청할 수 있다.
여기에서, 상기 각각의 제어기에서 상기 작업 부하를 각각 제어하는 단계는 상기 각각 모니터링된 자원 정보 중에서 대역 자원에 관련된 정보에 기초하여 상기 대역 자윈에 대한 대역 상태를 판단하고, 상기 판단 결과 상기 대역 자원에 대한 대역 재조정이 필요한 경우 상기 대역 자원에 대한 대역 재조정을 제어하며, 상기 판단 결과 상기 대역 자원에 대한 새로운 대역이 필요한 경우 상기 통합 제어기에게 상기 새로운 대역의 추가 할당을 요청할 수 있다.
여기에서, 상기 각각의 제어기에서 상기 작업 부하를 각각 제어하는 단계는 상기 각각 모니터링된 자원 정보 중에서 플로우 자원에 관련된 정보에 기초하여 상기 플로우 자원에 대한 플로우 상태를 판단하고, 상기 판단 결과 상기 플로우 자원에 새로운 플로우가 입력된 경우 상기 새로운 플로우를 제어하며, 상기 판단 결과 상기 플로우 자원에서 플로우가 aging out된 경우 상기 제1 제어부에게 상기 aging out된 플로우에 대한 제어를 요청할 수 있다.
각각의 제어부에서 서버들에 포함된 자원을 분산하여 제어함으로써 대규모 클라우드 환경에서의 자원 처리 성능을 향상시킬 수 있다는 효과가 제공된다.
또한, 서버들에 포함된 자원들을 속성별로 분산하여 여러 개의 제어기로 제어함으로써 대규모 클라우드 환경에서의 자원을 효율적으로 관리할 수 있고, 가상 머신의 성능을 확장시킬 수 있다는 효과가 제공된다. 또한, 스케일 아웃 성능을 보장하고 지속적으로 증가하는 응용 서비스 및 자원들에 대한 새로운 속성을 신속하게 모니터링하고 관리할 수 있다는 효과가 제공된다.
도 1 내지 도 3은 본 발명의 일 실시예에 따른 가상화 환경의 구조를 나타내는 도면이다.
도 4 내지 도 6은 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 방법을 나타내는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서는, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 장치를 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상화 환경의 구조를 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 가상화 환경의 구조는 물리 서버(100) 및 자원 관리 장치(200)를 포함한다.
물리 서버(이하, 서버라고 지칭함)(100)는 클라우드 컴퓨팅에 기반한 데이터 센터에 구축될 수 있다. 또한, 서버(100)는 복수 개일 수 있다.
여기에서, 각각의 서버(100)는 서로가 물리적으로 구분될 수 있다. 여기에서, 각각의 서버(100)는 서로가 인접하게 위치할 수 있다. 여기에서, 각각의 서버(100)는 서로가 원격지에 위치할 수 있다.
또한, 서버(100)는 가상화 기술에 기반하여 생성된 복수의 가상 머신(Virtual Machine; VM)(110)을 포함할 수 있다.
여기에서, 서버 가상화는 하나의 물리적인 서버를 여러 개의 서버인 것처럼 가상화하여 물리적인 서버의 효율을 높이기 위한 기술로서, 여기에서 가상화된 서버를 가상 머신이라고 지칭할 수 있다.
또한, 서버(100)는 가상 머신 매니저((Virtual Machine Manager)(120)를 포함할 수 있다.
가상 머신 매니저(120)는 후술할 자원 관리 장치(200)에 연결될 수 있다. 또한, 가상 머신 매니저(120)는 자원 관리 장치(200)에 의해 관리될 수 있다.
여기에서, 가상 머신 매니저(120)는 서버(100)에 포함된 자원을 관리할 수 있다. 특히, 서버(100)에 포함된 자원은 서버(100) 또는 가상 머신들(110)에 대한 자원을 의미할 수 있다.
여기에서, 가상 머신 매니저(120)는 각각의 서버(100)에 위치하고, 각각의 서버(100)에 포함된 가상 머신들(110)을 관리할 수 있다.
여기에서, 가상 머신 매니저(120)는 가상 머신들(110)의 생성, 중단, 재시작, 종료 또는 삭제 등의 동작을 관리할 수 있다.
여기에서, 가상 머신 매니저(120)는 가상 머신들(110)에 포함된 게스트 운영 체제(Operating System; OS)가 서로 방해되지 않도록 가상 머신들(110)의 자원 및 메모리 할당 등을 관리할 수 잇다.
여기에서, 가상 머신 매니저(120)는 가상 머신들(110)의 통신을 관리하기 위하여 가상 스위치를 포함할 수 있다.
또한, 가상 머신 매니저(120)는 하이퍼바이저(Hypervisor)를 포함할 수 있다.
자원 관리 장치(200)는 서버들(100)과 연결될 수 있다. 또한, 자원 관리 장치(200)는 유선 또는 무선으로 서버들(100)과 통신을 수행할 수 있다. 여기에서, 자원 관리 장치(200)는 서버들(100)과 서로 인접하게 위치할 수 있다. 여기에서, 자원 관리 장치(200)는 서버들(100)로부터 원격지에 위치할 수 있다.
또한, 자원 관리 장치(200)는 서버들(100)에 포함된 자원 정보를 모니터링할 수 있다. 또한, 자원 관리 장치(200)는 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 모니터링된 자원을 서버들(100)의 가상 머신 매니저(120)를 통해 관리할 수 있다.
또한, 자원 관리 장치(200)는 자원 모니터링부(210), 제1 제어부(220) 및 제2 제어부(230)를 포함할 수 있다.
자원 모니터링부(210)는 서버들(100)에 연결될 수 있다. 또한, 자원 모니터링부(210)는 서버들(100)에 포함된 자원 정보를 모니터링할 수 있다. 일 예에서, 자원 모니터링부(210)는 실시간으로 서버들(100)에 포함된 자원 정보를 모니터링할 수 있다. 다른 예에서, 자원 모니터링부(210)는 주기적으로 또는 필요에 따라 서버들(100)에 포함된 자원 정보를 모니터링할 수 있다.
여기에서, 서버들(100)에 포함된 자원 정보는 가상화 자원을 포함할 수 있다.
여기에서, 서버들(100)에 포함된 자원 정보는 서버들(100)과 가상 머신들(110)에 대한 자원 정보를 포함할 수 있다.
여기에서, 서버들(100)에 포함된 자원 정보는 컴퓨팅 자원에 관련된 정보, 트래픽 자원에 관련된 정보, 네트워크 부하 자원에 관련된 정보, 대역 자원에 관련된 정보, 플로우 자원에 관련된 정보, 부하 분산 자원에 관련된 정보 및 보안 자원에 관련된 정보를 포함할 수 있다.
또한, 자원 모니터링부(210)는 모니터링된 자원 정보를 후술할 제1 제어부(220) 및 제2 제어부(230)에게 제공할 수 있다.
제1 제어부(220)는 자원 모니터링부(210)에 연결될 수 있다. 또한, 제1 제어부(220)는 자원 모니터링부(210)로부터 모니터링된 자원 정보를 제공받을 수 있다. 또한, 제1 제어부(220)는 제공받은 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 모니터링된 자원에 대한 라이프 사이클(Life Cycle)을 제어할 수 있다.
일 예에서, 제1 제어부(220)는 제공받은 모니터링된 자원 정보에 기초하여 서버들(100) 또는 가상 머신들(110)에 대한 라이프 사이클을 제어할 수 있다. 특히, 가상 머신들(110)에 대한 라이프 사이클은 가상 머신(110)의 생성, 삭제 및 이동을 포함할 수 있다.
다른 예에서, 제1 제어부(220)는 제공받은 모니터링된 자원 정보에 기초하여 새로운 가상 머신(110)에 대한 스케일 아웃(Scale-Out) 여부를 판단하고, 판단 결과에 따라 새로운 가상 머신(110)을 서버들(100)의 가상 머신 매니저(120)를 통해 생성시킬 수 있다.
여기에서, 모니터링된 자원 정보는 서버들(100) 및 가상 머신들(110)의 메모리 사용량 정보 및 CPU 사용량 정보를 포함하는 컴퓨팅 자원에 관련된 정보, 가상 머신들(110) 및 트래픽에 입력 또는 출력되는 트래픽 정보를 포함하는 트래픽 자원에 관련된 정보 및, 패킷 처리를 위해 저장된 큐(Queue) 정보를 포함하는 네트워크 부하 자원에 관련된 정보를 포함할 수 있다. 즉, 상술한 모니터링된 자원 정보는 서버들(100) 또는 가상 머신들(110)의 스케일 아웃을 위한 정보로 이용될 수 있다.
여기에서, 스케일 아웃은 일반적인 서버를 이용하여 소프트웨어적으로 구현된 기능이나 가상 머신 상에 구현된 기능의 성능을 확장하는 방법이다. 즉, 스케일 아웃은 기존에 존재하던 서버 또는 가상 머신과 동일한 기능 및 규격을 가지는 서버 또는 가상 머신을 지속적으로 늘리고, 이들을 연동함으써 시스템의 성능을 향상시키는 방법이다. 이러한 스케일 아웃은 서버 또는 가상 머신의 수를 지속적으로 늘릴 수 있기 때문에 시스템의 성능을 확장시키는데 대한 제한 조건이 거의 없다.
제2 제어부(230)는 자원 모니터링부(210)에 연결될 수 있다. 또한, 제2 제어부(230)는 자원 모니터링부(210)로부터 모니터링된 자원 정보를 제공받을 수 있다. 또한, 제2 제어부(230)는 제공받은 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 모니터링된 자원에 대한 작업 부하(Workload)를 제어할 수 있다.
여기에서, 모니터링된 자원 정보는 컴퓨팅 자원에 관련된 정보, 트래픽 자원에 관련된 정보, 네트워크 부하 자원에 관련된 정보, 대역 자원에 관련된 정보, 가상 플로우 자원에 관련된 정보, 부하 분산 자원에 관련된 정보 및 보안 자원에 관련된 정보를 포함할 수 있다.
여기에서, 작업 부하는 트래픽에 관련된 작업 부하, 네트워크에 관련된 작업 부하, 대역에 관련된 작업 부하, 플로우 상태에 관련된 작업 부하, 부하 분산에 관련된 작업 부하 및 보안에 관련된 작업 부하를 포함할 수 있다.
일 예에서, 제2 제어부(230)는 모니터링된 자원 정보에 기초하여 제1 제어부(220)에 의해 새롭게 생성되거나 삭제된 가상 머신들(110)에 대한 작업 부하를 제어할 수 있다.
즉, 제2 제어부(230)는 모니터링된 자원 정보에 기초하여 서버들(100)에 새롭게 생성된 가상 머신(110)에 대한 네트워크 정보를 설정하고, 설정된 네트워크 정보에 따라 새롭게 생성된 가상 머신(110)과 기존에 존재하던 가상 머신들(110) 사이에서의 부하 분산에 대한 제어를 할 수 있다.
여기에서, 부하 분산 방법은 트래픽을 분산하는 방법을 포함할 수 있다. 즉, 트래픽을 분산하는 방법은 동일한 목적지로 전송된 패킷을 서로 다른 서버나 가상 머신에서 처리할 수 있도록 트래픽을 분산한 방법이다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 장치는 두 개의 제어부로 구분하고, 구분된 각각의 제어부를 이용하여 서버들에 포함된 자원들을 각각 제어할 수 있다.
따라서, 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 장치는 각각의 제어부에서 서버들에 포함된 자원을 분산하여 제어함으로써 대규모 클라우드 환경에서의 자원 처리 성능을 향상시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 가상화 환경의 구조를 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 가상화 환경의 구조는 서버(100) 및 자원 관리 장치(200)를 포함한다. 서버(100)는 복수의 가상 머신(110) 및 가상 머신 매니저(120)를 포함한다. 자원 관리 장치(200)는 자원 모니터링부(210), 제1 제어부(220) 및 제2 제어부(230)를 포함한다.
후술할 서버(100) 및 자원 관리 장치(200)는 도 1을 참조하여 상술한 서버(100) 및 자원 관리 장치(200)와 각각 대응되어 이해될 수 있으므로, 도 1을 참조하여 상술한 가상화 환경의 구조와 중복되는 내용은 설명의 간명성을 위하여 생략한다.
자원 모니터링부(210)는 복수의 모니터들(M1, M2, M3)을 포함할 수 있다.
각각의 모니터(M1, M2, M3)는 서버들(100)에 연결될 수 있다. 또한, 각각의 모니터(M1, M2, M3)는 서버들(100)에 포함된 자원 정보를 속성별로 분산하여 각각 모니터링할 수 있다.
여기에서, 서버들(100)에 포함된 자원 정보를 속성별로 구분하면, 서버들(100)에 포함된 자원 정보는 컴퓨팅 자원에 관련된 정보, 대역 자원에 관련된 정보, 플로우 상태 자원에 관련된 정보, 부하 분산 자원에 관련된 정보 또는 보안 자원에 관련된 정보로 구분할 수 있다.
즉, 제1 모니터(M1)는 컴퓨팅 자원에 관련된 정보를 모니터링할 수 있다. 또한, 제2 모니터(M2)는 대역 자원에 관련된 정보를 모니터링할 수 있다. 또한, 제3 모니터(M3)는 플로우 자원에 관련된 정보를 모니터링할 수 있다.
또한, 각각의 모니터는(M1, M2, M3) 각각 모니터링된 자원 정보를 후술할 제1 제어부(220) 및 제2 제어부(230)에게 제공할 수 있다.
제1 제어부(220)는 각각의 모니터(M1, M2, M3)에 연결될 수 있다. 또한, 제1 제어부(220)는 각각의 모니터(M1, M2, M3)로부터 각각 모니터링된 자원 정보를 제공받을 수 있다.
즉, 제1 제어부(220)는 제1 모니터(M1)로부터 컴퓨팅 자원에 관련된 정보를 제공받을 수 있다. 또한, 제1 제어부(220)는 제2 모니터(M2)로부터 대역 자원에 관련된 정보를 제공받을 수 있다. 또한, 제1 제어부(220)는 제3 모니터(M3)로부터 플로우 상태 자원에 관련된 정보를 제공받을 수 있다.
또한, 제1 제어부(220)는 각각 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 각각 모니터링된 자원에 대한 라이프 사이클을 제어할 수 있다.
제2 제어부(230)는 복수의 제어기들(C1, C2, C3)을 포함할 수 있다.
각각의 제어기(C1, C2, C3)는 각각의 모니터(M1, M2, M3) 출력에 일대일로 대응되어 연결될 수 있다. 또한, 각각의 제어기(C1, C2, C3)는 일대일로 대응되는 모니터(M1, M2, M3)로부터 모니터링된 자원 정보를 제공받을 수 있다.
즉, 제1 제어기(C1)는 제1 모니터(M1)로부터 컴퓨팅 자원에 관련된 정보를 제공받을 수 있다. 또한, 제2 제어기(C2)는 제2 모니터(M2)로부터 대역 자원에 관련된 정보를 제공받을 수 있다. 또한, 제3 제어기(C3)는 제3 모니터(M3)로부터 플로우 상태 자원에 관련된 정보를 제공받을 수 있다.
또한, 각각의 제어기(C1, C2, C3)는 각각 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 각각 모니터링된 자원에 대한 작업 부하를 각각 제어할 수 있다.
도 3은 본 발명의 일 실시예에 따른 가상화 환경의 구조를 나타내는 도면이다.
도 3를 참조하면, 본 발명의 일 실시예에 따른 가상화 환경의 구조는 서버(100) 및 자원 관리 장치(200)를 포함한다. 서버(100)는 복수의 가상 머신(110) 및 가상 머신 매니저(120)를 포함한다. 자원 관리 장치(200)는 자원 모니터링부(210), 제1 제어부(220) 및 제2 제어부(230)를 포함한다.
후술할 서버(100) 및 자원 관리 장치(200)는 도 1 및 도 2를 참조하여 상술한 서버(100) 및 자원 관리 장치(200)와 각각 대응되어 이해될 수 있으므로, 도 1 및 도 2를 참조하여 상술한 가상화 환경의 구조와 중복되는 내용은 설명의 간명성을 위하여 생략한다.
가상 머신 매니저(120)는 복수의 에이전트들(Agent)(MA1, MA2, MA3, CA1, CA2, CA3)을 포함할 수 있다.
복수의 에이전트들(MA1, MA2, MA3, CA1, CA2, CA3)은 복수의 모니터 에이전트들(MA1, MA2, MA3) 및 제어기 에이전트들(CA1, CA2, CA3)을 포함할 수 있다.
각각의 모니터 에이전트(MA1, MA2, MA3)는 서버들(100)에 포함된 자원 정보를 속성별로 분산하여 각각 수집할 수 있다.
여기에서, 각각의 모니터 에이전트(MA1, MA2, MA3)는 컴퓨팅 자원에 관련된 정보를 수집하는 컴퓨팅 자원 모니터 에이전트(MA1), 대역 자원에 관련된 정보를 수집하는 대역 자원 모니터 에이전트(MA2), 플로우 자원에 관련된 정보를 수집하는 플로우 자원 모니터 에이전트(MA3), 부하 분산 자원에 관련된 정보를 수집하는 부하 분산 자원 모니터 에이전트(미도시) 및 보안 자원에 관련된 정보를 수집하는 보안 자원 모니터 에이전트(미도시)를 포함할 수 있다.
또한, 각각의 모니터 에이전트(MA1, MA2, MA3)는 후술할 자원 모니터링부(210)의 각각의 모니터(M1, M2, M3)와 일대일로 대응되게 연결되고, 각각 수집된 자원 정보를 일대일로 대응되게 연결된 각각의 모니터(M1, M2, M3)에게 제공할 수 있다. 즉, 일대일로 대응되게 연결되는 각각의 모니터 에이전트(MA1, MA2, MA3)와 각각의 모니터(M1, M2, M3)는 서로 연동할 수 있다.
또한, 각각의 모니터 에이전트(MA1, MA2, MA3)는 후술할 제1 제어부(220)의 모니터 플러그인(Monitor Plug-in)(MP)과 API(Application Program Interface)를 통하여 서로 연동할 수 있다.
각각의 제어기 에이전트(CA1, CA2, CA3)는 후술할 제2 제어부(230)의 각각의 제어기(C1, C2, C3)와 일대일로 대응되게 연결되고, 일대일로 대응되게 연결되는 각각의 제어기 에이전트(CA1, CA2, CA3)와 각각의 제어기(C1, C2, C3)는 서로 연동할 수 있다.
여기에서, 각각의 제어기 에이전트(CA1, CA2, CA3)는 후술할 컴퓨팅 자원 제어기(C1)와 서로 연동하는 컴퓨팅 자원 제어기 에이전트(CA1), 대역 자원 제어기(C2)와 서로 연동하는 대역 자원 제어기 에이전트(CA2), 플로우 자원 제어기(C3)와 서로 연동하는 플로우 자원 제어기 에이전트(CA3), 부하 분산 자원 제어기(미도시)와 서로 연동하는 부하 분산 자원 제어기 에이전트(미도시) ? 보안 자원 제어기(미도시)와 서로 연동하는 보안 자원 제어기 에이전트(미도시)를 포함할 수 있다.
특히, 상술한 플로우 자원 제어기(C3)가 SDN(Software Defined Networking) 제어기(Controller)인 경우, 플로우 자원 제어기 에이전트(CA3)는 OVS(Open Virtual Switch) 에이전트일 수 있다.
또한, 각각의 제어기 에이전트(CA1, CA2, CA3)는 후술할 제1 제어부(220)의 제어기 플러그인(Monitor Plug-in)(CP)과 API(Application Program Interface)를 통하여 서로 연동할 수 있다.
자원 모니터링부(210)는 복수의 모니터들(M1, M2, M3)을 포함할 수 있다.
각각의 모니터(M1, M2, M3)는 상술한 각각의 모니터 에이전트(MA1, MA2, MA3)와 서로 연동할 수 있다. 또한, 각각의 모니터들(M1, M2, M3)은 각각의 모니터 에이전트(MA1, MA2, MA3)에서 수집한 자원 정보를 각각 모니터링할 수 있다.
여기에서, 각각의 모니터(M1, M2, M3)는 상술한 컴퓨팅 자원 모니터 에이전트(MA1)와 서로 연동하는 컴퓨팅 자원 모니터(M1), 대역 자원 모니터 에이전트(MA2)와 서로 연동하는 대역 자원 모니터(M2), 플로우 자원 모니터 에이전트(MA3)와 서로 연동하는 플로우 자원 모니터(M3), 부하 분산 자원 모니터 에이전트(미도시)와 서로 연동하는 부하 분산 자원 모니터(미도시) 및 보안 자원 모니터 에이전트(미도시)와 서로 연동하는 보안 자원 모니터(미도시)를 포함할 수 있다.
또한, 각각의 모니터(M1, M2, M3)는 각각 모니터링된 자원 정보를 일대일로 대응되는 각각의 제어기(C1, C2, C3)에 제공할 수 있다. 또한, 각각의 모니터(M1, M2, M3)는 각각 모니터링된 자원 정보를 후술할 제1 제어부(220)의 모니터 플러그인(MP)에게 제공할 수 있다.
제1 제어부(220)는 오픈 스택(Open Stack)(OS), 모니터 플러그인(Monitor Plug-in)(MP) 및 제어기 플러그인(Controller Plug-in)(CP)을 포함할 수 있다.
오픈 스택(OS)은 도 1 및 도 2를 참조하여 설명한 제1 제어부(220)의 기능과 동일하므로 상세한 설명은 생략한다.
모니터 플러그인(MP)은 오픈 스택(OS)과 서버(100)의 가상 머신 매니저(120)에 포함된 복수의 모니터 에이전들(MA1, MA2, MA3)과의 연동 기능을 제공할 수 있다.
제어기 플러그인(CP)은 오픈 스택(OS)과 제2 제어부(230)의 복수의 제어기들(C1, C2, C3)과의 연동 기능을 제공할 수 있다.
제2 제어부(230)는 복수의 제어기들(C1, C2, C3)을 포함할 수 있다.
각각의 제어기들(C1, C2, C3)은 상술한 각각의 모니터(M1, M2, M3)와 일대일로 대응되어 연결될 수 있다. 또한, 각각의 제어기들(C1, C2, C3)은 일대일로 대응되는 각각의 모니터로(M1, M2, M3)부터 모니터링된 자원 정보를 제공받을 수 있다.
여기에서, 각각의 제어기들(C1, C2, C3)은 상술한 컴퓨팅 자원 모니터(M1)에 연결되는 컴퓨팅 자원 제어기(C1), 대역 자원 모니터(M2)에 연결되는 대역 자원 제어기(C2), 플로우 자원 모니터(M3)에 연결되는 플로우 자원 제어기(C3), 부하 분산 자원 모니터(미도시)에 연결되는 부하 분산 자원 제어기(미도시) 및 보안 자원 모니터(미도시)에 연결되는 보안 자원 제어기(미도시)를 포함할 수 있다.
또한, 각각의 제어기들(C1, C2, C3)은 각각 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 각각 모니터링된 자원에 대한 작업 부하 상태를 각각 판단할 수 있다.
여기에서, 서버들(100)에 포함된 각각 모니터링된 자원에 대한 작업 부하 제어가 필요한 경우, 각각의 제어기들(C1, C2, C3)은 각각 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 각각 모니터링된 자원에 대한 작업 부하를 서로 연동하는 서버들(100)의 제어기 에어전트(CA1, CA2, CA3)를 통해 제어할 수 있다.
여기에서, 서버들(100)에 포함된 각각 모니터링된 자원에 대한 라이프 사이클 제어가 필요한 경우, 각각의 제어기들(C1, C2, C3)은 서로 연동하는 제1 제어부(220)의 제어기 플러그인(CP)에게 각각 모니터링된 자원에 대한 라이프 사이클의 제어를 각각 요청할 수 있다. 이에 따라, 상기 요청을 받은 제1 제어부(220)는 각각 모니터링된 자원 정보에 기초하여 서버들(100)에 포함된 각각 모니터링된 자원에 대한 라이프 사이클을 서로 연동하는 서버(100)의 제어기 에이전트(CA1, CA2, CA3)를 통해 제어할 수 있다.
아래에서는 컴퓨팅 자원 제어기(C1), 대역 자원 제어기(C2) 및 플로우 자원 제어기(C3)에 대하여 구체적으로 설명한다.
컴퓨팅 자원 제어기(C1) 및 제1 제어부(220)의 모니터 플러그인(MP)은 컴퓨팅 자원 모니터(M1)로부터 모니터링된 컴퓨팅 자원에 관련된 정보를 제공받을 수 있다. 또한, 컴퓨팅 자원 제어기(C1)는 모니터링된 컴퓨팅 자원에 관련된 정보에 기초하여 서버들(100)에 포함된 컴퓨팅 자원에 대한 분산 배치 상태를 판단할 수 있다.
여기에서, 서버들(100)에 포함된 컴퓨팅 자원에 대한 분산 배치가 필요한 경우, 컴퓨팅 자원 제어기(C1)는 모니터링된 컴퓨팅 자원에 관련된 정보에 기초하여 서버들(100)에 포함된 컴퓨팅 자원에 대한 분산 배치를 서버(100)의 컴퓨팅 자원 제어기 에이전트(CA1)를 통해 제어할 수 있다.
여기에서, 서버들(100)에 포함된 컴퓨팅 자원에 대한 새로운 가상 머신(110)의 스케일 아웃이 필요한 경우, 컴퓨팅 자원 제어기(C1)는 서로 연동하는 제1 제어부(220)의 제어기 플러그인(CP) 통해 서버들(100)에 포함된 컴퓨팅 자원에 대한 새로운 가상 머신(110)의 추가 할당을 요청할 수 있다. 이에 따라, 상기 요청을 받은 제1 제어부(220)는 모니터링된 컴퓨팅 자원에 관련된 정보에 기초하여 서버들(100)에 포함된 컴퓨팅 자원에 대한 새로운 가상 머신(110)의 추가 할당을 서로 연동하는 서버들(100)의 컴퓨팅 자원 제어기 에이전트(CA1)를 통해 제어할 수 있다.
대역 자원 제어기(C2) 및 제1 제어부(220)의 모니터 플러그인(MP)은 대역 자원 모니터(M2)로부터 모니터링된 대역 자원에 관련된 정보를 제공받을 수 있다. 또한, 대역 자원 제어기(C2)는 모니터링된 대역 자원에 관련된 정보에 기초하여 서버들(100)에 포함된 대역 자원의 대역 상태를 판단할 수 있다.
여기에서, 서버들(100)에 포함된 대역 자원에 대한 대역 재조정이 필요한 경우, 대역 자원 제어기(C2)는 모니터링된 대역 자원에 관련된 정보에 기초하여 서버들(100)에 포함된 대역 자원에 대한 대역 재조정을 서로 연동하는 서버(100)의 대역 자원 제어기 에이전트(CA2)를 통해 제어할 수 있다.
여기에서, 서버들(100)에 포함된 대역 자원에 대한 새로운 대역이 필요한 경우, 대역 자원 제어기(C2)는 서로 연동하는 제1 제어부(220)의 제어기 플러그인(CP) 통해 서버들(100)에 포함된 대역 자원에 대한 새로운 대역의 추가 할당을 요청할 수 있다. 이에 따라, 상기 요청을 받은 제1 제어부(220)는 모니터링된 대역 자원에 관련된 정보에 기초하여 서버들(100)에 포함된 대역 자원에 대한 새로운 대역의 추가 할당을 서로 연동하는 서버(100)의 대역 자원 제어기 에이전트(CA2)를 통해 제어할 수 있다.
플로우 자원 제어기(C3) 및 제1 제어부(220)의 모니터 플러그인(MP)은 플로우 자원 모니터(M3)로부터 모니터링된 플로우 자원에 관련된 정보를 제공받을 수 있다. 또한, 플로우 자원 제어기(C3)는 모니터링된 플로우 자원에 관련된 정보에 기초하여 서버들(100)에 포함된 플로우 자원에 대한 플로우 상태를 판단할 수 있다.
여기에서, 플로우는 가상 플로우를 포함할 수 있다.
여기에서, 서버들(100)에 포함된 플로우 자원에 새로운 플로우가 입력된 경우, 플로우 자원 제어기(C3)는 모니터링된 플로우 자원에 관련된 정보에 기초하여 새로운 플로우에 대한 포트 정보, IP 정보 및QoS 정보를 플로우 자원 제어기 에이전트(CA3)에게 제공하여 새로운 플로우를 제어할 수 있다.
여기에서, 플로우 자원에서 플로우가 aging out된 경우, 플로우 자원 제어기(C3)는 서로 연동하는 제1 제어부(220)의 제어기 플러그인(CP)에게 aging out된 플로우에 대한 정보를 제공하여 aging out된 플로우에 대한 제어를 요청할 수 있다. 이에 따라, 상기 요청을 받은 제1 제어부(220)는 모니터링된 플로우 자원에 기초하여 aging out된 플로우를 서버들(100)의 플로우 자원 제어기 에이전트(CA3)를 통해 제어할 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 장치는 서버들에 포함된 자원 정보를 속성별로 분산하여 각각 모니터링하고, 각각 모니터링된 자원 정보에 기초하여 두개의 제어부에서 서버에 포함된 각각 모니터링된 자원을 제어할 수 있다.
따라서, 가상 머신 상에 동작하는 응용 프로그램과 가상 머신을 이용하여 소프트웨어 기반으로 구현되는 네트워크 기능들이 클라우드 운영 체제의 제어를 받는 구조적인 한계로 인하여 가상 머신의 성능을 확장하고, 자원을 효율적으로 관리하는데 있어서 제한적인 종래의 구조보다, 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 장치는 서버들에 포함된 자원들을 속성별로 분산하여 여러 개의 제어기로 제어함으로써 대규모 클라우드 환경에서의 자원을 효율적으로 관리할 수 있고, 가상 머신의 성능을 확장시킬 수 있다.
또한, 스케일 아웃을 위한 모니터링을 클라우드 운영 체제 내에서 수행함으로써 지속적으로 증가하는 응용 서비스 및 자원들에 대한 새로운 속성을 신속하게 모니터링하고 관리하는데 한계가 있는 종래의 구조보다, 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 장치는 서버들에 포함된 자원들을 속성별로 분산하여 여러 개의 제어기로 제어함으로써 스케일 아웃 성능을 보장하고 지속적으로 증가하는 응용 서비스 및 자원들에 대한 새로운 속성을 신속하게 모니터링하고 관리할 수 있다.
이하에서는, 첨부된 도면(도 4 내지 도 6)을 참조하여 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 방법을 설명한다. 특히, 상술한 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 장치와 중복되는 부분은 설명의 간명성을 위하여 생략한다.
도 4는 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 방법을 나타내는 순서도이다.
도 4를 참조하면, 먼저 서버들에 포함된 자원 정보를 모니터링할 수 있다(S310).
여기에서, 서버들에 포함된 자원 정보는 컴퓨팅 자원에 관련된 정보, 트래픽 자원에 관련된 정보, 네트워크 부하 자원에 관련된 정보, 대역 자원에 관련된 정보, 플로우 자원에 관련된 정보, 부하 분산 자원에 관련된 정보 및 보안 자원에 관련된 정보를 포함할 수 있다.
이후, 모니터링된 자원 정보에 기초하여 서버들에 포함된 모니터링된 자원에 대한 작업 부하(Workload)를 제어할 수 있다(S320).
일 예에서, 모니터링된 자원 정보에 기초하여 새롭게 생성되거나 삭제된 가상 머신들에 대한 작업 부하를 제어할 수 있다.
즉, 모니터링된 자원 정보에 기초하여 서버들에 새롭게 생성된 가상 머신에 대한 네트워크 정보를 설정하고, 설정된 네트워크 정보에 따라 새롭게 생성된 가상 머신과 기존에 존재하던 가상 머신들 사이에서의 부하 분산에 대한 제어를 할 수 있다.
여기에서, 부하 분산 방법은 트래픽을 분산하는 방법을 포함할 수 있다. 즉, 트래픽을 분산하는 방법은 동일한 목적지로 전송된 패킷을 서로 다른 서버나 가상 머신에서 처리할 수 있도록 트래픽을 분산한 방법이다.
이후, 모니터링된 자원 정보에 기초하여 서버들에 포함된 모니터링된 자원에 대한 라이프 사이클(Life Cycle)을 제어할 수 있다(S330).
일 예에서, 모니터링된 자원 정보에 기초하여 서버들 또는 가상 머신들에 대한 라이프 사이클을 제어할 수 있다. 특히, 가상 머신들에 대한 라이프 사이클은 가상 머신의 생성, 삭제 및 이동을 포함할 수 있다.
다른 예에서, 모니터링된 자원 정보에 기초하여 새로운 가상 머신에 대한 스케일 아웃(Scale-Out) 여부를 판단하고, 판단 결과에 따라 새로운 가상 머신을 서버들에 생성시킬 수 있다.
도 5는 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 방법을 나타내는 순서도이다.
아래에서는 도 4와 중복되는 내용은 설명의 간명성을 위해 생략한다.
도 5를 참조하면, 먼저 각각의 모니터에서 서버들에 포함된 자원 정보를 속성별로 분산하여 각각 모니터링할 수 있다(S410).
여기에서, 각각의 모니터는 도 2 및 도 3을 참조하여 설명한 각각의 모니터(M1, M2, M3)와 대응되어 이해될 수 있다.
이후, 각각의 제어기는 일대일로 대응되게 연결된 각각의 모니터로부터 각각 모니터링된 자원 정보를 제공받을 수 있다.
여기에서, 각각의 제어기는 도 2 및 도 3을 참조하여 설명한 각각의 제어기(C1, C2, C3)와 대응되어 이해될 수 있다.
이후, 각각의 제어기에서 각각 모니터링된 자원 정보에 기초하여 서버들에 포함된 각각 모니터링된 자원에 대한 작업 부하를 각각 제어할 수 있다(S420).
이후, 통합 제어기에서 각각 모니터링된 자원 정보에 기초하여 서버들에 포함된 각각 모니터링된 자원에 대한 라이프 사이클을 제어할 수 있다(S430).
여기에서, 통합 제어기는 도 2 및 도 3을 참조하여 설명한 제1 제어부(220)와 대응되어 이해될 수 있다.
도 6은 본 발명의 일 실시예에 따른 가상화 환경에서의 자원 관리 방법을 나타내는 순서도이다.
아래에서는 도 4 및 도 5와 중복되는 내용은 설명의 간명성을 위해 생략한다.
도 6을 참조하면, 먼저 각각의 모니터에서 서버들에 포함된 자원 정보를 속성별로 분산하여 각각 모니터링할 수 있다(S510).
이후, 각각의 제어기는 일대일로 대응되게 연결된 각각의 모니터로부터 각각 모니터링된 자원 정보를 제공받을 수 있다.
이후, 각각의 제어기에서 각각 모니터링된 자원 정보에 기초하여 서버들에 포함된 각각 모니터링된 자원에 대한 작업 부하 상태를 판단할 수 있다(S520).
여기에서, 서버들에 포함된 각각 모니터링된 자원에 대한 작업 부하 제어가 필요한 경우, 각각의 제어기들은 각각 모니터링된 자원 정보에 기초하여 서버들에 포함된 각각 모니터링된 자원에 대한 작업 부하를 각각 제어할 수 있다(S530).
여기에서, 서버들에 포함된 각각 모니터링된 자원에 대한 라이프 사이클 제어가 필요한 경우, 각각의 제어기들은 통합 제어기에게 서버들에 포함된 각각 모니터링된 자원에 대한 라이프 사이클의 제어를 각각 요청할 수 있다(S540).
S540 단계 이후, 상기 요청을 받은 통합 제어기는 각각 모니터링된 자원 정보에 기초하여 서버들에 포함된 각각 모니터링된 자원에 대한 라이프 사이클을 각각 제어할 수 있다(S550).
아래에서는 서버에 포함된 자원 정보가 컴퓨팅 자원에 관련된 정보일 경우, 자원 관리 방법에 대해 설명한다.
S510 단계 이후, 각각의 제어기 중에서 컴퓨팅 자원 제어기는 각각 모니터링된 자원 정보 중에서 컴퓨팅 자원에 관련된 정보에 기초하여 컴퓨팅 자원에 대한 분산 배치 상태를 판단할 수 있다. 여기에서, 컴퓨팅 자원 제어기는 도 3을 참조하여 설명한 컴퓨팅 자원 제어기(C1)와 대응되어 이해될 수 있다.
여기에서, 서버들에 포함된 컴퓨팅 자원에 대한 분산 배치가 필요한 경우, 컴퓨팅 자원 제어기는 모니터링된 컴퓨팅 자원에 관련된 정보에 기초하여 서버에 포함된 컴퓨팅 자원에 대한 분산 배치를 제어할 수 있다.
여기에서, 서버들에 포함된 컴퓨팅 자원에 대한 새로운 가상 머신의 스케일 아웃이 필요한 경우, 컴퓨팅 자원 제어기는 통합 제어기에게 서버들에 포함된 컴퓨팅 자원에 대한 새로운 가상 머신의 추가 할당을 요청할 수 있다.
이후, 상기 요청을 받은 통합 제어기는 모니터링된 컴퓨팅 자원에 관련된 정보에 기초하여 서버들에 포함된 컴퓨팅 자원에 대한 새로운 가상 머신의 추가 할당을 제어할 수 있다.
아래에서는 서버에 포함된 자원 정보가 대역 자원에 관련된 정보일 경우, 자원 관리 방법에 대해 설명한다.
S510 단계 이후, 각각의 제어기 중에서 대역 자원 제어기는 각각 모니터링된 자원 정보 중에서 대역 자원에 관련된 정보에 기초하여 서버들에 포함된 대역 자원의 대역 상태를 판단할 수 있다. 여기에서, 대역 자원 제어기는 도 3을 참조하여 설명한 대역 자원 제어기(C2)와 대응되어 이해될 수 있다.
여기에서, 서버들에 포함된 대역 자원에 대한 대역의 재조정이 필요한 경우, 대역 자원 제어기는 모니터링된 대역 자원에 관련된 정보에 기초하여 서버에 포함된 대역 자원에 대한 대역의 재조정을 제어할 수 있다.
여기에서, 서버들에 포함된 대역 자원에 대한 새로운 대역이 필요한 경우, 대역 자원 제어기는 통합 제어기에게 서버들에 포함된 대역 자원에 대한 새로운 대역의 추가 할당을 요청할 수 있다.
이후, 상기 요청을 받은 통합 제어기는 모니터링된 대역 자원에 관련된 정보에 기초하여 서버에 포함된 대역 자원에 대한 새로운 대역의 추가 할당을 제어할 수 있다.
아래에서는 서버에 포함된 자원 정보가 플로우 자원에 관련된 정보일 경우, 자원 관리 방법에 대해 설명한다.
S510 단계 이후, 각각의 제어기 중에서 플로우 자원 제어기는 각각 모니터링된 자원 정보 중에서 플로우 자원에 관련된 정보에 기초하여 서버들에 포함된 플로우 자원의 플로우 상태를 판단할 수 있다. 여기에서, 플로우 자원 제어기는 도 3을 참조하여 설명한 플로우 자원 제어기(C3)와 대응되어 이해될 수 있다.
여기에서, 플로우는 가상 플로우를 포함할 수 있다.
여기에서, 서버들에 포함된 플로우 자원에 새로운 플로우가 입력된 경우, 플로우 자원 제어기는 모니터링된 플로우 자원에 관련된 정보에 기초하여 새로운 플로우에 대한 포트 정보, IP 정보 및QoS 정보를 서버들에게 제공하여 새로운 플로우를 제어할 수 있다.
여기에서, 서버들에 포함된 플로우 자원에서 플로우가 aging out된 경우, 플로우 자원 제어기는 통합 제어기에게 aging out된 플로우에 대한 정보를 제공하여 aging out된 플로우에 대한 제어를 요청할 수 있다.
이후, 상기 요청을 받은 통합 제어기는 모니터링된 플로우 자원에 기초하여 서버들에 포함된 aging out된 플로우를 제어할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 서버 110: 가상 머신
120: 가상 머신 매니저 200: 자원 관리 장치
210: 자원 모니터링부 220: 제1 제어부
230: 제2 제어부

Claims (1)

  1. 서버들에 포함된 자원 정보를 모니터링하는 자원 모니터링부;
    상기 모니터링된 자원 정보에 기초하여 상기 모니터링된 자원에 대한 라이프 사이클(Life Cycle)을 제어하는 제1 제어부; 및
    상기 모니터링된 자원 정보에 기초하여 상기 모니터링된 자원에 대한 작업 부하(Workload)를 제어하는 제2 제어부를 포함하는 가상화 환경에서의 자원 관리 장치.
KR1020140113399A 2014-08-28 2014-08-28 가상화 환경에서의 자원 관리 장치 및 방법 KR101737468B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140113399A KR101737468B1 (ko) 2014-08-28 2014-08-28 가상화 환경에서의 자원 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140113399A KR101737468B1 (ko) 2014-08-28 2014-08-28 가상화 환경에서의 자원 관리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160027337A true KR20160027337A (ko) 2016-03-10
KR101737468B1 KR101737468B1 (ko) 2017-05-19

Family

ID=55538731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140113399A KR101737468B1 (ko) 2014-08-28 2014-08-28 가상화 환경에서의 자원 관리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101737468B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170120335A (ko) * 2016-04-21 2017-10-31 삼성에스디에스 주식회사 네트워크 기능 가상화 시스템 상의 컴퓨팅 리소스 관리 장치 및 방법
KR20180060353A (ko) * 2016-11-29 2018-06-07 주식회사 에프아이시스 가상 머신 QoS 보장형 무손실 부하 분산 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170120335A (ko) * 2016-04-21 2017-10-31 삼성에스디에스 주식회사 네트워크 기능 가상화 시스템 상의 컴퓨팅 리소스 관리 장치 및 방법
KR20180060353A (ko) * 2016-11-29 2018-06-07 주식회사 에프아이시스 가상 머신 QoS 보장형 무손실 부하 분산 시스템 및 방법

Also Published As

Publication number Publication date
KR101737468B1 (ko) 2017-05-19

Similar Documents

Publication Publication Date Title
US9999030B2 (en) Resource provisioning method
US9389903B2 (en) Method, system and apparatus for creating virtual machine
US10700947B2 (en) Life cycle management method and device for network service
US8863138B2 (en) Application service performance in cloud computing
JP5707239B2 (ja) マルチテナント型情報処理システム、管理サーバ及び構成管理方法
US11093296B2 (en) System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program
US20140317261A1 (en) Defining interdependent virtualized network functions for service level orchestration
US20140201642A1 (en) User interface for visualizing resource performance and managing resources in cloud or distributed systems
KR20150011250A (ko) 클라우드 센터 관리 방법 및 그 시스템
CN106663012B (zh) 一种硬件加速方法以及相关设备
EP3244569A1 (en) Asset information management method and device
EP3481007A1 (en) Method, device, and equipment for processing resource pool
US11265253B2 (en) Network resource management for hyperconverged infrastructures
JP2013168140A (ja) バーチャルマシンの配置方法
KR20150132774A (ko) 애플리케이션에 따라 네트워크 자원을 할당하는 방법 및 장치
US20190235901A1 (en) Systems and methods for organizing on-demand migration from private cluster to public cloud
CN111970354A (zh) 一种边缘计算中的应用管理方法以及相关装置
WO2016183832A1 (zh) 一种网络业务实例化的方法及设备
JP2013152553A (ja) リソース管理装置、リソース管理システム、リソース管理方法およびリソース管理プログラム
Maziku et al. Network aware vm migration in cloud data centers
Maziku et al. Towards a network aware VM migration: Evaluating the cost of VM migration in cloud data centers
US11886927B2 (en) ICT resource management device, ICT resource management method and ICT resource management program
Venâncio et al. Beyond VNFM: Filling the gaps of the ETSI VNF manager to fully support VNF life cycle operations
CN104641606A (zh) 网络资源均衡处理的方法和虚拟网络管理实体
KR101737468B1 (ko) 가상화 환경에서의 자원 관리 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)