JP2023053152A - パケット損失の動的管理 - Google Patents

パケット損失の動的管理 Download PDF

Info

Publication number
JP2023053152A
JP2023053152A JP2023019073A JP2023019073A JP2023053152A JP 2023053152 A JP2023053152 A JP 2023053152A JP 2023019073 A JP2023019073 A JP 2023019073A JP 2023019073 A JP2023019073 A JP 2023019073A JP 2023053152 A JP2023053152 A JP 2023053152A
Authority
JP
Japan
Prior art keywords
packets
packet
duplicate
acknowledgment
transmitted
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
JP2023019073A
Other languages
English (en)
Inventor
バラーダラジャン,スッブ
Varadarajan Subbu
ロイ アンソニーラジ,ロザリン
Roy Antonyraj Rosarin
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.)
Zycada Networks Inc
Original Assignee
Zycada Networks Inc
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 Zycada Networks Inc filed Critical Zycada Networks Inc
Publication of JP2023053152A publication Critical patent/JP2023053152A/ja
Pending legal-status Critical Current

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/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/1809Selective-repeat protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

Figure 2023053152000001
【課題】パケット損失を管理する従来方式のシステムを補完又は代替する。
【解決手段】例示的な方法、装置及びシステムは、パケットのシーケンスとして宛先計算ノードに送信される複数パケットのうち1個のパケットを複製することを含む。当該パケットの複製を含む複数のパケットは宛先計算ノードに送信される。宛先計算ノードから当該パケットの第1の確認応答を受信した場合、第1の確認応答が複製対象パケット宛であると判定される。第1の確認応答が複製対象パケット宛であるとの判定に応答して、当該パケットに先行して送信された複数パケットのうち1個以上のパケットの各々に対して第2の確認応答が未だ受信されていないと判定される。第2の確認応答が未だ受信されていないとの判定に応答して、当該1個以上のパケットが宛先計算ノードに再送信される。
【選択図】図3

Description

技術分野
[0001] 本明細書に記述する各種実施形態はパケット損失の管理に関する。特に、実施形態は、パケットのサブセットの余剰コピーを利用して、複製対象パケットの確認応答を受信する確率を高めると共に、複製対象パケットの確認応答に基づいて、複製非対象パケットの確認応答がなされていないかを判定する。
発明の背景
[0002] 伝送制御プロトコル(TCP)等のネットワークプロトコルは再送信タイマーを利用して、受信器が確認応答していないデータが確実に再送信されるようにする。例えば、このようなタイマーは、既定値又は送信器と受信器との間で測定された往復時間に基づく値に設定されてよい。パケットの確認応答を受信する前にタイマーが時間切れになったならばパケットは再送信され、タイマーの設定時間を延長することができる。例えば無線ネットワーク接続によるパケット損失量が増大及び変化するのに伴い、損失パケットを再送信するための再送信タイマーの設定時間切れを待つことによりデータの配信が遅くなる可能性がある。
概要
[0003] パケットのシーケンスのうち送信するパケットの複製コピーの個数を動的に決定することによりパケット損失を管理する装置及び方法に対するニーズがある。このようなシステム及び方法は任意選択的に、パケット損失を管理する従来方式のシステムを補完又は代替する。
[0004] いくつかの実施形態によれば、一方法は、パケットのシーケンスとして宛先計算ノードに送信する複数パケットのうち1個のパケットを複製することを含んでいる。方法は又、当該パケットの複製を含む複数パケットを宛先計算ノードに送信することを含んでいる。方法は又、宛先計算ノードから当該パケットの第1の確認応答を受信することを含んでいる。方法は又、第1の確認応答が複製対象パケット宛であると判定することを含んでいる。方法は又、第1の確認応答が複製対象パケット宛であるとの判定に応答して、当該パケットに先行して送信された複数パケットのうち1個以上のパケットの各々に対して第2の確認応答が未だ受信されていないと判定することを含んでいる。方法は又、第2の確認応答が未だ受信されていないとの判定に応答して、当該1個以上のパケットを宛先計算ノードに再送信することを含んでいる。
[0005] いくつかの実施形態において、当該パケットは、複数パケットのサブセットのうち、複製され且つ複製と共に宛先計算ノードに送信される1以上のパケットの1個である。
[0006] いくつかの実施形態において、サブセットに含まれるパケットの複製は、最小個数の複製非対象パケットが各複製対象パケットの1回目の送信に先行して送信され、且つ各複製パケットが複製パケットの原本に続いて送信されるように、宛先計算ノードに送信されるパケットのシーケンス内で分散されている。
[0007] いくつかの実施形態において、サブセットに含まれるパケットの複製は、パケットのシーケンスのうち全ての複製非対象パケットが送信された後で送信される。
[0008] いくつかの実施形態において、方法は、宛先計算ノードへパケットを送信する際のパケット損失量を判定すること、及び判定されたパケット損失量に基づいて、複製してサブセットに含めるパケットの個数を設定することを含んでいる。
[0009] いくつかの実施形態において、方法は、宛先計算ノードへパケットを送信する際のパケット損失量が閾値を超えたと判定することを含み、パケット損失量が閾値を超えたとの判定に応答して、サブセットに含めるパケットの個数をゼロに設定する。
[0010] いくつかの実施形態において、方法は、宛先計算ノードへパケットを送信する際のパケット損失量を判定すること、及び判定されたパケット損失量に基づいて、サブセット内における各パケットの複製の個数を設定することを含んでいる。
[0011] いくつかの実施形態において、パケットのシーケンス内でパケットの複製がシーケンス内の後続する各々の複製対象パケットの後に挿入される。
[0012] いくつかの実施形態によれば、非一時的コンピュータ可読媒体は、処理装置により実行された場合に処理装置に方法を実行させる命令を保存している。当該方法は、パケットのシーケンスとして宛先計算ノードに送信する複数パケットのうち1個のパケットを複製することを含んでいる。当該方法は又、当該パケットの複製を含む複数パケットを宛先計算ノードに送信することを含んでいる。当該方法は又、宛先計算ノードから当該パケットの第1の確認応答を受信することを含んでいる。当該方法は又、第1の確認応答が複製対象パケット宛であると判定することを含んでいる。当該方法は又、第1の確認応答が複製対象パケット宛であるとの判定に応答して、対象パケットに先行して送信された複数パケットのうち1個以上のパケットの各々に対して第2の確認応答が未だ受信されていないと判定することを含んでいる。当該方法は又、第2の確認応答が未だ受信されていないとの判定に応答して、対象1個以上のパケットを宛先計算ノードに再送信することを含んでいる。
[0013] いくつかの実施形態において、当該パケットは、複数パケットのサブセットのうち、複製され且つ複製と共に宛先計算ノードに送信される複数パケットの1個である。
[0014] いくつかの実施形態において、サブセットに含まれるパケットの複製は、最小個数の複製非対象パケットが各複製対象パケットの1回目の送信に先行して送信され、且つ各複製パケットが複製パケットの原本に続いて送信されるように、宛先計算ノードに送信されるパケットのシーケンス内で分散されている。
[0015] いくつかの実施形態において、サブセットに含まれるパケットの複製は、パケットのシーケンスのうち全ての複製非対象パケットが送信された後で送信される。
[0016] いくつかの実施形態において、当該命令は、処理装置に、宛先計算ノードへパケットを送信する際のパケット損失量を判定させ、判定されたパケット損失量に基づいて、複製してサブセットに含めるパケットの個数を設定させる命令を含んでいる。
[0017] いくつかの実施形態において、当該命令は、処理装置に、宛先計算ノードへパケットを送信する際のパケット損失量が閾値を超えたと判定させる命令を含み、パケット損失量が閾値を超えたとの判定に応答して、サブセットに含めるパケットの個数をゼロに設定する。
[0018] いくつかの実施形態において、当該命令は、処理装置に、宛先計算ノードへパケットを送信する際のパケット損失量を判定させ、判定されたパケット損失量に基づいて、サブセット内における各パケットの複製の個数を設定させる命令を含んでいる。
[0019] いくつかの実施形態において、パケットのシーケンス内でパケットの複製がシーケンス内の後続する各々の複製対象パケットの後に挿入される。
[0020] いくつかの実施形態によれば、一装置は、処理装置と、処理装置に結合されたメモリとを含んでいる。メモリは、処理装置により実行された場合に装置に、パケットのシーケンスとして宛先計算ノードに送信する複数パケットのうち1個のパケットを複製させる命令を格納している。当該命令は又、装置に、当該パケットの複製を含む複数パケットを宛先計算ノードに送信させる。当該命令は又、装置に、宛先計算ノードから当該パケットの第1の確認応答を受信させる。当該命令は又、装置に、第1の確認応答が複製対象パケット宛であると判定させる。当該命令は又、装置に、第1の確認応答が複製対象パケット宛であるとの判定に応答して、当該パケットに先行して送信された複数パケットのうち1個以上のパケットの各々に対して第2の確認応答が未だ受信されていないと判定させる。当該命令は又、装置に、第2の確認応答が未だ受信されていないとの判定に応答して、当該1個以上のパケットを宛先計算ノードに再送信させる。
[0021] いくつかの実施形態において、当該パケットは、複数パケットのサブセットのうち、複製され且つ複製と共に宛先計算ノードに送信される1以上のパケットの1個である。
[0022] いくつかの実施形態において、サブセットに含まれるパケットの複製は、最小個数の複製非対象パケットが各複製対象パケットの1回目の送信に先行して送信され、且つ各複製パケットが複製パケットの原本に続いて送信されるように、宛先計算ノードに送信されるパケットのシーケンス内で分散されている。
[0023] いくつかの実施形態において、サブセットに含まれるパケットの複製は、パケットのシーケンスのうち全ての複製非対象パケットが送信された後で送信される。
図面の簡単な説明
[0024] 本実施形態を、添付図面の各図を例として参照しながら、但しこれらに限定することなく説明し、類似参照符号は類似要素を示している。
[0025]ネットワークを形成すると共に、パケット損失を管理する実施形態を実装する処理装置をブロック図形式で示す。 [0026]パケットのサブセットの余剰コピーを含むパケットの3個の例示的なバーストを示す。 [0027]パケット損失を管理する例示的な方法を示すフロー図である。
発明の詳細な説明
[0028] 本明細書は、パケットのシーケンスのうち、送信するパケットの複製コピーの個数を動的に決定し、且つ複製対象パケットの確認応答を利用して複製非対象パケットの損失を検出することにより、パケット損失を管理する実施形態を記述する。例えば、実施形態は、パケットのシーケンスとして宛先計算ノードに送信する複数パケットのうち1個のパケットの1個以上の複製を生成する。当該パケットの1個以上の複製を含む複数パケットが宛先計算ノードに送信される。当該パケットの複数のコピーを送信する場合、宛先計算ノードが当該パケットを受信及び確認応答する確率が増大する。宛先計算ノードから当該パケットの第1の確認応答を受信した場合、実施形態は、第1の確認応答が複製対象パケット宛であると判定する。確認応答が複製対象パケット宛であるとの判定に応答して、実施形態は、シーケンス内の当該パケットの原本に先行して送信された複数パケットのうち1個以上のパケットの確認応答が未受信であるかを判定する。当該パケットに先行して送信された1個以上のパケットのいずれかの確認応答が未受信との判定に応答して、実施形態は、対応する1個以上のパケットを宛先計算ノードに再送信する。一実施形態において、判定されたパケット損失量に基づいて、複製するパケットの個数及び/又は生成された複製コピーの個数が設定される。その結果、実施形態は、送信する複製パケットの量を動的に調整しつつ、再送信タイマーの設定時間切れに先行してパケットの損失を検出して対応する。
[0029] 図1に、複数の処理装置であって、その1個以上が本明細書に記述するようにパケット損失の管理の実施形態を実装している複数の処理装置を含む例示的なネットワーク100をブロック図形式で示す。データ内容はネットワーク100を介して、例えば送信元105から宛先125に送信される。データは、宛先125に到達する前に出口ノード110、中間ノード115、及び入口ノード120を含む経路に沿って送信される。送信元105は、エンドユーザー装置(例えば、パーソナルコンピュータ、モバイル機器等)及び/又はサーバ等の1個以上の処理装置を表す。同様に、宛先125は、エンドユーザー装置(例えば、パーソナルコンピュータ、モバイル機器等)及び/又はサーバ等の1個以上の処理装置を表す。一実施形態において、宛先125は無線接続を介してネットワーク100に結合されたエンドユーザー装置である。
[0030] 一実施形態において、1個以上の出口ノード110、中間ノード115、及び入口ノード120は、コンテンツ配信ネットワーク(CDN)の一部である。CDNは、複数のデータセンタに設置されたネットワークサーバノードの地理的に分散された組を含んでいる。CDNネットワークサーバノードは、高い可用性及び性能でコンテンツを提供すべく構成されている。
[0031] 入口ノード120は、ハードウェア130を含む状態で示されている。送信元105、出口ノード110、中間ノード115、及び宛先125の各々は又、同様のハードウェアを含んでいてよい。ハードウェア130は、1個以上のプロセッサ(「CPU」)、データストレージ及びメモリ(例えば、「RAM」)、並びにネットワークインターフェースコントローラ(「NIC」)を含んでいる。データストレージ及びメモリは、データ、メタデータ及びプロセッサにより実行されるプログラムの格納に用いられてよい。データストレージ及びメモリは、ランダムアクセスメモリ(「RAM」)、読み出し専用メモリ(「ROM」)、固体ディスク(「SSD」)、フラッシュ、位相変化メモリ(「PCM」)等の、1個以上の揮発性及び不揮発性メモリ、又は磁気ディスクドライブ、光ディスクドライブ等の他の種類のデータストレージを含んでいてよい。メモリは内蔵又は分散メモリであってよい。1個以上のバス(図示せず)を用いてハードウェア130の各種の要素を相互接続することができる。又、NICを用いて、有線又は無線ネットワークを介して入口ノード120を中間ノード115及び宛先125と接続することができる。
[0032] 入口ノード120は、パケット損失モジュール135を含む状態でも示されている。一実施形態において、パケット損失モジュール135は、例えば図2~3を参照しながら記述するように、複製パケットを用いてパケット損失を監視して、損失パケットを再送信する。一実施形態において、1個以上の出口ノード110及び中間ノード115の各々も又パケット損失モジュール135を含んでいる。
[0033] 図2に、パケットのサブセットの余剰コピーを含む、パケットの例示的なバースト200、225及び230を示す。図示するように、バースト200、225及び230の各々は100個のパケットのシーケンスを含んでいる。しかし、パケットのバーストは本例に示すよりも少ない又は多くのパケットを含んでいてよい。バースト200、225及び230の各々は、N番目(N=5)のパケット毎に複製を含む状態で示されている。N番目のパケット毎に複製することで、複製対象パケット間で最小個数の複製非対象パケットが送信される。パケットの複製コピーは、複製であることを強調すべくアステリスクで示している。例えば、複製205はシーケンス内で5番目のパケットのコピー、複製210はシーケンス内で10番目のパケットのコピー、複製215はシーケンス内の15番目のパケットのコピー、複製220はシーケンス内で20番目のパケットのコピーである。このパターンの複製は、図2の丸で表すように、シーケンスの残り全体にわたり継続される。図3を参照しながら記述するように、Nの値は可変であってよく、また既定値に基づいて、又は宛先125パケットを送信する際に判定されたパケット損失量に基づいて設定されてよい。
[0034] 一実施形態において、各複製対象パケットのX個のコピーが生成されてシーケンス内に挿入される。例えば、各複製対象パケットの1個以上のコピーが、パケットの原本の後に、及び/又はパケットのシーケンス終端に挿入されてよい。Xの値が大きいほど、宛先125が複製対象パケットを受信して確認応答する可能性が高くなる。バースト200及び225は、5番目のパケットの直後に1個の複製205だけを有する状態で示されている。同様に、バースト230は、100番目のパケットの直後に1個の複製205だけを有する状態で示されている。しかし、一実施形態において、複数の複製205は、5番目のパケットの直後(例えば、シーケンス内の複製されていない6番目のパケットの前)、100番目のパケットの直後、又はシーケンス内で5番目のパケットの確認応答を受信する可能性を高めるべく他の箇所にあってよい。同様に、複数の複製210、215、220等は、対応する元パケットの直後に、又はバーストの最後のパケットの後に挿入されてよい。図3を参照しながら記述するように、Xの値は可変であり得、既定値に基づいて、又は宛先125へパケットを送信する際の判定されたパケット損失量に基づいて設定されてよい。
[0035] 一実施形態において、(例えば上述のようにXで定義された)各複製対象パケットの1個以上のコピーが、パケットの原本の後に、且つシーケンス内での後続する各々の複製対象パケットの後に挿入される。例えば、図示するように、5番目のパケットの複製205は、5番目のパケットの後に、及び後続する各々のN番目のパケット(第10、第15、第20等)の後に挿入される。10番目のパケットの複製210は、10番目のパケットの後に、及び後続する各々のN番目のパケット(15番目、20番目等)の後に挿入される。複製をバースト200の全体にわたり分散させることで、たとえ損失パケットのクラスタが存在しても、宛先125が複製対象パケットを受信して確認応答する可能性を高める。代替的に、各複製対象パケットの1個以上のコピーが挿入されるのはパケットの対応する原本の後だけであって、シーケンスでの後続する各々の複製対象パケットの後には挿入されない。
[0036] 別の実施形態において、シーケンス内で複製対象パケットの最大個数(M)個がバースト内の各位置に挿入される。例えば、バースト225に示すように、M=2であるため複製パケットの2個のインスタンスだけがバースト225内の各位置に挿入される。5番目のパケットの複製205が5番目のパケットの後に挿入される。この時点で他の複製パケットが存在しないため、1個の複製だけが挿入される。5番目のパケットの複製205及び10番目のパケットの複製210が10番目のパケットの後に挿入される。しかし、15番目のパケット後に、5番目のパケットの複製205はもはや挿入されない。本例では、複製パケットの個数がMを超えそうな場合、バースト内の先のパケットが複製から除外される。このように、10番目のパケットの複製210及び15番目のパケットの複製215が15番目のパケットの後に挿入されるが、5番目のパケットの複製205は挿入されない。同様に、15番目のパケットの複製215及び20番目のパケットの複製220が20番目のパケットの後に挿入されるが、複製205及び210は挿入されない。
[0037] 一実施形態において、(例えば上述のようにXで定義された)各複製対象パケットの1個以上のコピーが、パケットのバーストの終端に挿入される。例えば、バースト230は、バースト200及び225に示すように、全体にわたり分散された複製を含んでいない。代わりに、バースト230は、バーストの終端に複製を含んでいるだけである。別の例において、パケットのバーストは、元パケットの直後に1個以上の複製(例えば、シーケンス内で5番目のパケットの後の複製205)及びバーストの終端(例えば、シーケンス内で100番目のパケットの後の複製205)に1個以上の複製を含んでいてよいが、それ以外では全体にわたり分散されない(例えば、10番目、15番目等のパケットの後には複製205は無い)。更に別の一実施形態において、図示するように、バースト200は複製をバーストの全体にわたり分散された状態で、及び終端に含んでいてよい。
[0038] 図3は、パケット損失を管理する例示的な方法300を示すフロー図である。ブロック305において、パケット損失モジュール135は、一連のパケットの組内でN番目のパケット毎に1個以上の複製を生成する。例えば、図2を参照しながら記述するように、N番目のパケット毎にX個の複製を生成することができる。パケット損失モジュールは、X及びNの既定値を用いてもよく、又はブロック350に関して後述するように、推定されたパケット損失値に基づいてX及びNの値を設定してのよい。
[0039] ブロック310において、パケット損失モジュール135は、複数されたパケットのシーケンス番号(又はバースト内でパケットを一意に識別する他の識別子、以下「シーケンス番号」)を保存する。これらのシーケンス番号は、宛先125により受信及び確認応答される可能性が高い「マーカーパケット」を示す。これらのマーカーパケットのシーケンス番号は、パケット損失モジュール135が当該番号を宛先125からの確認応答で受信されたシーケンス番号と比較できるように、保存される。
[0040] ブロック315において、パケット損失モジュール135は、一連のパケットの組を複製コピーと共に宛先125に送信する。図2を参照しながら記述するように、複製コピーは、対応する原本の後に挿入されていても、シーケンス全体にわたり分散されても、及び/又はパケットの組の終端に挿入されていてもよい。
[0041] ブロック320において、パケット損失モジュール135は宛先125から確認応答を受信する。例えば、パケット損失モジュール135は、Internet Engineering Task Force (IETF) RFC 2018 TCP Selective Acknowledgment Optionsに従い確認応答又は選択的確認応答を受信することができる。一実施形態において、受信した確認応答は、宛先125により受信されたパケットのシーケンス番号(又は他の一意な識別子)を含んでいる。
[0042] ブロック325において、パケット損失モジュール135は、受信した確認応答が複製対象マーカーパケットのシーケンス番号(又は他の一意な識別子)を含むか否かを判定する。受信した確認応答が複製対象マーカーパケットのシーケンス番号を含んでいない場合、ブロック330において、パケット損失モジュールは任意選択的に、確認応答された複製非対象パケットシーケンス番号のコピーを保存するか、又は成功裏に送信されて再送信する必要がないパケットを確認すべく、確認応答されたパケットを表す値を更新する。
[0043] ブロック335において、パケット損失モジュール135は、組内の追加的なパケットがまだ確認応答されるべきかを判定する。全てのパケットが確認応答されている場合、方法300はブロック305に戻ってパケットの別のバーストを送信する。組内の追加的なパケットがまだ確認応答されるべきである場合、方法300はブロック320に戻って追加的な確認応答を待つ。
[0044] 受信した確認応答が複製対象マーカーパケットのシーケンス番号を含んでいる場合、ブロック340において、パケット損失モジュール135は、シーケンス内で複製対象パケットに先行する複製非対象パケットに確認応答が欠如しているか否かを判定する。例えば、パケット損失モジュール135は、ブロック330を参照しながら記述するように、確認応答シーケンス番号を保存して、現在確認応答されているパケットより前のどのパケットがデータ構造又は他の表現から欠如しているかを判定してもよい。代替的に、受信した確認応答は、受信した1個以上のパケットの複数の設定を示すことができ、従ってどのパケットが確認応答されていないかが示唆される。
[0045] 一実施形態において、パケット損失モジュール135は、シーケンス内で現在の複製対象パケットに先行するN-1個の複製非対象パケットのいずれかの確認応答が欠如しているか否かを判定する。図2に示す例を参照するに、パケット損失モジュール135が一連のパケットの組の10番目のパケットの確認応答を受信して、10番目のパケットが複製されている(例えば、複製210)と判定した場合、パケット損失モジュール135は、6~9番目のパケット(例えばバースト200ではN=5、N-1=4であり、シーケンス内の10番目のパケットに先行する4個のパケットは、6番目、7番目、8番目、及び9番目のパケットである)が確認応答されているか否かを判定する。代替的に、パケット損失モジュール135は、シーケンス内の現在の複製対象パケットに先行するパケットの確認応答が欠如しているか否かを判定する(例えば、バースト200内の10番目のパケットの確認応答について、1~9番目のパケットの確認応答の欠如を評価する)。
[0046] 先行パケットの確認応答が欠如している場合、ブロック345において、パケット損失モジュール135は、確認応答が欠如していると判定された先行パケットのコピーを再送信する。その結果、パケット損失モジュール135は、複製対象マーカーパケットの確認応答の受信に応答して、確認応答が欠如しているパケットを、例えば再送信タイマーの設定時間切れを待つことなく再送信することが可能である。
[0047] どの先行パケットも確認応答が欠如していない、又は確認応答されていないパケットの再送が続かない場合、ブロック350において、パケット損失モジュール135は任意選択的に、宛先125へのパケット送信について、推定されたパケット損失値を更新する。例えば、パケット損失モジュール135は、宛先125に送信されたパケットのパケット損失を表すパーセンテージ又は他の値を計算することができる。1つのシーケンス内の20個のパケットのうち1個が失われた場合、パケット損失モジュール135は、宛先125へパケットを送信する際のパケット損失値を5%と計算することができる。
[0048] 一実施形態において、推定されたパケット損失値は、後続バースト内のパケットを複製する際に用いるXの値及び/又はNの値にマッピングされる。例えば、パケット損失モジュール135は、データ構造を利用してパケット損失値又はパケット損失値の範囲をXの値及び/又はNの値にマッピングすることができる。パケット損失値が増大するにつれて、X及び/又はNの値も増大する。一実施形態において、パケット損失モジュール135は、パケット損失値が閾値を超えたか否かを判定し、超えた場合、パケットを複製する必要がないと判定する。例えば、パケット損失が12%又は他の閾値を超えた場合、パケット損失モジュール135は、宛先125が無線接続を喪失する恐れがある、又は方法300によるパケットの再送に利点がないと判定することができる。
[0049] 任意選択的ブロック350に続いて、方法300はブロック335に戻って一連のパケットの組内に確認応答すべき追加的なパケットが残っているか否かを判定する。
[0050] 上の記述から、本発明の態様が少なくとも一部はソフトウェアで実現可能であることは明らかであろう。すなわち、パケット損失モジュール135及び/又はコンピュータ実行方法300は、コンピュータシステム又はノード110、115、及び/又は120等の他のデータ処理システムにおいて、メモリ又は他の非一時的機械可読記憶媒体に含まれる命令のシーケンスを自身のプロセッサが実行したことに応答して、実装又は実行されてよい。ソフトウェアは更に、ネットワークインターフェースを介してネットワーク(図示せず)経由で送信又は受信されてよい。各種の実施形態において、配線回路をソフトウェア命令と組み合わせて用いて本実施形態を実行してもよい。このように、上述の技術はハードウェア回路とソフトウェアのいかなる特定の組み合わせにも、又はノード110、115、及び/又は120により実行される命令のいかなる特定の発行元にも限定されない。図示しない追加的な要素も又、ノード110、115、及び/又は120の一部であってよく、及び特定の実施形態において、図1に示すよりも少ない個数の部品をノード110、115、及び/又は120で用いてもよいことが理解されよう。
[0051] 製品を用いて上述の実施形態の機能の少なくとも一部を提供するプログラムコードを格納してもよい。又、製品を用いて、上述の実施形態の機能の少なくとも一部を用いて生成されたプログラムコードを格納してもよい。プログラムコードを格納する製品は、1個以上のメモリ(例えば、静的、動的、又は他の1個以上のフラッシュメモリ、ランダムアクセスメモリ)、光ディスク、CD-ROM、DVD-ROM、EPROM、EEPROM、磁気又は光カード、固体ドライブ(SSD)、又は電子命令の保存に適した他の種類の非一時的コンピュータ可読媒体として実現できるが、これらに限定されない。又、本発明の実施形態は、FPGA、ASIC、プロセッサ、コンピュータ、又はネットワークを含むコンピュータシステムを利用するハードウェア又はファームウェアに実装されてよいが、これらに限定されない。ハードウェア又はソフトウェアを実装したモジュール及び要素は本発明の実施形態を大幅に変更することなく分割又は組み合わせることができる。
[0052] 本明細書において、本発明について特定の例示的な実施形態に関して記述してきた。本発明の各種の実施形態及び態様について本明細書で議論した詳細事項に関して記述しており、添付の図面に各種の実施形態を示している。上の記述及び図面は、本発明を図解するものであって、本発明を限定するものと解釈してはならない。本明細書における「ある実施形態」、「一実施形態」、「例示的な一実施形態」等への言及は、記述する実施形態が特定の機能、構造、又は特徴を含み得ることを示すが、必ずしも全ての実施形態が特定の機能、構造、又は特徴を含んでいる訳ではない。更に、このような語句は必ずしも同一の実施形態を指す訳ではない。更に、特定の機能、構造、又は特徴がある実施形態と関連付けて記述されている場合、そのような機能、構造、又は特徴は、明示的に記述されているか否かに依らず、他の実施形態と関連付けて実装されていてよい。又、本明細書で用いる用語「例示的」は、単に例又は図解に過ぎない実施形態を指している。「例示的」の使用な好適な例を示すものと解釈してはならない。破線の境界を有するブロック(例:粗い破線、細かい破線、一点鎖線、点線)を用いて、本発明の実施形態に追加的な特徴を加える仮想化されたリソース又は、フロー図における任意選択的動作を示す。しかし、このような表記は、唯一の任意選択肢又は任意選択的動作である、及び/又は実線境界を有するブロックは本発明の特定の実施形態において任意選択でないことを意味するものと解釈すべきでない。本発明の各種実施形態が完全に理解されるよう多数の特定の詳細事項を記述している。しかし、特定の実施態様において、本発明の実施形態を簡潔に説明すべく、公知又は従来方式の詳細事項は記述していない。
[0053] 以下の請求項に開示する本発明のより広範な趣旨及び範囲から逸脱することなく、各種の変更を行えることは明らかであろう。例えば、本明細書に記述する方法は、より少ない又は多くの特徴/ブロックにより実行することができ、又は特徴/ブロックは異なる順序で実行することができる。又、本明細書に記述する方法は、繰り返し、又は互いに並列に実行されても、或いは同一又は同様の方法の異なる実施態様と並列に実行されてもよい。

Claims (20)

  1. パケットのシーケンスとして宛先計算ノードに送信する複数パケットのうち1個のパケットを複製すること、
    前記パケットの複製を含む前記複数パケットを前記宛先計算ノードに送信すること、
    前記宛先計算ノードから前記パケットの第1の確認応答を受信すること、
    前記第1の確認応答が複製対象パケット宛であると判定すること、
    前記第1の確認応答が複製対象パケット宛であるとの判定に応答して、前記パケットに先行して送信された前記複数パケットのうち1個以上のパケットの各々に対して第2の確認応答が未だ受信されていないと判定すること、及び
    前記第2の確認応答が未だ受信されていないとの判定に応答して、前記1個以上のパケットを前記宛先計算ノードに再送信すること
    を含むコンピュータ実行方法。
  2. 前記パケットが、前記複数パケットのサブセットのうち、複製され且つ複製と共に前記宛先計算ノードに送信される1以上のパケットの1個である、請求項1に記載のコンピュータ実行方法。
  3. 前記サブセットに含まれる前記パケットの複製が、最小個数の複製非対象パケットが各複製対象パケットの1回目の送信に先行して送信され、且つ各複製パケットが前記複製パケットの原本に続いて送信されるように、前記宛先計算ノードに送信されるパケットのシーケンス内で分散されている、請求項2に記載のコンピュータ実行方法。
  4. 前記サブセットに含まれる前記パケットの複製が、前記パケットのシーケンスのうち全ての複製非対象パケットが送信された後で送信される、請求項2に記載のコンピュータ実行方法。
  5. 前記宛先計算ノードへパケットを送信する際のパケット損失量を判定すること、及び
    前記判定されたパケット損失量に基づいて、複製して前記サブセットに含めるパケットの個数を設定すること
    を更に含む、請求項2~4のいずれか1項に記載のコンピュータ実行方法。
  6. 前記宛先計算ノードへパケットを送信する際のパケット損失量が閾値を超えたと判定することを更に含み、前記パケット損失量が前記閾値を超えたとの判定に応答して、前記サブセットに含めるパケットの個数をゼロに設定する、請求項5に記載のコンピュータ実行方法。
  7. 前記宛先計算ノードへパケットを送信する際のパケット損失量を判定すること、及び
    前記判定されたパケット損失量に基づいて、前記サブセット内における各パケットの複製の個数を設定すること
    を更に含む、請求項2~6のいずれか1項に記載のコンピュータ実行方法。
  8. 前記パケットのシーケンス内で前記パケットの複製が、前記シーケンス内の後続する各々の複製対象パケットの後に挿入される、請求項2に記載のコンピュータ実行方法。
  9. 非一時的コンピュータ可読媒体であって、処理装置により実行された場合に前記処理装置に、
    パケットのシーケンスとして宛先計算ノードに送信する複数パケットのうち1個のパケットを複製すること、
    前記パケットの複製を含む前記複数パケットを前記宛先計算ノードに送信すること、
    前記宛先計算ノードから前記パケットの第1の確認応答を受信すること、
    前記第1の確認応答が複製対象パケット宛であると判定すること、
    前記第1の確認応答が複製対象パケット宛であるとの判定に応答して、前記パケットに先行して送信された前記複数パケットのうち1個以上のパケットの各々に対して第2の確認応答が未だ受信されていないと判定すること、及び
    前記第2の確認応答が未だ受信されていないとの判定に応答して、前記1個以上のパケットを前記宛先計算ノードに再送信することを含む方法を実行させる命令を格納する非一時的コンピュータ可読媒体。
  10. 前記パケットが、前記複数パケットのサブセットのうち、複製され且つ複製と共に前記宛先計算ノードに送信される1以上のパケットの1個である、請求項9に記載の非一時的コンピュータ可読媒体。
  11. 前記サブセットに含まれる前記パケットの複製が、最小個数の複製非対象パケットが各複製対象パケットの1回目の送信に先行して送信され、且つ各複製パケットが前記複製パケットの原本に続いて送信されるように、前記宛先計算ノードに送信されるパケットのシーケンス内で分散されている、請求項10に記載の非一時的コンピュータ可読媒体。
  12. 前記サブセットに含まれる前記パケットの複製が、前記パケットのシーケンスのうち全ての複製非対象パケットが送信された後で送信される、請求項10に記載の非一時的コンピュータ可読媒体。
  13. 前記宛先計算ノードへパケットを送信する際のパケット損失量を判定すること、及び
    前記判定されたパケット損失量に基づいて、複製して前記サブセットに含めるパケットの個数を設定すること
    を更に含む、請求項10~12のいずれか1項に記載の非一時的コンピュータ可読媒体。
  14. 前記宛先計算ノードへパケットを送信する際のパケット損失量が閾値を超えたと判定することを更に含み、前記パケット損失量が前記閾値を超えたとの判定に応答して、前記サブセットに含めるパケットの個数をゼロに設定する、請求項13に記載の非一時的コンピュータ可読媒体。
  15. 前記宛先計算ノードへパケットを送信する際のパケット損失量を判定すること、及び
    前記判定されたパケット損失量に基づいて、前記サブセット内における各パケットの複製の個数を設定することを更に含む、請求項10~14のいずれか1項に記載の非一時的コンピュータ可読媒体。
  16. 前記パケットのシーケンスで前記パケットの複製が、前記シーケンス内の後続する各々の複製対象パケットの後に挿入される、請求項10に記載の非一時的コンピュータ可読媒体。
  17. 処理装置と、
    前記処理装置に結合されたメモリとを含む装置であって、前記メモリが、前記処理装置により実行された場合に前記装置に、
    パケットのシーケンスとして宛先計算ノードに送信する複数パケットのうち1個のパケットを複製させ、
    前記パケットの複製を含む前記複数パケットを宛先計算ノードに送信させ、
    前記宛先計算ノードから前記パケットの第1の確認応答を受信させ、
    前記第1の確認応答が複製対象パケット宛であると判定させ、
    前記第1の確認応答が複製対象パケット宛であるとの判定に応答して、前記パケットに先行して送信された前記複数パケットのうち1個以上のパケットの各々に対して第2の確認応答が未だ受信されていないと判定させ、
    前記第2の確認応答が未だ受信されていないとの判定に応答して、前記1個以上のパケットを前記宛先計算ノードに再送信させる命令を格納する、装置。
  18. 前記パケットが、前記複数パケットのサブセットのうち、複製され且つ複製と共に前記宛先計算ノードに送信される1以上のパケットの1個である、請求項17に記載の装置。
  19. 前記サブセットに含まれる前記パケットの複製が、最小個数の複製対象パケットが各複製対象パケットの1回目の送信に先行して送信され、且つ各複製パケットが前記複製パケットの原本に続いて送信されるように、前記宛先計算ノードに送信されるパケットのシーケンス内で分散されている、請求項18に記載の装置。
  20. 前記サブセットに含まれるパケットの複製が、前記パケットのシーケンスのうち全ての複製非対象パケットが送信された後で送信される、請求項18に記載の装置。
JP2023019073A 2017-05-22 2023-02-10 パケット損失の動的管理 Pending JP2023053152A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/602,023 2017-05-22
US15/602,023 US10396939B2 (en) 2017-05-22 2017-05-22 Dynamic management of packet loss
JP2020515824A JP7227963B2 (ja) 2017-05-22 2018-05-22 パケット損失の動的管理
PCT/US2018/033914 WO2018217767A1 (en) 2017-05-22 2018-05-22 Dynamic management of packet loss

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020515824A Division JP7227963B2 (ja) 2017-05-22 2018-05-22 パケット損失の動的管理

Publications (1)

Publication Number Publication Date
JP2023053152A true JP2023053152A (ja) 2023-04-12

Family

ID=62621012

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020515824A Active JP7227963B2 (ja) 2017-05-22 2018-05-22 パケット損失の動的管理
JP2023019073A Pending JP2023053152A (ja) 2017-05-22 2023-02-10 パケット損失の動的管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020515824A Active JP7227963B2 (ja) 2017-05-22 2018-05-22 パケット損失の動的管理

Country Status (4)

Country Link
US (4) US10396939B2 (ja)
EP (1) EP3665798A1 (ja)
JP (2) JP7227963B2 (ja)
WO (1) WO2018217767A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10396939B2 (en) * 2017-05-22 2019-08-27 Zycada Networks, Inc. Dynamic management of packet loss
JP2022136397A (ja) * 2021-03-08 2022-09-21 マツダ株式会社 エンジンの燃焼室構造

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003055123A1 (en) * 2001-12-10 2003-07-03 Nortel Networks Limited Adaptive multi-mode harq system and method
WO2003083679A1 (en) 2002-03-25 2003-10-09 Netli, Inc. System for fast recovery from losses for reliable data communication protocols
US8270423B2 (en) * 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7889654B2 (en) * 2005-03-30 2011-02-15 At&T Intellectual Property Ii, L.P. Loss tolerant transmission control protocol
US8539296B2 (en) * 2009-05-11 2013-09-17 Empire Technology Development Llc Coordination of packet and acknowledgment retransmissions
US8320364B2 (en) * 2009-12-15 2012-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Control of bit-rate and packet duplication in a real-time media stream
US8964543B1 (en) * 2010-02-16 2015-02-24 Google Inc. System and method of reducing latency by transmitting duplicate packets over a network
JP5941853B2 (ja) * 2013-02-12 2016-06-29 株式会社日立製作所 パケット通信方法及び装置
JP6015509B2 (ja) * 2013-03-19 2016-10-26 富士通株式会社 パケット解析プログラム、パケット解析方法、パケット解析装置、およびパケット解析システム
FR3018651B1 (fr) * 2014-03-14 2017-08-25 Astrium Sas Procede de gestion de congestion d'un lien de transmission dans un reseau de communication par paquets
US10396939B2 (en) * 2017-05-22 2019-08-27 Zycada Networks, Inc. Dynamic management of packet loss

Also Published As

Publication number Publication date
WO2018217767A1 (en) 2018-11-29
US11581981B2 (en) 2023-02-14
US11184114B2 (en) 2021-11-23
US20220294566A1 (en) 2022-09-15
JP7227963B2 (ja) 2023-02-22
US20200028625A1 (en) 2020-01-23
US20240056224A1 (en) 2024-02-15
US20180337751A1 (en) 2018-11-22
US10396939B2 (en) 2019-08-27
JP2020521413A (ja) 2020-07-16
EP3665798A1 (en) 2020-06-17

Similar Documents

Publication Publication Date Title
JP2023053152A (ja) パケット損失の動的管理
CN109690510B (zh) 用于将数据分发到高性能计算网络和基于云的网络中的多个接收器的多播装置和方法
US8751682B2 (en) Data transfer using high speed connection, high integrity connection, and descriptor
WO2019118255A1 (en) Multi-path rdma transmission
US11863370B2 (en) High availability using multiple network elements
US9007944B2 (en) One-to-many and many-to-one communications on a network
JP2010213150A (ja) 送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラム
CN108234089B (zh) 用于低时延通信的方法和系统
US20190379758A1 (en) Multicasting method in distributed cache environment, and distributed cache server using the same
EP3096496B1 (en) Method and system for facilitating one-to-many data transmissions with reduced network overhead
KR102235671B1 (ko) 통신 방법 및 장치
US10250499B2 (en) Multicast transmission using programmable network
KR100953005B1 (ko) 자체-적응형 멀티캐스트 파일 전송 프로토콜
US20190238637A1 (en) Data replication in scalable messaging system
Parisis et al. Trevi: Watering down storage hotspots with cool fountain codes
US9794183B2 (en) Interconnect flow control
JP2020521413A5 (ja)
US11496572B1 (en) System and method for sending and receiving remote procedure calls
US10892990B1 (en) Systems and methods for transmitting data to a remote storage device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240517

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20240626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20240626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240809