使用多个网络路径的时钟同步的制作方法_2

文档序号:8270245阅读:来源:国知局
b被接收。在其它实施例和/或场景中,时间标记的数据包中的至少一些时间标记的数据包中的每个时间标记的数据包经由相同的端口 154被接收(图1A中未示出)。虽然图1A中图示了两个端口154,然而在其它实施例中,从时钟设备108包括另一合适数目的端口 154 (例如,仅一个或多于两个)。在实施例中,从时钟设备108仅包括单个端口 154。
[0037]时钟同步模块I50被配置成基于经由各自的路径被发送的各自的时间标记的数据包中各自的时间戳来确定每个时钟结果。在实施例中,由时钟同步模块生成的每个时钟结果包括在主时钟设备104处被维持的主时钟与在从时钟设备108处被维持的从时钟之间的偏移量。例如,在实施例中,时钟同步模块150被配置成基于以下各项来确定每个偏移量:(i)经由各自的路径被发送的各自的时间标记的数据包中各自的时间戳,以及(ii)在各自的时间标记的数据包被从时钟设备108接收的各自的时间处的从时钟的值。作为说明性示例,在实施例中,时钟同步模块150基于以下各项来确定第一偏移量:(i)经由第一路径128被发送的第一时间标记的数据包中的第一时间戳,以及(ii)在第一时间标记的数据包被从时钟设备108接收的第一时间处的从时钟的第一值;并且时钟同步模块150基于以下各项来确定第二偏移量:(i)经由第二路径132被发送的第二时间标记的数据包中的第二时间戳,以及(ii)在第二时间标记的数据包被从时钟设备108接收的第二时间处的从时钟的第二值。
[0038]在另一实施例中,由时钟同步模块150生成的每个时钟结果包括与在主时钟设备104处被维持的主时钟对应的时钟值(例如日时间值)。例如,在实施例中,时钟同步模块150被配置成基于经由各自的路径被发送的各自的时间标记的数据包中各自的时间戳来确定每个时钟值。作为说明性示例,在实施例中,时钟同步模块150基于经由第一路径128被发送的第一时间标记的数据包中的第一时间戳来确定第一时钟值,并且基于经由第二路径132被发送的第二时间标记的数据包中的第二时间戳来确定第二时钟值。在实施例中,时钟同步模块150是在多层通信协议栈中的应用层操作的应用层模块。在其它实施例中,时钟同步模块150在至少在多层通信协议栈中的第四层的另一合适的层操作。在其它实施例中,时钟同步模块150处于在多层通信协议栈中的应用层以下的另一合适的层和/或在多层通信协议栈中的第四层以下的合适的层操作。
[0039]如以下将更详细地描述的,在一些实施例中,时钟同步模块150被配置成对于每个路径,维持各自的路径时间数据集合,其包括各自的取决于路径的时钟或者用于生成各自的时钟结果(诸如各自的路径时延测量、各自的时钟偏移量等)的信息。在一些实施例中,时钟同步模块150使用路径时间数据集合来生成时钟结果。在其它实施例中,时钟结果是路径时间数据集合,或者被包括在路径时间数据集合中。在其中时钟同步模块150被配置成维持各自的取决于路径的时钟的一些实施例中,时钟同步模块150包括或者使用维持不同的取决于路径的时钟的各自的计数器电路。
[0040]在一些实施例中,从时钟设备108中的时钟模块160被配置成维持从时钟。在实施例中,从时钟是日时间时钟。在另一实施例中,从时钟是没有直接链接至日时间的计数器。在实施例中,时钟模块160包括或者使用维持从时钟的计数器电路。在实施例中,时钟模块160是在多层通信协议栈中的应用层处操作的应用层模块。在其它实施例中,时钟模块160在至少在多层通信协议栈中的第四层的另一合适的层操作。在其中时钟同步模块150被配置成维持各自的取决于路径的时钟的一些实施例中,时钟模块160被配置成选择取决于路径的时钟之一作为从时钟而非维持单独的从时钟。
[0041]在一些实施例中,时钟模块160被配置成使用由时钟同步模块150生成的多个时钟结果来确定从时钟值。在实施例中,时钟模块160被配置成至少通过对由时钟同步模块150生成的多个时钟结果进行数学组合来确定从时钟值。在另一实施例中,时钟模块160被配置成至少通过选择由时钟同步模块150生成的多个时钟结果之一来确定从时钟值。例如,在一些实施例中,时钟结果之一基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或噪度)等)而被确定为是最精确的。在另一实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)在一些情况下,对由时钟同步模块150生成的多个时钟结果中的至少一些时钟结果进行组合;以及(ii)在其它情况下,选择由时钟同步模块150生成的多个时钟结果之一。在另一实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)选择由时钟同步模块150生成的多个时钟结果的子集;以及(ii)对时钟结果的子集进行组合。例如,在一些实施例中,所选子集是基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为适当精确的时钟结果。
[0042]在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成至少通过对多个偏移量中的两个或更多个偏移量进行数学组合以生成组合偏移量来确定从时钟值,并且然后使用组合偏移量来设置从时钟值。在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成选择多个偏移量之一,并且然后使用所选偏移量来设置从时钟值。例如,在一些实施例中,偏移量之一基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为是最精确的。在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成:(i)在一些情况下,对多个偏移量进行数学组合以生成组合偏移量,并且然后使用组合偏移量来设置从时钟值;以及(ii)在其它情况下,选择多个偏移量之一,并且然后使用所选偏移量来设置从时钟值。在实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)选择多个偏移量的子集,以及(ii)对偏移量的子集进行组合。例如,在一些实施例中,所选子集是基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为适当精确的偏移量。
[0043]在其中由时钟同步模块150生成的时钟结果包括与不同的路径对应的不同的时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成至少通过对不同的路径时钟值中的两个或更多个路径时钟值进行数学组合以生成组合时钟值来确定从时钟值,并且然后使用组合时钟值以设置从时钟值。在其中由时钟同步模块150生成的时钟结果包括路径时钟值的一些实施例中,时钟模块160被配置成选择路径时钟值之一并且然后使用所选路径时钟值以设置从时钟值。例如,在一些实施例中,时钟值之一基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为是最精确的。在其中由时钟同步模块150生成的时钟结果包括路径时钟值的一些实施例中,时钟模块160被配置成:(i)在一些情况下,对路径时钟值中的至少一些路径时钟值进行数学组合以生成组合时钟值,并且然后使用组合时钟值来设置从时钟值;以及(ii)在其它情况下,选择路径时钟值之一,并且然后使用所选路径时钟值来设置从时钟值。
[0044]在实施例中,时钟模块160被配置成计算由时钟同步模块150生成的时钟结果中的至少一些时钟结果的平均值,并且基于平均时钟结果来确定从时钟值。在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成:计算偏移量中的至少一些偏移量的平均值,并且基于平均偏移量来确定从时钟值。在其中由时钟同步模块150生成的时钟结果包括与不同的路径对应的不同的时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成计算路径时钟值中的至少一些路径时钟值的平均值,并且基于平均时钟值来确定从时钟值。在实施例中,时钟模块160被配置成至少通过以下操作来确定从时钟值:(i)选择多个路径时钟值的子集,以及(ii)对路径时钟值的子集进行组合。例如,在一些实施例中,所选子集是基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定为适当精确的路径时钟值。
[0045]在一些实施例中,时钟模块160被配置成计算时钟结果中的至少一些时钟结果的加权平均值。在实施例中,在计算加权平均值时使用的权重基于每个路径的被独立地确定的精度度量(诸如路径长度、路径时延可变性(或者噪度)等)而被确定。例如,在实施例中,相对较小的权重被给予具有相对较长的长度的路径,而相对较大的权重被给予具有相对较短的长度的路径。作为另一示例,在实施例中,相对较小的权重被给予在路径时延方面具有相对较高的可变性(或噪度)的路径,而相对较大的权重被给予在路径时延方面具有相对较低的可变性(或噪度)的路径。
[0046]例如,在实施例中,时钟同步模块150包括被配置成生成通过网络112的不同路径的路径时延可变性的各自的测量值。在实施例中,时钟同步模块150被配置成使用通过网络112的不同路径的路径时延可变性的测量值来确定在计算加权平均值时使用的不同权重。例如,在实施例中,相对较小的权重被给予在路径时延方面具有相对较高的可变性(或噪度)的路径,而相对较大的权重被给予在路径时延方面具有相对较低的可变性(或噪度)的路径。
[0047]在实施例中,路径时延可变性确定模块170被配置成生成通过网络112的不同路径的各自的路径时延测量值。在实施例中,每个路径时延测量值是经由各自的路径从主时钟设备104至从时钟设备108的单向时延的测量值。在实施例中,路径时延可变性确定模块170被配置成对于每个路径,通过以下操作来生成单向时延:(i)确定经由各自的路径从从时钟设备108至主时钟设备104并且回到从时钟设备108的往返(round-trip)时延,以及(ii)基于往返时延计算单向时延。在实施例中,单向时延被计算作为往返时延的一半。
[0048]在实施例中,路径时延可变性确定模块170被配置成生成通过网络112的不同路径的各自的平均路径时延。在实施例中,路径时延可变性确定模块170被配置成对于每个路径,基于各自的平均路径时延和各自的新近(例如最近)的路径时延测量值来生成各自的路径时延可变性的测量值。在实施例中,路径时延可变性确定模块170被配置成对于每个路径,基于计算各自的平均路径时延与各自的新近(例如最近)的路径时延测量值之间的差来生成各自的路径时延可变性的测量值。在实施例中,对于路径所计算的差的量值通常指示该路径的路径时延的可变性程度。例如,在实施例中,如果对于第一路径计算的第一差的量值大于对于第二路径计算的第二差的量值,则假定第一路径的路径时延与第二路径的路径时延相比具有较大的可变性程度。
[0049]在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成基于不同路径的路径时延可变性的测量值来选择偏移量之一,并且然后使用所选偏移量来设置从时钟值。例如,在实施例中,时钟模块160被配置成选择与具有路径时延可变性的最低测量值的路径对应的偏移量,并且然后使用所选偏移量来设置从时钟值。
[0050]在其中由时钟同步模块150生成的时钟结果包括偏移量的一些实施例中,时钟模块160被配置成选择各自与满足一个或多个准则的路径时延可变性的测量值关联的偏移量的集合,并且使用所选偏移量的集合来确定偏移量。例如,在实施例中,时钟模块160被配置成选择各自与满足阈值(例如,小于阈值,小于或等于阈值等)的路径时延可变性的测量值关联的偏移量的集合,并且使用所选偏移量的集合来确定偏移量。例如,在实施例中,如果集合中有多个偏移量,则时钟模块160被配置成计算所选偏移量的平均值,并且使用平均偏移量来确定从时钟值。在实施例中,在计算平均值时不考虑具有高可变性的路径,使得在计算平均值时仅使用具有小于合适的可变性阈值的测量可变性的路径。在实施例中,如果仅存在一个具有小于合适的可变性阈值的测量可变性的路径,则使用对应的一个偏移量来设置从时钟值(即不计算多个偏移量的平均值)。换言之,在实施例中,如果集合中仅存在一个偏移量,则时钟模块160被配置成使用所选偏移量来设置从时钟。
[0051]在其中由时钟同步模块150生成的时钟结果包括与不同路径对应的不同时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成基于不同路径的路径时延可变性的测量值来选择路径时钟值之一,并且然后使用所选路径时钟值来设置从时钟值。例如,在实施例中,时钟模块160被配置成选择与具有路径时延可变性的最低测量值的路径对应的路径时钟值,并且然后使用所选路径时钟值来设置从时钟值。
[0052]在其中由时钟同步模块150生成的时钟结果包括与不同路径对应的不同时钟值(路径时钟值)的一些实施例中,时钟模块160被配置成选择各自与满足一个或多个准则的路径时延可变性的测量值关联的路径时钟值的集合,并且使用所选路径时钟值的集合来确定平均路径时钟值。例如,在实施例中,时钟模块160被配置成选择各自与满足阈值(例如,小于阈值,小于或等于阈值等)的路径时延可变性的测量值关联的路径时钟值的集合,并且使用所选路径时钟值的集合来确定从时钟值。例如,在实施例中,如果集合中有多个路径时钟值,则时
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1