JP2006510255A - System and method for detecting packet loss in a streaming application using a circular buffer - Google Patents

System and method for detecting packet loss in a streaming application using a circular buffer Download PDF

Info

Publication number
JP2006510255A
JP2006510255A JP2004558299A JP2004558299A JP2006510255A JP 2006510255 A JP2006510255 A JP 2006510255A JP 2004558299 A JP2004558299 A JP 2004558299A JP 2004558299 A JP2004558299 A JP 2004558299A JP 2006510255 A JP2006510255 A JP 2006510255A
Authority
JP
Japan
Prior art keywords
packet
circular buffer
sequence number
entry
lost
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.)
Withdrawn
Application number
JP2004558299A
Other languages
Japanese (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006510255A publication Critical patent/JP2006510255A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9031Wraparound memory, e.g. overrun or underrun detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

インターネット・ストリーミングにおけるパケット損失検出を管理するために、循環バッファ(すなわち、環を形成するバッファ・チェーン)を提供する。検出レイテンシーはバッファ・チェーンのサイズで決まる。これを、ネットワーク条件およびアプリケーション要件に動的に適応させることができる。本発明は、十分な検出精度を達成できる。In order to manage packet loss detection in Internet streaming, a circular buffer (ie, a buffer chain forming a ring) is provided. The detection latency is determined by the size of the buffer chain. This can be dynamically adapted to network conditions and application requirements. The present invention can achieve sufficient detection accuracy.

Description

本発明は、インターネット・ストリーミングにおけるパケット損失の検出に関する。詳細には、本発明は、インターネット・ストリーミングにおけるパケット損失検出のために、循環を形成するバッファ・チェーンによって実装される、循環バッファを用いたシステムおよび方法に関する。より詳細には、本発明は、チェーンのサイズで決まるパケット損失検出レイテンシーを、ネットワーク条件およびアプリケーション要件に動的に適応させて、十分な検出精度を達成し、かつ、実装が容易なシステムおよび方法に関する。   The present invention relates to packet loss detection in Internet streaming. In particular, the present invention relates to a system and method using a circular buffer implemented by a buffer chain forming a circular for packet loss detection in Internet streaming. More specifically, the present invention dynamically adapts the packet loss detection latency determined by the size of the chain to network conditions and application requirements to achieve sufficient detection accuracy and is easy to implement. About.

インターネット・ストリーミング・アプリケーションでは、ビデオのIフレームやスケーラブル符号化のベース・レイヤに属するパケットのような重要なパケットが失われると、受信側は送信側に対し、その失われたパケットを再送信するよう要求することができる。受信側は、再送信要求を即座に送信するためには、パケット損失を適時に検出する手段を持つ必要がある。現在、パケット損失検出は、タイマかタイミング・ウィンドウを用いて行われる。   In Internet streaming applications, if important packets such as video I-frames or packets belonging to the base layer of scalable coding are lost, the receiver will retransmit the lost packets to the sender. Can be requested. The receiving side needs to have means for detecting packet loss in a timely manner in order to immediately send a retransmission request. Currently, packet loss detection is performed using a timer or a timing window.

転送制御(TCP)プロトコルでは、損失検出にタイマを用いる。パケットが送信されるときに、そのパケットの送信側で、あるタイムアウト値を有するタイマがセットされる。送信側がパケットの肯定応答(acknowledgementを受信する前にタイマが切れると、送信側は、パケットが失われたことを宣言し、そのパケットを再送信する。   In the transfer control (TCP) protocol, a timer is used for loss detection. When a packet is transmitted, a timer having a certain timeout value is set on the transmission side of the packet. If the sender expires before receiving a packet acknowledgment (acknowledgment), the sender declares that the packet is lost and retransmits the packet.

ほとんどのストリーミング・アプリケーションでは、損失検出はタイミング・ウィンドウを用いて行われる。タイミング・ウィンドウ(より正確にはテーブル)は、固定数のバイナリ・エントリを有する。各エントリは、パケットの状態(0:失われた、1:受信された)を表す。特定の時点で、このウィンドウの第1のエントリが、シーケンス番号(例えば、実時間転送プロトコル(RTP)パケットのシーケンス番号)で識別されるパケットに関連付けられる。後続のウィンドウ・エントリは、シーケンスの順番に、より高いシーケンス番号のパケットに関連付けられる。したがって、パケット・シーケンス番号の空間はブロックに分割され、各ブロックが特定の時点でウィンドウに関連付けられると見なすことができる。   In most streaming applications, loss detection is done using a timing window. The timing window (more precisely the table) has a fixed number of binary entries. Each entry represents the state of the packet (0: lost, 1: received). At a particular point in time, the first entry in this window is associated with a packet identified by a sequence number (eg, a real-time transfer protocol (RTP) packet sequence number). Subsequent window entries are associated with higher sequence number packets in sequence order. Thus, the packet sequence number space can be divided into blocks and each block can be considered to be associated with a window at a particular point in time.

現在は、パケットの連続する2つのブロックに関連付けられた、そのような2つのタイミング・ウィンドウがパケット損失検出に用いられる。最初は、すべてのエントリが「0」とマーキングされている。パケットが受信されると、対応するウィンドウ・エントリが「1」とマーキングされる。その第1のウィンドウを越えるシーケンス番号のパケットが受信されると、対応する第2のウィンドウ・エントリがマーキングされる。第2のウィンドウをも越えるシーケンス番号のパケットが送信されると、ただちに第1のウィンドウが閉じられ、そのエントリがチェックされる。「0」とマーキングされたままのエントリに関連付けられたパケットは、失われたと宣言される。第2のウィンドウのすぐ後に、連続する新しいウィンドウが開かれて、検出処理が再開される。   Currently, two such timing windows associated with two consecutive blocks of packets are used for packet loss detection. Initially, all entries are marked “0”. When a packet is received, the corresponding window entry is marked “1”. When a packet with a sequence number beyond that first window is received, the corresponding second window entry is marked. As soon as a packet with a sequence number exceeding the second window is transmitted, the first window is closed and its entry is checked. Packets associated with entries that remain marked “0” are declared lost. Immediately after the second window, successive new windows are opened and the detection process is resumed.

タイマによる方法は、タイマのタイムアウト値を正しくセットするためにパケットの往復時間を測定できる、TCPのようなプロトコルにのみ適用できる。ストリーミング・アプリケーションでは、ほとんどの時間、一方向のメディア・ストリームだけが生成される。そのような場合には、タイマによる方法は適用できない。その代わりに、タイミング・ウィンドウによる方法を用いる。ただし、タイミング・ウィンドウによる方法には、次のような制限がある。   The timer method is applicable only to protocols such as TCP that can measure the round trip time of a packet to correctly set the timer timeout value. In streaming applications, most of the time, only one-way media streams are generated. In such a case, the timer method cannot be applied. Instead, a timing window method is used. However, the timing window method has the following limitations.

ウィンドウ・サイズが固定である−ネットワーク条件やアプリケーション要件(例えば、遅延)が変化する場合に望ましい、ウィンドウ・サイズ適応化の組み込み機構がない。
異なる損失に対して損失検出レイテンシーが均一でない−損失検出レイテンシーはT〜2Tの範囲にある(Tはタイミング・ウィンドウの平均時間長)。損失がウィンドウの最初のエントリに関連付けられた場合、その検出レイテンシーは2Tであるが、損失がウィンドウの最後のエントリに関連付けられた場合はTである。
Window size is fixed-there is no built-in mechanism for window size adaptation, which is desirable when network conditions and application requirements (eg, delay) change.
Loss detection latency is not uniform for different losses- Loss detection latency is in the range of T to 2T, where T is the average time length of the timing window. If the loss is associated with the first entry in the window, its detection latency is 2T, but if the loss is associated with the last entry in the window, it is T.

そこで、適応型であり、かつ均一な損失検出レイテンシーを可能にする損失検出方法が求められる。   Therefore, a loss detection method that is adaptive and enables uniform loss detection latency is required.

本発明のシステムおよび方法は以下を含む。   The system and method of the present invention includes:

・ネットワーク条件やアプリケーション要件に応じてチェーン・サイズを調整できる、バッファの循環チェーン。これにより、適応型の損失検出レイテンシーを実現できる。
・チェーン・サイズが固定である、バッファの循環チェーン。これにより、チェーン・サイズが固定されている場合に均一な検出レイテンシーを実現できる。
A circular chain of buffers that can adjust the chain size according to network conditions and application requirements. Thereby, an adaptive loss detection latency can be realized.
A circular chain of buffers with a fixed chain size. Thereby, a uniform detection latency can be realized when the chain size is fixed.

レイテンシーを短くすると、失われたパケットを回復させる可能性を高めることができる。レイテンシーを均一にすると、あらゆる損失の回復可能性を等しくすることができる。したがって、あらゆる損失の検出レイテンシーを等しくすることは、ほとんどのストリーミング・アプリケーションにおいて好ましいと考えられる。   Shortening the latency can increase the likelihood of recovering lost packets. If the latency is uniform, the recoverability of any loss can be made equal. Therefore, equalizing the detection latency of any loss is considered preferable for most streaming applications.

本発明の循環バッファの実装のオーバーヘッドは低く、タイミング・ウィンドウによる方法より低くできる。   The overhead of implementing the circular buffer of the present invention is low and can be lower than the timing window method.

図1aを参照すると、1からmまでのバッファが、m個のバッファB10(i=1,...,m)の環状に連結された並びを形成している。各バッファの構成12を図1bに示す。図1aに示すように、mは、損失検出レイテンシーを決定する、循環チェーンの長さであり、ネットワーク条件およびアプリケーション要件に適応させることができる。P11は、チェーン内を循環して、各バッファを順に指すポインタである。チェーン内の各バッファB10は、2つのフィールドF13およびF14を含む。F13は、次のバッファへのポインタを格納する。F14は、失われた可能性のあるパケットのシーケンス番号を格納する。 Referring to FIG. 1a, buffers from 1 to m form a circularly linked array of m buffers B i 10 (i = 1,..., M). The configuration 12 of each buffer is shown in FIG. As shown in FIG. 1a, m is the length of the circular chain that determines the loss detection latency and can be adapted to network conditions and application requirements. P11 is a pointer that circulates in the chain and points to each buffer in turn. Each buffer B i 10 in the chain includes two fields F 1 13 and F 2 14. F 1 13 stores a pointer to the next buffer. F 2 14 stores the sequence number of a packet that may have been lost.

ストリーミング・アプリケーションでは、パケットは、パケット・シーケンス番号の順に送信されると想定される。無損失かつ理想的な状況では、到着するパケットのシーケンス番号は、必ず、前に到着したパケットのシーケンス番号より大きい。パケットの到着順序が乱れた場合やパケットが失われた場合は、受信したパケットのシーケンス番号に欠落や隔たりが見られる。2つ以上の連続する番号にまたがる欠落が見られた場合、おそらくは、この欠落は、1つまたは複数のパケットが失われたことを表している可能性がある。一方、パケットの到着順序の乱れは、インターネットではよくあることである。これは、各パケットがネットワーク内の異なる経路を通る可能性があり、早い番号のパケットが遅い番号のパケットより到着に時間がかかる場合があるからである。アプリケーションは、パケットの到着シーケンスに欠落があるのを見つけても、すぐに損失を宣言することができない。アプリケーションは、この欠落が到着順序の単なる乱れではないかどうかを見きわめなければならない。順序バッファによる方法は、損失を宣言できるかどうかを判断する手立てを提供する。   In streaming applications, it is assumed that packets are sent in order of packet sequence number. In a lossless and ideal situation, the sequence number of the arriving packet is always greater than the sequence number of the previously arriving packet. When the order of arrival of packets is disturbed or when packets are lost, omissions or gaps are seen in the sequence numbers of received packets. If a drop is observed that spans two or more consecutive numbers, it is likely that this drop represents that one or more packets have been lost. On the other hand, disorder of packet arrival order is common in the Internet. This is because each packet may take a different path in the network, and earlier numbered packets may take longer to arrive than later numbered packets. If an application finds that there is a missing packet arrival sequence, it cannot immediately declare a loss. The application must determine if this omission is merely a disruption of arrival order. The ordered buffer method provides a way to determine whether a loss can be declared.

図2aは、本発明の方法を達成するアルゴリズムの好ましい実施形態の、Cプログラミング言語によるコードを示す。図2bは、図2aに示したアルゴリズムのフローチャートである。ポインタP12は、バッファB11のチェーン内を循環する。この循環は、ステップ20でパケットを受信することによって駆動される。受信したパケットのシーケンス番号が、ステップ21の時点で受信済みのパケットの最大シーケンス番号sに対して検査される。受信したパケットのシーケンス番号がその最大シーケンス番号より小さい場合、受信したパケットは順序の乱れたパケットである。 FIG. 2a shows the code according to the C programming language of a preferred embodiment of the algorithm for achieving the method of the invention. FIG. 2b is a flowchart of the algorithm shown in FIG. 2a. Pointer P12 circulates in the chain of buffers B i 11. This circulation is driven by receiving a packet at step 20. The sequence number of the received packet is checked against the maximum sequence number s of the packet already received at step 21. If the sequence number of the received packet is less than its maximum sequence number, the received packet is an out-of-order packet.

受信したパケットが順序の乱れたパケットでない場合は、ステップ22で、シーケンス内の欠落について検査され、欠落が見つかった場合は、以下のステップを実行する。
a.Pが指しているバッファに未受信パケットが含まれる場合(ステップ24でP−>F2がゼロでない場合)は、ステップ25で、シーケンス番号P−>F2のパケットが失われたと宣言する。
b.次に、Pが未受信パケットを指していたかどうかに関わらず、ステップ26で、現時点での最大シーケンス番号を1増やして現在のバッファに保管し、シーケンス内の次のバッファを指すようにPが更新される(すなわち、P=P−>F1)。
c.ステップ27で、欠落に相当するバッファの数が1減らされ、バッファの残り数がゼロになるまでステップa〜cが繰り返される。
If the received packet is not an out-of-order packet, step 22 is checked for missing in the sequence and if a missing is found, the following steps are performed.
a. If an unreceived packet is contained in the buffer pointed to by P (if P-> F2 is not zero in step 24), then in step 25, the packet with sequence number P-> F2 is declared lost.
b. Next, regardless of whether P points to an unreceived packet, at step 26 the current maximum sequence number is incremented by 1 and stored in the current buffer, and P is pointed to point to the next buffer in the sequence. Updated (ie, P = P-> F1).
c. In step 27, the number of buffers corresponding to missing is reduced by 1, and steps a to c are repeated until the remaining number of buffers becomes zero.

したがって、欠落に相当するすべてのシーケンス番号が循環バッファ・チェーンに格納され、各番号が1つのバッファを占有する。   Thus, all sequence numbers corresponding to missing are stored in the circular buffer chain, each number occupying one buffer.

欠落が見つからない場合は、以下のステップが実行される。
d.ステップ28で、Pが指しているバッファが未受信パケットを含む場合(P−>F2がゼロでない場合)は、ステップ29で、シーケンス番号P−>F2のパケットが失われたと宣言され、そのバッファに格納されているシーケンス番号がゼロに設定される。
e.P−>F2が未受信パケットを指しているかどうかに関わらず、ステップ30で、シーケンス内の次のバッファを指すようにPが更新される。
If no omission is found, the following steps are performed.
d. If at step 28 the buffer pointed to by P contains an unreceived packet (if P-> F2 is not zero), then at step 29, the packet with sequence number P-> F2 is declared lost and the buffer The sequence number stored in is set to zero.
e. Regardless of whether P-> F2 points to an unreceived packet, at step 30, P is updated to point to the next buffer in the sequence.

順序どおりのパケットに関連する処理がすべて完了したら、
f.ステップ31で、現時点での最大シーケンス番号が、受信したパケットのシーケンス番号に設定される。
Once you ’ve done everything related to the packets in order,
f. In step 31, the current maximum sequence number is set to the sequence number of the received packet.

順序の乱れたパケット(現時点で受信済みのパケットの最大シーケンス番号sより若いシーケンス番号のパケット)が到着したら、
g.受信したパケットの番号は循環バッファに格納されている番号と比較され、ステップ32で、バッファ内の対応する記録が消去される(すなわち、ゼロに設定する)。
When an out-of-order packet (a packet with a sequence number lower than the maximum sequence number s of currently received packets) arrives,
g. The number of the received packet is compared with the number stored in the circular buffer, and in step 32 the corresponding record in the buffer is erased (ie set to zero).

したがって、検出レイテンシーは、バッファ・チェーンのサイズmで決まる。これは、ポインタが、空でないバッファを再度ポインタした場合(すなわち、Fがゼロでない場合)のみ、損失の宣言が行われるからである。 Accordingly, the detection latency is determined by the size m of the buffer chain. This pointer, when the pointer again the buffer is not empty (i.e., if F 2 is not zero) only, because the declaration of the loss takes place.

図3に示すように、検出レイテンシーを決定するチェーン・サイズmが適合されることができる。例えば、好ましい実施形態では、最初はm=4である。観測された、宣言の誤り率が所定のしきい値より高い場合、すなわち、
false_rate>TOLERABLE_RATE
である場合は、長さが短すぎる可能性があり、新しいバッファを挿入してmをそれ相応の36に適応することよって長くする必要があろう。ネットワーク経路が長いほど(すなわち、トラバースするリンクの数が多いほど)、mを大きくする必要がある。これは、パケットがトラバースするネットワーク経路が長いほど、到着順序の乱れが発生する可能性が高くなるからである。mの値が大きいほど、ポインタPがバッファ・チェーンB11内を循環するときに、ポインタPがバッファ内で、送達されたが順序が乱れているパケットと遭遇する可能性は低くなる。
As shown in FIG. 3, the chain size m that determines the detection latency can be adapted. For example, in a preferred embodiment, initially m = 4. If the observed error rate of the declaration is higher than a predetermined threshold, ie
false_rate> TOLERABLE_RATE
The length may be too short, and it may be necessary to lengthen it by inserting a new buffer and adapting m to the corresponding 36. The longer the network path (ie, the more links that are traversed), the larger m needs to be. This is because the longer the network path that a packet traverses, the more likely it is that the arrival order will be disrupted. The greater the value of m, the less likely it will encounter a packet that has been delivered but out of order in the buffer when the pointer P circulates in the buffer chain B i 11.

success_rateは、当初、事前に決定されたEXPECT_RATEとして宣言され、その後、次のように調整される。

Figure 2006510255
false_rate=1−success_rate
成功率が高すぎる場合、すなわち、
success_rate>EXPECT_RATE
である場合は、バッファ・チェーンの長さが長すぎる可能性があり、図3に示すように、バッファを削除することによって短くする必要があろう。 success_rate is initially declared as a predetermined EXPECT_RATE, and then adjusted as follows.
Figure 2006510255
false_rate = 1-success_rate
If the success rate is too high, ie
success_rate> EXPECT_RATE
The buffer chain may be too long and would need to be shortened by deleting the buffer as shown in FIG.

本発明は、ネットワークに接続された記憶装置にあるメディアを再生するマルチメディア・プレーヤの実装において用いることができる。あるいは、エラー回復手段として再送信を行う必要がある(したがって、パケット損失検出を実行しなければならない)任意のタイプのマルチメディア・レシーバで用いることができる。最後に、パケット損失検出を受信側で行う、転送制御プロトコルの実装でも用いることができる。   The present invention can be used in the implementation of a multimedia player that plays media in a storage device connected to a network. Alternatively, it can be used with any type of multimedia receiver that needs to retransmit as an error recovery measure (and therefore must perform packet loss detection). Finally, it can also be used in the implementation of a transfer control protocol in which packet loss detection is performed on the receiving side.

ここまで説明し、図で示した、本発明の方法およびシステムは、検出レイテンシーを適応型または固定にすることができる循環バッファを実現するためのものである。当業者であれば、本発明の趣旨または範囲から逸脱することなく、本発明の方法およびシステムの様々な修正や変形が可能であることは自明であろう。したがって、本発明は、添付の特許請求項ならびにその均等物の範囲内にある修正や変形を含むものとする。   The method and system of the present invention described and illustrated above is for implementing a circular buffer that can make the detection latency adaptive or fixed. It will be apparent to those skilled in the art that various modifications and variations can be made in the method and system of the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention include modifications and variations that are within the scope of the appended claims and their equivalents.

本発明の循環バッファ構成の好ましい実施形態を示す図である。FIG. 3 shows a preferred embodiment of the circular buffer configuration of the present invention. 図1aに示した循環バッファの各バッファの構成を示す図である。It is a figure which shows the structure of each buffer of the circular buffer shown to FIG. 1a. 図1aおよびbに示した循環バッファ構成を実現するアルゴリズムの好ましい実施形態を示す図である。FIG. 2 shows a preferred embodiment of an algorithm implementing the circular buffer configuration shown in FIGS. 1a and b. 図2aに示したアルゴリズムのフローチャートである。2b is a flowchart of the algorithm shown in FIG. 2a. 循環バッファ・チェーンの構成をネットワーク特性に基づいて適応させるアルゴリズムの好ましい実施形態を示す図である。FIG. 3 shows a preferred embodiment of an algorithm for adapting the configuration of a circular buffer chain based on network characteristics.

Claims (14)

ネットワークを経由して所与の送信側から受信側に送信された複数のストリーミング・パケット(streamed packet)の前記受信側がストリーミング・パケット損失の適応検出を行うためのシステムであって、
各エントリが、受信されていない、失われた可能性のあるストリーミング・パケットのシーケンス番号を多くとも1つ有する、サイズがm>1エントリである循環バッファと、
前記循環バッファを用いて、受信されていない、失われた可能性のあるシーケンス番号を検出して前記循環バッファに格納することと、失われたパケットのシーケンス番号を前記循環バッファ内で検出して前記循環バッファから除去し、前記パケットが失われたことを宣言することと、前記所与の送信側から受信された、失われた可能性のあるパケットのシーケンス番号を前記循環バッファから除去することとを行うパケット損失検出モジュールと、
ネットワーク条件に前記システムを適応させる適応モジュールとを含み、
損失検出レイテンシーが前記循環バッファのサイズmで決まり、前記損失宣言が誤りである可能性があるシステム。
A system for allowing said receiving side of a plurality of streaming packets transmitted from a given sending side to a receiving side via a network to perform adaptive detection of streaming packet loss,
A circular buffer of size m> 1 entries, each entry having at most one sequence number of a potentially lost streaming packet that has not been received;
Using the circular buffer, a sequence number that has not been received and that may have been lost is detected and stored in the circular buffer, and a sequence number of a lost packet is detected in the circular buffer. Removing from the circular buffer, declaring that the packet is lost, and removing from the circular buffer the sequence number of the potentially lost packet received from the given sender. A packet loss detection module that performs
An adaptation module adapted to adapt the system to network conditions;
A system in which a loss detection latency is determined by the size m of the circular buffer, and the loss declaration may be incorrect.
mの初期設定値が4である、請求項1に記載のシステム。   The system according to claim 1, wherein an initial setting value of m is four. 初期値が1であり、前記ネットワークを経由して前記所与の送信側から送信され前記受信側によって受信されたストリーミング・パケットの最大シーケンス番号を格納するように適応された変数sと、
循環チェーン内のあらかじめ定められた位置を指す初期位置を有し、順序において前記変数sに対応するエントリの次である、前記循環バッファ内のエントリから始めて、前記循環バッファのm個のエントリを順に循環するように適応されたポインタPとをさらに含み、
前記所与の送信側から受信されたストリーミング・パケットに対し、前記パケット損失検出モジュールが、前記受信されたパケットのシーケンス番号を前記変数sと照合し、
a.受信されたパケットのシーケンスにおいて、前記ポインタPによって指されている位置から始まる欠落が見つかった場合は、前記欠落にある、前記循環バッファの各エントリが、失われた可能性のあるパケットのシーケンス番号について検査され、対応するパケットが失われたと宣言され、宣言された損失の総数declared_lossesが1増やされ、前記欠落にある各シーケンス番号が、前記ポインタPによって指されている位置から始まるシーケンシャル・エントリに昇順に格納され、Pが、欠落の次にある、前記循環バッファ内のエントリを指すように更新され、sが、前記受信されたパケット(pkt)のシーケンス番号と同じに設定されること、
b.受信されたパケットのシーケンスにおいて欠落が見られない場合は、前記ポインタPによって指されているエントリが、失われた可能性のあるパケットのシーケンス番号について検査され、対応するパケットが失われたと宣言され、宣言された損失の総数declared_lossesが1増やされ、前記エントリがクリアされ、Pが、前記循環バッファ内の次のエントリを指すように更新され、sが、前記受信されたパケットのシーケンス番号と同じに設定されること、
c.パケットの順序の乱れが見つかった場合は、前記受信されたパケットのシーケンス番号と同じシーケンス番号を含むエントリを見つけるために前記循環バッファのエントリが検索され、見つかった場合は、前記エントリがクリアされ、見つからない場合は、宣言の誤り率false_declared_lossesが1増やされることのいずれかを実施する、請求項1に記載のシステム。
A variable s having an initial value of 1 and adapted to store a maximum sequence number of a streaming packet transmitted from the given sender via the network and received by the receiver;
Starting with the entry in the circular buffer that has an initial position that points to a predetermined position in the circular chain and is next to the entry corresponding to the variable s in order, the m entries in the circular buffer are sequentially And a pointer P adapted to circulate,
For a streaming packet received from the given sender, the packet loss detection module checks the sequence number of the received packet against the variable s;
a. In the received packet sequence, if a missing is found starting from the position pointed to by the pointer P, the sequence number of the packet in which each entry in the circular buffer in the missing may have been lost And the corresponding packet is declared lost, the declared declared total declared_losses is incremented by 1, and each sequence number in the missing is in a sequential entry starting from the position pointed to by the pointer P. Stored in ascending order, P is updated to point to the entry in the circular buffer next to the missing, and s is set equal to the sequence number of the received packet (pkt);
b. If there is no missing in the sequence of received packets, the entry pointed to by the pointer P is examined for the sequence number of the packet that may have been lost and the corresponding packet is declared lost. The total declared loss declared_losses is incremented by 1, the entry is cleared, P is updated to point to the next entry in the circular buffer, and s is the same as the sequence number of the received packet To be set to
c. If an out-of-order packet is found, the circular buffer entry is searched to find an entry containing the same sequence number as the received packet sequence number, and if found, the entry is cleared; The system according to claim 1, wherein if it is not found, the error rate false_declared_losses of the declaration is increased by one.
前記ネットワーク条件が送信成功率(success_rate)と宣言の誤り率(false_rate)のうちの少なくとも1つであり、前記成功率は、あらかじめ定められた期待率(EXPECT_RATE)に初期設定され、
前記適応モジュールが、前記ネットワーク条件に応じて前記循環バッファのサイズmを調整し、
a.false_rate>TOLERABLE_RATEの場合(TOLERABLE_RATEはあらかじめ定められたしきい値)は、mを増やし、前記循環バッファにエントリを追加し、
b.
Figure 2006510255
の場合は、mを減らし、前記循環バッファからエントリを除去する、請求項3に記載のシステム。
The network condition is at least one of a transmission success rate (success_rate) and a declaration error rate (false_rate), and the success rate is initially set to a predetermined expectation rate (EXPECT_RATE),
The adaptation module adjusts the size m of the circular buffer according to the network conditions;
a. If false_rate> TOLERABLE_RATE (TOLERABLE_RATE is a predetermined threshold), m is increased, an entry is added to the circular buffer,
b.
Figure 2006510255
4. The system of claim 3, wherein m is reduced and entries are removed from the circular buffer.
前記循環バッファが複数の(m>1個の)バッファの循環バッファ・チェーンB(i=1,...,m)であり、その結果、前記複数のバッファのそれぞれが、前記チェーン内の次のバッファへのポインタと、未受信バッファのシーケンス番号を格納する値とを含むエントリであり、前記ポインタPが前記チェーン内のバッファを指す、請求項4に記載のシステム。 The circular buffer is a circular buffer chain B i (i = 1,..., M) of multiple (m> 1) buffers, so that each of the multiple buffers is in the chain The system of claim 4, wherein the system includes an entry including a pointer to a next buffer and a value storing a sequence number of an unreceived buffer, and the pointer P points to a buffer in the chain. ネットワークを経由して所与の送信側から受信側に送信された複数のストリーミング・パケットの前記受信側がストリーミング・パケット損失の適応検出を行うためのシステムであって、
各エントリが、受信されていない、失われた可能性のあるストリーミング・パケットのシーケンス番号を多くとも1つ有する、サイズがm>1エントリである循環バッファと、
前記循環バッファを用いて、受信されていない、失われた可能性のあるシーケンス番号を検出して前記循環バッファに格納すること、失われたパケットのシーケンス番号を前記循環バッファ内で検出して前記循環バッファから除去し、前記パケットが失われたことを宣言すること、および、前記所与の送信側から受信された、失われた可能性のあるパケットのシーケンス番号を前記循環バッファから除去することを行うパケット損失検出モジュールと、
前記システムをネットワーク条件に適応させる手段とを含み、
損失検出レイテンシーが前記循環バッファのサイズmで決まり、前記損失宣言が誤りである可能性があるシステム。
A system for allowing said receiver of a plurality of streaming packets transmitted from a given sender to a receiver via a network to perform adaptive detection of streaming packet loss,
A circular buffer of size m> 1 entries, each entry having at most one sequence number of a potentially lost streaming packet that has not been received;
Using the circular buffer, a sequence number that has not been received and that may have been lost is detected and stored in the circular buffer, and a sequence number of a lost packet is detected in the circular buffer and the sequence number is detected. Removing from the circular buffer, declaring that the packet is lost, and removing from the circular buffer the sequence number of the potentially lost packet received from the given sender A packet loss detection module that performs
Means for adapting the system to network conditions;
A system in which a loss detection latency is determined by the size m of the circular buffer, and the loss declaration may be incorrect.
初期値が1であり、前記ネットワークを経由して前記所与の送信側から送信され前記受信側によって受信されたストリーミング・パケットの最大シーケンス番号を格納するように適応された変数sと、
循環チェーン内のあらかじめ定められた位置を指す初期位置を有し、順序において前記変数sに対応するエントリの次である、前記循環バッファ内のエントリから始めて、前記循環バッファのm個のエントリを順に循環するように適応されたポインタPとをさらに含み、
前記所与の送信側から受信されたストリーミング・パケットに対し、前記パケット損失検出モジュールが、前記受信されたパケットのシーケンス番号を前記変数sと照合し、
a.受信されたパケットのシーケンスにおいて、前記ポインタPによって指されている位置から始まる欠落が見つかった場合は、前記欠落にある、前記循環バッファの各エントリが、失われた可能性のあるパケットのシーケンス番号について検査され、対応するパケットが失われたと宣言され、宣言された損失の総数declared_lossesが1増やされ、前記欠落にある各シーケンス番号が、前記ポインタPによって指されている位置から始まるシーケンシャル・エントリに昇順に格納され、Pが、欠落の次にある、前記循環バッファ内のエントリを指すように更新され、sが、前記受信されたパケット(pkt)のシーケンス番号と同じに設定されることと、
b.受信されたパケットのシーケンスにおいて欠落が見られない場合は、前記ポインタPによって指されているエントリが、失われた可能性のあるパケットのシーケンス番号について検査され、対応するパケットが失われたと宣言され、宣言された損失の総数declared_lossesが1増やされ、前記エントリがクリアされ、Pが、前記循環バッファ内の次のエントリを指すように更新され、sが、前記受信されたパケットのシーケンス番号と同じに設定されることと、
c.パケットの順序の乱れが見つかった場合は、前記受信されたパケットのシーケンス番号と同じシーケンス番号を含むエントリを見つけるために前記循環バッファのエントリが検索され、見つかった場合は、前記エントリがクリアされ、見つからない場合は、宣言の誤り率false_declared_lossesが1増やされることとのいずれかを実施する、請求項6に記載のシステム。
A variable s having an initial value of 1 and adapted to store a maximum sequence number of a streaming packet transmitted from the given sender via the network and received by the receiver;
Starting with the entry in the circular buffer that has an initial position that points to a predetermined position in the circular chain and is next to the entry corresponding to the variable s in order, the m entries in the circular buffer are sequentially And a pointer P adapted to circulate,
For a streaming packet received from the given sender, the packet loss detection module checks the sequence number of the received packet against the variable s;
a. In the received packet sequence, if a missing is found starting from the position pointed to by the pointer P, the sequence number of the packet in which each entry in the circular buffer in the missing may have been lost And the corresponding packet is declared lost, the declared declared total declared_losses is incremented by 1, and each sequence number in the missing is in a sequential entry starting from the position pointed to by the pointer P. Stored in ascending order, P is updated to point to the entry in the circular buffer next to the missing, and s is set equal to the sequence number of the received packet (pkt);
b. If there is no missing in the sequence of received packets, the entry pointed to by the pointer P is examined for the sequence number of the packet that may have been lost and the corresponding packet is declared lost. The total declared loss declared_losses is incremented by 1, the entry is cleared, P is updated to point to the next entry in the circular buffer, and s is the same as the sequence number of the received packet To be set to
c. If an out-of-order packet is found, the circular buffer entry is searched to find an entry containing the same sequence number as the received packet sequence number, and if found, the entry is cleared; The system according to claim 6, wherein if not found, the error rate false_declared_losses of the declaration is increased by one.
ネットワークを経由して所与の送信側から受信側に送信された複数のストリーミング・パケットの前記受信側によりストリーミング・パケット損失の適応検出を行う方法であって、
各エントリが、受信されていない、失われた可能性のあるストリーミング・パケットのシーケンス番号を多くとも1つ有する、サイズがm>1エントリである循環バッファを提供するステップと、
前記所与の送信側から、シーケンス番号を有するストリーミング・パケットを受信するステップと、
前記循環バッファと、前記受信されたパケットのシーケンス番号とを用いて、
a.受信されていない、失われた可能性があるパケットのシーケンス番号を検出して前記循環バッファ内に格納するステップと、
b.失われたパケットのシーケンス番号を前記循環バッファ内で検出して前記循環バッファから除去し、前記パケットが失われたと宣言し、その結果、前記損失宣言が誤りの可能性があるものとするステップと、
c.前記受信されたパケットのシーケンス番号と対応する、失われた可能性のあるパケットのシーケンス番号を前記循環バッファから除去するステップとのいずれか1つを実行するステップと、のいずれか一つと、
損失検出レイテンシーが前記循環バッファのサイズmで決まるネットワーク条件に前記方法を適応させるステップと、を含む方法。
A method for adaptively detecting streaming packet loss by the receiving side of a plurality of streaming packets transmitted from a given sending side to a receiving side via a network, comprising:
Providing a circular buffer with a size of m> 1 entries, each entry having at most one sequence number of a potentially lost streaming packet that has not been received;
Receiving a streaming packet having a sequence number from the given sender;
Using the circular buffer and the sequence number of the received packet,
a. Detecting and storing in the circular buffer a sequence number of a packet that has not been received and that may have been lost;
b. Detecting the sequence number of the lost packet in the circular buffer and removing it from the circular buffer, declaring that the packet is lost, so that the loss declaration may be erroneous; and ,
c. Performing any one of the steps of: removing from the circular buffer a sequence number of a possibly lost packet corresponding to the sequence number of the received packet;
Adapting the method to network conditions where loss detection latency is determined by the size m of the circular buffer.
初期値が1である変数sを提供するステップと、
前記提供された変数sを、前記受信されたストリーミング・パケットのうちシーケンス番号の大きいsに設定するステップと、
前記循環バッファ内のあらかじめ定められた位置を指す初期位置を有し、順序において前記変数sに対応するエントリの次である、前記循環バッファ内のエントリから始めて、前記提供された循環バッファのm個のエントリを順に循環するように適応されたポインタPを提供するステップと、
前記所与の送信側から受信されたストリーミング・パケットに対し、前記受信されたパケットのシーケンス番号を前記変数sと照合し、
a.受信されたパケットのシーケンスにおいて、前記ポインタPによって指されている位置から始まる欠落が見つかった場合は、
a.1 前記欠落にある、前記循環バッファの各エントリを、失われた可能性のあるパケットのシーケンス番号について検査し、対応するパケットが失われたと宣言し、
a.2 パケットが失われたと宣言された場合は、宣言された損失の総数declared_lossesを1増やし、
a.3 前記欠落にある各シーケンス番号を、前記ポインタPによって指されている位置から始まるシーケンシャル・エントリに昇順に格納し、
a.4 前記ポインタPを、欠落の次にある、前記循環バッファ内のエントリを指すように更新し、
a.5 sを、前記受信されたパケットのシーケンス番号と同じに設定するステップと、
b.受信されたパケットのシーケンスにおいて欠落が見られない場合は、
b.1 前記ポインタPによって指されているエントリを、失われた可能性のあるパケットのシーケンス番号について検査し、対応するパケットが失われたと宣言し、
b.2 パケットが失われたと宣言された場合は、宣言された損失の総数declared_lossesを1増やし、
b.3 Pによって指されているエントリをクリアし、
b.4 Pを、前記循環バッファ内の次のエントリを指すように更新し、
b.5 sを、前記受信されたパケットのシーケンス番号と同じに設定するステップと、
c.パケットの順序の乱れが見つかった場合は、
c.1 前記受信されたパケットのシーケンス番号と同じシーケンス番号を含むエントリを見つけるために前記循環バッファのエントリを検索し、
c.2 見つかった場合は、前記エントリをクリアし、
c.3 見つからない場合は、宣言の誤り率falsely_declared_lossesを1増やすステップとのいずれか1つを実行するステップとをさらに含む、請求項8に記載の方法。
Providing a variable s having an initial value of 1;
Setting the provided variable s to s with a higher sequence number in the received streaming packet;
Starting with the entry in the circular buffer having an initial position pointing to a predetermined position in the circular buffer and being next to the entry corresponding to the variable s in order, m of the provided circular buffers Providing a pointer P adapted to cycle through the entries of
For a streaming packet received from the given sender, match the sequence number of the received packet with the variable s;
a. In the received sequence of packets, if a loss is found starting from the position pointed to by the pointer P,
a. 1 Check each entry in the circular buffer in the missing for the sequence number of a packet that may have been lost, declare the corresponding packet lost,
a. 2 If a packet is declared lost, increase the declared declared total lost_losses by 1,
a. 3 store each missing sequence number in ascending order in a sequential entry starting from the position pointed to by the pointer P;
a. 4 Update the pointer P to point to the entry in the circular buffer next to the missing,
a. Setting 5 s to be the same as the sequence number of the received packet;
b. If there is no missing in the received packet sequence,
b. 1 Check the entry pointed to by the pointer P for the sequence number of the packet that may have been lost, declare the corresponding packet lost,
b. 2 If a packet is declared lost, increase the declared declared total lost_losses by 1,
b. 3 Clear the entry pointed to by P,
b. 4 P is updated to point to the next entry in the circular buffer;
b. Setting 5 s to be the same as the sequence number of the received packet;
c. If you find out-of-order packets,
c. 1. Search the circular buffer entry to find an entry containing a sequence number that is the same as the sequence number of the received packet;
c. 2 If found, clear the entry,
c. 3. The method according to claim 8, further comprising: performing one of the steps of increasing the error rate fallyly_declared_losses of the declaration by 1 if not found.
前記ネットワーク条件が送信成功率(success_rate)と宣言の誤り率(false_rate)のうちの少なくとも1つであり、前記成功率は、あらかじめ定められた期待率(EXPECT_RATE)に初期設定され、
前記適応ステップが、
d.false_rate>TOLERABLE_RATEの場合(TOLERABLE_RATEはあらかじめ定められたしきい値)には、
d.1 mを1増やし、
d.2 前記循環バッファにエントリを追加するステップを実行し、
e.success_rate>EXPECT_RATEの場合には、
e.1 mを1減らし、
e.2 前記循環バッファからエントリを除去するステップのいずれか1つを実行することによって、ネットワーク条件に応じて前記循環バッファのサイズmを調整する、請求項9に記載の方法。
The network condition is at least one of a transmission success rate (success_rate) and a declaration error rate (false_rate), and the success rate is initially set to a predetermined expectation rate (EXPECT_RATE),
Said adapting step comprises:
d. If false_rate> TOLERABLE_RATE (TOLERABLE_RATE is a predetermined threshold),
d. Increase 1 m by 1
d. 2 performing the step of adding an entry to the circular buffer;
e. If success_rate> EXPECT_RATE,
e. 1m is reduced by 1,
e. 2. The method of claim 9, wherein the size m of the circular buffer is adjusted according to network conditions by performing any one of the steps of removing entries from the circular buffer.
mの初期設定値が4である、請求項9に記載の方法。   The method according to claim 9, wherein an initial setting value of m is four. ネットワークを経由して所与の送信側から受信側に送信された複数のストリーミング・パケットの前記受信側によるストリーミング・パケット損失の検出を適応させるためにプロセッサと共に用いるコンピュータ・プログラムであって、コンピュータ可読記憶媒体と、前記コンピュータ可読記憶媒体に埋め込まれたコンピュータ・プログラム機構とを含み、前記コンピュータ・プログラム機構が、
各エントリが、受信されていない、失われた可能性のあるストリーミング・パケットのシーケンス番号を多くとも1つ有する、サイズがm>1エントリである循環バッファと、
前記循環バッファを用いて、受信されていない、失われた可能性のあるシーケンス番号を検出して前記循環バッファに格納し、失われたパケットのシーケンス番号を前記循環バッファ内で検出して前記循環バッファから除去し、前記パケットが失われたことを宣言し、前記所与の送信側から受信された、失われた可能性のあるパケットのシーケンス番号を前記循環バッファから除去するための命令を含むパケット損失検出ルーチンと、
前記システムをネットワーク条件に適応させる命令を含む適応ルーチンとを含み、
損失検出レイテンシーが前記循環バッファのサイズmで決まり、前記損失宣言が誤りである可能性があるコンピュータ・プログラム。
A computer program for use with a processor for adapting detection of streaming packet loss by a receiver of a plurality of streaming packets transmitted from a given sender to a receiver over a network, the computer readable A storage medium; and a computer program mechanism embedded in the computer readable storage medium, the computer program mechanism comprising:
A circular buffer of size m> 1 entries, each entry having at most one sequence number of a potentially lost streaming packet that has not been received;
Using the circular buffer, a sequence number which has not been received and which may have been lost is detected and stored in the circular buffer, and a sequence number of a lost packet is detected in the circular buffer and the circular buffer is detected. Includes instructions for removing from the buffer, declaring that the packet is lost, and removing from the circular buffer the sequence number of the possibly lost packet received from the given sender A packet loss detection routine;
An adaptation routine including instructions for adapting the system to network conditions;
A computer program in which the loss detection latency is determined by the size m of the circular buffer and the loss declaration may be erroneous.
初期値が1であり、前記ネットワークを経由して前記所与の送信側から送信され前記受信側によって受信されたストリーミング・パケットの最大シーケンス番号を格納するように適応された変数sと、
循環チェーン内のあらかじめ定められた位置を指す初期位置を有し、順序において前記変数sに対応するエントリの次である、前記循環バッファ内のエントリから始めて、前記循環バッファのm個のエントリを順に循環するように適応されたポインタPとをさらに含み、
前記所与の送信側から受信されたストリーミング・パケットに対し、前記パケット損失検出ルーチンの命令により、前記受信されたパケットのシーケンス番号を前記変数sと照合し、
a.受信されたパケットのシーケンスにおいて、前記ポインタPによって指されている位置から始まる欠落が見つかった場合は、前記欠落にある、前記循環バッファの各エントリが、失われた可能性のあるパケットのシーケンス番号について検査され、対応するパケットが失われたと宣言され、宣言された損失の総数declared_lossesが1増やされ、前記欠落にある各シーケンス番号が、前記ポインタPによって指されている位置から始まるシーケンシャル・エントリに昇順に格納され、Pが、欠落の次にある、前記循環バッファ内のエントリを指すように更新され、sが、前記受信されたパケット(pkt)のシーケンス番号と同じに設定されること、
b.受信されたパケットのシーケンスにおいて欠落が見られない場合は、前記ポインタPによって指されているエントリが、失われた可能性のあるパケットのシーケンス番号について検査され、対応するパケットが失われたと宣言され、宣言された損失の総数declared_lossesが1増やされ、前記エントリがクリアされ、Pが、前記循環バッファ内の次のエントリを指すように更新され、sが、前記受信されたパケットのシーケンス番号と同じに設定されること、
c.パケットの順序の乱れが見つかった場合は、前記受信されたパケットのシーケンス番号と同じシーケンス番号を含むエントリを見つけるために前記循環バッファのエントリが検索され、見つかった場合は、前記エントリがクリアされ、見つからない場合は、宣言の誤り率falsely_declared_lossesが1増やされ、宣言された損失の総数declared_lossesが1減らされることのいずれかを実行する、請求項12に記載のコンピュータ・プログラム。
A variable s having an initial value of 1 and adapted to store a maximum sequence number of a streaming packet transmitted from the given sender via the network and received by the receiver;
Starting with the entry in the circular buffer that has an initial position that points to a predetermined position in the circular chain and is next to the entry corresponding to the variable s in order, the m entries in the circular buffer are sequentially And a pointer P adapted to circulate,
For a streaming packet received from the given sender, the sequence of the received packet is checked against the variable s according to the instruction of the packet loss detection routine,
a. In the received packet sequence, if a missing is found starting from the position pointed to by the pointer P, the sequence number of the packet in which each entry in the circular buffer in the missing may have been lost And the corresponding packet is declared lost, the declared declared total declared_losses is incremented by 1, and each sequence number in the missing is in a sequential entry starting from the position pointed to by the pointer P. Stored in ascending order, P is updated to point to the entry in the circular buffer next to the missing, and s is set equal to the sequence number of the received packet (pkt);
b. If there is no missing in the sequence of received packets, the entry pointed to by the pointer P is examined for the sequence number of the packet that may have been lost and the corresponding packet is declared lost. The total declared loss declared_losses is incremented by 1, the entry is cleared, P is updated to point to the next entry in the circular buffer, and s is the same as the sequence number of the received packet To be set to
c. If an out-of-order packet is found, the circular buffer entry is searched to find an entry containing the same sequence number as the received packet sequence number, and if found, the entry is cleared; 13. The computer program product according to claim 12, wherein if not found, the error rate of the declaration falsely_declared_losses is increased by 1 and the total declared loss of lost_losses is reduced by one.
前記ネットワーク条件が送信成功率(success_rate)と宣言の誤り率(false_rate)のうちの少なくとも1つであり、前記成功率は、あらかじめ定められた期待率(EXPECT_RATE)に初期設定され、
前記適応ルーチンが、以下の前記ネットワーク条件に応じて前記循環バッファのサイズmを調整する、すなわち、
a.false_rate>TOLERABLE_RATEの場合(TOLERABLE_RATEはあらかじめ定められたしきい値)は、mが増やされ、前記循環バッファにエントリが追加され、
b.
Figure 2006510255
の場合は、mが減らされ、前記循環バッファからエントリが除去される、請求項13に記載のコンピュータ・プログラム。
The network condition is at least one of a transmission success rate (success_rate) and a declaration error rate (false_rate), and the success rate is initially set to a predetermined expectation rate (EXPECT_RATE),
The adaptation routine adjusts the size m of the circular buffer according to the network conditions:
a. If false_rate> TOLERABLE_RATE (TOLERABLE_RATE is a predetermined threshold), m is increased and an entry is added to the circular buffer;
b.
Figure 2006510255
The computer program product of claim 13, wherein m is decremented and entries are removed from the circular buffer.
JP2004558299A 2002-12-12 2003-12-10 System and method for detecting packet loss in a streaming application using a circular buffer Withdrawn JP2006510255A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43289302P 2002-12-12 2002-12-12
PCT/IB2003/005879 WO2004054183A1 (en) 2002-12-12 2003-12-10 A system and method using a circular buffer for detecting packet loss in streaming applications

Publications (1)

Publication Number Publication Date
JP2006510255A true JP2006510255A (en) 2006-03-23

Family

ID=32508008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004558299A Withdrawn JP2006510255A (en) 2002-12-12 2003-12-10 System and method for detecting packet loss in a streaming application using a circular buffer

Country Status (5)

Country Link
EP (1) EP1573985A1 (en)
JP (1) JP2006510255A (en)
CN (1) CN1726677A (en)
AU (1) AU2003302800A1 (en)
WO (1) WO2004054183A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021117171A1 (en) * 2019-12-11 2021-06-17

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100502327C (en) * 2006-09-29 2009-06-17 Ut斯达康通讯有限公司 A method, device and system used to detect frame loss of lub FP frame based on IP transmission
CN101471849B (en) 2007-12-29 2011-04-06 华为技术有限公司 Protection method for packet transmission network
US10348634B2 (en) * 2015-12-22 2019-07-09 Intel Corporation Technologies for tracking out-of-order network packets

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151899A (en) * 1991-02-11 1992-09-29 Digital Equipment Corporation Tracking sequence numbers in packet data communication system
US6141324A (en) * 1998-09-01 2000-10-31 Utah State University System and method for low latency communication
GB0103381D0 (en) * 2001-02-12 2001-03-28 Eyretel Ltd Packet data recording method and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021117171A1 (en) * 2019-12-11 2021-06-17
WO2021117171A1 (en) * 2019-12-11 2021-06-17 日本電信電話株式会社 Data sequence correction method, packet monitoring device, data sequence correction device, and data sequence correction program
JP7197026B2 (en) 2019-12-11 2022-12-27 日本電信電話株式会社 DATA ORDER CORRECTION METHOD, PACKET MONITORING DEVICE, DATA ORDER CORRECTION DEVICE, AND DATA ORDER CORRECTION PROGRAM

Also Published As

Publication number Publication date
WO2004054183A1 (en) 2004-06-24
AU2003302800A1 (en) 2004-06-30
EP1573985A1 (en) 2005-09-14
CN1726677A (en) 2006-01-25

Similar Documents

Publication Publication Date Title
US20060069793A1 (en) System and method using a circular buffer for detecting packet loss in streaming applications
CN109787722B (en) Data transmission method and device and server
CA2397778C (en) Data discard mechanism for selective repeat protocol
US7164680B2 (en) Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
KR100772528B1 (en) Method and apparatus for efficient packet retransmission in wired/wireless network
CN114024914B (en) Video data transmission method and device and electronic equipment
US20030103459A1 (en) Method and implementation for a flow specific modified selective-repeat ARQ communication system
US20030108045A1 (en) Methods and apparatus for partially reordering data packets
US20080031240A1 (en) Data matching using flow based packet data storage
CN107592185B (en) Forward retransmission method suitable for network coding transmission control protocol
CA2466231A1 (en) Time-aware best-effort hole-filling retry method and system for network communications
JP2004297742A (en) Communication device, communication control method and program
KR20030060062A (en) Window based stall avoidance mechanism for high speed wireless communication system
CN112235234A (en) Data processing method and device, electronic equipment and computer readable storage medium
US20060179392A1 (en) Handshakeless retransmission protocol
KR20070106985A (en) Data flow control with duplicate acknowledgment
JP2007336551A (en) Method and device for submitting at least one tcp data segment stream to in-line content analysis, computer readable medium holding one or more instruction sequence for implementing the method, and computer program product
US9621325B1 (en) Method and apparatus for reliable data transmission and reception
JP2006287925A (en) Error recovery mechanism and network element including the same
EP1526701A1 (en) Methods and devices for transferring and for recovering data packets
US7773620B2 (en) Method, system, and program for overrun identification
US11283719B2 (en) Content addressable memory (CAM) based hardware architecture for datacenter networking
JP2006510255A (en) System and method for detecting packet loss in a streaming application using a circular buffer
CN114500672A (en) Data transmission method and system
US6957374B1 (en) Method of acknowledging receipt of data packets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061208

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070516

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080325