首页> 中国专利> 用于监视一个应用在计算机系统上的执行的方法和系统

用于监视一个应用在计算机系统上的执行的方法和系统

摘要

本发明的各方面提供了一种用于监视一个应用在计算机系统上的执行的解决方案。在一个实施例中,经由无代理处理针对测量计算机系统的性能的资源利用变量集合中的每个资源利用变量来获取多个基本操作值。基于这些基本操作值,编译该计算机系统的应用简档。这一应用简档可以包括该资源利用变量集合中的每个资源利用变量的过程控制上限和过程控制下限。能够通过在应用执行期间从计算机系统收集操作值并且将所收集的值与应用简档中对应的过程控制上限和过程控制下限进行比较来监视应用的执行。

著录项

  • 公开/公告号CN104572232A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201410563100.5

  • 发明设计人 A·P·道玲;N·马力克;C·米勒;

    申请日2014-10-21

  • 分类号G06F9/45;G06F11/30;H04L29/08;

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 纽约阿芒克

  • 入库时间 2023-12-18 08:25:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-17

    授权

    授权

  • 2015-05-27

    实质审查的生效 IPC(主分类):G06F9/45 申请日:20141021

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明的主题总体上涉及计算机应用管理。更具体地,本发明的 各方面提供了一种用于监视一个应用在计算机系统中的执行的解决 方案。

背景技术

云计算环境是对处理器网格环境的增强,尤其多个网格和其它计 算资源可以进一步通过云层进行抽象,因此使得不同设备针对终端用 户表现为无缝资源的单个池。这些资源可以包括诸如物理或逻辑计算 引擎、服务器和设备、设备存储器以及存储设备。

在这样的分布式计算环境(例如,云环境、网格环境、客户端/ 服务器环境等)中,用户希望执行的任务经常在远离用户位置的位置 执行。因此,用户可能很少或完全不访问与在其上执行该任务的计算 机系统相关的信息。相反,用户可以指定应当被执行以实施该任务的 应用并且随后接收执行结果,而没有与该应用在该应用在其上执行的 特定系统的执行有关的任何指示(例如,操作运行时间特性)。

为了提供更为详细的信息,已经研发出了监视软件。该监视软件 经常分为两种类型。位于应用执行点的高度复杂的监视软件能提供应 用级别的监视。作为替代,更为标准的监视解决方案能够检测操作系 统级别的故障。

发明内容

总体上,本发明的各方面提供了一种用于监视一个应用在计算机 系统上的执行的解决方案。在一个实施例中,经由无代理处理针对测 量计算机系统的性能的资源利用变量集合中的每个资源利用变量来 获取多个基本操作值。基于这些基本操作值,编译该计算机系统的应 用简档。该应用简档可以包括该资源利用变量集合中的每个资源利用 变量的过程控制上限和过程控制下限。能够通过在应用执行期间从计 算机系统收集操作值并且将所收集的值与应用简档中相对应的过程 控制上限和过程控制下限进行比较来监视应用的执行。

本发明的第一方面提供了一种用于监视一个应用在计算机系统 上的执行的方法,包括:针对测量该计算机系统的性能的资源利用变 量集合中的每个资源利用变量来获取多个基本操作值,该多个基本操 作值经由无代理处理而获取;基于该基本操作值对计算机系统的应用 简档进行编译,该应用简档包括该资源利用变量集合中的每个资源利 用变量的过程控制上限和过程控制下限;在应用在该计算机系统上的 执行期间针对该计算机系统的资源利用变量集合中的每个资源利用 变量收集利用操作值;以及基于该利用操作值集合中的每个利用操作 值与该资源利用变量集合中的每个资源利用变量相对应的过程控制 上限和相对应的过程控制下限的比较而评估该计算机系统内应用的 性能。

本发明的第二方面提供了一种用于监视一个应用在计算机系统 上的执行的系统,其包括至少一个计算机设备,该计算机设备执行一 种方法,该方法包括:针对测量该计算机系统的性能的资源利用变量 集合中的每个资源利用变量来获取多个基本操作值,该多个基本操作 值经由无代理处理而获取;基于该基本操作值对计算机系统的应用简 档进行编译,该应用简档包括该资源利用变量集合中的每个资源利用 变量的过程控制上限和过程控制下限;在应用在该计算机系统上的执 行期间针对该计算机系统的资源利用变量集合中的每个资源利用变 量收集利用操作值;并且基于该利用操作值集合中的每个利用操作值 与该资源利用变量集合中的每个资源利用变量对应的过程控制上限 和对应的过程控制下限的比较而评估该计算机系统内应用的性能。

本发明的第三方面提供了一种体现在计算机可读介质中的用于 监视一个应用在计算机系统上的执行的计算机程序产品,其中当被执 行时,其实施一种方法,包括:针对测量该计算机系统的性能的资源 利用变量集合中的每个资源利用变量获取多个基本操作值,该多个基 本操作值经由无代理处理而获取;基于该基本操作值对计算机系统的 应用简档进行编译,该应用简档包括该资源利用变量集合中的每个资 源利用变量的过程控制上限和过程控制下限;在应用在该计算机系统 上的执行期间针对该计算机系统的资源利用变量集合中的每个资源 利用变量收集利用操作值;并且基于该利用操作值集合中的每个利用 操作值与该资源利用变量集合中的每个资源利用变量对应的过程控 制上限和对应的过程控制下限的比较而评估该计算机系统内应用的 性能。

本发明的第四方面提供了一种用于部署对应用的执行进行监视 的应用的方法,包括:提供一种计算机基础设施,其可操作以:针对 测量该计算机系统的性能的资源利用变量集合中的每个资源利用变 量获取多个基本操作值,该多个基本操作值经由无代理处理而获取; 基于该基本操作值对计算机系统的应用简档进行编译,该应用简档包 括该资源利用变量集合中的每个资源利用变量的过程控制上限和过 程控制下限;在应用在该计算机系统上的执行期间针对该计算机系统 的资源利用变量集合中的每个资源利用变量收集利用操作值;并且基 于该利用操作值集合中的每个利用操作值与该资源利用变量集合中 的每个资源利用变量对应的过程控制上限和对应的过程控制下限的 比较而评估该计算机系统内应用的性能。

另外地,本发明的任意组件能够由提出在计算机系统中实现被动 监视的服务提供商进行部署、管理、服务等。

本发明的实施例还提供了相关的系统、方法和/或程序产品。

附图说明

本发明的这些和其它特征将通过以下结合附图而对各个方面所 进行的详细描述而更容易地被理解,其中:

图1示出了根据本发明实施例的说明性计算机系统。

图2示出了根据本发明实施例的虚拟化数据中心环境。

图3示出了根据本发明实施例的示例虚拟服务器环境。

图4示出了根据本发明实施例的用于获取操作值的示例环境。

图5示出了根据本发明实施例的示例设备映射表。

图6示出了根据本发明实施例的示例流程图。

图7示出了根据本发明实施例的示例流程图。

附图并非必然依比例进行绘制。附图仅作为示意性表示而并非意 在绘制出本发明的具体参数。附图仅意在对本发明的典型实施例进行 描绘,因此并不应当被认为对本发明的范围有所限制。在附图中,同 样的标号表示同样的元素。

具体实施方式

现在将参考其中示出各实施例的附图而在此对说明性实施例进 行更为详细地描述。然而,本公开内容可以以许多不同形式来体现而 并不应当被理解为局限于这里所给出的实施例。相反,提供这些实施 例从而使得本公开内容将是全面且完整的,并且将向本领域技术人员 完全传达本公开内容的范围。在描述中,可以省略公知特征和技术的 细节以免对所给出的实施例造成不必要地混淆。

这里所使用的术语仅是为了对特定实施例进行描述而并非意在 作为本公开内容的限制。如这里所使用的,除非上下文明确以其它方 式指出,否则单数形式“一个”、“一”(“a”、“an”和“the”)意在也 包括复数形式。此外,术语“a”、“an”等的使用并非表示数量的限制, 而是表示存在至少一个所提到的事项。术语“集合”意在表示至少一个 的数量。将要进一步理解的是,当在该说明书中使用时,术语“包括” 和/或“包括了”或者“包含”和/或“包含了”指定了存在所提到的特 征、区域、整数、步骤、操作、元素和/或组件,但是并不排除存在或增 加一个或多个其它特征、区域、整数、步骤、操作、元素、组件和/或其 群组。

如以上所指出的,本发明的各方面提供了一种用于监视一个应用在 计算机系统上的执行的解决方案。在一个实施例中,经由无代理处理针 对测量计算机系统的性能的资源利用变量集合中的每一个获取多个 基本操作值。基于这些基本操作值,编译该计算机系统的应用简档。 该应用简档可以包括该资源利用变量集合中的每一个的过程控制上 限和过程控制下限。能够通过在应用执行期间从计算机系统收集操作 值并且将所收集的值与应用简档中相对应的过程控制上限和过程控 制下限进行比较来监视应用的执行。

转向附图,图1示出了用于监视应用的执行的说明性环境100。 就此范围而言,环境100包括计算机系统102,其可以执行这里所描 述的过程以便监视应用的执行。特别地,计算机系统102被示出为包 括计算设备104,该计算设备104包括应用监视程序140,其使得计 算设备104可操作以通过执行这里所描述的过程而监视应用的执行。

计算设备104被示出为包括处理组件106(例如,一个或多个处 理器)、存储器110、存储系统118(例如,存储层级结构)、输入/ 输出(I/O)组件114(例如,一个或多个I/O接口和/或设备)以及通 信路径112。通常,处理组件106执行至少部分处于存储器110中的 诸如应用监视程序140的程序代码。就该范围而言,处理组件106可 以包括单个处理单元,或者跨一个或多个位置中的一个或多个处理单 元进行分布。

存储器110也可以包括在程序代码的实际执行期间所采用的本地 存储器、大型存储(存储118)和/或提供至少一些程序代码的临时存 储以便减少执行期间必须从大型存储118获取代码的次数的高速缓存 存储器(未示出)。这样,存储器110可以包括任意已知类型的临时 或持久数据存储介质,包括磁性介质、光学介质、随机访问存储器 (RAM)、只读存储器(ROM)、数据高速缓存、数据对象等。此 外,类似于处理组件116,存储器110可以驻留于单个物理位置,包 括一种或多种类型的数据存储,或者跨各种形式的多个物理系统进行 分布。

在执行程序代码的同时,处理组件106能够处理数据,这会导致 对往来于存储器110和/或I/O组件114读取和/或写入所变换的数据 以用于进一步处理。路径112提供了计算机系统102中的每个组件之 间的直接或间接的通信链路。I/O组件114可以包括使得人类用户120 能够与计算机系统102进行交互的一个或多个人类I/O设备,和/或使 得系统用户120能够使用任意类型的通信链路与计算机系统102进行 通信的一个或多个通信设备。

就该范围而言,应用监视程序140能够对接口集合(例如,(多 个)图形用户界面、应用编程接口等)进行管理以使得人类和/或系统 用户120能够与应用监视程序140进行交互。除其它之外,用户120 可以包括希望对应用在计算机系统(例如,多个虚拟服务器中的一个 或多个)上的执行进行监视的应用开发者、应用测试者、应用终端用 户和/或系统管理员。另外,通过使用任意解决方案,应用监视程序 140能够管理(例如,存储、获取、创建、操控、组织、呈现等)存 储系统118中的数据,其包括但并不局限于操作值152、(多个)应 用简档154等。

在任意情况下,计算机系统102可以包括一个或多个能够执行安 装于其上的诸如应用监视程序140的程序代码的计算设备104(例如, 通用计算制造品)。如这里所使用的,所要理解的是,“程序代码” 意味着任意语言、代码或符号的指令的任意集合,其使得具有信息处 理能力的计算设备直接或在以下的任意组合之后执行特定任务:(a) 转换为另一种语言、代码或符号;(b)以不同素材形式所再现;和/ 或(c)解压缩。就该范围而言,应用监视程序140能够被体现为系 统软件和/或应用软件的任意组合。在任意情况下,计算机系统102 的技术效果是向计算设备104提供处理指令以便监视应用的执行。

另外,应用监视程序140可以使用模块142-148的集合来实现。 在这种情况下,模块142-148可以使得计算机系统102能够执行应用 监视程序140所使用的任务集合,并且能够单独研发和/或独立于应用 监视程序140的其它部分实现。如这里所使用的,术语“组件”意味 着具有或没有软件的硬件的任意配置,其使用任意解决方案实现与之 相结合描述的功能,而术语“模块”则意味着使得计算机系统102能 够使用任意解决方案实施与之相结合描述的动作的程序代码。当处于 包括处理组件106的计算机系统102的存储器110中时,模块是组件 中实施动作的实质性部分。无论如何,所要理解的是,两个或更多组 件、模块和/或系统可以共享其相应的一些/全部硬件和/或软件。另外, 所要理解的是,这里所讨论的一些功能可以不被实施或者可以包括另 外的功能而作为计算机系统102的一部分。

当计算机系统102包括多个计算设备104(例如,客户端以及一 个或多个远程定位的服务器)时,每个计算设备104可以仅具有处于 其上的应用监视程序140的一部分(例如,一个或多个模块142-148)。 然而,所要理解的是,计算机系统102和应用监视程序140仅代表了 可以执行这里所描述的处理的各种可能的等同计算机系统。就该范围 而言,在其它实施例中,计算机系统102和应用监视程序140所提供 的功能可以至少部分由包括具有或没有程序代码的通用和/或专用硬 件的任意组合的一个或多个计算设备来实现。在每个实施例中,硬件 和程序代码—如果包括—能够分别使用标准工程或编程技术来创建。

无论如何,当计算机系统102包括多个计算设备104时,计算设 备能够通过任意类型的通信链路进行通信。另外,在执行这里所描述 的过程的同时,计算机系统102能够使用任意类型的通信链路与一个 或多个其它计算机系统进行通信。在任一种情况下,通信链路可以包 括各种类型的有线和/或无线链路的任意组合;包括一种或多种类型的 网络的任意组合;和/或利用各种类型的传输技术和协议的任意组合。

如这里所讨论的,应用监视程序140使得计算机系统102能够监 视应用的执行。就该范围而言,应用监视程序140被示出为包括基本 操作值获取模块142、应用简档编译模块144、利用操作值收集模块 146和应用性能评估模块148。

现在参考图2,示出了根据本发明实施例的虚拟化数据中心环境 200。如所示出的,虚拟化数据中心环境200具有能被用来针对用户 120执行应用的物理服务器210。这样,在所图示的实施例中,应用 监视程序140(图1)的全部或一部分功能能够在物理服务器210、客 户端204或者二者的组合上执行。应当理解的是,应用监视程序140 (图1)的功能并不局限于所图示的虚拟化数据中心环境200。相反, 构想包括但并不局限于单个系统、端对端、客户端-服务器、网格计 算、云计算和/或任意其它环境的其它实施例。

如所图示的,虚拟化数据中心环境200的物理服务器210可以是 来自任意制造商的服务器,其运行适于运行虚拟服务器230的多个实 例的任意平台。虚拟化数据中心环境200还可以包含任意数量的相关 物理服务器(未示出)。这些相关物理服务器可以与物理服务器210 相连接以便经由网络220进行通信。网络220可以允许物理服务器210 用任意通信解决方案或目前已知或随后研发的解决方案与相关物理 服务器进行通信,和/或允许物理服务器互相进行通信。另外,网络 220可以允许客户端204与物理服务器210和/或任意相关服务器进行 通信(例如,以执行其上的一个或多个应用)。在一些实施例中,网 络220可以在云计算规模上进行操作,例如提供计算、软件、数据访 问以及不需要终端用户了解输送该服务的网络220的物理位置和配置 的其它服务。

在任意情况下,如以上所提到的,物理服务器210上的虚拟服务 器230的每个实例能够在保持独立性的同时与其它系统实例230同时 进行操作。这意味着虚拟服务器230的每个实例能够独立于虚拟服务 器230的其它实例进行操作,并且即使在虚拟服务器230的实例在相 同物理服务器210上进行操作的情况下也并不与虚拟服务器230的其 它实例共享信息。由于虚拟服务器230的这些实例的特性,单个物理 服务器210能够同时执行非常大量的虚拟服务器230的实例。虚拟服 务器230的这些实例的独立操作确保了虚拟服务器230同时存在的多 个实例仅被物理服务器210的硬件约束所限制。

现在参考图3,示出了根据本发明实施例的示例虚拟服务器环境 300。在一个实施例中,虚拟服务器环境300能够包括在物理服务器 210上的虚拟服务器230中(图2)。应当理解的是,虚拟服务器环 境300不同于处理虚拟机。处理虚拟机是依赖于平台的引擎,诸如Java  Virtual Machine,其执行以诸如Java之类的高级编程语言所编写的用 于执行具体任务的独立于平台的代码(Java和Java Virtual Machine 是Sun Microsystems在美国和/或其它地方的商标)。与之相比,当前 发明的虚拟服务器环境300是对整个计算环境进行仿真的虚拟系统。 就该范围而言,不同于仅执行单个任务,当前发明的虚拟服务器环境 300是能够由用户120(图1)诸如通过执行其上的一个或多个应用而 在其内执行各种任务、功能、操作等的环境。这样,能够使得虚拟服 务器环境300仿真用户120眼中的独立计算机系统(图1)。

就该范围而言,虚拟服务器环境300包括处于最低级别的虚拟化 管理程序302。特别地,虚拟化管理程序302提供了允许多个“访客” 虚拟服务器230系统在物理服务器210上同时运行的平台(图2)。 就该范围而言,虚拟化管理程序302提供了物理服务器210(图2) 的硬件级别与每个虚拟服务器310的更高级别的软件功能之间的抽象 级别。为了提供这些软件功能,每个虚拟服务器310可以包括软件堆 栈312,其也可以被称作镜像。软件堆栈312包含经由虚拟化管理程 序302在物理服务器210上仿真特定虚拟服务器310的“访客”实例 所必需的所有内容。就该范围而言,软件堆栈312可以提供操作系统 314和中间件316。该操作环境能够被用来执行一个或多个应用。

当前发明的发明人已经发现,目前用于监视应用例如虚拟服务器 环境300中的执行的解决方案能够有所改进。例如,目前较不鲁棒的 方法仅能够以操作系统314的级别检测故障而无法以应用318的级别 检测故障和/或性能问题。其它目前的方法包括计算机系统(例如,虚 拟服务器环境300)内的被动监视代理320,其自行执行应用318或 者处于应用318之内。能够(例如,实时地)监视计算机系统上的应 用的性能属性的这些监视解决方案(诸如被动监视代理320)经常无 法提供这些属性能够与之轻易进行比较的值。因此,这样的系统是趋 于高度复杂的,最初需要经过高度培训的专家对该解决方案进行配 置,以分析所提供的属性并且提供进行中的性能调谐类型的管理。

现在返回图1,执行基本操作值获取模块142的计算机系统102 针对测量计算机系统的性能(例如,操作运行时间特性,诸如CPU、 存储器、存储等)资源利用变量集合中的每一个获取多个基本操作值 152。操作值获取模块142经由无代理的处理(例如,拍摄计算机系 统的快照/镜像)而从计算机系统获取这些基本操作值152。这些资源 利用变量可以包括目前已知或后续研发的用于分析计算机系统的性 能的任意参数,包括但并不局限于CPU利用、存储器利用、文件系 统利用、磁盘输入-输出(IO)、网络IO、页面空间利用、VIO统计、 运行中的进程的数量/类型,等等。

在一个实施例中,要针对其获取基本操作值152的一个或多个资 源利用变量能够由用户120诸如经由图形用户界面而选择性地获取。 类似地,用户120能够选择要针对每个资源利用变量获取(例如,经 由图形用户界面)基本操作值152的次数。除此之外或可替换地,用 户120能够(例如,使用图形用户界面)对操作值获取模块142将执 行获取基本操作值152的任务的具体日期/时间(基线监视时间)进行 调度。

通过允许用户120调度具体日期/时间,基本操作值获取模块142 允许用户对反映计算机系统的操作条件中可能存在的变化的时间进 行调度。例如,用户120能够生成一组统计,其包括特定计算机系统 (例如,虚拟服务器环境)上随时间的操作负载,并且设置基本操作 值获取模块142以在该计算机系统被预计处于最小和/或最大负载时 获取基本操作值152。相反,值获取模块142能够使用这样的统计而 针对最可能产生最充分的可能值范围的时间(例如,预计最小和最大 负载)而自动调度基本操作值152的获取。

现在结合图1参考图4,根据本发明的实施例而示出了基本操作 值获取模块142能够从计算机系统410获取基本操作值152的环境 400。在一个实施例中,能够从计算机系统410或者其一部分(例如, 虚拟服务器430)获取包含操作值152的快照434。该快照434可以 包括整个计算机系统410或其一部分(例如,虚拟服务器430)的镜 像。除此之外或可替换地,能够在快照434上执行索引操作以仅返回 所期望的值,诸如基本操作值152。在任意情况下,一旦已经拍摄了 快照434,快照434就能够通过网络220转发以便进行处理。可替换 地,快照可以存储在存储系统418中并且与其它快照434批量转发。 除此之外或可替换地,计算机系统410能够执行处理并且该处理的结 果能够被转发。该处理可以包括快照434的解析、索引等以从快照434 取回基本操作值152,执行以下所要描述的任意或全部过程,和/或所 期望的任意其它处理。

现在参考图5,示出了根据本发明实施例的基本操作值500的集 合。如所示出的,已经针对四个不同的资源利用变量502a-d而获取了 基本操作值500。应当理解的是,这里所图示了资源利用变量502a-d 的类型并不被作为限制。相反,可以针对能够被用来测量计算机系统 性能(例如,操作运行时特性)的任意可测量属性而获取基本操作值 500,上述可测量属性包括但并不局限于:CPU利用、存储器利用、 文件系统利用、磁盘I/O、网络I/O、页面空间利用、VIO统计、运行 过程的数量/类型,等等。在任意情况下,如所图示的,已经针对每个 资源利用变量502a-d获取了(来自快照的)基本操作值500的六个不 同集合504a-f。就该范围而言,集合504a-f中的每一个包括资源利用 变量502a-d中的每一个在特定时间(例如,在用户之前所设置的基线 监视时间)的资源操作值。所图示实施例中图示的基本操作值500的 多个集合504a-f被认为提供了用于满足本发明的用途的足够数量的 值。然而,应当理解的是,能够使用基本操作值500的更大或更小数 量的不同集合504a-f。

再次返回图1,执行应用简档编译模块144的计算机系统102基 于基本操作值获取模块142所获取的基本操作值而对计算机系统210 的应用简档154进行编译。应用简档154能够作为计算机系统210的 性能的基线测量。就该范围而言,针对资源利用变量中的每一个所获 取的基本操作值152的集合能够被用来编译该特定变量的简档。该简 档可以包括针对该资源利用变量而使用基本操作值152的集合所计算 的每个资源利用变量的过程控制上限和过程控制下限。

在一个实施例中,该过程控制上限和过程控制下限能够使用移动 范围控制限度计算而被计算,其使用了针对资源利用变量中的每一个 而获取的基本资源操作值152。例如,能够计算对应于所获取的特定 资源利用变量基本资源操作值152的每个连续配对之间的绝对差值。 例如,参考图5,计算对应于CPU利用502a的基本资源操作值500 的集合504a-f的绝对差值(例如,8.97、9.64、10,9、8.75、8.80)将 产生值0.67(9.64-8.97)、0.36(10-9.64)、1(10-9)、0.25(9-8.75) 和0.05(8.80-8.75)。这些绝对差值进而能够被平均以得到所有资源操 作值152上的平均差值,其在所图示的示例中将为 (0.67+0.36+1+0.25+0.05)/5=0.47。

该平均差值能够被乘以权重因数以得到加权平均差值。该加权因数 可以基于标准偏差(例如,第2偏差)或者使用目前已知或随后研发的 用于计算权重的任意其它解决方案。该加权平均差值能够被相加到所获 取的基本资源操作值152的平均值(平均资源操作值)以得到过程控制 上限。类似地,能够从平均资源操作值减去该加权平均差值而得到过程 控制下限。在所图示的实施例中,该平均资源操作值将为(8.97+9.64+10 +9+8.75+8.00)/6=9.19。假设权重因数为2.66,则CPU利用502a的 过程控制上限将为9.19+(2.66*0.47)=10.44。类似地,CPU利用502a 的过程控制下限将为9.19-(2.66*0.47)=7.94。

再次结合图2、图3和图5参考图1,执行利用操作值收集模块 146的计算机系统102针对计算机系统210的资源利用变量中的每一 个收集利用操作值152。利用操作值152能够经由被用来获取基本操 作值500的相同无代理处理进行收集。例如,结合图4的实施例400 所提到的相同处理能够被用来创建计算机系统410的快照434,并且 快照434能够存储在存储系统418中和/或根据需要通过网络210进行 传输。除此之外或可替换地,利用操作值152能够经由在其中执行应 用的虚拟服务器环境300内和/或应用自身内运行的被动监视代理320 进行收集,。这样的解决方案能够允许在应用执行期间快速收集多个 利用操作值152和/或允许诸如实时地对所要收集的利用操作值152 进行流传输。

在任意情况下,利用操作值152与基本操作值500的不同之处在 于利用操作值152在用户120希望进行监视的应用在计算机系统210 上的执行期间从计算机系统210进行收集。以这种方式,利用操作值 收集模块146能够为用户120提供应用执行时的准确操作值152的数 据。该数据能够在并不对计算机系统210的操作造成不利影响并且无 需执行扩展性配置和/或维护操作的情况下提供。

现在结合图2、图3和图5参考图1,执行应用性能评估模块148 的计算机系统102利用操作值152对计算机系统210内的应用的性能 进行评估。为此,应用性能评估模块148能够将利用操作值收集模块 146所收集的利用操作值152与应用简档编译模块144所编译的应用 简档154进行比较。该比较可以在本地执行,诸如由在虚拟服务器环 境内运行的被动监视代理所执行。作为替换,利用操作值152能够被 传输至存储应用简档154的远程系统,并且能够在该位置执行比较。 在任意情况下,该比较能够关于基于基本操作值针对特定资源利用变 量所计算的控制上限和控制下限对对应于该资源利用变量的利用操 作值152进行分析。

例如,在以上示例中,针对CPU利用502a所收集的处于、高于 所计算控制上限10.44或者处于其某个百分比之内的利用操作值152 指示该应用在计算机系统210上的执行故障(例如,存储器资源的不 正确使用)。类似地,针对CPU利用502a所收集的处于、低于所计 算控制下限10.44或者处于其某个百分比之内的利用操作值152指示 该应用在计算机系统210上的执行故障(例如,没有分配所有必要的 存储器资源)。

该评估能够允许用户120得到比之前可获取的更多的与应用执行 相关的信息。例如,用户120能够在评估指示应用并未正确执行的情 况下接收到警告。用户120随后能够对应用进行评估以确定应用中是 否存在问题和/或向计算机系统210的管理员警告存在的潜在问题。除 此之外或可替换地,用户120能够指定随时间收集一系列利用操作值 152(例如,通过在应用执行期间拍摄计算机系统210的周期性快照)。 这些利用操作值152能够被分析、汇总、使用以计算用来编译趋势等 的统计,这允许用户120在应用管理中具有前摄性。由于之前已经使 用自动处理根据基本操作值对应用简档154进行了编译,但是该评估 可以简单且重复执行而无需扩展性的人为干预来执行分析和/或提供 进行中的性能调谐类型的管理。

另外,用户120能够使用该数据来确定控制上限和/或控制下限是 否仍然有效,并且如果用户120认为并非这样的情况,则安排新的时 间集合(例如,从第一时间集合中去除的时间)以便从计算机系统210 获取操作值152,在那些时间获取所更新的基本操作值152的集合, 并且使用所更新的基本操作值152计算替换之前所使用的应用简档的 替换应用简档。该替换应用简档随后可以被用来执行当前和/或未来的 利用操作值152的性能的评估。

现在结合图1参考图6,示出了根据本发明实施例的示例流程图。 如所图示的,在P1,能够指定资源利用变量502a-d的集合。该指定 能够使用预先存在的列表进行,该列表诸如能够由用户120经由图形 用户界面等进行输入/选择。在P2,能够指定基线监事时间的集合。 这些基线监视时间诸如能够由用户120经由图形用户界面进行输入/ 选择;能够自动生成(例如,基于过去对计算机系统210(图2)的 操作统计),等等。在P3,如被计算机系统102所执行的基本操作 值获取模块142针对每个所指定的资源利用变量而获取基本操作值 152。这些基本操作值152经由无代理处理获取(例如,拍摄计算机 系统210(图2)的快照)。在P4,确定是否已经在所有所调度的时 间获取了基本操作值152。如果还没有获取全部的基本操作值152, 则处理返回P3并且在下一个调度时间获取基本操作值152的下一个 集合。否则,该处理移动至A。

现在考虑图1而转向图7,示出了根据本发明实施例的示例流程 图。如所图示的,处理从A移动至P5,在那里确定是否已经获取了 足够的(例如,6个或更多)基本操作值152的集合。如果没有,则 处理分支到B并返回P2(图6)以便调度更多的基线监视时间。否则, 在P6,如计算机系统102所执行的,应用简档偏移模块144基于所 获取的基本操作值152而对计算机系统210(图2)的应用简档154 进行编译。该应用简档154包括能够使用移动范围控制限度计算进行 计算的过程控制上限和过程控制下限。在P7,如计算机系统102所 执行的,利用操作值收集模块146在应用在计算机系统上的执行期间 从计算机系统210针对每个所指定的资源利用变量而收集利用操作值 152。该收集能够使用在虚拟服务器环境300内运行的被动监视代理 320(图3)来进行,能够使用用来获取操作值152的相同无代理处理, 或者能够使用目前已知或随后研发的任意其它解决方案来进行。在 P8,如计算机系统102所执行的应用性能执行模块148基于应用简档 154(例如,过程控制上限和过程控制下限)对利用操作值152进行 分析以评估计算机系统210(图2)内的应用的性能(例如,操作运 行时间特性),并且在P9,确定最近收集的利用操作值152是否处 于正常限度之内。如果应用的性能处于正常限度之外,则在P10,能 够发送错误消息(例如,向用户120、计算机系统210的管理员等)。 在任意情况下,在P11,能够确定应用简档154是否仍然有效。如果 否,则执行进行至B并返回P2(图6)以便调度新的基线监视时间集 合。否则,执行回到P7,在那里在下一个调度时间收集利用操作值 152的下一个集合。

虽然这里被示出并描述为用于监视应用的执行的方法和系统,但 是所要理解的是,本发明的各方面进一步提供了各种可替换的实施 例。例如,在一个实施例中,本发明提供了一种处于至少一个计算机 可读介质上的计算机程序,当被执行时,其使得计算机系统监视应用 的执行。就该范围而言,该计算机可读介质包括实现这里所描述的一 些或全部处理的诸如应用监视程序140(图1)的程序代码。所要理 解的是,术语“计算机可读介质”包括目前已知或随后研发的一个或 多个任意类型的有形表达介质,计算设备能够从其感知、再现程序代 码或以其它方式对其进行通信。例如,计算机可读介质可以包括:一 个或多个便携式存储制造品;计算设备的一个或多个存储器/存储组 件;等等。

在另一实施例中,本发明提供了一种提供实施这里所描述的一些 或全部处理的诸如应用监视程序140(图1)的程序代码的副本的方 法。在这种情况下,计算机系统能够对实施这里所描述的一些或全部 处理的程序代码的副本进行处理以生成并传送数据信号集合以便在 第二不同位置进行接收,该数据信号使得其一个或多个特性以对该数 据信号集合中的程序代码的副本进行编码的方式进行设置和/或改变。 类似地,本发明的实施例提供了获取实施这里所描述的一些或全部处 理的程序代码的副本的方法,其包括接收这里所描述的数据信号集合 并且将该数据信号集合转换为处于至少一个计算机可读介质中的计 算机程序的副本的计算机系统。在任一种情况下,该数据信号集合能 够使用任意类型的通信链路进行传送/接收。

在另一种实施例中,本发明提供了一种生成用于修复迁移相关故 障的系统的方法。在这种情况下,能够获取(例如,创建、维护、使 得可用等)诸如计算机系统120(图1)的计算机系统,并且能够获 取(例如,创建、购买、使用、修改等)用于执行这里所描述的处理 的一个或多个组件并且将其部署到该计算机系统。就该范围而言,该 部署可以包括以下的一个或多个:(1)在计算设备上安装程序代码; (2)向计算机系统增加一个或多个计算和/或I/O设备;(3)对计算 机系统进行整合和/或修改而使得其能够执行这里所描述的处理;等 等。

如果在这里使用以及在被使用的情况下,术语“第一”、“第二” 等并不表示任何顺序、数量或重要性,而是用来将一个元素与另一元 素加以区分。在结合数量使用的情况下,修饰语“大约”包括所提到 的值并且具有该上下文所指示的含义(例如,包括与特定数量的测量 相关联的误差程度)。这里所使用的前缀“(多个)”意在包括其所 修饰的事项的单数和复数形式,由此包括一个或多个该事项(例如, (多个)金属包括一个或多个金属)。

已经出于说明和描述的目的而给出了本发明各方面的上述描述。 其并非意在是穷举的或者将本发明限制为所公开的确切形式,并且显 然,可能进行许多修改和变化。对于本领域技术人员显而易见的是, 这样的修改和变化处于如所附权利要求所限定的本发明的范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号