基于环形的精确时间数据网络时钟相位调整的制作方法

文档序号:7793675阅读:238来源:国知局
基于环形的精确时间数据网络时钟相位调整的制作方法
【专利摘要】在带有用于时钟信号的环路连接的网络中,检测并调时钟相位误差。在一个实施例中,一种方法在带有从属时钟节点的环形网络中执行。将定时分组从主控时钟节点发送到环形的第一从属时钟节点。接收来自环形的最后从属时钟节点的定时分组。通过比较来自收到的定时分组的恢复时间和主控时钟节点本地时钟的时间,确定相位对准偏移,并且基于确定的相位对准偏移,为从属时钟节点确定相位校正值。随后将包括相位校正值的相位校正分组从主控时钟节点发送到从属时钟节点至少之一。
【专利说明】基于环形的精确时间数据网络时钟相位调整

【技术领域】
[0001]本发明的实施例涉及分组数据网络中时钟相位调整领域,并且更具体地说,涉及在环形网络中使用环路时钟的时钟相位调整。

【背景技术】
[0002]精确的同步可在分组网络中用于将定时从生产者分布到消费者。生产者和消费者可或不可通过分组网络进行通信。为在不同网络上更好地同步节点的本地时钟,有许多不同的尝试。更佳的定时和更佳的同步提供许多不同益处。
[0003]同步分组数据网络的时钟或节点的一种方案称为PTP (精确时间协议),并且在IEEE-1588 2008,用于连网测量和控制系统的精确时钟同步协议的IEEE (电气和电子工程师协会)标准(IEEE (Institute of Electrical and Electronics Engineers) Standardfor a Precis1n Clock Synchronizat1n Protocol for Networked Measurement andControl Systems)中定义。PTP方案旨在在分组网络上提供精确的时钟定时同步。简要地说,PTP使用特定PTP消息将最高级时钟(grandmaster clock)的时间分布到大量的从属时钟。PTP分组包括时间戳。从属时钟接收所包括的时间戳,并且随后调整其本地时钟以跟踪和恢复它收到的时间戳所来自的主控时钟的定时。此延迟可包括PTP分组从主控时钟行进到从属时钟所要求的时间。
[0004]该从属时钟可充当另一时钟的主控。通过一系列时钟从主控到从属的此链允许PTP将每个从属时钟与最高级时钟对准到I微秒以内。


【发明内容】

[0005]通过在运行时间期间动态调整每个BC (边界时钟)的相位,能够为相位对准改进PTP (精确时间协议)BC链性能。调整能够基于反馈定时信息的测量。BC链以环形网络拓扑布置时,能够轻松地提供此类测量。动态调整允许跳的数量是至少三倍而在时钟同步中不失去所需的准确度。这能够得以实现而在每个BC中不要求任何另外的硬件。动态调整在统计上动态改进了 PTP时钟相位分布性能。它也提供在运行时间中的动态相位误差检测。
[0006]相同测量也能够用于动态检测在特定网络链中BC具有超过所需阈值的相位偏移漂移的最意外情况。此偏移检测能够用于警告系统管理员以便提早了解情况并进行校正。
[0007]在一个实施例中,一种方法在带有从属时钟节点的环形网络中执行。将定时分组从主控时钟节点发送到环形的第一从属时钟节点。接收来自环形的最后从属时钟节点的定时分组。通过比较来自收到的定时分组的恢复时间和主控时钟节点本地时钟的时间,确定相位对准偏移,并且基于确定的相位对准偏移,为从属时钟节点确定相位校正值。随后将包括相位校正值的相位校正分组从主控时钟节点发送到从属时钟节点的至少之一。
[0008]在另一实施例中,一种方法在从属时钟节点和主控时钟节点的环形网络中的从属节点中执行。从属节点接收来自环形中前一网络节点的主控端口的包括时间戳的定时分组。从属节点将反映其本地时钟的定时分组发送到环形中的下一网络节点。从属节点随后接收包括由主控时钟节点生成的相位校正值的相位校正分组,相位校正值基于使用发送的定时分组确定的相位对准偏移。从属时钟节点随后基于在相位校正分组中收到的相位校正值,校正其本地时钟。
[0009]在另一实施例中,一种在节点的网络中的主控时钟节点补偿在从属时钟节点之间的相位对准偏移,节点的网络具有带本地时钟的主控时钟节点和每个带有本地时钟的多个从属时钟节点,从属时钟节点在从主控时钟节点开始并且回到主控时钟节点的环形拓扑中。主控时钟节点包括保持用于网络的定时的本地时钟、将包括时间戳的定时分组发送到环形中从属时钟节点的第一节点的从属端口的主控端口及接收来自环形中从属时钟节点的最后一个节点的定时分组的从属端口。主控时钟节点也包括处理器,以使用收到的定时分组和发送的定时分组,确定从属节点的相位对准偏移,并且基于确定的相位对准偏移,确定用于从属时钟节点的相位校正值。主控时钟节点也将包括相位校正值的相位校正分组从主控时钟节点发送到多个从属时钟节点的至少一个节点。
[0010]在另一实施例中,一种在节点的网络中的从属时钟节点补偿在从属时钟节点之间的相位对准偏移,节点的网络具有带本地时钟的主控时钟节点和每个带有本地时钟的多个从属时钟节点,从属时钟节点在从主控时钟节点开始并且回到主控时钟节点的环形拓扑中。从属时钟节点包括保持用于从属时钟节点的定时的本地时钟、接收来自环形中前一网络节点的主控端口的包括时间戳的定时分组的从属端口、将定时分组发送到在环形中下一网络节点的从属端口的主控端口及处理器。从属时钟节点接收来自主控时钟节点的包括相位校正值的相位校正分组,相位校正值基于至少部分基于发送的定时分组确定的相位对准偏移,并且处理器基于在相位校正分组中收到的相位校正值,校正本地时钟。

【专利附图】

【附图说明】
[0011]通过参照下面的说明和用于示出本发明实施例的附图,可最好地理解本发明。在图中:
图1是根据本发明的一个实施例,诸如PTP BC的时钟节点的同步环形网络的框图;
图2是根据本发明的一个实施例,带有诸如PTP BC的时钟节点的菊花链子环形的同步环形网络的框图;
图3是根据本发明的一个实施例,误差通过20节点同步环形网络的传播和校正的图示;
图4是根据本发明的一个实施例,诸如PTP BC的充当主控或从属时钟节点的网络元件的一个实施例的图形;
图5是根据本发明的一个实施例,诸如PTP BC的充当从属时钟节点的网络元件的另一实施例的图形;
图6是示出根据本发明的一个实施例,适合用作网络处理器的示范计算机系统的框图;
图7是根据本发明的一个实施例,在主控时钟节点中确定和校正相位对准误差的过程流程图;以及图8是根据本发明的一个实施例,在从属时钟节点中校正相位对准误差的过程流程图。

【具体实施方式】
[0012]在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它情况下,公知的电路、结构和技术未详细显示以免混淆对此描述的理解。其它情况下,控制结构、门级电路和全软件指令序列未详细示出以免混淆本发明。
[0013]说明书中对“ 一个实施例”、“一实施例”、“示例实施例”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实施例。此外,在结合实某个施例描述某个特定特征、结构或特性时,认为无论是否明确描述结合其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。
[0014]在下面的描述和权利要求书中,可使用术语“耦合”和“连接”及其衍生词。应理解,这些术语无意做为彼此的同义词。“耦合”用于指示可相互直接物理或电接触或不直接物理或电接触的两个或更多个元件相互协作或交互。“连接”用于指示在相互耦合的两个或更多个元件之间通信的建立。
[0015]本发明的不同实施例可使用软件、固件和/或硬件的不同组合实现。因此,所述图中所示技术可使用一个或更多个电子装置(例如,终端站、网络元件)上存储和执行的代码和/或数据来实现。此类电子装置使用计算机可读介质存储和传递(在内部和/或通过网络与其它电子装置)代码和数据,计算机可读介质如非短暂性计算机可读存储介质(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和短暂性计算机可读传送介质(例如,电、光、声或其它形式传播信号-如载波、红外信号、数字信号)。另外,此类电子装置一般情况下包括耦合到诸如一个或更多个存储装置(非短暂性机器可读存储介质)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接等一个或更多个其它组件的一个或更多个处理器的集合。处理器的集合与其它组件的耦合一般情况下是通过一个或更多个总线和桥接器(也称为总线控制器)。因此,给定电子装置的存储装置一般情况下存储代码和/或数据以便在该电子装置的一个或更多个处理器的集合上执行。
[0016]通过PTP时钟的时间分布遭受太多的相位对准偏移(PAO)。这在PTP与PTP BC(边界时钟)时钟链一起使用时尤其是如此。PAO能够由延迟不对称造成,包括链路不对称和本地不对称、内部时钟时间分布和PTP伺服性能。
[0017]不对称能够由在两个时钟之间的链路引起,以及在传送和接收方向中时间戳点之前从PTP端口内引起。链路不对称涉及在分组数据网络连接链路中的传送和接收信号输送时间差。本地不对称来源于诸如从属时钟节点等本地硬件装置的内部操作。内部时钟时间分布涉及在两个BC时钟之间的时间基之间的差别。PTP伺服性能涉及由于分组到达抖动和漂移、本地参考TCX0/0CX0 (温度补偿晶体振荡器/恒温控制晶体振荡器)稳定性或准确度原因引入的误差。另外,由于对PTP时钟同步逻辑引入的网络噪声原因,PTP伺服将具有将取决于网络业务的一些误差。
[0018]由于PAO的两个重要特性原因,补偿造成PAO的这些问题可能变得困难。首先,只能够在链中的每个时钟使用特殊设备测量PAO。PTP标准中没有动态检测具有超过某个阈值的PAO的PTP时钟或部分BC链的方式。其次,PAO能够由于PTP分组系统外环境的原因而迅速更改,环境包括诸如环境温度等环境因素。PAO能够随着诸如光纤等连接、光模块SFP/XFP (小型可插拔/1G SFP)和连接的中间用于冗余目的的光学开关中的更改而更改。PAO也能够由于PTP端口硬件装置、PTP时钟、当前BC同步到的PTP主控流中更改的原因而更改。在BC的任何链中,在时间同步上也存在导致PAO随时间波动的“时差反应(jet-lag)”。
[0019]当前PTP标准假设内部时钟时间分布误差受到很好的控制;并且借助于降低分组抖动或漂移和延迟变化的网络工程,PTP伺服性能是足够好的。此假设限制用于更高速网络的PTP的值。
[0020]对于移动回程和基于环形的网络适用的一些其它环境,基于环形的PTP BC链能够用于改进相位对准偏移(PAO)。这些原理可用于降低其它相位误差,因此,定时问题在本文中将指相位误差或只是误差。
[0021]在图1中,6个BC (边界时钟)BC-O到BC-5以环形网络拓扑布置。每个BC是网络节点的一部分,如交换器、客户端、服务器或路由器。BC用于确定由节点进行发送和接收操作的定时。BC中的第一 BC即BC-O具有从属时钟端口,视特定实现而定,它从中接收GMOC(最高级普通时钟)或任何其它主控时钟流。此时钟流通过对应时钟主控端口 M发出,到达环形中下一 BC即BC-1的从属端口 S。时钟信号继续通过环形的所有6个时钟从主控端口传播到从属端口,直至它返回在第一 BC即BC-O的原开始位置。此BC包括第二从属端口 S’以接收时钟信号通过环形传播后返回的时钟信号。
[0022]BC不但是在网络上其主控的从属节点,而且是任何下游同步从属节点的主控节点。每个BC通常具有用于同步到网络上其主控的从属端口,并且具有将定时信息分布到网络中其从属节点的一组主控端口。在PTP中,BC具有主控和从属端口,主控端口连接到网络上PTP节点(BC或S00C)上的下游从属端口以将时间分布到这些节点,从属端口连接到网络上主控时钟(BC或GM0C)的主控端口以同步其时间。
[0023]一般情况下,对于PTP,在环形的任何两个相邻BC之间发送和接收大量的定时分组。可将PTP分组以每秒数十到几百分组的速率发送到每个从属端口,并且在全部操作时间可一直保持此速率。即使在此PTP分组速率的使用中,可能要15分钟到几个小时才能同步每个BC的本地时钟,并且连续的PTP分组流保持同步。每个分组在接收它的节点被立即终止。接收节点在通过环形向下游发送的新分组中重新生成定时信息。随后,在时钟的从属端口上交换的定时分组用于重建本地时钟的时间。时钟上的主控端口将使用此本地时钟重新生成定时分组,并且将那些分组发送到下游BC。
[0024]对于BC-0,此第二从属端口未用作“普通”从属端口。BC-O不使用来自S’的时间偏移来调整其本地时钟输出。相反,BC-O比较通过端口 S从来源时钟(在此情况下为GMOC时钟流)恢复的本地时间和通过端口 S’收到的来自BC-5的恢复时间。这样,BC-O能够了解通过环形的累积相位时间偏移。
[0025]虽然节点称为IEEE 1588中定义的术语PTP BC,但本发明并不限于此术语或此协议。在本文中使用时,BC用作任何类型的网络中从属时钟节点的示例。从属时钟节点无意限于如PTP中定义的从属节点。类似地,根BC或OBC用作主控时钟节点的示例,并且无意限于如PTP中定义的主控节点或主控时钟。
[0026]每个BC从其自己的硬件和连接配置而引入一定的误差El到E5。在本描述中,这些误差也称为节点PAO (NPAO)。和PAO (SPAO)用于描述之前引入的所有NPAO的和并且包括在链中涉及的BC。例如,在节点3的NPAO是由节点3或E3引入的误差。在节点3的SPAO 是在节点 1、2 和 3 的 PAO 之和,或 SPA0-2+E3 或 SPA0-1 + E2 + E3 或 El + E2 + E3。SPAO值可用于考虑PTP BC链健康状况。在一个实施例中,通过应用阈值到SPA0,能够确定健康。可将BC链中具有高于预定义的阈值的误差的任何BC宣布为“不适当”(bad)。
[0027]大多数情况下,在BC链中每个时钟中引入的NPAO不遵循任何特定模式。在每个时钟的NPAO可视为在时钟设计范围内的随机量。换而言之,每个BC —般情况下将引入不同误差,并且这些误差将相互不相关。在一些情况下,误差可最终相加为0,但在大多数情况下,在时钟遍历环形后将存在一定的非零SPA0。通过配置BC到PTP时钟的环形中,开始主控时钟提供器能够检测在所有时钟中引入的最终SPA0,并且基于加权偏移或纯平均偏移来重新调整每个时钟以使端对端SPAO接近O。这在整体上改进了通过环形的SPA0。通过将在主控的SPAO调整为0,在大多数情况下在每个跳的NPAO变得更小。由于从属时钟将最终附接到环形中的不同BC,因此,这意味着每个从属时钟的PAO也将减小。
[0028]如从PTP角度考虑的PAO的两种不同测量可使用绝对(APAO)和相对(RPAO)。在PTP中,APAO是BC链中所有SPAO的最大绝对值,而RPAO是在BC链中BC时钟的任何两个SPAO之间的最大偏移。通过基于端对端PAO或APAO重新调整BC,降低了 APAO及RPA0。
[0029]也可使用警报机制。警报可由动态PAO测量触发。例如,如果系统APAO超过预定义的阈值,则可生成警报。此类警报使用已经进行的测量生成以便重新调整时钟。这有利于向网络管理员提早通知不适当的PTP时钟,从而形成更佳的响应性以及减少在离线测量和测试上消耗的时间/尝试。
[0030]回到图1,所有参与BC以环形而不是线性链布置。在链的末尾的BC-5连接回原时钟来源BC-O以使链成环形。虽然示出5个BC,但视特定实现而定,可使用更多得多或更少的BC。只要末尾时钟连接回原来源时钟,相同方案便也可用于树状网络拓扑结构。如果建立在来源时钟与末尾时钟之间的环形,则能够测量用于环形的ΡΑ0,并且能够重新调整BC。
[0031]BC环形通过围绕环形的每个链路分布PTP时钟相位。具体而言,PTP时钟相位从BC-O行进到BC-1到BC-2到BC-3到BC-4到BC-5,并且回到BC-0。链路标记有指示在起源的主控端口的第一数字和是在目的地的从属端口的第二数字。相应地,链路在链路COl开始(带有除非离线测量,否则未知的线路不对称AOl和例如22 US往返等待时间)。时钟相位随后通过C12、C23、C34、C45行进,并且最终通过C50回到BC-0。作为特殊节点,BC-O也可称为原BC (OBC),这是因为它是用于环形或节点的链的最终时间来源,并且因为它具有促进校正算法的信息。BC-5在此情况下可称为链中的最后BC。
[0032]每个BC也可具有将其频率和相位分布到下游PTP时钟(未示出)的其它主控端口。这些主控端口未示出以免混淆本发明。网络拓扑可比本文中描述的简单示例要复杂得多。
[0033]单独考虑PTP时钟冗余。单个BC-O充当用于BC环形的时钟来源,并且它通过其从属端口 S同步来自连接的GMOC的其时钟。BC-O上的第二从属端口 S’用于从BC-5恢复时钟信息,并且BC-O能够使用恢复的结果与其本地PTP时钟相位进行比较。此比较允许它测量环形中的累积ΡΑ0。累积PAO是SPA0,并且可称为Esum并且在等式I中定义:
Esum = El + E2 + E3 + E4 + E5 + EO等式 I
在等式I中,E指由相应BC从其从属端口到其输出或主控端口的输入引入的所有类型的定时和相位误差(包括链路不对称引入的误差)。就EO而言,这表示由第二从属返回端口s’本身引入的误差。对于每个误差EO到E5,为简明起见,本文中可使用En。
[0034]误差En由上行链路连接中的不对称(对于El为A01)、BC内的内部不对称及在前一 BC,BC-n上的PTP伺服性能引入。所述技术允许这些误差得到补偿而无需精确了解误差的来源或位置。这是因为在BC-O中能够监视所有误差之和Esum。
[0035]由于对于任何一个BC,误差En可以为正值或负值,因此,通过环形的总误差Esum可以是正值或负值。总数的结果也可为O。即使环形内有一些非零误差,Esum也可最终为O。在此情况下,尽管环形内有这些非零误差,也不重新调整时钟。
[0036]如果Esum不为零,诸如100 ns,则能够跨所有BC_n重新分布总误差。有几种不同方式进行分布。在一个实施例中,均匀分布总误差Esum或SPA0。将Esum除以环形中BC的数量,并且将结果作为用于每个BC的定时或相位调整发送到每个BC以便在其从属端口与其主控端口之间使用。在总误差10ns的示例中,100 / 6 = 16.6 ns,这是对每个BC_n的校正。
[0037]在第二实施例中,可使用加权分布。可使用多种不同加权技术的任何技术。加权例如可基于时钟间距离、传播延迟或连接的往返延迟。在图1中,Cxy值表示连接及其延迟值。例如,对于在BC-O与BC-1之间的连接,C01,延迟为22 μ8。这表示时钟信号行进在两个BC之间连接COl的距离所要求的时间。BC-1和BC-2更靠近,因此,信号只要求8μ8便可在连接C12上行进在两个BC之间。对于图1的示例,传播延迟提供用于每个连接,并且总延迟为22+8+7+13+30+20=10(^s。因此,用于 BC-1 的补偿权重为总调整的-(100% x 22Ps/10(^s)=-22%。对于BC-2,它是调整的8%。
[0038]总误差的确定也可用于监视系统的健康。如果SPAO太高,则这是BC之一未正常运行或者连接或路径有问题的指示。一般情况下,可为BC环形能够容忍的最大PAO指定阈值。视不同通信标准和特定实现及网络拓扑而定,这例如可以为大约500到1000ns。
[0039]例如,以500ns作为阈值,如果检测到的Esum高于500ns或低于_500ns,则可生成管理员警报并且将其发送到管理控制台(未示出)。警报将指示环形中的至少一个BC极可能偏离太多。这能够是BC中的任何一个BC,包括生成主控时钟并且将它与返回的时钟BC-O进行比较的BC。尽管有警报,主控BC-O仍可继续提供重新调整以将校正分布到所有BC。然而,在PTP中,没有此校正的结果的指示。使用PTP时钟动态检测此类失效是应用程序的责任。
[0040]如果Esum在零的正负500ns内,则有两种可能性:首先,所有BC在阈值内,或者其次,一些BC有故障,但错误相互抵消。如果PTP中在使用时钟的更高级别应用程序声称时钟不够准确,并且需要某一重新调整,则可使用此重新调整并将其应用到指示的时钟。此校正随后将影响Esum值,并且更改发出到所有BC的重新调整。这可提供更佳结果,或者可能不能为有误差的时钟进行校正。
[0041]图2是一些环是菊花链接的另一网络拓扑的图。环形中BC的数量越少,相位对准的结果将越佳。将一些环形以菊花链形式链接在一起降低了用于总环形的相位对准误差。图2示出与图1中相同的6个BC环形,但添加了两个另外的环形。第一子环形菊花从BC-2链接,并且此环形具有四个BC:BC-21、BC-22、BC-23和BC-24。如在主要环形中一样,环形中这些BC的每个BC通过主控端口、从属端口连接来耦合。
[0042]类似地,第二添加的环形菊花从BC-4链接,并且添加BC-41、BC-42、BC-43和BC-44,这些从主控端口耦合到从属端口,并且反转回到BC-4上的第二从属端口 S’。这样,BC-2和BC-4每个表现得好像用于其相应下游子环形的OBC。BC-2和BC-4示为每个具有两个主控端口,一个用于主要环形,一个用于子环形,然而,视网络协议而定,相同主控端口可用于两者。
[0043]在图2的示例中,每个OBC (即,BC-0、BC_2和BC_4)比较从通过其相应从属端口 S收到的主要时钟恢复的本地时间和从环形中最后节点环路回到其相应次要从属端口 S’的时间。差别提供了如上所述在重新调整每个节点的时钟中使用的本地Esum。上述连接和过程的另外变化和组合可变得适合不同实现和网络拓扑。
[0044]图3是时钟遍历环形以示出本发明的实施例的原理时误差的图形。校正可视为通过监视最终相位偏移量、从开始到结束的误差,以及随后通过将相位误差分布到链中的所有BC来调整相位,使漂移趋势线“倾斜”回零误差的预期目标的技术。此回倾由在水平轴的右端示出的箭头301指示出,水平轴右端表示图3中网络环形的结束。
[0045]垂直轴表示以纳秒指示的相位误差或相位对准偏移的示例。水平线指示时钟信号遍历通过的环形中20个BC的每个。以菱形表示数据点的线条303指示由每个BC时钟单独引入的相位偏移(误差)。在所示示例中,用于每个时钟的单独PAO在垂直轴上对应于O的收到主控时钟的100 ns内。
[0046]以方形表示数据点的线条305示出在随每个BC —个接一个累积时的BC相位误差,或NPAO (节点ΡΑ0)。由于每个BC的误差大部分为负值,因此,累积通常在负向上增大。然而,要注意的是,例如,节点9具有正100的ΝΡΑ0。因此,在节点9的累积PAO是比在节点8更小的负值。然而,节点13具有大约负100的ΝΡΑ0,因此,在节点13的累积结果是比在节点12更小得多的负值。如图所示,虽然每个BC引入不大于100 ns的相位误差,但通过20个跳的累积结果能够达到更高得得多的误差。
[0047]以三角形表示数据点的线条307示出通过如在20个BC时钟之间的回倾箭头所示分布SPAO(和ΡΑ0)或Esum得到的校正的结果。如在线条305与线条307之间的差别所示,每个BC的误差更改较小。以X表示数据点的线条309是基于线条307的累积的结果(与线条303和305相比,关系相同)。线条309示出虽然每个BC只进行小的校正,但用于每个BC的累积PAO得到大幅改进。BC-18从大约340 ns更改到大约100ns。
[0048]假设Emax或APAO (绝对ΡΑ0)表示在链中所有BC的时间偏移误差的总最大值。Esum表示从OBC角度而言的最后BC时间偏移误差。只要Emax和Esum值具有相同的正负号,则总体结果将是时钟准确度的改进。
[0049]由于Emax和Esum是累积PAO结果,因此,它们在统计上是稱合的。从统计的角度而言,如果所有各个每BC PAO (NPAO)是随机分布的,则各个BC PAO具有相同正负号的概率极高。Emax越高,Esum是Emax并且与其具有相同正负号的可能性就越高。因此,即使仅BC之一具有太高的误差En,整个BC链也变得不适当。图3提供通过借助于在链的末端的检测到的偏移,“倾斜”原误差线的趋势线而进行的校正的图示。大的箭头301是倾斜方向和幅度,并且结果误差曲线示为累积的校正PAO线条309。
[0050]在本文中使用时,网络元件(例如,路由器、交换器、桥接器)是一件连网设备,包括硬件和软件,其在通信上与网络上的其它设备(例如,其它网络元件、计算机终端站)互连。一些网络元件是“多服务网络元件”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户终端站(例如,服务器、工作站、膝上型计算机、上网本、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(VOIP)电话、用户设备、终端、便携式媒体播放器、GPS单元、游戏系统、机顶盒(STB))访问通过因特网提供的内容/服务和/或在因特网上重叠(例如,隧穿)的虚拟专用网(VPN)上提供的内容/服务。内容和/或服务一般由属于参与对等服务的服务或内容提供商或终端站的一个或更多个终端站(例如,服务器终端站)提供,并且可例如包括公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络等。一般情况下,订户终端站(例如,通过(以有线或无线方式)耦合到接入网络的客户场所设备)耦合到边缘网络元件,所述边缘网络元件(例如通过一个或更多个核心网络元件)耦合到其它边缘网络元件,其它边缘网络元件(例如通过服务器终端站)耦合到其它终端站。
[0051]图4是充当时钟节点的网络元件的一个实施例的图形,然而,其它网络元件可具有类似的配置。此类配置可用于BC中的任何一个BC,包括上面识别为BC-O的主控BC、根BC 或 OBC。
[0052]网络元件包括主从属时钟端口 421,该端口供应到内部时钟422以同步在入口和出口上的业务。内部时钟422与来自前一网络元件的主控时钟流同步,并且在从属端口输入421接收。内部或本地时钟提供计时到处理器413和主控端口输出425。网络元件也具有接收来自其它网络元件的返回时钟的次要从属端口 427。处理器可比较在两个从属端口上的恢复时间以确定在两个连接的时钟之间的PAO或误差。如果要发送校正或重新调整,则能够在出口端口上或以另一方式(未示出)发送它。
[0053]一般情况下,使用以太网或在以太网上的UDP/IP实现PTP。在此类实现中,单个物理硬件端口提供主控和从属时钟功能及业务出口和入口功能。PTP端口无论是主控端口还是从属端口,均能够驻留在普通物理端口上或可以是物理端口内的信道的逻辑端口上。
[0054]因此,主控端口 M能够提供用于常规业务转发的入口和出口及PTP主控端口功能。从属端口 S是类似的。当然,网络元件可提供多个输入和输出端口以满足特定实现。
[0055]网络元件410还包括在网络处理器413控制下的入口模块功能和入口模块功能。这些功能可物理上在主控和从属端口或者在专用端口(未示出)提供。入口模块能够处理由网络元件在物理链路和数据链路级别收到的数据分组的处理。出口模块处理由网络元件在物理链路和数据链路级别传送的数据分组的处理。入口和出口模块通过IPv4、IPv6、ATM或多种其它格式和协议的任何格式和协议与订户、边缘路由器及其它网络元件进行通信。
[0056]网络处理器413处理数据业务的路由选择、转发和更高级处理。它可包括用于分组的处理的匹配、查找、分类和路由选择表。它也可包括存储器以存储用于路由、交换、时钟同步和其它功能的表格、指令和软件。
[0057]网络元件通常被分离成控制平面和数据平面(有时称为转发平面或媒体平面)。控制平面通过基于路由选择结构的信息(例如,邻接和路由信息)为数据平面编程。例如,控制平面将邻接和路由信息编程到数据平面上的一个或更多个转发结构和一个或多个邻接结构中。在转发业务时,数据平面使用这些转发和邻接结构。
[0058]图5是充当时钟节点的网络元件的另一实施例的图形,然而,其它网络元件可具有类似的配置。像图4的示例410—样,图5的网络元件510包括网络处理器513。网络处理器513处理数据业务的路由选择、转发和更高级别处理,并且应用任何时钟调整到其内部时钟523。
[0059]如在图4的示例中一样,网络元件也包括供应到内部或本地时钟523以同步在入口和出口模块上的业务的从属端口 527。内部时钟527与从属时钟输入527同步,并且提供计时到处理器513和主控时钟端口输出525。网络元件没有次要从属时钟端口,并且因此不执行上述PAO校正确定,但能够对从其它节点收到的校正做出响应。
[0060]图6示出根据本发明的一个实施例,适合用作网络处理器或网络节点或时钟控制器的示范计算机系统100的框图。示范计算机系统100包括通过总线115耦合到存储装置110的处理器105。另外,诸如键盘120和显示器125等多个用户输入/输出装置也可耦合到总线115,但它们是可选部分。网络接口 130也可(例如通过带有背板接口 150的机箱)耦合到总线路115。
[0061]处理器105 (单核或多核;如果多核,则为对称或非对称核)包括诸如CISC、RISC、VLIW或混合体系结构等任何类型的体系结构的至少一个中央处理单元。处理器105也可包括图形处理单元(例如,一个或更多个核)、图形总线接口、存储器管理单元和主存储器总线接口。此处,处理器105可还在相同芯片内的一个或多个裸晶上实现。存储装置110和网络业务表示一个或多个机器可读介质。因此,机器可读介质包括提供(即,存储和/或传送)机器(例如,计算机)可读形式信息的任何机制。例如,机器可读介质可以是机器可读存储介质(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存存储器装置)、机器可读通信介质(例如,电、光、声或其它形式传播信号-如载波、红外信号、数字信号等)等。总线115表示一个或更多个总线和桥接器(也称为总线控制器)。虽然此实施例相对于单个处理器计算机系统进行描述,但其它实施例能够包括多处理器计算机系统。
[0062]存储装置110中存储有操作系统软件和应用程序135以便在处理器105上执行以提供用于相位误差的校正。处理器105也包括执行单元140、内部总线142及指令指针寄存器144。当然,处理器110包含不是理解本描述所必需的另外电路。
[0063]内部总线142如图所示将处理器105的几个元素耦合在一起。执行单元140用于执行指令。指令指针寄存器144用于存储当前由执行单元140执行的指令的地址。
[0064]术语存储在本文中用于指用于存储数据的任何机制,包括在海量存储装置110中的位置、处理器105中的一个或更多个寄存器等。处理器105可以能够执行新指令和/或与在现有通用处理器中存在的那些指令类似或相同的指令。此外,在一个实施例中,处理器105是多核处理器,至少一些核是同时多线程(例如,超线程)、超标量(superscalar)、流水线型,并且能够每时钟周期完成这些指令的一个或更多个指令(忽略任何数据相关性和流水线冻结)。
[0065]如上所述,通过从属端口(未示出)同步并且受相位对准校正影响的时钟155通过单独的时钟连接(未示出)为网络元件100的任何所需部分提供定时。
[0066]图7是用于确定和校正在带有返回环路的网络中的相位对准误差的过程流程图。在过程流程图的上下文中,主控时钟节点提供定时和相位校正到一个或更多个从属时钟节点。这些节点是有线或无线网络中的网络节点。在PTP的上下文中,如上所述,主控时钟节点和从属时钟节点可全部是Be。主控时钟节点具有用于其本地时钟的从属端口和主控端口,从属时钟节点也具有用于其本地时钟的从属端口和主控端口。不同之处在于主控时钟节点的时钟不受任何从属时钟节点的时钟控制,而从属时钟节点的时钟全部间接或间接受主控时钟节点控制。在图1的示例中,主控时钟节点接收在其从属时钟节点的GMOC流,然而,主控时钟节点可由任何外部时钟主控或由其自己的时钟控制。网络节点也执行本文中未详细描述的许多其它功能。
[0067]在1,发送定时分组到从属时钟节点。视网络拓扑而定可以有一个或许多从属时钟节点。在所示示例中,发送定时分组到环形网络拓扑的相邻从属时钟节点。定时分组通过时钟连接或主控端口被发送到从属端口以便同步连接的从属时钟节点的本地时钟。接收定时分组的从属时钟节点设置其时钟,并且随后生成用于环形中下一从属时钟节点的定时分组。此操作重复进行,直至所有从属时钟节点设置成定时分组的主控定时。虽然描述只涉及一个分组,但一般情况下每秒发送数十或成百个分组,并且组合来自多个分组的结果以确定误差和同步。
[0068]如上所提及的一样,定时分组可包括诸如时间等时间戳,或者它可具有某一其它配置。定时分组从主控端口发送到其它节点的从属端口。主控定时可来自内部或外部时钟来源。定时通过一个或更多个从属节点传递,并且随后在3,接收来自网络中从属时钟节点之一的主控时钟输出端口的定时分组。
[0069]在5,比较收到的定时分组和原定时。在一个实施例中比较从从属端口 S’收到的收到定时分组的恢复时间和主控时钟节点中本地时钟的时间。在另一实施例中,使用收到的定时分组的时间戳。差别用于为从分布的原时间所来自的主控时钟节点的主控端口到恢复时间处的主控时钟节点的从属端口的分组的完整路径确定相位对准偏移。
[0070]为获得更准确或更一致的值主控节点可在几个时间间隔内收集收到的定时分组。多个分组和多次比较可组合为平均值、中间值或者以其它方式组合以获得随时间的典型PAO的更佳估计。备选,多个分组可用于动态调整在某一重复期间上的误差。示例可以为每几秒调整误差一次。
[0071]然而,通过使用此差别,可确定节点在7处确定相位校正值。相位校正值可以是到每个节点的校正的单个分派,或者它可以是权重,以便一些节点以不同于其它节点的方式校正其定时。
[0072]如在7A处所示,主控定时节点可选地在节点之间分派相位校正,或者可选地在7B处基于通过网络连接的传播时间或者在任何其它基础上应用权重到每个节点。
[0073]在9,在确定用于每个节点的相位校正值后,随后将该值发送到每个从属时钟节点。从属时钟节点能够将此校正应用到其自己的时钟以补偿相位或定时对准误差。定时分组可直接去往每个节点,或者通过BC的菊花链环形以分布独立寻址的定时分组。
[0074]在11,主控时钟节点可选择性地生成警报。这可通过先比较来自5的确定的相位对准偏移和阈值未完成,并且如果阈值被超过,则生成警报。可记录警报或者将警报发送到系统管理员或某一管理设施。在13,主控时钟节点也可选地比较确定的相位对准和阈值,并且如果阈值被超出,则取消将相位校正分组发送到从属节点。这可防止在对准误差超过来自主控时钟节点的相位校正所能够补偿的量时网络尝试进行相位校正。
[0075]图8是用于在通过环形拓扑耦合到主控时钟节点的从属时钟节点校正时钟的过程。在21,从属时钟节点接收定时分组,如带有来自另一网络节点的主控端口的时间戳的分组。如果从属时钟节点连接到主控时钟节点,则定时分组可来自主控时钟节点。如果从属时钟节点连接到另一从属时钟节点,则定时分组将来自该从属时钟节点。在环形拓扑中,定时分组从主控时钟节点开始,通过环形前进,然后通过每个从属时钟节点并且返回主控时钟节点。关于图7,虽然只讨论一个分组,但每秒可以有数十或成百个分组。
[0076]分组在从属时钟节点的从属端口接收,并且可由从属时钟节点用于校正其自己的时钟以便与环形中的上游或前面的网络节点同步。
[0077]在23,从属时钟节点使用其校正的本地时钟生成定时分组,并且将分组从其主控端口往回发送到环形中下一网络节点、即下游连接的节点的从属端口。这极可能是另一从属时钟节点,然而,对于环形中的最后从属时钟节点,下一网络节点将是主控时钟节点。
[0078]在25,从属时钟节点接收由主控时钟节点生成的相位校正分组。分组可直接从主控时钟节点接收,或者它可从相邻网络节点接收。此相位校正分组包括从属时钟节点应用的校正值。校正值可由主控时钟节点使用上面在图7的上下文中所述的方案确定。
[0079]在27,从属时钟节点基于它直接或间接从主控时钟节点收到的相位校正值,校正其自己的时钟。
[0080]虽然本发明的实施例已相对于用于PTP BC的PAO校正进行描述,但本发明的实施例不限于此。类似的技术和设备可用于在其它类型的网络中校正定时和相位对准。环形和树状结构可由于更多或更少的分支和节点的更多或更少层次而变得简单或复杂。定时连接可与数据连接集成,或者如所示示例暗示的一样,与数据连接分开。
[0081]例如,虽然图中的流程图示出本发明的某些实施例执行的操作的特定顺序,但应理解的是,所示顺序只提供为示例。备选实施例可以不同顺序执行操作,组合某些操作,重叠某些操作等。
[0082]虽然本发明已根据几个实施例描述,但本领域的技术人员将认识到本发明不限于所述实施例,通过在所附权利要求书的精神和范围内的修改和变化,能够实践本发明。描述因此要视为是说明性的而不是限制。
【权利要求】
1.一种在节点的网络中的主控时钟节点中执行的方法,所述节点的网络具有带本地时钟的主控时钟节点和每个带有本地时钟的多个从属时钟节点,所述从属时钟节点在从所述主控时钟节点开始并且回到所述主控时钟节点的环形拓扑中,所述方法用于同步所述网络的所述从属时钟节点和所述主控时钟节点,并且补偿所述从属时钟节点的相位对准偏移,所述方法包括: 将包括时间戳的定时分组从所述主控时钟节点的主控端口发送到所述环形的第一从属时钟节点,每个从属时钟节点具有接收来自一个网络节点的定时分组的从属端口和将定时分组传送到另一网络节点的主控端口; 在所述主控时钟节点的从属端口,接收来自所述环形的最后从属时钟节点的定时分组; 通过比较来自所述收到的定时分组的恢复时间和所述主控时钟节点本地时钟的所述时间,确定所述从属节点的相位对准偏移; 基于所述确定的相位对准偏移,确定用于所述从属时钟节点的相位校正值;以及 将包括所述相位校正值的相位校正分组从所述主控时钟节点发送到所述多个从属时钟节点。
2.如权利要求1所述的方法,其中接收所述定时分组包括在所述主控时钟节点专用于相位对准偏移校正的从属端口接收所述定时分组。
3.如权利要求1所述的方法,其中确定相位对准偏移包括组合使用多个收到的定时分组和对延迟请求分组的多个响应以确定所述相位对准偏移。
4.如权利要求1所述的方法,确定相位对准偏移包括比较来自所述收到的定时分组的恢复时钟的所述相位和所述主控时钟节点的本地时钟的所述相位。
5.如权利要求1所述的方法,其中确定相位校正值包括确定所述多个从属时钟节点的数量并且将所述确定的相位对准偏移除以从属时钟节点的所述数量。
6.如权利要求5所述的方法,还包括确定用于每个所述从属时钟节点的权重,并且使用所述权重调整用于每个从属时钟节点的所述确定的相位对准。
7.如权利要求6所述的方法,其中通过使用从所述环形中前一从属时钟节点的主控时钟端口到所述权重应用到的所述从属时钟节点的从属端口的传播时间,确定所述权重。
8.如权利要求1所述的方法,还包括比较所述确定的相位对准偏移和阈值,并且如果超过所述阈值,则生成警报。
9.如权利要求1所述的方法,还包括比较所述确定的相位对准和阈值,并且如果超过所述阈值,则不发送所述相位校正分组。
10.如权利要求1所述的方法,其中所述相位校正分组包括从属时钟节点的时钟所调整的纳秒数。
11.如权利要求1所述的方法,其中所述相位校正分组包括所述分组寻址到的特定从属节点的标识。
12.—种在节点的网络中的从属时钟节点中执行的方法,所述节点的网络具有带本地时钟的主控时钟节点和每个带有本地时钟的多个从属时钟节点,所述从属时钟节点在从所述主控时钟节点开始并且回到所述主控时钟节点的环形拓扑中,所述方法补偿在所述从属时钟节点之间的相位对准偏移,所述方法包括: 在所述从属时钟节点的从属端口,接收来自所述环形中前一网络节点的所述主控端口的包括时间戳的定时分组; 将反映所述从属时钟节点的所述本地时钟的定时分组发送到所述环形中下一网络节点的从属端口; 接收包括由所述主控时钟节点生成的相位校正值的相位校正分组,所述相位校正值基于所述主控时钟节点使用从从属时钟节点收到的定时分组确定的相位对准偏移;以及 基于在所述相位校正分组中收到的所述相位校正值,校正所述从属节点的所述时钟。
13.如权利要求12所述的方法,其中发送所述定时分组包括将所述定时分组发送到所述主控时钟节点专用于相位对准偏移校正的从属端口。
14.如权利要求12所述的方法,其中所述相位校正分组包括从属时钟节点的时钟所调整的纳秒数。
15.一种在节点的网络中的主控时钟节点,所述节点的网络具有带本地时钟的主控时钟节点和每个带有本地时钟的多个从属时钟节点,所述从属时钟节点在从所述主控时钟节点开始并且回到所述主控时钟节点的环形拓扑中,所述主控时钟节点补偿在所述从属时钟节点之间的相位对准偏移,所述主控时钟节点包括: 本地时钟,保持用于所述网络的定时; 主控端口,将包括时间戳的定时分组发送到所述环形中所述从属时钟节点的第一节点的从属端口; 从属端口,接收来自所述环形中所述从属时钟节点的最后一个节点的定时分组;以及 处理器,使用所述收到的定时分组和所述发送的定时分组,确定所述从属节点的相位对准偏移,并且基于所述确定的相位对准偏移,确定用于所述从属时钟节点的相位校正值; 所述主控时钟节点还将包括所述相位校正值的相位校正分组从所述主控时钟节点发送到所述多个从属时钟节点的至少一个节点。
16.如权利要求15所述的主控时钟节点,还包括接收来自所述环形网络外部的时钟节点的定时分组以设置所述主控时钟节点的所述本地时钟的第二从属端口。
17.如权利要求15所述的主控时钟节点,其中所述处理器通过组合使用多个收到的定时分组和对延迟请求分组的多个响应以确定相位对准偏移,确定所述相位对准偏移。
18.如权利要求15所述的主控时钟节点,其中所述处理器还比较所述确定的相位对准偏移和阈值,并且如果超过所述阈值,则所述处理器生成警报。
19.一种在节点的网络中的从属时钟节点,所述节点的网络具有带本地时钟的主控时钟节点和每个带有本地时钟的多个从属时钟节点,所述从属时钟节点在从所述主控时钟节点开始并且回到所述主控时钟节点的环形拓扑中,所述从属时钟节点补偿在所述从属时钟节点之间的相位对准偏移,所述从属时钟节点包括: 本地时钟,保持用于所述从属时钟节点的定时; 从属端口,接收来自所述环形中前一网络节点的主控端口的包括时间戳的定时分组; 主控端口,将定时分组发送到在所述环形中下一网络节点的从属端口 ;以及 处理器; 所述从属时钟节点还接收来自所述主控时钟节点的包括相位校正值的相位校正分组,所述相位校正值基于至少部分基于所述发送的定时分组确定的相位对准偏移,并且所述处理器基于在所述相位校正分组中收到的所述相位校正值,校正所述本地时钟。
20.如权利要求19所述的从属时钟节点,其中所述相位校正分组包括所述从属时钟节点的时钟所调整的纳秒数。
【文档编号】H04J3/06GK104365043SQ201380032401
【公开日】2015年2月18日 申请日期:2013年4月10日 优先权日:2012年4月20日
【发明者】郑群, T.盖尔, 张彤华 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1