IP Library Granted Patent US 8,750,335
Granted Patent B2
US 8,750,335 · App. 13/505,508 · Granted Jun 10, 2014

Method, system and computer program product for measuring a communication from a first device to a second device

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,750,335
App. No.
13/505,508
Granted
Jun 10, 2014
Kind
B2
Abstract

In response to communications from a first device to a second device, respective phase differences are estimated between a first clock of the first device and a second clock of the second device. A first average phase difference is computed within a percentile of a first subset of the respective phase differences. The percentile is less than 100. A second average phase difference is computed within the percentile of a second subset of the respective phase differences. The second subset is a modification of the first subset. The second average phase difference is computed in response to the first average phase difference and the modification.

Claims (43)

1. A system for measuring communications from a first device to a second device, comprising:

a measuring device for: in response to the communications, estimating respective phase differences between a first clock of the first device and a second clock of the second device; computing a first average phase difference within a percentile of a first subset of the respective phase differences, wherein the percentile is less than 100; and computing a second average phase difference within the percentile of a second subset of the respective phase differences, wherein the second subset is a modification of the first subset, and wherein the second average phase difference is computed in response to the first average phase difference and the modification.

2. The system of claim 1 , wherein the modification includes deleting an oldest respective phase difference and inserting a next respective phase difference.

3. The system of claim 1 , wherein the measuring device is for computing the second average phase difference by at least one of the following: subtracting from the first average phase difference in response to the modification; and adding to the first average phase difference in response to the modification.

4. The system of claim 1 , wherein the measuring device is for storing the second subset of the respective phase differences, according to their respective percentiles, in a tree data structure; wherein the second average phase difference is computed in response to the first average phase difference and at least one of the following: a next highest respective phase difference identified by traversing the tree data structure in response to the modification; and a next lowest respective phase difference identified by traversing the tree data structure in response to the modification.

5. The system of claim 4 , wherein the tree data structure is at least partially balanced.

6. The system of claim 4 , wherein the tree data structure is a red-black tree data structure.

7. The system of claim 1 , wherein the measuring device is for: in response to the communications, estimating respective delays between times when the first device outputs the communications and times when the second device receives the communications; and, in response to the respective delays, computing the respective phase differences.

8. The system of claim 1 , wherein the measuring device is for: in response to the first average phase difference and the second average phase difference, computing a time deviation for measuring a quality of synchronization between the first and second devices.

9. The system of claim 1 , wherein the communications are packets associated with respective timestamps.

10. The system of claim 1 , wherein the percentile is a percentile range between a first percentile and a second percentile, wherein the first percentile is greater than 0, and wherein the second percentile is less than 100.

11. A method performed by an information handling system for measuring communications from a first device to a second device, the method comprising:

in response to the communications, estimating respective phase differences between a first clock of the first device and a second clock of the second device;

computing a first average phase difference within a percentile of a first subset of the respective phase differences, wherein the percentile is less than 100; and

computing a second average phase difference within the percentile of a second subset of the respective phase differences, wherein the second subset is a modification of the first subset, and wherein the second average phase difference is computed in response to the first average phase difference and the modification.

12. The method of claim 11 , wherein the modification includes deleting an oldest respective phase difference and inserting a next respective phase difference.

13. The method of claim 11 , wherein computing the second average phase difference comprises at least one of the following:

subtracting from the first average phase difference in response to the modification; and

adding to the first average phase difference in response to the modification.

14. The method of claim 11 , and comprising:

storing the second subset of the respective phase differences, according to their respective percentiles, in a tree data structure;

wherein the second average phase difference is computed in response to the first average phase difference and at least one of the following: a next highest respective phase difference identified by traversing the tree data structure in response to the modification; and a next lowest respective phase difference identified by traversing the tree data structure in response to the modification.

15. The method of claim 14 , wherein the tree data structure is at least partially balanced.

16. The method of claim 14 , wherein the tree data structure is a red-black tree data structure.

17. The method of claim 11 , wherein the estimating comprises:

in response to the communications, estimating respective delays between times when the first device outputs the communications and times when the second device receives the communications; and

in response to the respective delays, computing the respective phase differences.

18. The method of claim 11 , and comprising:

in response to the first average phase difference and the second average phase difference, computing a time deviation for measuring a quality of synchronization between the first and second devices.

19. The method of claim 11 , wherein the communications are packets associated with respective timestamps.

20. The method of claim 11 , wherein the percentile is a percentile range between a first percentile and a second percentile, wherein the first percentile is greater than 0, and wherein the second percentile is less than 100.

21. A computer program product for measuring communications from a first device to a second device, the computer program product comprising:

a non-transitory computer-readable storage medium having a computer-readable program embodied therewith, the computer-readable program comprising:

computer-readable instructions processable by an information handling system for causing the information handling system to: in response to the communications, estimate respective phase differences between a first clock of the first device and a second clock of the second device; compute a first average phase difference within a percentile of a first subset of the respective phase differences, wherein the percentile is less than 100; and compute a second average phase difference within the percentile of a second subset of the respective phase differences, wherein the second subset is a modification of the first subset, and wherein the second average phase difference is computed in response to the first average phase difference and the modification.

22. The computer program product of claim 21 , wherein the modification includes deleting an oldest respective phase difference and inserting a next respective phase difference.

23. The computer program product of claim 21 , wherein the computer-readable instructions are processable by the information handling system for causing the information handling system to compute the second average phase difference by at least one of the following: subtracting from the first average phase difference in response to the modification; and adding to the first average phase difference in response to the modification.

24. The computer program product of claim 21 , wherein the computer-readable instructions are processable by the information handling system for causing the information handling system to store the second subset of the respective phase differences, according to their respective percentiles, in a tree data structure; wherein the second average phase difference is computed in response to the first average phase difference and at least one of the following: a next highest respective phase difference identified by traversing the tree data structure in response to the modification; and a next lowest respective phase difference identified by traversing the tree data structure in response to the modification.

25. The computer program product of claim 24 , wherein the tree data structure is at least partially balanced.

26. The computer program product of claim 24 , wherein the tree data structure is a red-black tree data structure.

27. The computer program product of claim 21 , wherein the computer-readable instructions are processable by the information handling system for causing the information handling system to: in response to the communications, estimate respective delays between times when the first device outputs the communications and times when the second device receives the communications; and, in response to the respective delays, compute the respective phase differences.

28. The computer program product of claim 21 , wherein the computer-readable instructions are processable by the information handling system for causing the information handling system to: in response to the first average phase difference and the second average phase difference, compute a time deviation for measuring a quality of synchronization between the first and second devices.

29. The computer program product of claim 21 , wherein the communications are packets associated with respective timestamps.

30. The computer program product of claim 21 , wherein the percentile is a percentile range between a first percentile and a second percentile, wherein the first percentile is greater than 0, and wherein the second percentile is less than 100.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: ANUE SYSTEMS, INC.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 043898/0920 →
RELEASE OF SECURITY INTEREST Recorded Aug 24, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: ANUE SYSTEMS, INC.
Reel/Frame 043384/0988 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: ANUE SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2012
From: WEBB, CHARLES ALBERT, III
To: ANUE SYSTEMS, INC.
Reel/Frame 028279/0356 →