(57)【要約】【課題】  適切にリソース予約を割り当てる。【解決手段】  本発明の情報処理装置は、ネットワークを介して１つ又は複数のＩＯデバイス群と接続するブリッジ手段と、ブリッジ手段における接続を管理する接続管理手段と、リソースの割当てに対する優先条件の指示又は固定値を記憶する割当て優先指示手段と、システム全体のＩＯデバイスが使用するリソースを調査するリソース量調査手段と、最大リソース量からＩＯデバイスが使用するリソース量を減算した残りリソース量を計算する残りリソース計算手段と、残りリソース量と優先条件の指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算して出力する予約リソース量出力手段と、仮想ＰＣＩブリッジ数及び予約リソース量を基にブリッジ手段を設定する仮想ブリッジリソース設定手段とを含む。【選択図】  図７
2015166959.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して１つ又は複数のＩＯデバイス群と接続するブリッジ手段と、
前記ブリッジ手段における接続を管理する接続管理手段と、
リソースの割当てに対する優先条件の指示又は固定値を記憶する割当て優先指示手段と、
前記ＩＯデバイス群に含まれるＩＯデバイスを含むシステム全体のＩＯデバイスが使用するリソースを調査するリソース量調査手段と、
最大リソース量から前記ＩＯデバイスが使用するリソース量を減算した残りリソース量を計算する残りリソース計算手段と、
前記残りリソース量と前記優先条件の指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算して出力する予約リソース量出力手段と、
前記仮想ＰＣＩブリッジ数及び予約リソース量を基に前記ブリッジ手段を設定する仮想ブリッジリソース設定手段と
を含む情報処理装置。
【請求項２】
前記割当て優先指示手段が、
多数のデバイスを接続できることを優先する指示、使用リソース量の多いものが接続できることを優先する指示、必要追加接続デバイス数、又は、必要予約リソース量の少なくとも１つを記憶する
請求項１に記載の情報処理装置。
【請求項３】
テストモードと通常モードを切り替えるモード切替え手段をさらに含み、
前記モード切替え手段がテストモードの場合、
前記仮想ブリッジリソース設定部が、
前記仮想ＰＣＩブリッジ数及び予約リソース量に最大値を設定後に装置の起動テストを実施する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記起動テストが失敗した場合、
前記仮想ブリッジリソース設定部が、
仮想ＰＣＩブリッジ数及び予約リソース量と前記割当て優先指示手段が記憶している最低値とを比較し、最低値でない場合に仮想ＰＣＩブリッジ数及び予約リソース量を最低値に設定し起動テストを実施する。
請求項３に記載の情報処理装置。
【請求項５】
最低値に設定後の起動テストで失敗した場合、
前記仮想ブリッジリソース設定部が、
仮想ＰＣＩブリッジ数又は予約リソース量のいずれかの設定値を減算して設定し、起動テストを実施する
請求項４に記載の情報処理装置。
【請求項６】
減算後の起動テストで失敗した場合、
前記仮想ブリッジリソース設定部が、
仮想ＰＣＩブリッジ数又は予約リソース量のいずれかにおいて、前回減算していない項目の設定値を減算して、起動テストを実施する
請求項５に記載の情報処理装置。
【請求項７】
前記起動テストの成功後、予約リソース量が使用リソース量より少ない場合、
前記仮想ブリッジリソース設定手段が、
予約リソース量を変更する
請求項６に記載の情報処理装置。
【請求項８】
ネットワークを介して１つ又は複数のＩＯデバイス群と接続する情報処理装置に、
前記接続を管理し、
リソースの割当てに対する優先条件の指示又は固定値を記憶し、
前記ＩＯデバイス群に含まれるＩＯデバイスを含むシステム全体のＩＯデバイスが使用するリソースを調査し、
最大リソース量から前記ＩＯデバイスが使用するリソース量を減算した残りリソース量を計算し、
前記残りリソース量と前記優先条件の指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算して出力し、
前記仮想ＰＣＩブリッジ数及び予約リソース量を基に前記ＩＯデバイス群との接続を設定する
リソース割当て方法。
【請求項９】
ネットワークを介して１つ又は複数のＩＯデバイス群と接続する情報処理装置に、
前記接続を管理する処理と、
リソースの割当てに対する優先条件の指示又は固定値を記憶する処理と、
前記ＩＯデバイス群に含まれるＩＯデバイスを含むシステム全体のＩＯデバイスが使用するリソースを調査する処理と、
最大リソース量から前記ＩＯデバイスが使用するリソース量を減算した残りリソース量を計算する処理と、
前記残りリソース量と前記優先条件の指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算して出力する処理と、
前記仮想ＰＣＩブリッジ数及び予約リソース量を基に前記ＩＯデバイス群との接続を設定する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに分散配置された装置に関し、特に、リソースの割当てに関する。
【背景技術】
【０００２】
ネットワーク上に、ＣＰＵ（Central Processing Unit）とメモリとチップセットとを含む情報処理装置（例えば、ＣＰＵデバイス群）と、ＩＯ（Input Output）デバイス群とを分散配置させた分散システムを構築する技術がある（例えば、特許文献１を参照）。この技術は、ネットワーク上でのデバイス群の分散配置に基づき、デバイス間を自由に接続できる。そのため、この技術は、距離の制約及び筺体の制約を開放し、情報処理システムの拡張性を向上できる。また、この技術は、ＩＯデバイス群のグループ識別子（ＩＤ：Identifier）を、所属させたいＣＰＵデバイス群のグループＩＤと同じグループＩＤに設定することを用いて、ＣＰＵデバイス群を含むグループにＩＯデバイス群を所属させることができる。このように、この技術は、システム構築の自由度を向上させることができる。
【０００３】
また、上記の技術で使用されるＣＰＵ側ブリッジとＩＯ側ブリッジとの構成におけるリソース予約の技術がある（例えば、特許文献２を参照）。この技術は、活線挿抜（Hot Plug）を実現するため、仮想ＰＣＩ（Peripheral Components Interconnect）ブリッジを用いて、メモリ空間及びＩＯ空間を含むリソース空間のリソースを予約する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１４６０８８号公報
【特許文献２】特開２００８−０４６７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、情報処理システムを構築するに当たり、固定的に占有されるリソースがある。このようなリソースは、例えば、情報処理システムに固定的に接続されるコンピュータのマザーボード上のデバイスに占有されるリソース、及び、周辺機器に占有されるリソースである。
【０００６】
このような固定的に占有されるリソースのため、上述した特許文献２に記載の技術は、仮想ＰＣＩブリッジを用いたリソース予約において、リソース不足が発生する場合がある。リソース不足が発生した場合、情報処理システムは、デバイス群に適切なリソースを割り当てることができない。その結果、情報処理システム、並びに、システムに含まれる情報処理装置（ＣＰＵデバイス群）及びＩＯデバイス群は、正常に動作ができなくなる。
【０００７】
このように、特許文献１及び特許文献２に記載の技術は、リソースを適切に割り当てることができないという問題点があった。
【０００８】
本発明の目的は、上記問題点を解決する情報処理装置、リソース割当て方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態のおける情報処理装置は、ネットワークを介して１つ又は複数のＩＯデバイス群と接続するブリッジ手段と、前記ブリッジ手段における接続を管理する接続管理手段と、リソースの割当てに対する優先条件の指示又は固定値を記憶する割当て優先指示手段と、前記ＩＯデバイス群に含まれるＩＯデバイスを含むシステム全体のＩＯデバイスが使用するリソースを調査するリソース量調査手段と、最大リソース量から前記ＩＯデバイスが使用するリソース量を減算した残りリソース量を計算する残りリソース計算手段と、前記残りリソース量と前記優先条件の指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算して出力する予約リソース量出力手段と、前記仮想ＰＣＩブリッジ数及び予約リソース量を基に前記ブリッジ手段を設定する仮想ブリッジリソース設定手段とを含む。
【００１０】
本発明の一形態のおけるリソース割当て方法は、ネットワークを介して１つ又は複数のＩＯデバイス群と接続する情報処理装置に、前記接続を管理し、リソースの割当てに対する優先条件の指示又は固定値を記憶し、前記ＩＯデバイス群に含まれるＩＯデバイスを含むシステム全体のＩＯデバイスが使用するリソースを調査し、最大リソース量から前記ＩＯデバイスが使用するリソース量を減算した残りリソース量を計算し、前記残りリソース量と前記優先条件の指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算して出力し、前記仮想ＰＣＩブリッジ数及び予約リソース量を基に前記ＩＯデバイス群との接続を設定する。
【００１１】
本発明の一形態のおけるプログラムは、前記接続を管理する処理と、リソースの割当てに対する優先条件の指示又は固定値を記憶する処理と、前記ＩＯデバイス群に含まれるＩＯデバイスを含むシステム全体のＩＯデバイスが使用するリソースを調査する処理と、最大リソース量から前記ＩＯデバイスが使用するリソース量を減算した残りリソース量を計算する処理と、前記残りリソース量と前記優先条件の指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算して出力する処理と、前記仮想ＰＣＩブリッジ数及び予約リソース量を基に前記ＩＯデバイス群との接続を設定する処理とをネットワークを介して１つ又は複数のＩＯデバイス群と接続するコンピュータに実行させる。
【発明の効果】
【００１２】
本発明に基づけば、リソースを適切に割り当てることができるとの効果を提供できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置を含む情報処理システムの全体構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図３】図３は、第１の実施形態に係るＩＯデバイス群の構成の一例を示すブロック図である。
【図４】図４は、第１の実施形態に係るＣＰＵ側ブリッジの構成の一例を示すブロック図である。
【図５】図５は、第１の実施形態に係るＩＯ側ブリッジの構成の一例を示すブロック図である。
【図６】図６は、第１の実施形態に係るＢＩＯＳの構成の一例を示すブロック図である。
【図７】図７は、第１の実施形態に係る情報処理装置の要部の構成の一例を示すブロック図である。
【図８】図８は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図９】図９は、本発明の第２の実施形態に係る情報処理装置を含む情報処理システムの全体構成の一例を示すブロック図である。
【図１０】図１０は、第２の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図１１】図１１は、第２の実施形態に係るＩＯデバイス群の構成の一例を示すブロック図である。
【図１２】図１２は、第２の実施形態に係るＣＰＵ側ブリッジの構成の一例を示すブロック図である。
【図１３】図１３は、第２の実施形態に係るＩＯ側ブリッジの構成の一例を示すブロック図である。
【図１４】図１４は、第２の実施形態に係るテストモードの動作の一例を示すフローチャートである。
【図１５】図１５は、第２の実施形態に係る通常モードの動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に、本発明における実施形態について図面を参照して説明する。
【００１５】
なお、各図面は、本発明の実施形態を説明するものである。そのため、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【００１６】
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００１７】
（第１の実施形態）
［１−１］構成の説明
＜情報処理システム８の全体構成＞
図１は、本実施形態に係る情報処理装置１を含む情報処理システム８の全体構成の一例を示すブロック図である。本実施形態の情報処理システム８は、１つ又は複数の情報処理装置１と、１つ又は複数のＩＯデバイス群２と、ネットワーク３とを含む。情報処理システム８において、情報処理装置１及びＩＯデバイス群２は、ネットワーク３を介して接続している。
【００１８】
ここで、ネットワーク３は、情報処理装置１とＩＯデバイス群２とを接続する通信網である。ネットワーク３は、特に制限はない。例えば、ネットワーク３は、ＬＡＮ（Local Area Network）又は電話回線網でも良い。あるいは、ネットワーク３は、インターネットのような複数の通信網を含んでも良い。そのため、ネットワーク３の詳細な説明を省略する。
【００１９】
情報処理装置１は、情報処理システム８における処理を実施する。さらに、情報処理装置１は、後ほど説明する通り、リソースの割当てを実施する。
【００２０】
ＩＯデバイス群２は、情報処理装置１とネットワーク３を介して接続し、ＩＯデバイスとしての機能を実現する装置又は装置群である。
【００２１】
＜情報処理装置１の構成＞
図２は、情報処理装置１の構成の一例を示すブロック図である。情報処理装置１は、１つ又は複数のＣＰＵ１１と、メモリ１２と、チップセット１３と、ＣＰＵ側ブリッジ１４と、記録デバイス１５とを含む。情報処理装置１は、これらの構成を含むコンピュータ装置として実現されても良い。
【００２２】
ＣＰＵ１１は、記録デバイス１５が記憶するプログラムを基に動作し、情報処理装置１を制御する。なお、ＣＰＵ１１は、コンピュータで取り可能にプログラムを記憶した図示しない記憶媒体から、図示しない記憶媒体読み取り装置を介して、プログラムを読み込んでも良い。あるいは、ＣＰＵ１１は、ＣＰＵ側ブリッジ１４を介して、図示しない装置からプログラムを受信しても良い。
【００２３】
メモリ１２は、例えば、Ｄ−ＲＡＭ（Dynamic Random Access Memory）等の記憶素子又は回路である。メモリ１２は、ＣＰＵ１１の一時記憶として動作しても良い。
【００２４】
チップセット１３は、ＣＰＵ１１と接続して所定の機能（例えば、他の回路との接続）を実現する１つチップ（例えば、集積回路（ＩＣ：Integrated Circuit））又は複数のチップの組合せである。なお、チップセット１３は、ＣＰＵ１１の機能を補助しても良い。例えば、チップセット１３は、補助ＣＰＵ（コプロセッサ）を含んでも良い。
【００２５】
ＣＰＵ側ブリッジ１４は、後ほど詳細に説明するように、情報処理装置１とネットワーク３とを接続する。さらに、ＣＰＵ側ブリッジ１４は、後ほど説明するとおり、ＩＯデバイス群２との接続を処理する。ＣＰＵ側ブリッジ１４は、例えば、ＬＡＮカードのようなＮＩＣ（Network Interface Circuit）を用いて実現しても良い。
【００２６】
記録デバイス１５は、ＲＯＭ（Read Only Memory）又はＦｌａｓｈメモリ等の記憶装置又は回路である。記録デバイス１５は、ＣＰＵ１１用のプログラム又はデータを記憶する。記録デバイス１５は、後ほど説明するＢＩＯＳ（Basic Input Output System）４のプログラムを記録している。ＢＩＯＳ４のプログラムは、情報処理装置１の起動時に、メモリ１２等に読み込まれる。ＣＰＵ１１は、読み込まれたＢＩＯＳ４のプログラムを実行し、ＢＩＯＳ４としての機能を実現する。なお、記録デバイス１５は、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置などの装置でも良い。
【００２７】
情報処理装置１に含まれる各構成は、所定のバスを介して接続している。本実施形態の各構成を接続するバスは、特に制限はない。以下、一例として、次のようなバスを用いて説明する。
【００２８】
ＣＰＵ１１とメモリ１２は、メモリバスを介して、接続する。ＣＰＵ１１とチップセット１３は、ＣＰＵバス又はＰＣＩ Ｅｘｐｒｅｓｓ（以下、「ＰＣＩｅ」とする）バスを介して、接続する。
【００２９】
ＣＰＵ側ブリッジ１４は、ＣＰＵ１１又はチップセット１３と、ＰＣＩｅバスを介して、接続する。さらに、ＣＰＵ側ブリッジ１４は、ネットワーク３と、ネットワーク３のプロトコル（例えば、Ｅｔｈｅｒｎｅｔ（登録商標））に沿って接続する。
【００３０】
記録デバイス１５は、ＣＰＵ１１又はチップセット１３と、記録デバイス１５の仕様に沿ったバス（例えば、Ｓ−ＡＴＡ（Serial Advanced Technology Attachment））を用いて接続する。
【００３１】
なお、ＣＰＵ１１とチップセット１３は、図示しないチップセット１３の内部又はＣＰＵ側ブリッジ１４の経由以外で接続されるＩＯデバイスと接続しても良い。
【００３２】
＜ＩＯデバイス群２の構成＞
図３は、ＩＯデバイス群２の構成の一例を示すブロック図である。ＩＯデバイス群２は、１つ又は複数のＩＯ側ブリッジ２１と、１つ又は複数のＩＯデバイス２２とを含む。
【００３３】
ＩＯ側ブリッジ２１は、ネットワーク３と、ネットワーク３のプロトコル（例えば、Ｅｔｈｅｒｎｅｔ（登録商標））に沿って接続する。また、ＩＯ側ブリッジ２１は、ＩＯデバイス２２と、所定のバス（例えば、ＰＣＩｅバス）を介して接続する。
【００３４】
＜ＣＰＵ側ブリッジ１４及びＩＯ側ブリッジ２１の構成＞
図４は、ＣＰＵ側ブリッジ１４の構成の一例を示すブロック図である。ＣＰＵ側ブリッジ１４は、ブリッジ部１４１と、接続管理部１４２と、仮想ブリッジリソース設定部１４３とを含む。
【００３５】
図５は、ＩＯ側ブリッジ２１の構成の一例を示すブロック図である。ＩＯ側ブリッジ２１は、ブリッジ部２１１と、接続管理部２１２とを含む。
【００３６】
ブリッジ部１４１及びブリッジ部２１１は、装置の内部（ＣＰＵ１１又はＩＯデバイス２２）のバス（例えば、ＰＣＩｅバス）とネットワーク３（例えば、Ｅｔｈｅｒｎｅｔ（登録商標））との間を中継（ブリッジ：bridge）する。
【００３７】
なお、本実施形態の装置の内部のバス及びネットワーク３は、特に制限はない。ただし、以下の説明では、一例として、装置の内部のバス及びネットワーク３として、ＰＣＩｅ及びＥｔｈｅｒｎｅｔ（登録商標）を用いて説明する。
【００３８】
次に、ブリッジ部１４１及びブリッジ部２１１のより詳細な動作を説明する。
【００３９】
例えば、ＣＰＵ１１側からネットワーク３側へ、又は、ＩＯデバイス２２側からネットワーク３側にデータを転送する場合、ブリッジ部１４１及びブリッジ部２１１は、次のように動作する。ここでは、上記のとおり、一例として、ＰＣＩｅ側からＥｔｈｅｒｎｅｔ（登録商標）側にデータを転送する場合について説明する。
【００４０】
まず、ブリッジ部１４１及びブリッジ部２１１は、データを含むＰＣＩｅパケットに、宛先に応じたＥｔｈｅｒｎｅｔ（登録商標）フレームヘッダを付加する。つまり、ブリッジ部１４１及びブリッジ部２１１は、ＰＣＩｅパケットをＥｔｈｅｒｎｅｔ（登録商標）でカプセル化する。そして、ブリッジ部１４１及びブリッジ部２１１は、カプセル化したパケットをネットワーク３に送信する。
【００４１】
逆に、ネットワーク３側からＣＰＵ１１側又はネットワーク３側からＩＯデバイス２２側にデータを転送する場合、ブリッジ部１４１及びブリッジ部２１１は、次のように動作する。ここでも、一例として、Ｅｔｈｅｒｎｅｔ（登録商標）側からＰＣＩｅ側にデータを転送する場合について説明する。
【００４２】
まず、ブリッジ部１４１及びブリッジ部２１１は、ネットワーク３からカプセル化されたパケットを受信する。ブリッジ部１４１及びブリッジ部２１１は、カプセル化されたパケットからＥｔｈｅｒｎｅｔ（登録商標）フレームヘッダを取り外し、ＰＣＩｅパケットを取得する。そして、ブリッジ部１４１及びブリッジ部２１１は、ＰＣＩｅパケットをＰＣＩｅ側に送信する。
【００４３】
なお、ブリッジ部１４１及びブリッジ部２１１は、ＰＣＩｅデバイスとして動作する場合、ＰＣＩコンフィグレーションレジスタを有する。ここで、ＰＣＩコンフィグレーションレジスタは、ＰＣＩコンフィグレーションを保持する。
【００４４】
接続管理部１４２及び接続管理部２１２は、ＣＰＵ側ブリッジ１４とＩＯ側ブリッジ２１との間の相互接続を管理する機能を有する。ＣＰＵ側ブリッジ１４とＩＯ側ブリッジ２１とは、それぞれ、グルーピング用のＩＤ（グループＩＤ）を設定できる。そして、同一のグループＩＤを有するＣＰＵ側ブリッジ１４及びＩＯ側ブリッジ２１が、相互に接続する。そして、接続したＣＰＵ側ブリッジ１４は、ＰＣＩｅスイッチの上流方向のポート（Upstream Port）として動作する。同様に、ＩＯ側ブリッジ２１は、ＰＣＩｅスイッチの下流方向のポート（Downstream Port）として動作する。このように、相互の接続したＣＰＵ側ブリッジ１４及びＩＯ側ブリッジ２１は、仮想的なＰＣＩｅスイッチとして動作する。また、ＣＰＵ側ブリッジ１４及びＩＯ側ブリッジ２１は、予め、グループＩＤを登録できる。つまり、ＣＰＵ側ブリッジ５４及びＩＯ側ブリッジ６１は、予め、接続相手を登録できる接続管理テーブルを有している。
【００４５】
仮想ブリッジリソース設定部１４３は、仮想ＰＣＩブリッジ及びリソース量を設定する。また、仮想ブリッジリソース設定部１４３は、設定した仮想ＰＣＩブリッジの存在数、及び、リソース量の設定値を記憶する。
【００４６】
＜ＢＩＯＳ４＞
図６は、本実施形態のＢＩＯＳ４の機能の主要部分の構成の一例を示すブロック図である。ＢＩＯＳ４は、ＢＩＯＳ基本機能部４１と、リソース量調査部４２と、割当て優先指示部４３と、残りリソース計算部４４と、予約リソース量出力部４５とを含む。
【００４７】
なお、既に説明した通り、情報処理装置１に含まれるＣＰＵ１１が、メモリ１２等に読み込まれるＢＩＯＳ４のプログラムを実行し、ＢＩＯＳ４としての機能を実現する。
【００４８】
ＢＩＯＳ基本機能部４１は、ＢＩＯＳ４の基本機能を実行する部分である。つまり、ＢＩＯＳ基本機能部４１は、以下で説明する各構成の機能を実現するための処理を実行する。例えば、ＢＩＯＳ基本機能部４１は、通常のＢＩＯＳ４の起動プロセスの機能を実行する。そのため、以下では、ＢＩＯＳ基本機能部４１の詳細な説明を省略する。
【００４９】
リソース量調査部４２は、ＣＰＵ側ブリッジ１４を含むコンピュータのマザーボード上のデバイス及び周辺機器のリソース量を調査する。
【００５０】
割当て優先指示部４３は、次に示すユーザーからの指示、又は、固定値を記録する。
【００５１】
（１）ユーザーからの指示：多数のデバイスを接続できることを優先する、又は、使用リソース量の多いものが接続できることを優先する
（２）固定値：必要追加接続デバイス数、又は、必要予約リソース量
これらは、ＢＩＯＳ４に設定された、リソース割当てに対するに優先条件の一例である。つまり、ＢＩＯＳ４は、上記条件を満たすようにリソースを割り当てる。
【００５２】
残りリソース計算部４４は、システムの上限のリソース量からリソース量調査部４２が調査したリソース量を減算し、残りリソース量を計算する。
【００５３】
予約リソース量出力部４５は、割当て優先指示部４３及び残りリソース計算部４４からの情報を基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算する。そして、予約リソース量出力部４５は、仮想ＰＣＩブリッジ数及び予約リソース量を、ＣＰＵ側ブリッジ１４に出力（通知）する。
【００５４】
［１−２］動作の説明
次に本実施形態の動作について、図７及び図８を参照して説明する。
【００５５】
図７は、以下の動作の説明に関連する、本実施形態の情報処理装置１の要部の一例を示すブロック図である。図７において、図４及び図６と同じ構成には、同じ符号を付してある。そのため、構成の説明を省略する。なお、図７に示す構成は、本実施形態の最小構成の一例である。
【００５６】
図８は、本実施形態の情報処理装置１の動作の一例を示すフローチャートである。
【００５７】
まず、情報処理装置１は、予め、例えば、システム全体を起動する前に、ユーザーからの指示又は固定値を、割当て優先指示部４３に記憶させておく（ステップＳ１００）。
【００５８】
ここで、記憶させる情報は、既に説明した通り、次に示すユーザーからの指示又は固定値である。
【００５９】
（１）ユーザーからの指示：多数のデバイスを接続できることを優先する、又は、使用リソース量の多いものが接続できることを優先する
（２）固定値：必要追加接続デバイス数、又は、必要予約リソース量
ここで、割当て優先指示部４３への上記情報の記憶のタイミングには、制限はない。例えば、固定値の場合、情報処理装置１の製造者が、工場出荷時に固定値を設定しても良い。あるいは、利用者が、起動に先立ち、情報処理装置１に上記の指示を設定しても良い。
【００６０】
そして、本実施形態の情報処理システム８に電源が投入され、起動が開始する（ステップＳ１１０）。すると、ＣＰＵ側ブリッジ１４及びＩＯ側ブリッジ２１は、それぞれ、接続管理部１４２、接続管理部２１２の管理に従い、相互接続を確立する（ステップＳ１２０）。その結果、ＣＰＵ側ブリッジ１４は、ＩＯ側ブリッジ２１の先に接続されたＩＯデバイス２２を、システムの周辺機器として認識できる状態となる。
【００６１】
その後、ＢＩＯＳ４のリソース量調査部４２は、周辺機器として認識できるＩＯデバイス２２含む情報処理システム８の全体のＩＯデバイスが使用するリソース量を調査する（ステップＳ１３０）。ＢＩＯＳ４のリソース量調査部４２は、例えば、ＰＣＩコンフィグレーションレジスタに記憶されているＰＣＩコンフィグレーションを基に、リソース量を調査しても良い。
【００６２】
残りリソース計算部４４は、ＢＩＯＳ４が認識できる最大リソース量からリソース量調査部４２が調査したＩＯデバイス使用リソース量を減算し、残りリソース量を算出する（ステップＳ１４０）。
【００６３】
この計算は、数式を用いて表すと、次に示す数式となる。
【００６４】
残りリソース量＝ＢＩＯＳ４で認識できる最大リソース量−リソース量調査部４２が調査したＩＯデバイス使用リソース量
次に、予約リソース量出力部４５は、残りリソース計算部４４が計算した残りリソース量と、割当て優先指示部４３が記録するユーザーからの指示又は固定値とを基に、仮想ＰＣＩブリッジ数及び予約リソース量を計算する（ステップＳ１５０）。既に説明した通り、ユーザーからの指示又は固定値は、リソース割当てに対する優先条件である。
【００６５】
各場合における計算式は、次に示す数式となる。
【００６６】
＜多数のデバイスを接続できることを優先する場合＞
仮想ＰＣＩブリッジ数＝残りリソース量÷予約リソース量の最低値
ここで、予約リソース量の最低値は、予め、ユーザーが指定する値である。ただし、ユーザーが指定する値がない場合、予約リソース量出力部４５は、予約リソース量の最低値として、予め決めた基本値を使用すればよい。
【００６７】
＜使用リソース量の多いものが接続できることを優先する場合＞
仮想ＰＣＩブリッジ数当たりの予約リソース量＝残りリソース量÷仮想ＰＣＩブリッジ数の最低値
ここで、仮想ＰＣＩブリッジ数の最低値は、予め、ユーザーが指定する値である。ただし、ユーザーの指定した値がない場合、予約リソース量出力部４５は、仮想ＰＣＩブリッジ数の最低値として、予め決めた基本値を使用すれば良い。
【００６８】
＜固定値（必要追加接続デバイス数）が設定された場合＞
仮想ＰＣＩブリッジ数当たりの予約リソース量＝残りリソース量÷必要追加接続デバイス数
＜固定値（必要予約リソース量）が設定された場合＞
仮想ＰＣＩブリッジ数＝残りリソース量÷必要予約リソース量
予約リソース量出力部４５は、上記の計算の結果を、ＣＰＵ側ブリッジ１４の仮想ブリッジリソース設定部１４３に通知する（ステップＳ１６０）。
【００６９】
仮想ブリッジリソース設定部１４３は、予約リソース量出力部４５からの通知に従い、仮想ＰＣＩブリッジ数及び予約リソース量を設定する。つまり、仮想ブリッジリソース設定部１４３は、ブリッジ部１４１の構成を変更（設定）する（ステップＳ１７０）。
【００７０】
ブリッジ部１４１の構成変更の完了後、ＣＰＵ側ブリッジ１４は、ＢＩＯＳ４に完了を通知する（ステップＳ１８０）。
【００７１】
完了の通知を受け取ったＢＩＯＳ４は、一般的な機能の動作を開始する。例えば、ＢＩＯＳ基本機能部４１が、通常の起動プロセスが実施する。つまり、ＢＩＯＳ４は、デバイスの設定を開始する（ステップＳ１９０）。
【００７２】
このように構成された、第１の実施形態の効果について説明する。
【００７３】
第１の実施形態に係る情報処理装置１は、適切にリソースを割り当てるとの効果を得ることができる。
【００７４】
その理由は、次のとおりである。
【００７５】
情報処理装置１とＩＯデバイス群２との相互接続後、情報処理装置１に含まれるＢＩＯＳ４が、システム全体のリソース量を調査する。ここで、ＢＩＯＳ４は、情報処理装置１に含まれるＣＰＵ１１が実現する機能である。
【００７６】
そして、ＢＩＯＳ４が、認識できる最大リソース量における、残りリソース量を計算する。
【００７７】
そして、ＢＩＯＳ４は、リソース割当てに対する優先条件を満たすように、仮想ＰＣＩブリッジ数及び予約リソース量を計算する。
【００７８】
そして、情報処理装置１のＣＰＵ側ブリッジ１４が、仮想ＰＣＩブリッジ数及び予約リソース量を基に、ＣＰＵ側ブリッジ１４のブリッジ部１４１の構成を設定する。
【００７９】
このように、情報処理装置１は、システム全体のリソース量を考慮し、仮想ＰＣＩブリッジ数及び予約リソース量を適切にＣＰＵ側ブリッジ１４に設定できるためである。
【００８０】
さらに、本実施形態は、適切にリソースを割り当てることができるため、リソース不足に伴う異常動作を防止できるとの効果を得ることができる。
【００８１】
（第２の実施の形態）
次に、本発明に係る第２の実施形態について、図面を参照して説明する。
【００８２】
［２−１］構成の説明
＜情報処理システム９の全体構成＞
図９は、本実施形態に係る情報処理装置５を含む情報処理システム９の全体構成の一例を示すブロック図である。本実施形態の情報処理システム９は、１つ又は複数の情報処理装置５と、１つ又は複数のＩＯデバイス群６と、ネットワーク３とを含む。情報処理システム９において、情報処理装置５及びＩＯデバイス群６は、ネットワーク３を介して接続する。
【００８３】
ここで、ネットワーク３は、第１の実施形態と同様である。そのため、ネットワーク３の詳細な説明を省略する
情報処理装置５は、情報処理システム９における処理を実施する。さらに、情報処理装置５は、後ほど説明する通り、リソースの割当てを実施する。
【００８４】
ＩＯデバイス群６は、情報処理装置５とネットワーク３を介して接続し、ＩＯデバイスとしての機能を実現する装置又は装置群である。
【００８５】
＜情報処理装置５の構成＞
図１０は、情報処理装置５の構成の一例を示すブロック図である。情報処理装置５は、１つ又は複数のＣＰＵ５１と、メモリ５２と、チップセット５３と、ＣＰＵ側ブリッジ５４と、記録デバイス５５と、モード切替えスイッチ５６と、リセット５７とを含む。
【００８６】
ＣＰＵ５１は、記録デバイス５５が記憶するプログラムを基に動作し、情報処理装置５を制御する。なお、ＣＰＵ５１は、ＣＰＵ１１と同様に、コンピュータで取り可能にプログラムを記憶した図示しない記憶媒体からプログラムを読み込んでも良い。あるいは、ＣＰＵ５１は、ＣＰＵ側ブリッジ５４を介して、図示しない装置からプログラムを受信しても良い。
【００８７】
メモリ５２は、例えば、Ｄ−ＲＡＭ等の記憶素子又は回路である。メモリ５２は、ＣＰＵ１１の一時記憶として動作しても良い。
【００８８】
チップセット５３は、ＣＰＵ５１と接続して所定の機能（例えば、他の回路とを接続）を実現する１つチップ又は複数のチップの組合せである。なお、チップセット５３は、ＣＰＵ５１の機能を補助しても良い。例えば、チップセット５３は、補助ＣＰＵ（コプロセッサ）を含んでも良い。
【００８９】
ＣＰＵ側ブリッジ５４は、後ほど詳細に説明するように、情報処理装置５とネットワーク３とを接続する。さらに、ＣＰＵ側ブリッジ５４は、後ほど説明するとおり、ＩＯデバイス群６との接続を処理する。ＣＰＵ側ブリッジ５４は、例えば、ＬＡＮカードのようなＮＩＣを用いて実現しても良い。
【００９０】
記録デバイス５５は、ＲＯＭ又はＦｌａｓｈメモリ等の記憶装置又は回路である。記録デバイス５５は、ＣＰＵ５１用のプログラム又はデータを記憶する。記録デバイス５５は、第１の実施形態と同様にＢＩＯＳ４のプログラムを記録している。ＢＩＯＳ４のプログラムは、情報処理装置５の起動時に、メモリ５２等に読み込まれる。ＣＰＵ５１は、読み込まれたＢＩＯＳ４のプログラムを実行し、ＢＩＯＳ４としての機能を実現する。なお、記録デバイス５５は、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置などの装置でも良い。
【００９１】
モード切替えスイッチ５６は、後ほど説明する情報処理装置５のモードを切り替えるスイッチである。モード切替えスイッチ５６は、機械式（ハードウェア）のスイッチでも良い。あるいは、モード切替えスイッチ５６は、ソフトウェア（メモリ上の設定値）でも良い。
【００９２】
リセット５７は、情報処理装置５を再起動（リセット）を指示する。リセット５７は、機械式（ハードウェア）のスイッチでも良い。あるいは、リセット５７は、再起動命令など、ソフトウェアの指示でも良い。
【００９３】
情報処理装置５に含まれる各構成は、所定のバスを介して接続している。本実施形態の各構成を接続するバスは、特に制限はない。以下、一例として、次のようなバスを用いて説明する。
【００９４】
ＣＰＵ５１とメモリ５２とは、メモリバスを介して、接続する。ＣＰＵ５１とチップセット５３とは、ＣＰＵバス又はＰＣＩｅバスを介して接続する。
【００９５】
ＣＰＵ側ブリッジ５４は、ＣＰＵ５１又はチップセット５３と、ＰＣＩｅバスを介して、接続する。ＣＰＵ側ブリッジ５４は、ネットワーク３と、ネットワーク３のプロトコル（例えば、Ｅｔｈｅｒｎｅｔ（登録商標））に沿って接続する。さらに、ＣＰＵ側ブリッジ５４は、モード切替えスイッチ５６、及び、リセット５７と接続する。
【００９６】
記録デバイス５５は、ＣＰＵ５１又はチップセット５３と、記録デバイス５５のインターフェースに合わせたバスを介して接続する。
【００９７】
なお、ＣＰＵ５１とチップセット５３は、図示しないチップ内又はＣＰＵ側ブリッジ５４の経由以外で接続されるＩＯデバイスと接続しても良い。
【００９８】
＜ＩＯデバイス群６の構成＞
図１１は、ＩＯデバイス群６の構成の一例を示すブロック図である。ＩＯデバイス群６は、１つ又は複数のＩＯ側ブリッジ６１と、１つ又は複数のＩＯデバイス６２とを含む。
【００９９】
ＩＯ側ブリッジ６１は、ネットワーク３とネットワーク３のプロトコル（例えば、Ｅｔｈｅｒｎｅｔ（登録商標））に沿って接続する。また、ＩＯ側ブリッジ６１は、ＩＯデバイス６２と所定のバス（例えば、ＰＣＩｅバス）介して接続する。
【０１００】
＜ＣＰＵ側ブリッジ５４及びＩＯ側ブリッジ６１の構成＞
図１２は、ＣＰＵ側ブリッジ５４の構成の一例を示すブロック図である。ＣＰＵ側ブリッジ５４は、ブリッジ部５４１と、接続管理部５４２と、仮想ブリッジリソース設定部５４３と、割当て優先指示部５４４と含む。なお、割当て優先指示部５４４は、第１の実施形態と同様に、ＢＩＯＳ４に含まれても良い。
【０１０１】
図１３は、ＩＯ側ブリッジ６１の構成の一例を示すブロック図である。ＩＯ側ブリッジ６１は、ブリッジ部６１１と、接続管理部６１２とを含む。
【０１０２】
なお、本実施形態の装置の内部のバス及びネットワーク３は、特に制限はない。ただし、以下の説明では、一例として、装置の内部のバス及びネットワーク３として、ＰＣＩｅ及びＥｔｈｅｒｎｅｔ（登録商標）を用いて説明する。
【０１０３】
ブリッジ部５４１及びブリッジ部６１１は、装置の内部（ＣＰＵ５１又はＩＯデバイス６２）のバス（例えば、ＰＣＩｅ）とネットワーク３（例えば、Ｅｔｈｅｒｎｅｔ（登録商標））との間を中継（ブリッジ）する。
【０１０４】
例えば、ＣＰＵ５１側からネットワーク３側へ、又は、ＩＯデバイス６２側からネットワーク３側にデータを転送する場合、ブリッジ部５４１及びブリッジ部６１１は、次のように動作する。ここでは、上記のとおり、一例として、ＰＣＩｅ側からＥｔｈｅｒｎｅｔ（登録商標）側にデータを転送する場合について説明する。
【０１０５】
まず、ブリッジ部５４１及びブリッジ部６１１は、データを含むＰＣＩｅパケットに宛先に応じたＥｔｈｅｒｎｅｔ（登録商標）フレームヘッダを付加する。つまり、ブリッジ部５４１及びブリッジ部６１１は、ＰＣＩｅパケットをＥｔｈｅｒｎｅｔ（登録商標）でカプセル化する。そして、ブリッジ部５４１及びブリッジ部６１１は、カプセル化したパケットをネットワーク３に送信する。
【０１０６】
逆に、ネットワーク３側からＣＰＵ５１側又はネットワーク３側からＩＯデバイス６２側にデータを転送する場合、ブリッジ部５４１及びブリッジ部６１１は、次のように動作する。ここでも、一例として、Ｅｔｈｅｒｎｅｔ（登録商標）側からＰＣＩｅ側にデータを転送する場合について説明する。
【０１０７】
まず、ブリッジ部５４１及びブリッジ部６１１は、ネットワーク３からカプセル化されたパケットを受信する。ブリッジ部５４１及びブリッジ部６１１は、カプセル化されたパケットからＥｔｈｅｒｎｅｔ（登録商標）フレームヘッダを取り外し、ＰＣＩｅパケットを取得する。そして、ブリッジ部５４１及びブリッジ部６１１は、ＰＣＩｅパケットをＰＣＩｅ側に送信する。
【０１０８】
なお、ブリッジ部５４１及びブリッジ部６１１は、ＰＣＩｅデバイスとして動作する場合、ＰＣＩコンフィグレーションレジスタを有する。
【０１０９】
接続管理部５４２及び接続管理部６１２は、ＣＰＵ側ブリッジ５４とＩＯ側ブリッジ６１との間の相互接続を管理する機能を有する。ＣＰＵ側ブリッジ５４とＩＯ側ブリッジ６１とは、それぞれ、グループＩＤを設定できる。そして、グループＩＤが同じＣＰＵ側ブリッジ５４及びＩＯ側ブリッジ６１が、相互に接続する。そして、接続したＣＰＵ側ブリッジ５４は、ＰＣＩｅスイッチの上流方向のポート（Upstream Port）として動作する。同様に、ＩＯ側ブリッジ６１は、ＰＣＩｅスイッチの下流方向のポート（Downstream Port）として動作する。このように、相互に接続したＣＰＵ側ブリッジ５４及びＩＯ側ブリッジ６１は、仮想的なＰＣＩｅスイッチとして動作する。また、ＣＰＵ側ブリッジ５４及びＩＯ側ブリッジ６１は、予め、グループＩＤを登録できる。つまり、ＣＰＵ側ブリッジ５４及びＩＯ側ブリッジ６１は、予め、接続相手を登録できる接続管理テーブルを有している。
【０１１０】
仮想ブリッジリソース設定部５４３は、仮想ＰＣＩブリッジの存在数、リソース空間量の設定、及び、リソース空間量の設定値を記憶する。
【０１１１】
割当て優先指示部５４４は、次に示すユーザーからの指示、又は、固定値を記憶する。
【０１１２】
（１）ユーザーからの指示：多数のデバイスを接続できることを優先する、又は、使用リソース量の多いものが接続できることを優先する
（２）固定値：必要追加接続デバイス数、又は、必要予約使用リソース量
［２−２］動作の説明
次に、本実施形態の動作について、図１４及び図１５を参照して説明する。
【０１１３】
本実施形態は、第１の実施形態の動作に相当する通常モードに加え、テストモードを備える点が、第１の実施形態と異なる。そのため、本実施形態に特有のテストモードの動作を説明する。なお、第１の実施形態の動作に相当する通常モードの説明については、適宜省略する場合もある。
【０１１４】
最初に、図１４を参照してテストモードの動作について説明する。
【０１１５】
図１４は、本実施形態のテストモードの動作の一例を示すフローチャートである。
【０１１６】
まず、システム全体を起動する前に、割当て優先指示部５４４は、ユーザーの指示を基に、最低仮想ＰＣＩブリッジ数（ＰＣＩｅスイッチのポート数に相当）又は最低予約リソース量(予約メモリ空間量及び予約ＩＯ空間量)を記録する（ステップＳ２００）。なお、割当て優先指示部５４４は、既に説明した通り、固定値を記録しても良い。また、割当て優先指示部５４４が情報を記録するタイミングは、特に制限はない。
【０１１７】
そして、情報処理装置５は、モード切替えスイッチ５６をテストモードに設定する（ステップＳ２１０）。ここで、情報処理装置５は、図示しない外部の装置（例えば、保守端末装置）からの指示を基に、テストモードを設定しても良い。
【０１１８】
あるいは、モード切替えスイッチ５６が、機械的なスイッチの場合、ユーザーが、モード切替えスイッチ５６を切り替えても良い。この場合、情報処理装置５は、モード切替えスイッチ５６の状態を検出し、以下で説明する動作を実行すれば良い。
【０１１９】
次に、情報処理装置５は、仮想ＰＣＩブリッジを設定する。
【０１２０】
情報処理装置５は、仮想ＰＣＩブリッジの設定を、次の手順で実行する。
【０１２１】
仮想ブリッジリソース設定部５４３は、仮想ＰＣＩブリッジ数、及び、予約リソース量（予約メモリ空間量、及び、予約ＩＯ空間量）を、所定の最大値に、設定する（ステップＳ２２０）。ここで、所定の最大値は、仮想ブリッジリソース設定部５４３に、予め設定されている値である。
【０１２２】
情報処理装置５は、起動テストを実施する（ステップＳ２３０）。
【０１２３】
起動テストが成功した場合、情報処理装置５は、テストモードを終了する（ステップ２３０で「成功」）。
【０１２４】
起動テストが失敗した場合、仮想ブリッジリソース設定部５４３は、割当て優先指示部５４４が記憶しているユーザーの指示に従い、次回起動時の仮想ＰＣＩブリッジ数、予約メモリ空間量、及び、予約ＩＯ空間量を設定する。
【０１２５】
この動作を、より詳細に説明する。
【０１２６】
まず、仮想ブリッジリソース設定部５４３は、設定されている仮想ＰＣＩブリッジ数、予約メモリ空間量、及び、予約ＩＯ空間量が、割当て優先指示部５４４に記録された最低値か否か判断する（ステップＳ２４０）。
【０１２７】
最低値でない場合（ステップＳ２４０で「異なる」）、仮想ブリッジリソース設定部５４３は、仮想ＰＣＩブリッジ数、予約メモリ空間量、及び、予約ＩＯ空間量を、最低値に設定する（ステップＳ２７０）。そして、情報処理装置５は、ステップＳ２６０に進む。
【０１２８】
最低値の場合（ステップＳ２４０で「一致」）、仮想ブリッジリソース設定部５４３は、仮想ＰＣＩブリッジ数、予約メモリ空間量、及び、予約ＩＯ空間量のいずれかの設定値を、所定の固定値を減算した値に設定する。ただし、仮想ブリッジリソース設定部５４３は、前回設定した値と異なるリソースの値を減算し、減算した値を設定する（ステップＳ２５０）。そして、情報処理装置５は、ステップＳ２６０に進む。なお、ここで、所定の固定値は、予め、仮想ブリッジリソース設定部５４３が保持している値である。後ほど説明するように、仮想ブリッジリソース設定部５４３は、設定するリソースに対応する固定値を保持すれば良い。また、後ほど説明する通り、所定の固定値は、割当て優先指示部５４４が記憶する値に関連する。そのため、仮想ブリッジリソース設定部５４３は、割当て優先指示部５４４が、ユーザーからの指示、又は、固定値を記憶するときに、上記の固定値を保持しても良い。あるいは、割当て優先指示部５４４が、ユーザーからの指示、又は、固定値を記憶するときに、上記の固定値を記憶し、仮想ブリッジリソース設定部５４３が、割当て優先指示部５４４から固定値を読み出しても良い。
【０１２９】
ここで、仮想ブリッジリソース設定部５４３は、異なる値の設定として、例えば、次のように値を設定すれば良い。
【０１３０】
＜割当て優先指示部５４４が、最低仮想ＰＣＩブリッジ数を記憶している場合＞
仮想ブリッジリソース設定部５４３は、最初、ＩＯ空間に設定されている値を減らす。そして、仮想ブリッジリソース設定部５４３は、次の設定機会において、メモリ空間に設定されている値を減らす。そして、仮想ブリッジリソース設定部５４３は、その次の設定機会において、ＩＯ空間に設定されている値を減らす。このように、仮想ブリッジリソース設定部５４３は、予約リソース量（予約リソース空間）を変更していく。
【０１３１】
なお、前回設定した側の値は、ＩＯ空間又はメモリ空間に設定されている。
【０１３２】
＜割当て優先指示部５４４が、最低メモリ空間量を記憶している場合＞
仮想ブリッジリソース設定部５４３は、最初、ＩＯ空間に設定されている値を減らす。そして、仮想ブリッジリソース設定部５４３は、次の設定機会において、仮想ＰＣＩブリッジ数に設定されている値を減らす。そして、仮想ブリッジリソース設定部５４３は、その次の設定機会において、ＩＯ空間に設定されている値を減らす。このように仮想ブリッジリソース設定部５４３は、設定する仮想ＰＣＩブリッジ数及び予約リソース量（ただし、ＩＯ空間）を変更していく。
【０１３３】
なお、前回設定した側の値は、ＩＯ空間又は仮想ＰＣＩブリッジ数に設定されている。
【０１３４】
＜割当て優先指示部５４４が、最低ＩＯ空間量を記憶している場合＞
仮想ブリッジリソース設定部５４３は、最初、メモリ空間に設定されている値を減らす。そして、仮想ブリッジリソース設定部５４３は、次の設定機会において、仮想ＰＣＩブリッジ数に設定されている値を減らす。そして、仮想ブリッジリソース設定部５４３は、その次の設定機会において、メモリ空間に設定されている値を減らす。このように、仮想ブリッジリソース設定部５４３は、設定する仮想ＰＣＩブリッジ数及び予約リソース量（ただし、メモリ空間）を変更していく。
【０１３５】
なお、前回設定した側の値は、メモリ空間又は仮想ＰＣＩブリッジ数に設定されている。
【０１３６】
仮想ブリッジリソース設定部５４３が、設定（ステップＳ２７０）又は減算（ステップＳ２５０）すると、情報処理装置５は、リセット５７を用いてリセットを実行する（ステップＳ２６０）。
【０１３７】
情報処理装置５は、ステップＳ２６０の後、ステップ２３０に戻り、起動テストを実施する。
【０１３８】
情報処理装置５は、起動テストが成功するまで、上記の動作を繰り返す。
【０１３９】
起動テストが成功すると、情報処理装置５は、テストモードを終了する。
【０１４０】
次に、テストモード後の通常モードの動作について、図面を参照して説明する。
【０１４１】
図１５は、本実施形態の通常モードの動作の一例を示すフローチャートである。
【０１４２】
テストモードが終了すると、情報処理装置５は、モード切替えスイッチ５６を、通常モードに切り替える（ステップＳ３００）。なお、情報処理装置５のユーザーが、モード切替えスイッチ５６を切り替え、情報処理装置５が、モード切替えスイッチ５６の切替えを検出しても良い。
【０１４３】
通常モードに設定後、本実施形態発明の情報処理システム９に電源が投入されると、ＣＰＵ側ブリッジ５４及びＩＯ側ブリッジ６１は、それぞれ、接続管理部５４２及び接続管理部６１２の管理に従い、相互接続を確立する（ステップＳ３１０）。そして、ＣＰＵ側ブリッジ５４は、ＩＯ側ブリッジ６１に接続されたＩＯデバイス６２をシステムの周辺機器として認識できる状態となる。ここで、仮想ＰＣＩブリッジは、ＩＯデバイス６２に置き換わる。
【０１４４】
ＣＰＵ側ブリッジ５４は、この置き換わり際に、仮想ＰＣＩブリッジの予約リソース量とＩＯデバイス６２が実際に使用するリソース量とを比較する（ステップＳ３２０）。
【０１４５】
ここで、ＩＯデバイス６２の使用リソース量が、予約リソース量より少ない場合（ステップＳ３３０でＮＯ）、情報処理装置５は、予約リソース量を変更せず、そのまま通常システムの動作（起動）を続ける。
【０１４６】
一方、ＩＯデバイス６２の使用リソース量が、予約リソース量より多い場合（ステップＳ３３０でＹＥＳ）、情報処理装置５の仮想ブリッジリソース設定部５４３は、予約リソース量を以下のように変更する。
【０１４７】
情報処理装置５は、下記の計算式を用いて、変更後の予約リソース量を算出する。そして、情報処理装置５は、予約リソース量を算出したリソース量に変更する。
【０１４８】
変更後の予約リソース量＝予約リソース量−（使用リソース量−予約リソース量）÷仮想ＰＣＩブリッジ数
つまり、情報処理装置５は、仮想ＰＣＩブリッジ当たりの使用リソース量の超過分を減算する。
【０１４９】
そして、情報処理装置５は、変更したことを記憶するため、仮想ＰＣＩブリッジの接続されているポートにフラグを立てる。そして、情報処理装置５は、リセット５７を用いて再起動（リセット）する。
【０１５０】
なお、変更フラグが立てられたポートは、リソース量の比較の対象から外される。
【０１５１】
つまり、上記で変更したリソース量は、比較の対象から外される。
【０１５２】
再起動後、情報処理装置５は、変更された設定を用いて起動し、以降、通常のシステム動作に移行する。
【０１５３】
本発明に基づけば、第１の実施形態の効果に加え、より詳細なリソース空間の有効活用が可能となる効果を得ることができる。
【０１５４】
その理由は、次のとおりである。
【０１５５】
本実施形態は、モード切替えスイッチ５６を用いて、テストモードを実行する。テストモードにおいて、仮想ブリッジリソース設定部５４３が、起動テストが成功する適切な値を割当て優先指示部５４４に設定する。そして、情報処理装置５が、適切に設定された割当て優先指示部５４４の設定値を用いてリソースを割り当てるためである。
【０１５６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１５７】
１    情報処理装置
２    ＩＯデバイス群
３    ネットワーク
４    ＢＩＯＳ
５    情報処理装置
６    ＩＯデバイス群
８    情報処理システム
９    情報処理システム
１１    ＣＰＵ
１２    メモリ
１３    チップセット
１４    ＣＰＵ側ブリッジ
１５    記録デバイス
２１    ＩＯ側ブリッジ
２２    ＩＯデバイス
４１    ＢＩＯＳ基本機能部
４２    リソース量調査部
４３    割当て優先指示部
４４    残りリソース計算部
４５    予約リソース量出力部
５１    ＣＰＵ
５２    メモリ
５３    チップセット
５４    ＣＰＵ側ブリッジ
５５    記録デバイス
５６    モード切替えスイッチ
５７    リセット
６１    ＩＯ側ブリッジ
６２    ＩＯデバイス
１４１    ブリッジ部
１４２    接続管理部
１４３    仮想ブリッジリソース設定部
２１１    ブリッジ部
２１２    接続管理部
５４１    ブリッジ部
５４２    接続管理部
５４３    仮想ブリッジリソース設定部
５４４    割当て優先指示部
６１１    ブリッジ部
６１２    接続管理部
【図１】
2015166959.tif 000003
【図２】
2015166959.tif 000004
【図３】
2015166959.tif 000005
【図４】
2015166959.tif 000006
【図５】
2015166959.tif 000007
【図６】
2015166959.tif 000008
【図７】
2015166959.tif 000009
【図８】
2015166959.tif 000010
【図９】
2015166959.tif 000011
【図１０】
2015166959.tif 000012
【図１１】
2015166959.tif 000013
【図１２】
2015166959.tif 000014
【図１３】
2015166959.tif 000015
【図１４】
2015166959.tif 000016
【図１５】
2015166959.tif 000017