JP7326478B2 - トランスポート制御プロトコルのトリップタイムの推定 - Google Patents
トランスポート制御プロトコルのトリップタイムの推定 Download PDFInfo
- Publication number
- JP7326478B2 JP7326478B2 JP2021569197A JP2021569197A JP7326478B2 JP 7326478 B2 JP7326478 B2 JP 7326478B2 JP 2021569197 A JP2021569197 A JP 2021569197A JP 2021569197 A JP2021569197 A JP 2021569197A JP 7326478 B2 JP7326478 B2 JP 7326478B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- packets
- middlebox
- endpoint
- sampled
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本開示は、トランスポート制御プロトコルのトリップタイムの推定に関する。
従来、ノード上で実行されるプロセスは、ノード(またはエンドポイント)間のトランスポート制御プロトコル(TCP)接続の性能を理解するのに役立ち得る。例えば、システムは、ノードがパケットを送信した開始時間と、ノードが受領確認を受信した受領確認時間とを測定することによって、パケットのラウンドトリップタイム(RTT)を取得するように配置されてもよい。しかし、ミドルボックスを使用することによって、より多くの従来のエンドポイントの間に実装される中間ノードが増加するので、TCP接続最適化を促進するために、エンドポイントでのTCP性能の測定は、新しい性能測定技法を考慮しなければならない。
本開示の一態様は、トランスポート制御プロトコルの性能特性を推定するための方法を提供する。方法は、ミドルボックスのデータ処理ハードウェアが、所定の期間にわたってミドルボックスを介して通信するソースエンドポイントと宛先エンドポイントとの間のトランスポート制御プロトコル(TCP)接続から、複数のパケットを間引いてサンプリングすることを含む。サンプリングされた複数のパケットの各パケットに対して、方法は、データ処理ハードウェアが、当該パケットをサンプリングするときのタイムスタンプを生成することと、データ処理ハードウェアが、当該パケットのシーケンス番号および受領確認番号を記録することとを含む。また、方法は、データ処理ハードウェアが、サンプリングされた複数のパケットのうちの1つ以上のパケットに対応するタイムスタンプ、シーケンス番号、または受領確認番号のうちの少なくとも2つに基づいて、所定の期間にわたってミドルボックスを介して通信するソースエンドポイントと宛先エンドポイントとの間のTCP接続の推定性能特性を生成することをさらに含む。
様々な図面において、同様の参照符号は、同様の要素を示す。
Claims (30)
- 方法(300)であって、
ミドルボックス(160)のデータ処理ハードウェア(502)が、所定の期間にわたって前記ミドルボックス(160)を介して通信するソースエンドポイント(190)と宛先エンドポイント(190)との間のトランスポート制御プロトコル(TCP)接続(180)から、複数のパケット(170)を間引いてサンプリングすることと、
前記サンプリングされた複数のパケット(170)の各パケット(170)に対して、
前記データ処理ハードウェア(502)が、当該パケット(170)をサンプリングするときのタイムスタンプ(212)を生成し、かつ、
前記データ処理ハードウェア(502)が、当該パケット(170)のシーケンス番号(172)および受領確認番号(174)を記録することと、
前記データ処理ハードウェア(502)が、前記サンプリングされた複数のパケット(170)のうちの1つ以上のパケットに対応するタイムスタンプ(212)、シーケンス番号(172)、または受領確認番号(174)のうちの少なくとも2つに基づいて、前記所定の期間にわたって前記ミドルボックス(160)を介して通信する前記ソースエンドポイント(190)と前記宛先エンドポイント(190)との間の前記TCP接続(180)の推定性能特性を生成することを含む、方法(300)。 - 前記データ処理ハードウェア(502)が、前記ミドルボックス(160)と前記宛先エンドポイント(190)との間で転送された前記サンプリングされた複数のパケット(170)のうちの第1のパケット(170)に記録された第1のシーケンス番号(172)を特定することと、
前記データ処理ハードウェア(502)が、前記第1のパケット(170)に記録された前記第1のシーケンス番号(172)が前記宛先エンドポイント(190)と前記ミドルボックス(160)との間で転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれかと一致するか否かを判定することと、
前記第1のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)のうちの第2のパケット(170)に記録された前記受領確認番号(174)と一致する場合、
前記データ処理ハードウェア(502)が、前記第1のパケット(170)に対して生成された前記タイムスタンプ(212)と前記第2のパケット(170)に対して生成された前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記宛先エンドポイント(190)との間の第1のトリップタイム(222)を決定することと、
前記第1のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれにも一致しない場合、
前記データ処理ハードウェア(502)が、前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)を補間することによって、前記TCP接続(180)から第1のサンプリングされていないパケット(170)のタイムスタンプ(212)を推定し、前記第1のサンプリングされていないパケット(170)は、前記第1のシーケンス番号(172)と一致する前記受領確認番号(174)に関連付けられ、
前記データ処理ハードウェア(502)が、前記第1のパケット(170)に対して生成された第1のタイムスタンプ(212)と前記第1のサンプリングされていないパケット(170)に対して推定された前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記宛先エンドポイント(190)との間の前記第1のトリップタイム(222)を決定することとをさらに含む、請求項1に記載の方法(300)。 - 前記データ処理ハードウェア(502)が、前記サンプリングされた複数のパケット(170)のうちの第3のパケット(170)に記録された第2のシーケンス番号(172)を特定することを含み、前記第3のパケット(170)は、前記ミドルボックス(160)と前記ソースエンドポイント(190)との間で転送され、
前記データ処理ハードウェア(502)が、前記第3のパケット(170)に記録された前記第2のシーケンス番号(172)が前記ソースエンドポイント(190)と前記ミドルボックス(160)との間で転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれかと一致するか否かを判定することと、
前記第2のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)のうちの第4のパケット(170)に記録された前記受領確認番号(174)と一致する場合、
前記データ処理ハードウェア(502)が、前記第3のパケット(170)に対して生成された前記タイムスタンプ(212)と前記第4のパケット(170)に対して生成された前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記ソースエンドポイント(190)との間の第2のトリップタイム(222)を決定することと、
前記第2のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれにも一致しない場合、
前記データ処理ハードウェア(502)が、前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)を補間することによって、TCP接続(180)から第2のサンプリングされていないパケット(170)のタイムスタンプ(212)を推定し、前記第2のサンプリングされていないパケット(170)は、前記第2のシーケンス番号(172)と一致する前記受領確認番号(174)に関連付けられ、
前記データ処理ハードウェア(502)が、前記第3のパケット(170)に対して生成された第3のタイムスタンプ(212)と前記第2のサンプリングされていないパケット(170)に対して推定された前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記ソースエンドポイント(190)との間の前記第2のトリップタイム(222)を決定することとをさらに含む、請求項2に記載の方法(300)。 - 前記TCP接続(180)の前記推定性能特性(202)を生成することは、前記ミドルボックス(160)と前記宛先エンドポイント(190)との間の前記第1のトリップタイム(222)および前記ミドルボックス(160)と前記ソースエンドポイント(190)との間の前記第2のトリップタイム(222)を合計することによって、前記ミドルボックス(160)を介して通信する前記ソースエンドポイント(190)と前記宛先エンドポイント(190)との間のラウンドトリップタイム(222)を計算することを含む、請求項3に記載の方法(300)。
- 前記データ処理ハードウェア(502)が、前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)を補間することによって、前記TCP接続(180)からサンプリングされていないパケット(170)のタイムスタンプ(212)を推定することをさらに含む、請求項1から4のいずれか一項に記載の方法(300)。
- 前記データ処理ハードウェア(502)が、前記サンプリングされた複数のパケット(170)に記録された前記シーケンス番号(172)を補間することによって、前記TCP接続(180)からサンプリングされていないパケット(170)のタイムスタンプ(212)を推定することをさらに含む、請求項1から5のいずれか一項に記載の方法(300)。
- 前記TCP接続(180)の前記推定性能特性(202)を生成することは、
前記ミドルボックス(160)を介して前記宛先エンドポイント(190)から前記ソースエンドポイント(190)に転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)に基づいて、前記所定の期間にわたる前記受領確認番号(174)の勾配を決定することと、
前記受領確認番号(174)の前記勾配に基づいて、スループットを生成することとを含み、
前記スループットは、前記ミドルボックス(160)を介して、前記パケット(170)を前記ソースエンドポイント(190)から前記宛先エンドポイント(190)に転送する速度に対応する、請求項1から6のいずれか一項に記載の方法(300)。 - 前記TCP接続(180)の前記推定性能特性(202)を生成することは、
前記ミドルボックス(160)を介して前記ソースエンドポイント(190)から前記宛先エンドポイント(190)に転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)に基づいて、前記受領確認番号(174)の経時的な勾配を決定することと、
前記受領確認番号(174)の前記勾配に基づいて、スループットを生成することとを含み、
前記スループットは、前記ミドルボックス(160)を介して、前記パケット(170)を前記宛先エンドポイント(190)から前記ソースエンドポイント(190)に転送する速度に対応する、請求項1から7のいずれか一項に記載の方法(300)。 - 特定の時点において、
前記データ処理ハードウェア(502)が、前記TCP接続(180)を介して前記ソースエンドポイント(190)から通信された第1のパケット(170)を受信することを含み、前記第1のパケット(170)は、第1のシーケンス番号(172)と第1の受領確認番号(174)とを含み、
前記データ処理ハードウェア(502)が、前記TCP接続(180)を介して前記宛先エンドポイント(190)から通信された第2のパケット(170)を受信ことを含み、前記第2のパケット(170)は、第2のシーケンス番号(172)と第2の受領確認番号(174)とを含み、
前記データ処理ハードウェア(502)が、前記第1のパケット(170)に関連付けられた前記第1のシーケンス番号(172)と前記第2のパケット(170)に関連付けられた前記第2の受領確認番号(174)との間の差を決定することによって、前記ソースエンドポイント(190)のウィンドウサイズを推定することをさらに含む、請求項1から8のいずれか一項に記載の方法(300)。 - 前記データ処理ハードウェア(502)が、前記第2のパケット(170)に関連付けられた前記第2のシーケンス番号(172)と前記第1のパケット(170)に関連付けられた前記第1の受領確認番号(174)との間の差を決定することによって、前記宛先エンドポイント(190)のウィンドウサイズを推定することをさらに含む、請求項9に記載の方法(300)。
- 前記複数のパケット(170)を間引いてサンプリングすることは、前記ソースエンドポイント(190)と前記宛先エンドポイント(190)との間の前記TCP接続(180)から、全てのパケット(170)よりも少ないパケットをサンプリングすることを含む、請求項1から10のいずれか一項に記載の方法(300)。
- 前記複数のパケット(170)を間引いてサンプリングすることは、ステートレス且つ系統的な方法で、前記TCP接続(180)からパケット(170)を均一にサンプリングすることを含む、請求項1から11のいずれか一項に記載の方法(300)。
- 前記ソースエンドポイント(190)は、リモート分散ネットワーク(130)と通信するユーザ機器(UE)であり、
前記宛先エンドポイント(190)は、前記リモート分散ネットワーク(130)と通信するサーバ(110)に対応する、請求項1から12のいずれか一項に記載の方法(300)。 - システム(100)であって、
データ処理ハードウェア(502)と、
前記データ処理ハードウェア(502)と通信するメモリハードウェア(504)とを備え、前記メモリハードウェア(504)は、前記データ処理ハードウェア(502)上で実行されると、前記データ処理ハードウェア(502)に、以下の動作を実行させる命令を記憶し、
前記動作は、
所定の期間にわたってミドルボックス(160)を介して通信するソースエンドポイント(190)と宛先エンドポイント(190)との間のトランスポート制御プロトコル(TCP)接続(180)から、複数のパケット(170)を間引いてサンプリングすることと、
前記サンプリングされた複数のパケット(170)の各パケット(170)に対して、
当該パケット(170)をサンプリングするときのタイムスタンプ(212)を生成し、かつ、
当該パケット(170)のシーケンス番号(172)および受領確認番号(174)を記録することと、
前記サンプリングされた複数のパケット(170)のうちの1つ以上のパケットに対応するタイムスタンプ(212)、シーケンス番号(172)、または受領確認番号(174)のうちの少なくとも2つに基づいて、前記所定の期間にわたって前記ミドルボックス(160)を介して通信する前記ソースエンドポイント(190)と前記宛先エンドポイント(190)との間の前記TCP接続(180)の推定性能特性を生成することを含む、システム(100)。 - 前記動作は、
前記ミドルボックス(160)と前記宛先エンドポイント(190)との間で転送された前記サンプリングされた複数のパケット(170)のうちの第1のパケット(170)に記録された第1のシーケンス番号(172)を特定することと、
前記第1のパケット(170)に記録された前記第1のシーケンス番号(172)が前記宛先エンドポイント(190)と前記ミドルボックス(160)との間で転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれかと一致するか否かを判定することと、
前記第1のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)のうちの第2のパケット(170)に記録された前記受領確認番号(174)と一致する場合、
前記第1のパケット(170)の前記タイムスタンプ(212)と前記第2のパケット(170)の前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記宛先エンドポイント(190)との間の第1のトリップタイム(222)を決定し、
前記第1のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれにも一致しない場合、
前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)を補間することによって、前記TCP接続(180)から第1のサンプリングされていないパケット(170)のタイムスタンプ(212)を推定し、前記第1のサンプリングされていないパケット(170)は、前記第1のシーケンス番号(172)と一致する前記受領確認番号(174)に関連付けられ、
前記第1のパケット(170)に対して生成された第1のタイムスタンプ(212)と前記第1のサンプリングされていないパケット(170)に対して生成された前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記宛先エンドポイント(190)との間の前記第1のトリップタイム(222)を決定することとをさらに含む、請求項14に記載のシステム(100)。 - 前記動作は、
前記サンプリングされた複数のパケット(170)のうちの第3のパケット(170)に記録された第2のシーケンス番号(172)を特定することを含み、前記第3のパケット(170)は、前記ミドルボックス(160)と前記ソースエンドポイント(190)との間で転送され、
前記第3のパケット(170)に記録された前記第2のシーケンス番号(172)が前記ソースエンドポイント(190)と前記ミドルボックス(160)との間で転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれかと一致するか否かを判定することと、
前記第2のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)のうちの第4のパケット(170)に記録された前記受領確認番号(174)と一致する場合、
前記第3のパケット(170)に対して生成された前記タイムスタンプ(212)と前記第4のパケット(170)に対して生成された前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記ソースエンドポイント(190)との間の第2のトリップタイム(222)を決定し、
前記第2のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)のいずれにも一致しない場合、
前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)を補間することによって、前記TCP接続(180)から第2のサンプリングされていないパケット(170)のタイムスタンプ(212)を推定し、前記第2のサンプリングされていないパケット(170)は、前記第2のシーケンス番号(172)と一致する前記受領確認番号(174)に関連付けられ、
前記第3のパケット(170)に対して生成された第3のタイムスタンプ(212)と前記第2のサンプリングされていないパケット(170)に対して推定された前記タイムスタンプ(212)との間の差に基づいて、前記ミドルボックス(160)と前記ソースエンドポイント(190)との間の前記第2のトリップタイム(222)を決定することをさらに含む、請求項15に記載のシステム(100)。 - 前記TCP接続(180)の前記推定性能特性(202)を生成することは、前記ミドルボックス(160)と前記宛先エンドポイント(190)との間の前記第1のトリップタイム(222)および前記ミドルボックス(160)と前記ソースエンドポイント(190)との間の前記第2のトリップタイム(222)を合計することによって、前記ミドルボックス(160)を介して通信する前記ソースエンドポイント(190)と前記宛先エンドポイント(190)との間のラウンドトリップタイム(222)を計算することを含む、請求項16に記載のシステム(100)。
- 前記動作は、前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)を補間することによって、記録されていない受領確認番号(174)の時間を推定することをさらに含む、請求項14から17のいずれか一項に記載のシステム(100)。
- 前記動作は、前記サンプリングされた複数のパケット(170)に記録された前記シーケンス番号(172)を補間することによって、記録されていないシーケンス番号(172)の時間を推定することをさらに含む、請求項14から18のいずれか一項に記載のシステム(100)。
- 前記TCP接続(180)の前記推定性能特性を生成すること(202)は、
前記ミドルボックス(160)を介して前記宛先エンドポイント(190)から前記ソースエンドポイント(190)に転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)に基づいて、前記所定の期間にわたる前記受領確認番号(174)の勾配を決定することと、
前記受領確認番号(174)の前記勾配に基づいて、スループットを生成することとを含み、
前記スループットは、前記ミドルボックス(160)を介して、前記パケット(170)を前記ソースエンドポイント(190)から前記宛先エンドポイント(190)に転送する速度に対応する、請求項14から19のいずれか一項に記載のシステム(100)。 - 前記TCP接続(180)の前記推定性能特性(202)を生成することは、
前記ミドルボックス(160)を介して前記ソースエンドポイント(190)から前記宛先エンドポイント(190)に転送された前記サンプリングされた複数のパケット(170)に記録された前記受領確認番号(174)に基づいて、前記受領確認番号(174)の経時的な勾配を決定することと、
前記受領確認番号(174)の前記勾配に基づいて、スループットを生成することとを含み、
前記スループットは、前記ミドルボックス(160)を介して、前記パケット(170)を前記宛先エンドポイント(190)から前記ソースエンドポイント(190)に転送する速度に対応する、請求項14から20のいずれか一項に記載のシステム(100)。 - 前記動作は、
特定の時点において、
前記TCP接続(180)を介して前記ソースエンドポイント(190)から通信された第1のパケット(170)を受信することを含み、前記第1のパケット(170)は、第1のシーケンス番号(172)と第1の受領確認番号(174)とを含み、
前記TCP接続(180)を介して前記宛先エンドポイント(190)から通信された第2のパケット(170)を受信ことを含み、前記第2のパケット(170)は、第2のシーケンス番号(172)と第2の受領確認番号(174)とを含み、
前記第1のパケット(170)に関連付けられた前記第1のシーケンス番号(172)と前記第2のパケット(170)に関連付けられた前記第2の受領確認番号(174)との間の差を決定することによって、前記ソースエンドポイント(190)のウィンドウサイズを推定することをさらに含む、請求項14から21のいずれか一項に記載のシステム(100)。 - 前記動作は、前記第2のパケット(170)に関連付けられた前記第2のシーケンス番号(172)と前記第1のパケット(170)に関連付けられた前記第1の受領確認番号(174)との間の差を決定することによって、前記宛先エンドポイント(190)のウィンドウサイズを推定することをさらに含む、請求項22に記載のシステム(100)。
- 前記複数のパケット(170)を間引いてサンプリングすることは、前記ソースエンドポイント(190)と前記宛先エンドポイント(190)との間の前記TCP接続(180)から、全てのパケット(170)よりも少ないパケットをサンプリングすることを含む、請求項14から23のいずれか一項に記載のシステム(100)。
- 前記複数のパケット(170)を間引いてサンプリングすることは、ステートレス且つ系統的な方法で、前記TCP接続(180)からパケット(170)を均一にサンプリングすることを含む、請求項14から24のいずれか一項に記載のシステム(100)。
- 前記ソースエンドポイント(190)は、リモート分散ネットワーク(130)と通信するユーザ機器(UE)を含み、
前記宛先エンドポイント(190)は、前記リモート分散ネットワーク(130)と通信するサーバ(110)を含む、請求項14から25のいずれか一項に記載のシステム(100)。 - 方法(400)であって、
ミドルボックス(160)のデータ処理ハードウェア(502)が、所定の期間にわたって前記ミドルボックス(160)を介して通信するエンドポイント(190)間のトランスポート制御プロトコル(TCP)接続(180)から、複数のパケット(170)を間引いてサンプリングすることと、
前記サンプリングされた複数のパケット(170)の各パケット(170)に対して、前記データ処理ハードウェア(502)が、前記パケット(170)をサンプリングするときのタイムスタンプ(212)を生成することと、
前記データ処理ハードウェア(502)が、前記ミドルボックス(160)と対応するエンドポイント(190)との間で転送された前記サンプリングされた複数のパケット(170)のうちの第1のサンプリングされたパケット(170)の第1のシーケンス番号(172)が前記サンプリングされた複数のパケット(170)の受領確認番号(174)のいずれにも一致しないと判定することと、
前記データ処理ハードウェア(502)が、前記サンプリングされた複数のパケット(170)の複数の受領確認番号(174)を補間することによって、前記第1のシーケンス番号(172)と一致する受領確認番号(174)の時間を推定することと、
前記データ処理ハードウェア(502)が、前記第1のサンプリングされたパケット(170)に関連付けられた第1のタイムスタンプ(212)と前記推定された時間との間の差に基づいて、前記ミドルボックス(160)と対応するエンドポイント(190)との間のトリップタイム(222)を決定することとを含む、方法(400)。 - 複数のパケット(170)を間引いてサンプリングすることは、前記ミドルボックス(160)を介して通信する前記エンドポイント(190)間の前記TCP接続(180)から、全てのパケット(170)よりも少ないパケットをサンプリングすることを含む、請求項27に記載の方法(400)。
- 前記複数のパケット(170)を間引いてサンプリングすることは、ステートレス且つ系統的な方法で、前記TCP接続(180)からパケット(170)を均一にサンプリングすることを含む、請求項27または28に記載の方法(400)。
- 前記エンドポイント(190)は、リモート分散ネットワーク(130)と通信するユーザ機器(UE)をソースエンドポイント(190)として含み、前記リモート分散ネットワーク(130)と通信するサーバ(110)を宛先エンドポイント(190)として含む、請求項27から29のいずれか一項に記載の方法(400)。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023126290A JP7657264B2 (ja) | 2019-05-20 | 2023-08-02 | トランスポート制御プロトコルのトリップタイムの推定 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/416,626 US10887432B2 (en) | 2019-05-20 | 2019-05-20 | Trip time estimation for transport control protocol |
| US16/416,626 | 2019-05-20 | ||
| PCT/US2019/062683 WO2020236217A1 (en) | 2019-05-20 | 2019-11-21 | Trip time estimation for transport control protocol |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023126290A Division JP7657264B2 (ja) | 2019-05-20 | 2023-08-02 | トランスポート制御プロトコルのトリップタイムの推定 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022533737A JP2022533737A (ja) | 2022-07-25 |
| JP7326478B2 true JP7326478B2 (ja) | 2023-08-15 |
Family
ID=68919769
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021569197A Active JP7326478B2 (ja) | 2019-05-20 | 2019-11-21 | トランスポート制御プロトコルのトリップタイムの推定 |
| JP2023126290A Active JP7657264B2 (ja) | 2019-05-20 | 2023-08-02 | トランスポート制御プロトコルのトリップタイムの推定 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023126290A Active JP7657264B2 (ja) | 2019-05-20 | 2023-08-02 | トランスポート制御プロトコルのトリップタイムの推定 |
Country Status (6)
| Country | Link |
|---|---|
| US (3) | US10887432B2 (ja) |
| EP (1) | EP3973670B1 (ja) |
| JP (2) | JP7326478B2 (ja) |
| KR (2) | KR102489541B1 (ja) |
| CN (1) | CN114145008B (ja) |
| WO (1) | WO2020236217A1 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10887432B2 (en) * | 2019-05-20 | 2021-01-05 | Google Llc | Trip time estimation for transport control protocol |
| US12238204B1 (en) * | 2020-12-29 | 2025-02-25 | Cyber Ip Holdings, Llc | Systems and methods for implementing transparent end-to-end network public-key encryption |
| TWI850938B (zh) | 2022-12-30 | 2024-08-01 | 仁寶電腦工業股份有限公司 | 基站負載平衡系統及方法 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070115814A1 (en) | 2003-03-29 | 2007-05-24 | Regents Of The University Of California, The | Method and apparatus for improved data transmission |
| JP2011172270A (ja) | 2004-10-21 | 2011-09-01 | Nec Corp | 通信品質計測装置及びその計測方法 |
| JP2011176586A (ja) | 2010-02-24 | 2011-09-08 | Nippon Telegr & Teleph Corp <Ntt> | パケットサンプリング装置と方法およびプログラム |
| US20140281018A1 (en) | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Dynamic Optimization of TCP Connections |
| JP2017103653A (ja) | 2015-12-02 | 2017-06-08 | 日本電信電話株式会社 | 通信品質劣化検出システム、通信品質劣化検出方法、及びプログラム |
| JP2017184044A (ja) | 2016-03-30 | 2017-10-05 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
Family Cites Families (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7304951B2 (en) * | 2000-11-21 | 2007-12-04 | North Carolina State University | Methods and systems for rate-based flow control between a sender and a receiver |
| US7979694B2 (en) * | 2003-03-03 | 2011-07-12 | Cisco Technology, Inc. | Using TCP to authenticate IP source addresses |
| US7636321B1 (en) * | 2003-05-12 | 2009-12-22 | Sprint Communications Company L.P. | Method and system for measuring round-trip time of packets in a communications network |
| US8004981B2 (en) * | 2003-06-17 | 2011-08-23 | Cisco Technology, Inc. | Methods and devices for the coordination of flow control between a TCP/IP network and other networks |
| SE528374C2 (sv) * | 2004-09-22 | 2006-10-31 | Prosilient Technologies Ab | Metod, en dataprogramprodukt samt en bärare för att ange envägslatens i ett datanätverk |
| KR101210341B1 (ko) * | 2006-02-11 | 2012-12-10 | 삼성전자주식회사 | 패킷 네트워크에서 노드간 전파 지연 및 거리를 정확하고안전하게 측정하는 방법 및 상기 방법을 수행하는 패킷네트워크 노드 |
| US20110044338A1 (en) * | 2006-12-20 | 2011-02-24 | Thomas Anthony Stahl | Throughput in a lan by managing tcp acks |
| US7779133B2 (en) * | 2007-01-04 | 2010-08-17 | Yahoo! Inc. | Estimation of web client response time |
| US7957295B2 (en) * | 2007-11-02 | 2011-06-07 | Cisco Technology, Inc. | Ethernet performance monitoring |
| US7991881B2 (en) * | 2008-02-29 | 2011-08-02 | Microsoft Corporation | Monitoring network performance to identify sources of network performance degradation |
| US9380091B2 (en) * | 2012-06-12 | 2016-06-28 | Wi-Lan Labs, Inc. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network |
| EP2323392B1 (en) * | 2009-11-03 | 2012-01-04 | Tektronix International Sales GmbH | Method and apparatus for measuring delay within a compressed digital stream |
| JP4927181B2 (ja) * | 2010-01-06 | 2012-05-09 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | ユーザ待ち時間推定装置、ユーザ待ち時間推定方法、及びプログラム |
| KR20120025378A (ko) * | 2010-09-07 | 2012-03-15 | 한국전자통신연구원 | 무선 랜 기반 왕복 시간 측정 시스템 및 방법 |
| WO2013052651A2 (en) * | 2011-10-04 | 2013-04-11 | North Carolina State University | Receiver-based methods, systems, and computer readable media for controlling tcp sender behavior in cellular communications networks with large buffer sizes |
| CN102711172A (zh) * | 2012-05-25 | 2012-10-03 | 浙江工业大学 | 一种无线网络中改进的tcpw拥塞控制方法 |
| KR102049594B1 (ko) * | 2013-10-04 | 2019-11-27 | 에스케이 텔레콤주식회사 | 패킷 왕복 시간을 이용한 테더링 서비스 제어장치 및 방법 |
| US20150359016A1 (en) * | 2014-06-09 | 2015-12-10 | Qualcomm Incorporated | Apparatus and method to estimate round trip time via transport control protocol signals |
| WO2016077396A1 (en) * | 2014-11-10 | 2016-05-19 | APS Technology 1 LLC | Improving network throughput |
| KR102029849B1 (ko) | 2015-01-27 | 2019-10-08 | 노키아 솔루션스 앤드 네트웍스 오와이 | 트래픽 흐름 모니터링 |
| US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
| US10554571B2 (en) * | 2015-08-18 | 2020-02-04 | Avago Technologies International Sales Pte. Limited | Packet-to-packet timing reconstruction for channel bonding |
| KR102496060B1 (ko) * | 2015-09-14 | 2023-02-07 | 삼성전자 주식회사 | 전자 장치 및 그의 전송 제어 프로토콜(transmission control protocol: TCP) 제어 방법 |
| US10009401B2 (en) | 2015-09-23 | 2018-06-26 | Qualcomm Incorporated | Call continuity in high uplink interference state |
| EP3479527B1 (en) * | 2016-07-01 | 2022-09-07 | Telefonaktiebolaget LM Ericsson (PUBL) | Round trip time skew control methods and arrangements |
| US10645176B2 (en) * | 2016-12-29 | 2020-05-05 | Cyphort Inc. | System and method to process packets in a transmission control protocol session |
| US10218596B2 (en) * | 2017-02-10 | 2019-02-26 | Cisco Technology, Inc. | Passive monitoring and measurement of network round trip time delay |
| US11290686B2 (en) * | 2017-09-11 | 2022-03-29 | Michael H Peters | Architecture for scalable video conference management |
| US10887432B2 (en) * | 2019-05-20 | 2021-01-05 | Google Llc | Trip time estimation for transport control protocol |
| US12040988B2 (en) * | 2021-05-25 | 2024-07-16 | Google Llc | Acknowledgement coalescing module utilized in content addressable memory (CAM) based hardware architecture for data center networking |
-
2019
- 2019-05-20 US US16/416,626 patent/US10887432B2/en active Active
- 2019-11-21 EP EP19821460.3A patent/EP3973670B1/en active Active
- 2019-11-21 WO PCT/US2019/062683 patent/WO2020236217A1/en not_active Ceased
- 2019-11-21 JP JP2021569197A patent/JP7326478B2/ja active Active
- 2019-11-21 KR KR1020217041183A patent/KR102489541B1/ko active Active
- 2019-11-21 KR KR1020237001426A patent/KR102663105B1/ko active Active
- 2019-11-21 CN CN201980098629.5A patent/CN114145008B/zh active Active
-
2020
- 2020-12-18 US US17/126,176 patent/US11297169B2/en active Active
-
2022
- 2022-03-02 US US17/653,243 patent/US11849012B2/en active Active
-
2023
- 2023-08-02 JP JP2023126290A patent/JP7657264B2/ja active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070115814A1 (en) | 2003-03-29 | 2007-05-24 | Regents Of The University Of California, The | Method and apparatus for improved data transmission |
| JP2011172270A (ja) | 2004-10-21 | 2011-09-01 | Nec Corp | 通信品質計測装置及びその計測方法 |
| JP2011176586A (ja) | 2010-02-24 | 2011-09-08 | Nippon Telegr & Teleph Corp <Ntt> | パケットサンプリング装置と方法およびプログラム |
| US20140281018A1 (en) | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Dynamic Optimization of TCP Connections |
| JP2017103653A (ja) | 2015-12-02 | 2017-06-08 | 日本電信電話株式会社 | 通信品質劣化検出システム、通信品質劣化検出方法、及びプログラム |
| JP2017184044A (ja) | 2016-03-30 | 2017-10-05 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022533737A (ja) | 2022-07-25 |
| US10887432B2 (en) | 2021-01-05 |
| CN114145008A (zh) | 2022-03-04 |
| EP3973670B1 (en) | 2026-03-25 |
| EP3973670A1 (en) | 2022-03-30 |
| KR102663105B1 (ko) | 2024-05-07 |
| US20220191307A1 (en) | 2022-06-16 |
| US11297169B2 (en) | 2022-04-05 |
| WO2020236217A1 (en) | 2020-11-26 |
| KR20230014860A (ko) | 2023-01-30 |
| KR102489541B1 (ko) | 2023-01-17 |
| JP7657264B2 (ja) | 2025-04-04 |
| CN114145008B (zh) | 2025-02-25 |
| JP2023159146A (ja) | 2023-10-31 |
| US20210105344A1 (en) | 2021-04-08 |
| US11849012B2 (en) | 2023-12-19 |
| KR20220002678A (ko) | 2022-01-06 |
| US20200374374A1 (en) | 2020-11-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7657264B2 (ja) | トランスポート制御プロトコルのトリップタイムの推定 | |
| US11601356B2 (en) | Emulating packet flows to assess network links for SD-WAN | |
| EP3758313B1 (en) | Congestion control for low latency datacenter networks | |
| CN105144633A (zh) | 网络业务映射和性能分析 | |
| KR102632518B1 (ko) | 가상 네트워크 기능의 투명 마이그레이션 | |
| US20170339219A1 (en) | Transparent wide-area service migration with mptcp | |
| Albkerat et al. | Analysis of IPv6 transition technologies | |
| JP2015023580A (ja) | 限られた演算リソースによるネットワーク・レイテンシの判定方法及び装置 | |
| US10673813B2 (en) | Method for NAT traversal in VPN | |
| CN108243072A (zh) | 一种进行网络延时监控的方法与设备 | |
| EP4661352A1 (en) | System and method for cross-site connection resolution in dependency mapping of a cloud computing environment | |
| US12580837B2 (en) | End-to-end network path visibility across cloud application environments | |
| Sharma et al. | QUIC protocol based monitoring probes for network devices monitor and alerts | |
| CN120017558A (zh) | 计算机网络系统、计算机联网方法以及计算机可读介质 | |
| CN116915653B (zh) | 一种基于网络地址转换的设备数量检测方法及系统 | |
| US10044670B1 (en) | Connecting transparent network devices to optimize unidirectional network traffic | |
| Duarte Jr et al. | Beware: NAT Traversal is a Simple and Efficient Approach to Open Firewall Holes | |
| Jain | Analyzing Layer 4 Traffic | |
| GB2640864A (en) | Network latency testing | |
| TW201935892A (zh) | Vpn中穿越nat的方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220221 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230301 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230307 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230606 |
|
| 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: 20230704 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230802 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7326478 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |