IP Library Granted Patent US 8,861,352
Granted Patent B2
US 8,861,352 · App. 12/802,088 · Granted Oct 14, 2014

Dynamic delay budget allocation using single-point estimation of end-to-end delay

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 8,861,352
App. No.
12/802,088
Granted
Oct 14, 2014
Kind
B2
Abstract

A computer-readable medium has tangibly embodied thereon and accessible therefrom a set of instructions interpretable by at least one data processing device. The set of instructions is configured for causing the at least one data processing device to carry out operations for estimating a delay for each one of a plurality of packets of a VOIP traffic flow and for allocating a delay budget for each one of the packets dependent upon the estimated delay thereof. Such estimating is performed at a fixed location between end locations of a path over which the packets traverse and is performed using packet timestamp information acquired from the packets only at the fixed location.

Claims (54)

1. A method, comprising:

at least one data processing device accessing, from memory coupled to said at least one data processing device, instructions causing said at least one data processing device to estimate a delay for each one of a plurality of packets of a computer network traffic flow, wherein causing said at least one data processing device to estimate the delay:

is performed at a fixed location between end locations of a path over which said packets traverse;

is performed using packet timestamp information acquired from said packets only at the fixed location and based on a minimum delay of all of said packets received at said fixed location; and

includes causing said at least one data processing device to determine a clock time offset for packets of the computer network traffic flow and determining an estimated delay time of each one of said packets wherein:

the clock time offset is derived from a difference between a minimum delay time and a randomized delay time for one of said packets identified as having a minimum delay time of all of said packets; and

the randomized delay time of said minimum delay packet is derived from a difference between a time at which said minimum delay packet is received by the packet monitoring apparatus and a time represented by a time stamp issued to said minimum delay packet by a timestamp clock during generation of said minimum delay packet; and

said at least one data processing device accessing, from said memory, instructions causing said at least one data processing device to allocate a delay budget to each one of said packets dependent upon the estimated delay thereof.

2. The method of claim 1 wherein the estimated end-to-end delay of a particular one of said packets is derived from a difference between a randomized delay time for the particular one of said packets and the clock time offset.

3. The method of claim 2 wherein the randomized delay time of the particular one of said packets is derived from a difference between a time at which the particular one of said packets is received by the packet monitoring apparatus and a time represented by a time stamp issued to the particular one of said packets by the timestamp clock during generation of the particular one of said packets.

4. The method of claim 3 wherein the clock time offset is derived from a difference between a minimum delay time and a randomized delay time for one of said packets identified as having a minimum delay time of all of said packets.

5. The method of claim 1 wherein the delay budget of a particular one of said packets is derived from a difference between a maximum delay time and the estimated delay time of the particular one of said packets.

6. The method of claim 5 causing said at least one data processing device to estimate the delay for each one of the plurality of packets includes causing said at least one data processing device to determine a clock time offset for packets of the computer network traffic flow and determine an estimated delay time of each one of said packets.

7. The method of claim 6 wherein:

the clock time offset is derived from a difference between a minimum delay time and a randomized delay time for one of said packets identified as having a minimum delay time of all of said packets;

the estimated delay of a particular one of said packets is derived from a difference between a randomized delay time for the particular one of said packets and the clock time offset; and

the randomized delay time of the particular one of said packets is derived from a difference between a time at which the particular one of said packets is received by the packet monitoring apparatus and a time represented by a time stamp issued to the particular one of said packets by the timestamp clock during generation of the particular one of said packets.

8. A packet monitoring apparatus configured for being located within a traffic transmission path of a Voice Over Internet Protocol (VOIP) traffic flow, comprising:

at least one data processing device;

instructions processable by said at least one data processing device; and

an apparatus from which said instructions are accessible by said at least one data processing device;

wherein said instructions are configured for causing said at least one data processing device to:

determine a clock time offset for packets of the VOIP traffic flow received by the packet monitoring apparatus during a first time period, wherein:

the clock time offset is derived from a difference between a prescribed minimum delay time and a randomized delay time for one of said first time period packets identified as having a minimum delay time of all of said first time period packets; and

the randomized delay time of said minimum delay first time period packet is derived from a difference between a time at which said minimum delay first time period packet is received by the packet monitoring apparatus and a time represented by a time stamp issued to said minimum delay first time period packet by a timestamp clock during generation of said minimum delay first time period packet;

determine an estimated delay time of each one of said first time period packets, wherein:

the estimated delay time of a particular one of said first time period packets is derived from a difference between a randomized delay time for the particular one of said first time period packets and the clock time offset; and

the randomized delay time of the particular one of said first time period packets is derived from a difference between a time at which the particular one of said first time period packets is received by the packet monitoring apparatus and a time represented by a time stamp issued to the particular one of said first time period packets by the timestamp clock during generation of the particular one of said first time period packets; and

determine a delay budget for each one of said first time period packets, wherein the delay budget for each one of said first time period packets is derived from a difference between a prescribed delay time and the estimated delay time thereof.

9. The packet monitoring apparatus of claim 8 wherein the prescribed delay time is a maximum delay time.

10. The packet monitoring apparatus of claim 8 wherein causing said at least one data processing device to determine the clock time offset is derived from causing said at least one data processing device to decode a Real-time Transport Protocol (RTP) header of at least one of said packets.

11. The packet monitoring apparatus of claim 8 wherein said instructions are further configured for causing said at least one data processing device to:

determine a randomized delay time for each one of a plurality of packets of the VOIP traffic flow received by the packet monitoring apparatus during a second time period;

determine one of said each one of a plurality of packets during said second time period packets having a minimum randomized delay time thereby providing a randomized delay time of said one second time period packet having a minimum randomized delay time;

determine a new clock time offset, wherein the new clock time offset is derived from a difference between the prescribed minimum delay time and the randomized delay time of said one second time period packet having a minimum randomized delay time;

determine a delay variance between adjacently received ones of said second time period packets; and

determine a delay budget for each one of said second time period packets, wherein the delay budget for each one of said first time period packets is derived using the delay variance thereof.

12. The packet monitoring apparatus of claim 11 wherein the delay variance for adjacently received ones of said second time period packets is derived using jitter therebetween and a mean jitter thereof.

13. The packet monitoring apparatus of claim 12 wherein the mean jitter of each one of said second time period packets is a geometric average of the jitter thereof.

14. A non-transitory computer-readable medium having tangibly embodied thereon and accessible therefrom a set of instructions interpretable by at least one data processing device, said set of instructions configured for causing said at least one data processing device to carry out operations for:

estimating a delay for each one of a plurality of packets of a Voice Over Internet Protocol (VOIP) traffic flow, wherein said estimating is performed at a fixed location between end locations of a path over which said packets traverse and is performed using packet timestamp information acquired from said packets only at the fixed location and based on a minimum delay of all of said packets received at said fixed location; and

allocating a delay budget to each one of said packets dependent upon the estimated delay thereof; wherein

estimating the delay for each one of the plurality of packets includes determining a clock time offset for packets of the VOIP traffic flow and determine an estimated delay time of each one of said packets;

the clock time offset is derived from a difference between a minimum delay time and a randomized delay time for one of said packets identified as having a minimum delay time of all of said packets; and

the randomized delay time of said minimum delay packet is derived from a difference between a time at which said minimum delay packet is received by the packet monitoring apparatus and a time represented by a time stamp issued to said minimum delay packet by a timestamp clock during generation of said minimum delay packet.

15. The computer-readable medium of claim 14 wherein:

the estimated end-to-end delay of a particular one of said packets is derived from a difference between a randomized delay time for the particular one of said packets and the clock time offset; and

the randomized delay time of the particular one of said packets is derived from a difference between a time at which the particular one of said packets is received by the packet monitoring apparatus and a time represented by a time stamp issued to the particular one of said packets by the timestamp clock during generation of the particular one of said packets.

16. The computer-readable medium of claim 14 wherein the delay budget of a particular one of said packets is derived from a difference between a maximum delay time and the estimated delay time of the particular one of said packets.

17. The computer-readable medium of claim 14 wherein:

estimating the delay for each one of the plurality of packets includes determining a clock time offset for packets of the VOIP traffic flow and determine an estimated delay time of each one of said packets;

the clock time offset is derived from a difference between a minimum delay time and a randomized delay time for one of said packets identified as having a minimum delay time of all of said packets;

the estimated delay of a particular one of said packets is derived from a difference between a randomized delay time for the particular one of said packets and the clock time offset; and

the randomized delay time of the particular one of said packets is derived from a difference between a time at which the particular one of said packets is received by the packet monitoring apparatus and a time represented by a time stamp issued to the particular one of said packets by the timestamp clock during generation of the particular one of said packets.

Assignments (8)
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 044000/0053 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2014
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 033616/0042 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2010
From: BEJERANO, YIGAL
To: ALCATEL-LUCENT USA INC.
Reel/Frame 024532/0104 →