KR20120063933A - 가상 머신 처리 시스템 및 그 방법 - Google Patents

가상 머신 처리 시스템 및 그 방법 Download PDF

Info

Publication number
KR20120063933A
KR20120063933A KR1020100125116A KR20100125116A KR20120063933A KR 20120063933 A KR20120063933 A KR 20120063933A KR 1020100125116 A KR1020100125116 A KR 1020100125116A KR 20100125116 A KR20100125116 A KR 20100125116A KR 20120063933 A KR20120063933 A KR 20120063933A
Authority
KR
South Korea
Prior art keywords
virtual machine
personal
image
requested
machine image
Prior art date
Application number
KR1020100125116A
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 KR1020100125116A priority Critical patent/KR20120063933A/ko
Priority to US13/313,769 priority patent/US20120151482A1/en
Publication of KR20120063933A publication Critical patent/KR20120063933A/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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 사용자마다 다른 가상머신 이미지들을 효율적으로 관리하는 시스템 및 방법에 관한 것으로서, 카피 온 라이트 방식을 이용하여 공용 가상 머신 이미지에 기반한 개인 가상 머신 이미지를 생성하고, 생성된 이미지를 통해 요청된 가상 머신을 처리하여 다중 사용자를 지원한다. 본 발명에 따르면, 동일한 가상 머신 이미지를 통합 관리할 수 있으며, 데이터 센터 내의 가상 머신 이미지 용량을 줄여 데이터 센터 구축 비용을 절감시킬 수 있다.

Description

가상 머신 처리 시스템 및 그 방법 {System and method for processing virtual machine}
본 발명은 가상 머신(VM; Virtual Machine)을 처리하는 시스템과 방법에 관한 것이다. 보다 상세하게는, 가상 머신 이미지를 통해 다중 사용자를 지원하여 가상 머신을 처리하는 시스템과 방법에 관한 것이다.
데스크탑 가상화 기술과 클라우드 컴퓨팅 기술의 발전으로 인해 많은 기업에서 사용자들에게 물리적인 시스템보다는 가상의 컴퓨팅 시스템을 제공하는 사례가 늘고 있다. 데이터 센터에 가상화 솔루션을 설치하고 사용자들은 간단한 씬클라이언트 단말이나 터미널을 이용하여 자신의 가상 컴퓨팅 시스템에 접근하여 작업을 수행하고 있다. 이로 인하여 데이터 센터 내에 사용자들의 가상 머신 이미지와 사용자 데이터들이 저장되고 있다. 사용자의 수가 늘수록 데이터 센터 내에는 그만큼의 가상 머신 이미지 공간과 데이터 공간이 늘어나게 된다. 개인 데이터는 각 개인마다 다르므로 그 공간을 줄일 수 있는 여지가 없는 반면, 가상 머신 이미지는 사용자들이 동일한 가상 머신을 사용하는 경우가 많기 때문에 그 공간을 줄일 수 있는 여지가 있다. 따라서, 사용자들의 가상 머신 이미지들을 효율적으로 관리하는 방안이 필요하다.
본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로서, 공용 가상 머신 이미지에 기반하여 생성된 개인용 가상 머신 이미지를 통해 다중 사용자를 지원하여 가상 머신을 처리하는 가상 머신 처리 시스템 및 그 방법을 제공함을 목적으로 한다.
본 발명은 상기한 목적을 달성하기 위해 안출된 것으로서, 사용자에게 가상 머신(Virtual Machine)을 제공하는 가상 머신 제공부들; 가상 머신 실행이 요청되면 가상 머신 제공부들의 시스템 로드 상태에 따라 특정 가상 머신 제공부를 선택하는 가상 머신 선택부; 및 요청된 가상 머신의 종류 및 요청된 가상 머신을 실행시키기 위한 개인용 가상 머신 이미지가 있는지 여부에 따라 선택된 가상 머신 제공부를 통해 요청된 가상 머신을 실행시키는 가상 머신 실행부를 포함하는 것을 특징으로 하는 가상 머신 처리 시스템을 제공한다.
바람직하게는, 상기 가상 머신 실행부는, 요청된 가상 머신이 공용 가상 머신인지 또는 사용자들마다 다른 개인용 가상 머신인지를 판별하는 가상 머신 판별부; 요청된 가상 머신이 공용 가상 머신이면 공용 가상 머신을 실행시키기 위한 공용 가상 머신 이미지로부터 생성된 개인용 가상 머신 이미지가 있는지를 판별하는 개인용 가상 머신 이미지 유무 판별부; 개인용 가상 머신 이미지가 없으면 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 개인용 가상 머신 이미지 생성부; 및 요청된 가상 머신과 관련된 개인용 가상 머신 이미지를 통해 요청된 가상 머신을 실행시키는 실행부를 포함한다. 더욱 바람직하게는, 상기 개인용 가상 머신 이미지 생성부는 카피 온 라이트(Copy On Write)로 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성한다.
바람직하게는, 가상 머신 처리 시스템은 개인용 가상 머신 이미지를 저장하는 가상 머신 이미지 저장부를 더욱 포함하며, 개인용 가상 머신 이미지 생성부는 생성된 가상 머신 이미지를 가상 머신 이미지 저장부에 마운트된 가상 머신 제공부의 디렉토리에 저장시킨다.
바람직하게는, 상기 가상 머신 선택부는, 가상 머신이 요청되면 가상 머신 제공부들마다 시스템 로드 상태를 계산하는 시스템 로드 계산부; 및 계산값을 기초로 시스템 로드가 가장 적은 가상 머신 제공부를 선택하는 선택부를 포함한다. 더욱 바람직하게는, 상기 시스템 로드 계산부는 시스템 로드 상태로 메모리 사용량, CPU 사용량 및 실행중인 가상 머신 개수 중 적어도 하나의 요소를 계산한다. 더욱더 바람직하게는, 상기 시스템 로드 계산부는 적어도 두개의 요소를 계산할 때에 미리 정해진 우선순위를 고려하여 시스템 로드 상태를 계산한다.
바람직하게는, 가상 머신 처리 시스템은 가상 머신 실행을 요청하는 단말을 인증하는 단말 인증부를 더욱 포함한다.
또한, 본 발명은 가상 머신 실행이 요청되면 사용자에게 가상 머신(Virtual Machine)을 제공하는 가상 머신 제공부들의 시스템 로드 상태에 따라 특정 가상 머신 제공부를 선택하는 가상 머신 선택 단계; 및 요청된 가상 머신의 종류 및 요청된 가상 머신을 실행시키기 위한 개인용 가상 머신 이미지가 있는지 여부에 따라 선택된 가상 머신 제공부를 통해 요청된 가상 머신을 실행시키는 가상 머신 실행 단계를 포함하는 것을 특징으로 하는 가상 머신 처리 방법을 제공한다.
바람직하게는, 상기 가상 머신 실행 단계는, 요청된 가상 머신이 공용 가상 머신인지 또는 사용자들마다 다른 개인용 가상 머신인지를 판별하는 가상 머신 판별 단계; 요청된 가상 머신이 공용 가상 머신이면 공용 가상 머신을 실행시키기 위한 공용 가상 머신 이미지로부터 생성된 개인용 가상 머신 이미지가 있는지를 판별하는 개인용 가상 머신 이미지 유무 판별 단계; 개인용 가상 머신 이미지가 없으면 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 개인용 가상 머신 이미지 생성 단계; 및 요청된 가상 머신과 관련된 개인용 가상 머신 이미지를 통해 요청된 가상 머신을 실행시키는 실행 단계를 포함한다. 더욱 바람직하게는, 상기 개인용 가상 머신 이미지 생성 단계는 카피 온 라이트(Copy On Write)로 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성한다. 더욱 바람직하게는, 개인용 가상 머신 이미지 생성 단계는 개인용 가상 머신 이미지를 저장하는 가상 머신 이미지 저장부에 마운트된 가상 머신 제공부의 디렉토리로 생성된 가상 머신 이미지를 저장시킨다.
바람직하게는, 상기 가상 머신 선택 단계는, 가상 머신이 요청되면 가상 머신 제공부들마다 시스템 로드 상태를 계산하는 시스템 로드 계산 단계; 및 계산값을 기초로 시스템 로드가 가장 적은 가상 머신 제공부를 선택하는 선택 단계를 포함한다. 더욱 바람직하게는, 상기 시스템 로드 계산 단계는 시스템 로드 상태로 메모리 사용량, CPU 사용량 및 실행중인 가상 머신 개수 중 적어도 하나의 요소를 계산한다. 더욱더 바람직하게는, 상기 시스템 로드 계산 단계는 적어도 두개의 요소를 계산할 때에 미리 정해진 우선순위를 고려하여 시스템 로드 상태를 계산한다.
바람직하게는, 가상 머신 선택 단계와 함께 구현되거나 가상 머신 선택 단계 이전에 구현되는 단계로서, 가상 머신 실행을 요청하는 단말을 인증하는 단말 인증 단계를 더욱 포함한다.
본 발명은 공용 가상 머신 이미지에 기반하여 생성된 개인용 가상 머신 이미지를 통해 다중 사용자를 지원하여 가상 머신을 처리함으로써 다음과 같은 효과를 얻을 수 있다. 첫째, 카피 온 라이트(COW; Copy On Write) 방법을 통해 가상 머신 이미지를 관리함으로써 데스크탑 가상화 솔루션이나 클라우드 컴퓨팅 서비스를 제공하는 데이터 센터 내의 가상 머신 이미지 용량을 줄일 수 있으며, 데이터 센터 구축 비용도 절감시킬 수 있다. 또한, 개인 가상 머신 설치 시간도 수분에서 수초~수ms까지 줄일 수 있다. 둘째, 개인의 가상 머신 이미지를 자동으로 생성해주기 때문에 사용자는 보다 편리하게 자신의 가상 머신 이미지를 사용할 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 가상 머신 처리 시스템을 개략적으로 도시한 블록도이다.
도 2는 가상 머신 처리 시스템의 내부 구성을 세부적으로 도시한 블록도이다.
도 3은 일실시예에 따른 가상 머신 이미지를 관리하는 시스템의 구성도이다.
도 4는 본 발명의 바람직한 실시예에 따른 가상 머신 처리 방법을 도시한 순서도이다.
도 5는 가상 머신 이미지 관리 서버의 가상 머신 이미지 생성 방법과 관련한 흐름도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 바람직한 실시예에 따른 가상 머신 처리 시스템을 개략적으로 도시한 블록도이다. 도 2는 가상 머신 처리 시스템의 내부 구성을 세부적으로 도시한 블록도이다. 이하 설명은 도 1과 도 2를 참조한다.
도 1에 따르면, 가상 머신 처리 시스템(100)은 가상 머신 제공부들(110), 가상 머신 선택부(120), 가상 머신 실행부(130) 및 주제어부(140)를 포함한다.
가상 머신 제공부들(110)은 사용자에게 가상 머신(Virtual Machine)을 제공하는 기능을 수행한다. 본 실시예에서 가상 머신 제공부는 가상 머신 제공 서버로 구현될 수 있다.
가상 머신 선택부(120)는 가상 머신 실행이 요청되면 가상 머신 제공부들(110)의 시스템 로드 상태에 따라 특정 가상 머신 제공부를 선택하는 기능을 수행한다. 이러한 가상 머신 선택부(120)는 도 2의 (a)에 도시된 바와 같이 시스템 로드 계산부(121)와 선택부(122)를 포함할 수 있다. 시스템 로드 계산부(121)는 가상 머신이 요청되면 가상 머신 제공부들마다 시스템 로드 상태를 계산하는 기능을 수행한다. 시스템 로드 계산부(121)는 시스템 로드 상태로 메모리 사용량, CPU 사용량 및 실행중인 가상 머신 개수 중 적어도 하나의 요소를 계산한다. 시스템 로드 계산부(121)는 적어도 두개의 요소를 계산할 때에 미리 정해진 우선순위를 고려하여 시스템 로드 상태를 계산한다. 선택부(122)는 계산값을 기초로 시스템 로드가 가장 적은 가상 머신 제공부를 선택하는 기능을 수행한다.
가상 머신 실행부(130)는 요청된 가상 머신의 종류 및 요청된 가상 머신을 실행시키기 위한 개인용 가상 머신 이미지가 있는지 여부에 따라 선택된 가상 머신 제공부를 통해 요청된 가상 머신을 실행시키는 기능을 수행한다. 이러한 가상 머신 실행부(130)는 도 2의 (b)에 도시된 바와 같이 가상 머신 판별부(131), 개인용 가상 머신 유무 판별부(132), 개인용 가상 머신 이미지 생성부(133) 및 실행부(134)를 포함할 수 있다. 가상 머신 판별부(131)는 요청된 가상 머신이 공용 가상 머신인지 또는 사용자들마다 다른 개인용 가상 머신인지를 판별하는 기능을 수행한다. 개인용 가상 머신 이미지 유무 판별부(132)는 요청된 가상 머신이 공용 가상 머신이면 공용 가상 머신을 실행시키기 위한 공용 가상 머신 이미지로부터 생성된 개인용 가상 머신 이미지가 있는지를 판별하는 기능을 수행한다. 개인용 가상 머신 이미지 생성부(133)는 개인용 가상 머신 이미지가 없으면 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 기능을 수행한다. 바람직하게는, 개인용 가상 머신 이미지 생성부(133)는 카피 온 라이트(Copy On Write)로 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성한다. 실행부(134)는 요청된 가상 머신과 관련된 개인용 가상 머신 이미지를 통해 요청된 가상 머신을 실행시키는 기능을 수행한다. 본 실시예에서 실행부(134)는 요청된 가상 머신이 개인용 가상 머신일 때, 요청된 가상 머신을 실행시키기 위한 개인용 가상 머신 이미지가 있을 때, 개인용 가상 머신 이미지가 생성될 때 등의 경우에 개인용 가상 머신 이미지를 통해 요청된 가상 머신을 실행시킨다.
본 실시예에서 가상 머신 선택부(120)와 가상 머신 실행부(130)는 가상 머신 관리 서버로 구현될 수 있다.
주제어부(140)는 가상 머신 처리 시스템(100)을 구성하는 각 부의 전체 작동을 제어하는 기능을 수행한다.
가상 머신 처리 시스템(100)은 가상 머신 이미지 저장부(150)를 더욱 포함할 수 있다. 가상 머신 이미지 저장부(150)는 개인용 가상 머신 이미지를 저장하는 것이다. 개인용 가상 머신 이미지 생성부(133)는 생성된 가상 머신 이미지를 가상 머신 이미지 저장부(150)에 마운트된 가상 머신 제공부의 디렉토리에 저장시켜 가상 머신 이미지 저장부(150)에도 자동 저장되도록 한다. 본 실시예에서 가상 머신 이미지 저장부(150)는 가상 머신 이미지 서버로 구현될 수 있다.
또한, 가상 머신 처리 시스템(100)은 단말 인증부(160)를 더욱 포함할 수 있다. 단말 인증부(160)는 가상 머신 실행을 요청하는 단말을 인증하는 기능을 수행한다. 본 실시예에서 단말 인증부(160)는 사용자 관리 서버로 구현될 수 있다.
본 실시예에 따른 가상 머신 처리 시스템(100)은 카피 온 라이트(COW; Copy On Write) 방법을 이용하여 개인 가상 머신 이미지를 생성하며, 다중 사용자를 위해 가상 머신 이미지를 효율적으로 관리하는 시스템이다. 이러한 가상 머신 처리 시스템(100)은 사용자들이 많이 사용하는 윈도우 XP, 윈도우 7, 우분투 등의 OS는 공용 가상 머신 이미지로 미리 데이터 센터에 설치하고, 데이터 센터 내의 가상 머신을 사용하는 사용자를 관리하는 서버, 가상 머신들을 관리하는 가상 머신 관리 서버, 실제로 가상 머신이 구동되는 가상 머신 제공 서버, 가상 머신 이미지가 저장되는 가상 머신 이미지 서버 등을 둔다. 가상 머신 처리 시스템(100)은 이러한 구성을 통해 사용자가 터미널 등을 이용하여 가상 머신 관리 서버에 로그인하여, 가상 머신 사용을 요청하면 카피 온 라이트 방식을 이용하여 공용 가상 머신 이미지로부터 사용자의 개인 가상 머신 이미지를 생성하고, 생성된 가상 머신을 부팅하여 사용자의 터미널에 보여준다. 카피 온 라이트 방식을 사용하여 개인 가상 머신 이미지를 생성하면 사용자가 수정하는 부분만 따로 생성된 개인 가상 머신 이미지에 저장되고 수정하지 않는 부분은 공용 가상 머신 이미지를 활용하게 되어 다수 사용자들의 공유가 가능해진다. 가령 10명의 사용자에게 100GB 용량의 윈도우 XP 환경을 가상 머신으로 제공할 경우, 카피 온 라이트 방식을 사용하지 않으면 1000GB 공간이 사용자에게 가상 머신을 제공하기 위해 필요하나, 카피 온 라이트 방식을 사용할 경우 하나의 100GB 공간의 공용 가상 머신과 수백KB 공간의 개인 가상 머신 10개만이 있으면 된다. 또한, 사용자에게 새로운 가상 머신 이미지를 제공하기 위해서는 사용자 수만큼 개인 가상 머신 이미지를 설치해야 하기 때문에 설치 시간이 많이 들게 된다. 그러나, 본 실시예에 따라 가상 머신 이미지를 관리하면 데이터 센터 내의 데이터 공간을 줄여줄 수 있을 뿐 아니라, 새로운 가상 머신의 경우 한번의 설치만으로 모든 사용자가 개인 가상 머신을 사용할 수 있게 되어 데이터 센터 관리가 훨씬 용이해진다.
도 3은 일실시예에 따른 가상 머신 이미지를 관리하는 시스템의 구성도이다. 도 3의 (a)는 시스템의 블록도를 나타낸 것이며, 도 3의 (b)는 본 실시예를 구현하는 실제 시스템의 모습을 나타낸 것이다. 도 3의 (a)와 (b)를 참조하면, 가상 머신 이미지 관리 시스템(300)의 구성은 사용자 데이터베이스와 사용자 인증 및 사용자 로그인/오프 관리 모듈을 탑재하는 사용자 관리 서버(310), 윈도우 XP, 윈도우 7 등 사용자들이 많이 사용하는 공용 가상 머신 이미지(321)와 이를 기반으로 카피 온 라이트 방식으로 생성된 개인 가상 머신 이미지(322)를 탑재한 가상 머신 이미지 서버(320), 실제로 가상 머신이 구동되는 다수의 가상 머신 제공 서버(330), 웹 기반의 가상 머신 관리 도구를 탑재하여 가상 머신을 관리하는 모듈이 탑재된 가상 머신 관리 서버(340) 등으로 구성된다.
사용자가 본 시스템(300)에서 가상 머신을 사용하려면 먼저 가상 머신 관리 서버(340)에 탑재되어 있는 가상 머신 관리 도구에 씬클라이언트 또는 터미널에서 제공되는 브라우저로 웹을 이용하여 접근한다. 사용자 로그온 화면이 뜨면 사용자는 자신의 아이디와 패스워드를 입력한다. 이때, 자신의 정보는 미리 사용자 관리 서버(310)의 데이터베이스에 저장이 되어 있는 상태라고 가정한다. 가상 머신 관리 서버(340)는 입력된 정보를 사용자 관리 서버(310)로 암호화하여 전송한다. 사용자 관리 서버(310)는 데이터를 복호화하여 사용자 인증을 수행한다. 인증된 사용자에 한해서만 사용자의 씬클리언트 혹은 터미널에 가상 머신 관리 도구의 초기 화면을 디스플레이한다. 가상 머신 관리 도구는 사용자에게 사용할 수 있는 가상 머신의 정보를 보여준다. 이때, 가상 머신은 공용으로 등록되어 있는 가상 머신과 로그온 된 사용자 소유의 개인 가상 머신 목록을 보여준다. 이후, 사용자는 사용하고 싶은 가상 머신을 선택하여 가상 머신의 실행을 요청한다. 가상 머신은 가상 머신 관리 서버(340)에 의해 시스템 로드(메모리 사용량, CPU 사용량, 실행중인 가상 머신 개수 등)를 조사하여 가장 로드가 적은 가상 머신 제공 서버(330)를 선택하며 그 서버에서 실행된다. 이때, 모든 가상 머신 제공 서버(330)는 가상 머신 이미지 서버(320)와 네트워크를 통하여 연결되어 있으며, 가상 머신 이미지 서버(320)의 이미지 디렉토리를 네트워크 마운트된 상태로 가정한다.
다음으로, 가상 머신 처리 시스템의 가상 머신 처리 방법에 대해서 설명한다. 도 4는 본 발명의 바람직한 실시예에 따른 가상 머신 처리 방법을 도시한 순서도이다. 이하 설명은 도 4를 참조한다.
먼저, 가상 머신 실행이 요청되면 사용자에게 가상 머신(Virtual Machine)을 제공하는 가상 머신 제공부들의 시스템 로드 상태에 따라 특정 가상 머신 제공부를 선택한다(가상 머신 선택 단계, S400). 본 실시예에서 가상 머신 선택 단계(S400)는 시스템 로드 계산 단계와 선택 단계를 포함할 수 있다. 시스템 로드 계산 단계는 가상 머신이 요청되면 가상 머신 제공부들마다 시스템 로드 상태를 계산하는 단계이다. 시스템 로드 계산 단계는 시스템 로드 상태로 메모리 사용량, CPU 사용량 및 실행중인 가상 머신 개수 중 적어도 하나의 요소를 계산한다. 또한, 시스템 로드 계산 단계는 적어도 두개의 요소를 계산할 때에 미리 정해진 우선순위를 고려하여 시스템 로드 상태를 계산한다. 선택 단계는 계산값을 기초로 시스템 로드가 가장 적은 가상 머신 제공부를 선택하는 단계이다.
이후, 요청된 가상 머신의 종류 및 요청된 가상 머신을 실행시키기 위한 개인용 가상 머신 이미지가 있는지 여부에 따라 선택된 가상 머신 제공부를 통해 요청된 가상 머신을 실행시킨다(가상 머신 실행 단계, S410). 본 실시예에서 가상 머신 실행 단계(S410)는 가상 머신 판별 단계, 개인용 가상 머신 이미지 유무 판별 단계, 개인용 가상 머신 이미지 생성 단계, 및 실행 단계를 포함할 수 있다. 가상 머신 판별 단계는 요청된 가상 머신이 공용 가상 머신인지 또는 사용자들마다 다른 개인용 가상 머신인지를 판별하는 단계이다. 개인용 가상 머신 이미지 유무 판별 단계는 요청된 가상 머신이 공용 가상 머신이면 공용 가상 머신을 실행시키기 위한 공용 가상 머신 이미지로부터 생성된 개인용 가상 머신 이미지가 있는지를 판별하는 단계이다. 개인용 가상 머신 이미지 생성 단계는 개인용 가상 머신 이미지가 없으면 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 단계이다. 개인용 가상 머신 이미지 생성 단계는 카피 온 라이트(Copy On Write)로 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성한다. 또한, 개인용 가상 머신 이미지 생성 단계는 개인용 가상 머신 이미지를 저장하는 가상 머신 이미지 저장부에 마운트된 가상 머신 제공부의 디렉토리로 생성된 가상 머신 이미지를 저장시킨다. 실행 단계는 요청된 가상 머신과 관련된 개인용 가상 머신 이미지를 통해 요청된 가상 머신을 실행시키는 단계이다.
한편, 본 방법에서는 단말 인증 단계가 더욱 수행될 수 있다. 단말 인증 단계는 가상 머신 실행을 요청하는 단말을 인증하는 단계이다. 단말 인증 단계는 가상 머신 선택 단계(S400)와 함께 수행될 수 있으나, 반드시 이에 한정되는 것은 아니다. 예컨대, 단말 인증 단계는 가상 머신 선택 단계 이전에 수행되는 것도 가능하다.
도 5는 가상 머신 이미지 관리 서버의 가상 머신 이미지 생성 방법과 관련한 흐름도이다. 사용자 관리 서버를 통해 사용자가 인증되면(S501, S502), 인증된 사용자가 가상 머신 사용을 요청한다(S503). 그러면, 가상 머신 관리 서버는 모든 가상 머신 제공 서버의 시스템 로드를 계산한다. 시스템 로드 계산시 우선 순위는 메모리 사용량, CPU 사용량, 실행중인 가상 머신 개수이며, 가장 로드가 적은 가상 머신 제공 서버를 선택한다. 이후, 선택된 가상 머신의 종류를 조사한다. 만약 선택된 가상 머신이 자신의 가상 머신이면(S504) 그대로 가상 머신을 실행한다(S505). 실행된 가상 머신 화면은 접속된 사용자의 씬 클라이언트나 터미널의 모니터에 나타나게 된다. 선택된 가상 머신의 종류가 공용 가상 머신이면(S504) 가상 머신 관리 서버는 요청한 사용자의 개인 가상 머신 이미지가 존재하는지 검색하고(S506), 개인 가상 머신 이미지가 존재하면 그 가상 머신을 선택하여 실행하게 된다(S507). 만일 개인 가상 머신 이미지가 존재하지 않으면 공용 가상 머신 이미지를 기반으로 하여 카피 온 라이트 방식으로 새로운 개인 가상 머신 이미지를 생성한다(S508). 생성된 개인 가상 머신 이미지는 선택된 가상 머신 제공 서버의 디렉토리에 저장되며 이 디렉토리는 가상 머신 이미지 서버에 마운트되어 있기 때문에 자동으로 가상 머신 이미지 서버에도 저장된다. 이후 사용자는 자신이 접속한 단말에서 가상 머신을 사용하다가 종료 요청을 하면(S509) 가상 머신 관리 서버는 요청된 가상 머신을 종료한다(S510).
카피 온 라이트 방식으로 생성된 개인 가상 머신 이미지는 공용 가상 머신 이미지를 기반으로 하기 때문에 이 방식으로 생성된 모든 개인 가상 머신 이미지는 처음에는 동일한 가상 머신이다. 이후 사용자에 따라 변화된 부분만이 각각의 개인 가상 머신 이미지에 저장되며 사용자가 변화시킨 부분에 따라 용량이 달라지게 된다. 따라서 사용자의 데이터는 자신의 개인 가상 머신에만 저장되며 데이터의 보안성이 높아지게 된다. 이 방법은 사용자에게 각자의 가상 머신 이미지를 원본 CD를 통하여 설치하게 하거나 가상 머신에 부가적으로 디스크 이미지를 할당하는 기존의 가상 머신 이미지 관리 방법에 비해 가상 머신 생성 시간을 줄일 수 있고, 변화된 부분에 따라 용량이 바뀌므로 데이터 센터 내의 디스크 사용량을 줄일 수 있는 장점이 있다. 실제로 카피 온 라이트 방식으로 생성된 개인 가상 머신 이미지는 공용 이미지의 용량에 상관없이 초기에는 수백 킬로 바이트 정도의 용량만을 차지한다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 다중 사용자 지원 가상 머신 이미지 관리 시스템이나 SoD(System on-Demand) 서비스를 위한 협업형 VM 시스템 등에 적용될 수 있다.
100 : 가상 머신 처리 시스템 110 : 가상 머신 제공부들
120 : 가상 머신 선택부 121 : 시스템 로드 계산부
122 : 선택부 130 : 가상 머신 실행부
131 : 가상 머신 판별부 132 : 개인용 가상 머신 유무 판별부
133 : 개인용 가상 머신 이미지 생성부 134 : 실행부
140 : 주제어부 150 : 가상 머신 이미지 저장부
160 : 단말 인증부 300 : 가상 머신 이미지 관리 시스템
310 : 사용자 관리 서버 320 : 가상 머신 이미지 서버
321 : 공용 가상 머신 이미지 322 : 개인용 가상 머신 이미지
330 : 가상 머신 제공 서버 340 : 가상 머신 관리 서버

Claims (16)

  1. 사용자에게 가상 머신(Virtual Machine)을 제공하는 가상 머신 제공부들;
    가상 머신 실행이 요청되면 가상 머신 제공부들의 시스템 로드 상태에 따라 특정 가상 머신 제공부를 선택하는 가상 머신 선택부; 및
    요청된 가상 머신의 종류 및 요청된 가상 머신을 실행시키기 위한 개인용 가상 머신 이미지가 있는지 여부에 따라 선택된 가상 머신 제공부를 통해 요청된 가상 머신을 실행시키는 가상 머신 실행부
    를 포함하는 것을 특징으로 하는 가상 머신 처리 시스템.
  2. 제 1 항에 있어서,
    상기 가상 머신 실행부는,
    요청된 가상 머신이 공용 가상 머신인지 또는 사용자들마다 다른 개인용 가상 머신인지를 판별하는 가상 머신 판별부;
    요청된 가상 머신이 공용 가상 머신이면 공용 가상 머신을 실행시키기 위한 공용 가상 머신 이미지로부터 생성된 개인용 가상 머신 이미지가 있는지를 판별하는 개인용 가상 머신 이미지 유무 판별부;
    개인용 가상 머신 이미지가 없으면 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 개인용 가상 머신 이미지 생성부; 및
    요청된 가상 머신과 관련된 개인용 가상 머신 이미지를 통해 요청된 가상 머신을 실행시키는 실행부
    를 포함하는 것을 특징으로 하는 가상 머신 처리 시스템.
  3. 제 2 항에 있어서,
    상기 개인용 가상 머신 이미지 생성부는 카피 온 라이트(Copy On Write)로 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 것을 특징으로 하는 가상 머신 처리 시스템.
  4. 제 2 항에 있어서,
    개인용 가상 머신 이미지를 저장하는 가상 머신 이미지 저장부
    를 더욱 포함하며,
    개인용 가상 머신 이미지 생성부는 생성된 가상 머신 이미지를 가상 머신 이미지 저장부에 마운트된 가상 머신 제공부의 디렉토리에 저장시키는 것을 특징으로 하는 가상 머신 처리 시스템.
  5. 제 1 항에 있어서,
    상기 가상 머신 선택부는,
    가상 머신이 요청되면 가상 머신 제공부들마다 시스템 로드 상태를 계산하는 시스템 로드 계산부; 및
    계산값을 기초로 시스템 로드가 가장 적은 가상 머신 제공부를 선택하는 선택부
    를 포함하는 것을 특징으로 하는 가상 머신 처리 시스템.
  6. 제 5 항에 있어서,
    상기 시스템 로드 계산부는 시스템 로드 상태로 메모리 사용량, CPU 사용량 및 실행중인 가상 머신 개수 중 적어도 하나의 요소를 계산하는 것을 특징으로 하는 가상 머신 처리 시스템.
  7. 제 6 항에 있어서,
    상기 시스템 로드 계산부는 적어도 두개의 요소를 계산할 때에 미리 정해진 우선순위를 고려하여 시스템 로드 상태를 계산하는 것을 특징으로 하는 가상 머신 처리 시스템.
  8. 제 1 항에 있어서,
    가상 머신 실행을 요청하는 단말을 인증하는 단말 인증부
    를 더욱 포함하는 것을 특징으로 하는 가상 머신 처리 시스템.
  9. 가상 머신 실행이 요청되면 사용자에게 가상 머신(Virtual Machine)을 제공하는 가상 머신 제공부들의 시스템 로드 상태에 따라 특정 가상 머신 제공부를 선택하는 가상 머신 선택 단계; 및
    요청된 가상 머신의 종류 및 요청된 가상 머신을 실행시키기 위한 개인용 가상 머신 이미지가 있는지 여부에 따라 선택된 가상 머신 제공부를 통해 요청된 가상 머신을 실행시키는 가상 머신 실행 단계
    를 포함하는 것을 특징으로 하는 가상 머신 처리 방법.
  10. 제 9 항에 있어서,
    상기 가상 머신 실행 단계는,
    요청된 가상 머신이 공용 가상 머신인지 또는 사용자들마다 다른 개인용 가상 머신인지를 판별하는 가상 머신 판별 단계;
    요청된 가상 머신이 공용 가상 머신이면 공용 가상 머신을 실행시키기 위한 공용 가상 머신 이미지로부터 생성된 개인용 가상 머신 이미지가 있는지를 판별하는 개인용 가상 머신 이미지 유무 판별 단계;
    개인용 가상 머신 이미지가 없으면 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 개인용 가상 머신 이미지 생성 단계; 및
    요청된 가상 머신과 관련된 개인용 가상 머신 이미지를 통해 요청된 가상 머신을 실행시키는 실행 단계
    를 포함하는 것을 특징으로 하는 가상 머신 처리 방법.
  11. 제 10 항에 있어서,
    상기 개인용 가상 머신 이미지 생성 단계는 카피 온 라이트(Copy On Write)로 공용 가상 머신 이미지 기반 개인용 가상 머신 이미지를 생성하는 것을 특징으로 하는 가상 머신 처리 방법.
  12. 제 10 항에 있어서,
    개인용 가상 머신 이미지 생성 단계는 개인용 가상 머신 이미지를 저장하는 가상 머신 이미지 저장부에 마운트된 가상 머신 제공부의 디렉토리로 생성된 가상 머신 이미지를 저장시키는 것을 특징으로 하는 가상 머신 처리 방법.
  13. 제 9 항에 있어서,
    상기 가상 머신 선택 단계는,
    가상 머신이 요청되면 가상 머신 제공부들마다 시스템 로드 상태를 계산하는 시스템 로드 계산 단계; 및
    계산값을 기초로 시스템 로드가 가장 적은 가상 머신 제공부를 선택하는 선택 단계
    를 포함하는 것을 특징으로 하는 가상 머신 처리 방법.
  14. 제 13 항에 있어서,
    상기 시스템 로드 계산 단계는 시스템 로드 상태로 메모리 사용량, CPU 사용량 및 실행중인 가상 머신 개수 중 적어도 하나의 요소를 계산하는 것을 특징으로 하는 가상 머신 처리 방법.
  15. 제 14 항에 있어서,
    상기 시스템 로드 계산 단계는 적어도 두개의 요소를 계산할 때에 미리 정해진 우선순위를 고려하여 시스템 로드 상태를 계산하는 것을 특징으로 하는 가상 머신 처리 방법.
  16. 제 9 항에 있어서,
    가상 머신 실행을 요청하는 단말을 인증하는 단말 인증 단계
    를 더욱 포함하는 것을 특징으로 하는 가상 머신 처리 방법.
KR1020100125116A 2010-12-08 2010-12-08 가상 머신 처리 시스템 및 그 방법 KR20120063933A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100125116A KR20120063933A (ko) 2010-12-08 2010-12-08 가상 머신 처리 시스템 및 그 방법
US13/313,769 US20120151482A1 (en) 2010-12-08 2011-12-07 System and method for processing virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100125116A KR20120063933A (ko) 2010-12-08 2010-12-08 가상 머신 처리 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20120063933A true KR20120063933A (ko) 2012-06-18

Family

ID=46200816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100125116A KR20120063933A (ko) 2010-12-08 2010-12-08 가상 머신 처리 시스템 및 그 방법

Country Status (2)

Country Link
US (1) US20120151482A1 (ko)
KR (1) KR20120063933A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101505077B1 (ko) * 2013-02-15 2015-03-23 주식회사 케이티 클라우드 서비스 시스템 및 그 관리 방법
KR20150102388A (ko) * 2014-02-28 2015-09-07 주식회사 엠에스피 클라우드 기반 네트워크 컴퓨팅 시스템
KR20210033380A (ko) * 2019-09-18 2021-03-26 주식회사 에즈웰 사용자 인증 기반의 가상 데스크톱 환경의 제공이 가능한 컴퓨팅 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943564B2 (en) * 2011-07-21 2015-01-27 International Business Machines Corporation Virtual computer and service
US8839447B2 (en) * 2012-02-27 2014-09-16 Ca, Inc. System and method for virtual image security in a cloud environment
US9792187B2 (en) * 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
CN104820610B (zh) * 2015-05-14 2017-12-22 华中科技大学 一种云环境中虚拟机镜像的更新方法及系统
JP2019101553A (ja) * 2017-11-29 2019-06-24 株式会社Preferred Networks 情報処理システム、サーバ装置、情報処理方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US8826272B2 (en) * 2010-11-29 2014-09-02 International Business Machines Corporation Planning a reliable migration in a limited stability virtualized environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101505077B1 (ko) * 2013-02-15 2015-03-23 주식회사 케이티 클라우드 서비스 시스템 및 그 관리 방법
KR20150102388A (ko) * 2014-02-28 2015-09-07 주식회사 엠에스피 클라우드 기반 네트워크 컴퓨팅 시스템
KR20210033380A (ko) * 2019-09-18 2021-03-26 주식회사 에즈웰 사용자 인증 기반의 가상 데스크톱 환경의 제공이 가능한 컴퓨팅 장치

Also Published As

Publication number Publication date
US20120151482A1 (en) 2012-06-14

Similar Documents

Publication Publication Date Title
KR20120063933A (ko) 가상 머신 처리 시스템 및 그 방법
US10560538B2 (en) Integrated user interface for consuming services across different distributed networks
US9489227B2 (en) Apparatus and method for virtual desktop service
US8943606B2 (en) Systems and methods for associating a virtual machine with an access control right
US10200493B2 (en) High-density multi-tenant distributed cache as a service
Viega Cloud computing and the common man
KR101977726B1 (ko) 가상 데스크탑 서비스 방법 및 장치
US9866547B2 (en) Controlling a discovery component, within a virtual environment, that sends authenticated data to a discovery engine outside the virtual environment
US9985949B2 (en) Secure assertion attribute for a federated log in
US20140201533A1 (en) Quorum-based virtual machine security
CN105493099A (zh) 用于托管虚拟机的加密证实资源
EP2702744B1 (en) Method for securely creating a new user identity within an existing cloud account in a cloud system
US20180004585A1 (en) Application Programming Interface (API) Hub
US10021111B2 (en) Location based authentication of users to a virtual machine in a computer system
US20120297066A1 (en) Method and system for apparatus means for providing a service requested by a client in a public cloud infrastructure
US11165585B2 (en) Token repository and integration
US20190327310A1 (en) Efficient approach for achieving session failover for http traffic in a scale out web tier using a shared salt
US10291616B1 (en) Resource authorization system and method
US11003761B2 (en) Inferred access authentication decision for an application
Sakib et al. A proposal on cloud based data centre using shared memory of mobile storage by virtualization
Rai et al. Vertical scaling of virtual machines in cloud environment
Posey Dynamic HPC clusters within amazon web services (aws)
US11036406B2 (en) Thermally aware memory management
CN115086321B (zh) 多集群流量转发方法及装置、电子设备
Ameen et al. A service provisioning and managing framework for Platform as a Service in educational cloud

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application