CN104021069A - 基于分布式虚拟机系统的软件性能测试的管理方法和系统 - Google Patents
基于分布式虚拟机系统的软件性能测试的管理方法和系统 Download PDFInfo
- Publication number
- CN104021069A CN104021069A CN201310064438.1A CN201310064438A CN104021069A CN 104021069 A CN104021069 A CN 104021069A CN 201310064438 A CN201310064438 A CN 201310064438A CN 104021069 A CN104021069 A CN 104021069A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- packet
- current virtual
- time
- current
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Abstract
本发明公开了一种基于分布式虚拟机系统的软件性能调试的管理方法和系统,该方法包括:响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;根据该数据分组应该被当前虚拟机接收的时间以及截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。
Description
技术领域
本发明涉及软件性能测试的管理,更具体地,涉及一种基于分布式虚拟机系统的软件性能测试的管理方法和系统。
背景技术
软件的性能调试是软件质量控制的重要组成部分,软件调试的目的是检查出软件实现或配置中潜在的瑕疵,在此基础上对系统加以改进。软件调试关注的是一系列的反映软件详细运行状态的诊断信息(如一个复杂功能下多个相关函数的迭代调用次序)。为了让被测系统能够生成这些诊断信息,在运行前需要向被测系统嵌入一系列的用于产生诊断信息的调试代码(instrument)。这些代码的嵌入会使程序运行开销增加,体现出较差的系统性能,如过长的任务处理时间,加剧的响应延迟等。
随着软件产品的功能越来越强大,软件产品的规模也越发庞大。通常的大型软件不是部署在同一个物理机上,而是分布式部署在多个物理机节点上。而随着虚拟机技术和云计算服务的完善和普及,越来越多的分布式系统搭建在分布式虚拟环境下。分布式虚拟机系统是由一系列广泛分布于网络中物理资源之上的虚拟机节点构成的,这些虚拟机节点之间是安全隔离且相对独立的。每个虚拟机都封装了用户应用运行所需的硬件和软件资源,这些虚拟机节点按照特定的关系协同工作,构建虚拟运行环境完成用户任务。在分布式虚拟环境中运行的软件,不同的功能组件通常分布在不同物理机上的虚拟机上,在运行时发生有层次结构的相互访问或调用,如:上一级的子任务需要调用下一级的子任务执行的结果。在进行软件的性能调试时,由于在软件中嵌入了调试代码,造成下一级子任务执行时间的延长,因此造成对上一级子任务请求的响应时间延时,甚至响应失败。这不仅对调试本身的顺利进行产生影响,还排除了在软件调试的过程中并发高效的进行其它任务(如:软件性能测试)的可能性。
因此需要一种在分布式虚拟环境中进行软件性能调试的管理方法。
发明内容
根据本发明的一个方面,提供了一种基于分布式虚拟机系统的软件性能调试的管理方法,包括:响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。
根据本发明的另一个方面,提供了一种基于分布式虚拟机系统的软件性能调试的管理系统,包括:时间控制模块,被配置为响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;时间提取模块,被配置为响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;时间计算模块,被配置为根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;数据分组处理模块,被配置为根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。
根据本发明实施例的基于分布式虚拟机系统的软件性能调试的管理方法通过对运行在各个节点上的虚拟机的系统时间进行控制来排除调试代码对系统运行时间的干扰,使得在软件性能调试的过程中实现并发高效地执行其它任务,而不受到软件性能调试的影响。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出根据本发明实施例的虚拟化系统中单个节点的示意图。
图3示出根据本发明实施例的基于分布式虚拟机系统的软件性能调试的管理方法。
图4示出虚拟机上的软件系统进行I/O操作的性能调试的示例。
图5示出根据本发明实施例的基于分布式虚拟机系统的软件性能调试的管理系统500。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向连接的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图2示出根据本发明实施例的虚拟化系统中单个节点的示意图,该单个节点包括物理机、虚拟机管理器(Hypervisor)和多个虚拟机,其中虚拟机是一种严密隔离的软件容器,它包括多个客户机操作系统(guest OS)以及运行在每个客户机操作系统上的多个应用程序,可具有不同操作系统的多个虚拟机在同一物理机上独立并行运行,从而在多台虚拟机之间实现单台物理机的资源共享。虚拟机管理器(hypervisor)是提供底层机器虚拟化的软件层,其运行在物理硬件之上,在底层上实现对虚拟机的管理和支持,以动态和透明方式向虚拟机分配硬件资源。本发明的实施例的虚拟机可以运行在被Java标准规范定义的Java虚拟机(JVM)运行环境内,也可以是任何类型的独立于平台的虚拟机,例如C#、Smalltalk、Ruby、D语言、nuva,而不限于Java虚拟机。
图3示出根据本发明实施例的基于分布式虚拟机系统的软件性能调试的管理方法,该分布式虚拟机系统包括多个节点,每个节点包括虚拟机管理器和至少一个虚拟机,根据本发明实施例的管理方法由每个节点的虚拟机管理器来执行,运行在每个节点上的虚拟机与虚拟机管理器相互配合,包括:在步骤S201,响应于感知到运行在当前虚拟机上的软件系统的调试代码的执行状态,控制当前虚拟机的系统时间;在步骤S202,响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;在步骤S203,根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;在步骤S204,根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。
在步骤S201,响应于感知到运行在当前虚拟机上的软件系统的调试代码的执行状态,控制当前虚拟机的系统时间,具体地,响应于接收到当前虚拟机上的软件系统发出的即将执行调试代码的通知,暂停所述虚拟机的系统时钟的计时;以及响应于接收到当前虚拟机上的软件系统发出的调试代码执行完毕的通知,恢复所述虚拟机的系统时钟的计时。在此,其它虚拟机可以与当前虚拟机分布在同一个节点上,也可以与当前虚拟机分布在不同节点上。
图4示出虚拟机上的软件系统进行I/O操作的性能调试的示例,软件代码执行到函数ch.receive(p)触发调试代码的执行,根据本发明的实施例,在当前节点的虚拟机和虚拟机管理器之间实现调试代码执行状况的通知机制,具体地,由函数send2Hypervisor()实现虚拟机向虚拟机管理器通知调试代码的执行状态,具体地,在程序即将执行调试代码之前,软件系统调用函数send2Hypervisor(enter_profiling)向虚拟机管理器发出程序即将执行调试代码的通知,在调试代码被执行完毕之后,软件系统调用函数send2Hypervisor(quit_profiling)向虚拟机管理器发出调试代码已执行完毕的通知,同时程序返回至函数ch.receive(p),接着执行函数ch.receive(p)下面的程序。在虚拟机管理器接收到函数send2Hypervisor()发出的通知后,调试代码执行完毕的通知,恢复所述虚拟机的系统时钟的计时。
在步骤S202,响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间,具体地,其它虚拟机向当前虚拟机发送的数据分组首先被其它虚拟机管理器截获,从该数据分组的包头中解析出其它虚拟机的地址,从而获取到其它虚拟机发送数据分组时的系统时间,并向包头中添加两个时间标签,分别为当前虚拟机发送数据分组时刻的基准时钟和当前虚拟机的系统时钟,根据本发明的实施例,可以向包头的可选域中添加时间标签,然后将添加有时间标签的数据分组转发给当前虚拟机,在此需要说明的是,在分布式虚拟机系统中各个节点上的基准时间是一致的。
当前虚拟机管理器截获到从其它虚拟机(即源虚拟机)发送至当前虚拟机(即目的地虚拟机)的数据分组,从该数据分组的包头中解析出其源虚拟机的源地址address_svm和目的地虚拟机的目的地地址address_dvm,以及在源虚拟机侧添加的源虚拟机在发送时刻的基准时钟t_swc和系统时钟t_svm。
当前虚拟机管理器还会截获到当前虚拟机发送给其它虚拟机的数据分组,首先从所述当前虚拟机发送给其它虚拟机的数据分组中解析出当前虚拟机的地址,进而根据当前虚拟机的地址获取当前虚拟机在发送时的系统时间和基准时间,并向所述数据分组中添加当前虚拟机发送数据分组时的系统时间和基准时间。
在步骤S203,根据其它虚拟机发送数据分组时的系统时间、发送时刻的基准时间以及截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间,具体地,该数据分组应该被当前虚拟机接收到的时间t'计算如下:
t'=t_svm+(t_dwc-t_swc),其中t_dwc是截获时刻的基准时钟,
将接收到的数据分组保存至虚拟机管理器的缓存中,并将t'与目的地虚拟机的系统时钟t_dvm的差值的绝对值与预定义的时间精度阈值d进行比较,根据比较结果进行不同的处理,在此d可以根据实际情况进行设置,例如1毫秒。
在步骤S204,根据该数据分组应该被当前虚拟机接收的时间以及截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。在此及以下,一个时间大于另一个时间即表明一个时间晚于另一个时间。
根据本发明的实施例,
如果t'-t_dvm≤d,表明该数据分组应该立即被处理,虚拟机管理器立刻将该数据分组转发给目的地的虚拟机。
如果t'>t_dvm+d,表明该数据分组应被晚些处理,虚拟机管理器把该数据分组缓存至队列中,直到当前虚拟机的系统时间等于t',即,t_dvm=t'时,将该数据分组转发给目的地的虚拟机。
如果t'<t_dvm-d,表明该数据分组到来的时间太迟,虚拟机管理器直接将该数据分组丢弃。
由于暂停或继续虚拟机的系统时间而造成的不同虚拟机之间系统时间不一致,从而可能导致虚拟机之间的操作在执行上发生时序混乱。按照上面的逻辑处理数据分组是为了防止时序混乱现象的发生。
此外,虚拟机管理器在内存中建立一个从源虚拟机发送至目的地虚拟机的的数据分组缓存队列的列表,在该列表中记录了源虚拟机的地址、目的地虚拟机的地址以及从源虚拟机发送至目的地虚拟机的待处理的数据分组的数目,表1示出缓存队列的列表的示例。
表1
根据本发明的实施例,当前虚拟机作为源虚拟机,它的软件系统调用面向连接的函数send()执行发送数据分组的操作时,该当前虚拟机向虚拟机管理器发送通知,响应于虚拟机管理器感知到当前虚拟机以面向连接的模式(例如基于TCP协议的发送)向其它虚拟机发送数据分组的操作,截获当前虚拟机向其它虚拟机发送的数据分组,从截获到的数据分组的包头中解析出源虚拟机的地址和端口号以及目的地虚拟机的地址和端口号,同时在截获到的数据分组的包头中添加两个时间标签,即当前时刻源虚拟机的系统时钟和基准时间,然后将添加了时间标签的数据分组转发给目的地虚拟机;接着暂停该当前虚拟机的运行;源虚拟机向目的地虚拟机以面向连接的模式发送数据分组后,需要收到目的地虚拟机的确认收到的信息才能继续执行后面的操作,在数据分组缓存队列的列表中用源/目的地虚拟机的地址和端口号进行查询和匹配,一旦找到匹配的数据分组,即,响应于在数据分组缓存队列中查找到其它虚拟机发出的确认收到的数据分组,获取该确认收到的数据分组应该被当前虚拟机接收的时间t',如上步骤S202和203所述,对于截获的每个数据分组,虚拟机管理器都会从中提取出添加的其它虚拟机发送该数据分组时的系统时间和基准时间,并根据其它虚拟机发送该数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间t';响应于该确认收到的数据分组应该被当前虚拟机接收的时间t'大于当前虚拟机在当前时刻的系统时间,继续该当前虚拟机的运行。
根据本发明的实施例,在当前虚拟机作为目的地虚拟机,它的软件系统调用函数receive()以非阻塞模式执行接收数据分组的操作时,该目的地虚拟机向虚拟机管理器发送通知,虚拟机管理器接收通知后,执行控制当前虚拟机暂停和运行的步骤。
根据本发明的一个实施例,响应于感知到当前虚拟机以非阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于当前虚拟机在当前时刻的系统时间;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于当前虚拟机的系统时间,
在此可能向该当前虚拟机发送数据分组的其它虚拟机可以是预先指定的虚拟机,也可以是当前虚拟机之外的全部其它虚拟机。
根据本发明的实施例,在当前虚拟机作为目的地虚拟机,它的软件系统调用函数receive()以阻塞模式执行接收数据分组的操作时,该目的地虚拟机向虚拟机管理系统发送通知。阻塞模式在未接收到数据分组时一直等待,直到接收到数据分组,通常设置一个将来的超时时间点,等待到超过了超时时间点后就继续执行。虚拟机管理器接收通知后,对当前虚拟机暂停和运行进行控制,控制方法如下:
根据本发明的一个实施例,响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于以阻塞模式执行接收操作的超时时间点。
根据本发明的另一个实施例,响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于时间点T,其中时间点T大于当前虚拟机的系统时间但小于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于时间点T。
通过调度各个虚拟机的暂停和运行,来保证虚拟机之间的数据通信操作在时序上同没有对虚拟机的系统时间进行控制的情况下是一致的,进而保证整个分布式系统运行的真实性。
基于同一发明构思,本发明还提出一个基于分布式虚拟机系统的软件性能调试的管理系统,图5示出根据本发明实施例的基于分布式虚拟机系统的软件性能调试的管理系统500,包括:时间控制模块501,被配置为响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;时间提取模块502,被配置为响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;时间计算模块503,被配置为根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;数据分组处理模块504,被配置为根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。在此模块501-504对应于图3所示的方法中的步骤201-204,在此不再赘述。
根据本发明实施例,其中时间控制模块被配置为:响应于接收到当前虚拟机上的软件系统发出的即将执行调试代码的通知,暂停当前虚拟机的系统时钟的计时;以及响应于接收到当前虚拟机上的软件系统发出的调试代码执行完毕的通知,恢复所述当前虚拟机的系统时钟的计时。
根据本发明的实施例,其中数据分组处理模块504包括:数据分组转发模块,被配置为响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值的绝对值小于或等于预定义的时间精度阈值,将所述数据分组立刻转发给当前虚拟机;数据分组缓存模块,被配置为响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值大于预定义的时间精度阈值,将所述数据分组缓存至数据分组缓存队列中,直到当前虚拟机的系统时间等于该数据分组应该被当前虚拟机接收的时间,则将该数据分组转发给当前虚拟机;数据分组丢弃模块,被配置为响应于截获时当前虚拟机的系统时间与该数据分组应该被当前虚拟机接收的时间的差值大于预定义的时间精度阈值,将该数据分组丢弃。
根据本发明的实施例,管理系统500还包括:解析模块,被配置为响应于截获到当前虚拟机发送给其它虚拟机的数据分组,从所述当前虚拟机发送给其它虚拟机的数据分组中解析出当前虚拟机的地址;时间获取模块,被配置为根据当前虚拟机的地址获取当前虚拟机在发送数据分组时的系统时间和基准时间;时间添加模块,被配置为向所述当前虚拟机发送给其它虚拟机的数据分组中添加当前虚拟机发送数据分组时的系统时间和基准时间。
根据本发明的实施例,管理系统500还包括截获模块、虚拟机暂停模块和虚拟机运行模块,其中截获模块被配置为响应于感知到当前虚拟机以面向连接的模式向其它虚拟机发送数据分组的操作,截获当前虚拟机向其它虚拟机发送的数据分组;虚拟机暂停模块被配置为暂停该当前虚拟机的运行;时间获取模块被配置为响应于在数据分组缓存队列中查找到其它虚拟机发出的确认收到的数据分组,获取该确认收到的数据分组应该被当前虚拟机接收的时间;虚拟机运行模块被配置为响应于该确认收到的数据分组应该被当前虚拟机接收的时间大于当前虚拟机在当前时刻的系统时间,继续该当前虚拟机的运行。
根据本发明的实施例,其中虚拟机暂停模块进一步被配置为响应于感知到当前虚拟机以非阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;虚拟机运行模块进一步被配置为对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于当前虚拟机在当前时刻的系统时间;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于当前虚拟机的系统时间。
根据本发明的实施例,其中虚拟机暂停模块进一步被配置为响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;虚拟机运行模块进一步被配置为对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于以阻塞模式执行接收操作的超时时间点。
根据本发明的实施例,其中虚拟机暂停模块进一步被配置为响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;虚拟机运行模块进一步被配置为对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于时间点T,其中时间点T大于当前虚拟机的系统时间但小于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于时间点T。
上述模块的实现细节可以参照方法的具体实现,在此不再赘述。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (16)
1.一种基于分布式虚拟机系统的软件性能调试的管理方法,包括:
响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;
响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;
根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;
根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。
2.根据权利要求1所述的管理方法,其中响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间包括:
响应于接收到当前虚拟机上的软件系统发出的即将执行调试代码的通知,暂停所述当前虚拟机的系统时钟的计时;以及
响应于接收到当前虚拟机上的软件系统发出的调试代码执行完毕的通知,恢复所述当前虚拟机的系统时钟的计时。
3.根据权利要求2所述的管理方法,其中根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机包括:
响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值的绝对值小于或等于预定义的时间精度阈值,将所述数据分组立刻转发给当前虚拟机;
响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值大于预定义的时间精度阈值,将所述数据分组缓存至数据分组缓存队列中,直到当前虚拟机的系统时间等于该数据分组应该被当前虚拟机接收的时间,则将该数据分组转发给当前虚拟机;
响应于截获时当前虚拟机的系统时间与该数据分组应该被当前虚拟机接收的时间的差值大于预定义的时间精度阈值,将该数据分组丢弃。
4.根据权利要求1所述的管理方法,还包括:
响应于截获到当前虚拟机发送给其它虚拟机的数据分组,从所述当前虚拟机发送给其它虚拟机的数据分组中解析出当前虚拟机的地址;
根据当前虚拟机的地址获取当前虚拟机在向其它虚拟机发送数据分组时的系统时间和基准时间;
向所述当前虚拟机发送给其它虚拟机的数据分组中添加当前虚拟机向其它虚拟机发送数据分组时的系统时间和基准时间。
5.根据权利要求3所述的管理方法,还包括:
响应于感知到当前虚拟机以面向连接的模式向其它虚拟机发送数据分组的操作,截获当前虚拟机向其它虚拟机发送的数据分组;
暂停该当前虚拟机的运行;
响应于在数据分组缓存队列中查找到其它虚拟机发出的确认收到的数据分组,获取该确认收到的数据分组应该被当前虚拟机接收的时间;
响应于该确认收到的数据分组应该被当前虚拟机接收的时间大于当前虚拟机在当前时刻的系统时间,继续该当前虚拟机的运行。
6.根据权利要求3所述的管理方法,还包括:
响应于感知到当前虚拟机以非阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;
对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于当前虚拟机在当前时刻的系统时间;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于当前虚拟机的系统时间。
7.根据权利要求3所述的管理方法,还包括:
响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;
对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于以阻塞模式执行接收操作的超时时间点。
8.根据权利要求3所述的管理方法,还包括:
响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;
对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于时间点T,其中时间点T大于当前虚拟机的系统时间但小于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于时间点T。
9.一种基于分布式虚拟机系统的软件性能调试的管理系统,包括:
时间控制模块,被配置为响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;
时间提取模块,被配置为响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;
时间计算模块,被配置为根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;
数据分组处理模块,被配置为根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。
10.根据权利要求9所述的管理系统,其中时间控制模块被配置为:
响应于接收到当前虚拟机上的软件系统发出的即将执行调试代码的通知,暂停所述当前虚拟机的系统时钟的计时;以及
响应于接收到当前虚拟机上的软件系统发出的调试代码执行完毕的通知,恢复所述当前虚拟机的系统时钟的计时。
11.根据权利要求10所述的管理系统,其中数据分组处理模块包括:
数据分组转发模块,被配置为响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值的绝对值小于或等于预定义的时间精度阈值,将所述数据分组立刻转发给当前虚拟机;
数据分组缓存模块,被配置为响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值大于预定义的时间精度阈值,将所述数据分组缓存至数据分组缓存队列中,直到当前虚拟机的系统时间等于该数据分组应该被当前虚拟机接收的时间,则将该数据分组转发给当前虚拟机;
数据分组丢弃模块,被配置为响应于截获时当前虚拟机的系统时间与该数据分组应该被当前虚拟机接收的时间的差值大于预定义的时间精度阈值,将该数据分组丢弃。
12.根据权利要求9所述的管理系统,还包括:
解析模块,被配置为响应于截获到当前虚拟机发送给其它虚拟机的数据分组,从所述当前虚拟机发送给其它虚拟机的数据分组中解析出当前虚拟机的地址;
时间获取模块,被配置为根据当前虚拟机的地址获取当前虚拟机在向其它虚拟机发送数据分组时的系统时间和基准时间;
时间添加模块,被配置为向所述当前虚拟机发送给其它虚拟机的数据分组中添加当前虚拟机向其它虚拟机发送数据分组时的系统时间和基准时间。
13.根据权利要求11所述的管理系统,还包括截获模块、虚拟机暂停模块和虚拟机运行模块,其中截获模块被配置为响应于感知到当前虚拟机以面向连接的模式向其它虚拟机发送数据分组的操作,截获当前虚拟机向其它虚拟机发送的数据分组;虚拟机暂停模块被配置为暂停该当前虚拟机的运行;时间获取模块进一步被配置为响应于在数据分组缓存队列中查找到其它虚拟机发出的确认收到的数据分组,获取该确认收到的数据分组应该被当前虚拟机接收的时间;虚拟机运行模块被配置为响应于该确认收到的数据分组应该被当前虚拟机接收的时间大于当前虚拟机在当前时刻的系统时间,继续该当前虚拟机的运行。
14.根据权利要求11所述的管理系统,其中虚拟机暂停模块进一步被配置为响应于感知到当前虚拟机以非阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;
虚拟机运行模块进一步被配置为对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于当前虚拟机在当前时刻的系统时间;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于当前虚拟机的系统时间。
15.根据权利要求11所述的管理系统,其中虚拟机暂停模块进一步被配置为响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;
虚拟机运行模块进一步被配置为对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于以阻塞模式执行接收操作的超时时间点。
16.根据权利要求11所述的管理系统,其中虚拟机暂停模块进一步被配置为响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;
虚拟机运行模块进一步被配置为对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:
1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于时间点T,其中时间点T大于当前虚拟机的系统时间但小于以阻塞模式执行接收操作的超时时间点;
2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于时间点T。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064438.1A CN104021069B (zh) | 2013-02-28 | 2013-02-28 | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 |
US14/190,208 US9529693B2 (en) | 2013-02-28 | 2014-02-26 | Managing software performance tests based on a distributed virtual machine system |
US15/284,977 US10248539B2 (en) | 2013-02-28 | 2016-10-04 | Managing software performance tests based on a distributed virtual machine system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064438.1A CN104021069B (zh) | 2013-02-28 | 2013-02-28 | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021069A true CN104021069A (zh) | 2014-09-03 |
CN104021069B CN104021069B (zh) | 2017-07-11 |
Family
ID=51389518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310064438.1A Active CN104021069B (zh) | 2013-02-28 | 2013-02-28 | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9529693B2 (zh) |
CN (1) | CN104021069B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260227A (zh) * | 2015-09-29 | 2016-01-20 | 联想(北京)有限公司 | 一种数据修正方法及电子设备 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9003234B2 (en) * | 2013-03-08 | 2015-04-07 | Infineon Technologies Ag | Machine and methods for reassign positions of a software program based on a fail/pass performance |
US9559928B1 (en) * | 2013-05-03 | 2017-01-31 | Amazon Technologies, Inc. | Integrated test coverage measurement in distributed systems |
US9348526B2 (en) * | 2014-03-28 | 2016-05-24 | Scale Computing, Inc. | Placement engine for a block device |
US9552309B2 (en) * | 2014-06-04 | 2017-01-24 | Ixia | Methods, systems, and computer readable media for providing precise timing in virtual data network or storage network test environment |
WO2016048382A1 (en) * | 2014-09-26 | 2016-03-31 | Hewlett Packard Enterprise Development Lp | Storage of hypervisor messages in network packets generated by virtual machines |
US9798567B2 (en) | 2014-11-25 | 2017-10-24 | The Research Foundation For The State University Of New York | Multi-hypervisor virtual machines |
JP6394455B2 (ja) * | 2015-03-24 | 2018-09-26 | 富士通株式会社 | 情報処理システム、管理装置およびプログラム |
CN104809063A (zh) * | 2015-04-24 | 2015-07-29 | 百度在线网络技术(北京)有限公司 | 分布式系统的测试方法及装置 |
US9672135B2 (en) | 2015-11-03 | 2017-06-06 | Red Hat, Inc. | System, method and apparatus for debugging of reactive applications |
US10216377B2 (en) * | 2016-03-22 | 2019-02-26 | Microsoft Technology Licensing, Llc | Visual regression analysis |
CN107305524B (zh) * | 2016-04-21 | 2020-09-29 | 北京京东尚科信息技术有限公司 | 压力测试方法及系统 |
US10054977B2 (en) | 2016-04-28 | 2018-08-21 | International Business Machines Corporation | Controlling system clocks in virtual machines |
US10628204B2 (en) * | 2018-02-27 | 2020-04-21 | Performance Software Corporation | Virtual communication router with time-quantum synchronization |
CN110351156B (zh) * | 2018-04-03 | 2021-10-01 | 大唐移动通信设备有限公司 | 一种测试方法和装置 |
CN110908916B (zh) * | 2019-11-27 | 2022-02-22 | 威创集团股份有限公司 | 一种调试工具及调试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030912A1 (en) * | 2001-05-09 | 2004-02-12 | Merkle James A. | Systems and methods for the prevention of unauthorized use and manipulation of digital content |
CN101042673A (zh) * | 2007-04-20 | 2007-09-26 | 北京航空航天大学 | 软件测试系统及测试方法 |
US20080114806A1 (en) * | 2006-11-13 | 2008-05-15 | Nicolai Kosche | Method and Apparatus for Data Space Profiling of Applications Across a Network |
US20100305767A1 (en) * | 2009-05-25 | 2010-12-02 | John Bengtson | One Global Precise Time And One Maximum Transmission Time |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US7401324B1 (en) * | 2003-09-18 | 2008-07-15 | Sun Microsystems, Inc. | Method and apparatus for performing time measurements during instrumentation-based profiling |
US7530068B2 (en) * | 2003-12-17 | 2009-05-05 | International Business Machines Corporation | Method of resource allocation using an access control mechanism |
US8271999B2 (en) | 2007-09-27 | 2012-09-18 | International Business Machines Corporation | Compensating for instrumentation overhead using execution environment overhead |
KR100932270B1 (ko) * | 2007-11-29 | 2009-12-16 | 한국전자통신연구원 | 무선센서네트워크에서의 시각 동기화 방법 |
US8843645B2 (en) * | 2010-06-24 | 2014-09-23 | Citrix Systems, Inc. | Systems and methods for detecting incomplete requests, TCP timeouts and application timeouts |
EP2760182B1 (en) * | 2011-09-21 | 2017-03-01 | Fujitsu Limited | Data communication apparatus, data transmission method, and computer system |
WO2014116888A1 (en) * | 2013-01-25 | 2014-07-31 | REMTCS Inc. | Network security system, method, and apparatus |
US9935882B2 (en) * | 2015-05-13 | 2018-04-03 | Cisco Technology, Inc. | Configuration of network elements for automated policy-based routing |
US10021018B2 (en) * | 2015-09-07 | 2018-07-10 | Citrix Systems, Inc. | Systems and methods for associating multiple transport layer hops between clients and servers |
GB2559907A (en) * | 2015-10-21 | 2018-08-22 | Brocade Comm Systems Inc | Distributed rule provisioning in an extended bridge |
US9672135B2 (en) * | 2015-11-03 | 2017-06-06 | Red Hat, Inc. | System, method and apparatus for debugging of reactive applications |
US11240111B2 (en) * | 2016-06-29 | 2022-02-01 | Nicira, Inc. | Analysis of simultaneous multi-point packet capture and display of the analysis |
US10686568B2 (en) * | 2016-12-29 | 2020-06-16 | Microsoft Technology Licensing, Llc | Active flow diagnostics for cloud-hosted networks |
US10440049B2 (en) * | 2017-01-19 | 2019-10-08 | Paypal, Inc. | Network traffic analysis for malware detection and performance reporting |
-
2013
- 2013-02-28 CN CN201310064438.1A patent/CN104021069B/zh active Active
-
2014
- 2014-02-26 US US14/190,208 patent/US9529693B2/en not_active Expired - Fee Related
-
2016
- 2016-10-04 US US15/284,977 patent/US10248539B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030912A1 (en) * | 2001-05-09 | 2004-02-12 | Merkle James A. | Systems and methods for the prevention of unauthorized use and manipulation of digital content |
US20080114806A1 (en) * | 2006-11-13 | 2008-05-15 | Nicolai Kosche | Method and Apparatus for Data Space Profiling of Applications Across a Network |
CN101042673A (zh) * | 2007-04-20 | 2007-09-26 | 北京航空航天大学 | 软件测试系统及测试方法 |
US20100305767A1 (en) * | 2009-05-25 | 2010-12-02 | John Bengtson | One Global Precise Time And One Maximum Transmission Time |
Non-Patent Citations (1)
Title |
---|
WIKIPEDIA: "TIME TO LIVE", 《HTTP://WEB.ARCHIVE.ORG/WEB/20130131193119/HTTP://EN.WIKIPEDIA.ORG.WIKI/TIME_TO_LIVE》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260227A (zh) * | 2015-09-29 | 2016-01-20 | 联想(北京)有限公司 | 一种数据修正方法及电子设备 |
CN105260227B (zh) * | 2015-09-29 | 2019-04-26 | 联想(北京)有限公司 | 一种数据修正方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20140245069A1 (en) | 2014-08-28 |
US9529693B2 (en) | 2016-12-27 |
US10248539B2 (en) | 2019-04-02 |
CN104021069B (zh) | 2017-07-11 |
US20170024309A1 (en) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104021069A (zh) | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
KR101979363B1 (ko) | 애플리케이션 토폴로지 관계의 발견 방법, 장치, 및 시스템 | |
US9313139B2 (en) | Physical port sharing in a link aggregation group | |
US10411953B2 (en) | Virtual machine fault tolerance method, apparatus, and system | |
US9378049B1 (en) | Servicing I/O requests in an I/O adapter device | |
US11265266B2 (en) | Computer-readable recording medium recording port switching program and port switching method | |
US9565095B2 (en) | Take-over of network frame handling in a computing environment | |
US20140068134A1 (en) | Data transmission apparatus, system, and method | |
US9628374B1 (en) | Ethernet link aggregation with shared physical ports | |
CN111654519B (zh) | 用于传输数据处理请求的方法和装置 | |
WO2014000297A1 (zh) | 虚拟端口监控方法和设备 | |
US9537798B1 (en) | Ethernet link aggregation with shared physical ports | |
EP2840576A1 (en) | Hard disk and data processing method | |
US10338822B2 (en) | Systems and methods for non-uniform memory access aligned I/O for virtual machines | |
US10621124B2 (en) | Method, device and computer program product for enabling SR-IOV functions in endpoint device | |
CN104750428A (zh) | 块储存存取和网关模块、储存系统和方法与内容递送装置 | |
EP3070633A1 (en) | Network interface devices with remote storage control | |
CN112422357A (zh) | 网络通信路径的状态检测方法以及设备 | |
US9769093B2 (en) | Apparatus and method for performing InfiniBand communication between user programs in different apparatuses | |
WO2018106392A1 (en) | Technologies for multi-core wireless network data transmission | |
KR101499668B1 (ko) | 가상 실행 환경에서 네트워크 프레임을 전달하기 위한 장치 및 방법 | |
Suzuki et al. | Device-level IoT with virtual I/O device interconnection | |
CN103631532A (zh) | 用于在数据存储系统中访问数据的方法和设备 | |
US9912787B2 (en) | Zero-copy multiplexing using copy-on-write |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |