首页> 中国专利> 在计算网格中动态建立应用环境的系统和方法

在计算网格中动态建立应用环境的系统和方法

摘要

在网格计算系统中动态地建立计算环境以响应来自网格资源分配器的特定作业资源要求,包括启动所需的硬件,提供操作系统、应用程序以及软件驱动器。优选地,在为特定作业建立计算环境之前,执行成本/收入分析,并且如果通过建立环境和执行作业不能满足运行目标,则启动作业结束过程。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-03-04

    授权

    授权

  • 2007-06-13

    实质审查的生效

    实质审查的生效

  • 2007-04-25

    公开

    公开

说明书

技术领域

本发明涉及基于网格的计算的领域。具体地说,本发明涉及在网格计算环境中管理和分配资源。

背景技术

在上世纪90年代,大范围系统之间的通信标准化推进了互联网的飞速发展。基于资源共享的理念,最新发展的技术是网格计算。

网格计算是使用一系列系统和资源来提供优质服务的新兴技术。通过创建虚拟自管理计算机,所述技术最多是分布式计算,并且其过程由一系列共享不同资源组合的互连异类系统来处理。简言之,网格计算用于使计算机共同工作并且允许企业或者网格参与者优化可用资源。

网格计算的框架是存在于多个管理域中的大规模资源共享,通常涉及通过通信介质连接在一起并有组织地同时执行一个或多个请求作业的高度并行化的应用。每个网格资源的特征可以包括但不限于处理速度、存储能力、许可证权限以及可用应用的类型。

在开放式网格服务架构(“OGSA”)中定义了网格计算的架构,所述架构包括基础规范开放式网格服务基础设施(“OGSI”)。

使用网格计算来处理各种大小的计算作业(特别是企业过程之类的大型作业)有很多好处。首先,它利用了网格上未充分利用的资源。例如,如果金融服务公司在30分钟期间内突然遇到股票交易事务50%的增长,则使用传统的系统处理,该公司由于其有限或固定的计算和通信资源,将面临网络通信量、潜在响应和完成时间的增长,以及处理瓶颈甚至资源过载。

但是,在类似的情况下,网格计算可以动态调整以满足变化的业务需要,并且可以使用其未使用的资源的网络来立即响应股票事务增长。例如,网格计算系统可以在四台未充分使用的计算机上运行现有的股票交易应用来处理事务,并且可以以四倍于传统计算架构的速度传输结果。因此,网格计算提供了资源利用的更佳平衡并启用了大规模并行CPU能力的潜能。

其次,由于其标准,网格计算允许并简化了来自各种供应商和运营商的许多资源和组织之间的协作。例如,借助于由各种计算机类型、操作系统以及编程语言来处理作业,基因组研究公司可以使用网格计算来处理、净化、交叉制表和对比大量的数据。通过允许文件或数据库跨越多个系统,可以使用带来更快处理的条带技术提高数据传输率,为公司在市场中提供竞争优势。

第三,网格计算提供了扩展到附加设备、软件、服务、许可证和其他方面的共享能力。这些虚拟资源提供了不同种类网格参与者之间的统一的互操作性。每个网格资源可以具有特定特征、功能和限制。例如,特定的数据挖掘作业可以在DB2服务器上运行,但是可能不兼容在Oracle服务器上运行。所以,网格计算架构选择能够处理每个特定作业的资源。

国际商业机器公司(“IBM”)在网格计算系统的定义和实现方面处于领先地位。根据IBM架构,服务级别协议(“SLA”)是指定一组客户端驱动准则的契约,所述准则为网格处理的计算作业控制可接受的执行参数。SLA参数可以包括诸如执行和响应时间、结果准确性、作业成本以及存储和网络要求之类的度量。通常,在完成作业之后,将执行经常是手动的异步处理来比较实际完成。换句话说,公司使用SLA来确保所有财务细节(如已发生的成本和获得的贷款)与代理的协议一致。提交客户端与网格服务提供商之间的关系是买家(客户端)与卖家(网格供应商)的关系。

为了使网格和按需计算变得成功,需要发生网格相关的处理的最大自动化。由于网格计算是相对新的和刚出现的技术这一事实,许多处理尚需考虑进行自动化,并且因此需要低效的手动交互。

IBM的网格计算架构提供了自动和高效的机制来分配和启用在网格或按需计算系统中执行作业所需的特定硬件和软件环境,以便动态地响应接收到新的作业。但是,某些时候根据网格内的作业负荷和作业要求,可能没有足够可用的资源来处理新近提交的作业。不可用性可能是由于能够处理该作业的硬件和软件已被分配给其他作业,或者是当前在网格中没有以可以处理该作业的方式配置硬件和软件,或者是这两种原因的组合。

因此,本领域中需要一种机制,如果当前活动并可用的网格硬件不包含入站网格作业所需的一个或多个软件环境,则所述机制以自动的方式建立所需的软件环境。所涉及的软件可以包括基础操作系统、特定的设备驱动器、应用软件以及其他组件。根据本领域中的需要,建立适当的软件环境可以包括在新的硬件上完整建立新的软件环境、建立一组补充节点以与其他现有节点集成以便完成所需的环境,或只是在现有活动节点上建立所需的应用。

发明内容

通过使用本发明,计算网格可以提供更加先进的资源加载平衡。相对空闲的机器可以接收意外的高峰作业,或者如果网格被完全使用,则分配优先级来更好地执行多个所请求的作业。通过使用动态应用环境建立器(“DAEB”)结合网格管理系统(“GMS”)调度器(如IBM GMS),计算网格可以为代理资源提供卓越的基础结构。

一般来说,随着作业流入计算网格以便执行,自动且高效的机制为作业执行分配并启用所需的特定硬件和软件环境。此外,如果当前活动网格硬件没有包含入站网格作业所需的一个或多个软件环境,则本发明的过程以自动的方式建立所需的软件环境。建立所需并提供的软件资源可以包括基本操作系统、一个或多个特定设备驱动器、一个或多个应用软件程序以及其他组件。

建立适当的软件环境可以包括在新的硬件上完成建立新的软件环境、建立与其他现有节点集成的节点的补充集以便完成所需的环境,或只是在现有活动节点上建立所需的应用。

从第一方面来看,本发明提供了一种用于在网格计算环境中动态地建立计算环境的逻辑设备,所述逻辑设备包括:输入部分,所述输入部分用于从网格资源分配器接收一组作业环境要求,所述作业环境要求指示在网格计算环境中执行作业所需的一个或多个参数,所述参数包括从操作系统、应用程序以及软件驱动器的组中选择的一个或多个准则;目录查询器,所述目录查询器用于访问网格目录和存储子系统以判定一个或多个当前未配置到作业计算环境中的所需资源是否可用,所述目录包含一个或多个可用的操作系统的安装映像、应用程序的安装程序以及软件驱动器的安装程序的索引;环境建立器,所述环境建立器配置为在所述网格计算环境中选择适合的可用硬件平台、从所述目录接收一个或多个索引,以及在所述硬件平台上执行一个或多个软件安装操作以便创建与所述作业环境要求匹配的计算环境。

优选地,本发明提供了一种逻辑设备,所述逻辑设备还包括建立情况评估器,所述评估器配置为判定所需的计算环境是否满足特定的运行目标和规则,并且如果不满足,配置为阻止所述环境建立器建立所述计算环境。

优选地,本发明提供了一种逻辑设备,其中所述评估器配置为评估资源启动费用、计算建立计算环境引起的总费用,以及将所述总费用与收入目标相比较。

优选地,本发明提供了一种逻辑设备,其中所述评估器配置为评估从启动硬件资源的费用、硬件维护成本以及许可证费用的组中选择的资源启动费用。

优选地,本发明提供了一种逻辑设备,其中所述评估器还配置为启动作业结束(sell-off)过程以响应判定所述总费用与所述收入目标的比较不满足预定的目标。

优选地,本发明提供了一种逻辑设备,其中所述目录还包括包含操作系统和一个或多个应用程序的捆绑包的组合安装映像。

优选地,本发明提供了一种逻辑设备,其中所述参数还包括操作系统的维护级别要求。

优选地,本发明包括一种逻辑设备,其中所述参数还包括操作系统的更新级别要求。

从第二方面来看,本发明提供了一种用于在网格计算环境中动态地建立计算环境的方法,所述方法包括下列步骤:从网格资源分配器接收一组作业环境要求,所述作业环境要求指示在网格计算环境中执行作业所需的一个或多个参数,所述参数包括从操作系统、应用程序以及软件驱动器的组中选择的一个或多个准则;访问网格目录和存储子系统以判定一个或多个当前未配置到作业计算环境中的所需资源是否可用,所述目录包含一个或多个可用的操作系统的安装映像、应用程序的安装程序以及软件驱动器的安装程序的索引;在所述网格计算环境中选择适合的可用硬件平台;从所述网格目录接收一个或多个索引;以及在所述选定硬件平台上执行一个或多个软件安装操作以便创建与所述作业环境要求匹配的计算环境。

优选地,本发明提供了一种方法,所述方法还包括判定所需的计算环境是否满足特定的运行目标和规则,并且如果不满足,阻止所述安装操作。

优选地,本发明提供了一种方法,其中所述判定所需的计算环境是否满足运行目标和规则的步骤还包括:评估资源启动费用、计算建立计算环境引起的总费用,以及将所述总费用与收入目标相比较。

优选地,本发明提供了一种方法,其中所述评估资源启动费用的步骤包括评估从启动硬件资源的费用、硬件维护成本以及许可证费用的组中选择的资源启动费用。

优选地,本发明提供了一种方法,还包括启动作业结束过程以响应判定所述总费用与所述收入目标的比较不满足预定的目标。

优选地,本发明提供了一种方法,其中所述从所述网格目录接收一个或多个索引的步骤包括接收至少一个对包含操作系统和一个或多个应用程序的捆绑包的组合安装映像的索引。

优选地,本发明提供了一种方法,其中所述接收一组作业环境要求的步骤包括接收操作系统维护级别要求参数。

优选地,本发明提供了一种方法,其中所述接收一组作业环境要求的步骤包括接收操作系统更新级别要求参数。

从第三方面来看,本发明提供了可加载到数字计算机的内部存储器中的计算机程序产品,所述计算机程序产品包括软件代码部分,当所述产品在计算机上运行时,所述软件代码部分执行如以上所述的本发明。

附图说明

以下仅通过实例的方式参考附图详细说明了本发明的实施例,这些附图是:

图1提供了本发明与网格计算环境的诸过程之间的网格内关系的高级示意图;

图2示出了本发明的逻辑过程;

图3提供了通常如何实现网格计算功能的细节;

图4示出了用于选择网格资源的功能;

图5示出了通常网格计算的高级视图;

图6提供了根据一个可用实施例的适合实现本发明的一般计算平台的图示;以及

图7提供了图6的平台的软件组织的更多细节。

具体实施方式

优选地结合网格计算架构来实现本发明。因此,在提供本发明的细节之前,首先建立网格计算概念的某些定义并说明其某些概述是有用的。

网格计算的基本原理

本公开中将使用以下定义:

(a)“网格”指计算资源的集合,所述计算资源如服务器、处理器、存储系统以及通信介质,范围从几台机器到组织为可能跨世界的层次的机器组;

(b)“作业”指客户端启动的要使用可用和选定资源来处理的期望的请求任务;

(c)“资源”指任何在网格中可用于完成作业的系统、硬件或软件模块,如应用程序、硬件、软件许可证、存储和相关组件;

(d)计算环境或简称“环境”指用于处理或执行作业的一组硬件和软件资源,如进程、存储器、盘空间、操作系统和一个或多个应用程序;以及

(e)“SLA”具体指IBM服务级别协议,更一般地指在网格上处理作业的客户端驱动的准则(包括但不限于处理准确性、结果格式、处理完成时间以及作业处理成本)的任何文档集。

如前所述,IBM在开放式网格计算的系统、架构、接口以及标准开发方面处于领先地位。由于网格计算在计算领域中相对较新,所以首先将提供网格计算概念和逻辑过程的概述。可以从IBM、若干其他网格提供商和开发商、不断增多的大学,以及诸如开放网格计算环境(“OGCE”)联盟之类的适当标准组织公开获得关于一般网格计算的其他信息。网格计算的以下说明使用了一般化的模型和术语,不但在基于IBM的网格环境中,而且在包括来自其他供应商的系统和组件的网格环境中,同样可以使用这些模型和术语来实现本发明。

转到图5,其中在较高级别示出了网格计算(50)的新的计算范例。客户端(53)(例如,使用客户端计算机的FBI分析者)请求通过网格执行计算作业或任务(嫌疑恐怖分子的跨机构列表)。该作业通过通信网络(51)被提交给网格管理系统(“GMS”),所述系统根据客户端作业准则(例如,响应时间、成本、准确性等)和资源特征(例如,服务器能力、资源可用性、存储容量以及成本)来选择要使用哪个(哪些)网格供应商(54)  。

一旦GMS确定了要向其分配作业(或在其间分发作业)的一个或多个特定供应商(38、39、300),就立即将请求发送到选定的网格资源,例如服务器1(38)。然后服务器1(38)将按照请求来处理作业并通过通信网络(51)将作业结果返回发出请求的客户端(53)。

图3提供了网格计算如何在较低级别工作的更详细的图示(30)。当客户端应用(31)将作业(32)提交给网格时,该作业(32)被接收到网格入站作业队列(33)中,在此所述作业等待被指派给一个或多个网格资源。

作业/网格调度器(“JGS”)(34)从入站作业队列(33)检索每个未决的作业,根据一个或多个SLA(305)来验证处理要求以确定作业的处理要求,然后选择分配哪个(哪些)服务器(28、29、300)来处理作业(32)。在此图示中,选择了服务器2(39),所以将作业(32)传输到服务器2的作业队列(36)以便当该服务器变得可用时进行处理(如果已有足够的处理带宽可用,则立即处理)。某些服务器可以以智能的方式处理它们的作业队列,允许作业具有优先级指定,使得所述作业能够比更早收到的较低优先级的作业更快或更早地被处理。

最终,指派的服务器完成作业并将结果(301)返回作业结果管理器(“JRM”)(302)。JRM可以验证作业完成并将结果(303)传送到客户端应用(31),并且可以根据需要生成作业完成记录(304)以便实现记帐和发票功能。

现在转到图4,其中示出了资源选择过程(40)的更多细节。每个网格资源(38、39、300)可以将其可用性或“空闲百分比”(41、42和43)实时报告给作业/网格调度器(34)。此外,静态、动态或者两者结合地汇集也可供JGS(34)使用的一组网格资源特性和能力(44)。某些服务器特性可以是静态的,例如硬件特性(如已安装的存储器、通信协议或许可证),而其他特性本质上可以更加动态,如可用于特定应用程序(如PDF生成器、视频压缩器等)的许可证数。此外,来自作业结果管理器(302)的完成统计(45)也优选地可用于JGS(34)。

通过考虑有关网格资源的这些因素结合SLA客户端要求,JGS可以选择一个或多个适当的向其指派每个作业的网格资源。例如,对于需要立即处理的高优先级作业,JGS可以选择立即可用并提供最大存储器和处理带宽的资源。对于另一个成本敏感但不是时间关键的作业,JGS可以选择最廉价的资源且无需关心处理该资源的队列的当前深度。

适合实现本发明的计算平台

在一个可用实施例中,本发明被实现为软件产品(如IBM的网格计算产品)的功能或附加物,以便由公知的计算平台(如个人计算机、Web服务器以及Web浏览器)来执行。

随着便携和手持设备(例如,个人数字助理(“PDA”)、联网无线电话以及其他类型的个人信息管理(“PIM”)设备)的计算能力、存储器和存储以及通信功能的稳定持续发展,也可以在用于这些设备的软件中实现本发明。

因此,回顾跨实现范围从高端Web或企业服务器平台到个人计算机、便携PDA或联网无线电话的计算平台的通用架构是有用的。

转到图6,其中提供了通用架构,所述通用架构包括中央处理单元(71)(“CPU”),其通常包括与随机存取存储器(“RAM”)(74)和只读存储器(“ROM”)(75)关联的微处理器(72)。通常,CPU(71)还具备高速缓冲存储器(73)和可编程闪速只读存储器(76)。微处理器(72)与不同类型的CPU存储器之间的接口(77)通常称为“局部总线”,但也可以是更通用的或工业标准总线。

许多计算平台还具备一个或多个存储驱动器(79),如硬盘驱动器(“HDD”)、软盘驱动器、压缩盘驱动器(CD、CD-R、CD-RW、DVD、DVD-R等)以及专用盘和磁带驱动器(例如,Iomega Zip[TM]和Jaz[TM],Addonics SuperDisk[TM]等)。此外,某些存储驱动器可以在计算机网络上访问。

许多计算平台具备一个或多个通信接口(710),这取决于计算平台预期的功能。例如,个人计算机通常具备高速串行端口(RS-232、RS-422等)、增强的并行端口(“EPP”),以及一个或多个通用串行总线(“USB”)端口。计算平台还可以具备局域网(“LAN”)接口(如以太网卡),以及其他高速接口(如高性能串行总线IEEE-1394)。

诸如无线电话和无线联网PDA之类的计算平台还可以具备带有天线的射频(“RF”)接口。在某些情况下,所述计算平台还可以具备红外线数据排列(“IrDA”)接口。

计算平台通常配备有一个或多个内部扩展插槽(811),如工业标准架构(“ISA”)、增强的工业标准架构(“EISA”)、外围组件互联(“PCI”),或用于添加其他硬件(如声卡、存储器板和图形加速器)的专用接口插槽。

另外,许多单元(例如膝上型电脑和PDA)具备一个或多个外部扩展插槽(712),使得用户可以轻松地安装或移除硬件扩展设备,例如PCMCIA卡、智能介质卡以及各种专用模块(如可拆卸硬盘驱动器、CD驱动器以及软盘驱动器)。

通常,存储驱动器(79)、通信接口(810)、内部扩展插槽(711)和外部扩展插槽(712)通过标准或工业开放总线架构(78)(如ISA、EISA,或PCI)与CPU(71)互联。在许多情况下,总线(78)可以为专用设计。

计算平台通常具备一个或多个用户输入设备,例如键盘或小键盘(716)、鼠标或指点设备(717),和/或触摸屏显示器(718)。在个人计算机的情况下,全尺寸键盘通常与鼠标或指点设备(如跟踪球或TrackPoint[TM])一起提供。在联网的无线电话的情况下,简单的小键盘可以具备一个或多个特定功能键。在PDA的情况下,通常提供带有手写识别功能的触摸屏(718)。

此外,计算平台具备麦克风(719),如联网无线电话的麦克风或个人计算机的麦克风。此麦克风可以用于简单报告音频和声音信号,并且还可以用于输入用户选择,例如使用语音识别功能的网站语音导航或自动拨打电话号码。

许多计算平台还配备有照相机设备(700),例如静态数字照相机或全运动视频数字照相机。

大多数计算平台还具备一个或多个用户输出设备,例如显示器(713)。显示器(713)可以采取很多形式,包括阴极射线管(“CRT”)、薄膜晶体管(“TFT”)阵列,或只是一组发光二极管(“LED”)或液晶显示器(“LCD”)指示器。

通常,计算平台还关联一个或多个扬声器(714)和/或信号器(715)。扬声器(714)可以用于重现音频和音乐,例如无线电话的扬声器或个人计算机的扬声器。信号器(715)可以采取简单的哔声发射器或蜂鸣器的形式,通常可以在如PDA和PIM之类的某些设备上找到。

这些用户输入和输出设备可以通过专用总线结构和/或接口直接互连(78′,78″)到CPU(17),或者可以通过一个或多个工业开放总线(如ISA、EISA、PCI等)来互连。计算平台还具备一个或多个软件和固件(701)程序来实现计算平台的预期功能。

现在转到图7,其中给出了此计算平台范围的软件和固件(701)的通用组织的更多详细信息。可以在计算平台上提供一个或多个操作系统(“OS”)本机的应用程序(823),例如,字处理器、电子表格、联系人管理实用工具、通讯簿、日历、电子邮件客户端、演示文稿、财务和记帐程序。

另外,可以提供一个或多个“可移植的”或设备无关的程序(824),所述程序必须由操作系统本机的平台特定的解释器(825)来解释,例如Java[TM]脚本和程序。

通常,计算平台还具备某种形式的Web浏览器或微浏览器(826),所述浏览器还可以包括一个或多个对浏览器的扩展,例如,浏览器插件(827)。

所述计算设备通常具备操作系统(820),例如,MicrosoftWindows[TM]、UNIX、IBM OS/2[TM]、LINUX、MAC OS[TM]或其他平台特定的操作系统。更小的设备(例如PDA和无线电话)可以配备其他形式的操作系统,例如实时操作系统(“RTOS”)或Palm Computing的PalmOS[TM]。

通常提供一组基本输入和输出功能(“BIOS”)以及硬件设备驱动器(821),以便允许操作系统(820)和程序联系并控制计算平台提供的特定硬件功能。

此外,许多计算平台通常具备一个或多个嵌入式固件程序(822),所述固件程序由板载或“嵌入式”微处理器作为外围设备(例如,微控制器或硬盘驱动器、通信处理器、网络接口卡,或音频或图形卡)的一部分执行。

这样,图6和7在一般意义上描述了多种不同计算平台的各种硬件组件、软件和固件程序,所述平台包括但不限于个人计算机、PDA、PIM、联网电话,以及诸如WebTV[TM]单元之类的其他家电。本领域的技术人员将容易地认识到,可以在不偏离本发明的精神和范围的情况下,作为硬件功能(部分地或整体地)可替代地实现在此披露的方法和过程。

来自IBM和Tivoli的其他网格产品

存在两个与本发明相关的先前可用的产品,但是本发明与它们相比提供了显著的性能和功能优点:

(1)Tivoli的Think Dynamic(又称为IBM Tivoli ProvisioningManager和IBM Tivoli Intelligent Orchestrator)Provisioning Manager,其管理静态建立、部署、配置资源和将资源回收到应用环境或从应用环境回收资源。其允许建立使“最佳操作”自动化的工作流以便部署并扩充n层应用环境,并提供网络、服务器、存储、中间件和应用服务的即用自动供应。

(2)IBM Websphere [TM]Server Allocation Workload Manager,其允许将Websphere[TM]资源(例如,软件组件和资源)形成池并使应用快速响应企业的动态需要。该产品设计为平衡工作负荷并为WebSphere软件环境分配资源-增加资源的利用率。但是,此方法采用静态分配机制。

尽管在核心概念上与本发明有某些相似之处,但是这些其他IBM和Tivoli产品与本发明有以下不同之处:基于商定价格选择的资源分配的扩展算法方面、与远程分配管理器和外部网格系统协作以便进行动态环境建立/作业移交,以及作业拒绝准则。新的DAEB算法方法和与其他系统组件的协作与以上产品相比更加先进。

在某些实施例中,本发明可以使用这些或其他类似产品来根据作业要求和资源利用准则细分资源分配。

动态应用环境建立器

为了使网格动态建立子系统高效地工作,DAEB子系统优选地在由国际商业机器公司(“IBM”)定义并提供的计算网格架构中与网格中的其他逻辑模块通信。图1示出了网格内关系(10),其将在下面的段落中作进一步介绍。

(a)网格分配或管理系统(11);

(b)网格管理器(13);

(c)网格目录和存储子系统(15);

(d)网格虚拟节点分组器(14);以及

(e)新的网格动态环境建立器(12),本发明的主题。

对本领域的技术人员显而易见的是,此高级功能组织并非其中可以采用本发明的唯一实施例。备选地,可以与其他即需计算架构和网格架构一起采用本发明。

如前所述,IBM网格产品提供了响应于传入网格作业的方法和系统,由此以自动的方式标识执行所述作业所需的资源并将其提供给入站作业。如果网格计算持续增长并要满足客户端对即需服务的不断增加的需要,则这种处理自动化是必需的。

还必须解决的一个相关问题是网格供应商如何管理入站网格作业所需的软件环境当前不可用的情况。所请求的环境可能是网格服务提供商已知并由其提供的环境,但是该环境当前并不存在于网格环境中,或者其可以是其他作业正在使用的环境,但是该环境已经完全分配并且不可供任何新的作业使用。

本发明通过提供自动网格子系统来解决此问题,所述自动网格子系统能够动态地建立所需的软件环境,以便分配子系统可以为入站作业提供必要的资源。可选地将现有技术中的功能结合到现有的网格调度/管理子系统中,但是根据优选实施例,所述功能被实现为与网格管理和资源分配子系统通信的单独逻辑模块。

本发明的动态应用环境建立子系统的一个目标是当入站网格作业要求超出当前活动网格环境的能力时,执行下列服务:

1.当需要建立环境时,从资源分配子系统接受数据。

2.查询网格目录和存储子系统以判定所需软件资源的可用性。

3.将资源的可用性通知分配子系统。

4.使用网格管理器和分配子系统评估为提出的作业建立环境的需求度。

5.决定拒绝作业(参见以下的注意3),或者,决定建立相关环境。

6.如果需要,从网格目录和存储子系统请求所需的操作系统。

7.如果需要,在一个或多个节点上网络安装所需的操作系统。

8.如果需要,从网格目录和存储子系统请求所需的一个或多个应用。

9.如果需要,在一个或多个节点上网络安装所需的一个或多个应用。

10.通知网格分配子系统建立完成。

在当前活动资源不足以满足入站网格作业的需要时,可以借助使用本发明来动态建立新的网格资源以满足作业要求。本发明的优选实施例可以与IBM的虚拟RFP子系统一起工作,该子系统使用网格内子系统通信为每个作业处理子系统提供必要的数据,以便提供完全自动的网格管理系统。

转到图2,其中示出了在网格计算架构中动态建立计算环境的逻辑过程(20)。首先,从资源分配子系统接收(22)环境要求数据(21)。

网格计算环境中的资源分配子系统负责通过网格调度器为入站网格作业标识、分配以及准备本地网格资源。在当前活动网格资源不足以满足一个或多个入站网格作业的要求时,所述分配子系统警告动态建立子系统并传递有关当前资源可用性的相关数据,所述数据已作为分配子系统中的功能的一部分被收集,包括作业执行的其他所需资源。

在某些情况下,对于某些入站网格作业可能没有合适的当前活动的环境,并且必须即需建立整个环境,而在其他情况下,所需环境的大部分可能都已适合,动态建立子系统将创建足够的额外资源来完成所需的环境。

此时,网格资源分配子系统已判定哪些所需资源目前在正在运行的网格环境中可用。根据总作业要求和当前可用的资源,其然后推断需要何种额外资源来完成环境的建立。网格分配器也已判定是否可以通过添加非活动本地硬件资源,或者通过虚拟节点分组非活动远程硬件资源来满足其余硬件要求。

网格动态建立过程然后查询(23)网格目录和存储子系统(15)以便判定所需的软件资源是否可用于使用所需的软件平台(多个)来启动硬件资源。

重要的是指出,活动硬件资源已通过节点分组本地或远程地可用后,所述分配子系统只需简单地将这些资源添加到环境,并且如果在任何这些资源上需要软件建立,则所述分配子系统只需联系动态建立模块。

还应指出,在从远程网格通过节点分组获得活动或非活动资源的情况下,本地网格处的动态建立模块可以控制远程资源的建立,或者可以从远程网格动态建立子系统请求建立以开始启动所述资源,以及在这些资源上安装所需的操作系统和应用来满足作业要求。

如果通过所有可能途径(包括将作业转让给其他网格供应商),资源都不可用于建立所需的环境,则拒绝(27)该作业并通知客户端不能运行该作业。另一方面,如果判定资源可用于建立新的环境,则确定建立该环境的需求度(25)。

一旦判定资源可用于建立所需的环境,下一步是判定(25)为当前作业建立所需环境是否具有经济意义。使用非活动资源可能是昂贵的并且可能包括启动各种硬件资源的费用、已启动硬件的硬件维护成本、操作系统和应用的许可证费用等。作为一个实例,如果网格供应商执行给定作业所获得的收入估计为1000美元,而建立所需环境的估计成本为1100美元,则可能的决策是拒绝该作业。

如果通过计算成本和收入和/或其他相关准则,判定不希望建立执行该作业的环境,则将拒绝(27)该入站作业并通知网格分配器。

另一方面,如果判定存在接受该作业的业务理由,则所述动态建立模块将继续以启动建立所需环境。如果需要启动硬件,则第一步是启动所需的硬件资源。完成此启动所需的实际程序将随平台而不同,但是,某些考虑如下:

(a)动态应用电源,或非活动硬件的IPL;

(b)动态创建新的硬件分区;以及

(c)动态启动。

能够启动非活动硬件资源的各种工具、应用和命令在本领域中是公知的。还应指出,所述动态建立模块只负责启动硬件以及为所需组件安装需要的软件。在完成这些任务时,将通知(24)分配子系统所需资源现在活动并可用,并且如先前披露的,其承担定制和集成到环境中的职责。

所述网格目录和存储子系统(15)是全面的软件储存库,此储存库中的所有软件都通过虚拟RFP过程期间使用的标准名称来编目和索引。此时,所述动态建立过程从目录和存储子系统(15)请求(28)所需的操作系统(“OS”)映像。作为一个实例,可以将具有维护级别1的IBM的AIX[TM]版本5.1的可安装映像指定为操作系统A17-1。基于此标识符,所述目录和存储子系统向动态建立子系统提供指示所需操作系统映像的准确位置的指针。

一旦动态建立过程(20)知道了需要安装OS映像的位置,所述动态建立过程就在所需的节点(多个)上开始操作系统安装(28)。存在多种自动安装软件资源的方法,但是,通过实例的方式,可以使用下列步骤来网络安装带有AIX[TM]的IBM pSeries[TM]服务器。应当指出,下列顺序只是作为实例,实际的命令和语法可能随操作系统类型和级别而不同:

(a)使安装映像可用于安装服务器(可以单独或结合使用如备选引导设备NIM、PSSP、GPFS、NFS等的方法);

(b)定义安装客户端和所需软件资源(多个)以安装服务器(可使用各种安装服务器和技术);

(c)在要安装的节点(多个)上将客户端网络适配器(多个)配置为“网络引导”模式;

(d)在客户端与服务器之间开始“bootp”通信(客户端重新引导或服务器ping可以执行此操作);以及

(e)将操作系统映像网络安装到一个或多个节点。

在某些情况下,可能在安装的维护级别之外需要额外的操作系统维护。可能需要使用与以上类似的方法来单独安装紧急维修和补丁。

接着,定位任何需要的应用程序和/或驱动器并将其安装在正在建立的节点上。此过程与刚刚介绍的安装操作系统的过程几乎完全相同,除了根据所需的应用软件和/或驱动器的唯一标识符向网格目录和存储子系统(15)做出的请求(200)以外。然后标识应用(多个)和/或驱动器(多个)的位置,并且所述动态建立模块进行到安装过程。

在备选实施例中,将操作系统的常用组合和应用软件捆绑成单个安装映像,这样只需要操作系统网络安装步骤。还可以使用混合安装解决方案,由此将一个或多个应用与操作系统捆绑,并且单独安装其他应用。

安装一个或多个应用和/或一个或多个驱动器之后的过程与介绍的网络安装操作系统的过程类似,除了安装应用软件通常需要不同的工具和过程以外。当从映像安装操作系统时,例如,所有软件都如存储在使用的映像中一样被安装在文件系统中。但是,对于应用软件,虽然某些应用安装工具提供了默认安装点,但是许多安装点必须被显式创建或定义。

作为一个实例,当在AIX操作系统上安装IBM软件时,使用installp命令,并且默认的安装文件系统是“/usr”。另一方面,如果在IBM AIX[TM]操作系统上安装Oracle[TM]数据库应用,则必须创建文件系统“/oracle/home”,安装数据库软件源,并且从二进制源执行操作系统安装脚本。这些“安装规则”优选地与唯一的软件标识符,并且由动态建立模块直接存储在表中,或者可以与源软件一起存储在目录和存储子系统中。在任一情况下,所述动态建立模块都优选地负责安装应用软件所需的工具的访问和命令的执行。

最后,在完成(201)建立过程之后(包括操作系统、任何所需的维护修补和升级以及应用软件),所述动态建立模块通知(24)网格分配子系统所需的资源现在活动并可供使用。此时,所述分配子系统从动态建立子系统接管控制来完成将新资源集成到网格中以便后继指派执行的作业。

结论

本领域的技术人员将认识到,出于说明本发明提供了以上实例和实施例细节,并且可以对实施例做出特定改变而不偏离本发明的精神和范围。因此,应由以下权利要求来确定本发明的范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号