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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
- H04L49/9052—Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9031—Wraparound 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個のバッファBi10(i=1,...,m)の環状に連結された並びを形成している。各バッファの構成12を図1bに示す。図1aに示すように、mは、損失検出レイテンシーを決定する、循環チェーンの長さであり、ネットワーク条件およびアプリケーション要件に適応させることができる。P11は、チェーン内を循環して、各バッファを順に指すポインタである。チェーン内の各バッファBi10は、2つのフィールドF113およびF214を含む。F113は、次のバッファへのポインタを格納する。F214は、失われた可能性のあるパケットのシーケンス番号を格納する。
Referring to FIG. 1a, buffers from 1 to m form a circularly linked array of m buffers B i 10 (i = 1,..., M). The
ストリーミング・アプリケーションでは、パケットは、パケット・シーケンス番号の順に送信されると想定される。無損失かつ理想的な状況では、到着するパケットのシーケンス番号は、必ず、前に到着したパケットのシーケンス番号より大きい。パケットの到着順序が乱れた場合やパケットが失われた場合は、受信したパケットのシーケンス番号に欠落や隔たりが見られる。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は、バッファBi11のチェーン内を循環する。この循環は、ステップ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
受信したパケットが順序の乱れたパケットでない場合は、ステップ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,
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
b. Next, regardless of whether P points to an unreceived packet, at
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
e. Regardless of whether P-> F2 points to an unreceived packet, at
順序どおりのパケットに関連する処理がすべて完了したら、
f.ステップ31で、現時点での最大シーケンス番号が、受信したパケットのシーケンス番号に設定される。
Once you ’ve done everything related to the packets in order,
f. In
順序の乱れたパケット(現時点で受信済みのパケットの最大シーケンス番号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で決まる。これは、ポインタが、空でないバッファを再度ポインタした場合(すなわち、F2がゼロでない場合)のみ、損失の宣言が行われるからである。 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がバッファ・チェーンBi11内を循環するときに、ポインタ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
success_rateは、当初、事前に決定されたEXPECT_RATEとして宣言され、その後、次のように調整される。
成功率が高すぎる場合、すなわち、
success_rate>EXPECT_RATE
である場合は、バッファ・チェーンの長さが長すぎる可能性があり、図3に示すように、バッファを削除することによって短くする必要があろう。
success_rate is initially declared as a predetermined EXPECT_RATE, and then adjusted as follows.
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.
Claims (14)
各エントリが、受信されていない、失われた可能性のあるストリーミング・パケットのシーケンス番号を多くとも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.
循環チェーン内のあらかじめ定められた位置を指す初期位置を有し、順序において前記変数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.
前記適応モジュールが、前記ネットワーク条件に応じて前記循環バッファのサイズmを調整し、
a.false_rate>TOLERABLE_RATEの場合(TOLERABLE_RATEはあらかじめ定められたしきい値)は、mを増やし、前記循環バッファにエントリを追加し、
b.
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.
各エントリが、受信されていない、失われた可能性のあるストリーミング・パケットのシーケンス番号を多くとも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.
循環チェーン内のあらかじめ定められた位置を指す初期位置を有し、順序において前記変数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.
前記提供された変数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.
前記適応ステップが、
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.
各エントリが、受信されていない、失われた可能性のあるストリーミング・パケットのシーケンス番号を多くとも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.
循環チェーン内のあらかじめ定められた位置を指す初期位置を有し、順序において前記変数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.
前記適応ルーチンが、以下の前記ネットワーク条件に応じて前記循環バッファのサイズmを調整する、すなわち、
a.false_rate>TOLERABLE_RATEの場合(TOLERABLE_RATEはあらかじめ定められたしきい値)は、mが増やされ、前記循環バッファにエントリが追加され、
b.
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021117171A1 (en) * | 2019-12-11 | 2021-06-17 |
Families Citing this family (3)
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)
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 |
-
2003
- 2003-12-10 AU AU2003302800A patent/AU2003302800A1/en not_active Abandoned
- 2003-12-10 WO PCT/IB2003/005879 patent/WO2004054183A1/en not_active Application Discontinuation
- 2003-12-10 CN CN200380105839.1A patent/CN1726677A/en active Pending
- 2003-12-10 JP JP2004558299A patent/JP2006510255A/en not_active Withdrawn
- 2003-12-10 EP EP03812659A patent/EP1573985A1/en not_active Withdrawn
Cited By (3)
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 |