Claims
- 1. A method for removing the effect of clock skew between data processing systems, comprising:
making delay measurements between two data processing systems connected by a network; forming a set of data points, wherein each data point in the set of data points comprises a time and a delay measurement for the respective time; finding a convex hull of the set of data points, wherein the convex hull is bounded by a number of line segments; selecting a one of the line segments that optimizes an objective function; extrapolating the one of the line segments to obtain an affine function; and removing the effect of clock skew between the two data processing systems as characterized by the affine function.
- 2. The method of claim 1, wherein the one of the line segments is selected so that a line containing the one of the line segments will contain a maximal number of data points from the set of data points.
- 3. The method of claim 1, wherein the one of the line segments is selected so that the sum of the vertical distances between each of the set of data points and a line containing the one of the line segments will be minimized.
- 4. The method of claim 3, wherein selecting the one of the line segments includes:
calculating an arithmetic mean of x-coordinates of all of the set of data points; and selecting a one of the line segments that contains a point whose x-coordinate is equal to the arithmetic mean.
- 5. The method of claim 1, wherein the one of the line segments is selected so that the area between a plot of a piecewise-linear function containing the set of data points and a line containing the one of the line segments will be minimized.
- 6. The method of claim 5, wherein selecting the one of the line segments includes:
calculating an arithmetic mean of an x-coordinate of a first data point and an x-coordinate of a second data point, wherein the x-coordinate of the first data point is the lowest of any data point in the set of data points, and wherein the x-coordinate of the second data point is the greatest of any data point in the set of data points; and selecting a one of the line segments that contains a point whose x-coordinate is equal to the arithmetic mean.
- 7. The method of claim 1, wherein the x-coordinate of each data point in the set of data points represents a time measurement.
- 8. The method of claim 1, wherein the y-coordinate of each data point in the set of data points represents a delay measurement.
- 9. The method of claim 8, wherein the delay measurement is a communication delay between two data processing systems connected by a network.
- 10. A computer program product, in a computer-readable medium, for removing the effect of clock skew between data processing systems, comprising instructions for:
making a delay measurement between two data processing systems connected by a network; forming a set of data points, wherein each data point in the set of data points comprises a time and a delay measurement for the respective time; finding a convex hull of the set of data points, wherein the convex hull is bounded by a number of line segments; selecting a one of the line segments that optimizes an objective function; extrapolating the one of the line segments to obtain an affine function; and removing the effect of clock skew between the two data processing systems as characterized by the affine function.
- 11. The computer program product of claim 10, wherein the one of the line segments is selected so that a line containing the one of the line segments will contain a maximal number of data points from the set of data points.
- 12. The computer program product of claim 10, wherein the one of the line segments is selected so that the sum of the vertical distances between each of the set of data points and a line containing the one of the line segments will be minimized.
- 13. The computer program product of claim 12, wherein the instructions for selecting the one of the line segments include instructions for:
calculating an arithmetic mean of x-coordinates of all of the set of data points; and selecting a one of the line segments that contains a point whose x-coordinate is equal to the arithmetic mean.
- 14. The computer program product of claim 10, wherein the one of the line segments is selected so that the area between a plot of a piecewise-linear function containing the set of data points and a line containing the one of the line segments will be minimized.
- 15. The computer program product of claim 14, wherein the instructions for selecting the one of the line segments include instructions for:
calculating an arithmetic mean of an x-coordinate of a first data point and an x-coordinate of a second data point, wherein the x-coordinate of the first data point is the lowest of any data point in the set of data points, and wherein the x-coordinate of the second data point is the greatest of any data point in the set of data points; and selecting a one of the line segments that contains a point whose x-coordinate is equal to the arithmetic mean.
- 16. The computer program product of claim 10, wherein the x-coordinate of each data point in the set of data points represents a time measurement.
- 17. The computer program product of claim 10, wherein the y-coordinate of each data point in the set of data points represents a delay measurement.
- 18. The computer program product of claim 17, wherein the delay measurement is a communication delay between two data processing systems connected by a network.
- 19. A data processing system for removing the effect of clock skew between data processing systems, comprising:
a bus system; a processing unit connected to the bus system, wherein the processing unit contains at least one processor; a memory connected to the bus system; and a set of instructions, wherein the processing unit executes the set of instructions to perform the acts of:
making a delay measurement between two data processing systems connected by a network; forming a set of data points, wherein each data point in the set of data points comprises a time and a delay measurement for the respective time; finding a convex hull of the set of data points, wherein the convex hull is bounded by a number of line segments; selecting a one of the line segments that optimizes an objective function; and extrapolating the one of the line segments to obtain an affine function; and removing the effect of clock skew between the two data processing systems as characterized by the affine function.
- 20. The data processing system of claim 19, wherein the one of the line segments is selected so that a line containing the one of the line segments will contain a maximal number of data points from the set of data points.
- 21. The data processing system of claim 19, wherein the one of the line segments is selected so that the sum of the vertical distances between each of the set of data points and a line containing the one of the line segments will be minimized.
- 22. The data processing system of claim 21, wherein the act of selecting the one of the line segments includes:
calculating an arithmetic mean of x-coordinates of all of the set of data points; and selecting a one of the line segments that contains a point whose x-coordinate is equal to the arithmetic mean.
- 23. The data processing system of claim 19, wherein the one of the line segments is selected so that the area between a plot of a piecewise-linear function containing the set of data points and a line containing the one of the line segments will be minimized.
- 24. The data processing system of claim 23, wherein the act of selecting the one of the line segments includes:
calculating an arithmetic mean of an x-coordinate of a first data point and an x-coordinate of a second data point, wherein the x-coordinate of the first data point is the lowest of any data point in the set of data points, and wherein the x-coordinate of the second data point is the greatest of any data point in the set of data points; and selecting a one of the line segments that contains a point whose x-coordinate is equal to the arithmetic mean.
- 25. The data processing system of claim 19, wherein the x-coordinate of each data point in the set of data points represents a time measurement.
- 26. The data processing system of claim 19, wherein the y-coordinate of each data point in the set of data points represents a delay measurement.
- 27. The data processing system of claim 26, wherein the delay measurement is a communication delay between two data processing systems connected by a network.
Parent Case Info
[0001] The present application claims priority from U.S. Provisional Patent Application No. 60/244,228, filed Oct. 30, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60244228 |
Oct 2000 |
US |