专利名称:资源节点及其确定方法和设备、其控制方法及计算机产品的制作方法
技术领域:
本发明涉及一种分布式计算机环境中的资源节点分配技术。
技术背景通常,当来自用户的访问集中在一项服务上、或者执行需要大量计 算工作的服务时,为进行负载分配,使用经由网络连接有大量计算机的 分布式计算机环境,例如,其中相互混合有不同类型的计算机的网格环 境。在这种情况下,必须在要分配给一项服务的大量计算机中自动而快 速地选择适合于该服务的目的的最优计算机(以下的"资源节点")。特 别是在其中相互混合有不同类型的计算机的网格环境中,整个服务的性 能极大地取决于所分配的资源节点。因此,为了提高整个服务的性能,例如基于与各资源节点的性能以 及使用环境有关的信息,来分配取决于各服务的资源节点。具体地说,例如,服务管理员从对在多项服务中使用的资源节点进 行代理的资源代理请求该服务所需的资源。资源代理从资源节点组中搜 索满足该请求的资源节点,并基于搜索结果来分配用于服务的资源节点(例如,日本专利特开公报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是这样的计算机设备,艮P, 该计算机设备向终端(未示出)提供由资源节点确定设备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分别连接各部件。这里,CPU201对整个计算机设备的控制进行管理。ROM 202记录 诸如引导程序的程序。RAM 203用作CPU 201的工作区域。HDD 204根 据CPU 201的控制,来控制对HD 205的数据的读取/写入。HD 205对通 过HDD 204的控制而写入的数据进行存储。FDD 206根据CPU 201的控制,来控制对FD 207的数据的读取/写 入。FD207对通过FDD206的控制而写入的数据进行存储,或者使得计 算机设备读取FD 207所存储的数据。此外,除了FD207之外,还可以使用光盘只读存储器(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使用率、存储器使用率等),来指定满足该条件的资源节点。此外,资源代理向所有指定资源节点询问当前使用状态,同时要求应将与各使用状态有关的信息发送到资源节点确定设备ioi。此时,资源代理可以向各指定资源节点发送资源节点确定设备101的IP地址。艮p,资源代理并不对实际用于一项服务的资源节点进行分配,而是 指定满足使得能够执行一项服务的条件的资源节点。然后,资源代理对各资源节点执行用于向资源节点确定设备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的分配状态进行管理的中间设备层构成。资源节点确定设备IOI由为每项服务(例如,服务A和服务B)准 备的服务管理单元701 (例如,服务管理单元MA和服务管理单元MB) 构成。服务管理单元701根据加到各服务上的负载,从稍后提及的资源 代理702请求资源节点103 (参见如图7所示的(l)),并对分配给各服 务的资源节点103进行管理。此外,在服务管理单元701中,可以设置资源代理702请求的条件, 诸如资源节点103的性能和数量。具体地说,服务A的管理员可以在服 务管理单元MA中设置服务A所需的资源节点103的性能和数量。这里, 假设在服务管理单元MA中设置"存储容量大于512 MB; OS: Windows; 资源节点的数量五台"作为资源代理702所请求的条件。此外,在服务管理单元701中,可以任意地设置在确定用于服务的 资源节点103时的采用条件。例如,可以基于应用程序的启动是否需要 切换OS、是否必须重新启动一守护进程等,来设置釆用条件。更具体地 说,例如,可以如下设置釆用条件当不必切换OS时,设置为采用,而 当必须切换OS时,设置为拒绝。这里应注意,在下文中,资源是指从服务管理单元701向资源代理 702请求的、执行服务所需的资源节点103。 S卩,将在每一台中存储容量 大于512MB、并且可用的OS是Windows的五台资源节点103统称为资源。此外,通过与各资源节点103的代理705进行通信,服务管理单元 701可以掌握实际用于服务的各资源节点103的使用状态,或者可以掌握 所有使用的资源节点103的数量。资源代理设备102由资源代理702和资源信息管理单元703构成。 资源代理702从各服务管理单元701接收资源请求,并向将在下面描述 的资源信息管理单元703询问是否存在满足该请求的任何资源(参见如 图7所示的(2))。此外,资源代理702从资源信息管理单元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从当前保存的信息中搜索被询问的资源,S卩,满足使得能够执行服务 的条件的资源节点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的资源,确定每一台 中存储容量大于512 MB、并且可用的OS是Windows的五台资源节点103 是否得到保证。这里,在未达到所请求的数量时(步骤S803:否),将作为在步骤 S802中接收到的使用状态数据的发送源的资源节点103采用作为用于服 务A的资源节点103 (步骤S804)。然后,向所采用的资源节点103的代 理705发送釆用通知(步骤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询问使用状态。 图IO是根据第二实施例的由资源节点确定设备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发送暂时采用 的通知(参见如图ll所示的(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中的(ll)),并且其回到在接收 到暂时采用的通知之前的状态。图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的环境中,在开资源采用/拒绝确定的两个步骤。应注意,假设服务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,并要求其优先权的利益,通过引用将其全部内容合并于此。
权利要求
1、一种资源节点确定方法,该资源节点确定方法包括以下步骤向对用于多项服务的多个资源节点的分配进行管理的资源代理发送与使得能够执行一服务的条件有关的信息;从所述多个资源节点之中的满足所述条件的指定节点接收与所述指定节点的使用状态有关的信息;以及基于所述与所述使用状态有关的信息,从所述指定节点之中确定要用于所述服务的资源节点。
2、 根据权利要求1所述的资源节点确定方法,其中,所述确定包括 以下步骤按所述与所述使用状态有关的信息的接收顺序,从所述指定节点之中确定要用于所述服务的资源节点。
3、 根据权利要求1所述的资源节点确定方法,其中所述与所述使用状态有关的信息包括指示是否需要切换软件资源的 切换信息,所述软件资源是在所述指定节点中执行所述服务所需的,并 且所述确定包括以下步骤基于所述切换信息,从所述指定节点之中 确定要用于所述服务的资源节点。
4、 根据权利要求1所述的资源节点确定方法,其中所述与所述使用状态有关的信息包括指示是否执行软件资源的软件 信息,所述软件资源是在所述指定节点中执行所述服务所需的,并且所述确定包括以下步骤基于所述软件信息,从所述指定节点中确 定要用于所述服务的资源节点。
5、 根据权利要求1所述的资源节点确定方法,该资源节点确定方法还包括以下步骤当接收到所述与所述使用状态有关的信息时,向所述指定节点发送 用于在所述指定节点中对所述服务所需的软件资源进行启动的请求;以及从所述指定节点接收响应于所述请求的启动完成的通知,其中 所述确定包括以下步骤按所述通知的接收顺序,从所述指定节点 中确定要用于所述服务的资源节点。
6、 一种资源节点确定方法,该资源节点确定方法包括以下步骤当执行从多项服务中选择的第一服务的执行所需的软件资源的资源 节点满足使得能够执行从所述多项服务中新选择的第二服务的条件时, 从确定是否将所述资源节点用于所述第一服务和所述第二服务中的每一个的确定设备接收对所述第二服务的执行所需的软件资源的启动请求; 当接收到所述请求时,启动所述第二服务的执行所需的软件资源; 当启动了所述第二服务的执行所需的软件资源时,向所述确定设备发送所述第二服务的执行所需的软件资源的启动完成的通知;从所述确定设备接收所述资源节点是否用于所述第二服务的确定结果,所述确定是响应于所述通知而进行的;以及基于所述确定,终止所述第一服务所需的软件资源和所述第二服务所需的软件资源中的一个软件资源的执行。
7、 根据权利要求6所述的资源节点确定方法,其中,当接收到的结 果表明针对所述第二服务使用所述资源节点时,所述终止包括以下步骤: 终止所述第一服务所需的软件资源的执行。
8、 根据权利要求6所述的资源节点确定方法,其中,当接收到的结 果表明针对所述第二服务拒绝使用所述资源节点时,所述终止包括以下 步骤终止所述第二服务所需的软件资源的执行。
9、 一种资源节点确定设备,该资源节点确定设备包括 发送单元,该发送单元向对用于多项服务的多个资源节点的分配进行管理的资源代理发送与使得能够执行一服务的条件有关的信息;接收单元,该接收单元从所述多个资源节点之中的满足所述条件的指定节点接收与所述指定节点的使用状态有关的信息;以及确定单元,该确定单元基于所述与所述使用状态有关的信息,从所述指定节点之中确定要用于所述服务的资源节点。
10、 一种资源节点,所述资源节点包括第一接收单元,当执行从多项服务中选择的第一服务的执行所需的软件资源的资源节点满足使得能够执行从所述多项服务中新选择的第二 服务的条件时,该第一接收单元从确定是否将所述资源节点用于所述第 一服务和所述第二服务中的每一个的确定设备接收对所述第二服务的执 行所需的软件资源的启动请求;启动单元,当接收到所述请求时,该启动单元启动所述第二服务的 执行所需的软件资源;发送单元,当启动了所述第二服务的执行所需的软件资源时,该发 送单元向所述确定设备发送对所述第二服务的执行所需的软件资源的启 动完成的通知;第二接收单元,该第二接收单元从所述确定设备接收所述资源节点 是否用于所述第二服务的确定结果,所述确定是响应于所述通知而进行 的;以及终止单元,该终止单元基于所述确定,将所述第一服务所需的软件 资源和所述第二服务所需的软件资源中的一个软件资源的执行终止。
全文摘要
本发明公开了用于确定资源节点的方法和设备、控制资源节点的方法、资源节点以及计算机产品。通过向对在多项服务之间使用的资源节点的分配状态进行管理的资源代理发送与使得能够执行一项服务的条件有关的信息,从在多项服务之间使用的多个资源节点中指定使得能够执行一项服务的资源节点。并且通过接收与指定资源节点之中的资源节点的使用状态有关的信息,并基于与所述接收到的使用状态有关的信息,从指定资源节点之中确定用于一项服务的资源节点。
文档编号G06F9/50GK101149691SQ20071008479
公开日2008年3月26日 申请日期2007年2月28日 优先权日2006年9月20日
发明者村田美穗 申请人:富士通株式会社