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

文档序号:8258112阅读:来源:国知局
环境100包括计算机系统102,其可以执行这里所描述的过程以便监视应用的执行。特别地,计算机系统102被示出为包括计算设备104,该计算设备104包括应用监视程序140,其使得计算设备104可操作以通过执行这里所描述的过程而监视应用的执行。
[0025]计算设备104被示出为包括处理组件106 (例如,一个或多个处理器)、存储器110、存储系统118 (例如,存储层级结构)、输入/输出(I/O)组件114 (例如,一个或多个I/O接口和/或设备)以及通信路径112。通常,处理组件106执行至少部分处于存储器110中的诸如应用监视程序140的程序代码。就该范围而言,处理组件106可以包括单个处理单元,或者跨一个或多个位置中的一个或多个处理单元进行分布。
[0026]存储器110也可以包括在程序代码的实际执行期间所采用的本地存储器、大型存储(存储118)和/或提供至少一些程序代码的临时存储以便减少执行期间必须从大型存储118获取代码的次数的高速缓存存储器(未示出)。这样,存储器110可以包括任意已知类型的临时或持久数据存储介质,包括磁性介质、光学介质、随机访问存储器(RAM)、只读存储器(ROM)、数据高速缓存、数据对象等。此外,类似于处理组件116,存储器110可以驻留于单个物理位置,包括一种或多种类型的数据存储,或者跨各种形式的多个物理系统进行分布。
[0027]在执行程序代码的同时,处理组件106能够处理数据,这会导致对往来于存储器110和/或I/O组件114读取和/或写入所变换的数据以用于进一步处理。路径112提供了计算机系统102中的每个组件之间的直接或间接的通信链路。I/O组件114可以包括使得人类用户120能够与计算机系统102进行交互的一个或多个人类I/O设备,和/或使得系统用户120能够使用任意类型的通信链路与计算机系统102进行通信的一个或多个通信设备。
[0028]就该范围而言,应用监视程序140能够对接口集合(例如,(多个)图形用户界面、应用编程接口等)进行管理以使得人类和/或系统用户120能够与应用监视程序140进行交互。除其它之外,用户120可以包括希望对应用在计算机系统(例如,多个虚拟服务器中的一个或多个)上的执行进行监视的应用开发者、应用测试者、应用终端用户和/或系统管理员。另外,通过使用任意解决方案,应用监视程序140能够管理(例如,存储、获取、创建、操控、组织、呈现等)存储系统118中的数据,其包括但并不局限于操作值152、(多个)应用简档154等。
[0029]在任意情况下,计算机系统102可以包括一个或多个能够执行安装于其上的诸如应用监视程序140的程序代码的计算设备104(例如,通用计算制造品)。如这里所使用的,所要理解的是,“程序代码”意味着任意语言、代码或符号的指令的任意集合,其使得具有信息处理能力的计算设备直接或在以下的任意组合之后执行特定任务:(a)转换为另一种语言、代码或符号;(b)以不同素材形式所再现;和/或(c)解压缩。就该范围而言,应用监视程序140能够被体现为系统软件和/或应用软件的任意组合。在任意情况下,计算机系统102的技术效果是向计算设备104提供处理指令以便监视应用的执行。
[0030]另外,应用监视程序140可以使用模块142-148的集合来实现。在这种情况下,模块142-148可以使得计算机系统102能够执行应用监视程序140所使用的任务集合,并且能够单独研发和/或独立于应用监视程序140的其它部分实现。如这里所使用的,术语“组件”意味着具有或没有软件的硬件的任意配置,其使用任意解决方案实现与之相结合描述的功能,而术语“模块”则意味着使得计算机系统102能够使用任意解决方案实施与之相结合描述的动作的程序代码。当处于包括处理组件106的计算机系统102的存储器110中时,模块是组件中实施动作的实质性部分。无论如何,所要理解的是,两个或更多组件、模块和/或系统可以共享其相应的一些/全部硬件和/或软件。另外,所要理解的是,这里所讨论的一些功能可以不被实施或者可以包括另外的功能而作为计算机系统102的一部分。
[0031]当计算机系统102包括多个计算设备104(例如,客户端以及一个或多个远程定位的服务器)时,每个计算设备104可以仅具有处于其上的应用监视程序140的一部分(例如,一个或多个模块142-148)。然而,所要理解的是,计算机系统102和应用监视程序140仅代表了可以执行这里所描述的处理的各种可能的等同计算机系统。就该范围而言,在其它实施例中,计算机系统102和应用监视程序140所提供的功能可以至少部分由包括具有或没有程序代码的通用和/或专用硬件的任意组合的一个或多个计算设备来实现。在每个实施例中,硬件和程序代码一如果包括一能够分别使用标准工程或编程技术来创建。
[0032]无论如何,当计算机系统102包括多个计算设备104时,计算设备能够通过任意类型的通信链路进行通信。另外,在执行这里所描述的过程的同时,计算机系统102能够使用任意类型的通信链路与一个或多个其它计算机系统进行通信。在任一种情况下,通信链路可以包括各种类型的有线和/或无线链路的任意组合;包括一种或多种类型的网络的任意组合;和/或利用各种类型的传输技术和协议的任意组合。
[0033]如这里所讨论的,应用监视程序140使得计算机系统102能够监视应用的执行。就该范围而言,应用监视程序140被示出为包括基本操作值获取模块142、应用简档编译模块144、利用操作值收集模块146和应用性能评估模块148。
[0034]现在参考图2,示出了根据本发明实施例的虚拟化数据中心环境200。如所示出的,虚拟化数据中心环境200具有能被用来针对用户120执行应用的物理服务器210。这样,在所图示的实施例中,应用监视程序140(图1)的全部或一部分功能能够在物理服务器210、客户端204或者二者的组合上执行。应当理解的是,应用监视程序140 (图1)的功能并不局限于所图示的虚拟化数据中心环境200。相反,构想包括但并不局限于单个系统、端对端、客户端-服务器、网格计算、云计算和/或任意其它环境的其它实施例。
[0035]如所图示的,虚拟化数据中心环境200的物理服务器210可以是来自任意制造商的服务器,其运行适于运行虚拟服务器230的多个实例的任意平台。虚拟化数据中心环境200还可以包含任意数量的相关物理服务器(未示出)。这些相关物理服务器可以与物理服务器210相连接以便经由网络220进行通信。网络220可以允许物理服务器210用任意通信解决方案或目前已知或随后研发的解决方案与相关物理服务器进行通信,和/或允许物理服务器互相进行通信。另外,网络220可以允许客户端204与物理服务器210和/或任意相关服务器进行通信(例如,以执行其上的一个或多个应用)。在一些实施例中,网络220可以在云计算规模上进行操作,例如提供计算、软件、数据访问以及不需要终端用户了解输送该服务的网络220的物理位置和配置的其它服务。
[0036]在任意情况下,如以上所提到的,物理服务器210上的虚拟服务器230的每个实例能够在保持独立性的同时与其它系统实例230同时进行操作。这意味着虚拟服务器230的每个实例能够独立于虚拟服务器230的其它实例进行操作,并且即使在虚拟服务器230的实例在相同物理服务器210上进行操作的情况下也并不与虚拟服务器230的其它实例共享信息。由于虚拟服务器230的这些实例的特性,单个物理服务器210能够同时执行非常大量的虚拟服务器230的实例。虚拟服务器230的这些实例的独立操作确保了虚拟服务器230同时存在的多个实例仅被物理服务器210的硬件约束所限制。
[0037]现在参考图3,示出了根据本发明实施例的示例虚拟服务器环境300。在一个实施例中,虚拟服务器环境300能够包括在物理服务器210上的虚拟服务器230中(图2)。应当理解的是,虚拟服务器环境300不同于处理虚拟机。处理虚拟机是依赖于平台的引擎,诸如Java Virtual Machine
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1