KR20090070933A - 가상머신을 이용한 호스팅 서비스 장치 및 방법 - Google Patents

가상머신을 이용한 호스팅 서비스 장치 및 방법 Download PDF

Info

Publication number
KR20090070933A
KR20090070933A KR1020070139099A KR20070139099A KR20090070933A KR 20090070933 A KR20090070933 A KR 20090070933A KR 1020070139099 A KR1020070139099 A KR 1020070139099A KR 20070139099 A KR20070139099 A KR 20070139099A KR 20090070933 A KR20090070933 A KR 20090070933A
Authority
KR
South Korea
Prior art keywords
virtual machine
server
user terminal
hosting service
job
Prior art date
Application number
KR1020070139099A
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 KR1020070139099A priority Critical patent/KR20090070933A/ko
Publication of KR20090070933A publication Critical patent/KR20090070933A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine

Abstract

본 발명은 사용자 단말기에게 호스팅 서비스를 제공하는 가상 머신을 이용한 호스팅 서비스 장치 및 방법에 관한 것이다. 상기 사용자 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 작업서버를 판단하여 가상 머신을 부트시켜 상기 사용자 단말기가 사용하도록 하고, 상기 가상 머신과 상기 작업서버의 부하를 모니터링 한다. 그리고, 상기 작업 서버의 부하가 소정 시간 이상 기준값 이상인 경우 시스템 이동을 시킨다.
또한, 상기 시스템 이미지 스토리지로부터 전송받은 기본 이미지가 상기 클라이언트 단말기에 의해 수정된 경우, 추후에 상기 클라이언트 단말기가 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장한다.
이렇게 함으로써, 각종 호스팅 서비스를 제공하는 업체가 보유하는 서버의 활용률을 높일 수 있는 동시에 해당 서비스를 사용하는 고객이 자원을 요청하는 시점부터 업체로부터 이를 제공받는 시점까지의 모든 과정을 자동화할 수 있다. 따라서 서비스 업체와 고객 모두에게 편의를 향상시키고 비용을 절감하는 효과를 가져다 줄 수 있다.
가상, 머신, 호스팅, 동적자원

Description

가상머신을 이용한 호스팅 서비스 장치 및 방법 {Device and Method for hosting service using virtual machine}
본 발명은 호스팅 서비스에 관한 것으로, 특히, 컴퓨팅 자원을 동적으로 할당하는 가상 머신을 이용한 호스팅 서비스 장치 및 방법에 관한 것이다.
현재 호스팅 서비스는 업체와 고객 사이에 계약이 맺어지고 한 개의 물리적인 머신 단위로 업체는 고객에게 서버를 할당하게 된다. 즉, 서버 몇개를 해당 고객에게 임대하는 계약을 하게 된다.
그런데 서버의 하드웨어 성능이 갈수록 고도화되면서 호스팅 서비스 업체에서 사용하는 서버의 활용률이 낮아지고 있는 추세이며, 이는 해당 호스팅 서비스 업체의 서버 효율을 떨어뜨리는 요인이 된다.
한편, 고객들 또한 현재 호스팅 업체들과 계약하는 방식으로는 필요한 컴퓨팅 자원을 원활하게 활용하는 데에 많은 불편함이 있다. 즉, 서버를 최대로 이용하는 시간은 한정되어 있고 나머지 시간에는 별로 사용을 하지 않는다. 그래도 고객들은 호스팅 서비스 업체와 최대 사용할 때를 기준으로 물리적인 머신 단위로 계약을 해야만 제대로 서비스를 이용할 수 있으므로 효율이 적더라도 달리 방법이 없 다.
본 발명이 이루고자 하는 기술적 과제는 종래의 문제점을 해결하고자 하는 것으로, 호스팅 서비스를 제공함에 있어 고객에게 보장된 품질의 서비스를 일정하게 제공하면서도 사용하는 호스팅 서비스 업체의 서버의 활용률을 극대화 할 수 있는 가상 머신을 이용한 호스팅 서비스 장치 및 방법을 제공하는 것이다.
이러한 과제를 해결하기 위한 본 발명의 특징에 따른 가상 머신을 이용한 호스팅 서비스 장치는,
사용자 단말기에게 호스팅 서비스를 제공하는 가상 머신을 이용한 호스팅 서비스 장치로서,
적어도 하나의 가상 머신이 실행되는 복수의 작업서버들의 집합인 서버팜;
상기 가상 머신을 부트시키는 시스템 이미지와 상기 시스템 이미지가 상기 사용자 단말기에 의해 수정된 경우, 추후에 상기 사용자 단말기가 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장하는 스토리지;
상기 클라이언트 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 서버를 판단하여 상기 시스템 스토리지를 이용하여 가상 머신을 부트시키고 상기 사용자 단말기가 사용하도록 하는 관리 서버를 포함한다.
상기 스토리지는,
상기 가상 머신을 부트시키는 시스템 이미지를 저장하는 시스템 이미지 스토리지;
상기 시스템 이미지 스토리지로부터 전송받은 기본 이미지가 상기 사용자 단말기에 의해 수정된 경우, 추후에 상기 사용자 단말기가 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장하는 유저 스토리지를 포함한다.
상기 관리 서버는,
사용자의 아이디, 비밀번호를 포함하는 사용자의 등록 정보를 저장하는 사용자 데이터베이스;
상기 사용자 단말기의 요청에 따라 상기 사용자 단말기의 인증을 수행하고, 해당 요청들을 처리하는 고객 관리부;
상기 서버팜의 작업서버 및 가상머신의 상태를 모니터링하며, 상기 고객 관리부의 요청에 따라 상기 사용자 단말기에 대해 가상 머신을 부팅하여 할당하는 시스템 제어부를 포함한다.
상기 시스템 제어부는,
상기 가상머신 및 상기 작업 서버의 상태를 모니터링 하는 모니터링부;
상기 가상머신 및 작업 서버의 상태에 따라 새로운 가상 머신을 부팅하여 상기 사용자 단말기가 이용하도록 하고, 상기 가상머신의 부하가 소정 기준값 이상인 경우 시스템 이동을 제어하는 가상 머신 제어부;
상기 가상 머신 및 스토리지의 사용시간을 측정하기 위한 통계부를 포함한다.
상기 가상 머신 제어부는,
상기 가상머신 및 작업서버의 상태에 따라 새로운 가상 머신을 부팅하여 상기 사용자 단말기가 이용하도록 하는 가상머신 부팅부;
상기 가상머신의 부하가 소정 기준값 이상인 경우 시스템 이동을 제어하는 시스템 이동부를 포함한다.
이러한 과제를 해결하기 위한 본 발명의 특징에 따른 가상 머신을 이용한 호스팅 서비스 방법은,
사용자 단말기에게 호스팅 서비스를 제공하는 가상 머신을 이용한 호스팅 서비스 방법으로서,
상기 사용자 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 작업서버를 판단하여 가상 머신을 부트시켜 상기 사용자 단말기가 사용하도록 하는 단계;
상기 가상 머신과 상기 작업서버의 부하를 모니터링 하는 단계;
상기 작업 서버의 부하가 소정 기준값 이상인 경우 시스템 이동을 시키는 단계를 포함한다.
이러한 과제를 해결하기 위한 본 발명의 다른 특징에 따른 가상 머신을 이용한 호스팅 서비스 방법은,
사용자 단말기에게 호스팅 서비스를 제공하는 가상 머신을 이용한 호스팅 서비스 방법으로서,
상기 사용자 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 작업서버를 판단하여 가상 머신을 부트시켜 상기 사용자 단말기가 사용하도록 하는 단계;
상기 가상 머신과 상기 작업서버의 부하를 모니터링 하는 단계;
상기 작업 서버의 부하가 소정 기준값 이상으로 소정 기준시간 이상 지속되는 경우 상기 작업서버에서 실행되는 적어도 하나의 가상 머신을 시스템 이동시키는 단계를 포함한다.
상기 방법은,
상기 시스템 이미지 스토리지로부터 전송받은 기본 이미지가 상기 클라이언트 단말기에 의해 수정된 경우, 추후에 상기 클라이언트 단말기가 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장하는 단계를 더 포함한다.
본 발명의 실시예에서는, 각종 호스팅 서비스를 제공하는 업체가 보유하는 서버의 활용률을 높일 수 있는 동시에 해당 서비스를 사용하는 고객이 자원을 요청하는 시점부터 업체로부터 이를 제공받는 시점까지의 모든 과정을 자동화할 수 있다. 따라서 서비스 업체와 고객 모두에게 편의를 향상시키고 비용을 절감하는 효과를 가져다 줄 수 있다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명 이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시예에 따른 가상머신을 이용한 호스팅 서비스 장치의 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 가상머신을 이용한 호스팅 서비스 장치는 가상 머신 호스팅 서비스를 제공하기 위하여 서버 팜(300) 상에서 가상 머신 관리 및 가상 머신의 부트, 새로운 가상 머신의 할당, 스토리지로부터 이미지의 복사, 가상 머신의 자원 반납 등의 서비스를 제공하는 데 있어 필요한 일련의 기능을 제공하기 위한 장치이다. 이를 위하여 관리 서버(100)는 웹 페이지를 통하여 사용자들의 단말기(500)의 요청에 따라 등록을 해주고, 커맨드라인에서 커맨드를 직접 입력하거나 프로그램 소스 코드 상의 API(Application programming interface)를 사용한 호출을 통해 가상 머신을 사용할 수 있도록 해준다. 또한, 가상 머신 호스팅 서비스 장치와 관련된 사용자를 위한 여러 가지 기능을 제공한다.
도 2는 본 발명의 실시예에 따른 가상머신을 이용한 호스팅 서비스 장치의 상세 구성도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 가상머신을 이용한 호스팅 서비스 장치는, 서버팜(300), 스토리지(200), 관리 서버(100)를 포함한다.
스토리지(200)는, 시스템 이미지 스토리지(210), 유저 스토리지(220)를 포함한다. 시스템 이미지 스토리지(210)는 가상 머신을 부트시킬 수 기능을 제공할 수 있도록 시스템 이미지를 제공한다.
서버 팜(300) 내의 노드인 작업서버들은 네트워크나 전용선을 통해 시스템 이미지를 전송 받는다. 사용자들의 다양한 요구를 충족시키기 위해 여러 종류의 운영 체제와 응용 프로그램이 시스템 이미지로서 탑재되어 있다. 시스템 이미지 스토리지(210)에는 서비스 최초 사용시 제공되는 원형이미지들이 저장되는데, 읽기전용의 스토리지 역할을 하는 것이 바람직하다. 유저 스토리지(220)는 사용자가 시스템 이미지 스토리지(210)로부터 읽기 전용으로 전송받은 이미지를 수정한 경우 추후에 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장한다. 유저 스토리지(220)의 공간은 많은 사용자가 이미지 전체를 저장할 수 있도록 충분히 커야 한다. 필요에 따라 사용자가 자신이 저장해 놓은 이미지의 목록을 요구할 경우 이를 제공한다. 추후에 고객들이 같은 작업 환경을 요구할 경우 유저 스토리 지(220)에 저장된 내용으로 가상 머신을 부트시킬 수도 있다.
관리 서버(120)는, 사용자 데이터베이스(140), 서비스 관리부(110), 시스템 제어부(120)를 포함한다.
사용자 데이터베이스(140)는 등록된 사용자의 정보를 저장하는 공간이다. 사용자가 저장한 시스템 이미지와 현재 가동중인 가상 머신의 종류에 대한 정보를 저장하고, 변경된 정보도 저장한다. 또한, 실시간으로 가상 머신의 사용 내역을 시스템 제어부(120)로부터 제공받아 저장한다. 또한 시스템 제어부(120)에서 제공되는 사용자들에 대한 정보를 저장한다.
서비스 관리부(110)는 고객 관리부(112)와 서비스 제공부(111)를 포함하며,
고객 관리부(112)는 사용자 등록을 위한 웹 페이지를 제공하고, 사용자들은 웹 브라우저를 통해 이 페이지에 접속해서 등록을 하고, 이러한 등록 정보를 사용자 데이터베이스(140)에 저장한다. 또한, 사용자들이 단말기(500)를 이용하여 커맨드라인에서 직접 명령을 입력하거나 프로그램 소스 코드에서 API를 사용한 호출 등을 통한 요청을 하는 경우, 고객 관리부(112)가 사용자에 대한 인증을 수행하고, 인증에 성공한 경우 서비스 제공부(111)는 해당 요청들을 시스템 제어부(120)에 전달하는 역할을 수행한다. 또한, 서비스 제공부(111)는 사용자가 새로운 자원을 요청하는 경우 시스템 제어부(120)를 통해 가상 머신을 부트시켜서 사용자가 이에 접근할 수 있도록 해준다. 이 때, 시스템 제어부(120)는 사용자의 요청에 따라 물리적인 서버(310) 한 대에 하나의 가상 머신을 부트시켜 제공할 수도 있고, 한개 이상의 가상 머신이 실행되고 있는 작업서버(물리적인 면을 표현하여 도면에는 물리 머신이라고도 함)에 추가로 부트시킨 가상 머신을 제공할 수도 있다. 그리고 사용자가 서비스를 최초 사용할 시 가상 머신을 부트하기 위한 원형이미지를 시스템 스토리지(210)로부터 제공한다.
또한, 서비스 관리부(110)는 사용자 단말기(500)와 통신하는 내용이 유출되지 않도록 보안 프로토콜을 제공하고, 공개키 기반의 보안 프로토콜을 구현하여 사용자가 서비스를 이용할 때 매번 패스워드를 입력하는 대신 인증 파일로써 이를 대체할 수 있도록 할 수도 있다.
시스템 제어부(120)는 모니터링부(121), 가상머신 제어부(124), 통계부(129)를 포함한다. 모니터링부(121)는 가상머신 및 상기 작업서버(310~340)의 상태를 모니터링 하며, 가상 머신과 작업서버들의 위치, 가상 머신이 설치된 노드의 분포와 가상 머신들의 부하를 실시간으로 모니터링 한다.
가상 머신 제어부(124)는 상기 가상머신 및 작업 서버의 상태에 따라 새로운 가상 머신을 부팅하여 상기 사용자 단말기가 이용하도록 하고, 상기 가상머신의 부하가 소정 기준값 이상인 경우 시스템 이동을 제어한다.
새로운 가상 머신에 대한 부트 요청이 있을 경우, 가상머신 부팅부(126)가 작업서버들의 부하에 대한 모니터링 결과에 따라 작업 서버(310~340) 가운데 가용자원이 있는 노드를 선택하여 새로운 가상 머신을 해당 작업 서버에 부트시키도록 한다. 가용자원이 가장 많은 노드를 판단하는 기준은 작업서버(310~340) 내부의 CPU 부하이다. 메모리와 스토리지의 사용량의 경우 정해진 용량만 정확히 사용하게끔 하고 이를 넘지 않도록 제어할 수 있기 때문이다. 작업 서버의 CPU 부하가 너 무 높은 경우, 새로운 가상 머신이 실행되면 기존에 실행 중인 가상 머신과 새로 실행되는 가상 머신의 성능은 보장되기 어렵다. 하지만 CPU의 부하만으로 새로운 가상 머신을 실행시킬 작업 서버를 선택해서는 안 된다. 예를 들어 특정 순간에는 실행되는 가상 머신의 수는 적으나 CPU 부하가 높은 작업 서버가 있을 수도 있고 이 작업 서버에 비해 가상 머신의 수는 많으나 CPU 부하가 낮은 작업 서버가 있을 수도 있기 때문이다. 전자의 경우는 가상 머신에서 웹서버를 실행시키고 있는 중에 갑자기 방문자가 많이 몰리는 경우가 한 예라 하겠다. 이 때문에 평균적으로는 가상 머신들의 CPU 부하는 비슷하다고 가정하고, 실행되고 있는 가상 머신의 수가 적은 작업서버를 가용자원이 많은 것으로 판단하는 편이 바람직하다. 그리고 가상머신 부팅부(126)는 한 물리적인 작업 서버에서 실행 가능한 가상 머신의 수를 미리 정하고 이에 따라 서버 팜(300)에 있는 작업 서버들에 가상 머신을 실행시켜 운영을 하되, 작업 서버의 CPU 부하가 기준 부하 이상 높은 상태로 기준시간 이상 길게 지속되는 경우 시스템 이동 제어부(128)가 시스템 이동 기능을 사용하여 특정 가상 머신을 다른 작업 서버로 이동시킴으로써 작업 서버들의 CPU 부하를 적정 수준으로 유지할 수 있게끔 한다.
여기서, 기준 부하 및 기준 시간은 서비스를 제공하는 업체가 보유하고 있는 작업서버 하드웨어의 제원과 제공하는 가상머신의 제원, 또한 제공하는 서비스의 품질(QoS)에 따라 결정되며, 필요에 따라 변할 수 있다.
이러한 시스템 이동 조건은 필요에 따라 변경이 가능하다. 그리고, 시스템 이동 제어부(128)는 내부에 타이머 기능을 내장한다.
이러한 시스템 이동 제어부(128)는 하나의 물리머신인 작업서버(310~340)에 적정치 이상의 부하가 탐지되는 경우 필요에 따라 해당 서버에서 실행중인 가상 머신들 가운데 하나를 가용자원이 풍부한 다른 물리적인 작업서버로 이동시키는 시스템 이동 기능을 수행하기 위해 가상화 솔루션에서 제공하는 시스템 마이그레이션 기능을 활용할 수 있다.
시스템 이미지 제어부(125)는 시스템 이미지의 목록을 관리하여 서비스 관리부(110)에서 요청을 하면 이 목록을 제공해 주며, 사용자가 원하는 시스템 이미지로 부팅을 할 수 있는 기능을 수행한다.
또한, 통계부(129)는 고객들이 자원을 사용한 시간에 대한 정보를 저장하고 특히, 가상 머신 사용시간 측정부(130)는 가상 머신의 사용시간을 측정하고, 스토리지 사용량 측정부(131)는 시스템 이미지 스토리지(210)와 유저 스토리지(220)의 사용량을 측정한다.
서버 팜(300)은 가상 머신들이 실행되는 작업서버(310~340)들의 집합이다. 사용자가 서비스 요청을 하는 경우 서비스 관리부(110)는 이를 처리해 시스템 제어부(120)에게 전달하고 시스템 제어부(120)는 서버 팜(300)에 있는 작업서버들 가운데 가용 자원이 있는 서버를 선택하여 가상 머신을 부트시키게 된다.
이러한 본 발명의 실시예에 따른 가상머신을 이용한 호스팅 서비스 방법에 관하여 도 3을 참조하여 설명하면 다음과 같다.
도 3은 본 발명의 실시예에 따른 가상머신을 이용한 호스팅 서비스 방법을 나타낸 흐름도이다.
도 3을 참조하면, 서비스를 이용하려는 사용자는 단말기(500)를 이용하여 사용자로 등록을 한다(S303).
기등록된 사용자인 경우(S301), 단말기(500)를 조작하여 CLI(Command Line Interface)를 통해 직접 명령을 입력하거나 프로그램 소스 코드 안에 있는 API 호출을 통해 관리 서버(100)에 접속을 요청한다(S302).
이 요청은 관리 서버(100)의 서비스 관리부(110)에 전달되고, 서비스 관리부(121)는 사용자 DB(140)를 검색하여 사용자 인증을 수행한다(S304).
인증에 실패하게 되면 사용자 등록 단계(S303)로 돌아가게 되고, 성공한 경우 서비스 관리부(110)가 시스템 제어부(120)에 스토리지(220)에 저장된 이미지를 이용하여 가상 머신을 실행할 것을 요청한다(S306).
여기서, 사용자에 의해 선택되는 이미지는 서비스를 최초로 사용하거나 초기화된 환경을 사용하고 싶은 경우 시스템 이미지 스토리지(210)에 저장된 원형 이미지를 사용할 수 있으며, 기존에 작업하던 환경을 원하는 사용자들은 유저 스토리지에 저장된 이미지를 사용하여 가상 머신 실행을 요청하게 된다.
이러한 부팅 요청은 서비스 관리부(110)를 통해 시스템 제어부(120)로 전달되고, 시스템 제어부(120)는 서버 팜(300)에 있는 작업서버(310~340)들 가운데 가용자원이 있는 것을 하나 선정하고, 선정된 작업 서버에 상기 과정(S306)에서 선택된 이미지를 사용하여 가상 머신을 부팅한다(S307).
가상 머신이 부팅되어 실행되면 해당 가상 머신에 대한 접근 권한을 실행 요청을 한 사용자 단말기(500)에게 넘겨준다(S308).
그러면, 접근 권한을 넘겨받은 사용자는 CLI에서 명령어를 직접 입력하거나 프로그램 소스 코드 안에 있는 API 호출을 사용하여 각종 명령을 실행하면서 원하는 작업을 하게 된다(S309)
한편, 시스템 제어부(120)의 모니터부(121)의 가상머신 모니터링부(122)와 물리머신 모니터링부(123)는 각각 가상 머신과 물리머신인 작업서버의 상태를 모니터링하여 출력한다(S310).
그리고, 시스템 이동 제어부(128)는 특정 작업서버가 허용 기준부하보다 높은 수준으로 CPU 부하 수치가 기준시간 이상 지속되는지를 판단한다(S311).
다음, 시스템 이동 제어부(128)는 특정 작업서버가 허용 기준부하보다 높은 수준으로 CPU 부하 수치가 기준시간 이상 지속되는 경우 해당 작업서버에서 실행되고 있는 가상 머신들 중 하나 또는 일부를 가용자원이 있는 다른 작업서버에 이동시킨다(S312).
또한, 통계부(129)는 사용자들의 스토리지 사용량과 가상머신 사용량을 측정하여 사용자 데이터베이스(140)에 저장하여 과금의 기초자료로 활용할 수 있도록 한다(S313).
상기 과정에서 모니터링부(121)는 최초부터 실행가능하며, 부팅할 작업서버 결정시에도 모니터링 결과를 반영할 수 있도록 할 수 있다.
상기 과정에서 작업 서버의 부하는 가상 머신의 부하의 합이므로 필요에 따라서는 가상머신의 부하의 합으로 구할 수도 있으나 작업 서버의 cpu의 부하를 구하는 것이 더 편리하다.
상기 과정(S312)에서 시스템 이동 제어부(128)는 특정 작업서버가 허용 기준부하보다 높은 수준인 경우에 해당 작업서버에서 실행되고 있는 가상 머신들 중 하나 또는 일부를 가용자원이 있는 다른 작업서버에 이동시킬 수도 있으며, 이러한 시스템 이동 조건은 필요에 따라 변경이 가능하다. 이 경우에는 시간 측정을 하지 않아도 되어 플로우가 좀 더 간단해진다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시예에 따른 가상 머신을 이용한 호스팅 서비스 장치의 개략도이다.
도 2는 본 발명의 실시예에 따른 가상 머신을 이용한 호스팅 서비스 장치의 상세 구성도이다.
도 3은 본 발명의 실시예에 따른 가상 머신을 이용한 호스팅 서비스 방법을 나타낸 흐름도이다.

Claims (13)

  1. 사용자 단말기에게 호스팅 서비스를 제공하는 가상 머신을 이용한 호스팅 서비스 장치로서,
    적어도 하나의 가상 머신이 실행되는 복수의 작업서버들의 집합인 서버팜;
    상기 가상 머신을 부트시키는 시스템 이미지와 상기 시스템 이미지가 상기 사용자 단말기에 의해 수정된 경우, 추후에 상기 사용자 단말기가 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장하는 스토리지;
    상기 클라이언트 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 서버를 판단하여 상기 시스템 스토리지를 이용하여 가상 머신을 부트시키고 상기 사용자 단말기가 사용하도록 하는 관리 서버를 포함하는 가상 머신을 이용한 호스팅 서비스 장치.
  2. 제1항에 있어서,
    상기 관리 서버는 상기 스토리지에 저장된 시스템 이미지중에서 사용자에 의해 선택된 시스템 이미지로 상기 가상 머신을 부팅시키는 것을 특징으로 하는 가상 머신을 이용한 호스팅 서비스 장치.
  3. 제1항에 있어서,
    상기 스토리지는,
    상기 가상 머신을 부트시키는 시스템 이미지를 저장하는 시스템 이미지 스토리지;
    상기 시스템 이미지 스토리지로부터 전송받은 기본 이미지가 상기 사용자 단말기에 의해 수정된 경우, 추후에 상기 사용자 단말기가 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장하는 유저 스토리지를 포함하는 가상 머신을 이용한 호스팅 서비스 장치.
  4. 제1항 내지 제3항중 어느 한항에 있어서,
    상기 관리 서버는,
    사용자의 아이디, 비밀번호를 포함하는 사용자의 등록 정보를 저장하는 사용자 데이터베이스;
    상기 사용자 단말기의 요청에 따라 상기 사용자 단말기의 인증을 수행하고, 해당 요청들을 처리하는 고객 관리부;
    상기 서버팜의 작업서버 및 가상서버의 상태를 모니터링하며, 상기 고객 관리부의 요청에 따라 상기 사용자 단말기에 대해 가상 머신을 부팅하여 할당하는 시스템 제어부를 포함하는 가상 머신을 이용한 호스팅 서비스 장치.
  5. 제4항에 있어서,
    상기 시스템 제어부는,
    상기 가상머신 및 작업서버의 상태를 모니터링 하는 모니터링부;
    상기 가상머신 및 작업 서버의 상태에 따라 새로운 가상 머신을 부팅하여 상기 사용자 단말기가 이용하도록 하고, 상기 작업서버의 부하가 소정 기준값 이상인 경우 상기 작업서버에서 실행되는 적어도 하나의 가상 머신을 시스템 이동시키도록 제어하는 가상 머신 제어부;
    상기 가상 머신 및 스토리지의 사용시간을 측정하기 위한 통계부를 포함하는 가상 머신을 이용한 호스팅 서비스 장치.
  6. 제5항에 있어서,
    상기 가상 머신 제어부는,
    상기 가상머신 및 작업 서버의 상태에 따라 새로운 가상 머신을 부팅하여 상기 사용자 단말기가 이용하도록 하는 가상머신 부팅부;
    상기 가상머신의 부하가 소정 기준값 이상인 경우, 상기 가상 머신을 시스템 이동시키도록 제어하는 시스템 이동부를 포함하는 가상 머신을 이용한 호스팅 서비스 장치.
  7. 제4항에 있어서,
    상기 시스템 제어부는,
    상기 가상머신 및 상기 작업 서버의 상태를 모니터링 하는 모니터링부;
    상기 가상머신 및 작업 서버의 상태에 따라 새로운 가상 머신을 부팅하여 상기 사용자 단말기가 이용하도록 하고, 상기 가상머신의 부하가 소정 기준값 이상 인 상태가 소정 시간 이상 지속된 경우 상기 작업서버에서 실행되는 적어도 하나의 가상 머신을 시스템 이동시키도록 제어하는 가상 머신 제어부;
    상기 가상 머신 및 스토리지의 사용시간을 측정하기 위한 통계부를 포함하는 가상 머신을 이용한 호스팅 서비스 장치.
  8. 제7항에 있어서,
    상기 가상 머신 제어부는,
    상기 가상머신 및 작업 서버의 상태에 따라 새로운 가상 머신을 부팅하여 상기 사용자 단말기가 이용하도록 하는 가상머신 부팅부;
    상기 가상머신의 부하가 소정 기준값 이상인 상태가 소정 시간 이상 지속된 경우 상기 가상머신을 시스템 이동시키도록 제어하는 시스템 이동부를 포함하는 가상 머신을 이용한 호스팅 서비스 장치.
  9. 사용자 단말기에게 호스팅 서비스를 제공하는 가상 머신을 이용한 호스팅 서비스 방법으로서,
    상기 사용자 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 작업서버를 판단하여 가상 머신을 부트시켜 상기 사용자 단말기가 사용하도록 하는 단계;
    상기 가상 머신과 상기 작업서버의 부하를 모니터링 하는 단계;
    상기 작업 서버의 부하가 소정 기준값 이상인 경우 시스템 이동을 시키는 단 계를 포함하는 가상 머신을 이용한 호스팅 서비스 방법.
  10. 사용자 단말기에게 호스팅 서비스를 제공하는 가상 머신을 이용한 호스팅 서비스 방법으로서,
    상기 사용자 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 작업서버를 판단하여 가상 머신을 부트시켜 상기 사용자 단말기가 사용하도록 하는 단계;
    상기 가상 머신과 상기 작업서버의 부하를 모니터링 하는 단계;
    상기 작업 서버의 부하가 소정 기준값 이상으로 소정 기준시간 이상 지속되는 경우 상기 작업서버에서 실행되는 적어도 하나의 가상 머신을 시스템 이동시키는 단계를 포함하는 가상 머신을 이용한 호스팅 서비스 방법.
  11. 제9항 또는 제10항에 있어서,
    상기 시스템 이미지 스토리지로부터 전송받은 기본 이미지가 상기 클라이언트 단말기에 의해 수정된 경우, 추후에 상기 클라이언트 단말기가 이를 이용하여 계속 작업할 수 있도록 수정된 부분과 작업내용을 저장하는 단계를 더 포함하는 가상 머신을 이용한 호스팅 서비스 방법.
  12. 제9항 또는 제10항에 있어서,
    상기 작업서버의 부하를 판단하기 위해 상기 작업서버의 CPU의 부하를 판단 하는 것을 특징으로 하는 가상 머신을 이용한 호스팅 서비스 방법.
  13. 제12항에 있어서,
    상기 사용자 단말기의 서비스 요청에 따라 상기 서버 팜에 있는 작업서버들 가운데 가용 자원이 있는 작업서버를 판단하여 가상 머신을 부트시켜 상기 사용자 단말기가 사용하도록 하는 단계에서, 상기 단말기로부터 사용자가 원하는 시스템 이미지를 선택받고, 선택된 시스템 이미지로 상기 가상머신을 부트시키는 것을 특징으로 하는 가상 머신을 이용한 호스팅 서비스 방법.
KR1020070139099A 2007-12-27 2007-12-27 가상머신을 이용한 호스팅 서비스 장치 및 방법 KR20090070933A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070139099A KR20090070933A (ko) 2007-12-27 2007-12-27 가상머신을 이용한 호스팅 서비스 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070139099A KR20090070933A (ko) 2007-12-27 2007-12-27 가상머신을 이용한 호스팅 서비스 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20090070933A true KR20090070933A (ko) 2009-07-01

Family

ID=41322407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070139099A KR20090070933A (ko) 2007-12-27 2007-12-27 가상머신을 이용한 호스팅 서비스 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20090070933A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945476B1 (ko) * 2009-09-10 2010-03-05 주식회사 파수닷컴 가상화 기술을 이용한 디지털 저작권 관리 장치 및 방법
WO2012139062A3 (en) * 2011-04-07 2013-02-14 Microsoft Corporation Image analysis tools
KR101287448B1 (ko) * 2011-10-27 2013-07-18 삼성에스디에스 주식회사 퍼지 제어 기반 가상 머신 스케일링 시스템 및 방법
WO2014137007A1 (ko) * 2013-03-06 2014-09-12 팬터로그 주식회사 게임 가상화 장치
KR101478801B1 (ko) * 2012-04-26 2015-01-02 주식회사 케이티 가상 머신을 이용한 클라우드 컴퓨팅 서비스를 제공하는 시스템 및 방법
KR101947689B1 (ko) 2018-04-30 2019-05-02 주식회사 코리아서버호스팅 클라우드 서비스 방법 및 장치

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945476B1 (ko) * 2009-09-10 2010-03-05 주식회사 파수닷컴 가상화 기술을 이용한 디지털 저작권 관리 장치 및 방법
WO2011031093A3 (ko) * 2009-09-10 2011-06-03 주식회사 파수닷컴 가상화 기술을 이용한 디지털 저작권 관리 장치 및 방법
US8955150B2 (en) 2009-09-10 2015-02-10 Fasoo.Com Co. Ltd. Apparatus and method for managing digital rights using virtualization technique
WO2012139062A3 (en) * 2011-04-07 2013-02-14 Microsoft Corporation Image analysis tools
KR101287448B1 (ko) * 2011-10-27 2013-07-18 삼성에스디에스 주식회사 퍼지 제어 기반 가상 머신 스케일링 시스템 및 방법
KR101478801B1 (ko) * 2012-04-26 2015-01-02 주식회사 케이티 가상 머신을 이용한 클라우드 컴퓨팅 서비스를 제공하는 시스템 및 방법
WO2014137007A1 (ko) * 2013-03-06 2014-09-12 팬터로그 주식회사 게임 가상화 장치
KR101947689B1 (ko) 2018-04-30 2019-05-02 주식회사 코리아서버호스팅 클라우드 서비스 방법 및 장치

Similar Documents

Publication Publication Date Title
US10929165B2 (en) System and method for memory resizing in a virtual computing environment
US10788989B2 (en) Non-uniform memory access (NUMA) resource assignment and re-evaluation
KR101571880B1 (ko) 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법
US11188391B1 (en) Allocating resources to on-demand code executions under scarcity conditions
US10277708B2 (en) On-demand network code execution with cross-account aliases
Kosta et al. Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading
KR101977726B1 (ko) 가상 데스크탑 서비스 방법 및 장치
US10379891B2 (en) Apparatus and method for in-memory-based virtual desktop service
CN102844724B (zh) 管理分布式计算系统中的功率供应
US8788668B2 (en) Information processing apparatus, information processing system, setting program transmission method and server setting program
KR100956636B1 (ko) 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
Xu Effective metacomputing using LSF multicluster
WO2012056596A1 (ja) 計算機システム及び処理制御方法
US20160156568A1 (en) Computer system and computer resource allocation management method
US9292060B1 (en) Allowing clients to limited control on power consumed by the cloud while executing the client's tasks
US20100293619A1 (en) License management system and license management method
KR100892417B1 (ko) 이동식 컴퓨팅 체제를 지원하는 이동식 저장 장치 및 이를이용한 이동식 컴퓨팅 체제 시스템
JP2010250778A (ja) コンピュータリソース提供システム、コンピュータリソース提供方法およびリソース取引プログラム
JP2016103179A (ja) 計算機リソースの割り当て方法及び計算機システム
KR20090070933A (ko) 가상머신을 이용한 호스팅 서비스 장치 및 방법
JP5134149B1 (ja) ネットワークシステム及びその制御方法
JPWO2014118961A1 (ja) 仮想計算機管理プログラム,仮想計算機管理方法及び仮想計算機システム
US20210326161A1 (en) Apparatus and method for multi-cloud service platform
CN111290839A (zh) 一种基于openstack的iaas云平台系统
KR20120063933A (ko) 가상 머신 처리 시스템 및 그 방법

Legal Events

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