JP6032089B2 - 管理プログラム、装置及び方法 - Google Patents

管理プログラム、装置及び方法 Download PDF

Info

Publication number
JP6032089B2
JP6032089B2 JP2013063349A JP2013063349A JP6032089B2 JP 6032089 B2 JP6032089 B2 JP 6032089B2 JP 2013063349 A JP2013063349 A JP 2013063349A JP 2013063349 A JP2013063349 A JP 2013063349A JP 6032089 B2 JP6032089 B2 JP 6032089B2
Authority
JP
Japan
Prior art keywords
virtual machine
information processing
information
operating system
type
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2013063349A
Other languages
English (en)
Other versions
JP2014191368A (ja
Inventor
安男 吉本
安男 吉本
宏己 住田
宏己 住田
彬 呉羽
彬 呉羽
陽介 近藤
陽介 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013063349A priority Critical patent/JP6032089B2/ja
Priority to US14/171,260 priority patent/US9542217B2/en
Publication of JP2014191368A publication Critical patent/JP2014191368A/ja
Application granted granted Critical
Publication of JP6032089B2 publication Critical patent/JP6032089B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Description

本発明は、仮想マシンの管理技術に関する。
データセンタに構築されるクラウドシステムにおいては、物理サーバが処理を実行することによって電力が消費される。物理サーバにおいて動作する仮想マシンは常に処理を実行しているわけではなく、処理を実行していない(すなわち、アイドル状態である)仮想マシンもある。物理サーバは、物理サーバにおいて動作する仮想マシンがアイドル状態であっても電力を消費するため、省エネルギーの観点から、アイドル状態である仮想マシンを可能な限り停止するのが好ましい。
しかし、クラウドシステムにおいては、管理者が仮想マシンに関して取得できる情報は限られている。管理者は、例えば、仮想マシンのCPU(Central Processing Unit)負荷、メモリ使用率、I/O(Input/Output)負荷又はネットワークにおけるデータ転送量等について知ることはできるが、仮想マシンがアイドル状態であるか否かについて知ることはできない。これは、仮想マシンの情報は仮想マシンの利用者の情報であり、管理者が利用者の情報を取得できるのは問題であるためである。
クラウドシステムの消費電力の削減に関して、以下のような技術が知られている。具体的には、複数のブレードサーバが配置されたシステムにおいて、ブレードサーバにおいて動作する仮想マシンの消費電力を測定し、ブレードサーバに設定された最大電力を超えないように仮想マシンを集約(すなわち片寄せ)する。そして、集約によって仮想マシンが起動されなくなったブレードサーバを停止することにより、システムの消費電力を削減する。
しかし、この技術においては、アイドル状態である仮想マシンを特定することは想定されていない。この技術においては、アイドル状態である仮想マシンであっても、アイドル状態ではない仮想マシンと同様にブレードサーバに集約される。そのため、アイドル状態である仮想マシンを停止することはできず、消費電力の削減量が限られている。
特許第4488072号
従って、本発明の目的は、1つの側面では、アイドル状態である仮想マシンを特定するための技術を提供することである。
本発明に係る管理方法は、情報処理装置において動作する仮想マシンを管理する管理装置により実行される管理方法である。そして、本管理方法は、処理を実行しない第1の仮想マシンを情報処理装置に配備することを要求する配備要求を情報処理装置に送信し、第1の仮想マシンの動作に関する情報及び情報処理装置において動作する、第1の仮想マシン以外の仮想マシンの動作に関する情報を、情報処理装置から取得し、取得された第1の仮想マシンの動作に関する情報と第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する処理を含む。
アイドル状態である仮想マシンを特定できるようになる。
図1は、本実施の形態に係るシステム概要を示す図である。 図2は、管理サーバの機能ブロック図である。 図3は、物理サーバの機能ブロック図である。 図4は、システムの構成の一例を示す図である。 図5は、制御データ格納部に格納されるデータの一例を示す図である。 図6は、直近及び過去の期間について説明するための図である。 図7は、メインの処理フローを示す図である。 図8は、サーバデータの一例を示す図である。 図9は、VMデータの一例を示す図である。 図10は、性能データの一例を示す図である。 図11は、集計された性能データの一例を示す図である。 図12は、性能に関する数値と閾値との比較について説明するための図である。 図13は、性能に関する数値と閾値との比較について説明するための図である。 図14は、メインの処理フローを示す図である。 図15は、停止の優先順位を決定する際のルールを示す図である。 図16は、メインの処理フローを示す図である。 図17は、手順のデータの一例を示す図である。 図18は、手順のデータの一例を示す図である。 図19は、手順のデータの一例を示す図である。 図20は、本実施の形態の効果について説明するための図である。 図21は、本実施の形態を適用しない場合におけるアイドルVMの検出について説明するための図である。 図22は、本実施の形態を適用する場合におけるアイドルVMの検出について説明するための図である。 図23は、ストレージ装置が消費する電力の削減方法について説明するための図である。 図24は、ストレージ装置が消費する電力の削減方法について説明するための図である。 図25は、物理サーバの電力特性を示す図である。 図26は、VMに割り当てるメモリの量と性能との関係について説明するための図である。 図27は、データセンタにおけるCPU使用率について説明するための図である。 図28は、ネットワークにおけるデータ転送量の時系列変化を示す図である。 図29は、ネットワークにおけるデータ転送量の時系列変化を示す図である。 図30は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、本実施の形態に係るシステム概要を示す。本実施の形態における主要な処理を実行する管理サーバ1は、LAN(Local Area Network)等のネットワーク3を介して物理サーバA乃至Cと接続されている。物理サーバA乃至Cは、例えば、データセンタ等に設置されたブレードサーバである。なお、図1においては物理サーバの数は3であるが、物理サーバの数に限定は無い。
図2に、管理サーバ1の機能ブロック図を示す。図2の例では、管理サーバ1は、制御データ格納部101と、前処理部102と、収集部103と、収集データ格納部104と、設定部105と、第1特定部107、第2特定部108及び生成部109を含む計画部106と、手順データ格納部110と、実行部111とを含む。
前処理部102は、制御データ格納部101に格納されているデータを用いて処理を行い、処理結果を収集部103に出力する。収集部103は、サーバデータ、VMデータ及び性能データを収集し、収集データ格納部104に格納する。設定部105は、収集データ格納部104に格納されているデータを用いて、VMの停止順番を求める処理を実行する。第1特定部107は、使用電力が目標電力を下回るサーバの組合せを探索する処理を実行し、処理結果を生成部109に出力する。第2特定部108は、VMの配置の組合せを特定する処理を実行し、処理結果を生成部109に出力する。生成部109は、第1特定部107から受け取ったデータ及び第2特定部108から受け取ったデータを用いて、消費電力を削減する手順のデータを生成し、手順データ格納部110に格納する。実行部111は、手順データ格納部110に格納されている手順のデータに従い、消費電力を削減するための処理を実行する。なお、データセンタにおける作業を自動化するためのソフトウェアが開発されているので、そのようなソフトウェアを利用することで実行部111を実現することができる。
図3に、物理サーバA乃至Cの機能ブロック図を示す。図3の例では、物理サーバA乃至Cは、制御部50と、業務処理を実行するVM(Virtual Machine)501乃至503とを含む。制御部50は、VMを実行するための制御ソフトウェアであるハイパバイザであり、制御部50によってVM501乃至503が実現される。なお、VMの数に限定は無い。
以下では、説明をわかりやすくするため、図4に示すような状態において消費電力を削減することを考える。すなわち、物理サーバAのホスト1上にはVM1乃至4が実現されており、物理サーバBのホスト2上にはVM5乃至7が実現されており、物理サーバCのホスト3上にはVM8乃至10が実現されている。ホストは、VMを実行するための制御ソフトウェアである(制御ソフト50である場合もある)。各VMには、各仮想システムのOS(Operating System)が含まれる。各物理サーバの物理メモリの量は32GB(ギガバイト)であるとする。図4においてVM名の下に示された数値は、CPU使用率と割り当てられたメモリ量とを表す。物理サーバAの消費電力は250W(ワット)であり、物理サーバBの消費電力は255Wであり、物理サーバCの消費電力は190Wであるため、合計の消費電力は695Wである。
図5に、制御データ格納部101に格納される制御文のデータの一例を示す。図5の例では、目標電力を指定するデータ(「PowerLimit=・・・」の部分)と、物理サーバのホスト名、最大消費電力及び待機電力を指定するデータ(「Server=・・・」の部分)と、直近及び過去の期間を指定するデータ(「TimeRange=・・・」の部分)と、性能データが格納されるフォルダを指定するデータ(「LogDir=・・・」の部分)と、アイドル状態であるVM(以下、アイドルVMと呼ぶ)を検出した際に直ちにそのアイドルVMを停止するか否かを指定するデータ(「Idlestop=・・・」の部分)と、VM名及び業務優先順位を指定するデータ(「VM=・・・」の部分)とを含む。
目標電力は、例えば消費電力を20%カットする場合695×(1−0.2)=556Wであり、例えば消費電力を50%カットする場合695×(1−0.5)=358Wであり、例えば消費電力を80%カットする場合695×(1−0.8)=139Wであり、例えば消費電力を100%カットする場合695×1=695Wである。
物理サーバのホスト名等は、電力削減の対象になる物理サーバについて指定される。例えば管理サーバ等、消費電力削減の対象にならないサーバについては指定されない。待機電力は、カタログ又は仕様書等に記載されているデータを用いてもよいし、実際に測定してもよい。
直近の期間は、例えば図6に示すように、過去の1時点(図6の例では、9/10 13:00)から現在(図6の例では、9/11 13:00)までの時間の長さによって指定する。過去の期間は、過去の1時点((図6の例では、9/4 13:00))から直近の期間の開始時点((図6の例では、9/10 13:00))までの時間の長さによって指定する。
性能データは、CPU使用率、メモリ使用量、ディスク装置等のI/Oデータ量及びネットワークにおけるデータ転送量等を含むデータであり、指定されたフォルダに格納される。
制御文のデータに、Idlestop=dynamicというデータが含まれる場合には、アイドルVMを検出した際にそのVMを直ちに停止する。Idlestop=dynamicというデータが含まれない場合には、実際にVMの移動をする段階で停止する。
業務優先順位は、VMが実行する業務処理の優先順位を表す。0である場合、たとえVMがアイドル状態であっても停止されることはない。例えば、VM利用者と管理者との間で停止不可の契約を結んでいる場合には業務優先順位は0である。優先順位の値が1以上である場合には、アイドル状態であればVMが停止される可能性がある。
次に、図7乃至図24を用いて、管理サーバ1の動作について説明する。管理サーバ1の制御データ格納部101には、管理者による指定を含む制御文のデータが格納されているとする。そして、管理サーバ1に対して管理者から消費電力削減モードの運用開始が指示されたとする。
まず、管理サーバ1の前処理部102は、運用開始指示を受け付けると、運用開始を示す通知を、例えばメールによりVM利用者の端末に通知する(図7:ステップS1)。
前処理部102は、制御データ格納部101から、制御文のデータを読み出す(ステップS3)。
前処理部102は、制御文のデータにおいて指定されている物理サーバに、OSの種別(例えば、Windows(登録商標)或いはLinux(登録商標)等)毎にアイドルVMを配備することを要求する配備要求を送信する(ステップS5)。なお、物理サーバには、VMのOSであるゲストOSが複数種別存在する場合がある。そのような場合には、物理サーバに、OSの種別毎にアイドルVMを配備させる。例えば、図3に示した物理サーバにおいて実行するVMのOSがOS#1及びOS#2である場合には、OSがOS#1であるアイドルVM及びOSがOS#2であるアイドルVMを配備させる。
なお、属性(例えば、物理サーバの機種、物理サーバにインストールされたOS又は接続環境等)が同じである複数の物理サーバが配置されている場合、複数の物理サーバの各々にアイドルVMを配備すると資源の無駄になる。そのような場合には、複数の物理サーバのうちいずれか1つの物理サーバにアイドルVMを配備するようにしてもよい。但し、運用を継続しているうちに複数の物理サーバが異なる属性になる可能性があるため、定期的にアイドルVMを配備して確認をする方がよい。
前処理部102は、運用終了の条件を満たすか判断する(ステップS7)。運用終了の条件とは、例えば、現在の時刻が運用終了の時刻になるという条件である。
運用終了の条件を満たさない場合(ステップS7:Noルート)、前処理部102は、制御文のデータを含む、処理の実行要求を収集部103に要求する。これに応じ、収集部103は、サーバデータ及びVMデータを物理サーバA乃至Cから収集し、収集データ格納部104に格納する(ステップS9)。なお、収集部103は、サーバデータを収集データ格納部104におけるサーバテーブルに格納し、VMデータを収集データ格納部104におけるVMテーブルに格納する。
図8に、サーバデータの一例を示す。図8の例では、ホスト名と、消費電力の最大値と、待機電力と、プロセッサ周波数と、仮想CPUの数と、メモリ量と、状態を示すデータとを含む。収集部103は、ホスト名、消費電力の最大値及び待機電力を、管理サーバ1が管理するデータ格納部(図示せず)或いは物理サーバから取得する。また、収集部103は、プロセッサ周波数、仮想CPUの数及びメモリ量を、例えば、物理サーバにインストールされているサーバ管理用ソフトウェアから取得する。状態を示すデータは、物理サーバが稼動していればrunであり、稼動していなければstopである。状態を示すデータは、生死監視の技術を用いて取得することができる。生死監視の技術はよく知られているので、ここでは詳細な説明を省略する。
図9に、VMデータの一例を示す。図9の例では、VM名と、ホスト名と、割り当てられた仮想CPUの数と、割り当てられたメモリ量と、業務優先順位と、停止優先順位と、アイドル時間と、停止順番とを含む。業務優先順位、停止優先順位、アイドル時間及び停止順番は、ステップS9の時点では設定されず、後の処理において設定される。VM名、ホスト名、割り当てられた仮想CPUの数及び割り当てられたメモリ量は、物理サーバにおける制御部50から取得される。
収集部103は、サーバテーブルにおける状態を示すデータを走査することにより、稼動中のサーバが無いか判断する(ステップS11)。稼動中のサーバが無い場合(ステップS11:Yesルート)、消費電力を削減することはできないので、ステップS7の処理に戻る。そして、次の所定時刻になった場合にステップS7の処理を実行する。これにより、処理を定期的に行うことができる。
一方、稼動中のサーバが有る場合(ステップS11:Noルート)、収集部103は、性能データを収集し、収集データ格納部104に格納する(ステップS12)。
図10に、性能データの一例を示す。図10の例では、日時と、VM名と、CPU使用率と、I/Oデータ量と、ネットワークにおけるデータ転送量とを含む。収集部103は、定期的に、制御文のデータにおけるLogDirで指定されたフォルダにアクセスし、性能データを収集する。
なお、収集部103は、収集された性能データを直近及び過去の期間について集計する。図11に、集計された性能データの一例を示す。図11の例では、直近及び過去の期間について、平均のCPU使用率と、平均のI/Oデータ量と、平均のデータ転送量と、アイドル状態であるか否かを示すデータと、その期間内におけるアイドル時間とを含む。Runはアイドル状態ではないことを表し、Idleはアイドル状態であることを表す。なお、ステップS12の処理の時点においては、アイドル状態であるか否かを示すデータ及びアイドル時間は格納されていない。
収集部103は、ステップS5の処理により配備されたアイドルVMについて集計された性能データから閾値を算出し(ステップS13)、メインメモリ等の記憶装置に格納する。閾値は、例えば、直近の期間におけるアイドルVMの性能に関する数値をそのまま用いる或いは所定の割合をその数値に乗じることにより求める。なお、ステップS13の処理は1回実行すれば十分であり、2回目以降は実行しなくてもよい処理であるため、図7において点線のブロックで示している。
収集部103は、VMの性能に関する数値とステップS13において算出された閾値とを比較することにより、現時点においてアイドル状態であるVMを特定する(ステップS14)。本実施の形態においては、CPU使用率、I/Oデータ量及びネットワークにおけるデータ転送量のいずれもが閾値以下であるVMを、アイドルVMであると判定することとする。
収集部103は、現時点においてアイドル状態であるVMが有り且つ「idlestop=dynamic」が設定されているか判断する(ステップS15)。現時点においてアイドル状態であるVMが無い又は「idlestop=dynamic」が設定されていない場合(ステップS15:Noルート)、処理は端子Aを介して図14のS19に移行する。
一方、現時点においてアイドル状態であるVMが有り且つ「idlestop=dynamic」が設定されている場合(ステップS15:Yesルート)、収集部103は、アイドルVMの停止要求をそのVMを実行する物理サーバに送信する。また、収集部103は、そのVMについて起動ガードの実行を要求する起動ガード要求を物理サーバに要求する(ステップS17)。これに応じ、物理サーバにおける制御部50は起動ガードを実行する。起動ガードとは、特定のVMが実行されないように制御することである。そして処理は端子Aを介して図14のS19に移行する。
図14の説明に移行し、収集部103は、過去及び直近について、VM毎にアイドル時間を算出し、アイドル時間及びアイドル状態であるか否かを示すデータを図11に示したテーブルに格納する(ステップS19)。例えば、直近においてアイドル時間の比率が90%以上である場合には直近の期間についてはアイドル状態であると判定し、過去においてアイドル時間の比率が90%以上である場合には過去の期間についてはアイドル状態であると判定する。
図12及び図13を用いて、性能に関する数値と閾値との比較について説明する。図12に、データ転送量の時系列変化の一例を示す。図12においては、縦軸がデータ転送量(KB/s)を表し、横軸が時刻を表す。点線は閾値を表し、閾値の大きさは5KB/sである。図12の例では、VM1乃至VM4のデータ転送量は期間中5KB/s以下であるため、CPU使用率及びI/Oデータ量も閾値以下である場合にはアイドル状態であると判定される。
図13に、CPU使用率の時系列変化の一例を示す。図13においては、縦軸がCPU使用率(%)を表し、横軸が時刻を表す。点線は閾値を表し、閾値の大きさは10%である。図13の例では、VM1及びVM3のCPU使用率はほぼ全期間において10%以下であるが、VM2及びVM4のCPU使用率は特に後半に10%を超えることが多い。このような場合には、VM2及びVM4については、アイドル状態ではないと判定されることになる。
なお、直近及び過去について、アイドル時間の比率が90%以上である場合にアイドルVMであると判定しているのは、一時的な処理(例えばウイルススキャン等)の影響によりアイドルVMではないと判定されるのを防ぐためである。
図14の説明に戻り、設定部105は、停止の優先順位、業務の優先順位及びアイドル時間をVMテーブルに設定する。また、設定部105は、停止の優先順位、業務の優先順位及びアイドル時間に基づきVMの停止順番を求め(ステップS21)、VMテーブルに設定する。
停止の優先順位は、例えば図15に示すルールに従い設定する。すなわち、過去及び直近のいずれもアイドル状態であるというパターン、直近だけがアイドル状態であるというパターン、過去だけがアイドル状態であるというパターン、いずれもアイドル状態ではないというパターンの順に順位を上にする。備考は、各パターンにおけるユーザの特徴を示すデータである。このようなルールのデータは、管理サーバ1におけるデータ格納部(図示せず)に格納されている。
業務の優先順位は、制御データ格納部101に格納されているデータを用いて決定する。
本実施の形態においては、設定部105は、第1キーを業務優先順位、第2キーを停止優先順位、第3キーをアイドル時間としてVMテーブルを降順にソートする。そして、設定部105は、先頭行から順に停止順番を割り振る。
図14の説明に戻り、第1特定部107は、現在の電力が、制御データ格納部101において指定されている目標電力以下であるか判断する(ステップS23)。現在の電力は、例えば電力センサによって取得した、各物理サーバの消費電力の合計を用いる。現在の電力が目標電力以下である場合(ステップS23:Yesルート)、これ以上VMを停止しなくてもよいので、処理は端子Bを介して図7のステップS7の処理に戻る。そして、次の所定時刻になった場合にステップS7の処理を実行する。これにより、処理を定期的に行うことができる。
一方、現在の電力が目標電力より大きい場合(ステップS23:Noルート)、第1特定部107は、使用電力が目標電力を下回るサーバの組合せを探索する(ステップS25)。ステップS25において、第1特定部107は、サーバテーブルにおける消費電力の最大値を用いて組合せを探索する。
例えば、サーバテーブルに図8に示したデータが格納されており且つ目標電力が556W(すなわち消費電力を20%削減)である場合、以下の6つの組合せが検出される。(1)ホスト1及びホスト2(262W+262W+16W=540W<556W)、(2)ホスト1及びホスト3(262W+16W+262W=540W<556W)、(3)ホスト2及びホスト3(16W+262W+262W=540W<556W)、(4)ホスト1(262W+16W+16W=294W<556W)、(5)ホスト2(16W+262W+16W=294W<556W)、(6)ホスト3(16W+16W+262W=294W<556W)。
例えば、サーバテーブルに図8に示したデータが格納されており且つ目標電力が348W(すなわち消費電力を50%削減)である場合、以下の3つの組合せが検出される。(1)ホスト1(262W+16W+16W=294W<348W)、(2)ホスト2(16W+262W+16W=294W<348W)、(6)ホスト3(16W+16W+262W=294W<348W)。
なお、例えば消費電力を80%或いは100%削減するように指定された場合には、該当する組合せは無い。
第1特定部107は、サーバの組合せが1つも無いか判断する(ステップS27)。サーバの組合せが1つも無い場合(ステップS27:Yesルート)、第1特定部107は、生成部109に処理の実行を要求する。これに応じ、生成部109は、全サーバの電源を落とす手順又は全サーバへの電力供給を断つ手順のデータを生成し(ステップS29)、手順データ格納部110に格納する。処理は端子Cを介して図16のステップS43に移行する。このように、サーバの組合せが1つも無い場合には全サーバへの電力供給を断つことで、消費電力を目標電力以下にすることを保証できるようになる。
なお、サーバへの電力供給を断つ方法には、例えば、サーバのメインスイッチを切るという方法、分電盤におけるブレーカーを落とすという方法及びコンセントを抜くという方法等がある。なお、自動で実行することができない処理については、手順を示すデータを表示装置等に出力することにより、管理者等に作業を行わせるようにしてもよい。
図17に、ステップS29において生成される手順のデータの一例を示す。図17の例では、VM1、VM2及びVM4乃至VM9を停止する処理と、ホスト1乃至3のサーバの電源をオフにする処理とを示すデータが含まれる。
一方、サーバの組合せが少なくとも1つ有る場合(ステップS27:Noルート)、第2特定部108は、サーバの組合せ毎にVMの配置の組合せを探索する(ステップS31)。
例えば消費電力を20%削減する場合について考える。本実施の形態の例においては、Idlestop=dynamicが指定されているため、VM3及びVM10は既に削除されている。従って、例えば以下のような組合せが存在する。
(1)ホスト1において、VM1、VM2、VM4及びVM8を実行する。メモリ使用量は8GB×4=32GBであり、物理メモリ量32GBより少ない。ホスト2においては、VM5、VM6、VM7及びVM9を実行する。メモリ使用量は8GB×2+4GB×2=24GBであり、物理メモリ量32GBより少ない。VMの移動回数は2回であり、移動するデータの量は8GB(VM8)+4GB(VM9)=12GBである。
(2)ホスト1において、VM1、VM2、VM4及びVM9を実行する。メモリ使用量は8GB×3+4GB=28GBであり、物理メモリ量32GBより少ない。ホスト2においては、VM5、VM6、VM7及びVM8を実行する。メモリ使用量は8GB×3+4GB=28GBであり、物理メモリ量32GBより少ない。VMの移動回数は2回であり、移動するデータの量は8GB(VM8)+4GB(VM9)=12GBである。
(3)ホスト1において、VM1、VM2、VM4及びVM5を実行する。メモリ使用量は8GB×4=32GBであり、物理メモリ量32GBより少ない。ホスト2においては、VM6、VM7、VM8及びVM9を実行する。メモリ使用量は8GB×2+4GB×2=24GBであり、物理メモリ量32GBより少ない。VMの移動回数は3回であり、移動するデータの量は8GB(VM5)+8GB(VM8)+4GB(VM9)=20GBである。
また、消費電力を50%削減する場合について考える。この場合には物理サーバを1台しか使用することができないため、物理メモリ量の制約から、全てのVMを配備することはできない。例えば、稼動させる物理サーバにVM1、VM2、VM6及びVM7を起動するという組合せが考えられる。この際、停止するVMはVM4、VM5、VM8及びVM9である。
図14の説明に戻り、第2特定部108は、VMの配置の組合せが1つも無いか判断する(ステップS33)。ステップS33においては、停止せざるを得ないVMが1つでも存在すれば、VMの配置の組合せが無いと判断する。VMの配置の組合せが少なくとも1つ有る場合(ステップS33:Noルート)、処理は端子Dを介して図16のステップS39に移行する。
一方、VMの配置の組合せが1つも無い場合(ステップS33:Yesルート)、第2特定部108は、VMテーブルに設定されている停止順番に従い、停止するVMを特定する(ステップS35)。ステップS35においては、1又は複数の停止するVMを特定することにより、残りのVMをいずれかの物理サーバに配置できるようにする。
第2特定部108は、ステップS35において特定されたVM以外のVMについて、配置の組合せを特定する(ステップS37)。そして処理は端子Dを介して図16のステップS39に移行する。
図16の説明に移行し、第2特定部108は、ステップS37において特定された組合せの中から、最適なVMの配置を特定する(ステップS39)。ここで、最適な配置とは、VMの移動回数が最も少なく且つ移動するデータの量が最も少ない配置である。第2特定部108は、特定された配置を示すデータを生成部109に出力する。
生成部109は、特定された配置を実現するための手順のデータを生成し(ステップS41)、手順データ格納部110に格納する。
図18及び図19に、ステップS41において生成される手順のデータの一例を示す。図18の例では、VM10を停止する処理と、VM8及び9を移動する処理と、ホスト3のサーバの電源をオフにする処理とを示すデータが含まれる。また、図19の例では、VM4、VM5、VM8及びVM9を停止する処理と、VM6及びVM7を移動する処理と、ホスト2及び3のサーバの電源をオフにする処理とを示すデータが含まれる。
実行部111は、手順データ格納部110から読み出した手順のデータに従い、消費電力を目標電力以下にするための手順を実行する(ステップS43)。
図7の説明に戻り、ステップS7において運用終了の条件を満たすと判断された場合(ステップS7:Yesルート)、前処理部102は、起動ガードが実行されているVMについて起動ガードの解除を要求する起動ガード解除要求を物理サーバに要求する(ステップS45)。これに応じ、起動ガード解除要求を受信した物理サーバにおける制御部50は、起動ガードが実行されているVMについて起動ガードを解除する。
前処理部102は、通常どおりの運用を再開するための処理(例えば、負荷分散機構の有効化等)を実行する(ステップS47)。また、前処理部102は、運用終了を示す通知をVMの利用者の端末に送信する(ステップS49)。そして処理を終了する。
以上のような処理を実行すれば、実際にアイドル状態であるVMから得られた性能データに基づき閾値を生成することができるので、アイドル状態であるVMを高精度で特定できるようになる。また、そのときの動作環境に合った閾値が自動で設定されれば、管理者が閾値を設定する作業を行わなくてもよいので、作業コストを削減することができるようになる。
また、過去及び直近の利用状況に応じて停止順番を決めるので、ユーザ間で公平であり、ユーザにとって納得がいく運用を行うことができるようになる。
また、指定された目標電力を超えないように制御できるので、電力消費のピークカットを行えるようになる。
図4に示すような状態のシステムに対して、目標電力を556Wとして本実施の形態を適用した場合、例えば図20に示すような状態のシステムになる。図20の例では、物理サーバAにおいて実行されていたアイドルVM3は停止し、物理サーバCにおいて実行されていたアイドルVM10は停止している。また、物理サーバCにおいて実行されていたVM8は物理サーバAに移動し、物理サーバCにおいて実行されていたVM9は物理サーバBに移動している。これにより、物理サーバCにおいて実行されるVMが無くなり、物理サーバCの電源をオフにしたので、物理サーバCが消費する電力は待機電力である16Wになっている。そして、合計の消費電力は、255W+260W+16W=531Wになり、当初の消費電力である695Wと比べると23%の削減になる。
図21を用いて、本実施の形態を適用しない場合におけるアイドルVMの検出について説明する。図21の例においては、「OS♯1−VM♯1」及び「OS♯2−VM♯1」が物理サーバAにおいて実行されており、「OS♯2−VM♯2」及び「OS♯2−VM♯3」が物理サーバBにおいて実行されており、「OS♯1−VM♯2」及び「OS♯2−VM♯4」が物理サーバCにおいて実行されている。なお、例えば「OS♯2−VM♯1」は、「OSの種別が2であり、割り振られた番号が1であるVM」のことである。物理サーバAはアドレスが「10.200.30.xxx」であるネットワークに接続されており、物理サーバBはアドレスが「10.200.31.xxx」であるネットワークに接続されており、物理サーバCはアドレスが「10.200.32.xxx」であるネットワークに接続されている。閾値180は、物理サーバA乃至Cについて一律に設定される閾値である。図21の例においては、閾値180と各VMの性能に関する数値とを比較し、いずれの項目においても数値が閾値を下回る場合にはアイドルVMであると判定する。
図21の例においては、物理サーバAにおける「OS♯2−VM♯1」はアイドルVMとして検出される。しかし、「OS♯2−VM♯2」についてはアイドルVMであるにもかかわらず検出されない。これは、アドレスが「10.200.31.xxx」であるネットワークにはハートビート通信を行うサーバが接続されており、「OS♯2−VM♯2」のデータ転送量が通常のアイドルVMのデータ転送量より高いからである。また、「OS♯1−VM♯2」もアイドルVMであるにもかかわらず検出されない。これは、OSがOS♯1であるVMはアイドル状態であっても512MB(メガバイト)程度のメモリを使用するにもかかわらず、閾値180においてはその事情が反映されていないからである。さらに、OS♯2−VM♯4は稼働中であるにもかかわらずアイドルVMとして検出される。これは、物理サーバCのCPUの能力は物理サーバA及び物理サーバBと比較して2倍の能力であり、物理サーバA及び物理サーバBと同じ仕事をしたとしてもCPU使用率が閾値を超えないので、アイドル状態であると判定されるからである。
このように、本実施の形態を適用しない場合には、アイドルVMであるにもかかわらず検出することができないだけでなく、稼働中のVMを誤ってアイドルVMとして検出することがある。
図22を用いて、本実施の形態を適用する場合におけるアイドルVMの検出について説明する。図22の例は、各物理サーバにOSの種別毎にアイドルVMを故意に配備した点が異なる。図22の例においては、「OS♯1−Idle♯1」及び「OS♯2−Idle♯1」が物理サーバAにおいて実行されており、「OS♯1−Idle♯2」及び「OS♯2−Idle♯2」が物理サーバBにおいて実行されており、「OS♯1−Idle♯3」及び「OS♯2−Idle♯3」が物理サーバCにおいて実行されている。なお、例えば「OS♯2−Idle♯1」とは、「OSの種別が2であり、割り振られた番号が1であるアイドルVM」のことである。図22の例においては、各物理サーバにおいてOSの種別毎に算出した閾値を用いてアイドル状態であるか否かが判定される。具体的には、「OS♯1−VM♯1」の性能に関する数値は「OS♯1−Idle♯1」の性能に関する数値を用いて算出された閾値と比較され、「OS♯2−VM♯1」の性能に関する数値は「OS♯2−Idle♯1」の性能に関する数値を用いて算出された閾値と比較され、「OS♯2−VM♯2」の性能に関する数値は「OS♯2−Idle♯2」の性能に関する数値を用いて算出された閾値と比較され、「OS♯2−VM♯3」の性能に関する数値は「OS♯2−Idle♯2」の性能に関する数値を用いて算出された閾値と比較され、「OS♯1−VM♯2」の性能に関する数値は「OS♯1−Idle♯3」の性能に関する数値を用いて算出された閾値と比較され、「OS♯2−VM♯4」の性能に関する数値は「OS♯2−Idle♯3」の性能に関する数値を用いて算出された閾値と比較される。
図22の例においては、「OS♯2−VM♯1」がアイドルVMとして検出されるだけでなく、「OS♯2−VM♯2」及び「OS♯1−VM♯2」もアイドルVMとして検出される。これは、「OS♯2−Idle♯2」が物理サーバBに配置されているため、データ転送量の閾値が図21の例と比較して高く設定されているからである。また、「OS♯1−Idle♯3」の性能に関する数値をもとにメモリ使用量の閾値を算出したため、メモリ使用量の閾値が図21の例と比較して高く設定されているからである。
また、稼動中である「OS♯2−VM♯4」は、図21の例においては誤検出されていたが、図22の例においては誤検出されず、稼動中であると判定される。これは、「OS♯2−Idle♯3」が物理サーバCに配置されているため、CPU使用率の閾値が図21の例と比較して低く設定されているからである。
このように、本実施の形態を適用すれば、アイドルVMを高精度で検出できるようになる。
また、本実施の形態の考え方を応用することで、ストレージ装置が消費する電力を削減することができるようになる。これについては、図23及び図24を用いて説明する。
図23に、物理サーバとストレージ装置とを含むシステムの構成を示す。図23の上段は本実施の形態の処理を実行する前の物理サーバの状態を表し、中段は実施の形態の処理を実行した後の物理サーバの状態を表し、下段は物理サーバに接続されるストレージ装置を表す。ストレージ装置のうち運用ストレージは、LUN(Logical Unit Number)♯0とLUN♯1とLUN♯2とを含み、ストレージ装置のうち保管ストレージは、LUN♯AとLUN♯Bとを含む。保管ストレージは、運用ストレージよりも安価であるが低速である。図23の例においては、アイドルVMであるVM3及び6を停止し、VM7及び8を移動することにより、ホスト3についての物理サーバの電源を落としている。これにより、物理サーバ全体として消費電力を20%削減している。図23においては、1RAID(Redundant Arrays of Inexpensive Disks)グループにLUNを1つ割り当てている。
図24に、運用ストレージ及び保管ストレージに格納されるVMのファイルを示す。図24の上段は処理前の状態を示しており、図24の下段は処理後の状態を示している。まず、停止したVM3及6のファイルを保管用ストレージのうちLUN♯Aに移動する。これにより、運用ストレージであるLUN♯0及びLUN♯1の空き容量を増加させることができる。次に、LUN♯2におけるVM7のファイルをLUN♯0に移動し、LUN♯2におけるVM8のファイルをLUN♯1に移動する。これにより、LUN♯2にはVMのファイルが無くなるので、MAID(Massive Array of Idle Disks)機能により自動でLUN♯2の電源をオフにすることができる。また、LUN♯Aについても、VM3及び6のファイルにアクセスがあるまでは、電源をオフにすることができる。なお、図24におけるVM1乃至VM8は、VM本体を構成するファイルであってもよいし、VMからアクセスされるデータ領域であってもよい。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した管理サーバ1及び物理サーバA乃至Cの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、目標電力(「PowerLimit=・・・」)は、カット率で指定(例えば「PowerCut=・・・」)してもよい。その場合には、どの期間のピーク電力に対するカット率であるのかを明確にするため、カット率と共にピーク電力を指定するようにしてもよい。
また、ステップS13の処理による閾値の算出が完了した場合には、ステップS5の処理によって配備されたアイドルVMを停止してもよい。このようにすれば、アイドルVMによって無駄に電力及び資源が消費されるのを防ぐことできるようになる。
また、例えば図19において、VM4、VM5、VM8及びVM9の停止後に、これらのVMを電源をオフしない物理サーバに移動する手順を出力しておけば、万一停止されたVMを起動する必要が生じたときに迅速に対応(例えば起動)できる。
[付録]
本付録においては、本実施の形態に関連する事項について説明する。
(1)物理サーバの電力特性
物理サーバは、アイドル状態であっても相当の電力を消費することが知られている。図25に、CPU使用率と消費電力との関係の一例を示す。図25において、横軸はCPU使用率(%)を表し、縦軸は消費電力(W)を表す。図25には、CPUのP−stateが「P0」である場合のデータと、CPUのP−stateが「P6」である場合のデータと、原点を通る点線とが示されている。図25に示すように、物理サーバは、アイドル状態(すなわち、CPU使用率が0%付近)であっても相当の電力を消費しており、消費電力の曲線は、原点を通る直線にはならない。例えば、図25の例に示した物理サーバを10台使用してクラウドシステムを構築した場合、10台の物理サーバのいずれもアイドル状態であったとしても、約1500Wの電力を消費することになる。
また、CPUのP−stateを変更したとしても、消費電力を大きく削減できるとは限らない。図25の例では、CPU使用率が20%以下であるときは消費電力の削減率は数%であり、CPU使用率が80%以上であっても消費電力の削減率は約10%程度である。
なお、制御文において指定する最大消費電力として、図25に示したグラフから求めた、最大負荷における消費電力を用いることができる。
(2)VMに割り当てるメモリの量
物理サーバにおいて動作するVMの数を徐々に増加させると、特定のタイミングにおいて急激に性能が劣化する。これについては、特定の物理サーバについての実測のデータから生成された、図26のグラフを用いて説明する。図26において、横軸はVMに割り当てるメモリの量を表し、縦軸はコンパイル実行時間の比を表す。コンパイル実行時間の比とは、測定用のVMだけを配置した環境におけるコンパイル実行時間(ここでは536秒)との比のことであり、値が大きいほど性能が劣化することを表す。物理サーバが備える物理メモリの量は32GBである。図26に示すように、VMに割り当てるメモリの量が32GB以下である場合には性能はほとんど変わらない。しかしながら、VMに割り当てるメモリの量が32GBを超えると、コンパイル実行時間の比は急激に大きくなる。これは、メモリオーバーコミットが起きているためである。
(3)データセンタにおけるCPU使用率
データセンタにおいては、アイドルVMが多数存在し、VMが効率的に利用されていないことが指摘されている。これについては、特定のデータセンタにおける実測のデータから生成された、図27のグラフを用いて説明する。図27において、横軸はVMのCPU使用率(%)を表し、左の縦軸はVM数を表し、右の縦軸はVM数の累計(%)を表す。図27が示すように、このデータセンタにおいてはCPU使用率が10%以下であるVMが約半数を占め、CPU使用率が50%以下であるVMが約8割を占める。CPU使用率が低いVMの中からアイドルVMを検出し、アイドルVMを停止すれば、データセンタによる電力の消費を大幅に減らすことができるようになる。また、アイドルVMが使用する資源を他の用途に使用することができるので、資源を効率的に使用することができるようになる。
(4)ネットワークにおけるデータ転送量
図28に、OSがOS♯1であるVM1乃至4のデータ転送量を示す。VM1乃至4は、ネットワークアドレスが異なっており、その他の条件は同じである。VM1乃至4はアイドルVMである。図28に示すように、VM2以外のVMのデータ転送量は概ね1KB/sであるが、VM2だけがデータ転送量が約4KB/sである。
図29に、OSがOS♯1であるVM5乃至8のデータ転送量を示す。VM5乃至8は、ネットワークアドレスが異なっており、その他の条件は同じである。VM5乃至8はアイドルVMである。図29に示すように、VM8以外のVMのデータ転送量は概ね0KB/sであるが、VM8だけがデータ転送量が約3KB/sである。
このように、配置されるネットワークが異なるとデータ転送量が異なる原因の1つに、ハートビート通信がある。ハートビート通信は、コンピュータが正常に動作していることを周りに知らせるために行う通信である。ハートビート通信を行うコンピュータが存在するネットワークに配置されたVMは、ハートビート通信のブロードキャストパケットを受け取るため、VMが配置されたネットワークにおけるデータ転送量が多くなると考えられる。従って、データ転送量の閾値を本実施の形態のような方法を用いて適切に設定しなければ、アイドルVMを検出することはできない。
なお、上で述べた管理サーバ1は、コンピュータ装置であって、図30に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る管理方法は、情報処理装置において動作する仮想マシンを管理する管理装置により実行される管理方法である。そして、本管理方法は、(A)処理を実行しない第1の仮想マシンを情報処理装置に配備することを要求する配備要求を情報処理装置に送信し、(B)第1の仮想マシンの動作に関する情報及び情報処理装置において動作する、第1の仮想マシン以外の仮想マシンの動作に関する情報を、情報処理装置から取得し、(C)取得された第1の仮想マシンの動作に関する情報と第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する処理を含む。
このようにすれば、実際にアイドル状態である仮想マシンの動作に関する情報を利用できるので、アイドル状態である仮想マシンを高精度で特定できるようになる。
また、上で述べた情報処理装置の数が複数であってもよい。そして、上で述べた配備要求を情報処理装置に送信する処理において、(a1)複数の情報処理装置の中に属性が同じである複数の情報処理装置がある場合に、当該属性が同じである複数の情報処理装置のうちいずれかの情報処理装置に、配備要求を送信する処理を含む。属性(例えば、情報処理装置の機種、情報処理装置にインストールされたOS又は接続環境等)が同じである複数の情報処理装置から取得された、仮想マシンの動作に関する情報は、ほぼ同じになると考えられる。そこで、上で述べたようにすれば、情報処理装置のリソースを無駄に消費することがなくなる。
また、上で述べた処理を実行していない仮想マシンを特定する処理において、(c1)第1の仮想マシンの動作に関する情報から、アイドル状態か否かを判定するための閾値を算出し、(c2)第1の仮想マシン以外の仮想マシンの動作に関する情報に含まれる数値が、算出された閾値を超えているか否かを判定することにより、処理を実行していない仮想マシンを特定してもよい。このようにすれば、ユーザが一律に閾値を設定する場合等と比べて適切な閾値を設定することができるようになる。
また、上で述べた情報処理装置において動作する仮想マシンが実行するオペレーティングシステムの種別の数が複数であってもよい。そして、上で述べた配備要求を情報処理装置に送信する処理において、(a2)複数のオペレーティングシステムの各々について第1の仮想マシンを配備することを要求する配備要求を情報処理装置に送信してもよい。同じ情報処理装置で動作する仮想マシンであってもオペレーティングシステムが異なれば動作の特性は異なることがある。そこで、上で述べたようにすれば、オペレーティングシステムの種別の数が複数である場合にも適切に対処できるようになる。
また、本管理方法が、(D)特定された処理を実行していない仮想マシンを停止することを要求する停止要求を情報処理装置に送信する処理をさらに含むようにしてもよい。このようにすれば、アイドル状態である仮想マシンによって無駄に電力が消費されることを防止できるようになる。
また、本管理方法が、(E)情報処理装置が消費する電力が所定の目標電力以上であるか判断し、(F)情報処理装置が消費する電力が所定の目標電力以上であると判断された場合に、情報処理装置において動作する仮想マシンについて、当該仮想マシンが過去所定期間にアイドル状態であった時間を用いて、停止する仮想マシンを特定し、(G)特定された仮想マシンを停止することを要求する停止要求を情報処理装置に送信する処理をさらに含むようにしてもよい。このようにすれば、情報処理装置が所定の目標電力以上の電力を消費しないように制御できるようになる。また、過去のアイドル状態を考慮できるので、停止するべきではない仮想マシンを停止することを抑制できるようになる。
また、上で述べた停止要求を情報処理装置に送信する処理において、(d1)情報処理装置において動作する仮想マシンが実行する処理の優先度をさらに用いて、停止する仮想マシンを特定してもよい。このようにすれば、優先して実行すべき処理が実行されなくなることを抑制できるようになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
情報処理装置において動作する仮想マシンを管理する管理装置に実行させるためのプログラムであって、
処理を実行しない第1の仮想マシンを前記情報処理装置に配備することを要求する配備要求を前記情報処理装置に送信し、
前記第1の仮想マシンの動作に関する情報及び前記情報処理装置において動作する、前記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記情報処理装置から取得し、
取得された前記第1の仮想マシンの動作に関する情報と前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する
処理を前記管理装置に実行させるための管理プログラム。
(付記2)
前記情報処理装置の数が複数であり、
前記配備要求を前記情報処理装置に送信する処理において、
複数の情報処理装置の中に属性が同じである複数の情報処理装置がある場合に、当該属性が同じである複数の情報処理装置のうちいずれかの情報処理装置に、前記配備要求を送信する
ことを特徴とする付記1記載の管理プログラム。
(付記3)
前記処理を実行していない仮想マシンを特定する処理において、
前記第1の仮想マシンの動作に関する情報から、アイドル状態か否かを判定するための閾値を算出し、
前記第1の仮想マシン以外の仮想マシンの動作に関する情報に含まれる数値が、算出された前記閾値を超えているか否かを判定することにより、前記処理を実行していない仮想マシンを特定する
ことを特徴とする付記1又は2記載の管理プログラム。
(付記4)
前記情報処理装置において動作する仮想マシンが実行するオペレーティングシステムの種別の数が複数であり、
前記配備要求を前記情報処理装置に送信する処理において、
複数のオペレーティングシステムの各々について前記第1の仮想マシンを配備することを要求する配備要求を前記情報処理装置に送信する
ことを特徴とする付記1記載の管理プログラム。
(付記5)
特定された前記処理を実行していない仮想マシンを停止することを要求する停止要求を前記情報処理装置に送信する
処理を前記管理装置にさらに実行させるための付記1記載の管理プログラム。
(付記6)
前記情報処理装置が消費する電力が所定の目標電力以上であるか判断し、
前記情報処理装置が消費する電力が前記所定の目標電力以上であると判断された場合に、前記情報処理装置において動作する仮想マシンについて、当該仮想マシンが過去所定期間にアイドル状態であった時間を用いて、停止する仮想マシンを特定し、
特定された前記仮想マシンを停止することを要求する停止要求を前記情報処理装置に送信する
処理をさらに前記管理装置に実行させるための付記5記載の管理プログラム。
(付記7)
前記停止要求を前記情報処理装置に送信する処理において、
前記情報処理装置において動作する仮想マシンが実行する処理の優先度をさらに用いて、停止する仮想マシンを特定する
ことを特徴とする付記6記載の管理プログラム。
(付記8)
情報処理装置において動作する仮想マシンを管理する管理装置により実行される管理方法であって、
処理を実行しない第1の仮想マシンを前記情報処理装置に配備することを要求する配備要求を前記情報処理装置に送信し、
前記第1の仮想マシンの動作に関する情報及び前記情報処理装置において動作する、前記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記情報処理装置から取得し、
取得された前記第1の仮想マシンの動作に関する情報と前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する
処理を前記管理装置が実行する管理方法。
(付記9)
情報処理装置において動作する仮想マシンを管理する管理装置であって、
処理を実行しない第1の仮想マシンを前記情報処理装置に配備することを要求する配備要求を前記情報処理装置に送信する第1処理部と、
前記第1の仮想マシンの動作に関する情報及び前記情報処理装置において動作する、前記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記情報処理装置から取得し、取得された前記第1の仮想マシンの動作に関する情報と前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する第2処理部と、
を有する管理装置。
1 管理サーバ 3 ネットワーク
A,B,C 物理サーバ 101 制御データ格納部
102 前処理部 103 収集部
104 収集データ格納部 105 設定部
106 計画部 107 第1特定部
108 第2特定部 109 生成部
110 手順データ格納部 111 実行部
501,502,503 VM 50 制御部

Claims (8)

  1. 複数の情報処理装置において動作する仮想マシンを管理する管理装置に実行させるための管理プログラムであって、
    前記複数の情処理装置の中にハードウエア及びソフトウエアの属性の少なくともいずれかが同じである複数の情報処理装置がある場合に、ハードウエア及びソフトウエアの属性の少なくともいずれかが同じである前記複数の情報処理装置のうちいずれかの情報処理装置に、処理を実行しない第1の仮想マシンを備することを要求する配備要求を信し、
    前記第1の仮想マシンの動作に関する情報及び記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記配備要求の送信先の情報処理装置から取得し、
    取得された前記第1の仮想マシンの動作に関する情報と前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する
    処理を前記管理装置に実行させるための管理プログラム。
  2. 前記処理を実行していない仮想マシンを特定する処理において、
    前記第1の仮想マシンの動作に関する情報から、アイドル状態か否かを判定するための閾値を算出し、
    前記第1の仮想マシン以外の仮想マシンの動作に関する情報に含まれる数値が、算出された前記閾値を超えているか否かを判定することにより、前記処理を実行していない仮想マシンを特定する
    求項記載の管理プログラム。
  3. 前記配備要求を送信する処理において、
    前記複数の情報処理装置の中に、機種、インストールされたソフトウエア及び接続環境の少なくともいずれかが同じである複数の情報処理装置がある場合に、機種、インストールされたソフトウエア及び接続環境の少なくともいずれかが同じである前記複数の情報処理装置のうちいずれかの情報処理装置に、前記配備要求を送信する、
    請求項1又は2記載の管理プログラム。
  4. 情報処理装置において動作する仮想マシンを管理する管理装置に実行させるための管理プログラムであって、
    オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされ且つ処理を実行しない第1の仮想マシンを前記情報処理装置に配備することを要求する配備要求を前記情報処理装置に送信し、
    前記オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされた前記第1の仮想マシンの動作に関する情報、及び、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記情報処理装置から取得し、
    前記オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされた前記第1の仮想マシンの動作に関する情報と、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する
    処理を前記管理装置に実行させるための管理プログラム。
  5. 複数の情報処理装置において動作する仮想マシンを管理する管理装置により実行される管理方法であって、
    前記複数の情処理装置の中にハードウエア及びソフトウエアの属性の少なくともいずれかが同じである複数の情報処理装置がある場合に、ハードウエア及びソフトウエアの属性の少なくともいずれかが同じである前記複数の情報処理装置のうちいずれかの情報処理装置に、処理を実行しない第1の仮想マシンを備することを要求する配備要求を信し、
    前記第1の仮想マシンの動作に関する情報及び記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記配備要求の送信先の情報処理装置から取得し、
    取得された前記第1の仮想マシンの動作に関する情報と前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する
    処理を前記管理装置が実行する管理方法。
  6. 複数の情報処理装置において動作する仮想マシンを管理する管理装置であって、
    前記複数の情処理装置の中にハードウエア及びソフトウエアの属性の少なくともいずれかが同じである複数の情報処理装置がある場合に、ハードウエア及びソフトウエアの属性の少なくともいずれかが同じである前記複数の情報処理装置のうちいずれかの情報処理装置に、処理を実行しない第1の仮想マシンを備することを要求する配備要求を信する第1処理部と、
    前記第1の仮想マシンの動作に関する情報及び記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記配備要求の送信先の情報処理装置から取得し、取得された前記第1の仮想マシンの動作に関する情報と前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する第2処理部と、
    を有する管理装置。
  7. 情報処理装置において動作する仮想マシンを管理する管理装置により実行される管理方法であって、
    オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされ且つ処理を実行しない第1の仮想マシンを前記情報処理装置に配備することを要求する配備要求を前記情報処理装置に送信し、
    前記オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされた前記第1の仮想マシンの動作に関する情報、及び、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記情報処理装置から取得し、
    前記オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされた前記第1の仮想マシンの動作に関する情報と、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する
    処理を前記管理装置が実行する管理方法。
  8. 情報処理装置において動作する仮想マシンを管理する管理装置であって、
    オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされ且つ処理を実行しない第1の仮想マシンを前記情報処理装置に配備することを要求する配備要求を前記情報処理装置に送信する第1処理部と、
    前記オペレーティングシステムの複数の種別の各々について、当該種別のオペレーティングシステムがインストールされた前記第1の仮想マシンの動作に関する情報、及び、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの動作に関する情報を、前記情報処理装置から取得し、当該種別のオペレーティングシステムがインストールされた前記第1の仮想マシンの動作に関する情報と、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの動作に関する情報とを用いて、当該種別のオペレーティングシステムがインストールされた仮想マシンであって前記第1の仮想マシン以外の仮想マシンの中から、処理を実行していない仮想マシンを特定する第2処理部と、
    を有する管理装置。
JP2013063349A 2013-03-26 2013-03-26 管理プログラム、装置及び方法 Expired - Fee Related JP6032089B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013063349A JP6032089B2 (ja) 2013-03-26 2013-03-26 管理プログラム、装置及び方法
US14/171,260 US9542217B2 (en) 2013-03-26 2014-02-03 System, method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013063349A JP6032089B2 (ja) 2013-03-26 2013-03-26 管理プログラム、装置及び方法

Publications (2)

Publication Number Publication Date
JP2014191368A JP2014191368A (ja) 2014-10-06
JP6032089B2 true JP6032089B2 (ja) 2016-11-24

Family

ID=51621961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013063349A Expired - Fee Related JP6032089B2 (ja) 2013-03-26 2013-03-26 管理プログラム、装置及び方法

Country Status (2)

Country Link
US (1) US9542217B2 (ja)
JP (1) JP6032089B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10241836B2 (en) * 2014-06-11 2019-03-26 Vmware, Inc. Resource management in a virtualized computing environment
JP6303857B2 (ja) * 2014-06-20 2018-04-04 富士通株式会社 出力プログラム,出力装置,及び出力方法
US9886083B2 (en) 2014-12-19 2018-02-06 International Business Machines Corporation Event-driven reoptimization of logically-partitioned environment for power management
US9430269B1 (en) * 2015-02-09 2016-08-30 International Business Machines Corporation Feedback analysis for virtual machines manager scheduling
JP6631710B2 (ja) * 2016-06-29 2020-01-15 富士通株式会社 仮想化管理プログラム、仮想化管理装置および仮想化管理方法
US10664299B2 (en) * 2017-05-24 2020-05-26 Amzetta Technologies, Llc Power optimizer for VDI system
US10558556B2 (en) * 2017-06-19 2020-02-11 Cisco Technology, Inc. Introspective fault and workload injection for service assurance
JP6916096B2 (ja) * 2017-11-20 2021-08-11 株式会社日立製作所 インスタンス利用促進システム
JP2023030899A (ja) * 2021-08-24 2023-03-08 富士通株式会社 管理プログラム、管理装置及び管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4488072B2 (ja) 2008-01-18 2010-06-23 日本電気株式会社 サーバシステム、及びサーバシステムの電力削減方法
JP4681676B1 (ja) 2010-03-26 2011-05-11 株式会社野村総合研究所 情報処理システムおよび情報処理方法
JP5556393B2 (ja) * 2010-06-04 2014-07-23 富士通株式会社 ネットワークシステム,管理サーバおよび仮想マシンの配置方法
CN102760081B (zh) * 2011-04-29 2016-01-27 国际商业机器公司 虚拟机资源分配的方法和装置
JP2012243096A (ja) * 2011-05-19 2012-12-10 Nippon Telegr & Teleph Corp <Ntt> ゲストos管理装置、ゲストos管理方法及びゲストos管理プログラム
US8527001B2 (en) * 2011-08-08 2013-09-03 Blackberry Limited Multi-mode mobile device based radio access technology selection method for idle mode operations
CN104185871B (zh) * 2011-11-15 2017-10-20 马维尔国际贸易有限公司 用于降低固态驱动器控制器的峰值功耗的系统和方法
JP2012099148A (ja) 2012-02-08 2012-05-24 Hitachi Ltd 計算機システム、計算機システムの電力制御方法及びプログラム
US9183054B2 (en) * 2012-06-30 2015-11-10 International Business Machines Corporation Maintaining hardware resource bandwidth quality-of-service via hardware counter
US9223597B2 (en) * 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system

Also Published As

Publication number Publication date
JP2014191368A (ja) 2014-10-06
US9542217B2 (en) 2017-01-10
US20140297842A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
JP6032089B2 (ja) 管理プログラム、装置及び方法
CN110955487B (zh) Hci环境下的vm/容器和卷配置决定方法及存储系统
JP4920391B2 (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
EP2071458B1 (en) Power control method for virtual machine and virtual computer system
US10108460B2 (en) Method and system for integrated deployment planning for virtual appliances
US8078824B2 (en) Method for dynamic load balancing on partitioned systems
US8281303B2 (en) Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine
US8694679B2 (en) Control device, method and program for deploying virtual machine
US8762999B2 (en) Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
US8448006B2 (en) Performing virtual and/or physical resource management for power management
WO2015087449A1 (ja) 計算機システムおよび計算機システムの制御方法
US10528119B2 (en) Dynamic power routing to hardware accelerators
WO2012056596A1 (ja) 計算機システム及び処理制御方法
JP2016526735A (ja) 仮想ハドゥープマネジャ
JP6458146B2 (ja) 計算機及びメモリ領域管理方法
JP6194016B2 (ja) 計算機および負荷測定方法
JP2013530573A (ja) マルチキュー・ネットワーク・アダプタの動的再構成によるリソース・アフィニティ
Deshpande et al. Scatter-gather live migration of virtual machines
Sonnek et al. Virtual Putty: Reshaping the Physical Footprint of Virtual Machines.
JP2010272059A (ja) メモリ管理方法計算機システム及びプログラム
Versick et al. Reducing energy consumption by load aggregation with an optimized dynamic live migration of virtual machines
JP5257709B2 (ja) 仮想計算機の移動方法、仮想計算機システム及び管理サーバ
Ge et al. Memory sharing for handling memory overload on physical machines in cloud data centers
Ali et al. Power aware NUMA scheduler in VMware's ESXi hypervisor
Krzywda et al. A Sensor-Actuator Model for Data Center Optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161010

R150 Certificate of patent or registration of utility model

Ref document number: 6032089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees