(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】電源管理装置、情報処理システムおよび電源管理装置の制御方法
(51)【国際特許分類】
G06F 1/3287 20190101AFI20240228BHJP
H04L 12/28 20060101ALI20240228BHJP
H04L 13/00 20060101ALI20240228BHJP
【FI】
G06F1/3287
H04L12/28 200Z
H04L13/00
(21)【出願番号】P 2020020607
(22)【出願日】2020-02-10
【審査請求日】2022-10-06
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】良知 亜由美
(72)【発明者】
【氏名】山中 英樹
(72)【発明者】
【氏名】船木 克彦
(72)【発明者】
【氏名】末永 直紀
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2013-183318(JP,A)
【文献】特開2010-124231(JP,A)
【文献】特開2018-207391(JP,A)
【文献】特開2011-248794(JP,A)
【文献】特開2010-186483(JP,A)
【文献】特開2011-234329(JP,A)
【文献】特開2010-016769(JP,A)
【文献】特開2010-200046(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/3287
H04L 12/28
H04L 13/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置に搭載され、該情報処理装置の電源を管理する電源管理装置であって、
ネットワークを介して接続される他の情報処理装置の起動指示を、前記他の情報処理装置に含まれるスリープ中の他の電源管理装置に代わって受信した場合、前記他の電源管理装置のスリープを解除するスリープ解除指示を前記他の電源管理装置に送信する代行管理モードと、
前記スリープ解除指示を受信した場合、通常モードに遷移して自情報処理装置を起動する低待機電力モードと、を有し、
前記低待機電力モード、前記通常モードおよび前記代行管理モードのいずれにも遷移していない初期起動時に起動通知をブロードキャストし、前記代行管理モードの前記電源管理装置からの応答がない場合、前記代行管理モードに遷移するか否かを判断する遷移判断処理を実施し、前記代行管理モードへの遷移を判断した場合、前記代行管理モードへ遷移して他の情報処理装置の前記起動指示を代行して受信する、電源管理装置。
【請求項2】
前記代行管理モード中、前記低待機電力モードの前記電源管理装置を前記ネットワーク上で識別する識別情報を管理し、前記起動指示に含まれる前記識別情報に対応する前記他の電源管理装置に前記スリープ解除指示を送信し、前記スリープ解除指示を送信した前記他の電源管理装置の前記識別情報の管理を停止する、請求項1に記載の電源管理装置。
【請求項3】
前記代行管理モード中、前記低待機電力モードの前記電源管理装置のIPアドレスとMACアドレスとを前記識別情報として管理し、管理しているIPアドレスをIPエイリアスとして使用して、前記起動指示に含まれるIPアドレスが割り当てられた前記電源管理装置に前記スリープ解除指示を送信する、
請求項2に記載の電源管理装置。
【請求項4】
前記低待機電力モード中、自情報処理装置の電源スイッチのオン操作に基づいて前記通常モードに遷移し、自情報処理装置を起動し、自身の前記識別情報を含む代行解消依頼を、前記代行管理モードの前記電源管理装置に送信し、
前記代行管理モード中、前記代行解消依頼に基づいて、前記代行解消依頼の送信元の前記電源管理装置の前記識別情報の管理を停止する、
請求項2または請求項3に記載の電源管理装置。
【請求項5】
前記通常モード中に自情報処理装置の電源を遮断する場合、前記代行管理モードの前記電源管理装置に、自情報処理装置の前記起動指示の代行受信を依頼する代行依頼を送信して前記低待機電力モードに遷移し、
前記代行管理モード中、前記代行依頼の送信元の前記電源管理装置を含む情報処理装置の前記起動指示を代行して受信する、
請求項1に記載の電源管理装置。
【請求項6】
前記初期起動時に、前記起動通知に対する前記代行管理モードの前記電源管理装置からの応答がなく、他の前記電源管理装置から前記起動通知を受信した場合であって、前記遷移判断処理において前記代行管理モードへ遷移しないと判断した場合、遷移判断処理に基づいて前記代行管理モードへ遷移した他の前記電源管理装置に、自情報処理装置の前記起動指示の代行受信を依頼し、前記低待機電力モードに遷移する、請求項1に記載の電源管理装置。
【請求項7】
前記代行管理モード中、自情報処理装置の電源を遮断する場合、通常モードの他の前記電源管理装置のいずれかに、前記代行管理モードへ遷移させる交代依頼を送信し、
前記通常モード中、前記交代依頼を受信した場合、前記代行管理モードへ遷移する、請求項1ないし
請求項6のいずれか1項に記載の電源管理装置。
【請求項8】
ネットワークを介して接続される複数の情報処理装置を含む情報処理システムであって、
前記複数の情報処理装置は、自情報処理装置の電源を管理する複数の電源管理装置をそれぞれ有し、
前記複数の電源管理装置の1つは、他の情報処理装置の起動指示を、前記他の情報処理装置に含まれるスリープ中の他の電源管理装置に代わって受信した場合、前記他の電源管理装置のスリープを解除するスリープ解除指示を前記他の電源管理装置に送信する代行管理モードで動作し、
前記複数の電源管理装置の残りは、前記スリープ解除指示を受信した場合、通常モードに遷移して自情報処理装置を起動する低待機電力モードで動作し、
前記複数の電源管理装置は、前記低待機電力モード、前記通常モードおよび前記代行管理モードのいずれにも遷移していない初期起動時に起動通知をブロードキャストし、前記代行管理モードの前記電源管理装置からの応答がない場合、前記代行管理モードに遷移するか否かを判断する遷移判断処理を実施し、前記代行管理モードへの遷移を判断した場合、前記代行管理モードへ遷移して他の情報処理装置の前記起動指示を代行して受信する、情報処理システム。
【請求項9】
情報処理装置に搭載され、該情報処理装置の電源を管理する電源管理装置の制御方法であって、
代行管理モードで動作中、ネットワークを介して接続される他の情報処理装置の起動指示を、前記他の情報処理装置に含まれるスリープ中の他の電源管理装置に代わって受信した場合、前記他の電源管理装置のスリープを解除するスリープ解除指示を前記他の電源管理装置に送信し、
低待機電力モードで動作中、前記スリープ解除指示を受信した場合、通常モードに遷移して自情報処理装置を起動し、
前記電源管理装置は、前記低待機電力モード、前記通常モードおよび前記代行管理モードのいずれにも遷移していない初期起動時に起動通知をブロードキャストし、前記代行管理モードの前記電源管理装置からの応答がない場合、前記代行管理モードに遷移するか否かを判断する遷移判断処理を実施し、前記代行管理モードへの遷移を判断した場合、前記代行管理モードへ遷移して他の情報処理装置の前記起動指示を代行して受信する、電源管理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電源管理装置、情報処理システムおよび電源管理装置の制御方法に関する。
【背景技術】
【0002】
データセンターなど多数のサーバを含むシステムの総消費電力は、世界の総消費電力の数パーセントを占めると言われており、社会的な省エネルギー指向および経済性の観点からデータセンター全体のエネルギー効率を向上したいというニーズが高くなっている。例えば、スリープ中のサーバの代わりにプロキシ装置がリクエストを受信してサーバのスリープ状態を解除し、受信したリクエストをサーバに転送することで、サーバが省電力で運用される。この際、スリープする前のサーバと同じIP(Internet Protocol)アドレスと同じMAC(Media Access Control)アドレスを持つ仮想インタフェースをプロキシ装置に作成することで、サーバの利便性を損なうことなくサーバが省電力で運用される(例えば、特許文献1参照)。
【0003】
サーバに設けられるサービスプロセッサは、ネットワークを介してリモート端末からサーバのモジュール群の電源制御指示を受信し、モジュール群と電源ユニットとの間の電源ラインのオン/オフの切り替えを実施する(例えば、特許文献2参照)。管理サーバが、ネットワークを介してクライアントからの電源制御要求を受信し、電源制御要求に対する認証が成功した場合、クライアントの代わりに電源制御要求をサーバに発行することでセキュリティレベルが確保される(例えば、特許文献3参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2010-124231号公報
【文献】特開平10-11177号公報
【文献】特開2007-299427号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、サーバは、CPUおよびメモリを含みサービスを提供するホストと、ホストに電源を供給するPSU(Power Supply Unit)と、ホストの電源を管理するBMC(Baseboard Management Controller)等の電源管理装置とを有する。電源管理装置は、ホストがサービスを提供していない間、PSUにホストへの電源の供給を停止させ、ホストがサービスの提供を開始するときに、PSUにホストへの電源の供給を開始させる。
【0006】
例えば、電源管理装置は、ネットワークを介して遠隔地からサーバの起動指示を受けた場合、PSUにホストへの電源の供給を開始させる。このように、電源管理装置は、ホストの動作に依存することなく常に動作しており、電力を消費する。データセンターのように大量のサーバが設置されるシステムでは、サーバ個々の電源管理装置の消費電力が僅かでも、データセンター全体では大きな電力を消費してしまう。
【0007】
1つの側面では、本発明は、複数の情報処理装置を含む情報処理システムの消費電力を低減することを目的とする。
【課題を解決するための手段】
【0008】
一つの観点によれば、電源管理装置は、情報処理装置に搭載され、該情報処理装置の電源を管理する電源管理装置であって、ネットワークを介して接続される他の情報処理装置の起動指示を、前記他の情報処理装置に含まれるスリープ中の他の電源管理装置に代わって受信した場合、前記他の電源管理装置のスリープを解除するスリープ解除指示を前記他の電源管理装置に送信する代行管理モードと、前記スリープ解除指示を受信した場合、通常モードに遷移して自情報処理装置を起動する低待機電力モードと、を有し、前記低待機電力モード、前記通常モードおよび前記代行管理モードのいずれにも遷移していない初期起動時に起動通知をブロードキャストし、前記代行管理モードの前記電源管理装置からの応答がない場合、前記代行管理モードに遷移するか否かを判断する遷移判断処理を実施し、前記代行管理モードへの遷移を判断した場合、前記代行管理モードへ遷移して他の情報処理装置の前記起動指示を代行して受信する。
【発明の効果】
【0009】
1つの側面では、本発明は、複数の情報処理装置を含む情報処理システムの消費電力を低減することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態における複数のサーバを含む情報処理システムの一例を示すブロック図である。
【
図2】
図1のサーバの一例を示すブロック図である。
【
図3】
図2のBMCの一例を示すブロック図である。
【
図4】
図1の情報処理システムにおいてサーバの電源遮断時のBMCの状態の一例を示す説明図である。
【
図5】他の情報処理システムにおいてサーバの電源遮断時のBMCの状態の一例(比較例)を示す説明図である。
【
図6】
図4の当直BMCであるP-BMCが管理するグループリストとスリープリストとの一例を示す説明図である。
【
図7】
図1のBMCの状態の遷移の一例を示す状態遷移図である。
【
図8】
図1のBMCの起動処理の一例を示すフロー図である。
【
図9】
図8のステップS100の低待機電力モード解除処理の一例を示すフロー図である。
【
図10】
図8のステップS200の代行管理開始処理の一例を示すフロー図である。
【
図12】
図8のステップS300のサーバ電源管理処理の一例を示すフロー図である。
【
図15】
図13のステップS400のP-BMC更新処理の一例を示すフロー図である。
【
図16】
図12のステップS450のP-BMC更新処理の一例を示すフロー図である。
【
図17】
図14のステップS500のP-BMCの低待機電力モード開始処理の一例を示すフロー図である。
【
図18】
図11および
図12のステップS550のO-BMCの低待機電力モード開始処理の一例を示すフロー図である。
【
図19】
図14のステップS600のP-BMCの電源制御受付代行処理の一例を示すフロー図である。
【
図20】
図14のステップS700のP-BMCの代行解消処理の一例を示すフロー図である。
【
図21】
図9のステップS800のO-BMCの代行解消処理の一例を示すフロー図である。
【
図22】他の情報処理システムのサーバに含まれるBMCの起動処理の一例(比較例)を示すフロー図である。
【
図23】
図22のステップS900のサーバ電源管理処理の一例を示すフロー図である。
【発明を実施するための形態】
【0011】
以下、図面を用いて実施形態が説明される。
【0012】
図1は、一実施形態における情報処理装置を含む情報処理システムの一例を示す。
図1に示す情報処理システム100は、例えば、データセンター200に設置される複数のサーバ10を有する。データセンター200は、複数のサーバ10に電力を供給するフロア電力供給設備210と、ネットワークNWに接続されたLAN(Local Area Network)インタフェース220とを有する。
【0013】
例えば、
図1は、電源の制御の単位である電源制御管理ネットワークの1つのサブネット内に含まれるサーバ10を示している。なお、情報処理システム100は、複数のサーバ10を含む構成であれば、データセンター200以外の場所に構築されてもよい。また、データセンター200に設置されるサーバ10の数およびサブネットに割り当てられるサーバ10の数は、複数であれば、
図1に限定されない。
【0014】
サーバ10は、ホスト12、PSU14、BMC16および電源スイッチ18を有する。各サーバ10のBMC16は、例えば、LANケーブルを介して相互に接続され、LANインタフェース220に接続される。各サーバ10のPSUは、電源ケーブルを介してフロア電力供給設備210に接続される。サーバ10は、情報処理装置の一例であり、BMC16は、サーバ10の電源を管理する電源管理装置の一例である。サーバ10の例は
図2に示す。
【0015】
各サーバ10の電源は、電源スイッチ18の操作によりオンまたはオフされるだけでなく、LANインタフェース220を介してネットワークNWに接続された端末300からの遠隔操作によりオンまたはオフが可能である。
図1および後述する
図3および
図5において、斜線で示すホスト12およびBMC16は、電源がオン(ON)されていることを示す。
図1では、全てのホスト12とBMC16との電源がオン(ON)されている。
【0016】
図2は、
図1のサーバ10の一例を示す。
図1に示したように、サーバ10は、ホスト12、PSU14、BMC16および電源スイッチ18を有する。ホスト12は、CPU(Central Processing Unit)等のプロセッサと、DIMM(Dual Inline Memory Module)等のメモリとを有し、CPUが各種のプログラムを実行することで、データセンター200の利用者にサービスを提供する。
【0017】
PSU14は、フロア電力供給設備から電源が供給されると自動的にBMC用電源に電力を供給し、BMC16を電源のオン状態にする。電源スイッチ18は、BMC16に接続され、オン操作に基づいてBMC16に割り込みを送信する。割り込みを受けたBMC16は、ホスト12への電源の供給をPSU14に指示する。また、BMC16は、ネットワークNWを介して、サーバ10の起動指示を受けた場合、PSU14にホスト12への電源の供給を指示する。なお、ホスト12への電源の供給は、PCH(Platform Controller Hub)等の電源制御回路を介して制御されてもよい。
【0018】
図3は、
図2のBMC16の一例を示す。BMC16は、EEPROM(Electrically Erasable Programmable Read Only Memory)、DIMM、MPU(Micro-Processing Unit)、NIC(Network Interface Controller)およびGPIO(General Purpose Input/Output)を有する。
【0019】
PSU14からBMC16への電源の供給が開始されると、MPUは、BMCファームウェアプログラムをEEPROMからDIMMに転送し、DIMM上のBMCファームウェアプログラムを実行する。これにより、BMC16は、稼働状態になり、電源が供給されている間、稼働状態を継続する。
【0020】
BMC16は、稼働中にNICまたはGPIOからサーバ10(すなわち、ホスト12)の電源の制御指示を受け取り可能である。言い換えると、BMC16は、サーバ10の電源操作を行うために、サーバ10(すなわち、ホスト12)の電源がオフの間にも電源の供給を受けて動作している。なお、この実施形態のBMC16は、従来のサーバに搭載されるBMCの電源のオン状態以外に、MPUがスリープするスリープ状態を有する。スリープ状態のBMC16は、電源のオン状態のBMC16に比べて消費電力が低い。
【0021】
なお、NICが、BMC16のMPUの電源のオン/オフ制御を実施可能な場合、BMC16のスリープ状態において、NIC以外への電源の供給が遮断されてもよい。そして、NICは、LANインタフェース220を介してBMC16の起動要求を受信した場合、PSU14にMPUへの電源の供給を指示する。
【0022】
図4は、
図1の情報処理システム100において全てのサーバ10の電源遮断時のBMC16の状態の一例を示す。ここで、サーバ10の電源の遮断とは、ホスト12の電源のオフ状態OFFを示し、PSU14からホスト12への電源の供給が停止されている状態を示す。上述したように、BMC16は、電源のオン状態ONとスリープ状態とを取り得る。
図4では、スリープ状態のBMC16を網掛けで示す。
【0023】
以下では、サブネット内に含まれるサーバ10のグループを代行グループとも称する。また、オン状態ONのBMC16のいずれか1つに割り当てられ、サブネット内のサーバ10の電源を他のBMC16に代行して管理するBMC(当直BMC)を、P(Proxy)-BMCと称する。
図4に示すように、サブネット内で1台のサーバ10のみBMC16の電源をオンさせ、P-BMCとして動作させることで、情報処理システム100の待機時の消費電力を、サブネット内の全てのBMC16の電源をオンさせる場合に比べて削減することができる。特に、情報処理システム100の待機時の消費電力を削減することができる。
【0024】
なお、サブネット内において、電源がオンしているサーバ10(ホスト12)のBMC16は、電源がオン状態に設定される。サブネット内でオン状態ONのBMC16のうち、P-BMC以外のBMC16をO(Ordinary)-BMCと称する。さらに、スリープ状態のBMC16を、O-BMC(S)(スリープBMC)と称する。各BMC16は、他のBMC16の状態を互いに認識しながら、P-BMC、O-BMCまたはO-BMC(S)のいずれかに動的に切り替えられる。
【0025】
BMC16は、代行管理モード中にP-BMCとして動作する。代行管理モードは、サブネット内の起動対象のサーバ10のO-BMC(S)に代わってサーバ10の起動指示を受信した場合、O-BMC(S)のスリープを解除するスリープ解除指示をO-BMC(S)に送信するモードである。
【0026】
BMC16は、通常モード中にO-BMCとして動作する。通常モードは、BMC16を搭載するサーバ10に電源が供給され、サーバ10によりサービスが提供され、BMC16が自サーバ10の電源の管理をするモードである。
【0027】
BMC16は、低待機電力モード中にO-BMC(S)として動作する。低待機電力モードは、BMC16が内蔵するMPU(
図3)がスリープ状態または電源オフ状態に設定され、BMC16を低待機電力状態に設定するモードである。低待機電力モードのBMC16(O-BMC(S))は、スリープ解除指示を受信した場合、低待機電力モードを解除して通常モード(O-BMC)に遷移し、自サーバ10を起動する。
【0028】
例えば、P-BMCは、ホスト12の電源のオン状態/オフ状態にかかわらず全てのBMC16のいずれか1つに設定可能である。但し、消費電力を削減するために、P-BMCは、電源がオン状態ONのホスト12を有するサーバ10のBMC16に設定されることが好ましい。これは、電源がオフ状態OFFのホスト12を有するサーバ10のBMC16(すなわち、O-BMC(S))をP-BMCに設定する場合、スリープ状態のO-BMC(S)が起動されるため、消費電力が余分に増加するためである。O-BMC(S)は、電源がオフ状態OFFのホスト12を有するサーバ10のBMC16に設定される。
【0029】
以下に、P-BMCが実施する処理の概要を示す。
(1)ネットワークNWを介した他のサーバ10の起動指示の受信を、IPエイリアスを使用して代行し、起動指示を受信した場合、対応するO-BMC(S)を起動させる。
(2)起動指示の受信を代行する代行依頼をO-BMCから受信した場合、起動指示の代行受信を実施する。
(3)O-BMC(S)が電源スイッチ18により起動され、O-BMCになった場合、当該O-BMC(S)に対して実施していた起動指示の代行受信を停止する。
(4)自サーバ10の電源のオン/オフを管理する。
(5)自サーバ10の電源のオフが指示された場合、O-BMCのいずれかにP-BMCの交代を依頼する。
【0030】
以下に、O-BMC(O-BMC(S))が実施する処理の概要を示す。
(1)O-BMC(S)は、起動指示を代行受信するP-BMCからの起動指示を受信した場合、低待機電力モードから通常モードに移行してO-BMCになり、サーバ10(ホスト12)を起動する。
(2)O-BMC(S)は、自サーバ10の電源スイッチ18が押下された場合、低待機電力モードを解除してO-BMCになり、サーバ10(ホスト12)を起動し、P-BMCに、ネットワークNWを介したサーバ10の起動指示の受信の代行を解消させる。
(3)O-BMCは、サーバ10の電源のオフが指示された場合、サーバ10(ホスト12)の電源をオフし、P-BMCに、ネットワークNWを介したサーバ10の起動指示の受信の代行を依頼し、O-BMC(S)になる。
(4)O-BMCは、P-BMCからの当直BMCの交代依頼を受けた場合、P-BMCになる。
【0031】
図5は、他の情報処理システムにおいてサーバ10の電源遮断時のBMC16の状態の一例(比較例)を示す。
図5に示す情報処理システム100Aは、サーバ10の電源のオン/オフの状態にかかわらず、サブネット内の全てのBMC16に常に電源が供給される(電源のオン状態ON)。この場合、情報処理システム100Aの待機時の消費電力は、
図4の状態に比べて大きくなってしまう。例えば、データセンター200のように、大量のサーバ10が設置される場合、情報処理システム100Aの全体の消費電力の増加量は無視できなくなる。
【0032】
図6は、
図4の当直BMCであるP-BMCが管理するグループリストGLISTとスリープリストSLISTとの一例を示す。例えば、グループリストGLISTおよびスリープリストSLISTは、P-BMC内に搭載される書き換え可能なメモリ(例えば、DIMM)に保持される。なお、グループリストGLISTおよびスリープリストSLISTは、書き換え可能であれば、EEPROMまたはフラッシュメモリ等の不揮発メモリに保持されてもよい。
【0033】
グループリストGLISTは、代行グループに含まれる全てのBMC16(例えば、N個)について、インデックス、役割、IPアドレスおよびUUID(Universally Unique Identifier)を保持する複数のエントリを有する。インデックスの領域には、代行グループに含まれるBMC16を一意に区別するための番号が格納される。役割の領域には、P-BMC、O-BMCまたはO-BMC(S)のいずれかを示す情報が格納される。
【0034】
スリープリストSLISTは、代行グループに含まれる全てのO-BMC(S)(例えば、N個より少ないM個)について、インデックスとMACアドレスとを保持する複数のエントリを有する。P-BMCは、グループリストGLISTを使用して、代行グループ内のBMC16を管理し、スリープリストSLISTを使用して、サーバ10(ホスト12)の電源の起動の代行処理を実施する。IPアドレスおよびMACアドレスは、O-BMC(S)をネットワークNW上で識別する識別情報の一例である。
【0035】
図7は、
図1のBMC16の状態の遷移の一例を示す。BMC16は、初期状態においてNULL-BMCの状態になっている(
図7(a))。NULL-BMCの状態は、例えば、サーバ10の電源ケーブルがフロア電力供給設備210(
図1)に接続(ACオン)された直後の状態であり、P-BMCおよびO-BMCのいずれにも決まっていない状態である。NULL-BMCは、BMC16の状態が決まっていないため、NULL-BMCを含むサーバ10は、オフ状態OFFである。
【0036】
ACオンによりNULL-BMCになったBMC16は、
図8に示す起動処理を実施し、P-BMCまたはO-BMC(S)になる(
図7(b))。例えば、データセンター200を新規に稼働する場合で、複数のサーバ10がACオンされる場合、代行グループが新規に作成され、代行グループ内のBMC16の1つがP-BMCになり、残りのBMCがO-BMC(S)になる。このとき、P-BMCを含むサーバ10はオフ状態OFFである。
【0037】
一方、既に代行グループが存在する場合(すなわち、P-BMCが存在する場合)で、少なくとも1つのサーバ10がACオンされる場合、ACオンされたサーバ10に含まれるBMC16は、代行グループに加入され、O-BMC(S)になる。O-BMC(S)は、P-BMCから電源の起動指示を受けた場合、スリープ状態を解除してO-BMCになり、自サーバ10のホスト12の電源の投入をPSU14に指示し、サーバ10をオン状態ONにする(
図7(c))。
【0038】
サーバ10がオン状態ONのO-BMCは、サーバ10の電源を遮断するオフ指示OFFを受けた場合、自サーバ10のホスト12の電源の遮断をPSU14に指示し、サーバ10をオフ状態OFFにし、O-BMC(S)になる(
図7(d))。オフ指示OFFは、電源スイッチ18のオフ操作またはネットワークNWを介して遠隔から発行される。
【0039】
サーバ10がオフ状態OFFのP-BMCは、サーバ10を起動するオン指示ONを受けた場合、自サーバ10のホスト12の電源の投入をPSU14に指示し、サーバ10をオン状態ONにする(
図7(e))。オン指示ONは、電源スイッチ18のオン操作またはネットワークNWを介して遠隔から発行される。
【0040】
サーバ10がオン状態ONのP-BMCは、サーバ10の電源を遮断するオフ指示OFFを受けた場合、自サーバ10のホスト12の電源の遮断をPSU14に指示し、サーバ10をオフ状態OFFにする(
図7(f))。オフ指示OFFは、電源スイッチ18のオフ操作またはネットワークNWを介して遠隔から発行される。
【0041】
また、例えば、サーバ10の起動指示によりO-BMC(S)がO-BMCになったタイミングで、O-BMCのいずれかを新たにP-BMCに設定し、現在のP-BMCをO-BMCに設定する当直交代が実施される(
図7(g)、(h))。現在のP-BMCを含むサーバ10がオフ状態OFFの場合、P-BMCは、O-BMC(S)に設定される。また、
図7に矢印では示していないが、現在のP-BMCがオン状態ONの場合、P-BMCは、O-BMC(O)に設定される。
【0042】
図8は、
図1のBMC16の起動処理の一例を示す。例えば、BMC16の起動処理は、ACオン、電源スイッチ18のオン操作またはWoL(Wake on LAN)によるマジックパケットの受信に基づいて実施される。サーバ10の電源ケーブルがフロア電力供給設備210に接続された場合、BMC16は、
図3で説明したようにBMCファームウェアを実行し、
図8に示す処理を実行する。なお、
図8から
図21に示す動作は、BMC16がBMCファームウェアを実行することにより実現される。
【0043】
まず、ステップS10において、BMC16は、DIMM上のBMCファームウェアを実行することで、自身のプロセスを起動する。例えば、BMC16(NULL-BMC)は、ACオンに基づいて起動処理を実行する場合、BMCファームウェアをEEPROMからDIMMに転送した後、DIMM上のBMCファームウェアを実行することでプロセスを起動する。O-BMC(S)は、電源スイッチ18のオン操作またはWoLによるマジックパケットの受信に基づいてスリープ状態から起動する場合、停止していたBMCファームウェアの実行を再開することでプロセスを起動する。
【0044】
一方、プロセスが既に起動されているO-BMCは、
図7に示したように、サーバ10がオン状態ONであり、BMCファームウェアを実行中であるため、
図8の起動処理を実施することはない。また、P-BMCは、BMCファームウェアを実行中であるため、
図8の起動処理を実施することはない。
【0045】
次に、ステップS12において、BMC16(NULL-BMC)は、BMC16の内部に保持されている内部データを初期化する。次に、ステップS14において、BMC16(NULL-BMC)は、サーバ10内の初期化が必要な各種ハードウェアを初期化し、ステップS100を実施せずに、ステップS200を実施する。
【0046】
次に、ステップS100において、ステップS10でプロセスを起動したO-BMC(S)は、低待機電力モード解除処理を実行する。ステップS100による低待機電力モード解除処理の例は、
図9で説明する。
【0047】
次に、ステップS200において、ステップS10でプロセスを起動したO-BMC(S)は、現在のP-BMCを認識する処理を実施する。一方、NULL-BMCは、サブネット内の他のBMCと連携して代行グループを新規に作成し、または既存の代行グループに加入し、低待機電力管理を開始するために、代行管理開始処理を実行し、O-BMC(S)になる。なお、ステップS200において、データセンター200の立ち上げ等でP-BMCが存在しない場合、NULL-BMCのいずれかがP-BMCになる。ステップS200による代行管理開始処理の例は、
図10および
図11で説明する。
【0048】
次に、ステップS300において、BMC16は、サーバ10の起動指示または遮断指示に基づいて、サーバ10の電源を管理するサーバ電源管理処理を実行する。ステップS300によるサーバ電源管理処理の例は、
図12から
図14で説明する。
【0049】
図9は、
図8のステップS100の低待機電力モード解除処理の一例を示す。
図9に示す処理は、
図8のステップS10でプロセスを起動したO-BMC(S)により実施される。まず、ステップS102において、O-BMC(S)は、NICおよびGPIO等のハードウェアからBMC16の起動要因を取得する。次に、ステップS102において、O-BMC(S)は、起動要因がネットワークNWを経由したWoLでのマジックパケット(A)である場合、ステップS106を実施し、マジックパケット(A)でない場合、ステップS108を実施する。
【0050】
ステップS106において、O-BMC(S)は、例えば、サーバ10のマザーボードに搭載されたPCH等の電源制御回路にサーバ10(すなわち、ホスト12)の起動を指示し、PSU14の制御によりサーバ10の電源をオンさせる。そして、O-BMC(S)が実施する処理は、ステップS100の呼び出し元の処理に戻る。
【0051】
ステップS108において、O-BMC(S)は、起動要因が電源スイッチ18の押下である場合、ステップS800(代行解消処理)を実施する。例えば、O-BMC(S)は、電源スイッチ18の押下を検出した場合、スリープ状態を解除してO-BMCになり、ステップS800を実施する。ステップS800の例は、
図21で説明する。
【0052】
一方、ステップS108において、BMC16の起動要因が電源スイッチ18の押下でない場合、起動要因はACオンである。ACオンの直後、BMC16は、NULL-BMCであるため、
図10および
図11に示すステップS200を実施するため、ステップS100の呼び出し元の処理に戻る。
【0053】
図10および
図11は、
図8のステップS200の代行管理開始処理の一例を示す。
図10および
図11に示す処理は、NULL-BMCまたはO-BMC(S)により実施される。但し、
図11の一部の処理は、O-BMCからP-BMCになったBMC16により実施される。
【0054】
まず、ステップS202において、BMC16は、代行グループに参加済みであるか否かを判定する。O-BMC(S)は、代行グループに参加済みであり、NULL-BMCは、代行グループに参加していない。代行グループに参加済みのO-BMC(S)は、ステップS204を実施する。代行グループに参加していないNULL-BMCは、ステップS210を実施する。
【0055】
例えば、各BMC16のEEPROM(
図3)等の書き換え可能な不揮発領域には、代行グループ参加済みフラグを格納する領域が割り当てされている。代行グループ参加済みフラグは、BMC16の製造工程において未参加状態にリセットされ、代行グループに参加したときに参加状態にセットされる。代行グループ参加済みフラグがセットされたBMC16は、P-BMCが管理するグループリストGLIST(
図6)に登録される。代行グループ参加済みフラグが割り当てられる領域は、データを書き換え可能に不揮発で記憶できれば、EEPROM以外に割り当てられてもよい。
【0056】
ステップS204において、O-BMC(S)は、BMC起動コマンドをサブネット内にブロードキャストすることで、P-BMCおよび他のO-BMCに起動を通知する。BMC起動コマンドは、O-BMC(S)のUUIDを含む。BMC起動コマンドを受信したO-BMCは、O-BMCのIPアドレスとUUIDとを含む応答を返す。
【0057】
BMC起動コマンドを受信したP-BMCは、その後、BMC起動コマンドの送信元のO-BMCから受信する代行依頼コマンドに基づいて、IPエイリアスを使用して、ネットワークNWを介して受信するサーバ10の起動指示の受付を代行する。IPエイリアスを使用したサーバ10の起動指示の受付の代行については、
図17および
図18で説明する。なお、BMC起動コマンドを受信したP-BMCの応答にはデータは含まれない。
【0058】
次に、ステップS206において、O-BMC(S)は、BMC起動コマンドを受信したP-BMCが送信するP-BMC通知コマンドを受信する。P-BMC通知コマンドは、P-BMCのIPアドレスを含む。O-BMC(S)は、P-BMC通知コマンドを受信することで、P-BMCを認識する。次に、ステップS208において、O-BMC(S)は、受信した応答に含まれるP-BMCのIPアドレスをDIMMまたはEEPROM等の記憶領域に格納し、ステップS200の呼び出し元の処理に戻る。
【0059】
一方、代行グループに参加していないNULL-BMCは、ステップS210において、ステップS204と同様に、BMC起動コマンドをサブネット内にブロードキャストする。ステップS210でNULL-BMCからブロードキャストされるBMC起動コマンドは、NULL-BMCの起動を通知する起動通知の一例である。
【0060】
次に、ステップS212において、NULL-BMCは、BMC起動コマンドを受信したP-BMCの応答(P-BMC通知コマンド)を待ち、タイムアウトが発生したか否かを判定する。NULL-BMCは、タイムアウトが発生した場合、
図11のステップS230を実施する。タイムアウトの発生は、P-BMCが存在しないことを示すため、この後、NULL-BMCのいずれかがP-BMCになる。P-BMCが存在しない状態は、例えば、データセンター200内で新規にサブネットを構築するケースである。タイムアウトが発生しない場合、P-BMCが既に存在していることを示すため、この後、NULL-BMCは、O-BMCを経てO-BMC(S)になる。
【0061】
NULL-BMCがブロードキャストするBMC起動コマンドにより、起動したNULL-BMCの数にかかわりなく、P-BMCにNULL-BMCの存在を認識させることができる。これにより、P-BMCに、グループリストGLISTおよびスリープリストSLISTを更新させることができ、その後、サーバ10の起動指示の受信の代行を開始させることができる。
【0062】
また、NULL-BMCは、BMC起動コマンドに対するP-BMCからの応答がない場合、P-BMCが存在しないことを認識することができ、自身または他のNULL-BMCをP-BMCにする処理を実行することができる。この結果、データセンター200等の立ち上げ時に、P-BMCによるサーバ10の起動指示の受信の代行管理を自動的に開始することができる。
【0063】
NULL-BMCは、タイムアウトが発生していない場合、P-BMCが存在しており、P-BMCからP-BMC通知コマンドが返ってくるため、ステップS214を実施する。なお、BMC起動コマンドを受信したP-BMCは、BMC起動コマンドの送信元のNULL-BMC(実際には、O-BMC(S))をグループリストに登録する。ステップS214において、NULL-BMCは、P-BMC通知コマンドを受信する。次に、ステップS216において、NULL-BMCは、ステップS208と同様に、受信した応答に含まれるP-BMCのIPアドレスをDIMMまたはEEPROM等の記憶領域に格納する。
【0064】
次に、ステップS218において、NULL-BMCは、EEPROM等の不揮発領域に代行グループ参加済みフラグをセットする。次に、NULL-BMCは、O-BMCになり、ステップS550(低待機電力開始処理)を実施し、ステップS200の呼び出し元の処理に戻らずに処理を終了する。これは、O-BMCは、ステップS550の低待機電力開始処理において、
図18で説明するように、スリープすることでO-BMC(S)になり、BMCファームウェアが終了するためである。
【0065】
一方、ステップS212でタイムアウトが判定された場合、
図11のステップS230において、NULL-BMCは、P-BMC以外からの応答がある場合、ステップS232を実施し、P-BMC以外からの応答がない場合、ステップS234を実施する。例えば、P-BMC以外からの応答は、
図10のステップS210で他のNULL-BMCが送信したBMC起動コマンドの応答である。データセンター200内で新規のサブネットワークを構築するために複数のBMC16がほぼ同時に起動された場合、複数のBMC16は、まず複数のNULL-BMCとして動作し、相互にBMC起動コマンドを送受信する。
【0066】
P-BMC以外からの応答がある場合、他のNULL-BMCが存在しているため、NULL-BMCのいずれかをP-BMCに設定する処理が実行される。応答がない場合、起動されたNULL-BMCは1つのみであるため、NULL-BMCをP-BMCに設定する処理が実施される。
【0067】
ステップS232において、NULL-BMCは、他の全てのNULL-BMCからのBMC起動コマンド(UUIDを含む)の受信を待った後、自身のUUIDが一番小さいか否かを判定する。自身のUUIDが一番小さい場合、自身がP-BMCになるため、ステップS234を実施する。自身のUUIDより小さいUUIDの他のNULL-BMCが存在する場合、他のNULL-BMCのいずれかがP-BMCになるため、ステップS240を実施する。ステップS230、S232の処理は、NULL-BMCがP-BMCになるか否か(すなわち、代行管理モードに遷移するか否か)を判断する遷移判断処理の一例である。ここで、代行管理モードは、
図4で説明したように、起動対象のサーバ10のO-BMC(S)に代わってサーバ10の起動指示を受信した場合、O-BMC(S)のスリープを解除するスリープ解除指示をO-BMC(S)に送信するモードである。
【0068】
ステップS234において、NULL-BMCは、DIMM等にグループリストGLISTの領域を割り当てることで、グループリストGLISTを作成し、P-BMCになる。次に、ステップS236において、P-BMCは、P-BMC通知コマンドを、直前までNULL-BMCであった全てのO-BMCに送信する。P-BMC通知コマンドは、P-BMCのIPアドレスを含む。また、P-BMC通知コマンドを受信したO-BMCは、応答を発行しない。次に、ステップS238において、P-BMCは、代行グループ参加済みフラグをセットし、ステップS200の呼び出し元の処理に戻る。
【0069】
一方、UUIDが小さい他のNULL-BMCが存在する場合、ステップS240において、NULL-BMCは、P-BMC通知コマンドの受信を待ち、P-BMC通知コマンドの受信した場合、ステップS242を実施する。ステップS242において、NULL-BMCは、受信したP-BMC通知コマンドに含まれるP-BMCのIPアドレスをDIMM等の記憶領域に格納する。
【0070】
次に、ステップS244において、NULL-BMCは、代行グループ参加済みフラグをセットする。次に、NULL-BMCは、O-BMCになり、ステップS550(低待機電力開始処理)を実施し、
図10のステップS550と同様に、ステップS200の呼び出し元の処理に戻らずに処理を終了する。
【0071】
図12、
図13、
図14は、
図8のステップS300のサーバ電源管理処理の一例を示す。まず、ステップS302において、BMC16は、自身がO-BMCの場合、ステップS304を実施し、自身がP-BMCの場合、
図13のステップS320を実施する。
【0072】
ステップS304において、O-BMCは、サーバ電源制御指示または代行グループ管理イベントの受信を待ち、受信した場合、ステップS306を実施する。O-BMCが受信するサーバ電源制御指示は、自サーバ10の電源オンの指示または電源オフの指示である。O-BMCが受信する代行グループ管理イベントは、P-BMCからP-BMCの交代を依頼されるP-BMC交代依頼コマンドである。ステップS306において、O-BMCは、サーバ電源制御指示を受信した場合、ステップS308を実施し、代行グループ管理イベントを受信した場合、ステップS450を実施する。
【0073】
ステップS308において、O-BMCは、電源オンの指示を受けた場合、ステップS310を実施し、電源オフの指示を受けた場合、ステップS312を実施する。ステップS310において、O-BMCは、PSU14にサーバ10のオンを指示し、ステップS316を実施する。ステップS312において、O-BMCは、PSU14にサーバ10のオフを指示し、ステップS316を実施する。PSU14は、O-BMCからの指示に基づいて、サーバ10の電源をオンまたはオフする。O-BMCは、ステップS450を実施後、ステップS316を実施する。ステップS450のO-BMCによるP-BMC更新処理の例は、
図16で説明する。
【0074】
ステップS316において、BMC16は、自身がO-BMCで電源がオフ状態OFFの場合、スリープしてO-BMC(S)になるため、ステップS550(低待機電力開始処理)を実施し、ステップS300の呼び出し元の処理に戻らずに処理を終了する。
【0075】
一方、ステップS302でP-BMCであることが判定された場合、
図13のステップS320において、P-BMCは、サーバ電源制御指示または代行グループ管理イベントの受信を待ち、受信した場合、ステップS322を実施する。P-BMCが受信するサーバ電源制御指示は、電源オンの指示または電源オフの指示のいずれかである。P-BMCが受信する代行グループ管理イベントは、O-BMCからの代行依頼コマンド、O-BMC(S)からのマジックパケット(B)またはO-BMC(S)の電源オンの指示のいずれである。
【0076】
ステップS322において、P-BMCは、サーバ電源制御指示を受信した場合、ステップS324を実施し、代行グループ管理イベントを受信した場合、
図14のステップS330を実施する。ステップS324において、P-BMCは、電源オンの指示を受けた場合、ステップS326を実施し、電源オフの指示を受けた場合、ステップS328を実施する。ステップS326において、P-BMCは、PSU14にサーバ10のオンを指示し、
図12のステップS316を実施する。ステップS328において、P-BMCは、PSU14にサーバ10のオフを指示し、ステップS400(P-BMC更新処理)を実施する。PSU14は、P-BMCからの指示に基づいて、サーバ10の電源をオンまたはオフする。P-BMCは、ステップS400を実施後、
図12のステップS316を実施する。ステップS400のP-BMCによるP-BMC更新処理の例は、
図16で説明する。
【0077】
図14のステップS330において、P-BMCは、O-BMCから代行依頼コマンドを受信した場合、ステップS500(低待機電力開始処理)を実施し、O-BMCから代行依頼コマンドを受信していない場合、ステップS332を実施する。ステップS332において、P-BMCは、O-BMC(S)からマジックパケット(B)を受信した場合、ステップS700(代行解消処理)を実施し、O-BMC(S)の電源オンの指示を受信した場合、ステップS600(電源制御受付代行処理)を実施する。マジックパケット(B)は、電源スイッチ18のオン操作によりO-BMC(S)から遷移したO-BMCが、P-BMCによるサーバ10の起動指示の受信の代行を解消するために発行する代行解消依頼の一例である。なお、マジックパケット(B)に対する応答はない。
【0078】
ステップS700による代行解消処理の例は、
図20で説明し、ステップS600による電源制御受付代行処理の例は、
図19で説明する。P-BMCは、ステップS500、S600、S700を実施した後、
図12のステップS316を実施する。
【0079】
ここで、マジックパケット(B)は、スリープ状態のO-BMC(S)が電源スイッチ18の押下によりO-BMC(S)からO-BMCになる場合に、スリープ状態の解除をP-BMCに通知するために発行される。マジックパケット(B)は、スリープ状態を解除するO-BMC(S)のMACアドレスを含む。
【0080】
図15は、
図13のステップS400のP-BMC更新処理の一例を示す。
図15に示す処理は、サーバ10の電源をオフするP-BMCがP-BMCを交代するために実施される。まず、ステップS402において、P-BMCは、グループリストGLISTにO-BMCが登録されているか否かを判定する。P-BMCは、O-BMCが登録されている場合、O-BMCのいずれかをP-BMCにし、自身をO-BMC(S)にするためにステップS404を実施する。P-BMCは、グループリストGLISTにO-BMCが登録されていない場合、P-BMCの継続を決定し、ステップS400の呼び出し元の処理に戻る。
【0081】
ステップS404において、P-BMCは、グループリストGLISTを参照し、UUDIが最も小さいO-BMCを次期P-BMCに選定する。このように、P-BMCは、サーバ10の電源が投入されているO-BMCを、スリープ状態のO-BMC(S)より優先的に次期P-BMCとして選択する。これにより、P-BMCの交代のためにサーバ10の電源をオンすることを抑止することができ、情報処理システム100の消費電力が増加することを抑止することができる。
【0082】
次に、ステップS406において、P-BMCは、次期P-BMCに選定したO-BMCにP-BMC交代依頼コマンドを送信する。P-BMC交代依頼コマンドは、O-BMCのいずれかにP-BMC(代行管理モード)への遷移を依頼する交代依頼の一例である。P-BMC交代依頼コマンドと、P-BMC交代依頼コマンドの応答とは、データを含まない。以下では、次期P-BMCに選定したO-BMCを次期P-BMCと称する。
【0083】
次に、ステップS408において、P-BMCは、次期P-BMCからのP-BMC交代依頼コマンドに対する応答を待ち、応答を受信した場合、ステップS410を実施する。ステップS410において、P-BMCは、全てのIPエイリアスの使用を停止することで、ネットワークNWを介して受信するO-BMC(S)の電源制御指示の受付代行を一時的に停止する。これにより、P-BMCの交代後に、旧P-BMCと新P-BMCとの間で、IPエイリアスが重複することを抑止することができ、ネットワークNWを使用したパケットの転送を正常に実施することができる。
【0084】
次に、ステップS412において、P-BMCは、グループリストGLISTおよびスリープリストSLISTの引き継ぎコマンドを、次期P-BMCに送信する。引き継ぎコマンドは、現在のグループリストGLISTに登録された情報と、現在のスリープリストSLISTに登録された情報とを含む。引き継ぎコマンドの応答は、データを含まない。グループリストGLISTの情報を受信した次期P-BMCは、グループリストGLISTに含まれるIPアドレスを使用して、現在と同じIPエイリアスを設定することができる。
【0085】
次に、ステップS414において、P-BMCは、次期P-BMCからの引き継ぎコマンドに対する応答を待ち、応答を受信した場合、次期P-BMCが確定したため、O-BMCになり、ステップS400の呼び出し元の処理に戻る。以上のステップS400の処理により、P-BMCは、自サーバ10の電源をオフする場合、P-BMC交代依頼コマンドをO-BMCのいずれかに送信することで、P-BMCを交代することができる。そして、P-BMCは、サーバ10の起動指示の受信の代行管理を新たなP-BMCに引き継ぐことができる。
【0086】
図16は、
図12のステップS450のP-BMC更新処理の一例を示す。
図16は、次期P-BMCに選定されたO-BMCにより実施され、
図15に対応する処理である。まず、ステップS452において、O-BMCは、P-BMCからP-BMC交代依頼コマンドを受信するまで待ち、P-BMC交代依頼コマンドを受信した場合、ステップS454を実施する。
【0087】
ステップS454において、O-BMCは、P-BMC交代依頼コマンドの応答をP-BMCに送信する。次に、ステップS456において、O-BMCは、グループリストGLISTおよびスリープリストSLISTの引き継ぎコマンドを受信するまで待ち、引き継ぎコマンドを受信した場合、ステップS458を実施する。
【0088】
ステップS458において、次期P-BMCであるO-BMCは、DIMM等にグループリストGLISTの領域とスリープリストSLISTの領域とを割り当てることで、グループリストGLISTおよびスリープリストSLISTを作成する。そして、O-BMCは、引き継ぎコマンドに含まれるグループリストGLISTの情報をグループリストGLISTに格納し、引き継ぎコマンドに含まれるスリープリストSLISTの情報をスリープリストSLISTに格納する。次に、ステップS460において、O-BMCは、P-BMCにスリープリストSLISTの引き継ぎコマンドの応答を送信する。
【0089】
次に、ステップS462において、O-BMCは、新たなP-BMCとしての動作を開始し、IPエイリアスを使用して、全てのO-BMC(S)の電源制御指示の受付代行を開始する。新たなP-BMCは、グループリストGLISTおよびスリープリストSLISTのIPアドレスおよびMACアドレスを参照してIPエイリアスを使用する。そして、新たなP-BMCは、ステップS450の呼び出し元の処理に戻る。なお、新たなP-BMCは、全てのO-BMCにP-BMC通知コマンドを送信する。
【0090】
図17は、
図14のステップS500のP-BMCの低待機電力モード開始処理の一例を示す。
図17に示す処理は、P-BMCにより実施される。まず、ステップS502において、P-BMCは、O-BMCから代行依頼コマンドを受信するまで待ち、代行依頼コマンドを受信した場合、ステップS504を実施する。
【0091】
ステップS504において、P-BMCは、スリープリストSLISTに代行依頼コマンドの送信元のO-BMCを追加する。次に、ステップS506において、P-BMCは、グループリストGLISTにおける代行依頼コマンドの送信元のO-BMCの割り当て欄をO-BMCからO-BMC(S)に更新する。このように、P-BMCは、サーバ10の電源オフの指示を受けたO-BMCから代行依頼コマンドを受信することで、グループリストGLISTおよびスリープリストSLISTを更新することができる。
【0092】
次に、ステップS508において、P-BMCは、代行依頼コマンドの送信元のO-BMCに代行依頼コマンドの応答を送信する。次に、ステップS510において、P-BMCは、代行依頼コマンドの送信元のO-BMCからの応答がなくなるまでPingコマンドを繰り返し送信する。P-BMCは、Pingコマンドの応答がなくなった場合、代行依頼コマンドの送信元のO-BMCがスリープしてO-BMC(S)になったと判定する。
【0093】
そして、ステップS512において、P-BMCは、代行依頼コマンドの送信元のO-BMCのIPエイリアスの使用を開始して、ネットワークNWを介したサーバ10の電源の起動指示の受信の代行を開始する。そして、P-BMCの処理は、ステップS500の呼び出し元の処理に戻る。
【0094】
図18は、
図11および
図12のステップS550のO-BMCの低待機電力モード開始処理の一例を示す。
図18は、O-BMCにより実施され、P-BMCが実施する
図17に対応する処理である。まず、ステップS552において、O-BMCは、サーバ10の電源の起動指示の受信の代行をP-BMCに依頼するために、自身のMACアドレスを含む代行依頼コマンドをP-BMCに送信する。
【0095】
次に、ステップS554において、O-BMCは、P-BMCから代行依頼コマンドの応答を受信するまで待ち、代行依頼コマンドの応答を受信した場合、ステップS556を実施する。ステップS556において、O-BMCは、WoLの待機状態(マジックパケット(A)の受信待ち状態)でスリープすることでO-BMC(S)になり、ステップS550の呼び出し元の処理に戻る。
【0096】
図19は、
図14のステップS600のP-BMCの電源制御受付代行処理の一例を示す。
図19は、P-BMCにより実施される。まず、ステップS602において、P-BMCは、ネットワークNWを経由してO-BMC(S)の電源オンの指示を受信するまで待ち、電源オンの指示を受信した場合、ステップS604を実施する。ステップS604において、P-BMCは、電源オンの対象のO-BMC(S)のIPエイリアスの使用を停止する。
【0097】
次に、ステップS606において、P-BMCは、スリープリストSLISTから電源オンの対象のO-BMC(S)のMACアドレスを読み出し、読み出したMACアドレスを含むマジックパケット(A)をブロードキャストする。ここで、マジックパケット(A)は、O-BMC(S)のスリープ状態を解除するスリープ解除指示の一例である。
図9で説明したように、O-BMC(S)は、マジックパケット(A)を受信した場合、サーバ10の電源をオンする。なお、マジックパケット(A)に対する応答はない。
【0098】
次に、ステップS608において、P-BMCは、スリープリストSLISTから電源オンの対象のO-BMC(S)のエントリを削除する。次に、ステップS610において、P-BMCは、グループリストGLISTにおいて、電源オンの対象のエントリの役割欄に登録されているO-BMC(S)をO-BMCに変更する。P-BMCは、ステップS608、S610の処理により、起動対象のサーバ10のO-BMC(S)のIPアドレスおよびMACアドレスの管理を停止する。次に、P-BMCは、
図15に示したステップS400(P-BMC更新処理)を実施した後、ステップS600の呼び出し元の処理に戻る。
【0099】
図20は、
図14のステップS700のP-BMCの代行解消処理の一例を示す。
図20は、P-BMCにより実施される。まず、ステップS702において、P-BMCは、マジックパケット(B)を受信するまで待つ。マジックパケット(B)は、電源スイッチ18の押下によりスリープ状態を解除するO-BMC(S)のMACアドレスを含む。P-BMCは、マジックパケット(B)を受信した場合、ステップS704を実施する。
【0100】
ステップS704において、P-BMCは、スリープリストSLISTとグループリストGLISTとを参照し、マジックパケット(B)の発行元のO-BMCに対応するIPエイリアスの使用を停止する。マジックパケット(B)の発行元のO-BMC(S)がO-BMCになった場合、O-BMCのIPアドレスとP-BMCが使用するIPエイリアスとが競合するため、このままでは、スリープ状態を解除したO-BMCは、ネットワークNWを利用できない。ステップS704により、P-BMCがIPエイリアスの使用を停止することで、IPエイリアスの重複を解消することができ、O-BMCは、ネットワークNWを利用してパケットを送受信することができる。
【0101】
次に、ステップS706において、P-BMCは、スリープリストSLISTからマジックパケット(B)に含まれるMACアドレスを保持するエントリを削除する。次に、ステップS708において、P-BMCは、グループリストGLISTにおいて、スリープ状態を解除したO-BMCの割り当て欄をO-BMC(S)からO-BMCに更新する。そして、P-BMCは、スリープ状態を解除したO-BMCに対応するサーバ10の電源の起動指示の受付の代行を解消する。次に、P-BMCは、
図15に示したステップS400(P-BMC更新処理)を実施した後、ステップS700の呼び出し元の処理に戻る。
【0102】
図21は、
図9のステップS800のO-BMCの代行解消処理の一例を示す。
図20は、O-BMCにより実施され、P-BMCが実施する
図20に対応する処理である。まず、ステップS802において、O-BMCは、自身のMACアドレスを含むマジックパケット(B)をブロードキャストする。
【0103】
次に、ステップS804において、O-BMCは、自身のIPアドレスを含むARP(Address Resolution Protocol)パケットを送信する。次に、ステップS806において、O-BMCは、ARPパケットの応答があるか否かを判定し、ARPパケットの応答がある場合、ステップS808を実施し、ARPパケットの応答がない場合、ステップS810を実施する。
【0104】
上述した
図20のステップS704において、P-BMCがIPエイリアスの使用を停止するまで、電源スイッチ18の押下によりスリープ状態を解除するO-BMC(S)のIPアドレスと、P-BMCが使用するIPエイリアスのIPアドレスとは重複している。このため、IPアドレスが重複している期間、O-BMCは、ステップS804の応答として自身のIPアドレスを含むARPパケットの応答を受けることになる。
【0105】
ステップS808において、O-BMCは、IPアドレスの重複が解消されていないため、一定時間を待った後、ステップS804に戻り、ARPパケットを再び送信する。ステップS810において、O-BMCは、ステップS804の応答がない場合、IPアドレスの重複が解消されたため、ネットワークNWに接続し、ステップS800の呼び出し元の処理に戻る。
【0106】
このように、O-BMCは、自身のIPアドレスを含むARPパケットを、応答がなくなるまで繰り返し送信することで、IPアドレスの重複が解消されたことを判定することができ、ネットワークNWに接続することができる。
【0107】
図22は、他の情報処理システムに搭載されるサーバに含まれるBMCの起動処理の一例(比較例)を示す。
図8と同様の処理については同じステップ番号を付し、詳細な説明は省略する。ステップS10、S12、S14の処理は、
図8のステップS10、S12、S14の処理と同様である。BMCは、ステップS14でハードウェアを初期化した後、ステップS900において、サーバの電源を管理するサーバ電源管理処理を実行する。サーバ電源管理処理の例は、
図23に示す。
【0108】
図23は、
図22のステップS900のサーバ電源管理処理の一例を示す。
図12と同様の処理については詳細な説明は省略する。まず、ステップS902において、BMCは、サーバ電源制御指示の受信を待ち、受信した場合、ステップS904を実施する。BMCが受信するサーバ電源制御指示は、電源オンの指示または電源オフの指示のいずれかである。
【0109】
ステップS904において、BMCは、電源のオン指示を受けた場合、ステップS906を実施し、電源オフの指示を受けた場合、ステップS908を実施する。ステップS906において、BMCは、サーバに含まれるPSUにサーバのオンを指示し、ステップS902の処理に戻る。ステップS908において、BMCは、PSUにサーバのオフを指示し、ステップS902の処理に戻る。
【0110】
以上、この実施形態では、サブネット内の複数のサーバ10の各々が有するBMC16のうち、1台のみをP-BMCとして起動状態に設定し、残りのBMCのうち、電源がオフされサービスを提供していないサーバ10のBMCをスリープ状態に設定する。これにより、サブネット内の全てのBMCを起動状態に設定する場合に比べて、サブネット内のBMCの総消費電力を削減することができ、情報処理システム100の消費電力を削減することができる。特に、情報処理システム100の待機時の消費電力を削減することができる。
【0111】
P-BMCは、MACアドレスを含むスリープリストSLISTと、IPアドレスを含むグループリストGLISTとによりO-BMC(S)を管理することで、サーバ10の起動指示を代行して受信し、O-BMC(S)を起動することができる。例えば、P-BMCは、スリープ状態のO-BMC(S)のIPアドレスをIPエイリアスとして使用することで、O-BMC(S)に対応するサーバ10の起動指示を代行して受信することができる。したがって、新たなIPアドレスを設定するなど、余分なネットワーク設計をすることなく、起動指示を代行して受信し、O-BMC(S)を起動することができる。
【0112】
さらに、P-BMCは、起動指示を代行して受信した場合に、サーバ10を起動させるO-BMC(S)のMACアドレスを含むマジックパケット(A)をブロードキャストする。これにより、P-BMCは、スリープリストSLISTに登録されたMACアドレスを使用して、起動対象のO-BMC(S)を起動することができる。
【0113】
電源スイッチ18の押下によりスリープ状態を解除されたO-BMCは、P-BMCにより識別可能な識別情報をP-BMCに送信する。これにより、P-BMCは、O-BMC(S)のスリープ状態の解除を検出することができ、グループリストGLISTおよびスリープリストSLISTを更新することができる。例えば、O-BMCは、自身のMACアドレスを含むマジックパケット(B)をブロードキャストする。これにより、P-BMCは、スリープリストSLISTに登録されたMACアドレスを参照してIPエイリアスの使用を停止し、起動指示の受信の代行を解消することができる。
【0114】
マジックパケット(B)をブロードキャストしたO-BMCは、その後、ARPパケットを、応答がなくなるまで繰り返し送信することで、簡易な手法によりP-BMCによるIPエイリアスの使用の停止を検出することできる。
【0115】
P-BMCは、サーバ10の電源オフの指示を受けたO-BMCから代行依頼コマンドを受信することで、グループリストGLISTおよびスリープリストSLISTを更新することができ、サーバ10の起動指示の受信の代行を開始することができる。
【0116】
NULL-BMCは、BMC起動コマンドをブロードキャストすることで、P-BMCに自身の存在を認識させることができる。これにより、P-BMCに、グループリストGLISTおよびスリープリストSLISTを更新させることができ、サーバ10の起動指示の受信の代行を開始させることができる。
【0117】
また、NULL-BMCは、BMC起動コマンドに対するP-BMCからの応答がない場合、P-BMCが存在しないことを認識することができ、自身または他のNULL-BMCをP-BMCにする処理を実行することができる。この結果、データセンター200等の立ち上げ時に、P-BMCによるサーバ10の起動指示の受信の代行管理を自動的に開始することができる。
【0118】
P-BMCは、自サーバ10の電源をオフする場合、P-BMC交代依頼コマンドをO-BMCのいずれかに送信することで、P-BMCを交代することができ、サーバ10の起動指示の受信の代行管理を新たなP-BMCに引き継ぐことができる。
【0119】
P-BMCを交代する場合に、サーバ10の電源が投入されているO-BMCを、スリープ状態のO-BMC(S)より優先的に次期P-BMCとして選択することで、P-BMCの交代のためにサーバ10の電源をオンすることを抑止することができる。この結果、情報処理システム100の消費電力が増加することを抑止することができる。
【0120】
以上の
図1から
図21に示す実施形態に関し、さらに以下の付記を開示する。
(付記1)
情報処理装置に搭載され、該情報処理装置の電源を管理する電源管理装置であって、
ネットワークを介して接続される他の情報処理装置の起動指示を、前記他の情報処理装置に含まれるスリープ中の他の電源管理装置に代わって受信した場合、前記他の電源管理装置のスリープを解除するスリープ解除指示を前記他の電源管理装置に送信する代行管理モードと、
前記スリープ解除指示を受信した場合、通常モードに遷移して自情報処理装置を起動する低待機電力モードと、を有する電源管理装置。
(付記2)
前記代行管理モード中、前記低待機電力モードの前記電源管理装置を前記ネットワーク上で識別する識別情報を管理し、前記起動指示に含まれる前記識別情報に対応する前記他の電源管理装置に前記スリープ解除指示を送信し、前記スリープ解除指示を送信した前記他の電源管理装置の前記識別情報の管理を停止する、付記1に記載の電源管理装置。
(付記3)
前記代行管理モード中、前記低待機電力モードの前記電源管理装置のIPアドレスとMACアドレスとを前記識別情報として管理し、管理しているIPアドレスをIPエイリアスとして使用して、前記起動指示に含まれるIPアドレスが割り当てられた前記電源管理装置に前記スリープ解除指示を送信する、付記2に記載の電源管理装置。
(付記4)
前記代行管理モード中、低待機電力モードを解除する前記他の電源管理装置の前記識別情報を含む第1のマジックパケットを前記スリープ解除指示としてブロードキャストし、
前記低待機電力モード中、自身の前記識別情報を含む前記第1のマジックパケットを受信した場合、通常モードに遷移し、自情報処理装置を起動する、付記2または付記3に記載の電源管理装置。
(付記5)
前記低待機電力モード中、自情報処理装置の電源スイッチのオン操作に基づいて前記通常モードに遷移し、自情報処理装置を起動し、自身の前記識別情報を含む代行解消依頼を、前記代行管理モードの前記電源管理装置に送信し、
前記代行管理モード中、前記代行解消依頼に基づいて、前記代行解消依頼の送信元の前記電源管理装置の前記識別情報の管理を停止する、付記2ないし付記4のいずれか1項に記載の電源管理装置。
(付記6)
電源スイッチのオン操作に基づいて前記低待機電力モードから前記通常モードに遷移した場合、自身の前記識別情報を含む第2のマジックパケットを前記代行解消依頼としてブロードキャストし、
前記代行管理モード中、前記第2のマジックパケットに含まれる前記識別情報により識別される前記電源管理装置の前記識別情報の管理を停止する、付記5に記載の電源管理装置。
(付記7)
前記通常モード中、前記第2のマジックパケットをブロードキャストした後、自身のIPアドレスを含むARPパケットを繰り返し送信し、ARPパケットの応答がなくなった場合、前記代行管理モードの前記電源管理装置による自情報処理装置の前記起動指示の代行受信の管理の終了を判断する、付記6に記載の電源管理装置。
(付記8)
前記通常モード中に自情報処理装置の電源を遮断する場合、前記代行管理モードの前記電源管理装置に、自情報処理装置の前記起動指示の代行受信を依頼する代行依頼を送信して前記低待機電力モードに遷移し、
前記代行管理モード中、前記代行依頼の送信元の前記電源管理装置を含む情報処理装置の前記起動指示を代行して受信する、付記1ないし付記7のいずれか1項に記載の電源管理装置。
(付記9)
前記低待機電力モード、前記通常モードおよび前記代行管理モードのいずれにも遷移していない初期起動時に起動通知をブロードキャストし、前記代行管理モードの前記電源管理装置からの応答がない場合、前記代行管理モードに遷移するか否かを判断する遷移判断処理を実施し、前記代行管理モードへの遷移を判断した場合、前記代行管理モードへ遷移して他の情報処理装置の前記起動指示を代行して受信する、付記1ないし付記8のいずれか1項に記載の電源管理装置。
(付記10)
前記初期起動時に、前記起動通知に対する前記代行管理モードの前記電源管理装置からの応答がなく、他の前記電源管理装置から前記起動通知を受信した場合であって、前記遷移判断処理において前記代行管理モードへ遷移しないと判断した場合、遷移判断処理に基づいて前記代行管理モードへ遷移した他の前記電源管理装置に、自情報処理装置の前記起動指示の代行受信を依頼する代行依頼の送信し、前記低待機電力モードに遷移する、付記9に記載の電源管理装置。
(付記11)
前記代行管理モード中、自情報処理装置の電源を遮断する場合、通常モードの他の前記電源管理装置のいずれかに、前記代行管理モードへ遷移させる交代依頼を送信し、
前記通常モード中、前記交代依頼を受信した場合、前記代行管理モードへ遷移する、付記1ないし付記10のいずれか1項に記載の電源管理装置。
(付記12)
ネットワークを介して接続される複数の情報処理装置を含む情報処理システムであって、
前記複数の情報処理装置は、自情報処理装置の電源を管理する複数の電源管理装置をそれぞれ有し、
前記複数の電源管理装置の1つは、他の情報処理装置の起動指示を、前記他の情報処理装置に含まれるスリープ中の他の電源管理装置に代わって受信した場合、前記他の電源管理装置のスリープを解除するスリープ解除指示を前記他の電源管理装置に送信する代行管理モードで動作し、
前記複数の電源管理装置の残りは、前記スリープ解除指示を受信した場合、通常モードに遷移して自情報処理装置を起動する低待機電力モードで動作する、情報処理システム。
(付記13)
情報処理装置に搭載され、該情報処理装置の電源を管理する電源管理装置の制御方法であって、
代行管理モードで動作中、ネットワークを介して接続される他の情報処理装置の起動指示を、前記他の情報処理装置に含まれるスリープ中の他の電源管理装置に代わって受信した場合、前記他の電源管理装置のスリープを解除するスリープ解除指示を前記他の電源管理装置に送信し、
低待機電力モードで動作中、前記スリープ解除指示を受信した場合、通常モードに遷移して自情報処理装置を起動する、電源管理装置の制御方法。
【0121】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【0122】
10 サーバ
12 ホスト
14 PSU
16 BMC
18 電源スイッチ
100 情報処理システム
200 データセンター
210 フロア電力供給設備
220 LANインタフェース
300 端末