(57)【特許請求の範囲】
【請求項１】
複数の他サーバと接続されるサーバであって、
電源を停止させることを指示する電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させる電源停止制御部と、
前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた場合、断続的に前記予め決められた処理部の前記電源を起動させる電源起動制御部と、
前記電源起動制御部が前記予め決められた処理部の前記電源を起動させた場合、前記複数の他サーバのうち処理実行中の他サーバの処理負荷が、当該処理実行中の他サーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する電源起動判定部と、
前記電源起動判定部が、前記処理実行中の他サーバの前記処理負荷が前記上限負荷より高いと判定した場合、前記予め決められた処理部に対する処理実行を制御する処理制御部と
を備えるサーバ。
【請求項２】
前記電源停止制御部は、
前記電源起動判定部が、前記処理実行中の他サーバの前記処理負荷が前記上限負荷よりも高くないと判定した場合、前記予め決められた処理部の前記電源を停止させる請求項１に記載のサーバ。
【請求項３】
前記複数の他サーバの処理負荷を示す負荷情報を収集する負荷情報収集部をさらに備え、
前記電源起動判定部は、
前記負荷情報に基づき、前記複数の他サーバの処理能力に応じて予め決められている最大の処理負荷に対する、現在の処理負荷の比率を示す当該複数の他サーバの処理負荷率を算出し、前記複数の他サーバの前記処理負荷率の平均を算出し、当該平均が予め決められた第１の閾値以上であるか否かを判定し、当該平均が当該第１の閾値以上である場合、前記処理実行中の他サーバの前記処理負荷が前記上限負荷より高いと判定する請求項１あるいは２に記載のサーバ。
【請求項４】
前記電源起動判定部は、
前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた時点から予め決められた時間が経過したか否かを判定し、
前記電源起動制御部は、
前記予め決められた処理部の前記電源が停止された前記時点から前記予め決められた時間が経過したと前記電源起動判定部が判定した場合、前記予め決められた処理部の前記電源を起動させる請求項１から３のうちいずれか一項に記載のサーバ。
【請求項５】
前記電源起動判定部は、
前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた時点から、前記処理実行中の他サーバの前記処理負荷が予め決められた第２の閾値よりも低いと判断された回数に応じて長くされる時間間隔が経過したか否かを判定し、
前記電源起動制御部は、
前記予め決められた処理部の前記電源が停止された前記時点から前記時間間隔が経過したと前記電源起動判定部が判定した場合、前記予め決められた処理部の前記電源を起動させる請求項１から３のうちいずれか一項に記載のサーバ。
【請求項６】
前記複数の他のサーバと共有すべき共有データを記憶する記憶部と、
前記電源起動制御部が前記予め決められた処理部の前記電源を起動させた場合、前記共有データにおいて更新された差分データを前記他のサーバから受信して、当該差分データに基づき前記共有データを更新する差分同期処理部をさらに備える請求項１から５のうちいずれか一項に記載のサーバ。
【請求項７】
複数のサーバと、当該複数のサーバと接続して通信する電源管理装置と、を備え、
前記電源管理装置は、
前記複数のサーバの処理状況に応じた処理負荷を示す負荷情報に基づき、前記複数のサーバのうち処理実行中のサーバの処理負荷が、当該処理実行中のサーバの台数以下の台数のサーバで処理可能な負荷として予め決められている下限負荷より低いか否かを判定し、前記処理実行中のサーバの前記処理負荷が前記下限負荷より低い場合、前記処理実行中のサーバのうち少なくとも１つのサーバの電源を停止するように指示する電源停止指示信号を、当該電源を停止させるサーバに送信する電源停止指示部を備え、
前記サーバは、
前記電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させる電源停止制御部と、
前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた場合、断続的に前記予め決められた処理部の前記電源を起動させる電源起動制御部と、
前記電源起動制御部が前記予め決められた処理部の前記電源を起動させた場合、前記複数のサーバのうち前記処理実行中のサーバの前記処理負荷が、当該処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する電源起動判定部と、
前記電源起動判定部が、前記処理実行中のサーバの前記処理負荷が前記上限負荷より高いと判定した場合、前記予め決められた処理部に対する処理実行を制御する処理制御部と
を備える電源管理システム。
【請求項８】
前記少なくとも１つのサーバは、最も処理負荷が低いサーバである請求項７に記載の電源管理システム。
【請求項９】
複数の他サーバと接続されるサーバにおける電源管理方法であって、
電源を停止させることを指示する電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させ、
前記予め決められた処理部の前記電源が停止された場合、断続的に前記予め決められた処理部の前記電源を起動させ、
前記予め決められた処理部の前記電源が起動された場合、前記複数の他サーバのうち処理実行中の他サーバの処理負荷が、当該処理実行中の他サーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定し、
前記処理実行中の他サーバの前記処理負荷が前記上限負荷より高いと判定された場合、前記予め決められた処理部に対する処理実行を制御する電源管理方法。
【請求項１０】
コンピュータを、
複数の他サーバと接続して通信する通信部、
電源を停止させることを指示する電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させる電源停止制御部、
前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた場合、断続的に前記予め決められた処理部の前記電源を起動させる電源起動制御部、
前記電源起動制御部が前記予め決められた処理部の前記電源を起動させた場合、前記複数の他サーバのうち処理実行中の他サーバの処理負荷が、当該処理実行中の他サーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する電源起動判定部、
前記電源起動判定部が、前記処理実行中の他サーバの前記処理負荷が前記上限負荷より高いと判定した場合、前記予め決められた処理部に対する処理実行を制御する処理制御部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、電源管理システム、電源管理方法、およびプログラムに関する。
【背景技術】
【０００２】
複数のサーバおよびストレージサーバを有するクラスタ構成の場合、全体のサービスの負荷に応じてサーバを停止させ、電力消費をおさえることで運用コスト削減につなげることができる。負荷に合わせてサーバ群を停止させる実現方法としては、電源管理サーバが各サーバの電源状況を一極集中で管理するものが提案されている（例えば、特許文献１参照）。電源管理サーバがサーバの負荷情報を監視し、負荷が低いサーバの電源を停止する命令を発行する。【０００３】
この形態でサーバの電源を起動する方法としては、２通りの方法がある。【０００４】
１つ目の方法は、電源管理サーバがサーバの負荷情報を常時監視し、サーバ群の負荷が上がってきた場合に停止しているサーバを電源管理サーバが起動させる方法である。２つ目の方法は、サーバを停止させるときに起動する時刻をあらかじめ設定しておき、その時刻にサーバが自律して起動する方法である。【０００５】
なお、予定した時刻のマシンの起動は、例えば、Advanced Configuration and Power Interface Wakeup機能などを利用するものがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】日本特開２００９−１７６０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記２つの方法にはそれぞれ問題がある。１つ目の方法の問題は、電源管理サーバで障害が発生した場合、停止しているサーバ群の電源を起動することができないことである。その結果、サーバ群で構成しているシステム全体の負荷が上がってきたときに電源を起動することができず、システムが負荷に耐えられなくなり、破綻する恐れがある。【０００８】
２つ目の方法の問題は、サーバを停止するときに起動する時刻を決めなければならず、システムの負荷に合わせて電源を起動することが困難であることである。未来の負荷の推測に基づいて時刻を決めるなどの方法が考えられるが、突発的な負荷への対応は困難である。【０００９】
つまり、これらの電源管理方法では、サーバ群の電源を安定的に制御することができず、複数のサーバ間で処理負荷を分担するシステムの信頼性が低下するという問題があった。また、信頼性を向上させるため、サーバ群の電源を停止させない場合、サーバ群の消費電力を抑えることができないという問題があった。【００１０】
そこで、本発明は、サーバ群の電源制御の信頼性を向上させるとともに、サーバ群の消費電力を低減させることができるサーバ、電源管理システム、電源管理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
この発明は上述した課題を解決するためになされたもので、本発明の一態様に係るサーバは、複数の他サーバと接続されるサーバであって、電源を停止させることを指示する電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させる電源停止制御部と、前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた場合、断続的に前記予め決められた処理部の前記電源を起動させる電源起動制御部と、前記電源起動制御部が前記予め決められた処理部の前記電源を起動させた場合、前記複数の他サーバのうち処理実行中の他サーバの処理負荷が、当該処理実行中の他サーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する電源起動判定部と、前記電源起動判定部が、前記処理実行中の他サーバの前記処理負荷が前記上限負荷より高いと判定した場合、前記予め決められた処理部に対する処理実行を制御する処理制御部とを備える。【００１２】
本発明の一態様に係る電源管理システムは、複数のサーバと、当該複数のサーバと接続して通信する電源管理装置と、を備え、前記電源管理装置は、前記複数のサーバの処理状況に応じた処理負荷を示す負荷情報に基づき、前記複数のサーバのうち処理実行中のサーバの処理負荷が、当該処理実行中のサーバの台数以下の台数のサーバで処理可能な負荷として予め決められている下限負荷より低いか否かを判定し、前記処理実行中のサーバの前記処理負荷が前記下限負荷より低い場合、前記処理実行中のサーバのうち少なくとも１つのサーバの電源を停止するように指示する電源停止指示信号を、当該電源を停止させるサーバに送信する電源停止指示部を備え、前記サーバは、前記電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させる電源停止制御部と、前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた場合、断続的に前記予め決められた処理部の前記電源を起動させる電源起動制御部と、前記電源起動制御部が前記予め決められた処理部の前記電源を起動させた場合、前記複数のサーバのうち前記処理実行中のサーバの前記処理負荷が、当該処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する電源起動判定部と、前記電源起動判定部が、前記処理実行中のサーバの前記処理負荷が前記上限負荷より高いと判定した場合、前記予め決められた処理部に対する処理実行を制御する処理制御部とを備える。【００１３】
本発明の一態様に係る電源管理方法は、複数の他サーバと接続されるサーバにおける電源管理方法であって、電源を停止させることを指示する電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させ、前記予め決められた処理部の前記電源が停止された場合、断続的に前記予め決められた処理部の前記電源を起動させ、前記予め決められた処理部の前記電源が起動された場合、前記複数の他サーバのうち処理実行中の他サーバの処理負荷が、当該処理実行中の他サーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定し、前記処理実行中の他サーバの前記処理負荷が前記上限負荷より高いと判定された場合、前記予め決められた処理部に対する処理実行を制御する。【００１４】
本発明の一態様に係るプログラムは、コンピュータを、複数の他サーバと接続して通信する通信部、電源を停止させることを指示する電源停止指示信号を受信した場合、前記電源からの電力を利用する処理部のうち前記電源からの前記電力の供給を停止させる処理部として予め決められた処理部の電源を停止させる電源停止制御部、前記電源停止制御部が前記予め決められた処理部の前記電源を停止させた場合、断続的に前記予め決められた処理部の前記電源を起動させる電源起動制御部、前記電源起動制御部が前記予め決められた処理部の前記電源を起動させた場合、前記複数の他サーバのうち処理実行中の他サーバの処理負荷が、当該処理実行中の他サーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する電源起動判定部、前記電源起動判定部が、前記処理実行中の他サーバの前記処理負荷が前記上限負荷より高いと判定した場合、前記予め決められた処理部に対する処理実行を制御する処理制御部として機能させる。
【発明の効果】
【００１５】
本発明は、サーバ群の電源制御の信頼性を向上させるとともに、サーバ群の消費電力を低減させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態に係るサーバ電源管理システムの一例を示す図である。
【図２】本発明の第１実施形態に係る間欠起動の一例について説明するための図である。
【図３】本発明の第１実施形態に係るサーバ電源管理システムの構成の一例を示す図である。
【図４】本発明の第１実施形態に係る電源管理サーバの処理フローの一例について説明するためのフローチャートである。
【図５】本発明の第１実施形態に係るサーバ群に含まれるサーバの停止命令時の処理フローの一例について説明するためのフローチャートである。
【図６】本発明の第１実施形態に係るサーバ群に含まれるサーバの間欠起動時の処理フローの一例について説明するためのフローチャートである。
【図７】本発明の第１実施形態に係るサーバ電源管理システムのシーケンス図である。
【図８】本発明の第１実施形態に係るサーバ電源管理システムのシーケンス図である。
【図９】本発明の第２実施形態に係るサーバ電源管理システムの構成の一例を示す図である。
【図１０】本発明の第２実施形態に係るサーバ群に含まれるサーバの間欠起動時の処理フローの一例について説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
［第１実施形態］
本発明の第１実施形態について図面を参照して詳細に説明する。図１は、本実施形態に係るサーバ電源管理システムの一例を示す図である。
図１に示す通り、本実施形態に係るサーバ電源管理システムは、電源管理サーバ（電源管理装置）１００と、複数のサーバからなるサーバ群２００と、負荷監視サーバ（負荷監視装置）３００と、を備える。これらは、それぞれネットワークを介して接続されている。
サーバ群２００は、複数のサーバとして、例えば、サーバ２００＿１と、サーバ２００＿２と、サーバ２００＿３とを含む。なお、本実施形態において、説明便宜のため、３つのサーバを例に説明するが、本発明の実施形態はこれに限られず、３台以外の多数のサーバを備える構成であってもよい。
【００１８】
電源管理サーバ１００は、サーバ２００＿１〜２００＿３の処理状況に応じて、各サーバ２００＿１〜２００＿３の処理負荷に十分な余裕がある状態か否かを判定する。十分な余裕がある状態であると判定した場合、つまり、サーバ群２００における処理負荷が低い場合、電源管理サーバ１００は、サーバ群２００の処理状況に応じて少なくとも１つのサーバの電源を停止させる。このため、サーバ群２００の処理能力を確保しつつ、サーバ群２００の消費電力を抑えることができる。
また、サーバ群２００に含まれるサーバは、電源管理サーバ１００からの指示に従って電源が停止された場合、断続的に起動して、サーバ群２００に含まれる処理実行中のサーバの処理状況に応じて、処理実行中のサーバの処理負荷にあまり余裕がない状態か否かを判定する。あまり余裕がない状態であると判定した場合、つまり、サーバ群２００における処理負荷が高い場合、サーバは、電源停止中であった自サーバの電源を起動し続ける。このため、サーバ群２００の電源を安定的に制御することができ、複数のサーバ間で処理負荷を分担するシステムの信頼性を向上させることができる。なお、電源管理サーバ１００からの指示に従ってサーバ群２００の一部のサーバの電源が停止された後、処理実行中のサーバの負荷状況を判定するため、電源の停止が指示されたサーバを断続的に起動することを、間欠起動と、以下呼称する。
【００１９】
なお、サーバ群２００の処理負荷に十分な余裕がある状態とは、サーバ群２００において処理実行中のサーバの処理負荷が、処理実行中のサーバの台数以下の台数のサーバで処理可能な負荷として予め決められている下限負荷より低い状態をいう。この下限負荷は、サーバ群２００の処理状況に応じて予め決められており、例えば、処理実行中のサーバの処理負荷の割合（以下、処理負荷率という）に基づき予め決められている閾値である。この処理負荷率とは、サーバ２００＿１〜２００＿３の処理能力に応じて予め決められている最大の処理負荷（処理負荷が１００％である状態）に対する、現在の処理負荷の比率を１００分率で示す値である。
また、サーバ群２００の処理負荷にあまり余裕がない状態とは、サーバ群２００において処理実行中のサーバの処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高い状態をいう。この上限負荷は、サーバ群２００の処理状況に応じて予め決められており、例えば、処理実行中のサーバの処理負荷率に基づき予め決められている閾値である。
【００２０】
ここで、図２を参照して、サーバ群２００に含まれる各サーバにおける間欠起動について説明する。図２は、本実施形態に係る間欠起動の一例について説明するための図である。
例えば、サーバ群２００に含まれるサーバ２００＿３が処理実行中である場合において、電源管理サーバ１００からサーバ２００＿３に対して電源の停止が指示された場合、サーバ２００＿３の電源は停止される（ｔ１）。その後、サーバ２００＿３は、例えば、一定時間Ｔごとに間欠起動して、サーバ群２００において処理実行中のサーバの処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する。
例えば、最初の間欠起動の時刻（ｔ２）では、サーバ群２００において処理実行中のサーバの処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷よりも高くないと判定される。このため、サーバ２００＿３は、再び電源を落とし、停止状態となる（ｔ３）。また、次の間欠起動の時刻（ｔ４）においても、サーバ群２００において処理実行中のサーバの処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷よりも高くないと判定される。このため、サーバ２００＿３は、再び電源を落とし、停止状態となる（ｔ５）。
一方、３回目の間欠起動の時刻（ｔ６）では、サーバ群２００において処理実行中のサーバの処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いと判定される。このとき、サーバ２００＿３は、電源を落とすことなく、起動状態のまま、処理を実行する。
すなわち、サーバ２００＿３は、時刻ｔ１において、電源停止命令を受信する。また、サーバ２００＿３は、時刻ｔ２および時刻ｔ４において、定期的に起動して負荷をチェックし、低負荷と判断して、時刻ｔ３および時刻ｔ５において再び電源を停止する。さらに、サーバ２００＿３は、時刻ｔ６において、負荷をチェックした結果として高負荷と判断し、そのまま起動しつづけ、処理可能状態に遷移する。
【００２１】
このように、サーバ群２００において処理実行中のサーバの処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷を超えない場合は、処理実行中のサーバ以外のサーバの電源を停止させる。その結果、サーバ群２００の全体の消費電力を抑えることができる。また、電源が停止中の各サーバが、電源管理サーバ１００からの指示によらず、間欠起動し、処理実行が必要か否かを判定している。このため、仮に、電源管理サーバ１００が停止してしまった場合であっても、必要に応じてサーバ群２００の処理能力を上げることができる。
【００２２】
次に、図３を参照して、本実施形態に係るサーバ電源管理システムの構成例について説明する。図３は、本実施形態に係るサーバ電源管理システムの構成の一例を示す図である。
電源管理サーバ１００は、負荷情報収集部１０１と、電源停止判定部１０２と、電源停止指示部１０３と、通信部１０４とを備える。
負荷情報収集部１０１は、サーバ群２００の処理状況に応じた処理負荷を示す負荷情報を取得する。この負荷情報収集部１０１は、例えば、負荷監視サーバ３００に対して、負荷監視サーバ３００が事前に収集したサーバ群２００の処理負荷を示す負荷情報の送信を要求し、負荷情報を取得する。このため、電源監視サーバ１００が、各サーバ２００＿１〜２００＿３のそれぞれから負荷情報を取得する必要がなくなる。しかし、本発明の実施形態はこれに限られず、各サーバ２００＿１〜２００＿３のそれぞれから負荷情報を取得するものであってもよい。この負荷情報収集部１０１は、一定時間間隔ごとに、サーバ群２００の負荷情報を取得することが好ましい。
【００２３】
電源停止判定部１０２は、負荷情報収集部１０１が取得した負荷情報に基づき、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以下の台数のサーバで処理可能な下限負荷より低いか否かを判定する。
例えば、電源停止判定部１０２は、サーバ２００＿１〜２００＿３が処理実行中である場合、これらサーバ２００＿１〜２００＿３の処理負荷率Ｒ＿１〜Ｒ＿３の平均ａｖｅを算出し、サーバ２００＿１〜２００＿３の処理負荷率Ｒ＿１〜Ｒ＿３の平均ａｖｅが予め決められた第１閾値ｔｈ１未満であるか否かを判定する。本実施形態において、第１閾値ｔｈ１＝３０％と決められている。サーバ群２００の処理負荷率の平均が３０％未満である場合、電源停止判定部１０２は、サーバ群２００内の処理実行中のサーバの処理負荷が下限負荷より低いと判定し、この判定結果を示す情報を電源停止指示部１０３に出力する。なお、電源停止判定部１０２は、サーバ群２００の処理負荷率の平均を示す情報と、判定結果を示す情報とを対応付けた情報を電源停止指示部１０３に出力するものであってもよい。
【００２４】
電源停止指示部１０３は、処理実行中のサーバの処理負荷が下限負荷未満である場合、例えば、サーバ群２００内の処理実行中のサーバの処理負荷が下限負荷より低いことを示す判定結果が電源停止判定部１０２から入力された場合、サーバ群２００の処理実行中のサーバのうち少なくとも１つのサーバの電源を停止するように指示する電源停止指示信号を、電源を停止させるサーバに送信する。
例えば、電源停止指示部１０３は、サーバ群２００内の処理実行中のサーバの処理負荷が下限負荷より低いことを示す判定結果が電源停止判定部１０２から入力された場合、電源を停止させるサーバとして予め決められているサーバ２００＿３の電源を停止するように指示する電源停止指示信号を、サーバ２００＿３に送信する。本実施形態において、電源停止指示部１０３は、サーバ２００＿１〜２００＿３の符番が大きい順｛２００＿３、２００＿２、２００＿１の順｝に、１つずつ、電源を停止させるサーバを選択することが予め決められているものである。なお、本発明の実施形態はこれに限られず、電源停止指示部１０３は、各サーバ２００＿１〜２００＿３のうちそれぞれの負荷情報が示す処理負荷率が最も小さいサーバを、電源を停止させるサーバとして選択することが予め決められているものであってもよい。
【００２５】
また、電源停止指示部１０３は、サーバ群２００に含まれる処理実行中のサーバの台数と、サーバ群２００の処理負荷率の平均ａｖｅとに応じて、停止させるサーバの台数を決定するものであってもよい。例えば、電源停止指示部１０３は、以下の演算式（１）が成立することを条件として、左辺が最大となるときのＺを、停止させるサーバの台数と決定するものであってもよい。
演算式（１）
（Ｙ×Ａｖｅ）÷（Ｙ−Ｚ）＞０．３
この演算式（１）において、Ｙはサーバ群２００に含まれる処理実行中のサーバの台数、Ｚは停止させるサーバの台数、ａｖｅはサーバ群２００の処理負荷率の平均である。
例えば、サーバ群２００が処理実行中の１０台のサーバを備え、サーバ群２００の処理負荷率の平均が２０％である場合、電源停止指示部１０３は、停止させるサーバの台数を“４”と決定する。
【００２６】
通信部１０４は、ネットワークＮＷを介して、サーバ群２００の各サーバ２００＿１〜２００＿３のそれぞれと、負荷監視サーバ３００と、データ通信を行う。この通信部１０４は、例えば、負荷情報を受信し、電源停止指示信号を送信する。
【００２７】
サーバ群２００に含まれる複数のサーバ２００＿１〜２００＿３は、全て以下に説明する構成を有する。説明便宜のため、ここでは、サーバ２００＿１の構成例について代表して説明し、他のサーバ２００＿２、２００＿３の構成例についての説明を省略する。
サーバ２００＿１は、処理制御部２０１と、負荷情報収集部２０２と、電源停止制御部２０３と、電源起動判定部２０４と、電源起動制御部２０５と、記憶部２０６と、電源部２０７と、通信部２０８とを含む。なお、処理制御部２０１と、負荷情報収集部２０２と、電源停止制御部２０３と、電源起動判定部２０４と、電源起動制御部２０５と、通信部２０８とは、ＣＰＵ（Central Processing Unit）が記憶部２０６に記憶されている情報を利用して処理を実行する処理部である。なお、処理制御部２０１と、負荷情報収集部２０２と、電源停止制御部２０３と、電源起動制御部２０５と、通信部２０８とは、サーバ２００＿１が電源停止指示信号を電源管理サーバ１００から受信した場合に、電源からの電力を利用する処理部のうち電源からの電力の供給を停止させる処理部として予め決められた処理部である。なお、電源停止指示信号を電源管理サーバ１００から受信した場合であっても、電源起動判定部２０４には電力が供給され続ける。
【００２８】
処理制御部２０１は、サーバ２００＿１における処理を実行する処理制御部である。この処理制御部２０１は、例えば、ＣＰＵ等であり、記憶部２０６を使用して処理を実行する。
【００２９】
負荷情報収集部２０２は、自サーバ２００＿１の処理負荷を示す負荷情報を取得する。この負荷情報収集部２０２は、例えば、処理制御部２０１の処理負荷を示す負荷情報を取得する。具体的に説明すると、負荷情報収集部２０２は、処理制御部２０１であるＣＰＵの使用率や、記憶部２０６のメモリ使用量やディスク使用量等を示す負荷情報を取得する。また、負荷情報収集部２０２は、自サーバ２００＿１の処理負荷を示す負荷情報として、通信部２０８の通信におけるネットワーク帯域の使用割合を示す負荷情報を取得する。
また、負荷情報収集部２０２は、サーバ群２００に含まれる他のサーバ２００＿２、２００＿３の処理負荷を示す負荷情報を取得する。この負荷情報収集部２０２は、例えば、負荷監視サーバ３００が事前に取得した他のサーバ２００＿２、２００＿３の処理負荷を示す負荷情報を、負荷監視サーバ３００に対して要求するものであってもよく、他のサーバ２００＿２、２００＿３のそれぞれに対して、処理負荷を示す負荷情報を要求するものであってもよい。
なお、各サーバ２００＿１〜２００＿３に対しては、固有の識別情報（サーバＩＤ（Identifier））が割り当てられており、負荷情報収集部２０２は、負荷情報を外部装置に送信する場合、このサーバＩＤを負荷情報に対応付けて送信する。
【００３０】
電源停止制御部２０３は、電源管理サーバ１００から電源の停止を指示する電源停止指示信号が入力された場合、電源停止準備処理を実行する。この電源停止準備処理とは、電源を停止した後、電源を起動させるための準備をする処理をいう。例えば、電源停止制御部２０３は、電源停止準備処理として、電源部２０７からの電力を利用する処理部のうち電源からの電力の供給を停止させる処理部として予め決められた処理部の電源を停止させる。また、電源停止制御部２０３は、電源停止準備処理として、断続的に電源を起動させる間欠起動処理を実行させるための設定を行う。さらに、電源停止準備処理は、例えば、自サーバ内で動作しているプロセスの安全な停止や、メモリなど揮発性領域の不揮発性領域への退避などの処理等を含む。
【００３１】
この間欠起動処理とは、サーバの電源を停止している状態において、断続的に電源を起動させて、サーバ群２００の処理負荷に応じてサーバ群２００における処理実行のためのサーバの台数を増加させるために、停止状態であった自サーバが処理可能な状態となるか否か判定する処理をいう。停止状態であった自サーバが処理可能な状態となると判定された場合、停止状態であったサーバが間欠起動後そのまま起動状態となるため、サーバ群２００内の処理可能な状態のサーバの台数が増加する。
この電源停止準備処理においては、間欠起動するタイミングである起動タイミングが設定されるとともに、起動タイミングで間欠起動した場合、上述の判定処理を実行することが設定される。この起動タイミングは、電源管理サーバ１００からの指示に従って停止された時刻に基づき決められる時刻であってもよく、電源管理サーバ１００からの指示に従って停止された時点から、予め決められる時間間隔ごとに設定される時点であってもよい。
【００３２】
電源起動判定部２０４は、計時部を内蔵しており、間欠起動処理において、断続的に自サーバの電源を間欠起動させる起動タイミングに到達したか否かを判定する処理（間欠起動判定処理）を実行するとともに、間欠起動した場合にそのまま継続して起動し続けて処理可能な状態となるか否かを判定する処理（継続起動判定処理）を実行する。
この間欠起動判定処理において、電源起動判定部２０４は、例えば、電源管理サーバ１００からの電源停止指示信号に基づき電源停止制御部２０３が行う電源停止準備処理において設定された起動タイミングに到達したか否かを判定する。起動タイミングに到達したと判定した場合、電源起動判定部２０４は、電源起動制御部２０５に対して、電源を一時的に起動（間欠起動）するように指示する。この起動タイミングは、停止状態となる期間の長さが予め決められているものであってもよい。また、起動タイミングは、システム全体の負荷が閾値より低いと判断した回数に応じて時間間隔を長くしていくという方法も考えられる。例えば、電源管理サーバ１００から電源停止指示信号を受信した時刻から徐々に、間欠起動の間隔を長くするものであってもよい。
【００３３】
また、継続起動判定処理において、電源起動判定部２０４は、例えば、サーバ群２００に含まれる処理実行中のサーバの処理負荷を示す負荷情報を負荷情報収集部２０２から取得し、この負荷情報に基づき、サーバ群２００に含まれる処理実行中のサーバの処理負荷に余裕がない状態か否かを判定する。
具体的に説明すると、サーバ２００＿１、２００＿２が処理実行中であり、サーバ２００＿３が間欠起動中である場合、サーバ２００＿３の電源起動判定部２０４は、これらサーバ２００＿１、２００＿２の処理負荷率Ｒ＿１、Ｒ＿２の平均ａｖｅを算出し、サーバ２００＿１、２００＿２の処理負荷率Ｒ＿１、Ｒ＿２の平均ａｖｅが予め決められた第２閾値ｔｈ２以上であるか否かを判定する。
【００３４】
本実施形態において、第２閾値ｔｈ２＝６０％と決められている。電源起動制御部２０５は、サーバ群２００の処理負荷率の平均が６０％以上である場合、サーバ群２００に含まれる処理実行中のサーバの処理負荷に余裕がない状態であると判定する。この場合、電源起動判定部２０４は、処理可能な状態となることを示す情報を処理制御部２０１に出力する。その結果、サーバ２００＿３は、間欠起動した後、そのまま継続して起動した状態となる。
一方、サーバ群２００の処理負荷率の平均が６０％未満である場合、電源起動判定部２０４は、サーバ群２００に含まれる処理実行中のサーバの処理負荷に余裕がない状態でないと判定する。この場合、電源起動判定部２０４は、自サーバ２００＿３を停止させることを示す情報を電源停止制御部２０３に出力する。
【００３５】
電源起動制御部２０５は、間欠起動を指示する信号を電源起動判定部２０４から入力した場合、自サーバの電源を起動させる。つまり、電源起動制御部２０５は、電源部２０７から電力を自サーバの各構成部に供給して、例えば、負荷情報収集部２０２に対してサーバ群２００に含まれる処理実行中のサーバの負荷情報を収集するように制御する。
【００３６】
記憶部２０６は、処理制御部２０１が処理を実行する際に利用する情報を記憶するとともに、処理制御部２０１の処理実行中に利用するメモリ領域を含む。
電源部２０７は、各サーバを起動させ、処理を実行させるために必要な電力を各構成部に供給する。
通信部２０８は、電源管理サーバ１００と、負荷監視サーバ３００と、それぞれ、ネットワークＮＷを介して接続し、これらサーバと通信する。
【００３７】
負荷監視サーバ３００は、負荷情報収集部３０１と、記憶部３０２と、通信部３０３とを含む。
負荷情報収集部３０１は、サーバ群２００に含まれるサーバ２００＿１〜２００＿３のそれぞれから負荷情報を収集し、記憶部３０２に記憶する。この負荷情報収集部３０１は、例えば、一定時間間隔ごとに、サーバ２００＿１〜２００＿３のそれぞれに対して、負荷情報の送信を要求する。負荷情報収集部３０１は、各サーバ２００＿１〜２００＿３から受信した負荷情報をサーバＩＤと対応付けて、記憶部３０２に記憶する。
記憶部３０２は、負荷情報とサーバＩＤとを対応付けて記憶する。
通信部３０３は、電源管理サーバ１００と、サーバ群２００の各サーバと、それぞれ、ネットワークＮＷを介して接続し、これらサーバと通信する。
【００３８】
次に、図４を参照して、電源管理サーバ１００の処理フローの一例について説明する。図４は、本実施形態に係る電源管理サーバ１００の処理フローの一例について説明するためのフローチャートである。
（ステップＳＴ１１）
電源管理サーバ１００の負荷情報収集部１０１は、通信部１０４を介して、例えば、負荷監視サーバ３００に対して、最新の負荷情報の送信を要求する。なお、これに限らず、負荷情報収集部１０１は、サーバ群２００に含まれるサーバ２００＿１〜２００＿３のそれぞれに対して負荷情報の送信を要求するものであってもよい。
そして、通信部１０４がサーバ２００＿１〜２００＿３の負荷情報Ｌ＿１〜Ｌ＿３を受信すると、受信した負荷情報Ｌ＿１〜Ｌ＿３を電源停止判定部１０２に出力する。
【００３９】
（ステップＳＴ１２）
次いで、電源停止判定部１０２は、サーバ２００＿１〜２００＿３の負荷情報Ｌ＿１〜Ｌ＿３に基づき、各サーバ２００＿１〜２００＿３の処理負荷率Ｒ＿１〜Ｒ＿３の平均ａｖｅを算出し、サーバ２００＿１〜２００＿３の処理負荷率Ｒ＿１〜Ｒ＿３の平均ａｖｅが予め決められた電源停止閾値である第１閾値ｔｈ１（３０％）未満であるか否かを判定する。
【００４０】
サーバ群２００の処理負荷率の平均ａｖｅが３０％未満である場合、電源停止判定部１０２は、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以下の台数のサーバで処理可能な下限負荷より低いと判定し、この判定結果を電源停止指示部１０３に出力する（ステップＳＴ１２−ＹＥＳ）。一方、サーバ群２００の処理負荷率の平均ａｖｅが３０％以上である場合、電源停止判定部１０２は、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以下の台数のサーバで処理可能な下限負荷より低くないと判定し（フローがステップＳＴ１５に移行）、判定タイミングに到達するまで、待機状態となる（ステップＳＴ１２−ＮＯ）。
【００４１】
（ステップＳＴ１３）
次いで、電源停止指示部１０３は、サーバ群２００のうち処理実行中のサーバの処理負荷が処理実行中のサーバ台数以下の台数のサーバで処理可能な下限負荷より低いことを示す判定結果が電源停止判定部１０２から入力された場合、サーバ群２００の処理実行中のサーバ２００＿１〜２００＿３のうち、電源を停止させるサーバとして予め決められているサーバ２００＿３を、電源を停止するサーバであると決定する。なお、本発明の実施形態に係る電源停止指示部１０３は、これに限られず、最も処理負荷が低いサーバを電源を停止するサーバと決定するものであってもよく、一台以上のサーバを電源を停止するサーバと決定するものであってもよい。
【００４２】
（ステップＳＴ１４）
そして、電源停止指示部１０３は、電源を停止するサーバとして決定したサーバ２００＿３に対して、電源を停止するように指示する電源停止指示信号を送信する。
（ステップＳＴ１５）
次いで、負荷情報収集部１０１は、一定時間待機し、予め決められた判定タイミングに到達したか否かを判定する。判定タイミングに到達した場合、フローがステップＳＴ１１に戻り、負荷情報収集部１０１は負荷情報を取得する。
【００４３】
次に、図５を参照して、サーバ群２００に含まれるサーバの停止命令時の処理フローの一例について説明する。図５は、本実施形態に係るサーバ群２００に含まれるサーバ２００＿３の停止命令時の処理フローの一例について説明するためのフローチャートである。
（ステップＳＴ２１）
サーバ群２００内のサーバ２００＿１〜２００＿３は、通信部２０８を介して、電源管理サーバ１００から電源停止指示信号を受信する。
（ステップＳＴ２２）
通信部２０８は、受信した電源停止指示信号を、電源停止制御部２０３に出力する。そして、電源停止制御部２０３は、電源停止準備処理を実行する。
（ステップＳＴ２３）
電源停止制御部２０３は、例えば、次に起動する時間を決定し、記憶部２０６に登録する。
（ステップＳＴ２４）
そして、電源停止制御部２０３は、自サーバの電源を停止する。
【００４４】
次に、図６を参照して、サーバ群２００に含まれるサーバの間欠起動時の処理フローの一例について説明する。図６は、本実施形態に係るサーバ群２００に含まれるサーバ２００＿３の間欠起動時の処理フローの一例について説明するためのフローチャートである。
（ステップＳＴ３１）
サーバ２００＿３の電源起動判定部２０４は、起動タイミングに到達したか否かを判定し、起動タイミングに到達したと判定した場合、電源起動制御部２０５に対して、電源起動を指示する。そして、電源起動制御部２０５は、電源を起動する。
【００４５】
（ステップＳＴ３２）
次いで、負荷情報収集部２０２は、負荷監視サーバ３００に対して、サーバ群２００に含まれる自サーバ２００＿３以外のサーバ２００＿１、２００＿２に対するそれぞれの最新の負荷情報Ｌ＿１、Ｌ＿２の送信を要求する。なお、これに限らず、サーバ２００＿３の負荷情報収集部２０２は、サーバ群２００に含まれる他のサーバ２００＿１、２００＿２のそれぞれに対して負荷情報の送信を要求するものであってもよい。
そして、通信部２０８がサーバ２００＿１、２００＿２の負荷情報Ｌ＿１、Ｌ＿２を受信すると、負荷情報収集部２０２は、受信した負荷情報Ｌ＿１、Ｌ＿２を電源起動判定部２０４に出力する。
【００４６】
（ステップＳＴ３３）
次いで、電源起動判定部２０４は、サーバ群２００において処理実行中のサーバ２００＿１、２００＿２の処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する。例えば、電源起動判定部２０４は、サーバ２００＿１、２００＿２の負荷情報Ｌ＿１、Ｌ＿２に基づき、各サーバ２００＿１、２００＿２の処理負荷率Ｒ＿１、Ｒ＿２の平均ａｖｅを算出し、サーバ２００＿１、２００＿２の処理負荷率Ｒ＿１、Ｒ＿２の平均ａｖｅが予め決められた電源起動閾値である第２閾値ｔｈ２（６０％）以上であるか否かを判定する。
【００４７】
（ステップＳＴ３４）
サーバ群２００の処理負荷率の平均ａｖｅが６０％以上である場合、つまり、システム全体の負荷が電源起動閾値以上である場合、電源起動判定部２０４は、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以上の台数のサーバでの処理が必要な上限負荷より高いと判定する。そして、電源起動判定部２０４は、処理制御部２０１に対して、処理を実行するよう指示する。
つまり、サーバ２００＿３は、電源起動制御部２０５からの指示に従って間欠起動された後、そのまま起動し続け、処理制御部２０１において処理ができる状態にする。
【００４８】
（ステップＳＴ３５）
一方、サーバ群２００の処理負荷率の平均ａｖｅが６０％未満である場合、つまり、システム全体の負荷が電源起動閾値より低い場合、電源起動判定部２０４は、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以上の台数のサーバでの処理が必要な上限負荷よりも高くないと判定する。そして、電源起動判定部２０４は、電源停止制御部２０３に対して、電源を停止するよう指示する。この電源停止制御部２０３は、電源停止準備処理として、例えば、次に起動する時間を設定する。
【００４９】
（ステップＳＴ３６）
そして、電源停止制御部２０３は、電源を落とす。つまり、サーバ２００＿３は、電源起動制御部２０５からの指示に従って間欠起動された後、電源停止制御部２０３が電源停止準備処理を実行し、電源を停止する。
【００５０】
次に、図７および図８を参照して、本実施形態に係るサーバ電源管理システムの処理フローの一例について説明する。図７および図８は、本実施形態に係るサーバ電源管理システムのシーケンス図である。なお、ここでは、初期状態において、サーバ２００＿１〜２００＿３が起動中である場合について説明する。
【００５１】
（ステップＳＴ４１）
例えば、一定時間間隔毎に、負荷監視サーバ３００の負荷情報収集部３０１は、サーバ群２００の各サーバ２００＿１〜２００＿３に対して、通信部３０３を介して負荷情報の送信を要求する。
（ステップＳＴ４２）
各サーバ２００＿１〜２００＿３は、負荷情報の送信を要求する情報を通信部２０８を介して負荷監視サーバ３００から受信する。そして、各サーバ２００＿１〜２００＿３の負荷情報収集部２０２が、自サーバの処理負荷を示す負荷情報を取得する。ここでは、各サーバ２００＿１〜２００＿３が、それぞれ、自サーバの処理負荷を示す負荷情報Ｌ＿１〜Ｌ＿３を取得する。そして、負荷情報収集部２０２は、取得した負荷情報Ｌ＿１〜Ｌ＿３に対して、自サーバに割り当てられているサーバＩＤを対応付けた情報を、通信部２０８を介して、負荷監視サーバ３００に送信する。
【００５２】
（ステップＳＴ４３）
負荷監視サーバ３００は、通信部３０３を介して各サーバ２００＿１〜２００＿３から負荷情報Ｌ＿１〜Ｌ＿３を受信した場合、負荷情報Ｌ＿１〜Ｌ＿３のそれぞれとサーバＩＤとを対応付けて記憶部３０２に記憶させる。
【００５３】
（ステップＳＴ４４）
一方、電源管理サーバ１００の負荷情報収集部１０１は、例えば、サーバ群２００の処理負荷を判定するための判定タイミングに到達したか否かを判定する。
（ステップＳＴ４５）
判定タイミングに到達したと判定した場合、負荷情報収集部１０１は、通信部１０４を介して、例えば、負荷監視サーバ３００に対して、最新の負荷情報の送信を要求する。
【００５４】
（ステップＳＴ４６）
負荷監視サーバ３００は、負荷情報の送信を要求する情報を通信部３０３を介して電源管理サーバ１００から受信する。そして、負荷監視サーバ３００の負荷情報収集部３０１が、記憶部３０２に記憶されている負荷情報のうち、最新の負荷情報Ｌ＿１〜Ｌ＿３を読み出し、これら負荷情報Ｌ＿１〜Ｌ＿３のそれぞれにサーバＩＤを対応付けた情報を、通信部３０３を介して、電源管理サーバ１００に送信する。なお、記憶部３０２に記憶されている負荷情報Ｌ＿１〜Ｌ＿３は、例えば、負荷監視サーバ３００がサーバ２００＿１〜２００＿３のそれぞれから負荷情報Ｌ＿１〜Ｌ＿３を取得した時刻を示す時刻情報と対応付けられており、負荷監視サーバ３００は、この時刻情報を参照して、記憶部３０２内の最新の負荷情報を読み出す。
【００５５】
（ステップＳＴ４７）
電源管理サーバ１００は、負荷監視サーバ３００から負荷情報Ｌ＿１〜Ｌ＿３を受信すると、これら負荷情報Ｌ＿１〜Ｌ＿３を電源停止判定部１０２に出力する。そして、電源停止判定部１０２は、負荷情報Ｌ＿１〜Ｌ＿３に基づき、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以下の台数のサーバで処理可能な下限負荷より低いか否かを判定する。
例えば、電源停止判定部１０２は、サーバ２００＿１〜２００＿３の負荷情報Ｌ＿１〜Ｌ＿３に基づき、各サーバ２００＿１〜２００＿３の処理負荷率Ｒ＿１〜Ｒ＿３の平均ａｖｅを算出し、サーバ２００＿１〜２００＿３の処理負荷率Ｒ＿１〜Ｒ＿３の平均ａｖｅが予め決められた第１閾値ｔｈ１（３０％）未満であるか否かを判定する。
【００５６】
サーバ群２００の処理負荷率の平均ａｖｅが３０％未満である場合、電源停止判定部１０２は、この判定結果を電源停止指示部１０３に出力する（ステップＳＴ４７−ＹＥＳ）。一方、サーバ群２００の処理負荷率の平均ａｖｅが３０％以上である場合、電源停止判定部１０２は、判定タイミングに到達するまで、待機状態となる（ステップＳＴ４７−ＮＯ）。
【００５７】
（ステップＳＴ４８）
次いで、電源停止指示部１０３は、サーバ群２００の処理負荷率の平均ａｖｅが３０％未満であることを示す判定結果が電源停止判定部１０２から入力された場合、サーバ群２００の処理実行中のサーバ２００＿１〜２００＿３のうち、電源を停止させるサーバとして予め決められているサーバ２００＿３に対して、電源を停止するように指示する電源停止指示信号を送信する。
なお、ステップＳＴ４４〜４８の処理は、図４を参照して説明した電源管理サーバ１００の処理フローに相当する処理である。
【００５８】
（ステップＳＴ４９）
次いで、サーバ群２００の各サーバ２００＿１〜２００＿３の電源停止制御部２０３は、電源管理サーバ１００から電源停止指示信号を受信したか否かを判定する。
ここで、サーバ２００＿１、２００＿２は、電源管理サーバ１００から電源停止指示信号を受信しないが、サーバ２００＿３は、電源管理サーバ１００から電源停止指示信号を受信する。
（ステップＳＴ５０）
そして、サーバ２００＿３の電源停止制御部２０３は、電源管理サーバ１００から電源停止指示信号を受信したことを判定すると、電源停止準備処理を実行する。この電源停止制御部２０３は、例えば、間欠起動の時刻を示す起動タイミングを設定する。
（ステップＳＴ５１）
次いで、サーバ２００＿３の電源停止制御部２０３は、電源を停止する。なお、このとき、間欠起動の時刻を計時する計時部（図示せず）と、間欠起動の時刻に到達したか否かを判定する電源起動判定部２０４の一部の機能には、電源が投入されている。
なお、サーバ２００＿１、２００＿２は、電源停止指示信号を受信していないため、起動し続けている。
なお、ステップＳＴ５０〜５１の処理は、図５を参照して説明したサーバの停止命令時の処理フローに相当する処理である。
【００５９】
次いで、図８を参照して、図７に示す本実施形態に係るサーバ電源管理システムの処理フローの続きについて説明する。
（ステップＳＴ５２）
サーバ２００＿３の電源起動判定部２０４は、設定されている間欠起動の時刻に到達したか否かを判定する。つまり、電源起動判定部２０４は、起動タイミングに到達したか否かを判定する。
（ステップＳＴ５３）
起動タイミングに到達した場合、電源起動判定部２０４は、電源の起動を指示する信号を電源起動制御部２０５に出力する。電源起動制御部２０５は、電源を起動させる。
（ステップＳＴ５４）
サーバ２００＿３の電源が起動されると、負荷情報収集部２０２は、例えば、他のサーバ２００＿１、２００＿２の処理負荷を示す負荷情報の送信を負荷監視サーバ３００に対して要求する。
（ステップＳＴ５５）
そして、負荷監視サーバ３００は、負荷情報の送信を要求する情報を通信部３０３を介してサーバ２００＿３から受信する。そして、負荷監視サーバ３００の負荷情報収集部３０１が、記憶部３０２に記憶されている負荷情報のうち、最新の負荷情報Ｌ＿１、Ｌ＿２を読み出し、これら負荷情報Ｌ＿１、Ｌ＿２のそれぞれにサーバＩＤを対応付けた情報を、通信部３０３を介して、サーバ２００＿３に送信する。
【００６０】
（ステップＳＴ５６）
次いで、電源起動判定部２０４は、負荷監視サーバ３００から受信した負荷情報に基づき、継続起動判定処理を実行する。
（ステップＳＴ５７）
つまり、電源起動判定部２０４は、間欠起動した自サーバを停止状態に戻すか、あるいは、そのまま起動して処理可能な状態にするか、を判定する。
具体的に言うと、サーバ群２００において処理実行中のサーバ２００＿１、２００＿２の処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する。例えば、電源起動判定部２０４は、サーバ２００＿１、２００＿２の負荷情報Ｌ＿１、Ｌ＿２に基づき、各サーバ２００＿１、２００＿２の処理負荷率Ｒ＿１、Ｒ＿２の平均ａｖｅを算出し、サーバ２００＿１、２００＿２の処理負荷率Ｒ＿１、Ｒ＿２の平均ａｖｅが予め決められた第２閾値ｔｈ２（６０％）以上であるか否かを判定する。
【００６１】
（ステップＳＴ５８）
サーバ群２００の処理負荷率の平均ａｖｅが６０％以上である場合、つまり、システム全体の負荷が電源起動閾値以上である場合、電源起動判定部２０４は、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以上の台数のサーバでの処理が必要な上限負荷より高いため、間欠起動した自サーバをそのまま起動して処理可能な状態にすると判定する。そして、電源起動判定部２０４は、処理制御部２０１に対して、処理を実行するよう指示する。
つまり、サーバ２００＿３は、電源起動制御部２０５からの指示に従って間欠起動された後、そのまま起動し続け、処理制御部２０１において処理ができる状態にする。
【００６２】
（ステップＳＴ５９）
一方、サーバ群２００の処理負荷率の平均ａｖｅが６０％未満である場合、つまり、システム全体の負荷が電源起動閾値より低い場合、電源起動判定部２０４は、サーバ群２００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以上の台数のサーバでの処理が必要な上限負荷よりも高くないため、間欠起動した自サーバを停止状態に戻すと判定する。そして、電源起動判定部２０４は、電源停止制御部２０３に対して、電源を停止するよう指示する。この電源停止制御部２０３は、電源停止準備処理として、例えば、次に起動する時間を設定する。
【００６３】
（ステップＳＴ６０）
そして、電源停止制御部２０３は、電源を落とす。つまり、サーバ２００＿３は、電源起動制御部２０５からの指示に従って間欠起動された後、電源停止制御部２０３が電源停止準備処理を実行し、電源を停止する。
【００６４】
［第２実施形態］
次に、図９および図１０を参照して、本発明の第２実施形態について説明する。
図９は、本実施形態に係るサーバ電源管理システムの構成の一例を示す図である。本実施形態に係るサーバ電源管理システムは、図３に示す第１実施形態に係る構成に比べて、サーバ群２００がサーバ群４００である点、このサーバ群４００に含まれる複数のサーバ４００＿１、４００＿２、４００＿３が差分同期処理部４０９を備える点で異なる。なお、サーバ４００＿１、４００＿２、４００＿３に含まれるその他の構成については、第１実施形態と同様であるため、同一名称を付して、詳細な説明は省略する。
【００６５】
記憶部４０６は、サーバ４００群に含まれる複数のサーバ４００＿１、４００＿２、４００＿３間で共有している共有データを記憶する。
【００６６】
差分同期処理部４０９は、サーバ４００群に含まれる複数のサーバ４００＿１、４００＿２、４００＿３間で共有しているデータがある場合、間欠起動ごとに、差分データを他のサーバから取得する。この差分同期処理部４０９は、計時部を内蔵し、間欠起動時において、前回の電源が停止している期間において他のサーバで更新されたデータを差分データとして取得し、記憶部４０６に書き込む。
例えば、差分同期処理部４０９は、電源管理サーバ１００から電源停止指示信号を受信した場合、電源停止指示信号を受信した時刻を計時し、計時した時刻を電源停止時刻として記憶部４０６に記憶する。そして、差分同期処理部４０９は、記憶部４０６を参照して、電源停止時刻以降に更新された最新の共有データの送信を要求する更新共有データ要求信号を作成し、他のサーバに送信する。差分同期処理部４０９は、他のサーバから受信した差分データに基づき、記憶部４０６内の共有データを更新する。なお、差分同期処理部４０９は、共有データを更新した時刻を計時し、計時した時刻を更新時刻として記憶部４０６に記憶する。
【００６７】
次に、図１０を参照して、本実施形態に係るサーバ群４００に含まれるサーバの間欠起動時の処理フローの一例について説明する。図１０は、本実施形態に係るサーバ群４００に含まれるサーバ４００＿３の間欠起動時の処理フローの一例について説明するためのフローチャートである。
（ステップＳＴ６１）
サーバ４００＿３の電源起動判定部４０４は、起動タイミングに到達したか否かを判定し、起動タイミングに到達したと判定した場合、電源起動制御部４０５に対して、電源起動を指示する。そして、電源起動制御部４０５は、電源を起動する。
【００６８】
（ステップＳＴ６２）
次いで、負荷情報収集部４０２は、負荷監視サーバ３００に対して、サーバ群４００に含まれる自サーバ４００＿３以外のサーバ４００＿１、４００＿２に対して、それぞれの最新の負荷情報Ｌ＿１１、Ｌ＿１２の送信を要求する。なお、これに限らず、サーバ４００＿３の負荷情報収集部４０２は、サーバ群４００に含まれる他のサーバ４００＿１、４００＿２のそれぞれに対して負荷情報の送信を要求するものであってもよい。
そして、通信部４０８がサーバ４００＿１、４００＿２の負荷情報Ｌ＿１１、Ｌ＿１２を受信すると、負荷情報収集部４０２は、受信した負荷情報Ｌ＿１１、Ｌ＿１２を電源起動判定部４０４に出力する。
【００６９】
（ステップＳＴ６３）
次いで、電源起動判定部４０４は、サーバ群４００において処理実行中のサーバ４００＿１、４００＿２の処理負荷が、処理実行中のサーバの台数以上の台数のサーバでの処理が必要な負荷として予め決められている上限負荷より高いか否かを判定する。例えば、電源起動判定部４０４は、サーバ４００＿１、４００＿２の負荷情報Ｌ＿１１、Ｌ＿１２に基づき、各サーバ４００＿１、４００＿２の処理負荷率Ｒ＿１１、Ｒ＿１２の平均ａｖｅを算出し、サーバ４００＿１、４００＿２の処理負荷率Ｒ＿１１、Ｒ＿１２の平均ａｖｅが予め決められた第２閾値ｔｈ２（６０％）以上であるか否かを判定する。
【００７０】
（ステップＳＴ６４）
サーバ群４００の処理負荷率の平均ａｖｅが６０％以上である場合、つまり、システム全体の負荷が電源起動閾値以上である場合、電源起動判定部４０４は、サーバ群４００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以上の台数のサーバでの処理が必要な上限負荷より高いと判定する。そして、電源起動判定部４０４は、差分同期処理部４０９に対して、差分データの更新処理を指示する。
【００７１】
サーバ４００＿３の差分同期処理部４０９は、記憶部４０６に記憶されている最新の電源停止時刻を示す情報を読み出す。そして、差分同期処理部４０９は、電源停止時刻以降に更新された最新の共有データの送信を要求する更新共有データ要求信号を作成し、他のサーバ４００＿１、４００＿２に送信する。
そして、他のサーバ４００＿１、４００＿２の差分同期処理部４０９は、受信した電源停止時刻以降に更新された最新の共有データの送信を要求する更新共有データ要求信号に基づき、この電源停止時刻以降に更新された最新の共有データがあるか否かを判定する。この更新された最新の共有データがある場合は、他のサーバ４００＿１、４００＿２の差分同期処理部４０９は、電源停止時刻以降に更新された最新の共有データを差分データとして、サーバ４００＿３に送信する。このサーバ４００＿３の差分同期処理部４０９は、他のサーバ４００＿１、４００＿２から受信した差分データに基づき、記憶部４０６内の共有データを更新する。
【００７２】
（ステップＳＴ６５）
そして、電源起動判定部４０４は、処理制御部４０１に対して、処理を実行するよう指示する。
つまり、サーバ４００＿３は、電源起動制御部４０５からの指示に従って間欠起動された後、そのまま起動し続け、処理制御部４０１において処理ができる状態にする。
【００７３】
（ステップＳＴ６６）
一方、サーバ群４００の処理負荷率の平均ａｖｅが６０％未満である場合、つまり、システム全体の負荷が電源起動閾値より低い場合、電源起動判定部４０４は、サーバ群４００のうち処理実行中のサーバの処理負荷が、処理実行中のサーバ台数以上の台数のサーバでの処理が必要な上限負荷よりも高くないと判定する。そして、電源起動判定部４０４は、差分同期処理部４０９に対して、差分データの更新処理を指示する。
【００７４】
サーバ４００＿３の差分同期処理部４０９は、記憶部４０６に記憶されている最新の電源停止時刻を示す情報を読み出す。そして、差分同期処理部４０９は、電源停止時刻以降に更新された最新の共有データの送信を要求する更新共有データ要求信号を作成し、他のサーバ４００＿１、４００＿２に送信する。
そして、他のサーバ４００＿１、４００＿２の差分同期処理部４０９は、受信した電源停止時刻以降に更新された最新の共有データの送信を要求する更新共有データ要求信号に基づき、この電源停止時刻以降に更新された最新の共有データがあるか否かを判定する。この更新された最新の共有データがある場合は、他のサーバ４００＿１、４００＿２の差分同期処理部４０９は、電源停止時刻以降に更新された最新の共有データを差分データとして、サーバ４００＿３に送信する。このサーバ４００＿３の差分同期処理部４０９は、他のサーバ４００＿１、４００＿２から受信した差分データに基づき、記憶部４０６内の共有データを更新する。
【００７５】
（ステップＳＴ６７）
そして、電源起動判定部４０４は、電源停止制御部４０３に対して、電源を停止するよう指示する。この電源停止制御部４０３は、電源停止準備処理として、例えば、次に起動する時間を設定する。
【００７６】
（ステップＳＴ６８）
そして、電源停止制御部４０３は、電源を落とす。つまり、サーバ４００＿３は、電源起動制御部４０５からの指示に従って間欠起動された後、電源停止制御部４０３が電源停止準備処理を実行し、電源を停止する。
【００７７】
その結果、各サーバは、間欠起動ごとに、差分データを少しずつ更新することができる。このため、間欠起動が終了し、処理が実行可能となった状態で、更新していない情報を一度に更新しなくてよく、例えば、間欠起動待機状態が長く続いた場合であっても、データの更新時間を短縮することができる。一方、間欠起動ごとに差分データを少しずつ更新しない場合、処理を実行する際に、更新する差分データが大量に発生しており、データの更新時間が長期化する場合がある。本実施形態は、このような事態を回避することができる。
【００７８】
また、本発明の各実施形態の電源管理サーバ（電源管理装置）１００と、複数のサーバからなるサーバ群２００またはサーバ群４００と、負荷監視サーバ（負荷監視装置）３００とは、内部にコンピュータシステムを有している。そして、動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行して、上記処理が行われる。ここでいう「コンピュータシステム」とは、ＣＰＵ及び各種メモリやＯＳ（Operating System）、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、ＷＷＷ（World Wide Web）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００７９】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Read Only Memory）、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ（Compact Disc）−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８０】
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波を用いて他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、上記プログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００８１】
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上述した実施形態に記載の範囲に限定されるものではない。上記実施形態に多様な変更又は改良を加えることが可能であることが、当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【００８２】
この出願は、２０１１年６月２２日に出願された日本出願特願２０１１−１３８０５３号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００８３】
本発明は、例えば、複数のサーバを有するサーバ群の電源管理に利用可能である。本発明は、サーバ群の電源制御の信頼性を向上させるとともに、サーバ群の消費電力を低減させる。
【符号の説明】
【００８４】
１００…電源管理サーバ（電源管理装置）、２００…サーバ群、３００…負荷監視サーバ（負荷監視装置）、１０１…負荷情報収集部、１０２…電源停止判定部、１０３…電源停止指示部、１０４…通信部、２０１…処理制御部、２０２…負荷情報収集部、２０３…電源停止制御部、２０４…電源起動判定部、２０５…電源起動制御部、２０６…記憶部、２０７…電源部、２０８…通信部、３０１…負荷情報収集部、３０２…記憶部、３０３…通信部
【図１】
0005621928.tif 000002
【図２】
0005621928.tif 000003
【図３】
0005621928.tif 000004
【図４】
0005621928.tif 000005
【図５】
0005621928.tif 000006
【図６】
0005621928.tif 000007
【図７】
0005621928.tif 000008
【図８】
0005621928.tif 000009
【図９】
0005621928.tif 000010
【図１０】
0005621928.tif 000011