JPH05502362A - パケットデータ通信システムにおけるシーケンス番号の追跡方法及び装置 - Google Patents

パケットデータ通信システムにおけるシーケンス番号の追跡方法及び装置

Info

Publication number
JPH05502362A
JPH05502362A JP4506648A JP50664892A JPH05502362A JP H05502362 A JPH05502362 A JP H05502362A JP 4506648 A JP4506648 A JP 4506648A JP 50664892 A JP50664892 A JP 50664892A JP H05502362 A JPH05502362 A JP H05502362A
Authority
JP
Japan
Prior art keywords
message
bitmap
sequence number
bits
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.)
Pending
Application number
JP4506648A
Other languages
English (en)
Inventor
トーマス ロバート イー
ヴァーゲス ジョージ
スーザ ロバート ジェイ
ハーヴィー ジョージ エイ
Original Assignee
ディジタル イクイプメント コーポレイション
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 ディジタル イクイプメント コーポレイション filed Critical ディジタル イクイプメント コーポレイション
Publication of JPH05502362A publication Critical patent/JPH05502362A/ja
Pending legal-status Critical Current

Links

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/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の名称 バケットデータ通信システムにお1:Iるシーケンス番号の追跡方法及び装置発 明の背景 本発明は、バケットデータ通信システム、更に言えば、通信システムにおいて、 メンセージバケットを識別するために使用されるノーケンス番号の追跡方法に関 する。
データ通信ネットワークでは、通常、メソセージを小さなバケットに分割し、使 用する通信プロトコルに適合させる。ネッ)・ワークのデジタル処理ステー73 2間における典型的なメソセージトラフィックでは、平均的な大きさのメツセー ジか多数のバケットに分割され、このバケノ)・集合はその受信端において、適 切な順番で再構築されなければならない。更(−1その送信リンクで、いづわか のバケットか喪失されなかったか、あるいは、いづれかのバケットか重複しなか ったかどうかを、全てのバケノ1−に関1.て、その受信を調査しなけねばなら ない。このようなシステムてバケットを追跡するため、その送信端におけるある 時へ(こおいて、バケットに対してノーケンス番号か割り当てらねる。バケット に対するノーケンス番号の割当は、ホストコンピュータ若しくは送信端末、ある いはまた、ホスト下流のプロトコルプロセッサのいづれかによって行われるっ受 信端において、プロセッサは二ねらのシーケンス番号を絶えず追跡し、入力され て、:るバケノ)・をノーケンス番号によって互いに関連させる。この仕事は、 多数空間(例えは、32ヒノ)・のノーケンス番号)において、ノーケンス番号 を絶えず追跡するものであるため、通信ネットワークにおいて、バケットか重複 し、若しくは喪失したと15でも、個々のノーケンス番号に関する(実行か必要 と5ねる)操作は、正確に行われる。
このような状況にあって、ノーケンス番号を絶えず追跡するという問題を軒決す るために2つの異なる方法が存在していた。これら2つの方法は共に、本明細書 で述べるのと同様に、基本シーケンス番号(以下に述べるように、b a s  e Seq#)を保持するか、任意の装置でインクリメント(incremen t)される。第1の代替方法は、でたらめな順番で到達するシーケンス番号に関 して、その整列リストを保持する方法である。新しい番号か正しい順番で到達し たとき(つまり、baseSeq#と整合したとき)は、常に、関連する作業か 実行される。この作業は非常に実効的である。しかしながら、ネットワークに対 する再指令、若[7くは従前のバケットの喪失により、でたらめな順番でシーケ ンス番号か到達した場合には、重複を検出し、また番号をリストに正しい順序で 挿入しなければならない。このために、大きな番号空間か用いられると、その作 業は非実効的なものどなってしまう。このように、この段階における局部の処理 量は、シーケンス番号の到達順序の影響を非常に受けやすい。通信ネットワーク における再指令か共通する場合にこれは非常に非実効的である。また、この方法 に特有のループにより、ハードウェア実行か困難なものとされる。
従来用いられた第2の方法は、ハソンングを用いて第1の代替方法に改善を加え 、線型走査の平均的な処理コストを一定値まで減少させようというものである。
不幸にも、最悪の場合には、未だに、整列かなされていない場合の最大量に比例 する。更に、最悪の場合、発生か頻繁であると、それを吸収するために利用でき るバッファリング(buffering)も不十分となってしまい、この方法て ノ\−トウエアを実行することも不適当なものとなる。このようなバッファリン グか重要であり、あるいは、バッファリングかオーバーフローしないことか保証 されなければならない場合には、最悪時における性能が本発明よりも劣るような 全ての方法に比へて、本明細書に記載された方法は優れている。
従来方法では、バケットデータ通信システムのシーケンス番号を追跡するために 、受信機による不必要な処理量力殖Iとされ、また、他ては必要とされないよう なバッファリング形態を有する付加的なハードウェアか必要であった。本発明は 、ハードウェアの負担、及び/又は、処理の負担を減少させ、更に、シーケンス 番号の高速且つ信頼性のあるブックキーピング(bookkeeping)を可 能とするこ発明の概要 本発明によれば、シーケンス番号を追跡するための改善さねた追跡方法か提供さ れる。この方法は、データ通信ネットワークにおいて、バケット番号を付けるた めに用いられる。この方法では、境界定めされたシーケンス番号の受入れウィン ドつか仮定され、このウィンドウ以下若しくは以上の番号は無視される(受は取 られない)。ビットマツプ形態のデータ構造か、ノーケンス番号の境界定めされ たウィンドつの範囲て確立され、各ビットは、シーケンス番号と、このノーケン ス番号によって索引か付されたビットマツプを表す。より好ましくは、ヒツトマ ツプの行の大きさは、プロセッサのデータバスの幅と関連するようにして選択さ れる。作り出されるヒツトマツプの1つは、受は取られたバケットに対するマツ プである。このマツプは、とのソーケンス番号か受け取られているかを追跡する ために使用され、これによって、重複したシーケンス番号か除去されることにな る。取り分け、ウィンドウだけに影響されるという理由か1ら、ノーケンス番号 自体を記録した場合よりも、より実効的にピントマツプを調査することかできる 。
重複したシーケンス番号を検出するのと同様に、この方法を用いて、メツセージ の完成を膚認する場合には、メツセージ終了マツプと呼ばわる他のヒツトマツプ か構築される。このビットマツプは、メソセージ終了フラグを持つバケット位置 を記録するために使用され、ある特定のメツセージに関して全ての/ <チット か受け取られたかどうかを決定し、メツセージ終了トリガを発生することかでき る。
人力された個々のバケットからのシーケンス番号及びメツセージ終了フラグを用 いて、2つのビットマツプを更新する。各々のバケツl−か受け取られると、必 要な動作を決定するために、更新されたビットマツプか使用される。受は取られ たパケットマツプ行の全てのビットか設定されると、基本行ポインタか増加され 、受入れウィンドウか進められる。
受は取られたバケソhマツプの現在の行において、対応するメソセージ終了ヒツ トか設定さねている最小のビット番号まで、全てのビットか設定されているかど うかに着目することによって、メツセージの完成か検出され且つ示される。各行 における最小のメツセージ終了ビットの値(列アドレス)であるような、他のデ ータ構造を保持することかできる。新しいバケットか受け取られる毎に、メンセ ージ終了ビットマツプの値を発見する代わりにこのデータ構造を使用することか てきる。
メソセージか完成したときに、メツで−ジ終了マツプのビットをメソセージか完 了したところまて0とすることによってデータ構造を更新するような、池の特徴 を付は加えることかできる。ブックキーピングの1つの方法は、メツセージ終了 マツプを構成するためにループを用いるものであり、受信機か処理能力を有する 場合、つまり、ローカルプロセッサである場合にこれは有用である。しかしなか ら、ハートワイヤトロシックの実行においては、同一の汎用方法か、ループの代 わりにテーブルルックアップを用いた実施例で達成される。この第2の実施例は 階層的な方法であり、ここでは付加的なデータ構造か用いられる。受信されデこ バケットの概要と、メソセージ終了の概要か付加される。これらは「より高い」 レベルのビットマツプである。どちらの実施例においても、計算負荷はその実行 における最小の負荷てあり、高性能に対してもスピードは適切である。
図面の簡単な説明 本発明の特徴と思われる新規な特性については、特許請求の範囲に述へられてい る。しかしながら、他の特徴及び利屯と同様に、本発明それ自体を、以下に述へ る実施例の詳細な記述を参照し、また添付図面と共に読むことによって、よりよ く理解てきるであろう。
第1図は、本発明で使用するバケットデータ通信システムのプロ・ツク図である 。
第2図は、第1図のシステムて使用可能なバケット形態の一実施例を示す図であ る。
第3図は、本発明の方法を実行するための装置例である第1図のシステムのノー トの1つをブロック形感で示した電気図である。
第4図は、本発明の方法で用いられるノーケンス番号受入れウィンドウの一例を 示す図である。
第5図は、本発明の方法の1つの実行で用いられるデータ構造を示す図てあ第6 図は、本発明の一実施例によるシーケンス番号のブックキーピング方法を論理的 に示したフローチャートである。
第7図は、階層的(自由ループ)方法を用いた本発明の代替例によるシーケンス 番号のブックキーピング方法を、論理的に示したフローチャートである。
第8図は、第7図の方法で使用されるテーブルの初期化用手続きを掲載したソー スコードである。
実施例 第1図は、本発明の技術を利用できる通信ネットワーク10の一形聾を示す。
このネットワークは、一般には、従来と同し構造であり、また従来と同し動作を 行なうか、本発明の概念を使用することかできるシステム形懇の一例として示し たものである。このシステムは、一対のノード1L12間に通信ネットワーク1 0を備える。ネットワークに接続されたノードは、おそらく何戸、何千と存在す るであろうと理解される。これらのノート11及び12は、システムによって送 信されるメツセージの発生地及び目的地として機能するようなホストコンピュー タ若しくは端末であり、大抵は、ネットワークプロトフルの実行及び、ネットワ ークに対する物理接続13若しくは14を行なうために、他の設備に対するアダ プターを有するだろう。幾つかの場合には、プロトコルをホストコンピュータ自 身で実行することもてきるか、この仕事はプロトコルプロセッサに任せることも できる。ネットワーク10は、中間ノート16を含めて、多数のリンクを含む。
これらのリンク15の幾つかは、普通はトランク設備(trunk facil ities)てあり、何戸、何千という別々のチャンネル若しくはメツセージを 同時に送信し、また時分割で送信することかできる。リンク15は、従来のワイ ヤと同様に、マイクロ波若しくは衛星リン入光ファイバリンクを備えていてもよ い。ネットワーク10は、局部的なものでもよいし、また何戸、何千マイルにも 広がるものてもよい。
第1図に示した通信ネットワーク10ては、ノート11からノート12に送信さ れるメツセージに関して代替バスか存在するため、所定メツセージのパケットは 、発生地のノード11から目的地のノード12まて、リンク15によって示され た別々の道によって送信されてもよい。ネットワークトラフィックは、ネットワ ークの種々のリンクを、その瞬間毎の混雑の具合に従って、利用可能なバンド幅 を持つバスによって発送される。この結果、多数のパケットを持つメツセージは 、種々のリンクによって発送されたパケットを有するため、バスにおける異なる 遅延により、それらのパケットはでたらめな順序で目的地に到達するであろう。
第2図を参照すれば明かなように、1つのメツセージは、他の発生地から他の目 的地に向けられた他の多くのメツセージと同しメツセージ流れ21において、パ ケット20の列として、ネットワークlOで(リンク10の各々に沿って)実行 される。メツセージのパケット20は、連続的且つ一群どしてリンクISに送達 されてもよいか、通常は、池のメツセージのパケットの混合されて、種々の発生 地から種々の目的地に送達される。メツセージバケット20は、実行されるプロ トコルや送信メカニズムに従って、種々の形態とすることかできるか51個々の パケット20は通常、ある1つの特定の通信に関して定義されたシーケンスの1 つとしてこのパケットを識別するメツセージID22、バーチャルチャンネル( virtual channel)若しくは、メツセージを定義するための他の カテゴリーを含むであろう。パケットは、送信端(例えば、ノード11において )のプロセッサによって選択されたシーケンス番号23を含み、このシーケンス 番号によって、このパケットかメツセージ内のどの位置のパケットであるかが識 別される。例えば、この完全なメツセージか32ピツI・である場合、また個々 のパケット20か、そのデータフィールド24で512ビツトを運搬する場合に は、例えば00〜63という64個のシーケンス番号か、メツセージ送信に必要 とされる64個のパケット20に配置される。典型的な実施例では、シーケンス 番号は32ピツI・フィールドであるため、そのシーケンス番号は、0〜232  tというシーケンスまで増える。更に、パケット20は、通常行われているよ うに、エラーチェック用のCRCフィールド25を含む。通常、データフィール ドは、このパケットがメツセージの最後のパケットであるときにたけ「1」に設 定されるようなEOM。
若しくはエンド・オブ・メツセージフラグを含む。EOMフラグは、メツセージ の最後の1つ以外は、全てのパケットに関して0とされる。
第3図を参照すれば明かなように、ノード11若しくは12の構成には、例えば 、送信及び受信ライン、若しくはリンク13のチャンネル28及び29に接続さ れた送信機27及び受信機28が含まれる。送信及び受信バッファメモリ装置3 0及び31は、第2図に示されているようなデータ流れ21を送信の前後に保持 しており、コントローラ32は、これらのバッファにアクセスし、使用されるプ ロトコルに従ってそのメツセージパケット及びメツセージ流れを形成する。コン トローラ32は、送信機及び受信機27及び26の動作、バッファ30及び31 の負荷も管理する。コントローラ32は、マイクロプロセッサでもよく、あるい は、例えばハードワイヤドロシック(hardwired logic)てもよ い。メモリ33は、もしそれかマイクロプロセッサ型であれば、プログラム及び データに関してコントローラによってアクセスされるであろうし、もしコントロ ーラかノ\−トウエア皇てあれば、テーブルルックアップに関してデータを保持 することもてきる。本発明による方法て使用されるシーケンス番号23は、ホス トコンピュータ端末17によって、また、上流のプロトコルプロセッサのコント ローラによって、あるいはある中間点において、使用されるシステムタイプ及び 実行されるプロトコルタイプに基づいて割り当てられるであろう。よって、以下 に述へる本発明による方法は、受信設備において作動するものであり、これらの ノーケンス番号は、上流の送信設備によって割り当てられると仮定する。
本発明によれば、通信リンクの受信端においてシーケンス番号23を絶えず追跡 するだめの2つの方法か存在する。これら2つの方法は共に、喪失され若しくは 再指令されt:フl/−ム、若しくはパケットを処理しなければならない輸送通 信プロトコル(transport communication proto col、s) 、及び/又は、データリンクの性能向上のために使用することか できる。これらの方法は、ソフトウェア若しくはハードウェアのいずれによって も実行することか可能である。
解決すべき基本的な問題は、非常に多数の空間(例えば222より大きなもの) において、シーケンス番号を絶えず追跡することである。シーケンス番号23に 対しては大きな数か使用されるため、パケットがネットワーク内で生きているこ とかできる時間内で重複して割り当てられることはない。本発明で述べる方法は 、パケットのシーケンス番号を絶えず追跡するため、発生地17と目的地18の 間の通信ネットワーク20でパケットか重複し、若しくは喪失されたとしても、 そのようなことに係わらず、(例えば、パケット20か送信された正しい順番で 、パケット20を輸送ユーザ17若しくは18に送信するよう〉個々のシーケン ス番号に関連する仕事は正確に一回たけ実行される。関連する仕事か一度以上実 行されると、情報に誤りか生じ、システムの後の動作に誤りか生じることかある 。
イネーブル状態か存在する場合に、仕事か実行されなければ、やはりシステム動 作に誤りか生しる。
第1図のような通信ネットワーク環境では、32ビットのシーケンス番号23か 各パケット20ど関連している。これらのパケットは、ネットワーク内て喪失さ れ、若しくは重複することかあるか、シーケンス番号を実効的に、つまり、)\ −トウエア、ソフトウェア、及び/又は、計算資源に不必要な出費をすることな く、絶えず追跡することか要求される。0〜P2 1に及ぶ32ビット数に関し て調査を行うための計算用コストは非常に負担となる。
シーケンス番号を絶えず追跡する方法として、本発明では2つの方法を開示した 。本発明によるこれら2つの方法は非常に関連しているか、それらの方法はいづ れも、非常に良好な平均値及び最悪時の性能を備えている。とちらも、ソフトウ ェア若しくはハードウェアのいづれによっても実行することか可能である。しか しながら、第1の方法では、ソフトウェアの実行に適したものとされており、ま た、シーケンス番号の到達速度における差異の除去、及びシーケンス番号の処理 のために、(例えば、受信バッファ31の)バッファリングを使用すると仮定し ている。実際、現在行われているシーケンス番号追跡では、全ての場合において 、通常は上のように仮定されている。
第2の方法は、非常に良好なi&悪処理時間を有するものにされている。この方 法は、階層的方法と呼ばれる。なぜなら、この階層的方法では、第1の方法に対 して最悪性能を減少させるよう、階層的なデータ構造を用いているためである。
これ以外にも何らかのスピード整合用バッファリング(speed隠tchin g bufferiH)が必要となる場合かあるが、このような場合にも、この 階層的方法は重要である。
スピード整合用バッファリングか非常に重要な例として、シーケンス番号追跡の 最適なVLS I実行かある。
本発明の方法では、第4図に示されるように、所定時間において受け入れるシー ケンス番号の境界か設定される。このため、受入れウィンドウ4oが定義される 。シーケンス番号のブロック、若Iバは集合4Iは、ノーケンス番号空間のウィ ンドウ40に示されており、個々のブロック、若しくは集合(以下、1行(ro w)」 と呼ぶ)は、この実施例では、第2図の32ピツI・のノーケンス番号 23に対応するビットを含んでいる。ウィンドウ40て最も小さいシーケンス番 号(基本)は、r基本ノーケンス番号」若しくは、baseSeq#43を示し ており、これは可変とされている。baseSeq#43以下の全てのシーケン ス番号は、既に受け入れられ、且つ処理されているシーケンス番号を示してし・ る。
このため、これらのノーケンス番号は、重複(duplicates)と呼ばれ 、将来的には常に無視される。これらの番号状態を含むに、この方法のデータ構 造では十分でないため、ウィンドウ40以」−のシーケンス番号もまた無視され なければならない。第1図に示すような通信ネットワークを用いる場合、ウィン ドつ4o以上のこれらのノーケンス番号は、ベシミステノイクフロー制@ (p essimistic flowcontrol)を用いることにより、通常の 動作では現れないようなものとすることかできる。例えば、ウィンドウ40の大 きさによって決定さねブ:番号以降のバケット20を、もうそれ以上、ノードj 3若しくは+7か送信しないように、例えばフロー制画信号か発生される。又、 ノーケンス番号が現ねることはあるが、そのシーケンス番号かウィンドウ40の 範囲内に存在するようになるまでは、送信機17か再試行するであろうことを知 ることにより、それらのノー1rンス番号を安全に省略することができる。
以下に述△、るように、データ構造に対してとの位の量のメモリを割り当てらね るかにもよるか、例えばウィンドウ40に対して、ノーケンス番号の許容値に関 する境界を設定する(例えば、128ノ一ケンス番号)ことにより、比較的多量 のてたらめな順序の実行を許容するような実際的且つ実効的な方法か提供される 。
第4図のウィンドつ40の範囲に存在するノーケンス番号は、本発明の一実施例 の方法に従って、第5図に示されているデータ構造に関連して処理される。この 実施例ては、1281TIflのノーケンス番号、即ち、32ピントか4行存在 するウィンドウを用いており、このウィン)・つに関して、recPktNia pど呼はれるビットマツプ44が、円形バッフ y (circular bu ffer)の形で、32ビー/ l□輻、4列の深さで、メモリに定義されてい る(例えば、メモリ33のバッファ31)。
baseRowポインタ45と呼ばれる値は、recPktMap44における 今現在の行を指している。同一の大きさ及び形の対応するビットマツプ46か定 義される。このビットマツプ46は、メソセージ終了ピノ(・を記憶し、end 。
fMsgMapと呼ばれている。ビットマツプ46は、メツセージ終了トリガを 発生するために用いられる。
本明細書て記述した2つの方法は、第6図及び7図のフローチャートで示されて いる。これらの方法(第6図及び第7図)は共に、全てのビットマツプを0に初 期化した状態で開始される。ピッj・マツプの各行のビット位置は、OからS  I Z eOf Row l (即ち、この例では0〜31)の数か割り振られ ている。
baseSeq#の値は、使用されるであろう最初のノーケンス番号に設定され 、本明細書の目的からすれば、0に設定されることになる。シーケンス番号は、 幾つかの他のエンティティにより、baseseq#で始まるシーケンスとして 割り当てられると仮定されている。更に、これらのシーケンス番号は、重複によ ってでたらめな順番となってしまった以下の方法の1って用いられると仮定され ている。しかしながら、結局は、この方法は、全てのシーケンス番号に用いられ る。
SizeOfRowは、なんらかの便利な正の整数である。これらの方法では、 1〜256までの様々な値か用いられることになっているか1、二の数は、実行 マンーンのワードサイズの2乗とするのか最も便利であろう。第6図の第1の方 法のnumofRowsに関しても同様である。第7図の階層的方法に関しては 、numOfRowsか2の累乗と仮定されている。
これらの方法は共に、完全な「メツセージjに対してトリガを与えるのに必要と されるデータ構造及び処理も備えている。メソセージは通信輸送プロトフルにた びたび適用されるため、上て述へたように、基本的な通信レイヤ(つまり、「バ ケット」ンによって支持されるものよりも、より大きなtill報のユニツト( つまり、 「メツセージ」〉を通信することかできる。
本発明の方法て用いるメツセージは、1組の連続する一連の番号を備え、EOM フラグによって池のノーケンス番号(他のメソセージ)から、境界を引かれた多 数のバケットである。個々のシーケンス番号は、そわにr3ji連したEOMフ ラグを有しているが、メソセージの最後のバケットのEOMフラグだけか「1」 に設定さね、先行する全てのフラグはOに設定されている。例えば、メソセージ 終了ビット0000010000101は1.ピッ)・マツプ46に現れるであ ろう3つのメソセージを示す。第1のメツセージは6つのノーケンス番号からな り、第2のメソセージは5つのシーケンス番号を備え、第3のそわはたった2つ のシーケンス番号を備える。メツセージは、受信端において、そわらのバケット かてたらめな順番で到着する結果、てたらめな順番で完成される。このため、そ れらのシーケンス番号は、ビットマツプ44.46中にてたらめな順番でエンタ ーされることになる。しかしながら、一般には、このシーケンス番号追跡方法に よって、ユーザに対しては、ノーケンス番号か増加するような順番として完全な メソセージたけか通知されることか望まれる。このため、メソセージ#2か、メ ソセージ#1の最後のバケソ)・の前に受け取られた場合には、ユーザには通知 されず、その代わり、#1の最後のバケットか受け取られたときに、この場合に は2つのメツセージに関して5メツセ一ジ完成信号か与えられる。
メツセージ終了処理か、第6図及び第7図の方法に示されている。これらの図は 、この共通の機能か、これら2つの方法によって、容易に達成され得ることを示 している。メソセージ終了処理の出力は’m sg COm p I e te  J と呼ばれるヒソ1へてあり、このビットは、現在のシーケンス番号か、1 つの(若しくは、それ以上の)メソセージを完成させたことを示している。それ は完成されたメツセージの番号を与えるものではなく、また、完成された最後の メソセージのノーケンス番号を与えるものでもないか、この情報に対する処理は 、その機能特性に変更を加えることなく第6図に付加さね得る。これらの方法て は、メソセージ終了処理にほんの少し変更を加えることにより、他の同様の機能 に用いることかてきる。例えば、ある輸送には、表示されたシーケンス番号まで のシーケンスか完成したときに確認パケットを]・リガするようなreqAck ヒントか備わっている。この場合、それかreqA、ckを有しているか否かに 係わらず可能とされた最も高いシーケンス番号のたった1つの確認だけかトリガ される。この特性は、両方の方法に対して、その機能特性を変更することなく付 加され得る。メソセージ終了処理にしてもreqAck処理にしても、共に基本 的なものであるか、いづれの方法にとっても実質的なものではなく、従って1、 :れらの処理は任意的なものである。
本発明の一実施例によるシーケンス番号処理の方法の第1の例か、第6図にフロ ーチャートで示されている。この方法の初期的部分では、このシーケンス番号か baseSeq#以下であるか否かか調査され(この場合には、バケットは重複 どして無視される)、次に、シーケンス番号か受入れウィンドウ40以上である か否か調査される(この場合には、バケットは範囲外なので無視される)。この ように第1のブロック50ては、この方法に与えられるシーケンス番号(例えば 、シーケンス番号23を有するバケット20を受け取ることによる)か、bas eseq#に対して比較され、もしbaseSeq#以下である場合には、フロ ーチャートのバス51を通じて、バケット20は重複どされ捨てられる。もしそ うでなければ、制硼はブロック52に移され、シーケンス番号かウィンドウ40 の最大値に対して比較される。もし大きければ、バケットは範囲外として捨てら れる。この結果、良好なバケットを再送信する14かあるか、この再送信は、デ ータ構造を与えて境界を使用せずにシーケンス番号を処理するよりは、負担とな らない。もしウィンドウ40の最大値以上でなければ、制御はブロック53に移 り、このブロック53ては、このシーケンス番号かすてに受け取られているかど うかか、ピッ)・マツプ44によって調査される。、二の最後に、ビットマツプ 44のピントアドレスか発生されなければならない。
所定のシーケンス番号に対するビットマツプ44及び46におけるロケーンヨン は、(baseSeq#/s izeofRow) MOD numOfRow sにより、若しくは他の方法により、baseRow番号を最初に決定すること によって計算され、baseRowは、同一の値を持っている限り、ブックキー ピング状態の一部として保持され得る。シーケンス番号に対するビットマツプ行 の索引及びその行内でのビット位置は、簡単な引き算、割り算、MOD (若し くは、割り算の代わりにビットのンフト、sizeofRows及びnumof Rowsか2の累乗である場合はMODの代わりにビソトフィールト抽出(bi t fielde:i:traction) )を使用することによって、同様 の方法て計算される。
recPktMap44において、計算されたビット位置でのビットが1であっ た場合、第6図の決定ブロック53によって示されているように、そのシーケン ス番号は重複として無視される。さもなければ、ブロック54によって示されて いるように、ビットマツプ44の計算された位置で、そのビットか設定される。
決定ブロック55によって示されているように、このシーケンス番号を存するパ ケットのendOfMsg (EOMフラグ)か1である場合には、ブロック5 6によって示されているように、計算されたビット位置と同じものを用いること により、en、dofMsgMap46にそのビットか設定される。また、その ビット位置を、第5図のminEndofMsgBi tNum57と呼ばわる 記憶値のこの行の値と比較し、もしそのビット位置かより低い場合には、第6図 のブロック58に示されているように、minEndofMsgBi tNum にそれを記憶する。minEndOfMsgBi tNurr、57と呼ばれる 記憶値は、「ビットマツプ行でlを持つ最も小さなビット番号を発見する」 ( 以下、FinclFirstoneBitと呼ぶ)必要性を除去するために用い られるか、こねはソフトウェアのコストを幾分高価なものとするであろう(コス トを比較的安いものにするため、 「ループアンローリングJ (loop u nrolling)及びテーブルルックアップを用いることかできる)。高額で はない場合、即ち、例えば、それが1若しくは2サイクル命令として提供される ような場合には、この方法をほんの少し調整するだけて、minEndofMs gBitNum57を除去することかできる。第6図の方法において、minE ndOfMsgBi tNumの各行は、sizeOfRowに等しいか、若し くはそれより大きなminEndOfMsgBi tNumて開始されており、 各行に記憶されている値は、入ってきたEOMフラグと同じ位低くされている。
msgComp 1 e t eビットは、ブロック59に示されているように 、先ず初めに、baseRowのminEndofMsgBitNumに等しい ヒツト位置まで、及びこの位置を含めて、全てか1ビツトであるようなマスクを 構成することによって計算することかできる(これは、sizeofRowエン ティティを備えるテーブルを用いて、5izeOfRoVyビツトによって迅速 に行なうことかできる)。第2に、このマスクをrecPktMapのbase Rowを用いてビットワイズAND (bitwise AND)シ、それをマ スクの複製と比較する。
もし等しければ、それらのシーケンス番号は、このendofMsgMapのb aseRowで最も低い番号か付された1ビツトまで、及び少なくともそれを含 めたところまで、シーケンス番号か完成されている。
次に、ブロック60によって示されているように、recPktMap44のb aseRowか全て1であるかどうかか調査される。この調査は、5IZe○f Rowか実行マシーンのワードサイズより小さいが、あるいは等しい場合には、 簡単な数学的比較により行われる。もし真ならば、第1に、ブロック6Iにおい て、ループ体を実行して、データ構造のbaseRowを再び初期化しくっまり 0とし)、第2に、ブロック62において、baseRow MOD n、um 。
fRowsを増加させ、sizeOfRowをbaseseq#に加え、第3( ′:、ブロック63において、上と同様にして、msgComp I e t  eを再び計算する。
ループか終了するとく全てのビyl・=1とはならない場合、バス64によって )、ブロック65においてmsgComp l e t eが調査され、もし真 ならば、ブロック66に示されるように、endOfMsgMap及びminE ndofMsgBitNumのbaseRowエンティティを更新する必要かあ る。endOfMsgMapの低順位のビットは、recPktMapのbas eRowの1の補数てFindFirstOneBitを用いて、上のようにし てマスクを構成し、このマスクをendofMsgMapのbaseRowを用 いて、ビットワイズAND (bitwize AND)を行なうことによって 、クリアされる。これにより、これらのビットか重複してmsgcopmlet e信号をトリガすることが防止される。endOfMsgMapの行であるビッ トがクリアされたときは、常に、FindFi rs toneBi tを用い て、同一の行に関して、minEndOfMsgBi tNumの値を更新する 必要がある。FindFirstOneBltに対するこれら2つの呼び出しだ けが必要とされ、これらはmsgCompfete信号に関してのみ必要とされ る。
シーケンス番号ブックキーピングに関する第6図の方法はこれて完了する。所定 のシーケンス番号及びmsgComp l e t e信号に関連するとの動作 も(ここては述べていない)、「通常終了」ポイントて終了される方法である限 りは、その実行に関して安全に考察することかできる。ある場合には、+7+s gCompleteのような信号か発生するまで、幾つかの手段によってその関 連動作を遅延させる必要かあるだろう。これにより、シーケンス番号の割当と同 し順序で、それらの動作を実行できるであろう。
第7図の方法は、第6図の方法と非常に近似している。シーケンス番号かIW4 0以下か、若しくはそれ以上であるかの調査は、ブロック50及び52と同しで ある。第7図の方法は2つの重要な点で異なる。 □第1に、recP]<tS um、mary67とendOfMsgsummary68か、第5図のデータ 構造中で、「より高い」レベルのビットマツプとして付加されていることである 。recPktSummary67の各ビットは、recPktSummary のビット位置に対応する行番号を、recPktMap44て有するようなre cPktMap44の全てのlピット行の代用である。
事実、reCPktMap44の行は、その概要(summary)ビットか設 定された場合には全て0に設定されるため、それは「代用」なのである。従って 、ビットマツプ44の各行か満たされたときは、recPktSummary6 7の対応ビットか設定される。同様に、endofMsgsummary68は 、end○fMsgビットマツプ46の内容の概要である。マツプ46の行のい づねかのビットかIである場合、endOfMsgsummaryの対応ビット か設定されるが、ビットマツプ46は再び初期化されないので、概要68のビッ トの設定は、もっと複雑である。endofMsgsummary68のビット は、より正確には、en、dofMsgMap46とrecPktMap44と のビットワイズANDに対応する行のいづれかのビットか1ならば、その概要か 設定されることを意味する。この場合、円形バッファか回転したときに、end ofMsgMap46か再び初期化されるわけてはないため、recPktMa p44の対応する行を、ビットマツプ46を用いてピッI・ワイズANDする必 要があり、事実、endofMsgMap46は、どんなときでも、いづれかの 値て始まるであろう。ビットマツプを再び初期化する主な理由は、第6図の方法 の最悪の場合よりも、最適ではないためである。階層的方法は、この初期化作業 を最悪ではないバスに移すことにより、最悪のバスを最少にする。「ケースバラ ンシング(case balansing) Jは、 「リアルタイムの」ハー ドウェア実行の設計で非常に有用である。
第7図のフローチャー1・において、ブロック69は、ブロック53のrecP ktMap44で設定されたビットを調査する前に、recPktSummar y67て設定されたビットの調査を反映する。この概要は、ビットマツプに先行 するからである。シーケンス番号か重複していない場合は、ブロック54に示さ れるように、このビットはrecPktMap54に設定される。このバケット に対して更新か行われた後、ブロック70に示されるように、recPktMa pのこの行の全てのビットか1に等しいかどうかか調査され、もしそうならば、 recPktSummary67のビットかブロック71において設定され、r ecPktMapのこの行は、ブロック72て0に設定される。前に述へたよう に、このシーケンス番号におけるendofMsgに関して、ブロック55で調 査か行われ、もしyesならば、ブロック73に示されているように(以下に述 べるように)、endOfMsgsummary68のビットかこの行に関して 設定される。
第7図の方法で2番目に重要な差異は、第6図のブロック60.61..62. 63のループか、それぞれか2つの値を返すような2つのテーブルルックアップ を用いて、階層的な方法で置換されることである。他の小さな差異として、Fl ndFirstoneBi を命令に、たったの1サイクルしか要しないために 、minEndofMsgBi士Num配列57(ブロック58)が使用されな いということかある。(Mi nEndOfMsgBi tNumは、はんの少 しの変更で付加することかできる。) ブロック74に示されているように、ちょうと受け取られたシーケンス番号と関 連するe n d Of M s gフラグか、endofMsgMap46に 複写される(つまり、1又は0に設定される)。この時にだけ、endOfMs gMap46のこの位置か、正しい値に設定されるからである。(開始のときて さえ、初期化されることはない。) 次の段階は、ブロック75に示されているように、baseR,owポインタ4 5のビットをrecPktsummary67の値に連結することにより、テー ブルインデックスか形成される。baseRowDeltaの値もテーブルから 返される。BaseRowDe 1 taは、現在のシーケンス番号を処理する ことによってbaseRowか変更されるであろう量である。このテーブルの計 算方法かiil!8図の手続きに与えられている。第8図では、それはフィール l” n e WRecPktSummary及びbaseRowDe I t aを用いてnewPktSummariesと呼ばれる。テーブルのエンティテ ィ番号はnumofROW S$ 2″1llo I 8″9mである。各エン トリの全体的な大きさは、n、umofR。
ws+LOG2 (numofRows)ビットである。第7図のテーブルルッ クアップは、第8図の方法によって発生さねテーブルから行われる。一旦、行の 大きさと行番号が決定されると、テーブルを発生させることかでき、変更はない 、即ち、ウィンドウの大きさ、行の番号及び、行の大きさか固定さねている限り 、テーブルに変更を加える必要はない。この方法で計算されたテーブルの例か、 後のテーブルAに与えられている。テーブル△では、その上部テーブルか各エン トりにおける2つの値を示し、1つ目は、recPktSummary67に挿 入する(6進の)新たな番号、2つ目は、baseRowDel ta−bas eROWポインタ45に加える量である。テーブル△の下位テーブルも、2つの 値を示しており、1つ目は、新たなen、dofMsgsummaryてあり、 2つ目は、COmp 1 e t eMs gに対する値である。
第7図のブロック76に次の段階が示されており、この段階では、テーブルイン デックスkか、baseRow、baseRowDel ta及び、endOf MsgSummaryを連結することによって形成さねる。endofMsgs ummary68は、インデックスkにおいて、endOfMsgsumrna ryテーブルルックアップを用いて置換される。comp l e teMSg は、インデックスkにおいて、completeMsgTableルックアップ に設定される。次に、ブロック77で、(s i zeofRowをbaseR owDe ] ta倍したもの)をbaseSeq#に加え、baseRowボ イノタを更新するために、演算、(baseRowDel taをbaseRo wl:付加したもの)modulo numofRowsか実行される。
決定ブロック78で、値(endOfMsgMapのbaseRowを、(マス クオフ(mask off)され、最も低い番号か付された0ビツトよりも、よ り高位のいづれかの1を持っrecPktMapのbaseRow)を用いて、 ピッl−ワイズANDI、たもの)か、全てOであるか調査さゎ、る。もしそう ならば、通常終了か発生する。もしそうでなければ、c ornp i e t  eMs gが真に設定されぐブロック79)、ブロック80て、endofM sgMapの)vaseRowのビットか、recPkt、MapのbaseR owの中て最も低い番号か付されたOまて、マスクオフされる。ブロック8工に 示されているように、endOfMsgsummary68のbaseRowは 、endofMsgMap46のbaseRowの全てのビットがOである場合 にクリアされ、通常終了される。
このように、データ構造は、ソフトウェアループを用いずに更新されるため、第 7図の命令は、ハードウェア論理によって実行することかできる。
本発明を、特別の実施例を参照しつつ説明してきたが、この記述は、限定を意味 するものではない。本発明の他の実施例と同様に、この実施例に対する様々な変 更か、この記述を参照すれば当業者には明かであろう。従って、本発明の真の範 囲無いにあるこのような変更や実施例は、以下に述べる特許請求の範囲によって 、カバーされるものと考えている。
X □ 要約書 バケットデータ通信ネットワークでは、メツセージパケットのシーケンス番号を 用いることによって、あるメツセージに関して送信されたバケッI・か識別され る。この結果、パケットのmを調査することか可能となり、また、喪失され若し くは重複したパケットを検出することか可能となる。これらのノーケンス番号を 追跡する方法か提供されている。シーケンス番号の受入れウィンドウには境界か 定められており、この受入れウィンドウ以下若しくは以上の番号は無視される( 受は取られない)。ビットマツプは、この境界定めされたウィンドウ内に存在す る番号の範囲に関して確立される。各ビットはノーケンス番号を示し、ヒントマ ツプにはシーケンス番号によって索引か付されている。1つのヒツトマツプは、 1つの受け取られたパケットのマツプであり、どのノーケンス番号を受1プ取っ たのかを追跡するために、更に、この結果、重複するシーケンス番号を除去する ために、使用される。メツセージ終了ピッ]・マツプは、メツセージ終了フラグ を有するバケット位賞を記録するために使用され、また、あるメツセージに対す る全てのバケッ)・か受け取らねたかとうかを判断するために、受は取られたパ ケット用のマツプとともに使用される。これによってメツセージ終了]・リガを 発生することか可能となる。入ってくるバケツ)・からのノーケンス番号及びメ ツセージ終了フラグは、各バケッ)・を受け取ったときにこれらのビットマツプ を更新するために使用され、また、この更新されたビットマツプは必要な動作を 決定するために使用される。これらのシーケンス番号を追跡するための2つの方 法か記述されている。これらの方法は共に平均時に良好な性能を有する。第1の 方法は、相互作用ループを用いるものであり、ソフトウェアの実行に最適である 。第2の方法は、相互作用ループの代わりにテーブルルックアップを用いており 、ハードウェアの実行により適している。この第2の方法は、最悪時の性能か非 常に良好である。
国際調査報告 。、エフ、Ie 6./、ln、’1

Claims (34)

    【特許請求の範囲】
  1. 1.パケットデータ通信システムにおけるメッセージパケットのシーケンス番号 追跡方法において、 a)発生地から目的地に送信される一連のパケットに対して順番にシーケンス番 号を割り当てる段階と、 b)前記目的地において、前記シーケンス番号の受入れ可能な範囲を定める段階 と、但し、前記範囲は、基本シーケンス番号で始まつて、利用可能なシーケンス 番号の小部分であるウィンドウに関して拡張されているような範囲であり、c) 前記ステーションで受け取られた各メッセージパケットのシーケンス番号を、前 記受入れ可能な範囲と比較する段階と、d)前記範囲に存在しないシーケンス番 号を有する全てのメッセージパケットを捨てる段階と、 e)前記目的地において、受け取られた各パケットのシーケンス番号を表示する シーケンス番号によって索引が付された第1のビットマップを保持する段階と、 f)受け取られた各パケットに対して、前記第1のビットマップにおいてそのパ ケットのシーケンス番号を調査し、前記ビットマップに既に設定されているシー ケンス番号を有するようなパケットを捨てる段階と、を備えることを特徴とする 方法。
  2. 2.請求項1記載の方法において、入ってくるパケットがメッセージ終了パケッ トであるかどうかを調査し決定する段階を備え、もしそうならば、対応するビッ トを、シーケンス番号によって索引が付されたメッセージ終了ビットマップに設 定する方法。
  3. 3.請求項2記載の方法において、前記メッセージ終了ビットマップにビットを 設定する前に、全てのシーケンス番号が前記第1のビットマップに設定されてい るかどうかを調査して決定する段階を備え、もしそうならば、メッセージ終了表 示を与えて、前記メッセージ終了ビットマップにおいて現在のシーケンス番号ま での全てのビットを0にすることを特徴とする方法。
  4. 4.請求項1記載の方法において、前記第1のビットマップは、各行がNビット のM行を備えるデータ配列であって、前記ウィンドウと同一の大きさである方法 。
  5. 5.請求項4記載の方法において、前記メッセージ終了ビットマップは、各行が NビットのM行を備えるデータ配列である方法。
  6. 6.請求項5記載の方法において、Nは2の累乗であって前記ステーションの処 理手段のデータパスの幅に等しく、Mは2の累乗であってMのN倍の大きさであ り、前記ウィンドウはMのN倍の大きさである方法。
  7. 7.請求項1記載の方法において、全てのビットが設定された前記第1のビット マップの各行に対して設定されているような1つのビットを備える第1の値を保 持し、設定されたビットの全ての組合せに関して前記第1の値のテープルを発生 し、シーケンス番号を受け取ったときに新しい第1の値を前記テーブルで検索す る方法。
  8. 8.メッセージパケットに対してシーケンス番号を用いるような通信システムで 使用するためのパケットデータ受信機におけるシーケンス番号追跡方法において 、 a)シーケンス番号を有するメッセージパケットを受け取る段階と、b)受け取 られた個々のシーケンス番号を、利用可能なシーケンス番号の小部分がシーケン ス番号から開始され、拡張されているようなウィンドウにおける前記シーケンス 番号の受入れ可能な範囲と比較する段階と、c)前記ウィンドウの範囲に存在し ないシーケンス番号を有するような受け取られたメッセージパケットを捨てる段 階と、d)シーケンス番号によって索引が付された第1のビットマップを保持す る段階と、但し、前記第1のビットマップには、受け取られた個々のパケットに 関してビットが設定されており、 e)個々のパケットを受け取ったときに、前記第1のビットマップを調査して、 前記ビットマップに既に設定されているようなビットに関して前記第1のビット マップ中に索引されているシーケンス番号を有するパケットを捨てる段階と、 を備えることを特徴とする方法。
  9. 9.請求項8記載の方法において、入ってくるパケットがメッセージ終了パケッ トであるかどうかを調査して決定し、もしそうであれば、対応するビットをシー ケンス番号によって索引が付されたメッセージ終了ビットマップに設定する方法 。
  10. 10.請求項9記載の方法において、前記メッセージ終了ビットマップにビット を設定する前に、メッセージのシーケンス番号に関して前記第1のビットマップ にビットが設定されているかどうかを調査して決定し、もしそうであれば、メッ セージ終了表示を与える段階を備える方法。
  11. 11.請求項9記載の方法において、前記メッセージ終了表示が与えられている 場合には、前記メッセージ終了ビットマップにおいて、現在のシーケンス番号ま での全てのビットを0とする段階を備える方法。
  12. 12.請求項8記載の方法において、前記第1のビットマップは、各行がNビッ トのM行を備えるデータ配列であり、前記ウィンドウと同じ大きさである方法。
  13. 13.請求項12記載の方法において、前記メッセージ終了ビットマップは各行 がNビットのM行を備えるデータ配列である方法。
  14. 14.請求項13記載の方法において、Nは2の累乗であって前記ステーション の処理手段のデータパスの幅に等しく、Mは2の累乗であってMのN倍の大きさ であり、前記ウィンドウはMのN倍の大きさである方法。
  15. 15.請求項8記載の方法において、全てのビットが設定された前記第1のビッ トマップの各行に対して設定されているような1つのビットを備える第1の値を 保持し、設定されたビットの全ての組合せに関して前記第1の値のテープルを発 生し、シーケンス番号を受け取ったときに新しい第1の値を前記テーブルで検索 する方法。
  16. 16.メッセージパケットに対してシーケンス番号を用いるような通信システム で使用するためのパケットデータ受信装置において、a)シーケンス番号を有す るメッセージパケットを受け取る手段と、b)個々のシーケンス番号を前記シー ケンス番号の受入れ可能な範囲を定めるウィンドウと比較する手段と、但し、前 記ウィンドウは、基本シーケンス番号から開始されて利用可能なシーケンス番号 の小部分に拡張されており、c)前記ウィンドウの範囲に存在しないようなシー ケンス番号を有する受け取られたメッセージパケットを捨てる手段と、d)シー ケンス番号によって索引が付された第1のビットマップを保持する手段と、但し 、前記第1のビットマップには、受け取られた個々のパケットに関するビットが 設定されており、 e)個々のパケットを受け取ったときに前記第1のビットマップを調査して、前 記ビットマップに既に設定されているようなビットに関して前記第1のビットマ ップ中に索引されているシーケンス番号を有するようないづれかのパケットを捨 てる手段と、 を備えることを特徴とする装置。
  17. 17.請求項16記載の装置において、入ってくるパケットがメッセージ終了パ ケットであるかどうかを調査して決定し、もしそうであれば、対応するビットを シーケンス番号によって索引が付されたメッセージ終了ビットマップに設定する 装置。
  18. 18.請求項17記載の装置において、前記メッセージ終了ビットマップにビッ トを設定する前に、メッセージのシーケンス番号に関してビットが前記第1のビ ットマップに設定されたかどうかを調査して決定し、もしそうであれば、メッセ ージ終了表示を与える手段を備える装置。
  19. 19.請求項18記載の装置において、前記メッセージ終了表示が与えられてい る場合には、前記メッセージ終了ビットマップにおいて、現在のシーケンス番号 までの全てのビットを0とする手段を備える装置。
  20. 20.請求項19記載の装置において、前記第1のビットマップ及び前記メッセ ージ終了ビットマップにおいて現在の行の索引を保持し、現在の行の全てのビッ トが設定された場合には、現在の行の前記索引を増加させる装置。
  21. 21.請求項16記載の装置において、前記第1のビットマップは、各行がNビ ットのM行を備えるデータ配列であり、前記ウィンドウと同じ大きさである装置 。
  22. 22.請求項17記載の装置において、前記メッセージ終了ビットマップは各行 がNビットのM行を備えるデータ配列である装置。
  23. 23.請求項22記載の装置において、Nは2の累乗であって前記ステーション の処理手段のデータパスの幅に等しく、Mは2の累乗であってMのN倍の大きさ であり、前記ウィンドウはMのN倍の大きさである装置。
  24. 24.請求項16記載の装置において、全てのビットが設定された前記第1のビ ットマップの各行に対して設定されているような1つのビットを備える第1の値 を保持し、設定されたビットの全ての組合せに関して前記第1の値のテープルを 発生し、シーケンス番号を受け取ったときに新しい第1の値を前記テープルで検 索する装置。
  25. 25.順番に割り当てられたパケットシーケンス番号を用いるパケットデータ通 信装置が、受信ステーションにおいて、a)前記シーケンス番号の受入れ可能な 範囲を定める手段と、但し、前記範囲は、基本シーケンス番号で始まって利用可 能なシーケンス番号の小部分であるウィンドウに関して拡張されているような範 囲であり、b)受け取られた各メッセージパケットのシーケンス番号を、前記受 入れ可能な範囲と比較する手段と、 c)前記範囲に存在しないようなシーケンス番号を有する全てのメッセージパケ ットを捨てる手段と、 d)受け取られた各パケットのシーケンス番号のシーケンス番号によって索引が 付された第1のビットマップを保持する手段と、e)受け取られた各パケットに 対して、前記第1のビットマップにおけるそのパケットのシーケンス番号を調査 し、前記ビットマップに既に設定されているシーケンス番号を有するようなパケ ットを捨てる段階と、を備えることを特徴とする装置。
  26. 26.請求項25記載の装置において、入ってくるパケットがメッセージ終了パ ケットであるかどうかを調査して決定し、もしそうであれば、対応するビットを シーケンス番号によって索引が付されたメッセージ終了ビットマップに設定する 装置。
  27. 27.請求項26記載の装置において、前記メッセージ終了ビットマップにビッ トを設定する前に、全てのシーケンス番号が前記第1のビットマップに設定され たかどうかを調査して決定し、もしそうであれば、メッセージ終了表示を与える 手段を備える装置。
  28. 28.請求項27記載の装置において、前記メッセージ終了表示が与えられてい る場合には、前記メッセージ終了ビットマップにおいて、現在のシーケンス番号 までの全てのビットを0とする手段を備える装置。
  29. 29.請求項26記載の装置において、前記第1のビットマップ及び前記メッセ ージ終了ビットマップにおいて現在の行の索引を保持し、現在の行の全てのビッ トが設定された場合には、現在の行の前記索引を増加させる装置。
  30. 30.請求項26記載の装置において、前記第1のビットマップは、各行がNビ ットのM行を備えるデータ配列である装置。
  31. 31.請求項30記載の装置において、前記メッセージ終了ビットマップは各行 がNビットのM行を備えるデータ配列である装置。
  32. 32.請求項31記載の装置において、Nは2の累乗であって前記ステーション の処理手段のデータパスの幅に等しく、Mは2の累乗であってMのN倍の大きさ であり、前記ウィンドウはMのN倍の大きさである装置。
  33. 33.請求項32記載の装置において、前記シーケンス番号は少なくとも32ビ ットの番号である装置。
  34. 34.請求項25記載の装置において、全てのビットが設定された前記第1のビ ットマップの各行に対して設定されているような1つのビットを備える第1の値 を保持し、設定されたビットの全ての組合せに関して前記第1の値のテープルを 発生し、シーケンス番号を受け取ったときに新しい第1の値を前記テープルで検 索ずる装置。
JP4506648A 1991-02-11 1992-02-07 パケットデータ通信システムにおけるシーケンス番号の追跡方法及び装置 Pending JPH05502362A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US654,067 1991-02-11
US07/654,067 US5151899A (en) 1991-02-11 1991-02-11 Tracking sequence numbers in packet data communication system

Publications (1)

Publication Number Publication Date
JPH05502362A true JPH05502362A (ja) 1993-04-22

Family

ID=24623315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4506648A Pending JPH05502362A (ja) 1991-02-11 1992-02-07 パケットデータ通信システムにおけるシーケンス番号の追跡方法及び装置

Country Status (5)

Country Link
US (1) US5151899A (ja)
EP (1) EP0525174B1 (ja)
JP (1) JPH05502362A (ja)
DE (1) DE69216704T2 (ja)
WO (1) WO1992014327A1 (ja)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04176232A (ja) * 1990-11-09 1992-06-23 Hitachi Ltd パケット通信方式およびパケット通信装置
US5268846A (en) * 1991-04-10 1993-12-07 International Business Machines Corporation Method and apparatus for nonsequential multimedia data interchange in a data processing system
US5610595A (en) * 1991-12-09 1997-03-11 Intermec Corporation Packet radio communication system protocol
US5260933A (en) * 1992-05-15 1993-11-09 International Business Machines Corporation Acknowledgement protocol for serial data network with out-of-order delivery
CZ285021B6 (cs) * 1992-09-30 1999-05-12 Motorola, Inc. Způsob a systém pro spolehlivé doručování zpráv
US5315635A (en) * 1992-09-30 1994-05-24 Motorola, Inc. Reliable message communication system
FR2699706B1 (fr) * 1992-12-22 1995-02-24 Bull Sa Système de transmission de données entre un bus d'ordinateur et un réseau.
US5440687A (en) * 1993-01-29 1995-08-08 International Business Machines Corporation Communication protocol for handling arbitrarily varying data strides in a distributed processing environment
JPH07193811A (ja) * 1993-12-27 1995-07-28 Fuji Xerox Co Ltd 画像伝送装置
JPH07262152A (ja) * 1994-03-24 1995-10-13 Hitachi Ltd コンピュータシステム
US5577211A (en) * 1994-05-11 1996-11-19 Ibm Corporation System and method using chained structure queues for ordering of message delivery between connected nodes wherein unsuccessful message portion is skipped and retried
JP3277694B2 (ja) * 1994-05-25 2002-04-22 ソニー株式会社 通信方法
EP0777948B1 (en) * 1994-09-01 2009-03-04 Echelon Corporation Duplicate message detection method and apparatus
CN1122539A (zh) * 1994-09-06 1996-05-15 摩托罗拉公司 重建和传送分段消息的方法
WO1996017462A2 (en) 1994-11-21 1996-06-06 Oracle Corporation A reliable connectionless network protocol
US5590122A (en) * 1994-12-22 1996-12-31 Emc Corporation Method and apparatus for reordering frames
GB2301752B (en) * 1995-06-02 2000-03-29 Dsc Communications Control message transmission in telecommunications systems
US5751719A (en) * 1995-11-30 1998-05-12 Lucent Technologies Inc. Method and system for data transfer in the presence of disconnects
US5740173A (en) * 1996-02-28 1998-04-14 Telefonaktiebolaget Lm Ericsson Asynchronous transfer mode (ATM) cell arrival monitoring system
US6226687B1 (en) * 1996-09-05 2001-05-01 Nortel Networks Limited Method and apparatus for maintaining an order of data packets
JP2845831B2 (ja) * 1996-09-06 1999-01-13 静岡日本電気株式会社 無線選択呼出受信機
JP3825099B2 (ja) * 1996-09-26 2006-09-20 富士通株式会社 映像データ転送方式およびビデオサーバ装置
DE59814195D1 (de) * 1997-03-27 2008-04-30 Nokia Siemens Networks Gmbh Redundantes Übertragungssystem mit Abschaltung einer Übertragungsstrecke fehlerhaften Übertragungsverhaltens
US6011796A (en) * 1997-06-17 2000-01-04 Qualcomm Incorporated Extended range sequence numbering for selective repeat data transmission protocol
US6408003B1 (en) * 1997-06-17 2002-06-18 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
EP0895433B1 (fr) * 1997-07-29 2008-07-30 Koninklijke Philips Electronics N.V. Appareil téléphonique comportant une station de base et au moins un dispositif de combiné et procédé pour y diffuser des messages
GB2344265B (en) 1997-11-20 2003-07-16 Xacct Technologies Inc Network accounting and billing system and method
US6122743A (en) * 1998-03-31 2000-09-19 Siemens Information And Communication Networks, Inc. System for providing enhanced security for transactions transmitted through a distributed network
US7593408B2 (en) * 1998-05-20 2009-09-22 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
EP0964544A1 (en) * 1998-06-09 1999-12-15 Mitsubishi Electric Information Technology Centre Europe B.V. Method of controlling errors in a packets transmission link
GB2339368A (en) * 1998-07-08 2000-01-19 Ibm Data communications protocol with efficient packing of datagrams
US6721320B1 (en) 1998-12-18 2004-04-13 Lsi Logic Corporation Method and apparatus for fibre channel identification and retrieval
FI113822B (fi) * 1999-01-19 2004-06-15 Nokia Corp Ohjattu dataverkon virheestä toipuminen
US6985454B1 (en) * 1999-01-26 2006-01-10 Globalstar L.P. ISP system using non-geosynchronous orbit satellites
US6507582B1 (en) * 1999-05-27 2003-01-14 Qualcomm Incorporated Radio link protocol enhancements for dynamic capacity wireless data channels
KR100720786B1 (ko) 1999-05-27 2007-05-22 콸콤 인코포레이티드 정보 바이트 스트림을 전송 또는 수신하는 방법, 시스템,송신기 및 수신기
EP1085727A1 (en) * 1999-09-16 2001-03-21 BRITISH TELECOMMUNICATIONS public limited company Packet authentication
FI19992470A (fi) * 1999-11-17 2001-05-18 Nokia Mobile Phones Ltd Tiedonsiirto
US7043022B1 (en) * 1999-11-22 2006-05-09 Motorola, Inc. Packet order determining method and apparatus
GB9930618D0 (en) * 1999-12-24 2000-02-16 Agilent Technologies Inc Measuring efficiency of data transmission
JP2003522507A (ja) * 2000-02-14 2003-07-22 トムソン ライセンシング ソシエテ アノニム 幾つかのパケットに分割されるメッセージの送信方法
US6859456B1 (en) * 2000-03-13 2005-02-22 Motorola, Inc. Method and apparatus for checking communicated data
FI111207B (fi) * 2000-03-24 2003-06-13 Smarttrust Systems Oy Viestin käsittely
CA2407730A1 (en) * 2000-05-01 2001-11-08 Mastercard International Incorporated A method for bit-map parsing using a cobol algorithm
US6931444B2 (en) * 2000-06-12 2005-08-16 Amdocs (Israel) Ltd. System, method and computer program product for reading, correlating, processing, categorizing and aggregating events of any type
US6966003B1 (en) * 2001-01-12 2005-11-15 3Com Corporation System and method for switching security associations
US7305697B2 (en) * 2001-02-02 2007-12-04 Opentv, Inc. Service gateway for interactive television
US6741603B2 (en) * 2001-07-09 2004-05-25 Overture Networks, Inc. Use of a circular buffer to assure in-order delivery of packets
US6728209B2 (en) 2001-07-25 2004-04-27 Overture Networks, Inc. Measurement of packet delay variation
US7991006B2 (en) * 2001-08-02 2011-08-02 Oracle America, Inc. Filtering redundant packets in computer network equipments
GB2378622A (en) 2001-08-11 2003-02-12 Zarlink Semiconductor Ltd Updating a lookup table used in mapping between TDM channels and packets
US6983334B2 (en) * 2001-11-07 2006-01-03 International Business Machines Corporation Method and system of tracking missing packets in a multicast TFTP environment
US7201963B2 (en) * 2002-01-15 2007-04-10 Gentex Corporation Pre-processed workpiece having a surface deposition of absorber dye rendering the workpiece weld-enabled
US7167476B1 (en) * 2002-04-12 2007-01-23 Juniper Networks, Inc. Systems and methods for routing data in a network device
AU2003259240A1 (en) * 2002-07-26 2004-02-16 Green Border Technologies, Inc. Transparent configuration authentication of networked devices
US20040066935A1 (en) * 2002-10-02 2004-04-08 Marino Francis C. Method and apparatus for providing a message sequence count in a security system
US7313141B2 (en) * 2002-10-09 2007-12-25 Alcatel Lucent Packet sequence number network monitoring system
US7616638B2 (en) * 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
AU2003302800A1 (en) * 2002-12-12 2004-06-30 Koninklijke Philips Electronics N.V. A system and method using a circular buffer for detecting packet loss in streaming applications
KR20050088116A (ko) * 2002-12-12 2005-09-01 코닌클리케 필립스 일렉트로닉스 엔.브이. 컬러 매칭 함수에 근접하기 위한 변환 구조
FR2850503B1 (fr) * 2003-01-23 2005-04-08 Everbee Networks Procede et systeme dynamique de securisation d'un reseau de communication au moyen d'agents portables
US7814310B2 (en) * 2003-04-12 2010-10-12 Cavium Networks IPsec performance optimization
US7746781B1 (en) * 2003-06-30 2010-06-29 Nortel Networks Limited Method and apparatus for preserving data in a system implementing Diffserv and IPsec protocol
US7430175B2 (en) 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7406092B2 (en) 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7420982B2 (en) 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
WO2005064840A1 (en) * 2003-12-29 2005-07-14 Electronics And Telecommunications Research Institute Method for retransmitting packet in mobile communication system and computer-readable medium recorded program thereof
EP1700414B1 (en) * 2003-12-29 2009-05-06 Electronics and Telecommunications Research Institute Method for creating feedback messages for arq in a mobile communication system
US20050175012A1 (en) * 2004-02-06 2005-08-11 Telefonaktiebolaget L.M. Ericsson (Publ) System and method for transmitting and receiving data frames in a NAK-based window protocol
US7573883B2 (en) * 2004-03-05 2009-08-11 Telefonaktiebolaget Lm Ericsson (Publ) System, method and operator for increasing the active window size in a NAK-based window protocol
US7852842B2 (en) * 2004-03-31 2010-12-14 Lg Electronics Inc. Data processing method for network layer
US20080130687A1 (en) * 2004-03-31 2008-06-05 Lg Electronics Inc. Data Receiving Method and Transferring Method for Data Link Layer
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7334177B2 (en) * 2004-05-26 2008-02-19 Motorola, Inc. Method and system for tracking sequence numbers
US7577772B2 (en) * 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
WO2006031881A2 (en) * 2004-09-14 2006-03-23 Watson Stuart T Method and system for tracking multiple information feeds on a communications network
US7676611B2 (en) * 2004-10-01 2010-03-09 Qlogic, Corporation Method and system for processing out of orders frames
US7593344B2 (en) * 2004-10-14 2009-09-22 Temic Automotive Of North America, Inc. System and method for reprogramming nodes in an automotive switch fabric network
US7593429B2 (en) * 2004-10-14 2009-09-22 Temic Automotive Of North America, Inc. System and method for time synchronizing nodes in an automotive network using input capture
US20060083172A1 (en) * 2004-10-14 2006-04-20 Jordan Patrick D System and method for evaluating the performance of an automotive switch fabric network
US7623552B2 (en) * 2004-10-14 2009-11-24 Temic Automotive Of North America, Inc. System and method for time synchronizing nodes in an automotive network using input capture
US7599377B2 (en) * 2004-10-15 2009-10-06 Temic Automotive Of North America, Inc. System and method for tunneling standard bus protocol messages through an automotive switch fabric network
US7613190B2 (en) * 2004-10-18 2009-11-03 Temic Automotive Of North America, Inc. System and method for streaming sequential data through an automotive switch fabric
US7453879B1 (en) * 2005-04-04 2008-11-18 Sun Microsystems, Inc. Method and apparatus for determining the landing zone of a TCP packet
US8614732B2 (en) * 2005-08-24 2013-12-24 Cisco Technology, Inc. System and method for performing distributed multipoint video conferencing
US8014415B2 (en) * 2005-12-30 2011-09-06 Meshnetworks, Inc. Apparatus, system and method for communicating information in a wireless communication network
US7907594B2 (en) * 2006-06-01 2011-03-15 Cisco Technology, Inc. Marking keyframes for a communication session
US8005972B2 (en) * 2006-06-26 2011-08-23 International Business Machines Corporation Detection of inconsistent data in communications networks
JP4748316B2 (ja) * 2006-07-13 2011-08-17 日本電気株式会社 パケット伝送方法及びパケット伝送システム
TWI405481B (zh) * 2007-05-18 2013-08-11 Innovative Sonic Ltd 無線通訊系統比較狀態變數或封包序號的方法及其相關裝置
US8774203B2 (en) * 2007-06-07 2014-07-08 Intel Corporation One-way message notification with out-of-order packet delivery
US8792512B2 (en) * 2007-06-07 2014-07-29 Intel Corporation Reliable message transport network
EP2129048B1 (de) * 2008-05-28 2011-07-13 Siemens Aktiengesellschaft Verfahren zur Datenübertragung in einem Automatisierungssystem
KR101635433B1 (ko) * 2008-11-04 2016-07-01 삼성전자 주식회사 재전송 요청을 위한 제어 메시지를 처리하는 방법 및 장치
US9009293B2 (en) 2009-11-18 2015-04-14 Cisco Technology, Inc. System and method for reporting packet characteristics in a network environment
US9015318B1 (en) 2009-11-18 2015-04-21 Cisco Technology, Inc. System and method for inspecting domain name system flows in a network environment
US9148380B2 (en) * 2009-11-23 2015-09-29 Cisco Technology, Inc. System and method for providing a sequence numbering mechanism in a network environment
US8792495B1 (en) 2009-12-19 2014-07-29 Cisco Technology, Inc. System and method for managing out of order packets in a network environment
US8787303B2 (en) 2010-10-05 2014-07-22 Cisco Technology, Inc. Methods and apparatus for data traffic offloading at a router
US9003057B2 (en) 2011-01-04 2015-04-07 Cisco Technology, Inc. System and method for exchanging information in a mobile wireless network environment
WO2012141648A2 (en) * 2011-04-12 2012-10-18 Telefonaktiebolaget L M Ericsson (Publ) A method and system for transmitting data from a radio network controller to a user equipment
US8948013B1 (en) 2011-06-14 2015-02-03 Cisco Technology, Inc. Selective packet sequence acceleration in a network environment
US8743690B1 (en) 2011-06-14 2014-06-03 Cisco Technology, Inc. Selective packet sequence acceleration in a network environment
US8792353B1 (en) 2011-06-14 2014-07-29 Cisco Technology, Inc. Preserving sequencing during selective packet acceleration in a network environment
US8737221B1 (en) 2011-06-14 2014-05-27 Cisco Technology, Inc. Accelerated processing of aggregate data flows in a network environment
KR101611663B1 (ko) * 2013-10-28 2016-04-12 삼성에스디에스 주식회사 비연결 지향형 프로토콜을 이용한 데이터 통신
CN107251486B (zh) * 2015-09-30 2020-04-28 华为技术有限公司 一种扩展联动的方法、装置及系统
US10079754B2 (en) 2015-12-15 2018-09-18 Nxp Usa, Inc. Adapative message caches for replay/flood protection in mesh network devices
US10348634B2 (en) * 2015-12-22 2019-07-09 Intel Corporation Technologies for tracking out-of-order network packets
US10362464B2 (en) * 2016-03-25 2019-07-23 Silicon Laboratories, Inc. Over-the-air broadcast bootloader protocol
US11172016B2 (en) 2017-03-30 2021-11-09 Intel Corporation Device, method and system to enforce concurrency limits of a target node within a network fabric

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58161444A (ja) * 1982-03-18 1983-09-26 Mitsubishi Electric Corp パケツト受信方式

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0046831B1 (fr) * 1980-08-26 1984-12-05 International Business Machines Corporation Système de retransmission de trames numérotées et reçues en erreur dans un système de transmission de données
JPS5917628A (ja) * 1982-07-20 1984-01-28 Hitachi Ltd 端末操作代行制御方法
US4564937A (en) * 1983-12-22 1986-01-14 Gte Automatic Electric Incorporated Remote data link address sequencer and a memory arrangement for accessing and storing digital data
US4611280A (en) * 1984-03-12 1986-09-09 At&T Bell Laboratories Sorting method
US4679139A (en) * 1984-05-01 1987-07-07 Canevari Timber Co., Inc. Method and system for determination of data record order based on keyfield values
US4653048A (en) * 1984-05-14 1987-03-24 American Telephone And Telegraph Company Method for interprocessor message accountability
EP0162478A3 (en) * 1984-05-25 1987-03-04 Ntx Communications Corporation Method and apparatus for high speed satellite communication
CA1220830A (en) * 1984-12-28 1987-04-21 David S. Drynan Transmitting sequence numbers of information in a packet data transmission system
US4631673A (en) * 1985-01-22 1986-12-23 International Business Machines Corporation Method for refreshing multicolumn tables in a relational data base using minimal information
US4680705A (en) * 1985-09-13 1987-07-14 International Business Machines Corporation Automatic data restructurer
CA1266318A (en) * 1985-10-07 1990-02-27 Hiroshi Suzuki High-speed packet-switched communications system with end-to-end flow control and retransmission
US4703475A (en) * 1985-12-04 1987-10-27 American Telephone And Telegraph Company At&T Bell Laboratories Data communication method and apparatus using multiple physical data links
US4803651A (en) * 1986-02-10 1989-02-07 Ibm Corporation Method for encoding and decoding acyclic, linked-list data structures for efficient storage, retrieval and searching
EP0308565B1 (en) * 1987-09-23 1993-02-10 International Business Machines Corporation Improvement to digital packet switching networks
JP2753254B2 (ja) * 1988-04-06 1998-05-18 株式会社日立製作所 パケツト交換システム
US5007052A (en) * 1989-04-11 1991-04-09 Metricom, Inc. Method for routing packets by squelched flooding
US5056085A (en) * 1989-08-09 1991-10-08 Harris Corporation Flood-and-forward routing for broadcast packets in packet switching networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58161444A (ja) * 1982-03-18 1983-09-26 Mitsubishi Electric Corp パケツト受信方式

Also Published As

Publication number Publication date
US5151899A (en) 1992-09-29
EP0525174B1 (en) 1997-01-15
DE69216704D1 (de) 1997-02-27
WO1992014327A1 (en) 1992-08-20
EP0525174A1 (en) 1993-02-03
DE69216704T2 (de) 1997-08-14

Similar Documents

Publication Publication Date Title
JPH05502362A (ja) パケットデータ通信システムにおけるシーケンス番号の追跡方法及び装置
US7116664B2 (en) Lookups by collisionless direct tables and CAMs
US5610905A (en) Communication apparatus and methods
US6425003B1 (en) Method and apparatus for DNS resolution
US5424724A (en) Method and apparatus for enhanced electronic mail distribution
JP3453148B2 (ja) スイッチング装置における高速可変長ベストマッチルックアップ
US6968393B1 (en) Method and apparatus for an attribute oriented routing update
US6717917B1 (en) Method of determining real-time data latency and apparatus therefor
JP4355188B2 (ja) パケット転送装置
US20020080798A1 (en) Network routing table and packet routing method
JPH04265037A (ja) データグラム2地点間リンク上における距離ベクトルルーティング方法及び装置
JPH06511615A (ja) パケット送信システム内でパケット・シーケンスを維持するための方法および装置
US6240140B1 (en) Channel aggregation having low latency and overhead
US6870850B1 (en) Method and system for assembling segmented frames of data transmitted over a backbone network
US20120093162A1 (en) Reordering packets
CN104484295B (zh) 并行计算机系统中基于接收方滑动窗口的数据传输方法
US8005968B2 (en) Single-interface dynamic MTU control
JPH077524A (ja) 通信加入者のアドレス識別子へのアクセス方法
US6081532A (en) Bridging apparatus for traffic filtering in communication networks
CN110430135B (zh) 一种报文处理方法和装置
CN109743414B (zh) 利用冗余连接提高地址翻译可用性的方法及计算机可读存储介质
US6553003B1 (en) Device and method processing a radio link protocol in a mobile communication system
EP1131921B1 (en) Method and apparatus for adaptive address lookup table generator
US10601711B1 (en) Lens table
US7339930B2 (en) Method and apparatus for performing an address lookup using a multi-bit trie with backtracking