以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態1にかかる情報処理方法の一実施例)
まず、図1を用いて、実施の形態1にかかる情報処理方法の一実施例について説明する。
図1は、実施の形態1にかかる情報処理方法の一実施例を示す説明図である。図1において、電力システム100は、電力の需要側となる施設110と、電力の供給側となる施設120とを含む。以下の説明では、電力の需要側となる施設110を「需要側110」と表記する場合がある。また、以下の説明では、電力の供給側となる施設120を「供給側120」と表記する場合がある。需要側110は、例えば、1または複数の企業である。供給側120は、例えば、発電設備である。
需要側110は、情報処理装置130と、サーバルーム140と、オフィス150と、会議室160とを含む。情報処理装置130は、情報処理プログラムを実行し、実施の形態1にかかる情報処理方法を実現するコンピュータである。情報処理装置130は、ネットワークを介して、制限要求121を、供給側120から受け付ける。制限要求121とは、将来の特定期間における需要側110の消費電力量を低減することを要求するデータである。将来の特定期間とは、DRが実施される期間である。以下の説明では、将来の特定期間を「DR実施期間」と表記する場合がある。
サーバルーム140は、電力消費源となる複数のサーバSを含む。サーバSは、仮想マシンを実行するコンピュータである。サーバSは、供給側120から供給される電力を消費して動作する。以下の説明では、仮想マシンを「VM」と表記する場合がある。VMは、あるコンピュータの動作を模倣するソフトウェアである。
オフィス150は、VMの利用者が居ることがある場所の一つである。VMの利用者は、例えば、オフィス150に設けられたクライアント装置を介して、サーバSで実行されるVMを利用する。VMの利用者は、例えば、携帯するノート型PC(Personal Computer)、携帯電話機(スマートフォン、PHS(Personal Handyphone System))、タブレット型端末などを介して、サーバSで実行されるVMを利用してもよい。
会議室160は、同様に、VMの利用者が居ることがある場所の一つである。また、電力システム100は、VMの利用者が居ることがある場所の一つとして、VMの利用者の出張先となる施設170を含んでもよい。以下の説明では、出張先となる施設170を「出張先170」と表記する場合がある。図1の例では、オフィス150には、VMの利用者181〜183が居る。また、会議室160には、VMの利用者184が居る。また、出張先170には、VMの利用者185が居る。
ここで、情報処理装置130が、制限要求121を受け付けたため、DR実施期間における需要側110の消費電力量を低減するための対策を行うことになる。例えば、情報処理装置130が、サーバルーム140内の複数のサーバSでそれぞれ動作するVMの負荷に基づいて、現在利用されないVMを停止させる場合が考えられる。また、例えば、情報処理装置130が、VMの負荷に基づいて、VMをサーバS間で移動させてサーバルーム140内のVMが実行されるサーバSの数を低減し、VMが実行されなくなったサーバSの稼働を停止させる場合が考えられる。これにより、情報処理装置130は、現在のVMの利用状況を考慮して現在のVMの利用者181〜185の利便性を確保しつつ、現在の需要側110の消費電力量を低減することができる。以下の説明では、VMをサーバS間で移動させてサーバルーム140内のVMが実行されるサーバSの数を低減することを「VMの片寄せ」と表記する場合がある。
しかしながら、この場合では、情報処理装置130は、DR実施期間のVMの利用者181〜185の利便性を確保しつつ、DR実施期間の需要側110の消費電力量が低減されるように、DR実施期間より前にVMの片寄せを行っておくことが難しい。利便性は、例えば、VMの利用者がクライアント装置を介してVMにコマンドを送信した場合にVMの応答時間の遅延量が一定以下であることである。また、利便性は、例えば、VMの利用者がVMを利用しようとしたときに、VMが停止しておらず、VMがいずれかのサーバSで実行されていることであってもよい。
そこで、実施の形態1では、DR実施期間における需要側110の消費電力量を低減することを支援することができる情報処理方法について説明する。例えば、実施の形態1では、情報処理装置130が、VMの利用者181〜185に対してDR実施期間におけるVMの利用予定を情報処理装置130に通知するように要求して、DR実施期間における需要側110の消費電力量を低減することを支援する。
図1において、(1)情報処理装置130は、供給側120から、制限要求121を受け付ける。制限要求121は、DR実施期間として、需要側110の消費電力量を低減させることを要求する将来の特定期間を示す情報を含む。
(2)情報処理装置130は、制限要求121からDR実施期間を示す情報を抽出して、抽出したDR実施期間を示す情報を含む通知要求131を生成する。通知要求131とは、DR実施期間におけるVMの利用予定を情報処理装置130に通知することを当該VMの利用者に要求するデータである。
(3)情報処理装置130は、サーバルーム140内の複数のサーバSで実行中の複数のVMのそれぞれの利用者181〜185宛に、生成した通知要求131を送信する。情報処理装置130は、例えば、複数のVMのそれぞれの利用者が携帯する携帯電話機に、生成した通知要求131をメールとして送信する。情報処理装置130は、複数のVMのそれぞれの利用者181〜185が携帯するノート型PC、携帯電話機、タブレット型端末などを介してアクセス可能なウェブページ上に、生成した通知要求131をメッセージとして掲示してもよい。
(4)情報処理装置130は、複数のVMのそれぞれの利用予定の通知を受け付ける。情報処理装置130は、例えば、VMの利用者181〜183から、VMを利用することを示す利用予定の通知を受け付ける。また、情報処理装置130は、例えば、VMの利用者184,185から、VMを利用しないことを示す利用予定の通知を受け付ける。
これにより、情報処理装置130は、情報処理装置130の利用者に複数のVMのそれぞれの利用予定を通知することができる。このため、情報処理装置130の利用者は、複数のVMのそれぞれの利用予定を把握可能になる。そして、情報処理装置130の利用者は、DR実施期間のVMの利用者181〜185の利便性を確保しつつ、DR実施期間の需要側110の消費電力量を低減するために、対策することができる。情報処理装置130の利用者は、例えば、どのVMをどのサーバSに配置し、どのサーバSの稼働を停止するかなどを計画することができる。このように、情報処理装置130の利用者は、制限要求を受け付けてからDR実施期間の開始までの時間を活用して、DR実施期間の需要側110の消費電力量を低減するために、対策することができる。
また、情報処理装置130は、自動で、通知された複数のVMのそれぞれの利用予定に基づいて、VMの片寄せを行い、サーバSの稼働を停止させたり、サーバSのクロック周波数を低下させてもよい。情報処理装置130は、例えば、複数のVMのうちのDR実施期間に利用されるVMと、利用されないVMとを特定し、特定した利用されるVMのいくつかを一つのサーバSにまとめて実行させる。情報処理装置130は、利用されるVMを、いくつかのサーバSに分担させて、それぞれのサーバSで分担させたVMをまとめて実行させてもよい。そして、情報処理装置130は、利用されないVMが実行されるサーバSのクロック周波数を低下させ、VMが実行されないサーバSの稼働を停止させて、需要側110の消費電力量を低減する。また、情報処理装置130は、サーバSの稼働を停止させずにVMを停止して、需要側110の消費電力量を低減してもよい。
これにより、情報処理装置130は、DR実施期間のVMの利用者181〜185の利便性を確保しつつ、DR実施期間の需要側110の消費電力量を低減することができる。ここで、例えば、供給側120が、制限要求121として、DR実施期間の需要側110の消費電力量が規定量を超えたときには、需要側110に電気料金を割り増しして請求するという通知を送信する場合がある。この場合には、情報処理装置130は、DR実施期間の需要側110の消費電力量を低減して、需要側110に請求される電気料金が増加するのを抑制することができる。
例えば、需要側110が、VMの利用者181〜185から金銭的報奨の支払いを受けてVMの利用者181〜185にサーバSを使用させるサービスを行っており、VMの利用者181〜185に対してSLA(Service Level Agreement)を提示している場合がある。SLAとは、提供するサービスの水準を保証する文書である。SLAは、例えば、VMの利便性を確保することを保証する。この場合には、情報処理装置130は、DR実施期間のVMの利用者181〜185の利便性を確保して、SLAに違反しないようにすることができ、サービスの信頼性が低下するのを抑制することができる。
例えば、供給側120が、制限要求121として、発電設備の故障などによってDR実施期間の供給電力量が低下するという通知を送信する場合がある。この場合には、需要側110が企業であれば、情報処理装置130は、DR実施期間の需要側110の消費電力量を低減して、企業の信頼性が低下するのを抑制することができ、企業の社会的責任を果たすことを支援することができる。
ここでは、情報処理装置130が、電力消費源となるサーバSについて消費電力量を低減して、需要側110の消費電力量を低減する場合について説明したが、これに限らない。例えば、情報処理装置130は、さらに、サーバS以外のサーバルーム140内の電力消費源について消費電力量を低減してもよい。具体的には、情報処理装置130は、サーバルーム140内の複数のサーバSを冷却する複数の機器のいずれかの稼働を停止させたり、冷却能力を低下させて、さらに需要側110の消費電力量を低減してもよい。また、サーバルーム140内のサーバSが、情報処理装置130として動作してもよい。
(実施の形態1にかかる電力システム100の一例)
次に、図2を用いて、図1に示した情報処理方法を適用した、実施の形態1にかかる電力システム100の一例について説明する。
図2は、実施の形態1にかかる電力システム100の一例を示す説明図である。図2において、電力システム100は、需要側110となる企業210と、供給側120となる発電設備220とを含む。企業210は、管理センタ230と、サーバルーム240と、事業所とを含む。事業所は、オフィス250と、会議室260とを含む。
管理センタ230は、図1に示した情報処理装置130を含む。情報処理装置130は、供給側120となる発電設備220と通信する。また、情報処理装置130は、サーバルーム240と通信し、サーバルーム240内のサーバSの消費電力量を制御して、需要側110となる企業210の消費電力量を制御する。
サーバルーム240は、電力消費源となる複数のサーバSを含む。サーバSは、複数の稼働状態のいずれかにすることができる。複数の稼働状態は、例えば、制限なしにサーバSを稼働させた第1状態を含む。また、複数の稼働状態は、例えば、サーバSの稼働を停止させた第2状態を含む。サーバSの稼働を停止するとは、例えば、サーバSをスタンバイ状態にすることである。サーバSの稼働を停止するとは、サーバSをシャットダウン状態にすることであってもよい。
また、複数の稼働状態は、例えば、サーバSの消費電力量が閾値を超えるまでは制限なしにサーバSを稼働させ、サーバSの消費電力量が閾値を超えるとサーバSのクロック周波数を低下させる第3状態を含んでもよい。サーバSの消費電力量が閾値を超えるまでは制限なしにサーバSを稼働させ、サーバSの消費電力量が閾値を超えるとサーバSのクロック周波数を低下させることは、パワーキャッピングと呼ばれることがある。また、複数の稼働状態は、第3状態で行われるパワーキャッピングとは消費電力量の閾値が異なる別のパワーキャッピングが行われる第4状態を含んでもよい。また、複数の稼働状態は、例えば、制限なしにサーバSを稼働させる状態よりもサーバSのクロック周波数を低下させた第5状態を含んでもよい。
また、サーバSは、自サーバで実行中のVMを他のサーバSに移動するマイグレーション機能を有してもよい。マイグレーション機能は、例えば、ライブマイグレーション機能である。ライブマイグレーション機能は、VMを他のサーバSに移動する際にVMが応答不可能になる時間を低減してVMを移動する移動方法である。
また、サーバルーム240は、サーバSを搭載するラックを含んでもよい。また、サーバルーム240は、UPS(Uninterruptible Power Supply)を含んでもよい。UPSは、サーバSへの電力供給を管理する装置である。UPSは、需要側110の電力消費源となる。また、サーバルーム240は、CRAC(Computer Room Air Conditioning)と、Chillerとを含んでもよい。CRACは、サーバSを冷却する装置である。Chillerは、排気を行う装置である。CRACとChillerとは、需要側110の電力消費源となる。
オフィス250は、VMの利用者が居ることがある場所の一つである。オフィス250は、VMの利用者が用いるクライアント装置201を含む。クライアント装置201は、サーバルーム240内のサーバSに接続し、当該サーバSで実行されるVMに対して入出力を行うコンピュータである。クライアント装置201は、例えば、PC、ノート型PC、入出力装置などである。会議室260は、VMの利用者が居ることがある場所の一つである。また、電力システム100は、出張先280を含んでもよい。出張先280は、VMの利用者が居ることがある場所の一つである。
発電設備220は、電力会社およびアグリゲータを含む。電力会社は、発電事業者である。アグリゲータは、電力会社と需要側110とを仲介し、電力会社からの要請に応じて需要側110に消費電力量の低減を促す仲介業者である。発電設備220は、アグリゲータを含まず、電力会社の設備であってもよい。この場合には、電力会社が、需要側110に消費電力量の低減を促す。
情報処理装置130と、サーバルーム240内のサーバSと、クライアント装置201とは、ネットワーク291により接続されている。ネットワーク291は、例えば、社内ネットワークであって、LAN(Local Area Network)、携帯電話網などである。情報処理装置130と、供給側120となる発電設備220とは、ネットワーク292により接続されている。ネットワーク292は、例えば、公共ネットワークであって、WAN(Wide Area Network)、インターネット、携帯電話網などである。情報処理装置130と、出張先280とは、ネットワーク293により接続されてもよい。ネットワーク293は、例えば、公共ネットワークであって、WAN、インターネット、携帯電話網などである。
図2の例では、情報処理装置130は、サーバルーム240内の複数のサーバSで実行される複数のVMの利用者となる企業210の従業員271〜275の利便性を確保しつつ、サーバルーム240内の複数のサーバSの消費電力量を低減することになる。これにより、情報処理装置130は、需要側110となる企業210の消費電力量を低減して、企業210に請求される電気料金が増加するのを抑制することができる。
(実施の形態1にかかる電力システム100の他の例)
次に、図3を用いて、図1に示した情報処理方法を適用した、実施の形態1にかかる電力システム100の他の例について説明する。
図3は、実施の形態1にかかる電力システム100の他の例を示す説明図である。図3において、電力システム100は、需要側110となる、第1企業310と第2企業320とを含む。電力システム100は、供給側120となる発電設備330とを含む。第1企業310は、管理センタ340と、サーバルーム350とを含む。管理センタ340は、情報処理装置130を含む。
情報処理装置130は、供給側120となる発電設備330と通信する。また、情報処理装置130は、サーバルーム350とリモートで通信し、第1企業310の消費電力量を制御する。サーバルーム350は、電力消費源となる複数のサーバSを含む。サーバSは、複数の稼働状態のいずれかにすることができる。複数の稼働状態は、例えば、上述した第1状態と第2状態と第3状態と第4状態と第5状態とを含む。
第2企業320は、VMの利用者が居ることがある場所の一つである。第2企業320は、VMの利用者が用いるクライアント装置301を含む。発電設備330は、電力会社およびアグリゲータを含む。電力会社は、発電事業者である。アグリゲータは、電力会社と需要側110とを仲介し、電力会社からの要請に応じて需要側110に消費電力量の低減を促す仲介業者である。発電設備330は、アグリゲータを含まず、電力会社の設備であってもよい。この場合には、電力会社が、需要側110に消費電力量の低減を要請するDR実施期間を通知する。
情報処理装置130と、サーバルーム350内のサーバSとは、ネットワーク371により接続されている。ネットワーク371は、例えば、公共ネットワークであって、WAN、インターネット、携帯電話網などである。サーバルーム350内のサーバSと、クライアント装置301とは、ネットワーク372により接続されている。ネットワーク372は、例えば、公共ネットワークであって、WAN、インターネット、携帯電話網などである。情報処理装置130と、第2企業320とは、ネットワーク373により接続されている。ネットワーク373は、例えば、公共ネットワークであって、WAN、インターネット、携帯電話網などである。情報処理装置130と、供給側120となる発電設備330とは、ネットワーク374により接続されている。ネットワーク374は、例えば、公共ネットワークであって、WAN、インターネット、携帯電話網などである。
図3の例では、需要側110は、サーバルーム350を管理する第1企業310と、サーバルーム350を利用する第2企業320との複数の企業である。図3の例では、第1企業310は、第2企業320にサーバルーム350を利用させるサービスと、第2企業320のサポートを行い、第2企業320から金銭的報酬の支払いを受ける。図3の例では、情報処理装置130は、第1企業310が管理するサーバルーム350内の複数のサーバSで実行される複数のVMの利用者となる第2企業320の従業員361〜366の利便性を確保することになる。また、情報処理装置130は、第2企業320の従業員361〜366の利便性を確保しつつ、サーバルーム350内の複数のサーバSの消費電力量を低減することになる。これにより、情報処理装置130は、DR実施期間の第2企業320の従業員361〜366の利便性を確保して、SLAに違反しないようにすることができ、サービスの信頼性が低下するのを抑制しつつ、第1企業310の消費電力量を低減することができる。
ここでは、供給側120となる発電設備330が電力会社およびアグリゲータの設備である場合について説明したが、これに限らない。例えば、供給側120となる発電設備330は、第1企業310の設備であってもよい。この場合には、情報処理装置130は、制限要求として、情報処理装置130の利用者となる運用技術者からの操作入力を受け付けてもよい。
(実施の形態1にかかる情報処理装置130のハードウェア)
次に、図4を用いて、図2および図3に示した電力システム100に含まれる、実施の形態1にかかる情報処理装置130のハードウェアの一例について説明する。
図4は、実施の形態1にかかる情報処理装置130のハードウェアの一例を示すブロック図である。図4において、情報処理装置130は、CPU(Central Processing Unit)401と、ROM(Read Only Memory)402と、RAM(Random Access Memory)403と、を有する。また、情報処理装置130は、さらに、ディスクドライブ404と、ディスク405と、インターフェース(I/F:Interface)406と、を有する。
また、CPU401と、ROM402と、RAM403と、ディスクドライブ404と、I/F406とは、バス400によってそれぞれ接続されている。情報処理装置130は、例えば、サーバ、PC、ノートPC、タブレット型PCなどである。
CPU401は、情報処理装置130の全体の制御を司る。ROM402は、ブートプログラム、情報処理プログラムなどの各種プログラムを記憶する。RAM403は、CPU401のワークエリアとして使用される。また、RAM403は、各種プログラムの実行により得られたデータなどの各種データを記憶する。ディスクドライブ404は、CPU401の制御により、ディスク405に対するデータのリード/ライトを制御する。ディスク405は、ディスクドライブ404の制御により書き込まれたデータを記憶する。
また、RAM403やディスク405は、電力消費源の消費電力量の算出に用いられる各種情報を記憶してもよい。例えば、RAM403やディスク405は、サーバルーム140のサーバSの数を記憶する。また、例えば、RAM403やディスク405は、VMの数を記憶する。また、例えば、RAM403やディスク405は、複数のサーバSのそれぞれが実行可能なVMの最大個数を記憶する。また、例えば、RAM403やディスク405は、サーバSが実行するVM一つ当たりの消費電力量を記憶する。また、例えば、RAM403やディスク405は、複数のサーバSのそれぞれの常時消費電力量を記憶する。
また、例えば、RAM403やディスク405は、複数のVMのそれぞれの配置先となるサーバSを示す情報を記憶する。また、例えば、RAM403やディスク405は、複数のサーバSのそれぞれに電源が供給されているか否かを示す情報を記憶する。また、例えば、RAM403やディスク405は、複数のUPSのそれぞれの常時消費電力量と、サーバSの消費電力量に乗算する比例係数とを記憶する。また、例えば、RAM403やディスク405は、複数のVMのそれぞれの平均CPU利用率を記憶する。情報処理装置130は、例えば、一定時間ごとに、サーバSで実行中のVMのCPU利用率の変動履歴と実行時間とをサーバSから取得し、平均CPU利用率を算出してもよい。
I/F406は、通信回線を通じてネットワーク410に接続され、ネットワーク410を介して他の装置に接続される。ネットワーク410は、例えば、LAN、WAN、インターネットなどである。ネットワーク410は、具体的には、図2に示したネットワーク291〜293、または図3に示したネットワーク371〜374などである。そして、I/F406は、ネットワーク410と、情報処理装置130との接続部となり、外部装置からのデータの入出力を制御する。I/F406は、例えば、モデムやLANアダプタなどである。
情報処理装置130は、ディスクドライブ404とディスク405との代わりに、SSD(Solid State Drive)と半導体メモリとを有していてもよい。また、情報処理装置130は、光ディスク、ディスプレイ、キーボード、マウス、スキャナ、およびプリンタの少なくともいずれか一つを有してもよい。
(サーバSおよびクライアント装置201,301のハードウェア)
次に、図2および図3に示した電力システム100に含まれる、サーバSおよびクライアント装置201,301のハードウェアの一例について説明する。サーバSおよびクライアント装置201,301のハードウェアの一例は、図4に示した情報処理装置130のハードウェアの一例と同様であるため、説明を省略する。クライアント装置201,301は、入出力装置であってもよい。
(実施の形態1にかかる情報処理装置130の機能的構成例)
次に、図5を用いて、実施の形態1にかかる情報処理装置130の機能的構成例について説明する。
図5は、実施の形態1にかかる情報処理装置130の機能的構成例を示すブロック図である。情報処理装置130は、制御部となる機能として、受付部501と、判定部502と、送信部503と、取得部504と、決定部505と、移動部506とを含む。
受付部501は、制限要求を受け付ける。制限要求は、DR実施期間として、消費電力量を低減すべき将来の特定期間を示す情報を含むデータである。制限要求は、例えば、将来の特定期間における電気料金の値上げの通知や、将来の特定期間における消費電力量を低減させた場合の金銭的報奨の支払いの提案などを含み、将来の特定期間における消費電力量を低減させることを促進するためのデータである。また、制限要求は、例えば、供給側120となる発電設備の故障や点検などによって将来の特定期間における電力供給量が低下することの通知を含み、将来の特定期間における消費電力量を低減させることに対する協力の要請を含んでもよい。また、制限要求は、DR実施期間としてではなく、電気料金の低減のために消費電力量を低減すべき将来の特定期間を示す情報を含むデータであってもよい。
受付部501は、例えば、供給側120となる電力会社のコンピュータから送信された制限要求を受信することにより、制限要求を受け付ける。これにより、受付部501は、DR実施期間を示す情報を制限要求から抽出して、判定部502や送信部503に出力することができる。
受け付けた制限要求、および抽出したDR実施期間を示す情報は、例えば、RAM403、ディスク405などの記憶領域に記憶される。受付部501は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
判定部502は、制限要求を受け付けてからDR実施期間の開始までの時間が第1時間以上であるか否かを判定する。第1時間とは、予め決定された時間である。第1時間は、例えば、数日、数時間、数分、または数秒である。判定部502は、例えば、受付部501が制限要求を受け付けてから、受付部501が制限要求から抽出した情報が示すDR実施期間の開始までの時間を算出する。そして、判定部502は、算出した時間が第1時間以上であるか否かを判定する。これにより、判定部502は、送信部503が通知要求を送信するか否かの基準となる判定結果を生成することができ、送信部503に出力することができる。
また、判定部502は、DR実施期間の開始より第2時間前の時点を過ぎたか否かを判定してもよい。第2時間とは、予め決定された時間である。第2時間は、例えば、数日、数時間、数分、または数秒である。第2時間は、第1時間と同じ長さであってもよい。これにより、判定部502は、取得部504が利用予定を取得するのを待つか否かの基準となる判定結果を生成することができ、決定部505に送信することができる。
判定結果は、例えば、RAM403、ディスク405などの記憶領域に記憶される。判定部502は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。一方で、情報処理装置130は、判定部502を含まなくてもよい。
送信部503は、電力消費源となるサーバSで実行されるVMのDR実施期間における利用予定の通知要求を生成して、VMの利用者宛に送信する。利用予定の通知要求とは、DR実施期間を示す情報を含み、DR実施期間における利用予定を情報処理装置130に通知することを要求するデータである。利用予定の通知要求は、例えば、VMの利用者宛のメールとして送信されるデータである。利用予定の通知要求は、所定のウェブページにVMの利用者宛のメッセージとして掲示されるデータであってもよい。利用予定は、例えば、VMを利用することを示すデータ、またはVMを利用しないことを示すデータである。また、利用予定は、例えば、VMを応答速度の低下を許容して利用することを示すデータであってもよい。
送信部503は、例えば、受付部501が制限要求を受け付けてからDR実施期間の開始までの時間が第1時間以上であると判定部502が判定した場合に、受付部501が制限要求から抽出したDR実施期間を示す情報に基づいて通知要求を生成する。そして、送信部503は、生成した通知要求を、複数のVMのそれぞれの利用者宛に送信する。
また、送信部503は、例えば、情報処理装置130が判定部502を含まない場合には、受付部501が制限要求を受け付けたことに応じて、受付部501が制限要求から抽出したDR実施期間を示す情報に基づいて通知要求を生成してもよい。これにより、送信部503は、VMの利用者に、DR実施期間におけるVMの利用予定を情報処理装置130に通知するように要求することができる。
生成された通知要求は、例えば、RAM403、ディスク405などの記憶領域に記憶される。送信部503は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
取得部504は、送信部503が送信した結果、VMのDR実施期間における利用予定を取得する。取得部504は、例えば、VMのDR実施期間における利用予定を含む、VMの利用者からのメールを受信することにより、VMのDR実施期間における利用予定を取得する。これにより、取得部504は、決定部505がVMの配置先を決定するのに用いるVMの利用予定を取得して、決定部505に出力することができる。
取得された利用予定は、例えば、RAM403、ディスク405などの記憶領域に記憶される。取得部504は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
決定部505は、取得部504が取得した利用予定に基づいて、VMのDR実施期間における配置先を決定する。配置先とは、VMが実行されるサーバSである。決定部505は、制限要求から決定されるサーバSの稼働計画を取得し、取得部504が取得した利用予定に基づいて、VMの配置先を、稼働計画で決定されるサーバSの状態に応じて決定する。稼働計画とは、DR実施期間においてサーバSをどのような状態で稼働させるかの計画である。稼働計画は、例えば、複数のサーバSのそれぞれの稼働状態の組み合わせである。状態とは、例えば、上述した第1状態、第2状態、第3状態、第4状態、第5状態などである。稼働計画は、複数あってもよい。
決定部505は、例えば、取得部504が取得した利用予定が、VMを利用しないことを示す場合には、電力消費源となる複数のサーバSのうちのDR実施期間において稼働停止すると計画されるサーバSを、VMのDR実施期間における配置先に決定する。決定部505は、具体的には、複数のVMのそれぞれの利用予定に基づいて得られた複数のVMのそれぞれの配置先が満たすべき条件を制約条件として含む混合整数計画問題を解くことにより、複数のVMのそれぞれの配置先を決定する。決定部505が、混合整数計画問題を解くことにより、複数のVMのそれぞれの配置先を決定する一例は、図8に後述する。これにより、決定部505は、DR実施期間に実行しなくてもよいVMを、稼働停止されるサーバSの一つに集めることができる。
また、決定部505は、例えば、取得部504が取得した利用予定が、VMを利用することを示す場合には、複数のサーバSのうちのDR実施期間において消費される電力量を制限せずに稼働すると計画されるサーバSを、配置先に決定する。これにより、決定部505は、DR実施期間に実行すべきVMを、制限せずに稼働されるサーバSの一つに集めることができる。
また、決定部505は、例えば、取得部504が取得した利用予定が、VMの応答速度の低下を許容してVMを利用することを示す場合には、複数のサーバSのうちのDR実施期間において消費される電力量を制限して稼働すると計画されるサーバSを、配置先に決定する。これにより、決定部505は、DR実施期間における応答速度の低下が許容されるVMを、制限付きで稼働させるサーバSの一つに集めることができる。
また、決定部505は、判定部502がDR実施期間の開始より第2時間前の時点を過ぎたと判定したときに取得部504が利用予定を取得していなければ、DR実施期間において複数の稼働状態のいずれかになると計画されるサーバSを、配置先に決定してもよい。これにより、決定部505は、DR実施期間の開始までに利用予定を取得することができずに、VMの配置先を決定することができなくなることを防止することができる。
決定された配置先は、例えば、RAM403、ディスク405などの記憶領域に記憶される。決定部505は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。
移動部506は、決定部505が決定した配置先に、VMを移動する。移動部506は、DR実施期間になるより前に、決定部505が決定した配置先にライブマイグレーション機能を用いてVMを移動する。ライブマイグレーションとは、VMの移動方法の一つである。ライブマイグレーションは、VMを他のサーバSに移動する際にVMが応答不可能になる時間を低減してVMを移動する。また、移動部506は、決定部505が決定した配置先が、VMの現在の配置先と同一のサーバSであれば、VMを移動する処理を行わなくてよい。これにより、移動部506は、DR実施期間になったときに、VMの利用者の利便性が確保されたうえで、複数のサーバSでの消費電力量が低減されるようにすることができる。
移動部506は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
(実施の形態1にかかる実施例1)
次に、図6〜図8を用いて、実施の形態1にかかる実施例1について説明する。
実施の形態1にかかる実施例1において、まず、情報処理装置130は、図6に示す制限要求600を受け付ける。ここで、図6の説明に移行する。
図6は、制限要求600の一例を示す説明図である。図6に示すように、制限要求600は、DR実施期間の開始時刻と、DR実施期間の長さと、制限要求600の通知時刻とを含む。
DR実施期間の開始時刻は、例えば、日時「2014/8/1 13:00:00」である。DR実施期間の長さは、例えば、「2時間」である。制限要求600の通知時刻は、例えば、日時「2014/7/31 13:00:00」である。換言すれば、DR実施期間は、例えば、「2014/8/1 13:00:00〜15:00:00」である。
次に、情報処理装置130は、図6に示す制限要求600に基づいてDR実施期間を示す情報を生成して、図7に示すDR実施期間を示す情報を含む通知要求700を生成して、VMの利用者宛に送信する。ここで、図7の説明に移行する。
図7は、通知要求700の一例を示す説明図である。具体的には、図7(A)は、ウェブメール710として送信される通知要求700の一例である。また、図7(B)は、携帯メール720として送信される通知要求700の一例である。
図7(A)の例では、通知要求700は、DR実施期間を示す情報701と、VMの利用予定を通知する期限を示す情報702と、ラジオボタン703と、通知ボタン704とを含むウェブメール710である。通知要求700は、例えば、DR実施期間を示す情報701として、メッセージ「以下の日程でデマンドレスポンスが実施されます 2014/8/1(金)の13:00:00から15:00:00まで VMの利用予定について通知してください」を含む。また、通知要求700は、VMの利用予定を通知する期限を示す情報702として、メッセージ「2014/8/1(金)の12:00:00までに通知してください」を含む。また、通知要求700は、VMの利用予定の選択肢「利用する、応答速度が低下してもよい、利用しない、その他」が表示され、選択肢のいずれか一つを選択可能になるラジオボタン703を含む。ラジオボタン703は、その他が選択された場合には、入力欄に入力された内容を利用予定として選択する。入力欄には、例えば、DR実施期間のうちのVMを利用する期間とVMを利用しない期間との両方を入力することができる。また、通知要求700は、例えば、通知ボタン704が押下されると、ラジオボタン703を用いて選択された利用予定を示す情報を、情報処理装置130に通知する。
図7(B)の例では、通知要求700は、DR実施期間を示す情報701と、VMの利用予定を通知する期限を示す情報702と、ラジオボタン703と、通知ボタン704とを含む携帯メール720である。
ここでは、通知要求700が、DR実施期間を示す情報701と、VMの利用予定を通知する期限を示す情報702と、ラジオボタン703と、通知ボタン704とを含む場合について説明したが、これに限らない。例えば、通知要求700は、DR実施期間を示す情報701と、VMの利用予定を通知する期限を示す情報702と、ラジオボタン703と、通知ボタン704とが表示されるウェブページのリンクアドレスを含むウェブメールや携帯メールであってもよい。この場合には、VMの利用者は、リンクアドレスを介してウェブブラウザを用いてウェブページを表示することにより、利用予定を通知することになる。
そして、情報処理装置130は、図8に示すように、VMのDR実施期間における利用予定を取得し、VMの配置先を決定する。ここで、図8の説明に移行する。
図8は、実施の形態1にかかる情報処理装置130がVMの配置先を決定する一例を示す説明図である。情報処理装置130は、図7に示した通知要求700を、複数のVMのそれぞれの利用者宛に送信した結果として、複数のVMのそれぞれの利用予定を示す情報800を取得する。情報800は、例えば、複数のVMのそれぞれの識別情報に、当該VMの利用者の識別情報と、DR実施期間を示す情報と、当該VMの利用予定とを対応付けた情報を含む。
次に、情報処理装置130は、VMの利用予定と、当該VMの配置先の条件として複数の稼働状態のいずれかとを対応付けた対応テーブル801を参照して、複数のVMのそれぞれの配置先の条件を特定する。情報処理装置130は、例えば、VMを利用することを示す情報800を取得した場合には、VMを利用することに対応する第1状態を、VMの配置先の条件として特定する。
また、情報処理装置130は、例えば、DR実施期間のうちの第1期間の利用予定と第2期間の利用予定とを示す情報800を取得した場合には、それぞれの利用予定に対応する稼働状態のうちのいずれかを、VMの配置先の条件として特定する。情報処理装置130は、具体的には、それぞれの利用予定に対応する稼働状態のうちの最もVMの応答性能が高くなる状態を、VMの配置先の条件として特定する。また、情報処理装置130は、例えば、情報800を取得していない場合には、未回答に対応する第1状態を、VMの配置先の条件として特定する。そして、情報処理装置130は、複数のVMのそれぞれの識別情報と、複数のVMのそれぞれの配置先の条件とを対応付けて、条件DB(Data Base)802に格納する。
次に、情報処理装置130は、複数のサーバSのそれぞれの稼働状態の組み合わせを特定する。そして、情報処理装置130は、特定した組み合わせにおいて、条件DB802に格納した配置先の条件を満たし、かつ、消費電力量が最小になるように、複数のVMのそれぞれの配置先を決定する。
情報処理装置130は、例えば、条件DB802に格納した配置先の条件を制約条件として含む混合整数計画問題を解く。情報処理装置130は、混合整数計画問題を解く際にソルバを利用してもよい。混合整数計画問題を解くソルバは、例えば、GLPK(GNU Linear Programming Kit)、SYMPHONY、Gurobiである。
混合整数計画問題は、例えば、複数のサーバSのそれぞれの消費電力量の和を示す最小化関数と、条件DB802に格納した配置先の条件や複数のサーバSのそれぞれの稼働状態や実行可能なVMの最大個数などを示す制約条件とを含む。最小化関数、制約条件は、例えば、RAM403やディスク405に記憶された、電力消費源の消費電力量の算出に用いられる各種情報に基づいて生成される。
情報処理装置130は、混合整数計画問題を解くことで、上述した制約条件を満たす範囲で、上述した最小化関数を最小化する解を求めることができる。また、最小化関数は、複数のサーバSのそれぞれの消費電力量と、UPS、CRAC、およびChillerなどの消費電力量との和を示す関数であってもよい。また、最小化関数は、複数のサーバSのそれぞれの消費電力量の和に基づく電気料金の関数であってもよい。また、情報処理装置130は、実施の形態3に後述するように、複数のサーバSのそれぞれが要求性能を満たすように、複数のVMのそれぞれの配置先を決定してもよい。
これにより、情報処理装置130は、DR実施期間のVMの利用者の利便性を確保しつつ、DR実施期間の需要側110の消費電力量を低減することができるDR実施期間における複数のVMのそれぞれの配置先を決定することができる。
ここでは、情報処理装置130が、複数のVMのそれぞれの利用予定に基づいて複数のVMのそれぞれの配置先の条件を特定する場合について説明したが、これに限らない。例えば、情報処理装置130は、VMの種類に基づいて、VMの配置先の条件を特定してもよい。具体的には、情報処理装置130は、停止せずに実行すべき種類のVMがあれば、当該VMの利用者宛に利用予定の通知要求を送信せずに、VMの配置先の条件として第1状態を特定してもよい。
(実施の形態1にかかる実施例2)
次に、図9を用いて、実施の形態1にかかる実施例2について説明する。
図9は、実施の形態1にかかる実施例2を示す説明図である。図9の例では、情報処理装置130は、制限要求600を受け付けてからDR実施期間の開始までの時間が第1時間以上であるか否かを判定し、第1時間以上である場合には、通知要求700を送信する。
図9(C)の例では、制限要求600を受け付けた時刻は、「10:00」である。また、DR実施期間は、「13:00〜15:00」である。通知要求700を送信する期限は、「10:30」である。また、VMの配置先を決定する時刻は、「12:00」である。また、第1時間は、通知要求700を送信する期限「10:30」からDR実施期間「13:00〜15:00」の開始時刻までの時間であって、2.5時間である。
図9(C)の例では、情報処理装置130は、制限要求600を受け付けた時刻「10:00」からDR実施期間の開始時刻「13:00」までの時間が2.5時間以上であるため、複数のVMのそれぞれの利用者宛に通知要求700を送信する。
ここで、情報処理装置130は、VMの配置先を決定する時刻「12:00」までに利用予定を取得したVMについては、利用予定に基づいて配置先の条件を特定する。一方で、情報処理装置130は、VMの配置先を決定する時刻「12:00」までに利用予定を取得していないVMについては、VMの配置先の条件として、予め決定された条件を特定する。また、情報処理装置130は、実施の形態2に後述するように、利用予定を取得していないVMの配置先の条件を特定してもよい。
図9(D)の例では、制限要求600を受け付けた時刻は、「11:00」である。また、DR実施期間は、「13:00〜15:00」である。また、VMの配置先を決定する時刻は、「12:00」である。また、第1時間は、2.5時間である。
図9(D)の例では、情報処理装置130は、制限要求600を受け付けた時刻「11:00」からDR実施期間の開始時刻「13:00」までの時間が2.5時間未満であるため、複数のVMのそれぞれの利用者宛に通知要求700を送信しない。
ここで、情報処理装置130は、VMの配置先を決定する時刻「12:00」になると、複数のVMのそれぞれのVMの配置先の条件として、予め決定された条件を特定する。また、情報処理装置130は、実施の形態2に後述するように、複数のVMのそれぞれの配置先の条件を特定してもよい。そして、情報処理装置130は、図8と同様に、複数のVMのそれぞれの配置先を決定する。
これにより、情報処理装置130は、VMの利用者に、VMの利用予定を情報処理装置130に通知する作業を行う時間がある場合には、通知要求700を送信することができる。一方で、情報処理装置130は、VMの利用者に、VMの利用予定を情報処理装置130に通知する作業を行う時間が足りない場合には、通知要求700を送信しないようにすることができる。このため、情報処理装置130は、VMの利用者の作業負担を低減することができる。
また、情報処理装置130は、VMの利用者からの利用予定を取得していなければ、VMの配置先の条件として、予め決定された条件を特定することができる。このため、情報処理装置130は、VMの利用予定を通知しないVMの利用者がいても、複数のVMのそれぞれの配置先を特定することができ、消費電力量を低減することができる。
(実施の形態1にかかる取得処理手順)
次に、図10を用いて、実施の形態1にかかる、利用予定を取得する取得処理手順の一例について説明する。
図10は、実施の形態1にかかる取得処理手順の一例を示すフローチャートである。図10において、情報処理装置130は、制限要求600を受け付けたか否かを判定する(ステップS1001)。
ここで、受け付けていない場合(ステップS1001:No)、情報処理装置130は、ステップS1001の処理に戻る。一方で、受け付けた場合(ステップS1001:Yes)、情報処理装置130は、制限要求600からDR実施期間を示す情報を抽出し、制限要求600を受け付けてからDR実施期間の開始までの時間が、第1時間以上であるか否かを判定する(ステップS1002)。
ここで、第1時間以上である場合(ステップS1002:Yes)、情報処理装置130は、DR実施期間を示す情報を含む通知要求700を生成して、複数のVMのそれぞれの利用者宛に送信する(ステップS1003)。次に、情報処理装置130は、複数のVMのそれぞれの利用者から通知された複数のVMのそれぞれの利用予定を取得する(ステップS1004)。そして、情報処理装置130は、取得した利用予定に基づいて、複数のVMのそれぞれの配置先の条件を特定して(ステップS1005)、ステップS1007の処理に移行する。
一方で、第1時間未満である場合(ステップS1002:No)、情報処理装置130は、複数のVMのそれぞれの配置先の条件として、予め決定された稼働状態を特定して(ステップS1006)、ステップS1007の処理に移行する。
ここで、ステップS1007に移行すると、情報処理装置130は、特定した複数のVMのそれぞれの配置先の条件を、条件DB802に格納する(ステップS1007)。次に、情報処理装置130は、条件DB802を参照して、複数のVMのそれぞれの配置先を決定する(ステップS1008)。そして、情報処理装置130は、取得処理を終了する。これにより、情報処理装置130は、DR実施期間における需要側110の消費電力量を低減することができるように、複数のVMのそれぞれの配置先を決定することができる。
以上説明したように、実施の形態1にかかる情報処理装置130によれば、制限要求600を受け付けたことに応じて、電力消費源となるサーバSで実行されるVMのDR実施期間における利用予定の通知要求700を、VMの利用者宛に送信することができる。これにより、情報処理装置130は、DR実施期間における複数のVMのそれぞれの利用予定を取得することができ、DR実施期間における需要側110の消費電力量を低減するのを支援することができる。
例えば、情報処理装置130は、情報処理装置130の利用者に複数のVMのそれぞれの利用予定を通知することができる。このため、情報処理装置130の利用者は、複数のVMのそれぞれの利用予定を把握可能になる。そして、情報処理装置130の利用者は、DR実施期間のVMの利用者181〜185の利便性を確保しつつ、DR実施期間の需要側110の消費電力量を低減するために、対策することができる。情報処理装置130の利用者は、例えば、どのVMをどのサーバSに配置し、どのサーバSの稼働を停止するかなどを計画することができる。
また、例えば、情報処理装置130は、自動で、通知された複数のVMのそれぞれの利用予定に基づいて、VMの片寄せを行い、サーバSの稼働を停止させたり、サーバSのクロック周波数を低下させてもよい。情報処理装置130は、例えば、複数のVMのうちのDR実施期間に利用されるVMと、利用されないVMとを特定し、特定した利用されるVMのいくつかを一つのサーバSにまとめて実行させる。情報処理装置130は、利用されるVMを、いくつかのサーバSに分担させて、それぞれのサーバSで分担させたVMをまとめて実行させてもよい。そして、情報処理装置130は、利用されないVMが実行されるサーバSのクロック周波数を低下させ、VMが実行されないサーバSの稼働を停止させて、需要側110の消費電力量を低減する。また、情報処理装置130は、サーバSの稼働を停止させずにVMを停止して、需要側110の消費電力量を低減してもよい。
また、情報処理装置130によれば、制限要求600を受け付けてからDR実施期間の開始までの時間が第1時間以上である場合に、通知要求700をVMの利用者宛に送信することができる。これにより、情報処理装置130は、VMの利用者に、VMの利用予定を情報処理装置130に通知する作業を行う時間がある場合には、通知要求700を送信することができる。一方で、情報処理装置130は、VMの利用者に、VMの利用予定を情報処理装置130に通知する作業を行う時間が足りない場合には、通知要求700を送信しないようにすることができる。このため、情報処理装置130は、VMの利用者の利便性を向上させることができる。
また、情報処理装置130によれば、VMのDR実施期間における利用予定を取得することができる。そして、情報処理装置130によれば、取得した利用予定が、VMを利用しないことを示す場合には、電力消費源となる複数のサーバSのうちのDR実施期間において稼働停止されるサーバSを、VMのDR実施期間における配置先に決定することができる。これにより、情報処理装置130は、DR実施期間に実行しなくてもよいVMを一つのサーバSに集めて当該サーバSの稼働を停止することができ、DR実施期間におけるサーバSの消費電力量を低減することができる。
また、情報処理装置130によれば、取得した利用予定が、VMを利用することを示す場合には、複数のサーバSのうちのDR実施期間において消費される電力量を制限せずに稼働されるサーバSを、配置先に決定することができる。これにより、情報処理装置130は、DR実施期間に実行すべきVMを一つのサーバSに集めて当該サーバSを稼働させることができ、VMの利用者の利便性を確保することができる。
また、情報処理装置130によれば、取得した利用予定が、VMの応答速度の低下を許容してVMを利用することを示す場合には、複数のサーバSのうちのDR実施期間において消費される電力量を制限して稼働されるサーバSを、配置先に決定することができる。これにより、情報処理装置130は、DR実施期間における応答速度の低下が許容されるVMを一つのサーバSに集めて当該サーバSを制限付きで稼働させることができ、VMの利用者の利便性を確保するとともに、サーバSの消費電力量を低減することができる。
(実施の形態2にかかる情報処理方法の一実施例)
次に、図11を用いて、実施の形態2にかかる情報処理方法の一実施例について説明する。
図11は、実施の形態2にかかる情報処理方法の一実施例を示す説明図である。図11において、図1に示した実施の形態1にかかる情報処理方法の一実施例と同様の要素については、図1と同一の符号を付して、重複する説明を省略する。
情報処理装置130は、情報処理プログラムを実行し、実施の形態2にかかる情報処理方法を実現するコンピュータである。情報処理装置130は、さらに、複数の時点のそれぞれにおける複数のVMのそれぞれの利用状況を収集する。
ここで、実施の形態1と同様に、情報処理装置130が、サーバルーム140内の複数のサーバSでそれぞれ動作するVMの負荷に基づいて、VMの片寄せを行い、VMが実行されなくなったサーバSの稼働を停止させる場合が考えられる。しかしながら、この場合では、情報処理装置130は、DR実施期間のVMの利用者の利便性を確保しつつ、DR実施期間の需要側110の消費電力量が低減されるように、予め、DR実施期間より前にVMの片寄せを行っておくことが難しい。
そこで、実施の形態2では、DR実施期間における需要側110の消費電力量を低減することを支援することができる情報処理方法について説明する。例えば、実施の形態2では、情報処理装置130は、収集した複数の時点のそれぞれにおける複数のVMのそれぞれの利用状況に基づいて、DR実施期間にVMが利用される可能性の大きさを示す値を算出する。そして、情報処理装置130は、算出したDR実施期間にVMが利用される可能性の大きさを示す値に基づいて、DR実施期間における需要側110の消費電力量を低減することを支援する。
図11において、(11)情報処理装置130は、一定間隔で、複数のサーバSのそれぞれと通信し、複数のVMのそれぞれの利用状況を収集する。そして、情報処理装置130は、収集した複数の時点のそれぞれにおける複数のVMのそれぞれの利用状況を示す情報を、利用履歴DB1101に格納する。
(12)情報処理装置130は、供給側120から、制限要求121を受け付ける。制限要求121は、例えば、図6に示した制限要求600である。
(13)情報処理装置130は、制限要求121からDR実施期間を示す情報を抽出する。そして、情報処理装置130は、利用履歴DB1101に基づいて、DR実施期間における複数のVMのそれぞれが利用される可能性の大きさを示す値を算出する。可能性の大きさを示す値は、例えば、確率である。
(14)情報処理装置130は、算出した複数のVMのそれぞれが利用される可能性の大きさを示す値に基づいて、VMの片寄せを行い、サーバSの稼働を停止させたり、サーバSのクロック周波数を低下させる。
情報処理装置130は、例えば、複数のVMのうちの利用される可能性の大きさを示す値が閾値以上のVMと閾値未満のVMとを特定し、利用される可能性の大きさを示す値が閾値以上のVMの複数を一つのサーバSにまとめて実行させる。そして、情報処理装置130は、利用される可能性の大きさを示す値が閾値未満のVMが実行されるサーバSのクロック周波数を低下させたり、稼働を停止させて、需要側110の消費電力量を低減する。これにより、情報処理装置130は、DR実施期間のVMの利用者の利便性を確保しつつ、DR実施期間の需要側110の消費電力量を低減することができる。
(実施の形態2にかかる電力システム100の一例)
次に、図12を用いて、図11に示した情報処理方法を適用した、実施の形態2にかかる電力システム100の一例について説明する。
図12は、実施の形態2にかかる電力システム100の一例を示す説明図である。図12において、図2に示した実施の形態1にかかる電力システム100と同様の要素については、図2と同一の符号を付して、重複する説明を省略する。図12の例では、情報処理装置130は、実施の形態1にかかる情報処理装置130とは異なり、一定間隔でVMの利用者の位置情報とVMの利用状況とを収集して、学習データとして、利用履歴DB1101に格納することになる。情報処理装置130は、例えば、複数の時点のそれぞれで、利用者の位置情報を取得し、当該時点から1時間分のVMの利用状況を取得し、当該時点と位置情報と利用状況とを対応付けて、利用履歴DB1101に格納する。
(実施の形態2にかかる情報処理装置130のハードウェア)
実施の形態2にかかる情報処理装置130のハードウェアの一例は、図4に示した実施の形態1にかかる情報処理装置130のハードウェアの一例と同様であるため、説明を省略する。
(実施の形態2にかかる情報処理装置130の機能的構成例)
次に、図13を用いて、実施の形態2にかかる情報処理装置130の機能的構成例について説明する。
図13は、実施の形態2にかかる情報処理装置130の機能的構成例を示すブロック図である。情報処理装置130は、制御部となる機能として、受付部1301と、判定部1302と、取得部1303と、算出部1304と、決定部1305と、移動部1306とを含む。
受付部1301は、実施の形態1の受付部501と同様に、制限要求600を受け付ける。受付部1301は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
判定部1302は、実施の形態1の判定部502と同様に、DR実施期間の開始より第2時間前の時点を過ぎたか否かを判定する。判定部1302は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。
取得部1303は、第1情報を取得する。第1情報とは、複数の過去の時点のそれぞれにおけるVMの利用状況を示す情報である。第1情報は、複数の過去の時点のそれぞれにおけるVMの利用者の位置とVMの利用状況との対応関係を示す情報であってもよい。VMの利用状況とは、VMが利用されているか否かである。取得部1303は、例えば、判定部1302がDR実施期間の開始より第2時間前の時点を過ぎたと判定したときに利用予定を取得していなければ、第1情報を取得する。取得部1303は、具体的には、一定間隔で、複数のサーバSで実行中の複数のVMのそれぞれの利用者の位置を取得するとともに、複数のVMのそれぞれと通信して複数のVMのそれぞれの利用状況を取得する。取得部1303は、取得した複数のVMのそれぞれの利用者の位置と、複数のVMのそれぞれの利用状況との対応関係を示す情報を、利用履歴DB1101に格納する。そして、取得部1303は、判定部1302がDR実施期間の開始より第2時間前の時点を過ぎたと判定したときに利用予定を取得していなければ、利用履歴DB1101の情報を読み出すことにより、第1情報を取得する。これにより、取得部1303は、VMが利用される可能性の大きさを示す値を算出するのに用いられる第1情報を取得して、算出部1304に出力することができる。
また、取得部1303は、第2情報を取得する。第2情報とは、VMの利用者の現在位置を示す情報である。取得部1303は、例えば、判定部1302がDR実施期間の開始より第2時間前の時点を過ぎたと判定したときに利用予定を取得していなければ、VMの利用者の現在位置を示す第2情報を取得する。取得部1303は、具体的には、GPS(Global Positioning System)によって、複数のサーバSで実行中の複数のVMのそれぞれの利用者が携帯する携帯電話機の位置を示す情報を、現在位置を示す情報として取得する。取得部1303は、具体的には、複数のVMのそれぞれの利用者が登録したスケジュールを参照することにより、現在位置を示す情報を取得してもよい。これにより、取得部1303は、VMが利用される可能性の大きさを示す値を算出するのに用いられる第2情報を取得して、算出部1304に出力することができる。
取得された第1情報や第2情報は、例えば、RAM403、ディスク405などの記憶領域に記憶される。取得部1303は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。
算出部1304は、受付部1301が制限要求600を受け付けたことに応じて、第1情報に基づいて、DR実施期間にVMが利用される可能性の大きさを示す値を算出する。算出部1304は、例えば、SVM(Support Vector Machine)によって、利用履歴DB1101を参照して、過去の時点を、VMが利用された場合のグループとVMが利用されていない場合のグループとに分類する。そして、算出部1304は、DR実施期間の時点が、分類した二つのグループのどちらに含まれる組み合わせに近いかを判定して、DR実施期間にVMが利用される第1確率を算出する。
算出部1304は、例えば、第1情報と第2情報とに基づいて、DR実施期間の終了までにVMの利用者が現在位置から移動可能な場所でDR実施期間にVMが利用される可能性の大きさを示す値を算出する。算出部1304は、具体的には、算出した第1確率が閾値未満である場合には、さらに、DR実施期間の終了までにVMの利用者が現在位置から移動可能な場所でDR実施期間にVMが利用される第2確率を算出する。算出部1304は、より具体的には、SVMによって、利用履歴DB1101を参照して、過去の時点と過去の時点におけるVMの利用者の位置との組み合わせを、VMが利用された場合のグループとVMが利用されていない場合のグループとに分類する。次に、算出部1304は、DR実施期間の終了までにVMの利用者がVMの利用者の現在位置から移動可能な場所を特定する。そして、算出部1304は、DR実施期間の時点とVMの利用者が移動可能な場所との組み合わせが、分類した二つのグループのどちらに含まれる組み合わせに近いかを判定して、第2確率を算出する。これにより、算出部1304は、決定部1305がDR実施期間におけるVMの配置先を決定するのに用いられる第1確率や第2確率を算出して、決定部1305に出力することができる。
算出された可能性の大きさを示す値は、例えば、RAM403、ディスク405などの記憶領域に記憶される。算出部1304は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。
決定部1305は、算出した可能性の大きさを示す値に基づいて、VMのDR実施期間におけるサーバSの稼働計画に対応させて、配置先を決定する。決定部1305は、例えば、算出した第1確率が閾値以上である場合には、電力消費源となる複数のサーバSのうちのDR実施期間において消費される電力量を制限せずに稼働すると計画されるサーバSを、配置先に決定する。
決定部1305は、具体的には、複数のVMのそれぞれの利用される可能性の大きさを示す値に基づいて得られた複数のVMのそれぞれの配置先が満たすべき条件を制約条件として含む混合整数計画問題を解いて、複数のVMのそれぞれの配置先を決定する。決定部1305が、混合整数計画問題を解くことにより、複数のVMのそれぞれの配置先を決定する一例は、図14に後述する。これにより、情報処理装置130は、DR実施期間に実行される確率が閾値以上であるVMを一つのサーバSに集めることができる。
決定部1305は、例えば、算出した第2確率が閾値未満である場合には、複数のサーバSのうちのDR実施期間において稼働停止すると計画されるサーバSを、配置先に決定する。これにより、情報処理装置130は、DR実施期間に実行される確率が閾値未満であるVMを一つのサーバSに集めることができる。
決定部1305は、例えば、算出した第2確率が閾値以上である場合には、複数のサーバSのうちのDR実施期間において消費される電力量を制限して稼働すると計画されるサーバSを、配置先に決定する。これにより、情報処理装置130は、DR実施期間に利用される確率が閾値以上であるVMを一つのサーバSに集めることができる。
決定部1305は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。
移動部1306は、実施の形態1の移動部506と同様に、決定部1305が決定した配置先に、VMを移動する。また、移動部1306は、実施の形態1の移動部506と同様に、決定部1305が決定した配置先がVMの現在の配置先と同一のサーバSであれば、VMを移動する処理を行わなくてよい。移動部1306は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
(実施の形態2にかかる実施例1)
次に、図14〜図16を用いて、実施の形態2にかかる実施例1について説明する。
実施の形態2における実施例1において、まず、情報処理装置130は、図6に示す制限要求600を受け付ける。そして、情報処理装置130は、図14に示すように、VMが利用される可能性の大きさを示す値を算出して、VMが利用される可能性の大きさを示す値に基づいて配置先の条件を特定する。ここで、図14の説明に移行する。
図14は、実施の形態2における配置先の条件を特定する一例を示す説明図である。具体的には、図14(E)は、DR実施期間にVMが利用される第1確率が閾値以上になる場合に配置先の条件を特定する一例である。図14(E)の例では、情報処理装置130は、第1情報に基づいて、DR実施期間にVMが利用される第1確率を算出する。そして、情報処理装置130は、DR実施期間にVMが利用される第1確率が閾値以上になる場合にはDR実施期間においてVMが利用されると判定して、DR実施期間におけるVMの配置先の条件として第1状態を特定する。第1状態は、上述したように、制限なしにサーバSを稼働させる状態である。
また、図14(F)は、第2確率が閾値以上になる場所がある場合に配置先の条件を特定する一例である。図14(F)の例では、情報処理装置130は、第2情報に基づいて、DR実施期間の終了までにVMの利用者が現在位置から移動可能な場所を特定する。次に、情報処理装置130は、第1情報に基づいて、特定した場所でDR実施期間にVMが利用される第2確率を算出する。そして、情報処理装置130は、特定した場所でDR実施期間にVMが利用される第2確率が閾値以上になる場合には、DR実施期間におけるVMの配置先の条件として、第3状態を特定する。第3状態は、上述したように、少なくともDR実施期間の開始時または開始前にパワーキャッピングを行う状態である。
また、図14(G)は、第2確率が閾値以上になる場所がない場合に配置先の条件を特定する一例である。図14(G)の例では、情報処理装置130は、第2情報に基づいて、DR実施期間の終了までにVMの利用者が現在位置から移動可能な場所を特定する。次に、情報処理装置130は、第1情報に基づいて、特定した場所でDR実施期間にVMが利用される第2確率を算出する。そして、情報処理装置130は、特定した場所でDR実施期間にVMが利用される第2確率が閾値以上にならない場合には、DR実施期間におけるVMの配置先の条件として、第2状態を特定する。第2状態は、上述したように、少なくともDR実施期間の開始時または開始前にサーバSの稼働を停止させる状態である。
このようにして、情報処理装置130は、複数のVMのそれぞれの配置先の条件を特定して、条件DB802に格納する。そして、情報処理装置130は、図8と同様に、条件DB802に格納した配置先の条件を制約条件として含む混合整数計画問題を解く。これにより、情報処理装置130は、複数のVMのそれぞれの配置先を決定する。ここで、情報処理装置130が、第1確率と第2確率とをどのように算出するかについて説明する。まず、図15の説明に移行する。
図15は、第1確率を算出する具体例を示す説明図である。図15において、(21)情報処理装置130は、利用履歴DB1101に格納された学習データを取得する。学習データは、例えば、曜日と時点との組み合わせと、当該組み合わせが示す時点から1時間以内にVMが利用されたか否かを示す情報とを含むデータである。そして、情報処理装置130は、識別関数「g(x)=wTx+b」を用いて、学習データを、VMが利用された場合の第1グループと、VMが利用されていない場合の第2グループとに分類する、グループ間の境界線を特定する。
(22)情報処理装置130は、DR実施期間の曜日と開始時点との組み合わせを示す対象データが、特定した境界線よりも第1グループ側に含まれるか、第2グループ側に含まれるかに基づいて、VMが利用される第1確率を算出する。情報処理装置130は、学習データが1時間分の利用状況を含むデータであるため、DR実施期間が1時間より長ければ、DR実施期間を1時間ごとに分割してもよい。そして、情報処理装置130は、分割したそれぞれの部分期間の曜日と開始時点との組み合わせを示す対象データに基づいて、第1確率を算出してもよい。
(23)情報処理装置130は、例えば、対象データが第1グループ側に含まれる場合には、VMが利用される確率がVMが利用されない確率よりも高く、かつ、対象データが境界線から遠いほどVMが利用される確率が高くなるように、第1確率を算出する。一方で、情報処理装置130は、対象データが第2グループ側に含まれる場合には、VMが利用される確率がVMが利用されない確率よりも低く、かつ、対象データが境界線から遠いほどVMが利用される確率が低くなるように、第1確率を算出する。
情報処理装置130は、具体的には、最尤法を用いて、シグモイド関数のパラメータを算出する。また、情報処理装置130は、グループ間の境界線からの対象データまでの距離を、シグモイド関数のパラメータとして算出する。そして、情報処理装置130は、算出したパラメータをシグモイド関数に入力することによって第1確率を算出する。これにより、情報処理装置130は、DR実施期間にVMが利用される第1確率を算出することができ、算出した第1確率に基づいてVMの配置先の条件を決定することができる。ここで、図16の説明に移行する。
図16は、第2確率を算出する具体例を示す説明図である。図16において、(31)情報処理装置130は、利用履歴DB1101に格納された学習データを取得する。学習データは、例えば、曜日と時点と位置との組み合わせと、当該組み合わせが示す時点から1時間以内にVMが利用されたか否かを示す情報とを含むデータである。そして、情報処理装置130は、識別関数「g(x)=wTx+b」を用いて、学習データを、場所ごとに分類する、グループ間の境界線を特定する。また、情報処理装置130は、学習データを、場所ごとに、VMが利用された場合の学習データのグループと、VMが利用されていない場合の学習データのグループとに分類する、グループ間の境界線を特定する。このように、情報処理装置130は、複数の識別関数を組み合わせて、学習データを分類する境界線を特定する。
(32)情報処理装置130は、特定したグループ間の境界線に基づいて、DR実施期間の曜日と開始時点と複数の場所のそれぞれとの組み合わせを示す対象データが、どのグループ側に含まれるかを判定する。そして、情報処理装置130は、どのグループ側に含まれるかに基づいて、複数の場所のそれぞれでVMが利用される第2確率を算出する。
(33)情報処理装置130は、例えば、図15と同様に、最尤法を用いて、シグモイド関数のパラメータを入力する。また、情報処理装置130は、特定したグループ間の境界線からの対象データまでの距離を、シグモイド関数のパラメータとして入力する。そして、情報処理装置130は、シグモイド関数によって第2確率を算出する。これにより、情報処理装置130は、DR実施期間の終了までにVMの利用者が現在位置から移動可能な場所で、DR実施期間にVMが利用される第2確率を算出することができ、算出した第2確率に基づいてVMの配置先の条件を決定することができる。
また、実施の形態2は、実施の形態1と組み合わせてもよい。具体的には、情報処理装置130は、実施の形態1のようにして、利用予定を取得したVMについては、利用予定に基づいて配置先を決定する。そして、情報処理装置130は、利用予定を取得していないVMについては、DR実施期間に利用される可能性の大きさを示す値を算出して、配置先を決定する。これにより、情報処理装置130は、利用予定を取得していないVMについても、DR実施期間におけるVMの利用者の利便性を確保するとともに、サーバSの消費電力量を低減することができる。
また、具体的には、情報処理装置130は、実施の形態2のようにして、複数のVMのそれぞれについて、DR実施期間に利用される可能性の大きさを示す値を算出して、配置先を決定し、複数のVMのそれぞれの配置先に配置する。そして、情報処理装置130は、実施の形態1のようにして、複数のVMのうちの利用予定を取得したVMについては、利用予定に基づいて配置先を変更する。これにより、情報処理装置130は、予めDR実施期間に利用される可能性の大きさを示す値に基づいて配置先を決定して、DR実施期間におけるVMの利用者の利便性を確保するとともに、サーバSの消費電力量を低減することができる。さらに、情報処理装置130は、利用予定を取得したVMについては、DR実施期間に利用される可能性の大きさを示す値に基づいた配置先よりも、実際のVMの利用予定に沿った配置先を決定することができる。このため、情報処理装置130は、DR実施期間におけるVMの利用者の利便性を確保することができる。
(実施の形態2にかかる配置処理手順)
次に、図17を用いて、実施の形態2にかかる、VMの配置先を決定する配置処理手順の一例について説明する。
図17は、実施の形態2にかかる配置処理手順の一例を示すフローチャートである。図17において、情報処理装置130は、制限要求600を受け付けたか否かを判定する(ステップS1701)。
ここで、受け付けていない場合(ステップS1701:No)、情報処理装置130は、ステップS1701の処理に戻る。一方で、受け付けた場合(ステップS1701:Yes)、情報処理装置130は、制限要求600からDR実施期間を示す情報を抽出し、算出処理を実行する(ステップS1702)。次に、情報処理装置130は、条件DB802を参照して、複数のVMのそれぞれの配置先を決定する(ステップS1703)。そして、情報処理装置130は、複数のVMの利用者のそれぞれの位置情報が変化したか否かを判定する(ステップS1704)。
ここで、変化した場合(ステップS1704:Yes)、情報処理装置130は、ステップS1702の処理に戻る。一方で、変化しない場合(ステップS1704:No)、情報処理装置130は、配置処理を終了する。これにより、情報処理装置130は、DR実施期間における需要側110の消費電力量を低減することができるように、複数のVMのそれぞれの配置先を決定することができる。
(実施の形態2にかかる算出処理手順)
次に、図18を用いて、実施の形態2にかかる、VMが利用される確率を算出する算出処理手順の一例について説明する。
図18は、実施の形態2にかかる算出処理手順の一例を示すフローチャートである。図18において、情報処理装置130は、複数のVMのいずれかを選択し、利用履歴DB1101を参照して、DR実施期間に、選択したVMが利用される第1確率を算出する(ステップS1801)。次に、情報処理装置130は、選択したVMが利用される第1確率が閾値以上か否かを判定する(ステップS1802)。
ここで、閾値以上である場合(ステップS1802:Yes)、情報処理装置130は、選択したVMの配置先の条件として、第1状態を特定し(ステップS1803)、ステップS1809の処理に移行する。一方で、閾値未満である場合(ステップS1802:No)、情報処理装置130は、DR実施期間の開始までに、選択したVMの利用者が現在位置から移動可能な場所を特定する(ステップS1804)。
次に、情報処理装置130は、利用履歴DB1101を参照して、特定した場所で、DR実施期間に、選択したVMが利用される第2確率を算出する(ステップS1805)。そして、情報処理装置130は、特定した場所で、選択したVMが利用される第2確率が閾値以上か否かを判定する(ステップS1806)。
ここで、閾値未満である場合(ステップS1806:No)、情報処理装置130は、選択したVMの配置先の条件として、第2状態を特定し(ステップS1807)、ステップS1809の処理に移行する。一方で、閾値以上である場合(ステップS1806:Yes)、情報処理装置130は、選択したVMの配置先の条件として、第3状態を特定し(ステップS1808)、ステップS1809の処理に移行する。
ここで、ステップS1809に移行すると、情報処理装置130は、複数のVMのそれぞれの配置先の条件を特定したか否かを判定する(ステップS1809)。
ここで、複数のVMのいずれかのVMの配置先の条件を特定していない場合(ステップS1809:No)、情報処理装置130は、ステップS1801の処理に戻る。一方で、複数のVMのそれぞれの配置先の条件を特定した場合(ステップS1809:Yes)、情報処理装置130は、算出処理を終了する。これにより、情報処理装置130は、複数のVMのそれぞれの配置先を決定するのに用いられる複数のVMのそれぞれが利用される可能性の大きさを算出することができる。
以上説明したように、実施の形態2にかかる情報処理装置130によれば、第1情報に基づいて、DR実施期間にVMが利用される可能性の大きさを示す値を算出し、算出した値に基づいて、VMのDR実施期間における配置先を決定することができる。これにより、情報処理装置130は、DR実施期間におけるVMの利用者の利便性を確保しつつDR実施期間における消費電力量を低減することができるVMの配置先を決定することができる。
また、情報処理装置130によれば、DR実施期間にVMが利用される第1確率を算出することができる。そして、情報処理装置130によれば、算出した第1確率が閾値以上である場合には、電力消費源となる複数のサーバSのうちのDR実施期間において消費される電力量を制限せずに稼働されるサーバSを、配置先に決定することができる。これにより、情報処理装置130は、DR実施期間に実行される第1確率が閾値以上であるVMを一つのサーバSに集めて当該サーバSを稼働させることができ、VMの利用者の利便性を確保することができる。
また、情報処理装置130によれば、さらに、第1情報と第2情報とに基づいて、DR実施期間の終了までにVMの利用者が現在位置から移動可能な場所でDR実施期間にVMが利用される第2確率を算出することができる。そして、情報処理装置130によれば、算出した第2確率が閾値未満である場合には、複数のサーバSのうちのDR実施期間において稼働停止されるサーバSを、配置先に決定することができる。これにより、情報処理装置130は、DR実施期間に実行される第2確率が閾値未満であるVMを一つのサーバSに集めて当該サーバSの稼働を停止することができ、DR実施期間におけるサーバSの消費電力量を低減することができる。
また、情報処理装置130によれば、算出した第2確率が閾値以上である場合には、複数のサーバSのうちのDR実施期間において消費される電力量を制限して稼働されるサーバSを、配置先に決定することができる。これにより、情報処理装置130は、DR実施期間に利用される第2確率が閾値以上であるVMを一つのサーバSに集めて当該サーバSを制限付きで稼働させることができ、VMの利用者の利便性を確保するとともに、サーバSの消費電力量を低減することができる。
また、情報処理装置130によれば、DR実施期間の開始より第2時間前の時点で利用予定を取得していなければ、DR実施期間にVMが利用される可能性の大きさを示す値を算出して、算出した可能性の大きさを示す値に基づいて配置先を決定することができる。これにより、情報処理装置130は、利用予定を取得していないVMについても、DR実施期間におけるVMの利用者の利便性を確保するとともに、サーバSの消費電力量を低減することができる。
(実施の形態3にかかる情報処理方法の一実施例)
次に、図19を用いて、実施の形態3にかかる情報処理方法の一実施例について説明する。
図19は、実施の形態3にかかる情報処理方法の一実施例を示す説明図である。図19において、情報処理装置130は、情報処理プログラムを実行し、実施の形態3にかかる情報処理方法を実現するコンピュータである。
ここで、情報処理装置130が、複数のVMのそれぞれの配置先を決定して、複数のVMのうちの一つのサーバSで実行中の幾つかのVMを同時に移動して、VMが実行されなくなったサーバSの稼働を停止させる場合が考えられる。これにより、情報処理装置130は、消費電力量が低減されるようにすることができる。しかしながら、この場合では、サーバSから同時に移動するVMの数が多くなるほど、サーバSから移動中のVMを含むサーバSで実行中のVMの応答性能が低下してしまい、サーバSで実行中のVMが要求性能を満たさなくなってしまうことがある。
そこで、実施の形態3では、DR実施期間における需要側110の消費電力量を低減するために対策を行うのを支援することができる情報処理方法について説明する。例えば、実施の形態3では、情報処理装置130は、サーバSからのVMの移動中に、サーバSで実行中のVMが要求性能を満たすように、サーバSから同時に移動可能な幾つかのVMを決定する。これにより、情報処理装置130は、DR実施期間における需要側110の消費電力量を低減するためにサーバSからVMを移動する場合であっても、VMが要求性能を満たすようにすることができる。
図19において、(41)情報処理装置130は、複数のVMの配置先の組み合わせの一つを決定し、一つのサーバSから同時に移動するVMの数「10」を取得する。次に、情報処理装置130は、同時に移動するVMの数「10」に基づいて、サーバSからの移動中にVMの応答時間の遅延量「4」を特定する。遅延量の単位は、例えば、秒である。そして、情報処理装置130は、サーバSからの移動中にVMが要求性能を満たすか否かを判定する。情報処理装置130は、例えば、VMの応答時間の遅延量が「1」以下であれば、VMが要求性能を満たすと判定する。ここで、情報処理装置130は、要求性能を満たさないと判定した場合には、決定した複数のVMの配置先の組み合わせの一つを、実際の配置先の組み合わせとして用いない。
(42)一方で、情報処理装置130は、(41)で決定した組み合わせとは異なる、複数のVMの配置先の組み合わせの一つを決定し、一つのサーバSから同時に移動するVMの数「2」を取得する。次に、情報処理装置130は、同時に移動するVMの数「2」に基づいて、サーバSからの移動中にVMの応答時間の遅延量「0」を特定する。そして、情報処理装置130は、サーバSからの移動中にVMが要求性能を満たすか否かを判定する。ここで、情報処理装置130は、要求性能を満たすと判定した場合には、決定した複数のVMの配置先の組み合わせの一つを、実際の配置先の組み合わせとして用いるように設定する。
情報処理装置130は、例えば、決定した実際の配置先の組み合わせに基づいて、複数のサーバSで実行中の幾つかのVMを同時に移動する。そして、情報処理装置130は、VMが実行されなくなったサーバSのクロック周波数を低下させたり、稼働を停止させて、需要側110の消費電力量を低減する。これにより、情報処理装置130は、複数のVMを移動する場合に、複数のVMが要求性能を満たすようにすることができる。このため、情報処理装置130は、DR実施期間の需要側110の消費電力量を低減するために、複数のVMを移動する場合であっても、DR実施期間のVMの利用者の利便性を確保することができる。
(実施の形態3にかかる電力システム100の一例)
実施の形態3にかかる電力システム100の一例は、図2または図3に示した実施の形態1にかかる電力システム100の一例と同様であるため、説明を省略する。
(実施の形態3にかかる情報処理装置130のハードウェア)
実施の形態3にかかる情報処理装置130のハードウェアの一例は、図4に示した実施の形態1にかかる情報処理装置130のハードウェアの一例と同様であるため、説明を省略する。
(実施の形態3にかかる情報処理装置130の機能的構成例)
次に、図20を用いて、実施の形態3にかかる情報処理装置130の機能的構成例について説明する。
図20は、実施の形態3にかかる情報処理装置130の機能的構成例を示すブロック図である。情報処理装置130は、制御部となる機能として、決定部2000と、移動部2010とを含む。決定部2000は、割当部2001と、取得部2002と、判定部2003とを含む。
割当部2001は、複数のサーバSのそれぞれに複数の稼働状態のいずれかを割り当てる。そして、割当部2001は、複数のサーバSのそれぞれの識別情報と、複数のサーバSのそれぞれに割り当てた稼働状態を示す情報とを対応付けた情報を、RAM403やディスク405などの記憶領域に記憶する。また、割当部2001は、複数のサーバSのそれぞれに割り当てた稼働状態に基づいて、複数のVMのそれぞれに配置先を割り当てる。また、割当部2001は、実施の形態1や実施の形態2のように複数のVMのそれぞれの配置先の条件が決定されていれば、さらに、複数のVMのそれぞれの配置先の条件に基づいて、複数のVMのそれぞれに配置先を割り当ててもよい。そして、割当部2001は、複数のVMのそれぞれの識別情報と、複数のVMのそれぞれに割り当てた配置先を示す情報とを対応付けた情報を、RAM403やディスク405などの記憶領域に記憶する。これにより、割当部2001は、複数のVMのそれぞれの配置先の組み合わせを特定して、判定部2003に出力することができる。
割当部2001は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。
取得部2002は、VMをサーバSから配置先に移動する際にサーバSから同時に移動する予定のVMの数と、第3情報とを取得する。第3情報とは、サーバSの負荷を示す情報である。サーバSの負荷は、例えば、サーバSのCPU使用率である。取得部2002は、例えば、割当部2001が特定した複数のVMの配置先の組み合わせに基づいて、複数のサーバSのいずれかの移動元サーバSから同時に移動する予定のVMの数を算出することにより、移動元サーバSから同時に移動するVMの数を取得する。移動元サーバSとは、自サーバSで実行中のVMが他のサーバSに移動されるサーバSである。取得部2002は、例えば、移動元サーバSの通信量を監視し、移動元サーバSの負荷を示す第3情報を取得する。これにより、取得部2002は、割当部2001が特定した複数のVMのそれぞれの配置先の組み合わせを、実際の配置先の組み合わせとして決定するか否かを判定するのに用いられる、VMの数や第3情報を取得して、判定部2003に出力することができる。
取得されたVMの数や第3情報は、例えば、RAM403、ディスク405などの記憶領域に記憶される。取得部2002は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
判定部2003は、取得部2002が取得したVMの数と第3情報とに基づいて、第4情報を参照して、サーバSからの移動中に、サーバSで実行中のVMが要求性能を満たすか否かを判定する。第4情報とは、移動元サーバSの負荷の大きさと移動元サーバSから同時に移動するVMの数とに対応する、移動元サーバSから移動中のVMを含む移動元サーバSで実行中のVMの応答性能を示す情報である。これにより、判定部2003は、割当部2001が特定した複数のVMの配置先の組み合わせを、実際の配置先の組み合わせに決定するか否かの基準となる判定結果を生成することができる。
判定結果は、例えば、RAM403、ディスク405などの記憶領域に記憶される。判定部2003は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、その機能を実現する。ここで、決定部2000は、判定部2003が要求性能を満たすと判定した場合に、割当部2001が特定した複数のVMの配置先の組み合わせを、実際の配置先の組み合わせに決定する。
また、判定部2003は、割当部2001に先立って、取得部2002が取得した第3情報に基づいて、第4情報を参照して、サーバSからの移動中にサーバSで実行中のVMが要求性能を満たすようにサーバSから同時に移動可能なVMの数を特定してもよい。
この場合には、割当部2001は、例えば、判定部2003が判定したサーバSから同時に移動可能なVMの数に基づいて、複数のVMのそれぞれに配置先を割り当てる。そして、割当部2001は、複数のVMのそれぞれの識別情報と、複数のVMのそれぞれに割り当てた配置先を示す情報とを対応付けた情報を、RAM403やディスク405などの記憶領域に記憶する。これにより、割当部2001は、複数のVMのそれぞれの実際の配置先の組み合わせを特定することができる。この場合には、決定部2000は、割当部2001が特定した複数のVMの配置先の組み合わせを、実際の配置先の組み合わせに決定する。
移動部2010は、決定部2000が決定した配置先に、VMを移動する。移動部2010は、例えば、決定部2000が決定した実際の配置先に、ライブマイグレーション機能を用いてVMを移動する。また、移動部2010は、決定部2000が決定した実際の配置先が、VMの現在の配置先と同一のサーバSであれば、VMを移動する処理を行わなくてよい。移動部2010は、具体的には、実施の形態1と同様に、VMを移動する。
移動部2010は、例えば、図4に示したROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。
実施の形態1にかかる決定部505と移動部506とは、実施の形態3にかかる決定部2000と移動部2010とに置き換えることができる。また、実施の形態2にかかる決定部1305と移動部1306とは、実施の形態3にかかる決定部2000と移動部2010とに置き換えることができる。
(実施の形態3にかかる実施例1)
次に、図21を用いて、実施の形態3にかかる実施例1について説明する。
図21は、実施の形態3にかかる実施例1を示す説明図である。図21において、情報処理装置130は、図21(H)のグラフ2100を示す情報を記憶する。
図21(H)のグラフ2100は、移動元サーバSからの移動中にVMの応答時間の遅延量が規定量になる、移動元サーバSから同時に移動するVMの数と移動元サーバSの負荷とを示すグラフの一例である。情報処理装置130は、例えば、移動元サーバSからの移動中に移動元サーバSで実行中のVMの応答時間の遅延量が規定量になる、移動元サーバSから同時に移動するVMの数と移動元サーバSの負荷とを示す数直線を示す情報を記憶する。図21(H)の例では、数直線2101〜2103は、それぞれ、移動元サーバSで実行中のVMの応答時間の遅延量が「2秒」、「3秒」、「4秒」になる、移動元サーバSから同時に移動するVMの数と移動元サーバSの負荷とを示す。
具体的には、情報処理装置130は、複数のサーバSのそれぞれと通信し、複数のサーバSのそれぞれの負荷と利用状況とを取得する。また、情報処理装置130は、複数のサーバSのそれぞれと通信し、複数のサーバSから同時に移動するVMの数を取得する。また、情報処理装置130は、複数のサーバSで実行中の複数のVMのそれぞれの利用に用いられるクライアント装置と通信し、複数のVMのそれぞれの応答時間を取得する。次に、情報処理装置130は、サーバSの利用状況に基づいて、ネットワークの負荷ではなく当該サーバSの負荷に起因して当該サーバSで実行中のVMの応答時間の遅延量が規定量になった時点を特定する。そして、情報処理装置130は、特定したサーバSで実行中のVMの応答時間の遅延量が規定量になった時点における当該サーバSの負荷と当該サーバSから同時に移動するVMの数とを、数直線を示す情報として記憶する。
次に、情報処理装置130は、複数のサーバSのそれぞれの稼働状態を特定するとともに、複数のVMのそれぞれの配置先の組み合わせの一つを特定する。ここで、情報処理装置130は、複数のサーバSで実行される複数のVMを、複数のVMのそれぞれの配置先の組み合わせに従って移動する場合に、移動元サーバSから同時に移動するVMの数を取得する。また、情報処理装置130は、移動元サーバSの負荷を示す情報を取得する。
そして、情報処理装置130は、図21(I)に示すように、複数のVMのそれぞれの配置先の組み合わせを、実際の配置先の組み合わせに決定するか否かを判定する。情報処理装置130は、例えば、VMの応答時間の遅延量が「2秒」以下になる移動元サーバSの負荷と移動元サーバSから同時に移動するVMの数との組み合わせであるか否かを判定する。ここで、情報処理装置130は、VMの応答時間の遅延量が「2秒」以下になる組み合わせであれば、当該組み合わせを実際の配置先の組み合わせに決定する。
情報処理装置130は、具体的には、VMの応答時間の遅延量が「2秒」になる数直線2101上で、第3情報が示す移動元サーバSの負荷に対応する、移動元サーバSから同時に移動するVMの数を特定する。そして、情報処理装置130は、特定したVMの数よりも取得したVMの数が少なければ、VMの応答時間の遅延量が「2秒」以下になると判定する。
また、情報処理装置130は、具体的には、VMの応答時間の遅延量が「2秒」になる数直線2101上で、取得したVMの数に対応する、移動元サーバSの負荷を特定してもよい。そして、情報処理装置130は、特定した負荷よりも取得した負荷が低ければ、VMの応答時間の遅延量が「2秒」以下になると判定する。そして、情報処理装置は、決定した実際の配置先の組み合わせに基づいて、複数のVMのそれぞれを配置先に移動させる。
一方で、情報処理装置130は、VMの応答時間の遅延量が「2秒」以下になる組み合わせでなければ、当該組み合わせとは異なる、複数のVMのそれぞれの配置先の組み合わせの一つを特定する。そして、情報処理装置130は、特定した組み合わせを、実際の配置先の組み合わせに決定するか否かを判定する。
ここでは、情報処理装置130が、決定した実際の配置先の組み合わせに基づいて、一度にまとめて、複数のVMのそれぞれを同時に配置先に移動させる場合について説明したが、これに限らない。例えば、情報処理装置130は、決定した実際の配置先の組み合わせに基づいて、複数回に分けて、複数のVMのそれぞれを配置先に移動させてもよい。
また、情報処理装置130は、決定した実際の配置先の組み合わせに基づいて複数のVMのそれぞれを配置先に移動させた後に、新たな配置先の組み合わせを特定して次の実際の配置先の組み合わせに決定するか否かを判定してもよい。また、情報処理装置130は、移動元サーバSの負荷が閾値より小さくなるまで待機してから、複数のVMのそれぞれを配置先に移動させてもよい。
(実施の形態3にかかる配置処理手順)
次に、図22を用いて、実施の形態3にかかる配置処理手順の一例について説明する。
図22は、実施の形態3にかかる配置処理手順の一例を示すフローチャートである。図22において、情報処理装置130は、複数のサーバSのそれぞれに配置可能なVMの数を設定する(ステップS2201)。
次に、情報処理装置130は、割当処理を実行する(ステップS2202)。そして、情報処理装置130は、複数のサーバSで実行される複数のVMのそれぞれの応答性能を特定する(ステップS2203)。次に、情報処理装置130は、複数のVMのそれぞれが要求性能を満たすか否かを判定する(ステップS2204)。
ここで、要求性能を満たさないVMがある場合(ステップS2204:No)、情報処理装置130は、ステップS2201の処理に戻る。一方で、複数のVMのそれぞれが要求性能を満たす場合(ステップS2204:Yes)、情報処理装置130は、複数のVMのそれぞれを配置先に移動し(ステップS2205)、配置処理を終了する。これにより、情報処理装置130は、複数のVMのそれぞれが要求性能を満たすようにして、複数のVMのそれぞれの利用者の利便性を確保することができる。
(実施の形態3にかかる割当処理手順)
次に、図23を用いて、実施の形態3にかかる割当処理手順の一例について説明する。
図23は、実施の形態3にかかる割当処理手順の一例を示すフローチャートである。図23において、情報処理装置130は、複数のVMのそれぞれの配置先の条件を取得する(ステップS2301)。
次に、情報処理装置130は、複数のサーバSのそれぞれの稼働状態の組み合わせの一つを特定する(ステップS2302)。そして、情報処理装置130は、混合整数計画問題を解くことにより、特定した組み合わせにおける、複数のVMのそれぞれの配置先の組み合わせを特定し(ステップS2303)、割当処理を終了する。これにより、情報処理装置130は、制約条件の範囲内で、需要側110の消費電力量を最小化することができるように、複数のVMのそれぞれの配置先を決定することができる。
以上説明したように、実施の形態3にかかる情報処理装置130によれば、サーバSからの移動中にVMが要求性能を満たすようにサーバSから同時に移動可能なVMの数を特定することができる。これにより、情報処理装置130は、サーバSから同時に移動可能なVMの数を超えないように、複数のVMのそれぞれの配置先を決定することができ、VMの利用者の利便性を確保することができる。
また、情報処理装置130によれば、サーバSから同時に移動するVMの数と、第3情報とに基づいて、第4情報を参照して、サーバSからの移動中にVMが要求性能を満たすか否かを判定することができる。そして、情報処理装置130によれば、VMが要求性能を満たすと判定した場合に、配置先にVMを移動することができる。これにより、情報処理装置130は、複数のVMのそれぞれの配置先を決定した場合に、複数のVMのそれぞれが要求性能を満たすか否かを判定することができる。そして、情報処理装置130は、要求性能を満たす場合に、複数のVMのそれぞれを配置先に移動することができ、VMの利用者の利便性を確保することができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した各実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
将来の特定期間における電力消費源で消費される電力量の制限要求を受け付け、
前記制限要求を受け付けたことに応じて、前記電力消費源に含まれるサーバで実行される仮想マシンの前記特定期間における利用予定の通知要求を、前記仮想マシンの利用者宛に送信する、
処理を実行させることを特徴とする情報処理プログラム。
(付記2)前記コンピュータに、
前記制限要求から決定されるサーバの稼働計画を取得し、
前記通知要求に対応する利用予定を取得し、
取得した前記利用予定に基づいて、前記仮想マシンの配置先のサーバを、取得した前記稼働計画で決定されるサーバの状態に応じて決定する、
処理を実行させることを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記コンピュータに、
複数の過去の時点のそれぞれにおける前記仮想マシンの利用状況を示す第1情報に基づいて、前記特定期間に前記仮想マシンが利用される可能性を示す指標値を算出し、
算出した前記指標値に基づいて、前記特定期間におけるサーバの稼働計画に対応させて、前記仮想マシンの配置先を決定する、
処理を実行させることを特徴とする付記2に記載の情報処理プログラム。
(付記4)前記決定する処理は、取得した前記利用予定が、前記仮想マシンを利用しないことを示す場合には、前記稼働計画が稼働停止と計画されるサーバを、前記仮想マシンの前記特定期間における配置先に決定する、
ことを特徴とする付記2または3に記載の情報処理プログラム。
(付記5)前記決定する処理は、取得した前記利用予定が、前記仮想マシンを利用することを示す場合には、前記稼働計画が電力量を制限せずに稼働と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記4に記載の情報処理プログラム。
(付記6)前記決定する処理は、取得した前記利用予定が、前記仮想マシンの応答速度の低下を許容して前記仮想マシンを利用することを示す場合には、前記稼働計画が電力量を制限して稼働と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記4または5に記載の情報処理プログラム。
(付記7)前記決定する処理は、算出した前記指標値が閾値以上である場合には、前記稼働計画が電力量を制限せずに稼働と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記3に記載の情報処理プログラム。
(付記8)前記第1情報は、複数の過去の時点のそれぞれにおける前記仮想マシンの利用者の位置と前記仮想マシンの利用状況との対応関係を示す情報であって、
前記コンピュータに、
前記仮想マシンの利用者の現在位置を示す第2情報を取得する、処理を実行させ、
前記算出する処理は、算出した前記指標値が閾値未満である場合には、さらに、前記第1情報と前記第2情報とに基づいて、前記特定期間の終了までに前記仮想マシンの利用者が前記現在位置から移動可能な場所で前記特定期間に前記仮想マシンが利用される可能性を示す第2指標値を算出し、
前記決定する処理は、算出した前記第2指標値が閾値未満である場合には、前記稼働計画が稼働停止と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記7に記載の情報処理プログラム。
(付記9)前記決定する処理は、算出した前記第2指標値が閾値以上である場合には、前記稼働計画が電力量を制限して稼働と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記8に記載の情報処理プログラム。
(付記10)前記コンピュータに、
決定した前記配置先に前記仮想マシンを前記サーバから移動する際に前記サーバから同時に移動する仮想マシンの数と、前記サーバの負荷を示す第3情報とを取得し、
取得した前記仮想マシンの数と前記第3情報とに基づいて、移動元サーバの負荷の大きさと前記移動元サーバから同時に移動する仮想マシンの数とに対応する、前記移動元サーバで実行中の仮想マシンの応答性能を示す第4情報を参照して、前記サーバからの移動中に前記仮想マシンが要求性能を満たすか否かを判定し、
前記仮想マシンが前記要求性能を満たすと判定した場合に、前記配置先に前記仮想マシンを移動する、
処理を実行させることを特徴とする付記4〜9のいずれか一つに記載の情報処理プログラム。
(付記11)前記送信する処理は、前記制限要求を受け付けてから前記特定期間の開始までの時間が第1時間以上である場合に、前記通知要求を前記仮想マシンの利用者宛に送信する、
ことを特徴とする付記1に記載の情報処理プログラム。
(付記12)コンピュータに、
将来の特定期間における電力消費源で消費される電力量の制限要求を受け付け、
前記制限要求を受け付けたことに応じて、複数の過去の時点のそれぞれにおける前記電力消費源に含まれるサーバで実行される仮想マシンの利用状況を示す第1情報に基づいて、前記特定期間に前記仮想マシンが利用される可能性を示す指標値を算出し、
前記制限要求から決定されるサーバの稼働計画を取得し、
算出した前記指標値に基づいて、前記特定期間におけるサーバの稼働計画に対応させて、前記仮想マシンの配置先のサーバを決定する、
処理を実行させることを特徴とする情報処理プログラム。
(付記13)前記決定する処理は、算出した前記指標値が閾値以上である場合には、前記稼働計画が電力量を制限せずに稼働と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記12に記載の情報処理プログラム。
(付記14)前記第1情報は、複数の過去の時点のそれぞれにおける前記仮想マシンの利用者の位置と前記仮想マシンの利用状況との対応関係を示す情報であって、
前記コンピュータに、
前記仮想マシンの利用者の現在位置を示す第2情報を取得する、処理を実行させ、
前記算出する処理は、算出した前記指標値が閾値未満である場合には、さらに、前記第1情報と前記第2情報とに基づいて、前記特定期間の終了までに前記仮想マシンの利用者が前記現在位置から移動可能な場所で前記特定期間に前記仮想マシンが利用される可能性を示す第2指標値を算出し、
前記決定する処理は、算出した前記第2指標値が閾値未満である場合には、前記稼働計画が稼働停止と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記13に記載の情報処理プログラム。
(付記15)前記決定する処理は、算出した前記第2指標値が閾値以上である場合には、前記稼働計画が電力量を制限して稼働と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記14に記載の情報処理プログラム。
(付記16)前記第1情報は、複数の過去の時点のそれぞれにおける前記仮想マシンの利用者の位置と前記仮想マシンの利用状況との対応関係を示す情報であって、
前記コンピュータに、
前記仮想マシンの利用者の現在位置を示す第2情報を取得する、処理を実行させ、
前記算出する処理は、前記第1情報と前記第2情報とに基づいて、前記特定期間の終了までに前記仮想マシンの利用者が前記現在位置から移動可能な場所で前記特定期間に前記仮想マシンが利用される可能性を示す第2指標値を算出し、
前記決定する処理は、算出した前記第2指標値が閾値未満である場合には、前記稼働計画が稼働停止と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記12に記載の情報処理プログラム。
(付記17)前記決定する処理は、算出した前記第2指標値が閾値以上である場合には、前記稼働計画が電力量を制限して稼働と計画されるサーバを、前記配置先に決定する、
ことを特徴とする付記16に記載の情報処理プログラム。
(付記18)コンピュータに、
仮想マシンを実行中のサーバの負荷を示す第1情報を取得し、
取得した前記第1情報に基づいて、移動元サーバの負荷の大きさと前記移動元サーバから同時に移動する仮想マシンの数とに対応する、前記移動元サーバで実行中の仮想マシンの応答性能を示す第2情報を参照して、前記サーバからの移動中に前記仮想マシンが要求性能を満たすように前記サーバから同時に移動する仮想マシンを決定する、
処理を実行させることを特徴とする情報処理プログラム。
(付記19)前記コンピュータに、
前記第1情報に基づいて、前記第2情報を参照して、前記サーバで実行中の仮想マシンが要求性能を満たすように前記サーバから同時に移動可能な仮想マシンの数を特定する、処理を実行させ、
前記決定する処理は、特定した前記移動可能な仮想マシンの数よりも前記サーバから同時に移動する仮想マシンの数が少なくなるように、前記サーバから同時に移動する仮想マシンを決定する、
ことを特徴とする付記18に記載の情報処理プログラム。
(付記20)前記コンピュータに、
前記サーバから移動する予定の仮想マシンを示す第3情報を取得し、
前記第1情報と、取得した前記第3情報とに基づいて、前記第2情報を参照して、前記移動する予定の仮想マシンを前記サーバから移動した場合に前記サーバで実行中の仮想マシンが要求性能を満たすか否かを判定する、処理を実行させ、
前記決定する処理は、要求性能を満たすと判定した場合には、前記移動する予定の仮想マシンを、前記サーバから同時に移動する仮想マシンとして決定する、
ことを特徴とする付記18に記載の情報処理プログラム。
(付記21)コンピュータが、
将来の特定期間における電力消費源で消費される電力量の制限要求を受け付け、
前記制限要求を受け付けたことに応じて、前記電力消費源に含まれるサーバで実行される仮想マシンの前記特定期間における利用予定の通知要求を、前記仮想マシンの利用者宛に送信する、
処理を実行することを特徴とする情報処理方法。
(付記22)コンピュータが、
将来の特定期間における電力消費源で消費される電力量の制限要求を受け付け、
前記制限要求を受け付けたことに応じて、複数の過去の時点のそれぞれにおける前記電力消費源に含まれるサーバで実行される仮想マシンの利用状況を示す第1情報に基づいて、前記特定期間に前記仮想マシンが利用される可能性を示す指標値を算出し、
前記制限要求から決定されるサーバの稼働計画を取得し、
算出した前記指標値に基づいて、前記特定期間におけるサーバの稼働計画に対応させて、前記仮想マシンの配置先のサーバを決定する、
処理を実行することを特徴とする情報処理方法。
(付記23)コンピュータが、
仮想マシンを実行中のサーバの負荷を示す第1情報を取得し、
取得した前記第1情報に基づいて、移動元サーバの負荷の大きさと前記移動元サーバから同時に移動する仮想マシンの数とに対応する、前記移動元サーバで実行中の仮想マシンの応答性能を示す第2情報を参照して、前記サーバからの移動中に前記仮想マシンが要求性能を満たすように前記サーバから同時に移動する仮想マシンを決定する、
処理を実行することを特徴とする情報処理方法。
(付記24)将来の特定期間における電力消費源で消費される電力量の制限要求を受け付け、前記制限要求を受け付けたことに応じて、前記電力消費源に含まれるサーバで実行される仮想マシンの前記特定期間における利用予定の通知要求を、前記仮想マシンの利用者宛に送信する、
制御部を有することを特徴とする情報処理装置。