CN1726677A - A system and method using a circular buffer for detecting packet loss in streaming applications - Google Patents

A system and method using a circular buffer for detecting packet loss in streaming applications Download PDF

Info

Publication number
CN1726677A
CN1726677A CN200380105839.1A CN200380105839A CN1726677A CN 1726677 A CN1726677 A CN 1726677A CN 200380105839 A CN200380105839 A CN 200380105839A CN 1726677 A CN1726677 A CN 1726677A
Authority
CN
China
Prior art keywords
subclauses
clauses
sequence number
grouping
circular buffer
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.)
Pending
Application number
CN200380105839.1A
Other languages
Chinese (zh)
Inventor
Q·李
M·范德沙尔
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 CN1726677A publication Critical patent/CN1726677A/en
Pending 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

Abstract

A circular buffer, i.e., a chain of buffers forming a circle, is provided for managing packet loss detecting in Internet streaming. The detection latency is determined by the size of the buffer chain, which can be dynamically adapted to network conditions and application requirements. The present invention can achieve reasonable detection accuracy.

Description

Use circular buffer to detect the system and method that stream send packet loss in the application
The present invention relates to the Internet flows and send the detection of middle packet loss.More specifically, the present invention relates to a kind ofly be used for using circular buffer to detect the system and method that the Internet flows is sent packet loss, wherein said circular buffer is to realize by forming annular buffer chain.More particularly, the present invention relates to a kind ofly be used to make packet loss detecting time delay (latency) dynamically to adapt to the system and method for network condition and application demand, wherein said packet loss detecting time delay is to determine by the size of described chain, and system and method for the present invention can be realized rational detection accuracy and be implemented easily.
Send in the application in the Internet flows, when important grouping (all belong in this way I frame in the video or the basic unit in the scalable coding) when losing, described receiver can require transmitter this grouping of losing that retransfers.In order promptly to send the request of retransferring, described receiver must have the device that is used in time detecting packet loss.At present, packet loss detecting is to use timer or time window to carry out.
In transmission control (TCP) agreement,, use timer for loss detection.When sending grouping, set timer by the transmitter of this grouping with timeout value.If confirm described grouping be received before described timer expiration, described grouping is claimed as loses so, and resend by described transmitter.
Send in the application at most of stream, by service time window realize loss detection.Time window (perhaps more precisely being table) has the binary entries of fixed number.Each clauses and subclauses shows status of packets (0: lose 1: receive).At some time points, the first entry in this window is associated with the grouping that is identified by sequence number (such as the sequence number of real-time transport protocol (rtp) grouping).Subsequent window entries is associated according to sequential order with the grouping with higher sequence number.Therefore, can regard the space of packet sequence number as being divided into piece, every is associated with the window of some time points.
Current, two this time windows that are associated with two continuous grouping block are used for packet loss detecting.During beginning, all clauses and subclauses are labeled as " 0 ".When receiving grouping, corresponding window entries is labeled as " 1 ".When receiving grouping with the sequence number that surpasses first window, second window entries of mark correspondence.In case transmit the grouping that has even surpass the sequence number of second window, close first window so, and check its clauses and subclauses.The clauses and subclauses associated packet that is labeled as " 0 " with maintenance is claimed as loses.After second window, open a new window in succession at once, and testing process is proceeded.
The timer method only can be applied to the agreement as TCP, and this quasi-protocol can be measured the two-way time of dividing into groups so that correctly set the timeout value of timer.Send in the application at stream, most of times only generate unidirectional Media Stream.Described timer method is not suitable for these situations.On the contrary, can service time the window method.Yet, adopt described time window method to have following limitation:
Window size is fixed-adaptation does not have built-in mechanism for window size, and when network condition and application demand (for example, postponing) change, this is desirable.
Right Different lose now uneven loss detection time delay-loss detection time delay is positioned at the scope of T-2T, therefore wherein T is the average period of time window, and when losing when being associated with the first entry of described window, described detection time delay is 2T, if be associated losing with the last clauses and subclauses of described window, it is T so.
Thus, need a kind of loss detection method allow adaptive loss detection time delay and EvenlyThe loss detection time delay.System and method of the present invention comprises:
Have the circular buffer chain of the chain size that can regulate according to network condition and application demand, adaptive loss detection time delay is provided thus; And
Have the fixedly circular buffer chain of chain size, be fixedly the time, uniform detection is provided when the chain size thus.
Shorten described time delay and can increase the probability (chance) that recovers lost packets.Having uniform time delay can infer to lose all to have for all and equate to recover probability.Therefore, make all loss detection equate that specifically time delay all is desirable for many streams send application.
The executive system expense of circular buffer of the present invention seldom and is less than the time window method.
Fig. 1 a for example understands the preferred embodiment of circular buffer structure of the present invention.
Fig. 1 b for example understands the structure of each buffer in the circular buffer shown in Fig. 1 a.
Fig. 2 a for example understands the optimization algorithm of realizing the circular buffer structure shown in Fig. 1 a-1b.
Fig. 2 b for example understands the flow chart of the algorithm shown in Fig. 2 a.
Fig. 3 for example understands the preferred embodiment of the algorithm that is used for characteristic adaptation circular buffer chain structure Network Based.
Referring now to Fig. 1 a, buffer 1 to m has formed m buffer B i10 annular chain meter, i=wherein ..., m has illustrated the structure 12 of each buffer among Fig. 1 b.As shown in Figure 1a, m is the length that is used for the endless-chain of definite loss detection time delay, and it can adapt to network condition and application demand.P11 is the pointer by described chain circulation, points to each buffer successively.Each buffer B in the described chain i10 comprise two fields, F 113 and F 214.F 1The pointer of next buffer is pointed in 13 storages.F 2The sequence number s of the grouping that 14 storages may have been lost.
Send in the application at stream, suppose the order of grouping according to packet sequence number sent.Do not lose and the desirable world in, the grouping of arrival has a sequence number that is higher than last sequence number all the time.If grouping does not arrive in order, perhaps lose, in the sequence number of the grouping that is received, can observe vacancy or gap so.When observing vacancy (may be the vacancy of the above consecutive number in interval), this vacancy shows one or more groupings of losing probably so.Yet it is ubiquitous that out-of-order packet is sent the internet, and this is because each grouping can take different paths by network, and the grouping of numbering more early may spend than the longer time of grouping of numbering can arrive afterwards.Observe vacancy in the packet sequence that arrives after, application can't be made immediately and lose statement.Whether just described application must look around this vacancy incident of unordered delivery.Described circular buffer method provides and has determined whether to carry out the mode of losing statement.
Fig. 2 a for example understands the c program design language code of the preferred embodiment of the algorithm be used to realize the inventive method.Fig. 2 b is the flow chart of the algorithm shown in Fig. 2 a.Described pointer P12 cycles through buffer B i11 chains, described circulation drives by receiving grouping in step 20.In step 21, the current maximum sequence number s that contrast receives already checks the sequence number of the grouping that is received, and if less than the current maximum sequence number that is received, it is an out-of-order packet so.
If not out-of-order packet, so in step 22, check the vacancy in the described sequence, and when the vacancy in the described sequence is observed, carry out following steps:
If a. the buffer of P positive sense comprises the grouping (P->F2 is not zero, in step 24) that does not receive, so in step 25, the grouping with sequence number P->F2 is declared loses.
B. then, no matter whether P once pointed to the grouping that does not receive, and in step 26, all current maximum sequence number is added one, and be stored in anterior bumper, and upgrade P, so that point to next buffer in turn, that is, and P=P->F1.
C. in step 27, the number of buffers that falls into vacancy is reduced 1, and repeating step a-c, till residual buffer district number is zero.Thus, all sequences that falls into vacancy number all is stored in circular buffer chain, each number occupies a buffer.
When not observing vacancy, carry out following steps:
D. in step 28, if the buffer of P positive sense comprises the grouping (P->F2 is not zero) that does not receive, so in step 29, the grouping with sequence number P->F2 is declared loses, and the sequence number that is stored in the buffer is set at zero.
E. no matter whether P->F2 points to the grouping that does not receive,, upgrade P so that point to next buffer in turn in step 30.
When finishing all with processing that orderly grouping is associated:
F. in step 31, current maximum sequence number is set at the sequence number of the grouping that is received.
If grouping is (the having the sequence number more Zao than the maximum sequence number s of current reception) of unordered arrival:
G. so the packet numbering that is received is compared with the numbering in being stored in described circular buffer, and empty respective record in the buffer, promptly be set at zero, step 32.
Thus because have only when pointer is visited non-empty buffer again, when F2 is in the non-zero, just make and lose statement, so can determine the detection time delay by the big or small m of buffer chain.
Such as shown in Figure 3, can adopt chain size m to determine to detect time delay.For example, in a preferred embodiment, initial m=4.If observed false declaration rate is higher than given threshold value, that is,
false_rate>TOLERABLE_RATE
So, described length is perhaps too short, and need prolong described length 36 by inserting new buffer and correspondingly regulating m.The length of network path, the quantity of links of promptly passing through are big more, and the m that then needs is just big more, and this is that the possibility that unordered delivery takes place is just big more because long more when the network path of packet traverses.Along with cycling through buffer chain B as P i11, the big more m of value just can reduce pointer P more and run in buffer and sent but the possibility of unordered grouping.
Described success_rate is declared as predetermined EXPECT_RATE at first and after this is adjusted to:
Success _ rate = declared _ lossess - falselt _ declared _ losses declared _ losses
false_rate=1-success_rate
And if described success_rate is too high, that is, if
success_rate>EXPECT_RATE
So, the length of buffer chain can be long, thereby may need to be shortened by the deletion buffer, as shown in Figure 3.
The present invention can be used for playing the realization of multimedia player of the medium of the memory that comes from networking.Perhaps, the present invention can be used by the multimedia receiver of any kind, and wherein said multimedia receiver wishes that use retransfers as wrong recovery means, therefore needs to carry out packet loss detecting.At last, the present invention can be used by the transmission control protocol implementation, and wherein said transmission control protocol implementation is carried out packet loss detecting at receiver-side.
As mentioned above and method and system of the present invention illustrated in the accompanying drawings a kind of circular buffer is provided, be used to allow time delay detection time or fixing time delay detection time adaptively.It will be apparent to one skilled in the art that under the situation that does not break away from the spirit and scope of the present invention, can make various modifications and variations according to method and system of the present invention.Thus, the present invention includes the modifications and variations that fall in appended claims and the equivalent scope thereof.

Claims (14)

1. one kind is used for being detected adaptively from given transmitter by receiver and is sent to the system that a plurality of streams of described receiver send the stream of grouping to send packet loss via network, and described system comprises:
Circular buffer (10) with big or small m>1 clauses and subclauses (13), each clauses and subclauses (13) have maximum sequence numbers (15) that the stream that is received not yet and may loses send grouping;
Packet loss detecting module (33), be used to use described circular buffer (10) to detect and store the sequence number (15) of the grouping that does not receive and may lose therein, so that detect the sequence number (15) of lost packets therein and from the sequence number (15) of wherein removing described lost packets and state described packet loss, and from wherein removing the sequence number (15) of the grouping that may lose that receives from given transmitter;
Adapt to module (37), be used to make described system to be adapted to network condition, wherein use the big or small m of circular buffer (10) to determine the loss detection time delay, and to lose statement may be false.
2. the system as claimed in claim 1 wherein is set at 4 to m at first.
3. the system as claimed in claim 1 also comprises:
Variable s has initial value 1 and is used to store the highest serial number that transmits and sent by the stream that receiver receives grouping from given transmitter via network;
Pointer P (12), have the initial position that points to the predetermined area in the endless chain, and be used for sequentially cycling through m clauses and subclauses of described circular buffer (10) to clauses and subclauses (13) in turn corresponding to variable s from clauses and subclauses (13) beginning of next circular buffer (10);
Wherein,
Send grouping for the stream that receives from given transmitter, described packet loss detecting module (33) collative variables s checks the sequence number of the grouping that is received and carries out one of following steps:
If a. begin to observe the vacancy the packet sequence that is received from the place that pointer P (12) points to, check so and be in each clauses and subclauses (13) of the circular buffer (10) in the described vacancy so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost, the declared_losses that loses of total statement is added one, each sequence number in the vacancy is stored in from the continuous clauses and subclauses (13) that the place that pointer P (12) points to begins according to ascending order, upgrade P (12) so that the clauses and subclauses (13) in the circular buffer (10) after the sensing vacancy, and s is set at the sequence number that equals the pkt that received
If b. do not observe the vacancy in the packet sequence that is received, check the clauses and subclauses (13) that pointer P (12) points to so, so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost, the declared_losses that loses of total statement is added one, remove clauses and subclauses (13), upgrade P (12) so that point to next clauses and subclauses (14) in the circular buffer (10), and s is set at the sequence number that equals the pkt that received
If c. observed out-of-order packet, search for the clauses and subclauses of circular buffer (10) so so that find to comprise the clauses and subclauses of the sequence number (15) of the sequence number that equals the grouping that receives, if find, then remove clauses and subclauses (13), if do not find, then false declaration rate false_declared_losses as one.
4. system as claimed in claim 3, wherein:
Described network condition is the success rate (success_rate) of transmission and at least one of false declaration rate (false_rate), and wherein said success rate is set at predetermined expectation rate (EXPECT_RATE) at first; And
Described adaptation module (37) according to network condition according to as the big or small m of adjustable ring shape buffer (10) of getting off:
If a. false_rate>TOLERABLE_RATE increases m so, wherein TOLERABLE_RATE is a predetermined threshold, and clauses and subclauses (13) are added to described circular buffer (10), otherwise
If b.
success - rate = declared - losses - falsely - declared - losses EXPECT - RATE > EXPECT - RATE
Reduce m so, and clauses and subclauses (13) are removed from circular buffer (10).
5. system as claimed in claim 4, wherein said circular buffer (10) is circular buffer (10) the chain Bi of m>1 buffer, i=1, ..., m, each of described so a plurality of buffers is clauses and subclauses (13), and described clauses and subclauses comprise pointer that points to next buffer (14) in the chain and the value that is used to store the sequence number (15) of the buffer that does not receive, and described pointer P (12) points to the buffer in this chain.
6. one kind is used for being detected adaptively from given transmitter by receiver and is sent to the system that a plurality of streams of described receiver send the stream of grouping to send packet loss via network, and described system comprises:
Circular buffer (10) with big or small m>1 clauses and subclauses (13), each clauses and subclauses (13) have maximum sequence numbers (15) that the stream that is received not yet and may loses send grouping;
Packet loss detecting module (33), be used to use described circular buffer (10) to detect and storage therein that receive with sequence number (15) grouping that may lose, so that detect therein and from the sequence number (15) of wherein removing lost packets and state described packet loss, and from wherein removing the sequence number (15) of the grouping that may lose that receives from given transmitter;
Be used to make described system to be adapted to the device of network condition (37), wherein use the big or small m of circular buffer (10) to determine the loss detection time delay, and to lose statement may be false.
7. system as claimed in claim 6 also comprises:
Variable s has initial value 1 and is used to store the highest serial number that transmits and sent by the stream that receiver receives grouping from given transmitter via network;
Pointer P (12), have the initial position that points to the predetermined area in the endless chain, and be used for sequentially cycling through m clauses and subclauses of described circular buffer (10) to clauses and subclauses (13) in turn corresponding to variable s from clauses and subclauses (13) beginning of next circular buffer (10); Wherein,
Send grouping for the stream that receives from given transmitter, described packet loss detecting module (33) collative variables s checks the sequence number of the grouping that is received and carries out one of following steps:
If a. begin to observe the vacancy the packet sequence that is received from the place that pointer P (12) points to, check so and be in each clauses and subclauses (13) of the circular buffer (10) in the described vacancy so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost, the declared_losses that statement is lost adds one, each sequence number in the vacancy is stored in from the continuous clauses and subclauses (13) that the place that pointer P (12) points to begins according to ascending order, upgrade P (12) so that the clauses and subclauses (13) in the circular buffer (10) after the sensing vacancy, and s is set at the sequence number that equals the pk t that received
If b. do not observe the vacancy in the packet sequence that is received, check the clauses and subclauses (13) that pointer P (12) points to so, so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost, the declared_losses that loses of total statement is added one, remove clauses and subclauses (13), upgrade P (12) so that point to next clauses and subclauses (14) in the circular buffer (10), and s is set at the sequence number that equals the pkt that received
If c. observe out-of-order packet, search for the clauses and subclauses (13) of circular buffer (10) so so that find the clauses and subclauses of the sequence number (15) that comprises the sequence number that equals the grouping that receives, if and find, then remove clauses and subclauses (13), if do not find, then false declaration rate false_declared_losses added one.
8. one kind is used for being detected adaptively from given transmitter by receiver and is sent to the method that a plurality of streams of described receiver send the stream of grouping to send packet loss via network, and described method comprises the steps:
Provide size to be that the circular buffer (10) of m>1 clauses and subclauses, each clauses and subclauses (13) have maximum sequence numbers (15) that the stream that is received not yet and may loses send grouping;
Receive stream from given transmitter and send grouping with sequence number;
The sequence number of the packing of using described circular buffer (10) and being received is carried out one of following steps:
A. detect and in circular buffer (10), store the sequence number (15) of the grouping that receives and may lose,
B. in circular buffer (10), detect and sequence number (15), and state described packet loss, make that so it may be false losing statement from wherein removing lost packets, and
C. remove the sequence number (15) of the grouping that may lose from described circular buffer (10), the sequence number of the described grouping that may lose is corresponding to the sequence number of the grouping that is received;
Make described method adapt to network condition, so that make the big or small m with circular buffer (10) determine the loss detection time delay.
9. method as claimed in claim 8 also comprises the steps:
It is 1 variable s that initial value is provided;
Is the specification of variables that is provided s=max (s, the stream that is received send the sequence number of grouping);
Pointer P is provided (12), described pointer P (12) has the initial position of the predetermined area in the sensing circular buffer (10), is used for beginning in turn to m the clauses and subclauses that the circular buffer (10) that is provided sequentially is provided corresponding to the clauses and subclauses (13) of variable s from the clauses and subclauses (13) of next circular buffer (10);
Send grouping for the stream that receives from given transmitter, collative variables s checks the sequence number of the grouping that is received, and carries out one of following steps:
If a. begin to observe the vacancy the packet sequence of receiving, so from the place that pointer P (12) points to
A.1 check to be in each clauses and subclauses (13) of the circular buffer (10) in the described vacancy, so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost,
If a.2 the statement packet loss adds one to the declared_losses that loses of total statement so,
A.3 each sequence number in the vacancy is stored in from the continuous clauses and subclauses (13) that the place that pointer P (12) points to begins by ascending order,
A.4 upgrade described pointer P (12) so that point to clauses and subclauses (13) in the circular buffer (10) after the vacancy, and
A.5 s is set at the sequence number that equals the pkt that received;
If b. do not observe the vacancy in the packet sequence that is received, so
B.1 check the clauses and subclauses (13) that pointer P (12) points to, so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost,
If b.2 state packet loss, the declared_losses that loses of so total statement adds one,
B.3 remove the clauses and subclauses of pointing to by P (12) (13),
B.4 upgrade P (12) so that point to next clauses and subclauses (14) in the circular buffer (10), and
B.5 s is set at the sequence number that equals the pkt that received;
If c. observe out-of-order packet, so
C.1 search for the clauses and subclauses (13) of circular buffer (10), so that find the clauses and subclauses of the sequence number (15) that comprises the sequence number that equals the grouping that receives,
If c.2 find, then remove clauses and subclauses (13),
If c.3 do not find, so false declaration rate falsely_declared_losses is added one.
10. method as claimed in claim 9, wherein:
Described network condition is the success rate (success_rate) of transmission and at least one of false declaration rate (false_rate), and wherein said success_rate is set at predetermined expectation rate (EXPECT_RATE) at first; And
Described adaptation step is by carrying out one of following steps and regulating the big or small m of circular buffer (10) according to network condition, and described step is:
If false_rate>TOLERABLE_RATE d., wherein TOLERABLE_RATE is a predetermined threshold, carries out following steps:
D.1 m is added 1, and
D.2 clauses and subclauses (13) are added in the circular buffer (10), otherwise
If success_rate>EXPECT_RATE e.
E.1 m is reduced 1,
E.2 clauses and subclauses (13) are removed from circular buffer (10).
11. method as claimed in claim 9 wherein is set at 4 to m at first.
12. computer program that associative processor uses, being suitable for by the receiver detection send the stream the grouping to send packet loss from given transmitter via a plurality of streams that network is sent to described receiver, described computer program comprises computer-readable recording medium and embedding computer program mechanism wherein, and described computer program mechanism comprises:
Size is the circular buffer (10) of m>1 clauses and subclauses (13), and each clauses and subclauses (13) have maximum sequence numbers (15) that the stream that is received not yet and may loses send grouping;
Packet loss detecting routine (33), comprise instruction, described instruction be used to use described circular buffer (10) to detect and storage therein that receive with sequence number (15) grouping that may lose, detect therein and from the sequence number (15) of wherein removing lost packets and state described packet loss, and from wherein removing the sequence number (15) of the grouping that may lose that receives from given transmitter;
Adapt to routine (37), comprise being used to make system to be adapted to the instruction of network condition,
Wherein, determine the loss detection time delay, and to lose statement may be false with the big or small m of circular buffer (10).
13. computer program as claimed in claim 12 also comprises:
Variable s has initial value 1 and is used to store the highest serial number that transmits and sent by the stream that receiver receives grouping from given transmitter via network;
Pointer P (12), have the initial position that points to the predetermined area in the endless chain, and be used for from clauses and subclauses (13) beginning of next circular buffer (10) in turn to sequentially circulate m clauses and subclauses of described circular buffer (10) of the clauses and subclauses (13) corresponding to variable s;
Wherein,
Send grouping for the stream that receives from given transmitter, one of the sequence number of the grouping that the instruction collative variables s check of described packet loss detecting routine (33) is received and execution following steps:
If a. begin to observe the vacancy the packet sequence that is received from the place that pointer P (12) points to, check so and be in each clauses and subclauses (13) of the circular buffer (10) in the described vacancy so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost, the declared_losses that loses of total statement is added one, each sequence number in the vacancy is stored in from the continuous clauses and subclauses (13) that the place that pointer P (12) points to begins according to ascending order, upgrade P (12) so that the clauses and subclauses (13) in the circular buffer (10) after the sensing vacancy, and s is set at the sequence number that equals the pkt that received
If b. do not observe the vacancy in the packet sequence that is received, check the clauses and subclauses (13) that pointer P (12) points to so, so that search the sequence number (15) of the grouping that may lose and state that this respective packets lost, the declared_losses that loses of total statement is added one, remove clauses and subclauses (13), upgrade P (12) so that point to next clauses and subclauses (14) in the circular buffer (10), and s is set at the sequence number that equals the pkt that received
If c. observe out-of-order packet, search for the clauses and subclauses (13) of circular buffer (10) so so that find the clauses and subclauses of the sequence number (15) that comprises the sequence number that equals the grouping that receives, if and find, then remove clauses and subclauses (13), if do not find, then false declaration rate falsely_declared_losses is added one and the declared_losses that loses of total statement subtracted one.
14. computer program as claimed in claim 13, wherein:
Described network condition is the success rate (success_rate) of transmission and at least one of false declaration rate (false_rate), and wherein said success_rate is set at predetermined expectation rate (EXPECT_RATE) at first; And
According to the big or small m as the adjustable ring shape buffer (10) that gets off, described network condition is described adaptation routine (37) according to network condition:
If a. false_rate>TOLERABLE_RATE increases m, wherein so
TOLERABLE_RATE is a predetermined threshold, and clauses and subclauses (13) are added to described circular buffer (10), otherwise
If b.
success - rate = declared - losses - falsely - declared - losses EXPECT - RATE > EXPECT - RATE
Reduce m so, and clauses and subclauses (13) are removed from circular buffer (10).
CN200380105839.1A 2002-12-12 2003-12-10 A system and method using a circular buffer for detecting packet loss in streaming applications Pending CN1726677A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43289302P 2002-12-12 2002-12-12
US60/432,893 2002-12-12

Publications (1)

Publication Number Publication Date
CN1726677A true CN1726677A (en) 2006-01-25

Family

ID=32508008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200380105839.1A Pending CN1726677A (en) 2002-12-12 2003-12-10 A system and method using a circular buffer for detecting packet loss in streaming applications

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 (2)

* 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
CN108293006A (en) * 2015-12-22 2018-07-17 英特尔公司 Technology for tracking disordered networks grouping

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471849B (en) 2007-12-29 2011-04-06 华为技术有限公司 Protection method for packet transmission network
WO2021117171A1 (en) * 2019-12-11 2021-06-17 日本電信電話株式会社 Data sequence correction method, packet monitoring device, data sequence correction device, and data sequence correction program

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
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
CN108293006A (en) * 2015-12-22 2018-07-17 英特尔公司 Technology for tracking disordered networks grouping
CN108293006B (en) * 2015-12-22 2021-09-07 英特尔公司 Techniques for tracking out-of-order network packets

Also Published As

Publication number Publication date
EP1573985A1 (en) 2005-09-14
WO2004054183A1 (en) 2004-06-24
JP2006510255A (en) 2006-03-23
AU2003302800A1 (en) 2004-06-30

Similar Documents

Publication Publication Date Title
US6650660B1 (en) Apparatus and method for synchronization of multiple data paths and recovery from lost synchronization
US20060069793A1 (en) System and method using a circular buffer for detecting packet loss in streaming applications
CN1185829C (en) Method of controlling Ethernet data flow quantity on synchronous numerical system transmission net
EP0465533A1 (en) Error correction for infrared data communication.
US5588000A (en) Apparatus for reordering data frames within an interface device
CN1320805C (en) Regulating method of adaptive scillation buffer zone of packet switching network
CN1146180C (en) Automatic repeat request data communications method and apparatus
CN1226844C (en) Adaptive jamming control method suitable of mixed wired/radio network
US6438108B1 (en) System for improved transmission of acknowledgements within a packet data network
GB2425025A (en) Intrusion detection state machine for finding attack signatures with reduced buffering requirements for handling out of sequence packets
CN1139851A (en) Object address tester for hardware package (group) router
CN1277767A (en) Bidirectional ARQ apparatus and method
CN1440166A (en) Method and body for identifying lost packets
WO1996031081A9 (en) Window comparator
CN1812575A (en) Parallel transmission dispatching method for stream media data
CN104917590B (en) A kind of channel coding error correction method
US7860108B2 (en) Methods and devices for transferring and for recovering data packets
CN1726677A (en) A system and method using a circular buffer for detecting packet loss in streaming applications
CN1549536A (en) Method for ordering to eliminate its jitter time delay by time stamp of RTP data pocket
US5958080A (en) Method and apparatus for detecting and recovering from errors occurring in a transmission of digital information
CN1362792A (en) Apparatus and method for detecting baud in general asynchronous receiving-transmitting device
CN1308837C (en) System for transmission subgroup sequence between service and mobile terminal
KR100363580B1 (en) Error protecting method and error protective device
US7457389B2 (en) Data block synchronization device, system and method
CN1503535A (en) Method for assuring reliability of data package transmission in simple network management protocol

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication