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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
Description
본 발명은 가상 머신 기술에 관한 것으로, 더욱 상세하게는, 가상 머신 호스트 시스템에 관한 것이다.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
호스트 OS(11)는 가상 머신 호스트 시스템(10)의 ACPI 호환 하드웨어들을 위한 ACPI 드라이버(111)와 가상 배터리 파라미터들을 유지할 저장 공간을 포함하는 가상 배터리 파라미터 저장부(112), 가상 머신 프로세스들의 자원 사용량에 관한 커널 파라미터들을 저장하는 자원 사용량 파라미터 저장부(113)를 더 포함할 수 있다.The host OS 11 includes an
호스트 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
가상 배터리 파라미터 저장부(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
자원 사용량 파라미터 저장부(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
다른 실시예에서는, 가상 배터리 파라미터 저장부(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
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
이러한 가상 배터리 파라미터 디렉토리들은 가상 머신(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
다만, 일반적으로, 호스트 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
도 1로 되돌아가서, 한편, VM 모니터(12)는 가상 머신들(121), 백엔드 ACPI 드라이버(124), 가상 배터리 에뮬레이션부(125)를 포함할 수 있다.1, meanwhile, the VM monitor 12 may include
VM 모니터(12)는 가상 머신들(121)을 구동하고 가상 머신들(121) 상에 게스트 OS(122)와 어플리케이션들을 위해, 게스트 OS(122)와 호스트 OS(11)와 사이에서 메모리나 주변 장치들과 같은 하드웨어에 대한 접근을 중재할 수 있다.The VM monitor 12 drives the
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
그러나 이러한 종래의 동작 환경에서는 게스트 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
반면에, VM 모니터(12)의 가상 배터리 에뮬레이션부(125)는 호스트 OS(11)에 가상 배터리 파라미터 저장부(112)를 생성하고, 예를 들어 가상 배터리 매니저(14)를 통해 사용자가 특정한 설정 상태에 따라 가상 배터리 파라미터 저장부(112)에 가상 배터리 파라미터 값들을 기록하며, 또한 가상 배터리 파라미터 저장부(112)에 기록된 가상 배터리 파라미터 값들을 읽어들이고, 읽어들인 가상 배터리 파라미터들을, VM 모니터(12)의 백엔드 ACPI 드라이버(124)에 우선하여, 각 가상 머신들에서 구동 중인 게스트 OS(122)의 프론트엔드 ACPI 드라이버(123)로 제공한다.On the other hand, the virtual
구체적으로, 가상 배터리 에뮬레이션부(125)는 각각의 가상 배터리들이 식별되도록 가상 배터리 파라미터 디렉토리 구조를 생성하며, 생성된 가상 배터리 파라미터 디렉토리 구조에 따라 가상 배터리 파라미터 저장부(112)를 소정의 메모리 영역 또는 디스크 영역에, 바람직하게는 proc 가상 파일 시스템 또는 레지스트리 내에 생성할 수 있다.In detail, the virtual
이때, 가상 배터리 에뮬레이션부(125)는 호스트 OS(11)가 제공하는 프로세스 리스트로부터 가상 머신들(121)의 PID(Process ID)를 획득하고, 획득한 PID을 기초로 가상 배터리 파라미터 디렉토리명을 지정함으로써 가상 배터리들을 식별시킬 수 있다.At this time, the virtual
예를 들어 리눅스 계열의 호스트 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
가상 배터리 처리부(13)는 가상 배터리의 파라미터들을 실제 시스템의 동작을 모방한 가상 머신의 전력 소비 모델에 따라 생성하거나 또는 가상의 전력 소비 시나리오에 따라 생성할 수 있다. 예를 들어, 가상 배터리 처리부(13)는 배터리의 방전 또는 충전을 모방하여 가상 배터리의 충전량 파라미터 값을 새로 결정할 수 있다.The
일 실시예에서, 가상 배터리 처리부(13)는 결정된 충전량 파라미터 값을 직접 가상 배터리 파라미터 저장부(112)에 접근하여 갱신할 수 있다.In one embodiment, the
나아가, 가상 배터리 처리부(13)는 호스트 OS(11)가 제공하는 프로세스마다의 부하(load) 정보를 이용하여 가상 배터리의 방전 동작을 모방할 수 있다.In addition, the
실제 시스템에서 연산 집중적인 어플리케이션이 동작하면 높은 점유율을 가지고 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
구체적으로 예를 들면, 리눅스 계열의 호스트 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
가상 배터리 처리부(13)는, 각 가상 머신(121)에 관하여, 추정된 소비 전력량만큼 직전의 가상 배터리 충전량 파라미터 값에서 차감하여 현재의 가상 배터리 충전량 파라미터 값을 결정한다.The virtual
하지만, 가상 배터리 처리부(13)가 반드시 실제의 배터리를 모방할 필요는 없으며, 가상 배터리 처리부(13)는 가상 머신 프로세스의 부하에 상관없이 가상의 전력 소비 환경을 가정한 소정의 전력 소비 시나리오에 따라 가상 배터리 충전량 파라미터들을 결정할 수도 있다. However, the
실시예에 따라, 가상 배터리 처리부(13)는, 각 가상 머신(121)에 관하여 결정된 현재 충전량 파라미터 값을 직접 가상 배터리 파라미터 저장부(112)에 접근하여 갱신할 수도 있다.According to an exemplary embodiment, the
한편, 이러한 가상 배터리들에 관하여 사용자는 가상 머신(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
가상 배터리 매니저(14)는 VM 모니터(12)로부터, 또는 프로세스 상태 정보를 분석하여, 현재 구동 중인 가상 머신(121)들의 목록 정보를 획득하고, 가상 배터리 파라미터 저장부(112)로부터 직접 읽어들인 가상 배터리 파라미터 값들로부터 가상 머신(121) 별로 현재의 가상 배터리의 설계 용량, 충전량, 충전/방전 상태 등을 화면에 표시하며, 사용자에 의해 가상 배터리 사용 여부, 가상 배터리의 설계 용량, 충전량, 충전/방전 상태의 설정 상태가 변경되면 직접 가상 배터리 파라미터 저장부(112)를 변경된 설정 상태로 갱신할 수 있다.The
이렇게 가상 배터리 파라미터들이 설정 및 갱신되면, 가상 머신들(121)은 제공되는 가상 배터리 파라미터들에 따라 정상 모드에서 절전 모드 또는 최대 절전 모드로 진입할 수 있다. When the virtual battery parameters are set and updated in this way, the
또한 가상 머신들(121)의 프로세스 부하를 반영하여 가상 배터리를 방전시킴으로써 실제 머신에서 해당 어플리케이션이 동작할 때에 실제 배터리의 충전량 감소 정도를 예측할 수 있다.In addition, by discharging the virtual battery by reflecting the process load of the
도 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
예를 들어, 가상 배터리 처리부(33)는 전력 소비 시나리오 또는 전력 소비 모델을 통해 결정된 충전량 파라미터 값들을 VM 모니터(32)의 가상 배터리 에뮬레이션부(325)에 전달하여, 가상 배터리 에뮬레이션부(325)로 하여금 가상 배터리 파라미터 저장부(312)의 관련 내용을 갱신하도록 할 수 있다.For example, the
또한, 가상 배터리 매니저(34)도, 가상 배터리 에뮬레이션부(325)를 통해 가상 배터리 파라미터 저장부(312)로부터 읽어들인 가상 배터리 파라미터 값들로부터 가상 머신(321) 별로 현재의 가상 배터리의 설계 용량, 충전량, 충전/방전 상태 등을 화면에 표시하며, 사용자에 의해 가상 배터리 사용 여부, 가상 배터리의 설계 용량, 충전량, 충전/방전 상태의 설정 상태가 변경되면 변경된 설정 상태들을 VM 모니터(32)의 가상 배터리 에뮬레이션부(325)에 전달하여, 가상 배터리 에뮬레이션부(325)로 하여금 가상 배터리 파라미터 저장부(312)의 관련 내용을 갱신하도록 할 수 있다.In addition, the
도 3의 실시예는, 접근 권한이 상대적으로 덜 엄격한 proc 가상 파일 시스템을 이용하지 못하는 가상 머신 호스팅 환경에서, 가상 배터리 파라미터 저장부(312)가 가상 배터리 에뮬레이션부(325)에 의해서만 제한적으로 접근될 수 있고 가상 배터리 처리부(33)나 가상 배터리 매니저(34)는 직접 접근하기 어려운 특정한 어플리케이션 메모리 영역에 가상 배터리 파라미터 저장부(312)를 생성해야 하는 경우에는 유리하게 활용될 수 있다.3, the virtual battery parameter storage unit 312 may be limitedly accessed only by the virtual
도 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
단계(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
단계(S43)에서, 가상 배터리 처리부(13)가 가상 머신(121)의 전력 소비 시나리오 또는 전력 소비 모델에 따라 가상 배터리 파라미터들을 생성하고, 생성된 가상 배터리 파라미터들을 기초로 가상 배터리 파라미터 저장부(112)를 각각 갱신한다.In step S43, the
이때, 일 실시예에서, 가상 배터리 파라미터들은 가상 배터리 처리부(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
다른 실시예에서, 가상 배터리 파라미터들은 가상 배터리 처리부(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
단계(S44)에서, VM 모니터(12)의 가상 배터리 에뮬레이션부(125)가, 가상 배터리 파라미터 저장부(112)의 가상 배터리 파라미터들을 가상 머신(121) 상에서 구동 중인 게스트 OS(122)의 프론트엔드 ACPI 드라이버에 전달한다.In step S44, the virtual
사용자의 설정 동작이 없는 한, 단계(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
112, 312 Virtual Battery Parameter Storage
113, 313 Resource usage parameter storage unit
12, 32 VM monitor
121, 321
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의 프론트엔드 드라이버로 제공하는 가상 배터리 에뮬레이션부를 포함하는 가상 머신 모니터 장치.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.
상기 호스트 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.
상기 호스트 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.
상기 가상 배터리 파라미터 저장부는 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.
상기 가상 배터리 파라미터 저장부는 호스트 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.
상기 가상 배터리 파라미터들을 상기 가상 머신 별로 상기 호스트 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.
상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 포함하는 가상 배터리 파라미터 저장부로부터 상기 가상 배터리 파라미터들을 읽어들여 상기 가상 머신 상에서 구동되는 게스트 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.
상기 호스트 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.
상기 호스트 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.
상기 가상 배터리 파라미터 저장부는 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.
소정의 전력 소비 시나리오, 또는 상기 가상 머신들 각각의 전력 소비 모델 중 어느 하나에 따라 결정된 상기 가상 배터리 파라미터들로써 상기 가상 배터리 파라미터 저장부를 직접 갱신하도록 동작하는 것을 특징으로 하는 가상 머신 호스트 시스템.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.
상기 가상 머신 모니터가, 상기 가상 머신 별로 가상 배터리 파라미터들을 유지할 저장 공간을 가지는 가상 배터리 파라미터 저장부를 상기 호스트 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.
상기 가상 배터리 파라미터 저장부는 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의 프론트엔드 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.
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)
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)
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 |
-
2012
- 2012-11-28 KR KR1020120136179A patent/KR101379835B1/en not_active IP Right Cessation
Patent Citations (2)
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)
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 |