(57)【特許請求の範囲】
【請求項１】
複数のコンピュータと、前記複数のコンピュータと接続するＨＵＢ装置と、を備えたネットワークシステムにおいて、
それぞれの前記コンピュータは拡張インターフェースを有しており、
この拡張インターフェースに接続する専用ＮＩＣ装置がそれぞれの前記コンピュータに接続しており、
前記コンピュータ毎にそれぞれ接続されている前記専用ＮＩＣ装置には、それぞれ前記拡張インターフェースのケーブルであるネットワークケーブルが接続しており、
それぞれの前記ネットワークケーブルは、前記ＨＵＢ装置に接続しており、
各専用ＮＩＣ装置は、
その専用ＮＩＣ装置が接続する前記拡張インターフェースから受信した所定の信号を保存する送信用バッファ手段と、
前記送信用バッファ手段に保存した前記信号を、その専用ＮＩＣ装置が接続する前記ネットワークケーブルに対して、前記拡張インターフェースの信号のまま、所定のタイミングで送信する送信手段と、
を備え、
前記ＨＵＢ装置は、
接続する複数の前記コンピュータのアドレス情報とノードポートを保存する記憶装置と、
いずれかのネットワークケーブルから送信されてきた前記信号を保存する中継用バッファ手段と、
前記中継用バッファ手段に保存された前記信号から、宛先のコンピュータのアドレス情報を抽出する抽出手段と、
前記抽出手段が抽出した前記アドレス情報を前記記憶装置から検索し、前記信号の宛先である前記コンピュータのノードポートを特定する特定手段と、
前記中継用バッファ手段に保存された前記信号を、前記特定したコンピュータのノードポートに接続する前記ネットワークケーブルを介して、前記コンピュータに、前記拡張インターフェースの信号のまま、送信するスイッチング手段と、
を備え、
前記拡張インターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓの拡張インターフェースであり、
前記ネットワークケーブルは、ＰＣＩ  Ｅｘｐｒｅｓｓのケーブルであり、
前記コンピュータのアドレス情報は、デバイスＩＤ、又は、ＩＰアドレス、又は、ＭＡＣアドレスのいずれかであることを特徴とするネットワークシステム。
【請求項２】
複数のコンピュータに所定の拡張インターフェースを介してそれぞれ接続している複数の専用ＮＩＣ装置に、所定の前記拡張インターフェースのケーブルであるネットワークケーブルを介して接続するＨＵＢ装置において、
接続する複数の前記コンピュータのアドレス情報とノードポートを保存する記憶装置と、
いずれかの前記専用ＮＩＣ装置から受信した信号を保存する中継用バッファ手段と、
前記中継用バッファ手段に保存された前記信号から、宛先のコンピュータのアドレス情報を抽出する抽出手段と、
前記抽出手段が抽出した前記アドレス情報を前記記憶装置から検索し、前記信号の宛先である前記コンピュータを特定する特定手段と、
前記中継用バッファ手段に保存された前記信号を、前記特定したコンピュータに接続する前記ネットワークケーブルを介して、前記拡張インターフェースの信号のまま、送信するスイッチング手段と、
を備え、
前記拡張インターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓの拡張インターフェースであり、
前記ネットワークケーブルは、ＰＣＩ  Ｅｘｐｒｅｓｓのケーブルであり、
前記コンピュータのアドレス情報は、デバイスＩＤ、又は、ＩＰアドレス、又は、ＭＡＣアドレスのいずれかであることを特徴とするＨＵＢ装置。
【請求項３】
請求項１に記載のネットワークシステムにおいて、
前記抽出手段が抽出した前記コンピュータのアドレス情報であるＩＰアドレスを、ＭＡＣアドレス又はデバイスＩＤに変換する手段、
を含み、
前記特定手段は、前記変換したＭＡＣアドレス又はデバイスＩＤを前記記憶装置から検索し、前記信号の宛先である前記コンピュータを特定することを特徴とするネットワークシステム。
【請求項４】
請求項２に記載のＨＵＢ装置において、
前記抽出手段が抽出した前記コンピュータのアドレス情報であるＩＰアドレスを、ＭＡＣアドレス又はデバイスＩＤに変換する手段、
を含み、
前記特定手段は、前記変換したＭＡＣアドレス又はデバイスＩＤを前記記憶装置から検索し、前記信号の宛先である前記コンピュータを特定することを特徴とするＨＵＢ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、特に通信速度が向上した高速ネットワークシステムに関する。
【背景技術】
【０００２】
今日の社会では、インターネットで接続される膨大な数の情報処理端末を利用して、情報の活用が図られている。これらインターネットで接続される情報処理端末として使用されるパーソナルコンピュータや携帯電子端末は、通信技術の発達等に伴って、飛躍的に増加した。  
また、これらパーソナルコンピュータや携帯電子端末において、動画等の情報が扱われることが多くなり、これらの情報処理端末間で大容量の情報を短時間に伝送したいという要求が高まっている。  
この要求に対して、例えば光ファイバを情報伝送媒体として利用することによって、従来のメタリックケーブルよりも高速に情報が伝送されることが実現している。
【０００３】
また、情報処理端末に情報を提供するサーバシステムにおいては、半導体製造技術の発達によって情報処理能力が飛躍的に向上し、情報処理速度が各サーバ間の情報伝送速度を越えるようになった。  
このため、サーバシステムから情報処理端末に対してさらに高速に情報を提供するためには、このサーバシステム内における情報伝送速度を高速化させることが不可欠となっている。
【０００４】
一方、近年、学術研究等における高度な計算処理を行うために、ＨＰＣ（Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｐｕｔｉｎｇ）と呼ばれるスーパーコンピュータが知られており、そのＨＰＣに関して種々の研究・開発が進められている。
【０００５】
このＨＰＣとは、複数のノードコンピュータをネットワークで結合して、１つのシステムに統合したものである。これら複数のノードコンピュータは何らかの媒体によって双方向の通信できるように接続され、全体として１つのコンピュータとして扱えるように制御される。そして、ＨＰＣ全体で各ノードコンピュータの処理速度を超える速い処理速度を得るのである。なお、ノードコンピュータとは、ＨＰＣ内のネットワークに接続されたコンピュータやＨＵＢ等の機器である。
【０００６】
このＨＰＣでは、本願出願時においては、一般的に１Ｇ（１０の９乗）ビット／秒の「イーサネット（登録商標）」又は「ミリネット」（Ｍｙｒｉｃｏｍ社製のネットワークシステム）等の特殊なネットワークが採用されており、最大４Ｇビット／秒（理論最大値、双方向通信を実現した場合）を実現することが主流となっている。
【０００７】
ＨＰＣを構成する上記「イーサネット（登録商標）」や「ミリネット」の情報伝送速度は、本願出願時においては、各ノードコンピュータの演算速度よりも速かったため、上記「イーサネット（登録商標）」や「ミリネット」を採用することによって、各ノードコンピュータの演算能力が十分に活用できたのである。
【０００８】
しかし、近年、例えばＡＭＤ社のＯｐｔｅｒｏｎ等の、従来よりも演算速度が劇的に向上したプロセッサが開発され、このプロセッサがＳＭＰシステムのノードコンピュータに搭載されるようになった。この結果、各ノードコンピュータの演算速度がネットワークの通信速度を越えるようになり、ネットワークの通信速度が、ＳＭＰシステム全体の性能にとってボトルネックとなる場合が生じるようになった。なお、ＳＭＰシステムとは、Ｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉ  Ｐｒｏｃｅｓｓｉｎｇ  システムの略であり、システム内に実装された全てのＣＰＵに対して均一に処理を分担させるＨＰＣである。
【０００９】
このネットワークの通信速度の問題は、ＳＭＰシステムの処理速度をさらに高速化させる上で深刻な問題であり、ＳＭＰシステムを構成するネットワークの高性能化が急務となっている。
【００１０】
そこで、従来のネットワークよりもさらに高速に通信を行うことを目的とした種々の研究・開発が、近年活発になされている。
【００１１】
先行技術文献
ネットワークの高速化に関する先行特許文献を挙げる。
【００１２】
下記特許文献１には、ＰＣＩバスインターフェースが、高速ネットワークのボトルネックにならないようにするための技術が開示されている。
【００１３】
【特許文献１】特開２００３−０５８３９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本願発明者は、上述した背景の下、コンピュータのいわゆる拡張インターフェースを利用してサーバシステムやコンピュータクラスタにおけるノードコンピュータ間の相互通信を実現し、これを一般的なネットワークとして稼働させることを考察した。
【００１５】
本願発明は、上記で述べたような考えを基礎としてなされたものであり、その目的は、コンピュータシステムの拡張インターフェースをネットワークとして使用しうるシステム及びそれに関連する機器を提供することである。
【課題を解決するための手段】
【００１６】
（１）本発明は、上記課題を鑑みてなされたものであり、第１の拡張インターフェースを備える第１のコンピュータと、前記第１の拡張インターフェースに接続する第１のＮＩＣ装置と、第２の拡張インターフェースを備える第２のコンピュータと、前記第２の拡張インターフェースに接続する第２のＮＩＣ装置と、前記第１のＮＩＣ装置及び第２のＮＩＣ装置に接続するネットワークケーブルと、からなるネットワークシステムにおいて、前記第１のＮＩＣ装置は、前記第１の拡張インターフェースから供給された所定の信号を保存する送信用バッファ手段と、前記送信用バッファ手段に保存した前記信号を、前記ネットワークケーブルに対して、所定のタイミングで送信する第１の送信手段と、を備え、前記第２のＮＩＣ装置は、前記ケーブルから送信されてきた前記信号を保存する受信用バッファ手段と、前記受信用バッファ手段に保存した前記信号を前記第２の拡張インターフェースに送信する第２の送信手段と、を備えることを特徴とするネットワークシステムである。
【００１７】
（２）本発明は、上記（１）に記載のネットワークシステムにおいて、前記第１の拡張インターフェース及び前記第２の拡張インターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓのインターフェースであり、前記ネットワークケーブルはＰＣＩ  Ｅｘｐｒｅｓｓのケーブルであることを特徴とするネットワークシステムである。
【００１８】
（３）本発明は、コンピュータの拡張インターフェースに接続するＮＩＣ装置において、ネットワークケーブルとの接続コネクタと、前記拡張インターフェースから受信した所定の第１の信号を保存する送信用バッファ手段と、前記送信用バッファ手段に保存した前記第１の信号を、前記接続コネクタを介して前記ネットワークケーブルに対して、所定のタイミングで送信する第１の送信手段と、前記接続コネクタを介して前記ネットワークケーブルから受信した所定の第２の信号を保存する受信用バッファ手段と、前記受信用バッファ手段に保存した前記第２の信号を前記拡張インターフェースに送信する第２の送信手段と、を備えることを特徴とするＮＩＣ装置である。
【００１９】
（４）本発明は、上記（３）に記載のＮＩＣ装置において、前記拡張インターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓのインターフェースであり、前記ネットワークケーブルは、ＰＣＩ  Ｅｘｐｒｅｓｓのケーブルであることを特徴とするＮＩＣ装置である。
【００２０】
（５）また、本発明は、上記課題を解決するために、複数のコンピュータと、前記複数のコンピュータと接続するＨＵＢ装置と、を備えたネットワークシステムにおいて、それぞれの前記コンピュータは拡張インターフェースを有しており、この拡張インターフェースに接続するＮＩＣ装置がそれぞれの前記コンピュータに接続しており、前記コンピュータ毎にそれぞれ接続されている前記ＮＩＣ装置には、それぞれネットワークケーブルが接続しており、それぞれの前記ネットワークケーブルは、前記ＨＵＢ装置に接続しており、各ＮＩＣ装置は、そのＮＩＣ装置が接続する前記拡張インターフェースから受信した所定の信号を保存する送信用バッファ手段と、前記送信用バッファ手段に保存した前記信号を、そのＮＩＣ装置が接続する前記ネットワークケーブルに対して、所定のタイミングで送信する送信手段と、を備え、前記ＨＵＢ装置は、接続する複数の前記コンピュータのアドレスを保存する記憶装置と、いずれかのネットワークケーブルから送信されてきた前記信号を保存する中継用バッファ手段と、前記中継用バッファ手段に保存された前記信号から、宛先のコンピュータのアドレス情報を抽出する抽出手段と、前記抽出手段が抽出した前記アドレス情報を前記記憶装置から検索し、前記信号の宛先である前記コンピュータを特定する特定手段と、前記中継用バッファ手段に保存された前記信号を、前記特定したコンピュータに接続する前記ネットワークケーブルを介して送信するスイッチング手段と、
を備えることを特徴とするネットワークシステムである。
【００２１】
（６）本発明は、上記課題を解決するために、複数のコンピュータに所定の拡張インターフェースを介してそれぞれ接続している複数のＮＩＣ装置に、所定のネットワークケーブルを介して接続するＨＵＢ装置において、接続する複数の前記コンピュータのアドレスを保存する記憶装置と、いずれかの前記ＮＩＣ装置から受信した信号を保存する中継用バッファ手段と、前記中継用バッファ手段に保存された前記信号に含まれる宛先のデバイス情報を抽出する抽出手段と、前記デバイス情報に基づいて前記信号の宛先であるコンピュータを特定する特定手段と、前記中継用バッファ手段に保存された前記信号から、宛先のコンピュータのアドレス情報を抽出する抽出手段と、前記抽出手段が抽出した前記アドレス情報を前記記憶装置から検索し、前記信号の宛先である前記コンピュータを特定する特定手段と、前記中継用バッファ手段に保存された前記信号を、前記特定したコンピュータに接続する前記ネットワークケーブルを介して送信するスイッチング手段と、を備えることを特徴とするＨＵＢ装置である。
【００２２】
（７）本発明は、上記課題を解決するために上記（５）記載のネットワークシステムにおいて、前記拡張インターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓの拡張インターフェースであり、前記ネットワークケーブルは、ＰＣＩ  Ｅｘｐｒｅｓｓのケーブルであることを特徴とするネットワークシステムである。
【００２３】
（８）また、本発明は、上記（６）に記載のＮＩＣ装置において、前記拡張インターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓの拡張インターフェースであり、前記ネットワークケーブルは、ＰＣＩ  Ｅｘｐｒｅｓｓのケーブルであることを特徴とするＮＩＣ装置である。
【発明の効果】
【００２４】
以上述べたように、本発明によれば、拡張インターフェースを用いてネットワークを構成したので、高速なネットワークシステムを簡便に構成することができる。また、そのネットワークを利用してコンピュータクラスタを構築でき、ひいては性能の向上したスーパーコンピュータを実現することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の好ましい形態を図面に基づいて説明する。
【００２６】
第１  ネットワークシステムの概要
上述したように、本願発明者らは、コンピュータの拡張インターフェースをネットワークとして活用しうるシステムを開発した。コンピュータの拡張インターフェースでは、そのコンピュータのクロックに基づいてデータの伝送が行われる。また、複数のコンピュータの各拡張インターフェースでは、それぞれ異なるクロックでデータの伝送が行われる。本願発明者らは、複数のコンピュータの各拡張インターフェース同士を接続するために、各コンピュータの間にバッファ手段を設けて、各コンピュータの拡張インターフェース同士を接続した。
【００２７】
本実施の形態においては、高速な拡張インターフェースであるＰＣＩ  Ｅｘｐｒｅｓｓをネットワークとして利用した。すなわち、本実施の形態では、ＰＣＩ  Ｅｘｐｒｅｓｓ拡張インターフェースを利用した専用ＮＩＣ装置及び専用ＨＵＢ装置を新規に作成し、これら専用ＮＩＣ装置と専用ＨＵＢ装置とを用いて、ＰＣＩ  Ｅｘｐｒｅｓｓのネットワークを構成したのである。
【００２８】
図１には、本実施の形態におけるネットワークシステムのブロック概念図が示されている。この図１に示すように、ノードコンピュータ１０の拡張インターフェース（ＰＣＩ  Ｅｘｐｒｅｓｓ）には、専用ＮＩＣ装置１２が接続されている。また、図１中のノードコンピュータ２０の拡張インターフェース（ＰＣＩ  Ｅｘｐｒｅｓｓ）には、上述したように、専用ＮＩＣ装置２２が接続されている。
【００２９】
さらに、これら専用ＮＩＣ装置１２、２２は、図１に示すように、それぞれ専用ＨＵＢ装置３０に接続されている。
【００３０】
この図１中の、ノードコンピュータ１０の拡張ソケットに専用ＮＩＣ装置１２が挿入され、ノードコンピュータ１０と専用ＮＩＣ装置１２との間でデータ通信が行われる。また、図１中の、ノードコンピュータ２０の拡張ソケットに専用ＮＩＣ装置２２が挿入され、ノードコンピュータ２０と専用ＮＩＣ装置２２との間の通信が行われる。
【００３１】
また、図１中の、専用ＮＩＣ装置１２及び専用ＨＵＢ装置３０はＰＣＩ  Ｅｘｐｒｅｓｓのケーブル３５ｃで接続されており、専用ＨＵＢ装置３０に対してデータが伝送される。また、図１中の専用ＮＩＣ装置２２及び専用ＨＵＢ装置３０はＰＣＩ  Ｅｘｐｒｅｓｓのケーブル３５ｄで接続されており、専用ＨＵＢ装置３０のに対してデータが伝送される。
【００３２】
ＰＣＩ  Ｅｘｐｒｅｓｓについて
よく知られているように、ＰＣＩ  Ｅｘｐｒｅｓｓは、差動信号によるシリアル通信を行っている。片方向の伝送路を１組用意し、双方向にしたものを「レーン」と呼ぶ。また、２つのデバイスを接続するＰＣＩ  Ｅｘｐｒｅｓｓの伝送路を「リンク」と言う。１つのリンクは、最大３２のレーンから構成することができる。１レーンで構成されたリンクを「ＰＣＩｅ  ｘ１」と表す。３２レーンで構成されたリンクは同様に「ＰＣＩｅ  ｘ３２」と表す。
【００３３】
第２  専用ＨＵＢ装置
図２は図１と同様の図であるが、専用ＨＵＢ装置３０をより詳細に表した図である。
【００３４】
この図２に示すように、専用ＨＵＢ装置３０は、上流側のチェーンポート３２ａ、下流側のチェーンポート３２ｂを有している。これらチェーンポート３２ａ、３２ｂには、別の専用ＨＵＢ装置がディジーチェーン接続によって接続することができる。なお、図２では、専用ＨＵＢ装置３０の上流側のチェーンポート３２ａには何も接続せず、下流側のチェーンポート３２ｂには他の専用ＨＵＢ装置３１を接続している。
【００３５】
図２では、図の上では便宜上チェーンポート３２ａには何も接続されていないが、ＰＣＩ  Ｅｘｐｒｅｓｓの通信形態上、ルートコンプレックスを接続しておくことが好ましい。これは、しばしばホストコンピュータがその役割を果たすことが多い。
【００３６】
また、この専用ＨＵＢ装置３０は、ノードポート３４ａ、３４ｂ、３４ｃ、３４ｄ、３４ｅ、３４ｆ、３４ｇ、３４ｈを有している。図２では、これらのうちノードポート３４ａに、ノードコンピュータ１０が接続され、ノードポート３４ｂに、ノードコンピュータ２０が接続されている。
【００３７】
なお、本実施の形態では、便宜上、図２中の各チェーンポート３２ａ、３２ｂでは、ＰＣＩｅ  ｘ８に基づく通信が行われ、各ノードポート３４ａ〜３４ｈでは、ＰＣＩｅ  ｘ４に基づく通信が行われている。もちろん他のレーン数を採用してもかまわない。
【００３８】
以上述べた構成によって、ノードコンピュータ１０及び２０は、ＰＣＩ  Ｅｘｐｒｅｓｓ拡張インターフェースを利用したネットワークで接続され、高速な通信が実現する。
【００３９】
（１）  専用ＮＩＣ装置の構成
上述したように、本実施の形態では、複数のコンピュータの各拡張インターフェース（ＰＣＩ  Ｅｘｐｒｅｓｓ）同士を接続して、ネットワークを構成するために、専用ＮＩＣ装置を新規に作成した。
【００４０】
各コンピュータのＰＣＩ  Ｅｘｐｒｅｓｓインターフェースでは、パケット通信が行われるため、各コンピュータのＰＣＩ  Ｅｘｐｒｅｓｓ拡張インターフェース同士を接続して互いに通信を行うために、パケットを保管する何らかの手段が必要である。
【００４１】
そこで、本実施の形態では、各コンピュータの拡張インターフェース同士を接続して互いに通信を行うために、送信用バッファ手段、受信用バッファ手段、及びＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップを備えた専用ＮＩＣ装置を新規に作成した。
【００４２】
以下、本節では、図３及び図４に基づいて、専用ＮＩＣ装置の構成について説明する。  まず、図３には、本実施の形態において専用ＮＩＣ装置１２のブロック図が示されている。そして、図４には、専用ＮＩＣ装置１２の使用を示す表が示されている。
【００４３】
図３に示すように、専用ＮＩＣ装置１２は、１個のカードエッジ４０ａを備えている。このカードエッジ４０ａは、ノードコンピュータ１０の拡張スロットに挿入され、ノードコンピュータ１０との間でＰＣＩ  ｘ８に基づく通信が行われる。
【００４４】
また、この図３に示すように、専用ＮＩＣ装置１２には、１個のＨＵＢ接続コネクタ４０ｂが備えられている。このＨＵＢ接続コネクタ４０ｂには、専用ＨＵＢ装置３０と繋がるネットワークケーブルが接続される。この結果、専用ＨＵＢ装置３０との間では、ＰＣＩｅ  ｘ８に基づく通信が行われる。なお、ネットワークケーブルは、ＰＣＩ  Ｅｘｐｒｅｓｓ（ｘ８）用のケーブルをそのまま用いる。
【００４５】
次に、この図３に示すように、専用ＮＩＣ装置１２には、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３が搭載されている。このＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、図３に示すように、バス配線５５ａ、バス配線５５ｂを備えており、それぞれＨＵＢ接続コネクタ４０ｂ、カードエッジ４０ａに接続されている。このＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、本実施の形態において、ＰＣＩ  Ｅｘｐｒｅｓｓの信号をスイッチングするために用いている。
【００４６】
このＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、ノードコンピュータ１０からノードコンピュータ１０の外部に対して送信されたデータのパケット、及びノードコンピュータ１０がノードコンピュータ１０の外部から受信するデータのパケットのスイッチングを行う。
【００４７】
本実施の形態において特徴的なことは、コンピュータの拡張インターフェース（ＰＣＩ  Ｅｘｐｒｅｓｓ）を用いて、ネットワークを構成したことである。それを実現するための工夫の一つが、ＰＣＩ  Ｅｘｐｒｅｓｓをスイッチングするスイッチチップを用いてＮＩＣ装置を作成したことである。このスイッチチップは、ＰＣＩ  Ｅｘｐｒｅｓｓで伝送されるデータに含まれるデバイスＩＤの情報を読み込み、ＰＣＩ  Ｅｘｐｒｅｓｓのスイッチングを行い、所定のデバイスに対して、そのデータを送出することができるスイッチチップである。
【００４８】
さらに、図３に示すように、専用ＮＩＣ装置１２には、送信用ＦＩＦＯ５０ａが搭載されている。この送信用ＦＩＦＯ５０ａは、図３に示すように、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３に接続されている。この送信用ＦＩＦＯ５０ａは、送信用のバッファとしての役割を担っている。具体的には、ノードコンピュータ１０がノードコンピュータ２０に対して所定のデータを送信する場合において、まず、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３が、ノードコンピュータ１０から前記データを受信し、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３が、この送信用ＦＩＦＯ５０ａに前記データ（パケット）を一旦保存する。
【００４９】
次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、送信用ＦＩＦＯ５０ａに保存した前記データ（パケット）を所定のタイミングで読み取り、専用ＨＵＢ装置３０に対して前記データを送信する。
【００５０】
このような構成によれば、ノードコンピュータ１０から専用ＨＵＢ装置３０に対して（最終的には送信先の相手のコンピュータに対して）データを送信する動作を実行することができる。
【００５１】
また、図３に示すように、専用ＮＩＣ装置１２には、受信用ＦＩＦＯ５０ｂが搭載されている。この受信用ＦＩＦＯ５０ｂは、図３に示すように、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３に接続されており、受信用のバッファとしての役割を担っている。具体的には、ノードコンピュータ２０から、専用ＨＵＢ装置３０を介して、ノードコンピュータ１０に対して、所定のデータが送られてきた際に、まず、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３が前記受信データ（パケット）を受信用ＦＩＦＯ５０ｂに保存する。
【００５２】
次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、この受信用ＦＩＦＯ５０ｂに保存された前記データ（パケット）を所定のタイミングで読み取り、ノードコンピュータ１０に対して送信する。
【００５３】
このような構成によれば、ノードコンピュータ１０は、他のノードコンピュータ（例えばノードコンピュータ２０）から送られてきたデータを受信することができる。
【００５４】
なお、この専用ＮＩＣ装置１２自体は、従来の例えばイーサネット（登録商標）のＮＩＣ（ネットワークインターフェースカード）と同様のインターフェースカードとしてノードコンピュータ１０に認識される。例えば、ノードコンピュータ１０のアプリケーションプログラムからは、一般的なイーサネット（登録商標）に対してデータパケットを送信するのと同様にデータを送信することができる。
【００５５】
（２）  専用ＨＵＢ装置の構成
上述したように、本実施の形態では、複数のコンピュータの各拡張インターフェース（ＰＣＩ  Ｅｘｐｒｅｓｓ）同士を接続するために、専用ＨＵＢ装置３０を新規に作成した。この専用ＨＵＢ装置３０は、ＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチを備えており、このＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチによって、複数のノードコンピュータを、ＰＣＩ  Ｅｘｐｒｅｓｓを利用したネットワークで接続する。
【００５６】
以下、本節では、図５及び図６に基づいて、本実施の形態における専用ＨＵＢ装置３０の構成について説明する。図５には、専用ＨＵＢ装置３０のブロックダイヤグラムが示されている。また、図６には、専用ＨＵＢ装置３０の仕様を示す表が示されている。
【００５７】
この図５に示すように、専用ＨＵＢ装置３０には、２個のチェーンポート３２ａ、３２ｂが備えられている。これらのチェーンポート３２ａ、３２ｂには、別の専用ＨＵＢ装置を接続する。なお、下流側のチェーンポート３２ｂには、何も接続しなくてもかまわないが、上流側はルートコンプレックスを接続しておくことが好ましい接続形態の一つである。
【００５８】
専用ＨＵＢ装置をディジーチェーン接続する場合は、上流側又は下流側のチェーンポート３２ａ、３２ｂに他の専用ＨＵＢ装置を接続する。
【００５９】
さて、専用ＨＵＢ装置３０には、８個のノードポート３４ａ〜３４ｈが備えられている。これらのノードポート３４ａ〜３４ｈには、各ノードコンピュータに繋がるネットワークケーブルを接続する。
【００６０】
次に、この図５に示すように、専用ＨＵＢ装置３０は、１個のＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０を備えている。
【００６１】
このＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０は、図５に示すように、２個のチェーンポート３２ａ、３２ｂ、及び８個のノードポート３４ａ、３４ｂ、３４ｃ、３４ｄ、３４ｅ、３４ｆ、３４ｇ、３４ｈに接続されている。
【００６２】
また、このＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０は、図５に示すように、１個のＥＰＲＯＭ７０と１個の中継用ＦＩＦＯ７２とを備えている。ＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０は、専用ＨＵＢ装置３０に接続する第１のノードコンピュータ１０からデータを受信し、所定のタイミングで、そのデータを第２のノードコンピュータに送信するスイッチング動作を行う。
【００６３】
また、図５に示すように専用ＨＵＢ装置３０は、ＥＥＰＲＯＭ７０を備えている。このＥＥＰＲＯＭ７０は、専用ＨＵＢ装置３０に接続するデバイスのＩＰアドレス及びデバイスＩＤ等の情報が格納されている。本実施の形態では、例えば所定のホストコンピュータがこのＥＥＰＲＯＭ７０の内容を適宜設定し、接続するノードコンピュータの情報を登録している。
【００６４】
このようなホストコンピュータは、上述したように、ルートコンプレックスとして用いることも好適である。
【００６５】
また、専用ＨＵＢ装置３０は、中継用ＦＩＦＯ７２を備えている。この中継用ＦＩＦＯ７２は、ノードポート３４ａ〜３４ｈに接続する各ノードコンピュータから専用ＨＵＢ装置３０に対して送られてきたデータを一旦保管するデータバッファであり、高速な半導体メモリによって構成される。なお、実際の保管動作は、ＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０によって行われる。
【００６６】
さて、このＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０は、専用ＨＵＢ装置３０に接続される各ノードコンピュータから送信されたデータのパケットのスイッチングを行う。
【００６７】
本願の発明者は、ＰＣＩ  Ｅｘｐｒｅｓｓをネットワークを構成する伝送ラインとして利用するために、ＰＣＩ  Ｅｘｐｒｅｓｓで伝送されるデータに含まれるデバイスＩＤの情報を読み込み、データパケットのスイッチングを行い、専用ＨＵＢ装置３０に接続される複数のデバイス間で通信を行うために、このようなＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチを作成して利用したものである。
【００６８】
なお、ノードコンピュータに、専用ＨＵＢ装置３０の動作を管理する機能（例えば、ＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチのスイッチング動作を制御する機能や、ＥＰＲＯＭの内容を変更する機能など）を付加することも好適である。上述したように、このようなコンピュータは、特にホストコンピュータと呼ぶことが好ましい。
【００６９】
また、このホストコンピュータは、専用ＨＵＢ装置３０の上流側のチェーンポート３２ａに接続し、専用ＨＵＢ装置の動作を設定しつつ、ルートコンプレックスとして動作させることも好ましい。
【００７０】
本実施の形態においては、拡張インターフェースの例としてＰＣＩ  Ｅｘｐｒｅｓｓを使用したが、このＰＣＩ  Ｅｘｐｒｅｓｓを利用した通信形態においては、ルートコンプレックスが必要だからである。
【００７１】
第３  システムの動作
図７には、ノードコンピュータ１０、２０、２１ａ、２１ｂ、２１ｃと、専用ＨＵＢ装置３０と、ネットワークケーブルと、から構成されるネットワークの概念図が示されている。本章では、この図７に基づいて、ノードコンピュータ１０からノードコンピュータ２０に対してデータが伝送される動作について説明する。
【００７２】
まず、図７について説明する。
【００７３】
ノードコンピュータ１０、２０、２１ａ、２１ｂ、２１ｃ、が所定のネットワークケーブルによって専用ＨＵＢ装置３０に接続されている。この専用ＨＵＢ装置３０の構成は、上で説明したとおりである。
【００７４】
ノードポート３４ａには、ノードコンピュータ１０が接続されている。
【００７５】
また、ノードポート３４ｂには、ノードコンピュータ２０が接続されている。また、同様に、ノードポート３４ｃには、ノードコンピュータ２１ａが接続され、ノードポート３４ｄには、ノードコンピュータ２１ｂが接続されている。また、同様に、ノードポート３４ｅには、ノードコンピュータ２１ｃが接続されている。
【００７６】
また、ノードコンピュータ２０の専用ＮＩＣ装置２２は、専用ＮＩＣ装置１２と同様の構成をしている。すなわち、図７に示すように、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ７５、送信用ＦＩＦＯ８０ａ、受信用ＦＩＦＯ８０ｂを備えている。
【００７７】
ノードコンピュータ同士の通信に係る動作
次に、本節では、ノードコンピュータ１０及び２０との間で通信を行う場合の動作を、図８のタイムチャートを用いて説明する。
【００７８】
（１）まず、ノードコンピュータ１０が、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３に対して、宛先のノードコンピュータ２０のアドレスを含む所定のデータパケットを送信する。これは図８の（１）で表される。
【００７９】
（２）次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、このデータパケットを送信用ＦＩＦＯ５０ａに保存する。この動作が、図８中の（２）に示されている。
【００８０】
（３）次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、送信用ＦＩＦＯ５０ａに保存された前記データを読み取り、所定のタイミングで、専用ＨＵＢ装置３０に送信する。この動作が、図８中の（３）に示されている。
【００８１】
（４）専用ＨＵＢ装置３０のＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０は、専用ＮＩＣ装置１２から送信されてきた前記データパケットを、中継用ＦＩＦＯ７２に一旦保存する。この動作は、図８中の（４）に示されている。
【００８２】
（５）次に、ＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０は、上記（４）で保存した前記データパケットに含まれる宛先を抽出し、ＥＥＰＲＯＭ７０に保存されているデバイス情報を検索し、宛先（ノードコンピュータ２０及びその場所など）を特定する。そして、ノードコンピュータ２０の専用ＮＩＣ装置２２が接続するノードポートに関する情報を取得する。この動作は、図８中の（５）に示されている。
【００８３】
（６）次に、ＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ６０は、上記（４）で中継用ＦＩＦＯ７２に保存した前記データを読み取り、前記データを専用ＮＩＣ装置２２に送信する。この動作は、図８中の（６）に示されている。
【００８４】
（７）次に、専用ＮＩＣ装置２２内のＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ７５は、上記（６）で送信されてきた前記データを、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ７５が備える受信用ＦＩＦＯ８０ｂに保存する。この動作が、図８中の（７）に示されている。
【００８５】
（８）次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ７５は、上記（８）で受信用ＦＩＦＯ８０ｂに保存された前記データを、所定のタイミングで読み取り、ノードコンピュータ２０に対して送信する。この動作は、図８中の（８）に示されている。
【００８６】
以上（１）から（８）で述べた動作によって、ノードコンピュータ１０からノードコンピュータ２０に対して、データを送信することができる。
【００８７】
また、上記で述べた（１）から（８）の動作と同様の動作を行うことによって、ノードコンピュータ２０からノードコンピュータ１０に対して、データを送信することができる。すなわち、ノードコンピュータ１０とノードコンピュータ２０との間で双方向の通信を行うことができる。
【００８８】
また、上記で述べた（１）から（８）の動作において、ノードコンピュータ１０は、宛先のアドレス（ＩＰアドレスやデバイスＩＤ、ＭＡＣアドレスなど、アプリケーションによって種々のものを利用することができる）。
【００８９】
一般的には、専用ＨＵＢ装置３０の上で、所定のアドレステーブルに基づき、アドレス変換を行って、ＩＰアドレスを用いつつ、ＭＡＣアドレスやデバイスＩＤ等に変換して通信を行うことが好ましい。この場合、所定のアドレステーブルは、例えばＥＥＰＲＯＭ７０等に格納しておくことが好ましい。
【００９０】
この結果、アプリケーションプログラムを何ら変更せずに、従来の同様のＩＰアドレスによる通信をそのまま行うことができる。
【００９１】
また、上記で述べた（１）から（８）で述べた動作によって、図７中のノードコンピュータ１０、２０、２１ａ、２１ｂ、２１ｃのいずれの間においても、双方向の通信を行うことができる。
【００９２】
第４  変形例
上記実施の形態では、図２に示すように、ノードコンピュータ１０、２０、専用ＨＵＢ装置３０からなるネットワークシステムを説明したが、専用ＨＵＢ装置３０を用いずに、ノードコンピュータ１０及び２０とを接続して、双方向の通信を行うことも好ましい。
【００９３】
図９には、ノードコンピュータ１０とノードコンピュータ２０とが直接接続されてなるネットワークシステムの概念図が示されている。
【００９４】
図９に示されている構成は、専用ＨＵＢ装置３０を介さずに、専用ＮＩＣ装置１２と専用ＮＩＣ装置２２とがＰＣＩ  Ｅｘｐｒｅｓｓの拡張インターフェースによって接続されている点を除けば、図１や図２などと同様の構成である。
【００９５】
次に、ノードコンピュータ１０及び２０との間で通信が行われる動作を、図１０に基づいて説明する。
【００９６】
（Ａ）まず、ノードコンピュータ１０は、宛先のアドレス情報を含む所定のデータパケットを、専用ＮＩＣ装置１２に送信する。この動作が、図１０中の（Ａ）に示されている。
【００９７】
（Ｂ）次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、前記データパケットを、送信用ＦＩＦＯ５０ａに保存する。この動作が、図１０中の（Ｂ）に示されている。
【００９８】
（Ｃ）次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ４３は、保存した前記データパケットを読み取り、相手先のノードコンピュータ２０（の専用ＮＩＣ装置２２）に対して送信する。この動作が、図１０中の（Ｃ）に示されている。
【００９９】
（Ｄ）専用ＮＩＣ装置２２中のＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ７５は、受信したデータパケットを、受信用ＦＩＦＯ８１ｂに保存する。この動作が、図１０中の（Ｄ）に示されている。
【０１００】
（Ｅ）次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ７５は、保存した前記データパケットを読み取り、ノードコンピュータ２０に対して送信する。この動作が、図１０中の（Ｅ）に示されている。
【０１０１】
このように、上記（Ａ）から（Ｅ）で述べた動作を行うことによって、ノードコンピュータ１０からノードコンピュータ２０に対して、前記データパケットを送信することができる。
【０１０２】
また、上記（Ａ）から（Ｅ）で述べた動作と同様の動作を行うことによって、ノードコンピュータ２０からノードコンピュータ１０に対してデータパケットを送信することができる。すなわち、ノードコンピュータ１０及び２０との間で、双方向の通信が行える。
【０１０３】
また、上記で述べた（Ａ）から（Ｅ）の動作において、ノードコンピュータ１０は、相手先をそのアドレスで指定するが、アプリケーションレベルではＩＰアドレスを用いて、そのアドレスをＭＡＣアドレスやデバイスＩＤ等に変換することも好ましい。
【０１０４】
この場合、その変換は、専用ＮＩＣ装置１２が行う。専用ＮＩＣ装置１２内にこの変換のためのアドレス変換テーブルを格納した記憶手段を備えておくことが好ましい一例である。
【０１０５】
第５  まとめ
以上述べたように、本実施の形態によれば、ＰＣＩ  Ｅｘｐｒｅｓｓを利用してネットワークを構築したので、従来より高速なネットワークシステムを簡便に構築することが可能である。その結果、従来より高性能なサーバシステムやＨＰＣを実現することが可能である。
【０１０６】
第６  変形例
本実施の形態では、ＰＣＩ  Ｅｘｐｒｅｓｓを用いたが、高速な拡張インターフェースであれば、ＰＣＩ  Ｅｘｐｒｅｓｓと同様にネットワークに使用することができると考えられる。
【図面の簡単な説明】
【０１０７】
【図１】本実施の形態で採用するネットワークシステムのブロック図である。
【図２】本実施の形態に係るネットワークシステムの構成図である。
【図３】本実施の形態で採用する専用ＮＩＣ装置のブロック図である。
【図４】本実施の形態で採用する専用ＮＩＣ装置の構成を表す表である。
【図５】本実施の形態で採用する専用ＨＵＢ装置に内蔵される専用ＨＵＢ装置のブロック図である。
【図６】本実施の形態で採用する専用ＨＵＢ装置の構成を表す表である。
【図７】複数のノードコンピュータ及び専用ＨＵＢ装置で構成するネットワークの構成図である。
【図８】ノードコンピュータ同士で通信する動作を説明するタイムチャートである。
【図９】ノードコンピュータ同士を直接接続して構成するネットワークのブロック図である。
【図１０】ノードコンピュータ同士を直接接続して通信する動作を説明するタイムチャートである。
【符号の説明】
【０１０８】
１０  ノードコンピュータ
１２  専用ＮＩＣ装置
２０  ノードコンピュータ
２１ａ、２１ｂ、２１ｃ  ノードコンピュータ
２２  専用ＮＩＣ装置
２３ａ、２３ｂ、２３ｃ  専用ＮＩＣ装置
３０、３１  専用ＨＵＢ装置
３２ａ、３２ｂ  チェーンポート
３４ａ〜３４ｈ  ノードポート
３５ｃ、３５ｄ  ケーブル
４０ａ  カードエッジ
４０ｂ  ＨＵＢ接続コネクタ
４３  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ
５０ａ  送信用ＦＩＦＯ
５０ｂ  受信用ＦＩＦＯ
５５ａ、５５ｂ  バス配線
６０  ＰＣＩ  Ｅｘｐｒｅｓｓデバイススイッチ
７０  ＥＥＰＲＯＭ
７２  中継用ＦＩＦＯ
７５  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチチップ
８０ａ  送信用ＦＩＦＯ
８０ｂ  受信用ＦＩＦＯ
【図１】
0005244362.tif 000002
【図２】
0005244362.tif 000003
【図３】
0005244362.tif 000004
【図４】
0005244362.tif 000005
【図５】
0005244362.tif 000006
【図６】
0005244362.tif 000007
【図７】
0005244362.tif 000008
【図８】
0005244362.tif 000009
【図９】
0005244362.tif 000010
【図１０】
0005244362.tif 000011