JP2019506072A - データ伝送方法および関連するデバイス - Google Patents

データ伝送方法および関連するデバイス Download PDF

Info

Publication number
JP2019506072A
JP2019506072A JP2018537468A JP2018537468A JP2019506072A JP 2019506072 A JP2019506072 A JP 2019506072A JP 2018537468 A JP2018537468 A JP 2018537468A JP 2018537468 A JP2018537468 A JP 2018537468A JP 2019506072 A JP2019506072 A JP 2019506072A
Authority
JP
Japan
Prior art keywords
packet
sequence number
protocol
byte
transmission delay
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.)
Granted
Application number
JP2018537468A
Other languages
English (en)
Other versions
JP6705003B2 (ja
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 JP2019506072A publication Critical patent/JP2019506072A/ja
Application granted granted Critical
Publication of JP6705003B2 publication Critical patent/JP6705003B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • 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
    • 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
    • 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/1854Scheduling and prioritising arrangements
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • 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

Abstract

本発明はデータ伝送方法およびデバイスを開示する。受信端は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信し、受信された各パケットは、シーケンス番号を含む。受信端は、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたと検出したとき、目標パケットに基づいて、第2送信遅延を決定し、第2送信遅延は、第1送信遅延より大きい。受信端は、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し、肯定応答ACKメッセージは、受信端が、送信端によって送信されたすべてのパケットのうちのK個のパケットを受信したことを送信端に通知するために使用される。受信端は、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信し、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する。本発明の実施形態において、送信端がTCP輻輳ウィンドウを減少させることを効果的に防止することができる。本発明は、安定した高いスループットを保証し、データを伝送するために複数のTCPストリームを使用する従来技術と比較して、メモリ要件を下げ、これにより、システムリソースを節約する。

Description

本発明の実施形態は、通信技術の分野に関し、特に、データ伝送方法および関連するデバイスに関する。
ビッグデータ技術は、データの収集、伝送、処理、および管理を含むすべての側面に関することがよく知られている。データ伝送とは、ビッグデータを1つの組織から別の組織へ転送することを意味し、通常、ファイル転送プロトコル(英語名:File Transfer Protocol、略称:FTP)を使用することによって伝送する。FTPは、伝送制御プロトコル(英語名:Transmission Control Protocol、略称:TCP)に基づいてデータ伝送を実装する。データを伝送するためにTCPが使用されるとき、スループットはしばしば、パケット損失率およびラウンドトリップタイム(英語名:round trip time、略称:RTT)など、多くの要因に影響される。100GBのデータであれば、伝送速度が1.32Mbps(英語名:megabit per second、略称:Mbps)である場合、伝送を完了するために7日間が必要であり、または、伝送速度が0.31Mbpsである場合、伝送を完了するために30日間が必要である。
現在、ビッグデータのTCP伝送性能が低いことに対して、ビッグデータの伝送効率を向上させるための多くの新しい技術がある。例えば、グリッドファイル転送プロトコル(英語名:グリッドファイル転送プロトコル、略称:Grid FTP)が使用される。この技術は、送信端と受信端との間に複数のTCPストリームを確立してデータを伝送するために使用される。送信端は、データを複数のTCPストリームへ分散し、次に、受信端が複数のTCPストリームからのデータを組み合わせる。輻輳によって引き起こされたパケット損失が1または複数のTCPストリーム上で発生したとき、送信端は、受信端から返された肯定応答(英語名:Acknowledgement、略称:ACK)メッセージに基づいて、輻輳ウィンドウを半分にし、これにより、スループットの減少につながる。しかしながら、同時にデータを伝送する複数のTCPストリームがあるので、データ伝送が少数のTCPストリーム上で失敗したとき、平均スループットに対する影響は比較的小さく、これにより、TCP伝送性能が保証される。
しかしながら、ビッグデータのデータ伝送スループットは、上述の解決法を使用することによって保証できるが、複数のTCP接続が確立される必要がある。計算のために20のTCPストリームが使用され、かつ、各TCPストリームが20Mのメモリを占有する場合、1組のデータを伝送するために400Mのメモリが必要となる。複数の組のデータが同時に伝送され、システムの別のアプリケーションのメモリオーバーヘッドがある場合、システムメモリはデータ伝送のボトルネックになる。
本発明は、データ伝送方法および関連するデバイスを提供し、これにより、送信端がTCP輻輳ウィンドウを減少させることを効果的に防止できる。このようにして、スループットを保証するために、複数のTCPストリームを使用してデータを伝送する必要が無くなる。この解決法は、スループットが十分に高く安定することを保証できるだけでなく、データを伝送するために複数のTCPストリームを使用する従来技術と比較して、メモリ要件を大幅に下げることができ、これにより、システムリソースを節約する。
これに鑑みて、本発明の第1態様は、受信端が第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信する段階であって、各パケットはシーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である、段階と、受信端が、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、受信端が、目標パケットに基づいて第2送信遅延を決定する段階であって、本発明において、第2送信遅延は第1送信遅延より大きく、第1送信遅延は手動で事前設定される、段階と、受信端が、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信する段階であって、肯定応答ACKメッセージは、「現在、受信端がL個のパケットを受信した」というようなメッセージを送信端に通知するために使用される、段階と、受信端が、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信する段階であって、これにより、送信端は、再伝送要求に基づいて、失われた目標パケットを送信できる、段階と、受信端が、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する段階であって、ただし代替的に、受信端は、第2プロトコルを使用して、送信端によって再伝送された目標パケットを受信した後に、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し得て、これにより、データ伝送を完了する段階とを備えるデータ伝送方法を提供する。
本発明は、ビッグデータシナリオに適用され得るデータ伝送方法を提供する。受信端は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信し、各パケットは、シーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である。受信端は、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、目標パケットに基づいて、第2送信遅延を決定し、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される。受信端は、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される。受信端は、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信し、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する。上述の方法はデータ伝送のために使用され、その結果、送信端がTCP輻輳ウィンドウを減少させることを効果的に防止できる。このようにして、スループットを保証するために、複数のTCPストリームを使用してデータを伝送する必要が無くなる。この解決法は、スループットが十分に高く安定することを保証できるだけでなく、データを伝送するために複数のTCPストリームを使用する従来技術と比較して、メモリ要件を大幅に下げることができ、これにより、システムリソースを節約する。
本発明の実施形態の第1態様を参照すると、第1の可能な実装において、受信端が目標パケットに基づいて第2送信遅延を決定する前に、方法はさらに、受信端が、K個のパケットにおける第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットにおける第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定する段階であって、第1パケットは第2パケットの前に受信される、すなわち、第1パケットは第2パケットの前のパケットである、または、第2パケットよりNパケット前にあり、Nは1より大きいか、もしくは、それに等しい正の整数である、段階と、受信端が、第1パケットの最後のバイトに対応するシーケンス番号が第2パケットの最初のバイトに対応するシーケンス番号と連続している場合、パケットが失われていないと決定する、または、受信端が、第1パケットの最後のバイトに対応するシーケンス番号が第2パケットの最初のバイトに対応するシーケンス番号と連続していない場合、少なくとも1つのパケットが失われたと決定し、失われた少なくとも1つのパケットは目標パケットである、段階とを備え得る。
さらに、パケットが失われたかどうかを決定するための方法が、本発明の実施形態において提供される。パケットにおける第1パケットの最後のバイトに対応するシーケンス番号が、パケットにおける第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定することによって、パケットが失われているかどうかが決定され得る。失われたパケットは、上述の方法を使用することによって決定される。パケットが失われていない場合、第2送信遅延を増加させる必要は無い。上述の方法を使用することによって、目標パケットが失われていると決定された場合、第2送信遅延はさらに増加され得る。従って、目標パケットが失われているかどうかを決定することによって、第2送信遅延を増加させる必要があるかどうかがより正確に分かり得て、これにより、解決法の実現可能性および実用性が向上する。
本発明の実施形態の第1態様を参照すると、第2の可能な実装において、受信端が、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信する前に、方法はさらに、受信端が、第1プロトコルを使用することによって、目標パケットについての情報を受信端の第2プロトコルへ送信する段階であって、目標パケットについての情報は少なくとも、目標パケットの長さおよび/またはオフセットを含み得て、オフセットは、データストリーム全体における、失われたパケットのオフセット位置を指し、長さは、パケットにおけるバイトの数を指す、段階を備え得る。
さらに、第1プロトコルと第2プロトコルとの間の関係は、具体的には、本発明のこの実施形態において説明される。データ交換は、受信端または送信端の第1プロトコルと第2プロトコルとの間で実行される。第1プロトコルは主に、パケット損失が起きた場合に、肯定応答ACKメッセージの送信を遅延できることを実装し、第2プロトコルは、協同方式の効果的なデータ伝送を実現するために送信端と受信端との間で使用され、失われたパケットの再伝送を担う。新しく追加された第2プロトコルは、実際の適用プロセスにおいて、パケット再伝送効率を向上させる役割を果たし、第1プロトコルと第2プロトコルとの間のデータ交換は、本発明の解決法の具体的な実装のためのサポートを提供し、これにより、解決法の実現可能性および実用性を向上させる。
本発明の実施形態の第1態様の第1の任意の実施形態を参照すると、第3の可能な実装において、少なくとも1つのパケットが失われたと受信端が決定した後に、方法はさらに、第1プロトコルを使用することによって取得された初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて第2プロトコルを使用することによってデータストリーム全体における目標パケットの位置を決定する段階を備え得る。
さらに、本発明の実施形態において、受信端は、初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第1プロトコルを使用することによって、情報を第2プロトコルへ送信し得て、これにより、受信端は、第2プロトコルを使用することによって、送信される予定のデータストリーム全体における、目標パケットの位置を決定する。従って、解決法の実現可能性、実用性および柔軟性がより高くなる。
本発明の実施形態の第1態様の第3の任意の実施形態を参照すると、第4の可能な実装において、第1プロトコルを使用することによって取得された初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第2プロトコルを使用することによって、受信端が目標パケットの位置を決定する段階は、受信端が、式M=A+1に基づいて目標パケットの最初のバイトに対応するシーケンス番号を計算する段階であって、Mは目標パケットに対応する最初のバイトであり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、段階と、受信端が、式N=B−A−1に基づいて、目標パケットの長さを計算する段階であって、Nは目標パケットの長さであり、Bは第2パケットの最初のバイトに対応するシーケンス番号であり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、段階と、受信端が、式Q=A−Yに基づいて、目標パケットのオフセット位置を計算する段階であって、Qは目標パケットのオフセット位置であり、Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Yは初期シーケンス番号である、段階とを含み得る。
さらに、本発明のこの実施形態において、いかにして第2プロトコルを使用することによって目標パケットの位置を決定するかが説明されている。受信端は、目標パケットの位置を決定するべく、関連する式に基づいて、目標パケットに対応する最初のバイト、目標パケットの長さ、および、目標パケットのオフセット位置を計算し得て、これにより、解決法の実装についての具体的な基礎を提供し、解決法の実現可能性を向上させる。
本発明の実施形態の第1態様、または、第1態様の第1から第4の任意の実施形態のいずれか1つを参照すると、第5の可能な実装において、受信端が、目標パケットに基づいて、第2送信遅延を決定した後に、方法はさらに、受信端がカウンタを開始する段階と、受信端が1つのパケットを受信するたびに、パケット損失が発生したかどうかを決定する必要がある段階であって、パケットが失われた場合、カウンタをリセットし、第2送信遅延を増加させる、または、パケットが失われていない場合、カウンタの値を増加させ、さらに、カウンタの値が事前設定閾値に到達したかどうかを決定し、カウンタの値が事前設定閾値に到達した場合、第2送信遅延を減少させ、カウンタをリセットする、段階とを備え得る。
なおさらに、本発明の実施形態において、受信端は実際の状況に基づいて、第2送信遅延を制御し得る。受信端は、パケットが失われたと決定したとき、第2送信遅延を増加させ、これにより、受信端がパケット損失を検出したときに肯定応答ACKメッセージを送信端へ送信したことが原因で、送信端の輻輳ウィンドウが半分になるという問題を回避する。受信端は、パケットが失われていないと決定したとき、第2送信遅延を減少させ、これにより、送信端は、より適切なタイミングで、受信端の受信状態を認識することができる。このようにして、送信端の輻輳ウィンドウは突然減少しないので、データを伝送するためにTCPが使用されるとき、スループットを保証できる。さらに、受信端は、カウンタを使用することによってパケットの数を計算するための方法を使用することによって、第2送信遅延を制御し、これにより、解決法の実現可能性および柔軟性を向上させることができる。
本発明の第2態様は受信端を提供し、受信端は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信するように構成されている受信モジュールであって、各パケットはシーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である、受信モジュールと、受信モジュールによって受信されたK個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたと検出したとき、目標パケットに基づいて第2送信遅延を決定するように構成されている決定モジュールであって、第2送信遅延は、第1送信遅延より大きく、第1送信遅延は事前設定される、決定モジュールと、決定モジュールによって決定された第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信するように構成されている送信モジュールであって、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される、送信モジュールとを備え、送信モジュールはさらに、決定モジュールがK個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたと検出したとき、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信するように構成され、受信モジュールはさらに、送信モジュールが第2プロトコルを使用することによって目標パケットのための再伝送要求を送信端へ送信した後に、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信するように構成されている。
本発明の実施形態の第2態様を参照すると、第1の可能な実装において、受信端はさらに、判定モジュールを備え得て、判定モジュールは、決定モジュールが目標パケットに基づいて送信遅延を決定する前に、K個のパケットにおける第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットにおける第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定するように構成され、第1パケットは、第2パケットの前に受信され、決定モジュールはさらに、判定モジュールが、第1パケットの最後のバイトに対応するシーケンス番号が第2パケットの最初のバイトに対応するシーケンス番号と連続していると決定した場合、パケットが失われていないと決定する、または、判定モジュールが、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続していないと決定した場合、少なくとも1つのパケットが失われたと決定するように構成され、少なくとも1つのパケットは目標パケットである。
本発明の実施形態の第2態様を参照すると、第2の可能な実装において、送信モジュールはさらに、送信モジュールが第2プロトコルを使用することによって目標パケットのための再伝送要求を送信端へ送信する前に、第1プロトコルを使用することによって、目標パケットについての情報を第2プロトコルへ送信するように構成されている。
本発明の実施形態の第2態様の第1の任意の実施形態を参照すると、第3の可能な実装において、決定モジュールはさらに、決定モジュールが、少なくとも1つのパケットが失われたと決定した後に、第1プロトコルの初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第2プロトコルを使用することによって、目標パケットの位置を決定するように構成されている。
本発明の実施形態の第2態様の第3の任意の実施形態を参照すると、第4の可能な実装において、決定モジュールは、式M=A+1に基づいて、目標パケットに対応する最初のバイトを計算することであって、Mは目標パケットの最初のバイトに対応するシーケンス番号であり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、式N=B−A−1に基づいて、目標パケットの長さを計算することであって、Nは目標パケットの長さであり、Bは第2パケットの最初のバイトに対応するシーケンス番号であり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、式Q=A−Yに基づいて、目標パケットの位置を計算することであって、Qは目標パケットの位置であり、Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Yは初期シーケンス番号である、ことを行うように構成されている計算ユニットを含む。
本発明の実施形態の第2態様、または、第1態様の第1から第4の任意の実施形態のいずれか1つを参照すると、第5の可能な実装において、受信端はさらに、開始モジュールおよびカウントモジュールを備え、開始モジュールは、決定モジュールが目標パケットに基づいて第2送信遅延を決定した後に、カウンタを開始するように構成され、カウントモジュールは、開始モジュールがカウンタを開始した後に、1つのパケットが受信されるたびに、パケット損失が発生したかどうかを決定し、パケットが失われた場合、カウンタをリセットし、第2送信遅延を増加させる、または、パケットが失われていない場合、カウンタの値を増加させ、カウンタの値が事前設定閾値に到達したかどうかを決定し、カウンタの値が事前設定閾値に到達した場合、第2送信遅延を減少させ、カウンタをリセットするように構成されている。
本発明の第3態様は、受信端を提供し、受信端は、メモリ、送受信器、プロセッサおよびバスシステムを備え、メモリは、プログラムを記憶するように構成され、プロセッサは、メモリにおけるプログラムを実行するように構成されている。具体的なステップは、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信するように送受信器を制御するステップであって、各パケットはシーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である、ステップと、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことが検出されたとき、目標パケットに基づいて第2送信遅延を決定するステップであって、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される、ステップと、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信するように送受信器を制御するステップであって、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される、ステップと、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信するように送受信器を制御するステップと、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信するように送受信器を制御するステップとを含む。
任意で、プロセッサは、メモリにおけるプログラムを実行するように構成され、さらに具体的には、K個のパケットのうちの第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットのうちの第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定するステップであって、第1パケットは、第2パケットの前に受信される、ステップと、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続している場合、パケットが失われていないと決定する、または、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続していない場合、少なくとも1つのパケットが失われたと決定するステップであって、少なくとも1つのパケットは目標パケットである、ステップとを実行するように構成されている。
任意で、プロセッサは、メモリにおけるプログラムを実行するように構成され、さらに具体的には、第1プロトコルを使用することによって、目標パケットについての情報を第2プロトコルへ送信するように送受信器を制御するステップを実行するように構成されている。
任意で、プロセッサは、メモリにおけるプログラムを実行するように構成され、さらに具体的には、第1プロトコルの初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第2プロトコルを使用することによって、目標パケットの位置を決定するステップを実行するように構成されている。
任意で、プロセッサは、メモリにおけるプログラムを実行するように構成され、さらに具体的には、式M=A+1に基づいて、目標パケットの最初のバイトに対応するシーケンス番号を計算するステップであって、Mは目標パケットに対応する最初のバイトであり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、ステップと、式N=B−A−1に基づいて、目標パケットの長さを計算するステップであって、Nは目標パケットの長さであり、Bは第2パケットの最初のバイトに対応するシーケンス番号であり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、ステップと、式Q=A−Yに基づいて、目標パケットのオフセット位置を計算するステップであって、Qは目標パケットのオフセット位置であり、Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Yは初期シーケンス番号である、ステップとを実行するように構成されている。
任意で、プロセッサは、メモリにおけるプログラムを実行するように構成され、さらに具体的には、カウンタを開始するステップと、1つのパケットが受信されるたびに、パケット損失が発生したかどうかを決定するステップであって、パケットが失われた場合、カウンタをリセットし、第2送信遅延を増加させる、または、パケットが失われていない場合、カウンタの値を増加させ、カウンタの値が事前設定閾値に到達したかどうかを決定し、カウンタの値が事前設定閾値に到達した場合、第2送信遅延を減少させ、カウンタをリセットする、ステップとを実行するように構成されている。
上述の技術的解決法から、本発明の実施形態が以下の利点を有することが認識されよう。
本発明は、ビッグデータシナリオに適用され得るデータ伝送方法を提供する。受信端は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信し、各パケットは、シーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である。受信端は、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、目標パケットに基づいて、第2送信遅延を決定し、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される。受信端は、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される。受信端は、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信し、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する。上述の方法はデータ伝送のために使用され、その結果、送信端がTCP輻輳ウィンドウを減少させることを効果的に防止できる。このようにして、スループットを保証するために、複数のTCPストリームを使用してデータを伝送する必要が無くなる。この解決法は、スループットが十分に高く安定することを保証できるだけでなく、データを伝送するために複数のTCPストリームを使用する従来技術と比較して、メモリ要件を大幅に下げることができ、これにより、システムリソースを節約する。
本発明の実施形態に係るデータ伝送方法の実施形態の概略図である。
本発明の実施形態に係る、第1プロトコルと第2プロトコルとの間のインタラクションのプロセスの概略図である。
本発明の実施形態に係る受信端による、第2送信遅延の制御の概略フローチャートである。
本発明の実施形態に係るデータ伝送の適用シナリオを示す。
本発明の実施形態に係る受信端の実施形態の概略図である。
本発明の実施形態に係る受信端の別の実施形態の概略図である。
本発明の実施形態に係る受信端の別の実施形態の概略図である。
本発明の実施形態に係る受信端の別の実施形態の概略図である。
本発明の実施形態に係る受信端のハードウェアの模式構造図である。
本発明は、データ伝送方法および関連するデバイスを提供し、これにより、送信端がTCP輻輳ウィンドウを減少させることを効果的に防止できる。このようにして、スループットを保証するために、複数のTCPストリームを使用してデータを伝送する必要が無くなる。この解決法は、スループットが十分に高く安定することを保証できるだけでなく、データを伝送するために複数のTCPストリームを使用する従来技術と比較して、メモリ要件を大幅に下げることができ、これにより、システムリソースを節約する。
本発明の明細書、特許請求の範囲および付属図面において、「第1」、「第2」、「第3」、「第4」など(存在する場合)の用語は、同様の対象間を区別することを意図するものであり、必ずしも、特定の順序または順番を示すものではない。そのような方式で名前を付けられたデータは、適切な状況下において相互に交換可能であり、これにより、ここで説明される本発明の実施形態は、ここで例示または説明される順序以外の順序で実装できることを理解すべきである。さらに、「含む」、「備える」という用語、および他の何らかの変形は、非排他的な含有を含むことを意味する。例えば、一連の段階またはユニットを含むプロセス、方法、システム、製品、またはデバイスは、必ずしもそれらのユニットに限定されるわけではなく、明示的に列挙されていないか、またはそのような処理、方法、システム、製品、またはデバイスに固有の他のユニットを含んでよい。
本発明の実施形態は、ビッグデータシナリオにおけるデータ伝送に適用され得るが、ビッグデータシナリオだけに限定されないことを理解すべきである。情報技術(英文全表記:Information Technology、略称:IT)において、ビッグデータはますます多くの注目を集めている。なぜなら、ビッグデータは以下の4つの特徴を有するからである。第1の特徴は、大量のデータである。これは基本的に、数十テラバイト(英文全表記:Terabyte、略称:TB)から数ペタバイト(英文全表記:Petabyte、略称:PB)の規模を指し、さらには、数エクサバイト(英文全表記:Exabyte、略称:EB)のことを指す。第2の特徴は、データの多様性である。従来の販売および在庫データに加えて、現在企業によって収集および解析されているデータには、ウェブログデータおよびソーシャルプラットフォームデータなどのメディアにおけるテキストデータ、スマートフォンに内蔵されるグローバルポジショニングシステム(英文全表記:Global Positioning System、略称:GPS)において生成される位置情報、監視カメラのビデオデータおよび同様のものが含まれる。第3の特徴は、高いデータ生成速度および更新頻度、ならびに、強いリアルタイム性である。第4の特徴は高価値である。ビッグデータの利点は、データが有用であり、高価値であることである。多くの産業にとって、いかにしてビッグデータを十分に使用するかは、競争に勝つための鍵となっている。
概して、FTPがビッグデータの伝送に使用され得る。FTPは、インターネット上でのファイルの双方向転送を制御するために使用され、FTPはまた、アプリケーションプログラムである。異なるオペレーティングシステムに応じて、異なるFTPアプリケーションプログラムがあり、これらのアプリケーションプログラムはすべて、ファイルを転送するための同一のプロトコルに従う。FTPの使用中、2つの概念がしばしば登場する。すなわち、ダウンロードおよびアップロードである。ファイルをダウンロードすることは、リモートホストから自身のコンピュータへファイルをコピーすることを指し、ファイルをアップロードすることは、自身のコンピュータからリモートホストへファイルをコピーすることを指す。
上述の説明から分かるように、FTPは、インターネット上でのファイルの双方向転送を制御するアプリケーションプログラムであり得る。しかしながら、FTPは実際には、TCPに基づいてデータ伝送機能を実装する。TCPは、コネクション指向、高信頼性、バイトストリームベースのトランスポート層通信プロトコルであり、インターネットエンジニアリングタスクフォース(英文全表記:Internet Engineering Task Force、略称:IETF)のリクエストフォーコメンツ(英文全表記:Request for Comments、略称:RFC)793によって定義される。簡潔なコンピュータネットワーク開放型システム間相互接続(英文全表記:Open System Interconnection、略称:OSI)モデルにおいて、TCPは、第4層すなわちトランスポート層によって規定される機能を実現するために使用される。アプリケーション層は、8ビットのバイトで表される、ネットワーク間伝送に使用されるデータストリームをTCP層へ送信し、次にTCP層は、データストリームをパケット内にカプセル化し、ネットワークを使用することによってパケットを受信端のTCP層へ伝送する。TCP層によってカプセル化された各パケットは、パケットの最初のバイトに対応するシーケンス番号を含み、後続のバイトの各々は、最初のバイトのシーケンス番号に基づいてインクリメントされる。バイトに対応するシーケンス番号が連続していないとき、パケット損失が検出され得る。パケット伝送プロセスにおいて、受信端は、成功裏に受信されたパケットのための対応する肯定応答ACKメッセージを返す。送信端が適切なRTT内にパケットに対応するACKを受信しない場合、パケットが失われたと想定し、パケットが再伝送される。
本発明の実施形態において提供されるデータ伝送方法は、ネットワークデバイスに適用され得るか、または、端末デバイスに適用され得ることを理解すべきである。具体的なデプロイメントのシナリオは、本明細書において限定されない。
図1を参照すると、本発明の実施形態におけるデータ伝送方法の実施形態は、以下の段階を備える。
101:第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信する。各パケットはシーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である。
この実施形態において、受信端は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信し、各パケットはシーケンス番号を含む。Kは、1より大きいか、または、それに等しい自然数であり、Lは、Kより大きいか、または、それに等しい自然数である。
第1プロトコルは、従来のTCPプロトコルが修正された後に取得されるプロトコルであり、本明細書において、修正TCPと称されるか、または、拡張TCPと称され得る。従来のTCPとは異なり、修正TCPは、パケット損失状態に基づいて、肯定応答ACKメッセージの送信を遅延させるために使用され、第1プロトコル、すなわち修正TCPは、パケットを再伝送することに使用されない。本発明において、受信端および送信端は、従来のTCPを使用することによってTCP接続を確立し、その結果、受信端は、第1プロトコルを使用することによって、送信端によって送信されるパケットを受信できる。
各パケットの各バイトは、1つのシーケンス番号に対応する。第1パケットの最初のバイトのシーケンス番号は、xとして表され得て、第1パケットの最初のバイトに続く、第1パケットの2番目のバイトのシーケンス番号は、x+1であり、以降も同様である。xは、0より大きいか、またはそれに等しい正の整数である。第1パケットの最後のバイトのシーケンス番号がyである場合、第2パケットの最初のバイトのシーケンス番号は、y+1であり、yは、0より大きいか、または、それに等しい正の整数である。
102:K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことが検出されたとき、目標パケットに基づいて第2送信遅延を決定し、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される。
この実施形態において、受信端は、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、データシーケンス全体における目標パケット数、データシーケンス全体における目標パケットの長さ、および、データシーケンス全体における目標パケットのオフセット位置のうちの少なくとも1つの情報に基づいて、第2送信遅延を決定する。第2送信遅延は、受信端が肯定応答ACKメッセージを送信端へ送信するために遅延する時間である。目標パケットは、L個のパケットのうちの少なくとも1つである。
第2送信遅延は、第1送信遅延より大きい。具体的には、事前設定された第1送信遅延が8ミリ秒(英文全表記:ミリ秒、略称:ms)である場合、受信端は8msごとに肯定応答ACKメッセージを送信端へ送信し、これにより、8ms内にどのパケットが受信されたかを送信端に通知する。8ms内に目標パケットが失われたことが分かった場合、8msの第1送信遅延が延長され、例えば、遅延値が増加され得る。遅延値は固定値か、または、特定の規則を有する値であり得る。遅延値が20msである場合、取得される第2送信遅延は28msであり、第2送信遅延は確実に第1送信遅延より大きい。第2送信遅延が28msである場合、8msが経過するとき、受信端は、受信端が目標パケットを受信していないことを送信端に通知せず、パケット損失状態を「隠し」、その後の20ms中に、これらの失われた目標パケットを受信することを再度試みる。受信端は、第1プロトコルを使用することによって、失われた目標パケットを受信した後に、肯定応答ACKメッセージを使用することによって、すべてのパケットが受信されたことを送信端に通知する。このようにして、パケットが失われたことを送信端が発見したことが原因で送信端がTCP輻輳ウィンドウを急速に減少させることが防止され、また、送信端が急速に送信速度を減少させることが防止される。
103:第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信する。肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される。
この実施形態において、受信端は、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し、肯定応答ACKメッセージは、受信端がK個のパケットを受信したことを送信端に通知するために、すなわち、パケットが失われていないことを送信端に通知するために使用される。
段階103と、受信端が第2プロトコルを使用することによって、再伝送された目標パケットを受信する段階105とは、順番に実行されるわけではないことに留意すべきである。具体的には、受信端が送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信する段階103は、受信端が第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する段階105の前であり得るか、または、受信端が第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する段階105の後であり得る。
104:第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信する。
この実施形態において、受信端は第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信し、これにより、目標パケットを再伝送するように送信端に要求する。
第2プロトコルは、別の修正TCPであり得て、修正TCPは、準TCPプロトコルと称され、TCP準アプリケーション層に適用される。従来のTCPと異なり、第2プロトコルは、第1プロトコルを使用することによって送信される目標パケットについての関連情報を受信するために使用でき、第2プロトコルは、目標パケットを再伝送するために使用できる。
さらに、第2プロトコルは、修正されたユーザデータグラムプロトコル(英文全表記:User Datagram Protocol、略称:UDP)であり得る。従来のUDPは、OSI参照モデルにおけるコネクションレストランスポート層プロトコルであり、トランザクション指向の単純で低信頼性の情報転送サービスを提供するために使用される。ネットワークにおいて、従来のUDPはコネクションレスプロトコルであり、TCPプロトコルと同様にパケットを処理するために使用される。UDPには、パケットのグループ化、組み合わせ、および、パケットの並べ替えを提供しないという短所がある。具体的には、パケットが送信された後、パケットが安全かつ完全に到着したかどうかを認識できない。UDPは、コンピュータ間でデータを伝送する必要があるネットワークの用途をサポートするために使用される。
インターネットプロトコル(英文全表記:Internet Protocol、略称:IP)層の間のデータ伝送は低信頼性である。TCP層は、低信頼性のIP層の上に確立され、高信頼性の伝送を提供する。準TCP層が、TCP層の上の層に確立される。受信端は、第2プロトコルを使用するTCP準アプリケーション層を使用することによって、第2プロトコルを使用する、送信端にあるTCP準アプリケーション層へ再伝送要求を送信し、その結果、送信端は、受信された再伝送要求に基づいて、目標パケットを再伝送する。
105:第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する。
この実施形態において、送信端は、第2プロトコルを使用することによって、受信端によって送信された再伝送要求を受信した後に、要求に基づいて、第2プロトコルを使用することによって、失われた目標パケットを受信端へ再伝送し、受信端は、第2プロトコルを使用することによって、対応する目標パケットを受信する。
受信端は、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信した後に、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し得ることに留意すべきである。ここでは、これに限定されない。
本発明は、ビッグデータシナリオに適用され得るデータ伝送方法を提供する。受信端は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信し、各パケットは、シーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である。受信端は、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、目標パケットに基づいて、第2送信遅延を決定し、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される。受信端は、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される。受信端は、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信し、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する。上述の方法はデータ伝送のために使用され、その結果、送信端がTCP輻輳ウィンドウを減少させることを効果的に防止できる。このようにして、スループットを保証するために、複数のTCPストリームを使用してデータを伝送する必要が無くなる。この解決法は、スループットが十分に高く安定することを保証できるだけでなく、データを伝送するために複数のTCPストリームを使用する従来技術と比較して、メモリ要件を大幅に下げることができ、これにより、システムリソースを節約する。
任意で、図1に対応する実施形態に基づいて、本発明のこの実施形態において提供されるデータ伝送方法の第1の任意の実施形態において、目標パケットに基づいて第2送信遅延を決定する段階の前に、方法はさらに、K個のパケットのうちの第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットのうちの第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定する段階であって、第1パケットは、第2パケットの前に受信される、段階と、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続している場合、パケットが失われていないと決定する、または、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続していない場合、少なくとも1つのパケットが失われたと決定する段階であって、少なくとも1つのパケットは目標パケットである、段階とを備え得る。
パケットが失われたかどうかを決定するための方法が、この実施形態において提供され、具体的には以下の通りである。第1パケットが、第2パケットの前に受信される。第1パケットの長さが10バイトであり、各バイトは1つのシーケンス番号に対応すると想定する。具体的には、第1パケットの10バイトのシーケンス番号は、それぞれ、1、2、3、4、5、6、7、8、9、10である。従って、第1パケットが受信された後に、第1パケットの最後のバイトに対応するシーケンス番号10が取得され得る。
第1パケットが受信された後に、第2パケットが続いて受信される。この場合、第2パケットの最初のバイトに対応するシーケンス番号を取得するために、第2パケットは解析される必要がある。最初のバイトに対応するシーケンス番号が11である場合、このことは、第2パケットが第1パケットと連続していることを示し、すなわち、パケットが失われていないと決定される。第2パケットの最初のバイトに対応するシーケンス番号が11でない場合、このことは、第2パケットが第1パケットと連続していないことを示し、すなわち、少なくとも1つのパケットが失われたと決定され、失われた少なくとも1つのパケットは目標パケットである。
さらに、パケットが失われているかどうかを決定するための方法が本発明のこの実施形態において提供される。K個のパケットにおける第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットにおける第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定することによって、パケットが失われているかどうかが決定され得る。失われたパケットは、上述の方法を使用することによって決定される。パケットが失われていない場合、第2送信遅延を増加させる必要は無い。上述の方法を使用することによって、目標パケットが失われていると決定された場合、第2送信遅延はさらに増加され得る。従って、目標パケットが失われているかどうかを決定することによって、第2送信遅延を増加させる必要があるかどうかがより正確に分かり得て、これにより、解決法の実現可能性および実用性が向上する。
任意で、図1に対応する実施形態に基づいて、本発明のこの実施形態において提供されるデータ伝送方法の第2の任意の実施形態において、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信する前に、方法はさらに、第1プロトコルを使用することによって、目標パケットについての情報を第2プロトコルへ送信する段階を備え得る。
この実施形態において、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信する前に、受信端はまず、受信端の第1プロトコルを使用することによって、目標パケットについての関連情報を受信端の第2プロトコルへ送信する必要がある。目標パケットについての関連情報には、失われたパケットのオフセットおよび長さが含まれる。オフセットとは、データストリーム全体における、失われたパケットのオフセット位置を指し、長さは、パケットにおけるバイト数を指す。目標パケットについての情報はさらに、いくつかの他の情報を含み得ることを理解されたい。
受信端が、第1プロトコルを使用することによって、目標パケットについての情報を受信端の第2プロトコルへ送信することについての詳細は、図2を参照されたい。図2は、本発明の実施形態に係る第1プロトコルと第2プロトコルとの間のインタラクションのプロセスの概略図である。図2に示されるように、2つのTCP/IPプロトコルスタックがネットワーク要素(英文全表記:Network Element、略称:NE)上に展開される。データ伝送は、3つの部分、すなわち、サーバからNE_A、NE_AからNE_B、NE_Bからクライアントに分けられる。既存の標準的なTCP/IPプロトコルスタックは、TCP_AおよびTCP_Bにおいて使用される。例えばメモリおよびメッセージの共有など、NEデバイス間のデータ交換のための多くの方法がある。NEを使用することによって通信するために、TCPプロキシがサーバとクライアントとの間に配置され得る。NE_Aは、データをサーバから取得しながら、データをNE_Bへ送信し得る。NE_Bは、データをNE_Aから受信しながら、データをクライアントへ送信し得る。
TCP_AおよびTCP_Bは既存のTCPプロトコルである。サーバおよびNE_Aは、既存のTCPプロトコルを使用することによって、TCPピアプロトコル層でデータを伝送する。NE_Bおよびクライアントは、既存のTCPプロトコルを使用することによって、TCPピアプロトコル層でデータを伝送する。NE_AおよびNE_Bは、個別に既存のTCPプロトコルを修正し、第1プロトコルおよび第2プロトコルを取得する。パケットは、送信端のTCPピアプロトコル層で、アプリケーション層を使用することによって、第1プロトコルを使用するTCP層へ送信される。同様に、パケットは、受信端のTCPピアプロトコル層で、アプリケーション層を使用することによって、第1プロトコルを使用するTCP層へ送信される。受信端は、第1プロトコルを使用することによって肯定応答ACKメッセージを送信端へ送信し、送信端は、第2プロトコルを使用することによって、受信端への再伝送を要求された目標パケットを送信する。
本発明の解決法において、NE_Aは、サーバ側の送信端であり、NE_Bは、クライアント側の受信端である。受信端は、説明のための例として使用される。受信端が、受信端の第1プロトコルを使用することによって、目標パケットについての情報を受信端の第2プロトコルへ送信することは、具体的には以下の通りであり得る。受信端は、第1プロトコルを使用することによって、計算を通して、目標パケットの最初のバイトに対応するシーケンス番号、目標パケットの長さ、および、目標パケットのオフセット位置を取得し、第1プロトコルを使用することによって、目標パケットについての情報を第2プロトコルへ送信する。
さらに、第1プロトコルと第2プロトコルとの間の関係は、具体的には、本発明のこの実施形態において説明される。データ交換は、受信端または送信端の第1プロトコルと第2プロトコルとの間で実行される。第1プロトコルは主に、パケット損失が起きた場合に、肯定応答ACKメッセージの送信を遅延できることを実装し、第2プロトコルは、協同方式の効果的なデータ伝送を実現するために送信端と受信端との間で使用され、失われたパケットの再伝送を担う。新しく追加された第2プロトコルは、実際の適用プロセスにおいて、パケット再伝送効率を向上させる役割を果たし、第1プロトコルと第2プロトコルとの間のデータ交換は、本発明の解決法の具体的な実装のためのサポートを提供し、これにより、解決法の実現可能性および実用性を向上させる。
任意で、図1に対応する第1の任意の実施形態に基づいて、本発明のこの実施形態において提供されるデータ伝送方法の第3の任意の実施形態において、少なくとも1つのパケットが失われたと決定した後に、方法はさらに、第1プロトコルの初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第2プロトコルを使用することによって、目標パケットの位置を決定する段階を備え得る。
送信される予定のデータストリーム全体における目標パケットの位置を決定するための方法が、この実施形態において提供される。受信端は、第1プロトコルを使用することによって、送信端によって送信されたパケットを受信し、これらのパケットのうちのパケットが失われているかどうかを決定し得る。少なくとも1つのパケットが失われたと決定された後に、受信端は、第1プロトコルの初期シーケンス番号、すなわち、送信端が第1プロトコルを使用することによって、受信端へ初めて送信されたパケットの最初のバイトのシーケンス番号を取得し、解析を通して、第1パケットの最後のバイトに対応するシーケンス番号と、第2パケットの最初のバイトに対応するシーケンス番号とを取得し得る。第1パケットは、第2パケットの前に受信される。受信端は、初期シーケンス番号と、第1パケットの最後のバイトに対応するシーケンス番号とに基づいて、計算を通して、データストリーム全体における失われたパケットのオフセット位置を取得し得る。受信端はさらに、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、計算を通して、失われたパケットの長さ、すなわち、バイト数を取得し得る。
実際の適用において、伝送される予定のパケットの数が比較的小さい場合、各パケットの順番は、シーケンス番号を用いて直接的に示され得る。しかしながら、ビッグデータ伝送の場合、パケット数は通常、比較的大きい。概して、TCPを使用することによって伝送されるパケットのシーケンス番号には制約がある。最大シーケンス番号は(232−1)であり、初期シーケンス番号は、0から(232−1)までの任意の正の整数である。シーケンス番号が(232−1)より大きいとき、シーケンス番号のループ回数が設定される必要がある。例えば、実際のシーケンス番号が(232+1)であるとき、このことは、実際のシーケンス番号が(232−1)の範囲を超えることを意味する。従って、シーケンス番号のループ回数は、「1」に設定され、1回のループが終了することを示す。実際のシーケンス番号の表現は、実際のシーケンス番号から最大シーケンス番号を減算し、次に、1を減算することによって取得され得る。(232+1)は、1_1として表され得る。1_1における1番目の「1」は、1回のループが終了することを示し、2番目の「1」は、新しいループにおいて占められる位置が2番目の位置であることを示す。なぜなら、それより前に、シーケンス番号が「0」である位置がさらに存在するからである。
ビッグデータ伝送中、シーケンス番号が最大シーケンス番号より大きい場合は、シーケンス番号のループ回数を追加することによって処理され得て、その結果、実際の適用における解決法の実現可能性が向上し、目標パケットの位置は、計算を通してより正確に取得できる。
シーケンス番号のループ回数を追加するための方法を使用してパケットのシーケンス番号を計算することに加えて、パケットにおいて保持される最大シーケンス番号は、プロトコルを改善することによって増加され得ることに留意すべきである。
ここまで、受信端は、TCP層において第1プロトコルを使用して、計算を通して取得される、送信される予定のデータストリーム全体における、パケットのオフセット位置および長さなどの情報をTCP準アプリケーション層へ送信し、TCP準アプリケーション層において第2プロトコルを使用して、上述の情報に基づいて、失われた目標パケットの具体的な位置を取得し、これにより、目標パケットを再伝送する。
さらに、本発明のこの実施形態において、受信端は、初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第1プロトコルを使用することによって、情報を第2プロトコルへ送信し得て、これにより、受信端は、第2プロトコルを使用することによって、送信される予定のデータストリーム全体における、目標パケットの位置を決定する。従って、解決法の実現可能性、実用性および柔軟性がより高くなる。
任意で、図1に対応する第3の任意の実施形態に基づいて、本発明のこの実施形態において提供されるデータ伝送方法の第4の任意の実施形態において、第1プロトコルの初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第2プロトコル使用することによって、目標パケットの位置を決定することは、式M=A+1に基づいて、目標パケットの最初のバイトに対応するシーケンス番号を計算することであって、Mは目標パケットに対応する最初のバイトであり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、式N=B−A−1に基づいて、目標パケットの長さを計算することであって、Nは目標パケットの長さであり、Bは第2パケットの最初のバイトに対応するシーケンス番号であり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、および、式Q=A−Yに基づいて、目標パケットのオフセット位置を計算することであって、Qは目標パケットのオフセット位置であり、Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Yは初期シーケンス番号である、ことを含み得る。
目標パケットの位置を決定するための式が、本実施形態において提供され、具体的には以下の通りである。
(1)式M=A+1に基づいて、目標パケットに対応する最初のバイトを計算する。
Mは、目標パケットに対応する最初のバイトである。Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Aは20099であると想定する。この場合、目標パケットは第1パケットと第2パケットとの間の失われたパケットなので、Mは20099+1=20100であり、目標パケットの最初のバイトは、第1パケットの最後のバイトと連続している。
(2)式N=B−A−1に基づいて、目標パケットの長さを計算する。
Nは目標パケットの長さである。Bは第2パケットの最初のバイトに対応するシーケンス番号であり、Bは21100であると想定する。Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Aは20099であると想定する。この場合、第1パケットは第2パケットから目標パケットによって隔てられているので、Nは21100−20099−1=1000である。従って、目標パケットにおけるバイトの長さは、第2パケットの最初のバイトに対応するシーケンス番号から、第1パケットの最後のバイトに対応するシーケンス番号を減算し、次に1を減算することによって取得される。
(3)式Q=A−Yに基づいて、目標パケットのオフセット位置を計算する。
Qは目標パケットのオフセット位置である。Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Aは20099であると想定する。Yは初期シーケンス番号であり、Yは99であると想定する。この場合、オフセット位置は目標パケットの開始位置なので、Qは20099−99=20000である。目標パケットの位置は、第1パケットの最後のバイトに対応するシーケンス番号から初期シーケンス番号を減算することによって知られ得る。
さらに、本発明のこの実施形態において、いかにして第2プロトコルを使用することによって目標パケットの位置を決定するかが説明されている。受信端は、目標パケットの位置を決定するべく、関連する式に基づいて、目標パケットに対応する最初のバイト、目標パケットの長さ、および、目標パケットのオフセット位置を計算し得て、これにより、解決法の実装についての具体的な基礎を提供し、解決法の実現可能性を向上させる。
任意で、図1、または、図1に対応する第1から第4の任意の実施形態のいずれか1つに基づいて、本発明のこの実施形態において提供されるデータ伝送方法の第5の任意の実施形態において、目標パケットに基づいて第2送信遅延を決定する段階の後に、方法はさらに、カウンタを開始する段階と、1つのパケットが受信されるたびに、パケット損失が発生したかどうかを決定する段階であって、パケットが失われた場合、カウンタをリセットし、第2送信遅延を増加させる、または、パケットが失われていない場合、カウンタの値を増加させ、カウンタの値が事前設定閾値に到達したかどうかを決定し、カウンタの値が事前設定閾値に到達した場合、第2送信遅延を減少させ、カウンタをリセットする、段階とを備え得る。
この実施形態において、受信端は、目標パケットに基づいて第2送信遅延を決定した後に、実際の状況に基づいて、第2送信遅延を制御し得る。
具体的には図3を参照すると、図3は、本発明の実施形態に係る受信端による第2送信遅延の制御の概略フローチャートである。図3に示されるように、以下の段階が含まれる。
段階201:ユーザは第1送信遅延を設定し、カウンタをゼロに戻し、カウンタオーバーフロー値を設定する。
例えば、ユーザは実際の状況に基づいて第1送信遅延を設定し、すなわち、ACK遅延初期値を8ミリ秒にして、次に、カウンタをゼロに戻し、最後に、カウンタオーバーフロー値を100に設定し、すなわち、事前設定閾値を100にする。具体的には、失われていないパケットの数が100より大きいか、または、それに等しいとき、カウンタはオーバーフローする。
段階202:カウンタを開始し、送信端によって送信されたパケットの受信を開始し、カウンタはパケットの数を計算するために使用される。
段階203:パケットが失われたかどうかを決定する。
1つのパケットを受信するたびに、受信端はパケット損失が発生したかどうかを決定する必要がある。決定方法は、図1に対応する第1の任意の実施形態において説明されるプロセスと同様である。具体的には、受信端は、第1パケットの最後のバイトに対応するシーケンス番号が第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定することによって、パケットが失われたかどうかを決定する。
段階204:パケットが失われたと決定されたとき、カウンタをリセットし、第2送信遅延を増加させる。
第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続していない場合、パケットが失われたと決定される。この場合、カウンタはリセットされる必要があり、第2送信遅延は増加される必要がある。20msなどの1つの固定値が毎回増加される。1つのパケットが失われたとき、第2送信遅延は28msである(ACK遅延初期値+1×固定値)。当然、2つのパケットが連続して失われた場合、第2送信遅延は48msであり(ACK遅延初期値+2×固定値)、以降も同様である。第2送信遅延は上述の方式で計算される。
段階205:パケットが失われていないと決定されたとき、非パケット損失タイマの値を累積的に増加させる。
第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続している場合、パケットが失われていないと決定される。この場合、カウンタの値は累積的に増加される必要がある。例えば、ゼロに戻されたカウンタについては、受信された第1パケットが失われていないと決定されたとき、カウンタの値は1であり、第2パケットも失われていないとき、カウンタの値は累積的に増加されて2になり、以降も同様である。カウンタの値は上述の方式で累積的に増加される。
段階206:カウンタがオーバーフローしたかどうかを決定し、すなわち、カウンタの値が事前設定閾値に到達したかどうかを決定する。
カウンタの値が事前設定閾値に到達したかどうかは、カウンタの値が累積的に増加されるたびに決定される必要がある。段階201に基づいて、カウンタオーバーフロー値は100であること、すなわち事前設定閾値が100であることが分かり得る。カウンタの累積的に増加された値が事前設定閾値に到達した場合、段階207が実行される。または、カウンタの累積的に増加された値が事前設定閾値より低い場合、段階202が実行され、引き続き次のパケットを受信する。
段階207:カウンタがオーバーフローしたとき、第2送信遅延を減少させ、カウンタをゼロに戻す。
カウンタの累積的に増加された値が事前設定閾値に到達した場合、カウンタの累積的に増加された値は丁度100であると想定すると、第2送信遅延を減少させる必要がある。100に到達するたびに、1msのような第2固定値に基づいて第2送信遅延が減少され得て、カウンタはリセットされ、すなわち、カウンタはゼロに戻され、段階202が実行され、引き続き後続のパケットを受信する。
本実施形態における、第1送信遅延、毎回増加される固定値の大きさ、カウンタの事前設定閾値、および、第2固定値の大きさは、実際の状況に基づいて設定され得ることに留意すべきである。
なおさらに、本発明のこの実施形態において、受信端は実際の状況に基づいて、第2送信遅延を制御し得る。受信端は、パケットが失われたと決定したとき、第2送信遅延を増加させ、これにより、受信端がパケット損失を検出したときに肯定応答ACKメッセージを送信端へ送信したことが原因で、送信端の輻輳ウィンドウが半分になるという問題を回避する。受信端は、パケットが失われていないと決定したとき、第2送信遅延を減少させ、これにより、送信端は、より適切なタイミングで、受信端の受信状態を認識することができる。このようにして、送信端の輻輳ウィンドウは突然減少しないので、データを伝送するためにTCPが使用されるとき、スループットを保証できる。さらに、受信端は、カウンタを使用することによってパケットの数を計算するための方法を使用することによって、第2送信遅延を制御し、これにより、解決法の実現可能性および柔軟性を向上させることができる。
理解を容易にするべく、以下では、特定の適用シナリオを使用することによって、本発明におけるデータ伝送方法を詳細に説明する。図4を参照すると、図4は、本発明の実施形態に係るデータ伝送の適用シナリオである。データ伝送の適用シナリオは、具体的には以下の通りである。
1.送信端のTCP層と受信端のTCP層との間でTCP接続を確立する。送信端の初期シーケンス番号は99であり、受信端の初期シーケンス番号は21234であると想定する。
2.送信端と受信端との間のデータ交換を実行する。送信端はパケットを送信し、受信端は受信されたパケットを確認する。パケットは、送信端から送信され、受信端によって受信される。このプロセスにおいてパケットが失われていない場合、送信端によって送信されたパケットの最後のバイトに対応するシーケンス番号は19099である。
3.送信端は、第1プロトコルを使用するTCP層を使用することによって、シーケンス番号が19100、長さが1000であるパケットを、受信端のTCP層へ送信する。パケットの最初のバイトのオフセット位置は、19000(すなわち、19099−99=19000)であり、送信端によって送信されたパケットの最後のバイトに対応するシーケンス番号は20099である。
4.送信端は、TCP層において、第1プロトコルを使用することによって、シーケンス番号が20100、長さが1000であるパケットを送信する。パケットの最初のバイトのオフセット位置は20000であり、パケットが伝送プロセス中に失われたと想定する。
5.送信端は、TCP層において、第1プロトコルを使用することによって、シーケンス番号が21100、長さが1000であるパケットを送信する。パケットの最初のバイトのオフセット位置は21000であり、パケットは受信端によって受信される。
A:受信されたパケットのシーケンス番号がもはや連続していないことを受信端が検出した場合、受信端のTCP層は、この場合にパケットが失われたと決定し得て、前のパケットの最後のバイトのシーケンス番号、および、現在受信されたパケットの最初のバイトに対応するシーケンス番号に基づいて、失われたパケットのシーケンス番号および長さを取得し得る。前のパケットの最後のバイトのシーケンス番号が20099である場合、失われたパケットの最初のバイトに対応するシーケンス番号は、20099+1=20100であり、失われたパケットの長さは、21100−20099−1=1000であり、失われたパケットの最初のバイトのオフセット位置は、20099−99=20000である。受信端のTCP層は、情報をTCP準アプリケーション層へ報告する。
B:受信端のTCP層は、第2送信遅延を増加させ、受信端のTCP準アプリケーション層は、送信端のTCP準アプリケーション層に対する再伝送要求を開始する。要求に保持される情報は、失われたパケットの最初のバイトのオフセット位置が20000であり、失われたパケットの長さが1000であることを示す。
6−8.受信端のTCP層と送信端のTCP層との間でパケットの送信、受信および肯定応答を継続する。
以下では、本発明における受信端を詳細に説明する。図5を参照すると、本発明の実施形態における受信端300は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信するように構成されている受信モジュール301であって、各パケットはシーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である、受信モジュール301と、受信モジュール301によって受信されたK個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたと検出したとき、目標パケットに基づいて第2送信遅延を決定するように構成されている決定モジュール302であって、第2送信遅延は、第1送信遅延より大きく、第1送信遅延は事前設定される、決定モジュール302と、決定モジュール302によって決定された第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信するように構成されている送信モジュール303であって、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される、送信モジュール303とを備える。
送信モジュール303はさらに、決定モジュール302が、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信するように構成されている。
受信モジュール301はさらに、送信モジュール303が、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信した後に、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信するように構成されている。
この実施形態において、受信モジュール301は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信し、受信された各パケットはシーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である。決定モジュール302は、受信モジュール301によって受信されたK個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、目標パケットに基づいて、第2送信遅延を決定し、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される。送信モジュール303は、決定モジュール302によって決定される第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される。送信モジュール303は、決定モジュール302が、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信する。送信モジュール303が、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信した後に、受信モジュール301は、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する。
本発明は、ビッグデータシナリオに適用され得るデータ伝送方法を提供する。受信端は、第1プロトコルを使用することによって、送信端によって送信されたK個のパケットを受信し、各パケットは、シーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である。受信端は、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことを検出したとき、目標パケットに基づいて、第2送信遅延を決定し、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される。受信端は、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信し、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される。受信端は、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信し、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信する。上述の方法はデータ伝送のために使用され、その結果、送信端がTCP輻輳ウィンドウを減少させることを効果的に防止できる。このようにして、スループットを保証するために、複数のTCPストリームを使用してデータを伝送する必要が無くなる。この解決法は、スループットが十分に高く安定することを保証できるだけでなく、データを伝送するために複数のTCPストリームを使用する従来技術と比較して、メモリ要件を大幅に下げることができ、これにより、システムリソースを節約する。
任意で、図5に対応する実施形態に基づいて、図6を参照すると、本発明のこの実施形態において提供される受信端の別の実施形態において、受信端300はさらに、判定ユニット304を備える。
判定モジュール304は、決定モジュール302が目標パケットに基づいて、送信遅延を決定する前に、K個のパケットにおける第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットにおける第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定するように構成され、第1パケットは、第2パケットの前に受信される。
決定モジュール302はさらに、判定モジュール304が、第1パケットの最後のバイトに対応するシーケンス番号が第2パケットの最初のバイトに対応するシーケンス番号と連続していると決定した場合、パケットが失われていないと決定する、または、判定モジュール304が、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続していないと決定した場合、少なくとも1つのパケットが失われたと決定するように構成され、少なくとも1つのパケットは目標パケットである。
さらに、本発明のこの実施形態において、パケットが失われたかどうかを決定するための方法が提供される。K個のパケットにおける第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットにおける第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定することによって、パケットが失われているかどうかが決定され得る。失われたパケットは、上述の方法を使用することによって決定される。パケットが失われていない場合、第2送信遅延を増加させる必要は無い。上述の方法を使用することによって、目標パケットが失われていると決定された場合、第2送信遅延はさらに増加され得る。従って、目標パケットが失われているかどうかを決定することによって、第2送信遅延を増加させる必要があるかどうかがより正確に分かり得て、これにより、解決法の実現可能性および実用性が向上する。
任意で、図5に対応する実施形態に基づいて、本発明のこの実施形態において提供される受信端の別の実施形態において、送信モジュール303はさらに、送信モジュール303が第2プロトコルを使用して目標パケットのための再伝送要求を送信端へ送信する前に、第1プロトコルを使用することによって、目標パケットについての情報を第2プロトコルへ送信するように構成されている。
さらに、第1プロトコルと第2プロトコルとの間の関係は、具体的には、本発明のこの実施形態において説明される。データ交換は、受信端または送信端の第1プロトコルと第2プロトコルとの間で実行される。第1プロトコルは主に、パケット損失が起きた場合に、肯定応答ACKメッセージの送信を遅延できることを実装し、第2プロトコルは、協同方式の効果的なデータ伝送を実現するために送信端と受信端との間で使用され、失われたパケットの再伝送を担う。新しく追加された第2プロトコルは、実際の適用プロセスにおいて、パケット再伝送効率を向上させる役割を果たし、第1プロトコルと第2プロトコルとの間のデータ交換は、本発明の解決法の具体的な実装のためのサポートを提供し、これにより、解決法の実現可能性および実用性を向上させる。
任意で、図6に対応する実施形態に基づいて、本発明のこの実施形態において提供される受信端の別の実施形態において、決定モジュール302はさらに、決定モジュール302が、少なくとも1つのパケットが失われたと決定した後に、第1プロトコルの初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第2プロトコルを使用することによって、目標パケットの位置を決定するように構成されている。
さらに、本発明のこの実施形態において、受信端は、初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第1プロトコルを使用することによって、情報を第2プロトコルへ送信し得て、これにより、受信端は、第2プロトコルを使用することによって、送信される予定のデータストリーム全体における、目標パケットの位置を決定する。従って、解決法の実現可能性、実用性およぶ柔軟性がより高くなる。
任意で、図6に対応する第2の実施形態に基づいて、図7を参照すると、本発明のこの実施形態において提供される受信端の別の実施形態において、決定モジュール302は、式M=A+1に基づいて、目標パケットに対応する最初のバイトを計算することであって、Mは目標パケットに対応する最初のバイトであり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、式N=B−A−1に基づいて、目標パケットの長さを計算することであって、Nは目標パケットの長さであり、Bは第2パケットの最初のバイトに対応するシーケンス番号であり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、および、式Q=A−Yに基づいて、目標パケットの位置を計算することであって、Qは目標パケットの位置であり、Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Yは初期シーケンス番号である、ことを行うように構成されている計算ユニット3021を含む。
さらに、本発明のこの実施形態において、いかにして第2プロトコルを使用することによって目標パケットの位置を決定するかが説明されている。受信端は、目標パケットの位置を決定するべく、関連する式に基づいて、目標パケットに対応する最初のバイト、目標パケットの長さ、および、目標パケットのオフセット位置を計算し得て、これにより、解決法の実装についての具体的な基礎を提供し、解決法の実現可能性を向上させる。
任意で、図5、図6または図7に対応する実施形態に基づいて、図8を参照すると、本発明のこの実施形態において提供される受信端の別の実施形態において、受信端300はさらに、開始モジュール305およびカウントモジュール306を備える。
開始モジュール305は、決定モジュール302が目標パケットに基づいて第2送信遅延を決定した後に、カウンタを開始するように構成されている。
カウントモジュール306は、開始モジュール305がカウンタを開始した後に、1つのパケットが受信されるたびに、パケット損失が発生したかどうかを決定し、パケットが失われた場合、カウンタをリセットし、第2送信遅延を増加させる、または、パケットが失われていない場合、カウンタの値を増加させ、カウンタの値が事前設定閾値に到達したかどうかを決定し、カウンタの値が事前設定閾値に到達した場合、第2送信遅延を減少させ、カウンタをリセットするように構成されている。
図9は、本発明の実施形態に係る受信端40の模式構造図である。受信端40は、メモリ410、送受信器420、プロセッサ430およびバスシステム440を備え得る。
メモリ410は、リードオンリーメモリおよびランダムアクセスメモリを含み得て、プロセッサ430のために命令およびデータを提供し得る。メモリ410の一部はさらに、不揮発性ランダムアクセスメモリ(英文全表記:nonvolatile random access memory、略称:NVRAM)を含み得る。
メモリ410は、プログラム命令を記憶するように構成されている。
プロセッサ430は、メモリ410におけるプログラム命令を実行して、第1プロトコルを使用することによって、K個のパケットを受信するように送受信器を制御するステップであって、各パケットはシーケンス番号を含み、K個のパケットは、送信端によって送信されたL個のパケットの一部である、ステップと、K個のパケットにおけるシーケンス番号に基づいて、第1プロトコルを使用することによって、目標パケットが失われたことが検出されたとき、目標パケットに基づいて第2送信遅延を決定するステップであって、第2送信遅延は第1送信遅延より大きく、第1送信遅延は事前設定される、ステップと、第2送信遅延に基づいて、第1プロトコルを使用することによって、肯定応答ACKメッセージを送信端へ送信するように送受信器を制御するステップであって、肯定応答ACKメッセージは、受信端がL個のパケットを受信したことを送信端に通知するために使用される、ステップと、第2プロトコルを使用することによって、目標パケットのための再伝送要求を送信端へ送信するように送受信器を制御するステップと、第2プロトコルを使用することによって、送信端によって再伝送された目標パケットを受信するように送受信器を制御するステップとを実装するように構成されている。
本発明のこの実施形態において、プロセッサ430はさらに、第1プロトコルを使用することによって、メモリ410におけるプログラム命令を実行し、目標パケットについての情報を第2プロトコルへ送信するように構成されている。
プロセッサ430は、受信端40の動作を制御し、プロセッサ430は、中央処理装置(英文全表記:Central Processing Unit、略称:CPU)と称され得る。特定の適用において、受信端440のすべてのコンポーネントは、バスシステム440を使用することによって共に連結される。データバスに加えて、バスシステム440は、電源バス、制御バス、状態信号バス、および同様のものを含み得る。しかしながら、明確な説明のために、図における様々なタイプのバスをバスシステム440として示す。
本発明の上述の実施形態において開示される方法は、プロセッサ430に適用され得るか、または、プロセッサ430によって実装され得る。プロセッサ430は、集積回路チップであり得て、信号処理機能を有する。実装プロセスにおいて、上述の方法における段階は、プロセッサ430におけるハードウェアの集積論理回路、または、ソフトウェアの形態の命令を使用することによって実現され得る。任意で、プロセッサ430はさらに、K個のパケットのうちの第1パケットの最後のバイトに対応するシーケンス番号が、K個のパケットのうちの第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定することであって、第1パケットは、第2パケットの前に受信される、こと、および、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続している場合、パケットが失われていないと決定する、または、第1パケットの最後のバイトに対応するシーケンス番号が、第2パケットの最初のバイトに対応するシーケンス番号と連続していない場合、少なくとも1つのパケットが失われたと決定することであって、少なくとも1つのパケットは目標パケットである、ことを行うように構成されている。
任意で、プロセッサ430はさらに、第1プロトコルの初期シーケンス番号、第1パケットの最後のバイトに対応するシーケンス番号、および、第2パケットの最初のバイトに対応するシーケンス番号に基づいて、第2プロトコルを使用することによって、目標パケットの位置を決定するように構成されている。
任意で、プロセッサ430は具体的には、式M=A+1に基づいて、目標パケットの最初のバイトに対応するシーケンス番号を計算することであって、Mは目標パケットに対応する最初のバイトであり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、式N=B−A−1に基づいて、目標パケットの長さを計算することであって、Nは目標パケットの長さであり、Bは第2パケットの最初のバイトに対応するシーケンス番号であり、Aは第1パケットの最後のバイトに対応するシーケンス番号である、こと、および、式Q=A−Yに基づいて、目標パケットのオフセット位置を計算することであって、Qは目標パケットのオフセット位置であり、Aは第1パケットの最後のバイトに対応するシーケンス番号であり、Yは初期シーケンス番号である、ことを行うように構成されている。
任意で、プロセッサ430はさらに、カウンタを開始すること、および、1つのパケットが受信されるたびに、パケット損失が発生したかどうかを決定し、パケットが失われた場合、カウンタをリセットし、第2送信遅延を増加させる、または、パケットが失われていない場合、カウンタの値を増加させ、カウンタの値が事前設定閾値に到達したかどうかを決定し、カウンタの値が事前設定閾値に到達した場合、第2送信遅延を減少させ、カウンタをリセットすることを行うように構成されている。
図9の関連する説明については、図1の方法部分の関連する説明および効果を参照して理解されたい。詳細はここで説明しない。
上述の実施形態は、本発明の技術的解決法を説明することが意図されているに過ぎず、本発明を限定することが意図されているわけではない。本発明は、上述の実施形態を参照して詳細に説明されているが、本発明の実施形態の技術的解決法の主旨および範囲から逸脱することなく、さらに、上述の実施形態において説明された技術的解決法に対して変更を施し、または、これらのいくつかの技術的特徴に対して均等な置き換えを行い得ることを当業者は理解すべきである。

Claims (13)

  1. データ伝送の方法であって、
    第1プロトコルを使用することによってK個のパケットを受信する段階であって、各パケットはシーケンス番号を含み、前記K個のパケットは、送信端によって送信されたL個のパケットの一部である、段階と、
    前記K個のパケットにおけるシーケンス番号に基づいて、前記第1プロトコルを使用することによって、目標パケットが失われたことが検出されたとき、前記目標パケットに基づいて第2送信遅延を決定する段階であって、前記第2送信遅延は、第1送信遅延より大きく、前記第1送信遅延は事前設定される、段階と、
    前記第2送信遅延に基づいて、前記第1プロトコルを使用することによって、肯定応答ACKメッセージを前記送信端へ送信する段階であって、前記肯定応答ACKメッセージは、受信端が前記L個のパケットを受信したことを前記送信端に通知するために使用される、段階と、
    第2プロトコルを使用することによって、前記目標パケットのための再伝送要求を前記送信端へ送信する段階と、
    前記第2プロトコルを使用することによって、前記送信端によって再伝送された前記目標パケットを受信する段階と
    を備える方法。
  2. 目標パケットに基づいて第2送信遅延を決定する前記段階の前に、前記方法はさらに、
    前記K個のパケットのうちの第1パケットの最後のバイトに対応するシーケンス番号が、前記K個のパケットのうちの第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定する段階であって、前記第1パケットは、前記第2パケットの前に受信される、段階と、
    前記第1パケットの最後のバイトに対応する前記シーケンス番号が、前記第2パケットの最初のバイトに対応する前記シーケンス番号と連続している場合、パケットが失われていないと決定する、または、前記第1パケットの最後のバイトに対応する前記シーケンス番号が、前記第2パケットの最初のバイトに対応する前記シーケンス番号と連続していない場合、少なくとも1つのパケットが失われたと決定する段階であって、前記少なくとも1つのパケットは前記目標パケットである、段階と
    を備える、請求項1に記載の方法。
  3. 第2プロトコルを使用することによって、前記目標パケットのための再伝送要求を前記送信端へ送信する前記段階の前に、前記方法はさらに、
    前記第1プロトコルを使用することによって、前記目標パケットについての情報を前記第2プロトコルへ送信する段階を備える、請求項1に記載の方法。
  4. 少なくとも1つのパケットが失われたと決定する前記段階の後に、前記方法はさらに、
    前記第1プロトコルの初期シーケンス番号、前記第1パケットの最後のバイトに対応する前記シーケンス番号、および、前記第2パケットの最初のバイトに対応する前記シーケンス番号に基づいて、前記第2プロトコルを使用することによって、前記目標パケットの位置を決定する段階を備える、請求項2に記載の方法。
  5. 前記第1プロトコルの初期シーケンス番号、前記第1パケットの最後のバイトに対応する前記シーケンス番号、および、前記第2パケットの最初のバイトに対応する前記シーケンス番号に基づいて、前記第2プロトコルを使用することによって、前記目標パケットの位置を決定する前記段階は、
    式M=A+1に基づいて、前記目標パケットの最初のバイトに対応するシーケンス番号を計算する段階であって、Mは前記目標パケットに対応する最初のバイトであり、Aは前記第1パケットの最後のバイトに対応する前記シーケンス番号である、段階と、
    式N=B−A−1に基づいて前記目標パケットの長さを計算する段階であって、Nは前記目標パケットの前記長さであり、Bは前記第2パケットの最初のバイトに対応する前記シーケンス番号であり、Aは前記第1パケットの最後のバイトに対応する前記シーケンス番号である、段階と、
    式Q=A−Yに基づいて、前記目標パケットのオフセット位置を計算する段階であって、Qは前記目標パケットの前記オフセット位置であり、Aは前記第1パケットの最後のバイトに対応する前記シーケンス番号であり、Yは前記初期シーケンス番号である、段階と
    を含む、請求項4に記載の方法。
  6. 目標パケットに基づいて第2送信遅延を決定する前記段階の後に、前記方法はさらに、
    カウンタを開始する段階と、
    1つのパケットが受信されるたびに、パケット損失が発生したかどうかを決定する段階であって、パケットが失われた場合、前記カウンタをリセットし、前記第2送信遅延を増加させる、または、パケットが失われていない場合、前記カウンタの値を増加させ、前記カウンタの前記値が事前設定閾値に到達したかどうかを決定し、前記カウンタの前記値が前記事前設定閾値に到達した場合、前記第2送信遅延を減少させ、前記カウンタをリセットする、段階と
    を備える、請求項1から5のいずれか一項に記載の方法。
  7. 受信端であって、
    第1プロトコルを使用することによってK個のパケットを受信するように構成されている受信モジュールであって、各パケットはシーケンス番号を含み、前記K個のパケットは、送信端によって送信されたL個のパケットの一部である、受信モジュールと、
    前記受信モジュールによって受信された前記K個のパケットにおけるシーケンス番号に基づいて、前記第1プロトコルを使用することによって、目標パケットが失われたと検出したとき、前記目標パケットに基づいて第2送信遅延を決定するように構成されている決定モジュールであって、前記第2送信遅延は、第1送信遅延より大きく、前記第1送信遅延は事前設定される、決定モジュールと、
    前記決定モジュールによって決定された前記第2送信遅延に基づいて、前記第1プロトコルを使用することによって、肯定応答ACKメッセージを前記送信端へ送信するように構成されている送信モジュールであって、前記肯定応答ACKメッセージは、前記受信端が前記L個のパケットを受信したことを前記送信端に通知するために使用される、送信モジュールと
    を備え、
    前記送信モジュールはさらに、前記決定モジュールが前記K個のパケットにおける前記シーケンス番号に基づいて、前記第1プロトコルを使用することによって、前記目標パケットが失われたと検出したとき、第2プロトコルを使用することによって、前記目標パケットのための再伝送要求を前記送信端へ送信するように構成され、
    前記受信モジュールはさらに、前記送信モジュールが前記第2プロトコルを使用することによって前記目標パケットのための前記再伝送要求を前記送信端へ送信した後に、前記第2プロトコルを使用することによって、前記送信端によって再伝送された前記目標パケットを受信するように構成されている、
    受信端。
  8. 前記受信端はさらに、判定モジュールを備え、
    前記判定モジュールは、前記決定モジュールが前記目標パケットに基づいて送信遅延を決定する前に、前記K個のパケットにおける第1パケットの最後のバイトに対応するシーケンス番号が、前記K個のパケットにおける第2パケットの最初のバイトに対応するシーケンス番号と連続しているかどうかを決定するように構成され、前記第1パケットは、前記第2パケットの前に受信され、
    前記決定モジュールはさらに、前記判定モジュールが、前記第1パケットの最後のバイトに対応する前記シーケンス番号が前記第2パケットの最初のバイトに対応する前記シーケンス番号と連続していると決定した場合、パケットが失われていないと決定する、または、前記判定モジュールが、前記第1パケットの最後のバイトに対応する前記シーケンス番号が、前記第2パケットの最初のバイトに対応する前記シーケンス番号と連続していないと決定した場合、少なくとも1つのパケットが失われたと決定するように構成され、前記少なくとも1つのパケットは前記目標パケットである、
    請求項7に記載の受信端。
  9. 前記送信モジュールはさらに、前記送信モジュールが前記第2プロトコルを使用することによって前記目標パケットのための前記再伝送要求を前記送信端へ送信する前に、前記第1プロトコルを使用することによって、前記目標パケットについての情報を前記第2プロトコルへ送信するように構成されている、請求項7に記載の受信端。
  10. 前記決定モジュールはさらに、前記決定モジュールが、前記少なくとも1つのパケットが失われたと決定した後に、前記第1プロトコルの初期シーケンス番号、前記第1パケットの最後のバイトに対応する前記シーケンス番号、および、前記第2パケットの最初のバイトに対応する前記シーケンス番号に基づいて、前記第2プロトコルを使用することによって、前記目標パケットの位置を決定するように構成されている、請求項8に記載の受信端。
  11. 前記決定モジュールは、
    式M=A+1に基づいて、前記目標パケットに対応する最初のバイトを計算することであって、Mは前記目標パケットの最初のバイトに対応するシーケンス番号であり、Aは前記第1パケットの最後のバイトに対応する前記シーケンス番号である、こと、
    式N=B−A−1に基づいて、前記目標パケットの長さを計算することであって、Nは前記目標パケットの前記長さであり、Bは前記第2パケットの最初のバイトに対応する前記シーケンス番号であり、Aは前記第1パケットの最後のバイトに対応する前記シーケンス番号である、こと、および、
    式Q=A−Yに基づいて、前記目標パケットの位置を計算することであって、Qは前記目標パケットの前記位置であり、Aは前記第1パケットの最後のバイトに対応する前記シーケンス番号であり、Yは前記初期シーケンス番号である、こと
    を行うように構成されている計算ユニットを含む、請求項10に記載の受信端。
  12. 前記受信端はさらに、開始モジュールおよびカウントモジュールを備え、
    前記開始モジュールは、前記決定モジュールが前記目標パケットに基づいて前記第2送信遅延を決定した後に、カウンタを開始するように構成され、
    前記カウントモジュールは、前記開始モジュールが前記カウンタを開始した後に、1つのパケットが受信されるたびに、パケット損失が発生したかどうかを決定し、パケットが失われた場合、前記カウンタをリセットし、前記第2送信遅延を増加させる、または、パケットが失われていない場合、前記カウンタの値を増加させ、前記カウンタの前記値が事前設定閾値に到達したかどうかを決定し、前記カウンタの前記値が前記事前設定閾値に到達した場合、前記第2送信遅延を減少させ、前記カウンタをリセットするように構成されている、
    請求項7から11のいずれか一項に記載の受信端。
  13. メモリ、送受信器、プロセッサおよびバスシステムを備える受信端であって、
    前記メモリは、プログラム命令を記憶するように構成され、
    前記プロセッサは、前記メモリにおける前記プログラム命令を実行して、
    第1プロトコルを使用することによって、K個のパケットを受信するように前記送受信器を制御するステップであって、各パケットはシーケンス番号を含み、前記K個のパケットは、送信端によって送信されたL個のパケットの一部である、ステップと、
    前記K個のパケットにおけるシーケンス番号に基づいて、前記第1プロトコルを使用することによって、目標パケットが失われたことが検出されたとき、前記目標パケットに基づいて第2送信遅延を決定するステップであって、前記第2送信遅延は第1送信遅延より大きく、前記第1送信遅延は事前設定される、ステップと、
    前記第2送信遅延に基づいて、前記第1プロトコルを使用することによって、肯定応答ACKメッセージを前記送信端へ送信するように前記送受信器を制御するステップであって、前記肯定応答ACKメッセージは、前記受信端が前記L個のパケットを受信したことを前記送信端に通知するために使用される、ステップと、
    第2プロトコルを使用することによって、前記目標パケットのための再伝送要求を前記送信端へ送信するように前記送受信器を制御するステップと、
    前記第2プロトコルを使用することによって、前記送信端によって再伝送された前記目標パケットを受信するように前記送受信器を制御するステップと
    を実装するように構成されている、
    受信端。
JP2018537468A 2016-01-18 2017-01-16 データ伝送方法および関連するデバイス Active JP6705003B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610031363.0 2016-01-18
CN201610031363.0A CN106982108B (zh) 2016-01-18 2016-01-18 一种数据传输的方法以及相关设备
PCT/CN2017/071259 WO2017124985A1 (zh) 2016-01-18 2017-01-16 一种数据传输的方法以及相关设备

Publications (2)

Publication Number Publication Date
JP2019506072A true JP2019506072A (ja) 2019-02-28
JP6705003B2 JP6705003B2 (ja) 2020-06-03

Family

ID=59341262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018537468A Active JP6705003B2 (ja) 2016-01-18 2017-01-16 データ伝送方法および関連するデバイス

Country Status (5)

Country Link
US (1) US10715282B2 (ja)
EP (1) EP3396883B1 (ja)
JP (1) JP6705003B2 (ja)
CN (1) CN106982108B (ja)
WO (1) WO2017124985A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337242A (zh) * 2018-01-03 2018-07-27 西安万像电子科技有限公司 传输数据的方法、存储介质及处理器
CN110324258B (zh) * 2018-03-31 2021-02-09 华为技术有限公司 一种控制数据传输的方法和装置
CN110677221B (zh) 2018-07-02 2022-06-14 华为技术有限公司 重传控制方法、通信接口和电子设备
CN108965308A (zh) * 2018-07-26 2018-12-07 西安万像电子科技有限公司 传输数据的方法、装置和系统
CN111211878B (zh) * 2018-11-22 2023-02-07 杭州海康威视系统技术有限公司 一种文件传输方法、装置、系统及电子设备
CN110311750B (zh) * 2019-04-24 2022-02-22 网宿科技股份有限公司 一种数据传输方法、系统及服务器
US20210345177A1 (en) * 2020-05-04 2021-11-04 Qualcomm Incorporated Methods and apparatus for managing compressor memory
CN111800233B (zh) * 2020-07-03 2023-10-24 南京天同之卜科技有限公司 一种提高导航探空仪数据传输成功率的方法
US11595472B2 (en) 2021-01-19 2023-02-28 Mellanox Technologies, Ltd. Controlling packet delivery based on application level information
CN113286000A (zh) * 2021-05-21 2021-08-20 国网河北省电力有限公司 应用在电力单向传输系统中的数据收发方法及装置
CN114466397B (zh) * 2021-07-30 2022-12-16 荣耀终端有限公司 Tcp通信质量评估方法、装置及电子设备
CN114465932A (zh) * 2021-07-30 2022-05-10 荣耀终端有限公司 Tcp通信质量评估方法、装置及电子设备
US11792139B2 (en) 2022-01-24 2023-10-17 Mellanox Technologies, Ltd. Efficient packet reordering using hints
CN114598651B (zh) * 2022-02-15 2024-04-09 阿里巴巴(中国)有限公司 数据传输方法以及装置
CN115208521B (zh) * 2022-08-22 2023-07-04 北京钢铁侠科技有限公司 一种会话层客户端与服务端通讯保障及工作流管控方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3757857B2 (ja) * 2001-12-12 2006-03-22 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2003224547A (ja) 2002-01-30 2003-08-08 Tetsushi Uchiumi フロー制御方法
US20030206521A1 (en) * 2002-05-06 2003-11-06 Chunming Qiao Methods to route and re-route data in OBS/LOBS and other burst swithched networks
US6987780B2 (en) 2002-06-10 2006-01-17 Qualcomm, Incorporated RLP retransmission for CDMA communication systems
JP4186893B2 (ja) 2003-10-16 2008-11-26 セイコーエプソン株式会社 パケット通信装置、パケット通信方法、データ受信装置およびデータ受信方法
US7349978B2 (en) * 2004-01-15 2008-03-25 Microsoft Corporation Spurious timeout detection in TCP based networks
US7290195B2 (en) * 2004-03-05 2007-10-30 Microsoft Corporation Adaptive acknowledgment delay
US7440399B2 (en) * 2004-12-22 2008-10-21 Qualcomm Incorporated Apparatus and method for efficient transmission of acknowledgments
US7787372B2 (en) * 2005-12-12 2010-08-31 Viasat, Inc. Transmission control protocol with performance enhancing proxy for degraded communication channels
US7551621B1 (en) * 2008-07-21 2009-06-23 International Business Machines Corporation Method for detecting and reducing packet drops
US20100118722A1 (en) * 2008-11-12 2010-05-13 Chalet Technology System And Method For Providing Data Streaming And Timing Information With Missing Package Recovery
CN101924625A (zh) * 2010-08-23 2010-12-22 华为技术有限公司 数据包重传控制的方法和网络侧设备
JP5361924B2 (ja) 2011-02-28 2013-12-04 株式会社東芝 データ送信装置、データ通信装置および通信プログラム
FR2977101A1 (fr) * 2011-06-24 2012-12-28 France Telecom Retransmission de donnees perdues entre un emetteur et un recepteur
CN102355462B (zh) * 2011-10-09 2015-05-20 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
US20130235843A1 (en) * 2012-03-08 2013-09-12 Qualcomm Incorporated Alleviation of tcp performance degradation due to carrier suspension or ue tune-away
US9794311B2 (en) 2014-03-18 2017-10-17 Qualcomm Incorporated Transport accelerator implementing extended transmission control functionality
US20160323062A1 (en) * 2015-05-01 2016-11-03 Ubitus Inc. Packet recovery in interactive real-time media protocol

Also Published As

Publication number Publication date
EP3396883A1 (en) 2018-10-31
EP3396883A4 (en) 2018-12-19
WO2017124985A1 (zh) 2017-07-27
US10715282B2 (en) 2020-07-14
CN106982108A (zh) 2017-07-25
EP3396883B1 (en) 2022-10-26
US20180323913A1 (en) 2018-11-08
CN106982108B (zh) 2019-05-28
JP6705003B2 (ja) 2020-06-03

Similar Documents

Publication Publication Date Title
JP6705003B2 (ja) データ伝送方法および関連するデバイス
CN110661723B (zh) 一种数据传输方法、计算设备、网络设备及数据传输系统
WO2018121294A1 (zh) 一种报文传输方法、终端、网络设备及通信系统
US9641650B2 (en) TCP proxy server
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
US10355997B2 (en) System and method for improving TCP performance in virtualized environments
CN110677221B (zh) 重传控制方法、通信接口和电子设备
GB2519491A (en) Method and system for increasing data flow transmission
CN102769520B (zh) 基于sctp协议的无线网络拥塞控制方法
Sreekumari et al. Transport protocols for data center networks: a survey of issues, solutions and challenges
CN110838935A (zh) 高可用sdn控制器集群方法、系统、存储介质及设备
CN108432287A (zh) 一种数据传输方法及网络侧设备
CN116074401B (zh) 一种在可编程交换机上的传输层协议实现方法
Ahmad et al. loss based congestion control module for health centers deployed by using advanced IoT based SDN communication networks
CN117813595A (zh) 用于远程直接存储器访问的设备和方法
JP2006148727A (ja) アプリケーションモニタ装置
Nikitinskiy et al. A stateless transport protocol in software defined networks
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
US9172774B2 (en) Technique for managing communications at a router
US10721153B2 (en) Method and system for increasing throughput of a TCP/IP connection
CN114710425A (zh) 一种区块链节点连接方法及装置
US20140237136A1 (en) Communication system, communication controller, communication control method, and medium
EP3525413A1 (en) Connectionless protocol with bandwidth and congestion control
EP3525419A1 (en) Connectionless protocol with bandwidth and congestion control
EP3525412A1 (en) Improved connectionless data transport protocol

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200305

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200513

R150 Certificate of patent or registration of utility model

Ref document number: 6705003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250