Clock synchronization with removal of clock skews through network measurements in derivation of a convext hull
First Claim
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, 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, and further wherein selecting the one of the line segments includes;
calculating an arithmetic mean of x-coordinate 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.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, computer program product, and data processing system for estimating and correcting the amount of clock skew in end-to-end network timing measurements is disclosed. Measured delays are combined with their time of measurement to create ordered pairs. These ordered pairs represent points within a Cartesian plane. The convex hull of these points is determined, and an optimal line segment from the resulting polygon is selected and extrapolated to create an affine function estimating clock skew over time. The optimal line segment of the polygon is one that optimizes a selected objective function. The objective function is selected so as to be an appropriate measurement of the accuracy of the resulting linear function as an estimate of the actual clock skew.
23 Citations
15 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, 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, and further wherein selecting the one of the line segments includes;
calculating an arithmetic mean of x-coordinate 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. - View Dependent Claims (3, 4, 5)
-
-
2. 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 characterize by the affine function, 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, and further 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.
-
-
6. 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, 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, and further 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. - View Dependent Claims (8, 9, 10)
-
-
7. 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, 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, and further 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.
-
-
11. 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, 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 one of the line segments will be minimized, and further 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. - View Dependent Claims (13, 14, 15)
-
-
12. 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, 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, and further 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.
-
Specification