IP Library Granted Patent US 7,051,246
Granted Patent B2
US 7,051,246 · App. 10/342,597 · Granted May 23, 2006

Method for estimating clock skew within a communications network

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,051,246
App. No.
10/342,597
Granted
May 23, 2006
Kind
B2
Abstract

A method for calculating an estimate of the clock skew between a sender's clock and a receiver's clock in a packet-based communications network. An adaptive algorithm is employed in which a recursive least squares approach is used to calculate an estimate of the clock skew based on the transmission of a given (i e., the “current”) packet, which estimate is further based on a previous estimate thereof (“a first approximation” thereof). This illustrative process then iterates with each new packet, producing increasingly accurate estimates of the clock skew.

Claims (51)

1. A method of calculating an estimate of a clock skew between a sender clock and a receiver clock in a packet-based communications network, the sender clock associated with a sending location in the communications network from which one or more packets have been transmitted to a receiving location in the communications network, the receiver clock associated with the receiving location in the communications network, the method comprising the steps of:

calculating a first approximation of the clock skew between the sender clock and the receiver clock based on the transmission of one or more of said packets;

evaluating the transmission of a current packet, said current packet having been transmitted subsequent to said transmission of said one or more of said packets, to measure a predetermined characteristic of said transmission of said current packet;

computing a covariance matrix associated with said current packet based on a timestamp of the sender clock representative of said current packet being sent and on a previous covariance matrix associated with a packet transmitted prior to said transmission of said current packet; and

calculating said estimate of the clock skew between the sender clock and the receiver clock based on said first approximation thereof and on said measured characteristic of said transmission of said current packet.

2. The method of claim 1 wherein said predetermined characteristic of said transmission of said current packet comprises an end-to-end transmission delay.

3. The method of claim 2 wherein said end-to-end transmission delay is calculated to be a difference between a timestamp of the sender clock representative of said current packet being sent and a timestamp of the receiver clock representative of said current packet being received.

4. The method of claim 2 wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based at least on an error signal comprising a difference between said measured characteristic comprising said end-to-end transmission delay and an estimate of said end-to-end transmission delay.

5. The method of claim 4 wherein said estimate of said end-to-end transmission delay is calculated based on said first approximation of the clock skew between the sender clock and the receiver clock.

6. The method of claim 1 wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based on said covariance matrix associated with said current packet.

7. The method of claim 6 wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based on a summation of said first approximation of the clock skew between the sender clock and the receiver clock and of a product of:

(i) an inverse of said covariance matrix,

(ii) an error signal comprising a difference between said measured characteristic comprising said end-to-end transmission delay and an estimate of said end-to-end transmission delay, wherein said estimate of said end-to-end transmission delay is calculated based on said first approximation of the clock skew between the sender clock and the receiver clock, and

(iii) a vector comprising said timestamp of the sender clock representative of said current packet being sent.

8. The method of claim 1 further comprising the step of calculating an estimate of a delay jitter associated with said transmission of said current packet.

9. The method of claim 8 wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based at least on an error signal comprising a difference between said measured characteristic comprising said end-to-end transmission delay and an estimate of said end-to-end transmission delay, said error signal being further calculated based on said estimate of said delay jitter associated with said transmission of said current packet.

10. The method of claim 9 wherein said estimate of said end-to-end transmission delay is calculated based on said first approximation of the clock skew between the sender clock and the receiver clock.

11. The method of claim 8 wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based on said covariance matrix associated with said current packet.

12. The method of claim 9 wherein the estimate of the delay jitter is calculated based on:

(i) a previous estimate of the delay jitter,

(ii) an end-to-end transmission delay of said current packet,

(iii) an end-to-end transmission delay of a packet transmitted previous to the transmission of said current packet, and

(iv) said first approximation of the clock skew between the sender clock and the receiver clock.

13. The method of claim 11 wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based on a summation of said first approximation of the clock skew between the sender clock and the receiver clock and of a product of:

(i) an inverse of said covariance matrix,

(ii) an error signal comprising a difference between said measured characteristic comprising said end-to-end transmission delay and an estimate of said end-to-end transmission delay, said error signal being further calculated based on said estimate of said delay jitter associated with said transmission of said current packet, wherein said estimate of said end-to-end transmission delay is calculated based on said first approximation of the clock skew between the sender clock and the receiver clock, and

(iii) a vector comprising said timestamp of the sender clock representative of said current packet being sent.

14. The method of claim 1 further comprising the step of comparing said estimate of the clock skew between the sender clock and the receiver clock with said first approximation of the clock skew between the sender clock and the receiver clock to determine whether said method of calculating said estimate of the clock skew has converged.

15. A method of adaptively adjusting a size of an input buffer associated with a receiving location in a packet-based communications network, one or more packets having been transmitted from a sending location in the communications network to the receiving location in the communications network, the method comprising the steps of:

calculating a first approximation of a clock skew between a sender clock and a receiver clock based on the transmission of one-or more of said packets, the sender clock associated with the sending location in the communications network and the receiver clock associated with the receiving location in the communications network;

evaluating the transmission of a current packet, said current packet having been transmitted subsequent to said transmission of said one or more of said packets, to measure a predetermined characteristic of said transmission of said current packet;

computing a covariance matrix associated with said current packet based on a timestamp of the sender clock representative of said current packet being sent and on a previous covariance matrix associated with a packet transmitted prior to said transmission of said current packet;

calculating an estimate of the clock skew between the sender clock and the receiver clock based on said first approximation thereof and on said measured characteristic of said transmission of said current packet;

comparing said estimate of the clock skew between the sender clock and the receiver clock with said first approximation of the clock skew between the sender clock and the receiver clock to determine whether the calculation of the estimate of the clock skew has converged; and

adjusting the size of the input buffer associated with the receiving location in the communications network based on the estimate of the clock skew between the sender clock and the receiver clock when the calculation of the estimate of the clock skew has converged.

16. The method of claim 15 wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based on said covariance matrix associated with said current packet, and wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated further based on a summation of said first approximation of the clock skew between the sender clock and the receiver clock and of a product of:

(i) an inverse of said covariance matrix,

(ii) an error signal comprising a difference between said measured characteristic comprising said end-to-end transmission delay and an estimate of said end-to-end transmission delay, wherein said estimate of said end-to-end transmission delay is calculated based on said first approximation of the clock skew between the sender clock and the receiver clock, and

(iii) a vector comprising said timestamp of the sender clock representative of said current packet being sent.

17. The method of claim 15 further comprising the step of:

calculating an estimate of a delay jitter associated with said transmission of said current packet,

wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated based on said covariance matrix associated with said current packet, and

wherein said estimate of the clock skew between the sender clock and the receiver clock is calculated further based on a summation of said first approximation of the clock skew between the sender clock and the receiver clock and of a product of:

(i) an inverse of said covariance matrix,

(ii) an error signal comprising a difference between said measured characteristic comprising said end-to-end transmission delay and an estimate of said end-to-end transmission delay, said error signal being further calculated based on said estimate of said delay jitter associated with said transmission of said current packet, wherein said estimate of said end-to-end transmission delay is calculated based on said first approximation of the clock skew between the sender clock and the receiver clock, and

(iii) a vector comprising said timestamp of the sender clock representative of said current packet being sent.

18. An apparatus for calculating an estimate of a clock skew between a sender clock and a receiver clock in a packet-based communications network, the sender clock associated with a sending location in the communications network from which one or more packets have been transmitted to a receiving location in the communications network, the receiver clock associated with the receiving location in the communications network, the apparatus comprising:

means for calculating a first approximation of the clock skew between the sender clock and the receiver clock based on the transmission of one or more of said packets;

means for evaluating the transmission of a current packet, said current packet having been transmitted subsequent to said transmission of said one or more of said packets, to measure a predetermined characteristic of said transmission of said current packet;

means for computing a covariance matrix associated with said current packet based on a timestamp of the sender clock representative of said current packet being sent and on a previous covariance matrix associated with a packet transmitted prior to said transmission of said current packet; and

means for calculating said estimate of the clock skew between the sender clock and the receiver clock based on said first approximation thereof and on said measured characteristic of said transmission of said current packet.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0531 →
MERGER Recorded May 13, 2014
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 032891/0562 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →