KR101115762B1 - 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법 - Google Patents

클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법 Download PDF

Info

Publication number
KR101115762B1
KR101115762B1 KR1020100062380A KR20100062380A KR101115762B1 KR 101115762 B1 KR101115762 B1 KR 101115762B1 KR 1020100062380 A KR1020100062380 A KR 1020100062380A KR 20100062380 A KR20100062380 A KR 20100062380A KR 101115762 B1 KR101115762 B1 KR 101115762B1
Authority
KR
South Korea
Prior art keywords
virtual machine
service
advertisement
client hypervisor
module
Prior art date
Application number
KR1020100062380A
Other languages
English (en)
Other versions
KR20120001542A (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 KR1020100062380A priority Critical patent/KR101115762B1/ko
Publication of KR20120001542A publication Critical patent/KR20120001542A/ko
Application granted granted Critical
Publication of KR101115762B1 publication Critical patent/KR101115762B1/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
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

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

Abstract

클라이언트 하이퍼바이저 기반의 서비스용 가상 머신을 관리할 수 있는 단말장치 및 방법이 개시된다. 본 발명의 일 실시예에 따르면, 소정의 가상 머신 이미지로 설치된 서비스 모듈; 복수의 가상 머신 이미지를 저장하는 저장부, 및 가상 머신의 설치, 교체, 갱신, 및 제거에 대한 정책을 정의한 가상 머신 운영 정책을 참조하여, 저장부에 저장된 가상 머신 이미지들 중에서 가상 머신 운영 정책에 부합하는 것을 선택하고, 선택한 가상 머신 이미지로 기설치된 서비스 모듈을 교체하는 클라이언트 하이퍼바이저부를 포함한다. 이에 의해, 클라이언트 하이퍼바이저 기반의 사용자 단말장치에 설치된 가상 머신을 이미지 단위로 관리할 수 있다.

Description

클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법{Terminal device capable of managing virtual machine based on client hypervisor}
본 발명은 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법에 관한 것으로, 보다 상세하게는 클라이언트 하이퍼바이저 기반의 사용자 단말장치에 설치된 가상 머신을 이미지 단위로 관리할 수 있는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 단말장치 및 방법에 관한 것이다.
가상 머신의 사용이 서버 가상화 기술 분야뿐 아니라 일반 사용자들의 PC, 노트북, 또는 스마트폰과 같은 모바일 기기에도 적용되고 있다. 한편, 사용자 환경에 멀티프로세서가 채용되고 하드웨어가 고 사양화됨에 따라서 사용자들이 사용하는 장치에 설치된 가상 머신의 효율적인 관리 방안이 필요하다.
본 발명의 일 실시예에 따르면, 클라이언트 하이퍼바이저 기반의 사용자 단말장치에 설치된 가상 머신을 이미지 단위로 관리할 수 있는 클라이언트 하이퍼바이저 기반의 서비스용 가상 머신을 관리할 수 있는 단말장치, 방법, 및 시스템을 제공함을 목적으로 한다.
본 발명의 일 실시예에 따르면, 클라이언트 하이퍼바이저 관리 서버에서 사용자 단말 장치에 설치된 가상 머신의 이미지를 설치, 교체, 변경, 및 제거할 수 있는 클라이언트 하이퍼바이저 기반의 서비스용 가상 머신을 관리할 수 있는 단말장치, 방법, 및 시스템을 제공함을 목적으로 한다.
본 발명의 일 실시예에 따르면, 클라이언트 하이퍼바이저 기반의 사용자 단말장치에 설치된 광고용 가상 머신의 관리를 광고주가 용이하게 할 수 있는 클라이언트 하이퍼바이저 기반의 서비스용 가상 머신을 관리할 수 있는 단말장치, 방법, 및 시스템을 제공함을 목적으로 한다.
본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치는, 소정의 가상 머신 이미지로 설치된 서비스 모듈; 복수의 가상 머신 이미지를 저장하는 저장부; 및 가상 머신의 설치, 교체, 갱신, 및 제거에 대한 정책을 정의한 가상 머신 운영 정책을 참조하여, 상기 저장부에 저장된 가상 머신 이미지들 중에서 상기 가상 머신 운영 정책에 부합하는 것을 선택하고, 선택한 상기 가상 머신 이미지로 상기 기설치된 서비스 모듈을 교체하는 클라이언트 하이퍼바이저부;를 포함할 수 있다.
상기 가상 머신 운영 정책은 상기 클라이언트 하이퍼바이저부를 관리하는 서비스 관리 서버에서 상기 클라이언트 하이퍼바이저부로 전송한 것일 수 있다.
본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치는, 사용자 어플리케이션부 및 서비스 시간 컨트롤부를 가지는 사용자 모듈;을 더 포함하며, 상기 서비스 시간 컨트롤부는 상기 사용자 어플리케이션부의 사용 시간을 모니터링하며, 상기 클라이언트 하이퍼바이저부는 상기 모니터링 결과에 기초하여 상기 서비스 모듈 및 사용자 모듈 중에서 어느 하나를 선택적으로 동작시킬 수 있다.
상기 클라이언트 하이퍼바이저부는, 상기 서비스 시간 컨트롤부로부터 상기 서비스 모듈의 동작을 요청받고, 상기 요청에 따라서 상기 서비스 모듈을 실행시키는 게스트 OS 스위치 관리부를 포함할 수 있다.
상기 클라이언트 하이퍼바이저부는, 상기 서비스 시간 컨트롤부로부터 상기 사용자 모듈의 사용 시간을 통지받고, 통지받은 사용시간과 기저장된 서비스 스케쥴을 참조하여 상기 서비스 모듈 및 상기 사용자 모듈 중 어느 하나를 선택적으로 실행시키는 게스트 OS 스위치 관리부를 포함할 수 있다.
상기 가상 머신 운영 정책은 서비스 관리 서버로부터 전송받은 것일 수 있다.
본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 시스템은, 적어도 하나의 가상 머신 이미지와, 그러한 가상 머신 이미지의 운영 방안을 정의한 가상 머신 운영 정책을 관리하는 서비스 관리 서버; 및 상기 서비스 관리 서버로부터 가상 머신 운영 정책과 상기 적어도 하나의 가상 머신 이미지를 전송받고, 전송받은 가상 머신 운영 정책에 따라서 기 설치된 가상 머신들의 교체, 갱신, 변경, 또는 제거하는 사용자 단말장치;를 포함할 수 있다.
상기 사용자 단말장치는, 상기 가상 머신 운영 정책을 운용하는 클라이언트 하이퍼바이저부; 및 사용자 어플리케이션부 및 서비스 시간 컨트롤부를 가지는 사용자 모듈;을 더 포함하며, 상기 서비스 시간 컨트롤부는 상기 사용자 어플리케이션부의 사용 시간을 모니터링하며, 상기 클라이언트 하이퍼바이저부는 상기 모니터링 결과에 기초하여 상기 서비스 모듈 및 사용자 모듈 중에서 어느 하나를 선택적으로 동작시킬 수 있다.
상기 클라이언트 하이퍼바이저부는, 상기 서비스 시간 컨트롤부로부터 상기 서비스 모듈의 동작을 요청받고, 상기 요청에 따라서 상기 서비스 모듈을 실행시키는 게스트 OS 스위치 관리부를 포함할 수 있다.
본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법은, 클라이언트 하이퍼바이저부가 설치된 단말장치에서의 서비스용 가상 머신을 관리할 수 있는 방법에 있어서, 상기 단말장치에 소정의 가상 머신 이미지로 서비스 모듈을 설치하는 단계; 복수의 가상 머신 이미지를 저장하는 단계; 및 가상 머신의 설치, 교체, 갱신, 및 제거에 대한 정책을 정의한 가상 머신 운영 정책을 참조하여, 상기 저장된 가상 머신 이미지들 중에서 상기 가상 머신 운영 정책에 부합하는 것을 선택하고, 선택한 상기 가상 머신 이미지로 상기 기설치된 소정의 가상 머신 이미지로 상기 서비스 모듈을 교체하는 단계;를 포함할 수 있다.
상기 서비스 모듈을 교체하는 단계는 상기 클라이언트 하이퍼바이저부가 수행할 수 있다.
본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법은, 상기 단말장치에 설치된 사용자 모듈의 사용 시간을 모니터링 하는 단계; 및 상기 모니터링 결과에 기초하여 상기 서비스 모듈 및 사용자 모듈 중에서 어느 하나를 선택적으로 동작시키는 단계;를 더 포함할 수 있다.
상기 사용자 모듈은 서비스 시간 컨트롤부와 사용자 어플리케이션을 포함하며, 상기 모니터링하는 단계는, 상기 서비스 시간 컨트롤부가 상기 사용자 어플리케이션의 사용 시간을 모니터링하는 것일 수 있다.
본 발명의 일 실시예에 따른 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법들의 전부 또는 적어도 일부를 컴퓨터에서 실행시키기 위한 프로그램을 기록하는 것일 수 있다.
본 발명의 실시예에 따른 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치, 방법, 및 시스템은, 클라이언트 하이퍼바이저 기반의 사용자 단말장치에 설치된 가상 머신을 이미지 단위로 관리할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치, 방법, 및 시스템은, 클라이언트 하이퍼바이저 관리 서버에서 사용자 단말 장치에 설치된 가상 머신의 이미지를 설치, 교체, 변경, 및 제거할 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치, 방법, 및 시스템은, 클라이언트 하이퍼바이저 기반의 사용자 단말장치에 설치된 광고용 가상 머신의 관리를 광고주가 용이하게 할 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치, 방법, 및 시스템은, 광고 서비스에 적용될 경우 새로운 타입의 온라인 광고 시장을 창출할 수 있는 효과가 있다. 예를 들면, 컴퓨터나 스마트폰 같은 클라이언트 하이퍼바이저가 적용될 수 있는 각종 기기들을 사용자에게 나누어 주고 하드웨어 기기의 대금뿐 아니라 기기를 통해 사용할 수 있는 각종 소프트웨어 및 서비스를 사용할 시 청구되는 요금들을 광고를 봄으로서 지불토록하는 비지니스 모델이 가능하다. 이를 통해 제공되는 광고 서비스는 클라이언트 하이퍼바이저 기술을 통해 광고의 안정적인 제공을 보장할 수 있고, 광고물을 시청하는 사용자 또는 기기를 사용하는 것에 대한 비용을 할인 또는 공제받을 수 있으므로 광고주, 운영사, 사용자에게 모두 유익한 비지니스 모델이 될 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 시스템의 구성도, 그리고
도 2는 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법을 설명하기 위한 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
이하에서는, 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서의 사용자용 가상 머신상에 설치된 모듈을 보호하는 장치 및 방법을 설명하되, 서비스가 "광고"인 경우를 예로 들어서 설명하기로 한다. 구체적으로는, '서비스 제공자'가 '광고주'이고, '서비스 관리 서버'는 광고 관리 서버이고, '서비스 모듈'은 '광고 모듈'이고, '서비스 컨텐츠'는 '광고 컨텐츠'이고, '서비스 어플리케이션부'는 '광고 어플리케이션부'이고, '서비스 운영체제부'는 '광고 운영체제부'이고, '서비스 가상 머신'은 '광고 가상 머신'이고, '서비스 스케쥴'은 '광고 스케쥴'이고, '서비스 관리부'는 '광고 관리부'이고 서비스 정책'은 '광고 정책'이고, '가상 머신 운영 정책'은 '광고 가상 머신 운영 정책'이고, '서비스 할당부'는 '광고 할당부'이고, '서비스 추적부'는 '광고 추적부'이고, '서비스 가상 머신 운영 정책'은 광고용 가상 머신 운영 정책'이고, 'VM 관리부는 'AD VM 관리부'이고, 서비스 스케쥴 컨트롤부'는 '광고 스케쥴 컨트롤부'인 경우를 예로 들어 설명하기로 한다. 여기서, '서비스 제공자'는 서비스를 제공하는 주체이고, '서비스 관리 서버'는 서비스를 관리하는 서버이며, '서비스 모듈'은 서비스를 제공하기 위해서 사용자 단말장치의 클라이어언트 하이퍼바이저상에 설치되는 모듈이다. 또한, '서비스 컨텐츠'는 사용자에게 제공되는 서비스 내용이고, '서비스 어플리케이션부'는 서비스 모듈에 포함된 서비스 가상 머신상에서 동작하는 어플리케이션으로서 서비스를 제공하기 위해서 실행되는 어플리케이션이다. '서비스 운영체제부'는 클라이어언트 하이퍼바이저로부터 자원을 할당받아서 동작하며, '서비스 가상 머신'은 서비스 운영체제부상에서 동작하며 서비스 어플리케이션부가 동작할 수 있는 환경을 제공한다. '클라이언트하이퍼바이저 관리부'는 사용자 단말장치에 설치된 클라이언트 하이퍼바이저와 통신하고 사용자 단말장치로 제공하는 서비스를 관리하고, '서비스 정책'은 서비스를 제공하는 방향을 제시하는 정책이며, '서비스 할당부'는 서비스 정책을 사용자 단말장치로 할당하고, 그리고 '서비스 추적부'는 사용자 단말장치에서 수행되는 서비스의 제공 이력을 추적하는 것이다.
한편 본원 명세서에서는, 클라이언트 하이퍼바이저부(또는 OS 스위치)가 사용자 모듈(또는 서비스 모듈)을 실행(또는 구동 또는 활성화)시킨다는 의미는 클라이언트 하이퍼바이저부(또는 OS 스위치)가 사용자 모듈(또는 서비스 모듈)이 동작할 수 있는 자원을 할당(또는 분배)한다는 의미로 사용하기로 한다. 또한, 본원 명세서와 도면들에서 클라이언트 하이퍼바이저부(또는 OS 스위치)가 입출력 제어권을 사용자 모듈(또는 서비스 모듈)에게 부여한다는 표현은, 특히 입출력 제어권만을 부여한다는 표현이 있는 경우를 제외하고는, 사용자 모듈(또는 서비스 모듈)이 동작하는데 필요한 모든 자원을 할당받는 것을 의미하는 것으로 사용하기로 한다.
'서비스'가 '광고'인 경우는 본원 발명의 일 실시예에 해당되는 것이므로 본원 발명이 '광고 서비스'에만 제한되는 것이 아니며, 광고가 아닌 다른 '서비스'에도 본원 발명이 적용될 수 있음은 물론이다. 이상에서 언급하지 않은 부분이 있더라도, 아래에서 "광고" 서비스를 제공하는 단말장치를 기반으로 설명한 실시예를 다른 임의의 "서비스"를 제공하는 단말장치로 전용하거나 변형하는 것은 본원 발명의 정신에 비추어 볼 때 본 발명의 기술분야에 속하는 당업자에 의해 가능할 것이다.
도 1은 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 시스템은 네트워크(200)를 통한 통신이 가능하도록 연결되는 사용자 단말장치(100), 및 광고 관리 서버(300)를 포함할 수 있다. 또한, 도시하지는 않았으나, 네트워크(200) 상에는 광고 관리 서버(300)에 광고를 위임하는 광고주 서버가 더 연결될 수 있다. 여기서, 네트워크(200)는 무선 혹은 유선의 통신망을 통칭하며, 통신망의 종류는 한정되지 않는다.
사용자 단말장치(100)는 클라이언트 하이퍼바이저를 기반으로 동작하는 장치이다. 일반적으로, 하이퍼바이저는 서버에서 다수의 운영체제(Operating System : OS)를 동시 및/또는 이시(異時)에 실행하기 위한 가상 플랫폼으로, 가상 머신 모니터(virtual machine monitor)라고 하기도 한다. 이러한 하이퍼바이저의 개념을 서버가 아닌 클라이언트에 적용한 것이 클라이언트 하이퍼바이저이다.
사용자 단말장치(100)는 클라이언트 하이퍼바이저부(110), 클라이언트 하이퍼바이저부(110) 상에 설치되는 사용자 모듈(120)과 광고 모듈(130), 및 하드웨어(H/W)(140)를 포함할 수 있다.
클라이언트 하이퍼바이저부(110)는 사용자 모듈(120) 및 광고 모듈(130)을 선택적으로 동작시킬 수 있다. 사용자 모듈(120) 및 광고 모듈(130)을 동작시킬 때, 클라이언트 하이퍼바이저부(110)는 동작시킬 모듈에 자원의 사용권한을 부여할 수 있다. 이때, 클라이언트 하이퍼바이저부(110)는 해당 모듈의 동작 상태를 제어할 수 있으며, 예를 들면 자원의 사용권한 중 적어도 입출력 제어권을 특정 모듈에 부여할 수 있다.
아래의 [표 1]은 클라이언트 하이퍼바이저부(110)가 해당 모듈의 동작상태를 제어하는 태양을 예시적으로 나타낸 것이다.
동작 상태의 종류 활성화 방식 또는 비활성화 방식
비활성화
상태
제1비활성화 상태 자원을 전혀 할당 받지 않은 상태로서, 기존에 할당 받은 자원도 모두 회수된 상태. 예를 들면, OS가 메모리에 전혀 상주하지 않고, 향후 활성화될 때 다시 OS가 메모리로 로딩되는 것부터 시작해야 함.
제2비활성화 상태 현재 상태를 유지하고 새로운 연산이나 동작을 더 할 수 없는 상태. 더 이상 자원을 할당 받지 않고, 기존에 할당 받은 자원 중에서도 OS가 메모리에 로딩되어 상주하는 정도의 최소한의 자원만 유지하고 나머지 자원들은 모두 회수되는 상태임.
제3비활성화 상태 입출력 사용권한만을 제외하고는 모든 자원을 할당 받아서 동작하는 상태. 예를 들면 백그라운드에서는 동작하는 상태
활성화 상태 필요한 모든 자원을 할당 받아서 제약 없이 동작하는 상태
[표 1]을 참조하면, 비활성화 방식은 가상 머신의 전원을 오프(기존에 할당된 모든 자원을 회수한 상태)하는 제1비활성화 방식, 가상 머신이 메모리에 상주할 정도의 자원만을 가지고 나머지 자원들은 모두 회수하는 제2비활성화 방식 및 자원의 사용권한은 유지하되(즉, 백그라운드에서는 동작하되) 입출력 제어권한을 회수하는 제3비활성화 방식을 포함할 수 있다. 이러한 비활성화 방식들은 예시적인 것이므로 이들에 본원 발명이 한정되는 것은 아니며 다른 방식으로 정의되는 비활성화 방식들을 사용하는 것도 가능하다.
클라이언트 하이퍼바이저부(110)는 사용자 모듈(120) 혹은 광고시간 컨트롤부(124)로부터 광고 모듈(130)의 동작 요청을 받을 수 있다. 이 경우, 클라이언트 하이퍼바이저부(110)는 입출력 제어권을 광고 모듈(130)에 부여한다. 또한, 클라이언트 하이퍼바이저부(110)는 광고 모듈(130)로부터 사용자 모듈(120)의 동작 요청을 받을 수 있다. 이 경우, 클라이언트 하이퍼바이저부(110)는 입출력 제어권을 사용자 모듈(120)에 부여한다.
클라이언트 하이퍼바이저부(110)는 기 설치된 광고 모듈(130)의 이미지를 다른 이미지로 교체할 수 있다. 구체적으로 클라이언트 하이퍼바이저부(110)는 기 설치된 광고 모듈(130) 대신에 AD VM 이미지 저장부(143)에 저장된 AD VM 이미지들 중에서 광고 관리 서버(300)로부터 전송받은 광고용 가상 머신 운영 정책(광고용 가상 머신 운영 스케쥴)에 부합하는 가상 머신 이미지(들)를 선택하여 설치할 수 있다.
클라이언트 하이퍼바이저부(110)는 게스트(Guest) 운영체제(Operating Systme : OS) 스위치 관리부(111)를 포함하며, 게스트 OS 스위치 관리부(111)는 OS 스위치(112)를 포함한다.
게스트 OS 스위치 관리부(111)는 클라이언트 하이퍼바이저부(110) 내에 설치되며, 클라이언트 하이퍼바이저부(110)가 사용자 모듈(120) 및 광고 모듈(130)을 동작시킬 때 입출력 제어권을 포함한 자원의 사용권한의 부여 및 회수를 위해 OS 스위치(112)를 제어한다. 본 발명의 일 실시예에 따르면, 게스트 OS 스위치 관리부(111)는 사용자에 의해 제어가 불가능한 모듈이다. 여기서, OS 스위치(112)는 게스트 OS 스위치 관리부(111)가 포함하는 것으로 설명하였지만. OS 스위치(112)를 OS 스위치 관리부에 포함시키지 않고 클라이언트 하이퍼바이저부(110) 내에 별도로 위치시키는 것도 가능하다.
본 실시예에서, OS 스위치(112)는 클라이언트 하이퍼바이저부 내의 게스트 OS 스위치 관리부(111)에 설치되며, 클라이언트 하이퍼바이저부(110)가 사용자 모듈(120) 및 광고 모듈(130)을 선택적으로 동작시킬 때 입출력 제어권을 스위칭한다.
사용자 모듈(120)은 클라이언트 하이퍼바이저부(110) 상에 설치되는 것으로, 사용자 가상 머신(121), 사용자 운영체제부(122), 사용자 어플리케이션부(123), 및 광고시간 컨트롤부(124)를 포함할 수 있다. 본 실시예에서는 설명의 편의상 클라이언트 하이퍼바이저부(110) 상에 하나의 사용자 모듈(120)이 설치되어 있는 상태를 도시하였지만, 이는 여기에 한정되지 않는다. 즉, 클라이언트 하이퍼바이저부(110) 상에는 하나 혹은 그 이상의 사용자 모듈(120)이 설치될 수 있다.
사용자 가상 머신(121)은 클라이언트 하이퍼바이저부(110) 상에 설치되고, 사용자 운영체제부(122)는 사용자 가상 머신(121) 상에서 동작하도록 설치된다.
사용자 어플리케이션부(123)는 사용자 운영체제부(122) 상에 설치되는 것으로, 상기 사용자 운영체제부(122) 상에서 사용자의 선택(또는 미리 정해진 설정 옵션)에 의해 동작을 시작할 수 있다.
본 실시예에서는 설명의 편의상 사용자 운영체제부(122) 상에 하나의 사용자 어플리케이션부(123)가 설치되어 있는 상태를 도시하였지만, 여기에 한정되지 않는다. 즉, 사용자 운영체제부(122) 상에는 하나 혹은 그 이상의 사용자 어플리케이션부(123)가 설치될 수 있다. 사용자 운영체제부(122) 상에 복수의 사용자 어플리케이션부(123)가 설치되어 있다면, 사용자는 자신의 필요에 따라 하나 혹은 그 이상의 사용자 어플리케이션부(123)를 선택적으로 실행시킬 수 있다.
광고시간 컨트롤부(124)는 사용자 어플리케이션부(123)의 사용 시간을 모니터링하고, 모니터링한 결과에 기초하여 광고 모듈(130)의 동작 여부를 결정할 수 있다.
광고시간 컨트롤부(124)는 광고 모듈(130)을 동작시킬 시간이 되었다고 결정하면, 광고 모듈(130)을 동작시킬 것을 게스트 OS 스위치 관리부(111)로 요청한다.
이후, 게스트 OS 스위치 관리부(111)는 광고시간 컨트롤부(124)의 요청에 의해서 광고 모듈(130)을 실행시킨다. 게스트 OS 스위치 관리부(111)는, 광고 모듈(130)을 실행시킬 때, 사용자 모듈(123)은 비활성화시킨다. 비활성화 상태는 상술한 [표 1]에서 예시적으로 기술된 제1 비활성화 상태 내지 제3 비활성화 상태 중 어느 하나일 수 있다.
광고시간 컨트롤부(124)가, 모니터링한 결과에 기초하여 광고 모듈(130)의 동작 여부를 결정함에 있어서, 광고 스케쥴을 참조하여 결정한다. 여기서 광고 스케쥴은 광고 스케쥴 컨트롤부(135)에 의해서 설정받은 것일 수 있다.
이상 설명한 실시예에서, 광고시간 컨트롤부(124)는 사용자 모듈(120)의 사용 시간에 기초하여 광고 모듈(130)의 동작을 결정함에 있어서, 직접 광고 스케쥴을 참조하여 결정하는 것으로 설명하였다. 하지만, 이와 다르게 구성하는 것도 가능한데, 예를 들면, 광고시간 컨트롤부(124)는 사용자 어플리케이션부(123)의 동작 시간을 게스트 OS 스위치 관리부(112) 전송하기만 하고, 광고 모듈(130)의 동작 여부는 게스트 OS 스위치 관리부(112)가 결정하도록 하는 구성도 가능하다. 이 경우, OS 스위치 관리부(121)는 광고시간 컨트롤부(124)로부터 전송받은 사용자 모듈(120)의 사용시간과, 광고 스케쥴을 참조하여 광고 모듈(130)의 동작 여부를 결정할 수 있다.
도 1을 계속 참조하면, 광고시간 컨트롤부(124)는 사용자 운영체제부(122) 상에서 사용자 어플리케이션부(123)와 동일 레벨로 설치될 수 있다. 하지만, 이를 변형하여 광고시간 컨트롤부(124)를 사용자 어플리케이션부(123)에 내장되는 기능 모듈로 구현할 수도 있다. 이 경우, 사용자 어플리케이션부(123)가 복수 개이면, 광고시간 컨트롤부(124)는 복수의 사용자 어플리케이션부(123) 각각에 내장될 수 있다.
광고 모듈(130)은 클라이언트 하이퍼바이저부(110) 상에 설치되는 것으로, 광고를 위한 전용 모듈에 해당한다. 광고 모듈(130)은 광고 가상 머신(131), 광고 운영체제부(132), 광고 어플리케이션부(133), 로그부(134), 및 광고 스케쥴 컨트롤부(135)를 포함할 수 있다.
광고 가상 머신(131)은 광고 제공을 위한 전용의 가상 머신으로, 클라이언트 하이퍼바이저부(110)에 의해 설치될 수 있다. 클라이언트 하이퍼바이저부(110)는 AD VM 저장부(143)에 저장된 광고 가상 머신 이미지들 중에서 어느 하나를 실행하여 광고 가상 머신(131)을 설치할 수 있다.
여기서, 광고 가상 머신 이미지는 광고 가상 머신이 실행되는 환경(OS, 어플리케이션등도 포함)을 정의한 템플레이트이다. 일 실시예에 따르면 광고 가상 머신 이미지는 파일의 형태일 수 있다. 클라이언트 하이퍼바이저부(1)는 광고 가상 머신 이미지를 실행하여 광고 모듈을 설치할 수 있다.
광고 운영체제부(132)는 광고 가상 머신 상에서 동작하는 운영체제이며, 광고 어플리케이션부(133)는 광고 운영체제부(132) 상에서 동작한다. 예를 들면, 광고 어플리케이션부(133)는 AD 컨텐츠 저장부(141)에 저장된 광고 컨텐츠를 재생할 수 있다. 본 실시예에서 어플리케이션부(133)는 AD 컨텐츠 저장부(141)에 저장된 광고 컨텐츠를 재생하는 것으로 설명하였지만, AD 컨텐츠가 어플리케이션부(133)에 내장된 형태로도 구현이 가능하다. 또한, 본 실시예에서 광고 어플리케이션부(133)와 광고 운영체제부(132)는 서로 독립된 기능 모듈로서 도시하였으나, 광고 어플리케이션부(133)와 광고 운영체제부(132)는 서로 합체된 형태로도 구현이 가능하다.
로그부(134)는 광고 어플리케이션부(133)에 의해 재생된 광고 컨텐츠의 재생 관련 정보를 로그로 기록한다. 로그부(134)는 광고 관리 서버(300)와 직접 통신이 가능할 수 있으며, 이 경우 기기록된 로그를 광고 관리 서버(300)로 제공할 수 있다.
광고 스케쥴 컨트롤부(135)는 외부 즉, 광고 관리 서버(300) 혹은 광고사 서버로부터 수신된 광고주의 광고 정책을 이용하여 광고시간 컨트롤부(124)에 광고 스케쥴을 제공한다. 광고 스케쥴 컨트롤부(135)는 광고 관리 서버(300)와 직접 통신이 가능할 수 있으며, 이 경우 광고 관리 서버(300)로부터 광고 정책을 주기적 혹은 비주기적으로 수신받을 수 있다.
본 발명의 일 실시예에 따르면 광고시간 컨트롤부(124)는 광고 스케쥴 컨트롤부(135)로부터 제공받은 광고 스케쥴에 기초하여, 광고 모듈(130)의 실행여부를 결정할 수 있다.
사용자 단말장치(100)는 운영체제(Operating System : OS)가 사용되는 장치 즉, 적어도 하나의 운영체제를 동시에 구동할 수 있고, 여러 운영체제들 간의 자원 분배와 독립적인 동작이 보장되는 장치라면 모두 적용 가능하다. 예를 들면, 통상의 데크스탑 컴퓨터, 노트북, 스마트폰 등과 같은 모바일 장치에 적용될 수 있다.
광고 관리 서버(300)는 광고주로부터 광고를 위임받아 광고를 관리하는 서버로, 효과적인 광고를 위해서는 광고 컨텐츠를 여러 사용자에게 배포하여야 하므로, 복수의 사용자 단말장치(100)와 네트워크(200)를 통해 연결될 수 있다.
본 발명의 일 실시예에 따른 광고 관리 서버(300)는 광고주로부터 광고용 가상 머신의 이미지를 전송받아서 관리한다. 여기서, "관리"는 데이터의 삭제, 저장, 추가, 및 갱신 동작을 포함하는 의미로 사용된다.
광고 관리 서버(300)는 클라이언트 하이퍼바이저 관리부(310), 광고 할당부(320), 광고 추적부(330), 광고 컨텐츠 데이터베이스(Database : DB)(340), 광고 정책 데이터베이스(Database : DB)(350)를 포함할 수 있다.
클라이언트 하이퍼바이저 관리부(310)는 사용자 단말장치(100)의 클라이언트 하이퍼바이저부(110)를 관리한다. 여기서, 클라이언트 하이퍼바이저부(110)의 관리라 함은, 클라이언트 하이퍼바이저부(110)가 최신의 정보를 유지할 수 있도록 정보를 전송, 갱신, 삭제, 및 저장하는 행위를 포함할 수 있다.
광고 할당부(320)는 광고주로부터 위임받은 광고에 대한 광고 정책에 의해 광고를 할당한다. 또한, 광고 할당부(320)는 사용자 단말장치(100)와 네트워크(200)를 통한 통신을 통해 광고 정책을 사용자 단말장치(100)로 전송할 수 있다. 이러한 동작에 의해, 주기적 혹은 비주기적으로 변경될 수 있는 광고 정책이 사용자 단말장치(100)에서 광고를 제공할 때 반영되도록 할 수 있다. 또한, 광고 할당부(320)는 가상 머신 이미지를 사용자 단말장치(100)로 전송할 수 있다.
본원 명세서에서 "광고 정책"이라고 함은, "광고용 가상 머신 운영 정책"과 "광고 모듈별 광고 정책"을 포함한다. 구체적으로는, "광고용 가상 머신 운영 정책"은 어떠한 가상 머신 이미지를 사용할 것인가에 대한 정책을 의미하고, "광고 모듈별 광고 정책"은 가상 머신별로 정해지는 광고 정책을 의미한다. 즉, 어떠한 가상 머신 이미지를 사용할 것인가에 대한 정책이 "광고용 가상 머신 운영 정책'이고, 가상 머신 별로 구체적으로 정해진 정책이 "광고 모듈별 광고 정책"이라고 한다. 본원 명세서에서는 "광고용 가상 머신 운영 정책"과 "광고 모듈별 광고 정책"을 특별히 구별할 실익이 없는 경우에는 "광고 정책"이라는 용어로 포괄적으로 지칭하기로 한다.
상술한 바와 같이 광고 할당부(330)는 사용자 단말장치(100)에 대한 광고 정책을 할당하는 동작을 하며, "광고용 가상 머신 운영 정책"과 "광고 모듈별 광고 정책"을 할당한다. "광고용 가상 머신 운영 정책"은 어떠한 가상 머신 이미지를 사용할 것인가에 대한 것이므로, 복수의 가상 머신 이미지들 중에서 어떠한 가상 머신 이미지를 선택할 것인지에 대하여 정의한 정책이다. 이러한 "광고용 가상 머신 운영 정책"은 AD VM 관리부(113)로 전송되며, AD VM 관리부(113)는 AD VM 저장부에 저장된 가상 머신 이미지들 중에서 광고용 가상 머신 운영 정책에 부합하는 가상 머신 이미지를 선택한다. AD VM 관리부(113)에 의해 선택된 가상 머신 이미지는 클라이언트 하이퍼바이저부에 의해서 실행되며, 이로써 새로운 광고 모듈이 클라이언트 하이퍼바이저부 상에 설치된다.
한편, "광고 모듈별 광고 정책"도 광고 할당부(330)가 사용자 단말장치(100)로 전송한다. 다만, 광고 스케쥴 컨트롤부(135)가 "광고 모듈별 광고 정책"을 관리하고, "광고 모듈별 광고 정책"에 따라서 정해지는 광고 스케쥴을 광고 시간 컨트롤부(124)로 전송하고, 광고 시간 컨트롤부(124)가 광고 스케쥴에 따라서 특정 광고 모듈을 실행시키는 요청을 하게 된다. 구체적으로, 광고 시간 컨트롤부(124)는 사용자 어플리케이션부(123)의 사용 시간을 모니터링하고, 모니터링 결와 광고 스케쥴을 참조하여 광고 모듈을 동작시킬지 여부를 결정한다. 광고 모듈(130)을 동작시키기로 결정한 경우, 광고 시간 컨트롤부(124)는 게스트 OS 스위치 관리부(111)로 광고 모듈(130)의 실행을 요청한다. 이후, 게스트 OS 스위치 관리부(111)는 그러한 요청에 따라서 광고 모듈(130)을 실행시킨다.
본 실시예에서, 광고 정책을 사용자 단말장치(100)로 할당하는 동작과, 가상 머신 이미지를 사용자 단말장치(100)로 전송하는 동작을, 하나의 구성요소(즉, 광고 할당부(320))가 수행하는 것으로 설명하였다. 한편, 이러한 구성 대신에, 광고 정책을 광고 정책을 사용자 단말장치(100)로 할당하는 장치와, 가상 머신 이미지를 사용자 단말장치(100)로 전송하는 장치를 각각 별도로 마련하는 구성도 가능하다.
광고 추적부(330)는 사용자 단말장치(100)에서 광고 컨텐츠가 재생된 결과를 기록한 로그를 네트워크(200)를 통해 가져온 후, 광고 결과를 추적한다. 광고 추적부(330)의 광고 추적의 결과는 사용자의 단말장치(100)에 대한 사용 기간, 혹은 사용자 단말장치(100)에 설치된 사용자 가상 머신(121), 및 사용자 어플리케이션부(123)와 같은 유료 어플리케이션의 사용 기간을 연장하는데 사용될 수 있다.
광고 컨텐츠 DB(340)는 광고 컨텐츠를 저장하는 데이터베이스로, 여러 광고주로부터 위임받은 광고에 대한 광고 컨텐츠를 저장한다. 광고 컨텐츠 DB(340)에는 광고주 별로 적어도 하나 이상의 광고 컨텐츠를 저장한다. 여기서, 광고 컨텐츠 DB(340)는 광고 컨텐츠 DB(340)를 이용하는 광고 모듈에 할당된 가상 디스크를 의미한다.
한편, AD VM 이미지 저장부(143)에는 가상 머신 이미지들이 저장된다. 이러한 가상 머신 이미지들은 광고 관리 서버로부터 전송받아서 저장된다. 여기서, AD VM 이미지 저장부(143)는 가상 머신 이미지를 저장하는 가상 디스크를 포함한다.
도 2의 실시예를 기준으로 설명하면, 광고 스케쥴에 대한 접근은 관리 모듈만이 접근할 수 있다. 광고 컨텐츠는 광고 컨텐츠를 사용하는 광고 모듈만이 접근할 수 있다. 즉, 광고데이터 DB(111)가 하나의 기능 블록으로 도시되어 있기는 하지만, 이것이 하나의 가상 디스크라는 것은 아니다.
광고 정책 DB(350)는 광고 정책을 저장하는 데이터베이스로, 여러 광고주로부터 위임받은 광고에 대한 광고 정책을 저장한다. 본 발명의 일 실시에에 따르면, 광고 정책 DB(350)는 "광고용 가상 머신 운영 정책"과 "광고 모듈별 광고 정책"을 저장한다. 광고 할당부(320)는 광고 정책 DB(350)에 저장된 "광고용 가상 머신 운영 정책"에 따라서 광고용 가상 머신 운영 스케쥴을 설정하고, 광고용 가상 머신 운영 스케쥴을 사용자 단말장치(100)로 전송한다. 사용자 단말장치(100)의 AD VM 관리부(113)는 전송받은 광고용 가상 머신 운영 스케쥴에 따라서 가상 머신 이미지의 교체 및 갱신 등의 동작을 수행한다. 본 실시예에서, 광고 할당부(320)가 "광고용 가상 머신 운영 정책"에 따라서 광고용 가상 머신 운영 스케쥴을 설정하고, 설정한 광고용 가상 머신 운영 스케쥴을 사용자 단말장치(100)로 전송하여 주는 것으로 설명하였으나, 이와 다르게 광고 할당부(320)가 "광고용 가상 머신 운영 정책"을 사용자 단말장치(100)로 전송하고, 사용자 단말장치(100)에서 광고용 가상 머신 운영 스케쥴을 설정하여 가상 머신 이미지의 교체 및 갱신 등의 동작을 수행할 수 있다.
이상의 실시예에서, '광고용 가상 머신 운영 정책'(또는 광고용 가상 머신 운영 정책에 따라 설정된 광고용 가상 머신 운영 스케쥴)은 AD VM 관리부(113)가 관리하는 것으로 설명하였는데, 이러한 '광고용 가상 머신 운영 정책'(또는 광고용 가상 머신 운영 정책에 따라 설정된 광고용 가상 머신 운영 스케쥴)은 하드웨어(140)의 저장부(미도시)에 저장되며, AD VM 관리부(113)가 가상 머신 이미지를 결정할 때마다 참조하게 된다. 또한, "광고 모듈별 광고 정책"은 광고 스케쥴 컨트롤부(135)가 관리하는 것으로 설명하였는데, 이러한 광고 모듈별 광고 정책은 하드웨어(140)의 저장부(미도시)에 저장되며, 필요할 때마다 참조 될 수 있다.
상술한 도 1의 실시예에서, 각 구성요소는 하나의 기능 블록 안에 포함된 것으로 도시되었으나 이는 설명의 편의를 위한 것으로 반드시 하나의 장치에 구현되는 것을 의미하는 것이 아니다. 따라서, 이러한 구성에만 본원 발명이 한정되는 것이 아니며, 예를 들면, 이들 구성요소의 적어도 하나 이상은 별도의 기능 블록으로 구현되는 것도 가능하다. 여기서, 별도라고 함은 논리적으로 구분되거나, 위치적으로 구분되거나, 또는 서로 다른 소프트웨어나 하드웨어로 구분되는 것을 포함하는 의미이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 광고주 서버가 광고용 가상 머신 이미지를 생성하고(S201), 광고용 가상 머신 이미지를 광고 관리 서버에 등록한다(S203).
클라이언트 하이퍼바이저 관리부는 광고주 서버가 등록하는 가상 머신 이미지를 광고 컨텐츠(DB)에 저장한다. 또한, 클라이언트 하이퍼바이저 관리부는 광고주 서버가 가상 머신 이미지를 등록할 때 요청한 광고용 가상 머신 운영 정책을 광고 정책 DB에 저장한다. 이후, 광고 할당부는 광고용 가상 머신 운영 정책에 따라서 광고 컨텐츠 DB에 저장된 광고용 가상 머신 이미지를 선택하고, 선택한 광고용 가상 머신 이미지를 설치할 사용자(사용자용 단말장치)를 선택한다(S205). 계속하여, 광고 할당부는 선택한 사용자에게 가상 머신 이미지를 전송할 것을 클라이언트 하이퍼바이저 관리부로 요청하며(S207), 클라이언트 하이퍼바이저 관리부는 클라이언트 하이퍼바이저 관리부가 선택한 가상 머신 이미지를 사용자에게 전송한다(S209).
클라이언트 하이퍼바이저 관리부는 사용자의 상태를 확인하고(S211), 광고용 가상 머신 운영 정책에 기초하여 해당 광고 가상 머신 이미지로 기존의 것을 교체할 것을 사용자 단말장치로 요청한다(S213). 여기서, 사용자의 상태는 사용자 단말장치의 상태이며, 현재 광고 모듈이 동작하는지 여부나 리소스의 상태를 의미한다. 한편, 사용자 단말장치는 클라이언트 하이퍼바이저 관리부의 요청에 따른 조치를 수행한다.
광고주 서버는 자신이 원하는 광고 가상 머신 이미지가 설치된 것을 확인(215)하고, 제대로 설치되었는지 여부에 대한 확인을 클라이언트 하이퍼바이저 관리부에 통지하게 된다(S217).
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 사용자 단말장치 110 : 클라이언트 하이퍼바이저부
111 : 게스트 OS 스위치 관리부 112 : OS 스위치
113 : AD VM 관리부 120 : 사용자 모듈
121 : 사용자 가상 머신 122 : 사용자 운영체제부
123 : 사용자 어플리케이션부 124 : 광고시간 컨트롤부
130 : 광고 모듈 131 : 광고 가상 머신
132 : 광고 운영체제부 133 : 광고 어플리케이션부
134 : 로그부 135 : 광고 스케쥴 컨트롤부
141 : AD 컨텐츠 저장부 143 : AD VM 저장부

Claims (14)

  1. 소정의 가상 머신 이미지로 설치된 서비스 모듈;
    복수의 가상 머신 이미지를 저장하는 저장부; 및
    가상 머신의 설치, 교체, 갱신, 및 제거에 대한 정책을 정의한 가상 머신 운영 정책을 참조하여, 상기 저장부에 저장된 가상 머신 이미지들 중에서 상기 가상 머신 운영 정책에 부합하는 것을 선택하고, 선택한 상기 가상 머신 이미지로 상기 기설치된 서비스 모듈을 교체하는 클라이언트 하이퍼바이저부;를 포함하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 단말장치.
  2. 제 1 항에 있어서,
    상기 가상 머신 운영 정책은 상기 클라이언트 하이퍼바이저부를 관리하는 서비스 관리 서버에서 상기 클라이언트 하이퍼바이저부로 전송한 것임을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 단말장치.
  3. 제 1 항에 있어서,
    사용자 어플리케이션부 및 서비스 시간 컨트롤부를 가지는 사용자 모듈;을 더 포함하며,
    상기 서비스 시간 컨트롤부는 상기 사용자 어플리케이션부의 사용 시간을 모니터링하며, 상기 클라이언트 하이퍼바이저부는 상기 모니터링 결과에 기초하여 상기 서비스 모듈 및 사용자 모듈 중에서 어느 하나를 선택적으로 동작시키는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 단말장치.
  4. 제 3 항에 있어서,
    상기 클라이언트 하이퍼바이저부는,
    상기 서비스 시간 컨트롤부로부터 상기 서비스 모듈의 동작을 요청받고, 상기 요청에 따라서 상기 서비스 모듈을 실행시키는 게스트 OS 스위치 관리부;를 포함하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 단말장치.
  5. 제 3 항에 있어서,
    상기 클라이언트 하이퍼바이저부는,
    상기 서비스 시간 컨트롤부로부터 상기 사용자 모듈의 사용 시간을 통지받고, 통지받은 사용시간과 기저장된 서비스 스케쥴을 참조하여 상기 서비스 모듈 및 상기 사용자 모듈 중 어느 하나를 선택적으로 실행시키는 게스트 OS 스위치 관리부;를 포함하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 단말장치.
  6. 제 1 항에 있어서,
    상기 가상 머신 운영 정책은 서비스 관리 서버로부터 전송받은 것임을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 단말장치.
  7. 적어도 하나의 가상 머신 이미지와, 그러한 가상 머신 이미지의 운영 방안을 정의한 가상 머신 운영 정책을 관리하는 서비스 관리 서버; 및
    상기 서비스 관리 서버로부터 가상 머신 운영 정책과 상기 적어도 하나의 가상 머신 이미지를 전송받고, 전송받은 가상 머신 운영 정책에 따라서 기 설치된 가상 머신들의 교체, 갱신, 변경, 또는 제거하는 사용자 단말장치;를 포함하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 시스템.
  8. 제 7 항에 있어서,
    상기 사용자 단말장치는,
    상기 가상 머신 운영 정책을 운용하는 클라이언트 하이퍼바이저부; 및
    사용자 어플리케이션부 및 서비스 시간 컨트롤부를 가지는 사용자 모듈;을 더 포함하며,
    상기 서비스 시간 컨트롤부는 상기 사용자 어플리케이션부의 사용 시간을 모니터링하며, 상기 클라이언트 하이퍼바이저부는 상기 모니터링 결과에 기초하여 상기 서비스 모듈 및 사용자 모듈 중에서 어느 하나를 선택적으로 동작시키는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 시스템.
  9. 제 8 항에 있어서,
    상기 클라이언트 하이퍼바이저부는,
    상기 서비스 시간 컨트롤부로부터 상기 서비스 모듈의 동작을 요청받고, 상기 요청에 따라서 상기 서비스 모듈을 실행시키는 게스트 OS 스위치 관리부를 포함하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 시스템.
  10. 클라이언트 하이퍼바이저부가 설치된 단말장치에서의 서비스용 가상 머신을 관리할 수 있는 방법에 있어서,
    상기 단말장치에 소정의 가상 머신 이미지로 서비스 모듈을 설치하는 단계;
    복수의 가상 머신 이미지를 저장하는 단계; 및
    가상 머신의 설치, 교체, 갱신, 및 제거에 대한 정책을 정의한 가상 머신 운영 정책을 참조하여, 상기 저장된 가상 머신 이미지들 중에서 상기 가상 머신 운영 정책에 부합하는 것을 선택하고, 선택한 상기 가상 머신 이미지로 상기 기설치된 소정의 가상 머신 이미지로 상기 서비스 모듈을 교체하는 단계;를 포함하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법.
  11. 제 10 항에 있어서,
    상기 서비스 모듈을 교체하는 단계는 상기 클라이언트 하이퍼바이저부가 수행하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법.
  12. 제 10 항에 있어서,
    상기 단말장치에 설치된 사용자 모듈의 사용 시간을 모니터링 하는 단계; 및
    상기 모니터링 결과에 기초하여 상기 서비스 모듈 및 사용자 모듈 중에서 어느 하나를 선택적으로 동작시키는 단계;를 더 포함하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법.
  13. 제 12 항에 있어서,
    상기 사용자 모듈은 서비스 시간 컨트롤부와 사용자 어플리케이션을 포함하며,
    상기 모니터링하는 단계는, 상기 서비스 시간 컨트롤부가 상기 사용자 어플리케이션의 사용 시간을 모니터링하는 것임을 특징으로 하는 클라이언트 하이퍼바이저 기반에서 가상 머신을 관리할 수 있는 방법.
  14. 제10항 내지 제13항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020100062380A 2010-06-29 2010-06-29 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법 KR101115762B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100062380A KR101115762B1 (ko) 2010-06-29 2010-06-29 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100062380A KR101115762B1 (ko) 2010-06-29 2010-06-29 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120001542A KR20120001542A (ko) 2012-01-04
KR101115762B1 true KR101115762B1 (ko) 2012-03-06

Family

ID=45609231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100062380A KR101115762B1 (ko) 2010-06-29 2010-06-29 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법

Country Status (1)

Country Link
KR (1) KR101115762B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102102168B1 (ko) * 2013-10-21 2020-04-21 한국전자통신연구원 가상 데스크탑 서비스 장치 및 방법
KR102276428B1 (ko) * 2021-02-24 2021-07-12 엑세스(주) 클라이언트 단말들의 자원을 가상화하여 중앙에서 통제 및 관리하기 위한 가상화 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090287571A1 (en) 2008-03-26 2009-11-19 Robb Fujioka Hypervisor and virtual machine ware

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090287571A1 (en) 2008-03-26 2009-11-19 Robb Fujioka Hypervisor and virtual machine ware

Also Published As

Publication number Publication date
KR20120001542A (ko) 2012-01-04

Similar Documents

Publication Publication Date Title
AU2019213422B2 (en) Pre-configure and pre-launch compute resources
US9229703B1 (en) User controlled environment updates in server cluster
US8078728B1 (en) Capacity pooling for application reservation and delivery
US8185907B2 (en) Method and system for assigning logical partitions to multiple shared processor pools
US8239536B2 (en) System for generic service management in a distributed and dynamic resource environment, providing constant service access to users
EP2140366B1 (en) Method and system for managing virtual and real machines
JP5417287B2 (ja) 計算機システム、及び、計算機システムの制御方法
US8161161B2 (en) Information processing method and information processing apparatus
GB2423168A (en) Managing software updates in multiple virtual machines
CN107113192A (zh) 云系统中的资源管理
US11095505B1 (en) User controlled environment updates in server cluster
US20190317824A1 (en) Deployment of services across clusters of nodes
US20180203805A1 (en) Computer and memory region management method
US11500663B1 (en) Predictive virtual machine launch-based capacity management
US20090158279A1 (en) Information Processing Method and Information Processing Apparatus
JP2008204120A (ja) コンピュータシステム
KR101115762B1 (ko) 클라이언트 하이퍼바이저 기반의 가상 머신을 관리할 수 있는 단말장치 및 방법
CN107209706A (zh) 用于将设备连接到正在接收维护的应用和桌面的方法和系统
CN107810475B (zh) 用于虚拟计算环境的软件生命周期管理的方法和装置
US20160148142A1 (en) Minimizing guest operating system licensing costs in a volume based licensing model in a virtual datacenter
KR20120000889A (ko) 특정 위치에 지정된 가상 머신을 로딩하는 시스템 및 이에 사용되는 서버 및 그 방법
KR101135312B1 (ko) 사용자 가상머신 상에 설치된 모듈을 보호할 수 있는 단말장치 및 그 방법
CN114356231B (zh) 数据处理方法、设备及计算机存储介质
KR20120001546A (ko) 클라이언트 하이퍼바이저 기반에서의 사용자용 가상머신상에 설치된 모듈을 보호하는 단말장치 및 그 방법
CN108073440B (zh) 一种虚拟化环境下的显卡管理方法、装置及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 9