(57)【要約】【課題】ＰＣＩスイッチにおける未割り当てスロットに必要なリソース量を削減する。【解決手段】計算機とＰＣＩスイッチに接続されたＩ／Ｏデバイスと計算機に接続される第１のポートとＩ／Ｏデバイスに接続される第２のポートとを備えたＰＣＩスイッチとＰＣＩスイッチの構成を管理するスイッチ管理部と電源制御部とを備えたシステムにおいて、スイッチ管理部は、起動する計算機が接続された第１のポートを判定し、ＰＣＩスイッチに通知し、第１のポートに接続された計算機の起動を電源制御部に指令し、計算機に対するＩ／Ｏデバイスの割り当てを管理し、計算機の起動後にＩ／Ｏデバイスの割り当てをＰＣＩスイッチに通知し、ＰＣＩスイッチは、第１のポートの判定結果に基づいて、計算機から第１のポートへの構成認識を抑止し、スイッチ管理部からの通知に基づいて、第１のポートと第２のポートとを接続する仮想スイッチを生成する。【選択図】図１
2010191814.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとインターフェースとを有する複数の計算機と、
ＰＣＩスイッチに接続されたＩ／Ｏデバイスと、
前記複数の計算機のインターフェースにそれぞれ接続される第１のポートと、前記Ｉ／Ｏデバイスに接続される第２のポートと、を備えたＰＣＩスイッチと、
前記ＰＣＩスイッチの構成を管理するスイッチ管理部と、
前記複数の計算機に接続されて各計算機の電源をそれぞれ制御する電源制御部と、
を備えた計算機システムにおいて、
前記スイッチ管理部は、
前記計算機のうち起動する計算機が接続された前記第１のポートを判定し、前記ＰＣＩスイッチに通知する判定部と、
前記第１のポートに接続された計算機の起動を前記電源制御部に指令する指令部と、
前記計算機に対するＩ／Ｏデバイスの割り当てを管理し、前記計算機の起動後に前記計算機に対するＩ／Ｏデバイスの割り当てを前記ＰＣＩスイッチに通知する割り当て管理部と、
を備え、
前記ＰＣＩスイッチは、
前記第１のポートの判定結果に基づいて、前記計算機からの前記第１のポートに対する構成認識を抑止する抑止制御部と、
前記スイッチ管理部の管理部からの前記割り当ての通知に基づいて、前記第１のポートと第２のポートとを接続する仮想スイッチを生成する仮想スイッチ生成部と、
を備えたことを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムにおいて、
前記電源制御部は、前記計算機の起動状態を監視し、
前記スイッチ管理部は、
前記電源制御部から前記起動を指令した計算機の起動状態を取得し、前記計算機の起動が完了したときに、前記割り当て管理部に前記通知を発行させ、前記ＰＣＩスイッチに対して前記第１のポートの抑止を解除する指令を発行し、前記起動が完了した計算機に対して前記Ｉ／ＯデバイスのＨｏｔ−Ｐｌｕｇを通知することを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムにおいて、
前記ＰＣＩスイッチは、マルチルートスイッチで構成され、
前記抑止制御部は、前記計算機に接続された前記第１のポートを不通に設定することで、前記計算機からの前記第１のポートに対する構成認識を抑止することを特徴とする計算機システム。
【請求項４】
請求項１に記載の計算機システムにおいて、
前記ＰＣＩスイッチは、
前記第２のポートに新たなＩ／Ｏデバイスが接続されたことを検知して前記スイッチ管理部にＨｏｔ−Ｐｌｕｇを通知する物理Ｈｏｔ−Ｐｌｕｇ管理部を有し、
前記スイッチ管理部は、
前記割り当て管理部でＩ／Ｏデバイスを割り当てる計算機の指定を受け、当該受け付けたＩ／Ｏデバイスと計算機を接続する仮想スイッチの生成を前記ＰＣＩスイッチに通知し、前記計算機に対してＨｏｔ−Ｐｌｕｇを通知することを特徴とする計算機システム。
【請求項５】
請求項１に記載の計算機システムにおいて、
前記ＰＣＩスイッチは、
前記スイッチ管理部からの指令に基づいて電源の投入または遮断を行うスイッチ電源制御部を有し、
前記スイッチ管理部の前記割り当て管理部は、
前記起動する計算機が接続された前記ＰＣＩスイッチの電源の状態が遮断の場合には、当該ＰＣＩスイッチのスイッチ電源制御部に対して電源投入を指令することを特徴とする計算機システム。
【請求項６】
請求項５に記載の計算機システムにおいて、
前記スイッチ管理部は、前記割り当て管理部で前記電源投入を指令したＰＣＩスイッチに対して前記計算機に対するＩ／Ｏデバイスの割り当てを前記ＰＣＩスイッチに通知させ、前記計算機に対して前記Ｉ／ＯデバイスのＨｏｔ−Ｐｌｕｇを通知することを特徴とする計算機システム。
【請求項７】
請求項６に記載の計算機システムにおいて、
前記スイッチ管理部は、前記Ｉ／Ｏデバイスの取り外しを受け付けたときには、当該Ｉ／Ｏデバイスと計算機を接続する仮想スイッチを削除する指令を前記ＰＣＩスイッチに発行し、前記ＰＣＩスイッチの仮想スイッチのうち、Ｉ／Ｏデバイスと接続する仮想スイッチが削除されたときは、前記ＰＣＩスイッチのスイッチ電源制御部に対して電源遮断を指令することを特徴とする計算機システム。
【請求項８】
プロセッサとメモリとインターフェースとを有する複数の計算機と、ＰＣＩスイッチに接続されたＩ／Ｏデバイスと、前記複数の計算機のインターフェースにそれぞれ接続される第１のポートと、前記Ｉ／Ｏデバイスに接続される第２のポートと、を備えたＰＣＩスイッチと、前記ＰＣＩスイッチの構成を管理するスイッチ管理部と、前記複数の計算機に接続されて各計算機の電源をそれぞれ制御する電源制御部と、を備えて前記ＰＣＩスイッチを管理するＰＣＩスイッチの管理方法であって、
前記スイッチ管理部が、前記計算機のうち起動する計算機の指定を受け付けるステップと、
前記スイッチ管理部が、前記指定された起動する計算機が接続された前記第１のポートを判定して、当該第１のポートを前記ＰＣＩスイッチに通知するステップと、
前記ＰＣＩスイッチが、前記第１のポートの判定結果に基づいて、前記計算機からの前記第１のポートに対する構成認識を抑止するステップと、
前記スイッチ管理部が、前記第１のポートに接続された計算機の起動を前記電源制御部に指令するステップと、
前記スイッチ管理部が、前記計算機に対するＩ／Ｏデバイスの割り当てを管理し、前記計算機に対するＩ／Ｏデバイスの割り当てを前記ＰＣＩスイッチに通知するステップと、
前記ＰＣＩスイッチが、前記スイッチ管理部からの前記割り当ての通知に基づいて、前記第１のポートと第２のポートとを接続する仮想スイッチを生成するステップと、
を含むことを特徴とするＰＣＩスイッチの管理方法。
【請求項９】
請求項８に記載のＰＣＩスイッチの管理方法において、
前記電源制御部は、前記計算機の起動状態を監視し、
前記スイッチ管理部は、前記電源制御部から前記起動を指令した計算機の起動状態を取得し、前記計算機の起動が完了したときに、前記計算機に対するＩ／Ｏデバイスの割り当てを前記ＰＣＩスイッチに通知するステップを実行し、前記起動が完了した計算機に対して前記Ｉ／ＯデバイスのＨｏｔ−Ｐｌｕｇを通知することを特徴とするＰＣＩスイッチの管理方法。
【請求項１０】
請求項８に記載のＰＣＩスイッチの管理方法において、
前記ＰＣＩスイッチは、マルチルートスイッチで構成されて、
前記ＰＣＩスイッチが、前記第１のポートの判定結果に基づいて、前記計算機からの前記第１のポートに対する構成認識を抑止するステップは、
前記計算機に接続された前記第１のポートを不通に設定することで、前記計算機からの前記第１のポートに対する構成認識を抑止することを特徴とするＰＣＩスイッチの管理方法。
【請求項１１】
請求項８に記載のＰＣＩスイッチの管理方法において、
前記ＰＣＩスイッチが、前記第２のポートに新たなＩ／Ｏデバイスが接続されたことを検知したときには、前記スイッチ管理部にＨｏｔ−Ｐｌｕｇを通知するステップと、
前記スイッチ管理部が、前記Ｈｏｔ−Ｐｌｕｇの通知を受信し、前記計算機に対してＨｏｔ−Ｐｌｕｇを通知するステップと、
をさらに含むことを特徴とするＰＣＩスイッチの管理方法。
【請求項１２】
請求項８に記載のＰＣＩスイッチの管理方法において、
前記ＰＣＩスイッチは、前記スイッチ管理部からの指令に基づいて電源の投入または遮断を行うスイッチ電源制御部を有し、
前記スイッチ管理部は、
前記起動する計算機が接続された前記ＰＣＩスイッチの電源の状態が遮断の場合には、当該ＰＣＩスイッチのスイッチ電源制御部に対して電源投入を指令することを特徴とするＰＣＩスイッチの管理方法。
【請求項１３】
請求項１２に記載のＰＣＩスイッチの管理方法において、
前記スイッチ管理部は、前記電源投入を指令したＰＣＩスイッチに対して前記計算機に対するＩ／Ｏデバイスの割り当てを前記ＰＣＩスイッチに通知し、前記計算機に対して前記Ｉ／ＯデバイスのＨｏｔ−Ｐｌｕｇを通知することを特徴とするＰＣＩスイッチの管理方法。
【請求項１４】
請求項１３に記載のＰＣＩスイッチの管理方法において、
前記スイッチ管理部は、前記Ｉ／Ｏデバイスの取り外しを受け付けたときには、当該Ｉ／Ｏデバイスと計算機を接続する仮想スイッチを削除する指令を前記ＰＣＩスイッチに発行し、前記ＰＣＩスイッチの仮想スイッチのうち、Ｉ／Ｏデバイスと接続する仮想スイッチが削除されたときは、前記ＰＣＩスイッチのスイッチ電源制御部に対して電源遮断を指令することを特徴とするＰＣＩスイッチの管理方法。
【請求項１５】
複数の計算機にそれぞれ接続される第１のポートと、前記Ｉ／Ｏデバイスに接続される第２のポートと、を備えたＰＣＩスイッチの構成を管理する管理サーバにおいて、
前記計算機のうち起動する計算機の指定を受け付けて、当該指定された起動する計算機が接続された前記第１のポートを判定し、前記ＰＣＩスイッチに通知する判定部と、
前記第１のポートに接続された計算機の起動を前記電源制御部に指令する指令部と、
前記計算機に対するＩ／Ｏデバイスの割り当てを管理し、前記計算機の起動後に前記計算機に対するＩ／Ｏデバイスの割り当てを前記ＰＣＩスイッチに通知する割り当て管理部と、
を備えたことを特徴とする管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、管理方法及びサーバに関し、特にＰＣＩスイッチを用いた管理をする計算機システムに関する。
【背景技術】
【０００２】
近年、サーバの管理を容易にするために、一つの装置に複数の計算機を搭載したブレードサーバが用いられるようになっている。また、ＣＰＵに複数のプロセッサコアを持つマルチコア化によってＣＰＵの処理性能が向上し、それに伴い効率的にＣＰＵを使用するため一つの計算機に複数の仮想的なサーバを起動させる仮想サーバ技術が用いられるようになっている。
【０００３】
また、ＣＰＵ性能の向上に比べて、入出力のためのコネクタ及びポートを必要とするＩ／Ｏデバイス数が不足することとなっている。このため、Ｉ／Ｏデバイス数の不足を補うため、ＰＣＩスイッチ技術を用いることによって、Ｉ／Ｏデバイスの拡張性及び柔軟性を強化することが可能となる。
【０００４】
Ｉ／Ｏデバイス構成をサーバ起動後に動的に変更して柔軟性を高める技術には、Ｈｏｔ−Ｐｌｕｇが知られている。ＰＣＩ−ＳＩＧの定めるＰＣＩｅｘｐｒｅｓｓ規格には、Ｈｏｔ−Ｐｌｕｇを制御するＨｏｔ  Ｐｌｕｇコントローラのレジスタ仕様などが策定されている。このＨｏｔ−Ｐｌｕｇは、ＰＣＩｅｘｐｒｅｓｓ  Ｈｏｔ−Ｐｌｕｇに対応したＯＳであれば、Ｉ／Ｏデバイスの種類を問わず用いられることが可能である。
【０００５】
また、将来的なＰＣＩのＨｏｔ−Ｐｌｕｇの使用に備え、ＰＣＩスイッチ内に擬似デバイスを用意し、サーバ起動時にＩ／Ｏデバイス分のリソースを確保しておくことによって、実際にＩ／Ｏデバイスを追加した時にＨｏｔ  Ｐｌｕｇの仕組みを用いて、Ｉ／Ｏデバイスの構成を動的に再構成することが可能となる（例えば、特許文献１参照）。
【０００６】
一方、ＰＣＩ−ＳＩＧにおいては、従来の単一サーバが使用するＰＣＩスイッチを拡張し、複数の計算機と複数のＩ／ＯデバイスであるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）デバイス（又はＰＣＩｅｘｐｒｅｓｓデバイス）とを接続可能とするマルチルートＰＣＩスイッチ技術が策定されている（例えば、非特許文献１参照）。
【特許文献１】特開２００８−０４６７２２公報
【非特許文献１】ＰＣＩ−ＳＩＧ、“Ｍｕｌｔｉ−Ｒｏｏｔ  Ｉ／Ｏ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ａｎｄ  Ｓｈａｒｉｎｇ  １．０  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”、［ｏｎｌｉｎｅ］、２００８年５月、ＰＣＩ−ＳＩＧ、［平成２１年１月６日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｐｃｉｓｉｇ．ｃｏｍ／ｓｐｅｃｉｆｉｃａｔｉｏｎｓ／ｉｏｖ／ｍｕｌｔｉ−ｒｏｏｔ／＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＰＣＩｅｘｐｒｅｓｓ規格のＨｏｔ−Ｐｌｕｇの規定に従うためには、Ｈｏｔ−Ｐｌｕｇが用いられる可能性のあるスロットに、対応するＨｏｔ−Ｐｌｕｇコントローラ（スイッチの場合、下流ブリッジ）を用意する必要がある。すなわち、ＰＣＩｅｘｐｒｅｓｓでは、バスとデバイスとの関係が基本的に１対１であるため、Ｈｏｔ−Ｐｌｕｇコントローラは下流側のブリッジにしか存在せず、スロット単位で予めブリッジを用意しておく必要がある。前述の従来技術における、将来Ｈｏｔ−Ｐｌｕｇが用いられる可能性のあるＩ／Ｏデバイスの分だけリソースを予め確保しておく技術は、ＰＣＩスイッチが単一ホストから使用される場合は、スロット分のリソースを用意するだけでよいため、現実的な解法であった。
【０００８】
しかし、複数ホストから共有される可能性のあるマルチルートＰＣＩスイッチの場合、共有されるホストの総数と、スロットに接続される可能性のあるデバイスの総数との積の数のリソースを用意する必要がある。
【０００９】
例えば、上流ポートが８個であり、下流ポートが８個であるマルチルートＰＣＩスイッチの場合、８×８＝６４（個）の下流ブリッジ、及び下流ブリッジに各々対応するＨｏｔ−Ｐｌｕｇコントローラのリソースを用意する必要がある。
【００１０】
また、マルチルートＰＣＩスイッチを多段で構成する場合、スロットを使用する可能性のあるホスト数はさらに増加する。例えば上流ポート８かつ下流ポート８のマルチルートＰＣＩスイッチを２段構成とした場合、２段目のマルチルートＰＣＩスイッチのスロットには、最大８×８＝６４（個）のホストが接続される可能性があり、マルチルートＰＣＩスイッチ全体においては、６４×８＝５１２（個）の下流ブリッジ、及び下流ブリッジに各々対応するＨｏｔ−Ｐｌｕｇコントローラのリソースが必要となる。
【００１１】
実際のＩ／Ｏデバイスにおいては、一つのＩ／Ｏデバイスを共有可能なホストの上限は決まっているため、接続する可能性のあるホストの数のリソース全てが同時に使われることはない。このため、将来Ｈｏｔ−Ｐｌｕｇが用いられる可能性のあるＩ／Ｏデバイスの分だけリソースを予め確保し、動的に接続される可能性のあるリソース全てを用意する前述の技術では、マルチルートＰＣＩスイッチを構成するＬＳＩの肥大化及びコスト上昇を招くという問題があった。
【００１２】
そこで、本発明は上記問題点に鑑みてなされたものであり、マルチルートＰＣＩスイッチに用意するＬＳＩ等のリソースが増大するのを抑制しながら、複数のホストでＩ／Ｏデバイスを利用することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサとメモリとインターフェースとを有する複数の計算機と、ＰＣＩスイッチに接続されたＩ／Ｏデバイスと、前記複数の計算機のインターフェースにそれぞれ接続される第１のポートと、前記Ｉ／Ｏデバイスに接続される第２のポートと、を備えたＰＣＩスイッチと、前記ＰＣＩスイッチの構成を管理するスイッチ管理部と、前記複数の計算機に接続されて各計算機の電源をそれぞれ制御する電源制御部と、を備えた計算機システムにおいて、前記スイッチ管理部は、前記計算機のうち起動する計算機を受け付けて、当該起動する計算機が接続された前記第１のポートを判定し、前記ＰＣＩスイッチに通知する判定部と、前記第１のポートに接続された計算機の起動を前記電源制御部に指令する指令部と、前記計算機に対するＩ／Ｏデバイスの割り当てを管理し、前記計算機の起動後に前記計算機に対するＩ／Ｏデバイスの割り当てを前記ＰＣＩスイッチに通知する割り当て管理部と、を備え、前記ＰＣＩスイッチは、前記第１のポートの判定結果に基づいて、前記計算機からの前記第１のポートに対する構成認識を抑止する抑止制御部と、前記スイッチ管理部の管理部からの前記割り当ての通知に基づいて、前記第１のポートと第２のポートを接続する仮想スイッチを生成する仮想スイッチ生成部と、を備える。
【発明の効果】
【００１４】
本発明の一実施形態によれば、Ｉ／Ｏデバイスが必要になった時にのみＰＣＩスイッチのリソースを割り当てることができるため、ＰＣＩスイッチに用意するリソース量を抑えることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態を添付図面に基づいて説明する。
【００１６】
（第１の実施形態）
〔構成〕
図１は、第１及び第２の実施形態の、計算機システムの構成を示すブロック図である。
【００１７】
第１の実施形態の計算機システムは、ホスト１００ａ及びホスト１００ｂ、ホスト１００ａ及びホスト１００ｂが利用するＩ／Ｏデバイス４２０ａ−１〜Ｉ／Ｏデバイス４２０ａ−２及びＩ／Ｏデバイス４２０ｂ−１〜Ｉ／Ｏデバイス４２０ｂ−４、各ホスト１００と各Ｉ／Ｏデバイス４２０とを接続するマルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂ、マルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂを管理するＰＣＩマネージャー２５０（管理サーバ）、並びにホスト１００ａ、１００ｂを管理するサービスプロセッサ２２０を備える。なお、サービスプロセッサ２２０は、ホスト１００ａ、１００ｂとＰＣＩマネージャー２５０の通信を中継する機能を有する。あるいは、ホスト１００ａ、１００ｂとＰＣＩマネージャー２５０を接続するネットワークを設けてもよい。
【００１８】
ホスト１００ａとホスト１００ｂとは、同じ構成を持つ計算機であり、以下、ホスト１００ａの構成について説明し、他の計算機に関する説明を省略する。また、ホスト１００ａとホスト１００ｂとを総称して、ホスト１００と記載する。また、マルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂの総称をマルチルートスイッチ３００とする。同様に、Ｉ／Ｏデバイス４２０ａ−１〜Ｉ／Ｏデバイス４２０ａ−２及びＩ／Ｏデバイス４２０ｂ−１〜Ｉ／Ｏデバイス４２０ｂ−４の総称をＩ／Ｏデバイス４２０と記載する。
【００１９】
ホスト１００ａは、演算処理を行うＣＰＵ（プロセッサ）１１０ａ−１及び１１０ａ−２、データ及び命令を格納するメモリ１３０ａ−１〜メモリ１３０ａ−４、ＣＰＵ接続バス１１５ａ−１及びＣＰＵ接続バス１１５ａ−２を介してＣＰＵ１１０に接続されたＩ／Ｏハブ１５０ａ、並びにサービスプロセッサ２２０に接続するためのインターフェースであるホスト管理ポート１０５ａを備える。
【００２０】
図１においてメモリ１３０は、ＣＰＵ１１０に搭載されたメモリコントローラ１２０を介してＣＰＵ１１０と接続されているが、メモリコントローラ１２０がＣＰＵ１１０の外（ノースブリッジと呼ばれるチップセット）に存在する構成でもよい。いずれの構成であっても本発明の実施形態には相違を生じない。また、複数のＣＰＵ１１０をＣＰＵ接続バス１１５で相互に接続する構成でもよい。
【００２１】
起動後の計算機システムにおいて、ＯＳ２１０ａ及びＢＩＯＳ２００ａはＣＰＵ１１０によってメモリ１３０にロードされ、ＣＰＵ１１０が、メモリ１３０を参照することによって、実行される。なお、ＢＩＯＳ２００はメモリ１３０へロードせずに、図示しないＲＯＭ等からＣＰＵ１１０が直接読み込むようにしても良い。また、ＯＳ２１０ａは、ホストバスアダプタに接続された記憶媒体としてのストレージ装置に格納しておくことができる。
【００２２】
Ｉ／Ｏハブ１５０ａは、ＰＣＩ−ＥｘｐｒｅｓｓにおけるＰＣＩスイッチの根幹となるルートコンプレックスとしての機能を備え、マルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂと接続するためのインターフェースとしてルートポート１６０ａ−１とルートポート１６０ａ−２とを備えている。そして、Ｉ／Ｏハブ１５０ａは、ＣＰＵ１１０ａ−１、１１０ａ−２とマルチルートスイッチ３００ａ、３００ｂとの間で通信を行うためのインターフェースとして機能する。
【００２３】
ホスト１００ａは、これらのルートポート１６０ａ−１及びルートポート１６０ａ−２を介してマルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂに接続されたＩ／Ｏデバイス４２０ａ−１及びＩ／Ｏデバイス４２０ａ−２、並びにＩ／Ｏデバイス４２０ｂ−１及びＩ／Ｏデバイス４２０ｂ−４にアクセスする。なお、ルートポート１６０ａ−１、１６０ａ−２及びホスト１００ｂのルートポート１６０ｂ−１、１６０ｂ−２の総称をルートポート１６０とする。
【００２４】
なお、Ｉ／Ｏデバイス４２０は、ホストバスアダプタ（ＨＢＡ）又はネットワークインターフェースカード（ＮＩＣ）によって構成されてもよい。
【００２５】
また、Ｉ／Ｏハブ１５０ａは、各ルートポート１６０に対応してＨｏｔ−Ｐｌｕｇを制御するＨｏｔ−Ｐｌｕｇコントローラ１７０ａ−１、１７０ａ−２を備える。なお、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−１、１７０ａ−２の総称をＨｏｔ−Ｐｌｕｇコントローラ１７０とする。
【００２６】
Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−１、１７０ａ−２のＨｏｔ−Ｐｌｕｇ制御信号１８０ａは、通常はルートポート１６０ａが接続されたＩ／Ｏスロットへ接続されるが、本発明の実施形態ではルートポート１６０はＩ／Ｏスロットではなくマルチルートスイッチ３００へ接続される。
【００２７】
Ｈｏｔ−Ｐｌｕｇコントローラ１７０のＨｏｔ−Ｐｌｕｇ制御信号１８０ａは、ホスト１００のＨｏｔ−Ｐｌｕｇ信号制御部１９０ａへ接続され、ホスト管理ポート１０５ａを介してサービスプロセッサ２２０へ接続される。
【００２８】
＜サービスプロセッサ２２０＞
サービスプロセッサ２２０は、ホスト１００の起動状態を監視し、ホスト１００の電源の投入及び遮断を制御する計算機である。また、サービスプロセッサ２２０は、ユーザ又はシステム管理者が、情報を入出力する管理コンソール２４０を備える。ＰＣＩマネージャー２５０は、サービスプロセッサ２２０からホスト１００の起動状態を取得することができ、ホスト１００の起動完了または停止完了などの状態を取得することができる。
【００２９】
サービスプロセッサ２２０は、図示しないプロセッサとメモリとを備える。サービスプロセッサ２２０は、ホスト管理パス２３０（ネットワーク）を介してホスト１００ａ及びホスト１００ｂに接続される。また、サービスプロセッサ２２０は、ＰＣＩＭ（ＰＣＩマネージャー）管理パス２５５（第２ネットワーク）を介してＰＣＩマネージャー２５０に接続される。
【００３０】
管理コンソール２４０からホスト１００ａの電源を投入する指示があった場合、サービスプロセッサ２２０は、まずＰＣＩマネージャー２５０に対して、ホスト１００ａが使用するＩ／Ｏデバイス４２０に到達可能な仮想スイッチがマルチルートスイッチ３００内に設定済みであるか否かを問い合わせる。
【００３１】
続いて、ＰＣＩマネージャー２５０は、仮想スイッチを設定する必要がある場合、マルチルートスイッチ３００内に仮想スイッチを設定し、サービスプロセッサ２２０へ応答する。サービスプロセッサ２２０は、ＰＣＩマネージャー２５０からの応答を受信し、ホスト１００ａのホスト電源制御部１９５ａに電源を投入する指示を送信し、ホスト１００ａの電源を投入する。
【００３２】
＜マルチルートスイッチ３００＞
マルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂは、ＰＣＩｅｘｐｒｅｓｓ及びＭＲ−ＩＯＶ（マルチルートＩ／Ｏ仮想化）規格に準拠した前述の従来技術と同様のマルチルートＰＣＩスイッチで構成される。マルチルートスイッチ３００は、複数のホスト１００ａ及びホスト１００ｂと、複数のＩ／Ｏデバイス４２０ａ−１〜Ｉ／Ｏデバイス４２０ａ−２及びＩ／Ｏデバイス４２０ｂ−１〜Ｉ／Ｏデバイス４２０ｂ−４とを接続する。
【００３３】
マルチルートスイッチ３００ａとマルチルートスイッチ３００ｂとは、同じ構成であるので、以下ではマルチルートスイッチ３００ａのみについて説明し、マルチルートスイッチ３００ｂの説明を省略する。
【００３４】
マルチルートスイッチ３００ａは、ホスト１００ａのルートポート１６０ａ−２及びホスト１００ｂのルートポート１６０ｂ−２に接続される上流ポート３１０ａ−２及び上流ポート３１０ａ−１、Ｉ／Ｏデバイス４２０に接続される下流ポート３２０ａ−１〜下流ポート３２０ａ−４、上流ポート３１０ａ−１〜上流ポート３１０ａ−２及び下流ポート３２０ａ−１〜下流ポート３２０ａ−４の通信経路を設定する仮想スイッチ生成機構３９０ａ、並びに設定された通信経路に従ってパケットをルーティングするルーティング制御部３６０を備える。
【００３５】
なお、以下では、上流ポート３１０ａ−１〜上流ポート３１０ａ−２の総称を上流ポート３１０と記載し、下流ポート３２０ａ−１〜下流ポート３２０ａ−４の総称を下流ポート３２０と記載する。
【００３６】
また、ＰＣＩｅｘｐｒｅｓｓにおいては、下流ポート３２０とＩ／Ｏデバイス４２０が接続されるスロットとは１対１であるため、下流ポート３２０を場合によってはスロット３２０と記載する。
【００３７】
仮想スイッチ生成機構３９０ａは、後述するように、ＰＣＩマネージャー２５０からの指示に従って上流ポート３１０と下流ポート３２０との間を相互に通信する経路（仮想パス）を設定する。このため、仮想スイッチ生成機構３９０ａは、後述する管理表を備えたコントローラを含む。
【００３８】
マルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂは、スイッチ管理パス３３５を介してＰＣＩマネージャー２５０に接続するためのスイッチ管理用ポート３３０ａ及びスイッチ管理用ポート３３０ｂを備える。図１において、ＰＣＩマネージャー２５０は、直接それぞれのスイッチ管理ポート３３０ａ及びスイッチ管理ポート３３０ｂへ接続されているが、一方のマルチルートスイッチ３００を介してデイジーチェーンで接続されてもよい。
【００３９】
マルチルートスイッチ３００ａは、上流ポート３１０と下流ポート３２０との間を、仮想スイッチと仮想ブリッジとによって接続された仮想パスによって接続し、上流ポート３１０及び下流ポート３２０の各々から入力された信号を相互に通信させる。
【００４０】
仮想ブリッジは、物理的な上流ポート３１０又は下流ポート３２０を仮想スイッチに接続し、或いは仮想スイッチ同士を接続することが可能である。なお、仮想スイッチ及び仮想ブリッジから仮想パスが構成される。この仮想パスは、仮想スイッチ生成機構３９０ａによって動的に変更でき、ＰＣＩマネージャー２５０がマルチルートスイッチ３００ａに仮想スイッチの設定を指示することによって、上流ポート３１０と下流ポート３２０との間を通信する経路である仮想スイッチを任意に設定することができる。なお、仮想スイッチ生成機構３９０の詳細については、後述する。
【００４１】
各下流ポート３２０には、それぞれ対応する物理Ｈｏｔ−Ｐｌｕｇコントローラ３４０ａ−１〜３４０ａ−４が備わる。また、各上流ポート３１０には、それぞれ対応するリンクアップ抑止制御部３７０ａ−１、３７０ａ−２が備わる。
【００４２】
リンクアップ抑止制御部３７０ａ−１、３７０ａ−２は、ＰＣＩマネージャー２５０からの指示によって上流ポート３１０のリンクアップを抑止し、上流のルートポート１６０に対して有効なリンクが接続されていないように見せる。
【００４３】
＜ＰＣＩマネージャー２５０＞
ＰＣＩマネージャー２５０は、プロセッサとメモリとを備えた計算機であり、マルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂの構成を管理するスイッチ管理計算機である。ＰＣＩマネージャー２５０は、ＰＣＩＭ管理パス２５５を介してサービスプロセッサ２２０に備わる管理コンソール２４０から受信した指示に従い、マルチルートスイッチ３００ａ及びマルチルートスイッチ３００ｂの上流ポート３１０と下流ポート３２０との間を相互に通信する経路（仮想パス）を管理する各種表（後述）、並びにサービスプロセッサ２２０を介してホスト１００のＨｏｔ−Ｐｌｕｇコントローラ１７０に対する制御信号を送信するルートポートＨｏｔ−Ｐｌｕｇ制御部５４０を含む。以下、ＰＣＩマネージャー２５０の詳細について説明する。
【００４４】
図２は、第１の実施形態のＰＣＩマネージャー２５０の機能要素を示すブロック図である。
【００４５】
ＰＣＩマネージャー２５０は、管理コンソール２４０経由でユーザ又はシステム管理者によって設定されるホスト−スロット割り当て表５００、マルチルートスイッチ３００間の接続の構成を示すスイッチポート管理表５７０、各マルチルートスイッチ３００内に設定する仮想スイッチ４３０の情報を示す仮想スイッチ管理表５２０及び仮想ブリッジ管理表５８０、ホスト１００が用いる仮想スイッチとホスト１００との関連を示すホスト−仮想スイッチ管理表５６０、各マルチルートスイッチ３００の電源の状態を管理するスイッチ電源状態管理表５３０、並びにマルチルートスイッチ３００のリンクアップ抑止機能を有効にするリンクアップ抑止制御判定部５５０を含む。
【００４６】
図４６は、第１の実施形態のＰＣＩマネージャーの構成を示すブロック図である。
【００４７】
図４６は、ＰＣＩマネージャー２５０のハードウェア構成と、図２に示す機能要素との関係を示す図である。
【００４８】
ＰＣＩマネージャー２５０は、ＣＰＵ２５１とメモリ２５２とチップセット２５３とを備えた計算機である。ＰＣＩマネージャー２５０は、外部インターフェースとしてサービスプロセッサ２２０と通信するＰＣＩＭ管理パス２５５、及びマルチルートスイッチ３００を管理するスイッチ管理パス３３５と不揮発メモリ２５４とを備える。
【００４９】
また、不揮発メモリ２５４は、ＰＣＩマネージャーによって実行されるＰＣＩマネージャプログラム２５９を格納する。ＰＣＩマネージャー２５０は、ＰＣＩマネージャプログラム２５９をメモリ２５２上に展開して、ＣＰＵ２５１がＰＣＩマネージャプログラム２５９を実行する。不揮発メモリ２５４は、ハードディスクのようなストレージでもよい。
【００５０】
メモリ２５２には、メモリコード部２５７とメモリデータ部２５８とが構成される。メモリコード部２５７には、リンクアップ抑止制御判定部５５０とルートポートＨｏｔ−Ｐｌｕｇ制御部５４０とを備えるＰＣＩマネージャー実行コード２５６が構成される。メモリデータ部２５８には、ホストースロット割当て表５００、仮想スイッチ管理表５２０、スイッチ電源状態管理表５３０、ホスト−仮想スイッチ管理表５６０、スイッチポート管理表５７０、仮想ブリッジ管理表５８０、及びスイッチポート制御レジスタ６００が構成される。これらの管理表の設定値は、ＰＣＩマネージャー２５０上の不揮発メモリ２５４又は外部の管理用ストレージに格納され、適宜メモリ２５２上に展開されて使用される。
【００５１】
ＰＣＩマネージャー２５０によるホスト１００とスロット３２０との割り当て設定の例を図３Ａ及び図３Ｂ、図４Ａ及び図４Ｂに示す。
【００５２】
図３Ａは、第１及び第２の実施形態の初期状態におけるホスト−スロット割り当て表５００ａを示す説明図である。
【００５３】
図３Ｂは、第１及び第２の実施形態の初期状態におけるホスト−スロット割り当て表５００ｂを示す説明図である。
【００５４】
図３Ａに示すホスト−スロット割り当て表５００ａ及び図３Ｂに示すホスト−スロット割り当て表５００ｂは、ホスト１００とスロット３２０との対応関係を示す。
【００５５】
ホスト−スロット割り当て表５００ａ及びホスト−スロット割り当て表５００ｂは、ホスト１００の名前を示すホスト５０１、マルチルートスイッチ３００の名前を示すスイッチ５０２、及び下流ポート３２０の名前を示すスロット５０３を含む。
【００５６】
図３Ａに示すホスト−スロット割り当て表５００ａの内容に従って、ＰＣＩマネージャー２５０がホスト１００とスロット３２０との割り当てを設定する際の、管理コンソール２４０に表示されるホスト１００とスロット３２０との割り当てを示すＧＵＩ画面を、図４Ａ及び図４Ｂに示す。
【００５７】
図４Ａ及び図４Ｂは、第１及び第２の実施形態のホスト１００とスロット３２０との割り当てを設定するＧＵＩ画面を示す説明図である。
【００５８】
図４Ａに示すＧＵＩ画面は、図３Ａに示すホスト−スロット割り当て表５００ａに従ってホスト１００とスロット３２０との割り当てが設定される際の、ホストＡに対応するスロット３２０の割り当てを表示している。なお、図４Ａ及び図４Ｂに示すＭＲＳＷは、マルチルートスイッチ３００であり、＃１〜＃４は、スロット３２０の番号である。
【００５９】
図４Ａにおいて、ＭＲＳＷ＃１のスロット＃１及びスロット＃２、ＭＲＳＷ＃２のスロット＃１及びスロット＃２は、ホストＡに既に割り当てられているスロット３２０であるため、実線かつ黒色に塗りつぶされて表示される。ＭＲＳＷ＃１のスロット＃３及びスロット＃４は、ホストＢに割り当て済みであり、ホストＡに割り当てることができないスロット３２０であるため、破線かつ薄いグレーに塗りつぶされる。このとき、ユーザ又はシステム管理者は、ＭＲＳＷ＃１のスロット＃３及びスロット＃４を選択することができない。
【００６０】
ＭＲＳＷ＃２のスロット＃３及びスロット＃４は、まだどのホスト１００にも割り当てられていないスロットであるため、薄く表示される。
【００６１】
図４Ａに示すＧＵＩ画面におけるスロットの表示は、ホスト１００に割り当てられていない状態と、ホスト１００に割り当て済みになった状態とのどちらかの状態を示し、ユーザ又はシステム管理者によって、変更される。ホスト１００に割り当てられていないスロットと、ホスト１００に割り当て済みになったスロット３２０との表示は、トグルキーの機能を持ってもよい。ユーザ又はシステム管理者は、スロット３２０の表示に対してクリック等をすることによって、割り当て状態を変更してもよい。
【００６２】
図４Ｂに示すＧＵＩ画面は、図４Ａに示すＧＵＩ画面と同様に図３Ａに示すホスト−スロット割り当て表５００ａに従ってホスト１００とスロット３２０との割り当てが設定される際の、ホストＢに対応するスロット３２０の割り当てを表示している。
【００６３】
図４Ａに示すスロット３２０の割り当て状態とは逆に、図４Ｂに示すＭＲＳＷ＃１のスロット＃３及びスロット＃４は、ホストＢによって既に割り当てられているスロット３２０であるため、実線かつ黒色に塗りつぶされて表示される。また、図４Ｂに示すＭＲＳＷ＃１のスロット＃１及びスロット＃２並びにＭＲＳＷ＃２のスロット＃１及びスロット＃２は、ホストＡに割り当てられているため、破線かつ薄いグレーに塗りつぶされる。このとき、ユーザ又はシステム管理者は、図４Ｂに示すＭＲＳＷ＃１のスロット＃１及びスロット＃２並びにＭＲＳＷ＃２のスロット＃１及びスロット＃２を選択することができない。
【００６４】
ＭＲＳＷ＃２のスロット＃３及びスロット＃４は、まだどのホスト１００にも割り当てられていないため、薄く表示される。
【００６５】
図４Ｂに示すＧＵＩ画面に表示された、ホスト１００に割り当てられていないスロット３２０、ホストに割り当て済みになったスロット３２０とは、図４Ａと同じであり、ユーザ又はシステム管理者によって、割り当て状態を変更される。
【００６６】
ユーザ又はシステム管理者が、図４Ａ及び図４Ｂに示すＧＵＩ画面を用いてホスト１００とスロット３２０との割り当てを設定すると、図３Ａに示されたホスト−スロット割り当て表５００ａは、ＧＵＩ画面の内容に従って更新され、ＰＣＩマネージャー２５０へ通知される。
【００６７】
なお、図３Ａに示すホスト−スロット割り当て表５００ａは、ユーザ又はシステム管理者に分かりやすいようなホスト名及びスロット番号によって示したが、ＰＣＩマネージャー２５０内部に格納する際にはＰＣＩマネージャー２５０が管理しやすい識別子に変換される（ホスト−スロット割り当て表５００ｂ）。
【００６８】
図５は、第１の実施形態のスイッチポート管理表５７０を示す説明図である。
【００６９】
図５に示すスイッチポート管理表５７０は、ＰＣＩマネージャー２５０が、マルチルートスイッチ３００ａと３００ｂ間の接続の関係（トポロジ）を管理するために用いられる。
【００７０】
スイッチポート管理表５７０は、スイッチ５７１、ポート５７２、方向５７３、種別５７４、リンク先５７５、及びリンク先ポート５７６を含む。
【００７１】
スイッチ５７１は、マルチルートスイッチ３００の識別子を示す。ポート５７２は、上流ポート３１０、下流ポート３２０、及びスイッチ管理ポート３３０を示す。
【００７２】
また、方向５７３は、スイッチ５７１及びポート５７２をキーとして、各ポート５７２の通信する方向を示す。種別５７４は、各ポート５７２の先に接続されている種別を示す。リンク先５７５は、スイッチ５７１の接続先の識別子を示す。リンク先ポート５７６は、スイッチ５７１の接続先がホスト１００又はマルチルートスイッチ３００の場合に、スイッチ５７１が接続するポートの識別子を示す。
【００７３】
スイッチポート管理表５７０は、トポロジ検出と呼ばれる手順を用いてＰＣＩマネージャー２５０によって作成される（例えば、非特許文献１参照）。
【００７４】
図５に示すスイッチポート管理表５７０は、第１の実施形態の最初の構成状態（図１参照）におけるホスト１００ａ、１００ｂとマルチルートスイッチ３００ａ、３００ｂとに接続される各ポートのデバイスの関係を示す。
【００７５】
＜仮想スイッチ４３０＞
図６は、第１の実施形態の仮想スイッチ４３０及び仮想ブリッジ４４０の構成を示すブロック図である。
【００７６】
図６は、図３Ａに示すホスト−スロット割り当て表５００ａに従った際の、マルチルートスイッチ３００に含まれる仮想スイッチ４３０及び仮想ブリッジ４４０の構成を模式的に示した図である。
【００７７】
仮想スイッチ４３０（例えば、４３０ａ−１）には、一つの上流仮想ブリッジ４４０（例えば、４４０ａ−１）と、任意の数の下流仮想ブリッジ４４０（例えば、４４０ａ−２、４４０ａ−３）との組み合わせが備わる。仮想スイッチ４３０は、仮想スイッチ４３０に接続されるホスト１００から、従来のＰＣＩスイッチとして認識される必要がある。このため、仮想スイッチ４３０に含まれる上流ポート３１０に相当する上流仮想ブリッジ４４０（例えば、４４０ａ−１）は、必ず一つである。
【００７８】
図６に示すマルチルートスイッチ３００ｂ内には、上流ポート３１０ｂ−１に接続された仮想スイッチ４３０ｂ−１と、上流ポート３１０ｂ−２に接続された仮想スイッチ４３０ｂ−２との、二つの仮想スイッチ４３０が備わる。
【００７９】
仮想スイッチ４３０ｂ−１には、上流ポート３１０ｂ−１に接続された上流仮想ブリッジ４４０ｂ−１、下流ポート３２０ｂ−１に接続された下流仮想ブリッジ４４０ｂ−２、及び下流ポート３２０ｂ−２に接続された下流仮想ブリッジ４４０ｂ−３が備わる。また、仮想スイッチ４３０ｂ−２には、上流ポート３１０ｂ−２に接続された上流仮想ブリッジ４４０ｂ−６、下流ポート３２０ｂ−３に接続された下流仮想ブリッジ４４０ｂ−７、及び下流ポート３２０ｂ−４に接続された下流仮想ブリッジ４４０ｂ−８が備わる。
【００８０】
一方、マルチルートスイッチ３００ａ内には、上流ポート３１０ａ−１に接続された仮想スイッチ４３０ａ−１が備わる。仮想スイッチ４３０ａ−１には、上流ポート３１０ａ−１に接続された上流仮想ブリッジ４４０ａ−１、下流ポート３２０ａ−１に接続された下流仮想ブリッジ４４０ａ−２、下流ポート３２０ａ−２に接続された下流仮想ブリッジ４４０ａ−３が備わる。
【００８１】
本実施形態において、上流ポート３１０ａ−２に接続される仮想スイッチ４３０は、存在しない。また、ホストＢ（ホスト１００ａ）がマルチルートスイッチ３００ａに割り当て済みのスロット３２０を有していない場合、マルチルートスイッチ３００ａは、ホストＢの起動の前に、予め仮想スイッチ４３０を用意しない。
【００８２】
従来技術によれば、予め仮想スイッチを用意していない状態においてホストＢを起動した場合、ホストＢが起動の際に接続先の探索をすると、仮想スイッチが存在しないことによって、ホストＢが誤動作する。このため、本実施形態においては、後述するリンクアップ抑止を用いることによって、ホストＢに仮想スイッチが存在しないことを認識させない。
【００８３】
図７は、第１の実施形態の仮想スイッチ管理表５２０ａ及び仮想ブリッジ管理表５８０ａを示す説明図である。
【００８４】
図７に示す仮想スイッチ管理表５２０ａ及び仮想ブリッジ管理表５８０ａは、図６に示す仮想スイッチ４３０及び仮想ブリッジ４４０の構成に対応する。
【００８５】
仮想スイッチ管理表５２０ａは、スイッチ５２１、ＶＳ（仮想スイッチ）５２２、有効５２３、開始ＶＢ（仮想ブリッジ）番号５２４、及びエントリ数５２５を含む。
【００８６】
スイッチ５２１は、マルチルートスイッチ３００の識別子を示す。仮想スイッチ番号５２２は、仮想スイッチの識別子（ＶＳ＃）を示す。有効５２４は、仮想スイッチ４３０が有効である場合“Ｙｅｓ”を、無効である場合“Ｎｏ”を示す。開始ＶＢ番号５２４は、仮想スイッチ４３０に備わる仮想ブリッジ４４０が含む仮想ブリッジ管理表５８０ａにおける先頭の仮想ブリッジ番号５８２（後述）の番号を示す。エントリ数５２５は、仮想スイッチ４３０に備わる仮想ブリッジ４４０のエントリ数を示す。
【００８７】
仮想ブリッジ管理表５８０ａは、スイッチ５８１、仮想ブリッジ番号５８２、有効５８３、方向５８４、マップ５８５、ポート番号５８６、ＶＨ５８７、及びリソース番号５８８を含む。
【００８８】
スイッチ５８１は、マルチルートスイッチ３００の識別子を示す。仮想ブリッジ番号５８２は、仮想ブリッジ４４０の識別子（ＶＢ＃）を示す。有効５８３は、仮想ブリッジ４４０が有効である場合“Ｙｅｓ”を、無効である場合“Ｎｏ”を示す。方向５８４は、仮想ブリッジ４４０が上流仮想ブリッジである場合“ｕｐ”を、下流仮想ブリッジである場合“ｄｏｗｎ”を示す。マップ５８５は、ポートにマップされている場合“Ｙｅｓ”を、マップされていない場合“Ｎｏ”を示す。ポート５８６は、仮想ブリッジがポートにマップされている場合の接続先ポート番号を示す。ＶＨ（仮想ヒエラルキー）番号５８７は、接続する場合のＶＨの識別子を示す。リソース５８８は、実際に使用するブリッジのリソースの識別子を示す。なお、仮想ヒエラルキー（階層）番号５８７は、ホスト１００が起動したときにＩ／Ｏハブ１５０ａのルートコンプレックスがマルチルートスイッチ３００から取得したものである。本実施形態においてはリンクアップ抑止制御部３７０ａ−１、３７０ａ−２によって、ホスト１００の起動時には、ルートコンプレックスから仮想スイッチを敢えて認識させない構成となっている。
【００８９】
仮想スイッチ管理表５２０ａ及び仮想ブリッジ管理表５８０ａは、図２に示したスイッチポート管理表５７０とホスト−スロット割り当て表５００とに基づいて生成される。また、仮想スイッチ管理表５２０ａと仮想ブリッジ管理表５８０ａとは、スイッチ５２１を除いたレジスタが各マルチルートスイッチ３００に含まれる仮想スイッチ生成機構３９０に存在する。ＰＣＩマネージャー２５０が、仮想スイッチ管理表５２０と仮想ブリッジ管理表５８０ａとのレジスタに値を設定することによって、仮想スイッチ４３０が生成される。また、仮想スイッチ４３０に従ってパケットのルーティングは、制御される。
【００９０】
仮想ブリッジ管理表５８０ａのリソース５８８は、ホスト１００が仮想スイッチ４３０に接続するために、実際に接続する物理的なリソースを示している。仮想スイッチ４３０が接続する物理的なリソースと、仮想ブリッジ４４０とは一対一の関係にあるため、リソース５８８は、他の仮想ブリッジ４４０と重複しないようにマッピングされる必要がある。
【００９１】
本実施形態においては、ポートごとに仮想ヒエラルキーの最大数分の物理的なリソースを用意し、リソース５８８におけるリソースの番号を“（ポート番号５８６、ＶＨ番号５８７）”の表記によって指定する。すべてのリソースが一意な識別子によって示される場合、すべてのリソースをプールとして用意し、ポートを表記せずに一意なリソースの識別子を表記することによって、リソースを指定してもよい。
【００９２】
＜仮想スイッチ４３０がない場合のリンクアップ抑止制御＞
図８〜図１０を用いて、マルチルートスイッチ３００内に仮想スイッチ４３０を持たない場合のリンクアップ抑止制御について説明する。
【００９３】
図８は、第１の実施形態のホスト−仮想スイッチ管理表５６０を示す説明図である。
【００９４】
仮想スイッチ４３０は、各マルチルートスイッチ３００の中に構成される。複数のマルチルートスイッチ３００に分散して存在する仮想スイッチ４３０は、ホスト−仮想スイッチ管理表５６０によって、ホスト１００ごとに管理される。
【００９５】
ホスト−仮想スイッチ管理表５６０は、グローバル仮想ヒエラルキー（ＧＶＨ）番号５６１、ホスト５６２、ホストの電源状態５６３、及び仮想スイッチリスト５６４を含む。
【００９６】
仮想スイッチリスト５６４は、マルチルートスイッチ５６５とマルチルートスイッチ５６５に含まれる仮想スイッチ番号（ＶＳ＃）５６６との組を、一つ以上並べたリストである。
【００９７】
図８に示すホスト−仮想スイッチ管理表５６０は、本実施形態の初期状態を示す。
【００９８】
図８に示すホスト−仮想スイッチ管理表５６０において、ホスト１００ｂに接続される仮想スイッチ４３０は、マルチルートスイッチ３００ｂに含まれるＶＳ＃１、及びマルチルートスイッチ３００ａに含まれるＶＳ＃１である。また、ホスト１００ａに接続される仮想スイッチ４３０は、マルチルートスイッチ３００ｂに含まれるＶＳ＃２である。
【００９９】
ホスト−仮想スイッチ管理表５６０は、仮想スイッチ管理表５２０の仮想スイッチ番号５２２、及び仮想スイッチ番号５２２に対応する仮想ブリッジ管理表５８０の方向５８４がｕｐであるポート番号５８６、をキーとして、スイッチポート管理表５７０のリンク先５７５を検索し、該当するものを、ホスト１００をキーにして並び替えることによって作成される。
【０１００】
図９は、第１の実施形態のリンクアップ抑止制御判定表５９０を示す説明図である。
【０１０１】
リンクアップ抑止制御判定表５９０は、マルチルートスイッチ３００ごとに、上流ポート３１０、上流ポート３１０に対応するホスト１００、及び上流ポート３１０に対応する仮想スイッチ番号を組にして示し、上流ポート３１０のリンクアップ抑止をするか否を示す表である。
【０１０２】
リンクアップ抑止制御判定表５９０は、マルチルートスイッチ５９１、上流ポート５９２、ホスト５９３、仮想スイッチ番号（ＶＳ＃）５９４、及び抑止状態５９５、を含む。リンクアップ抑止制御判定表５９０の各行はマルチルートスイッチ５９１をキーとして、ソートされる。
【０１０３】
多段スイッチ（マルチルートスイッチ３００の多段構成）によって仮想スイッチ４３０が構成され、上流ポート３１０を複数のホスト１００が共有する場合、リンクアップ抑止制御判定表５９０におけるホスト５９３と仮想スイッチ番号（ＶＳ＃）５９４とは、二つ以上の値が入れられてもよい。
【０１０４】
抑止状態５９５の値は、対応する仮想スイッチ番号（ＶＳ＃）５９４が一つ以上あった場合は“Ｎｏ”であり、一つも無い場合は“Ｙｅｓ”である。
【０１０５】
図９に示すリンクアップ抑止制御判定表５９０は、本実施形態の初期状態を示す。
【０１０６】
図９に示すリンクアップ抑止制御判定表５９０において、マルチルートスイッチ３００ｂの上流ポート５９２ａが３１０ｂ−１である上流ポート３１０には、ホスト１００ｂの仮想スイッチ番号５９４ａが１である仮想スイッチ４３０に対応する。マルチルートスイッチ３００ｂにおいて、仮想スイッチ４３０が一つ以上存在するため、抑止状態５９５ａは“Ｎｏ”である。
【０１０７】
また、マルチルートスイッチ３００ｂの上流ポート５９２ｂが３１０ｂ−２である上流ポート３１０には、ホスト１００ａの仮想スイッチ番号５９５ｂが２である仮想スイッチ４３０が対応する。マルチルートスイッチ３００ｂにおいて、仮想スイッチ４３０が一つ以上存在するため、マルチルートスイッチ３００ｂの抑止状態５９５ｂは“Ｎｏ”である。
【０１０８】
一方、マルチルートスイッチ３００ａの上流ポート５９２ａが３１０ａ−１である上流ポート３１０には、ホスト１００ｂの仮想スイッチ番号５９５ａが１である仮想スイッチ４３０が対応する。マルチルートスイッチ３００ａにおいて、仮想スイッチ４３０が一つ以上存在するため、マルチルートスイッチ３００ａの抑止判定結果５９２ａは“Ｎｏ”である。
【０１０９】
マルチルートスイッチ３００ａの上流ポート５９２ｂが３１０ａ−２である上流ポート３１０には、ホスト１００ａが対応する。しかし、マルチルートスイッチ３００ａの仮想スイッチ４３０は一つも存在しないため、抑止状態５９５ｂは“Ｙｅｓ”である。
【０１１０】
リンクアップ抑止制御判定表５９０は、ホスト−仮想スイッチ管理表５６０及びスイッチポート管理表５７０に基づいて作成される。
【０１１１】
図１０は、第１の実施形態のスイッチポート制御レジスタ６００を示す説明図である。
【０１１２】
スイッチポート制御レジスタ６００は、マルチルートスイッチ３００のポートのリンク状態を制御するためのレジスタである。スイッチポート制御レジスタ６００は、ＰＣＩマネージャー２５０によって各マルチルートスイッチに設定され、ＰＣＩマネージャー２５０によってリンク状態を制御する際に用いられる。
【０１１３】
スイッチポート制御レジスタ６００は、スイッチ番号６０１、ポート番号６０２、ポート方向６０３、及びリンク方向６０４を含む。
【０１１４】
ポート方向６０３は、スイッチポート管理表５７０の方向５７３において設定された値と同じ値を設定される。但し、マルチルートスイッチ３００の構成によって、ポートの方向６０４がｕｐ又はｄｏｗｎのどちらも可能であるポートが存在する場合、スイッチポート制御レジスタ６００のポート方向６０３の設定によって、実際に使用するポートの方向が決められてもよい。
【０１１５】
リンク方向６０４は、ＰＣＩｅｘｐｒｅｓｓにおけるリンクをする際のマルチルートスイッチ３００の接続方法を設定する。リンク方向６０４の値は、図１１に示す４種類の値である。
【０１１６】
図１１は、第１の実施形態のリンク方向６０４の値を示す説明図である。
【０１１７】
リンク方向６０４の設定値が、“ｕｐ”である場合、対応するポート番号６０２のポートは、“上流ポートとしてリンク”する。また、リンク方向６０４の設定値が、“ｄｏｗｎ”である場合、対応するポート番号６０２のポートは、“下流ポートとしてリンク”する。また、リンク方向６０４の設定値が、“ｃｒｏｓｓ”である場合、対応するポート番号６０２のポートは、“双方向ポートとしてリンク”する。
【０１１８】
リンク方向６０４の設定値を“リンクしない”に設定した場合、“リンクしない”が設定されたポート３１０に対応するリンクアップ抑止制御部３７０は、リンクアップを抑止する。リンクアップを抑止されるためリンク処理は行われず、“リンクしない”が設定されたポート３１０に接続されたホスト１００等の相手先は、リンクが不通であるかのように認識する。
【０１１９】
図１０に示すスイッチポート制御レジスタ６００のリンク方向６０４において、リンクアップ抑止制御判定表５９０における抑止状態５９５が“Ｙｅｓ”となったマルチルートスイッチ３００ａの上流ポート３１０ａ−２は、“リンクしない”に設定される。また、抑止状態５９５が“Ｎｏ”となったマルチルートスイッチ３００のポートのうち、上流ポート３１０及び管理ポート３３０は、“ｕｐ”に設定され、下流ポート３２０は、“ｄｏｗｎ”に設定される。
【０１２０】
図１０に示すスイッチポート制御レジスタ６００において、ホスト１００などのデバイスが接続されていない下流ポート３２０である下流ポート３２０ｂ−２、下流ポート３２０ａ−３、及び下流ポート３２０ａ−４のリンク方向６０４は、“リンクしない”ではなく“ｄｏｗｎ”である。下流ポート３２０のリンク方向６０４が、“ｄｏｗｎ”である理由は、後からホスト１００などのデバイスを、スロット３２０に追加した場合にＨｏｔ−Ｐｌｕｇを使用可能にするためである。
【０１２１】
一方、上流ポート３１０ａ−２は、リンク方向６０４が“リンクしない”に設定されているため、上流ポート３１０ａ−２に対応するリンクアップ抑止制御部３７０ａ−２が、上流ポート３１０ａ−２におけるリンクアップを抑止する。
【０１２２】
ＰＣＩマネージャー２５０が、スイッチポート制御レジスタ６００の設定を、マルチルートスイッチ３００ａに設定することによって、接続先のホスト１００ａからはルートポート１６０ａ−２のリンクが不通であると認識され、マルチルートスイッチ３００ａ内に対応する仮想スイッチが存在しなくても問題なくホスト１００ａを起動することができる。
【０１２３】
なお、ＰＣＩマネージャー２５０が、スイッチポート制御レジスタ６００の設定を、マルチルートスイッチ３００に反映するタイミングは、マルチルートスイッチ３００の仮想スイッチ４３０の設定が更新された後のタイミングでもよいし、ホスト１００の電源が投入されるタイミングでもよい。
【０１２４】
前述のように、マルチルートスイッチ３００ａ、及びマルチルートスイッチ３００ｂに設定することによって、ホスト１００ａ、及びホスト１００ｂを起動できる。
【０１２５】
図１２は、第１の実施形態のルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０を示す説明図である。
【０１２６】
ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０は、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０に含まれる。ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０は、ホスト１００のルートポート１６０ごとに対応するＨｏｔ−Ｐｌｕｇコントローラ１７０の状態を管理するための表である。
【０１２７】
ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０は、ホスト番号６１１、ルートポート６１２、ＰＷＲ状態６１３、ＰＷＥ  ＬＥＤ状態６１４、及びＡＴＮ  ＬＥＤ状態６１５を含む。
【０１２８】
ホスト番号６１１は、ホスト１００の識別子を示す。ルートポート６１２は、ルートポート１６０の識別子を示す。ＰＷＲ状態６１３は、ルートポート番号６１２に示されたルートポート１６０の電源状態を示す。ＰＷＥ  ＬＥＤ状態６１４は、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒの状態を示す。ＡＴＮ  ＬＥＤ状態６１５は、Ａｔｔｅｎｔｉｏｎ  Ｉｎｄｉｃａｔｏｒの状態を示す。
【０１２９】
ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０のキーは、ホスト番号６１１及びルートポート６１２である。
【０１３０】
他にＨｏｔ−Ｐｌｕｇコントローラに関連する設定値が含まれてもよいが、本実施形態には必要ないため記載を省略する。
【０１３１】
すなわち、ホスト１００の電源が遮断されている状態において、ホスト１００の全てのルートポート１６０の電源状態６１３、ＰＷＥ  ＬＥＤ状態６１４及びＡＴＮ  ＬＥＤ状態６１５の値は、“Ｏｆｆ”である。
【０１３２】
ホスト１００の電源が投入されている場合、リンクアップ抑止制御判定表５９０に従い、抑止状態５９５が“Ｎｏ”と判定された上流ポート３１０に対応するルートポート１６０（スイッチポート管理表５７０より検索可能）の電源状態６１３は、“Ｏｎ”である。
【０１３３】
また、ホスト１００の電源が投入されている場合、抑止状態５９５が“Ｙｅｓ”と判定された上流ポート３１０に対応するルートポート１６０の電源状態６１３は、“Ｏｆｆ”である。
【０１３４】
図１３のフローチャートを用いて、上流ポートのリンクアップ抑止処理を説明する。
【０１３５】
図１３は、第１の実施形態のホスト１００が起動する際のリンクアップ抑止を示すフローチャートである。
【０１３６】
ホスト１００の電源投入問合せに対して仮想スイッチ４３０を生成する際にマルチルートスイッチ３００内に仮想スイッチ４３０の無い上流ポートにリンクアップ抑止を設定する処理の一例を示すフローチャートである。
【０１３７】
管理コンソール２４０からホスト１００の電源を投入する指示がされた場合、ホスト１００の電源を投入できるか否かの問合せが、サービスプロセッサ２２０からＰＣＩマネージャー２５０へ送られる（ステップ１４００）。ＰＣＩマネージャー２５０は、ホスト−スロット割り当て表５００及びスイッチポート管理表５７０に基づいて、仮想スイッチ管理表５２０及び仮想ブリッジ管理表５８０を参照し、また、仮想スイッチ管理表５２０及び仮想ブリッジ管理表５８０に従ってマルチルートスイッチ３００を参照する（ステップ１４１０）。
【０１３８】
また、ＰＣＩマネージャー２５０は、ホスト−スロット割り当て表５００、スイッチポート管理表５７０、仮想スイッチ管理表５２０、及び仮想ブリッジ管理表５８０の表に基づいて、ホスト−仮想スイッチ管理表５６０及びリンクアップ抑止判定表５９０を更新する（ステップ１４２０）。
【０１３９】
ＰＣＩマネージャー２５０は、リンクアップ抑止判定表５９０の抑止状態５９５が“Ｙｅｓ”または“Ｎｏ”の何れであるかを判定する（ステップ１４３０）。
【０１４０】
抑止状態５９５が“Ｙｅｓ”である場合、ＰＣＩマネージャー２５０は、抑止状態５９５が“Ｙｅｓ”である上流ポート５９２に対応する、スイッチポート制御レジスタ６００のポートのリンク方向６０４に、“リンクしない”を設定する（ステップ１４４０）。さらに、ＰＣＩマネージャー２５０は、抑止状態５９５が“Ｙｅｓ”である上流ポート５９２に対応する、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０のポートの電源状態６１３を“Ｏｆｆ”（電源遮断状態）に設定する（ステップ１４６０）。
【０１４１】
一方、抑止状態５９５が“Ｎｏ”である場合、ＰＣＩマネージャー２５０は、抑止状態５９５が“Ｎｏ”である上流ポート５９２に対応する、スイッチポート制御レジスタ６００のポートのリンク方向６０４に“ｕｐ”を設定する（ステップ１４５０）。さらに、ＰＣＩマネージャー２５０は、抑止状態５９５が“Ｎｏ”である上流ポート５９２に対応する、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０のポートの電源状態６１３を“Ｏｎ”（電源投入状態）に設定する（ステップ１４７０）。
【０１４２】
ステップ１４６０又はステップ１４７０の処理の後、ＰＣＩマネージャー２５０は、サービスプロセッサ２２０へ、ホストの電源を投入することが可能であると応答する（ステップ１４８０）。
【０１４３】
以上の処理によって、ＰＣＩマネージャー２５０は、停止しているホスト１００を起動（電源投入）する問い合わせを受けたときには、マルチルートスイッチ３００に対してホスト１００が接続された上流ポート３１０のリンクアップを抑止した状態（上流ポートの電源遮断）とするように指令してから、サービスプロセッサ２２０にホスト１００の電源投入を許可する。
【０１４４】
ホスト１００はサービスプロセッサ２２０から電源投入の指令を受けて起動し、ルートポート１６０は接続されているマルチルートスイッチ３００の上流ポート３１０にアクセスしてＰＣＩバスツリーの構成を認識しようとする。しかし、マルチルートスイッチ３００のリンクアップ抑止制御部３７０がホスト１００を起動する上流ポート３１０の電源を遮断しているため、ホスト１００からはマルチルートスイッチ３００の構成を隠蔽することになる。
【０１４５】
これによって、ホスト１００が起動する以前にマルチルートスイッチ３００内に仮想スイッチを設定する必要が無くなり、前記従来例のようにマルチルートスイッチ３００のＬＳＩ等の物量が増大するのを抑制し、計算機システムの製造コストを低減できる。
【０１４６】
＜未割り当てスロット３２０に対するＨｏｔ−Ｐｌｕｇ＞
ホスト１００に割り当てられていないスロット３２０であるマルチルートスイッチ３００ａの下流ポート３２０ａ−４に、新規Ｉ／Ｏデバイス４２０ａ−４を挿入した場合の処理について図１及び図１４を用いて説明する。
【０１４７】
図１４は、第１の実施形態のＨｏｔ−Ｐｌｕｇに対応したＰＣＩｅｘｐｒｅｓｓのスロット３２０を示す説明図である。
【０１４８】
図１４に示すＰＣＩｅｘｐｒｅｓｓｓのスロット３２０は、Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ、Ａｔｔｅｎｔｉｏｎ  Ｉｎｄｉｃａｔｏｒを備える。図１４に示すＰＣＩｅｘｐｒｅｓｓｓのスロット３２０は、ＰＣＩｅｘｐｒｅｓｓ規格に基づいて実装される。
【０１４９】
Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎは、デバイスの抜き挿しをホスト１００に通知するために、ユーザが押すためのボタンである。Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒは、スロット３２０の電源状態を示し、ＬＥＤ（緑色が望ましい）によって実装されてもよい。Ａｔｔｅｎｔｉｏｎ  Ｉｎｄｉｃａｔｏｒは、処理中又はエラー状態を示し、ＬＥＤ（褐色又は黄色が望ましい）によって実装されてもよい。
【０１５０】
Ｉ／ＯデバイスをＨｏｔ  Ａｄｄ（ホスト１００の電源が入った状態において、Ｉ／Ｏデバイスを挿入）したい場合、ユーザ又はシステム管理者は、Ｉ／Ｏデバイスをスロット３２０に挿入し、その後Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎを押し、ホスト１００へＩ／Ｏデバイスを挿入した旨を通知する。ホスト１００へＩ／Ｏデバイスが挿入された旨を通知することによって、ＯＳ２１０及びＢＩＯＳ２００によってＨｏｔ−Ｐｌｕｇ処理がホスト１００において実行され、挿入された新たなＩ／Ｏデバイスが使用可能となる。
【０１５１】
本実施形態のマルチルートスイッチ３００において、物理的にＩ／Ｏデバイス（以下、物理デバイス）が挿入された際に処理されるＨｏｔ−Ｐｌｕｇ（物理Ｈｏｔ−Ｐｌｕｇと呼ぶ）は、下流ポート３２０に１対１に存在する物理Ｈｏｔ−Ｐｌｕｇコントローラ３４０によって検知される。また、物理Ｈｏｔ−Ｐｌｕｇの情報は、物理Ｈｏｔ−Ｐｌｕｇコントローラ３４０によって、スイッチ管理ポート３３０を介してＰＣＩマネージャー２５０へと通知される。
【０１５２】
ＰＣＩマネージャー２５０は、物理デバイスがＨｏｔ−Ｐｌｕｇされたことを通知されると、通知された物理Ｈｏｔ−Ｐｌｕｇの情報に基づいてスイッチポート管理表５７０を更新する。そして、当該物理デバイスが割り当てられたホスト１００が存在する場合、当該ホスト１００に対してマルチルートスイッチ３００を介してＨｏｔ−Ｐｌｕｇ信号を通知する（仮想Ｈｏｔ−Ｐｌｕｇと呼ぶ）。
【０１５３】
物理デバイスがマルチルートＩ／Ｏ仮想化技術に対応している場合、一つの物理デバイスを複数のホスト１００が共有する場合もある。一つの物理デバイスを複数のホスト１００によって共有する場合は、物理デバイスを挿入した際に、物理Ｈｏｔ−Ｐｌｕｇは、ホスト１００への通知が１回発生するだけだが、仮想Ｈｏｔ−Ｐｌｕｇは、物理デバイスを共有しているホスト１００の数だけ通知する。
【０１５４】
仮想Ｈｏｔ−Ｐｌｕｇを制御するための仮想Ｈｏｔ−Ｐｌｕｇコントローラ３５０は、下流仮想ブリッジ４４０と共に存在し、仮想スイッチ４３０の設定に従って割り当てられる。本実施形態において、Ｉ／Ｏデバイス４２０ａ−４を挿入した際に、下流ポート３２０ａ−４はどのホスト１００にも割り当てられていないため、ＰＣＩマネージャー２５０は、スイッチポート管理表５７０を更新するだけであり、ホスト１００への仮想Ｈｏｔ−Ｐｌｕｇを通知しない。
【０１５５】
図１５は、第１の実施形態のスロット３２０にＩ／Ｏデバイス４２０を追加した後のスイッチポート管理表５７０ｂを示す説明図である。
【０１５６】
図１５に示すスイッチポート管理表５７０ｂにおいて、スイッチ５７１が、マルチルートスイッチ３００ａを示し、ポート番号５７２が、下流ポート３２０ａ−４を示す行が、ＰＣＩマネージャー２５０によって更新される。スイッチ５７１が“３００ａ”であり、ポート番号５７２“３２０ａ−４”である行の、種別５７４が“デバイス”に更新され、リンク先５７５が“４２０ａ−４”に更新される。
【０１５７】
＜未割り当てスロット３２０の追加＞
次に、ホスト１００に割り当てられていないスロット３２０を、起動中のホスト１００に追加する場合の手順について説明する。
【０１５８】
図１６は、第１の実施形態のホストＢと未割り当てスロット３２０との割り当てを設定するＧＵＩ画面を示す説明図である。
【０１５９】
図１６は、ユーザ又はシステム管理者が、ＰＣＩマネージャー２５０によって、ホストＢ（ホスト１００ａ）にＭＲＳＷ＃２（マルチルートスイッチ３００ａ）のスロット＃３及びスロット＃４（下流ポート３２０ａ−３及び下流ポート３２０ａ−４）を追加するために、管理コンソール２４０に表示されるＧＵＩ画面である。ユーザ又はシステム管理者は、図１６に示すＧＵＩ画面によって、ホストＢに、スロット＃３及びスロット＃４を割り当てる。
【０１６０】
ホストＢに、スロット＃３及びスロット＃４を割り当てる操作によって、未割り当てスロット３２０である下流ポート３２０ａ−３とＩ／Ｏデバイス４２０ａ−４が挿入されている下流ポート３２０ａ−４とが、ホスト１００ａへ割り当てられる。
【０１６１】
図１７Ａは、第１の実施形態のホスト−スロット割り当て表５００ｃを示す説明図である。
【０１６２】
図１７Ｂは、第１の実施形態のホスト−スロット割り当て表５００ｄを示す説明図である。
【０１６３】
図１７Ａ及び図１７Ｂは、ホスト１００ａに下流ポート３２０ａ−３及び下流ポート３２０ａ−４を割り当てた後のホスト−スロット割り当て表５００ｃ及びホスト−スロット割り当て表５００ｄを示す。
【０１６４】
図３Ａに示したホスト−スロット割り当て表５００ａと比較して、ホスト−スロット割り当て表５００ｃは、ホスト５０１が“ＨｏｓｔＢ”である行に、スイッチ５０２が“ＭＲＳＷ＃２”でありスロット５０３が“スロット＃３”及び“スロット＃４”である行が追加されている。
【０１６５】
ホストＢに、スロット＃３及びスロット＃４を割り当てる操作によって、新たに仮想スイッチ４３０ａ−２が、マルチルートスイッチ３００ａ内に生成される。
【０１６６】
図１８は、第１の実施形態の生成された新たな仮想スイッチ４３０ａ−２を示す説明図である。
【０１６７】
マルチルートスイッチ３００ａは、仮想スイッチ４３０ａ−２を備える。仮想スイッチ４３０ａ−２は、上流ポート３１０ａ−２に対応する上流仮想ブリッジ４４０ａ−６、下流ポート３２０ａ−３に対応する下流仮想ブリッジ４４０ａ−７、及び下流ポート３２０ａ−４に対応する下流仮想ブリッジ４４０ａ−８を備える。
【０１６８】
図１９は、第１の実施形態のホストＢにスロット３２０を割り当てた後の、仮想スイッチ管理表５２０ｂ及び仮想ブリッジ管理表５８０ｂを示す説明図である。
【０１６９】
ＰＣＩマネージャー２５０は、新たに生成された仮想スイッチ４３０ａ−２の設定値を、仮想スイッチ管理表５２０ｂ及び仮想ブリッジ管理表５８０ｂに追記する。
【０１７０】
図７に示す仮想スイッチ管理表５２０ａと比較して、図１９に示す仮想スイッチ管理表５２０ｂは、スイッチ５２１がマルチルートスイッチ３００ａを示し、かつＶＳ番号５２２が“２”を示す行が更新されている。
【０１７１】
また、図７に示す仮想ブリッジ管理表５８０ａと比較して、図１９に示す仮想ブリッジ管理表５８０ｂは、スイッチ５８１がマルチルートスイッチ３００ａを示し、かつＶＳ番号５８２が“６”、“７”、“８”を示す行が更新されている。
【０１７２】
また、仮想スイッチ４３０の変更によって、ホスト−仮想スイッチ管理表５６０、リンクアップ抑止制御判定表５９０、及びスイッチポート制御レジスタ６００も更新される。
【０１７３】
図２０は、第１の実施形態のホスト１００にスロット３２０を割り当てた後の、ホスト−仮想スイッチ管理表５６０ｂを示す説明図である。
【０１７４】
図８に示すホスト−仮想スイッチ管理表５６０と比較して、図２０に示すホスト−仮想スイッチ管理表５６０ｂは、グローバル仮想ヒエラルキー（ＧＶＨ）番号５６１が“２”であり、ホスト５６２が“１００ａ”である仮想スイッチリスト５６４の、スイッチ５６５及びＶＳ番号５６６が更新されている。グローバル仮想ヒエラルキー（ＧＶＨ）番号５６１は、計算機システム内での仮想階層を示す識別子である。グローバル仮想ヒエラルキー（ＧＶＨ）番号５６１は、ＰＣＩマネージャー２５０が設定するようにしてもよい。
【０１７５】
図２１は、第１の実施形態のホストにスロットを割り当てた後の、リンクアップ抑止制御判定表５９０ｂを示す説明図である。
【０１７６】
図９に示すリンクアップ抑止制御判定表５９０と比較して、図２０に示すリンクアップ抑止制御判定表５９０ｂは、スイッチ５９１がマルチルートスイッチ３００ａを示し、上流ポート５９２ｂが上流ポート３１０ａ−２を示す行の、仮想スイッチ番号５９４ｂ及び抑止情報５９５ｂが更新されている。
【０１７７】
図２２は、第１の実施形態のホスト１００にスロット３２０を割り当てた後の、スイッチポート制御レジスタ６００ｂを示す説明図である。
【０１７８】
図１０に示すスイッチポート制御レジスタ６００と比較して、図２２に示すスイッチポート制御レジスタ６００は、スイッチ６０１がマルチルートスイッチ３００ａを示し、かつ、ポート番号６０２が上流ポート３１０ａ−２を示す行のリンク方向６０４が、“リンクしない”から“ｕｐ”へ更新されている。
【０１７９】
スイッチポート制御レジスタ６００の上流ポート３１０ａ−２に対応するリンク方向６０４が“リンクしない”から“ｕｐ”へ更新されたことによって、上流ポート３１０ａ−２のリンクアップ抑止状態は解除され、図１に示したルートポート１６０ａ−２と上流ポート３１０ａ−２間のＰＣＩｅリンク４００ａ−２の物理層及びリンク層の接続が確立する。
【０１８０】
スロット３２０を割り当てる対象となるホスト１００ａが起動していなかった場合は、仮想スイッチ４３０の構成の変更が完了した後に、ホスト１００ａを起動するため、以降の処理は必要ない。以降の処理は、ホスト１００ａが既に起動済みだった場合に限定する。
【０１８１】
ホスト１００ａが起動した時、マルチルートスイッチ３００ａの上流ポート３１０ａ−２がリンクアップ抑止されているため、ルートポート１６０ａ−２にリンクすることができず、ホスト１００ａは、ルートポート１６０ａ−２以下のＰＣＩツリーを認識しない。ホスト１００ａの起動の後、仮想スイッチ４３０が追加されても、ホスト１００ａは仮想スイッチ４３０を認識しない。
【０１８２】
そこでＰＣＩマネージャー２５０は、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０によって、ホスト１００ａのルートポート１６０ａ−２に対応するＨｏｔ−Ｐｌｕｇコントローラ１７０ａ−２を制御することによって、マルチルートスイッチ３００ａに含まれる仮想スイッチ４３０をホスト１００に認識させる。
【０１８３】
図２３は、第１の実施形態のＨｏｔ−Ｐｌｕｇコントローラ１７０、Ｈｏｔ−Ｐｌｕｇ制御信号１８０ａ及びＨｏｔ−Ｐｌｕｇ信号制御部１９０ａを示すブロック図である。
【０１８４】
図２３を用いて、図１に示すＨｏｔ−Ｐｌｕｇコントローラ１７０、Ｈｏｔ−Ｐｌｕｇ制御信号１８０ａ及びＨｏｔ−Ｐｌｕｇ信号制御部１９０ａを詳細に説明する。
【０１８５】
Ｈｏｔ−Ｐｌｕｇ制御信号１８０ａ−２は、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２に関連するいくつかの信号の集合である。
【０１８６】
本実施形態において、Ｈｏｔ−Ｐｌｕｇ制御信号１８０ａ−２は、Ａｔｔｅｎｔｉｏｎ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−１、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２、Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３、Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ１８０−４、Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５、及びＰｏｗｅｒ  Ｆａｕｌｔ  Ｄｅｔｅｃｔｅｄ１８０−６の、６種類の信号である。
【０１８７】
Ａｔｔｅｎｔｉｏｎ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ  １８０−１、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ  １８０−２、及びＰｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ  １８０−３は、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２から出力される信号であり、ホスト１００ａ上のＯＳ２１０及びＢＩＯＳ２００によってＨｏｔ−Ｐｌｕｇコントローラ１７０が操作される場合に用いられる。
【０１８８】
Ａｔｔｅｎｔｉｏｎ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−１は、Ａｔｔｅｎｔｉｏｎ  Ｉｎｄｉｃａｔｏｒ状態を変更する場合に用いられる。
【０１８９】
Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２は、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ状態を変更する場合に用いられる。
【０１９０】
Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３は、電源状態を変更する場合に用いられる。
【０１９１】
Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ１８０−４、Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５、及びＰｏｗｅｒ  Ｆａｕｌｔ  Ｄｅｔｅｃｔｅｄ１８０−６は、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２へ入力される信号であり、スロット３２０側の状態及び変更の内容を、ホスト１００ａ上のＯＳ２１０及びＢＩＯＳ２００へ通知するために用いられる。
【０１９２】
Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ１８０−４は、ホスト１００ａに対応するスロット３２０に、Ｉ／Ｏデバイス４２０が存在することを通知する場合に用いられる。
【０１９３】
Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５は、スロット３２０に対応するＡｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎが押されたことを通知する場合に用いられる。
【０１９４】
Ｐｏｗｅｒ  Ｆａｕｌｔ  Ｄｅｔｅｃｔｅｄ１８０−６は何らかの不慮の事態によってスロット３２０の電源が遮断した場合に用いられる。
【０１９５】
Ｈｏｔ−Ｐｌｕｇ制御信号１８０ａ−２の信号群は、従来技術のＰＣＩｅｘｐｒｅｓｓスロットを用いた場合、スロット３２０上の電源コントローラ又はＡｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎと接続される。しかし、マルチルートスイッチ３００に接続されるルートポート１６０の場合、従来技術のスロット３２０と違い、スロット３２０上には、電源コントローラ及びＡｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎは存在しない（ホスト１００とマルチルートスイッチ３００とは、シャーシに搭載され、バックプレーンを介して接続されるような形態が一般的である）。
【０１９６】
このため、Ｈｏｔ−Ｐｌｕｇ制御用の複数の信号は、すべてホスト１００ａ上のＨｏｔ−Ｐｌｕｇ信号制御部１９０ａに集められ、Ｈｏｔ−Ｐｌｕｇ信号制御部１９０ａによって、ホスト管理パス２３０ａを介してサービスプロセッサ２２０に送受信される。サービスプロセッサ２２０のＨｏｔ−Ｐｌｕｇ制御用の複数の信号が、ＰＣＩマネージャー２５０から制御されることによって、Ｈｏｔ−Ｐｌｕｇの仕組みを使って動的に仮想スイッチ４３０の構成を変更することができる。
【０１９７】
Ｈｏｔ−Ｐｌｕｇの仕組みのうちＨｏｔ−Ａｄｄの具体的な処理手順を図２４のフローチャートに示す。
【０１９８】
図２４は、第１の実施形態のルートポート１６０へＰＣＩマネージャー２５０がＨｏｔ−Ａｄｄを通知する処理を示すフローチャートである。
【０１９９】
ＰＣＩマネージャー２５０は、割り当てられていないスロット３２０をホスト１００に割り当てる処理（ステップ１５００）の後、ホスト−スロット割り当て表５００及びスイッチポート管理表５７０を更新し、更新されたホスト−スロット割り当て表５００及びスイッチポート管理表５７０に基づいて仮想スイッチ管理表５２０及び仮想ブリッジ管理表５８０を更新する（ステップ１５１０）。
【０２００】
ステップ１５１０の後、ＰＣＩマネージャー２５０は、リンクアップ抑止制御判定表５９０ｂを更新する（ステップ１５２０）。続いて、ＰＣＩマネージャー２５０は、ステップ１５２０において、リンクアップ抑止制御判定表５９０ｂの抑止状態５９５が“Ｙｅｓ”から“Ｎｏ”へ変更された上流ポート３１０ａ−２について、スイッチポート制御レジスタ６００のリンク方向を“ｕｐ”に変更する（ステップ１５５０）。
【０２０１】
続いて、ＰＣＩマネージャー２５０は、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０に対して、Ｈｏｔ−Ａｄｄを指示する（ステップ１５６０）。
【０２０２】
ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、ＰＣＩＭ管理パス２５５及びホスト管理パス２３０ａを介してＨｏｔ−Ｐｌｕｇ信号制御部１９０ａにＨｏｔ−Ａｄｄを通知する。Ｈｏｔ−Ｐｌｕｇ信号制御部１９０ａは、抑止状態５９５が“Ｎｏ”に変更された上流ポートに対応するルートポート１６０ａ−２のＨｏｔ−Ｐｌｕｇコントローラ１７０ａ−２にＡｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５の信号を送る。Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５の信号を受信することによって、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２は、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２に対応するスロット３２０のＡｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎが押されたと認識し、ＣＰＵ接続パス１１５ａを介して、Ｈｏｔ−Ｐｌｕｇ割り込みをＣＰＵ１１０ａへ送信する。
【０２０３】
Ｈｏｔ−Ｐｌｕｇ割り込みを受信したＯＳ２１０ａ及びＢＩＯＳ２００ａは、Ｈｏｔ−Ａｄｄ処理を行う。Ｈｏｔ−Ａｄｄ処理には、ＯＳ２１０ａからＨｏｔ−Ｐｌｕｇコントローラ１７０ａ−２に、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２の内容を“Ｂｌｉｎｋ”に更新せよという指示、続いて、Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３の内容を“ｏｎ”に更新せよという指示、続いて、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２の内容を“Ｏｎ”に更新せよという指示の送信が含まれる。
【０２０４】
Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２は、ＯＳ２１０ａから受信した指示を実行し、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２、続いて、Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３、続いて、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２を、順にＨｏｔ−Ｐｌｕｇ信号制御部１９０に送信する。
【０２０５】
Ｈｏｔ−Ｐｌｕｇ信号制御部１９０は、順に送られてくる、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２、Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３を、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２の信号を、ホスト管理パス２３０ａ及びＰＣＩＭ管理パス２５５を介して、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０に、送られてきた順に、送信する。ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、受信した信号に基づいて、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０を更新する（ステップ１５７０）。
【０２０６】
以上の処理により、ホスト１００は、起動した後のＨｏｔ−ＡｄｄによってＩ／Ｏデバイス４２０を認識することができる。すなわち、ホスト１００が起動される時点では、上流ポート３１０を電源遮断状態にしておくことによって、仮想スイッチ４３０を生成することなくホスト１００を円滑に起動する。そして、ホスト１００が起動した後に、仮想スイッチ４３０を生成し、未割り当てスロット３２０のＩ／Ｏデバイス４２０が利用可能となってから、ＰＣＩマネージャー２５０がホスト１００に対してＨｏｔ−Ａｄｄを通知する。Ｈｏｔ−Ａｄｄを受信したホスト１００のＨｏｔ−Ｐｌｕｇコントローラ１７０がＯＳ２１０ａに対してＨｏｔ−Ｐｌｕｇ割り込みをかけることで、ＯＳ２１０ａはマルチルートスイッチ３００のＰＣＩバスツリーとＩ／Ｏデバイス４２０を認識し、利用することが可能となる。
【０２０７】
以上のように、本発明では、ホスト１００がＩ／Ｏデバイス４２０を利用するときに、マルチルートスイッチ３００内の仮想スイッチ４３０を生成し、その後Ｈｏｔ−Ｐｌｕｇによってホスト１００にＰＣＩバスツリーを認識させればよいので、前記従来技術のように、接続可能なホスト１００と利用可能なスロット数に応じたリソースを用意する必要がなく、マルチルートスイッチ３００に実装するＬＳＩ等の物量が増大するのを防ぎながら、ホスト１００とＩ／Ｏデバイス４２０とを確実に接続することが可能となる。
【０２０８】
図２５は、第１の実施形態のルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０ｂを示す説明図である。
【０２０９】
ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２を受信すると、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０ｂのルートポート１６０ａ−２に該当するＰＷＥ  ＬＥＤ状態６１４の値を、“Ｏｆｆ”から“Ｂｌｉｎｋ”に更新する。
【０２１０】
続いて、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３を受信すると、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０ｂのルートポート１６０ａ−２に該当するＰＷＲ状態６１３の値を、“Ｏｆｆ”から“Ｏｎ”に更新する。
【０２１１】
続いて、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、Ｐｏｗｅｒ  Ｉｎｄｉｃａｔｏｒ  Ｃｏｎｔｒｏｌ１８０−２を受信すると、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０ｂのルートポート１６０ａ−２に該当するＰＷＥ  ＬＥＤ状態６１４の値を、“Ｂｌｉｎｋ”から“Ｏｎ”に更新する。
【０２１２】
前述の、Ｈｏｔ−Ａｄｄ処理の結果、ＯＳ２１０ａ及びＢＩＯＳ２００ａは、ルートポート１６０ａ−２以下のＰＣＩツリーを再度数え直す（再数え上げ：ｒｅ−ｅｎｕｍｅｒａｔｅ）。また、ＯＳ２１０ａ及びＢＩＯＳ２００ａは、マルチルートスイッチ３００ａ内に新たに生成された仮想スイッチ４３０ａ−２を認識し、追加されたスロット３２０ａ−３（下流ポート３２０ａ−３）、スロット３２０ａ−４（下流ポート３２０ａ−４）及びＩ／Ｏデバイス４２０ａ−４を使用可能にする。
【０２１３】
また、前述の未割り当てスロット３２０に対するＨｏｔ−Ｐｌｕｇによって、未割り当てスロット３２０を、ホスト１００が起動している際も、動的に追加することが可能となる。
【０２１４】
Ｈｏｔ−Ｐｌｕｇとは反対に、既に割り当てられたスロット３２０を、起動中のホスト１００から外す場合は、Ｈｏｔ−Ｒｅｍｏｖｅ処理が用いられる。Ｈｏｔ−Ｒｅｍｏｖｅ処理は、マルチルートスイッチ３００に含まれる仮想スイッチ４３０を除外し、ルートポート１６０の電源状態を再び遮断するため、後続のスロット３２０の再割り当てによるＨｏｔ−Ａｄｄを可能にする。
【０２１５】
図２６は、第１の実施形態のＨｏｔ−Ｒｅｍｏｖｅ処理を示すフローチャートである。
【０２１６】
既に割り当てられたスロット３２０ａ−４からＩ／Ｏデバイス４２０ａ−４が取り外された場合、Ｉ／Ｏデバイス４２０ａ−４の取り外しがあったマルチルートスイッチ３００ａからＰＣＩマネージャー２５０へ、既割り当てスロット３２０ａ−４の取り外し要求が送信される（ステップ１６００）。
【０２１７】
ＰＣＩマネージャー２５０は、ホスト−スロット割り当て表５００ｃ及びスイッチポート管理表５７０ｂを更新し、更新されたホスト−スロット割り当て表５００ｃ及びスイッチポート管理表５７０ｂに基づいて、仮想スイッチ管理表５２０ｂ及び仮想ブリッジ管理表５８０ｂを更新する。前述の表を変更することによって、仮想スイッチ４３０の構成を変更する（ステップ１６１０）。
【０２１８】
ＰＣＩマネージャー２５０は、一つの仮想スイッチ４３０に対応するスロット３２０ａ−４のうち、Ｉ／Ｏデバイス４２０ａ−４に割り当てられたスロット３２０ａ−４がなくなり、一つの仮想スイッチ４３０が消されるか否かを判定する（ステップ１６２０）。
【０２１９】
仮想スイッチ４３０が消されない場合、処理は、ステップ１６６０に移る。
【０２２０】
一つの仮想スイッチ４３０が消される場合、ＰＣＩマネージャー２５０は、仮想スイッチ４３０が接続される上流ポート３１０ａ−２及びルートポート１６０ａ−２の設定を変更するため、上流ポート３１０ａ−２に接続されたルートポート１６０ａ−２に対してＨｏｔ  Ｒｅｍｏｖｅの処理を指示する（ステップ１６３０）。
【０２２１】
Ｈｏｔ  Ｒｅｍｏｖｅ処理には、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２に対してＡｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５の信号を送信することが含まれる。Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５の信号を受信することによって、Ｈｏｔ−Ｐｌｕｇコントローラ１７０は、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２に対応するスロット３２０のＡｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎが押されたと認識し、ＣＰＵ接続パス１１５を介して、Ｈｏｔ−Ｐｌｕｇ割り込みをＣＰＵ１１０へ送信する。
【０２２２】
Ｈｏｔ−Ｐｌｕｇ割り込みを受信したＯＳ２１０ａ及びＢＩＯＳ２００ａは、Ｈｏｔ−Ｒｅｍｏｖｅ処理を行う。ＯＳ２１０ａは、Ｈｏｔ−Ｒｅｍｏｖｅ処理の指示を、Ｈｏｔ−Ｐｌｕｇコントローラ１７０ａ−２及びＨｏｔ−Ｐｌｕｇ信号制御部１９０ａを介して、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０に送信する。ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、受信したＨｏｔ−Ｒｅｍｏｖｅ処理の指示に基づいて、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０ｂを更新する（ステップ１６４０）。なお、ＯＳ２１０ａからルートポートＨｏｔ−Ｐｌｕｇ制御部５４０への指示は、サービスプロセッサ２２０が中継することによって送信される。
【０２２３】
ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、ＯＳ２１０ａから、Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３を“Ｏｆｆ”にせよ、という指示を受け、Ｈｏｔ−Ｒｅｍｏｖｅ処理を完了させる（ステップ１６５０）。なお、ＯＳ２１０ａが上記“Ｏｆｆ”の指令を送信するタイミングは、ＰＣＩマネージャー２５０からＨｏｔ−ｒｅｍｏｖｅの指令を受け付けてから所定時間後としてもよい。
【０２２４】
ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、ステップ１６１０によって更新された仮想スイッチ４３０の構成に従って、リンクアップ抑止判定表５９０を更新する（ステップ１６６０）。
【０２２５】
ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、リンクアップ抑止判定表５９０のリンクアップ抑止状態５９５が、“Ｎｏ”から“Ｙｅｓ”へ更新された上流ポート３１０について、スイッチポート制御レジスタ６００のリンク方向６０４を“リンクしない”へ更新する（ステップ１６７０）。
【０２２６】
前述の処理によって、ホスト１００が再起動した場合、仮想スイッチ４３０が設定されていない上流ポート３１０から先に、ホスト１００によってＰＣＩツリーが探索されることを防ぐ。これによって、仮想スイッチ４３０が設定されていない場合でも再起動したホスト１００を安定して稼働させることが可能となる。
【０２２７】
前述の第１の実施形態によると、ホスト１００起動後のスロット３２０の追加及び削除といった動的再構成が可能となる。
【０２２８】
（第２の実施形態）
続いて、本発明の第２の実施形態を説明する。第２の実施形態は、マルチルートスイッチ３００の電源制御に関する。
【０２２９】
第２の実施形態における初期状態は、第１の実施形態における初期状態と同じであり、図３Ａ及び図３Ｂと、図４Ａ及び図４Ｂとに示す状態である。
【０２３０】
図３Ｂ及び図４Ｂに示すホスト１００とスロット３２０との割り当てにおいて、ホストＡ（１００ｂ）の電源が遮断しており、ホストＢ（１００ａ）の電源のみが投入されている場合、ホスト１００ａは、マルチルートスイッチ３００ａ配下のスロット３２０を使用していないため、マルチルートスイッチ３００ａの電源を入れる必要はない。マルチルートスイッチ３００ａに電源を入れる必要がない場合の省電力制御を行う手順を、後述において説明する。
【０２３１】
図２７は、第２の実施形態のスイッチ電源状態管理表５３０ａを示す説明図である。
【０２３２】
スイッチ電源状態管理表５３０は、マルチルートスイッチ３００の識別子を示すスイッチ５３１をキーとして、マルチルートスイッチ３００の電源状態を示す電源状態５３２、マルチルートスイッチ３００に含まれる仮想スイッチ番号（ＶＳ＃）ごとに対応するホスト１００の電源状態を示す仮想スイッチ状態５３３、及び仮想スイッチ番号５３３の各状態を集計した結果を示す集計結果５３４を含む。
【０２３３】
各仮想スイッチ４３０の電源状態を示す仮想スイッチ状態５３３は、図８に示すホスト−仮想スイッチ管理表５６０のマルチルートスイッチ３００をキーにして並べ直すことによって生成される。集計結果５３４は、仮想スイッチ４３０の中に、電源が投入されているものが一つでもある場合は“Ｏｎ”、電源が一つも投入されていない場合は“Ｏｆｆ”を示す。図８に示すホスト−仮想スイッチ管理表５６０において、ホスト１００ｂ及びホスト１００ａは、共に“Ｏｆｆ”であるため、対応する仮想スイッチ４３０も全て“Ｏｆｆ”となり、集計したマルチルートスイッチ３００の電源状態５３２も“Ｏｆｆ”となる。
【０２３４】
＜ホスト１００の電源投入を契機としたマルチルートスイッチ３００の電源投入＞
ホスト１００ｂの電源を遮断したまま、ホスト１００ａの電源を投入した場合の省電力制御について、後述する。
【０２３５】
図２８は、第２の実施形態のホスト１００ａの電源が投入されたことを契機として、マルチルートスイッチ３００の電源を投入する処理手順を示すフローチャートである。
【０２３６】
管理コンソール２４０から、ホスト１００ａに対する電源投入の指令が入力されると、ＰＣＩマネージャー２５０は、サービスプロセッサ２２０から、ホスト１００ａの電源を投入する、という指令を受け（ステップ１０００）、ホスト−スロット割り当て表５００、スイッチポート管理表５７０、仮想スイッチ管理表５２０、及び仮想ブリッジ管理表５８０を参照し、ホスト１００ａに対するスロット３２０の割り当てを参照する（ステップ１０１０）。続いて、ＰＣＩマネージャー２５０は、ホスト−スロット割り当て表５００に従って、図２９に示すように、ホスト仮想スイッチ管理表５６０ｃのホスト１００ａに対応する電源状態のフィールド５６３を“Ｏｎ”へ更新する。
【０２３７】
図２９は、第２の実施形態のホスト−仮想スイッチ管理表５６０ｃを示す説明図である。
【０２３８】
図８に示すホスト−仮想スイッチ管理表５６０と比較して、図２９に示すホスト−仮想スイッチ管理表５６０ｃは、ホスト５６２がホスト１００ａを示す行の電源状態５６３が、“Ｏｆｆ”に更新されている。
【０２３９】
図３０は、第２の実施形態のスイッチ電源状態管理表５３０ｃを示す説明図である。
【０２４０】
ホスト１００ａの電源状態５６３の更新によって、ＰＣＩマネージャー２５０は、図３０に示すスイッチ電源状態管理表５３０ｃにおける、マルチルートスイッチ３００ｂのＶＳ＃２に対応する仮想スイッチ状態５３３の値を、“Ｏｎ”に更新する。また、ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ｂに含まれる仮想スイッチ状態５３３の値に“Ｏｎ”となるものが一つ以上存在するため、集計結果５３４も“Ｏｎ”に更新する（ステップ１０２０）。
【０２４１】
ＰＣＩマネージャー２５０は、電源状態５３２が“Ｏｆｆ”であり、集計結果５３４が“Ｏｎ”となるようなマルチルートスイッチ３００が存在するか否かを確認する（ステップ１０３０）。
【０２４２】
ステップ１０３０において、電源状態５３２が“Ｏｆｆ”であり、集計結果５３４が“Ｏｎ”となるようなマルチルートスイッチ３００が存在する場合、該当するマルチルートスイッチ３００（第２の実施形態において、マルチルートスイッチ３００ｂ）の電源が投入される（ステップ１０４０）。また、マルチルートスイッチ３００ｂに含まれる仮想スイッチ４３０が、ＰＣＩマネージャー２５０によって設定される（ステップ１０５０）。
【０２４３】
ステップ１０５０の後、又は、ステップ１０３０において、電源状態５３２が“Ｏｆｆ”であり、集計結果５３４が“Ｏｎ”となるようなマルチルートスイッチ３００が存在しない場合、ＰＣＩマネージャー２５０は、サービスプロセッサ２２０へホスト１００ａの電源の投入を許可する旨を送信する（ステップ１０６０）。その後、サービスプロセッサ２２０は、ホスト１００ａの電源を投入する。
【０２４４】
ホスト１００ａの起動時、ルートポート１６０ａ−１は通常通りリンクアップするが、ルートポート１６０ａ−２は、ルートポート１６０ａ−２配下のマルチルートスイッチ３００ａの電源が遮断されているため、リンクアップは成立しない。このため、ホスト１００ａの起動時、ホスト１００ａからマルチルート３００ａは認識されない。これは、第１の実施形態において、マルチルートスイッチ３００ａの上流ポート３１０ａ−２をリンクアップ抑止に設定した後に、ホスト１００ａの電源を投入した場合と同じ結果である。
【０２４５】
続いて、ホスト１００ｂの電源を投入する場合を説明する。
【０２４６】
ＰＣＩマネージャー２５０は、サービスプロセッサ２２０からホスト１００ｂの電源投入の指示を受け、ホスト−仮想スイッチ管理表５６０のホスト１００ｂの電源状態５６３を“Ｏｎ”に更新する。
【０２４７】
図３１は、第２の実施形態のホスト−仮想スイッチ管理表５６０ｄを示す説明図である。
【０２４８】
図３１は、電源状態５６３をＰＣＩマネージャー２５０によって“Ｏｎ”に更新された後の、ホスト−仮想スイッチ管理表５６０ｄである。
【０２４９】
ホスト−仮想スイッチ管理表５６０ｄの電源状態５６３の更新によって、ＰＣＩマネージャー２５０は、スイッチ電源状態管理表５３０において、マルチルートスイッチ３００ｂの仮想スイッチ番号が１の仮想スイッチ状態５３３と、マルチルートスイッチ３００ａの仮想スイッチ番号が１の仮想スイッチ状態５３３とを、“Ｏｎ”に更新する。
【０２５０】
仮想スイッチ状態５３３の更新によって、マルチルートスイッチ３００ａの集計結果５３４が“Ｏｎ”に更新される。集計結果５３４が“Ｏｎ”に更新されたことによって、スイッチ電源状態管理表５３０は、マルチルートスイッチ３００ａの電源を投入する必要があることを示す。
【０２５１】
図３２は、第２の実施形態のスイッチ電源状態管理表５３０ｄを示す説明図である。
【０２５２】
図３２は、仮想スイッチ状態５３３と、集計結果５３４とをＰＣＩマネージャー２５０によって“Ｏｎ”に更新された後の、スイッチ電源状態管理表５３０である。
【０２５３】
ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ａの電源を投入した後、仮想スイッチ４３０を構成する。マルチルートスイッチ３００ａの電源の投入に伴い、ＰＣＩマネージャー２５０は、第１の実施形態と同様に、図９のリンクアップ抑止制御判定表５９０に従い、図１０のスイッチポート制御レジスタ６００に“リンクしない”の設定をする必要がある。
【０２５４】
既に、ホスト１００ａは電源を投入されているため、明示的にリンクアップ抑止をしなくても、自動的にマルチルートスイッチ３００ａが認識されることはない。しかし、ホスト１００ａが再起動するようなケースに備えてリンクアップ抑止を設定する必要があるため、前述の通り、ＰＣＩマネージャー２５０がスイッチポート制御レジスタ６００の設定をする。
【０２５５】
ＰＣＩマネージャー２５０は、仮想スイッチ４３０の設定と、スイッチポート制御レジスタ６００の更新とが完了した後、サービスプロセッサ２２０に対してホスト１００ｂの電源を投入する許可を出す。続いて、サービスプロセッサ２２０は、ホスト１００ｂの電源を投入する。
【０２５６】
＜ホスト１００の電源遮断を契機としたマルチルートスイッチ３００の電源遮断＞
続いて、ホスト１００ａ、及びホスト１００ｂの電源が投入された状態から、ホスト１００ｂの電源を遮断する場合を、以下に説明する。
【０２５７】
図３３は、第２の実施形態のホスト１００ｂの電源の遮断を契機とした、マルチルートスイッチ３００の電源を遮断する処理を示すフローチャートである。
【０２５８】
サービスプロセッサ２２０によってホスト１００ｂの電源が遮断された後、サービスプロセッサ２２０は、ホスト１００ｂの電源を遮断した旨の通知を、ＰＣＩＭ管理パス２５５を介して、ＰＣＩマネージャー２５０へ送信する（ステップ１１００）。ここで、ホスト１００の電源を投入する旨の通知は、ホスト１００の電源が投入される前に、サービスプロセッサ２２０によってＰＣＩマネージャー２５０へ送信される（ホスト１００の電源を投入する前に、仮想スイッチ４３０を構成する必要があるため）のに対して、ホスト１００の電源を遮断する旨の通知は、ホスト１００の電源が遮断されてから、サービスプロセッサ２２０によってＰＣＩマネージャー２５０へ送信される。
【０２５９】
ＰＣＩマネージャー２５０は、ホスト１００の電源を遮断する旨の通知を受信すると、ホスト−スロット割り当て表５００に従い（ステップ１１１０）、ホスト−仮想スイッチ管理表５６０のホスト１００ｂの電源状態５６３の値を“Ｏｆｆ”に更新する。ＰＣＩマネージャー２５０は、ホスト−仮想スイッチ管理表５６０の更新によって、スイッチ電源状態管理表５３０におけるマルチルートスイッチ３００ｂの仮想スイッチ番号が１である仮想スイッチ状態５３３の値と、マルチルートスイッチ３００ａの仮想スイッチ番号が１である仮想スイッチ状態５３３の値とを、“Ｏｆｆ”に更新する（ステップ１１２０）。
【０２６０】
図３４は、第２の実施形態のホスト−仮想スイッチ管理表５６０ｅを示す説明図である。
【０２６１】
図３４は、図３３のステップ１１２０において、ＰＣＩマネージャー２５０によって更新された結果である。
【０２６２】
図３５は、第２の実施形態のスイッチ電源状態管理表５３０ｅを示す説明図である。
【０２６３】
図３５は、図３３のステップ１１２０において、ＰＣＩマネージャー２５０によって更新された結果である。
【０２６４】
ＰＣＩマネージャー２５０は、電源状態５３２が“Ｏｎ”であり、集計結果５３４が“Ｏｆｆ”であるマルチルートスイッチ３００が存在するか否かを判定する（ステップ１１３０）。図３５に示すスイッチ電源状態管理表５３０ｅにおいて、電源状態５３２が“Ｏｎ”であり、集計結果５３４が“Ｏｆｆ”であるマルチルートスイッチ３００ａが存在するため、マルチルートスイッチ３００ａの電源を遮断できる。このため、ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ａの電源を遮断する（ステップ１１４０）。
【０２６５】
ステップ１１４０の後、又は、ステップ１１３０において、電源状態５３２が“Ｏｎ”であり、集計結果５３４が“Ｏｆｆ”であるマルチルートスイッチ３００が存在しない場合、ＰＣＩマネージャー２５０は、サービスプロセッサ２２０へ電源の遮断が完了したことを送信する（ステップ１１５０）。
【０２６６】
続いて、ホスト１００ａの電源を遮断する場合を、以下に説明する。
【０２６７】
サービスプロセッサ２２０によってホスト１００ａの電源が遮断された後、サービスプロセッサ２２０は、ホスト１００ａの電源が遮断された旨の通知を、ＰＣＩＭ管理パス２５５を介してＰＣＩマネージャー２５０へ送信する。
【０２６８】
ＰＣＩマネージャー２５０は、ホスト１００ａの電源が遮断された旨の通知を受信し、ホスト−仮想スイッチ管理表５６０のホスト１００ａの電源状態５６３を“Ｏｆｆ”に更新する。
【０２６９】
図３６は、第２の実施形態のホスト−仮想スイッチ管理表５６０ｆを示す説明図である。
【０２７０】
図３６は、ＰＣＩマネージャー２５０によって、ホスト−仮想スイッチ管理表５６０の電源状態５６３を“Ｏｆｆ”に更新された結果である。
【０２７１】
ホスト−仮想スイッチ管理表５６０ｆの更新によって、ＰＣＩマネージャー２５０は、スイッチ電源状態管理表５３０ｆにおける、マルチルートスイッチ３００ｂの仮想スイッチ番号が２の仮想スイッチ状態５３３を、“Ｏｆｆ”に更新する。
【０２７２】
図３７は、第２の実施形態のスイッチ電源状態管理表５３０ｆを示す説明図である。
【０２７３】
図３７は、ＰＣＩマネージャー２５０によって、スイッチ電源状態管理表５３０ｆの仮想スイッチ状態５３３を、“Ｏｆｆ”に更新された結果である。
【０２７４】
続いて、ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ｂの集計結果５３４を“Ｏｆｆ”に更新する。更新後のスイッチ電源状態管理表５３０ｆは、マルチルートスイッチ３００ｂの電源を遮断することが可能であることを示す。ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ｂの電源を遮断する。
【０２７５】
前述の第２の実施形態によると、ホストの電源状態に連動して、必要最低限のマルチルートスイッチのみの電源を投入し、不要なスイッチの電源を遮断が可能であるため、省電力による運用が可能となる。
【０２７６】
（第３の実施形態）
＜起動済ホストへの未割り当てスロット３２０の追加を契機としたマルチルートスイッチ３００の電源投入＞
続いて、本発明の第３の実施形態を説明する。第３の実施形態は、第２の実施形態を応用した実施形態である。
【０２７７】
第３の実施形態の初期状態における、計算機システムの構成と、ホスト−スロット割り当て表５００とは、第２の実施形態と同じであり、すなわち、第１の実施形態の初期状態と同じである。第３の実施形態の初期状態において、ホスト１００ｂの電源は遮断され、ホスト１００ａの電源は投入されている。また、第３の実施形態の初期状態において、マルチルートスイッチ３００ａの電源は遮断され、マルチルートスイッチ３００ｂの電源は投入されている。
【０２７８】
第３の実施形態の初期状態における、ホスト−仮想スイッチ管理表５６０及びスイッチ電源状態管理表５３０は、図２９及び図３０に示すホスト−仮想スイッチ管理表５６０ｃ及びスイッチ電源状態管理表５３０ｃと同じである。
【０２７９】
第３の実施形態の初期状態において、ホスト１００ａに対して、未割り当てのスロット３２０ａ−３とスロット３２０ａ−４とを割り当てる場合を、以下に説明する。
【０２８０】
ユーザ又はシステム管理者が、図１６及び図１７Ｂに示すホスト１００とスロット３２０との割り当てに基づいて、管理コンソール２４０を用いてホスト１００ａにスロット３２０ａ−３とスロット３２０ａ−４とを割り当てる。未割り当てスロット３２０のホスト１００への割り当てを契機として、マルチルートスイッチ３００の電源を投入する処理手順を図３８に示す。
【０２８１】
図３８は、第３の実施形態の未割り当てスロット３２０のホスト１００への割り当てを契機としてマルチルートスイッチ３００の電源を投入する処理手順を示すフローチャートである。
【０２８２】
ホスト１００ａが、スロット３２０ａ−３とスロット３２０ａ−４とを、割り当てられると（ステップ１２００）、続いて、ＰＣＩマネージャー２５０は、ホスト−スロット割り当て表５００、及びスイッチポート管理表５７０を更新し、さらに仮想スイッチ管理表５２０及び仮想ブリッジ管理表５８０を更新する。ＰＣＩマネージャー２５０によって更新された結果は、図１９に示す仮想スイッチ管理表５２０ｂ及び仮想ブリッジ管理表５８０ｂである（ステップ１２１０）。
【０２８３】
さらに、ＰＣＩマネージャー２５０は、ホスト−仮想スイッチ管理表５６０を更新する。
【０２８４】
図３９は、第３の実施形態のホスト−仮想スイッチ管理表５６０ｇを示す説明図である。
【０２８５】
ＰＣＩマネージャー２５０は、ホスト−仮想スイッチ管理表５６０ｇのホスト１００ａの仮想スイッチリスト５６４のスイッチ５６５をマルチルートスイッチ３００ａに、仮想スイッチ番号５６６を“２”に更新する。
【０２８６】
続いて、ＰＣＩマネージャー２５０は、リンクアップ抑止制御判定表５９０を図２１に示す説明図と同じ内容に更新する。さらに、ＰＣＩマネージャー２５０は、スイッチポート制御レジスタ６００ｂを図２２に示す内容に更新する。
【０２８７】
ホスト−仮想スイッチ管理表５６０ｇの更新の後、ＰＣＩマネージャー２５０は。スイッチ電源状態管理表５３０ｇを図４０に示す内容に更新する。
【０２８８】
図４０は、第３の実施形態のスイッチ電源状態管理表５３０ｇを示す説明図である。
【０２８９】
マルチルートスイッチ３００ａに仮想スイッチ（ＶＳ＃）番号５３３が“２”である仮想スイッチ４３０が追加されたため、ＰＣＩマネージャー２５０は、スイッチ電源状態管理表５３０ｇのマルチルートスイッチ３００ａの仮想スイッチ番号が“２”を示す仮想スイッチ状態５３３が“−”（なし）から“Ｏｎ”へ更新する（ステップ１２２０）。
【０２９０】
ＰＣＩマネージャー２５０は、スイッチ電源状態管理表５３０ｇにおいて、電源状態５３２が“Ｏｆｆ”であり、電源状態５３２の集計結果５３４が“Ｏｎ”であるスイッチ５３１があるか否かを判定する（ステップ１２３０）。
【０２９１】
電源状態５３２が“Ｏｆｆ”であり、電源状態５３２の集計結果５３４が“Ｏｎ”であるマルチルートスイッチ３００が存在しない場合、処理はステップ１２５０に移る。
【０２９２】
電源状態５３２が“Ｏｆｆ”であり、電源状態５３２の集計結果５３４が“Ｏｎ”であるマルチルートスイッチ３００が存在する場合、処理はステップ１２４０に移る。
【０２９３】
スイッチ電源状態管理表５３０ｇにおいて、マルチルートスイッチ３００ａが電源状態５３２が“Ｏｆｆ”であり、電源状態５３２の集計結果５３４が“Ｏｎ”であるため、ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ａの電源を投入する（ステップ１２４０）。
【０２９４】
ステップ１２４０の後、又は、ステップ１２３０において、電源状態５３２が“Ｏｆｆ”であり、電源状態５３２の集計結果５３４が“Ｏｎ”であるマルチルートスイッチ３００が存在しない場合、ＰＣＩマネージャー２５０は、仮想スイッチ４３０を構成し、スイッチポート制御レジスタ６００を更新する（ステップ１２５０）。
【０２９５】
さらに、ホスト１００ａは、既に起動済みであり、ルートポート１６０ａ−２配下のＰＣＩツリーを認識していないため、ルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、ホスト１００ａのＨｏｔ−Ｐｌｕｇコントローラ１７０ａ−２にＨｏｔ−Ａｄｄ処理を通知する（ステップ１２６０）。
【０２９６】
Ｈｏｔ−Ａｄｄ処理の動作は、第１の実施形態と同じである（ステップ１２７０）。
【０２９７】
前述の通り第３の実施形態によれば、ホスト１００の電源を投入するだけでなく、既に電源を投入されているホスト１００に対する未割り当てスロット３２０の割り当てを契機として、マルチルートスイッチ３００の電源を投入できる。
【０２９８】
＜起動済ホスト１００から既割り当てスロット３２０の取り外しを契機としたマルチルートスイッチスイッチ３００の電源遮断＞
最後に、ホスト１００ａの電源が投入されている状態からスロット３２０ａ−３、スロット３２０ａ−４を外し、未割り当て状態に戻す場合を、以下に説明する。
【０２９９】
図４１は、第３の実施形態のホスト１００ａに割り当てられていたスロット３２０の取り外しによって、マルチルートスイッチ３００の電源を遮断する処理を示すフローチャートである。
【０３００】
図４２は、第３の実施形態のホスト１００から既割り当てスロット３２０を取り外す設定をするＧＵＩ画面を示す説明図である。
【０３０１】
ユーザ又はシステム管理者は、図４２に示すＧＵＩ画面からの設定によって、管理コンソール２４０を介してホストＢ（ホスト１００ａ）からＭＲＳＷ＃２（マルチルートスイッチ３００ａ）のスロット＃３及びスロット＃４（下流ポート３２０ａ−３、下流ポート３２０ａ−４）を外し、スロット＃３及びスロット＃４（下流ポート３２０ａ−３、下流ポート３２０ａ−４）を未割り当て状態に戻す指示を、ＰＣＩマネージャー２５０に送信する（ステップ１３００）。
【０３０２】
この時、ホスト−スロット割り当て表５００は、図３Ａに示すホスト−スロット割り当て表５００ａである。ＰＣＩマネージャー２５０は、ホスト−スロット割り当て表５００ａに従って仮想スイッチ管理表５２０及び仮想ブリッジ管理表５８０を図７に示す仮想スイッチ管理表５２０ａ及び仮想ブリッジ管理表５８０ａに更新する（ステップ１３１０）。ただし、ＰＣＩマネージャー２５０は、起動中のホスト１００ａに対する仮想スイッチ４３０の更新であるため、ＰＣＩマネージャー２５０に含まれる仮想スイッチ管理表５２０及び仮想ブリッジ管理表５８０は更新するが、マルチルートスイッチ３００ａに対しては反映しない。
【０３０３】
ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ａに割り当てられたスロット３２０ａ−３及びスロット３２０ａ−４が外されたために上流ポート３１０ａ−２を介してホスト１００ａに割り当てられた仮想スイッチ４３０ａ−２を外せるか否かを判定する（ステップ１３２０）。
【０３０４】
ステップ１３２０において、仮想スイッチ４３０ａ−２を外すことが不可能である場合、ホスト−仮想スイッチ管理表５６０及びスイッチ電源状態管理表５３０を更新する（ステップ１３６０）。
【０３０５】
ステップ１３２０において、仮想スイッチ４３０ａ−２を外すことが可能である場合、ＰＣＩマネージャー２５０のルートポートＨｏｔ−Ｐｌｕｇ制御部５４０は、外す対象の仮想スイッチ４３０ａ−２に上流ポート３１０を介して接続するホスト１００ａのルートポート１６０ａ−２に対して、Ｈｏｔ  Ｒｅｍｏｖｅ処理を開始する（ステップ１３３０）。
【０３０６】
ＰＣＩＭ管理パス２５５・ホスト管理パス２３０ａを介してＨｏｔ−Ｐｌｕｇ信号制御部１９０ａに対してＨｏｔ  Ｒｅｍｏｖｅ処理が指示され、Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎ  Ｐｒｅｓｓｅｄ１８０−５信号によってＨｏｔ−Ｐｌｕｇコントローラ１７０ａ−２を介してＨｏｔ−Ｐｌｕｇ割り込みがＣＰＵ１１０ａへ通知される（Ａｔｔｅｎｔｉｏｎ  Ｂｕｔｔｏｎはトグルキーの機能を持っており、Ａｄｄ済みのスロット３２０に対してはＨｏｔ  Ｒｅｍｏｖｅ通知の意味を持つ）。
【０３０７】
Ｈｏｔ−Ｐｌｕｇ割り込みを受けたＯＳ２１０ａ及びＢＩＯＳ２００ａは、Ｈｏｔ  Ｒｅｍｏｖｅ処理を行う。Ｈｏｔ  Ｒｅｍｏｖｅ処理の結果、Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３によってスロット３２０の電源を遮断する通知がＨｏｔ−Ｐｌｕｇコントローラ１７０ａ−２を介してルートポートＨｏｔ−Ｐｌｕｇ制御部５４０に対して通知される。ＰＣＩマネージャー２５０は、通知されたＰｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｔｒｏｌ１８０−３に従って、ルートポートＨｏｔ−Ｐｌｕｇ状態管理表６１０を更新する（ステップ１３４０）。
【０３０８】
ＰＣＩマネージャー２５０は、ホスト１００ａ上のＯＳ２１０ａ及びＢＩＯＳ２００ａから、ルートポート１６０ａ−２配下のＰＣＩツリーが切り離されたことを通知される。これによって、Ｈｏｔ  Ｒｅｍｏｖｅ処理は完了する（ステップ１３５０）。
【０３０９】
ＰＣＩマネージャー２５０は、仮想スイッチ管理表５２０の更新によって各種表を更新する。図４３に示すように、ホスト−仮想スイッチ管理表５６０ｈのホスト１００ａに対応する仮想スイッチリスト５６４からは、スイッチ３００ａのＶＳ＃２が取り除かれる（ステップ１３６０）。
【０３１０】
図４３は、第３の実施形態のホスト−仮想スイッチ管理表５６０ｈを示す説明図である。
【０３１１】
図４４は、第３の実施形態のスイッチ電源状態管理表５３０ｈを示す説明図である。
【０３１２】
ステップ１３６０の更新によって、スイッチ電源状態管理表５３０ｈのマルチルートスイッチ３００ａに対応するＶＳ＃２の電源状態５３３は、“Ｏｎ”から“−”（なし）へ更新される。ＰＣＩマネージャー２５０は、電源状態５３２が“Ｏｎ”であり、集計結果５３４が“Ｏｆｆ”であるマルチルートスイッチ３００が存在するか否かを判定する（ステップ１３７０）。
【０３１３】
電源状態５３２が“Ｏｎ”であり、集計結果５３４が“Ｏｆｆ”であるマルチルートスイッチ３００が存在する場合、マルチルートスイッチ３００ａの電源を遮断できるため、ＰＣＩマネージャー２５０は、マルチルートスイッチ３００ａの電源を遮断する（ステップ１３８０）。
【０３１４】
前述の通り、ホスト１００の電源の遮断だけでなく、起動済みのホスト１００に割り当てられたスロット３２０の動的な取り外しを契機に、マルチルートスイッチ３００の電源を遮断できる。
【０３１５】
従って、本実施形態によれば、ホスト１００の起動時又は起動中に、未割り当てスロット３２０のみからなるマルチルートスイッチ３００内に仮想スイッチ４３０を用意する必要がなく、ホスト１００の起動後、スロット３２０が割り当てられた後に、動的に仮想スイッチ４３０の構成を変更することが可能となる。このため、本実施形態によれば、マルチルートスイッチ３００内に保持すべき仮想スイッチ４３０用のリソース量は削減される。
【０３１６】
図４５Ａ及び図４５Ｂは、従来技術と本実施形態とのリソース量の比較を示す概念図である。
【０３１７】
図４５Ａは、従来技術のリソース数を示す説明図である。
【０３１８】
図４５Ａに示す従来技術は、未割り当てスロット３２０に対しても、（上流ポート３１０の数）×（スロット３２０の数）個の下流ブリッジ４４０のリソース、及び下流ブリッジ４４０に対応するＨｏｔ−Ｐｌｕｇコントローラ１７０を用意する必要がある。図４５Ａにおいて下流ブリッジ４４０のリソース数は、上流ポート３１０が８個であり、スロット３２０が８個であるため、８×８の計算によって、合計６４個分と算出される。
【０３１９】
また、従来技術を用いてマルチルートスイッチ３００を多段に組み合わせた場合、上流ポート３１０を複数のホスト１００によって共有することになるため、必要な下流ブリッジ４４０のリソース量はさらに増える。上流ポートが８個であり、下流ポートが８個であるマルチルートスイッチ３００を２段組み合わせた場合、２段目のマルチルートスイッチ３００の下流ポート３２０には、８（個）×８（個）×８（個）の計算によって合計５１２個もの下流ブリッジ４４０のリソースを用意する必要がある。
【０３２０】
図４５Ｂは、本実施形態のリソース数を示す説明図である。
【０３２１】
図４５Ｂは本実施形態のリソース配置を示している。本実施形態によれば、スロット３２０が割り当てられていないホスト１００に対しては、マルチルートスイッチ３００を認識させないことによって、下流ブリッジ４４０のリソースを用意する必要がなくなり、ＬＳＩに用意するリソース量を抑えることができる。
【０３２２】
また、起動中のホスト１００に対してスロット３２０が未割り当てであるマルチルートスイッチ３００の電源を、スロット３２０がホスト１００に割り当てられてから投入でき、これによってマルチルートスイッチ３００の消費電力を抑えることができる。
【０３２３】
なお、上記各実施形態では、サービスプロセッサ２２０とｌＰＣＩマネージャー２５０とを異なる計算機で構成した例を示したが、一つの計算機に統合してもよい。すなわち、ホスト１００の電源または起動状態を制御する電源制御部と、マルチルートスイッチ３００を管理するスイッチ管理部と、Ｉ／Ｏデバイス４２０のＨｏｔ−Ｐｌｕｇに関する制御信号をホスト１００に通知するルートポートＨｏｔ−Ｐｌｕｇ制御部５４０と、を一つの計算機において実行させるようにしてもよい。
【図面の簡単な説明】
【０３２４】
【図１】第１及び第２の実施形態の、計算機システムの構成を示すブロック図である。
【図２】第１の実施形態のＰＣＩマネージャーの機能要素を示すブロック図である。
【図３Ａ】第１及び第２の実施形態の初期状態におけるホスト−スロット割り当て表を示す説明図である。
【図３Ｂ】第１及び第２の実施形態の初期状態におけるホスト−スロット割り当て表を示す説明図である。
【図４Ａ】第１及び第２の実施形態のホストとスロットとの割り当てを設定するＧＵＩ画面を示す説明図である。
【図４Ｂ】第１及び第２の実施形態のホストとスロットとの割り当てを設定するＧＵＩ画面を示す説明図である。
【図５】第１の実施形態のスイッチポート管理表を示す説明図である。
【図６】第１の実施形態の仮想スイッチ及び仮想ブリッジの構成を示すブロック図である。
【図７】第１の実施形態の仮想スイッチ管理表及び仮想ブリッジ管理表を示す説明図である。
【図８】第１の実施形態のホスト−仮想スイッチ管理表を示す説明図である。
【図９】第１の実施形態のリンクアップ抑止制御判定表を示す説明図である。
【図１０】第１の実施形態のスイッチポート制御レジスタを示す説明図である。
【図１１】第１の実施形態のリンク方向の値を示す説明図である。
【図１２】第１の実施形態のルートポートＨｏｔ−Ｐｌｕｇ状態管理表を示す説明図である。
【図１３】第１の実施形態のホストが起動する際のリンクアップ抑止を示すフローチャートである。
【図１４】第１の実施形態のＨｏｔ−Ｐｌｕｇに対応したＰＣＩｅｘｐｒｅｓｓスロットを示す説明図である。
【図１５】第１の実施形態のスロットにＩ／Ｏデバイスを追加した後のスイッチポート管理表を示す説明図である。
【図１６】第１の実施形態のホストと未割り当てスロットとの割り当てを設定するＧＵＩ画面を示す説明図である。
【図１７Ａ】第１の実施形態のホスト−スロット割り当て表を示す説明図である。
【図１７Ｂ】第１の実施形態のホスト−スロット割り当て表を示す説明図である。
【図１８】第１の実施形態の生成された新たな仮想スイッチを示す説明図である。
【図１９】第１の実施形態のホストにスロットを割り当てた後の、仮想スイッチ管理表及び仮想ブリッジ管理表を示す説明図である。
【図２０】第１の実施形態のホストにスロットを割り当てた後の、ホスト−仮想スイッチ管理表を示す説明図である。
【図２１】第１の実施形態のホストにスロットを割り当てた後の、リンクアップ抑止制御判定表を示す説明図である。
【図２２】第１の実施形態のホストにスロットを割り当てた後の、スイッチポート制御レジスタを示す説明図である。
【図２３】第１の実施形態のＨｏｔ−Ｐｌｕｇコントローラ及びＨｏｔ−Ｐｌｕｇ制御信号を示すブロック図である。
【図２４】第１の実施形態のルートポートへＨｏｔ−Ａｄｄを通知する処理を示すフローチャートである。
【図２５】第１の実施形態のルートポートＨｏｔ−Ｐｌｕｇ制御部を示す説明図である。
【図２６】第１の実施形態のＨｏｔ−Ｒｅｍｏｖｅ処理を示すフローチャートである。
【図２７】第２の実施形態のスイッチ電源状態管理表を示す説明図である。
【図２８】第２の実施形態のホストの電源が投入されたことを契機として、マルチルートスイッチの電源を投入する処理手順を示すフローチャートである。
【図２９】第２の実施形態のホスト−仮想スイッチ管理表を示す説明図である。
【図３０】第２の実施形態のスイッチ電源状態管理表を示す説明図である。
【図３１】第２の実施形態のホスト−仮想スイッチ管理表を示す説明図である。
【図３２】第２の実施形態のスイッチ電源状態管理表を示す説明図である。
【図３３】第２の実施形態のホストの電源の遮断を契機とした、マルチルートスイッチの電源を遮断する処理を示すフローチャートである。
【図３４】第２の実施形態のホスト−仮想スイッチ管理表を示す説明図である。
【図３５】第２の実施形態のスイッチ電源状態管理表を示す説明図である。
【図３６】第２の実施形態のホスト−仮想スイッチ管理表を示す説明図である。
【図３７】第２の実施形態のスイッチ電源状態管理表を示す説明図である。
【図３８】第３の実施形態の未割り当てスロットのホストへの割り当てを契機としてマルチルートスイッチの電源を投入する処理手順を示すフローチャートである。
【図３９】第３の実施形態のホスト−仮想スイッチ管理表を示す説明図である。
【図４０】第３の実施形態のスイッチ電源状態管理表を示す説明図である。
【図４１】第３の実施形態のホストに割り当てられていたスロットの取り外しによって、マルチルートスイッチの電源を遮断する処理を示すフローチャートである。
【図４２】第３の実施形態のホストから既割り当てスロットを取り外す設定をするＧＵＩ画面を示す説明図である。
【図４３】第３の実施形態のホスト−仮想スイッチ管理表を示す説明図である。
【図４４】第３の実施形態のスイッチ電源状態管理表を示す説明図である。
【図４５Ａ】従来技術のリソース数を示す説明図である。
【図４５Ｂ】本実施形態のリソース数を示す説明図である。
【図４６】第１の実施形態のＰＣＩマネージャーの構成を示すブロック図である。
【符号の説明】
【０３２５】
１００    ホスト
１０５    ホスト管理ポート
１１０    ＣＰＵ
１１５    ＣＰＵ接続バス
１２０    メモリコントローラ
１３０    メモリ
１５０    Ｉ／Ｏハブ
１６０    ルートポート
１７０    Ｈｏｔ−Ｐｌｕｇコントローラ
１８０    Ｈｏｔ−Ｐｌｕｇ制御信号
１９０    Ｈｏｔ−Ｐｌｕｇ信号制御部
１９５    ホスト電源制御部
２００    ＢＩＯＳ
２１０    ＯＳ
２２０    サービスプロセッサ
２３０    ホスト管理パス
２４０    管理コンソール
２５０    ＰＣＩマネージャー
２５５    ＰＣＩＭ管理パス
３００    マルチルートスイッチ
３１０    上流ポート
３２０    下流ポート
３３０    スイッチ管理ポート
３３５    スイッチ管理パス
３４０    物理Ｈｏｔ−Ｐｌｕｇコントローラ
３５０    仮想Ｈｏｔ−Ｐｌｕｇコントローラ
３６０    ルーティング制御部
３７０    リンクアップ抑止制御部
３８０    スイッチ電源制御部
３９０    仮想スイッチ生成機構
４００    ＰＣＩｅリンク
４１０    ＰＣＩｅリンク
４２０    Ｉ／Ｏデバイス
４３０    仮想スイッチ
４４０    仮想ブリッジ
５００    ホスト−スロット割り当て表
５２０    仮想スイッチ管理表
５３０    スイッチ電源状態管理表
５４０    ルートポートＨｏｔ−Ｐｌｕｇ制御部
５５０    リンクアップ抑止制御判定部
５６０    ホスト−仮想スイッチ管理表
５７０    スイッチポート管理表
５８０    仮想ブリッジ管理表
５９０    リンクアップ抑止制御判定表
６００    スイッチポート制御レジスタ
６１０    ルートポートＨｏｔ−Ｐｌｕｇ状態管理表
【図２】
2010191814.tif 000003
【図３Ａ】
2010191814.tif 000004
【図３Ｂ】
2010191814.tif 000005
【図５】
2010191814.tif 000006
【図７】
2010191814.tif 000007
【図８】
2010191814.tif 000008
【図９】
2010191814.tif 000009
【図１０】
2010191814.tif 000010
【図１１】
2010191814.tif 000011
【図１２】
2010191814.tif 000012
【図１３】
2010191814.tif 000013
【図１５】
2010191814.tif 000014
【図１７Ａ】
2010191814.tif 000015
【図１７Ｂ】
2010191814.tif 000016
【図１９】
2010191814.tif 000017
【図２０】
2010191814.tif 000018
【図２１】
2010191814.tif 000019
【図２２】
2010191814.tif 000020
【図２４】
2010191814.tif 000021
【図２５】
2010191814.tif 000022
【図２６】
2010191814.tif 000023
【図２７】
2010191814.tif 000024
【図２８】
2010191814.tif 000025
【図２９】
2010191814.tif 000026
【図３０】
2010191814.tif 000027
【図３１】
2010191814.tif 000028
【図３２】
2010191814.tif 000029
【図３３】
2010191814.tif 000030
【図３４】
2010191814.tif 000031
【図３５】
2010191814.tif 000032
【図３６】
2010191814.tif 000033
【図３７】
2010191814.tif 000034
【図３８】
2010191814.tif 000035
【図３９】
2010191814.tif 000036
【図４０】
2010191814.tif 000037
【図４１】
2010191814.tif 000038
【図４３】
2010191814.tif 000039
【図４４】
2010191814.tif 000040
【図４６】
2010191814.tif 000041
【図１】
2010191814.tif 000042
【図４Ａ】
2010191814.tif 000043
【図４Ｂ】
2010191814.tif 000044
【図６】
2010191814.tif 000045
【図１４】
2010191814.tif 000046
【図１６】
2010191814.tif 000047
【図１８】
2010191814.tif 000048
【図２３】
2010191814.tif 000049
【図４２】
2010191814.tif 000050
【図４５Ａ】
2010191814.tif 000051
【図４５Ｂ】
2010191814.tif 000052