IP Library Granted Patent US 7,787,374
Granted Patent B2
US 7,787,374 · App. 12/074,043 · Granted Aug 31, 2010

Derivative packet delay variation as a metric for packet timing recovery stress testing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,787,374
App. No.
12/074,043
Granted
Aug 31, 2010
Kind
B2
Abstract

A method and system for analyzing simulated packet delay variation (PDV) using derivative PDV is disclosed. The delay-step method for simulating PDV determines a delay for each packet in a stream of packets generated at a regular interval. Delay target values are randomly selected based on a statistical distribution, such as a Gaussian distribution. Delay-steps are determined for each packet based on the delay target values. The delay-steps can be fixed or variable sized steps which are used to adjust the delay of sequential packets. PDV is generated by delaying each of the packets with the delay determined for that packet. The derivative PDV is calculated to evaluate a delay rate of change on a packet-by-packet basis. The derivative PDV can be used as a metric to specify stresses for adaptive packet timing recovery stress testing.

Claims (225)

1. A method comprising:

generating, by a packet generator, a stream of packets, each packet generated at a regular interval;

determining, by a packet delay variation (PDV) generator, a delay for each packet based on a series of randomly determined delay target values;

generating, by the PDV generator, a packet delay variation (PDV) by delaying each packet with the delay determined for that packet; and

calculating, by a packet receiver, a derivative PDV based on the generated PDV, wherein the derivative PDV value for each packet is determined based on a quotient of a difference between the delay of a current packet and the delay of a previous packet, and the interval for generating packets.

2. The method of claim 1 , wherein said step of calculating derivative PDV comprises:

calculating a rate of change of the delay on a packet-by-packet basis.

3. The method of claim 1 , wherein said step of calculating derivative PDV comprises:

calculating a derivative PDV value for each packet using the equation:

D_PDV

(

t

)

=

D

n

(

t

)

-

D

n

(

t

-

1

)

τ

,

wherein D n (t) is the delay of a current packet, D n (t−1) is the delay of a previous packet, and τ is the regular interval for generating the packets.

4. The method of claim 1 , further comprising:

generating, by the packet receiver, a histogram of the derivative PDV.

5. The method of claim 1 , further comprising:

determining, by the packet receiver, delay stresses for adaptive packet timing recovery stress testing of a network based on the derivative PDV.

6. The method of claim 1 , wherein said step of determining a delay for each packet comprises: (a) selecting a random delay target value based on a probability density function (PDF); (b) adjusting the delay of sequential packets in said stream of packets by delay-steps determined based on the random delay target value, until the delay of a packet is equal to the random delay target value; and (c) repeating steps (a) and (b) to determine a delay value for each packet in said stream of packets.

7. The method of claim 6 , wherein step (b) comprises for each of said sequential packets:

determining a difference between a current delay for the packet and the random delay target value;

if the difference between the current delay for the packet and the random delay target value is negative, adjusting the current delay for the packet by a delay-step determined as a uniformly distributed value between 0 and a maximum step size; and

if the difference between the current delay for the packet and the random delay target value is positive, adjusting the current delay for the packet by a delay-step determined as a uniformly distributed value between a minimum step size and 0.

8. The method of claim 6 , wherein step (b) comprises for each of said sequential packets:

determining a difference between a current delay for the packet and the random delay target value;

if the difference between the current delay for the packet and the random delay target value is negative, adjusting the current delay for the packet by a fixed positive delay-step; and

if the difference between the current delay for the packet and the random delay target value is positive, adjusting the current delay for the packet by a fixed negative delay-step.

9. The method of claim 6 , wherein said PDF is a Gaussian PDF.

10. A system comprising:

means for generating a stream of packets such that each packet is generated at a regular interval;

means for determining a delay for each packet based on a series of randomly determined delay target values;

means for generating packet delay variation (PDV) by delaying each packet with the delay determined for that packet; and

means for calculating derivative PDV based on the generated PDV, wherein the derivative PDV value for each packet is determined based on a quotient of a difference between the delay of a current packet and the delay of a previous packet, and the interval for generating packets.

11. The system of claim 10 , wherein said means for calculating derivative PDV comprises:

means for calculating a rate of change of the delay on a packet-by-packet basis.

12. The system of claim 10 , wherein said means for calculating derivative PDV comprises:

means for calculating a derivative PDV value for each packet using the equation:

D_PDV

(

t

)

=

D

n

(

t

)

-

D

n

(

t

-

1

)

τ

,

wherein D n (t) is the delay of a current packet, D n (t−1) is the delay of a previous packet, and τ is the regular interval for generating the packets.

13. The system of claim 10 , further comprising:

means for generating a histogram of the derivative PDV.

14. The system of claim 10 , wherein said means for determining a delay for each packet comprises:

means for selecting a random delay target value based on a probability density function (PDF); and

means for adjusting the delay of sequential packets in said stream of packets by delay-steps determined based on the random delay target value, until the delay of a packet is equal to the random delay target value.

15. The system of claim 14 , wherein said means for adjusting comprises:

means for determining a difference between a current delay for the packet and the random delay target value; and

means for adjusting the current delay of the packet by a delay-step determined as a uniformly distributed value between a minimum step size and a maximum step size based on the difference between the current delay for the packet and the random delay target value.

16. The system of claim 14 , wherein said means for adjusting comprises:

means for determining a difference between a current delay for the packet and the random delay target value; and

means for adjusting the current delay of the packet by one of a fixed positive delay-step and a fixed negative delay-step based on the difference between the current delay for the packet and the random delay target value.

17. The system of claim 14 , wherein said PDF is a Gaussian PDF.

18. A computer readable medium storing computer executable instructions, said computer executable instructions defining steps comprising:

generating a stream of packets, each packet generated at a regular interval;

determining a delay for each packet based on a series of randomly determined delay target values;

generating packet delay variation (PDV) by delaying each packet with the delay determined for that packet; and

calculating derivative PDV based on the generated PDV, wherein the derivative PDV value for each packet is determined based on a quotient of a difference between the delay of a current packet and the delay of a previous packet, and the interval for generating packets.

19. The computer readable medium of claim 18 , wherein the computer executable instructions defining the step of calculating derivative PDV comprise computer readable instructions defining the step of:

calculating a rate of change of the delay on a packet-by-packet basis.

20. The computer readable medium of claim 18 , wherein the computer executable instructions defining the step of calculating derivative PDV comprise computer readable instructions defining the step of:

calculating a derivative PDV value for each packet using the equation:

D_PDV

(

t

)

=

D

n

(

t

)

-

D

n

(

t

-

1

)

τ

,

wherein D n (t) is the delay of a current packet, D n (t−1) is the delay of a previous packet, and τ is the regular interval for generating the packets.

21. The computer readable medium of claim 18 , further comprising computer executable instructions defining the step of:

generating a histogram of the derivative PDV.

22. The computer readable medium of claim 18 , further comprising computer executable instructions defining the step of:

specifying delay stresses for adaptive packet timing recovery stress testing based on the derivative PDV.

23. The computer readable medium of claim 18 , wherein the computer executable instructions defining the step of determining a delay for each packet comprise computer executable instructions defining the steps of: (a) selecting a random delay target value based on a probability density function (PDF); (b) adjusting the delay of sequential packets in said stream of packets by delay-steps determined based on the random delay target value, until the delay of a packet is equal to the random delay target value; and (c) repeating steps (a) and (b) to determine a delay value for each packet in said stream of packets.

24. The computer readable medium of claim 23 , wherein the computer executable instructions defining step (b) comprise computer readable instructions defining the following steps for each of said sequential packets:

determining a difference between a current delay for the packet and the random delay target value;

if the difference between the current delay for the packet and the random delay target value is negative, adjusting the current delay for the packet by a delay-step determined as a uniformly distributed value between 0 and a maximum step size; and

if the difference between the current delay for the packet and the random delay target value is positive, adjusting the current delay for the packet by a delay-step determined as a uniformly distributed value between a minimum step size and 0.

25. The computer readable medium of claim 23 , wherein the computer executable instructions defining step (b) comprise computer readable instructions defining the following steps for each of said sequential packets:

determining a difference between a current delay for the packet and the random delay target value;

if the difference between the current delay for the packet and the random delay target value is negative, adjusting the current delay for the packet by a fixed positive delay-step; and

if the difference between the current delay for the packet and the random delay target value is positive, adjusting the current delay for the packet by a fixed negative delay-step.

26. A method comprising:

generating, by a packet generator, a stream of packets, each packet generated at a regular interval;

determining, by a packet delay variation (PDV) generator, a delay for each packet based on a series of randomly determined delay target values;

generating, by the PDV generator, a packet delay variation (PDV) by delaying each packet with the delay determined for that packet; and

calculating, by a packet receiver, a derivative PDV based on the generated PDV, wherein the derivative PDV value for each packet is determined using the equation:

D_PDV

(

t

)

=

D

n

(

t

)

-

D

n

(

t

-

1

)

τ

,

wherein D n (t) is the delay of a current packet, D n (t−1) is the delay of a previous packet, and τ is the regular interval for generating the packets.

27. A system comprising:

means for generating a stream of packets such that each packet is generated at a regular interval;

means for determining a delay for each packet based on a series of randomly determined delay target values;

means for generating packet delay variation (PDV) by delaying each packet with the delay determined for that packet; and

means for calculating derivative PDV based on the generated PDV, wherein the derivative PDV value for each packet is determined using the equation:

D_PDV

(

t

)

=

D

n

(

t

)

-

D

n

(

t

-

1

)

τ

,

wherein D n (t) is the delay of a current packet, D n (t−1) is the delay of a previous packet, and τ is the regular interval for generating the packets.

28. A computer readable medium storing computer executable instructions, said computer executable instructions defining steps comprising:

generating, by a packet generator, a stream of packets, each packet generated at a regular interval;

determining, by a packet delay variation (PDV) generator, a delay for each packet based on a series of randomly determined delay target values;

generating, by the PDV generator, a packet delay variation (PDV) by delaying each packet with the delay determined for that packet; and

calculating, by a packet receiver, a derivative PDV based on the generated PDV, wherein the derivative PDV value for each packet is determined using the equation:

D_PDV

(

t

)

=

D

n

(

t

)

-

D

n

(

t

-

1

)

τ

,

wherein D n (t) is the delay of a current packet, D n (t−1) is the delay of a previous packet, and t is the regular interval for generating the packets.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
CERTIFICATE OF CONVERSION Recorded Oct 30, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 034113/0626 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2008
From: BEDROSIAN, PAUL STEPHAN
To: AGERE SYSTEMS, INC.
Reel/Frame 021177/0199 →