首页> 中国专利> 用于修复过度承诺的计算环境中的过载的方法和系统

用于修复过度承诺的计算环境中的过载的方法和系统

摘要

本发明涉及一种用于修复过度承诺的计算环境中的过载的方法和系统。所述方法包括:测量计算环境中的至少一个系统管理程序中的每个系统管理程序上的多个虚拟机中的每个虚拟机的资源使用;在检测到所述至少一个系统管理程序中的一个系统管理程序上的资源过载时:确定要针对该系统管理程序上的所述多个虚拟机中的至少一个虚拟机采取的至少一个操作,以便在增加运行中的虚拟机的价值的同时修复资源过载;以及向该系统管理程序发送命令以发出所述至少一个操作。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-28

    未缴年费专利权终止 IPC(主分类):G06F17/30 专利号:ZL201310139393X 申请日:20130422 授权公告日:20160803

    专利权的终止

  • 2016-08-03

    授权

    授权

  • 2013-11-27

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130422

    实质审查的生效

  • 2013-10-30

    公开

    公开

说明书

技术领域

本发明的实施例一般地涉及信息技术,更具体地说,涉及虚拟机管理。

背景技术

计算云系统中的资源过度订阅正在成为信息技术(IT)服务中的普遍 现象。通常供应虚拟机(VM)以托管云系统中的单独服务。传统上,为 这些VM供应其以物理资源保证的所有被分配资源(例如,存储器和中央 处理单元(CPU))。超过可以由物理资源保证的数量的资源分配(即, 资源过度订阅)允许在系统管理程序上托管更多的VM。因为VM通常并 不消耗所有被分配资源,所以过度订阅可以增加资源利用率,因此降低服 务供应成本。

但是,过度订阅带来的风险是在托管的VM用完被分配资源之前,系 统管理程序中出现资源过载,并且资源过载(尤其是存储器过载)极大地 降低服务性能。

试图补救过度订阅的不良后果的现有方法包括仅迁移解决方案。但是, 仅迁移解决方案并不足以修复过度承诺(over-committed)的系统中的过 载(在这些系统中,存在大量系统管理程序同时接近过载的可能性),并 且在密集型过度承诺的系统管理程序群集中迁移开销可能很大。

因此,需要修复过度承诺的计算环境中的过载。

发明内容

在本发明的一个方面,提供了用于修复资源过载的技术。一种用于修 复过度承诺的计算环境中的过载的示例性计算机实现的方法可以包括以下 步骤:测量计算环境中的至少一个系统管理程序中的每个系统管理程序上 的多个虚拟机中的每个虚拟机的资源使用;在检测到所述至少一个系统管 理程序中的一个系统管理程序上的资源过载时:确定要针对该系统管理程 序上的所述多个虚拟机中的至少一个虚拟机采取的至少一个操作,以便在 增加运行中的虚拟机的价值的同时修复资源过载;以及向该系统管理程序 发送命令以发出所述至少一个操作。

在本发明的另一个方面,提供了用于虚拟化环境的自动过载修复方法 的技术。一种示例性计算机实现的方法包括以下步骤:通过从系统内的多 个虚拟机选择所述虚拟机的要迁移的子集以及所述虚拟机的要静默 (quiesce)的子集而从系统资源过载情况中恢复;以及定期选择所述虚拟 机的要迁移的子集以及所述虚拟机的要恢复的子集,以便增加运行中的虚 拟机数量并增加运行中的虚拟机实现的工作价值。

本发明的另一个方面或其元素可以以制品的形式实现,所述制品有形 地包含计算机可读指令,当执行所述计算机可读指令时,导致计算机执行 在此描述的多个方法步骤。此外,本发明的另一个方面或其元素可以以装 置的形式实现,所述装置包括存储器和至少一个处理器,所述至少一个处 理器耦合到所述存储器并且可操作以执行说明的方法步骤。此外,本发明 的另一个方面或其元素可以以用于执行在此描述的方法步骤的部件或其元 素的形式实现;所述部件可以包括(i)硬件模块(多个),(ii)软件模 块(多个),或(iii)硬件和软件模块的组合;(i)-(iii)中的任何一个 都实现在此说明的特定技术,并且所述软件模块被存储在有形的计算机可 读存储介质(或多个此类介质)中。

从以下将结合附图阅读的对本发明的示例性实施例的详细描述,本发 明的这些和其它目标、特性以及优点将变得显而易见。

附图说明

图1是示出根据本发明的一个实施例的云中的过载修复系统的实例架 构的示意图;

图2是示出根据本发明的一个实施例的目标云中的过载修复系统的实 施架构的示意图;

图3是示出根据本发明的一个实施例的用于VM静默的选择算法的示 意图;

图4是示出根据本发明的一个实施例的用于VM恢复的选择算法的示 意图;

图5是示出根据本发明的一个实施例的用于修复过度承诺的计算环境 中的过载的技术的流程图;以及

图6是其中可以实现本发明的至少一个实施例的示例性计算机系统的 系统示意图。

具体实施方式

如在此所描述的,本发明的一个方面包括修复过度承诺的计算环境中 的过载。本发明的至少一个实施例包括提供一种机制,以便修复过载而无 需假设始终具有可用于迁移的资源。如在此所详述的,使用工作价值概念 比较VM的重要性,并将过载修复问题表述为可移除在线多背包问题 (ROMKP)的变型。本发明的一个方面包括一种用于求解该优化问题的 算法。

本发明的一个实施例例如可以在大型商业云环境中实现。当不存在资 源可用系统管理程序时,本发明的至少一个实施例包括临时放弃某些计算, 即,使一个或多个被确定为不太重要的VM静默以便修复持续过载,从而 使其余VM正常运行。当一组VM完成其作业并正常终止或释放资源之后, 资源变得可用并且被静默的VM恢复以完成其作业。因此,如在此所详述 的,本发明的一个方面包括确定应针对哪些VM采取哪些操作(迁移、静 默或恢复),以便在可能没有足够资源的过度订阅的计算系统中修复资源 过载,同时增加(例如,最大化)运行中的服务的价值。

此外,本发明的至少一个实施例包括综合对VM的静默、恢复和迁移 操作的考虑,以便提供解决该问题变型的算法。相应地,所述算法结合对 静默/迁移/恢复操作的成本的考虑,并且通过试探算法接近全局优化。

图1是示出根据本发明的一个实施例的云中的过载修复系统的实例架 构的示意图。举例来说,图1示出了互连的系统管理程序106和110。将 VM(例如,VM102和104)的映像放置在跨所有系统管理程序共享的存 储装置上。因此,可以在任何系统管理程序上启动或恢复VM。安装在每 个系统管理程序中的监视器(例如由组件108和112示出)定期测量该系 统管理程序上的所有VM的资源使用,并向修复中心组件114报告资源测 量。

当系统管理程序中的监视器检测到系统管理程序上的过载时,修复中 心知晓云中的所有系统管理程序的资源使用,并做出要迁移或静默或恢复 哪些VM的决策。此外,恢复中心向对应的系统管理程序发送命令以发出 操作。通过图1中的虚线示出监视器和修复中心之间的消息传输。

因为VM的资源使用随时间变化,并且不时发生VM供应和取消供应, 所以云中的资源使用也有所变化。因此,修复中心定期检查是否有足够的 资源变得可用以便恢复任何被静默的VM。

如在此所详述的,本发明的一个方面包括使用“工作价值”的概念来 定义VM的重要性。工作价值如在此所使用的,旨在衡量VM被静默导致 的VM上的潜在服务/任务损失和/或VM被静默对其它VM的执行的影响。 在传统的VM放置技术中,并不测量这些价值作为效用,因为此类方法不 会使VM静默。例如,工作价值包括被静默的VM在如果未被静默的情况 下完成的预期工作,而这些技术中的效用没有考虑此方面。

本发明的至少一个实施例的目标是使执行最少量工作价值的VM静 默,并恢复执行更多工作价值的VM。如在此所描述的,使用分析模型评 估每个VM的工作价值,从而利用VM度量的现有分析(例如,季节性时 间序列)计算/估计工作价值。此类计算可以结合有关被预测工作负载的模 式、从过去或工作负载类型进行的生命周期预测、客户风格等知识。

此外,本发明的至少一个实施例包括使用相关性模型评估每个VM的 工作价值。这例如可以包括经由配置分析的静态相关性、动态相关性和/ 或使用其它试探法,例如VM价格、当前中央处理单元(CPU)工作等。

工作价值的一个实例实施例是收益或价格。如果未使用价格作为工作 价值,则可以通过服务类型指示工作价值。当提供关键服务(例如电子邮 件和网络文件系统(NFS))的VM被静默时,可能导致重大损失。可以 直接从有关VM服务的知识,或者通过利用分析模型(如果没有提供此类 直接知识)来估计潜在损失。例如,如果VM为多个机器提供备份服务并 且每周一次定期执行备份服务,则可以应用季节性时间序列分析以便检测 此VM的服务的规律性,并预测该VM在特定时间的关键性。还可以预测 工作负载模式,并使用它确定VM的工作在特定时间的重要性。

除了使用有关服务的知识、分析模型和工作负载模式来估计工作价值 之外,管理员可以指定VM在任何时间t的工作价值的计算。下面给出了 计算工作价值的一个实例(需要正确设置参数V1、V2、V3以及函数

除了被静默的VM的服务损失之外,被静默的VM还可能影响依赖于 该被静默的VM的其它VM。举例来说,WebSphere Application Server (WAS)中的股票交易服务依赖于DB2服务器,并且WAS和DB2服务 器存在于两个单独的VM中。当DB2VM被静默时,WAS VM不会实现 任何工作价值。

此外,本发明的至少一个实施例可以包括当选择某些VM以便静默、 迁移或恢复时,在无相关性情况下优化运行中的VM的总工作价值。在无 相关性情况下,VM的工作价值与其它VM的工作价值无关。在此类情况 下,问题是多背包问题(MKP)的变型,或者更具体地说,是可移除在线 MKP的变型,因为要供应VM,从系统管理程序中移除VM,以及将VM 从一个系统管理程序重新定位到另一个,并且VM具有变化的资源使用和 工作价值。除了工作价值之外,在处理该问题时还考虑VM静默和迁移的 成本。

举例来说,考虑具有m个系统管理程序H1、H2、…、Hm的云计算环 境。Hi具有资源量Ri(为使该实例简单起见,假设具有一种类型的资源; 但是将理解,可以扩展本发明的至少一个实施例以支持多种类型的资源)。 此外,假设存在n个VM:VM1、VM2、…、VMn。在此使用的变量被定 义如下:

uj  VMj要完成的工作价值

rj  VMj使用的资源

Ri  Hi中的资源

xi,j  1:VMj在Hi上运行;0:其他情况

cqj  静默VMj的成本

crj  恢复VMj的成本

cmj  迁移VMj的成本

μ   过载检测的阈值百分比

uj、rj和xi,j随时间变化;因此,它们被表示为时间t的函数:uj(t)、 rj(t)和xi,j(t)。形式上,给出以下表示:

并且系统正在经历资源过载(当修复过载时)或未经历资源过载(当恢复 被静默的VM时)。即,

本发明的至少一个实施例尝试通过选择受以下约束的xi,j(t+1)来获得

max(Σi=1mΣj=1n(uj(t+1)*xi,j(t+1)))

以及

quiescecost=Σk=1|YQ|(cqyqk*Σi=1mxi,yqk(t+1))thrdq,yqYQresumecost=Σk=1|YR|(cryrk*Σi=1mxi,yrk(t+1))thrdr,yrYRmigrationcost=Σk=1|YM|(cmymk*Σi=1mxi,ymk(t+1))thrdm,ymYMYQ={j|VMjis>}YR={j|VMjis>}YM={j|VMjis>}

thrdq、thrdr和thrdm分别是静默、恢复和迁移成本的阈值。这些值可 以由系统确定或者由管理员指定。

VMj要被静默、恢复、迁移还是保持不变将在形式上由xi,j(t)和xi,j(t+1) 之间的关系表示,如下所示:

A=Σi-1m[xi,j(t+1)-xi,j(t)];B=Σi=1m[xi,j(t+1)-xi,j(t)]2

(1)VMj要被静默A=-1,B=1

(2)VMj要被恢复A=1,B=1

(3)VMj要被迁移A=0,B=2

(4)VMj要被保持不变A=0,B=0

ROMKP问题的该变型是NP困难(NP hard)问题。本发明的至少 一个实施例包括一种设计的ROWM近似算法以便解决该问题。所述算法 中存在两个部分:过载修复部分,用于当系统管理程序发生过载时,确定 要静默/迁移哪些VM;以及定期恢复部分,用于当资源变得充足时,确定 要恢复哪些被静默的VM。

当过载(即,资源使用超过阈值thrd1)时,标识过载的系统管理程 序上的一组VM,必须迁移或静默这些VM以便修复过载。然后,执行测 试以便确定是否可以通过针对MKP应用试探算法,将C中的所有VM(即, 消耗过载的系统管理程序上大部分资源以至其余VM消耗的资源少于阈值 thrd2的VM)迁移到其它系统管理程序。当没有足够的资源时,所述测 试将失败。因此,计划静默整个云中具有最小的工作价值-资源使用比率的 VM,并且再次执行测试。继续该过程直到测试通过。

随后,检查Q中被计划静默的VM以便选择不必要地被计划静默的那 些VM。在这些步骤之后,获得最终迁移和静默计划。定期恢复部分的步 骤类似于上面对过载修复部分的描述,只是执行测试以便确定是否可以恢 复C中所有被静默的VM。

该算法具有时间复杂度O(nlogn+nkm),其中n是云中的VM数,k 是要被迁移/恢复的VM数,m是系统管理程序数。它是多项式时间开销, 并且例如可以针对包含数百个系统管理程序和数千个VM的云实现。

举例来说,本发明的至少一个实施例可以在大型云平台上被实现为 MAPE(监视-分析-计划-执行)循环。图2是示出根据本发明的一个实施 例的目标云中的过载修复系统的实施架构的示意图。图2中的带阴影组件 是那些要被添加到目标云以支持过载修复的组件。图2中的不带阴影组件 是云本身的组件。

云管理器214是负责VM 202的VM供应、取消供应、迁移和其它管 理操作的软件包。数据仓库212存储由系统管理程序204中的监视器206 定期报告的测量数据。客户可以通过门户216向云管理器发出命令以便执 行所需的操作。在门户和云管理器之间利用REST(表现状态传输)应用 编程接口(API)以便请求云管理器中的特定操作。此外,可以在云管理 器和门户之间实施消息队列组件218。

与图1中示出的基本过载修复相比,图2中示出的系统包括修复数据 库(DB)208以支持持久性。所述数据库存储由系统管理程序监视器生成 的事件(例如,“资源过载”事件、“已修复过载”事件等)、云管理器 执行的操作的状态(例如,“迁移成功”、“恢复VM失败”等),以及 所有被管理VM的当前状态(例如,“正常运行”、“过载”、“静默” 等)。修复中心210是在单独计算机上运行的过程,其定期查询修复DB 以便处理所述DB接收的任何新事件。当处理这些事件时,修复中心从数 据仓库212取回执行数据(当修复算法中需要这些数据时)。当进行有关 要迁移、静默和/或恢复哪些VM的决策时,向云管理器发送命令以执行决 策。

图3是示出根据本发明的一个实施例的用于VM静默的选择算法的流 程图。在步骤302,Q={计划要通过该算法静默的VM;初始为空}。在步 骤304,C={消耗过载的系统管理程序上大部分资源以至其余VM消耗少 于阈值(例如,85%)的物理资源的VM}。步骤306包括针对所有系统管 理程序上的所有运行中的VM,根据其U/R比率按升序排序。步骤308包 括进行测试以便确定是否可以在不会导致资源使用超过设置阈值(例如, 85%)并具有可接受的迁移成本的情况下,将C中的VM迁移到其它系统 管理程序(Q中的VM被认为已静默)。系统管理员可以根据其经验和专 业知识指定可接受的迁移成本的准则;例如,准则为在某一时间段内少于 80%的网络带宽。此外,在测试期间应用最佳拟合MKP试探算法。如果 测试成功(如在步骤310中所确定),则执行工作并且所述算法继续到步 骤316;否则,所述算法继续到步骤312。

在步骤312,Q=Q+{具有次最小的U/R值并具有可接受的静默成本的 VM}。步骤314包括确定是否修复了过载。如果是,则所述算法继续到步 骤316;否则,所述算法返回到步骤308。因此,将迁移计划成功地创建为 M,并且步骤316包括从Q中移除不必要地通过步骤312添加到Q中的 VM。<M,Q>是最终结果。

图4是示出根据本发明的一个实施例的用于VM恢复的选择算法的示 意图。在步骤402,Q={计划要通过该算法静默的VM;初始为空}。在步 骤404,C={被静默的VM}。步骤406包括针对所有系统管理程序上的所 有运行中的VM和被静默的VM,根据其U/R比率按升序排序。步骤408 包括进行测试以便确定是否可以在不会导致资源使用超过阈值(例如, 85%)并具有可接受的恢复成本的情况下,在系统管理程序上恢复C中的 VM(Q中的VM被认为已静默)。此外,在所述测试期间应用最佳拟合 MKP试探算法。

步骤410确定所述测试是否成功。如果成功,则执行工作并且所述算 法继续到步骤414。否则,所述算法继续到步骤412。在步骤412,Q=Q+{具 有次最小的U/R值并具有可接受的静默成本的VM}。随后,所述算法返 回到步骤408。

将恢复计划成功地创建为M,并且步骤414包括从Q中移除不必要地 通过步骤412添加到Q中的VM。<M,Q>是最终结果。

图5是示出根据本发明的一个实施例的用于修复过度承诺的计算环境 中的过载的技术的流程图。步骤502包括测量计算环境中的至少一个系统 管理程序中的每个系统管理程序上的多个虚拟机中的每个虚拟机的资源使 用。

在检测到所述至少一个系统管理程序中的一个系统管理程序上的资源 过载时,执行步骤504和506。步骤504包括确定要针对该系统管理程序 上的所述多个虚拟机中的至少一个虚拟机采取的至少一个操作,以便在增 加或最大化运行中的虚拟机的价值的同时修复资源过载。如在此所详述的, 所述操作可以包括迁移、静默或恢复中的至少一个。

确定要采取的至少一个操作可以包括计算该系统管理程序上的每个虚 拟机的工作价值,其中工作价值可以包括以下项中的至少一个:由该虚拟 机被静默导致的该虚拟机上的潜在服务损失的测量,以及该虚拟机被静默 对至少一个其它虚拟机的执行的影响的测量。每个虚拟机的工作价值可以 包括至少一个因素的组合,所述至少一个因素包括虚拟机生命周期、价格、 收益、服务水平协议、中央处理单元利用率、虚拟机相关性以及工作负载 预测。

此外,确定要采取的至少一个操作可以包括标识要静默的具有最低工 作价值的至少一个虚拟机和/或要恢复以便优化的具有较高工作价值的至 少一个虚拟机。此外,确定要采取的至少一个操作可以包括持续测量和利 用每个虚拟机的工作价值和资源消耗。本发明的至少一个实施例还可以包 括使用工作价值与资源消耗的比率判定是否要针对虚拟机采取迁移、静默 或恢复操作中的任何一个。

步骤506包括向该系统管理程序发送命令以发出所述至少一个操作。 此外,图5中示出的技术可以包括定期确定是否有足够的资源变得可用以 便恢复被静默的虚拟机。

还如在此所详述的,本发明的至少一个实施例包括一种用于虚拟化环 境的自动过载修复方法。此类方法包括通过从系统内的多个虚拟机选择所 述虚拟机的要迁移的子集以及所述虚拟机的要静默的子集而从系统资源过 载情况中恢复。此外,本发明的此类实施例可以包括定期选择所述虚拟机 的要迁移的子集以及所述虚拟机的要恢复的子集,以便增加运行中的虚拟 机数量并增加运行中的虚拟机实现的工作价值。如在此所详述的,迁移、 静默和恢复选择均考虑每个虚拟机所贡献的工作价值度量。所述工作价值 度量组合一个或多个因素,所述一个或多个因素包括虚拟机生命周期、价 格、收益、服务水平协议、中央处理单元利用率、虚拟机相关性以及工作 负载预测。

此外,在本发明的至少一个实施例中,问题被表述为可移除在线多背 包问题(ROMKP)的变型。此类表述的问题包括:除新物体的到达以外, 考虑随时间变化的物体工作价值和资源使用;允许背包操作,所述背包操 作包括从背包移除一个或多个物体、将一个或多个物体从一个背包移动到 另一个背包,以及将一个或多个物体放回背包。此类问题还包括在决策中 考虑所述背包操作的成本。

对ROMKP问题的所述变型的解可以包括:持续测量和利用每个虚拟 机的所述工作价值和资源使用;使用工作价值与资源使用的比率作为决策 准则,以便针对一个或多个虚拟机选择迁移、静默或恢复操作;以及计算 每个迁移、静默和/或恢复操作的成本,并使用所述成本作为问题公式化的 约束。此外,在本发明的至少一个实施例中,虚拟机的所述工作价值被定 义为1/(资源使用)(如果该虚拟机在给定最近时间段P内未被静默)以 及无穷大(如果该虚拟机在所述时间段P内被静默)。

如在此所描述的,图5中示出的技术还可以包括提供一种系统,其中 所述系统包括不同软件模块,所述不同软件模块的每一个都包含在有形的 计算机可读可记录存储介质中。例如,所有模块(或其任何子集)可以在 相同介质中,或者每一个可以在不同介质中。所述模块可以包括附图中示 出的任何或全部组件。在本发明的一个方面,所述模块例如可以在硬件处 理器上运行。然后可以使用所述系统的所述不同软件模块(如上所述,在 硬件处理器上执行)执行所述方法步骤。此外,一种计算机程序产品可以 包括有形的计算机可读可记录存储介质,其具有适合于被执行的代码以便 执行在此描述的至少一个方法步骤,包括为所述系统供应所述不同软件模 块。

此外,图5中示出的技术能够通过可以包括计算机可用程序代码的计 算机程序产品来实现,所述计算机可用程序代码被存储在数据处理系统内 的计算机可读存储介质中,并且其中所述计算机可用程序代码通过网络从 远程数据处理系统下载。此外,在本发明的一个方面,所述计算机程序产 品可以包括被存储在服务器数据处理系统内的计算机可读存储介质中的计 算机可用程序代码,并且其中所述计算机可用程序代码通过网络下载到远 程数据处理系统,以便在计算机可读存储介质中与所述远程系统一起使用。

如本领域的技术人员将理解的,本发明的各方面可以体现为系统、方 法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、 完全软件实施例(包括固件、驻留软件、微代码等)或组合了在此通常可 以被称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形 式。此外,本发明的各方面可以采取体现在计算机可读介质(在介质中包 含计算机可读程序代码)中的计算机程序产品的形式。

本发明的一个方面或其元素可以以装置的形式实现,所述装置包括存 储器和至少一个处理器,所述至少一个处理器耦合到所述存储器并且可操 作以执行示例性方法步骤。

此外,本发明的一个方面可以使用在通用计算机或工作站上运行的软 件。参考图6,此类实施方式例如可以采用处理器602、存储器604和输入 /输出接口(例如,由显示器606和键盘608形成)。术语“处理器”如在 此所使用的,旨在包括任何处理设备,例如包括CPU(中央处理单元)和 /或其它形式处理电路的处理设备。此外,术语“处理器”可以指多个单独 的处理器。术语“存储器”旨在包括与处理器或CPU关联的存储器,例 如RAM(随机存取存储器)、ROM(只读存储器)、固定存储器设备(例 如,硬盘驱动器)、可移动存储器设备(例如,软盘)、闪存等。此外, 词组“输入/输出接口”如在此所使用的,旨在包括例如用于将数据输入到 所述处理单元中的机构(例如,鼠标),以及用于提供与所述处理单元关 联的结果的机构(例如,打印机)。作为数据处理单元612的一部分,处 理器602、存储器604和输入/输出接口(例如显示器606和键盘608)例 如可以通过总线610互连。还可以例如通过总线610为网络接口614(例 如网卡,可以提供它以便与计算机网络连接)以及介质接口616(例如软 盘或CD-ROM驱动器,可以提供它以便与介质618连接)提供适合的互 连。

因此,如在此所描述的,包括用于执行本发明的所述方法的指令或代 码的计算机软件可以被存储在关联的存储设备(例如,ROM、固定或可移 动存储器)中,并且当准备使用时,被部分或全部加载(例如,加载到RAM 中)并由CPU实现。此类软件可以包括但不限于固件、驻留软件、微代 码等。

适合于存储和/或执行程序代码的数据处理系统将包括至少一个通过 系统总线610直接或间接连接到存储器元件604的处理器602。所述存储 器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存 储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大 容量存储装置检索代码的次数的高速缓冲存储器。

输入/输出或I/O设备(包括但不限于键盘608、显示器606、指点设 备等)可以直接(例如通过总线610)或通过中间I/O控制器(为清楚起 见而被省略)与所述系统相连。

网络适配器(例如网络接口614)也可以被连接到所述系统以使所述 数据处理系统能够通过中间专用或公共网络变得与其它数据处理系统或远 程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是 当前可用的网络适配器类型中的少数几种。

如在此(包括权利要求)所使用的,“服务器”包括运行服务器程序 的物理数据处理系统(例如,如图6中示出的系统612)。将理解,此类 物理服务器可以包括也可以不包括显示器和键盘。

如所说明的,本发明的各方面可以采取包含在计算机可读介质中的计 算机程序产品的形式,所述计算机可读介质具有包含在其中的计算机可读 程序代码。此外,可以使用一个或多个计算机可读介质的任意组合。所述 计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算 机可读存储介质例如可以是(但不限于)电、磁、光、电磁、红外线或半 导体系统、装置或设备或上述任意适合的组合。所述计算机可读存储介质 的更具体的实例(非穷举列表)将包括以下项:具有一条或多条线的电连 接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器 (ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式 光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述任意适合 的组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含 或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备 结合的程序的有形介质。

计算机可读信号介质可以包括其中包含计算机可读程序代码(例如, 在基带中或作为载波的一部分)的传播数据信号。此类传播信号可以采取 各种形式中的任一种,包括但不限于电磁、光或其中任意适合的组合。计 算机可读信号介质可以是任何不属于计算机可读存储介质并且能够传送、 传播或传输由指令执行系统、装置或设备使用或与指令执行系统、装置或 设备结合的程序的计算机可读介质。

可以使用适当的介质(包括但不限于无线、线缆、光缆、RF等或上 述任意适合的组合)来传输包含在计算机可读介质中的程序代码。

用于执行本发明的各方面的操作的计算机程序代码可以使用包含至少 一种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、 C++之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语 言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执 行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算 机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上 执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或 广域网(WAN)的任何类型网络与用户的计算机相连,或者可以与外部计 算机进行连接(例如,使用因特网服务提供商通过因特网连接)。

在此参考根据本发明的实施例的方法、装置(系统)和计算机程序产 品的流程图和/或方块图对本发明的各方面进行描述。将理解,所述流程图 和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以 由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、 专用计算机或其它可编程数据处理装置的处理器以产生机器,以便通过所 述计算机或其它可编程数据处理装置的处理器执行的所述指令产生用于实 现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。

这些计算机程序指令也可以被存储在能够引导计算机、其它可编程数 据处理装置或其它设备以特定方式执行功能的计算机可读介质中,以便存 储在所述计算机可读介质中的所述指令产生一件包括实现在一个或多个流 程图和/或方块图方块中指定的功能/操作的指令的制品。因此,本发明的 一个方面包括有形地包含计算机可读指令的制品,当执行所述计算机可读 指令时,导致计算机执行在此描述的多个方法步骤。

所述计算机程序指令还可被加载到计算机、其它可编程数据处理装置 或其它设备,以导致在所述计算机、其它可编程装置或其它设备上执行一 系列操作步骤以产生计算机实现的过程,从而在所述计算机或其它可编程 装置上执行的所述指令提供用于实现在一个或多个流程图和/或方块图方 块中指定的功能/操作的过程。

附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方 法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所 述流程图或方块图中的每个方块都可以表示模块、组件、段或代码部分, 它们包括用于实现指定的逻辑功能(多个)的至少一个可执行指令。还应 指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的 顺序发生。例如,示为连续的两个方块可以实际上被基本同时地执行,或 者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还 将指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图 中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用 硬件和计算机指令的组合来实现。

应指出,在此描述的任何方法都可以包括提供一种系统的附加步骤, 所述系统包括包含在计算机可读存储介质中的不同软件模块;所述模块例 如可以包括在此详述的任何或全部组件。然后可以使用所述系统的所述不 同软件模块和/或子模块(如上所述,在硬件处理器602上执行)执行所述 方法步骤。此外,计算机程序产品可以包括计算机可读存储介质,其具有 适合于被执行的代码以便执行在此描述的至少一个方法步骤,包括为所述 系统供应所述不同软件模块。

在任何情况下,应理解,在此示出的组件可以以各种形式的硬件、软 件或它们的组合来实现;例如,专用集成电路(多个)(ASIC)、功能电 路、具有关联存储器的经过适当编程的通用数字计算机等。给予了在此提 供的本发明的教导后,本领域的技术人员将能够构想本发明的所述组件的 其它实施方式。

在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明 的限制。如在此所使用的,单数形式“一”、“一个”和“该”旨在同样 包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中 使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操 作、元素和/或组件的存在,但是并不排除其它特性、整数、步骤、操作、 元素、组件和/或其组的存在或增加。

以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装 置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它 单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述 其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所 表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范 围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说 明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通 技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的 各种实施方式。

本发明的至少一个方面可以提供有益的效果,例如修复系统管理程序 过载而无需假设始终具有可用于迁移的资源。

出于示例目的给出了对本发明的各种实施例的描述,但所述描述并非 旨在是穷举的或是限于所公开的实施例。在不偏离所述实施例的范围和精 神的情况下,对于本领域的技术人员来说许多修改和变化都将是显而易见 的。在此使用的术语的选择是为了最佳地解释实施例的原理、实际应用或 对市场中的技术的技术改进,或者使本领域的其它技术人员能够理解在此 公开的实施例。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号