CN101601214B - 促进协调定时网络中的恢复的方法和*** - Google Patents
促进协调定时网络中的恢复的方法和*** Download PDFInfo
- Publication number
- CN101601214B CN101601214B CN200880003616.7A CN200880003616A CN101601214B CN 101601214 B CN101601214 B CN 101601214B CN 200880003616 A CN200880003616 A CN 200880003616A CN 101601214 B CN101601214 B CN 101601214B
- Authority
- CN
- China
- Prior art keywords
- server
- main active
- active server
- layer
- ctn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
在定时网络中提供了恢复。为该网络定义了配置,在该配置中,标识提供该网络的时钟源的活动主服务器。此外,标识备用服务器,假如所述活动主服务器出现故障,则所述备用服务器可以执行所述活动主服务器的角色。响应于所述主服务器的故障,所述备用服务器检测到所述故障并且执行对所述主服务器的接管。
Description
技术领域
本发明一般地涉及处理单元网络内以及跨处理单元网络的时间同步,具体地说,涉及促进所述网络中的恢复。
背景技术
为了性能和数据完整性,访问共享数据的计算***(如位于纽约阿蒙克的国际商业机器公司提供的Sysplex)必须能够将日时(TOD)时钟同步保持在优于***间的最佳情况通信时间的精度。当前,在一个实例中,为了满足同步要求,使用诸如IBM Sysplex 之类的定时器。此定时器需要昂贵的专用定时链路和单独的外部盒。 和IBM Sysplex 是位于纽约阿蒙克的国际商业机器公司的注册商标。
诸如网络定时协议(NTP)之类的网络提供时间同步,但是不满足高端***的精度要求。NTP要求每个服务器都访问提供微秒级精度的外部时间源,以便确保所有服务器都同步到同一基准时间。对于没有能力连接到提供此精度级别的外部时间服务器的那些***来说,这是一个问题。此外,出于维护、安全性和稳定性原因,要求在每个***上具有GPS接收机或类似附件被看作是不可行的。
发明内容
基于上述问题,需要促进提供时间同步的能力。在一个实例中,需要指定定时网络中的单个活动层-1服务器的能力,这确保网络中的服务器使用同一主基准时间来同步时钟。还需要从出现故障的活动层-1服务器恢复的工具。
通过提供包括至少一个计算机可用介质的制品而克服了现有技术的缺点并提供了额外的优点,所述计算机可用介质具有计算机可读程序代码逻辑以促进定时网络中的恢复。在被执行时,所述计算机可读程序代码逻辑例如执行以下操作:检测定时网络的服务器处的故障,所述服务器提供单个时间源以便同步所述定时网络中的其他服务器;以及响应于检测到故障,执行由另一服务器接管所述服务器,假如所述服务器出现故障,则所述另一服务器被指定为所述单个时间源。
在此还描述和要求保护涉及本发明的一个或多个方面的方法和***。
通过本发明的技术实现了额外的特性和优点。在此详细描述了本发明的其他实施例和方面并且它们被视为所要求保护的发明的一部分。
附图说明
在说明书结尾处的权利要求中作为实例具体指出并明确要求保护本发明的一个或多个方面。从下面结合附图的详细说明,本发明的上述和其他目标、特性和优点将是显而易见的,这些附图是:
图1A示出了混合协调定时网络的一个实例以结合本发明的一个或多个方面;
图1B示出了仅有STP的网络的一个实例以结合本发明的一个或多个方面;
图2示出了根据本发明的一个方面的层-1配置信息块的一个实例;
图3示出了根据本发明的一个方面的新的层-1配置信息块的一个实例;
图4是根据本发明的一个方面的空(null)配置的图示;
图5是根据本发明的一个方面的单个服务器层-1配置的图示;
图6示出了根据本发明的一个方面的与创建单个服务器层-1配置关联的逻辑的一个实施例;
图7是根据本发明的一个方面的双重服务器层-1配置的图示;
图8示出了根据本发明的一个方面的与创建双重服务器配置关联的逻 辑的一个实施例;
图9是根据本发明的一个方面的三重配置的图示;
图10示出了根据本发明的一个方面的与创建三重配置关联的逻辑的一个实施例;
图11A示出了根据本发明的一个方面的修改层-1配置请求块的一个实施例;
图11B示出了根据本发明的一个方面的修改层-1配置响应块的一个实施例;
图12A示出了根据本发明的一个方面的配置更改通知请求块的一个实施例;
图12B示出了根据本发明的一个方面的配置更改通知响应块的一个实施例;
图13A示出了根据本发明的一个方面的修改CTN ID请求块的一个实施例;
图13B示出了根据本发明的一个方面的修改CTN ID响应块的一个实施例;
图14A示出了根据本发明的一个方面的读取CTN参数请求块的一个实施例;
图14B示出了根据本发明的一个方面的读取CTN参数响应块的一个实施例;
图15示出了根据本发明的一个方面的与执行出现故障的活动层-1服务器的恢复关联的逻辑的一个实施例;
图16示出了根据本发明的一个方面的与双重服务器层-1配置恢复过程关联的逻辑的一个实施例;
图17示出了根据本发明的一个方面的与三重层-1配置恢复过程关联的逻辑的一个实施例;
图18A示出了根据本发明的一个方面的与控制台辅助的恢复关联的逻辑的一个实施例;
图18B图示了根据本发明的一个方面的控制台辅助的恢复结果配置;
图19A示出了根据本发明的一个方面的与执行三重恢复关联的逻辑的一个实施例;
图19B是根据本发明的一个方面的在活动层-1检错停机后的层-1接管的图示;
图19C是根据本发明的一个方面的在丢失到活动层-1的链接后的层-1服务器接管的图示;
图19D是根据本发明的一个方面的丢失单个链路-无层-1接管的图示;
图20示出了根据本发明的一个方面的与执行活动层-1接管关联的逻辑的一个实施例;
图21示出了根据本发明的一个方面的与执行活动层-1放弃关联的逻辑的一个实施例;
图22A示出了根据本发明的一个方面的请求服务器状态请求块的一个实施例;
图22B示出了根据本发明的一个方面的请求服务器状态响应块的一个实施例;
图23A示出了根据本发明的一个方面的写入服务器状态请求块的一个实施例;
图23B示出了根据本发明的一个方面的写入服务器状态响应块的一个实施例;
图24示出了处理环境的一个实施例以结合和使用本发明的一个或多个方面;
图25示出了根据本发明的一个方面的图24的存储器的更多细节;以及
图26示出了计算机程序产品的一个实例以结合本发明的一个或多个方面。
具体实施方式
根据本发明的一个方面,提供了定义定时网络的层-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的定时路径中的服务器数的增加而增加。通常,计时信息的质量随着层级的增加而降低。 未同步的服务器被赋予层级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 SysplexTimer)提供CTN的主时间基准。在CTN内可以发生同步之前,CTN中的至少一个服务器将跃变到由SYSPLEX定时器提供的计时信号。未跃变到sysplex定时器的服务器是辅助时间服务器并且通过交换STP信号实现同步。
作为一个实例,每个跃变到SYSPLEX定时器的计时信号的服务器接收时间协议参数并且例如使用CTN参数更新过程将信息传播到CTN中的辅助时间服务器。Carlson等人在2006年8月30日提交的题为“Coordinated Timing Network Configuration Parameter UpdateProcedure”的美国申请第11/468,352号中描述了此过程的一个实例。
参考图1A描述了混合CTN配置100的一个实例。混合CTN配置100例如包括:连接到局域网(104)的服务器A(102)、连接到局域网(104)的服务器B(106),以及连接到局域网(110)的服务器C(108)。每个服务器例如都是基于由国际商业机器公司提供的 的中央处理复合体。 是美国纽约阿蒙克的国际商业机器公司的注册商标。在题为“z/Architecture Principles of Operation”的2005年9月的IBM出版物No.SA22-7832-04中描述了 的一个实施例。
每个局域网都连接到用于在网络中提供时间同步的控制台120。此外,局域网104和局域网110经由广域网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并且局域网160连接到控制台172。控制台170还耦合到外部时间源(ETS)174,如向外拨号到电话时间服务器(例如,ACTS:NIST自动计算机时间服务)。在此网络中不存在ETR网络。服务器B的层级为1,并且服务器A和C的层级为2。
要用作网络(如仅有STP的网络)中的活动层-1服务器的服务器被指定为针对该网络定义的层-1配置的一部分。在网络的每个服务器处维护层-1配置并且提供与网络的配置有关的信息,包括例如针对网络定义的配置的类型。所述网络可以被配置为各种类型中的一种类型,例如包括:
a)空配置-在空配置中,不标识层-1服务器。服务器保持未同步,直到其连接到具有非空层-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配置,并且层-1配置被设置为空配置。
c)双重服务器配置-在双重服务器配置中,所述配置包括主层-1服务器和备用层-1服务器。双重服务器配置的使用提供了使得备用服务器能够接管CTN的活动层-1服务器的角色的机制。备用层-1服务器,在具备与主层-1服务器相同的到CTN中的其他服务器的连通性时,可以作为活动层-1进行接管而不干扰CTN的同步能力。如下所述,在CTN中的每个服务器处维护的层-1配置信息块中指示了用作CTN的活动层-1服务器的层-1服务器(主或备用)。不是活动层-1服务器的层-1服务器被定义为非活动层-1服务器。
双重服务器配置中的非活动层-1服务器在其检测到活动层-1故障时将接管活动层-1服务器的角色。在出现以下情况之一时,将在双重服务器配置中检测到活动层-1故障:
·执行控制台辅助的恢复过程并且指示发生活动层-1故障,或者
·识别到层-1***检查信号。
双重服务器配置中的非活动层-1服务器在其失去与活动层-1服务器的连接时执行控制台辅助的恢复。
d)三重配置-在三重配置中,层-1配置包括:主层-1服务器、备用层-1服务器,以及仲裁器服务器。如针对双重服务器配置定义的,三重配置的定义提供了使得备用服务器能够接管CTN的活动层-1服务器的角色的机制。此外,仲裁器服务器(当具备到主层-1服务器和备用层-1服务器两者的连通性时)的定义提供了非活动层-1和仲裁器服务器彼此通信的机制,以便能够确定已发生活动层-1服务器故障并且确定非活动层-1应作为活动层-1服务器进行接管。
三重配置中的非活动层-1服务器在其识别到活动层-1故障时将接管活动层-1的角色。在出现以下情况中的任何一种情况时,非活动层-1服务器将识别到活动层-1故障:
·执行三重恢复过程并且指示已发生活动层-1故障。
·执行控制台辅助的恢复过程并且指示已发生活动层-1故障。
非活动层-1服务器在发生以下情况时将执行三重恢复过程:
·非活动层-1服务器丢失与活动层-1服务器的连接,但具有到仲裁器的连接。
·非活动层-1服务器识别到活动层-1通信超时并且具有到仲裁器的连接。
当非活动层-1服务器丢失与活动层-1服务器的连接并且未连接到仲裁器时,非活动层-1服务器执行控制台辅助的恢复。
非活动层-1服务器执行活动层-1接管过程以接管CTN的活动层-1服务器的角色。
三重配置中的活动层-1服务器在检测到其失去与非活动层-1服务器和仲裁器服务器两者的连接时将放弃活动层-1服务器的角色。活动层-1服务器执行活动层-1放弃过程以放弃CTN的活动层-1服务器的角色。
在一个实例中,在称为层-1配置信息块(SCIB)的控制块中维护层-1配置信息,所述信息存储在网络的每个服务器上并可由网络的每个服务器访问。SCIB用于标识网络的层-1配置。
参考图2描述了层-1配置信息块200的一个实施例。层-1配置信息块200例如包括以下字段:
a)主层-1节点描述符202:当在以下所述的配置信息块的配置类型字段中指定了单服务器、双重服务器或三重定义时这个字段有效,在有效时,所述字段包括主层-1节点描述符的节点描述符。
b)备用层-1节点描述符204:当在配置类型字段中指定了双重服务器或三重定义时这个字段有效,在有效时,所述字段包括备用层-1服务器节点描述符的节点描述符。
c)仲裁器节点描述符206:当在配置类型字段中指定了三重定义时这个字段有效,所述字段包括仲裁器服务器节点描述符的节点描述符。
d)层-1配置时间戳208:这个字段包括时间戳,所述时间戳指示了此块中的层-1配置信息在服务器处变为当前的时间。
e)配置类型(CType)210:这个字段指定层-1配置的类型,如以下定义的:
·空定义-没有任何节点描述符有效。
·单服务器定义-仅主层-1节点描述符有效。
·双重服务器定义:主层-1和备用层-1节点描述符有效。
·三重定义:主层-1、备用层-1以及仲裁器节点描述符有效。
f)活动层-1(A)212:这个字段在指定了双重服务器或三重定义时有效并且指示了是主层-1服务器还是备用层-1服务器为活动层-1服务器。
g)单CEC CTN(X)214:这个字段在配置类型指定单服务器定义时有效并且为1(作为一个实例)时指示CTN是单CEC CTN。当该字段例如为0时,CTN不是单CEC CTN。
h)恢复配置(R)216:这个字段指示由此块描述的层-1配置是层-1恢复操作的结果还是控制台命令的结果。
i)层-1最大短期斜率变化218:这个字段包括指定层-1服务器处的物理振荡器的斜率在任何指定时段(例如,60秒)上可以发生的最大可能变化的值。这个字段用于形成格式与基础调整速率相同的值。
在不能执行动态振荡器切换的机器上,该值等于在指定时段(例如,60秒)上可以发生的最大层-1振荡器频率漂移。在能够执行动态振荡器切换的机器上,该值被设置为针对振荡器指定的偏斜容许量的最大范围。例如,在支持动态振荡器切换且振荡器偏斜容许量被指定为对标称频率为+/-2ppm的机器上,该值被设置为相当于4ppm。在用于驱动***TOD时钟的物理振荡器从一个振荡器切换到另一个振荡器时,将发生动态振荡器切换。
除了以上控制块,还可以使用称为新的层-1配置信息块(NSCIB)的 控制块来指定CTN的新的层-1配置。此外,其还可以用于指定要与层-1配置更改同时发生的对CTN ID的更改。
在一个实例中,当服务器被配置为是仅有STP的CTN配置的一部分或NSCIB中的STP迁移位等于1时,该服务器处的NSCIB是有意义的。
参考图3描述了新的层-1配置信息块300的一个实施例。新的层-1配置信息块300例如包括以下字段:
a)主层-1节点描述符302:当在配置类型字段中指定了单服务器、双重服务器或三重定义时这个字段有效并且包括新的主层-1节点描述符的节点描述符。
b)备用层-1节点描述符304:当在配置类型字段中指定了双重服务器或三重定义时这个字段有效,所述字段包括新的备用层-1节点描述符的节点描述符。
c)仲裁器节点描述符306:当在配置类型字段中指定了三重定义时这个字段有效,所述字段包括新的仲裁器节点描述符的节点描述符。
d)层-1配置更新时间308:当服务器被配置为是仅有STP的CTN的一部分时,这个字段包括指示此块中的值对于CTN何时变为当前的时间戳。
e)配置类型(CType)310:这个字段指定层-1配置的类型,如以下定义的:
·空定义-没有任何节点描述符有效。
·单服务器定义-仅主层-1节点描述符有效。
·双重服务器定义:主层-1和备用层-1节点描述符有效。
·三重定义:主层-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包括当服务器处的CTN ID被修改为仅有STP的配置时变为当前的层-1配置。当字段例如为0时,没有为服务器定义仅有STP的迁移层-1配置。
i)单CEC CTN(X)318:这个字段在配置类型指定单服务器定义时有效并且为1(作为一个实例)时指示CTN是单CEC CTN。当该字段例如为0时,CTN不是单CEC CTN。
j)恢复配置(R)320:这个字段指示由此块描述的层-1配置是层-1恢复操作的结果还是控制台命令的结果。
K)层-1最大短期斜率变化322:这个字段包括指定新的层-1服务器处的物理振荡器的斜率在任何指定时段(例如,60秒)上可以发生的最大可能变化的值。
l)新的CTN ID 324:当CTN-ID更改指示符指定CTN ID更改请求和有效的CTN ID时这个字段有效。这个字段指定新的CTN ID。
如果不使用新的层-1配置信息块来指定对CTN ID的更新,则作为一个实例,该块可以不包括CTN ID更改位或新的CTN ID。
在机器初始加电时,服务器处的层-1配置被初始化为空配置。图4示出了空配置的一个实例。如图所示,空配置400包括多个服务器402,后者经由一个或多个STP链路404彼此相连。在此实例中,每个服务器的层级等于0,因此没有活动层-1服务器。但是,在此实例中,使用如下所述的本地修改CTN ID控制台命令将CTN ID设置为特定值。
具有空层-1配置的CTN不能被同步,因为未指定层-1并且不存在CTN的基准时间。可以通过如下所述的诸如修改层-1配置命令之类的命令将CTN从非空配置设置回空配置。
可以从空配置创建单服务器层-1。单服务器层-1配置指定了单层-1服务器并且未指定备用层-1或仲裁器服务器。图5中示出了单服务器层-1配置的一个实例。如图所示,单服务器层-1配置500包括多个服务器502,后者经由一个或多个STP链路504彼此相连,所述服务器之一(例如,服务器A)被选择为活动主层-1服务器。因此,服务器A具有主-S1的指示并且其层级等于1。应指出的是,其他服务器具有大于1(例如,2或3)的层值。
参考图6描述了与创建单服务器层-1配置关联的逻辑的一个实施例。初始地,在步骤600,控制台向服务器A发出命令,如修改层-1配置命令,其将具有服务器A的单服务器层-1配置指定为主层-1服务器。
此后,在步骤602,服务器A指示新的层-1配置是当前的。在一个实例中,服务器A向控制台发出配置更改通知命令以提供此指示。
随后,在步骤604,网络的其他服务器识别时钟源的可用性并且获取CTN的当前层-1配置和时间控制参数。在一个实例中,这通过服务器向时钟源发出读取CTN参数STP控制消息以获取CTN的当前层-1配置和时间控制参数来完成。
此外,在步骤606,在一个实例中,服务器发出配置更改机器检查以指示新的层-1配置。在步骤608,服务器还例如通过发出定时警告外部中断来指示定时状态更改(可用的时钟源,已同步)。这完成了与从空配置创建单服务器层-1配置关联的处理。
除了上述内容以外,还可以从现有的非空配置创建双重服务器配置。双重服务器层-1配置指定了主和备用层-1服务器,所述服务器中的任意一个服务器都可以用作CTN的活动层-1服务器。控制台在创建层-1配置时指定要用作层-1服务器的服务器并且控制台可以在任何时间对此进行修改。
图7中示出了双重服务器层-1配置的一个实例。如图所示,服务器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,当新的层-1配置变为当前时,作为一个实例,服务器A向控制台发出配置更改通知命令。在步骤812,网络的服务器还发出配置更改机器检查以响应新的层-1配置变为当前。
返回询问802,如果强制更改位被设置为1,则处理继续到步骤808,其中服务器A调度CTN中的层-1配置更新。
再次参考询问806,如果服务器A未连接到服务器C,则在步骤814,命令被拒绝并且处理结束。
除了从现有的非空配置创建双重配置以外,还可以从现有的非空配置创建三重配置。三重层-1配置指定了主层-1服务器、备用层-1服务器,以及仲裁器服务器。指定的主或备用都可以用作CTN的活动层-1服务器。控制台在创建层-1配置时指定要用作层-1服务器的服务器可以由控制台在任何时间进行修改。仲裁器服务器用于帮助确定活动层-1服务器何时不再是CTN的一部分。
图9中示出了三重配置的一个实例。如图所示,服务器A(900)是主层-1服务器并且层级等于1。此外,服务器C(902)为备用层-1服务器并且层级等于2,服务器B(904)为仲裁器并且层级也等于2。此外,服务器D(906)的层级等于2,并且服务器E(908)的层级等于3。
参考图10描述了与创建三重配置关联的逻辑的一个实施例。初始地, 在步骤1000,控制台例如向服务器A发出修改层-1配置命令,所述命令指定了三重配置,其中服务器A是活动主层-1服务器,服务器C是备用层-1服务器,并且服务器B是仲裁器。
此后,在询问1002,确定修改层-1配置命令中的强制更改位是否设置为0。如果为0,在步骤1004,服务器A验证其直接连接到服务器C和B。在询问1006,如果服务器A连接到服务器C和B,则在步骤1008,服务器A调度CTN中的层-1配置更新,并且在步骤1009发生更新。在步骤1010,响应于新的层-1配置变为当前,服务器A还向控制台发出配置更改通知命令。此后,在步骤1012,当新的层-1配置变为当前时,服务器发出配置更改机器检查。
返回询问1002,如果更改位等于1,则不执行连通性验证并且处理继续到步骤1008,其中服务器A调度CTN中的层-1配置更新。
此外,在询问1006,如果连通性验证失败,则在步骤1014,命令被拒绝并且处理结束。
如上所述,在创建非空配置中使用了各种命令。一个此类命令是修改层-1配置命令,其用于指定对CTN的层-1配置的更改。命令请求包括新的层-1配置信息块,后者指定了要如何修改层-1配置。
参考图11A描述了修改层-1配置命令请求块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描述了修改层-1配置命令的响应块的一个实施例。修改层 -1配置响应块1150例如包括以下字段:
a)长度1152:这个字段包括命令响应块的长度。
b)响应代码1154:这个字段包括命令的响应代码。
c)命令事务编号1156:这个字段包括在命令请求块的命令事务编号字段中提供的值。
在运行中,在命令指定了CTN的新的活动层-1服务器时,将命令发出到被指定为NSCIB中的活动层-1服务器的服务器。如果其未被发出到该服务器,则返回全局命令拒绝响应代码。新的活动层-1服务器在更新在CTN内生效后异步地发出配置更改通知命令。当命令被发出到混合CTN中的服务器时,NSCIB中的STP迁移(S)字段被设置为1。这个字段指示层-1配置将在CTN配置从混合CTN更改为仅有STP的配置时生效。
命令请求块包括指示是否针对命令执行配置验证的字段。强制更改字段被例如设置为1以指示将在没有配置验证的情况下执行命令。强制更改字段被例如设置为0以指示将在接受命令之前执行以下配置验证检查:
如果指定了非空配置,则验证接收服务器不是层-0服务器。强制更改字段将被设置为1以将层-0服务器设置为活动层-1服务器。
如果指定了双重配置,则接收服务器验证以下内容:
如果接收服务器被指定为主层-1服务器,则其确保其连接到备用层-1服务器。
如果接收服务器被指定为备用层-1服务器,则其确保其连接到主层-1服务器。
如果指定了三重配置,则接收服务器验证以下内容:
如果接收服务器被指定为主层-1服务器,则其确保其连接到备用层-1服务器和仲裁器服务器。
如果接收服务器被指定为备用层-1服务器,则其确保其连接到主层-1服务器和仲裁器服务器。
如果验证检查失败,则不接受命令并且报告响应代码。
上述另一个命令是配置更改通知(CCN)命令。配置更改通知命令用 于通知控制台CTN中的某些配置更改。在配置已在CTN内生效后由网络的服务器发出该命令。针对以下配置参数更改发出该命令,作为实例,所述更改包括:层-1配置更改;层-1配置更改和CTN ID更改;以及/或者CTN ID更改。
配置更改由于修改层-1配置命令、全局修改CTN ID命令而发生,或由于导致CTN的活动层-1服务器的更改的CTN恢复操作而发生。
参考图12描述了配置更改通知命令的命令请求块1200的一个实例。在一个实施例中,命令请求块1200包括:
a)长度1202:这个字段包括命令块的长度。
b)命令代码1204:这个字段包括配置更改通知命令的指定。
c)命令事务编号1206:这个字段包括与发出的命令关联的值。在命令的响应块中返回命令事务编号。
d)CTN ID 1208:这个字段包括发送命令的服务器的CTN ID。
e)更改代码:这个字段包括指定所报告的配置更改的代码。这个字段例如包括:
·层-1配置更改:如当前层-1配置块指示的,层-1配置已更改。
·层-1配置更改和CTN ID更改:如当前层-1配置块和CTN ID字段指示的,层-1配置和CTN ID已更改。
·仅CTN ID更改:如CTN ID字段指示的,CTN ID已更改。
f)原因代码:这个字段包括指定报告层-1配置更改的原因的代码。当更改代码中指示了层-1配置更改时这个字段有效并且作为实例指示了以下内容:
·修改层-1配置:层-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的两个组件。请求块中的有效性指示符指示要修改CTNID的哪些组件。请求块中的全局命令参数指定命令是全局命令还是本地命令。
参考图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:这个字段指示命令是全局更新还是本地更新。当命令是本地更新时,仅在接收服务器处执行该命令。当命令是全局命令时,命令将被发出到活动层-1服务器。
f)新的STP网络ID有效(SV)1310:这个字段指示新的STP网络ID字段是否有效。当无效时,命令不修改CTN ID的STP网络ID部分。
g)新的ETR网络ID有效(EV)1312:这个字段指示新的ETR网络ID字段是否有效。当无效时,命令不修改CTN ID的ETR网络ID部分。
h)新的STP网络ID 1314:当SV指示符有效时,这个字段包括新的 STP网络ID。
i)新的ETR网络ID 1316:当EV指示符有效时,这个字段包括新的ETR网络ID。
j)ETR端口0手动端口状态1318:当EV指示符有效时,这个字段包括指定ETR端口0的预定状态的手动端口状态代码。
k)ETR端口1手动端口状态1320:当EV指示符有效时,这个字段包括指定ETR端口1的预定状态的手动端口状态代码。
参考图13B描述了修改CTN ID命令的命令响应块1350的一个实施例。在一个实例中,修改CTN ID响应块1350例如包括:
a)长度1352:这个字段包括指定命令响应块长度的值。
b)响应代码1354:这个字段包括命令的响应代码。
c)命令事务编号1356:这个字段包括在命令请求块的命令事务编号字段中提供的值。
在一个实例中,当作为本地CTN更新发出修改CTN ID时,STP工具立即执行更新,并且不向控制台发出配置更改通知命令。此外,当作为全局CTN更新发出修改CTN ID时,活动层-1服务器在更新变为当前时向控制台发出配置更改通知命令。
当作为全局CTN更新发出修改CTN ID时,STP工具执行CTN参数更新过程以在CTN中的服务器处调度修改CTN操作。调度的更新时间被设置为保证CTN中的服务器在调度的更新时间之前接收到更新信息的值。指定的响应代码指示在CTN中成功调度了操作。
当在服务器处调度了更新时,服务器将调度后的参数更新信息存储在控制台盘存储装置上。此外,当参数更新在服务器处变为当前时,服务器将更新后的CTN参数存储在控制台盘存储装置上。
作为一个实例,服务器发出称为保存CTN参数命令的命令以存储信息。所述命令包括请求块,其例如具有:长度和命令代码字段以及命令事务编号;CIIB;STP工具启用指示符,其指示STP工具是否被启用;本地时钟源指示符,其指定服务器是否已被指定为本地时钟服务器;活动振荡 器指示符,其标识在保存命令时活动的振荡器;NCIIB;SCIB;基于层-1的调整速率,其包括在服务器作为层-1服务器运行时该服务器的基础调整速率;NSCIB;PCSIB;TCPIB;LSOIB;保存时间戳,其指示发出保存命令的时间;振荡器标识符0;计算的振荡器偏斜0;振荡器标识符1;以及计算的振荡器偏斜1字段。以下参考图14B描述这些字段中的多个字段。命令的命令响应块例如包括长度、响应代码以及命令事务编号。
由于发出为本地命令的修改CTN ID控制台命令,将发生本地CTN ID更改。在一个实例中,接收修改CTN ID控制台命令的服务器立即(在一个实例中)在服务器处对CTN ID做出指定的更改,并使服务器上所有已建立的STP路径处于未初始化状态,然后建立主动权以执行STP长度上的初始化。当CTN ID更改发生时,将生成配置更改机器检查条件。
在新的CTN ID块中指定的CTN ID更新时间,在服务器处发生全局CTN ID更新。服务器在指定的更新时间对其CTN ID作出更改。在更改之后,服务器在等于同步检查阈值的时段内不会识别到作为新的CTN ID与先前CTN ID值之间的不匹配的结果而出现的CTN ID不匹配。在此时段期间,将不会忽略作为除了新的CTN ID与旧的CTN ID值之间的不匹配以外的不匹配的结果而出现的CTN ID不匹配。当CTN ID更改发生时,将生成配置更改机器检查条件。
活动层-1服务器在进行作为全局CTN ID更新的结果而发生的CTNID更新后发出配置更改通知控制台命令。
除了上述命令以外,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)。
在一个实施例中,CTN ID信息块包括服务器的CTN ID,以及在非空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工具视为活动的振荡器。
l)定时模式(TMD)1474:这个字段指定了服务器的定时模式。
m)STP定时状态(TST)1476:这个字段指定了服务器的定时状态。
n)CTN类型(CTNT)1478:这个字段包括指定在服务器处配置的定时网络类型的代码。实例类型包括:
·未定义CTN:服务器未配置为连接到CTN。
·仅有STP的定时网络:服务器被配置为连接到仅包括STP网络的CTN。
·混合定时网络:服务器被配置为连接到包括STP网络和ETR网络两者的CTN。
o)层1480:这个字段包括指示服务器的层级的值。
p)新的CTN ID信息块(NCIIB)1482:这个字段包括服务器的新的CIIB。以UTC(通用时间,协调)格式存储新的CTN ID更新时间。
在一个实例中,新的CTN ID信息块包括:新的CTN ID;ETR端口0手动端口状态;ETR端口1手动端口状态;以及新的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:这个字段包括服务器的TCPIB。新的TZIB更新时间和新的DST偏移更新时间被转换为UTC时间戳格式。 在一个实例中,时区控制参数信息块例如包括:
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.新的TZIB DST(D):这个字段在新的本地时间代码等于代表TZIB-有效-没有-自动DST-更新的值时有效,并且指示了在NTZIB变为当前时CTN的本地时间应被设置为夏时制还是应被设置为标准时间。
4.总时间偏移:在有效时,这个字段指定了作为DST偏移的结果在STP工具处生效的总时间偏移和在服务器处生效的时区偏移。当活动时间代码指定了TTO字段时这个字段有效。
5.活动时区信息块(ATZIB):这个字段包括当前在服务器处生效的时区信息块(TZIB)。
在一个实例中,TZIB包括:
aa)时区算法编号:这个字段标识了此表项的时区算法编号。
bb)时区偏移:这个字段包括指示与UTC的时区差的值。
cc)夏时制(DST)偏移:这个字段包括指示在夏时制生效时要应用的DST偏移的值。由DST-on算法指定DST偏移值对于CTN为活动的时间和日期。由DST-off算法指定服务器的DST偏移要被设置为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):这个字段例如被设置为1时指示活动闰秒偏移包括由操作员提供的值。这个字段例如被设置为0时,活动闰秒偏移包括机器初始化值并且未由操作员设置。
2.活动闰秒偏移(LSO):这个字段包括指示当前在STP工具处生效的闰秒数的值。
3.新的闰秒偏移(LSO):这个字段包括指示要在LSO更新时间指定的时间变为活动的闰秒数的值。
4.新的闰秒偏移(LSO)更新时间:这个字段包括指定新的闰秒偏移要生效的时间的时间戳。
v)振荡器标识符0(1494):这个字段包括振荡器0的标识符。
w)计算的振荡器偏斜0(COS0)1496:这个字段包括指定服务器上安装的振荡器0相对于标称频率的计算的偏斜的值。
x)振荡器标识符1(1498):这个字段包括振荡器1的标识符。
y)计算的振荡器偏斜1(COS1)1499:这个字段包括指定服务器上安装的振荡器1相对于标称频率的计算的偏斜的值。
在本发明的一个方面中,上述信息用于确保协调定时网络的服务器的完整性。此信息传播到网络的服务器。网络的服务器获取配置、理解配置并遵循相同的配置。在一个实施例中,服务器在不知道层-1配置的情况下运行的时间不能多于预先指定的时间量(例如,空转(freewheel)时段)。 如果服务器希望加入网络,则其获取并使用此信息。此信息提供了CTN的状态以及附加的信息。
根据本发明的其他方面,提供了将备用服务器配置为协调定时网络的层-1配置的一部分的能力,以便在活动层-1服务器出现故障的情况下,备用服务器能够作为活动层-1服务器进行接管。这防止了CTN的单点故障,使得CTN中的服务器能够在定时网络内保持或达到同步而不管活动层-1服务器处的故障。
如上所述,可以为CTN定义指定主和备用层-1服务器的层-1配置。主服务器在正常情况下用作CTN的活动层-1服务器,并且备用服务器用作后备并称为非活动层-1服务器。当非活动层-1服务器检测到活动层-1服务器处的故障时,其通知CTN(例如,经由CTN参数更新过程)其已作为CTN的活动层-1服务器进行接管并且根据其自己的日时时钟来驱动CTN。在此实施例中,出现故障的层-1服务器被设置为层-0并且可以在恢复后重新加入网络,但是不能作为层-1服务器。此外,在一个实施例中,如果主服务器未作为层-2服务器重新加入CTN,则其承担备用层-1服务器的角色。如果需要,控制台可以指示主服务器恢复其作为CTN的活动层-1服务器的角色。
参考图15描述了与检测活动层-1服务器处的故障以及执行恢复关联的逻辑的一个实施例。初始地,在步骤1500,非活动层-1服务器检测到活动层-1服务器处的故障。存在各种检测活动层-1服务器处的故障的机制,例如,包括:接收层-1***检查信号(SCS);通过控制台辅助的恢复,其包括与控制台通信以确定活动层-1服务器进入检查停机或断电状态;以及通过三重恢复,其使用第三服务器(仲裁器服务器)来表决放弃活动层-1服务器。以下详细描述了这些故障检测机制。
在步骤1502,响应于检测到活动层-1故障,非活动层-1服务器执行接管过程。此外,在步骤1504,假如活动层-1服务器检测到其进入故障状态,则在步骤1506,其执行放弃过程以放弃其作为CTN的活动层-1服务器的角色。
作为一个实例,由非活动层-1服务器执行的步骤1500和1502可以与由活动层-1服务器执行的步骤1504和1506基本并行地执行。
参考基于配置的类型的过程在以下描述了有关故障检测和错误恢复的细节。例如,仅在CTN的***-1配置中指定了备用层-1服务器时才执行层-1服务器恢复。在双重服务器和三重配置中都指定了备用服务器。因此,为双重服务器层-1配置恢复和三重层-1配置恢复(都将在以下描述)两者提供了恢复过程。
在双重服务器层-1配置恢复中,双重服务器配置中的非活动层-1服务器接管活动层-1服务器的角色,以响应检测到活动层-1故障。参考图16描述了与双重服务器层-1配置恢复关联的逻辑的一个实施例。初始地,在步骤1600,非活动层-1服务器检测到活动层-1服务器处的故障。例如,在执行控制台辅助的恢复过程并指示已发生活动层-1故障时,或者在识别到层-1***检查信号时(都将在以下描述),将在双重服务器配置中检测到活动层-1故障。
在步骤1602,响应于检测到活动层-1服务器故障,非活动层-1服务器执行活动层-1接管过程以接管CTN的活动层-1服务器的角色。这结束了双重服务器层-1配置恢复的处理。
除了双重服务器层-1配置恢复以外,还提供了三重层-1配置恢复。参考图17描述了与三重层-1配置恢复关联的逻辑的一个实施例。初始地,在步骤1700,三重配置中的非活动层-1服务器识别到活动层-1故障。作为实例,在执行三重恢复过程并指示已发生活动层-1故障时,或者在执行控制台辅助的恢复过程且该过程指示已发生活动层-1故障时,非活动层-1服务器识别到活动层-1故障。
在步骤1702,响应于检测到活动层-1故障,非活动层-1服务器执行活动层-1接管过程以接管CTN的活动层-1服务器的角色。此外,在步骤1704,活动层-1服务器放弃活动层-1服务器的角色,以响应检测到其已丢失到非活动层-1服务器和仲裁器服务器两者的连接。活动层-1服务器执行以下描述的活动层-1放弃过程以放弃CTN的活动层-1服务器的角色。
此外,在步骤1706,当例如发生以下情况时,非活动层-1服务器将执行三重恢复过程:非活动层-1服务器失去与活动层-1服务器的连接并且具有到仲裁器服务器的连接;和/或非活动层-1服务器识别到活动层-1通信超时并且具有到仲裁器的连接。例如,在CTN的空转间隔到期之前的2秒检测到活动层-1通信超时,并且允许在CTN中检测到同步检查条件之前发生层-1接管。Carlson等人在2006年8月30日提交的题为“CoordinatedTiming Network Configuration Parameter Update Procedure”的美国申请第11/468,352号(其全部内容在此引入作为参考)中描述了有关空转间隔的细节。
在一个实施例中,在询问1707,假如三重恢复失败,则在步骤1708,三重配置中的非活动层-1服务器执行双重服务器恢复,如参考图16所述。但是,如果三重恢复成功,则绕过双重服务器恢复。这结束了三重层-1配置恢复的处理。
以下详细描述了有关恢复期间执行的各种过程的细节。
例如,检测活动层-1服务器处的故障的一种机制是在非活动层-1服务器处接收层1***检查信号(SCS)。此层1***检查信号向双重服务器CTN配置中的非活动层-1服务器指示活动层-1服务器已进入阻止该活动层-1服务器继续充当CTN的活动层-1服务器的状态。
在非活动层-1服务器检测到活动层-1服务器已终止到非活动层-1服务器的STP连通性时,非活动层-1服务器识别到SCS。当非活动层-1在与活动层-1服务器关联的STP路径组中的最后路径上接收到离线信号时,非活动层-1检测到活动层-1服务器已终止STP连通性。
在活动层-1服务器终止所有到非活动层-1服务器的连通性时,活动层-1服务器识别到其已发出SCS。当活动层-1服务器在与非活动层-1服务器关联的STP路径组中的最后路径上发送离线信号时,活动层-1服务器认为所有到非活动层-1服务器的STP连通性都已被终止。
用于检测故障的另一种机制是控制台辅助的恢复过程,其由双重服务器或三重配置中的非活动层-1服务器启动以确定活动层-1服务器的状态。 此过程利用控制台提供的信息以确定活动层-1故障条件是否存在。
参考图18A描述了与控制台辅助的恢复过程关联的逻辑的一个实施例。初始地,在步骤1800,非活动层-1服务器请求服务器状态。具体地说,非活动层-1服务器发出STP生成的请求服务器状态控制台命令,其中命令请求块中的节点描述符字段等于活动层-1服务器的节点描述符。在步骤1802,响应于控制台接收到此请求,控制台尝试与活动层-1服务器通信以确定活动层-1服务器的状态。
在步骤1804,在尝试确定活动层-1服务器的状态之后,控制台向非活动层-1服务器发出写入服务器状态控制台命令,其中请求块中的状态代码被设置为活动层-1服务器的最为公知的状态。在步骤1806,如果非活动层-1服务器接收到指示层-1服务器处于检查停机或断电状态的写入服务器状态控制台命令,则其识别到活动层-1条件。
参考图18B所示的配置描述了与控制台辅助的恢复的一个实例关联的更多细节。作为一个实例,在双重服务器配置中,在非活动层-1服务器检测到与活动层-1服务器的连接服务器通信错误时,非活动层-1服务器将执行控制台辅助的恢复。在以下实例中,活动层-1服务器已进入检查状态。对于图18B的配置,在控制台辅助的恢复期间执行以下操作。
1.服务器D(1850)检测到丢失与服务器A(1852)的连接。
2.服务器D向控制台发出请求服务器状态命令以请求服务器A的状态。
3.控制台查询服务器A以确定其运行状态。
4.控制台向服务器D发出写入服务器状态,指示服务器A或者未运行(检查停机或断电),或者运行状态未知。
5.如果服务器A运行或者其状态未知,则服务器D重复请求服务器状态命令。
6.如果服务器A的状态为未运行,则服务器D执行CTN参数更新过程以调度新的层-1配置,以便将自身设置为活动层-1服务器。
在一个实例中,协调定时网络参数更新过程在定时网络中同时地更新 CTN参数。作为一个实例,所述过程包括:选择一个或多个要更改的定时参数;以及构造信息响应分组,其包括要更改的参数以及何时发生所述更改。然后将该分组广播到网络中的其他服务器。在接收服务器处,确定是否丢失与时钟源的通信。这典型地通过从网络中用作时钟源的节点定期接收定时消息来完成。如果确定通信丢失的持续时间过长(作为一个实例,其针对网络提前定义,并且是服务器处的时钟相对于该服务器的时钟源处的时钟的最大漂移率的函数),则接收服务器声明其定时参数无效。为了继续,服务器获取新的定时参数。如果持续时间尚未过长,则定时参数仍有效并且在建议的未来时间在网络内的所有服务器中更新参数。
7.在层-1配置更改生效时,服务器D向控制台发出配置更改通知。
8.服务器C(1854)更改为层-3;服务器F(1856)更改为层-2。
9.在网络的所有服务器处生成配置更改机器检查以报告服务器C和F的层-1配置更改和层级更改。
所执行的其他恢复过程是三重恢复过程。由三重配置中的非活动层-1服务器执行三重恢复过程以确定是否发生层-1故障。
参考图19A描述了与三重恢复过程关联的逻辑的一个实施例。初始地,在步骤1900,将非活动层-1服务器置于接管模式状态。此外,在步骤1902,向仲裁器服务器发出设置仲裁器接管模式消息命令。备用层-1服务器通过例如到仲裁器服务器的消息来发出设置仲裁器接管模式操作以将仲裁器置于接管模式。接收服务器返回仲裁器接管状态标志和响应块。在消息命令数据字段中,活动层-1通信超时标志被设置为如下:如果服务器没有到活动层服务器的连接,则标志例如被设置为0;如果服务器具有到活动层服务器的连接并且识别到活动层-1通信,则标志例如被设置为1。
如果对设置仲裁器接管模式消息命令的响应具有等于1的接管状态标志,则非活动层-1服务器识别到活动层-1故障;如果对设置仲裁器接管模式消息命令的响应具有等于0的接管状态标志,则非活动层-1服务器未识别到活动层-1故障并且执行以下操作:如果响应具有等于1的活动层-1通 信超时标志,则服务器退出接管模式;如果响应具有等于0的活动层-1通信超时标志,则非活动层-1保持接管模式。
当以下情况中的任一情况发生时,非活动层-1服务器脱离接管模式:
·其接收到包含接管状态标志等于0和通信超时标志等于1的设置仲裁器接管消息响应。
·其向仲裁器发出重置仲裁器接管模式命令。备用层-1服务器向仲裁器服务器发出重置仲裁器接管模式操作以使仲裁器脱离接管模式。通过消息将此操作转发到仲裁器服务器。
·其执行活动层-1接管过程。
如果非活动层-1服务器在处于接管模式时从活动层-1服务器接收到建立STP路径消息命令,则其向仲裁器发出重置仲裁器接管模式命令;并且建立主动权以在到活动层-1服务器的路径上执行STP路径初始化。
当仲裁器服务器从非活动层-1服务器接收到设置仲裁器接管模式消息命令时,其进入仲裁器接管模式。当以下情况中的任一情况发生时,仲裁器服务器脱离仲裁器接管模式:
·仲裁器使用包括接管状态标志等于0和通信超时标志等于1的响应来响应设置仲裁器接管消息命令。
·仲裁器接受来自非活动层-1服务器的重置仲裁器接管模式命令。
·仲裁器接收到层-1配置更新。
当处于仲裁器接管模式时,仲裁器处于以下仲裁器接管状态之一:接管未决状态;或接管活动状态。在对设置仲裁器接管模式命令的响应中指示仲裁器接管状态。
当仲裁器进入仲裁器接管模式并且以下两个条件存在时,仲裁器进入接管未决状态:仲裁器连接到活动层-1服务器;以及仲裁器中不存在活动层-1通信超时。
接管未决状态指示非活动层-1服务器不能执行活动层-1接管。当仲裁器进入接管活动状态或仲裁器脱离仲裁器接管模式时,仲裁器脱离接管未 决状态。
在以下情况下,仲裁器进入接管活动状态:
·当其进入仲裁器接管模式并且以下条件中的任一条件存在时:活动层-1服务器未连接到仲裁器,或活动层-1服务器连接到仲裁器并且在仲裁器处识别到活动层-1通信超时条件。
·当其处于接管未决状态并且活动层-1服务器脱离已连接状态或识别到活动层-1通信超时。
接管活动状态向非活动层-1服务器指示其可以执行活动层-1接管。如果仲裁器在响应设置仲裁器接管命令后进入接管活动状态,则仲裁器向非活动层-1服务器发出仲裁器接管活动命令(即,发送消息)以指示仲裁器已从接管未决转变为接管活动状态。
当仲裁器进入接管活动状态时,活动层-1服务器的路径组中的任何剩余路径都被置于指示通信错误的未初始化状态。在处于接管活动状态时,仲裁器使用接管活动状态响应代码来响应来自活动层-1服务器的建立STP路径(ESP)消息命令。
当仲裁器脱离仲裁器接管模式时,其脱离接管未决状态。
参考图19B描述了三重配置中的层-1恢复的一个实例。
1.服务器1(1950)进入检查停机状态。
2.服务器2(1952)检测到丢失与服务器1的连接。
3.服务器2向仲裁器服务器发出设置接管模式控制命令。
4.仲裁器进入接管模式以如下响应设置接管模式命令:
·如果其未连接到服务器1,其响应以进入接管活动状态,指示非活动层-1服务器可以接管活动层-1服务器的角色。在处于接管活动状态时,仲裁器服务器不允许建立与活动层-1服务器的路径。
·如果其未连接到服务器1,其响应以进入接管未决状态,指示非活动层-1服务器不能接管活动层-1服务器的角色。如果仲裁器在处于接管未决状态时丢失与服务器1的连接,则其 向服务器2发出仲裁器接管状态活动通知。
5.仲裁器在设置接管模式命令中或使用到服务器2的仲裁器接管状态活动通知指示其处于接管活动状态。
6.服务器2执行CTN参数更新过程以将自身设置为活动层-1。
7.当层-1配置更改变为当前时,服务器2向控制台发出配置更改通知更改。
8.在网络的所有服务器处生成配置更改机器检查以报告层-1配置更改。
作为进一步的实例,参考图19C,描述了在丢失到活动S1的链路之后层-1服务器接管的恢复过程。
1.参考图19C,示出了服务器2(1972)和仲裁器(1974)检测到丢失与服务器1(1976)的连接。
2.服务器2向仲裁器服务器发出设置接管模式控制命令。
3.仲裁器在对设置接管模式命令的响应中或使用到服务器2的仲裁器接管状态活动通知命令来指示其处于接管活动状态,表明其授权接管。
4.服务器2执行CTN参数更新过程以将自身设置为活动层-1。
5.在层-1配置更改变为当前时,服务器2向控制台发出配置更改通知。
6.服务器1检测到丢失与服务器2和3的连接并且执行放弃过程。作为连接到服务器B的结果,其下降到层-3。
7.在网络的所有服务器处生成配置更改机器检查中断请求以报告层-1配置更改和服务器1处于层-3。
在以下实例中,不执行层-1接管。参考图19D描述了此实例。在此实例中:
1.服务器2(1980)检测到丢失与服务器1(1982)的连接。
2.服务器2向仲裁器服务器(1984)发出设置接管模式控制命令。
3.响应于设置接管模式命令,仲裁器指示其处于接管未决状态, 指示非活动层-1服务器不能接管活动层-1服务器的角色。
4.服务器2不执行恢复并且降低到层-3。
5.如果链路恢复,则服务器2向仲裁器发出重置接管模式命令。
6.服务器2生成配置更改机器检查请求以报告层级更改。
在双重层-1恢复(图16)和三重层-1恢复(图17)两者中,非活动层-1服务器执行活动层-1接管过程以响应识别到活动层-1故障。所述过程导致非活动层-1服务器接管CTN的活动层-1服务器的角色。
参考图20描述了与活动层-1接管关联的逻辑的一个实施例。初始地,在步骤2000,活动层-1服务器的路径组中的所有剩余路径都被置于未初始化状态且URC指示通信错误。
此外,在步骤2002,服务器将其层级设置为1,在步骤2004,修改服务器和控制台处的层-1配置信息块。在一个实例中,修改SCIB以便修改活动位以将服务器指示为活动层-1服务器;将层-1最大短期斜率变化字段设置为服务器的值;将层-1配置时间戳设置为当前时间;不修改其他字段。
除了上述操作以外,在步骤2006,服务器执行CTN参数更新过程以将CTN的层-1配置信息块修改为更新后的SCIB中的值。层-1配置更新时间和层-1配置信息块被设置为SCIB中的层-1配置时间戳。这结束了活动层-1接管。
所执行的另一个过程是活动层-1放弃过程,在双重服务器或三重配置中,当活动层-1服务器识别到其已进入活动层-1服务器故障状态时,活动层-1服务器将执行所述放弃过程。所述过程导致活动层-1服务器放弃CTN的活动层-1服务器的角色。
参考图21描述了与活动层-1放弃过程关联的逻辑的一个实施例。在一个实例中,在步骤2100,将在非活动层-1和活动层-1服务器处的仲裁器服务器的路径和路径组设置为未初始化状态且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公司提供的 架构;并且所述客户架构是也由位于纽约阿蒙克的国际商业机器公司提供的 在题为“z/Architecture Principles of Operation”的2005年9月的IBM出版物No.SA22-7832-04中描述了 的各方面。在此类环境中,在 中指定并且设计为在 机器上执行的指令和/或逻辑被仿真为在不同于 的架构上执行。参考图24-25描述了此处理环境的一个实例。
参考图24,描述了要结合和使用本发明的一个或多个方面的处理环境的一个实施例。处理环境2400例如包括:本机中央处理单元2402;存储器2404(例如,主存储器);以及一个或多个输入/输出(I/O)设备2406,后者例如经由一个或多个总线2408和/或其他连接彼此相连。作为实例,处理环境2400可以包括:由位于纽约阿蒙克的国际商业机器公司提供的 处理器、 服务器或 服务器;由位于加利福尼亚 的帕拉阿托的Hewlett-Packard公司提供的带有 2处理器的HP Superdome;和/或其他基于由 、Hewlett-Packard、 SunMicrosystems等提供的架构的机器。 和 是美国纽约阿蒙克的国际商业机器公司的注册商标。 和 2是位于加利福尼亚的圣克拉拉的Intel公司的注册商标。
本机中央处理单元2402包括在环境内的处理期间使用的一个或多个本机寄存器2410,如一个或多个通用寄存器和/或一个或多个专用寄存器。这些寄存器包括代表环境在任何特定时刻的状态的信息。
此外,本机中央处理单元2402执行存储在存储器2404中的指令和代码。在一个特定实例中,中央处理单元执行存储器2404中存储的仿真器代码2412。此代码使得一种架构中配置的处理环境能够仿真另一种架构。例如,仿真器代码2412允许基于不同于z/Architecture的架构的机器(如 处理器、 服务器、 服务器、HP 服务器等)仿真 并且执行基于 开发的软件和指令。
参考图25描述了有关仿真器代码2412的更多细节。客户指令2502包括开发为在与本机CPU 1002的架构不同的架构中执行的软件指令(例如,机器指令)。例如,客户指令2502可以设计为在 处理器902上执行,但是实际上在本机CPU 2402(其例如可以是 2处理器)被仿真。在一个实例中,仿真器代码2412包括指令取回例程2500,其用于从存储器2404获得一个或多个客户指令2502,并用于可选地为所获得的指令提供本地缓冲。
仿真器代码2412还包括指令转换例程2504,其用于确定已获得的客户指令的类型,并用于提供与客户指令对应的一个或多个本机指令2509。在一个实例中,所述提供包括例如在转换处理期间产生给定客户指令的本机指令流。这包括确定功能并产生等价的本机指令。在其他实例中,提供本机指令包括选择仿真器中与客户指令关联的代码段。例如,每个客户指令都在仿真器中具有关联的代码段(其包括一个或多个本机指令的序列) 并且选择该代码段以便执行。
仿真器代码2412还包括仿真控制例程2506,其导致执行本机指令。仿真控制例程2506可以导致本机CPU 2402执行仿真一个或多个先前获得的客户指令的本机指令例程,并且在此类执行结束时,导致将控制返回指令取回例程以仿真获得下一客户指令或下一组客户指令。本机指令2509的执行可以包括:将数据从存储器2404载入寄存器;将数据从寄存器存回存储器;或如转换例程确定的,执行某种类型的算术或逻辑运算。每个例程例如在软件中实现,所述软件存储在存储器中并由本机中央处理单元2402执行。在其他实例中,一个或多个例程或运算在固件、硬件、软件或它们的某种组合中实现。可以使用本机CPU的寄存器2410或通过使用存储器2404中的单元来仿真所仿真的客户处理器的寄存器。在各实施例中,客户指令2502、本机指令2509以及仿真代码2412可以位于同一存储器中或分布在不同的存储器件之间。
在其他实施例中,可以使用适于存储和/或执行程序代码的数据处理***,其包括通过***总线直接或间接连接到存储元件的至少一个处理器。所述存储元件可以例如包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备、DASD、磁带、CD、DVD、闪盘和其他存储介质等)可以直接或通过中间I/O控制器与***相连。网络适配器也可以被连接到***以使所述数据处理***能够通过中间专用或公共网络变得与其他数据处理***或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的网络适配器类型。
本发明的一个或多个方面可以包括在一件制品(例如,一个或多个计算机程序产品)中,所述制品例如具有计算机可用介质。所述介质中例如具有计算机可读程序代码装置或逻辑(例如,指令、代码、命令等)以提供和促进本发明的能力。所述制品可以包括为***(例如,计算机***) 的一部分或单独出售。
参考图26描述了结合本发明的一个或多个方面的制品或计算机程序产品的一个实例。计算机程序产品2600例如包括一个或多个计算机可用介质2602以在其上存储计算机可读程序代码装置或逻辑2604,以便提供和促进本发明的一个或多个方面。所述介质可以是电、磁、光、电磁、红外线或半导体***(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(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内的同步精度不依赖于外部时间源的质量,甚至不依赖于层-1服务器处的外部时间源的存在。这确保了CTN中的服务器同步到同一基础主基准时间。
在本发明的其他方面中,定义了备用服务器,使得在活动层-1服务器处出现故障的情况下,备用服务器能够作为活动层服务器进行接管。这防止了CTN的单点故障,使得CTN中的服务器能够在定时网络内维持或重新获得同步,而不管活动层-1服务器处的故障。
在以下专利申请中提供了有关定时网络的附加信息:美国第60/887,512号,标题为“Server Time Protocol Messages And Methods”;美国第60/887,544号,标题为“Channel Subsystem Server Time ProtocolCommands”;美国第60/887,576号,标题为“Method And System ForEstablishing A Logical Path Between Servers In A Coordinated TimingNetwork”;美国第60/887,584号,标题为“Facilitating Synchronization OfServers In A Coordinated Timing Network”;美国第60/887,652号,标题为“Defining A Stratum-1 Configuration In A Coordinated TimingNetwork”;美国第11/468,352号,标题为“Coordinated Timing NetworkConfiguration Parameter Update Procedure”,申请日2006年8月30日;美国第11/460,025号,标题为“Directly Obtaining By Application ProgramsInformation Usable In Determining Clock Accuracy”,申请日2006年7月26日;美国第11/223,886号,标题为“System And Method ForTOD-Clock Steering”;美国第11/532,168号,标题为“SynchronizationSignal For TOD-Clock Steering Adjustment”;美国第11/468,501号,标题为“Managing Data Access Via A Loop Only If Changed LockingFacility”;美国第11/223,878号,标题为“Clock Filter Dispersion”;美国第11/223,876号,标题为“Method And System For Clock Skew AndOffset Estimation”;美国第11/223,577号,标题为“Use Of T4 Timestamps To Calculate Clock Offset and Skew”;以及美国第11/223,642号,标题为“System And Method For Calibrating A TOD Clock”。
有利地,使能提供质量计时信息的本发明的一个或多个方面允许满足同步和精度要求。CTN内的***以不那么严格的同步精度要求与诸如UTC的外部时间源紧密同步。无需使用昂贵的专用定时链路和/或单独的外部盒。此外,无需要求每个服务器都连接到外部时间服务器或都具有GPS。
尽管在此提供了一个或多个实例,但是它们只是实例。在不脱离本发明精神的情况下,许多变化都是可能的。例如,除在此提供的实例以外的处理环境可以包括和/或受益于本发明的一个或多个方面。此外,所述环境无需基于 而是可以基于例如由 SunMicrosystems等提供的其他架构。进而,所述环境可以包括多个处理器,作为实例,所述处理器可以被分区和/或与其他***相连。
此外,尽管描述了各种控制块,但是这些控制块中的每个控制块都可以包括附加的、较少的和/或不同的信息。控制块中的位置和控制块内的每个字段的大小可以随不同实施例而不同。
如在此使用的,术语“获得”包括但不限于:取回、接收、具有、提供、被提供、产生、开发等。
本发明的一个或多个方面的能力可以在软件、固件、硬件或它们的某种组合中实现。可以提供至少一个可由机器读取的程序存储设备,所述机器包含至少一个指令程序,可由所述机器执行所述指令程序以执行本发明的能力。
在此示出的流程图只是实例。其中描述的这些示图或步骤(或操作)可以存在许多变化而不脱离本发明的精神。例如,可以以不同的顺序执行步骤,或者可以添加、删除或修改步骤。所有这些变化都被视为要求保护的发明的一部分。
尽管在此详细示出和描述了各实施例,但是对相关领域的技术人员将显而易见的是,可以作出各种修改、添加、替换等而不脱离本发明的精神,因此,这些修改、添加、替换等被视为在如权利要求所限定的本发明的范 围之内。
Claims (22)
1.一种促进协调定时网络中的恢复的方法,包括以下步骤:
为具有用于时钟同步的定时工具的协调定时网络预先定义主活动服务器和备用服务器,其中所述预先定义的步骤包括:在控制块中指示所述协调定时网络的哪个服务器是所述主活动服务器以及所述协调定时网络的哪个服务器是所述备用服务器;
由所述协调定时网络的所述备用服务器检测所述协调定时网络的所述主活动服务器的故障,所述主活动服务器在所述协调定时网络中具有规定的角色,所述角色包括作为所述协调定时网络的时钟源,并且其中所述主活动服务器从外部时钟源获得其时间,而所述备用服务器从所述主活动服务器获得其时间;
由所述备用服务器接管所述主活动服务器的所述规定的角色;以及
响应于接管,由所述备用服务器使用其时钟源来同步所述协调定时网络,其中所述备用服务器响应于接管而从外部时钟源获得其时间。
2.根据权利要求1的方法,其中所述检测步骤包括以下操作之一:接收指示所述故障的***检查信号,与控制台通信以获知所述故障,或者从所述协调定时网络的仲裁器获得所述故障的指示。
3.根据权利要求1的方法,其中所述主活动服务器是双重服务器配置的主活动服务器,并且其中所述检测步骤包括以下操作之一:接收指示所述故障的***检查信号,或者与控制台通信以获知所述故障。
4.根据权利要求1的方法,其中所述主活动服务器是三重服务器配置的主活动服务器,并且其中所述检测步骤包括以下操作之一:从所述三重服务器配置的仲裁器获得所述故障的指示,或者与控制台通信以获知所述故障。
5.根据权利要求1的方法,其中所述主活动服务器是双重服务器配置的主活动服务器,并且其中所述接管步骤包括:
将所述主活动服务器的路径组的零个或更多剩余路径置于未初始化状态;
将所述备用服务器的层级设置为指示所述备用服务器是所述主活动服务器的规定值;以及
修改至少一个配置块以指示所述接管。
6.根据权利要求1的方法,其中所述主活动服务器是三重服务器配置的主活动服务器,并且其中所述接管步骤包括:
将所述主活动服务器的路径组的零个或更多剩余路径置于未初始化状态;
将所述备用服务器的层级设置为指示所述备用服务器是所述主活动服务器的规定值;以及
修改至少一个配置块以指示所述接管;
使所述备用服务器处于接管模式状态;以及
向所述三重服务器配置的仲裁器服务器发出设置仲裁器接管模式消息。
7.根据权利要求1的方法,还包括:所述主活动服务器放弃其作为主活动服务器的角色,以响应所述主活动服务器检测到其已进入故障状态。
8.根据权利要求7的方法,其中所述主活动服务器是双重服务器配置的主活动服务器,并且其中所述故障状态响应进入检错停机状态。
9.根据权利要求7的方法,其中所述主活动服务器是三重服务器配置的主活动服务器,并且其中进入所述故障状态以响应失去与所述三重配置的所述备用服务器和仲裁器服务器的连接。
10.根据权利要求7的方法,其中所述放弃步骤包括:
将一个或多个路径组中的零个或更多路径置于未初始化状态;
将所述主活动服务器的层级设置为指示所述主活动服务器不是所述协调定时网络的一部分的给定值;
修改放弃的主活动服务器的至少一个控制块以指示所述放弃;以及
定位所述放弃的主活动服务器的时钟源。
11.根据权利要求1的方法,其中所述主活动服务器经由配置为维护时间同步的协调定时网络与所述备用服务器进行网络通信,所述主活动服务器通过所述协调定时网络发送服务器时间协议消息。
12.一种促进协调定时网络中的恢复的***,包括:
用于为具有用于时钟同步的定时工具的协调定时网络预先定义主活动服务器和备用服务器的装置,其中所述预先定义主活动服务器和备用服务器包括在控制块中指示所述协调定时网络的哪个服务器是所述主活动服务器以及所述协调定时网络的哪个服务器是所述备用服务器;
用于由所述协调定时网络的所述备用服务器检测所述协调定时网络的所述主活动服务器的故障的装置,所述主活动服务器在所述协调定时网络中具有规定的角色,所述角色包括作为所述协调定时网络的时钟源,并且其中所述主活动服务器从外部时钟源获得其时间,而所述备用服务器从所述主活动服务器获得其时间;
用于由所述备用服务器接管所述主活动服务器的所述规定的角色的装置;以及
用于响应于接管,由所述备用服务器使用其时钟源来同步所述协调定时网络的装置,其中所述备用服务器响应于接管而从外部时钟源获得其时间。
13.根据权利要求12的***,其中所述检测所述协调定时网络的所述主活动服务器的故障包括以下之一:接收指示所述故障的***检查信号,与控制台通信以获知所述故障,或者从所述协调定时网络的仲裁器获得所述故障的指示。
14.根据权利要求12的***,其中所述主活动服务器是双重服务器配置的主活动服务器,并且其中所述检测所述协调定时网络的所述主活动服务器的故障包括以下之一:接收指示所述故障的***检查信号,或者与控制台通信以获知所述故障。
15.根据权利要求12的***,其中所述主活动服务器是三重服务器配置的主活动服务器,并且其中所述检测所述协调定时网络的所述主活动服务器的故障包括以下之一:从所述三重服务器配置的仲裁器获得所述故障的指示,或者与控制台通信以获知所述故障。
16.根据权利要求12的***,其中所述主活动服务器是双重服务器配置的主活动服务器,并且其中所述接管所述主活动服务器的所述规定的角色包括:
将所述主活动服务器的路径组的零个或更多剩余路径置于未初始化状态;
将所述备用服务器的层级设置为指示所述备用服务器是所述主活动服务器的规定值;以及
修改至少一个配置块以指示所述接管。
17.根据权利要求12的***,其中所述主活动服务器是三重服务器配置的主活动服务器,并且其中所述接管所述主活动服务器的所述规定的角色包括:
将所述主活动服务器的路径组的零个或更多剩余路径置于未初始化状态;
将所述备用服务器的层级设置为指示所述备用服务器是所述主活动服务器的规定值;以及
修改至少一个配置块以指示所述接管;
使所述备用服务器处于接管模式状态;以及
向所述三重服务器配置的仲裁器服务器发出设置仲裁器接管模式消息。
18.根据权利要求12的***,还包括:用于所述主活动服务器放弃其作为主活动服务器的角色、以响应所述主活动服务器检测到其已进入故障状态的装置。
19.根据权利要求18的***,其中所述主活动服务器是双重服务器配置的主活动服务器,并且其中所述故障状态响应进入检错停机状态。
20.根据权利要求18的***,其中所述主活动服务器是三重服务器配置的主活动服务器,并且其中进入所述故障状态以响应失去与所述三重配置的所述备用服务器和仲裁器服务器的连接。
21.根据权利要求18的***,其中所述放弃其作为主治动服务器的角色包括:
将一个或多个路径组中的零个或更多路径置于未初始化状态;
将所述主活动服务器的层级设置为指示所述主活动服务器不是所述协调定时网络的一部分的给定值;
修改放弃的主活动服务器的至少一个控制块以指示所述放弃;以及
定位所述放弃的主活动服务器的时钟源。
22.根据权利要求12的***,其中所述主活动服务器经由配置为维护时间同步的协调定时网络与所述备用服务器进行网络通信,所述主活动服务器通过所述协调定时网络发送服务器时间协议消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US88758607P | 2007-01-31 | 2007-01-31 | |
US60/887,586 | 2007-01-31 | ||
PCT/EP2008/050524 WO2008092750A1 (en) | 2007-01-31 | 2008-01-17 | Facilitating recovery in a coordinated timing network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101601214A CN101601214A (zh) | 2009-12-09 |
CN101601214B true CN101601214B (zh) | 2012-11-21 |
Family
ID=39362281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880003616.7A Active CN101601214B (zh) | 2007-01-31 | 2008-01-17 | 促进协调定时网络中的恢复的方法和*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US7783913B2 (zh) |
JP (1) | JP5120860B2 (zh) |
KR (1) | KR101091460B1 (zh) |
CN (1) | CN101601214B (zh) |
CA (1) | CA2675644C (zh) |
WO (1) | WO2008092750A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899894B2 (en) | 2006-08-30 | 2011-03-01 | International Business Machines Corporation | Coordinated timing network configuration parameter update procedure |
US9112626B2 (en) | 2007-01-31 | 2015-08-18 | International Business Machines Corporation | Employing configuration information to determine the role of a server in a coordinated timing network |
US7895303B2 (en) * | 2007-01-31 | 2011-02-22 | International Business Machines Corporation | Server time protocol control messages and methods |
US7797414B2 (en) * | 2007-01-31 | 2010-09-14 | International Business Machines Corporation | Establishing a logical path between servers in a coordinated timing network |
US7783736B2 (en) | 2007-01-31 | 2010-08-24 | International Business Machines Corporation | Definition of an active stratum-1 server in a coordinated timing network |
US7689718B2 (en) | 2007-01-31 | 2010-03-30 | International Business Machines Corporation | Channel subsystem server time protocol commands and system therefor |
US8416811B2 (en) * | 2008-04-10 | 2013-04-09 | International Business Machines Corporation | Coordinated timing network having servers of different capabilities |
US7925916B2 (en) | 2008-04-10 | 2011-04-12 | International Business Machines Corporation | Failsafe recovery facility in a coordinated timing network |
US20090276954A1 (en) * | 2008-05-08 | 2009-11-12 | Kyle Robert Davidson | Spout mounting |
US7873862B2 (en) * | 2008-10-21 | 2011-01-18 | International Business Machines Corporation | Maintaining a primary time server as the current time server in response to failure of time code receivers of the primary time server |
CN102572711A (zh) * | 2012-01-21 | 2012-07-11 | 中广传播集团有限公司 | 一种终端时钟与外部时钟的差距同步方法 |
KR102083289B1 (ko) | 2013-01-29 | 2020-03-02 | 삼성전자주식회사 | 마이크로서버 환경의 소프트웨어 이주 방법 및 이를 지원하는 장치 |
US9930050B2 (en) * | 2015-04-01 | 2018-03-27 | Hand Held Products, Inc. | Device management proxy for secure devices |
CN106330513A (zh) * | 2015-06-30 | 2017-01-11 | 中兴通讯股份有限公司 | tr069协议信息的处理方法及装置 |
US9934113B2 (en) * | 2015-10-05 | 2018-04-03 | International Business Machines Corporation | Enhanced console assisted recovery for a coordinated timing network |
US11018790B2 (en) * | 2017-11-06 | 2021-05-25 | Arris Enterprises Llc | Timing adjustment for distributed network architecture |
CN110690936B (zh) * | 2018-07-06 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 业务运转中的时间控制方法、***和计算机*** |
US10958727B2 (en) * | 2019-02-07 | 2021-03-23 | International Business Machines Corporation | Facilitating precision time protocol use in a coordinated timing network |
US10903924B2 (en) | 2019-02-07 | 2021-01-26 | International Business Machines Corporation | Setting primary reference time of server time protocol facility of a coordinated timing network to a precision-time-protocol source |
US20230113968A1 (en) * | 2021-09-27 | 2023-04-13 | International Business Machines Corporation | Network clock management via data servers |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5848028A (en) * | 1993-10-21 | 1998-12-08 | Thomson Consumer Electronics, S.A. | Method and apparatus for synchronizing clocks coupled to network |
US6173023B1 (en) * | 1997-10-20 | 2001-01-09 | Fujitsu Limited | Synchronization equipment |
US6606362B1 (en) * | 1999-06-29 | 2003-08-12 | Nortel Networks Limited | Synchronization in a telecommunications network |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4894846A (en) | 1988-06-30 | 1990-01-16 | Digital Equipment Corporation | Method for maintaining a correct time in a distributed processing system |
JP3197793B2 (ja) * | 1995-07-03 | 2001-08-13 | 富士通株式会社 | 無線装置 |
US5925107A (en) | 1997-04-08 | 1999-07-20 | International Business Machines Corporation | Verifying a time-of-day counter |
US6032194A (en) | 1997-12-24 | 2000-02-29 | Cisco Technology, Inc. | Method and apparatus for rapidly reconfiguring computer networks |
US6199169B1 (en) | 1998-03-31 | 2001-03-06 | Compaq Computer Corporation | System and method for synchronizing time across a computer cluster |
US6714563B1 (en) | 1999-04-26 | 2004-03-30 | Cisco Technology, Inc. | Network clock synchronization scheme |
US6697382B1 (en) | 2000-03-07 | 2004-02-24 | Cisco Technology Inc. | Distributing and synchronizing a representation of time between components of a packet switching system |
US6882634B2 (en) | 2000-04-07 | 2005-04-19 | Broadcom Corporation | Method for selecting frame encoding parameters to improve transmission performance in a frame-based communications network |
US7080160B2 (en) | 2000-04-27 | 2006-07-18 | Qosmetrics, Inc. | Method for creating accurate time-stamped frames sent between computers via a network |
US6742044B1 (en) | 2000-05-10 | 2004-05-25 | Cisco Technology, Inc. | Distributed network traffic load balancing technique implemented without gateway router |
NO20002884L (no) | 2000-06-06 | 2001-12-07 | Ontime Networks As | Fremgangsmåte og apparat for å distribuere tidsinformasjon i et datamaskinnettverk |
JP2002055181A (ja) * | 2000-08-09 | 2002-02-20 | Nissin Electric Co Ltd | 時計同期回路 |
AU2001284877A1 (en) | 2000-08-15 | 2002-02-25 | University Of Maryland, College Park | Method, system, and computer program product for positioning and synchronizing wireless communications nodes |
US20020078243A1 (en) | 2000-12-15 | 2002-06-20 | International Business Machines Corporation | Method and apparatus for time synchronization in a network data processing system |
US7023884B2 (en) | 2000-12-19 | 2006-04-04 | Lucent Technologies Inc. | Clock offset estimation with bias correction |
NO20006684D0 (no) | 2000-12-28 | 2000-12-28 | Abb Research Ltd | Tidssynkronisering |
EP1283611A3 (de) | 2001-08-09 | 2006-02-15 | Siemens Aktiengesellschaft | Verfahren zur Synchronisierung eines Kommunikationssystems über ein paketorientiertes Datennetz |
WO2003047134A2 (de) | 2001-11-28 | 2003-06-05 | Bridgeco Ag | Verfahren zur synchronisation in netzwerken |
US6639957B2 (en) | 2002-02-14 | 2003-10-28 | Itron, Inc. | Method and system for calibrating an oscillator circuit using a network based time reference |
US7139346B2 (en) | 2002-08-09 | 2006-11-21 | The Boeing Company | Mobile network time distribution |
US7539777B1 (en) | 2002-10-25 | 2009-05-26 | Cisco Technology, Inc. | Method and system for network time protocol forwarding |
US6768452B2 (en) | 2002-12-19 | 2004-07-27 | Texas Instrucments Incorporated | System and method for providing time to a satellite positioning system (SPS) receiver from a networked time server |
KR100521137B1 (ko) | 2002-12-24 | 2005-10-12 | 한국전자통신연구원 | 동기식 이동 단말을 외부 참조 클록으로 사용하는네트워크 동기화 시스템 및 방법 |
US20040167990A1 (en) | 2003-02-21 | 2004-08-26 | Peer Francis Wayne | Methods and apparatus for network time synchronization |
US7394448B2 (en) * | 2003-06-20 | 2008-07-01 | Lg. Display Co., Ltd | Method and apparatus for driving liquid crystal display device |
US7454648B2 (en) | 2005-09-09 | 2008-11-18 | International Business Machines Corporation | System and method for calibrating a time of day clock in a computing system node provided in a multi-node network |
US7356725B2 (en) | 2005-09-09 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for adjusting a time of day clock without adjusting the stepping rate of an oscillator |
US7688865B2 (en) | 2005-09-09 | 2010-03-30 | International Business Machines Corporation | Method and system for clock skew and offset estimation |
US7822072B2 (en) | 2005-09-09 | 2010-10-26 | International Business Machines Corporation | Clock filter dispersion |
US7475272B2 (en) | 2005-09-09 | 2009-01-06 | International Business Machines Corporation | Method for calculating clock offset and skew |
US7554648B2 (en) * | 2005-11-04 | 2009-06-30 | Nikon Corporation | Blind devices and methods for providing continuous thermophoretic protection of lithographic reticle |
US7395448B2 (en) | 2006-07-26 | 2008-07-01 | International Business Machines Corporation | Directly obtaining by application programs information usable in determining clock accuracy |
US7861093B2 (en) | 2006-08-30 | 2010-12-28 | International Business Machines Corporation | Managing data access via a loop only if changed locking facility |
US7899894B2 (en) | 2006-08-30 | 2011-03-01 | International Business Machines Corporation | Coordinated timing network configuration parameter update procedure |
US7617410B2 (en) | 2006-09-15 | 2009-11-10 | International Business Machines Corporation | Simultaneously updating logical time of day (TOD) clocks for multiple cpus in response to detecting a carry at a pre-determined bit position of a physical clock |
US9112626B2 (en) | 2007-01-31 | 2015-08-18 | International Business Machines Corporation | Employing configuration information to determine the role of a server in a coordinated timing network |
US7895303B2 (en) | 2007-01-31 | 2011-02-22 | International Business Machines Corporation | Server time protocol control messages and methods |
US7797414B2 (en) | 2007-01-31 | 2010-09-14 | International Business Machines Corporation | Establishing a logical path between servers in a coordinated timing network |
US7689718B2 (en) | 2007-01-31 | 2010-03-30 | International Business Machines Corporation | Channel subsystem server time protocol commands and system therefor |
US7783736B2 (en) | 2007-01-31 | 2010-08-24 | International Business Machines Corporation | Definition of an active stratum-1 server in a coordinated timing network |
-
2007
- 2007-10-22 US US11/876,323 patent/US7783913B2/en active Active
-
2008
- 2008-01-17 CA CA2675644A patent/CA2675644C/en active Active
- 2008-01-17 CN CN200880003616.7A patent/CN101601214B/zh active Active
- 2008-01-17 WO PCT/EP2008/050524 patent/WO2008092750A1/en active Application Filing
- 2008-01-17 JP JP2009547631A patent/JP5120860B2/ja active Active
- 2008-01-17 KR KR1020097010882A patent/KR101091460B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5848028A (en) * | 1993-10-21 | 1998-12-08 | Thomson Consumer Electronics, S.A. | Method and apparatus for synchronizing clocks coupled to network |
US6173023B1 (en) * | 1997-10-20 | 2001-01-09 | Fujitsu Limited | Synchronization equipment |
US6606362B1 (en) * | 1999-06-29 | 2003-08-12 | Nortel Networks Limited | Synchronization in a telecommunications network |
Also Published As
Publication number | Publication date |
---|---|
KR101091460B1 (ko) | 2011-12-07 |
CN101601214A (zh) | 2009-12-09 |
US20080184060A1 (en) | 2008-07-31 |
US7783913B2 (en) | 2010-08-24 |
CA2675644C (en) | 2017-11-07 |
KR20090088381A (ko) | 2009-08-19 |
JP5120860B2 (ja) | 2013-01-16 |
JP2010517189A (ja) | 2010-05-20 |
CA2675644A1 (en) | 2008-08-07 |
WO2008092750A1 (en) | 2008-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101601214B (zh) | 促进协调定时网络中的恢复的方法和*** | |
CN101595667B (zh) | 协调定时网络中的服务器同步的方法、装置和*** | |
CN101595669B (zh) | 交换信息以便同步定时网络的方法和装置 | |
CN101595668B (zh) | 建立协调定时网络中的服务器之间的逻辑路径的方法和*** | |
US9112626B2 (en) | Employing configuration information to determine the role of a server in a coordinated timing network | |
US8416811B2 (en) | Coordinated timing network having servers of different capabilities | |
US7925916B2 (en) | Failsafe recovery facility in a coordinated timing network | |
CN105468500A (zh) | 定时任务监控方法和装置 | |
CN112650742A (zh) | 跨链数据验证方法、装置、设备和存储介质 | |
CN101601251A (zh) | 定义协调定时网络中的层-1配置 | |
CN114661743A (zh) | 数据处理方法、装置、备用数据库及业务*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |