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
Application number
JP16455996A
Other languages
English (en)
Other versions
JPH0934818A (ja
Inventor
ギャリー・エス・デルプ
フィリップ・エル・ライヒティ
アルバート・エイ・スレーン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0934818A publication Critical patent/JPH0934818A/ja
Application granted granted Critical
Publication of JP3384686B2 publication Critical patent/JP3384686B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/128Program 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering 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に
よってデータ・パケット全体をホスト・メモリに転送す
る。
【0003】次に図7を参照すると、同図には、従来の
パケットベース入出力アダプタを使用するデータ処理シ
ステムによるデータ・パケットの受信中の事象を示すタ
イムライン(時系列)が示されている。図示の通り、コ
ンピュータ・ネットワークからアダプタ・メモリに1パ
ケット分のデータを転送(バー150)した後、入出力
アダプタは、データ・パケットを受信したことをホスト
・データ処理システム内で実行中のソフトウェアに通知
する(バー152)。次に、バー154が示すように、
入出力アダプタは、ホスト・メモリへのパケット・ヘッ
ダのDMA転送をセットアップし、その後、バー156
が示すように、パケット・ヘッダのDMA転送を実行す
る。パケット・ヘッダのDMA転送が完了したという通
知を受信(バー158)した後、入出力アダプタは、デ
ータ・パケットのヘッダを検査し(バー160)、ホス
ト・メモリ内のユーザ・アドレス空間内へのデータ・パ
ケットのDMA転送をセットアップする(バー16
2)。次に入出力アダプタは、ホスト・メモリ内のユー
ザ・アドレス空間内へのパケット・データのDMA転送
を実行し(バー164)、バー166が示すように、D
MA転送が完了したことをホスト・データ処理システム
内のソフトウェアに通知する。最後に、バー168は、
データ・パケットが到着したことをデータ処理システム
のソフトウェアがユーザに通知することを示している。
【0004】図7から明らかなように、従来のパケット
ベース・アーキテクチャの問題の1つは、入出力アダプ
タがデータ・パケットを受信してから、データ・パケッ
トが到着したことがユーザに通知されるまでの間にユー
ザが認識する待ち時間である。データ受信タイムライン
内の事象が順次順序付けられているので、ユーザは、デ
ータ・パケットがコンピュータ・ネットワークから入出
力アダプタに転送される際の間隔と、アダプタ・メモリ
からホスト・メモリ内のユーザ・アドレス空間へパケッ
トのDMA転送を実行するのに必要な時間、ならびにチ
ェックサムや他のエラー検出など、プロトコル・スタッ
ク内での追加の処理を認識する。また、パケットベース
・アーキテクチャに関連する待ち時間はユーザによって
認識されているので、多くのデータ処理システムではホ
ストベース・アダプタ・アーキテクチャを使用してい
る。
【0005】次に図8を参照すると、同図には、従来の
ホストベース・アダプタを使用するデータ処理システム
によるデータ・パケットの受信中の事象を示すタイムラ
インが示されている。バー170は、ホストベース入出
力アダプタによるデータ・パケットの受信を示してい
る。バー172が示すように、ホストベース入出力アダ
プタは、データ処理システムのホスト・メモリ内のシス
テム・アドレス空間へのデータ・パケットの並行DMA
転送を実行する。次に、入出力アダプタは、コンピュー
タ・ネットワークからパケットを受信したことをシステ
ム・ソフトウェアに通知する(バー174)。次に、バ
ー176および178が示すように、入出力アダプタ
は、パケット・ヘッダへの問合せを行って、ホスト・メ
モリのユーザ・アドレス空間内の宛先アドレスを求め、
システム・アドレス空間からホスト・メモリのユーザ・
アドレス空間内の宛先アドレスにデータ・パケットをコ
ピーする。最後に、バー180が示すように、入出力ア
ダプタは、コンピュータ・ネットワークからデータ・パ
ケットを受信したことをユーザに通知する。
【0006】ホスト・メモリ内のシステム・アドレス空
間へのデータ・パケットの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にタスクを送信し
て実行させることは都合の良いことである。
【0014】当業者には分かるように、通信リンク24
と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の下でオペレーティング・システムまたはユーザ(通
信ソフトウェア)プロセスのスレッド(すなわち、複数
の命令からなるスケジュール可能なストリーム)を並行
実行する。
【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分される。それぞれのユーザ・プ
ロセス、たとえば、通信ソフトウェアには、ユーザ・ア
ドレス空間の個別部分が割り振られる。
【0017】本発明によれば、サーバ12は、パケット
ベース入出力アダプタ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に移行する。
【0019】ブロック64は、パケット・ヘッダが受信
されたことを入出力アダプタ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で終了する。
【0021】ブロック72に戻ると、DMA転送中にエ
ラーが検出されなかった場合、プロセスはブロック78
に移行し、ブロック78はDMA転送が完了したかどう
かの判定を示している。完了していない場合、プロセス
はブロック72に戻る。しかし、DMA転送が完了して
いる場合、プロセスはブロック80に移行し、ブロック
80はDMA転送が完了したことを入出力アダプタ42
が通信ソフトウェアに通知すること(図4のバー92)
を示している。その場合、ソフトウェアは、データが受
信されたことをユーザに通知することができる。その
後、プロセスはブロック82で終了する。
【0022】図7との比較により、図3に示す通信ネッ
トワークから情報を受信する方法では、結果的に従来の
方法よりパフォーマンスが大幅に強化されることが明ら
かである。パケット・ヘッダの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によって示されている。
【0024】その後、プロセスはブロック108に移行
し、ブロック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で終了する。
【0026】図7および図8と比較しながら図6を検討
すると分かるように、本発明の第2の好ましい実施例で
は、従来のホストベースおよびパケットベース両方のア
ーキテクチャより効率が強化される。というのは、発生
順ではDMA転送のセットアップとDMA転送が入出力
アダプタ42によるパケットの受信と重なっているから
である。さらに、エラー検出などのインラインDMAサ
ービスが使用可能であり、ホスト・アドレス空間からユ
ーザ・アドレス空間への追加のコピー操作が除去されて
いるので、ホストベース・アーキテクチャの欠点が解決
されている。本発明の第2の好ましい実施例では第1の
好ましい実施例よりデータ受信待ち時間の短縮幅が大き
くなっているが、当業者であれば、いずれかの実施例を
実施することは、第2の好ましい実施例によって得られ
るパフォーマンスの改良とそれが必要とする複雑さの増
加とのバランスを取る設計上の判断であることが分かる
だろう。
【0027】上記のように、本発明は、通信ネットワー
クからデータを受信するための改良された方法およびシ
ステムを提供するものである。パケット全体を受信する
前にパケット・ヘッダが処理され、DMA転送がセット
アップされるので、本発明はユーザが認識する待ち時間
を短縮する。
【0028】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0029】(1)通信ネットワークから情報を受信す
るためのデータ処理システム内の方法において、前記デ
ータ処理システムが前記通信ネットワークに結合された
通信アダプタと、ホスト・メモリとを有し、前記通信ア
ダプタがアダプタ・メモリを有し、前記通信ネットワー
クが、パケット・ヘッダとパケット・データとを含む情
報をパケット単位で前記データ処理システムに伝送し、
前記方法が、前記通信アダプタ内の前記アダプタ・メモ
リで前記通信ネットワークから情報パケットの一部を受
信するステップであって、前記情報パケットの前記一部
が少なくともパケット・ヘッダを含み、前記パケット・
ヘッダが前記情報パケットの長さと、前記ホスト・メモ
リ内の宛先アドレスとを指定するステップと、前記情報
パケットの前記一部の受信に対する応答として、前記パ
ケット・ヘッダへの問合せを行って、前記情報パケット
の前記長さと前記宛先アドレスとを求めるステップと、
前記パケット・ヘッダへの前記問合せに対する応答とし
て、前記アダプタ・メモリでの前記情報パケットの受信
中に、前記アダプタ・メモリから前記ホスト・メモリへ
の前記情報パケットの転送のパラメータを求めるステッ
プと、前記アダプタ・メモリから前記ホスト・メモリに
前記情報パケットを転送するステップとを含み、前記情
報パケットが前記宛先アドレスから始まる前記ホスト・
メモリ内のアドレスに格納され、データ受信の待ち時間
が最小限になることを特徴とする方法。 (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)

    (57)【特許請求の範囲】
  1. 【請求項1】ホスト・メモリを有し、パケット・ヘッダ
    とパケット・データとを含む情報をパケット単位で伝送
    する通信ネットワークに通信アダプタを介して接続され
    たデータ処理システムにおいて通信ネットワークから情
    報を受信するための方法であって、 情報パケットに含まれるパケット・ヘッダが、該情報パ
    ケットの長さと、前記ホスト・メモリ内の宛先アドレス
    とを指定する場合に、前記通信アダプタ内のアダプタ・
    メモリで前記通信ネットワークから、少なくとも前記パ
    ケット・ヘッダを含む、前記情報パケットの一部を受信
    するステップと、 前記情報パケットの前記一部の受信に対する応答とし
    て、前記アダプタ・メモリにおいて前記情報パケットの
    最終部分を受信する前に、前記アダプタ・メモリから前
    記ホスト・メモリへの前記情報パケットの転送を準備す
    るステップと、 前記情報パケットの各所定のサブセットの受信に対する
    応答として、前記情報パケットの前記各所定のサブセッ
    トを、前記アダプタ・メモリから前記宛先アドレスから
    始まる前記ホスト・メモリ内のアドレスに転送するステ
    ップと、 前記情報パケットの前記各所定のサブセットの前記ホス
    ト・メモリへの転送と並行して、前記情報パケットがエ
    ラーを含んでいるかどうかを検出するステップと、 前記情報パケット内のエラーの検出に対する応答とし
    て、前記アダプタ・メモリから前記ホスト・メモリへの
    前記情報パケットの前記各所定のサブセットの前記転送
    を取り消すステップと、 前記アダプタ・メモリから前記ホスト・メモリへの前記
    情報パケットの前記各所定のサブセットの前記転送が完
    了する前に前記情報パケット内のエラーを検出できなか
    ったことに対する応答として、前記情報パケットが前記
    通信ネットワークから受信されたという通知を提供する
    ステップとを含む、 通信ネットワークから情報を受信するための方法。
  2. 【請求項2】前記パケット・ヘッダを含む前記情報パケ
    ットの前記一部の受信に対する応答として、前記情報パ
    ケットの前記最終部分を受信する前に前記アダプタ・メ
    モリから前記ホスト・メモリに前記ヘッダを転送するス
    テップをさらに含むことを特徴とする、請求項に記載
    の通信ネットワークから情報を受信するための方法。
  3. 【請求項3】ホスト・メモリを有し、パケット・ヘッダ
    とパケット・データとを含む情報をパケット単位で伝送
    する通信ネットワークに接続されたデータ処理システム
    において通信ネットワークから情報を受信するための装
    置であって、 前記通信ネットワークに結合され、アダプタ・メモリを
    有する通信アダプタと、 情報パケットに含まれるパケット・ヘッダが、該情報パ
    ケットの長さと、前記ホスト・メモリ内の宛先アドレス
    とを指定する場合に、前記通信アダプタ内の前記アダプ
    タ・メモリで前記通信ネットワークから、少なくとも前
    記パケット・ヘッダを含む、前記情報パケットの一部を
    受信する手段と、 前記情報パケットの前記一部の受信に対する応答とし
    て、前記アダプタ・メモリにおいて前記情報パケットの
    最終部分を受信する前に、前記アダプタ・メモリから前
    記ホスト・メモリへの前記情報パケットの転送を準備す
    る手段と、 前記情報パケットの各所定のサブセットの受信に対する
    応答として、前記情報パケットの前記各所定のサブセッ
    トを前記宛先アドレスから始まる前記ホスト・メモリ内
    のアドレスに転送する手段と、 前記情報パケットの前記各所定のサブセットの前記ホス
    ト・メモリへの転送中に、前記情報パケットがエラーを
    含んでいるかどうかを検出する手段と、 前記情報パケット内のエラーの検出に対する応答とし
    て、前記アダプタ・メモリから前記ホスト・メモリへの
    前記情報パケットの前記各所定のサブセットの前記転送
    を取り消す手段と、 前記アダプタ・メモリから前記ホスト・メモリへの前記
    情報パケットの前記各所定のサブセットの前記転送が完
    了する前に前記情報パケット内のエラーを検出できなか
    ったことに対する応答として、前記情報パケットが前記
    通信ネットワークから受信されたという通知を提供する
    手段とを含む、 通信ネットワークから情報を受信するための装置。
  4. 【請求項4】前記パケット・ヘッダを含む前記情報パケ
    ットの前記一部の受信に対する応答として、前記情報パ
    ケットの前記最終部分を受信する前に前記アダプタ・メ
    モリから前記ホスト・メモリに前記ヘッダを転送する手
    段をさらに含むことを特徴とする、請求項に記載の通
    信ネットワークから情報を受信するための装置。
JP16455996A 1995-07-10 1996-06-25 通信ネットワークから情報を受信するための方法および装置 Expired - Fee Related JP3384686B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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