应用分配系统、 应用分配方法和应用分配程序 【技术领域】
本发明涉及用于应用分配的系统、 方法和程序。背景技术 已知具有多个计算机的分布式处理装置, 并且通过该装置可以将应用分布至多个 计算机并且由该多个计算机执行。根据此类分布式处理装置, 有效地使用了每个计算机的 资源, 这会使得应用的执行能力得以增强。
在分布式处理装置中, 应用被分成多个组件。然后, 各个组件由不同的计算机执 行。 为了有效地使用多个计算机的资源, 如何将多个组件分配到每个计算机变得尤为重要。
相关技术在日本专利申请公开 JP-P2008-4092A 中进行了描述。该文献中所描述 的方法包括 : 用于提供集中管理资源以接收要求数据处理系统结构的按需提供请求的步 骤; 用于提供能够执行提供并且以分组单元分配的多个数据处理系统资源的步骤 ; 以及用 于提供能够响应于集中管理资源来单独地或以分组单元向多个按需请求动态分配能够执 行提供的数据处理系统资源的至少一个提供服务器的步骤。
另一相关技术在日本专利申请公开 JP-P2004-326452A 中进行了描述。该文献中 的分布式处理服务提供服务器包括 : 用于从第一计算机接收服务请求的第一装置 ; 用于基 于与第二计算机的资源有关的信息向每个分布处理块分配所接收服务请求的处理的第二 装置 ; 用于递送所分配的处理块的第三装置 ; 以及用于从向其递送处理块的第二计算机接 收该处理块的处理结果的第四装置, 并且基于处理结果向第一处理结果递送针对服务请求 的处理结果。
以下是发明人能够了解的其他相关技术 : 日本专利申请公开 JP-P2002-521765A ; JP-P2003-99410A ; JP-P2004-240697A ; 以及 JP-P2005-56405A。
引用列表
专利文献
[PTL1] 日本专利申请公开 JP-P2008-4092A ;
[PTL2] 日本专利申请公开 JP-P2004-326452A ;
[PTL3] 日本专利申请公开 JP-P2002-521765A ;
[PTL4] 日本专利申请公开 JP-P2003-99410A ;
[PTL5] 日本专利申请公开 JP-P2004-240697A ; 以及
[PTL6] 日本专利申请公开 JP-P2005-56405A。
发明内容 JP-P2004-326452A 中描述的分布式处理服务提供服务器基于第二计算机的资源 的信息确定向该第二计算机分配每个处理块。然后, 每个处理块被递送至所确定的第二计 算机。根据本发明, 可以有效地利用计算机资源的其余部分。
然而, 计算机资源的利用条件可以依赖于组件分配的条件等动态变化。 因此, 存在
用于确定分配目的地的计算机在组件由确定为分配目的地的计算机实际执行时的资源状 态有所不同的可能性。例如, 假设 1024MB 存储器装配在作为分配目的地候选的计算机上。 还假设待分配的组件需要 768MB 的存储器。这里, 假设指示作为分配目的地候选的计算机 的装配存储器为 1024MB 的静态信息用于确定分配目的地计算机。在这种情况下, 确定可以 向分配目的地候选计算机分配的组件。 然而, 在此之后, 可以向分配目的地计算机分配要求 512MB 存储器的另一应用。在这种情况下, 实际可用存储器变成 512MB。即, 执行分配对象 组件所需的 768MB 不保证在分配目的地计算机中。因此, 所分配的应用无法被执行。
即, 在 JP-P2004-326452A 中描述的技术存在以下问题, 即存在当应用在分配目的 地计算机的资源动态变化的情况中实际执行时不保证所假设的执行环境的可能性。
根据本发明, 应用分配系统包括 : 分配发起服务器 ; 以及分配候选服务器组, 其可 通信地连接到所述分配发起服务器。 分配发起服务器包括 : 应用解释部分, 用于当注册了包 括组件分组的应用时获得包括在组件分组中的每个组件的执行条件作为应用信息 ; 资源订 阅请求传输部分, 用于确定组件分组具有该组件分组变成被分配为针对包括在分配候选服 务器组中的每个分配候选服务器的分配候选组件分组的可能性, 以及生成指示分配候选组 件分组的执行条件的资源订阅请求并且向每个分配候选服务器传输资源订阅请求 ; 以及资 源监控部分, 用于确定来自分配候选服务器组的每个组件的分配目的地服务器。每个分配 候选服务器包括出席确定部分, 用于确定当获得资源订阅请求时, 包括在分配候选组件分 组中的每个分配候选组件是否可执行, 并且向分配发起服务器传输将确定为可执行的分配 候选组件表示为出席对象组件的应用出席请求, 并且资源监控部分基于应用出席请求确定 分配目的地服务器。 根据本发明另一示例性实施方式, 应用分配系统包括多个彼此通信地连接的服务 器。所述多个服务器中的每个服务器包括 : 分配发起服务器部分 ; 以及分配候选服务器部 分。分配发起服务器部分包括 : 应用解释部分, 用于当注册了包括组件分组的应用时, 获得 包括在组件分组中的每个组件的执行条件作为应用信息 ; 资源订阅请求传输部分, 用于确 定组件分组具有该组件分组变成分配为针对在多个服务器中其他服务器中的每个服务器 的分配候选组件分组的可能性, 以及生成指示分配候选组件分组和所述分配候选组件分组 的执行条件的资源订阅请求并且向每个其他服务器传输资源订阅请求 ; 以及资源监控部 分, 用于确定来自每个其他服务器的分组的每个组件的分配目的地服务器。分配发起服务 器部分包括用于确定当从每个其他服务器获得资源订阅请求时, 包括在分配候选组件分组 中的每个分配候选组件是否可执行, 生成将可执行分配候选组件表示为出席对象组件的应 用出席请求以及向每个其他服务器传输该应用出席请求的出席确定部分, 以及资源监控部 分基于应用出席请求确定分配目的地服务器。
根据本发明的应用分配装置包括 : 应用解释部分, 用于当注册了包括组件分组的 应用时, 获得包括在组件分组中的每个组件的执行条件作为应用信息 ; 资源订阅请求传输 部分, 用于确定组件分组具有该组件分组变成被分配为针对包括在分配候选服务器组中的 每个分配候选服务器的分配候选组件分组的可能性, 以及向每个分配候选服务器传输指示 分配候选组件分组和所述分配候选组件分组的执行条件的资源订阅请求 ; 以及资源监控部 分, 用于确定来自分配候选服务器组的每个组件的分配目的地服务器。当每个分配候选服 务器确定在获得资源订阅请求时包括在分配候选组件分组中的每个分配候选组件是否可
执行, 并且向分配发起服务器传输将确定为可执行的分配候选组件表示为出席对象组件的 应用出席请求时, 资源监控部分基于应用出席请求确定分配目的地服务器。
根据本发明的应用分配装置包括 : 资源订阅请求接收部分, 用于接收指示分配候 选组件分组具有被分配的可能性和所述分配候选组件分组的执行条件的资源订阅请求 ; 以 及出席确定部分, 用于基于资源订阅请求确定包括在分配候选组件分组中的每个分配候选 组件是否可执行, 以及向分配发起服务器传输将确定为可执行的分配候选组件表示为出席 对象组件的应用出席请求。
根据本发明的应用分配方法包括 : 当注册了包括组件分组的应用时分配发起服务 器获得包括在组件分组中的每个组件的执行条件作为应用信息的步骤 ; 分配发起服务器确 定组件分组具有该组件分组变成被分配为针对包括在分配候选服务器组中的每个分配候 选服务器的分配候选组件分组的可能性的步骤 ; 分配发起服务器向每个分配候选服务器传 输指示分配候选组件分组和所述分配候选组件分组的执行条件的资源订阅请求的步骤 ; 每 个分配候选服务器当获得资源订阅请求时确定包括在分配候选组件分组中的每个分配候 选组件是否可执行的步骤 ; 每个分配候选服务器向分配发起服务器传输将确定为可执行的 分配候选组件表示为出席对象组件的应用出席请求的步骤 ; 以及分配发起服务器基于应用 出席请求确定来自分配候选服务器组的每个组件的分配目的地服务器的步骤。 根据本发明的应用分配程序是用于实现上文所述的应用分配方法的程序。
应用分配系统中的应用分配装置的操作方法包括 : 当注册了包括组件分组的应用 时获得包括在组件分组中的每个组件的执行条件作为应用信息的步骤 ; 确定组件分组具有 该组件分组变成被分配为针对包括在分配候选服务器组中的每个分配候选服务器的分配 候选组件分组的可能性的步骤 ; 向每个分配候选服务器传输指示分配候选组件分组和所述 分配候选组件分组的执行条件的资源订阅请求的步骤 ; 以及当获得资源订阅请求时确定包 括在分配候选组件分组中的每个分配候选组件是否可执行的步骤 ; 以及当向分配发起服务 器传输将可执行的分配候选组件表示为出席对象组件的应用出席请求时, 基于应用出席请 求确定每个组件的分配目的地服务器的步骤。
根据本发明的应用分配装置的操作程序是用于由计算机实现上文所述应用分配 系统中的应用分配装置的操作方法的程序。
根据本发明的应用分配系统中的应用分配装置的操作方法包括 : 接收指示分配候 选组件分组具有被分配的可能性和所述分配候选组件分组的执行条件的资源订阅请求的 步骤 ; 以及基于资源订阅请求确定包括在分配候选组件分组中的每个分配候选组件是否可 执行, 以及向分配发起服务器传输将确定为可执行的分配候选组件表示为出席对象组件的 应用出席请求的步骤。
根据本发明的应用分配装置的操作程序是用于由计算机实现的应用分配系统中 的应用分配装置的操作方法的程序。
根据本发明, 当应用即使在分配目的地计算机的资源动态变化的情况下实际执行 时, 用于应用分配的系统、 方法和程序也能够保证假设的执行环境。
附图说明
图 1 是示出了根据第一示例性实施方式的应用分配系统的示意性框图 ;图 2 是示出了应用分配系统的示意性操作的流程图 ; 图 3 是详细示出步骤 S1 至步骤 S3 的操作的流程图 ; 图 4 是详细示出步骤 S4 和步骤 S5 的操作的流程图 ; 图 5 是详细示出步骤 S6 和步骤 S7 的操作的流程图 ; 图 6 是示出了资源订阅请求的示例的概念视图 ; 图 7 是详细示出步骤 S8 和步骤 S9 的操作的流程图 ; 图 8 是示出了当确定操作在步骤 S9-7 不可执行时的流程图 ; 图 9 是示出了当确定操作在步骤 S9-7 可执行时的流程图 ; 图 10 是示出了根据第二示例性实施方式的应用分配系统的示意性视图 ; 图 11 是示出了根据第二示例性实施方式的应用分配系统的示意性操作的流程 图 12 是详细示出步骤 S11 至步骤 S13 的操作的流程图 ; 图 13 是详细示出步骤 S14 的操作的流程图 ; 以及 图 14 是示出了根据示例性实施方式的应用分配系统的结构的示意性视图。图;
具体实施方式 ( 第一示例性实施方式 )
将参考以下附图说明本发明的第一示例性实施方式。
图 1 是示出了根据本示例性实施方式的应用分配系统的示意性框图。应用分配系 统包括分配发起服务器 100( 应用分配装置 ) 和作为分配对象应用的分配目的地候选的分 配候选服务器组 ( 应用分配装置组 )。在该应用分配系统中, 分配对象应用在分配发起服 务器 100 中注册。此处, 在分配对象应用中, 包括了多个组件作为组件分组。分配发起服务 器 100 从针对每个组件的分配候选服务器组中确定分配目的地服务器。然后, 向所确定的 分配目的地服务器分配每个组件。
分配发起服务器 100 用于向系统输入分配对象应用。分配发起服务器 100 包括 : 应用信息解释部分 1 ; 应用信息传输部分 2 ; 节点能力接收部分 3 ; 资源订阅请求传输部分 4; 资源监控部分 5 ; 组件递送部分 6 ; 以及规范验证部分 7。这些部分通过由 CPU 从 CD-ROM 等例示的记录介质等执行安装在分配发起服务器 100 的 ROM( 只读存储器 ) 中的程序 ( 应 用分配装置的操作程序 ) 来实现。
分配候选服务器组是作为分配对象应用的分配目的地的候选的服务器装置组。 包 括在分配候选服务器组中的每个分配候选服务器 200 包括 : 应用信息接收部分 8 ; 节点能力 传输部分 9 ; 节点能力管理部分 10 ; 资源订阅请求接收部分 11 ; 应用出席通知部分 13 ; 应用 出席确定部分 12 ; 组件接收部分 14 ; 以及组件分配部分 15。 这些部分通过由 CPU 从 CD-ROM 等例示的记录介质执行安装在每个分配候选服务器 200 的 ROM 中的程序 ( 应用分配装置的 操作程序 ) 来实现。
接下来, 说明应用分配系统的示意性操作。图 2 是示出了应用分配系统的示意性 操作的流程图。
步骤 S1 : 应用注册
分配对象应用由该应用分配系统的管理人员注册在分配发起服务器 100 中。在分
配对象应用中, 包括应用配置定义信息, 以及以应用的执行形式出现的组件分组。这里, 假 设包括在组件分组中的每个组件在其实现形式方面没有限制。 应用配置定义信息指示包括 在组件分组中的组件列表。此外, 在应用配置定义信息中, 执行每个组件的要求 ( 例如, 所 要求的存储器大小 ) 被链接到每个组件作为组件执行条件。
步骤 S2 : 分配发起服务器获得应用信息
应用信息解释部分 1 当注册了分配对象应用时获得应用配置定义信息并且将信 息存储在附图中未示出的存储器等中作为应用信息。应用信息由应用信息传输部分 2 传输 至每个分配候选服务器 200。
步骤 S3 : 分配候选服务器确定是否可执行
在每个分配候选服务器 200 中, 应用信息接收部分 8 获得应用信息并且向应用出 席确定部分 12 通知该应用信息。然后, 应用出席确定部分 12 确定可执行组件是否包括在 分配对象应用中。具体而言, 节点能力管理部分 10 调查分配候选服务器 200 的当前应用执 行能力并且向应用出席确定部分 12 通知所调查的能力作为节点能力信息。节点能力信息 是例如如装配的存储器大小的关于硬件的信息, 关于已经分配的组件的信息等。应用出席 确定部分 12 基于节点能力信息和应用信息来确定是否包括可执行组件。
步骤 S4 : 节点能力信息的传输
当确定的结果是包括可执行组件时, 节点能力管理部分 10 通过节点能力传输部 分 9 向分配发起服务器 100 传输该节点能力信息。
步骤 S5 : 由分配发起服务器进行规范验证
在分配发起服务器 100 中, 节点能力信息接收部分 3 接收节点能力信息。然后, 规 范验证部分 7 基于应用信息和节点能力信息执行每个分配候选服务器 200 的规范验证。具 体而言, 验证哪些组件能够由每个分配候选服务器 200 执行。
步骤 S6 : 资源订阅请求的传输
接下来, 资源订阅请求传输部分 4 基于规范验证部分 7 的验证结果确定具有向每 个分配候选服务器 200 分配的可能性的组件分组作为分配候选组件分组。此外, 资源订阅 请求传输部分 4 通过参考应用信息获得包括在分配候选组件分组中的每个分配候选组件 的执行条件。然后, 链接分配候选组件的列表及其执行条件以生成资源订阅请求。资源订 阅请求传输部分 4 向每个分配候选服务器 200 传输所生成的资源订阅请求。
步骤 S7 : 分配候选服务器确定是否可执行
在每个分配候选服务器 200 中, 资源订阅请求接收部分 11 接收资源订阅请求并且 向应用出席确定部分 12 通知该资源订阅请求。应用出席确定部分 12 基于资源订阅请求确 定包括在分配候选组件分组中的每个分配候选组件是否可执行。
步骤 S8 : AP 出席请求提交的传输
在存在可执行分配候选组件的情况下, 应用出席确定部分 12 确定分配候选组件 作为出席对象组件。然后, 生成指示出席对象组件的信息作为应用出席请求。此外, 应用出 席确定部分 12 通过应用出席通知部分 13 向分配发起服务器传输应用出席请求。
步骤 S9 : 由分配发起服务器进行规范验证
在分配发起服务器 100 中, 资源监控部分 5 从每个分配候选服务器 200 接收应用 出席请求。在资源监控部分 5 中, 规范验证部分 7 检测写入在应用出席请求中的出席对象组件是否可通过发布分配候选服务器 200 执行。并且当该出席对象组件可执行时, 发布分 配候选服务器 200 被确定为出席对象组件的分配目的地服务器。注意, 在该阶段中, 可以从 多个分配候选服务器 200 通知同一出席对象组件。在这种情况下, 资源监控部分 5 选择最 佳的分配候选服务器 200 作为出席对象组件的分配目的地服务器。
步骤 S10 : 组件的递送
在这之后, 资源监控部分 5 通过组件递送部分 6 向分配目的地服务器传输每个组 件。在该阶段, 待分配的组件可能已经装配在分配目的地服务器上。然后, 资源监控部分 5 通过参考节点能力信息确定是否已经装配了待分配的组件。当已经装配了组件时, 不执行 组件的递送并且指示分配目的地服务器将分配 ( 执行 ) 已装配组件。在分配目的地服务器 ( 分配候选服务器 ) 中, 组件接收部分 14 接收组件或组件的分配指令, 并且组件分配部分 15 分配组件。
通过上述步骤 S1 至 S10, 分配了包括在分配对象应用中的每个组件。
根据上文说明的结构和操作, 当在分配发起服务器 100 中注册了应用时, 向每个 分配候选服务器 200 传输指示每个组件的执行条件的信息 ( 资源订阅请求 )。然后, 在每 个分配候选服务器 200 中, 确定每个组件是否可执行。在分配发起服务器 100 侧, 根据每个 组件是否在每个分配候选服务器 200 中是否可执行 ( 应用出席请求 ) 的确定结果, 确定每 个组件的分配目的地服务器。由于可执行能力由每个分配候选服务器 200 确定, 因此可以 总是基于当前节点能力信息来确定每个组件是否可以被分配。因此, 即便在分配候选服务 器 200 中资源的使用条件动态变化时, 也可以向每个分配候选服务器最佳地分配该分配对 象应用的每个组件。 此外, 例如, 即便在服务器装置被从系统中删除或服务器装置新添加至 系统的情况下, 也可以动态分配该分配对象应用的每个组件。 接下来, 详细说明根据本示例性实施方式的应用分配系统的操作方法。
首先, 详细描述了步骤 S1 至 S3 的过程。图 3 是详细示出了步骤 S1 至 S3 的操作 的流程图。当在分配发起服务器 100 中注册分配对象应用时, 该过程开始 ( 步骤 S1)。
在分配发起服务器 100 中, 应用信息解释部分 1 分析所注册的分配对象应用 ( 步 骤 S2-1)。 应用信息接收部分 8 将应用信息注册到每个分配候选服务器 200 的记录介质 ( 附 图中未示出 ) 中 ( 步骤 S3-2)。应用信息接收部分 8 请求应用出席确定部分 12 来确定在应 用信息中描述的组件是否可执行 ( 步骤 S3-3)。接下来, 应用出席确定部分 12 请求节点能 力管理部分 10 来获得分配候选服务器 200 的能力信息 ( 步骤 S3-4)。接下来, 节点能力管 理部分 10 获得分配候选服务器 200 的节点能力信息。这里, 假设节点能力信息包括如装配 的存储器大小的硬件信息, 和用于指定已分配组件的信息 ( 标识符 )。接下来, 节点能力管 理部分 10 向应用出席确定部分 12 通知 ( 返回 ) 获得的节点能力信息 ( 步骤 S3-5)。
接下来, 应用出席确定部分 12 基于应用信息和节点能力信息来确定可执行组件 是否存在于应用信息中所描述的组件分组 ( 步骤 S3-6)。
当在步骤 S3-6 确定存在可执行组件时, 执行随后流程的过程 ( 步骤 4-1)。 另一方 面, 当不存在可执行组件时, 终止该过程。
接下来, 详细描述步骤 S4 至 S5 的过程。图 4 是详细示出了步骤 S4 和 S5 的操作 的流程图。
应用出席确定部分 12 请求节点能力传输部分 9 向分配发起服务器 100 传输分配
候选服务器 200 的节点能力信息 ( 步骤 S4-1)。接下来, 节点能力传输部分 9 请求节点能力 管理部分 10 获得节点能力信息 ( 步骤 S4-2)。接下来, 节点能力管理部分 10 调查分配候选 服务器 200 的节点能力, 并且向节点能力传输部分 9 通知 ( 返回 ) 该节点能力作为节点能 力信息 ( 步骤 S4-3)。接下来, 节点能力传输部分 9 向分配发起服务器 100 传输该节点能力 信息 ( 步骤 S4-4)。
接下来, 在分配发起服务器 100 中, 节点能力接收部分 3 接收节点能力信息 ( 步 骤 S5-1)。接下来, 节点能力接收部分 3 将接收的节点能力信息记录在记录设备中 ( 步骤 S5-2)。接下来, 资源订阅请求传输部分 4 请求规范验证部分 7 从组件分组检索可由分配候 选服务器 200 执行的组件 ( 步骤 S5-3)。接下来, 规范验证部分 7 请求节点能力接收部分 3 获得分配候选服务器 200 的节点能力信息 ( 步骤 S5-4)。接下来, 节点能力接收部分 103 从记录介质获得分配候选服务器 200 的节点能力信息, 并且向规范验证部分 7 通知 ( 返回 ) 该节点能力信息 ( 步骤 S5-5)。接下来, 规范验证部分 7 请求应用信息解释部分 1 获得应用 信息 ( 步骤 S5-6)。接下来, 应用信息解释部分 1 从记录介质获得应用信息, 并且向规范验 证部分 7 通知 ( 返回 ) 该应用信息 ( 步骤 5-7)。接下来, 规范验证部分 7 基于所获得的节 点能力信息和应用信息来确定 ( 验证 ) 包括在分配对象应用中的每个组件是否可由分配候 选服务器 200 执行 ( 步骤 S5-8)。 在步骤 S5-8 中确定的结果是由分配候选服务器 200 可执行的组件存在于分配对 象应用中的情况下, 过程进行至步骤 S6-1。在由分配候选服务器 200 可执行的组件没有存 在于分配对象应用中的情况下, 过程终止。
接下来, 详细描述了步骤 S6-1 至 S6-3 的过程。图 5 是详细示出了步骤 S6 和 S7 的操作的流程图。
资源订阅请求传输部分 4 生成资源订阅请求。图 6 是示出了资源订阅请求的示例 的概念视图。资源订阅请求包括指示分配候选组件的信息以及分配候选组件的执行条件。 这里, 选择在步骤 S5-8 确定可由分配候选服务器 200 执行的组件作为分配候选组件。该分 配候选组件通过参考应用信息获得。此外, 在资源订阅请求中, 包括分配候选服务器 200 的 地址信息以作为应用出席请求传输地址。资源订阅请求传输部分 4 向分配候选服务器 200 传输所生成的资源订阅请求 ( 步骤 S6-1)。 在分配候选服务器 200 中, 资源订阅请求接收部 分 11 接收资源订阅请求 ( 步骤 S6-2)。接下来, 资源订阅请求接收部分 11 将资源订阅请求 记录在记录设备中 ( 步骤 S6-3)。
接下来, 应用出席确定部分 12 请求节点能力管理部分 10 获得分配候选服务器 200 的能力信息 ( 步骤 S7-1)。接下来, 节点能力管理部分 10 调查分配候选服务器 200 的节点 能力并且向应用出席确定部分 12 通知 ( 返回 ) 调查结果作为节点能力信息 ( 步骤 S7-2)。 接下来, 应用出席确定部分 12 基于资源订阅请求和节点能力信息来确定在资源订阅请求 中描述的分配候选组件的可执行能力。在该步骤, 通过使用当前的节点能力信息执行该确 定。因此, 该步骤的确定结果可能与步骤 S3-6 的确定结果有所不同 ( 步骤 S7-3)。
作为在步骤 S7-3 的确定结果, 在可执行分配候选组件存在于资源订阅请求中的 情况下, 过程进行到下一步骤 S8-1。另一方面, 在不存在可执行分配候选组件的情况下, 过 程终止。
接下来, 详细说明步骤 S8 和 S9 的操作。图 7 是详细示出了步骤 S8 和 S9 的操作
的流程图。
应用出席确定部分 12 请求应用出席通知部分 13 发送应用出席请求 ( 步骤 S8-1)。 接下来, 应用出席通知部分 13 将应用出席请求生成作为信息并且将其发送到分配发起服 务器 100。这里, 在应用出席请求中, 存在指定出席对象组件的标识符以及指定分配候选服 务器 200 的标识符。选择作为在步骤 S7-3 的确定结果的为被确定为可执行的分配候选组 件作为出席对象组件 ( 步骤 S8-2)。
在分配发起服务器 100 中, 资源监控部分 5 接收应用出席请求 ( 步骤 S9-1)。接下 来, 资源监控部分 5 请求规范验证部分 7 确定出席对象组件是否可由分配候选服务器 200 执行 ( 步骤 S9-2)。接下来, 规范验证部分 7 请求节点能力接收部分 3 获得分配候选服务 器 200 的节点能力信息 ( 步骤 S9-3)。接下来, 节点能力接收部分 3 获得分配候选服务器 200 的已记录的节点能力信息并且向规范验证部分 7 通知 ( 返回 ) 该已记录的节点能力信 息 ( 步骤 S9-4)。接下来, 规范验证部分 7 请求应用信息解释部分 1 获得出席对象组件的执 行条件 ( 步骤 S9-5)。接下来, 应用信息解释部分 1 从记录在记录设备中的应用信息获得 出席对象组件的执行条件并且向规范验证部分 7 通知 ( 返回 ) 该出席对象组件的执行条件 ( 步骤 S9-6)。接下来, 规范验证部分 7 基于所获得的节点能力信息和所获得的执行条件确 定出席对象组件是否可由分配候选服务器 200 执行 ( 步骤 S9-7)。 作为步骤 S9-7 的确定结果, 在确定出席对象组件可由分配候选服务器 200 执行的 情况下, 过程进行到步骤 S10-1。 另一方面, 当确定出席对象组件不可执行时, 过程进行到步 骤 S10-6。
图 8 是示出了在步骤 S9-7 确定不可执行的情况下的操作的流程图。资源监控部 分 5 向分配候选服务器 200 传输应用出席通知的拒绝通知 ( 步骤 S10-6)。在分配候选服务 器 200 中, 应用出席通知部分 13 接收应用出席通知的拒绝通知 ( 步骤 S10-7)。应用出席通 知部分 13 将应用出席通知的拒绝通知记录在记录设备并且终止该过程 ( 步骤 S10-8)。
图 9 是示出了当在步骤 S9-7 确定可执行时操作时的流程图。资源监控部分 5 请 求组件递送部分 6 递送出席对象组件 ( 步骤 S10-1)。接下来, 组件递送部分 6 向作为分配 目的地服务器的分配候选服务器 200 传输该出席对象组件 ( 步骤 S10-2)。接下来, 在分配 候选服务器 200 中, 组件接收部分 14 接收出席对象组件 ( 步骤 S10-3)。接下来, 组件接收 部分 14 请求组件分配部分 15 分配出席对象组件 ( 步骤 S10-4)。接下来, 组件分配部分 15 分配该出席对象组件 ( 步骤 S10-5)。
( 第二示例性实施方式 )
接下来, 将说明第二示例性实施方式。
图 10 是示出了根据本示例性实施方式的应用分配系统的示意图。如图 10 中所 示, 该应用分配系统包括彼此可访问地连接的多个服务器装置。在所述多个服务器装置的 每一个中, 提供了分配发起服务器部分和分配候选服务器部分。分配发起服务器部分是与 图 1 中所示的第一示例性实施方式的分配发起服务器具有相同功能性结构的部分。分配候 选服务器部分是与图 1 中所示的第一示例性实施方式的分配候选服务器具有相同功能性 结构的部分。因此, 省略对分配发起服务器部分和分配候选服务器部分的功能性结构的详 细说明。
假设在该多个服务器装置中的一个服务器装置中注册了分配对象应用。 在这种情
况下, 该一个服务器装置通过其分配发起服务器部分操作为分配发起服务器。 另一方面, 其 他服务器装置的每一个通过其分配候选服务器部分操作为分配候选服务器。即, 分配对象 应用可以被注册到多个服务器装置中的任意一个。
此外, 在本发明中, 与第一示例性实施方式不同, 在注册分配对象应用之前, 将每 个服务器装置的节点能力信息向其他服务器装置传输。
在下文中, 说明了根据本发明的应用分配系统的操作方法。图 11 是示出了根据本 发明的应用分配系统的示意性操作的流程图。
在本示例性实施方式中, 该多个服务器装置的每一个向其他服务器装置分组连续 地或周期性地广播其自身的服务器装置的节点能力信息。 每个服务器装置获得其他服务器 组的节点能力 ( 步骤 S11)。这里, 假设分配对象应用被注册到该多个服务器装置之一。在 这种情况下, 其中注册了分配对象应用的服务器装置作为分配发起服务器 100 操作, 而其 他服务器组作为分配候选服务器组操作 ( 步骤 S12)。 分配发起服务器 100 获得分配对象应 用的应用信息 ( 步骤 S13)。这里, 其他服务器装置组 ( 分配候选服务器组 ) 的节点能力信 息已经被注册到了分配发起服务器 100 中。因此, 在分配候选服务器 200 中, 规范验证部分 7 基于节点能力信息和应用信息来执行组件是否可由分配候选服务器 200 执行的验证 ( 步 骤 S14)。后续的操作与第一示例性实施方式的步骤 S6 及之后的步骤相同。因此, 省略对它 们的详细描述。
如上文所说明的, 根据本示例性实施方式, 该多个服务器装置的每一个被构建从 而能够充当分配发起服务器 100 以及分配候选服务器 200。 因此, 只需管理人员将分配对象 应用注册到该多个服务器装置的任意一个。于是, 对于管理人员而言改进了操作便捷性。
此外, 在本示例性实施方式中, 在分配对象应用的注册之前广播节点能力信息。 因 此, 当从分配对象应用获得应用信息时, 分配发起服务器 100 可以立即执行步骤 S14( 在第 一示例性实施方式中为步骤 S5) 的过程。即, 可以省略第一示例性实施方式中的步骤 S3 和 S4, 从而使得可以减少从分配对象应用注册到分配完成的时间。
在下文中, 详细说明了根据本示例性实施方式的应用分配系统的操作。图 12 是详 细示出了步骤 S11 至 S13 的操作的流程图。
在每个服务器装置中, 包括在分配候选服务器部分中的节点能力传输部分 9 请求 节点能力管理部分 10 获得节点能力信息 ( 步骤 S11-1)。接下来, 节点能力管理部分 10 调 查其自己的服务器装置的节点能力并且向节点能力传输部分 202 返回该节点能力作为节 点能力信息 ( 步骤 S11-2)。接下来, 节点能力传输部分 9 向其他服务器装置组传输所获得 的节点能力信息。该操作意味着节点能力信息由广播通信进行传输 ( 步骤 S11-3)。在每个 服务器装置中, 包括在分配发起服务器部分中的节点能力接收部分 3 从其他服务器装置接 收节点能力信息 ( 步骤 11-4)。节点能力接收部分 3 将该节点能力信息记录到记录设备中 ( 步骤 S11-5)。
接下来, 假设管理人员将分配对象应用注册到该多个服务器装置之一中 ( 步骤 S12)。
其中注册了分配对象应用的服务器装置作为分配发起服务器 100 操作, 并且应用 构建定义由应用信息解释部分 1 进行分析 ( 步骤 S13-1)。应用信息解释部分 1 将应用构建 定义存储在记录设备中作为应用信息 ( 步骤 S13-2)。接下来, 详细描述步骤 S14 的操作。 图 13 是详细示出了步骤 S14 的操作的流程图。
资源订阅请求传输部分 4 请求规范验证部分 7 检索能够执行每个组件的分配候选 服务器的列表 ( 步骤 S14-1)。接下来, 规范验证部分 7 请求应用信息解释部分 1 获得应用 信息 ( 步骤 S14-2)。接下来, 应用信息解释部分 1 从记录设备获得每个组件的执行条件并 且向规范验证部分 7 通知 ( 返回 ) 该执行条件 ( 步骤 14-3)。接下来, 规范验证部分 7 请 求节点能力接收部分 3 获得节点能力信息 ( 步骤 S14-4)。节点能力接收部分 3 从记录设 备获得每个分配候选服务器 200 的节点能力信息, 并且向规范验证部分 7 通知该节点能力 信息 ( 步骤 S14-5)。规范验证部分 7 基于每个组件的执行条件和每个分配候选服务器 200 的节点能力信息获得具有与每个组件的执行条件匹配的规范 ( 节点能力 ) 的分配候选服务 器 200 的列表。即, 验证每个组件可由哪个分配候选服务器 200 执行。然后, 向资源订阅请 求传输部分 4 通知该验证结果 ( 步骤 S14-6)。
以下过程与第一示例性实施方式中的步骤 S6 及后续过程相同。
( 示例 )
接下来, 说明一示例以用于更详细地说明本发明。以下示例对应于先前说明的第 一示例性实施方式。
图 14 是示出了根据本示例的应用分配系统的示意图。
如图 14 中所示, 应用分配系统包括当分配对象应用被输入到该系统中时使用 的分配发起服务器 100, 以及作为用于执行该应用的服务器装置的分配候选服务器组 (200-1、 200-2、 200-3)。假设分配发起服务器 100 和分配候选服务器组的构建与第一示例 性实施方式中的相同 ( 参考图 1)。
在分配候选服务器组中, 假设分配候选服务器 200-1 具有以下规范。
已安装的存储器量= 1024MB
可用存储器量= 896MB
盘容量= 100GB
已安装的中间件=数据库 -X(DB-X), 以及应用服务器 -X(AppS-X)
已安装的组件=组件 A
另外, 假设分配候选服务器 200-2 具有以下规范。
已安装的存储器量= 2048MB
可用存储器量= 2048MB
盘容量= 100GB
已安装的中间件= WEB 服务器 (Web-X)
已安装的组件=无
另外, 假设分配候选服务器 200-3 具有以下规范。
已安装的存储器量= 512MB
可用存储器量= 512MB
盘容量= 100GB
已安装的中间件= WEB 服务器 (Web-X)
已安装的组件=无
这里, 假设组件 A、 组件 B 和组件 C 包括在注册在分配候选服务器 100 中的分配对象应用中。并且假设以下内容在分配对象应用的应用构建定义中描述。
组件 A 的执行条件
所需存储器= 128MB
所需盘容量= 1.0GB
所需中间件=数据库 -X(DB-X)
组件 B 的执行条件
所需存储器= 256MB
所需盘容量= 0.5GB
所需中间件=应用服务器 -X(AppS-X)
组件 C 的执行条件
所需存储器= 256MB
所需盘容量= 1.0GB
所需中间件= Web 服务器 -X(WebS-X)
下面将说明当以上分配对象应用注册到分配发起服务器 100 中时由管理人员进 行的操作。 在分配发起服务器 100 中, 应用信息解释部分 1 从分配对象应用获得应用构建定 义, 并且将每个组件的执行条件信息记录到记录设备中作为应用信息。 接下来, 应用信息传 输部分 2 获得组件 A、 组件 B 和组件 C 的执行条件信息, 并且经由网络将它们递送至每个分 配候选服务器 200。此时的递送方法为广播。
接下来, 每个分配候选服务器 200 通过应用信息接收部分 8 接收应用信息 ( 每个 组件的执行条件信息 ), 并且将其记录至记录设备。
这里, 说明了分配候选服务器 200-1 的操作。分配候选服务器 200-1 基于所接收 的应用信息和其自己的服务器的节点能力信息确定每个组件的可执行能力。这里, 分配候 选服务器 200-1 的可用存储器量为 856MB。因此, 对于所有组件 A、 B 和 C 均满足存储器量 需求。此外, 分配候选服务器 200-1 的盘容量为 100GB, 从而使得对于所有组件 A、 B和C均 满足盘容量需求。此外, 在分配候选服务器 200-1 中, 安装了数据库 -X 和应用服务器 -X。 因此, 作为中间件需求, 满足了组件 A 和组件 B 的需求, 但不满足组件 C 的需求。即, 分配候 选服务器 200-1 确定组件 A 和组件 B 可执行。因为存在可执行组件, 因此分配候选服务器 200-1 向分配发起服务器传输节点能力信息。
以相同的方式, 每个分配候选服务器 200-2 和 200-3 还确定是否存在可执行组件。 在分配候选服务器 200-2 的情况下, 因为组件 C 是可执行的, 因此其传输节点能力信息。因 为组件 C 是可执行的, 因此分配候选服务器 200-3 类似地传输节点能力信息。
接下来, 分配发起服务器 100 从每个分配候选服务器 200 接收节点能力信息并且 将其记录。然后, 在分配发起服务器 100 中, 验证哪些组件可由每个分配候选服务器 200 执 行。通过该操作, 针对分配候选服务器 200-1, 提取组件 A 和组件 B 作为可执行组件。针对 分配候选服务器 200-2, 提取组件 C 作为可执行组件。针对分配候选服务器 200-3, 提取组 件 C 作为可执行组件。
分配发起服务器 100 生成资源订阅请求并且将其传输到每个分配候选服务器 200。此时, 将组件 A 和组件 B 的执行条件信息传输到分配候选服务器 200-1 作为资源订阅
请求。 将组件 C 的执行条件信息传输到分配候选服务器 200-2 和 200-3 作为资源订阅请求。
当接收资源订阅请求时, 每个分配候选服务器 200 将其记录在记录设备中。然后, 将在资源订阅请求中描述的组件 ( 分配候选组件 ) 确定为可执行或不可执行。因为确定是 基于当前节点能力信息的, 所以尽管该阶段的确定变得类似于之前所述, 这是, 其也可能不 同于之前描述的确定结果。然而, 在本发明中, 假设确定结果与之前所述的相同。如果分配 候选组件可执行, 则每个分配候选服务器 200 向分配发起服务器 100 传输应用出席请求。 具 体而言, 分配候选服务器 200-1 确定组件 A 和 B 作为出席对象组件并且将它们传输到应用 出席请求。分配候选服务器 200-2 和 200-3 将组件 C 确定作为出席对象组件并且将其传输 作为应用出席请求。
当从每个分配候选服务器 200 接收应用出席请求时, 分配发起服务器 100 通过参 考应用信息检测出席对象组件未被分配。然后, 通过将已获得的每个节点的能力信息与出 席对象组件的执行条件进行比较, 从而确定可执行能力。基于确定结果来确定出席对象组 件的分配目的地服务器。
具体而言, 分配候选服务器 200-1 被确定为传输自该分配候选服务器 200-1 的出 席对象组件 ( 组件 A 和 B) 的分配目的地服务器。在该阶段, 分配发起服务器 100 通过参考 节点能力信息确定组件 A 或组件 B 是否已经装配在分配目的地服务器 ( 分配候选服务器 200-1) 上。在分配候选服务器 200-1 上, 已经装配了组件 A。因此, 分配发起服务器 100 只 向分配候选服务器 200-1 传输组件 B。然后, 向分配候选服务器 200-1 通知组件 A 的执行指 令。 另一方面, 从分配候选服务器 200-2 和分配发起服务器 200-2 向分配发起服务器 100 通知同一组件 ( 组件 C) 作为出席对象组件。在该情况下, 分配发起服务器 100 通过参 考节点能力信息确定组件 C 是否已经装配在分配候选服务器 200-2 和 200-3 中的任意一个 上。 当装配了组件 C 时, 将装配的分配候选服务器 200 优选地确定为分配目的地服务器。 在 本示例性实施方式中, 出席对象组件 ( 组件 C) 没有装配在任一分配候选服务器上。在该情 况下, 分配发起服务器 100 确定首先通知应用出席请求的分配候选服务器作为分配目的地 服务器。这里, 可以使用不同的条件作为确定分配目的地服务器的确定条件。在本示例性 实施方式中, 确定从分配候选服务器 200-2 向其发送应用出席请求的服务器。分配发起服 务器 100 确定分配候选服务器 200-2 作为分配目的地服务器。因为组件 C 没有装配在分配 候选服务器 200-2 上, 因此分配发起服务器 100 向分配候选服务器 200-3 递送该组件 C 以 将其分配。分配发起服务器 100 返回来自分配候选服务器 200-3 的应用出席请求的应用出 席通知拒绝通知。当接收应用出席通知拒绝通知时, 分配候选服务器 200-3 将该通知记录 在记录设备中并且终止该过程。另一方面, 分配候选服务器 200-1 和 200-2 分别接收和分 配组件 B 和组件 C, 并且终止该过程。
通过上述过程, 完成分配对象应用的分配。
在上文中, 通过参考某些示例性实施方式和示例说明本发明。 然而, 本发明不限于 该示例性实施方式和示例。 本领域技术人员可以在权利要求书中所描述的本发明的技术思 想的范围内对本发明的构建或细节进行适当的修改或改变。
本申请基于并要求 2009 年 2 月 23 日提交的日本专利申请 No.2009-039991 的优 先权, 其公开内容通过引用的方式整体并入于此。