JP6023368B1 - インタラクティブなリアルタイムメディアの転送プロトコル - Google Patents

インタラクティブなリアルタイムメディアの転送プロトコル Download PDF

Info

Publication number
JP6023368B1
JP6023368B1 JP2016029636A JP2016029636A JP6023368B1 JP 6023368 B1 JP6023368 B1 JP 6023368B1 JP 2016029636 A JP2016029636 A JP 2016029636A JP 2016029636 A JP2016029636 A JP 2016029636A JP 6023368 B1 JP6023368 B1 JP 6023368B1
Authority
JP
Japan
Prior art keywords
message
sequence number
packet
receiving terminal
transmitting terminal
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
Application number
JP2016029636A
Other languages
English (en)
Other versions
JP2016213811A (ja
Inventor
ヤン ツン−ウェン
ヤン ツン−ウェン
エ チュン−チョウ
エ チュン−チョウ
テン アン−リン
テン アン−リン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubitus Inc
Original Assignee
Ubitus 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 Ubitus Inc filed Critical Ubitus Inc
Application granted granted Critical
Publication of JP6023368B1 publication Critical patent/JP6023368B1/ja
Publication of JP2016213811A publication Critical patent/JP2016213811A/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/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
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session 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/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • H04L1/1678Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
    • 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/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • 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
    • H04L43/0835One way packet loss
    • 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/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/11Identifying congestion
    • 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/19Flow control; Congestion control at layers above the network layer
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/12Flow control between communication endpoints using signalling between network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】アプリケーション層の転送プロトコルを提供してリアルタイムインタラクティブなメディアの要求をサポートする、輻輳制御、送信バッファの動的管理、メッセージドロップとエラー制御の技術を提供する。【解決手段】輻輳制御技術は、遅延をベースにした技術で、TCPのロスをベースにした輻輳制御と反対する。送信バッファにおけるキューイング遅延は、新しいメッセージの送信が要求される該現在の送信バッファのキューイング遅延を計算して制御し、並びに該閾値と該現在のキューイング遅延を比較して制御する。メッセージドロッププロセスは、古すぎるメッセージがドロップされ、キューイング遅延の増大が起きないようにさせるため用いられる。【選択図】図5

Description

本発明は、リアルタイムメディアの転送プロトコルに関し、特に、インタラクティブなリアルタイムメディアの転送プロトコルに関する。
ネットワークアプリケーションプログラムは、トランスポート層プロトコルによりネットワークを経由してデータを転送する。異なるアプリケーションプログラムは、前記トランスポート層に対して異なる要求を有し、遅延がネットワーク通信のコンテキストにとって1つの挑戦となる。
ピアツーピア遅延は、複数の要因で構成される。一部の遅延は、送信端末内の複数エレメントから生じ、例えば送信バッファ領域と輻輳制御エレメントである。その他の遅延は、受信端末内のエレメントに起因し、例えば受信バッファ領域である。更なる他の遅延は、ネットワーク経路に起因し、例えばネットワーク経路上のバッファ領域及び物理的な伝播遅延である。更に特別なことは、ピアツーピア遅延が次の各号を含む。つまり1)送信バッファのキューイング遅延において、送信開始までデータが送信バッファに滞在する。この遅延は、データ送信レートが該データレートより低い時に発生する。大量の送信バッファは大量のキューイング遅延を有する。2)遅延データは送信される所要の時間である。この遅延は、該送信端末の複数の輻輳制御エレメントの運用に影響され、ある状態の下で該送信レートを下げて輻輳を解消する。3)伝播遅延は、該ネットワーク経路を経由して輻輳が生じない状態においてパケットを送信する時間遅延(伝送媒質中における光の有限速度の遅延を含む)である。4)ネットワークバッファにおけるキューイング遅延である。この遅延は、発生したトラフィック量がネットワーク容量を超えることである。5)再伝送遅延は、パケットロス回復の時間遅延である。6)行頭(Head−of−line、HOL)ブロッキング遅延は、順番送信の要求を有し、新しいデータが古いデータにブロッキングされる時間の遅延である。
それら遅延エレメントは、転送プロトコル内の2つのモジュールによって決定する。1つ目は、輻輳制御で、データを該ネットワークまでに送信するレートを調節するためのである。輻輳制御は、該送信バッファ内のキューイング遅延、伝送遅延及び該ネットワーク中におけるキューイング遅延に影響する。2つ目は、エラー制御で、信頼性の提供に用いられる。エラー制御は、該再伝送遅延及び行頭ブロッキング遅延に影響する。
ユーザデータグラムプロトコル(UDP)と伝送制御プロトコル(Transmission Control Protocol、TCP)は、インターネットに幅広く使用される標準転送プロトコルである。UDPは、輻輳制御を提供せず、そのデータがリアルタイムで送信される。TCPは、最も幅広い転送プロトコルを使用し、輻輳制御を提供することで可用帯域幅の変更に応答する。TCPも信頼性(パケットロスの回復)を提供している。
ユーザデータグラムプロトコルと伝送制御プロトコルは、いずれもインタラクティブなリアルタイムメディア伝送の制限を有する。UDPは該送信レートを下げて輻輳に応答しない場合、比較的高いパケットロスがあり、且つネットワークバッファ中で高いキューイング遅延を有する。高いパケットロスは、画質を低下させる。しかしながら、TCPはインタラクティブなリアルタイムメディアに適さない。1回限りの輻輳が生じたとしても、TCPは積極的にその送信レートを下げて応答し、該伝送遅延が増大し且つ映像が振動する。TCPはロスをベースにした輻輳制御プロセスを利用し、ロスが発生するまで、経路上のキューが一杯になり、最大遅延が起きる。一部のデータの重要性が高くない或いは直ちに使用できないとしても、TCPの信頼性はやはり強制的に重要性の異なるデータが受信される。TCPは、一定のサイズの送信バッファを使用し、アプリケーションプログラムが可用帯域幅を下げることができない時に迅速に反応させることができない。比較的小さい送信バッファで該遅延を制限できるが、転送量に影響を及ぼしてしまう。
インタラクティブなリアルタイムメディアのアプリケーションプログラムは、低遅延及び平滑化した送信レートを必要とする。これらアプリケーションプログラムは、「部分的な信頼性」と呼ばれるため、中間層の信頼性を必要とする。必要なのは、リアルタイムインタラクティブなメディアの要求をサポートすることであり、該ネットワークにおける低遅延と、該送信バッファにおける低遅延と平滑化した送信レートと部分的な信頼性とを含む。
本発明の実施例は、アプリケーション層の転送プロトコルを提供してリアルタイムインタラクティブなメディアの要求をサポートする。好ましい実施例において、輻輳制御、送信バッファの動的管理、メッセージドロップとエラー制御の技術を提供する。
好ましい輻輳制御技術は、遅延をベースにした技術で、TCPのロスをベースにした輻輳制御と反対する。遅延をベースにした技術は、平滑化した送信レートを提供し、またネットワークバッファのキューイング遅延を軽減する。
該送信バッファにおけるキューイング遅延は、新しいメッセージの送信が要求される該現在の送信バッファのキューイング遅延を計算して制御し、並びに該閾値と該現在のキューイング遅延を比較して制御する。該遅延が該閾値を超えた場合、該新しいメッセージが該送信バッファに入れない。
メッセージドロッププロセスは、古すぎるメッセージがドロップされ、キューイング遅延の増大が起きないようにさせるため用いられる。フレームがドロップされた時、アウトオブバンド(out of band)要求を映像符号化装置までに送信することで、新しい映像キーフレームを送信して画面歪みの発生を軽減する。
好ましいエラー制御技術は、該受信端末のみにおいてギャップをベースにしたロス検出を運用するもので、TCPとUDPが該受信端末においてギャップをベースにしたロス検出を実行し、及び該送信端末においてタイマーをベースにした検出と反対する。この方法は、リアルタイムメディアアプリケーションプログラムの規則的なデータ発生及び高いパケットレートの特徴とマッチし、ギャップをベースにした検出条件の下で実行が特に良好である。タイマーをベースにした方法の問題を避けることができ、該問題は不正確なラウンドトリップタイム(RTT、Round Trip Time)の見積もりに起因した。
本発明の一実施例に係る分散型クライアント−サーバシステムがインタラクティブなリアルタイムメディアのアプリケーションプログラムをサポートするブロック図である。 本発明の一実施例に係るアプリケーション層転送プロトコルとその他のプロトコル層間のプロトコル層図である。 本発明の一実施例に係わるアプリケーション層転送プロトコルの送信端末と受信端末仁応用される高層ブロック図である。 本発明の一実施例に係る輻輳制御とエラー制御に用いられるパケット構成を示す模式図である。 本発明の一実施例に係る輻輳制御プロセスのフローチャートである。 本発明の一実施例に係る動的送信バッファにおけるキューイング遅延の制御フローチャートである。 本発明の一実施例に係る受信端末のメッセージドロップの運用フローチャートである。 本発明の一実施例に係るキーフレーム要求プロセスの送信端末と受信端末に応用される高層ブロック図である。 本発明の一実施例に係るドロップした映像フレームのキーフレームに対する要求のシーケンス図である。 本発明の一実施例に係るメッセージドロップメカニズムのシーケンス図である。 本発明の一実施例に係る該受信端末におけるロス回復のフローチャートである。 本発明の一実施例に係るロス回復プロトコルのシーケンス図である。
以下、審査官に本発明の技術内容を更に理解してもらうため、特に好ましい具体的実施例を挙げて説明する。
本発明の実施例は、インタラクティブなリアルタイムメディアについて転送プロトコルを提供する。
図1は、本発明の一実施例に係る分散型クライアント−サーバシステムがインタラクティブなリアルタイムメディアのアプリケーションプログラムをサポートするブロック図である。コンピュータシステム1000は、1台又は複数台の個サーバ101と、1個又は複数のコンピュータプログラム131をインストールしたクライアント装置103とを含む。コンピュータプログラム131は、一時的或いは非一時的なコンピュータ可読媒体を提供できる。しかしながら、特定の実施例において、非一時的なコンピュータ可読媒体を提供し、例えば、永続的(つまり、不揮発性)ストレージ装置、揮発性メモリ(例えば、ランダムアクセスメモリ)或いは複数の他の既知の非一時的なコンピュータ可読媒体である。
クライアント装置103は、中央処理装置(CPU)120とメモリ122とストレージ装置121とを含む。クライアント装置103も入力と出力(I/O)サブシステム(図示せず)(例えば、表示装置或いはタッチディスプレイ、キーボード、矢印キー(d−pad)、トラックボール、タッチパネル、ジョイスティック、マイク、及び/或いはその他のユーザーインターフェース装置と関連のコントローラ回路及び/或いはソフトウェアを含む)。クライアント装置103は、いかなるタイプのメディア内容を提供できる電子機器を包括できる。例えば、卓上型コンピュータと、携帯電話、スマートフォン、マルチメディアプレーヤー、電子コンテンツリーダ、タブレット型コンピュータ/タッチパネル、ノートブックコンピュータ又はノートブックコンピュータ、スマートテレビ、スマートウォッチ、ヘルメット式表示装置及びその他の通信設備のようなポータブル電子機器とを含む。
サーバ101は、中央処理装置CPU110とストレージ装置111とメモリ112と(図に示しないI/Oサブシステムと)を含む。サーバ101は、コンピュータプログラム131をローディングして1台又は複数台のクライアントコンピュータと通信を行ういかなる計算装置で、例えばネットワークを経由するクライアント装置103、ネットワーク102(例えばインターネット)である。サーバ101は、インターネットを経由して1台又は複数台のクライアントコンピュータと通信を行い、且つ例えば、インターネットプロトコルスイート(Internet protocol suite、TCP/IP)、ハイパーテキスト・トランスファー・プロトコル(Hypertext Transfer Protocol、HTTP)或いはHTTPS(SSL−based HTTP)、インスタントメッセンジャープロトコル(instant−messaging protocols)、若しくはその他のプロトコルを応用できる。
メモリ112、122は、いかなる既知のコンピュータメモリ装置を含むことができる。ストレージ装置111、121は、いかなる既知のコンピュータストレージ装置を含むことができる。
図示しないにもかかわらず、メモリ112、122及び/或いはストレージ装置111、121もいかなるサーバ101とクライアント装置103でアクセスされるデータストレージデバイスを含むことができ、例えば、いかなる削除可能又は携帯可能なメモリ(例えばフラッシュメモリ或いは外付けハードディスクデバイス)若しくはいかなる第三者を通じてローディングするデータストレージ装置(例えばクラウドストレージ装置)であり、ここで限定しない。
1台又は複数台のクライアント装置103と1台又は複数台のサーバ101は、該ネットワーク102を経由してアクセスして通信を行う。ネットワーク102は、有線或いは無線接続を含み、これには広域ネットワーク(WANs)とセルラー(cellular)ネットワーク或いは装置間との通信に用いられる他のタイプのコンピュータネットワークを包括する。
図に示す該実施例において、コンピュータプログラム131は、実際コンピュータプログラム又はサーバ101とクライアント装置103の実行に各々用いられる一部のコンピュータプログラムを示す。コンピュータプログラム131の一部は、クライアント装置103のメモリ122にローディングすることで、ACKとNACKパケットを生成と送信してサーバ101から受信したデータパケットに応答し、該ACK、NACKとデータパケットがここで更に説明する本発明の請求するプロトコルと適合する。コンピュータプログラム131の一部は、サーバ101のメモリ112にローディングし、ACKとNACKデータパケットで受信した情報を応用してデータパケットのキューイングと送信を効果的に制御することで、ここで更に説明する本発明の請求するプロトコルと適合する。
図2は、本発明の一実施例に係るアプリケーション層転送プロトコルとその他のプロトコル層間のプロトコル層図である。一般から見ると、インターネットと応用標準化のインターネットプロトコルスイートのネットワークにおいて、トランスポート層が該ネットワーク層(IP layer)の上方と該アプリケーション層の下方に常駐する。トランスポート層プロトコルが提供するサービスは、輻輳制御と信頼性(エラー制御)と順番伝送とを含む。インターネットに使用される標準化トランスポート層プロトコルは、伝送制御プロトコル(TCP)とユーザデータグラムプロトコル(UDP)とを包括する。前に述べるように、TCP或いはUDPは、完全にインタラクティブなリアルタイムメディのアプリケーションプログラムの要求を満たすことができる。
本発明の好ましい実施例は、インタラクティブなリアルタイムメディアに対してUDPをベースにしたアプリケーションプログラムの階層化転送プロトコルを提供する。図2に示すように、本実施例においてインタラクティブなリアルタイムメディアの転送プロトコルは、インターネットスタックのアプリケーション層に応用され、該トランスポート層の下層標準化UDPプロトコルのサービスにも応用される。本実施例の利点は、該標準化UDPプロトコルによって基本的なトランスポート層サービスを行い、並びに該アプリケーション層転送プロトコルに集中して特別にインタラクティブなリアルタイムメディアの需要についてサービスを提供できる。
その他の実施例において、該インタラクティブなリアルタイムメディアの転送プロトコルは、単層(monolithic layer)3転送プロトコルと見なされることができる。本実施例において、該インタラクティブなリアルタイムメディアの転送プロトコルは、インタラクティブなリアルタイムメディアが要求する專用サービス以外の基本的なトランスポート層サービス(例えば、一般UDPが提供)を提供する。本実施例の利点は、好ましい効率と処理時間の短縮を含むことができる。
図3は、本発明の一実施例に係るアプリケーション層転送プロトコルの送信端末と受信端末に応用される高層ブロック図である。図3に示すように、該インタラクティブなリアルタイムメディアの転送プロトコルは、2個の主要構成要素を包括し、つまり送信端末300と受信端末301である。該送信端末は、ネットワークを通じてデータパケットを該受信端末までに送信し、正常(誤り又はパケットロスがない状態)に送信するデータパケットを受信する。該受信端末は肯定応答(acknowledgement、ACK)パケットを該送信端末に送信してデータパケット受信成功を送信し、或いは否定応答(negative ACKnowledgement、NACK)パケットを該送信端末に送信することで該送信端末のパケットロスを通知する。
図3は、該受信端末側の該アプリケーションプログラムから該送信端末側の該アプリケーションプログラムまでの「アウトオブバンド」データパスを示す。このデータパスは、例えばTCP接続の応用とすることができる。該アウトオブバンドのデータパスは、例えば該送信アプリケーションプログラムにメッセージドロップを通知することに使用されることができ、一部のメッセージドロッププロセスで発生する(後述の通り)。
若干の実施例において、送信端末300がリアルタイムメディア情報を送信する構成要素と関係し、リアルタイムメディア情報は、例えば映像とオーディオストリームである。送信端末300は、例えばサーバと関係し、例えば図1に示すサーバ101である。サーバ101は、例えばゲームクラウドサーバとすることができる。送信端末300は、サーバ101で稼働しているソフトウェア又はハードウェアとソフトウェアの組合せと見なすことができる。
若干の実施例において、受信端末301は、リアルタイムメディア情報を受信する構成要素と関係でき、リアルタイムメディア情報が例えば映像とオーディオストリームである。図1に示すように、受信端末301はクライアント装置103と関係すると見なされることができる。クライアント装置103は、例えばPC、スマートフォン或いはスマートテレビとすることができる。受信端末301は、クライアント装置103で稼働しているソフトウェア又はハードウェアとソフトウェアの組合せと見なすことができる。
若干の実施例において、サーバ101は、1台又は複数台の送信端末300の実例と1台又は複数台の受信端末301の実例とを含むことができる。若干の実施例において、クライアント装置103は、1台又は複数台の送信端末300の実例と1台又は複数台の受信端末301の実例とを含むことができる。
本発明の好ましい実施例において、インタラクティブなリアルタイムメディアの転送プロトコルは、クライアント装置103から制御情報をサーバ101に送信し、且つサーバ101からストリーミングオーディオ及び/或いは映像をクライアント装置103に伝達するために用いられることができる。
データパケット410、ACKパケット420及びNACKパケット430の構成は、図4中に詳細に示される。
データパケット410は、データ(図示せず)をアプリケーションプログラムに転送し、又はアプリケーションプログラムからデータを転送する。例えば、データパケット410は、「メッセージブロック」のデータを転送でき、「メッセージブロック」がメッセージの一部である。メッセージは、アプリケーションプログラムで処理されることができる最小データユニットで、メッセージ全体が受信される場合のみ、アプリケーションプログラムで処理されることができ、不完全なメッセージは処理されることができない。メッセージは、例えば映像フレーム又はオーディオフレームである。メッセージは、複数のメッセージブロックに分割でき、且つ各メッセージブロックがUDPデータパケットを通じて送信する。同一メッセージに属する複数のデータパケットは、同じメッセージのシーケンス番号を有する。該輻輳制御プロトコルは、パケットロスのみを重視し、該許容送信レートを計算するために用いられることができる。
各データパケット410、ACKパケット420及びNACKパケット430は、一般的なネットワーク通信プロトコルのアドレスヘッダ(IPヘッダ)401と一般的なユーザデータグラムプロトコルのヘッダ(UDPヘッダ)402と後記の付加ヘッダ情報とを包括する。
パケットのシーケンス411は、該データパケット410のシーケンス番号である。パケットのシーケンス番号411はデータパケットが増加するたびに1つずつ増え、且つ該輻輳制御プロトコル(後記参照)のロス検出に用いられる。
メッセージブロックのシーケンス412は、メッセージブロックの該シーケンス番号で、メッセージブロックが増加するたびに1つずつ増える。メッセージブロックのシーケンス412は、メッセージの再組合せとロス回復に用いられる。
メッセージのシーケンス413は、このメッセージブロックが所属する該メッセージのシーケンス番号である。
メッセージドロップのシーケンス414は、該メッセージドロップ特性に用いられることで、該受信端末に対してこのシーケンス番号より小さい複数のメッセージをドロップするよう通知する。
各再送信するデータパケットは、NACKシーケンス415を有し、関連するNACK要求のシーケンス番号に対応する。NACKシーケンス415は、データパケットのロス検出と回復を再送信するために用いられる。
RTT416は、見積もった往復時間である。RTT416は、該輻輳制御プロトコルにおける輻輳の時間間隔を決定するために用いられる。
タイムスタンプ417は、このパケットの送信時間を記録する。タイムスタンプ417は該輻輳制御プロトコルのキューイング遅延を計算するために用いられる。
TTL418は、このメッセージを該受信バッファに保留する残り時間で、メッセージドロップ特性中に応用される。
本発明の実施例の該受信端末から該送信端末に送信するACKパケット420は、一部の該輻輳制御プロトコルのフィードバックを提供するために用いられる。
エコーのシーケンス421は、受信するデータパケットの最大シーケンス番号で、該輻輳制御プロトコルにおける往復時間(RTT)を計算するために用いられる。
累積ACK422は、メッセージブロックのシーケンス番号で、且つこのメッセージブロックのシーケンス番号より小さい全てのメッセージブロックが受信されることを表示する。
輻輳イベント率423は、該受信端末を通じて計算し、且つ該輻輳制御プロトコルにおける許容送信レートの計算に用いられる。
受信レート424は、該受信端末を通じて測定し、且つ該輻輳制御プロトコルにおける許容送信レートの計算に用いられる。
NACKパケット430は、ロストしたメッセージブロックの再送信を要求するため、該受信端末を通じて送信する。NACKパケットは、1台又は複数台のNACK要求を有することができる。各NACK要求は、シーケンス番号を有し、ロストしたメッセージブロックに対応する。
このNACKパケットにおいて、NACKシーケンス431はそれらNACK要求の最小シーケンス番号である。このシーケンス番号は、重複のNACK要求と再送信済みのデータパケットのロスの検出をサポートできる。
複数のロスブロックで、例えばロスブロック432は、それらメッセージブロックの連続シーケンス番号範囲を示す。
本発明の実施例で実行する各種方法のデータパケット、ACKパケット及びNACKパケットの使用は、後記で詳細に説明する。
前に述べるように、本発明の転送プロトコルは、数種類の方法を通じて共同でリアルタイムインタラクティブなメディアが要求する低遅延を達成する。
具体的に言うと、本発明は、輻輳制御、送信バッファキューイング遅延の制御、該受信端末におけるメッセージドロップとエラー制御の方法を開示する。各方法は、対応する図面を参照して順番通り説明する。
特に、それら方法は、共同作業に用いることで、リアルタイムインタラクティブなメディアの該遅延要求を満たす場合、若干の実施例における方法は個別に使用でき、又は各種組合せ或いはその他のプロトコル若しくは方法で組み合わせることができる。
輻輳制御
図5は本発明の好ましい実施例に係る輻輳制御プロセスを示す。一般から言うと、好ましい輻輳制御方法は、TCPのロスをベースにした輻輳制御ではなく、遅延をベースにしたものである。該遅延をベースにした方法は、複数の利点を提供し、例えば、平滑化した送信レートとネットワークバッファにおける比較的低いキューイング遅延である。
図5において、該受信端末におけるステップは、該図面の右側に示され、該送信端末におけるステップが該図面の左側に示される。該図の右上から始まり、データパケットが該受信端末に到着し、各データパケットはシーケンス番号とタイムスタンプとを含む。ステップ520においてロス検出を行う。シーケンス番号の不連続は、パケットロスを表示する。ステップ521において、該タイムスタンプは対応の片方向キューイング遅延を測定するために用いられる。パケットの高ロスは、キューイング遅延を増加し、輻輳の指示と見なす。ステップ522において、次に輻輳の時間間隔(輻輳イベント間の時間周期)を定義する。ステップ524において、加重平均後の輻輳の時間間隔を計算する。該輻輳の時間間隔のカウントダウンは、該輻輳イベント率である。ステップ525において、該輻輳イベント率、受信レート及び受け入れる最新シーケンス番号を有するACKパケットを生成し、且つ各RTT(round trip time)を該送信端末に返す。該ACKパケット中の返す該シーケンス番号は、「エコーのシーケンス番号」と呼ばれ、RTTの計算に用いられる。
該加重平均の輻輳イベント率を計算するために用いられる加重平均フィルタは、測定した輻輳イベント率が平滑的に変更させることができ、平滑化した送信レートをサポートする。
該送信端末において、次に該エコーのシーケンス番号は、RTTの計算に用いられる。該送信端末においてRTTの標本は、ステップ510において受信し、ステップ511において「平滑化」されたRTTの計算を行う。ステップ512において、該「平滑化」されたRTTと該輻輳イベント率は、TCPスループット方程式で該許容送信レートの計算に用いられ、ステップ513において出力する。つまり、該現在の受信レートは、監視されている。好ましくは、該許容送信レートは、2倍の受信レートを超えないように制限される。ステップ515において、送信したパケットについてスケジューリングを行い、且つ該許容送信レートによって送信する。
好ましい実施例において、該TCPスループット方程式は、RFC5348章節3.1中に規定される。
Figure 0006023368
式において、
X_Bpsは、バイト/秒(bytes/s)を単位とするTCP平均伝送レートである。
sは、バイト(bytes)を単位とするデータセグメント長の値(IPと転送プロトコルのヘッダを含まない)。
Rは、秒(seconds)を単位とする往復時間である。
pは、0と1.0の間にあるロスイベント率で、つまりロスイベント数と伝送するパケット数の比である。
t_RTOは、秒(seconds)を単位とする該TCP再送信の遅延値である。
bは、単一のTCPで肯定応答する最大パケット数である。
好ましい実施例において、該輻輳制御方法は、基本的にdflowに適合し、Internet−Draft draft−ohanlon−rmcat−dflow−02に記載される通りとする。
動的送信バッファ
図6は、該送信バッファにおけるキューイング遅延制御方法を示す。この方法は、該送信バッファにおけるキューイング遅延の減少を通じてピアツーピア遅延の減少をサポートする。
ステップ610において、該アプリケーションプログラムはメッセージ(例えば、映像符号化装置が映像フレームを生成する)を生成する。ステップ620において、該アプリケーションプログラムは該メッセージの送信を要求する。ステップ630において、該送信バッファのキューイング遅延を計算する。該アプリケーションプログラムの観点から見ると、これは全ての未決データが送信されるまで新しいメッセージが待つ必要する時間である。この遅延時間は、未決のデータサイズ÷該現送信レート(上記の該輻輳制御方法の通り)である。未決のデータは、まだ送信していない未決のパケット及びNACK要求からの未決再送信を含む。
ステップ640において、計算したキューイング遅延とデフォルトの閾値を比較する。該遅延は、該閾値を超えない場合、ステップ650において該新しいメッセージは、該送信バッファの送信キューに入れられる。計算したキューイング遅延は、該閾値を超えた場合、該新しいメッセージが該送信バッファに付加せず、アプリケーションプログラムがステップ620に戻って再実行しなければならない。一実施例において、該アプリケーションプログラムは、明確に再実行の需要を告知される。
メッセージドロップ
図7乃至図10は、該受信端末中のメッセージドロップを示す。この方法は、新しいデータが古いデータにブロッキングされる時間量を減少することで、ピアツーピア遅延の減少に助ける。該方法は、アプリケーションプログラムがメッセージの試し送信又は再送信の許容時間上に時間制限を指定させる。
2つのメカニズムは、該受信端末に用いられることで、指定された時間制限内に受信していないメッセージを検出する。該第1メカニズムは、各データパケットのメッセージドロップのシーケンス欄にあり、該受信端末に該シーケンス番号より小さいメッセージをドロップするよう通知する。また図4のデータパケットの欄設計を参照する。指定された時間制限内に確認していないACKメッセージは、該送信バッファが削除され、且つ該メッセージドロップのシーケンス番号が新しいデータパケット中で更新される。削除されたメッセージの再送信要求は、無視される。該第2メカニズムは、各データパケット(「生存期間」(time−to−live)或いは「TTL」欄、図4参照)の時間制限欄にあり、該受信端末が該メッセージの該受信バッファに滞在しなければならない時間を決定することを許容する。該指定された時間制限を超えたメッセージは、該受信バッファから削除される(ドロップ)。
インタラクティブなリアルタイムメディアのアプリケーションプログラムにおいて、特に映像フレームの時間制限を指定できる。deltaフレームにとって、該時間制限がフレーム−レートをベースにする。該フレームは、1秒当たりのA×1000/フレームの時間制限を選択的に有し、Aが定数とする。該制限は、選択的にフレーム間隔に準拠することができる。そこで、該第iフレームについての該時間制限は、B×(t(i)−T(I?1)で、t(i)が該第iフレームの送信時間とし、Bが定数とする。キーフレーム(内視フレーム)について、比較的高い制限を指定する。映像フレームについて、ドロップしたフレームがその後の映像歪みを起こし、次のキーフレームが受信されるまで続ける。キーフレームの時間間隔が大きすぎる場合、不良な使用経験が生じる。修正を行うため、通知をアウトオブバンドの該符号化装置に送信してキーフレームを要求して該映像歪んだ映像を停止できる。
一般から言うと、メッセージドロップの通知は、例えばTCP接続を利用してアウトオブバンドのアプリケーションプログラムに送信できる。
次に、該メッセージドロップ方法は、図7を参照しながら詳細に説明する。ステップ710において、該受信端末でデータパケットを受信し、該データパケットが該ドロップするメッセージのシーケンス欄内のシーケンス番号値を有する。ステップ720において該受信バッファ内の該ドロップするメッセージのシーケンス番号より小さい全てのメッセージをドロップする。ステップ730において、パケット未受信のメッセージがない場合、該過程を終了する。少なくとも1つのパケット未受信のメッセージがあった場合、ステップ740においてパケットが受信されていない該一番早いメッセージMを有することを確認する。ステップ750において、メッセージMの該時間制限が使用できない場合、該過程を終了する。メッセージMの該時間制限を取得できる場合、ステップ760へ進む。ステップ760において、メッセージMは該受信バッファにおいて指定された時間制限を超えない場合、該過程を終了する。メッセージMは、該受信バッファにおいて指定された時間制限を超えた場合、次にステップ770へ進んでメッセージMをドロップする。一実施例(図示せず)において、該アプリケーションプログラムはアウトオブバンド通知を通じて該メッセージのドロップを明確に告知する。
図8は、本発明の一実施例に係るキーフレーム要求プロセスの送信端末と受信端末に応用される高層ブロック図である。図8に示すように、受信端末側のアプリケーションプログラムの転送プロトコルモジュール823は、映像受信端末824のメッセージドロップイベントを通知するために配置される。若干の実施例において、映像受信端末824は映像符号化装置815に対して新しい映像フレーム、例えばキーフレームの送信を要求するよう配置される。映像フレーム(例えばキーフレーム)の該要求は送信されることができる。若干の実施例において、送信端末側のTCP構成要素812と受信端末側のTCP構成要素822間のTCP接続を維持する。該キーフレーム要求プロセスは、ドロップするメッセージ(映像フレーム)で引き起こした映像歪みの痕跡を停止するために用いられる。
図9は、本発明の一実施例に係るドロップした映像フレームのキーフレームに対する要求のシーケンス図である。
図9のステップ911において、映像符号化装置910は映像キーフレームを符号化して映像送信端末920を経由して送信する。該キーフレームは、次にネットワークを経由して送信端末側の転送プロトコル構成要素930の該サービスと転送プロトコル構成要素940の受信端末側によって送信する。そして該キーフレームは、映像受信端末950に受信され、また映像復号化装置960に伝送し、ステップ961において復号化して例えばテレビ、モバイルデバイス或いはゲーム機に表示される。次に、ステップ912において、第1deltaフレーム(前のキーフレーム符号化の映像符号化差分)は、同様に符号化と送信される。第2deltaフレームは、符号化されると共にステップ913で送信される。しかしながら、次のdeltaフレームは、ステップ914で送信され、且つステップ941において該受信端末側の転送プロトコル構成要素940を通じてドロップされる。ステップ942において、転送プロトコル構成要素940は該映像受信端末950のフレームのドロップを通知する。同時に、ステップ964において、映像の歪みが該受信端末から始まる。ステップ917において、映像符号化装置910は映像受信端末950の要求(要求が逆方向の破線矢印で示す)に基づいて新しいキーフレームを符号化する。ステップ918において、該新しいキーフレームを送信し、且つステップ966において映像復号化装置960に受信されることで、該映像の歪みを停止する。
次に、図10のシーケンス図を参照しながらメッセージドロップを詳細に説明する。
ステップ1031において、送信端末1030はメッセージブロックを含むメッセージ1を受信端末1140に送信し、また該メッセージをアプリケーションプログラム1050に転送する。
ステップ1032において、送信端末1030はメッセージ2の第1メッセージブロックを受信端末1040に送信し、該受信バッファに保持される。
ステップ1033において、送信端末1030はメッセージ2の第2メッセージブロックを送信するが、このメッセージブロックをロスする。
ステップ1034において、送信端末1030はメッセージ3の第1メッセージブロックを送信する。このデータパケットは、メッセージドロップ欄を含み、数値1を有し、該受信バッファに保持する古いメッセージドロップ欄のいかなるメッセージを有するいずれかのパケットがドロップされなければならないことを意味する。
同時に、ステップ1035において、スムーズにメッセージ3の該第2メッセージブロックを送信と受信し、且つメッセージ3を該アプリケーションプログラムに転送できる。
ステップ1036において、スムーズにメッセージ4の第1メッセージブロックを送信と受信する。このデータパケットは、メッセージドロップ欄を含み、数値2を有し、メッセージ2が該受信バッファに保持すべきではなく、且つドロップされなければならないことを意味する。メッセージ4向け該TTLタイマーがオンにされ、且つ100ms後にタイムアウトする。
ステップ1037において、メッセージ4の第2メッセージブロックを送信するが、第2メッセージブロックがロスされた。メッセージ4は、時間単位値が100のTTL欄を有する。この時間がタイムアウトの時、メッセージ4は該受信バッファからドロップされ、且つ通知を該アプリケーションプログラムに送信する。
ステップ1038において、スムーズにメッセージブロックを含むメッセージ5を送信と受信する。メッセージ5は、メッセージ4を待つため、保持され、且つ直ちに該アプリケーションプログラムに応用しない。該メッセージは、受信されていない場合、メッセージ4向け該TTLタイマーがうタイムアウトする。メッセージがドロップされ、且つ通知を該アプリケーションプログラムに送信する。その次にメッセージ5は、該アプリケーションプログラムに応用される。
ステップ1039において、メッセージ6のメッセージブロックを送信と受信する。このメッセージは、数値4のメッセージドロップ設定を有するが、古いメッセージシーケンス番号が該バッファ内にないため、ドロップタスクがない。
エラー制御
該エラー制御方法(ロス回復プロトコル)は、該受信端末内のギャップをベースにしたロス検出に準拠する。図11と図12を参照すると、それらロスが検出(シーケンス番号の不連続に基づく)された場合、NACKパケットを送信して該送信端末に対して該ロストしたパケット再送信を要求する。NACKパケットには該ロストしたパケットのシーケンス番号範囲及び該NACK要求のシーケンス番号を載せ、このNACKのロストしたパケットによって1つずつ増える。該送信端末は、該NACKを受信した場合、重複の要求であるかどうかをチェックし、且つ該ロストしたデータパケットを再送信する。各再送信のデータパケットは、NACKシーケンス番号を載せ、各再送信パケットを通じて1つずつ増える。該受信端末は、該データパケットにおけるNACKシーケンス番号の該ギャップをチェックして再送信パケットのロスを検出する。再送信パケットは再度ロストした場合、新しいNACKシーケンス番号を有する新しいNACK要求を送信する。
図11は、本発明の一実施例に係る該受信端末におけるロス回復のフローチャートである。図11は、1)初回送信した複数のメッセージブロック(或いはデータパケット)のロス検出(下方の破線枠内の複数ステップを参照)と2)再送信した複数のメッセージブロック(データパケット)のロス検出(上方の破線枠内の複数ステップを参照)という2種類の主要方法を含む。
ステップ1110において、データパケットを受信する。ステップ1113において、テストを行って該受信したデータパケットの該NACKシーケンス番号は先ほど受信した該最大NACKシーケンス番号より大きいかどうかをチェックする。いいえの場合、メッセージブロック(データパケット)のロス検出を行う該下枠に入ることを制御する。ステップ1117において、テストを行ってこのパケットの該メッセージブロックシーケンス番号にギャップがあり、先ほど受信した該最大メッセージブロックのシーケンス番号を有するかどうかをチェックする。はいの場合、該初回送信した部分のメッセージブロックはロストした。ステップ1118において、該ロストしたメッセージブロックに対応する新しいNACK要求は、該ロスリスト(未決NACK要求のリスト)に付加される。
ステップ1120において、該新しいNACK要求は、該送信端末に送信される。NACKパケットにおいて、ステップ1119で検出したメッセージブロックに対応する1個又は複数のNACK要求はタイムアウトのメッセージ部分であることを除き、さもなければ、このNACK要求が削除される。よって、効果上、該メッセージドロッププロセス(上記)は、該ロス回復プロトコルに制限を設けてロストしたデータを回復する。
ステップ1113に戻り、該受信したデータパケットは先ほど受信した最大NACKシーケンス番号より大きいNACKシーケンス番号を有する場合、最後のデータパケットが受信され、一部のメッセージブロックが再送信されたことを意味している。
ステップ1114において、NACKシーケンス番号中のいずれかのギャップによっていずれかの再送信メッセージブロックがロストしたかどうかを決定する。こうすると、ステップ1115において新しいNACK要求は該ロスリストに付加される。ステップ1115において、該ロスリストから該NACKシーケンス番号より小さく且つ包括する全てのNACK要求を削除する。次に、先ほどロストしたメッセージブロックテストを行う枠1117に入ることを制御する。
エラー制御は、図12のシーケンス図を参照しながら詳細に説明する。
図12は、本発明の実施例に係るエラー制御プロセスに適合する送信端末1200と受信端末1201間のデータパケットとNACKパケットの交換である。各データパケットについて、該メッセージブロックのシーケンス番号とNACKシーケンス番号の値を表示する。各NACKパケットについて、該NACKシーケンス番号とロストしたブロックの値(パケットロスのシーケンス番号範囲)を表示する。
特に、該受信端末におけるロス検出は検証される。ステップ1262は、初回送信したメッセージブロックのロス検出例である。ステップ1266と1269は、再送信したメッセージブロックのロス検出を示す。
ステップ1210〜1215において、メッセージブロックのシーケンス番号1、2、3、4、5、6を有するデータパケットを送信する。これらデータパケッにおいて、データパケット1、2、6はスムーズに受信されるが、パケット3、4、5がロスする。ステップ1262において、該受信端末はメッセージブロックのシーケンス番号の不連続を検出し、並びにステップ1263において該送信端末に対して数値が1のNACKシーケンス及び数値が[3,5]のロストしたブロックのNACKパケットを送信する。
ステップ1216において、該送信端末は、該NACKパケットを受信する。ステップ1217〜1219において、該送信端末はデータパケット3、4、5を再送信する。再送信するパケット3は、該NACKシーケンス番号1を載せている。該NACKシーケンス番号は、各再送信パケットによって1つずつ増えることで、再送信するデータパケット4、5にNACKシーケンス番号2、3を各々載せる。再送信しデータパケット4のロスは、該受信端末を通じてステップ1266においてNACKシーケンス番号の不連続から検出される。シーケンス番号4を有する新しいNACKとロストしたブロック[4,4]が続いて生成し、且つ該送信端末に送信する。
ステップ1221において、データパケット4を再送信するが、再度ロスする。該ロスは、ステップ1269において該受信端末で検出され、ステップ1270においてNACKシーケンス5とロストしたブロック4,4を有するNACKを送信し、ステップ1224において送信端末1200に受信される。
ステップ1222及び1223において、スムーズに該NACKシーケンス番号を有するデータパケット7、8を送信し、該NACKシーケンス番号が4を残した。
ステップ1225においてデータパケット4は、再送信され、NACKシーケンス番号5を用いる。この時間データパケット4がスムーズに受信される。
ステップ1226において、スムーズにNACKシーケンスを有するデータパケット9を送信し、該NACKシーケンス番号が5を残した。
前に述べるように、該「ロスリスト」は未決NACK要求のリストである。各NACK要求は、独自のNACKシーケンス番号とロストしたメッセージブロックの該シーケンス番号を有する。新しいパケットを検出した場合、NACK要求が該ロスリスト中に付加される。該ロスリストのタスクは、下記の図12の説明を通じて理解できる。
図12において、3個のデータパケット(メッセージブロック)はステップ1260、1261及び1262で受信する。該ロストしたメッセージブロック3、4、5は、検出される。3つの項目(1,3)、(2,4)、(3,5)は該ロスリストに付加される。次に該ロスリストが[(1,3)、(2,4)、(3,5)]に変わる。例えば[(1,[3,5])]として整えて表示させることができる。
該未決NACK要求は、1)該メッセージブロック要求がスムーズに受信された時或いは2)該再送信したメッセージブロックが再度ロストした時、該ロスリストから削除される(ことが確認される)。この実施例において、新しいNACK要求を付加する。
例えば、ステップ1264において、NACK要求1に応答する該再送信したメッセージブロック3を受信し、該受信端末がスムーズにNACK要求1に応答し、且つロスリストから削除されることを確認する。ステップ1266において、NACK要求3もスムーズに応答され、NACK要求2は再送信したメッセージブロック4がロストしたため無効になる。NACK要求2、3は、ロスリストから削除されることができる。メッセージブロック4における新しいNACK要求(4,4)はロスリストに付加される。
一方、一実施例はネットワークを経由して送信端末から受信端末に送信するパケットの低遅延伝送方法を提供し、該ネットワークに接続する1台又は複数台のコンピュータにおいて、データパケットを伝送することと、該送信端末において輻輳イベント率及びエコーのシーケンス番号を伝送するための肯定応答パケットを受信することと、該送信端末において該エコーのシーケンス番号によって平滑化された往復時間を計算することと、該送信端末において輻輳イベント率と平滑化された往復時間に基づいて、TCPスループット方程式で許容送信レートを計算することと、該送信端末において送信バッファの現キューイング遅延を計算することと、該送信端末において該現キューイング遅延が閾値を超えない時のみ、アプリケーションプログラムが該送信バッファの送信キューに入れるようメッセージ送信を要求することと、該送信端末において、データパケットにタイムリミット値を挿入し、該タイムリミット値は信号を該受信端末に発して関連のメッセージ削除前に該受信バッファに滞在しなければならない時間の制限を伝達することと、該送信端末において、データパケットにメッセージドロップのシーケンス番号を挿入し、該メッセージドロップのシーケンス番号は信号を該受信端末に発して古いメッセージドロップのシーケンス番号を有する全てのメッセージをドロップすることと、該送信端末においてロストしたパケットのシーケンス番号範囲を表示するNACKパケットを受信し、且つロストしたパケットを再送信することと、を含む。また非一時的なコンピュータ可読媒体に保存するコンピュータプログラムを開示し、1台又は複数台のコンピュータを通じて読み込み或いは実行する時、上記開示した方法を実行する。また送信端末は低遅延方式でネットワークを経由してパケットを受信端末に伝送し、且つ輻輳イベント率及びエコーのシーケンス番号を伝送するACKパケットを受信するために用いられることと、該エコーのシーケンス番号に基づいて平滑化された往復時間を計算することと、輻輳イベント率と平滑化された往復時間に基づいて、TCPスループット方程式で許容送信レートを計算することと、該現キューイング遅延が閾値を超えない時のみ、送信バッファにおける現キューイング遅延を計算し、並びにアプリケーションプログラムが該送信バッファの送信キューに入れるようメッセージ送信を要求することと、ロストしたパケットのシーケンス番号範囲を表示するNACKパケットを受信し、且つ該ロストしたパケットを再送信することと、を開示した。
もう一方、ネットワークを経由して送信端末から受信端末に送信するパケットの低遅延受信方法を開示し、該ネットワークに接続する1台又は複数台のコンピュータにおいてデータパケットを受信することと、該受信端末においてシーケンス番号の不連続の検出を通じてパケットロスの検出を輻輳と表示することと、該受信端末において、受信したデータパケット内のタイムスタンプに基づいて、高キューイング遅延の検出を輻輳と表示することと、該受信端末において輻輳イベント率を計算し、且つACKパケットを該送信端末に送信し、該ACKパケットは該輻輳イベント率及びエコーのシーケンス番号を伝送し、これを入力して許容送信レートを計算することと、該受信端末において各受信したデータパケットのタイムリミット値及びメッセージの受信バッファに滞在する最大許容時間によって判断して該最大許容時間を超えたいずれかのメッセージを削除することと、該受信端末においてメッセージドロップのシーケンス番号を有するデータパケットを受信し、また該データパケットに関わるメッセージより古い全てのメッセージをドロップすることと、該受信端末において、シーケンス番号ギャップを通じてロストしたパケットを確認し、パケットロスを検出した場合、NACKパケットを該送信端末に送信することで、該送信端末に対して該ロストしたパケットの再送信を要求することと、を含む。また非一時的なコンピュータ可読媒体に保存するコンピュータプログラムを開示し、1台又は複数台のコンピュータを通じて読み込み或いは実行する時、上記開示した方法を実行する。また送信端末も開示し、該送信端末は低遅延方式でネットワークを経由してパケットを受信端末に送信する。該送信端末は、ACKパケットの受信に用いられ、該ACKパケットが輻輳イベント率及びエコーのシーケンス番号を伝送し、該エコーのシーケンス番号によって平滑化された往復時間を計算し、該輻輳イベント率と該平滑化された往復時間に基づいてTCPスループット方程式で許容送信レートを計算する輻輳制御モジュールと、送信バッファと、該送信バッファにおける現キューイング遅延の計算に用いられ、該現キューイング遅延が閾値を超えない時のみ、アプリケーションプログラムが該送信バッファの送信キューに入れるようメッセージ送信を要求するキューイング制御モジュールと、ロストしたパケットのシーケンス番号範囲を表示するNACKパケットの受信に用いられ、該トランスポート層が該送信端末をガイドして該ロストしたパケットを再送信するために用いられるエラー制御モジュールと、を含む。またネットワークを経由し、低遅延方式で送信端末からパケットを受信する受信端末も開示し、該受信端末は、パケットロス或いは高キューイング遅延の検出を通じて輻輳を検出し、且つACKパケットを該送信端末に送信し、該ACKパケットは輻輳イベント率及びエコーのシーケンス番号を伝送する輻輳制御モジュールと、各受信したデータパケットのタイムリミット値及びメッセージの受信バッファに滞在する最大許容時間によって判断して該最大許容時間を超えたいずれかのメッセージを削除し、更にメッセージドロップのシーケンス番号を有するデータパケットの受信に用いられ、該受信バッファから該データパケットに関わるメッセージより古い全てのメッセージをドロップするメッセージドロップモジュールと、シーケンス番号ギャップを通じてロストしたパケットを確認し、パケットロスを検出した場合、NACKパケットを該送信端末に送信することで、該送信端末に対して該ロストしたパケットの再送信を要求するエラー制御モジュールと、を含む。
発明の詳細な説明の項において本発明の幾つかの実施例を記述したが、当業者は本発明の技術原理と精神とから外れることなく、実施例を修正と変更できる。よって、全てのこのような修正と変更は保護を求める発明範囲内に含めるものであるのが勿論である。
特に、発明の詳細な説明の項においてなされた実施例は、あくまでも本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の基本的な構造から逸脱することなく、本発明が主張する権利範囲とし、特許請求の範囲に準ずる。
1000 コンピュータシステム
101 サーバ
102、230 ネットワーク
103 クライアント装置
110、120 中央処理装置
111、121 ストレージ装置
112、122 メモリ
131 コンピュータプログラム
220 リンク
240、330、370 ユーザデータグラムプロトコル(UDP)
250、813 アプリケーション層転送プロトコル
260、390 アプリケーションプログラム
300 送信端末
301 受信端末
320、360 インターネットプロトコル (IP)
340、380 アプリケーション層転送
341 キューイング遅延制御
342 送信バッファ
343 パケットスケジューラ
344、383 エラー制御
345、382 輻輳制御
381 受信バッファ
401 IPヘッダ
410 データパケット
411 パケットシーケンス
412 メッセージブロックのシーケンス
413 メッセージのシーケンス
414 メッセージドロップのシーケンス
415 NACKシーケンス
416 RTT
417 タイムスタンプ
418 TTL
420 ACKパケット
421 エコーのシーケンス
422 累積ACK
423 輻輳イベント率
424 受信レート
430 NACKパケット
431 NACKシーケンス
432 ロスブロック
433 ロスブロック2
434 ロスブロックN
510〜515、520〜525 ステップ
610〜650 ステップ
710〜770 ステップ
812、822 TCP構成要素
815 映像符号化装置
823 アプリケーションプログラムの転送プロトコルモジュール
824 映像受信端末
825 映像復号化装置
911〜918、941〜942、961〜966 ステップ
910 映像符号化装置
920 映像送信端末
930 転送プロトコル構成要素
940 転送プロトコル構成要素
950 映像受信端末
960 映像復号化装置
1030 送信端末
1031〜1039 ステップ
1040 受信端末
1050 アプリケーションプログラム
1110〜1120 ステップ
1200 送信端末
1201 受信端末
1210〜1226、1260〜1272 ステップ

Claims (18)

  1. ネットワークを経由して送信端末から受信端末に送信するパケットの低遅延伝送方法であって、
    前記ネットワークに接続する1台又は複数台のコンピュータにおいて、データパケットを一意に識別するパケットのシーケンス番号、メッセージブロックを一意に識別するメッセージブロックのシーケンス番号、少なくとも1つ以上のメッセージブロックにより構成されるメッセージを一意に識別するメッセージのシーケンス番号、及びドロップするメッセージを特定するためのメッセージドロップのシーケンス番号、を含むデータパケットを伝送することと、
    前記送信端末において輻輳イベント率(congestion event rate)及びエコーのシーケンス番号(echoed sequence number)を伝送するための肯定応答パケット(Acknowledgement、ACK)を受信することと、
    前記送信端末において前記エコーのシーケンス番号によって平滑化された往復時間(smoothed round−trip time)を計算することと、
    前記送信端末において前記輻輳イベント率と前記平滑化された往復時間に基づいて、伝送制御プロトコル(Transmission Control Protocol、TCP)スループット方程式(throughput equation)で許容送信レートを計算することと、
    前記送信端末において送信バッファの現キューイング遅延を計算することと、
    前記送信端末において前記現キューイング遅延が閾値(threshold)を超えない時のみ、アプリケーションプログラムが前記送信バッファの送信キューに入れるようメッセージ送信を要求することと、
    前記送信端末において、データパケットにタイムリミット値(time limit value)を挿入し、前記タイムリミット値は信号を前記受信端末に発して関連のメッセージドロップ前に前記受信バッファに滞在しなければならない時間の制限を伝達することと、
    前記送信端末において、前記データパケットに前記メッセージドロップ(drop)のシーケンス番号を挿入し、前記メッセージドロップのシーケンス番号は信号を前記受信端末に発して、当該発したメッセージドロップのシーケンス番号と同一のシーケンス番号又は当該シーケンス番号よりも小さいシーケンス番号を有する全てのメッセージを前記受信端末にてドロップさせることと、
    前記送信端末において、前記受信端末で前記パケットのシーケンス番号を通じてロスト(lost)と判断したパケットの、前記メッセージブロックのシーケンス番号範囲を表示する否定応答(NACK)パケットを受信し、且つドロップしたメッセージに属さないロストした各パケットを再送信することと、
    を含むことを特徴とする低遅延伝送方法。
  2. 前記ネットワークは、インターネット(Internet)とすることを特徴とする請求項1に記載の方法。
  3. ユーザデータグラムプロトコル(User Datagram Protocol、UDP)に稼動されるアプリケーション層転送プロトコルとすることを特徴とする請求項1に記載の方法。
  4. 前記輻輳制御ステップの「ACKパケットの受信」、「平滑化された往復時間の計算」及び「TCPスループット方程式の応用」は、実質的にdflow−02に適合していることを特徴とする請求項1に記載の方法。
  5. 前記TCPスループット方程式は、RFC5348の章節3.1で定めるものであることを特徴とする請求項1に記載の方法。
  6. メッセージが長すぎるキューイング遅延により前記送信バッファの送信キューに入られない場合、前記アプリケーションプログラムは、コールバック(callback)を通じて前記メッセージの再送信を明確に通知することを特徴とする請求項1に記載の方法。
  7. メッセージが長すぎるキューイング遅延により前記送信バッファの送信キューに入られない場合、前記アプリケーションプログラムは、前記メッセージを再送できることを特徴とする請求項1に記載の方法。
  8. ネットワークを経由して送信端末から受信端末に送信するパケットの低遅延受信方法であって、
    前記ネットワークに接続する1台又は複数台のコンピュータにおいて、データパケットを一意に識別するパケットのシーケンス番号、メッセージブロックを一意に識別するメッセージブロックのシーケンス番号、少なくとも1つ以上のメッセージブロックにより構成されるメッセージを一意に識別するメッセージのシーケンス番号、及びドロップするメッセージを特定するためのメッセージドロップのシーケンス番号、を含むデータパケットを受信することと、
    前記受信端末において前記パケットのシーケンス番号の不連続の検出を通じてパケットロスの検出を輻輳と表示することと、
    前記受信端末において、受信したデータパケット内のタイムスタンプに基づいて、高キューイング遅延の検出を輻輳と表示することと、
    前記受信端末において輻輳イベント率を計算し、且つACKパケットを前記送信端末に送信し、前記ACKパケットは前記輻輳イベント率及びエコーのシーケンス番号を伝送し、これを入力して許容送信レートを計算することと、
    前記受信端末において各受信したデータパケットのタイムリミット値を超えたいずれかのメッセージをドロップすることと、
    前記受信端末においてメッセージドロップのシーケンス番号を有するデータパケットを受信し、また当該受信したデータパケットに関わるメッセージのメッセージドロップのシーケンス番号と同一のシーケンス番号又は当該シーケンス番号よりも小さいシーケンス番号を有する全てのメッセージをドロップすることと、
    前記受信端末において、前記メッセージブロックのシーケンス番号を通じてロストしたパケットを確認し、パケットロスを検出した場合、NACKパケットを前記送信端末に送信することで、前記送信端末に対して前記ロストしたパケットの再送信を要求することと、
    を含むことを特徴とする低遅延受信方法。
  9. 前記ネットワークは、インターネットとすることを特徴とする請求項8に記載の方法。
  10. UDPに稼動されるアプリケーション層転送プロトコルとすることを特徴とする請求項8に記載の方法。
  11. 前記輻輳制御ステップの「パケットロスの検出」、「高キューイング遅延の検出」及び「輻輳イベント率の計算」は、実質的にdflow−02に適合していることを特徴とする請求項8に記載の方法。
  12. 前記受信端末からアウトオブバンド(out−of−band)要求を映像符号化装置に送信してキーフレーム(key frame)でドロップしたキーフレームを代替するよう要求することを更に含むことを特徴とする請求項8に記載の方法。
  13. 前記映像符号化装置に対する前記要求は、TCP接続(TCP connection)を経由して送信することを特徴とする請求項12に記載の方法。
  14. 前記輻輳イベント率は、直近の輻輳時間間隔の加重平均のカウントダウンとすることを特徴とする請求項8に記載の方法。
  15. 非一時的なコンピュータ可読媒体におけるコンピュータプログラムであって、コンピュータのプロセッサはネットワークを経由して低遅延方式で送信端末からパケットを受信端末に伝送する際、実行する複数のコマンドを含み、前記コマンドは、
    データパケットを一意に識別するパケットのシーケンス番号、メッセージブロックを一意に識別するメッセージブロックのシーケンス番号、少なくとも1つ以上のメッセージブロックにより構成されるメッセージを一意に識別するメッセージのシーケンス番号、及びドロップするメッセージを特定するためのメッセージドロップのシーケンス番号、を含むデータパケットを伝送し、
    前記送信端末において輻輳イベント率及びエコーのシーケンス番号のACKパケットを受信し、
    前記送信端末において前記エコーのシーケンス番号によって平滑化された往復時間を計算し、
    前記送信端末において前記輻輳イベント率と前記平滑化された往復時間に基づいて、TCPスループット方程式で許容送信レートを計算し、
    前記送信端末において送信バッファの現キューイング遅延を計算し、
    前記送信端末において前記現キューイング遅延が閾値を超えない時のみ、アプリケーションプログラムが前記送信バッファの送信キューに入れるようメッセージ送信を要求し、
    前記送信端末において、データパケットにタイムリミット値を挿入し、前記タイムリミット値は信号を前記受信端末に発して関連のメッセージドロップ前に前記受信バッファに滞在しなければならない時間の制限を伝達し、
    前記送信端末において、データパケットに前記メッセージドロップのシーケンス番号を挿入し、前記メッセージドロップのシーケンス番号は信号を前記受信端末に発して、当該発したメッセージドロップのシーケンス番号と同一のシーケンス番号又は当該シーケンス番号よりも小さいシーケンス番号を有する全てのメッセージをドロップし、
    前記送信端末において、前記受信端末で前記パケットのシーケンス番号を通じてロストと判断したパケットの前記メッセージブロックのシーケンス番号の範囲を表示するNACKパケットを受信し、且つドロップしたメッセージに属さないロストした各パケットを再送信することを特徴とするコンピュータプログラム。
  16. 非一時的なコンピュータ可読媒体におけるコンピュータプログラムであって、コンピュータのプロセッサはネットワークを経由して低遅延方式で送信端末からパケットを受信する受信端末が実行する複数のコマンドを含み、前記コマンドは、
    データパケットを一意に識別するパケットのシーケンス番号、メッセージブロックを一意に識別するメッセージブロックのシーケンス番号、少なくとも1つ以上のメッセージブロックにより構成されるメッセージを一意に識別するメッセージのシーケンス番号、及びドロップするメッセージを特定するためのメッセージドロップのシーケンス番号、を含むデータパケットを受信し、
    前記受信端末において前記パケットのシーケンス番号の不連続の検出を通じてパケットロスの検出を輻輳と表示し、
    前記受信端末において、受信したデータパケット内のタイムスタンプに基づいて、高キューイング遅延の検出を輻輳と表示し、
    前記受信端末において輻輳イベント率を計算し、且つACKパケットを前記送信端末に送信し、前記ACKパケットは前記輻輳イベント率及びエコーのシーケンス番号を伝送し、これを入力して許容送信レートを計算し、
    前記受信端末において各受信したデータパケットのタイムリミット値を超えたいずれかのメッセージをドロップし、
    前記受信端末においてメッセージドロップのシーケンス番号を有するデータパケットを受信し、また当該受信したデータパケットに関わるメッセージのメッセージドロップのシーケンス番号と同一のシーケンス番号又は当該シーケンス番号よりも小さいシーケンス番号を有する全てのメッセージをドロップし、
    前記受信端末において、前記メッセージブロックのシーケンス番号を通じてロストしたパケットを確認し、パケットロスを検出した場合、NACKパケットを前記送信端末に送信することで、前記送信端末に対して前記ロストしたパケットの再送信を要求することを特徴とするコンピュータプログラム。
  17. 前記コマンドは、前記送信端末がキーフレーム要求を受信し、且つ前記キーフレーム要求を受信した時、1つの新しいキーフレームの送信を通じて応答することを更に含むことを特徴とする請求項15に記載のコンピュータプログラム。
  18. 前記コマンドは、1つ又は複数の映像フレームが前記受信端末内でドロップされた時、前記受信端末が1つの新しいキーフレームの伝送を要求することを更に含むことを特徴とする請求項16に記載のコンピュータプログラム。
JP2016029636A 2015-05-01 2016-02-19 インタラクティブなリアルタイムメディアの転送プロトコル Active JP6023368B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/702,353 US9185045B1 (en) 2015-05-01 2015-05-01 Transport protocol for interactive real-time media
US14/702,353 2015-05-01

Publications (2)

Publication Number Publication Date
JP6023368B1 true JP6023368B1 (ja) 2016-11-09
JP2016213811A JP2016213811A (ja) 2016-12-15

Family

ID=54363602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016029636A Active JP6023368B1 (ja) 2015-05-01 2016-02-19 インタラクティブなリアルタイムメディアの転送プロトコル

Country Status (4)

Country Link
US (1) US9185045B1 (ja)
JP (1) JP6023368B1 (ja)
CN (1) CN105871736B (ja)
TW (1) TWI559717B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7035955B2 (ja) 2018-10-19 2022-03-15 トヨタ自動車株式会社 サーモスタット及び冷却水の通路構造
US11477129B2 (en) * 2018-06-29 2022-10-18 Huawei Technologies Co., Ltd. Data transmission method, computing device, network device, and data transmission system

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2798507B1 (en) * 2013-02-26 2017-03-22 Fastly Inc. Enhanced acknowledgement handling in communication packet transfer
US9823864B2 (en) * 2014-06-02 2017-11-21 Micron Technology, Inc. Systems and methods for throttling packet transmission in a scalable memory system protocol
US10992589B2 (en) * 2016-01-12 2021-04-27 Qualcomm Incorporated LTE based V2X communication QOS and congestion mitigation
KR102560594B1 (ko) * 2016-05-03 2023-07-27 삼성전자주식회사 무선 통신 시스템에서 패킷을 송신하기 위한 장치 및 방법
CN106101026A (zh) * 2016-06-07 2016-11-09 深圳证券通信有限公司 一种高可靠低延迟的udp多播方法
CN108289284B (zh) * 2017-01-06 2021-05-07 光宝电子(广州)有限公司 传输方法、无线通信系统及电脑系统
US10880222B2 (en) * 2017-04-28 2020-12-29 Kt Corporation Method and apparatus for transmitting a RLC layer status report
US10536382B2 (en) * 2017-05-04 2020-01-14 Global Eagle Entertainment Inc. Data flow control for dual ended transmission control protocol performance enhancement proxies
US11736406B2 (en) * 2017-11-30 2023-08-22 Comcast Cable Communications, Llc Assured related packet transmission, delivery and processing
CN110858930B (zh) * 2018-08-23 2022-03-18 慧与发展有限责任合伙企业 数据帧传输
CN109462553A (zh) * 2018-10-24 2019-03-12 盛科网络(苏州)有限公司 一种基于时延的动态队列管理芯片实现方法
CN111131210B (zh) 2019-12-16 2021-09-17 维沃移动通信有限公司 数据处理方法及电子设备
US11943125B2 (en) * 2022-01-26 2024-03-26 Dish Network Technologies India Private Limited Discontinuity detection in transport streams
TWI804337B (zh) * 2022-06-02 2023-06-01 晶絡科技股份有限公司 降低封包傳輸延遲的方法
CN115189810B (zh) * 2022-07-07 2024-04-16 福州大学 一种面向低时延实时视频fec编码传输控制方法
KR102516754B1 (ko) * 2022-10-28 2023-03-31 국방과학연구소 트리플-메트릭 우선순위 기반 트래픽 처리 방법 및 장치
CN115695582A (zh) * 2022-10-31 2023-02-03 天翼数字生活科技有限公司 一种低延时传输控制的方法、接收终端和发送终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007063585A1 (ja) * 2005-11-30 2007-06-07 Fujitsu Limited 通信装置およびフレーム制御方法
JP2009071537A (ja) * 2007-09-12 2009-04-02 Toshiba Corp データ転送システム及びデータ転送方法
JP2011035442A (ja) * 2009-07-29 2011-02-17 Sony Corp 送信レート制御方法および通信装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104757A (en) 1998-05-15 2000-08-15 North Carolina State University System and method of error control for interactive low-bit rate video transmission
US6438603B1 (en) 1999-04-30 2002-08-20 Microsoft Corporation Methods and protocol for simultaneous tuning of reliable and non-reliable channels of a single network communication link
WO2002003597A1 (en) * 2000-06-30 2002-01-10 Kanad Ghose System and method for fast, reliable byte stream transport
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
TW200737781A (en) * 2005-04-01 2007-10-01 Interdigital Tech Corp Method and apparatus for dynamically adjusting a deferred transmission level and a transmission power level in a wireless communication system
US8031602B2 (en) * 2006-04-13 2011-10-04 Dolby Laboratories Licensing Corporation Estimating wireless processing device queue length and estimating signal reception quality in a wireless network
TW200835303A (en) * 2006-09-07 2008-08-16 Avocent Huntsville Corp Point-to-multipoint high definition multimedia transmitter and receiver
GB0701668D0 (en) * 2007-01-29 2007-03-07 Tang Bob Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgenTCP nextgenFTP nextgenUDPs
US20130250853A1 (en) * 2012-03-20 2013-09-26 Qualcomm Incorporated Methods and apparatuses to improve round trip time in transfer control protocol using accelerated acknowledgement messages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007063585A1 (ja) * 2005-11-30 2007-06-07 Fujitsu Limited 通信装置およびフレーム制御方法
JP2009071537A (ja) * 2007-09-12 2009-04-02 Toshiba Corp データ転送システム及びデータ転送方法
JP2011035442A (ja) * 2009-07-29 2011-02-17 Sony Corp 送信レート制御方法および通信装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477129B2 (en) * 2018-06-29 2022-10-18 Huawei Technologies Co., Ltd. Data transmission method, computing device, network device, and data transmission system
US11799790B2 (en) * 2018-06-29 2023-10-24 Huawei Techologies Co., Ltd. Data transmission method, computing device, network device, and data transmission system
JP7035955B2 (ja) 2018-10-19 2022-03-15 トヨタ自動車株式会社 サーモスタット及び冷却水の通路構造

Also Published As

Publication number Publication date
TWI559717B (zh) 2016-11-21
TW201640873A (zh) 2016-11-16
US9185045B1 (en) 2015-11-10
JP2016213811A (ja) 2016-12-15
CN105871736A (zh) 2016-08-17
CN105871736B (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
JP6023368B1 (ja) インタラクティブなリアルタイムメディアの転送プロトコル
US11405491B2 (en) System and method for data transfer, including protocols for use in reducing network latency
US20160323062A1 (en) Packet recovery in interactive real-time media protocol
EP3322145B1 (en) Method, server side and system for computing bandwidth of network transmission of streaming media
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
WO2016192478A1 (zh) 数据传输方法及装置
CN113037440B (zh) 数据重传处理方法、装置、计算机设备和存储介质
KR20160135200A (ko) 확장된 송신 제어 기능을 구현하는 송신 가속기
CN112436924B (zh) 一种数据传输方法及电子设备
CN108234089B (zh) 用于低时延通信的方法和系统
JP7067544B2 (ja) 通信システム、通信装置、方法およびプログラム
CN114039702B (zh) 数据传输方法、装置、设备和介质
CN113726817B (zh) 一种流媒体数据的传输方法、装置及介质
JP7401698B2 (ja) パケット交換ネットワークを介して通信する装置、方法、およびコンピュータプログラム
US20240298051A1 (en) Data relay apparatus, distribution system, data relay method, and computer-readable medium
US20240165508A1 (en) Method, apparatuses and systems directed to quality of experience improvement in cloud gaming
JP2009260719A (ja) データ伝送端末装置およびデータ伝送方法
CN114866523A (zh) 一种基于udp的视频快速传输方法及系统
Mehrotra et al. RAPID: a reliable protocol for improving delay
WO2014089798A1 (en) Method and apparatus for error control in 3d video transmission

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160826

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161006

R150 Certificate of patent or registration of utility model

Ref document number: 6023368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250