(57)【特許請求の範囲】
【請求項１】
制御装置を有する情報処理装置であって、
前記制御装置は、
前記情報処理装置の制御処理を含む第１のファームウェアを記憶する第１の記憶部と、前記情報処理装置の利用者に応じた設定処理を含み、前記第１のファームウェアとは異なる第２のファームウェアを記憶する第２の記憶部とを含む記憶装置と、
前記第２のファームウェアの実行の要否を指定する起動フラグを格納する格納部と、
前記第２のファームウェアの実行後に前記起動フラグに、前記第２のファームウェアの実行を抑止する設定を行うフラグ設定部とを備え、
前記記憶装置は、前記第２のファームウェアを起動するか否かを前記起動フラグに応じて判定する第３のファームウェアを記憶する第３の記憶部をさらに含む、
情報処理装置。
【請求項２】
前記制御装置は、前記情報処理装置のプロセッサ及び周辺装置に対する制御インターフェースを有し、
前記設定処理は、前記制御インターフェースを通じた設定を含む、
請求項１に記載の情報処理装置。
【請求項３】
前記制御装置は、
前記記憶装置内での前記第１の記憶部の記憶位置を取得し、前記格納部に前記記憶位置を格納する取得部と、
前記第１の記憶部の記憶位置とは区分された記憶位置に、前記第２の記憶部の前記第２のファームウェアを書き込む記憶制御部とをさらに備え、
前記フラグ設定部は、前記第２のファームウェアが書き込まれた後、前記起動フラグに、前記第２のファームウェアの実行を起動する設定を行う、
請求項１または２に記載の情報処理装置。
【請求項４】
制御装置を有する情報処理装置において、
前記制御装置によって実行される、
前記情報処理装置の制御処理を含む第１のファームウェアを実行するステップと、
前記情報処理装置の利用者に応じた設定処理を含み、前記第１のファームウェアとは異なる第２のファームウェアを実行するステップと、
前記第２のファームウェアの実行の要否を指定する起動フラグを判定するステップと、
前記第２のファームウェアの実行後に前記起動フラグに、前記第２のファームウェアの実行を抑止する設定を行うステップとを、含み、
前記第２のファームウェアを起動するか否かを前記起動フラグに応じて判定する第３のファームウェアを実行するステップをさらに含む、
情報処理装置の設定方法。
【請求項５】
制御装置を有する情報処理装置において、
前記制御装置に実行させる、
前記情報処理装置の制御処理を含む第１のファームウェアを実行するステップと、
前記情報処理装置の利用者に応じた設定処理を含み、前記第１のファームウェアとは異なる第２のファームウェアを実行するステップと、
前記第２のファームウェアの実行の要否を指定する起動フラグを判定するステップと、
前記第２のファームウェアの実行後に前記起動フラグに、前記第２のファームウェアの実行を抑止する設定を行うステップとを、含み、
前記第２のファームウェアを起動するか否かを前記起動フラグに応じて判定する第３のファームウェアを実行するステップをさらに含む、
情報処理装置の設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の設定方法及び設定プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムの導入時には、利用者固有のシステム設計に合わせて、コンピュータシステム構築に関わる各種のハードウェア設定が変更される。例えば、Basic Input / Output System（ＢＩＯＳ）設定、Baseboard Management Controller（ＢＭＣ）ファームウェア設定、Redundant Arrays of Independent Disks（ＲＡＩＤ）システム設定が変
更される。ＢＭＣは、電圧・温度等のエラーの監視、エラー情報の通報、電源制御等のシステム固有の制御等、システムの状態を監視するシステム管理コントローラである。これらのハードウェア設定は、コンピュータシステムを動作させた上で、コンピュータシステムの構築に合わせて、マウス又はキーボード等の入力インターフェースを用いて、手作業で変更することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−１６１１６０号公報
【特許文献２】特開２００５−３１６８５８号公報
【特許文献３】特開２０１０−２２４８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンピュータシステム構築に関わる利用者に応じたハードウェア設定を、入力インターフェースを用いて手作業で入力する場合、工数がかかる。ハードウェア設定は、コンピュータシステムを起動し、コンピュータシステムの運用設計を確認しながら入力されるからである。コンピュータシステムの起動及び入力インターフェースを用いた手作業による設定入力は、１台につき数十分程度の時間を要する。したがって、例えば、１台あたり３０分程度の時間を仮定すると、１０００台のデータセンターでコンピュータシステムを構築する場合、１０００台のコンピュータシステムの設定時間は５００時間に達すると推定される。このため、システム構築時に設定入力を行う人員の確保が困難となる問題が生じる。
【０００５】
ハードウェア設定の入力は、コンピュータシステムの電源投入と同時に動作するＢＭＣを用いて自動化することが考えられる。具体的には、ＢＭＣを制御するプログラムであるＢＭＣファームウェアに、利用者に応じたハードウェア設定（以下、カスタマイズ設定ともいう）の処理を追加実装することで、ハードウェア設定は自動的に変更される。しかしながら、ＢＭＣがシステムの状態を監視するためのＢＭＣ基本機能は、コンピュータシステム固有の処理を含む。このため、ＢＭＣを用いてカスタマイズ設定を行う場合、ＢＭＣファームウェアは、コンピュータシステムごとに開発される。コンピュータシステムごとに、ＢＭＣファームウェアを開発し評価するため、工数がかかる。
【０００６】
本発明の一態様は、ＢＭＣファームウェアによるカスタマイズ設定処理を容易に追加実装することができる情報処理装置、情報処理装置の設定方法及び設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の態様の一つは、情報処理装置によって例示される。本情報処理装置は、
制御装置を有する情報処理装置であって、
前記制御装置は、
前記情報処理装置の制御処理の手順を記憶する第１の記憶部と、前記情報処理装置の利用者に応じた設定処理の手順を記憶する第２の記憶部とを含む記憶装置と、
前記設定処理の実行の要否を指定する起動フラグを格納する格納部と、
前記設定処理の実行後に前記起動フラグに、前記設定処理の実行を抑止する設定を行うフラグ設定部とを備える。
【発明の効果】
【０００８】
開示の情報処理装置、情報処理装置の設定方法及び設定プログラムによれば、ＢＭＣファームウェアによるカスタマイズ設定処理を容易に追加実装することができる。
【図面の簡単な説明】
【０００９】
【図１】比較例におけるコンピュータシステムの装置構成の一例を示す図である。
【図２】ＢＭＣ基本領域にカスタマイズ設定処理を追加したＢＭＣファームウェアの一例を示す図である。
【図３】カスタマイズ領域にカスタマイズ設定処理を追加したＢＭＣファームウェアの一例を示す図である。
【図４】ＢＭＣファームウェアにより自動化されたカスタマイズ設定処理のフローチャートの一例である。
【図５】ＢＭＣ基本領域にカスタマイズ領域が上書きされた例を示す図である。
【図６】情報処理装置の装置構成の一例を示す図である。
【図７】第１実施形態における情報処理装置の処理構成の一例を示す図である。
【図８】カスタマイズ領域を独立化したＢＭＣファームウェア記憶部の一例を示す図である。
【図９】ＢＭＣ設定テーブルの一例を示す図である。
【図１０】ＢＭＣファームウェアによるカスタマイズ設定処理のフローチャートの一例である。
【図１１】カスタマイズ設定実行前のＢＭＣファームウェア記憶部及びＢＭＣ設定テーブルの一例を示す図である。
【図１２】カスタマイズ設定実行後のＢＭＣ設定テーブルの一例を示す図である。
【図１３】カスタマイズ設定実行後、情報処理装置の再起動時のＢＭＣファームウェア記憶部及びＢＭＣ設定テーブルの一例を示す図である。
【図１４】第２実施形態における情報処理装置の処理構成の一例を示す図である。
【図１５】ブート領域及びカスタマイズ領域の書込み処理のフローチャートの一例である。
【図１６】カスタマイズ設定ファームウェアの一例を示す図である。
【図１７】ブート領域書込み後のＢＭＣファームウェア記憶部の一例を示す図である。
【図１８】ブート処理実行後のＢＭＣファームウェア記憶部及びＢＭＣ設定テーブルの一例を示す図である。
【図１９】カスタマイズ領域書込み後のＢＭＣファームウェア記憶部及びＢＭＣ設定テーブルの一例を示す図である。
【図２０】カスタマイズ領域書込み及び起動フラグ更新後のＢＭＣ設定テーブルの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１１】
＜比較例＞
図１から図５は、比較例におけるカスタマイズ設定の自動化処理を説明するための図である。図１は、比較例におけるコンピュータシステムの装置構成の一例を示す図である。コンピュータシステムは、ＢＭＣ、プロセッサ、主記憶装置、外部インターフェース、ＢＩＯＳ設定部、ＲＡＩＤシステム設定部を備える。ＢＭＣは、ＢＭＣ処理部、ＢＭＣプロセッサ、ＢＭＣ設定部を備える。ＢＭＣ処理部は、ＢＭＣを制御するためのソフトウェアであるＢＭＣファームウェアを記憶する。ＢＭＣプロセッサは、ＢＭＣファームウェアを実行するためのプロセッサである。ＢＭＣ設定部は、ＢＭＣのInternet Protocol（ＩＰ
）アドレス等を記憶する不揮発性メモリである。
【００１２】
図２は、ＢＭＣ基本領域にカスタマイズ設定処理を追加したＢＭＣファームウェアの一例を示す図である。ＢＭＣファームウェアは、例えば、Flash Erasable Programmable Read Only Memory（Ｆｌａｓｈ  ＥＰＲＯＭ）に書き込まれる。図２において、ＢＭＣファームウェアは、ブート領域及びＢＭＣ基本領域を含む。
【００１３】
ブート領域は、アドレス００００ｈから１０００ｈに書き込まれ、ＢＭＣの初期化及びＢＭＣ基本領域の起動等のブート処理を含む。ＢＭＣ基本領域は、アドレス１０００ｈからＦＦＦＦｈに書き込まれ、ＢＭＣ基本機能制御及びカスタマイズ設定に関する処理を含む。
【００１４】
ＢＭＣ基本機能制御は、システムボード管理等、コンピュータシステム固有の機能に対する制御である。ＢＭＣ基本機能制御は、電圧・温度のエラー閾値設定、電圧・温度等のセンサー監視、センサーエラー情報の通報、電源投入・切断、電源制御等のシステム固有の制御等の処理を含む。
【００１５】
カスタマイズ設定は、コンピュータシステムの機種等に依存しないハードウェア設定である。カスタマイズ設定は、ＢＩＯＳ設定、ＢＭＣ設定、ＲＡＩＤシステム設定等の処理を含む。
【００１６】
図２において、ＢＭＣ基本領域は、ＢＭＣ基本機能制御処理にカスタマイズ設定処理を追加して、ＢＭＣ基本領域全体を書き換えたものである。ＢＭＣ基本機能制御処理には、カスタマイズ設定処理を呼び出す処理も追加され、これによって、カスタマイズ設定処理が自動化される。
【００１７】
図３は、ＢＭＣ基本領域と区分されたカスタマイズ領域にカスタマイズ設定処理を追加したＢＭＣファームウェアの一例を示す図である。図３において、ＢＭＣファームウェアは、ブート領域、ＢＭＣ基本領域及びカスタマイズ領域を含む。
【００１８】
ブート領域は、図２と同様であるため、説明を省略する。ＢＭＣ基本領域は、アドレス１０００ｈからＥ０００ｈに書き込まれ、ＢＭＣ基本機能制御に関する処理を含む。ＢＭＣ基本機能制御の処理内容は、図２と同様である。カスタマイズ領域は、アドレスＥ０００ｈからＦＦＦＦｈに書き込まれ、カスタマイズ設定に関する処理を含む。カスタマイズ設定の処理内容は、図２と同様である。
【００１９】
図３において、ＢＭＣ基本領域は、ＢＭＣ基本機能制御処理にカスタマイズ設定処理を呼び出す処理を追加して、ＢＭＣ基本領域全体を書き換えたものである。カスタマイズ領域は、カスタマイズ設定の処理を含み、ＢＭＣ基本領域と区分された領域に書き込まれる。また、ＢＭＣ基本機能制御処理からのカスタマイズ設定処理の呼び出しにより、カスタマイズ設定が自動化される。
【００２０】
図４は、ＢＭＣファームウェアにより自動化されたカスタマイズ設定処理のフローチャートの一例を示す図である。Ｓ１０において、コンピュータシステムの電源が投入されることにより、図４の処理が開始する。ＢＭＣファームウェアは、ＢＭＣプロセッサにより実行される。
【００２１】
図４の処理が開始すると、ＢＭＣプロセッサは、Ｓ１１に処理を移す。Ｓ１１では、ＢＭＣプロセッサは、ＢＭＣの起動を開始し、Ｓ１２に処理を移す。Ｓ１２では、ＢＭＣプロセッサは、ブート領域を読み込み、ＢＭＣの初期化及びＢＭＣ基本領域の起動等のブート処理を実行し、Ｓ１３に処理を移す。
【００２２】
Ｓ１３では、ＢＭＣプロセッサは、ＢＭＣ基本領域を読み込み、Ｓ１４に処理を移す。Ｓ１４では、ＢＭＣプロセッサは、ＢＭＣ基本機能制御を実行し、Ｓ１５に処理を移す。Ｓ１５では、ＢＭＣプロセッサは、カスタマイズ設定の呼出しの有無を判断し、呼出しがある場合はＳ１６に処理を移し、呼出しがない場合は、Ｓ１４に処理を戻す。
【００２３】
Ｓ１６では、ＢＭＣプロセッサは、カスタマイズ設定処理を実行する。具体的には、ＢＭＣプロセッサは、カスタマイズ設定としてＢＩＯＳ設定、ＢＭＣ設定、ＲＡＩＤシステム設定等の処理実行し、Ｓ１７に処理を移す。Ｓ１７では、ＢＭＣプロセッサは、コンピュータシステムを再起動し、Ｓ１１に処理を戻す。
【００２４】
図２で説明したように、カスタマイズ設定の自動化は、ＢＭＣ基本領域内にカスタマイズ設定を含めることで実現することができる。一方で、ＢＭＣファームウェアについては、ＢＭＣ基本機能制御処理を含むＢＭＣ基本領域全体が、コンピュータシステム毎に開発され、評価されることとなる。このため、カスタマイズ設定の自動化を実現するために、開発工数及び評価工数が費やされる。
【００２５】
また、図３で説明したように、カスタマイズ設定の自動化は、ＢＭＣ基本領域とは別のカスタマイズ領域にカスタマイズ設定を含めることで実現することもできる。この場合、カスタマイズ領域は、ＢＭＣ基本領域とは別に管理することができる。しかしながら、以下の問題が生じる。
【００２６】
（１）カスタマイズ設定をカスタマイズ領域に分ける際、カスタマイズ設定を呼び出す処理が、ＢＭＣ基本領域内に追加される。このため、ＢＭＣファームウェアは、ＢＭＣ基本領域内のコンピュータシステム固有の機能制御を含めて開発される。即ち、ＢＭＣファームウェアは、コンピュータシステム毎に開発されることになる。したがって、複数のコンピュータシステムを導入するデータセンター等において、コンピュータシステムのハードウェア設定を自動化する場合、開発するＢＭＣファームウェアの数は増大する。
（２）カスタマイズ設定の自動化は、カスタマイズ領域の開発及び評価により実現される。また、カスタマイズ設定を呼び出す処理は、ＢＭＣ基本領域内に含まれる。このため、カスタマイズ領域だけでなく、ＢＭＣ基本領域の開発及び評価が行われることになる。したがって、ＢＭＣファームウェアの開発及び評価工数は増大する。
（３）カスタマイズ領域が後から書き込まれた場合、既に書き込まれているＢＭＣ基本領域が上書きされ、ＢＭＣ基本領域内の処理が影響を受ける可能性がある。
【００２７】
図５は、（３）の問題点を例示する。図５は、ＢＭＣ基本領域にカスタマイズ領域が上書きされた例を示す図である。図５において、ＢＭＣファームウェアは、ブート領域、ＢＭＣ基本領域及びカスタマイズ領域を含む。
【００２８】
ブート領域は、図２と同様である。ＢＭＣ基本領域は、アドレス１０００ｈからＥ４００ｈに書き込まれ、ＢＭＣ基本機能制御に関する処理を含む。ＢＭＣ基本機能制御は、図
２と同様である。カスタマイズ領域は、アドレスＥ０００ｈからＦＦＦＦｈに書き込まれ、カスタマイズ設定に関する処理を含む。カスタマイズ設定は、図２と同様である。
【００２９】
カスタマイズ領域は、ＢＭＣ基本領域が書き込まれた最終アドレスＥ４００ｈよりも小さいアドレスであるＥ０００ｈから書き込まれている。このため、ＢＭＣ基本領域のアドレスＥ０００ｈからＥ４００ｈの範囲は、カスタマイズ領域に上書きされ、上書きされた範囲内の処理が影響を受ける可能性がある。
【００３０】
＜第１実施形態＞
第１実施形態は、情報処理装置が、ＢＭＣ基本領域内のＢＭＣ基本機能制御処理に影響を与えることなく、独立した形でカスタマイズ設定処理を実行する例である。第１実施形態では、カスタマイズ設定処理は、ＢＭＣ基本領域とは区分された領域に実装されている。また、カスタマイズ設定処理は、ＢＭＣ基本領域ではなくブート領域から呼び出される。
【００３１】
したがって、カスタマイズ設定処理は、ＢＭＣ基本領域内のＢＭＣ基本機能制御処理からは独立して実行される。即ち、カスタマイズ設定処理は、コンピュータシステムの機種に依存したＢＭＣ基本機能制御を変更することなく、動作させることができる。このため、利用者に応じたカスタマイズ設定処理のファームウェアは、コンピュータシステム固有の処理を含むことなく開発し実装することが可能となる。
【００３２】
＜装置構成＞
図６は、情報処理装置１の装置構成の一例を示す図である。情報処理装置１は、ＢＭＣ１０、プロセッサ２０、主記憶装置３０、外部インターフェース４０、ＢＩＯＳ設定部５０、ＲＡＩＤシステム設定部６０を備える。なお、情報処理装置１の具体的な装置構成は、図６に示されるものに限定されず、適宜、追加、置換、削除等の変更が可能である。
【００３３】
ＢＭＣ１０は、電圧・温度等のエラーの監視、エラー情報の通報、電源制御等のシステム固有の制御等を行うシステム管理コントローラである。ＢＭＣ１０は、ＢＭＣ処理部１１、ＢＭＣプロセッサ１２、ＢＭＣ設定部１３を備える。ＢＭＣ１０は、制御装置の一例である。
【００３４】
ＢＭＣ処理部１１は、ＢＭＣファームウェアを記憶する。ＢＭＣファームウェアは、ブート領域、ＢＭＣ基本領域、カスタマイズ領域等に区分して、ファームウェアを書き込むことができる。ＢＭＣ処理部１１は、例えば、Ｆｌａｓｈ  ＥＰＲＯＭ等の半導体メモリである。
【００３５】
ＢＭＣプロセッサ１２は、ＢＭＣ処理部１１を実行することにより、ＢＭＣ基本機能制御及びカスタマイズ設定の機能を提供する。ＢＭＣプロセッサ１２は、プロセッサ２０から独立して処理を行うことができるプロセッサである。また、ＢＭＣプロセッサ１２は、各ハードウェアとのインターフェースを有し、各ハードウェアに対する設定を行うことができる。
【００３６】
ＢＭＣ設定部１３は、ＢＭＣ処理部１１の実行に用いられるカスタマイズ領域の開始アドレスやカスタマイズ領域起動フラグ等を記憶する。ＢＭＣ設定部１３は、Electrically
Erasable Programmable Read-Only Memory（ＥＥＰＲＯＭ）等の不揮発性メモリである
。
【００３７】
プロセッサ２０は、主記憶装置３０上に実行可能に展開されたコンピュータプログラムを実行する。ただし、コンピュータプログラムによる処理の一部が、ハードウェア回路に
より実行されてもよい。プロセッサ２０は、例えば、Central Processing Unit（ＣＰＵ
）や、Digital Signal Processor（ＤＳＰ）である。
【００３８】
主記憶装置３０は、プロセッサ２０に、コンピュータプログラムをロードするための記憶領域、及びコンピュータプログラムを実行するための作業領域を提供する。また主記憶装置３０は、データを一時的に保持するためのバッファとして用いられる。主記憶装置３０は、例えば、Random Access Memory（ＲＡＭ）のような半導体メモリである。
【００３９】
外部インターフェース４０は、ＢＭＣ処理部１１にＢＭＣファームウェアを外部から取得するためのインターフェースである。外部インターフェース４０は、Local Area Network（ＬＡＮ）インターフェースであってもよい。例えば、外部インターフェース４０は、Network Interface Card（ＮＩＣ）、無線ＬＡＮカードである。外部インターフェース４０は、接続されるネットワークからＢＭＣファームウェアを取得し、ＢＭＣ処理部１１に格納する。また、外部インターフェース４０は、可搬型媒体の入出力装置であっても良い。例えば、外部インターフェース４０は、フラッシュメモリカードの入出力装置、Universal Serial Bus（ＵＳＢ）メモリを接続するＵＳＢのアダプタ、Compact Disc（ＣＤ）等のディスク媒体の駆動装置である。外部インターフェース４０は、可搬型媒体からＢＭＣファームウェアを読み出し、ＢＭＣ処理部１１に格納する。
【００４０】
ＢＩＯＳ設定部５０は、情報処理装置１の周辺機器を制御するための設定情報を記憶する。ＢＩＯＳ設定部５０は、Complementary Metal Oxide Semiconductor（ＣＭＯＳ）、
ＥＥＰＲＯＭ等の不揮発性メモリである。ＲＡＩＤシステム設定部６０は、ＲＡＩＤシステムを構築し管理するための設定情報を記憶する。ＲＡＩＤシステム設定部６０は、ＥＥＰＲＯＭ等の不揮発性メモリである。
【００４１】
＜処理構成＞
図７〜９は、情報処理装置１の処理構成の例を説明するための図である。図７は、第１実施形態における情報処理装置１の処理構成の一例を示す図である。情報処理装置１は、ＢＭＣ１０を有する。ＢＭＣ１０は、処理構成として、ＢＭＣファームウェア記憶部２、ＢＭＣ設定テーブル３、フラグ設定部４を含む。ＢＭＣプロセッサ１２は、コンピュータプログラムにより、フラグ設定部４の処理を実行する。フラグ設定部４の処理は、ハードウェア回路により実行されてもよい。
【００４２】
ＢＭＣファームウェア記憶部２は、ＢＭＣの処理を実行するファームウェアを記憶するための記憶装置である。ＢＭＣファームウェア記憶部２は、ブート領域２ａ、ＢＭＣ基本領域２ｂ、カスタマイズ領域２ｃを含む。ＢＭＣファームウェア記憶部２は、例えば、Ｆｌａｓｈ  ＥＰＲＯＭである。
【００４３】
ブート領域２ａは、ＢＭＣプロセッサ１２がＢＭＣの起動時の処理を行うファームウェアを記憶する。ＢＭＣ基本領域２ｂは、情報処理装置１の機種に応じたコンピュータシステム固有のＢＭＣ基本機能制御処理を行うファームウェアを記憶する。カスタマイズ領域２ｃは、利用者に応じた種々のハードウェア設定を行うファームウェアを記憶する。
【００４４】
ファームウェアを書き込むためのプログラムを外部インターフェース４０から読み込んで実行することで、ＢＭＣファームウェア記憶部２に各ファームウェアを書き込むことができる。ＢＭＣファームウェア記憶部２に記憶されるファームウェアは、ブート領域２ａ、ＢＭＣ基本領域２ｂ、カスタマイズ領域２ｃごとに書き込むことができる。
【００４５】
ＢＭＣファームウェア記憶部２は、記憶装置の一例である。ブート領域２ａは、第３の記憶部の一例である。ＢＭＣ基本領域２ｂは、第１の記憶部の一例である。カスタマイズ
領域２ｃは、第２の記憶部の一例である。
【００４６】
図８は、カスタマイズ領域を独立化したＢＭＣファームウェア記憶部２の一例を示す図である。ここで、図８に例示されるブート領域２ａ、ＢＭＣ基本領域２ｂ、カスタマイズ領域２ｃは、各領域で実行される処理の説明であり、ＢＭＣプロセッサ１２が実行する形式で記載されている訳ではない。
【００４７】
図８において、ブート領域２ａは、アドレス００００ｈ〜１０００ｈの範囲に書き込まれている。ブート領域２ａは、例えば、ＢＭＣの初期化、カスタマイズ領域開始アドレス設定、ＢＭＣ基本領域２ｂ又はカスタマイズ領域２ｃの起動判定の処理を記憶する。
【００４８】
また、図８において、ＢＭＣ基本領域２ｂは、アドレス１０００ｈ〜Ｅ０００ｈの範囲に書き込まれている。ＢＭＣ基本領域２ｂは、例えば、電圧及び温度のエラー閾値管理、電圧及び温度等のセンサー監視、センサーエラー情報の通報、電源の投入及び切断の処理を記憶する。
【００４９】
また、図８において、カスタマイズ領域２ｃは、アドレスＥ０００ｈ〜ＦＦＦＦｈの範囲に書き込まれている。カスタマイズ領域２ｃは、例えば、ＢＩＯＳ設定、ＢＭＣ設定、ＲＡＩＤシステム設定、カスタマイズ領域起動フラグのリセット、カスタマイズ領域の削除の処理を記憶する。
【００５０】
ＢＭＣ設定テーブル３は、ＢＭＣファームウェア記憶部２に記憶された処理に用いられる設定値を格納する。図９は、ＢＭＣ設定テーブル３の一例を示す図である。ここで、図９に例示されるＢＭＣ設定テーブル３は、ＢＭＣ設定テーブル３に記憶される設定値の説明であり、ＢＭＣプロセッサ１２の処理に用いられる形式で記載されている訳ではない。ＢＭＣ設定テーブル３は、格納部の一例である。
【００５１】
図９において、ＢＭＣ設定テーブル３は、ＢＭＣ設定領域３ａ及びカスタマイズ設定領域３ｂを含む。ＢＭＣ設定領域３ａは、例えば、情報処理装置１のＩＰアドレス及びセンサーエラー情報を格納する。
【００５２】
カスタマイズ設定領域３ｂは、例えば、カスタマイズ領域開始アドレス及びカスタマイズ領域起動フラグを格納する。カスタマイズ領域開始アドレスは、カスタマイズ設定の処理が書き込まれるアドレスを示す。カスタマイズ領域起動フラグ（以下、起動フラグともいう）は、カスタマイズ領域を起動するか否かを判定するためのフラグである。例えば、ＢＭＣプロセッサ１２は、起動フラグの値が“０”の場合はカスタマイズ領域を起動せず、起動フラグの値が“１”の場合はカスタマイズ領域を起動すると判定することができる。
【００５３】
フラグ設定部４は、ＢＭＣ設定テーブル３の起動フラグの設定を変更する。ＢＭＣプロセッサ１２は、起動フラグの値によって、カスタマイズ領域を起動するか否かを判定する。
【００５４】
＜処理の流れ＞
図１０〜１３は、第１実施形態の処理の流れを説明するための図である。図１０は、ＢＭＣファームウェアによるカスタマイズ設定処理のフローチャートの一例である。図１１〜１３は、図１０のフローチャートにおける各処理に応じて変更されるＢＭＣファームウェア記憶部２又はＢＭＣ設定テーブル３を例示する。
【００５５】
図１１は、カスタマイズ設定実行前のＢＭＣファームウェア記憶部２及びＢＭＣ設定テ
ーブル３の一例を示す図である。即ち、図１１は、図１０の処理を実行する前のＢＭＣファームウェア記憶部２及びＢＭＣ設定テーブル３を例示する。
【００５６】
図１１のＢＭＣファームウェア記憶部２は、図８と同一であるため、その説明を省略する。また、図１１のＢＭＣ設定テーブル３のＢＭＣ設定領域３ａは、図９と同一であるため、その説明を省略する。図１１のカスタマイズ設定領域３ｂにおいて、カスタマイズ領域開始アドレスは、“Ｅ０００ｈ”が設定されている。また、起動フラグは、“１”が設定されている。
【００５７】
図１０の処理は、ブート領域２ａ及びカスタマイズ領域２ｃにファームウェアの書き込んだ後、Ｓ２０において、情報処理装置１（コンピュータシステム）の電源が投入されることにより、開始する。
【００５８】
Ｓ２１では、ＢＭＣプロセッサ１２は、ＢＭＣの起動を開始し、Ｓ２２に処理を移す。Ｓ２２では、ＢＭＣプロセッサ１２は、ブート領域２ａを読み込み、ブート処理を実行する。ブート処理は、例えば、ＢＭＣの初期化、カスタマイズ領域開始アドレス設定、ＢＭＣ基本領域２ｂ又はカスタマイズ領域２ｃの起動判定の処理を含む。なお、カスタマイズ領域２ｃにはファームウェアが既に書き込まれているため、ＢＭＣプロセッサ１２は、カスタマイズ領域開始アドレスを設定する処理は実行しなくてもよい。次に、ＢＭＣプロセッサ１２は、Ｓ２３に処理を移す。
【００５９】
Ｓ２３では、ＢＭＣプロセッサ１２は、起動フラグが“０”か否かを判断する。ＢＭＣプロセッサ１２は、起動フラグが“０”の場合には（Ｓ２３：Ｙ）、Ｓ２４に処理を移し、起動フラグが“１”の場合には（Ｓ２３：Ｎ）、Ｓ２６に処理を移す。Ｓ２１からＳ２３までの処理は、ブート領域２ａの動作機構である。Ｓ２３の処理は、設定処理の実行の要否を指定する起動フラグを判定するステップの一例である。
【００６０】
Ｓ２４では、ＢＭＣプロセッサ１２は、ＢＭＣ基本領域２ｂを読み込み、Ｓ２５に処理を移す。Ｓ２５では、ＢＭＣプロセッサ１２は、センサー監視やセンサーエラー情報の通報等のＢＭＣ基本機能制御を実行する。ＢＭＣプロセッサ１２は、ＢＭＣ基本機能制御の動作を継続する。Ｓ２４及びＳ２５の処理は、ＢＭＣ基本領域２ｂの動作機構である。Ｓ２４及びＳ２５の処理は、情報処理装置１の制御処理の手順を実行するステップの一例である。
【００６１】
Ｓ２６では、ＢＭＣプロセッサ１２は、カスタマイズ設定を実行する。カスタマイズ設定は、例えば、ＢＩＯＳ設定、ＢＭＣ設定、ＲＡＩＤシステム設定の処理を含む。また、ＢＭＣプロセッサ１２は、カスタマイズ領域起動フラグをリセットする。具体的には、ＢＭＣプロセッサ１２は、起動フラグに“０”を設定する。図１２は、カスタマイズ設定実行後のＢＭＣ設定テーブル３の一例を示す図である。図１２において、起動フラグは“０”が設定されている。さらに、ＢＭＣプロセッサ１２は、カスタマイズ領域２ｃを削除する。Ｓ２６の処理は、カスタマイズ領域２ｃの動作機構である。Ｓ２６の処理は、情報処理装置１の利用者に応じた設定処理の手順を実行するステップの一例である。次に、ＢＭＣプロセッサ１２は、Ｓ２７に処理を移す。
【００６２】
Ｓ２７では、ＢＭＣプロセッサ１２は、情報処理装置１を再起動する。図１３は、Ｓ２６のカスタマイズ設定実行後、情報処理装置１の再起動時のＢＭＣファームウェア記憶部２及びＢＭＣ設定テーブル３の一例を示す図である。
【００６３】
図１３において、ＢＭＣファームウェア記憶部２のブート領域２ａ及びＢＭＣ基本領域２ｂは、図８と同一であるため、その説明を省略する。図１３において、ＢＭＣファーム
ウェア記憶部２のカスタマイズ領域２ｃは、Ｓ２６で削除され、空き領域となっている。
【００６４】
また、図１３のＢＭＣ設定テーブル３のＢＭＣ設定領域３ａは、図９と同一であるため、その説明を省略する。図１３のカスタマイズ設定領域３ｂにおいて、カスタマイズ領域開始アドレスは、“Ｅ０００ｈ”が設定されている。また、起動フラグは、Ｓ２６の処理により、“０”が設定されている。Ｓ２６及びＳ２７の処理は、カスタマイズ領域２ｃの動作機構である。次に、ＢＭＣプロセッサ１２は、Ｓ２１に処理を戻す。再起動後、ＢＭＣプロセッサ１２は、ＢＭＣ基本機能制御の動作を継続する。
【００６５】
＜第１実施形態の作用効果＞
第１実施形態では、情報処理装置１は、ＢＭＣファームウェア記憶部２のブート領域２ａからカスタマイズ領域２ｃに記憶されたカスタマイズ設定処理を起動する。具体的には、起動フラグに、カスタマイズ領域２ｃを起動するための値を設定することで、情報処理装置１は、カスタマイズ設定を自動化する。したがって、マウス又はキーボード等の入力インターフェースを用いた手作業でのカスタマイズ設定による工数が削減される。
【００６６】
ＢＭＣファームウェア記憶部２のＢＭＣ基本領域２ｂに記憶されるＢＭＣ基本機能制御処理は、情報処理装置１の機種に応じたコンピュータシステム固有の処理である。第１実施形態では、情報処理装置１は、カスタマイズ設定を、ＢＭＣ基本機能制御からは独立して実行する。このため、カスタマイズ設定は、コンピュータシステム固有の処理を含めずに、個別に開発することができる。したがって、コンピュータシステム毎に、カスタマイズ設定処理を含むＢＭＣファームウェアを準備しなくてもよく、ＢＭＣファームウェアの開発本数が削減される。
【００６７】
情報処理装置１は、カスタマイズ設定を、ＢＭＣ基本機能制御からは独立して実行する。このため、カスタマイズ設定の処理を含むファームウェアは、ＢＭＣ基本機能制御を含めずに、個別に開発及び評価することができる。したがって、ＢＭＣ基本機能制御を含むＢＭＣファームウェア全体の開発及び評価を簡略化でき、ＢＭＣファームウェアの開発及び評価の工数が削減される。
【００６８】
＜第２実施形態＞
第２実施形態は、情報処理装置１が、ＢＭＣ基本領域２ｂの記憶位置とは区分された記憶位置にカスタマイズ領域２ｃの書き込んだ後、第１実施形態と同様にカスタマイズ設定を実行する例である。第２実施形態では、情報処理装置１は、ＢＭＣ基本領域２ｂの記憶位置を取得する。カスタマイズ領域２ｃは、取得されたＢＭＣ基本領域２ｂの記憶位置とは区分された記憶位置に書き込まれる。したがって、カスタマイズ領域２ｃへの書込みは、ＢＭＣ基本領域２ｂに影響を与えない。このため、運用中のコンピュータシステムに対しても、カスタマイズ領域２ｃの書込みが可能となる。第２実施形態の装置構成は、第１実施形態と同一であるため、その説明を省略する。
【００６９】
＜処理構成＞
図１４は、第２実施形態における情報処理装置１の処理構成の一例を示す図である。第２実施形態における情報処理装置１のＢＭＣ１０は、処理構成として、第１実施形態における処理構成の他、取得部５及び記憶制御部６を含む。
【００７０】
ＢＭＣプロセッサ１２は、コンピュータプログラムにより、取得部５及び記憶制御部６の処理を実行する。取得部５及び記憶制御部６のいずれか、またはその処理の一部が、ハードウェア回路により実行されてもよい。第１実施形態と同一の処理構成については、その説明を省略する。
【００７１】
取得部５は、カスタマイズ領域２ｃの開始アドレスを取得する。ＢＭＣプロセッサ１２は、カスタマイズ領域２ｃを、ＢＭＣ基本領域２ｂの記憶位置と区分して書き込むことができればよい。したがって、例えば、取得部５は、ＢＭＣ基本領域２ｂの最終アドレス値をカスタマイズ領域２ｃの開始アドレスとして取得する。
【００７２】
取得部５は、取得した最終アドレス値を、ＢＭＣ設定テーブル３において、カスタマイズ設定領域３ｂのカスタマイズ領域開始アドレスに設定する。ＢＭＣプロセッサ１２は、取得した最終アドレス値を開始ドレスとすることで、カスタマイズ領域２ｃをＢＭＣ基本領域２ｂと区分して書き込むことができる。
【００７３】
なお、取得部５は、ＢＭＣ基本領域２ｂの最終アドレス値を、例えば、以下の探索アルゴリズムで取得することができる。取得部５は、ＢＭＣファームウェア記憶部２の最終アドレスから、メモリの特性に応じて、１６ＫＢ又は３２ＫＢ等の容量単位で、連続する０ｂｉｔの領域を前方に検索する。取得部５は、最初に見つかった０ｂｉｔでない領域の最終アドレスを、ＢＭＣ基本領域２ｂの最終アドレス値とすることができる。
【００７４】
ＢＭＣ基本領域２ｂの最終アドレス値を取得する方法は、当該探索アルゴリズムに限られない。取得部５は、当該探索アルゴリズムよりも複雑な探索アルゴリズムを用いて、ＢＭＣ基本領域２ｂの最終アドレス値を取得してもよい。カスタマイズ領域開始アドレス又はＢＭＣ基本領域２ｂの最終アドレス値は、第１の記憶部の記憶位置の一例である。
【００７５】
記憶制御部６は、カスタマイズ領域２ｃの書込みを制御する。記憶制御部６は、取得部５がＢＭＣ設定テーブル３に格納したカスタマイズ領域開始アドレスを取得する。記憶制御部６は、取得したカスタマイズ領域開始アドレスに、ＢＭＣ基本領域２ｂの記憶位置とは区分してカスタマイズ領域２ｃを書き込む。
【００７６】
＜処理の流れ＞
図１５〜２０は、第２実施形態の処理の流れを説明するための図である。図１５は、ブート領域２ａ及びカスタマイズ領域２ｃの書込み処理のフローチャートの一例である。図１６〜２０は、図１５のフローチャートにおける各処理に応じて変更されるＢＭＣファームウェア記憶部２又はＢＭＣ設定テーブル３を例示する。
【００７７】
図１６は、カスタマイズ設定ファームウェアの一例を示す図である。カスタマイズ設定ファームウェアは、図１５の処理を開始する前に開発され、評価される。図１６において、カスタマイズ設定ファームウェアは、例えば、ＢＩＯＳ設定、ＢＭＣ設定、ＲＡＩＤシステム設定、カスタマイズ領域起動フラグのリセット、カスタマイズ領域の削除の処理を含む。ここで、図１６に例示されるカスタマイズ設定ファームウェアは、カスタマイズ設定ファームウェアに含まれる処理の説明であり、ＢＭＣプロセッサ１２が実行する形式で記載されている訳ではない。
【００７８】
図１５の処理は、カスタマイズ設定ファームウェアが開発及び評価された後、Ｓ３０において、情報処理装置１（コンピュータシステム）の電源が投入されることにより開始する。
【００７９】
Ｓ３１では、ＢＭＣプロセッサ１２は、ＢＭＣブート領域２ａにブート処理を行うファームウェアを書き込む。ブート処理を行うファームウェアは、例えば、ＵＳＢ又はＬＡＮ等の外部インターフェース４０からファームウェアを書き込むためのプログラムを読み込んで実行することにより、ＢＭＣブート領域２ａに書き込むことができる。
【００８０】
図１７は、ブート領域書込み後のＢＭＣファームウェア記憶部２の一例を示す図である
。図１７において、ＢＭＣファームウェア記憶部２のブート領域２ａ及びＢＭＣ基本領域２ｂは、図８と同一であるため、その説明を省略する。図１７において、ＢＭＣファームウェア記憶部２のカスタマイズ領域２ｃは、ファームウェアが書き込まれていないため、空き領域となっている。次に、ＢＭＣプロセッサ１２は、Ｓ３２に処理を移す。
【００８１】
Ｓ３２では、ＢＭＣプロセッサ１２は、ＢＭＣ設定テーブル３において、カスタマイズ設定領域３ｂの起動フラグを“０”に設定し、Ｓ３３に処理を移す。Ｓ３３では、ＢＭＣプロセッサ１２は、情報処理装置１を再起動し、Ｓ３４に処理を移す。Ｓ３４では、ＢＭＣプロセッサ１２は、ＢＭＣの起動を開始し、Ｓ３５に処理を移す。Ｓ３５では、ＢＭＣプロセッサ１２は、ブート領域２ａを読み込み、ブート処理の実行を開始し、Ｓ３６に処理を移す。
【００８２】
Ｓ３６では、ＢＭＣプロセッサ１２は、カスタマイズ領域開始アドレスを取得する。ＢＭＣプロセッサ１２は、ＢＭＣ基本領域２ｂの最終アドレスを、カスタマイズ領域開始アドレスとして取得もよい。ＢＭＣプロセッサ１２は、取得したアドレスを、ＢＭＣ設定テーブル３において、カスタマイズ設定領域３ｂのカスタマイズ領域開始アドレスに設定する。ＢＭＣプロセッサ１２は、取得部５により、Ｓ３６の処理を行う。
【００８３】
図１８は、ブート処理実行後のＢＭＣファームウェア記憶部２及びＢＭＣ設定テーブル３の一例を示す図である。図１８のＢＭＣファームウェア記憶部２は、図１７のＢＭＣファームウェア記憶部２から変更されていないため、その説明を省略する。また、図１８のＢＭＣ設定テーブル３のＢＭＣ設定領域３ａは、図９と同一であるため、その説明を省略する。
【００８４】
図１８のカスタマイズ設定領域３ｂにおいて、カスタマイズ領域開始アドレスは、Ｓ３６で取得した“Ｅ０００ｈ”が設定されている。また、起動フラグは、Ｓ２６の処理により、“０”が設定されている。次に、ＢＭＣプロセッサ１２は、Ｓ３７に処理を移す。
【００８５】
Ｓ３７では、ＢＭＣプロセッサ１２は、カスタマイズ領域２ｃにカスタマイズ設定を行うファームウェアを書き込む。カスタマイズ設定を行うファームウェアは、例えば、ＵＳＢ又はＬＡＮ等の外部インターフェース４０からファームウェアを書き込むためのプログラムを読み込んで実行することにより、カスタマイズ領域２ｃに書き込むことができる。ＢＭＣプロセッサ１２は、記憶制御部６により、Ｓ３７の処理を行う。
【００８６】
図１９は、カスタマイズ領域書込み後のＢＭＣファームウェア記憶部２及びＢＭＣ設定テーブル３の一例を示す図である。図１９のＢＭＣファームウェア記憶部２は、図８と同一であるため、その説明を省略する。図１９のＢＭＣ設定テーブル３は、図１８のＢＭＣ設定テーブル３から変更されていないため、その説明を省略する。次に、ＢＭＣプロセッサ１２は、Ｓ３８に処理を移す。
【００８７】
Ｓ３８では、ＢＭＣプロセッサ１２は、ＢＭＣ設定テーブル３において、カスタマイズ設定領域３ｂの起動フラグを“１”に設定する。図２０は、カスタマイズ領域書込み及び起動フラグ更新後のＢＭＣ設定テーブル３の一例を示す図である。図２０のＢＭＣ設定テーブル３のＢＭＣ設定領域３ａは、図９と同一であるため、その説明を省略する。図２０のカスタマイズ設定領域３ｂにおいて、カスタマイズ領域開始アドレスは、“Ｅ０００ｈ”が設定されている。また、起動フラグは、“１”が設定されている。次に、ＢＭＣプロセッサ１２は、Ｓ３９に処理を移す。
【００８８】
Ｓ３９では、ＢＭＣプロセッサ１２は、情報処理装置１を再起動し、Ｓ４０に処理を移
す。Ｓ４０では、ＢＭＣプロセッサ１２は、図１０に示すフローチャートにより、情報処理装置１に対し、カスタマイズ設定を実行する。
【００８９】
＜第２実施形態の作用効果＞
第２実施形態では、情報処理装置１は、ＢＭＣ基本領域２ｂの記憶位置とは区分された記憶位置にカスタマイズ領域２ｃを書き込んだ後、カスタマイズ設定を実行する。情報処理装置１は、ＢＭＣ基本領域２ｂの記憶位置を取得しておくことで、ＢＭＣ基本領域２ｂに影響を与えることなく、カスタマイズ領域２ｃにカスタマイズ設定を行うファームウェアを書き込むことができる。このため、運用中のコンピュータシステムに対しても、カスタマイズ設定の適用が可能となる。
【００９０】
カスタマイズ設定は、ＢＭＣ基本機能制御を含めずに個別に開発される。情報処理装置１は、個別に開発されたカスタマイズ設定の処理を含むファームウェアを、ＢＭＣ基本領域２ｂとは区分して、カスタマイズ領域２ｃに書き込む。即ち、情報処理装置１は、ＢＭＣファームウェア全体ではなく、カスタマイズ領域２ｃにカスタマイズ設定ファームウェアを書き込めばよい。このため、ファームウェアの書込み時間の短縮が可能となる。
【００９１】
＜その他＞
上記実施の形態のいずれかの処理をコンピュータに実行させるプログラムをコンピュータが読み取り可能な記憶媒体に記録することができる。そして、コンピュータに、この記憶媒体のプログラムを読み込ませて実行させることにより、上記実施の形態に示したシステムを提供することができる。ここで、コンピュータ等が読み取り可能な記録媒体は、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。
【符号の説明】
【００９２】
１      情報処理装置
２      ＢＭＣファームウェア記憶部
２ａ    ブート領域
２ｂ    ＢＭＣ基本領域
２ｃ    カスタマイズ領域
３      ＢＭＣ設定テーブル
３ａ    ＢＭＣ設定領域
３ｂ    カスタマイズ設定領域
４      フラグ設定部
５      取得部
６      記憶制御部
１０    ＢＭＣ
１１    ＢＭＣ処理部
１２    ＢＭＣプロセッサ
１３    ＢＭＣ設定部
２０    プロセッサ
３０    主記憶装置
４０    外部インターフェース
５０    ＢＩＯＳ設定部
６０    ＲＡＩＤシステム設定部
【図１】
0006515462.tif 000002
【図２】
0006515462.tif 000003
【図３】
0006515462.tif 000004
【図４】
0006515462.tif 000005
【図５】
0006515462.tif 000006
【図６】
0006515462.tif 000007
【図７】
0006515462.tif 000008
【図８】
0006515462.tif 000009
【図９】
0006515462.tif 000010
【図１０】
0006515462.tif 000011
【図１１】
0006515462.tif 000012
【図１２】
0006515462.tif 000013
【図１３】
0006515462.tif 000014
【図１４】
0006515462.tif 000015
【図１５】
0006515462.tif 000016
【図１６】
0006515462.tif 000017
【図１７】
0006515462.tif 000018
【図１８】
0006515462.tif 000019
【図１９】
0006515462.tif 000020
【図２０】
0006515462.tif 000021