JP3384686B2 - 通信ネットワークから情報を受信するための方法および装置 - Google Patents
通信ネットワークから情報を受信するための方法および装置Info
- Publication number
- JP3384686B2 JP3384686B2 JP16455996A JP16455996A JP3384686B2 JP 3384686 B2 JP3384686 B2 JP 3384686B2 JP 16455996 A JP16455996 A JP 16455996A JP 16455996 A JP16455996 A JP 16455996A JP 3384686 B2 JP3384686 B2 JP 3384686B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- information
- memory
- adapter
- information packet
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、一般的にはデータ
通信のための方法および装置に関し、具体的には通信ネ
ットワークを介してデータ処理システムに伝送されたデ
ータを受信するための改良された方法および装置に関す
る。より具体的には、本発明は、データ・パケット全体
を受信する前にパケット・ヘッダを処理することにより
待ち時間を短縮する、パケットベース・アーキテクチャ
を使用するデータ処理システム内でのデータ受信のため
の改良された方法および装置に関する。
通信のための方法および装置に関し、具体的には通信ネ
ットワークを介してデータ処理システムに伝送されたデ
ータを受信するための改良された方法および装置に関す
る。より具体的には、本発明は、データ・パケット全体
を受信する前にパケット・ヘッダを処理することにより
待ち時間を短縮する、パケットベース・アーキテクチャ
を使用するデータ処理システム内でのデータ受信のため
の改良された方法および装置に関する。
【0002】
【従来の技術】コンピュータ・ネットワークに接続され
たデータ処理システムは、通常、データ処理システムと
コンピュータ・ネットワークとの間のデータ通信をサポ
ートするための入出力アダプタを含んでいる。一般にこ
の入出力アダプタは、ホストベースまたはパケットベー
スいずれかのアーキテクチャを使用する。本明細書で使
用する「ホストベース」という用語は、データを受信し
たときに直接メモリ・アクセス(DMA)によってデー
タ処理システム内のホスト・メモリにデータ・パケット
が転送されるアーキテクチャを意味する。ホストベース
・アダプタは、コンピュータ・ネットワークからデータ
を受信したときにそのデータをホスト・メモリに転送す
るので、通常、ホストベース・アダプタは小規模なデー
タ・バッファしか含んでいない。これに対して、パケッ
トベース・アーキテクチャは、1つまたは複数のデータ
・パケットを格納可能なアダプタ・メモリを含む、入出
力アダプタ設計を意味する。通常、パケットベース・ア
ダプタは、コンピュータ・ネットワークからアダプタ・
メモリにデータ・パケットを受信し、その後、DMAに
よってデータ・パケット全体をホスト・メモリに転送す
る。
たデータ処理システムは、通常、データ処理システムと
コンピュータ・ネットワークとの間のデータ通信をサポ
ートするための入出力アダプタを含んでいる。一般にこ
の入出力アダプタは、ホストベースまたはパケットベー
スいずれかのアーキテクチャを使用する。本明細書で使
用する「ホストベース」という用語は、データを受信し
たときに直接メモリ・アクセス(DMA)によってデー
タ処理システム内のホスト・メモリにデータ・パケット
が転送されるアーキテクチャを意味する。ホストベース
・アダプタは、コンピュータ・ネットワークからデータ
を受信したときにそのデータをホスト・メモリに転送す
るので、通常、ホストベース・アダプタは小規模なデー
タ・バッファしか含んでいない。これに対して、パケッ
トベース・アーキテクチャは、1つまたは複数のデータ
・パケットを格納可能なアダプタ・メモリを含む、入出
力アダプタ設計を意味する。通常、パケットベース・ア
ダプタは、コンピュータ・ネットワークからアダプタ・
メモリにデータ・パケットを受信し、その後、DMAに
よってデータ・パケット全体をホスト・メモリに転送す
る。
【0003】次に図7を参照すると、同図には、従来の
パケットベース入出力アダプタを使用するデータ処理シ
ステムによるデータ・パケットの受信中の事象を示すタ
イムライン(時系列)が示されている。図示の通り、コ
ンピュータ・ネットワークからアダプタ・メモリに1パ
ケット分のデータを転送(バー150)した後、入出力
アダプタは、データ・パケットを受信したことをホスト
・データ処理システム内で実行中のソフトウェアに通知
する(バー152)。次に、バー154が示すように、
入出力アダプタは、ホスト・メモリへのパケット・ヘッ
ダのDMA転送をセットアップし、その後、バー156
が示すように、パケット・ヘッダのDMA転送を実行す
る。パケット・ヘッダのDMA転送が完了したという通
知を受信(バー158)した後、入出力アダプタは、デ
ータ・パケットのヘッダを検査し(バー160)、ホス
ト・メモリ内のユーザ・アドレス空間内へのデータ・パ
ケットのDMA転送をセットアップする(バー16
2)。次に入出力アダプタは、ホスト・メモリ内のユー
ザ・アドレス空間内へのパケット・データのDMA転送
を実行し(バー164)、バー166が示すように、D
MA転送が完了したことをホスト・データ処理システム
内のソフトウェアに通知する。最後に、バー168は、
データ・パケットが到着したことをデータ処理システム
のソフトウェアがユーザに通知することを示している。
パケットベース入出力アダプタを使用するデータ処理シ
ステムによるデータ・パケットの受信中の事象を示すタ
イムライン(時系列)が示されている。図示の通り、コ
ンピュータ・ネットワークからアダプタ・メモリに1パ
ケット分のデータを転送(バー150)した後、入出力
アダプタは、データ・パケットを受信したことをホスト
・データ処理システム内で実行中のソフトウェアに通知
する(バー152)。次に、バー154が示すように、
入出力アダプタは、ホスト・メモリへのパケット・ヘッ
ダのDMA転送をセットアップし、その後、バー156
が示すように、パケット・ヘッダのDMA転送を実行す
る。パケット・ヘッダのDMA転送が完了したという通
知を受信(バー158)した後、入出力アダプタは、デ
ータ・パケットのヘッダを検査し(バー160)、ホス
ト・メモリ内のユーザ・アドレス空間内へのデータ・パ
ケットのDMA転送をセットアップする(バー16
2)。次に入出力アダプタは、ホスト・メモリ内のユー
ザ・アドレス空間内へのパケット・データのDMA転送
を実行し(バー164)、バー166が示すように、D
MA転送が完了したことをホスト・データ処理システム
内のソフトウェアに通知する。最後に、バー168は、
データ・パケットが到着したことをデータ処理システム
のソフトウェアがユーザに通知することを示している。
【0004】図7から明らかなように、従来のパケット
ベース・アーキテクチャの問題の1つは、入出力アダプ
タがデータ・パケットを受信してから、データ・パケッ
トが到着したことがユーザに通知されるまでの間にユー
ザが認識する待ち時間である。データ受信タイムライン
内の事象が順次順序付けられているので、ユーザは、デ
ータ・パケットがコンピュータ・ネットワークから入出
力アダプタに転送される際の間隔と、アダプタ・メモリ
からホスト・メモリ内のユーザ・アドレス空間へパケッ
トのDMA転送を実行するのに必要な時間、ならびにチ
ェックサムや他のエラー検出など、プロトコル・スタッ
ク内での追加の処理を認識する。また、パケットベース
・アーキテクチャに関連する待ち時間はユーザによって
認識されているので、多くのデータ処理システムではホ
ストベース・アダプタ・アーキテクチャを使用してい
る。
ベース・アーキテクチャの問題の1つは、入出力アダプ
タがデータ・パケットを受信してから、データ・パケッ
トが到着したことがユーザに通知されるまでの間にユー
ザが認識する待ち時間である。データ受信タイムライン
内の事象が順次順序付けられているので、ユーザは、デ
ータ・パケットがコンピュータ・ネットワークから入出
力アダプタに転送される際の間隔と、アダプタ・メモリ
からホスト・メモリ内のユーザ・アドレス空間へパケッ
トのDMA転送を実行するのに必要な時間、ならびにチ
ェックサムや他のエラー検出など、プロトコル・スタッ
ク内での追加の処理を認識する。また、パケットベース
・アーキテクチャに関連する待ち時間はユーザによって
認識されているので、多くのデータ処理システムではホ
ストベース・アダプタ・アーキテクチャを使用してい
る。
【0005】次に図8を参照すると、同図には、従来の
ホストベース・アダプタを使用するデータ処理システム
によるデータ・パケットの受信中の事象を示すタイムラ
インが示されている。バー170は、ホストベース入出
力アダプタによるデータ・パケットの受信を示してい
る。バー172が示すように、ホストベース入出力アダ
プタは、データ処理システムのホスト・メモリ内のシス
テム・アドレス空間へのデータ・パケットの並行DMA
転送を実行する。次に、入出力アダプタは、コンピュー
タ・ネットワークからパケットを受信したことをシステ
ム・ソフトウェアに通知する(バー174)。次に、バ
ー176および178が示すように、入出力アダプタ
は、パケット・ヘッダへの問合せを行って、ホスト・メ
モリのユーザ・アドレス空間内の宛先アドレスを求め、
システム・アドレス空間からホスト・メモリのユーザ・
アドレス空間内の宛先アドレスにデータ・パケットをコ
ピーする。最後に、バー180が示すように、入出力ア
ダプタは、コンピュータ・ネットワークからデータ・パ
ケットを受信したことをユーザに通知する。
ホストベース・アダプタを使用するデータ処理システム
によるデータ・パケットの受信中の事象を示すタイムラ
インが示されている。バー170は、ホストベース入出
力アダプタによるデータ・パケットの受信を示してい
る。バー172が示すように、ホストベース入出力アダ
プタは、データ処理システムのホスト・メモリ内のシス
テム・アドレス空間へのデータ・パケットの並行DMA
転送を実行する。次に、入出力アダプタは、コンピュー
タ・ネットワークからパケットを受信したことをシステ
ム・ソフトウェアに通知する(バー174)。次に、バ
ー176および178が示すように、入出力アダプタ
は、パケット・ヘッダへの問合せを行って、ホスト・メ
モリのユーザ・アドレス空間内の宛先アドレスを求め、
システム・アドレス空間からホスト・メモリのユーザ・
アドレス空間内の宛先アドレスにデータ・パケットをコ
ピーする。最後に、バー180が示すように、入出力ア
ダプタは、コンピュータ・ネットワークからデータ・パ
ケットを受信したことをユーザに通知する。
【0006】ホスト・メモリ内のシステム・アドレス空
間へのデータ・パケットのDMA転送は発生順ではデー
タ・パケットの受信と重なるので、ホストベース・アダ
プタ・アーキテクチャによってユーザが認識する待ち時
間が減少するが、ユーザは依然として、システム・アド
レス空間からホスト・メモリ内のユーザ・アドレス空間
へのデータ・パケットのコピーに関連する待ち時間を認
識する。さらに、コンピュータ・ネットワークから受信
するときにホスト・メモリに対する処理を行わずにデー
タ・パケットが転送されるので、入出力アダプタは、デ
ータ・パケットに関するインラインDMAサービスを実
行することができない。というのは、データ・パケット
全体が使用可能になっているわけではないからである。
したがって、ユーザ・アドレス空間にデータをコピーし
た後で、チェックサムやデータ暗号化などのDMAサー
ビスを実行しなければならず、それにより、ユーザが認
識する待ち時間がさらに増加する。
間へのデータ・パケットのDMA転送は発生順ではデー
タ・パケットの受信と重なるので、ホストベース・アダ
プタ・アーキテクチャによってユーザが認識する待ち時
間が減少するが、ユーザは依然として、システム・アド
レス空間からホスト・メモリ内のユーザ・アドレス空間
へのデータ・パケットのコピーに関連する待ち時間を認
識する。さらに、コンピュータ・ネットワークから受信
するときにホスト・メモリに対する処理を行わずにデー
タ・パケットが転送されるので、入出力アダプタは、デ
ータ・パケットに関するインラインDMAサービスを実
行することができない。というのは、データ・パケット
全体が使用可能になっているわけではないからである。
したがって、ユーザ・アドレス空間にデータをコピーし
た後で、チェックサムやデータ暗号化などのDMAサー
ビスを実行しなければならず、それにより、ユーザが認
識する待ち時間がさらに増加する。
【0007】その結果、データ・パケット全体を受信す
る前にパケット・ヘッダを処理することによりユーザが
認識する待ち時間を短縮するような、パケットベース・
アーキテクチャを使用するデータ処理システム内でのデ
ータ受信用の改良された方法および装置を提供すること
が望ましいと思われる。
る前にパケット・ヘッダを処理することによりユーザが
認識する待ち時間を短縮するような、パケットベース・
アーキテクチャを使用するデータ処理システム内でのデ
ータ受信用の改良された方法および装置を提供すること
が望ましいと思われる。
【0008】
【発明が解決しようとする課題】したがって、本発明の
一目的は、データ通信用の方法および装置を提供するこ
とにある。
一目的は、データ通信用の方法および装置を提供するこ
とにある。
【0009】本発明の他の目的は、通信ネットワークを
介してデータ処理システムに伝送されたデータを受信す
るための改良された方法および装置を提供することにあ
る。
介してデータ処理システムに伝送されたデータを受信す
るための改良された方法および装置を提供することにあ
る。
【0010】本発明の他の目的は、データ・パケット全
体を受信する前にパケット・ヘッダを処理することによ
りユーザが認識する待ち時間を短縮するような、パケッ
トベース・アーキテクチャを使用するデータ処理システ
ム内でのデータ受信用の改良された方法および装置を提
供することにある。
体を受信する前にパケット・ヘッダを処理することによ
りユーザが認識する待ち時間を短縮するような、パケッ
トベース・アーキテクチャを使用するデータ処理システ
ム内でのデータ受信用の改良された方法および装置を提
供することにある。
【0011】
【課題を解決するための手段】上記の目的は、以下に記
載するように達成される。データ処理システム内で通信
ネットワークから情報を受信するための方法および装置
を開示する。このデータ処理システムは、アダプタ・メ
モリを有する通信アダプタと、ホスト・メモリとを含
む。通信アダプタは通信ネットワークに結合され、その
通信ネットワークはパケット・ヘッダとパケット・デー
タとを含む情報をパケット単位でデータ処理システムに
伝送する。本発明によれば、通信アダプタ内のアダプタ
・メモリで通信ネット・ワークからの情報パケットの一
部が受信される。この情報パケットの一部は、情報パケ
ットの長さと、ホスト・メモリ内の宛先アドレスとを指
定するパケット・ヘッダを少なくとも含んでいる。この
情報パケットの一部の受信に対する応答として、アダプ
タ・メモリで情報パケットの最終部分を受信する前に、
アダプタ・メモリからホスト・メモリへの情報パケット
の転送が準備される。次に、情報パケットの各所定のサ
ブセットの受信に対する応答として、情報パケットの各
所定のサブセットは、アダプタ・メモリから宛先アドレ
スから始まるホスト・メモリ内のアドレスに転送され
る。更に、情報パケットの各所定のサブセットのホスト
・メモリへの転送と並行して、情報パケットがエラーを
含んでいるかどうかが検出される。情報パケット内のエ
ラーの検出に対する応答として、アダプタ・メモリから
ホスト・メモリへの情報パケットの各所定のサブセット
の転送が取り消される。アダプタ・メモリからホスト・
メモリへの情報パケットの各所定のサブセットの転送が
完了する前に情報パケット内のエラーを検出できなかっ
たことに対する応答として、情報パケットが通信ネット
ワークから受信されたという通知が提供される。
載するように達成される。データ処理システム内で通信
ネットワークから情報を受信するための方法および装置
を開示する。このデータ処理システムは、アダプタ・メ
モリを有する通信アダプタと、ホスト・メモリとを含
む。通信アダプタは通信ネットワークに結合され、その
通信ネットワークはパケット・ヘッダとパケット・デー
タとを含む情報をパケット単位でデータ処理システムに
伝送する。本発明によれば、通信アダプタ内のアダプタ
・メモリで通信ネット・ワークからの情報パケットの一
部が受信される。この情報パケットの一部は、情報パケ
ットの長さと、ホスト・メモリ内の宛先アドレスとを指
定するパケット・ヘッダを少なくとも含んでいる。この
情報パケットの一部の受信に対する応答として、アダプ
タ・メモリで情報パケットの最終部分を受信する前に、
アダプタ・メモリからホスト・メモリへの情報パケット
の転送が準備される。次に、情報パケットの各所定のサ
ブセットの受信に対する応答として、情報パケットの各
所定のサブセットは、アダプタ・メモリから宛先アドレ
スから始まるホスト・メモリ内のアドレスに転送され
る。更に、情報パケットの各所定のサブセットのホスト
・メモリへの転送と並行して、情報パケットがエラーを
含んでいるかどうかが検出される。情報パケット内のエ
ラーの検出に対する応答として、アダプタ・メモリから
ホスト・メモリへの情報パケットの各所定のサブセット
の転送が取り消される。アダプタ・メモリからホスト・
メモリへの情報パケットの各所定のサブセットの転送が
完了する前に情報パケット内のエラーを検出できなかっ
たことに対する応答として、情報パケットが通信ネット
ワークから受信されたという通知が提供される。
【0012】本発明の特性を示すと思われる新規の特徴
は、特許請求の範囲に記載されている。しかし、本発明
そのもの、ならびに本発明の好ましい使用態様、追加の
目的および利点については、添付図面とともに、以下に
示す実施例の詳細説明を参照すれば最もよく理解できる
だろう。
は、特許請求の範囲に記載されている。しかし、本発明
そのもの、ならびに本発明の好ましい使用態様、追加の
目的および利点については、添付図面とともに、以下に
示す実施例の詳細説明を参照すれば最もよく理解できる
だろう。
【0013】
【発明の実施の形態】次に、添付図面、特に図1を参照
すると、同図には、本発明の方法を実施するために使用
可能なデータ処理システム10の絵画表現が示されてい
る。図示の実施例では、データ処理システム10は、サ
ーバ12と、1つまたは複数のクライアント14とを含
んでいる。それぞれのクライアント14は、パーソナル
・コンピュータ16と、表示装置18と、キーボード2
0と、マウス22とを含む。当業者には周知のように、
ユーザは、キーボード20、マウス22、またはその他
の適当な入力装置を使用してパーソナル・コンピュータ
16にデータを入力することができる。次にユーザは、
パーソナル・コンピュータ16を使用してローカルでデ
ータを処理するか、または従来のネットワーキング技法
を使用してローカル・エリア・ネットワーク(LAN)
13によりパーソナル・コンピュータ16から別のクラ
イアント14にデータを伝送することができる。同様
に、ユーザは、通信リンク24によりサーバ12にタス
クを伝送することができる。サーバ12はクライアント
14の1つに比べ、比較的短時間でタスクを実行するこ
とができるので、ユーザがサーバ12にタスクを送信し
て実行させることは都合の良いことである。
すると、同図には、本発明の方法を実施するために使用
可能なデータ処理システム10の絵画表現が示されてい
る。図示の実施例では、データ処理システム10は、サ
ーバ12と、1つまたは複数のクライアント14とを含
んでいる。それぞれのクライアント14は、パーソナル
・コンピュータ16と、表示装置18と、キーボード2
0と、マウス22とを含む。当業者には周知のように、
ユーザは、キーボード20、マウス22、またはその他
の適当な入力装置を使用してパーソナル・コンピュータ
16にデータを入力することができる。次にユーザは、
パーソナル・コンピュータ16を使用してローカルでデ
ータを処理するか、または従来のネットワーキング技法
を使用してローカル・エリア・ネットワーク(LAN)
13によりパーソナル・コンピュータ16から別のクラ
イアント14にデータを伝送することができる。同様
に、ユーザは、通信リンク24によりサーバ12にタス
クを伝送することができる。サーバ12はクライアント
14の1つに比べ、比較的短時間でタスクを実行するこ
とができるので、ユーザがサーバ12にタスクを送信し
て実行させることは都合の良いことである。
【0014】当業者には分かるように、通信リンク24
とLAN13は、実施態様固有の通信プロトコルを使用
し、そのプロトコルは、本発明の好ましい実施例では非
同期転送モード(ATM)プロトコルを含む。ATMプ
ロトコルにより、通信リンク24またはLAN13を介
して伝送される各情報パケットは、いくつかの固定長セ
ルに細分される。たとえば、一部のATMプロトコルの
実施態様では、それぞれのセルは、48バイトのセル・
データと、そのセルの内容を記述する関連の5バイトの
セル・ヘッダとを含む。それぞれの情報パケットはいく
つかの個別セルに細分されるので、複数のパケットのそ
れぞれからセルをインターリーブすることにより、ネッ
トワークを介して複数のパケットを同時に伝送すること
ができる。したがって、ATMプロトコルによって得ら
れるネットワーク・スループットは高くなるが、対象パ
ケットのセル間で他のパケットのセルがインターリーブ
されるので、特定の情報パケットは比較的遅い速度でネ
ットワーク内の遠隔ノードに到着する可能性がある。以
下に詳述するように、本発明では、パケット・データの
受信中にパケット・データを処理することにより、パケ
ット・ヘッダが到着してからパケット・データが使用可
能になるまでにユーザが認識する待ち時間を最小限にす
る。
とLAN13は、実施態様固有の通信プロトコルを使用
し、そのプロトコルは、本発明の好ましい実施例では非
同期転送モード(ATM)プロトコルを含む。ATMプ
ロトコルにより、通信リンク24またはLAN13を介
して伝送される各情報パケットは、いくつかの固定長セ
ルに細分される。たとえば、一部のATMプロトコルの
実施態様では、それぞれのセルは、48バイトのセル・
データと、そのセルの内容を記述する関連の5バイトの
セル・ヘッダとを含む。それぞれの情報パケットはいく
つかの個別セルに細分されるので、複数のパケットのそ
れぞれからセルをインターリーブすることにより、ネッ
トワークを介して複数のパケットを同時に伝送すること
ができる。したがって、ATMプロトコルによって得ら
れるネットワーク・スループットは高くなるが、対象パ
ケットのセル間で他のパケットのセルがインターリーブ
されるので、特定の情報パケットは比較的遅い速度でネ
ットワーク内の遠隔ノードに到着する可能性がある。以
下に詳述するように、本発明では、パケット・データの
受信中にパケット・データを処理することにより、パケ
ット・ヘッダが到着してからパケット・データが使用可
能になるまでにユーザが認識する待ち時間を最小限にす
る。
【0015】次に図2を参照すると、同図には、サーバ
12のブロック図が示され、このサーバは本発明の好ま
しい実施例ではIBM RISCシステム/6000な
どのマルチプロセッサ・コンピュータを含む。図示のよ
うに、サーバ12は1つまたは複数のCPU30を含
み、このCPUは、UNIXのIBMバージョンである
AIX(拡張対話式エグゼクティブ)などのマルチスレ
ッド化オペレーティング・システム下で動作することが
好ましい。本発明によれば、CPU30は、サーバ12
と通信リンク24との間のデータ通信を制御する通信ソ
フトウェアも実行する。それぞれのCPU30は、AI
Xの下でオペレーティング・システムまたはユーザ(通
信ソフトウェア)プロセスのスレッド(すなわち、複数
の命令からなるスケジュール可能なストリーム)を並行
実行する。
12のブロック図が示され、このサーバは本発明の好ま
しい実施例ではIBM RISCシステム/6000な
どのマルチプロセッサ・コンピュータを含む。図示のよ
うに、サーバ12は1つまたは複数のCPU30を含
み、このCPUは、UNIXのIBMバージョンである
AIX(拡張対話式エグゼクティブ)などのマルチスレ
ッド化オペレーティング・システム下で動作することが
好ましい。本発明によれば、CPU30は、サーバ12
と通信リンク24との間のデータ通信を制御する通信ソ
フトウェアも実行する。それぞれのCPU30は、AI
Xの下でオペレーティング・システムまたはユーザ(通
信ソフトウェア)プロセスのスレッド(すなわち、複数
の命令からなるスケジュール可能なストリーム)を並行
実行する。
【0016】図示の通り、それぞれのCPU30は、オ
ンボード・レベル1(L1)キャッシュ32と、関連の
レベル2(L2)キャッシュ34とを有する。当業者に
は分かるように、L1キャッシュ32とL2キャッシュ
34は、頻繁にアクセスされるデータと命令を格納す
る、比較的小さい高速メモリ部分を含む。CPU30の
1つが要求するデータまたは命令がプロセッサのL1キ
ャッシュ32またはL2キャッシュ34内に存在しない
場合、CPU30は、システム・バス38を介してメイ
ン・メモリ36または2次記憶装置42から、要求した
データまたは命令にアクセスする。サーバ12のアドレ
ス空間内のアドレスは、メモリ・マネージャ(図示せ
ず)により、L1キャッシュ32と、L2キャッシュ3
4と、メイン・メモリ36とを含むメモリ階層にマッピ
ングされる。サーバ/クライアント・トポロジを使用す
る多くのコンピュータ・ネットワークを代表するよう
に、サーバ12のアドレス空間は、グローバル・ホスト
(オペレーティング・システム)アドレス空間とユーザ
・アドレス空間とに2分される。それぞれのユーザ・プ
ロセス、たとえば、通信ソフトウェアには、ユーザ・ア
ドレス空間の個別部分が割り振られる。
ンボード・レベル1(L1)キャッシュ32と、関連の
レベル2(L2)キャッシュ34とを有する。当業者に
は分かるように、L1キャッシュ32とL2キャッシュ
34は、頻繁にアクセスされるデータと命令を格納す
る、比較的小さい高速メモリ部分を含む。CPU30の
1つが要求するデータまたは命令がプロセッサのL1キ
ャッシュ32またはL2キャッシュ34内に存在しない
場合、CPU30は、システム・バス38を介してメイ
ン・メモリ36または2次記憶装置42から、要求した
データまたは命令にアクセスする。サーバ12のアドレ
ス空間内のアドレスは、メモリ・マネージャ(図示せ
ず)により、L1キャッシュ32と、L2キャッシュ3
4と、メイン・メモリ36とを含むメモリ階層にマッピ
ングされる。サーバ/クライアント・トポロジを使用す
る多くのコンピュータ・ネットワークを代表するよう
に、サーバ12のアドレス空間は、グローバル・ホスト
(オペレーティング・システム)アドレス空間とユーザ
・アドレス空間とに2分される。それぞれのユーザ・プ
ロセス、たとえば、通信ソフトウェアには、ユーザ・ア
ドレス空間の個別部分が割り振られる。
【0017】本発明によれば、サーバ12は、パケット
ベース入出力アダプタ42も含んでいる。入出力アダプ
タ42は、サーバ12とクライアント14との間のデー
タ通信を容易にするために通信リンク24に結合されて
いる。入出力アダプタ42は、パケットベース・アダプ
タとして、アダプタ・メモリ44を含み、このメモリは
通信リンク24から入出力アダプタ42が受信した1つ
または複数の情報パケットを格納することができる。ま
た、入出力アダプタ42はオンボードDMA制御装置4
6を含み、この制御装置は、システム・バス38に結合
され、DMA転送を実行する他の「高機能」装置(図示
せず)と入出力アダプタ42との間のアービトレーショ
ンを行う。当業者には分かるように、システム・ユニッ
ト12は追加の装置を含んでいるが、これらの装置は、
本発明を理解するためには不要であり、したがって、簡
略化のために図2から省略されている。
ベース入出力アダプタ42も含んでいる。入出力アダプ
タ42は、サーバ12とクライアント14との間のデー
タ通信を容易にするために通信リンク24に結合されて
いる。入出力アダプタ42は、パケットベース・アダプ
タとして、アダプタ・メモリ44を含み、このメモリは
通信リンク24から入出力アダプタ42が受信した1つ
または複数の情報パケットを格納することができる。ま
た、入出力アダプタ42はオンボードDMA制御装置4
6を含み、この制御装置は、システム・バス38に結合
され、DMA転送を実行する他の「高機能」装置(図示
せず)と入出力アダプタ42との間のアービトレーショ
ンを行う。当業者には分かるように、システム・ユニッ
ト12は追加の装置を含んでいるが、これらの装置は、
本発明を理解するためには不要であり、したがって、簡
略化のために図2から省略されている。
【0018】次に図3および図4を参照すると、これら
の図には、本発明の第1の好ましい実施例により通信ネ
ットワークから情報を受信する方法の流れ図とタイムラ
インが示されている。まず図3を参照すると、プロセス
は、入出力アダプタ42が通信リンク24から情報パケ
ットの受信を開始したときにブロック60から始まる。
その情報パケットを受信しながら、入出力アダプタ42
はアダプタ・メモリ44内に情報パケットを格納する。
図4では情報パケットの受信がバー84で表されてい
る。次にプロセスはブロック60からブロック62に移
行し、ブロック62は、パケット・ヘッダの受信完了が
保証できるようになると、ただちに入出力アダプタ42
がサーバ12内のホスト・アドレス空間へのパケット・
ヘッダのDMA転送を実行することを示している。ヘッ
ダのDMA転送を起動するのに必要なデータの限界量は
接続ごとに構成可能であり、それにより、通信ソフトウ
ェアはヘッダの到着完了が保証できるようになる前に受
信すべきデータの量を指定することができる。破線で示
すように、通信ソフトウェアがアダプタ・メモリ44に
直接アクセスできない場合のみ、パケット・ヘッダがサ
ーバ12内のホスト・アドレス空間に転送される。それ
以外の場合は、ブロック62は実行されず、プロセスは
ブロック64に移行する。
の図には、本発明の第1の好ましい実施例により通信ネ
ットワークから情報を受信する方法の流れ図とタイムラ
インが示されている。まず図3を参照すると、プロセス
は、入出力アダプタ42が通信リンク24から情報パケ
ットの受信を開始したときにブロック60から始まる。
その情報パケットを受信しながら、入出力アダプタ42
はアダプタ・メモリ44内に情報パケットを格納する。
図4では情報パケットの受信がバー84で表されてい
る。次にプロセスはブロック60からブロック62に移
行し、ブロック62は、パケット・ヘッダの受信完了が
保証できるようになると、ただちに入出力アダプタ42
がサーバ12内のホスト・アドレス空間へのパケット・
ヘッダのDMA転送を実行することを示している。ヘッ
ダのDMA転送を起動するのに必要なデータの限界量は
接続ごとに構成可能であり、それにより、通信ソフトウ
ェアはヘッダの到着完了が保証できるようになる前に受
信すべきデータの量を指定することができる。破線で示
すように、通信ソフトウェアがアダプタ・メモリ44に
直接アクセスできない場合のみ、パケット・ヘッダがサ
ーバ12内のホスト・アドレス空間に転送される。それ
以外の場合は、ブロック62は実行されず、プロセスは
ブロック64に移行する。
【0019】ブロック64は、パケット・ヘッダが受信
されたことを入出力アダプタ42が通信ソフトウェアに
通知することを示している。図4ではパケット・ヘッダ
の通知がバー86で示されている。次にブロック66で
は、通信ソフトウェアがパケット・ヘッダへの問合せを
行い、アダプタ・メモリ44からサーバ12内のユーザ
・アドレス空間へのパケットのDMA転送をセットアッ
プする。通信ソフトウェアはパケット全体が到着する前
にDMA転送の準備をすることができる。というのは、
パケット・ヘッダが、プロトコルID、宛先アドレス、
パケットの長さなど、DMA転送を実行するのに必要な
情報を含んでいるからである。したがって、図4のバー
88が示すように、本発明は、パケットの受信が完了す
る前にパケット・ヘッダを処理することにより、待ち時
間を短縮する。これに対して、通信ネットワークからデ
ータを受信する従来の方法では、図7に示すように、パ
ケット全体の受信後のみ、パケット・ヘッダの処理を行
う。
されたことを入出力アダプタ42が通信ソフトウェアに
通知することを示している。図4ではパケット・ヘッダ
の通知がバー86で示されている。次にブロック66で
は、通信ソフトウェアがパケット・ヘッダへの問合せを
行い、アダプタ・メモリ44からサーバ12内のユーザ
・アドレス空間へのパケットのDMA転送をセットアッ
プする。通信ソフトウェアはパケット全体が到着する前
にDMA転送の準備をすることができる。というのは、
パケット・ヘッダが、プロトコルID、宛先アドレス、
パケットの長さなど、DMA転送を実行するのに必要な
情報を含んでいるからである。したがって、図4のバー
88が示すように、本発明は、パケットの受信が完了す
る前にパケット・ヘッダを処理することにより、待ち時
間を短縮する。これに対して、通信ネットワークからデ
ータを受信する従来の方法では、図7に示すように、パ
ケット全体の受信後のみ、パケット・ヘッダの処理を行
う。
【0020】次にプロセスはブロック66からブロック
68に移行し、ブロック68はパケットの受信が完了し
たかどうかの判定を示している。パケットの受信が完了
していない場合、プロセスは、パケットの受信が完了す
るまでブロック68で待機する。パケットの受信が完了
すると、プロセスはブロック70に移行し、ブロック7
0は入出力アダプタ42がアダプタ・メモリ44からユ
ーザ・アドレス空間内の宛先アドレスへのパケットのD
MA転送を待ち行列化または開始することを示してい
る。図4ではアダプタ・メモリ44からユーザ・アドレ
ス空間へのパケットのDMA転送がバー90で表されて
いる。DMA転送の待ち行列化は、たとえば、以前受信
したパケットがまだユーザ・アドレス空間に転送されて
いない場合に行われる。アダプタ・メモリ44からユー
ザ・アドレス空間にパケットが転送される間に、ブロッ
ク72でエラー検出が行われる。たとえば、パケット内
のデータのチェックサムを行って、伝送中にそのデータ
が壊れているかどうかを判定することができる。ブロッ
ク72でエラーが検出された場合、プロセスはブロック
74に移行し、ブロック74は入出力アダプタ44がD
MA転送を取り消すことを示している。次にプロセスは
ブロック76に移行し、ブロック76はエラーが検出さ
れたことを入出力アダプタ42が通信ソフトウェアに通
知することを示している。その後、プロセスはブロック
82で終了する。
68に移行し、ブロック68はパケットの受信が完了し
たかどうかの判定を示している。パケットの受信が完了
していない場合、プロセスは、パケットの受信が完了す
るまでブロック68で待機する。パケットの受信が完了
すると、プロセスはブロック70に移行し、ブロック7
0は入出力アダプタ42がアダプタ・メモリ44からユ
ーザ・アドレス空間内の宛先アドレスへのパケットのD
MA転送を待ち行列化または開始することを示してい
る。図4ではアダプタ・メモリ44からユーザ・アドレ
ス空間へのパケットのDMA転送がバー90で表されて
いる。DMA転送の待ち行列化は、たとえば、以前受信
したパケットがまだユーザ・アドレス空間に転送されて
いない場合に行われる。アダプタ・メモリ44からユー
ザ・アドレス空間にパケットが転送される間に、ブロッ
ク72でエラー検出が行われる。たとえば、パケット内
のデータのチェックサムを行って、伝送中にそのデータ
が壊れているかどうかを判定することができる。ブロッ
ク72でエラーが検出された場合、プロセスはブロック
74に移行し、ブロック74は入出力アダプタ44がD
MA転送を取り消すことを示している。次にプロセスは
ブロック76に移行し、ブロック76はエラーが検出さ
れたことを入出力アダプタ42が通信ソフトウェアに通
知することを示している。その後、プロセスはブロック
82で終了する。
【0021】ブロック72に戻ると、DMA転送中にエ
ラーが検出されなかった場合、プロセスはブロック78
に移行し、ブロック78はDMA転送が完了したかどう
かの判定を示している。完了していない場合、プロセス
はブロック72に戻る。しかし、DMA転送が完了して
いる場合、プロセスはブロック80に移行し、ブロック
80はDMA転送が完了したことを入出力アダプタ42
が通信ソフトウェアに通知すること(図4のバー92)
を示している。その場合、ソフトウェアは、データが受
信されたことをユーザに通知することができる。その
後、プロセスはブロック82で終了する。
ラーが検出されなかった場合、プロセスはブロック78
に移行し、ブロック78はDMA転送が完了したかどう
かの判定を示している。完了していない場合、プロセス
はブロック72に戻る。しかし、DMA転送が完了して
いる場合、プロセスはブロック80に移行し、ブロック
80はDMA転送が完了したことを入出力アダプタ42
が通信ソフトウェアに通知すること(図4のバー92)
を示している。その場合、ソフトウェアは、データが受
信されたことをユーザに通知することができる。その
後、プロセスはブロック82で終了する。
【0022】図7との比較により、図3に示す通信ネッ
トワークから情報を受信する方法では、結果的に従来の
方法よりパフォーマンスが大幅に強化されることが明ら
かである。パケット・ヘッダのDMA転送を実行し、パ
ケットの受信中にパケットのDMA転送をセットアップ
することにより、本発明はパケット待ち時間を短縮す
る。しかし、図5に示す本発明の第2の好ましい実施例
で使用する、いわゆる即時DMAを使用すると、さらに
パフォーマンスを強化することができる。
トワークから情報を受信する方法では、結果的に従来の
方法よりパフォーマンスが大幅に強化されることが明ら
かである。パケット・ヘッダのDMA転送を実行し、パ
ケットの受信中にパケットのDMA転送をセットアップ
することにより、本発明はパケット待ち時間を短縮す
る。しかし、図5に示す本発明の第2の好ましい実施例
で使用する、いわゆる即時DMAを使用すると、さらに
パフォーマンスを強化することができる。
【0023】次に図5を参照すると、同図には、本発明
の第2の好ましい実施例により通信ネットワークから情
報を受信する方法の流れ図が示されている。以下の説明
から明らかになるように、図5に示すプロセスは図3に
示すプロセスとかなり似ているが、図5に示す方法で
は、パケット全体の到着を待つのではなく、パケットを
受信しながらユーザ・アドレス空間に情報パケットを転
送する。プロセスがブロック100から始まると、入出
力アダプタ42は、通信リンク24からの非同期データ
を待っている。図6のバー126が示すように、通信リ
ンク24からパケットを受信しながら、プロセスはブロ
ック100からブロック102に移行し、ブロック10
2は、パケット・ヘッダが受信データ内に含まれること
を保証するのに十分なデータを入出力アダプタ42が受
信すると、ただちに入出力アダプタ42がアダプタ・メ
モリ44からホスト・アドレス空間にパケット・ヘッダ
を伝送することを示している。第1の好ましい実施例と
同様、ブロック102は、CPU30上で実行されてい
る通信ソフトウェアがアダプタ・メモリ44に直接アク
セスできない場合のみ必要になる。次にプロセスはブロ
ック104に移行し、ブロック104は、パケット・ヘ
ッダが受信されたことを通信ソフトウェアに通知するこ
とを示している。次に、通信ソフトウェアはブロック1
06でパケット・ヘッダへの問合せを行い、ユーザ・ア
ドレス空間へのパケットのDMA転送をセットアップす
る。本発明の図示の実施例によれば、通信ソフトウェア
は、入出力アダプタ42がそれを受信しているときにパ
ケットのそれぞれの所定のサブセットがユーザ・アドレ
ス空間に転送されるように、DMA転送をセットアップ
する。当業者には分かるように、1つのパケット・サブ
セット内のデータの量は、接続ごとに通信ソフトウェア
によって設定することができる。図6ではDMA転送の
セットアップがバー130によって示されている。
の第2の好ましい実施例により通信ネットワークから情
報を受信する方法の流れ図が示されている。以下の説明
から明らかになるように、図5に示すプロセスは図3に
示すプロセスとかなり似ているが、図5に示す方法で
は、パケット全体の到着を待つのではなく、パケットを
受信しながらユーザ・アドレス空間に情報パケットを転
送する。プロセスがブロック100から始まると、入出
力アダプタ42は、通信リンク24からの非同期データ
を待っている。図6のバー126が示すように、通信リ
ンク24からパケットを受信しながら、プロセスはブロ
ック100からブロック102に移行し、ブロック10
2は、パケット・ヘッダが受信データ内に含まれること
を保証するのに十分なデータを入出力アダプタ42が受
信すると、ただちに入出力アダプタ42がアダプタ・メ
モリ44からホスト・アドレス空間にパケット・ヘッダ
を伝送することを示している。第1の好ましい実施例と
同様、ブロック102は、CPU30上で実行されてい
る通信ソフトウェアがアダプタ・メモリ44に直接アク
セスできない場合のみ必要になる。次にプロセスはブロ
ック104に移行し、ブロック104は、パケット・ヘ
ッダが受信されたことを通信ソフトウェアに通知するこ
とを示している。次に、通信ソフトウェアはブロック1
06でパケット・ヘッダへの問合せを行い、ユーザ・ア
ドレス空間へのパケットのDMA転送をセットアップす
る。本発明の図示の実施例によれば、通信ソフトウェア
は、入出力アダプタ42がそれを受信しているときにパ
ケットのそれぞれの所定のサブセットがユーザ・アドレ
ス空間に転送されるように、DMA転送をセットアップ
する。当業者には分かるように、1つのパケット・サブ
セット内のデータの量は、接続ごとに通信ソフトウェア
によって設定することができる。図6ではDMA転送の
セットアップがバー130によって示されている。
【0024】その後、プロセスはブロック108に移行
し、ブロック108は入出力アダプタ42がパケット・
サブセットを受信したかどうかの判定を示している。受
信していない場合、パケット・サブセットが受信される
までプロセスはブロック108に戻る。次にプロセスは
ブロック110に移行し、ブロック110は入出力アダ
プタ42がパケット・サブセットをユーザ・アドレス空
間に転送することを示している。ブロック112でDM
A転送中にエラーが検出された場合、プロセスはブロッ
ク114および116に移行し、これらのブロックは、
DMA転送の取消しと、エラーが検出されたことを通信
ソフトウェアに通知することを示している。その後、プ
ロセスはブロック124で終了する。
し、ブロック108は入出力アダプタ42がパケット・
サブセットを受信したかどうかの判定を示している。受
信していない場合、パケット・サブセットが受信される
までプロセスはブロック108に戻る。次にプロセスは
ブロック110に移行し、ブロック110は入出力アダ
プタ42がパケット・サブセットをユーザ・アドレス空
間に転送することを示している。ブロック112でDM
A転送中にエラーが検出された場合、プロセスはブロッ
ク114および116に移行し、これらのブロックは、
DMA転送の取消しと、エラーが検出されたことを通信
ソフトウェアに通知することを示している。その後、プ
ロセスはブロック124で終了する。
【0025】ブロック112に戻り、パケット・サブセ
ットのDMA転送中にエラーが検出されなかった場合、
プロセスはブロック118に移行し、ブロック118は
パケット・サブセットのDMA転送が完了したかどうか
の判定を示している。完了していない場合、プロセスは
ブロック112に戻る。しかし、パケット・サブセット
のDMA転送が完了している場合、プロセスはブロック
118からブロック120に移行し、ブロック120は
パケット全体がアダプタ・メモリ44からユーザ・アド
レス空間に転送されたかどうかの判定を示す。パケット
のDMA転送が完了していない場合、プロセスはブロッ
ク108に戻る。しかし、パケットのDMA転送が完了
している場合、プロセスはブロック122に移行する。
もう一度図6を参照すると、アダプタ・メモリ44から
ユーザ・アドレス空間へのパケットのDMA転送はバー
132で表されている。図5のブロック122に戻る
と、入出力アダプタ42は、アダプタ・メモリ44から
ユーザ・アドレス空間へのパケットのDMA転送が完了
したことを通信ソフトウェアに通知する。図6ではDM
A完了の通知がバー134で示されている。その後、プ
ロセスはブロック124で終了する。
ットのDMA転送中にエラーが検出されなかった場合、
プロセスはブロック118に移行し、ブロック118は
パケット・サブセットのDMA転送が完了したかどうか
の判定を示している。完了していない場合、プロセスは
ブロック112に戻る。しかし、パケット・サブセット
のDMA転送が完了している場合、プロセスはブロック
118からブロック120に移行し、ブロック120は
パケット全体がアダプタ・メモリ44からユーザ・アド
レス空間に転送されたかどうかの判定を示す。パケット
のDMA転送が完了していない場合、プロセスはブロッ
ク108に戻る。しかし、パケットのDMA転送が完了
している場合、プロセスはブロック122に移行する。
もう一度図6を参照すると、アダプタ・メモリ44から
ユーザ・アドレス空間へのパケットのDMA転送はバー
132で表されている。図5のブロック122に戻る
と、入出力アダプタ42は、アダプタ・メモリ44から
ユーザ・アドレス空間へのパケットのDMA転送が完了
したことを通信ソフトウェアに通知する。図6ではDM
A完了の通知がバー134で示されている。その後、プ
ロセスはブロック124で終了する。
【0026】図7および図8と比較しながら図6を検討
すると分かるように、本発明の第2の好ましい実施例で
は、従来のホストベースおよびパケットベース両方のア
ーキテクチャより効率が強化される。というのは、発生
順ではDMA転送のセットアップとDMA転送が入出力
アダプタ42によるパケットの受信と重なっているから
である。さらに、エラー検出などのインラインDMAサ
ービスが使用可能であり、ホスト・アドレス空間からユ
ーザ・アドレス空間への追加のコピー操作が除去されて
いるので、ホストベース・アーキテクチャの欠点が解決
されている。本発明の第2の好ましい実施例では第1の
好ましい実施例よりデータ受信待ち時間の短縮幅が大き
くなっているが、当業者であれば、いずれかの実施例を
実施することは、第2の好ましい実施例によって得られ
るパフォーマンスの改良とそれが必要とする複雑さの増
加とのバランスを取る設計上の判断であることが分かる
だろう。
すると分かるように、本発明の第2の好ましい実施例で
は、従来のホストベースおよびパケットベース両方のア
ーキテクチャより効率が強化される。というのは、発生
順ではDMA転送のセットアップとDMA転送が入出力
アダプタ42によるパケットの受信と重なっているから
である。さらに、エラー検出などのインラインDMAサ
ービスが使用可能であり、ホスト・アドレス空間からユ
ーザ・アドレス空間への追加のコピー操作が除去されて
いるので、ホストベース・アーキテクチャの欠点が解決
されている。本発明の第2の好ましい実施例では第1の
好ましい実施例よりデータ受信待ち時間の短縮幅が大き
くなっているが、当業者であれば、いずれかの実施例を
実施することは、第2の好ましい実施例によって得られ
るパフォーマンスの改良とそれが必要とする複雑さの増
加とのバランスを取る設計上の判断であることが分かる
だろう。
【0027】上記のように、本発明は、通信ネットワー
クからデータを受信するための改良された方法およびシ
ステムを提供するものである。パケット全体を受信する
前にパケット・ヘッダが処理され、DMA転送がセット
アップされるので、本発明はユーザが認識する待ち時間
を短縮する。
クからデータを受信するための改良された方法およびシ
ステムを提供するものである。パケット全体を受信する
前にパケット・ヘッダが処理され、DMA転送がセット
アップされるので、本発明はユーザが認識する待ち時間
を短縮する。
【0028】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0029】(1)通信ネットワークから情報を受信す
るためのデータ処理システム内の方法において、前記デ
ータ処理システムが前記通信ネットワークに結合された
通信アダプタと、ホスト・メモリとを有し、前記通信ア
ダプタがアダプタ・メモリを有し、前記通信ネットワー
クが、パケット・ヘッダとパケット・データとを含む情
報をパケット単位で前記データ処理システムに伝送し、
前記方法が、前記通信アダプタ内の前記アダプタ・メモ
リで前記通信ネットワークから情報パケットの一部を受
信するステップであって、前記情報パケットの前記一部
が少なくともパケット・ヘッダを含み、前記パケット・
ヘッダが前記情報パケットの長さと、前記ホスト・メモ
リ内の宛先アドレスとを指定するステップと、前記情報
パケットの前記一部の受信に対する応答として、前記パ
ケット・ヘッダへの問合せを行って、前記情報パケット
の前記長さと前記宛先アドレスとを求めるステップと、
前記パケット・ヘッダへの前記問合せに対する応答とし
て、前記アダプタ・メモリでの前記情報パケットの受信
中に、前記アダプタ・メモリから前記ホスト・メモリへ
の前記情報パケットの転送のパラメータを求めるステッ
プと、前記アダプタ・メモリから前記ホスト・メモリに
前記情報パケットを転送するステップとを含み、前記情
報パケットが前記宛先アドレスから始まる前記ホスト・
メモリ内のアドレスに格納され、データ受信の待ち時間
が最小限になることを特徴とする方法。 (2)前記情報パケットを前記ホスト・メモリに転送す
る前記ステップが、前記情報パケットの各所定のサブセ
ットの受信に対する応答として、前記情報パケットの前
記各所定のサブセットを前記ホスト・メモリに転送する
ステップを含むことを特徴とする、上記(1)に記載の
通信ネットワークから情報を受信するための方法。 (3)前記情報パケットを前記ホスト・メモリに転送す
る前記ステップが、前記情報パケットの最終部分を前記
アダプタ・メモリが受信したことに対する応答として実
行されることを特徴とする、上記(1)に記載の通信ネ
ットワークから情報を受信するための方法。 (4)前記ヘッダを含む前記情報パケットの前記一部の
受信に対する応答として、前記情報パケットの前記最終
部分を受信する前に前記アダプタ・メモリから前記ホス
ト・メモリに前記ヘッダを転送するステップをさらに含
むことを特徴とする、上記(3)に記載の通信ネットワ
ークから情報を受信するための方法。 (5)前記情報パケットを転送する前記ステップと並行
して、前記情報パケットがエラーを含んでいるかどうか
を検出するステップと、前記情報パケット内のエラーの
検出に対する応答として、前記アダプタ・メモリから前
記ホスト・メモリへの前記情報パケットの前記転送を取
り消すステップと、前記アダプタ・メモリから前記ホス
ト・メモリへの前記転送が完了する前に前記情報パケッ
ト内のエラーを検出できなかったことに対する応答とし
て、前記情報パケットが前記通信ネットワークから受信
されたことをユーザに通知するステップとをさらに含む
ことを特徴とする、上記(1)に記載の通信ネットワー
クから情報を受信するための方法。 (6)通信ネットワークから情報を受信するためのデー
タ処理システム内の装置において、前記データ処理シス
テムがホスト・メモリを有し、前記通信ネットワーク
が、パケット・ヘッダとパケット・データとを含む情報
をパケット単位で前記データ処理システムに伝送し、前
記装置が、前記通信ネットワークに結合され、アダプタ
・メモリを有する通信アダプタと、前記通信アダプタ内
の前記アダプタ・メモリで前記通信ネットワークから情
報パケットの一部を受信する手段であって、前記情報パ
ケットの前記一部が少なくともパケット・ヘッダを含
み、前記パケット・ヘッダが前記情報パケットの長さ
と、前記ホスト・メモリ内の宛先アドレスとを指定する
手段と、前記情報パケットの前記一部の受信に対する応
答として、前記パケット・ヘッダへの問合せを行って、
前記情報パケットの前記長さと前記宛先アドレスとを求
める手段と、前記パケット・ヘッダへの前記問合せに対
する応答として、前記アダプタ・メモリでの前記情報パ
ケットの受信中に、前記アダプタ・メモリから前記ホス
ト・メモリへの前記情報パケットの転送のパラメータを
求める手段と、その後、前記アダプタ・メモリから前記
ホスト・メモリに前記情報パケットを転送する手段とを
含み、前記情報パケットが前記宛先アドレスから始まる
前記ホスト・メモリ内のアドレスに格納され、データ受
信の待ち時間が最小限になることを特徴とする装置。 (7)前記情報パケットを前記ホスト・メモリに転送す
る前記手段が、前記情報パケットの各所定のサブセット
の受信に対する応答として、前記情報パケットの前記各
所定のサブセットを前記ホスト・メモリに転送する手段
を含むことを特徴とする、上記(6)に記載の通信ネッ
トワークから情報を受信するための装置。 (8)前記情報パケットを前記ホスト・メモリに転送す
る前記手段が、前記情報パケットの最終部分を前記アダ
プタ・メモリが受信したことに対する応答として、前記
アダプタ・メモリから前記ホスト・メモリに前記情報パ
ケットを転送することを特徴とする、上記(6)に記載
の通信ネットワークから情報を受信するための装置。 (9)前記ヘッダを含む前記情報パケットの前記一部の
受信に対する応答として、前記情報パケットの前記最終
部分を受信する前に前記アダプタ・メモリから前記ホス
ト・メモリに前記ヘッダを転送する手段をさらに含むこ
とを特徴とする、上記(8)に記載の通信ネットワーク
から情報を受信するための装置。 (10)前記情報パケットがエラーを含んでいるかどう
かを検出する手段であって、前記アダプタ・メモリから
前記ホスト・メモリへの前記情報パケットの前記転送中
にエラーを検出する手段と、前記情報パケット内のエラ
ーの検出に対する応答として、前記アダプタ・メモリか
ら前記ホスト・メモリへの前記情報パケットの前記転送
を取り消す手段と、前記アダプタ・メモリから前記ホス
ト・メモリへの前記転送が完了する前に前記情報パケッ
ト内のエラーを検出できなかったことに対する応答とし
て、前記情報パケットが前記通信ネットワークから受信
されたことをユーザに通知する手段とをさらに含むこと
を特徴とする、上記(6)に記載の通信ネットワークか
ら情報を受信するための装置。
るためのデータ処理システム内の方法において、前記デ
ータ処理システムが前記通信ネットワークに結合された
通信アダプタと、ホスト・メモリとを有し、前記通信ア
ダプタがアダプタ・メモリを有し、前記通信ネットワー
クが、パケット・ヘッダとパケット・データとを含む情
報をパケット単位で前記データ処理システムに伝送し、
前記方法が、前記通信アダプタ内の前記アダプタ・メモ
リで前記通信ネットワークから情報パケットの一部を受
信するステップであって、前記情報パケットの前記一部
が少なくともパケット・ヘッダを含み、前記パケット・
ヘッダが前記情報パケットの長さと、前記ホスト・メモ
リ内の宛先アドレスとを指定するステップと、前記情報
パケットの前記一部の受信に対する応答として、前記パ
ケット・ヘッダへの問合せを行って、前記情報パケット
の前記長さと前記宛先アドレスとを求めるステップと、
前記パケット・ヘッダへの前記問合せに対する応答とし
て、前記アダプタ・メモリでの前記情報パケットの受信
中に、前記アダプタ・メモリから前記ホスト・メモリへ
の前記情報パケットの転送のパラメータを求めるステッ
プと、前記アダプタ・メモリから前記ホスト・メモリに
前記情報パケットを転送するステップとを含み、前記情
報パケットが前記宛先アドレスから始まる前記ホスト・
メモリ内のアドレスに格納され、データ受信の待ち時間
が最小限になることを特徴とする方法。 (2)前記情報パケットを前記ホスト・メモリに転送す
る前記ステップが、前記情報パケットの各所定のサブセ
ットの受信に対する応答として、前記情報パケットの前
記各所定のサブセットを前記ホスト・メモリに転送する
ステップを含むことを特徴とする、上記(1)に記載の
通信ネットワークから情報を受信するための方法。 (3)前記情報パケットを前記ホスト・メモリに転送す
る前記ステップが、前記情報パケットの最終部分を前記
アダプタ・メモリが受信したことに対する応答として実
行されることを特徴とする、上記(1)に記載の通信ネ
ットワークから情報を受信するための方法。 (4)前記ヘッダを含む前記情報パケットの前記一部の
受信に対する応答として、前記情報パケットの前記最終
部分を受信する前に前記アダプタ・メモリから前記ホス
ト・メモリに前記ヘッダを転送するステップをさらに含
むことを特徴とする、上記(3)に記載の通信ネットワ
ークから情報を受信するための方法。 (5)前記情報パケットを転送する前記ステップと並行
して、前記情報パケットがエラーを含んでいるかどうか
を検出するステップと、前記情報パケット内のエラーの
検出に対する応答として、前記アダプタ・メモリから前
記ホスト・メモリへの前記情報パケットの前記転送を取
り消すステップと、前記アダプタ・メモリから前記ホス
ト・メモリへの前記転送が完了する前に前記情報パケッ
ト内のエラーを検出できなかったことに対する応答とし
て、前記情報パケットが前記通信ネットワークから受信
されたことをユーザに通知するステップとをさらに含む
ことを特徴とする、上記(1)に記載の通信ネットワー
クから情報を受信するための方法。 (6)通信ネットワークから情報を受信するためのデー
タ処理システム内の装置において、前記データ処理シス
テムがホスト・メモリを有し、前記通信ネットワーク
が、パケット・ヘッダとパケット・データとを含む情報
をパケット単位で前記データ処理システムに伝送し、前
記装置が、前記通信ネットワークに結合され、アダプタ
・メモリを有する通信アダプタと、前記通信アダプタ内
の前記アダプタ・メモリで前記通信ネットワークから情
報パケットの一部を受信する手段であって、前記情報パ
ケットの前記一部が少なくともパケット・ヘッダを含
み、前記パケット・ヘッダが前記情報パケットの長さ
と、前記ホスト・メモリ内の宛先アドレスとを指定する
手段と、前記情報パケットの前記一部の受信に対する応
答として、前記パケット・ヘッダへの問合せを行って、
前記情報パケットの前記長さと前記宛先アドレスとを求
める手段と、前記パケット・ヘッダへの前記問合せに対
する応答として、前記アダプタ・メモリでの前記情報パ
ケットの受信中に、前記アダプタ・メモリから前記ホス
ト・メモリへの前記情報パケットの転送のパラメータを
求める手段と、その後、前記アダプタ・メモリから前記
ホスト・メモリに前記情報パケットを転送する手段とを
含み、前記情報パケットが前記宛先アドレスから始まる
前記ホスト・メモリ内のアドレスに格納され、データ受
信の待ち時間が最小限になることを特徴とする装置。 (7)前記情報パケットを前記ホスト・メモリに転送す
る前記手段が、前記情報パケットの各所定のサブセット
の受信に対する応答として、前記情報パケットの前記各
所定のサブセットを前記ホスト・メモリに転送する手段
を含むことを特徴とする、上記(6)に記載の通信ネッ
トワークから情報を受信するための装置。 (8)前記情報パケットを前記ホスト・メモリに転送す
る前記手段が、前記情報パケットの最終部分を前記アダ
プタ・メモリが受信したことに対する応答として、前記
アダプタ・メモリから前記ホスト・メモリに前記情報パ
ケットを転送することを特徴とする、上記(6)に記載
の通信ネットワークから情報を受信するための装置。 (9)前記ヘッダを含む前記情報パケットの前記一部の
受信に対する応答として、前記情報パケットの前記最終
部分を受信する前に前記アダプタ・メモリから前記ホス
ト・メモリに前記ヘッダを転送する手段をさらに含むこ
とを特徴とする、上記(8)に記載の通信ネットワーク
から情報を受信するための装置。 (10)前記情報パケットがエラーを含んでいるかどう
かを検出する手段であって、前記アダプタ・メモリから
前記ホスト・メモリへの前記情報パケットの前記転送中
にエラーを検出する手段と、前記情報パケット内のエラ
ーの検出に対する応答として、前記アダプタ・メモリか
ら前記ホスト・メモリへの前記情報パケットの前記転送
を取り消す手段と、前記アダプタ・メモリから前記ホス
ト・メモリへの前記転送が完了する前に前記情報パケッ
ト内のエラーを検出できなかったことに対する応答とし
て、前記情報パケットが前記通信ネットワークから受信
されたことをユーザに通知する手段とをさらに含むこと
を特徴とする、上記(6)に記載の通信ネットワークか
ら情報を受信するための装置。
【図1】本発明の方法およびシステムを有利に使用する
ことができる通信ネットワークの好ましい実施例を示す
図である。
ことができる通信ネットワークの好ましい実施例を示す
図である。
【図2】図1に示すサーバの好ましい実施例のブロック
図である。
図である。
【図3】本発明の第1の好ましい実施例により通信ネッ
トワークからデータ・パケットを受信するための方法を
示す流れ図である。
トワークからデータ・パケットを受信するための方法を
示す流れ図である。
【図4】図3に示す方法によるデータ・パケットの受信
中の事象を示すタイムラインである。
中の事象を示すタイムラインである。
【図5】本発明の第2の好ましい実施例により通信ネッ
トワークからデータ・パケットを受信するための方法を
示す流れ図である。
トワークからデータ・パケットを受信するための方法を
示す流れ図である。
【図6】図5に示す方法によるデータ・パケットの受信
中の事象を示すタイムラインである。
中の事象を示すタイムラインである。
【図7】データ処理システム内の従来のパケットベース
入出力アダプタによるデータ・パケットの受信中の事象
を示すタイムラインである。
入出力アダプタによるデータ・パケットの受信中の事象
を示すタイムラインである。
【図8】データ処理システム内の従来のホストベース入
出力アダプタによるデータ・パケットの受信中の事象を
示すタイムラインである。
出力アダプタによるデータ・パケットの受信中の事象を
示すタイムラインである。
10 データ処理システム
12 サーバ
13 ローカル・エリア・ネットワーク(LAN)
14 クライアント
16 パーソナル・コンピュータ
18 表示装置
20 キーボード
22 マウス
24 通信リンク
フロントページの続き
(72)発明者 フィリップ・エル・ライヒティ
アメリカ合衆国55901 ミネソタ州ロチ
ェスターシャトー・ロード ノース・ウ
ェスト 5704
(72)発明者 アルバート・エイ・スレーン
アメリカ合衆国55960 ミネソタ州オロ
ノコ リバー・ベンド ノース・ウェス
ト 10807
(56)参考文献 特開 平5−183603(JP,A)
特開 昭64−82837(JP,A)
特表 平6−511584(JP,A)
(58)調査した分野(Int.Cl.7,DB名)
H04L 29/00 - 29/14
Claims (4)
- 【請求項1】ホスト・メモリを有し、パケット・ヘッダ
とパケット・データとを含む情報をパケット単位で伝送
する通信ネットワークに通信アダプタを介して接続され
たデータ処理システムにおいて通信ネットワークから情
報を受信するための方法であって、 情報パケットに含まれるパケット・ヘッダが、該情報パ
ケットの長さと、前記ホスト・メモリ内の宛先アドレス
とを指定する場合に、前記通信アダプタ内のアダプタ・
メモリで前記通信ネットワークから、少なくとも前記パ
ケット・ヘッダを含む、前記情報パケットの一部を受信
するステップと、 前記情報パケットの前記一部の受信に対する応答とし
て、前記アダプタ・メモリにおいて前記情報パケットの
最終部分を受信する前に、前記アダプタ・メモリから前
記ホスト・メモリへの前記情報パケットの転送を準備す
るステップと、 前記情報パケットの各所定のサブセットの受信に対する
応答として、前記情報パケットの前記各所定のサブセッ
トを、前記アダプタ・メモリから前記宛先アドレスから
始まる前記ホスト・メモリ内のアドレスに転送するステ
ップと、 前記情報パケットの前記各所定のサブセットの前記ホス
ト・メモリへの転送と並行して、前記情報パケットがエ
ラーを含んでいるかどうかを検出するステップと、 前記情報パケット内のエラーの検出に対する応答とし
て、前記アダプタ・メモリから前記ホスト・メモリへの
前記情報パケットの前記各所定のサブセットの前記転送
を取り消すステップと、 前記アダプタ・メモリから前記ホスト・メモリへの前記
情報パケットの前記各所定のサブセットの前記転送が完
了する前に前記情報パケット内のエラーを検出できなか
ったことに対する応答として、前記情報パケットが前記
通信ネットワークから受信されたという通知を提供する
ステップとを含む、 通信ネットワークから情報を受信するための方法。 - 【請求項2】前記パケット・ヘッダを含む前記情報パケ
ットの前記一部の受信に対する応答として、前記情報パ
ケットの前記最終部分を受信する前に前記アダプタ・メ
モリから前記ホスト・メモリに前記ヘッダを転送するス
テップをさらに含むことを特徴とする、請求項1に記載
の通信ネットワークから情報を受信するための方法。 - 【請求項3】ホスト・メモリを有し、パケット・ヘッダ
とパケット・データとを含む情報をパケット単位で伝送
する通信ネットワークに接続されたデータ処理システム
において通信ネットワークから情報を受信するための装
置であって、 前記通信ネットワークに結合され、アダプタ・メモリを
有する通信アダプタと、 情報パケットに含まれるパケット・ヘッダが、該情報パ
ケットの長さと、前記ホスト・メモリ内の宛先アドレス
とを指定する場合に、前記通信アダプタ内の前記アダプ
タ・メモリで前記通信ネットワークから、少なくとも前
記パケット・ヘッダを含む、前記情報パケットの一部を
受信する手段と、 前記情報パケットの前記一部の受信に対する応答とし
て、前記アダプタ・メモリにおいて前記情報パケットの
最終部分を受信する前に、前記アダプタ・メモリから前
記ホスト・メモリへの前記情報パケットの転送を準備す
る手段と、 前記情報パケットの各所定のサブセットの受信に対する
応答として、前記情報パケットの前記各所定のサブセッ
トを前記宛先アドレスから始まる前記ホスト・メモリ内
のアドレスに転送する手段と、 前記情報パケットの前記各所定のサブセットの前記ホス
ト・メモリへの転送中に、前記情報パケットがエラーを
含んでいるかどうかを検出する手段と、 前記情報パケット内のエラーの検出に対する応答とし
て、前記アダプタ・メモリから前記ホスト・メモリへの
前記情報パケットの前記各所定のサブセットの前記転送
を取り消す手段と、 前記アダプタ・メモリから前記ホスト・メモリへの前記
情報パケットの前記各所定のサブセットの前記転送が完
了する前に前記情報パケット内のエラーを検出できなか
ったことに対する応答として、前記情報パケットが前記
通信ネットワークから受信されたという通知を提供する
手段とを含む、 通信ネットワークから情報を受信するための装置。 - 【請求項4】前記パケット・ヘッダを含む前記情報パケ
ットの前記一部の受信に対する応答として、前記情報パ
ケットの前記最終部分を受信する前に前記アダプタ・メ
モリから前記ホスト・メモリに前記ヘッダを転送する手
段をさらに含むことを特徴とする、請求項3に記載の通
信ネットワークから情報を受信するための装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US500491 | 1995-07-10 | ||
US08/500,491 US5752078A (en) | 1995-07-10 | 1995-07-10 | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0934818A JPH0934818A (ja) | 1997-02-07 |
JP3384686B2 true JP3384686B2 (ja) | 2003-03-10 |
Family
ID=23989647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16455996A Expired - Fee Related JP3384686B2 (ja) | 1995-07-10 | 1996-06-25 | 通信ネットワークから情報を受信するための方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5752078A (ja) |
EP (1) | EP0753817B1 (ja) |
JP (1) | JP3384686B2 (ja) |
DE (1) | DE69636029T2 (ja) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115767A (en) * | 1996-03-04 | 2000-09-05 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method of partially transferring data through bus and bus master control device |
GB9606834D0 (en) * | 1996-03-30 | 1996-06-05 | Int Computers Ltd | Inter-processor communication |
JP3165050B2 (ja) * | 1996-12-24 | 2001-05-14 | 九州日本電気通信システム株式会社 | パケットエラー検出方式 |
JP3196681B2 (ja) * | 1997-03-13 | 2001-08-06 | ヤマハ株式会社 | 通信データ一時記憶装置 |
US6304911B1 (en) * | 1997-06-25 | 2001-10-16 | Advanced Micro Devices, Inc. | Information packet reception indicator for reducing the utilization of a host system processor unit |
US5918074A (en) * | 1997-07-25 | 1999-06-29 | Neonet Llc | System architecture for and method of dual path data processing and management of packets and/or cells and the like |
US6085253A (en) * | 1997-08-01 | 2000-07-04 | United Video Properties, Inc. | System and method for transmitting and receiving data |
US5905905A (en) * | 1997-08-05 | 1999-05-18 | Adaptec, Inc. | System for copying IOBS from FIFO into I/O adapter, writing data completed IOB, and invalidating completed IOB in FIFO for reuse of FIFO |
US7089326B2 (en) * | 1997-10-14 | 2006-08-08 | Alacritech, Inc. | Fast-path processing for receiving data on TCP connection offload devices |
US7185266B2 (en) | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
US6427173B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Intelligent network interfaced device and system for accelerated communication |
US7174393B2 (en) | 2000-12-26 | 2007-02-06 | Alacritech, Inc. | TCP/IP offload network interface device |
US6658480B2 (en) | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US7284070B2 (en) * | 1997-10-14 | 2007-10-16 | Alacritech, Inc. | TCP offload network interface device |
US6591302B2 (en) | 1997-10-14 | 2003-07-08 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7042898B2 (en) | 1997-10-14 | 2006-05-09 | Alacritech, Inc. | Reducing delays associated with inserting a checksum into a network message |
US6470415B1 (en) | 1999-10-13 | 2002-10-22 | Alacritech, Inc. | Queue system involving SRAM head, SRAM tail and DRAM body |
US7133940B2 (en) * | 1997-10-14 | 2006-11-07 | Alacritech, Inc. | Network interface device employing a DMA command queue |
US7167927B2 (en) | 1997-10-14 | 2007-01-23 | Alacritech, Inc. | TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism |
US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
US7237036B2 (en) * | 1997-10-14 | 2007-06-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding a TCP connection |
US6697868B2 (en) * | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US8782199B2 (en) | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US6427171B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6757746B2 (en) * | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US6389479B1 (en) | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US7076568B2 (en) * | 1997-10-14 | 2006-07-11 | Alacritech, Inc. | Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US5948079A (en) * | 1997-12-19 | 1999-09-07 | Advanced Micro Devices, Inc. | System for non-sequential transfer of data packet portions with respective portion descriptions from a computer network peripheral device to host memory |
US6765901B1 (en) * | 1998-06-11 | 2004-07-20 | Nvidia Corporation | TCP/IP/PPP modem |
US7664883B2 (en) * | 1998-08-28 | 2010-02-16 | Alacritech, Inc. | Network interface device that fast-path processes solicited session layer read commands |
US6772215B1 (en) * | 1999-04-09 | 2004-08-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for minimizing feedback responses in ARQ protocols |
US6457072B1 (en) * | 1999-07-29 | 2002-09-24 | Sony Corporation | System and method for effectively performing physical direct memory access operations |
US7159030B1 (en) * | 1999-07-30 | 2007-01-02 | Intel Corporation | Associating a packet with a flow |
US6961777B1 (en) * | 1999-08-06 | 2005-11-01 | Shrikumar Hariharasubrahmanian | Systems and methods for predicting fields in a data packet |
US6675200B1 (en) * | 2000-05-10 | 2004-01-06 | Cisco Technology, Inc. | Protocol-independent support of remote DMA |
US6678746B1 (en) | 2000-08-01 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Processing network packets |
US8019901B2 (en) * | 2000-09-29 | 2011-09-13 | Alacritech, Inc. | Intelligent network storage interface system |
US6720074B2 (en) * | 2000-10-26 | 2004-04-13 | Inframat Corporation | Insulator coated magnetic nanoparticulate composites with reduced core loss and method of manufacture thereof |
US7139848B1 (en) * | 2000-12-08 | 2006-11-21 | Xilinx, Inc. | DMA protocol extension for packet-based transfer |
US20030115350A1 (en) * | 2001-12-14 | 2003-06-19 | Silverback Systems, Inc. | System and method for efficient handling of network data |
US20030121835A1 (en) * | 2001-12-31 | 2003-07-03 | Peter Quartararo | Apparatus for and method of sieving biocompatible adsorbent beaded polymers |
US6985974B1 (en) | 2002-04-08 | 2006-01-10 | Marvell Semiconductor Israel Ltd. | Memory interface controller for a network device |
US7496689B2 (en) * | 2002-04-22 | 2009-02-24 | Alacritech, Inc. | TCP/IP offload device |
US7543087B2 (en) * | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
US7191241B2 (en) * | 2002-09-27 | 2007-03-13 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7337241B2 (en) * | 2002-09-27 | 2008-02-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7843968B2 (en) | 2002-09-30 | 2010-11-30 | Sanyo Electric Co., Ltd. | Communication apparatus and applications thereof |
US20040088262A1 (en) * | 2002-11-06 | 2004-05-06 | Alacritech, Inc. | Enabling an enhanced function of an electronic device |
US7536674B2 (en) * | 2003-08-13 | 2009-05-19 | Intel Corporation | Method and system for configuring network processing software to exploit packet flow data locality |
US6996070B2 (en) * | 2003-12-05 | 2006-02-07 | Alacritech, Inc. | TCP/IP offload device with reduced sequential processing |
US8248939B1 (en) | 2004-10-08 | 2012-08-21 | Alacritech, Inc. | Transferring control of TCP connections between hierarchy of processing mechanisms |
US7706409B2 (en) | 2005-04-01 | 2010-04-27 | International Business Machines Corporation | System and method for parsing, filtering, and computing the checksum in a host Ethernet adapter (HEA) |
US7903687B2 (en) | 2005-04-01 | 2011-03-08 | International Business Machines Corporation | Method for scheduling, writing, and reading data inside the partitioned buffer of a switch, router or packet processing device |
US7881332B2 (en) * | 2005-04-01 | 2011-02-01 | International Business Machines Corporation | Configurable ports for a host ethernet adapter |
US7508771B2 (en) | 2005-04-01 | 2009-03-24 | International Business Machines Corporation | Method for reducing latency in a host ethernet adapter (HEA) |
US7492771B2 (en) * | 2005-04-01 | 2009-02-17 | International Business Machines Corporation | Method for performing a packet header lookup |
US7586936B2 (en) | 2005-04-01 | 2009-09-08 | International Business Machines Corporation | Host Ethernet adapter for networking offload in server environment |
US20060221953A1 (en) * | 2005-04-01 | 2006-10-05 | Claude Basso | Method and apparatus for blind checksum and correction for network transmissions |
US7697536B2 (en) * | 2005-04-01 | 2010-04-13 | International Business Machines Corporation | Network communications for operating system partitions |
US7606166B2 (en) | 2005-04-01 | 2009-10-20 | International Business Machines Corporation | System and method for computing a blind checksum in a host ethernet adapter (HEA) |
US7577151B2 (en) * | 2005-04-01 | 2009-08-18 | International Business Machines Corporation | Method and apparatus for providing a network connection table |
US7738500B1 (en) | 2005-12-14 | 2010-06-15 | Alacritech, Inc. | TCP timestamp synchronization for network connections that are offloaded to network interface devices |
JP2007195240A (ja) * | 2007-03-16 | 2007-08-02 | Sanyo Electric Co Ltd | パケット処理装置、通信装置 |
US8169992B2 (en) | 2007-08-08 | 2012-05-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Uplink scrambling during random access |
US8539513B1 (en) | 2008-04-01 | 2013-09-17 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
US8341286B1 (en) | 2008-07-31 | 2012-12-25 | Alacritech, Inc. | TCP offload send optimization |
US9306793B1 (en) | 2008-10-22 | 2016-04-05 | Alacritech, Inc. | TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
JP5392553B2 (ja) * | 2009-07-08 | 2014-01-22 | 日本電気株式会社 | データ転送システムおよびデータ転送方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1984003192A1 (en) * | 1983-02-07 | 1984-08-16 | American Telephone & Telegraph | Data network interface |
JPS6027256A (ja) * | 1983-07-25 | 1985-02-12 | Hitachi Ltd | パケツト交換機の切替方式 |
US4637015A (en) * | 1985-07-29 | 1987-01-13 | Northern Telecom Limited | Packet transmission and reception via a shared DMA channel |
JPH024072A (ja) * | 1988-06-20 | 1990-01-09 | Fujitsu Ltd | パケット交換方式 |
JPH02137547A (ja) * | 1988-11-18 | 1990-05-25 | Mitsubishi Electric Corp | パケット交換装置 |
US5210749A (en) * | 1990-05-29 | 1993-05-11 | Advanced Micro Devices, Inc. | Configuration of srams as logical fifos for transmit and receive of packet data |
US5367643A (en) * | 1991-02-06 | 1994-11-22 | International Business Machines Corporation | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets |
US5398245A (en) * | 1991-10-04 | 1995-03-14 | Bay Networks, Inc. | Packet processing method and apparatus |
JP3127523B2 (ja) * | 1991-10-31 | 2001-01-29 | 株式会社日立製作所 | 通信制御装置およびデータ送信方法 |
US5293487A (en) * | 1991-12-27 | 1994-03-08 | Digital Equipment Corporation | Network adapter with high throughput data transfer circuit to optimize network data transfers, with host receive ring resource monitoring and reporting |
US5412782A (en) * | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5307459A (en) * | 1992-07-28 | 1994-04-26 | 3Com Corporation | Network adapter with host indication optimization |
JP2931490B2 (ja) * | 1992-12-18 | 1999-08-09 | 富士通株式会社 | 並列処理方式 |
US5606665A (en) * | 1994-07-01 | 1997-02-25 | Digital Equipment Corporation | Buffer descriptor prefetch in network and I/O design |
-
1995
- 1995-07-10 US US08/500,491 patent/US5752078A/en not_active Expired - Fee Related
-
1996
- 1996-06-25 JP JP16455996A patent/JP3384686B2/ja not_active Expired - Fee Related
- 1996-06-26 DE DE69636029T patent/DE69636029T2/de not_active Expired - Lifetime
- 1996-06-26 EP EP96304731A patent/EP0753817B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69636029T2 (de) | 2006-10-05 |
DE69636029D1 (de) | 2006-05-24 |
US5752078A (en) | 1998-05-12 |
EP0753817B1 (en) | 2006-04-12 |
JPH0934818A (ja) | 1997-02-07 |
EP0753817A1 (en) | 1997-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3384686B2 (ja) | 通信ネットワークから情報を受信するための方法および装置 | |
US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
US9769274B2 (en) | Data transfer, synchronising applications, and low latency networks | |
KR0170500B1 (ko) | 멀티프로세서 시스템 | |
US5627658A (en) | Automatic networked facsimile queuing system | |
JP4012545B2 (ja) | リモート・ダイレクト・メモリ・アクセス対応ネットワーク・インタフェース・コントローラのスイッチオーバーとスイッチバックのサポート | |
US6308214B1 (en) | Self-tuning dataflow I/O core | |
US6272522B1 (en) | Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture | |
US6321269B1 (en) | Optimized performance for transaction-oriented communications using stream-based network protocols | |
WO2000030306A2 (en) | Router with load balancing | |
WO2000030294A2 (en) | Software interface between switching module and operating system of a data packet switching system | |
JPH06309252A (ja) | 相互接続インタフェース | |
US20070291782A1 (en) | Acknowledgement filtering | |
EP1338965A2 (en) | Data transfer | |
US20020024938A1 (en) | System and method for controlling network traffic flow in a multi-processor network | |
US6389478B1 (en) | Efficient non-contiguous I/O vector and strided data transfer in one sided communication on multiprocessor computers | |
JP3189269B2 (ja) | ネットワークプリンタ | |
Zhang et al. | Anatomy of UDP and M-VIA for cluster communication | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
JP2004007354A (ja) | 計算機間データ転送方法及びデータ同報配信方法 | |
JPH0652119A (ja) | レプリケートファイル参照方式 | |
JPH11327938A (ja) | フロー制御方法 | |
JP3623727B2 (ja) | 通信方法 | |
JPH0621925A (ja) | 多重化伝送路通信制御方式 | |
JPH11242641A (ja) | ノード及びノード間通信方法及びプログラム記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071227 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081227 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081227 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091227 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |