应用启动协议的制作方法

文档序号:6489541阅读:157来源:国知局
专利名称:应用启动协议的制作方法
技术领域
本发明涉及由数字计算机执行的数据处理,并且更具体地,涉及网格应用启动协议(grid application start protoco1)。
背景技术
在今天的数据中心里,运行商业应用的客户端-服务器网络中的服务器簇往往在管理无法预测的工作负荷方面表现不佳。一个服务器可能处于空闲状态,而另一个为工作所迫。这导致了如下尴尬情形需要避免网络瓶颈并保证与客户、商业伙伴和雇员的连通性的公司通常针对工作负荷需求中的最高峰值制订计划,然后注意到那些过剩的服务器大部分时间负荷不足地运行良好。
在网格计算中,在一个机构中的或在多个机构之间的所有异质计算机和系统变成了一个大型的综合计算系统。然后,该单个的综合系统能够以有效的方式处理对于任何单个计算机来说都太大且太密集而不能轻易处理的问题和处理。
更特别地,网格计算是一种形式的分布式系统,其中跨越网络共享计算资源。网格计算使得能够选择、集中和共享驻留在多个管理域中且跨越地域的信息资源。例如基于这些信息资源的可用性、能力和成本以及用户的服务质量(QoS)要求来共享这些信息资源。网格计算可能意味着降低所有权成本,集中计算、数据和存储资源以及提高计算、数据和存储资源的效率,并且使得能够虚拟组织应用和数据共享。

发明内容
在一个方面,本发明以一种方法为特征,该方法包括在网络中,通过发送可用计算资源的列表来响应对可用于计算任务的计算资源的请求;接收用于预留的、对计算资源的选择。该方法包括如果对计算资源的选择可用于计算该任务,则预留该选择并发送该选择的预留号码;以及如果计算资源不可用于计算该任务,则向网络的不同部分发送该请求。
实施例可以包括下列特征中的一个或多个。可用计算资源的列表包括可用计算资源的网络地址。预留该选择还包括分配所述预留号码。预留还包括等待计算资源开始计算所述任务一预定的时间段;以及如果该预定的时间段过期并且计算资源还没有开始计算所述任务,则释放该计算资源以用于以后的用于计算第二任务的预留。
在一些情况中,响应该请求还包括将计算所述任务的要求与可用计算资源的规范进行比较。在这些情况下,该方法可以还包括通过询问网络的一部分来生成计算资源的列表。
在另一方面,本发明以一种方法为特征,该方法包括在网络中,由第一服务发送对于一个或多个可用于计算任务的计算资源的列表的请求。该方法还包括由第二服务通过收集关于计算资源的信息来响应该请求;发送可用计算资源的列表;接收用于预留的、所选择的计算资源;预留所选择的计算资源,并且如果所选择的计算资源可用于计算该任务,则发送所选择的计算资源的预留号码;以及如果所述第一服务没有关于可用计算资源的信息,则向第二服务发送该请求。
实施例可以包括下列特征中的一个或多个。发送该可用计算资源的列表包括发送可用计算资源的网络地址。预留所选择的计算资源还包括分配预留号码。预留还包括等待对所选择的计算资源的请求一预定的时间段,以便开始计算所述任务;以及如果超过该预定的时间段且还没有接收到对预留的计算资源的请求,则释放所选择的计算资源以用于以后的用于计算第二任务的预留。第二服务与所述第一服务具有存储的关系。
在一些情况下,响应该请求还包括将计算所述任务的要求与由所述第一服务可访问的信息所描述的可用计算资源的规范进行比较。在这些情况中,所述第一服务在第一计算机系统上执行指令,并且由所述第一服务管理的计算资源包括位于该第一计算机系统上的第一组计算资源。此外,第三服务与所述第一服务具有存储的关系,该第三服务在第二计算机系统上执行指令,并且由所述第一服务可访问的信息所描述的计算资源还包括由所述第三服务可访问的信息所描述的第二组计算资源。
在另一方面,本发明以一种网络为特征,该网络包括第一计算机系统,其具有第一组一个或多个计算资源,并且被配置成执行第一服务的指令;以及第二计算机系统,其被配置成执行第二服务的指令。所述第一服务被配置成通过收集关于至少第一组一个或多个计算资源的信息来响应对用于计算任务的计算资源的列表的请求;发送包括第一组一个或多个计算资源的子集的列表;接收用于预留的、对计算资源的选择;预留该选择,并且如果对计算资源的选择可用于计算所述任务,则发送该选择的地址;以及如果计算资源不可用于计算所述任务,则向所述第二服务发送该请求。
实施例可以包括下列特征中的一个或多个。网络还包括第三计算机系统,其具有第二组一个或多个计算资源,并且被配置成执行第三服务的指令,所述第三服务与第一服务具有存储的关系;其中,所述第一服务还被配置成收集关于第二组一个或多个计算资源的信息,并且所述列表还包括第二组一个或多个计算资源的子集。预留该选择还包括分配预留号码。所述第一服务还被配置成等待预留的计算资源一预定的时间段,以便开始计算所述任务;以及如果超过该预定的时间段,并且预留的计算资源还没有开始计算所述任务,则释放预留的计算资源以用于以后的用于计算第二任务的预留。响应该请求还包括将计算所述任务的要求与来自第一和第二组计算资源的可用计算资源的规范进行比较。所述第二服务与所述第一服务具有存储的关系。
这些或其它实施例可以具有下列优点中的一个或多个。使用网格应用启动协议,应用能够在实际尝试在网格节点上运行之前获得在网格景观中分配的必需的资源。此外,在同一网格节点上试图同时启动的类似应用不会相互干扰。
在下面的附图和描述中将阐述本发明一个或多个实施例的细节。本发明的其它特征、目的和优点将通过说明书和附图以及通过权利要求书而变得清楚。


图1是网格计算环境的方框图。
图2是用于发现和预留在图1的网格计算环境中的资源的流程图。
图3是用于在图1的网格计算环境中安装、运行和去除应用的流程图。
图4是在图1的网格计算环境中的计算机设备的方框图。
图4A是用于启动在图4的计算机设备中的应用的流程图。
图5是用于启动在图1的网格计算环境中的网格管理器的流程图。
图5A是增加了另一计算机设备的图1的网格计算环境的方框图。
图6是用于可视化网格计算环境的示例性网格图形用户界面(GUI)组件的方框图。
图7是网格浏览器组件的方框图。
在不同附图中相似的附图标记指示相似的单元。
具体实施例方式
如图1所示,网格计算环境100中的服务管理用于应用的计算资源。网格计算环境100是能够被单独分配以执行应用的计算或数据检索任务的一组分布式计算资源。计算资源包括计算机设备12、14、16、18、20和22。计算机设备使用网络8通信。应用具有可缩放的计算要求。例如,使用网格计算环境100中的计算机设备12、14、16、18、20和22的示例应用是互联网定价配置器(configurator)。计算机设备12经由连接到互联网的计算机设备上的网络浏览器向用户提供对定价信息的网络访问。该网络浏览器可以是能够显示内容和/或执行诸如网页、媒体文件和程序的应用的任何应用,诸如Netscape Navigator、Microsoft Internet Explorer、和类似应用。
在这个例子中,计算机设备12上的网络服务器向用户提供定价信息。IPC调度器(dispatcher)116将要计算的每个价格的计算参数传送给分别在计算机设备12、14、16和18上执行的IPC服务器120、122、124和126。由于互联网上的网络服务器和应用的灵活性,用户的数目会发生变化。这就产生了对互联网定价配置器的动态计算要求。IPC管理器118与网格计算环境100中的服务通信,以使得服务能够根据互联网定价配置器的动态计算要求而分配和解除分配计算资源(例如,计算机设备12、14、16、18、20、22中的处理器)。以这种方式分配和解除分配计算资源使得计算机设备12、14、16、18、20和22被指定为通用计算资源,且不会只是专用于处理互联网定价配置器应用的峰值需求。IPC管理器118与IPC调度器116协同工作,以使得IPC调度器116可以访问(have access to)网络8中的资源。
这种分配和解除分配网格计算环境100中的资源的能力使得IPC管理器118能够在“根据需要”的基础上定位和使用可用计算资源。一旦资源被定位,IPC管理器118就能够使用网格计算环境100中的服务来将IPC服务器120、122、124和126作为应用安装到网格计算环境100中的计算机设备上。IPC调度器116使用由Tuecke等人在开放网格服务基础设施(Open GridServices Infrastructure,OGSI)1.0版本中定义的Web服务定义语言(WebService Definition Language,WSDL)接口来管理和交换IPC调度器116和IPC服务器120、122、124和126之间的信息流。例如,OGSI WSDL接口能够被用来将用于定价计算的计算参数从IPC调度器116传送到IPC服务器120、122、124和126。OGSI WSDL接口还能够被用来将完成的结果从IPC服务器120、122、124和126传送回IPC调度器116。将OGSI 1.0版本通过引用合并于此。OGSI WSDL接口使得能够对网格计算环境100和诸如互联网定价配置器的应用进行受控的、具有错误恢复能力的(fault-resilient)且安全的管理。
在IPC调度器116使用IPC服务器120、122、124和126执行用户的计算的同时,网格计算环境100中的服务监测运行IPC服务器120、122、124和126的、网格计算环境100中的计算机设备的资源利用。服务还将该利用信息发送到IPC管理器118。根据在利用要求和当前资源负荷之间的比较,IPC管理器118能够动态地通知网格计算环境100中的服务以便为IPC服务器120、122、124和126分配更多的资源,或者解除分配资源,以便使网格计算环境100中的资源利用保持在期望的水平。
网格管理器152、154、156、160、162和164分别驻留在计算机设备12、14、16、18、20和22中。在网格计算环境100中,网格管理器对能够具有方向关系(directional relations),该方向关系将一个网格管理器分类为另一个网格管理器的上级(superior)。网格管理器能够与其它网格管理器具有多于一个的上级关系。例如,网格管理器152与网格管理器154和156具有上级关系。网格管理器还能够与其它网格管理器具有多于一个的下级关系(inferiorrelations)。通过这些层级关系,IPC管理器118不需要访问网络8中的所有计算机设备的列表,以便使用网格计算环境100中的计算资源。仅仅要求IPC管理器118可以访问一个运行网格管理器的计算机设备(例如运行网格管理器152的计算机设备12)的网络地址,并且该网格管理器利用它与运行在其它计算机设备上的其它网格管理器的关系来向IPC调度器116提供对网格计算环境100中的其它计算机设备的间接访问。
网格管理器(例如152、154、156、160、162和164)维护与其它网格管理器的所有上级关系的第一列表和与其它网格管理器的所有下级关系的第二列表。每个网格管理器都在传输控制协议(TCP)、超文本传输协议(HTTP)和简单对象访问协议(SOAP)之上使用例如上述OGSI WSDL接口维护经由网络8到这些列表中的所有网格管理器的“永远打开”的通信信道。这些列表和对应的通信信道能够被修改,以允许在运行时间期间动态地重新配置网格层级。这还允许在层级中动态地替换故障网格管理器。例如,参照图1,如果网格管理器154出现故障,则网格管理器152丢失它到网格管理器160和162的连接。在这种情况下,网格管理器之间的关系能够被修改,以使得网格管理器152具有新的、与网格管理器160和162的上级关系。相似地,网格管理器160和162具有新的、与网格管理器152的下级关系。
如图2所示,设计了应用启动处理200,以便在应用(例如,互联网定价配置器)在计算机设备(例如,12、14、16、18、20或22)上执行之前,获得在网络8中分配的必需资源。处理200还保证如果相似的应用试图在计算机设备上的相同资源上同时启动,则这两个或更多个应用不会相互冲突或相互干扰。例如,为了保证服务质量(QoS),IPC管理器118能够要求IPC服务器(例如120)是在计算机设备14中的处理器上执行的唯一应用。在这种情况下,如果其它应用同时尝试在计算机设备14中的处理器上执行,则另一应用将干扰。
处理200包括IPC管理器118(或一些其它应用)发送(202)对计算资源的要求,以询问网格管理器(例如154)从而确定在网格计算环境100中是否存在与这些要求匹配的可用资源。这些要求指定了关于计算机设备中的资源的信息,诸如所要求的处理器数目、所要求的那些处理器、主存储器和网络速度的利用百分比。询问还能够包括有关该询问应该被传播到(在网格计算环境100中)层级的哪一级的信息。处理200包括网格管理器154接收(204)该要求。
为了响应来自IPC管理器118的、对可用资源的询问,处理200包括网格管理器154将该要求与网格管理器154已知的资源进行匹配(206)。这些资源包括由网格管理器154直接管理的计算机设备14中的资源(例如,处理器40)。当前可用的且满足要求的、由网格管理器154直接管理的资源被添加到由网格管理器154维护的资源询问列表中。
网格管理器154还向与网格管理器154具有下级关系的网格管理器160和162发送该询问。处理200包括网格管理器160和162分别通过向网格管理器154发送满足所请求的要求并且网格管理器160和162可用的且已知的资源(例如计算机设备18、20上的处理器)的列表来响应(208)该询问。网格管理器160和162已知的资源的这些资源询问列表还能够包括由与网格管理器160和162具有下级关系的网格管理器(未示出)管理的资源。网格管理器154将来自网格管理器160和162的可用资源的这些资源询问列表添加到它的满足所请求的要求的可用资源的资源询问列表中。如果处理200确定(210)在该资源询问列表中存在至少一个资源(例如,处理器40),则网格管理器154将该资源询问列表发送(214)到IPC管理器118。否则,如果处理200确定(212)网格管理器154与上级网格管理器(例如,网格管理器152)具有关系,则网格管理器154将对可用资源的询问发送到(202)网格管理器152。响应于该询问,网格管理器152不会将多余的询问发送回与网格管理器152具有下级关系的网格管理器154。
处理200包括网格管理器154将可用资源的列表以及匹配要求的、网络8中的其相应的网格管理器的地址一起发送(214)。IPC管理器118从该列表中选择资源(例如,计算机设备16上的资源),并向管理计算机设备16上的资源的网格管理器154请求(216)预留计算机设备16上的资源。如果计算机设备16上的资源仍然可用于预留(218)并且预留成功,则网格管理器154向IPC管理器118发送(220)预留号码。该预留意味着已经保证IPC管理器118有并给其分配所请求的、网格计算环境100中的计算机设备16上的资源。网格管理器154使用执行的独立处理线程来处理来自于诸如IPC管理器118的应用的、对可用资源的询问。这样,网格管理器154使用信号灯(semaphore)来确保相同的资源(例如,处理器40)不会由于不同的应用同时请求相同的资源而被分配多个预留号码。
如果网格管理器确定所请求的计算机设备16中的资源不能用于预留且预留失败,则IPC管理器118选择列表中的下一个可用资源并请求(216)预留该下一个可用资源。如果IPC管理器118接收到注册号码并且从发送该注册号码开始测量的超时时间(timeout)没有过期(222),则IPC管理器118在计算机设备16中的资源,处理器40上启动(224)IPC服务器122。通过向网格管理器156传送预留号码和应用文件来开始启动IPC服务器122,并且随后网格管理器156读取该应用文件以便在计算机设备16上安装和执行IPC服务器122。
如图3所示,处理250在网格计算环境100中的计算机设备(例如14)上安装应用(例如,IPC服务器122)以便为该应用建立可用资源,使用该可用资源,并且在不再需要该资源时去除或卸载该应用以便释放所述资源为以后的应用使用。处理250包括IPC管理器118传送(252)包括IPC服务器122的代码以及对于如何安装、定制、跟踪该应用并从计算机设备14上去除该应用的指示的应用文件,以便在执行该应用之后网格管理器154能够使计算机设备14返回到原始状态。
IPC管理器118例如使用文件传输协议(FTP)、超文本传输协议(HTTP)或来自网络附加存储(Network Attached Storage,NAS)的文件复本将应用文件作为诸如压缩的zip文件的单个文件传送给计算机设备14。在该zip文件中有关于安装和定制应用IPC服务器122的信息。该信息由小的可执行程序或扩展标记语言(XML)文档——其由网格管理器154中的安装和定制引擎(未示出)提取和翻译(254)——表示。处理250包括网格管理器154安装(256)并运行(258)该应用。在安装(256)、定制和执行(258)应用的过程中,对计算机设备14的所有改变都被记入目志,以便在网格管理器154应IPC管理器118的请求而终止(260)或卸载应用时,网格管理器154可以从计算机设备14中去除该应用,并且同时去除(262)在安装和运行该应用时对计算机设备14做出的任何其它改变。这样,计算机设备14还原到它在执行应用之前的原始状态,并且计算机设备14上的所有资源再次可以被以后的应用使用。这允许无需重启计算机设备14,资源在运行应用之后就变得可用。这些改变包括分配用于存储和运行应用代码的存储器(例如32)空间和其它的改变,例如对通信端口的分配。
在一些例子中,在单个计算机设备(例如14)中的资源上能够同时运行多个应用。根据它们的资源要求,网格计算环境100的应用被部分地分类。为了运行应用而对计算机设备的一些改变仅仅为其类别的应用的第一次执行所需要,而随后的执行不需要这些改变。在这些例子中,网格管理器154仅仅为第一次执行做出改变。此外,在卸载应用时,网格管理器154仅仅去除对于被执行和终止的最后应用的改变。
在网格计算环境100中的计算机设备上安装应用之后,网格管理器被配置成应请求而启动或停止这些应用的处理。在互联网定价配置器(IPC)应用的例子中,网格管理器154被配置成在在计算机设备14上安装IPC服务器122之后启动或停止计算机设备14上的IPC服务器122。IPC管理器118根据当前网格计算环境100中的资源的利用,请求网格管理器启动或停止网格计算环境100中的IPC服务器。在停止了计算机设备14上的IPC服务器122之后,IPC管理器118等待预先指定的时间量,然后如果当前资源利用没有指示需要再次启动IPC服务器122,则IPC管理器118请求网格管理器154卸载IPC服务器122。此外,如前所述,网格管理器监测诸如计算机设备14的、运行应用(例如IPC服务器120、122、124和126)的计算机设备上的资源利用,并将该利用信息发送给IPC管理器118。
在许多例子中,对计算机设备中的资源上的应用处理的控制为操作系统(OS)所特有。网格计算环境100被配置成处理计算机设备上的不同的操作系统。此外,网格计算环境100被设计成处理不同的应用(例如,互联网定价配置器),其不必为了在网格计算环境100中执行而被重新设计。网格管理器以通用的方式控制应用处理,这种通用的方式降低了开发网格管理器代码和开发应用代码之间的相互依赖性。向应用代码提供接口,以使得网格管理器能够发现、控制(例如启动、停止、暂停、继续)以及检查或监测应用处理的状态。为受操作系统或主机环境支配的操作系统处理提供接口,并且该接口包括三个方面。接口的一个方面是处理数据,诸如处理标识、状态、资源消耗(诸如中央处理单元(CPU)、存储器、套接字绑定(socket binding)或应用能够使用的其它资源)的程度、以及由处理数据机制定义的应用专用数据。
接口的第二方面是管理操作,诸如启动、停止、等待、继续、改变优先级以及由所支持的管理操作定义的其它操作。
接口的第三方面是控制绑定和定义,诸如处理数据机制、所支持的管理操作以及通信绑定。由于不是所有在网格计算环境100中运行的应用都可以访问这三方面的相同信息和能力,因此应用向网格管理器提供每个应用支持的询问和命令的列表。
提供给应用代码的接口是应用程序接口(API)。API是由网格管理器软件规定的一组方法(嵌入在软件代码中),利用这些方法,编写应用程序(例如互联网定价配置器)的程序员能够处理来自网格管理器的请求。
如图4所示,IPC服务器122包括API 302和文档304。由于API 302适用于不同类型的应用,因此文档304描述网格管理器154如何与IPC服务器122通信以及IPC服务器122支持通过API 302的什么请求。网格管理器154在启动IPC服务器122之前读取文档304。在一些例子中,文档304用XML写成,并且包括文档类型描述(Document Type Description,DTD)306。DTD是遵循标准通用标记语言(SGML)规则的特殊定义。DTD是一种规范(specification),其伴随文档且标识了什么标记分隔段落、什么标记标识主题标题、以及每个标记将被如何处理。通过在文档304中包括DTD 306,具有DTD“读取器”(或“SGML编译器”)的网格管理器154就能够处理文档304,并且能够正确地翻译许多不同种类的、使用一系列不同标记代码和相关意义的文档304。
如图4A所示,网格管理器154使用处理350来安装诸如IPC服务器122的应用。网格管理器154读取(352)文档304中的DTD 306,以便识别文档304中的标记。网格管理器154读取(354)使用标记的文档304,以便识别用于与IPC服务器122通信的通信参数。网格管理器154根据通信参数的规范来建立(356)与IPC服务器122的通信。网格管理器154使用通信参数与IPC服务器122通信(358),以便发送诸如“启动”、“停止”和“你空闲吗?”的请求。
在能够在网络8上执行任何应用(例如,互联网定价配置器)之前,网格管理器152、154、156、160、162和164在计算机设备12、14、16、18、20和22上被异步启动,并且它们与其它网格管理器的关系被建立。如图5所示,处理400初始化网格管理器之间的关系。对于每个网格管理器(例如,网格管理器154),网格管理器154通过读取(402)属性文件而在计算机设备14上启动。属性文件包括具有网格管理器的计算机设备的地址列表,所述网格管理器与网格管理器154具有上级关系。之前将该列表描述为与其它网格管理器的所有上级关系的第一列表。如果(404)在该地址列表中指定了上级网格管理器(例如网格管理器152),则网格管理器154请求(406)打开到上级网格管理器(例如,152)的通信信道。如果网格管理器152已经被启动,则网格管理器152通过接受来自网格管理器152的打开通信信道的请求来做出响应。处理400包括网格管理器154检测(408)来自被标识为与网格管理器154具有下级关系的网格管理器(例如网格管理器160、162)的任何通信信道请求。如果处理400确定(410)存在一些请求,则网格管理器154允许来自于下级网格管理器(例如160、162)的通信信道。处理400包括网格管理器154检查(414)是否存在任何挂起的、对于到具有上级关系的网格管理器的通信的请求。如果存在任何挂起的请求,则网格管理器154请求(406)到网格管理器的通信信道。这些通信信道被用于在网格管理器之间的资源询问(如前所述)以及网格管理器之间的“心跳”消息以确保网格计算环境100中的每个网格管理器都在工作。
一旦具有已建立的关系的网格管理器152、154、156、160、162和164运行,网格管理器就被用于网格计算环境100的适当操作。在网格计算环境100的生命周期中网格管理器的功能常常被增强。关闭网格计算环境100以及启动具有增强功能的网格计算环境100往往是不可能或不方便的。配置网格管理器152、154、156、160、162和164以使得发生改变时仅会对网格计算环境100的用户造成最小的影响。为了实现这种透明度,为用户接口提供API,以使得网格计算环境100的管理员能够单独地或全部一起访问每个网格管理器152、154、156、160、162和164。该API是静态的,原因在于它仅包括一种方法,即,包括由管理员键入的命令的字符串。API是动态的,原因在于该字符串能够包括许多不同的命令。
在一些情况下,网格管理器是使用Java编程语言开发的。在这些情况中,能够通过经由类加载器(classloader)动态地加载新的或修改的Java类来支持发布给网格管理器的新命令。无需关闭网格计算环境100中的网格管理器就能够实现对代码的这种动态访问。使用Java类加载器,每次生成网格管理器的类的实例时,类的定义和行为都能够被更新,从而向网格计算环境100提供新的功能。
无需关闭网格计算环境100而动态地修改网格计算环境100的功能的另一种方式是改变网格管理器之间的层级关系、去除网格管理器或添加新的网格管理器。为网格计算环境100的管理提供的API还被配置成向各个网格管理器发送带有命令的字符串以删除已有的关系或添加新的关系。
对于网格计算环境100的管理员来说,可视化网格计算环境100中的一个计算机设备上的网格管理器和应用,以及以与该网格管理器具有一级或多级下级关系的网格管理器的形式运行网格管理层级的一部分的其它计算机设备上的网格管理器和应用是有用的。这些计算机设备的视图被称为网格景观(grid landscape)。如图6所示,用于可视化诸如网格计算环境100的网格景观的网格图形用户界面(GUI)500包括可视化在计算机设备上运行的服务的组织的GUI单元。GUI 500提供具有列和行的网格状结构。行表示服务,相对于服务所属的应用、服务的类型和特定的服务实例而依次分层组织所述服务。每个服务实例行与网格计算环境100中的、表示其被实例化的地点的位置相关联。在此情况下,列表示网格景观中的计算机设备。具体来说,GUI 500具有表示三个计算机设备12、14和16的三列。GUI 500示出网格管理器152在计算机设备12上运行,而下级网格管理器154和156分别在计算机设备14和16上运行。GUI 500还示出互联网定价配置器服务在计算机设备12上运行。这些互联网定价配置器服务包括IPC调度器116、IPC服务器120和IPC管理器118。
利用来自于网格管理器和互联网定价配置器(或其它应用)服务的反馈对GUI 500进行动态地刷新,以便在GUI 500中向管理员呈现新的服务。类似地,从GUI 500中去除被关闭的服务。
如图7所示,网格浏览器组件600是用于浏览网格计算环境100中的计算机设备上的网格管理器的组合图形用户界面(GUI)。组件600显示具有曲边和顶点的图形。顶点表示网格计算环境100中的计算机设备,而曲边表示网格计算环境100中的两个计算机设备(顶点)上的网格管理器的方向关联。这种关联是分层级的(即,上级/下级)。每个顶点显示计算机设备的网络地址和当前在该计算机设备上运行的应用。例如,组件600示出具有IPC服务器118、120、122和124的计算机设备12、14、16、18、20和22。在另一个例子中(未示出),网格浏览器组件600示出网格管理器之间的非层级的、对等(peer-to-peer)的关联,并使用无方向的边表示这些关联。
网格浏览器组件600是上下文相关的(context sensitive)。依赖于计算机设备上的网格管理器之间的关系(例如上级/下级),考虑到用户的浏览历史而遍历计算机设备。
通过点击GUI 600中表示计算机设备(例如计算机设备14)的顶点,用户能够使用GUI 500自动地查看在该计算机设备上运行的网格管理器和应用,以及与该网格管理器具有下级关系的网格管理器。用户能够选择计算机设备,并看到它的网格管理器和其它网格管理器之间的关系。使用生成GUI500和600的软件来实现GUI 500和600之间的这种连接。
网络8能够以多种方式实现。网络8包括任何种类的网络,诸如因特网、局域网(LAN)或其它本地网络、私有网络、公共网络、普通老式电话系统(POTS)或其它类似的有线或无线网络,及其任何组合。可以使用诸如加密、安全协议的机制或其它类型的类似机制保证通过网络8的通信的安全。通过网络8的通信能够包括任何种类的通信链接,诸如调制解调器链接、以太网链接、电缆、点到点链接、红外连接、光纤链接、无线链接、蜂窝链接、蓝牙、卫星链接和其它类似的链接,及其任何组合。
为了便于解释,对网络8进行了简化。网络8能够包括更多的或更少的附加单元,例如网络、通信链接、代理服务器、防火墙或其它安全机制、网络服务提供商(ISP)、网守、网关、交换机、路由器、集线器、客户端终端、以及其它单元。
计算机设备12、14、16、18、20和22使用多种不同的联网协议中的一种在介质10上进行通信。例如,一种协议是与SOAP(简单对象访问协议)结合的传输控制协议/网际协议(TCP/IP)。
本发明的实施例能够用数字电子电路实现,或者用计算机硬件、软件、固件或者其组合来实现。本发明的实施例能够被实现为计算机程序产品,即,用信息载体——例如用节点可读存储设备或用传播信号——有形地具体化的计算机程序,其被例如可编程处理器、计算机或多台计算机的数据处理装置执行,或控制所述数据处理装置的操作。计算机程序能够用包括编译或翻译语言的、任何形式的编程语言写成,并且能够以包括如单机程序或作为模块、组件、子程序或其它适合在计算环境中使用的单元的任何形式配置计算机程序。计算机程序能够被配置成在一台计算机上执行,或者在一个地点的多台计算机上执行,或者在分布在多个地点且由通信网络相互连接的多台计算机上执行。
本发明实施例的方法步骤能够由一个或多个执行计算机程序的可编程处理器执行,以便通过对输入数据进行操作并生成输出来执行本发明的功能。方法步骤还能够由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路来执行,并且本发明的设备也能够被实现为所述专用逻辑电路。
举例来说,适合用于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的关键单元是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,或者计算机被可操作地连接到该大容量存储设备以便从其接收数据或向其传送数据,或者两者皆有;大容量存储设备是例如磁盘、磁光盘或光盘。适合具体化计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,举例来说,包括例如EPROM、EEPROM和快闪存储器设备的半导体存储设备;例如内部硬盘或移动硬盘的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路来补充,或者与专用逻辑电路结合。
为了提供与用户的交互,本发明的实施例能够在具有例如CRT(阴极射线管)或LCD(液晶显示器)监视器的、用于向用户显示信息的显示器设备和通过它用户能够向计算机提供输入的键盘以及例如鼠标或跟踪球的指示设备的计算机上实施。也可以使用其它种类的设备提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感观反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且,来自用户的输入能够以任何形式被接收,包括听觉、语音或触觉输入。
本发明的实施例能够在包括后端组件、或包括中间件组件、或包括前端组件、或包括这种后端、中间件或前端组件的任意组合的计算系统中实现,其中,后端组件例如作为数据服务器,中间件组件是例如应用服务器,前端组件是例如具有用户能够通过其与本发明实施例的实现进行交互的图形用户界面或网络浏览器的客户端计算机。系统的组件能够通过例如通信网络的、任何形式的数字数据通信或其介质相互连接。通信网络的例子包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统能够包括客户端和服务器。客户端和服务器通常远离彼此,并且一般通过通信网络进行交互。客户端和服务器的关系依靠在各个计算机上运行的且彼此具有客户端-服务器关系的计算机程序而产生。
已经说明了本发明的多个实施例。但是,应该理解,在不脱离本发明的精神和范围的情况下可以进行各种修改。其它的实施例在所附权利要求书的范围内。
权利要求
1.一种方法,包括在网络中,通过发送可用计算资源的列表来响应对可用于计算任务的计算资源的请求;接收用于预留的、对计算资源的选择;如果对计算资源的选择可用于计算该任务,则预留该选择并发送该选择的预留号码;以及如果计算资源不可用于计算该任务,则向网络的不同部分发送该请求。
2.如权利要求1所述的方法,其中,可用计算资源的列表包括可用计算资源的网络地址。
3.如权利要求1或2所述的方法,其中,预留该选择还包括分配所述预留号码。
4.如权利要求1到3中任何一项所述的方法,其中预留还包括等待计算资源开始计算所述任务一预定的时间段;以及如果该预定的时间段过期并且计算资源还没有开始计算所述任务,则释放该计算资源以用于以后的用于计算第二任务的预留。
5.如权利要求1到4中任何一项所述的方法,其中,响应该请求还包括将计算所述任务的要求与可用计算资源的规范进行比较。
6.如权利要求5所述的方法,还包括通过询问网络的一部分来生成计算资源的列表。
7.一种方法,包括在网络中,由第一服务发送对于一个或多个可用于计算任务的计算资源的列表的请求;由第二服务通过收集关于计算资源的信息来响应该请求;发送可用计算资源的列表;接收用于预留的、所选择的计算资源;预留所选择的计算资源,并且如果所选择的计算资源可用于计算该任务,则发送所选择的计算资源的预留号码;以及如果所述第一服务没有关于可用计算资源的信息,则向第二服务发送该请求。
8.如权利要求7所述的方法,其中,发送该可用计算资源的列表包括发送可用计算资源的网络地址。
9.如权利要求7或8所述的方法,其中,预留所选择的计算资源还包括分配预留号码。
10.如权利要求7到9中任何一项所述的方法,其中预留还包括等待对所选择的计算资源的请求一预定的时间段,以便开始计算所述任务;以及如果超过该预定的时间段且还没有接收到对预留的计算资源的请求,则释放所选择的计算资源以用于以后的用于计算第二任务的预留。
11.如权利要求7到11中任何一项所述的方法,其中,响应该请求还包括将计算所述任务的要求与由所述第一服务可访问的信息所描述的可用计算资源的规范进行比较。
12.如权利要求7到11中任何一项所述的方法,其中,所述第二服务与所述第一服务具有存储的关系。
13.如权利要求11所述的方法,其中,所述第一服务在第一计算机系统上执行指令,并且由所述第一服务管理的计算资源包括位于该第一计算机系统上的第一组计算资源。
14.如权利要求13所述的方法,其中,第三服务与所述第一服务具有存储的关系,该第三服务在第二计算机系统上执行指令,并且由所述第一服务可访问的信息所描述的计算资源还包括由所述第三服务可访问的信息所描述的第二组计算资源。
15.一种网络,包括第一计算机系统,其具有第一组一个或多个计算资源,并且被配置成执行第一服务的指令;以及第二计算机系统,其被配置成执行第二服务的指令,所述第一服务被配置成通过收集关于至少第一组一个或多个计算资源的信息来响应对用于计算任务的计算资源的列表的请求;发送包括第一组一个或多个计算资源的子集的列表;接收用于预留的、对计算资源的选择;预留该选择,并且如果对计算资源的选择可用于计算所述任务,则发送该选择的地址;以及如果计算资源不可用于计算所述任务,则向所述第二服务发送该请求。
16.如权利要求15所述的网络,还包括第三计算机系统,其具有第二组一个或多个计算资源,并且被配置成执行第三服务的指令,所述第三服务与第一服务具有存储的关系;其中,所述第一服务还被配置成收集关于第二组一个或多个计算资源的信息,并且所述列表还包括第二组一个或多个计算资源的子集。
17.如权利要求15或16所述的网络,其中,预留该选择还包括分配预留号码。
18.如权利要求15到17中任何一项所述的网络,其中,所述第一服务还被配置成等待预留的计算资源一预定的时间段,以便开始计算所述任务;以及如果超过该预定的时间段,并且预留的计算资源还没有开始计算所述任务,则释放预留的计算资源以用于以后的用于计算第二任务的预留。
19.如权利要求15到18中任何一项所述的网络,其中,响应该请求还包括将计算所述任务的要求与来自第一和第二组计算资源的可用计算资源的规范进行比较。
20.如权利要求15到19中任何一项所述的网络,其中,所述第二服务与所述第一服务具有存储的关系。
全文摘要
一种用于网格应用启动协议的方法,包括在网络中,通过发送可用计算资源的列表来响应对可用于计算任务的计算资源的请求;接收用于预留的、对计算资源的选择。该方法包括,如果对计算资源的选择可用于计算该任务,则预留该选择并发送该选择的预留号码;以及如果计算资源不可用于计算该任务,则向网络的不同部分发送该请求。
文档编号G06F9/46GK1829966SQ200480021643
公开日2006年9月6日 申请日期2004年7月27日 优先权日2003年7月28日
发明者埃罗尔·博扎克, 亚历山大·格布哈特 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1