产生高可用性伪克隆备用服务器的方法和系统的制作方法

文档序号:6554733阅读:134来源:国知局
专利名称:产生高可用性伪克隆备用服务器的方法和系统的制作方法
技术领域
本发明涉及在网络计算环境中为快速故障转移供应(rapidfailover provisioning)而产生备用服务器和准克隆(near clone)。
背景技术
随着商业需求的增加,应对多处理的技术改进及其智能的深度变得非常需要和关键。在任何企业经营活动中,难以在最大化资源利用的同时有效地管理不断波动的可用资源。
事实上,当保持足够的资源以满足峰值要求时,信息技术(″IT″)花费可以变得非常昂贵。更进一步地,通常要求用户输入以利于这样的处理,其引起在时间和人力资源双方面的额外费用。
为解决这些需要,企业计算系统的许多大供应商,诸如国际商用机器公司(″IBM″)、微软公司、及Sun微系统公司(″Sun″)已开始开发和部署自我管理和自愈的基础设施技术。HP的自我管理计算结构被称为″公用计算″或″公用数据中心″,而Sun已将其创新起名为″N1″。IBM已将诸如″自主计算″、″网格计算″、及″随需应变计算″的术语应用于这一领域中其各种体系结构和研究项目。虽然每个供应商已宣布其方案和体系结构中的区别,然而均共有提供某种程度上自我管理和自愈的大规模计算系统的目标。
例如,IBM的自主计算是一个以人体的自主神经系统为模式的自我管理计算模型,其在没有用户输入的情况下控制计算环境的应用程序和平台,类似于在没有有意识的判断的情况下人类的自主神经系统调节某些身体机能的方式。
此外,IBM已将其随需应变计算技术定义为一个企业,其集成有整个公司端到端并且与关键合伙人、供应商和客户集成起来的业务过程可以快速地响应任何客户要求、市场机会或外部威胁。
″供应″是用于描述管理计算环境的各个方面的术语,并且其常常暗指对于不同方面的不同事情。在整个公开内容中,我们将使用术语″供应″来表示实现一个计算环境以满足特定的需要和要求而需要以特定顺序发生的活动序列。该活动依赖于以前的活动,并且一般地包含(a)针对要求恰当地选择有能力的硬件,包含处理器速度、存储器、盘存储器等等;(b)安装操作系统;(c)远程引导网络;(d)配置诸如虚拟专用网(″VPN″)的网络以及类似存储区域网(″SAN″)或网络连接存储(″NAS″)的存储环境;以及(e)取消供应不再需要的资源回到可用池。
大规模数据中心中的操作环境已变得愈加复杂。这些数据中心通常要求很长时间来修改其环境,因此针对最坏情况,大多数供应所配置的硬件常常比在经历峰值需要的情况下所需要的硬件更多。因而,大部分硬件和软件资源使用不足,显著地增大了系统的花费。更进一步地,超出已被供应的量的浪涌问题仍无法解决(举例来说,超过预期峰值负荷的峰值要求)。
事实上,供应通常是由数以百计独特且复杂的步骤所组成的耗费时间和劳动力的过程,并且要求非常熟练的系统和网络管理员。例如,服务器供应是使服务器从″裸金属″到运行实际业务事务的状态的过程。在这一供应过程期间,许多问题可能出现,诸如资源费用的增加以及性能水平的下降,其可以导致顾客不满及服务不可用。
因为这些是可预测的问题,可以采用自动化来管理这些问题。由主要供应商提供的各种自我管理计算系统的一个目标是使这些供应活动尽可能最大程度地自动化,并且尤其允许在很少或没有人类管理员介入下对系统需求及要求变化的准实时反应。例如,IBM的Tivoli[TM]供应管理器(″TPM″)快速供应是IBM Tivoli IntelligentOrchestrator产品的工作流程和脚本的模块化和灵活集合。设法加速其供应进程的客户已对工作流程进行概括和封装以便进行定制。在使其服务器供应过程和其他IT过程自动化中,它们能被用作为组织的起点。
目前由主要供应商所提供的其他产品包括利用Radia(其为用于各种操作系统的基于策略的供应和工作自动化管理工具)的HP的OpenView操作系统管理器,并且Sun的N1网格服务供应系统在某种程度上使应用的供应自动化。
″灾难恢复″是一个用于信息技术的广义的术语,意指在现有系统发生故障后使计算资源恢复联机所需的活动,不论其为诸如许多服务器当中单个重负荷服务器故障的小故障,还是诸如涉及整个电子计算中心掉电或通信中断的大故障均是如此。这类灾难可由组成部分的故障率(举例来说,硬件和软件故障)引起,也可由诸如自然灾害(举例来说,龙卷风、飓风、地震、洪水等等)的非计算因素及其他技术灾难(举例来说,断电、病毒攻击等等)引起。
为从灾难中恢复,计算中心必须再供应新服务器和系统以替代由以前的系统正执行的处理。常常地,在不同的地理区域中执行恢复,但是有时在相同的物理或地理位置执行恢复,其取决于灾难或故障的性质。
许多采用或依赖企业计算的企业都建立灾难恢复计划以便当情况出现时做较好的准备。然而,当前技术仅允许实现专用服务器。每一服务器通常都被指定用于一个目的或应用(举例来说,一种″解决方案″),不论其将满足新顾客需求(举例来说,″生产系统″),还是将被单独地用作在不久的将来可能崩溃的现存服务器的备份服务器。当这些专用服务器未使用时,总的IT维护费用会增加,而过剩资源保持闲置和未使用。重要的是要注意到为了在恢复期间节省关键时间,当服务器被配置为生产服务器的备份时,该备份服务器的配置通常与生产服务器的配置匹配,以使将备份服务器联机和运行不需要供应时间。
即使有组织的供应允许实现不依赖于诸如IBM的z/OS主机操作系统、集群和地址的高可用性操作环境的新方法,灾难恢复的实现仍具有挑战性。当灾难发生时,该服务器将或者被重新安装,或者一旦其达到使用寿命的结束,其将被具有更多特性和更高可靠性的更新版本代替。
在恢复和联机备份服务器的过程期间,当一个降级的或部分运行的生产服务器和一个新启动的备份服务器同时运行的期间内,常常出现网络问题,诸如网络协议(″IP″)地址冲突。
进一步地,从一个故障的或降级的生产服务器中转移静态配置数据或动态状态数据到备份服务器也仍然是一个复杂和困难的过程。
因而,一旦在生产环境中已部署了生产服务器,其通常被一直使用直到灾难发生,其再次重复供应过程,而其旧的实现中的问题仍未解决。
转到图3,其中示出有关一个可用供应管理器如何管理应用集群(30)的逻辑视图。管理服务器(36)收集有关资源的信息,然后管理服务(37,37’,37′”)监视当前所运行或执行的任何过程。网络池(31)包括网络环境的诸如路由器、交换机、交换网和负载平衡器的构件。该应用池(32)典型地包括在该服务器上运行的第一层应用,例如数据库(举例来说,IBM DB2,Oracle等等),其在服务器平台套件(举例来说,IBM WebSphere或等效软件)的顶层上运行。
应用资源池(33)是一组可以被供应(38)到活动应用池中的可用的、未被分配的、未被供应的服务器。后端资源池(34)包含应用池(32)所必需的任何备份服务器,例如另一个数据库服务器或网络服务器集合。后端池(35)用作已从后端资源池(34)供应(38′)的可用服务器的集合或组。
因而,在灾难恢复期间,为了重建企业,也许不得不执行上述乏味和繁重的供应活动以实现从若干池中所选择出来的众多服务器和众多配置。
业界中的另一个增长业务趋势是“子容量定价(sub-capacitypricing)”。子容量许可容许客户给在小于由计算平台的处理器数目所确定的总容量的水平使用的产品发出许可证。例如,利用诸如IBMiSeries和AS/400硬件,运行OS/400 V4R4或之后版本的平台的某些IBM产品,利用IBM提供的工具将系统隔离成逻辑分区。利用子容量定价,需要被发给许可证的处理器的数量是单个机器(其中程序被定义)的全部区分上的所有处理器的聚集,包括处理器的部分共享,其被四舍五入到下一个最高总数量。因此,如果平台支持,客户可以通过授予分许可得到可观的成本节省。然而,这提出了配置备份服务器和替换服务器的特定的挑战,尤其在其中配置时间非常关键的情况下。
此外,服务器的一些池可受总许可限制的制约,例如有关特定程序的多少拷贝可在该池中的多个服务器上同时运行的约束。考虑这些限制也可以提出快速地配置替换或备份服务器的值得注意的挑战。

发明内容
本发明提供了一个提供″部分解″,举例来说,被部分地供应的服务器的系统和方法,可以用来满足必要时对诸如灾难恢复的活动的任何期望。每个部分解或″伪克隆(pseudo-clone)″都采用若干特定配置和供应的生产服务器上的最高水平的公共构件组成(举例来说,软件,硬件等等),以允许执行最终供应活动的最小化集,从而容许伪克隆承担特定配置的生产服务器之一的处理活动。
根据本发明,确定一组特定生产服务器的″最大公分母(highestcommon denominator)″,继而配置一个或多个伪克隆以作为所识别的任何特定生产服务器的潜在替换。进一步地,根据本发明,当目标生产服务器之一需要被替代或停止使用时,适当的伪克隆系统被快速地供应以承担该被停止使用的服务器的任务。


结合此处所提供的附图的下面的具体实施方式
给出本发明的完整的说明。
图1描述了一个通用的计算平台结构,适用于本发明的实现。
图2示出了一个与图1的通用结构有关的软件和固件的通用体系结构。
图3图解了典型供应管理系统的组成部分和活动。
图4图解了根据本发明的伪克隆配置和部署过程的构件和活动。
图5列出了根据本发明的一个逻辑过程。
具体实施例方式
本发明的一个可用实施例是将本发明实现为针对诸如先前所揭示的系统的现存供应管理系统的软件和硬件构件的扩展或补充。本揭示为了说明目的利用先前所描述的IBM TPM系统,但是本领域技术人员将容易地认识到本发明可被用于多种计算环境。
最大公分母配置的确定本发明的方法的第一方面确定生产服务器的若干配置中的最大量的公共构件成分(common componentry)。例如,一个企业中的三个服务器类型,服务器1、服务器2和服务器N,如图4中所示的例子(41,42和43)。该例子中,所有三个服务器包括计算平台和操作系统,并且为了该例子,我们将假定它们三个全部使用相同的硬件平台和操作系统。然而,实际上,硬件平台细节(例如,处理器类型,RAM的量,盘空间,盘速度,通信带宽等等)以及操作系统(例如,包括修改版本和服务更新版本的操作系统种类和型号)是确定最大公分母的因素。
该企业(40)则由这三个服务器类别(41,42,43)组成,所有的服务器包括相同的硬件平台,操作系统和轻量目录访问协议(″LDAP″)服务器程序。因而,全部三个服务器的最大公分母是该构件组合。根据本发明,最适合于用作这三个系统的任何系统的准备用系统的伪克隆,例如″低优先级″伪克隆(49),被预配置(48)为仅包括这些构件。
因此,利用该伪克隆预配置(49),在特定目标服务器发生故障的情况下,只有下面的完成供应步骤(400)会是必要的(a)如果服务器1出故障,该伪克隆系统将被供应(400)以1.WebSphere应用服务器许可;2.DB2通用数据库许可;以及3.Netview许可;(b)如果服务器2出故障,该伪克隆系统将被供应(400)以
1.WebSphere应用服务器许可;2.Oracle 9i数据库许可;以及3.Netview许可;或者,(c)如果服务器N出故障,该伪克隆系统将被直接投入服务(400),因为其已经包含替代服务器N的功能的所有必要构件。
在这些情况的每个情况中,完成或最终供应(400)的工作量以及时间被降低,使得下面的步骤不必在故障之后执行(1)配置硬件平台;(2)安装操作系统、升级包以及服务包;(3)以及安装LDAP服务器程序。
通过将该伪克隆(49″)“预配置”为已经具有全部三个服务器的最大公分母构件成分,在三个服务器(41,42,43)中任何服务器出现故障时,其容许用最少的步骤、最少的时间以及最小的风险“完成”对特定服务器配置的配置(400)。
然而,如果目标资源池被简化为只有服务器1和2(41,42),则最大公分母将被确定为硬件平台和操作系统,LDAP服务器,加上Netview许可和WebSphere应用服务器套件。因而,具有服务器1和2(41,42)但不包含服务器N的池的″高优先级″伪克隆(49)可被定义和配置(48),其在故障转移或灾难恢复情况中将甚至更快地最终供应(400)以承担服务器1或服务器2的配置和任务。
因此,利用仅以服务器1和2作为目标的该更高等级的伪克隆(49′)预配置,在特定目标服务器出现故障的情况下,只有下面的完成或“结束”供应步骤(400)会是必要的(a)如果服务器1出故障,该伪克隆系统将被供应(400)以DB2数据库许可;或(b)如果服务器2出故障,该伪克隆系统将被供应(400)以Oracle9i数据库许可;在这些情况的每个情况中,供应工作量以及时间被降低,使得下面的步骤(48)不必继出现故障之后被执行(1)配置硬件平台;(2)安装操作系统、升级包以及服务包;(3)安装LDAP服务器程序;(4)安装Websphere应用服务器;以及(5)安装Netview程序。
通过将该高等级伪克隆″预配置″(48)为已经具有所有少量服务器(例如只有服务器1和2而没有N)的最大公分母构件成分,其容许在目标服务器(41,42)中的任何服务器出现故障时用最少的步骤、最少的时间以及最小的风险更快地对特定服务器配置″结束″配置。然而,如果服务器N出故障,重新配置伪克隆以执行服务器N的功能会是次最优的(例如,某些构件不得不被取消供应或卸载)。
当然,其它等级的预配置服务器(49″)是可能的,这取决于部署在该生产环境中的配置选项和配置的数量。
例如,图4中,如果我们如下分配变量给服务器构件A=操作系统″XYZ″,修改版本XXB=计算平台″LMNOP″C=LDAP服务器程序或许可D=WebSphere应用服务器程序或许可E=Oracle 9i数据库应用程序或许可F=DB2通用数据库应用程序或许可G=Netview应用程序或许可则,用布尔项表示每个服务器的配置,其中″*″表示逻辑″与″,而″+″表示逻辑″或″SVR(1)=A*B*C*D*F*GSVR(2)=A*B*C*D*E*G;以及SVR(N)=A*B*C在该表示中,适于作为所有三个服务器1,2和N的快速替换的第一等级伪克隆将具有最大公分母配置
PS-CLONE(1+2+N)=A*B*C只针对服务器1和2,而不针对服务器N的更高等级的另一个伪克隆将具有配置PS-CLONE(1+2)=A*B*C*D*G图4的例子相对简单,仅有三个不同的服务器配置,以及七个不同的构件选项。因而,可能误使假定实际对于这样的系统可几乎确定最大公分母,而实际上,为了确定最大公分母伪克隆预配置所必须考虑的配置选择或特性的数量是非常大且非常复杂的,包括但不限于下面的选项(1)硬件平台,包括存储器量,盘容量及速度,通信带宽及类型,以及任何专用硬件(例如,视频处理器,音频处理器等等);(2)操作系统种类及型号(例如,IBM AIX[TM],MicrosoftWindows XP Professional[TM],Unix,Linux,等等),包括任何可用修改版本,更新版本及服务包;(3)应用程序及套件,包括但不限于web服务器,web资源处理器(例如,流视频服务器,Macromedia FLASH服务器,加密服务器,信用卡处理客户端等等),数据库程序,以及任何专用程序(例如,程序,Java Bean,servlet等等),包括每个的修改版本;以及(4)每个应用程序所需的任何中间件或驱动程序。
为此,本发明可以针对简单应用及企业配置采用相对简单的逻辑,或可采用基于公理集合论的本体论处理,例如采用欧几里得算法,扩展欧几里得算法,或Ferguson-Forcade算法的变形的处理,其被用来寻找其中每个服务器配置被视为构件集的最大公分母。本领域技术人员明白,可采用其他逻辑处理来寻找给定集的公共集及子集。
利用服务器日志来预测配置需求根据本发明的一个增强实施例,从各种服务器收集服务器日志(45)以用于确定哪些构件可能出故障,以及出故障的预期时间。硬件并且甚至软件构件均具有故障率,平均无故障时间等等,其可以成为确定哪些伪克隆预配置将支持哪些生产服务器子集,以及哪些生产服务器可能最早出故障的分析所考虑的因素,使得那些具有较高故障率的生产服务器的更多伪克隆可针对故障被预配置并及时准备好。
根据本发明另一增强实施例,出现故障的预期时间和预期故障率被用于伪克隆配置以确定将来每个伪克隆应实际建立和准备好的时间。
如在图4的上述例子中那样,利用每个构件的第一次故障预期时间EFF的PS-CLONE(1+2+N)可靠性预测可计算为EFF-PS(1+2+N)=(EFF-A+EFF-B+EFF-C+EFF-D+EFF-E+EFF-G)的最早时间其中EFF-X是构件X的第一次故障的单独预期时间。
在PS-CLONE(1+2+N)的构件中的任何构件的最早故障预期时间EFF-PS(1+2+N)可在伪克隆池中配置并准备好伪克隆系统。否则,到该时间时,将被该伪克隆消耗的资源可能用于其他目的。
还应该注意到,不同于为伪克隆的预配置确定最大公分母,评估具有不同构件的服务器组的第一次故障的最早时间的逻辑处理必须包括构件的全部(例如,最大超集),这些构件存在于任何目标服务器中,不仅仅是公共构件或伪克隆构件。这是因为在目标服务器中的构件出故障时,甚至当该构件是在完成步骤(400)中将被配置到伪克隆中的构件时,可能需要伪克隆。
将伪克隆集成到供应管理器系统利用供应管理系统的扩展,利用故障转移工作流程定义将备份客户端与每个服务器集成起来。这建立了具有为每个服务器建立伪克隆的指定的备用服务器的故障转移池,其中每个伪克隆适合于多个目标生产服务器。
当故障转移情况发生时,使用故障转移工作流程供应过程,其为管理员提供了更多的管理能力,减少了先前所需要的人工步骤。然后出故障的服务器被停止在生产池中使用,并为进一步的修理或恢复而返回到维护方式。IT管理员具有必要时经常配置备份,以及通过利用组织所定义的监视工作流程来监视每个解决方案的能力。因此,来自生产服务器的备份被存储在备份(或伪克隆)服务器池中。
根据本发明的一个可用实施例的一个方面,结合映像技术、盘分区、引导控制以及驱动应用程序和使能自动化能力的备份的自动化逻辑,采用基于每个所供应的服务器的作用而使应用程序的卸载或安装自动化的能力。
本发明的逻辑过程转到图5,示出了关于建立伪克隆系统的本发明的逻辑过程的高层表示,包括如前所述的一些可选的或增强的方面。
基于来自服务器日志的数据(53),为每个将被克隆的生产服务器建立初始服务器活动及历史记录(51)。基于服务器日志及新需求信息,本发明可选地继续监视任何服务器或需求变化(53)。如果没有变化(54),则监视继续。如果发生变化,或在初始伪克隆预配置时,本发明检查从诸如供应管理器文件(55)及其他历史计量数据(56)的源处收集的全部信息。
做出有关诸如需要、优先等级和可用资源的每个系统构件的因素的预测。然后计算最大公分母构件成分(58),并确定适当的预配置和结束配置工作流程(59)。
为调度伪克隆的实现,这些用于伪克隆(500)的预配置和结束配置(30)的工作流程被输出给供应管理系统(30)。
可选地,为了改进预测及期望,以及伪克隆可用性,象真实事件发生那样随时间对目标服务器的活动进行跟踪(53)并且更新统计数据(56)。
本发明的增强实施例及应用存在本发明的增强及可选实施例的许多方面,包括通过本发明某些方面实现的大量业务处理。
系统升级及补丁安装根据一个可用实施例中的一个选项的一方面,本发明可在系统升级或补丁安装期间用于受控故障转移。在这种情况中,管理员将在那些活动开始之前计划何时生产服务器将被升级或修补,以及何时将实现伪克隆。然后,为使不能工作的目标系统发生适当的转换,管理员可启动目标系统的模拟故障,其将导致供应管理系统将伪克隆投入联机来代替目标系统。
被感染的及被隔离的系统根据本发明的另一个方面,被诊断为感染病毒或其他恶意代码的系统也可以被隔离,其实际上在供应管理系统看来是系统故障,并且其将导致伪克隆系统最终被配置并被投入联机。
子许可系统根据本发明的一个增强实施例的另一方面,随着对子许可配置需求特别关注,伪克隆可被建立,包括实现那些伪克隆的工作流程。在该实施例中,不仅整个伪克隆服务器以某个方式进行配置以与一组目标服务器的最大构件公分母匹配,而且根据任何目标服务器的任何子许可限制在子服务器层次执行公分母分析(58)。例如,如果三个目标服务器之一被子许可为只容许数据库应用程序在服务器之一中的4个处理器的3个上运行,但所有其他目标服务器需要数据库应用程序在所有可用处理器上运行,则所有目标服务器的最大公分母将为数据库应用程序的3个处理器的子许可,并且因此伪克隆将被部分地配置(48)为仅包括3处理器数据库许可。如果该伪克隆之后将被完成供应(400)以替代全许可服务器之一,则对该伪克隆的许可将因此随着一组完成供应而被升级。
超级许可系统在本发明的子许可方面的一个变化中,当建立以在组层次许可的约束下的一个或多个服务器为目标的伪克隆时,可考虑许可约束。代替子许可地,这可被看作″超级许可″,其中在构件的多少拷贝可被同时执行方面约束一组服务器。在这样的情况下,伪克隆配置工作流程可选地或者从伪克隆配置中省略超级许可的构件,或者将超级许可构件标记为特殊考虑,以便在完成供应期间恰好在最后确定的替换服务器联机之前取消供应。
在第一个可选过程中,本发明确定(58)最大公分母构件集的构件是否服从任何目标服务器上的超级许可约束。如果是这样的话,其不包括在用于建立(48)伪克隆的伪克隆工作流程内,并且因此当恰好在将替换服务器投入联机之前能够验证超级许可期限时,该超级许可构件被留下以用于完成供应(400)期间的安装或配置。
在第二可选过程中,如同第一可选过程中那样执行相同的超级许可分析(400),但该超级许可构件被配置(48)到伪克隆中(而不是被省略)。然而,该超级许可构件被标记为以后在完成供应期间考虑的超级许可构件。在完成供应(400)期间,工作流程被定义为检查超级许可的限期及许可构件的使用的实时状态,并且如果其余联机服务器已满足或超出许可有效期,完成工作流程在将替换服务器投入联机之前取消供应该超级许可构件。
高可用性预测根据本发明的一个增强实施例的另一个方面,故障预测器(57)不仅应用于目标计算系统的构件,而且还应用于(501)伪克隆本身的构件。通过分析由最大公分母(58)配置所定义的伪克隆本身的故障率,可定义(59)用于实现伪克隆及完成供应的工作流程,其产生(60)一个可能不会出故障的备用服务器,其作为备用服务器而被依赖(例如,备用服务器将具有等于或大于其所保护的服务器的故障预期时间的故障预期时间)。
按高可用性特性分组服务器某些平台适合于″高可用性″操作,比如每日24小时,每周7天,每年365天的操作。例如,这些平台一般运行诸如IBM的z/OS的操作系统,其特别地为不用重新引导或重新启动操作系统的长期操作而设计。低可用性平台可运行其他的操作系统,其不仔细管理其资源,而且不自动执行长期维护活动,因而它们在重新引导或重新启动之间运行日,周或年的部分时间。
根据本发明的另一个可选增强方面,故障预测器(57)被配置为对目标服务器组中的每个服务器执行故障预测分析,并且按照其可用性等级确定其特征,使得伪克隆的最大公分母可被确定以达到目标服务器的子组的可用性目标。常常地,这将某种程度上随着本发明自动地发生,因为服务器的可用性等级往往与服务器的操作系统有关系,并且在一个必须配置的服务器,甚至伪克隆中,操作系统一般是一个″必有″构件。例如,考虑一个具有五个服务器的目标组,其中3个服务器是运行IBM的z/OS的高可用性服务器,而2个服务器是运行另一个可靠性较低的操作系统的中可用性服务器。最大公分母不会包括操作系统,并且因此非运行的伪克隆将在没有操作系统的情况被配置,因此要求按照操作系统产品线将该5个服务器分组成两个组。
但是,在服务器的其他配置中,这样的关键构件可以是共有的,但其他非关键构件可决定平台是否是高、中或低可用性的。在这些情况中,本发明的增强实施例将是有用的。
恢复时间目标支持计算平台提供商/运营商和客户之间的许多服务等级协定中所指定的要求之一是从故障恢复的时间目标(例如,最短的停机时间或最长修复时间等等)。在这样的商业情况中,期望预测最后确定伪克隆的配置并将其投入服务所需的时间。根据本发明的一个可选实施例的另一个方面,本发明的逻辑过程分析了每一步骤(例如,安装步骤、配置步骤、启动时间等等)的工作流程和时间估计,并确定伪克隆是否可在给定实现时间或恢复时间内针对每个目标服务器完成供应(502,503)。如果不是,则向管理员通知(504)不能建立最大公分母(例如,最接近可用的伪克隆),其可在所需的量的恢复时间内被最后确定。作为响应,管理员可以与客户协商要求的变更,或者重新定义目标服务器组以在每组中具有更高程度的共性,从而最小化完成供应时间。
在该分析中,可使用每个供应步骤的时间估计,或可使用在先前实际系统配置活动期间所收集的每一步骤的实际测量时间值。可选地,可执行″消防演习″的练习来收集实际配置时间,其中在该时间期间预先配置伪克隆,模拟目标系统的故障,并从伪克隆完成供应替换系统,仿佛其将要被投入服务一样。在消防演习期间,每一配置步骤可被测量出需要多长时间完成该步骤,然后这些时间可被用于每个伪克隆和每个完成工作流程的预期恢复时间特征的后续分析中。
一般计算平台本发明优选地实现为对出现在诸如个人计算机、网络服务器及浏览器,尤其诸如那些已经讨论过的供应管理和随需应变计算系统的众所周知的计算平台上的已知软件的扩展或补充。
这些公共计算平台可包括个人计算机和企业级服务器,还可能包括便携式计算平台,例如个人数字助理(″PDA″),支持web的无线电话,及其它类型的个人信息管理(″PIM″)设备。
因此,观察一个计算平台的一般化结构是有用的,该计算平台可覆盖实现的范围,从高端web或企业服务器平台到个人计算机,到便携式PDA或支持web的无线电话。
转到图1,提供了包括中央处理单元(1)(″CPU″)的一般化结构,其典型地由与随机存取存储器(″RAM″)(4)和只读存储器(″ROM″)(5)相联系的微处理器组成。经常地,CPU(1)还具有超高速缓冲存储器(3)和可编程快擦写ROM(6)。微处理器(2)和各种类型CPU存储器之间的接口(7)常被称为“本地总线”,但也可能是更一般的或工业标准总线。
许多计算平台还具有一个或多个存储驱动器(9),例如硬盘驱动器(″HDD″),软盘驱动器,光盘驱动器(CD,CD-R,CD-RW,DVD,DVD-R,等等),以及专用的磁盘和磁带驱动器(例如,Iomega Zip[TM]和Jaz[TM],Addonics SuperDisk[TM],等等)。此外一些存储驱动器可通过计算机网络访问。
根据计算平台的预定功能,许多计算平台具备一个或多个通信接口(10)。例如,个人计算机常具有高速串行端口(RS-232,RS-422,等),增强并行端口(″EPP″),以及一个或多个通用串行总线(″USB″)端口。计算平台还可具备局域网(″LAN″)接口,例如以太网卡,及其他诸如高性能串行总线IEEE-1394的高速接口。
诸如无线电话和无线网络PDA的计算平台也可具备带有天线的射频(″RF″)接口。有时,计算平台也可具备红外线数据布局(IrDA)接口。
计算平台经常配备有一个或多个内部扩展槽(11),诸如,工业标准结构(″ISA″),扩展工业标准结构(″EISA″),外围部件互连(″PCI″),或专用的用于附加其他硬件,诸如声卡,存储器板,和图形加速器的接口槽。
此外,诸如便携式计算机和个人数字助理的许多单元具备一个或多个外部扩充插槽(12),其容许用户能够容易地安装和移去硬件扩展设备,例如PCMCIA卡,SmartMedia卡,以及诸如移动硬盘、CD驱动器和软盘驱动器的各种专用模块。
经常地,存储驱动器(9)、通信接口(10)、内部扩展槽(11)和外部扩充插槽(12)经由标准或工业开放总线结构(8),例如ISA、EISA、或PCI与CPU(1)互连。多数情况下,该总线(8)可具有专用的设计。
计算平台通常具有一个或多个用户输入装置,例如键盘或小键盘(16),和鼠标器或指针设备(17),及/或屏幕显示(18)。就个人计算机而言,常提供全尺寸键盘以及鼠标器或指针设备,例如跟踪球或TrackPoint[TM]。就一种支持web的无线电话而言,一种简单的小键盘可具有一个或多个功能特定的键。就PDA而言,通常提供触摸屏(18),其常具有手写体识别能力。
此外,麦克风(19),例如支持web的无线电话的麦克风或个人计算机的麦克风,由计算平台提供。该麦克风可用于简单地报告音频和语音信号,并且利用声音识别能力,其还可用于输入用户选择,例如网站的语音导航或自动拨打电话号。
许多计算平台还装有照相机设备(100),例如静止图像数字照相机或全运动视频数字摄象机。
大多数计算平台具有一个或多个用户输出装置,例如显示器(13)。显示器(13)可采用许多形式,包括阴极射线管(″CRT″),薄膜晶体管(″TFT″)阵列,或发光二极管(″LED″)的简单集合或液晶显示器(″LCD″)指示器。
一个或多个扬声器(14)及/或信号器(15)也经常与计算平台相联。扬声器(14)可被用来再现音频和音乐,例如无线电话的扬声器或个人计算机的扬声器。信号器(15)可采用简单高频笛音发射器或蜂鸣器的形式,通常在某些设备,例如PDA和PIM上出现。
这些用户输入输出装置可经由专用的总线结构及/或接口直接互连(8′,8″)到CPU(1),或者通过诸如ISA、EISA、PCI等的一个或多个工业开放总线互连。计算平台还具有一个或多个软件和固件(101)程序来实现计算平台所期望的功能。
现在转到图2,给出了在该范围的计算平台上软件和固件(101)的一般化结构的更多细节。可在计算平台上提供一个或多个操作系统(″OS″)本地应用程序(23),例如文字处理软件、电子数据表、联系管理实用程序、通讯录、日历、电子邮件客户程序、演示软件、财务和簿记程序。
此外,可提供一个或多个″便携式″或设备无关程序(24),其必须由OS本地平台专用解释器(25),例如Java[TM]脚本和程序来解释。
计算平台还经常拥有一种形式的web浏览器或微浏览器(26),其还可包括一个或多个对浏览器的扩展,例如浏览器插件(27)。
计算装置常拥有一个操作系统(20),例如Microsoft Windows[TM]、UNIX、IBM OS/2[TM]、LINUX、MAC OS[TM]或其他平台专用操作系统。诸如PDA和无线电话的较小的设备可安装有其他形式操作系统,例如实时操作系统(″RTOS″)或掌上计算PalmOS[TM]。
常提供一组基本输入与输出功能(″BIOS″)和硬件设备驱动程序(21)来容许操作系统(20)和程序接口并控制由计算平台提供的特定硬件功能。
此外,许多计算平台通常提供一个或多个嵌入式固件程序(22),其由作为外部设备的一部分的板上或″嵌入″微处理器来执行,例如微控制器或硬盘驱动器、通信处理器、网络接口卡、或声音或图形卡。
因而,图1和2在一般意义上描述了计算平台的各种不同的硬件元件、软件和固件程序。本领域技术人员很容易地认识到在没有背离本发明的精神和范围的情况下,下面的方法和过程可选地部分或全部地实现为硬件功能。
结论为促进本发明的理解,描述并图解了若干示例性实施例以及实施例的可选方面。本领域技术人员将认识到,这些例子不代表本发明的范围,在没有背离本发明的精神的情况下可产生某些可选的实施例细节。例如,在一些实施例中,为实现替换服务器的伪克隆或完成供应,图像服务器可被用于一些或所有工作流程执行。因此,本发明的范围应该由下面的权利要求来确定。
权利要求
1.一种用于提供多个目标计算系统配置的准克隆的方法,包括步骤评价一组目标计算系统的每个的构件成分以确定所述组的目标计算系统中的最大公分母构件集;产生具有所述最大公分母构件集的伪克隆配置定义;以及将所述伪克隆配置定义输出给供应管理系统,以用于随后伪克隆备份计算系统的实现。
2.根据权利要求1的方法,进一步地包括通过根据所述伪克隆配置定义配置计算系统来实现伪克隆备份计算系统的步骤。
3.根据权利要求2的方法,进一步地包括步骤确定所述伪克隆配置定义和所述计算系统组中目标计算系统的实际构件成分配置之间的差异配置;通过根据所述差异配置进一步地配置所述伪克隆备份计算系统来实现替换计算系统;以及将计算任务从所述目标计算系统转移到所述替换计算系统,从而减轻所述目标计算系统的计算任务。
4.根据权利要求3的方法,其中响应从包含以下事件的组中选择的事件来执行所述确定差异配置、实现替换计算系统以及转移计算任务的步骤所述目标计算系统的故障,所述目标计算系统的按计划的停用,以及对所述目标计算系统的隔离活动。
5.根据权利要求2的方法,进一步地包括步骤在执行所述实现伪克隆备份计算系统的步骤之前,对所述目标计算系统的所述构件成分执行故障预测分析,以确定第一次故障的预期时间;以及将所述实现所述伪克隆备份计算系统的步骤延迟至被投入服务的目标计算系统的最早时间开始的一个时间,该时间接近所述第一次故障的时间。
6.根据权利要求5的方法,进一步地包括步骤监视所述目标计算系统的所述构件成分的实际故障率;维护所述故障的历史记录;以及修改所述故障分析以将所述第一次故障预期时间校正为接近所述实际故障率,使得所述延迟步骤更接近地代表所述构件成分的历史故障特性。
7.根据权利要求5的方法,其中所述执行故障预测分析的步骤包括根据所述目标服务器的高可用性、低停机时间特性将所述目标服务器分组为子组,并且包括对每组具有类似特性的目标服务器执行故障预测分析。
8.根据权利要求2的方法,进一步地包括步骤在执行所述产生伪克隆配置定义的步骤之前,对所述伪克隆配置的所述构件成分执行故障分析,以确定一潜在伪克隆系统的第一次故障的预期时间;以及如果所述第一次故障的预期时间小于作为备用服务器的伪克隆的目标操作持续时间,则修正所述伪克隆配置。
9.根据权利要求1的方法,进一步地包括步骤确定一个或多个子集的目标计算系统,其比所述组的所有目标计算系统的所述最大公分母构件集具有更高程度的构件成分共同性;针对所述子集产生具有最大公分母构件集的一个或多个更高优先级伪克隆配置定义;以及将所述更高优先级伪克隆配置定义输出给供应管理系统,以用于随后一个或多个伪克隆备份计算系统的实现。
10.根据权利要求3的方法,其中所述评价每组目标计算系统的构件成分的步骤进一步地包括评价所述构件成分的子许可条件,其中所述产生伪克隆配置定义的步骤包括省略不在所有所述目标计算系统上共享的非许可构件,以及其中所述确定差异配置的步骤包括确定所述伪克隆中是否有任何子许可构件将被升级到更高级子许可或全许可。
11.根据权利要求3的方法,其中所述评价每组目标计算系统的构件成分的步骤进一步地包括评价所述构件成分的超级许可条件,其中所述产生伪克隆配置定义的步骤包括省略在任何目标计算系统上得到超级许可的构件,以及其中所述确定差异配置的步骤包括根据超级许可约束确定所述目标计算系统中任何超级许可的构件是否要在所述替换计算系统中实现。
12.根据权利要求3的方法,其中所述评价每组目标计算系统的构件成分的步骤进一步地包括评价所述构件成分的超级许可条件,其中所述产生伪克隆配置定义的步骤包括包含和指示在任何目标计算系统上得到超级许可的构件,以及其中所述确定差异配置的步骤包括根据超级许可约束确定所述伪克隆系统中的任何超级许可的构件是否将被取消供应。
13.根据权利要求3的方法,进一步地包括在所述实现替换计算系统的步骤之前,执行所述差异配置所需的步骤的分析以确定根据伪克隆定义及差异配置实现替换计算系统的预期时间;将所述实现替换计算系统的预期时间与目标实现时间值比较;以及响应于所述预期时间超过所述目标实现时间,向管理员报告所述超过目标。
14.根据权利要求13的方法,其中所述差异配置所需的步骤的所述分析包括采用在一个或多个先前实际系统的配置和供应期间所测量的工作流程步骤时间。
15.根据权利要求14的方法,其中所述工作流程步骤时间是在一个或多个实际恢复操作期间收集的,该操作中实现实际的伪克隆,模拟故障,并且根据所述差异配置重新配置所述伪克隆。
16.一种编码有用于提供多个目标计算系统配置的准克隆的软件的计算机可读介质,当由计算机执行时,所述软件执行包括以下的步骤评价一组目标计算系统的每个的构件成分以确定所述组的目标计算系统中的最大公分母构件集;产生具有所述最大公分母构件集的伪克隆配置定义;以及将所述伪克隆配置定义输出给供应管理系统,以用于随后伪克隆备份计算系统的实现。
17.一种用于提供多个目标计算系统配置的准克隆的系统,包括构件成分共同性分析器,其被配置为评价一组目标计算系统的每个的构件成分以确定所述组的目标计算系统中的最大公分母构件集;配置产生器,其适于产生具有所述最大公分母构件集的伪克隆配置定义;以及用于将所述伪克隆配置定义输出给供应管理系统,以用于随后伪克隆备份计算系统的实现的输出装置。
全文摘要
通过确定计算系统间最大公分母构件集,产生伪克隆配置定义,以及实现部分配置为目标计算系统的备份的一个或多个伪克隆计算系统来提供一个目标计算系统集的准克隆。当发生计划的故障转移、实际的故障、或对目标计算系统的隔离活动时,确定差异配置以完成伪克隆系统的供应以作为故障或被隔离系统的替换系统。故障预测可被用来恰好在任何目标系统的预期第一次故障之前实现伪克隆。按照需要,该系统还可以接口到一个随需应变供应管理系统,以使自动化工作流程自动地实现伪克隆和替换系统。
文档编号G06F11/00GK1821969SQ20061000902
公开日2006年8月23日 申请日期2006年2月16日 优先权日2005年2月17日
发明者劳林·E·乌尔曼, 维杰伊·K·阿加沃尔, 普图考德·G·拉马昌德拉, 克里斯多夫·A·皮特斯, 克莱格·M·劳顿, 约翰·P·怀特菲尔德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1