CN102541634B - 通过后台虚拟机的探测插入 - Google Patents

通过后台虚拟机的探测插入 Download PDF

Info

Publication number
CN102541634B
CN102541634B CN201110427924.6A CN201110427924A CN102541634B CN 102541634 B CN102541634 B CN 102541634B CN 201110427924 A CN201110427924 A CN 201110427924A CN 102541634 B CN102541634 B CN 102541634B
Authority
CN
China
Prior art keywords
virtual machine
implantation
production
resource
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110427924.6A
Other languages
English (en)
Other versions
CN102541634A (zh
Inventor
P·巴勒姆
J·N·菲格罗亚
J·C·斯普拉德林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102541634A publication Critical patent/CN102541634A/zh
Application granted granted Critical
Publication of CN102541634B publication Critical patent/CN102541634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及通过后台虚拟机的探测插入。在此描述了一种与管理程序一起工作以保留虚拟机外部的资源来监视在虚拟机中运行的应用的性能。应用接收由虚拟机规范所指定的保证量的资源,并且监视花费与虚拟机不关联的资源。在虚拟机中运行的应用已经被管理程序从物理机中隔离,这样,在物理机上的允许管理程序继续满足对虚拟机的保证的附加负担将不会影响应用的性能,性能监视系统提供了部署应用的植入,信息技术(IT)人员可以在不影响部署的应用的性能的情况下动态地开启或关闭该植入。性能监视系统提供了一种用于在执行期间不影响生产应用的性能的情况下监视这些应用的稳健框架。

Description

通过后台虚拟机的探测插入
技术领域
本申请涉及计算机的资源分配,特别是通过后台虚拟机的探测插入的资源监视和分配技术。
背景技术
分布式系统的复杂性及其测试机制已经被广泛地探索了许多年。在分布式系统中存在许多固有的挑战,诸如异步通信的等待时间、差错恢复、时钟漂移、以及服务分区,从而导致众多问题,包括死锁、竞争条件、以及许多其他困难。测试和监视这样复杂的系统提出了巨大挑战。在几年中,已经调查并实现了许多自动测试生成、部署以及执行方法。然而,在监视和维护这样的系统的领域中仍然需要大量努力。
对数据中心或生产设定中的服务器的性能和行为进行监视是十分有用的。大多数的当代操作系统具有用于此目的的事件追踪或性能计数器机制,但是启动这些机制经常会造成性能过载-消耗CPU和盘/网络IO来写它们的日志文件。如果在容量设计时没有考虑到这些问题,这就会引起生产服务器将过载,导致故障和/或低下的性能。因此,很少在生产中使用追踪机制。
许多数据中心现在使用虚拟机来允许多个生产应用来在单个服务器上运行,每个应用在虚拟环境中,使得每个应用认为它具有对该机器的独占使用。替代地,应用通常具有虚拟机的独占使用。虚拟机为应用提供了有保证的硬件资源量,例如CPU速度、存储器大小、盘容量、网络带宽等。能够允许多个虚拟机并行在同一计算机上运行的系统管理程序广泛用于商用硬件。系统管理程序多路复用(并且有时调度)对诸如CPU、存储器、盘、网络的物理资源的访问。系统管理程序提供了用于CPU和IO资源两者的调度器,调度器能够在两个或更多个虚拟机之间提供所有资源的固定分区。这可以以许多方式完成,例如使用硬实时调度算法。
监视虚拟机内的性能遭遇到与监视物理机内相同的挑战。开启性能计数器、记日志和其它监视工具将花费一些数量的虚拟机资源,并且可能改变应用的行为。对具有高保证的正常运行时间的应用来说,该应用的操作者不能冒这种类型的干扰的风险。在一些情况中,应用可以通过始终开启监视、在假设监视负荷将经常存在的情况下开发和测试系统来解决这个风险。然而,这将增加预言性,这种影响还是可以引起应用比期望的要运行得更慢,而且涉及到规划以及购买比别的方式所使用到的更多的硬件资源。许多应用面临着在经常监视但伴随着低的应用性能或者不监视但伴随着在诊断问题和监视行为方面的困难这两者中进行选择。
发明内容
在此描述了一种与系统管理程序一起工作以保留虚拟机外部的资源来监视在虚拟机中运行的应用的性能的性能监视系统。应用接收由虚拟机规范所指定的保证量的资源,并且监视花费了与虚拟机不关联的但在同一物理机上潜在运行的资源。在虚拟机中运行的应用已经被系统管理程序从物理机中隔离,这样,在物理机上的允许系统管理程序继续满足对虚拟机的保证的附加负载将不会影响应用的性能性能监视系统提供了部署应用的植入(instrumentation),信息技术(IT)人员可以在不影响部署的应用的性能的情况下动态地开启或关闭该植入。而且,系统可以在对应用的性能没有任何可测量的影响的情况下提供附加的探测或植入点。这样,性能监视系统提供了一种用于在执行期间不影响生产应用的性能的情况下监视这些应用的稳健框架。
提供本发明内容以便以简化形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
图1是示出在一个实施例中的性能监视系统的各组件的框图。
图2是说明在一个实施例中性能监视系统建立对生产虚拟机中的植入虚拟机的追踪的处理的流程图。
图3是说明在一个实施例中性能监视系统接收来自植入虚拟机中的生产虚拟机的追踪输出的处理的流程图。
具体实施方式
在此描述了一种与系统管理程序一起工作以保留虚拟机外部的资源来监视在虚拟机中运行的应用的性能的性能监视系统。应用接收由虚拟机规范所指定的保证量的资源,并且监视花费了与虚拟机不关联的但在同一物理机上潜在运行的资源。在虚拟机中运行的应用已经被系统管理程序从物理机中隔离,这样,在物理机上的允许系统管理程序继续满足对虚拟机的保证的附加负担将不会影响应用的性能性能监视系统提供了部署应用的植入,信息技术(IT)人员可以在不影响部署的应用的性能的情况下动态地开启或关闭该植入。而且,系统可以在对应用的性能没有任何可测量的影响的情况下提供附加的探测或植入点。
性能监视系统通过提前保留使用虚拟化技术的每个生产服务器的处理能力、存储和I/O容量的某小部分来工作。生产应用在具有固定量的资源的虚拟机(VM)中运行,并且植入/日志/监视子系统在隐藏/不可见的VM中或在使用保留能力的系统管理程序级运行。植入VM可以将监视点动态地添加/启用到生产VM中,这些监视点允许植入VM记录有关生产VM的信息而不会影响生产VM的性能。在一些实施例中,系统管理程序限制了植入VM的规范,使得系统管理程序可以保证植入VM对物理机的有限影响。植入VM可以以比生产VM更低的优先级(例如,后台)运行以允许生产VM对物理机的充分使用。部署的应用可以没有注意到正在运行的植入的存在。植入VM可以通过测量可用于植入VM的资源来动态地选择一组植入。
替换地或者另外地,系统管理程序可以在具有保留的物理存储器和盘区域(甚至可能是专用的附加存储设备)的专用CPU(或超线程)上运行植入VM。替换地或者另外地,系统管理程序可以使用硬件性能计数器来改变提供给生产系统的资源以维持一致的性能等级。在一些实施例中,性能监视系统修改在生产VM中的现有的事件追踪子系统(例如Windows中ETW)以记录到在两个VM之间共享的存储器区域(或其它机制)。这允许生产VM使用普通的性能监视工具,但卸除了对植入VM的资源影响。替换地或者另外地,现有的事件追踪子系统能够被修改,使得每个植入点包括系统管理程序易于截取的指令(例如特殊指令或访问引起‘VMEXIT’的特定存储器地址)。随后,系统管理程序将通知提供给任意监听植入VM。系统管理程序可以有选择地过滤这种通知。使用诸如Strace(Solaris)以及Dtrace(MSR-SVC)的工具来将植入通过二进制重写添加到运行的内核中。可以在该系统中使用类似的技术,这些技术具有将重写代码和植入对使用虚拟地址技术的生产VM隐藏的能力。这样,性能监视系统提供了一种用于在执行期间不影响生产应用的性能的情况下监视这些应用的稳健框架。
图1是示出在一个实施例中的性能监视系统的各组件的框图。系统100包括调度组件110、VM通信组件120、事件过滤组件130、生产追踪组件140、探测插入组件150、资源保留组件160、日志组件170以及追踪数据存储180。这些组件中的每一个都在此处进一步详细讨论。
调度组件110、VM通信组件120和事件过滤组件130在系统管理程序中工作,所述系统管理程序多路复用在两个或更多个虚拟机之间共享的物理资源的访问。
调度组件110提供对物理机上的资源使用以及在两个或更多个虚拟机之间的资源隔离的调度,所述虚拟机包括生产虚拟机和植入虚拟机。调度组件110可以在系统管理程序中工作,并且提供了虚拟机隔离使得每个虚拟机可以以满足提供给每个虚拟机的资源可用性的任意保证的方式来使用物理机的资源。例如,如果物理机具有2GHz处理器,并且,两个虚拟机的每个被保证有相等的某个百分比的CPU分配,则调度组件110可以确保每个虚拟机获得使用一半或其它量的物理机的处理器的时间。调度组件110可以提供类似的物理机存储器、盘空间、网络带宽以及其它资源的划分。
VM通信组件120在两个或更多个虚拟机之间提供了一个或多个通信信道。对于交叉-VM通信存在各种技术,包括共享物理存储器、调用系统管理程序的超调用、将文件存储在物理盘上的公共位置等等。VM通信组件120通常接收从生产VM传出的追踪信息,并将追踪信息存储在可由植入VM访问的位置中。与处理数据相比较而言,存储在使用资源方面通常低廉,并且生产VM可以快速写追踪数据并返回生产工作而对生产VM的操作带来可以忽略不计的影响,同时,植入VM分开地处理追踪数据。系统管理程序可以管理共享通信信道,并且在植入VM上施加安全性或其它限制。植入VM可注册到系统管理程序,并提供满足系统管理程序的植入VM被授权截取从生产VM传出的信息的证明。
事件过滤组件130在事件数据到达植入虚拟机之前对其进行过滤。在一些情况中,出于性能原因,一些虚拟机可能不具有对某些生产机器访问的授权,或者系统管理程序可以接收并预处理事件信息。例如,生产VM可以始终提供追踪输出,但植入VM可以不监听并捕捉该追踪输出。这样,系统管理程序可以先接收信息,确定是否有任意植入VM将接收追踪输出,并且如果没有,则丢弃所述追踪输出。在一些实施例中,植入VM可以设定其感兴趣接收的追踪输出的等级或类别,并且事件过滤组件130可以避免将不匹配的追踪信息发送到植入VM。植入VM在处理追踪信息时导致资源成本,因此,对植入VM接收的内容进行过滤能够提升性能。
生产追踪组件140和探测插入组件150可以在生产虚拟机中工作,由系统管理程序管理,在系统管理程序中运行了目标生产应用。
生产追踪组件140在生产虚拟机中工作以捕捉追踪信息并将追踪信息提供给VM通信组件。生产追踪组件140可以截取调用或使用其它的现有追踪技术,例如,由操作系统提供的这些技术。例如,微软的WINDOWS提供了事件日志、性能计数器以及应用可以用于提供追踪信息的其它事件追踪功能。这种功能的使用通常导致某些性能成本,但通过仅仅用少量工作来捕捉生产VM中的追踪信息并将追踪信息的更重的处理卸除到植入VM,性能监视系统100就能消除所述成本。生产追踪组件140是捕捉追踪信息的生产VM中的前线组件。在一些实施例中,生产追踪组件140在系统管理程序级工作,并且截取到追踪应用编程接口(API)的调用,而不需要了解生产VM或在其中运行的应用。
探测插入组件150将一个或多个探测插入到生产虚拟机中以截取与在生产虚拟机内发生的事件相关的一个或多个活动。探测插入组件150允许问题调查器将一个或多个特定探测放置在生产VM中,所述探测捕捉超出通过追踪信息可用的内容的信息。例如,调查器可以对针对特定API的调用感兴趣,所述调用伴随有传入的参数和输出结果。探测插入组件允许生产VM的动态植入以截取这样的调用,并通过VM通信组件120将探测信息发送给植入VM。
资源保留组件160、日志组件170以及追踪数据存储180可以在植入虚拟机中工作,由系统管理程序管理,植入软件代码在植入虚拟机中运行。
资源保留组件160为植入虚拟机保留资源以用于捕捉追踪信息。保留资源确保了植入VM以可预测的对物理机资源的影响来工作,并允许植入VM处理追踪和探测信息,而不影响生产VM的性能。系统管理程序和调度组件110确保了生产VM和植入VM两者共享物理机资源的使用,隔绝了它们彼此对物理机的实际使用。资源保留组件160可以简单地作为普通VM规范工作以请求来自系统管理程序的期望的一组资源能力,或可以请求专用的资源,例如专用处理器、盘或其它资源。处理追踪信息通常是资源密集的,并且提供专用资源可以允许更加有效的处理同时确保由系统管理程序管理的其它任务不受影响。
日志组件170将由植入虚拟机接收并处理的追踪信息存储在追踪数据存储180中。日志组件170可以存储一个或多个文件或其它追踪输出,这允许由问题调查器,例如测试器、IT人员或与在生产VM中运行的生产应用相关联的开发者,对在生产VM中发生的事件进行后续分析。追踪信息可以提供输入、输出、性能特性、操作时间以及其它对分析问题或确保应用的正确操作有用的信息。在一些实施例中,日志组件170提供IT人员或其它人可以用作应用性能的示例的应用的定期快照。例如,如果应用接收基于Web的电子商务订单,那么日志组件170可以从一千个订单中详细捕捉一个订单,这样,人员可以浏览该订单的处理并确保正确的行为。
追踪数据存储180接收所存储的追踪信息并持久保存该信息以用于后续手动或自动的分析。追踪数据存储180可包括一个或多个存储器内的数据结构、文件、文件系统、硬盘驱动器、数据库、存储区域网络(SAN)、基于云的存储服务或其它用于存储数据的设施。追踪数据存储180捕捉通过日志组件170存储的信息并保留该信息以供对生产应用的诊断和监视感兴趣的IT人员或其它人进行查阅和分析。
在其上面实现了性能监视系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和指示设备)、输出设备(例如,显示设备),以及存储设备(例如,磁盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以用实现或启用该系统的计算机可执行指令(例如,软件)来编码的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传送介质发送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码照相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备、机顶盒、片上系统(SOC)等中任一种的分布式计算环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。
该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。
图2是说明在一个实施例中性能监视系统建立对生产虚拟机中的植入虚拟机的追踪的处理的流程图。在框210开始,系统接收包括用于监视生产虚拟机的软件指令的植入虚拟机。系统可以通过用户在生产环境中安装VM来接收植入VM,或者系统管理程序供应商可以将植入VM作为用于虚拟化的操作系统的一部分而提供。植入VM可以包括用于将其自身与系统管理程序进行设置、与其它VM进行通信以及从生产VM捕捉追踪数据以用于随后分析的一个或多个工具。
在框220中继续,系统通过系统管理程序注册植入虚拟机,使得系统管理程序可以许可植入虚拟机捕捉来自生产虚拟机的追踪信息。系统管理程序可以施加与捕捉追踪数据有关的安全授权,并且植入提供授权信息使得系统管理程序允许其监视生产VM中的活动。隔离VM是系统管理程序的典型工作,并且注册步骤允许植入VM访问生产VM的活动。
在框230中继续,系统为植入虚拟机保留一个或多个资源以用于捕捉和处理追踪信息。例如,系统可以为植入VM保留处理器时间、存储器空间、盘空间、网络带宽或其它资源,以便以不干扰先前其它VM(包括生产VM)的保留请求的方式来使用。系统管理程序可以分配专用物理资源或通过为植入VM调度使用来分配分区共享资源。在这种方式中,由植入所使用的资源对于生产VM来说是未知的,并且对生产VM执行任意正常生产处理的能力来说没有影响。
在框240中继续,系统在植入虚拟机和生产虚拟机之间创建共享通信信道,通过该信道,植入VM可以从生产VM接收追踪信息。追踪信息的传递是一种对生产VM的性能没有显著影响的有效操作,并且植入VM可以以仅影响植入VM的方式随后处理追踪信息。这样,系统将处理追踪信息的负担卸除到生产应用的执行环境外部。
在框250中继续,系统插入用于捕捉在生产虚拟机内的与特定活动有关的信息的一个或多个探测。当在生产VM中存在特定条件时,探测使得系统管理程序告知植入VM。例如,当在生产VM中运行的应用调用特定API时,探测可以告知植入VM。探测还可以包括用将追踪信息重新路由到(或将信息复制到)植入VM的挂钩来盖写生产VM中的正常追踪API。探测允许植入VM监视特定活动,而对生产VM的正常处理仅有小的或没有影响。
在框260中继续,系统激活追踪以开始接收在生产虚拟机中捕捉的追踪信息并将其传递到植入虚拟机。激活可以包括启动生产VM、启动生产应用、启动植入VM、通知系统管理程序植入VM准备好接收追踪信息,和/或其它对系统进行准备以接收追踪信息的步骤。在框260之后,这些步骤结束。
图3是说明在一个实施例中性能监视系统接收来自植入虚拟机中的生产虚拟机的追踪输出的处理的流程图。在框310中开始,系统检测在生产虚拟机中的追踪事件。例如,系统可以检测对生产VM中的追踪API的调用,检测对反映应用活动的其它API的调用、检测已经被触发的先前插入的探测指令、接收来自植入VM的开始追踪的外部指示等等。
在框320中继续,系统将有关检测到的追踪事件的事件细节写入到共享通信信道,通过该信道,植入虚拟机可以访问由生产虚拟机所共享的信息。例如,系统可以创建共享存储器缓存或使用系统管理程序VM共享API来跨从生产VM到植入VM的多个VM共享信息。从生产VM捕捉的追踪信息可以由植入VM来处理以从生产VM减少或消除追踪处理的负担。
在判定框330中继续,系统确定是否应当过滤事件或将事件提供给植入VM。如果事件要被过滤,则系统完成并等待下一追踪事件,否则,系统在框340处继续以通知植入VM。在一些实施例中,系统管理程序先捕捉追踪数据并基于一个或多个追踪准则来决定是否将追踪数据传送到一个或多个植入决策。追踪准则可以确定植入VM是否具有足够的授权以接收追踪信息,所述追踪数据是否是植入VM所请求的类别或等级,所述植入VM是否正在运行并准备接收追踪数据或任意其它由系统的用户来配置的条件。系统可以为管理员或其它用户提供灵活的配置选项以设置正被监视的应用的基于追踪的特定需求。
在框340中继续,系统向植入虚拟机通知检测到的追踪事件。系统可以直接通知植入VM,例如通过向植入VM提供消息、API调用或其它通知,或者间接通知植入VM,例如通过将数据写入到植入VM监视的文件或共享存储器区域中。
在框350中继续,系统从植入虚拟机访问来自共享通信信道的从生产虚拟机写入的事件细节。通过这种方式,从生产VM将数据传递到植入VM以使用植入VM的资源来进行处理。生产VM继续执行,而不需要处理追踪信息的负担。
在框360中继续,系统在植入虚拟机中处理所访问的事件细节。处理可以包括确定是否发生错误、分析数据中的历史趋势,决定插入探测以捕捉附加数据,或作为所接收的追踪事件的结果由植入VM所采取的任意其它行动。在一些实施例中,用户可以查阅所捕捉的数据并指令系统捕捉附加数据并监视附加类型的信息以取得有关可能的问题的更多细节。
在框370中继续,系统可选地将所处理的事件细节存储在追踪数据存储中。例如,系统可以收集追踪活动的历史日记,该历史日记被提供给一个或多个用于检测追踪数据中的异常以建议进一步调查的手动或自动工具。系统可以基于所存储的事件细节生成报告或警告以提供给系统的监视生产应用的行为的一个或多个操作者。对于高可用性应用,公司通常使用专用的操作中心来监视该应用并快速响应任何错误。性能监视系统可以为这样的操作中心提供信息以监视应用行为并当发生不期望的事件时接收通知。在框370之后,这些步骤结束。
在一些实施例中,性能监视系统基于请求按需激活植入虚拟机。例如,植入VM可以被安装在数据中心中的每个计算机系统上,这样在发生问题之后,操作者可以激活植入VM并查看追踪输出,而不会打乱生产VM的处理。操作者可以开启植入VM以及特定类型的追踪数据捕捉,包括请求通过可以被安置在运行的生产VM中的探测来捕捉任意特定的信息。在操作者具有有关该问题的足够细节之后,操作者可以关闭追踪信息的捕捉并关闭植入VM或使植入VM空闲。
在一些实施例中,性能监视系统使用远程植入VM来进一步减轻生产VM上的负担。例如,系统可执行在此所述的步骤以从生产VM捕捉追踪信息,但系统管理程序或其它组件可以在网络上或其它通信信道上将捕捉的追踪信息传递给远程的物理或虚拟机,该远程的物理或虚拟机运行通常包含在植入VM中的追踪处理逻辑。这允许追踪信息的处理被进一步从运行生产VM的物理机上移除。
在一些实施例中,性能监视系统将驱动或其它组件安装到生产VM中以协助植入VM在对生产VM有微小影响的情况下捕捉追踪信息。许多虚拟工具套装提供了可以被安装在虚拟机中使得虚拟机在主存该虚拟机的物理硬件上更有效操作的驱动包。例如,驱动可以将图形调用转发给图形硬件以便更快速地处理,而不是模拟物理硬件上的虚拟图形硬件。类似的技术可以用于捕捉生产VM操作系统中的追踪调用并将该信息转发给系统管理程序或直接转发给植入VM。
从前面的描述中可以看出,可以理解,此处描述的性能监视系统的特定实施例只是为了说明,但是,在不偏离本发明的精神和范围的情况下,可以进行各种修改。因此,本发明只受所附权利要求限制。

Claims (14)

1.一种用于建立从生产虚拟机到植入虚拟机的追踪的计算机实现的方法,所述方法包括:
接收(210)包括用于监视生产虚拟机的软件指令的植入虚拟机;
将所述植入虚拟机注册(220)到系统管理程序,使得所述系统管理程序能许可所述植入虚拟机捕捉来自所述生产虚拟机的追踪信息;
为所述植入虚拟机保留(230)一个或多个资源以用于捕捉和处理追踪信息;
在所述植入虚拟机和所述生产虚拟机之间创建(240)共享通信信道,通过所述共享通信信道,所述植入虚拟机从所述生产虚拟机接收追踪信息;
插入(250)一个或多个用于捕捉与所述生产虚拟机中的特定活动有关的信息的探测;以及
激活(260)追踪以开始接收在所述生产虚拟机中捕捉的追踪信息并将所述信息传递给所述植入虚拟机;
其中,前面的各步骤由至少一个处理器来执行;
其中,插入一个或多个探测包括用将追踪信息重新路由到所述植入虚拟机的一个或多个挂钩来盖写所述生产虚拟机中的正常追踪应用编程接口API。
2.如权利要求1所述的方法,其特征在于,其中接收植入虚拟机包括检测用户将虚拟机安装在生产环境中。
3.如权利要求1所述的方法,其特征在于,其中接收植入虚拟机包括将所提供的植入虚拟机标识为用于虚拟化的操作系统的一部分。
4.如权利要求1所述的方法,其特征在于,注册所述植入虚拟机包括提供授权信息,使得所述系统管理程序允许所述植入虚拟机监视所述生产虚拟机中的活动。
5.如权利要求1所述的方法,其特征在于,所述植入虚拟机在系统管理程序级上运行。
6.如权利要求1所述的方法,其特征在于,保留一个或多个资源包括从所述系统管理程序接收给所述植入虚拟机使用的专用物理资源的分配,使得所述植入虚拟机的操作不影响所述生产虚拟机的操作。
7.如权利要求1所述的方法,其特征在于,创建共享通信信道包括创建允许所述生产虚拟机以不显著影响所述生产虚拟机的性能的方式来有效共享信息的信道。
8.如权利要求1所述的方法,其特征在于,创建共享通信信道允许所述生产虚拟机将追踪信息的处理卸载到在生产应用执行环境外部的所述植入虚拟机上。
9.如权利要求1所述的方法,其特征在于,插入一个或多个探测包括如果在所述生产虚拟机中存在特定条件使得所述系统管理程序通知所述植入虚拟机。
10.如权利要求1所述的方法,其特征在于,激活追踪包括启动所述生产虚拟机、启动所述生产应用、启动所述植入虚拟机以及通知所述系统管理程序所述植入虚拟机准备接收追踪信息中的至少一个。
11.一种用于通过后台植入虚拟机来监视生产虚拟机中的应用性能的计算机系统,所述系统包括:
被配置成执行包含在以下组件内的软件指令的处理器和存储器;
调度组件(110),所述调度组件提供对物理机上的资源使用以及在两个或更多个虚拟机之间的资源隔离的调度,所述虚拟机包括生产虚拟机和植入虚拟机;
VM通信组件(120),所述VM通信组件在两个或更多个虚拟机之间提供一个或多个通信信道;
生产追踪组件(140),所述生产追踪组件在生产虚拟机中工作以捕捉追踪信息并将追踪信息提供给VM通信组件;
探测插入组件(150),所述探测插入组件将一个或多个探测插入到所述生产虚拟机中以截取与在所述生产虚拟机内发生的事件相关的一个或多个活动,其中插入一个或多个探测包括用将追踪信息重新路由到所述植入虚拟机的一个或多个挂钩来盖写所述生产虚拟机中的正常追踪应用编程接口API;
资源保留组件(160),所述资源保留组件为所述植入虚拟机保留物理机的资源以用于捕捉追踪信息;
日志组件(170),所述日志组件存储由所述植入虚拟机接收并处理的追踪信息;以及
追踪数据存储(180),所述追踪数据存储接收所存储的追踪信息并持久保存该信息以用于后续手动或自动的分析。
12.如权利要求11所述的系统,其特征在于,所述VM通信组件提供了所述植入虚拟机和所述生产虚拟机两者都可访问的共享存储器区域。
13.如权利要求11所述的系统,其特征在于,所述VM通信组件接收一个或多个系统管理程序应用编程接口调用,所述调用使用所述系统管理程序来在所述植入虚拟机和所述生产虚拟机之间共享信息。
14.如权利要求11所述的系统,其特征在于,所述VM通信组件通过系统管理程序施加安全性限制,所述安全性限制确定哪些虚拟机能访问从所述生产虚拟机传递的信息。
CN201110427924.6A 2010-12-20 2011-12-19 通过后台虚拟机的探测插入 Active CN102541634B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/972,531 2010-12-20
US12/972,531 US10203974B2 (en) 2010-12-20 2010-12-20 Probe insertion via background virtual machine

Publications (2)

Publication Number Publication Date
CN102541634A CN102541634A (zh) 2012-07-04
CN102541634B true CN102541634B (zh) 2015-10-07

Family

ID=46236223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110427924.6A Active CN102541634B (zh) 2010-12-20 2011-12-19 通过后台虚拟机的探测插入

Country Status (6)

Country Link
US (1) US10203974B2 (zh)
EP (1) EP2656206B1 (zh)
CN (1) CN102541634B (zh)
AR (1) AR084437A1 (zh)
TW (1) TWI544328B (zh)
WO (1) WO2012087852A2 (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201241662A (en) * 2010-12-21 2012-10-16 Ibm Virtual machine validation
EP2687989B1 (en) * 2011-03-15 2022-05-11 Hyundai Motor Company Communication test device and method
US8910146B2 (en) * 2012-06-09 2014-12-09 International Business Machines Corporation Automated time-to-value measurement
US9678816B2 (en) * 2012-06-29 2017-06-13 Vmware, Inc. System and method for injecting faults into code for testing thereof
US9146758B2 (en) * 2012-06-29 2015-09-29 Vmware, Inc. Simultaneous probing of multiple software modules of a computer system
US8996853B2 (en) 2012-06-29 2015-03-31 Vmware, Inc. Probing the boot sequence of a computer system
US10089126B2 (en) 2013-03-21 2018-10-02 Vmware, Inc. Function exit instrumentation for tail-call optimized code
US8789055B1 (en) * 2012-08-01 2014-07-22 Kabam, Inc. Maintaining time fidelity for an instance of a virtual space placed in a background state
CN103078870A (zh) * 2013-01-18 2013-05-01 浪潮电子信息产业股份有限公司 一种云数据中心操作系统中虚拟机关联-反关联系统及其方法
US9954757B2 (en) 2013-01-23 2018-04-24 Hewlett Packard Enterprise Development Lp Shared resource contention
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8843901B2 (en) * 2013-02-12 2014-09-23 Concurix Corporation Cost analysis for selecting trace objectives
US10223139B2 (en) 2013-03-15 2019-03-05 The Trustees Of The University Of Pennsylvania Dynamically deployable wireless infrastructure in cloud environment
US20130219372A1 (en) 2013-03-15 2013-08-22 Concurix Corporation Runtime Settings Derived from Relationships Identified in Tracer Data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9197529B2 (en) 2013-07-12 2015-11-24 Nicira, Inc. Tracing network packets through logical and physical networks
US9407580B2 (en) 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
US9361202B2 (en) 2013-07-18 2016-06-07 International Business Machines Corporation Filtering system noises in parallel computer systems during thread synchronization
US9811435B2 (en) * 2013-09-03 2017-11-07 Cisco Technology, Inc. System for virtual machine risk monitoring
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
KR102033009B1 (ko) * 2013-09-13 2019-10-16 한국전자통신연구원 가상 물리 시스템 및 그의 가상 머신 모니터링 방법
US9264330B2 (en) 2013-10-13 2016-02-16 Nicira, Inc. Tracing host-originated logical network packets
CN105765528B (zh) 2013-11-13 2019-09-24 微软技术许可有限责任公司 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质
JP6221701B2 (ja) * 2013-12-03 2017-11-01 富士通株式会社 制御プログラム、制御装置及び制御方法
US9548924B2 (en) 2013-12-09 2017-01-17 Nicira, Inc. Detecting an elephant flow based on the size of a packet
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9419889B2 (en) 2014-03-07 2016-08-16 Nicira, Inc. Method and system for discovering a path of network traffic
US9135437B1 (en) 2014-03-24 2015-09-15 Amazon Technologies, Inc. Hypervisor enforcement of cryptographic policy
US9996442B2 (en) * 2014-03-25 2018-06-12 Krystallize Technologies, Inc. Cloud computing benchmarking
US9419874B2 (en) 2014-03-27 2016-08-16 Nicira, Inc. Packet tracing in a software-defined networking environment
US10205648B1 (en) * 2014-05-30 2019-02-12 EMC IP Holding Company LLC Network monitoring using traffic mirroring and encapsulated tunnel in virtualized information processing system
US9553803B2 (en) 2014-06-30 2017-01-24 Nicira, Inc. Periodical generation of network measurement data
US9379956B2 (en) 2014-06-30 2016-06-28 Nicira, Inc. Identifying a network topology between two endpoints
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US9495193B2 (en) * 2014-12-05 2016-11-15 International Business Machines Corporation Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US9658942B2 (en) 2015-04-02 2017-05-23 International Business Machines Corporation Dynamic tracing framework for debugging in virtualized environments
US9594904B1 (en) * 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
EP3304299A4 (en) * 2015-06-01 2018-07-25 Draios Inc. Implicit push data transfer
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10216927B1 (en) 2015-06-30 2019-02-26 Fireeye, Inc. System and method for protecting memory pages associated with a process using a virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10395029B1 (en) 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US11138029B2 (en) 2015-07-22 2021-10-05 Microsoft Technology Licensing, Llc Mitigation of impact of intermittent storage unavailability on virtual machines
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
CN105426291B (zh) * 2015-12-08 2018-05-25 中国航空工业集团公司西安航空计算技术研究所 一种基于PowerPC处理器的性能监视方法
US10200306B2 (en) 2017-03-07 2019-02-05 Nicira, Inc. Visualization of packet tracing operation results
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
US10503626B2 (en) * 2018-01-29 2019-12-10 Oracle International Corporation Hybrid instrumentation framework for multicore low power processors
CN108449569B (zh) * 2018-03-13 2019-04-05 重庆虚拟实境科技有限公司 虚拟会议方法、系统、装置、计算机装置及存储介质
US11481240B2 (en) * 2018-11-30 2022-10-25 International Business Machines Corporation Capturing traces of virtual machine objects combined with correlated system data
US11151015B2 (en) 2019-02-22 2021-10-19 Microsoft Technology Licensing, Llc Machine-based recognition and dynamic selection of subpopulations for improved telemetry
TWI791929B (zh) * 2019-11-28 2023-02-11 瑞昱半導體股份有限公司 通用分析裝置與方法
CN112965782A (zh) * 2019-12-13 2021-06-15 天翼电子商务有限公司 针对Docker容器的智能监控方法、装置、存储介质及电子设备
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11677645B2 (en) 2021-09-17 2023-06-13 Vmware, Inc. Traffic monitoring
US20230097838A1 (en) * 2021-09-24 2023-03-30 Dell Products L.P. System and method of determining resource utilizations of virtual machines

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021800A (zh) * 2006-02-16 2007-08-22 Sap股份公司 虚拟机监控
CN101719081A (zh) * 2009-12-01 2010-06-02 北京大学 一种虚拟机调度方法

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647432B1 (en) * 1996-08-19 2003-11-11 Geoquest, A Division Of Schlumberger Technology Corporation Distributed framework for intertask communication between workstation applications
US6760903B1 (en) * 1996-08-27 2004-07-06 Compuware Corporation Coordinated application monitoring in a distributed computing environment
US6263491B1 (en) 1998-10-02 2001-07-17 Microsoft Corporation Heavyweight and lightweight instrumentation
US7310718B1 (en) * 1998-11-25 2007-12-18 Sun Microsystems, Inc. Method for enabling comprehensive profiling of garbage-collected memory systems
US6598012B1 (en) 1999-10-07 2003-07-22 International Business Machines Corporation Method and system for compensating for output overhead in trace date using trace record information
CA2315449A1 (en) * 2000-08-10 2002-02-10 Ibm Canada Limited-Ibm Canada Limitee Generation of runtime execution traces of applications and associated problem determination
US6694507B2 (en) 2000-12-15 2004-02-17 International Business Machines Corporation Method and apparatus for analyzing performance of object oriented programming code
US7266810B2 (en) * 2002-04-09 2007-09-04 Hewlett-Packard Development Company, Lp. Runtime profiling of platform-independent software applications
US7146607B2 (en) * 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US7568025B2 (en) 2003-06-27 2009-07-28 Bank Of America Corporation System and method to monitor performance of different domains associated with a computer system or network
US7275241B2 (en) * 2003-11-21 2007-09-25 International Business Machines Corporation Dynamic instrumentation for a mixed mode virtual machine
US7590521B2 (en) 2004-04-07 2009-09-15 Microsoft Corporation Method and system for probe optimization while instrumenting a program
US7568185B1 (en) * 2004-04-13 2009-07-28 Sun Microsystems, Inc. Mechanism for program-assisted tracing actions
US7574709B2 (en) 2004-04-30 2009-08-11 Microsoft Corporation VEX-virtual extension framework
US20060089984A1 (en) 2004-10-22 2006-04-27 International Business Machines Corporation Process and implementation for autonomous probe enablement
US8619971B2 (en) * 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
US7661095B2 (en) 2005-04-14 2010-02-09 Hewlett-Packard Development Company, L.P. System and method to build a callgraph for functions with multiple entry points
US7810075B2 (en) * 2005-04-29 2010-10-05 Sap Ag Common trace files
US7689558B2 (en) 2005-09-09 2010-03-30 Sap Ag Application monitoring using profile points
US7818721B2 (en) * 2006-02-01 2010-10-19 Oracle America, Inc. Dynamic application tracing in virtual machine environments
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
JP4240062B2 (ja) * 2006-05-31 2009-03-18 日本電気株式会社 計算機システムおよび性能計測方法ならびに管理サーバ装置
US20080126828A1 (en) 2006-06-07 2008-05-29 Janice Marie Girouard Dynamic enablement and customization of tracing information in a data processing system
US7957934B2 (en) * 2007-05-15 2011-06-07 Dynatrace Software Gmbh Method and system for processing application performance data ouside of monitored applications to limit overhead caused by monitoring
US20080243970A1 (en) * 2007-03-30 2008-10-02 Sap Ag Method and system for providing loitering trace in virtual machines
US8601469B2 (en) * 2007-03-30 2013-12-03 Sap Ag Method and system for customizing allocation statistics
US8209684B2 (en) 2007-07-20 2012-06-26 Eg Innovations Pte. Ltd. Monitoring system for virtual application environments
US8763115B2 (en) * 2007-08-08 2014-06-24 Vmware, Inc. Impeding progress of malicious guest software
WO2009058042A1 (en) * 2007-10-29 2009-05-07 Intel Corporation A method of external performance monitoring for virtualized environments
TW200925995A (en) 2007-12-14 2009-06-16 Inventec Corp Mobile device and method for loading operating system thereof
US8719936B2 (en) * 2008-02-01 2014-05-06 Northeastern University VMM-based intrusion detection system
US8832682B2 (en) * 2008-03-28 2014-09-09 Vmware, Inc. Trace collection for a virtual machine
TWI559227B (zh) 2009-01-12 2016-11-21 幸福居福爾摩沙股份有限公司 具有內建雙可隨機關閉開啟電源作業裝置的電腦系統
US20100211958A1 (en) * 2009-02-17 2010-08-19 Sun Microsystems, Inc. Automated resource load balancing in a computing system
US8955108B2 (en) * 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US20110061050A1 (en) * 2009-09-04 2011-03-10 Sahita Ravi L Methods and systems to provide platform extensions for trusted virtual machines
US8495427B2 (en) * 2009-10-14 2013-07-23 International Business Machines Corporation Detecting defects in deployed systems
US8381033B2 (en) * 2009-10-30 2013-02-19 International Business Machines Corporation Fault management in virtual computing environments
US9129106B2 (en) * 2009-11-04 2015-09-08 Georgia Tech Research Corporation Systems and methods for secure in-VM monitoring
US8195984B2 (en) * 2010-05-26 2012-06-05 Telcordia Technologies, Inc. System and method for a staggered execution environment
US8650564B2 (en) * 2010-10-19 2014-02-11 Vmware, Inc. Method and system for synchronizing fault-tolerant virtual machines and adjusting CPU resource limit based on execution latency
US8910155B1 (en) * 2010-11-02 2014-12-09 Symantec Corporation Methods and systems for injecting endpoint management agents into virtual machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021800A (zh) * 2006-02-16 2007-08-22 Sap股份公司 虚拟机监控
CN101719081A (zh) * 2009-12-01 2010-06-02 北京大学 一种虚拟机调度方法

Also Published As

Publication number Publication date
EP2656206A2 (en) 2013-10-30
EP2656206A4 (en) 2016-05-04
WO2012087852A2 (en) 2012-06-28
TWI544328B (zh) 2016-08-01
EP2656206B1 (en) 2019-01-23
US20120159454A1 (en) 2012-06-21
US10203974B2 (en) 2019-02-12
AR084437A1 (es) 2013-05-15
CN102541634A (zh) 2012-07-04
WO2012087852A3 (en) 2012-11-01
TW201227289A (en) 2012-07-01

Similar Documents

Publication Publication Date Title
CN102541634B (zh) 通过后台虚拟机的探测插入
US11640465B2 (en) Methods and systems for troubleshooting applications using streaming anomaly detection
US10116675B2 (en) Methods and systems to detect anomalies in computer system behavior based on log-file sampling
Ibidunmoye et al. Performance anomaly detection and bottleneck identification
Sharma et al. CloudPD: Problem determination and diagnosis in shared dynamic clouds
US9389936B2 (en) Monitoring the responsiveness of a user interface
US11366680B2 (en) Cloud native virtual machine runtime protection
US8738972B1 (en) Systems and methods for real-time monitoring of virtualized environments
US20090193298A1 (en) System and method of fault detection, diagnosis and prevention for complex computing systems
US10454801B2 (en) Methods and systems that diagnose and manage undesirable operational states of computing facilities
US20220027249A1 (en) Automated methods and systems for troubleshooting problems in a distributed computing system
US20130061095A1 (en) Software failure detection
CN1937628B (zh) 用于管理数据处理目标实体的方法和系统
US20210144164A1 (en) Streaming anomaly detection
CN109634716A (zh) 防脑裂的OpenStack虚拟机高可用管理端装置及管理方法
CN109684032A (zh) 防脑裂的OpenStack虚拟机高可用计算节点装置及管理方法
US9274847B2 (en) Resource management platform
CN103069749A (zh) 虚拟环境中的问题的隔离
CN109614201A (zh) 防脑裂的OpenStack虚拟机高可用系统
CN112579288A (zh) 一种基于云计算智能安全用数据管理系统
EP3226135A2 (en) Real-time cloud-infrastructure policy implementation and management
Li et al. SPIN: Service performance isolation infrastructure in multi-tenancy environment
EP3323047A1 (en) Distributed machine learning analytics framework for the anaylsis of streaming data sets from a computer enviroment
Kardani‐Moghaddam et al. Performance anomaly detection using isolation‐trees in heterogeneous workloads of web applications in computing clouds
US11709723B2 (en) Cloud service framework

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant