(57)【要約】電源投入制御装置は、電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、複数の電子機器における複数段階の処理の実行タイミングを指定する。そして、本電源投入制御装置は、複数段階の処理の指定されたタイミングでの実行を複数の電子機器に指示する。
2013140532.tif 000002
【特許請求の範囲】
【請求項１】
電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定部と、
前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示する実行制御部と、
を備える電源投入制御装置。
【請求項２】
電源投入対象の電子機器が追加されたときに、追加された電子機器での前記それぞれの期間での消費電力値を取得する取得部をさらに備え、前記指定部は、前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定することを特徴とする請求項１に記載の電源投入制御装置。
【請求項３】
前記取得部は、
前記追加された電子機器の構成情報を取得する構成取得部と、
前記取得した構成情報と前記追加された電子機器について過去に前記消費電力値を取得したときの構成情報とを比較する比較部と、
前記取得した構成情報と前記過去に前記消費電力値を取得したときの構成情報とが一致しない場合に、前記追加された電子機器の前記それぞれの期間での消費電力値を新たに取得する電力値取得部と、を有し、
前記指定部は、前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定することを特徴とする請求項２に記載の電源投入制御装置。
【請求項４】
前記指定部は、前記電源投入対象の電子機器が削除されたときに、削除された電子機器以外の電子機器での前記それぞれの期間での消費電力値を基に、前記削除された電子機器以外の電子機器における前記複数段階の処理の実行タイミングを再度指定することを特徴とする請求項１に記載の電源投入制御装置。
【請求項５】
電源の投入対象の複数の電子機器と、
電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定部と、
前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示する実行制御部と、
を備える情報処理装置。
【請求項６】
コンピュータが、
電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定ステップと、
前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示するステップと、
を実行する電源投入制御方法。
【請求項７】
電源投入対象の電子機器が追加されたときに、追加された電子機器での前記それぞれの期間での消費電力値を取得するステップをさらに実行し、
前記指定ステップでは、前記コンピュータは前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する、請求項６に記載の電源投入制御方法。
【請求項８】
前記追加された電子機器の構成情報を取得するステップと、
前記取得した構成情報と前記追加された電子機器について過去に前記消費電力値を取得したときの構成情報とを比較するステップと、
前記取得した構成情報と前記過去に前記消費電力値を取得したときの構成情報とが一致しない場合に、前記追加された電子機器の前記それぞれの期間での消費電力値を新たに取得するステップと、をさらに実行し、
前記指定ステップでは、前記コンピュータは前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する、請求項７に記載の電源投入制御方法。
【請求項９】
前記電源投入対象の電子機器が削除されたときに、削除された電子機器以外の電子機器での前記それぞれの期間での消費電力値を基に、前記削除された電子機器以外の電子機器における前記複数段階の処理の実行タイミングを再度指定するステップをさらに実行する請求項６に記載の電源投入制御方法。
【請求項１０】
コンピュータに、
電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定ステップと、
前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示するステップと、
を実行させるためのプログラム。
【請求項１１】
電源投入対象の電子機器が追加されたときに、追加された電子機器での前記それぞれの期間での消費電力値を取得するステップをさらに実行させ、
前記指定ステップでは、前記コンピュータに前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定させる、ための請求項１０に記載のプログラム。
【請求項１２】
前記追加された電子機器の構成情報を取得するステップと、
前記取得した構成情報と前記追加された電子機器について過去に前記消費電力値を取得したときの構成情報とを比較するステップと、
前記取得した構成情報と前記過去に前記消費電力値を取得したときの構成情報とが一致しない場合に、前記追加された電子機器の前記それぞれの期間での消費電力値を新たに取得するステップと、をさらに実行させ、
前記指定ステップでは、前記コンピュータに前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定させる、ための請求項１１に記載のプログラム。
【請求項１３】
前記電源投入対象の電子機器が削除されたときに、削除された電子機器以外の電子機器での前記それぞれの期間での消費電力値を基に、前記削除された電子機器以外の電子機器における前記複数段階の処理の実行タイミングを再度指定するステップをさらに実行させるための請求項１０に記載のプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電子機器の電源投入制御装置、電源投入制御方法およびプログラムに関する。
【背景技術】
【０００２】
プロセッサ（ＣＰＵ：Central Processing Unit）、メモリ等を搭載したシステムボード（ＳＢ：System Board）を複数備えた大規模な情報処理装置が利用されることがある。【０００３】
図２３に、大規模な情報処理装置として、複数のＳＢ１０を備えたサーバ３００を例示する。サーバ３００は、複数のＳＢ１０と、ＳＢ１０間を接続するクロスバー（ＸＢ）３１０とを有する。さらに、サーバ３００には、サーバ３００の運用を管理する制御装置３２０が接続される。【０００４】
サーバ３００では、１または複数個のＳＢ１０を含むドメインを有している。ドメインは、１または複数個のＳＢ１０を例えばＸＢ３１０で接続したものである。ドメインは、例えば、サーバ３００が提供するサービスに応じて設けられ、各ドメインに要求されるサービスの性能等に応じて、適切な数のＳＢ１０を有する。ドメインは、サーバ３００のリソースということもできる。【０００５】
制御装置３２０は、ドメインへの電源の投入等を実行し、サーバ３００の運用を管理する。制御装置３２０は、サービスプロセッサと呼ばれる、サーバ３００で例示されるコンピュータシステム管理用の情報処理装置であってもよい。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特公平６−１００９４９号公報
【特許文献２】特開昭６１−２９４５３０号公報
【特許文献３】特開昭６０−２５８６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、サーバ３００のような大規模な構成のシステムにおいて、合計の消費電力を制御する第１の方法としては、複数のポートを有するシステムでのポート毎の電源投入方法が知られている。この方法では、ポート（＃n-1）に連なる入出力装置に電源投入指示を与えた後、そのポート（＃n-1）からの投入完了の応答を待って、次のポート（＃ｎ）の電源投入指示を与える。しかし、第１の方法では、大規模システムにおいては電源の投入に長時間を要するという問題がある。【０００８】
この問題を解決するため、第２の方法は、システム内の複数個の装置を部分個に分割する。そして、第２の方法は、分割された部分個を電源の投入単位として、それぞれのポートに接続し、装置毎、またはポート毎の電力消費のピークが重ならないように、各ポート間でタイミングをずらして、電源を投入することが提案されている。【０００９】
しかし、単に電源を投入するタイミングをずらす処理を行う場合、電源投入後の起動処理の過程で実行される複数段階の処理それぞれにおける消費電力についての配慮が十分でないため、起動処理の遅延量が大きくなってしまう場合がある。【００１０】
１つの側面では、本発明は、複数の電子機器を含む装置において、電源投入後の起動処理過程で実行される複数段階の処理それぞれにおける消費電力に配慮した制御を行うことを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、次の電源投入制御装置の構成によって例示される。すなわち、本電源投入制御装置は、電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、複数の電子機器における複数段階の処理の実行タイミングを指定する。そして、本電源投入制御装置は、複数段階の処理の指定されたタイミングでの実行を複数の電子機器に指示する。
【発明の効果】
【００１２】
１実施形態による、電源投入制御装置によれば、複数の電子機器を含む装置において、電源投入後の起動処理過程で実行される複数段階の処理それぞれにおける消費電力に配慮した制御を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の電源投入制御装置を備えたサーバの構成を例示する図である。
【図２】電源投入制御装置の機能ブロック図の例示である。
【図３】ＳＢ構成／電力テーブルの構成を例示する図である。
【図４】電源投入制御装置によるドメイン毎の消費電力値の計測処理を例示するフローチャートである。
【図５】正規化された時間間隔で計測された消費電力値の時系列順の推移を例示する柱状グラフの図である。
【図６】ＳＢ構成／電力テーブルの消費電力値のレコードを例示する図である。
【図７】電源投入制御装置によるドメイン毎の電源投入タイミングの算出処理を例示するフローチャートである。
【図８】複数ドメインの消費電力値を足し合わせた結果を例示する図である。
【図９】図８の足し合わせた消費電力値の時系列順の推移を例示する柱状グラフの図である。
【図１０】複数ドメインの消費電力値を、投入時間差を与えて足し合わせた結果を例示する図である。
【図１１】図１０の足し合わせた消費電力値の時系列順の推移を例示する柱状グラフの図である。
【図１２】電源投入制御装置によるドメイン毎の消費電力値の計測処理を例示するフローチャートである。
【図１３】図１２の処理で取得された、フェーズ毎の消費電力値のレコードを例示する図である。
【図１４】フェーズ毎の消費電力ピーク値の時系列順の推移を例示する柱状グラフの図である。
【図１５】複数ドメインのフェーズ毎の消費電力ピーク値を重ね合わせた結果の時系列順の推移を例示する柱状グラフの図である。
【図１６】フェーズ毎の消費電力ピーク値に基づく、ドメイン毎の各フェーズの実行タイミングの算出処理を例示するフローチャートである。
【図１７】所定のフェーズを逐次実行した場合の、フェーズ毎の消費電力ピーク値の時系列順の推移を例示する柱状グラフの図である。
【図１８】逐次実行フラグの付与処理の詳細を例示するフローチャートである。
【図１９】逐次実行フェーズ指定テーブルと逐次実行スケジュールテーブルとの関連を例示する図である。
【図２０】逐次実行フラグによる複数ドメインの電源投入処理を例示するフローチャートである。
【図２１】ドメイン構成が変更された場合のサーバ構成を例示する図である。
【図２２】ドメイン構成変更時の処理を例示するフローチャートである。
【図２３】従来のサーバの概略構成図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、一実施形態に係る電源投入制御装置について説明する。以下の実施形態の構成は例示であり、本電源投入制御装置は実施形態の構成には限定されない。
【００１５】
以下、図１から図２２の図面に基づいて、電源投入制御装置を説明する。
＜実施例１＞
〔サーバ構成〕
図１は、本実施形態の電源投入制御装置２０を備えたサーバ１００の構成図である。図１のサーバ１００は、複数のシステムボード（以下、“ＳＢ”とも称す）１０を備える。サーバ１００は、単一あるいは複数のＳＢ１０により、ドメインを構築する。サーバ１００は、例えば、提供するサービスの運用形態に応じて、複数のドメインに分割して運用できる。つまり、サーバ１００のドメインは、サーバ１００のサービス、あるいは機能を提供するリソースの単位であり、ＳＢ１０は、ドメインを構築するリソースの単位と考えることができる。ただし、一つのＳＢ１０が一つのドメインであってもよい。ＳＢ１０が電子機器の一例である。また、ドメインが複数の電子機器の一例である。
【００１６】
図１に例示するサーバ１００では、単一のＳＢ１０が単一のドメインを構築している。例えば、ＳＢ＃０がドメイン＃０、ＳＢ＃１がドメイン＃１、ＳＢ＃２がドメイン＃２にそれぞれ対応している。図１に例示するサーバ１００の各ＳＢ１０は、クロスバースイッチ３１等により、相互に接続可能である。各ＳＢ１０はクロスバースイッチ３１を介してドメイン内の接続構築を行うことにより、サービス形態に応じたドメインを構築する。
【００１７】
図１のサーバ１００は、ＳＢ１０の他、電力計１１、電源投入制御装置２０を含む。サーバ１００は、図示しない電源から電力供給を受ける。サーバ１００に供給された電力は、サーバ１００内で分岐され、ＳＢ１０、電源投入制御装置２０等に供給される。本実施形態の電源投入制御装置２０を備えたサーバ１００では、各ＳＢ１０に供給される電力の電源投入は、ドメイン単位で行われる。各ドメインでは、ドメインに電力が供給されている状態で、ＳＢ１０の組み込み／切り離しが行える。ただし、サーバ１００が図１の構成に限定されるわけではない。
【００１８】
また、サーバ１００の用途としては様々なシステムを例示できる。例えば、サーバ１００は、データベースサーバ、ファイルサーバ、Ｗｅｂサーバ、アプリケーションプログラムの実行用のサーバ等として機能する情報処理装置である。また、サーバ１００は、インターネット上のコンピュータ群であるクラウドの一部であってもよい。また、サーバ１００は、プラントや工場等に設けられた制御用コンピュータ、気象観測用コンピュータ、実験設備管理用のコンピュータ等の情報処理装置であってもよい。サーバ１００は、電源投入対象となる複数の装置を備える情報処理装置であればよい。
【００１９】
ＳＢ１０は、１以上のプロセッサ（ＣＰＵ：Central Processing Unit）、主記憶装置、外部記憶装置等を含む。また、ＳＢ１０は例えばトランジスタ等のスイッチを有する電源投入回路を含む。ＳＢ１０の電源投入回路では、電源投入制御装置２０からのコマンド、指示信号等により電源投入制御が行われる。
【００２０】
ＳＢ１０の１以上のプロセッサは、主記憶装置等に格納された各種プログラムにしたがって処理を行う。主記憶装置は、ＳＢ１０のプロセッサが各種プログラムやデータを記憶する。主記憶装置は、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）を含む。外部記憶装置は、各種のプログラムおよび各種のデータ等を格納する。外部記憶装置は、ＨＤＤ（Hard Disk Drive）、ソリッドステートドライブを含む。ソリッドステートドライブは、例えば、フラッシュメモリを含む。
【００２１】
ＳＢ１０は、外部記憶装置、あるいはＲＯＭにＯＳ（Operating System）および各種プログラムが導入されることにより、要求される機能を提供する。なお、ＳＢ１０は、サービス形態に応じてプロセッサ、メモリ等を増減可能としてもよい。ＳＢ１０に挿抜可能なメモリユニットやプロセッサユニット等によって、ＳＢ１０の資源を増減可能とすることができる。
【００２２】
電力計１１は、ＳＢで消費される電力を計測する。電力計１１は、例えば電源投入以降にＳＢ１０へ流れる電流を検知し、検知された電流値を電力値に換算するようにしてもよい。
【００２３】
本実施形態では、電力計１１は、例えば、ＳＢ１０の電力供給路に実装され、ＳＢ１０と電力計１１で計測された消費電力値とは一対一で対応付けられている。なお、電力計１１は、対応するＳＢ１０の消費電力値が計測できればよく、例えば、サーバ１００内の分岐路に電力計１１を設置し、ＳＢ１０毎の消費電力を計測する形態であってもよい。この場合、例えば、ＳＢ１０は、予めＳＢ１０の識別情報と電力計１１の識別情報とを対応付けた管理テーブル等を備え、電力計１１で計測された消費電力値と、対応するＳＢ１０の識別情報とを一対一で対応付けるようにすればよい。
【００２４】
電力計１１は、対応付けられたＳＢ１０の消費電力を所定の時間間隔で計測する。ここで所定の時間間隔とは、電源投入から運用状態に至るサーバ１００の起動動作が完了するまでの消費電力の時系列変化を追従して計測できる時間間隔である。この所定の時間間隔として、サーバ１００が備える資源の規模、容量、処理速度等に応じて適正なものが選択できる。
【００２５】
電力計１１で計測されたＳＢ１０毎の消費電力値は、例えば、電力計１１の識別情報ととともに、それぞれ電源投入制御装置２０に通知される。電源投入制御装置２０は、ＳＢ１０の識別情報と電力計１１の識別情報とを対応付けた管理テーブルから、電力計１１の識別情報を基に、ＳＢ１０毎の消費電力値を特定すればよい。ただし、電源投入制御装置２０へ通知される消費電力値は、例えば、電力計１１内に保存された後、一定の周期で電源投入制御装置２０に通知されるようにしてもよい。また、電力計１１で計測した消費電力値を対応するＳＢ１０に引き渡し、該ＳＢ１０から一定の周期で電源投入制御装置２０に通知するようにしてもよい。この場合には、電源投入制御装置２０は、ＳＢ１０の識別情報とともに、ＳＢ１０毎の消費電力値をＳＢ１０から取得すればよい。なお、一定の周期とは、電力計１１で計測する消費電力の時間間隔以上の時間間隔であればよい。
【００２６】
電源投入制御装置２０は、ＣＰＵ（Central Processing Unit）２１、主記憶部２２、補助記憶部２３、通信部２４を含む。ＣＰＵ２１、主記憶部２２、補助記憶部２３、通信部２４は、接続バスＢＵＳ１に接続され、接続バスＢＵＳ１を介して相互に各種データの授受を行う。
【００２７】
電源投入制御装置２０では、ＣＰＵ２１が補助記憶部２３に記憶されたプログラムを主記憶部２２の作業領域に実行可能に展開し、プログラムの実行を通じて電源投入制御を行う。
【００２８】
ＣＰＵ２１は電源投入制御装置２０全体を制御する。ＣＰＵ２１は、主記憶部２２に実行可能に展開されたプログラムにしたがって処理を行う。主記憶部２２は、ＣＰＵ２１が実行するプログラム、あるいは、ＣＰＵ２１が処理するデータを記憶する。主記憶部２２は、例えば、ＲＡＭやＲＯＭを含む。補助記憶部２３は、各種のプログラムおよび各種のデータを格納する。補助記憶部２３には、ＯＳ、各種プログラム、各種データ等が格納される。ＯＳは、通信インターフェースプログラムを含み、通信部２４を介して接続されるＳＢ１０等との間でデータを送受信する。補助記憶部２３は、例えば、ＨＤＤ、ＳＳＤ等である。また、電源投入制御装置２０は、可搬記録媒体の駆動装置を含むことができる。通信部２４は、ＳＢ１０や外部の接続装置等とのインターフェースである。外部の接続装置には、例えば、ネットワークスイッチを介して接続されたＬＡＮ上の、他の情報処理装置、記憶装置が含まれる。
【００２９】
電源投入制御装置２０は、ＳＢ１０毎に計測された消費電力値の時系列変化に基づいて、ドメイン毎に電源投入のタイミングをずらす起動制御を実行する。サーバ１００では、電源投入制御装置２０により、サーバ１００全体の消費電力のピークが許容値、あるいは目標値を超過しないように電力負荷が平準化される。
〔電源投入制御装置の機能ブロック構成〕
図２に、電源投入制御装置２０の機能ブロック図を例示する。電源投入制御装置２０は、ドメイン構成制御部２０１、電力計測部２０２、電力変化計算部２０３、電源投入タイミング生成部２０４、電源投入制御部２０５の各機能部を有する。以上の各機能部による処理は、電源投入制御装置２０のＣＰＵ２１が、主記憶部２２上に実行可能に展開されたコンピュータプログラムを実行することで提供される。
【００３０】
また、電源投入制御装置２０は、上記各機能部が参照し、あるいは、管理するデータとして、ＳＢ構成／電力テーブル２１１、複数ドメイン投入時の許容ピーク電力テーブル２１２等のテーブルを有する。ＳＢ構成／電力テーブル２１１等のテーブルは、例えば、電源投入制御装置２０の主記憶部２２、補助記憶部２３、あるいは、ネットワーク上の記憶装置またはデータベース機能を提供する他の情報処理装置の外部記憶装置等に格納される。
【００３１】
複数ドメイン投入時の許容ピーク電力テーブル２１２には、例えば、システム管理者等によって設定された許容ピーク電力値が格納される。システム管理者等が、ネットワークスイッチを介して接続されたネットワーク上の管理端末等を操作し、複数ドメイン投入時の許容ピーク電力テーブル２１２に許容ピーク電力値を設定できるようにすればよい。複数ドメイン投入時の許容ピーク電力テーブル２１２に格納される許容ピーク電力値は、例えば、サーバ１００としての許容できる消費電力のピーク電力値である。後述の電力変化計算部２０３により、許容ピーク電力値を閾値として、電源投入のタイミングが算出される。許容ピーク電力値が所定の許容値の一例である。
【００３２】
ドメイン構成制御部２０１は、システム管理者等の操作により、設定されたシステム要求に応じてドメインを変更し、ドメインの接続構築を行う。図１で既に説明したように、電源投入制御装置２０を備えるサーバ１００は、提供するサービスの運用形態に応じて、複数のドメインに分割して運用が可能である。サーバ１００は、図示しないネットワークスイッチを介して接続されたネットワーク上の管理端末等と接続する。システム管理者等は管理端末等を介し、ネットワーク上の他のクライアントに提供するサービスでのシステムの規模、処理量、処理負荷等に応じてサーバ１００のドメインを設定する。ドメイン構成制御部２０１は、設定されたドメインにしたがい、ＳＢ１０を最小構成単位とするドメインの接続構築を行う。サーバ１００は複数のドメインを備え、各ドメインは単一または複数のＳＢ１０を有する。図２のサーバ１００は、ドメイン＃０がＳＢ１０（ＳＢ＃０）に対応付けられ、ドメイン＃ｎがＳＢ１０（ＳＢ＃ｍ）に対応付けられている。
【００３３】
なお、システム管理者等により設定されたドメインは、ドメインを識別するドメイン識別情報がドメインを構築するＳＢ１０の識別情報と共に、後述するＳＢ構成／電力テーブル２１１に格納される。図２に例示するサーバ１００では、“ドメイン＃０”、“ドメイン＃ｎ”等がドメイン識別情報の例示であり、“ＳＢ＃０”、“ＳＢ＃ｍ”等がＳＢ１０の識別情報の例示である。ドメイン識別情報およびＳＢ１０の識別情報は、サーバ１００において、一意に特定される識別情報である。
【００３４】
電力計測部２０２は、各ＳＢ１０に実装された電力計１１と通信し、電力計１１が計測したＳＢ１０の消費電力値を一定の周期で取得し、ＳＢ構成／電力テーブル２１１に格納する。電力計測部２０２が取得した消費電力値は、後述するように、電力計１１と一対一の関係で対応付けられたＳＢ１０の識別情報（ＳＢ識別情報）と共にＳＢ構成／電力テーブル２１１に格納される。なお、ＳＢ１０の消費電力値は、電力計１１が計測した時間間隔でＳＢ構成／電力テーブル２１１に格納される。電力計測部２０２は、電力計１１が計測する時間間隔で消費電力値を取得し、取得した消費電力値を、電力計１１が計測する時間間隔とは異なる周期でＳＢ構成／電力テーブル２１１に格納するようにしてもよい。
【００３５】
また、電力計測部２０２は、電力計１１が実装されたＳＢ１０毎に、ＣＰＵ，メモリ搭載数等といったＳＢ構成情報を取得し、電力計１１と一対一の関係で対応付けられたＳＢ１０の識別情報と共にＳＢ構成／電力テーブル２１１に格納する。電力計測部２０２が取得するＳＢ毎の消費電力値とＳＢ構成情報は、例えば、ＳＢ１０のプロセッサを介して取得するようにしてもよい。この場合、例えば、ＳＢ１０のプロセッサが、電力計１１で所定の時間間隔で取得した消費電力値をメモリに格納し、格納された消費電力値にＳＢ構成情報を付加して所定の周期で電力計測部２０２に通知すればよい。電力計測部２０２は、ＳＢ１０のプロセッサを介して通知された消費電力値とＳＢ構成情報とを取得し、ＳＢ１０の識別情報に対応付けてＳＢ構成／電力テーブル２１１に格納すればよい。
【００３６】
電力変化計算部２０３は、ＳＢ構成／電力テーブル２１１に格納されたＳＢ１０毎の消費電力値に基づいて、各ＳＢ１０が同時投入された場合の消費電力値の合計値を算出する。そして、電力変化計算部２０３は、算出された消費電力値の合計値と複数ドメイン投入時の許容ピーク電力テーブル２１２に格納された許容ピーク電力値との比較を行うことで、複数ドメインの電源投入タイミングを求める。
【００３７】
具体的には、電力変化計算部２０３は、算出された消費電力値の合計値が許容ピーク電力値未満の場合には、複数ドメインの電源投入タイミングを同時とする。ここで、「同時とする」とは、複数ドメインの電源投入タイミングを通常通りとし、時間差を設けないで複数ドメインに電源投入することをいう。
【００３８】
一方、電力変化計算部２０３は、算出された消費電力値の合計値が許容ピーク電力値以上の場合には、算出された消費電力値の合計値が許容ピーク電力値未満となるように、複数ドメイン間での投入時間差を設定する。例えば、消費電力値を計測する所定の時間間隔（以下、計測時間間隔）を単位時間ｔとし、複数ドメイン間での電源投入タイミングに、単位時間ｔの整数倍の時間差を設定する。そして、電力変化計算部２０３は、単位時間ｔの整数倍で時間差を設定して、各ドメインに電源投入した場合の消費電力値の合計値を算出し、この合計値と許容ピーク電力値との比較を再び行う。電力変化計算部２０３は、単位時間ｔの整数倍で時間差を設定して、消費電力値の合計値が許容ピーク電力値未満となる場合には、設定した単位時間ｔの整数倍を、複数ドメインの電源投入を行う投入時間差とする。ここで、電力変化計算部２０３は、算出された消費電力値の合計値が許容ピーク電力値以上の場合には、複数ドメイン間での電源投入タイミングにさらに単位時間ｔの整数倍を追加し、消費電力値の合計値を算出し、許容ピーク電力値と比較する処理を繰り返す。電力変化計算部２０３は、算出された消費電力値の合計値が許容ピーク電力値未満となるまで以上の処理を繰り返し、電源投入のための投入時間差を求める。電力変化計算部２０３で求められた投入時間差は、電源投入タイミング生成部２０４に引き渡される。
【００３９】
なお、電源投入タイミングの時間差は、例えば、複数ドメインの一つに対して、設定すればよい。例えば、サーバ１００が２つのドメインを有する場合には、２つのドメインに対して、上記電源投入タイミングを求める処理を実行すればよい。また、ドメインが３以上の場合には、電力変化計算部２０３は、例えば、複数のドメイン中で、ピーク電力値が最も大きいドメインを選択し、上記時間差を設定して、消費電力値の合計値を算出する処理を繰り返せばよい。そして、時間がシステムで設定される最大時間差に達しても、算出された消費電力値の合計値が許容ピーク電力値以上の場合には、電力変化計算部２０３は、さらに投入時間差を設定する次のドメインを選択すればよい。さらに投入時間差を設定する次のドメインとしては、電力変化計算部２０３は、例えば、複数のドメイン中で、ピーク電力値が次に大きいドメインを選択すればよい。このようにして、電力変化計算部２０３は、３以上のドメインに対しても、順次、電源投入タイミングの投入時間差を求めればよい。そして、電力変化計算部２０３は、算出された消費電力値の合計値が許容ピーク電力値未満となるまで、投入時間差を設定するドメインの選択と投入時間差を求める処理とを繰り返せばよい。
【００４０】
電源投入タイミング生成部２０４は、電力変化計算部２０３で求められた投入時間差に基づいて、複数ドメインに対する電源投入タイミングを生成する。例えば、電源投入タイミング生成部２０４は、タイマ機能を備え、タイマ機能により計数されたタイマ時間と電力変化計算部２０３で求められた投入時間差とが一致するタイミングで電源投入トリガを生成すればよい。例えば、電源投入トリガは、ドメイン毎に生成される。電源投入タイミング生成部２０４で生成された電源投入トリガは、電源投入の対象となるドメインの識別情報と共に電源投入制御部２０５に引き渡される。
【００４１】
電源投入制御部２０５は、電源投入タイミング生成部２０４で生成された電源投入トリガに基づいて、電源投入対象となるドメインの電源投入を行う。電源投入制御部２０５は、ＳＢ構成／電力テーブル２１１に格納されたドメイン識別情報と、該ドメイン識別情報に対応付けられたＳＢ識別情報を取得する。そして、電源投入制御部２０５は、電源投入タイミング生成部２０４から引き渡された、電源投入の対象となるドメインの識別情報から該ドメイン識別情報に対応付けられたＳＢ識別情報を特定する。電源投入制御部２０５は、特定されたＳＢ識別情報を有するＳＢ１０に対し、電源投入タイミング生成部２０４で生成された電源投入トリガに基づき電源投入を行う。
〔テーブルの構成〕
図３に、ＳＢ構成と電力との関係を示すテーブル２１１を例示する。図３のＳＢ構成／電力テーブル２１１には、ドメイン構成制御部２０１を介して設定されたドメイン識別情報および、ドメイン識別情報に対応付けられたＳＢ識別情報が格納される。また、ＳＢ構成／電力テーブル２１１には、電力計測部２０２を介して取得したＳＢ構成情報が格納される。さらに、ＳＢ構成／電力テーブル２１１には、電力計測部２０２を介して取得した消費電力値がＳＢ識別情報に関連付けて格納される。
【００４２】
ＳＢ構成／電力テーブル２１１は、サーバ１００に収納されるＳＢ１０と同数のレコードを備える。ＳＢ構成／電力テーブル２１１は、ドメイン識別情報と、ＳＢ識別情報と、ＣＰＵ数と、メモリ搭載数と、各ＳＢで電源投入から所定の計測時間間隔毎に計測された消費電力値を格納する消費電力値フィールドとを有する。したがって、本実施形態では、ＳＢ構成／電力テーブル２１１のドメイン識別情報とＳＢ識別情報との対応関係により、各ドメインに含まれるＳＢ１０が特定される。
【００４３】
ドメイン識別情報は、サーバ１００のドメインを一意に特定する識別情報である。また、ＳＢ識別情報は、ドメインを構築するＳＢ１０の識別情報である。本実施形態では、ＳＢ識別情報は、例えば、サーバ１００内でユニークに定義される識別情報である。ただし、ＳＢ識別情報は、例えば、サーバ１００が接続されるネットワーク上でユニークな識別情報であってもよい。ＳＢ識別情報として、サーバ１００内の通し番号を含む情報、ＳＢ１０のＩＰ（Internet Protocol）アドレス、あるいはＭＡＣ（Media Access Control）アドレス等が例示できる。
【００４４】
ＣＰＵ数は、ＳＢ識別情報で特定されるＳＢ１０に搭載されるＣＰＵユニットの数である。メモリ搭載数は、ＳＢ識別情報で特定されるＳＢ１０に搭載されるメモリユニットの数である。図１で説明したように、ＳＢ１０は、サービス形態に応じてＣＰＵ、メモリ等が増減可能であり、ＳＢ１０に搭載されるＣＰＵ数、メモリ搭載数に応じて消費電力値が増減する。なお、メモリ搭載数に代えて、メモリ容量を特定するようにしてもよい。
【００４５】
図３の消費電力値のフィールドには、各ＳＢ１０への電源投入時から電力計１１で計測された消費電力値が、電力計１１の計測時間間隔で所定の格納期間分格納される。ＳＢ構成／電力テーブル２１１に格納される消費電力値の格納期間は、例えば、対象となるＳＢ１０の電源投入から運用状態に至るサーバ１００の起動動作が完了するまでの期間とすることができる。
〔処理フロー〕
以下、図４から図１１を参照し、本実施形態の電源投入制御処理について説明する。図４は、電源投入制御装置２０によるドメイン毎の消費電力値の計測処理のフローチャートの例示である。電源投入制御装置２０は、主記憶部２２に実行可能に展開されたコンピュータプログラムによりドメイン毎の消費電力値の計測処理を実行する。図４に例示の計測処理は、主に電力計測部２０２で実行される。図４のフローチャートにおいて、計測処理の開始時としては、例えば、ドメイン構成制御部２０１の処理完了時を例示できる。
【００４６】
電源投入制御装置２０は、ドメイン構成制御部２０１によってＳＢ構成／電力テーブル２１１に格納されたドメイン識別情報と該ドメイン識別情報と対応付けられたＳＢ識別情報の取得を行う。そして、電源投入制御装置２０は、ドメイン毎の電源投入を実行する（Ｓ１１）。複数ドメインの電源投入の順に限定はない。例えば、電源投入制御装置２０は、ドメイン識別情報として付与された識別番号が若い順に電源投入すればよい。図１のサーバ１００の例では、電源投入制御装置２０は、ドメイン＃０、ドメイン＃１、ドメイン＃２の順に電源投入を行えばよい。
【００４７】
電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１から取得したドメイン識別情報から、該ドメインを構築しているＳＢ１０を特定する。電源投入制御装置２０は、特定したＳＢ１０に対し電源投入を指示する。電源投入指示を受けたＳＢ１０の電源投入回路は、電源投入指示に応じて電源投入を実行する。
【００４８】
電源投入が行われたＳＢ１０では、例えば、実装された電力計１１により電源投入以降の消費電力値が計測される。電力計１１は、例えば、電源投入からサーバ１００の起動動作が完了するまでの計測期間、所定の計測時間間隔で消費電力値の時系列変化を計測する。
【００４９】
次に、Ｓ１２では、電源投入制御装置２０は、Ｓ１１で電源投入を行ったドメインの消費電力値の取得を行う。電源投入制御装置２０は、例えば、ドメインに含まれる各ＳＢ１０に実装された電力計１１と通信し、電力計１１が計測した該ＳＢ１０の消費電力値を取得する。また、電源投入制御装置２０は、電力計１１が実装されたＳＢ１０毎に、ＣＰＵ，メモリ搭載数等のＳＢ構成情報を取得する。電源投入制御装置２０は、取得したＳＢ構成情報と消費電力値とを、ＳＢ構成／電力テーブル２１１の該当するＳＢ識別情報のレコードに格納する。なお、電源投入制御装置２０は、電力計１１で計測した消費電力値を、対応するＳＢ１０のプロセッサを介して一定の周期で取得するとしてもよい。ＳＢ構成／電力テーブル２１１に格納される消費電力値は、電力計１１が計測した計測時間間隔毎に格納される。また、ＳＢ構成／電力テーブル２１１に格納される消費電力値の格納期間は、例えば、上記計測の期間、すなわち、電源投入からサーバ１００の起動動作が完了するまでの期間とすればよい。  次に、Ｓ１３では、電源投入制御装置２０は、電源未投入のドメインが存在するか否かを判定する。電源投入制御装置２０は、電源未投入のドメインが存在する場合（Ｓ１３、“Ｙｅｓ”）には、次に電源投入を行うドメインを指定し（Ｓ１４）、Ｓ１１−Ｓ１３の処理を繰り返して実行する。一方、電源投入制御装置２０は、電源未投入のドメインが存在しない場合（Ｓ１３、“Ｎｏ”）には、消費電力値の計測処理を終了する。
【００５０】
Ｓ１１−Ｓ１４の処理により、電源投入制御装置２０は、例えば、図１に例示するサーバ１００に収納される全ＳＢ１０の消費電力値を取得できる。Ｓ１１−Ｓ１４の処理により、ＳＢ１０毎の消費電力値は、ドメイン識別情報およびＳＢ識別情報、ＳＢ構成情報に対応付けられてＳＢ構成／電力テーブル２１１に格納される。
【００５１】
図５、６に、図４の消費電力値の計測処理で取得されたＳＢ１０の消費電力値の推移を例示する。図５は、図１に例示するＳＢ＃０で取得された消費電力値の電力計１１の計測時間間隔での時系列順の推移を例示する柱状グラフである。図６は、ＳＢ構成／電力テーブル２１１に格納されたＳＢ＃０の消費電力値のレコード例である。なお、図１の例では、ドメイン＃０は単一のＳＢ１０を有しており、ドメイン＃０が有するＳＢ１０のＳＢ識別情報はＳＢ＃０である。
【００５２】
図５において、縦軸は電力値（Ｗ）であり、横軸は電力計１１の計測時間間隔（単位時間）ｔで正規化された時刻である。各時刻での電力値は、計測時間間隔ｔ毎に電力計１１で計測されたＳＢ＃０の消費電力値である。図５では、ｔ０が電源投入のときであり、ｔ２５がサーバ１００の起動動作の完了のときである。
【００５３】
図５に例示されたＳＢ＃０の消費電力値の推移から、電源投入からサーバ１００の起動動作が完了するまでの期間に、３つの消費電力ピーク値が存在することがわかる。すなわち、時系列順に最初の消費電力ピーク値は時刻ｔ７、次の消費電力ピーク値は時刻ｔ１５、最後の消費電力ピーク値は時刻ｔ２２で計測されている。また各消費電力ピーク値の大きさは、ｔ１５＞ｔ２２＞ｔ７の時刻で計測された順である。
【００５４】
本実施形態の電投入制御処理では、図４に例示する消費電力値の計測処理で得られたドメイン毎の消費電力値に基づいて、ドメイン毎の電源投入のタイミングを計算する。電源投入のタイミングは、例えば、サーバ１００全体として図５に例示する消費電力の合計値が、所定の閾値を超えないように算出する。ここで所定の閾値は、複数ドメイン投入時の許容ピーク電力テーブル２１２に格納された許容電力ピーク値である。
【００５５】
図７に、電源投入制御装置２０によるドメイン毎の電源投入タイミングの算出処理のフローチャートを例示する。電源投入制御装置２０は、主記憶部２２に実行可能に展開されたコンピュータプログラムによりドメイン毎の電源投入タイミングの算出処理を実行する。電源投入タイミングの算出処理は、主に電力変化計算部２０３で実行される。
【００５６】
図７のフローチャートにおいて、ドメイン毎の電源投入タイミング算出処理の開始は、例えば、図４に例示するドメイン毎の消費電力値の計測処理の終了時を例示できる。
【００５７】
電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１に格納されたドメイン識別情報と該ドメイン識別情報に対応付けられたＳＢ識別情報とを確認する（Ｓ１５）。具体的には、電源投入制御装置２０は、各ドメインと各ドメインに所属するＳＢ１０との対応関係を求める。そして、電源投入制御装置２０は、ドメイン識別情報に対応付けられたＳＢ識別情報のレコードから、ＳＢ１０毎の消費電力値を取得し、ドメイン毎の電力変化を計算する（Ｓ１６）。Ｓ１６で実行されるドメイン毎の電力変化の計算は、ドメインに所属するＳＢ１０で計測された消費電力値を足し合わせ、ドメインとしての消費電力値を求める処理である。
【００５８】
図６のレコード例に示されるように、ＳＢ１０の消費電力値は、電力計１１が計測する計測時間間隔毎に格納されている。したがって、電源投入制御装置２０は、ドメイン毎の消費電力値を求めるため、ドメインに所属する各ＳＢ１０の、計測時間間隔で指定される区間毎に計測された消費電力値を合計すればよい。説明例としてドメインにＳＢ＃Ｘ、ＳＢ＃Ｙが所属するとする。この場合、ＳＢ＃Ｘのレコードに格納された時刻ｔ１の消費電力値ｐＸと、ＳＢ＃Ｙのレコードに格納された時刻ｔ１の消費電力値ｐＹを足し合わせることで、ドメインとしての消費電力値が算出できる。ドメインとしての時刻ｔ１の消費電力値は（ｐＸ＋ｐＹ）となる。各時刻での、ＳＢ＃Ｘの消費電力値とＳＢ＃Ｙの消費電力値を足し合わせることにより、電源投入からサーバ１００の起動動作が完了するまでの計測期間の、ドメインとしての消費電力値の時系列データが取得できる。時刻は、例えば、計測時間間隔で指定される区間の先頭、中央、あるいは末尾等とすればよい。１ドメイン内のＳＢ１０の数が３以上の場合も、同様に、同一時刻での消費電力を足し合わせればよい。
【００５９】
また、例えば、図１の構成例では、各ドメインは一つのＳＢ１０を有する。図１のドメイン構成場合には、電源投入制御装置２０は、Ｓ１６の処理を省略してもよい。  図７に例示するフローチャートに戻り、Ｓ１７では、電源投入制御装置２０は、複数ドメインの同時電源投入時の電力変化の計算を行う。Ｓ１７で実行される複数ドメインの同時投入時の電力変化の計算は、サーバ１００が有する各ドメインで計測された消費電力値を足し合わせ、サーバ１００全体の消費電力値を求める処理である。
【００６０】
ドメイン毎の消費電力値は既にＳ１６で求められている。Ｓ１７では、電源投入制御装置２０は、Ｓ１６で求められたドメイン毎の消費電力値を計測時間間隔で指定される区間毎に足し合わせる。その結果として、電源投入制御装置２０は、電源投入からサーバ１００の起動動作が完了するまでの計測期間の、サーバ１００としての消費電力値の時系列データを取得する。ここで、図１に例示するドメイン＃０とドメイン＃１を説明例とする。ドメイン＃０の時刻ｔ１の消費電力値ｐ０と、ドメイン＃１の時刻ｔ１の消費電力値ｐ１を足し合わせることで、時刻ｔ１におけるサーバ１００全体の消費電力値が算出される。時刻ｔ１におけるサーバ１００全体の消費電力値は（ｐ０＋ｐ１）である。各時刻のドメイン＃０の消費電力値とドメイン＃１の消費電力値を足し合わせることにより、電源投入からサーバ１００の起動動作が完了するまでの、サーバ１００としての消費電力値の時系列データが取得できる。なお、Ｓ１７の処理において、複数ドメイン間で、消費電力値の計測時刻が完全には一致しなくてもよい。例えば、計測時間間隔で区切られた同一の区間中のドメイン＃０の消費電力値とドメイン＃１の消費電力値を足し合わせればよい。つまり、同一区間で計測された消費電力を同一時刻で計測されたものと見なしてもよい。Ｓ１７では、例えば、同一時刻（計測時間間隔で区切られた同一区間）で計測されたドメイン＃０、ドメイン＃１の消費電力値を加算したため、Ｓ１７で算出した消費電力値は、ドメイン＃０とドメイン＃１の電源投入を同時タイミングで行った場合の消費電力値と言うことができる。つまり、Ｓ１７で計算された消費電力値の時系列は、サーバに構築された各ドメインについて同時に電源投入したときの消費電力推移といえる。サーバ１００内のドメイン数が３以上の場合も、同様に、同一時刻（上記同一区間）での消費電力を足し合わせればよい。
【００６１】
図８、図９に、図１に例示するドメイン＃０とドメイン＃１を説明例とした場合の算出結果を例示する。図１の例では、ドメイン＃０は一つのＳＢ＃０であり、ドメイン＃１は一つのＳＢ＃１である。このため、図８、図９の算出結果の例では、ドメイン＃０とドメイン＃１の算出結果として、ＳＢ＃０とＳＢ＃１の消費電力値を足し合わせている。なお、図８の算出例は、ＳＢ構成／電力テーブル２１１に格納されたＳＢ＃０、ＳＢ＃１のレコードから、消費電力値を抽出したものである。また、図９は、ＳＢ＃０（ドメイン＃０）とＳＢ＃１（ドメイン＃１）の消費電力値を足し合わせ、複数ドメイン同時投入時の消費電力値の推移を柱状グラフで例示した図である。
【００６２】
図８の算出例において、ＳＢ＃０に格納された消費電力値がドメイン＃０の消費電力値であり、ＳＢ＃１に格納された消費電力値がドメイン＃１の消費電力値である。それぞれの消費電力値は、電力計１１の計測時間間隔を単位時間として正規化された時刻毎に、電源投入時から計測された時系列で格納されている。時刻ｔ０から時刻ｔ２５までの期間が、例えば、電源投入からサーバ１００の起動動作が完了するまでの期間である。
【００６３】
図８の最下行（図例では“電力和”）には、各時刻で計測されたＳＢ＃０の消費電力値とＳＢ＃１の消費電力値とを足し合せた消費電力値が格納されている。最下行に格納された消費電力値は、複数ドメイン同時投入時に計測される消費電力値ということができる。
【００６４】
図９において、縦軸は電力値（Ｗ）であり、横軸は電力計１１の計測時間間隔で正規化された時刻である。図中、領域Ｇ１はＳＢ＃０の消費電力値の推移であり、領域Ｇ２はＳＢ＃０とＳＢ＃１との消費電力値を足し合わせて算出された、複数ドメイン同時投入時の消費電力値の推移である。図９の柱状グラフにおいて、時刻ｔ１６で足し合された消費電力値は、許容電力ピーク値Ｐａを超える値である。つまり、Ｓ１７の計算結果から、サーバ１００内の各ドメインについて同時に電源投入したときの消費電力値は、許容電力ピーク値を超えてしまうことがわかる。
【００６５】
図７に例示するフローチャートに戻り、Ｓ１８では、電源投入制御装置２０は、複数ドメインの同時投入時に閾値を超えている箇所の検索を行う。ここで、閾値は、複数ドメイン投入時の許容ピーク電力テーブル２１２に格納された許容電力ピーク値である。
【００６６】
電源投入制御装置２０は、複数ドメイン投入時の許容ピーク電力テーブル２１２に格納された許容電力ピーク値を取得し、検索のための閾値とする。そして、Ｓ１７で求めた消費電力値の時系列データと閾値との相互比較を行い、閾値を超えている箇所（時刻）を検索する。Ｓ１８の検索処理により、例えば、図８に例示する、許容電力ピーク値Ｐａを超える箇所（時刻）が検知できる。
【００６７】
次に、Ｓ１９では、電源投入制御装置２０は、複数ドメインの同時投入時に閾値を超えている箇所が存在するかを判定する。電源投入制御装置２０は、Ｓ１８の処理の結果、閾値を超えている箇所が存在する場合（Ｓ１９、“Ｙｅｓ”）には、Ｓ２０に移行する。一方、電源投入制御装置２０は、Ｓ１８の処理の結果、閾値を超えている箇所が存在しない場合（Ｓ１９、“Ｎｏ”）には、電源投入タイミングの算出処理を終了する。閾値を超えている箇所が存在しない場合には、複数ドメインの同時投入を行っても、閾値である許容電力ピーク値を超える箇所が存在しない。このため、サーバ１００全体の消費電力値の合計値は、許容電力ピーク値内に抑えることができる。
【００６８】
Ｓ２０では、電源投入制御装置２０は、複数ドメイン間における電源投入の投入時間差を指定し、Ｓ１７−Ｓ１９の処理を繰り返す。Ｓ２０で指定される投入時間差は、例えば、ＳＢ構成／電力テーブル２１１に格納される消費電力値の時間間隔を単位時間とすることができる。ＳＢ構成／電力テーブル２１１に格納される消費電力値の時間間隔は、正規化された時間間隔ｔである。電源投入制御装置２０は、正規化された時間間隔ｔを単位時間として複数ドメイン間における電源投入の投入時間差ＤＴを指定する。Ｓ２０で指定される投入時間差ＴＤは、ｎ＝１を初期値として、Ｓ１７−Ｓ２０の処理を繰り返す度に、一つインクリメントした数ｎで算出され、投入時間差ＴＤ＝ｎｔとすればよい。なお、正規化された時間間隔ｔは、電力系１が電力を測定する計測時間間隔と同一でもよい。また、計測時間間隔よりも長い時間、例えば、計測時間間隔の整数倍でもよい。
【００６９】
図８に例示するように、各ＳＢ（ドメイン）の消費電力値は、正規化された時間間隔ｔで時系列に整列し、格納されている。Ｓ２０で投入時間差ｎｔが指定された場合、電源投入制御装置２０は、格納されているＳＢ間の時刻を相対的にｎｔだけずらし、消費電力の足し合わせを行う。  このように、電源投入制御装置２０は、投入時間差をＳＢ構成／電力テーブル２１１に格納される消費電力値の時間間隔の整数倍で指定し、指定された投入時間差での複数ドメインの電源投入時の消費電力値を計算する。そして、再び、許容電力ピーク値を閾値として、指定された投入時間差で計算された合計消費電力値に許容電力ピーク値を超えている箇所が存在するか否かの判定処理を行う。
【００７０】
判定処理の結果、許容電力ピーク値を超えている箇所が存在する場合には、指定する投入時間差ｎｔの単位時間数ｎを一つインクリメントし、複数ドメインの合計消費電力が許容電力ピーク値を超えている箇所が存在しなくなるまで、Ｓ１７−Ｓ１９の処理を繰り返す。この結果、電源投入制御装置２０は、合計消費電力が許容電力ピーク値を超えない条件で、複数ドメインの電源投入時の投入時間差を取得できる。
【００７１】
なお、電源投入制御装置２０は、Ｓ２０で指定した投入時間差を、例えば、主記憶部２２の作業領域等に保持することができる。主記憶部２２の作業領域等に保持された投入時間差は、電源投入制御装置２０の電源投入タイミング生成部２０４に引き渡される。電源投入タイミング生成部２０４は、電力変化計算部２０３で求められた投入時間差に基づいて、複数ドメインに対する電源投入タイミングを生成し、電源投入制御部２０５に引き渡す。そして、電源投入制御部２０５は、電源投入タイミング生成部２０４で生成された電源投入タイミングに基づいて対象となるドメインの電源投入を実行すればよい。この結果、電源投入制御装置２０は、サーバ１００全体の消費電力値を許容ピーク電力値以下に抑えることができる。
【００７２】
図１０，１１に、Ｓ１７−Ｓ２０の処理結果を例示する。図１０は、図８の算出例において、投入時間差Ｔを３ｔとして、ＳＢ＃０に対して、ＳＢ＃１の消費電力値の時刻を相対的に遅らせた処理例である。図１１は、図１０のＳＢ＃０（ドメイン＃０）とＳＢ＃１（ドメイン＃１）の消費電力値を足し合わせ、複数ドメインの電源投入時の消費電力値の推移を柱状グラフで例示した図である。
【００７３】
図１０の処理例において、ＳＢ＃１の消費電力値では、時刻ｔ０、ｔ１、ｔ２の消費電力値として“０”が格納されている。そして、時刻ｔ３の消費電力値として、“０．６５”が格納されている。ＳＢ＃１の時刻ｔ３の消費電力値は、図８に例示されたＳＢ＃１の消費電力値で、時刻ｔ０で計測された消費電力値である。
【００７４】
図１０の最下行（図例では“電力和”）には、投入時間差分遅らせたＳＢ＃１の消費電力値と、ＳＢ＃０の消費電力値とを足し合わせた消費電力値が格納されている。最下行の、時刻ｔ０、ｔ１、ｔ２に格納された消費電力値は、ＳＢ＃０の時刻ｔ０、ｔ１、ｔ２に格納された消費電力値と同じ値である。図１０の最下行に例示されるように、Ｓ１７−Ｓ２０の処理では、Ｓ２０で指定された投入時間差分遅らせたＳＢ＃１の消費電力値と、ＳＢ＃０の消費電力値とが足し合わされる。その結果、最下行に例示するように、投入時間差分だけ電源投入を遅らせた、消費電力値が計算される。最下行に例示する消費電力値は、複数ドメインの電源投入時に計測される消費電力値となる。
【００７５】
図１１において、縦軸は電力値（Ｗ）であり、横軸は正規化された時刻である。図中、領域Ｇ１はＳＢ＃０の消費電力値の推移である。また、領域Ｇ３は、ＳＢ＃０の消費電力値と、Ｓ２０で指定された投入時間差で電源投入のタイミングを遅らせたＳＢ＃１の消費電力値とを足し合わせて算出された、複数ドメインの電源投入時の消費電力値の推移である。図１１の柱状グラフでは、電源投入からサーバ１００の起動動作が完了するまでの期間（時刻ｔ０から時刻ｔ２５までの期間）において、複数ドメインの電源投入時の消費電力値は、許容電力ピーク値Ｐａを超えないことがわかる。
【００７６】
図１０、１１に例示するように、投入時間差ＤＴを３ｔとして複数ドメインのうちの一つの電源投入タイミングを他のドメインから相対的に遅らせることにより、サーバ１００全体の消費電力値を許容ピーク電力値以下に抑えることができる。
【００７７】
以上、説明したように、本実施形態の電源投入制御装置２０は、電源投入からサーバ１００の起動動作が完了するまでの期間でドメイン毎の消費電力値を取得し、ＳＢ構成／電力テーブル２１１に格納する。消費電力値の取得は、所定の時間間隔で行われる。そして、電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１に格納されたドメイン毎の消費電力値から、複数ドメインの同時電源投入時の消費電力値の変化を計算する。そして、電源投入制御装置２０は、複数ドメイン投入時の許容ピーク電力テーブル２１２に格納された許容ピーク電力値を閾値として、計算された複数ドメインの同時電源投入時の消費電力値が許容ピーク電力値を超えるか否かの判定を行う。そして、判定の結果、複数ドメインの同時電源投入時の消費電力値が許容ピーク電力値を超えない場合には、電源投入制御装置２０は、複数ドメインの同時電源投入、すなわち、ドメイン間に電源投入の時間差を設定しない通常の電源投入を実行する。一方、判定の結果、複数ドメインの同時電源投入時の消費電力値が許容ピーク電力値を超える場合では、複数ドメイン間で電源投入タイミングをずらすため、電源投入時間差を計算する。電源投入時間差は、複数ドメインの電源投入時の消費電力値が許容ピーク電力値を超えない値とする。電源投入制御装置２０は、複数ドメインの電源投入時の計算された投入時間差に基づくタイミングで電源投入を実行することにより、サーバ１００全体の消費電力値を許容ピーク電力値以下に抑えることができる。
【００７８】
なお、図７では、Ｓ１９−Ｓ２０の処理により、例えば、２つのドメイン＃０とドメイン＃１との間の投入時間差を算出した。ドメイン数が３以上の場合には、例えば、消費電力の大きい順に、第１のドメインを選択して、Ｓ１９−２０の処理によって、投入時間差を設定すればよい。そして、第１のドメインについて、投入時間差を所定限度まで設定しても、合計消費電力値が許容電力ピーク値を超える場合に、さらに、第１のドメインの次に消費電力の大きい第２のドメインを選択し、投入時間差を設定すればよい。以上の処理によって、複数のドメインに対して、順次、投入時間差を所定限度まで設定すればよい。ここで、投入時間差設定する所定限度は、例えば、図６に示した格納期間の末尾（図６では、ｔ２５）を例示できる。
＜実施例２＞
次に、図１２から図２０の図面に基づいて、実施例２の電源投入制御装置２０を説明する。実施例１の電源投入制御装置２０は、複数ドメインの同時投入時に合計の消費電力が閾値を超えている場合に、複数ドメインの電源投入時のタイミングを計算する。そして、計算されたタイミング、すなわち、電源投入時間差で複数のドメインへ電源を投入する。
【００７９】
実施例２（以下、本実施形態とも称する）では、電源投入からサーバ１００の起動動作が完了するまでの起動処理期間において、各ドメインがそれぞれ実行すべき一連の複数の処理それぞれにおける消費電力を考慮した処理の実行タイミングの制御を行うこととする。
【００８０】
すなわち、起動処理の過程で行われる複数のドメインのそれぞれで実行される各処理の消費電力に基づいて、各ドメインにける各処理の実行タイミングを調整する。
【００８１】
なお、起動処理期間において行われる一連の複数の処理を行う各期間をフェーズと称することとする。従って、電源投入後、複数のフェーズを経て、起動処理が完了する。各フェーズで行われる処理をフェーズ内処理ともいう。各フェーズ内処理は、電源投入制御装置２０からＳＢ１０への指令によって実行される。また、各フェーズ内処理が完了すると、ＳＢ１０は、フェーズ内処理の完了を電源投入制御装置２０へ報告する。フェーズが、複数段階の処理の一例であり、フェーズ内処理が各段階の処理の一例である。また、各フェーズが実行される期間が複数段階の処理に対応するそれぞれの期間の一例である。
【００８２】
フェーズ毎に処理内容が異なるため、消費電力もフェーズ間で相違する。複数ドメインの合計消費電力のピーク値を抑制するためには、フェーズ（フェーズ内処理）ごとの消費電力に着目することが効果的である。したがって、電源投入制御装置２０は、他のフェーズと比較して消費電力の多いフェーズについて、複数ドメイン間でフェーズ内処理の実行タイミングを制御すればよい。
【００８３】
電源投入時のサーバ１００の起動処理期間に段階的に実行されるフェーズとしては、実行順に、電源投入、ＰＯＳＴ（Power-On Self Test）、ｂｏｏｔの各フェーズを例示できる。例えば、電源投入フェーズでは、ＳＢ１０に含まれる複数のプロセッサ、メモリ等への電源投入および初期化処理が行われる。ＰＯＳＴフェーズでは、ＳＢ１０の資源に対する自己診断テスト処理が行われる。ｂｏｏｔフェーズでは、ＯＳや各種プログラムの起動処理が行われる。ＳＢ１０は、各フェーズのフェーズ内処理完了毎に、電源投入制御装置２０に処理完了を通知する。
【００８４】
図５の例では、電源投入からサーバ１００の起動動作が完了するまでの期間に、３つの消費電力ピーク値が存在する。図５の各消費電力ピーク値は、それぞれ電源投入フェーズ、ＰＯＳＴフェーズ、ｂｏｏｔフェーズでの消費電力ピーク値に対応する。時刻ｔ７で計測された消費電力ピーク値が電源投入フェーズに対応し、時刻ｔ１５の消費電力ピーク値がＰＯＳＴフェーズに対応し、時刻ｔ２２の消費電力ピーク値がｂｏｏｔフェーズに対応している。各消費電力ピーク値の大きさは、ｔ１５＞ｔ２２＞ｔ７の順である。
【００８５】
本実施形態の電源投入制御装置２０は、例えば、ＳＢ１０から通知されるフェーズ毎の処理完了通知に基づいて、フェーズ毎の消費電力ピーク値を検出する。そして、電源投入制御装置２０は、フェーズ毎の消費電力ピーク値に基づいて、複数ドメインのフェーズ内処理の実行タイミングを計算する。例えば、複数ドメインの消費電力が許容電力ピーク値Ｐａ未満のフェーズでは、複数ドメインについて、フェーズ内処理が並列で実行される。一方、複数ドメインの消費電力が許容電力ピーク値Ｐａを超えるフェーズでは、複数ドメインの１以上ドメインについて、フェーズ内処理のタイミングの実行が、他のドメインでの当該フェーズ内処理完了まで遅延される。
【００８６】
以上のようなフェーズ毎に分割された処理を起動するタイミングを計算する点以外の構成については、実施例２の電源投入制御装置２０およびサーバ１００の構成は、実施例１の場合と同様である。例えば、図１の構成図および図２の機能ブロック図等は、実施例２においてもそのまま適用される。
〔実施例２の処理フロー〕
図１２に、本実施形態におけるドメイン毎の消費電力値の計測処理のフローチャートを例示する。図１２に例示する計測処理のフローチャートは、Ｓ２１の処理を行う点で図４に例示する実施例１の計測処理と相違する。図１２のフローチャートでは、Ｓ１１−Ｓ１４の処理は、図４のフローチャートで既に説明しているため、説明を省略する。
【００８７】
Ｓ２１では、電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１に格納された消費電力値から、該当するドメインのフェーズ毎の消費電力ピーク値を抽出する。実施例２では、消費電力ピーク値の抽出は、該当するドメインに対応付けられたＳＢ１０毎に行われる。ＳＢ１０毎に抽出されたフェーズ毎の消費電力ピーク値を、ドメインに対応付けられた複数ＳＢ１０について足し合わせることにより、ドメインのフェーズ毎の消費電力ピーク値が求められる。
【００８８】
電源投入制御装置２０は、例えば、ＳＢ１０から通知されるフェーズ毎の処理完了通知のタイミングでＳＢ構成／電力テーブル２１１に格納された消費電力値を取得する。そして、電源投入制御装置２０は、取得した消費電力値の時刻間の相互比較を行い、最も大きい消費電力値を抽出する。さらに、電源投入制御装置２０は、抽出された最も大きな消費電力値を、処理完了通知が行われた処理フェーズの消費電力ピーク値として処理フェーズを識別する識別情報とともに記録する。処理フェーズを識別する識別情報は、例えば、電源投入フェーズ、ＰＯＳＴフェーズ、ｂｏｏｔフェーズを特定できればよい。電源投入制御装置２０は、抽出された消費電力ピーク値を、例えば、主記憶部２２の作業領域等にフェーズ毎の消費電力値のレコードとして一時的に記録すればよい。
【００８９】
電源投入制御装置２０は、Ｓ２１の処理をＳ１２の処理と並列して実行してもよい。つまり、電源投入制御装置２０は、Ｓ１２での消費電力取得時に、消費電力ピーク値を求めてもよい。例えば、電源投入制御装置２０は、Ｓ１２で取得する消費電力値の格納に伴い、時刻間の相互比較を時系列順で逐次実行し、最も大きい消費電力値を抽出する。電源投入制御装置２０は、抽出された最も大きな消費電力値を処理完了通知のタイミングで主記憶部２２の作業領域等に一時的に記録するとともに、次の処理フェーズでの相互比較を開始する。電源投入制御装置２０は、抽出された最も大きな消費電力値を処理完了通知が行われた処理フェーズの消費電力ピーク値として処理フェーズを識別する識別情報とともに記録すればよい。電源投入装置２０は、以上の処理を処理完了通知のタイミングでＳ１２の処理と並列して実行することにより、フェーズ毎の消費電力ピーク値を取得できる。
【００９０】
また、ＳＢ１０が、Ｓ２１の処理を実行してもよい。ＳＢ１０がＳ２１の処理を実行する場合、電源投入制御装置２０は、図１２に例示のＳ２１の処理を省略できる。例えば、電源投入制御装置２０は、Ｓ２１の処理を実行する代わりに、Ｓ１２の消費電力の取得処理において、ＳＢ１０からフェーズ毎の消費電力ピーク値を取得すればよい。電源投入制御装置２０は、ＳＢ１０毎に取得したフェーズ毎の消費電力ピーク値から、ドメイン別のフェーズ毎の消費電力ピーク値を求めればよい。
【００９１】
Ｓ２１の処理で取得された、フェーズ毎の消費電力値のレコード例を図１３に例示する。図１３のレコード例では、ＳＢ識別情報（ＳＢ＃０，ＳＢ＃１，・・・，ＳＢ＃ｎ）毎にレコードが形成され、消費電力ピーク値が格納される。消費電力ピーク値は、フェーズ毎に格納される。図中、「電源投入」は電源投入フェーズ、「ＰＯＳＴ」はＰＯＳＴフェーズ、「Ｂｏｏｔ」はｂｏｏｔフェーズに対応する。図１２の計測処理の結果、サーバ１００のＳＢ１０と同数の、フェーズ毎の消費電力値のレコードが取得できる。
【００９２】
なお、Ｓ２１の処理をＳＢ１０に実行させた場合では、図１３に例示するフェーズ毎の消費電力値のレコード例に、ドメイン識別情報、ＳＢ識別情報、ＳＢ構成情報を追加したレコードが、ＳＢ構成／電力テーブル２１１に格納される。すなわち、フェーズ毎の消費電力値のレコードは、図３に例示するＳＢ構成／電力テーブル２１１のレコード（図３の各行）と同様の構成とすればよい。
【００９３】
図１４に、図１３のＳＢ＃０の消費電力ピーク値の推移を例示する。図１４は、フェーズ毎の消費電力ピーク値の時系列順の推移を例示する柱状グラフである。図１４において、縦軸は電力値（Ｗ）であり、横軸はフェーズ単位で正規化した時間である。Ｓ２１で取得された消費電力ピーク値は、電源投入フェーズ、ＰＯＳＴフェーズ、ｂｏｏｔフェーズの時系列順に配列されている。図１４に例示する消費電力ピーク値は、それぞれのフェーズで計測された消費電力値の内で最も大きな消費電力値である。図１４において、ＰＯＳＴフェーズの消費電力ピーク値が最も大きく、次いでｂｏｏｔフェーズの消費電力ピーク値が大きく、電源投入フェーズが最も消費電力ピーク値が小さいことがわかる。
【００９４】
図１５に、図１３のＳＢ＃０の消費電力ピーク値とＳＢ＃１の消費電力ピーク値とをフェーズ毎に重ね合わせた合計の消費電力ピーク値の推移を例示する。図１５は、各ＳＢのフェーズ毎の消費電力ピーク値を電源投入フェーズ、ＰＯＳＴフェーズ、ｂｏｏｔフェーズの時系列順に重ね合わせた柱状グラフである。図１５の縦軸は電力値（Ｗ）であり、横軸はフェーズ単位で正規化した時間である。
【００９５】
図１５中、領域Ｇ４はＳＢ＃０のフェーズ毎の消費電力ピーク値の推移であり、領域Ｇ５はＳＢ＃１のフェーズ毎の消費電力ピーク値の推移である。領域Ｇ６は、ＳＢ＃０とＳＢ＃１との各フェーズの消費電力ピーク値を重ね合わせた推移である。領域Ｇ６は、つまり、ＳＢ＃０とＳＢ＃１に対して、同時に電源投入した場合の消費電力ピーク値の推移といえる。図１に例示するように、ドメインとＳＢ１０とが一対一で対応付けられる場合では、複数ドメインへの電源同時投入時のフェーズ毎の消費電力ピーク値の推移といえる。また、図１５の場合には、ＳＢ＃０とＳＢ＃１に対して、同時に電源投入した後、各フェーズの処理の実行タイミングは調整されていない。したがって、各フェーズの処理は、ＳＢ＃０とＳＢ＃１とにおいて、並列に実行されることになる。なお、以降、図１５の説明では、ドメインとＳＢ１０とは一対一で対応付けられているとして説明する。
【００９６】
図１５の柱状グラフにおいて、ＳＢ＃０のＰＯＳＴフェーズの消費電力ピーク値とＳＢ＃１のＰＯＳＴフェーズの消費電力ピーク値の合計値は、許容電力ピーク値Ｐａを超えることがわかる。つまり、ドメイン＃０であるＳＢ＃０とドメイン＃１であるＳＢ＃１とを同時に電源投入させた場合、足し合わされた消費電力ピーク値は、ＰＯＳＴフェーズで許容電力ピーク値Ｐａを超える値となることがわかる。
【００９７】
一方、ＳＢ＃０の電源投入フェーズの消費電力ピーク値とＳＢ＃１の電源投入フェーズの消費電力ピーク値の合計値は、許容電力ピーク値Ｐａ以下であり、許容電力ピーク値Ｐａまでマージンがあることがわかる。同様に、ＳＢ＃０のｂｏｏｔフェーズの消費電力ピーク値とＳＢ＃１のｂｏｏｔフェーズの消費電力ピーク値の合計値は、許容電力ピーク値Ｐａ以下である。ただし、ｂｏｏｔフェーズでは、許容電力ピーク値Ｐａまでのマージンは、電源投入フェーズよりも少ないことがわかる。
【００９８】
図１５に例示する柱状グラフから、ＰＯＳＴフェーズで許容電力ピーク値Ｐａを超えないように、ＰＯＳＴフェーズの処理の実行タイミングに、ドメイン＃０（ＳＢ＃０）とドメイン＃１（ＳＢ＃１）との間で時間差を設定すればよいことがわかる。複数ドメインに対して、電源投入が同時であったとしても、実行される処理の期間が互いにずれていると、複数ドメインの合計の消費電力が低減できる場合があるからである。一方、許容電力ピーク値Ｐａ以下の電源投入フェーズ、ｂｏｏｔフェーズは、実行タイミングを調整しないで、並列実行が可能であることがわかる。なお、本実施例では、複数ドメイン間での電源投入に対して、「同時投入」という用語を使用し、複数ドメインで実行されるフェーズごとの処理については、「並列実行」という用語を使用する。フェーズごとの処理は、複数ドメイン間で仮に同時に開始しても、同時に終了するとは限らないからである。
【００９９】
図１６に、フェーズ毎の消費電力ピーク値に基づく、ドメイン毎の各フェーズの実行タイミングの算出処理のフローチャートを例示する。電源投入タイミングの算出処理は、主に電力変化計算部２０３で実行される。
【０１００】
図１６のフローチャートにおいて、フェーズ毎の消費電力ピーク値に基づくドメイン毎の各フェーズの実行タイミング算出処理の開始は、例えば、図１２に例示するドメイン毎の消費電力値の計測処理の終了時とすることができる。
【０１０１】
電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１に格納されたドメイン識別情報と該ドメイン識別情報と対応付けられたＳＢ識別情報の確認を行う（Ｓ２２）。具体的には、各ドメインと各ドメインに所属するＳＢ１０との対応関係を求める。そして、ドメイン識別情報に対応付けられたＳＢ識別情報から、各ドメインに所属するＳＢ１０で取得されたフェーズ毎の消費電力ピーク値を取得し、ドメイン毎の電力変化の計算を行う（Ｓ２３）。
【０１０２】
ＳＢ１０毎の、フェーズ毎の消費電力ピーク値は、Ｓ２１で取得されている。電源投入制御装置２０は、各ドメインに所属するＳＢ１０について、フェーズ毎の消費電力ピーク値を取得し、フェーズ毎にドメインに所属するＳＢ１０の消費電力ピーク値を足し合わせ、ドメイン別のフェーズ毎の消費電力ピーク値を計算する。なお、既に、図１２で説明したように、Ｓ２１の処理をＳＢ１０に実行させる場合では、ＳＢ構成／電力テーブル２１１に、フェーズ毎の消費電力値が格納される。
【０１０３】
Ｓ２４では、電源投入制御装置２０は、複数ドメインの同時電源投入時の電力変化の計算を行う。すなわち、電源投入制御装置２０は、Ｓ２３で計算されたドメイン別のフェーズ毎の消費電力ピーク値を、サーバ１００内のドメインについて、フェーズ毎に足し合わせ、サーバ１００全体としての消費電力ピーク値の合計を計算する。Ｓ２４の処理の結果としては、例えば、各ドメインが単一のＳＢ１０を有する場合には、図１５の柱状グラフで例示される消費電力ピーク値の合計が求められる。
【０１０４】
図１６のフローチャートに戻り、Ｓ２５では、電源投入制御装置２０は、複数ドメインの同時投入時に閾値を超えている箇所を検索する。ここで、閾値は、複数ドメイン投入時の許容ピーク電力テーブル２１２に格納された許容電力ピーク値である。電源投入制御装置２０は、複数ドメイン投入時の許容ピーク電力テーブル２１２に格納された許容電力ピーク値を取得し、検索のための閾値とする。そして、電源投入制御装置２０は、Ｓ２４で求めたフェーズ毎の消費電力ピーク値の合計と閾値との相互比較を行い、閾値を超えている箇所（フェーズ）を検索する。Ｓ２５の検索処理により、電源投入制御装置２０は、例えば、図１５の許容電力ピーク値Ｐａを超えるＰＯＳＴフェーズを検知できる。
【０１０５】
図１６のフローチャートに戻り、Ｓ２６では、電源投入制御装置２０は、複数ドメインの同時投入時に消費電力ピーク値の合計が閾値を超えている処理フェーズが存在するか否かを判定する。電源投入制御装置２０は、Ｓ２６の判定において、Ｓ２５の処理の結果、閾値を超えている処理フェーズが存在する場合（Ｓ２６、“Ｙｅｓ”）には、Ｓ２７に移行する。一方、電源投入制御装置２０は、Ｓ２５の処理の結果、閾値を超えている処理フェーズが存在しない場合（Ｓ２６、“Ｎｏ”）には、電源投入タイミングの算出処理を終了する。複数ドメインの同時電源投入を行っても、閾値である許容電力ピーク値を超える処理フェーズが存在しないため、サーバ１００全体の消費電力ピーク値の合計値は、許容電力ピーク値内に抑えることができる。
【０１０６】
Ｓ２７では、Ｓ２７１−Ｓ２７３で詳述するように、電源投入制御装置２０は、逐次実行フラグの付与処理を行う。逐次実行フラグは、フェーズ毎に複数ドメインの同時処理を実行するか否かのフラグであり、フェーズ毎に付与される。例えば、図１５に例示された、ＳＢ＃０の消費電力ピーク値とＳＢ＃１の消費電力ピーク値とを重ね合わせた柱状グラフを用いて、逐次実行フラグを説明する。既に述べたように、図１５は、各ドメインが単一のＳＢ１０を有する場合の消費電力ピーク値の例である。図１５において、複数ドメインの同時電源投入を行った場合、ＰＯＳＴフェーズでは消費電力ピーク値の合計が許容電力ピーク値Ｐａを超えるため、ＰＯＳＴフェーズの処理は並列実行できない。しかしながら、電源投入フェーズおよびｂｏｏｔフェーズでは、消費電力ピーク値の合計が許容電力ピーク値Ｐａを超えないため、複数ドメインの同時電源投入後の電源投入フェーズおよびｂｏｏｔフェーズは、並列実行可能である。
【０１０７】
図１６のＳ２７では、電源投入制御装置２０は、フェーズの並列実行の可否を判定し、消費電力ピーク値の合計が許容電力ピーク値Ｐａを超えるフェーズには、逐次実行フラグの付与を行う。逐次実行フラグが付与されたフェーズでは、複数ドメイン間でフェーズ内処理が並列に実行されず、ドメイン毎に逐次フェーズ内処理が実行される。一方、消費電力ピーク値の合計が許容電力ピーク値Ｐａを超ないフェーズには、フェーズ内処理の並列実行が可能なため、逐次実行フラグの付与は行わない。逐次実行フラグが付与されていないフェーズでは、複数ドメイン間で処理が並列実行される。電源投入制御装置２０のＣＰＵ２１は、指定部として、上記Ｓ２５−Ｓ２７の処理を実行する。
【０１０８】
図１５の例では、電源投入フェーズおよびｂｏｏｔフェーズには、逐次実行フラグは付与されず、ＰＯＳＴフェーズでは消費電力ピーク値の合計が許容電力ピーク値Ｐａを超えてしまうため、逐次実行フラグが付与される。図１５の例では、電源投入制御装置２０は、複数ドメインの同時電源投入を行った上で、電源投入フェーズでは複数ドメイン間で処理を並列実行する。次に処理されるＰＯＳＴフェーズでは、電源投入制御装置２０は、ドメイン毎に逐次ＰＯＳＴフェーズを実行する。電源投入制御装置２０は、一のドメインがＰＯＳＴフェーズ処理を起動し、そのドメインでのＰＯＳＴフェーズ処理の完了を待つ。そして、一のドメインがＰＯＳＴフェーズ処理を実行している期間、電源投入制御装置２０は、他のドメインのＰＯＳＴフェーズ処理を待機させる。そして、電源投入制御装置２０は、一のドメインのＰＯＳＴフェーズの処理完了後に他のドメインのＰＯＳＴフェーズ処理を起動する。さらに、他のドメインのＰＯＳＴフェーズの処理完了後に、電源投入制御装置２０は、次に処理させるｂｏｏｔフェーズおいて、再び、複数ドメイン間で処理を並列実行する。
【０１０９】
図１７に、ＰＯＳＴフェーズを逐次実行した場合の、フェーズ毎の消費電力ピーク値の推移を例示する。図１７は、上述したように、図１５で例示される消費電力ピーク値の合計を有する構成での処理例である。すなわち、図１７は、電源投入フェーズおよびｂｏｏｔフェーズで処理を並列実行し、ＰＯＳＴフェーズではドメイン毎に処理を逐次実行した例である。
【０１１０】
図１７中、領域Ｇ４ａ、Ｇ４ｂ、Ｇ４ｃは、それぞれＳＢ＃０の電源投入、ＰＯＳＴ、ｂｏｏｔの各処理フェーズの消費電力ピーク値である。領域Ｇ５ａ、Ｇ５ｂ、Ｇ５ｃは、それぞれＳＢ＃１の電源投入、ＰＯＳＴ、ｂｏｏｔの各処理フェーズの消費電力ピーク値である。図１７において、電源投入フェーズの並列実行後に、ＳＢ＃０のＰＯＳＴフェーズ処理が実行されている。そして、ＳＢ＃０のＰＯＳＴフェーズ処理の処理完了後にＳＢ＃１のＰＯＳＴフェーズ処理が実行されている。ｂｏｏｔフェーズは、ＳＢ＃１のＰＯＳＴフェーズ処理の処理完了後に、並列実行されている。各フェーズでの消費電力値は、許容電力ピーク値Ｐａ以下で推移することがわかる。
【０１１１】
図１８に、逐次実行フラグの付与処理（図１６のＳ２７）の詳細なフローチャートを例示する。逐次実行フラグの付与処理は、複数ドメインの消費電力ピーク値の合計が許容電力ピーク値を超えているフェーズに対して実行される。図１８のフローチャートにおいて、Ｓ２７１では、電源投入制御装置２０は、逐次実行フラグが付与されていないドメインの内、最も消費電力ピーク値が大きいドメインを検索する。そして、電源投入制御装置２０は、検索されたドメインに逐次実行フラグを付与する。
【０１１２】
次に、Ｓ２７２では、電源投入制御装置２０は、逐次実行フラグが付与されていないドメインについて複数ドメインの消費電力ピーク値の合計値を求める。そして、Ｓ２７３では、電源投入制御装置２０は、複数ドメインの消費電力ピーク値の合計値が閾値を超えているか否かの判定を行う。ここで、閾値は許容電力ピーク値である。
【０１１３】
逐次実行フラグが付与されていないドメインについて、消費電力ピーク値の合計値が閾値を超えていない場合（Ｓ２７３、“Ｎｏ”）には、逐次実行フラグの付与処理を終了する。一方、逐次実行フラグが付与されていないドメインについて、消費電力ピーク値の合計値が閾値を超えている場合（Ｓ２７３、“Ｙｅｓ”）には、電源投入制御装置２０は、逐次実行フラグが付与されていないドメインを対象に、Ｓ２７１−２７２の処理を繰り返す。
【０１１４】
このようにして、Ｓ２７１−２７３の処理によって、逐次実行されるドメインが選択される。次に、Ｓ２７４の処理において、電源投入制御装置２０は、逐次実行フラグが付与されたドメインの実行タイミングを再設定する。Ｓ２７１−２７３の処理の結果、逐次実行フラグが付与されたドメインでのフェーズ内処理を逐次実行することも可能である。しかしながら、許容電力ピーク値を超えない範囲で、逐次実行フラグが付与されたドメインを可能な範囲で並列実行することが望ましい。サーバ１００への電源投入後の起動処理が早期に完了するからである。
【０１１５】
そこで、電源投入制御装置２０は、逐次実行フラグが付与された複数のドメインを組み合わせて、消費電力ピーク値の合計が許容電力ピーク値を超えない組みを設定する。例えば、電源投入制御装置２０は、逐次実行フラグが付与された複数のドメインの消費電力ピーク値を小さい順に、足し合わせて、消費電力ピーク値の合計が許容電力ピーク値を超えない範囲で、ドメインの組みを設定すればよい。小さな消費電力ピーク値を有するドメインが複数組み合わせられ、並列実行されることになる。逆に、電源投入制御装置２０は、逐次実行フラグが付与された複数のドメインの消費電力ピーク値を大きい順に、足し合わせて、消費電力ピーク値の合計が許容電力ピーク値を超えない範囲で、ドメインの組みを設定してもよい。この処理では、許容電力ピーク値の大きいドメインが優先して組み合わせられる。
【０１１６】
そして、以上の処理によって組み合わせた複数ドメインに実行順を設定すればよい。実行順の設定には、特に限定はない。
【０１１７】
図１６および図１８の処理による逐次実行フラグの付与結果を図１９に例示する。図１９は、逐次実行フェーズ指定テーブル２１５と逐次実行スケジュールテーブル２１６との関連を例示する図である。
【０１１８】
逐次実行フェーズ指定テーブル２１５は、各フェーズに対する逐次実行フラグを保持する。逐次実行フェーズ指定テーブル２１５は、図１６の処理によって設定され、逐次実行されるフェーズを指定する。図１９の例では、逐次実行フェーズ指定テーブル２１５は、電源投入フェーズ、ＰＯＳＴフェーズ、ｂｏｏｔフェーズに対する逐次実行フラグを有している。図１９の例では、逐次実行フェーズ指定テーブル２１５は、複数ドメインで逐次実行されるフェーズに１が設定され、複数ドメインで並列実行されるフェーズに０が設定される。
【０１１９】
また、逐次実行スケジュールテーブル２１６は、逐次実行フェーズ指定テーブル２１５で逐次実行が指定されたフェーズについて、各ドメインでのフェーズ内処理の実行タイミングを規定する。逐次実行スケジュールテーブル２１６は、逐次実行フェーズ指定テーブル２１５で逐次実行が指定されたフェーズにリンクして、設定される。図１９の例では、逐次実行フェーズ指定テーブル２１５によりＰＯＳＴフェーズに逐次実行が指定され、逐次実行スケジュールテーブル２１６がリンクされる。
【０１２０】
逐次実行スケジュールテーブル２１６の各行は、実行順のフィールドと、並列実行ドメインのフィールドを有する。実行順のフィールドには、１、２、３のように、実行順を示す番号が設定される。また、並列実行ドメインのフィールドには、各実行順について、並列実行されるドメインが指定される。したがって、図１９の例では、ＰＯＳＴフェーズにおいて、逐次実行が指定され、実行順１において、ドメイン＃０、＃１、＃２が並列実行されることが指定されている。そして、ドメイン＃０、＃１、＃２のＰＯＳＴフェーズが完了すると、実行順２において、ドメイン＃３のＰＯＳＴフェーズが実行される。つまり、逐次実行スケジュールテーブル２１６は、実行順１で指定されるドメインでのフェーズ内処理が完了したタイミングが、実行順２で指定されるドメインでのフェーズ内処理の実行開始タイミングとなることを指定する。さらに、ドメイン＃３のＰＯＳＴフェーズが完了すると、実行順３において、ドメイン＃４、＃５のＰＯＳＴフェーズが並列実行される。すなわち、実行順２で指定されるドメインでのフェーズ内処理が完了したタイミングが、実行順３で指定されるドメインでのフェーズ内処理の実行開始タイミングとなる。以上のように、逐次実行スケジュールテーブル２１６は、各実行順で指定されるドメインでのフェーズ内処理完了タイミングを次の実行順で指定されるドメインでのフェーズ内処理開始タイミングとして指定する。
【０１２１】
本実施形態の電源投入制御装置２０は、以上の処理で求められた、逐次実行フェーズ指定テーブル２１５に格納されたフェーズ毎の逐次実行フラグと、逐次実行スケジュールテーブル２１６の実行順にしたがい、各フェーズにおいて、複数ドメインのピーク電力値の合計が許容ピーク電力値を超えない範囲で、複数ドメインのフェーズ内処理を並列実行、あるいは逐次実行する。
【０１２２】
図２０に、逐次実行フラグによる複数ドメインの電源投入処理のフローチャートを例示する。図２０に例示の電源投入処理は、主に電源投入制御部２０５で、サーバ１００の各ドメインへの電源同時投入後に実行される。電源投入制御装置２０のＣＰＵ２１は、実行制御部として、図２０の処理を実行する。
【０１２３】
まず、電源投入制御装置２０は、主記憶部２２の作業領域に一時的に作成された逐次実行フェーズ指定テーブル２１５を参照し、対象となる複数ドメインの電源投入フェーズを逐次実行するか否かを判定する（Ｓ３０）。
【０１２４】
電源投入制御装置２０は、逐次実行フェーズ指定テーブル２１５に格納された電源投入フェーズの逐次実行フラグ値が“０”の場合（Ｓ３０、“Ｎｏ”）には、対象となる複数ドメインの電源投入フェーズを並列実行する（Ｓ３１）。一方、逐次実行フェーズ指定テーブル２１５に格納された電源投入フェーズの逐次実行フラグ値が“１”の場合（Ｓ３０、“Ｙｅｓ”）には、電源投入制御装置２０は、対象となる複数ドメインの電源投入フェーズを逐次実行する（Ｓ３２）。より具体的には、Ｓ３２の処理では、電源投入制御装置２０は、逐次実行スケジュールテーブル２１６の実行順に、複数ドメインの電源投入フェーズを逐次実行する。ただし、図１９に例示した逐次実行スケジュールテーブル２１６の実行順１、３のように、可能な範囲で、複数のドメインが電源投入フェーズを並列実行してよい。電源投入制御装置２０は、例えば、実行順１で指定されたドメインから、完了通知を受けると、次に、実行順２で指定されたドメインを起動する。
【０１２５】
電源投入制御装置２０は、Ｓ３１−３２で実行した、対象となる複数ドメインからの電源投入フェーズの処理完了通知を取得する。その後、電源投入制御装置２０は、主記憶部２２の作業領域に一時的に作成された逐次実行フェーズ指定テーブル２１５を参照し、対象となる複数ドメインのＰＯＳＴフェーズを逐次実行するか否かを判定する（Ｓ３３）。
【０１２６】
電源投入制御装置２０は、逐次実行フェーズ指定テーブル２１５に格納されたＰＯＳＴフェーズの逐次実行フラグ値が“０”の場合（Ｓ３３、“Ｎｏ”）には、対象となる複数ドメインのＰＯＳＴフェーズを並列実行する（Ｓ３４）。一方、逐次実行フェーズ指定テーブル２１５に格納されたＰＯＳＴフェーズの逐次実行フラグ値が“１”の場合（Ｓ３３、“Ｙｅｓ”）には、電源投入制御装置２０は、対象となる複数ドメインのＰＯＳＴフェーズを逐次実行する（Ｓ３５）。Ｓ３５の処理は、Ｓ３２の処理と同様である。
【０１２７】
電源投入制御装置２０は、Ｓ３４−３５で実行した、対象となる複数ドメインからのＰＯＳＴフェーズの処理完了通知を取得する。その後、電源投入制御装置２０は、主記憶部２２の作業領域に一時的に作成された逐次実行フェーズ指定テーブル２１５を参照し、対象となる複数ドメインのｂｏｏｔフェーズを逐次実行するか否かを判定する（Ｓ３６）。
【０１２８】
電源投入制御装置２０は、逐次実行フェーズ指定テーブル２１５に格納されたｂｏｏｔフェーズの逐次実行フラグ値が“０”の場合（Ｓ３６、“Ｎｏ”）には、対象となる複数ドメインのｂｏｏｔフェーズを並列実行する（Ｓ３７）。一方、逐次実行フェーズ指定テーブル２１５に格納されたｂｏｏｔフェーズの逐次実行フラグ値が“１”の場合（Ｓ３６、“Ｙｅｓ”）には、電源投入制御装置２０は、対象となる複数ドメインのｂｏｏｔフェーズを逐次実行する（Ｓ３８）。Ｓ３８の処理も、Ｓ３２の処理と同様である。
【０１２９】
本実施形態の電源投入制御装置２０は、フェーズ毎の消費電力ピーク値に基づいて、複数ドメインのフェーズ内処理が並列実行可能か否かを判定できる。このため、本実施形態の電源投入制御装置２０は、各ドメインの電源を同時投入し、その後の処理の実行タイミングを制御することで、電源投入後の消費電力を制御する。より具体的には、電源投入後の各フェーズのうち、許容ピーク電力値を超えるフェーズでは、複数ドメインの処理が逐次実行される。一方、許容ピーク電力値を超えないフェーズでは、複数ドメインの処理が並列実行される。したがって、電源投入制御装置２０は、フェーズ単位で逐次実行と並列実行とがきめ細かく制御可能であり、サーバ１００全体として電源投入からサーバ１００の起動動作が完了するまでの期間の増加を抑制して、サーバ１００への電源投入時の消費電力を許容ピーク電力値未満に制御することができる。
【０１３０】
さらに、図１８のＳ２７４および図１９の逐次実行スケジュールテーブル２１６に示したように、逐次実行されるフェーズにおいて逐次実行フラグが指定されたドメインに対して、複数ドメインの合計の消費電力が許容ピーク電力値を超えない範囲で、複数ドメインの処理を並列実行するように、実行順と並列実行ドメインとが設定される。したがって、逐次実行フラグが付与されたフェーズにおいても、可能な範囲で多数のドメインの処理が並列実行される。したがって、サーバ１００全体として電源投入からサーバ１００の起動動作が完了するまでの期間を短縮する可能性をさらに高めることができる。
【０１３１】
なお、以上の処理は、特定のドメインが単独では、許容ピーク電力値を超えない場合を想定している。特定のドメインが単独では、許容ピーク電力値を超える場合には、電源投入制御装置２０は、許容ピーク電力値の再設定をユーザに促す表示を行ってもよい。
【０１３２】
さらに、本実施例では、電源投入制御装置２０は、図１３に示したように、ＳＢ１０毎にフェーズ毎のピーク電力を取得し、ドメインごとに足し合わせて、ドメインのピーク電力とした。そして、電源投入制御装置２０は、図１５のように、複数ドメインでの処理の並列実行時の合計のピーク電力が、消費電力ピーク値を超えるか否かを判定した。このような処理に代えて、電源投入制御装置２０は、実施例１と同様、ＳＢ１０で計測した消費電力を計測時間間隔で収集してもよい。また、ＳＢ１０において計測時間間隔で計測した消費電力を足し合わせてドメインごとの合計消費電力を求め、合計の消費電力が、消費電力ピーク値を超えるか否かを判定してもよい。すなわち、合計の消費電力を求める場合に、実施例１と同様に、計測時間間隔で計測した消費電力値を用いて合計してもよい。例えば、電源投入制御装置２０は、図５あるいは図９で例示される、計測時間間隔で取得された消費電力の推移を合計し、フェーズごとに、合計消費電力が消費電力ピーク値を超えるか否かを判定してもよい。そして、合計消費電力が消費電力ピーク値を超えるフェーズにおいて、図１８のような逐次実行フラグを付与されたフェーズで、各ドメインの実行順と、並列実行ドメインを設定する処理を実行してもよい。計測時間間隔で計測した消費電力値を用いることで、合計消費電力が消費電力ピーク値を超えるか否かをきめ細かく判定できる。
＜実施例３＞
次に、図２１から図２２の図面に基づいて、実施例３の電源投入制御装置２０を説明する。実施例３（以下、本実施形態とも称する）では、ＳＢ構成／電力テーブル２１１に格納されたドメイン構成と、電源投入タイミングの計算処理で取得したドメイン構成とが相違する場合の電源投入制御処理を例示する。
【０１３３】
サーバ１００を運用する場合、例えば、ドメインを構築しているＳＢ１０の切り離し、組み込み等によるドメイン構成の変更の場面が想定できる。また、既に述べたように、ＳＢ１０の資源であるプロセッサやメモリ等の増設、取り外し等も想定できる。本実施形態の電源投入制御装置２０は、このようなドメイン構成の変更時に、変更されたドメイン構成の状態に応じて電源投入制御処理を実行する。
【０１３４】
なお、実施例３における電源投入制御処理としては、実施例１の処理、および実施例２の処理のいずれを適用してもよい。また、実施例３の電源投入制御装置２０およびサーバ１００の構成は、実施例１、実施例２の場合と同様である。例えば、図１の構成図および図２の機能ブロック図等は、実施例３においてもそのまま適用される。
【０１３５】
図２１に、ドメインの構成が変更された場合のサーバ１００を例示する。図２１は、図１に例示するドメイン＃２のＳＢ＃２がドメイン＃０に移行された例である。図１の構成例では、ドメイン＃０が単一のＳＢ＃０を有し、ドメイン＃１が単一のＳＢ＃１を有し、ドメイン＃２が単一のＳＢ＃２を有していた。図２１の変更例では、ドメイン＃０にはＳＢ＃０、ＳＢ＃２が対応付けられている。一方、図２１のサーバ１００では、ドメイン＃２は含まれない。
【０１３６】
図２１のようなドメインの構成変更は、例えば、電源投入制御装置２０を通じて、ユーザの指定にしたがって実行される。例えば、電源投入制御装置２０が、サーバ１００のサービスプロセッサとしての機能を有する場合には、ユーザにドメインの構成変更ための操作画面を提供する。本実施形態の電源投入制御装置２０は、ドメインの構成が変更されたときに、ドメインの消費電力値を再計算するために、構成変更時の処理を実行する。なお、構成変更時の処理を実行する前提として、電源投入制御装置２０は、ドメイン構成変更前のＳＢ構成／電力テーブル２１１を主記憶部２２または補助記憶部２３に保存しているものとする。
【０１３７】
図２２は、ドメイン構成変更時の処理を例示するフローチャートである。図２２の処理は、ドメイン構成に変更があったドメインに適用される。したがって、例えば、ドメイン＃２のＳＢ１０が、ドメイン＃０に移動した場合には、ドメイン＃０とドメイン＃２の両方に、図２２の処理が実行される。
【０１３８】
この処理では、電源投入制御装置２０は、まず、ドメイン構成変更がＳＢ１０の切り離しか否かを判定する（Ｓ４１）。ドメイン構成変更が、ＳＢの切り離しの場合（Ｓ４１で“ＹＥＳ”）、電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１から、該当のドメインにおいて、切り離されたＳＢを削除する。そして、電源投入制御装置２０は、残りのＳＢの電力を加算し、ＳＢが切り離されたドメインの電力変化を再計算する（Ｓ４２）。例えば、ＳＢが切り離される前に求めていたドメインの電力変化から、切り離されたＳＢ１０の消費電力値を減算して、新たな電力変化の計算結果とすればよい。
【０１３９】
一方、ドメイン構成変更が、ＳＢの切り離しでない場合（Ｓ４１で“ＮＯ”）、電源投入制御装置２０は、ドメイン構成の変化がドメインへのＳＢ１０の接続であると判定する。そこで、電源投入制御装置２０は、ドメインに接続される接続対象のＳＢ１０の構成情報を取得する（Ｓ４３）。例えば、電源投入制御装置２０は、ＳＢ１０の構成情報をＳＢ１０のＯＳに問い合わせればよい。ＳＢ１０において、ＣＰＵ数、メモリ搭載数等の構成情報は、例えば、ＯＳによってシステムパラメータとして、主記憶部、補助記憶部等に保存されている。また、ＳＢ１０において、ＣＰＵ数、メモリ搭載数等の構成情報に変更があると、ＯＳは、構成情報を示すシステムパラメータを更新し、主記憶部、補助記憶部等に保存している。ＳＢ１０のＯＳは、電源投入制御装置２０から構成情報の問い合わせを受信したときに、主記憶部、補助記憶部等に保存されているシステムパラメータを読み出し、電源投入制御装置２０に応答すればよい。電源投入制御装置２０のＣＰＵ２１は、構成取得部として、Ｓ４３の処理を実行する。
【０１４０】
電源投入制御装置２０は、ＳＢ１０から構成情報を取得すると、ＳＢ１０から取得した構成情報と、変更前のＳＢ構成／電力テーブル２１１に格納されたＳＢ１０の構成情報とを比較する。そして、電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１に変更があったか否かを判定する（Ｓ４４）。電源投入制御装置２０のＣＰＵ２１は、比較部として、Ｓ４４の処理を実行する。
【０１４１】
ＳＢ１０の構成情報に変更があった場合（Ｓ４４で“ＹＥＳ”）、電源投入制御装置２０は、接続された対象ＳＢ１０に初回電力の投入し、消費電力を計測する。そして、電源投入制御装置２０は、ＳＢ構成／電力テーブル２１１において、ＳＢ１０の追加があったドメインに、ＳＢ１０の識別情報、ＳＢ１０の構成情報とともに、計測した消費電力値（推移）を格納する（Ｓ４５）。電源投入制御装置２０は、次に、Ｓ４７へ処理を進める。電源投入制御装置２０のＣＰＵ２１は、電力値取得部として、Ｓ４５の処理を実行する。したがって、ＳＢ１０の構成情報に変更があった場合には、電源投入制御装置２０は、構成情報が変更されたＳＢ１０の消費電力を測定することで、構成情報の変更に追従して、構成変更されたＳＢ１０が追加されたドメインの消費電力を計算できる。
【０１４２】
また、ＳＢ１０の構成情報に変更がなかった場合、電源投入制御装置２０は、変更前のＳＢ構成／電力テーブルから、接続対象ＳＢ、接続先ＳＢの電力テーブルを取得する。そして、ＳＢが接続されたドメインについて、変更後のＳＢ構成／電力テーブル作成する（Ｓ４６）。したがって、ＳＢ１０の構成情報に変更がなかった場合には、電源投入制御装置２０は、計測済みの電力値の変化を有効利用できる。
【０１４３】
そして、電源投入制御装置２０は、Ｓ４５の処理、あるいはＳ４６の処理で作成されたＳＢ構成／電力テーブル２１１にしたがって、ＳＢ１０が接続されたドメインについて、電力変化を再計算する（Ｓ４７）。さらに、Ｓ４２の処理、あるいは、Ｓ４７の処理の後、電源投入制御装置２０は、複数ドメインの同時電力投入時の電力変化の計算、例えば、図７のＳ１７、あるいは、図１６のＳ２４の以降の処理を実行すればよい。その結果、電源投入制御装置２０は、ドメインの構成が変更された場合に、構成が変更されたドメインの電力変化を再度計算し、図７あるいは、図１６の処理にしたがって、各フェーズの実行タイミングを指定できる。
【０１４４】
以上、説明したように、本実施形態では、電源投入制御装置２０は、電源投入タイミングの計算処理の実行に際して、既に消費電力値の計測処理が終了した各ドメインに対して、ドメインの構成が変更された場合、変更されたドメインの電力変化を再度計算する。このため、ドメイン構成が変更された場合も、サーバ１００の消費電力を許容電力ピーク値に制御できる。ただし、ドメインにＳＢ１０が追加された場合と、ドメインからＳＢ１０が切り離された場合とで処理の手順が異なる。
【０１４５】
ドメインにＳＢ１０が追加された場合には、電源投入制御装置２０は、追加されたＳＢ１０の消費電力を取得する。より具体的には、電源投入制御装置２０は、取得した構成情報と、変更前のＳＢ構成／電力テーブル２１１に格納されたＳＢ１０の構成情報とを比較する。そして、ＳＢ構成／電力テーブル２１１の構成情報に変更があった場合に、電源投入制御装置２０は、接続された対象ＳＢ１０に初回電力の投入し、消費電力を計測する。一方、ＳＢ構成／電力テーブル２１１の構成情報に変更がなかった場合に、電源投入制御装置２０は、変更前のＳＢ構成／電力テーブルから、接続対象ＳＢ、接続先ＳＢの電力テーブルを取得する。このような手順によって、電源投入制御装置２０は、既に計測済みの電力テーブルのデータを有効活用できる。
【０１４６】
また、ドメインからＳＢ１０が切り離されたされた場合には、電源投入制御装置２０は、残りのＳＢ１０の電力を加算し、ＳＢが切り離されたドメインの電力変化を再計算する。したがって、削除された場合にも、電源投入制御装置２０は、既に計測済みの電力テーブルのデータを有効活用できる。
【０１４７】
そして、電源投入制御装置２０は、実施例１、実施例２で説明した複数ドメインの同時電力投入時の電力変化の計算、例えば、図７のＳ１７、あるいは、図１６のＳ２４の以降の処理を実行することで、サーバ１００への電源投入時の消費電力を平準化するためのタイミングを指定できる。ここで、タイミングは、実施例１の場合には、複数ドメイン間での電源投入の時間差である。また、実施例の場合には、タイミングは、逐次実行フェーズ指定テーブル２１５と、逐次実行スケジュールテーブル２１６とで指定される実行順で規定される。
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１４８】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【符号の説明】
【０１４９】
１０  システムボード（ＳＢ）
１１  電力計
２０  電源投入制御装置
２１  ＣＰＵ
２２  主記憶部
２３  補助記憶部
２４  通信部
３１  クロスバースイッチ
１００  サーバ
２０１  ドメイン構成制御部
２０２  電力計測部
２０３  電力変化計算部
２０４  電源投入タイミング生成部
２０５  電源投入制御部
２１１  ＳＢ構成／電力テーブル
２１２  複数ドメイン投入時の許容ピーク電力テーブル
３００ａ，３００ｂ，３００ｃ  ドメイン
３１０  クロスバー（ＸＢ）
３２０  制御装置
【図１】
2013140532.tif 000003
【図２】
2013140532.tif 000004
【図３】
2013140532.tif 000005
【図４】
2013140532.tif 000006
【図５】
2013140532.tif 000007
【図６】
2013140532.tif 000008
【図７】
2013140532.tif 000009
【図８】
2013140532.tif 000010
【図９】
2013140532.tif 000011
【図１０】
2013140532.tif 000012
【図１１】
2013140532.tif 000013
【図１２】
2013140532.tif 000014
【図１３】
2013140532.tif 000015
【図１４】
2013140532.tif 000016
【図１５】
2013140532.tif 000017
【図１６】
2013140532.tif 000018
【図１７】
2013140532.tif 000019
【図１８】
2013140532.tif 000020
【図１９】
2013140532.tif 000021
【図２０】
2013140532.tif 000022
【図２１】
2013140532.tif 000023
【図２２】
2013140532.tif 000024
【図２３】
2013140532.tif 000025
【国際調査報告】
2013140532.tif 000026
2013140532.tif 000027
2013140532.tif 000028
2013140532.tif 000029
2013140532.tif 000030
2013140532.tif 000031
2013140532.tif 000032