JP2010263571A - ネットワークシステム、ホストコンピュータ、hub装置、nic装置、及び通信方法 - Google Patents

ネットワークシステム、ホストコンピュータ、hub装置、nic装置、及び通信方法 Download PDF

Info

Publication number
JP2010263571A
JP2010263571A JP2009114739A JP2009114739A JP2010263571A JP 2010263571 A JP2010263571 A JP 2010263571A JP 2009114739 A JP2009114739 A JP 2009114739A JP 2009114739 A JP2009114739 A JP 2009114739A JP 2010263571 A JP2010263571 A JP 2010263571A
Authority
JP
Japan
Prior art keywords
nic
data
hub device
virtual address
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009114739A
Other languages
English (en)
Other versions
JP5426228B2 (ja
Inventor
Hideto Nakayama
秀人 中山
Kazutaka Muraguchi
和孝 村口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AKIBU HOLDINGS KK
Original Assignee
AKIBU HOLDINGS KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AKIBU HOLDINGS KK filed Critical AKIBU HOLDINGS KK
Priority to JP2009114739A priority Critical patent/JP5426228B2/ja
Publication of JP2010263571A publication Critical patent/JP2010263571A/ja
Application granted granted Critical
Publication of JP5426228B2 publication Critical patent/JP5426228B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】PCI Express規格に準拠した簡易なネットワーク構成で、データの転送経路の競合が生じさせることなく、ノードコンピュータ間における高速データ通信を可能にする。
【解決手段】専用HUB装置30及び複数のNIC装置12,22を一意に識別する仮想アドレスを生成すると共に、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置12,22へのデータの送信を順次許可するホストコンピュータ1と、ホストコンピュータ1により割り当てられた仮想アドレスに基づいて、送信が許可されたノード側専用NIC装置12,22へデータを送信する専用HUB装置30と、送信されたデータをノードコンピュータへ送信するノード側専用NIC装置とを備える。
【選択図】 図1

Description

本発明は、通信速度が向上したネットワークシステム、ホストコンピュータ、HUB装置、NIC装置、及び通信方法に関する。
今日の社会では、インターネットで接続される膨大な数の情報処理端末を利用して、情報の活用が図られている。これらインターネットで接続される情報処理端末として使用されるパーソナルコンピュータや携帯電子端末は、通信技術の発達等に伴って、飛躍的に増加した。また、これらパーソナルコンピュータや携帯電子端末において、動画等の情報が扱われることが多くなり、これらの情報処理端末間で大容量の情報を短時間に伝送したいという要求が高まっている。
この要求に対して、例えば光ファイバを情報伝送媒体として利用することによって、従来のメタリックケーブルよりも高速に情報が伝送されることが実現している。
また、情報処理端末に情報を提供するサーバシステムにおいては、半導体製造技術の発達によって情報処理能力が飛躍的に向上し、情報処理速度が各サーバ間の情報伝送速度を越えるようになった。
このため、サーバシステムから情報処理端末に対してさらに高速に情報を提供するためには、このサーバシステム内における情報伝送速度を高速化させることが不可欠となっている。
一方、近年、学術研究等における高度な計算処理を行うために、HPC(High Performance Computing)と呼ばれるスーパーコンピュータが知られており、そのHPCに関して種々の研究・開発が進められている。
このHPCとは、複数のノードコンピュータをネットワークで結合して、1つのシステムに統合したものである。これら複数のノードコンピュータは何らかの媒体によって双方向の通信できるように接続され、全体として1つのコンピュータとして扱えるように制御される。そして、HPC全体で各ノードコンピュータの処理速度を超える速い処理速度を得るのである。なお、ノードコンピュータとは、HPC内のネットワークに接続されたコンピュータやHUB等の機器である。
このHPCでは、本願出願時においては、一般的に1G(10の9乗)ビット/秒の「イーサネット(登録商標)」又は「ミリネット」(Myricom社製のネットワークシステム)等の特殊なネットワークが採用されており、最大4Gビット/秒(理論最大値、双方向通信を実現した場合)を実現することが主流となっている。
HPCを構成する上記「イーサネット(登録商標)」や「ミリネット」の情報伝送速度は、本願出願時においては、各ノードコンピュータの演算速度よりも速かったため、上記「イーサネット(登録商標)」や「ミリネット」を採用することによって、各ノードコンピュータの演算能力が十分に活用できたのである。
しかし、近年、例えばAMD社のOpteron等の、従来よりも演算速度が劇的に向上したプロセッサが開発され、このプロセッサがSMPシステムのノードコンピュータに搭載されるようになった。この結果、各ノードコンピュータの演算速度がネットワークの通信速度を越えるようになり、ネットワークの通信速度が、SMPシステム全体の性能にとってボトルネックとなる場合が生じるようになった。なお、SMPシステムとは、Symmetric Multi Processing システムの略であり、システム内に実装された全てのCPUに対して均一に処理を分担させるHPCである。
このネットワークの通信速度の問題は、SMPシステムの処理速度をさらに高速化させる上で深刻な問題であり、SMPシステムを構成するネットワークの高性能化が急務となっている。
そこで、従来のネットワークよりもさらに高速に通信を行うことを目的とした種々の研究・開発が、近年活発になされている。
ネットワークの高速化に関する先行特許文献を挙げる。
下記特許文献1には、PCIバスインターフェースが、高速ネットワークのボトルネックにならないようにするための技術が開示されている。
また、下記特許文献2には、データ転送システムにおいて、ルート・コンプレックスが、サーチメッセージをツリー構造の下位に向けてブロードキャストし、スイッチが、サーチメッセージであることを確認すると、ポートに関する所定情報、具体的にはデバイス番号などを当該サーチメッセージのデータペイロード部分に付加して、ツリー構造の下位に向けて送信し、エンド・ポイントがサーチメッセージを受信すると、エンド・ポイントはルート・コンプレックスに向けてリプライメッセージを返信する技術が開示されている。
さらに、下記特許文献3には、データ転送システムにおいて、デバイスに各々上流側のスイッチに接続される複数のエンド・ポイントを持たせ、当該システム内のデバイス接続状態、各々のデバイスから取得される各デバイス機能に関する情報、エンド・ポイントに関する情報に基づき木構造中で最適となるデバイス間の経路を決定し、各デバイスに決定された当該経路情報を書き込み設定し、各々のアービタが使用するエンド・ポイントを調停する技術が開示されている。
特開2003−058395号公報 特開2006−211532号公報 特開2005−151448号公報
しかしながら、特許文献2に記載のデータ転送システムでは、ルート・コンプレックスが、サーチメッセージをツリー構造の下位に向けてブロードキャストし、最下位のエンド・ポイントがその通過点の情報をリプライメッセージとしてルート・コンプレックスに返信するので、エンド・ポイントとエンド・ポイントの間で通信を行うことができない。また、ルート・コンプレックスとエンド・ポイント間において非同期で通信を行うので、ルート・コンプレックスと他のルート・コンプレックスとの間の通信を行う場合、データの転送経路の競合が生じ、転送効率が低下してしまうという課題があった。
また、特許文献3に記載のデータ転送システムでは、デバイスに各々上流側のスイッチに接続される複数のエンド・ポイントを持たせるので、デバイスの数を増やすに従って、エンド・ポイントの数を増やす必要があり、装置構成が複雑化し、結果的に製造費用が高くなるという課題があった。
本願発明者は、上述した背景の下、PCI Express規格に準拠した拡張インターフェースを利用してサーバシステムやコンピュータクラスタにおけるノードコンピュータ間の相互通信を実現し、これを一般的なネットワークとして稼働させることを考察した。
本願発明は、上記で述べたような考えを基礎としてなされたものであり、PCI Express規格に準拠した簡易な装置構成で、データの転送経路の競合が生じさせることなく、ノードコンピュータ間における高速データ通信を可能にするネットワークシステム、ホストコンピュータ、HUB装置、NIC装置、及び通信方法を提供することにある。
上記目的を達成するため、本発明に係るホストコンピュータの第1の特徴は、複数のNIC装置それぞれに対応する複数のコンピュータと複数のNIC装置を介して接続されたHUB装置に接続されるPCI Express規格準拠のホストコンピュータであって、複数のNIC装置及びHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号をHUB装置に送信するタイムスロット制御部と、を備えることにある。
上記目的を達成するため、本発明に係るHUB装置の第1の特徴は、複数のNIC装置それぞれに対応する複数のコンピュータと複数のNIC装置を介して接続されると共に、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置のうちいずれか1つへのデータの送信を順次許可するホストコンピュータと接続されるPCI Express規格準拠のHUB装置であって、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから、タイマー割り込みに基づいた所定の時間間隔で仮想アドレスが示すNIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を備えたことにある。
上記目的を達成するため、本発明に係るHUB装置の第2の特徴は、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、データ送信部は、受信バッファに空き領域があると判定された場合、かつホストコンピュータからタイマー割り込みに基づいた所定の時間間隔で仮想アドレスが示すNIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信することにある。
上記目的を達成するため、本発明に係るHUB装置の第3の特徴は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置のデバイス情報をホストコンピュータへ送信し、ホストコンピュータから受信した初期化が検出されたNIC装置のデバイス関連情報をデバイス関連情報記憶部に記憶させると共に、当該HUB装置、及び初期化が検出されたNIC装置の仮想アドレスを初期化が検出されたNIC装置へ送信する初期化処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係るHUB装置の第4の特徴は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置のデバイス情報をホストコンピュータへ送信すると共に、デバイス関連情報記憶部から停止が検出されたNIC装置に対応するデバイス関連情報を削除する切断処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係るホスト側NIC装置の第1の特徴は、複数のNIC装置それぞれに対応する複数のコンピュータと複数のNIC装置を介して接続されたHUB装置と接続されると共に、ホストコンピュータと接続されるPCI Express規格準拠のホスト側NIC装置であって、ホストコンピュータから供給された複数のNIC装置を一意に識別する仮想アドレスと、この仮想アドレスに対応する複数のコンピュータを一意に識別するネットワークアドレスとを含むデバイス関連情報を記憶すると共に、ホストコンピュータから供給された複数のNIC装置のうちいずれか1つへのデータの送信を順次許可する順次送信許可信号を記憶する送信バッファと、送信バッファに記憶されたデバイス関連情報、又は順次送信許可信号をHUB装置へ送信する送信制御部と、を備えることにある。
上記目的を達成するため、本発明に係るNIC装置の第1の特徴は、コンピュータと接続されると共に、ホストコンピュータと接続されたHUB装置に接続されるPCI Express規格準拠のNIC装置であって、HUB装置から受信したホストコンピュータによって割り当てられたHUB装置、及び当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、ホストコンピュータによりHUB装置に送信された順次送信許可信号に基づいてHUB装置から所定の時間間隔で送信されたデータを記憶する受信バッファと、コンピュータの割り込み処理により、HUB装置に送信するデータを記憶する送信バッファと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、HUB装置から、HUB装置へデータの送信を許可する送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータをHUB装置の仮想アドレスに基づいてHUB装置に送信する送信制御部と、を備えたことにある。
上記目的を達成するため、本発明に係るネットワークシステムの第1の特徴は、複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続されたHUB装置と、このHUB装置にホスト側NIC装置を介して接続されたホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、ホストコンピュータは、複数のNIC装置及びHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号をHUB装置に送信するタイムスロット制御部と、を有し、HUB装置は、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから、順次送信許可信号を受信した場合に、決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を有し、複数のNIC装置は、HUB装置から受信したホストコンピュータによって割り当てられたHUB装置、及び当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、ホストコンピュータによりHUB装置に送信された順次送信許可信号に基づいてHUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、コンピュータの割り込み処理により、HUB装置に送信するデータを記憶する送信バッファと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、HUB装置から、HUB装置へデータの送信を許可する送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータをHUB装置の仮想アドレスに基づいてHUB装置に送信する送信制御部と、を有することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第2の特徴は、複数のNIC装置それぞれに対応する複数のコンピュータと複数のNIC装置を介して接続されたHUB装置と、このHUB装置にホスト側NIC装置を介して接続されたホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、ホストコンピュータは、複数のNIC装置及びHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号をHUB装置に送信するタイムスロット制御部と、を有し、HUB装置は、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから、順次送信許可信号を受信した場合に、決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を有することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第3の特徴は、複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続される共に、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置のうちいずれか1つへのデータの送信を順次許可するホストコンピュータと接続されたHUB装置とを備えるPCI Express規格準拠のネットワークシステムであって、HUB装置は、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから、タイマー割り込みに基づいた所定の時間間隔で仮想アドレスが示すNIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を有し、複数のNIC装置は、HUB装置から受信したホストコンピュータによって割り当てられたHUB装置、及び当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、ホストコンピュータによりHUB装置に送信された順次送信許可信号に基づいてHUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、コンピュータの割り込み処理により、HUB装置に送信するデータを記憶する送信バッファと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、HUB装置から、HUB装置へデータの送信を許可する送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータをHUB装置の仮想アドレスに基づいてHUB装置に送信する送信制御部と、を有することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第4の特徴は、HUB装置は、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、データ送信部は、受信バッファに空き領域があると判定された場合、かつホストコンピュータからタイマー割り込みに基づいた所定の時間間隔で仮想アドレスが示すNIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第5の特徴は、HUB装置は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置のデバイス情報をホストコンピュータへ送信し、ホストコンピュータから受信した初期化が検出されたNIC装置のデバイス関連情報をデバイス関連情報記憶部に記憶させると共に、当該HUB装置、及び初期化が検出されたNIC装置の仮想アドレスを初期化が検出されたNIC装置へ送信する初期化処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係るネットワークシステムの第6の特徴は、HUB装置は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置のデバイス情報をホストコンピュータへ送信すると共に、デバイス関連情報記憶部から停止が検出されたNIC装置に対応するデバイス関連情報を削除する切断処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係るホストコンピュータの第2の特徴は、複数のNIC装置それぞれに対応する複数のコンピュータと複数のNIC装置を介して接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置とが、第1のHUB装置を上流側としてディジーチェーン接続されるPCI Express規格準拠のホストコンピュータであって、第1のHUB装置、又は第2のHUB装置に接続された複数のNIC装置、第1のHUB装置、並びに第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を第1のHUB装置に送信するタイムスロット制御部と、を備えることにある。
上記目的を達成するため、本発明に係る第1のHUB装置の第1の特徴は、複数のNIC装置それぞれに対応する複数のコンピュータと複数のNIC装置を介して接続されると共に、ディジーチェーン接続により当該第1のHUB装置の上流端に、複数のNIC装置のうちいずれか1つへのデータの送信をタイマー割り込みに基づいた所定の時間間隔で順次許可するホストコンピュータが接続され、当該第1のHUB装置の下流側に、当該第1のHUB装置と同一構成を有する第2のHUB装置が接続されるPCI Express規格準拠の第1のHUB装置であって、当該第1のHUB装置に接続された複数のNIC装置のうち、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、受信した要求信号とネットワークアドレスを含むデータとを、ディジーチェーン接続により上流側に接続されたホストコンピュータ又は他のHUB装置に転送するデータ転送部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから、タイマー割り込みに基づいた所定の時間間隔で仮想アドレスが示すNIC装置へのデータの送信を順次許可する順次送信許可信号を受信した場合に、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を備えたことにある。
上記目的を達成するため、本発明に係る第1のHUB装置の第2の特徴は、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、データ送信部は、受信バッファ状態判定部により受信バッファに空き領域があると判定された場合、かつホストコンピュータからタイマー割り込み基づいた所定の時間間隔で仮想アドレスが示すNIC装置へのデータの送信を順次許可する順次送信許可信号を受信した場合に、受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信することにある。
上記目的を達成するため、本発明に係る第1のHUB装置の第3の特徴は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置のデバイス情報をホストコンピュータへ送信し、ホストコンピュータから受信した初期化が検出されたNIC装置のデバイス関連情報をデバイス関連情報記憶部に記憶させると共に、当該第1のHUB装置、及び初期化が検出されたNIC装置の仮想アドレスを初期化が検出されたNIC装置へ送信する初期化処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係る第1のHUB装置の第4の特徴は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置のデバイス情報をホストコンピュータへ送信すると共に、デバイス関連情報記憶部から停止が検出されたNIC装置に対応するデバイス関連情報を削除する切断処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係るネットワークシステムの第7の特徴は、複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置と、第1のHUB装置を上流側としてディジーチェーン接続されるホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、ホストコンピュータは、第1のHUB装置、又は第2のHUB装置に接続された複数のNIC装置、第1のHUB装置、並びに第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を第1のHUB装置に送信するタイムスロット制御部と、を有し、第1のHUB装置は、当該第1のHUB装置に接続された複数のNIC装置のうち、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、受信した要求信号とネットワークアドレスを含むデータとを、ディジーチェーン接続により上流側に接続されたホストコンピュータ又は他のHUB装置に転送するデータ転送部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから順次送信許可信号を受信した場合に、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を有し、第1のHUB装置に接続された複数のNIC装置は、第1のHUB装置受信したホストコンピュータによって割り当てられたHUB装置、及び当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、順次送信許可信号に基づいて第1のHUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、コンピュータの割り込み処理により、第1のHUB装置に送信するデータを記憶する送信バッファと、
受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、第1のHUB装置から、第1のHUB装置へデータの送信を許可する送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータを第1のHUB装置の仮想アドレスに基づいて第1のHUB装置に送信する送信制御部と、を有することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第8の特徴は、複数のコンピュータとそれぞれ接続された複数のNIC装置と接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置と、第1のHUB装置を上流側としてディジーチェーン接続されるホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、ホストコンピュータは、第1のHUB装置、又は第2のHUB装置に接続された複数のNIC装置、第1のHUB装置、並びに第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を第1のHUB装置に送信するタイムスロット制御部と、を有し、第1のHUB装置は、当該第1のHUB装置に接続された複数のNIC装置のうち、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、受信した要求信号とネットワークアドレスを含むデータとを、ディジーチェーン接続により上流側に接続されたホストコンピュータ又は他のHUB装置に転送するデータ転送部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから順次送信許可信号を受信した場合に、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を有することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第9の特徴は、複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続される共に、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置のうちいずれか1つへのデータの送信を順次許可するホストコンピュータと接続された第1のHUB装置と、この第1のHUB装置の下流側にディジーチェーン接続された第1のHUB装置と同一構成を有する第2のHUB装置とを備えるPCI Express規格準拠のネットワークシステムであって、第1のHUB装置は、当該第1のHUB装置に接続された複数のNIC装置のうち、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、受信した要求信号とネットワークアドレスを含むデータとを、ディジーチェーン接続により上流側に接続されたホストコンピュータ又は他のHUB装置に転送するデータ転送部と、配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、ホストコンピュータから順次送信許可信号を受信した場合に、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信部と、を有し、第1のHUB装置に接続された複数のNIC装置は、第1のHUB装置から受信したホストコンピュータによって割り当てられた第1のHUB装置、及び当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、順次送信許可信号に基づいて第1のHUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、コンピュータの割り込み処理により、第1のHUB装置に送信するデータを記憶する送信バッファと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、第1のHUB装置から、第1のHUB装置へデータの送信を許可する送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータを第1のHUB装置の仮想アドレスに基づいて第1のHUB装置に送信する送信制御部と、を有することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第10の特徴は、第1のHUB装置は、ポート番号決定部により決定されたポート番号が示すポートに接続された1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、データ送信部は、受信バッファに空き領域があると判定された場合、かつホストコンピュータから順次送信許可信号を受信した場合に、受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第11の特徴は、第1のHUB装置は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置のデバイス情報をホストコンピュータへ送信し、ホストコンピュータから受信した初期化が検出されたNIC装置のデバイス関連情報をデバイス関連情報記憶部に記憶させると共に、当該HUB装置、及び初期化が検出されたNIC装置の仮想アドレスを初期化が検出されたNIC装置へ送信する初期化処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係るネットワークシステムの第12の特徴は、第1のHUB装置は、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するNIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置のデバイス情報をホストコンピュータへ送信すると共に、デバイス関連情報記憶部から停止が検出されたNIC装置に対応するデバイス関連情報を削除する切断処理部と、を更に備えたことにある。
上記目的を達成するため、本発明に係るホストコンピュータの第3の特徴は、NIC装置を介してコンピュータに接続されるPCI Express規格準拠のホストコンピュータであって、NIC装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔でNIC装置へのデータの送信を順次許可する順次送信許可信号をNIC装置に送信するタイムスロット制御部と、を備えることにある。
上記目的を達成するため、本発明に係るNIC装置の第2の特徴は、コンピュータと接続されると共に、ホストコンピュータとホスト側NIC装置を介して接続されるPCI Express規格準拠のNIC装置であって、ホスト側NIC装置から受信したホストコンピュータによって割り当てられた当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、ホストコンピュータから所定の時間間隔で送信されたデータを記憶する受信バッファと、コンピュータの割り込み処理により、ホストコンピュータに送信するデータを記憶する送信バッファと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、ホストコンピュータからタイマー割り込み基づいた所定の時間間隔でデータ送信を順次許可する順次送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータをホストコンピュータに送信する送信制御部と、を備えることにある。
上記目的を達成するため、本発明に係るネットワークシステムの第13の特徴は、コンピュータとそれぞれ接続されたNIC装置と、このNIC装置にホスト側NIC装置を介して接続されるホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、ホストコンピュータは、NIC装置を一意に識別する仮想アドレスを生成するアドレス生成部と、アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔でNIC装置へのデータの送信を順次許可する順次送信許可信号をNIC装置に送信するタイムスロット制御部と、を有し、NIC装置は、ホスト側NIC装置から受信したホストコンピュータによって割り当てられた当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、ホストコンピュータから所定の時間間隔で送信されたデータを記憶する受信バッファと、コンピュータの割り込み処理により、ホストコンピュータに送信するデータを記憶する送信バッファと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、ホストコンピュータから順次送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータをホストコンピュータに送信する送信制御部と、を有することにある。
上記目的を達成するため、本発明に係るネットワークシステムの第14の特徴は、複数のコンピュータと複数のNIC装置との間、複数のNIC装置とHUB装置との間、HUB装置とホスト側NIC装置との間、及び/又はHUB装置とホスト側NIC装置との間を接続するPCI Express規格準拠のケーブルに配置され、送信されるデータのデジタル信号をアナログ変換して得たアナログ信号からノイズ含む余剰信号を削除し、このノイズが削除されたアナログ信号を増幅し、この増幅されたアナログ信号をデジタル変換する強調回路と、を更に備えたことにある。
上記目的を達成するため、本発明に係るネットワークシステムの第15の特徴は、複数のコンピュータと複数のNIC装置との間、複数のNIC装置とHUB装置との間、HUB装置とホスト側NIC装置との間、及び/又はHUB装置とホスト側NIC装置との間を接続するPCI Express規格準拠のケーブルに配置されるノイズ除去回路であって、ケーブルの上流側に配置された上流側抵抗と、ケーブルの下流側において、ケーブルとグランドとを接続する下流側抵抗と、を備え、下流側抵抗の抵抗値が、ケーブルのインピーダンスの二乗を上流側抵抗の抵抗値で除した値であることにある。
上記目的を達成するため、本発明に係る通信方法の第1の特徴は、複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続されたHUB装置と、このHUB装置にホスト側NIC装置を介して接続されたホストコンピュータとを備えたネットワークシステムを用いて、PCI Express規格に準拠した通信を行う通信方法であって、ホストコンピュータにより、複数のNIC装置及びHUB装置を一意に識別する仮想アドレスを生成するアドレス生成ステップと、アドレス生成部により生成された仮想アドレスをアドレス記憶部に記憶させるアドレス記憶ステップと、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号をHUB装置に送信するタイムスロット制御ステップと、を有し、HUB装置により、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報としてデバイス関連情報記憶部に記憶させるデバイス関連情報記憶ステップと、複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定ステップと、ホストコンピュータから、順次送信許可信号を受信した場合に、決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信ステップと、を有し、複数のNIC装置により、HUB装置から受信したホストコンピュータによって割り当てられたHUB装置、及び当該NIC装置を一意に識別する仮想アドレスを受信バッファに記憶させると共に、ホストコンピュータによりHUB装置に送信された順次送信許可信号に基づいてHUB装置から、所定の時間間隔で送信されたデータを受信バッファに記憶させる受信データ記憶ステップと、コンピュータの割り込み処理により、HUB装置に送信するデータを送信バッファに記憶させる送信データ記憶ステップと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、HUB装置から、HUB装置へデータの送信を許可する送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータをHUB装置の仮想アドレスに基づいてHUB装置に送信する送信制御ステップと、を有することにある。
上記目的を達成するため、本発明に係る通信方法の第2の特徴は、複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置と、第1のHUB装置を上流側としてディジーチェーン接続されるホストコンピュータとを備えるネットワークシステムを用いて、PCI Express規格に準拠した通信を行う通信方法であって、ホストコンピュータにより、第1のHUB装置、又は第2のHUB装置に接続された複数のNIC装置、第1のHUB装置、並びに第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成ステップと、アドレス生成部により生成された仮想アドレスをアドレス記憶部に記憶させるアドレス記憶ステップと、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を第1のHUB装置に送信するタイムスロット制御ステップと、を有し、第1のHUB装置により、当該第1のHUB装置に接続された複数のNIC装置のうち、ホストコンピュータによって割り当てられた複数のNIC装置を一意に識別する仮想アドレスと、複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報としてデバイス関連情報記憶部に記憶させるデバイス関連情報記憶ステップと、第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定ステップと、配下判定ステップにより当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、受信した要求信号とネットワークアドレスを含むデータとを、ディジーチェーン接続により上流側に接続されたホストコンピュータ又は他のHUB装置に転送するデータ転送ステップと、配下判定ステップにより当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定ステップと、ホストコンピュータから順次送信許可信号を受信した場合に、ポート番号決定ステップにより決定されたポート番号が示すポートに接続された1又は複数のNIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するNIC装置へデータを送信するデータ送信ステップと、を有し、第1のHUB装置に接続された複数のNIC装置により、第1のHUB装置から受信したホストコンピュータによって割り当てられた第1のHUB装置、及び当該NIC装置を一意に識別する仮想アドレスを受信バッファに記憶させると共に、ホストコンピュータにより送信された順次送信許可信号に基づいて第1のHUB装置から、所定の時間間隔で送信されたデータを受信バッファに記憶させる受信データ記憶ステップと、コンピュータの割り込み処理により、第1のHUB装置に送信するデータを送信バッファに記憶させる送信データ記憶ステップと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、第1のHUB装置から、第1のHUB装置へデータの送信を許可する送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータを第1のHUB装置の仮想アドレスに基づいて第1のHUB装置に送信する送信制御ステップと、を有することにある。
上記目的を達成するため、本発明に係る通信方法の第3の特徴は、コンピュータとそれぞれ接続されたNIC装置と、このNIC装置にホスト側NIC装置を介して接続されるホストコンピュータとを備えるネットワークシステムを用いて、PCI Express規格に準拠した通信を行う通信方法であって、ホストコンピュータにより、NIC装置を一意に識別する仮想アドレスを生成するアドレス生成ステップと、アドレス生成部により生成された仮想アドレスをアドレス記憶部に記憶させるアドレス記憶ステップと、記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔でNIC装置へのデータの送信を順次許可する順次送信許可信号をNIC装置に送信するタイムスロット制御ステップと、を有し、NIC装置により、ホスト側NIC装置から受信したホストコンピュータによって割り当てられた当該NIC装置を一意に識別する仮想アドレスを受信バッファに記憶させると共に、ホストコンピュータから所定の時間間隔で送信されたデータを受信バッファに記憶させる受信データ記憶ステップと、コンピュータの割り込み処理により、ホストコンピュータに送信するデータを送信バッファに記憶させる送信データ記憶ステップと、受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の仮想アドレスを、コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりコンピュータに送信すると共に、ホストコンピュータから順次送信許可信号を受信した場合に、送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の仮想アドレスに変換し、この変換後のデータをホストコンピュータに送信する送信制御ステップと、を有することにある。
以上述べたように、本発明に係るネットワークシステム、ホストコンピュータ、HUB装置、NIC装置、及び通信方法によれば、PCI Express規格に準拠した簡易なネットワーク構成で、データの転送経路の競合が生じさせることなく、ノードコンピュータ間における高速データ通信を可能にすることができる。
本発明の実施例1であるネットワークシステムのブロック概念図である。 本発明の実施例1であるネットワークシステムにおける各装置と専用HUB装置30との接続についてより詳細に表した図である。 本発明の実施例1であるネットワークシステムのホストコンピュータ1の構成を示した構成図である。 本発明の実施例1であるネットワークシステムのホストコンピュータ1のメモリ5に記憶されたデバイス関連情報の一例を示した図である。 本発明の実施例1であるネットワークシステムのホスト側専用NIC装置の構成を示した構成図である 本発明の実施例1であるネットワークシステムのホスト側専用NIC装置の仕様を示す表である。 本発明の実施例1であるネットワークシステムのノード側専用NIC装置の構成を示す構成図が示されている。 本発明の実施例1であるネットワークシステムのノード側専用NIC装置の仕様を示す表が示されている。 本発明の実施例1であるネットワークシステムの専用HUB装置の構成を示す構成図である。 本発明の実施例1であるネットワークシステムの専用HUB装置の仕様を示す表が示されている。 本発明の実施例1であるネットワークシステムのシステム構成図である。 本発明の実施例1であるネットワークシステムにおいて、ノードコンピュータ間で通信する場合におけるネットワーク構成の概念を示した図である。 本発明の実施例1であるネットワークシステムにおいて、ノードコンピュータ間のパケット通信を行う際の、データパケットの例を示した図である。 本発明の実施例1であるネットワークシステムにおけるノード側専用NIC装置12の検出時の動作を示したシーケンス図である。 本発明の実施例1であるネットワークシステムにおけるノード側専用NIC装置12の切断時の動作を示したシーケンス図である。 本発明の実施例1であるネットワークシステムにおけるノードコンピュータ間で通信を行う場合の動作の概略を示したタイムチャートである。 本発明の実施例1であるネットワークシステムにおけるノードコンピュータ間で通信を行う場合の動作の詳細を示したシーケンス図である。 本発明の実施例1であるネットワークシステムにおけるノードコンピュータ間で通信を行う場合の動作の詳細を示したシーケンス図である。 本発明の実施例1であるネットワークシステムの専用HUB装置における分割記憶処理の処理手順を示したフローチャートである。 本発明の実施例2であるネットワークシステムのシステム構成図である。 本発明の実施例2であるネットワークシステムの専用HUB装置30Aの構成を示した構成図である。 本発明の実施例2であるネットワークシステムにおいて、ノードコンピュータ間のデータ通信の動作を示したシーケンス図である。 本発明の実施例2であるネットワークシステムにおいて、ノードコンピュータ間のデータ通信の動作を示したシーケンス図である。 本発明の実施例2であるネットワークシステムにおいて、ノードコンピュータ間のデータ通信の動作を示したシーケンス図である。 本発明の実施例2であるネットワークシステムの専用HUB装置における分割記憶処理の処理手順を示したフローチャートである。 本発明の実施例3であるネットワークシステムにおいてノードコンピュータ間で通信する場合におけるネットワーク構成の概念を示した図である。 本発明の実施例4であるネットワークシステムのシステム構成図である。 本発明の実施例4であるネットワークシステムにおいて、ホストコンピュータとノードコンピュータとの間で通信を行う場合の動作の概略をしめしたタイムチャートである。 本発明の実施例4であるネットワークシステムにおいて、ホストコンピュータからノードコンピュータへデータを送信する場合におけるデータ通信の動作を示したシーケンス図である。 本発明の実施例5であるネットワークシステムに備えられた強調回路の構成を示す構成図である。 本発明の実施例6であるネットワークシステムに備えられたノイズ除去回路の構成を示す構成図である。
以下、本発明の好ましい形態を図面に基づいて説明する。
<実施例1>
本発明の実施例1であるネットワークシステムについて、説明する。
≪ネットワークシステムの概要≫
上述したように、本願発明者らは、コンピュータの拡張インターフェースをネットワークとして活用しうるシステムを開発した。コンピュータの拡張インターフェースでは、そのコンピュータのクロックに基づいてデータの伝送が行われる。
本願発明者らは、複数のコンピュータの各拡張インターフェース同士を接続するために、各コンピュータの間にバッファ手段を設けて、各コンピュータの拡張インターフェース同士を接続した。
本発明の実施例1であるネットワークシステムにおいては、高速な拡張インターフェースであるPCI Expressをネットワークとして利用した。すなわち、本発明の実施例1では、PCI Express規格に準拠した専用NIC装置及び専用HUB装置を新規に作成すると共に、PCI Express規格に準拠したホストコンピュータを新規に作成し、これら専用NIC装置と専用HUB装置とホストコンピュータとを用いて、PCI Expressのネットワークを構成した。
図1には、本発明の実施例1であるネットワークシステム100のブロック概念図が示されている。この図1に示すように、ノードコンピュータ10の拡張インターフェース(PCI Express)には、ノード側専用NIC装置12が接続されている。また、図1中のノードコンピュータ20の拡張インターフェース(PCI Express)には、ノード側専用NIC装置22が接続されており、ホストコンピュータ1の拡張インターフェース(PCI Express)には、ホスト側専用NIC装置2が接続されている。
さらに、これらノード側専用NIC装置12、22、及びホスト側専用NIC装置2は、図1に示すように、それぞれ専用HUB装置30に接続されている。
この図1中の、ノードコンピュータ10の拡張スロットにノード側専用NIC装置12が挿入され、ノードコンピュータ10とノード側専用NIC装置12との間でPCI Express規格に基づいたデータ通信が行われる。また、図1中の、ノードコンピュータ20の拡張スロットにノード側専用NIC装置22が挿入され、ノードコンピュータ20とノード側専用NIC装置22との間でPCI Express規格に基づいた通信が行われる。さらに、ホストコンピュータ1の拡張スロットにホスト側専用NIC装置2が挿入され、ホストコンピュータ1は、ホスト側専用NIC装置2を介して、専用HUB装置30に、ノードコンピュータ10,20へのデータの送信を順次許可する。
また、図1中の、ノード側専用NIC装置12及び専用HUB装置30はPCI Expressのケーブル35cで接続されており、専用HUB装置30に対してデータが伝送される。また、図1中のノード側専用NIC装置22及び専用HUB装置30はPCI Expressのケーブル35dで接続されており、専用HUB装置30に対してデータが伝送される。さらに、図1中のホスト側専用NIC装置2及び専用HUB装置30はPCI Expressのケーブル35eで接続されており、専用HUB装置30に対してデータが伝送される。
このような構成によれば、本発明の実施例1であるネットワークシステム100を構成する各装置間において、PCI Express規格に基づいたデータ伝送が可能となる。
≪PCI Expressについて ≫
ここで、一般的に知られているPCI Express規格について説明する。
よく知られているように、PCI Express規格では、差動信号によるシリアル通信を行っている。片方向の伝送路を1組用意し、双方向にしたものを「レーン」と呼ぶ。また、2つのデバイスを接続するPCI Expressの伝送路を「リンク」と言う。1つのリンクは、最大32のレーンから構成することができる。1レーンで構成されたリンクを「PCIe x1」と表す。32レーンで構成されたリンクは同様に「PCIe x32」と表す。
ここで、PCI Express規格のデータ伝送帯域幅は、1レーンあたり、250Mバイト/秒であるので、1リンクあたり0.5Gバイト/秒であり、最大のレーン数であるPCIe x32で構成されたとすると、理論上、16Gバイト/秒でデータを伝送することが可能となる。
また、PCI Express規格では、メモリやCPUとルート・コンプレックスとを接続するデータ伝送路(バス)はエンベッデッドクロックと呼ばれるデータ自体にクロック信号を埋め込んだ状態でデータ転送が行われる。そして、データの伝送は、この動作周波数であるエンベッデッドクロックに基づき行われる。なお、エンベッデッドクロック以外にもリファレンスクロックと呼ばれるクロック信号のみの差動信号も利用される。PCI Express規格のRevision1.1では、このリファレンスクロックが100MHzに規定されている。
≪専用HUB装置との接続≫
図2は図1と同様の図であるが、各装置と専用HUB装置30との接続について、より詳細に表した図である。
この図2に示すように、専用HUB装置30は、上流側のチェーンポート32a、下流側のチェーンポート32bを有している。上流側のチェーンポート32aには、ディジーチェーン接続によって、ホスト側専用NIC装置2を介してホストコンピュータ1や、別の専用HUB装置を接続することができる。図2に示した例では、ホスト側専用NIC装置2を介してホストコンピュータ1を接続している。このように、ディジーチェーン接続による専用HUB装置の中で最上流に位置する専用HUB装置の上流側のチェーンポートには、ホスト側専用NIC装置2を介してホストコンピュータ1を接続する。
また、下流側のチェーンポート32bには、ディジーチェーン接続によって、別の専用HUB装置を接続することができる。図2に示した例では、下流側のチェーンポート32bには何も接続していない。
また、この専用HUB装置30は、ノードポート34a、34b、34c、34d、34e、34f、34g、34hを有している。図2では、これらのうちノードポート34aに、ノードコンピュータ10がノード側専用NIC装置12を介して接続され、ノードポート34bに、ノードコンピュータ20がノード側専用NIC装置22を介して接続されている。 さらに、図示しないが、ノードポート34c、34d、34e、34f、34g、34hについても同様に、ノード側専用NIC装置を介してノードコンピュータがそれぞれ接続されている。
なお、本発明の実施例1では、便宜上、図2中の各チェーンポート32a、32bでは、PCIe x8に基づく通信が行われ、各ノードポート34a〜34hでは、PCIe x4に基づく通信が行われている。もちろん他のレーン数を採用してもかまわない。
以上述べた構成によって、ノードコンピュータ10及び20は、PCI Express拡張インターフェースを利用したネットワークで接続され、高速な通信を実現する。
≪ホストコンピュータの構成≫
次に、本発明の実施例1であるネットワークシステム100のホストコンピュータ1について説明する。
図3は、本発明の実施例1であるネットワークシステム100のホストコンピュータ1の構成を示した構成図である。
図3に示すように、ホストコンピュータ1は、CPU3と、ルート・コンプレックス4と、メモリ5と、PCI Expressホストスイッチ6と、エンド・ポイント7と、拡張スロット8とを備えている。
CPU3は、中央演算処理装置であり、ホストコンピュータ1の中枢的な制御を行う。
ルート・コンプレックス4は、I/O構造の最上位に位置し、CPU3やメモリ5をI/Oに接続する。また、ルート・コンプレックス4は、1つ以上のPCI Expressポートを持つ。なお、図3では、1つのPCI Expressポートを持ち、このPCI ExpressポートからPCI Expressホストスイッチ6に接続されている。
メモリ5は、揮発性の半導体素子により構成され、ホストコンピュータ1が動作する上で必要な各種データを記憶すると共に、デバイス関連情報を記憶する。
図4は、ホストコンピュータ1のメモリ5に記憶されたデバイス関連情報の一例を示した図である。
図4に示すように、カラム名“デバイス番号”(符号201)と、カラム名“バス番号”(符号202)と、カラム名“スロット番号”(符号203)と、カラム名“仮想アドレス”(符号204)と、カラム名“IPアドレス”(符号205)と、カラム名“MACアドレス”(符号206)とが関連付けられてデバイス関連情報として記憶されている。
なお、ここでは、デバイス番号201と、バス番号202と、スロット番号203とをデバイス情報207といい、IPアドレス205と、MACアドレス206とをネットワークアドレスという。
仮想アドレス204は、CPU3により生成される専用HUB装置、及びノード側専用NIC装置を一意に識別するアドレスであり、デバイス番号201と、バス番号202との組み合わせや、デバイス番号201と同一のものとしてもよい。
PCI Expressホストスイッチ6は、2つ以上のポートを結合し、ポート間でのルート・コンプレックス4とエンド・ポイント7間と、ルート・コンプレックス4とスロット8間とのスイッチを行う。
エンド・ポイント7は、PCI Express規格に準拠したI/O構造で末端に位置するデバイスである。
拡張スロット8は、PCI Express規格に準拠したホスト側専用NIC装置2を挿入するための拡張インターフェースである。
また、CPU3は、その機能上、アドレス生成部3aと、タイムスロット制御部3bを備えている。
アドレス生成部3aは、専用HUB装置、及びノード側専用NIC装置を一意に識別する仮想アドレスを生成する。
タイムスロット制御部3bは、メモリ5に記憶されたデバイス関連情報の仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で、専用HUB装置30に接続されたノード側専用NIC装置へのデータの送信を順次許可する順次送信許可信号を専用HUB装置30に送信する。
≪ホスト専用NIC装置の構成≫
本発明の実施例1であるネットワークシステム100のホストコンピュータ1の拡張スロット8に挿入されるホスト側専用NIC 装置2の構成について説明する。
ホストコンピュータ1のPCI Expressインターフェースでは、PCI Express規格に準拠してパケット通信が行われるため、ホストコンピュータ1と専用HUB装置30と接続して互いに通信を行うために、パケットを保管する何らかの手段が必要である。 具体的には、専用HUB装置30から送信されたデータを記憶したり、ホストコンピュータ1から供給されたデータを記憶する必要がある。
さらに、ホストコンピュータ1のタイムスロット制御部3bは、メモリ5に記憶された仮想アドレスに基づいて、専用HUB装置30に接続されたノード側専用NIC装置へのデータの送信を順次許可する順次送信許可信号を所定の時間間隔で専用HUB装置30に送信する。そのため、この順次送信許可信号を記憶する必要がある。
そこで、本発明の実施例1では、送信用バッファ、受信用バッファ、及びPCI Expressスイッチチップを備えたホスト側専用NIC装置2を新規に作成した。
以下、図5及び図6に基づいて、ホスト側専用NIC装置2の構成について説明する。
まず、図5は、本発明の実施例1であるネットワークシステム100におけるホスト側専用NIC装置2のブロック図であり、図6は、ホスト側専用NIC装置2の仕様を示す表である。
図5に示すように、ホスト側専用NIC装置2は、1個のカードエッジ41aを備えている。このカードエッジ41aは、ホストコンピュータ1の拡張スロット8に挿入され、ホストコンピュータ1との間でPCI Express規格に基づく通信が行われる。
また、この図5に示すように、ホスト側専用NIC装置2には、1個のHUB接続コネクタ41bが備えられている。このHUB接続コネクタ41bには、専用HUB装置30と繋がるネットワークケーブルが接続される。この結果、専用HUB装置30との間において、PCI Express規格に基づく通信が行われる。なお、ネットワークケーブルは、PCI Express規格に準拠したケーブルを用いる。
さらに、図5に示すように、ホスト側専用NIC装置2には、PCI Expressスイッチチップ44が搭載されている。このPCI Expressスイッチチップ44は、図5に示すように、バス配線45a、バス配線45bを備えており、それぞれHUB接続コネクタ41b、カードエッジ41aに接続されている。
このPCI Expressスイッチチップ44は、ホストコンピュータ1から専用HUB装置30に対して送信されたデータのパケット、及びホストコンピュータ1が専用HUB装置30から受信するデータのパケットのスイッチングを行う。また、PCI Expressスイッチチップ44は、その機能上、送信バッファ42aに記憶されたデバイス関連情報等のデータや順次送信許可信号を専用HUB装置30へ送信し、受信バッファ42bに記憶されたデータをホストコンピュータ1へ送信する送信制御部44aを備えている。
さらに、図5に示すように、ホスト側専用NIC装置2には、送信用バッファ42aが搭載されている。この送信用バッファ42aは、PCI Expressスイッチチップ44に接続されている。この送信用バッファ42aは、送信用のデータの一時記憶部としての役割を担っている。具体的には、ホストコンピュータ1が専用HUB装置30に対して所定のデータを送信する場合において、まず、PCI Expressスイッチチップ44の送信制御部44aが、ホストコンピュータ1からデータを受信し、送信用バッファ50aにデータを一時的に記憶する。
次に、PCI Expressスイッチチップ44の送信制御部44aは、送信用バッファ42aに記憶したデータを所定のタイミングで読み取り、専用HUB装置30に対してデータを送信する。
また、送信用バッファ42aは、ホストコンピュータ1から供給された専用HUB装置30、及び各ノードコンピュータに接続されたノード側専用NIC装置を一意に識別する仮想アドレスと、この仮想アドレスに対応するコンピュータを一意に識別するネットワークアドレスとを含むデバイス関連情報を一時的に記憶する。
そして、PCI Expressスイッチチップ44の送信制御部44aは、送信用バッファ42aに記憶したデバイス関連情報を所定のタイミングで読み取り、専用HUB装置30に対してデバイス関連情報を送信する。
さらに、送信用バッファ42aは、ホストコンピュータ1から供給された、専用HUB装置30に接続されたノード側専用NIC装置のうちいずれか1つへのデータの送信を順次許可する順次送信許可信号を一時的に記憶する。
そして、PCI Expressスイッチチップ44の送信制御部44aは、送信用バッファ42aに記憶した順次送信許可信号を所定のタイミングで読み取り、専用HUB装置30に対して読み出した順次送信許可信号を送信する。
このような構成によれば、ホストコンピュータ1から専用HUB装置30に対してデータを送信する動作を実行することができ、また、ホストコンピュータ1は、専用HUB装置30に各ノードコンピュータへのデータ送信を順次許可することができる。
また、図5に示すように、ホスト側専用NIC装置2には、受信用バッファ42bが搭載されている。この受信用バッファ42bは、図5に示すように、PCI Expressスイッチチップ44に接続されており、受信用のデータの一時記憶部としての役割を担っている。具体的には、専用HUB装置30から、ホストコンピュータ1に対して、所定のデータが送られてきた際に、まず、PCI Expressスイッチチップ44の送信制御部44aが受信データを受信用バッファ42bに一時的に記憶する。
次に、PCI Expressスイッチチップ44の送信制御部44aは、この受信用バッファ42bに記憶されたデータを所定のタイミングで読み取り、ホストコンピュータ1に対して送信する。
このような構成によれば、ホストコンピュータ1は、専用HUB装置30から送られてきたデータを受信することができる。
なお、このホスト側専用NIC装置2自体は、従来の例えばイーサネット(登録商標)のNIC(ネットワークインターフェースカード)と同様のインターフェースカードとしてホストコンピュータ1に認識される。例えば、ホストコンピュータ1のアプリケーションプログラムからは、一般的なイーサネット(登録商標)に対してデータパケットを送信するのと同様にデータを送信することができる。
≪ノード側専用NIC装置の構成≫
上述したように、本発明の実施例1では、複数のコンピュータの各拡張インターフェース(PCI Express)同士を接続して、ネットワークを構成するために、ノード側専用NIC装置を新規に作成した。
各コンピュータのPCI Expressインターフェースでは、パケット通信が行われるため、各コンピュータのPCI Express拡張インターフェース同士を接続して互いに通信を行うために、パケットを保管する何らかの手段が必要である。
また、各ノードコンピュータは、接続されたノード側専用NIC装置を一意に識別するために、接続されたノード側専用NIC装置の仮想アドレス(以下、ノード側仮想アドレスという)を割り当て、各ノードコンピュータは、この割り当てられたノード側仮想アドレスに基づいて、接続されたノード側専用NIC装置との間でデータを送受信する。
一方、専用HUB装置30は、ホストコンピュータ1が割り当てた仮想アドレスに基づいて、各ノードコンピュータに接続されたノード側専用NIC装置との間でデータを送受信する。
そのため、ノード側専用NIC装置は、ホストコンピュータ1が割り当てた仮想アドレスと、ノード側仮想アドレスとをアドレス変換する必要がある。
以下、図7及び図8に基づいて、ノード側専用NIC装置の構成について説明する。
まず、図7には、本発明の実施例1におけるノード側専用NIC装置12のブロック図が示されている。そして、図8には、ノード側専用NIC装置12の仕様を示す表が示されている。なお、専用HUB装置30に接続された全てのノード側専用NIC装置は、ノード側専用NIC装置12と同一の構成を有するので、説明を省略する。
図7に示すように、ノード側専用NIC装置12は、1個のカードエッジ40aを備えている。このカードエッジ40aは、ノードコンピュータ10の拡張スロットに挿入され、ノードコンピュータ10との間でPCI Express規格に基づく通信が行われる。
また、この図7に示すように、ノード側専用NIC装置12には、1個のHUB接続コネクタ40bが備えられている。このHUB接続コネクタ40bには、専用HUB装置30と繋がるネットワークケーブルが接続される。この結果、専用HUB装置30との間では、PCI Express規格に基づく通信が行われる。なお、ネットワークケーブルは、PCI Express規格に対応したケーブルを用いる。
次に、この図7に示すように、ノード側専用NIC装置12には、PCI Expressスイッチチップ43が搭載されている。このPCI Expressスイッチチップ43は、図7に示すように、バス配線55a、バス配線55bを備えており、それぞれHUB接続コネクタ40b、カードエッジ40aに接続されている。
PCI Expressスイッチチップ43は、ノードコンピュータ10からノードコンピュータ10の外部に対して送信されたデータのパケット、及びノードコンピュータ10がノードコンピュータ10の外部から受信するデータのパケットのスイッチングを行う。
また、PCI Expressスイッチチップ43は、その機能上、送信制御部43aを備えている。
送信制御部43aは、ノードコンピュータ10からPCI Expressで伝送されるデータに含まれるノード側仮想アドレスを読み込み、読み込んだノード側仮想アドレスをホストコンピュータ1が割り当てた仮想アドレスに変換し、変換後のデータを専用HUB装置30に送信する。また、送信制御部43aは、専用HUB装置30からPCI Expressで伝送されるデータに含まれるホストコンピュータ1が割り当てた仮想アドレスを読み込み、読み込んだ仮想アドレスをノード側仮想アドレスに変換し、変換後のデータをノードコンピュータ10に送信する。
さらに、図7に示すように、ノード側専用NIC装置12には、送信用バッファ50aが搭載されている。この送信用バッファ50aは、図7に示すように、PCI Expressスイッチチップ43に接続されている。この送信用バッファ50aは、送信用の一時記憶部としての役割を担っている。具体的には、ノードコンピュータ10がノードコンピュータ20に対して所定のデータを送信する場合において、まず、PCI Expressスイッチチップ43が、ノードコンピュータ10からデータを受信し、PCI Expressスイッチチップ43が、この送信用バッファ50aにデータを一時的に記憶する。
次に、PCI Expressスイッチチップ43の送信制御部43aは、専用HUB装置30から、専用HUB装置30へデータの送信を許可する送信許可信号を受信した場合に、送信用バッファ50aに記憶されたデータに含まれるノード側仮想アドレスをホストコンピュータ1が割り当てた仮想アドレスに変換し、この変換後のデータを専用HUB装置30に送信する。
このような構成によれば、ノードコンピュータ10から専用HUB装置30に対して(最終的には送信先の相手のコンピュータに対して)PCI Express規格に準拠してデータを送信する動作を実行することができる。
また、図7に示すように、ノード側専用NIC装置12には、受信用バッファ50bが搭載されている。この受信用バッファ50bは、図7に示すように、PCI Expressスイッチチップ43に接続されており、受信用の記憶部としての役割を担っている。
具体的には、ノードコンピュータ20から、専用HUB装置30を介して、ノードコンピュータ10に対して、所定のデータが送られてきた際に、PCI Expressスイッチチップ43の送信制御部43aが前記受信データを受信用バッファ50bに一時的に記憶する。
次に、PCI Expressスイッチチップ43の送信制御部43aは、受信用バッファ50bにデータが記憶された場合に、このデータに含まれるホストコンピュータ1が割り当てられた仮想アドレスを、ノードコンピュータ10により割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理によりノードコンピュータ10に送信する。
また、PCI Expressスイッチチップ43の送信制御部43aは、専用HUB装置30から専用HUB装置30、及びノード側専用NIC装置12を一意に識別する仮想アドレスを受信すると、この受信した仮想アドレスを受信用バッファ50bに記憶する。
このような構成によれば、ノードコンピュータ10は、他のノードコンピュータ(例えばノードコンピュータ20)から送られてきたデータを受信することができる。
なお、このノード側専用NIC装置12自体は、従来の例えばイーサネット(登録商標)のNIC(ネットワークインターフェースカード)と同様のインターフェースカードとしてノードコンピュータ10に認識される。例えば、ノードコンピュータ10のアプリケーションプログラムからは、一般的なイーサネット(登録商標)に対してデータパケットを送信するのと同様にデータを送信することができる。
≪専用HUB装置の構成≫
上述したように、本発明の実施例1では、複数のコンピュータの各拡張インターフェース(PCI Express)同士を接続するために、専用HUB装置30を新規に作成した。この専用HUB装置30は、PCI Expressデバイススイッチを備えており、このPCI Expressデバイススイッチによって、複数のノードコンピュータを、PCI Expressを利用したネットワークで接続する。
以下、図9及び図10に基づいて、本発明の実施例1のネットワークシステム100における専用HUB装置30の構成について説明する。図9には、専用HUB装置30のブロックダイヤグラムが示されている。また、図10には、専用HUB装置30の仕様を示す表が示されている。
この図9に示すように、専用HUB装置30には、2個のチェーンポート32a、32bが備えられている。これらのチェーンポート32a、32bには、別の専用HUB装置を接続することができる。なお、下流側のチェーンポート32bには、何も接続しないが、上流側チェーンポート32aには、ホスト側専用NIC装置2を介してホストコンピュータ1を接続する。
さて、専用HUB装置30には、8個のノードポート34a〜34hが備えられている。これらのノードポート34a〜34hには、各ノードコンピュータに繋がるネットワークケーブルを接続する。
次に、この図9に示すように、専用HUB装置30は、1個のPCI Expressデバイススイッチ60を備えている。
このPCI Expressデバイススイッチ60は、図9に示すように、2個のチェーンポート32a、32b、及び8個のノードポート34a、34b、34c、34d、34e、34f、34g、34hに接続されている。
また、図9に示すように、このPCI Expressデバイススイッチ60は、1個のEEPROM70と1個の中継用バッファ72とが接続されている。PCI Expressデバイススイッチ60は、専用HUB装置30に接続されたノードコンピュータからデータを受信し、所定のタイミングで、そのデータを他のノードコンピュータに送信するスイッチング動作を行う。
また、PCI Expressデバイススイッチ60は、その機能上、ポート番号決定部60aと、受信バッファ状態判定部60bと、データ送信部60cと、初期化処理部60fと、切断処理部60gとを備えている。
ポート番号決定部60aは、接続されたノードコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のノードコンピュータへのデータの送信を要求する要求信号と共に、送信先コンピュータのネットワークアドレスを含むデータを受信した場合に、EEPROM70に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先コンピュータに対応する1又は複数のポート番号を決定する。
受信バッファ状態判定部60bは、ポート番号決定部60aにより決定されたポート番号が示すポートに接続された1又は複数のノード側専用NIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する。
データ送信部60cは、受信バッファ状態判定部60bにより受信バッファに空き領域があると判定された場合、かつホストコンピュータ1からタイマー割り込みに基づいた所定の時間間隔で仮想アドレスが示すノード側専用NIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、受信バッファに空き領域があると判定された1又は複数のノード側専用NIC装置のうち、受信した順次送信許可信号が示す仮想アドレスに対応するノード側専用NIC装置へデータを送信する。
初期化処理部60fは、複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するノード側専用NIC装置が初期化されたことを検出した場合に、この初期化が検出されたノード側専用NIC装置のデバイス情報をホストコンピュータ1へ送信し、ホストコンピュータ1から受信した初期化が検出されたノード側専用NIC装置のデバイス関連情報をEEPROM70に記憶させると共に、専用HUB装置、及び初期化が検出されたノード側専用NIC装置の仮想アドレスを初期化が検出されたノード側専用NIC装置へ送信する。
切断処理部60gは、接続されたノードコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するノード側専用NIC装置が停止されたことを検出した場合に、この停止が検出されたノード側専用NIC装置のデバイス情報をホストコンピュータ1へ送信すると共に、EEPROM70から停止が検出されたノード側専用NIC装置に対応するデバイス関連情報を削除する。
EEPROM70は、専用HUB装置30に接続されたノード側専用NIC装置のデバイス関連情報を記憶する。
このデバイス関連情報は、ホストコンピュータ1から送信されたものであり、図4に示したホストコンピュータ1のメモリ5に記憶したデバイス関連情報と同一であるので、説明を省略する。
中継用バッファ72は、ノードポート34a〜34hに接続する各ノードコンピュータから専用HUB装置30に対して送られてきたデータを一時的に記憶する一時記憶部であり、高速な半導体メモリによって構成される。なお、実際の一時記憶する動作は、PCI Expressデバイススイッチ60によって行われる。
≪ネットワークシステムのシステム構成≫
次に、本発明の実施例1であるネットワークシステム100のシステム構成について説明する。
図11は、本発明の実施例1であるネットワークシステム100のシステム構成図である。
図11に示すように、本発明の実施例1であるネットワークシステム100は、ホストコンピュータ1と、ホスト側専用NIC装置2と、ノードコンピュータ10,20,21a,21b,21cと、ノード側専用NIC装置22,23a,23b,23cと、専用HUB装置30と、ネットワークケーブルとを備えている。
専用HUB装置30のチェーンポート32aには、ホストコンピュータ1が、ホスト側専用NIC装置2を介して所定のネットワークケーブルによって接続されている。この専用HUB装置30の構成は、上で説明したとおりである。
また、専用HUB装置30のノードポート34aには、ノードコンピュータ10が、ノード側専用NIC装置12を介して、PCI Express規格に準拠したケーブルによって接続されている。
同様に、専用HUB装置30のノードポート34b,34c,34d,34eには、ノードコンピュータ20、21a、21b、21cが、それぞれノード側専用NIC装置22,23a,23b,23cを介して、PCI Express規格に準拠したケーブルによって接続されている。
また、ノードコンピュータ20に接続されたノード側専用NIC装置22は、ノード側専用NIC装置12と同様の構成をしている。すなわち、図11に示すように、PCI Expressスイッチチップ75、送信用バッファ80a、受信用バッファ80bを備えている。
このような構成において、本発明の実施例1であるネットワークシステムは、ホストコンピュータ1とホスト側専用NIC装置2との間、ホスト側専用NIC装置2と専用HUB装置30との間、専用HUB装置と各ノード側専用NIC装置との間、各ノードコンピュータと各ノードコンピュータに接続されたノード側専用NIC装置との間において、PCI Express規格に準拠して通信を行うことによって、各ノードコンピュータ間の通信を実現している。
≪ノードコンピュータ間の通信におけるネットワーク構成の概念≫
ここで、本発明の実施例1であるネットワークシステム100において、ノードコンピュータ10からノードコンピュータ20に対してデータが伝送される場合のネットワーク構成の概念について説明する。
図12は、ノードコンピュータ10とノードコンピュータ20との間で通信する場合におけるネットワーク構成の概念を示した図である。
図12に示すように、本発明の実施例1であるネットワークシステム100は、その概念上、レイヤ1〜レイヤ5の5つの階層に分けられたレイヤ構造としており、同一のレイヤ間で通信を行う。
図12に示すレイヤ1はノード側専用NIC装置のPCI Expressスイッチチップを示している。また、レイヤ2は各ノードコンピュータから各ドライバソフトウェアがインストールされ、ノード側専用NIC装置のPCI Expressスイッチチップが、このドライバソフトウェアに基づいて動作することによって実現する。さらに、レイヤ3〜5は、各ノードコンピュータに各ソフトウェアがインストールされ、ノードコンピュータのCPUがこのソフトウェアに基づいて動作することによって実現する。
このように、レイヤ1〜レイヤ5の5つの階層に分けられたレイヤ構造によりノードコンピュータ間の通信を行うことにより、ノードコンピュータは、既存のネットワークプロトコルを変更することなく、ノード側専用NIC装置がノードコンピュータの拡張スロットに挿入され、このノード側専用NIC装置を動作させるための各種ドライバがインストールされることにより、ノードコンピュータ間の通信を実現することができる。
このようなレイヤ構造において、以下に、ノードコンピュータ10からノードコンピュータ20に対してデータを伝送する場合のデータの流れについて説明する。
ノードコンピュータ10からノードコンピュータ20に対してデータを伝送する場合、ノードコンピュータ10のCPUが、ユーザアプリケーションプログラムに基づいて、ノードコンピュータ20に送信するデータパケットを生成する。
そして、生成されたデータパケットは、レイヤ4において、TCPプロトコルやUDPプロトコルに準拠して通信するためのプログラムに基づいて、TCPヘッダやUDPヘッダが付加され、レイヤ3に供給される。
次に、レイヤ3に供給されたデータパケットは、IPプロトコルに準拠して通信するためのプログラムに基づいて、IPヘッダが付加されてレイヤ2に供給される。
レイヤ2に供給されたデータパケットは、ノード側専用NIC装置ドライバに基づいて、ノード側仮想アドレスがホストに割り当てられた仮想アドレスに変換された後、仮想アドレスが付加され、また、ノード側専用NIC装置12のPCI Expressスイッチチップドライバに基づいてMACアドレスが付加されて、TLPパケット(Transaction Layer Packet)としてレイヤ1に供給される。
そして、レイヤ2から供給されたTLPパケットをノード側専用NIC装置12のPCI Expressスイッチチップ43が、送信する。
ノード側専用NIC装置12から送信されたTLPパケットを受信したノード側NIC22は、ノード側専用NIC装置22のPCI Expressスイッチチップドライバ205に基づいて、MACアドレスを読み出し、ノード側専用NIC装置ドライバに基づいて、ホストに割り当てられた仮想アドレスをノード側仮想アドレスに変換した後、書き換えて、TLPパケットをレイヤ3へ供給する。
レイヤ3に供給されたデータパケットは、IPプロトコルに準拠して通信するためのプログラムに基づいて、IPヘッダが読み出され、レイヤ4に供給される。
さらに、レイヤ4に供給されたデータパケットは、TCPプロトコルやUDPプロトコルに準拠して通信するためのプログラムに基づいて、TCPヘッダやUDPヘッダが読み出され、レイヤ5に供給される。
そして、レイヤ5において、ノードコンピュータ20のCPUは、供給されたデータパケットのペイロード分を読み出し、アプリケーションプログラムに基づいて、各種処理を実行する。
このように、本発明の実施例1であるネットワークシステムでは、レイヤ構造によりノードコンピュータ間の通信を行うことにより、ノード側専用NIC装置がノードコンピュータの拡張スロットに挿入され、このノード側専用NIC装置を動作させるための各種ドライバがインストールされることにより、既存のTCP/IPプロトコル等のネットワークプロトコルを変更することなく、PCI Express規格に準拠したノードコンピュータ間のパケット通信を実現することができる。
≪パケットの構造≫
図13は、本発明の実施例1であるネットワークシステムにおいてノードコンピュータ間のパケット通信を行う際の、TLPパケットの例を示した図である。図13(a)は、ノードコンピュータとノード側専用NIC装置との間において送受信するTLPパケット、又は初期化後にノード側専用NIC装置と専用HUB装置との間において送受信するTLPパケットを示しており、図13(b)は、初期化時に、ノード側専用NIC装置と専用HUB装置との間において送受信するTLPパケットを示している。
ノードコンピュータ10からノード側専用NIC装置12へデータを送信する場合は、MSI(Message Sending Interrupt)による割り込み処理によって、図13(a)に示すようなTLPパケットにより送信する。
図13(a)においては、複数のノードコンピュータにデータを送信する場合のデータパケットを示している。宛先MACアドレス131a、送信元MACアドレス131b、宛先IPアドレス131c、送信先IPアドレス131d、及びTCPヘッダを含むペイロード131eは、1つのノードコンピュータへ送信する1組のデータ単位を示しており、送信するノードコンピュータの数に応じて同様のデータ単位を繋げることができる。
これにより、各ノードコンピュータと、各ノードコンピュータに接続されたノード側専用NIC装置との間において、データの送受信を行うことができる。また、ホストコンピュータ1とホスト側専用NIC装置2との間においても、同様にデータの送受信を行うことができる。
また、各ノード側専用NIC装置と専用HUB装置30との間において、データを送受信する場合は、PCI Express規格に準拠したSSC(Spread Spectrum Clocking)モードにより専用HUB装置30へ送信する。ここで、SSCモードとは、初期化時にのみ、PCI Express規格のTLPパケットヘッダであるFram、Seq、HDRを付加して送信し、その後のデータ通信には、このTLPヘッダを省略してデータを送信するモードのことをいう。
図13(b)に示すように、初期化時には、Fram133aと、Seq133bと、HDR133cとをデータの先頭に付加し、宛先MACアドレス134a、送信元MACアドレス134b、宛先IPアドレス134c、送信先IPアドレス134d、及びTCPヘッダを含むペイロード134eを1つのノードコンピュータへ送信する1組のデータ単位として送信する。ここで、HDR133cには、仮想アドレスが含まれる。
そして、次回のデータ送信時には、Fram133aと、Seq133bと、HDR133cとをデータの先頭に付加することなく、宛先MACアドレス134a、送信元MACアドレス134b、宛先IPアドレス134c、送信先IPアドレス134d、及びTCPヘッダを含むペイロード134eを1つのノードコンピュータへ送信する1組のデータ単位として送信する。
これにより、各ノード側専用NIC装置と専用HUB装置との間において、PCI Express規格に準拠して通信を行うことができる。また、ホスト側専用NIC装置2と専用HUB装置30との間の通信についても同様である。
≪ノード側専用NIC装置の検出時の動作≫
次に、本発明の実施例1であるネットワークシステム100におけるノード側専用NIC装置の検出時の動作について説明する。
図14は、本発明の実施例1であるネットワークシステム100におけるノード側専用NIC装置12の検出時の動作を示したシーケンス図である。なお、他のノード側専用NIC装置の検出時の動作は、ノード側専用NIC装置12の検出時の動作と同一であるので、説明を省略する。
まず、ノード側専用NIC装置12が、ネットワークシステム100に接続されると、ノード側専用NIC装置12は、バスの初期化が行われ(ステップS101)、専用HUB装置30のPCI Expressデバイススイッチ60の初期化処理部60fは、ノード側専用NIC装置12から送信されるクロック信号をバスの初期化信号として検出する(ステップS102)。
次に、専用HUB装置30は、ノード側専用NIC装置12のデバイス情報を中継用バッファ72に記憶した後(ステップS103)、ホストコンピュータ1にノード側専用NIC装置12のデバイス情報を送信する(ステップS104)。具体的には、専用HUB装置30のPCI Expressデバイススイッチ60の初期化処理部60fが、PCI Express規格のTLPパケットとしてホスト側専用NIC装置2へ送信する。
TLPパケットを受信したホスト側専用NIC装置2は、受信したTLPパケットをホストコンピュータ1へ供給し、ホストコンピュータ1のCPU3は、ノード側専用NIC装置12の仮想アドレスを割り当てる(ステップS105)。また、このとき、ホストコンピュータ1が、DHCP(Dynamic Host Configuration Protocol)機能が有効となるように設定されていれば、ノードコンピュータ10にIPアドレスを割り当てる。さらに、ホストコンピュータ1のCPU3は、例えば、ARP(Address Resolution Protocol)等のプロトコルにより、ノードコンピュータ10からMACアドレスを取得する。
そして、ホストコンピュータ1のCPU3は、ステップS105において、割り当てた仮想アドレスと、IPアドレスと、取得したMACアドレスと、受信したデバイス情報とを関連づけてデバイス関連情報としてメモリ5に記憶する(ステップS106)。
さらに、ホストコンピュータ1のCPU3は、ステップS106において記憶したノード側専用NIC装置12のデバイス関連情報を専用HUB装置30へ送信する(ステップS107)。
次に、デバイス関連情報を受信した専用HUB装置30のPCI Expressデバイススイッチ60の初期化処理部60fは、受信したデバイス関連情報をEEPROM70に記憶する(ステップS108)。
そして、専用HUB装置30のPCI Expressデバイススイッチ60の初期化処理部60fは、EEPROM70に記憶されたデバイス情報に基づいて、ノード側専用NIC装置12の仮想アドレスと、専用HUB装置30の仮想アドレスとを、ノード側専用NIC装置12へ送信する(ステップS109)。
次に、ノード側専用NIC装置12の仮想アドレスと専用HUB装置30の仮想アドレスとを受信したノード側専用NIC装置12は、これらを受信用バッファ42bに記憶した後、専用HUB装置30へSSCモードの要求を行う(ステップS110)。
SSCモードが要求された専用HUB装置30の初期化処理部60fは、SSCモードを許可するSSCモード許可信号をノード側専用NIC装置12へ送信する(ステップS111)。
以上のように、ノード側専用NIC装置12が、ネットワークシステムに接続されると、ホストコンピュータ1は、ノード側専用NIC装置12のデバイス関連情報をメモリ5に記憶し、専用HUB装置30は、自装置に接続されたノード側専用NIC装置12のデバイス関連情報をEEPROM70に記憶する。
また、SSCモードが許可されたことにより、ノード側専用NIC装置12と専用HUB装置30との間の通信において、PCI Express規格のTLPパケットヘッダであるFram、Seq、HDRを省略してデータをTLPパケットとして送受信することができる。
≪ノード側専用NIC装置の切断時の動作≫
次に、本発明の実施例1であるネットワークシステム100におけるノード側専用NIC装置の切断時の動作について説明する。
図15は、本発明の実施例1であるネットワークシステム100におけるノード側専用NIC装置12の切断時の動作を示したシーケンス図である。なお、他のノード側専用NIC装置の切断時の動作は、ノード側専用NIC装置12の切断時の動作と同一であるので、説明を省略する。
まず、ノード側専用NIC装置12が、何らかの理由でネットワークから切断されると、専用HUB装置30のPCI Expressデバイススイッチ60の切断処理部60gは、ノード側専用NIC装置12からクロック信号の送信が途切れたことにより、ノード側専用NIC装置12が切断されたことを検出する(ステップS202)。
そして、ノード側専用NIC装置12が切断されたことを検出した切断処理部60gは、EEPROM70に記憶されたデバイス関連情報の中から、ノード側専用NIC装置12に対応するデバイス関連情報を削除する(ステップS203)。
次に、切断処理部60gは、ノード側専用NIC装置12が切断されたことを示す停止信号と共にノード側専用NIC装置12の仮想アドレスをホストコンピュータに送信する(ステップS204)。
そして、ホストコンピュータ1のCPU3は、停止信号と共にノード側専用NIC装置12の仮想アドレスを受信すると(ステップS205)、この受信した仮想アドレスに関連づけられたデバイス関連情報をメモリ5から削除する(ステップS206)。
以上のように、ノード側専用NIC装置12が、ネットワークシステムから切断されると、ホストコンピュータ1は、ノード側専用NIC装置12のデバイス関連情報をメモリ5から削除し、専用HUB装置30は、自装置から切断されたノード側専用NIC装置12のデバイス関連情報をEEPROM70から削除する。これにより、通信可能なノード側専用NIC装置のデバイス関連情報がホストコンピュータ1に記憶され、専用HUB装置30に接続されたノード側専用NIC装置のデバイス関連情報が専用HUB装置30に記憶されることとなる。
≪ノードコンピュータ同士の通信に係る動作≫
次に、初期化後に、ノードコンピュータ10及び20との間で通信を行う場合の動作の概略を、図16のタイムチャートを用いて説明する。
(1)まず、ノードコンピュータ10が、PCI Expressスイッチチップ43に対して、宛先のノードコンピュータ20のネットワークアドレスと所定のデータとを含むTLPパケットを送信する。これは図16の(1)で表される。
(2)次に、PCI Expressスイッチチップ43は、このTLPパケットを送信用バッファ50aに記憶する。この動作が、図16中の(2)に示されている。
(3)次に、PCI Expressスイッチチップ43は、送信用バッファ50aに記憶されたTLPパケットを読み取り、所定のタイミングで、専用HUB装置30に送信する。この動作が、図16中の(3)に示されている。
(4)専用HUB装置30のPCI Expressデバイススイッチ60は、ノード側専用NIC装置12から送信されてきたTLPパケットを、中継用バッファ72に一時的に記憶する。この動作は、図16中の(4)に示されている。
(5)次に、PCI Expressデバイススイッチ60は、上記(4)で記憶したTLPパケットに含まれるネットワークアドレスを抽出し、EEPROM70に保存されているデバイス関連情報を検索し、宛先(ノードコンピュータ20及びその場所など)を特定する。そして、ノードコンピュータ20のノード側専用NIC装置22が接続するノードポートに関する情報を取得する。この動作は、図16中の(5)に示されている。
(6)次に、PCI Expressデバイススイッチ60は、上記(4)で中継用バッファ72に保存した前記データを読み取り、前記データをノード側専用NIC装置22に送信する。この動作は、図16中の(6)に示されている。
(7)次に、ノード側専用NIC装置22内のPCI Expressスイッチチップ75は、上記(6)で送信されてきたTLPパケットを、PCI Expressスイッチチップ75が備える受信用バッファ80bに保存する。この動作が、図16中の(7)に示されている。
(8)次に、PCI Expressスイッチチップ75は、上記(8)で受信用バッファ80bに記憶されたTLPパケットを、所定のタイミングで読み取り、ノードコンピュータ20に対して送信する。この動作は、図16中の(8)に示されている。
以上(1)から(8)で述べた動作によって、ノードコンピュータ10からノードコンピュータ20に対して、TLPパケットを送信することができる。
また、上記で述べた(1)から(8)の動作と同様の動作を行うことによって、ノードコンピュータ20からノードコンピュータ10に対して、TLPパケットを送信することができる。すなわち、ノードコンピュータ10とノードコンピュータ20との間で双方向の通信を行うことができる。
また、上記で述べた(1)から(8)の動作において、ノードコンピュータ10は、宛先のネットワークアドレス(IPアドレスやデバイス番号、MACアドレスなど、アプリケーションによって種々のものを利用することができる)。
この結果、アプリケーションプログラムを何ら変更せずに、従来の同様のIPアドレス等による通信をそのまま行うことができる。
また、上記で述べた(1)から(8)で述べた動作によって、ノードコンピュータ10、20、21a、21b、21cのいずれの間においても、双方向の通信を行うことができる。
次に、ノードコンピュータ10からノードコンピュータ20へデータを送信する場合におけるデータ通信の動作について詳細に説明する。
図17、及び図18は、本発明の実施例1であるネットワークシステム100において、ノードコンピュータ10からノードコンピュータ20へデータを送信する場合におけるデータ通信の動作を示したシーケンス図である。
まず、ノードコンピュータ10は、ノードコンピュータ20へ送信するデータをノード側専用NIC装置12の送信用バッファ50aに記憶した後(ステップS301)、MSI(Message Sending Interrupt)による割り込み処理によって、送信用バッファ50aに記憶したことを示す記憶完了信号をノード側専用NIC装置12のPCI Expressスイッチチップ43に送信する(ステップS302)。
記憶完了信号を受信したノード側専用NIC装置12のPCI Expressスイッチチップ43の送信制御部43aは、ノードコンピュータ10により割り当てられたノード側専用NIC装置12のノード側仮想アドレスを、ホストコンピュータ1により割り当てられたノード側NIC装置12のホスト側の仮想アドレスに変換する(ステップS303)。
次に、ノード側専用NIC装置12のPCI Expressスイッチチップ43は、専用HUB装置30の受信状態を問い合わせる(ステップS304)。具体的には、PCI Expressスイッチチップ43は、ノードコンピュータ20へ送信するデータを含むTLPパケットを専用HUB装置30が受信可能か否かを問い合わせるためのTLPパケットを送信する。
そして、専用HUB装置30のPCI Expressデバイススイッチ60は、ステップS304において送信されたTLPパケットを受信すると、ノードコンピュータ20へ送信するデータを含むTLPパケットを受信可能か否かを判定する(ステップS305)。具体的には、PCI Expressデバイススイッチ60が、内部に備えられたレジスタに記憶されたFCクレジット値に基づいて、中継用バッファ72にTLPパケットを受信するために十分な空き領域があるか否かを判定する。
ステップS305において、TLPパケットを受信可能と判定された場合は、PCI Expressデバイススイッチ60は、送信が可能であることを示す送信許可信号をノード側専用NIC装置12へ送信する(ステップS306)。
ノード側専用NIC装置12は、ステップ306において送信された送信許可信号を受信すると、ステップS301において記憶されたデータをTLPパケットとして、SSC(Spread Spectrum Clocking)モードにより専用HUB装置30へ送信する(ステップS307)。
TLPパケットを受信した専用HUB装置30のPCI Expressデバイススイッチ60は、受信したTLPパケットの分割記憶処理を実行する(ステップS308)。
図19は、ステップS308における分割記憶処理の処理手順を示したフローチャートである。
まず、専用HUB装置30のPCI Expressデバイススイッチ60は、受信したTLPパケットを宛先IPアドレス毎に分割する(ステップS401)。
そして、PCI Expressデバイススイッチ60は、変数Nに分割した宛先IPアドレス毎のTLPパケットの数を代入し、変数iに“1”を代入する(ステップS402)。
次に、PCI Expressデバイススイッチ60は、変数iの値が変数Nの値以下であるか否かを判定し(ステップS403)、変数iの値が変数Nの値以下であれば、処理をステップS404に移行し、変数iの値が変数Nの値を超えていれば、処理を終了する。
ステップS403において、変数iの値が変数Nの値以下と判定された場合、PCI Expressデバイススイッチ60は、EEPROM70からデバイス関連情報を読み出し、この読み出したデバイス関連情報に基づいて、i番目の分割されたTLPパケットのIPアドレスに対応するデバイス情報(バス番号、スロット番号、デバイス番号)を抽出する(ステップS404)。
そして、PCI Expressデバイススイッチ60は、i番目の分割されたTLPパケットに、ステップS404において抽出されたデバイス情報を関連づけて宛先別TLPパケットを生成する(ステップS405)。
次に、PCI Expressデバイススイッチ60は、ステップS405において生成された宛先別TLPパケットを、この宛先別TLPパケットに含まれるデバイス情報により一意に定められるポートに対応する中継用バッファ72の記憶領域に記憶する(ステップS406)。
そして、PCI Expressデバイススイッチ60は、変数iの値を“1”だけ加算した後(ステップS407)、処理をステップS403へ移行する。
以上により、PCI Expressデバイススイッチ60は、宛先IPアドレス毎に分割されたTLPパケットを、このIPアドレスに対応するデバイス情報とを関連づけて、それぞれポートに対応する記憶領域に記憶することができる。
次に、全ての宛先別TLPパケットを記憶したPCI Expressデバイススイッチ60は、図18に示すように、ノードコンピュータ20が受信可能か否かを判定する(ステップS309)。具体的には、PCI Expressデバイススイッチ60の受信バッファ状態判定部60bは、内部に備えられたレジスタに記憶されたFCクレジット値に基づいて、送信先のノード側専用NIC装置22の受信用バッファ50bに、TLPパケットを受信するために十分な空き領域があるか否かを判定する。
そして、ステップS309において、受信可能であると判定された場合は、PCI Expressデバイススイッチ60は、ノード側専用NIC装置22に対応する仮想アドレスについてタイムスロットによる送信順位が到来したか否かを判定する(ステップS310)。
具体的には、PCI Expressデバイススイッチ60のデータ送信部60cは、ホストコンピュータ1からタイマー割り込みに基づいた所定の時間間隔でノード側専用NIC装置へのデータの送信を順次許可する順次送信許可信号を受信したか否かを判定し、受信した場合にはタイムスロットによる送信順位が到来したと判定する。ここで、ホストコンピュータ1は、例えば、ピコ秒(10-12秒)の時間間隔で、仮想アドレスを切り替える順次送信許可信号を専用HUB装置30に送信しており、専用HUB装置30は、ホストコンピュータ1から順次送信許可信号を受け取るごとに、この順次送信許可信号により指定された仮想アドレスに対応するノード側専用NIC装置を送信可能NIC装置として切り替える。
ステップS310において、タイムスロットによる送信順位が到来したと判定された場合には、PCI Expressデバイススイッチ60のデータ送信部60cは、中継用バッファ72のノード側専用NIC装置22に対応する記憶領域に記憶された宛先別TLPパケットを、この宛先別TLPパケットに対応する仮想アドレスを宛先として、SSCモードによりノード側専用NIC装置22へ送信する(ステップS311)。
次に、ノード側専用NIC装置22のPCI Expressスイッチチップ75の送信制御部は、ホストコンピュータ1により割り当てられたノード側専用NIC装置22のホスト側の仮想アドレスを、ノードコンピュータ20により割り当てられたノード側専用NIC装置22のノード側仮想アドレスに変換する(ステップS312)。
そして、PCI Expressスイッチチップ75の送信制御部は、ノードコンピュータ20へ送信するデータをノードコンピュータ20の備えられたメモリに記憶した後(ステップS313)、MSIによる割り込み処理によって、メモリに記憶したことを示す記憶完了信号をノードコンピュータ20に送信する(ステップS314)。
以上のように、本発明の実施例1であるネットワークシステム100によれば、ホストコンピュータ1によりタイマー割り込みに基づく所定の時間間隔でノード側専用NIC装置へのデータの送信が許可された際に、専用HUB装置30が、ホストコンピュータ1により割り当てられた仮想アドレスに基づいて、許可されたノード側専用NIC装置へデータを送信するので、PCI Express規格に準拠した簡易な装置構成で、ネットワークの負荷状態に係わらずノードコンピュータ間における高速なデータ通信を実現することができる。
これにより、既存のネットワークプロトコルを変更することなく、PCI Express規格に準拠した拡張インターフェースを用いてネットワークを構成でき、高速なネットワークシステムを簡便に構成することができる。また、そのネットワークを利用してコンピュータクラスタを構築でき、ひいては性能の向上したスーパーコンピュータを実現することができる。
<実施例2>
本発明の実施例1であるネットワークシステム100では、ホストコンピュータ1と、ホスト側専用NIC装置2と、ノードコンピュータ10,20,21a,21b,21cと、ノード側専用NIC装置22,23a,23b,23cと、専用HUB装置30と、ネットワークケーブルとを備えた構成とした。
本発明に係るネットワークシステムでは、専用HUB装置をディジーチェーン接続することが可能である。
そこで、本発明の実施例2であるネットワークシステムでは、ホストコンピュータの下流側に2台の専用HUB装置をディジーチェーン接続する構成とした。
≪ネットワークシステムのシステム構成≫
次に、本発明の実施例2であるネットワークシステム200のシステム構成について説明する。
図20は、本発明の実施例2であるネットワークシステム200のシステム構成図である。
図20に示すように、本発明の実施例2であるネットワークシステム200は、ホストコンピュータ1と、ホスト側専用NIC装置2と、ノードコンピュータ10,20と、ノード側専用NIC装置12,22と、専用HUB装置30Aと、専用HUB装置31Aと、ネットワークケーブルとを備えている。
専用HUB装置30Aのチェーンポート32aには、ホストコンピュータ1が、ホスト側専用NIC装置2を介して所定のネットワークケーブルによって接続されており、チェーンポート32bには、専用HUB装置31Aが、所定のネットワークケーブルによって接続されている。
また、専用HUB装置30Aのノードポート34aには、ノードコンピュータ10が、ノード側専用NIC装置12を介して、所定のネットワークケーブルによって接続されている。
さらに、専用HUB装置31Aのノードポート34aには、ノードコンピュータ20が、ノード側専用NIC装置22を介して、所定のネットワークケーブルによって接続されている。
このような構成において、本発明の実施例2であるネットワークシステム200は、ホストコンピュータ1とホスト側専用NIC装置2との間、ホスト側専用NIC装置2と専用HUB装置30Aとの間、専用HUB装置30Aと各ノード側専用NIC装置との間、各ノードコンピュータと各ノードコンピュータに接続されたノード側専用NIC装置との間、専用HUB装置30Aと専用HUB装置31Aとの間、専用HUB装置31Aと各ノード側専用NIC装置との間、各ノードコンピュータと各ノードコンピュータに接続されたノード側専用NIC装置との間において、PCI Express規格に準拠して通信を行うことによって、各ノードコンピュータ間の通信を実現している。
≪ホストコンピュータの構成≫
ホストコンピュータ1は、本発明の実施例1であるネットワークシステム100のホストコンピュータ1と同一の構成を有するので、説明を省略する。
≪ノード側専用NIC装置の構成≫
ノード側専用NIC装置12,22は、本発明の実施例1であるネットワークシステム100のノード側専用NIC装置12,22の同一の構成を有するので、説明を省略する。
≪専用HUB装置の構成≫
図21は、本発明の実施例2であるネットワークシステム200の専用HUB装置30Aの構成を示した構成図である。なお、専用HUB装置31Aは、専用HUB装置30Aと同一の構成を有するので、説明を省略する。
図21に示すように、専用HUB装置30Aには、2個のチェーンポート32a、32bが備えられている。これらのチェーンポート32a、32bには、別の専用HUB装置を接続することができる。上流側チェーンポート32aには、ホスト側専用NIC装置2を介してホストコンピュータ1が接続されており、下流側のチェーンポート32bには、専用HUB装置31Aが接続されている。
専用HUB装置30Aには、8個のノードポート34a〜34hが備えられている。これらのノードポート34a〜34hには、各ノードコンピュータに繋がるネットワークケーブルを接続する。
次に、この図21に示すように、専用HUB装置30Aは、1個のPCI Expressデバイススイッチ60Aを備えている。
このPCI Expressデバイススイッチ60Aは、図21に示すように、2個のチェーンポート32a、32b、及び8個のノードポート34a、34b、34c、34d、34e、34f、34g、34hに接続されている。
また、このPCI Expressデバイススイッチ60Aは、図21に示すように、1個のEEPROM70と1個の中継用バッファ72とを備えている。PCI Expressデバイススイッチ60Aは、専用HUB装置30Aに接続するノードコンピュータ10からデータを受信し、所定のタイミングで、そのデータを他のノードコンピュータに送信するスイッチング動作を行う。
また、図21に示すように専用HUB装置30Aは、EEPROM70を備えている。
EEPROM70には、専用HUB装置30Aに接続されたノード側専用NIC装置のデバイス関連情報が記憶されている。
このデバイス関連情報は、ホストコンピュータ1から送信されたものであり、図4に示した本発明の実施例1であるネットワークシステム100のホストコンピュータ1のメモリ5に記憶したデバイス関連情報と同一であるので、説明を省略する。
また、専用HUB装置30Aは、中継用バッファ72を備えている。この中継用バッファ72は、ノードポート34a〜34hに接続する各ノードコンピュータから専用HUB装置30に対して送られてきたデータを一時的に記憶する一時記憶部であり、高速な半導体メモリによって構成される。なお、実際の一時記憶する動作は、PCI Expressデバイススイッチ60によって行われる。
PCI Expressデバイススイッチ60Aは、その機能上、ポート番号決定部60aと、受信バッファ状態判定部60bと、データ送信部60cと、配下判定部60dと、データ転送部60eと、初期化処理部60fと、切断処理部60gとを備えている。
配下判定部60dは、専用HUB装置31Aに接続されたノードコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のノードコンピュータへのデータの送信を要求する要求信号と共に、送信先ノードコンピュータのネットワークアドレスを含むデータを受信した場合に、RRPROM70に記憶された仮想アドレス関連情報に基づいて、受信したネットワークアドレスが、専用HUB装置30Aに接続されたノードコンピュータに対応するか否かを判定する。
データ転送部60eは、配下判定部60dにより専用HUB装置30Aに接続されたノードコンピュータに対応しないと判定された場合に、受信した要求信号とネットワークアドレスを含むデータとを、ディジーチェーン接続により上流側に接続されたホストコンピュータ1又は他のHUB装置に転送する。
ポート番号決定部60aは、配下判定部60dにより専用HUB装置30Aに接続されたノードコンピュータに対応すると判定された場合に、読み出したデバイス関連情報と受信したネットワークアドレスとに基づいて、送信先ノードコンピュータに対応する1又は複数のポート番号を決定する。
受信バッファ状態判定部60bは、ポート番号決定部aにより決定されたポート番号が示すポートに接続された1又は複数のノード側専用NIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する。
データ送信部60cは、受信バッファ状態判定部60bにより受信バッファに空き領域があると判定された場合、かつホストコンピュータ1からタイマー割り込みに基づいた所定の時間間隔で仮想アドレスが示すノード側専用NIC装置へのデータの送信を順次許可する順次送信許可信号を受信した場合に、受信バッファに空き領域があると判定された1又は複数のノード側専用NIC装置のうち、順次送信許可信号が示す仮想アドレスに対応するノード側専用NIC装置へデータを送信する。
初期化処理部60fは、専用HUB装置30Aに接続されたノードコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このノードコンピュータに対応するノード側専用NIC装置が初期化されたことを検出した場合に、この初期化が検出されたノード側専用NIC装置のデバイス情報をホストコンピュータ1へ送信し、ホストコンピュータから受信した初期化が検出されたノード側専用NIC装置のデバイス関連情報をEEPROM70に記憶させると共に、専用HUB装置30、及び初期化が検出されたノード側専用NIC装置の仮想アドレスを初期化が検出されたノード側専用NIC装置へ送信する。
切断処理部60gは、専用HUB装置30Aに接続された複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応するノード側専用NIC装置が停止されたことを検出した場合に、この停止が検出されたノード側専用NIC装置のデバイス情報をホストコンピュータ1へ送信すると共に、EEPROM70から停止が検出されたノード側専用NIC装置に対応するデバイス関連情報を削除する。
≪ノードコンピュータ同士の通信に係る動作≫
次に、ノードコンピュータ10からノードコンピュータ20へデータを送信する場合におけるデータ通信の動作について説明する。
図22〜図24は、本発明の実施例2であるネットワークシステム200において、ノードコンピュータ10からノードコンピュータ20へデータを送信する場合におけるデータ通信の動作を示したシーケンス図である。
まず、ノードコンピュータ10は、ノードコンピュータ20へ送信するデータをノード側専用NIC装置12の送信用バッファ50aに記憶した後(ステップS501)、MSI(Message Sending Interrupt)による割り込み処理によって、送信用バッファ50aに記憶したことを示す記憶完了信号をノード側専用NIC装置12のPCI Expressスイッチチップ43に送信する(ステップS502)。
記憶完了信号を受信したノード側専用NIC装置12のPCI Expressスイッチチップ43の送信制御部43aは、ノードコンピュータ10により割り当てられたノード側専用NIC装置12のノード側仮想アドレスを、ホストコンピュータ1により割り当てられたノード側専用NIC装置12のホスト側の仮想アドレスに変換する(ステップS503)。
次に、ノード側専用NIC装置12のPCI Expressスイッチチップ43は、専用HUB装置30の受信状態を問い合わせる(ステップS504)。具体的には、PCI Expressスイッチチップ43は、ノードコンピュータ90へ送信するデータを含むTLPパケットを専用HUB装置30が受信可能か否かを問い合わせるためのTLPパケットを送信する。
そして、専用HUB装置30のPCI Expressデバイススイッチ60Aは、ステップS504において送信されたTLPパケットを受信すると、ノードコンピュータ90へ送信するデータを含むTLPパケットを受信可能か否かを判定する(ステップS505)。具体的には、PCI Expressデバイススイッチ60Aが、内部に備えられたレジスタに記憶されたFCクレジット値に基づいて、中継用バッファ72にTLPパケットを受信するために十分な空き領域があるか否かを判定する。
ステップS505において、TLPパケットを受信可能と判定された場合は、PCI Expressデバイススイッチ60Aは、送信が可能であることを示す送信許可信号をノード側専用NIC装置12へ送信する(ステップS506)。
ノード側専用NIC装置12は、ステップ506において送信された送信許可信号を受信すると、ステップS501において記憶されたデータをTLPパケットとして、SSC(Spread Spectrum Clocking)モードにより専用HUB装置30Aへ送信する(ステップS507)。
TLPパケットを受信した専用HUB装置30AのPCI Expressデバイススイッチ60Aは、受信したTLPパケットの分割記憶処理を実行する(ステップS508)。
図25は、ステップS508における分割記憶処理の処理手順を示したフローチャートである。
まず、専用HUB装置30AのPCI Expressデバイススイッチ60Aは、受信したTLPパケットを宛先IPアドレス毎に分割する(ステップS601)。
そして、PCI Expressデバイススイッチ60Aは、変数Nに分割した宛先IPアドレス毎のTLPパケットの数を代入し、変数iに“1”を代入する(ステップS602)。
次に、PCI Expressデバイススイッチ60Aは、変数iの値が変数Nの値以下であるか否かを判定し(ステップS603)、変数iの値が変数Nの値以下であれば、処理をステップS604に移行し、変数iの値が変数Nの値を超えていれば、処理を終了する。
ステップS603において、変数iの値が変数Nの値以下と判定された場合、PCI Expressデバイススイッチ60Aは、EEPROM70からデバイス情報を読み出し、読み出したデバイス情報の中に、i番目の分割されたTLPパケットのIPアドレスが含まれるか否かを判定する(ステップS604)。
ステップS604において、IPアドレスが含まれないと判定された場合、PCI Expressデバイススイッチ60Aは、専用HUB装置30Aの上流側に接続された装置にi番目の分割されたTLPパケットを送信する(ステップS605)。専用HUB装置30Aでは、チェーンポート32aを介してホストコンピュータ1が接続されているので、ホストコンピュータ1が上流側に接続された装置となる。
一方、ステップS604において、IPアドレスが含まれていると判定された場合、PCI Expressデバイススイッチ60Aは、読み出したEEPROM70からデバイス関連情報を読み出し、この読み出したデバイス関連情報に基づいて、i番目の分割されたTLPパケットのIPアドレスに対応するデバイス情報(バス番号、スロット番号、デバイス番号)を抽出する(ステップS606)。
そして、PCI Expressデバイススイッチ60Aは、i番目の分割されたTLPパケットに、ステップS606において抽出されたデバイス情報を関連づけて宛先別TLPパケットを生成する(ステップS607)。
次に、PCI Expressデバイススイッチ60Aは、ステップS607において生成された宛先別TLPパケットを、この宛先別TLPパケットに含まれるデバイス情報により一意に定められるポートに対応する中継用バッファ72の記憶領域に記憶する(ステップS608)。
そして、PCI Expressデバイススイッチ60Aは、変数iの値を“1”だけ加算した後(ステップS609)、処理をステップS603へ移行する。
次に、ステップS605において、PCI Expressデバイススイッチ60Aが、分割したTLPパケットをホストコンピュータ1へ送信すると、図22に示すように、ホストコンピュータ1は、この分割したTLPパケットを受信する(ステップS509)。
次に、図23に示すように、ホストコンピュータ1のCPU3は、受信したTLPパケットのIPアドレスが自装置宛てか否かを判定する(ステップS510)。
ステップS510において、受信したTLPパケットのIPアドレスが自装置宛てであると判定された場合、CPU3は、受信したTLPパケットをメモリ5に記憶する(ステップS511)。
一方、ステップS510において、受信したTLPパケットのIPアドレスが自装置宛ではないと判定された場合、CPU3は、ステップS509において受信したTLPパケットを、ホストコンピュータ1の下流側に接続された装置へ転送する(ステップS512)。ホストコンピュータ1には、ノード側専用NIC装置2を介して専用HUB装置30Aが接続されているので、この専用HUB装置30Aが下流側に接続された装置となる。
次に、ホストコンピュータ1からTLPパケットを受信した専用HUB装置30AのPCI Expressデバイススイッチ60Aの配下判定部60dは、EEPROM70からデバイス関連情報を読み出し、この読み出したデバイス関連情報の中に、受信したTLPパケットのIPアドレスが記憶されているか否かを判定する(ステップS513)。
ステップS513において、受信したTLPパケットのIPアドレスが記憶されていないと判定された場合、PCI Expressデバイススイッチ60Aは、図25に示したステップS604〜S608の処理を実行する(ステップS514)。
一方、ステップS513において、受信したTLPパケットのIPアドレスが記憶されていないと判定された場合、PCI Expressデバイススイッチ60Aのデータ転送部60eは、ホストコンピュータ1から受信したTLPパケットを、専用HUB装置30Aの下流側に接続された装置へ転送する(ステップS515)。専用HUB装置30Aには、チェーンポート32bを介して専用HUB装置31Aが接続されているので、この専用HUB装置31Aが下流側に接続された装置となる。
次に、専用HUB装置30AからTLPパケットを受信した専用HUB装置31AのPCI Expressデバイススイッチ60Aは、EEPROM70からデバイス関連情報を読み出し、この読み出したデバイス関連情報の中に、受信したTLPパケットのIPアドレスが記憶されているか否かを判定する(ステップS516)。
ステップS516において、受信したTLPパケットのIPアドレスが記憶されていないと判定された場合、PCI Expressデバイススイッチ60Aのデータ転送部60eは、専用HUB装置30Aから受信したTLPパケットを、専用HUB装置31Aの下流側に接続された装置へ転送する(ステップS517)。ここでは、専用HUB装置31Aの下流側に装置が接続されていないので、このTLPパケットを破棄する。
一方、ステップS516において、受信したTLPパケットのIPアドレスが記憶されていると判定された場合、専用HUB装置31AのPCI Expressデバイススイッチ60Aは、図25に示したステップS604〜S608の処理を実行する(ステップS518)。
そして、PCI Expressデバイススイッチ60Aは、図24に示すように、ノードコンピュータ20が受信可能か否かを判定する(ステップS519)。具体的には、PCI Expressデバイススイッチ60Aの受信バッファ状態判定部60bは、内部に備えられたレジスタに記憶されたFCクレジット値に基づいて、送信先のノード側専用NIC装置22の受信用バッファ80bに、TLPパケットを受信するために十分な空き領域があるか否かを判定する。
そして、ステップS519において、受信可能であると判定された場合は、PCI Expressデバイススイッチ60Aは、ノード側専用NIC装置22に対応する仮想アドレスについてタイムスロットによる送信順位が到来したか否かを判定する(ステップS520)。
具体的には、PCI Expressデバイススイッチ60Aのデータ送信部60cは、ホストコンピュータ1からタイマー割り込みに基づいた所定の時間間隔でノード側専用NIC装置へのデータの送信を順次許可する順次送信許可信号を受信したか否かを判定し、受信した場合にはタイムスロットによる送信順位が到来したと判定する。ここで、ホストコンピュータ1は、例えば、ピコ秒(10-12秒)の時間間隔で、仮想アドレスを切り替える順次送信許可信号を専用HUB装置31Aに送信しており、専用HUB装置31Aは、ホストコンピュータ1から順次送信許可信号を受け取るごとに、この順次送信許可信号により指定された仮想アドレスに対応するノード側専用NIC装置を送信可能NIC装置として切り替える。
ステップS520において、タイムスロットによる送信順位が到来したと判定された場合には、PCI Expressデバイススイッチ60Aのデータ送信部60cは、中継用バッファ72のノード側専用NIC装置22に対応する記憶領域に記憶された宛先別TLPパケットを、この宛先別TLPパケットに対応する仮想アドレスを宛先として、SSCモードによりノード側専用NIC装置22へ送信する(ステップS521)。
次に、ノード側専用NIC装置22のPCI Expressスイッチチップ75は、ホストコンピュータ1により割り当てられたノード側専用NIC装置22のホスト側の仮想アドレスを、ノードコンピュータ20により割り当てられたノード側専用NIC装置22のノード側仮想アドレスに変換する(ステップS522)。
そして、PCI Expressスイッチチップ75の送信制御部は、ノードコンピュータ20へ送信するデータをノードコンピュータ20の備えられたメモリに記憶した後(ステップS523)、MSIによる割り込み処理によって、メモリに記憶したことを示す記憶完了信号をノードコンピュータ20に送信する(ステップS524)。
以上のように、本発明の実施例2であるネットワークシステムによれば、PCI Express規格に基づいて、送信先のノードコンピュータ20が専用HUB装置30Aに接続されていない場合であっても、専用HUB装置30Aとディジーチェーンにて接続された専用HUB装置31Aにノードコンピュータ20が接続されている場合には、ノードコンピュータ10からノードコンピュータ20へ高速にデータ送信を行うことができる。
<実施例3>
本発明の実施例1であるネットワークシステム100では、レイヤ1〜レイヤ5の5つのレイヤに階層化されたレイヤ構造によりノードコンピュータ間の通信を行うことにより、既存のTCP/IPプロトコル等のネットワークプロトコルを変更することなく、PCI Express規格に準拠したノードコンピュータ間のパケット通信を実現することができる。
本発明に係るネットワークシステムでは、TCP/IPプロトコル等の既存のネットワークプロトコルを用いることなく、利用者が作成したユーザプログラムによりPCI Express規格に準拠したノードコンピュータ間のパケット通信を実現することもできる。
本発明の実施例3であるネットワークシステム300では、利用者が作成したユーザプログラムによりPCI Express規格に準拠したノードコンピュータ間のパケット通信を行う。
本発明の実施例3であるネットワークシステム300において、ノードコンピュータ間においてデータが伝送される場合のネットワーク構成の概念について説明する。
図26は、ノードコンピュータ10とノードコンピュータ20との間で通信する場合におけるネットワーク構成の概念を示した図である。
図26に示すように、本発明の実施例3であるネットワークシステム300は、その概念上、レイヤ1〜レイヤ3の3つの階層に分けられたレイヤ構造としており、同一のレイヤ間で通信を行う。
図26に示すレイヤ1はノード側専用NIC装置のPCI Expressスイッチチップを示している。また、レイヤ2は各ノードコンピュータから各ドライバソフトウェアがインストールされ、ノード側専用NIC装置のPCI Expressスイッチチップが、このドライバソフトウェアに基づいて動作することによって実現する。さらに、レイヤ3は、各ノードコンピュータに利用者により作成されたユーザアプリケーションがインストールされ、ノードコンピュータのCPUがこのユーザアプリケーションに基づいて動作することによって実現する。
このように、レイヤ1〜レイヤ3の3つの階層に分けられたレイヤ構造によりノードコンピュータ間の通信を行うことにより、利用者により作成されたユーザアプリケーションがインストールされたノードコンピュータは、ノード側専用NIC装置がノードコンピュータの拡張スロットに挿入され、このノード側専用NIC装置を動作させるための各種ドライバがインストールされることにより、ノードコンピュータ間の通信を実現することができる。
このようなレイヤ構造において、以下に、ノードコンピュータ10からノードコンピュータ20に対してデータを伝送する場合のデータの流れについて説明する。
ノードコンピュータ10からノードコンピュータ20に対してデータを伝送する場合、ノードコンピュータ10のCPUが、ユーザアプリケーションプログラムに基づいて、ノードコンピュータ20に送信するデータパケットを生成する。
そして、生成されたデータパケットは、レイヤ3において、ユーザアプリケーションプログラムに基づいて、送信先を示す何らかのデータが付加されて、レイヤ2に供給される。
レイヤ2に供給されたデータパケットは、ノード側専用NIC装置ドライバに基づいて、ノード側仮想アドレスがホストに割り当てられた仮想アドレスに変換された後、仮想アドレスが付加され、また、ノード側専用NIC装置12のPCI Expressスイッチチップドライバに基づいてMACアドレスが付加されて、TLPパケットとしてレイヤ1に供給される。
そして、レイヤ2から供給されたTLPパケットをノード側専用NIC装置12のPCI Expressスイッチチップ43が、送信する。
ノード側専用NIC装置12から送信されたTLPパケットを受信したノード側NIC22は、ノード側専用NIC装置22のPCI Expressスイッチチップドライバ205に基づいて、MACアドレスを読み出し、ノード側専用NIC装置ドライバに基づいて、ホストに割り当てられた仮想アドレスをノード側仮想アドレスに変換した後、書き換えて、TLPパケットをレイヤ3へ供給する。
レイヤ3に供給されたデータパケットは、ユーザアプリケーションプログラムに基づいて、CPUが、供給されたデータパケットのペイロード分を読み出し、各種処理を実行する。
このように、本発明の実施例3であるネットワークシステム300では、レイヤ構造によりノードコンピュータ間の通信を行うことにより、利用者により作成されたユーザアプリケーションがインストールされたノードコンピュータは、ノード側専用NIC装置がノードコンピュータの拡張スロットに挿入され、このノード側専用NIC装置を動作させるための各種ドライバがインストールされることにより、ノードコンピュータ間の通信を実現することができる。
<実施例4>
本発明の実施例1〜実施例3では、少なくともホストコンピュータ1と、ノードコンピュータ10,20と、専用HUB装置30とを備えるネットワークシステムを説明したが、専用HUB装置30を用いずに、ノードコンピュータ同士を接続して、双方向の通信を行うことも好ましい。ただし、この場合、片方のノードコンピュータはホストとしての機能が備えられている必要がある。即ち、本発明の実施例4では、ホストコンピュータ1とノードコンピュータ20とを接続して、双方向の通信を行うネットワークシステムについて説明する。
≪ネットワークシステムのシステム構成≫
図27には、本発明の実施例4であるネットワークシステム400のシステム概念図を示す。
図27に示されている構成は、専用HUB装置30を介さずに、ホスト側専用NIC装置2とノード側専用NIC装置22とがPCI Expressの拡張インターフェースによって接続されている点を除けば、図1と同様の構成である。
≪ノードコンピュータ同士の通信に係る動作≫
次に、ホストコンピュータ1とノードコンピュータ20との間で通信を行う場合の動作の概略を、図28のタイムチャートを用いて説明する。
(A)まず、ホストコンピュータ1は、宛先のネットワークアドレスと、所定のデータとを含むTLPパケットを、ホスト側専用NIC装置2に送信する。この動作が、図29中の(A)に示されている。
(B)次に、PCI Expressスイッチチップ44は、TLPパケットを、送信用バッファ42aに保存する。この動作が、図28中の(B)に示されている。
(C)次に、PCI Expressスイッチチップ44は、保存したTLPパケットを読み取り、相手先のノードコンピュータ20(のノード側専用NIC装置22)に対して送信する。この動作が、図28中の(C)に示されている。
(D)ノード側専用NIC装置22中のPCI Expressスイッチチップ75は、受信したTLPパケットを、受信用バッファ80bに記憶する。この動作が、図29中の(D)に示されている。
(E)次に、PCI Expressスイッチチップ75は、記憶したTLPパケットを読み取り、ノードコンピュータ20に対して送信する。この動作が、図29中の(E)に示されている。
このように、上記(A)から(E)で述べた動作を行うことによって、ホストコンピュータ1からノードコンピュータ20に対して、TLPパケットを送信することができる。
また、上記(A)から(E)で述べた動作と逆の動作を行うことによってノードコンピュータ20からホストコンピュータ1に対してTLPパケットを送信することができる。すなわち、ホストコンピュータ1とノードコンピュータ20との間で、双方向の通信が行える。
次に、ノードコンピュータ10からノードコンピュータ20へデータを送信する場合におけるデータ通信の動作について詳細に説明する。
図29は、本発明の実施例4であるネットワークシステムにおいて、ホストコンピュータ1からノードコンピュータ20へデータを送信する場合におけるデータ通信の動作を示したシーケンス図である。
まず、ホストコンピュータ1は、ノードコンピュータ20へ送信するデータをホスト側専用NIC装置2の送信用バッファ42aに記憶した後(ステップS701)、MSI(Message Sending Interrupt)による割り込み処理によって、送信用バッファ42aに記憶したことを示す記憶完了信号をホスト側専用NIC装置2のPCI Expressスイッチチップ44に送信する(ステップS702)。
記憶完了信号を受信したホスト側専用NIC装置2のPCI Expressスイッチチップ44の送信制御部44aは、ノードコンピュータ20が受信可能か否かを判定する(ステップS703)。具体的には、PCI Expressスイッチチップ44は、内部に備えられたレジスタに記憶されたFCクレジット値に基づいて、送信先のノード側専用NIC装置22の受信用バッファ50bに、TLPパケットを受信するために十分な空き領域があるか否かを判定する。
そして、ステップS703において、受信可能であると判定された場合は、Expressスイッチチップ44は、ノード側専用NIC装置22に対応する仮想アドレスについてタイムスロットによる送信順位が到来したか否かを判定する(ステップS704)。
具体的には、PCI Expressスイッチチップ44は、ホストコンピュータ1からタイマー割り込みに基づいた所定の時間間隔で送信先のノード側専用NIC装置へのデータの送信を順次許可する順次送信許可信号を受信したか否かを判定し、受信した場合にはタイムスロットによる送信順位が到来したと判定する。ここで、ホストコンピュータ1は、例えば、ピコ秒(10-12秒)の時間間隔で、ノード側専用NIC装置22への送信の許可、又は不許可を切り替える順次送信許可信号を受信しており、ホスト側専用NIC装置2は、ホストコンピュータ1からこの順次送信許可信号を受け取り、送信順位が到来したか否かを判定する。
ステップS704において、タイムスロットによる送信順位が到来したと判定された場合には、PCI Expressスイッチチップ44は、送信用バッファ42aに記憶されたTLPパケットを、SSCモードによりノード側専用NIC装置22へ送信する(ステップS705)。
次に、ノード側専用NIC装置22のPCI Expressスイッチチップ75の送信制御部は、ホストコンピュータ1により割り当てられたノード側専用NIC装置22のホスト側の仮想アドレスを、ノードコンピュータ20により割り当てられたノード側専用NIC装置22のノード側仮想アドレスに変換する(ステップS706)。
そして、PCI Expressスイッチチップ75の送信制御部は、ノードコンピュータ20へ送信するデータをノードコンピュータ20の備えられたメモリに記憶した後(ステップS707)、MSIによる割り込み処理によって、メモリに記憶したことを示す記憶完了信号をノードコンピュータ20に送信する(ステップS708)。
以上のように、本発明の実施例4であるネットワークシステム400によれば、ホストコンピュータ1により所定の時間間隔でノード側専用NIC装置22へのデータの送信が許可された際に、割り当てられた仮想アドレスに基づいて、ノード側専用NIC装置22へデータを送信するので、PCI Express規格に準拠した簡易な装置構成で、ピアツーピアで、ノードコンピュータ10からノードコンピュータ20へデータを高速にデータ送信を行うことができる。
これにより、既存のネットワークプロトコルを変更することなく、PCI Express規格に準拠した拡張インターフェースを用いてネットワークを構成でき、高速なネットワークシステムを簡便に構成することができる。また、そのネットワークを利用してコンピュータクラスタを構築でき、ひいては性能の向上したスーパーコンピュータを実現することができる。
<実施例5>
本発明の実施例1〜実施例4であるネットワークシステムによれば、PCI Express規格に準拠した拡張インターフェースを用いて各装置を接続してネットワークを構成することで、簡易な装置構成で、ネットワークの負荷状態に係わらずノードコンピュータ間の高速通信が可能となる。
そこで、さらに、安定的にノードコンピュータ間の高速通信を実現するため、本発明の実施例1〜実施例4であるネットワークシステムの構成に加えて、各装置間を接続するPCI Expressのケーブルに伝送される信号を強調する強調回路をさらに備える構成としてもよい。
本発明の実施例5であるネットワークシステムでは、強調回路を更に備えた構成とする。
本発明の実施例5であるネットワークシステムにおける強調回路は、例えば、ホストコンピュータ1とホスト側専用NIC装置2との間、ホスト側専用NIC装置2と専用HUB装置30との間、専用HUB装置と各ノード側専用NIC装置との間、各ノードコンピュータと各ノードコンピュータに接続されたノード側専用NIC装置との間を接続するPCI Expressのケーブル上に配置される。
図30は、本発明の実施例5であるネットワークシステムに備えられた強調回路の構成を示す構成図である。
上述したように、PCI Expressは、差動信号によるシリアル通信を行っており、片方向の伝送路を1組用意し、双方向にしたものを「レーン」と呼んでおり、図30に示した例では、片方向の伝送路に設置された強調回路を示している。
図30に示すように、強調回路301は、差動伝送信号入力端302a,302bと、差動伝送ドライバ303と、イコライザ304と、アンプ305と、差動伝送ドライバ306と、差動伝送信号出力端307a,307bとを備えている。
差動伝送信号入力端302a,302bは、PCI Expressの1レーンの片方向分の差動信号の入力端である。
差動伝送ドライバ303は、PCI Expressの1レーンの片方向分の差動信号を、1つのアナログ信号に変換する。
イコライザ304は、アナログ信号の高周波数のノイズを含む余剰信号を削除する。その後、アナログ信号の低周波数のノイズを含む余剰信号を削除する。これにより、理想的なアナログ信号を抽出する。
アンプ305は、イコライザ304より抽出されたアナログ信号の電流を増幅し、より強調されたアナログ信号を出力する。
差動伝送ドライバ306は、アナログ信号からデジタル信号に変換し、PCI Expressの差動信号を生成する。
差動伝送信号出力端307a,307bは、PCI Expressの1レーンの片方向分の差動信号の出力端である。
以上のように、本発明の実施例5であるネットワークシステムによれば、PCI Expressのケーブル上に、強調回路301を備えるので、作動信号を強調することができ、安定的にノードコンピュータ間の高速通信を実現することができる。
<実施例6>
本発明の実施例1〜実施例5であるネットワークシステムによれば、PCI Express規格に準拠した拡張インターフェースを用いて各装置を接続してネットワークを構成することで、簡易な装置構成で、ネットワークの負荷状態に係わらずノードコンピュータ間の高速通信が可能となる。
そこで、さらに、互いに平行して配線する差動伝送により生じるノイズを除去して安定的にノードコンピュータ間の高速通信を実現するため、本発明の実施例1〜実施例5であるネットワークシステムの構成に加えて、各装置間を接続するPCI Expressのケーブルに伝送される信号からノイズを除去するノイズ除去回路をさらに備える構成としてもよい。
本発明の実施例6であるネットワークシステムでは、ノイズ除去回路を更に備えた構成とする。
本発明の実施例6であるネットワークシステムにおけるノイズ除去回路は、例えば、ホストコンピュータ1とホスト側専用NIC装置2との間、ホスト側専用NIC装置2と専用HUB装置30との間、専用HUB装置と各ノード側専用NIC装置との間、各ノードコンピュータと各ノードコンピュータに接続されたノード側専用NIC装置との間を接続するPCI Expressのケーブル上に配置される。
図31は、本発明の実施例6であるネットワークシステムに備えられたノイズ除去回路の構成を示す構成図である。
図31に示した例では、ノード側専用NIC装置12と専用HUB装置30を接続するPCI Expressのケーブル上のうち、ノード側専用NIC装置12から専用HUB装置30へデータを伝送する1組の伝送路に設置されたノイズ除去回路を示している。
図31に示すように、ノイズ除去回路401は、ノード側専用NIC装置12PCI Expressスイッチチップ43と、専用HUB装置30のPCI Expressデバイススイッチ60とがPCI Expressケーブル406a,406bにより接続されており、PCI Expressケーブル406a,406bの上流端付近には、上流側抵抗403a,403bと、PCI Expressケーブル406a,406bの下流端付近には、下流側抵抗404a,404bとが配置されている。
そして、上流側抵抗403aの抵抗値を“R1”、PCI Expressケーブル406aのインピーダンスを“Z1”、下流側抵抗404aの抵抗値を“R2”とすると、下記数式1の条件を満たすように、上流側抵抗403aの抵抗値“R1” 、又は下流側抵抗404aの抵抗値“R2”を調整する。
R1/Z=Z/R2 (数式1)
これにより、本発明の実施例6であるネットワークシステムにおけるノイズ除去回路は、互いに平行して配線する差動伝送により生じるノイズを除去することができる。
また、同様に、上流側抵抗403bの抵抗値を“R1”、PCI Expressケーブル406bのインピーダンスを“Z1”、下流側抵抗404bの抵抗値を“R2”とした場合にも、上記数式1の条件を満たすように、上流側抵抗403bの抵抗値“R1” 、又は下流側抵抗404bの抵抗値“R2”を調整することで、ノイズを除去することができる。
以上のように、本発明の実施例6であるネットワークシステムによれば、PCI Expressのケーブル上に、ノイズ除去回路401を備えるので、互いに平行して配線する差動伝送により生じるノイズを除去して安定的にノードコンピュータ間の高速通信を実現することができる。
1…ホストコンピュータ
2…ホスト側専用NIC装置(ホスト側NIC装置)
3…CPU
3a…アドレス生成部
3b…タイムスロット制御部
4…ルート・コンプレックス
5…メモリ
6…Expressホストスイッチ
7…エンド・ポイント
8…拡張スロット
10,20,21a,21b,21c…ノードコンピュータ
12,22,23a,23b,23c…ノード側専用NIC装置(NIC装置)
30…専用HUB装置(HUB装置)
30A…専用HUB装置(第1のHUB装置)
31A…専用HUB装置(第2のHUB装置)
42a,50a…送信用バッファ
42b,50b…受信用バッファ
43,44,75…Expressスイッチチップ
43a,44a…送信制御部
60,60A…Expressデバイススイッチ
60a…ポート番号決定部
60b…受信バッファ状態判定部
60c…データ送信部
60d…配下判定部
60e…データ転送部
60f…初期化処理部
60g…切断処理部
70…EEPROM
72…中継用バッファ
80a…送信用バッファ
80b…受信用バッファ
100,200,300,400…ネットワークシステム
301…強調回路
401…ノイズ除去回路

Claims (32)

  1. 複数のNIC装置それぞれに対応する複数のコンピュータと前記複数のNIC装置を介して接続されたHUB装置に接続されるPCI Express規格準拠のホストコンピュータであって、
    前記複数のNIC装置及び前記HUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記HUB装置に送信するタイムスロット制御部と、
    を備えることを特徴としたホストコンピュータ。
  2. 複数のNIC装置それぞれに対応する複数のコンピュータと前記複数のNIC装置を介して接続されると共に、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置のうちいずれか1つへのデータの送信を順次許可するホストコンピュータと接続されるPCI Express規格準拠のHUB装置であって、
    前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから、タイマー割り込みに基づいた所定の時間間隔で前記仮想アドレスが示す前記NIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、前記決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、
    を備えたことを特徴とするHUB装置。
  3. 前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、
    前記データ送信部は、
    前記受信バッファに空き領域があると判定された場合、かつ前記ホストコンピュータからタイマー割り込みに基づいた所定の時間間隔で前記仮想アドレスが示す前記NIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、前記受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信する
    ことを特徴とする請求項2記載のHUB装置。
  4. 前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信し、前記ホストコンピュータから受信した前記初期化が検出されたNIC装置の前記デバイス関連情報を前記デバイス関連情報記憶部に記憶させると共に、当該HUB装置、及び前記初期化が検出されたNIC装置の前記仮想アドレスを前記初期化が検出されたNIC装置へ送信する初期化処理部と、
    を更に備えたことを特徴とする請求項2、又は3記載のHUB装置。
  5. 前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信すると共に、前記デバイス関連情報記憶部から前記停止が検出されたNIC装置に対応する前記デバイス関連情報を削除する切断処理部と、
    を更に備えたことを特徴とする請求項2〜4のうちいずれか1項記載のHUB装置。
  6. 複数のNIC装置それぞれに対応する複数のコンピュータと前記複数のNIC装置を介して接続されたHUB装置と接続されると共に、ホストコンピュータと接続されるPCI Express規格準拠のホスト側NIC装置であって、
    前記ホストコンピュータから供給された前記複数のNIC装置を一意に識別する仮想アドレスと、この仮想アドレスに対応する前記複数のコンピュータを一意に識別するネットワークアドレスとを含むデバイス関連情報を記憶すると共に、前記ホストコンピュータから供給された前記複数のNIC装置のうちいずれか1つへのデータの送信を順次許可する順次送信許可信号を記憶する送信バッファと、
    前記送信バッファに記憶されたデバイス関連情報、又は順次送信許可信号を前記HUB装置へ送信する送信制御部と、
    を備えることを特徴とするホスト側NIC装置。
  7. コンピュータと接続されると共に、ホストコンピュータと接続されたHUB装置に接続されるPCI Express規格準拠のNIC装置であって、
    前記HUB装置から受信した前記ホストコンピュータによって割り当てられた前記HUB装置、及び当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、前記ホストコンピュータにより前記HUB装置に送信された順次送信許可信号に基づいて前記HUB装置から所定の時間間隔で送信されたデータを記憶する受信バッファと、
    前記コンピュータの割り込み処理により、前記HUB装置に送信するデータを記憶する送信バッファと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記HUB装置から、前記HUB装置へデータの送信を許可する送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記HUB装置の仮想アドレスに基づいて前記HUB装置に送信する送信制御部と、
    を備えることを特徴とするNIC装置。
  8. 複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続されたHUB装置と、このHUB装置にホスト側NIC装置を介して接続されたホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、
    前記ホストコンピュータは、
    前記複数のNIC装置及び前記HUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記HUB装置に送信するタイムスロット制御部と、を有し、
    前記HUB装置は、
    前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから、前記順次送信許可信号を受信した場合に、前記決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、を有し、
    前記複数のNIC装置は、
    前記HUB装置から受信した前記ホストコンピュータによって割り当てられた前記HUB装置、及び当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、前記ホストコンピュータにより前記HUB装置に送信された順次送信許可信号に基づいて前記HUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、
    前記コンピュータの割り込み処理により、前記HUB装置に送信するデータを記憶する送信バッファと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記HUB装置から、前記HUB装置へデータの送信を許可する送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記HUB装置の仮想アドレスに基づいて前記HUB装置に送信する送信制御部と、を有する
    ことを特徴とするネットワークシステム。
  9. 複数のNIC装置それぞれに対応する複数のコンピュータと前記複数のNIC装置を介して接続されたHUB装置と、このHUB装置にホスト側NIC装置を介して接続されたホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、
    前記ホストコンピュータは、
    前記複数のNIC装置及び前記HUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記HUB装置に送信するタイムスロット制御部と、を有し、
    前記HUB装置は、
    前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから、前記順次送信許可信号を受信した場合に、前記決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、を有する
    ことを特徴とするネットワークシステム。
  10. 複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続される共に、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置のうちいずれか1つへのデータの送信を順次許可するホストコンピュータと接続されたHUB装置とを備えるPCI Express規格準拠のネットワークシステムであって、
    前記HUB装置は、
    前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから、タイマー割り込みに基づいた所定の時間間隔で前記仮想アドレスが示す前記NIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、前記決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、を有し、
    前記複数のNIC装置は、
    前記HUB装置から受信した前記ホストコンピュータによって割り当てられた前記HUB装置、及び当該NIC装置を一意に識別する前記仮想アドレスを記憶すると共に、前記ホストコンピュータにより前記HUB装置に送信された前記順次送信許可信号に基づいて前記HUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、
    前記コンピュータの割り込み処理により、前記HUB装置に送信するデータを記憶する送信バッファと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記HUB装置から、前記HUB装置へデータの送信を許可する送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記HUB装置の仮想アドレスに基づいて前記HUB装置に送信する送信制御部と、を有する
    ことを特徴とするネットワークシステム。
  11. 前記HUB装置は、
    前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、
    前記データ送信部は、
    前記受信バッファに空き領域があると判定された場合、かつ前記ホストコンピュータからタイマー割り込みに基づいた所定の時間間隔で前記仮想アドレスが示す前記NIC装置へのデータ送信を順次許可する順次送信許可信号を受信した場合に、前記受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信する
    ことを特徴とする請求項8〜10のうちいずれか1項記載のネットワークシステム。
  12. 前記HUB装置は、
    前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信し、前記ホストコンピュータから受信した前記初期化が検出されたNIC装置の前記デバイス関連情報を前記デバイス関連情報記憶部に記憶させると共に、当該HUB装置、及び前記初期化が検出されたNIC装置の前記仮想アドレスを前記初期化が検出されたNIC装置へ送信する初期化処理部と、
    を更に備えたことを特徴とする請求項8〜11のうちいずれか1項記載のネットワークシステム。
  13. 前記HUB装置は、
    前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信すると共に、前記デバイス関連情報記憶部から前記停止が検出されたNIC装置に対応する前記デバイス関連情報を削除する切断処理部と、
    を更に備えたことを特徴とする請求項8〜12のうちいずれか1項記載のネットワークシステム。
  14. 複数のNIC装置それぞれに対応する複数のコンピュータと前記複数のNIC装置を介して接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置とが、前記第1のHUB装置を上流側としてディジーチェーン接続されるPCI Express規格準拠のホストコンピュータであって、
    前記第1のHUB装置、又は前記第2のHUB装置に接続された複数のNIC装置、前記第1のHUB装置、並びに前記第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記第1のHUB装置に送信するタイムスロット制御部と、
    を備えることを特徴としたホストコンピュータ。
  15. 複数のNIC装置それぞれに対応する複数のコンピュータと前記複数のNIC装置を介して接続されると共に、ディジーチェーン接続により当該第1のHUB装置の上流端に、前記複数のNIC装置のうちいずれか1つへのデータの送信をタイマー割り込みに基づいた所定の時間間隔で順次許可するホストコンピュータが接続され、当該第1のHUB装置の下流側に、当該第1のHUB装置と同一構成を有する第2のHUB装置が接続されるPCI Express規格準拠の第1のHUB装置であって、
    当該第1のHUB装置に接続された前記複数のNIC装置のうち、前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、前記受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、前記受信した要求信号とネットワークアドレスを含むデータとを、前記ディジーチェーン接続により上流側に接続された前記ホストコンピュータ又は他のHUB装置に転送するデータ転送部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、前記読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから、タイマー割り込みに基づいた所定の時間間隔で前記仮想アドレスが示す前記NIC装置へのデータの送信を順次許可する順次送信許可信号を受信した場合に、前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、
    を備えたことを特徴とする第1のHUB装置。
  16. 前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、
    前記データ送信部は、
    前記受信バッファ状態判定部により受信バッファに空き領域があると判定された場合、かつ前記ホストコンピュータからタイマー割り込み基づいた所定の時間間隔で前記仮想アドレスが示す前記NIC装置へのデータの送信を順次許可する順次送信許可信号を受信した場合に、前記受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信する
    ことを特徴とする請求項15記載の第1のHUB装置。
  17. 前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信し、前記ホストコンピュータから受信した前記初期化が検出されたNIC装置の前記デバイス関連情報を前記デバイス関連情報記憶部に記憶させると共に、当該第1のHUB装置、及び前記初期化が検出されたNIC装置の前記仮想アドレスを前記初期化が検出されたNIC装置へ送信する初期化処理部と、
    を更に備えたことを特徴とする請求項15、又は16記載の第1のHUB装置。
  18. 前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信すると共に、前記デバイス関連情報記憶部から前記停止が検出されたNIC装置に対応する前記デバイス関連情報を削除する切断処理部と、
    を更に備えたことを特徴とする請求項15〜17のうちいずれか1項記載の第1のHUB装置。
  19. 複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置と、前記第1のHUB装置を上流側としてディジーチェーン接続されるホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、
    前記ホストコンピュータは、
    前記第1のHUB装置、又は前記第2のHUB装置に接続された複数のNIC装置、前記第1のHUB装置、並びに前記第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記第1のHUB装置に送信するタイムスロット制御部と、を有し、
    前記第1のHUB装置は、
    当該第1のHUB装置に接続された前記複数のNIC装置のうち、前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、前記受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、前記受信した要求信号とネットワークアドレスを含むデータとを、前記ディジーチェーン接続により上流側に接続された前記ホストコンピュータ又は他のHUB装置に転送するデータ転送部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、前記読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから前記順次送信許可信号を受信した場合に、前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、を有し、
    前記第1のHUB装置に接続された前記複数のNIC装置は、
    前記第1のHUB装置受信した前記ホストコンピュータによって割り当てられた前記HUB装置、及び当該NIC装置を一意に識別する前記仮想アドレスを記憶すると共に、前記順次送信許可信号に基づいて前記第1のHUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、
    前記コンピュータの割り込み処理により、前記第1のHUB装置に送信するデータを記憶する送信バッファと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記第1のHUB装置から、前記第1のHUB装置へデータの送信を許可する送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記第1のHUB装置の仮想アドレスに基づいて前記第1のHUB装置に送信する送信制御部と、を有する
    ことを特徴とするネットワークシステム。
  20. 複数のコンピュータとそれぞれ接続された複数のNIC装置と接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置と、前記第1のHUB装置を上流側としてディジーチェーン接続されるホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、
    前記ホストコンピュータは、
    前記第1のHUB装置、又は前記第2のHUB装置に接続された複数のNIC装置、前記第1のHUB装置、並びに前記第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記第1のHUB装置に送信するタイムスロット制御部と、を有し、
    前記第1のHUB装置は、
    当該第1のHUB装置に接続された前記複数のNIC装置のうち、前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、前記受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、前記受信した要求信号とネットワークアドレスを含むデータとを、前記ディジーチェーン接続により上流側に接続された前記ホストコンピュータ又は他のHUB装置に転送するデータ転送部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、前記読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから前記順次送信許可信号を受信した場合に、前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、を有する
    ことを特徴とするネットワークシステム。
  21. 複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続される共に、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置のうちいずれか1つへのデータの送信を順次許可するホストコンピュータと接続された第1のHUB装置と、この第1のHUB装置の下流側にディジーチェーン接続された前記第1のHUB装置と同一構成を有する第2のHUB装置とを備えるPCI Express規格準拠のネットワークシステムであって、
    前記第1のHUB装置は、
    当該第1のHUB装置に接続された前記複数のNIC装置のうち、前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報として記憶するデバイス関連情報記憶部と、
    前記第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、前記受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、前記受信した要求信号とネットワークアドレスを含むデータとを、前記ディジーチェーン接続により上流側に接続された前記ホストコンピュータ又は他のHUB装置に転送するデータ転送部と、
    前記配下判定部により当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、前記読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定部と、
    前記ホストコンピュータから前記順次送信許可信号を受信した場合に、前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信部と、を有し、
    前記第1のHUB装置に接続された前記複数のNIC装置は、
    前記第1のHUB装置から受信した前記ホストコンピュータによって割り当てられた前記第1のHUB装置、及び当該NIC装置を一意に識別する前記仮想アドレスを記憶すると共に、前記順次送信許可信号に基づいて前記第1のHUB装置から、所定の時間間隔で送信されたデータを記憶する受信バッファと、
    前記コンピュータの割り込み処理により、前記第1のHUB装置に送信するデータを記憶する送信バッファと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記第1のHUB装置から、前記第1のHUB装置へデータの送信を許可する送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記第1のHUB装置の仮想アドレスに基づいて前記第1のHUB装置に送信する送信制御部と、を有する
    ことを特徴とするネットワークシステム。
  22. 前記第1のHUB装置は、
    前記ポート番号決定部により決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置それぞれに備えられた受信バッファに空き領域があるか否かを判定する受信バッファ状態判定部と、を更に備え、
    前記データ送信部は、
    前記受信バッファに空き領域があると判定された場合、かつ前記ホストコンピュータから前記順次送信許可信号を受信した場合に、前記受信バッファに空き領域があると判定された1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信する
    ことを特徴とする請求項19〜21のうちいずれか1項記載のネットワークシステム。
  23. 前記第1のHUB装置は、
    前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が初期化されたことを検出した場合に、この初期化が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信し、前記ホストコンピュータから受信した前記初期化が検出されたNIC装置の前記デバイス関連情報を前記デバイス関連情報記憶部に記憶させると共に、当該HUB装置、及び前記初期化が検出されたNIC装置の前記仮想アドレスを前記初期化が検出されたNIC装置へ送信する初期化処理部と、
    を更に備えたことを特徴とする請求項19〜22のうちいずれか1項記載のネットワークシステム。
  24. 前記第1のHUB装置は、
    前記複数のコンピュータのうちいずれか1つにより生成されたクロック信号に基づいて、このコンピュータに対応する前記NIC装置が停止されたことを検出した場合に、この停止が検出されたNIC装置の前記デバイス情報を前記ホストコンピュータへ送信すると共に、前記デバイス関連情報記憶部から前記停止が検出されたNIC装置に対応する前記デバイス関連情報を削除する切断処理部と、
    を更に備えたことを特徴とする請求項19〜23のうちいずれか1項記載のネットワークシステム。
  25. NIC装置を介してコンピュータに接続されるPCI Express規格準拠のホストコンピュータであって、
    前記NIC装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記NIC装置へのデータの送信を順次許可する順次送信許可信号を前記NIC装置に送信するタイムスロット制御部と、
    を備えることを特徴としたホストコンピュータ。
  26. コンピュータと接続されると共に、ホストコンピュータとホスト側NIC装置を介して接続されるPCI Express規格準拠のNIC装置であって、
    前記ホスト側NIC装置から受信した前記ホストコンピュータによって割り当てられた当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、前記ホストコンピュータから所定の時間間隔で送信されたデータを記憶する受信バッファと、
    前記コンピュータの割り込み処理により、前記ホストコンピュータに送信するデータを記憶する送信バッファと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記ホストコンピュータからタイマー割り込み基づいた所定の時間間隔でデータ送信を順次許可する順次送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記ホストコンピュータに送信する送信制御部と、
    を備えることを特徴とするNIC装置。
  27. コンピュータとそれぞれ接続されたNIC装置と、このNIC装置にホスト側NIC装置を介して接続されるホストコンピュータとを備えるPCI Express規格準拠のネットワークシステムであって、
    前記ホストコンピュータは、
    前記NIC装置を一意に識別する仮想アドレスを生成するアドレス生成部と、
    前記アドレス生成部により生成された仮想アドレスを記憶するアドレス記憶部と、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記NIC装置へのデータの送信を順次許可する順次送信許可信号を前記NIC装置に送信するタイムスロット制御部と、を有し、
    前記NIC装置は、
    前記ホスト側NIC装置から受信した前記ホストコンピュータによって割り当てられた当該NIC装置を一意に識別する仮想アドレスを記憶すると共に、前記ホストコンピュータから所定の時間間隔で送信されたデータを記憶する受信バッファと、
    前記コンピュータの割り込み処理により、前記ホストコンピュータに送信するデータを記憶する送信バッファと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記ホストコンピュータから前記順次送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記ホストコンピュータに送信する送信制御部と、を有する
    ことを特徴とするネットワークシステム。
  28. 前記複数のコンピュータと前記複数のNIC装置との間、前記複数のNIC装置と前記HUB装置との間、前記HUB装置と前記ホスト側NIC装置との間、及び/又は前記HUB装置と前記ホスト側NIC装置との間を接続するPCI Express規格準拠のケーブルに配置され、送信される前記データのデジタル信号をアナログ変換して得たアナログ信号からノイズ含む余剰信号を削除し、このノイズが削除された前記アナログ信号を増幅し、この増幅されたアナログ信号をデジタル変換する強調回路と、
    を更に備えたことを特徴する請求項8〜13、及び19〜24のうちいずれか1項記載のネットワークシステム。
  29. 前記複数のコンピュータと前記複数のNIC装置との間、前記複数のNIC装置と前記HUB装置との間、前記HUB装置と前記ホスト側NIC装置との間、及び/又は前記HUB装置と前記ホスト側NIC装置との間を接続するPCI Express規格準拠のケーブルに配置されるノイズ除去回路であって、
    前記ケーブルの上流側に配置された上流側抵抗と、
    前記ケーブルの下流側において、前記ケーブルとグランドとを接続する下流側抵抗と、を備え、
    前記下流側抵抗の抵抗値が、前記ケーブルのインピーダンスの二乗を前記上流側抵抗の抵抗値で除した値である
    ことを特徴とする請求項8〜13、及び19〜24のうちいずれか1項記載のネットワークシステム。
  30. 複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続されたHUB装置と、このHUB装置にホスト側NIC装置を介して接続されたホストコンピュータとを備えたネットワークシステムを用いて、PCI Express規格に準拠した通信を行う通信方法であって、
    前記ホストコンピュータにより、
    前記複数のNIC装置及び前記HUB装置を一意に識別する仮想アドレスを生成するアドレス生成ステップと、
    前記アドレス生成部により生成された仮想アドレスをアドレス記憶部に記憶させるアドレス記憶ステップと、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記HUB装置に送信するタイムスロット制御ステップと、を有し、
    前記HUB装置により、
    前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報としてデバイス関連情報記憶部に記憶させるデバイス関連情報記憶ステップと、
    前記複数のコンピュータのうちいずれか1つから、送信先コンピュータとして他の1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶されたデバイス関連情報を読み出し、この読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定ステップと、
    前記ホストコンピュータから、前記順次送信許可信号を受信した場合に、前記決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信ステップと、を有し、
    前記複数のNIC装置により、
    前記HUB装置から受信した前記ホストコンピュータによって割り当てられた前記HUB装置、及び当該NIC装置を一意に識別する仮想アドレスを受信バッファに記憶させると共に、前記ホストコンピュータにより前記HUB装置に送信された順次送信許可信号に基づいて前記HUB装置から、所定の時間間隔で送信されたデータを前記受信バッファに記憶させる受信データ記憶ステップと、
    前記コンピュータの割り込み処理により、前記HUB装置に送信するデータを送信バッファに記憶させる送信データ記憶ステップと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記HUB装置から、前記HUB装置へデータの送信を許可する送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記HUB装置の仮想アドレスに基づいて前記HUB装置に送信する送信制御ステップと、を有する
    ことを特徴とする通信方法。
  31. 複数のコンピュータとそれぞれ接続された複数のNIC装置と、この複数のNIC装置と接続された第1のHUB装置と、この第1のHUB装置と同一構成を有する第2のHUB装置と、前記第1のHUB装置を上流側としてディジーチェーン接続されるホストコンピュータとを備えるネットワークシステムを用いて、PCI Express規格に準拠した通信を行う通信方法であって、
    前記ホストコンピュータにより、
    前記第1のHUB装置、又は前記第2のHUB装置に接続された複数のNIC装置、前記第1のHUB装置、並びに前記第2のHUB装置を一意に識別する仮想アドレスを生成するアドレス生成ステップと、
    前記アドレス生成部により生成された仮想アドレスをアドレス記憶部に記憶させるアドレス記憶ステップと、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記複数のNIC装置へのデータの送信を順次許可する順次送信許可信号を前記第1のHUB装置に送信するタイムスロット制御ステップと、を有し、
    前記第1のHUB装置により、
    当該第1のHUB装置に接続された前記複数のNIC装置のうち、前記ホストコンピュータによって割り当てられた前記複数のNIC装置を一意に識別する仮想アドレスと、前記複数のNIC装置が接続されたポート番号を一意に識別するためのデバイス情報と、当該第1のHUB装置に接続された前記複数のコンピュータを一意に識別するネットワークアドレスとを関連づけてデバイス関連情報としてデバイス関連情報記憶部に記憶させるデバイス関連情報記憶ステップと、
    前記第2のHUB装置に接続された複数のコンピュータのうちいずれか1つから、送信先コンピュータとして1又は複数のコンピュータへのデータの送信を要求する要求信号と共に、前記送信先コンピュータの前記ネットワークアドレスを含む前記データを受信した場合に、前記デバイス関連情報記憶部に記憶された仮想アドレス関連情報に基づいて、前記受信したネットワークアドレスが、当該第1のHUB装置に接続されたコンピュータに対応するか否かを判定する配下判定ステップと、
    前記配下判定ステップにより当該第1のHUB装置に接続されたコンピュータに対応しないと判定された場合に、前記受信した要求信号とネットワークアドレスを含むデータとを、前記ディジーチェーン接続により上流側に接続された前記ホストコンピュータ又は他のHUB装置に転送するデータ転送ステップと、
    前記配下判定ステップにより当該第1のHUB装置に接続されたコンピュータに対応すると判定された場合に、前記読み出したデバイス関連情報と前記受信したネットワークアドレスとに基づいて、前記送信先コンピュータに対応する1又は複数のポート番号を決定するポート番号決定ステップと、
    前記ホストコンピュータから前記順次送信許可信号を受信した場合に、前記ポート番号決定ステップにより決定されたポート番号が示すポートに接続された前記1又は複数のNIC装置のうち、前記順次送信許可信号が示す仮想アドレスに対応するNIC装置へ前記データを送信するデータ送信ステップと、を有し、
    前記第1のHUB装置に接続された前記複数のNIC装置により、
    前記第1のHUB装置から受信した前記ホストコンピュータによって割り当てられた前記第1のHUB装置、及び当該NIC装置を一意に識別する前記仮想アドレスを受信バッファに記憶させると共に、前記ホストコンピュータにより送信された前記順次送信許可信号に基づいて前記第1のHUB装置から、所定の時間間隔で送信されたデータを前記受信バッファに記憶させる受信データ記憶ステップと、
    前記コンピュータの割り込み処理により、前記第1のHUB装置に送信するデータを送信バッファに記憶させる送信データ記憶ステップと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記第1のHUB装置から、前記第1のHUB装置へデータの送信を許可する送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記第1のHUB装置の仮想アドレスに基づいて前記第1のHUB装置に送信する送信制御ステップと、を有する
    ことを特徴とする通信方法。
  32. コンピュータとそれぞれ接続されたNIC装置と、このNIC装置にホスト側NIC装置を介して接続されるホストコンピュータとを備えるネットワークシステムを用いて、PCI Express規格に準拠した通信を行う通信方法であって、
    前記ホストコンピュータにより、
    前記NIC装置を一意に識別する仮想アドレスを生成するアドレス生成ステップと、
    前記アドレス生成部により生成された仮想アドレスをアドレス記憶部に記憶させるアドレス記憶ステップと、
    前記記憶された仮想アドレスに基づいて、タイマー割り込みに基づいた所定の時間間隔で前記NIC装置へのデータの送信を順次許可する順次送信許可信号を前記NIC装置に送信するタイムスロット制御ステップと、を有し、
    前記NIC装置により、
    前記ホスト側NIC装置から受信した前記ホストコンピュータによって割り当てられた当該NIC装置を一意に識別する仮想アドレスを受信バッファに記憶させると共に、前記ホストコンピュータから所定の時間間隔で送信されたデータを前記受信バッファに記憶させる受信データ記憶ステップと、
    前記コンピュータの割り込み処理により、前記ホストコンピュータに送信するデータを送信バッファに記憶させる送信データ記憶ステップと、
    前記受信バッファにデータが記憶された場合に、このデータに含まれる当該NIC装置の前記仮想アドレスを、前記コンピュータにより割り当てられたノード側仮想アドレスに変換し、この変換後のデータを割り込み処理により前記コンピュータに送信すると共に、前記ホストコンピュータから前記順次送信許可信号を受信した場合に、前記送信バッファに記憶されたデータに含まれるノード側仮想アドレスを当該NIC装置の前記仮想アドレスに変換し、この変換後のデータを前記ホストコンピュータに送信する送信制御ステップと、を有する
    ことを特徴とする通信方法。
JP2009114739A 2009-05-11 2009-05-11 ネットワークシステム、ホストコンピュータ、hub装置、nic装置、及び通信方法 Active JP5426228B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009114739A JP5426228B2 (ja) 2009-05-11 2009-05-11 ネットワークシステム、ホストコンピュータ、hub装置、nic装置、及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009114739A JP5426228B2 (ja) 2009-05-11 2009-05-11 ネットワークシステム、ホストコンピュータ、hub装置、nic装置、及び通信方法

Publications (2)

Publication Number Publication Date
JP2010263571A true JP2010263571A (ja) 2010-11-18
JP5426228B2 JP5426228B2 (ja) 2014-02-26

Family

ID=43361254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009114739A Active JP5426228B2 (ja) 2009-05-11 2009-05-11 ネットワークシステム、ホストコンピュータ、hub装置、nic装置、及び通信方法

Country Status (1)

Country Link
JP (1) JP5426228B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053504A (ja) * 2010-08-31 2012-03-15 Hitachi Ltd ブレード型サーバ装置
JP2013088879A (ja) * 2011-10-13 2013-05-13 Kyocera Document Solutions Inc 情報処理装置
JP2014509501A (ja) * 2011-02-23 2014-04-17 タイコ・ファイヤー・アンド・セキュリティ・ゲーエムベーハー ネットワーク上のマスター/スレーブ・デバイスの自動構成のためのシステム及び方法
JP2015018355A (ja) * 2013-07-10 2015-01-29 富士ゼロックス株式会社 コンピュータシステム
JP2020065078A (ja) * 2016-07-01 2020-04-23 ローム株式会社 半導体装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62258535A (ja) * 1986-05-02 1987-11-11 Matsushita Graphic Commun Syst Inc デ−タ伝送方法
JP2009094778A (ja) * 2007-10-09 2009-04-30 Haptic:Kk 高速ネットワークシステム及び関連装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62258535A (ja) * 1986-05-02 1987-11-11 Matsushita Graphic Commun Syst Inc デ−タ伝送方法
JP2009094778A (ja) * 2007-10-09 2009-04-30 Haptic:Kk 高速ネットワークシステム及び関連装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053504A (ja) * 2010-08-31 2012-03-15 Hitachi Ltd ブレード型サーバ装置
JP2014509501A (ja) * 2011-02-23 2014-04-17 タイコ・ファイヤー・アンド・セキュリティ・ゲーエムベーハー ネットワーク上のマスター/スレーブ・デバイスの自動構成のためのシステム及び方法
JP2013088879A (ja) * 2011-10-13 2013-05-13 Kyocera Document Solutions Inc 情報処理装置
JP2015018355A (ja) * 2013-07-10 2015-01-29 富士ゼロックス株式会社 コンピュータシステム
JP2020065078A (ja) * 2016-07-01 2020-04-23 ローム株式会社 半導体装置
US11329572B2 (en) 2016-07-01 2022-05-10 Rohm Co., Ltd. Semiconductor device

Also Published As

Publication number Publication date
JP5426228B2 (ja) 2014-02-26

Similar Documents

Publication Publication Date Title
US7996577B2 (en) Automatically switching console connection
JP4477613B2 (ja) AXIプロトコルを適用したNoCシステム
JP5601601B2 (ja) 通信制御システム、スイッチノード、及び通信制御方法
JP5310175B2 (ja) スイッチシステム、及びスイッチシステムの制御方法
US7308523B1 (en) Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
US8571033B2 (en) Smart routing between peers in a point-to-point link based system
CN103117929A (zh) 一种基于PCIe数据交换的通信方法及系统
US7403525B2 (en) Efficient routing of packet data in a scalable processing resource
JP5426228B2 (ja) ネットワークシステム、ホストコンピュータ、hub装置、nic装置、及び通信方法
CN102388357B (zh) 访问存储设备的方法及系统
JP4564855B2 (ja) データ転送システム及び電子機器
CN100437537C (zh) 在快速pci结构上产生来自pci装置的多个业务类别
CN107852423B (zh) 用于usb 2.0带宽保留的方法及系统
EP2497031A1 (en) Network switch
US8885673B2 (en) Interleaving data packets in a packet-based communication system
US20080263248A1 (en) Multi-drop extension for a communication protocol
JP2008060695A (ja) 情報通信システムおよび送信側装置および受信側装置および送信制御プログラムおよび受信制御プログラム
EP2782302A1 (en) System, relay device, method, and program
JP5244362B2 (ja) 高速ネットワークシステム及び関連装置
US20040017813A1 (en) Transmitting data from a plurality of virtual channels via a multiple processor device
KR101794200B1 (ko) 리눅스 기반 패킷 프로세서를 이용하는 분산 패킷 전송 네트워크의 프로토콜 패킷 송수신 방법
CN106027423A (zh) PCIe设备共享网络及其数据传输方法
WO2013168427A1 (ja) バス制御装置、バス制御システム、およびネットワークインタフェース
EP1222753A1 (en) Parallel bus communications over a packet-switching fabric
CN112333075B (zh) 数据传输方法、装置、系统、计算机设备和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5426228

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250