KR101379835B1 - Virtual machine monitor, virtual machine host system and method for providing virtual machines with respective virtual batteries - Google Patents

Virtual machine monitor, virtual machine host system and method for providing virtual machines with respective virtual batteries Download PDF

Info

Publication number
KR101379835B1
KR101379835B1 KR1020120136179A KR20120136179A KR101379835B1 KR 101379835 B1 KR101379835 B1 KR 101379835B1 KR 1020120136179 A KR1020120136179 A KR 1020120136179A KR 20120136179 A KR20120136179 A KR 20120136179A KR 101379835 B1 KR101379835 B1 KR 101379835B1
Authority
KR
South Korea
Prior art keywords
virtual
virtual battery
battery
virtual machine
host
Prior art date
Application number
KR1020120136179A
Other languages
Korean (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 KR1020120136179A priority Critical patent/KR101379835B1/en
Application granted granted Critical
Publication of KR101379835B1 publication Critical patent/KR101379835B1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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/45583Memory management, e.g. access or allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

A virtual machine host system of the present invention is a virtual machine host system capable of driving a virtual machine monitor providing a virtualization environment to at least one virtual machine in a host operating system (OS), the virtual machine host system comprising: a virtual machine monitor including a virtual battery emulation unit that reads virtual battery parameters from a virtual battery parameter storage including a storage space to keep the virtual battery parameters for each virtual machine and provides a frontend driver of a guest OS driven on a virtual machine with the virtual battery parameters; a virtual battery processing unit which generates virtual battery parameters according to a power consumption model of the virtual machine or generates the parameters according to a virtual power consumption scenario; and a virtual battery manager which displays the virtual battery parameters for a user or provides an interface such that the user can arbitrarily set the virtual battery parameters. [Reference numerals] (11) Host OS; (112) Virtual battery parameter storage; (113) Resource usage parameter storage; (12) Virtual machine (VM) monitor; (125) Virtual battery emulation unit; (13) Virtual battery processing unit; (14) Virtual battery manager; (AA) Hardware

Description

가상 머신에 가상 배터리를 제공하는 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법{VIRTUAL MACHINE MONITOR, VIRTUAL MACHINE HOST SYSTEM AND METHOD FOR PROVIDING VIRTUAL MACHINES WITH RESPECTIVE VIRTUAL BATTERIES}VIRTUAL MACHINE MONITOR, VIRTUAL MACHINE HOST SYSTEM AND METHOD FOR PROVIDING VIRTUAL MACHINES WITH RESPECTIVE VIRTUAL BATTERIES}

본 발명은 가상 머신 기술에 관한 것으로, 더욱 상세하게는, 가상 머신 호스트 시스템에 관한 것이다.The present invention relates to virtual machine technology and, more particularly, to a virtual machine host system.

가상화 기술은 하나의 용어일 뿐이지만 다양한 응용 분야에서 엔지니어들로 하여금 새로운 가능성을 열어주고 있다. 컴퓨터 시스템에서 가상화 기술은 소프트웨어적으로 가상의 독자적인 OS 시스템들을 구동할 수 있는 가상 머신(Virtual Machine, VM) 기술로서 발전하고 있다.Virtualization technology is just one term, but it opens new possibilities for engineers in a variety of applications. Virtualization technology in computer systems is evolving as a virtual machine (VM) technology that can run virtually independent OS systems in software.

어플리케이션의 개발 과정에서도 가상 머신 기술은 큰 이점을 제공할 수 있다. 하나의 개발 플랫폼 하드웨어에서 다양한 OS를 가지는 가상 머신들을 구동하고 가상 머신들에서 소프트웨어를 개발하고 테스트하며 수정할 수 있다. 개발 중인 소프트웨어가 이용될 다양한 환경들을 일일히 하드웨어적으로 구현하여 테스트하는 대신에 가상 머신 상에서 다양한 환경들을 구현할 수 있기 때문에, 개발에 들어가는 자원을 크게 절감될 수 있다.Virtual machine technology can also provide significant benefits in the development of applications. You can run virtual machines with multiple operating systems on one development platform hardware, and develop, test, and modify software on those virtual machines. Rather than implementing and testing various environments in which the software under development is to be used in hardware, it is possible to implement various environments on a virtual machine, thereby greatly reducing the resources required for development.

가상 머신 모니터는 이렇게 가상 머신들을 구동하고 하위의 하드웨어나 또는 호스트 운영체제(OS)와 가상 머신들 사이에 자원의 접근과 사용을 제어하는 일련의 소프트웨어를 가리킨다.The virtual machine monitor thus refers to a set of software that runs the virtual machines and controls the access and usage of resources between the underlying hardware or host operating system (OS) and the virtual machines.

가상 머신 모니터는 크게 하드웨어 상에서 직접 구동되어 가상 머신들을 관리하는 타입 I 가상화 아키텍처와 호스트 OS 상에서 구동되어 가상 머신들을 관리하는 타입 II 가상화 아키텍처로 나뉠 수 있다.Virtual machine monitors can be broadly divided into a type I virtualization architecture that runs directly on hardware to manage virtual machines and a type II virtualization architecture that runs on a host OS to manage virtual machines.

통상적으로 어플리케이션의 개발은 코딩과 테스트를 하나의 시스템에서 수행할 수 있기 때문에 타입 II 가상화 아키텍처의 가상 머신 모니터에서 이루어지는 것이 유리하다.Typically, the development of an application is advantageously done on a virtual machine monitor in a type II virtualized architecture because coding and testing can be performed on a single system.

한편, 컴퓨터 시스템에서 각 장치들의 전력 관리와 설정에 관하여 1996년부터 ACPI(Advanced Configruation and Power Interface)가 제정되고 보급되어 왔는데, ACPI 호환 장치들은 하드웨어 플랫폼에 상관없이 운영체제에 의해 전력 관리 및 설정 기능이 제어될 수 있다.On the other hand, the ACPI (Advanced Configuration and Power Interface) has been established and distributed since 1996 regarding the power management and configuration of each device in a computer system, and ACPI compatible devices have power management and configuration functions by the operating system regardless of the hardware platform. Can be controlled.

휴대용 컴퓨터 시스템을 위한 배터리도 ACPI 호환 장치인 경우에는 ACPI에서 규정된 정보들, 예를 들어 배터리 현재 용량, 최대 용량, 최근에 완충한 용량, 사용한 시간 등을 OS에 보고한다.If the battery for a portable computer system is also an ACPI-compatible device, it reports the OSPI-specified information to the OS, such as the current battery capacity, maximum capacity, recently charged capacity, and time spent.

가상 머신 상에서 동작하는 게스트 OS가 ACPI 호환일 경우에, 게스트 OS가 호스트 시스템의 ACPI 호환 장치에 직접 접근하는 것이 제한되는데, 기존에는 가상 머신 모니터가 ACPI 호환 장치를 위한 ACPI 드라이버로부터 정보를 취득하여 게스트 OS의 ACPI 드라이버로 전달함으로써 게스트 OS가 ACPI 기능을 활용할 수 있다.If the guest OS running on the virtual machine is ACPI compliant, the guest OS is restricted from directly accessing the host system's ACPI compliant device. In the past, the virtual machine monitor acquired information from the ACPI driver for the ACPI compliant device. By passing it to the OS's ACPI driver, the guest OS can take advantage of the ACPI functionality.

이러한 상황에서는 게스트 OS가 전달받는 배터리/전원 관련 정보는 호스트 OS가 제공하는 배터리/전원 관련 정보 뿐이므로 게스트 OS에서 테스트 중인 어플리케이션의 배터리 관련 특성, 예를 들어 전력 소모량을 테스트하기 어렵고, 또한 전원 관련 기능들 예를 들어 다양한 수준의 절전(CPU stop, CPU off, Standby 등), 최대 절전(Hibernation)과 같은 동작이 수행될 시에 어플리케이션이 문제없이 동작하는지 등을 테스트하기 어렵다.In this situation, the battery / power related information received by the guest OS is only battery / power related information provided by the host OS. Therefore, it is difficult to test the battery-related characteristics of the application under test in the guest OS, for example, power consumption. Features such as varying levels of power saving (CPU stop, CPU off, Standby, etc.), hibernation, etc., are difficult to test if the application works without problems.

본 발명이 해결하고자 하는 과제는 가상 머신에 가상 배터리를 제공하는 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법을 제공하는 데에 있다.An object of the present invention is to provide a virtual machine monitor, a virtual machine host system, and a virtual battery management method for providing a virtual battery to a virtual machine.

본 발명의 일 측면에 따른 가상 머신 모니터 장치는, 호스트 시스템의 호스트 운영 체제(OS) 상에서 적어도 하나의 가상 머신들을 구동할 수 있도록 가상화 환경을 제공하는 가상 머신 모니터 장치로서, The virtual machine monitor device according to an aspect of the present invention is a virtual machine monitor device that provides a virtualized environment to run at least one virtual machine on a host operating system (OS) of the host system,

상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 포함하는 가상 배터리 파라미터 저장부로부터 상기 가상 배터리 파라미터들을 읽어들여 상기 가상 머신 상에서 구동되는 게스트 OS의 프론트엔드 드라이버로 제공하는 가상 배터리 에뮬레이션부를 포함할 수 있다.The virtual battery emulation unit may read the virtual battery parameters from a virtual battery parameter storage unit including a storage space for storing the virtual battery parameters for each virtual machine and provide the virtual battery parameters to a front end driver of a guest OS running on the virtual machine. .

일 실시예에 따라, 상기 가상 배터리 에뮬레이션부는 According to one embodiment, the virtual battery emulation unit

상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부에 의해 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성할 수 있다.The virtual battery parameter storage unit may be generated to be accessible by the virtual battery emulation unit to a memory area or a disk area managed by the host OS.

일 실시예에 따라, 상기 가상 배터리 에뮬레이션부는 사용자에 의한 설정, 소정의 전력 소비 시나리오, 또는 상기 가상 머신들 각각의 전력 소비 모델 중 어느 하나에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 갱신하도록 동작할 수 있다.According to an embodiment, the virtual battery emulation unit updates the virtual battery parameter storage unit with the virtual battery parameters determined according to any one of a setting by a user, a predetermined power consumption scenario, or a power consumption model of each of the virtual machines. To operate.

일 실시예에 따라, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율과 CPU의 정격 소비 전력에 기초할 수 있다.According to one embodiment, the power consumption model of the virtual machines may be based on the CPU occupancy of the process and the rated power consumption of the CPU for each virtual machine provided by the host OS.

일 실시예에 따라, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율, 메모리 점유율, 디스크 I/O 점유율, 네트워크 점유율 중 적어도 하나의 정보와 상기 호스트 시스템의 정격 소비 전력에 기초할 수 있다.According to an embodiment, the power consumption model of the virtual machines may include at least one of CPU occupancy, memory occupancy, disk I / O occupancy, network occupancy of the process related to each virtual machine provided by the host OS, and the host. It may be based on the rated power consumption of the system.

일 실시예에 따라, 상기 가상 배터리 에뮬레이션부는 According to one embodiment, the virtual battery emulation unit

상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부에서 접근 가능하고 또한 가상 머신 모니터의 외부에서도 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성할 수 있다.The virtual battery parameter storage unit may be generated so that the virtual battery emulation unit is accessible to the memory area or the disk area managed by the host OS and is accessible from outside the virtual machine monitor.

일 실시예에 따라, 상기 호스트 OS는 리눅스 계열의 OS이고, According to one embodiment, the host OS is a Linux-based OS,

상기 가상 배터리 파라미터 저장부는 proc 가상 파일 시스템 내의 디렉토리 구조로써 구현될 수 있다.The virtual battery parameter storage unit may be implemented as a directory structure in the proc virtual file system.

일 실시예에 따라, 상기 호스트 OS는 윈도즈 계열의 OS이고, According to one embodiment, the host OS is a Windows-based OS,

상기 가상 배터리 파라미터 저장부는 호스트 OS의 윈도즈 레지스트리 파일의 일부 엔트리로써 구현될 수 있다.The virtual battery parameter storage unit may be implemented as some entry of the Windows registry file of the host OS.

일 실시예에 따라, 상기 가상 배터리 파라미터 저장부는According to one embodiment, the virtual battery parameter storage unit

상기 가상 배터리 파라미터들을 상기 가상 머신 별로 상기 호스트 OS가 부여한 프로세스 ID에 기초하여 식별되도록 구분하여 저장할 수 있다.The virtual battery parameters may be classified and stored to be identified based on a process ID assigned by the host OS for each virtual machine.

본 발명의 다른 측면에 따른 가상 머신 호스트 시스템은, 적어도 하나의 가상 머신들을 위한 가상화 환경을 제공하는 가상 머신 모니터를 호스트 운영 체제(OS) 상에서 구동할 수 있는 가상 머신 호스트 시스템으로서, A virtual machine host system according to another aspect of the present invention is a virtual machine host system capable of running a virtual machine monitor on a host operating system (OS) that provides a virtualization environment for at least one virtual machine.

상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 포함하는 가상 배터리 파라미터 저장부로부터 상기 가상 배터리 파라미터들을 읽어들여 상기 가상 머신 상에서 구동되는 게스트 OS의 프론트엔드 드라이버로 제공하는 가상 배터리 에뮬레이션부를 포함하는 가상 머신 모니터;A virtual machine including a virtual battery emulation unit that reads the virtual battery parameters from a virtual battery parameter storage unit including a storage space for maintaining virtual battery parameters for each virtual machine and provides the virtual battery parameters to a front end driver of a guest OS running on the virtual machine. monitor;

상기 가상 배터리 파라미터들을 상기 가상 머신의 전력 소비 모델에 따라 생성하거나 또는 가상의 전력 소비 시나리오에 따라 생성하는 가상 배터리 처리부; 및A virtual battery processor configured to generate the virtual battery parameters according to a power consumption model of the virtual machine or according to a virtual power consumption scenario; And

사용자를 위해 상기 가상 배터리 파라미터들을 표시하거나 사용자가 임의로 상기 가상 배터리 파라미터들을 설정할 수 있도록 인터페이스를 제공하는 가상 배터리 매니저를 포함할 수 있다.And a virtual battery manager for displaying the virtual battery parameters for a user or providing an interface for allowing the user to arbitrarily set the virtual battery parameters.

일 실시예에 따라, 상기 가상 배터리 에뮬레이션부는 According to one embodiment, the virtual battery emulation unit

상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부에 의해 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성할 수 있다.The virtual battery parameter storage unit may be generated to be accessible by the virtual battery emulation unit to a memory area or a disk area managed by the host OS.

일 실시예에 따라, 상기 가상 배터리 에뮬레이션부는 사용자에 의한 설정, 소정의 전력 소비 시나리오, 또는 상기 가상 머신들 각각의 전력 소비 모델 중 어느 하나에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 갱신하도록 동작할 수 있다.According to an embodiment, the virtual battery emulation unit updates the virtual battery parameter storage unit with the virtual battery parameters determined according to any one of a setting by a user, a predetermined power consumption scenario, or a power consumption model of each of the virtual machines. To operate.

일 실시예에 따라, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율과 CPU의 정격 소비 전력에 기초할 수 있다.According to one embodiment, the power consumption model of the virtual machines may be based on the CPU occupancy of the process and the rated power consumption of the CPU for each virtual machine provided by the host OS.

일 실시예에 따라, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율, 메모리 점유율, 디스크 I/O 점유율, 네트워크 점유율 중 적어도 하나의 정보와 상기 호스트 시스템의 정격 소비 전력에 기초할 수 있다.According to an embodiment, the power consumption model of the virtual machines may include at least one of CPU occupancy, memory occupancy, disk I / O occupancy, network occupancy of the process related to each virtual machine provided by the host OS, and the host. It may be based on the rated power consumption of the system.

일 실시예에 따라, 상기 가상 배터리 에뮬레이션부는 According to one embodiment, the virtual battery emulation unit

상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부, 상기 가상 배터리 처리부 및 상기 가상 배터리 매니저에서 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성할 수 있다.The virtual battery parameter storage unit may be generated to be accessible to the virtual battery emulation unit, the virtual battery processor, and the virtual battery manager in a memory area or a disk area managed by the host OS.

일 실시예에 따라, 상기 호스트 OS는 리눅스 계열의 OS이고, According to one embodiment, the host OS is a Linux-based OS,

상기 가상 배터리 파라미터 저장부는 proc 가상 파일 시스템 내의 디렉토리 구조로써 구현될 수 있다.The virtual battery parameter storage unit may be implemented as a directory structure in the proc virtual file system.

일 실시예에 따라, 상기 가상 배터리 처리부는According to one embodiment, the virtual battery processing unit

소정의 전력 소비 시나리오, 또는 상기 가상 머신들 각각의 전력 소비 모델 중 어느 하나에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 직접 갱신하도록 동작할 수 있다.Operate to directly update the virtual battery parameter storage with the virtual battery parameters determined according to one of a predetermined power consumption scenario or a power consumption model of each of the virtual machines.

일 실시예에 따라, 상기 가상 배터리 매니저는 사용자에 의한 설정에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 직접 갱신하도록 동작할 수 있다.According to an embodiment, the virtual battery manager may operate to directly update the virtual battery parameter storage unit with the virtual battery parameters determined according to a setting by a user.

본 발명의 또 다른 측면에 따른 가상 배터리 관리 방법은, 호스트 운영 체제(OS) 상에서 가상 머신 모니터에 의해 구동되는 적어도 하나의 가상 머신들을 위한 가상 배터리 관리 방법으로서,A virtual battery management method according to another aspect of the present invention is a virtual battery management method for at least one virtual machine driven by a virtual machine monitor on a host operating system (OS),

상기 가상 머신 모니터가, 상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 가지는 가상 배터리 파라미터 저장부를 상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역 내에 생성하는 단계;Generating, by the virtual machine monitor, a virtual battery parameter storage unit having a storage space for storing virtual battery parameters for each virtual machine in a memory area or a disk area managed by the host OS;

상기 가상 배터리 매니저가, 사용자의 설정 또는 디폴트 설정에 따른 가상 배터리 파라미터들을 기초로 상기 가상 배터리 파라미터 저장부를 초기화하는 단계;Initializing, by the virtual battery manager, the virtual battery parameter storage unit based on the virtual battery parameters according to a user's setting or default setting;

상기 가상 배터리 처리부가, 상기 가상 머신들을 위한 전력 소비 시나리오 또는 전력 소비 모델에 따라 상기 가상 배터리 파라미터들을 생성하고, 생성된 가상 배터리 파라미터들을 기초로 가상 배터리 파라미터 저장부를 각각 갱신하는 단계; 및Generating, by the virtual battery processor, the virtual battery parameters according to a power consumption scenario or a power consumption model for the virtual machines, and updating the virtual battery parameter storage units based on the generated virtual battery parameters; And

상기 가상 머신 모니터가, 상기 가상 배터리 파라미터 저장부의 가상 배터리 파라미터들을 상기 가상 머신 상에서 구동 중인 게스트 OS의 프론트엔드 ACPI 드라이버에 전달하는 단계를 포함할 수 있다.The virtual machine monitor may include transferring virtual battery parameters of the virtual battery parameter storage unit to a front end ACPI driver of a guest OS running on the virtual machine.

일 실시예에 따라, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율과 CPU의 정격 소비 전력에 기초할 수 있다.According to one embodiment, the power consumption model of the virtual machines may be based on the CPU occupancy of the process and the rated power consumption of the CPU for each virtual machine provided by the host OS.

일 실시예에 따라, 상기 호스트 OS는 리눅스 계열의 OS이고, According to one embodiment, the host OS is a Linux-based OS,

상기 가상 배터리 파라미터 저장부는 proc 가상 파일 시스템 내의 디렉토리 구조로써 구현될 수 있다.The virtual battery parameter storage unit may be implemented as a directory structure in the proc virtual file system.

본 발명의 또 다른 측면에 따른 가상 배터리 관리 방법은 호스트 운영 체제(OS) 상에서 가상 머신 모니터에 의해 구동되는 적어도 하나의 가상 머신들을 위한 가상 배터리 관리 방법으로서,The virtual battery management method according to another aspect of the present invention is a virtual battery management method for at least one virtual machine driven by a virtual machine monitor on a host operating system (OS),

상기 가상 머신 모니터가, 상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 가지는 가상 배터리 파라미터 저장부를 상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역 내에 생성하는 단계;Generating, by the virtual machine monitor, a virtual battery parameter storage unit having a storage space for storing virtual battery parameters for each virtual machine in a memory area or a disk area managed by the host OS;

상기 가상 머신 모니터가, 사용자의 설정 또는 디폴트 설정에 따른 가상 배터리 파라미터들을 기초로 상기 가상 배터리 파라미터 저장부를 초기화하는 단계;Initializing, by the virtual machine monitor, the virtual battery parameter storage unit based on the virtual battery parameters according to a user's setting or default setting;

상기 가상 머신 모니터가, 상기 가상 머신들을 위한 전력 소비 시나리오 또는 전력 소비 모델에 따라 생성된 상기 가상 배터리 파라미터들을 기초로, 가상 배터리 파라미터 저장부를 각각 갱신하는 단계; 및Updating, by the virtual machine monitor, a virtual battery parameter store respectively based on the virtual battery parameters generated according to a power consumption scenario or a power consumption model for the virtual machines; And

상기 가상 머신 모니터가, 상기 가상 배터리 파라미터 저장부의 가상 배터리 파라미터들을 상기 가상 머신 상에서 구동 중인 게스트 OS의 프론트엔드 ACPI 드라이버에 전달하는 단계를 포함할 수 있다.The virtual machine monitor may include transferring virtual battery parameters of the virtual battery parameter storage unit to a front end ACPI driver of a guest OS running on the virtual machine.

본 발명의 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법에 따르면, 가상 머신이 호스트의 배터리/전원과 별개의 독립적인 가상 배터리에 의존하여 동작하는 것처럼 가상 머신들을 설정하고 관리할 수 있다.According to the virtual machine monitor, the virtual machine host system and the virtual battery management method of the present invention, the virtual machines can be set up and managed as if the virtual machine operates in dependence on a virtual battery independent of the host's battery / power source.

본 발명의 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법에 따르면, 복수의 가상 머신들마다 서로 독립적인 복수의 가상 배터리들을 제공할 수 있다.According to the virtual machine monitor, the virtual machine host system and the virtual battery management method of the present invention, a plurality of virtual batteries independent of each other may be provided for each of the plurality of virtual machines.

본 발명의 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법에 따르면, 복수의 가상 머신들마다 서로 독립적인 복수의 가상 배터리들을 호스트 환경에서 임의로 조작할 수 있다.According to the virtual machine monitor, the virtual machine host system, and the virtual battery management method of the present invention, a plurality of virtual batteries independent of each other for each of the plurality of virtual machines may be arbitrarily manipulated in a host environment.

본 발명의 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법에 따르면, 어플리케이션이 실행 중인 가상 머신의 추정 전력량을 반영하여 가상 배터리의 충전량을 조작함으로써 가상 머신의 동작을 좀더 현실적으로 만들 수 있어서, 어플리케이션이 실제 머신에서 구동될 때의 전력 소비 상황을 좀더 현실적으로 시뮬레이션할 수 있다.According to the virtual machine monitor, the virtual machine host system and the virtual battery management method of the present invention, the operation of the virtual machine can be made more realistic by manipulating the charge of the virtual battery to reflect the estimated power of the virtual machine on which the application is running. You can more realistically simulate the power consumption when running on this real machine.

본 발명의 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법에 따르면, 가상 배터리를 제공, 설정, 조작 내지 관리하기 위해 호스트 OS나 게스트 OS의 변형이나 개조를 전혀 필요로 하지 않는다.According to the virtual machine monitor, the virtual machine host system and the virtual battery management method of the present invention, no modification or modification of the host OS or the guest OS is required to provide, set, operate or manage the virtual battery.

도 1은 본 발명의 일 실시예에 따른 가상 머신 호스트 시스템에서, 가상 배터리를 제공하는 가상 머신 호스트 시스템을 예시한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 호스트 시스템에서, 가상 배터리 파라미터 저장부의 구조를 예시한 개념도이다.
도 3은 본 발명의 다른 실시예에 따른 가상 머신 호스트 시스템에서, 가상 배터리를 제공하는 가상 머신 호스트 시스템을 예시한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 가상 머신을 위한 가상 배터리 관리 방법에서, 가상 배터리 파라미터들을 설정하고 이를 가상 머신에 제공하는 단계들을 예시한 순서도이다.
1 is a conceptual diagram illustrating a virtual machine host system providing a virtual battery in a virtual machine host system according to an embodiment of the present invention.
2 is a conceptual diagram illustrating a structure of a virtual battery parameter storage unit in a virtual machine host system according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a virtual machine host system providing a virtual battery in a virtual machine host system according to another embodiment of the present invention.
4 is a flowchart illustrating steps of setting virtual battery parameters and providing them to the virtual machine in the virtual battery management method for the virtual machine according to an embodiment of the present invention.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다. For the embodiments of the invention disclosed herein, specific structural and functional descriptions are set forth for the purpose of describing an embodiment of the invention only, and it is to be understood that the embodiments of the invention may be practiced in various forms, The present invention should not be construed as limited to the embodiments described in Figs.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 저장부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same elements in the drawings, and duplicate descriptions of the same elements will be omitted.

본 발명은 지식경제부 산하 산업기술평가관리원에서 주관하는 지식경제기술혁신사업 중 SW컴퓨팅산업원천기술개발사업의 "스마트TV 2.0 소프트웨어 플랫폼" 연구과제(정부과제고유번호 10041244호)의 지원으로 수행된 연구 결과를 토대로 한다.The present invention was carried out with the support of the "Smart TV 2.0 Software Platform" research project of the SW Computing Industrial Source Technology Development Project among the Knowledge Economy Technology Innovation Project under the Ministry of Knowledge Economy, under the Ministry of Knowledge Economy. Based on the results.

도 1은 본 발명의 일 실시예에 따른 가상 머신 호스트 시스템에서, 가상 배터리를 제공하는 가상 머신 호스트 시스템을 예시한 개념도이다.1 is a conceptual diagram illustrating a virtual machine host system providing a virtual battery in a virtual machine host system according to an embodiment of the present invention.

도 1을 참조하면, 가상 머신 호스트 시스템(10)은 타입 II 가상화 기술에 따라 하드웨어 상에 구동되는 호스트 OS(11)와, 호스트 OS(11) 상에서 구동되고 적어도 하나의 가상 머신들(121)을 구동하는 가상 머신(VM) 모니터(12), 가상 배터리 처리부(13) 및 가상 배터리 매니저(14)를 포함한다.Referring to FIG. 1, a virtual machine host system 10 may be configured to host OS 11 running on hardware in accordance with a type II virtualization technology and at least one virtual machine 121 running on the host OS 11. A virtual machine (VM) monitor 12 for driving, a virtual battery processor 13 and a virtual battery manager 14 are included.

호스트 OS(11)는 가상 머신 호스트 시스템(10)의 ACPI 호환 하드웨어들을 위한 ACPI 드라이버(111)와 가상 배터리 파라미터들을 유지할 저장 공간을 포함하는 가상 배터리 파라미터 저장부(112), 가상 머신 프로세스들의 자원 사용량에 관한 커널 파라미터들을 저장하는 자원 사용량 파라미터 저장부(113)를 더 포함할 수 있다.The host OS 11 includes an ACPI driver 111 for ACPI compatible hardware of the virtual machine host system 10 and a virtual battery parameter storage unit 112 including a storage space for storing virtual battery parameters, resource usage of the virtual machine processes. The resource usage parameter storage unit 113 may further include a kernel parameter storing unit.

호스트 OS(11)는 예를 들어 리눅스(Linux), 우분투(Ubuntu), 구글 안드로이드(Android)와 같은 리눅스 계열 또는 리눅스에 기반한 OS일 수도 있고, 윈도즈 XP, 윈도즈 7과 같은 마이크로소프트 사의 윈도즈 계열의 OS일 수도 있다.The host OS 11 may be, for example, a Linux family such as Linux, Ubuntu, or Google Android, or an OS based on Linux, or a Microsoft Windows family such as Windows XP or Windows 7. It may be an OS.

ACPI 드라이버(111)는 ACPI 호환 장치들로부터 ACPI 규격에 지정된 파라미터들을 수집하여 이러한 파라미터들을 요구하는 요청이 있을 때에 적절하게 제공할 수 있다.The ACPI driver 111 may collect parameters specified in the ACPI specification from ACPI compatible devices and provide them appropriately when there is a request for these parameters.

가상 배터리 파라미터 저장부(112)는 적어도 하나의 가상 배터리에 관하여, ACPI 규격에 따른 배터리 파라미터들을 위한 저장 공간을 제공한다. 가상 배터리 파라미터 저장부(112)의 저장 공간은 VM 모니터(12)의 가상 배터리 에뮬레이션부(125)가 생성 및 초기화할 수 있다.The virtual battery parameter storage 112 provides a storage space for battery parameters according to the ACPI standard for at least one virtual battery. The storage space of the virtual battery parameter storage unit 112 may be generated and initialized by the virtual battery emulation unit 125 of the VM monitor 12.

자원 사용량 파라미터 저장부(113)는 가상 배터리가 제공되는 적어도 하나의 가상 머신에 해당하는 가상 머신 프로세스의 자원 사용량에 관한 커널 파라미터들을 위한 저장 공간을 제공한다.The resource usage parameter storage 113 provides storage space for kernel parameters related to resource usage of a virtual machine process corresponding to at least one virtual machine provided with a virtual battery.

일 실시예에서, 가상 배터리 파라미터 저장부(112)의 저장 공간은 가상 머신(VM) 모니터(12)에 의해서 자유롭게 접근할 수 있는 호스트 시스템(10) 상의 특정 메모리 영역 또는 디스크 영역에 생성될 수 있다. 추가적으로, 가상 배터리 파라미터 저장부(112)의 저장 공간은 가상 배터리 처리부(13)나 가상 배터리 매니저(14)도 공유 위반을 일으키지 않고 각각 자유롭게 접근할 수 있는 호스트 시스템(10) 상의 특정 메모리 영역 또는 디스크 영역에 생성될 수 있다.In one embodiment, the storage space of the virtual battery parameter storage 112 may be created in a specific memory area or disk area on the host system 10 that is freely accessible by the virtual machine (VM) monitor 12. . In addition, the storage space of the virtual battery parameter storage unit 112 may be stored in a specific memory area or disk on the host system 10 that the virtual battery processing unit 13 or the virtual battery manager 14 may freely access, respectively, without causing a sharing violation. Can be created in the area.

다른 실시예에서는, 가상 배터리 파라미터 저장부(112)와 자원 사용량 파라미터 저장부(113)는, 만약 리눅스 계열일 경우에는 호스트 OS(11)의 proc 가상 파일 시스템 중 /ACPI의 하위 디렉토리 구조로써 구현될 수 있고, 만약 윈도즈 계열의 OS일 경우에는 호스트 OS(11)의 윈도즈 레지스트리 파일의 일부 엔트리로써 구현될 수 있다.In another embodiment, the virtual battery parameter storage unit 112 and the resource usage parameter storage unit 113 may be implemented as a sub-directory structure of / ACPI in the proc virtual file system of the host OS 11 in case of Linux series. If it is a Windows-based OS, it may be implemented as some entry of the Windows registry file of the host OS 11.

아래에서 가상 머신 호스트 시스템(10)은 호스트 OS(11)가 리눅스 계열인 경우로서 특히 proc 가상 파일 시스템을 가지고 설명되지만, 본 발명의 권리 범위가 여기에 한정되는 것은 아니다.In the following, the virtual machine host system 10 is described with the proc virtual file system as the host OS 11 is Linux based, but the scope of the present invention is not limited thereto.

proc 가상 파일 시스템을 이용한 경우에 가상 배터리 파라미터 저장부(112)를 설명하기 위해 도 2를 참조할 수 있다.Referring to FIG. 2 to describe the virtual battery parameter storage unit 112 when the proc virtual file system is used.

도 2를 참조하면, proc 가상 파일 시스템을 이용한 임의의 가상 배터리 파라미터들의 디렉토리 구조와 그 디렉토리들을 cat 명령어를 이용하여 읽었을 때의 각 하위 디렉토리들의 데이터를 도식화한 도면이다.2 is a diagram illustrating a directory structure of arbitrary virtual battery parameters using the proc virtual file system and data of each subdirectory when the directories are read using the cat command.

원래의 proc 가상 파일 시스템은 OS의 동적 상태 값들을 나타내는 다양한 수준의 커널 파라미터들을 그 수준들이 반영된 디렉토리 구조로 표현하여 사용자나 프로세스가 권한에 따라 쉽게 접근할 수 있게 한 가상의 파일 구조이며, 실제 디스크에 존재하는 것이 아니라 커널이 지정한 메모리 공간에 형성되지만 파일 시스템의 /proc 디렉토리에 마운트되어 마치 파일 시스템의 일부처럼 접근할 수 있기 때문에 가상의 파일 시스템이라고 부른다.The original proc virtual file system is a virtual file structure that makes it easy for users or processes to access privileges according to their permissions by representing various levels of kernel parameters representing the dynamic state values of the OS in a directory structure that reflects them. It is called a virtual file system because the kernel is formed in the specified memory space, but it is mounted in the file system's / proc directory and can be accessed as if it were part of the file system.

ACPI 호환 리눅스 계열 OS에서 관리되는 proc 가상 파일 시스템은 ACPI 호환 하드웨어들에 관한 커널 파라미터들을 가지고 있다.The proc virtual file system, managed by ACPI-compatible Linux-like operating systems, contains kernel parameters for ACPI-compliant hardware.

예를 들어 ACPI 호환 배터리 시스템은 자체적으로 예를 들어 설계 용량, 가장 최근의 최대 충전 용량, 현재 잔여 용량, 전압 등의 ACPI 규격에 따른 파라미터들의 이진 또는 문자 데이터들을 생성하여 호스트 시스템의 ACPI 드라이버에 제공할 수 있다. ACPI 드라이버는 이러한 파라미터들을 수집하여 proc 가상 파일 시스템에 기록한다.For example, an ACPI-compliant battery system can generate binary or text data of parameters according to ACPI specifications such as design capacity, most recent maximum charging capacity, current remaining capacity, voltage, etc. and provide them to the host system's ACPI driver. can do. The ACPI driver collects these parameters and writes them to the proc virtual file system.

이때, 사용자가 proc 가상 파일 시스템 내에서 사용자가 권한을 가진 몇몇 커널 파라미터들을 원하는 값으로 수정하더라도 커널은 언제라도 이를 현실을 반영한 값으로 바꿀 수 있고 또한 임의로 파라미터들을 수정하였다가 시스템에 손상을 줄 수 있기 때문에, 기존의 /proc/ACPI 디렉토리 내의 /battery 디렉토리 구조를 그대로 이용하는 것보다는 새로 생성하는 것이 바람직하다.At this time, even if the user modifies some kernel parameters that the user has permission in the proc virtual file system to the desired value, the kernel can change them to reflect the reality at any time and also modify the parameters arbitrarily and damage the system. Therefore, it is preferable to create a new one rather than using the existing / battery directory structure in the existing / proc / ACPI directory.

또한 가상 머신이 여러 개일 경우에 각각의 가상 머신마다 각각의 가상 배터리 정보를 제공하여야 하므로 가상 배터리 파라미터 저장부(112)는 기존의 디렉토리 구조에 추가하여, 가상 머신 별로 가상 배터리에 관한 커널 파라미터들을 저장 및 유지할 수 있는 다수의 가상 배터리 파라미터 디렉토리들을 포함할 수 있다.In addition, when there are multiple virtual machines, each virtual battery information must be provided for each virtual machine, and thus, the virtual battery parameter storage unit 112 stores kernel parameters related to the virtual battery for each virtual machine in addition to the existing directory structure. And a plurality of virtual battery parameter directories that may be maintained.

이때, proc 가상 파일 시스템에 생성된 가상 배터리 파라미터 디렉토리들은 예를 들어 PID가 1241인 경우에 /proc/ACPI/battery/VBAT_1241와 같이 각 가상 머신의 프로세스에 부여된 PID로써 구별될 수 있다.In this case, the virtual battery parameter directories created in the proc virtual file system may be distinguished as PIDs assigned to processes of each virtual machine, for example, when the PID is 1241, such as / proc / ACPI / battery / VBAT_1241.

또한 가상 배터리 파라미터 저장부(112)가 포함하는 이러한 가상 배터리 파라미터 디렉토리들의 각각에 실제 ACPI 호환 배터리와 동일한 양식으로 각 가상 배터리의 ACPI 규격 정보들이 기록되고 읽혀질 수 있다.In addition, in each of these virtual battery parameter directories included in the virtual battery parameter storage 112, ACPI specification information of each virtual battery may be recorded and read in the same form as the actual ACPI compatible battery.

예를 들어, 가상 배터리가 하나의 ACPI 호환 배터리처럼 보일 수 있도록, ACPI 호환 배터리로부터 제공되는 구조 및 파라미터들과 동일한 종류의 구조 및 파라미터들을 가지도록 설정될 수 있다.For example, the virtual battery may be set to have the same type of structure and parameters as the structure and parameters provided from the ACPI compatible battery so that the virtual battery may look like one ACPI compatible battery.

예를 들어 하위 디렉토리 /info에 design capacity, design voltage 등의 파라미터들을 가지고, 하위 디렉토리 /state에 remaining capacity 파라미터, charging state 파라미터를, 또 다른 하위 디렉토리 /alarm에는 alarm 파라미터 등을 저장할 수 있다.For example, you can store design capacity, design voltage, etc. in subdirectory / info, remaining capacity parameter, charging state parameter in subdirectory / state, and alarm parameter in another subdirectory / alarm.

이러한 가상 배터리 파라미터 디렉토리들은 호스트 OS(11)의 ACPI 드라이버(111)에 의해 사용되지 않으므로 호스트 OS(11)의 동작에 의해 영향을 받지 않으며 또한 호스트 OS(11)의 동작에 영향을 주지 않는다.These virtual battery parameter directories are not used by the ACPI driver 111 of the host OS 11 and thus are not affected by the operation of the host OS 11 and do not affect the operation of the host OS 11.

이러한 가상 배터리 파라미터 디렉토리들은 가상 머신(VM) 모니터(12), 가상 배터리 처리부(13) 또는 가상 배터리 매니저(14) 중 적어도 어느 하나에 의해 접근(access)될 수 있도록 자유롭게 권한이 부여될 수 있다. 부여된 권한에 따라 가상 머신(VM) 모니터(12), 가상 배터리 처리부(13) 또는 가상 배터리 매니저(14) 중 적어도 어느 하나는, 수시로, 정기적으로, 사용자의 지시에 따라 또는 특정 이벤트가 발생하였을 때에, 가상 배터리 파라미터들을 읽거나 원하는 값의 가상 배터리 파라미터들을 쓸 수 있다.These virtual battery parameter directories may be freely authorized to be accessed by at least one of the virtual machine (VM) monitor 12, the virtual battery processor 13, or the virtual battery manager 14. At least one of the virtual machine (VM) monitor 12, the virtual battery processor 13, or the virtual battery manager 14 may, at regular intervals, according to a user's instruction or a specific event, depending on the authority granted. At the time, the virtual battery parameters can be read or the virtual battery parameters of the desired value can be written.

다만, 일반적으로, 호스트 OS(11)가 어떤 프로세스를 위해 메모리 공간에 할당한 영역들 또는 디스크 공간에 생성한 파일은 권한이 없는 다른 프로세스에 의한 접근이 제한된다. 따라서 실시예에 따라, 만약 가상 배터리 파라미터 저장부(112)가 가상 머신 모니터(12)를 위해 일반적인 메모리 공간의 특정 영역에 할당되거나 디스크 공간의 파일로 생성될 경우에는, 가상 배터리 처리부(13)나 가상 배터리 매니저(14)가 가상 배터리 파라미터 저장부(112)에 접근할 수 있는 권한을 가상 배터리 처리부(13)나 가상 배터리 매니저(14)에게 부여해야 할 필요가 있을 수도 있다.In general, however, areas created by the host OS 11 in the memory space for a process or files created in the disk space are restricted from access by other processes without permission. Thus, according to an embodiment, if the virtual battery parameter storage 112 is allocated to a specific area of the general memory space for the virtual machine monitor 12 or is created as a file of disk space, the virtual battery processor 13 or The virtual battery manager 14 may need to grant the virtual battery processor 13 or the virtual battery manager 14 permission to access the virtual battery parameter storage 112.

도 1로 되돌아가서, 한편, VM 모니터(12)는 가상 머신들(121), 백엔드 ACPI 드라이버(124), 가상 배터리 에뮬레이션부(125)를 포함할 수 있다.1, meanwhile, the VM monitor 12 may include virtual machines 121, a back end ACPI driver 124, and a virtual battery emulation unit 125.

VM 모니터(12)는 가상 머신들(121)을 구동하고 가상 머신들(121) 상에 게스트 OS(122)와 어플리케이션들을 위해, 게스트 OS(122)와 호스트 OS(11)와 사이에서 메모리나 주변 장치들과 같은 하드웨어에 대한 접근을 중재할 수 있다.The VM monitor 12 drives the virtual machines 121 and for memory or peripherals between the guest OS 122 and the host OS 11 for the guest OS 122 and applications on the virtual machines 121. Mediate access to hardware such as devices.

VM 모니터(12)는 게스트 OS(122)가 VM 모니터(12)를 통해 마치 진정한(genuine) 하드웨어 상에서 구동되는 것처럼 여기도록 동작 환경을 제공한다. 전력 측면에서도 VM 모니터(12)는 게스트 OS(122)가 ACPI 호환 배터리에 연결된 거처럼 여기도록 할 수 있는데, 종래에는 백엔드 ACPI 드라이버가 호스트 OS의 ACPI 드라이버로부터 ACPI 호환 배터리의 정보를 그대로 게스트 OS의 프론트엔드 ACPI 드라이버로 전달함으로써 이러한 목표가 달성될 수 있었다.The VM monitor 12 provides an operating environment for the guest OS 122 to look through the VM monitor 12 as if it is running on genuine hardware. In terms of power, the VM monitor 12 can make the guest OS 122 regard the guest OS 122 as connected to an ACPI-compatible battery. In the related art, the back-end ACPI driver uses the information of the ACPI-compatible battery from the host OS's ACPI driver as it is. This goal could be achieved by passing it to the front-end ACPI driver.

그러나 이러한 종래의 동작 환경에서는 게스트 OS는 언제나 호스트 시스템의 실제 전력 상황에 종속된다.In this conventional operating environment, however, the guest OS always depends on the actual power situation of the host system.

본 발명에서 VM 모니터(12)의 백엔드 ACPI 드라이버(124)는 여전히 호스트 OS(11)의 ACPI 드라이버(111)로부터 실제 호스트 시스템(10)에 장착된 ACPI 호환 하드웨어들의 파라미터들을 그대로 취득한다. 따라서 본 발명에서 VM 모니터(12)의 백엔드 ACPI 드라이버(124)는 변경 또는 개조가 반드시 필요한 것은 아니다.In the present invention, the back end ACPI driver 124 of the VM monitor 12 still obtains parameters of ACPI compatible hardware mounted in the actual host system 10 from the ACPI driver 111 of the host OS 11 as it is. Therefore, in the present invention, the back-end ACPI driver 124 of the VM monitor 12 is not necessarily changed or modified.

반면에, VM 모니터(12)의 가상 배터리 에뮬레이션부(125)는 호스트 OS(11)에 가상 배터리 파라미터 저장부(112)를 생성하고, 예를 들어 가상 배터리 매니저(14)를 통해 사용자가 특정한 설정 상태에 따라 가상 배터리 파라미터 저장부(112)에 가상 배터리 파라미터 값들을 기록하며, 또한 가상 배터리 파라미터 저장부(112)에 기록된 가상 배터리 파라미터 값들을 읽어들이고, 읽어들인 가상 배터리 파라미터들을, VM 모니터(12)의 백엔드 ACPI 드라이버(124)에 우선하여, 각 가상 머신들에서 구동 중인 게스트 OS(122)의 프론트엔드 ACPI 드라이버(123)로 제공한다.On the other hand, the virtual battery emulation unit 125 of the VM monitor 12 generates the virtual battery parameter storage unit 112 in the host OS 11, for example, a user-specified setting through the virtual battery manager 14. According to the state, the virtual battery parameter values are recorded in the virtual battery parameter storage unit 112, and the virtual battery parameter values recorded in the virtual battery parameter storage unit 112 are read, and the read virtual battery parameters are stored in the VM monitor ( Prior to the back end ACPI driver 124 of 12), it is provided to the front end ACPI driver 123 of the guest OS 122 running in each virtual machine.

구체적으로, 가상 배터리 에뮬레이션부(125)는 각각의 가상 배터리들이 식별되도록 가상 배터리 파라미터 디렉토리 구조를 생성하며, 생성된 가상 배터리 파라미터 디렉토리 구조에 따라 가상 배터리 파라미터 저장부(112)를 소정의 메모리 영역 또는 디스크 영역에, 바람직하게는 proc 가상 파일 시스템 또는 레지스트리 내에 생성할 수 있다.In detail, the virtual battery emulation unit 125 generates a virtual battery parameter directory structure so that each of the virtual batteries is identified, and stores the virtual battery parameter storage unit 112 in a predetermined memory area or in accordance with the generated virtual battery parameter directory structure. In the disk area, preferably in the proc virtual file system or registry.

이때, 가상 배터리 에뮬레이션부(125)는 호스트 OS(11)가 제공하는 프로세스 리스트로부터 가상 머신들(121)의 PID(Process ID)를 획득하고, 획득한 PID을 기초로 가상 배터리 파라미터 디렉토리명을 지정함으로써 가상 배터리들을 식별시킬 수 있다.At this time, the virtual battery emulation unit 125 obtains PIDs (Process IDs) of the virtual machines 121 from a process list provided by the host OS 11 and designates a virtual battery parameter directory name based on the obtained PIDs. Thereby identifying the virtual batteries.

예를 들어 리눅스 계열의 호스트 OS(11)는 프로세스 리스트를 proc 가상 파일 시스템에서 /proc/"PID"로 표현되는 일련의 디렉토리들로써 제공할 수 있다.For example, the Linux host OS 11 may provide a process list as a series of directories represented by / proc / "PID" in the proc virtual file system.

게스트 OS(122)의 프론트엔드 ACPI 드라이버(123)는 가상 배터리 파라미터들을 수신하고, 수신된 가상 배터리 파라미터들로써 표현되는 가상 배터리를 게스트 OS(122)가 동작 중인 가상 머신(121)에 전력을 공급하는 실제 배터리인양 인식한다. 예를 들어, 프론트엔드 ACPI 드라이버(123)는 가상 배터리 파라미터 중 충전량(remaining) 파라미터가 만약 소정의 위험 수준까지 낮아지면 게스트 OS(122)에게 경고를 제공할 수 있고, 전력 정책에 따라 게스트 OS(122)는 절전 모드(sleep) 또는 최대 절전 모드(hibernation)로 들어간다.The front end ACPI driver 123 of the guest OS 122 receives the virtual battery parameters, and supplies the virtual battery represented by the received virtual battery parameters to the virtual machine 121 in which the guest OS 122 is operating. Recognize the actual battery lift. For example, the front-end ACPI driver 123 may provide a warning to the guest OS 122 if the remaining parameter of the virtual battery parameter is lowered to a predetermined risk level, and the guest OS (eg, the power policy) according to the power policy. 122 enters a sleep or hibernation mode.

가상 배터리 처리부(13)는 가상 배터리의 파라미터들을 실제 시스템의 동작을 모방한 가상 머신의 전력 소비 모델에 따라 생성하거나 또는 가상의 전력 소비 시나리오에 따라 생성할 수 있다. 예를 들어, 가상 배터리 처리부(13)는 배터리의 방전 또는 충전을 모방하여 가상 배터리의 충전량 파라미터 값을 새로 결정할 수 있다.The virtual battery processor 13 may generate the parameters of the virtual battery according to the power consumption model of the virtual machine that mimics the operation of the actual system or according to the virtual power consumption scenario. For example, the virtual battery processor 13 may newly determine the charge amount parameter value of the virtual battery by simulating discharge or charging of the battery.

일 실시예에서, 가상 배터리 처리부(13)는 결정된 충전량 파라미터 값을 직접 가상 배터리 파라미터 저장부(112)에 접근하여 갱신할 수 있다.In one embodiment, the virtual battery processor 13 may update the determined charge amount parameter value by directly accessing the virtual battery parameter storage 112.

나아가, 가상 배터리 처리부(13)는 호스트 OS(11)가 제공하는 프로세스마다의 부하(load) 정보를 이용하여 가상 배터리의 방전 동작을 모방할 수 있다.In addition, the virtual battery processor 13 may mimic the discharge operation of the virtual battery using load information for each process provided by the host OS 11.

실제 시스템에서 연산 집중적인 어플리케이션이 동작하면 높은 점유율을 가지고 CPU를 구동할 것이며 이 어플리케이션이 동작하는 동안에는 CPU는 전력을 많이 소모할 것이다. 또한 CPU의 소비 전력은 컴퓨터 시스템의 소비 전력 중에서 가장 큰 부분을 차지하거나 또는 전체 소비 전력은 CPU 소비 전력에 대체로 비례할 것이므로, 어플리케이션의 실행에 따른 전력 소비량은 CPU 점유율을 기초로 유추될 수 있으므로, 이러한 정보를 통해 전력 소비 모델이 구축될 수 있다.In a real system, a computationally intensive application would run the CPU with a high occupancy rate, while the CPU would consume a lot of power while the application was running. In addition, since the power consumption of the CPU occupies the largest part of the power consumption of the computer system, or the total power consumption will be largely proportional to the CPU power consumption, the power consumption according to the execution of the application may be inferred based on the CPU occupancy rate. With this information, a power consumption model can be built.

이를 이용하여 가상 배터리 처리부(13)는 호스트 OS(11)가 제공하는 가상 머신(121)에 관한 프로세스의 CPU 점유율과 CPU의 정격 소비 전력에 따른 전력 소비 모델을 기초로 각각의 가상 머신(121)의 소비 전력량을 추정할 수 있다. 호스트 OS(11)는 가상 머신(121)의 연산 자원 이용에 관한 다양한 정보를 자원 사용량 파라미터 저장부(113)에서 제공할 수 있다.Using this, the virtual battery processor 13 may use the virtual machine 121 based on the power consumption model according to the CPU occupancy rate of the process related to the virtual machine 121 provided by the host OS 11 and the rated power consumption of the CPU. The power consumption of can be estimated. The host OS 11 may provide the resource usage parameter storage 113 with various information regarding the use of the computation resource of the virtual machine 121.

구체적으로 예를 들면, 리눅스 계열의 호스트 OS(11)가 제공하는 proc 가상 파일 시스템에서, /proc/"PID"/stat에 기록되는 user 모드 사용 시간 값들을 추적하여 특정 시구간 사이에 해당 프로세스가 CPU를 얼마나 점유했는지를 알 수 있으며, 이를 통해 CPU 점유율을 알 수 있다.Specifically, for example, in the proc virtual file system provided by the Linux-based host OS 11, the user mode usage time values recorded in / proc / "PID" / stat are tracked so that the corresponding process is executed between specific time periods. You can see how much CPU you have occupied, and you can see how much CPU you have occupied.

추가적으로, 실시예에 따라서, 가상 배터리 처리부(13)는 프로세스의 CPU 점유율에 메모리 점유율, 디스크 I/O 점유율, 네트워크 점유율 중 적어도 한 가지와 호스트 시스템(10)의 정격 소비 전력 정보를 더 취합한 전력 소비 모델을 기초로 전력 소비량을 추정할 수 있다. 메모리 점유율 등은 예를 들어 /proc/"PID"/의 여러 항목들을 추적 및 분석하여 획득할 수 있다.In addition, according to an embodiment, the virtual battery processor 13 further collects at least one of memory occupancy, disk I / O occupancy, and network occupancy and the rated power consumption information of the host system 10 to the CPU occupancy of the process. The power consumption can be estimated based on the consumption model. Memory occupancy and the like can be obtained, for example, by tracking and analyzing several items in / proc / "PID" /.

가상 배터리 처리부(13)는, 각 가상 머신(121)에 관하여, 추정된 소비 전력량만큼 직전의 가상 배터리 충전량 파라미터 값에서 차감하여 현재의 가상 배터리 충전량 파라미터 값을 결정한다.The virtual battery processing unit 13 determines, with respect to each virtual machine 121, the current virtual battery charge amount parameter value by subtracting the previous virtual battery charge amount parameter value by the estimated power consumption amount.

하지만, 가상 배터리 처리부(13)가 반드시 실제의 배터리를 모방할 필요는 없으며, 가상 배터리 처리부(13)는 가상 머신 프로세스의 부하에 상관없이 가상의 전력 소비 환경을 가정한 소정의 전력 소비 시나리오에 따라 가상 배터리 충전량 파라미터들을 결정할 수도 있다. However, the virtual battery processor 13 does not necessarily mimic the actual battery, and the virtual battery processor 13 may be configured according to a predetermined power consumption scenario assuming a virtual power consumption environment regardless of the load of the virtual machine process. Virtual battery charge parameters may be determined.

실시예에 따라, 가상 배터리 처리부(13)는, 각 가상 머신(121)에 관하여 결정된 현재 충전량 파라미터 값을 직접 가상 배터리 파라미터 저장부(112)에 접근하여 갱신할 수도 있다.According to an exemplary embodiment, the virtual battery processor 13 may update the current charge amount parameter value determined for each virtual machine 121 by directly accessing the virtual battery parameter storage 112.

한편, 이러한 가상 배터리들에 관하여 사용자는 가상 머신(121) 별로 가상 배터리 사용 여부, 가상 배터리의 설계 용량, 충전량, 충전/방전 상태 등을 임의로 조절할 수 있어야 하는데, 이를 위해 가상 배터리 매니저(14)는 사용자를 위해 가상 배터리에 관한 다양한 파라미터들을 표시하고 또한 이들 값들을 사용자가 임의로 설정할 수 있도록 인터페이스를 제공할 수 있다.On the other hand, with respect to these virtual batteries, the user should be able to arbitrarily adjust the use of the virtual battery for each virtual machine 121, the design capacity of the virtual battery, the charge amount, the charge / discharge state, etc. For this purpose, the virtual battery manager 14 An interface may be provided for the user to display various parameters regarding the virtual battery and to allow the user to set these values arbitrarily.

가상 배터리 매니저(14)는 VM 모니터(12)로부터, 또는 프로세스 상태 정보를 분석하여, 현재 구동 중인 가상 머신(121)들의 목록 정보를 획득하고, 가상 배터리 파라미터 저장부(112)로부터 직접 읽어들인 가상 배터리 파라미터 값들로부터 가상 머신(121) 별로 현재의 가상 배터리의 설계 용량, 충전량, 충전/방전 상태 등을 화면에 표시하며, 사용자에 의해 가상 배터리 사용 여부, 가상 배터리의 설계 용량, 충전량, 충전/방전 상태의 설정 상태가 변경되면 직접 가상 배터리 파라미터 저장부(112)를 변경된 설정 상태로 갱신할 수 있다.The virtual battery manager 14 obtains list information of the currently running virtual machines 121 from the VM monitor 12 or by analyzing process status information, and directly reads from the virtual battery parameter storage 112. Displays the design capacity, charge amount, and charge / discharge status of the current virtual battery on the screen for each virtual machine 121 from the battery parameter values, and whether or not the virtual battery is used, the design capacity, charge amount, and charge / discharge of the virtual battery by the user When the setting state of the state is changed, the virtual battery parameter storage unit 112 may be directly updated to the changed setting state.

이렇게 가상 배터리 파라미터들이 설정 및 갱신되면, 가상 머신들(121)은 제공되는 가상 배터리 파라미터들에 따라 정상 모드에서 절전 모드 또는 최대 절전 모드로 진입할 수 있다. When the virtual battery parameters are set and updated in this way, the virtual machines 121 may enter the power saving mode or the hibernation mode from the normal mode according to the provided virtual battery parameters.

또한 가상 머신들(121)의 프로세스 부하를 반영하여 가상 배터리를 방전시킴으로써 실제 머신에서 해당 어플리케이션이 동작할 때에 실제 배터리의 충전량 감소 정도를 예측할 수 있다.In addition, by discharging the virtual battery by reflecting the process load of the virtual machines 121, it is possible to predict the degree of reduction of the charge amount of the actual battery when the corresponding application is operated in the real machine.

도 3은 본 발명의 다른 실시예에 따른 가상 머신 호스트 시스템에서, 가상 배터리를 제공하는 가상 머신 호스트 시스템을 예시한 개념도이다.3 is a conceptual diagram illustrating a virtual machine host system providing a virtual battery in a virtual machine host system according to another embodiment of the present invention.

도 3을 참조하면, 도 3의 가상 머신 호스트 시스템(30)은 도 1의 가상 머신 호스트 시스템(10)과 거의 유사하나, 다만 도 1의 가상 머신 호스트 시스템(10)에서 가상 배터리 처리부(13) 또는 가상 배터리 매니저(14)가 가상 배터리 파라미터 저장부(112)에 직접 접근하여 값을 갱신할 수 있는 구성인 것과 달리, 도 3의 가상 배터리 처리부(33)와 가상 배터리 매니저(34)는 가상 배터리 파라미터 저장부(312)에 접근하기 위해서는 VM 모니터(32)의 가상 배터리 에뮬레이션부(325)를 거쳐야 하는 구성이다.Referring to FIG. 3, the virtual machine host system 30 of FIG. 3 is substantially similar to the virtual machine host system 10 of FIG. 1, except that the virtual battery processor 13 of the virtual machine host system 10 of FIG. 1 is used. Alternatively, unlike the configuration in which the virtual battery manager 14 directly accesses the virtual battery parameter storage unit 112 and updates the value, the virtual battery processor 33 and the virtual battery manager 34 of FIG. In order to access the parameter storage unit 312, the virtual battery emulation unit 325 of the VM monitor 32 is configured.

예를 들어, 가상 배터리 처리부(33)는 전력 소비 시나리오 또는 전력 소비 모델을 통해 결정된 충전량 파라미터 값들을 VM 모니터(32)의 가상 배터리 에뮬레이션부(325)에 전달하여, 가상 배터리 에뮬레이션부(325)로 하여금 가상 배터리 파라미터 저장부(312)의 관련 내용을 갱신하도록 할 수 있다.For example, the virtual battery processor 33 transfers the charge parameter values determined through the power consumption scenario or the power consumption model to the virtual battery emulation unit 325 of the VM monitor 32 to the virtual battery emulation unit 325. In this case, the related content of the virtual battery parameter storage unit 312 may be updated.

또한, 가상 배터리 매니저(34)도, 가상 배터리 에뮬레이션부(325)를 통해 가상 배터리 파라미터 저장부(312)로부터 읽어들인 가상 배터리 파라미터 값들로부터 가상 머신(321) 별로 현재의 가상 배터리의 설계 용량, 충전량, 충전/방전 상태 등을 화면에 표시하며, 사용자에 의해 가상 배터리 사용 여부, 가상 배터리의 설계 용량, 충전량, 충전/방전 상태의 설정 상태가 변경되면 변경된 설정 상태들을 VM 모니터(32)의 가상 배터리 에뮬레이션부(325)에 전달하여, 가상 배터리 에뮬레이션부(325)로 하여금 가상 배터리 파라미터 저장부(312)의 관련 내용을 갱신하도록 할 수 있다.In addition, the virtual battery manager 34 also has a design capacity and a charge amount of the current virtual battery for each virtual machine 321 from the virtual battery parameter values read from the virtual battery parameter storage unit 312 through the virtual battery emulation unit 325. , The charging / discharging status, etc. are displayed on the screen, and the changed settings are displayed when the virtual battery is used, whether the virtual battery is used, the design capacity of the virtual battery, the charging amount, or the charging / discharging status is changed. The data may be transferred to the emulation unit 325 to cause the virtual battery emulation unit 325 to update the related contents of the virtual battery parameter storage unit 312.

도 3의 실시예는, 접근 권한이 상대적으로 덜 엄격한 proc 가상 파일 시스템을 이용하지 못하는 가상 머신 호스팅 환경에서, 가상 배터리 파라미터 저장부(312)가 가상 배터리 에뮬레이션부(325)에 의해서만 제한적으로 접근될 수 있고 가상 배터리 처리부(33)나 가상 배터리 매니저(34)는 직접 접근하기 어려운 특정한 어플리케이션 메모리 영역에 가상 배터리 파라미터 저장부(312)를 생성해야 하는 경우에는 유리하게 활용될 수 있다.3, the virtual battery parameter storage unit 312 may be limitedly accessed only by the virtual battery emulation unit 325 in a virtual machine hosting environment in which the access right does not use a relatively strict proc virtual file system. The virtual battery processor 33 or the virtual battery manager 34 may be advantageously used when the virtual battery parameter storage unit 312 needs to be generated in a specific application memory area which is difficult to directly access.

도 4는 본 발명의 일 실시예에 따른 가상 머신을 위한 가상 배터리 관리 방법에서, 가상 배터리 파라미터들을 설정하고 이를 가상 머신에 제공하는 단계들을 예시한 순서도이다.4 is a flowchart illustrating steps of setting virtual battery parameters and providing them to the virtual machine in the virtual battery management method for the virtual machine according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 가상 머신을 위한 가상 배터리 관리 방법은 먼저 단계(S41)에서, VM 모니터(12)의 가상 배터리 에뮬레이션부(125)가, 가상 머신(121)별로 가상 배터리 파라미터들을 유지할 저장 공간을 가지는 가상 배터리 파라미터 저장부(112)를 호스트 OS(11)가 관리하는 메모리 영역 또는 디스크 영역 내에 생성한다.Referring to FIG. 4, in the virtual battery management method for the virtual machine of the present invention, first in step S41, the virtual battery emulation unit 125 of the VM monitor 12 sets the virtual battery parameters for each virtual machine 121. The virtual battery parameter storage unit 112 having the storage space to be maintained is created in a memory area or a disk area managed by the host OS 11.

단계(S42)에서, 가상 배터리 매니저(14)를 통해 입력되는 사용자의 설정 또는 디폴트 설정에 따른 가상 배터리 파라미터들을 기초로 가상 배터리 파라미터 저장부(112)를 초기화한다.In step S42, the virtual battery parameter storage 112 is initialized based on the virtual battery parameters according to the user's setting or default setting input through the virtual battery manager 14.

단계(S43)에서, 가상 배터리 처리부(13)가 가상 머신(121)의 전력 소비 시나리오 또는 전력 소비 모델에 따라 가상 배터리 파라미터들을 생성하고, 생성된 가상 배터리 파라미터들을 기초로 가상 배터리 파라미터 저장부(112)를 각각 갱신한다.In step S43, the virtual battery processor 13 generates virtual battery parameters according to a power consumption scenario or a power consumption model of the virtual machine 121, and the virtual battery parameter storage 112 based on the generated virtual battery parameters. Update each).

이때, 일 실시예에서, 가상 배터리 파라미터들은 가상 배터리 처리부(13)에 의해 직접 가상 배터리 파라미터 저장부(112)에서 각각 갱신될 수 있다.At this time, in one embodiment, the virtual battery parameters may be updated in the virtual battery parameter storage 112 directly by the virtual battery processor 13, respectively.

다른 실시예에서, 가상 배터리 파라미터들은 가상 배터리 처리부(33)의 요청에 따라 VM 모니터(32)의 가상 배터리 파라미터 저장부(312)에 의해 각각 갱신될 수 있다.In another embodiment, the virtual battery parameters may be updated by the virtual battery parameter storage 312 of the VM monitor 32 at the request of the virtual battery processor 33.

단계(S44)에서, VM 모니터(12)의 가상 배터리 에뮬레이션부(125)가, 가상 배터리 파라미터 저장부(112)의 가상 배터리 파라미터들을 가상 머신(121) 상에서 구동 중인 게스트 OS(122)의 프론트엔드 ACPI 드라이버에 전달한다.In step S44, the virtual battery emulation unit 125 of the VM monitor 12, the front end of the guest OS 122 running the virtual battery parameters of the virtual battery parameter storage 112 on the virtual machine 121 Pass to ACPI driver.

사용자의 설정 동작이 없는 한, 단계(S43)과 단계(S44)는 소정의 주기에 따라, 수시로, 또는 이벤트의 발생 시에 반복적으로 수행될 수 있다.As long as there is no setting operation by the user, steps S43 and S44 may be repeatedly performed at any time, or upon occurrence of an event, according to a predetermined period.

사용자의 설정이 있을 경우에, 단계(S42)가 한 차례 수행되어 사용자의 설정에 따라 가상 배터리 파라미터들이 초기화되고, 이어서 다시 단계(S43)과 단계(S44)가 반복적으로 수행될 수 있다.When there is a user's setting, step S42 may be performed once to initialize the virtual battery parameters according to the user's setting, and then step S43 and step S44 may be repeatedly performed.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Modification is possible. Accordingly, the spirit of the present invention should be understood only in accordance with the following claims, and all of the equivalent or equivalent variations will fall within the scope of the present invention.

또한, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.Further, the apparatus according to the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the recording medium include a ROM, a RAM, an optical disk, a magnetic tape, a floppy disk, a hard disk, a nonvolatile memory, and the like, and a carrier wave (for example, transmission via the Internet).

10, 30 가상 머신 호스트 시스템
11, 31 호스트 OS 111, 311 ACPI 드라이버
112, 312 가상 배터리 파라미터 저장부
113, 313 자원 사용량 파라미터 저장부
12, 32 VM 모니터
121, 321 가상 머신들 122, 322 게스트 OS
123, 323 프론트엔드 ACPI 드라이버
124, 324 백엔드 ACPI 드라이버
125, 325 가상 배터리 에뮬레이션부
13, 33 가상 배터리 처리부
14, 34 가상 배터리 매니저
10, 30 virtual machine host system
11, 31 host OS 111, 311 ACPI driver
112, 312 Virtual Battery Parameter Storage
113, 313 Resource usage parameter storage unit
12, 32 VM monitor
121, 321 virtual machines 122, 322 guest OS
123, 323 front-end ACPI driver
124,324 Backend ACPI Driver
125, 325 virtual battery emulation unit
13, 33 virtual battery processor
14, 34 virtual battery manager

Claims (25)

호스트 시스템의 호스트 운영 체제(OS) 상에서 적어도 하나의 가상 머신들을 구동할 수 있도록 가상화 환경을 제공하는 가상 머신 모니터 장치로서,
상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 포함하는 가상 배터리 파라미터 저장부로부터 상기 가상 배터리 파라미터들을 읽어들여 상기 가상 머신 상에서 구동되는 게스트 OS의 프론트엔드 드라이버로 제공하는 가상 배터리 에뮬레이션부를 포함하는 가상 머신 모니터 장치.
A virtual machine monitor device that provides a virtualization environment to run at least one virtual machine on a host operating system (OS) of a host system.
A virtual machine including a virtual battery emulation unit that reads the virtual battery parameters from a virtual battery parameter storage unit including a storage space for maintaining virtual battery parameters for each virtual machine and provides the virtual battery parameters to a front end driver of a guest OS running on the virtual machine. Monitor device.
청구항 1에 있어서, 상기 가상 배터리 에뮬레이션부는
상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부에 의해 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성하는 것을 특징으로 하는 가상 머신 모니터 장치.
The method of claim 1, wherein the virtual battery emulation unit
And generating the virtual battery parameter storage unit to be accessible by the virtual battery emulation unit to a memory area or a disk area managed by the host OS.
청구항 2에 있어서, 상기 가상 배터리 에뮬레이션부는 사용자에 의한 설정, 소정의 전력 소비 시나리오, 또는 상기 가상 머신들 각각의 전력 소비 모델 중 어느 하나에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 갱신하도록 동작하는 것을 특징으로 하는 가상 머신 모니터 장치.The virtual battery emulation unit of claim 2, wherein the virtual battery emulation unit updates the virtual battery parameter storage unit with the virtual battery parameters determined according to any one of a setting by a user, a predetermined power consumption scenario, or a power consumption model of each of the virtual machines. Virtual machine monitor device, characterized in that the operation. 청구항 3에 있어서, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율과 CPU의 정격 소비 전력에 기초하는 것을 특징으로 하는 가상 머신 모니터 장치.The apparatus of claim 3, wherein the power consumption model of the virtual machines is based on a CPU occupancy rate and a rated power consumption of the CPU for each of the virtual machines provided by the host OS. 청구항 3에 있어서, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율, 메모리 점유율, 디스크 I/O 점유율, 네트워크 점유율 중 적어도 하나의 정보와 상기 호스트 시스템의 정격 소비 전력에 기초하는 것을 특징으로 하는 가상 머신 모니터 장치.The power consumption model of claim 3, wherein the power consumption model of the virtual machines includes at least one of CPU occupancy, memory occupancy, disk I / O occupancy, network occupancy of the process related to each virtual machine provided by the host OS, and the host system. The virtual machine monitor apparatus, characterized in that based on the rated power consumption of. 청구항 1에 있어서, 상기 가상 배터리 에뮬레이션부는
상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부에서 접근 가능하고 또한 가상 머신 모니터의 외부에서도 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성하는 것을 특징으로 하는 가상 머신 모니터 장치.
The method of claim 1, wherein the virtual battery emulation unit
And generating the virtual battery parameter storage unit so that the virtual battery emulation unit can access the memory area or the disk area managed by the host OS and can be accessed from outside the virtual machine monitor.
청구항 6에 있어서, 상기 호스트 OS는 리눅스 계열의 OS이고,
상기 가상 배터리 파라미터 저장부는 proc 가상 파일 시스템 내의 디렉토리 구조로써 구현되는 것을 특징으로 하는 가상 머신 모니터 장치.
The method of claim 6, wherein the host OS is a Linux-based OS,
The virtual battery parameter storage unit is implemented as a directory structure in a proc virtual file system.
청구항 6에 있어서, 상기 호스트 OS는 윈도즈 계열의 OS이고,
상기 가상 배터리 파라미터 저장부는 호스트 OS의 윈도즈 레지스트리 파일의 일부 엔트리로써 구현되는 것을 특징으로 하는 가상 머신 모니터 장치.
The method of claim 6, wherein the host OS is a Windows-based OS,
And the virtual battery parameter storage unit is implemented as a partial entry of a windows registry file of a host OS.
청구항 1에 있어서, 상기 가상 배터리 파라미터 저장부는
상기 가상 배터리 파라미터들을 상기 가상 머신 별로 상기 호스트 OS가 부여한 프로세스 ID에 기초하여 식별되도록 구분하여 저장하는 것을 특징으로 하는 가상 머신 모니터 장치.
The method of claim 1, wherein the virtual battery parameter storage unit
And storing the virtual battery parameters so that the virtual battery parameters are identified based on a process ID assigned by the host OS for each virtual machine.
컴퓨터를 청구항 1 내지 청구항 9 중 어느 한 청구항에 따른 가상 머신 모니터 장치로 구현할 수 있도록 컴퓨터에서 독출될 수 있는 프로그램이 수록된 기록 매체.A recording medium having a program that can be read by a computer so that the computer can be implemented by the virtual machine monitor device according to any one of claims 1 to 9. 적어도 하나의 가상 머신들을 위한 가상화 환경을 제공하는 가상 머신 모니터를 호스트 운영 체제(OS) 상에서 구동할 수 있는 가상 머신 호스트 시스템으로서,
상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 포함하는 가상 배터리 파라미터 저장부로부터 상기 가상 배터리 파라미터들을 읽어들여 상기 가상 머신 상에서 구동되는 게스트 OS의 프론트엔드 드라이버로 제공하는 가상 배터리 에뮬레이션부를 포함하는 가상 머신 모니터;
상기 가상 배터리 파라미터들을 상기 가상 머신의 전력 소비 모델에 따라 생성하거나 또는 가상의 전력 소비 시나리오에 따라 생성하는 가상 배터리 처리부; 및
사용자를 위해 상기 가상 배터리 파라미터들을 표시하거나 사용자가 임의로 상기 가상 배터리 파라미터들을 설정할 수 있도록 인터페이스를 제공하는 가상 배터리 매니저를 포함하는 가상 머신 호스트 시스템.
A virtual machine host system capable of running a virtual machine monitor on a host operating system (OS) that provides a virtualization environment for at least one virtual machine,
A virtual machine including a virtual battery emulation unit that reads the virtual battery parameters from a virtual battery parameter storage unit including a storage space for maintaining virtual battery parameters for each virtual machine and provides the virtual battery parameters to a front end driver of a guest OS running on the virtual machine. monitor;
A virtual battery processor configured to generate the virtual battery parameters according to a power consumption model of the virtual machine or according to a virtual power consumption scenario; And
And a virtual battery manager for displaying a virtual battery parameters for a user or providing an interface for a user to arbitrarily set the virtual battery parameters.
청구항 11에 있어서, 상기 가상 배터리 에뮬레이션부는
상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부에 의해 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성하는 것을 특징으로 하는 가상 머신 호스트 시스템.
The method of claim 11, wherein the virtual battery emulation unit
And generating the virtual battery parameter storage unit to be accessible by the virtual battery emulation unit to a memory area or a disk area managed by the host OS.
청구항 12에 있어서, 상기 가상 배터리 에뮬레이션부는 사용자에 의한 설정, 소정의 전력 소비 시나리오, 또는 상기 가상 머신들 각각의 전력 소비 모델 중 어느 하나에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 갱신하도록 동작하는 것을 특징으로 하는 가상 머신 호스트 시스템.The virtual battery emulation unit of claim 12, wherein the virtual battery emulation unit is configured to update the virtual battery parameter storage unit with the virtual battery parameters determined according to any one of a setting by a user, a predetermined power consumption scenario, or a power consumption model of each of the virtual machines. Virtual machine host system, characterized in that the operation. 청구항 13에 있어서, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율과 CPU의 정격 소비 전력에 기초하는 것을 특징으로 하는 가상 머신 호스트 시스템.15. The virtual machine host system of claim 13, wherein the power consumption model of the virtual machines is based on the CPU occupancy of the process and the rated power consumption of the CPU for each of the virtual machines provided by the host OS. 청구항 13에 있어서, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율, 메모리 점유율, 디스크 I/O 점유율, 네트워크 점유율 중 적어도 하나의 정보와 상기 호스트 시스템의 정격 소비 전력에 기초하는 것을 특징으로 하는 가상 머신 호스트 시스템.The power consumption model of claim 13, wherein the power consumption model of the virtual machines includes at least one of CPU occupancy, memory occupancy, disk I / O occupancy, network occupancy of the process related to each virtual machine provided by the host OS, and the host system. And based on the rated power consumption of the virtual machine host system. 청구항 11에 있어서, 상기 가상 배터리 에뮬레이션부는
상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역에 상기 가상 배터리 에뮬레이션부, 상기 가상 배터리 처리부 및 상기 가상 배터리 매니저에서 접근 가능하도록 상기 가상 배터리 파라미터 저장부를 생성하는 것을 특징으로 하는 가상 머신 호스트 시스템.
The method of claim 11, wherein the virtual battery emulation unit
And generating the virtual battery parameter storage unit to be accessible to the virtual battery emulation unit, the virtual battery processor, and the virtual battery manager in a memory area or a disk area managed by the host OS.
청구항 16에 있어서, 상기 호스트 OS는 리눅스 계열의 OS이고,
상기 가상 배터리 파라미터 저장부는 proc 가상 파일 시스템 내의 디렉토리 구조로써 구현되는 것을 특징으로 하는 가상 머신 호스트 시스템.
The method of claim 16, wherein the host OS is a Linux-based OS,
The virtual battery parameter storage unit is implemented as a directory structure in a proc virtual file system.
청구항 16에 있어서, 상기 가상 배터리 처리부는
소정의 전력 소비 시나리오, 또는 상기 가상 머신들 각각의 전력 소비 모델 중 어느 하나에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 직접 갱신하도록 동작하는 것을 특징으로 하는 가상 머신 호스트 시스템.
The method of claim 16, wherein the virtual battery processing unit
And operate directly to update the virtual battery parameter storage with the virtual battery parameters determined according to one of a predetermined power consumption scenario or a power consumption model of each of the virtual machines.
청구항 16에 있어서, 상기 가상 배터리 매니저는 사용자에 의한 설정에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 직접 갱신하도록 동작하는 것을 특징으로 하는 가상 머신 호스트 시스템.The virtual machine host system of claim 16, wherein the virtual battery manager operates to directly update the virtual battery parameter storage unit with the virtual battery parameters determined according to a setting by a user. 컴퓨터를 청구항 11 내지 청구항 19 중 어느 한 청구항에 따른 가상 머신 호스트 시스템으로 구현할 수 있도록 컴퓨터에서 독출될 수 있는 프로그램이 수록된 기록 매체.A recording medium containing a program that can be read by a computer so that the computer can be implemented as a virtual machine host system according to any one of claims 11 to 19. 호스트 운영 체제(OS) 상에서 가상 머신 모니터에 의해 구동되는 적어도 하나의 가상 머신들을 위한 가상 배터리 관리 방법으로서,
상기 가상 머신 모니터가, 상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 가지는 가상 배터리 파라미터 저장부를 상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역 내에 생성하는 단계;
상기 가상 배터리 매니저가, 사용자의 설정 또는 디폴트 설정에 따른 가상 배터리 파라미터들을 기초로 상기 가상 배터리 파라미터 저장부를 초기화하는 단계;
상기 가상 배터리 처리부가, 상기 가상 머신들을 위한 전력 소비 시나리오 또는 전력 소비 모델에 따라 상기 가상 배터리 파라미터들을 생성하고, 생성된 가상 배터리 파라미터들을 기초로 가상 배터리 파라미터 저장부를 각각 갱신하는 단계; 및
상기 가상 머신 모니터가, 상기 가상 배터리 파라미터 저장부의 가상 배터리 파라미터들을 상기 가상 머신 상에서 구동 중인 게스트 OS의 프론트엔드 ACPI 드라이버에 전달하는 단계를 포함하는 가상 머신들을 위한 가상 배터리 관리 방법.
A virtual battery management method for at least one virtual machine powered by a virtual machine monitor on a host operating system (OS), the method comprising:
Generating, by the virtual machine monitor, a virtual battery parameter storage unit having a storage space for storing virtual battery parameters for each virtual machine in a memory area or a disk area managed by the host OS;
Initializing, by the virtual battery manager, the virtual battery parameter storage unit based on the virtual battery parameters according to a user's setting or default setting;
Generating, by the virtual battery processor, the virtual battery parameters according to a power consumption scenario or a power consumption model for the virtual machines, and updating the virtual battery parameter storage units based on the generated virtual battery parameters; And
And transmitting, by the virtual machine monitor, the virtual battery parameters of the virtual battery parameter storage unit to a front end ACPI driver of a guest OS running on the virtual machine.
청구항 21에 있어서, 상기 가상 머신들의 전력 소비 모델은 상기 호스트 OS가 제공하는 각 가상 머신들에 관한 프로세스의 CPU 점유율과 CPU의 정격 소비 전력에 기초하는 것을 특징으로 하는 가상 머신들을 위한 가상 배터리 관리 방법.22. The method of claim 21, wherein the power consumption model of the virtual machines is based on the CPU occupancy of the process and the rated power consumption of the CPU for each of the virtual machines provided by the host OS. . 청구항 21에 있어서, 상기 호스트 OS는 리눅스 계열의 OS이고,
상기 가상 배터리 파라미터 저장부는 proc 가상 파일 시스템 내의 디렉토리 구조로써 구현되는 것을 특징으로 하는 가상 머신들을 위한 가상 배터리 관리 방법.
The method of claim 21, wherein the host OS is a Linux-based OS,
The virtual battery parameter storage unit is implemented as a directory structure in a proc virtual file system.
호스트 운영 체제(OS) 상에서 가상 머신 모니터에 의해 구동되는 적어도 하나의 가상 머신들을 위한 가상 배터리 관리 방법으로서,
상기 가상 머신 모니터가, 상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 가지는 가상 배터리 파라미터 저장부를 상기 호스트 OS가 관리하는 메모리 영역 또는 디스크 영역 내에 생성하는 단계;
상기 가상 머신 모니터가, 사용자의 설정 또는 디폴트 설정에 따른 가상 배터리 파라미터들을 기초로 상기 가상 배터리 파라미터 저장부를 초기화하는 단계;
상기 가상 머신 모니터가, 상기 가상 머신들을 위한 전력 소비 시나리오 또는 전력 소비 모델에 따라 생성된 상기 가상 배터리 파라미터들을 기초로, 가상 배터리 파라미터 저장부를 각각 갱신하는 단계; 및
상기 가상 머신 모니터가, 상기 가상 배터리 파라미터 저장부의 가상 배터리 파라미터들을 상기 가상 머신 상에서 구동 중인 게스트 OS의 프론트엔드 ACPI 드라이버에 전달하는 단계를 포함하는 가상 머신들을 위한 가상 배터리 관리 방법.
A virtual battery management method for at least one virtual machine powered by a virtual machine monitor on a host operating system (OS), the method comprising:
Generating, by the virtual machine monitor, a virtual battery parameter storage unit having a storage space for storing virtual battery parameters for each virtual machine in a memory area or a disk area managed by the host OS;
Initializing, by the virtual machine monitor, the virtual battery parameter storage unit based on the virtual battery parameters according to a user's setting or default setting;
Updating, by the virtual machine monitor, a virtual battery parameter store respectively based on the virtual battery parameters generated according to a power consumption scenario or a power consumption model for the virtual machines; And
And transmitting, by the virtual machine monitor, the virtual battery parameters of the virtual battery parameter storage unit to a front end ACPI driver of a guest OS running on the virtual machine.
컴퓨터에서 청구항 21 내지 청구항 24 중 어느 한 청구항에 따른 가상 머신들을 위한 가상 배터리 관리 방법을 구현할 수 있도록 컴퓨터에서 독출될 수 있는 프로그램이 수록된 기록 매체.A recording medium containing a program that can be read by a computer so that the computer can implement the virtual battery management method for the virtual machines according to claim 21.
KR1020120136179A 2012-11-28 2012-11-28 Virtual machine monitor, virtual machine host system and method for providing virtual machines with respective virtual batteries KR101379835B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120136179A KR101379835B1 (en) 2012-11-28 2012-11-28 Virtual machine monitor, virtual machine host system and method for providing virtual machines with respective virtual batteries

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120136179A KR101379835B1 (en) 2012-11-28 2012-11-28 Virtual machine monitor, virtual machine host system and method for providing virtual machines with respective virtual batteries

Publications (1)

Publication Number Publication Date
KR101379835B1 true KR101379835B1 (en) 2014-04-02

Family

ID=50656162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120136179A KR101379835B1 (en) 2012-11-28 2012-11-28 Virtual machine monitor, virtual machine host system and method for providing virtual machines with respective virtual batteries

Country Status (1)

Country Link
KR (1) KR101379835B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602239A4 (en) * 2017-04-24 2020-04-08 Huawei Technologies Co., Ltd. Battery virtualization
CN113360041A (en) * 2021-06-21 2021-09-07 南京南瑞继保电气有限公司 Display method, display device, electronic equipment and storage medium
WO2024096254A1 (en) * 2022-11-04 2024-05-10 주식회사 엘지에너지솔루션 Battery management device and method, and battery system including same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090099583A (en) * 2007-01-18 2009-09-22 노키아 코포레이션 Network oriented control of self-optimization measurements
KR20100123847A (en) * 2008-02-26 2010-11-25 브이엠웨어, 인코포레이티드 Extending server-based desktop virtual machine architecture to client machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090099583A (en) * 2007-01-18 2009-09-22 노키아 코포레이션 Network oriented control of self-optimization measurements
KR20100123847A (en) * 2008-02-26 2010-11-25 브이엠웨어, 인코포레이티드 Extending server-based desktop virtual machine architecture to client machines

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602239A4 (en) * 2017-04-24 2020-04-08 Huawei Technologies Co., Ltd. Battery virtualization
CN113360041A (en) * 2021-06-21 2021-09-07 南京南瑞继保电气有限公司 Display method, display device, electronic equipment and storage medium
CN113360041B (en) * 2021-06-21 2024-04-30 南京南瑞继保电气有限公司 Display method, display device, electronic equipment and storage medium
WO2024096254A1 (en) * 2022-11-04 2024-05-10 주식회사 엘지에너지솔루션 Battery management device and method, and battery system including same

Similar Documents

Publication Publication Date Title
US8032883B2 (en) Controlling access from the virtual machine to a file
US9858095B2 (en) Dynamic virtual machine resizing in a cloud computing infrastructure
EP3210093B1 (en) Configurable volatile memory data save triggers
KR102047558B1 (en) Virtual disk storage techniques
US8909946B2 (en) Efficient power management of a system with virtual machines
US8468522B2 (en) Virtual machine system, system for forcing policy, method for forcing policy, and virtual machine control program
KR102269452B1 (en) Supporting multiple operating system environments in computing device without contents conversion
US20160306644A1 (en) Performance optimization of workloads in virtualized information handling systems
CN101676874A (en) Licy-based hypervisor configuration management
US11579918B2 (en) Optimizing host CPU usage based on virtual machine guest OS power and performance management
KR20160108517A (en) Access isolation for multi-operating system devices
US9753739B2 (en) Operating system management of second operating system
AU2020334772A1 (en) Data preservation using memory aperture flush order
JP5134149B1 (en) Network system and control method thereof
US9141441B2 (en) Managing computing resources through aggregated core management
US10613606B2 (en) Wireless component state based power management
De Alfonso et al. An energy management system for cluster infrastructures
CN101876954A (en) Virtual machine control system and working method thereof
CN113826072B (en) Code update in system management mode
KR101379835B1 (en) Virtual machine monitor, virtual machine host system and method for providing virtual machines with respective virtual batteries
WO2013145434A1 (en) Network system and method for controlling same
Xu et al. Condroid: a container-based virtualization solution adapted for android devices
US9933832B2 (en) Systems and methods for modifying power states in a virtual environment
Grinberg et al. Architectural virtualization extensions: A systems perspective
KR20150039377A (en) Method for device virtualization and apparatus therefor

Legal Events

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

Payment date: 20170102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180316

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee