JP6547973B2 - ストリーム制御の方法およびシステム - Google Patents

ストリーム制御の方法およびシステム Download PDF

Info

Publication number
JP6547973B2
JP6547973B2 JP2016567377A JP2016567377A JP6547973B2 JP 6547973 B2 JP6547973 B2 JP 6547973B2 JP 2016567377 A JP2016567377 A JP 2016567377A JP 2016567377 A JP2016567377 A JP 2016567377A JP 6547973 B2 JP6547973 B2 JP 6547973B2
Authority
JP
Japan
Prior art keywords
sequence number
message
node
destination node
destination
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
JP2016567377A
Other languages
English (en)
Other versions
JP2017530566A (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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of JP2017530566A publication Critical patent/JP2017530566A/ja
Application granted granted Critical
Publication of JP6547973B2 publication Critical patent/JP6547973B2/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/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • 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/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
    • 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
    • H04L1/1838Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット通信ネットワーク内の通信ノード間のエンド・ツー・エンド・ストリーム制御技術に関し、より詳細には、データ配送におけるエンド・ツー・エンド信頼性メカニズムの最適な実装に関する。
ここで、「エンド・ツー・エンド信頼性」とは、起点ノードから1つ以上の宛先ノードに向かって送られるメッセージのエンド・ツー・エンド(「End−to−End」とも呼ばれる)配送保証を意味する。
パケット通信ネットワークの内部における複数ノードが関与する通信の間には、パケット破損、パケットの無秩序化、パケットの紛失または重複などのさまざまなエラーが発生し得る。このため、特に以下のような異なるエンド・ツー・エンド信頼性メカニズムが想定される:すなわち、
− 受信したメッセージのシーケンス番号の飛越しに気付くことにより、宛先ノードがメッセージの紛失を検出するような形で、伝送された各メッセージに対して起点ノードが1つのエンド・ツー・エンド・シーケンス番号を追加すること;
− 将来エラーが発生した場合に再伝送するために、伝送された全てのメッセージのコピーを、起点ノードレベルでメモリ内に記憶すること;
および、
− 一般に、受信確認(「acknowledgment」)を伴う伝送プロトコルを使用する接続である指向性リンクの端部ノード(起点ノードおよび宛先ノード)内で実装される、これらのエラーの検出方法。
実際、エンド・ツー・エンド・シーケンス番号を用いたパケットのスケジューリングに基づく解決法において、各起点・宛先対は、専用のエンド・ツー・エンド・シーケンス番号(各向きに1つずつ)を有している。所与の対のエンド・ツー・エンド・シーケンス番号は、新規メッセージがこれら2つのノード間で送られる毎に、1だけ増分される。このようにして、宛先ノードは、各々の起点ノードについて、受信したパケットが連続的シーケンス番号を確実に含んでいることをチェックする。
この解決法には、それぞれ起点ノードおよび宛先ノードレベルで、
− ビューイングされた各ノードのために使用すべき次のエンド・ツー・エンド・シーケンス番号を、このノードにより宛先ノードとして記憶するため;
− ビューイングされた各ノードの次の予測されるエンド・ツー・エンド・シーケンス番号を、このノードにより起点ノードとして記憶するため、
のメモリを追加するという欠点がある。
その上、シーケンス番号の数に、使用される仮想ネットワークの数を乗じる必要がある。例えば、4つの仮想ネットワークに、65536個のノードのネットワーク内でのスケジューリングを保証するためには、ノード1つあたり、2(発信/受信)×65536(ノード数)×4(仮想ネットワーク数)のエンド・ツー・エンド・シーケンス番号を記憶しなければならない。この場合、16ビット(これに加えて、エラー補正コードの追加のための6ビット)にわたり1つのシーケンス番号で、22ビットの524288入力のメモリ、すなわち11264KBが必要とされる。このような記憶空間の割当ては、リソースコストが極めて高く、そのサイズに比例する形でのネットワークの性能に影響を及ぼす。
伝送されたデータ内にエラーが発生した場合(データの破損、スケジューリングされていない配送、またはパケット紛失など)、宛先ノードは、遭遇したエラータイプを明示する「非受信確認」タイプの応答メッセージを返送することにより、起点ノードに知らせる。その後、起点ノードは、1つまたは複数の関係するパケットの再伝送に着手する。
このために、起点ノードは、再伝送メモリ内に、この起点ノードが発出する全てのメッセージのコピーを記憶する。起点ノードは、肯定的な受信確認を受信した場合、再伝送メモリの対応するメッセージを削除することができる。これに対して、否定的な受信確認(すなわち「非受信確認」タイプのもの)を受信した場合、または宛先ノードに送られた一部のメッセージに対する応答メッセージを受信しなかった場合、起点ノードは、その再伝送、場合によってはこの同じ宛先ノードに向けての後続するメッセージの再伝送に着手する。実際、スケジューリングされたトラヒックの場合、エンド・ツー・エンド・シーケンス番号のチェックが誤ったものであることから、宛先ノードは、最初の誤ったメッセージが宛先ノードによりエラーなく再伝送され受信されるまで、誤ったパケットに続く全てのパケットを拒絶する。
このデータ再伝送の欠点は、その実装が不便であるという点にある。実際、起点ノードは、エラーメッセージならびに全ての後続するメッセージを、そのエラーを検出した宛先ノードに向かって、しかもこの宛先だけに向けて再伝送しなければならない。しかしながら、異なる宛先ノードに向かって送られたメッセージが、同じ再伝送メモリ内に記憶される(換言すると、1宛先ノードあたり1つの再伝送メモリを設けることは、実際上実現不可能である)ことから、必要とされるメッセージのみを識別し、エラーを検出した宛先ノードに向かってこれを再伝送するためには、この再伝送メモリをスキャンする必要がある。このことは、確実に、エンド・ツー・エンド信頼性メカニズムの性能に影響を及ぼす。
その上、対応するメッセージが確かに宛先ノードに到着しているにもかかわらず、受信確認メッセージが紛失している可能性もある。この場合、起点ノードはこのメッセージを再伝送し、受信確認メッセージの再伝送を求め、これにより、宛先ノード側のメッセージの重複がひき起こされる。メッセージの重複は、ネットワークの激しい混雑状態の場合にも同様に発生することがあり、その場合、発信されたメッセージまたはその受信確認を減速させて、このメッセージが失われたと考えて起点ノードがこのメッセージを再伝送することになる。その結果、宛先ノードは同じメッセージを2回受信することになる。
重複メッセージと紛失メッセージとを区別するためには、概して、エンド・ツー・エンド・シーケンス番号の可能最大値が、起点ノードと宛先ノードの間の最悪の伝播時間とタイムアウトの合計に等しい持続時間中にこの起点ノードが送ることのできるメッセージ数の2倍をはるかに上回っていることが必要とされる。タイムアウトは、データ・パケットの送信時点で起点ノードにより活動化され、その最後にこのパケットの受取り通知が予想されるディレー時間(Retransmission Time Out、略してRTO)である。
この場合、
− 毎秒1億2500万パケットを送信できる起点ノード;
− 4秒のタイムアウト、そして
− (非常に混雑しているネットワークについて)およそ1秒の起点ノードと宛先ノード間の最悪の伝播時間、
について、エンド・ツー・エンド・シーケンス番号の可能最大値は、12億5000万をはるかに上回るものでなければならない。したがって、この値は、少なくとも32ビットにわたり符号化されなければならない。換言すると、こうして、約32ビットのエンド・ツー・エンド・シーケンス番号を、各送信済みメッセージ中に追加することになる。しかしながら、このような規模のシーケンス番号の付加は、起点ノードと宛先ノード(単複)の間の有効通過帯域の著しい削減を結果としてもたらす非常に高コストのオーバーロードを意味する。32ビットのシーケンス番号は同様に、ノードレベルでのその記憶に必要な記憶空間も増大させる。
本発明の目的は、上述の欠点を改善することにある。
本発明のもう1つの目的は、特に大規模IPネットワークにおけるエンド・ツー・エンドストリームの制御技術の実装の複雑性を低減させることにある。
本発明のもう1つの目的は、IPネットワークの内部でのデータ配送における信頼性を増大させることにある。
本発明のもう1つの目的は、
− 所要記憶空間;
− ネットワークの性能(特に毎秒処理メッセージ数または有効通過帯域)に対する影響;
を制限しながら、大規模ネットワークの信頼性を保証できるエンド・ツー・エンド保護方法を提案することにある。
これらの目的のため、本発明は、第1の態様によると、通信ネットワーク内で起点ノードから宛先ノード群に向かうデータの受信確認を伴う配送におけるエンド・ツー・エンド信頼性を管理する方法において、宛先ノード群が少なくとも1つの第1の宛先ノードを含む方法であって、
− 前記第1の宛先ノードが起点ノードから来る第1のメッセージを受信した後、前記起点ノードから来る予想されたエンド・ツー・エンドシーケンス番号がマーキングされた第2のメッセージの受信を予想するような形で、増分的エンド・ツー・エンドシーケンス番号によって、前記第1の宛先ノードに宛てて起点ノードから伝送されるメッセージをマーキングするステップと;
− 宛先ノード群の中に含まれる1つの宛先ノードに宛てて起点ノードからメッセージを伝送した時点で、包括的シーケンス番号を増分させるステップであって、この包括的シーケンス番号が、予め定義された最大値まで増分され得るものであるステップと;
− 起点ノードから宛先ノード群内に含まれる1つの宛先ノードに宛てて伝送されかつそれについての受信確認を起点ノードが受信していないメッセージの包括的シーケンス番号を識別するステップと;
− 起点ノードから宛先ノード群の中に含まれる1つの宛先ノードに宛てて伝送すべき次のメッセージの包括的シーケンス番号と、識別された包括的シーケンス番号との間の差を計算するステップと;
− 計算された差が予め定義された閾値に等しい場合、起点ノードから宛先ノード群に宛てたメッセージの伝送を中断するステップと;
− この中断の後、前記第1の宛先ノードにより受信された前記起点ノードから来たメッセージをマーキングするエンド・ツー・エンドシーケンス番号が前記予想されたエンド・ツー・エンドシーケンス番号と異なる場合、前記第1の宛先ノードが、データ配送におけるエラーの存在を演繹するステップと、
を含む方法を提案する。
この方法は、さまざまな実施形態にしたがって、場合によっては組合された形で、以下の特徴を有する:
− 受信したメッセージをマーキングするエンド・ツー・エンドシーケンス番号が予想されたエンド・ツー・エンド・シーケンス番号より大きい場合、エラーはメッセージの紛失である。
− 受信したメッセージをマーキングするエンド・ツー・エンド・シーケンス番号(n1)が予想されたエンド・ツー・エンド・シーケンス番号より小さい場合、エラーは、受信メッセージが重複メッセージであることである。
− 予め定義された閾値は、前記予め定義された最大値の半分の整数値である。
− 包括的シーケンス番号は、16ビットにわたり符号化される。
− エンド・ツー・エンド・シーケンス番号は、16ビットにわたり符号化される。
この方法は、さらに以下のステップを含む:
− 包括的シーケンス番号が前記予め定義された最大値に達した場合、この包括的シーケンス番号を初期化するステップ;
− 前記宛先ノードに対応するエンド・ツー・エンド・シーケンス番号を読取るステップであって、この番号が前記起点ノード(10)のレベルで記憶されるステップ;
− 読取られたエンド・ツー・エンド・シーケンス番号を1だけ増分するステップ;
− 再伝送メモリ内に包括的シーケンス番号を記憶するステップ;
− 2重連鎖リスト内に前記第1の宛先ノードに伝送された各メッセージを記憶するステップであって、この2重連鎖リストが前記再伝送メモリ内に記憶され前記第1の宛先ノードに結びつけられているステップ。
本発明は、第2の態様によると、情報処理ユニットの内部で使用可能であり、以上でまとめた方法を実施するための命令を含む、記憶媒体上で実装されたコンピュータプログラム製品を提案している。
本発明の他の目的および利点は、添付図面を参考にして行なわれる実施形態の説明に照らして、明らかになるものである。
1つの起点ノードから複数の宛先ノードに向けたデータ配送の実施形態を例示する。 1実施形態に係るデータ記憶およびアクセス方法を例示する。
図1を参照すると、それぞれに、同一の仮想ネットワークに属するかまたは属していない複数の宛先ノード21、22、23に向けてメッセージ1、2、3を伝送する起点ノード10が表示されている。
起点ノード10は、宛先ノード21、22、23に対して、受信確認4〜6を伴う(すなわち「受取り通知」を伴うかまたは「acknowledgment」を伴う)伝送プロトコルを使用するリンクL1、L2、L3を介して、メッセージ1、2、3を伝送する。
各宛先ノード21〜23に向けて順序付けされたメッセージを伝送するために、各メッセージ1〜3は、起点ノード10のレベルで、起点ノード10から来て対応する宛先ノード21〜23に向かう順序付けされたメッセージ・ストリーム内のこのメッセージの位置を表わすエンド・ツー・エンド・シーケンス番号n1〜n3によりマーキングされる。換言すると、メッセージ1をマーキングするエンド・ツー・エンド・シーケンス番号n1は、起点ノード10が宛先ノード21に向けて発信する全メッセージ中のこのメッセージ1の順番を表わす。したがって、1つの宛先ノード21によりメッセージが受信されると、この宛先ノードは、受信メッセージのエンド・ツー・エンド・シーケンス番号(n1)に継起する予想されたエンド・ツー・エンド・シーケンス番号(n1+1)によってマーキングされた、起点ノード10から来るメッセージの受信を予想する。
エンド・ツー・エンド・シーケンス番号n1〜n3は、16ビットにわたり符号化される。有利には、エンド・ツー・エンド・シーケンス番号n1〜n3のサイズを16ビットに制限することは、エンド・ツー・エンド・シーケンス番号のサイズが32ビットである従来の方法に比べ、1メッセージにつき16ビットの節約を意味する。
その上、起点ノード10による全メッセージ1〜3の送信は、宛先ノード21〜23に向かって起点ノード10により発信される順序付けされた包括的データ・ストリーム内のこのメッセージの位置を表わす包括的シーケンス番号Nを増分する。換言すると、メッセージ2の包括的シーケンス番号は、宛先ノード群21〜23に宛てて起点ノード10が発信するメッセージ1〜3全体の上のその順番である。
一実施形態において、包括的シーケンス番号Nは、エンド・ツー・エンド・シーケンス番号n1〜n3と同じサイズであって、16ビットにわたり符号化される。この場合、包括的シーケンス番号Nは、2の16乗マイナス1(216−1)より大きい値を取り得ない。包括的シーケンス番号は、周期的に増分され、すなわち、この可能最大値Nmaxに達する毎に初期化される(換言すると、巡回包括的シーケンス番号、さらにはNmaxモジューロ包括的シーケンス番号)。
包括的シーケンス番号Nは、ネットワーク30上でメッセージ1〜3と共に伝送されず、起点ノード10に結びつけられた再伝送メモリ11内に保存される。
ここで、2つ以上の宛先ノード群21〜23が企図されてよく、その場合、各々の宛先ノード群について1つの包括的シーケンス番号Nが定義されるという点に留意すべきである。
ここで図2を参照すると(以上で説明したものと類似の要素には同じ参照番号が付いている)、予め定義されたサイズのハッシング・テーブル(この場合32)により、メッセージ1〜3のエンド・ツー・エンド・シーケンス番号n1〜n3を得ることが可能である。宛先ノード21はここでは、メッセージ1に割振るべきエンド・ツー・エンド・シーケンス番号n1を含む起点ノード10のレベルの記憶空間にアクセスするためのハッシング関数用のキーとして使用されている。こうして、起点ノード10のレベルで、各宛先ノード21〜23のエンド・ツー・エンド・シーケンス番号n1〜n3のシーケンス番号を記憶するために、1つの記憶空間が使用される(1宛先について1つの入力)。宛先ノード21〜23に向かってメッセージ1〜3を送る必要がある度に、宛先ノード21〜23に対応する記憶空間内に記憶されたエンド・ツー・エンド・シーケンス番号を読取ることによって、エンド・ツー・エンド・シーケンス番号n1〜n3が得られる。1つのエンド・ツー・エンド・シーケンス番号n1〜n3を毎回読取った後、読取られたエンド・ツー・エンド・シーケンス番号の増分が実施される。すなわち、宛先ノード21〜23に対しメッセージ1〜3を伝送するために、読取られたばかりのエンド・ツー・エンド・シーケンス番号は、1つだけ増分される。こうして、この同じ宛先ノードに向かって伝送すべき次のメッセージは、まさに、1だけ増分されたエンド・ツー・エンド・シーケンス番号を有することになる。
この場合、エンド・ツー・エンド・シーケンス番号のn1は、このエンド・ツー・エンド・シーケンス番号にアクセスするためのキーである宛先ノード21に向けられた各々のメッセージ1について、1だけ増分される。
このシーケンス番号n1は、宛先ノード21に宛てて起点ノード10が発信したメッセージの数と共に線形的に増分される。このシーケンス番号n1はこうして、この宛先ノード21に向けられたメッセージ全体の中で宛先ノード21に向けられたメッセージ1を識別することを可能にする。
1つの宛先ノード群21〜23あたり1つのハッシング・テーブルが定義されることが好ましい。
それぞれエンド・ツー・エンド・シーケンス番号n1〜n3(ひいては各宛先ノード21〜23)に結びつけられた2重連鎖リストc1〜c3が構成されて、そこにそれぞれメッセージ1〜3が記憶される。2重連鎖リストは、リスト中の各メッセージについて、関係するリスト中の後続するメッセージを指し示す1つのポインタ、ならびに先行するメッセージを指し示す1つのポインタを含む。
それぞれにメッセージn1〜n3を含む2重連鎖リストc1〜c3は、再伝送メモリ11内に記憶される。換言すると、起点ノード10から発信されたメッセージ1〜3のコピーが、その宛先に応じて、それぞれ2重連鎖リストc1〜c3中に挿入される。
有利には、結果として、2重連鎖リストc1〜c3は、順序付けされたメッセージ1〜3上にエラーが発生した場合、再伝送メモリ11内の全ての入力をスキャンすること、特にエラーメッセージに後続する全てのメッセージと関係する宛先ノード21〜23に向かって再伝送することを回避することになる。
その上、2重連鎖リストc1〜c3を使用することによって、宛先ノード21〜23に向かう複数のメッセージの返送を必要とするエラーが検出された場合に再伝送メモリ11のスキャン時間を短縮することが可能になり、そのために再伝送メモリの記憶空間が一貫して増大することはない。
宛先ノード21〜23に向けたメッセージ1〜3上の全てのエラーを検出できるようにするため、
− 起点ノード10がいかなる受信確認も(肯定的なものであれ否定的なものであれ)受信しなかった、ネットワーク30上で送信された最も古いメッセージ1〜3の包括的シーケンス番号Nと、
− 所与のハッシング指数について(すなわち所与の宛先ノード21〜23について)の、送信すべき次のメッセージの包括的シーケンス番号Nと、
の間の差が、予め定義された閾値に等しい場合には、ネットワーク30上のメッセージの送信は中断される。このようにして、受信したエンド・ツー・エンド・シーケンス番号n1〜n3が予想されたエンド・ツー・エンド・シーケンス番号よりも小さい場合、宛先ノード21〜23は、それから、受信したメッセージが重複メッセージであることを演繹する。反対に、受信されたメッセージ1〜3のエンド・ツー・エンド・シーケンス番号が予想されたエンド・ツー・エンド・シーケンス番号n1〜n3よりも大きい場合には、宛先ノード21〜23はそれから、メッセージが1つ紛失したことを演繹する。
このようにして、宛先ノード21〜23は、予想されたエンド・ツー・エンド・シーケンス番号n1〜n3と受信されたエンド・ツー・エンド・シーケンス番号を単に比較することによって、紛失メッセージと重複メッセージとを容易に区別できる。したがって、宛先ノード21〜23は、エラー(メッセージの紛失または重複)を検出し、必要と判断した場合、メッセージの再伝送を求める任務を有する。
好ましくは、予め定義された閾値は、包括的シーケンス番号Nの可能最大値Nmaxの半分、またはさらに一般的に、包括的シーケンス番号Nの可能最大値の半分の整数値に等しい。
実際、エンド・ツー・エンド・ストリーム制御には、送信すべき次のメッセージの包括的シーケンス番号Nである上限を有する、包括的シーケンス番号N上の幅Nmax/2のウィンドウが使用される。
このウィンドウの下限が、起点ノード10がいかなる受信確認も受信していないメッセージ1〜3に対応する場合、データ配送においてこのエラーが解決される(すなわち、紛失メッセージの再伝送を要求するかまたは受信メッセージが重複メッセージであることを考慮する)まで、ネットワーク30上のメッセージ1〜3の送信は中断される。
受信確認メッセージの紛失の処理の最適化に関しては、包括的シーケンス番号Nの半分超が使用された(すなわち閾値は、Nmax/2の整数部に等しい)ものの、発信されたメッセージ1〜3がなお、受信確認4〜6を受けていない場合、最も確率の高い2つのケースは、以下の通りである:
− 全てのメッセージ1〜3およびそのそれぞれの受信確認4〜6の配送を遅延させる、ネットワーク30の混錐状態、または
− 切離された受信確認の紛失。
その結果、起点ノード10がいかなる受信確認も受信していなかった最も古いメッセージの受信確認が受信されるまで、新規メッセージの伝送は中断されることになる。
(タイムアウトの検出に続く関係するメッセージの再伝送の後に初めてトラヒックの再開が介入するかぎりにおいて)システムの性能に対する受信確認の実際の紛失の影響を制限するために、暗示的受信確認メカニズムがトリガーされる。このメカニズムは、関係する宛先ノードに対してハッシング・テーブルを介して結びつけられた2重連鎖リストc1〜c3についての再伝送メモリ11内のメッセージをスキャンすることからなる。この同じ宛先ノード21〜23に向かう最新の順序付けされたメッセージが受信確認4〜6を受信した場合、それは、最も古いメッセージも同様に受信確認はされているがこの受信確認が紛失したことを意味する。この場合、それを暗黙の内に受信確認することが決定され、トラヒックを再開することができる。
再伝送メモリ11はさらに、メッセージの再伝送を目的としてトランスポート層を管理して所要記憶空間の増大を制限するために使用される。
一実施形態においては、再伝送メモリ11の読取りおよび書込みポート数を増大させるため、このメモリは複数のメモリ・バンクに切断される。一例を挙げると、伝送メモリは、利用可能な読込みおよび書込みポート数を4倍するために4つのメモリ・バンクに切断される。異なるメモリ・バンク上のメッセージの分布は、メッセージ1〜3の宛先ノード21〜23に依存するハッシング関数によって決定され得る。
その結果、有利には、再伝送メモリ11は、アプリケーション層(メッセージの終了事象の送信)と同時にトランスポート層(再伝送の管理)のためにも使用され得、しかも、毎秒処理できるメッセージ数に関してノードの性能に影響を及ぼすことはない。
一実施形態において、メッセージのスケジューリングは、4つのうち2つの仮想ネットワークについてのみ行なわれる。これにより、エンド・ツー・エンド・シーケンス番号を記憶するために必要な再伝送メモリ11のサイズを半分にすることができる。その上、エラー補正コードの影響を制限するため、2つのシーケンス番号(仮想ネットワーク1つあたり1個)は、同じ入力の中に記憶され、唯一の同じエラー補正コードにより保護される。これにより、性能に影響を及ぼすことなく、補足的に10パーセントのメモリの節約が可能になる(各サイクルにおいて最大で、2つの仮想ネットワークのうちの1つについて唯一のシーケンス番号しか必要でない)。
有利にも、上述の実施形態は、データ起点ノードと1つ以上の宛先ノードの間で、使用される受信確認を伴う伝送プロトコルのタイプの如何に関わらず、適用される。この伝送プロトコルは、ポイント・ツー・ポイント・モードでも、ポイント・ツー・マルチポイント・モードでもあり得る。非限定的な例として、この受信確認を伴う伝送プロトコルは、TCP(Transmission Control Protocolの略)、またはSCTP(Stream Control Protocol)であり得る。
以上の説明全体を通して、「ノード」なる用語は、端末、サーバーまたはルーターなどのIP通信ネットワーク内の全てのデータ起点および/または宛先要素を意味することを指摘しておくべきである。同様に、メッセージとは、ここでは、データのパケットまたはフレームを意味する。
有利にも、以上で説明した実施形態は、特に記憶空間に関して最小限のリソースの力を活用しながら、複数のリンク上でのデータの順序付けされた高い信頼性の(すなわち紛失のない)配送を可能にする。
有利にも、上述の異なる実施形態は、リソースおよび性能に関して、パケット通信ネットワークにおけるストリーム制御を最適化することができる。

Claims (10)

  1. 通信ネットワーク内で起点ノード(10)から宛先ノード群(21〜23)に向かうデータの受信確認を伴う配送におけるエンド・ツー・エンド信頼性を管理する方法において、宛先ノード群(21〜23)が少なくとも1つの第1の宛先ノード(21)を含む方法であって、
    − 前記第1の宛先ノード(21)が起点ノード(10)から来る第1のメッセージを受信した後、前記第1の宛先ノード(21)が、前記起点ノード(10)から伝送されて前記第1の宛先ノード(21)が受信する第2のメッセージにマーキングされているエンド・ツー・エンド・シーケンス番号を予想し、かつ、前記起点ノード(10)が、増分的エンド・ツー・エンドシーケンス番号(n1)によって、前記第1の宛先ノード(21)に宛てて起点ノード(10)から伝送される第2のメッセージをマーキングするステップと;
    − 宛先ノード群(21〜23)の中に含まれる1つの宛先ノード(21〜23)に宛てて起点ノード(10)からメッセージ(1〜3)を伝送した時点で、宛先ノード群(21〜23)に宛てて起点ノード(10)が発信した順序付けされた包括的データ・ストリーム内の前記メッセージ(1〜3)の位置を表わす包括的シーケンス番号を増分させるステップであって、この包括的シーケンス番号が、予め定義された最大値まで増分され得るものである、ステップと;
    − 起点ノード(10)から宛先ノード群内に含まれる1つの宛先ノードに宛てて伝送されかつそれについての受信確認を起点ノードが受信していない最も古いメッセージの包括的シーケンス番号を識別するステップと;
    − 起点ノード(10)から宛先ノード群(21〜23)の中に含まれる1つの宛先ノード(21〜23)に宛てて伝送すべき次のメッセージの包括的シーケンス番号と、識別された包括的シーケンス番号との間の差を計算するステップと;
    − 計算された差が予め定義された閾値に等しい場合、起点ノード(10)から宛先ノード群(21〜23)に宛てた新規メッセージの伝送を中断するステップと;
    − この中断の後、前記第1の宛先ノード(21)においてタイムアウトが検出された場合、前記第1の宛先ノード(21)が、前記第1の宛先ノード(21)により受信された前記起点ノード(10)から来た過去のメッセージマーキングされているエンド・ツー・エンドシーケンス番号(n1)と、当該メッセージに対して予想されたエンド・ツー・エンドシーケンス番号を比較して異なるか否かを判定し、異なる場合、前記第1の宛先ノード(21)が、データ配送におけるエラーの存在を演繹するステップと、
    を含む方法。
  2. 前記データ配送におけるエラーの存在を演繹するステップにおいて、受信したメッセージをマーキングするエンド・ツー・エンドシーケンス番号(n1)が予想されたエンド・ツー・エンド・シーケンス番号より大きい場合、演繹される前記エラーはメッセージの紛失である、請求項1に記載の方法。
  3. 前記データ配送におけるエラーの存在を演繹するステップにおいて、受信したメッセージをマーキングするエンド・ツー・エンド・シーケンス番号(n1)が予想されたエンド・ツー・エンド・シーケンス番号より小さい場合、演繹される前記エラーは、受信メッセージが重複メッセージであることである、請求項1に記載の方法。
  4. 予め定義された閾値が、前記予め定義された最大値の半分の整数値である、請求項1〜3のいずれか一項に記載の方法。
  5. 包括的シーケンス番号が前記予め定義された最大値に達した場合、この包括的シーケンス番号の初期化ステップをさらに含む、請求項1〜4のいずれか一項に記載の方法。
  6. 包括的シーケンス番号が16ビットにわたり符号化される、請求項1〜5のいずれか一項に記載の方法。
  7. エンド・ツー・エンド・シーケンス番号が16ビットにわたり符号化される、請求項1〜6のいずれか一項に記載の方法。
  8. 起点ノードから宛先ノード(21〜23)に宛てたメッセージ(1〜3)の伝送のために、前記宛先ノード(21〜23)に対応するエンド・ツー・エンド・シーケンス番号を読取るステップであって、この番号が前記起点ノード(10)の再伝送メモリ内で記憶されるステップと、読取られたエンド・ツー・エンド・シーケンス番号を1だけ増分するステップとをさらに含み、1だけ増分したエンド・ツー・エンド・シーケンス番号は再伝送メモリ内に記憶され、かつ、前記1だけ増分したエンド・ツー・エンド・シーケンス番号は、起点ノードから宛先ノード(21〜23)に宛てた次のメッセージをマーキングするために使用される、請求項1〜7のいずれか一項に記載の方法。
  9. − 再伝送メモリ内に包括的シーケンス番号を記憶するステップと;
    − 2重連鎖リスト内に前記第1の宛先ノード(21)に伝送された各メッセージを記憶するステップであって、この2重連鎖リストが前記再伝送メモリ内に記憶され前記第1の宛先ノードに結びつけられている、ステップと、
    をさらに含む、請求項1〜8のいずれか一項に記載の方法。
  10. 情報処理ユニットの内部で使用可能であり、請求項1〜9の一項に記載の方法を実施するための命令を含む、記憶媒体上で実装されたコンピュータプログラム
JP2016567377A 2014-06-06 2015-05-21 ストリーム制御の方法およびシステム Expired - Fee Related JP6547973B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1455147A FR3022094B1 (fr) 2014-06-06 2014-06-06 Methode et systeme de controle de flux
FR1455147 2014-06-06
PCT/FR2015/051343 WO2015185824A1 (fr) 2014-06-06 2015-05-21 Méthode et système de contrôle de flux

Publications (2)

Publication Number Publication Date
JP2017530566A JP2017530566A (ja) 2017-10-12
JP6547973B2 true JP6547973B2 (ja) 2019-07-24

Family

ID=51862393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016567377A Expired - Fee Related JP6547973B2 (ja) 2014-06-06 2015-05-21 ストリーム制御の方法およびシステム

Country Status (6)

Country Link
US (1) US10110350B2 (ja)
EP (1) EP3152876A1 (ja)
JP (1) JP6547973B2 (ja)
BR (1) BR112016028224A2 (ja)
FR (1) FR3022094B1 (ja)
WO (1) WO2015185824A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190238605A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Verification of streaming message sequence
CN111970102B (zh) * 2020-08-31 2023-06-23 Oppo广东移动通信有限公司 数据处理方法、装置、电子设备及存储介质
US11695677B2 (en) * 2020-12-04 2023-07-04 Chicago Mercantile Exchange Inc. Secure message processing protocol

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754754A (en) * 1995-07-26 1998-05-19 International Business Machines Corporation Transmission order based selective repeat data transmission error recovery system and method
US6629285B1 (en) * 2000-01-04 2003-09-30 Nokia Corporation Data transmission
AU2002339530A1 (en) * 2002-09-07 2004-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for efficient data transmission link control in mobile multicast communication systems
US7394769B2 (en) * 2003-08-14 2008-07-01 International Business Machines Corporation Method, system and article for rapid detection and avoidance of high data corrupting routes within a network
AU2005320417B2 (en) * 2004-12-27 2009-12-10 Lg Electronics Inc. Supporting hybrid automatic retransmission request in orthogonal frequency division multiplexing access radio access system
US9379852B2 (en) * 2006-09-05 2016-06-28 Nec Corporation Packet recovery method, communication system, information processing device, and program
US8310920B2 (en) * 2007-03-02 2012-11-13 Saratoga Data Systems, Inc. Method and system for accelerating transmission of data between network devices
US7693070B2 (en) * 2007-03-15 2010-04-06 International Business Machines Corporation Congestion reducing reliable transport packet retry engine
KR101428041B1 (ko) * 2007-10-03 2014-08-07 삼성전자주식회사 통신 시스템에서 자동 재송신 요구 피드백 정보 엘리먼트송수신 장치 및 방법
CN101924603B (zh) * 2009-06-09 2014-08-20 华为技术有限公司 数据传输速率的自适应调整方法、装置及系统
US9531508B2 (en) * 2009-12-23 2016-12-27 Pismo Labs Technology Limited Methods and systems for estimating missing data
US9628226B2 (en) * 2010-09-30 2017-04-18 Qualcomm Incorporated Block acknowledgement with retransmission policy differentiation
US8971391B2 (en) * 2011-09-30 2015-03-03 Broadcom Corporation Systems and methods for equalizing retransmission delays for data retransmission over bonded modems
US20140269461A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Systems and methods for link augmentation

Also Published As

Publication number Publication date
WO2015185824A1 (fr) 2015-12-10
US20170163386A1 (en) 2017-06-08
EP3152876A1 (fr) 2017-04-12
FR3022094B1 (fr) 2017-12-08
US10110350B2 (en) 2018-10-23
FR3022094A1 (fr) 2015-12-11
JP2017530566A (ja) 2017-10-12
BR112016028224A2 (pt) 2017-08-22

Similar Documents

Publication Publication Date Title
US20220014312A1 (en) Data transmission method and apparatus
JP2825120B2 (ja) マルチキャスト伝送のための方法及び通信ネットワーク
US9178665B2 (en) Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
US10594442B2 (en) End-to-end negative acknowledgment
US9866351B2 (en) Communication method and communication apparatus
JP4546542B2 (ja) 重複受信確認を用いたデータフロー制御
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
CN103503357A (zh) 控制网络设备的行为
US7653060B2 (en) System and method for implementing ASI over long distances
JP4869169B2 (ja) データ送信装置およびデータ再送方法
JP6547973B2 (ja) ストリーム制御の方法およびシステム
BR112014010384B1 (pt) Método para a transmissão e recebimento de uma mensagem a partir de um emissor, transmissor para a transmissão de uma mensagem a partir de um emissor, receptor para o recebimento de uma mensagem a partir de um emissor e interface de rede para conversão de uma comunicação de multidifusão
EP1139602A1 (en) Method and device for multicasting
JP2009089197A (ja) 中継装置
JP2005244897A (ja) 信頼性のある通信方法及びその装置
CN113852445A (zh) 一种提高数据传输可靠性的方法、系统、设备和存储介质
US8239722B2 (en) Packet retransmission control method and apparatus in multicast communication
US20070286197A1 (en) Interoperable transport protocol for internetwork routing
RU2735232C1 (ru) Способ и устройство для обновления количества повторных передач в беспроводной ячеистой сети
WO2012043142A1 (ja) マルチキャストルータ及びマルチキャストネットワークシステム
WO2023222235A1 (en) Switch controller, sending controller and methods for use in switch controller and sending controller in reliable multicast communication
CN118679723A (zh) 选择重传连接的高效重路由
JP2005167352A (ja) 送信装置およびプログラム
JP3930842B2 (ja) パケット送信装置
KR101510902B1 (ko) 무선 네트워크에서의 라우팅 정보 전송방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190422

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: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190611

R150 Certificate of patent or registration of utility model

Ref document number: 6547973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees