首页> 中国专利> 资源节点及其确定方法和设备、其控制方法及计算机产品

资源节点及其确定方法和设备、其控制方法及计算机产品

摘要

本发明公开了用于确定资源节点的方法和设备、控制资源节点的方法、资源节点以及计算机产品。通过向对在多项服务之间使用的资源节点的分配状态进行管理的资源代理发送与使得能够执行一项服务的条件有关的信息,从在多项服务之间使用的多个资源节点中指定使得能够执行一项服务的资源节点。并且通过接收与指定资源节点之中的资源节点的使用状态有关的信息,并基于与所述接收到的使用状态有关的信息,从指定资源节点之中确定用于一项服务的资源节点。

著录项

  • 公开/公告号CN101149691A

    专利类型发明专利

  • 公开/公告日2008-03-26

    原文格式PDF

  • 申请/专利权人 富士通株式会社;

    申请/专利号CN200710084796.3

  • 发明设计人 村田美穗;

    申请日2007-02-28

  • 分类号G06F9/50(20060101);G06F9/46(20060101);H04L12/24(20060101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人黄纶伟;迟军

  • 地址 日本神奈川县川崎市

  • 入库时间 2023-12-17 19:58:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-16

    未缴年费专利权终止 IPC(主分类):G06F9/50 授权公告日:20090826 终止日期:20170228 申请日:20070228

    专利权的终止

  • 2009-08-26

    授权

    授权

  • 2008-05-21

    实质审查的生效

    实质审查的生效

  • 2008-03-26

    公开

    公开

说明书

技术领域

本发明涉及一种分布式计算机环境中的资源节点分配技术。

背景技术

通常,当来自用户的访问集中在一项服务上、或者执行需要大量计算工作的服务时,为进行负载分配,使用经由网络连接有大量计算机的分布式计算机环境,例如,其中相互混合有不同类型的计算机的网格环境。

在这种情况下,必须在要分配给一项服务的大量计算机中自动而快速地选择适合于该服务的目的的最优计算机(以下的“资源节点”)。特别是在其中相互混合有不同类型的计算机的网格环境中,整个服务的性能极大地取决于所分配的资源节点。

因此,为了提高整个服务的性能,例如基于与各资源节点的性能以及使用环境有关的信息,来分配取决于各服务的资源节点。

具体地说,例如,服务管理员从对在多项服务中使用的资源节点进行代理的资源代理请求该服务所需的资源。资源代理从资源节点组中搜索满足该请求的资源节点,并基于搜索结果来分配用于服务的资源节点(例如,日本专利特开公报No.2002-024192、PCT申请公报的已公开的日文译本No.2004-521411以及日本专利特开公报No.2006-031358)。

然而,在上述专利文献1至3的常规技术中,在各资源节点已被分配作为用于服务的资源节点之后,对各资源节点执行该服务所需的应用程序的启动指令。即,对用于一项服务的资源节点进行分配,而不保证该应用程序在各已分配资源节点中的启动。

因此,存在以下问题:在各资源节点中,当恰在应用程序启动之前发生主机停机、由于暂时的通信问题而导致无法接收启动指令等时,因为未准备好执行服务所需的资源节点,故而不能提供服务。

此外,当在能够提供服务的资源节点中选择实际用于该服务的资源节点时,由资源代理唯一地判定选择准则。

然而,由于在许多情况下选择准则对于每项服务是不同的,因此必须预先理解每项服务的选择准则,并且必须开发基于它们的资源代理。因此,存在以下问题:当待执行的服务增加或者将分布式计算机环境用于其他服务时,不能对选择准则灵活地进行增加或改变,从而导致通用性差。

为了解决常规技术中的上述问题,本发明旨在提供一种实现各服务的平滑提供的资源节点确定程序、资源节点控制程序、记录介质、资源节点确定设备、资源节点、资源节点确定方法以及资源节点控制方法。

发明内容

本发明的目的在于至少解决常规技术中的以上问题。

根据本发明的一个方面的资源节点确定方法包括以下步骤:向对用于多项服务的多个资源节点的分配进行管理的资源代理发送与使得能够执行一服务的条件有关的信息;从所述多个资源节点中的满足所述条件的指定节点接收与所述指定节点的使用状态有关的信息;并基于所述与所述使用状态有关的信息,从所述指定节点之中确定要用于所述服务的资源节点。

根据本发明的另一方面的资源节点确定方法包括以下步骤:当执行从多项服务中选择的第一服务的执行所需的软件资源的资源节点满足使得能够执行从所述多项服务中新选择的第二服务的条件时,从确定是否将所述资源节点用于所述第一服务和所述第二服务中的每一个的确定设备接收对所述第二服务的执行所需的软件资源的启动请求;当接收到所述请求时,启动所述第二服务的执行所需的软件资源;当启动了所述第二服务的执行所需的软件资源时,向所述确定设备发送对所述第二服务的执行所需的软件资源的启动完成的通知;从所述确定设备接收是否将所述资源节点用于所述第二服务的确定结果,所述确定是响应于所述通知而进行的;并基于所述确定,终止所述第一服务所需的软件资源和所述第二服务所需的软件资源中的一个的执行。

根据本发明的又一方面的资源节点确定设备包括:发送单元,该发送单元向对用于多项服务的多个资源节点的分配进行管理的资源代理发送与使得能够执行一服务的条件有关的信息;接收单元,该接收单元从所述多个资源节点中的满足所述条件的指定节点接收与所述指定节点的使用状态有关的信息;以及确定单元,该确定单元基于所述与所述使用状态有关的信息,在所述指定节点之中确定要用于所述服务的资源节点。

根据本发明的还一方面的资源节点包括:第一接收单元,当执行从多项服务之中选择的第一服务的执行所需的软件资源的资源节点满足使得能够执行从所述多项服务之中新选择的第二服务的条件时,该第一接收单元从确定是否将所述资源节点用于所述第一服务和所述第二服务中的每一个的确定设备接收对所述第二服务的执行所需的软件资源的启动的请求;启动单元,当接收到所述请求时,该启动单元启动所述第二服务的执行所需的软件资源;发送单元,当启动了所述第二服务的执行所需的软件资源时,该发送单元向所述确定设备发送对所述第二服务的执行所需的软件资源的启动完成的通知;第二接收单元,该第二接收单元从所述确定设备接收是否将所述资源节点用于所述第二服务的确定结果,所述确定是响应于所述通知而进行的;以及终止单元,该终止单元基于所述确定,终止所述第一服务所需的软件资源和所述第二服务所需的软件资源中的一个的执行。

在本发明的以下详细描述中具体阐述了本发明的其他目的、特征和优点,通过结合附图对本发明的以下详细描述进行阅读,将使本发明的这些其他目的、特征和优点变得清楚。

附图说明

图1是根据本发明实施例的资源节点确定系统的图;

图2是图1中所示的计算机设备的框图;

图3是根据实施例的资源节点确定设备的框图;

图4是由资源节点确定设备执行的资源节点确定处理的流程图;

图5是根据该实施例的资源节点的框图;

图6是由资源节点执行的资源节点控制处理的流程图;

图7是示出根据本发明第一实施例的资源节点确定系统的概要的图;

图8是由根据第一实施例的资源节点确定设备执行的资源节点确定处理的流程图;

图9是例示根据本发明第二实施例的资源节点确定系统的概要的图;

图10是由根据第二实施例的资源节点确定设备执行的资源节点确定处理的流程图;

图11是例示根据本发明第三实施例的资源节点确定系统的概要的图;

图12是由根据第三实施例的资源节点确定设备执行的资源节点确定处理的流程图;以及

图13是根据第三实施例的资源节点确定处理的序列图。

具体实施方式

下面将参照附图详细说明本发明的示例性实施例。

图1是根据本发明实施例的资源节点确定系统的图。如图1所示,在资源节点确定系统100中,经由网络110连接有资源节点确定设备101、资源代理设备102以及安装在各站点C中的资源节点103。

资源节点确定设备101是这样的计算机设备,即,该计算机设备向资源代理设备102提交取决于每项服务的负载而设置的条件,并且要求服务的执行所需的资源节点103。

此外,资源节点确定设备101是这样的计算机设备,即,该计算机设备确定分配给各服务的资源节点103。而且,资源节点确定设备101是这样的计算机设备,即,该计算机设备通过与分配给各服务的资源节点103进行通信来管理各资源节点103。

资源代理设备102是这样的计算机设备,即,该计算机设备对服务中使用的资源节点103的分配状态进行管理。具体地说,资源代理设备102是这样的计算机设备,即,为了满足从资源节点确定设备101提交的条件,该计算机设备确定是否可以通过分配哪个站点C的哪个资源节点103而实现服务的执行。

资源节点103安装在各站点C中,并且资源节点103是用于执行服务的计算机设备。具体地说,资源节点103是这样的计算机设备,即,该计算机设备向终端(未示出)提供由资源节点确定设备101分配的服务。

图2是图1中所示的计算机设备的框图。如图2所示,该计算机设备包括:中央处理单元(CPU)201、只读存储器(ROM)202、随机存取存储器(RAM)203、硬盘驱动器(HDD)204、硬盘(HD)205、软盘驱动器(FDD)206、作为可移动记录介质的示例的软盘(FD)207、显示器208、接口(I/F)209、键盘210、鼠标211、扫描仪212以及打印机213。而且,通过总线200分别连接各部件。

这里,CPU 201对整个计算机设备的控制进行管理。ROM 202记录诸如引导程序的程序。RAM 203用作CPU 201的工作区域。HDD 204根据CPU 201的控制,来控制对HD 205的数据的读取/写入。HD 205对通过HDD 204的控制而写入的数据进行存储。

FDD 206根据CPU 201的控制,来控制对FD 207的数据的读取/写入。FD 207对通过FDD 206的控制而写入的数据进行存储,或者使得计算机设备读取FD 207所存储的数据。

此外,除了FD 207之外,还可以使用光盘只读存储器(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、磁光(MO)盘、数字多功能盘(DVD)、存储卡等作为可移动记录介质。显示器208显示光标、图标、工具箱以及诸如文件、图像或功能信息的数据。显示器208可以采用阴极射线管(CRT)显示器、薄膜晶体管(TFT)液晶显示器、等离子体显示器等。

I/F 209通过通信线路连接到诸如互联网的网络110,然后通过该网络110连接到其他设备。I/F 209管理网络110和其中的接口,以控制数据从外部设备的输入/输出。I/F 209例如可以采用调制解调器或LAN适配器。

键盘210配置有用于输入字符、数字或各种方向等的键,并执行数据输入。此外,键盘210可以是触敏式输入板、数字键区等。鼠标211执行诸如光标移动、范围选择、窗口移动、尺寸改变的功能。鼠标211可以是跟踪球、操纵杆等,只要它们具有与指向设备(pointing device)相似的功能。

扫描仪212光学地读取图像并捕捉其中的图像数据。顺便提及,扫描仪212可以具有光学字符识别(OCR)功能。此外,打印机213打印图像数据或文件数据。例如可以使用激光打印机、喷墨打印机作为打印机213。

图3是根据实施例的资源节点确定设备101的框图。如图3所示,资源节点确定设备101由发送单元301、接收单元302以及确定单元303构成。

发送单元301向对在多项服务之间使用的资源节点(图1中所示的资源节点103)的分配状态进行管理的资源代理(图1中所示的资源代理设备102)发送与使得能够执行一项服务的条件有关的信息。

这里,所述服务是为资源节点的计算机终端提供的信息处理,包括非交互服务(诸如仿真工作的批处理)和交互服务(诸如因特网电话和视频会议系统)。

此外,所述使得能够执行一项服务的条件例如表示用于执行一项服务最少需要的资源节点的性能和数量。更具体地说,该条件可以包括“存储容量:大于512兆字节(MB);操作系统(OS):Windows(注册商标);资源节点的数量:五台”等。

根据每项服务的服务负载,在资源节点确定设备101中设置该条件。具体地说,可以通过直接向资源节点确定设备101进行输入、或者通过经由网络110从外部计算机设备进行接收,来设置该条件。

基于来自资源节点确定设备101的与条件有关的信息,资源代理在多项服务之间使用的资源节点之中指定满足该条件的资源节点。此时,资源代理可以指定数量比最少需要的数量更多的资源节点。

具体地说,例如,资源代理通过利用各资源节点中的静态信息(包括CPU性能、可用的OS、所安装的应用软件)和动态信息(包括CPU使用率、存储器使用率等),来指定满足该条件的资源节点。

此外,资源代理向所有指定资源节点询问当前使用状态,同时要求应将与各使用状态有关的信息发送到资源节点确定设备101。此时,资源代理可以向各指定资源节点发送资源节点确定设备101的IP地址。

即,资源代理并不对实际用于一项服务的资源节点进行分配,而是指定满足使得能够执行一项服务的条件的资源节点。然后,资源代理对各资源节点执行用于向资源节点确定设备101通知与使用状态有关的信息的通知请求。这里,将通过这种资源代理执行的一系列处理称为对资源节点的分配状态进行管理。

作为通过发送单元301发送与使得能够执行一项服务的条件有关的信息的结果,接收单元302从服务所使用的多个资源节点之中的满足该条件的节点接收与指定资源节点的使用状态有关的信息。

具体地说,接收单元302从由资源代理指定的资源节点接收与各资源节点的使用状态有关的信息。这里应注意,各指定资源节点都可以基于从资源代理发送的资源节点确定设备101的IP地址,向资源节点确定设备101发送与使用状态有关的信息。

这里,与资源节点的使用状态有关的信息例如是表示关于该资源节点中的软件资源的使用状态的信息。具体地说,其可以是表示当前在各资源节点中执行的OS、应用程序等的信息。

此外,与资源节点的使用状态有关的信息例如可以包括表示关于该资源节点中的硬件资源的使用状态的信息。具体地说,该信息可以是表示各资源节点中的当前CPU使用率、当前存储器使用率等的信息。

而且,与资源节点的使用状态有关的信息例如可以包括与在该资源节点与其他外部设备进行通信时的传输速率有关的信息。具体地说,其可以是表示各资源节点中正在使用的网络带宽(频率带宽)的信息,表示各资源节点的安装位置的信息(用于计算与用作通信伙伴的外部设备的物理距离的信息)等。

确定单元303基于接收单元302接收到的与使用状态有关的信息,从指定资源节点之中确定用于一项服务的资源节点。具体地说,确定单元303可以按接收单元302接收与使用状态有关的信息的顺序,从指定资源节点之中确定用于一项服务的资源节点。

即,确定单元303按与使用状态有关的信息的通知的快速顺序,从指定资源节点之中确定实际用于一项服务的资源节点。在这种情况下,确定单元303进行资源节点的确定,直到使得能够执行一项服务的资源节点的数量得到满足为止。

而且,各资源节点中的通信延迟取决于各资源节点中使用的网络带宽(传输速度)而不同。考虑到该通信延迟中的差异,确定单元303可以将多个指定资源节点中的具有较高传输速度的资源节点确定为用于一项服务的资源节点。

此外,在接收单元302接收到的与使用状态有关的信息中,基于与在指定资源节点中是否必须切换一项服务的执行所需的软件资源有关的信息,确定单元303可以从指定资源节点中确定用于一项服务的资源节点。

例如,为了对一项服务的执行所需的应用程序进行启动可能需要切换OS。在这种情况下,切换OS会消耗时间,导致在执行所需的应用程序之前消耗很多时间。考虑到用于切换OS的时间,确定单元303可以将无需切换OS的资源节点确定为用于一项服务的资源节点。

而且,在接收单元302接收到的与使用状态有关的信息中,基于与在指定资源节点中执行一项服务所需的软件资源是否被执行有关的信息,确定单元303可以从指定资源节点中确定用于一项服务的资源节点。

例如,做出以下假设:虽然一项服务的执行所需的应用程序是应用程序a,但是在资源节点中正在执行的应用程序是应用程序b。在这种情况下,例如,在该资源节点中停止应用程序b并启动应用程序a的处理是必须的,由此要花费时间来对一项服务的执行所需的应用程序进行启动。

考虑到用于启动(执行)软件资源的时间,确定单元303可以将在其中预先启动了一项服务的执行所需的应用程序的资源节点确定为用于一项服务的资源节点。

此外,在接收单元302接收到与使用状态有关的信息时,发送单元301可以向指定资源节点发送对在指定资源节点中执行一项服务所需的软件资源的启动请求。

在这种情况下,作为发送单元301发送启动请求的结果,接收单元302可以从指定资源节点接收启动完成的通知。该启动完成的通知是表示一项服务的执行所需的软件资源的启动完成的响应信号。然后,确定单元303可以按接收单元302接收到启动完成的通知的顺序,从多个指定资源节点中确定用于一项服务的资源节点。

即,在多个指定资源节点之中,确定单元303按表示一项服务的执行所需的应用程序的启动完成的启动完成的通知的快速顺序,将发送启动完成的通知的资源节点确定为用于一项服务的资源节点。

这里应注意,虽然假设资源节点确定设备101和资源代理是分体设置的,但是也可以将它们容置在共同的机壳中。例如,可以将资源代理设置在资源节点确定设备101的机壳中。

图4是由资源节点确定设备101执行的资源节点确定处理的流程图。如图4的流程图所示,首先,发送单元301向对在多项服务之间使用的资源节点的分配状态进行管理的资源代理发送与使得能够执行一项服务的条件有关的信息(步骤S401)。

接着,作为发送单元301发送与使得能够执行一项服务的条件有关的信息的结果,接收单元302从服务所使用的多个资源节点之中的满足条件的节点接收与指定资源节点的使用状态有关的信息(步骤S402)。

最后,确定单元303基于接收单元302接收到的与使用状态有关的信息,从多个指定资源节点中确定用于一项服务的资源节点(步骤S403),从而完成一系列处理。

如上所述,根据资源节点确定设备101,可以在对来自各资源节点的使用状态及其信息的响应速度进行了考虑的情况下,确定用于服务的资源节点。因此,通过将资源有效地分配给服务,可以平滑地提供各项服务。

此外,根据资源节点确定设备101,可以针对每项服务任意地设置在从多个指定资源节点中确定用于一项服务的资源节点时的确定条件。因此,可以对所提供的服务的增加和改变灵活地进行响应。

图5是根据实施例的资源节点103的框图。如图5所示,资源节点103由接收单元501、启动单元502、发送单元503以及执行终止单元504构成。

当执行从多项服务中选择的第一服务的执行所需的软件资源的资源节点103满足使得能够执行新选择的第二服务的条件时,接收单元501从用于确定针对在各服务的使用采用还是拒绝的资源节点确定设备(图1中所示的资源节点确定设备101)接收该第二服务的执行所需的软件资源的启动请求。

具体地说,资源节点103用于为第一服务执行该第一服务的执行所需的软件资源。在这种情况下,当资源节点103还满足使得能够执行第二服务的条件时,资源节点103从资源节点确定设备接收该第二服务的执行所需的软件资源的启动请求。

在接收单元501接收到该启动请求时,启动单元502启动第二服务的执行所需的软件资源。具体地说,在接收单元501接收到该启动请求时,资源节点103执行第一服务的执行所需的软件资源和第二服务的执行所需的软件资源。

当启动单元502启动了第二服务的执行所需的软件资源时,发送单元503向资源节点确定设备发送第二服务的执行所需的软件资源的启动完成的通知。该启动完成的通知是表示第二服务的执行所需的软件资源的启动已被完成的响应信号。

此外,作为发送单元503已发送启动完成的通知的结果,接收单元501从资源节点确定设备接收针对采用还是拒绝在第二服务中使用资源节点103的确定结果。例如在资源节点确定设备中,基于从发送单元503发送的启动完成的通知,确定采用还是拒绝在第二服务中的使用。

执行终止单元504终止软件资源在资源节点103中的执行。具体地说,基于接收单元501接收到的确定结果,执行终止单元504终止第一服务的执行所需的软件资源和第二服务的执行所需的软件资源中的任意一个的执行。

更具体地说,当接收单元501接收到的确定结果是针对在第二服务中的使用被允许采用的确定结果时,执行终止单元504可以终止第一服务的执行所需的软件资源的执行。

此外,当接收单元501接收到的确定结果是针对在第二服务中的使用被拒绝采用的确定结果时,执行终止单元504可以终止第二服务的执行所需的软件资源的执行。

图6是由资源节点103执行的资源节点控制处理的流程图。在图6所示的流程图中,首先,当在从多项服务中选择的第一服务的执行所需的软件资源被执行的同时,使得能够执行新选择的第二服务的条件得到满足时,接收单元501从用于确定针对在各服务的使用采用还是拒绝的资源节点确定设备接收对第二服务的执行所需的软件资源的启动请求(步骤S601)。

接下来,当接收单元501接收到该启动请求时,启动单元502启动第二服务的执行所需的软件资源(步骤S602)。当启动单元502启动了第二服务的执行所需的软件资源时,发送单元503向资源节点确定设备发送第二服务的执行所需的软件资源的启动完成的通知(步骤S603)。

接下来,作为发送单元503已发送了该启动完成的通知的结果,接收单元501从资源节点确定设备接收针对在第二服务的使用采用还是拒绝的确定结果(步骤S604)。

最后,基于接收单元501接收到的确定结果,执行终止单元504终止第一服务的执行所需的软件资源和第二服务的执行所需的软件资源中的任意一个的执行(步骤S605),从而完成一系列处理。

如上所述,根据本发明实施例的资源节点103,即使资源节点103处于用于第一服务的状态,也可以执行第二服务的执行所需的软件资源。此外,根据针对在第二服务中的使用采用还是拒绝确定结果,可以终止不必要的软件资源的执行。

因此,可以避免诸如以下的处理:当在第二服务中使用被拒绝时,第一服务的执行所需的软件资源暂时停止,由此可以降低资源节点103的负载。

在本发明的第一实施例中,将描述以下情况:向数量比服务执行所请求的数量更多的资源节点103询问使用状态,并按向资源节点确定设备101发送该使用状态的通知的快速顺序,来采用该节点作为用于服务的资源节点103。

图7是示出根据第一实施例的资源节点确定系统的概要的图。

如图7所示,资源节点确定系统由多个资源节点103(这里为七台)所属的资源层、通过使用资源节点103而执行的服务所属的服务层以及对服务所使用的资源节点103的分配状态进行管理的中间设备层构成。

资源节点确定设备101由为每项服务(例如,服务A和服务B)准备的服务管理单元701(例如,服务管理单元MA和服务管理单元MB)构成。服务管理单元701根据加到各服务上的负载,从稍后提及的资源代理702请求资源节点103(参见如图7所示的(1)),并对分配给各服务的资源节点103进行管理。

此外,在服务管理单元701中,可以设置资源代理702请求的条件,诸如资源节点103的性能和数量。具体地说,服务A的管理员可以在服务管理单元MA中设置服务A所需的资源节点103的性能和数量。这里,假设在服务管理单元MA中设置“存储容量:大于512MB;OS:Windows;资源节点的数量:五台”作为资源代理702所请求的条件。

此外,在服务管理单元701中,可以任意地设置在确定用于服务的资源节点103时的采用条件。例如,可以基于应用程序的启动是否需要切换OS、是否必须重新启动一守护进程等,来设置采用条件。更具体地说,例如,可以如下设置采用条件:当不必切换OS时,设置为采用,而当必须切换OS时,设置为拒绝。

这里应注意,在下文中,资源是指从服务管理单元701向资源代理702请求的、执行服务所需的资源节点103。即,将在每一台中存储容量大于512MB、并且可用的OS是Windows的五台资源节点103统称为资源。

此外,通过与各资源节点103的代理705进行通信,服务管理单元701可以掌握实际用于服务的各资源节点103的使用状态,或者可以掌握所有使用的资源节点103的数量。

资源代理设备102由资源代理702和资源信息管理单元703构成。资源代理702从各服务管理单元70 1接收资源请求,并向将在下面描述的资源信息管理单元703询问是否存在满足该请求的任何资源(参见如图7所示的(2))。

此外,资源代理702从资0源信息管理单元703接收资源信息(参见如图7所示的(3)),并向资源信息中所示的可以用于服务的所有资源节点103询问各资源节点103的使用状态(参见如图7所示的(4))。此时,资源代理702向可以用于服务的所有资源节点103发送请求了该资源的服务管理单元701的信息。

资源信息是与满足来自服务管理单元701的请求的资源有关的信息,即,与可以用于服务的资源节点103有关的信息。具体地说,资源信息是诸如可以用于服务的资源节点103的IP地址等的信息。此外,服务管理单元701的信息是诸如服务名称或服务管理单元701的IP地址的信息。

此外,当存在来自多个服务管理单元701(例如,服务管理单元MA和服务管理单元MB)的对资源的请求时,资源代理702协调那些请求。这里应注意,在资源代理702中协调请求的技术是公知的技术。

资源信息管理单元703保存与属于资源层的所有资源节点103有关的信息。具体地说,例如,资源信息管理单元703保存静态信息(诸如IP地址、可用的OS、CPU性能、各资源节点103所安装的应用软件)和动态信息(诸如从将在下面描述的监视器704定期收集的CPU使用率)。

而且,当存在来自资源代理702的资源询问时,资源信息管理单元703从当前保存的信息中搜索被询问的资源,即,满足使得能够执行服务的条件的资源节点103。然后,资源信息管理单元703向资源代理702给出搜索结果。应注意,在资源信息管理单元703中执行的技术是公知的技术。

资源节点103设置有监视器704和代理705,并连接到各站点C。在各资源节点103的第一次启动时,监视器704向资源信息管理单元703发送与资源节点103有关的静态信息(未示出)。此外,监视器704向资源信息管理单元703定期发送与资源节点103有关的动态信息(未示出)。

代理705管理在资源节点103中运行的所有应用程序的启动和停止。而且,代理705保存与在资源节点103中运行的应用程序的启动有关的信息,例如,当前使用中的OS、环境变量、与操作中的守护进程有关的信息等。

此外,当存在来自资源代理702的对使用状态的询问时,代理705向服务管理单元701通知与资源节点103的使用状态有关的信息(参见如图7所示的(5))。

具体地说,基于来自资源代理702的、连同使用状态的询问一起发送的、与服务管理单元701有关的信息,代理705向服务管理单元701(例如,服务管理单元MA)发送与资源节点103的使用状态有关的信息。按来自代理705的使用状态的通知的快速顺序,服务管理单元701采用资源节点作为用于服务的资源节点103。具体地说,向来自代理705的使用状态的通知较快的资源节点103发送采用通知。(参见如图7所示的(6))。

而且,当来自代理705的使用状态的通知较晚,并且已准备了所需数量的资源节点103时,向资源节点103发送拒绝通知(参见如图7所示的(7))。

假设向数量比服务A所需的数量更多的资源节点103询问使用状态。这里应注意,假设对于服务A的执行,在各资源节点103中运行的应用程序是应用程序a(如图7所示的“a”),而对于服务B的执行,在各资源节点103中运行的应用程序是应用程序b(如图7所示的“b”)。

图8是由根据第一实施例的资源节点确定设备101执行的资源节点确定处理的流程图。在图8所示的流程图中,首先,资源节点确定设备101的服务管理单元MA向资源代理设备102的资源代理702发送使得能够执行服务A的条件数据(步骤S801)。

假设在服务管理单元MA中设置“存储容量:大于512MB;OS:Windows;资源节点的数量:五台”作为执行服务A的条件。因此,服务管理单元MA向资源代理702发送如下条件作为条件数据:需要在每一台中存储容量大于512MB、并且可用的OS是Windows的五台资源节点103。

在步骤S801中,作为发送使得能够执行服务A的条件数据的结果,从满足使得能够执行服务A的条件的资源节点103的代理705接收使用状态数据(步骤S802)。

具体地说,首先,基于来自服务管理单元MA的条件数据,资源代理702向资源信息管理单元703询问资源,并接收与使得能够执行服务A的资源有关的资源信息。然后,资源代理702通过使用包含在该资源信息中的IP地址来询问资源节点103的当前使用状态。作为结果,从资源节点103的代理705向服务管理单元MA通知使用状态。

接下来,确定用于服务A的资源节点103的数量是否达到作为条件请求的数量(步骤S803)。即,作为要用于服务A的资源,确定每一台中存储容量大于512MB、并且可用的OS是Windows的五台资源节点103是否得到保证。

这里,在未达到所请求的数量时(步骤S803:否),将作为在步骤S802中接收到的使用状态数据的发送源的资源节点103采用作为用于服务A的资源节点103(步骤S804)。然后,向所采用的资源节点103的代理70发送采用通知(步骤S805),并且过程进入步骤S802。

具体地说,采用使用状态数据发送较快的资源节点103,并且发送表示采用该节点作为用于服务A的资源节点103的采用通知。这里应注意,采用通知包括服务A的执行所需的应用程序a的启动请求,并且接收到该采用通知的代理705启动与该启动请求相对应的应用程序a。

而且,在达到了所请求的数量时(步骤S803:是),向作为在步骤S802中接收到的使用状态数据的发送源的资源节点103的代理705发送拒绝通知(步骤S806),从而可以完成一系列处理。

具体地说,在用于服务A的资源节点103达到所请求的数量时,向随后发送了使用状态数据的资源节点103的代理705发送拒绝通知。

根据第一实施例,由于将实际返回了使用状态的响应的资源节点103用于服务,因此可以确定地准备服务的执行所需的资源节点103的数量。而且,由于按使用状态的响应的快速顺序而采用其作为用于服务的资源节点103,因此可以在对由于网络带宽的差异而导致的通信延迟进行了考虑的情况下有效地分配资源节点。

而且,可以针对每项服务任意地设置在确定用于服务的资源节点103时的采用条件。因此,可以对所提供的服务的增加和改变灵活地进行响应,因此通用性优异。

在本发明的第二实施例中,将描述以下情况:不仅基于来自资源节点103的使用状态的通知的响应速度,而且基于预先在各服务管理单元701中设置的采用条件,来采用用于服务的资源节点103。

图9是例示根据第二实施例的资源节点确定系统的概要的图。由于直到资源代理702询问各资源节点103的使用状态为止的处理都与图7中所示的处理(1)至(4)相同,因此在这里略去了描述和图示。

在图9中所示的服务管理单元701的服务管理单元MA中,预先对在采用用于服务A的资源节点103时的采用条件进行设置(参见如图9所示的(5))。设置如下条件作为采用条件:当服务A的执行所需的应用程序a的启动不必切换OS时,采用资源节点;而当必须切换OS时,拒绝资源节点。

而且,按来自资源节点103的代理705的使用状态的通知被接收到的顺序,对采用条件进行确定。从各资源节点103的代理705向服务管理单元MA通知的使用状态的通知包括表示当前使用中的OS的信息(参见如图9所示的(6))。

服务管理单元MA基于包含在由代理705通知的使用状态的通知中的与当前使用中的OS有关的信息,而确定是否采用资源节点103。这里,首先确定应用程序a的启动是否需要切换OS。

具体地说,在确定应用程序a的启动不必切换OS时,采用该资源节点103作为用于服务A的资源节点103,并且向代理705发送采用通知(参见如图9所示的(7))。而且,在确定应用程序a的启动必须切换OS时,向代理705发送作为不将资源节点103用于服务A的拒绝通知(参见如图9所示的(8))。

假设向数量比服务A所需的数量更多的资源节点103询问使用状态。图10是根据第二实施例的由资源节点确定设备101执行的资源节点确定处理的流程图。在图10的流程图中,首先,资源节点确定设备101的服务管理单元MA向资源代理设备102的资源代理702发送使得能够执行服务A的条件数据(步骤S1001)。

在步骤S1001中,作为发送使得能够执行服务A的条件数据的结果,从满足使得能够执行服务A的条件的资源节点103的代理705接收使用状态数据(步骤S1002)。从资源节点103发送的使用状态数据包括与各资源节点103中当前使用中的OS有关的信息。

接下来,确定用于服务A的资源节点103的数量是否达到作为条件请求的数量(步骤S1003)。这里,当未达到所请求的数量时(步骤S1003:否),基于在步骤S1002中接收到的使用状态数据,确定作为使用状态数据的发送源的资源节点103是否满足在服务管理单元MA中预先设置的采用条件(步骤S1004)。

具体地说,根据包含在使用状态数据中的与当前使用中的OS有关的信息,确定在资源节点103中是否使用使得能够运行应用程序a的OS,并由此确定是否必须切换OS。

这里,当采用条件得到满足时(步骤S1004:是),作为在步骤S1002中接收到的使用状态数据的发送源的资源节点103被采用作为用于服务A的资源节点103(步骤S1005)。具体地说,当根据包含在使用状态数据中的与当前使用中的OS有关的信息而确定不必切换OS时,确定采用条件得到满足。

然后向所采用的资源节点103的代理705发送采用通知(步骤S1006),并且过程进入步骤S1002。而且,在步骤S1004中,当采用条件未得到满足时(步骤S1004:否),向作为在步骤S1002中接收到的使用状态数据的发送源的资源节点103发送拒绝通知(步骤S1007),并且过程进入步骤S1002。具体地说,当根据包含在使用状态数据中的与当前使用中的OS有关的信息确定必须切换OS时,确定采用条件未得到满足。

而且,在步骤S1003中,当达到了所请求的数量时(步骤S1003:是),可以向作为在步骤S1002中接收到的使用状态数据的发送源的资源节点103的代理705发送拒绝通知(步骤S1008),从而可以完成一系列处理。

具体地说,当用于服务A的资源节点103达到了所请求的数量时,向随后发送了使用状态数据的资源节点103的代理705发送拒绝通知。

根据该第二实施例,可以在对各资源节点103中用于启动执行服务A所需的应用程序a的时间进行了考虑的情况下,采用用于该服务的资源节点103。因此,可以避免以下情况,因而可以进行更有效的资源分配,该情况即,即使在使用状态快速响应的情况下,也要花费时间来启动应用程序a,因而结果是,花费了时间来执行服务A。

在本发明的第三实施例中,将描述以下情况:当接收到来自资源节点103的使用状态的通知时,未确定是否采用资源节点103,但是暂时采用该资源节点103,并取决于后续情况来确定其是否被采用。

图11是例示根据第三实施例的资源节点确定系统的概要的图。应注意,由于直到资源代理702询问各资源节点103的使用状态为止的处理都与如图7所示的处理(1)至(4)相同,因此这里略去描述和图示。

如图11所示,由于资源节点103a和资源节点103b的使用状态的通知较快,因此将描述以下情况:从服务管理单元MA向资源节点103a的代理705a和资源节点103b的代理705b发送暂时采用的通知。

按来自资源节点103的代理705的使用状态的通知的顺序(参见如图11所示的(5)),服务管理单元MA暂时采用该资源节点103作为用于服务A的资源节点103。然后,向暂时采用的资源节点103的代理705发送暂时采用的通知。

由于资源节点103a和资源节点103b的使用状态的通知响应较快,因此服务管理单元MA向资源节点103a和资源节点103b发送暂时采用的通知(参见如图11所示的(6))。

作为从服务管理单元MA发送暂时采用的通知的结果,资源节点103a和资源节点103b接收暂时采用的通知。因此,资源节点103a和资源节点103b将处于它们被暂时采用作为用于服务A的资源节点103的状态。

而且,接收到暂时采用的通知的代理705a和代理705b启动服务A的执行所需的应用程序a(参见如图11所示的(7))。接着,当完成应用程序a时,向服务管理单元MA发送表示应用程序a启动完成的启动完成的通知(参见图11中的(8))。

这里,由于快速完成了在资源节点103a中的应用程序a的启动,因此来自代理705a的启动完成的通知比来自代理705b的启动完成的通知更快。在这种情况下,服务管理单元MA向对启动完成通知较快的代理705a发送采用通知(参见图11中的(9))。

而且,由于在资源节点103b中花费了时间来启动应用程序a,因此当从代理705b向服务管理单元MA发送启动完成的通知时,已准备了服务A所需数量的资源节点103。在这种情况下,服务管理单元MA向代理705b发送拒绝通知(参见图11中的(10))。而且,接收到拒绝通知的代理705b停止应用程序a(参见图11中的(11)),并且其回到在接收到暂时采用的通知之前的状态。

图12是根据第三实施例的由资源节点确定设备101执行的资源节点确定处理的流程图。这里,假设向数量多于服务A所需的数量的资源节点103询问使用状态。

在图12中所示的流程图中,首先,资源节点确定设备101的服务管理单元MA向资源代理设备102的资源代理702发送使得能够执行服务A的条件数据(步骤S1201)。

在步骤S1201中,作为发送使得能够执行服务A的条件数据的结果,从满足使得能够执行服务A的条件的资源节点103的代理705接收使用状态数据(步骤S1202)。接下来,向作为使用状态数据的发送源的资源节点103发送暂时采用的通知(步骤S1203)。

然后,从作为暂时采用的通知的发送目的地的资源节点103接收启动完成的通知(步骤S1204)。具体地说,等待在作为暂时采用的通知的发送目的地的资源节点103中对服务A的执行所需的应用程序a进行启动,并且当该程序被启动时,接收到从资源节点103发送的启动完成的通知。

接下来,确定用于服务A的资源节点103的数量是否达到如该条件所请求的数量(步骤S1205)。这里,当未达到所请求的数量时(步骤S1205:否),作为在步骤S1204中接收到的启动完成的通知的发送源的资源节点103被采用作为用于服务A的资源节点103(步骤S1206)。

然后,向所采用的资源节点103的代理705发送采用通知(步骤S1207),并且过程进入步骤S1202。具体地说,启动完成的通知发送较快的资源节点103被采用,并且发送表示其被采用作为用于服务A的资源节点103的采用通知。

而且,在步骤1205中,当达到了所请求数量时(步骤S1205:是),向作为在步骤S1204中接收到的启动完成的通知的发送源的资源节点103的代理705发送拒绝通知(步骤S1208),从而可以完成一系列处理。

具体地说,当用于服务A的资源节点103达到了所请求的数量时,向随后发送了启动完成的通知的资源节点103的代理705发送拒绝通知。

根据该第三实施例,按表示在各资源节点103中实际完成了对应用程序a的启动的启动完成通知的顺序,采用用于服务A的资源节点。因此,可以将取决于各资源节点103的性能和使用状态的、应用程序a的启动所需的时间考虑在内,因此即使在难以预测在各资源节点103中对应用程序a的启动所需的时间的情况下,也可以有效的进行资源分配。

应注意,资源节点103用于多种服务,因此当执行资源采用/拒绝确定的两个步骤(确定在上述暂时采用之后是否采用)时,必须对多个应用程序的启动进行协调。

将描述以下情况:在资源节点103已被用于服务B的环境中,在开始新的服务A时,进行资源采用/拒绝确定的两个步骤。应注意,假设服务B的执行所需的应用程序是应用程序b。

在上述资源节点确定处理中,在资源节点103已为服务B运行应用程序b时,如果该资源节点103被采用作为用于服务A的资源节点103,则其停止应用程序b,并启动应用程序a。然而,当该资源节点103在随后被正式拒绝时,其将停止应用程序a,并重新启动以前停止的应用程序b。

即,通过暂时停止应停止的应用程序b,将产生无用的处理。如果可以同时运行应用程序a和应用程序b,则可以通过启动应用程序a而不停止在暂时采用时已被启动的应用程序b,来避免该无用的处理。在下文中,将参照图13描述应用程序的同时运行。

图13是根据第三实施例的资源节点确定处理的序列图。根据图13中所示的实施例,示出了在执行资源采用/拒绝确定的两个步骤时,在避免在被拒绝的资源节点103中应用程序的无用停止的情况下,操作的典型顺序。在此应注意,这里,在图11中所示的多个资源节点103之中,将仅描述资源节点103a和资源节点103b。

如图13所示,服务管理单元MA向资源代理702要求具有预定性能的五台资源节点103。基于来自资源信息管理单元703的资源信息(这里是七台的信息),资源代理702接着向资源节点103询问使用状态。

接收到来自资源代理702的对使用状态的询问的资源节点103a的代理705a和资源节点103b的代理705b向服务管理单元MA发送表示可以启动应用程序a的使用状态的通知。

接下来,服务管理单元MA向代理705a和代理705b发送暂时采用的通知。接收到暂时采用的通知的代理705a和代理705b启动应用程序a。此时,资源节点103a和103b继续保持已启动的应用程序b。

当应用程序a启动完成时,各代理705接着向服务管理单元MA发送应用程序a启动完成的通知。假设资源节点103b中应用程序a的启动完成比资源节点103a中应用程序a的启动完成更快。因此,服务管理单元MA向代理705b发送采用通知,并向代理705a发送拒绝通知。

接收到采用通知的代理705b此时停止应用程序b。因此,在资源节点103b中,仅应用程序a启动,并处于被分配作为用于服务A的资源节点103的状态。

而且,接收到拒绝通知的代理705a此时停止应用程序a。最初运行的应用程序b继续运行,使得资源节点103a可以回到初始状态(分配给服务B的状态)。

如上所述,在暂时采用时,通过保持已用于另一服务的应用程序的启动,可以避免应用程序的暂时停止。此外,通过避免应用程序的暂时停止,可以防止在启动时所需的初始化处理以及在停止时某些信息的删除处理,由此减少了各资源节点103中的负载。

如上所述,根据对资源节点确定程序、资源节点控制程序、记录介质、资源节点确定设备、资源节点、资源节点确定方法以及资源节点控制方法,可以实现各服务的平滑提供。

这里应注意,可以通过执行由计算机(诸如个人计算机和工作站)预先准备的程序,来实现本实施例中描述的资源节点确定方法。将该程序记录在诸如HD、FD、CD-ROM、MO或DVD的计算机可读取记录介质上,并通过由计算机从该记录介质中读取该程序来执行该程序。此外,该程序可以是能够经由诸如互联网的网络来散布的传输介质。

虽然为了完整和清楚的公开,针对具体实施例描述了本发明,但是所附权利要求并不因此受到限制,而是应被解释为具体实现了完全落入这里阐述的基本教示中的、本领域技术人员可能遇到的所有变型例和另选结构。

相关申请的交叉引用

本申请基于2006年9月20日提交的在先日本专利申请No.2006-254207,并要求其优先权的利益,通过引用将其全部内容合并于此。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号