(57)【特許請求の範囲】
【請求項１】
複数のコンピュータから構成されるコンピュータシステムにおける電力管理システムであって、個々のコンピュータの消費電力がそのコンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、個々の前記コンピュータの現在の電力の過不足状態を監視し、電力が余っている前記コンピュータの最大許容電力は削減し、電力が足りない前記コンピュータの最大許容電力は個々の前記コンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に増大させる制御手段とを備え、
前記制御手段は、電力が足りない前記コンピュータの最大許容電力がそのコンピュータに保証された電力保証値より少なく且つ電力保証値まで最大許容電力を増大させるならば最大許容電力の総和が前記電力上限設定値を超えてしまう場合、電力保証値以上の最大許容電力が設定されている他のコンピュータの最大許容電力のうち電力保証値を超える電力の全部または一部を削減して前記増大に必要な余剰電力を確保することを特徴とする電力管理システム。
【請求項２】
前記電力調節手段は、前記コンピュータを構成する電力調節可能なコンポーネントの最大電力が前記コンピュータの最大許容電力から定まる電力制限値を超えないように制限することを特徴とする請求項１記載の電力管理システム。
【請求項３】
前記制御手段は、前記コンポーネントの実電力を前記電力制限値から定まる上限閾値および下限閾値と比較することにより電力の過不足を判定することを特徴とする請求項２記載の電力管理システム。
【請求項４】
前記制御手段は、前記コンポーネントの負荷を予め定められた上限閾値および下限閾値と比較することにより電力の過不足を判定することを特徴とする請求項２記載の電力管理システム。
【請求項５】
前記制御手段は、電力調節可能なコンポーネントが複数存在する場合、個々の前記コンポーネント毎の過不足電力を足し合わせて前記コンピュータ全体の電力の過不足状態を判定することを特徴とする請求項３または４記載の電力管理システム。
【請求項６】
複数のコンピュータと前記複数のコンピュータにネットワークを通じて通信可能に接続された管理装置とから構成されるコンピュータシステムにおける電力管理システムであって、
個々の前記コンピュータに、自コンピュータに設定された最大許容電力の値を保持する記憶手段と、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの現在の電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減して、削減した電力量を前記管理装置へ通知し、電力が足りなければ前記管理装置へ追加の電力を要求して、追加された電力量だけ自コンピュータの最大許容電力を増大させるコンピュータ側制御手段とを備え、
前記管理装置に、コンピュータシステム全体の電力上限設定値および個々の前記コンピュータに設定された最大許容電力の値を保持する記憶手段と、削減した電力量の通知を前記コンピュータから受信したときに、前記記憶手段に記憶された通知元の前記コンピュータの最大許容電力の値を更新し、追加の電力の要求を前記コンピュータから受信したときに、個々の前記コンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に要求元の前記コンピュータの最大許容電力を増大させて追加した電力量を要求元の前記コンピュータへ通知する管理装置側制御手段とを備えることを特徴とする電力管理システム。
【請求項７】
個々の前記コンピュータの電力保証値を前記管理装置の前記記憶手段に保持し、前記管理装置側制御手段は、追加の電力を要求した前記コンピュータの最大許容電力がそのコンピュータに保証された電力保証値より少なく且つその電力保証値まで最大許容電力を増大させたならば最大許容電力の総和が前記電力上限設定値を超えてしまう場合、電力保証値以上の最大許容電力に設定されている他のコンピュータの最大許容電力のうち電力保証値を超える電力の全部または一部を強制的に削減することにより、追加の電力を要求した前記コンピュータの最大許容電力を電力保証値まで増大させるのに必要な電力を確保することを特徴とする請求項６記載の電力管理システム。
【請求項８】
ネットワークを通じて相互に通信可能に接続された複数のコンピュータから構成されるコンピュータシステムにおける電力管理システムであって、
個々の前記コンピュータに、
保持電力値の総和がコンピュータシステム全体の電力上限設定値に一致するように各々の前記コンピュータに設定された保持電力値のうち自コンピュータに設定された保持電力値と、自コンピュータに設定された保持電力値のうちの実際に自コンピュータに割り当てられている最大許容電力の値と、自コンピュータの電力保証値とを保持する記憶手段と、
自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、
制御手段とを備え、
前記制御手段は、自コンピュータの現在の電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減し、自コンピュータの電力が足りなければ、まず自コンピュータの余剰電力から確保を試み、確保不可能ならば他コンピュータの余剰電力を調査してコンピュータシステム全体の余剰電力から確保可能かどうかを調査し、確保可能ならば他コンピュータから余剰電力の移譲を受けて自コンピュータの最大許容電力を増大させ、
さらに前記制御手段は、自コンピュータの最大許容電力が自コンピュータに保証された電力保証値より少なく且つその電力保証値まで最大許容電力を増大させるにはコンピュータシステム全体の余剰電力では足りない場合、電力保証値以上の最大許容電力に設定されている他のコンピュータにそのコンピュータの電力保証値を超える電力の全部または一部を強制的に余剰電力として放出させた後に移譲を受けて自コンピュータの最大許容電力を増大させることを特徴とする電力管理システム。
【請求項９】
複数のコンピュータから構成されるコンピュータシステムにおける電力管理方法であって、
ａ）個々のコンピュータの消費電力がそのコンピュータに設定された最大許容電力を超えないように調節するステップと、
ｂ）個々の前記コンピュータの現在の電力の過不足状態を監視し、電力が余っている前記コンピュータの最大許容電力は削減し、電力が足りない前記コンピュータの最大許容電力は個々の前記コンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に増大させるステップと、
ｃ）電力が足りない前記コンピュータの最大許容電力がそのコンピュータに保証された電力保証値より少なく且つ電力保証値まで最大許容電力を増大させるならば最大許容電力の総和が前記電力上限設定値を超えてしまう場合、電力保証値以上の最大許容電力に設定されている他のコンピュータの最大許容電力のうち電力保証値を超える電力の全部または一部を削減することにより、前記増大に必要な電力を確保するステップとを含むことを特徴とする電力管理方法。
【請求項１０】
複数のコンピュータにネットワークを通じて通信可能に接続された管理装置であって、コンピュータシステム全体の電力上限設定値および個々の前記コンピュータに設定された最大許容電力の値を保持する記憶手段と、削減した電力量の通知を現在電力が余っている前記コンピュータから受信したときに、前記記憶手段に記憶された通知元の前記コンピュータの最大許容電力の値を更新し、追加の電力の要求を現在電力が不足している前記コンピュータから受信したときに、個々の前記コンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に要求元の前記コンピュータの最大許容電力を増大させて追加した電力量を要求元の前記コンピュータへ通知する制御手段とを備えることを特徴とする管理装置。
【請求項１１】
個々の前記コンピュータの電力保証値を前記記憶手段に保持し、前記制御手段は、追加の電力を要求した前記コンピュータの最大許容電力がそのコンピュータに保証された電力保証値より少なく且つその電力保証値まで最大許容電力を増大させたならば最大許容電力の総和が前記電力上限設定値を超えてしまう場合、電力保証値以上の最大許容電力に設定されている他のコンピュータの最大許容電力のうち電力保証値を超える電力の全部または一部を強制的に削減することにより、追加の電力を要求した前記コンピュータの最大許容電力を電力保証値まで増大させるのに必要な電力を確保することを特徴とする請求項１０記載の管理装置。
【請求項１２】
管理装置とネットワークを通じて通信可能に接続されたコンピュータであって、自コンピュータに設定された最大許容電力の値を保持する記憶手段と、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの現在の電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減して、削減した電力量を前記管理装置へ通知し、電力が足りなければ前記管理装置へ追加の電力を要求して、追加された電力量だけ自コンピュータの最大許容電力を増大させる制御手段とを備えることを特徴とするコンピュータ。
【請求項１３】
他のコンピュータとネットワークを通じて相互に通信可能に接続されたコンピュータであって、
保持電力値の総和がコンピュータシステム全体の電力上限設定値に一致するように前記コンピュータシステムを構成する各々の前記コンピュータに設定された保持電力値のうち自コンピュータに設定された保持電力値と、自コンピュータに設定された保持電力値のうちの実際に自コンピュータに割り当てられている最大許容電力の値と、自コンピュータの電力保証値とを保持する記憶手段と、
自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、
制御手段とを備え、
前記制御手段は、自コンピュータの現在の電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減し、自コンピュータの電力が足りなければ、まず自コンピュータの余剰電力から確保を試み、確保不可能ならば他コンピュータの余剰電力を調査してコンピュータシステム全体の余剰電力から確保可能かどうかを調査し、確保可能ならば他コンピュータから余剰電力の移譲を受けて自コンピュータの最大許容電力を増大させ、
さらに、前記制御手段は、自コンピュータの最大許容電力が自コンピュータに保証された電力保証値より少なく且つその電力保証値まで最大許容電力を増大させるにはコンピュータシステム全体の余剰電力では足りない場合、電力保証値以上の最大許容電力に設定されている他のコンピュータにそのコンピュータの電力保証値を超える電力の全部または一部を強制的に余剰電力として放出させた後に移譲を受けて自コンピュータの最大許容電力を増大させることを特徴とするコンピュータ。
【請求項１４】
複数のコンピュータにネットワークを通じて通信可能に接続され、コンピュータシステム全体の電力上限設定値および個々の前記コンピュータに設定された最大許容電力の値を保持する記憶手段を備えた管理装置を構成するコンピュータを、削減した電力量の通知を現在電力が余っている前記コンピュータから受信したときに、前記記憶手段に記憶された通知元の前記コンピュータの最大許容電力の値を更新し、追加の電力の要求を現在電力が不足している前記コンピュータから受信したときに、個々の前記コンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に要求元の前記コンピュータの最大許容電力を増大させて追加した電力量を要求元の前記コンピュータへ通知する制御手段として機能させるためのプログラム。
【請求項１５】
個々の前記コンピュータの電力保証値を前記記憶手段に保持し、前記制御手段は、追加の電力を要求した前記コンピュータの最大許容電力がそのコンピュータに保証された電力保証値より少なく且つその電力保証値まで最大許容電力を増大させたならば最大許容電力の総和が前記電力上限設定値を超えてしまう場合、電力保証値以上の最大許容電力に設定されている他のコンピュータの最大許容電力のうち電力保証値を超える電力の全部または一部を強制的に削減することにより、追加の電力を要求した前記コンピュータの最大許容電力を電力保証値まで増大させるのに必要な電力を確保することを特徴とする請求項１４記載のプログラム。
【請求項１６】
管理装置とネットワークを通じて通信可能に接続され、自コンピュータに設定された最大許容電力の値を保持する記憶手段を備えたコンピュータを、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの現在の電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減して、削減した電力量を前記管理装置へ通知し、電力が足りなければ前記管理装置へ追加の電力を要求して、追加された電力量だけ自コンピュータの最大許容電力を増大させる制御手段として機能させるためのプログラム。
【請求項１７】
他のコンピュータとネットワークを通じて相互に通信可能に接続され、保持電力値の総和がコンピュータシステム全体の電力上限設定値に一致するように前記コンピュータシステムを構成する各々の前記コンピュータに設定された保持電力値のうち自コンピュータに設定された保持電力値と、自コンピュータに設定された保持電力値のうちの実際に自コンピュータに割り当てられている最大許容電力の値と、自コンピュータの電力保証値とを保持する記憶手段を備えたコンピュータを、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの現在の電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減し、自コンピュータの電力が足りなければ、まず自コンピュータの余剰電力から確保を試み、確保不可能ならば他コンピュータの余剰電力を調査してコンピュータシステム全体の余剰電力から確保可能かどうかを調査し、確保可能ならば他コンピュータから余剰電力の移譲を受けて自コンピュータの最大許容電力を増大させ、さらに、自コンピュータの最大許容電力が自コンピュータに保証された電力保証値より少なく且つその電力保証値まで最大許容電力を増大させるにはコンピュータシステム全体の余剰電力では足りない場合、電力保証値以上の最大許容電力に設定されている他のコンピュータにそのコンピュータの電力保証値を超える電力の全部または一部を強制的に余剰電力として放出させた後に移譲を受けて自コンピュータの最大許容電力を増大させる制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータから構成されるコンピュータシステムの電力管理システムおよび電力管理方法に関する。
【背景技術】
【０００２】
近年、コンピュータ単体の高性能化の進展により電力消費量が急速に伸び続けているため、複数のコンピュータで構成されるブレードサーバシステム等のコンピュータシステム全体の電力消費量が大幅に増加している。このため、個々のコンピュータに一定の性能を保証しつつ、コンピュータシステム全体の最大消費電力を抑えることが強く要請されている。
【０００３】
コンピュータ単体に一定の性能を保証しつつコンピュータシステム全体の消費電力を一定値以下に抑える技術の一例が特許文献１に記載されている。特許文献１に記載された電力管理システムでは、各々が１つのコンピュータに相当するブレードを１つの筐体に複数格納して構成されるブレードサーバで消費される電力を、電源ボックスから供給可能な最大電力の範囲に収めるために、ブレード内のＣＰＵの動作周波数を制限する。
【０００４】
具体的には、たとえば３台のブレードで構成されるブレードシステムにおいて、１台のブレードのＣＰＵの動作周波数を最大値の１００％、残り２台のブレードのＣＰＵの動作周波数を最大値の５０％にすれば、ブレードサーバ全体の消費電力が供給可能な最大電力の範囲に収まるという供給電力条件を設定し、各ブレードに設定された優先度に従って、システムの運用中に供給電力条件を満足するように１台のブレードのＣＰＵの動作周波数が１００％以下、残り２台のブレードのＣＰＵの動作周波数が５０％以下になるように制御する。またＣＰＵ動作周波数１００％のブレードの稼動状況を監視し、５０％以下の動作周波数で一定期間以上にわたって動作し続けていれば、そのブレードのＣＰＵの動作周波数の上限を５０％に変更し、その代わりに残り２つのブレードのうち５０％動作周波数にすべき優先度が低い方のＣＰＵの動作周波数の上限を５０％から１００％に変更する。
【０００５】
【特許文献１】特開２００５−２０２５０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
コンピュータ単体に一定の性能を保証しつつコンピュータシステム全体の最大消費電力を抑えるために特許文献１に記載されるような技術が提案されているが、余剰電力の有効利用が図られていないという課題があった。その理由は、コンピュータから開放した電力を、実際に電力を必要としているか否かにかかわらずコンピュータの優先度に基づいて他のコンピュータに与えているため、追加の電力を必要とするコンピュータに電力が与えられず、追加の電力を必要としないコンピュータに電力が与えられる状況が発生するためである。
【０００７】
本発明の目的は、余剰電力の有効利用が図られていないという上述した課題を解決する電力管理システムおよび電力管理方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の電力管理システムは、複数のコンピュータから構成されるコンピュータシステムにおける電力管理システムであって、個々のコンピュータの消費電力がそのコンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、個々のコンピュータの電力の過不足状態を監視し、電力が余っているコンピュータの最大許容電力は削減し、電力が足りないコンピュータの最大許容電力は個々のコンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に増大させる制御手段とを備える。
【０００９】
本発明の第２の電力管理システムは、複数のコンピュータとこれら複数のコンピュータにネットワークを通じて通信可能に接続された管理装置とから構成されるコンピュータシステムにおける電力管理システムであって、個々のコンピュータに、自コンピュータに設定された最大許容電力の値を保持する記憶手段と、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減して、削減した電力量を管理装置へ通知し、電力が足りなければ管理装置へ追加の電力を要求して、追加された電力量だけ自コンピュータの最大許容電力を増大させるコンピュータ側制御手段とを備え、管理装置に、コンピュータシステム全体の電力上限設定値および個々のコンピュータに設定された最大許容電力の値を保持する記憶手段と、削減した電力量の通知をコンピュータから受信したときに、記憶手段に記憶された通知元のコンピュータの最大許容電力の値を更新し、追加の電力の要求をコンピュータから受信したときに、個々のコンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に要求元のコンピュータの最大許容電力を増大させて追加した電力量を要求元のコンピュータへ通知する管理装置側制御手段とを備える。
【００１０】
本発明の第３の電力管理システムは、ネットワークを通じて相互に通信可能に接続された複数のコンピュータから構成されるコンピュータシステムにおける電力管理システムであって、個々のコンピュータに、保持電力値の総和がコンピュータシステム全体の電力上限設定値に一致するように各々のコンピュータに設定された保持電力値のうち自コンピュータに設定された保持電力値と、自コンピュータに設定された保持電力値のうちの実際に自コンピュータに割り当てられている最大許容電力の値とを保持する記憶手段と、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、制御手段とを備え、制御手段は、自コンピュータの電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減し、自コンピュータの電力が足りなければ、まず自コンピュータの余剰電力から確保を試み、確保不可能ならば他コンピュータの余剰電力を調査してコンピュータシステム全体の余剰電力から確保可能かどうかを調査し、確保可能ならば他コンピュータから余剰電力の移譲を受けて自コンピュータの最大許容電力を増大させる。
【００１１】
本発明の第１の電力管理方法は、複数のコンピュータから構成されるコンピュータシステムにおける電力管理方法であって、ａ）個々のコンピュータの消費電力がそのコンピュータに設定された最大許容電力を超えないように調節するステップと、ｂ）個々のコンピュータの電力の過不足状態を監視し、電力が余っているコンピュータの最大許容電力は削減し、電力が足りないコンピュータの最大許容電力は個々のコンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に増大させるステップとを含む。
【００１２】
本発明の第１の管理装置は、複数のコンピュータにネットワークを通じて通信可能に接続された管理装置であって、コンピュータシステム全体の電力上限設定値および個々のコンピュータに設定された最大許容電力の値を保持する記憶手段と、削減した電力量の通知をコンピュータから受信したときに、記憶手段に記憶された通知元のコンピュータの最大許容電力の値を更新し、追加の電力の要求をコンピュータから受信したときに、個々のコンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に要求元のコンピュータの最大許容電力を増大させて追加した電力量を要求元のコンピュータへ通知する制御手段とを備える。
【００１３】
本発明の第１のコンピュータは、管理装置とネットワークを通じて通信可能に接続されたコンピュータであって、自コンピュータに設定された最大許容電力の値を保持する記憶手段と、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減して、削減した電力量を管理装置へ通知し、電力が足りなければ管理装置へ追加の電力を要求して、追加された電力量だけ自コンピュータの最大許容電力を増大させる制御手段とを備える。
【００１４】
本発明の第２のコンピュータは、他のコンピュータとネットワークを通じて相互に通信可能に接続されたコンピュータであって、保持電力値の総和がコンピュータシステム全体の電力上限設定値に一致するようにコンピュータシステムを構成する各々のコンピュータに設定された保持電力値のうち自コンピュータに設定された保持電力値と、自コンピュータに設定された保持電力値のうちの実際に自コンピュータに割り当てられている最大許容電力の値とを保持する記憶手段と、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、制御手段とを備え、制御手段は、自コンピュータの電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減し、自コンピュータの電力が足りなければ、まず自コンピュータの余剰電力から確保を試み、確保不可能ならば他コンピュータの余剰電力を調査してコンピュータシステム全体の余剰電力から確保可能かどうかを調査し、確保可能ならば他コンピュータから余剰電力の移譲を受けて自コンピュータの最大許容電力を増大させる。
【００１５】
本発明の第１のプログラムは、複数のコンピュータにネットワークを通じて通信可能に接続され、コンピュータシステム全体の電力上限設定値および個々のコンピュータに設定された最大許容電力の値を保持する記憶手段を備えた管理装置を構成するコンピュータを、削減した電力量の通知をコンピュータから受信したときに、記憶手段に記憶された通知元のコンピュータの最大許容電力の値を更新し、追加の電力の要求をコンピュータから受信したときに、個々のコンピュータに設定された最大許容電力の総和がコンピュータシステム全体の電力上限設定値を超えないことを条件に要求元のコンピュータの最大許容電力を増大させて追加した電力量を要求元のコンピュータへ通知する制御手段として機能させる。
【００１６】
本発明の第２のプログラムは、管理装置とネットワークを通じて通信可能に接続され、自コンピュータに設定された最大許容電力の値を保持する記憶手段を備えたコンピュータを、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減して、削減した電力量を管理装置へ通知し、電力が足りなければ管理装置へ追加の電力を要求して、追加された電力量だけ自コンピュータの最大許容電力を増大させる制御手段として機能させる。
【００１７】
本発明の第３のプログラムは、他のコンピュータとネットワークを通じて相互に通信可能に接続され、保持電力値の総和がコンピュータシステム全体の電力上限設定値に一致するようにコンピュータシステムを構成する各々のコンピュータに設定された保持電力値のうち自コンピュータに設定された保持電力値と、自コンピュータに設定された保持電力値のうちの実際に自コンピュータに割り当てられている最大許容電力の値とを保持する記憶手段を備えたコンピュータを、自コンピュータの消費電力が自コンピュータに設定された最大許容電力を超えないように調節するための電力調節手段と、自コンピュータの電力の過不足状態を監視し、電力が余っていれば自コンピュータの最大許容電力を削減し、自コンピュータの電力が足りなければ、まず自コンピュータの余剰電力から確保を試み、確保不可能ならば他コンピュータの余剰電力を調査してコンピュータシステム全体の余剰電力から確保可能かどうかを調査し、確保可能ならば他コンピュータから余剰電力の移譲を受けて自コンピュータの最大許容電力を増大させる制御手段として機能させる。
【発明の効果】
【００１８】
本発明によれば、複数のコンピュータで構成されたコンピュータシステムにおいて余剰電力の有効利用を図ることができる。
【発明を実施するための最良の形態】
【００１９】
『第１の実施の形態』
図１を参照すると、本発明の第１の実施の形態に係る電力管理システムは、コンピュータシステムを構成する複数のコンピュータＣ１〜Ｃｎのそれぞれに設けられた電力調節手段ＷＣ１〜ＷＣｎと、制御手段ＣＯＮＴとから構成される。
【００２０】
各コンピュータＣ１〜Ｃｎに設けられた電力調節手段ＷＣ１〜ＷＣｎは、各コンピュータＣ１〜Ｃｎの最大電力がそのコンピュータに設定された最大許容電力ＷMAX1〜ＷMAXnを超えないように調整する手段である。電力調整手段ＷＣ１〜ＷＣｎは、一例としてコンピュータＣ１〜Ｃｎに含まれるプロセッサの最大動作周波数を変更してコンピュータ全体の電力が最大許容電力ＷMAX1〜ＷMAXnの範囲に収まるように調節する手段で実現することができる。
【００２１】
制御手段ＣＯＮＴは、コンピュータＣ１〜Ｃｎの電力の過不足状態を監視する機能と、電力が余っているコンピュータの最大許容電力は削減することにより、余剰電力を増加させ、電力が足りないコンピュータが発生した場合には、コンピュータＣ１〜Ｃｎに設定された最大許容電力ＷMAX1〜ＷMAXnの総和がコンピュータシステム全体の電力上限設定値ＷGMAXを超えないことを条件に、不足分だけそのコンピュータの最大許容電力を増大させる機能とを有する。ここで、電力上限設定値ＷGMAXから最大許容電力ＷMAX1〜ＷMAXnの総和を差し引いた残りの電力が、コンピュータシステム全体の余剰電力となる。
【００２２】
コンピュータＣ１で余った電力を余剰電力として回収し、追加の電力が必要となったコンピュータＣｎに対して分配している様子が図１に模式的に付記されている。余った電力を余剰電力として回収する点は特許文献１に記載の技術と類似するが、回収した電力を余剰電力として管理しておき、電力の不足状態が検出されたコンピュータＣｎに余剰電力から追加の電力を提供する点が、電力の不足状態を調べずに優先度に基づいて電力を提供する特許文献１に記載の技術と相違する。これによって、複数のコンピュータで構成されたコンピュータシステムにおいて余剰電力の有効利用を図ることができる。
【００２３】
制御手段ＣＯＮＴの有する機能は、後述する第２の実施の形態のように１台のコンピュータに集約しても良いし、後述する第３の実施の形態のように複数のコンピュータに分散させても良い。
【００２４】
また、余った電力をコンピュータＣ１〜Ｃｎから回収する際、各コンピュータについて予め定められた電力保証値が少なくとも残るようにすれば、各コンピュータに一定の性能を保証することができる。但し、余剰電力のより一層の有効利用を図るためには、第２および第３の実施の形態のように、電力保証値を割り込んでも余剰電力を回収し、再度電力が必要となった場合に他のコンピュータの電力を削っても電力保証値まで追加を保証する構成が望ましい。
【００２５】
『第２の実施の形態』
図２を参照すると、本発明の第２の実施の形態に係るコンピュータシステムは、複数のサーバコンピュータ（以下、単にサーバと称す）１０１−１〜１０１−ｎと管理装置２０１とがＬＡＮなどのネットワーク３０１を通じて相互に通信可能に接続されている。
【００２６】
管理装置２０１は、複数のサーバコンピュータ１０１−１〜１０１−ｎ及びその集合であるサーバグループ１０２の電力を管理する装置であり、制御装置２１１、記憶装置２１２、ユーザインタフェース２１３および通信装置２１４を備えている。
【００２７】
記憶装置２１２は、電力上限設定値２２１と、電力保証値テーブル２２２と、確保電力テーブル２２３とを記憶する。記憶装置２１２は、制御装置２１１およびユーザインタフェース２１３から参照および更新される。
【００２８】
電力上限設定値２２１は、サーバグループ１０２全体で最大限使用可能な電力の値ＷGMAXを示す。
【００２９】
電力保証値テーブル２２２は、各サーバ１０１−１〜１０１−ｎのそれぞれに対して割り当てを保証する最低電力の値を保持するテーブルである。電力保証値テーブル２２２には、図３に示されるように、各サーバ１０１−１〜１０１−ｎを一意に識別するためのサーバ識別子に対応して、そのサーバの電力保証値ＷMIN1〜ＷMINnが記憶されている。ここで、各サーバの電力保証値ＷMIN1〜ＷMINnの総和は、電力上限設定値２２１以下でなければならないという制限がある。
【００３０】
確保電力テーブル２２３は、各サーバ１０１−１〜１０１−ｎのそれぞれに対して現在割り当てられている確保電力（最大許容電力）の値を保持するテーブルである。確保電力テーブル２２３には、図４に示されるように、各サーバ１０１−１〜１０１−ｎを一意に識別するためのサーバ識別子に対応して、そのサーバに対して現在割り当てられている確保電力ＷMAX1〜ＷMAXnが記憶されている。ここで、各サーバの確保電力ＷMAX1〜ＷMAXnは、電力上限設定値２２１の範囲内において割り当てられるものであるため、確保電力ＷMAX1〜ＷMAXnの総和は電力上限設定値２２１以下になる。また、電力上限設定値２２１から確保電力ＷMAX1〜ＷMAXnの総和を差し引いた残りの電力は、何れのサーバにも未だ割り当てられていない電力であり、サーバグループ１０２全体の余剰電力として管理される。
【００３１】
ユーザインタフェース２１３は、入力装置２３１および表示装置２３２から構成される利用者入出力装置からの操作に応答して、記憶装置２１２に記憶されている電力上限設定値２２１、電力保証値テーブル２２２および確保電力テーブル２２３の内容を表示装置２３２に表示し、また電力上限設定値２２１および電力保証値テーブル２２２の設定変更を行う。ここで、電力上限設定値２２１および電力保証値テーブル２２２の設定変更に際して、ユーザインタフェース２１３は、各サーバの電力保証値の総和が電力上限設定値以下となるように入力を制限する。
【００３２】
通信装置２１４は、管理装置２０１と複数のサーバ１０１−１〜１０１−ｎとの間でネットワーク３０１を通じて通信するための装置である。管理装置２０１とサーバ１０１−１〜１０１−ｎとの間で授受される主要な通信データのフォーマット例を図５に示す。
【００３３】
図５を参照すると、電力要求通信データ３１１は、追加の電力が必要になったサーバ１０１−１〜１０１−ｎから管理装置２０１へ送信される通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３１２と、通信種別が電力要求であることを識別するための識別子３１３と、追加で要求する電力量３１４とから構成される。
【００３４】
電力要求応答通信データ３２１は、電力要求通信データ３１１に対する応答として管理装置２０１からサーバ１０１−１〜１０１−ｎへ送信される通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３２２と、通信種別が電力要求応答であることを識別するための識別子３２３と、追加で確保を許可された電力量３２４とから構成される。ここで、確保許可電力量３２４が値０のときは、当該電力要求応答通信データ３２１は電力要求を拒否する拒否応答となり、０以外の値のときは許可応答になる。
【００３５】
電力開放通知通信データ３３１は、電力の一部を開放するサーバ１０１−１〜１０１−ｎから管理装置２０１へ送信される通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３３２と、通信種別が電力開放通知であることを識別するための識別子３３３と、開放する電力量３３４とから構成される。
【００３６】
電力削減要求通信データ３４１は、余剰電力を強制的に確保するために管理装置２０１からサーバ１０１−１〜１０１−ｎへ送信される通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３４２と、通信種別が電力削減要求であることを識別するための識別子３４３と、強制的に削減する電力量３４４とから構成される。
【００３７】
制御装置２１１は、管理装置２０１の主たる制御を司る装置であり、記憶装置２１２および通信装置２１４に接続されている。制御装置２１１は、通信装置２１４を通じて何れかのサーバ１０１−１〜１０１−ｎから電力開放通知通信データ３３１を受信すると、確保電力テーブル２２３に記録されている当該サーバの現在の確保電力を電力開放量３３４だけ削減する処理を行う。この削減処理により、サーバグループ１０２全体の余剰電力が電力開放量３３４だけ増加する。また制御装置２１１は、通信装置２１４を通じて何れかのサーバ１０１−１〜１０１−ｎから電力要求通信データ３１１を受信すると、余剰電力に余裕があれば余剰電力から電力を分配し、余剰電力に余裕がなければ、追加の電力を要求するサーバの現在の確保電力がそのサーバの電力保証値より少ないことを条件に、必要に応じて、電力保証値以上の電力を確保している他のサーバに対して電力削減要求通信データ３４１を送信することにより電力保証値を超える電力の全部または一部を余剰電力として回収した後に、追加の電力を要求するサーバに電力を分配する処理を行う。
【００３８】
他方、サーバ１０１−１は、プロセッサ１１１、メモリ１１２、チップセット１１３、ディスクドライブ１１４、制御装置１１５、電力調節装置１１６、記憶装置１１７および通信装置１１８を備えている。ここで、プロセッサ１１１、メモリ１１２、チップセット１１３およびディスクドライブ１１４は、コンピュータに一般的に備わるコンポーネントである。他方、制御装置１１５、電力調節装置１１６、記憶装置１１７および通信装置１１８は、サーバ１０１−１の電力を管理するために設けられている。また、プロセッサ１１１、メモリ１１２、チップセット１１３およびディスクドライブ１１４のそれぞれには、実電力を測定するための電力センサ１１１ａ〜１１４ａが取り付けられている。
【００３９】
記憶装置１１７には、確保電力値１２１、電力制限値テーブル１２２、性能対電力テーブル１２３および一時保存テーブル１２４が記憶されている。記憶装置１１７は、電力調節装置１１６から参照が可能であり、制御装置１１５から参照および更新が可能である。
【００４０】
確保電力値１２１は、自サーバ１０１−１に現在割り当てられている確保電力（最大許容電力）の値を示す。
【００４１】
電力制限値テーブル１２２は、電力調節可能なコンポーネントに対して現在設定されている電力制限値を記憶するテーブルである。本実施の形態の場合、プロセッサ１１１、メモリ１１２、チップセット１１３およびディスクドライブ１１４の４つのコンポーネントが電力調節可能なコンポーネントである。図６に示されるように、電力制限値テーブル１２２には、電力調整可能な各コンポーネントを一意に識別するための識別子に対応してその電力制限値ＷCPU、ＷMEM、ＷCIP、ＷDISKが保持されている。
【００４２】
性能対電力テーブル１２３は、電力調節可能なコンポーネントの最大電力を或る値に抑えるためにはそのコンポーネントの性能をどのように調整すべきかという、性能と電力との関係を記述したテーブルである。一般に、プロセッサ１１１、メモリ１１６およびチップセット１１３は、その動作周波数を上げれば消費電力が増大させ、下げれば消費電力が低減するため、最大動作周波数を制限することによって最大消費電力を調整することができる。なお、一般に動作周波数が高いほど高い電圧を必要とするため、最大動作周波数を変更する場合、必要に応じて電圧を調整する必要がある。また、ディスクドライブ１１４はディスクの回転数を変えることで最大消費電力を調整することができる。さらに、本実施の形態では電力調節可能なコンポーネントに挙げていないが、通信カードなどのコンポーネントの場合、Ｉ／Ｏアクセスの帯域を狭めたり、拡大することで、その消費電力を調整することができる。性能対電力テーブル１２３は、電力調節可能な各コンポーネントに対応して設けられ、対応するコンポーネントにおける性能と電力との関係を記述している。
【００４３】
性能対電力テーブル１２３の一例が図７に示されている。この例はプロセッサ１１１用のテーブルであり、最大動作周波数を１００Ｍヘルツ、８０Ｍヘルツ、６０Ｍヘルツ、…に抑えた場合、最大消費電力は５０Ｗ、４０Ｗ、３０Ｗ、…に抑えられるという、プロセッサ１１１の最大周波数と最大電力との対応関係が記述されている。
【００４４】
一時保存テーブル１２４は、電力調節可能なコンポーネントに対する定期的な監視処理で使用されるテーブルである。図８を参照すると、一時保存テーブル１２４には、電力調節可能な各コンポーネント毎に、コンポーネント識別子と、監視処理によって判定された新たな電力制限値と、新たな電力制限値と現在の電力制限値との差である過不足電力とが記憶される。
【００４５】
電力調節装置１１６は、性能対電力テーブル１２３を参照して、電力調節可能なコンポーネントの最大電力が電力制限値テーブル１２２に設定された電力制限値を超えないように各コンポーネントの性能を調整する。具体的には、前述したように、プロセッサ１１１、メモリ１１２およびチップセット１１３については、例えばその最大動作周波数を調整し、ディスクドライブ１１４については、例えばその回転数を調整する。
【００４６】
通信装置１１８は、自サーバ１０１−１と管理装置２０１との間で、図５に例示したような通信データをネットワーク３０１を通じて通信するための装置である。
【００４７】
制御装置１１５は、自サーバ１０１−１の電力管理を行う装置であり、電力センサ１１１ａ〜１１４ａ、電力調節装置１１６、通信装置１１８および記憶装置１１７に接続されている。制御装置１１５は、自サーバ１０１−１の最大消費電力が確保電力値１２１を超えないように電力調節装置１１６を用いて各コンポーネント１１１〜１１４の最大電力を調整する機能を有する。また制御装置１１５は、電力センサ１１１ａ〜１１４ａで測定された実電力に基づいて各コンポーネント１１１〜１１４の電力の過不足状態を判定し、電力が余っている場合には、電力開放通知通信データ３３１を用いて自サーバ１０１−１で確保している電力の一部を管理装置２０１に開放する機能と、逆に電力が不足する場合には、電力要求通信データ３１１を用いて管理装置２０１に対して追加の電力を要求する機能とを有する。さらに管理装置２０１から電力削減要求通信データ３４１を受信した場合には、確保電力の一部を削減する機能を有する。
【００４８】
他のサーバ１０１−２〜１０１−ｎは、サーバ１０１−１と同じ構成と機能を有する。
【００４９】
次に、本実施の形態の動作を説明する。
【００５０】
まず、個々のサーバ１０１−１〜１０１−ｎの最大消費電力をそのサーバに設定された確保電力値１２１を超えないように制御する動作について説明する。
【００５１】
今、サーバ１０１−１の確保電力値１２１の値をＷMAX1、サーバ１０１−１を構成するコンポーネントのうち、電力調節可能なコンポーネント１１１〜１１４の最大電力の総和をＷS、通信装置１１８等の電力調整不可能な他のコンポーネントの最大電力の総和をＷOとすると、サーバ１０１−１の最大電力はＷS＋ＷOであり、ＷOは制御不可能なので、ＷS＋ＷO＜ＷMAX1にするためには、ＷS＜（ＷMAX1−ＷO）となるようにコンポーネント１１１〜１１４の最大消費電力を制限すれば良い。このため、制御装置１１５は、プロセッサ１１１の最大許容電力ＷCPU、メモリ１１２の最大許容電力ＷMEM、チップセット１１３の最大許容電力ＷCIP、ディスクドライブ１１４の最大許容電力ＷDISKの総和が、（ＷMAX1−ＷO）以下になるように、ＷCPU、ＷMEM、ＷCIP、ＷDISKを決定する。ここで、（ＷMAX1−ＷO）以下の電力をＷCPU、ＷMEM、ＷCIP、ＷDISKにどのように配分するかを決定する方法としては、例えば、（ＷMAX1−ＷO）の値域毎にＷCPU、ＷMEM、ＷCIP、ＷDISKの最適な割当量を事前に設定したテーブルを記憶装置１１７に記憶しておき、そのテーブルを参照して決定する方法がある。また、最も性能が高いと思われる割当量の組み合わせを適宜推定して求めるようにしても良い。
【００５２】
制御装置１１５は、図６に示されるように、決定したＷCPU、ＷMEM、ＷCIP、ＷDISKを記憶装置１１７の電力制限値テーブル１２２に記憶し、電力調節装置１１６に対して調整を指示する。電力調節装置１１６は、各コンポーネント１１１〜１１４毎に、電力制限値テーブル１２２から電力制限値を読み出し、その電力制限値に対応する性能情報を性能対電力テーブル１２３から読み出し、この読み出した性能情報に合致するようにコンポーネントの性能を調整する。例えばプロセッサ１１１の場合、電力制限値ＷCPUに対応する最大動作周波数を図７に示される性能対電力テーブル１２３から取得し、プロセッサ１１１の動作周波数が前記取得した最大動作周波数になるように調整する。テーブル中に完全に一致する電力制限値がない場合には、前後の値から補間計算によって決定すれば良い。
【００５３】
以上の制御の結果、サーバ１０１−１の最大消費電力は、確保電力値１２１の範囲に収まる。サーバ１０１−１以外の他のサーバ１０１−２〜１０１−ｎについても同様に、それらのサーバの最大消費電力が、それらのサーバに対して確保電力値１２１として与えられている最大許容電力ＷMAX2〜ＷMAXnの範囲に抑えられる。そして、各サーバ１０１−１〜１０１−ｎの確保電力値の総和は以下で説明するように電力上限設定値２２１を超えないように制御されるため、サーバグループ１０２全体の最大消費電力が電力上限設置値２２１の範囲に抑えられることになる。
【００５４】
次に、運用中のサーバ１０１−１〜１０１−ｎの実電力を監視し、その監視結果に基づいて各サーバの一部の電力の開放あるいはサーバへの電力の追加を動的に行う動作について説明する。
【００５５】
サーバ１０１−１の制御装置１１５は定期的に図９に示される監視処理を実行する。まず、電力調節対象コンポーネントの１つのコンポーネント、例えばプロセッサ１１１に注目する（Ｓ１０１）。次に、プロセッサ１１１の実消費電力を電力センサ１１１ａから取得する（Ｓ１０２）。ここで、実消費電力は瞬間的な電力であっても良いし、過去一定期間の最大値や平均値であっても良い。
【００５６】
次に、実消費電力を注目中コンポーネントであるプロセッサの上限閾値と比較する（Ｓ１０３）。上限閾値としては、電力制限値テーブル１２２に記憶されているプロセッサ１１１の現在の電力制限値ＷCPUの例えば９割の値に設定される。若し、実消費電力が上限閾値を超えていれば（Ｓ１０３でＹＥＳ）、プロセッサ１１１の現在の電力制限値が既に最大になっているかどうかを性能対電力テーブル１２３を参照して調べる（Ｓ１０４）。既に最大になっていれば、これ以上の電力の追加は行えないので、処理をステップＳ１０９に進める。未だ最大になっていなければ、性能対電力テーブル１２３を参照して現在の電力制限値より１段階上の電力制限値を取得し、この取得した電力制限値を一時保存テーブル１２４のプロセッサ１１１に対応する新たな電力制限値の欄に記憶すると共に、この新たな電力制限値と現在の電力制限値との差を不足電力として、一時保存テーブル１２４のプロセッサ１１１に対応する過不足電力の欄に記憶する（Ｓ１０５）。そして、処理をステップＳ１０９に進める。
【００５７】
また、プロセッサ１１１の実消費電力が上限閾値を超えていなければ（Ｓ１０３でＮＯ）、実消費電力を注目中コンポーネントであるプロセッサの下限閾値と比較する（Ｓ１０６）。下限閾値としては、電力制限値テーブル１２２に記憶されているプロセッサ１１１の現在の電力制限値ＷCPUの例えば７割の値に設定される。若し、実消費電力が下限閾値を下回っていれば（Ｓ１０６でＹＥＳ）、プロセッサ１１１の現在の電力制限値が既に最小になっているかどうかを性能対電力テーブル１２３を参照して調べる（Ｓ１０７）。既に最小になっていれば、これ以上の電力の開放は行えないので、処理をステップＳ１０９に進める。未だ最小になっていなければ、性能対電力テーブル１２３を参照して現在の電力制限値より１段階下の電力制限値を取得し、この取得した電力制限値を一時保存テーブル１２４のプロセッサ１１１に対応する新たな電力制限値の欄に記憶すると共に、現在の電力制限値と新たな電力制限値との差を過剰電力として、一時保存テーブル１２４のプロセッサ１１１に対応する過不足電力の欄に記憶する（Ｓ１０８）。そして、処理をステップＳ１０９に進める。
【００５８】
また、ステップＳ１０６の判定結果がＮＯの場合、つまりプロセッサ１１１の実消費電力が下限閾値と上限閾値の間にある場合には、プロセッサ１１１に対する電力制限値の変更は不要と判断し、処理をステップＳ１０９に進める。
【００５９】
ステップＳ１０９においては、次の１つの電力調節対象コンポーネント、例えばメモリ１１２に注目を移し、ステップＳ１０２〜Ｓ１０８の処理を繰り返す。同様に、残りの電力調節対象コンポーネントであるチップセット１１３およびディスクドライブ１１４についても、ステップＳ１０２〜Ｓ１０８の処理を繰り返す。そして、電力調節対象コンポーネントの全てについての処理を終えると（Ｓ１１０でＹＥＳ）、一時保存テーブル１２４に新たな電力制限値が少なくとも１つ登録されているか否かを判定し（Ｓ１１１）、新たな電力制限値が１つも登録されていなければ今回の監視処理を終え、登録されていれば図１０の処理へと進む。
【００６０】
図１０の処理においては、まず制御装置１１５は、一時保存テーブル１２４に登録された過不足電力の総和を計算する（Ｓ１１２）。余剰電力は正の値、不足電力は負の値とすると、総和が正の値であれば全体として電力が余っていることになり、総和が負の値であれば全体として電力が不足することになり、総和が０であれば相殺できていることになる。
【００６１】
電力が不足する場合（Ｓ１１３でＹＥＳ）、制御装置１１５は、追加電力要求量３１４に不足している電力値を設定した電力要求通信データ３１１を通信装置１１８により管理装置２０１へ送信する（Ｓ１１４）。そして、管理装置２０１から電力要求応答通信データ３２１を受信すると、その通信データ３２１中の追加電力要求量３１４を調べ、０より大きければ許可応答、０であれば否定応答と判断する（Ｓ１１５）。
【００６２】
許可応答の場合（Ｓ１１５でＹＥＳ）、制御装置１１５は、まず確保電力値１２１を確保許可電力量３２４だけ増大させる（Ｓ１１６）。次に、電力要求通信データ３１１で要求した追加電力要求量３１４と電力要求応答通信データ３２１で通知された確保許可電力量３２４を比較し、確保許可電力量３２４が追加電力要求量３１４より小さければ（Ｓ１１７でＹＥＳ）、一時保存テーブル１２４に記憶された新電力制限値の総和が、追加電力要求量３１４と確保許可電力量３２４の差だけ少なくなるように新電力制限値を修正する（Ｓ１１８）。このとき一時保存テーブル１２４に複数の電力調節対象コンポーネントの新電力制限値が記憶されている場合に、どの新電力制限値を修正するかは任意であり、全てを同じだけ修正しても良いし、予め定められたコンポーネント間の優先度に基づいて優先度の低いコンポーネントの新電力制限値を優先的に修正するようにしても良い。そして、処理をステップＳ１２２へ進める。
【００６３】
また否定応答の場合（Ｓ１１５でＮＯ）、制御装置１１５は、一時保存テーブル１２４の新たな電力制限値および過不足電力の欄を空にクリアし（Ｓ１２３）、今回の監視処理を終える。
【００６４】
他方、電力が過剰の場合（Ｓ１１９でＹＥＳ）、制御装置１１５は、電力開放量３３４に過剰分の電力値を設定した電力開放通知通信データ３３１を通信装置１１８により管理装置２０１へ送信する（Ｓ１２０）。そして、確保電力値１２１を電力開放量３３４だけ削減し（Ｓ１２１）、処理をステップＳ１２２へ進める。
【００６５】
また、電力に不足も過剰もなく過不足電圧が相殺されている場合（Ｓ１１９でＮＯ）、処理をステップＳ１２２へ進める。
【００６６】
ステップＳ１２２においては、制御装置１１５は、一時保存テーブル１２４に従って、電力調節装置１１６による電力調節対象コンポーネントの電力制限値を変更する。例えば、一時保存テーブル１２４に、プロセッサの新たな電力制限値としてＷNCPUが記憶されており、メモリ、チップセットおよびディスクドライブに対応する新たな電力制限値の欄は空であった場合、制御装置１１５は、電力制限値テーブル１２２におけるプロセッサの電力制限値ＷCPUを新たな電力制限値ＷNCPUで書き換え、プロセッサ１１１の電力制限値を変更した旨を電力調節装置１１６に対して通知する。電力調節装置１１６は、電力制限値テーブル１２２からプロセッサ１１１の新たな電力制限値ＷNCPUを読み出し、その電力制限値ＷNCPUに対応する性能情報を性能対電力テーブル１２３から読み出し、この読み出した性能情報に合致するようにプロセッサ１１１の動作周波数を調整する。
【００６７】
制御装置１１５は、一時保存テーブル１２４に従った電力制限値の変更処理を完了すると、一時保存テーブル１２４の新たな電力制限値および過不足電力の欄を空にクリアし（Ｓ１２３）、今回の監視処理を終える。
【００６８】
サーバ１０１−１以外のサーバ１０１−２〜１０１−ｎも、サーバ１０１−１と同様に定期的に図９、図１０に示される監視処理を実行している。
【００６９】
次に、図１０のステップＳ１２０においてサーバ１０１−１から送信された電力開放通知通信データ３３１を受信した管理装置２０１の処理について説明する。
【００７０】
図１１を参照すると、管理装置２０１の制御装置２１１は、サーバ１０１−１から送信された電力開放通知通信データ３３１を通信装置２１４から受信すると、通信データ３３１を解析し、識別子３３３の解析結果から電力開放通知であること、ヘッダ３３２中の通信元の情報から電力開放元がサーバ１０１−１であること、電力開放量３３４から開放された電力量をそれぞれ認識する（Ｓ２０１）。
【００７１】
次に制御装置２１１は、確保電力テーブル２２３からサーバ１０１−１の現在の確保電力を読み出し、この読み出した値に今回開放された電力量を加算し、この加算結果をサーバ１０１−１の確保電力として確保電力テーブル２２３に書き戻す（Ｓ２０２）。そして、電力開放通知通信データ３３１を受信処理した旨を応答する通信データをサーバ１０１−１へ送信し（Ｓ２０３）、処理を終える。
【００７２】
次に、図１０のステップＳ１１４においてサーバ１０１−１から送信された電力要求通信データ３１１を受信した管理装置２０１の処理について説明する。
【００７３】
図１２を参照すると、管理装置２０１の制御装置２１１は、サーバ１０１−１から送信された電力要求通信データ３１１を通信装置２１４を通じて受信すると、通信データ３１１を解析し、識別子３１３の解析結果から電力要求であること、ヘッダ３１２中の通信元の情報から電力要求元がサーバ１０１−１であること、追加電力要求量３１４から要求された電力量をそれぞれ認識する（Ｓ２１１）。
【００７４】
次に制御装置２１１は、確保電力テーブル２２３に記録されている各サーバ１０１−１〜１０１−ｎの現在の確保電力の総和を電力上限設定値２２１から減算して、現在の余剰電力を算出し（Ｓ２１２）、要求電力と比較する（Ｓ２１３）。余剰電力が要求電力以上あれば（Ｓ２１３でＹＥＳ）、余剰電力から充当可能なので、確保電力テーブル２２３からサーバ１０１−１の現在の確保電力を読み出し、この読み出した値に今回要求された電力量を加算し、この加算結果をサーバ１０１−１の確保電力として確保電力テーブル２２３に書き戻す（Ｓ２１４）。そして、確保許可電力量３２４に今回要求された電力量を記載した電力要求応答通信データ３２１を通信装置２１４を通じてサーバ１０１−１へ送信し（Ｓ２１５）、処理を終える。
【００７５】
他方、余剰電力が要求電力に満たない場合（Ｓ２１３でＮＯ）、制御装置２１１は、電力要求元のサーバ１０１−１の現在の確保電力と電力保証値とを確保電力テーブル２２４および電力保証値テーブル２２２から読み出して比較し（Ｓ２１６）、確保電力が電力保証値以上であれば、余剰電力に余裕がない状況の下ではそれ以上の電力の追加を保証する必要がないので、確保許可電力量３２４に０を記載した電力要求応答通信データ３２１を通信装置２１４を通じてサーバ１０１−１へ送信し（Ｓ２１７）、処理を終える。
【００７６】
しかし、電力要求元のサーバ１０１−１の現在の確保電力が電力保証値より小さければ（Ｓ２１６でＮＯ）、電力保証値までの電力を保証するために制御装置２１１は以下の処理を実行する。
【００７７】
まず制御装置２１１は、サーバ１０１−１の要求電力を、サーバ１０１−１の電力保証値から確保電力を差し引いた残りの電力まで削減する（Ｓ２１８）。次に、削減後の要求電力とサーバグループ全体の余剰電力とを比較し（Ｓ２１９）、余剰電力が要求電力以上あれば（Ｓ２１９でＹＥＳ）、余剰電力から充当可能なので、確保電力テーブル２２３中のサーバ１０１−１の現在の確保電力を要求電力分だけ加算し（Ｓ２１４）、確保許可電力量３２４に確保許可電力量を記載した電力要求応答通信データ３２１を通信装置２１４を通じてサーバ１０１−１へ送信し（Ｓ２１５）、処理を終える。
【００７８】
余剰電力が要求電力より少なければ（Ｓ２１９でＮＯ）、制御装置１１５は、電力保証値を超える確保電力を確保している他サーバを電力保証値テーブル２２２および確保電力テーブル２２３から検索する（Ｓ２２０）。次に、この検索で見つかった他サーバから余剰電力で足りない分の電力を新たに確保するために、電力削減要求通信データ３４１により電力削減要求を出す（Ｓ２２１）。複数の他サーバが発見された場合に、どの他サーバにどれだけの電力の削減要求を出すかについては、各種の方法が考えられる。例えば、発見された全ての他サーバに電力削減要求を出すようにしても良い。この場合、各サーバの電力削減要求量を等しくしても良いし、確保電力と電力保証値との差が大きいサーバほど電力削減要求量を大きくしても良い。また、各サーバに付与された優先度を考慮して、電力削減要求の有無および削減量を制御するようにしても良い。次に、電力削減要求を出した他サーバについて、確保電力を削減要求量だけ削減する（Ｓ２２２）。具体的には、確保電力テーブル２２３から電力削減要求を出したサーバの現在の確保電力を読み出し、この読み出した値から今回削減を要求した電力量を減算し、この減算結果をサーバの確保電力として確保電力テーブル２２３に書き戻す。そして、ステップＳ２１４の処理に進み、確保電力テーブル２２３中のサーバ１０１−１の現在の確保電力を要求電力分だけ加算する。そして、確保許可電力量３２４に確保許可電力量を記載した電力要求応答通信データ３２１を通信装置２１４を通じてサーバ１０１−１へ送信し（Ｓ２１５）、処理を終える。
【００７９】
次に、図１２のステップＳ２２１で出された電力削減要求通信データ３４１を受信したサーバ１０１−１〜１０１−ｎの動作を、サーバ１０１−１を例に挙げて説明する。
【００８０】
図１３を参照すると、サーバ１０１−１の制御装置１１５は、管理装置２０１から送信された電力削減要求通信データ３４１を通信装置１１８を通じて受信すると、通信データ３４１を解析し、識別子３４３の解析結果から電力削減要求であること、電力削減要求量３４４から要求された電力削減量をそれぞれ認識する（Ｓ２３１）。
【００８１】
次に制御装置１１５は、記憶装置１１７から確保電力値１２１を読み出し、この読み出した値から今回要求された電力削減量を減算し、この減算結果を新たな確保電力値１２１として記憶装置１１７に書き戻す（Ｓ２３２）。
【００８２】
次に制御装置１１５は、今回の電力削減量に従って、電力調節装置１１６による電力調節対象コンポーネントの電力制限値を変更する（Ｓ２３３）。具体的には、電力削減後の確保電力値１２１をＷMAX1とすると、前述した方法と同様に、制御装置１１５は、プロセッサ１１１の最大許容電力ＷCPU、メモリ１１２の最大許容電力ＷMEM、チップセット１１３の最大許容電力ＷCIP、ディスクドライブ１１４の最大許容電力ＷDISKの総和が、（ＷMAX1−ＷO）以下になるように、ＷCPU、ＷMEM、ＷCIP、ＷDISKを決定する。電力調節対象コンポーネントの電力制限値を変更した旨は制御装置１１５から電力調節装置１１６に対して通知され、電力調節装置１１６は、電力制限値テーブル１２２から各電力調節対象コンポーネントの新たな電力制限値を読み出し、その電力制限値に対応する性能情報を性能対電力テーブル１２３から読み出し、この読み出した性能情報に合致するように各電力調節対象コンポーネントの性能を調整する。最後に、制御装置１１５は、電力削減要求通信データに対する応答である通信データを管理装置２０１へ送信し（Ｓ２３４）、処理を終える。
【００８３】
次に、サーバ１０１−１〜１０１−ｎの台数を３（つまりｎ＝３）とし、各サーバの確保電力の推移を示す図１４を参照して、本実施の形態の動作を説明する。ここで、前提として、サーバ１０１−１〜１０１−３の電力保証値ＷMIN1、ＷMIN2、ＷMIN3の総和が電力上限設定値２２１と等しいものとする。
【００８４】
図１４を参照すると、時刻ｔ１においては、各サーバ１０１−１〜サーバ１０１−３に電力保証値ＷMIN1、ＷMIN2、ＷMIN3に等しい確保電力ＷMAX1、ＷMAX2、ＷMAX3が確保されている。この状況の下で、サーバ１０１−１が余った電力の一部を開放した場合、時刻ｔ２に示されるように、サーバ１０１−１の確保電力ＷMAX1が削減され、削減分がサーバグループ１０２の余剰電力として管理される。
【００８５】
次に時刻ｔ２の状況の下で、サーバ１０１−３から電力の要求が行われると、余剰電力から充当され、時刻ｔ３に示されるように、サーバ１０１−３の確保電力ＷMAX3が要求分だけ増加する。同様にサーバ１０１−２からも電力の要求が行われると、余剰電力から充当され、時刻ｔ４に示されるように、サーバ１０１−２の確保電力ＷMAX2が要求分だけ増加する。この時点で、余剰電力が０になっている。
【００８６】
その後、サーバ１０１−１で電力の不足が生じたことにより、時刻ｔ４に示される状況の下で、サーバ１０１−１から電力要求が出されたとする。この場合、余剰電力が０であるため、余剰電力から充当することはできない。しかし、サーバ１０１−１の現在の確保電力ＷMAX1は電力保証値ＷMIN1より小さいため、他のサーバ１０１−２、１０１−３から電力を奪ってまで電力保証値ＷMIN1を保証する必要がある。
【００８７】
そこで、まずサーバ１０１−２、１０１−３に対して電力削減要求を出すことにより、電力保証値ＷMIN2、ＷMIN3を超える電力分を開放させる。これにより、時刻ｔ５に示されるように余剰電力が確保される。次に、この余剰電力からサーバ１０１−１に対して追加の電力が分配される。この結果、時刻ｔ６に示されるように、サーバ１０１−１の確保電力ＷMAX1は電力保証値ＷMIN1まで速やかに回復し、最低の性能が保証される。また、サーバ１０１−２、１０１−３も電力保証値ＷMIN2、ＷMIN3以下まで確保電力ＷMAX2、ＷMAX3が削減されることはないので、最低の性能が保証される。図１５に、サーバ１０１−１で負荷が増大し新たな電力が必要になってから、追加の電力を確保して電力制限を緩和するまでに、サーバ１０１−１〜１０１−３と管理装置２０１との間のやりとりされる要求等のシーケンスを示す。
【００８８】
次に本実施の形態の効果を説明する。
【００８９】
本実施の形態によれば、限られた電力を複数のサーバ１０１−１〜１０１−ｎで共有するコンピュータシステムにおいて、余剰電力の有効利用を図ることができる。その理由は、個々のサーバ１０１−１〜１０１−ｎに現在設定した確保電力（最大許容電力）のうち余っている電力を回収して余剰電力として管理し、追加の電力を要求するサーバに対して余剰電力から電力を分配するためである。
【００９０】
また本実施の形態によれば、限られた電力を複数のサーバ１０１−１〜１０１−ｎで共有するコンピュータシステムにおいて、余剰電力の有効利用と性能保証の両立を実現することができる。その理由は、電力保証値の総和が電力上限設定値２２１以下となるように各サーバ１０１−１〜１０１−ｎのそれぞれに電力保証値が設定されており、管理装置２０１の制御装置２１１は、余剰電力に余裕がなければ、追加の電力を要求するサーバの現在の確保電力（最大許容電力）がそのサーバに保証された電力保証値より少ないことを条件に、電力保証値以上の電力を確保電力（最大許容電力）として確保している他のサーバから電力保証値を超える電力の全部または一部を強制的に余剰電力として回収した後に、追加の電力を要求するコンピュータに電力を分配するため、特許文献１に見られるように性能を保証するために電力を予め確保しておく必要がないためである。
【００９１】
なお、本実施の形態では、サーバ１０１−１〜１０１−ｎ内の電力調節対象コンポーネントをプロセッサ１１１、メモリ１１２、チップセット１１３およびディスクドライブ１１４の４コンポーネントとしたが、電力調整対象コンポーネントの種類は少なくとも１つあれば良く、例えばプロセッサ１１１だけを電力調節対象コンポーネントとした実施の形態も考えられる。
【００９２】
また、本実施の形態では管理装置２０１が１台であったが、他の実施の形態として、管理装置に冗長性を持たせるために管理装置２０１を複数備えるようにしても良い。この場合、一つの管理装置が動作不能になっても他の管理装置がその機能を補うことでシステムとしての動作が継続される。また他の実施の形態として、各サーバ１０１−１〜１０１−ｎの一台を選んで、管理装置としても動作させるという構成もありうる。この場合、管理装置として選ばれたサーバは自サーバも含めたサーバグループの電力管理を行う。
【００９３】
『第３の実施の形態』
図１６を参照すると、本発明の第３の実施の形態に係るコンピュータシステムは、複数のサーバコンピュータ４０１−１〜４０１−ｎがＬＡＮなどのネットワーク３０１を通じて相互に通信可能に接続されており、図２に示される第２の実施の形態におけるような管理装置２０１は存在しない。
【００９４】
サーバ４０１−１は、プロセッサ１１１、メモリ１１２、チップセット１１３、ディスクドライブ１１４、制御装置４１５、電力調節装置１１６、記憶装置１１７および通信装置１１８を備えている。ここで、プロセッサ１１１、メモリ１１２、チップセット１１３およびディスクドライブ１１４は、コンピュータに一般的に備わるコンポーネントである。他方、制御装置４１５、電力調節装置１１６、記憶装置１１７および通信装置１１８は、サーバ４０１−１およびサーバグループ４０２全体の電力を他のサーバ４０１−２〜４０１−ｎと連携して管理するために設けられている。また、プロセッサ１１１、メモリ１１２、チップセット１１３およびディスクドライブ１１４のそれぞれには、実電力を測定するための電力センサ１１１ａ〜１１４ａが取り付けられている。他のサーバ４０１−２〜４０１−ｎも、サーバ４０１−１と同じ構成と機能を有する。
【００９５】
記憶装置１１７には、確保電力値１２１、電力制限値テーブル１２２、性能対電力テーブル１２３、一時保存テーブル１２４、電力保証値４２５および保持電力値４２６が記憶されている。記憶装置１１７は、電力調節装置１１６から参照が可能であり、制御装置４１５から参照および更新が可能である。
【００９６】
保持電力値４２６は、サーバグループ４０２全体の電力上限設定値を定める値である。具体的には、各サーバ４０１−１〜４０１−ｎの保持電力値４２６の総和がサーバグループ４０２全体の電力上限設定値ＷGMAXに一致する。
【００９７】
確保電力値１２１は、自サーバ４０１−１に現在割り当てられている確保電力（最大許容電力）の値を示す。保持電力値４２６から確保電力値１２１を差し引いた残りの電力は、どのサーバ４０１−１〜４０１−ｎにも割り当てられていない余剰電力として、自サーバ４０１−１で管理される。他のサーバ４０１−１〜４０１−ｎも同様の余剰電力を管理しており、全てのサーバ４０１−１〜４０１−ｎで管理される余剰電力の総和がサーバグループ４０２全体の余剰電力となる。
【００９８】
電力制限値テーブル１２２、性能対電力テーブル１２３および一時保存テーブル１２４は、図２で示される第２の実施の形態におけるサーバ１０１−１における同一符号のテーブルと同じものである。
【００９９】
電力調節装置１１６は、性能対電力テーブル１２３を参照して、電力調節可能なコンポーネントの最大電力が電力制限値テーブル１２２に設定された電力制限値を超えないように各コンポーネントの性能を調整する装置であり、第２の実施の形態における同一符号の電力調節装置１１６と同じものである。
【０１００】
通信装置１１８は、自サーバ４０１−１と他サーバ４０１−２〜４０１−ｎとの間でネットワーク３０１を通じて通信するための装置である。サーバ４０１−１〜４０１−ｎ間で授受される主要な通信データのフォーマット例を図１７に示す。
【０１０１】
図１７を参照すると、電力要求通信データ３５１は、追加の電力が必要になったサーバ４０１−１〜４０１−ｎから他のサーバ４０１−１〜４０１−ｎへ送信される通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３５２と、通信種別が電力要求であることを識別するための識別子３５３と、要求する電力量３５４とから構成される。
【０１０２】
電力要求応答通信データ３６１は、電力要求通信データ３５１に対する応答として送信される通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３６２と、通信種別が電力要求応答であることを識別するための識別子３６３と、提供する電力量３６４とから構成される。ここで、提供電力量３６４が値０の場合、当該電力要求応答通信データ３６１は拒否応答となり、値０以外の場合、許可応答となる。
【０１０３】
電力状況問い合わせ通信データ３７１は、サーバ４０１−１〜４０１−ｎが他のサーバ４０１−１〜４０１−ｎの電力状況を問い合わせるための通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３７２と、通信種別が電力状況の問い合わせであることを識別するための識別子３７３とから構成される。
【０１０４】
電力状況回答通信データ３８１は、電力状況問い合わせ通信データ３７１に対する応答として送信される通信データであり、通信元アドレスや通信相手アドレス等を含む通信ヘッダ３８２と、通信種別が電力状況の回答であることを識別するための識別子３８３と、通信元サーバにおける保持電力値３８４、確保電力値３８５および電力保証値３８６とから構成される。
【０１０５】
制御装置４１５は、自サーバ４０１−１およびサーバグループ４０２全体の電力管理を他サーバの制御装置と連携して行う装置であり、電力センサ１１１ａ〜１１４ａ、電力調節装置１１６、通信装置１１８および記憶装置１１７に接続されている。制御装置４１５は、自サーバ４０１−１の最大消費電力が確保電力値１２１を超えないように電力調節装置１１６を用いて各コンポーネント１１１〜１１４の最大電力を調整する機能を有する。また制御装置４１５は、電力センサ１１１ａ〜１１４ａで測定された実電力に基づいて各コンポーネント１１１〜１１４の電力の過不足状態を判定し、電力が余っている場合には、自サーバ４０１−１で確保している確保電力の一部を余剰電力として開放する機能と、逆に電力が不足する場合には、電力要求通信データ３５１を用いて他のサーバ４０１−２〜４０１−ｎに対して不足分の電力を要求する機能とを有する。逆に、他のサーバ４０１−２〜４０１−ｎから電力要求通信データ３５１を受信した場合には、余剰電力を提供する機能を有する。
【０１０６】
ユーザインタフェース４１３は、入力装置４３１および表示装置４３２から構成される利用者入出力装置からの操作に応答して、記憶装置１１７に記憶されている保持電力値４２６、電力保証値４２５および確保電力値１２１の内容を表示装置４３２に表示し、また保持電力値４２６および電力保証値４２５の設定変更を行う。ここで、保持電力値４２６の設定変更に際しては、各サーバ４０１−１〜４０１−ｎの保持電力値４２６の総和が予め設定されたサーバグループ４０２全体の電力上限設定値に一致するように入力が制限され、また電力保証値４２５の設定変更に際しては、各サーバの電力保証値４２５の総和がサーバグループ４０２全体の電力上限設定値以下となるように入力の制限が行われる。
【０１０７】
なお、サーバ４０１−１のユーザインタフェース４１３に接続された利用者入出力装置から他のサーバ４０１−２〜４０１−ｎにおける保持電力値や電力保証値などの設定変更を行うようにすることもできる。また、ネットワーク３０１に接続した利用者入出力装置から任意のサーバ４０１−１〜４０１−ｎのユーザインタフェース４１３を通じて記憶装置１１７の参照更新を行うように構成することも可能である。
【０１０８】
次に、本実施の形態の動作を説明する。
【０１０９】
まず、個々のサーバ４０１−１〜４０１−ｎの最大消費電力がそのサーバに設定された確保電力値１２１を超えないように制御する動作は、第２の実施の形態と同じである。そして、各サーバ４０１−１〜４０１−ｎの確保電力値１２１の総和はサーバグループ４０２全体の電力上限設定値を超えないため、サーバグループ４０２全体の最大消費電力がサーバグループ４０２全体の電力上限設置値の範囲に抑えられる。
【０１１０】
次に、運用中のサーバ４０１−１〜４０１−ｎの実電力を監視し、その監視結果に基づいて各サーバの一部の電力の開放あるいはサーバへの電力の追加を動的に行う動作について説明する。
【０１１１】
サーバ４０１−１の制御装置４１５は定期的に図１８に示される監視処理を実行する。まず、図９のステップＳ１０１〜Ｓ１１０と同様の処理を実行する（Ｓ４０１）。つまり、自サーバ４０１−１の電力調節対象コンポーネントであるプロセッサ１１１、メモリ１１２、チップセット１１３およびディスクドライブ１１４の実電力を上限閾値および下限閾値と比較することにより、それらのコンポーネントにおける電力の不足状態や過剰状態を検出し、電力制限値を変更する必要のあるコンポーネントについて一時保存テーブル１２４に新たな電力制限値および過不足電力を記録する。
【０１１２】
次に制御装置４１５は、一時保存テーブル１２４に新たな電力制限値が少なくとも１つ登録されているか否かを判定し（Ｓ４０２）、新たな電力制限値が１つも登録されていなければ今回の監視処理を終え、登録されていれば以下の処理を実行する。
【０１１３】
まず制御装置４１５は、一時保存テーブル１２４に登録された過不足電力の総和を計算する（Ｓ４０３）。計算の結果、電力が不足する場合（Ｓ４０４でＹＥＳ）、制御装置４１５は後述する電力確保処理を行って不足する電力の確保を試みる（Ｓ４０５）。そして、不足電力の確保に成功した場合には（Ｓ４０６でＹＥＳ）、確保電力値１２１を確保した不足電力分だけ増大させる（Ｓ４０７）。次に、確保した電力と不足電力とを比較し、確保電力が不足電力より小さければ（Ｓ４１０でＹＥＳ）、一時保存テーブル１２４に記憶された新電力制限値の総和が、不足電力と確保電力の差だけ少なくなるように新電力制限値を修正する（Ｓ４１１）。このとき一時保存テーブル１２４に複数の電力調節対象コンポーネントの新電力制限値が記憶されている場合に、どの新電力制限値を修正するかは任意であり、全てを同じだけ修正しても良いし、予め定められたコンポーネント間の優先度に基づいて優先度の低いコンポーネントの新電力制限値を優先的に修正するようにしても良い。そして、処理をステップＳ４１２へ進める。
【０１１４】
他方、不足電力の確保に失敗した場合には（Ｓ４０６でＮＯ）、制御装置４１５は、一時保存テーブル１２４の新たな電力制限値および過不足電力の欄を空にクリアして今回の監視処理を終える（Ｓ４１３）。
【０１１５】
また、電力が過剰の場合（Ｓ４０８でＹＥＳ）、制御装置４１５は、自サーバ４０１−１の確保電力値１２１を過剰電力分だけ削減し（Ｓ４０９）、処理をステップＳ４１２へ進める。ここで、前述したように、サーバ４０１−１で管理される余剰電力は、保持電力値４２６から確保電力値１２１を差し引いた残りの電力であるから、確保電力値１２１を過剰電力分だけ削減すると、サーバ４０１−１で管理される余剰電力が過剰電力分だけ増加することになる。
【０１１６】
また、電力に不足も過剰もなく過不足電力が相殺されている場合（Ｓ４０８でＮＯ）、処理をステップＳ４１２へ進める。
【０１１７】
ステップＳ４１２においては、制御装置４１５は、第２の実施の形態における図１０のステップＳ１２２と同様に、一時保存テーブル１２４に従って、電力調節装置１１６による電力調節対象コンポーネントの電力制限値を変更する。このとき電力調節装置１１６は変更後の電力制限値に応じて電力調節対象コンポーネントの性能を調整する。
【０１１８】
制御装置４１５は、一時保存テーブル１２４に従った電力制限値の変更処理を完了すると、一時保存テーブル１２４の新たな電力制限値および過不足電力の欄を空にクリアし（Ｓ４１３）、今回の監視処理を終える。
【０１１９】
サーバ４０１−１以外のサーバ４０１−２〜４０１−ｎも、サーバ４０１−１と同様に定期的に図１８に示される監視処理を実行している。
【０１２０】
次に、図１８のステップＳ４０５の電力確保処理について、図１９のフローチャートを参照して説明する。
【０１２１】
まず、サーバ４０１−１の制御装置４１５は、保持電力値４２６から確保電力値１２１を差し引いた残りの電力である余剰電力と不足電力とを比較し、自サーバ４０１−１で管理している余剰電力から不足電力が充当できるかどうかを判定する（Ｓ４２１）。不足電力が余剰電力以下であり充当可能な場合（Ｓ４２１でＹＥＳ）、電力確保成功の処理結果を生成し（Ｓ４２９）、電力確保処理を終える。
【０１２２】
不足電力が余剰電力より大きく自サーバ４０１−１の余剰電力では賄いきれない場合（Ｓ４２１でＮＯ）、サーバグループ４０２全体の余剰電力などの電力状況を調査する（Ｓ４２２）。具体的には、まず電力状況問い合わせ通信データ３７１を同報通信などによって自サーバ４０１−１から他の全てのサーバ４０１−２〜４０１−ｎに対して送信する。電力状況問い合わせ通信データ３７１を受信した他のサーバ４０１−２〜４０１−ｎの制御装置４１５は、自サーバの保持電力値４２６、確保電力値１２１および電力保証値４２５をそれぞれ保持電力値３８４、確保電力値３８５および電力保証値３８６に設定した電力状況回答通信データ３８１をサーバ４０１−１へ送信する。サーバ４０１−１の制御装置４１５は、受信した電力状況回答通信データ３８１を解析し、例えば図２０に示されるような内部テーブル４２７に、他サーバ４０１−２〜４０１−ｎの保持電力値、確保電力値および電力保証値を記憶する。また、各サーバ毎の現在の余剰電力と生成可能な余剰電力とを計算して内部テーブル４２７に記録する。ここで、生成可能な余剰電力は、確保電力値から電力保証値を差し引いた残りの電力として計算される。
【０１２３】
次に制御装置４１５は、他サーバ４０１−２〜４０１−ｎの余剰電力の総和に自サーバ４０１−１の余剰電力を加えて計算されるサーバグループ全体の余剰電力と自サーバ４０１−１の不足電力とを比較し、サーバグループ全体の余剰電力から不足電力が充当できるかどうかを判定する（Ｓ４２３）。不足電力がサーバグループ全体の余剰電力以下であり充当可能な場合（Ｓ４２３でＹＥＳ）、電力要求通信データ３５１を用いて余剰電力のある他サーバに対して電力を要求する（Ｓ４２４）。ここで要求する電力は、不足電力から自サーバ４０１−１の余剰電力を差し引いた残りの電力である。また複数の余剰電力のある他サーバが存在する場合に、どの他サーバにどれだけの電力を要求するかについては、各種の方法が考えられる。例えば、余剰電力のある全ての他サーバに電力要求を出すようにしても良い。この場合、各サーバの要求電力量３５４を等しくしても良いし、余剰電力が大きいサーバほど要求電力量を大きくしても良い。また、各サーバに付与された優先度を考慮して、電力要求の有無および要求電力量を制御するようにしても良い。サーバ４０１−１の制御装置４１５は、電力要求通信データ３５１を送信した他サーバの全てから肯定応答の電力要求応答通信データ３６１を受信すると、自サーバ４０１−１の保持電力値４２６を要求電力分だけ増大させ（Ｓ４２５）、電力確保成功の処理結果を生成して（Ｓ４３１）、電力確保処理を終える。
【０１２４】
他方、不足電力がサーバグループ全体の余剰電力を超えている場合（Ｓ４２３でＮＯ）、サーバ４０１−１の制御装置４１５は、自サーバ４０１−１の確保電力値１２１が電力保証値４２５以上であれば（Ｓ４２６でＹＥＳ）、余剰電力に余裕がない状況の下ではそれ以上の電力の追加は保証されないので、電力確保失敗の処理結果を生成し（Ｓ４２７）、電力確保処理を終える。
【０１２５】
しかし、自サーバ４０１−１の確保電力値１２１が電力保証値４２５より小さければ（Ｓ４２６でＮＯ）、電力保証値４２５までの電力を確保するために制御装置４１５は、以下の処理を実行する。
【０１２６】
まず制御装置４１５は、自サーバ４０１−１の不足電力を、自サーバ４０１−１の電力保証値４２５から確保電力値１２１を差し引いた残りの電力まで削減する（Ｓ４２８）。次に、削減後の不足電力とサーバグループの余剰電力とを比較し（Ｓ４２９）、余剰電力が不足電力以上あれば（Ｓ４２９でＹＥＳ）、余剰電力から充当可能なので、電力要求通信データ３５１を用いて余剰電力のある他サーバに対して電力を要求し（Ｓ４２４）、電力要求通信データ３５１を送信した他サーバの全てから肯定応答の電力要求応答通信データ３６１が帰ってくるのを待って、自サーバ４０１−１の保持電力値４２６を要求電力分だけ増大させ（Ｓ４２５）、電力確保成功の処理結果を生成して（Ｓ４２９）、電力確保処理を終える。
【０１２７】
他方、サーバグループの余剰電力が不足電力より少なければ（Ｓ４２９でＮＯ）、制御装置４１５は、余剰電力のあるサーバおよび（確保電力＞電力保証値）のサーバに対して、電力要求通信データ３５１を用いて電力を要求する。ここで要求する電力は、自サーバ４０１−１の電力保証値４２５から確保電力値１２１と自サーバ４０１−１の余剰電力とを差し引いた残りの電力である。具体的には、まず余剰電力のある他サーバからその余剰電力の全てを要求する電力要求通信データ３５１を作成する。次に、（不足電力−余剰電力）分の電力を（確保電力＞電力保証値）のサーバから確保するための電力要求通信データ３５１を作成する。（確保電力＞電力保証値）のサーバが複数存在する場合に、どの他サーバにどれだけの電力を要求するかについては、第２の実施の形態で説明したような各種の方法が考えられる。最後に、前記作成した電力要求通信データ３５１のうち、要求先のサーバが同じ複数の通信データは、電力要求量３５４を加算した１つの通信データに統合する。そして、これらの電力要求通信データ３５１を通信装置１１８を通じて他サーバへ送信する。その後、電力要求通信データ３５１を送信した他サーバの全てから肯定応答の電力要求応答通信データ３６１が帰ってくるのを待って、自サーバ４０１−１の保持電力値４２６を要求電力分だけ増大させ（Ｓ４２５）、電力確保成功の処理結果を生成して（Ｓ４２９）、電力確保処理を終える。
【０１２８】
次に、図１９のステップＳ４２４およびＳ４３０で出された電力要求通信データ３５１を受信したサーバ４０１−１〜４０１−ｎの動作を、サーバ４０１−１を例に挙げて説明する。
【０１２９】
図２１を参照すると、サーバ４０１−１の制御装置４１５は、他のサーバ４０１−２〜４０１−ｎから送信された電力要求通信データ３５１を通信装置１１８を通じて受信すると、その通信データ３５１を解析し、識別子３５３の解析結果から電力要求であること、電力要求量３５４から要求された電力量をそれぞれ認識する（Ｓ４４１）。
【０１３０】
次に制御装置４１５は、保持電力値４２６から確保電力値１２１を差し引いた残りの電力である余剰電力と要求電力とを比較し、自サーバ４０１−１で管理している余剰電力から要求電力が充当できるかどうかを判定する（Ｓ４４２）。要求電力が余剰電力以下であり充当可能な場合（Ｓ４４２でＹＥＳ）、保持電力値４２６を要求電力分だけ削減し（Ｓ４４３）、提供電力量３６４に要求電力分の電力を記載した電力要求応答通信データ３６１を電力要求元のサーバに対して送信し（Ｓ４４４）、処理を終える。
【０１３１】
他方、要求電力が自サーバ４０１−１の余剰電力を超えている場合（Ｓ４４２でＮＯ）、制御装置４１５は、自サーバ４０１−１の確保電力を最低保証の電力保証値とした場合に確保できる余剰電力の最大値である（保持電力値４２６−電力保証値４２５）と、要求電力とを比較する（Ｓ４４５）。そして、要求電力が（保持電力値４２６−電力保証値４２５）を超えていれば、電力要求を拒否するために、提供電力量３６４を値０にした電力要求応答通信データ３６１を電力要求元のサーバに対して送信し（Ｓ４４６）、処理を終える。
【０１３２】
要求電力が（保持電力値４２６−電力保証値４２５）を超えていなければ（Ｓ４４５でＮＯ）、要求電力から自サーバの余剰電力を差し引いた残りの電力分だけ確保電力値１２１を削減する（Ｓ４４７）。次に、制御装置４１５は、図１３のステップＳ２３３と同様の方法で、確保電力値１２１の削減に応じて、電力調節装置１１６による電力調節対象コンポーネントの電力制限値を変更する（Ｓ４４８）。次に、保持電力値４２６の値が確保電力値１２１の値と等しくなるように修正する（Ｓ４４９）。そして、提供電力量３６４に要求電力分の電力を記載した電力要求応答通信データ３６１を電力要求元のサーバに対して送信し（Ｓ４４４）、処理を終える。例えば、サーバ４０１−１の保持電力値４２６が１５０Ｗ、確保電力値１２１が１２０Ｗ、電力保証値４２５が１００Ｗであり、４０Ｗの電力要求があった場合、ステップＳ４４５の判定はＮＯとなり、ステップＳ４４７で確保電力値１２１が１１０Ｗに更新され、ステップＳ４４８で電力調節対象コンポーネントの電力制限値が変更された後、ステップＳ４４９で保持電力値４２６が１１０Ｗに更新され、ステップＳ４４４で提供電力量３６４に４０Ｗが設定された電力要求応答通信データ３６１が送信される。この結果、４０Ｗの電力要求を受ける直前に３０Ｗあった余剰電力が０Ｗになり、さらに足りない１０Ｗが確保電力値１２１から削減される。
【０１３３】
次に本実施の形態の効果を説明する。
【０１３４】
本実施の形態によれば、限られた電力を複数のサーバ４０１−１〜４０１−ｎで共有するコンピュータシステムにおいて、余剰電力の有効利用を図ることができる。その理由は、個々のサーバ４０１−１〜４０１−ｎに現在設定した確保電力（最大許容電力）のうち余っている電力を回収して各サーバ毎にどのサーバでも使用できる余剰電力として管理し、追加の電力を要求するサーバに対して余剰電力から電力を分配するためである。
【０１３５】
また本実施の形態によれば、限られた電力を複数のサーバ４０１−１〜４０１−ｎで共有するコンピュータシステムにおいて、余剰電力の有効利用と性能保証の両立を実現することができる。その理由は、電力保証値の総和がサーバグループ全体の電力上限設定値以下となるように各サーバ４０１−１〜４０１−ｎのそれぞれに電力保証値が設定されており、追加の電力が必要となった各サーバ４０１−１〜４０１−ｎは、自サーバで管理する余剰電力に余裕がなければ、現在の確保電力（最大許容電力）が電力保証値より少ないことを条件に、電力保証値以上の電力を確保電力（最大許容電力）として確保している他のサーバから電力保証値を超える電力の全部または一部を強制的に余剰電力として回収するため、特許文献１に見られるように性能を保証するために電力を予め確保しておく必要がないためである。
【０１３６】
また本実施の形態によれば、第２の実施の形態におけるような管理装置２０１が不要であるため、システムのコストを下げることができる。また、管理装置２０１の機能が各サーバに分散するため、何れかのサーバに障害が起きても機能を継続することが可能となり、耐障害性が向上する。
【０１３７】
『第４の実施の形態』
図２２を参照すると、本発明の第４の実施の形態に係るコンピュータシステムは、図２に示される第２の実施の形態と比較して、各サーバ１０１−１〜１０１−ｎが制御装置１１５の代わりに制御装置５１５を備えている点、負荷監視装置５０１および電力過不足判定閾値テーブル５０２を新たに備えている点、電力センサ１１１ａ〜１１４ａが設けられていない点で相違する。
【０１３８】
第２の実施の形態では電力調整対象コンポーネント１１１〜１１４の実電力を電力センサ１１１ａ〜１１４ａで検出し、そのコンポーネント１１１〜１１４に現在設定されている電力制限値の例えば９割を上限閾値、例えば７割を下限閾値とし、実電力を上限閾値、下限閾値と比較することにより、各コンポーネント１１１〜１１４における電力の過不足を判断した。これに対して本実施の形態では、各コンポーネント１１１〜１１４の現在の負荷を電力過不足判定閾値テーブル５０２に記憶された上限閾値および下限閾値と比較することで、各コンポーネント１１１〜１１４における電力の過不足を判断する。
【０１３９】
負荷監視装置５０１は、各コンポーネント１１１〜１１４の負荷を監視し、監視結果を制御装置５１５に通知する。監視する負荷の種類は、例えばプロセッサ１１１の場合はプロセッサの使用率、メモリ１１２の場合はそのアクセスレート（転送レート）、チップセットの場合は例えばフロントサイドバスのアクセスレート、ディスクドライブ１１４の場合はそのアクセスレートである。通知する負荷は瞬間的な負荷であっても良いし、過去一定期間の最大値や平均負荷であっても良い。
【０１４０】
電力過不足判定閾値テーブル５０２には、図２３に示されるように、各コンポーネント１１１〜１１４毎の上限閾値および下限閾値が記憶されている。例えば、プロセッサ１１１の場合、上限閾値としてたとえばＣＰＵ使用率９０％、下限閾値としてたとえばＣＰＵ使用率７０％が電力過不足判定閾値テーブル５０２に記憶されている。また、メモリ１１２、チップセット１１３およびディスクドライブ１１４の場合、アクセスレートの最大値は現在の電力制限値によって変化するため、上限閾値および下限閾値は各電力制限値毎に設定されている。
【０１４１】
制御装置５１５は、各コンポーネント１１１〜１１４毎に、負荷監視装置５０１から通知された現在の負荷を電力過不足判定閾値テーブル５０２に記憶された上限閾値および下限閾値と比較する。コンポーネントの現在の負荷が上限閾値を超えるほど高い場合には、電力が性能の律速要素になっているため電力不足と判断し、反対に下限閾値を超えるほど低い場合には、より低い性能にしても良いため電力が過剰と判断する。
【０１４２】
その他の構成および動作は第２の実施の形態と同じである。
【０１４３】
本実施の形態によれば、第２の実施の形態と同様の効果が得られると共に、電力センサを不要にすることができる。
【０１４４】
なお、本実施の形態は第２の実施の形態を前提としたが、第３の実施の形態を前提とした実施の形態も考えられる。また、複数の電力調節可能なコンポーネントの一部は電力センサによる監視を行い、残りのコンポーネントは負荷監視を行うといった実施の形態も考えられる。
【０１４５】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、本発明をブレードサーバシステムの電力管理に適用する場合、第２の実施の形態における管理装置の機能をブレードサーバシステムの筐体管理モジュールが担うことで、筐体内の電力上限制御が可能となる。また、ブレードサーバ筐体を一つのサーバとみなしてネットワークで複数接続し、第３の実施の形態のような構成で運用することで、複数筐体にまたがった電力上限制御を管理装置なしで行うことができる。さらに、前述した各実施の形態におけるサーバ内の電力調節装置と制御装置、および管理装置内の制御装置は、ハードウェアで実現できる以外に、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるサーバ内の電力調節装置および制御装置、または管理装置の制御装置として機能させる。
【図面の簡単な説明】
【０１４６】
【図１】本発明の第１の実施の形態のブロック図である。
【図２】本発明の第２の実施の形態のブロック図である。
【図３】本発明の第２の実施の形態で使用する電力保証値テーブルの一例を示す図である。
【図４】本発明の第２の実施の形態で使用する確保電力テーブルの一例を示す図である。
【図５】本発明の第２の実施の形態で使用する通信データの一例を示す図である。
【図６】本発明の第２の実施の形態で使用する電力制限値テーブルの一例を示す図である。
【図７】本発明の第２の実施の形態で使用する性能対電力テーブルの一例を示す図である。
【図８】本発明の第２の実施の形態で使用する一時保存テーブルの一例を示す図である。
【図９】本発明の第２の実施の形態におけるサーバの制御装置が行う監視処理の一例を示すフローチャートである。
【図１０】本発明の第２の実施の形態におけるサーバの制御装置が行う監視処理の一例を示すフローチャートである。
【図１１】本発明の第２の実施の形態における管理装置がサーバから電力開放通知を受信した際に行う処理の一例を示すフローチャートである。
【図１２】本発明の第２の実施の形態における管理装置がサーバに対して行う電力確保処理の一例を示すフローチャートである。
【図１３】本発明の第２の実施の形態におけるサーバが管理装置から電力削減要求を受信した際に行う処理の一例を示すフローチャートである。
【図１４】本発明の第２の実施の形態における各サーバの確保電力の推移を示す図である。
【図１５】本発明の第２の実施の形態において、或るサーバで負荷が増大し新たな電力が必要になってから、追加の電力を確保して電力制限を緩和するまでに、各サーバと管理装置との間のやりとりされる要求等のシーケンスを示す図である。
【図１６】本発明の第３の実施の形態のブロック図である。
【図１７】本発明の第３の実施の形態で使用する通信データの一例を示す図である。
【図１８】本発明の第３の実施の形態におけるサーバの制御装置が行う監視処理の一例を示すフローチャートである。
【図１９】本発明の第３の実施の形態におけるサーバの制御装置が行う電力確保処理の一例を示すフローチャートである。
【図２０】本発明の第３の実施の形態におけるサーバが使用する内部テーブルの一例を示す図である。
【図２１】本発明の第３の実施の形態におけるサーバが他のサーバから電力要求を受けた際に行う処理の一例を示すフローチャートである。
【図２２】本発明の第４の実施の形態のブロック図である。
【図２３】本発明の第４の実施の形態におけるサーバが使用する電力過不足判定閾値テーブルの一例を示す図である。
【符号の説明】
【０１４７】
Ｃ１〜Ｃｎ…コンピュータ
ＣＯＮＴ…制御手段
１０１−１〜１０１−ｎ…サーバコンピュータ
１０２…サーバグループ
１１１…プロセッサ
１１２…メモリ
１１３…チップセット
１１４…ディスクドライブ
１１１ａ〜１１４ａ…電力センサ
１１５…制御装置
１１６…電力調節装置
１１７…記憶装置
１１８…通信装置
１２１…確保電力値
１２２…電力制限値テーブル
１２３…性能対電力テーブル
１２４…一時保存テーブル
２０１…管理装置
２１１…制御装置
２１２…記憶装置
２１３…ユーザインタフェース
２１４…通信装置
２２１…電力上限設定値
２２２…電力保証値テーブル
２２３…確保電力テーブル
３０１…ネットワーク
【図１】
0004395800.tif 000002
【図２】
0004395800.tif 000003
【図３】
0004395800.tif 000004
【図４】
0004395800.tif 000005
【図５】
0004395800.tif 000006
【図６】
0004395800.tif 000007
【図７】
0004395800.tif 000008
【図８】
0004395800.tif 000009
【図９】
0004395800.tif 000010
【図１０】
0004395800.tif 000011
【図１１】
0004395800.tif 000012
【図１２】
0004395800.tif 000013
【図１３】
0004395800.tif 000014
【図１４】
0004395800.tif 000015
【図１５】
0004395800.tif 000016
【図１６】
0004395800.tif 000017
【図１７】
0004395800.tif 000018
【図１８】
0004395800.tif 000019
【図１９】
0004395800.tif 000020
【図２０】
0004395800.tif 000021
【図２１】
0004395800.tif 000022
【図２２】
0004395800.tif 000023
【図２３】
0004395800.tif 000024