(57)【特許請求の範囲】
【請求項１】
第１の装置と第２の装置とを接続するバスと、ネットワークインターフェイス回路とを備えたコンピュータシステムにおいて使用することにより、該第１の装置および第２の装置のうちの１つが該ネットワークインターフェイス回路を介してコンピュータネットワークと通信できるようにするシステムであって、
該バスと該ネットワークインターフェイス回路との間に連結され、該バスを介する該ネットワークインターフェイス回路に対するソケット層アクセスを提供するトランスポートスタック回路と、
該トランスポートスタック回路に関連し、該コンピュータシステム内の該第１の装置および第２の装置と該ネットワークインターフェイス回路との間のピアツーピアのソケット層アクセスを可能にする固有のチャネルを確立するチャネル制御回路と、
を具備するシステム。
【請求項２】
請求項１に記載のシステムにおいて、該ネットワークインターフェイス回路は、該コンピュータシステム内に取外し可能に連結されるネットワークインターフェイスカードに配置され、
１０Ｂａｓｅ−Ｔネットワークインターフェイス回路と、
１０／１００Ｂａｓｅ−Ｔネットワークインターフェイス回路と、
１００Ｂａｓｅ−Ｔネットワークインターフェイス回路と、
ＯＣ−１２光ネットワークインターフェイス回路と、
ＯＣ−４８光ネットワークインターフェイス回路と、
ＯＣ−１９２光ネットワークインターフェイス回路と、
Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（商品名）光ネットワークインターフェイス回路と、
Ｔｏｋｅｎ  Ｒｉｎｇ（商品名）ネットワークインターフェイス回路と、
からなるグループから選択されるシステム。
【請求項３】
請求項１に記載のシステムにおいて、該トランスポートスタック回路は、該コンピュータシステム内に取外し可能に連結されるネットワークインターフェイスカードに配置されているシステム。
【請求項４】
請求項１に記載のシステムにおいて、該チャネル制御回路は、該コンピュータシステム内に取外し可能に連結されるネットワークインターフェイスカードに配置されているシステム。
【請求項５】
請求項１に記載のシステムにおいて、該トランスポートスタック回路はＴＣＰ／ＩＰスタックを含むシステム。
【請求項６】
請求項１に記載のシステムにおいて、該第１の装置は、該バスに対するホスト装置であるシステム。
【請求項７】
請求項１に記載のシステムにおいて、該第２の装置は、該コンピュータシステムのディスクコントローラであるシステム。
【請求項８】
第１の装置と第２の装置とを接続するバスと、ネットワークインターフェイス回路とを備えたコンピュータシステムにおいて使用することにより、該第１の装置および第２の装置のうちの１つが該ネットワークインターフェイス回路を介してコンピュータネットワークと通信できるようにする方法であって、
該バスを介する該ネットワークインターフェイス回路に対するソケット層アクセスを提供することと、
該コンピュータシステム内の該第１の装置および第２の装置と該ネットワークインターフェイス回路との間のピアツーピアのソケット層アクセスを可能にする固有のチャネルを確立することと、
を含む方法。
【請求項９】
バスと、
バスを介して連結された第１の装置および第２の装置と、
バスを介して該第１の装置及び該第２の装置のいずれかに接続されたネットワークインターフェイス回路と、
該第１の装置および第２の装置のうちの１つが該ネットワークインターフェイス回路を介してコンピュータネットワークと通信できるようにするシステムと、
を具備するコンピュータシステムであって、
該バスと該ネットワークインターフェイス回路との間に連結され、該バスを介する該ネットワークインターフェイス回路に対するソケット層アクセスを提供するトランスポートスタック回路と、
該トランスポートスタック回路に関連し、該コンピュータシステム内の該第１の装置および第２の装置と該ネットワークインターフェイス回路との間のピアツーピアのソケット層アクセスを可能にする固有のチャネルを確立するチャネル制御回路と、
を含むコンピュータシステム。
【請求項１０】
請求項１０に記載のコンピュータシステムにおいて、該ネットワークインターフェイス回路は、該コンピュータシステム内に取外し可能に連結されるネットワークインターフェイスカードに配置され、
１０Ｂａｓｅ−Ｔネットワークインターフェイス回路と、
１０／１００Ｂａｓｅ−Ｔネットワークインターフェイス回路と、
１００Ｂａｓｅ−Ｔネットワークインターフェイス回路と、
ＯＣ−１２光ネットワークインターフェイス回路と、
ＯＣ−４８光ネットワークインターフェイス回路と、
ＯＣ−１９２光ネットワークインターフェイス回路と、
Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（商品名）光ネットワークインターフェイス回路と、
Ｔｏｋｅｎ  Ｒｉｎｇ（商品名）ネットワークインターフェイス回路と、
からなるグループから選択されるコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概してコンピュータシステムに関し、特に、コンピュータシステムにおけるネットワークインタフェースカードを用いたピアレベル通信のためのシステムおよび方法に関する。
【０００２】
【従来の技術】
コンピュータ処理の初期の時代、コンピュータシステムは、表示装置、プリンタおよび入力装置などの周辺装置が接続されたスタンドアロンプロセッサであった。各コンピュータシステムは独立しており、他のコンピュータシステムと通信することはほとんどなかった。しかしながら、今日、ローカルエリアネットワークまたは広域ネットワークなどのコンピュータネットワークにおいてコンピュータシステムを相互接続することにより、ネットワークの一部である種々のコンピュータシステムから入手可能なデータ、サービスおよびリソースの共有が非常に強化されることは周知である。
【０００３】
ネットワークに沿って異なるコンピュータシステム間で通信するために、多くの通信プロトコルが開発されてきた。周知のネットワークプロトコルのいくつかの例として、システムネットワークアーキテクチャ（Ｓｙｓｔｅｍ  Ｎｅｔｗｏｒｋ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＳＮＡ））、伝送制御プロトコル／インタネットプロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＴＣＰ／ＩＰ））、ネットワーク基本入出力システム（Ｎｅｔｗｏｒｋ  Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ（ＮｅｔＢＩＯＳ））およびインタネットパケット交換／シーケンスパケット交換（Ｉｎｔｅｒｎｅｔ  Ｐａｃｋｅｔ  Ｅｘｃｈａｎｇｅ／Ｓｅｑｕｅｎｃｅ  Ｐａｃｋｅｔ  Ｅｘｃｈａｎｇｅ（ＩＰＸ／ＳＰＸ））がある。当業者は、他のものと同様にこれらプロトコルの各々に熟知している。
【０００４】
今日販売されている従来からのネットワークインタフェースカード（ＮＩＣ）は、ホストインタフェース、媒体アクセス層ロジックおよび物理インタフェースからなる。ＮＩＣ設計の目的は、可能な限り迅速に常駐ホストとの間でネットワークパケットを転送することであり、それは通常、パケットストリームが強制的に移動させられるハードウェアを最小限にすることを意味する。ネットワークドライバ、トランスポートスタック（ＴＣＰ／ＩＰであってよい）およびソケット層インタフェースからなるホスト常駐ソフトウェアは、パケットストリームを処理して、比較的一様なアプリケーションプログラムインタフェース（「ＡＰＩ」）によりアプリケーションに渡されるバッファ層転送にする。Ｕｎｉｘ／Ｌｉｎｕｘ環境では、ＡＰＩは通常「ソケット」と呼ばれる。Ｗｉｎｄｏｗｓ（商品名）ＮＴ／２０００環境では、ＡＰＩは「Ｗｉｎｓｏｃｋ  ２」として具体化される。Ｗｉｎｄｏｗｓ  ＮＴ内のカーネルアクセス用のＴＤＩインタフェース層など、他のインタフェース層も可能である。しかしながら、これらインタフェース点はすべてトランスポートスタックの上で発生する、ということを留意しなければならない。
【０００５】
目下、コンピュータシステム内でネットワークとの通信を望む装置は、ソケット層においてそれを行う。例えば、独立ディスクの冗長アレイ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（ＲＡＩＤ））コントローラがシステム内にある場合、ネットワークファイルシステム要求により、ホスト内にそれら要求をサービスするアクティビティがもたらされる。ＲＡＩＤコントローラから読出されるディスクＩ／Ｏブロックは、まずコンピュータシステムの主メモリに転送され、そこからＡＰＩを介してトランスポートスタックに転送される。トランスポートスタックにおいて、ブロックは選択されたプロトコル内でカプセル化され、１つまたは複数のＩＰパケットとして伝送されるためにＮＩＣに転送される。
【０００６】
【発明が解決しようとする課題】
上述したように、これらインタフェース点のすべてがトランスポートスタックの上で発生するということに留意することが重要である。従って、上記論考から、すべてのデータがシステムのＩ／Ｏバスを２回移動すること、およびそのためにこの無駄なデータ移動がネットワークスループットの主なボトルネックとなるということが明らかなはずである。
【０００７】
データ転送レートを加速するために、従来技術の解決法では、コンピュータシステム内でトランスポートスタックがメザニンバスのレベルまで移動する必要があった。これには、ＴＣＰ／ＩＰスタックを実行するためにＮＩＣ自体に配置されたコプロセッサ（一般に、「インテリジェントプロセッサ」として知られる）を使用する必要があった。残念ながら、インテリジェントプロセッサは高価であることが分かっており、時には実際にネットワークスループットを低下させた。
【０００８】
従って、本技術分野で必要なことは、全体としてコンピュータシステムのコストを実質的に増大させることなくネットワークスループットを確実に増大させる方法である。
【０００９】
【課題を解決するための手段】
従来技術の上述した欠点を解決するために、本発明は、第１および第２の装置とネットワークインタフェース回路とに連結されたバスを有するコンピュータシステムにおいて使用するための、第１および第２の装置のうちの１つがネットワークインタフェース回路を介してコンピュータネットワークと通信できるようにするシステムおよび方法、並びにそのシステムまたは方法を組込んだコンピュータシステムを提供する。１つの実施の形態では、本システムは、（１）バスとネットワークインタフェース回路との間に連結され、バスを介するネットワークインタフェース回路に対するソケット層アクセスを提供するトランスポートスタック回路と、（２）トランスポートスタック回路に関連し、コンピュータシステム内の第１および第２の装置とトランスポートインタフェース回路との間のピアツーピアのソケット層アクセスを可能にする固有のチャネルを確立するチャネル制御回路と、を含む。
【００１０】
従って、本発明は、ソケット層ネットワークインタフェースハードウェアに対するチャネル化されたアクセスを提供することにより、コンピュータシステムの複数の装置がインタフェースハードウェアを介してコンピュータネットワークと通信することができるようにするという、広い概念をもたらす。これにより、コンピュータシステム内でピアツーピア通信を行うことができ、介入する装置（ホストおよび更なるバス帯域幅など）を他のタスクに対して解放することができる。
【００１１】
本発明の１つの実施の形態では、ネットワークインタフェース回路は、コンピュータシステム内で取外し可能に連結されたＮＩＣに配置され、（１）１０Ｂａｓｅ−Ｔネットワークインタフェース回路と、（２）１０／１００Ｂａｓｅ−Ｔネットワークインタフェース回路と、（３）１００Ｂａｓｅ−Ｔネットワークインタフェース回路と、（４）ＯＣ−１２光ネットワークインタフェース回路と、（５）ＯＣ−４８光ネットワークインタフェース回路と、（６）ＯＣ−１９２光ネットワークインタフェース回路と、（７）Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（商品名）光ネットワークインタフェース回路と、（８）Ｔｏｋｅｎ  Ｒｉｎｇ（商品名）ネットワークインタフェース回路と、からなるグループから選択される。しかしながら、当業者は、本発明が、あらゆる従来からのまたは後に開発されたリンクあるいは物理インタフェーステクノロジと共に有利に動作可能であることを認めるであろう。
【００１２】
本発明の１つの実施の形態では、トランスポートスタック回路は、コンピュータシステム内に取外し可能に連結されたＮＩＣに配置されている。本発明の関連する実施の形態では、チャネル制御回路は、コンピュータシステム内に取外し可能に連結されたＮＩＣに配置されている。例示され説明される実施の形態では、トランスポートスタック回路およびチャネル制御回路は、共にＮＩＣに配置されている。
【００１３】
本発明の１つの実施の形態では、トランスポートスタック回路はＴＣＰ／ＩＰスタックを含む。しかしながら、ソケット層と物理層との間に存在することができるいかなるプロトコルスタック（ネットワークインタフェース回路）も、本発明の広い範囲内にある
【００１４】
本発明の１つの実施の形態では、第１の装置はバスに対するホスト装置である。ホスト装置は、例えば、コンピュータシステムのプロセッサであってよい。
【００１５】
本発明の１つの実施の形態では、第２の装置はコンピュータシステムのディスクコントローラである。このため、ディスクまたはディスクアレイは、コンピュータシステムのプロセッサまたはメモリを拘束する必要なく、ネットワークインタフェース回路を介して直接コンピュータネットワークと通信することができる。当然ながら、従来からのまたは後に開発されたコンピュータシステムの一部を形成し得るすべての装置が、本発明の広い範囲内にある。
【００１６】
上記は、当業者が続く発明の詳細な説明をよりよく理解するよう、本発明の好ましいおよび代替的な特徴をむしろ広く概説した。本発明の特許請求の範囲の主題を形成する本発明の追加の特徴を、以下に説明する。当業者は、本発明の同じ目的を実行する他の構成を設計または変更するための基礎として、開示された概念および特定の実施の形態を容易に使用することができる、ということを認めるべきである。また、当業者は、かかる等価な構成がその最も広い形態で本発明の精神および範囲から逸脱しない、ということも認めるべきである。
【００１７】
本発明をより完全に理解するために、ここで、添付図面とともに以下の説明を参照する。
【００１８】
【発明の実施の形態】
最初に図１を参照すると、本発明のシステムまたは方法を組込むことができるコンピュータネットワーク１００が示されている。図１に示すネットワーク１００は、ローカルエリアネットワーク（「ＬＡＮ」）であるが、本発明は決してＬＡＮに限定されるものではない。「ＬＡＮ」という名前が意味するように、ネットワーク内のコンピュータは、種々のタイプのデータが個々のコンピュータ間で交換されるように、ローカルに（すなわち、部屋または建物内で）ネットワーク化されている。
【００１９】
ネットワーク１００には、コンピュータ１０５、１１０、１１５、１２０、１２５がある。コンピュータ１０５、１１０、１１５、１２０、１２５は、可能性として個々のユーザに単にローカルアプリケーションを提供するのと同様に、ユーザに対しインタフェースを提供する。ネットワーク１００は、１０Ｂａｓｅ−Ｔネットワークとして示されているが、本発明は、特定の媒体アクセス制御／物理層トポロジに決して限定されるものではない。
【００２０】
コンピュータ１０５、１１０、１１５、１２０、１２５には、サーバ１３０が接続されている。サーバ１３０は、ネットワーク１００内のトラフィックの流れを管理する。また、サーバ１３０は、コンピュータ１０５、１１０、１１５、１２０、１２５のユーザによって使用されるために中央記憶システム１４０のすべてのデータを管理する。中央記憶システム１４０は、ＲＡＩＤコントローラで制御されるＲＡＩＤであってよい。
【００２１】
ここで図２を参照すると、図１のコンピュータネットワーク１００と共に使用することができ、本発明のシステムまたは方法を組込むことができるＮＩＣ２００が示されている。ＮＩＣ２００は、コンピュータ１０５、１１０、１１５、１２０、１２５の１つに接続されることにより、コンピュータ１０５、１１０、１１５、１２０、１２５を図１のネットワーク１００に接続する。ＮＩＣ２００は、コンピュータ（例として、コンピュータ２４０）に直接接続するバスインタフェース２１０を含む。また、ＮＩＣ２００は、コンピュータ１０５、１１０、１１５、１２０、１２５のうちの１つとネットワークとの間で渡されるデータを符号化および復号化する、入力／出力チップ２２０も含む。
【００２２】
入力／出力チップ２２０は、バッファ２２５に関連付けられている。バッファ２２５は、宛先装置がデータを受取ることができるのを待つために一時的に情報を保持する、というタスクが与えられているメモリを有する。従って、サーバ１３０がデータを受入れることができる前に数ミリ秒遅延した場合、バッファ２２５はサーバ１３０が受入れることができるまでデータを保持する。
【００２３】
最後に、ＮＩＣ２００は、ネットワークインタフェース２３０を含む。ネットワークインタフェース２３０は、ＮＩＣが図１のネットワーク１００に直接接続することができる部分である。
【００２４】
ここで図３を参照すると、本発明の原理に従って構成されたネットワーク通信インタフェースを説明するために使用することができる、一例としての７層のオープンシステム相互接続（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＯＳＩ））モデルが示されている。当業者は、ホストシステムとネットワークとの間のインタフェースの記述としてＯＳＩモデルを熟知している。ＯＳＩモデルは、ネットワーク通信の最も周知の理論的記述の１つであるが、多くの通信の実現では、ＯＳＩ層の１つまたは複数を結合するかまたは省略する。物理層３７０は、最下層であり、ネットワークと直接相互作用する。物理層３７０は、ネットワークに対する物理的接続による実際のビットストリーム伝送を含む。
【００２５】
第２層はデータリンク層３６０であり、物理層ストリームの多重化およびメッセージへのフレーム化を提供する。また、データリンク層３６０は、誤り検出、同期情報および物理チャネル管理も提供する。
【００２６】
第３層はネットワーク層３５０であり、ネットワークにおける情報の経路指定を制御する。ネットワーク層３５０では、アドレス指定、ネットワーク初期化、スイッチング、セグメント化およびフォーマット化などのサービスが提供される。データ配信の応答は、ネットワーク層３５０かまたはデータリンク層３６０のいずれかにおいて達成される。
【００２７】
第４層はトランスポート層３４０であり、トランスペアレントデータ配信、多重化およびマッピングを制御する。確実な配信（下にある物理、データリンクおよびネットワーク層３７０、３６０、３５０におけるベストエフォートとは対照的に）は、特定のアプリケーションにおいて望ましい場合はトランスポート層３４０によって達成される。欠損データの再伝送、順序が誤って配信されたデータの再順序付けおよび伝送誤りの補正などのサービスは、通常トランスポート層３４０で達成される。
【００２８】
第５層は、セッション層３３０である。セッション層３３０は、トランスポート層３４０からの情報を使用して、一般にセッションと呼ばれる、ネットワークの２つのノード間の共通のアクティビティとして、複数のデータを１まとまりにする。
【００２９】
第６層は、プレゼンテーション層３２０であり、セッション層３３０とアプリケーション層３１０である最上位の第７層との間のインタフェースを含む。プレゼンテーション層３２０は、セッション層３３０の安全性を危うくすることなく、アプリケーション層３１０で使用される情報を提示する。プレゼンテーション層３２０は、データ補間とフォーマットおよび符号変換とを提供し、アプリケーション層３１０は、ユーザアプリケーションインタフェースと管理機能とを提供する。
【００３０】
ここで図４を参照すると、本発明の１つの実施の形態に従って構成された、概して４００で示されるチャネルスイッチング機構が示されている。図２には示されていないが、チャネルスイッチング機構４００は、有利にはＮＩＣ２００に配置されている。
【００３１】
チャネルスイッチング機構４００は、データをその適当な宛先に送信することにより、サーバの外部の装置がサーバ帯域幅を使用するのではなくピアツーピアベースで通信することができるようにする。チャネルスイッチング機構４００は、好ましくはハードウェアベースであり、トラフィックの複数のチャネルを同時に割当てることができる。
【００３２】
チャネルスイッチング機構４００は、８つの入力４１０と８つの出力４２０とを含むように示されている。各出力は、チャネル、すなわちホストかまたはピア装置のいずれかとのインタフェースに対応する。従って、ネットワークインタフェースは、複数の並行チャネルをサポートすることができる。チャネルスイッチング機構４００は８つのチャネルしか処理することができないが、本発明は、特定の数または一定の数のチャネルに決して限定されるものではない。
【００３３】
チャネルスイッチング機構４００によって処理されるデータは、チャネルスイッチング機構４００に対し、いずれの装置がデータを発生したか、およびデータの宛先が何であるかに関する情報を提供する、入力／出力記述子が関連付けられている。チャネルスイッチング機構４００は、入力／出力記述子を読出し記述子比較回路４４０に送信する。
【００３４】
また、図４には、専用のインタフェースレジスタ４３０のセットが示されている。インタフェースレジスタ４３０のセットが、チャネルスイッチング機構４００が入力データの入力／出力記述子を適当なチャネル出力に関連付けることができるようにする情報を含むため、それを適当な宛先に送信することができる。記述子比較回路４４０は、入力／出力記述子を、専用のインタフェースレジスタ４３０のセットに存在する値と比較する。そして、記述子比較回路４４０は、チャネルスイッチング機構４００のコントローラに値を通信する。チャネルスイッチング機構４００のプロセッサは、その値を使用してデータをその意図された宛先に送信する。この処理のネット効果は、ピア装置およびホストシステムが各々、発信装置を直接知ることなくＮＩＣと通信することができるということであり、関係する情報はすべてＮＩＣ自体に置かれている。
【００３５】
従って、本発明のこの実施の形態によれば、データはまずポイント４１０においてチャネルスイッチング機構４００に入る。データと共に（好ましくは先行して）、その入力／出力記述子がある。チャネルスイッチング機構４００は、入力／出力記述子を記述子比較回路４４０に送信する。記述子比較回路４４０が専用のインタフェースレジスタ４３０のセットに所定の入力／出力記述子に対応する値を見つけると、チャネルスイッチング機構４００はポイント４２０において適当な出力にそのデータを送信する。ポイント４２０は、データの宛先となる第２の装置に対応している。
【００３６】
ここで図５を参照すると、従来技術によるネットワークのサーバ付近でのデータの流れを示す、概して５００で示すフローチャートが示されている。この図では、データの流れは、第１の装置から第２の装置であり、それらは共にサーバに接続されている。第１および第２の装置は、コンピュータ、プリンタ、個々のディスクドライブ、ＲＡＩＤコントローラ、またはネットワークおよびサーバにより共に接続することができる他のあらゆる装置であってよい。
【００３７】
ステップ５０５において、１つまたは複数のフレームにカプセル化されたデータは、ネットワークを離れてサーバのＮＩＣに入る。そして、（ステップ５１０において）ＮＩＣにおいてフレームヘッダが剥取られパケット形式になったデータは、サーバのプロセッサに向かってサーバのバスを移動する。データパケットは、ＮＩＣソフトウェアドライバによって処理され（ステップ５１５）、ソフトウェアに組込まれたＴＣＰ／ＩＰプロトコルに従って解釈される（ステップ５２０）。データはそのパケットから抽出され、この時点でソケット層に到達し（ステップ５２５）、バッファに配置される。その時点でデータの宛先となっているアプリケーションは、ソケット層を介してバッファからデータを読出し（ステップ５３０）、それに従ってデータを処理する（ステップ５３５）。
【００３８】
ここで、アプリケーションがネットワークにデータを戻すよう希望するとすると、ソケット層を介してバッファにデータを書込むことが必要となる（ステップ５４０）。そして、データはソケット層を離れ（ステップ５４５）、ＴＣＰ／ＩＰに従って解釈されて（ステップ５５０）パケットをもたらす。パケットは、ＮＩＣドライバによってアウトバウンドデータとして処理され（ステップ５５５）、ＮＩＣに向かってサーバのバスを移動し（ステップ５６０）、ＮＩＣにおいてフレーム化されてネットワークに転送される（ステップ５６５）。これは、冗長であり潜在的にリソースハングリな処理であることは明らかである。
【００３９】
ここで、図６を参照すると、本発明の１つの実施の形態に従ったＮＩＣ２００に接続されることによりサーバとして動作するコンピュータ付近のネットワークを介したデータの流れを示す、概して６００で示すフローチャートが示されている。上記図５について説明したデータの流れは、図６について説明するものと非常に対照的である。データフレームは、初期ステップ６１０においてサーバとして動作するコンピュータに接続されたＮＩＣ２００に入る。
【００４０】
ステップ６２０において、データフレームはそれらのフレームヘッダが剥ぎ取られ、ＴＣＰ／ＩＰに従って解釈され、ペイロードとしてソケット層に入りまだＮＩＣ内にある。そして、ステップ６３０において、ＮＩＣ内のチャネル回路がデータを適当なチャネルに向け、最後に第２の装置に送信する。この時点でのみ、データはバスを渡る（ステップ６４０）。例えば、第２の装置がＲＡＩＤコントローラに関連する場合、（ディスクＩ／Ｏ）データは、ソケット層を介してＲＡＩＤコントローラに入る（任意ステップ６５０）。データは、決してサーバハードウェアに入る必要がない。本発明の原理によれば、データが移動するために必要な経路は、従来技術が提供する経路より短く、必要なサーバリソースが大幅に少ない。実際には、例示した実施の形態では、サーバハードウェア自体、ＮＩＣによるデータの伝送に関するいかなる動作も実行する必要がない。これにより、サーバは、ネットワークに接続されたユーザにサービスを提供するなどの他のタスクの実行に注意を向けることができる。
【００４１】
上記内容をＴＣＰ／ＩＰに関して説明したが、当業者は、本発明が特定のプロトコルに限定されないことを理解するであろう。
【００４２】
また、サーバハードウェアの設計は、本発明の原理から利益を得ることができる。サーバハードウェアは、ネットワークデータ伝送を実行することが要求されないため、サーバが実行するよう要求される可能性のある他のジョブに対して最適化することができる。
【００４３】
本発明を詳細に説明したが、当業者は、その最も広い形態で本発明の精神および範囲から逸脱することなく本明細書において種々の変更、代用および改変を行うことができる、ということを理解すべきである。
【図面の簡単な説明】
【図１】本発明のシステムまたは方法とともに動作することができるコンピュータネットワークシステムを示す。
【図２】図１のコンピュータネットワークと共に使用可能であり本発明のシステムまたは方法を組込むことができるＮＩＣを示す。
【図３】本発明の原理に従って構成されたネットワーク通信インタフェースを説明するために使用することができる一例としての７層のオープンシステム相互接続（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＯＳＩ））モデルを示す。
【図４】本発明の１つの実施の形態に従って構成されたチャネルスイッチング機構を示す。
【図５】従来技術によるネットワークのサーバ付近でのデータの流れを示すフローチャートを示す。
【図６】本発明の１つの実施の形態によるネットワークのサーバ付近でのデータの流れを示すフローチャートを示す。
【図１】
0003792538.tif 000002
【図２】
0003792538.tif 000003
【図３】
0003792538.tif 000004
【図４】
0003792538.tif 000005
【図５】
0003792538.tif 000006
【図６】
0003792538.tif 000007