(57)【要約】  Ｉ／Ｏの仮想化を容易に実現するシステム及び関連装置を提供する。  ＰＣの内部スロット（例えばＰＣＩ−Ｅｘｐｒｅｓｓの内部スロット）のスイッチを備え、他のＰＣの内部スロット同士を接続しうるＨＵＢ装置を構成する。このＨＵＢ装置を中心として１個以上のＰＣを接続したコンピュータシステムによれば、各ＰＣから他のＰＣのＩ／Ｏデバイスが、内部スロットのスイッチを介して互いに「見える」状態となる。従って、まず、互いのＩ／Ｏデバイスを含めたデバイスリストを作成し、次に、ＯＳがそのデバイスリストを使用する。この結果、Ｉ／Ｏの仮想化を容易に実現することができる。
2015033384.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートを備えたＨＵＢ装置と、
前記ポートに接続された少なくとも１台以上のコンピュータと、
を備え、Ｉ／Ｏの仮想化を行えるコンピュータシステムにおいて、
前記コンピュータは、
そのコンピュータ内部の内部スロットに接続し、前記内部スロットと、前記ポートと、を接続する専用ＮＩＣ装置、
を備え、
前記ＨＵＢ装置は、
前記内部スロットの信号と同一の信号をスイッチするスイッチ手段を備え、
前記スイッチ手段は、前記ポートを介して、前記内部スロットの信号と同一の信号を入出力することを特徴とするコンピュータシステム。
【請求項２】
請求項１記載のコンピュータシステムにおいて、
前記内部スロットは、ＰＣＩ−Ｅｘｐｒｅｓｓであることを特徴とするコンピュータシステム。
【請求項３】
請求項１記載のコンピュータシステムにおいて、
前記コンピュータは、
自己以外の他のコンピュータに備えられたＩ／Ｏデバイスの情報を保持する記憶手段、
を備え、
前記コンピュータは、前記Ｉ／Ｏデバイスの情報を利用し、前記ＨＵＢ装置を介して、前記自己以外の他のコンピュータに備えられたＩ／Ｏデバイスに対してアクセス可能であることを特徴とするコンピュータシステム。
【請求項４】
請求項３記載のコンピュータシステムにおいて、
前記Ｉ／Ｏデバイスの情報には、前記自己以外の他のコンピュータに備えられたＩ／Ｏデバイスの少なくともアドレス情報が含まれることを特徴とするコンピュータシステム。
【請求項５】
請求項１記載のコンピュータシステムにおいて、
前記専用ＮＩＣ装置は、
第１の内部スロットコネクタと、
第２の内部スロットコネクタと、
前記第１の内部スロットコネクタ及び第２の内部スロットコネクタと接続するスイッチ手段と、
を含み、前記スイッチ手段は、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力し、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力しすることを特徴とするコンピュータシステム。
【請求項６】
請求項５記載のコンピュータシステムにおいて、前記スイッチ手段には、
前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力する際に、前記信号のデータを保存する送信用ＦＩＦＯと、
前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力する際に、前記信号を保存する受信用ＦＩＦＯと、
が接続されていることを特徴とするコンピュータシステム。
【請求項７】
請求項１記載のコンピュータシステムにおいて、
前記内部スロットはＰＣＩ−Ｅｘｐｒｅｓｓであり、
前記スイッチ手段は、いずれかの前記ポートから入力したＴＬＰから、所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするコンピュータシステム。
【請求項８】
請求項１記載のコンピュータシステムの運用方法において、
前記１台以上のコンピュータのＢＩＯＳを起動して、第１のデバイスリストを作成する第１ステップと、
前記ＨＵＢ装置のＢＩＯＳを起動して、第２のデバイスリストを作成する第２ステップと、
前記第１のデバイスリストと、前記第２のデバイスリストとを結合して第３のデバイスリストを作成する第３ステップと、
前記第３のデバイスリストをＯＳが利用する第３ステップと、
を含むことを特徴とするコンピュータシステムの運用方法。
【請求項９】
請求項１記載のコンピュータシステムの運用方法において、
前記内部スロットは、ＰＣＩ−Ｅｘｐｒｅｓｓであり、
前記ＨＵＢ装置中の前記スイッチ手段は、ＴＬＰから所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするコンピュータシステムの運用方法。
【請求項１０】
請求項３又は４記載のコンピュータシステムにおいて、
前記Ｉ／Ｏデバイスの情報とは、ＢＩＯＳが作成したデバイスリストであることを特徴とするコンピュータシステム。
【請求項１１】
請求項１記載のコンピュータシステムに用いられる前記専用ＮＩＣ装置であって、
前記内部スロットの信号と同一の信号をスイッチするスイッチ手段を備え、
前記スイッチ手段は、前記ポートを介して、前記内部スロットの信号と同一の信号を入出力することを特徴とする専用ＮＩＣ装置。
【請求項１２】
請求項１１記載の専用ＮＩＣ装置において、
第１の内部スロットコネクタと、
第２の内部スロットコネクタと、
前記第１の内部スロットコネクタ及び第２の内部スロットコネクタと接続するスイッチ手段と、
を含み、前記スイッチ手段は、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力し、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力しすることを特徴とする専用ＮＩＣ装置。
【請求項１３】
請求項１２記載の専用ＮＩＣ装置において、前記スイッチ手段には、
前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力する際に、前記信号のデータを保存する送信用ＦＩＦＯと、
前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力する際に、前記信号を保存する受信用ＦＩＦＯと、
が接続されていることを特徴とする専用ＮＩＣ装置。
【請求項１４】
請求項１記載のコンピュータシステムに用いられるＨＵＢ装置において、
前記内部スロットはＰＣＩ−Ｅｘｐｒｅｓｓであり、
前記スイッチ手段は、いずれかの前記ポートから入力したＴＬＰから、所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするＨＵＢ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータのＩ／Ｏデバイス（入出力装置）の仮想化技術に関する。
【背景技術】
【０００２】
今日、広く用いられているサーバーシステムにおいては、広く仮想化が行われている。すなわち、いわゆるサーバの仮想化である。このサーバの仮想化は、サーバ側の物理リソースの利用効率を向上させることが可能となっている。【０００３】
しかしながら、サーバ側（ＣＰＵ側）の利用効率が向上した結果、Ｉ／Ｏ（入出力装置）側の負担が増大し、より一層の複雑化を招いているという問題が提示されている。【０００４】
例えば、ユーザーの要求によって、任意の仮想サーバを任意のネットワークに接続する必要が生じる場合がある。この場合、セキュリティ上の観点から個別の物理的なＩ／Ｏを設けることも多く、Ｉ／Ｏの増大を招いている。【０００５】
また、例えば、仮想サーバの格納のため、ストレージの共有化が必要であるが、この結果、イーサネット（登録商標）やユーザの要求に応じてファイバーチャネル等も設ける必要があり、一層、多様な物理的なＩ／Ｏを増やす必要があり、システムが複雑化しがちである。【０００６】
また、例えば、仮想環境を管理するために専用のＩ／Ｏを必要とする場合もある。【０００７】
また、例えば、サーバの仮想化によってサーバの利用効率が向上した結果、Ｉ／Ｏが消費する帯域が増えてしまい、その結果、Ｉ／Ｏバスの帯域幅が今日のコンピュータシステムのボトルネックとなる場合も見受けられる。【０００８】
改良された従来の技術
このようなＩ／Ｏの問題を解消するため、種々の技術が開発されている。【０００９】
第１の改良された従来技術は、ストレージの共有化・仮想化に関する技術が挙げられよう。ストレージを共有化、仮想化することによって、ストレージの稼働率を向上させようとするものである。【００１０】
このような技術としては、後述する特許文献１等が挙げられる。【００１１】
第２の改良された従来の技術は、Ｉ／Ｏアダプタを複数のコンピュータから共有する手法（特許文献２、３等）や、仮想アドレスを用いたＤＭＡを行う手法（特許文献４）である。【００１２】
また、第３の改良された従来技術として、ネットワークの仮想化等が知られている。【００１３】
しかしながら、これらの手法では、ストレージやＵＳＢ等の部分的な効率向上にとどまり、Ｉ／Ｏ全体の問題を解決することは困難な場合もあった。【００１４】
先行技術文献
下記特許文献１には、ストレージを仮想化機能によって分割することによって、ストレージの共有化を行う技術が開示されている。【００１５】
下記特許文献２には、ＵＳＢアダプタの仮想化を行う技術が開示されている。【００１６】
下記特許文献３には、複数のロジカルパーティションが、一つの入出力アダプタを共用する技術が開示されている。【００１７】
下記特許文献４には、ＤＭＡを受け付けるＩ／Ｏ−ＨＵＢが開示されている。このＨＵＢは、要求されたＤＭＡの仮想アドレスを物理アドレスに変換するか否かを判断する機能を備えている。  
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２０１３−００３６９１号公報
【特許文献２】特開２０１１−１４６０４４号公報
【特許文献３】特開２００９−１５１７６７号公報
【特許文献４】特開２００９−０３７６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
本願発明者は、上述した背景の下、Ｉ／Ｏの問題を抜本的に解決するためには、「Ｉ／Ｏの仮想化」を実現することが好ましいと考えた。本願発明は、このような背景に基づきなされたものであり、「Ｉ／Ｏの仮想化」を容易に実現する装置・方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
一方、本願発明者は、ＰＣＩ−Ｅｘｐｒｅｓｓを用いたネットワークを開発し、別途特許出願を行っている。このＰＣＩ−Ｅｘｐｒｅｓｓを用いたネットワークにおいては、ＰＣＩ−ＥｘｐｒｅｓｓのためのＨＵＢ装置も開発し、そのＨＵＢを介して、複数のＰＣがネットワークを構成しうるものである。このＨＵＢ装置に関しては、すでに特許登録を受けている（特許第５０６９０７９号）。【００２１】
このようなＰＣＩ−ＥｘｐｒｅｓｓのＨＵＢを介したネットワークは、ＰＣＩ−Ｅｘｐｒｅｓｓの上にネットワークプロトコルを流すことによって、ネットワークを実現している。したがって、一方のＰＣのＰＣＩ−Ｅｘｐｒｅｓｓ内部スロット（拡張スロット）が、他のＰＣからもそのままＰＣＩ−Ｅｘｐｒｅｓｓを介して見ることができる構成となっているので、容易にＩ／Ｏの仮想化を行えると本願発明者は考えたものである。【００２２】
後述する実施の形態でも説明するようにＨＵＢ装置は、基本的にはＰＣの内部スロットのインターフェースを利用してネットワーク接続を行おうとした装置である。しかし、特にネットワーク接続（例えばＥｔｈｅｒｎｅｔ（登録商標））を行わずに、Ｉ／Ｏの仮想化のためにのみ、ＨＵＢ装置を利用することも好適である。【００２３】
この場合は、「ＨＵＢ装置」という名称より、「Ｉ／Ｏ仮想化ボックス」「Ｉ／Ｏ仮想化装置」等と呼ぶ方が妥当かもしれない。【００２４】
具体的には、本願発明は、下記のような構成を採用する。【００２５】
（１）本発明は、上記課題を鑑みてなされたものであり、複数のポートを備えたＨＵＢ装置と、前記ポートに接続された少なくとも１台以上のコンピュータと、を備え、Ｉ／Ｏの仮想化を行えるコンピュータシステムにおいて、前記コンピュータは、そのコンピュータ内部の内部スロットに接続し、前記内部スロットと、前記ポートと、を接続する専用ＮＩＣ装置、を備え、前記ＨＵＢ装置は、前記内部スロットの信号と同一の信号をスイッチするスイッチ手段を備え、前記スイッチ手段は、前記ポートを介して、前記内部スロットの信号と同一の信号を入出力することを特徴とするコンピュータシステムである。【００２６】
（２）また、本発明は、上記（１）記載のコンピュータシステムにおいて、前記内部スロットは、ＰＣＩ−Ｅｘｐｒｅｓｓであることを特徴とするコンピュータシステムである。【００２７】
（３）また、本発明は、上記（１）記載のコンピュータシステムにおいて、前記コンピュータは、自己以外の他のコンピュータに備えられたＩ／Ｏデバイスの情報を保持する記憶手段、を備え、前記コンピュータは、前記Ｉ／Ｏデバイスの情報を利用し、前記ＨＵＢ装置を介して、前記自己以外の他のコンピュータに備えられたＩ／Ｏデバイスに対してアクセス可能であることを特徴とするコンピュータシステムである。【００２８】
（４）また、本発明は、上記（３）記載のコンピュータシステムにおいて、前記Ｉ／Ｏデバイスの情報には、前記自己以外の他のコンピュータに備えられたＩ／Ｏデバイスの少なくともアドレス情報が含まれることを特徴とするコンピュータシステムである。【００２９】
（５）また、本発明は、上記（１）記載のコンピュータシステムにおいて、前記専用ＮＩＣ装置は、第１の内部スロットコネクタと、第２の内部スロットコネクタと、前記第１の内部スロットコネクタ及び第２の内部スロットコネクタと接続するスイッチ手段と、を含み、前記スイッチ手段は、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力し、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力しすることを特徴とするコンピュータシステムである。【００３０】
（６）また、本発明は、上記（５）記載のコンピュータシステムにおいて、前記スイッチ手段には、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力する際に、前記信号のデータを保存する送信用ＦＩＦＯと、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力する際に、前記信号を保存する受信用ＦＩＦＯと、が接続されていることを特徴とするコンピュータシステム。【００３１】
（７）また、本発明は、上記（１）記載のコンピュータシステムにおいて、前記内部スロットはＰＣＩ−Ｅｘｐｒｅｓｓであり、前記スイッチ手段は、いずれかの前記ポートから入力したＴＬＰから所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするコンピュータシステムである。【００３２】
（８）また、本発明は、上記（１）記載のコンピュータシステムの運用方法において、前記１台以上のコンピュータのＢＩＯＳを起動して、第１のデバイスリストを作成する第１ステップと、前記ＨＵＢ装置のＢＩＯＳを起動して、第２のデバイスリストを作成する第２ステップと、前記第１のデバイスリストと、前記第２のデバイスリストとを結合して第３のデバイスリストを作成する第３ステップと、前記第３のデバイスリストをＯＳが利用する第３ステップと、を含むことを特徴とするコンピュータシステムの運用方法である。【００３３】
（９）また、本発明は、上記（１）記載のコンピュータシステムの運用方法において、前記内部スロットは、ＰＣＩ−Ｅｘｐｒｅｓｓであり、前記ＨＵＢ装置中の前記スイッチ手段は、ＴＬＰから所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするコンピュータシステムの運用方法である。【００３４】
（１０）また、本発明は、上記（３）又は（４）記載のコンピュータシステムにおいて、前記Ｉ／Ｏデバイスの情報とは、ＢＩＯＳが作成したデバイスリストであることを特徴とするコンピュータシステムである。【００３５】
（１１）また、本発明は、上記課題を解決するために、上記（１）記載のコンピュータシステムに用いられる前記専用ＮＩＣ装置であって、前記内部スロットの信号と同一の信号をスイッチするスイッチ手段を備え、前記スイッチ手段は、前記ポートを介して、前記内部スロットの信号と同一の信号を入出力することを特徴とする専用ＮＩＣ装置である。【００３６】
（１２）また、本発明は、上記（１１）記載の専用ＮＩＣ装置において、第１の内部スロットコネクタと、第２の内部スロットコネクタと、前記第１の内部スロットコネクタ及び第２の内部スロットコネクタと接続するスイッチ手段と、を含み、前記スイッチ手段は、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力し、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力することを特徴とする専用ＮＩＣ装置である。【００３７】
（１３）また、本発明は、上記（１２）記載の専用ＮＩＣ装置において、前記スイッチ手段には、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力する際に、前記信号のデータを保存する送信用ＦＩＦＯと、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力する際に、前記信号を保存する受信用ＦＩＦＯと、が接続されていることを特徴とする専用ＮＩＣ装置である。【００３８】
（１４）また、本発明は、上記（１）記載のコンピュータシステムに用いられるＨＵＢ装置において、前記内部スロットはＰＣＩ−Ｅｘｐｒｅｓｓであり、前記スイッチ手段は、いずれかの前記ポートから入力したＴＬＰから所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするＨＵＢ装置である。
【発明の効果】
【００３９】
以上述べたように、本発明によれば、スイッチ手段を備え、このスイッチを介して他のＰＣと接続しうるＨＵＢ装置を用いたので、他のＰＣに備えられたＩ／Ｏデバイスを含めたＩ／Ｏデバイスの情報を構築することが可能である。典型的には、そのような内容のデバイスリストを構築することが可能である。その結果、他のＰＣのＩ／Ｏデバイスをあたかも自分のＰＣに備えられたＩ／Ｏデバイスとして扱うことが可能となるので、いわゆるＩ／Ｏの仮想化を実現することができる。【００４０】
また、このＩ／Ｏデバイスに関する情報を、他のコンピュータに提供したので、他のコンピュータでも、互いに他のＰＣに備えられたＩ／Ｏデバイスを自分のコンピュータに備えられたＩ／Ｏデバイスとして認識することができるので、接続された２個以上のコンピュータ間でＩ／Ｏデバイスの仮想化を実現することができる。
【図面の簡単な説明】
【００４１】
【図１】ＴＬＰのフォーマットの概要を示す説明図である。
【図２】ＥｔｈｅｒＮｅｔフレームの概要を示す説明図である。
【図３】ＨＵＢ装置の構成ブロック図である。
【図４】ＰＣＩ−Ｅｘｐｒｅｓｓを用いた一般的な構成の例を示す説明図である。
【図５】ＰＣＩ−Ｅｘｐｒｅｓｓを用いたコンピュータを接続した場合の構成図である。
【図６】専用ＮＩＣ装置の構成ブロック図である。
【図７】Ｉ／Ｏの仮想化を行う場合のシステムの起動の流れを表すフローチャートである。
【発明を実施するための形態】
【００４２】
以下、本発明の好ましい形態を図面に基づいて説明する。
【００４３】
本実施の形態では、ＰＣの内部スロットインターフェースを利用してネットワークを構成するシステムにおいて、この仕組みを利用すれば、Ｉ／Ｏの仮想化を容易に実現できることを説明する。
【００４４】
以下、第１〜第３においては、ＰＣＩ−Ｅｘｐｒｅｓｓを用いてネットワークを構成する手法を説明し、第４ではその手法・仕組みに用いられるＨＵＢ装置の説明を行う。
【００４５】
そして、第５では、ＰＣＩ−Ｅｘｐｒｅｓｓを用いたコンピュータの構成を説明する。
【００４６】
そして、第６では、ＨＵＢ装置を用いてネットワークを構成した場合の構造を説明する。第７では、この構造によって、Ｉ／Ｏの仮想化が実現できる運用手法を説明する。第８はまとめである。
【００４７】
〜目次〜
第１．ＰＣＩ−ＥｘｐｒｅｓｓのＴＬＰについて
第２．Ｅｔｈｅｒｎｅｔフレームについて
第３．ＰＣＩ−Ｅｘｐｒｅｓｓ上にＥｔｈｅｒＮｅｔフレームを載せる方法
第４．ＨＵＢの構成
第５．ＰＣＩ−Ｅｘｐｒｅｓｓを用いたコンピュータの構成
第６．ＨＵＢ装置を用いてネットワークを構成した場合の構造
第７．Ｉ／Ｏの仮想化の実現
第８  まとめ・変形例
第１  ＰＣＩ−ＥｘｐｒｅｓｓのＴＬＰについて
送信側
ＰＣＩ−Ｅｘｐｒｅｓｓにおいては、送信側において、ソフトウェアレイヤからの要求に応じて、ＴＬＰ（Transaction Layer Packet）がトランザクションレイヤーにおいて生成される。
【００４８】
Transaction Layer Packet（TLP）のフォーマットの概要が図１に示されている。図１に示すように、ＴＬＰ本体１００は、ＴＬＰヘッダ１０２と、データ部１０４と、から構成される。これらに加えてＥＣＲＣ等が付加される場合もあるが、本文では省略する。ＴＬＰヘッダ１０２は、単にヘッダ１０２と呼ぶ場合もある。
【００４９】
データ部１０４は、「ペイロード」と称する場合も多い。データ部は、一般に２５６ｋバイトが広く用いられている。規格上は、データ部は４ｋバイト（４０９６バイト）まで広げることができるが、それをサポートしたデバイスはほとんど知られていない。一般的にはデータ部は２５６バイトの場合が多い。
【００５０】
トランザクションレイヤーにおけるこのＴＬＰ本体１００は、送信側においては、データリンク層に渡される。データリンクレイヤーにおいては、シーケンスナンバー１０６と、ＬＣＲＣ１０８とが付加される。これによって、データリンク層パケット１１０が形成される（図１参照）。このデータリンク層パケット１１０は、データリンクレイヤーから、物理層に渡される。
【００５１】
さらに、このデータリンク層パケット１１０は、物理層において、スタートフレーム１１４と、エンドフレーム１１６と、が付加されて、物理層パケット１０８が構成される。
【００５２】
受信側
受信側においては、物理層においては、スタートフレーム１１４、エンドフレーム１１６を除いたデータリンク層パケット１１０が生成されて、データリンク層に送られる。物理層から、上記送られてきたデータ（データリンク層パケット１１０）を受け取ったデータリンクレイヤーは、シーケンスナンバー１０６とＬＣＲＣ１０８の確認を行うとともに、これらを除いたＴＬＰ本体１００を、トランザクションレイヤーに渡す。
【００５３】
また、受信側のトランザクションレイヤーは、データリンクレイヤーから受け取ったデータ（ＴＬＰ本体１００）を解析して、コマンドタイプに応じてデータを抽出し、ソフトウェアレイヤに渡すのである。
【００５４】
なお、ＴＬＰヘッダ１０２内にコマンドタイプやドレス等が格納されている。
【００５５】
第２  ＥｔｈｅｒＮｅｔフレーム
図２は、ＥｔｈｅｒＮｅｔフレーム２００の一例の概要を示す説明図である。この図に示す例によれば、ＥｔｈｅｒＮｅｔ（登録商標）においては、宛先アドレス２０２と、送信元アドレス２０４と、が含まれており、これらはいわゆるＭＡＣアドレス（その機器固有の物理アドレス４８ビット）である。これらアドレスと、タイプ２０６と、を合わせて  イーサネットヘッダ部（１４ビット）が構成される。なお、タイプ２０６フィールドは、ＶＬＡＮとして用いられることも多い。
【００５６】
イーサネットフレーム２００は、さらに、データ部（４６〜１５００バイト）２０８と、ＣＲＣ２１０と、から構成されている。しかし、イーサネットフレーム２００としては、構成の種類によっては８０００バイト程度までの大きなフレームが用いられることも近年は多い。
【００５７】
第３  ＰＣＩ−Ｅｘｐｒｅｓｓに、ＥｔｈｅｒＮｅｔフレームを載せる。
【００５８】
本実施の形態において特徴的なことは、図１のＰＣＩ−Ｅｘｐｒｅｓｓのデータ部１０４中に、図２で示したイーサネットフレームを格納したことである。このような特徴によって、ＰＣＩ−Ｅｘｐｒｅｓｓの上で、ＥｔｈｅｒＮｅｔ（登録商標）の通信を行うことができたものである。
【００５９】
さらに、本実施の形態において特徴的なことの一つは、ＥｔｈｅｒＮｅｔ（登録商標）のフレームが大きな場合、これを分割して、複数のＰＣＩ−Ｅｘｐｒｅｓｓに格納したことである。これによって、ジャンボフレーム等の大きなサイズのＥｔｈｅｒＮｅｔ（登録商標）のフレームでも、ＰＣＩ−Ｅｘｐｒｅｓｓフレーム中に格納することができる。
【００６０】
第４  ＨＵＢ装置の構成
上述したように、本願発明者は、ＰＣＩ−Ｅｘｐｒｅｓｓを用いたネットワークを開発している。そして、このＰＣＩ−Ｅｘｐｒｅｓｓを用いたネットワークにおいては、ＰＣＩ−ＥｘｐｒｅｓｓのためのＨＵＢ装置を用いており、すでに特許登録を受けている（特許第５０６９０７９号）。
【００６１】
本実施の形態でも同様のＨＵＢ装置を利用している。このＨＵＢ装置３００の構成ブロック図が図３に示されている。
【００６２】
図３に示すように、ＨＵＢ装置３００は、５つのポート３２０ａ、３２０ｂ、３２０ｃ、３２０ｄ、３２０ｅを備えている。これらのポート３２０ａ〜３２０ｅは、ＰＣＩ−Ｅｘｐｒｅｓｓのポートである。
【００６３】
特許５０６９０７９号でも述べているが、このＰＣＩ−Ｅｘｐｒｅｓｓのポート３２０ａ〜３２０ｅはネットワークのポートとして利用可能に構成されている。端的に言えば、図３のＨＵＢ装置１０は、これらのポート３２０ａ〜３２０ｅ間をスイッチングし、各ポート３２０間の高速な通信を実現する。
【００６４】
なお、ＨＵＢ装置３００の種々の動作に関する設定は、ホストコンピュータをこのＨＵＢ装置３００に接続することによって予め行うことができる。なお、このホストコンピュータとは、ＨＵＢ装置１０の動作を管理するアプリケーションソフトを備えたコンピュータである。
【００６５】
※ポートその他の記法について
ＰＣＩ−Ｅｘｐｒｅｓｓは、コンピュータの内部バスとして知られている。また、コンピュータによっては、そのコンピュータの内部に、内部バスの接続口が１個以上、複数個設けられている場合もある。一般にその接続口を「内部スロット」と呼ぶこともある。また、ＰＣＩ−Ｅｘｐｒｅｓｓの場合、その内部スロットの信号を外部に引き出した場合、これを特に「ポート」と呼ぶ場合がある。
【００６６】
本実施の形態における「ポート」も信号的には、ＰＣＩ−Ｅｘｐｒｅｓｓの内部スロットの同様のものであり、「スイッチ」における各接続口を、ここでは「ポート」と呼んでいる。
【００６７】
第５  ＰＣＩ−Ｅｘｐｒｅｓｓを用いたコンピュータの一般的な構成
また、ＰＣＩ−Ｅｘｐｒｅｓｓの内部ポート（又は、「内部スロット」「内部バス」等と呼ばれる。また意味合いから「拡張スロット」「拡張バス」と呼ばれることもある）を備えたコンピュータの一般的な構成の例が図４に示されている。ＰＣＩ−Ｅｘｐｒｅｓｓは、内部バスの規格の一つである。本実施の形態では、主としてＰＣＩ−Ｅｘｐｒｅｓｓを内部バスとして用いた場合を中心に説明を行う。
【００６８】
ＰＣＩ−Ｅｘｐｒｅｓｓを用いた場合、ＣＰＵ４００には、まずルートコンプレックス（以下、単にＲＣとも呼ぶ）４１０が接続している。ＲＣ４１０には、複数のＰＣＩ−Ｅｘｐｒｅｓｓポートが設けられているが、さらに必要なポート数となるようにスイッチ４２０ａ、４２０ｂ、４２０ｃが設けられる場合がある。これらスイッチ４２０は必要とされるポート数の関係上、多段に接続される場合もある（図４参照）。
【００６９】
Ｉ／Ｏデバイスは、エンドポイントと呼ばれ、スイッチ４２０ａやスイッチ４２０ｂ等に接続されている。エンドポイントは、種々存在する。スイッチ４２０のＰＣＩ−Ｅｘｐｒｅｓｓポートにそのまま接続する通常のＰＣＩ−Ｅｘｐｒｅｓｓエンドポイント４３０ａ、４３０ｂ、４３０ｃや、ＲＣ４１０に接続するルートコンプレックスエンドポイント４３４等である。
【００７０】
なお、図４において、○は、ＰＣＩ−Ｅｘｐｒｅｓｓポートを表す。
【００７１】
また、ＰＣＩ−Ｅｘｐｒｅｓｓポートには、他のバスとのプロトコル変換を行ういわゆるブリッジを設けることもできる。図４の例では、例えば従来のバスであるＰＣＩのバスとの間のプロトコル変換を行うＰＣＩブリッジ４３６が示されている。このブリッジによって、ＰＣＩ−ＥｘｐｒｅｓｓからＰＣＩのバスへの変換を行うことができる。
【００７２】
なお、図４は、ＰＣＩ−Ｅｘｐｒｅｓｓを中心として描かれており、実際には、メモリ（図４参照）の他にハードディスク等の記憶手段も備えられている。また、図示されていないが、ＰＣＩ−Ｅｘｐｒｅｓｓグラフィックス（図４参照）には、ディスプレイ装置が接続されており、マウスやキーボード（不図示）等が所定のインターフェースを介して、システムバス（図４参照）に接続されている。
【００７３】
第６  ＨＵＢ装置を用いてネットワークを構成した場合の構造
実際に上記ＨＵＢ装置３００を用いて、コンピュータとコンピュータを接続した場合の構成図の例が図５に示されている。
【００７４】
図５においては、上記ＨＵＢ装置３００と同様に内部にスイッチを設けたＨＵＢ装置５００を用いた例を示す。このＨＵＢ装置３００とＨＵＢ装置５００とは、ポート数が異なる（４個、５個）等の形式的な相違はあるが、実質的・機能的には同様の装置である。
【００７５】
図５に示されるＨＵＢ装置５００は、ＣＰＵ５１０と、ＲＣ（ルートコンプレックス５２０と、スイッチ（ＰＣＩ−Ｅｘｐｒｅｓｓスイッチ）５３０とを備えている。スイッチ５３０には、４個のポート５４０ａ、５４０ｂ、５４０ｃ、５４０ｄとが設けられており、４台のＰＣ（パーソナルコンピュータ、本文では「ＰＣ」と称する場合がある）と接続することができる。図５では、４台のＰＣ（ＰＣ−Ａ、ＰＣ−Ｂ、ＰＣ−Ｃ、ＰＣ−Ｄ）と接続する例を示している。
【００７６】
なお、このスイッチ５３０は、内部スロット（内部バス）であるＰＣＩ−Ｅｘｐｒｅｓｓのスイッチであり、請求の範囲のスイッチ手段の好適な一例に相当する。  
このスイッチ手段は、あるポート５４０から入力したＰＣＩ−Ｅｘｐｒｅｓｓの信号を所定の制御ルールに基づき、行き先（のＰＣ）を決定し、その行き先であるいずれかのポート５４０に送り出す。例えば、上述したようにＰＣＩ−ＥｘｐｒｅｓｓにＥｔｈｅｒｎｅｔフレーム等を挿入して使用する場合は、このＥｔｈｅｒｎｅｔフレーム中の種々のアドレス（例えばＭＡＣアドレス等）を取り出し、取り出したアドレスに基づき、行き先を決定することも好ましい。  
なお、このような制御ルールは、テーブル３５０等に格納しておくことも好適であり、スイッチ５３０内部に格納・設定しておくことも好適である。
【００７７】
図５においては、ポート５４０ａにＰＣ−Ａ６００が接続されており、ポート５４０ｂにＰＣ−Ａ７００が接続されている例が示されている。ＰＣ−Ｃ、ＰＣ−Ｄも接続されているが、ＰＣ−Ａ６００、ＰＣ−Ｂ７００と同様であるので、図示を省略している。
【００７８】
このような構成・接続の形態によって、ＰＣ−Ａ６００、ＰＣ−Ｂ７００等でネットワークを構成する技術に関してすでに特許出願を行い、特許権を取得している。
【００７９】
ＰＣ−Ａ６００は、ＣＰＵ６１０と、それに接続するＲＣ（ルートコンプレックス）６２０とが備えられている。ＲＣ６２０にはスイッチ（ＰＣＩ−Ｅｘｐｒｅｓｓスイッチ）６３０が設けられており、このスイッチ６３０にはポート６４０ａ、６４０ｂ、６４０ｃ、６４０ｄ、が備えられている。
【００８０】
ポート６４０ａには、Ｉ／Ｏの一種であるＧＰＵ６５０が接続されている。ポート６４０ｄには、Ｉ／Ｏの一種としてＨＤ６６０が接続されている。またポート６４０ｄには、専用ＮＩＣ装置６７０が備えられている。この専用ＮＩＣは特願２００７−２６３１９７に記載されている専用ＮＩＣ装置と同様の装置であり、データを蓄積するバッファや所定のタイミングでデータを送信する手段を備えており、ＰＣＩ−Ｅｘｐｒｅｓｓの信号を中継しうる装置である。
【００８１】
図５に示すようにＨＵＢ装置５００を中心として、それに接続する１個以上又は複数個のＰＣ（パーソナルコンピュータ）から構成されるシステムを図示しているが、これが、請求の範囲における「コンピュータシステム」の好適な一例に相当する。また、図５の個々のＰＣであるＰＣ−Ａ６００、ＰＣ−Ｂ７００等は、請求の範囲の「コンピュータ」の好適な一例に相当する。
【００８２】
第６−１  専用ＮＩＣ装置
専用ＮＩＣ装置８００の構成ブロック図が図６に示されている。専用ＮＩＣ装置８００は、便宜上番号は異なるが、専用ＮＩＣ装置６７０、７７０と同様の構成である。  
また、この専用ＮＩＣ装置はＭＡＣアドレスを有している。
【００８３】
まず、専用ＮＩＣ装置８００は、２個のＰＣＩ−Ｅｓｐｒｅｓｓコネクタ８４０ａ、８４０ｂを備えており、２個のＰＣＩ−Ｅｓｐｒｅｓｓの内部スロット（又は内部ポート共呼ばれる）を結びつけることができるように構成されている。そのため、２個のＰＣＩ−Ｅｓｐｒｅｓｓコネクタ８４０ａ、８４０ｂの間にＰＣＩ−Ｅｘｐｒｅｓｓスイッチが配置され、双方向にデータの送受信を行えるように構成している（図６参照）。
【００８４】
ただし、この専用ＮＩＣ装置の特徴的な事項は、異なる系に属するＰＣＩ−Ｅｘｐｒｅｓｓを結ぶことができる点である。そのため、異なる系の間でデータの送受信を行うために、図６に示すように送信用ＦＩＦＯ８２０、受信用ＦＩＦＯ８３０が備えられている。その結果、送信用ＦＩＦＯ８２０によって、送信用のデータを、送信先のコンピュータの準備が完了するまで保持しておくことができ、異なる系の間でデータの送信が可能である。また、同様に、受信用ＦＩＦＯ８３０によって、受信用のデータを、受信先のコンピュータの準備が完了するまで保持しておくことができ、異なる系の間でデータの受信が可能である。なお、方向が異なるのみで、送信も受信も動作としては同様の動作である。便宜上、送信とは、ＰＣＩ−Ｅｘｐｒｅｓｓコネクタ８４０ｂ側に、データが送信される場合を言う。そして、受信とは、ＰＣＩ−Ｅｘｐｒｅｓｓコネクタ８４０ａ側に、データが送られる場合を言う。
【００８５】
第７  Ｉ／Ｏの仮想化
本実施の形態において特徴的なことは、このようなＨＵＢ装置５００による接続によって、Ｉ／Ｏの仮想化を行うことができることである。その動作の好適な一例を説明するために、本システムの起動からの動作・処理の流れを以下順次説明する。同処理の流れを示すフローチャートが図７に示されている。これら一連の処理の流れは、コンピュータシステムをＩ／Ｏの仮想化を実現しうるようにする処理であり、コンピュータシステムの運用方法と言うべきである。
【００８６】
第７−１  起動プロセス
（ステップ１）（図７のステップＳ７−１）
図５に示されるシステムの運用においては、まず、ＨＵＢ装置５００以外のＰＣ群の電源を投入して、起動する。すなわち、ＰＣ−Ａ６００、ＰＣ−Ｂ７００を起動する。また、存在する場合は、ＰＣ−Ｃ、ＰＣ−Ｄ（図５参照）も同時に起動する。
【００８７】
なお、ＰＣ−Ａ６００、ＰＣ−Ｂ７００の起動においては、ＢＩＯＳが起動する。ここで、ＢＩＯＳは、そのコンピュータに備えられているＩ／Ｏデバイスのチェックを行い、いわゆるデバイスリストを作成して、内部のハードディスク（不図示）やメモリ（不図示）に格納する。  
すなわち、ＰＣ−Ａ６００のＢＩＯＳが起動し、最小限のＰＣ−ＡのデバイスリストＸＡを作成する。ＰＣ−Ｂ７００についても同様に、最小限のＰＣ−ＢのデバイスリストＸＢを作成する。  
ここで、最小限とは、一般にはＶＧＡや、ネットワーク関連のインターフェース、ＨＤ（ハードディスク）などのストレージ、を含むものである。ただし、ＶＧＡに関してはなくても良い場合もある。また、ストレージについては、ハードディスク以外にも種々のストレージが近年広く用いられている。したがって、特にこれらに限られるものではなく、ごく一般的にそのＰＣについてのデバイスリストが作成できれば、どのようなデバイスリストであってもかまわない。
【００８８】
このステップ１は、図７のステップＳ７−１に該当する。
【００８９】
（ステップ２）（図７のステップＳ７−２）
次に、ＨＵＢ装置５００の電源を投入し、起動させる。本実施の形態に係るＨＵＢ装置５００もＣＰＵ５１０を備えており、一種のコンピュータである。ＨＵＢ装置５００が起動すると、まず、通常のコンピュータ同様にＢＩＯＳが起動する。
【００９０】
ＢＩＯＳが起動すると、周辺の各種装置、各種Ｉ／Ｏをチェックし、必要な初期化・コンフィグレーション（情報の取得及び使用可能か否か確認）等が行われる。この際、ルートコンプレックスを通じて、接続しているＩ／Ｏが確認される。
【００９１】
具体的には、いわゆるＰＯＳＴ（Ｐｏｗｅｒ  ＯＮ  Ｓｅｌｆ  Ｔｅｓｔ）において、周辺機器の検出・初期化が行われ、周辺機器が使用可能な状態になる。このＰＯＳＴにおいては、各種デバイスや拡張カードが要求するハードウェアリソース（Ｉ／Ｏアドレス、メモリ、ＩＲＱ等）を割り当てる。
【００９２】
検出・割り当てを行ったデバイスの一覧はデバイスリストとして保存され、このデバイスリストは、ＯＳが後に利用する。デバイスリストは、ＨＵＢ装置５００内のハードディスク（不図示）やメモリ（不図示）に格納される。  
すなわち、ＨＵＢ装置５００のＢＩＯＳが起動し、ＨＵＢ装置５００のデバイスリストＹを作成する。
【００９３】
※なお、「ＢＩＯＳ」は、近年、「ＥＦＩ」と呼ばれるファームウェアに置き換えられつつあるが、その場合は、本文の「ＢＩＯＳ」を、「ＥＦＩ」と読み替えられたい。
【００９４】
（ステップ３）（図７のステップＳ７−３）
次に、ＰＣ−Ａ６００のブートローダが起動し、上記デバイスリストＸＡ、ＸＢとＨＵＢ装置５００のデバイスリストＹを結合して、新たなデバイスリストＺを作成する。ＰＣ−Ｂ７００についても同様に、上記ＸＡ、ＸＢとＨＵＢ装置５００のデバイスリストＹを結合して、デバイスリストＺを作成する。
【００９５】
本実施の形態において特徴的なことは、上記デバイスリストＺ中に他のＰＣのＩ／Ｏデバイスが含まれていることである。したがって、他のＰＣのＩ／Ｏデバイスをあたかも自分のＰＣのＩ／Ｏデバイスであるかのように扱うことができ、いわゆるＩ／Ｏの仮想化を実現することが可能である。
【００９６】
この処理・動作は、図７のステップＳ７−３に該当する。
【００９７】
（ステップ４）（図７のステップＳ７−４）
ＯＳが起動した後、ＯＳやＯＳから起動されるアプリケーションは、上記作成したデバイスリストＹを利用するのである。この結果、Ｉ／Ｏの仮想化を実現することができる。
【００９８】
この処理は、図７のステップＳ７−４に該当する。
【００９９】
なお、他のＰＣ（ＰＣ−Ａ６００、ＰＣ−Ｂ７００等）においては、Ｉ／Ｏデバイスの情報は、メモリ（図４参照）や、ハードディスク（図５参照）等に格納される。この場合、このメモリやハードディスクは、請求の範囲の記憶手段の好適な一例に相当する。また、本実施の形態では、Ｉ／Ｏデバイスの情報は、従来から用いられてきたデバイスリストとして利用しているが、全く独立した他の情報として、上記メモリやハードディスクに格納されることも好適である。
【０１００】
第７−２  アドレス
前記第７−１のステップ２において、Ｉ／Ｏアドレスの割り当て等を行ったが、このようなアドレスの割り当ては、いわゆるメモリにおいても同様に行うことが可能である。つまり、ここではＩ／Ｏアドレスと呼んでいるが、メモリのアドレスも同様である。この結果、一般的には、このアドレスは「Ｉ／Ｏメモリアドレス」と呼ばれる場合もあった。
【０１０１】
第７−３  デバイス情報の提供・共有や、制御の詳細
（１）上記第７−１で述べたように、本実施の形態では、自分が持っているＩ／Ｏデバイスや、他のＰＣに備えられているＩ／Ｏデバイスを含めたデバイスリストが構築される。本実施の形態の各ＰＣ等は、このデバイスリストに基づき、各ＰＣからアクセスしうるＩ／Ｏデバイスの情報（主としてアドレス（Ｉ／Ｏメモリアドレス、Ｉ／Ｏアドレス等とも呼ばれる）の情報）を取得している。
【０１０２】
この結果、各ＰＣは、自分のＰＣに備えられたＩ／Ｏデバイス以外のＩ／Ｏデバイスであって、アクセス可能なＩ／Ｏデバイスを認識することができる。
【０１０３】
例えば、ＰＣ−Ａ６００からは、他のＰＣにあるＩ／Ｏデバイスに関しては、専用ＮＩＣ装置６７０を通じて、通常のＩ／Ｏアクセスをすることによって、あたかも自分のＰＣ（ＰＣ−Ａ６００）上に備えられているＩ／Ｏデバイスであるかのようにアクセスすることが可能となる。また例えば、ＰＣ−Ｂ７００上にあるＨＤ７６０に対して、専用ＮＩＣ装置６７０を介してアクセスすることによって、自分のＰＣ−Ａ６００に備えられているＨＤであるかのようにソフトウェアからはアクセスすることができる。
【０１０４】
（２）なお、ＰＣ−Ａ６００から所定のＩ／Ｏデバイスにアクセスする際、上記情報に含まれるアドレスでアクセスを行う。そして、専用ＮＩＣ装置６７０を介して、要求コマンドをＨＵＢ装置５００に送信するのである。
【０１０５】
実際の制御は、種々の手法が考えられるが、例えば、上で述べたように、ＰＣＩ−ＥｘｐｒｅｓｓのＴＬＰにはＥｔｈｅｒｎｅｔフレーム等の種々アドレス（ＭＡＣアドレス等）が含まれている場合もあるので、そのアドレスで行き先を決定することも好適である。Ｉ／Ｏデバイスは、ＭＡＣアドレスを有していることもあり、そのＭＡＣアドレスを用いて、宛先を決定することも好適である。その他、デバイスＩＤ等、種々のアドレス又はそれに類する情報を用いることも好適である。
【０１０６】
このように、ＢＩＯＳで構築されたデバイスリストの情報に基づく行き先の制御は、ＨＵＢ装置５００の、スイッチ５３０が実行する。この結果、スイッチ５３０は、Ｉ／Ｏの各種コマンドを、所定のＰＣに送出することができる。
【０１０７】
第７−４  ＯＳ・アプリケーションレベルの動作・機能
（１）なお、ＯＳが利用するデバイスリストの情報は、ＯＳレベル、又はアプリケーションレベル等で、新しく設置された他のＰＣに配布することも好適である。
【０１０８】
ＨＵＢ装置５００においては、ＢＩＯＳが作成したデバイスリストに基づき、各ＰＣに利用できるＩ／Ｏデバイスを参照してデバイスリストを作成する。
【０１０９】
このような動作によって、例えばＰＣ−Ａ６００上で稼働する各種ソフトウェアからは、デバイスリストに載っている通常のＩ／Ｏデバイスと同様に取り扱うことが可能となるものである。
【０１１０】
（２）また、上述したように、行き先の制御は、ＨＵＢ装置５００のスイッチ５３０が行う。そして、このようなスイッチ５３０に対する情報の設定は、ＨＵＢ５００における、ＯＳレベル、又はアプリケーションレベル等で実行することも好適である。この結果、スイッチ５３０は、Ｉ／Ｏの各種コマンドを、所定の方向（相手先）に送出することができる。
【０１１１】
第７−５  仮想化の対象
さらに、ＨＵＢ装置５００も、一種のＰＣ（パーソナルコンピュータ）であり、その内部にもＩ／Ｏデバイスが備えられており、これらもまた上記デバイスリストに列挙されている。すなわち、ＨＵＢ装置５００（のＣＰＵ）からみれば、全ＰＣに備えられているＩ／Ｏデバイスが「見え」ているので、自分のＰＣに備えられているＩ／Ｏデバイスとして認識可能であり、その結果、デバイスリストに列挙することが可能である。
【０１１２】
したがって、各ＰＣに提供されるアクセス可能なＩ／Ｏデバイスに関する情報は、このＨＵＢ装置５００内に位置するＩ／Ｏデバイスも含まれる。その結果、例えばＰＣ−Ａ６００から、あたかもＰＣ−Ａ６００内に備えられているＩ／Ｏデバイスであるかのように、ＨＵＢ装置５００内のＩ／Ｏデバイス（例えば、ＨＤ（ハードディスク）など）にアクセスすることが可能である。
【０１１３】
第８  まとめ・変形例
以上述べたように、本実施の形態によれば、接続するＰＣに備えられているＩ／Ｏデバイスに関する情報を収集し、デバイスリストを作成している。そして、そのデバイスリストの情報に基づき、行き先の制御等を行うスイッチの設定を行っている。したがって、いわゆるＩ／Ｏの仮想化を容易に実現することが可能である。
【０１１４】
（１）上記実施の形態では、ＰＣ−Ａ６００等は、ＢＩＯＳが生成したデバイスリストを結合してデバイスリストを生成し、Ｉ／Ｏの仮想化を実現したが（図7  Ｓ７−３）、各アプリケーション毎に特有のＩ／Ｏデバイス情報リストを作成することも好適である。既存のデバイスリストのデータを修正することがないので、仮想化が特に必要ではないアプリケーションに対する影響を少なくすることが可能である。また、仮想化が必要なアプリケーションに特化したＩ／Ｏデバイスの情報リストを構築できるので、専用設計とすることが容易であり、性能の向上を容易であると考えられる。
【０１１５】
（２）また、上記の実施の形態における制御の例として、ＴＬＰ中のＥｔｈｅｒｎｅｔフレーム中のアドレスを利用する例を示した。Ｉ／ＯデバイスはＭＡＣアドレスを備えるものも多いので、ＭＡＣアドレスを利用することも好適である。また、デバイスＩＤ等のその他種々のアドレスを用いることも好適である。また、他の手法でＭＡＣアドレスその他のアドレスを提供することも好適である。
【０１１６】
（３）上述した例では、「スイッチ５３０の設定」と説明したが、実際の情報自体はメモリやハードディスク等に書き込まれており、適宜それらの情報を参照しながら、Ｉ／Ｏの要求コマンド等を、（スイッチ５３０が）適切なポートに送出するように構成することも好適である。
【０１１７】
また、いわゆる設定メモリを内蔵した、いわゆるプログラマブルなスイッチを採用することも好適である。所定の設定情報をスイッチ内のメモリに格納した後は、そのスイッチが、設定情報に基づき、適宜、各種コマンドを所定のポートに送出するのである。
【０１１８】
（４）上述した例では、コンピュータの内部スロットの１種であるＰＣＩ−Ｅｘｐｒｅｓｓを採用しており、ＰＣＩ−Ｅｘｐｒｅｓｓのスイッチ（５３０等）を利用した例を示している。
【０１１９】
しかし、スイッチが利用可能である内部スロットであれば、どのような内部スロットででも利用可能である。
【０１２０】
実用上の観点から、高いデータ転送速度を有するＰＣＩ−Ｅｘｐｒｅｓｓを用いたが、将来的により早い速度の内部スロットが開発されれば、その内部スロットを用いることも好適である。また、性能を問わなければ、より低速の内部スロットを用いることも好適である。
【０１２１】
なお、ここでは、内部スロットという用語を用いたが、「内部ポート」「内部バス」と呼ばれる場合もある。
【符号の説明】
【０１２２】
１００  ＴＬＰ本体
１０２  ＴＬＰヘッダ
１０４  データ部（ペイロード）
１０６  シーケンスナンバー
１０８  ＬＣＲＣ
１１０  データリンク層パケット
１１４  スタートフレーム
１１６  エンドフレーム
１１８  物理層パケット
２００  イーサネットフレーム
２０２  宛先アドレス
２０４  送信元アドレス
２０６  タイプ
２０８  データ部
２１０  ＣＲＣ
３００  ＨＵＢ装置
３２０ａ、３２０ｂ、３２０ｃ、３２０ｄ、３２０ｅ  ポート
３３０  ＰＣＩ−Ｅｘｐｒｅｓｓスイッチ
３４０  バッファ
３５０  テーブル
４００  ＣＰＵ
４１０  ルートコンプレックス
４２０ａ、４２０ｂ、４２０ｃ  スイッチ
４３０ａ、４３０ｂ  エンドポイント
４３４  エンドポイント
４３６  ブリッジ
５００  ＨＵＢ装置
５１０  ＣＰＵ
５２０  ルートコンプレックス
５３０  スイッチ
５４０ａ、５４０ｂ、５４０ｃ、５４０ｄ  ポート
６００  ＰＣ−Ａ
６１０  ＣＰＵ
６２０  ルートコンプレックス
６３０  スイッチ
６４０ａ、６４０ｂ、６４０ｃ、６４０ｄ  ポート
６５０  ＧＰＵ
６６０  ＨＤ
６７０  専用ＮＩＣ装置
７００  ＰＣ−Ｂ
７１０  ＣＰＵ
７２０  ルートコンプレックス
７３０  スイッチ
７４０ａ、７４０ｂ、７４０ｃ、７４０ｄ  ポート
７５０  ＧＰＵ
７６０  ＨＤ
７７０  専用ＮＩＣ装置
８００  専用ＮＩＣ装置
８４０ａ、８４０ｂ  ＰＣＩ−Ｅｘｐｒｅｓｓコネクタ
８２０  送信用ＦＩＦＯ
８３０  受信用ＦＩＦＯ
ＰＣ−Ａ  パーソナルコンピュータ−Ａ
ＰＣ−Ｂ  パーソナルコンピュータ−Ｂ
ＰＣ−Ｃ  パーソナルコンピュータ−Ｃ
ＰＣ−Ｄ  パーソナルコンピュータ−Ｄ
【図１】
2015033384.tif 000003
【図２】
2015033384.tif 000004
【図３】
2015033384.tif 000005
【図４】
2015033384.tif 000006
【図５】
2015033384.tif 000007
【図６】
2015033384.tif 000008
【図７】
2015033384.tif 000009
【手続補正書】
【提出日】平成28年12月5日(2016.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のポートを備えたＩ／Ｏ仮想化装置と、
前記ポートに接続された少なくとも１台以上のコンピュータと、
を備え、Ｉ／Ｏの仮想化を行えるコンピュータシステムにおいて、
前記コンピュータは、
そのコンピュータ内部の内部スロットに接続し、前記内部スロットと、前記ポートと、を接続する専用ＮＩＣ装置、
を備え、
前記Ｉ／Ｏ仮想化装置は、
前記内部スロットの信号と同一の信号をスイッチするスイッチ手段を備え、
前記スイッチ手段は、前記ポートを介して、前記内部スロットの信号と同一の信号を入出力し、
いずれかの前記コンピュータは、その前記内部スロットの信号と同一の信号を、前記Ｉ／Ｏ仮想化装置を介して自己以外の他のコンピュータに送ることによって、前記他のコンピュータのＩ／Ｏデバイスにアクセスすることができることを特徴とするコンピュータシステム。
【請求項２】
請求項１記載のコンピュータシステムにおいて、
前記内部スロットは、ＰＣＩ−Ｅｘｐｒｅｓｓであることを特徴とするコンピュータシステム。
【請求項３】
請求項１記載のコンピュータシステムにおいて、
前記コンピュータは、
自己以外の他のコンピュータに備えられたＩ／Ｏデバイスの情報を保持する記憶手段、
を備え、
前記コンピュータは、前記Ｉ／Ｏデバイスの情報を利用し、前記Ｉ／Ｏ仮想化装置を介して、前記自己以外の他のコンピュータに備えられたＩ／Ｏデバイスに対してアクセス可能であることを特徴とするコンピュータシステム。
【請求項４】
請求項３記載のコンピュータシステムにおいて、
前記Ｉ／Ｏデバイスの情報には、前記自己以外の他のコンピュータに備えられたＩ／Ｏデバイスの少なくともアドレス情報が含まれることを特徴とするコンピュータシステム。
【請求項５】
請求項１記載のコンピュータシステムにおいて、
前記専用ＮＩＣ装置は、
第１の内部スロットコネクタと、
第２の内部スロットコネクタと、
前記第１の内部スロットコネクタ及び第２の内部スロットコネクタと接続するスイッチ手段と、
を含み、前記スイッチ手段は、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力し、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力しすることを特徴とするコンピュータシステム。
【請求項６】
請求項５記載のコンピュータシステムにおいて、前記スイッチ手段には、
前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力する際に、前記信号のデータを保存する送信用ＦＩＦＯと、
前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力する際に、前記信号を保存する受信用ＦＩＦＯと、
が接続されていることを特徴とするコンピュータシステム。
【請求項７】
請求項１記載のコンピュータシステムにおいて、
前記内部スロットはＰＣＩ−Ｅｘｐｒｅｓｓであり、
前記スイッチ手段は、いずれかの前記ポートから入力したＴＬＰから、所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするコンピュータシステム。
【請求項８】
請求項１記載のコンピュータシステムの運用方法において、
前記１台以上のコンピュータのＢＩＯＳを起動して、第１のデバイスリストを作成する第１ステップと、
前記Ｉ／Ｏ仮想化装置のＢＩＯＳを起動して、第２のデバイスリストを作成する第２ステップと、
前記第１のデバイスリストと、前記第２のデバイスリストとを結合して第３のデバイスリストを作成する第３ステップと、
前記第３のデバイスリストをＯＳが利用する第３ステップと、
を含むことを特徴とするコンピュータシステムの運用方法。
【請求項９】
請求項１記載のコンピュータシステムの運用方法において、
前記内部スロットは、ＰＣＩ−Ｅｘｐｒｅｓｓであり、
前記Ｉ／Ｏ仮想化装置中の前記スイッチ手段は、ＴＬＰから所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするコンピュータシステムの運用方法。
【請求項１０】
請求項３又は４記載のコンピュータシステムにおいて、
前記Ｉ／Ｏデバイスの情報とは、ＢＩＯＳが作成したデバイスリストであることを特徴とするコンピュータシステム。
【請求項１１】
請求項１記載のコンピュータシステムに用いられる前記専用ＮＩＣ装置であって、
前記内部スロットの信号と同一の信号をスイッチするスイッチ手段を備え、
前記スイッチ手段は、前記ポートを介して、前記内部スロットの信号と同一の信号を入出力することを特徴とする専用ＮＩＣ装置。
【請求項１２】
請求項１１記載の専用ＮＩＣ装置において、
第１の内部スロットコネクタと、
第２の内部スロットコネクタと、
前記第１の内部スロットコネクタ及び第２の内部スロットコネクタと接続するスイッチ手段と、
を含み、前記スイッチ手段は、前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力し、前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力しすることを特徴とする専用ＮＩＣ装置。
【請求項１３】
請求項１２記載の専用ＮＩＣ装置において、前記スイッチ手段には、
前記第１の内部スロットから入力された信号を、前記第２の内部スロットに出力する際に、前記信号のデータを保存する送信用ＦＩＦＯと、
前記第２の内部スロットから入力された信号を、前記第１の内部スロットに出力する際に、前記信号を保存する受信用ＦＩＦＯと、
が接続されていることを特徴とする専用ＮＩＣ装置。
【請求項１４】
請求項１記載のコンピュータシステムに用いられるＩ／Ｏ仮想化装置において、
前記内部スロットはＰＣＩ−Ｅｘｐｒｅｓｓであり、
前記スイッチ手段は、いずれかの前記ポートから入力したＴＬＰから、所定のアドレスを取り出し、前記所定のアドレスに基づき、行き先を決定し、その行き先のポートへ前記入力したＴＬＰを送出することを特徴とするＩ／Ｏ仮想化装置。
【国際調査報告】
2015033384.tif 000010
2015033384.tif 000011
2015033384.tif 000012
2015033384.tif 000013