从多个控制节点中选择一个首领的装置和方法

文档序号:6414961阅读:236来源:国知局
专利名称:从多个控制节点中选择一个首领的装置和方法
技术领域
本发明涉及一种根据性能从多个互连控制节点中选择一个首领(captain)控制节点的装置和方法。在某些实施例中,本发明涉及从多个主机计算机中选择一个首领控制节点。在某些实施例中,本发明涉及从位于多个数据存储和检索系统内的多个控制器中选择一个首领控制节点。在某些实施例中,本发明涉及从位于多个初级备份设备(primarybackup appliance)内的多个控制器中选择一个首领控制节点。
背景技术
很多数据处理系统需要大量数据存储以用于高效存取、修改和再存储数据。数据存储典型地分成若干不同级别,每一个级别显现不同的数据存取时间或数据存储成本。第一或最高层数据存储涉及电子存储器,通常是动态或静态随机存取存储器(DRAM或SRAM)。电子存储器采取半导体集成电路的形式,其中数百万字节的数据可以存储在每个电路上,其中对这些数据字节的存取以纳秒测量。由于存取是完全电子式的,因此电子存储器提供最快的数据存取。
在某些数据处理应用中,多个有时称作“主机计算机”的互连计算机系统提供信息给多个数据存储和检索系统。从这些主机计算机中选择一个首领控制节点来协调这些主机计算机的操作将是理想的。
第二级数据存储通常涉及直接存取存储设备(DASD)。DASD存储例如包括磁盘和/或光盘。数据比特作为盘表面上微米大小的磁性或光学改变的斑点来存储,从而表示组成数据比特二进制值的“一”和“零”。磁性DASD包括覆盖有残余磁性材料的一个或多个盘。这些盘旋转性地安装在受保护环境内。每个盘分成很多同心轨道或者紧密圆圈。数据沿着每个轨道逐比特地连续存储。
在某些数据处理应用中,多个主机计算机提供信息给多个互连数据存储和检索系统。根据性能从多个数据存储和检索系统中选择一个首领控制节点来协调这些系统的操作将是理想的。
具有备份数据副本对于数据丢失将是灾难性的很多商业机构而言是强制性的。另外,还需要保护以在整个系统或者甚至是场所被诸如地震、火灾、爆炸、飓风等的灾难破坏的情况下恢复数据。
灾难恢复需要次级数据副本存储在远离于初级数据的位置上。次级场所不仅必须足够远离于初级场所,而且必须能够实时备份初级数据。当初级数据被更新时,次级场所需要实时备份初级数据,其中只有某一极小的延迟。次级场所所需的困难任务在于次级数据必须是“次序一致”的,也就是,次级数据以需要大量系统考虑的与初级数据相同的顺序次序(顺序一致性)来拷贝。顺序一致性由于在数据处理系统中存在均控制多个DASD的多个存储控制器而复杂化。在没有顺序一致性的情况下,将产生与初级数据不一致的次级数据,从而破坏灾难恢复。
在某些数据处理应用中,多个互连数据存储和检索系统提供数据给多个互连初级备份设备。初级备份设备形成有时所谓的一致事务集,并且周期性地将这些一致事务集提供给远程场所以进行备份存储。根据性能从多个初级备份设备中选择一个首领控制节点以协调这些备份设备的操作将是理想的。

发明内容
本申请人的发明包括一种用来从多个互连控制节点中选择一个首领控制节点的装置和方法。该方法由该多个控制节点中的每一个提供第一信号给其他控制节点中的每一个,然后由该多个控制节点中的每一个从其他控制节点中的每一个接收响应信号。该方法然后由该多个控制节点中的每一个计算其他控制节点中的每一个的单独响应时间,并且由每个控制节点确定其合计响应时间。
然后,该方法确定是否使用这些合计响应时间来选择一个首领控制节点。如果使用这些合计响应时间来选择首领控制节点,则该方法确定最小合计响应时间,并且指定具有该最小合计响应时间的控制节点为首领控制节点。


通过阅读下面结合附图的详细描述,本发明将会得到更好的理解,其中,相同的附图标记用来指定相同的单元,并且其中图1是示出本申请人的数据存储和检索系统的一个实施例的各组件的方框图;图2是示出本申请人的数据存储和检索系统的第二实施例的各组件的方框图;图3是示出本申请人的数据存储和检索系统的第三实施例的各组件的方框图;图4是示出本申请人的对等远程拷贝数据存储和检索系统的各组件的方框图;图5是概述本申请人的方法中的特定初始步骤的流程图;以及图6是概述本申请人的方法中的特定附加步骤的流程图。
具体实施例方式
参照附图在下面描述中以多个优选实施例描述本发明,其中相同的标号表示相同或类似的单元。本发明将被描述为实施在包括多个主机计算机、多个初级数据存储和检索系统、多个次级数据存储和检索系统和互连这些初级和次级数据存储和检索系统的多个备份设备的数据处理系统中。然而,下面对用来从多个控制节点中选择一个首领的本申请人方法的描述并不旨在将本申请人的发明限定于数据处理应用,这里的本发明还能一般应用于监视和/或协调多个计算机的操作。
图4示出本申请人的数据处理系统的各组件。现在参照图4,主机计算机480、485和490通过通信链路401相互连接和通信。主机计算机480、485和490通过通信链路401与初级数据存储和检索系统410、430和450进行互连和通信。在某些实施例中,通信链路401从包括串行互连如RS-232电缆或RS-432电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
主机计算机480、485和490均包括计算机系统如大型机、个人计算机、工作站等,其中包括诸如Windows、AIX、Unix、MVS、LINUX等的操作系统(Windows是微软公司的注册商标;AIX是IBM公司的注册商标且MVS是IBM公司的商标;而UNIX是通过公开组独占性地许可的在美国和其他国家的注册商标。)计算机480包括一个处理器即控制节点,如控制节点481。计算机485包括一个处理器即控制节点,如控制节点486。计算机490包括一个处理器即控制节点,如控制节点491。在图4的所示实施例中,控制节点481、486和491利用通信链路401相互通信。
在某些实施例中,主机计算机480、485和490分别包括存储管理程序482、487和492。存储管理程序482、487和492可以包括管理向数据存储和检索系统传输数据的本技术领域内公知的存储管理型程序的功能性,例如在IBM MVS操作系统中实现的IBM DFSMS。
初级数据存储和检索系统410将信息从初级信息存储介质412提供到次级数据存储和检索系统425以通过初级备份设备415和次级备份设备420拷贝到次级信息存储介质427。数据存储和检索系统410还包括一个处理器即控制节点411。数据存储和检索系统425还包括一个处理器即控制节点426。
在某些实施例中,信息存储介质412包括DASD。在某些实施例中,信息存储介质412包括一个或多个RAID阵列。在某些实施例中,信息存储介质412包括多个便携式信息存储介质,例如包括多个单独位于便携式容器例如磁带盒中的磁带。
在某些实施例中,信息存储介质427包括DASD。在某些实施例中,信息存储介质427包括一个或多个RAID阵列。在某些实施例中,信息存储介质427包括多个便携式信息存储介质,例如包括多个单独位于便携式容器例如磁带盒中的磁带。
在某些实施例中,初级备份设备415与初级数据存储和检索系统410集成在一起。在图4的所示实施例中,初级备份设备415居于初级数据存储和检索系统410的外部,并且通过通信链路403与初级数据存储和检索系统410通信。在某些实施例中,通信链路403从包括串行互连如RS-232电缆或RS-432电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
在某些实施例中,次级备份设备420与次级数据存储和检索系统425集成在一起。在图4的所示实施例中,次级备份设备420居于次级数据存储和检索系统425的外部,并且通过通信链路406与次级数据存储和检索系统425通信。在某些实施例中,通信链路406从包括串行互连如RS-232电缆或RS-432电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
初级数据存储和检索系统430将信息从初级信息存储介质432提供到次级数据存储和检索系统445以通过初级备份设备435和次级备份设备440拷贝到次级信息存储介质447。信息存储和检索系统430还包括控制节点431。信息存储和检索系统445还包括控制节点446。
在某些实施例中,信息存储介质432包括DASD。在某些实施例中,信息存储介质432包括一个或多个RAID阵列。在某些实施例中,信息存储介质432包括多个便携式信息存储介质,例如包括多个单独位于便携式容器例如磁带盒中的磁带。
在某些实施例中,信息存储介质447包括DASD。在某些实施例中,信息存储介质447包括一个或多个RAID阵列。在某些实施例中,信息存储介质447包括多个便携式信息存储介质,例如包括多个单独位于便携式容器例如磁带盒中的磁带。
在某些实施例中,初级备份设备435与初级数据存储和检索系统430集成在一起。在图4的所示实施例中,初级备份设备435居于初级数据存储和检索系统430的外部,并且通过通信链路404与初级数据存储和检索系统430通信。在某些实施例中,通信链路404从包括串行互连如RS-232电缆或RS-432电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
在某些实施例中,次级备份设备440与次级数据存储和检索系统445集成在一起。在图4的所示实施例中,次级备份设备440居于次级数据存储和检索系统445的外部,并且通过通信链路407与次级数据存储和检索系统445通信。在某些实施例中,通信链路407从包括串行互连如RS-232电缆或RS-432电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
初级数据存储和检索系统450将信息从初级信息存储介质452提供到次级数据存储和检索系统465以通过初级备份设备455和次级备份设备460拷贝到次级信息存储介质467。信息存储和检索系统450还包括控制节点451。信息存储和检索系统465还包括控制节点466。
在某些实施例中,信息存储介质452包括DASD。在某些实施例中,信息存储介质452包括一个或多个RAID阵列。在某些实施例中,信息存储介质452包括多个便携式信息存储介质,例如包括多个单独位于便携式容器例如磁带盒中的磁带。
在某些实施例中,信息存储介质467包括DASD。在某些实施例中,信息存储介质467包括一个或多个RAID阵列。在某些实施例中,信息存储介质467包括多个便携式信息存储介质,例如包括多个单独位于便携式容器例如磁带盒中的磁带。
在某些实施例中,初级备份设备455与初级数据存储和检索系统450集成在一起。在图4的所示实施例中,初级备份设备455居于初级数据存储和检索系统450的外部,并且通过通信链路405与初级数据存储和检索系统450通信。在某些实施例中,通信链路405从包括串行互连如RS-232电缆或RS-452电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
在某些实施例中,次级备份设备460与次级数据存储和检索系统465集成在一起。在图4的所示实施例中,次级备份设备460居于次级数据存储和检索系统465的外部,并且通过通信链路408与次级数据存储和检索系统465通信。在某些实施例中,通信链路408从包括串行互连如RS-232电缆或RS-452电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
初级备份设备415、435和455分别从初级数据存储和检索系统410、430和450接收信息。周期性地,初级备份设备415、435和455形成一致事务集。采用“一致事务集”,本申请人表示这样一个事务集,即当在次级数据存储和检索系统控制器上应用该事务集中的所有事务时,次级存储看上去将相同于创建该事务集的时间点上的初级存储。
在某些实施例中,数据存储和检索系统410、425、430、445、450和/或465中的一个或多个包括数据存储和检索系统100(图1)。现在参照图1,本申请人的信息存储和检索系统100包括第一群集101A和第二群集101B。每个群集包括处理器部分130/140和输入/输出部分160/170。每个群集的内部PCI总线分别通过远程I/O桥155/165连接在处理器部分130/140与I/O部分160/170之间。
信息存储和检索系统100还包括位于四个主机舱(host bay)101、106、111和116内的多个主机适配器102-105、107-110、112-115和117-120。每个主机适配器可以包括一个光纤通道端口、一个FICON端口、两个ESCON端口或者两个SCSI端口。每个主机适配器通过一个或多个公共平台互连总线121和150连接到两个群集,使得每个群集可以处理来自任何主机适配器的I/O。
处理器部分130包括处理器132和高速缓冲存储器134。在某些实施例中,处理器132包括基于64比特RISC的对称多处理器。在某些实施例中,处理器132包括内置故障和错误纠正功能。高速缓冲存储器134用来存储读取和写入数据以改善所附主机系统的性能。在某些实施例中,高速缓冲存储器134包括大约4吉字节。在某些实施例中,高速缓冲存储器134包括大约8吉字节。在某些实施例中,高速缓冲存储器134包括大约12吉字节。在某些实施例中,高速缓冲存储器134包括大约16吉字节。在某些实施例中,高速缓冲存储器134包括大约32吉字节。
处理器部分140包括处理器142和高速缓冲存储器144。在某些实施例中,处理器142包括基于64比特RISC的对称多处理器。在某些实施例中,处理器142包括内置故障和错误纠正功能。高速缓冲存储器144用来存储读取和写入数据以改善所附主机系统的性能。在某些实施例中,高速缓冲存储器144包括大约4吉字节。在某些实施例中,高速缓冲存储器144包括大约8吉字节。在某些实施例中,高速缓冲存储器144包括大约12吉字节。在某些实施例中,高速缓冲存储器144包括大约16吉字节。在某些实施例中,高速缓冲存储器144包括大约32吉字节。
I/O部分160包括非易失性存储装置(“NVS”)162和NVS电池164。NVS 162用来存储写入数据的第二副本以在发生群集故障的电源故障和该数据的高速缓冲存储器副本丢失的情况下确保数据完整性。NVS 162存储提供给群集101B的写入数据。在某些实施例中,NVS 162包括大约1吉字节的存储装置。在某些实施例中,NVS 162包括四个独立存储卡。在某些实施例中,每对NVS卡具有由电池供电的充电系统,即使整个系统掉电,其也在高达72小时内保护数据。
I/O部分170包括NVS 172和NVS电池174。NVS 172存储提供给群集101A的写入数据。在某些实施例中,NVS 172包括大约1吉字节的存储装置。在某些实施例中,NVS 172包括四个独立存储卡。在某些实施例中,每对NVS卡具有由电池供电的充电系统,即使整个系统断电,其也在高达72小时内保护数据。
在群集101B发生故障的情况下,故障群集的写入数据将驻留在位于正常群集101A内的NVS 162中。然后,该写入数据以高优先级降级(destage)到RAID等级(rank)。同时,正常群集101A将开始对于其自己的写入数据使用NVS 162,从而确保仍然保持写入数据的两个副本。
I/O部分160还包括多个设备适配器如设备适配器165、166、167和168和组织成两个RAID等级即RAID等级“A”和RAID等级“B”的十六个盘驱动器。在某些实施例中,RAID等级“A”和“B”利用RAID 5协议。在某些实施例中,RAID等级“A”和“B”利用RAID 10协议。
在某些实施例中,数据存储和检索系统410、425、430、445、450和/或465中的一个或多个包括数据存储和检索系统200(图2)。图2示出系统200的一个实施例。
系统200被安排用于响应来自一个或多个主机系统如主机计算机390(图4)的命令而存取便携式数据存储介质。系统200包括前壁270和后壁290上的多个存储架260,用于存储容纳数据存储介质的便携式数据存储盒。系统200还包括至少一个数据存储驱动器250,用于对数据存储介质进行数据读取和/或写入;以及至少一个存取器(accessor)210,用于在多个存储架260与数据存储驱动器250之间运输数据存储介质。系统200可以可选地包括操作员面板230或其他用户接口如基于万维网(web)的接口,其允许用户与存储库进行交互。系统200可以可选地包括上方导入/导出台240和/或下方导入/导出台245,其允许将数据存储介质插入到存储库中并且/或者从存储库中移走数据存储介质而不打断存储库操作。
存取器210包括升降伺服部件212,其能够沿着Z轴进行双向移动。存取器210还包括至少一个机械瓜组件(gripper assembly)216,其用于抓握(gripping)一个或多个数据存储介质。在图2的所示实施例中,存取器210还包括条形码扫描器214或其他阅读系统如智能卡阅读器或类似系统以“阅读”有关数据存储介质的标识信息。在图2的所示实施例中,存取器210还包括位于升降伺服部件212上的第二机械瓜机构218。
在某些实施例中,系统200包括一个或多个存储框架(storageframe),其中每一个都具有可由存取器210存取的存储架260。存取器210在导轨(rail)205上沿着X轴双向移动。在包括多个框架的存储库100的实施例中,这些单独框架的每一个中的导轨205被对齐成使得存取器210可以沿着邻接导轨系统从存储库的一端行驶到另一端。
在某些实施例中,数据存储和检索系统410、425、430、445、450和/或465中的一个或多个包括数据存储和检索系统300(图3)。现在参照图3,虚拟磁带服务器300(“VTS”)300通过后台程序(daemon)370、372和374与一个或多个主机以及一个或多个虚拟磁带服务器通信。在图3的所示实施例中,后台程序370通过通信链路380与第一主机通信。在图3的所示实施例中,后台程序372通过通信链路382与第二主机通信。后台程序374通过通信链路384与例如初级备份设备如设备415通信。
VTS 300还与直接存取存储设备(DASD)310、多个数据存储设备330和340通信。在某些实施例中,数据存储设备330和340位于一个或多个数据存储和检索系统内。在某些实施例中,DASD 310与主机110集成在一起(图1)。在某些实施例中,DASD 310与VTS 300集成在一起。在某些实施例中,DASD 310与数据存储和检索系统集成在一起。在某些实施例中,DASD 310外部于主机110、VTS 300以及与VTS 300通信的一个或多个数据存储和检索系统。
VTS 300还包括存储管理器320如IBM Adstar分布式存储管理器。存储管理器320控制从DASD 310到安装在数据存储设备330和340中的信息存储介质的数据移动。在某些实施例中,存储管理器320包括ADSM服务器322和ADSM分级式存储管理器客户端324。可替换地,服务器322和客户端324均可包括ADSM系统。来自DASD 310的信息通过ADSM服务器322和SCSI适配器385提供到数据存储设备330和340。
VTS 300还包括存储管理器320如IBM Adstar分布式存储管理器。存储管理器320控制从DASD 310到安装在数据存储设备130和140中的信息存储介质的数据移动。在某些实施例中,存储管理器320包括ADSM服务器322和ADSM分级式存储管理器客户端324。可替换地,服务器322和客户端324均可包括ADSM系统。来自DASD 310的信息通过ADSM服务器322和SCSI适配器385提供到数据存储设备130和140。
VTS 300还包括自主控制器350。自主控制器350通过分级式存储管理器(HSM)客户端324控制DASD 310的操作,以及DASD 310与数据存储设备130和140之间的数据传输。
回到图4,每个主机计算机提供信息给一个或多个初级数据存储和检索系统。为了最大化利用通信链路401的带宽,主机计算机480、485和490必须交互以分配该带宽。在本申请人方法的某些实施例中,控制节点481、486和491交互以根据性能选择首领控制节点。该首领主机控制节点协调特定功能,例如由每一个主机计算机480、485和490形成一致事务集。序列号为10/339,957、名称为“Method、System andArticle of Manufacture for Creating a Consistent Copy”且转让给其共同受让人的未决专利申请描述了一种形成一致事务集的方法,并且在此将其全文引作参考。
回到图4,每个初级数据存储和检索系统410、430和450以不同数据传输速率从不同主机计算机接收不同数量的信息。每个初级数据存储和检索系统410、430和450以不同数据传输速率将不同数量的信息提供到初级备份设备415、435和455中的一个或多个。在本申请人方法的某些实施例中,控制节点411、431和451交互以根据性能选择首领控制节点。该首领主机控制节点协调特定功能,例如由每一个初级数据存储和检索系统410、430和450形成一致事务集。
回到图4,每个初级备份设备以不同于其他初级备份设备的速率从不同初级存储控制节点接收数据。在本申请人方法的某些实施例中,控制节点417、437和457交互以根据性能选择首领控制节点。该首领备份设备控制节点协调特定功能,例如由每一个初级备份设备415、435和455形成一致事务集。
初级备份设备如设备415、425和435通过公共通信链路如通信链路409分别提供一致事务集到其对应的次级备份设备如设备420、430和440。在某些实施例中,通信链路409从包括串行互连如RS-232电缆或RS-432电缆、以太网互连、SCSI互连、光纤通道互连、ESCON互连、FICON互连、局域网(LAN)、私有广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、因特网及其组合的组中选择。
一般而言,本申请人的方法包括用于根据实际性能标准从多个互连控制节点中选择一个首领控制节点的方法。图5概述了本申请人的方法的特定步骤。现在参照图5,在步骤505,该方法提供多个即总共(N)个互连控制节点,其中(N)大于或等于2。在某些实施例中,(N)个互连控制节点中的每一个位于(N)个主机计算机的不同之一中。在某些实施例中,(N)个互连控制节点中的每一个位于(N)个数据存储和检索系统的不同之一中。在某些实施例中,(N)个互连控制节点中的每一个位于(N)个备份设备的不同之一上。
在步骤510,每个控制节点在第一时间将第一信号提供给其他(N-1)个互连控制节点中的每一个。本申请人的方法从步骤510转至步骤515,其中当接收到第一控制信号时,(N)个控制节点中的每一个都提供响应信号。因此,步骤515包括由(N)个控制节点中的每一个提供(N-1)个响应信号。
本申请人的方法从步骤515转至步骤520,其中在(N-1)个第二时间,每个控制节点从其他(N-1)个控制节点接收响应信号。本申请人的方法从步骤520转至步骤525,其中每个控制节点计算(N-1)个对其心跳(heart beat)信号的单独响应时间,即其他(N-1)个控制节点中每一个的响应时间。本领域的技术人员应当理解,控制节点通过从步骤510的第一时间减去步骤520的第(i)个第二时间来计算第(i)其他控制节点的响应时间。
本申请人的方法从步骤525转至步骤530,其中每个控制节点确定其合计响应时间。第一控制节点的合计响应时间包括其他控制节点响应第一控制节点的心跳信号的(N-1)个响应时间之和。在某些实施例中,步骤530还包括由每个控制节点向其他控制节点中的每一个报告其合计响应时间。该报告可以包括本领域的技术人员公知的任何信号通知方法。例如,每个控制节点可以发送包括其合计响应时间的消息到其他(N-1)个控制节点中的每一个。在其他实施例中,每个控制节点轮询其他(N-1)个控制节点以从这些其他控制节点获得合计响应时间。在某些实施例中,本申请人的方法从步骤530转至步骤540。
在某些实施例中,本申请人的方法从步骤530转至步骤535,其中每个控制节点计算(N-1)个包括其合计响应时间的单独响应时间的标准偏差。本领域的技术人员应当理解,标准偏差表示所有数据点的分布聚集在平均值周围的紧密程度。当数据紧密地聚集在一起即钟形曲线陡峭时,标准偏差小。当数据分散开来且钟形曲线较平坦时,标准偏差较大。
在某些实施例中,步骤535还包括由每个控制节点向其他互连控制节点中的每一个报告其标准偏差。该报告可以包括本领域的技术人员公知的任何信号通知方法。例如,每个控制节点可以发送包括步骤530的标准偏差的消息到其他(N-1)个控制节点中的每一个。在某些实施例中,每个控制节点在步骤535轮询其他(N-1)个控制节点以从这些其他控制节点获得标准偏差。
本申请人的方法从步骤535转至步骤540,其中该方法确定是否使用(N)个合计响应时间作为主要决定因素来选择首领控制节点。如果本申请人的方法在步骤540决定使用(N)个合计响应时间作为主要决定因素来选择首领控制节点,则该方法从步骤540转至步骤545,其中(N)个控制节点中的每一个独立识别最小合计响应时间。
本申请人的方法从步骤545转至步骤550,其中每个控制节点确定是否存在两个或更多个控制节点具有最小合计响应时间。如果本申请人的方法在步骤550确定有两个或更多个控制节点具有最小合计响应时间,则该方法从步骤550转至步骤610(图6)。如果本申请人的方法在步骤550确定不存在两个或更多个控制节点具有最小合计响应时间,则该方法从步骤550转至步骤555,其中该方法指定具有最小合计响应时间的控制节点为首领控制节点。
本申请人的方法从步骤555转至步骤570,其中该方法确定是否到达选择新首领控制节点的时间。如果本申请人的方法在步骤570确定尚未达到选择新首领控制节点的时间,则该方法周期性地返回到步骤570。如果本申请人的方法在步骤570确定到达选择新首领控制节点的时间,则该方法从步骤570转至步骤510并且继续。
如果本申请人的方法在步骤540决定不使用(N)个合计响应时间作为主要决定因素来选择首领控制节点,则该方法从步骤540转至步骤560,其中本申请人的方法提供首领控制节点选择函数。在某些实施例中,步骤560的首领控制节点选择函数设置在位于主机计算机内的固件如固件481(图4)、486(图4)、491(图4)中。在某些实施例中,步骤560的首领控制节点选择函数设置在位于数据存储和检索系统内的固件如固件412(图4)、432(图4)、452(图4)中。在某些实施例中,步骤560的首领控制节点选择函数设置在位于备份设备内的固件如固件416(图4)、436(图4)、456(图4)中。
步骤560还包括利用首领控制节点选择函数确定每一个互连控制节点的性能得分。在某些实施例中,每个控制节点根据步骤530的合计响应时间和步骤535的标准偏差为(N)个控制节点中的每一个计算性能得分。在某些实施例中,步骤560包括使用方程(1)确定每个控制节点的性能得分性能得分=a(合计响应时间)^c+b(标准偏差)^d(1)其中a、b、c和d是正常数。较低性能得分包括较佳性能,即较小合计响应时间和较小标准偏差。
本申请人的方法从步骤560转至步骤565,其中该方法指定具有步骤560的最小性能得分的控制节点为首领控制节点。在某些实施例中,所有控制节点独立执行步骤560和565以指定具有最小性能得分的控制节点为首领控制节点。本申请人的方法从步骤565转至步骤570。
如果本申请人的方法在步骤550确定存在两个或更多个控制节点具有最小合计响应时间,则该方法转至步骤610(图6),其中该方法确定是否重复图5的步骤。在某些实施例中,如果存在两个或更多个控制节点具有最小合计响应时间则是否重复图5的步骤设置在位于主机计算机内的固件如固件481(图4)、486(图4)、491(图4)中。在某些实施例中,如果存在两个或更多个控制节点具有最小合计响应时间则是否重复图5的步骤设置在位于备份设备内的固件如固件416(图4)、436(图4)、456(图4)中。
如果本申请人的方法决定重复图5的步骤,则该方法从步骤610转至步骤510并且继续。如果本申请人的方法决定不重复图5的步骤,则该方法从步骤610转至步骤620,其中该方法确定是否存在一个具有最小合计响应时间的控制节点具有小于任何其他具有最小合计响应时间的控制节点的标准偏差。如果本申请人的方法确定存在一个具有最小合计响应时间的控制节点具有小于任何其他具有最小合计响应时间的控制节点的标准偏差,则该方法从步骤620转至步骤630,其中每个控制节点指定具有最小合计响应时间和较小标准偏差的控制节点为首领控制节点。本申请人的方法从步骤630转至步骤570并且继续。
如果本申请人的方法在步骤620确定不存在一个具有最小合计响应时间的控制节点具有小于任何其他具有最小合计响应时间的控制节点的标准偏差,则该方法从步骤620转至步骤640,其中该方法指定具有最小合计响应时间的控制节点之一为首领控制节点。本申请人的方法从步骤640转至步骤570并且继续。
在某些实施例中,图5和/或6所述的各个步骤可以经过组合、删除或重新排序。
本申请人的发明还包括一种制造品,其包括一个计算机可用介质例如计算机可用介质413、418、433、438、453、458、483、488和/或493,其中包含有用来使用图5和/或6所述的步骤选择首领控制节点的计算机可读程序代码。
本申请人的发明还包括一种可与可编程计算机处理器一起使用的计算机程序产品,例如计算机程序产品414、419、434、439、454、459、484、489和/或494,其具有使用图5和/或6所述的步骤选择首领控制节点的计算机可读程序代码。
虽然详细地举例说明了本发明的优选实施例,但是本领域的技术人员应当清楚,在不脱离由所附权利要求限定的本发明的范围的情况下,可以对这些实施例进行各种修改和变动。
权利要求
1.一种用来从多个互连控制节点中选择首领控制节点的方法,包括以下步骤由所述多个控制节点中的每一个提供第一信号给其他控制节点中的每一个;由所述多个控制节点中的每一个从其他控制节点中的每一个接收响应信号;由所述多个控制节点中的每一个计算其他控制节点中的每一个的单独响应时间;确定所述多个互连控制节点中的每一个的合计响应时间;确定是否使用所述合计响应时间选择首领控制节点;如果使用所述合计响应时间选择首领控制节点则如下操作确定最小合计响应时间;以及指定具有所述最小合计响应时间的控制节点为首领控制节点。
2.如权利要求1所述的方法,还包括以下步骤确定是否存在两个或更多个控制节点均具有所述最小合计响应时间;如果存在两个或更多个控制节点均具有所述最小合计响应时间,则操作,从而重复如权利要求1所述的步骤。
3.如权利要求1所述的方法,还包括以下步骤由所述多个控制节点中的每一个计算那个控制节点的合计响应时间的标准偏差;由每个控制节点提供所述标准偏差给其余互连控制节点中的每一个。
4.如权利要求3所述的方法,还包括以下步骤如果存在两个或更多个控制节点均具有最小合计响应时间,则操作,从而确定所述两个或更多个控制节点中的哪一个具有最小标准偏差;指定具有最小合计响应时间和最小标准偏差的控制节点为首领控制节点。
5.如权利要求3所述的方法,还包括以下步骤如果不使用所述合计响应时间选择首领控制节点,则操作,从而提供首领控制节点选择函数;使用所述首领控制节点选择函数确定所述多个互连控制节点中的每一个的性能得分;指定具有最小性能得分的控制节点为首领控制节点。
6.如权利要求5所述的方法,其中所述首领控制节点选择函数包括以下方程性能得分=a(合计响应时间)^c+b(标准偏差)^d其中a、b、c和d是正常数。
7.如权利要求1所述的方法,还包括提供多个主机计算机的步骤,其中所述多个控制节点中的每一个位于所述多个主机计算机的不同之一中,并且其中所述多个主机计算机中的每一个能够与一个或多个数据存储和检索系统通信。
8.如权利要求1所述的方法,还包括提供多个数据存储和检索系统的步骤,其中所述多个控制节点中的每一个位于所述多个数据存储和检索系统的不同之一中,并且其中所述多个数据存储和检索系统中的每一个能够与一个或多个主机计算机通信。
9.如权利要求1所述的方法,还包括提供多个初级备份设备的步骤,其中所述多个控制节点中的每一个位于所述多个初级备份设备的不同之一中,并且其中所述多个初级备份设备中的每一个能够与一个或多个数据存储和检索系统和一个或多个次级备份设备通信。
10.一种制造品,包括控制节点并且还包括计算机可用介质,该计算机可用介质包含用来从多个互连控制节点中选择首领控制节点的计算机可读程序代码,该计算机可读程序代码包括一系列计算机可读程序步骤以实现提供第一信号给其他控制节点中的每一个;从其他控制节点中的每一个接收响应信号;计算其他控制节点中的每一个的单独响应时间;确定所述制造品的合计响应时间;从其他控制节点中的每一个接收合计响应时间;确定是否使用所述合计响应时间选择首领控制节点;如果使用所述合计响应时间选择首领控制节点则操作,从而确定最小合计响应时间;如果使用所述合计响应时间选择首领控制节点则操作,从而指定具有所述最小合计响应时间的控制节点为首领控制节点。
11.如权利要求10所述的制造品,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现确定是否存在两个或更多个控制节点均具有所述最小合计响应时间;如果存在两个或更多个控制节点均具有所述最小合计响应时间,则操作,从而重复如权利要求10所述的步骤。
12.如权利要求10所述的制造品,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现计算所述制造品的所述合计响应时间的标准偏差;以及从其余控制节点中的每一个接收标准偏差。
13.如权利要求12所述的制造品,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现如果存在两个或更多个控制节点均具有最小合计响应时间,则操作,从而确定所述两个或更多个控制节点中的哪一个具有最小标准偏差;指定具有所述最小合计响应时间和最小标准偏差的控制节点为首领控制节点。
14.如权利要求12所述的制造品,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现如果不使用所述合计响应时间选择首领控制节点,则操作,从而检索首领控制节点选择函数;使用所述首领控制节点选择函数确定所述多个互连控制节点中的每一个的性能得分;指定具有最小性能得分的控制节点为首领控制节点。
15.如权利要求14所述的制造品,其中所述首领控制节点选择函数包括以下方程性能得分=a(合计响应时间)^c+b(标准偏差)^d其中a、b、c和d是正常数。
16.如权利要求10所述的制造品,其中所述制造品包括多个主机计算机之一,其中所述多个主机计算机中的每一个能够与一个或多个数据存储和检索系统通信。
17.如权利要求10所述的制造品,其中所述制造品包括多个数据存储和检索系统之一,其中所述多个数据存储和检索系统中的每一个能够与一个或多个主机计算机通信。
18.如权利要求10所述的制造品,其中所述制造品包括多个初级备份设备之一,其中所述多个初级备份设备中的每一个能够与一个或多个数据存储和检索系统和一个或多个次级备份设备通信。
19.一种可与可编程计算机处理器一起使用的计算机程序产品,其包含用来从多个互连控制节点中选择首领控制节点的计算机可读程序代码,其中所述计算机程序产品置于第一控制节点中,包括使所述可编程计算机处理器提供第一信号给其他控制节点中的每一个的计算机可读程序代码;使所述可编程计算机处理器从其他控制节点中的每一个接收响应信号的计算机可读程序代码;使所述可编程计算机处理器计算其他控制节点中的每一个的单独响应时间的计算机可读程序代码;使所述可编程计算机处理器确定所述第一控制节点的合计响应时间的计算机可读程序代码;使所述可编程计算机处理器从其余控制节点中的每一个接收合计响应时间的计算机可读程序代码;使所述可编程计算机处理器确定是否使用所述合计响应时间选择首领控制节点的计算机可读程序代码;如果使用所述合计响应时间选择首领控制节点则使所述可编程计算机处理器确定最小合计响应时间的计算机可读程序代码;如果使用所述合计响应时间选择首领控制节点则使所述可编程计算机处理器指定具有所述最小合计响应时间的控制节点为首领控制节点的计算机可读程序代码。
20.如权利要求19所述的计算机程序产品,还包括使所述可编程计算机处理器确定是否存在两个或更多个控制节点均具有所述最小合计响应时间的计算机可读程序代码;如果存在两个或更多个控制节点均具有所述最小合计响应时间则使所述可编程计算机处理器重复如权利要求19所述的步骤的计算机可读程序代码。
21.如权利要求19所述的计算机程序产品,还包括使所述可编程计算机处理器计算所述第一控制节点的所述合计响应时间的标准偏差的计算机可读程序代码;使所述可编程计算机处理器从其余控制节点中的每一个接收标准偏差的计算机可读程序代码。
22.如权利要求21所述的计算机程序产品,还包括如果存在两个或更多个控制节点均具有最小合计响应时间,则使所述可编程计算机处理器确定所述两个或更多个控制节点中的哪一个具有最低标准偏差的计算机可读程序代码;使所述可编程计算机处理器指定具有最小合计响应时间和最低标准偏差的控制节点为首领控制节点的计算机可读程序代码。
23.如权利要求19所述的计算机程序产品,还包括如果不使用所述合计响应时间选择首领控制节点则使所述可编程计算机处理器检索预定首领控制节点选择函数的计算机可读程序代码;使所述可编程计算机处理器使用所述首领控制节点选择函数确定所述多个互连控制节点中的每一个的性能得分的计算机可读程序代码;使所述可编程计算机处理器指定具有最小性能得分的控制节点为首领控制节点的计算机可读程序代码。
24.如权利要求23所述的计算机程序产品,其中所述首领控制节点选择函数包括以下方程性能得分=a(合计响应时间)^c+b(标准偏差)^d其中a、b、c和d是正常数。
全文摘要
一种用来从多个互连控制节点中选择一个首领控制节点的方法。该方法由该多个控制节点中的每一个提供第一信号给其他控制节点中的每一个,然后由该多个控制节点中的每一个从其他控制节点中的每一个接收响应信号。该方法然后由该多个控制节点中的每一个计算其他控制节点中的每一个的单独响应时间,并且由每个控制节点确定其合计响应时间。然后,该方法确定是否使用这些合计响应时间来选择一个首领控制节点。如果使用这些合计响应时间来选择首领控制节点,则该方法确定最小合计响应时间,并且指定具有该最小合计响应时间的控制节点为首领控制节点。
文档编号G06F12/00GK1607515SQ20041005760
公开日2005年4月20日 申请日期2004年8月20日 优先权日2003年8月29日
发明者肯尼思·W·博伊德, 肯尼思·F·戴, 菲利普·M·伯特马斯, 约翰·J·沃尔夫冈 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1