(57)【特許請求の範囲】
【請求項１】
情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースと、
前記デバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与する取得手段と、
前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出す更新手段と、
前記読み出し識別子と前記レジスタ値との組を記憶する管理用データベースと、を含む
情報処理システム。
【請求項２】
前記デバイスは、ペリフェラル・コンポーネント・インターコネクトデバイスであって、前記構成情報は、前記デバイスの製造ベンダを特定するベンダ識別子と、前記デバイスの種類を特定するデバイス識別子と、を更に含み、
前記デバイスデータベースは、前記ベンダ識別子と、前記デバイス識別子と、前記物理アドレスと、を対応付けて記憶し、
前記管理用データベースは、前記読み出し識別子と、前記搭載位置と、前記物理アドレスと、前記レジスタ値と、を対応付けて記憶する
請求項１記載の情報処理システム。
【請求項３】
前記デバイスデータベースは、前記レジスタのそれぞれに対応する機能を識別する機能識別子を更に対応付けて記憶し、
前記管理用データベースは、前記機能識別子を更に対応付けて記憶する
請求項２記載の情報処理システム。
【請求項４】
前記情報処理システムの稼働中において、前記情報処理システムに新たなデバイスが装着されたことを検出する検出手段を更に含み、
前記取得手段は、前記検出手段が検出した前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記読み出し識別子を付与し、
前記更新手段は、前記検出手段が検出した前記デバイスの前記読み出し識別子のそれぞれに対応する、前記デバイスのレジスタ値のそれぞれを読み出し、管理用データベースに記録する、
請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与し、
前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出し、
前記読み出し識別子と前記レジスタ値との組を管理用データベースに記録する
デバイス情報取得方法。
【請求項６】
前記情報処理システムの稼働中において、前記情報処理システムに新たなデバイスが装着されたことを検出し、
前記検出した前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記読み出し識別子を付与し、
前記検出した前記デバイスの前記読み出し識別子のそれぞれに対応する、前記デバイスのレジスタ値のそれぞれを読み出し、管理用データベースに記録する、
請求項５記載のデバイス情報取得方法。
【請求項７】
情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与する処理と、
前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出す処理と、
前記読み出し識別子と前記レジスタ値との組を管理用データベースに記録する処理と、をコンピュータに実行させる
プログラム。
【請求項８】
前記情報処理システムの稼働中において、前記情報処理システムに新たなデバイスが装着されたことを検出する処理と、
前記検出した前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記読み出し識別子を付与する処理と、
前記検出した前記デバイスの前記読み出し識別子のそれぞれに対応する、前記デバイスのレジスタ値のそれぞれを読み出し、管理用データベースに記録する処理と、をコンピュータに実行させる
請求項７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に搭載されるデバイスに関する情報を取得するための技術に関する。
【背景技術】
【０００２】
情報処理システムに搭載されたデバイスに関する情報を取得するための様々な関連技術が知られている。
【０００３】
特許文献１は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ペリフェラル・コンポーネント・インターコネクト））デバイスのコンフィギュレーションレジスタの変更・設定方法を開示する。その方法は、ＰＣＩバスを備えた情報処理装置において、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）起動後にＰＣＩデバイスのコンフィギュレーションレジスタを任意に設定可能とする方法である。
【０００４】
第１に、その方法は、ＯＳ動作環境下でＰＣＩデバイスのコンフィギュレーションレジスタを所望の設定内容に変更する手順を有する。第２に、その方法は、その設定内容を記憶装置に記憶する手順を有する。第３に、その方法は、これ以降のＯＳ起動時、その記憶装置から設定内容を読み込み、その設定内容をＰＣＩデバイスのコンフィギュレーションレジスタへ書き込む手順を有する。
【０００５】
特許文献２は、デバイス制御装置を開示する。そのデバイス制御装置は、基本入出力システム、電力制御システム、オペレーティングシステム及び記憶部を備える。基本入出力システムは、コンピュータに実装されたデバイスに対する基本的な入出力制御を行う。電力制御システムは、それらのデバイスに対する電力制御を行う。オペレーティングシステムは、そのコンピュータ全体を管理する。記憶部は、電力制御システム及び基本入出力システムからアクセス可能な記憶部である。
【０００６】
以上の構成を備えるそのデバイス制御装置は、ＰＣＩ-ＥｘｐｒｅｓｓのＨｏｔ  Ａｄｄ機能に装着されたＰＣＩ-Ｅｘｐｒｅｓｓデバイスの設定をＯＳに依存することなく実行する。具体的には、第１に、電源制御システムが、デバイスからそのデバイス内に予め記憶されているデバイス情報を、取得し、記憶部に記憶する。第２に、基本入出力システムが、記憶部内のそのデバイス情報を読み出す。第３に、基本入出力システムが、そのデバイス情報に基づくデバイスの動作を設定する設定情報を、そのデバイスに内蔵されたレジスタに書き込む。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−２８２７９１号公報
【特許文献２】特開２００９−２０５１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した先行技術文献に記載された技術においては、システムの管理や保守などに供するための適切なデバイス情報を、容易に取得することができない場合があるという問題点がある。
【０００９】
例えば、特許文献１の方法は、ＰＣＩデバイスのレジスタの情報取得にＯＳまたはＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）を仲介させる必要がある。しかし、情報処理装置のハードウェア部分保守契約問題などによりＯＳ操作ができず、情報処理装置に搭載されているＰＣＩデバイスの種類や製造元、搭載場所等の情報、の取得が行えない場合がある。また、ＢＩＯＳを活用して情報取得する場合は、情報処理装置の再起動によりシステム運用を中断する必要がある。
【００１０】
また、特許文献２のデバイス制御装置は、ＰＣＩデバイスのレジスタ情報取得手段としてＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（アドバンスド・コンフィグレーション・アンド・パワー・インターフェイス））を使用している。このため、取得可能な情報が電源制御に関連するレジスタ情報に限定される。即ち、その取得可能な情報は、一部のＰＣＩデバイスのレジスタに限定されていたために、アプリケーションがシステム管理者に提供するシステムの詳細稼働情報や保守員が参照する障害情報などとして、十分なものではない。
【００１１】
本発明の目的は、システムの管理や保守などに供するデバイスの情報をより好適に取得する情報処理システム、デバイス情報取得方法、及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一様態における情報処理システムは、情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースと、前記デバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与する取得手段と、前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出す更新手段と、前記読み出し識別子と前記レジスタ値との組を記憶する管理用データベースと、を含む。
【００１３】
本発明の一様態におけるデバイス情報取得方法は、情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与し、前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出し、前記読み出し識別子と前記レジスタ値との組を管理用データベースに記録する。
【００１４】
本発明の一様態におけるプログラムは、情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与する処理と、前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出す処理と、前記読み出し識別子と前記レジスタ値との組を管理用データベースに記録する処理と、をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明は、システムの管理や保守などに供するデバイスの情報をより好適に取得することが可能になるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】第１の実施形態における各モードの相関図である。
【図３】第１の実施形態におけるデバイスＤＢの構造の一例を示す図である。
【図４】第１の実施形態における管理用ＤＢの構造の一例を示す図である。
【図５】第１の実施形態における情報処理装置７００の全体的な動作を示すフローチャートである。
【図６】第１の実施形態における取得モード３０２の動作を示すフローチャートである。
【図７】第１の実施形態におけるランニングモード３０３の動作を示すフローチャートである。
【図８】第２の実施形態における各モードの相関図である。
【図９】第２の実施形態におけるランニングモード３０３の動作を示すフローチャートである。
【図１０】本発明の第３の実施形態に係る情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
【００１８】
＜＜＜第１の実施形態＞＞＞
図１は、本発明の第１の実施形態に係る情報処理装置（情報処理システムとも呼ばれる）７００の構成を示すブロック図である。図１に示すように、本実施形態に係る情報処理装置７００は、ＰＣＩデバイス１、ＢＩＯＳ２、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）３、ＢＩＯＳメモリ４及びＢＭＣメモリ５を含む。
【００１９】
＝＝＝ＰＣＩデバイス１＝＝＝
ＰＣＩデバイス１は、ＰＣＩ−Ｅｘｐｒｅｓｓ規格に準拠したデバイス、例えばネットワークカードやファイバーチャネルカード等である。情報処理装置７００により、搭載されるＰＣＩデバイス１は異なってよい。また、情報処理装置７００は、複数の異なるＰＣＩデバイス１を搭載可能であってよい。
【００２０】
＝＝＝ＢＩＯＳ２＝＝＝
ＢＩＯＳ２は、情報処理装置７００の基本入出力システムであり、ＰＣＩデバイス１からＰＣＩ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ情報（構成情報とも呼ばれる）を読み取る情報取得部２０を含む。ＢＩＯＳ２は、例えば、情報処理装置７００のプロセッサ上で動作するファームウェアである。
【００２１】
＝＝＝ＢＭＣ３＝＝＝
ＢＭＣ３は、情報処理装置７００のシステム管理用コントローラであり、情報管理部３０、情報監視部３１、制御部３２を含む。ＢＭＣ３は、情報処理装置７００におけるＰｏｗｅｒ  Ｏｆｆモード３００、ＯＳ  Ｂｏｏｔモード３０１、情報取得モード３０２、ランニングモード３０３の切り替え制御を行う。
【００２２】
＝＝＝ＢＩＯＳメモリ４＝＝＝
ＢＩＯＳメモリ４は、ＰＣＩデバイス１の情報を保持するデバイスＤＢ（ＤａｔａＢａｓｅ（データベース））４０を格納する。
【００２３】
＝＝＝ＢＭＣメモリ５＝＝＝
ＢＭＣメモリ５は、情報管理部３０により作成されるＰＣＩデバイス１の管理用ＤＢ５０を格納する。
【００２４】
次に、本実施形態におけるモードについて説明する。図２は、本実施形態における各モードの相関図である。
【００２５】
Ｐｏｗｅｒ  Ｏｆｆモード３００は、情報処理装置７００がＰｏｗｅｒ  Ｏｆｆ状態にあることを示すモードである。情報処理装置７００は、Ｐｏｗｅｒ  Ｏｎされることにより、ＯＳ  Ｂｏｏｔモード３０１に移行する。
【００２６】
ＯＳ  Ｂｏｏｔモード３０１は、情報処理装置７００がＰｏｗｅｒ  Ｏｆｆ状態からＯＳ起動までの状態にあることを示すモードである。情報処理装置７００は、ＰＣＩデバイス１の初期化を完了すると、取得モード３０２に移行する。また、情報処理装置７００は、ＯＳ起動が完了した場合、ランニングモード３０３に移行する。
【００２７】
取得モード３０２は、情報処理装置７００がＰＣＩデバイス１を特定する状態にあることを示す。情報処理装置７００は、取得モード３０２において、管理用ＤＢ５０に情報（特定したＰＣＩデバイス１に関する情報）が登録された後、ＯＳ  Ｂｏｏｔモード３０１に戻る。
【００２８】
ランニングモード３０３は、情報処理装置７００がＯＳ稼働状態にあることを示す。情報処理装置７００は、外部からＰｏｗｅｒ  Ｏｆｆを指示されると、Ｐｏｗｅｒ  Ｏｆｆモード３００に移行する。
【００２９】
以上が、図２を用いたモードの説明である。次に、図１に示す各構成要素と図２に示すモードとの関係を説明する。
【００３０】
＝＝＝情報取得部２０＝＝＝
情報取得部２０は、取得モード３０２において動作する。情報取得部２０は、ＰＣＩデバイス１からＰＣＩ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ情報を取得する。そして、情報取得部２０は、取得したＰＣＩ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ情報に基づいて、ＢＩＯＳメモリ４が格納しているデバイスＤＢ４０を参照することで搭載されているＰＣＩデバイス１の種類を特定する。また、情報取得部２０は、搭載位置を特定する情報（例えば、Ｂｕｓ番号、Ｄｅｖｉｃｅ番号、Ｆｕｎｃｔｉｏｎ番号、Ｓｌｏｔ番号など）からＰＣＩデバイス１の搭載位置を特定する。そして、情報取得部２０は、搭載されているＰＣＩデバイス１の種類と搭載位置との情報を、ＢＭＣ３の情報管理部３０に送信する。
【００３１】
＝＝＝情報管理部３０＝＝＝
情報管理部３０は、取得モード３０２において動作する。情報管理部３０は、情報取得部２０から受信した搭載されているＰＣＩデバイス１と搭載位置との情報を、ＢＭＣメモリ５が備える管理用ＤＢ５０へ記録する。同時に、情報管理部３０は、ＰＣＩデバイス１のステータスレジスタのそれぞれに、機能毎に読み出しＩＤ（ＩＤｅｎｔｉｆｉｅｒ）（読み出し識別子とも呼ばれる）を割り振る。尚、読み出しＩＤはユニークな番号であり同じ番号があってはならない。即ち、読み出しＩＤは、情報処理装置７００に搭載された全てのＰＣＩデバイス１に含まれる、ステータスレジスタのそれぞれを個別に識別する識別子である。
【００３２】
＝＝＝情報監視部３１＝＝＝
情報監視部３１は、ランニングモード３０３において動作する。情報処理装置７００がＯＳ稼働中状態にある場合、情報監視部３１は、ＰＣＩデバイス１のステータスレジスタにアクセスし最新のレジスタ値を読み出す。そして、情報監視部３１は、そのレジスタ値をＢＭＣメモリ５が備える管理用ＤＢ５０に記録する。
【００３３】
＝＝＝制御部３２＝＝＝
制御部３２は、情報処理装置７００の電源状態及びＯＳ稼働状態を監視し、ＢＭＣ３全体の制御及び、ＢＩＯＳ２の起動指示を行う。
【００３４】
以上が、図１に示す各構成要素と図２に示すモードとの関係の説明である。
【００３５】
次に、デバイスＤＢ４０について説明する。デバイスＤＢ４０は、ＰＣＩデバイス１として搭載されうる全てのＰＣＩ−Ｅｘｐｒｅｓｓデバイスの、レジスタに関する情報を保持するＤＢである。
【００３６】
図３は、デバイスＤＢ４０の構造の一例を示す図である。図３に示すように、デバイスＤＢ４０は、例えば、ベンダＩＤ（ベンダ識別子とも呼ばれる）４００、デバイスＩＤ（デバイス識別子とも呼ばれる）４０１，レジスタ名４０２、機能名４０３及びアドレス（物理アドレスとも呼ばれる）４０４を含む。以後、このベンダＩＤ４００、デバイスＩＤ４０１，レジスタ名４０２、機能名４０３及びアドレス４０４の組をレジスタマップ４１とも呼ぶ。
【００３７】
ベンダＩＤ４００は、ＰＣＩ−Ｅｘｐｒｅｓｓデバイスの製造ベンダを特定する情報である。ベンダＩＤは、製造ベンダのそれぞれに対してユニークに決められている値である。
【００３８】
デバイスＩＤ４０１は、ＰＣＩ−Ｅｘｐｒｅｓｓデバイスの種類を特定できる情報である。デバイスＩＤは、ＰＣＩ−Ｅｘｐｒｅｓｓデバイスのそれぞれに対して、製造ベンダによって予め決定された識別子である。
【００３９】
レジスタ名４０２は、ＰＣＩ−Ｅｘｐｒｅｓｓデバイスが備えている各機能のレジスタの名称である。レジスタ名４０２は、そのレジスタ名４０２で示される特定のレジスタを、情報取得部２０と情報管理部３０とが共通に認識可能とする、任意の識別子であってよい。
【００４０】
機能名４０３は、ＰＣＩ−Ｅｘｐｒｅｓｓデバイスが備えている各機能の名称である。機能名４０３は、その機能名４０３で示される特定の機能を、情報取得部２０と情報管理部３０とが共通に認識可能とする、任意の識別子であってよい。
【００４１】
アドレス４０４は、ＰＣＩ−Ｅｘｐｒｅｓｓデバイスが備えている各機能のレジスタ（即ち、機能名４０３で特定される機能を設定するレジスタ名４０２で特定される特定されるレジスタ）の物理アドレスである。アドレス４０４は、レジスタのそれぞれに対して、製造ベンダによって予め決定されたアドレスである。
【００４２】
ここでは、上述したレジスタマップ４１が事前にデバイスＤＢ４０に登録されているものとする。
【００４３】
以上が、デバイスＤＢ４０の説明である。
【００４４】
次に、管理用ＤＢ５０について説明する。管理用ＤＢ５０は、ＢＭＣ３が備える情報管理部３０によりデバイスＤＢ４０を基に作成され、また、情報監視部３１により更新されるＰＣＩデバイス１のレジスタ値を管理するためのデータベースである。
【００４５】
図４は、管理用ＤＢ５０の構造の一例を示す図である。図４に示すように、管理用ＤＢ５０は、例えば、読み出しＩＤ５００、搭載スロット５０１、アドレス５０２、機能名５０３及びレジスタ値５０４を含む。
【００４６】
読み出しＩＤ５００は、前述の通り、情報処理装置７００に搭載された全てのＰＣＩデバイス１に含まれる、ステータスレジスタのそれぞれを個別に識別する識別子である。読み出しＩＤ５００は、例えば、機能名５０３毎に割り当てられるユニークな番号であり、値５０４の検索時及び更新時のキーとして用いられる。
【００４７】
搭載スロット５０１は、情報取得部２０で取得されるＰＣＩデバイス１の搭載位置情報（Ｓｌｏｔ情報）である。
【００４８】
アドレス５０２は、図３に示すデバイスＤＢ４０のアドレス４０４と同一である。
【００４９】
機能名５０３は、図３に示すデバイスＤＢ４０の機能名４０３と同一である。
【００５０】
レジスタ値５０４は、情報監視部３１がＰＣＩデバイス１から読み出したステータスレジスタの内容である。例えば、情報監視部３１は、ＯＳ稼働状態（ランニングモード３０３）において、一定間隔にて、管理用ＤＢ５０からＰＣＩデバイス１の読み出しＩＤ５００をキーとしてＰＣＩデバイス１のステータスレジスタを読み出す。即ち、情報監視部３１は、読み出しＩＤ５００に関連づけられている搭載スロット５０１及びアドレス５０２を使用してＰＣＩデバイス１のステータスレジスタを読み出す。そして、情報監視部３１は、その読み出したステータスレジスタの値で、管理用ＤＢ５０のその読み出しＩＤ５００に関連づけられているレジスタ値５０４を書き換える。
【００５１】
外部から、デバイスの情報の読み出し要求があった場合、読み出しＩＤ５００に対応するレジスタ値５０４が読み出される。
【００５２】
次に本実施形態の動作について、図面を参照して詳細に説明する。
【００５３】
図５は、本実施形態における情報処理装置７００の全体的な動作を示すフローチャートである。
【００５４】
前述したように、情報処理装置７００は、Ｐｏｗｅｒ  Ｏｆｆモード３００においてＰｏｗｅｒ  Ｏｎ（主電源オン）されたことを契機に、図５に示すフローチャートの動作を開始する。
【００５５】
制御部３２は、ＰＣＩデバイス１のＰｏｗｅｒ  Ｏｎを指示し、情報処理装置７００をＯＳ  Ｂｏｏｔモード３０１へ移行させる（ステップＳ１００）。
【００５６】
次に、ＢＩＯＳ２は、ＰＣＩデバイス１の初期化を実行する(ステップＳ１１０)。
【００５７】
次に、ＰＣＩデバイス１の初期化が完了し、デバイス１内のステータスレジスタにアクセス可能な状態となったところで、制御部３２は、情報処理装置７００を取得モード３０２に移行させる（ステップＳ１２０）。取得モード３０２における動作の詳細は、後述する。
【００５８】
次に、取得モード３０２の動作が完了すると、制御部３２は、情報処理装置７００をＯＳ  Ｂｏｏｔモード３０１に復帰しＯＳ  Ｂｏｏｔ処理を継続する（ステップＳ１３０）。
【００５９】
次に、制御部３２は、ＯＳの起動が完了したか否かを判定する（ステップＳ１４０）。
【００６０】
ＯＳの起動が完了した場合(ステップＳ１４０でＹＥＳ）、制御部３２は、情報処理装置７００をランニングモード３０３に移行させる（ステップＳ１５０）。ランニングモード３０３における動作の詳細は、後述する。
【００６１】
以上が、本実施形態における情報処理装置７００の全体的な動作の説明である。
【００６２】
次に、本実施形態における情報処理装置７００の取得モード３０２における動作について説明する。図６は、本実施形態における取得モード３０２の動作を示すフローチャートである。
【００６３】
情報取得部２０は、ＰＣＩデバイス１  のＰＣＩ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ情報とそのＰＣＩデバイス１の搭載位置を特定できる情報とを取得する（ステップＳ１２１）。例えば、情報取得部２０は、そのＰＣＩ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ情報として、ＰＣＩ−Ｅｘｐｒｅｓｓデバイスの製造ベンダが特定できるベンダＩＤと、ベンダ毎にデバイスを特定するデバイスＩＤとを読み出す。また、情報取得部２０は、その搭載位置を特定できる情報として、例えば、搭載Ｓｌｏｔの情報を採取する。
【００６４】
次に、情報取得部２０は、取得したＰＣＩデバイス１のＰＣＩ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ情報（ベンダＩＤ及びデバイスＩＤ）に基づいて、デバイスＤＢ４０から該当するＰＣＩデバイス１のレジスタマップ４１を検索する（ステップＳ１２２）。
【００６５】
Ｓ１２３：次に、情報取得部２０は、検索した結果（搭載されているデバイスのレジスタマップ４１）と搭載Ｓｌｏｔの情報とを結合する（ステップＳ１２３）。具体的には、情報取得部２０は、デバイスＤＢ４０の機能名４０３及びアドレス４０４と、搭載Ｓｌｏｔの情報とを結合する。
【００６６】
次に、情報取得部２０は、ステップＳ１２３で結合したデータを、ＢＭＣ３が備える情報管理部３０へ送信する（ステップＳ１２４)。
【００６７】
次に、情報管理部３０は、情報取得部２０から受信したデータに読み出しＩＤ５００を付与し、管理用ＤＢ５０に記録する（ステップＳ１２５）。具体的には、情報管理部３０は、情報取得部２０からその受信したデータの搭載Ｓｌｏｔの情報を搭載スロット５０１とし、機能名４０３を機能名５０３とし、アドレス４０４をアドレス５０２とした組を管理用ＤＢ５０に記録する。
【００６８】
更に、情報管理部３０は、その搭載スロット５０１と機能名５０３とアドレス５０２の組毎に、即ち、ＰＣＩデバイス１が持つステータスレジスタの機能毎に読み出しＩＤを付与し、読み出しＩＤ５００を管理用ＤＢ５０に追加する。
【００６９】
以上が、本実施形態の取得モード３０２における動作の説明である。
【００７０】
次に、本実施形態のランニングモード３０３における動作について説明する。図７は、本実施形態におけるランニングモード３０３の動作を示すフローチャートである。
【００７１】
情報処理装置７００は、予め定められたタイミング（例えば、一定時間毎に、図７に示すフローチャートの動作を開始する。また、情報処理システム装置は、外部からＢＭＣ３を介して、ステータスレジスタを読み出す要求を受信したことを契機に、図７に示すフローチャートの動作を開始してもよい。
【００７２】
情報監視部３１は、読み出しＩＤ５００をキーとして、ＰＣＩデバイス１のステータスレジスタを読み出す為の搭載スロット５０１とアドレス５０２を入手する(ステップＳ１５１)。
【００７３】
次に、情報監視部３１は、ステップＳ１５１で入手した搭載スロット５０１とアドレス５０２に基づいてＰＣＩデバイス１にアクセスし、そのＰＣＩデバイス１のステータスレジスタを読み出す(ステップＳ１５２)。
【００７４】
次に、情報監視部３１は、読み出したそのＰＣＩデバイス１のステータスレジスタの内容を、その読み出しＩＤ５００に対応するレジスタ値５０４として、管理用ＤＢ５０に記録する(ステップＳ１５３)。
【００７５】
ランニングモード３０３において、情報監視部３１は、以上のステップＳ１５１〜ステップＳ１５３の動作を繰り返す。情報処理装置７００は、Ｐｏｗｅｒ  Ｏｆｆを指示された場合、情報監視部３１がステップＳ１５３を実行（読み出した値を管理用ＤＢ５０に記録）した後のタイミングで、ランニングモード３０３からＰｏｗｅｒ  Ｏｆｆモード３００へ移行する。
【００７６】
以上が、本実施形態のランニングモード３０３における動作の説明である。
【００７７】
以上の動作により、ＰＣＩデバイス１のステータスレジスタの状態を任意に取得することが可能となる。
【００７８】
具体的には、一般的なＰＣＩデバイスに備えられているＬＥＤの点灯状態は目視でなければ確認することができない。従って、遠隔地に存在するシステム管理者が情報処理装置の運用情報を確認したい場合も、現地にある情報処理装置のＬＥＤ点灯状態を確認するしか手段がなかった。
【００７９】
例えば、遠隔地からのＰＣＩデバイスの状態（一例としてＰＣＩデバイスのＬＥＤ状態）の確認は、カメラ等を使用してその状態を撮影し、通信によってその撮影した情報を伝達するしかなかった。例えば、ＰＣＩデバイス１のＬＥＤの状態を示すレジスタをステータスレジスタにすることで、そのＰＣＩデバイス１のＬＥＤ情報を取得することが可能となる。そのようなステータスレジスタの情報を、ネットワーク通信によりＢＭＣ保持情報としてシステム管理者に提供することにより、遠隔地からのタイムリーな運用情報確認が行える。
【００８０】
また、本実施形態においては、ＰＣＩデバイスのレジスタマップ４１を使用してレジスタ情報読み出しを行うため、特許文献２に開示される技術のように取得可能な情報が電源制御関連レジスタに限定されない。
【００８１】
上述した本実施形態における効果は、システムの管理や保守などに供するデバイスの情報をより好適に取得することが可能になることを可能にする点である。
【００８２】
その理由は、以下のような構成を含むからである。即ち、第１に情報取得部２０が、情報処理装置７００に搭載されているＰＣＩデバイス１のレジスタマップ４１を取得する。第２に、情報管理部３０がそのレジスタマップ４１毎に、情報処理装置７００において排他的な読み出しＩＤ５００を付与する。第３に、情報監視部３１がその読み出しＩＤ５００に基づいて、ＰＣＩデバイス１のステータスレジスタを読み出す。
【００８３】
＜＜＜第２の実施形態＞＞＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００８４】
第２の実施形態の構成は、図１に示す第１の実施形態の構成と同一である。
【００８５】
図８は、第２の実施形態における各モードの相関図である。図８に示すように、本実施形態の取得モード３１２は、ランニングモード３１３から移行され、その後、ランニングモード３１３へ戻る場合がある点が、図２に示す取得モード３０２と異なる。また、図８に示すように、本実施形態のランニングモード３１３は、取得モード３１２に移行しその後、ランニングモード３１３へ戻る場合がある点が、図２に示すランニングモード３０３と異なる。
【００８６】
本実施形態の制御部３２は、情報処理装置７０２にＰＣＩデバイス１が新たに装着されたことを検出する。そして、制御部３２は、ＰＣＩデバイス１が新たに装着されたことを検出した場合、情報処理装置７０２をランニングモード３１３から取得モード３１２へ移行させる。
【００８７】
図９は、本実施形態における情報処理装置７０２の新規のＰＣＩデバイス１が、ランニングモード３１３中（ＯＳ稼働中）に装着された場合の動作を示すフローチャートである。
【００８８】
制御部３２は、新規のＰＣＩデバイス１が装着されたことを、即ち、搭載されているＰＣＩデバイス１新たに、検出する（ステップＳ２１０）。
【００８９】
次に、制御部３２は、その新規のＰＣＩデバイス１のＰｏｗｅｒ  Ｏｎ処理を実行する（ステップＳ２２０）。
【００９０】
ＢＩＯＳ２が、その新規のＰＣＩデバイス１の初期化を実行する（ステップＳ２３０）。
【００９１】
次に、ＰＣＩデバイス１の初期化が完了し、新規のＰＣＩデバイス１内のステータスレジスタにアクセス可能な状態となったところで、制御部３２は、情報処理装置７０２を取得モード３１２に移行させる（ステップＳ２４０）。取得モード３１２における動作の詳細は、図６に示すステップＳ１２１〜ステップＳ１２６と同様である。
【００９２】
次に、取得モード３０３の動作が完了すると、制御部３２は、情報処理装置７０２をランニングモード３１３に移行する（ステップＳ２５０）。ランニングモード３０３における動作の詳細は、図７に示すステップＳ１５１〜ステップＳ１５３と同様である。
【００９３】
以上が、本実施形態における情報処理装置７０２の全体的な動作の説明である。
【００９４】
以上の動作により、主電源が入っていない装置で、ＰＣＩデバイスを装置に組み込む前にハードウェア正常性確認としてリンクチェック等に使用される情報を取得することができる。
【００９５】
上述した本実施形態における効果は、第１の実施形態の効果に加えて、Ｈｏｔ  Ａｄｄ（オンライン組込み）されたＰＣＩデバイス１についても、システムの管理や保守などに供するデバイスの情報をより好適に取得することを可能にする点である。
【００９６】
その理由は、制御部３２が、情報処理装置７０２にＰＣＩデバイス１が新たに装着されたことを検出し、情報処理装置７０２を取得モード３１２へ移行させるからである。
【００９７】
＜＜＜第３の実施形態＞＞＞
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００９８】
図１０は、本発明の第３の実施形態に係る情報処理装置７０３の構成を示すブロック図である。
【００９９】
図１０に示すように、本実施形態における情報処理装置７０３は、デバイスＤＢ４０、管理用ＤＢ５０、取得手段６０及び更新手段８０を含む。
【０１００】
＝＝＝デバイスＤＢ４０＝＝＝
デバイスＤＢ４０は、情報処理装置７０３に搭載されるＰＣＩデバイス１が含むレジスタの物理アドレスを少なくとも記憶する。
【０１０１】
＝＝＝管理用ＤＢ５０＝＝＝
管理用ＤＢ５０は、少なくとも図４に示すような読み出しＩＤ５００とレジスタ値５０４との組を記憶する。
【０１０２】
＝＝＝取得手段６０＝＝＝
取得手段６０は、デバイスＤＢ４０に含まれるＰＣＩデバイス１が含むレジスタの物理アドレスと、構成情報と、に基づいて、搭載位置とその物理アドレスとの組み合わせのそれぞれに、読み出しＩＤ５００を付与する。その構成情報は、情報処理装置７０３に搭載されたＰＣＩデバイス１から取得可能な構成情報であり、そのＰＣＩデバイス１に含まれるレジスタの物理アドレスを少なくとも含む。その搭載位置は、情報処理装置７０３に搭載されているそのＰＣＩデバイス１の搭載位置（例えば、搭載Ｓｌｏｔの情報）である。尚、読み出しＩＤ５００は、その情報処理装置７０３において排他的な識別子である。即ち、その情報処理装置７０３に搭載されているＰＣＩデバイス１の搭載位置とその物理アドレスとの組み合わせのそれぞれに付与される読み出しＩＤ５００は、その情報処理装置７０３内において、重複しない。
【０１０３】
＝＝＝更新手段８０＝＝＝
更新手段８０は、読み出しＩＤ５００のそれぞれに対応する、ＰＣＩデバイス１のレジスタ値のそれぞれを読み出し、管理用ＤＢ５０に記録する。
【０１０４】
図１０に示す各構成要素は、ハードウェア単位の回路でも、マイクロチップに含まれるモジュールでも、コンピュータ装置の機能単位に分割された構成要素でもよい。
【０１０５】
例えば、図６及び図７に示すような動作をコンピュータに実行させるプログラムのコードを記録した記録媒体が、情報処理装置７０３に供給される。このような場合、情報処理装置７０３に搭載されたプロセッサ（不図示）は、その記録媒体に格納されたそのプログラムのコードを読み出して実行してよい。或いは、そのプロセッサは、その記録媒体に格納されたそのプログラムのコードを、図示しない情報処理装置７０３の記憶部、記憶装置またはその両方に格納してもよい。すなわち、本実施形態は、情報処理装置７０３が実行するそのプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体の実施形態を含む。尚、情報を非一時的に記憶する記録媒体は、不揮発性記録媒体とも呼ばれる。
【０１０６】
上述した本実施形態における効果は、第１の実施形態の効果と同じく、システムの管理や保守などに供するデバイスの情報をより好適に取得することが可能になることを可能にする点である。
【０１０７】
その理由は、以下のような構成を含むからである。即ち、第１に取得手段６０が、デバイスＤＢ４０とＰＣＩデバイス１の構成情報とに基づいて、そのＰＣＩデバイス１の搭載位置とその物理アドレスとの組み合わせのそれぞれに、読み出しＩＤ５００を付与する。第２に、更新手段８０が、読み出しＩＤ５００のそれぞれに対応する、ＰＣＩデバイス１のレジスタ値のそれぞれを読み出し、管理用ＤＢ５０に記録する。
【０１０８】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、複数個の任意のその構成要素が１個のモジュールとして実現されてよい。また、その構成要素の内の任意のひとつが複数のモジュールで実現されてもよい。また、その構成要素の内の任意のひとつがその構成要素の内の任意の他のひとつであってよい。また、その構成要素の内の任意のひとつの一部と、その構成要素の内の任意の他のひとつの一部とが重複してもよい。
【０１０９】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０１１０】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、コンピュータが読み取り可能な非一時的記録媒体に記録され、コンピュータに提供される。そして、そのプログラムは、コンピュータの立ち上げ時などに、非一時的記録媒体からコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０１１１】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、変更することができる。
【０１１２】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、ある動作の実行中に他の動作が発生してよい。また、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複してもよい。
【０１１３】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で変更されてよい。
【０１１４】
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１１５】
１    ＰＣＩデバイス
２    ＢＩＯＳ
３    ＢＭＣ
４    ＢＩＯＳメモリ
５    ＢＭＣメモリ
２０    情報取得部
３０    情報管理部
３１    情報監視部
３２    制御部
４０    デバイスＤＢ
４１    レジスタマップ
５０    管理用ＤＢ
６０    取得手段
８０    更新手段
３００  Ｐｏｗｅｒ  Ｏｆｆモード
３０１  ＯＳ  Ｂｏｏｔモード
３０２    取得モード
３０３  ランニングモード
３１２    取得モード
３１３    ランニングモード
４００    ベンダＩＤ
４０１    デバイスＩＤ
４０２    レジスタ名
４０３    機能名
４０４    アドレス
５００    読み出しＩＤ
５０１    搭載スロット
５０２    アドレス
５０３    機能名
５０４    レジスタ値
７００    情報処理装置
７０２    情報処理装置
７０３    情報処理装置
【図１】
0006571423.tif 000002
【図２】
0006571423.tif 000003
【図３】
0006571423.tif 000004
【図４】
0006571423.tif 000005
【図５】
0006571423.tif 000006
【図６】
0006571423.tif 000007
【図７】
0006571423.tif 000008
【図８】
0006571423.tif 000009
【図９】
0006571423.tif 000010
【図１０】
0006571423.tif 000011