KR101508925B1 - 가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체 - Google Patents

가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체 Download PDF

Info

Publication number
KR101508925B1
KR101508925B1 KR20120122452A KR20120122452A KR101508925B1 KR 101508925 B1 KR101508925 B1 KR 101508925B1 KR 20120122452 A KR20120122452 A KR 20120122452A KR 20120122452 A KR20120122452 A KR 20120122452A KR 101508925 B1 KR101508925 B1 KR 101508925B1
Authority
KR
South Korea
Prior art keywords
virtual machine
specification type
type
virtual
inventory amount
Prior art date
Application number
KR20120122452A
Other languages
English (en)
Other versions
KR20140055481A (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 KR20120122452A priority Critical patent/KR101508925B1/ko
Publication of KR20140055481A publication Critical patent/KR20140055481A/ko
Application granted granted Critical
Publication of KR101508925B1 publication Critical patent/KR101508925B1/ko

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

가상 머신의 타입 별로 수요자의 요청 이력이 포함된 가상 머신 요청 정보를 관리하고, 상기 가상 머신 요청 정보를 참조하여 각 타입 별로 가상 머신을 수요자의 요청 전에 미리 프로비저닝하여 재고로 보유함으로써, 수요자가 소정의 사양을 지정하여 가상 머신을 요청할 때, 요청된 가상 머신을 프로비저닝 과정 없이 즉시 재고에서 제공하는 가상 머신 제공 방법이 제공된다. 본 발명에 따른 가상 머신 제공 방법은 수요자들로부터의 가상 머신 요청 정보를 분석하여 적어도 제1 사양 타입에 대한 제1 최소 재고량 및 상기 제1 사양 타입과 다른 제2 사양 타입에 대한 제2 최소 재고량을 결정하고, 프로비저닝이 완료된 상기 제1 사양 타입의 가상 머신이 상기 제1 최소 재고량 이상 확보되고, 프로비저닝이 완료된 상기 제2 사양 타입의 가상 머신이 상기 제2 최소 재고량 이상 미리 확보되도록 관리하고, 수요자의 가상 머신 생성 요청 시 상기 수요자에 상기 확보된 가상 머신 중 요청 타입의 가상 머신에 대한 관리 권한을 부여하는 것을 포함한다.

Description

가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체 {Virtual machine providing method, system and recording medium recording the program thereof}
본 발명은 가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체에 관한 것이다. 보다 자세하게는, 수요자 요청 시점으로부터, 가상 머신의 관리 권한을 제공해 줌으로써 가상 머신을 제공해주는 시점까지 소요되는 시간을 단축하는 방법, 그 방법이 적용된 가상 머신 제공 시스템 및 그 방법을 수행하는 가상 머신 제공 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
하이퍼바이저 기술이 제공되면서 하나의 물리적인 서버에 복수의 가상 머신이 생성되어 복수의 가상 서버를 제공할 수 있게 되었다. 이러한 기술은 예를 들어 클라우드 컴퓨팅 분야에 적용될 수 있다. 예를 들어 클라우드 컴퓨팅 서비스 사용자는 서비스 운영자가 제공하는 물리적인 서버 장치에 자신의 필요에 맞는 리소스를 할당 받은 가상 머신을 설립함으로써 서버 운영 비용을 절감할 수 있다.
도 1은 종래 기술에 따른 하이퍼바이저(hypervisor) 기반의 가상 머신 제공 기술을 제공하는 서버 시스템의 구성을 나타낸다. 도 1에 도시된 하이퍼바이저는 하드웨어(H/W)를 가상화한 리소스를 관리하며, 상기 리소스 중 일부를 이용하여 가상 머신을 프로비저닝 한다. 가상 머신을 프로비저닝 하는 것은 가상 머신 인스턴스에 상기 가상 머신에 할당된 리소스를 연결해주는 것을 의미할 수 있다.
그런데, 이러한 프로비저닝은 상당한 시간을 필요로 한다. 따라서, 가상 머신의 생성을 요청한 수요자는 요청 이후 상당 시간을 대기해야 가상 머신에 대한 관리 권한을 획득하여 가상 머신을 사용할 수 있는 문제점이 있다. 다수의 가상 머신을 생성해 줄 것을 요청한 수요자라면 대기 시간이 더 길어질 것이다.
본 발명이 해결하고자 하는 기술적 과제는 가상 머신의 타입 별로 수요자의 요청 이력이 포함된 가상 머신 요청 정보를 관리하고, 상기 가상 머신 요청 정보를 참조하여 각 타입 별로 가상 머신을 수요자의 요청 전에 미리 프로비저닝하여 재고로 보유함으로써, 수요자가 소정의 사양을 지정하여 가상 머신을 요청할 때, 요청된 가상 머신을 프로비저닝 과정 없이 즉시 재고에서 제공하는 가상 머신 제공 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 가상 머신의 타입 별로 수요자의 요청 이력이 포함된 가상 머신 요청 정보를 관리하고, 상기 가상 머신 요청 정보를 참조하여 각 타입 별로 가상 머신을 수요자의 요청 전에 미리 프로비저닝하여 재고로 보유함으로써, 수요자가 가상 머신을 요청할 때 즉시 제공하는 기능을 수행하는 컴퓨터 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 가상 머신의 타입 별로 수요자의 요청 이력이 포함된 가상 머신 요청 정보를 관리하고, 상기 가상 머신 요청 정보를 참조하여 각 타입 별로 가상 머신을 수요자의 요청 전에 미리 프로비저닝하여 재고로 보유함으로써, 수요자가 가상 머신을 요청할 때 즉시 제공하는 기능을 수행하는 가상 머신 제공 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해 될 수 있을 것이다.
상기 언급된 기술적 과제들을 해결하기 위한, 본 발명의 일 태양(ASPECT)에 따른 가상 머신 제공 방법은 수요자들로부터의 가상 머신 요청 정보를 분석하여 적어도 제1 사양 타입에 대한 제1 최소 재고량 및 상기 제1 사양 타입과 다른 제2 사양 타입에 대한 제2 최소 재고량을 결정하고, 프로비저닝이 완료된 상기 제1 사양 타입의 가상 머신이 상기 제1 최소 재고량 이상 확보되고, 프로비저닝이 완료된 상기 제2 사양 타입의 가상 머신이 상기 제2 최소 재고량 이상 미리 확보되도록 관리하고, 수요자의 가상 머신 생성 요청 시, 상기 수요자에 상기 확보된 가상 머신 중 요청 타입의 가상 머신에 대한 관리 권한을 부여하는 것을 포함한다.
상기 언급된 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따르면, 수요자들로부터의 가상 머신 요청 정보를 분석하여 적어도 제1 사양 타입에 대한 제1 최소 재고량 및 상기 제1 사양 타입과 다른 제2 사양 타입에 대한 제2 최소 재고량을 결정하고, 프로비저닝이 완료된 상기 제1 사양 타입의 가상 머신이 상기 제1 최소 재고량 이상 확보되고, 프로비저닝이 완료된 상기 제2 사양 타입의 가상 머신이 상기 제2 최소 재고량 이상 미리 확보되도록 관리하고, 수요자의 가상 머신 생성 요청 시, 상기 수요자에 상기 확보된 가상 머신 중 요청 타입의 가상 머신에 대한 관리 권한을 부여하는 것을 포함하는 가상 머신 제공 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
상기 언급된 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 가상 머신 제공 시스템은 수요자의 가상 머신 생성 요청을 수신하는 사용자 인터페이스부, 수요자의 각 사양 타입 별 가상 머신 요청 이력을 포함하는 정보인 가상 머신 요청 정보를 관리하는 가상 머신 요청 정보 관리부, 동일한 사양 타입의 가상 머신을 포함하는 가상 머신 풀을 각 사양 타입 별로 관리하며, 상기 가상 머신 요청 정보를 분석하여 각 사양 타입 별로 최소 재고량을 결정하고, 상기 가상 머신 풀에 최소 재고량에 못 미치는 가상 머신이 포함된 사양 타입에 대하여는 신규 가상 머신을 프로비저닝 하도록 하는 가상 머신 프로비저닝부를 제어하는 가상 머신 보충 프로세스를 수행하는 가상 머신 풀 관리부 및 상기 가상 머신 풀 관리부의 제어에 따라 지정된 사양 타입의 가상 머신을 프로비저닝하여 상기 가상 머신 풀 관리부에 프로비저닝된 가상 머신에 대한 정보를 제공하는 가상 머신 프로비져닝부를 포함한다. 상기 가상 머신 풀 관리부는 상기 가상 머신 생성 요청에 따른 사양 타입의 가상 머신을 상기 수요자에 관리 권한을 부여하고, 관련 응답 정보가 상기 사용자 인터페이스부를 통하여 상기 수요자에 제공되도록 하며, 상기 수요자에 관리 권한이 부여된 가상 머신은 상기 가상 머신 풀에서 제거한다.
상기 언급된 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 가상 머신 제공 시스템은 하이퍼바이저와 수요자에 관리 권한이 부여된 것으로 상기 하이퍼바이저 상에서 동작하는 하나 이상의 수요자 사용 가상 머신과 상기 하이퍼바이저 상에서 동작하며 관리 권한이 시스템 관리자에 부여된 둘 이상의 가상 머신으로써, 둘 이상의 서로 다른 사양 타입으로 분류되는 것인 재고 가상 머신을 포함한다.
상기 하이퍼바이저는, 수요자의 각 사양 타입 별 가상 머신 요청 이력을 포함하는 정보인 가상 머신 요청 정보를 관리한다.
또한 상기 하이퍼바이저는, 동일한 사양 타입의 가상 머신을 포함하는 가상 머신 풀을 각 사양 타입 별로 관리한다.
또한, 상기 하이퍼바이저는, 상기 가상 머신 요청 정보를 분석하여 각 사양 타입 별로 최소 재고량을 결정한다.
또한, 상기 하이퍼바이저는, 상기 가상 머신 풀에 최소 재고량에 못 미치는 가상 머신이 포함된 사양 타입에 대하여는 신규 가상 머신을 프로비저닝 한다.
또한, 상기 하이퍼바이저는 수요자의 가상 머신 생성 요청에 따른 사양 타입의 가상 머신을 상기 가상 머신 풀에서 찾은 후, 상기 수요자에 제공한다. 가상 머신을 상기 수요자에 제공하는 것은, 상기 수요자에게 상기 가상 머신에 대한 관리자 권한을 부여하는 것을 의미할 수 있다.
상기와 같은 본 발명에 따르면, 가상 머신을 임대하는 형태의 서비스를 제공함에 있어서, 수요자의 요청에 신속하게 대응할 수 있는 효과가 있다.
또한, 수요자들의 각 사양 타입 별 가상 머신 수요를 분석하여 각 사양 타입의 가상 머신 재고량을 적정 수준으로 유지하여, 수요자가 요청한 타입의 가상 머신이 가상 머신 재고에서 제공됨으로써, 수요자가 요청한 가상 머신을 신속하게 제공할 수 있는 효과가 있다.
또한, 수요자의 가상 머신 요청 이력을 관리하고, 상기 이력에 따라 상기 가상 머신 재고량을 관리함으로써, 모자란 가상 머신을 리소스로 디프로비저닝 하거나, 모자란 가상 머신 재고량을 미리 확보하기 위하여 가상 머신을 프로비저닝 하는 등, 수요자의 가상 머신 제공 요청이 없더라도 시스템의 리소스 관리를 효율적으로 수행할 수 있는 효과가 있다.
도 1은 종래 기술에 따른 하이퍼바이저 기반 가상 머신 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 제공 시스템의 블록 구성도이다.
도 3a 내지 3g는 도 2에 도시된 가상 머신 제공 시스템의 동작을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 실시예에 따른 가상 머신 제공 시스템의 구성도이다.
도 5는 본 발명의 또 다른 실시예에 따른 가상 머신 제공 시스템의 구성도이다.
도 6 내지 7은 본 발명의 또 다른 실시예에 따른 가상 머신 제공 방법의 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 실시예들에 의하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
본 명세서에서 사용되는 사용되는 '부' 또는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부' 또는 '모듈'은 어떤 역할들을 수행한다. 그렇지만 '부' 또는 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부' 또는 '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부' 또는 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '부' 또는 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부' 또는 '모듈'들로 결합되거나 추가적인 구성요소들과 '부' 또는 '모듈'들로 더 분리될 수 있다.
이하, 본 발명의 일 실시예에 따른 가상 머신 제공 시스템의 구성 및 동작에 대하여 도 2를 참조하여 설명하기로 한다.
도 2는 본 실시예에 따른 가상 머신 제공 시스템(100)의 블록 구성도이다. 도 2에 도시된 바와 같이 본 실시예에 따른 가상 머신 제공 시스템(100)은 가상 머신 풀 관리부(108), 가상 머신 프로비저닝부(110) 및 가상 머신 요청 정보 관리부(104)를 포함할 수 있다. 가상 머신 제공 시스템(100)은 사용자 인터페이스부(102), 리소스 관리부(112)를 더 포함할 수 있다.
사용자 인터페이스부(102)는 수요자의 가상 머신 생성 요청을 수신하여 가상 머신 요청 정보 관리부(104)에 상기 가상 머신 생성 요청을 전달한다. 또한, 사용자 인터페이스부(102)는 가상 머신 풀 관리부(108)로부터, 상기 수요자에게 제공될 가상 머신에 대한 정보를 제공 받아 상기 수요자에 전달할 수도 있다.
가상 머신 요청 정보 관리부(104)는 사용자 인터페이스부(102)로부터 수요자들로부터 접수된 가상 머신 생성 요청들에 대한 데이터를 취합하여 가상 머신 요청 정보로 구성한 후, 내부 스토리지(106)에 저장한다. 상기 가상 머신 요청 정보에는 각 사양 타입 별로 몇 개의 가상 머신 요청이 있었는지, 또한 1회의 요청에 포함된 가상 머신 개수는 몇 개인지에 대한 정보가 시간 순서로 포함될 수 있다. 예를 들어, 상기 가상 머신 요청 정보에는 각 날자 별로 제1 사양 타입의 가상 머신 요청 개수가 몇 개 인지, 1회의 요청 접수에서 생성 요청된 가상 머신의 개수가 몇 개인지 등의 정보가 포함될 수 있다.
내부 스토리지(106)는 적어도 상기 가상 머신 요청 정보를 저장하는 저장 수단으로, 이러한 내부 스토리지(106)는 캐쉬(Cache), 피롬(Programable ROM; PROM), 이피롬(Erasable Programmable ROM; EPROM), 이이피롬(Electrically Erasable Programmable ROM; EEPROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자, 램(Random Access Memory; RAM)과 같은 휘발성 메모리 소자, 및 하드디스크 드라이브(Hard disk drive)와 같은 저장매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.
가상 머신 풀 관리부(108)는 복수의 가상 머신 풀(pool)을 관리한다. 하나의 가상 머신 풀 안에는 사양 타입(specification type)이 동일한 가상 머신들이 포함될 수 있다. 보다 자세하게는 하나의 가상 머신 풀 안에는 사양 타입이 동일한 가상 머신의 참조 정보들이 포함될 수 있다. 수요자들은 단일 사양의 가상 머신 만을 선택할 수도 있겠지만, 본 발명은 수요자들이 가상 머신을 요청할 때 자신이 원하는 리소스를 지정할 수 있는 것을 가정한다. 예를 들어, 제1 수요자는 1TB의 스토리지와 8GB의 메모리 및 4개의 코어를 가진 가상 머신을 요청할 수 있고, 제2 수요자는 2TB의 스토리지와 16GB의 메모리 및 2개의 코어를 가진 가상 머신을 요청할 수 있다. 이 경우에는 2개의 가상 머신이 서로 사양 타입을 달리한다.
본 실시예에 따르면, 수요자는 기 지정된 사양 타입 중 하나를 선택할 수 있다. 예를 들어, 사양 타입 A가 10TB 스토리지, 8GB 메모리, 2 코어로 구성된 것이고, 사양 타입 B가 2TB 스토리지, 64GB 메모리 및 8 코어로 구성된 것이라면 대용량의 데이터 처리를 원하는 수요자라면 사양 타입 A의 가상 머신을 선택할 것이고, 빠른 연산 능력을 원하는 수요자라면 사양 타입 B의 가상 머신을 선택할 것이다. 가상 머신 풀 관리부(108)는 상기 기 지정된 사양 타입에 따른 가상 머신을 미리 프로비저닝 하여 재고 형태로 관리할 수 있다.
본 실시예에 따르면, 수요자는 기 지정된 사양 타입 중 하나를 선택하는 것이 아니라, 각 리소스의 용량 또는 성능을 직접 선택하고 각 리소스를 조합함으로써 가상 머신을 사용자 정의형(user-defined type)으로 생성할 수도 있다. 수요자가 주로 원하는 가상 머신은 몇 개의 사양 타입으로 취합될 수 있다. 따라서, 특정 사양 타입을 가진 가상 머신을 재고 형태로 미리 프로비저닝 하여 보관하는 경우, 수요자가 사용자 정의형으로 가상 머신을 생성하더라도 수요자가 원하는 사양 타입의 가상 머신 재고를 제공할 수 있다. 가상 머신 풀 관리부(108)는 수요자가 지정한 사양 타입에 따른 가상 머신을 미리 프로비저닝 하여 재고 형태로 관리하 수 있다. 이 때는 사양 타입의 수가 상대적으로 다양할 것이다.
가상 머신 풀 관리부(108)는 각각의 사양 타입에 따른 가상 머신 풀에 포함되어야 하는 최소 재고량을 관리할 수 있다. 예를 들어, 도 2에 도시된 바와 같이 A 타입의 가상 머신 풀에 대한 최소 재고량은 10개, B 타입의 가상 머신 풀에 대한 최소 재고량은 30개이다. 상기 최소 재고량이 어떻게 세팅 되는지는 추후 보다 자세히 설명하기로 한다.
가상 머신 풀 관리부(108)는 상기 가상 머신 풀에 최소 재고량에 못 미치는 가상 머신이 포함된 사양 타입에 대하여는 신규 가상 머신을 프로비저닝 하도록 하는 가상 머신 프로비저닝부(110)를 제어하는 가상 머신 보충 프로세스를 수행할 수 있다. 이하, 상기 가상 머신 보충 프로세스에 대하여 자세히 설명한다.
가상 머신 풀 관리부(108)는 각 가상 머신 풀에 포함된 가상 머신의 수가 상기 가상 머신 풀에 할당된 최소 재고량 보다 많이 유지되도록 관리할 수 있다. 예를 들어, 특정 가상 머신 풀에 포함된 가상 머신의 숫자가 최소 재고량에 못 미치는 경우, 가상 머신 프로비저닝부(110)가 상기 가상 머신 풀에 대응하는 사양 타입의 가상 머신을 프로비저닝 하도록 제어할 수 있다.
가상 머신 프로비저닝부(110)는 리소스 관리부(112)에 프리 리소스 존재 상황을 조회하여, 생성되어야 할 가상 머신에 할당되어야 할 리소스가 남아 있는지 체크한다. 만약 충분한 리소스가 남아 있다면, 가상 머신 프로비저닝부(110)가 종래 기술에 따라 가상 머신을 프로비저닝하여 가상 머신 풀 관리부(108)에 제공함으로써, 재고 부족분은 매꿔지게 된다.
반면에, 충분한 리소스가 남아 있지 않다면, 가상 머신 프로비저닝부(110)는 리소스가 부족하다는 신호를 가상 머신 풀 관리부(108)에 전달한다. 가상 머신 풀 관리부(108)는 상기 리소스가 부족하다는 신호에 응답하여 최소 재고량을 초과하여 가상 머신 재고를 보유하고 있는 가상 머신 풀 들 중에서 일부 가상 머신을 디프로비저닝(deprovisioning)할 가상 머신 풀을 선정한다.
각 가상 머신 풀의 최소 재고량을 유지하기 위한 가상 머신 풀 관리부(108)의 동작을 정리하면 다음과 같다.
제1 사양 타입의 가상 머신 풀에 대한 제1 최소 재고량, 제2 사양 타입의 가상 머신 풀에 대한 제2 최소 재고량이 각각 설정되어 있는 상황에서 상기 제1 사양 타입의 가상 머신의 개수가 상기 제1 최소 재고량에 못 미치는 경우, 가상 머신 풀 관리부(108)는 상기 제1 사양 타입의 가상 머신이 신규로 프로비저닝 되도록 가상 머신 프로비저닝부(110)를 제어한다.
상기 제1 사양 타입의 가상 머신을 신규로 프로비저닝 하기에 시스템 자원이 부족한 경우, 가상 머신 풀 관리부(108)는 전체 가상 머신 풀 중, 최소 재고량을 초과하는 가상 머신을 포함하고 있는 가상 머신 풀 중 하나 이상을 디프로비저닝 대상으로 선정한다.
일 실시예에 따르면, 가상 머신 풀 관리부(108)는 상기 제1 사양 타입을 제외한 복수의 사양 타입 중 가장 많은 가상 머신이 미리 확보된 사양 타입을 상기 디프로비저닝 대상으로 선정할 수 있다.
일 실시예에 따르면, 가상 머신 풀 관리부(108)는 상기 제1 사양 타입을 제외한 복수의 사양 타입 중 수요자에게 가장 적게 제공된 사양 타입을 상기 디프로비저닝 대상으로 선정할 수도 있다. 가상 머신 풀 관리부(108)는 가상 머신 요청 정보 관리부(104)가 관리하는 가상 머신 요청 정보를 조회하여 수요자에게 가장 적게 제공된 사양 타입을 결정할 수 있다.
설명의 편의를 위하여 상기 디 프로비저닝 대상이 상기 제2 사양 타입으로 결정된 것으로 가정한다.
가상 머신 풀 관리부(108)는 상기 제2 사양 타입의 가상 머신 풀에 포함된 가상 머신 중 하나 이상의 가상 머신이 디프로비저닝(deprovisioning)되도록 가상 머신 프로비저닝부(110)를 제어하여 시스템 자원을 확보한다. 그 다음, 가상 머신 풀 관리부(108)는 상기 제1 사양 타입의 가상 머신이 프로비저닝 되도록 가상 머신 프로비저닝부(110)를 다시 제어한다.
지금까지, 가상 머신 풀 관리부(108)의 상기 가상 머신 보충 프로세스에 대하여 설명했다. 가상 머신 풀 관리부(108)는, 주기적으로 상기 가상 머신 보충 프로세스를 수행하되, 상기 수요자에 가상 머신이 제공된 결과로 가상 머신이 모두 소진된 가상 머신 풀이 발생하는 경우 즉시 상기 가상 머신 보충 프로세스를 수행하여, 수요자의 요청에 따른 가상 머신의 재고가 존재하지 않는 것을 방지할 수 있다.
일 실시예에 따르면, 가상 머신 풀 관리부(108)는 각 가상 머신 풀에 세팅된 최소 재고량을 상기 가상 머신 요청 정보를 분석하여 결정할 수 있다. 예를 들어, 가상 머신 풀 관리부(108)는 상기 가상 머신 요청 정보를 주기적으로 분석하여, 각 가상 머신 풀에 세팅된 최소 재고량을 자동 조정할 수 있다.
예를 들어, 가상 머신 풀 관리부(108)는 분석 대상 기간 동안의 특정 사양 타입에 대한 생성 요청 빈도와 건수의 평균치를 이용하여 상기 특정 사양 타입의 가상 머신 풀에 세팅된 최소 재고량을 자동 조정할 수 있다. 상기 분석 대상 기간은 시스템 관리자에 의하여 지정된 소정 기간일 수 있다. 예를 들어, 가상 머신 풀 관리부(108)는 최근 1주일 간의 사양 타입 A에 대한 생성 요청이 매일 평균적으로 10회 있었고, 1회 요청 시 평균적으로 가상 머신 3개의 제공을 요청하는 것이었다면, 1일에 평균적으로 30개의 사양 타입 A 가상 머신이 필요할 것이므로, 재고량의 자동 조정 주기가 하루인 경우라면 30개를 최소 재고량으로 자동 조정할 수 있다. 재고량의 자동 조정 주기가 이틀인 경우라면 60개를 최소 재고량으로 자동 조정할 수 있다.
또한, 가상 머신 풀 관리부(108)는 분석 대상 기간 동안의 상기 사양 타입 A에 대한 생성 요청 빈도와 건수의 추이를 통계적으로 연산하고, 상기 추이를 기초로 상기 사양 타입 A의 가상 머신 풀에 세팅된 최소 재고량을 자동 조정할 수도 있다. 예를 들어, 일주일 전부터 매일 5개씩 사양 타입 A의 가상 머신 요청 개수가 늘고 있으며, 어제는 30개의 사양 타입 A 가상 머신이 요청되었다면, 재고량의 자동 조정 주기가 하루인 것을 가정할 때, 상기 최소 재고량은 35개로 자동 조정 될 수 있다.
또한, 상기 가상 머신 요청 정보에는 수요자의 가상 머신 생성 요청 시 요청된 타입의 가상 머신이 미리 확보되지 않은 히트 실패 횟수에 대한 정보가 더 포함될 수도 있는데, 가상 머신 풀 관리부(108)는 상기 히트 실패 횟수가 많을 수록 상기 최소 재고량을 상기 두개의 예시 등을 통하여 산정되는 자동 조정 기준치보다 증가시킬 수 있다. 상기 일주일 전부터 매일 5개씩 가상 머신 요청 개수가 늘고 있는 예시에서, 히트 실패 횟수 역시 소정의 기준치 이상을 유지하고 있는 경우, 상기 최소 재고량은 35개보다 소정의 기준치 증가한 값으로 세팅될 수 있다.
이하, 도 3a 내지 도 3g를 참조하여 본 실시예에 따른 가상 머신 제공 시스템(100)의 동작에 대하여 보다 자세히 설명하기로 한다.
먼저, 도 3a에는 A 사양 타입의 가상 머신 풀에 6개의 가상 머신이 재고로 포함되어 있고, B 사양 타입의 가상 머신 풀에 7개의 가상 머신이 재고로 포함되어 있으며, A, B 사양 타입 가상 머신 풀의 최소 재고량이 각각 5, 4개로 세팅되어 있는 상황에서 수용자가 A 사양 타입의 가상 머신을 2개 요청한 경우, 본 실시예에 따른 가상 머신 제공 시스템(100)이 어떻게 동작하는지 설명한다.
사용자 인터페이스부(102)는 상기 가상 머신 요청을 수신하여 가상 머신 요청 정보 관리부(104)에 전달하고, 가상 머신 요청 정보 관리부(104)는 내부 스토리지(106)에 저장된 기존의 가상 머신 요청 정보에 상기 가상 머신 요청과 관련된 데이터를 추가한다.
다음으로, 가상 머신 요청 정보 관리부(104)는 가상 머신 풀 관리부(108)에 A 사양 타입의 가상 머신을 2개 요청한다.
가상 머신 풀 관리부(108)는 A 사양 타입의 가상 머신 풀에 2개 이상의 가상 머신이 포함되어 있는지 판단한다. 도 3a에서는 A 사양 타입의 가상 머신 풀에 6개의 가상 머신이 포함되어 있으므로, 2개의 가상 머신을 바로 제공할 수 있는 상태이다.
도 3b에 도시된 바와 같이, 가상 머신 풀 관리부(108)는 A 사양 타입의 가상 머신 풀에서 2개의 A 사양 타입 가상 머신을 선정하여, 관리 권한을 상기 수요자로 설정한다. 또한, 가상 머신 풀 관리부(108)는 상기 선정된 2개의 A 사양 타입 가상 머신을 A 사양 타입의 가상 머신 풀에서 제거한다.
관리 권한이 상기 수요자로 설정된 2개의 A 사양 타입 가상 머신에 대한 추가 정보는 사용자 인터페이스부(102)를 통하여 상기 수요자에게 제공될 수 있다.
상기 설명된 바와 같이, 가상 머신 풀 관리부(108)는 주기적으로 가상 머신 보충 프로세스를 수행할 수 있다. 도 3b에 도시된 상태에서 상기 가상 머신 보충 프로세스가 수행되는 경우, A 사양 타입의 가상 머신 풀은 최소 재고량에 모자라는 재고량을 가지는 상태이므로, 가상 머신 풀 관리부(108)는 A 사양 타입의 가상 머신을 신규로 프로비저닝하도록 가상 머신 프로비저닝부(110)를 제어할 수 있다. 1회의 프로비저닝으로 생성되는 가상 머신의 개수는 소정의 지정된 개수로 고정되어 있을 수도 있고, 재고량이 모자라는 만큼일 수도 있다.
도 3c는 상기 신규 프로비저닝 관련 동작을 도시한다. 도 3c에서는 1회의 프로비저닝으로 생성되는 가상 머신의 개수가 2개인 것으로 가정한다. 도 3c에서는 가상 머신 프로비저닝부(110)가 별 문제 없이 2개의 A 사양 타입 가상 머신을 프로비저닝하여, A 사양 타입 가상 머신 풀의 재고량이 다시 6개로 증가하였다.
도 3d는 도 3c의 재고 상황에서, 수요자가 다시 A 사양 타입 가상 머신을 3개 제공해 줄 것을 요청한 경우, 3개의 A 사양 타입 가상 머신 재고가 소진되는 것을 설명한다. 도 3d에서는 A 사양 타입 가상 머신 풀에 재고가 3개만 남아 있는 것이 도시되어 있다.
도 3e는 도 3d의 재공 상황에서, 가상 머신 풀 관리부(108)가 가상 머신 보충 프로세스를 수행하는 경우, 가상 머신 제공 시스템(100)의 동작을 설명하기 위한 도면이다. 도 3e에 도시된 바와 같이, 가상 머신 풀 관리부(108)는 최소 재고량(5개)에 못 미치는 재고량을 보유한 A 사양 타입 가상 머신 풀에 재고를 보충하기 위하여, A 사양 타입의 가상 머신을 신규로 2개 프로비저닝 하도록 가상 머신 프로비저닝부(110)를 제어할 수 있다. 그러나, 이번에는 도 3c에 도시된 것과는 달리 리소스 관리부(112)가 리소스 부족 상황임을 알리는 신호를 가상 머신 프로비저닝부(110)를 통하여 가상 머신 풀 관리부(108)에 통지할 수 있다.
도 3f는 가상 머신 풀 관리부(108)가 가상 머신 프로비저닝부(110)를 제어하여 최소 재고량을 초과하는 재고량을 보유한 B 사양 타입 가상 머신에 포함된 가상 머신 중 일부를 디프로비저닝하는 것을 도시한다. 1회의 디프로비저닝으로 제거되는 가상 머신의 개수는 소정의 지정된 개수로 고정되어 있을 수도 있고, 재고량이 남는 만큼일 수도 있다. 도 3f에는 1회의 디프로비저닝으로 2개의 B 사양 타입 가상 머신이 제거되는 것이 도시된다.
도 3g에는 가상 머신 풀 관리부(108)가 2개의 B 사양 타입 가상 머신을 제거하여 리소스를 확보한 후, 2개의 A 사양 타입 가상 머신을 다시 프로비저닝하는 것을 도시한다. 이번에는 리소스가 충분히 남아 있어 2개의 A 사양 타입 가상 머신이 프로비저닝될 수 있고, 그 결과 A 사양 타입 가상 머신 풀은 최소 재고량을 채울 수 있다.
도 3a 내지 3g에 도시된 일련의 과정을 통하여 가상 머신 풀 관리부(108)는 복수의 가상 머신 풀에 대하여 최소 재고량이 유지되도록 관리할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 가상 머신 제공 시스템의 구성도이다.
본 실시예에 따른 가상 머신 제공 시스템(200)은 하드웨어 자원(208)을 가상화 하여 가상 머신이 사용할 수 있도록 하는 하이퍼바이저(206), 수요자에 관리 권한이 부여된 것으로 하이퍼바이저(206) 상에서 동작하는 하나 이상의 수요자 사용 가상 머신(202) 및 하이퍼바이저(206) 상에서 동작하며 관리 권한이 시스템 관리자에 부여된 둘 이상의 가상 머신으로써 둘 이상의 서로 다른 사양 타입으로 분류되는 재고 가상 머신(204)을 포함한다.
하이퍼바이저(206)는, 수요자의 각 사양 타입 별 가상 머신 요청 이력을 포함하는 정보인 가상 머신 요청 정보를 관리한다.
또한, 하이퍼바이저(206)는, 동일한 사양 타입의 가상 머신을 포함하는 가상 머신 풀을 각 사양 타입 별로 관리한다.
또한, 하이퍼바이저(206)는, 상기 가상 머신 요청 정보를 분석하여 각 사양 타입 별로 최소 재고량을 결정한다.
또한, 하이퍼바이저(206)는, 상기 가상 머신 풀에 최소 재고량에 못 미치는 가상 머신이 포함된 사양 타입에 대하여는 신규 가상 머신을 프로비저닝 한다.
또한, 하이퍼바이저(206)는 수요자의 가상 머신 생성 요청에 따른 사양 타입의 가상 머신을 상기 가상 머신 풀에서 찾은 후, 상기 수요자에 제공한다. 가상 머신을 상기 수요자에 제공하는 것은, 상기 수요자에게 상기 가상 머신에 대한 관리자 권한을 부여하는 것을 의미할 수 있다.
이하, 본 발명의 또 다른 실시예에 따른 가상 머신 제공 시스템에 대하여 도 5를 참조하여 설명한다. 도 5에 도시된 바와 같이, 본 실시예에 따른 가상 머신 제공 시스템(250)은 가상 머신(202, 204)을 위한 하드웨어 리소스를 제공하는 하나 이상의 서비스 서버(300)와 별도로 존재하는 서버일 수 있다.
가상 머신 제공 시스템(250)에는 도 2 내지 3g를 참조하여 설명된 기능을 수행하는 사용자 인터페이스(102), 가상 머신 풀 관리부(108), 가상 머신 프로비저닝부(110), 가상 머신 요청 정보 관리부(104) 및 리소스 관리부(112)를 포함할 수 있다.
가상 머신 제공 시스템(250)의 리소스 관리부(112)는 각 서비스 서버(300)와 데이터를 송수신하여 각 서비스 서버(300)에 확보된 하드웨어 자원의 잔여량을 파악할 수 있다.
또한, 가상 머신 제공 시스템(250)의 가상 머신 프로비저닝부(110)는 각 서비스 서버(300)와 데이터를 송수신하여 각 서비스 서버(300)에 구비된 하이퍼바이저가 가상 머신을 프로비저닝하도록 제어할 수 있다.
이하, 본 발명의 또 다른 실시예에 따른 가상 머신 제공 방법을 도 6을 참조하여 설명한다.
먼저, 수요자로부터 가상 머신을 요청하는 신호 및 반환하는 신호를 접수하여 상기 가상 머신 요청 정보를 축적한다(S100).
상기 가상 머신 요청 정보는 각 가상 머신 타입의 최소 재고량을 결정하는 용도로 사용될 수 있다(S101). 일 실시예에 따르면, 상기 가상 머신 요청 정보는 주기적으로 분석되고, 그 분석 결과에 따라 상기 최소 재고량은 자동 조정 될 수 있다. 즉 관리자의 개입 없이도 조정될 수 있다.
예를 들어 제1 사양 타입에 대한 제1 최소 재고량 및 상기 제1 사양 타입과 다른 제2 사양 타입에 대한 제2 최소 재고량이 결정되어야 하는 상황에서, 분석 대상 기간 동안의 상기 제1 사양 타입에 대한 생성 요청 빈도와 건수의 제1 평균치와 상기 제2 사양 타입에 대한 생성 요청 빈도와 건수의 제2 평균치를 산출하고, 상기 제1 최소 재고량을 상기 제1 평균치를 기초로 조정하고, 상기 제2 최소 재고량을 상기 제2 평균치를 기초로 조정할 수 있다.
또한, 예를 들어, 분석 대상 기간 동안의 상기 제1 사양 타입에 대한 생성 요청 빈도와 건수의 제1 추이를 통계적으로 연산하고, 상기 제2 사양 타입에 대한 생성 요청 빈도와 건수의 제2 추이를 통계적으로 연산하며, 상기 제1 최소 재고량을 상기 제1 추이를 기초로 조정하고, 상기 제2 최소 재고량을 상기 제2 추이를 기초로 조정할 수 있다.
또한, 일 실시예에 따르면, 상기 가상 머신 요청 정보에는 수요자의 가상 머신 생성 요청 시 요청된 타입의 가상 머신이 미리 확보되지 않은 히트 실패 횟수에 대한 정보가 더 포함될 수 있다. 이 때, 상기 히트 실패 횟수가 많을 수록 상기 최소 재고량을 기준치보다 증가시킬 수 있다.
다음으로, 상기 가상 머신 요청 정보를 참조하여 각 가상 머신 타입 당 적정 재고량 이상의 가상 머신이 미리 확보되도록 관리한다(S102). 각 가상 머신 타입 당 적정 재고량 이상의 가상 머신이 미리 확보되도록 관리하는 것(S102)은, 예를 들어 수요자들로부터의 가상 머신 요청 정보를 분석하여 적어도 제1 사양 타입에 대한 제1 최소 재고량 및 상기 제1 사양 타입과 다른 제2 사양 타입에 대한 제2 최소 재고량을 결정하고, 프로비저닝이 완료된 상기 제1 사양 타입의 가상 머신이 상기 제1 최소 재고량 이상 확보되고, 프로비저닝이 완료된 상기 제2 사양 타입의 가상 머신이 상기 제2 최소 재고량 이상 미리 확보되도록 관리하는 것을 포함하여 수행될 수 있다.
다시 말하면, 관리하는 것(S102)은, 상기 제1 사양 타입의 가상 머신의 개수가 상기 제1 최소 재고량에 못 미치는 경우, 상기 제1 사양 타입의 가상 머신을 신규로 프로비저닝(provisioning)하는 것을 포함하고, 상기 신규로 프로비저닝하는 것은, 상기 제1 사양 타입의 가상 머신을 신규로 프로비저닝 하기에 시스템 자원이 부족한 경우 상기 확보된 제2 사양 타입의 가상 머신 중 하나 이상의 가상 머신을 디프로비저닝(deprovisioning)하여 시스템 자원을 확보한 후 상기 제1 사양 타입의 가상 머신을 다시 프로비저닝하는 것을 포함하며, 상기 디프로비저닝하는 것은, 디프로비저닝 후의 상기 제2 사양 타입 가상 머신 개수가 상기 제2 최소 재고량에 못 미치는 경우 경고 메시지를 관리자에 송신하는 것을 포함할 수 있다.
상기 가상 머신 제공 방법은 상기 제1 사양 타입 및 제2 사양 타입 외에, 하나 이상의 사양 타입의 가상 머신이 더 확보되도록 관리하는 것을 포함하고, 상기 디프로비저닝하는 것은, 상기 가상 머신 제공 방법이 관리하는 상기 제1 사양 타입을 제외한 복수의 사양 타입 중 가장 많은 가상 머신이 미리 확보된 사양 타입인 상기 제2 사양 타입의 가상 머신 중 하나 이상의 가상 머신을 디프로비저닝하는 것을 포함할 수 있다.
상기 가상 머신 제공 방법은 상기 제1 사양 타입 및 제2 사양 타입 외에, 하나 이상의 사양 타입의 가상 머신이 더 확보되도록 관리하는 것을 포함하고, 상기 디프로비저닝하는 것은, 상기 가상 머신 제공 방법이 관리하는 상기 제1 사양 타입을 제외한 복수의 사양 타입 중 수요자에게 가장 적게 제공된 사양 타입인 상기 제2 사양 타입의 가상 머신 중 하나 이상의 가상 머신을 디프로비저닝하는 것을 포함할 수 있다.
수요자로부터 가상 머신 제공 요청 신호가 접수되는 경우(S104). 요청된 가상 머신이 어떠한 리소스로 구성되는지에 대한 정보를 바탕으로, 재고 가상 머신이 미리 준비되어 되어 있지 않은 신규 타입의 가상 머신 인지 판정한다(S106).
만약, 재고 가상 머신이 미리 준비되어 있지 않은 신규 타입의 가상 머신이라면 새로 가상 머신을 프로비저닝 하여(S110), 프로비저닝 된 가상 머신을 수요자에 제공한다(S114). 상기 신규 타입의 가상 머신 요청은 상기 가상 머신 요청 정보에 축적되므로 상기 신규 타입의 가상 머신에 대하여 재고가 유지되도록 관리될 수 있다.
만약, 상기 요청된 가상 머신이 가상 머신 풀이 준비되어 있는 가상 머신인 경우, 요청된 개수 이상의 가상 머신이 가상 머신 풀에 재고로 확보되어 있다면 재고로 확보된 가상 머신이 수요자에 제공될 것이다(S116).
그러나, 만약 요청된 개수 미만의 가상 머신이 가상 머신 풀에 재고로 확보되어 있다면 재고 부족분에 대하여는 가상 머신 프로비저닝(S112)이 수행되고, 재고로 확보된 가상 머신 및 프로비저닝이 수행된 가상 머신이 수요자에 제공될 것이다(S118).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
가상 머신 제공 시스템 100
사용자 인터페이스부 102
가상 머신 이력 관리부 104
가상 머신 풀 관리부 108
가상 머신 프로비저닝부 110
리소스 관리부 112

Claims (15)

  1. 수요자들로부터의 가상 머신 요청 정보를 분석하여 적어도 제1 사양 타입에 대한 제1 최소 재고량 및 상기 제1 사양 타입과 다른 제2 사양 타입에 대한 제2 최소 재고량을 결정하고;
    프로비저닝이 완료된 상기 제1 사양 타입의 가상 머신이 상기 제1 최소 재고량 이상 확보되고, 프로비저닝이 완료된 상기 제2 사양 타입의 가상 머신이 상기 제2 최소 재고량 이상 미리 확보되도록 관리하고;
    수요자의 가상 머신 생성 요청 시, 상기 확보된 가상 머신 중 상기 가상 머신 생성 요청에 따른 사양 타입의 가상 머신에 대한 관리 권한을 상기 수요자에게 부여하는 것을 포함하되,
    상기 결정하는 것은,
    상기 가상 머신 요청 정보의 분석 결과를 바탕으로 상기 제1 최소 재고량 및 제2 최소 재고량을 자동 조정하는 것을 포함하는 가상 머신 제공 방법.
  2. 제1 항에 있어서,
    상기 결정하는 것은,
    상기 가상 머신 요청 정보를 주기적으로 분석하고;
    분석 결과를 바탕으로 상기 제1 최소 재고량 및 제2 최소 재고량을 자동 조정하는 것을 포함하는 가상 머신 제공 방법.
  3. 제2 항에 있어서,
    상기 주기적으로 분석하는 것은 분석 대상 기간 동안의 상기 제1 사양 타입에 대한 생성 요청 빈도와 건수의 제1 평균치와 상기 제2 사양 타입에 대한 생성 요청 빈도와 건수의 제2 평균치를 산출하는 것을 포함하고,
    상기 자동 조정하는 것은 상기 제1 최소 재고량을 상기 제1 평균치를 기초로 조정하고, 상기 제2 최소 재고량을 상기 제2 평균치를 기초로 조정하는 것을 포함하는 가상 머신 제공 방법.
  4. 제2 항에 있어서,
    상기 주기적으로 분석하는 것은 분석 대상 기간 동안의 상기 제1 사양 타입에 대한 생성 요청 빈도와 건수의 제1 추이를 통계적으로 연산하고, 상기 제2 사양 타입에 대한 생성 요청 빈도와 건수의 제2 추이를 통계적으로 연산하는 것을 포함하고,
    상기 자동 조정하는 것은 상기 제1 최소 재고량을 상기 제1 추이를 기초로 조정하고, 상기 제2 최소 재고량을 상기 제2 추이를 기초로 조정하는 것을 포함하는 가상 머신 제공 방법.
  5. 제2 항에 있어서,
    상기 가상 머신 요청 정보에는 수요자의 가상 머신 생성 요청 시 요청된 타입의 가상 머신이 미리 확보되지 않은 히트 실패 횟수에 대한 정보가 더 포함되고,
    상기 주기적으로 분석하는 것은 상기 히트 실패 횟수가 많을 수록 상기 최소 재고량을 기준치보다 증가 시키는 것을 포함하는 가상 머신 제공 방법.
  6. 제1 항에 있어서,
    상기 관리하는 것은, 상기 제1 사양 타입의 가상 머신의 개수가 상기 제1 최소 재고량에 못 미치는 경우, 상기 제1 사양 타입의 가상 머신을 신규로 프로비저닝(provisioning)하는 것을 포함하고,
    상기 신규로 프로비저닝하는 것은, 상기 제1 사양 타입의 가상 머신을 신규로 프로비저닝 하기에 시스템 자원이 부족한 경우 상기 확보된 제2 사양 타입의 가상 머신 중 하나 이상의 가상 머신을 디프로비저닝(deprovisioning)하여 시스템 자원을 확보한 후 상기 제1 사양 타입의 가상 머신을 다시 프로비저닝하는 것을 포함하며,
    상기 디프로비저닝하는 것은, 디프로비저닝 후의 상기 제2 사양 타입 가상 머신 개수가 상기 제2 최소 재고량에 못 미치는 경우 경고 메시지를 관리자에 송신하는 것을 포함하는 가상 머신 제공 방법.
  7. 제6 항에 있어서,
    상기 가상 머신 제공 방법은 상기 제1 사양 타입 및 제2 사양 타입 외에, 하나 이상의 사양 타입의 가상 머신이 더 확보되도록 관리하는 것을 포함하고,
    상기 디프로비저닝하는 것은,
    상기 가상 머신 제공 방법이 관리하는 상기 제1 사양 타입을 제외한 복수의 사양 타입 중 가장 많은 가상 머신이 미리 확보된 사양 타입인 상기 제2 사양 타입의 가상 머신 중 하나 이상의 가상 머신을 디프로비저닝하는 것을 포함하는 가상 머신 제공 방법.
  8. 제6 항에 있어서,
    상기 가상 머신 제공 방법은 상기 제1 사양 타입 및 제2 사양 타입 외에, 하나 이상의 사양 타입의 가상 머신이 더 확보되도록 관리하는 것을 포함하고,
    상기 디프로비저닝하는 것은,
    상기 가상 머신 제공 방법이 관리하는 상기 제1 사양 타입을 제외한 복수의 사양 타입 중 수요자에게 가장 적게 제공된 사양 타입인 상기 제2 사양 타입의 가상 머신 중 하나 이상의 가상 머신을 디프로비저닝하는 것을 포함하는 가상 머신 제공 방법.
  9. 수요자의 가상 머신 생성 요청을 수신하는 사용자 인터페이스부;
    수요자의 각 사양 타입 별 가상 머신 요청 이력을 포함하는 정보인 가상 머신 요청 정보를 관리하는 가상 머신 요청 정보 관리부;
    동일한 사양 타입의 가상 머신을 포함하는 가상 머신 풀을 각 사양 타입 별로 관리하며, 상기 가상 머신 요청 정보를 분석하여 각 사양 타입 별로 최소 재고량을 결정하고, 상기 가상 머신 풀에 최소 재고량에 못 미치는 가상 머신이 포함된 사양 타입에 대하여는 신규 가상 머신을 프로비저닝 하도록 하는 가상 머신 프로비저닝부를 제어하는 가상 머신 보충 프로세스를 수행하는 가상 머신 풀 관리부; 및
    상기 가상 머신 풀 관리부의 제어에 따라 지정된 사양 타입의 가상 머신을 프로비저닝하여 상기 가상 머신 풀 관리부에 프로비저닝된 가상 머신에 대한 정보를 제공하는 가상 머신 프로비져닝부를 포함하되,
    상기 가상 머신 풀 관리부는 상기 가상 머신 생성 요청에 따른 사양 타입의 가상 머신을 상기 수요자에 관리 권한을 부여하고, 관련 응답 정보가 상기 사용자 인터페이스부를 통하여 상기 수요자에 제공되도록 하며, 상기 수요자에 관리 권한이 부여된 가상 머신은 상기 가상 머신 풀에서 제거하는 가상 머신 제공 시스템.
  10. 제9 항에 있어서,
    상기 가상 머신 풀 관리부는,
    주기적으로 상기 가상 머신 보충 프로세스를 수행하되, 상기 수요자에 가상 머신이 제공된 결과로 가상 머신이 모두 소진된 가상 머신 풀이 발생하는 경우 즉시 상기 가상 머신 보충 프로세스를 수행하는 가상 머신 제공 시스템.
  11. 제9 항에 있어서,
    상기 가상 머신 풀 관리부는,
    상기 가상 머신 요청 정보를 주기적으로 분석하고, 분석 결과를 바탕으로 각 사양 타입 별 최소 재고량을 자동 조정하는 가상 머신 제공 시스템.
  12. 제9 항에 있어서,
    상기 가상 머신 보충 프로세스는,
    가상 머신의 개수가 최소 재고량에 못 미치는 사양 타입의 가상 머신을 신규로 프로비저닝하고, 만약 신규 프로비저닝하기에 시스템 자원이 부족한 경우, 가상 머신의 개수가 최소 재고량을 초과하는 사양 타입의 가상 머신 중 하나를 디프로비저닝 대상으로 선정하여 디프로비저닝 대상인 사양 타입의 가상 머신 중 하나 이상을 디프로비저닝하도록 상기 프로비져닝부를 제어하여 시스템 자원을 확보한 후 상기 신규 프로비저닝을 다시 진행하는 것을 포함하는 가상 머신 제공 시스템.
  13. 제12 항에 있어서,
    상기 디프로비저닝 대상인 사양 타입은 가상 머신의 개수가 가장 많이 확보된 사양 타입으로 결정되는 가상 머신 제공 시스템.
  14. 제12 항에 있어서,
    상기 디프로비저닝 대상인 사양 타입은 상기 가상 머신 요청 정보에 기록된 가상 머신 제공 횟수가 가장 적은 사양 타입으로 결정되는 가상 머신 제공 시스템.
  15. 하이퍼바이저;
    수요자에 관리 권한이 부여된 것으로 상기 하이퍼바이저 상에서 동작하는 하나 이상의 수요자 사용 가상 머신; 및
    상기 하이퍼바이저 상에서 동작하며, 관리 권한이 시스템 관리자에 부여된 둘 이상의 가상 머신으로써, 둘 이상의 서로 다른 사양 타입으로 분류되는 재고 가상 머신을 포함하되,
    상기 하이퍼바이저는,
    수요자의 각 사양 타입 별 가상 머신 요청 이력을 포함하는 정보인 가상 머신 요청 정보를 관리하고,
    동일한 사양 타입의 가상 머신을 포함하는 가상 머신 풀을 각 사양 타입 별로 관리하며, 상기 가상 머신 요청 정보를 분석하여 각 사양 타입 별로 최소 재고량을 결정하고, 상기 가상 머신 풀에 최소 재고량에 못 미치는 가상 머신이 포함된 사양 타입에 대하여는 신규 가상 머신을 프로비저닝 하며,
    수요자의 가상 머신 생성 요청에 따른 사양 타입의 가상 머신을 상기 가상 머신 풀에서 찾은 후, 상기 수요자에 제공하는 가상 머신 제공 시스템.
KR20120122452A 2012-10-31 2012-10-31 가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체 KR101508925B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20120122452A KR101508925B1 (ko) 2012-10-31 2012-10-31 가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120122452A KR101508925B1 (ko) 2012-10-31 2012-10-31 가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체

Publications (2)

Publication Number Publication Date
KR20140055481A KR20140055481A (ko) 2014-05-09
KR101508925B1 true KR101508925B1 (ko) 2015-04-07

Family

ID=50887127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120122452A KR101508925B1 (ko) 2012-10-31 2012-10-31 가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체

Country Status (1)

Country Link
KR (1) KR101508925B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102232617B1 (ko) * 2015-10-14 2021-03-26 에스케이텔레콤 주식회사 가상 머신을 생성하는 장치 및 방법
KR102214782B1 (ko) * 2015-12-21 2021-02-10 한국전자기술연구원 가상 머신 성능 최적화를 위한 하드웨어 리소스 등급 분류 및 자원 할당방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288224A1 (en) 2006-05-22 2007-12-13 Infosys Technologies Ltd. Pre-creating virtual machines in a grid environment
KR20090065126A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법
KR20100138689A (ko) * 2009-06-23 2010-12-31 삼성전자주식회사 클라우드 컴퓨팅 서비스를 제공하는 관리 서버 및 방법
JP2011170787A (ja) 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp リソース割当装置、リソース割当方法、およびリソース割当制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288224A1 (en) 2006-05-22 2007-12-13 Infosys Technologies Ltd. Pre-creating virtual machines in a grid environment
KR20090065126A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법
KR20100138689A (ko) * 2009-06-23 2010-12-31 삼성전자주식회사 클라우드 컴퓨팅 서비스를 제공하는 관리 서버 및 방법
JP2011170787A (ja) 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp リソース割当装置、リソース割当方法、およびリソース割当制御プログラム

Also Published As

Publication number Publication date
KR20140055481A (ko) 2014-05-09

Similar Documents

Publication Publication Date Title
KR101540631B1 (ko) 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
EP3402131B1 (en) Resource configuration method, virtualized network function manager and network element management system
US8745216B2 (en) Systems and methods for monitoring and controlling a service level agreement
US8689227B2 (en) System and method for integrating capacity planning and workload management
RU2640724C1 (ru) Способ устранения неисправностей, устройство и система, основанные на виртуализации сетевых функций
US9442763B2 (en) Resource allocation method and resource management platform
JP5746351B2 (ja) コンピューティング能力に対する要求を動的に管理するための方法およびシステム
US10931595B2 (en) Cloud quality of service management
US9037505B2 (en) Mechanisms for executing a process in a cloud computing environment
US9250974B1 (en) Systems and methods for configuring and managing computing resources to provide highly-scalable services
US20150058844A1 (en) Virtual computing resource orchestration
CN106170947B (zh) 一种告警信息处理方法、相关设备和系统
US9979780B1 (en) Method and apparatus for selection between multiple candidate clouds for job processing
US8024736B1 (en) System for controlling a distribution of unutilized computer resources
US20170003906A1 (en) Auto allocation of storage system resources to heterogeneous categories of resource consumer
US10599512B2 (en) System and method for creating and using hybrid virtual computing systems including a reserved portion of a capacity based on cluster failure probability
CN111459641B (zh) 一种跨机房的任务调度和任务处理的方法及装置
US20140282540A1 (en) Performant host selection for virtualization centers
CN103227809A (zh) 用于在不同客户端之间管理资源以用于专用的方法和系统
US10296411B1 (en) Endpoint call backoff in a computing service environment
US10778597B1 (en) Orchestration management system and method for managing a resource pool across multiple computing clouds
CN110839069A (zh) 一种节点数据部署方法、部署节点、系统及介质
KR101508925B1 (ko) 가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체
KR102389334B1 (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
US20170213266A1 (en) Generation of performance offerings for interactive applications

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
LAPS Lapse due to unpaid annual fee