KR101326908B1 - 가상 환경 관리 방법 및 이를 이용한 단말 장치 - Google Patents

가상 환경 관리 방법 및 이를 이용한 단말 장치 Download PDF

Info

Publication number
KR101326908B1
KR101326908B1 KR1020110134143A KR20110134143A KR101326908B1 KR 101326908 B1 KR101326908 B1 KR 101326908B1 KR 1020110134143 A KR1020110134143 A KR 1020110134143A KR 20110134143 A KR20110134143 A KR 20110134143A KR 101326908 B1 KR101326908 B1 KR 101326908B1
Authority
KR
South Korea
Prior art keywords
virtual
virtual machine
state
context information
environment
Prior art date
Application number
KR1020110134143A
Other languages
English (en)
Other versions
KR20130067526A (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 KR1020110134143A priority Critical patent/KR101326908B1/ko
Publication of KR20130067526A publication Critical patent/KR20130067526A/ko
Application granted granted Critical
Publication of KR101326908B1 publication Critical patent/KR101326908B1/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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • 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/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

가상 환경 관리 방법 및 이를 이용한 단말 장치가 개시된다. 가상 단말은 상황 정보를 수신하고, 상기 수신한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하는 상황 정보로 판단되는 경우 상기 수신한 상황 정보를 하이퍼바이저로 제공하는 적어도 하나의 가상 머신 및 상기 수신한 상황 정보에 상응하는 가상 환경을 결정하고, 상기 결정한 가상 환경으로 상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하는 하이퍼바이저를 포함한다. 따라서, 가상화를 통해 가상의 스마트폰을 별도로 구동할 수 있으며, 스마트폰내의 서로 다른 가상 머신에서 응용 프로그램을 각각 구동할 수 있다.

Description

가상 환경 관리 방법 및 이를 이용한 단말 장치{METHOD OF CHANGING OPERATION ENVIRONMENT AND APPARATUS FOR THE SAME}
본 발명은 가상 환경 관리에 관한 것으로, 더욱 상세하게는 상황 정보에 기초하여 가상 환경을 관리하는 가상 환경 관리 방법 및 이를 이용한 단말 장치에 관한 것이다.
프로세서 기술이 발전함에 따라 가상화 기술(virtualization technology)에 대한 관심이 꾸준히 증가하고 있다. 가상화 기술은 하나의 물리적인 디바이스에서 다수의 운영체제를 독립적으로 운용할 수 있도록 해주는 기술을 말한다.
이러한 가상화 기술에서는 물리적인 디바이스가 어플리케이션의 명령어 코드를 직접 실행하는 것이 아니라, 물리적인 디바이스에서 구현된 적어도 하나의 가상 머신(virtual machine)이 명령어 코드를 해석하여 어플리케이션을 실행하는 것이다.
이러한 가상화 기술에 따라 물리적인 디바이스의 호스트 운영체제 상에 가상화 계층(Virtualization Layer)이 형성되고, 가상화 계층 상에 복수의 논리적인 가상 머신이 생성된다.
복수의 가상 머신에는 각각 게스트 운영체제(guest OS)가 설치될 수 있으며, 각각의 게스트 운영체제상에는 해당 운영체제에서 지원되는 응용 프로그램이 설치될 수 있다. 이에 따라, 복수의 가상 머신은 자신의 운영체제 또는 소프트웨어 어플리케이션을 실행하는 일체 완비된(Self-contained) 플랫폼으로서 기능할 수 있다.
이렇게 가상화 기술이 이용될 때에는 복수의 가상 머신을 관리할 수 있는 가상 머신 매니저가 제공되어, 가상 머신 매니저에서는 가상화된 하드웨어 자원을 관리하고, 가상 머신을 생성, 삭제, 시작 및 재시작 등의 다양하게 가상 머신을 관리할 수 있다.
더욱이, 이러한 가상화 기술에서 모든 가상 머신은 하드웨어 자원의 가상화하여 사용할 수 있을 뿐만 아니라, 각 가상 머신 간에 고립성(Isolation)이 제공된다. 이는 가상화 기술 중에서도 가장 주목을 받는 특징 중에 하나로 하나의 하드웨어 자원을 가상화 하여 사용 중인 여러 가상 머신 중에서 하나의 가상 머신에 문제가 발생된 경우, 다른 가상 머신에게 전혀 영향을 주지 않아 보다 높은 안정성을 제공할 수 있기 때문이다.
또한, 하나의 가상 머신이 외부에서 침입을 받거나 공격을 당하는 경우에도 가상 머신은 각각이 완전히 분리되어 있기 때문에 해당 가상 머신만 공격을 받을 뿐 동일한 하드웨어의 다른 가상 머신에는 전혀 영향이 미치지 않는다.
특히, 메모리의 가상화 및 고립성은 지원에 의해서 이루어지는데, 오류 혹은 외부의 침입에 의해 어떤 시스템이 완전히 망가지거나 점유를 당하더라도 문제가 되는 메모리의 자원은 이미 다른 가상 머신의 자원과는 완전히 분리가 되어 있기 때문에 그 문제가 다른 가상 머신으로는 확산이 이루어지지 않기 때문이다.
한편, 최근 들어 이동통신 단말기의 기능 및 PDA의 기능을 결합시킨 스마트폰이 각광받고 있는 추세이며, 이러한 스마트폰에는 기존 이동통신 단말기에 비해 대용량의 메모리와 고성능 CPU가 탑재되어, 다양한 어플리케이션 실행, 음성/데이터 통신 및 PC연동 등을 지원하기 위한 운영체제, 예를 들어 애플의 iOS, 구굴의 안드로이드 등이 탑재된다.
이로 인해, 스마트폰은 인터넷 검색, 이메일, 게임, 전자상거래 등 기존 컴퓨터와 같은 일을 수행할 수 있게 되었다. 예를 들어, 회사에서는 업무용 애플리케이션을 제작하여 사용자에게 제공하고, 사용자는 스마트폰을 통해 애플리케이션을 다운받아 설치한 후, 설치한 애플리케이션을 실행하여 업무를 처리할 수 있게 되었다.
가상화 기술이 스마트폰에 적용된 경우, 스마트폰에는 적어도 하나의 가상 머신이 존재할 수 있다. 이에 따라, 스마트폰에는 적어도 하나의 가상 머신이 존재할 수 있으며, 적어도 하나의 가상 머신에는 애플리케이션이 설치될 수 있다.
스마트폰에 적어도 하나의 가상 머신이 존재할 수 있을 경우, 사용자는 적어도 하나의 가상 머신에 서로 다른 애플리케이션을 각각 설치하고, 필요에 따라 가상 머신을 스위칭하여 가상 머신에 설치된 애플리케이션을 실행할 수 있다.
예를 들어, 사용자는 적어도 하나의 가상 머신을 업무용 가상 머신과 일반용 가상 머신으로 사용하기 위해서, 업무용 가상 머신에는 회사 업무를 위한 애플리케이션을 설치하고, 일반용 가상 머신에는 사용자가 선호하는 애플리케이션을 설치하고, 필요에 따라 가상 머신을 스위칭하여 가상 머신에 설치된 애플리케이션을 실행할 수 있다.
하지만, 사용자가 스마트폰에 존재하는 적어도 하나의 가상 머신을 스위칭하기 위해서는 실행중인 가상 머신의 상태를 정지 상태 또는 종료 상태로 변경하고, 스위칭 대상 가상 머신의 상태를 실행 상태로 변경해야만 한다는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 상황 정보에 기초하여 가상 환경을 관리하는 가상 환경 관리 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 상황 정보에 기초하여 가상 환경을 관리하는 가상 환경 관리 장치가 제공되는 단말 장치를 제공하는 데 있다.
상기한 본 발명의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 단말 장치는, 상황 정보를 수신하고, 상기 수신한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하는 상황 정보로 판단하는 경우 상기 수신한 상황 정보를 하이퍼바이저로 제공하는 적어도 하나의 가상 머신 및 상기 수신한 상황 정보에 상응하는 가상 환경을 결정하고, 상기 결정한 가상 환경으로 상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하는 하이퍼바이저를 포함한다.
여기서, 상기 하이퍼바이저는 상기 적어도 하나의 가상 머신이 갖는 각각의 상태를 실행 상태, 정지 상태 또는 종료 상태 중 어느 하나의 상태로 관리할 수 있다.
여기서, 상기 하이퍼바이저는 상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하기 위해서, 상기 적어도 하나의 가상 머신 중 적어도 일부의 가상 머신의 상태를 정지 상태 또는 종료 상태로 변경시키고, 적어도 일부의 가상 머신을 새롭게 실행할 수 있다.
여기서, 상기 하이퍼바이저는 상기 적어도 하나의 가상 단말의 가상 환경에 대한 변경을 유발하는 미리 정의된 상황 정보 및 상기 상황 정보에 상응하는 가상 환경을 대응시켜 저장한 미리 정의된 가상 환경 변경 규칙에 따라 상황 정보에 상응하는 가상 환경을 결정할 수 있다.
여기서, 상기 적어도 하나의 가상 머신은 동일한 운영 체제 또는 서로 다른 운영 체제를 가상으로 표현한 머신일 수 있다.
상기한 본 발명의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 가상 환경 관리 방법은, 상황 정보를 수신하고, 상기 수신한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하는 상황 정보인지 판단하는 단계 및 상기 판단 결과에 따라 상기 상황 정보에 상응하는 가상 환경을 결정하고, 상기 결정한 가상 환경으로 상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하는 단계를 포함한다.
여기서, 상기 구동 환경을 변경하는 단계는 상기 적어도 하나의 가상 머신이 갖는 각각의 상태를 실행 상태, 정지 상태 또는 종료 상태 중 어느 하나의 상태로 관리할 수 있다.
여기서, 상기 구동 환경을 변경하는 단계는 상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하기 위해서, 상기 적어도 하나의 가상 머신 중 적어도 일부의 가상 머신의 상태를 정지 상태 또는 종료 상태로 변경시키고, 적어도 일부의 가상 머신을 새롭게 실행할 수 있다.
여기서, 상기 구동 환경을 변경하는 단계는 상기 적어도 하나의 가상 단말의 가상 환경에 대한 변경을 유발하는 미리 정의된 상황 정보 및 상기 상황 정보에 상응하는 가상 환경을 대응시켜 저장한 미리 정의된 가상 환경 변경 규칙에 따라 상황 정보에 상응하는 관리 환경을 결정할 수 있다.
여기서, 상기 적어도 하나의 가상 머신은 동일한 운영 체제 또는 서로 다른 운영 체제를 가상으로 표현한 머신일 수 있다.
상기와 같은 본 발명에 따른 가상 환경 관리 방법 및 이를 이용한 단말 장치를 이용할 경우에는 가상화를 통해 가상의 스마트폰을 별도로 구동할 수 있으며, 스마트폰내의 서로 다른 가상 머신에서 응용 프로그램을 각각 구동할 수 있다.
또한, 본 발명은 스마트폰내의 서로 다른 가상 머신에서 응용 프로그램이 각각 구동되기 때문에, 특정 가상 머신이 외부에서 침입을 받거나 공격을 당하는 경우에도 해당 가상 머신만 공격을 받을 뿐 동일한 하드웨어의 다른 가상 머신에는 전혀 영향이 미치지 않을 수 있다.
또한, 본 발명은 상황 정보에 기초하여 상황 정보에 상응하는 가상 환경으로 가상 머신에의해 제공하는 구동 환경을 변경하기 때문에 사용자의 편의성을 극대화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 단말 장치의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 단말 장치의 하이퍼바이저의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 가상 환경 관리 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 가상 환경 관리 과정의 예를 설명하기 위한 블럭도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 단말 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 단말 장치는 적어도 하나의 가상 머신(100_1, 100_2) 및 하이퍼바이저(200)를 포함하여 구성할 수 있으며, 하이퍼바이저(200)는 적어도 하나의 가상 머신(100_1, 100_2) 중 어느 하나의 가상 머신으로부터 상황 정보를 수신하여 상황 정보에 상응하는 가상 환경을 결정하고, 결정한 가상 환경으로 다른 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경할 수 있다.
여기서, 적어도 하나의 가상 머신(100_1, 100_2)은 응용 프로그램을 실행시키는 모듈뿐만 아니라 무선으로 응용 프로그램을 다운로드 받을 수 있도록 해주며, 더 나아가 응용 프로그램의 수정을 가능하게 하는 동일한 운영체제 또는 서로 다른 운영체제를 가상화하여 생성된 가상 머신일 수 있으며, 운영체제는 예를 들어 리눅스(Linux), 윈도우(Window) 등을 포함할 수 있다.
여기서, 적어도 하나의 가상 머신(100_1, 100_2)은 상황 정보를 센싱하는 센서를 포함할 수 있으며, 센싱한 상황 정보를 하이퍼바이저(200)로 제공하는 상황 정보 전송부(미도시)를 포함할 수 있으며, 상황 정보 전송부는 애플리케이션 등이 될 수 있다.
여기서, 하이퍼바이저(200)는 가상화 계층 상에 적어도 하나의 가상 머신(100_1, 100_2)을 생성하고, 물리적인 자원들이 각각의 가상 머신(100_1, 100_2)이라는 독립적인 동시에 개인화된 환경에서 동작할 수 있도록 한다.
여기서, 적어도 하나의 가상 머신(100_1, 100_2)을 동작할 수 있게 하는 장치로 가상 플랫폼 혹은 가상 머신 모니터라고 불리며, Xen, KVM(Keyboard Video Mouse) 등이 될 수 있다.
적어도 하나의 가상 머신(100_1, 100_2)은 정보를 센싱하고, 센싱한 상황 정보가 미리 정의된 가상 환경 변경에 해당하는 상황 정보인지 판단하고, 판단 결과에 따라 상황 정보를 하이퍼바이저(200)로 제공할 수 있다.
예를 들어, 적어도 하나의 가상 머신(100_1, 100_2) 중 제 1 가상 머신(100_1)이 정지 상태 또는 종료 상태이고, 제 2 가상 머신(100_2)이 실행 상태일 경우, 제 2 가상 머신(100_2)은 상황 정보를 센싱하고, 센싱한 상황 정보가 미리 정의된 가상 환경 변경에 해당하는 상황 정보인지 판단하고, 판단 결과에 따라 상황 정보를 하이퍼바이저(200)로 제공할 수 있다.
하이퍼바이저(200)는 적어도 하나의 가상 머신(100_1, 100_2) 중 어느 하나의 가상 머신으로부터 상황 정보를 제공받고, 제공받은 상황 정보에 상응하는 가상 환경을 결정하고, 결정한 가상 환경으로 적어도 하나의 가상 머신(100_1, 100_2)에 의해서 제공되는 구동 환경을 변경할 수 있다.
하이퍼바이저(200)는 적어도 하나의 가상 머신(100_1, 100_2)에 의해서 제공되는 구동 환경을 변경하기 위해서, 적어도 하나의 가상 머신(100_1, 100_2) 중 어느 하나의 상태를 정지 상태 또는 종료 상태로 변경시키고, 다른 하나의 가상 머신의 상태를 실행 상태로 변경할 수 있다.
예를 들어, 하이퍼바이저(200)는 적어도 하나의 가상 머신(100_1, 100_2)에 의해서 제공되는 구동 환경을 변경하기 위해서, 적어도 하나의 가상 머신(100_1, 100_2) 중 제 1 가상 머신(100_1)의 상태를 정지 상태 또는 종료 상태로 변경시키고, 제 2 가상 머신(100_2)의 상태를 실행 상태로 변경할 수 있다.
여기서, 하이퍼바이저(200)는 적어도 하나의 가상 머신(100_1, 100_2)에 의해서 제공되는 구동 환경을 변경하기 위해서, 체크포인팅(checkpoint) 방식으로 제 1 가상 머신(100_1)의 상태를 하드디스크에 저장하거나 메모리에 그대로 상주시킨 채 실행을 차단하고, 제 2 가상 머신(100_2)의 상태를 실행 상태로 변경할 수 있다.
여기서, 하이퍼바이저(200)는 적어도 하나의 가상 머신(100_1, 100_2)에 의해서 제공되는 구동 환경을 변경하기 위해서, 제 1 가상 머신(100_1)의 상태를 종료 상태로 변경시키고, 메모리에 상주된 제 2 가상 머신(100_1)을 실행하여 제 2 가상 머신(100_1)의 상태를 실행 상태로 변경할 수 있다.
도 2는 본 발명의 일 실시예에 따른 단말 장치의 하이퍼바이저의 구성을 나타내는 블록도이다.
도 2를 참조하면, 하이퍼바이저(200)는 상황 정보 수신부(210), 가상 환경 결정부(220) 및 가상 환경 변경부(230)를 포함하여 구성될 수 있다.
상황 정보 수신부(210)는 적어도 하나의 가상 머신(100_1, 100_2) 중 어느 하나의 가상 머신으로부터 가상 환경에 대한 변경을 유발하는 상황 정보를 수신하고, 수신한 상황 정보를 가상 환경 결정부(220)로 제공할 수 있다.
가상 환경 결정부(220)는 상황 정보 수신부(210)로부터 상황 정보를 수신하고, 수신한 상황 정보에 상응하는 가상 환경을 결정할 수 있다.
예를 들어, 가상 환경 결정부(220)는 적어도 하나의 가상 머신(100_1, 100_2)에 의해서 제공되는 구동 환경의 변경을 유발하는 미리 정의된 상황 정보 및 상황 정보에 상응하는 가상 환경을 대응시켜 저장한 미리 정의된 가상 환경 변경 규칙에 따라 상황 정보에 상응하는 가상 환경을 결정할 수 있다.
가상 환경 변경부(230)는 적어도 하나의 가상 머신(100_1, 100_2)에 의해서 제공되는 구동 환경을 변경하기 위해서, 적어도 하나의 가상 머신(100_1, 100_2) 중 어느 하나의 가상 머신의 상태를 정지 상태 또는 종료 상태로 변경하고, 다른 하나의 가상 머신의 상태를 새롭게 실행할 수 있다.
예를 들어, 제 1 가상 머신(100_1)이 상황 정보를 하이버파이저(200)로 제공하고, 하이퍼바이저(200)가 상황 정보에 상응하는 가상 환경으로 제 2 가상 머신(100_2)에 의해서 제공되는 구동 환경을 변경하려고 하는 경우, 가상 환경 변경부(230)는 적어도 하나의 가상 머신(100_1, 100_2) 중 제 1 가상 머신(100_1)의 상태를 정지 상태 또는 종료 상태 중 어느 하나의 상태로 변경하고, 제 2 가상 머신(100_2)의 상태를 실행 상태로 변경할 수 있다.
도 3은 본 발명의 일 실시예에 따른 가상 환경 관리 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 단말 장치는 상황 정보를 센싱한다(S310). 단말 장치는 센싱한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하는 상황 정보인지 판단한다(S320).
만약, 단말 장치는 센싱한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하는 상황 정보로 판단되면(S320), 상황 정보에 상응하는 가상 환경이 존재하는지 판단한다(S330).
한편, 단말 장치는 센싱한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하지 않는 상황 정보로 판단되면(S320), 가상 환경에 대한 변경을 유발하는 상황 정보를 계속하여 센싱하도록 한다(S310).
단말 장치는 상황 정보에 상응하는 가상 환경이 존재한다고 판단되면(S330), 가상 머신에 의해서 제공되는 구동 환경을 상황 정보에 상응하는 가상 환경으로 변경한다(S340).
한편, 단말 장치는 상황 정보에 상응하는 가상 환경이 존재하지 않는다고 판단되면(S330), 가상 환경에 대한 변경을 유발하는 상황 정보를 계속하여 센싱하도록 한다(S310).
도 4는 본 발명의 일 실시예에 따른 가상 환경 관리 과정의 예를 설명하기 위한 블럭도이다.
도 4를 참조하면, 단말 장치는 적어도 하나의 가상 머신(400_1, 400_2) 및 하이퍼바이저(200)를 포함하여 구성될 수 있다. 여기서, 도 4의 일 실시예에서는 적어도 하나의 가상 머신(400_1, 400_2) 중 하나의 가상 머신을 일반용 머신(400_1)으로 다른 하나의 가상 머신을 업무용 머신(400_2)으로 사용하는 경우에 가상 환경 관리 하는 과정을 설명하기로 한다.
여기서, 일반용 머신(400_1)은 모든 인터넷 접근이 가능하도록 설정되어 있고, 일반용 머신(400_1) 상에서 실행 가능한 프로그램은 일반적으로 사용 가능한 프로그램, 예를 들어 인터넷 익스플로러, 메신저 프로그램 등이 될 수 있다.
여기서, 업무용 머신(400_2)는 인터넷 접근이 불가능하도록 설정되어 있고, 업무용 머신(400_2)상에서 실행 가능한 프로그램은 업무적으로 필요한 프로그램, 예를 들어 업무용 전산 관리 시스템 등이 될 수 있다.
적어도 하나의 가상 머신(400_1, 400_2) 중 어느 하나의 가상 머신은 상황 정보를 센싱할 수 있다.
예를 들어, 적어도 하나의 가상 머신(100_1, 100_2) 중 일반용 머신(400_1)의 상태가 실행 상태이고, 업무용 머신(400_2)의 상태가 종료 상태 또는 정지 상태일 경우, 일반용 머신(400_1)은 상황 정보를 "오전 9시"로 센싱할 수 있다.
적어도 하나의 가상 머신(400_1, 400_2) 중 어느 하나의 가상 머신은 센싱한 상황 정보가 미리 정의된 가상 머신 변경에 해당하는 상황 정보인지 판단하고, 판단 결과에 따라 상황 정보를 하이퍼바이저(200)로 제공할 수 있다.
예를 들어, 적어도 하나의 가상 머신(400_1, 400_2) 중 어느 하나의 가상 머신은 센싱한 상황 정보인“오전 9시”가 미리 정의된 상황 정보로 판단한 경우, 센싱한 상황 정보인“오전 9시”를 하이퍼바이저(200)로 제공할 수 있다. 여기서, 적어도 하나의 가상 머신(400_1, 400_2) 중 어느 하나의 가상 머신이 센싱한 상황 정보는 현재 시간뿐만 아니라, 현재 위치 및 네트워크 접속 여부 등이 될 수 있다.
하이퍼바이저(200)는 적어도 하나의 가상 머신(400_1, 400_2) 중 어느 하나의 가상 머신으로부터 상황 정보를 제공받고, 제공받은 상황 정보에 상응하는 가상 환경을 결정할 수 있다.
예를 들어, 하이퍼바이저(200)는 일반용 머신(400_1)으로부터 센싱한 상황 정보인 “오전 9시”를 제공받고, 제공받은 “오전 9시”에 상응하는 가상 환경을 “업무 시작”으로 결정할 수 있다.
또한, 하이퍼바이저(200)는 제공받은 상황 정보를 기초로 하여 결정한 가상 환경으로 적어도 하나의 가상 머신(400_1, 400_2)에 의해서 제공되는 구동 환경을 변경할 수 있다. 이를 위해, 하이퍼바이저(200)는 적어도 하나의 가상 머신 중 적어도 일부의 가상 머신의 상태를 종료 상태 또는 정지 상태로 변경시키고, 적어도 일부의 가상 머신의 상태를 실행 상태로 변경하여 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경할 수 있다.
예를 들어, 하이퍼바이저(200)는 일반용 머신(400_1)으로부터 제공받은 상황 정보를 기초로하여 결정한 가상 환경인 “업무 시작”으로 적어도 하나의 가상 머신(400_1, 400_2)에 의해서 제공되는 구동 환경을 변경하기 위해서, 일반용 머신(400_1)의 상태를 종료 상태 또는 정지 상태로 변경하고, 업무용 머신(400_2)의 상태를 실행 상태로 변경하여 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100_1: 제 1 가상 머신 100_2: 제 2 가상 머신
200: 하이퍼바이저 210: 상황 정보 수신부
220: 가상 환경 결정부 230: 가상 환경 변경부
400_1: 일반용 머신 400_2: 업무용 머신

Claims (10)

  1. 적어도 하나의 가상 머신과 상기 적어도 하나의 가상 머신을 관리하는 하이퍼바이저로 구성된 단말 장치에 있어서,
    상황 정보를 수신하고, 상기 수신한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하는 상황 정보로 판단되는 경우 상기 수신한 상황 정보를 하이퍼바이저로 제공하는 적어도 하나의 가상 머신; 및
    상기 수신한 상황 정보에 상응하는 가상 환경을 결정하고, 상기 결정한 가상 환경으로 상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하는 하이퍼바이저를 포함하는 단말 장치.
  2. 제 1 항에 있어서, 상기 하이퍼바이저는,
    상기 적어도 하나의 가상 머신이 갖는 각각의 상태를 실행 상태, 정지 상태 및 종료 상태 중 어느 하나의 상태로 변경하는 것을 특징으로 하는 단말 장치.
  3. 제 2 항에 있어서,
    상기 하이퍼바이저는, 상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하기 위해서, 상기 적어도 하나의 가상 머신 중 적어도 일부의 가상 머신의 상태를 종료 상태 또는 정지 상태로 변경시키고, 적어도 일부의 가상 머신의 상태를 실행 상태로 변경하는 것을 특징으로 단말 장치.
  4. 제 1 항에 있어서, 상기 하이퍼바이저는,
    상기 적어도 하나의 가상 머신의 가상 환경에 대한 변경을 유발하는 미리 정의된 상황 정보 및 상기 상황 정보에 상응하는 가상 환경을 대응시켜 저장한 미리 정의된 가상 환경 변경 규칙에 따라 상황 정보에 상응하는 가상 환경을 결정하는 것을 특징으로 하는 단말 장치.
  5. 제 1 항에 있어서, 상기 적어도 하나의 가상 머신은,
    동일한 운영 체제 또는 서로 다른 운영 체제를 가상으로 표현한 머신인 것을 특징으로 하는 단말 장치.
  6. 단말 장치에서 동작하는 가상 환경 관리 방법에 있어서,
    상황 정보를 수신하고, 상기 수신한 상황 정보가 미리 정의된 가상 환경에 대한 변경을 유발하는 상황 정보인지 판단하는 단계; 및
    상기 판단 결과에 따라 상기 상황 정보에 상응하는 가상 환경을 결정하고, 상기 결정한 가상 환경으로 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하는 단계를 포함하는 가상 환경 관리 방법.
  7. 제 6 항에 있어서, 상기 구동 환경을 변경하는 단계는,
    상기 적어도 하나의 가상 머신이 갖는 각각의 상태를 실행 상태, 정지 상태 및 종료 상태 중 어느 하나의 상태로 변경하는 것을 특징으로 하는 가상 환경 관리 방법.
  8. 제 6 항에 있어서, 상기 구동 환경을 변경하는 단계는,
    상기 적어도 하나의 가상 머신에 의해서 제공되는 구동 환경을 변경하기 위해서, 상기 적어도 하나의 가상 머신 중 적어도 일부의 가상 머신의 상태를 종료 상태 또는 정지 상태로 변경시키고, 적어도 일부의 가상 머신의 상태를 실행 상태로 변경하는 것을 특징으로 가상 환경 관리 방법.
  9. 제 6 항에 있어서, 상기 구동 환경을 변경하는 단계는,
    상기 적어도 하나의 가상 머신의 가상 환경에 대한 변경을 유발하는 미리 정의된 상황 정보 및 상기 상황 정보에 상응하는 가상 환경을 대응시켜 저장한 미리 정의된 가상 환경 변경 규칙에 따라 상황 정보에 상응하는 관리 환경을 결정하는 것을 특징으로 하는 가상 환경 관리 방법.
  10. 제 6 항에 있어서, 상기 적어도 하나의 가상 머신은,
    동일한 운영 체제 또는 서로 다른 운영 체제를 가상으로 표현한 머신인 것을 특징으로 하는 가상 환경 관리 방법.
KR1020110134143A 2011-12-14 2011-12-14 가상 환경 관리 방법 및 이를 이용한 단말 장치 KR101326908B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110134143A KR101326908B1 (ko) 2011-12-14 2011-12-14 가상 환경 관리 방법 및 이를 이용한 단말 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110134143A KR101326908B1 (ko) 2011-12-14 2011-12-14 가상 환경 관리 방법 및 이를 이용한 단말 장치

Publications (2)

Publication Number Publication Date
KR20130067526A KR20130067526A (ko) 2013-06-25
KR101326908B1 true KR101326908B1 (ko) 2013-11-11

Family

ID=48863333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110134143A KR101326908B1 (ko) 2011-12-14 2011-12-14 가상 환경 관리 방법 및 이를 이용한 단말 장치

Country Status (1)

Country Link
KR (1) KR101326908B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017005143A1 (en) * 2015-07-03 2017-01-12 Huawei Technologies Co., Ltd. Method and apparatus for managing virtual execution environments using contextual information fragments
US9866890B2 (en) 2015-11-10 2018-01-09 Hyundai Motor Company Method and apparatus for providing linking service between vehicle AVN system and smartphone based on virtualization framework

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102274400B1 (ko) * 2014-11-24 2021-07-08 현대엠엔소프트 주식회사 외부 기기로의 데이터 전송 방법 및 그 장치
KR102069096B1 (ko) * 2018-04-17 2020-01-22 (주)블루커뮤니케이션 피지컬 디바이스의 직접적 원격 제어 장치
KR102407757B1 (ko) * 2019-09-18 2022-06-10 주식회사 케이티 가상 모바일 시스템 및 가상 모바일 서비스 제공 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110055391A (ko) * 2009-11-17 2011-05-25 인터내셔널 비지네스 머신즈 코포레이션 하이퍼바이저 파일 시스템
KR20110121206A (ko) * 2010-04-30 2011-11-07 주식회사 넥스알 가상머신의 동적 재배치가 가능한 자율적 서버를 이용한 자율적 서버 전원 관리방법
KR20110123828A (ko) * 2010-05-10 2011-11-16 삼성에스디에스 주식회사 서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110055391A (ko) * 2009-11-17 2011-05-25 인터내셔널 비지네스 머신즈 코포레이션 하이퍼바이저 파일 시스템
KR20110121206A (ko) * 2010-04-30 2011-11-07 주식회사 넥스알 가상머신의 동적 재배치가 가능한 자율적 서버를 이용한 자율적 서버 전원 관리방법
KR20110123828A (ko) * 2010-05-10 2011-11-16 삼성에스디에스 주식회사 서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017005143A1 (en) * 2015-07-03 2017-01-12 Huawei Technologies Co., Ltd. Method and apparatus for managing virtual execution environments using contextual information fragments
US20170371700A1 (en) * 2015-07-03 2017-12-28 Huawei Technologies Co., Ltd. Method and Apparatus for Managing Virtual Execution Environments Using Contextual Information Fragments
US9866890B2 (en) 2015-11-10 2018-01-09 Hyundai Motor Company Method and apparatus for providing linking service between vehicle AVN system and smartphone based on virtualization framework

Also Published As

Publication number Publication date
KR20130067526A (ko) 2013-06-25

Similar Documents

Publication Publication Date Title
CN107924323B (zh) 基于依赖的容器部署
US9747121B2 (en) Performance optimization of workloads in virtualized information handling systems
EP2950203B1 (en) Application scenario identification method, power consumption management method and apparatus and terminal device
JP5904514B1 (ja) 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
KR101399161B1 (ko) 멀티-환경 운영 체제를 개시하기 위한 시스템 및 방법
US9389877B2 (en) Multi-environment operating system
CN101714091B (zh) 用于在操作系统初始化期间显示平台图形的方法和系统
US20110093691A1 (en) Multi-environment operating system
US20100319008A1 (en) Parallel processing method for dual operating system
CN104516782B (zh) 用于进行智能系统运行环境切换的方法及其设备
KR101326908B1 (ko) 가상 환경 관리 방법 및 이를 이용한 단말 장치
US10540498B2 (en) Technologies for hardware assisted native malware detection
US10235235B2 (en) Modular system awareness in virtualized information handling systems
CN112861057A (zh) 基于小程序的页面渲染方法、装置、设备及存储介质
US8863120B2 (en) Launching a software application in a virtual environment
US20130332921A1 (en) Virtual machine image write leasing
EP3812898A2 (en) Container-based method for application startup
KR101776042B1 (ko) 단말의 다중 운영체제 구동장치 및 운영체제 전환방법
US9164788B2 (en) Apparatus and method for automatic para-virtualization of OS kernel
KR101468179B1 (ko) 클라우드 컴퓨팅 환경에서 가상 환경을 변경하는 방법 및 이를 이용하는 단말 장치
US20150324209A1 (en) Operating System Switching Method and Dual-Operating System Electronic Device Using the Same
AU2017239615A1 (en) Dynamic provisioning of a set of tools based on project specifications
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
WO2011011368A2 (en) Multi-environment operating system
CN105446760B (zh) 用于应用安装的方法和装置

Legal Events

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