首页> 中国专利> 建立协调定时网络中的服务器之间的逻辑路径的方法和系统

建立协调定时网络中的服务器之间的逻辑路径的方法和系统

摘要

提供了一种建立处理环境的协调定时网络中的两个服务器之间的逻辑路径的技术。所述技术包括:服务器与连接的服务器通过物理链路交换命令和响应消息对。所述服务器将建立服务器时间协议(STP)逻辑路径的命令消息传输给连接的服务器并从所述连接的服务器接收响应。所述技术还包括:所述服务器接收由所述连接的服务器传输的建立到所述服务器的STP逻辑路径的请求并传输对所述连接的服务器的请求的响应。如果所述连接的服务器的响应指示所述连接的服务器接受了所述服务器的请求并且所述服务器的响应指示所述服务器接受了所述连接的服务器的请求,则建立所述服务器与所述连接的服务器之间的逻辑路径。

著录项

  • 公开/公告号CN101595668A

    专利类型发明专利

  • 公开/公告日2009-12-02

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200880003429.9

  • 发明设计人 S·卡尔森;D·达伦;R·埃里克森;

    申请日2008-01-22

  • 分类号H04J3/06;

  • 代理机构北京市中咨律师事务所;

  • 代理人于静

  • 地址 美国纽约

  • 入库时间 2023-12-17 23:14:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-02-19

    授权

    授权

  • 2010-01-27

    实质审查的生效

    实质审查的生效

  • 2009-12-02

    公开

    公开

说明书

技术领域

本发明一般地涉及建立处理环境中的服务器之间的逻辑路径,更具体地说,涉及建立协调定时网络中的服务器之间的逻辑路径以使得所述协调定时网络中的服务器能够与基准时间同步。

背景技术

为了性能和数据完整性,访问共享数据的计算系统(如位于纽约阿蒙克的国际商业机器公司提供的SYSPLEX)必须能够将日时(TOD)时钟同步保持在优于系统间的最佳情况通信时间的精度。当前,在一个实例中,为了满足同步要求,使用诸如9037 SYSPLEX定时器之类的定时器。此定时器需要昂贵的专用定时链路和单独的外部盒。

诸如网络定时协议(NTP)之类的网络提供时间同步,但是不满足高端系统的精度要求。NTP要求每个服务器都访问提供微秒级精度的外部时间源,以便确保所有服务器都同步到同一基准时间。对于没有能力连接到提供此精度级别的外部时间服务器的那些系统来说,这是一个问题。此外,出于维护、安全性和稳定性原因,要求在每个系统上具有GPS接收机或类似附件被看作是不可行的。

发明内容

基于上述问题,需要促进在处理环境中提供时间同步的能力。在一个实例中,需要建立协调定时网络中的两个服务器之间的逻辑路径的能力,其中所述服务器可使用逻辑路径来交换时间同步消息以促进服务器时钟的同步。

通过提供一种建立处理环境的协调定时网络中的两个处理系统之间的逻辑路径的方法而克服了现有技术的缺点并提供了额外的优点,其中所述方法包括:由服务器向连接的服务器在消息命令块中传输建立服务器时间协议(STP)逻辑路径的请求;并且由所述服务器接收消息响应块中的响应,所述响应指示所述连接的服务器是否接受由所述服务器传输的请求。所述方法还包括:由所述服务器接收由所述连接的服务器在另一消息命令块中传输的另一请求,所述另一请求将请求建立到所述服务器的服务器时间协议逻辑路径;并且由所述服务器在另一消息响应块中传输另一响应,所述另一响应指示所述服务器是否接受由所述连接的服务器传输的所述另一请求。根据本发明的进一步方面,如果所述响应指示所述连接的服务器接受了所述请求并且所述另一响应指示所述服务器接受了所述另一请求,则建立所述服务器与所述连接的服务器之间的逻辑路径。

在此还描述和要求保护包括至少一个计算机可用介质的系统、计算机程序产品以及制品,所述计算机可用介质具有与上述方法对应的计算机可读程序代码逻辑。

通过本发明的技术实现了额外的特性和优点。在此详细描述了本发明的其他实施例和方面并且它们被视为所要求保护的发明的一部分。

附图说明

在说明书结尾处的权利要求中作为实例具体指出并明确要求保护本发明的一个或多个方面。从下面结合附图的详细说明,本发明的上述和其他目标、特性和优点将是显而易见的,这些附图是:

图1示出了结合和使用本发明的一个或多个方面的处理环境的一个实施例;

图2示出了根据本发明的一个方面的图1的处理系统的一个实施例;

图3A示出了根据本发明的一个方面的处理所接收的建立处理系统间的服务器时间协议路径的命令消息的过程的流程图;

图3B示出了根据本发明的一个方面的有关传输建立处理系统间的服务器时间协议路径的命令消息以及接收对该命令消息的响应的处理过程的流程图;

图4A、4B和4C示出了根据本发明的一个方面的建立协调定时网络的两个服务器之间的STP路径的方法和系统的一个实施例的状态转变图;

图5示出了结合本发明的一个或多个方面的处理环境的一个实施例;

图6示出了根据本发明的一个方面的图5的存储器的进一步的细节;以及

图7示出了结合本发明的一个或多个方面的计算机程序产品的一个实例。

具体实施方式

在一个方面中,本发明提供了建立处理环境的协调定时网络中的两个服务器之间的逻辑路径的方法。为了建立到协调定时网络中连接的服务器的服务器时间协议(STP)逻辑路径,服务器在消息命令块中向连接的服务器传输建立STP逻辑路径的请求。所述连接的服务器针对与所述连接的服务器的配置的兼容性来处理所述消息命令块中的信息,并在消息响应块中将响应传输给所述服务器,所述响应指示所述连接的服务器是否接受由所述服务器传输的请求。此外,所述连接的服务器在消息命令块中将请求传输给所述服务器,请求建立到所述服务器的服务时间协议逻辑路径。所述服务器从所述连接的服务器接收请求并判定消息命令块中的信息是否与所述服务器的配置兼容。所述服务器在消息响应块中将响应传输给所述连接的服务器以指示所述服务器是否接受由所述连接的服务器传输的请求。如果所述连接的服务器的响应指示所述服务器的请求被所述连接的服务器接受并且所述服务器的响应指示所述连接的服务器的请求被所述服务器接受,则在所述服务器与所述连接的服务器之间建立逻辑路径。

图1示出了结合和使用本发明的一个或多个方面的处理环境的一个实施例。在一个实施例中,处理环境10包括含有两个或更多个处理系统的协调定时网络。在图1的实例中,处理环境10包括处理系统11a、处理系统11b以及处理系统11c。处理系统11a和处理系统11b与物理链路12相连,处理系统11a和处理系统11c与物理链路13相连。在图1的实例中,物理系统11a具有等于值X的协调定时网络标识(CTN ID)参数,处理系统11b也具有等于值X的CTN ID,而处理系统11c具有等于值Y的CTN ID。根据本发明的一个方面,处理系统11a和处理系统11b间可以通过物理链路12建立逻辑路径,因为它们的CTN ID参数值匹配,而处理系统11a和11c间不能建立逻辑路径,因为它们的CTN ID参数值不匹配。协调定时网络的实例可以包括处理系统11a、处理系统11b以及物理链路12。处理系统11a、11b和11c可以例如是计算机服务器。

图2示出了根据本发明的一个方面的处理环境10的处理系统11的一个实施例。如图2所示,处理系统11包括与定时工具22以及通道子系统(CSS)24耦合的操作系统21。处理系统11还包括服务器定时协议(STP)工具23,其与定时工具22和通道子系统24耦合。通道子系统24与外部链路25相连以促进处理系统11与处理环境的其他外部系统或节点间的通信。定时工具22可以选择性地通过外部链路26与外部时间源耦合。

本发明的一个方面提供了建立两个服务器之间的逻辑路径,以使用计算环境的系统间耦合链路进行定时同步的方法。为了实现服务器之间的定时同步,物理链路本身是不够的。另外,链路的每一端处的服务器必须满足一组完整定义的准则,然后才能使建立的链路被视为可用于定时同步目的的路径。本发明的其他方面包括定义这些准则以及协议,借助其来启动和结束两个服务器之间的建立STP路径(ESP)消息的交换。

在一个实施例中,在任意给定物理链路上仅建立一个服务器时间协议(STP)路径,并且它严格地是服务器(或其他处理系统)的中央电子复合体之间的连接。处理系统的一个中央电子复合体(CEC)处的STP工具需要与另一处理系统的另一CEC处的STP工具交换计时消息。可以在将一个CEC与另一个CEC相连的每一个物理链路上建立STP路径。但是,根据本发明的一个方面,建立中央电子复合体之间的服务器时间协议路径的方法包括检查,以便协调定时网络(CTN)仅包括那些属于其中的服务器。根据本发明的一个方面的方法还用于确保属于CTN的每一个服务器实际上都包括在该CTN内。

图3A和3B示出了例如由计算机服务器之类的处理系统的STP工具运行的两个过程的流程图。当服务器的通道子系统接收到建立STP路径的命令消息时,图3A中的流程图30所示的第一过程开始(步骤31)。响应于收到该命令消息,服务器的STP工具的处理将所述服务器的CTN ID与传输命令消息的连接的服务器的CTN ID相比较(步骤32)。如果传输命令消息的所述连接的服务器的CTN ID参数值与接收命令消息的所述服务器的CTN ID参数值匹配,则处理继续比较所述服务器的系统标识参数与所述连接的服务器的系统标识参数(步骤33)。如果系统标识参数比较未产生异常状况(例如,执行传输的所述连接的服务器和所述接收服务器具有相同的系统标识参数值,因为承载命令消息的物理链路在环路中与所述服务器耦合),则在步骤34比较所述服务器与所述连接的服务器的其他参数来验证兼容性。在步骤34中检查的其他参数可以包括:指示服务器是否支持或启用STP工具的参数、指示服务器的STP工具版本的参数,或指示服务器的配置类型的参数。

如果步骤32、33和34中的任何比较产生异常状况,则所述服务器向所述连接的服务器发送响应消息,其带有指示命令消息不成功37的响应代码(RC),随后STP工具的第一过程以失败终止。否则,所述服务器将响应消息发送到所述连接的服务器,该消息包括指示命令消息成功35(即,被所述服务器接受)的响应代码,并且所述第一过程检查STP工具的第二过程是否完成36。如果所述第二过程完成,则所述第一过程成功终止。备选地,如果所述第二过程未完成,则所述第一过程在所述第一过程结束之前启动所述第二过程38。

图3B示出了服务器的STP工具的第二过程的流程图。所述第二过程涉及与根据本发明一个方面的服务器向连接的服务器传输建立处理系统间的服务器定时协议路径的命令消息并接收对该命令消息的响应关联的处理。图3B中的流程图40所示的STP工具的第二过程始于所述服务器向所述连接的服务器传输建立所述服务器与所述连接的服务器之间的STP路径的命令消息41。处理继续以所述服务器从所述连接的服务器接收响应消息42。在步骤43,所述处理判定响应消息中包括的响应代码是否指示所述连接的服务器成功处理了所述服务器的命令消息。如果否,则所述第二过程以失败终止。但是,如果响应消息的响应代码指示所述连接的服务器成功处理了所述服务器的命令消息,则所述第二过程判定STP工具的所述第一过程是否已完成44。如果所述第一过程完成,则所述第二过程成功地终止,但是如果所述第一过程未完成,则所述第二过程等待所述第一过程完成45,然后结束。

图4A、4B和4C示出了建立协调定时网络的两个服务器之间STP路径的方法和系统的一个实施例的状态转变图。图4A、4B和4C中示出的状态转变图的状态由以下状态变量定义:初始化变量(I);未初始化原因代码(URC);已发送ESP MCB,其指示服务器是否发送了建立STP路径消息命令块(ESP MCB);已接收ESP MRB,其指示服务器是否从连接的服务器接收到建立STP路径消息响应块(ESP MRB);已接收ESPMCB,其指示服务器是否从连接的服务器接收到建立STP路径消息命令块;已发送ESP MRB,其指示服务器是否发送了建立STP路径消息响应块;以及ESP RC,其是包括在ESP MRB中的响应代码,用于指示ESPMCB是否已成功地被接收ESP MCB的服务器处理。下表1概述了图4A、4B和4C的状态转变图中示出的状态的状态变量值。

  状态  状态变量值  1.  I=            未初始化  URC=          脱机/受保护/失败  已发送ESP MCB=0  已接收ESP MRB=0  已接收ESP MCB=0  已发送ESP MRB=0

  状态  状态变量值  ESP RC=       N/A  2.  I=            未初始化  URC=          通信超时或初始化未完成  已发送ESP MCB=0  已接收ESP MRB=0  已接收ESP MCB=0  已发送ESP MRB=0  ESP RC=       N/A  3.  I=            未初始化  URC=          通信超时或初始化未完成  已发送ESP MCB=1  已接收ESP MRB=0  已接收ESP MCB=0  已发送ESP MRB=0  ESP RC=       N/A  4.  I=            未初始化  URC=          入站ESP未决  已发送ESP MCB=1  已接收ESP MRB=1  已接收ESP MCB=0  已发送ESP MRB=0  ESP RC=       成功  5.  I=            未初始化  URC=          入站ESP未决  已发送ESP MCB=1  已接收ESP MRB=1  已接收ESP MCB=1

  已发送ESP MRB=1  ESP RC=       成功  6.  I=            已初始化  URC=          0  已发送ESP MCB=0  已接收ESP MRB=0  已接收ESP MCB=0  已发送ESP MRB=0  ESP RC=       成功  7.  I=            未初始化  URC=          出站ESP未决  已发送ESP MCB=0  已接收ESP MRB=0  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       成功

  状态  状态变量值  8.  I=            未初始化  URC=          出站ESP未决  已发送ESP MCB=1  已接收ESP MRB=0  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       成功  9.  I=            未初始化  URC=          出站ESP未决  已发送ESP MCB=1

  已接收ESP MRB=1  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       成功  10.  I=            初始化未完成或未初始化  URC=          通信超时或初始化未完成  已发送ESP MCB=1  已接收ESP MRB=0  已接收ESP MCB=1  已发送ESP MRB=1  ESPRC=        成功  11.  I=            初始化未完成或未初始化  URC=          通信超时或初始化未完成  已发送ESP MCB=1  已接收ESP MRB=1  已接收ESP MCB=1  已发送ESP MRB=1  ESPRC=        成功  12.  I=            未初始化  URC=          出站ESP未决(具有若干异常)  已发送ESP MCB=0  已接收ESP MRB=0  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       来自发送的MRB的错误RC  13.  I=           未初始化  URC=         出站ESP未决  已发送ESPMCB=1

  已接收ESP MRB=0  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       来自发送的MRB的错误RC  14.  I=            未初始化  URC=          入站ESP拒绝  已发送ESP MCB=1  已接收ESP MRB=1  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       来自发送的MRB的错误RC  15.  I=            未初始化  URC=          入站ESP拒绝  已发送ESP MCB=0  已接收ESP MRB=0  已接收ESP MCB=0  已发送ESP MRB=0  ESP RC=       来自发送的MRB的错误RC  16.  I=            未初始化  URC=          入站ESP拒绝  已发送ESP MCB=1  已接收ESP MRB=0  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       来自发送的MRB的错误RC  17.  I=            未初始化  URC=          出站ESP拒绝  已发送ESP MCB=1

  已接收ESP MRB=1  已接收ESP MCB=0  已发送ESP MRB=0  ESP RC=       来自接收的MRB的错误RC  18.  I=            未初始化  URC=          出站ESP拒绝  已发送ESP MCB=1  已接收ESP MRB=1  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       来自接收的MRB的错误RC  19.  I=            未初始化  URC=          出站ESP拒绝  已发送ESP MCB=0  已接收ESP MRB=0  已接收ESP MCB=0  已发送ESP MRB=0  ESP RC=       来自接收的MRB的错误RC  20.  I=            未初始化  URC=          出站ESP拒绝  已发送ESP MCB=1  已接收ESP MRB=1  已接收ESP MCB=1  已发送ESP MRB=1  ESP RC=       来自接收的MRB的错误RC

表1

当建立STP路径的服务器过程到达图4A、4B和4C中示出的状态转变图中的状态6时,将在所述服务器和所述连接的服务器之间建立STP路径。下表2概述了导致图4A、4B和4C的状态转变图中所示的状态转变的事件。图2还列出了由服务器采取的与转变关联的操作。

表2

在一个实施例中,通常在两个服务器之间的物理链路被配置为联机时开始建立STP路径的过程。该事件导致通道子系统(CSS)调用两个服务器中的每个服务器处的STP工具,并且对所述链路进行检查以确定其作为STP路径的适用性。

存在若干将不会在两个服务器之间的物理链路上建立STP路径的情况。将不会建立STP路径的情况包括:(1)在由该物理链路所连接的一个或两个服务器处不支持或未启用STP工具;(2)由该物理链路所连接的两个服务器属于不同的协调定时网络;(3)由该物理链路所连接的服务器处的STP工具的版本不兼容;(4)由该物理链路所连接的两个服务器之一处的配置类型(例如,三重服务器、双重服务器、单服务器或空配置)与另一服务器处的配置类型不兼容;以及(5)服务器通过该物理链路与自身连接。

建立STP路径的过程(在此也称为建立STP路径过程或ESP过程)还可以在链路进入物理链路运行状态以外的情况下启动。例如,可以在作为本地修改CTN ID命令的结果而更改服务器处的协调定时网络标识(CTN ID)时、或在服务器处的最大支持STP版本号已更改时,或在作为本地修改层-1配置命令的结果而更改服务器处的层-1配置时,启动ESP过程。另一在通道子系统(CSS)的元素未显式提示的情况下启动ESP过程的情况的实例涉及当发生以下情况时采取的操作:连接的服务器未能在指定时间段内响应与该连接的服务器关联的路径组中的任何路径上的交换时间参数(XTP)命令。到所述连接的服务器的每一个路径都被置于未初始化状态(其中未初始化原因代码等于“通信错误”),导致在每个消息时间间隔结束时将建立STP路径(ESP)命令发送到每一个路径上的连接的服务器,直到接收到响应或直到CSS发信号通知到连接的服务器的路径已被配置为脱机或这些路径以其他方式不可由STP工具使用。

当ESP过程对于给定物理链路成功完成时,称为链路信息块(LIB)的STP控制块被置于初始化状态。如果这是进入初始化状态的第一个到连接的服务器的STP路径,则为该连接的服务器创建节点信息块(NIB)。

根据本发明一个方面的建立两个服务器之间的逻辑路径的方法的一个特征在于可以按照任何顺序启动和继续两个服务器之间的信号交换。也就是说,尽管两个服务器中的每个服务器都发送特定类型的消息并接收对所述消息的响应,但是这些事件发生的顺序并不重要。协议可以具有对称的特征,因为参与信号交换以建立逻辑路径的两个服务器中的每个服务器都执行一组相同的操作,作为建立路径以用于时间同步目的的过程的一部分。为了在给定链路上成功完成STP路径建立过程,由链路连接的全部两个服务器处的STP工具必须确定在交换建立STP路径命令中未遇到任何异常情况。

在一个实施例中,服务器按照以下方式启动用于初始化和建立与连接的服务器的服务器时间协议路径的过程。

STP链路监视过程

STP链路监视过程确定所有与服务器连接的可用作STP链路的外部数据链路。对于每个能够充当STP链路的链路,STP链路监视过程建立链路信息块。STP链路监视过程监视服务器的外部数据链路以查看STP数据链路的添加和删除,以及链路运行状态的更改。当STP链路进入物理链路运行状态(针对物理链路类型定义)时,STP链路监视过程启动STP路径初始化过程。

STP路径初始化过程

当STP工具确立执行路径初始化的计划时,在STP路径上执行STP路径初始化过程。当使用非零STP ID配置服务器并且以下任一情况发生时,将确立在STP链路上执行STP路径初始化的计划:

1.STP链路进入初始化未完成状态。

2.在路径上接收到ESP命令。

3.链路处于初始化未完成状态并且在最小消息时间间隔内尚未尝试初始化。

当使用非零STP ID配置服务器并且以下任一情况发生时,将确立在处于链路运行状态的所有STP链路上执行STP路径初始化的计划:

1.作为本地修改CTN ID命令的结果,服务器处的CTN ID已更改。

2.服务器处的节点描述符已更改,

3.服务器处的最大支持STP版本号已更改。

4.作为本地修改层-1配置命令的结果,服务器处的层-1配置已更改。

STP路径初始化包括以下列出的步骤。如果任何步骤未成功完成,则STP路径初始化失败并且不执行后续的任何步骤。

1.执行建立STP路径过程。

2.如果链路处于已初始化状态,则执行以下步骤:

a.如果连接的节点尚未在网络节点列表中,则将其添加到列表中作为连接的服务器并初始化连接的服务器状态信息。

b.将与该链路关联的STP链路标识符添加到连接的服务器路径组。

建立STP路径(ESP)过程

作为STP路径初始化的一部分执行ESP过程。当作为在链路上接收到ESP消息命令的结果,STP工具确立执行路径初始化的计划时,STP工具将执行以下步骤:

1.执行ESP验证功能以验证在ESP消息命令中接收到的数据。

2.如果ESP验证成功,则发送成功响应代码以响应ESP消息命令。

3.如果链路处于入站ESP命令未决状态,则将链路置于已初始化状态。否则,执行以下步骤:

a.将链路置于出站ESP命令未决状态。

b.在链路上发送ESP消息命令。

c.如果命令成功完成,则将链路置于已初始化状态。

d.如果命令未成功完成,则执行以下步骤:

i.将链路设置为未初始化状态。

ii.将链路的URC设置为出站ESP命令拒绝状态。

iii.将ESP命令的响应代码存储到LIB中。

iv.使ESP过程失败。

当STP工具已确立执行路径初始化的计划,但不是因为接收到ESP消息命令时,STP工具将执行以下步骤:

1.在链路上发送ESP消息命令。

2.如果命令成功完成,则将链路的URC设置为入站ESP命令未决状态。在此情况下,接收到ESP消息命令将确立完成路径初始化的计划。

3.如果命令未成功完成,则执行以下步骤:

a.将链路设置为未初始化状态。

b.将链路的URC设置为出站ESP命令拒绝状态。

c.将ESP命令的响应代码存储到LIB中。

d.使ESP过程失败。

链路信息块(LIB)

链路信息块是在建立STP路径的过程中使用的链路的控制块。初始地由CSS写入所有以下字段。“I”位和“URC”字段随后由STP工具管理以跟踪ESP过程:

SLID=“STP链路标识符”--在链路初始化时从IOP获得SLID;并且其在需要指定特定链路时被传递到传输层。其就像令牌一样--“功能”层不需要知道其确切的特性。

DESC=“STP链路描述符”-其用于区分不同类型的链路。

I=“已初始化”

URC=“未初始化原因代码”

当该链路的STP路径处于未初始化状态时,URC有效。这些代码以降低优先级的顺序排列;当存在多个错误条件时,为链路报告较低的代码。

脱机:物理链路处于脱机状态。处于脱机状态的链路不能被初始化以用于STP通信并被视为不能运行。

初始化未完成:物理链路可运行,但尚未尝试链路初始化或链路正在初始化但未进入指示入站ESP命令或出站ESP命令未决的状态。

链路故障:在物理链路上检测到链路故障。处于链路故障状态的链路不能被初始化以用于STP通信并被视为不能运行。

受保护:链路可运行,但已置于受保护状态且不能被初始化。处于受保护状态的链路不能被初始化以用于STP通信并被视为不能运行。入站ESP命令拒绝:服务器使用除“成功”以外的响应代码来响应ESP消息命令。发送到连接的服务器的响应代码被存储在“ESP响应代码”字段中。

出站ESP命令拒绝:服务器接收到除“成功”以外的对ESP消息命令的响应代码。从连接的服务器接收的响应代码被存储在“ESP响应代码”字段中。

通信错误:已针对连接的服务器识别到通信错误,指示所述连接的服务器在大于空转时段(freewheel periond)的时段内尚未与该服务器进行通信。

配置错误:连接的服务器在到其的路径之一上提供了不匹配的CTNID。

删除的路径:已从连接的服务器接收到删除STP路径命令。

无响应:已尝试ESP命令,但是在消息超时时段内未接收到响应。入站ESP命令未决:服务器针对发送到连接的节点的ESP命令接收到“成功”响应代码并等待来自所述节点的ESP命令以完成路径初始化过程。

出站ESP命令未决:服务器针对来自连接的节点的ESP命令使用响应代码“成功”进行响应并将ESP命令发送到所述节点以完成路径初始化过程。

链路信息块的以下四个字段由STP工具管理:

ESP响应代码:当URC包含代码“入站ESP命令拒绝”或“出站ESP命令拒绝”时返回/接收的ESP响应代码。

层:连接的服务器的层级。

最大版本:连接的节点所支持的最高STP版本号。

活动版本:连接的节点处当前活动的STP版本号。

服务器传输的ESP MCB的内容包括:

1.该服务器的CTN ID副本

2.该服务器的节点描述符

3.该服务器的层

4.该服务器的最大版本号

5.该服务器的活动版本号

6.该服务器的层-1配置信息块(SCIB)副本

当链路被配置为联机时,CSS将调用借助该链路连接的两个服务器中的每个服务器处的STP工具。这意味着将在两个服务器中的每个服务器处发出ESP MCB并且两个服务器中的每个服务器最终都必须通过将ESPMRB返回另一服务器来响应来自另一服务器的MCB。(“MRB”代表“消息响应块”-用于响应跨“系统间耦合链路”发送的消息的控制块)。换言之,ESP过程是“对称”的,即参与此过程的两个服务器中的每个服务器都以相同的方式执行操作,发送MCB并接收返回的MRB,并且还接收MCB并通过返回MRB做出响应。直到两次MCB/MRB交换都在所述链路上完成且响应代码指示未遇到异常条件之后,ESP过程才得到成功的结论。

当ESP MCB到达链路的远程服务器端时,CSS将调用远程服务器处的STP工具并向其传递若干参数。这些参数包括SLID、MCB的地址以及存储装置中要写入MRB的单元的地址。SLID用于查找与所述链路关联的LIB。设置“已接收ESP MCB”标志。现在检查MCB以查看是否存在任何不应允许ESP过程继续到成功完成的理由。此操作被称为“ESP验证功能”;其将在下面进行定义。

ESP验证功能

“ESP验证功能”验证ESP消息命令中的请求操作数允许路径初始化。

将针对ESP MCB中的操作数执行下面的检查:

1.如果ESP命令中接收到的CTN ID与服务器的CTN ID不匹配,则在响应块中返回配置错误响应代码并且ESP过程失败。响应代码存储在LIB中并且URC被设置为入站ESP命令拒绝状态。

2.如果ESP命令中的节点描述符无效,则在响应块中返回节点描述符错误响应代码并且ESP过程失败。响应代码存储在LIB中并且URC被设置为入站ESP命令拒绝状态。

3.如果ESP消息命令中的活动STP版本代码与接收服务器的活动版本代码不兼容,则在响应块中返回不支持版本号响应代码并且ESP过程失败。响应代码存储在LIB中并且URC被设置为入站ESP命令拒绝状态。

4.如果ESP消息命令中的层-1配置与接收服务器的配置不兼容,则在响应块中返回层-1配置错误响应代码并且ESP过程失败。响应代码存储在LIB中并且URC被设置为入站ESP命令拒绝状态。

5.如果检测到层-1配置错误,则报告岛-条件机器检查。层-1配置错误指示两个具有相同CTN ID的服务器具有不同的层-1配置。

如果在处理接收到的ESP MCB时未遇到任何异常条件,则使用指示命令被成功处理的RC值写入ESP MRB。在ESP MRB中写入的唯一其他的响应操作数是接收服务器的CTN ID。无论RC操作数中写入的值为何,都在ESP MRB中写入CTN ID。

在遇到异常条件之一的情况下,如果尚未向连接的服务器发送ESP命令作为回复,则通常仍需要执行此操作。这种情况是连接的服务器在发送自己的ESP MCB之前或之后无法了解该服务器是否拒绝入站ESP MCB。因此,当连接的服务器收到将要返回的MRB时,它不知道是否也在接收ESP MCB。即使连接的服务器的ESP MRB已被拒绝,通过发送ESPMCB,也可使连接的服务器不再怀疑ESP操作是否完成。换言之,即使该服务器拒绝了来自连接的服务器的ESP MCB,连接的服务器也必须等待来自该服务器的ESP MCB,然后才能完成ESP过程。此规则存在若干例外;所有这些例外涉及以下情况:很明显,拒绝从连接的服务器接收的ESP MCB的服务器在任何情况下都未发送自己的ESP MCB:该服务器处未启用STP工具,CTN ID的STP ID组件为零,或STP工具忙。

为了确定当来自连接的服务器的ESP MCB由于以上列出的异常条件之一而被拒绝时是否应将ESP MCB发送到连接的服务器,将检查“已发送ESP MCB”标志。如果该标志等于0,则与其上到达ESP命令的链路关联的LIB中的URC值从“入站ESP命令拒绝”更改为“出站ESP命令未决”。在每个消息时间间隔结束时扫描LIB以查找需要ESP处理的链路的例程对待URC值“出站ESP命令未决”的方式与其对待URC值“初始化未完成”的方式相同--ESP命令被发送到连接的服务器并且“已发送ESP MCB”标志被设为1,如前面针对URC=“初始化未完成”的情况所述。另一方面,如果“已发送ESP MCB”标志等于1,则ESP过程对于所述链路完成。接下来要做的全部工作是重置LIB中跟踪所述链路的ESP过程进度的四个“状态机”标志:“已发送ESP MCB”、“已接收ESP MRB”、“已接收ESP MCB”以及“已发送ESP MRB”。

如果未遇到以上列出的任何异常条件,则对于所述链路,ESP过程可能已得到成功的结论。所有必要的操作是该服务器已将ESP MCB发送到连接的服务器并且已收到由连接的服务器返回的ESP MRB。当然,还需要连接的服务器使用指示成功结果的响应代码来响应ESP命令。换言之,只有在将ESP MCB发送到连接的服务器并且收到RC=“成功”的响应时才完成链路初始化过程。如果尚未将ESP MCB发送到连接的服务器并收到响应,则在接收到来自连接的服务器的ESP MRB时结束链路初始化过程。将检查“已发送ESP MCB”标志;如果等于1,则需要检查“已接收ESP MRB”标志。如果“已接收ESP MRB”标志等于0,则无需执行任何操作,只是等待来自连接的服务器的ESP MRB。但是,如果“已接收ESP MRB”标志等于1,则立即结束针对所述链路的ESP过程。暂时假定“已发送ESP MCB”标志等于0。在此情况下,将与所述链路关联的LIB中的URC值设置为“出站ESP命令未决”;这将导致在当前消息时间间隔结束时将ESP命令发送到连接的服务器。

现在,返回在上述执行ESP验证功能期间未遇到任何异常并且“已发送ESP MCB”标志和“已接收ESP MRB”标志都等于1的情况,将考虑该服务器发送的ESP MCB被连接的服务器拒绝的可能性。换言之,尽管该服务器发现其从连接的服务器接收的ESP没有问题,但是连接的服务器通过返回包含以上列出的异常响应代码之一的ESP MRB而拒绝了由该服务器发送给它的ESP命令。如果实际发生了这种情况,则将在与所述链路关联的LIB的URC字段中发现值“出站ESP命令拒绝”。在此情况下,ESP过程完成:链路将保持“未初始化”状态且LIB中的“I”位仍等于0;并且URC值将继续为“出站ESP命令拒绝”。

还要考虑另一种可能性。检查刚从连接的服务器接收的ESP MCB并发现其没有异常。接收服务器将使用RC=“命令成功执行”来响应该ESP命令。“已发送ESP MCB”标志和“已接收ESP MRB”标志都等于1。最后,检查与所述链路关联的LIB中的URC字段并发现其包含值“入站ESP命令未决”,这意味着连接的服务器使用RC=“命令成功执行”来响应来自该服务器的ESP命令。对于所述链路,整个ESP过程在该服务器处已成功完成,可以继续为通过所述链路与该服务器相连的连接的服务器创建“节点信息块”(NIB)。NIB是一种体系结构实体;但其也是包含除了STP体系结构中指定的对象以外的其他字段的控制块。

当ESP MRB响应于先前发送的ESP MCB而到达时发生以下ESP处理。将MCB的地址、MRB的地址以及标识其上到达MRB的路径的SLID传递给CSS调用的STP例程。ESP MRB处理例程使用SLID在LIB阵列中查找正确的LIB。“已接收ESP MRB”标志在该LIB中立即被设为1。

当发送ESP MRB时,可能会在链路上发生“通信超时”;CSS通过将“空”MRB地址传递给ESP MRB处理例程来通知STP工具此结果。由于“通信超时”,所以STP工具不会放弃。相反,所述LIB中的URC字段被设置为“无响应”,这将导致在当前消息时间间隔结束时重传ESPMCB。同样,“已发送ESP MCB”标志和“已接收ESP MRB”标志被重置为0。

但是如果已发生“通信超时”的指示不存在,并且ESP MRB中的响应代码为“成功”,则下一处理步骤取决于该服务器是否从连接的服务器接收到ESP MCB以及该服务器在它返回给连接的服务器的ESP MRB中写入了何种响应代码。如果该服务器尚未从连接的服务器接收到ESPMCB,则不可能继续ESP过程;必须进行等待,直到接收到来自连接的服务器的ESP MCB。此时,URC值更改为“入站ESP命令未决”。最后的ESP处理将由上述例程执行,该例程在ESP MCB从连接的服务器到达时处理ESP MCB。

如果从连接的服务器接收到RC=“成功”ESP MRB并且如果来自连接的服务器的ESP MCB也已被处理,则检查与所述链路关联的LIB中的URC。如果URC字段包含值“入站ESP命令拒绝”,则针对所述链路的ESP过程结束。该链路的ESP过程失败,并且该链路将保持“未初始化”状态。所有剩余的工作是将记录链路在ESP过程中的进度的以下四个标志重置为0:“已发送ESP MCB”、“已接收ESP MRB”、“已接收ESPMCB”以及“已发送ESP MRB”。目的是使先前发送到连接的服务器的“错误结果”MRB覆盖刚从连接的服务器接收的“正确结果”MRB。两个服务器均需就在所述链路上交换ESP命令的结果达成一致,以便建立STP路径。

另一方面,如果从连接的服务器接收到包含RC=“成功”的ESP MRB且服务器已处理了来自连接的服务器的ESP MRB并且LIB中的URC字段不包含值“入站ESP命令拒绝”,则过程如上述那样继续完成:如果这是到所述连接的服务器的第一个链路,则创建新的NIB和ASSIB,新的路径被包括在连接的服务器的路径组中,以此类推。在所有这些操作结束时,还重置记录链路在ESP过程中的进度的四个标志。

在一个实施例中,本发明的一个或多个方面可以在基于一种架构(称为本机架构)但仿真另一架构(称为客户架构)的处理环境中执行。作为实例,所述本机架构是位于纽约阿蒙克的国际商业机器公司提供的Power4或架构,或由Intel公司提供的架构;并且所述客户架构是也由位于纽约阿蒙克的国际商业机器公司提供的在题为“z/Architecture Principles of Operation”的2005年9月的IBM出版物No.SA22-7832-04(其全部内容在此引入作为参考)中描述了的各方面。在此类环境中,在中指定并且设计为在机器上执行的指令和/或逻辑被仿真为在不同于的架构上执行。参考图5-6描述了此处理环境的一个实例。

参考图5,描述了要结合和使用本发明的一个或多个方面的处理环境的一个实施例。处理环境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服务器等)仿真并且执行基于开发的软件和指令。

参考图6描述了有关仿真器代码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控制器与系统相连。网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的网络适配器类型。

本发明的一个或多个方面可以包括在一件制品(例如,一个或多个计算机程序产品)中,所述制品例如具有计算机可用介质。所述介质中例如具有计算机可读程序代码装置或逻辑(例如,指令、代码、命令等)以提供和促进本发明的能力。所述制品可以包括为系统(例如,计算机系统)的一部分或单独出售。

参考图7描述了结合本发明的一个或多个方面的制品或计算机程序产品的一个实例。计算机程序产品2600例如包括一个或多个计算机可用介质2602以在其上存储计算机可读程序代码装置或逻辑2604,以便提供和促进本发明的一个或多个方面。所述介质可以是电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CR-R/W)和DVD。

由一个或多个计算机可读程序代码装置或逻辑限定的程序指令序列或一个或多个相关模块的逻辑装配引导本发明的一个或多个方面的执行。

根据本发明一个方面的建立处理环境的处理系统之间的服务器时间协议(STP)逻辑路径促进在高速低等待时间链路上使用STP,从而提供在基于单个服务器提供的基准时间时,使CTN中的所有系统都同步到例如若干微秒的精度的能力。

以下专利申请中提供了有关定时网络的附加信息:美国第60/887,512号,标题为“Server Time Protocol Messages And Methods”;美国第60/887,544号,标题为“Channel Subsystem Server Time ProtocolCommands”;美国第60/887,584号,标题为“Facilitating SynchronizationOf Servers In A Coordinated Timing Network”;美国第60/887,586号,标题为“Facilitating Recovery In A Coordinated Timing Network”;美国第11/468,352号,标题为“Coordinated Timing Network ConfigurationParameter Update Procedure”,申请日2006年8月30日;美国第11/460,025号,标题为“Directly Obtaining By Application Programs InformationUsable In Determining Clock Accuracy”,申请日2006年7月26日;美国第11/223,886号,标题为“System And Method For TOD-ClockSteering”;美国第11/532,168号,标题为“Synchronization Signal ForTOD-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 Timestamps To Calculate ClockOffset And Skew”;以及美国第11/223,642号,标题为“System And MethodFor Calibrating A TOD Clock”。

尽管在此提供了一个或多个实例,但是它们只是实例。在不脱离本发明精神的情况下,许多变化都是可能的。例如,除在此提供的实例以外的处理环境可以包括和/或受益于本发明的一个或多个方面。此外,所述环境无需基于而是可以基于例如由SunMicrosystems等提供的其他架构。进而,所述环境可以包括多个处理器,作为实例,所述处理器可以被分区和/或与其他系统相连。

如在此使用的,术语“获得”包括但不限于:取回、接收、具有、提供、被提供、产生、开发等。

本发明的一个或多个方面的能力可以在软件、固件、硬件或它们的某种组合中实现。可以提供至少一个可由机器读取的程序存储设备,所述机器包含至少一个指令程序,可由所述机器执行所述指令程序以执行本发明的能力。

在此示出的流程图只是实例。其中描述的这些示图或步骤(或操作)可以存在许多变化而不脱离本发明的精神。例如,可以以不同的顺序执行步骤,或者可以添加、删除或修改步骤。所有这些变化都被视为要求保护的发明的一部分。

尽管在此详细示出和描述了各实施例,但是对相关领域的技术人员将显而易见的是,可以做出各种修改、添加、替换等而不脱离本发明的精神,因此,这些修改、添加、替换等被视为在如权利要求所限定的本发明的范围之内。

权利要求书(按照条约第19条的修改)

1.一种建立处理环境的协调定时网络中的两个处理系统之间的逻辑路径的方法,所述方法包括以下步骤:

由处理系统向连接的处理系统传输建立所述处理系统与所述连接的处理系统之间的逻辑路径的请求,所述逻辑路径促进所述处理系统与所述连接的处理系统的时间同步;

由所述处理系统接收来自所述连接的处理系统的响应,所述响应指示所述连接的处理系统是否接受由所述处理系统传输的所述请求;

由所述处理系统接收由所述连接的处理系统传输的另一请求,所述另一请求将请求建立所述处理系统与所述连接的处理系统之间的逻辑路径;

由所述处理系统向所述连接的处理系统传输另一响应,所述另一响应指示所述处理系统是否接受由所述连接的处理系统传输的所述另一请求;以及

如果所述响应指示所述连接的处理系统接受了所述请求并且所述另一响应指示所述处理系统接受了所述另一请求,则建立所述处理系统与所述连接的处理系统之间的逻辑路径;

其中所述方法还包括:

检测自从在数据通信链路上建立了所述逻辑路径以来是否重新配置了所述数据通信链路;以及

如果重新配置了所述数据通信链路,则启动由处理系统向连接的处理系统传输重新建立所述逻辑路径的请求。

2.如权利要求1中所述的方法,其中所述处理系统包括服务器,并且其中所述连接的处理系统包括连接的服务器。

3.如权利要求1中所述的方法,其中所述方法还包括:

判定所述连接的处理系统是否未能在预定时间段内响应与所述处理系统交换时间参数的命令;以及

如果所述连接的处理系统未能响应交换时间参数的命令,则启动由所述处理系统向所述连接的处理系统传输建立所述逻辑路径的请求。

4.如权利要求1中所述的方法,其中所述方法还包括:

将所述处理系统的协调定时网络(CTN)标识(ID)参数值与所述连接的处理系统的CTN ID参数值相比较;以及

如果所述处理系统的CTN ID参数值与所述连接的处理系统的CTNID参数值不同,则拒绝接受由所述连接的处理系统传输的建立所述逻辑路径的所述另一请求。

5.如权利要求1中所述的方法,其中所述方法还包括:

将所述处理系统的系统标识参数值与所述连接的处理系统的系统标识参数值相比较;以及

如果所述处理系统的系统标识参数值与所述连接的处理系统的系统标识参数值相同,则拒绝接受由所述连接的处理系统传输的建立所述逻辑路径的所述另一请求。

6.如权利要求1中所述的方法,其中所述方法还包括:

将所述处理系统的时间协议工具的版本号参数值与所述连接的处理系统的时间协议工具的版本号参数值相比较;以及

如果所述比较指示所述处理系统的时间协议工具与所述连接的处理系统的时间协议工具不兼容,则拒绝接受由所述连接的处理系统传输的建立所述逻辑路径的所述另一请求。

7.如权利要求1中所述的方法,其中所述方法还包括:

将所述处理系统的时间协议工具的配置块与所述连接的处理系统的时间协议工具的配置块相比较;以及

如果所述比较指示所述处理系统的时间协议工具与所述连接的处理系统的时间协议工具不兼容,则拒绝接受由所述连接的处理系统传输的建立所述逻辑路径的所述另一请求。

8.如权利要求7中所述的方法,其中所述配置块包括层-1配置块。

9.一种系统,包括适于执行根据任一上述方法权利要求的方法的所有步骤的装置。

10.一种计算机程序,包括当所述计算机程序在计算机系统上执行时,用于执行根据任一上述方法权利要求的方法的所有步骤的指令。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号