专利名称:自动响应来自网格客户机的作业请求的方法和系统的制作方法
技术领域:
本发明涉及改进的网格计算(grid computing),具体地说,涉及对网格环境内虚拟作业请求的自动出价。再具体些说,本发明涉及通过计算处理虚拟请求的工作量要求的网格资源容量和费用,来响应对网格资源的虚拟网格作业请求,其中可根据处理工作量要求的网格环境容量和费用来产生处理虚拟作业请求的出价(bid)。
背景技术:
从两个计算机系统之间的第一次连接开始,经由连接在两个计算机系统之间传送数据、资源和其它信息的新方法就不断发展。在典型的网络体系结构中,当两个计算机系统经由连接交换数据时,计算机系统的其中之一被认为是发送请求的客户端而另一个被认为是处理请求和返回结果的服务器端。为尽力提高处理请求的速度,服务器系统的大小和速度持续扩展。另外,为尽力处理当每秒钟到达了多个请求时的高峰期,服务器系统经常联结到一起作为一组,并且请求被分配在这些成组的服务器之间。已经开发了多种对服务器分组的方法,如群集、多系统共享数据(系统联合体(sysplex))环境,和企业系统。利用服务器群集,一个服务器典型地被指派管理分配输入请求和输出响应。其它的服务器典型地并行操作以处理来自客户端的分派的请求。这样,群集中的多个服务器的其中之一会服务于客户端的请求,而客户端不会检测到是服务器群集在处理请求。
典型地,服务器或服务器组运行于如Unix或某些Unix变体的特定的网络平台,并且提供主机环境用于运行应用。每个网络平台都可以提供范围从数据库集成、群集服务以及安全性到工作量管理和问题确定的功能。每个网络平台典型地提供不同的实现、语义行为、以及应用编程接口(API)。
然而,仅仅将服务器分组到一起以扩展处理能力是改进网络中响应时间的效率的一种有限的方法。这样,越来越多地,在一个公司网络中,不是仅将服务器分组,而是将服务器和服务器系统组组织为分布式资源。有一股持续的努力以在公司网络内部和公司网络的外部的服务器之间合作、共享数据、共享周期、和改进其它的交互模式。此外,还有一股持续的努力以从一个公司的网络到服务供应商网络外购不重要的元件。而且,还有一种趋势,即在不受同一管理系统的控制,但是仍然可解决安全性、策略、支付和会员资格等问题的资源之间协调资源共享。例如,个人桌面计算机上的资源并不典型地作为公司服务器群集的资源受相同管理系统的控制。甚至在公司网络内的不同管理组也可能实现截然不同的管理系统。
将来自位于不同区域、在不同以网络平台上运行的服务器和其他计算系统(具有不同的安全协议并且每个安全协议由不同的管理系统控制)的可用资源分散的问题在于,导致开发利用用于操作网格环境的开放标准的网格技术。网格环境支持在动态、分布式、虚拟组织中共享和协调使用不同的资源。当资源(来自由不同组织操作、带有不同策略和管理系统的在地理上分散的系统)的选择被组织成处理作业请求时,在网格环境内创建虚拟组织。
网格环境的一个重要的应用是实现企业计算环境的公司可以接入外部网格计算“场地(farm)”。将作业发送给网格计算场地是一种将作业转出执行的方式。网格计算场地可以包括一些由可接入的、执行从多个客户接收到的网格作业的网格资源组成的组。
限制当前网格计算场地的是从多个网格计算场地得到出价的过程是费时而低效的。特别是,需要将作业发送给网格计算场地的客户通常希望从多个处理这网格作业的可用网格场地提供商中选出网格计算场地费用最低的。然而,为了确定这些可用的网格场地提供商中的最具有竞争性的出价,客户必须与每个网格计算场地的代表接触,提供对所需网格资源的类型的说明和从每个网格场地的代表接收出价。需要客户接触每个网格计算场地的代表、完成出价过程对于客户和网格计算场地供应商来说都是低效的。
因此,考虑到上述情况,有益的是提供一种接收虚拟网格作业请求、自动计算完成网格作业的出价的方法、系统和程序,使得客户和网格资源供应商可以更有效地确定特定网格环境是否能处理虚拟网格作业请求和当场提供使用网格环境的价格。特别有益的是,提供一种计算与虚拟网格作业请求关联的工作量的方法、系统和程序,可以迅速精确确定网格环境处理虚拟网格作业请求的能力,从而可以根据所估计的虚拟网格作业请求的工作量计算价格。
发明内容
本发明是考虑到上述情况提出的,可用于自动网格计算,特别是可用于对网格环境内的虚拟作业请求的自动出价。再具体些说,本发明涉及通过计算处理虚拟请求的工作量要求的网格资源容量和费用,来响应对网格资源的虚拟网格作业请求,其中可根据处理工作量要求的网格环境容量和费用来产生处理虚拟作业请求的出价。
按照一个实施例,网格提供商的出价控制器网格业务从客户机接收在网格提供商的网格环境内处理作业的作业请求,这个作业请求规定了网格提供商处理特定网格作业的至少一个所需准则。网格业务确定网格环境是否包括作业请求所要求的硬件平台种类、软件平台种类和网络带宽。如果网格业务确定网格环境包括充分的硬件平台种类、软件平台种类和网络带宽,就为作业请求计算总所需工作量。然后,估计总所需工作量的总费用,并且网格业务自动将包括网格提供商的标识符和作业请求的总费用的出价响应返回给客户机系统。此外,出价响应还可以包括执行作业请求所描述的网格作业的总时间。
在计算作业请求的总所需工作量时,网格业务在计算总所需工作量中只包括作业请求所允许的按需资源(on demand resource)和外部网格提供商资源。此外,作业请求可以限制特定网格作业可用的总资源。
此外,计算总所需工作量可以包括首先根据作业请求计算对在网格环境内执行作业、访问作业所需数据和从网格环境返回作业结果可用的总时间。然后,计算总所需工作量包括计算对至少硬件资源、软件资源和网络资源的总资源要求。最后,网格业务从总可用资源中确定使所述网格提供商能够以所述可用的总时间、满足所述总资源要求地处理所述特定网格作业的可用资源选择。
出价响应最小化成只包括网格提供商的独特响应信息。特别是,出价响应可以包括对作业请求内的准则的异常,所述异常向客户机报告可以重新协商的出价准则。此外,出价响应还可以包括建议对作业请求的可能调整的意见,以按照网格提供商的定价限制使费用较低。
本发明的新颖特征在所附权利要求书中给出。然而,从以下结合附图对本发明的例示性实施例的详细说明中可以更好地理解本发明本身以及它的优选使用模式、其他目的和优点,在这些附图中图1示出了可以在一个网格环境内实现的用以实现本发明的计算机系统的实施例;图2为例示在网格环境内的通用组成部分的实施例的方框图;图3为示出可以在网格环境内实现的体系结构的例子的方框图;图4为示出接收虚拟作业请求和自动以出价形式应答的网格环境的方框图;
图5为示出客户机系统向网格提供商提交作业和网格提供商返回作业结果的流程图;图6为示出将网格作业缩影提交给多个网格提供商以按客户机定义的应用度量计算相对费用的过程的流程图;图7为示出客户机系统的对自动向网格提供商提出出价请求和自动分析多个网格提供商的出价响应进行控制的网格客户机代理的组件的方框图;图8为示出输入网格作业的RFP准则的用户界面的方框图;图9为示出网格提供商的出价控制器的实施例的方框图;图10为示出在资源选择器和工作量计算器内根据虚拟作业请求执行的计算的例示性例子;图11为例示网格提供商响应RFP产生的RFP响应的方框图;图12为例示在网格环境内管理对RFP请求的响应的过程和程序的高层逻辑流程图;图13为例示对将RFP提交给网格提供商和处理出价响应进行控制的过程和程序的高层逻辑流程图;以及图14为例示网格客户机系统分析从多个网格提供商接收到的出价的过程和程序的高层逻辑流程图。
具体实施例方式
现在来看这些附图,特别是示出可以在网格环境内实现的可用来实现本发明的计算机系统的图1。如要进一步说明的那样,网格环境包括多个配置成提供资源的计算机系统。此外,如要进一步说明的那样,本发明可以在包括配置在网格环境内在若干不同的操作系统下运行的各种计算系统、移动系统和电子设备在内的各种计算机系统内实现。
在一个实施例中,计算机系统100包括总线或其他用来在计算机系统100内交换信息的装置以及至少一个接到总线122上用来处理信息的处理器件诸如处理器112。总线122可以包括等待较短和较长的通路,由路桥和适配器连接,在计算机系统100内受多总线控制器控制。在实现为服务器系统时,计算机系统100通常包括设计成能改善网络服务能力的多个处理器。
处理器112可以是通用处理器,诸如IBM的PowerPCTM处理器之类,在正常操作期间在操作系统和可从诸如随机存取存储器(RAM)114之类的动态存储器和诸如只读存储器(ROM)116之类的静态存储器接入的应用软件的控制下处理数据。操作系统可以为用户提供图形用户界面(GUI)。在一个实施例中,应用软件含有在处理器112上执行时执行图12、13、14这些流程图内所示的操作及其他在此所说明的操作的机器可执行指令。或者,本发明的这些步骤也可以用含有实现这些步骤的硬连线逻辑专用硬件器件实现或者用经编程的计算机器件和定制的硬件器件的任何组合实现。
本发明可以体现为在机器可读媒体上存有程序计算机系统100用来执行按照本发明所设计的过程的机器可执行指令的计算机程序产品。在这里所谓的“机器可读媒体”包括任何参与为处理器112或计算机系统100的其他组件提供用来执行的指令的媒体。这样的媒体可以有许多形式,包括但不局限于非易失性媒体、易失性媒体和传输媒体。非易失性媒体的普通形式例如包括软盘、硬盘、磁带或任何其他磁媒体,光盘ROM(CD-ROM)或任何其他光媒体,穿孔卡或任何其他带有孔图案的物理媒体,可编程ROM(PROM)、可擦PROM(EPROM)、电可擦PROM(EEPROM)、快擦写存储器或任何其他存储芯片或存储盒,或者计算机系统100可读和适合存储指令的任何其他媒体。在本实施例中,非易失性媒体的例子是大容量存储器118,示为计算机系统100的内部组件,但可以理解,它也可以由外部设备提供。易失性媒体包括动态存储器,如RAM 114。传输媒体包括同轴电缆、铜线或光纤,包括构成总线122的线。传输媒体还可以采取声或光波的形式,诸如在射频或红外数据通信期间产生的那些。
此外,本发明还可以作为计算机程序下载,这些程序指令可以通过接到与总线122连接的通信接口132上的网络链路134(例如调制调解器或网络连接)用体现在载波或其他传播媒体内的数据信号从远地虚拟资源(如虚拟资源160)传送给请求计算机系统100。虚拟资源160可以包括可从一个系统或一些系统接入的资源的虚拟表示,可以将多个系统各认为是一些在独立的平台上运行的离散资源组,但由网格管理器协调为虚拟资源。通信接口132提供了与网络链路134的双向数据通信连接,网络链路134可以接到提供接入网络102的例如局域网(LAN)、广域网(WAN)或互联网服务供应商(ISP)上。特别是,网络链路134可以提供与一个或多个诸如网络102的网络的有线和/或无线网络通信,通过这些网络可使用如由网格管理系统150所提供的虚拟资源,诸如虚拟资源160之类。网格管理系统150可以是多种网络的一部分,包括对等网络,也可以是单个计算机系统(如计算机系统100)的一部分。
作为一个例子,网络102可以是用特定协议(如传输控制协议(TCP)和互联网协议(IP))相互通信的网络和网关的世界性集合体。网络102用电、电磁或光信号传送数字数据流。通过各个网络的信号以及在网络链路134上和通过通信接口132传送发给计算机系统100和计算机系统100发出的数字数据的信号典型的是具有传送信息的载波的形式。可以理解,也可以实现其他类型的网络、网络组合和网络基本设施。
在实现为服务器系统时,计算机系统100通常包括多个通过接到输入/输出控制器上的多个外围组件互连(PCI)总线桥可接入的通信接口。这样,计算机系统100可以与多个网络计算机连接。
此外,虽然没有示出,计算机系统100还可以附有多个外围组件和内部/外部器件,与多个接到多级总线122中的相应级上的控制器、适配器和扩展槽连接。例如,可以附加有显示器、音频设备、键盘或光标控制器,作为外围组件。
一般熟悉该技术领域的人员可以理解,图1中示出的这些硬件可以有所不同。此外,一般熟悉该技术领域的人员也可以理解,所示出的这个例子不是意味着对本发明在体系结构上有所限制。
现在来看图2,这个方框图例示了在网格环境内由通用组件组成的实施例。在本例中,网格环境240的组件包括与网格管理系统150接口的客户机系统200,网格管理系统150与服务器群集222、服务器224、工作站和台式机226、数据存储系统228和网络230接口。为了例示起见,没有示出连接网格环境240内的组件的网络的网络位置和类型。然而,可以理解,网格环境240内的组件可以驻留在可以用多种相互交叠的网络实现的网络基本设施体系结构的顶上。网络基本设施的范围从多个大型企业系统到对等系统(peer-to-peer)到单个计算机系统。此外,可以理解,网格环境240内的这些组件仅仅表示网格环境内各组件的类型。网格环境可以就包括在单个计算机系统内,也可以包括多个系统企业。此外,可以理解,网格环境240可以由网格提供商提供,使用网格环境240内的资源的费用例如可以根据执行网格作业所需的时间量或实际所用资源量计算。
诸如网格环境240之类的网格环境的核心目标是将多个分立系统的资源组织成虚拟资源160投放。客户机系统200、服务器群集222、服务器224、工作站和台式机226、数据存储系统228、网络230和形成网格管理系统150的这些系统可以是多机种和地区性分布的,具有独立的管理系统,但可以通过由网格管理系统150启用的网格基本设施交换信息、资源和业务。此外,服务器群集222、服务器224、工作站和台式机226、数据存储系统228和网络230可以在地理上分布在一些国家和大陆各处,也可以是本地可相互接入的。
在这个例子中,客户机系统200与网格管理系统150接口。客户机系统200可以代表任何向网格管理系统150发送请求的计算系统。具体地说,客户机系统200可以向网格管理系统150发送虚拟作业请求和作业。特别是,虚拟作业请求如要进一步说明的那样可以用提议请求(RFP)的形式发送。此外,虽然在本实施例中客户机系统200示为用请求接入网格环境240,但在另一些实施例中客户机系统200也可以在网格环境240内工作。此外,在客户机系统200向网格管理系统150提交虚拟作业请求和作业时,可以将客户机系统200称为网格客户机。
虽然虚拟资源160内的系统以并行的形式示出,但实际上这些系统可以是由一些系统组成的分层结构的一部分,其中对于客户机系统200来说虚拟资源160内的有些系统可以是本地的而其他一些系统需要接入外部网络。此外,还要注意的是,在虚拟资源160内所示出的系统可以实际上是包括在客户机系统200内的。
网格管理系统150的一个功能是管理来自客户机系统200的虚拟作业请求和作业以及对将每个作业分配给虚拟资源160内所选的计算系统进行控制,以使用虚拟资源160内可用的计算系统的特定资源。然而,从客户机系统200来看,虚拟资源160处理请求和返回结果,而虚拟资源160内哪个计算系统实际处理请求并没有什么差别。
为了实现网格环境240,网格管理系统150有助于各种网格业务。网格业务可以按照多个包括但不局限于开放性网格业务体系结构(OGSA)在内的体系结构设计。具体地说,网格管理系统150是指通过将一些计算系统链接成以通过网格业务共享资源为特征的多机种网络建立网格的管理环境。
在一个例子中,在网格管理系统150接收到带有规定处理作业的参数的RFP的虚拟作业请求时调用网格业务。这个网格业务是出价控制器,用来确定虚拟作业请求所要求的总工作量,计算虚拟资源160要处理所要求的总工作量的容量。出价控制器然后根据网格环境240要处理所要求的总工作量的容量和使用这工作量的费用为该虚拟作业请求计算费用,返回执行虚拟作业请求所规定的作业的出价。
现在来看图3,这个方框图例示了在网格环境内可以实现的体系结构的一个例子。如图所示,体系结构300包括多层功能。如还要进一步说明的那样,本发明是可以在诸如体系结构300之类的体系结构的一个或多个层内实现的过程,这个体系结构是在诸如图2所示的网格环境之类的网格环境内实现的。要注意的是,体系结构300只是可以在可以实现本发明的网格环境内实现的体系结构的一个例子。此外,还要注意的是,在网格环境内可以实现多个体系结构。
首先,在体系结构300的这些层内,物理和逻辑资源层330组织网格内的系统的资源。物理资源包括但不局限于服务器、存储媒体和网络。逻辑资源将物理层虚拟化和聚集成诸如操作系统、处理能力、存储器、I/O处理、文件系统、数据库管理器、目录、存储器管理器之类的可用资源。
其次,web业务层320提供在网格业务层310与物理和逻辑资源层330之间的接口。Web业务层320实现包括但不局限于在互联网协议(IP)或其他网络传输层顶上执行的Web业务描述语言(WSDL)、简单对象接入协议(SOAP)和可扩展标记语言(XML)的业务接口。此外,通过将web业务320扩展成可以提供对网格资源建模所需的动态可管理web业务的能力,在当前的web业务320的顶上建立开放性网格业务基本设施(OSGI)标准322。具体地说,通过用web业务320实现OGSI标准322,用OGSA设计所设计的网格业务310是可互操作的。在另一些实施例中,在web业务层320顶上可以实现其他基础措施或附加基础措施。
网格业务层310包括多个业务,这些业务一起执行结合网格管理系统150所述的那些功能。例如,网格业务层310可以包括用OGSA设计的网格业务,使得在建立网格业务中贯彻统一的标准。或者,也可以是将网格业务设计成处在多个体系结构之下。可以将网格业务分成四个主要功能组。然而,可以理解,网格业务也执行其他一些功能。
首先,资源管理业务302管理物理和逻辑资源的使用。资源包括但不局限于处理资源、存储器资源和存储装置资源。管理这些资源包括调度作业、分配作业和管理对作业结果的检索。资源管理业务302监视资源负荷和将作业分配给网格的不大忙的部分以平衡资源负荷和缓冲意外的业务高峰。具体地说,用户可以规定一些优选的性能指标,使得资源管理业务302可以在网格内将作业分配成维护这些优选的性能指标。
其次,信息业务304管理网格内的计算系统之间的信息传送和通信。由于可以贯彻多个通信协议,信息业务304管理通过多个采用多种通信协议的网络的通信。
第三,数据管理业务306管理网格内的数据传送和存储。具体地说,数据管理业务306可以将数据移动到网格内将执行需要这数据的作业的节点。可以贯彻特定类型的传送协议,诸如网格文件传送协议(GridFTP)。
最后,安全业务308将用于保安的安全协议加到在网格内运行的每个系统的连接层上。安全业务308可以贯彻安全协议,诸如开放性安全套接层(SSL),以提供安全传输。此外,安全业务308可以提供单个签署机制,使得用户一旦得到证实,就产生代理证书,可以在网格内为这个用户执行操作时使用。
可以将多个业务合在一起,提供网格计算系统的若干关键功能。第一个例子是在网格内分配一些计算任务。数据管理业务306可以将计算任务分成一些独立的对一些数据分组的网格业务请求,再由资源管理业务302分配和管理。结果由数据管理系统306收集和整理。在第二个例子中,将网格内多个计算系统的存储资源看作单个由数据管理业务306管理和由资源管理业务302监视的虚拟数据存储系统。
应用层340包括一些使用网格业务层310内可用的一个或多个网格业务的应用。有益的是,一些应用通过网格业务层310和web业务320与物理和逻辑资源330接口,使得多个异机种系统可以交互作用和相互操作。
现在来看图4,图中示出了接收到虚拟作业请求后按照本发明的方法、系统和程序自动以出价形式应答的网格环境的方框图。如图所示,客户机系统200将虚拟作业请求发送给网格环境240。网格环境240在逻辑上可以包括网格调度器404、出价控制器412和网格资源402。网格资源402表示网格环境150内的可用资源,网格调度器404对将作业分配给网格资源402进行控制。可以理解,网格资源402、网格调度器404和出价控制器412可以在分布在单个网络内或分布在多个网络内的多个服务器系统之间执行。
处理接收虚拟作业请求和产生完成虚拟作业请求所规定的作业的出价的出价控制器412在网格环境240内可以称为网格业务。或者,也可以是虚拟作业请求从网格环境240的传输层或其他网卫功能传送给出价控制器412。此外,出价控制器412可以在网格环境240之外的系统内执行。
如要结合图9进一步说明的那样,在一个实施例中,出价控制器412包括工作量计算模块908。工作量计算模块908为每个虚拟作业请求确定所需的可能工作量和计算网格环境240处理所需的工作量的容量。根据网格环境240处理所需的工作量的容量,费用计算器914计算出执行虚拟作业请求所规定的作业的费用。出价形成器906考虑了作业所要求的其他因素后向客户机系统200返回出价响应。此外,出价形成器906将出价响应存储在出价响应表内,供网格调度器404在客户机系统200向网格环境240表示的网格提供商提交与虚拟作业请求关联的实际作业时接入。
虽然在所示的这个实施例中出价控制器412示为处理接收虚拟作业请求以及自动确定和返回在网格环境150内处理作业的出价,但可以理解,出价控制器412可以处理从多个网格客户机接收虚拟作业和返回在多个网格环境内处理作业的出价。
在一个实施例中,网格环境400包括特定的网格提供商处理网格作业可用的网格资源402。此外,网格资源402还可以包括可从其他网格供应商接入的资源和容量按需(CUOD)资源。
要指出的是,虽然在整个说明中网格提供商是指在与客户机系统200独立的网格环境内提供独立的网格处理的实体,但客户机系统200也可以向包括客户机系统200的网格环境的网格提供商提交网格作业。此外,网格提供商也可以称为网格卖方。
现在来看图5,图中示出了客户机系统向网格提供商提交作业和网格提供商返回这个作业的结果的流程图。如图所示,客户机系统200向网格提供商提交作业502。具体地说,如前面所说明的,每个网格提供商可以实现网格管理系统,诸如网格管理系统240,通过为作业选择网格资源以满足所要求的性能、监视作业的进展和按需要调整网格资源以满足所要求的性能、管理向客户机系统返回结果,来管理网格作业的流程。
在这个例子中,网格提供商的网格管理系统包括作业队列504,作业队列504接收作业502将作业502一直保存到网格调度器404可以调度作业502分配给网格资源。具体地说,网格调度器404根据例如网格提供商为特定作业设置的出价或从特定的客户机系统接收到的对于一些作业的作业性能要求的协议,接入包括作业的性能要求的出价508。网格调度器404接入处理作业502所需的网格资源,例如服务器A 516、服务器B 518和服务器N 520。虽然没有示出,网格调度器404可以接入为网格作业确立所需资源的网格管理系统的网格管理器及其他组件、接入其他网格环境的资源和必要时将网格作业转售给其他网格供应商。
在这个例子中,网格调度器404将作业502分成一些部分作业510、512和514分别分配给服务器A 516、服务器B 518和服务器N 520。作业结果管理器528分别从服务器A 516、服务器B 518和服务器N 520收集结果522、524和526。作业结果管理器528将完成结果530返回给客户机系统200。此外,在作业完成后作业结果管理器528对财务管理器532进行更新。财务管理器532与监视作业502占用服务器A 516、服务器B518和服务器N 520的情况的工作量管理器(未示出)通信,以计算作业502的总工作量和作业502的总费用。具体地说,SLA 508可以规定一些控制作业502总费用的因素,诸如最大费用、固定费用、性能要求没有满足时的可调费用比例及其他定价调整因素。
现在来看图6,图中示出了将网格作业缩影提交给多个网格供应商以按照客户机定义的应用度量计算相对费用的过程的流程图。在这个例子中,客户机系统200将网格作业分成一些缩影(microcosm),这些缩影是这个较大的要提交给网格提供商的网格作业的一些较小的有代表性的作业。在这个例子中,客户机系统200将网格作业缩影602和网格作业缩影612分别提交给网格提供商604和614。在一个实施例中,客户机系统200已经如结合图4所说明的那样将网格作业缩影的作业请求提交给网格提供商604和614,然而,在另一个实施例中,客户机系统200可以将网格作业缩影连同例如根据公布的价格或对价格的口头承诺得出的定价和性能的期望值提交给网格提供商604和614。
网格供应商604和614各以与结合图5所说明的网格提供商处理网格作业相同的方式处理各自的网格作业缩影602和612和返回结果606和616。客户机系统200提取网格作业缩影602和604各自的结果和费用,根据客户机定义的应用度量与网格提供商度量的比例计算每个网格提供商的变换值。例如,网格提供商度量是以小时计的费用,而客户机给出的应用度量是数据库联接数。计算变换值的一些附例可参见美国专利申请___(代理人案号AU 5920031042US1),该专利申请在此列为参考予以引用。
然后,客户机系统200按照用变换值调整的完整网格作业所需的客户机定义的应用度量操作数计算完全的网格作业的估计费用,将对每个网格提供商所估计的费用进行比较,选择费用效率最高的提供商。按照一个优点,通过试验每个提供商的实际性能和费用以及将费用变换成客户机定义的应用度量基准,客户机系统200可以在发送一个或多个大的网格作业前根据客户机定义的应用度量比较执行作业的实际费用而不是执行作业的承诺费用。在这个例子中,在试验网格作业缩影602和612各自结果和费用后,客户机系统200选择将网格作业缩影602和612作为采样的完整网格作业620发送给网格提供商604。网格提供商604如结合图5所说明的那样处理完整网格作业620,将结果624返回给客户机系统200。
现在来看图7,这个方框图示出了客户机系统的对自动向网格提供商提出出价请求和自动分析多个网格供应商的出价响应进行控制的网格客户机代理的组件。如图所示,在客户机系统200上或者在一个与多个网格客户机系统接口的服务器上执行的网格客户机代理700进行管理,以形成RFP形式的对网格作业的虚拟作业请求、将RFP分配给一些网格提供商、分析网格提供商对RFP的出价响应和将网格作业分配给获胜的网格提供商。
具体地说,网格客户机代理700包括RFP规格控制器708,用来控制让用户为特定网格作业的RFP输入规格的界面。在一个实施例中,RFP规格控制器708是独立的控制器。在另一个实施例中,RFP规格控制器708附在网格客户机的现有调度器上。如将结合图8说明的那样,用户可以为网格作业输入多种准则。RFP规格控制器708将RFP存储在RFP请求队列718内,安排成通过网格接口控制器712分发。
网格接口控制器712管理RFP的分配、出价响应的接收、网格作业的分配和网格作业结果的接收。具体地说,通过网格接口控制器712提交给网格提供商的RFP存储在RFP提交表716内。然后,网格接口控制器712管理RFP响应表714内出价的存储。
具体地说,网格客户机代理700包括RFP提交控制器722,用来确定什么时候将RFP请求队列718内的RFP提交给网格提供商和选择网格接口控制器712应该将特定的RFP提交给哪些网格提供商。在一个实施例中,RFP提交控制器722可以选择那些被指定为特定的网格联盟(grid alliance)的一部分的网格提供商,特别是在RFP规定了网格联盟提供商时。具体地说,卖方定级(rating)720规定了选择网格提供商的规格准则和规定了网格联盟协议内所包括的网格作业的类型。
具体地说,在一个例子中,网格客户机或者是网格客户机组可以同意将一些具有特定的一组特征的网格作业提交给一个或多个作为网格联盟的一部分的网格提供商,这个网格客户机由于同意特定的网格提供商或网格提供商组将作为具有特定的特征组的网格作业的唯一提供商而得到折扣价的优惠,从而卖方定级720指出这个网格联盟和特定的特征组。在另一个例子中,用户可以在卖方定级720内为每个网格卖方指定规格,或者网格客户机代理700可以从卖方定级业务接入网格卖方定级。
此外,网格客户机代理700包括作业缩影控制器702,用来控制网格作业缩影的形成,以便由RFP提交控制器722提交给网格提供商,如结合图6所说明的那样试验处理网格作业的一些较小部分的响应时间和费用。在一个例子中,RFP可以包括给网格提供商的网格作业缩影,让网格提供商运行以及返回出价和运行这个网格作业缩影的结果。在另一个例子中,作业缩影控制器702首先请求提交网格作业缩影的RFP然后再请求将网格作业缩影提交给多个网格提供商。
费用比较器710根据从网格作业缩影得到的结果和完整网格作业用客户机执行单位确定网格作业的实际费用。具体地说,如结合图6所说明的那样,对于一种特定类型的网格作业,根据执行网格作业缩影的结果或完整网格作业计算出客户机定义的度量与网格提供商的度量之比。在一个例子中,在网格提供商根据安小时计费计算网格作业的费用而另一个网格提供商根据浮点操作数计算网格作业的费用的情况下,费用比较器710计算每个网格提供商度量与共同的诸如数据库联接数之类的客户机定义的度量基准之比。
响应分析器704分析从各网格提供商接收到的响应,选择获胜的网格提供商。在一个实施例中,响应分析器704分析出价响应,确定是满足所有的RFP准则还是满足一些特定的RFP准则,然后按最优价格或其他准则比较满足所要求的准则的响应。在网格提供商以前处理过同样类型的网格作业的情况下或者在提交了网格作业缩影的另一个实施例中,响应分析器704调用费用比较器710首先按照网格提供商计算客户机定义度量费用,使得响应分析器704可以将执行网格作业的实际估计费用与网格提供商所承诺的费用相比较,选择获胜的网格提供商。
此外,如果合格的出价响应包括建议重新协商网格作业的准则的异常或意见,响应分析器704可以触发RFP异常管理器706,具体地说,RFP异常管理器706可以向用户提示按照在出价响应内返回的异常和意见进行选择,调整RFP。此外,RFP异常管理器706可以自动调整具有异常或意见的RFP,如果网格客户机的重新协商优先级许可这样的话。
在重新协商过程期间,RFP异常管理器706可以将经调整的RFP只提交给返回用来调整RFP的异常或意见的网格提供商,也可以是RFP异常管理器706将经调整的RFP提交给所有原来的网格提供商。此外,在重新协商过程期间,RFP异常管理器706还可以延长原来的RFP响应时间,以便可以有充分的时间进行有效的重新协商。
现在来看图8,这个方框图示出了用来为网格作业输入RFP准则的用户界面。为了例示起见,指出了可以为每种准则提供的一些信息类型。可以理解,在RFP可以包括其他类型的准则,可以为每个准则规定一些其他的值,而且每个网格提供商的一些模块可以以不同的方式响应这些准则。
如图所示,用户界面800提供了多个输入栏,使用户可以为虚拟作业请求输入一些要求,以产生RFP 850。在所示的这个例子中,用户界面800是由RFP规格控制器708响应向网格提供商提交网格作业的用户请求打开的窗体。在另一个例子中,客户机作业调度器可以在检测到合格提交给网格的作业时自动触发RFP规格控制器800打开用户界面800这个窗体。用户将光标846压在可选按钮844上选择这个按钮后,用户界面800内的这些用于这个网格作业的输入项就存储起来,保存在RFP请求队列718内。
如在标注数字802处所示,可以为RFP 850指定作业名。在这个例子中,作业名为“DB_UPDATE_BASE”,标识是要求数据库更新的作业。除了作业名之外或者作为作业名的替代,可以通过用户输入RFP规定或者由RFP规格控制器708自动规定如在标注数字804处所示的作业号或其他标识。如在标注数字804处所示,网格客户机可以将每个网格作业与独特的号码关联,以便在RFP协商过程期间共同参考特定的网格作业。在这个例子中,将作业号“105”与RFP 850关联。此外,网格提供商将RFP的作业号和响应与网格提供商从网格客户机接收到的网格作业进行匹配。
如在标注数字810处所示,可以为RFP 850指定使用容量按需(CUOD)资源的资格。在这个例子中,将CUOD资格设置为“NO(否)”。在一个实施例中,CUOD资源是可用资源,但是当前未激活。硬件和软件资源都可以是作为容量按需资源可得到的。可以为激活按需资源付准许费用。如果客户机规定网格作业对于选用CUOD资源是不合格的,网格供应商在准备对RFP的响应时就避免包括任何可得到的CUOD响应。如果客户机规定网格作业有用CUOD资源的资格,每个网格卖方可以准备包括附加的按需资源和它们的费用的出价响应,如果这些资源被认为对于这个网格作业是必需的。此外,在出价响应中,网格供应商可以规定作业是否将需要CUOD资源,从而可以规定激活这些资源的费用。最后,在另一个例子中,在网格客户机分析出价响应时,网格客户机可以滤出那些来自不提供CUOD资源的网格提供商的响应。
如在标注数字828处所示,可以在RFP 850内规定网格作业的作业时限。具体地说,用户可以规定作业必须完成的时间限制。在工作量计算单元确定资源和资源的费用时,可以考虑这个时限。例如,用1小时执行的特定作业的作业请求可以花费比执行同一个作业但可用5小时的作业请求多的费用。
作业时限的另一个参数可以包括通常在基本计算环境内执行的作业应该提交给网格的时间量。具体地说,大多数作业在基本环境内执行,而在这个基本的环境忙时暂停执行,然后再启动时从它停止处重新开始这个作业。按照本发明的一个优点,作业可以在它的基本环境内暂停,传送给网格环境再重新开始,稍后再暂停和返回给基本环境。因此,作业时限可以规定在作业暂停和返回给基本环境执行前作业应该在网格环境上执行的时间量。
如在标注数字822处所示,可以在RFP 850内规定网格作业许可使用的资源的资源限制。虽然有些网格提供商可以按照作业所用的时间对客户机收费,但其他一些网格提供商可以按照作业所用的资源对客户机收费。在实行按照资源使用付款时,优选的是客户机可以规定客户机愿意为考虑提交的每个作业支付的资源的类型和数量。
如在标注数字812和818处所示,在RFP 850内可以规定完成所需的时间和其他的完成准则。在这个例子中,规定了要求在6小时或更短一些的时间内执行这个网格作业而没有规定其他的完成准则。然而,其他的完成准则的例子可以包括作业必须在8小时内完成执行、作业在执行8小时以后应该暂停、作业在产生了10,000个输出记录时完成,或者作业如果执行两次而且每次执行返回的结果匹配才完成。
如在标注数字826处所示,可以在RFP 850内规定网格作业的网格联盟要求。具体地说,客户机可以处在与一个或多个网格提供商的战略联盟内,在提供了战略联盟的情况下这个客户机对于满足一定准则的网格作业将只使用处在这个联盟内的网格提供商中的网格提供商。网格客户机可以在RFP内指定任何所需的网格联盟。或者,也可以是在作业是满足客户机已承诺的联盟的准则的作业时RFP规格控制器708自动填RFP 850的网格联盟要求,从而可以限制客户机将这个RFP只提交给这个网格联盟的提供商。
在网格联盟的一个例子中,网格提供商A和B可以同意是客户机的仅有网格提供商,如果这个客户机将十个或更多作业提交给网格提供商A和B就可获得折扣价的优惠。于是,在这个网格客户机的应用产生十个或更多个作业时,就将这十个或更多个作业的RFP限制成只提交给网格提供商A和B。
如在标注数字808处所示,可以在RFP850内规定网格作业的作业费用界限。例如,用户可以在RFP 850内规定作业费用界限为$5000.00。具体地说,作业费用界限可以包括货币费用、表达式或多个条件费用。
如在标注数字832处所示,在RFP 850内可以包括软件平台种类规格。具体地说,网格作业可以需要也可以不需要特定软件来执行。在网格作业需要特定软件执行的情况下,就将软件平台种类或具体软件名称纳入RFP,如在标注数字832处所示。在一个例子中,可以为每个软件平台种类指定标准的标注名称或号码。例如,可以将特定的软件平台种类指定为标注号码“7”。
在一个例子中,网格作业试图解决数学问题,在可以使用任何具有必要的计算能力的软件的情况下,就不必指定软件平台种类。然而,在另一个例子中,网格作业是复杂的写入和对于特定软件环境最佳化的并行数据库查询,在这种情况下这个网格作业的RFP在软件平台种类指示符内就规定了这个特定的软件环境。
如在标注数字830处所示,在RFP 850内可以包括硬件平台种类规格。具体地说,网格作业可以需要也可以不需要特定的硬件平台来执行。在网格作业需要特定的硬件平台执行的情况下,就将这个特定的硬件平台种类或具体硬件平台名称纳入RFP,如在标注数字830处所示。在一个例子中,可以为每个硬件平台种类指定标准标注名称或号码。例如,可以将特定的硬件平台种类指定为标注号码“5”。
在一个例子中,网格作业试图解决数学问题,在可以使用任何支持具有必要的计算能力的软件的硬件平台的情况下,就不必指定硬件平台种类。然而,在另一个例子中,网格作业是复杂的写入和对于特定的硬件环境最佳化的并行数据库查询。例如,复杂的数据库查询可以用加到十个IBM Power 4处理器部分上执行的特定的问题报告和分辨方案“APAR 1Y77222”对DB 2EEE最佳化,因此RFP就规定软件平台种类为“具有APAR 1Y77222的DB 2EEE”而硬件平台种类为“10IBM Power 4处理器部分”或者表示这些软件和硬件平台种类的标注数字。
如在标注数字816处所示,在RFP 850内可以为网格作业规定数据接入和传送机制。具体地说,对于网格提供商执行网格作业来说,许多网格作业需要在网格作业执行中必须要有的数据。在一个例子中,客户机系统随着作业的执行用诸如GridFTP之类的包括对文件传送协议(FTP)的网格协议扩展将数据提交给网格提供商。在另一个例子中,网格提供商用诸如安全套接层(SSL)之类的安全数据通信信道接入在网络可接入存储媒体处的数据。无论是哪种情况,RFP规定数据接入或传送机制,使得网格供应商可以计算与网格客户机所选的接入方法关联的附加费用。例如,在标注数字816处示出了为RFP 850规定的数据传送为“gridFTP”。
如在标注数字836处所示,在RFP 850内可以规定网格作业所需的数据的数据大小。例如,在标注数字836处示出了所规定的数据大小为42000字节。具体地说,数据大小影响网格提供商的出价,因为数据大小影响数据接入所需的时间量。此外,在网格提供商处理网格作业时,较大的数据大小需要较大的存储空间、较大的处理能力和较大的网络带宽。
如在标注数字820处所示,在RFP 850内还可以为网格作业规定对硬件、软件和数据传送的安全性要求。具体地说,有些网格作业必须在受信任的安全环境内执行。在这个例子中,所规定的安全性要求为数据传送用“安全数据信道”。在另一个未示出的例子中,可以规定一些包括但不局限于网格安全接口(GSI)和Web业务安全措施(WS安全措施)在内的数据保护工具,以及可以规定一些包括但不局限于可信计算库(TCB)和C2要求(C2安全性为可靠系统的美国国家安全局准则)在内的安全性要求。
如在标注数字814处所示,在RFP 850内可以规定网格作业的等待要求。在一个例子中,等待要求规定了所许可的将网格作业的结果返回给用户接口的时间量。例如,网格作业可能需要与最终用户互动,对用户接口的响应期望不到1秒。
如在标注数字806处所示,可以在RFP850内为网格作业规定服务等级协定。具体地说,在服务等级协定(SLA)内列出网格客户机对于网格作业的服务质量(QOS)的期望值。可以理解,SLA可以为网格客户机的所有网格作业或者一网格客户机的一种特定类型的所有网格作业规定一些通用服务期望值。在一个例子中,网格客户机将所有的服务期望列在SLA内。在另一个实施例中,网格供应商可以在SLA内规定一些或所有服务期望值。此外,网格提供商或网格提供商组可以同意特定的网格客户机或网格客户机组所提交的网格作业的SLA。在这个例子中,RFP 850没有包括所规定的SLA,如在标注数字806处所示。然而,在另一个实施例中,可以给RFP 850附一个SLA,或者用文件号或其他形式的名称标注SLA。
如在标注数字838处所示,在RFP 850内可以规定作业的估计运行时间。具体地说,网格客户机可以根据以前执行同样或类似的作业得到对估计作业运行时间的估计,列在RFP 850内,如在标注数字838处所示。即使网格客户机没有对作业运行时间的估计,也可以指定期望作业运行时间,使得网格供应商可以更正确地估计网格作业的工作量期望值。
如在标注数字834处所示,可以在RFP 850内规定网格作业的转售策略(sell-off policy)。具体地说,“转售”策略指出了网格作业是否可以由获胜的网格供应商转售给另一个网格供应商。在这个例子中,如在标注数字834处所示,不许可“转售”。
如在标注数字840处所示,可以在RFP 850内规定对RFP响应的RFP响应时间。具体地说,网格客户机可以规定网格提供商返回对RFP的出价响应的截止时间。截止时间可以包括协商和重新提交的附加时间,对于较紧急的作业可能需要加急费。在这个例子中,如在标注数字840处所示,RFP响应时间为短于或等于2小时。可以理解,响应时间可以用具体时间界限、表达式或条件时间界限给出。
如在标注数字824处所示,可以在RFP850内规定特定网格作业的作业优先级。具体地说,用户可以在网格客户机计划同时提交多个作业时为每个网格作业规定作业优先级。作业优先级指出每个网格作业的优先级。在网格资源不足或出现作业优先顺序影响作业完成的其他情况时,网格提供商可以用诸如在标注数字824处所示的作业优先级“1”之类的作业优先级指示符来确定执行这些网格作业的次序。
如在标注数字842处所示,RFP 850可以包括采样作业,在这里标为“缩影A”。接收到带有采样作业的RFP 850的网格提供商可以决定在网格环境内运行网格作业,得出结果,以确定这个采样作业的实际工作量要求、实际费用和网格环境在处理网格作业中的实际执行。在一个例子中,采样作业项还可以指出采样作业与RFP 850所说明的网格作业相比的规模,使得网格提供商可以根据样本作业所代表的总作业的百分比估计总工作量、费用和执行。
现在来看图9,图中示出了符合本发明的方法、系统和程序的出价控制器的实施例的方框图。如图所示,出价控制器412包括作业请求分析器910。RFP分析器910接收到每个呈现为RFP的虚拟作业请求后可以将RFP保存在队列内,直到可以执行处理。此外,RFP分析器910还可以将用户在虚拟作业请求内规定的值转换成规定在工作量计算中使用的单位。
出价控制器412可以接入包括网格提供商的网格环境内可得到的每个资源一个的表的资源数据库912。具体地说,对于每个资源表,资源数据库912还可以规定客户机可以接入的资源的资源类型、资源性能规格和资源平台特性。此外,资源数据库912可以包括列有网格提供商的网格环境可从本网格环境外得到的资源的表。
可用资源选择器904可以全面过滤可用资源数据库912,确定RFP所要求的资源中哪些资源是可得到的和RFP所要求的资源中这些可得到的资源是否充分。或者,也可以是资源选择器904查询管理网格提供商的可得到的资源的管理模块。
具体地说,资源选择器904确定在RFP内规定的网格硬件平台所需的资源是否为可得到的。如果所规定的网格硬件平台不是可得到的,资源选择器904就确定RFP是否允许转售。如果RFP允许转售,资源选择器904接着就确定网格供应商在通过转售网格作业从另一个网格供应商接入硬件平台的情况下是否可以满足其他RFP准则。如果RFP不允许转售,资源选择器904就可以对这个RFP不返回出价。
接着,资源选择器904确定在RFP内规定的网格软件平台所需的资源是否为可得到的。如果软件平台为可得到的,资源选择器904接着就确定网格供应商是否可以满足其他RFP准则。如果在RFP内规定的网格软件平台不是可得到的,资源选择器904可以检验是否可以用其他网格环境或按需软件资源提供商来提供这个软件平台,如果RFP许可得话;否则,对这个RFP返回无出价。
资源选择器904还确定对于所要求的数据大小和安全性所需的数据接入或传送机制是否有充分的资源可用。如果对于所需带宽没有充分的资源,资源选择器904可以检验可提供所需带宽的其他网格,如果RFP许可的话;否则,就返回无出价。
根据所需的硬件平台、软件平台和数据接入,工作量计算模块接着计算出价请求的负荷因子。总工作量计算器908可以计算虚拟作业请求所规定的作业所需的总工作量。具体地说,总工作量计算器908可以确定RFP的总资源要求和总时间要求。如要结合图10进一步说明的那样,总资源要求可以规定完成一个作业所需的例如总硬件、软件或网络资源量。总时间要求可以规定例如在网格环境内执行作业可用的时间、接入作业所需的数据可用的时间和将作业结果从网格环境返回给客户机系统可用的时间。此外,总工作量计算器908可以根据虚拟作业请求内规定的其他值确定描述总工作量的其他参数。
对于虚拟作业请求,容量计算器902将所需的总工作量与可用的资源相比较,确定网格环境处理虚拟作业请求所规定的作业的容量。具体地说,容量计算器902可以确定网格环境是否可以满足资源和等待要求。如果在本网格环境内可以满足虚拟作业请求的资源和等待要求,容量控制器902就确定费用计算器可以用来确定对于这个工作量要求的费用的总工作量因子。工作量因子还可以为这个作业指出可达到的估计性能。
费用计算器914根据工作量因子计算总费用,如由RFP内规定的费用界限所限制的。此外,总费用还受RFP内规定的由于避开高峰期使用或承诺作为网格联盟的一部分可得到的特别定价的影响。在一个例子中,美国专利申请____(代理人案号AU 5920040568US1)揭示了费用计算器914,该专利申请在此列为参考予以引用。
出价定形器906提取工作量因子、费用,将RFP与网格提供商的可用性作其他一些比较,以使给网格客户机的出价响应定形。在有些情况下,如果网格环境不能满足虚拟作业请求的特定要求,但可以满足虚拟作业请求要求中的一些要求,于是可达到的估计性能可以指示与虚拟作业请求要求不符。例如,如果RFP不允许用CUOD资源,但用CUOD资源会使网格供应商满足网格作业的其他性能要求,于是出价响应可以包括对CUOD要求的异常。在另一个例子中,如果RFP规定了费用计算没有满足的价格限额,于是出价响应可以包括对价格限额的异常。
此外,出价控制器412可以包括采样控制器920,用来对执行作为附于RFP的采样接收的网格缩影进行控制。如前面结合图6所说明的,网格提供商可以处理网格缩影,将结果返回给客户机,使得客户机可以比较一些网格提供商的相对费用。按照另一个优点,采样控制器920如结合图5所说明的那样处理与RFP一起接收到的采样网格作业缩影,再将实际工作量使用情况发送给资源选择器904、将实际工作量发送给工作量计算器908和容量计算器902和将实际费用发送给费用计算器914。根据处理表示完整网格作业的特定百分比的网格作业的采样得到的实际资源使用情况,利用对网格作业的采样测得的实际度量,资源选择器904选择完整网格作业的可用资源,工作量计算器908和容量计算器902计算完整网格作业的负荷因子,而费用计算器914计算完整网格作业的总费用。
现在来看图10,图中示出了一个按照本发明的方法、系统和程序在资源选择器和工作量计算器内根据虚拟作业请求执行的计算的例示性例子。如图所示,接收到的RFP 1000包括为规定完成与虚拟作业请求关联的网格作业的性能要求指定的多个准则。在标注数字1030处所示的表包括多个说明资源选择器904和工作量计算器908根据在接收到的RFP 1000内的值执行的计算的表项。要注意的是,虽然以下说明一般是指工作量计算器908所执行的步骤,但实际上可以是工作量计算器内的这些子计算器执行所说明的一个或多个计算和估计。此外,可以理解,在接收到的RFP 1000内示出的这些值是例示虚拟作业请求内可以包括的使出价控制器412能自动确定与完成所请求的作业关联的工作量和费用的这些类型的值。此外,可以理解,在标注数字1030所标示的表内示出的这些功能只是可以由资源选择器904和工作量计算器908执行的这些类型的功能的一些例示性例子。
如在标注数字1002处所示,可以规定一个“作业时限”,例如指出完成作业的总时间或作业必须完成的最后时间。工作量计算器可以用“作业时限”确定网格环境是否具有为在“作业时限”所规定的时间内完成这个作业所需的呈现为必要的资源量和资源类型的容量。具体地说,如在表1030内所示,工作量计算器可以首先估计在网格环境内完成这个作业所需的总时间(TIMEtotal),然后将所估计的总时间与在标注数字1002处所规定的“作业时限”相比较。在估计在网格环境内完成作业所需的总时间中,可以首先计算所需的总工作量(WORKLOADtotal)。然后,为了计算完成作业所需的总时间,可以将总工作量除以可以用来处理这工作量的总资源量(RESOURCEtotal)。如果完成作业所需的总时间大于或等于“作业时限”,于是返回出错,指出作业不能在“作业时限”内处理。要注意的是,可得到的总资源量可以受到在接收到的RFP 1000内的其他设置的限制,诸如是否可以使用容量按需资源或是否施加了在网格环境内的资源限制。
如在标注数字1004处所示,可以规定“容量按需(CUOD)资格”,指出是否可以接入网格环境可得到的CUOD资源来完成作业。此外,CUOD资格可以规定有资格执行这作业的CUOD资源的限制和类型。在确定虚拟作业请求可用的资源中,如果工作量计算器确定当前网格容量不足以运行作业,工作量计算器可以检验“CUOD资格”。在一个例子中,如在标注数字1032处所示,如果工作量计算器确定完成作业需要更多的资源,工作量计算器就查看CUOD资格是否设置为“有”,如果是这样的话,就将可用的CUOD资源(RESOURCEcuod)与网格资源(RESOURCEbase)相加,计算出完成作业的总可用资源(RESOURCEtotal)。
如在标注数字1006处所示,“资源限制”可以规定对可用来完成作业的可用资源是否有限制。工作量计算器可以检验设置处理作业可用的总资源的“资源限制”值。具体地说,如在标注数字1036处所示,如果“资源限制”置位,总可用资源(RESOURCEtotal)就设置为“资源限制”。
如在标注数字1008处所示,可以规定“作业完成要求”值,指出完成作业的附加要求。例如,如果作业是对于数据库的,而完成这个作业需要将呈现为新的数据市场库的输出传送给客户机系统,于是“作业完成要求”就可以规定将数据市场库返回给客户机系统所需的时间。因此,如在标注数字1038处示,除了所计算的在网格环境内完成作业本身的时间(TIMEjob)之外,工作量计算器可以用附加的时间要求、存储要求、处理要求和网络带宽要求的“作业完成要求”(TIMEcomplete)得出完成作业所需的总时间(TIMEtotal)。此外,如果完成作业所需的总时间大于作业时限,工作量计算器可以返回错误。
如在标注数字1010处所示,“软件(SW)平台种类”可以规定作业的软件平台种类。在一个例子中,软件平台种类可以由一些得到定义的号码规定。例如,可以将交互型软件种类规定为SW2,而将web容留应用规定为SW3。通常,工作量计算器可以用所规定的软件平台种类来确定类似的作业应用特征。具体地说,如在标注数字1040处所示,资源选择器和工作量计算器可以用所定义的软件平台种类来确定网格环境是否具有支持这个软件种类的硬件。重要的是,工作量计算器需确定作业是一个批次性的还是交互性的作业,因为不同的硬件平台在对不同的软件平台类型的适应性方面是不同的。例如,zSeries处理器对于交互性作业可以更为有效,而pSeries处理器对web容留应用可以更为有效。(zSeries和pSeries为国际商用机器公司的注册商标)。
如在标注数字1012处所示,“硬件(HW)平台种类”可以规定作业的硬件平台种类。在一个例子中,硬件平台种类可以由一些得到定义的号码规定。通常,工作量计算器可以用硬件平台种类值来确定对于作业的所需硬件类型的作业和吞吐量特性有哪些网格硬件是可用的。具体地说,如在标注数字1042处所示,资源选择器和工作量计算器可以用所定义的硬件平台种类来确定在这个网格环境内是否有优选种类的硬件平台可用。如果在标注数字1012处没有规定硬件平台种类,工作量计算模块就可以试图根据其他所规定的作业特征选择最有效的硬件种类。例如,如果为作业运行数据库应用,而网格含有预先配置的一些运行数据库应用的pSeries 650节点,于是pSeries 650节点就可以是优选的硬件。
如在标注数字1014处所示,“数据接入和传送机制”值可以规定对作业所需的数据的移动或接入。资源选择器和工作量计算器可以用“数据接入和传送机制”值和数据大小确定与任何必需的移动或接入数据关联的时间和资源。例如,如在标注数字1044处所示,RFP可以在“数据接入和传送机制”内规定网格管理器用GridFTP应用从客户机获得数据。资源选择器和工作量计算器于是在结合数据大小和硬件吞吐量考虑GridFTP应用传送率后计算出用GridFTP应用从客户机获得数据所需的时间和资源。
如在标注数字1016处所示,可以为作业规定“数据大小”。资源选择器和工作量计算器可以在计算在标注数字1014处规定的数据接入所需的资源和所需的时间,在这个例子中如在标注数字1944处所示。在一个例子中,如果没有为“数据大小”规定值,工作量计算器就可以假设执行这个作业没有数据需要传送。
如在标注数字1018处所示,可以规定“执行和等待要求”,用来指出对于作业的执行和等待要求。如在标注数字1048处所示,工作量计算器可以用“执行和等待要求”与其他一些值一起确定作业的所需资源保证。例如,没有特定的性能要求的作业在数量和相对功率上需要比要求在一秒以内对用户响应的交互性作业少的资源。在另一个例子中,如果在标注数字618处规定了等待值,就将这个等待值与网格环境内可得到的硬件平台的规格相比较。具体地说,可以将诸如标准性能鉴定公司整数(SPECint)或SPEC浮点(SPECfp)之类的工业标准与等待值相比较,也可以根据诸如硬件平台种类或作业完成界限之类的RFP提交数据的其他组合进行一些计算。
此外,如在标注数字1020处所示,可以规定“网格转售”指示符来指出资源选择器和工作量计算器是否可以考虑使用网格环境外的资源以满足作业的要求,如在标注数字1050处所示。在一个例子中,如果客户机确实希望单个网格资源供应商对数据安全和作业结果负责,这个客户机就可以不允许网格转售。
现在来看图11,这个方框图例示了网格提供商响应RFP产生的RFP响应。如图所示,自动RFP响应1100包括指出处理由RFP描述的网格作业的网格提供商的能力和协议的指示。具体地说,如在标注数字1102处所示,RFP响应1100包括响应方网格提供商的名称,在本例中响应方为“IBM网格”。此外,如在标注数字1104处所示,RFP响应1100包括如在RFP内所指定的作业号。接着,RFP响应1100包括如在标注数字1106处所示的4.6小时的估计运行时间和在标注数字1108处所示的$4600.00的估计作业费用。此外,网格提供商可以规定RFP响应的终止日期和时间,如在标注数字1110处所示。
此外,如前面所说明的那样,RFP响应可以包括对RFP规格的异常。在这个例子中,如在标注数字1112处所示,RFP响应1100包括实际等待(LATENCYACTUAL)大于等待界限(LATENCYLIMIT)的异常。此外,RFP响应1100还包括一些意见,如在标注数字1114处所示,指出网格客户机在重新协商过程期间调整RFP的附加协商点和建议。
按照一个优点,出价定形器906可以使诸如RFP响应1100之类的出价响应定形成只具有网格提供商响应RFP所需的最少信息。具体地说,出价定形器906避免将对RFP的每个规格的响应都包括在内是有益的。此外,特别有益的是出价定形器906尽量使RFP响应1100内的信息减少,以减少需从网格提供商流出的数据和使流入网格客户机的数据减到最少。在响应最小化的一个例子中,如果RFP规定不许可转售,RFP响应就不需要指出本网格提供商不会转售这个网格作业,然而RFP响应可以包括要求转售的异常或建议允许转售以提高网格作业的性能或降低网格作业的费用的意见。
要指出的是,在用户将网格作业的采样包括在RFP内时,对这个RFP的响应可能需要指出响应内的价格和性能是网格提供商是运行了这个采样后计算出来的还是只是根据一些估计得出的。此外,还要指出的是,在用户纳入了网格作业的采样时,网格提供商可以返回包括采样结果的响应。
现在来看图12,这个高层逻辑流程中例示了在环境内管理对RFP请求的响应的过程和程序。如图所示,这个由网格提供商的出价控制器执行的过程在方框1200启动后进至方框1202。方框1202示为由出价控制器确定是否接收到RFP。如果没有接收到RFP,过程就重复方框1202所示的操作。如果接收到虚拟RFP,过程就进至方框1204。
方框1204示为出价控制器确定这个作业是否为以前所提交的一个的重复。如果这个作业是以前所提交的作业的重复,过程就进至方框1206。方框1206示为根据以前对这个作业的工作量所确定的价格返回对于这个作业的工作量的当前价格,从而过程结束。如果在方框1204确定作业不是以前所提交的作业的重复,过程就进至方框1232。
方框1232示为确定RFP是否包括诸如缩影之类的作业采样。如果包括作业采样,过程就进至方框1234。方框1234示为将作业采样传送给网格调度器执行作业采样。然后,在方框1236确定作业采样的测量结果是否为可得到的。一旦作业采样的测量结果是可得到的,过程就进至方框1208。具体地说,测量结果可以包括在网格提供商的网格环境内作业采样的实际工作量、实际费用和实际性能。具体地说,在采样表示完整网格作业的某个百分比的情况下,在过程的其他一些步骤期间可以接入这些测量结果,以根据处理网格作业的采样的测量结果计算费用和执行。
在方框1208,出价控制器确定所需的网格硬件平台是否为可得到的。如果所需的网格硬件平台是可得到的,过程就进至方框1214。否则,如果所需的网格硬件平台不是可得到的,过程就进至方框1210。方框1210示为出价控制器确定是否许可转售。如果不许可转售,过程就进至方框1212。方框1212示为出价控制器返回无出价,从而过程结束。具体地说,无出价可以标识网格提供商、作业号和不可接受指示符。如果在方框1210确定许可转售,过程就进至方框1214。
方框1214示为出价控制器确定所需的网格软件平台是否为可得到的。如果所需的软件平台不是可得到的,过程就进至方框1216;方框1216示为出价控制器检验其他网格提供商的软件平台的可用性或者返回无出价,从而过程结束。在一个例子中,出价控制器可以只是检验其他网格提供商的软件平台可用性,如果RFP允许转售的话。如果在方框1214确定所需的网格软件平台是可得到的,过程就进至方框1218。
方框1218示为出价控制器确定存储所规定的数据大小的所需带宽是否为可得到的。如果所需带宽不是可得到的,过程就进至方框1216。如果所需带宽是可得到的,过程就进至方框1220。
方框1220示为出价控制器将RFP工作量限制发送给工作量计算模块。在一个例子中,RFP工作量限制包括CUOD资格、作业时限、作业资源限制、性能要求、等待要求、数据大小和数据传送要求。然后,在方框1222出价控制器确定从工作量计算模块是否接收到负荷因子。如果还没有接收到负荷因子,过程就重复方框1222所示的操作。在接收到负荷因子时,过程进至方框1224。具体地说,按照网格提供商估计资源使用的度量单位,负荷因子可以包括作业所需的资源量、占用网格资源的时间、网格资源需执行的计算的类型和其他指示网格作业要占用网格资源的负荷的指示。具体地说,网格提供商可以定义自定义的表达式来计算负荷因子,它考虑了占用小时、专用于网格作业的资源、数据接入和网格作业的其他要求。
方框1224示为出价控制器将RFP定价限制和负荷因子发送给费用计算模块。在一个例子中,RFP定价限制包括费用界限、特别定价和网格联盟。在方框1226,出价控制器确定是否接收到费用计算结果。如果还没有接收到费用计算结果,过程就重复方框1226所示的操作。如果接收到费用计算结果,过程就进至方框1228。具体地说,费用计算模块按负荷因子计算费用,再用给网格联盟或成批提交的网格作业的任何特别定价进行调整。具体地说,网格提供商可以保存一些费用度量,使费用计算模块可以根据钟点、网格作业类型、网格客户机标识及其他影响费用的因素调整按特定负荷因子计算的费用。
在方框1228,出价控制器确定费用计算结果是否等于或小于在RFP内规定的费用界限。如果费用计算不等于或小于这个界限,过程就进至方框1230。方框1230示为出价控制器检验其他网格,如果RFP允许转售的话;否则,返回无出价,从而过程结束。如果在方框1228确定费用计算等于或小于这个界限,过程就进至方框1232。
方框1232示为出价控制器确定费用计算结果是否等于或小于估计。如果费用计算结果不等于或小于估计,过程就进至方框1234。方框1234示为出价控制器用这个价格响应RFP,从而过程结束。如果在方框1232确定费用计算结果等于或小于估计,过程就进至方框1236。方框1236示为出价控制器用这个价格和建议调整RFP以达到成本界限的意见或对这个RFP会使网格提供商满足成本界限的异常响应RFP,从而过程结束。
现在来看图13,这个高层逻辑流程图示出了按照本发明的方法、系统和程序控制将RFP提交给网格提供商和处理出价响应的过程和程序。如图所示,由网格客户机代理执行的这个过程在方框1300启动后进至方框1301。方框1301示为完成和存储网格作业RFP,然后过程进至方框1302。具体地说,如前面所说明的,RFP规格控制器可以响应与网格提交关联的、费用合格的作业触发用户,完成和存储RFP。
然后,在方框1302将作业安排在本地执行。此后,在方框1304确定是否要将作业提交给外部网格提供商。如果确定不将作业提交给外部网格提供商,过程就进至方框1306。方框1306示为在本地网格或资源组内执行作业,从而过程结束。
再回到方框1304,如果确定将作业提交给外部网格提供商,过程就进至方框1308。方框1308示为确定作业是否与网格联盟关联。如果作业与网格联盟关联,过程就进至方框1312。方框1312示为将RFP提交给网格联盟方,然后过程进至方框1314。如果在方框1308确定作业不与网格联盟关联,过程就进至方框1310。方框1310示为将RFP提交给如在RFP内指定的所选网格供应商或根据网格提供商规格选择的网格供应商,然后过程进至方框1314。
方框1314示为确定在截止时间前是否接收到一些RFP响应。如果在截止时间前没有接收到RFP响应,过程就进至方框1316。方框1316示为向管理员报警,指出没有接收到响应,从而过程结束。如果在方框1314确定在截止时间前接收到一些RFP响应,过程就进至方框1318。
方框1318示为确定这些响应内是否有满足提交准则的。如果在这些响应内没有满足提交准则的,过程就进至方框1316,向管理员报警,指出响应都不符合提交准则,从而过程结束。或者,RFP异常管理器可以试图与网格提供商就响应内的异常或意见重新协商RFP。如果在方框1318确定在响应内有满足提交准则的,过程就进至方框1320。
方框1320示为确定是否有多个满足提交准则的响应可用。如果没有多个响应可用,过程就进至方框1322。方框1322示为将作业提交给响应满足提交准则的那一个网格提供商,从而过程结束。如果有多个响应可用,过程就进至方框1324。方框1324示为将多个可用响应提交给网格分析器进行如结合图14所说明的分析,从而过程结束。
下面来看图14,这个高层逻辑流程图示出了分析出价的过程和程序。如图所示,这个由网格客户机的响应分析器执行的过程在方框1400启动后进至方框1402。方框1402示为确定是否接收到多个对作业X的网格RFP响应。如果没有接收到多个响应,过程就重复方框1402所示的操作。如果接收到多个响应,过程就进至方框1404。具体地说,在一个例子中,图14所示的过程由图13的确定接收到多个满足提交准则的RFP响应的过程调用。
方框1404示为确定在响应内是否有任何异常。如果没有异常,过程就进至方框1412。如果有异常,过程就进至方框1406。方框1406示为将异常提交给RFP异常管理器。然后,在方框1408确定异常是否解决。如果异常解决,过程就进至方框1412。如果异常没有解决,过程就进至方框1414。在方框1414,向管理员报警,指出带有异常的RFP响应不合格,从而过程结束。
在方框1412,对响应定价进行分析。接着,在方框1414,排除出价比最低费用出价高25%以上的所有RFP响应,然后过程进至方框1416。可以理解,减少合格响应所用的25%百分比和其他百分比只是一些例子,对于不同的网格客户机可以是不同的。
方框1416示为确定是否还有多个RFP响应剩下。如果没有多个响应剩下,过程就进至方框1420。方框1420示为将优选供应商处理为获胜响应,然后过程进至方框1432。方框1432示为将作业提交给具有获胜响应的网格提供商,从而过程结束。如果在方框1416确定还有多个RFP响应剩下,过程就进至方框1418。方框1418示为确定是否有优选供应商剩下。如果有优选供应商剩下,过程就进至方框1420。如果没有优选供应商剩下,过程就进至方框1422。
方框1422示为选择出价比最低费用出价高不到14%的响应。接着,在方框1424,确定是否有多个响应剩下。如果没有多个响应剩下,过程就进至方框1426。方框1426示为将最低费用的响应处理为获胜出价,然后过程进至方框1432。如果在方框1424确定还有多个RFP响应剩下,过程就进至方框1428。方框1428示为分析估计作业运行时间。接着,在方框1430,将运行时间最短的响应处理为获胜出价,过程就进至方框1432。可以理解,除了费用和运行时间之外,可以考虑在出价响应内包括的其他因素,用来选择获胜响应。
虽然以上是结合本发明的优选实施例对本发明进行具体说明的,但熟悉该技术的人员可以理解其中无论在形式上还是在细节上都可以作出各种更改,这并不背离本发明的精神和专利保护范围。
权利要求
1.一种计算机实现的自动响应来自网格客户机的虚拟作业请求的方法,所述方法包括下列步骤在网格业务处通过网络从客户机系统接收对于在网格提供商的网格环境中处理作业的作业请求,其中所述作业请求规定了所述网格提供商处理特定网格作业所需的至少一个准则;在所述网格环境内执行的所述网格业务处理所述作业请求的所述至少一个准则,以确定所述网格环境是否包括所述作业请求所需的硬件平台种类、软件平台种类和网络带宽;响应确定所述网格环境包括所述作业请求所需的所述硬件平台种类、所述软件平台种类和所述网络带宽,为所述作业请求计算总所需工作量;为所述作业请求计算所述总所需工作量的总费用;以及自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统,从而使得所述客户机系统能够确定是否将所述特定网格作业提交给所述网格提供商。
2.按照权利要求1所述的计算机实现的自动响应来自网格客户机的作业请求的方法,其中所述为所述作业请求计算总所需工作量的步骤进一步包括下列步骤只允许所述总所需工作量包括所述作业请求所允许的按需资源和外部网格提供商资源。
3.按照权利要求1所述的计算机实现的自动响应来自网格客户机的作业请求的方法,其中所述为所述作业请求计算总所需工作量的步骤进一步包括下列步骤根据所述作业请求内的所述至少一个准则,计算对在所述网格环境内执行所述作业、访问所述作业的所需数据和将所述作业的结果从所述网格环境返回给所述客户机系统至少其中之一可用的总时间;根据所述作业请求内的所述至少一个准则,计算从硬件资源、软件资源和网络资源至少其中之一处理所述作业的总资源要求;以及在所述网格环境中从多个可用资源中确定使得所述网格提供商能够以所述可用的总时间和所述总资源要求处理所述特定网格作业的可用资源的选择。
4.按照权利要求1所述的计算机实现的自动响应来自网格客户机的作业请求的方法,其中为所述作业请求计算所述总所需工作量的总费用的步骤进一步包括下列步骤确定所述作业请求是否描述了一种根据所述客户机系统同意将这种作业请求只提交给在网格联盟内指定的至少一个网格提供商而预先承诺折扣价的作业请求。
5.按照权利要求1所述的计算机实现的自动响应来自网格客户机的作业请求的方法,其中所述自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统的步骤进一步包括下列步骤选择对所述作业请求内的所述至少一个准则的至少一个异常;以及返回带有所述至少一个异常的所述响应,其中所述客户机系统能够根据带有基于所述至少一个异常调整的所述至少一个准则的经调整的作业请求,通过所述网格业务与所述网格提供商重新协商。
6.按照权利要求1所述的计算机实现的自动响应来自网格客户机的作业请求的方法,其中所述自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统的步骤进一步包括下列步骤检测对所述作业请求的可能调整,以按照所述网格提供商的定价限制使所述特定网格作业的费用较低;以及返回带有对所述作业请求的所述可能调整的所述响应,其中所述客户机系统能够根据基于所述可能调整的经调整的作业请求,通过所述网格业务与所述网格提供商重新协商。
7.按照权利要求1所述的计算机实现的自动响应来自网格客户机的作业请求的方法,所述方法还包括下列步骤响应接收带有采样网格作业附件的所述作业请求,将所述采样网格作业附件传送给所述网格提供商的网格调度器,其中所述采样网格作业附件表示所述特定网格作业的百分比采样,其中所述网格调度器调度所述网格环境内的资源以处理所述采样网格作业附件,其中所述网格提供商度量所述采样网格作业的实际资源使用、所述采样网格作业的实际费用和所述采样网格作业的实际性能;以及根据基于所述特定网格作业的所述百分比采样的所述实际资源使用、所述实际费用和所述实际性能,计算所述作业请求的所述总所需工作量和所述作业请求的所述总费用。
8.一种自动响应来自网格客户机的虚拟作业请求的系统,所述系统包括在网格环境中执行的网格业务,其中所述网格业务便于接收由客户机系统提交的用于在网格提供商的所述网格环境内处理作业的作业请求,其中所述作业请求规定了所述网格提供商处理特定网格作业的至少一个所需准则;所述网格业务进一步包括确定所述网格环境是否包括所述作业请求的所述至少一个准则所需的硬件平台种类、软件平台种类和网络带宽的装置;响应确定所述网格环境包括所述作业请求所需的所述硬件平台种类、所述软件平台种类和所述网络带宽,为所述作业请求计算总所需工作量的装置;为所述作业请求计算所述总所需工作量的总费用的装置;以及自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统,从而使得所述客户机系统能够确定是否将所述特定网格作业提交给所述网格提供商的装置。
9.按照权利要求8所述的自动响应来自一个网格客户机的作业请求的系统,其中所述为所述作业请求计算总所需工作量的装置进一步包括只允许所述总所需工作量包括所述作业请求所允许的按需资源和外部网格提供商资源的装置。
10.按照权利要求8所述的自动响应来自一个网格客户机的作业请求的系统,其中所述为所述作业请求计算总所需工作量的装置进一步包括根据所述作业请求内的所述至少一个准则,计算对在所述网格环境内执行所述作业、访问所述作业的所需数据和将所述作业的结果从所述网格环境返回给所述客户机系统至少其中之一可用的总时间的装置;根据所述作业请求内的所述至少一个准则,计算从硬件资源、软件资源和网络资源至少其中之一处理所述作业的总资源要求的装置;以及在所述网格环境中从多个可用资源中确定使得所述网格提供商能够以所述可用的总时间和所述总资源要求处理所述特定网格作业的可用资源的选择的装置。
11.按照权利要求8所述的自动响应来自一个网格客户机的作业请求的系统,其中所述为所述作业请求计算总所需工作量的总费用装置进一步包括确定所述作业请求是否描述了一种根据所述客户机系统同意将这种作业请求只提交给在网格联盟内指定的至少一个网格提供商而预先承诺折扣价的作业请求的装置。
12.按照权利要求8所述的自动响应来自一个网格客户机的作业请求的系统,其中所述自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统的装置进一步包括选择对所述作业请求内的所述至少一个准则的至少一个异常的装置;以及返回带有所述至少一个异常的所述响应的装置,其中所述客户机系统能够根据带有基于所述至少一个异常调整的所述至少一个准则的经调整的作业请求,通过所述网格业务与所述网格提供商重新协商。
13.按照权利要求8所述的自动响应来自一个网格客户机的作业请求的系统,其中所述自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统的装置进一步包括检测对所述作业请求的可能调整,以按照所述网格提供商的定价限制使所述特定网格作业的费用较低的装置;以及返回带有对所述作业请求的所述可能调整的所述响应的装置,其中所述客户机系统能够根据基于所述可能调整的经调整的作业请求,通过所述网格业务与所述网格提供商重新协商。
14.按照权利要求8所述的自动响应来自网格客户机的作业请求的系统,其中所述网格业务进一步包括响应接收带有采样网格作业附件的所述作业请求,将所述采样网格作业附件传送给所述网格提供商的网格调度器的装置,其中所述采样网格作业附件表示所述特定网格作业的百分比采样,其中所述网格调度器调度所述网格环境内的资源以处理所述采样网格作业附件,其中所述网格提供商度量所述采样网格作业的实际资源使用、所述采样网格作业的实际费用和所述采样网格作业的实际性能;以及根据基于所述特定网格作业的所述百分比采样的所述实际资源使用、所述实际费用和所述实际性能,计算所述作业请求的所述总所需工作量和所述作业请求的所述总费用的装置。
15.一种自动响应来自网格客户机的虚拟作业请求的程序,所述程序包含在计算机可读媒体内,所述程序包括使计算机执行下列步骤的计算机可执行指令在网格业务处通过网络从客户机系统接收对于在网格提供商的网格环境中处理作业的作业请求,其中所述作业请求规定了所述网格提供商处理特定网格作业所需的至少一个准则;确定所述网格环境是否包括所述作业请求的所述至少一个准则所需的硬件平台种类、软件平台种类和网络带宽;响应确定所述网格环境包括所述作业请求所需的所述硬件平台种类、所述软件平台种类和所述网络带宽,为所述作业请求计算总所需工作量;为所述作业请求计算所述总所需工作量的总费用;以及自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统,从而所述客户机系统能够确定是否将所述特定网格作业提交给所述网格提供商。
16.按照权利要求15所述的自动响应来自一个网格客户机的作业请求的程序,其中所述为所述作业请求计算总所需工作量的步骤进一步包括下列步骤根据所述作业请求内的所述至少一个准则,计算对在所述网格环境内执行所述作业、访问所述作业的所需数据和将所述作业的结果从所述网格环境返回给所述客户机系统至少其中之一可用的总时间;根据所述作业请求内的所述至少一个准则,计算从硬件资源、软件资源和网络资源至少其中之一处理所述作业的总资源要求;以及在所述网格环境中从多个可用资源中确定使得所述网格提供商能够以所述可用的总时间和所述总资源要求处理所述特定网格作业的可用资源的选择。
17.按照权利要求15所述的自动响应来自一个网格客户机的作业请求的程序,其中所述为所述作业请求计算总所需工作量的总费用的步骤进一步包括下列步骤确定所述作业请求是否描述了一种根据所述客户机系统同意将这种作业请求只提交给在网格联盟内指定的至少一个网格提供商而预先承诺折扣价的作业请求。
18.按照权利要求15所述的自动响应来自一个网格客户机的作业请求的程序,其中所述自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统的步骤进一步包括下列步骤选择对所述作业请求内的所述至少一个准则的至少一个异常;以及返回带有所述至少一个异常的所述响应,其中所述客户机系统能够根据带有基于所述至少一个异常调整的所述至少一个准则的经调整的作业请求,通过所述网格业务与所述网格提供商重新协商。
19.按照权利要求15所述的自动响应来自一个网格客户机的作业请求的程序,其中所述自动将包括所述网格提供商的标识符和所述作业请求的所述总费用的对所述作业请求的响应返回给所述客户机系统的步骤进一步包括下列步骤检测对所述作业请求的可能调整,以按照所述网格提供商的定价限制使所述特定网格作业的费用较低;以及返回带有对所述作业请求的所述可能调整的所述响应,其中所述客户机系统能够根据基于所述可能调整的经调整的作业请求,通过所述网格业务与所述网格提供商重新协商。
20.按照权利要求15所述的自动响应来自一个网格客户机的作业请求的程序,所述程序还包括使所述计算机执行下列步骤的计算机可执行指令响应接收带有采样网格作业附件的所述作业请求,将所述采样网格作业附件传送给所述网格提供商的网格调度器,其中所述采样网格作业附件表示所述特定网格作业的百分比采样,其中所述网格调度器调度所述网格环境内的资源以处理所述采样网格作业附件,其中所述网格提供商度量所述采样网格作业的实际资源使用、所述采样网格作业的实际费用和所述采样网格作业的实际性能;以及根据基于所述特定网格作业的所述百分比采样的所述实际资源使用、所述实际费用和所述实际性能,计算所述作业请求的所述总所需工作量和所述作业请求的所述总费用。
全文摘要
本发明提供了一种网格提供商自动响应指出一个网格作业的准则的出价请求的方法、系统和程序。网格提供商的出价控制器网格业务从客户机接收在网格提供商的网格环境内处理作业的作业请求,这个作业请求规定了网格提供商处理特定网格作业的至少一个所需准则。网格业务确定网格环境是否包括作业请求所要求的硬件平台种类、软件平台种类和网络带宽。如果网格业务确定网格环境包括充分的硬件平台种类、软件平台种类和网络带宽,就为作业请求计算总所需工作量。然后,估计总所需工作量的总费用,并且网格业务自动将包括网格提供商的标识符和作业请求的总费用的出价响应返回给客户机系统。此外,出价响应还可以包括执行作业请求所描述的网格作业的总时间。
文档编号H04L29/06GK1913525SQ200610003670
公开日2007年2月14日 申请日期2006年1月11日 优先权日2005年1月12日
发明者克雷格·W.·费伦斯坦, 里克·A.·哈密尔顿二世, 约史·约瑟夫, 詹姆斯·W.·斯曼 申请人:国际商业机器公司