JP2596718B2 - ネットワーク通信バッファを管理する方法 - Google Patents

ネットワーク通信バッファを管理する方法

Info

Publication number
JP2596718B2
JP2596718B2 JP6255170A JP25517094A JP2596718B2 JP 2596718 B2 JP2596718 B2 JP 2596718B2 JP 6255170 A JP6255170 A JP 6255170A JP 25517094 A JP25517094 A JP 25517094A JP 2596718 B2 JP2596718 B2 JP 2596718B2
Authority
JP
Japan
Prior art keywords
pointer
fifo
queue
location
data
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 - Lifetime
Application number
JP6255170A
Other languages
English (en)
Other versions
JPH07202946A (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 JPH07202946A publication Critical patent/JPH07202946A/ja
Application granted granted Critical
Publication of JP2596718B2 publication Critical patent/JP2596718B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散データ処理システム
に関するものであり、更に詳しく云えば、分散データ処
理システムのノードに対してデータ・パケットを受信又
は送信するネットワーク・アダプタのためのバッファの
管理に関するものである。
【0002】
【従来の技術】通信リンク及びコンピュータ又は端末を
含むノードの間のデータの伝送は一般にはそのデータを
バッファすることによってサポートされる。バッファリ
ングの目的は通信リンクの動作及びノードの内部動作の
同期の固定化を避けることである。バッファはメモリ又
はデータ記憶レジスタ、ディスク・ドライブ、遅延線若
しくは数多くの任意のテクノロジを使用して実施可能で
ある。バッファの使用によって通信リンク及びノードの
間で情報を伝送する時、情報の流れる速度及び事象の発
生時間が相違することが許容される。
【0003】通信リンクを介して伝送するためのデータ
の編成は特に通信リンクの効率的な使用、データの送信
及び受信の管理、データの受信時におけるメモリの効率
的な使用に関する数多くの重要な要素を持っている。例
えば、データの編成を扱う一般的な方法はパケットの使
用である。パケットでは、制御要素及びデータ要素が1
つの合成体として交換され送信される。パケットの使用
は経路指定に関する数多くの問題点を簡略化する。
【0004】パケット又は他のタイプのデータ・フレー
ムには長さが可変的なものがある。これは通信リンク全
体の容量の効率的な利用という点から見れば固定長フレ
ームよりも利点を持っている。しかし、可変長フレーム
の作成、送信、複写及び操作のためのバッファにおける
スペースの割り当てはそのタスクが逐次的なソフトウエ
アにおいて実施される場合、ノードの処理能力のかなり
の部分を消費することになろう。直接メモリ・アクセス
(DMA)制御ブロックの計算及び構造がその問題の主要な
部分である。
【0005】可変長フレームの使用により受信ノードに
課せられる計算の負担を軽減するための1つの方法はバ
ルク・データの複写の後にフレームに付加されたヘッダ
を含む任意の可能なフレーム・サイズを許容する固定長
のバッファ・ロケーションにおいてそれらフレームを受
信することである。この方法による問題はバッファ内部
の細分化のために大量のメモリの使用を必要とすること
である。
【0006】バッファ・ロケーションの連鎖はその問題
に対する1つの解決方法として使用されている。しか
し、それを使用するにはその連鎖の記述を構成する必要
があり、その連鎖の読み取りのためにメモリ帯域を割り
当てる必要がある。
【0007】更にパケット/フレームに対して必要なだ
けのロケーションしか使用しないFIFO(先入れ先出し)受
信バッファを使用することも知られている。この方法は
メモリをクリアする必要があるという煩わしさがある。
メモリ・ロケーションが解放される時、その解放された
フレームに時間的に先行するすべてのフレームはその解
放された特定のロケーションが再使用される前に解放さ
れなければならない。
【0008】
【発明が解決しようとする課題】本発明の目的は分散デ
ータ処理システムにおけるノードに対してデータ・パケ
ットを受信するネットワーク・アダプタのためのバッフ
ァを管理するためのシステム及び方法を提供することに
ある。
【0009】本発明のもう1つの目的はバッファ・スペ
ースを管理するためにデータ・フレームを2つのクラス
に分離するためのシステム及び方法を提供することにあ
る。
【0010】
【課題を解決するための手段】本発明の上記目的は通信
データを管理する方法を実行するためのネットワーク・
アダプタによって達成される。ネットワーク・アダプタ
のバッファ・メモリは複数の小型の連続したセクション
及び複数の大型の連続したセクションを含むプールに分
けられる。パケットの記憶のために利用可能な小型の連
続したセクションはそれら利用可能な小型の連続したセ
クションに対するポインタのリストによって表される。
パケットの記憶のために利用可能な大型の連続したセク
ションはそれら利用可能な大型の連続したセクションに
対するポインタのリストによって表される。パケットを
小型及び大型として弁別するための閾値が選択される。
そこでパケットが受信された時、それらはその閾値と対
比して測定される。閾値に達する前にパケット終了状態
を検出したことに応答してそのパケットは小型の連続し
たセクションに記憶される。その他の場合、即ち閾値に
達する前にパケット終了状態が検出されなかったことに
応答してそのパケットは大型の連続したセクションに記
憶される。それらセクションのアベイラビリティはポイ
ンタのFIFOリストに対する照会によって決まる。
【0011】
【実施例】図1は複数のノード相互間におけるファイル
・サーバ及びマルチメディア・データを含むデータの伝
送をサポートするための例示的ローカル・エリア・ネッ
トワーク8のブロック図を示す。ローカル・エリア・ネ
ットワーク8はトーク・リングの形で示されているが、
他の形も可能である。サーバ12は通信チャネル10を介し
てコンピュータ12A乃至12Cと通信可能である。サーバ12
は本発明を実施するようにプログラムされたIBMパーソ
ナル・システム/2又はAS/400システムのような通常のコ
ンピュータであり、中央処理装置(CPU) 60、メモリ64及
びデータ・フレーム又はパケットの着信及び発信をバッ
ファするためのネットワーク・アダプタ62を含む。サー
バ12は1つ又は複数のユーザによるアクセス要求を待つ
複数のマルチメディア及びその他のデータ・オブジェク
トを記憶するハード・ディスク・ドライブ装置56を含
む。そのようなアクセス要求の結果、ハード・ディスク
・ドライブ装置56からシステム・バス58を介してコンピ
ュータ・メモリ64又はネットワーク・アダプタ62にデー
タ・オブジェクトのステージングが生じる。メモリ64に
は数多くのオブジェクトが存在する。オペレーティング
・システム及びローカル・エリア・ネットワーク(LAN)
サーバ66は1つのオブジェクトとして表される。ハード
・ディスク・ドライブ装置56及びメモリ64に記憶された
送信されるべきオブジェクトはフレーム又はパケットの
形に編成され、ネットワーク・アダプタ62に渡されなけ
ればならない。同様にリング、即ち通信チャネル10を介
して受信されたデータはハード・ディスク・ドライブ装
置56又はメモリ64に転送するためにネットワーク・アダ
プタ62からステージング可能である。CPU 60はシステム
・バス58を介したネットワーク・アダプタ62との間のデ
ータの転送を処理するよう直接メモリ・アクセス(DMA)
コントローラ61をプログラムすることができる。
【0012】ユーザはサーバ12上に記憶されたデータ・
ファイルをコンピュータ12A乃至12Cを介してアクセスす
る。コンピュータ12Bは典型的な例である。コンピュー
タ12Bはコンピュータであるサーバ12と通信するパーソ
ナル・ワークステーションとして動作する。概略的に云
えば、パーソナル・ワークステーション、即ちコンピュ
ータ12Bはサーバ12と実質的に同じであり、ネットワー
ク・アダプタ70、ディスプレイ・アダプタ84、ハード・
ディスク・ドライブ装置90、中央処理装置(CPU)82、及
びアドレス可能メモリ88を含む。パーソナル・ワークス
テーション12Bの各コンポーネントはシステム・バス83
を介して内部的にデータを転送する。CPU82はキーボー
ド及びマウスを含む入力周辺装置80を直接に制御する。
ディスプレイ・アダプタ84はファイルからのデータを可
視的に表示するディスプレイ装置86を駆動する。メモリ
88はネットワーク8において通信セッションを設定する
場合に使用するためのコマンド構造体94を含む。DMAコ
ントローラ87はDMAコントローラ61がサーバ12において
行う機能と同じ機能をコンピュータ12Bにおいて遂行す
る。
【0013】図2はネットワーク・アダプタ62のブロッ
ク図である。データ・フレーム又はパケットはFIFO入力
バッファ31において受信される。同時に、パケットは制
御論理ブロック33にも入力として与えられる。制御論理
ブロック33は受信されるパケットに対するフレーミング
情報からそのパケットのサイズを導出する。制御論理ブ
ロック33によってアクセス可能なメモリ35における閾値
38はサイズのカテゴリ化のために使用される。即ちパケ
ットが閾値に一致するか又はそれよりも大きい場合、そ
のパケットは大型であると見なされ、そうでない場合は
小型であると見なされる。パケット終了情報の受信時又
はその閾値への到達時のいずれか早い時点で着信パケッ
トのサイズ・カテゴリがわかる。この時点でそのパケッ
トに対するメモリ35の適当にサイズ分けされたセクショ
ンが選択可能となる。メモリ35は通常はアダプタ・カー
ド上のランダム・アクセス・メモリのアレーであるが、
システム・メモリ64の一部分であってもよい。
【0014】メモリ35は着信パケットを受けるためのデ
ータ・ブロック37の予約された領域を含む。データ・ブ
ロック37は2つのサイズを有し、その第1は閾値よりも小
さい如何なるパケットも受け入れるサイズであり、その
第2は予測される最大サイズのパケットを受け入れるサ
イズである。閾値38はプログラム可能であり、変更可能
である。小型ポインタ・リスト41及び大型ポインタ・リ
スト42はそれぞれデータを受信するために利用し得る小
さいサイズのブロック及び大きいサイズのブロックのす
べてに対するポインタを含む。ポインタ・リスト41及び
42は好ましくはFIFOのリストとして実施される。又はポ
インタの連鎖したリンク・リストを用いてスタックで実
施することもできる。FIFOはデバッグ及び導入が容易で
あり、一方スタックは大きな融通性を持っている。ポイ
ンタの検索及びパケットの受信完了の際制御論理ブロッ
ク33はそのポインタ(及び関連するアドレス)を使ってメ
モリ35をアドレスし、FIFO入力バッファ31がメモリ35に
おけるそのポインタに関連したロケーションにそのパケ
ットを書き込むことを可能にする。そこでそのポインタ
は受信待ち行列39に置かれる。データが受信されたこと
をアプリケーションに知らせるためにそのノードに対す
るCPUが割り込みされるか又は他の技法が使用される。
データ・パケットがメモリ35から解放された後ポインタ
は適当なリスト、即ち小型ポインタ・リスト41又は大型
ポインタ・リスト42に戻される。
【0015】必須ではないけれども、データ・パケット
の送信にもメモリ35の大型領域及び小型領域への分割を
利用することができる。そのような場合、システムCPU
はリスト41又は42からポインタを得て送信待ち行列40を
介して送信制御装置43にそのポインタを供給する。ポイ
ンタを得た後、送信制御43はそのポインタ(又は関連の
アドレス)をメモリ35に対するアドレスとして断定し、
関連するロケーションの内容を送信用の出力バッファ45
に書き込む。その後ポインタは適当なリスト41又は42に
戻される。宛先ノードから受信成功の肯定応答が受信さ
れるまでポインタの解放は遅延させることができる。
【0016】図3は例えばマルチメディアのためのネッ
トワークにおけるパケットのサイズによる発生頻度分布
のグラフ表示である。フレームの長さはX軸に沿って増
加し、発生の確率はY軸に沿って増加する。一般には要
求、肯定応答及び制御情報に対応する短いパケットが主
要なトラフィック・タイプである。長いパケットはマル
チメディア・データに対応し、長いフレーム長で頻度が
最大(ピーク)となる。その分布曲線は分布における中間
の窪み(最低部)を持った2つのピークを示す。マルチメ
ディア・データはそのような作用を示す傾向があり、メ
モリ構造を2つの所定サイズのフレームに分割する方が
有利である。何らかの理由でトラフィックが3つの明確
な頻度のピークを示す傾向があった場合、メモリ35の予
めサイズの決まった3つのカテゴリの連続したセクショ
ンを利用する方が有利であろう。
【0017】図4はネットワーク・アダプタ62において
データ・パケットを受信するためのプロセスの高レベル
の論理的フロー・チャートである。電源の投入によって
そのプロセスに入ると、ステップ101においてFIFO大型
ポインタ・リスト42及びFIFO小型ポインタ・リスト41が
初期設定される。初期設定は大型及び小型ポインタ・リ
ストとして機能するようにメモリ35の連続したセクショ
ンを割り当てることを含む。その連続したセクションの
最小のアドレスをポインタとして使用してもよい。開始
ロケーション及びタイプによって小型及び大型ポインタ
・リストを識別するようにメモリのセクションを確保し
てもよい。次にステップ103において、パケットを大型
又は小型としてカテゴリ化する時に使用するための閾値
がプログラムされる。
【0018】ステップ105では着信パケットが入力バッ
ファの中に受信される。パケットの受信がモニタされ、
ステップ107において閾値状態に到達する前にそのパケ
ットが終了したかどうかが決定される。閾値に到達し又
はその閾値を越えた場合、ステップ109がステップ107に
続く。ステップ109ではプロセスはメモリ35における大
型領域に対するポインタをFIFO大型ポインタ・リスト42
から得るように試みる。ステップ111においてポインタ
が得られたかどうかが決定される。ポインタが得られな
かった場合、ステップ113がステップ111に続き、受信さ
れたフレームは廃棄される。ネットワークにおける送信
ノードに返信するための失敗応答を発生してもよい。そ
こでプロセスは終了する。
【0019】閾値に達する前のパケットに対してフレー
ム終了状態が検出された場合、ステップ107からステッ
プ115へのフレーム終了ブランチが行われる。ステップ1
15においてFIFO小型ポインタ・リストがポインタに関し
てアクセスされる。ステップ117はポインタが得られた
かどうかを決定する。それが得られなかった場合、ステ
ップ119が実行され、FIFO大型ポインタ・リストがポイ
ンタに関してアクセスされるようにしてもよい。ステッ
プ119が使用されるかどうかは大きくオーバサイズした
メモリのロケーションをパケットのために使用すること
がコストにみあうかどうかに依存する。ステップ121は
ステップ119がポインタを戻すことに失敗したかどうか
を決定するために行われる。ポインタが得られなかった
場合、ステップ123が実行され、そのフレームは廃棄さ
れる。ステップ117における失敗の検出に続いてステッ
プ123を実行するようにしてもよい。送信ノードに失敗
の応答を返信するようにしてもよい。
【0020】ステップ111、117又は121の何れかにおい
てポインタが得られたことが決定された場合、ステップ
125が実行され、入力バッファ31からメモリ35にパケッ
トを書き込む。大型に関してはフレームはその全体が入
力バッファ内にあるのではない。パケットが大型である
と決定されると、パケット・クラス及びデータのステー
ジングは実質的にはそのままメモリに進む。次にステッ
プ127においてそのポインタが受信待ち行列の中に置か
れる。ステップ129においてそのパケットの宛先となる
プロセスはそれが得られたことを通知される。
【0021】ステップ129に続くプログラム・フォーク
(分岐)は制御論理ブロック33及びシステムCPU及びDMAコ
ントローラの間の処理を論理的に分割するためのもので
ある。制御論理ブロック33の処理はステップ129に続い
てステップ105に戻る。ステップ131、133及び135はパケ
ットの受信プロセスの通知に対するノード応答を反映す
るものである。ステップ131においてCPUは受信待ち行列
に前に記憶されていたポインタを受け取る。そこで直接
メモリ・アクセス・コントローラ61はパケットの転送、
典型的にはシステム・メモリへの転送を処理するように
プログラムされる。バッファ・メモリがシステム・メモ
リ内に設けられている場合、このステップは省略され
る。この動作はステップ133によって反映される。一旦D
MA動作が完了すると、そのポインタをFIFO大型又は小型
ポインタ・リストに戻すためのステップ135が行われ、
メモリにおける対応するロケーションが今や再使用のた
めに利用可能であることを表示する。
【0022】図5はデータ・パケットの送信を準備する
ためのプロセスの高レベルの論理的フロー・チャートで
ある。ステップ141は送信プロセッサの必要な初期設定
を行う。次にステップ143においてネットワーク送信の
ためのデータが利用可能になるまでプロセスは強制待機
に入る。一旦フレームが利用可能になると、ステップ14
5においてそのフレームは小型又は大型としてカテゴリ
化される。そのフレームが小型である場合、ステップ14
7が実行され、メモリ37における小型ロケーションに対
するポインタを得る試みが行われる。それが小型でない
場合、ステップ149が実行され、メモリ37における大型
ロケーションに対するポインタを得る試みが行われる。
それら何れかのステップに続いてステップ151が実行さ
れ、ポインタが実際に得られたかどうかを決定する。そ
れが得られなかった場合ステップ153が実行され、エラ
ーを処理するためにCPUに割込みをかける。それが得ら
れた場合ステップ155が実行され、システム・メモリか
らメモリ35にデータを転送するために直接メモリ・アク
セス動作を遂行する。このプロセスは無限ループであ
り、システムの電源が落とされるまで実行される。
【0023】図6は小型及び大型パケットの送信に関連
したプロセスの高レベルの論理的フロー・チャートであ
る。この説明は送信コントローラの動作のすべてを説明
するものではない。ステップ161でプロセスに入りポイ
ンタ・ロケーションが送信待ち行列から読み出される。
ステップ163における決定時にポインタの値がゼロであ
る場合、コントローラはステップ161に戻り、その待ち
行列における他のロケーションを読み出す。ポインタが
存在した場合、ステップ165が実行されてバッファ・サ
イズのタイプを決定する。これはそのポインタが戻され
る正しい待ち行列をプロセスが決定することを可能にす
る。ステップ167においてポインタが適当なポインタ・
リスト41又は42に戻され、送信待ち行列から削除され
る。ステップ167は受信肯定応答が戻るのを待つもので
もよい。
【0024】送信制御ブロック43及び制御論理ブロック
33は好ましくは最適な速度のための論理ゲートとして実
施可能である。ソフトウエアによる実施のFIFO入力バッ
ファに比べてこの実施は付加的なメモリ移動を行う必要
をなくすることによってメモリ帯域の要求事項を少なく
する。
【0025】本発明はネットワーク・アダプタの大きな
バッファ・メモリがFIFO以外の方法で使用されることを
可能にする。バッファ・ロケーションの個々の管理は順
番通りでないフレーム処理を可能にする。これは複数待
ち行列の更に簡単なサポートを提供する。バッファ・ロ
ケーションの連鎖と比較してソフトウエア及びメモリ帯
域の必要なオーバヘッドはかなり少なくなる。固定バッ
ファリング方法に比べて本発明は内部メモリの細分化を
少なくする。シーケンス外のメモリ回復を持ったFIFOバ
ッファリングと比較して外部の細分化はかなり少なくな
る。
【0026】
【発明の効果】本発明により可変長のデータ・パケット
を受信/送信するためのネットワーク・アダプタ用バッ
ファの効率的な管理が得られる。
【図面の簡単な説明】
【図1】複数のノードを相互接続するトークン・リング
・ネットワークのブロック図である。
【図2】図1のネットワークにおいて使用するためのネ
ットワーク・アダプタ内のデータ・フローのブロック図
である。
【図3】長さ弁別されたパケットの発生頻度のグラフ表
示である。
【図4】本発明を実施するためのパケット受信プロセス
の論理的フロー・チャートである。
【図5】本発明に従ってパケットの送信を設定するため
のプロセスの論理的フロー・チャートである。
【図6】本発明に従ってパケットを送信するためのプロ
セスの論理的フロー・チャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブラッド・エル・ブレッチ アメリカ合衆国ミネソタ州、ロチェス タ、メサビ・コート・エヌ・ダブリュ 7075 (72)発明者 ジョナサン・ダブリュ・バイルン アメリカ合衆国ミネソタ州、ロチェス タ、フォーティース・ストリート・エ ヌ・ダブリュ 1408 (72)発明者 ガリー・エス・デルプ アメリカ合衆国ミネソタ州、ロチェス タ、エイティーンス・アベニュー・エ ヌ・ダブリュ 6892 (72)発明者 ラファエル・エム・モンタルボ アメリカ合衆国ニューヨーク州、ヨーク タウン・ハイツ、ファーサンド・ドライ ブ 2584 (56)参考文献 特開 平4−192743(JP,A) 特開 平4−237238(JP,A) 特開 平3−203442(JP,A)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ネットワーク通信バッファを管理する方
    法において、 バッファを複数の大型ロケーション及び複数の小型ロケ
    ーションに分割し、各ロケーションに対するポインタを
    FIFO大型ロケーション・ポインタ待ち行列又はFIFO小型
    ロケーション・ポインタ待ち行列に配置するステップ
    と、 データ・フレームを大型又は小型に分類するための閾値
    を設定するステップと、 データ・フレームを受信するステップと、 前記閾値に達する前にデータ・フレームの終端が発生し
    たか又は前記閾値に達するまでにデータ・フレームの終
    端が発生しなかったかを検出するステップと、所定の閾
    値に達するまでにデータ・フレームの終端が発生しなか
    ったことに応答して前記FIFO大型ロケーション・ポイン
    タ待ち行列からポインタを検索するステップと、 所定の閾値に達する前にデータ・フレームの終端が発生
    したことに応答して前記FIFO小型ロケーション・ポイン
    タ待ち行列からポインタを検索するステップと、 前記FIFO小型ロケーション・ポインタ待ち行列からのポ
    インタの検索に失敗した場合前記FIFO大型ロケーション
    ・ポインタ待ち行列からポインタを検索するステップ
    と、 前記データ・フレームを検索されたポインタに関連した
    ロケーションに移動するステップと、 前記検索されたポインタを受信待ち行列に記憶するステ
    ップと、 前記データ・フレームの受信のプロセスを通知するステ
    ップと、 を含むことを特徴とする方法。
  2. 【請求項2】 前記受信待ち行列からのポインタを前記
    データ・フレームに関する直接メモリ・アクセス動作に
    おいて利用するステップと、 前記直接アクセス・メモリ動作の完了後前記FIFO大型ロ
    ケーション・ポインタ待ち行列又は前記FIFO小型ロケー
    ション・ポインタ待ち行列に前記ポインタを戻すステッ
    プと、 を含むことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 データ送信要求に応答して前記FIFO大型
    ロケーション・ポインタ待ち行列又は前記FIFO小型ロケ
    ーション・ポインタ待ち行列からポインタを検索するス
    テップと、 検索されたポインタによって示されたロケーションから
    のデータ・フレームの送信後前記検索されたポインタを
    前記FIFO大型ロケーション・ポインタ待ち行列又は前記
    FIFO小型ロケーション・ポインタ待ち行列に戻すステッ
    プと、 を含むことを特徴とする請求項2に記載の方法。
  4. 【請求項4】 前記FIFO大型ロケーション・ポインタ待
    ち行列からポインタを検索するステップが失敗したこと
    に応答して前記データ・フレームを廃棄するステップを
    含むことを特徴とする請求項3に記載の方法。
JP6255170A 1993-12-21 1994-10-20 ネットワーク通信バッファを管理する方法 Expired - Lifetime JP2596718B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17105093A 1993-12-21 1993-12-21
US171050 1993-12-21

Publications (2)

Publication Number Publication Date
JPH07202946A JPH07202946A (ja) 1995-08-04
JP2596718B2 true JP2596718B2 (ja) 1997-04-02

Family

ID=22622290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6255170A Expired - Lifetime JP2596718B2 (ja) 1993-12-21 1994-10-20 ネットワーク通信バッファを管理する方法

Country Status (2)

Country Link
US (1) US6181705B1 (ja)
JP (1) JP2596718B2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US8782199B2 (en) * 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
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
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US6697868B2 (en) 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6658480B2 (en) * 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
FI104603B (fi) * 1997-11-04 2000-02-29 Nokia Networks Oy Puskurinhallinta
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
KR100280642B1 (ko) * 1998-11-18 2001-05-02 윤종용 이더넷 컨트롤러의 메모리 관리 장치 및 그 제어방법
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
KR20020066283A (ko) * 2001-02-09 2002-08-14 삼성전자 주식회사 네트웍 메모리 관리 방법 및 그를 이용한 네트웍 드라이브장치
US20030091031A1 (en) * 2001-11-14 2003-05-15 International Business Machines Corporation Variable pricing structure for transmitting packets across a communications link
US7480239B1 (en) 2001-11-27 2009-01-20 Cisco Technology, Inc. Method and apparatus for true priority based connection establishment within a PNNI ATM network
US6654865B2 (en) * 2002-01-31 2003-11-25 Ubicom, Inc. Netbufs: communication protocol packet buffering using paged memory management
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
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7093038B2 (en) * 2002-05-06 2006-08-15 Ivivity, Inc. Application program interface-access to hardware services for storage management applications
US7337241B2 (en) * 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US20040088262A1 (en) * 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
KR100462322B1 (ko) * 2002-12-16 2004-12-17 한국전자통신연구원 장거리 전달망에서의 대용량 패킷 전달 장치 및 송수신방법
US7450599B2 (en) * 2003-02-08 2008-11-11 Hewlett-Packard Development Company, L.P. Apparatus and method for communicating with a network
US7532574B1 (en) 2003-10-02 2009-05-12 Cisco Technology, Inc. Method and apparatus for improved priority based connection establishment within a PNNI ATM network
KR100601043B1 (ko) * 2003-11-13 2006-07-14 한국전자통신연구원 패킷을 스케줄링하는 라우터 및 그 방법
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
US7466715B2 (en) * 2005-03-28 2008-12-16 International Business Machines Corporation Flexible control block format for frame description and management
US7738500B1 (en) 2005-12-14 2010-06-15 Alacritech, Inc. TCP timestamp synchronization for network connections that are offloaded to network interface devices
US8360297B2 (en) * 2006-09-29 2013-01-29 Ethicon Endo-Surgery, Inc. Surgical cutting and stapling instrument with self adjusting anvil
US7729368B2 (en) * 2007-01-19 2010-06-01 Hewlett-Packard Development Company, L.P. Network buffer caching
US20080263171A1 (en) * 2007-04-19 2008-10-23 Alacritech, Inc. Peripheral device that DMAS the same data to different locations in a computer
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
US9037810B2 (en) 2010-03-02 2015-05-19 Marvell Israel (M.I.S.L.) Ltd. Pre-fetching of data packets
US9069489B1 (en) 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
US8327047B2 (en) 2010-03-18 2012-12-04 Marvell World Trade Ltd. Buffer manager and methods for managing memory
US9098203B1 (en) 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization
CN102377682B (zh) * 2011-12-12 2014-07-23 西安电子科技大学 基于定长单元存储变长分组的队列管理方法及设备
US20140019570A1 (en) * 2012-07-12 2014-01-16 Raytheon Company Data buffer exchange
CN108600068A (zh) * 2018-04-06 2018-09-28 长天科技股份有限公司 一种在分布式测控系统中的数据收集与传输方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4788679A (en) 1986-09-02 1988-11-29 Nippon Telegraph And Telephone Corporation Packet switch with variable data transfer rate links
FR2625392B1 (fr) * 1987-12-24 1993-11-26 Quinquis Jean Paul Circuit de gestion de pointeurs d'ecriture de files tampons notamment pour commutateur temporel de paquets auto-acheminables
US4991172A (en) 1988-10-28 1991-02-05 International Business Machines Corporation Design of a high speed packet switching node
US4953157A (en) * 1989-04-19 1990-08-28 American Telephone And Telegraph Company Programmable data packet buffer prioritization arrangement
CA1320257C (en) 1989-04-20 1993-07-13 Ernst August Munter Method and apparatus for input-buffered asynchronous transfer mode switching
US4962497A (en) 1989-09-21 1990-10-09 At&T Bell Laboratories Building-block architecture of a multi-node circuit-and packet-switching system
US4993025A (en) 1989-11-21 1991-02-12 Picker International, Inc. High efficiency image data transfer network
JPH03203442A (ja) * 1989-12-29 1991-09-05 Nec Eng Ltd 回線制御アダプタ
FR2666472B1 (fr) * 1990-08-31 1992-10-16 Alcatel Nv Systeme de memorisation temporaire d'information comprenant une memoire tampon enregistrant des donnees en blocs de donnees de longueur fixe ou variable.
JPH04192743A (ja) * 1990-11-26 1992-07-10 Matsushita Electric Ind Co Ltd 受信処理装置
JP3112958B2 (ja) * 1991-01-21 2000-11-27 株式会社東芝 受信バッファ管理方式
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
US5416769A (en) * 1993-07-13 1995-05-16 At&T Corp. Controlled-feedback packet switching system

Also Published As

Publication number Publication date
US6181705B1 (en) 2001-01-30
JPH07202946A (ja) 1995-08-04

Similar Documents

Publication Publication Date Title
JP2596718B2 (ja) ネットワーク通信バッファを管理する方法
US5613155A (en) Bundling client write requests in a server
US5519701A (en) Architecture for high performance management of multiple circular FIFO storage means
US5606665A (en) Buffer descriptor prefetch in network and I/O design
US6691175B1 (en) Method and apparatus for managing data propagation between software modules
US5781741A (en) Message communications system in a parallel computer
US5303347A (en) Attribute based multiple data structures in host for network received traffic
US6993602B2 (en) Configuring queues based on a given parameter
WO2003055157A1 (en) Deferred queuing in a buffered switch
JP2008086027A (ja) 遠隔要求を処理する方法および装置
US5293487A (en) Network adapter with high throughput data transfer circuit to optimize network data transfers, with host receive ring resource monitoring and reporting
WO2004019165A2 (en) Method and system for tcp/ip using generic buffers for non-posting tcp applications
US7177963B2 (en) System and method for low-overhead monitoring of transmit queue empty status
US6529986B1 (en) Interrupt optimization using storage time for peripheral component events
US7177913B2 (en) Method, system, and program for adding operations identifying data packets to structures based on priority levels of the data packets
US8094552B1 (en) Adaptive buffer for frame based storage communications protocols
US6363076B1 (en) Phantom buffer for interfacing between buses of differing speeds
US8473579B2 (en) Data reception management apparatus, systems, and methods
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
US20030079068A1 (en) Method and apparatus for sharing resources between different queue types
US6108694A (en) Memory disk sharing method and its implementing apparatus
US5774745A (en) Method and apparatus for writing and reading entries in an event status queue of a host memory
US7729259B1 (en) Reducing latency jitter in a store-and-forward buffer for mixed-priority traffic
JP3171726B2 (ja) 伝送データの管理装置
JPH02310649A (ja) 受信フレーム転送方式および通信制御装置