用于在第一和第二计算机上同步计时时钟的系统和方法

文档序号:6259494阅读:132来源:国知局
专利名称:用于在第一和第二计算机上同步计时时钟的系统和方法
技术领域
本发明涉及一种用于在一个联网系统中的第一和第二计算机上同步计时时钟的系统、方法和产品。
背景技术
联网系统中的计算机服务器被配置来保持计时同步。计算机服务器利用计时同步来确定计算机服务器完成任务的时间顺序。追踪完成任务的顺序对于修复例如被破坏的或丢失的文件是有用的。
为了获得计时同步,计算机服务器互相交换由计时时钟确定的时间标记。这种方法的一个缺点,在于当计算机接近最大处理能力来运行其它任务时,从第一计算机中的计时时钟访问计时时间标记值的第一计算机中的软件程序,可能无法立即生成一个包含所述时间标记值的报文。这样,当从第一计算机向第二计算机发送所述报文时,所述时间标记值可能不能精确地表示发送所述报文的实际时间。而且,从第一计算机向第二计算机发送的所述报文的发送时间间隔可以变化。当第二计算机接收所述报文并试图使它的计时时钟与所述时间标记值同步时,可能在第一计算机中的计时时钟和第二计算机中的计时时钟之间出现相对较大的时间差异。
因此,需要有一种系统和一种方法来提供在相互通信的计算机之间计时时钟的改善的同步。

发明内容
提供了一种依照典型的实施例,使分别在第一和第二计算机上的第一和第二计时时钟同步的方法。第一计算机在一个第一网络接口卡上有一个第三时钟。第二计算机在一个第二网络接口卡上有一个第四时钟。第一和第二网络接口卡经由通信网络而相互通信。所述方法包括生成一个有一个第一时间差异值和一个第二时间标记值的第一报文,并从第一网络接口卡发送所述第一报文。所述第一时间差异值对应于在第一计时时钟和第三时钟之间的时间差异。所述第二时间标记值对应于当从第一网络接口卡发送所述第一报文时,由第一网络接口卡上的第三时钟确定的时间。所述方法进一步包括在第二计算机的第二接口卡上接收所述第一报文。所述方法进一步包括生成一个有所述第一时间差异值、所述第二时间标记值、一个第三时间标记值、一个第四时间差异值以及一个第五时间标记值的第二报文,并从第二网络接口卡发送所述第二报文。所述第三时间标记值对应于当由第二网络接口卡接收到所述第一报文时,由第二网络接口卡上的第四时钟确定的时间。所述第四时间差异值对应于在第二计时时钟和第四时钟之间的时间差异。所述第五时间标记值对应于当从第二网络接口卡发送所述第二报文时,由第四时钟确定的时间。所述方法进一步包括在第一网络接口卡上接收所述第二报文,并确定一个与所述第二报文相关的第六时间标记值。所述第六时间标记值对应于当由第一网络接口卡接收到所述第二报文时,由第三时钟确定的时间。所述方法进一步包括根据第一时间差异值、第二时间标记值、第三时间标记值、第四时间差异值、第五时间标记值以及第六时间标记值,来确定一个对应于在第一和第二计时时钟之间的时间差异的第七时间差异值。
提供了一种依照另一典型实施例的联网系统。所述联网系统包括一个有一个第一网络接口卡和一个第一计时时钟的第一计算机,以及一个有一个第二网络接口卡和一个第二计时时钟的第二计算机。第一网络接口卡有一个第三时钟,并且第二网络接口卡有一个第四时钟。第一计算机被配置来生成一个有一个第一时间差异值和一个第二时间标记值的第一报文,并从第一网络接口卡发送所述第一报文。所述第一时间差异值对应于在第一计时时钟和第三时钟之间的时间差异。所述第二时间标记值对应于当从第一网络接口卡发送所述第一报文时,由第一网络接口卡上的第三时钟确定的时间。第二计算机被配置来在第二接口卡上接收所述第一报文。第二计算机进一步被配置来生成一个有所述第一时间差异值、所述第二时间标记值、一个第三时间标记值、一个第四时间差异值以及一个第五时间标记值的第二报文,并从第二网络接口卡发送所述第二报文。所述第三时间标记值对应于当由第二网络接口卡接收到所述第一报文时,由第二网络接口卡上的第四时钟确定的时间。所述第四时间差异值对应于在第二计时时钟和第四时钟之间的时间差异。所述第五时间标记值对应于当从第二网络接口卡发送所述第二报文时,由第四时钟确定的时间。第一计算机进一步被配置来在第一网络接口卡上接收所述第二报文,并确定一个与所述第二报文相关的第六标记值。所述第六时间标记值对应于当由第一网络接口卡接收到所述第二报文时,由第三时钟确定的时间。第一计算机进一步被配置来根据第一时间差异值、第二时间标记值、第三时间标记值、第四时间差异值、第五时间标记值以及第六时间标记值,来确定一个对应于在第一和第二计时时钟之间的时间差异的第七时间差异值。
提供了一种依照另一典型实施例的产品。所述产品包括一个其中编码了一个计算机程序以使分别在第一和第二计算机上的第一和第二计时时钟同步的计算机存储介质。第一计算机在一个第一网络接口卡上有一个第三时钟,并且第二计算机在一个第二网络接口卡上有一个第四时钟。第一和第二网络接口卡经由通信网络而相互通信。所述计算机存储介质包括代码,以用于生成一个有一个第一时间差异值和一个第二时间标记值的第一报文,并从第一网络接口卡发送所述第一报文。所述第一时间差异值对应于在第一计时时钟和第三时钟之间的时间差异。所述第二时间标记值对应于当从第一网络接口卡发送所述第一报文时,由第一网络接口卡上的第三时钟确定的时间。所述产品进一步包括代码,以用于在第二计算机的第二接口卡上接收所述第一报文。所述产品进一步包括代码,以用于生成一个有所述第一时间差异值、所述第二时间标记值、一个第三时间标记值、一个第四时间差异值以及一个第五时间标记值的第二报文,并从第二网络接口卡发送所述第二报文。所述第三时间标记值对应于当由第二网络接口卡接收到所述第一报文时,由第二网络接口卡上的第四时钟确定的时间。所述第四时间差异值对应于在第二计时时钟和第四时钟之间的时间差异。所述第五时间标记值对应于当从第二网络接口卡发送所述第二报文时,由第四时钟确定的时间。所述产品进一步包括代码,以用于在第一网络接口卡上接收所述第二报文,并确定一个与所述第二报文相关的第六时间标记值。所述第六时间标记值对应于当由第一网络接口卡接收到所述第二报文时,由第三时钟确定的时间。所述产品进一步包括代码,以用于根据第一时间差异值、第二时间标记值、第三时间标记值、第四时间差异值、第五时间标记值以及第六时间标记值,来确定一个对应于在第一和第二计时时钟之间的时间差异的第七时间差异值。
对于一个熟悉技术的人来说,基于查看下列附图以及详细的描述,依照实施例的其它系统和方法将是或将变得显而易见。预期这种额外的系统和方法完全在附上的权利要求的范围之内。


图1是一个用于使在第一和第二计算机上的第一和第二计时时钟同步的联网系统;图2描绘了一个从图1的第一计算机向第二计算机发送的第一同步报文;图3描绘了在图2的第一同步报文从第一计算机发送之前,它的有效载荷部分;图4描绘了在被第二计算机接收之后,图2的第一同步报文的有效载荷部分;图5描绘了一个从第二计算机向第一计算机发送的第二同步报文;图6描绘了在图5的第二同步报文从第二计算机发送之前,它的有效载荷部分;图7描绘了在被第一计算机接收之后,图5的第二同步报文的有效载荷部分;以及图8-11是一种用于使在第一和第二计算机上的第一和第二计时时钟同步的方法的流程图。
具体实施例方式
参见图1,提供了一个用于同步分别在计算机12、14中的计时时钟30、70的联网系统10。该联网系统10包括计算机12、计算机14以及一个通信网络16。
计算机12通过通信网络16可操作地与计算机14通信。计算机12包括一个处理器18和一个可操作地与所述处理器18通信的网络接口卡20。
处理器18包括所述计时时钟30、一个管理程序模块32以及一个同步数据缓冲器34。计时时钟30生成一个表示当前时间的时间值(TOD1)。当处理器18确定将从计算机12向计算机14发送一个同步报文时,处理器18促使管理程序模块32从时钟30中获得所述时间值(TOD1)。管理程序模块32利用公式δ1=TOD1-HCATIME1,来计算在计时时钟30和网络接口卡时钟48之间的时间差异(δ1),其中HCATIME1的值由时钟48生成。此后,管理程序模块32将δ1的值传递给同步数据缓冲器34,其覆写保存在缓冲器34中的一个同步报文100中的δ1的值。此后,缓冲器34将所述同步报文100传递给网络接口卡20的报文头部生成模块40。
网络接口卡20被可操作地连接到处理器18,并被提供来向计算机14发送报文以及从计算机14接收报文。网络接口卡20包括所述报文头部生成模块40、一个同步确定覆写模块42、一个报文存储模块44、一个网络接口卡时钟48以及一个通信端口50。
参见图1-4,提供了报文头部生成模块40以在一个从计算机12发送的同步报文中包括传输协议信息。特别地,当报文头部生成模块40从同步数据缓冲器34中接收同步报文100时,模块40覆写同步报文100中的字段102、104和106。字段102包括一个与计算机12的通信端口50相关的端口1地址,以及一个与计算机14的通信端口90相关的端口2地址。字段104包括一个接收同步缓冲号码(B2),其与计算机14的专用于接收同步报文的一个同步数据缓冲器74相关。字段106包括一个发送同步缓冲号码(B1),其与计算机12的专用于接收同步报文的同步数据缓冲器34相关。
提供了同步确定覆写模块42以确定从报文头部生成模块40或通信端口50接收的报文是否包括一个用于使计时时钟30、70同步的同步报文。而且,进一步提供模块42来在一个从由计算机12发送的或由计算机12接收的同步报文中覆写一个从网络接口卡时钟48中获得的时间标记值。
当同步确定覆写模块42从报文头部生成模块40中接收第一报文100时,模块42将报文100中的缓冲号码(B2)与一个对应于计算机14的同步数据缓冲器74的第一预定值相比较,以确定报文100是否是一个同步报文。当缓冲号码(B2)等于第一预定值时,这表示报文100是一个同步报文,模块42访问一个由网络接口卡时钟48生成的时间标记值(TX_TIME1)。该时间标记值(TX_TIME1)对应于报文100从计算机12发送的时间。此后,模块42覆写同步报文100中的时间标记值(TX_TIME1),并将报文100传递给通信端口50。通信端口50通过通信网络16向计算机14的通信端口90发送同步报文100。
或者,当同步确定覆写模块42从通信端口50中接收一个报文150时,模块42将报文150中的缓冲号码(Bl)与一个对应于计算机12的同步数据缓冲器34的第二预定值相比较,以确定接收到的报文150是否是一个来自计算机14的同步报文。当缓冲号码(Bl)等于第二预定值时,这表示报文150是一个同步报文,模块42获得一个由网络接口卡时钟48生成的时间标记值(RX_TIME1)。该时间标记值(RX_TIME1)对应于计算机12接收到报文150的时间。此后,模块42覆写报文150中的时间标记值(RX_TIME1)。此后,模块42将报文150传递给报文存储模块44。
提供了报文存储模块44,以将由计算机12接收的同步报文引导到同步数据缓冲器34。例如,当计算机12接收同步报文150时,同步确定覆写模块42将报文150传递给报文存储模块44。此后,报文存储模块44将报文150传递给同步数据缓冲器34。
参见图1,计算机14通过通信网络16可操作地与计算机12通信。计算机14包括一个处理器60和一个可操作地与所述处理器60通信的网络接口卡62。
处理器60包括所述计时时钟70、一个管理程序模块72以及一个同步数据缓冲器74。计时时钟70生成一个表示当前时间的时间值(TOD2)。当处理器70确定在从计算机12接收了一个同步报文100之后将发送一个同步报文时,处理器70促使管理程序模块72从时钟70中获得所述时间值(TOD2)。管理程序模块72利用公式δ2=TOD2-HCATIME2,来计算在计时时钟70和网络接口卡时钟88之间的时间差异(δ2),其中HCATIME2的值由时钟88生成。此后,管理程序模块72复制报文100的有效载荷区域,并在保存于缓冲器74中的报文150中保存所述复制的有效载荷区域。而且,管理程序模块72覆写报文150中的所述值(δ2)。此后,缓冲器74将报文150传递给网络接口卡62的报文头部生成模块80。
参见图1-4,网络接口卡62被可操作地连接到处理器60,并被提供来从计算机14向计算机12发送报文以及从计算机12接收报文。网络接口卡62包括所述报文头部生成模块80、一个同步确定覆写模块82、一个报文存储模块84、一个网络接口卡时钟88以及一个通信端口90。
提供了报文头部生成模块80以在一个从计算机14发送的同步报文中包括传输协议信息。特别地,当报文头部生成模块80从同步数据缓冲器74中接收同步报文150时,模块80覆写同步报文150中的字段152、154和156。字段152包括一个与计算机12的通信端口50相关的端口1地址,以及一个与计算机14的通信端口90相关的端口2地址。字段154包括一个接收同步缓冲号码(B1),其与计算机12的专用于接收同步报文的一个同步数据缓冲器34相关。字段156包括一个发送同步缓冲号码(B2),其与计算机14的专用于接收同步报文的同步数据缓冲器74相关。
提供了同步确定覆写模块82以确定从报文头部生成模块80或通信端口90接收的报文是否包括一个用于使计时时钟30、70同步的同步报文。而且,进一步提供模块82来在一个从由计算机14发送的或由计算机14接收的同步报文中覆写一个从网络接口卡时钟88中获得的时间标记值。
当同步确定覆写模块82从通信端口90中接收报文100时,模块82将报文100中的缓冲号码(B2)与一个对应于同步数据缓冲器74的第一预定值相比较,以确定报文100是否是一个同步报文。当缓冲号码(B2)等于第一预定值时,这表示报文100是一个同步报文,模块82访问一个由网络接口卡时钟88生成的时间标记值(RX_TIME2)。该时间标记值(RX_TIME2)对应于计算机14接收到报文100的时间。此后,模块82覆写同步报文100中的时间标记值(RX_TIME2),并将报文100传递给报文存储模块84。
或者,当同步确定覆写模块82从报文头部生成模块80中接收报文150时,模块82将缓冲号码(B1)与一个对应于计算机12的同步数据缓冲器34的第二预定值相比较,以确定报文150是否是一个从计算机14发送的同步报文。当缓冲号码(B1)等于第二预定值时,这表示报文150是一个同步报文,模块82获得一个由网络接口卡时钟88生成的时间标记值(TX_TIME2)。该时间标记值(TX_TIME2)对应于从计算机14发送报文150的时间。此后,模块82覆写报文150中的时间标记值(TX_TIME2)。此后,模块82将报文150传递给通信端口90,其通过通信网络16向计算机12的通信端口50发送报文150。
提供了报文存储模块84,以将由计算机14接收的同步报文引导到同步数据缓冲器74。例如,当计算机14接收同步报文100时,同步确定覆写模块82将报文100传递给报文存储模块84。报文存储模块84将报文100传递给同步数据缓冲器74。
参见图8-11,将利用联网系统10来解释一种用于使在一个联网系统中的计时时钟同步的方法。
在步骤200中,处理器80在计算机12的同步数据缓冲器34中加载报文100的一部分。
在步骤202中,管理程序模块32在同步数据缓冲器34的报文100中,保存在由计时时钟30生成的时间值(TOD1)和由网络接口卡时钟48生成的时间值(HCATime1)之间的差异值(δ1)。
在步骤204中,同步数据缓冲器34将报文100传递给网络接口卡20中的报文头部生成模块40。
在步骤206中,报文头部生成模块40在报文100的标题部分中覆写下列信息(i)计算机12的端口1地址和计算机14的端口2地址,(ii)与计算机14中的同步数据缓冲器74相关的同步缓冲号码(B2),以及(iii)与计算机12中的同步数据缓冲器34相关的同步缓冲号码(B1)。此后,报文头部生成模块40将报文100传递给同步确定覆写模块42。
在步骤208中,同步确定覆写模块42将同步缓冲号码(B1)与一个预定值相比较,以便确定报文100是否是一个同步报文。当报文100是一个同步报文时,模块42在报文100中覆写从网络接口卡时钟48中获得的发送的时间标记(TX_TIME1),并将报文100传递给通信端口50。通信端口50通过通信网络16向计算机14的通信端口90发送报文100。
在步骤210中,同步确定覆写模块82将同步缓冲号码(B2)与一个预定值相比较,以便确定报文100是否是一个同步报文。当报文100是一个同步报文时,模块82在报文100中覆写从网络接口卡时钟88中获得的接收的时间标记值(RX_TIME2),并将报文100传递给报文存储模块84。
在步骤212中,报文存储模块84将报文100传递给同步数据缓冲器74。
在步骤214中,管理程序模块72在缓冲器74中的一个报文150的有效载荷区域中复制所述报文100。管理程序模块72在报文150中进一步保存在来自时钟70的(TOD2)时间值和来自时钟88的(HCATIME2)的值之间的差异值(δ2)。
在步骤216中,同步数据缓冲器74将报文150传递给网络接口卡62中的报文头部生成模块80。
在步骤218中,报文头部生成模块80在报文100的标题部分中覆写下列信息(i)计算机12的端口1地址和计算机14的端口2地址,(ii)与计算机12中的同步数据缓冲器34相关的同步缓冲号码(B1),以及(iii)与计算机14中的同步数据缓冲器74相关的同步缓冲号码(B2)。此后,报文头部生成模块80将报文150传递给同步确定覆写模块82。
在步骤220中,同步确定覆写模块82将同步缓冲号码(B2)与一个预定值相比较,以便确定报文150是否是一个同步报文。当报文150是一个同步报文时,模块82在报文150中覆写从网络接口卡时钟88中获得的发送的时间标记(TX_TIME2),并将报文150传递给通信端口90。通信端口90通过通信网络16向计算机12的通信端口50发送报文150。
在步骤222中,同步确定覆写模块42将报文150中的同步缓冲号码(B1)与一个预定值相比较,以便确定报文150是否是一个同步报文。当报文150是一个同步报文时,模块42在报文150中覆写从网络接口卡时钟48中获得的接收的时间标记值(RX_TIME1),并将报文150传递给报文存储模块44。
在步骤224中,报文存储模块44将报文150传递给同步数据缓冲器34。
在步骤226中,管理程序模块32利用下述公式ΔT1=1/2((RX_TIME2-TX_TIME1)-(RX_TIME1-TX_TIME2)),来计算在网络接口卡时钟48和网络接口卡时钟88之间的时间差异(ΔT1)。
在步骤228中,管理程序模块32利用下述公式ΔT2=1/2((RX_TIME2-TX_TIME1)-(RX_TIME1-TX_TIME2))+(δ2-δ1),来计算在计时时钟30和计时时钟70之间的时间差异(ΔT2)。
在步骤230中,处理器18使用时间差异(ΔT2),使计时时钟30与计时时钟70同步。
所述用于使分别在第一和第二计算机中的第一和第二计时时钟同步的系统和方法,表现出与已知的系统和方法相比相当大的优势。所述系统和方法提供了利用由分别在第一和第二计算机中的第一和第二网络接口卡时钟生成的时间标记值的技术效果,以更精确地使第一和第二计时时钟同步。特别地,因为网络接口卡中的时钟可以生成非常精确的与接收和发送报文相关的时间标记值,可以利用这些时间标记值来获得计时时钟的更精确的同步。特别地,所述方法和系统可以实现在第一和第二计时时钟之间的次微秒级同步。
尽管本发明是参照一个典型的实施例来描述的,但那些熟悉技术的人应当理解可以进行各种改变,并且等效物可以替代其元件而无需背离本发明的范围。此外,可以对本发明的讲授进行许多修改,以适合于特殊的情形而无需背离其范围。因此,意在本发明不受被公开以用于执行本发明的所述实施例的限制,而是本发明包括落在计划的权利要求的范围内的所有实施例。而且,使用术语的第一、第二等并不表示任何重要性的顺序,而是术语的第一、第二等用于在元件之间进行辨别。
权利要求
1.一种用于使分别在第一和第二计算机上的第一和第二计时时钟同步的方法,所述第一计算机在一个第一网络接口卡上有一个第三时钟,所述第二计算机在一个第二网络接口卡上有一个第四时钟,所述第一和第二网络接口卡经由一个通信网络相互通信,该方法包括生成一个有一个第一时间差异值和一个第二时间标记值的第一报文,并从第一网络接口卡发送所述第一报文,所述第一时间差异值对应于在第一计时时钟和第三时钟之间的时间差异,所述第二时间标记值对应于当从第一网络接口卡发送所述第一报文时,由第一网络接口卡中的第三时钟确定的时间;在第二计算机的第二接口卡上接收所述第一报文;生成一个有所述第一时间差异值、所述第二时间标记值、一个第三时间标记值、一个第四时间差异值以及一个第五时间标记值的第二报文,并从第二网络接口卡发送所述第二报文,所述第三时间标记值对应于当由第二网络接口卡接收到所述第一报文时,由在第二网络接口卡上的第四时钟确定的时间,所述第四时间差异值对应于在第二计时时钟和第四时钟之间的时间差异,所述第五时间标记值对应于当从第二网络接口卡发送所述第二报文时,由第四时钟确定的时间;在第一网络接口卡上接收所述第二报文,并确定一个与所述第二报文相关的第六时间标记值,所述第六时间标记值对应于当由第一网络接口卡接收到所述第二报文时,由第三时钟确定的时间;以及根据第一时间差异值、第二时间标记值、第三时间标记值、第四时间差异值、第五时间标记值以及第六时间标记值,来确定一个对应于在第一和第二计时时钟之间的时间差异的第七时间差异值。
2.权利要求1的方法,其中所述第一报文进一步包括第一和第二端口地址,所述第一端口地址与第一计算机的一个第一通信端口相关,所述第二端口地址与第二计算机的一个第二通信端口相关。
3.权利要求2的方法,其中所述第一报文进一步包括第一和第二缓冲器地址,所述第一缓冲器地址与第一计算机中的一个用于接收包含时间标记值的报文的第一缓冲器相关,所述第二缓冲器地址与第二计算机中的一个用于接收包含时间标记值的报文的第二缓冲器相关。
4.权利要求1的方法,进一步包括根据所述第七时间差异值来修改第一计时时钟,以使第一计时时钟与第二计时时钟同步。
5.一种联网的系统,其包括一个有一个第一网络接口卡和一个第一计时时钟的第一计算机,以及一个有一个第二网络接口卡和一个第二计时时钟的第二计算机,所述第一网络接口卡有一个第三时钟,所述第二网络接口卡有一个第四时钟;所述第一计算机被配置来生成一个有一个第一时间差异值和一个第二时间标记值的第一报文,并从第一网络接口卡发送所述第一报文,所述第一时间差异值对应于在第一计时时钟和第三时钟之间的时间差异,所述第二时间标记值对应于当从第一网络接口卡发送所述第一报文时,由第一网络接口卡中的第三时钟确定的时间;所述第二计算机被配置来在第二接口卡上接收所述第一报文,所述第二计算机进一步被配置来生成一个有所述第一时间差异值、所述第二时间标记值、一个第三时间标记值、一个第四时间差异值以及一个第五时间标记值的第二报文,并从第二网络接口卡发送所述第二报文,所述第三时间标记值对应于当由第二网络接口卡接收到所述第一报文时,由在第二网络接口卡上的第四时钟确定的时间,所述第四时间差异值对应于在第二计时时钟和第四时钟之间的时间差异,所述第五时间标记值对应于当从第二网络接口卡发送所述第二报文时,由第四时钟确定的时间;以及所述第一计算机进一步被配置来在第一网络接口卡上接收所述第二报文,并确定一个与所述第二报文相关的第六时间标记值,所述第六时间标记值对应于当由第一网络接口卡接收到所述第二报文时,由第三时钟确定的时间,所述第一计算机进一步被配置来根据第一时间差异值、第二时间标记值、第三时间标记值、第四时间差异值、第五时间标记值以及第六时间标记值,来确定一个对应于在第一和第二计时时钟之间的时间差异的第七时间差异值。
6.一个权利要求5的系统,其中所述第一报文进一步包括第一和第二端口地址,所述第一端口地址与第一计算机的一个第一通信端口相关,所述第二端口地址与第二计算机的一个第二通信端口相关。
7.一个权利要求6的系统,其中所述第一报文进一步包括第一和第二缓冲器地址,所述第一缓冲器地址与第一计算机中的一个用于接收包含时间标记值的报文的第一缓冲器相关,所述第二缓冲器地址与第二计算机中的一个用于接收包含时间标记值的报文的第二缓冲器相关。
8.一个权利要求5的系统,其中第一计算机进一步被配置来根据所述第七时间差异值来修改第一计时时钟,以使第一计时时钟与第二计时时钟同步。
9.一种制造产品,其包括一个其中编码了一个计算机程序以使分别在第一和第二计算机上的第一和第二计时时钟同步的计算机存储介质,所述第一计算机在一个第一网络接口卡上有一个第三时钟,所述第二计算机在一个第二网络接口卡上有一个第四时钟,所述第一和第二网络接口卡经由一个通信网络相互通信,所述计算机存储介质包括用于生成一个有一个第一时间差异值和一个第二时间标记值的第一报文、并从第一网络接口卡发送所述第一报文的代码,所述第一时间差异值对应于在第一计时时钟和第三时钟之间的时间差异,所述第二时间标记值对应于当从第一网络接口卡发送所述第一报文时,由第一网络接口卡中的第三时钟确定的时间;用于在第二计算机的第二接口卡上接收所述第一报文的代码;用于生成一个有所述第一时间差异值、所述第二时间标记值、一个第三时间标记值、一个第四时间差异值以及一个第五时间标记值的第二报文并从第二网络接口卡发送所述第二报文的代码,所述第三时间标记值对应于当由第二网络接口卡接收到所述第一报文时,由在第二网络接口卡上的第四时钟确定的时间,所述第四时间差异值对应于在第二计时时钟和第四时钟之间的时间差异,所述第五时间标记值对应于当从第二网络接口卡发送所述第二报文时,由第四时钟确定的时间;用于在第一网络接口卡上接收所述第二报文、并确定一个与所述第二报文相关的第六时间标记值的代码,所述第六时间标记值对应于当由第一网络接口卡接收到所述第二报文时,由第三时钟确定的时间;以及用于根据第一时间差异值、第二时间标记值、第三时间标记值、第四时间差异值、第五时间标记值以及第六时间标记值,来确定一个对应于在第一和第二计时时钟之间的时间差异的第七时间差异值的代码。
10.一个权利要求9的产品,其中所述第一报文进一步包括第一和第二端口地址,所述第一端口地址与第一计算机的一个第一通信端口相关,所述第二端口地址与第二计算机的一个第二通信端口相关。
11.一个权利要求9的产品,其中所述第一报文进一步包括第一和第二缓冲器地址,所述第一缓冲器地址与第一计算机中的一个用于接收包含时间标记值的报文的第一缓冲器相关,所述第二缓冲器地址与第二计算机中的一个用于接收包含时间标记值的报文的第二缓冲器相关。
12.一个权利要求9的产品,进一步包括用于根据所述第七时间差异值来修改第一计时时钟,以使第一计时时钟与第二计时时钟同步的代码。
全文摘要
提供了一种用于使分别在第一和第二计算机上的第一和第二计时时钟同步的系统、方法和产品。第一和第二计算机有第一和第二网络接口卡,其上分别有第三和第四时钟。系统利用由第三和第四时钟生成的时间标记值,以使第一和第二计时时钟同步。
文档编号G04G5/00GK1822536SQ20051012728
公开日2006年8月23日 申请日期2005年12月5日 优先权日2004年12月17日
发明者布鲁斯·M.·沃克, 托马斯·A.·格里格, 理查德·K.·埃里克森, 戴维·F.·克拉多克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1