JP4807828B2 - ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア - Google Patents

ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア Download PDF

Info

Publication number
JP4807828B2
JP4807828B2 JP2005271199A JP2005271199A JP4807828B2 JP 4807828 B2 JP4807828 B2 JP 4807828B2 JP 2005271199 A JP2005271199 A JP 2005271199A JP 2005271199 A JP2005271199 A JP 2005271199A JP 4807828 B2 JP4807828 B2 JP 4807828B2
Authority
JP
Japan
Prior art keywords
envelope
sequence number
reply
receiver
transmitter
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
JP2005271199A
Other languages
English (en)
Other versions
JP2006087124A5 (ja
JP2006087124A (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 JP2006087124A publication Critical patent/JP2006087124A/ja
Publication of JP2006087124A5 publication Critical patent/JP2006087124A5/ja
Application granted granted Critical
Publication of JP4807828B2 publication Critical patent/JP4807828B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Description

本発明は、一般に、エンベロープ配信に関し、より詳細には、エンベロープの再送信の数を減らすことに関する。
多くのネットワーク技術においては、種々の形態のパケット受取確認及びリカバリー・システムが用いられている。幾つかのネットワーク技術は、コンピュータ・ゲームといったグラフィック・システムにおいて見られるような非常に高い帯域幅と短い待ち時間を有するべきである。こうしたネットワーク・プロトコルの1つは、Infiniband(登録商標)である。
しかしながら、従来のネットワーク・プロトコルには、関連する欠点が存在する。例えば、より多くのデータ・ストリームが比例的にオーバーヘッドに割当てられるのに伴って、大量のオーバーヘッドが用いられ、帯域幅を減少させることになる。さらに、データの送信を再試行するのにかかる時間の量が増加するのに伴って、待ち時間が容認できないほど多くなることがある。さらに、エラー訂正コード(ECC)のようなエラー訂正アルゴリズムは、過多の情報が、ヘッダにおいて送信されるか、もしくはデータ又はコマンドの本体に付加され又は添付されることを要求する場合がある。
したがって、従来のデータ伝達手段における少なくとも幾つかの懸念に対処して情報を伝達する必要がある。
本発明は、エンベロープを送信し、エンベロープを返信するためのものである。送信器は、エンベロープを送信するように構成される。受信器が送信器に結合され、この受信器は、エンベロープを受信して、返信エンベロープを生成するように構成される。送信バッファが送信器に結合される。受信バッファが受信器に結合される。再試行タイマーが送信器に結合され、このとき再試行タイマーは、送信エンベロープと互いに関連している返信エンベロープを受け取ったときにリセットするように構成される。送信器は、該送信器が再試行タイマーによって定められるような選択された時間内に対応する返信エンベロープを受信しない場合には、エンベロープを再送信するように構成される。
本発明及びその利点のより完全な理解のために、付属の図面と併せて、以下の詳細な説明についての参照がなされる。
以下の説明においては、本発明の十分な理解を与えるために、多くの特定の詳細が記載される。しかしながら、当業者であれば、本発明は、こうした特定の詳細なしでも実施できることを認識するであろう。他の場合には、本発明が不必要に細かくて不明瞭にならないように、周知の要素は概略図か又はブロック図の形態で図示される。さらに、ほとんどの部分では、ネットワーク通信、電磁シグナリング技術などに関する詳細は、こうした詳細が本発明の完全な理解を得るのに必要不可欠なものであるとは考えられず、また当該技術分野における当業者の理解の範囲内であると考えられるため、省略されている。
この詳細な説明の残りの部分においては、処理ユニット(PU)は、デバイスにおける唯一の計算プロセッサとすることができる。こうした場合には、PUは、典型的には、MPU(メイン処理ユニット)と呼ばれる。処理ユニットはまた、所与の計算デバイスのために開発された幾つかの方法又はアルゴリズムに従って計算上の負荷を共有する多くの処理ユニットの1つとすることができる。この詳細な説明の残りの部分においては、特に指定のない限り、MPUがデバイスにおける唯一の計算要素であろうと、MPUが他のMPUと計算要素を共用するのであろうと、プロセッサへの全ての言及は、MPUという用語を用いる。
特に指定のない限り、ここで説明される全ての機能は、ハードウェアか又はソフトウェアのいずれか、又はその組み合わせにおいて実行できることにさらに留意されたい。しかしながら、好ましい実施形態においては、この機能は、コンピュータ・プログラム・コードといったコード、ソフトウェア及び/又はこうした機能を実行するようにコード化された集積回路に従って、コンピュータ又は電子データ・プロセッサといったプロセッサによって実行される。
ここで図1に移ると、エンベロープ生成・受取システム100が開示される。一般に、このシステム100は、生成される受取通知の数を減少させることによって、データ伝達におけるオーバーヘッドの量を減少させる。トランシーバB120のような受信器は、受信器120によって適切に受信されたときのパケット「エンベロープ」のみを受取通知する。一般に、エンベロープは、通常は、コマンド、データ、及びプロトコル制御(順番番号、データフロー・クレッジットなど)を含む情報のパケットである。一般に、エンベロープという用語は、「エンベロープ・パケット」のことを言うのに用いられ、それは典型的には、2つのデバイス間の配信を保証する手段に関連するエラー検出機構によって公知のパケット・サイズにグループ化され、カプセル化された情報のコレクションである。ネットワーク上の情報の適切な配信を保証するために、CRCもまた、エンベロープ情報に組み込まれる。
受信器120の外部で生じるエラー状態が存在する場合には、受信器によって受取通知は生成されない。代わりに、受信器は、単に休止し、これ以上データを処理しない。その一方で、送信側は、エンベロープの正常な受取の確認を待っている。所与の時間の経過後に確認が来ない場合には、受取通知されていない第1エンベロープが再送信される。受取通知自体は、さらなる情報のエンベロープを含むことができる。
システム100においては、トランシーバA110は、数十ギガバイト/秒の高速リンク130を介してトランシーバB120に結合される。トランシーバA110は、トランシーバB120に送信するための「エンベロープ」を生成する。システム100においては、各エンベロープは、4つの物理層グループ(PLG)を含む。一般に、PLGは、後述されるように、特定の所定の基準を満たす個別の情報のパケットとして定めることができる。しかしながら、エンベロープの他の実施形態は、他の数のPLG又は他の情報を有することができる。複数のPLGが互いに付加されて「エンベロープ」を形成する。
各エンベロープは、その中に「エンベロープ順番番号」(ESN)を有する。ESNは、通常は、エンベロープがトランシーバA110から最初に送信されたときに該エンベロープに割当てられた順番番号と定義することができる。第1エンベロープは、ESN0を有することができ、第2エンベロープはESN1を有することができ、以下同様である。また、各エンベロープがトランシーバA110から送信されるのに伴って、ESNを含むエンベロープのコピーが送信バッファ115に保存される。
次いで、パケットは、典型的にはデータリンク130を介してトランシーバB120に伝達され、該パケットは受信バッファ125内におかれる。次いで、トランシーバBは、CRCチェッカー122により、そのデータに対してCRCチェックを行う。エンベロープがCRCチェックをパスした場合には、トランシーバBは、該エンベロープのESNフィールドをチェックし、正常に受信された最後のエンベロープの次の順番のESNとマッチする場合には、そのパケットは受信バッファ125に確保される。そうでない場合には、そのパケットは廃棄され、受信器は、まるでまだパケットが到着していないかのように、前の状態に戻る。両方のチェックが成功した場合には、受信したエンベロープから送信側にESNを戻すことによってエンベロープの受取を受取通知する「返信エンベロープ」が送信される。例えば、CRC及びESNチェックによってESN3のエンベロープが検証された場合には、トランシーバB120は、エンベロープが正常に受信されたことを示すために、リターンESN(RESN)ナンバー3のエンベロープをトランシーバAに送り返す。返信エンベロープ自体はまた、トランシーバA110に送信されるべき他の情報を有することができ、それ自体は受取通知される必要がある。
幾つかの実施形態においては、エンベロープは、トランシーバB120がトランシーバAに送信するべき他の情報を有する。したがって、4つのPLGの少なくとも1つは、データ・タイプ、命令タイプなどに関するものとなる。しかしながら、トランシーバB120が、エンベロープがCRC及びESNチェックをパスしたということ以外のトランシーバA110に送信されるべき情報をもたない場合には、そのRESNをもつヌル・エンベロープと、そのRESN値が有効であることを示すRESNビット以外にそのパケットにあるものは何もない。
さらに別の実施形態においては、トランシーバB120は、リターン・エンベロープのRESNを合体させる。これは、以下のようにして起こる。送信帯域幅130に比べてリターン帯域幅140が小さいといった実施上の変化のために、パス140が各エンベロープについてのRESNエンベロープをサポートできなくなることがある。そのため、新しいRESNを含んでいるリターン・エンベロープは、幾つかのエンベロープが受信されるまで送信されないことがある。この状態を考慮に入れるために、トランシーバB120は、適切に受信された最後のエンベロープのESNを常に戻すことになる(すなわち、良好なCRCを有し、それは次の順番のESNであり、受信バッファスペースが利用可能であった)。
リターン・エンベロープを形成する前にトランシーバB120によって幾つかのエンベロープが受信されるということが起こった場合には、送り返されてトランシーバA110によって受信されたRESNは、トランシーバA110によって見られる最後のRESNからの順番的歩進とはならない。むしろ、トランシーバA110からトランシーバB120に送信される幾つかのエンベロープの受取通知がスキップされるように見える。この場合には、トランシーバA110は、受信したRESNを、それまでに受信した前のRESNからの及び新たに受信したRESNを含む全ての送信されたエンベロープの受取通知として処理することになる。例えば、リンク130の帯域幅がリンク140の帯域幅より4倍大きい場合には、トランシーバB120がリターン・エンベロープを形成している間に、トランシーバA110がESN3、4、5及び6のエンベロープを正常に送信することがある。トランシーバB120は、最後に戻したのがRESN=2であっても、時折先にRESN=6を戻すことになる。トランシーバA110は、RESN=6を見たときに、RESN3、4及び5を明示的に受信していなくても、ESN3、4、5及び6のエンベロープが適切に送信されたとみなす。この機構は、「合体」として知られている。
トランシーバA110がエンベロープを送信するときには、そのエンベロープのコピーが送信バッファ115におかれる。次いで、トランシーバA110は、次のエンベロープを送信し、該次のエンベロープを送信バッファ115におく。各エンベロープは、それ独自の識別順番ESNを有する。いずれにしても、トランシーバA110は、一定の時間内に所与のパケットについての対応するRESNを受信したかどうかを判断するために、タイマー117を用いる。トランシーバA110が、送信されたESNに対応するRESNを所与の時間内に受信した場合には、そのエンベロープはトランシーバB120によって受信されたと判断され、そのエンベロープの複製は送信バッファから削除される。しかしながら、対応するRESNが所与の時間内に受信されなかった場合には、トランシーバA110は、トランシーバB120によって受取通知されなかったエンベロープを再送信し、送信バッファ115内のこのエンベロープより後の全てのエンベロープを再送信する。
この手法の利点は、正常な伝達の受取通知のみが生成されるので、トランシーバA110とトランシーバB120との間で送信される受取通知の量が最小となることである。システム100においては、ヌル・エンベロープが生成される場合には、それ以上のエンベロープについて受取通知はなされない。非ヌルである少なくとも1つのPLGを含むエンベロープのみが、それらの独自のRESNを有することになる。例えば、少なくとも1つの非ヌルPLGと共にトランシーバB120からトランシーバA110に送信されるRESNをもつエンベロープは、同時に、送信器として働くトランシーバB120から受信器として働くトランシーバA110に送られる独自のESNを有する新しいエンベロープである。
典型的には、システム100においては、エンベロープ順番番号(ESN)は、最大値127が用いられた後にESNが通常はゼロに折り返すことを除いて、全てのESN範囲(0から127)にわたる昇順で新しい非ヌル・エンベロープに割当てられる。ヌル・エンベロープについてのESNはゼロとされる、すなわちヌル・エンベロープとして送信された最後のESNの値は、再送信するために保存されない。
一実施形態においては、トランシーバA110は、送信バッファにおける第1エンベロープから離れている64エンベロープより多いESN値をもつ新しいエンベロープを送信しない。これは、エラーが起こった後の順番の続きであるESNと、タイムアウトの後の再送信の始まりとを区別して、受信器における混乱を避けるためである。したがって、以下の1つが真である場合に、値「C」のESNをもつ新しいエンベロープのみを送信することができる(以下の表現は、モジュロ算術を使用しない)[これは、0−127の範囲のESN及びRESNについてのみ真である]。
C>最後のRESN及びC<(最後のRESN+65)又は、
C<最後のRESN及びC<(最後のRESN−63)[折り返し状態]
エンベロープが送信される際に、RESN、RESN_valid、周期的冗長検査(CRC)、及びENV_Retryビットを除外する各非ヌル・エンベロープは、エラーの場合における再送信のために、送信バッファ115のようなFIFOエンベロープ再試行バッファにおかれる。エンベロープ開始識別ビット及びエンベロープにおける予約済みビットは、随意的には、エンベロープ再試行バッファにおくことができる。
エラー検出においては、トランシーバA110によって非ヌル・エンベロープが送信され、タイマーが既に作動していないときに、プログラム可能なRESNタイマー117をスタートすることができる。RESNタイマー117が再スタートされるときにはいつでも、その最初の実施形態に依存する値と共に最初にリロードされる。タイミング値の方法及び範囲は、実施形態に依存するものであるが、ESNからRESNへのリンクの最大往復時間をカバーするのに十分なだけ大きくすべきである。
RESNは、RESN有効ビットが設定されたときに、順番的に有効なRESNとして定められ、RESN値は、受信された最後の順番的に有効なRESNより順番的に後であり、該RESNを含んでいるエンベロープは正しいCRCを有する。トランシーバA110によって順番的に有効なRESNが受信されたときには、RESNタイマー117がリセットされ、受信したRESN値に等しいESNをもつエンベロープを含むそれまでのエンベロープは、受取通知されたとみなされ、送信バッファ115のようなエンベロープ再試行バッファから除去される。このプロセスは、リタイヤと呼ぶことができる。エンベロープ再試行バッファに何らかのエンベロープが残っている場合には、RESNタイマー117が再スタートされる。そうでない場合には、RESNタイマーは、新しい非ヌル・エンベロープが送信されるまで停止される。システム100においては、ENV_Retryビットが1に等しい場合には、以下の再試行シーケンスも適用される。
RESNタイマー117が時間切れになり、トランシーバA110がRetry_Fullシーケンスにない場合には、トランシーバA110は、現在のエンベロープの送信を完了する。これは、CRCチェックがエラーを検出しなかった、部分的に送信されたエンベロープについての多くの誤ったビットを有することを回避するためになされる。トランシーバA110は、再試行カウンタを歩進する。再試行カウンタが実施形態に依存する閾値を超えた場合には、リンクが止められ、ソフトウェア又はファームウェアが通知される。通知方法は、実施形態に依存する。さらに別の実施形態においては、リンクを再スタートすることができる。成功した場合には、通常の動作を続けることができる。再試行カウンタは、ソフトウェアによって周期的にリセットして、エラー率(すなわち、時間の経過に伴うエラーの数)を与えることができる。
再試行カウンタが閾値を超えない場合には、トランシーバは、以下のように進める。トランシーバA110は、最小で72のアイドル文字を送信することによってネットワークをクリアする。72のアイドル文字の値は、エンベロープのサイズが72バイトに固定されている特定の実施形態に依存している。要求されるのは、送信されるアイドル文字の数が、送信可能な最大のエンベロープより多いか又はそれに等しいことである。1つの物理リンクあたり72のアイドルではなく、全部で少なくとも72のアイドル文字が送信される。アイドルが、あらゆる8ビットの物理リンク上に送信されるときには、アイドルはまた、同じデータリンクのために用いられる、その他のあらゆる8ビットの物理リンクに対しても同時に送信されることができる。エンベロープ(4サイクル×18バイト)が、より狭い物理リンクに送信され、より多いサイクル(すなわち、24サイクル×3バイト)にわたって分散される場合には、エンベロープのサイズのアイドルが、第1エンベロープを再送信する前に送信されて、受信器におけるあらゆる再配列論理がフラッシュされる。ビットエラーは、エンベロープの開始を誤って検出する再配列論理を生じさせるので、エンベロープと同じくらい大きいか又はそれより大きいアイドルのストリームを用いて、あらゆる誤った形式のエンベロープを受信器論理の外にフラッシュし、第1の再送信されたエンベロープのスタートを適切に検出できるようにする。トランシーバA110は、前に送信されたのと同じ順序で、エンベロープ再試行バッファ115におけるエンベロープの再送信を開始し、RESNタイマー117が再スタートされる。このプロセスはRetryと呼ばれる。
Retry又はRetry_Fullシーケンスの間に、再試行状態のためアイドル文字を送信している間に順番的に有効なRESNが受信される場合には、トランシーバA110は、アイドルの送信を止め、再試行が起こらなかったかのように新しいエンベロープの送信を開始することができる。再試行状態のときにエンベロープが再送信されている間に順番的に有効なRESNがトランシーバA110によって受信される場合には、トランシーバA110は、対応するエンベロープを除去し、送信バッファ115のようなエンベロープ再試行バッファにおけるあらゆる残りのエンベロープを再送信し続ける。
トランシーバA110がエンベロープを再送信している間にRESNが受信される場合には、2つの選択肢が存在する。トランシーバA110は、送信バッファにおける全てのエンベロープを再送信し続けることができ、又は、現在のエンベロープの送信が完了すると、受信したRESNに順番的に後続するエンベロープに進むことができる。その後の新しいエンベロープはまた、エンベロープ再試行バッファ115にこれらのエンベロープのためのスペースが存在する場合に送信されることになる。非ヌル・エンベロープが送信されるときにプログラム可能なRESNタイマー117がスタートされるという、エラー検出に関係するルールが依然として適用される。
トランシーバがENV_Retryビットを見る場合には、それは、送信の間にビットエラーを見ることとは対照的に、PLGペイロードをおくスペースがないため受信器がエンベロープを落とすことを意味する。これを、壊れたエンベロープからもたらされるのと区別することにより、再試行送信に先立つリンク・アイドルがスキップされるので、再試行の待ち時間を短くすることができる。トランシーバが、正しいCRCと、1に等しいENV_Retryビットをもつエンベロープを受信するときには、該トランシーバは、いわゆるRetry_Fullシーケンスと呼ばれるものを入力することになる。トランシーバA110は、現在のエンベロープの送信を完了することになる。トランシーバA110が、RESNタイマー117が時間切れになるのを待つか、又はRetry_Fullシーケンスの開始時にRESNタイマーを止めるかどうかは、実施形態に依存する。トランシーバA110が、少なくとも72のアイドル文字を送信することによってネットワークをクリアするかどうかも、実施形態に依存する。トランシーバA110は、Retry指示セットを有するエンベロープのRESNフィールドにおいて受信された値の後の、シーケンスにおける次のESNを有するエンベロープで始まる再送信を開始する。物理的リンクエラーが起こらなかったために、再試行カウンタは、この再送信の結果として歩進されない。
エンベロープ再試行バッファ115における最後のエンベロープが再送信された後に、RESNタイマー117が、止まっていた場合にはリロードされ、再スタートされる。RESNが順番的に有効なRESNである場合、及び順番的に有効なRESNが受信されるときには、RESNタイマー117がリセットされ、受信したRESN値に等しいESNを有するエンベロープを含む、それまでのエンベロープは、受取通知されたとみなされ、再試行/送信バッファ115から除去される。
Retry_Fullシーケンスの間に、順番的に有効なRESNを有するエンベロープの受取によって別の再送信をもたらすことができ、又はRetry_Fullシーケンスの開始時にエンベロープ再試行バッファ115にあった幾つかのエンベロープが再送信されるのを防止することができる。これは、Retry_Fullシーケンスの間に、正しいCRCと1に等しいENV_Retryビットを有するエンベロープの受取によって、Retry_Fullシーケンスが再スタートされる場合に起こることになる。
初期化された直後に、受信器として働くトランシーバB120は、エンベロープにおいて0に設定されたRESN有効ビットを有し、正しいCRCと0に等しいESNを有する非ヌル・エンベロープを受信するまで送信する。以下のルールは、こうしたエンベロープが受信された後にのみ適用される。
受信器として働くトランシーバB120は、「最後の良好なESN」と呼ばれる値を追跡し、それは、受信バッファ125にエンベロープのための余地があったときに受信された最後の良好な非ヌル・エンベロープに対応する。ヌル・エンベロープ以外では、次のエンベロープの期待されるESNは、(((最後の良好なESN)+1)モジュロ128)に等しい。トランシーバB120は、受信された各エンベロープについてCRCをチェックする。
エンベロープCRCが正しくない場合には、以下が適用される、すなわちエンベロープが廃棄される。このエンベロープについては、RESNは送信器に戻されない。最後の良好なESNは変化しない。
受信したエンベロープが正しいCRCを有し、それがヌル・エンベロープである場合には、以下が適用される。エンベロープは良好と考えられるが、RESNフィールド、RESN_validビット、及びENV_Retryビットが送信ルールに定められるように正常に処理されることを除いて、エンベロープは廃棄される。このエンベロープについては、RESNは送信器110に戻されない。最終的には、最後の良好なESNは変化しない。
受信したエンベロープが正しいCRC及び期待されるESNを有し、該エンベロープはヌル・エンベロープではないが、受信バッファ125がフルではないためにエンベロープ内の全てのペイロードを受信器120が処理できない場合には、以下が適用される。RESNフィールド、RESN_validビット、及びENV_Retryビットが送信ルールに定められるように正常に処理され、PLG3のENV_Retryビットが、送信器110への次の送出エンベロープにおいて「1」に設定され、そのエンベロープにおかれたRESNが最後の良好なESNの値を有することを除いて、エンベロープは廃棄される。送出エンベロープがない場合には、最後の良好なESN及びENV_Retryビットを戻すためにヌル・エンベロープが用いられる。これは、ENV_Retryビットが「1」に設定される唯一の事象である。言い換えれば、受信バッファがフルであるときにESNが期待されるESNとマッチしない他のエンベロープにおいては、ENV_Retryビットは「1」に設定されない。最終的には、最後の良好なESNは変化しない。
CRC及びESNの両方が正しく、エンベロープはヌル・エンベロープではなく、受信バッファ125にはデータを受信するための余地がある場合には、以下が適用される。エンベロープは良好であると考えられ、エンベロープのコンテンツはそのトランスポート層に転送される。最終的には、最後の良好なESNが歩進される(127からゼロに折り返される)。
ここで図2に移ると、参照番号200は、全体として、トランシーバA110(「送信器」)からトランシーバB120(「受信器」)への流れ図を示す。フロー210においては、ESN0のエンベロープが受信器に送られる。また、RESNを受信するためのタイマーが、送信器によって設定される。ESNパケットは、受信器によって受信され、0のRESNが送信器に送り返される。しかしながら、送信には別個の時間がかかる。その間に、送信器は、フロー220において受信器にESN1のエンベロープを送信する。次いで、フロー220と230との間で、ESN0についてのRESNが受信され、それによりタイマーがESN1について再スタートされる。フロー230においては、送信器がエンベロープ2を送信する。しかしながら、これは、受信器においては受信されない。フロー230と240との間で、エンベロープ1についてのRESNが受信され、そのためタイマーは再び再スタートされる。
フロー240において、送信器は、ESN3のエンベロープを送信する。しかしながら、受信した最後の良好なエンベロープのESNナンバー、ESN1が、ESN3である次の受信した良好なパケットに対して連続していないので、これは無視される。したがって、受信器は、CRCチェックに従って判断される際にそれが壊れているかどうかに関係なしに、ESN3パケットを無視する。同様に、フロー250において、送信器は、ESN4を送信し続ける。
しかしながら、フロー250の後に、ESN2についてのRESNタイマーが時間切れになる。タイマーが時間切れになると、種々のバッファがフラッシュされるまで送信器がアイドルになる260。システム100においては、これは72のアイドルである。受信器がエンベロープのスタートを正しく検出しなかったために(エンベロープ・スタート・インジケータにおけるエラーのために)送信エラーが起こる場合には、受信器は、エンベロープ境界と同期しないことがある。72のアイドルは、受信器にあらゆる誤った形式のエンベロープをフラッシュさせて、再試行されたエンベロープが受信器に到着したときに、誤った形式のエンベロープがエンベロープ境界の外にあることを保証する。
次いで、フロー270において、送信器は、別のデータ・エンベロープ2を受信器に再送信する。次いで、受信器は、受取通知を送信する。データフロー280において、送信器は、エンベロープ3を受信器に送信し、それは受取通知される。その間、フロー280の後に、2の受取通知RESNが送信器によって受信される。したがって、ESN2は、送信バッファ115から取り出される。フロー290において、ESN4が送信器によって受信器に送信される。その間、RESN3が送信器によって受信され、それによりESN3が送信バッファ115から削除される。
ここで図3−図4に移ると、情報エンベロープの一実施形態が図示されている。このエンベロープは、4つの異なる物理層グループ(PLG)を有する。PLGは、種々のコンポーネントを有する。例えば、第1PLG(PLGグループ0)においては、ビット0:2及び4:6が存在し、それは、このエンベロープについての7ビットESNのより低い6ビットを特定する。(ビッグ・エンディアン表記、ビット0は最も有効なビットである)
PLGグループ0のビット9−11において、PLGタイプが示される。タイプは、ヌルPLG、コマンドPLG、データ・タイプA、データ・タイプB又は予約済みとすることができる。ビット12−143は、エンベロープの実際のデータ・コンテンツである。
ビット3及び7−8は、エンベロープのスタートを定めるのに用いられるスタート・ビットである。単一のビットエラーが発生する事象においてさえもエンベロープの検出を可能にするために、3つの個別のビット(この実施形態における異なるビットレーン上の)が用いられる。受信器は、3つのスタート・ビットのうち2つが1であるときにエンベロープのスタートを検出する。
幾つかの実施形態においては、エンベロープは、図3−図4に示されるものとは異なるフォーマットでリンクにわたって送信することができ(すなわち、4サイクル×18バイト、8サイクル×9バイト、12サイクル×6バイトなど)、そのようにするときには、データの送信エラー(すなわちデータの脱落)が、送信器と受信器の同期を失わせることがある。この場合には、スタート・ビットは、送信器と受信器を再び同期させるために用いられる。
エンベロープの中のPLGグループ1においては、ESNの最も有効なビットが与えられる。PLG1のビット1−7は、RESNナンバーを含む。これは、図2において説明したのと同じRESNナンバーである。ビット8は、RESN_validフィールドである。RESN_validフィールドが設定されない場合には、受信器は、PLG1のビット1−7においてRESN値を無視するべきである。
リンクの初期化の間に、送信器は、いずれエンベロープを受信する前に、エンベロープを送信しなければならないことがある。この場合には、「最後の良好なESN」は存在しないので、送信器は、ESNのみをもつエンベロープを送信し、RESN_validは非アクティブとなる。PLGグループ2(図4)においては、ビット1−8は、このエンベロープについてのCRCコードの上位8ビットを支持する。
PLG3(図4)においては、ビット1−8は、このエンベロープについてのCRCコードの下位8ビットを支持する。PLG3はまた、ビット0におけるENV_Retryビットを有する。
ここで図5に移ると、PLGコマンドの一形態の1つの実施形態が図示されている。これは、PLG0、PLG1、PLG2など、すなわち各グループの12:143ビットからのデータ領域内で用いることができるデータの一例である。しかしながら、当業者であれば、他のコマンド・フォーマットが本発明の範囲内に包含されることを理解するであろう。
このコマンドは、同期マルチプロセッシング環境、したがってスヌープ識別子、スヌープ応答、転送情報指示において用いられるコマンドに関係するものである。しかしながら、関心ある別の値が存在する。これは、PLGデータ内のビット0:3についての「Cクレジット」値である。
「Cクレジット」又はコマンド・クレジットと示されるようなクレジットは、通常は、送信器が送信できる付加的なコマンド・ナンバーとして定義することができる。別個のコマンド及びデータ・クレジットが典型的に用いられる。送信器は、受信器によってサポートされるコマンド(及び/又はデータ)のナンバーのローカル・カウントを保つ。ローカル・カウントは、コマンド(及び/又はデータ)が送信されたときに減分され、付加的なクレジットを含むエンベロープが受信されたときに歩進される。受信器によってサポートされるコマンド及び/又はデータのローカル・カウントは、パワー・オン・リセット(POR)において初期化するか、又は受信器によりクレジットとして送信することができる。いずれの場合においても、ローカル・カウントは、普通は、コマンド・ナンバー及び/又は受信器が受信できるデータより小さいか又はそれに等しい。最良の性能のためには、受信器は、返信コマンド及び/又はデータ・パケットに送り返せるようにするために、十分なコマンド及びデータ・クレジットをサポートしなければならない。クレジット・ナンバーは、帯域幅とリンクの待ち時間の関数である。帯域幅とリンクの待ち時間が増加するのに伴って、受信器におけるバッファリングの量も増加する。ほとんどの場合、受信器のバッファの大部分は、空のままである。エンベロープ再試行ビットを用いることによって、受信器は、利用可能なバッファリングより多くのコマンド及び/又はデータがサポートされることを示すことができる。これは、投機的クレジットと呼ばれる。この場合には、送信器におけるローカル・クレジット・カウンタは、コマンド・ナンバー及び/又は受信器によってサポートされるデータより大きくすることができる。
ここで図6に移ると、タイプAデータPLGが示されている。タイプAデータは、2つの部分、すなわち、単一ヘッダ及びnデータPLGを有する。ヘッダは、サイズ、タグなどといったデータ転送を定める。ヘッダは、タイプAデータ転送のためのDタグ、Dクレジット及びDサイズを含む。次のnPLGは、エラー・インジケータと共に転送するためのデータを含む。転送ナンバー(すなわちn)は、ヘッダにおけるDサイズ・フィールドによって定められる。フルタイプAデータ・パケットを送信するために多数のエンベロープが要求される。Dクレジット・フィールドは、ここで受信することができる付加的なデータパケット・ナンバーを含む。Dクレジットは、前のパラグラフで定められたCクレジットと同様である。
ここで図7及び図8に移ると、タイプBデータPLGが図示されている。一実施形態においては、タイプBデータ・パケットは、8つのデータPLGにおいてサイズが固定され、PLG間でヘッダ情報が配布されることを除いて、タイプAデータと同様のものである。タイプBデータ・パケットを転送するために、最小で2つのエンベロープが要求される。エンベロープの第1PLGにおいてパケットがスタートしない場合には、3つのエンベロープが要求される。さらに別の実施形態においては、8つのPLGが順番に送信されるという制約は存在しないので、タイプBデータ転送は、実際には8までのエンベロープを要求する。コマンド又は他の非データPLGは、データPLG内にインターリーブすることができる。唯一の制約は、データ転送が始まると、前のデータ転送の全てのPLGが送信されるまで別のデータ転送は始まらないことである。
ここで図9に移ると、情報エンベロープを用いることができる1つの環境600が示されている。図9は、コヒーレント・デバイス610及び非コヒーレント・デバイス640に結合されたプロセッサ620を示す。ブロードバンド・プロセッサ620は、メモリ630及び635を有する。プロセッサ620をデバイス610及び640に結合するリンクは、本発明において述べられたエンベロープ構造を用いる。リンク611は、コマンド及びデータ転送におけるコヒーレント実施形態を使用し、一方、リンク641は、コマンド及びデータ転送における非コヒーレント実施形態を使用する。
しかしながら、ここで図10に移ると、情報エンベロープを用いることができる別の環境650が示されている。図10は、別のブロードバンド・プロセッサ670にコヒーレントに結合されたブロードバンド・プロセッサ680を示す。ブロードバンド・プロセッサ670はメモリ660及び665を有し、ブロードバンド・プロセッサ680はメモリ673及び676を有する。ブロードバンド・プロセッサ680は、非コヒーレント・デバイス690に結合される。本発明を実施できる2つの個別の環境が存在する。
ここで図11に移ると、参照番号700は、全体として、エンベロープを送信するための方法を示す。ステップ702において、エンベロープ順番番号が生成される。ステップ704において、エンベロープがエンベロープ順番番号と共に送信される。ステップ706において、エンベロープのコピーが送信キューにおかれる。ステップ708において、エンベロープが受信される。ステップ710において、受信器は、エラー状態が発生したかどうかを判断する。ステップ712において、返信エンベロープが生成される。ステップ712において生成された返信エンベロープは、受信器においてエラー状態が発生するかどうかを示し、受信したエンベロープ順番番号と互いに関連している返信エンベロープ順番番号をさらに含む。
ステップ714において、選択された時間内に返信エンベロープが受信されるかどうかについての判断がなされる。返信エンベロープが選択された時間内に受信される場合には、ステップ716において、エンベロープのコピーが送信キューから削除される。返信エンベロープが選択された時間内に受信されなかった場合には、ステップ718において、エンベロープのコピーが送信される。この方法は、ステップ720において、エンベロープ順番番号を歩進させ、エンベロープを再送信することによって続けられる。この方法は、ステップ722において、送信された各エンベロープについてのエンベロープ順番番号を歩進させることによって続けられる。
本発明は、多くの形態及び実施形態をとることができることが分かる。したがって、本発明の精神又は範囲から逸脱することなく、上記のことに幾つかの変形を行うことができる。ここで概説された可能性は、種々のプログラミング・モデルの可能性をもたらす。この開示は、何らかの特定のプログラミング・モデルの方が好ましいと理解されるべきではなく、これらのプログラミング・モデルを構築することができる基礎となる機構に向けられたものである。
その特定の好ましい実施形態を参照することによって本発明が説明されたが、開示された実施形態は、本質的に限定的なものではなく例示的なものであり、上記の開示においては広範な変形、修正、変更及び置換が考慮され、幾つかの場合には、他の特徴の対応する使用なしに、本発明の幾つかの特徴を用いることができることに留意されたい。多くのこうした変形及び修正は、上記の好ましい実施形態の説明を見ることに基づいて、当業者によって望ましいと考えられる。したがって、添付の請求項は、広い意味に、本発明の範囲と一致する方法で解釈されるのが適切である。
送信器から受信器にエンベロープが送信されるシステムを概略的に示す図である。 送信器から受信器へのエンベロープの流れ図である。 エンベロープの物理層グループのビット・シーケンスを示す図である。 エンベロープの物理層グループのビット・シーケンスを示す図である。 同期システムにおけるPLGコマンドの1つの形態を示す図である。 「A」型データ・グループの1つの形態を示す図である。 「B」型データ・グループの1つの形態を示す図である。 「B」型データ・グループの1つの形態を示す図である。 エンベロープと共に用いるための第1環境を示す図である。 エンベロープと共に用いるための第2環境を示す図である。 エンベロープを送信するための方法を示す図である。
符号の説明
100:エンベロープ生成・受取システム
110:トランシーバ「A」
115:送信バッファ
117:タイマー
120:トランシーバ「B」
122:CRCチェッカー
125:受信バッファ
130:リンク
140:リンク

Claims (13)

  1. エンベロープを送信する方法であって、
    送信器が、
    a)第1のエンベロープ順番番号を生成するステップと、
    b)前記第1のエンベロープ順番番号をもつエンベロープ(以下、第1のエンベロープという)受信機に送信するステップと、
    c)再試行バッファに前記送信した第1のエンベロープのコピーをおくステップと、
    d)前記第1のエンベロープ順番番号の次のエンベロープ順番番号(以下、第2のエンベロープ順番番号という)を生成するステップと、
    e)前記第2のエンベロープ順番番号をもつエンベロープ(以下、第2のエンベロープという)を送信するステップと、
    f)前記再試行バッファに前記送信した第2のエンベロープのコピーをおくステップと、
    g)前記ステップd)からe)を繰り返すステップと
    を実行し、
    前記受信器が、
    前記送信機からのエンベロープを受信するステップと、
    前記受信したエンベロープにエラー状態が発生するかどうかを判断するステップと、
    前記エラー状態が発生したかどうかを示し且つ前記送信機からのエンベロープのうち最新の順番番号と互いに関連している返信エンベロープ順番番号を持つ1つの返信エンベロープを生成するステップと
    を実行し、
    前記送信器が、再試行タイマーによって定められる選択された時間内に対応する返信エンベロープを受信しない場合には、前記再試行バッファ中のエンベロープのコピーを再送信するステップをさらに実行し、
    前記送信器が、前記1つの返信エンベロープを受信することに応じて、当該1つの返信エンベロープが持つ返信エンベロープ順番番号と互いに関連している前記最新の順番番号を含むエンベロープのコピー及びそれよりも前の順番番号を含むエンベロープのコピーを前記再試行バッファから削除するステップをさらに実行する、前記方法。
  2. 前記送信器が、前記返信エンベロープが選択された時間内に受信されなかった場合には、前記エンベロープのコピーを送信するステップをさらに実行する、請求項1に記載の方法。
  3. 前記送信器が、前記再送信されたエンベロープの次に高い順番番号をもつエンベロープのコピーを再送信するステップをさらに実行する、請求項2に記載の方法。
  4. コンピュータに、請求項1〜3のいずれか一項に記載の方法の各ステップを実行させるコンピュータ・プログラム。
  5. エンベロープを送信し、エンベロープを返信するためのシステムであって、
    送信器が、
    a)第1のエンベロープ順番番号を生成すること、
    b)前記第1のエンベロープ順番番号をもつエンベロープ(以下、第1のエンベロープという)を受信機に送信すること、
    c)再試行バッファに前記送信した第1のエンベロープのコピーをおくことと、
    d)前記第1のエンベロープ順番番号の次のエンベロープ順番番号(以下、第2のエンベロープ順番番号という)を生成すること、
    e)前記第2のエンベロープ順番番号をもつエンベロープ(以下、第2のエンベロープという)を送信すること、
    f)前記再試行バッファに前記送信した第2のエンベロープのコピーをおくこと、
    g)前記ステップd)からe)を繰り返すことと
    を実行し、
    前記受信器が、
    前記送信機からのエンベロープを受信すること、
    前記受信したエンベロープにエラー状態が発生するかどうかを判断すること、
    前記エラー状態が発生したかどうかを示し且つ前記送信機からのエンベロープのうち最新の順番番号と互いに関連している返信エンベロープ順番番号を持つ1つの返信エンベロープを生成すること
    を実行し、
    前記送信器が、再試行タイマーによって定められる選択された時間内に対応する返信エンベロープを受信しない場合には、前記再試行バッファ中のエンベロープのコピーを再送信することをさらに実行し、
    前記送信器が、前記1つの返信エンベロープを受信することに応じて、当該1つの返信エンベロープが持つ返信エンベロープ順番番号と互いに関連している前記最新の順番番号を含むエンベロープのコピー及びそれよりも前の順番番号を含むエンベロープのコピーを前記再試行バッファから削除することをさらに実行する、前記システム。
  6. 前記送信器が、前記返信エンベロープが選択された時間内に受信されなかった場合には、前記エンベロープのコピーを再送信することをさらに実行する、請求項5に記載のシステム。
  7. 前記送信器が、前記再送信されたエンベロープの次に高い順番番号をもつエンベロープのコピーを再送信することをさらに実行する、請求項6に記載のシステム。
  8. エンベロープを送信する方法であって、
    所与のエンベロープを生成するステップであって、当該所与のエンベロープは最新の有効な返信エンベロープ順番番号の後である所与のエンベロープ順番番号を有する、前記生成するステップと、
    前記所与のエンベロープを受信機に送信するステップと、
    前記所与のエンベロープを再試行バッファにコピーするステップと、
    少なくとも1つの次のエンベロープを前記受信機に送信するステップであって、当該少なくとも1つの次のエンベロープのそれぞれは、連続的に歩進するエンベロープ順番番号を有する、前記送信するステップと、
    前記少なくとも1つの次のエンベロープを前記再試行バッファにコピーするステップと、
    前記受信機から返信エンベロープを受信するステップであって、当該返信エンベロープは現在の返信エンベロープ順番番号を有し、当該現在の返信エンベロープ順番番号は前記受信機で成功裡に且つ連続的に受信された最新のエンベロープに対応し、当該現在の返信エンベロープ順番番号は前記最後の有効な返信エンベロープ順番番号の後であり、当該所与のエンベロープ順番番号は前記最新の有効な返信エンベロープ順番番号と前記現在の返信エンベロープ順番番号との間にあり、当該返信エンベロープ順番番号は1以上の物理層グループを含み、当該1以上の物理層グループのそれぞれはある予め定められたクライテリアに合う個々の情報パケットであり、1以上の物理層グループ内の所与の物理層グループはクレジット値を含む、前記受信するステップと、
    前記クレジット値に基づいてローカル・クレジット・カウントを歩進するステップと、
    前記返信エンベロープが再試行タイマーの有効期限前に受信されたこと、当該返信エンベロープについての返信エンベロープ順番番号有効ビットが設定されていること、及び前記現在の返信エンベロープ順番番号が前記最新の有効な返信エンベロープ順番番号よりも連続的に後であることに応答して、前記所与のエンベロープ、並びに当該所与のエンベロープまでのエンベロープ順番番号を有し且つ現在の返信エンベロープ順番番号を含む各エンベロープを前記返信バッファから削除するステップと
    を含み、
    前記ローカル・クレジット・カウントを歩進することに応じて前記ローカル・クレジット・カウントが前記受信機によってサポートされるコマンド又はデータ・パケットの数よりも多くなるように、前記クレジット値が投機的クレジットを割り当てられる、前記方法。
  9. 前記所与のエンベロープは4つの物理層グループを含む、請求項8に記載の方法。
  10. 前記所与のエンベロープを前記受信器に送信することに応じて、前記ローカル・クレジット・カウントを減分する、請求項8に記載の方法。
  11. 前記クレジット値がコマンド・クレジット値又はデータ・クレジット値を含む、請求項8に記載の方法。
  12. 前記所与のエンベロープが選択された期限内に前記受信機によって受信されないことに応じて、前記所与のエンベロープの前記コピーを前記受信機に再送信するステップをさらに含む、請求項8に記載の方法。
  13. エンベロープの少なくとも1つのコピーが前記再試行バッファ中に残っていることに応じて、前記再試行タイマーを再開始するステップをさらに含む、請求項8に記載の方法。
JP2005271199A 2004-09-16 2005-09-16 ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア Expired - Fee Related JP4807828B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/942422 2004-09-16
US10/942,422 US7975064B2 (en) 2004-09-16 2004-09-16 Envelope packet architecture for broadband engine

Publications (3)

Publication Number Publication Date
JP2006087124A JP2006087124A (ja) 2006-03-30
JP2006087124A5 JP2006087124A5 (ja) 2008-08-21
JP4807828B2 true JP4807828B2 (ja) 2011-11-02

Family

ID=36035407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005271199A Expired - Fee Related JP4807828B2 (ja) 2004-09-16 2005-09-16 ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア

Country Status (3)

Country Link
US (1) US7975064B2 (ja)
JP (1) JP4807828B2 (ja)
CN (1) CN1750449A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975064B2 (en) * 2004-09-16 2011-07-05 International Business Machines Corporation Envelope packet architecture for broadband engine
JP4575265B2 (ja) * 2005-09-29 2010-11-04 株式会社東芝 無線通信装置
US20090077274A1 (en) * 2007-09-19 2009-03-19 Advanced Micro Devices Multi-Priority Communication in a Differential Serial Communication Link
US10061734B2 (en) * 2015-05-20 2018-08-28 International Business Machines Corporation Adjustment of buffer credits and other parameters in a startup phase of communications between a plurality of channels and a control unit
US9864716B2 (en) 2015-05-20 2018-01-09 International Business Machines Corporation Receiving buffer credits by a plurality of channels of one or more host computational devices for transmitting data to a control unit
US9892065B2 (en) 2015-05-20 2018-02-13 International Business Machines Corporation Adjustments of buffer credits for optimizing the number of retry operations and transfer ready operations

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449182A (en) * 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems
JPH0244936A (ja) 1988-08-05 1990-02-14 Nec Corp データ伝送制御方式
JPH05110542A (ja) 1991-10-16 1993-04-30 Nec Corp データ伝送方式
US5278834A (en) * 1992-05-26 1994-01-11 Alcatel Network Systems, Inc. Method for implementing a data communication protocol stack
JPH07297810A (ja) 1994-04-22 1995-11-10 Stanley Electric Co Ltd データ伝送装置
JPH09510596A (ja) * 1994-06-08 1997-10-21 エイチイー・ホールディングス・インコーポレーテッド・ディー ビーエー・ヒューズ・エレクトロニクス ハイブリッドネットワークアクセスのための装置および方法
US6701370B1 (en) * 1994-06-08 2004-03-02 Hughes Electronics Corporation Network system with TCP/IP protocol spoofing
JP3243678B2 (ja) 1994-07-20 2002-01-07 日本電気エンジニアリング株式会社 レイヤ2レベルのリンク確立方式
US6185197B1 (en) * 1995-06-02 2001-02-06 Airspan Networks, Inc. Control message transmission in telecommunications systems
US6175560B1 (en) * 1995-06-02 2001-01-16 Airspan Networks, Inc. Apparatus and method of establishing and maintaining communication paths in a wireless telecommunications system
US6622182B1 (en) * 1996-09-08 2003-09-16 Silicon Graphics, Inc. Upstream situated apparatus and method for providing high bandwidth data flow control to an input/output unit
CA2216980C (en) * 1996-10-04 2001-09-25 Hitachi, Ltd. Communication method
US6490251B2 (en) * 1997-04-14 2002-12-03 Nortel Networks Limited Method and apparatus for communicating congestion information among different protocol layers between networks
US20050058149A1 (en) * 1998-08-19 2005-03-17 Howe Wayne Richard Time-scheduled and time-reservation packet switching
US20020133620A1 (en) * 1999-05-24 2002-09-19 Krause Michael R. Access control in a network system
US7453878B1 (en) * 2000-07-21 2008-11-18 Silicon Graphics, Inc. System and method for ordering of data transferred over multiple channels
US7200111B2 (en) * 2000-08-31 2007-04-03 The Regents Of The University Of California Method for improving TCP performance over wireless links
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
US6901593B2 (en) * 2001-05-08 2005-05-31 Nortel Networks Limited Active queue management with flow proportional buffering
US6999441B2 (en) * 2001-06-27 2006-02-14 Ricochet Networks, Inc. Method and apparatus for contention management in a radio-based packet network
US7218608B1 (en) * 2001-08-02 2007-05-15 Cisco Technology, Inc. Random early detection algorithm using an indicator bit to detect congestion in a computer network
US20030123394A1 (en) * 2001-11-13 2003-07-03 Ems Technologies, Inc. Flow control between performance enhancing proxies over variable bandwidth split links
US7181485B1 (en) * 2001-11-26 2007-02-20 Integrated Device Technology, Inc. Variably delayable transmission of packets between independently clocked source, intermediate, and destination circuits while maintaining orderly and timely processing in one or both of the intermediate and destination circuits
US7567570B2 (en) * 2002-03-19 2009-07-28 Network Equipment Technologies, Inc. Reliable transport of TDM data streams over packet networks
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US20030212793A1 (en) * 2002-05-13 2003-11-13 Vineet Kumar Method and apparatus for group reception and fault-tolerant group transmission of frames in network
AU2003259441A1 (en) * 2002-09-10 2004-04-30 Koninklijke Philips Electronics N.V. Real-time retry limit - a system and method to maximize throughput and minimize packet loss of wireless local area networks
JP2004139565A (ja) 2002-09-19 2004-05-13 Ricoh Co Ltd 通信方法
US7712006B1 (en) * 2002-12-04 2010-05-04 Silicon Graphics International System and method for conveying information
US7447794B1 (en) * 2002-12-04 2008-11-04 Silicon Graphics, Inc. System and method for conveying information
JP2004246691A (ja) 2003-02-14 2004-09-02 Canon Inc 電子メール配送システム
US6965564B2 (en) * 2003-02-14 2005-11-15 America Online, Inc. Wireless datagram transaction protocol system
JP4080911B2 (ja) * 2003-02-21 2008-04-23 株式会社日立製作所 帯域監視装置
US7539748B2 (en) * 2003-05-16 2009-05-26 Time Warner Cable, A Division Of Time Warner Entertainment Company, L.P. Data transfer application monitor and controller
US7283814B2 (en) * 2003-07-31 2007-10-16 Lucent Technologies Inc. Method and apparatus for scheduling transmissions in wireless data networks
US7385923B2 (en) * 2003-08-14 2008-06-10 International Business Machines Corporation Method, system and article for improved TCP performance during packet reordering
US7382733B2 (en) * 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
US7609697B2 (en) * 2004-03-30 2009-10-27 Sony Corporation Optimizing IEEE 802.11 for TCP/IP data transfer
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7975064B2 (en) * 2004-09-16 2011-07-05 International Business Machines Corporation Envelope packet architecture for broadband engine
US20050195849A1 (en) * 2005-03-03 2005-09-08 Amol Rajkotia Early termination of low data rate traffic in a wireless network
US7787367B2 (en) * 2006-05-23 2010-08-31 International Business Machines Corporation Method and a system for flow control in a communication network
US7855954B2 (en) * 2008-07-21 2010-12-21 International Business Machines Corporation Speculative credit data flow control

Also Published As

Publication number Publication date
US7975064B2 (en) 2011-07-05
JP2006087124A (ja) 2006-03-30
US20060059273A1 (en) 2006-03-16
CN1750449A (zh) 2006-03-22

Similar Documents

Publication Publication Date Title
CN109936510B (zh) 多路径rdma传输
US6545981B1 (en) System and method for implementing error detection and recovery in a system area network
US7904576B2 (en) Reliable datagram via independent source destination resources
US7171484B1 (en) Reliable datagram transport service
US5754754A (en) Transmission order based selective repeat data transmission error recovery system and method
US7991875B2 (en) Link level retry scheme
JP2707529B2 (ja) データ通信システム
US6389016B1 (en) Data communication system and method for transporting data
US8402343B2 (en) Reliable packet cut-through
JP4985565B2 (ja) 送受信回路、受信回路及び送受信回路の制御方法
US6615383B1 (en) System and method for message transmission between network nodes connected by parallel links
US6393023B1 (en) System and method for acknowledging receipt of messages within a packet based communication network
KR100812412B1 (ko) 데이터 패킷 전송 방법 및 네트워크 통신 시스템
JP2004180295A (ja) 通信デバイスのモジュール間で伝送された喪失メッセージを検出するためのシステムおよび方法
KR101283482B1 (ko) Pci 익스프레스 프로토콜 처리 장치
US6640325B1 (en) Immediate negative acknowledgement for a communication network
WO2000072159A1 (en) Reliable datagram
JPH11143845A (ja) ネットワークノード間のメッセージ送信用システム及び方法
JP4807828B2 (ja) ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア
US8578223B2 (en) Method and apparatus of managing retransmissions in a wireless communication network
US8381057B2 (en) Seamless change of retransmission and rescheduling queues in a communication system
US20120106344A1 (en) Data communication acknowledgement in a network
JP2003198516A (ja) マイクロパケットの欠落を検出する方法およびシステム
US20020138790A1 (en) Apparatus and method for managing errors on a point-to-point interconnect
WO2024169301A1 (zh) 数据重传方法、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101130

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101130

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101130

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110802

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110812

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees