(57)【要約】      （修正有）【課題】消費電力が変化する複数の情報処理装置における熱の偏りを小さくする。【解決手段】複数の情報処理装置の温度を制御する温度制御装置であって、消費電力予測機能部６１が単位時間当りの処理量の時間履歴情報８００から予測時刻における処理量を予測し、情報処理装置毎に特定される単位時間当りの処理量により変化する消費電力情報８５０から、予測された処理量の少なくとも一部を処理するときの情報処理装置の消費電力を予測する。装置特定機能部６２が予測された消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定し、ソフトウェア実行制御機能部６３が特定した情報処理装置に予測された処理量を生じさせるソフトウェアを割り当てる。【選択図】図３Ｂ
2011039967.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置の温度を制御する温度制御装置であって、
ソフトウェアの実行により情報処理装置で処理される単位時間当りの処理量の時間履歴から処理量を予測し、且つ、前記情報処理装置毎に特定される、単位時間当りの処理量により変化する消費電力から、前記予測された処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を予測する消費電力予測機能部、
前記予測された消費電力が規定値未満になるように、前記予測された処理量を処理する情報処理装置を特定する装置特定機能部、及び
前記特定した情報処理装置に、前記予測された処理量を生じさせるソフトウェアを割り当てるソフトウェア実行制御機能部、を実現する処理部、
を有することを特徴とする温度制御装置。
【請求項２】
前記情報処理装置は、所定の数毎に複数の領域に収納され、
前記規定値は、前記領域に配置された情報処理装置における前記予測された消費電力の合計した値を、前記領域に定められる規定値未満にする閾値である、請求項１に記載の温度制御装置。
【請求項３】
前記情報処理装置は、第１のソフトウェア及び前記第１のソフトウェアより実行の優先順位の低い第２のソフトウェアを同時に実行し、
前記処理量により変化する消費電力は、前記第１及び第２のソフトウェアの実行による単位時間当りの処理量により変化する消費電力であり、
前記消費電力予測機能部は、前記処理量の時間履歴から前記第１及び第２のソフトウェアの処理量をそれぞれ予測し、且つ、前記予測された前記第１及び第２のソフトウェア実行による処理量のうち少なくとも一部を処理するときの前記情報処理装置の消費電力を前記処理量により変化する消費電力から予測し、
前記装置特定機能部は、前記第１又は第２のソフトウェア実行による前記予測された消費電力が規定値未満になるように、前記第２のソフトウェア実行による予測された処理量の少なくとも一部を処理する情報処理装置を特定し、
前記ソフトウェア実行制御機能部は、前記第１及び第２のソフトウェアを実行する情報処理装置による前記第２のソフトウェアの実行を停止し、且つ、前記特定した情報処理装置に前記第２のソフトウェアを割り当てる、請求項１又は２に記載の温度制御装置。
【請求項４】
前記予測された消費電力が規定値未満になるように、前記予測された処理量を処理する情報処理装置が無い場合、前記ソフトウェア実行制御機能部は、実行の優先順位が低いソフトウェアを停止する、請求項１〜３のいずれか１項に記載の温度制御装置。
【請求項５】
複数の情報処理装置に接続され、且つ前記情報処理装置の温度を制御する温度制御装置に、
ソフトウェアの実行により情報処理装置で処理される単位時間当りの処理量の時間履歴から処理量を予測し、且つ、前記情報処理装置毎に特定され且つ単位時間当りの処理量により変化する消費電力から前記予測された処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を予測する消費電力予測機能、
前記予測された消費電力が規定値未満になるように、前記予測された処理量を割り当てる情報処理装置を特定する装置特定機能、及び
前記特定した情報処理装置に前記予測された処理量を生じさせるソフトウェアを割り当てるソフトウェア実行制御機能、
を実現させるためのプログラム。
【請求項６】
前記複数の情報処理装置は、所定の数毎に複数の領域に収納され、
前記規定値は、前記領域に配置された所定数の情報処理装置の前記予測された消費電力の合計値を、前記領域に定められる規定値未満にするためのものである、請求項５に記載のプログラム。
【請求項７】
複数の情報処理装置に接続され、且つ前記情報処理装置の温度を制御する温度制御方法であって、
ソフトウェアを実行する情報処理装置で処理される単位時間当りの処理量の時間履歴から前記処理量を予測するステップと
前記情報処理装置毎に特定され且つ単位時間当りの処理量により変化する消費電力から前記予測された処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を予測するステップと、
前記予測された消費電力が規定値未満になるように、前記予測された処理量を割り当てる情報処理装置を特定するステップと、
前記特定した情報処理装置に前記予測された処理量を生じさせるソフトウェアを割り当てるステップと、
を有することを特徴とする温度制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、温度制御装置に関する。
【背景技術】
【０００２】
データセンタやサーバルームでは、多数のコンピュータが稼動するため、多量の熱を排出する。この熱により周辺の空気が加熱され室内気温が上昇し、コンピュータの仕様で定められる動作可能気温を越えてしまい、誤動作や故障の原因となることがある。そのため、データセンタやサーバルームでは、コンピュータ周辺の空気を冷却するための冷却設備が配置されている。この冷却設備には、室内全体を冷却する全体空調や, 室内の一部のみや特定のラックのみを冷却するような個別空調などが使用される。
【０００３】
また、データセンタやサーバルームでは、各々の発熱量が大きい多数のサーバを収納するため、同一フロア内であっても、温度分布にばらつきが生じる, つまり熱の偏り」が生じる。温度が高く冷却に余裕のない場所を「ホットスポット」と、温度が低く冷却に余裕のある「クールスポット」と呼ぶ。「空調能力を上げて全ての場所のサーバが安定動作温度を下回るまで冷却すると、ホットスポットだけでなくクールスポットの温度まで下がり、無駄な電力消費が発生する。
【０００４】
これに対して、温度測定により温度分布を把握し、サーバを物理的に再配置して熱の偏りを減らす手法がある。しかしながら、熱の偏りは時間が経つにつれて変動するが、物理的再配置にはコストが高いため頻繁に行えないなどの不都合がある。
【０００５】
複数のコンピュータを冷却するためのエネルギーを節約するために、データセンタに配置された複数のコンピュータで実行されるソフトウェアを管理する管理システムが提案されている。管理システムは、コンピュータの温度又はコンピュータの稼動データを検出して、放熱が多いコンピュータで実行されるソフトウェアを、放熱が少ないコンピュータに割り当てる。
【０００６】
また、計算機の温度上昇を防ぐために、ソフトウェアを計算機に割り当てるジョブスケジューリング装置が提案されている。ジョブスケジューリング装置は、検出された各計算機の消費電力及び処理時間から求めた平均消費電力及び平均処理時間を用いて、所望のジョブを各計算機に割り当てた時の各計算機の温度を予測する。そして、ジョブスケジューリング装置は、予測されたジョブ割当後の計算機の温度を用いて、計算機温度を上限温度以下にするように、複数の計算機にジョブを割り当てる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１７９４３７号広報
【特許文献２】特開２００８−２４２６１４号広報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば、情報処理装置に含まれるCentral Processing Unit（ＣＰＵ）は、負荷が軽いときには処理能力を下げる代わりに消費電力を削減する機構を持つ。そのため、情報処理装置の消費電力は、負荷に応じて変化する。
しかしながら、提案されているジョブスケジューリング装置は、平均消費電力及び平均処理時間を用いて計算機の温度予測を行うため、ジョブスケジューリング装置は、負荷に応じてＣＰＵの消費電力が変化する計算機の温度予測を正確に行うことは出来ない。また、提案されている管理システムは、放熱が多いコンピュータの温度を検出した後に、放熱の少ないコンピュータへソフトウェアを割り当てている。そのため、温度検出からソフトウェアの割り当て処理完了までに時間差が生じる。この時間差のうちに、動作可能温度を超えるコンピュータが出たり、熱の偏りが許容範囲を超えてしまい冷却に必要なエネルギーが大きくなるという問題が発生する。
【０００９】
一実施形態に係る温度制御装置は、単位時間当りの処理量に応じて消費電力が変化する情報処理装置における熱の偏りを小さくすることを目的とする。
【課題を解決するための手段】
【００１０】
一実施形態に係る温度制御装置は、複数の情報処理装置の温度を制御する温度制御装置であって、ソフトウェアの実行により情報処理装置で処理される単位時間当りの処理量の時間履歴から処理量を予測し、且つ、情報処理装置毎に特定される、単位時間当りの処理量により変化する消費電力から、予測された処理量の少なくとも一部を処理するときの情報処理装置の消費電力を予測する消費電力予測機能部、予測された消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定する装置特定機能部、及び特定した情報処理装置に、予測された処理量を生じさせるソフトウェアを割り当てるソフトウェア実行制御機能部、を実現する処理部を有する。
【発明の効果】
【００１１】
一実施形態に係る温度制御装置は、単位時間当りの処理量に応じて消費電力が変化する情報処理装置における熱の偏りを小さくするという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】温度制御装置のハードウェア構成の一例を示す図である。
【図２】温度制御装置に接続される装置のハードウェア構成の一例を示す図である。
【図３Ａ】温度制御装置の記憶部に記憶されるプログラム及びデータの一例を示す。
【図３Ｂ】温度制御装置により実現される消費電力予測機能部、装置特定機能部、及びソフトウェア実行制御機能部の機能構成の一例を示す。
【図４】情報処理装置の記憶部に記憶されるプログラム及びデータの一例を示す。
【図５】温度制御装置に接続される情報処理装置を配置するラックの一例を示す立面図である。
【図６】温度制御装置に接続される情報処理装置を配置するラックと冷却設備との配置構成の一例を示す図である。
【図７】温度制御装置による処理量及び消費電力の取得を示すシーケンスの一例を示す図である。
【図８】処理量の時間履歴情報の一例を示す図である。
【図９】処理量の時間履歴情報に登録された処理量と時間との関係の一例を示す図である。
【図１０】１台の情報処理装置が１つのソフトウェアを実行したときの消費電力情報の一例を示す図である。
【図１１】１台の情報処理装置が１つのソフトウェアを実行したときの処理量と消費電力情報との関係の一例を示す図である。
【図１２】１台の情報処理装置が複数のソフトウェアを実行したときの消費電力情報の一例を示す図である。
【図１３】１台の情報処理装置が複数のソフトウェアを実行したときの処理量と消費電力情報との関係の一例を示す図である。
【図１４】装置設定情報の一例を示す図である。
【図１５】装置管理情報の一例を示す図である。
【図１６】装置特定機能部及びソフトウェア実行制御機能部の一例を説明する図である。
【図１７】装置特定機能部及びソフトウェア実行制御機能部の一例を説明する図である。
【図１８】装置特定機能部及びソフトウェア実行制御機能部の一例を説明する図である。
【図１９】ソフトウェア実行優先順位情報の一例を示す図である。
【図２０】装置特定機能部及びソフトウェア実行制御機能部の一例を説明する図である。
【図２１】キュー情報の一例を示す図である。
【図２２】装置特定機能部及びソフトウェア実行制御機能部の一例を説明する図である。
【図２３】温度制御装置が、情報処理装置毎の規定値で情報処理装置の温度制御を行う処理フローの一例を示す図である。
【図２４】温度制御装置が、ラック毎の規定値に基づいて情報処理装置の温度制御を行なう処理フローの一例を示す図である。
【図２５】温度制御装置が、複数ソフトウェアを実行する情報処理装置の温度制御を行なう処理フローの一例を示す図である。
【図２６】温度制御装置が、ソフトウェアを停止又は起動する情報処理装置の温度制御を行なう処理フローの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、温度制御装置の一実施形態を説明する。
図１は、温度制御装置のハードウェア構成の一例を示す図である。図１に示すように、一実施形態による温度制御装置１０は、記憶部１１、処理部１２、通信部１３、外部記憶装置１４、ドライブ装置１５、入力部１７、出力部１８、及びバス１９を有する。
【００１４】
記憶部１１は、半導体素子を利用して電気的にデータを記憶する装置である。記憶部１１は、例えば、キャッシュメモリ又はメインメモリ又はフラッシュメモリである。キャッシュメモリは、例えば、ＳＲＡＭ（Static Random Access Memory）である。メインメモリは、例えば、ＤＲＡＭ（Dynamic Random Access Memory）である。フラッシュメモリは、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）である。なお、記憶部１１に格納される処理量の時間履歴情報８００、消費電力情報８５０、装置設定情報９００、装置管理情報９５０、ソフトウェア実行優先順位情報９８０、キュー情報９８５、及びプログラム９９０は、図３Ａを用いて後述される。
【００１５】
処理部１２は、記憶部１１に記憶されたプログラム９９０を実行することで、記憶部１１又は入力部１７からデータを受け取り、受け取ったデータを演算する装置である。そして、処理部１２は、演算したデータを、記憶部１１や出力部１８に出力する。処理部１２は、例えば、ＣＰＵである。
処理部１２は、プログラム９９０を実行することで、消費電力予測機能部、装置特定機能部及びソフトウェア実行制御機能部を実現する。消費電力予測機能部、装置特定機能部及びソフトウェア実行制御機能部は、図３Ｂを用いて後述される。
【００１６】
通信部１３は、図２を用いて後述されるネットワークケーブル５と接続し、及びデータを送信又は受信するための装置である。通信部１３は、例えば、ネットワークアダプタである。外部記憶装置１４は、例えば、磁気ディスクのディスクアレイ、又は、フラッシュメモリを用いたSolid State Drive（ＳＳＤ）、又は、光学ディスクドライブである。外部記憶装置１４は、記憶部１１に格納されるプログラム及びデータを記憶することが出来る。ドライブ装置１５は、例えば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ、ＤＶＤなどの記憶媒体１６を読み書きする装置である。ドライブ装置１５は、記憶媒体１６を回転させるモータや記憶媒体１６上でデータを読み書きするヘッド等を含む。
【００１７】
記憶媒体１６は、処理量の時間履歴情報８００、消費電力情報８５０、装置設定情報９００、装置管理情報９５０、ソフトウェア実行優先順位情報９８０、キュー情報９８５、及びプログラム９９０を格納することが出来る。ドライブ装置１５は、ドライブ装置１５にセットされた記憶媒体１６からプログラム９９０を読み出す。処理部１２は、ドライブ装置１５により読み出されたプログラム９９０を、記憶部１１及び／又は外部記憶装置１４に格納する。入力部１７は、例えば、キーボードやマウス等である。出力部１８は、例えば、ディスプレイである。
【００１８】
バス１９は、記憶部１１、処理部１２、通信部１３、外部記憶装置１４、ドライブ装置１５、入力部１７、及び出力部１８に接続され、且つ接続された装置間のデータ伝送を行なうための伝送路である。バス１９は、データの伝送を行なうために、例えば、ＰＣＩ Ｅｘｐｒｅｓｓなどの規格に従って機能する電子的な回路を含む。
【００１９】
図２は、温度制御装置に接続される装置のハードウェア構成の一例を示す図である。
図２に示すように、温度制御装置１０は、スイッチ４００及びネットワークケーブル５を介して、情報処理装置１１０〜２４０、電力監視装置４１０、及び負荷分散装置４３０と接続される。また、情報処理装置１１０〜２４０は、外部ネットワーク６を介して複数のコンピュータ４２０とデータ接続し、例えばデータセンタ内におかれた多数のサーバである。外部ネットワーク６は、例えば、インターネットやLocal Area Network（ＬＡＮ）である。コンピュータ４２０は、情報処理装置１１０〜２４０に対して情報処理装置１１０〜２４０が実行するソフトウェアの処理要求を送信する。図２には、１台のコンピュータ４２０が示されるが、コンピュータ４２０の台数は、図示される台数に限定されない。
【００２０】
電力監視装置４１０は、電流センサ１１６を有し、且つ電流センサ１１６で検出された情報処理装置１１０の消費電力を、ネットワークケーブル５を介して温度制御装置１０に送信する装置である。電流センサ１１６は、情報処理装置１１０の消費電力を検出するためのセンサである。電流センサ１１６は、例えば、クランプメータである。電流センサ１１６は、情報処理装置１１０と、電源５０とを接続する電気ケーブル１１５に取り付けられる。情報処理装置１１０と同様に、情報処理装置２４０の電気ケーブル２４５にも、電流センサ２４６が取り付けられる。なお、図１には示さないが、他の情報処理装置１２０〜１４０及び２１０〜２３０も同様に電源５０に接続した電気ケーブルに電流センサが取り付けられ、電流センサは、検出した検出電力を電力監視装置４１０に送信する。
【００２１】
なお、電力監視装置４１０を用いることなく、他の環境で電力監視装置４１０に相当する設備で実測した電力データを、作業員が、温度制御装置１０に入力部１７を介して登録しても良い。
【００２２】
負荷分散装置４３０は、コンピュータ４２０からの処理要求を一元的に管理し、処理要求に対応するソフトウェアを実行する複数の情報処理装置に処理要求を転送することが出来る。負荷分散装置４３０は、各情報処理装置に処理要求を均等に配分することが出来る。また、負荷分散装置４３０は、情報処理装置の能力にばらつきがある場合、情報処理装置の処理速度に応じて処理要求を転送することも出来る。図２においては、負荷分散装置４３０は、情報処理装置１１０〜２４０と異なる装置と示した。しかしながら、情報処理装置１１０〜２４０のいずれか、又は、温度制御装置１０が、負荷分散処理用のソフトウェアを実行させることで、負荷分散装置として機能してもよい。
【００２３】
なお、負荷分散装置４３０を用いずに、同一アプリケーションを複数の情報処理装置１１０〜２４０に実行させる他の方法が用いられても良い。そのような方法として、例えば、Uniform Resource Locator（ＵＲＬ）を各情報処理装置に別個に設けて、実行するソフトウェアを同じにする方法がある。このような方法では、コンピュータ４３０は、ＵＲＬにより情報処理装置を識別するが、別個のＵＲＬでそれぞれ識別される複数の情報処理装置は、同一のソフトウェアを実行する場合がある。そのような場合、負荷分散装置がなくても、同一アプリケーションを複数の情報処理装置が実行する。そのため、以下に負荷分散装置４３０を用いた実施例を示すが、負荷分散装置４３０を用いた同一アプリケーションを複数の情報処理装置１１０〜２４０に実行させる方法の一例である。
【００２４】
情報処理装置１１０は、記憶部１１１、処理部１１２、通信部１１３、外部記憶装置１１４、及びバス１１９を有する。
記憶部１１１は、例えば、メモリである。処理部１１２は、例えば、ＣＰＵである。通信部１１３は、例えば、ネットワークアダプタである。外部記憶装置１１４は、例えば、磁気ディスクのディスクアレイである。バス１１９は、記憶部１１１、処理部１１２、通信部１１３、及び外部記憶装置１１４に接続され、且つ接続された装置間でデータを伝送するための伝送路である。バス１１９は、データの伝送を行なうために、例えば、ＰＣＩ Ｅｘｐｒｅｓｓなどの規格に従って機能する電子的な回路を含む。なお、記憶部１１１に格納されるプログラム及びデータは、図４を用いて後述される。
【００２５】
他の情報処理装置１２０〜２４０も、情報処理装置１１０と同様のハードウェア構成を有するため、他の情報処理装置１２０〜２４０のハードウェア構成の説明を省略する。なお、情報処理装置１１０〜２４０は、例示であり、温度制御装置１０が温度管理する情報処理装置の台数は、情報処理装置１１０〜２４０に示す台数に限定されない。
【００２６】
図３Ａは、温度制御装置１０の記憶部１１に記憶されるプログラム及びデータの一例を示す図である。図３Ａに示す記憶部１１には、処理量の時間履歴情報８００、消費電力情報８５０、装置設定情報９００、装置管理情報９５０、ソフトウェア実行優先順位情報９８０、キュー情報９８５、及びプログラム９９０が格納される。
【００２７】
処理量の時間履歴情報８００は、ソフトウェア毎に特定され且つ複数の情報処理装置の少なくとも１つで処理される単位時間当りのソフトウェアの処理量の時間履歴を示す情報である。処理量とは、例えば、１秒間に１つ又は複数の情報処理装置がコンピュータ４２０からの処理要求に従って処理するトランザクションである。トランザクションとは、処理要求に関連する複数の処理を１つの処理単位としてまとめたものである。また、処理量は、１秒あたりのトランザクション数に限定されず、情報処理装置によるソフトウェア実行に伴うデータ送信又はデータ受信するときの１秒あたりのネットワーク帯域の消費量としてもよい。データセンタやサーバルームでは、配置される複数の情報処理装置は、互いに共通のソフトウェアを実行し、負荷分散装置が、コンピュータ４２０のソフトウェアの処理要求を、ソフトウェアを実行する複数の情報処理装置に分散して割り当てる場合がある。したがって、処理量の時間履歴情報８００は、１台の情報処理装置の処理量に限らず、複数の情報処理装置によって処理される処理量の時間履歴であっても良い。
【００２８】
情報処理装置へのコンピュータ４２０からの処理要求は、時間的傾向がある場合がある。そのため、処理量の時間履歴情報８００は、例えば、曜日又は、日付ごとに記録された処理量の一日分の時間履歴を含んでもよい。図７を用いて後述されるように、温度制御装置１０は、各情報処理装置から受信した処理量情報を取得することで、処理量の時間履歴情報８００を生成する。また、処理量の時間履歴情報８００の詳細は、図８及び図９を用いて後述される。
【００２９】
消費電力情報８５０は、情報処理装置毎に特定され且つ単位時間当りの処理量により変化する消費電力を示す情報である。情報処理装置は、処理部を含む。また、ＣＰＵは、単位時間当りの処理量に応じてＣＰＵクロックを変化させる等の消費電力の制御機能を実行する場合もある。このように、単位時間当りの処理量によって変化する消費電力を示すために、消費電力情報８５０は、各処理量においてそれぞれ発生する消費電力を示す。また、情報処理装置の消費電力は、情報処理装置のハードウェア仕様によって変わる。そのため、消費電力情報８５０は、情報処理装置毎に特定される。消費電力情報８５０の詳細は、図１０〜図１３を用いて後述される。
【００３０】
装置設定情報９００は、情報処理装置が配置されるラックの識別情報又はラックを並べたラック列の識別情報、及び、情報処理装置を冷却する冷却熱量を示す情報を含む。装置設定情報９００の詳細は、図１４を用いて後述される。
【００３１】
装置管理情報９５０は、情報処理装置の実行制御前の予測消費電力、及び情報処理装置の実行制御後の予測消費電力を含む情報である。
【００３２】
ソフトウェア実行優先順位情報９８０は、情報処理装置が実行するソフトウェアの実行優先順位を特定したものである。ソフトウェア実行優先順位情報９８０の詳細は、図１９を用いて後述される。
【００３３】
キュー情報９８５は、予測消費電力が規定値未満になる情報処理装置が無い場合、情報処理装置による実行を停止させたソフトウェアの識別情報を格納するキューである。キュー情報９８５の詳細は、図２１を用いて後述される。
【００３４】
プログラム９９０は、少なくとも消費電力予測機能部と装置特定機能部とソフトウェア実行制御機能部とを温度制御装置１０に実現させるためのプログラムである。
【００３５】
図３Ｂは、温度制御装置により実現される消費電力予測機能部、装置特定機能部、及びソフトウェア実行制御機能部の機能構成の一例を示す図である。図３Ｂに示すように、温度制御装置１０の処理部１２は、プログラム９９０を実行することによって、温度制御装置１０に消費電力予測機能部６１と装置特定機能部６２とソフトウェア実行制御機能部６３とを実現させる。
【００３６】
温度制御装置１０の処理部１２は、消費電力予測機能部６１を用いて、処理量の時間履歴情報８００から現在時刻より後の予測時刻における処理量を予測する。そして、温度制御装置１０の処理部１２は、消費電力予測機能部６１を用いて、予測された処理量の少なくとも一部を処理するときの情報処理装置の消費電力を消費電力情報８５０から予測する。温度制御装置１０の処理部１２は、予測した情報処理装置の消費電力を装置管理情報９５０に登録する。
【００３７】
温度制御装置１０の処理部１２は、装置特定機能部６２を用いて、ソフトウェアを実行する情報処理装置の予測された消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定する。言い換えれば、温度制御装置１０が実現する装置特定機能部６２は、装置管理情報９５０から予測された消費電力を取得し、予測された消費電力が装置設定情報９００から得られる規定値未満になる情報処理装置を特定し、及び装置管理情報９５０に登録する。
【００３８】
温度制御装置１０が実現する装置特定機能部６２は、予測消費電力が規定値未満になる情報処理装置が無い場合、ソフトウェアの実行を停止する情報処理装置を特定する。実行停止対象として特定されたソフトウェアは、ソフトウェア実行制御機能部６３により停止され、且つ実行を停止させたソフトウェアの識別情報をキュー情報９８５に登録する。また、温度制御装置１０が実現する装置特定機能部６２は、ソフトウェア優先順位情報９８０を参照して、情報処理装置が優先順位の高いソフトウェアを継続して実行できるように制御する。
【００３９】
温度制御装置１０の処理部１２は、ソフトウェア実行制御機能部６３を用いて、装置管理情報９５０を参照して、特定した情報処理装置に予測時刻より先にソフトウェアを割り当て、且つ実行させる。
【００４０】
なお、消費電力予測機能部６１及び装置特定機能部６２及びソフトウェア実行制御機能部６３の例は、図１５〜１８、２０、及び図２２〜２６を用いて後述される。
【００４１】
図４は、情報処理装置１１０の記憶部１１１に記憶されるプログラム及びデータの一例を示す図である。図４に示す記憶部１１１は、システムソフトウェア６７０、仮想化ソフトウェア６８０、及びソフトウェア６９０を記憶する。なお、図７では、例示のため、情報処理装置１１０の記憶部１１１を示すが、他の情報処理装置も同様の記憶部を有する。
【００４２】
システムソフトウェア６７０は、情報処理装置１１０に、情報処理装置１１０の処理量を監視する機能を実現させることが出来るアプリケーションソフトウェアである。仮想化ソフトウェア６８０は、ハードウェアの仮想化技術を用いて、物理的な情報処理装置を論理的な情報処理装置として機能させるものである。以下において、論理的な情報処理装置を「仮想マシン」と称する。
【００４３】
なお、ソフトウェア６９０は、特定の機能を実現するアプリケーションソフトウェアである。情報処理装置１１０は、例えば、以下に示す形態により、ソフトウェア６９０を実行することが出来る。
（１）情報処理装置１１０は、仮想化ソフトウェア６８０を実行することで機能する仮想マシン上で、オペレーティングシステム（ＯＳ）を実行すると共に、ＯＳと協働して動作するソフトウェア６９０を実行する。かかる場合、ソフトウェア６９０の起動又は停止又は移動に伴い、仮想マシンも起動又は停止又は移動されても良い。
（２）情報処理装置１１０は、仮想化ソフトウェア６８０を実行せずに、オペレーティングシステム（ＯＳ）を実行すると共に、ＯＳと協働して動作するソフトウェア６９０を実行する。なお、情報処理装置１１０が仮想化ソフトウェア６８０を実行しない場合は、記憶部１１１は、仮想化ソフトウェア６８０を記憶しなくてよい。
【００４４】
情報処理装置は、他の情報処理装置と同じ又は異なるソフトウェアを実行することが出来る。
【００４５】
以下、図５及び図６を用いて、情報処理装置の配置及び情報処理装置を冷却するための冷却設備の配置構成の一例を説明する。図５は、温度制御装置１０に接続される情報処理装置を配置するラックの一例を示す図である。図５に示されるように、温度制御装置１０に接続される情報処理装置１１０〜２４０のうち、情報処理装置１１０〜１４０がラック１に配置され、及び、情報処理装置２１０〜２４０がラック２に配置される。
【００４６】
図６（ａ）〜図６（ｃ）は、温度制御装置に接続される情報処理装置を配置するラックと冷却設備との配置構成の一例をそれぞれ示す図である。図６（ａ）に示す配置構成３００ａには、複数のラック３０１ａ、冷却設備３０２ａ、部屋３０３ａ、及び冷気３０４ａが示される。冷却設備３０２ａは、部屋単位で情報処理装置を冷却する。部屋３０３ａには、複数のラック３０１ａ及び冷却設備３０２ａが配置される。冷気３０４ａは、冷却設備３０２ａから部屋３０３ａに供給される。冷却設備３０２ａが部屋単位で情報処理装置を冷却する場合、冷却設備３０２ａは、ダクト、風量調整用ダンパ、通気口などに制限されない冷気３０４ａを、ラック３０１ａに供給する。
【００４７】
図６（ｂ）に示す配置構成３００ｂには、複数の列３０５ｂ〜３０７ｂ、冷却設備３０２ｂ、部屋３０３ｂ、及び冷気３０４ｂが示される。複数の列３０５ｂ〜３０７ｂは、列単位で配置された複数のラック列である。冷気３０４ｂは、冷却設備３０２ｂから列単位に供給される。冷却設備３０２ｂが列単位でラックに配置された情報処理装置を冷却する場合、冷却設備３０２ｂから列３０５ｂ〜３０７ｂまで、図示されないダクトや通気口が設置される。冷気３０４ｂは、ダクトや通気口を通って、列３０５ｂ〜３０７ｂに供給される。そのため、配置構成３００ｂは、部屋単位の配置構成３００ａと比較して、冷気の拡散が生じにくく、冷却設備３０２ｂから複数の列３０５ｂ〜３０７ｂへの通風経路の長さを短く出来る。
【００４８】
図６（ｃ）に示す配置構成３００ｃは、複数のラック３０１ｃ、冷却設備３０２ｃ、部屋３０３ｃ、及び冷気３０４ｃが示される。冷気３０４ｃは、冷却設備３０２ｃからラック単位に供給される。
冷却設備３０２ｃがラック単位で装置を冷却する場合、冷却設備３０２ｃからラック３０１ｃまで、図示されないダクトや通気口が設置される。冷気３０４ｃは、ダクトや通気口を通って、ラック３０１ｃに供給される。そのため、配置構成３００ｃは、部屋単位の冷却構成と比較すると、冷却設備３０２ｃから複数のラック３０１ｃへの通風経路の長さを短く出来る。
【００４９】
部屋３０３ａ〜３０３ｃは、例えば、データセンタ又はサーバルーム又は電算室などであってもよい。複数の情報処理装置が配置構成３００ａ〜３００ｃに示されるように配置される場合、複数の情報処理装置に接続される温度制御装置１０は、データセンタ又はサーバルーム又は電算室に配置される複数の情報処理装置の温度制御を行なうことが出来る。
【００５０】
図７は、温度制御装置１０による処理量及び消費電力の取得を示すシーケンスの一例を示す図である。情報処理装置１１０は、監視機能を用いて、ソフトウェア実行時の処理量を検出して、処理量情報を温度制御装置１０に送信する（Ｓ１００１）。処理量情報には、処理量情報の送信元である情報処理装置の名称、送信元の情報処理装置が実行したソフトウェアの名称、送信元の情報処理装置が処理量を取得した日の日付情報、及び処理量が含まれる。同様に、情報処理装置２４０は、監視機能を用いて、ソフトウェア実行時の処理量を検出して、検出した処理量情報を温度制御装置１０に送信する（Ｓ１００２）。このように、温度制御装置１０は、複数の情報処理装置から処理量情報を受信することで、処理量の時間履歴情報８００を生成する（Ｓ１００３）。
【００５１】
電力監視装置４１０は、電力センサで検出した情報処理装置１１０及び情報処理装置２４０の検出電力情報を温度制御装置１０に送信する（Ｓ１００４）。検出電力情報は、消費電力検出対象の情報処理装置の名称、検出時間、及び消費電力を少なくとも含む。そのため、温度制御装置１０は、検出電力情報を用いて情報処理装置の消費電力と、消費電力の検出時刻とを確認することが出来る。そして、温度制御装置１０は、処理量情報に含まれる情報処理装置名称及びソフトウェア名称及び時間と、検出電力情報に含まれる情報処理装置名称及び時間とを関係付ける。このようにすることで、温度制御装置１０は、ソフトウェアの処理量及び消費電力を取得することが出来る。温度制御装置１０は、消費電力情報８５０を生成する（Ｓ１００５）。
【００５２】
さらに、温度制御装置１０は、処理量情報に含まれる情報処理装置名称及びソフトウェア名称及び時間を用いて、装置管理情報９５０内のデータを更新する（Ｓ１００６）。なお、装置管理情報９５０のデータ構成は、図１５を用いて後述される。このようにして、温度制御装置１０は、受信した処理量情報及び検出電力情報に含まれるデータを用いて、処理量の時間履歴情報８００、消費電力情報８５０、及び装置管理情報９５０を生成することが出来る。
【００５３】
＜処理量の時間履歴情報＞
図８は、処理量の時間履歴情報の一例を示す図である。図８に示す処理量の時間履歴情報８００ａは、図３Ａに示した処理量の時間履歴情報８００の一例である。処理量の時間履歴情報８００ａは、情報処理装置名称列８０１ａ、ソフトウェア名称列８０２ａ、日付列８０３ａ、曜日列８０４ａ、時間列８０５ａ、処理量列８０６ａを有する。温度制御装置１０は、以下に説明するように、受信した処理量情報を、処理量の時間履歴情報８００ａの各列に登録する。
【００５４】
なお、本実施形態では、月、曜日、時間で分けた処理量の時間履歴情報を説明するが、これは、処理量の時間履歴情報の一例に過ぎない。取得した日付、曜日、時間などに基づく処理量の平均又は補完法等を用いて未取得のデータを取得し、及び／又は、処理量の性質を推測しても良い。このように、未取得のデータを統計処理することで、取得したデータから、将来の処理量を予測され得る。
【００５５】
温度制御装置１０は、処理量情報に含まれた情報処理装置の名称を、情報処理装置名称列８０１ａに登録する。温度制御装置１０は、情報処理装置が実行したソフトウェア名称を、ソフトウェア名称列８０２ａに登録する。温度制御装置１０は、情報処理装置が処理量を取得した日の日付を、日付列８０３ａに登録する。温度制御装置１０は、情報処理装置が処理量を取得した日の曜日を、曜日列８０４ａに登録する。温度制御装置１０は、情報処理装置が処理量を取得した時間を、時間列８０５ａに登録する。温度制御装置１０は、情報処理装置によるソフトウェアの実行処理にともなう処理量を、処理量列８０６ａに登録する。
【００５６】
なお、図８では、処理量の時間履歴情報８００ａは、「２００８／１１／２４」に、ソフトウェアＡを実行する情報処理装置１１０の処理量の一日分の時間履歴情報を示し、「２００８／１１／２８」及び「２００９／３／２」の情報は、一部データを省略して示した。また、図８には示していないが、処理量の時間履歴情報８００ａは、情報処理装置１１０がソフトウェアＡ以外のソフトウェアを実行したときの単位時間当りの処理量の時間履歴情報を含む。図８には示していないが、処理量の時間履歴情報８００ａは、他の情報処理装置１２０〜２４０がソフトウェアを実行するときの単位時間当りの処理量の時間履歴情報を含む。
【００５７】
なお、「２００８／１１／２４」は、月曜日であり、「２００８／１１／２８」は、「２００８／１１／２４」と同じ週の金曜日である。「２００８／１１／２４」と、「２００９／３／２」は、同じ曜日であるが、日付が異なる。このように、処理量の時間履歴情報８００は、曜日又は日付毎に記録された処理量の一日分の時間履歴を含むので、処理量の時間履歴情報８００を参照することで、温度制御装置１０は、曜日又は日付毎に異なる時間履歴を認識することが出来る。
【００５８】
図９は、処理量の時間履歴情報８００ａに登録された処理量と時間との関係の一例を示す図である。図９に示す線８２１ａは、「２００９／３／２  （月曜日）」に、ソフトウェアＡを実行する情報処理装置１１０の処理量の時間履歴を示す。図９に示す線８２２ａは、「２００８／１１／２４  （月曜日）」に、ソフトウェアＡを実行する情報処理装置１１０の処理量の時間履歴を示す。図９に示す線８２３ａは、「２００８／１１／２８  （金曜日）」に、ソフトウェアＡを実行する情報処理装置１１０の処理量の時間履歴を示す。
【００５９】
線８２１ａ〜８２３ａに示されるように、単位時間当りの処理量は、１２時に最大になる。この結果から、曜日及び日付を問わず、ソフトウェアＡに対する処理要求が１２時に多いことがわかる。このように、処理量の時間履歴情報８００ａには、時間における処理量の時間変化が登録される。
【００６０】
また、線８２２ａに示される処理量は、線８２３ａに示される処理量より多い。この結果から、同じ週では、月曜日の方が金曜日よりソフトウェアＡ利用の要求が多いことがわかる。さらに、線８２１ａに示される処理量は、線８２２ａ及び線８２３ａに示される処理量より多い。この結果から、３月の方が１１月よりソフトウェアＡに対する処理要求が多いことがわかる。このように、処理量の時間履歴情報８００ａには、曜日における処理量の時間変化が登録され、さらに、日付における処理量の時間変化が登録されることで、曜日によって変化する処理量、及び、日付によって変化する処理量の傾向が登録される。
【００６１】
上記例のように、温度制御装置１０は、時間ごと、曜日ごと、日付ごとなどの単位で処理量の時間履歴を登録することにより、処理量の時間履歴情報８００には、時間又は曜日又は日付毎に分類された処理量が登録される。そして、温度制御装置１０は、時間又は曜日又は日付毎に処理量を、処理量の時間履歴情報８００に登録することで、処理量の時間履歴情報８００には処理量の時間的な傾向が示される。そのため、温度制御装置１０は、時間又は曜日又は日付毎に特定される処理量の時間履歴情報８００を用いることで、単に平均処理時間と平均処理量とを用いて予測する場合と比して、消費電力を高い精度で予測することが出来る。
【００６２】
＜消費電力情報＞
図１０を用いて、１つの情報処理装置が１つのソフトウェアを実行したときの消費電力情報８５０の一例について説明する。図１０に示す消費電力情報８５０ａは、図３Ａに示した消費電力情報８５０の一例である。消費電力情報８５０ａは、１つの情報処理装置が、１つのソフトウェアを実行したときの消費電力情報が登録される。消費電力情報８５０ａは、情報処理装置名称列８５１ａ、ソフトウェア名称列８５２ａ、処理量列８５３ａ、及び消費電力列８５４ａを有する。温度制御装置１０は、以下に説明するように、上記した消費電力情報８５０ａの各列にデータを登録する。
【００６３】
温度制御装置１０は、情報処理装置の名称を、情報処理装置名称列８５１ａに登録する。温度制御装置１０は、情報処理装置が実行したソフトウェアの名称を、ソフトウェア名称列８５２ａに登録する。温度制御装置１０は、情報処理装置によるソフトウェアの実行処理にともなう処理量を、処理量列８５３ａに登録する。温度制御装置１０は、情報処理装置が監視機能を用いて検出した処理量を、処理量列８５３ａに登録する。
【００６４】
処理量列８５３ａには、処理量の例として、単位時間当りのトランザクションの数が示される。消費電力列８５４ａには、情報処理装置が処理量列８５３ａに示す処理量を処理したときに、電力監視装置４１０により検出された情報処理装置の消費電力が登録される。このように、消費電力情報８５０ａには、情報処理装置により検出された処理量、及び電力監視装置４１０により検出された消費電力が登録される。
【００６５】
図１０では、情報処理装置１１０及び情報処理装置２４０の処理量及び消費電力が示され、他の情報処理装置のデータが示されていないが、消費電力情報８５０には、他の情報処理装置の処理量及び消費電力も登録される。
【００６６】
図１１は、１つの情報処理装置が１つのソフトウェアを実行したときの処理量と消費電力情報との関係の一例を示す図である。図１１に示す実線８７１ａは、図１０の情報処理装置名称列８５１ａに示した情報処理装置１１０が、ソフトウェアＡを実行したときの処理量により変化する消費電力の実測値を示す。図１１に示す破線８７２ａは、図１０の情報処理装置名称列８５１ａに示した情報処理装置１１０がソフトウェアＡを実行したときの処理量の変化に伴い一定の比率で変化する消費電力を示す。破線８７２ａに示す処理量の変化に伴う一定の比率は、実線８７１ａに示される処理量増加の平均値により得られる。
なお、図１１の点８７３ａは、検出した消費電力の平均値を示す平均消費電力と、検出した処理時間の平均値を示す平均処理時間とにより特定される点である。平均処理時間は、特定の処理量を処理するために要する処理時間を示すので、平均処理時間は、同時に、１秒当たりの平均処理量を示す。従って、平均処理時間と平均処理電力は、図１１の点８７３ａに示すように、平均処理量及び平均消費電力を示す。したがって、平均処理量及び平均消費電力を用いて温度予測を行なう予測装置は、実線８７１ａ又は、破線８７２ａのように処理量により消費電力が変化する装置の消費電力を予測することは、出来ない。
【００６７】
実線８７１ａに示す処理量に対する消費電力は、破線８７２ａに示す一定の比率で線形的に増加する消費電力と異なり、非線形である。実線８７１ａが非線形で示される原因は、情報処理装置が有する省電力ステート等の処理部の消費電力機構による消費電力変動、又は、ディスクＩ／Ｏの負荷変動、又は、記憶部の消費電力の変動のような情報処理装置の動作である。例えば、処理部の省電力機構は、低負荷のときに有効に働くため、低負荷時では、実際の消費電力は、平均的に増加する消費電力より小さく、高負荷時では、実際の消費電力は、平均的に増加する消費電力より大きいという傾向を示す。
【００６８】
温度制御装置１０は、実線８７１ａ又は、破線８７２ａに示す消費電力及び消費電力情報を用いて消費電力を予測することで、温度制御装置１０は、単位時間当りの処理量の変化に応じた消費電力を予測することが出来る。また、実線８７１ａに示される消費電力情報を用いることで、温度制御装置１０による消費電力予測機能部は、消費電力と処理量との関係が非線形であっても、情報処理装置の消費電力を高い精度で予測することができる。
【００６９】
図１１に示す実線８７４ａは、図１０の情報処理装置名称列８５１ａに示した情報処理装置２４０がソフトウェアＡを実行したときの処理量により変化する消費電力の実測値を示す。図１１に示す破線８７５ａは、図１０の情報処理装置名称列８５１ａに示した情報処理装置２４０がソフトウェアＡを実行したときの処理量による変化に伴い一定の比率で変化する消費電力を示す。破線８７５ａは、実線８７４ａに示される消費電力の実測値を平均したことで得られる。
【００７０】
実線８７１ａに示されるように、ソフトウェアＡを情報処理装置１１０が実行したときの処理量当たりの消費電力は、ソフトウェアＡを情報処理装置２４０が実行したときの処理量当たりの消費電力より大きい？ことがわかる。このように、情報処理装置によって、１トランザクション当たりの情報処理量にばらつきがある。そのため、情報処理装置毎に検出された消費電力情報を用いることで、温度制御装置１０は、精度良く消費電力を予測することが出来る。
【００７１】
図１２を用いて、１つの情報処理装置が複数のソフトウェアを実行したときの消費電力情報８５０の一例について説明する。図１２に示す消費電力情報８５０ｂは、図３Ａに示した消費電力情報８５０の一例である。消費電力情報８５０ｂは、１つの情報処理装置が、２つのソフトウェアを実行したときの消費電力情報を含む。消費電力情報８５０ｂは、情報処理装置名称列８５１ｂ、ソフトウェア名称領域８８１ａ、８８１ｂ、第１ソフトウェアの処理量領域８８２ａ、８８２ｂ、第２ソフトウェアの処理量領域８８３ａ、８８３ｂを有する。消費電力情報８５０ｂは、さらに、消費電力データ領域８８４ａ、８８４ｂを有する。
【００７２】
温度制御装置１０は、以下に説明するように、消費電力情報８５０ｂの各列、及び領域にデータを登録する。温度制御装置１０は、情報処理装置の名称を、情報処理装置名称列８５１ｂに登録する。温度制御装置１０は、情報処理装置が実行したソフトウェア名称を、ソフトウェア名称領域８８１ａ、８８１ｂに登録する。なお、図１２に示す消費電力情報８５０ｂは、２つのソフトウェアを実行したときの処理量及び消費電力が登録されるので、温度制御装置１０は、２つのソフトウェア名称を、ソフトウェア名称領域８８１ａ、８８１ｂにそれぞれ登録する。図１２に示す例では、ソフトウェア名称領域８８１ａ、８８１ｂには、ソフトウェア名称「Ａ」及びソフトウェア名称「Ｂ」が登録される。
【００７３】
温度制御装置１０は、情報処理装置１１０又は２４０から制御前ソフトウェア実行による処理量を受信し、及び受信した処理量を処理量領域８８２ａ又は８８２ｂにそれぞれ登録する。
【００７４】
温度制御装置１０は、情報処理装置１１０又は２４０から第２ソフトウェアの実行による処理量を受信し、及び受信した処理量を処理量領域８８３ａ又は８８３ｂにそれぞれ登録する。
【００７５】
温度制御装置１０は、消費電力データ領域８８４ａ、８８４ｂに、消費電力検出時の情報処理装置における第１ソフトウェア及び／又は第２ソフトウェアの処理時に電力監視装置４１０により検出された消費電力を登録する。
【００７６】
このように、温度制御装置１０は、情報処理装置により実測された処理量、及び、電力監視装置４１０により実測された消費電力を、消費電力情報８５０ｂに登録する。図１２では、説明のため、情報処理装置１１０、２４０の処理量及び消費電力が示され、他の情報処理装置のデータが示されていないが、消費電力情報８５０ｂには、他の情報処理装置の処理量及び消費電力も登録される。
【００７７】
図１３を用いて、１つの情報処理装置が複数のソフトウェアを実行したときの処理量と消費電力情報との関係の一例について説明する。
図１３に示すＸ軸は、図１２に示した消費電力情報８５０ｂにおける情報処理装置１１０がソフトウェアＡを実行したときの処理量を示す。図１３に示すＹ軸は、図１２に示した消費電力情報８５０ｂにおける情報処理装置１１０がソフトウェアＢを実行したときの処理量を示す。図１３に示すＺ軸は、図１２に示した消費電力情報８５０ｂにおける情報処理装置１１０がソフトウェアＡ及び／又は、ソフトウェアＢを実行したときの消費電力を示す。
【００７８】
図１１の実線８７１ａ、実線８７４ａ、破線８７２ａ、及び破線８７５ａに示した場合と同様に、図１３に示す消費電力は、単位時間当りの処理量により変化する。ただし、図１３に示す例では、２つのソフトウェアを実行したときの処理量及び消費電力を示すので、１つのソフトウェアの処理量が一定の場合でも、他のソフトウェアの処理量が変化することにより、単位時間当りの消費電力が変化することが示される。
【００７９】
なお、情報処理装置が仮想マシンを実行している場合には、１つの情報処理装置が２つのソフトウェアを実施する例は、１つのソフトウェアを実行する仮想マシンを１つの情報処理装置が２つ実行している場合に対応する。
【００８０】
各ソフトウェアによる平均処理量及び平均消費電力を用いて情報処理装置の温度を予測するジョブスケジューリング装置では、複数のソフトウェアを実行する場合の単位時間当りの処理量の変化は、全く考慮されていない。しかしながら、図１２及び図１３に示す消費電力情報８５０ｂには、複数のソフトウェアの単位時間当りの処理量の変化による消費電力の変化が登録される。そのため、消費電力情報８５０ｂを用いることで、温度制御装置１０は、複数のソフトウェアを実行する場合の情報処理装置の消費電力を高い精度で予測することができる。
【００８１】
＜装置設定情報＞
図１４を用いて、装置設定情報の一例について説明する。
図１４に示す装置設定情報９００ａは、図３Ａに示した装置設定情報９００の一例である。装置設定情報９００ａは、情報処理装置名称列９０１ａ、列番号列９０２ａ、ラック番号列９０３ａ、及び冷却熱量列９０４ａを有する。
【００８２】
温度制御装置１０は、情報処理装置の名称を、情報処理装置名称列９０１ａに登録する。温度制御装置１０は、ラックが配置される列を識別する番号を、列番号列９０２ａに登録する。温度制御装置１０は、情報処理装置が配置されるラックを識別するための番号を、ラック番号列９０３ａに登録する。なお、温度制御装置１０のユーザは、入力部１７を介して、情報処理装置名称列９０１ａ、列番号列９０２ａ、及びラック番号列９０３ａにデータ入力してもよい。
【００８３】
温度制御装置１０は、冷却熱量列９０４ａに登録される冷却熱量を示す情報を受け取り、ラックと冷却設備との配置構成に従って冷却熱量を算出しても良い。温度制御装置１０は、温度制御装置１０によって算出された情報処理装置１台あたりに供給される冷却熱量を、冷却熱量列９０４ａに登録する。なお、冷却装置の冷却熱量値は、温度制御装置１０のユーザが、入力部１７を介して温度制御装置１０に登録してもよい。
【００８４】
例えば、図６（ａ）の配置構成３００ａのように部屋単位で冷却を行なう場合、温度制御装置１０は、部屋を流れる冷気３０４ａと、各情報処理装置に流れる冷気とを、例えば有限体積法のシミュレーションにより算出しても良い。また、温度制御装置１０は、冷気のシミュレーションを行なわずに、情報処理装置の冷却熱量を算出してもよい。例えば、温度制御装置１０は、冷却設備３０２ａの冷却熱量をラック数で除算してラック毎の冷却熱量を算出する。次に、算出したラック毎の冷却熱量をラックに配置される情報処理装置の数で除算して、各情報処理装置の冷却熱量を算出してもよい。
【００８５】
例えば、図６（ｂ）の配置構成３００ｂのように、列単位で冷却を行なう場合、温度制御装置１０は、各情報処理装置を冷却設備３０２ｂが冷却するための冷却熱量を、ラック列を通過する冷気３０４ｂをシミュレーションすることで算出してもよい。また、温度制御装置１０は、冷気のシミュレーションを行なわずに、情報処理装置の冷却熱量を求めてもよい。例えば、温度制御装置１０は、冷却設備３０２ｂの冷却熱量を列数で除算して列毎の冷却熱量を算出しても良い。次に、温度制御装置１０は、算出した列毎の冷却熱量をラック数で除算してラック毎の冷却熱量を算出する。そして、温度制御装置１０は、算出したラック毎の冷却熱量をラックに配置される情報処理装置の数で除算して、各情報処理装置の冷却熱量を算出してもよい。
【００８６】
例えば、図６（ｃ）の配置構成３００ｃのように、ラック単位で冷却を行なう場合、温度制御装置１０は、各情報処理装置を冷却設備３０２ｃが冷却するための冷却熱量を、ラックを通過する冷気３０４ｃをシミュレーションすることで算出してもよい。また、温度制御装置１０は、冷気のシミュレーションを行なわずに、ラックの冷却熱量を、ラックに配置される情報処理装置の数で除算して、各情報処理装置の冷却熱量を算出してもよい。
このようにして、温度制御装置１０は、冷却熱量列９０４ａに登録される冷却熱量を、ラックと冷却設備との配置構成に従って算出することが出来る。
【００８７】
＜装置管理情報＞
図１５を用いて、装置管理情報の一例について説明する。図１５に示す装置管理情報９５０ａは、図３Ａに示した装置管理情報９５０の一例である。温度制御装置１０は、装置管理情報９５０ａに示す各データ領域にデータを登録する。装置管理情報９５０ａは、情報処理装置名称列９５１ａ、ラック番号列９５２ａ、制御前予測消費電力列９５３ａ、制御後予測消費電力列９５４ａ、及びラック毎の制御前予測消費電力列９５５ａを有する。装置管理情報９５０ａは、さらに、ラック毎の制御後予測消費電力列９５６ａ、実行制御前のソフトウェア名称列９５７ａ、及び実行制御後のソフトウェア名称列９５８ａを有する。
【００８８】
温度制御装置１０は、情報処理装置の名称を、情報処理装置名称列９５１ａに登録する。温度制御装置１０は、情報処理装置が配置されるラックを識別するための番号を、ラック番号列９５２ａに登録する。温度制御装置１０のユーザは、情報処理装置名称列９５１ａ、及びラック番号列９５２ａの番号を、入力部１７を介して登録してもよい。
【００８９】
温度制御装置１０は、消費電力予測機能部により算出された各情報処理装置の予測電力を、制御前予測消費電力列９５３ａに登録する。温度制御装置１０は、ソフトウェア実行制御機能部によりソフトウェア割り当てが行なわれた後の予測消費電力を、制御後予測消費電力列９５４ａに登録する。温度制御装置１０は、ラックに配置される情報処理装置の制御前予測消費電力列９５３ａに登録される予測消費電力の合計値を、ラック毎の制御前予測消費電力列９５５ａに登録する。温度制御装置１０は、ラックに配置される情報処理装置の制御後予測消費電力列９５４ａに登録される予測消費電力の合計値を、ラック毎の制御後予測消費電力列９５６ａに登録する。
【００９０】
温度制御装置１０は、実行制御前のソフトウェア名称列９５７ａに、ソフトウェアの実行制御前の情報処理装置を登録する。温度制御装置１０は、実行制御後のソフトウェア名称列９５８ａに、ソフトウェアの実行制御後に情報処理装置により実行されるソフトウェアの名称を、登録する。
【００９１】
＜消費電力予測機能部＞
図９を用いて、処理部１２が実現する消費電力予測機能部の一例について説明する。線８２２ａ上の点８２６は、「２００８／１１／２４  （月曜日）」の「９時」の処理量を示す。点８２６に示す時刻は、説明のために、現在時刻と定義される。現在時刻より１時間後の時刻は、線８２２ａ上の点８２７に示す時刻「１０時」である。点８２７が示す処理量は、「１４１８（トランザクション／秒）」である。そのため、消費電力予測機能部は、現在時刻「２００８／１１／２４  （月曜日）」の「９時」の１時間後である「１０時」を、消費電力を予測するための予測時刻とする。そして、消費電力予測機能部は、処理量の時間履歴情報８００から予測時刻の処理量として「１４１８（トランザクション／秒）」を取得する。このように、消費電力予測機能部は、処理量の時間履歴情報８００から、情報処理装置の処理量を予測する。
【００９２】
なお、ソフトウェア実行制御開始から終了まで、数秒〜数十秒程の時間が生じる。そのため、現在時刻と予測時刻との間を極めて短くすると、予測時刻経過後に、ソフトウェア実行制御が終了することが生じる。そのため、予測時刻は、ソフトウェア実行制御終了後の時刻となるように設定されることが好ましい。
なお、上記例では、現在時刻と予測時刻との時間間隔は、１時間とした。１時間という時間は、ソフトウェアの停止又は実行を行なう時間である数秒〜数十秒程という時間と比して、十分に長い時間である。そのため、上記例では、予測時刻前に、ソフトウェア実行制御を終了させることが出来る。
【００９３】
また、現在時刻と予測時刻との時間間隔に合わせて、ソフトウェア実行制御を行なってもよい。例えば、上記例のように、現在時刻と予測時刻との時間間隔を１時間とすると、ソフトウェア実行制御を１時間に１回行なうようにしてもよい。ソフトウェア実行制御は、ソフトウェアの停止及び起動を伴うため、ソフトウェア実行制御がなされる情報処理装置への外部のコンピュータからの処理要求を短期的に中断させる可能性がある。上記例のように、温度制御装置１０がソフトウェア実行制御を１時間に１回行なう場合、処理要求に対する中断時間は、ソフトウェア実行制御がなされない１時間という時間に対して相対的に短くなる。
【００９４】
次に、温度制御装置１０の消費電力予測機能部は、消費電力情報８５０から、情報処理装置１１０がソフトウェアＡを所定の処理量で実行するときの消費電力を予測する。上記のように、ソフトウェアＡの処理量は、「１４１８（トランザクション／秒）」と予測されている。ソフトウェアＡを実行する情報処理装置が、例えば３台有る場合、負荷分散装置による負荷分散により、情報処理装置１１０が負担する処理量は、例えば、「１４１８（トランザクション／秒）」の１／３である「４７３（トランザクション／秒）」となる。そのため、消費電力予測機能部は、情報処理装置が処理量「４７３（トランザクション／秒）」で実行するときの消費電力を求める。図１１を参照すると、ソフトウェアＡの処理量が４７３（トランザクション／秒）のときの情報処理装置１１０の消費電力は、「４５０Ｗ」である。したがって、温度制御装置１０は、消費電力予測機能部により、予測時刻「１０時」の消費電力は「４５０Ｗ」であると予測する。
【００９５】
このように、温度制御装置１０は、消費電力予測機能部を用いて、処理量の時間履歴情報８００から処理量を予測し、且つ、予測された処理量の少なくとも一部を処理するときの情報処理装置の消費電力を消費電力情報８５０から予測することが出来る。
【００９６】
＜装置特定機能部及びソフトウェア実行制御機能部＞
下記に示すケース１〜１０を用いて、温度制御装置１０の装置特定機能部及びソフトウェア実行制御機能部の例を説明する。
【００９７】
［装置特定機能部及びソフトウェア実行制御機能部（ケース１）］
ケース１では、温度制御装置１０は、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定し、且つソフトウェアを、特定した情報処理装置に割り当てる。温度制御装置１０は、装置特定機能により、下記式１に示す関係を用いて、予測された処理量を処理する情報処理装置を特定する。
Ｐｓ＞ＥＰ１＝ＣＨｓ×Ｃ１・・・（式１）
Ｐｓ：情報処理装置毎の予測消費電力
ＥＰ１：規定電力値
ＣＨｓ：情報処理装置毎に割り当てられる標準冷却熱量。データセンタの空調管理において、通常動作時に割り当てられる冷却熱量であり、冷却設備の設計冷却能力ＣＨｓＭａｘよりも小さい冷却熱量である。標準冷却熱量は、図１４に示す冷却熱量列９０４に登録される。
Ｃ１：所定の係数、例えば、１．１
【００９８】
冷却設備は、設計冷却能力ＣＨｓＭａｘを一定時間満たすことが出来る。式１に示すＣ１は、ＣＨｓＭａｘ未満になるように設定される。ＣＨｓＭａｘは、例えば、情報処理装置が冷却熱量の１．２倍の消費電力を１分維持するときのように規定される場合、Ｃ１は、１．２より小さい値と規定される。また、情報処理装置は、ある高温温度になると、ＣＰＵの処理速度を自動で下げる機能を有する場合がある。Ｃ１は、情報処理装置によるＣＰＵの処理速度低下が実行されないような値として設定されても良い。
【００９９】
温度制御装置１０は、ソフトウェア実行制御機能部により、特定した情報処理装置に予測時刻より先にソフトウェアを実行させる。このようなソフトウェア実行制御機能部は、例えば、温度制御装置１０が起動命令を、特定した情報処理装置に送信することで行うことで実現することが出来る。例えば、温度制御装置１０は、ソフトウェアを新たに実行させる情報処理装置に対して、ソフトウェアを起動させる起動命令を送信することで、情報処理装置にソフトウェアを新たに実行させることが出来る。また、温度制御装置１０は、情報処理装置にソフトウェア処理による処理量を低減又は増加させたい場合は、負荷分散装置４３０に、対象とする情報処理装置に対する処理要求の数を減少又は増加させる命令を送信する。このようにすることで、温度制御装置１０は、情報処理装置にソフトウェアを新たに割り当て、又は、情報処理装置にソフトウェア実行による処理量を割り当てることが出来る。
【０１００】
図１５を用いて、装置特定機能部の一例を説明する。図１５に示す例では、ソフトウェア実行制御機能部は、装置設定情報９００ａの冷却熱量列９０４ａに登録される冷却熱量の１．１倍を、式１に示す規定電力値（ＥＰ１）として規定する。９０４ａより冷却熱量は、「４００Ｗ」であるので、規定電力値（ＥＰ１）は、式１より４４０Ｗになる。装置管理情報９５０ａのデータ領域９６２ａに示す実行制御前の予測消費電力は、４５０Ｗである。データ領域９６２ａに示す４５０Ｗは、規定電力値である４４０Ｗより大きい。
【０１０１】
そのため、温度制御装置１０は、装置特定機能部を用いて、情報処理装置１１０の予測消費電力が規定値未満になるように、ソフトウェアＡの予測された処理量を処理する情報処理装置を特定する。例えば、温度制御装置１０は、データ領域９６７ａに示すように情報処理装置１１０が実行するソフトウェアＡを、データ領域９６５ａに示すように情報処理装置１４０に割り当てる。また、温度制御装置１０は、情報処理装置１１０の予測消費電力が規定値未満になるように、データ領域９６３ａ及び９６４ａに示すように、情報処理装置１１０の処理量の一部を情報処理装置１４０にソフトウェアＡを割り当てる。そのため、情報処理装置１１０及び１４０の予測消費電力は、いずれも規定電力値（ＥＰ１）である「４４０Ｗ」未満の「２００Ｗ」になる。
【０１０２】
このように、温度制御装置１０は、装置特定機能部を用いて、ソフトウェアＡを実行する情報処理装置の予測消費電力が規定値未満になるように、ソフトウェアＡを実行する情報処理装置１４０を特定する。そして、温度制御装置１０は、ソフトウェア実行制御機能部を用いて、情報処理装置１１０が実行するソフトウェアＡを、データ領域９６５ａに示すように情報処理装置１４０に実行させる。
【０１０３】
ＣＰＵを含む情報処理装置の消費電力は、処理量に応じて変化する。しかしながら、従来技術では、計算機の平均消費電力及び平均処理量を用いて、ジョブを計算機に割り当てていた。
温度制御装置１０は、情報処理装置の平均消費電力及び平均処理量を用いて温度制御を行なうのではなく、処理量に応じて変化する消費電力情報を用いて取得した予測消費電力が規定値未満になるように、情報処理装置のソフトウェアの実行制御を行なう。そのため、温度制御装置１０は、単位時間当りの処理量に応じて消費電力が変化する複数の情報処理装置における熱の偏りを小さくすることが出来る。
【０１０４】
［装置特定機能部及びソフトウェア実行制御機能部（ケース２）］
ケース２では、温度制御装置１０は、ケース１で示す規定値を、領域に配置された情報処理装置の予測消費電力の合計値から決定する。そして、ケース１と同様に、温度制御装置１０は、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定し、且つソフトウェアを特定した情報処理装置に割り当てる。
【０１０５】
情報処理装置が配置される領域とは、例えば、ラックや列がある。冷却設備により冷気を供給する対象が、情報処理装置ではなくラックや列などの設備である場合、領域毎の熱の偏りを小さくすることが好ましい場合がある。例えば、図６（ｃ）の配置構成３００ｃに示すようにラック毎に冷気が供給される場合、ラック毎に同じ冷却熱量が供給されるので、ラック毎の発生する熱に偏りが無いことが好ましい。なお、以下に示す例では、情報処理装置が配置される領域の例として、ラックを用いて説明する。
【０１０６】
ケース２では、下記式２に示す関係を用いて、ラックに配置された情報処理装置の予測消費電力の合計値が規定値以上になるラックを特定する。
Ｒｎ（ａｂ）＞ＥＰ２＝ＣＨｒａｃｋ×Ｃ・・・（式２）
Ｒｎ（ａｂ）：ラックに配置される情報処理装置の予測消費電力の合計値。ｎは、ラック番号であり、ｂは、ラックに配置される情報処理装置であり、ａは、情報処理装置が実行するソフトウェアの名称である。
ＥＰ２：ラック毎の規定電力値
ＣＨｒａｃｋ：ラック毎に割り当てられる標準冷却熱量
Ｃ２：所定の係数、例えば、１．０５
Ｒ１（ａｂ）は、Ｒ１（Ａ１１０、Ｂ１２０、Ａ１３０、Ｃ１４０）のように定義できる。Ｒ１は、識別番号が「１」のラックを示す。Ａ１１０は、ソフトウェアＡを実行する情報処理装置１１０を示す。Ｂ１２０は、ソフトウェアＢを実行する情報処理装置１２０を示す。Ａ１３０は、ソフトウェアＡを実行する情報処理装置１３０を示す。Ｃ１４０は、ソフトウェアＣを実行する情報処理装置１４０を示す。
【０１０７】
温度制御装置１０は、式２に示すＲｎ（ａｂ）を、図１５に示す制御前予測消費電力列９５３ａに登録された予測電力を用いて算出し、ラック毎の制御前予測消費電力列９５５ａに登録する。制御前予測消費電力列９５５ａにラック毎の規定電力値（ＥＰ２）を超えるラックがある場合、温度制御装置１０は、当該ラック内に予測消費電力を規定値未満にする対象装置があると判断する。
【０１０８】
温度制御装置１０は、ラック毎の規定電力値（ＥＰ２）を超えるラックに配置される情報処理装置のうち、実行中の情報処理装置を任意に特定する。このとき、任意に特定された情報処理装置の消費電力を減少させるための規定値は、以下のように規定してもよい。
ＥＰ１’＝ＥＰ２−（Ｒｎ（ａｂ）−Ｐｓ’）・・・（式３）
ＥＰ１’：規定電力値
Ｐｓ’：任意に特定された実行中の情報処理装置の予測消費電力
【０１０９】
温度制御装置１０は、装置特定機能部を用いて、任意に特定された実行中の情報処理装置が、式３に示す規定電力値（ＥＰ１’）未満になるように、予測された処理量を処理する情報処理装置を特定する。
【０１１０】
例えば、Ｒ１（Ａ１１０、Ｂ１２０、Ａ１３０、Ｃ１４０）が「１７００Ｗ」であり、領域に定められる規定電力値「１６８０Ｗ」より大きい場合、温度制御装置１０は、ラック「１」に配置される情報処理装置にソフトウェア実行制御対象があると判断する。そして、情報処理装置１１０の消費電力が「４３５Ｗ」、情報処理装置１２０の消費電力が「４２５Ｗ」、情報処理装置１３０の消費電力が「４３０Ｗ」、情報処理装置１４０の消費電力が「４１０Ｗ」であるとする。温度制御装置１０は、情報処理装置１４０を任意に特定する。その場合、式３に示すＥＰ１’は、次のように算出される。
ＥＰ１’＝１６８０Ｗ−（１７００Ｗ−４１０Ｗ）＝３９０Ｗ
温度制御装置１０は、情報処理装置１４０の消費電力をＥＰ１’である「３９０Ｗ」未満にするように、予測された処理量を処理する情報処理装置を特定する。
【０１１１】
上記例において、温度制御装置１０が、最も消費電力の高い情報処理装置１１０を任意に特定すると、式３に示すＥＰ１’は、次のように算出される。
ＥＰ１’＝１６８０Ｗ−（１７００Ｗ−４３５Ｗ）＝４１５Ｗ
温度制御装置１０は、情報処理装置１１０の消費電力をＥＰ１’である「４１５Ｗ」未満にするように、予測された処理量を処理する情報処理装置を特定する。
【０１１２】
温度制御装置１０は、上述したソフトウェア実行制御機能部により、特定した情報処理装置に予測時刻より先にソフトウェアを実行させる。このようにして、温度制御装置１０は、単位時間当りの処理量で消費電力が変化する情報処理装置を配置したラック間の熱の偏りを小さくすることが出来る。
【０１１３】
図１５を用いて、領域に配置された情報処理装置の予測消費電力の合計値に基づいて、予測処理量を処理する情報処理装置を特定するケースを説明する。図１５のラック番号列９５２ａに示されるように、ラックに配置される情報処理装置の台数は、４台である。そのため、温度制御装置１０は、装置設定情報９００ａの９０４ａに登録される冷却熱量の４倍である「１６００Ｗ」を、ラックの冷却熱と判断する。したがって、ラック毎の規定電力値（ＥＰ２）は、式２より「１６８０Ｗ」になる。
【０１１４】
装置管理情報９５０ａのデータ領域９７１ａに示す実行制御前の予測消費電力は、「１７０５Ｗ」であり、ラック毎の規定電力値（ＥＰ２）より大きい。そのため、温度制御装置１０は、装置特定機能部を用いて、番号が「２」のラックに配置される情報処理装置の予測消費電力の合計値は、規定値以上であると判断する。そして、温度制御装置１０は、データ領域９７２ａに示される番号が「２」のラックに配置される情報処理装置のうち予測消費電力が一番高い「４３５Ｗ」を消費する情報処理装置２３０を、予測消費電力を規定値未満にする対象装置と判断する。
【０１１５】
そして、式３に示すように、ＥＰ１’＝１６８０Ｗ−（１７０５Ｗ−４３５Ｗ）＝４１０Ｗになるので、温度制御装置１０は、対象装置である情報処理装置２３０の消費電力を４１０Ｗ未満にするように、予測された処理量を処理する情報処理装置を特定する。
【０１１６】
そして、データ領域９７６ａに示すように、温度制御装置１０は、情報処理装置６１０にソフトウェアＢを実行させると、データ領域９７７ａに示すように、対象装置である情報処理装置２３０の消費電力「２４０Ｗ」は、規定電力値（ＥＰ１’）より小さい。また、データ領域９７３ａに示すように、番号が「２」のラックの実行制御後のラック毎の予測電力「１５６０Ｗ」は、ラック毎の規定電力値（ＥＰ２）よりも小さい。さらに、データ領域９７４ａに示すように、ラック「６」に配置される情報処理装置の電力値の合計値「１４２０Ｗ」は、ラック毎の規定電力値（ＥＰ２）より小さい。
【０１１７】
したがって、温度制御装置１０は、番号が「６」のラックのうち実行制御後の情報処理装置６１０を、ソフトウェアＢの処理量の少なくとも一部を新たに処理する情報処理装置と特定する。そして、温度制御装置１０は、予測消費電力を規定値未満にする対象装置と判断された情報処理装置２３０が実行するデータ領域９７５ａに示すソフトウェアＢを、データ領域９７６ａに示すように情報処理装置６１０に実行させる。
【０１１８】
なお、図１５に示した情報処理装置毎の実行制御の例では、温度制御装置１０は、データ領域９６１ａに示す実行制御前のラック毎の予測電力「１２４０Ｗ」がラック毎の規定電力値（ＥＰ２）「１６８０Ｗ」より小さいため、ラック毎の実行制御は、行わない。また、図１５に示したラック毎の実行制御の例では、温度制御装置１０は、データ領域９７２ａに示す実行制御前の予測消費電力「４３５Ｗ」は、規定電力値（ＥＰ１）「４４０Ｗ」より小さいため、情報処理装置毎の実行制御は、行わない。
このように、ケース１に示す装置特定機能部と、ケース２に示すに示す装置特定機能部とを組み合わせることで、情報処理装置毎及びラック毎の熱の偏りを小さくすることが出来る。
【０１１９】
データセンタやサーバルームでは、情報処理装置は、部屋に散在させるのではなく、複数台の情報処理装置がラック等の領域にまとめて配置されることが多い。そのため、情報処理装置の冷却設備は、図６を用いて説明したように、領域に対して一定の冷気を供給する設計がされる。そこで、領域毎に冷気が供給されるデータセンタやサーバルームでは、領域毎の消費電力が一定となることが好ましい。このように、温度制御装置１０は、情報処理装置が配置される領域毎に温度管理を行なうことで、処理量に応じて消費電力が変化する情報処理装置を配置する領域毎の熱の偏りを小さくすることが出来る。
【０１２０】
［装置特定機能部及びソフトウェア実行制御機能部（ケース３）］
ケース３では、温度制御装置１０は、ケース１と同様に、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定する。さらに、ケース３では、温度制御装置１０は、予測消費電力を規定値未満にする対象装置で実行されるソフトウェアを停止する。つまり、ケース３とケース１との相違は、温度制御装置１０が、予測消費電力を規定値未満にする対象装置に対してソフトウェアの実行を停止させる処理を行う点である。
【０１２１】
ソフトウェアを停止する方法としては、温度制御装置１０が停止命令を対象装置と判断された情報処理装置に送信する方法がある。また、情報処理装置が仮想マシンを起動している場合は、対象装置と判断された情報処理装置から、新たにソフトウェアの実行を開始する装置に仮想マシンを移動させる方法もある。
【０１２２】
図１６を用いて、ケース３及び後述するケース４に示す装置特定機能部及びソフトウェア実行制御機能部の一例を説明する。図１６に示される装置管理情報９５０ｂは、図３Ａに示す装置管理情報９５０の一例である。装置管理情報９５０ｂは、情報処理装置名称列９５１ｂ、ラック番号列９５２ｂ、制御前予測消費電力列９５３ｂ、制御後予測消費電力列９５４ｂ、ラック毎の制御前予測消費電力列９５５ｂ、ラック毎の制御後予測消費電力列９５６ｂを有する。さらに、装置管理情報９５０ｂは、実行制御前のソフトウェア名称列９５７ｂ、及び実行制御後のソフトウェア名称列９５８ｂを有する。情報処理装置名称列９５１ｂ〜実行制御後のソフトウェア名称列９５８ｂは、図１５に示した情報処理装置名称列９５１ａ〜実行制御後のソフトウェア名称列９５８ａにそれぞれ対応するので、説明を省略する。
【０１２３】
ケース３とケース１との相違は、温度制御装置１０が、予測消費電力を規定値未満にする対象装置に対してソフトウェアの実行を停止させる処理を行う点であるため、相違点に関して説明する。
【０１２４】
ケース１で説明したように、温度制御装置１０は、ソフトウェアＡを実行する情報処理装置１１０を、予測消費電力を規定値未満にする対象装置と判断する。そして、温度制御装置１０は、情報処理装置１４０を、予測処理量を新たに処理する情報処理装置と特定する。
【０１２５】
従って、温度制御装置１０は、特定された情報処理装置１１０が実行するデータ領域９６４ｂに示すソフトウェアＡを、データ領域９６５ｂに示すように予測処理量を新たに処理する情報処理装置として特定された情報処理装置１４０に実行させる。そして、温度制御装置１０は、データ領域９６６ｂに示すように情報処理装置１１０によるソフトウェアＡの実行を停止する。
【０１２６】
データ領域９６３ｂに示されるように、実行制御後の情報処理装置１４０の予測消費電力「３９５Ｗ」は、規定電力値（ＥＰ１）を下回る。したがって、温度制御装置１０は、予測消費電力を規定値未満にする対象装置が実行するソフトウェアを停止し、他の情報処理装置に新たにソフトウェアを実行させることで、情報処理装置間の熱の偏りを小さくすることが出来る。
【０１２７】
［装置特定機能部及びソフトウェア実行制御機能部（ケース４）］
ケース４では、温度制御装置１０は、ケース２と同様に、ケース１で示す規定値を、領域に配置された情報処理装置の予測消費電力の合計値から決定する。温度制御装置１０は、ケース２と同様に、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定する。さらに、ケース４では、温度制御装置１０は、予測消費電力を規定値未満にする対象装置で実行されるソフトウェアを停止する。つまり、ケース４とケース２との相違は、温度制御装置１０が、予測消費電力を規定値未満にする対象装置に対してソフトウェアの実行を停止させる処理を行う点である。そのため、以下に相違点に関して説明する。
【０１２８】
ケース２で説明したように、予測消費電力を規定値未満にする対象装置は、情報処理装置２３０と判断される。温度制御装置１０は、情報処理装置２３０が実行するデータ領域９７５ｂに示すソフトウェアＢを、データ領域９７６ｂに示すように予測処理量を新たに処理する情報処理装置である情報処理装置６１０に実行させる。そして、温度制御装置１０は、データ領域９７７ｂに示すように、情報処理装置２３０によるソフトウェアＢの実行を停止させる。
【０１２９】
データ領域９７８ｂに示されるように、実行制御後の情報処理装置２３０の予測消費電力は、規定電力値（ＥＰ１’）を下回る。データ領域９７３ｂに示されるように、実行制御後のラック毎の予測消費電力「１５８０Ｗ」は、ラック毎の規定電力値（ＥＰ２）を下回る。したがって、予測消費電力を規定値未満にする対象装置が実行するソフトウェアを停止し、他の情報処理装置に新たにソフトウェアを実行させることで、情報処理装置間の熱の偏りを小さくすることが出来る。
【０１３０】
［装置特定機能部及びソフトウェア実行制御機能部（ケース５）］
ケース５では、温度制御装置１０は、１台の情報処理装置で実行される複数のソフトウェアを、１セットのソフトウェアとみなす。ケース５では、ケース３と同様に、温度制御装置１０は、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定する。そして、温度制御装置１０は、予測消費電力を規定値未満にする対象装置で実行されるソフトウェアを停止する。つまり、ケース５とケース３との相違は、１台の情報処理装置が１つのソフトウェアを実行することと、１台の情報処理装置が複数のソフトウェアを１セットのソフトウェアとみなして実行するかである。なお、１台の情報処理装置が複数のソフトウェアを実行するケースには、１台の情報処理装置が１つのソフトウェアを実行する仮想マシンを複数台実行するケースが含まれる。
【０１３１】
図１２及び図１３を用いて説明したように、各情報処理装置が複数のソフトウェアを実行したときの消費電力情報８５０は、記憶部１１に格納されている。そのため、温度制御装置１０は、消費電力情報８５０を用いて、複数のソフトウェアを実行するときの各情報処理装置の消費電力を予測することが出来る。なお、以下に示す例では、温度制御装置１０は、複数のソフトウェアを１セットのソフトウェアとみなして、装置特定機能部及びソフトウェア実行制御機能部を実施する。以下、ケース３とケース５との相違点に関して説明する。
【０１３２】
図１７を用いて、情報処理装置が複数のソフトウェアを１セットのソフトウェアとして実行する場合の装置特定機能部及びソフトウェア実行制御機能部の一例を説明する。図１７に示される装置管理情報９５０ｃは、図４に示す装置管理情報９５０の一例である。装置管理情報９５０ｃは、情報処理装置名称列９５１ｃ、ラック番号列９５２ｃ、制御前予測消費電力列９５３ｃ、制御後予測消費電力列９５４ｃ、ラック毎の制御前予測消費電力列９５５ｃ、ラック毎の制御後予測消費電力列９５６ｃを有する。さらに、装置管理情報９５０ｃは、実行制御前のソフトウェア名称列９５７ｃ、及び実行制御後のソフトウェア名称列９５８ｃを有する。情報処理装置名称列９５１ｃ〜実行制御後のソフトウェア名称列９５８ｃは、図１５に示した情報処理装置名称列９５１ａ〜実行制御後のソフトウェア名称列９５８ａにそれぞれ対応するので、説明を省略する。
【０１３３】
データ領域９６４ｃには、情報処理装置１１０が２つのソフトウェアＡ及びＢを実行することが示される。データ領域９６２ｃに示す情報処理装置１１０の実行制御前の予測電力「４５０Ｗ」が規定値「４４０Ｗ」より大きいので、温度制御装置１０は、情報処理装置１１０は予測消費電力を規定値未満にする対象装置であると判断する。温度制御装置１０は、データ領域９６５ｃに示すように情報処理装置１４０がソフトウェアＡ及びＢを実行したとき、データ領域９６３ｃに示す情報処理装置１４０の予測電力「３９５Ｗ」が規定値未満になる。そのため、温度制御装置１０は、情報処理装置１４０を新たに処理量の少なくとも一部を処理する情報処理装置と判断する。したがって、温度制御装置１０は、情報処理装置２３０が実行する１セットとみなした複数のソフトウェアを停止し、情報処理装置６１０に新たに１セットとみなした複数のソフトウェアを実行させることで、情報処理装置間の熱の偏りを小さくすることが出来る。
【０１３４】
［装置特定機能部及びソフトウェア実行制御機能部（ケース６）］
温度制御装置１０は、複数のソフトウェアを１セットのソフトウェアとみなして、ケース４と同様の処理を行う。
【０１３５】
図１７に示すデータ領域９７５ｃには、情報処理装置２３０が２つのソフトウェアＢ及びＤを実行することが示される。データ領域９７１ｃに示す実行制御前の予測電力「１７０５Ｗ」がラック毎の規定値（ＥＰ２）「１６８０Ｗ」より大きいので、温度制御装置１０は、番号「２」のラックに予測消費電力を規定値未満にする対象装置が配置されていると判断する。そして、温度制御装置１０は、ラック「２」に配置される情報処理装置のなかで最も消費電力の高い情報処理装置２３０を、予測消費電力を規定値未満にする対象装置と判断する。式３より、ＥＰ１‘＝１６８０Ｗ−（１７０５Ｗ―４３５Ｗ）＝４１０Ｗである。そのため、温度制御装置１０は、データ領域９７２ｃに示す情報処理装置２３０の消費電力「４３５Ｗ」が４１０Ｗ未満になるように、予測されたソフトウェアＢ及びＤの処理量の少なくとも一部を処理する情報処理装置を特定する。そして、データ領域９７４ｃに示すように、情報処理装置６１０にソフトウェアＢ及びＤを実行させると、データ領域９７７ｃに示されるように、制御後の予測消費電力は、規定電力値（ＥＰ１’）を下回る。そして、データ領域９７３ｃに示すように、ラック毎の予測消費電力「１５８０Ｗ」は、規定電力値（ＥＰ２）未満になる。そして、データ領域９７６ｃに示すように、温度制御装置１０は、情報処理装置２３０が実行していたソフトウェアＢ及びソフトウェアＤを１つのセットにして、情報処理装置６１０に実行させる。
【０１３６】
このように、温度制御装置１０は、情報処理装置が複数のソフトウェアを実行している場合でも、複数のソフトウェアを１つのソフトウェアとみなしてソフトウェアを実行制御する。したがって、温度制御装置１０は、処理量に応じて消費電力が変化する複数の情報処理装置における熱の偏りを小さくすることを簡易に実現することが出来る。
【０１３７】
［装置特定機能部及びソフトウェア実行制御機能部（ケース７）］
温度制御装置１０は、複数のソフトウェアを実行する装置の予測消費電力が規定値未満になるように、優先順位の低いソフトウェアを実行する情報処理装置を特定する。さらに、温度制御装置１０は、予測消費電力を規定値未満にする対象装置で実行される優先順位の低いソフトウェアの実行を停止する。
【０１３８】
図１８を用いて、情報処理装置が実行する複数のソフトウェアの１つを、他の情報処理装置に実行させる場合の装置特定機能部及びソフトウェア実行制御機能部の一例を説明する。
図１８に示される装置管理情報９５０ｄは、図４に示す装置管理情報９５０の一例である。装置管理情報９５０ｄは、情報処理装置名称列９５１ｄ、ラック番号列９５２ｄ、ラック毎の制御前予測消費電力列９５５ｄ、ラック毎の制御後予測消費電力列９５６ｄ、及び制御前予測消費電力列９５３ｄを有する。さらに、装置管理情報９５０ｄは、制御後予測消費電力列９５４ｄ、実行制御前のソフトウェア名称列９５７ｄ、及び実行制御後のソフトウェア名称列９５８ｄを有する。情報処理装置名称列９５１ｄ〜実行制御後のソフトウェア名称列９５８ｄは、図１５に示した情報処理装置名称列９５１ａ〜実行制御後のソフトウェア名称列９５８ａにそれぞれ対応するので、説明を省略する。
【０１３９】
データ領域９６１ｄに示すように２つのソフトウェアＡ及びＤを実行する情報処理装置１１０の実行制御前の予測消費電力は、データ領域９６２ｄに示すように「４５０Ｗ」であり、式１に示す規定電力値（ＥＰ１）より大きい。そのため、ソフトウェア実行制御機能部は、情報処理装置１１０は予測消費電力を規定値未満にする対象装置であると判断する。
【０１４０】
図１９は、ソフトウェア実行優先順位情報の一例を示す図である。図１９に示すソフトウェア実行優先順位情報９８０ａは、図３Ａに示すソフトウェア実行優先順位情報９８０の一例である。温度制御装置１０は、ソフトウェア実行優先順位情報９８０ａを参照して、ソフトウェアＡの実行優先順位が、ソフトウェアＤの実行優先順位より高いことを確認出来る。そのため、温度制御装置１０は、情報処理装置１１０にソフトウェアＤの実行を停止させ、ソフトウェアＡの実行を継続させるように制御する。そのため、温度制御装置１０は、装置特定機能部を用いて、ソフトウェアＡを実行する情報処理装置１１０の予測消費電力が規定値未満になるように、ソフトウェアＤの予測された処理量を処理する情報処理装置を特定する。
【０１４１】
データ領域９６６ｄに示すように、情報処理装置１４０にソフトウェアＤを割り当てると、データ領域９６５ｄに示すように、情報処理装置１１０は、ソフトウェアＡを継続して実行することが出来る。また、データ領域９６７ｄに示すように、情報処理装置１１０の制御後の消費電力は、「２００Ｗ」になる。また、データ領域９６３ｄに示すように、情報処理装置１４０の実行制御後の予測消費電力は、規定値「２００Ｗ」になる。したがって、情報処理装置１１０、１４０の消費電力は、規定電力値（ＥＰ１）未満になる。
【０１４２】
このように、温度制御装置１０は、予測消費電力を規定値未満にする対象装置が、複数のソフトウェアを実行している場合、実行優先順位の低いソフトウェアを他の情報処理装置に実行させる。
【０１４３】
［装置特定機能部及びソフトウェア実行制御機能部（ケース８）］
温度制御装置１０は、ケース７で示す規定値を、領域に配置された情報処理装置の予測消費電力の合計値から決定して、ケース７と同様の処理を行う。
【０１４４】
図１８のデータ領域９６９ｄに示すように、識別番号が「２」のラックに配置される情報処理装置の消費電力の総和「１７０５Ｗ」は、規定電力値（ＥＰ２）「１６８０Ｗ」より大きい。温度制御装置１０は、データ領域９７０ｄに示すように、番号が「２」のラックに配置される情報処理装置のうち予測電力が一番大きい情報処理装置２３０を、予測消費電力を規定値未満にする対象装置と判断する。式３より、ＥＰ１’＝１６８０Ｗ−（１７０５Ｗ−４３５Ｗ）＝４１０Ｗである。温度制御装置１０は、情報処理装置２３０の消費電力「４３５Ｗ」が４１０Ｗ未満になるように、予測処理量の少なくとも一部を処理する情報処理装置を特定する。
【０１４５】
温度制御装置１０は、データ領域９７２ｄに示すようにソフトウェアＢ及びＤの実行による予測された消費電力が規定値未満になるように、データ領域９７３ｄに示すソフトウェアＤを実行する情報処理装置８４０を特定する。温度制御装置１０は、このようにして情報処理装置２３０によるソフトウェアＤの実行を停止し、情報処理装置８４０にソフトウェアＤを実行させる。データ領域９７１ｄに示すように、情報処理装置２３０の予測消費電力は、規定電力値（ＥＰ１’）より小さい「２００Ｗ」になる。そして、データ領域９７４ｄに示すように、ラック「２」に配置される情報処理装置の総消費電力は、規定電力値（ＥＰ２）より小さい「１４７０Ｗ」になる。
【０１４６】
情報処理装置は、設計上の高温温度に達してＣＰＵが処理速度を低下させるなどの機能を有する場合がある。このような機能は、情報処理装置が実行中のソフトウェアの実行優先順位を何ら考慮しないものである。一方、温度制御装置１０のソフトウェア実行制御機能部は、ソフトウェアの停止及び起動を伴う。このような、ソフトウェアの停止と起動は、外部にあるコンピュータからの処理要求を短期的に中断させることになる。そのため、優先順位の高いソフトウェアを継続して実行させ、優先順位の低いソフトウェアを他の情報処理装置に新たに実行させることで、温度制御装置１０は、優先順位の高いソフトウェアに対する外部からの処理要求に対して中断を生じさせないことが出来る。
【０１４７】
［装置特定機能部及びソフトウェア実行制御機能部（ケース９）］
温度制御装置１０は、予測消費電力が規定値未満になる装置が無い場合、実行の優先順位が低いソフトウェアの実行を停止する。
【０１４８】
図２０を用いて、ソフトウェアを停止する場合の装置特定機能部及びソフトウェア実行制御機能部の一例を説明する。
図２０に示される装置管理情報９５０ｅは、図３Ａに示す装置管理情報９５０の一例である。装置管理情報９５０ｅは、情報処理装置名称列９５１ｅ、ラック番号列９５２ｅ、ラック毎の制御前予測消費電力列９５５ｅ、ラック毎の制御後予測消費電力列９５６ｅ、及び制御前予測消費電力列９５３ｅを有する。さらに、装置管理情報９５０ｅは、制御後予測消費電力列９５４ｅ、実行制御前のソフトウェア名称列９５７ｅ、及び実行制御後のソフトウェア名称列９５８ｅを有する。情報処理装置名称列９５１ｅ〜実行制御後のソフトウェア名称列９５８ｅは、図１５に示した情報処理装置名称列９５１ａ〜実行制御後のソフトウェア名称列９５８ａにそれぞれ対応するので、説明を省略する。
【０１４９】
データ領域９６１ｅに示すように、識別番号が「１」のラックに配置される情報処理装置の予測消費電力の合計「１７５５Ｗ」は、ラック毎の規定電力値（ＥＰ２）「１６８０Ｗ」より大きい。また、データ領域９６２ｅに示すように、識別番号が「１」のラックの中で情報処理装置１１０の実行制御前の予測電力は、規定電力値（ＥＰ１）より大きい。そのため、ソフトウェア実行制御機能部は、ラック「１」内に配置される情報処理装置１１０は、予測消費電力を規定値未満にする対象装置と判断する。また、ソフトウェア実行制御機能部は、データ領域９６７ｅに示すソフトウェアＥを新たに実行するための情報処理装置を探す。しかし、データ領域９６３ｅに示すように実行制御前のいずれの情報処理装置も予測電力が高い。そのため、データ領域９６３ｅに示す情報処理装置にソフトウェアを割り当てた場合、データ領域９６３ｅに示す情報処理装置の実行制御後の予測電力は、規定電力値（ＥＰ１）以上になる。この場合、温度制御装置１０は、ソフトウェアの実行優先順位が低いソフトウェアの実行を停止する処理を行う。
【０１５０】
温度制御装置１０は、図１９に示すソフトウェア実行優先順位情報９８０ａを参照して、ソフトウェアＦの実行優先順位が、ソフトウェアＥの実行優先順位より低いことを確認する。そのため、図２０のデータ領域９６９ｅに示すように、温度制御装置１０は、情報処理装置２４０による実行の優先順位の低いソフトウェアＦの実行を停止する。そして、温度制御装置１０は、データ領域９６９ｅに示すようにソフトウェアＥを実行させて、情報処理装置１１０に割当られていたソフトウェアＥの実行処理の処理量の一部を情報処理装置２４０に割り当てる。温度制御装置１０は、データ領域９６８ｅに示すように、情報処理装置１１０の実行制御後の予測電力を規定電力値（ＥＰ１）より小さくすることが出来る。また、温度制御装置１０は、データ領域９６４ｅに示すように、識別番号が「１」のラックに配置される情報処理装置の予測電力の合計を規定電力値（ＥＰ２）未満の「１５５５Ｗ」にする。
【０１５１】
情報処理装置は、設計上の高温温度に達してＣＰＵが処理速度を低下させるなどの機能を有する場合がある。このような機能は、情報処理装置が実行中のソフトウェアの実行優先順位を何ら考慮しないものである。一方、温度制御装置１０のソフトウェア実行制御機能部は、ソフトウェアの停止及び起動を伴う。このような、ソフトウェアの停止と起動は、外部にあるコンピュータからの処理要求を短期的に中断させることになる。そのため、温度制御装置１０は、上記のように、ソフトウェアを割当てる対象が無い場合でも、情報処理装置に実行優先順位の低いソフトウェアを停止させて、情報処理装置に優先順位の高いソフトウェアの実行を継続させることが出来る。
【０１５２】
図２１は、停止中のソフトウェア名称を格納するキュー情報の一例を示す図である。図２１に示されるキュー情報９８５ａは、図３Ａに示したキュー情報９８５の一例である。図２１に示すキュー情報９８５ａは、ソフトウェア名称管理列９８６ａを有する。ソフトウェア名称管理列９８６ａには、ソフトウェア実行制御機能部によって停止されたソフトウェアの名称が登録される。キュー情報９８５ａには、例えば、first-in first-out（ＦＩＦＯ）に従ってソフトウェア名称が登録されてもよい。例えば、ケース９の例では、データ領域９８７ａに示すように、ソフトウェア実行制御機能部によって停止されたソフトウェアＦは、ソフトウェア名称管理列９８６ａのデキュー側に登録され、ソフトウェアＦは、ＦＩＦＯに従って最初に取り出される。
【０１５３】
［装置特定機能部及びソフトウェア実行制御機能部（ケース１０）］
温度制御装置１０は、停止中のソフトウェアを実行させたとき予測消費電力が規定値未満になる装置を特定し、且つ特定した装置にソフトウェアを割り当てる。
【０１５４】
ケース１０について、図２２を用いて以下に説明する。図２２は、ソフトウェアを起動する場合のソフトウェア実行制御機能部の一例を示す図である。図２２に示される装置管理情報９５０ｆは、図４に示す装置管理情報９５０の一例である。装置管理情報９５０ｆは、情報処理装置名称列９５１ｆ、ラック番号列９５２ｆ、ラック毎の制御前予測消費電力列９５５ｆ、ラック毎の制御後予測消費電力列９５６ｆ、及び制御前予測消費電力列９５３ｆを有する。さらに、装置管理情報９５０ｆは、制御後予測消費電力列９５４ｆ、実行制御前のソフトウェア名称列９５７ｆ、及び実行制御後のソフトウェア名称列９５８ｆを有する。情報処理装置名称列９５１ｆ〜実行制御後のソフトウェア名称列９５８ｆは、図１５に示した情報処理装置名称列９５１ａ〜実行制御後のソフトウェア名称列９５８ａにそれぞれ対応するので、説明を省略する。
【０１５５】
図１８を用いて説明したように、実行優先順位の低いソフトウェアＦは、情報処理装置１１０の消費電力を規定電力値未満にするために停止された。そして、温度制御装置１０は、図２１に示すキュー情報９８５ａに登録されたソフトウェアＦの名称を参照して、ソフトウェアＦが実行待ちであることを認識する。図２２に示す実行制御前の予測電力は、データ領域９６１ｆに示すように、時間経過により情報処理装置２１０でソフトウェアが実行されなくなった場合を示す。温度制御装置１０は、データ領域９６２ｆに示すように、情報処理装置２１０はソフトウェアＦを実行しても規定電力値を超えないため、情報処理装置２１０が予測処理量を処理する情報処理装置であると判断する。そのため、温度制御装置１０は、データ領域９６３ｆに示すように、図２１に示すキュー情報９８５ａに登録されたソフトウェアＦを、情報処理装置２１０に実行させる。
【０１５６】
なお、図２１のデータ領域９８８ａは、データ領域９８７ａにソフトウェアＦが登録された後に、キュー情報９８５に登録された新規にインストールするためのソフトウェアＧである。温度制御装置１０は、図２１に示すキュー情報９８５ａに登録されたソフトウェアＧの名称を参照して、ソフトウェアＦをデキューした後、ソフトウェアＧが実行待ちであることを認識する。図２２に示す実行制御前の予測電力は、データ領域９６４ｆに示すように、時間経過により情報処理装置８４０でソフトウェアが実行されなくなった場合を示す。温度制御装置１０は、データ領域９６５ｆに示すように、情報処理装置８４０は、ソフトウェアＧを実行しても規定電力値を超えない予測処理量を処理する情報処理装置であると判定する。そのため、温度制御装置１０は、データ領域９６６ｆに示すように、図２１に示すキュー情報９８５ａに登録されたソフトウェアＧを、情報処理装置８４０に実行させる。
【０１５７】
このように、温度制御装置１０は、全情報処理装置の処理量が高いため停止中のソフトウェア、又は、新規に情報処理装置に投入され且つ実行出来ていなかったソフトウェアであっても、予測電力が規定値以内の情報処理装置に実行させることが出来る。
【０１５８】
図２３を用いて、温度制御装置が、情報処理装置毎の規定値を用いて情報処理装置の温度制御を行う処理フローの一例を説明する。
図２３に示すように、温度制御装置１０は、温度制御時間になったか否かを判断する（Ｓ５０１）。温度制御装置１０は、温度制御時間になると（Ｓ５０１  Ｙｅｓ）、後述のＳ５０２を実行する。温度制御時間にならない場合（Ｓ５０１  Ｎｏ）、温度制御装置１０は、温度制御時間になるまで待機する（Ｓ５０１）。温度制御時間とは、例えば、１時間に１回温度制御が行われるように規定される時間である。
【０１５９】
温度制御装置１０は、処理量の時間履歴情報８００から処理量を予測する（Ｓ５０２）。予測時刻とは、例えば、現在時刻から１時間後の時間である。温度制御装置１０は、予測処理量の少なくとも一部を処理するときの情報処理装置の予測消費電力を消費電力情報８５０から予測する（Ｓ５０３）。温度制御装置１０は、予測消費電力が規定値以上になる情報処理装置があるか否かを判断する（Ｓ５０４）。なお、Ｓ５０４に示す規定値とは、例えば、式１に示す規定電力値（ＥＰ１）である。予測消費電力が規定値以上になる情報処理装置が無い場合（Ｓ５０４  Ｎｏ）、温度制御装置１０は、後述のＳ５１１を行う。予測消費電力が規定値以上になる情報処理装置がある場合（Ｓ５０４  Ｙｅｓ）、温度制御装置１０は、予測消費電力が規定値以上の１台の情報処理装置が１つのソフトウェアを実行しているか否かを判断する（Ｓ５０５）。
【０１６０】
予測消費電力が規定値以上の１台の情報処理装置が、１つより多くのソフトウェアを実行している場合（Ｓ５０５  Ｎｏ）、温度制御装置１０は、後述のＳ５２１を実行する。予測消費電力が規定値以上の１台の情報処理装置が、１つのソフトウェアを実行している場合（Ｓ５０５  Ｙｅｓ）、温度制御装置１０は、後述のＳ５０６を実行する。なお、ケース５で説明したように温度制御装置１０は、複数のソフトウェアを１セットのソフトウェアとみなす場合は、温度制御装置１０は、後述のＳ５０６を実行する。
【０１６１】
温度制御装置１０は、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置があるか否かを判断する（Ｓ５０６）。
【０１６２】
ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置が無い場合（Ｓ５０６  Ｎｏ）、温度制御装置１０は、後述のＳ５３１を実行する。ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置がある場合（Ｓ５０６  Ｙｅｓ）、温度制御装置１０は、後述のＳ５０７を実行する。温度制御装置１０は、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置にソフトウェアを割り当てる（Ｓ５０７）。言い換えれば、Ｓ５０７では、温度制御装置１０は、予測消費電力を規定値未満にする対象装置におけるソフトウェアの実行を停止、又は処理量を減少させ、且つ、予測処理量を処理可能な情報処理装置にソフトウェアを割り当て且つ実行させる。
【０１６３】
図２４を用いて、温度制御装置が、ラック毎の規定値で情報処理装置の温度制御を行なう処理フローの一例を説明する。
図２４に示すように、Ｓ５０４に示す条件判断が成立しなかった場合、温度制御装置１０は、配置した情報処理装置の予測消費電力の合計値が規定値以上のラックがあるか否かを判断する（Ｓ５１１）。なお、Ｓ５１１に示す規定値とは、例えば、式２に示すラック毎の規定電力値（ＥＰ２）である。配置した情報処理装置の予測消費電力の合計値が規定値以上のラックが無い場合（Ｓ５１１  Ｎｏ）、温度制御装置１０は、Ｓ５０１に戻る。配置した情報処理装置の予測消費電力の合計値が規定値以上のラックがある場合（Ｓ５１１  Ｙｅｓ）、温度制御装置１０は、そのラックに配置した各情報処理装置が１つのソフトウェアを実行しているか否かを判断する（Ｓ５１２）。なお、Ｓ５１２で判断対象となる情報処理装置は、例えば、当該ラック内に配置される情報処理装置の中で最も予測消費電力の大きい情報処理装置である。
【０１６４】
ラックに配置した各情報処理装置が１つのソフトウェアを実行していない場合（Ｓ５１２  Ｎｏ）、温度制御装置１０は、後述のＳ５２１を実行する。ラックに配置した情報処理装置が１つのソフトウェアを実行している場合（Ｓ５１２  Ｙｅｓ）、温度制御装置１０は、予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置があるか否か判断する（Ｓ５１３）。なお、Ｓ５１３に示す規定値とは、例えば、式３に示す規定電力値（ＥＰ１’）である。ケース６で説明したように温度制御装置１０は、複数のソフトウェアを１つのソフトウェアとみなす場合は、温度制御装置１０は、Ｓ５１３を実行する。
【０１６５】
ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置が無い場合（Ｓ５１３  Ｎｏ）、温度制御装置１０は、後述のＳ５３１を実行する。ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置がある場合（Ｓ５１３  Ｙｅｓ）、温度制御装置１０は、後述のＳ５１４を実行する。
温度制御装置１０は、ソフトウェアを実行する情報処理装置の予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置にソフトウェアを割り当てる （Ｓ５１４）。言い換えれば、Ｓ５１４では、温度制御装置１０は、予測消費電力を規定値未満にする対象装置におけるソフトウェアの実行を停止、又は処理量を減少させ、且つ、予測処理量を処理可能な情報処理装置にソフトウェアを割り当て且つ実行させる。
【０１６６】
図２５を用いて、温度制御装置が、複数ソフトウェアを実行する情報処理装置の温度制御を行なう処理フローの一例を説明する。
図２５に示すように、温度制御装置１０は、Ｓ５０５又はＳ５１２に示す条件判断が成立しなかった場合、次のＳ５２１を実行する。温度制御装置１０は、第１ソフトウェア実行による予測消費電力が規定値未満になるように、第２ソフトウェア実行による予測処理量の少なくとも一部を処理可能な情報処理装置があるか否か判断する（Ｓ５２１）。なお、Ｓ５２１に示す規定値は、式１に示す規定電力値（ＥＰ１）又は式３に示す規定電力値（ＥＰ１’）である。第２ソフトウェアとは、第１ソフトウェアより実行の優先順位の低いソフトウェアである。第２ソフトウェア実行による予測処理量の少なくとも一部を処理可能な情報処理装置が無い場合（Ｓ５２１  Ｎｏ）、温度制御装置１０は、図２６に示す後述のＳ５３１を実行する。第２ソフトウェア実行による予測処理量の少なくとも一部を処理可能な情報処理装置が有る場合（Ｓ５２１  Ｙｅｓ）、温度制御装置１０は、次に示すＳ５２２を実行する。
【０１６７】
温度制御装置１０は、第１及び第２のソフトウェアを実行する情報処理装置による第２のソフトウェアの実行を停止、又は処理量を低減し、且つ、特定した情報処理装置に第２のソフトウェアを割り当てる（Ｓ５２２）。そして、温度制御装置１０は、再び温度制御時間になるまで待機する（Ｓ５０１）。
【０１６８】
図２６を用いて、温度制御装置が、ソフトウェアを停止又は、起動する情報処理装置の温度制御を行なう処理フローの一例を説明する。
図２６に示すように、Ｓ５０６又はＳ５１３又はＳ５２１に示す条件判断が成立しなかった場合、温度制御装置１０は、ソフトウェア実行優先順位情報９８０を参照して、実行の優先順位が低いソフトウェアを停止する（Ｓ５３１）。温度制御装置１０は、停止したソフトウェアのソフトウェア名称をキュー情報９８５に登録する（Ｓ５３２）。温度制御装置１０は、ソフトウェア実行開始時間になったか否かを判断する（Ｓ５３３）。
【０１６９】
ソフトウェア実行開始時間になっていない場合、温度制御装置１０は、ソフトウェア実行開始時間になるまで待機する（Ｓ５３３  Ｎｏ）。ソフトウェア実行開始時間になった場合（Ｓ５３３  Ｙｅｓ）、温度制御装置１０は、処理量の時間履歴情報８００から処理量を予測する（Ｓ５３４）。温度制御装置１０は、消費電力情報８５０から予測処理量の少なくとも一部を処理するときの情報処理装置の消費電力を予測する（Ｓ５３５）。温度制御装置１０は、停止中のソフトウェアを実行させたとき予測消費電力が規定値未満になるように、予測処理量を処理する情報処理装置があるか否か判断する（Ｓ５３６）。なお、Ｓ５３６に示す規定値は、式１に示す規定電力値（ＥＰ１）又は式３に示す規定電力値（ＥＰ１’）である。停止中のソフトウェアを実行させたとき予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置が無い場合（Ｓ５３６  Ｎｏ）、温度制御装置１０は、再びソフトウェア実行開始時間になるまで待機する（Ｓ５３３）。停止中のソフトウェアを実行させたとき予測消費電力が規定値未満になるように、予測処理量を処理可能な情報処理装置が有る場合（Ｓ５３６  Ｙｅｓ）、温度制御装置１０は、次に示すＳ５３７を実行する。
【０１７０】
温度制御装置１０は、キュー情報９８５に格納されていたソフトウェアの名称を取得して、ソフトウェア名称に相当するソフトウェアを、予測処理量を処理可能な情報処理装置に割り当てる（Ｓ５３７）。このとき、キュー情報９８５に格納されるソフトウェア名称は、例えば、Ｓ５３２でキュー情報９８５に登録されたソフトウェアや、新規に情報処理装置にインストール及び実行するために待機中のソフトウェアである。温度制御装置１０は、再び温度制御時間になるまで待機する（Ｓ５０１）。
【０１７１】
以上の実施形態に関し、更に以下の付記を開示する。
［付記１］
複数の情報処理装置の温度を制御する温度制御装置であって、
ソフトウェアの実行により情報処理装置で処理される単位時間当りの処理量の時間履歴から処理量を予測し、且つ、前記情報処理装置毎に特定される、単位時間当りの処理量により変化する消費電力から、前記予測された処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を予測する消費電力予測機能部、
前記予測された消費電力が規定値未満になるように、前記予測された処理量を処理する情報処理装置を特定する装置特定機能部、及び
前記特定した情報処理装置に、前記予測された処理量を生じさせるソフトウェアを割り当てるソフトウェア実行制御機能部、を実現する処理部、
を有することを特徴とする温度制御装置。
［付記２］
前記情報処理装置は、所定の数毎に複数の領域に収納され、
前記規定値は、前記領域に配置された情報処理装置における前記予測された消費電力の合計した値を、前記領域に定められる規定値未満にする閾値である、付記１に記載の温度制御装置。
［付記３］
前記情報処理装置は、第１のソフトウェア及び前記第１のソフトウェアより実行の優先順位の低い第２のソフトウェアを同時に実行し、
前記処理量により変化する消費電力は、前記第１及び第２のソフトウェアの実行による単位時間当りの処理量により変化する消費電力であり、
前記消費電力予測機能部は、前記処理量の時間履歴から前記第１及び第２のソフトウェアの処理量をそれぞれ予測し、且つ、前記予測された前記第１及び第２のソフトウェア実行による処理量のうち少なくとも一部を処理するときの前記情報処理装置の消費電力を前記処理量により変化する消費電力から予測し、
前記装置特定機能部は、前記第１又は第２のソフトウェア実行による前記予測された消費電力が規定値未満になるように、前記第２のソフトウェア実行による予測された処理量の少なくとも一部を処理する情報処理装置を特定し、
前記ソフトウェア実行制御機能部は、前記第１及び第２のソフトウェアを実行する情報処理装置による前記第２のソフトウェアの実行を停止し、且つ、前記特定した情報処理装置に前記第２のソフトウェアを割り当てる、付記１又は２に記載の温度制御装置。
［付記４］
前記予測された消費電力が規定値未満になるように、前記予測された処理量を処理する情報処理装置が無い場合、前記ソフトウェア実行制御機能部は、実行の優先順位が低いソフトウェアを停止する、付記１〜３のいずれか１項に記載の温度制御装置。
［付記５］
前記処理量の時間履歴は、実測した処理量の時間履歴を統計処理することで得られる付記１〜４のいずれか１項に記載の温度制御装置。
［付記６］
前記処理量の時間履歴は、一日分のソフトウェアの処理量の時間履歴を示し、且つ、前記一日分のソフトウェアの処理量の時間履歴を、曜日又は日付ごとに分類して示し、及び、
前記消費電力予測機能部は、予測時刻に応じて、前記曜日又は日付で分類された前記一日分のソフトウェアの処理量の時間履歴を選択し、前記選択された処理量の時間履歴から前記処理量を予測する、付記１〜５のいずれか１項に記載の温度制御装置。
［付記７］
前記ソフトウェアを実行する情報処理装置の前記予測された消費電力が規定値未満になるように、前記予測された処理量を処理する情報処理装置が無い場合、前記ソフトウェア実行制御機能部は、実行の優先順位が低いソフトウェアを停止する、付記１〜５のいずれか１項に記載の温度制御装置。
［付記８］
前記装置特定機能部は、前記停止中又は未割り当てのソフトウェアを実行させたとき予測された消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定し、
前記ソフトウェア実行制御機能部は、前記特定した情報処理装置に前記停止中のソフトウェア又は未割り当てのソフトウェアを割り当てる、付記７に記載の温度制御装置。
［付記９］
複数の情報処理装置に接続され、且つ前記情報処理装置の温度を制御する温度制御装置に、
ソフトウェアの実行により情報処理装置で処理される単位時間当りの処理量の時間履歴から処理量を予測し、且つ、前記情報処理装置毎に特定され且つ単位時間当りの処理量により変化する消費電力から前記予測された処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を予測する消費電力予測機能、
前記予測された消費電力が規定値未満になるように、前記予測された処理量を割り当てる情報処理装置を特定する装置特定機能、及び
前記特定した情報処理装置に前記予測された処理量を生じさせるソフトウェアを割り当てるソフトウェア実行制御機能、
を実現させるためのプログラム。
［付記１０］
前記情報処理装置は、所定の数毎に複数の領域に収納され、
前記規定値は、前記領域に配置された情報処理装置における前記予測された消費電力の合計した値を、前記領域に定められる規定値未満にするための閾値である、付記９に記載のプログラム。
［付記１１］
前記情報処理装置は、第１のソフトウェア及び前記第１のソフトウェアより実行の優先順位の低い第２のソフトウェアを同時に実行し、
前記処理量により変化する消費電力は、前記第１及び第２のソフトウェアの実行による単位時間当りの処理量により変化する消費電力であり、
前記消費電力予測機能は、前記処理量の時間履歴から前記複数のソフトウェアの処理量をそれぞれ予測し、且つ、前記予測された複数のソフトウェア実行による処理量のうち少なくとも一部を処理するときの前記情報処理装置の消費電力を前記処理量により変化する消費電力から予測し、
前記装置特定機能は、前記複数のソフトウェアを実行する情報処理装置の前記予測された消費電力が規定値未満になるように、前記予測された複数のソフトウェアの処理量の少なくとも一部を処理する情報処理装置を特定し、且つ、
前記ソフトウェア実行制御機能は、前記特定した情報処理装置に前記複数のソフトウェアを割り当てる、付記９又は１０に記載のプログラム。
［付記１２］
前記複数の情報処理装置の少なくとも１つは、第１のソフトウェア及び前記第１のソフトウェアより実行の優先順位の低い第２のソフトウェアを同時に実行し、
前記消費電力情報は、前記第１及び第２のソフトウェアの実行による単位時間当りの処理量により変化する消費電力を示し、
前記消費電力予測機能は、前記処理量の時間履歴から前記第１及び第２のソフトウェアの処理量をそれぞれ予測し、且つ、前記予測された前記第１及び第２のソフトウェア実行による処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を前記消費電力情報から予測し、
前記装置特定機能は、前記第１又は第２のソフトウェア実行による前記予測された消費電力が規定値未満になるように、前記第２のソフトウェア実行による予測された処理量の少なくとも一部を処理する情報処理装置を特定し、
前記ソフトウェア実行制御機能は、前記第１及び第２のソフトウェアを実行する情報処理装置による前記第２のソフトウェアの実行を停止し、且つ、前記特定した情報処理装置に前記第２のソフトウェアを割り当てる、付記９又は１０に記載のプログラム。
［付記１３］
前記処理量の時間履歴は、実測した処理量の時間履歴を統計処理することで得られる、付記９〜１２のいずれか１項に記載のプログラム。
［付記１４］
前記処理量の時間履歴は、一日分のソフトウェアの処理量の時間履歴を示し、且つ、前記一日分のソフトウェアの処理量の時間履歴を、曜日又は日付ごとに分類して示し、及び、
前記消費電力予測機能は、予測時刻に応じて、前記曜日又は日付で分類された前記一日分のソフトウェアの処理量の時間履歴を選択し、前記選択された処理量の時間履歴から前記処理量を予測する、付記９〜１２のいずれか１項に記載のプログラム。
［付記１５］
前記ソフトウェアを実行する情報処理装置の前記予測された消費電力が規定値未満になるように、前記予測された処理量を処理する情報処理装置が無い場合、前記ソフトウェア実行制御機能は、実行の優先順位が低いソフトウェアを停止する、付記９〜１４のいずれか１項に記載のプログラム。
［付記１６］
前記装置特定機能は、前記停止中又は未割り当てのソフトウェアを実行させたとき予測された消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定し、
前記ソフトウェア実行制御機能は、前記特定した情報処理装置に前記停止中のソフトウェア又は未割り当てのソフトウェアを割り当てる、付記１５に記載のプログラム。
［付記１７］
複数の情報処理装置に接続され、且つ前記情報処理装置の温度を制御する温度制御方法であって、
ソフトウェアの実行により情報処理装置で処理される単位時間当りの処理量の時間履歴から処理量を予測するステップと、
前記情報処理装置毎に特定され且つ単位時間当りの処理量により変化する消費電力から前記予測された処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を予測するステップと、
前記予測された消費電力が規定値未満になるように、前記予測された処理量を割り当てる情報処理装置を特定するステップと、
前記特定した情報処理装置に前記予測された処理量を生じさせるソフトウェアを割り当てるステップと、
を有することを特徴とする温度制御方法。
［付記１８］
前記情報処理装置は、所定の数毎に複数の領域に収納され、
前記規定値は、前記領域に配置された情報処理装置における前記予測された消費電力の合計した値を、前記領域に定められる規定値未満にするため閾値である、付記１７に記載の温度制御方法。
［付記１９］
前記情報処理装置は、複数のソフトウェアを同時に実行し、
前記処理量により変化する消費電力は、複数のソフトウェアの実行による単位時間当りの処理量により変化する消費電力を示し、
前記消費電力予測ステップは、前記処理量の時間履歴情報から前記複数のソフトウェアの処理量をそれぞれ予測し、且つ、前記予測された複数のソフトウェア実行による処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を前記消費電力情報から予測し、
前記装置特定ステップは、前記複数のソフトウェアを実行する情報処理装置の前記予測された消費電力が規定値未満になるように、前記予測された複数のソフトウェアの処理量の少なくとも一部を処理する情報処理装置を特定し、且つ、
前記ソフトウェア実行制御ステップは、前記特定した情報処理装置に前記複数のソフトウェアを割り当てる、付記１７又は１８に記載の温度制御方法。
［付記２０］
前記複数の情報処理装置の少なくとも１つは、第１のソフトウェア及び前記第１のソフトウェアより実行の優先順位の低い第２のソフトウェアを同時に実行し、
前記消費電力情報は、前記第１及び第２のソフトウェアの実行による単位時間当りの処理量により変化する消費電力を示し、
前記消費電力予測ステップは、前記処理量の時間履歴情報から前記第１及び第２のソフトウェアの処理量をそれぞれ予測し、且つ、前記予測された前記第１及び第２のソフトウェア実行による処理量の少なくとも一部を処理するときの前記情報処理装置の消費電力を前記処理量により変化する消費電力から予測し、
前記装置特定ステップは、前記第１又は第２のソフトウェア実行による前記予測された消費電力が規定値未満になるように、前記第２のソフトウェア実行による予測された処理量の少なくとも一部を処理する情報処理装置を特定し、
前記ソフトウェア実行制御ステップは、前記第１及び第２のソフトウェアを実行する情報処理装置による前記第２のソフトウェアの実行を停止し、且つ、前記特定した情報処理装置に前記第２のソフトウェアを割り当てる、付記１７又は１８に記載の温度制御方法。
［付記２１］
前記処理量の時間履歴は、実測した処理量の時間履歴を統計処理することで得られる、付記１７〜２０のいずれか１項に記載の温度制御方法。
［付記２２］
前記処理量の時間履歴は、一日分のソフトウェアの処理量の時間履歴を示し、且つ、前記一日分のソフトウェアの処理量の時間履歴を、曜日又は日付ごとに分類して示し、及び、
前記消費電力予測ステップは、予測時刻に応じて、前記曜日又は日付で分類された前記一日分のソフトウェアの処理量の時間履歴を選択し、前記選択された処理量の時間履歴から前記処理量を予測する、付記１７〜２１のいずれか１項に記載の温度制御方法。
［付記２３］
前記ソフトウェア実行制御ステップは、前記ソフトウェアを実行する情報処理装置の前記予測された消費電力が規定値未満になるように、前記予測された処理量を処理する情報処理装置が無い場合、実行の優先順位が低いソフトウェアを停止する、付記１７〜２２のいずれか１項に記載の温度制御方法。
［付記２４］
前記装置特定前記ソフトウェア実行制御ステップは、前記停止中又は未割り当てのソフトウェアを実行させたとき予測された消費電力が規定値未満になるように、予測された処理量を処理する情報処理装置を特定し、
前記ソフトウェア実行制御前記ソフトウェア実行制御ステップは、前記特定した情報処理装置に前記停止中のソフトウェア又は未割り当てのソフトウェアを割り当てる、付記２３に記載の温度制御方法。
【符号の説明】
【０１７２】
１０    温度制御装置
５０    電源
１１０〜２４０    情報処理装置
４１０    電力監視装置
４２０    コンピュータ
４３０    負荷分散装置
８００    処理量の時間履歴情報
８５０    消費電力情報
９００    装置設定情報
９５０    装置管理情報
９８０    ソフトウェア実行優先順位情報
９８５    キュー情報
９９０    プログラム
【図１】
2011039967.tif 000003
【図２】
2011039967.tif 000004
【図３Ａ】
2011039967.tif 000005
【図３Ｂ】
2011039967.tif 000006
【図４】
2011039967.tif 000007
【図５】
2011039967.tif 000008
【図６】
2011039967.tif 000009
【図７】
2011039967.tif 000010
【図８】
2011039967.tif 000011
【図９】
2011039967.tif 000012
【図１０】
2011039967.tif 000013
【図１１】
2011039967.tif 000014
【図１２】
2011039967.tif 000015
【図１４】
2011039967.tif 000016
【図１５】
2011039967.tif 000017
【図１６】
2011039967.tif 000018
【図１７】
2011039967.tif 000019
【図１８】
2011039967.tif 000020
【図１９】
2011039967.tif 000021
【図２０】
2011039967.tif 000022
【図２１】
2011039967.tif 000023
【図２２】
2011039967.tif 000024
【図２３】
2011039967.tif 000025
【図２４】
2011039967.tif 000026
【図２５】
2011039967.tif 000027
【図２６】
2011039967.tif 000028
【図１３】
2011039967.tif 000029