专利名称:促进协调定时网络中的恢复的制作方法
技术领域:
本发明 一般地涉及处理单元网络内以及跨处理单元网络的时间同步, 具体地说,涉及促进所述网络中的恢复。
背景技术:
为了性能和数据完整性,访问共享数据的计算系统(如位于纽约阿蒙
克的国际商业机器公司提供的Sysplex)必须能够将日时(TOD)时钟同 步保持在优于系统间的最佳情况通信时间的精度。当前,在一个实例中, 为了满足同步要求,使用诸如IBMSysplexTime,之类的定时器。此定时 器需要昂贵的专用定时链路和单独的外部盒。IBIV^和IBM Sysplex Timer 是位于纽约阿蒙克的国际商业机器公司的注册商标。
诸如网络定时协议(NTP)之类的网络提供时间同步,但是不满足高 端系统的精度要求。NTP要求每个服务器都访问提供微秒级精度的外部时 间源,以便确保所有服务器都同步到同一基准时间。对于没有能力连接到 提供此精度级别的外部时间服务器的那些系统来说,这是一个问题。此夕卜, 出于维护、安全性和稳定性原因,要求在每个系统上具有GPS接收机或类 似附件被看作是不可行的。
发明内容
基于上述问题,需要促进提供时间同步的能力。在一个实例中,需要 指定定时网络中的单个活动层-1服务器的能力,这确保网络中的服务器使 用同一主基准时间来同步时钟。还需要从出现故障的活动层-1服务器恢复 的工具。通过提供包括至少一个计算机可用介质的制品而克服了现有技术的缺 点并提供了额外的优点,所述计算机可用介质具有计算机可读程序代码逻 辑以促进定时网络中的恢复。在被执行时,所述计算机可读程序代码逻辑
例如执行以下操作检测定时网络的服务器处的故障,所述服务器提供单 个时间源以便同步所述定时网络中的其他服务器;以及响应于检测到故障, 执行由另一服务器接管所述服务器,假如所述服务器出现故障,则所述另 一服务器被指定为所述单个时间源。
在此还描述和要求保护涉及本发明的 一个或多个方面的方法和系统。 通过本发明的技术实现了额外的特性和优点。在此详细描述了本发明 的其他实施例和方面并且它们被视为所要求保护的发明的一部分。
在说明书结尾处的权利要求中作为实例具体指出并明确要求保护本发 明的一个或多个方面。从下面结合附图的详细说明,本发明的上述和其他 目标、特性和优点将是显而易见的,这些附图是
图1A示出了混合协调定时网络的一个实例以结合本发明的一个或多 个方面;
图1B示出了仅有STP的网络的一个实例以结合本发明的一个或多个 方面;
图2示出了才艮据本发明的一个方面的层-1配置信息块的一个实例; 图3示出了才艮据本发明的一个方面的新的层-1配置信息块的一个实
例;
图4是根据本发明的一个方面的空(null)配置的图示; 图5是根据本发明的一个方面的单个服务器层-l配置的图示; 图6示出了才艮据本发明的一个方面的与创建单个服务器层-l配置关联 的逻辑的一个实施例;
图7是根据本发明的一个方面的双重服务器层-l配置的图示;
图8示出了才艮据本发明的一个方面的与创建双重服务器配置关联的逻辑的一个实施例;
图9是才艮据本发明的一个方面的三重配置的图示;
图10示出了根据本发明的一个方面的与创建三重配置关联的逻辑的 一个实施例;
图11A示出了根据本发明的一个方面的修改层-l配置请求块的一个实 施例;
图11B示出了才艮据本发明的一个方面的^"改层-l配置响应块的一个实 施例;
图12A示出了才艮据本发明的一个方面的配置更改通知请求块的一个实 施例;
图12B示出了才艮据本发明的一个方面的配置更改通知响应块的一个实 施例;
图13A示出了根据本发明的一个方面的修改CTNID请求块的一个实 施例;
图13B示出了根据本发明的一个方面的修改CTNID响应块的一个实 施例;
图14A示出了根据本发明的一个方面的读取CTN参数请求块的一个 实施例;
图14B示出了根据本发明的一个方面的读取CTN ;f^:响应块的一个 实施例;
图15示出了根据本发明的一个方面的与执行出现故障的活动层-1服 务器的恢复关联的逻辑的一个实施例;
图16示出了4艮据本发明的一个方面的与双重服务器层-l配置恢复过 程关联的逻辑的一个实施例;
图17示出了才艮据本发明的一个方面的与三重层-1配置恢复过程关联 的逻辑的一个实施例;
图18A示出了才艮据本发明的一个方面的与控制台辅助的恢复关联的逻 辑的一个实施例;图18B图示了根据本发明的一个方面的控制台辅助的恢复结果配置; 图19A示出了根据本发明的一个方面的与执行三重恢复关联的逻辑的 一个实施例;
图19B是根据本发明的一个方面的在活动层-1检错停机后的层-1接管 的图示;
图19C是根据本发明的一个方面的在丟失到活动层-l的链接后的层-1
服务器接管的图示;
图19D是根据本发明的一个方面的丟失单个链路-无层-1接管的图示; 图20示出了根椐本发明的一个方面的与执行活动层-1接管关联的逻
辑的一个实施例;
图21示出了根据本发明的一个方面的与执行活动层-1放弃关联的逻 辑的一个实施例;
图22A示出了根据本发明的一个方面的请求服务器状态请求块的一个 实施例;
图22B示出了根据本发明的一个方面的请求服务器状态响应块的一个 实施例;
图23A示出了根据本发明的一个方面的写入服务器状态请求块的一个 实施例;
图23B示出了根据本发明的一个方面的写入服务器状态响应块的一个
实施例;
图24示出了处理环境的一个实施例以结合和^f吏用本发明的一个或多
个方面;
图25示出了根据本发明的一个方面的图24的存储器的更多细节;以
及
图26示出了计算机程序产品的一个实例以结合本发明的一个或多个 方面。
具体实施方式
才艮据本发明的一个方面,提供了定义定时网络的层-1配置的能力,所 述配置包括单个活动层-1服务器,其可用于确保网络中的服务器都使用同 一主基准时间来同步其时钟。这样,网络中的服务器都同步到同一1^主 基准时间,并且同步精度不依赖于外部时间源的质量或层-1服务器处外部 时间源的存在。
在本发明的其他方面中,在层-1配置信息块中维护层-1配置,后者连 同其他信息一起被提供给网络的服务器以用于确保服务器的完整性。由于 网络中的每个服务器都知道层-1服务器的身份,所以将不允许指示其同步 到另一层-1服务器的服务器加入网络。
在本发明的其他方面中,提供了恢复过程以处理网络的活动层-1服务 器的故障。
尽管各种网络都可被配置为包括层-1服务器,但是一个此类网络是协
调定时网络(CTN)。在协调定时网络中,多个不同的计算系统维持时间 同步以形成协调定时网络。协调定时网络中的系统采用称为服务器时间协 议(STP)的基于消息的协议通过现有的高速数据链路在系统间传递计时 信息。这使得每个系统处的曰时(TOD)时钟能够被同步到如今的高端计 算系统所需的精度。由于所述协议利用计算系统内的技术,所以同步精度 随着技术进步而提高。提供STP工具的计算系统在此被称为时间服务器或 服务器。
在CTN中被定义为主时间服务器的服务器提供CTN的主基准时间。 在CTN中根据来自CTN中的另一服务器的信息来确定CST ( CTN的日 时(TOD)时钟的估计)的服务器被称为辅助时间服务器。主时间服务器 可以从外部时间源获得其时间,这提供了将CTN中的日时同步到定义的 时间标准的手段。
在CTN中处于已同步状态的服务器,皮赋予称为层级的值,该值指定 了所述服务器与主时间服务器之间的服务器数。主时间服务器工作在层级 1;辅助时间服务器工作在层级2或更高,后者随着到层-1的定时路径中的 服务器数的增加而增加。通常,计时信息的质量随着层级的增加而降低。未同步的服务器^U^予层级0。
STP工具提供了发送、接收和处理STP消息所需的过程。在服务器之 间的 一个或多个物理数据链路上发送STP消息。在两个服务器之间建立的 数据链路被称为STP路径。STP工具提供了建立和维护STP路径的工具。
STP消息包括消息命令和消息响应。支持两类STP消息,即,交换时 间参数(XTP)消息和STP控制(STC)消息。XTP消息用于交换用以确 定CTN的CST的计时信息。STP控制消息用于设置和修改CTN中的服 务器所需的各种CTN参数。
CTN可以例如作为两类配置之一来工作作为混合CTN配置或作为 仅有STP的CTN配置。在混合CTN配置中,将服务器配置为是STP网 络和外部时间基准(ETR)网络两者的一部分。在混合CTN配置中,CTN 中的服务器具备相同的非空ETR网络ID并且定时器(例如,IBM Sysplex Timer)提供CTN的主时间基准。在CTN内可以发生同步之前,CTN中 的至少一个服务器将跃变到由SYSPLEX定时器提供的计时信号。未跃变 到sysplex定时器的服务器是辅助时间服务器并且通过交换STP信号实现 同步。
作为一个实例,每个跃变到SYSPLEX定时器的计时信号的服务器接 收时间协议参数并且例如使用CTN参数更新过程将信息传播到CTN中的 辅助时间服务器。Carlson等人在2006年8月30日提交的题为 "Coordinated Timing Network Configuration Parameter Update Procedure"的美国申请第11/468,352号中描述了此过程的一个实例。
参考图1A描述了混合CTN配置100的一个实例。混合CTN配置100 例如包括连接到局域网(104)的服务器A(102)、连接到局域网(104) 的服务器B (106),以及连接到局域网(110)的服务器C (108)。每个 服务器例如都是基于由国际商业机器^>司提供的2/入1^"6 :111^@的中央处 理复合体。z/Architecture⑧是美国纽约阿蒙克的国际商业机器公司的注册 商标。在题为"z/Architecture Principles of Operation"的2005年9月的 IBM出版物No.SA22-7832-04中描述了 z/Architecture⑧的一个实施例。每个局域网都连接到用于在网络中提供时间同步的控制台120。此夕卜, 局域网104和局域网IIO经由广域网112彼此相连。
服务器A和B连接到外部时间基准网络114,并且服务器B和C被配 置为是STP网络116的一部分。服务器B处于层-1级,而服务器C处于 层-2级。STP链路118用于将服务器B的STP工具与服务器C的STP工 具耦合在一起。
在仅有STP的CTN中,CTN中的服务器被配置为是STP网络的一 部分并且任何服务器都不会被配置为是ETR网络的一部分。参考图1B描 述了仅有STP的网络150的一个实例。在此实例中,服务器A(152)和 服务器B (154 )连接到局域网(156 ),并且服务器C (158 )连接到局域 网(160)。每个服务器都包括STP工具162并且每个工具都经由一个或 多个STP链路164彼此相连。
此外,局域网156连接到控制台170并JL^域网160连接到控制台172。 控制台170还耦合到外部时间源(ETS) 174,如向外拨号到电话时间服务 器(例如,ACTS:NIST自动计算机时间服务)。在此网络中不存在ETR 网络。服务器B的层级为1,并且服务器A和C的层级为2。
要用作网络(如仅有STP的网络)中的活动层-1服务器的服务器被指 定为针对该网络定义的层-1配置的一部分。在网络的每个服务器处维护层 -1配置并且提供与网络的配置有关的信息,包括例如针对网络定义的配置 的类型。所述网络可以被配置为各种类型中的一种类型,例如包括
a) 空配置-在空配置中,不标识层-l服务器。服务器保持未同步, 直到其连接到具有非空层-1配置的服务器。处于层级0的服务器处的层-1 配置等同于例如在服务器未连接到任何其他服务器时的空配置,并且层-1 配置信息块中的单个CEC-CTN指示符(在以下描述)为零。
b) 单服务器定义-在单服务器定义中,层-1配置定义用作CTN的 活动层-1服务器的单个主层-1服务器。丟失主层-1服务器将导致CTN中 失去同步的时间,直到从控制台指定了新的层-1配置为止。
单服务器层-1配置还可以包括这样的指示指定的层-1服务器是CTN中仅有的服务器(例如,计算电子设备复合体(CEC)或CPC)并且任何 其他的或附加的服务器都不是CTN的一部分。在此情况下,CTN被称为 单CEC CTN。当层-1配置指示其是单CEC CTN时,对于加电重置后的 服务器的已初始化的状态,所述配置是有效的层-1配置。当单服务器层-1 配置未指定其是单CEC CTN时,对于加电重置后的服务器的已初始化的 状态,所述配置不是有效的层-1配置,并且层-l配置械i殳置为空配置。
c) 双重服务器配置-在双重服务器配置中,所述配置包括主层-1服 务器和备用层-1服务器。双重服务器配置的使用提供了使得备用服务器能 够接管CTN的活动层-1服务器的角色的机制。备用层-1服务器,在具备 与主层-1服务器相同的到CTN中的其他服务器的连通性时,可以作为活 动层-l进行接管而不干扰CTN的同步能力。如下所述,在CTN中的每个 服务器处维护的层-1配置信息块中指示了用作CTN的活动层-1服务器的 层-1服务器(主或备用)。不是活动层-1服务器的层-1服务器被定义为非 活动层-1服务器。
双重服务器配置中的非活动层-1服务器在其检测到活动层-1故障时将 接管活动层-l服务器的角色。在出现以下情况之一时,将在双重服务器配 置中检测到活动层-1故障
执行控制台辅助的恢复过程并且指示发生活动层-l故障,或者 识别到层-1系统检查信号。 双重服务器配置中的非活动层-1服务器在其失去与活动层-1服务器的 连接时执行控制台辅助的恢复。
d) 三重配置-在三重配置中,层-l配置包括主层-l服务器、备用 层-l服务器,以及仲裁器服务器。如针对双重服务器配置定义的,三重配 置的定义提供了使得备用服务器能够接管CTN的活动层-1服务器的角色 的机制。此外,仲裁器服务器(当具备到主层-l服务器和备用层-l服务器 两者的连通性时)的定义提供了非活动层-1和仲裁器服务器彼此通信的机 制,以便能够确定已发生活动层-1服务器故障并且确定非活动层-1应作为 活动层-1服务器进行接管。三重配置中的非活动层-1服务器在其识别到活动层-1故障时将接管活 动层-l的角色。在出现以下情况中的任何一种情况时,非活动层-l服务器
将识别到活动层-1故障
执行三重恢复过程并且指示已发生活动层-l故障。 .执行控制台辅助的恢复过程并且指示已发生活动层-1故障。 非活动层-1服务器在发生以下情况时将执行三重恢复过程
非活动层-1服务器丢失与活动层-1服务器的连接,但具有到仲 裁器的连接。
非活动层-1服务器识别到活动层-1通信超时并且具有到仲裁器 的连接。
当非活动层-1服务器丢失与活动层-1服务器的连接并且未连接到仲裁 器时,非活动层-l服务器执行控制台辅助的恢复。
非活动层"服务器执行活动层-i接管过程以接管CTN的活动层-1服 务器的角色。
三重配置中的活动层-1月良务器在检测到其失去与非活动层-1服务器和 仲裁器服务器两者的连接时将放弃活动层-1服务器的角色。活动层-1服务 器执行活动层-1放弃过程以放弃CTN的活动层-1服务器的角色。
在一个实例中,在称为层-1配置信息块(SCIB)的控制块中维护层-1 配置信息,所述信息存储在网络的每个服务器上并可由网络的每个服务器 访问。SCIB用于标识网络的层-1配置。
参考图2描述了层-1配置信息块200的一个实施例。层-1配置信息块 200例如包括以下字段
a )主层-1节点描述符202:当在以下所述的配置信息块的配置类型字 段中指定了单服务器、双重服务器或三重定义时这个字段有效,在有效时, 所述字段包括主层-1节点描述符的节点描述符。
b)备用层-l节点描迷符204:当在配置类型字段中指定了双重服务器 或三重定义时这个字段有效,在有效时,所述字段包括备用层-l服务器节 点描述符的节点描述符。c) 仲裁器节点描述符206:当在配置类型字段中指定了三重定义时这 个字段有效,所述字段包括仲裁器服务器节点描述符的节点描述符。
d) 层-1配置时间戳208:这个字段包括时间戳,所述时间戳指示了此 块中的层-1配置信息在服务器处变为当前的时间。
e) 配置类型(CType) 210:这个字段指定层-1配置的类型,如以下 定义的
空定义-没有任何节点描述符有效。
单服务器定义-仅主层-1节点描述符有效。
双重服务器定义主层-l和备用层-l节点描述符有效。
.三重定义主层-1、备用层-l以及仲裁器节点描述符有效。
f) 活动层-1 ( A) 212:这个字段在指定了双重服务器或三重定义时有 效并且指示了是主层-1服务器还是备用层-1服务器为活动层-1服务器。
g )单CEC CTN (X ) 214:这个字段在配置类型指定单服务器定义时 有效并且为1 (作为一个实例)时指示CTN是单CEC CTN。当该字段例 如为O时,CTN不是单CEC CTN。
h) 恢复配置(R) 216:这个字段指示由此块描述的层-1配置是层-1 恢复操作的结果还是控制台命令的结果。
i) 层-1最大短期斜率变化218:这个字段包括指定层-1服务器处的物 理振荡器的斜率在任何指定时段(例如,60秒)上可以发生的最大可能变 化的值。这个字段用于形成格式与基础调整速率相同的值。
在不能执行动态振荡器切换的机器上,该值等于在指定时段(例如, 60秒)上可以发生的最大层-1振荡器频率漂移.在能够执行动态振荡器切 换的机器上,该值净皮设置为针对振荡器指定的偏斜容许量的最大范围。例 如,在支持动态振荡器切换且振荡器偏斜容许量被指定为对标称频率为 +/-2 ppm的机器上,该值4皮设置为相当于4 ppm。在用于驱动系统TOD 时钟的物理振荡器从一个振荡器切换到另 一个振荡器时,将发生动态振荡 器切换。
除了以上控制块,还可以使用称为新的层-l配置信息块(NSCIB)的控制块来指定CTN的新的层-1配置。此外,其还可以用于指定要与层-1 配置更改同时发生的对CTN ID的更改。
在一个实例中,当服务器被配置为是仅有STP的CTN配置的一部分 或NSCIB中的STP迁移位等于1时,该服务器处的NSCIB是有意义的。
参考图3描述了新的层-l配置信息块300的一个实施例。新的层-1配 置信息块300例如包括以下字段
a) 主层-1节点描述符302:当在配置类型字段中指定了单服务器、双 重服务器或三重定义时这个字段有效并且包括新的主层-1节点描述符的节 点描述符。
b) 备用层-l节点描述符304:当在配置类型字段中指定了双重服务器 或三重定义时这个字段有效,所述字段包括新的备用层-1节点描述符的节 点描述符。
c) 仲裁器节点描述符306:当在配置类型字段中指定了三重定义时这 个字段有效,所述字段包括新的仲裁器节点描述符的节点描述符。
d )层-1配置更新时间308:当服务器被配置为是仅有STP的CTN的 一部分时,这个字段包括指示此块中的值对于CTN何时变为当前的时间戳。
e) 配置类型(CType) 310:这个字段指定层-1配置的类型,如以下 定义的
.空定义-没有任何节点描述符有效。
.单服务器定义-仅主层-1节点描述符有效。
双重服务器定义主层-l和备用层-l节点描述符有效。
.三重定义主层-1、备用层-1以及仲裁器节点描述符有效。
f) 活动层-1 ( A) 312:这个字段在指定了双重服务器或三重定义时有 效并且指示了是主层-1服务器还是备用层-1服务器为活动层-1服务器。
g) CTN ID更改(C) 314:当服务器被配置为是仅有STP的CTN的 一部分时,这个字段指示是否正在请求CTN ID更改并且CTN ID是否有 效。在层-1配置更新时间发生更改。CTN ID是用于标识CTN的值。CTN ID包括例如STP网络ID和ETR 网络编号。STP网络ID标识了为服务器配置的STP网络(如果有)。ETR 网络编号标识了为此服务器配置的ETR网络编号(如果有)。
h ) STP迁移配置(S ) 316:当服务器未配置为仅有STP的CTN时, 这个字段有意义。这个字段指示了是否为服务器定义了仅有STP的迁移层 -1配置。当字段例如为1时,NSCIB包括当服务器处的CTNID被修改为 仅有STP的配置时变为当前的层-1配置。当字段例如为0时,没有为服务 器定义仅有STP的迁移层-1配置。
i)单CECCTN (X) 318:这个字段在配置类型指定单服务器定义时 有效并且为1 (作为一个实例)时指示CTN是单CEC CTN。当该字段例 如为0时,CTN不是单CEC CTN。
j)恢复配置(R) 320:这个字段指示由此块描述的层-1配置是层-l 恢复操作的结果还是控制台命令的结果。
K)层-1最大短期斜率变化322:这个字段包括指定新的层-1服务器 处的物理振荡器的斜率在任何指定时段(例如,60秒)上可以发生的最大 可能变化的值。
1)新的CTN ID 324:当CTN-ID更改指示符指定CTN ID更改请求 和有效的CTN ID时这个字段有效。这个字段指定新的CTN ID。
如果不^f吏用新的层-l配置信息块来指定对CTN ID的更新,则作为一 个实例,该块可以不包括CTNID更改位或新的CTNID。
在机器初始加电时,服务器处的层-1配置被初始化为空配置。图4示 出了空配置的一个实例。如图所示,空配置400包括多个服务器402,后 者经由一个或多个STP链路404彼此相连。在此实例中,每个服务器的层 级等于O,因此没有活动层-1服务器。但是,在此实例中,使用如下所述 的本地修改CTN ID控制台命令将CTN ID设置为特定值。
具有空层-1配置的CTN不能被同步,因为未指定层-1并且不存在CTN 的基准时间。可以通过如下所述的诸如修改层-1配置命令之类的命令将 CTN从非空配置i殳置回空配置。可以从空配置创建单服务器层-1。单服务器层-1配置指定了单层-1服
务器并且未指定备用层-1或仲裁器服务器。图5中示出了单服务器层-1配 置的一个实例。如图所示,单服务器层-1配置500包括多个服务器502, 后者经由一个或多个STP链路504彼此相连,所述服务器之一(例如,服 务器A)被选择为活动主层-1服务器。因此,服务器A具有主-Sl的指示 并且其层级等于l。应指出的是,其他服务器具有大于l (例如,2或3) 的层值。
参考图6描述了与创建单服务器层-l配置关联的逻辑的一个实施例。 初始地,在步骤600,控制台向服务器A发出命令,如修改层-l配置命令, 其将具有服务器A的单服务器层-1配置指定为主层-1服务器。
此后,在步骤602,服务器A指示新的层-1配置是当前的。在一个实 例中,服务器A向控制台发出配置更改通知命令以提供此指示。
随后,在步骤604,网络的其他服务器识别时钟源的可用性并且获取 CTN的当前层-1配置和时间控制参数。在一个实例中,这通过服务器向时 钟源发出读取CTN参数STP控制消息以获取CTN的当前层-1配置和时 间控制参数来完成。
此外,在步骤606,在一个实例中,服务器发出配置更改机器检查以 指示新的层-1配置。在步骤608,服务器还例如通过发出定时警告外部中 断来指示定时状态更改(可用的时钟源,已同步)。这完成了与从空配置 创建单服务器层-1配置关联的处理。
除了上述内容以外,还可以从现有的非空配置创建双重服务器配置。 双重服务器层-1配置指定了主和备用层-l服务器,所述服务器中的任意一 个服务器都可以用作CTN的活动层-1服务器。控制台在创建层-1配置时 指定要用作层-1服务器的服务器并且控制台可以在任何时间对此进行修 改,
图7中示出了双重服务器层-l配置的一个实例。如图所示,服务器A (700)被指示为主服务器并且层级等于1。服务器C (702)被指示为备 用服务器并且层级等于2。服务器B (704)和D (706)的层级等于2,并且服务器E (708)的层级等于3。
参考图8描述了与创建双重服务器配置关联的逻辑的一个实施例。初 始地,在步骤800,双重服务器层配置被指定为使服务器A作为主和活动 服务器,并且服务器C作为备用服务器。在一个实例中,这通过控制台向 服务器A发出修改层-1配置命令来完成。
此后,在询问802,确定修改层-1配置命令中的强制更改位是否为0。 如果为0,在步骤804,服务器A验证其直接连接到服务器C。在一个实 例中,通过与服务器C交换消息来验证此连接。在询问806,如果验证指 示服务器A直接连接到服务器C,则在步骤808,服务器A调度CTN中 的层-1配置更新,并且在步骤809发生更新。此外,在步骤810,当新的 层-l配置变为当前时,作为一个实例,服务器A向控制台发出配置更改通 知命令。在步骤812,网络的服务器还发出配置更改机器检查以响应新的 层-1配置变为当前。
返回询问802,如果强制更改位净皮i殳置为1,则处理继续到步骤808, 其中服务器A调度CTN中的层-1配置更新。
再次参考询问806,如果服务器A未连接到服务器C,则在步骤814, 命令被拒绝并且处理结束。
除了从现有的非空配置创建双重配置以外,还可以从现有的非空配置 创建三重配置。三重层-l配置指定了主层-l服务器、备用层-l服务器,以 及仲裁器服务器。指定的主或备用都可以用作CTN的活动层-1服务器。 控制台在创建层-1配置时指定要用作层-1服务器的服务器可以由控制台在 任何时间进行修改。仲裁器服务器用于帮助确定活动层-1服务器何时不再 是CTN的一部分。
图9中示出了三重配置的一个实例。如图所示,服务器A(900)是主 层-1服务器并且层级等于1。此外,服务器C (卯2 )为备用层-1服务器并 且层级等于2,服务器B (卯4)为仲裁器并且层级也等于2。此外,服务 器D (906)的层级等于2,并且服务器E (908)的层级等于3。
参考图IO描述了与创建三重配置关联的逻辑的一个实施例。初始地,在步骤1000,控制台例如向服务器A发出修改层-1配置命令,所述命令指 定了三重配置,其中服务器A是活动主层-1服务器,服务器C是备用层-1 服务器,并且服务器B是仲裁器。
此后,在询问1002,确定修改层-l配置命令中的强制更改位是否设置 为0。如果为0,在步骤1004,服务器A验证其直接连接到服务器C和B。 在询问1006,如果服务器A连接到服务器C和B,则在步骤1008,服务 器A调度CTN中的层-1配置更新,并且在步骤1009发生更新。在步骤 1010,响应于新的层-1配置变为当前,服务器A还向控制台发出配置更改 通知命令。此后,在步骤1012,当新的层-1配置变为当前时,服务器发出 配置更改机器检查。
返回询问1002,如果更改位等于l,则不执行连通性验证并且处理继 续到步骤1008,其中服务器A调度CTN中的层-1配置更新。
此外,在询问1006,如果连通性验证失败,则在步骤1014,命令被拒 绝并且处理结束。
如上所述,在创建非空配置中使用了各种命令。 一个此类命令是修改 层-1配置命令,其用于指定对CTN的层-1配置的更改。命令请求包括新 的层-1配置信息块,后者指定了要如何修改层-1配置。
参考图11A描述了修改层-l配置命令请求块1100的一个实施例。在 一个实例中,修改层-1配置命令请求块包括以下字段
a) 长度字段1102:这个字段指示请求块的长度。
b) 命令代码1104:这个字段指定修改层-1配置命令。
c) 命令事务编号1106:这个字段包括与所发出的命令关联的值。在 命令的响应块中返回命令事务编号。
d ) CTN ID 1108:这个字段包括作为命令的目标的CTN的CTN ID。
e) 强制更改(F) 1110:这个字段指示是否针对命令执行配置验证。
f) 新的层-1配置信息块1112:这个字段包括CTN的新的层-1配置信
参考图11B描述了修改层-l配置命令的响应块的一个实施例。修改层
18-1配置响应块1150例如包括以下字段
a) 长度1152:这个字段包括命令响应块的长度。
b) 响应代码1154:这个字段包括命令的响应代码。
c) 命令事务编号1156:这个字段包括在命令请求块的命令事务编号 字段中提供的值。
在运行中,在命令指定了 CTN的新的活动层-1服务器时,将命令发 出到被指定为NSCIB中的活动层-1服务器的服务器。如果其未^J^出到 该服务器,则返回全局命令拒绝响应代码。新的活动层-1服务器在更新在 CTN内生效后异步地发出配置更改通知命令。当命令^J^出到混合CTN 中的服务器时,NSCIB中的STP迁移(S)字段被设置为1。这个字段指 示层-1配置将在CTN配置从混合CTN更改为仅有STP的配置时生效。
命令请求块包括指示是否针对命令执行配置發汪的字段。强制更改字 段被例如设置为1以指示将在没有配置^Si的情况下执行命令。强制更改 字段被例如设置为0以指示将在接受命令之前执行以下配置验证检查
如果指定了非空配置,则B接收服务器不是层-O服务器。强制更改 字段将被设置为1以将层-O服务器设置为活动层-l服务器。
如果指定了双重配置,则接收服务器l^it以下内容
如果接收服务器被指定为主层-1服务器,则其确保其连接到备用层-1 服务器。
如果接收服务器#1指定为备用层-1服务器,则其确保其连接到主层-1 服务器。
如果指定了三重配置,则接收服务器IHE以下内容 如果接收服务器被指定为主层-1服务器,则其确保其连接到备用层-1
服务器和仲裁器服务器。
如果接收服务器被指定为备用层-1服务器,则其确保其连接到主层-1
服务器和仲裁器服务器。
如果验证检查失败,则不接受命令并且报告响应代码。 上述另一个命令是配置更改通知(CCN)命令。配置更改通知命令用于通知控制台CTN中的某些配置更改。在配置已在CTN内生效后由网络 的服务器发出该命令。针对以下配置参数更^L^出该命令,作为实例,所 述更改包括层-1配置更改;层-1配置更改和CTN ID更改;以A/或者 CTN ID更改。
配置更改由于修改层-1配置命令、全局修改CTNID命令而发生,或 由于导致CTN的活动层-1服务器的更改的CTN恢复操作而发生。
参考图12描述了配置更改通知命令的命令请求块1200的一个实例。 在一个实施例中,命令请求块1200包括
a) 长度1202:这个字段包括命令块的长度。
b) 命令代码1204:这个字段包括配置更改通知命令的指定。
c) 命令事务编号1206:这个字段包括与发出的命令关联的值。在命 令的响应块中返回命令事务编号。
d) CTN ID 1208:这个字段包括发送命令的服务器的CTN ID。
e) 更改代码这个字段包括指定所报告的配置更改的代码。这个字段 例如包括
层-l配置更改如当前层-1配置块指示的,层-l配置已更改。
层-1配置更改和CTN ID更改如当前层-1配置块和CTN ID 字段指示的,层-1配置和CTNID已更改。 '仅CTNID更改如CTNID字段指示的,CTNID已更改。
f) 原因代码这个字段包括指定报告层-1配置更改的原因的代码。当 更改代码中指示了层-1配置更改时这个字段有效并且作为实例指示了以下 内容
《奮改层-l配置层-1配置更改是修改层-1配置命令的结果。
恢复层-1配置更改是STP工具恢复操作的结果。
g) 当前层-1配置信息块这个字段包括服务器的当前层-1配置信息块。
参考图12B描述了配置更改通知命令的命令响应块1250的一个实施 例。在一个实例中,命令响应块1250包括a) 长度1252:这个字段指定命令响应块长度。
b) 响应代码1254:这个字段包括命令的响应代码.
c) 命令事务编号1256:这个字段包括在命令请求块的命令事务编号 字段中提供的值。
另 一个可以执行的命令是修改CTN ID命令,其用于执行本地或全局 CTN ID更改。该命令可用于修改CTN的STP网络ID组件、ETR网络 ID组件或CTN ID的两个组件。请求块中的有效性指示符指示要修改CTN ID的哪些组件。请求块中的全局命令参数指定命令是全局命令还是本地命 令。
参考图13A描述了修改CTN ID命令的命令请求块1300的一个实例。 修改CTN ID请求块1300例如包括
a)长度1302:这个字段包括命令块长度。
b )命令代码1304:这个字段指定修改CTN ID命令。
c) 命令事务编号1306:这个字段包括与发出的命令关联的值。在命 令的响应块中返回命令事务编号。
d) CTN ID 1307:当有效时,这个字段包括作为命令的目标的CTN 的CTN ID。当全局CTN更新指示符例如为1时CTN ID有效并且将与接 收服务器处的当前CTN ID匹配;否则,识别到CTN ID不匹配错误。当 全局CTN更新指示符例如为0时这个字段无效并被忽略。
e) 全局CTN更新(G) 1308:这个字段指示命令是全局更新还是本 地更新。当命令是本地更新时,仅在接收服务器处执行该命令。当命令是 全局命令时,命令将^U^出到活动层-1服务器。
f) 新的STP网络ID有效(SV) 1310:这个字段指示新的STP网络 ID字段是否有效。当无效时,命令不修改CTNID的STP网络ID部分。
g) 新的ETR网络ID有效(EV) 1312:这个字段指示新的ETR网 络ID字段是否有效。当无效时,命令不修改CTN ID的ETR网络ID部 分。
h )新的STP网络ID 1314:当SV指示符有效时,这个字段包括新的STP网络ID。
i)新的ETR网络ID1316:当EV指示符有效时,这个字段包括新的 ETR网络ID。
j) ETR端口 0手动端口状态1318:当EV指示符有效时,这个字段 包括指定ETR端口 0的预定状态的手动端口状态4戈码。
k) ETR端口 1手动端口状态1320:当EV指示符有效时,这个字段 包括指定ETR端口 1的预定状态的手动端口状态代码。
参考图13B描述了修改CTN ID命令的命令响应块1350的一个实施 例。在一个实例中,修改CTNID响应块1350例如包括
a) 长度1352:这个字段包括指定命令响应块长度的值。
b) 响应代码1354:这个字段包括命令的响应代码。
c) 命令事务编号1356:这个字段包括在命令请求块的命令事务编号 字段中提供的值。
在一个实例中,当作为本地CTN更新发出修改CTN ID时,STP工 具立即执行更新,并且不向控制台发出配置更改通知命令。此外,当作为 全局CTN更新发出修改CTN ID时,活动层-1服务器在更新变为当前时 向控制台发出配置更改通知命令。
当作为全局CTN更新发出修改CTN 1D时,STP工具执行CTN参数 更新过程以在CTN中的服务器处调度修改CTN操作。调度的更新时间被 设置为保证CTN中的服务器在调度的更新时间之前接收到更新信息的值。 指定的响应代码指示在CTN中成功调度了操作。
当在服务器处调度了更新时,服务器将调度后的参数更新信息存储在 控制台盘存储装置上。此外,当参数更新在服务器处变为当前时,服务器 将更新后的CTN参数存储在控制台盘存储装置上。
作为一个实例,服务器发出称为保存CTN参数命令的命令以存储信 息。所述命令包括请求块,其例如具有长度和命令代码字段以及命令事 务编号;CIIB; STP工具启用指示符,其指示STP工具是否被启用;本地 时钟源指示符,其指定服务器是否已被指定为本地时钟服务器;活动振荡器指示符,其标识在保存命令时活动的振荡器;NCIIB; SCIB;基于层-1 的调整速率,其包括在服务器作为层-1服务器运行时该服务器的基础调整 速率;NSCIB; PCSIB; TCPIB; LSOIB;保存时间戳,其指示发出保存 命令的时间;振荡器标识符0;计算的振荡器偏斜O;振荡器标识符1;以 及计算的振荡器偏斜1字段。以下参考图14B描述这些字段中的多个字段。 命令的命令响应块例如包括长度、响应代码以及命令事务编号。
由于发出为本地命令的修改CTN ID控制台命令,将发生本地CTN ID 更改。在一个实例中,接收修改CTN ID控制台命令的服务器立即(在一 个实例中)在服务器处对CTNID做出指定的更改,并使服务器上所有已 建立的STP路径处于未初始化状态,然后建立主动权以执行STP长度上 的初始化。当CTNID更2UL生时,将生成配置更改机器检查条件。
在新的CTN ID块中指定的CTN ID更新时间,在服务器处发生全局 CTN ID更新。服务器在指定的更新时间对其CTN ID作出更改。在更改 之后,服务器在等于同步检查阈值的时段内不会识别到作为新的CTN ID 与先前CTN ID值之间的不匹配的结果而出现的CTN ID不匹配。在此时 段期间,将不会忽略作为除了新的CTN ID与旧的CTN ID值之间的不匹 配以外的不匹配的结果而出现的CTNID不匹配。当CTN ID更 UC生时, 将生成配置更改机器检查条件。
活动层-1服务器在进行作为全局CTN ID更新的结果而发生的CTN ID更新后发出配置更改通知控制台命令。
除了上述命令以夕卜,STP控制台接口包括从服务器读取STP定时和配 置信息的命令。可经由控制台显示器使用在读取命令中提供的信息。参考 图14A描述了读取CTN参数命令的命令请求块1400的一个实例。在一个 实例中,读取CTN参数命令请求块1400例如包括
a )长度1402:这个字段包括指定命令块长度的值。
b) 命令代码1404:这个字段包括指定读取CTN参数命令的值。
c) 命令事务编号1406:这个字段包括与发出的命令关联的值。在命 令的响应块中返回命令事务编号。参考图14B描述了读取CTN参数命令的命令响应块1450的一个实施 例。在一个实例中,响应块1450包括
a )长度1452:这个字段用于指示命令响应块长度。
b) 响应代码1454:这个字段包括命令的响应代码。
c) 命令事务编号1456:这个字段包括在命令请求块的命令事务编号 字段中提供的值。
d) CTN ID信息块1458:这个字段包括服务器的CTN ID信息块 (CIIB)。
在一个实施例中,CTNID信息块包括;5良务器的CTNID,以及在非空 ETR网络中指定ETR端口 0和1的状态的代码。
e) 最大STP版本1460:这个字段包括指示服务器所支持的最大STP 版本号的值。
f )活动STP版本1462:这个字段包括指示当前在服务器处活动的STP 版本号的值。
g) 最大定时层级1464:这个字段包括指示服务器可以被设置并处于 同步状态的最大层级的值。层级大于最大定时层级的服务器处于未同步定 时状态和不可使用时钟源状态。
h) 最大层级1466:这个字段包括指示可以为CTN中的任何服务器设 置的最大层级的值。
i) 本地时钟源(L) 1468:这个字段指示了服务器是否被指定为本地 时钟服务器。
j) STP时钟源状态(C ) 1470:这个字段指示了服务器的时钟源状态。 k)活动振荡器(A) 1472:这个字段标识了^皮STP工具视为活动的 振荡器。
1)定时模式(TMD) 1474:这个字段指定了服务器的定时模式。 m) STP定时状态(TST) 1476:这个字段指定了服务器的定时状态。 n) CTN类型(CTNT) 1478:这个字段包括指定在服务器处配置的 定时网络类型的代码。实例类型包括 未定义CTN:服务器未配置为连接到CTN。
仅有STP的定时网络服务器被配置为连接到仅包括STP网络
的CTN。
混合定时网络服务器被配置为连接到包括STP网络和ETR 网络两者的CTN。
0)层1480:这个字段包括指示服务器的层级的值。
p )新的CTN ID信息块(NCIIB ) 1482:这个字段包括服务器的新的 CIIB。以UTC (通用时间,协调)格式存储新的CTN ID更新时间。
在一个实例中,新的CTNID信息块包括新的CTNID; ETR端口 0手动端口状态;ETR端口 l手动端口状态;以及新的CTN ID更新时间, 后者例如是指示新的CTN ID变为当前的时间的时间戳。
q)当前层-1配置信息块(SCIB) 1484:这个字段包括服务器的当前 层-1配置块。
r)新的层-1配置信息块(NSCIB ) 1486:这个字段包括服务器的新的 层-1配置块。
s) PRT (主基准时间)校正调整信息块(PCSIB) 1488:这个字段包 括服务器的PCSIB。
在一个实例中,PRT校正调整信息块包括
1. PRT校正调整速率开始时间这个字段包括指示要启动PRT-校正调整的时间的时间戳。
2. PRT源标识符这个字段包括主基准时间源标识符。
3. 控制台分布这个字段包括提供的控制台分布。
4. UTC分布这个字段包括提供的UTC分布。
5. PRT偏移这个字段包括提供的主基准时间偏移。
6. PRT时间戳这个字段包括与提供的PRT时间戳对应的时间戳。
t )时区控制参数信息块(TCPIB )1490:这个字段包括服务器的TCP1B。
25在一个实例中,时区控制参数信息块例如包括
1. 活动本地时间代码这个字段包括这样的值标识本地时间设 置是否对CTN有效,以及在有效的情况下如何获取该值。实例包括
未指定本地时间。时区偏移和DST偏移都为0。
ATZIB有效且自动更新-ATZIB有效并指定了 CTN的本地时 间设置。TCPIB中的活动DST偏移、新的DST偏移以及新的 DSTO更新时间字段有效并且根据ATZIB中的DST-on和 DST-off算法来设置这些字段。TTO字段无效。
ATZIB有效且没有自动更新-ATZIB有效并指定了 CTN的时 区偏移。不使用ATZIB中指定的任何DST-on和DST-off算法。 活动DST偏移、新的DST偏移以及新的DSTO更新时间字段有 效。设置DST偏移控制台命令用于修改新的DSTO更新时间并 且用于在更新变为当前时指定本地时间是标准时间还是DST 。 TTO字段无效。
TTO字段有效-TTO字段有效并指定CTN的本地时间偏移, 并且包括时区偏移和任何夏时制偏移两者。ATZIB、活动DST偏 移、新的DST偏移以及新的DSTO更新时间字段无效。
2. 新的本地时间代码这个字段包括标识对于CTN新的TZIB 是否未决的值。实例包括
未指定新的本地时间。
.NTZIB有效且自动更新-NTZIB和NTZIB更新时间字段有效 并指定了 CTN的新的时间设置。新的TZIB在新的TZIB更新时 间变为当前。在NTZIB变为当前时,根据NTZIB中提供的 DST-on和DST-off算法来设置活动DST偏移、新的DST偏移以 及新的DSTO更新时间。
NTZIB有效且没有自动更新-NTZIB和NTZIB更新时间字段 有效并指定了要在新的TZIB更新时间变为当前的时区和DST偏 移。不使用TZIB中指定的DST-on和DST-off算法。3. 新的TZIBDST (D):这个字段在新的本地时间代码等于代 表TZIB-有效-没有-自动DST-更新的值时有效,并且指示了在NTZIB 变为当前时CTN的本地时间应被设置为夏时制还^Jl被设置为标准 时间。
4. 总时间偏移在有效时,这个字段指定了作为DST偏移的结 果在STP工具处生效的总时间偏移和在服务器处生效的时区偏移。当 活动时间代码指定了 TTO字段时这个字段有效。
5. 活动时区信息块(ATZIB):这个字段包括当前在服务器处 生效的时区信息块(TZIB)。
在一个实例中,TZIB包括
aa)时区算法编号这个字段标识了此表项的时区算法编号。 bb)时区偏移这个字段包括指示与UTC的时区差的值。 cc)夏时制(DST)偏移这个字段包括指示在夏时制生效时要 应用的DST偏移的值。由DST-on算法指定DST偏移值对于CTN 为活动的时间和日期。由DST-off算法指定服务器的DST偏移要 被i殳置为0的时间和曰期。
dd)标准时间名称这个字段标识了 DST偏移未生效时的时区。 ee)夏时制名称这个字段标识了 DST偏移生效时的时区。 ff) DST-On时间算法这个字段指定了要用于计算应用DST偏 移的日期和时间的算法。当自动DST调度对于服务器生效时将自 动地应用偏移。
gg ) DST-Off时间算法这个字段指定了要用于计算去除DST偏 移的日期和时间的算法。当自动DST调度对于服务器生效时将自 动地去除偏移。
6. 新的时区信息块(NTZIB):当有效时,这个字段包括要在 NTZIB更新时间指定的时间开始替代ATZIB的时区信息块。
7. 活动夏时制偏移(DSTO):这个字段包括指示当前在服务器 处生效的DST偏移的值。8. 新的夏时制偏移(NDSTO):这个字段包括指定要在新的DSTO 更新时间戳指定的时间开始替代活动DSTO的偏移的值。
9, 新的TZIB更新时间这个字段包括指定新的TZIB要生效的 时间的时间戮。
10,新的DSTO时间这个字段包括指定新的DST偏移要生效 的时间的时间戳。
u)闰秒偏移信息块(LSOIB) 1492:这个字段包括服务器的LSOIB。 新的LSO更新时间被转换为UTC时间戳格式。
在一个实例中,闰秒偏移信息块例如包括
1.提供活动闰秒偏移(P):这个字段例如^Li殳置为1时指示活
动闰秒偏移包括由操作员提供的值。这个字段例如被设置为0时,
活动闰秒偏移包括机器初始化值并且未由操作员设置。
2,活动闰秒偏移(LSO):这个字段包括指示当前在STP工具
处生效的闰秒数的值。
3. 新的闰秒偏移(LSO):这个字段包括指示要在LSO更新时 间指定的时间变为活动的闰秒数的值。
4. 新的闰秒偏移(LSO)更新时间这个字段包括指定新的闰秒 偏移要生效的时间的时间戳。
v)振荡器标识符0 (1494 ):这个字段包括振荡器0的标识符。 w)计算的振荡器偏斜0 (COS0) 1496:这个字段包括指定服务器上 安装的振荡器0相对于标称频率的计算的偏斜的值。
x)振荡器标识符l (1498):这个字段包括振荡器l的标识符。 y)计算的振荡器偏斜1 (COS1 ) 1499:这个字段包括指定服务器上 安装的振荡器1相对于标称频率的计算的偏斜的值。
在本发明的一个方面中,上述信息用于确保协调定时网络的服务器的 完整性。此信息传播到网络的服务器。网络的服务器获取配置、理解配置 并遵循相同的配置。在一个实施例中,服务器在不知道层-1配置的情况下 运行的时间不能多于预先指定的时间量(例如,空转(freewheel)时段)。
28如果服务器希望加入网络,则其获取并使用此信息。此信息提供了 CTN 的状态以及附加的信息。
根据本发明的其他方面,提供了将备用服务器配置为协调定时网络的 层-1配置的一部分的能力,以便在活动层-l服务器出现故障的情况下,备 用服务器能够作为活动层-l服务器进行接管。这防止了 CTN的单点故障, 使得CTN中的服务器能够在定时网络内保持或达到同步而不管活动层-1 服务器处的故障。
如上所述,可以为CTN定义指定主和备用层-1服务器的层-1配置。 主服务器在正常情况下用作CTN的活动层-1服务器,并且备用服务器用 作后备并称为非活动层-1服务器。当非活动层-1服务器检测到活动层-1服 务器处的故障时,其通知CTN (例如,经由CTN参数更新过程)其已作 为CTN的活动层-1服务器进行接管并且根据其自己的日时时钟来驱动 CTN。在此实施例中,出现故障的层-l服务器被设置为层-O并且可以在恢 复后重新加入网络,但是不能作为层-l服务器。此外,在一个实施例中, 如果主服务器未作为层-2服务器重新加入CTN,则其承担备用层-1服务器 的角色。如果需要,控制台可以指示主服务器恢复其作为CTN的活动层-1 服务器的角色。
参考图15描述了与检测活动层-1服务器处的故障以及执行恢复关联 的逻辑的一个实施例。初始地,在步骤1500,非活动层-l服务器检测到活 动层-1服务器处的故障。存在各种检测活动层-1服务器处的故障的机制, 例如,包括接收层-1系统检查信号(SCS);通过控制台辅助的恢复, 其包括与控制台通信以确定活动层-1服务器i^v检查停机或断电状态;以 及通过三重恢复,其4吏用第三服务器(仲裁器服务器)来表决放弃活动层 -l服务器。以下详细描述了这些故障检测机制。
在步骤1502,响应于检测到活动层-l故障,非活动层-1 J!l务器执行接 管过程。此夕卜,在步骤1504,假如活动层-1服务器检测到其ii^故障状态, 则在步骤1506,其执行放弃过程以放弃其作为CTN的活动层-1服务器的 角色。作为一个实例,由非活动层-1服务器执行的步骤1500和1502可以与 由活动层-1服务器执行的步骤1504和1506基本并行地执行。
参考基于配置的类型的过程在以下描述了有关故障检测和错误恢复的 细节。例如,仅在CTN的系统-1配置中指定了备用层-1服务器时才执行 层-l服务器恢复。在双重服务器和三重配置中都指定了备用服务器。因此, 为双重服务器层-1配置恢复和三重层-1配置恢复(都将在以下描述)两者 提供了恢复过程。
在双重^^务器层-1配置恢复中,双重服务器配置中的非活动层-1 J3良务 器接管活动层-1服务器的角色,以响应检测到活动层-1故障。参考图16 描述了与双重服务器层-1配置恢复关联的逻辑的一个实施例。初始地,在 步骤1600,非活动层-l服务器检测到活动层-l服务器处的故障。例如,在 执行控制台辅助的恢复过程并指示已发生活动层-1故障时,或者在识别到 层-1系统检查信号时(都将在以下描述),将在双重服务器配置中检测到 活动层-1故障。
在步骤1602,响应于检测到活动层-l服务器故障,非活动层-l服务器 执行活动层-1接管过程以接管CTN的活动层-1服务器的角色。这结束了 双重服务器层-1配置恢复的处理。
除了双重服务器层-l配置恢复以外,还提供了三重层-1配置恢复。参 考图17描述了与三重层-l配置恢复关联的逻辑的一个实施例。初始地,在 步骤1700,三重配置中的非活动层-l服务器识别到活动层-l故障。作为实 例,在执行三重恢复过程并指示已发生活动层-1故障时,或者在执行控制 台辅助的恢复过程且该过程指示已发生活动层-1故障时,非活动层-1服务 器识别到活动层-1故障。
在步骤1702,响应于检测到活动层-l故障,非活动层-l服务器执行活 动层-l接管过程以接管CTN的活动层-1服务器的角色。此外,在步骤1704, 活动层-1服务器;^文弃活动层-l服务器的角色,以响应检测到其已丢失到非 活动层-1服务器和仲裁器服务器两者的连接。活动层-1服务器执行以下描 述的活动层-1放弃过程以放弃CTN的活动层-1服务器的角色。此外,在步骤1706,当例如发生以下情况时,非活动层-l服务器将执 行三重恢复过程非活动层-1服务器失去与活动层-1服务器的连接并且具 有到仲裁器服务器的连接;和/或非活动层-1服务器识别到活动层-1通信超 时并且具有到仲裁器的连接。例如,在CTN的空转间隔到期之前的2秒 检测到活动层-1通信超时,并且允许在CTN中检测到同步检查条件之前 发生层-1接管。Carlson等人在2006年8月30日提交的题为"Coordinated Timing Network Configuration Parameter Update Procedure"的美国中请 第11/468,352号(其全部内容在此引入作为参考)中描述了有关空转间隔 的细节。
在一个实施例中,在询问1707,假如三重恢复失败,则在步骤1708, 三重配置中的非活动层-l服务器执行双重服务器恢复,如参考图16所述。 但是,如果三重恢复成功,则绕过双重服务器恢复。这结束了三重层-l配 置恢复的处理。
以下详细描述了有关恢复期间执行的各种过程的细节。
例如,检测活动层-1服务器处的故障的一种机制是在非活动层-1服务 器处接收层1系统检查信号(SCS)。此层1系统检查信号向双重服务器 CTN配置中的非活动层-1服务器指示活动层-1服务器已进入阻止该活动 层-1服务器继续充当CTN的活动层-1服务器的状态。
在非活动层-1服务器检测到活动层-1服务器已终止到非活动层-1服务 器的STP连通性时,非活动层-1 0^务器识别到SCS。当非活动层-1在与活 动层-1服务器关联的STP路径组中的最后路径上接收到离线信号时,非活 动层-1检测到活动层-1服务器已终止STP连通性。
在活动层-1服务器终止所有到非活动层-1服务器的连通性时,活动层 -1服务器识别到其已发出SCS。当活动层-1服务器在与非活动层-1服务器 关联的STP路径组中的最后路径上发送离线信号时,活动层-1服务器认为 所有到非活动层-1服务器的STP连通性都已被终止。
用于检测故障的另 一种机制是控制台辅助的恢复过程,其由双重服务 器或三重配置中的非活动层-1服务器启动以确定活动层-1服务器的状态。此过程利用控制台提供的信息以确定活动层-1故障条件是否存在。
参考图18A描述了与控制台辅助的恢复过程关联的逻辑的一个实施 例。初始地,在步骤1800,非活动层-l服务器请求服务器状态。具体地说, 非活动层-1服务器发出STP生成的请求服务器状态控制台命令,其中命令 请求块中的节点描述符字段等于活动层-1服务器的节点描述符。在步骤 1802,响应于控制台接收到此请求,控制台尝试与活动层-l服务器通信以 确定活动层-1服务器的状态。
在步骤1804,在尝试确定活动层-l服务器的状态之后,控制台向非活 动层-1服务器发出写入服务器状态控制台命令,其中请求块中的状态代码 被设置为活动层-1服务器的最为公知的状态。在步骤1806,如果非活动层 -1服务器接收到指示层-1服务器处于检查停机或断电状态的写入服务器状 态控制台命令,则其识别到活动层-l条件。
参考图18B所示的配置描述了与控制台辅助的恢复的一个实例关联的 更多细节。作为一个实例,在双重服务器配置中,在非活动层-l服务器检 测到与活动层-1服务器的连接服务器通信错误时,非活动层-1服务器将执 行控制台辅助的恢复。在以下实例中,活动层-l服务器已进入检查状态。 对于图18B的配置,在控制台辅助的恢复期间执行以下操作。
1. 服务器D (1850)检测到丟失与服务器A (1852)的连接。
2. 服务器D向控制台发出请求服务器状态命令以请求服务器A 的状态。
3. 控制台查询服务器A以确定其运行状态。
4. 控制台向服务器D发出写入月艮务器状态,指示服务器A或者 未运行(检查停机或断电),或者运行状态未知。
5. 如果服务器A运行或者其状态未知,则服务器D重复请求服 务器状态命令。
6. 如果服务器A的状态为未运行,则服务器D执行CTN参数更 新过程以调度新的层-1配置,以便将自身设置为活动层-1服务器。
在一个实例中,协调定时网络参数更新过程在定时网络中同时地更新
32CTN参数。作为一个实例,所述过程包括选择一个或多个要更改的定时 参数;以及构造信息响应分组,其包括要更改的参数以及何时发生所述更 改。然后将该分组广播到网络中的其他服务器。在接收服务器处,确定是 否丢失与时钟源的通信。这典型地通过从网络中用作时钟源的节点定期接 收定时消息来完成。如果确定通信丟失的持续时间过长(作为一个实例, 其针对网络提前定义,并且;U良务器处的时钟相对于该服务器的时钟源处 的时钟的最大漂移率的函数),则接收服务器声明其定时参数无效。为了 继续,服务器获取新的定时参数。如果持续时间尚未过长,则定时参数仍 有效并且在建议的未来时间在网络内的所有服务器中更新参数。
7. 在层-1配置更改生效时,服务器D向控制台发出配置更改通 知。
8. 服务器C (1854 )更改为层-3;服务器F (1856 )更改为层-2。
9. 在网络的所有服务器处生成配置更改机器检查以报告服务器C 和F的层-1配置更改和层级更改。
所执行的其他恢复过程是三重恢复过程。由三重配置中的非活动层-1 服务器执行三重恢复过程以确定是否发生层-1故障。
参考图19A描述了与三重恢复过程关联的逻辑的一个实施例。初始地, 在步骤1900,将非活动层-1服务器置于接管模式状态。此夕卜,在步骤l卯2, 向仲裁器服务器发出设置仲裁器接管模式消息命令。备用层-1服务器通过 例如到仲裁器服务器的消息来发出设置仲裁器接管模式操作以将仲裁器置 于接管模式。接收服务器返回仲裁器接管状态标志和响应块。在消息命令 数据字段中,活动层-1通信超时标志被设置为如下如果服务器没有到活 动层服务器的连接,则标志例如被设置为0;如果服务器具有到活动层服 务器的连接并且识别到活动层-l通信,则标志例如祐j殳置为1。
如果对设置仲裁器接管模式消息命令的响应具有等于1的接管状态标 志,则非活动层-l服务器识别到活动层-l故障;如果对设置仲裁器接管模 式消息命令的响应具有等于0的接管状态标志,则非活动层-1服务器未识 别到活动层-1故障并且执行以下操作如果响应具有等于1的活动层-1通信超时标志,则服务器退出接管模式;如果响应具有等于O的活动层-l通 信超时标志,则非活动层-l保持接管模式。
当以下情况中的任一情况发生时,非活动层-l服务器脱离接管模式
其接收到包含接管状态标志等于0和通信超时标志等于1的设
置仲裁器接管消息响应。
其向仲裁器发出重置仲裁器接管模式命令。备用层-1服务器向
仲裁器服务器发出重置仲裁器接管模式操作以使仲裁器脱离接管
模式。通过消息将此操作转发到仲裁器服务器。
其执行活动层4接管过程。
如果非活动层-1服务器在处于接管模式时从活动层-l服务器接收到建 立STP路径消息命令,则其向仲裁器发出重置仲裁器接管模式命令;并且 建立主动权以在到活动层-1服务器的路径上执行STP路径初始化。
当仲裁器服务器从非活动层-1服务器接收到设置仲裁器接管模式消息 命令时,其ii^仲裁器接管模式。当以下情况中的任一情况发生时,仲裁 器服务器脱离仲裁器接管模式
仲裁器使用包括接管状态标志等于0和通信超时标志等于1的 响应来响应设置仲裁器接管消息命令。
仲裁器接受来自非活动层-1服务器的重置仲裁器接管模式命 令。
仲裁器接收到层-1配置更新。
当处于仲裁器接管模式时,仲裁器处于以下仲裁器接管状态之一接 管未决状态;或接管活动状态。在对设置仲裁器接管模式命令的响应中指 示仲裁器接管状态。
当仲裁器1仲裁器接管模式并且以下两个条件存在时,仲裁器i^/v 接管未决状态仲裁器连接到活动层-1服务器;以及仲裁器中不存在活动 层-1通信超时。
接管未决状态指示非活动层-1服务器不能执行活动层-1接管。当仲裁 器进入接管活动状态或仲裁器脱离仲裁器接管模式时,仲裁器脱离接管未
34决状态。
在以下情况下,仲裁器ii^接管活动状态
.当其进入仲裁器接管模式并且以下条件中的任一条件存在时 活动层-1服务器未连接到仲裁器,或活动层-1服务器连接到仲裁 器并且在仲裁器处识别到活动层-1通信超时条件。 .当其处于接管未决状态并且活动层-1服务器脱离已连接状态或 识别到活动层-1通信超时。 接管活动状态向非活动层-1服务器指示其可以执行活动层-l接管。如 果仲裁器在响应"i殳置仲裁器接管命令后i^接管活动状态,则仲裁器向非 活动层-l服务器发出仲裁器接管活动命令(即,发送消息)以指示仲裁器 已从接管未决转变为接管活动状态。
当仲裁器ii^接管活动状态时,活动层-1服务器的路径组中的任何剩 余路径都被置于指示通信错误的未初始化状态。在处于接管活动状态时, 仲裁器使用接管活动状态响应代码来响应来自活动层-1服务器的建立STP 路径(ESP)消息命令。
当仲裁器脱离仲裁器接管模式时,其脱离接管未决状态。 参考图19B描述了三重配置中的层-l恢复的一个实例。
1. 服务器l (1950) ii^检查停机状态。
2. 服务器2 ( 1952 )检测到丢失与服务器1的连接。
3. 服务器2向仲裁器服务器发出设置接管模式控制命令。
4. 仲裁器i^接管模式以如下响应设置接管模式命令
如果其未连接到服务器l,其响应以i^接管活动状态,指 示非活动层-1服务器可以接管活动层-1服务器的角色。在处 于接管活动状态时,仲裁器服务器不允许建立与活动层-1服 务器的路径。
如果其未连接到服务器l,其响应以ii^接管未决状态,指 示非活动层-1服务器不能接管活动层-1服务器的角色。如果 仲裁器在处于接管未决状态时丟失与服务器1的连接,则其向服务器2发出仲裁器接管状态活动通知。
5. 仲裁器在设置接管模式命令中或使用到服务器2的仲裁器接管 状态活动通知指示其处于接管活动状态。
6. 服务器2执行CTN参数更新过程以将自身设置为活动层-1。
7. 当层-l配置更改变为当前时,服务器2向控制台发出配置更改 通知更改。
8. 在网络的所有服务器处生成配置更改机器检查以报告层-1配置 更改。
作为进一步的实例,参考图19C,描述了在丢失到活动Sl的链i^后 层-1服务器接管的恢复过程。
1. 参考图19C,示出了服务器2 (1972)和仲裁器(1974)检测 到丢失与服务器1 (1976 )的连接。
2. 服务器2向仲裁器服务器发出设置接管模式控制命令。
3. 仲裁器在对设置接管模式命令的响应中或使用到服务器2的仲 裁器接管状态活动通知命令来指示其处于接管活动状态,表明其授冲又 接管。
4. 服务器2执行CTN参数更新过程以将自身设置为活动层-1。
5. 在层-l配置更改变为当前时,服务器2向控制台发出配置更改 通知。
6. 服务器1检测到丢失与服务器2和3的连接并且执行放弃过程。 作为连接到服务器B的结果,其下降到层-3。
7. 在网络的所有服务器处生成配置更改机器检查中断请求以报告 层-1配置更改和服务器1处于层-3。
在以下实例中,不执行层-l接管。参考图19D描述了此实例。在此实 例中
1. 服务器2 (1980)检测到丢失与服务器l (1982)的连接。
2. 服务器2向仲裁器服务器(1984 )发出设置接管模式控制命令。
3. 响应于设置接管模式命令,仲裁器指示其处于接管未决状态,指示非活动层-1服务器不能接管活动层-1服务器的角色。
4. 服务器2不执行恢复并且降低到层-3。
5. 如果链路恢复,则服务器2向仲裁器发出重置接管模式命令。
6. 服务器2生成配置更改机器检查请求以4艮告层级更改。 在双重层-1恢复(图16)和三重层-1恢复(图17)两者中,非活动
层-1服务器执行活动层-1接管过程以响应识别到活动层-1故障。所述过程 导致非活动层-1服务器接管CTN的活动层-1服务器的角色。
参考图20描述了与活动层-l接管关联的逻辑的一个实施例。初始地, 在步骤2000,活动层-1服务器的路径组中的所有剩余路径都被置于未初始 化状态且URC指示通信4晉误。
此外,在步骤2002,服务器将其层级设置为l,在步骤2004,修改服 务器和控制台处的层-1配置信息块。在一个实例中,修改SCIB以便修改 活动位以将服务器指示为活动层-1服务器;将层-1最大短期斜率变化字段 设置为服务器的值;将层-1配置时间戳设置为当前时间;不修改其他字段。
除了上述操作以外,在步骤2006,服务器执行CTN参数更新过程以 将CTN的层-1配置信息块修改为更新后的SCIB中的值。层-1配置更新 时间和层-1配置信息块被设置为SCIB中的层-1配置时间戳。这结束了活 动层-1接管。
所执行的另 一个过程是活动层-1放弃过程,在双重服务器或三重配置 中,当活动层-l服务器识别到其已进入活动层-l服务器故障状态时,活动 层-1服务器将执行所g弃过程。所述过程导致活动层-1服务器放弃CTN 的活动层-1服务器的角色。
参考图21描述了与活动层-1放弃过程关联的逻辑的一个实施例。在一 个实例中,在步骤2100,将在非活动层-1和活动层-1服务器处的仲裁器服 务器的路径和路径组i殳置为未初始化状态且URC指示初始化未完成。此 夕卜,在步骤2102,活动层-1服务器将其层级设置为0并且变为辅助服务器。 在步骤2104,作为辅助服务器的先前活动层-1服务器将其层-1配置设置为 空配置。此外,在步骤2106,其尝试通过其链路定位潜在的时钟源。这完成放弃过禾呈。
如上所述,请求服务器状态命令用于请求由请求块中的节点描述符指 定的服务器的运行状态。控制台使用写入服务器状态命令异步地提供所指
定的服务器的状态。参考图22A描述了请求服务器状态命令的命令请求块
的一个实施例。
请求服务器状态请求块2200例如包括
a)长度2202:这个字段包括指定命令块长度的值。
b )命令代码2204:这个字段指定读取服务器状态命令。
c) 命令事务编号2206:这个字段包括与所发出的命令关联的值。在 命令的响应块中返回命令事务编号。
d) 节点描述符2208:这个字段包括为其请求状态的服务器的节点描 述符。
参考图22B描述了请求服务器状态命令的命令响应块2250的一个实 施例。响应块2250例如包括
a) 长度2252:这个字段包括指定命令块长度的值。
b) 响应代码2254:这个字段包括命令的响应代码。
c) 命令事务编号2256:这个字段包括在命令请求块的命令事务编号 字段中提供的值。
写入服务器状态命令提供了请求块中指定的服务器的运行状态。控制 台在接受请求服务器状态命令后发出该命令。参考图23A描述了写入服务 器状态命令的命令请求块的一个实施例。在一个实例中,写入服务器状态 请求块2300包括
a) 长度2302:这个字段包括指定命令块长度的值。
b) 命令代码2304:这个字段包括指定写入服务器状态命令的值。
c) 命令事务编号2306:这个字段包括与所发出的命令关联的值。在 命令的响应块中返回命令事务编号。
d) 状态代码2308:这个字段包括指示由请求块中的节点描述符指定 的服务器的状态的值。所迷状态例如包括 服务器运行。
服务器状态未知。
.服务器处于检错停机状态。
.服务器断电。
e)节点描述符2310:这个字段包括报告其状态的服务器的节点描述符。
参考图23B描述了写入服务器状态命令的命令响应块的一个实施例。 在一个实例中,写入服务器状态响应块2350包括
a) 长度2352:这个字段包括指定命令块长度的值。
b) 响应代码2354:这个字段包括命令的响应代码。
c) 命令事务编号2356:这个字段包括在命令请求块的命令事务编号 字段中提供的值。
在一个实施例中,本发明的一个或多个方面可以在基于一种架构(称 为本机架构)但仿真另一架构(称为客户架构)的处理环境中执行。作为 实例,所述#架构是位于纽约阿蒙克的国际商业机器公司提供的Power4 或?<^^卩€@架构,或由Intel公司提供的Intel 架构;并且所^户架构 是也由位于纽约阿蒙克的国际商业机器公司提供的z/Architecture 。在题 为"z/Architecture Principles of Operation"的2005年9月的IBM出版物 No. SA22-7832-04中描述了 z/Arehitecture⑧的各方面。在此类环境中,在 z/Architecture 中指定并且设计为在z/Architecture⑧机器上执行的指令和/ 或逻辑被仿真为在不同于z/Architecture 的架构上执行。参考图24-25描 述了此处理环境的 一个实例,
参考图24,描述了要结合和使用本发明的一个或多个方面的处理环境 的一个实施例。处理环境2400例如包括本机中央处理单元2402;存储 器2404 (例如,主存储器);以及一个或多个输入/输出(I/O )设备2406, 后者例如经由一个或多个总线2408和/或其他连接彼此相连。作为实例, 处理环境2400可以包括由位于纽约阿蒙克的国际商业机器公司提供的 PowerPC⑧处理器、pSeries 服务器或乂861^8@服务器;由位于加利福尼亚
39的帕拉阿托的Hewlett-Packard公司提供的带有Intel Itanium 2处理器的 HP Superdome;和/或其他基于由IBM 、 Hewlett-Packard、 Intel 、 Sim Microsystems等提供的架构的机器。PowerPC , pSeries⑧和xSeries⑧是美 国纽约阿蒙克的国际商业机器公司的注册商标。Inte^和Itanium 2是位于 加利福尼亚的圣克4Mi的Intel公司的注册商标。
本机中央处理单元2402包括在环境内的处理期间使用的一个或多个 本机寄存器2410,如一个或多个通用寄存器和/或一个或多个专用寄存器。 这些寄存器包括代表环境在任何特定时刻的状态的信息。
此外,本机中央处理单元2402执行存储在存储器2404中的指令和代 码。在一个特定实例中,中央处理单元执行存储器2404中存储的仿真器代 码2412。此代码4吏得一种架构中配置的处理环境能够仿真另一种架构。例 如,仿真器代码2412允许基于不同于z/Architecture的架构的机器(如 PowerPC⑧处理器、pSeries⑧服务器、xSeries⑧服务器、HP Superdome⑧服
务器等)仿真2/入1^11^"11^@并且执行基于2/八1^11&"11^@开发的软件和 指令。
参考图25描述了有关仿真器代码2412的更多细节。客户指令2502 包括开发为在与本机CPU 1002的架构不同的架构中执行的软件指令(例 如,机器指令)。例如,客户指令2502可以设计为在z/Architecture⑧处理 器902上执行,但是实际上在本机CPU 2402 (其例如可以是Intel Itanhm^2处理器)被仿真。在一个实例中,仿真器代码2412包括指令取 回例程2500,其用于从存储器2404获得一个或多个客户指令2502,并用 于可选地为所获得的指令提供本地緩沖。
仿真器代码2412还包括指令转换例程2504,其用于确定已获得的客 户指令的类型,并用于提供与客户指令对应的一个或多个#指令2509。 在一个实例中,所述提供包括例如在转换处理期间产生给定客户指令的本 机指令流。这包括确定功能并产生等价的本机指令。在其他实例中,提供 本机指令包括选择仿真器中与客户指令关联的代码段。例如,每个客户指 令都在仿真器中具有关联的代码段(其包括一个或多个本机指令的序列)并且选择该代码段以便执行。
仿真器代码2412还包括仿真控制例程2506,其导致执行本机指令。 仿真控制例程2506可以导致本机CPU 2402执行仿真一个或多个先前获得 的客户指令的本机指令例程,并且在此类执行结束时,导致将控制返回指 令取回例程以仿真获得下一客户指令或下一组客户指令。本机指令2509 的执行可以包括将数据从存储器2404载入寄存器;将数据从寄存器存回 存储器;或如转换例程确定的,执行某种类型的算术或逻辑运算。每个例 程例如在软件中实现,所述软件存储在存储器中并由本机中央处理单元 2402执行。在其他实例中, 一个或多个例程或运算在固件、石更件、软件或 它们的某种組合中实现。可以使用^UCPU的寄存器2410或通过4吏用存 储器2404中的单元来仿真所仿真的客户处理器的寄存器。在各实施例中, 客户指令2502、 ^4几指令2509以及仿真代码2412可以位于同一存储器中 或分布在不同的存储器件之间。
在其他实施例中,可以使用适于存储和/或执行程序代码的数据处理系 统,其包括通过系统总线直接或间接连接到存储元件的至少一个处理器。 所述存储元件可以例如包括在程序代码的实际执行期间采用的本地存储 器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在 执行期间从大容量存储装置检索代码的次数的高速緩冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备、DASD、 磁带、CD、 DVD、闪盘和其他存储介质等)可以直接或通过中间1/0控制 器与系统相连。网络适配器也可以被连接到系统以使所述数据处理系统能
设备相连。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的 网络适配器类型。
本发明的一个或多个方面可以包括在一件制品(例如, 一个或多个计 算机程序产品)中,所述制品例如具有计算机可用介质。所述介质中例如 具有计算机可读程序代码装置或逻辑(例如,指令、代码、命令等)以提 供和促进本发明的能力。所述制品可以包括为系统(例如,计算机系统)
41的一部分或单独出售。
参考图26描述了结合本发明的一个或多个方面的制品或计算机程序 产品的一个实例。计算机程序产品2600例如包括一个或多个计算机可用介 质2602以在其上存储计算机可读程序代码装置或逻辑2604,以便提供和 促进本发明的一个或多个方面。所述介质可以是电、磁、光、电磁、红外 线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包 括半导体或固态存储器、磁带、可移动计算机盘、随M取存储器(RAM)、 只读存储器(ROM)、硬磁盘和光盘。光盘的当前实例包括光盘-只读存储器 (CD-ROM)、光盘-读/写(CR-R/W)和DVD。
由一个或多个计算机可读程序代码装置或逻辑限定的程序指令序列或 一个或多个相关模块的逻辑装配引导本发明的一个或多个方面的执行。
在此描述了通过多个不同的计算系统促进维护时间同步以形成协调定 时网络的能力。定时网络中的服务器利用服务器时间协议在系统之间的现 有高速数据链路上传递计时信息,这提供了将每个系统处的日时时钟同步 到如今的高端计算系统所需的精度的能力。在高速、低等待时间链路上使 用STP提供了在基于单个服务器提供的基准时间时,将CTN中的所有系 统例如同步到若干微秒的精度的能力。
STP提供了^:置和维护CTN中的计时信息(如时区、夏时制偏移, 以及闰秒偏移)的能力。可以以预定和一致的方式在CTN中更新所述信 息,以便在CTN中的所有服务器处同时发生所有更改。这防止了在以偶 然方式更新这些参数(这在计算机之间产生时间设置差异)时发生潜在的 系统暴露和中断。
操作员可以通过STP控制台接口来设置和读取CTN参数。CTN参数 包括服务器连通性、本地时间信息,如计算UTC所需的时区、夏时制以 及闰秒。控制台本身是任何提供操作员接口以显示和设置CTN参数以及 具有与STP工具通信的能力的元件。
在本发明的一个方面中,提供单个活动层-1服务器作为网络的时钟源。 活动层-1服务器处的日时时钟可以被设置为任何时间,但通常设置为外部时间基准,如拨号到UTC。如果其他服务器具有称为空配置的未定义层-1 配置,或者如果其他服务器具有与主时间服务器的配置匹配的层-1配置, 则允许所述其他服务器加入CTN。因此,CTN内的同步精度不依赖于外 部时间源的质量,甚至不依赖于层-l服务器处的外部时间源的存在。这确 保了 CTN中的服务器同步到同一J^出主基准时间。
在本发明的其他方面中,定义了备用服务器,4吏得在活动层-l服务器 处出现故障的情况下,备用服务器能够作为活动层服务器进行接管。这防 止了 CTN的单点故障,使得CTN中的服务器能够在定时网络内维持或重 新获得同步,而不管活动层-l服务器处的故障。
在以下专利申请中提供了有关定时网络的附加信息美国第 60/887,512号,标题为"Server Time Protocol Messages And Methods"; 美国第60/887,544号,标题为"Channel Subsystem Server Time Protocol Commands";美国第60/887,576号,标题为"Method And System For Establishing A Logical Path Between Servers In A Coordinated Timing Network";美国第60/887,584号,标题为"Facilitating Synchronization Of Servers In A Coordinated Timing Network";美国第60/887,652号,标题 为 "Defining A Stratum-1 Configuration In A Coordinated Timing Network";美国第11/468,352号,标题为"Coordinated Timing Network Configuration Parameter Update Procedure",申请日2006年8月30日; 美国第11/460,025号,标题为"Directly Obtaining By Application Programs Information Usable In Determining Clock Accuracy", 申请日2006年7 月26日;美国第11/223,886号,标题为"System And Method For TOD-Clock Steering";美国第11/532,168号,标题为"Synchronization Signal For TOD-Clock Steering Adjustment";美国第11/468,501号,标 题为 "Managing Data Access Via A Loop Only If Changed Locking Facility";美国第11/223,878号,标题为"Clock Filter Dispersion";美 国第11/223,876号,标题为"Method And System For Clock Skew And Offset Estimation";美国第11/223,577号,标题为"Use Of T4 TimestampsTo Calculate Clock Offset and Skew";以及美国笫11/223,642号,标题为 "System And Method For Calibrating A TOD Clock"。
有利地,使能提供质量计时信息的本发明的一个或多个方面允许满足 同步和精度要求。CTN内的系统以不那么严格的同步精度要求与诸如UTC 的外部时间源紧密同步。无需使用昂贵的专用定时链路和/或单独的外部 盒。此外,无需要求每个服务器都连接到外部时间服务器或都具有GPS。
尽管在此提供了一个或多个实例,但是它们只是实例。在不脱离本发 明精神的情况下,许多变化都是可能的。例如,除在此提供的实例以外的 处理环境可以包括和/或受益于本发明的一个或多个方面。此外,所述环境 无需基于z/Architecture ,而是可以基于例如由IBM 、 Intel 、 Sun Microsystems等提供的其他架构,进而,所述环境可以包括多个处理器, 作为实例,所述处理器可以被分区和/或与其他系统相连。
此外,尽管描述了各种控制块,但是这些控制块中的每个控制块都可 以包括附加的、较少的和/或不同的信息。控制块中的位置和控制块内的每 个字段的大小可以随不同实施例而不同。
如在此使用的,术语"获得,,包括但不限于取回、接收、具有、提 供、被提供、产生、开发等
本发明的一个或多个方面的能力可以在软件、固件、硬件或它们的某 种组合中实现。可以提供至少一个可由机器读取的程序存储"&备,所述机 器包含至少一个指令程序,可由所述机器执行所述指令程序以执行本发明 的能力。
在此示出的流程图只是实例。其中描述的这些示图或步骤(或操作) 可以存在许多变化而不脱离本发明的精神。例如,可以以不同的顺序执行 步骤,或者可以添加、删除或修改步骤。所有这些变化都被视为要求保护 的发明的一部分。
尽管在此详细示出和描述了各实施例,但是对相关领域的技术人员将 显而易见的是,可以作出各种修改、添加、替换等而不脱离本发明的精神, 因此,这些修改、添加、替换等被视为在如权利要求所限定的本发明的范
44围之内。
权利要求
1.一种方法,包括以下步骤由协调定时网络的备用服务器检测所述协调定时网络的主活动服务器的故障,所述协调定时网络具有用于时钟同步的定时工具,所述主活动服务器在所述协调定时网络中具有规定的角色;由所述备用服务器接管所述主活动服务器的所述规定的角色;以及响应于接管,由所述备用服务器使用其时钟源来同步所述协调定时网络。
2. 根据权利要求l的方法,其中所述检测步骤包括以下操作之一接 收指示所述故障的系统检查信号,与控制台通信以获知所述故障,或者从 所述协调定时网络的仲裁器获得所述故障的指示。
3. 根据权利要求l的方法,其中所述主活动服务器是双重服务器配置 的主活动服务器,并且其中所述检测步骤包括以下操作之一接收指示所 述故障的系统检查信号,或者与控制台通信以获知所述故障。
4. 根据权利要求l的方法,其中所述主活动服务器是三重服务器配置 的主活动服务器,并且其中所述检测步骤包括以下操作之一从所述三重 服务器配置的仲裁器获得所述故障的指示,或者与控制台通信以获知所述 故障。
5. 根据权利要求l的方法,其中所述主活动服务器是双重服务器配置 的主活动服务器,并且其中所述接管步骤包括将所述主活动服务器的路径组的零个或更多剩佘路径置于未初始化状态;将所述备用服务器的层级设置为指示所述备用服务器是所述主活动服务器的规定值;以及修改至少 一个配置块以指示所述接管。
6. 根据权利要求l的方法,其中所述主活动服务器是三重服务器配置 的主活动服务器,并且其中所述接管步骤包括将所述主活动服务器的路径组的零个或更多剩余路径置于未初始化状态;将所述备用服务器的层级设置为指示所述备用服务器是所述主活动服 务器的规定值;以及j务改至少一个配置块以指示所述接管; 使所述备用服务器处于接管模式状态;以及向所述三重服务器配置的仲裁器服务器发出设置仲裁器接管模式消息。
7. 根据权利要求l的方法,还包括所述主活动服务器放弃其作为主 活动月l务器的角色,以响应所述主活动服务器检测到其已i^故障状态。
8. 根据权利要求7的方法,其中所述主活动服务器是双重服务器配置 的主活动力i务器,并且其中所述故障状态响应ii/v检错停机状态。
9. 根据权利要求7的方法,其中所述主活动服务器是三重服务器配置 的主活动服务器,并且其中i^v所述故障状态以响应失去与所述三重配置 的所述备用服务器和仲裁器服务器的连接。
10. 根据权利要求7的方法,其中所M弃步骤包括 将一个或多个路径组中的零个或更多路径置于未初始化状态; 将所述主活动服务器的层级设置为指示所述主活动服务器不是所述协调定时网络的一部分的给定值;修改放弃的主活动服务器的至少一个控制块以指示所述放弃;以及 定位所M弃的主活动服务器的时钟源。
11. 根据权利要求l的方法,其中所述主活动服务器经由配置为维护 时间同步的协调定时网络与所述备用服务器进行网络通信,所述主活动服 务器通过所述协调定时网络发送服务器时间协"R消息.
12. —种系统,包括适于执行根据任一上述方法权利要求的方法的所 有步骤的装置.
13. —种计算机程序,包括当所述计算^l^呈序在计算机系统上执行时, 用于执行根据任一上述方法权利要求的方法的所有步骤的指令。
全文摘要
在定时网络中提供了恢复。为该网络定义了配置,在该配置中,标识提供该网络的时钟源的活动主服务器。此外,标识备用服务器,假如所述活动主服务器出现故障,则所述备用服务器可以执行所述活动主服务器的角色。响应于所述主服务器的故障,所述备用服务器检测到所述故障并且执行对所述主服务器的接管。
文档编号H04J3/06GK101601214SQ200880003616
公开日2009年12月9日 申请日期2008年1月17日 优先权日2007年1月31日
发明者D·克拉布特里, D·埃尔科, D·塞维尼, D·惠特尼, D·达伦, J·维尔伯斯基, N·东迪, R·大史密斯, S·卡尔森 申请人:国际商业机器公司