KR20100088846A - 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법 - Google Patents

전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법 Download PDF

Info

Publication number
KR20100088846A
KR20100088846A KR1020090007970A KR20090007970A KR20100088846A KR 20100088846 A KR20100088846 A KR 20100088846A KR 1020090007970 A KR1020090007970 A KR 1020090007970A KR 20090007970 A KR20090007970 A KR 20090007970A KR 20100088846 A KR20100088846 A KR 20100088846A
Authority
KR
South Korea
Prior art keywords
virtual machine
electronic device
user
domain
providing
Prior art date
Application number
KR1020090007970A
Other languages
English (en)
Other versions
KR101571880B1 (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 KR1020090007970A priority Critical patent/KR101571880B1/ko
Priority to US12/697,452 priority patent/US8639814B2/en
Priority to EP10152268A priority patent/EP2241973A3/en
Priority to CN201010104348.7A priority patent/CN101826028B/zh
Priority to JP2010021366A priority patent/JP5572409B2/ja
Publication of KR20100088846A publication Critical patent/KR20100088846A/ko
Application granted granted Critical
Publication of KR101571880B1 publication Critical patent/KR101571880B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

가상머신이 구동되는 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 송수신 방법이 개시된다. 본 발명의 일 실시예에 따른 전자장치는, 가상머신의 실행에 따라 전자장치에 내장된 적어도 하나의 가상머신을 포함하는 제1 도메인 영역 및 가상머신을 제공하는 가상머신 제공장치로부터 다운로드 받은 적어도 하나의 가상머신을 포함하는 제2 도메인 영역을 생성하고, 생성된 도메인 영역들을 제어한다.
가상화, 가상머신

Description

전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법 {Virtualized electronic apparatus, virtual machine store, and method for using virtual machine service}
본 발명의 일 양상은 가상화 기술에 관한 것으로, 보다 상세하게는 가상머신을 이용한 가상화 기술에 관한 것이다.
PC, PDA, 무선 단말기, DTV 등의 장치는 안전성과 다양한 응용 및 서비스의 실현을 위하여 가상화(Virtualization) 기술을 사용할 수 있다. 이러한 가상화 기술에서 안전한 환경을 제공하기 위해서는 보안 부트(Secure Boot), 보안 소프트웨어(Secure SW), 접근 콘트롤(Access Control) 등의 기능을 필요로 한다.
가상화 기술에 이용되는 가상머신은 실제 컴퓨터와 어느 정도의 통신과 사용을 기반으로 두 가지로 나뉘어진다. 시스템 가상머신은 시스템 플랫폼을 제공하는데, 완전한 운영 체제(OS)의 실행을 지원한다. 반대로, 프로세스 가상머신은 하나의 단일 프로그램을 실행하기 위해 만들어져 있는데, 단일 프로세스를 지원한다.
일 양상에 따라, 물리적인 디바이스 상에서 가상머신이 구동되는 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 송수신 방법을 제안한다.
일 양상에 따른 전자장치는, 가상머신을 실행하는 가상머신 수행부 및 가상머신의 실행에 따라 전자장치에 내장된 적어도 하나의 가상머신을 포함하는 제1 도메인 영역 및 가상머신을 제공하는 가상머신 제공장치로부터 다운로드 받은 적어도 하나의 가상머신을 포함하는 제2 도메인 영역을 생성하고, 생성된 도메인 영역들을 제어하는 제어부를 포함한다.
한편 다른 양상에 따른 가상머신 제공장치는, 가상머신 서비스 제공 요청신호를 전자장치로부터 수신하는 서비스 요청 수신부, 수신된 요청신호에 따라 가상머신 리스트를 생성하여 전자장치에 제공하는 가상머신 제공부 및 제공된 가상머신 리스트에 대하여 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 선택된 가상머신을 전자장치에 다운로드 제공하는 가상머신 다운로드부를 포함한다.
한편 다른 양상에 따른 가상머신 서비스 수신방법은, 가상머신 서비스 제공 요청신호를 가상머신 서비스를 제공하는 가상머신 제공장치에 송신하는 단계, 요청신호 송신에 따라 가상머신 제공장치에 의해 가상머신 리스트가 생성되면 생성된 가상머신 리스트를 가상머신 제공장치로부터 수신하는 단계 및 수신된 가상머신 리스트에 대하여 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 선택된 가상머신을 가상머신 제공장치로부터 다운로드 받는 단계를 포함한다.
한편 또 다른 양상에 따른 가상머신 제공장치의 가상머신 서비스 수신방법은, 가상머신 서비스 제공 요청신호를 전자장치로부터 수신하는 단계, 수신된 요청신호에 따라 가상머신 리스트를 생성하여 전자장치에 제공하는 단계 및 제공된 가상머신 리스트에 대하여 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 선택된 가상머신을 전자장치에 다운로드 제공하는 단계를 포함한다.
전술한 바와 같이 본 발명의 일 실시예에 따르면, 물리적인 디바이스 상에서 가상머신이 구동되는 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 송수신 방법이 제공된다. 이에 따라 이동통신사 또는 서비스 별로 별도로 존재하는 디바이스를 사용자가 가지고 다닐 필요가 없다. 그리고, 사용자가 디바이스를 변경하는 경우에도 이전에 사용하던 환경으로 설정하기 위해 번거롭게 응용 프로그램을 검색하고 설치하거나 디바이스 셋팅을 할 필요가 없으므로 사용 및 관리가 편리하다.
나아가, 일 실시예에 따른 전자장치는 가상머신 서비스를 제공하는 가상머신 제공장치로부터 유무선의 통신 채널을 통해 가상머신을 다운로드 받을 수 있다. 이에 따라 다양한 응용 프로그램들 또는 운영체제들을 이동통신 서비스에 상관 없이 선택해서 이용할 수 있다. 또한 새로운 이동통신 서비스가 등장하는 경우에도 가상머신 제공장치로부터 신규 서비스를 다운로드 받을 수 있으며, 매번 전자장치의 하드웨어를 변경할 필요가 없다.
나아가, 일 실시예에 따른 전자장치는 사용자의 가상머신 사용 형태를 분석함에 따라 사용자가 자주 사용하는 가상머신을 파악할 수 있다. 이때 파악된 가상머신의 사용 형태 분석을 통해 가상자원의 할당량을 결정할 수 있으며, 분석된 정보를 이용해 가상머신을 가상머신 제공장치로부터 추천 받을 수 있다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 기초로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 가상머신 시스템의 구성도이다. 도 1을 참조하면, 일 실시예에 따른 가상머신 시스템은 전자장치(1)와 가상머신 제공장치(2)를 포함한다.
일 실시예에 따른 전자장치(1)는 휴대하기 편한 휴대폰 등의 모바일 형태이거나 고정된 위치에서 사용 가능한 데스크탑 컴퓨터 등의 고정 형태일 수 있다. 가상머신 제공장치(Virtual Machine Store,VM Store)(2)는 가상머신 서비스를 전자장치(1)에 제공하는데, 사용자가 선택한 가상머신(Virtual Machine,VM)을 전자장치(1)에 제공한다. 가상머신은 가상화 환경에서 구동 가능한 운영체제(OS)이거나 운영체제에서 지원되는 응용프로그램(Application) 또는 이들의 결합 형태일 수 있 다. 가상화 환경은 중앙처리장치(CPU), 기억 장치, 입출력 등 단일 플랫폼 상의 자원을 사용자가 여러 운영체제나 응용 프로그램으로 분할해 사용할 수 있는 환경이다.
일 실시예로, 사용자가 전자장치(1)를 통해서 가상머신 제공장치(2)에 접속하게 되면, 사용자가 원하는 가상머신을 가상머신 제공장치(2)에서 직접 검색하거나 사용자가 새롭게 원하는 사양에 따라 가상머신을 구성할 수 있다. 또는 사용자에게 적합한 가상머신을 가상머신 제공장치(2)로부터 추천받을 수 있다. 또한 전자장치(1)는 전자장치(1)의 디바이스 프로파일과 가상자원 할당 상태를 이용하여 가상머신 설치 가능 여부에 관한 정보나 자원 할당 정도에 관한 정보를 가상머신 제공장치(2)로부터 제공받을 수 있다.
도 2는 본 발명의 일 실시예에 따른 전자장치의 계층 구조도이다. 도 2를 참조하면 일 실시예에 따른 전자장치는, 계층적으로 하드웨어부(50), 전자장치에 내장된 적어도 하나의 가상머신을 포함하는 제1 도메인 영역(32) 및 가상머신을 제공하는 가상머신 제공장치로부터 다운로드 받은 적어도 하나의 가상머신을 포함하는 제2 도메인 영역(34)을 포함하는 도메인부(30) 및 도메인부(30)의 하드웨어부(50)에 대한 접근 동작을 제어하는 가상머신 모니터부(40)를 포함한다.
일 실시예에 따른 하드웨어부(50)는 전자장치(1)의 하드웨어를 구성하는데, 인증 및 보안부(미도시)를 더 포함할 수 있다. 이때 인증 및 보안부는 UICC를 통해 구현될 수 있는데, UICC(universal integrated circuit card)는 사용자의 신원 증명 또는 모바일 네트워크 운영자(Mobile Network Operator, MNO)가 제공하는 서 비스의 가입자 증명에 필요한 인증 기능과 사용자의 개인 정보의 안전한 저장 및 보호 기능을 제공한다. 나아가 인증 및 보안부는 AUICC를 통해 구현될 수 있는데, AUICC(Advanced UICC)는 UICC와 기능은 유사하나 저장 공간 등 컴퓨팅 자원 측면에서 더욱 발전된 형태의 UICC이다. 전술한 인증 및 보안부는 전자장치(1)에 착탈이 가능하다.
가상머신 모니터부(Virtual machine monitor)(20)는 하드웨어부(50)의 상위 계층에 존재하여, 후술할 도메인부(30)의 하드웨어부(50)에 대한 접근 동작을 제어한다. 하드웨어부(50)를 하드웨어 계층이라고 한다면, 가상머신 모니터부(40)는 가상화를 제공하는 소프트웨어 계층이라고 할 수 있다.
일 실시예에 따른 도메인부(30)는 가상화 환경에서 전자장치에 내장된 가상머신을 포함하는 제1 도메인 영역(32)과 가상머신을 제공하는 가상머신 제공장치로부터 다운로드 받은 가상머신을 포함하는 제2 도메인 영역(34)을 포함한다. 이때 제1 도메인 영역(32)은 제1 도메인(320)을 포함하고 제2 도메인 영역(34)은 제2 도메인(340)을 포함하는데, 제1 도메인(320)과 제2 도메인(340)은 각각 복수 개일 수 있다.
가상머신 구동시 생성되는 도메인에 있어서, 가상머신이 전자장치(1)에 처음부터 설치된 것이라면 가상머신은 제1 도메인 영역(32)에 속하고, 가상머신이 가상머신 제공장치에서 다운로드되어 설치되는 것이라면 가상머신은 제2 도메인 영역(34)에 속한다. 따라서 제1 도메인 영역(32)은 빌트인 도메인 영역(built-in domain zone)이라고 칭할 수 있으며, 제2 도메인 영역은 다운로드 받은 가상머신 도메인 영역(downloaded virtual machine domain zone)이라고 칭할 수 있다.
한편, 제2 도메인 영역(34)은 다운로드된 가상머신이 실행되어 생성되는 도메인으로, 후술할 도 4를 참조하면 신뢰 도메인 영역과 비신뢰 도메인 영역을 포함할 수 있다. 전자장치가 가상머신 제공장치로부터 가상머신을 다운로드 받으면 다운로드 받은 가상머신은 비신뢰 도메인 영역에 포함될 수 있다. 이는 보안상의 문제를 최소화 하기 위한 정책 설정에 기인한 것이며, 비신뢰 도메인 영역에 속해있는 가상머신은 자원 할당 시 제약을 받을 수 있다. 그리고 경우에 따라서 비신뢰 도메인 영역에 포함되는 가상머신 도메인이 신뢰 도메인 영역으로 또는 그 반대로 신뢰 도메인 영역에 포함되는 가상머신 도메인이 비신뢰 도메인 영역으로 이동될 수 있다.
도 3은 본 발명의 일 실시예에 따른 전자장치(1)의 구성도이다. 도 3을 참조하면, 일 실시예에 따른 전자장치(1)는 가상머신 수행부(18), 제어부(10), 디바이스 드라이버부(12), 통신부(14) 및 저장부(16)를 포함한다.
가상머신 수행부(18)는 가상머신을 실행한다. 여기서 가상머신 수행부(18)는 도 2에서 전술한 전자장치 계층구조의 가상머신 모니터부(40)와 대응될 수 있다. 제어부(10)는 가상머신 수행부(18)의 가상머신 실행에 따라 전자장치에 내장된 적어도 하나의 가상머신을 포함하는 제1 도메인 영역 및 가상머신을 제공하는 가상머신 제공장치로부터 다운로드 받은 적어도 하나의 가상머신을 포함하는 제2 도메인 영역을 생성하고, 생성된 도메인 영역들을 제어한다.
이때 제어부(10)는 가상머신 제어부(100)와 서비스 제어부(110)를 포함할 수 있다. 가상머신 제어부(100)는 전자장치에 내장된 가상머신과 다운로드 받은 가상머신에 가상자원을 할당하고, 다운로드 받은 가상머신의 동작을 모니터링하여 2 도메인 영역에 포함된 도메인들을 제어한다.
구체적으로, 가상머신 제어부(100)는 가상머신 뿐만 아니라 가상화 환경(virtualization environment,VE)에 대한 제어 인터페이스를 제공한다. 그리고, 가상머신 제어부(100) 외의 다른 모듈들이 가상머신 제어부(100)에 구현되어 있는 기능들을 이용할 수 있도록 제어한다. 이를 위해 프로세스간 통신(Inter-process communication) 또는 일반적인 소켓 통신으로 구현된 서비스 데몬(DAEMON) 형태 또는 공유 메모리(shared memory) 방식을 이용하는 형태 등 다양한 방법이 이용될 수 있으나, 전술한 방법 외의 모든 형태가 가능하다.
나아가, 가상머신 제어부(100)는 가상머신에 대한 시작(start), 종료(stop), 중지(suspend), 재시작(resume), 보내기(export), 불러오기(import) 또는 모니터 상태(monitor status) 등의 제어를 수행한다. 그리고 가상환경 관리정책(management policy)을 기준으로 시스템의 성능 및 안전성 등 시스템의 원활한 운영을 제어한다. 또한, 제1 도메인 영역(32)에 있는 가상머신의 업데이트를 수행하거나 제2 도메인 영역(34)에 다운로드된 가상머신을 설치하며, 가상머신 설치 시 가상머신의 특성 또는 메타 정보에 따라 가상머신 도메인의 구동에 필요한 자원을 할당할 수 있다.
한편, 가상머신 제어부(100)는 가상머신의 특성 또는 메타 정보에 따라서 가상머신이 신뢰할 수 있는 도메인 영역 또는 신뢰할 수 없는 도메인 영역에서 구동 되게 할 것인지 여부를 결정할 수 있다. 그리고 다운로드 받은 가상머신의 동작을 모니터링하고 모니터링한 결과에 따라 다운로드 받은 가상머신의 영역 소속을 신뢰 도메인 영역에서 비신뢰 도메인 영역으로, 또는 그 반대의 방향으로 변경시킬 수 있다.
그리고 가상머신 제어부(100)는 가상머신에서 사용하기 위한 프로세서 자원 할당과 시스템 메모리 할당 및 저장공간 할당뿐만 아니라 네트워크 인터페이스, 그래픽 자원, 오디오 자원 등과 같은 I/O 자원 설정 등을 제어한다. 이때 가상머신 제어부(100)는 상황에 따라 가상머신이 보다 풍부한 자원을 사용하도록 제어하거나 가상머신의 자원 사용에 제약을 가할 수 있다.
한편, 가상머신 제어부(100)는 다운로드된 가상머신의 동작에 대한 분석을 통해서 다운로드 받은 가상머신이 필요로 하는 자원의 양이나 종류를 판단할 수 있는 데이터를 생성할 수 있다. 여기서, 가상머신 제어부(100)는 생성한 데이터를 이용하여 미리 정의한 판단 기준에 의해서 자원 상태를 판단하고, 판단 결과에 따라 다운로드 받은 가상머신에 대해 자원을 재 할당할 수 있다. 이에 따라 사용자가 주로 사용하는 가상머신에 대해서는 더 많은 자원을 제공하여 사용 만족도를 높일 수 있다.
나아가, 가상머신 제어부(100)는 필요에 따라 다운로드 받은 가상머신의 사용 행태에 대한 모니터링을 수행하고, 모니터링할 가상머신 대상이나 로그 기록 여부를 설정할 수 있다. 예를 들면, 다운로드 받은 가상머신이 몇 번 부팅되어 사용되는지, 도메인의 포어그라운드 및 백그라운드에서의 사용 시간은 얼마나 되는지, 어떤 하드웨어 자원을 활용하는지에 대한 모니터링 및 로깅이 가능하다.
한편, 서비스 제어부(110)는 가상머신 제공장치로부터 가상머신 서비스를 제공 받기 위한 신호를 통신부(14)를 통해 송수신하도록 제어한다. 구체적으로, 사용자가 가상머신 제공장치에서 제공하는 가상머신 서비스를 이용할 수 있도록 가상머신 제공장치와 사용자가 상호 작용(interaction)하기 위한 인터페이스를 제공한다. 전술한 인터페이스 구현을 위해 웹 브라우저를 사용하거나, 가상머신 프로토콜을 이해하며 사용자에게 친숙한 인터페이스를 제공할 수 있는 전용 클라이언트를 사용할 수 있다. 이때 통신부(14)는 전자장치와 가상머신 제공장치 간의 통신 시에, 보안 위협 또는 통신 채널 문제를 극복하거나 회피할 수 있도록 설계된 가상머신 서비스 프로토콜을 구현한 엔진을 이용할 수 있다.
나아가, 서비스 제어부(110)는 가상머신 제공장치에 가상머신 서비스 제공을 요청할 때, 전자장치의 가상머신 서비스 사용시에 전자장치의 디바이스 프로파일과 사용자 프로파일 또는 가상자원의 상태에 관한 정보를 통신부(14)를 통해 가상머신 제공장치에 전송할 수 있다.
구체적으로 사용자 프로파일(User Profile)은 전자장치의 가상머신 서비스 이용 시 사용자를 식별하기 위한 기본 정보 뿐만 아니라, 사용자의 니드(Needs)를 파악할 수 있는 사용자의 환경설정 정보(preference) 및 사용자가 가상머신을 사용하는 형태를 분석한 분석정보를 포함하는 데이터 셋이다. 사용자를 식별하기 위한 기본 정보는 사용자 ID 정보와 인증에 필요한 키 및 관련 데이터들이 포함될 수 있다. 이때 모바일 네트워크 운영자(MNO) 서비스와 관계되는 사용자 인증이나 플랫 폼 무결성(platform integrity)에 대한 상태 파악을 위한 증명(attestation)이 요구되는 경우라면 도 2에서 전술한 UICC 또는 AUICC 등을 이용하여 해당 기능을 안전하게 수행할 수 있다.
사용자의 환경설정 정보(preference)는 사용자가 자주 사용하는 가상머신 또는 관심을 갖고 있는 가상머신 정보를 포함할 수 있다. 이 경우, 서비스 제어부(110)가 가상머신 제공장치에 환경설정 정보를 전송하면, 전송한 환경설정 정보에 기초하여 가상머신 제공장치로부터 해당 분야의 가상머신이 새롭게 출시될 시기를 통보 받거나, 사용자의 취향과 관련이 있는 가상머신을 추천받을 수 있다. 가상머신은 운영체제 또는 운영체제에서 운영되는 응용 프로그램 또는 이들의 조합 형태일 수 있다.
디바이스 프로파일은 디바이스의 실제 하드웨어의 구성 정보 및 특성에 대한 정보를 포함하는 데이터 셋이다. 디바이스 프로파일을 통해서 가상머신의 동작에 요구되는 하드웨어 구성요소가 전자장치에 포함되는지, 구동이 가능한 상태인지, 표준화된 일반적인 기능을 제공하는지, 확장 기능을 제공하는지 여부를 파악할 수 있다. 이에 따라 사용자가 원하는 가상머신의 전자장치에서의 동작 여부를 미리 알 수 있다.
자원 상태 정보는 현재 사용자의 전자장치에 가용 컴퓨팅 자원이 어느 정도인지를 알려주는 데이터 셋이다. 일 실시예에 따른 전자장치는 가상머신을 선택하거나 다운로드하기 전에 전자장치의 자원 상태를 파악할 수 있다. 여기서, 전자장치는 파악된 자원 상태를 화면에 디스플레이하여 사용자가 가상머신을 다운로드 받 아 설치할지 여부를 결정하도록 제어할 수 있다. 또한 전자장치는 파악된 자원 상태 정보를 기초로 전자장치의 현재 상황을 분석하여 가상머신 다운로드와 설치 및 구동을 위한 방법을 제공할 수도 있다. 예를 들어, 자주 사용하지 않는 가상머신을 전자장치의 내장 메모리에서 외장 메모리로 옮기도록 사용자에게 알려줄 수 있다. 또는 사용자가 다운로드 받고자 하는 가상머신 설치시 필요한 추가 메모리 양을 알려주면서 메모리를 구입할 수 있는 링크 정보를 제공할 수도 있다.
한편, 디바이스 드라이버부(12)는 추상화된 디바이스 드라이버 인터페이스를 제공할 수 있다. 추상화된 디바이스 드라이버 인터페이스는 전자장치의 실제 하드웨어를 구동하기 위한 디바이스 드라이버를 제공한다. 디바이스 드라이버부(12)는 다운로드 받은 가상머신 도메인에서 구동되는 운영 시스템 내에 구현된 디바이스 드라이버를 수정하여 추상화된 디바이스 드라이버 서비스를 제공할 수 있다. 이에 따라, 하나 이상의 게스트 운영 시스템을 동시에 구동시켜야 하는 전자장치의 입장에서 동일한 기능을 수행하는 디바이스 드라이버들이 각각의 게스트 운영 시스템 도메인마다 중복되어 존재할 필요가 없다. 또한 실제 디바이스 드라이버를 업데이트해야 하는 경우에도 각각의 게스트 운영 시스템마다 일일이 디바이스 드라이버를 업데이트할 필요가 없이 디바이스 드라이버 자체만 업데이트하면 되기 때문에 업데이트 및 보안 패치(security patch) 등에 소요되는 관리 비용을 줄일 수 있다.
한편, 디바이스 드라이버부(12)는 디바이스 드라이버의 설치, 삭제 및 업데이트를 관리할 수 있다. 예를 들면, 전자장치에 새로운 하드웨어 구성요소(hardware component block)가 추가되는 경우 디바이스 드라이버부(12)는 새로운 하드웨어 구성요소를 구동해야 하는 디바이스 드라이버를 설치한다. 또는 보안 패치(security patch)나 디바이스 드라이버 자체의 기능 개선을 위해서 드라이버 업데이트가 필요한 상황인 경우, 디바이스 드라이버부(12)는 디바이스 드라이버를 설치, 삭제 또는 업데이트할 수 있다. 또한, 디바이스 드라이버부(12)는 전자장치를 구성하는 실제 하드웨어 구성요소들을 구동할 수 있는 디바이스 드라이버를 포함할 수 있는데, 전술한 디바이스 드라이버는 전자장치가 처음 출시될 때부터 내장되어 제공될 수 있다.
한편, 저장부(16)는 전자장치에 저장되어 있는 데이터에 접근하기 위한 추상화된 인터페이스를 제공하여 서로 다른 운영 시스템이라 하더라도 하나의 일관된 방식으로 데이터를 읽고 쓸 수 있게 한다. 이때 저장부(16)는 제1 도메인 영역 및 제2 도메인 영역에 포함된 가상머신 도메인들이 공통으로 사용하는 데이터를 저장할 수 있다. 즉, 각각의 가상머신 도메인 내에서 데이터를 저장하고 사용할 수 있지만, 저장부(16)를 통해 가상머신 도메인의 종류에 상관 없이 공통으로 사용하는 데이터를 저장할 수 있다. 이에 따라 전자장치가 변경되거나 백업을 해야 하는 경우 데이터의 관리가 용이하다.
한편, 전술한 가상머신 제어부(100), 서비스 제어부(110), 디바이스 드라이버부(12) 및 저장부(16)는 계층적으로 하나의 도메인 영역 또는 서로 다른 도메인 영역에 포함될 수 있다. 예를 들면, 하나의 도메인에 네 구성 요소인 가상머신 제어부(100), 서비스 제어부(110), 디바이스 드라이버부(12) 및 저장부(16)가 모두 포함될 수 있다. 이에 따라 시스템 성능 측면에서, 네 구성 요소들이 하나의 도메 인 영역에 존재함에 따라 도메인 자체의 수가 하나이므로 가상화 환경(virtualization environment)에 대한 관리 부담이 줄어든다. 또한 실제로 도메인 내에 존재할 수 있는 운영 시스템을 위한 자원을 절약할 수 있다.
또 다른 실시예로 서로 다른 도메인들에 각 구성 요소가 각각 할당될 수 있다. 이에 따라 어느 하나의 가상머신 도메인에서 시스템 장애가 발생하더라도 다른 가상머신 도메인은 영향을 받지 않는다. 예를 들면, 디바이스 드라이버(12)가 업데이트 되다가 해당 가상머신 도메인에 장애가 발생하더라도 다른 가상머신 도메인은 문제 없이 동작이 가능하므로 시스템의 상태를 진단하고 복구하도록 조치할 수 있다.
도 4는 본 발명의 일 실시예에 따른 도 2의 제2 도메인 영역의 계층 구조도이다. 도 4를 참조하면, 제2 도메인 영역(34)은 신뢰할 수 있는 신뢰 도메인 영역(Trusted Domain Zone)(340a)과 신뢰할 수 없는 비신뢰 도메인 영역(Untrusted Domain Zone)(340b)을 포함한다.
신뢰 도메인 영역(340a)과 비신뢰 도메인 영역(340b)간에 있어서 도메인은 상호 이동 가능하다. 구체적으로 전자장치는 가상머신 제공장치로부터 다운로드 받은 가상머신의 동작을 모니터링하며, 모니터링 결과를 기초로 각 다운로드 받은 가상머신의 안전성 등급을 조정할 수 있다. 이때, 다운로드 받은 가상머신에 대한 안전성 등급이 정해진 기준 이상으로 상승되면 다운로드 받은 가상머신이 비신뢰 도메인 영역(340b)으로부터 신뢰 도메인 영역(340a)으로 이동이 가능하다는 메시지를 사용자에게 알려주고, 이동할 것인지에 대한 사용자의 의사를 확인 받는다. 이 경우, 다운로드 받은 가상머신이 사용자가 자주 사용하거나 사용하는 시간이 많고 다운로드 받은 가상머신의 컴퓨팅 자원 사용률이 높다고 판단되는 경우, 다운로드 받은 가상머신이 실행될 때 그 도메인에 대한 컴퓨팅 자원 할당량을 높게 설정함으로써 전자장치에 대한 사용자의 사용 만족도를 높일 수 있다.
그러나 반대의 경우일 수도 있다. 즉, 일 실시예에 따른 전자장치는, 다운로드 받은 가상머신이 신뢰 도메인 영역(340a)에 포함되는 경우 보안상 이상한 징후가 발견되면 안전성 등급의 하락에 따라 가상머신을 신뢰 도메인 영역(340a)에서 비신뢰 도메인 영역(340b)으로 이동시켜 관리할 수 있다. 그리고, 추후 사용자에게 도메인 영역 변경 사실을 통보하고, 다운로드 받은 가상머신의 보안 위협 판정 관련 정보를 사용자에게 제공할 수 있다. 그리고 사용자의 가상머신 서비스 이용 시, 다운로드 받은 가상머신과 관련이 있는 가상머신에 대해서 보안주의 정보를 제공할 수 있다.
한편, 안전성 등급의 상승으로 인해 비신뢰 도메인 영역(340b)에서 신뢰 도메인 영역(340a)으로 가상머신 도메인이 이동될 때에는 사용자의 동의를 먼저 획득한 후 이동을 실시하지만, 그 반대로 신뢰 도메인 영역(340a)에서 비신뢰 도메인 영역(340b)으로 이동할 때에는 사용자의 동의 여부에 상관 없이 이동부터 먼저 실시한 후 이후 사용자에게 통보할 수 있다. 이러한 차이가 발생하는 것은 사용의 편리함보다는 시스템의 보안을 우선으로 하는 기본 정책에 기인한다.
도 5는 본 발명의 일 실시예에 따른 제2 도메인 영역 간의 가상머신 이동을 설명하기 위한 참조도이다.
도 5를 참조하면, 제2 도메인 영역(34)의 구성을 다양하게 설정할 수 있다. 예를 들면, 도 5에 도시된 바와 같이 제2 도메인 영역(34)은 제1 신뢰 도메인(342a), 제2 신뢰 도메인(344a), 제3 신뢰 도메인(346a)를 포함하는 신뢰 도메인 영역(340a)과 제1 비신뢰 도메인(342b), 제2 비신뢰 도메인(344b)을 포함하는 비신뢰 도메인 영역(340b)을 포함할 수 있다.
구체적으로, 신뢰 도메인 영역(340a) 내에는 MNO(Mobiel Network Operator)용 도메인들과 모바일 뱅킹용 도메인이 존재하고, 비신뢰 도메인 영역(340b) 내에는 PIM용 도메인, 게임용 도메인이 존재한다고 가정한다. PIM용 도메인의 PIM(personal information management)은 전자메일 및 일정 관리, 메모 등의 개인 정보들을 종합 관리해주는 응용 프로그램이다. 이때 가상머신 제공장치로부터 다운로드 받은 가상머신의 출처가 명확하고 다운로드 받은 가상머신 내용 상의 무결성(integrity)에 대해서 보장할 수 있는 경우에 해당되는 MNO용 도메인들과 모바일 뱅킹용 도메인은 가상머신을 다운로드 받아서 설치하는 과정에서 안전성 등급이 확인되었기 때문에 신뢰 도메인 영역(340a)으로 이동된 것으로 볼 수 있다. 전술한 안전성 등급을 확인하는 방법의 한 예로서, 코드 서명(code signing) 등과 같은 방법을 이용하여 다운로드하려는 가상머신이 신뢰할 수 있는 대상으로부터 안전하게 서명되었는지를 검증할 수 있다.
그러나 PIM용 도메인 또는 게임용 도메인의 경우에는 제3의 응용 프로그램 제공자로부터 다운로드받은 것이기 때문에 그 안전성에 대해서 확신할 수 없는 상태이다. 따라서 우선은 비신뢰 도메인 영역(340b)으로 소속시켜서 관리 및 모니터 링을 시작하고, 이후 모니터링 결과에 따라서 그 안전성 등급이 올라가게 되면 신뢰 도메인 영역(340a)으로 영역 소속을 변경하도록 하는 것이 시스템 안전상 유리하다. 예를 들면, 도 5에 도시된 바와 같이 가상머신 제공장치로부터 다운로드 받은 가상머신의 동작을 모니터링했을 때 정해진 기간 동안의 모니터링 결과를 기초로 가상머신이 비신뢰 도메인 영역(340b)으로부터 신뢰 도메인 영역(340a)으로 이동될 수 있다.
도 6은 본 발명의 일 실시예에 따른 가상머신 제공장치(2)의 구성도이다. 도 6을 참조하면, 일 실시예에 따른 가상머신 제공장치(2)는 서비스 요청 수신부(20), 가상머신 제공부(22) 및 가상머신 다운로드부(24)를 포함한다.
서비스 요청 수신부(20)는 가상머신 서비스 제공 요청신호를 전자장치로부터 수신한다. 가상머신 제공부(22)는 수신된 요청신호에 따라 가상머신 리스트를 생성하여 전자장치에 제공한다. 나아가, 서비스 요청 수신부(20)는 전자장치의 디바이스 프로파일과 사용자 프로파일 및 가상자원 상태정보 중 적어도 하나를 포함하는 가상머신 서비스 제공 요청신호를 수신할 수 있다. 여기서, 사용자 프로파일은 가상머신 서비스를 이용하는 사용자의 식별 정보, 사용자의 환경설정 정보 및 사용자가 가상머신을 이용한 사용 형태를 분석한 정보 중 적어도 하나를 포함할 수 있다. 그러면, 가상머신 제공부(22)는 수신된 정보를 기초로 가상머신 리스트를 생성하여 전자장치에 제공할 수 있다.
한편, 가상머신 제공부(22)는, 전자장치로부터 수신된 정보를 이용하여 사용자가 자주 사용하거나 사용 가능성이 있는 가상머신 리스트를 선정하고, 선정된 가 상머신 리스트를 비용, 시간 또는 안정성을 기준으로 전자장치에게 추천할 수 있다. 나아가, 가상머신 제공부(22)는, 전자장치의 가상자원 상태정보와 기 다운로드 제공한 가상머신의 구성 및 사용자의 가상머신 사용 형태 중 적어도 하나를 분석하여 분석 결과를 기초로 전자장치가 가상자원을 효율적으로 활용할 수 있는 방법을 제시할 수 있다.
가상머신 다운로드부(24)는 가상머신 제공부(22)를 통해 제공된 가상머신 리스트에 대하여 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 선택된 가상머신을 전자장치에 다운로드 제공한다.
도 7은 본 발명의 일 실시예에 따른 전자장치의 가상머신 서비스 수신방법을 도시한 흐름도이다.
도 7을 참조하면, 전자장치는 가상머신 서비스 제공 요청신호를 가상머신 서비스를 제공하는 가상머신 제공장치에 송신한다(S700). 이를 위해, 전자장치와 가상머신 제공장치간의 통신 채널을 생성할 수 있다. 이때 가상머신 제공장치에 대한 접속 정보로서 URL(uniform resource locator)이 이용될 수 있다. 가상머신 제공장치 URL은 전자장치에 기본 설정으로 내장되며, 업데이트 가능하다. 그리고 전자장치는 모바일 형태일 수 있지만 컴퓨터 등의 고정 형태일 수 있으므로, 다양한 네트워크 채널을 이용하여 전자장치와 가상머신 제공장치간의 연결이 설정될 수 있다. 일 예로서 Wired/wireless LAN(local area network), OTA(over the air) 통신 채널, USB(universal serial bus), IEEE 1394, removable storage 디바이스일 수 있으나, 이에 한정되지 않는다.
한편, 전자장치가 가상머신 서비스 제공 요청신호를 가상머신 제공장치에 송신하는 단계에 있어서, 전자장치가 전자장치에 포함된 가상머신을 사용하는 사용자의 사용 형태를 분석하고 분석 결과에 따라 사용자가 원하는 가상머신 서비스를 가상머신 제공장치에 요청할 수 있다. 나아가, 전자장치의 디바이스 프로파일과 사용자 프로파일 및 가상자원 상태정보 중 적어도 하나를 포함하는 가상머신 서비스 제공 요청신호를 가상머신 제공장치에 송신할 수 있다.
이어서, 요청신호 송신에 따라 가상머신 제공장치에 의해 가상머신 리스트가 생성되면, 전자장치는 생성된 가상머신 리스트를 가상머신 제공장치로부터 수신한다(S710). 이때 전자장치는 가상머신 제공장치에서 제공하는 가상머신들을 검색하고, 원하는 가상머신들을 선택한다. 이 단계에서 가상머신 제공장치로부터 수신되는 가상머신 리스트는, 사용 가능성, 비용, 시간 또는 안정성을 기준으로 가상머신 제공장치로부터 추천받는 리스트일 수 있다. 또한 수신 단계 이전에 가상머신 제공장치로 보낸 데이터들에 기초하여 사용자의 전자장치 상황에 적합한 가상머신들이 포함될 수도 있다.
이어서, 전자장치는 수신된 가상머신 리스트에 대하여 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 선택된 가상머신을 가상머신 제공장치로부터 다운로드 받는다(S720). 이때, 가상머신이 다운로드 되기 위한 통신 채널은 전자장치와 가상머신 제공장치간의 채널을 연결하는 단계에서 지정된 채널을 이용할 수 있다. 그러나 단계를 거쳐오는 동안 시간이 흐르면서 전자장치가 위치하는 지역 또는 통신 조건 등이 변경되는 상황이 발생할 수도 있기 때문에, 전자장치의 현재 주변 상황 및 사용자의 환경을 고려하여 통신 채널이 다시 설정될 수도 있다.
한편, 가상머신 제공장치로부터 가상머신을 다운로드 받는 단계(S720) 이전에, 전자장치가 탐색 결과를 기초로 새로운 가상머신 사양을 구성하는 단계를 더 포함할 수 있다. 이에 따라 탐색 결과 사용자가 원하는 가상머신이 존재하지 않는 경우, 사용자가 원하는 가상머신 사용을 직접 구성하는 것이 가능하다. 구성된 가상머신 사양을 이용하여 가상머신 제공장치에 의해 새로운 가상머신이 생성되면, 전자장치는 생성된 가상머신을 가상머신 제공장치로부터 다운로드 받을 수 있다.
나아가, 전자장치가 가상머신 제공장치로부터 가상머신의 메타정보를 수신하고 수신된 메타정보를 기초로 다운로드 여부에 대해 사용자로부터 선택신호를 통해 선택된 가상머신을 가상머신 제공장치에 요청하여 다운로드 받는 단계를 더 포함할 수 있다.
도 8은 본 발명의 일 실시예에 따른 가상머신 제공장치의 가상머신 서비스 제공방법을 도시한 흐름도이다.
도 8을 참조하면, 가상머신 제공장치는 가상머신 서비스 제공 요청신호를 전자장치로부터 수신한다(S800). 여기서, 가상머신 제공장치는 전자장치 사용자 또는 가입자(subscriber)의 신원에 대한 인증 및 전자장치의 무결성(integrity) 상태에 대해 신뢰할 수 있는 측정을 수행할 수 있다. 이를 통해서 가상머신 제공장치는 전자장치로 다운로드된 가상머신 사용의 적법성을 확인할 수 있다. 한편, 가상머신 제공장치는 전자장치로부터 전자장치의 디바이스 프로파일과 사용자 프로파일 및 가상자원 상태정보 중 적어도 하나를 포함하는 가상머신 서비스 제공 요청신호 를 수신할 수 있다.
이어서 전자장치로부터 수신된 요청신호에 따라 가상머신 리스트를 생성하여 전자장치에 제공한다(S810). 이때 전자장치로부터 수신된 정보를 이용하여 사용자가 자주 사용하거나 사용 가능성이 있는 가상머신 리스트를 선정하고, 선정된 가상머신 리스트를 비용, 시간 또는 안정성을 기준으로 전자장치에게 추천할 수 있다.
이어서 전자장치에 제공된 가상머신 리스트에 대하여 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 가상머신 제공장치는 선택된 가상머신을 전자장치에 다운로드 제공한다(S820). 여기서 사용자가 가상머신을 선택한 경우, 서비스에 가입이 필요하거나 유료로 구매해야 하는 가상머신인 경우에 가상머신 제공장치는 사용 가능한 구매 방법 정보를 제공할 수 있다. 비용을 지불하고 구매를 해야 하는 경우, 사용자의 신원 인증 및 안전한 지불 과정이 필요할 수 있다. 이때, 확실한 신원 인증을 위해서 AUICC에 존재하는 사용자 인증 기능을 이용할 수 있다.
또한 가상머신 제공장치는 사용자가 다운로드를 결정하게 되면 다운로드에 사용될 방법에 관한 정보를 전자장치에 제공할 수 있다. 예를 들면, 가상머신 제공장치는 사용자가 직접 선택하거나 가장 비용이 적게 들거나 가장 단시간에 받을 수 있거나 가장 안전하게 받을 수 있는 방법을 전자장치에 제공할 수 있다. 여기서, 가장 비용이 적게 드는 다운로드 방법을 제공하는 경우 가상머신 제공장치는 현재 사용 가능한 하나 이상의 통신 채널들 각각에 대해서 다운로드에 요구되는 예상 요금 정보를 제공할 수 있다. 또한, 가장 단시간에 받을 수 있는 다운로드 방법을 제공하는 경우 단일 채널의 이용뿐만 아니라 여러 채널을 복합적으로 사용해 서 병렬적으로 다운로드 받도록 추천함으로써, 비용에 상관없이 또는 제한된 수준까지의 비용 한도 내에서 최대의 다운로드 실행속도를 유지할 수 있도록 채널을 구성할 수 있다.
이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 가상머신 시스템의 구성도,
도 2는 본 발명의 일 실시예에 따른 전자장치의 계층 구조도,
도 3은 본 발명의 일 실시예에 따른 전자장치의 구성도,
도 4는 본 발명의 일 실시예에 따른 도 2의 제2 도메인 영역의 계층 구조도,
도 5는 본 발명의 일 실시예에 따른 제2 도메인 영역 간의 가상머신 이동을 설명하기 위한 참조도,
도 6은 본 발명의 일 실시예에 따른 가상머신 제공장치의 구성도,
도 7은 본 발명의 일 실시예에 따른 전자장치의 가상머신 서비스 수신방법을 도시한 흐름도,
도 8은 본 발명의 일 실시예에 따른 가상머신 제공장치의 가상머신 서비스 제공방법을 도시한 흐름도이다.
<도면의 주요부분에 대한 부호의 설명>
1 : 전자장치 2 : 가상머신 제공장치
10 : 제어부 12 : 가상머신 드라이버부
14 : 통신부 16 : 저장부
18 : 가상머신 수행부 20 : 서비스 요청 수신부
22 : 가상머신 제공부 24 : 가상머신 다운로드부
30 : 도메인부 32 : 제1 도메인 영역
34 : 제2 도메인 영역 40 : 가상머신 모니터부
50 : 하드웨어부 100 : 가상머신 제어부
110 : 서비스 제어부 320 : 제1 도메인
340 : 제2 도메인 342 : 신뢰 도메인
344 : 비신뢰 도메인

Claims (20)

  1. 가상머신을 실행하는 가상머신 수행부; 및
    상기 가상머신의 실행에 따라 전자장치에 내장된 적어도 하나의 가상머신을 포함하는 제1 도메인 영역 및 가상머신을 제공하는 가상머신 제공장치로부터 다운로드 받은 적어도 하나의 가상머신을 포함하는 제2 도메인 영역을 생성하고, 상기 생성된 도메인 영역들을 제어하는 제어부를 포함하는 전자장치.
  2. 제 1 항에 있어서, 상기 제어부는,
    상기 전자장치에 내장된 가상머신과 상기 다운로드 받은 가상머신에 가상자원을 할당하고, 상기 다운로드 받은 가상머신의 동작을 모니터링하여 상기 제2 도메인 영역에 포함된 도메인들을 제어하는 가상머신 제어부; 및
    상기 가상머신 제공장치로부터 가상머신 서비스를 제공 받기 위한 신호를 송수신하는 서비스 제어부를 포함하는 전자장치.
  3. 제 1 항에 있어서, 상기 제2 도메인 영역은,
    신뢰할 수 있는 신뢰 도메인 영역과 신뢰할 수 없는 비신뢰 도메인 영역을 포함하는 전자장치.
  4. 제 3 항에 있어서, 상기 가상머신 제어부는,
    상기 가상머신 제공장치로부터 가상머신을 다운로드 받을 때에 미리 설정된 안정성 등급에 따라 상기 신뢰 도메인 영역 또는 상기 비신뢰 도메인 영역에 상기 가상머신을 다운로드하고, 이후 다운로드 받은 가상머신의 모니터링에 의해 변경된 안정성 등급에 따라 상기 다운로드 받은 가상머신을 상기 신뢰 도메인 영역 또는 상기 비신뢰 도메인 영역으로 이동시키는 전자장치.
  5. 제 4 항에 있어서, 상기 가상머신 제어부는,
    상기 다운로드 받은 가상머신 중에 비신뢰 도메인 영역에 포함되는 가상머신의 안정성 등급이 미리 설정된 기준 이상이면 상기 전자장치 사용자의 승인 신호에 따라 상기 다운로드 받은 가상머신을 상기 신뢰 도메인 영역으로 이동시키며, 상기 신뢰 도메인 영역에 포함되는 가상머신의 안정성 등급이 상기 미리 설정된 기준 이하인 경우 상기 전자장치 사용자의 승인 신호 없이 상기 다운로드 받은 가상머신을 상기 비신뢰 도메인 영역으로 이동시키는 전자장치.
  6. 제 2 항에 있어서, 상기 가상머신 제어부는,
    상기 전자장치에 내장된 가상머신과 상기 다운로드 받은 가상머신의 메타정보를 이용하여 상기 가상머신이 구동될 도메인 영역을 결정하고 상기 결정된 도메인 영역에 포함된 가상머신에 대한 가상자원 할당 정도를 결정하는 전자장치.
  7. 제 2 항에 있어서, 상기 가상머신 제어부는,
    상기 전자장치에 내장된 가상머신과 상기 다운로드 받은 가상머신의 사용량을 포함하는 사용 형태를 분석하여 상기 분석 결과에 따라 상기 전자장치에 내장된 가상머신과 상기 다운로드 받은 가상머신에 대한 가상자원의 할당 정도를 결정하는 전자장치.
  8. 제 1 항에 있어서,
    상기 제1 도메인 영역 및 상기 제2 도메인 영역에 포함된 가상머신 도메인들이 공통으로 사용하는 데이터를 저장하는 저장부를 더 포함하는 전자장치.
  9. 가상머신 서비스 제공 요청신호를 전자장치로부터 수신하는 서비스 요청 수신부;
    상기 수신된 요청신호에 따라 가상머신 리스트를 생성하여 상기 전자장치에 제공하는 가상머신 제공부; 및
    상기 제공된 가상머신 리스트에 대하여 상기 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 상기 선택된 가상머신을 상기 전자장치에 다운로드 제공하는 가상머신 다운로드부를 포함하는 가상머신 제공장치.
  10. 제 9 항에 있어서,
    상기 서비스 요청 수신부는, 상기 전자장치의 디바이스 프로파일과 사용자 프로파일 및 가상자원 상태정보 중 적어도 하나를 포함하는 가상머신 서비스 제공 요청신호를 수신하고,
    상기 가상머신 제공부는, 상기 수신된 정보를 기초로 상기 가상머신 리스트를 생성하여 상기 전자장치에 제공하는 전자장치의 가상머신 제공장치.
  11. 제 10 항에 있어서,
    상기 사용자 프로파일은 상기 가상머신 서비스를 이용하는 사용자의 식별 정보, 상기 사용자의 환경설정 정보 및 상기 사용자가 가상머신을 이용한 사용 형태를 분석한 정보 중 적어도 하나를 포함하는 가상머신 제공장치.
  12. 제 10 항에 있어서, 상기 가상머신 제공부는,
    상기 전자장치로부터 수신된 정보를 이용하여 사용자가 자주 사용하거나 사용 가능성이 있는 가상머신 리스트를 선정하고, 상기 선정된 가상머신 리스트를 비용, 시간 또는 안정성을 기준으로 상기 전자장치에게 추천하는 가상머신 제공장치.
  13. 제 9 항에 있어서, 상기 가상머신 제공부는,
    상기 전자장치의 가상자원 상태정보와 기 다운로드 제공한 가상머신의 구성 및 사용자의 가상머신 사용 형태 중 적어도 하나를 분석하여 상기 분석 결과를 기초로 상기 전자장치가 가상자원을 효율적으로 활용할 수 있는 방법을 제시하는 가상머신 제공장치.
  14. 가상머신 서비스 제공 요청신호를 가상머신 서비스를 제공하는 가상머신 제공장치에 송신하는 단계;
    상기 요청신호 송신에 따라 상기 가상머신 제공장치에 의해 가상머신 리스트가 생성되면 상기 생성된 가상머신 리스트를 상기 가상머신 제공장치로부터 수신하는 단계; 및
    상기 수신된 가상머신 리스트에 대하여 상기 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 상기 선택된 가상머신을 상기 가상머신 제공장치로부터 다운로드 받는 단계를 포함하는 가상머신 서비스 수신방법.
  15. 제 14 항에 있어서, 상기 선택된 가상머신을 상기 가상머신 제공장치로부터 다운로드 받는 단계는,
    상기 전자장치가 상기 탐색 결과를 기초로 새로운 가상머신 사양을 구성하는 단계; 및
    상기 구성된 가상머신 사양을 이용하여 상기 가상머신 제공장치에 의해 새로운 가상머신이 생성되면, 상기 생성된 가상머신을 상기 가상머신 제공장치로부터 다운로드 받는 단계를 포함하는 전자장치의 가상머신 서비스 수신방법.
  16. 제 14 항에 있어서,
    상기 가상머신 제공장치로부터 수신되는 가상머신 리스트는, 사용 가능성, 비용, 시간 또는 안정성을 기준으로 상기 가상머신 제공장치로부터 추천받는 리스 트인 전자장치의 가상머신 서비스 수신방법.
  17. 제 14 항에 있어서, 상기 가상머신 서비스 제공 요청신호를 상기 가상머신 제공장치에 송신하는 단계는,
    상기 전자장치가 상기 전자장치에 포함된 가상머신을 사용하는 사용자의 사용 형태를 분석하고 상기 분석 결과에 따라 사용자가 원하는 가상머신 서비스를 상기 가상머신 제공장치에 요청하는 전자장치의 가상머신 서비스 수신방법.
  18. 제 14 항에 있어서,
    상기 가상머신 제공장치로부터 상기 가상머신의 메타정보를 수신하고 상기 수신된 메타정보를 기초로 다운로드 여부에 대해 사용자로부터 선택신호를 통해 선택된 가상머신을 상기 가상머신 제공장치에 요청하여 다운로드 받는 단계를 더 포함하는 전자장치의 가상머신 서비스 수신방법.
  19. 가상머신 서비스 제공 요청신호를 전자장치로부터 수신하는 단계;
    상기 수신된 요청신호에 따라 가상머신 리스트를 생성하여 상기 전자장치에 제공하는 단계; 및
    상기 제공된 가상머신 리스트에 대하여 상기 전자장치의 사용자에 의해 탐색되어 가상머신이 선택되면, 상기 선택된 가상머신을 상기 전자장치에 다운로드 제공하는 단계를 포함하는 가상머신 제공장치의 가상머신 서비스 제공방법.
  20. 제 19 항에 있어서, 상기 가상머신 리스트을 생성하여 상기 전자장치에 제공하는 단계는,
    상기 전자장치로부터 수신된 정보를 이용하여 사용자가 자주 사용하거나 사용 가능성이 있는 가상머신 리스트를 선정하고, 상기 선정된 가상머신 리스트를 비용, 시간 또는 안정성을 기준으로 상기 전자장치에게 추천하는 가상머신 제공장치의 가상머신 서비스 제공방법.
KR1020090007970A 2009-02-02 2009-02-02 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법 KR101571880B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090007970A KR101571880B1 (ko) 2009-02-02 2009-02-02 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법
US12/697,452 US8639814B2 (en) 2009-02-02 2010-02-01 Electronic apparatus, virtual machine providing apparatus, and method of using virtual machine service
EP10152268A EP2241973A3 (en) 2009-02-02 2010-02-01 Electronic apparatus, virtual machine providing apparatus, and method of using virtual machine service
CN201010104348.7A CN101826028B (zh) 2009-02-02 2010-02-02 电子设备、虚拟机提供设备和使用虚拟机服务的方法
JP2010021366A JP5572409B2 (ja) 2009-02-02 2010-02-02 電子装置と仮想マシン提供装置及びそれを利用した仮想マシンサービス利用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090007970A KR101571880B1 (ko) 2009-02-02 2009-02-02 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법

Publications (2)

Publication Number Publication Date
KR20100088846A true KR20100088846A (ko) 2010-08-11
KR101571880B1 KR101571880B1 (ko) 2015-11-25

Family

ID=42212193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090007970A KR101571880B1 (ko) 2009-02-02 2009-02-02 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법

Country Status (5)

Country Link
US (1) US8639814B2 (ko)
EP (1) EP2241973A3 (ko)
JP (1) JP5572409B2 (ko)
KR (1) KR101571880B1 (ko)
CN (1) CN101826028B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016003413A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, L.P. Full virtual machine functionality
KR102607457B1 (ko) * 2023-03-31 2023-11-29 오케스트로 주식회사 그룹핑 기반의 클라우드 자원 관리 방법 및 이를 구현하는 클라우드 관리 시스템

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116733B2 (en) * 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9148428B1 (en) 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US8799422B1 (en) * 2010-08-16 2014-08-05 Juniper Networks, Inc. In-service configuration upgrade using virtual machine instances
US20120054740A1 (en) * 2010-08-31 2012-03-01 Microsoft Corporation Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
US9921860B1 (en) 2011-05-25 2018-03-20 Bromium, Inc. Isolation of applications within a virtual machine
US8839245B1 (en) * 2012-06-18 2014-09-16 Bromium, Inc. Transferring files using a virtualized application
CN102289621A (zh) * 2011-08-12 2011-12-21 鲲鹏通讯(昆山)有限公司 一种基于分裂核心虚拟机的安全智能手机和控制方法
US9886312B2 (en) 2011-09-28 2018-02-06 Microsoft Technology Licensing, Llc Dynamic provisioning of virtual video memory based on virtual video controller configuration
US9055067B1 (en) * 2012-03-26 2015-06-09 Amazon Technologies, Inc. Flexible-location reservations and pricing for network-accessible resource capacity
US9619805B1 (en) * 2012-03-27 2017-04-11 Amazon Technologies, Inc. Predictive fact generation for query optimization
US11023088B2 (en) 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US9201850B1 (en) 2012-06-18 2015-12-01 Bromium, Inc. Composing the display of a virtualized web browser
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9734131B1 (en) 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
CN103593224A (zh) * 2012-08-13 2014-02-19 鸿富锦精密工业(深圳)有限公司 虚拟机资源配置系统及方法
US8418230B1 (en) * 2012-08-28 2013-04-09 Netcomm Wireless Limited Apparatus and method for mobile communications and computing
TW201416980A (zh) * 2012-10-30 2014-05-01 Hon Hai Prec Ind Co Ltd 虛擬機分享系統及方法
US20150052614A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation Virtual machine trust isolation in a cloud environment
US9117081B2 (en) 2013-12-20 2015-08-25 Bitdefender IPR Management Ltd. Strongly isolated malware scanning using secure virtual containers
US9195401B2 (en) 2014-02-18 2015-11-24 University Of Florida Research Foundation, Inc. Method and apparatus for virtual machine live storage migration in heterogeneous storage environment
CN104657225B (zh) * 2015-01-13 2018-01-05 北京航空航天大学 基于OKL4的嵌入式虚拟化平台跨Cell数据传输系统
US10291648B2 (en) 2015-12-22 2019-05-14 At&T Intellectual Property I, L.P. System for distributing virtual entity behavior profiling in cloud deployments
US10387181B2 (en) * 2016-01-12 2019-08-20 International Business Machines Corporation Pre-deployment of particular virtual machines based on performance and due to service popularity and resource cost scores in a cloud environment
KR101983822B1 (ko) * 2017-04-11 2019-05-31 (주) 올인원테크 성능 고시를 통한 상품을 중개하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
CN111684445B (zh) * 2018-02-07 2024-04-26 索尼公司 信息处理装置,信息处理方法和程序
CN109189310B (zh) * 2018-07-27 2020-10-27 维沃移动通信有限公司 一种解锁方法及终端设备
CN111124595B (zh) * 2018-11-01 2023-03-21 阿里巴巴集团控股有限公司 一种提供云计算服务的方法及系统
US11385920B2 (en) * 2019-03-28 2022-07-12 Amazon Technologies, Inc. Compute platform optimization over the life of a workload in a distributed computing environment
DE102019216462A1 (de) * 2019-10-25 2021-04-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben einer Recheneinrichtung

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US7120140B1 (en) 1999-02-26 2006-10-10 Intel Corporation Digital browser phone
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US7318141B2 (en) * 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US20050132362A1 (en) 2003-12-10 2005-06-16 Knauerhase Robert C. Virtual machine management using activity information
US20060090136A1 (en) * 2004-10-01 2006-04-27 Microsoft Corporation Methods and apparatus for implementing a virtualized computer system
US9329905B2 (en) * 2004-10-15 2016-05-03 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
US7380049B2 (en) 2005-09-06 2008-05-27 Intel Corporation Memory protection within a virtual partition
US20070110244A1 (en) * 2005-11-16 2007-05-17 Kapil Sood Method, apparatus and system for enabling a secure wireless platform
TW200723020A (en) 2005-12-02 2007-06-16 Clevo Co Ltd Laptop computer with mobile communication function and its operation method
CN101473333B (zh) * 2006-06-21 2011-09-07 威步系统股份公司 入侵检测的方法和系统
US8769528B2 (en) 2006-07-14 2014-07-01 Moka5, Inc. Fixed-function consumer-electronics device providing general-computing functions with virtual machines
US8687037B2 (en) 2006-09-12 2014-04-01 Savant Systems, Llc Telephony services for programmable multimedia controller
US8015408B2 (en) 2006-09-14 2011-09-06 Interdigital Technology Corporation Trust evaluation for a mobile software agent on a trusted computing platform
US8336046B2 (en) 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
DE202007001719U1 (de) * 2007-02-06 2007-05-10 Raytek Gmbh Temperaturmessvorrichtung
US8984265B2 (en) * 2007-03-30 2015-03-17 Intel Corporation Server active management technology (AMT) assisted secure boot
JP5178040B2 (ja) * 2007-04-23 2013-04-10 株式会社タイトー 携帯端末における自動ユーザ嗜好収集システムおよび該システムに用いるサーバ装置
JP4987555B2 (ja) * 2007-04-27 2012-07-25 株式会社東芝 情報処理装置、および情報処理システム
US7992209B1 (en) * 2007-07-19 2011-08-02 Owl Computing Technologies, Inc. Bilateral communication using multiple one-way data links
US8621551B2 (en) * 2008-04-18 2013-12-31 Samsung Electronics Company, Ltd. Safety and management of computing environments that may support unsafe components
US8650565B2 (en) * 2009-12-14 2014-02-11 Citrix Systems, Inc. Servicing interrupts generated responsive to actuation of hardware, via dynamic incorporation of ACPI functionality into virtual firmware
US8332517B2 (en) * 2010-03-31 2012-12-11 Incnetworks, Inc. Method, computer program, and algorithm for computing network service value pricing based on communication service experiences delivered to consumers and merchants over a smart multi-services (SMS) communication network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016003413A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, L.P. Full virtual machine functionality
US10223148B2 (en) 2014-06-30 2019-03-05 Hewlett-Packard Development Company, L.P. Full virtual machine functionality
KR102607457B1 (ko) * 2023-03-31 2023-11-29 오케스트로 주식회사 그룹핑 기반의 클라우드 자원 관리 방법 및 이를 구현하는 클라우드 관리 시스템

Also Published As

Publication number Publication date
KR101571880B1 (ko) 2015-11-25
CN101826028A (zh) 2010-09-08
US8639814B2 (en) 2014-01-28
US20100198973A1 (en) 2010-08-05
JP5572409B2 (ja) 2014-08-13
CN101826028B (zh) 2015-08-19
EP2241973A2 (en) 2010-10-20
JP2010176677A (ja) 2010-08-12
EP2241973A3 (en) 2011-03-23

Similar Documents

Publication Publication Date Title
KR101571880B1 (ko) 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법
US9596268B2 (en) Security enforcement in virtualized systems
EP2979416B1 (en) Data management for an application with multiple operation modes
US20180336351A1 (en) Isolated Container Event Monitoring
KR101540798B1 (ko) 가상화 환경에서 보안 정보를 제공하기 위한 장치 및 방법
US8955056B2 (en) Terminal and method for assigning permission to application
US20170003938A1 (en) Virtualization Layer for Mobile Applications
US11509545B2 (en) Systems and methods for utilizing network hints to configure the operation of modern workspaces
CN110390184B (zh) 用于在云中执行应用的方法、装置和计算机程序产品
US20210405839A1 (en) Using Pressure Sensor Data in a Remote Access Environment
US20220043662A1 (en) Application Publishing In A Virtualized Environment
KR101337208B1 (ko) 휴대 단말의 어플리케이션 데이터 관리 방법 및 그 장치
KR20150019402A (ko) 보안 확인을 위한 전자 장치 및 방법
US20140189170A1 (en) Information processing apparatus, setting information management method and recording medium
US9354849B2 (en) Modification of compiled applications and application management using retrievable policies
KR20170102635A (ko) 어플리케이션 사용패턴을 고려한 프라이버시 보호 방법 및 장치
JP6065791B2 (ja) 制御プログラム及び情報処理端末
US10158531B2 (en) Leveraging and extending mobile operating system MDM protocol
CA3183412A1 (en) Methods and systems for managing computing virtual machine instances
US20150207661A1 (en) System and method for providing priority based access to resources for applications
JP2014229056A (ja) 電子機器、制御方法およびプログラム
US20160117164A1 (en) System and method for customizing mobile technology platforms respective of personas
KR101182464B1 (ko) 서비스 제공자에 의한 사용자용 가상머신 관리 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee