用于估计时钟偏移和离差的最大误差的方法和系统的制作方法

文档序号:7968544阅读:196来源:国知局
专利名称:用于估计时钟偏移和离差的最大误差的方法和系统的制作方法
技术领域
本发明总的涉及计算机系统,具体涉及计算机系统中的时间同步。更特别地,本发明涉及用于估计计算机系统中的两个时钟(如本地时钟及其源时钟)之间的偏移和离差(dispersion)的方法和系统。
背景技术
现代计算机使用时钟用于许多目的,包括确保许多操作以正确的顺序或同步地发生。由于这一点,时钟它们自身接近同步地工作是很重要的。典型地,两个时钟常常不是理想同步的,并且时钟之间存在定时差。此外,两个时钟可能不是以完全相同的频率工作,因而时钟之间的定时差随着时间变化。时钟之间的定时差的这个变化称为时钟相位差(clock skew)。
许多计算机定时协议要求诸如对两个时钟之间的相位差和偏移的估计之类的信息。这两个时钟可以是例如,本地时钟及其源时钟。这些估计的精度对于协议的同步是至关重要的。例如,协议可能要求两个服务器之间的计算出的时刻(time of day TOD)偏移包括对计算的精度的估计。这称为时钟偏移离差并且限制计算的最坏情况的误差。尽管已知测量时钟相位差的方法和系统,但这些已知的过程在特定场合下容易非常复杂、不可靠,或者两者都有。

发明内容
本发明的一个目的是提供对计算机系统中的两个时钟之间的偏移和相位差率的最坏情况误差的估计。
本发明的另一个目的是提供对计算机系统中的本地时钟及其源时钟之间的时钟偏移和离差的估计。
用一种用来确定计算机系统中的第一和第二时钟之间的时钟偏移和相位差的最大误差的方法和系统来达到这些和其他目的。该方法包括获得表示第一和第二时钟之间的前向延迟的第一组数据值以及获得表示第一和第二时钟之间的负反向延迟的第二组数据值的步骤。该方法还包括形成对所述第一组数据值的下凸包以及形成对所述第二组数据值的上凸包的步骤。形成上凸包与下凸包之间的第一和第二平行线,并且使用这些平行线来估计所述第一和第二时钟的偏移、相位差率和离差的最坏情况误差。在优选实施例中,例如,从所述凸包的第一端开始、在两个凸包之间旋转所述第一和第二线。更具体地,将第一和第二线旋转到极端位置,并且使用这些极端位置来估计所述最坏情况误差。
通过考虑下面参照附图给出的详细描述,本发明的其他好处和优点将变得清楚,


和示出本发明的优选实施例。

图1示出其中可以实现本发明的数据处理系统的网络。
图2示出图1的网络中的时钟机器B和时钟机器A之间的分组交换。
图3示出用于确定时钟偏移和相位差估计的最大误差的过程。
具体实施例方式
图1示出计算机网络100,包括服务器102、客户端104和数据存储单元106。网络100还包括数据连接110,用于在网络的设备之间传输数据。网络100可以是例如因特网,但也可以是内联网,局域网、广域网、点到点链接、或者其他网络。
在网络100中可以使用任何适合的服务器102。此外,网络100的客户端104可以是例如个人计算机、便携计算机、服务器、工作站、大型计算机或能够在网络上通信的其他设备。类似地,连接器110可以包括大范围的适合的设备,如线缆、光纤或无线通信链接。
如上面提到的,包括服务器定时协议(STP)在内的各种计算机定时协议要求关于计算机系统或网络(如网络100)中的两个时钟之间的相位差和偏移的信息。本发明旨在确定时钟偏移和相位差估计中的最大误差。
现在参照图2,图2示出本地机器B和时钟服务器A之间的分组交换。分组按照B的时钟在时间T1离开B。分组按照A的时钟在时间T2到达A。机器A然后按照A的时钟在时间T3发出应答分组。应答消息按照B的时钟在时间T4到达B。通过定期地发出这种交换消息并记录T1、T2、T3、T4时间戳的序列,可以获得机器B的时钟与机器A的时钟之间的相对偏移和速度差的估计。
根据T1、T2、T3、T4时间戳的序列计算前向和反向延迟(FD和BD)的序列的过程是已知的。例如,在美国专利申请09/920,138和10/157,610以及美国专利6,661,810中描述了这样的过程。特别地,FD=T2-T1,BD=T4-T3。
让我们使用T1(i)、T2(i)、T3(i)、T4(i)、FD(i)和BD(i)表示对第i个分组交换的时间戳和延迟。现有技术在二维平面中构建了两组延迟点{(T1(i),FD(i))|i=1,...}和{(T1(i),BD(i))|i=1,...}。美国专利6661810单独地考虑这两组点,不能产生象本发明那样精确的结果。美国专利申请09/920,138和10/157,610联合地考虑这两组延迟点,产生比美国专利6,661,810更好的精度。
时钟离差估计本发明提供一种用于确定时钟偏移和相位差估计中的最大(或最坏情况)误差的方法。在已知的过程中,最坏情况误差估计常常是通过点估计,即,通过单独地考虑各个点获得的。同时考虑滤波器中的所有点的优点是获得具有较小可计量误差的较好估计。见同时申请No.11/223876(Attorney DocketPOU920050126US1)。
这里,最好假设在迹线中没有转折点。如果有转折点,则可以通过应用转折点识别算法来除去该段(见同时申请No.11/223730(Attorney DocketPOU920050128US1)。当没有转着点时,时钟在延迟点的凸包(convex hull)之间作为直线运行。图3是对称凸包算法的结果的示例。中间的线302是相对时钟线的最佳估计。该线的截距和斜率提供对两个时钟之间的相对偏移和相位差的估计。相对时钟线可以在上面的前向延迟凸包304与下面的负反向延迟凸包306之间自由移动。两个极端情况如虚线310和312所示。这两条线310和312提供对两个时钟之间的相对偏移和相位差的最坏情况误差估计。下面给出优选的正式算法。
构建前向延迟的较低凸包和负的反向延迟的较高凸包。
从左端开始,在这两个凸包之间逆时针旋转一对平行线。
在旋转期间,将平行线相隔尽可能远地放置。这两条平行线接触这两个凸包的顶点。
在旋转处理中,上(前向延迟)凸包上的接触顶点从左向右移动。下(负反向延迟)凸包上的接触顶点从右向左移动。
当上接触顶点移动到下接触顶点的右边时,获得最佳的平行相位差线。
在旋转线最初不穿过两个凸包的任何相邻顶点时,获得第一极端线。
在旋转线最后不穿过两个凸包的任何相邻顶点时,获得第二极端线。
将这两条极端线延伸到当前时间,或者任何给定的未来时间。可以使用这些极端线来给出对偏移、相位差率和离差的最坏情况误差的估计。
本领域技术人员将容易明白,本发明可以用硬件、软件或者硬件和软件的组合实现。任何类型的计算机/服务器系统一或者其他适于执行这里所述的方法的装置-都是适合的。典型的硬件与软件的组合可以是具有计算机程序的通用计算机系统,当加载和执行程序时,执行这里所述的各个方法。或者,可以使用包含用于执行本发明的一个或多个功能任务的专用硬件的专用计算机。
本发明可以嵌入计算机程序产品中,该计算机程序产品包括允许实施这里所述方法的所有相应特征,并且被加载入计算机系统中时,能够执行这些方法。当前上下文中的计算机程序、软件程序、程序或软件是指用任何语言、代码或符号的一组指令的任何表示,用于使具有信息处理能力的系统直接执行特定功能,或者在下面任一或两个过程之后执行特定功能(a)转换成另一语言、代码或符号;和/或(b)以另一材料形式再现。
尽管显然很好地考虑了这里公开的本发明以满足上述目的,但应当理解,本领域技术人员可以设计许多修改和实施例,并且权利要求书意图涵盖所有落入本发明真正宗旨和范围内的那些修改和实施例。
权利要求
1.一种估计计算机系统中的第一和第二时钟之间的时钟偏移和离差的最大误差的方法,该方法包括步骤获得表示第一和第二时钟之间的前向延迟的第一组数据值;获得表示第一和第二时钟之间的负反向延迟的第二组数据值;形成对所述第一组数据值的下凸包;形成对所述第二组数据值的上凸包;形成上凸包与下凸包之间的第一和第二平行线;以及使用所述第一和第二平行线来估计所述第一和第二时钟的偏移、相位差率和离差的最坏情况误差。
2.如权利要求1所述的方法,其中,所述使用步骤包括从所述凸包的第一端开始、在两个凸包之间旋转所述第一和第二线的步骤。
3.如权利要求2所述的方法,其中所述旋转步骤包括步骤i)将所述第一线旋转到对于第一线的极端位置,以及ii)将所述第二线旋转到对于第二线的极端位置;以及所述使用步骤包括使用所述极端位置来估计所述最坏情况误差的另外步骤。
4.如权利要求3所述的方法,其中,所述使用所述极端位置的步骤包括当处在极端位置时将所述第一和第二线延伸到指定时间的步骤。
5.如权利要求4所述的方法,其中,所述指定时间是当前时间。
6.如权利要求3所述的方法,其中在旋转第一线最初不穿过两个凸包的任何相邻顶点时,获得第一线的极端位置;以及在旋转第二线最后不穿过两个凸包的任何相邻顶点时,获得第二线的极端位置。
7.一种用于估计计算机系统中的第一和第二时钟之间的时钟偏移和离差的最大误差的估计系统,该估计系统包括表示第一和第二时钟之间的前向延迟的第一组数据值;表示第一和第二时钟之间的负反向延迟的第二组数据值;用于形成对所述第一组数据值的下凸包的装置;用于形成对所述第二组数据值的上凸包的装置;用于形成上凸包与下凸包之间的第一和第二平行线的装置;和用于使用所述第一和第二平行线来估计所述第一和第二时钟的偏移、相位差率和离差的最坏情况误差的装置。
8.如权利要求7所述的估计系统,其中,所述用于使用的装置包括用于从所述凸包的第一端开始、在两个凸包之间旋转所述第一和第二线的装置。
9.如权利要求8所述的估计系统,其中所述用于旋转步骤的装置包括用于将所述第一线旋转到对于第一线的极端位置以及将所述第二线旋转到对于第二线的极端位置的装置;以及所述用于使用的装置包括用于使用所述极端位置来估计所述最坏情况误差的装置。
10.如权利要求9所述的估计系统,其中,所述用于使用所述极端位置的装置包括用于当处在极端位置时将所述第一和第二线延伸到指定时间的装置。
11.如权利要求10所述的估计系统,其中,所述指定时间是当前时间。
12.如权利要求9所述的估计系统,其中在旋转第一线最初不穿过两个凸包的任何相邻顶点时,获得第一线的极端位置;以及在旋转第二线最后不穿过两个凸包的任何相邻顶点时,获得第二线的极端位置。
13.一种机器可读的、具体实现机器可执行指令的程序的程序存储设备,该程序执行用于估计计算机系统中的第一和第二时钟之间的时钟偏移和离差的最大误差的方法步骤,所述方法是根据前面任一个方法权利要求的。
全文摘要
公开一种估计计算机系统中的两个时钟之间的时钟偏移和相位差估计的最大误差的方法和系统。该方法包括获得表示第一和第二时钟之间的前向延迟的第一组数据值以及获得表示第一和第二时钟之间的负反向延迟的第二组数据值的步骤。该方法还包括形成对所述第一组数据值的下凸包以及形成对所述第二组数据值的上凸包的步骤。形成上凸包与下凸包之间的第一和第二平行线,并且使用这些平行线来估计所述第一和第二时钟的偏移、相位差率和离差的最坏情况误差。
文档编号H04L29/06GK1929364SQ20061012804
公开日2007年3月14日 申请日期2006年9月4日 优先权日2005年9月9日
发明者张立, 斯科特·M·卡尔森, 米歇尔·H·T·哈克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1