首页 / 专利库 / 电子零件及设备 / 差动输入级 / 确定和监测计算机资源服务的性能能力

确定和监测计算机资源服务的性能能

阅读:537发布:2024-02-20

专利汇可以提供确定和监测计算机资源服务的性能能专利检索,专利查询,专利分析的服务。并且为了实时确定和监测计算机资源服务的性能,资源监测工具可以在计算机资源服务的 计算机系统 上启动测试 虚拟机 。所述资源监测工具随后可以监测指示了所述测试虚拟机随时间推移的所述性能的各种度量,诸如处理器性能、 存储器 性能、输入/输出(I/O)性能和网络性能。所述资源监测工具可以存储所述所监测的度量,向用户提供精选的度量,并且使用所述度量来管理所述计算机资源服务。为了准确地测量所述性能,所述资源监测工具可以选择用于测试的计算机系统,所述计算机系统表示所述计算机资源服务和所述计算机资源服务的所述计算机资源。,下面是确定和监测计算机资源服务的性能能专利的具体信息内容。

1.一种用于确定计算机资源服务的性能的计算机实现的方法,所述方法包括:
确定在上面测试所述计算机资源服务的所述性能的一组计算机系统,其中所述组的所述计算机系统中的每个计算机系统均表示所述计算机系统的位置分布和所述计算机系统的所述计算机资源的差异中的至少一者;
在所述组的所述计算机系统中的每个计算机系统上启动至少一个虚拟机
由处理器监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个虚拟机的性能度量;以及
将所述性能度量存储在计算机可读存储介质中。
2.如权利要求1所述的计算机实现的方法,所述方法还包括:
将监测代理安装在所述组的所述计算机系统中的每个计算机系统上的所述至少一个虚拟机上,其中所述监测代理收集所述性能度量的一部分;
其中监测所述性能度量包括从所述监测代理接收所述性能度量的所述部分;
其中所述性能度量包括处理器性能、存储器性能、输入/输出性能和网络通信性能中的至少一者;
接收在所述计算机资源服务中启动虚拟机的请求;以及
至少部分基于所述性能度量来从所述计算机系统中确定将在上面启动所述虚拟机的至少一个计算机系统。
3.如权利要求1所述的计算机实现的方法,所述方法还包括:
至少部分基于所述性能度量来确定具有可用计算机资源的所述计算机系统中的一个;
使现有的虚拟机移动到所述计算机系统中的所述一个;
至少部分基于所述性能度量来确定需要升级的所述计算机系统中的一个;以及提供所述所需要的升级的通知。
4.如权利要求1所述的计算机实现的方法,所述方法还包括:
通过web服务协议来接收提供一组所述性能度量的请求;
至少部分基于所述请求来从存储于所述计算机可读存储介质中的所述性能度量检索所述组的所述性能度量;以及
向所述请求的发起者提供所述组的性能度量。
5.如权利要求1所述的计算机实现的方法,其中所述计算机系统的第一部分位于第一地理位置并且所述计算机系统的第二部分位于第二地理位置,
其中所述组的所述计算机系统包括来自所述第一部分的至少一个计算机系统和来自所述第二部分的至少一个计算机系统;
在所述组的所述计算机系统中的每个计算机系统上启动至少一个附加虚拟机,其中所述至少一个附加虚拟机具有不同于所述至少一个虚拟机的配置;
由所述处理器监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个附加虚拟机的附加性能度量;以及
将所述附加性能度量存储在计算机可读存储介质上。
6.一种用于确定计算机资源服务的性能的系统,所述系统包括:
至少一个存储器装置,所述至少一个存储器装置包括指令;
网络接口,所述网络接口被配置成与所述计算机资源服务通信,所述计算机资源服务包括计算机系统;以及
至少一个处理器,所述至少一个处理器耦合到至少一个存储器装置和网络接口并且被配置成实施所述指令以执行包括以下步骤的方法:
确定在上面测试所述计算机资源服务的所述性能的一组所述计算机系统,其中所述组的所述计算机系统中的每个计算机系统均表示所述计算机系统的位置分布和所述计算机系统的计算机资源的差异中的至少一者;
在所述组的所述计算机系统中的每个计算机系统上启动至少一个虚拟机;
通过所述网络接口监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个虚拟机的性能度量;以及
将所述性能度量存储在计算机可读存储介质中。
7.如权利要求6所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
将监测代理安装在所述组的所述计算机系统中的每个计算机系统上的所述至少一个虚拟机上;
通过所述网络接口从所述监测代理接收所述性能度量的一部分;以及
其中所述监测代理包括用以在所述至少一个虚拟机上实施并且收集所述性能度量的指令,所述性能度量包括处理器性能、存储器性能、输入/输出性能和网络通信性能中的至少一者。
8.如权利要求6所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
至少部分基于所述性能度量来确定具有可用计算机资源的所述计算机系统中的一个;
以及
使现有的虚拟机移动到所述计算机系统中的所述一个。
9.如权利要求6所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
至少部分基于所述性能度量来确定需要升级的所述计算机系统中的一个;
提供所述所需要的升级的通知;
接收在所述计算机资源服务中启动虚拟机的请求;以及
至少部分基于所述性能度量来从所述计算机系统中确定将在上面启动所述虚拟机的至少一个计算机系统。
10.如权利要求6所述的系统,其中所述计算机系统的第一部分位于第一地理位置并且所述计算机系统的第二部分位于第二地理位置,以及
其中所述组的所述计算机系统包括来自所述第一部分的至少一个计算机系统和来自所述第二部分的至少一个计算机系统。
11.如权利要求6所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
在所述组的所述计算机系统中的每个计算机系统上启动至少一个附加虚拟机,其中所述至少一个附加虚拟机具有不同于所述至少一个虚拟机的配置;
监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个附加虚拟机的附加性能度量;以及
存储所述附加性能度量的记录。
12.一种用于访问计算机资源服务的性能的计算机实现的方法,所述方法包括:
通过网络接口接收对所述计算机资源服务的性能的请求,其中所述请求包括一个或多个参数,所述一个或多个参数用于确定响应于所述请求将要提供的性能度量;
至少部分基于所述一个或多个参数来确定一组所述性能度量,其中所述组的所述性能度量表示所述计算机资源服务中的计算机系统的位置分布和所述计算机系统的所述计算机资源的差异中的至少一者;以及
通过所述网络接口发送响应,所述响应包括所述组的所述性能度量。
13.如权利要求12所述的计算机实现的方法,所述方法还包括:
从在所述计算机资源服务的所述计算机系统上实施的测试虚拟机确定所述性能度量;
响应于发送所述响应,接收在与所述组的性能度量相关的至少一个计算机系统上启动至少一个虚拟机的请求;以及
其中所述一个或多个参数包括所述计算机资源服务的所述计算机系统的位置、所述计算机资源服务的所述计算机系统的配置、所述测试虚拟机的所述配置、由所述测试虚拟机所执行的基准测试、性能度量的类型、日期、时间、与所述性能度量相关的统计值中的至少一者。
14.一种访问计算机资源服务的性能的系统,所述系统包括:
至少一个存储器装置,所述至少一个存储器装置包括指令;
显示装置;以及
至少一个处理器,所述至少一个处理器耦合到至少一个存储器装置和所述显示装置并且被配置成实施所述指令以执行包括以下步骤的方法:
发送对所述计算机资源服务的性能的请求,其中所述请求包括一个或多个参数,所述一个或多个参数用于确定响应于所述请求将提供性能度量中的哪些;
接收响应,所述响应包括由所述一个或多个参数所确定的一组所述性能度量;以及通过所述显示装置输出所述组的性能度量的一部分。
15.如权利要求14所述的系统,所述系统还包括:
网络装置,所述网络装置被配置成与监测所述性能度量的系统通信,其中所述请求通过web服务协议发送至所述系统;
网络装置,所述网络装置被配置成与所述计算机资源服务的计算机系统通信,其中所述至少一个处理器被配置成与监测代理通信并且通过所述网络装置从所述监测代理收集所述性能度量的一部分;
确定所述测试虚拟机的第一配置和所述测试虚拟机的第二配置;
至少部分基于所述组的性能度量来确定所述第一配置以所需性能操作;以及根据所述第一配置来在所述计算机系统上启动至少一个虚拟机。

说明书全文

确定和监测计算机资源服务的性能能

[0001] 相关申请的交叉引用
[0002] 本发明涉及Simon Jeremy Elisha的2013年5月21日提交的标题为“REPORTING PERFORMANCE CAPABILITIES OF A COMPUTER RESOURCE SERVICE”的美国 专利申 请No.13/899,449,所述申请的全部公开内容以引用的方式并入本文。

背景技术

[0003] 目前,网络可访问的计算服务有时也被称为计算服务或远程计算服务,在客户进行计算选择时为他们提供灵活性。当客户例示计算机资源服务内的新的虚拟机实例或使实例移动到计算机资源服务时,客户可以评估在计算机资源服务中实施的实例的资源特征。除了其它可能性外,这还可包括处理器类型和性能、存储器大小和性能、输入/输出能力、临时性存储装置大小和网络能力。
[0004] 每个实例类型都可以具有向客户提供选择程度的不同性能配置文件。然而,就给定时间和位置(例如,特定数据中心)的性能而言,由于各种不一致性,可能很难在不同实例类型之间进行选择。例如,可以将实例托管在不同的底层物理硬件上,这可能会改变这些实例的实际性能(例如,较旧硬件可能会以与较新硬件不同的方式执行)。而且,实例,其可以在计算机资源服务中在“忙碌”位置(例如,有噪声的相邻物)中实现,可以提供与在未预约区域中相比减少的性能。因此,理解计算机资源服务中的实例的性能配置文件可能会具有挑战性。附图说明
[0005] 实现方式的各种特征可以得到更充分的认识,因为当结合附图考虑时参照下文对这些实现方式的详细描述这些特征将更好理解,附图中:
[0006] 图1图示了根据各种实现方式的资源监测工具可以监测计算机资源服务的环境的示例;
[0007] 图2图示了根据各种实现方式的用于监测计算机资源服务的性能的过程的示例;
[0008] 图3A和3B图示了根据各种实现方式的资源监测工具可以监测计算机资源服务的环境的另一个示例;
[0009] 图4图示了根据各种实现方式的用于监测计算机资源服务的性能的过程的另一个示例;
[0010] 图5图示了根据各种实现方式的用于存储计算机资源服务的性能度量的数据结构的示例;以及
[0011] 图6图示了根据各种实现方式的计算机装置的硬件配置的示例。

具体实施方式

[0012] 本公开的实现方式针对用于确定和监测计算机资源服务的性能的系统和方法。为了实时确定和监测计算机资源服务的性能,资源监测工具可以在计算机资源服务的计算机系统上启动测试虚拟机。资源监测工具随后可以监测指示了测试虚拟机随时间推移的性能的各种度量,诸如处理器性能、存储器性能、输入/输出(I/O)性能和网络性能。资源监测工具可以存储所监测的性能度量,向用户提供精选的性能度量,并且使用这些性能度量来管理计算机资源服务。
[0013] 根据实现方式,为了准确地测量性能,资源监测工具可以选择用于测试的计算机系统,这些计算机系统表示计算机资源服务和计算机资源服务的计算机资源。例如,如果计算机系统分散在各个位置,那么资源监测工具可以选择各个位置处的计算机系统以使得能够监测和比较每个位置处的性能。同样地,例如,如果计算机系统包含不同的计算资源(不同类型和寿命的处理器、存储器、存储装置等),那么资源监测工具可以选择表示不同计算资源的计算机系统。因此,资源监测工具可以确定和比较位于不同位置并且以不同方式配置的计算机系统的性能。
[0014] 在实现方式中,可由计算机资源服务使用性能度量来管理计算机资源服务的资源。例如,在向实例分配计算资源时,计算机资源服务可以实时利用性能度量以选择最佳适合用户需要的计算资源、平衡计算资源的当前利用并且选择当前可用的或未充分利用的资源。同样地,计算机资源服务可以利用性能度量以确定应当何时向服务添加计算机系统或应当何时升级现有的计算机系统。因此,由资源监测工具所提供的性能度量可以允许计算机资源服务高效地和有效地管理所提供的计算机资源。同样地,可以向用户提供性能度量以允许用户在选择计算机资源服务中的计算资源和实例配置时做出准确的决定。
[0015] 图1图示了根据各种实现方式的可以确定和监测计算机资源服务102的性能的资源监测工具100的示例。虽然图1图示了资源监测工具100中所包含的各种组件,但图1图示了监测工具的一个示例并且可以添加附加组件并且可以移除现有组件。同样地,虽然图1图示了计算机资源服务102中所包含的各种组件,但图1图示了计算机资源服务的一个示例并且可以添加附加组件并且可以移除现有组件。
[0016] 在实现方式中,资源监测工具100可以被配置成确定和监测计算机资源服务102的性能。计算机资源服务102可以被配置成将计算资源作为服务通过一个或多个网络传送到用户。例如,用户可能能够在按使用支付的基础上(诸如按小时计算)供应计算资源。如图1所示,计算机资源服务102可以包括多个计算机系统诸如一组计算机系统104、一组计算机系统106和一组计算机系统108。为了提供计算机资源作为服务,计算机资源服务102可以被配置成在计算机系统104、计算机系统106和计算机系统108中的任一者上实施一个或多个机器实例(MI)。
[0017] MI可以对应于计算机系统104、计算机系统106或计算机系统108中的一者或多者。同样地,MI可以对应于由计算机系统104、计算机系统106和计算机系统108中的一者或多者所托管的虚拟机(VM)。VM可为虚拟化计算机系统,或可为层叠在计算机系统104、计算机系统106和计算机系统108中的任一者的顶部上计算机系统的软件实现方式。可以通过管理程序或虚拟机监测器来控制VM对底层计算机系统的访问。VM可针对多个和/或不同的操作系统环境提供以在单计算机系统上同时运行。
[0018] 在计算机资源服务102中,每个MI均可由不同的用户控制,这些用户可能仅对他们自己的MI具有管理访问权限并且不能访问其他用户的实例。虽然多个MI可在包含并行处理器的计算机系统上同时实施,但是多个实例可能看上去在处理器比实例少的多线程计算机系统上同时实施。在某些情况下,不同的MI(其在计算机系统上实施)是由两个或更多个不同用户控制,而在其它情况下,所有MI都由单个用户控制。
[0019] 计算机资源服务102还可包括一个或多个管理系统111。一个或多个管理系统111可被配置成控制计算机资源服务102的操作和配置。一个或多个管理系统111可被配置成在计算机系统104、计算机系统106和计算机系统108上启动MI的实施;配置计算机资源服务102中的MI;终止计算机系统104、计算机系统106和计算机系统108上的MI实施;以及使现有的MI在计算机系统104、计算机系统106与计算机系统108之间移动。一个或多个管理系统111还可被配置成为向从计算机资源服务102请求计算机服务的用户提供接口。一个或多个管理系统111可以实现为物理计算机系统,诸如计算机系统104、计算机系统106和计算机系统108中的一者或多者。同样地,一个或多个管理系统111可以实现为在计算机资源服务102中实施的一个或多个MI。
[0020] 在实现方式中,资源监测工具100可以被配置成通过测试计算机系统104、计算机系统106和计算机系统108的操作来确定和监测由计算机资源服务102所提供的计算机资源的性能。在操作中,计算机系统104、计算机系统106和计算机系统108的性能可以受到以下各项的影响:在计算机系统上实施的MI的数量、在计算机系统上实施的MI的使用、支持计算机系统的物理硬件和软件和其它类似因素。为了测试计算机系统104、计算机系统106和计算机系统108的操作,可将资源监测工具100配置成利用一个或多个测试VM 110。
资源监测工具100可被配置成在计算机系统104、计算机系统106和计算机系统108上启动测试VM 110并且测试测试VM 110的性能。
[0021] 为了准确地表示计算机资源服务102,资源监测工具100可以被配置成基于计算机资源服务102的配置来选择测试VM 110的数量和布置。在计算机资源服务102中,可将计算机系统104、计算机系统106和计算机系统108放置在不同位置。计算机系统104、计算机系统106和计算机系统108的位置可以包括计算机资源服务102内的任何分离粒度。例如,这些位置可以包括数据中心中的特定计算机系统、服务器机架中的不同服务器、不同的数据中心、不同的地理位置或区域等。因此,为了测试不同的位置,资源监测工具100可以被配置成选择多个计算机系统以从计算机系统104、计算机系统106和计算机系统108各自的位置测试。
[0022] 同样地,位于不同位置的计算机系统可以提供不同的计算机资源。例如,计算机系统104、计算机系统106和计算机系统108可以包括硬件资源和/或软件资源的不同配置。而且,计算机系统104、计算机系统106和计算机系统108还可以包括不同寿命的硬件资源和/或软件资源。例如,计算机系统104、计算机系统106和计算机系统108中的一者或多者可以包括较旧的计算机系统,它们通常使用较旧的硬件资源和软件资源并且提供减少的计算资源。因此,资源监测工具100可以被配置成根据每个位置选择计算机系统数量,其表示不同配置和寿命。
[0023] 在选择计算机系统的数量时,资源监测工具100可以根据不同的位置、不同的配置、不同的寿命等中的每一者选择充分数量的计算机系统以准确地表示计算机系统。也就是说,资源监测工具100可以被配置成根据不同的位置、不同的配置、不同的寿命等中的每一者选择统计上显著的计算机系统数量。例如,对于特定位置、配置或寿命来说,资源监测工具100可以选择在统计上表示具有特定位置、配置或寿命的所有计算机系统的计算机系统数量。计算机系统的这种数量可为具有特定位置、配置或寿命的计算机系统的总量的百分数(例如,10%,5%,1%等)。在根据特定位置、配置或寿命选择计算机系统时,资源监测工具100可以根据特定位置、配置或寿命随机选择计算机系统。
[0024] 在实现方式中,在测试计算机资源时,资源监测工具100可以被配置成利用测试VM 110的不同配置。具体来说,资源监测工具100可以选择利用了由计算机资源服务102所提供的不同量的计算机资源的测试VM 110。资源监测工具100可以被配置成选择由计算机资源服务102所提供的预配置的测试VM 110。同样地,资源监测工具100可以被配置成确定表示不同平的计算机资源的测试VM 110的各种配置。
[0025] 在实现方式中,资源监测工具100可以被配置为能够存储在计算机系统上并且由计算机系统实施的软件程序,而无论是计算机资源服务102的一部分还是位于计算机资源服务102的外部。同样地,资源监测工具100可以被配置为软件模,该软件模块为其它应用程序的一部分。.在任何示例中,资源监测工具100可采用各种编程语言诸如JAVA、C++、Python代码、Visual Basic、HTML、XML等来编写,以适应各种操作系统、计算机系统架构等。如图1所示,资源监测工具100可以包括监测模块112、性能数据存储区114和接口116。虽然示为单个应用程序的一部分,但资源监测工具100的任一个组件均可实现为单独的软件程序或模块。
[0026] 在实现方式中,监测模块112可以被配置成测试测试VM 110的性能并且监测测试VM 110的性能度量。当测试VM 110在计算机资源服务102中实施时,监测模块112可以被配置成测试测试VM 110的性能。具体来说,监测模块112可以被配置成执行测量测试VM110的性能的一个或多个基准测试。这些基准测试可以包括任何类型的常规测试,这些常规测试测量处理器性能(例如,基于软件实施、指令实施等的分数)、存储器性能(例如,等待时间、读取速度、写入速度等)、输入/输出(I/O)性能(例如,每秒I/O、I/O带宽等)、网络性能(例如,网络带宽、每秒网络包等)等。
[0027] 根据这些基准测试,监测模块112可以被配置成收集性能度量。这些性能度量包括基准测试的结果。一旦被收集,资源监测工具100即可被配置成将性能度量存储在性能数据存储区114中。性能数据存储区114可实现为可以存储性能度量的一个或多个数据结构。性能数据存储区114还可存储计算机资源服务102的细节;计算机系统104、计算机系统106和计算机系统108的细节;测试VM 110的细节;性能测试的细节等。
[0028] 性能数据存储区114可被配置成以允许相关信息链接并且相关联的方式存储性能度量和其它数据。例如,对于一组特定的性能度量来说,性能数据存储区114可使产生该组特定性能度量的特定测试VM 110的细节、特定测试VM 110在上面实施的特定计算机系统的细节、特定计算机系统的位置、在特定测试VM 110上执行的性能测试的细节等相关。
[0029] 在实现方式中,资源监测工具100可以被配置成利用监测代理以帮助测试和监测测试VM 110。该监测代理可实现为被配置成在测试VM 110上实施并且执行性能测试中的一者或多者的软件程序。为了收集性能度量,监测代理可以被配置成向资源监测工具100传输性能。监测代理可以实时地、以周期性间隔、在需要时以及以它们组合的方式来传输性能度量。同样地,例如,通过监测模块112,资源监测工具100可以被配置成与监测代理通信并且从监测代理检索性能度量。资源监测工具100可以实时地、以周期性间隔、在需要时以及以它们组合的方式来检索性能度量。
[0030] 除了收集性能度量外,资源监测工具100还可以被配置成对性能度量执行统计分析。资源监测工具100可以执行该统计分析以分析和比较计算机系统的性能、测试VM的不同配置的性能和它们的组合。该统计分析可为任何类型的过程,这些过程产生有助于分析和比较计算机系统的性能、测试VM的不同配置的性能和它们的组合的统计值,诸如中值、平均值、标准偏差、基于关系的统计排名、统计建模等。一旦确定,资源监测工具100即可将这些统计值存储在性能数据存储区114中。
[0031] 例如,资源监测工具100可以比较在计算机系统上操作的测试VM的具体配置随时间推移的性能度量。例如,资源监测工具100可以确定随时间推移所收集的性能度量的中值、平均值和标准偏差以评估随时间推移的性能。此外,例如,资源监测工具100还可以确定性能度量相对于其它时间的性能度量落入某个百分比范围内的特定时间。
[0032] 同样地,例如,资源监测工具100可以确定托管测试VM的特定配置的不同计算系统的性能度量的统计值,而无论是在同一位置中,在不同位置中,还是两种情况都有。在该示例中,资源监测工具100可以比较这些统计值以确定计算系统相对于彼此的性能。此外,资源监测工具100还可以确定测试虚拟机的不同配置的性能度量的统计值,而无论是在相同计算机系统上执行,在不同计算机系统上执行,还是两种情况都有。资源监测工具100可以比较这些统计值以确定虚拟机的不同配置相对于彼此的性能。
[0033] 资源监测工具100还可以包括接口116以允许用户装置120通过一个或多个网络118与资源监测工具100通信并且访问性能度量。用户装置120可以包括计算机装置诸如台式机、笔记本电脑、服务器等或移动装置诸如智能电话、平板电脑、蜂窝电话、个人数字助理等。用户装置120可以包括常规计算机装置中发现的硬件资源(例如,处理器、存储器、存储装置、网络接口、I/O装置等)和软件资源(例如,操作系统、应用程序、移动app等)。
[0034] 在实现方式中,接口116可为允许用户与资源监测工具100本地地和远程地通信的任何类型的接口。例如,接口116可以包括允许用户通过资源监测工具100在上面实施的计算机系统与资源监测工具交互的图形用户接口(“GUI”)或命令行接口。而且,例如,接口116还可以包括允许用户装置120使用基于web的应用诸如web浏览器与资源监测工具100远程通信的基于web的接口。同样地,例如,接口116可以包括允许用户装置120上的应用与资源监测工具100通信的应用编程接口(“API”)。在一些实现方式中,该接口可为Web服务API。
[0035] 在实现方式中,用户装置120的用户可能需要评估计算机资源服务102的性能。例如,用户可能需要确定将在计算机资源服务中启动的MI的最佳位置、计算机系统和配置。为了实现这一点,用户装置120可以向资源监测工具100发送请求以提供一组性能度量。作为响应,资源监测工具100可以被配置成搜索性能数据存储区114并检索与用户装置120的请求匹配的一组性能度量。资源监测工具100可以被配置成向用户装置120发送这组性能度量。
[0036] 为向用户装置120提供有意义的信息,资源监测工具100可以被配置成在确定这组性能度量以为用户装置120检索时利用过滤器。具体来说,资源监测工具100可以利用过滤器以确定特定性能度量以为用户装置检索。这些过滤器可以包括一个或多个参数,所述参数指定了用户装置120需要性能度量中的哪些。
[0037] 例如,这些过滤器可以包括与计算机资源服务102中的计算机系统相关的一个或多个参数。这些参数可以包括计算机系统位于其中的特定位置或区域的识别、计算机系统的特定配置的识别等。此外,例如,这些过滤器还可以包括与测试VM 110或在测试VM 110上执行的测试相关的一个或多个参数。这些参数可以包括测试VM 110的特定类型或配置的识别、其中测试VM 110所启动的位置或区域的识别、基准测试的识别、测试执行的日期或时间范围等。而且,例如,过滤器还可以包括围绕性能度量自身的一个或多个参数。这些参数可以包括特定类型的性能度量(例如,处理器性能、存储器性能、I/O性能、网络性能等)、性能度量的特定值、性能度量的特定统计数据(例如,平均值、中值、一定百分比等)等。
[0038] 可以在Simon Jeremy Elisha的2013年5月21日提交的标题为“REPORTING PERFORMANCE CAPABILITIES OF A COMPUTER RESOURCE SERVICE”的美国 专利申 请No.13/899,449中找到接口116和与接口116相关的过程的完整描述,所述申请的全部公开内容以引用的方式并入本文。
[0039] 图2图示了根据各种实现方式的用于确定和监测计算机资源服务的性能的过程200。在过程200中,所示阶段为示例并且可以去除所示阶段中的任一者、可以添加附加阶段并且可以改变所示阶段的顺序。此外,虽然过程200被描述为是由资源监测工具100执行,但是过程200的一个或多个阶段可由任何硬件或软件组件执行。
[0040] 在204中,资源监测工具100可以任选地确定计算机资源服务102中的计算机系统。资源监测工具100可以确定计算机系统104、计算机系统106和计算机系统108的识别信息,诸如计算机系统的位置、计算机系统的名称、计算机系统的网络地址、计算机系统的访问信息等。此外,资源监测工具100还可以确定计算机系统104、计算机系统106和计算机系统108的细节诸如计算机系统的硬件和软件组件。为了确定该信息,资源监测工具100可以扫描计算机系统104、计算机系统106和计算机系统108。同样地,资源监测工具100可与计算机资源服务102的一个或多个管理系统111通信以获取信息。此外,还可将这些计算机系统的位置和配置在资源监测工具100中预先编程。
[0041] 在206中,资源监测工具100可以确定表示计算机系统的位置分布和计算机系统的计算资源的一组计算机系统。也就是说,资源监测工具100可以选择表示计算机系统的不同位置和计算机系统的不同计算机资源配置的计算机系统。所选择的计算机系统的数量可以是统计上显著的,以使得可以确定性能的准确测量。
[0042] 例如,如果计算机系统104位于第一位置并且计算机系统106位于第二位置,那么资源监测工具100可以选择表示每个位置并且产生可靠性能度量的多个计算机系统104和多个计算机系统106(例如,计算机系统104的5%和计算机系统106的5%)。同样地,在该示例中,计算机系统104可以具有两种计算机资源配置:例如,第一组计算机系统104具有相同的处理器、存储器和网络带宽并且第二组计算机系统104具有不同于第一组的相同的处理器、存储器和网络带宽。当从计算机系统104中选择计算机系统时,资源监测工具100可以从第一组和第二组中选择统计上显著的数量。
[0043] 在208中,资源监测工具100可以在这组计算机系统上启动测试VM。资源监测工具100可以选择用于每个测试VM的相同配置,以使得可比较计算机系统之间的性能并使其相关联。例如,资源监测工具100可以选择被配置成提供特定计算机资源(例如,处理功率、存储器、I/O资源、网络带宽等)的测试VM 100。资源监测工具100可以配置测试VM110。同样地,资源监测工具100可以选择预配置的虚拟机以在计算机系统上启动。
[0044] 在210中,资源监测工具100可以监测这组计算机系统上测试VM的性能度量。资源监测工具100可以通过网络连接件远程监测该性能度量。同样地,资源监测工具100可以在测试虚拟机中的一者或多者上安装性能监测代理并且从监测代理接收或检索性能度量。资源监测工具100可以监测随时间推移的性能度量以确定各个时间的性能度量。
[0045] 资源监测工具100和/或监测代理可以在测试VM 110上运行各种基准测试。这些基准测试可以包括任何类型的常规测试,这些常规测试测量处理器性能(例如,基于软件实施、指令实施等的分数)、存储器性能(例如,等待时间、读取速度、写入速度等)、输入/输出(I/O)性能(例如,每秒I/O、I/O带宽等)、网络性能(例如,网络带宽、每秒网络包等)等。
[0046] 在212中,资源监测工具100可以存储针对测试VM所监测的性能度量。资源监测工具100可以将这些性能度量存储在一个或多个数据结构诸如性能数据存储区114中。资源监测工具100可以存储这些性能度量以及其它信息。其它信息可以包括例如在204中所收集的信息。
[0047] 在214中,对于测试VM的不同配置,资源监测工具100可以重复该过程。为获取计算机资源服务102的计算机资源的完整图像,资源监测工具100可以执行测试和监测测试VM 110的不同配置的性能度量,诸如特定计算机资源(例如,处理功率、存储器、I/O资源、网络带宽等)的不同供应。
[0048] 在216中,资源监测工具100可以基于这些性能度量来执行资源管理和监测。资源监测工具100可以利用性能度量以辅助要求确定计算机资源服务102的计算机资源的性能的任何过程。可由资源监测工具100执行资源管理和监测。同样地,资源监测工具100可以向另一个系统诸如一个或多个资源管理系统111提供性能度量以辅助资源管理。
[0049] 例如,可以利用性能度量以确定在其上启动新的MI的特定机器。例如,如果特定计算机系统示出针对测试VM的良好的性能度量,那么该特定计算机系统可以被选择(或被给予较高的优先权)用于托管新的MI。同样地,如果特定计算机系统示出针对测试VM的贫乏的性能度量,那么该特定计算机系统可以被暂停(或被给予较低的优先权)用于托管新的MI。
[0050] 替代地,例如,可以利用性能度量以平衡当前托管在计算机资源服务102中的MI。例如,如果特定计算机系统示出针对测试VM的贫乏的性能度量,那么可以使由特定计算机系统所托管的一个或多个MI移动到示出较好性能度量的不同计算机系统。
[0051] 而且,例如,这些性能度量可以用于对由计算机资源服务102所供应的计算机资源定价。例如,如果特定计算机系统示出针对测试VM的贫乏的性能度量并且与特定系统的较旧硬件相关,那么可以设置由特定计算机系统所供应的计算机资源的较低价格。同样地,例如,如果如果特定计算机系统示出针对测试VM的良好的性能度量并且与特定系统的较新硬件相关,那么可以设置由特定计算机系统所供应的计算机资源的较高价格。
[0052] 另外,例如,这些性能度量可以用于确定是否升级计算机系统中的一者或多者。例如,如果特定计算机系统示出针对测试VM的贫乏的性能度量并且与特定系统的较旧硬件相关,那么可以决定更新特定计算机系统的硬件。
[0053] 在218中,资源监测工具100可以向请求用户提供性能度量。资源监测工具100可以接收来自用户诸如用户装置120对一组性能度量的请求。例如,资源监测工具100可以通过接口116接收请求。该请求可以包括一个或多个过滤器,所述过滤器指定由用户所请求的特定的一组性能度量。作为响应,资源监测工具100可以基于过滤器来搜索性能数据存储区114并且检索这组性能度量。资源监测工具100可以通过接口116向用户提供这组性能度量。
[0054] 一旦被接收,用户即可利用这组性能度量执行各动作。例如,用户装置120可以执行与计算机资源服务相关的动作。用户装置120可以利用性能度量以辅助要求确定计算机资源服务102的计算机资源的性能的任何过程。
[0055] 例如,可以利用性能度量以确定特定计算机系统或在其上启动新的MI的计算机系统的位置。例如,如果特定计算机系统或计算机系统的特定位置示出针对测试VM的良好的性能度量,那么用户装置120可以在特定计算机系统上或在特定位置中启动(或请求启动)新的MI。同样地,例如,如果用户装置接收针对测试VM的不同配置的一组性能度量,那么用户装置120可以利用这组性能度量选择将在计算机资源服务中启动的MI的配置。替代地,例如,可以利用性能度量以平衡当前托管在计算机资源服务102中的MI。例如,如果特定计算机系统示出针对测试VM的贫乏的性能度量,那么可以使由特定计算机系统所托管的一个或多个MI移动到示出较好性能度量的不同计算机系统。
[0056] 在218之后,该过程可以结束、重复或回到任一点。
[0057] 图3A和3B图示了根据各种实现方式的可以确定和监测计算机资源服务302的性能的资源监测工具100的另一个示例。虽然图3A和3B图示了资源监测工具100中所包含的各种组件,但图3A和3B图示了监测工具的一个示例并且可以添加附加组件并且可以移除现有组件。同样地,虽然图3A和3B图示了计算机资源服务302中所包含的各种组件,但图3A和3B图示了计算机资源服务的一个示例并且可以添加附加组件并且可以移除现有组件。
[0058] 在实现方式中,计算机资源服务302可以向在区域上和地理上位于不同位置的用户提供计算资源作为服务。在向区域上和地理上不同的位置提供服务时,可使计算机资源服务302的计算机系统分散在各种地理位置和区域位置中。如图3A所示,可将计算机资源服务302分为若干地理位置或区域,例如地理位置1304和地理位置2306。也就是说,可使支持计算机资源服务302的各种计算机系统位于不同的地理位置以支持在不同地理位置所供应的计算机资源。
[0059] 例如,计算机资源服务302可以包括多个数据中心,例如数据中心A 308、数据中心B 310、数据中心C 312、数据中心D 314和数据中心E 316。如图3A所示,可使数据中心A 308和数据中心B 310位于地理位置1 304中。可使数据中心C 312、数据中心D 314和数据中心E 316位于地理位置2 306中。还可以使特定地理位置内的数据中心分散在特定地理位置的子区域中。
[0060] 如图3B所示,数据中心A可以包括多个计算机系统,诸如计算机系统318、计算机系统320和计算机系统322。同样地,数据中心B 310、数据中心C 312、数据中心D 314和数据中心E 316可以包括多个计算机系统。为了确定和监测数据性能,资源监测工具100可以被配置成分别在计算机系统318、计算机系统320和计算机系统322上启动测试VM 324、326和328。如下所述,资源监测工具100可以被配置成选择计算机系统以准确地表示计算机资源服务302的数据中心A 308的计算机资源。
[0061] 当确定将MI托管在计算机资源服务302中的何处时,计算机资源服务302可能需要确定所有地理位置和区域位置上计算机系统的性能。同样地,在利用计算机资源服务302时,用户可能需要确定将提供最佳适合用户需要的计算资源的计算机系统。例如,用户可能需要确定在其地理位置内的计算机系统以及在其它地理位置中的计算机系统的性能。
因此,资源监测工具100可以监测和确定表示计算机系统的位置和计算机系统的配置的性能度量。
[0062] 图4图示了根据各种实现方式的用于监测计算机资源服务诸如计算机资源服务302的性能的过程400。在过程400中,所示阶段为示例并且可以去除所示阶段中的任一者、可以添加附加阶段并且可以改变所示阶段的顺序。此外,虽然过程400被描述为是由资源监测工具100执行,但是过程400的一个或多个阶段可由任何硬件或软件组件执行。
[0063] 在404中,资源监测工具100可以任选地确定计算机资源服务中数据中心的地理位置。资源监测工具100可以扫描计算机资源服务并且确定计算机资源服务中数据中心的地理位置。同样地,资源监测工具100可以与计算机资源服务的一个或多个管理系统111通信并且确定计算机资源服务中数据中心的地理位置。还可将这些数据中心的地理位置在资源监测工具100中预先编程。
[0064] 例如,参照图3A,资源监测工具100可以确定,计算机资源服务302包括具有数据中心A 308和数据中心B 310的地理位置1 304以及具有数据中C 312、数据中心D 314和数据中心E 316的地理位置2 306。
[0065] 在406中,资源监测工具100可以在地理位置中选择数据中心进行测试。例如,资源监测工具100可以选择数据中心A 308、数据中心B 310、数据中心C 312、数据中心D314和数据中心E 316中的任一者。资源监测工具100可以随机选择特定数据中心或基于预定顺序选择特定数据中心。
[0066] 在408中,资源监测工具100可以确定数据中心中的计算机系统。资源监测工具100可以确定当前正测试的数据中心的计算机系统的识别信息和细节。所述识别信息可以包括计算机系统的名称、计算机系统的网络地址、计算机系统的访问信息等。计算机系统的细节可以包括计算机系统的硬件组件和软件组件。
[0067] 例如,对于数据中心A 308来说,资源监测工具100可以确定计算机系统318、计算机系统320和计算机系统322的识别信息,诸如计算机系统的名称、计算机系统的网络地址、计算机系统的访问信息等。此外,资源监测工具100还可以确定计算机系统318、计算机系统320和计算机系统322的细节,诸如这些计算机系统的硬件组件和软件组件。为了确定该信息,资源监测工具100可以扫描计算机系统318、计算机系统320和计算机系统322。同样地,资源监测工具100可以与计算机资源服务302的一个或多个管理系统111通信以获取信息。
[0068] 在410中,资源监测工具100可以确定数据中心中表示计算机系统的不同配置的一组计算机系统。对于计算机系统的每种不同配置来说,资源监测工具100可以为每种配置选择统计上显著的计算机系统数量,即,大到足以提供统计上有意义的性能度量的计算机系统样本。
[0069] 例如,计算机系统318和计算机系统320可以包括具有不同配置(例如,不同寿命或类型的硬件资源)的计算机系统。资源监测工具100可以选择多个计算机系统318和多个计算机系统320,它们表示每个位置并且产生可靠的性能度量,例如,计算机系统318的5%和计算机系统320的5%。
[0070] 在412中,资源监测工具100可以在这组计算机系统中启动测试VM。资源监测工具100可以选择用于每个测试VM的相同配置,以使得可比较计算机系统之间的性能并使其相关联。例如,对于数据中心A 308来说,资源监测工具100可以选择用于测试VM 324、326和328的配置,其被配置成供应特定计算机资源(例如,处理功率、存储器、I/O资源、网络带宽等)。资源监测工具100可以配置测试VM 324、326和328。同样地,资源监测工具100可以选择用于测试VM 324、326和328的预配置测试VM,以在计算机系统上启动。
[0071] 在414中,资源监测工具100可以监测测试虚拟机的性能。资源监测工具100可以通过网络连接件远程监测该性能度量。同样地,资源监测工具100可以在测试虚拟机中的一者或多者上安装性能监测代理并且从监测代理接收或检索性能度量。资源监测工具100可以监测随时间推移的性能度量以确定各个时间的性能度量。
[0072] 资源监测工具100和/或监测代理可以在测试VM 324、326和328上运行各种基准测试。这些基准测试可以包括任何类型的常规测试,这些常规测试测量处理器性能(例如,基于软件实施、指令实施等的分数)、存储器性能(例如,等待时间、读取速度、写入速度等)、输入/输出(I/O)性能(例如,每秒I/O、I/O带宽等)、网络性能(例如,网络带宽、每秒网络包等)等。
[0073] 在416中,资源监测工具100可以存储在测试虚拟机中所监测的性能度量。资源监测工具100可以将这些性能度量存储在一个或多个数据结构诸如性能数据存储区114中。资源监测工具100可以存储这些性能度量以及其它信息。其它信息可以包括例如在204中所收集的信息。
[0074] 例如,图5图示了可以存储从测试VM所监测的性能度量的数据结构的示例。虽然图5图示了数据结构的示例,但所示结构为一个示例,并且可以利用任何类型的数据结构以存储性能度量。同样地,虽然图5图示了可被存储的性能度量的示例,但所示性能度量为一个示例,并且可由资源监测工具100监测和存储任何类型的性能度量或其它信息。
[0075] 如图所示,资源监测工具100可以将这些性能度量存储在表500中。表500可以包括多行和多列。每行可以存储特定测试VM的性能度量和其它数据。每列可以存储测试VM的特定类型的信息。表500可以包括列502,该列存储每个测试VM的标识符。该标识符可为唯一地识别测试VM的任一值。例如,标识符可为数值诸如“00001”。
[0076] 表500还可以包括列504,该列存储描述了分配给测试VM的计算资源的配置信息。该配置信息可以包括描述了分配给测试VM的计算资源诸如分配给测试VM的存储器、分配给测试VM的处理功率、分配给测试VM的存储装置、分配给测试VM的网络资源、测试VM的数据处理架构等的任何信息。例如,如图所示,列504可以包含以下信息:“所分配的存储器(字节数);处理功率(计算单元);存储装置(字节数);架构(位数)”。例如,对于测试VM“00001”来说,列504可以包括“1.7GB”的分配存储器、“5CU”的处理功率、“320GB”的存储装置和“32位”的架构。
[0077] 表500还可以包括存储托管测试VM的计算机系统的位置信息的列506和508。列506可以包含测试VM的区域或地理信息,诸如区域或地理标识和描述。例如,对于测试VM“00001”来说,列506可以包含“地理位置1”的位置(如图3A中所引用)。列508可以包含特定位置的附加位置信息,诸如包含托管测试VM的计算机系统的子区域或数据中心。
例如,对于测试VM“00001”来说,列508可以包括“数据中心A”,指示计算机系统托管测试VM“00001”。
[0078] 表500还可以包括列510,该列存储托管测试VM的计算机系统的标识符。该标识符可为唯一地识别计算系统的任一值。例如,标识符可为计算机系统的介质访问控制(MAC)地址。例如,对于测试VM“00001”来说,列510可以包含值“00:A0:C9:14:C8:29”,所述MAC地址是十六进制的。
[0079] 表500还可以包括列512,该列存储由测试VM所执行的测试的时间和日期信息。所述时间和日期信息可以包括在执行测试时、在收集性能度量时等等情况下所识别的任何信息。例如,如图所示,列512可以包含作为“年月日”的日期和作为“小时:分:秒”的时间。例如,对于测试VM“00001”来说,列512可以包含“2013年5月1日”的日期和“12:15:06的时间。
[0080] 表500还可以包括存储由测试VM所收集的性能度量的列514、516、518和520。列514可以存储与处理器性能相关的性能度量。处理器性能可为通过特定基准测试所产生的任一值。例如,对于测试VM“00001”来说,列514可以包含值“1025”,所述值对应于特定基准测试的分数。列516可以存储与存储器性能测试相关的性能度量。例如,如图所示,列516可以包含以下性能度量:“页面更新速度(秒);等待时间(秒)”。例如,对于测试VM“00001”来说,列516可以包含“5”秒的页面更新速度和“3”秒的等待时间。
[0081] 列518可以存储与I/O性能测试相关的性能度量。例如,如图所示,列518可以包含以下性能度量:“每秒输入/输出;等待时间(秒)”。例如,对于测试VM“00001”来说,列518可以包含“100,000”的IOPS和“10”秒的等待时间。列520可以存储与网络性能测试相关的性能度量。例如,如图所示,列520可以包含以下性能度量:“网络带宽(每秒兆比特数);丢失的包数量;等待时间(秒)”。例如,对于测试VM“00001”来说,列520可以包含“9.8”Mbit/s的网络带宽、“10”的丢失的包数量和“3”秒的等待时间。
[0082] 表500还可包括可以存储任何附加信息的列522。例如,列可以包含信息诸如测试持续时间、所执行的基准测试的识别、实施资源监测工具100的系统的识别等。
[0083] 在418中,资源监测工具100可以确定是否测试附加的虚拟机配置。为了获取计算机资源服务302的计算机资源的完整图像,资源监测工具100可以执行测试和监测测试VM 324、326和328的不同配置的性能度量,诸如特定计算机资源(例如,处理功率、存储器、I/O资源、网络带宽等)的不同供应。
[0084] 在420中,资源监测工具100可以确定在地理位置中是否存在附加的数据中心。例如,资源监测工具100可以确定也需要测试数据中心B 310。针对数据中心B 310,资源监测工具100可以重复进行以上的过程。这样,资源监测工具100可以确定和监测地理位置1 304中的所有数据中心的性能度量。
[0085] 在422中,资源监测工具100可以确定是否存在附加的地理位置。例如,资源监测工具100可以确定,需要测试地理位置2 306。针对地理位置306的数据中心C 312、数据中心D 314和数据中心E 316,资源监测工具100可以重复进行以上的过程。这样,资源监测工具100可以确定和监测地理位置1 304和地理位置2 306两者中的所有数据中心的性能度量。
[0086] 资源监测工具100可以继续监测随时间推移的性能度量。因此,资源监测工具100可以确定随时间推移的性能度量并且确定这些性能度量随时间推移如何变化。
[0087] 在422之后,该过程可以结束、重复或回到任一点。
[0088] 在上述实现方式中,由资源监测工具100所收集的性能度量可以用于与计算机资源服务相关的各种过程。在实现方式中,如上所述,这些性能度量可以用于确定计算机资源服务302中的哪些计算机系统应当支持MI、计算机资源服务302的计算机资源的定价、关于计算机资源服务302的计算机系统的更新的决定等。
[0089] 在上述实现方式中,资源监测工具100可以继续监测随时间推移的性能度量。因此,资源监测工具100可以确定随时间推移的性能度量并且确定这些性能度量随时间推移如何变化。此外,在一段时期后,资源监测工具100可以结束测试VM以使得计算机资源服务的用户能够利用计算资源。
[0090] 图6图示了用于计算装置600的硬件配置的示例,该计算装置实现可以用于执行上述过程中的一者或多者的资源监测工具100。虽然图6图示了计算装置600中所包含的各种组件,但图6图示了计算装置的一个示例并且可以添加附加的组件并且可以移除现有组件。
[0091] 如图6所示,计算装置600可以包括具有不同的核心配置和时钟频率的一个或多个处理器602。计算装置600还可以包括一个或多个存储器装置604,该一个或多个存储器装置在计算装置600的操作期间充当主存储器。例如,在操作期间,可以将资源监测工具100的复制品存储在一个或多个存储器装置604中。计算装置600还可以包括一个或多个外围接口606诸如键盘鼠标触摸板、计算机屏幕、触摸屏等,该一个或多个外围接口用于使得人能够与计算装置600交互并且操作计算装置600。
[0092] 计算装置600还可以包括用于通过一个或多个网络通信的一个或多个网络接口608,诸如以太网适配器、无线收发机或串行网络组件,该一个或多个网络用于使用协议来通过有线或无线介质通信。计算装置600还可以包括具有不同物理尺寸和存储容量的一个或多个存储装置610诸如快闪驱动器硬盘驱动器、随机存取存储器等,该一个或多个存储装置用于存储由一个或多个处理器602实施的数据诸如图像、文件和程序指令。
[0093] 此外,计算装置600还可以包括一个或多个软件程序612诸如资源监测工具100。一个或多个软件程序612可以包括导致一个或多个处理器602执行本文所述过程的指令。
可以将一个或多个软件程序612的复制品存储在一个或多个存储器装置604中和/或存储在一个或多个存储装置610中。同样地,可以将由一个或多个软件程序612所利用的数据例如性能数据存储区114存储在一个或多个存储器装置604中和/或存储在一个或多个存储装置610中。
[0094] 在实现方式中,计算装置600可以通过网络616与一个或多个远程用户装置614和计算机资源服务618通信。一个或多个远程用户装置614可为任何类型常规计算装置。例如,一个或多个远程用户装置614可为台式机、笔记本电脑、服务器等或移动装置诸如智能电话、平板电脑、蜂窝电话、个人数字助理等。网络616可为任何类型的网络诸如局域网、广域网、虚拟专用网络、互联网、内联网、外联网、公用交换电话网、红外网络、无线网络以及它们的任何组合。网络616可以使用多种可商购获得的协议诸如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk中的任一种来支持通信。网络616可为例如局域网、广域网、虚拟专用网络、互联网、内联网、外联网、公用交换电话网、红外网络、无线网络以及它们的任何组合。
[0095] 在实现方式中,计算装置600可以通过网络616与一个或多个用户装置614和计算机资源服务618交换数据。例如,计算装置600可以从一个或多个用户装置614接收对性能度量中的一者或多者的请求。
[0096] 计算装置600和资源监测工具100可以实现为至少一个服务或Web服务的一部分,诸如可为面向服务架构的一部分。如上所述,资源监测工具100可以实现接口例如Web服务API。计算装置600可以在至少一个服务或Web服务的操作期间通过Web服务API与一个或多个用户装置614交换数据。服务诸如Web服务可以使用任何适当类型的消息传送方式诸如通过使用呈可扩展标记语言(XML)格式的消息来通信并且使用适当的协议诸如SOAP(源自“简单对象访问协议”)来交换。由此类服务提供或实施的过程可以采用任何适当的语言诸如Web服务描述语言(WSDL)来编写。使用语言诸如WSDL实现了诸如在各种SOAP框架中自动生成客户端侧代码的功能。
[0097] 在实现方式中,可以将计算装置600用作Web服务器架构的一部分。在Web服务器架构中,计算装置600可以运行多种服务器或中间层应用中的任一种,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用服务器。计算装置600还能够响应于来自一个或多个远程用户装置614的请求而实施程序或脚本,如通过实施可以实现为以任何编程语言(如Java.RTM.、C、C#或C++)或任何脚本语言(如Perl、Python或TCL)及其组合编写成的一个或多个脚本或程序的一个或多个Web应用。计算装置600还可以包括数据库服务器,包括但不限于可从Oracle.RTM.、Microsoft.RTM.、Sybase.RTM.和IBM.RTM.商购获得的数据库服务器。
[0098] 计算装置600可以包括多种数据存储区以及如上所述的其它存储器和存储介质。这些可以驻留在不同的位置,诸如位于计算机中的一者或多者的局部位置的存储介质上(和/或驻留于其中)或远离网络上的任何或全部计算机。在一些实现方式中,信息可驻留在本领域技术人员熟悉的存储区域网络(“SAN”)中。类似地,可以将用于执行归属于计算机、服务器或其它网络装置的功能的任何必要文件适当地存储在本地和/或远程存储。
[0099] 在实现方式中,并不需要使如上所述计算装置600的组件封闭在单个封闭物内或甚至彼此紧邻定位。本领域技术人员将认识到上述元件部分仅仅是示例,因为计算装置600可以包括用于执行所公开实现方式的任何类型的硬件元件部分,包括任何必要的随附固件或软件。计算装置600还可以由电子电路组件或处理器诸如专用集成电路(ASIC)或现场可编程阵列(FPGA)部分地或整体地实现。
[0100] 本公开的实施方案可以根据以下条款进行描述:
[0101] 1.一种存储指令的非暂时性计算机可读存储介质,所述指令用于导致一个或多个处理器执行用于确定计算机资源服务的性能的方法,所述方法包括:
[0102] 确定在上面测试所述计算机资源服务的所述性能的一组计算机系统,所述组的计算机系统包括第一计算机系统中的至少一者和第二计算机系统中的至少一者,其中所述第一计算机系统位于第一位置并且所述第二计算机系统位于第二位置;
[0103] 在所述组的计算机系统中的每个计算机系统上启动至少一个虚拟机,其中每个计算机系统上的所述至少一个虚拟机根据第一配置进行配置;
[0104] 确定在所述组的计算机系统中的每个计算机系统上实施的所述至少一个虚拟机的性能度量;以及
[0105] 对于所述至少一个虚拟机来说,存储包括所述性能度量、所述至少一个虚拟机的所述第一配置和实施所述至少一个虚拟机的每个计算机系统的位置信息的记录。
[0106] 2.如条款1所述的非暂时性计算机可读存储介质,其中确定所述组的计算机系统包括:
[0107] 确定所述第一计算机系统包括具有第一硬件配置的至少一个计算机系统和具有第二硬件配置的至少一个计算机系统;以及
[0108] 为了被包括在所述组的计算机系统中,选择具有所述第一硬件配置的所述至少一个计算机系统和具有所述第二硬件配置的所述至少一个计算机系统。
[0109] 3.如条款1所述的非暂时性计算机可读存储介质,所述方法还包括:
[0110] 在所述组的计算机系统中的每个计算机系统上启动至少一个附加虚拟机,其中所述至少一个附加虚拟机具有不同于所述第一配置的配置;
[0111] 监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个附加虚拟机的附加性能度量;以及
[0112] 存储所述附加性能度量。
[0113] 4.如条款1所述的非暂时性计算机可读存储介质,所述方法还包括:
[0114] 将监测代理安装在所述组的计算机系统中的每个计算机系统上的所述至少一个虚拟机上,其中所述监测代理收集所述性能度量的一部分。
[0115] 5.一种用于确定计算机资源服务的性能的计算机实现的方法,所述方法包括:
[0116] 确定在上面测试所述计算机资源服务的所述性能的一组计算机系统,其中所述组的所述计算机系统中的每个计算机系统均表示所述计算机系统的位置分布和所述计算机系统的所述计算机资源的差异中的至少一者;
[0117] 在所述组的所述计算机系统中的每个计算机系统上启动至少一个虚拟机;
[0118] 由处理器监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个虚拟机的性能度量;以及
[0119] 将所述性能度量存储在计算机可读存储介质中。
[0120] 6.如条款5所述的计算机实现的方法,所述方法还包括:
[0121] 将监测代理安装在所述组的所述计算机系统中的每个计算机系统上的所述至少一个虚拟机上,其中所述监测代理收集所述性能度量的一部分。
[0122] 7.如条款6所述的计算机实现的方法,其中监测所述性能度量包括:
[0123] 从所述监测代理接收性能度量的所述部分。
[0124] 8.如条款5所述的计算机实现的方法,其中所述性能度量包括处理器性能、存储器性能、输入/输出性能和网络通信性能中的至少一者。
[0125] 9.如条款5所述的计算机实现的方法,所述方法还包括:
[0126] 至少部分基于所述性能度量来确定具有可用计算机资源的所述计算机系统中的一个;以及
[0127] 使现有的虚拟机移动到所述计算机系统中的所述一个。
[0128] 10.如条款5所述的计算机实现的方法,所述方法还包括:
[0129] 至少部分基于所述性能度量来确定需要升级的所述计算机系统中的一个;以及[0130] 提供所述所需要的升级的通知。
[0131] 11.如条款5所述的计算机实现的方法,所述方法还包括:
[0132] 通过web服务协议来接收提供一组所述性能度量的请求;
[0133] 至少部分基于所述请求来从存储于所述计算机可读存储介质中的所述性能度量检索所述组的所述性能度量;以及
[0134] 向所述请求的发起者提供所述组的性能度量。
[0135] 12.如条款5所述的计算机实现的方法,所述方法还包括:
[0136] 接收在所述计算机资源服务中启动虚拟机的请求;以及
[0137] 至少部分基于所述性能度量来从所述计算机系统中确定将在上面启动所述虚拟机的至少一个计算机系统。
[0138] 13.如条款5所述的计算机实现的方法,其中所述计算机系统的第一部分位于第一地理位置并且所述计算机系统的第二部分位于第二地理位置,以及
[0139] 其中所述组的所述计算机系统包括来自所述第一部分的至少一个计算机系统和来自所述第二部分的至少一个计算机系统。
[0140] 14.如条款5所述的计算机实现的方法,所述方法还包括:
[0141] 在所述组的所述计算机系统中的每个计算机系统上启动至少一个附加虚拟机,其中所述至少一个附加虚拟机具有不同于所述至少一个虚拟机的配置;
[0142] 由所述处理器监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个附加虚拟机的附加性能度量;以及
[0143] 将所述附加性能度量存储在所述计算机可读存储介质中。
[0144] 15.一种用于确定计算机资源服务的性能的系统,所述系统包括:
[0145] 至少一个存储器装置,所述至少一个存储器装置包括指令;
[0146] 网络接口,所述网络接口被配置成与所述计算机资源服务通信,所述计算机资源服务包括计算机系统;以及
[0147] 至少一个处理器,所述至少一个处理器耦合到至少一个存储器装置和网络接口并且被配置成实施所述指令以执行包括以下步骤的方法:
[0148] 确定在上面测试所述计算机资源服务的所述性能的一组所述计算机系统,其中所述组的所述计算机系统中的每个计算机系统均表示所述计算机系统的位置分布和所述计算机系统的计算机资源的差异中的至少一者;
[0149] 在所述组的所述计算机系统中的每个计算机系统上启动至少一个虚拟机;
[0150] 通过所述网络接口监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个虚拟机的性能度量;以及
[0151] 将所述性能度量存储在计算机可读存储介质中。
[0152] 16.如条款15所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
[0153] 将监测代理安装在所述组的所述计算机系统中的每个计算机系统上的所述至少一个虚拟机上,
[0154] 通过所述网络接口从所述监测代理接收所述性能度量的一部分。
[0155] 17.如条款16所述的系统,其中所述监测代理包括用以在所述至少一个虚拟机上实施并且收集所述性能度量的指令,所述性能度量包括处理器性能、存储器性能、输入/输出性能和网络通信性能中的至少一者。
[0156] 18.如条款15所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
[0157] 至少部分基于所述性能度量来确定具有可用计算机资源的所述计算机系统中的一个;以及
[0158] 使现有的虚拟机移动到所述计算机系统中的所述一个。
[0159] 19.如条款15所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
[0160] 至少部分基于所述性能度量来确定需要升级的所述计算机系统中的一个;以及[0161] 提供所述所需要的升级的通知。
[0162] 20.如条款15所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
[0163] 通过所述网络接口接收提供一组所述性能度量的请求;
[0164] 至少部分基于所述请求来从存储于所述计算机可读存储介质中的所述性能度量检索所述组的所述性能度量;以及
[0165] 通过所述网络接口向所述请求的发起者提供所述组的性能度量。
[0166] 21.如条款15所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
[0167] 接收在所述计算机资源服务中启动虚拟机的请求;以及
[0168] 至少部分基于所述性能度量来从所述计算机系统中确定将在上面启动所述虚拟机的至少一个计算机系统。
[0169] 22.如条款15所述的系统,其中所述计算机系统的第一部分位于第一地理位置并且所述计算机系统的第二部分位于第二地理位置,以及
[0170] 其中所述组的所述计算机系统包括来自所述第一部分的至少一个计算机系统和来自所述第二部分的至少一个计算机系统。
[0171] 23.如条款15所述的系统,其中所述至少一个处理器还被配置成实施所述指令以执行还包括以下步骤的所述方法:
[0172] 在所述组的所述计算机系统中的每个计算机系统上启动至少一个附加虚拟机,其中所述至少一个附加虚拟机具有不同于所述至少一个虚拟机的配置;
[0173] 监测在所述组的计算机系统中的每个计算机系统上实施的所述至少一个附加虚拟机的附加性能度量;以及
[0174] 存储所述附加性能度量的记录。
[0175] 本公开的实施方案还可以根据以下条款进行描述:
[0176] 1.一种存储指令的非暂时性计算机可读存储介质,所述指令用于导致一个或多个处理器执行用于访问计算机资源服务的性能的方法,所述方法包括:
[0177] 接收将被包括在对与所述计算机资源服务相关的性能度量的请求中的一个或多个过滤器,其中所述一个或多个过滤器包括一个或多个参数,所述一个或多个参数用于确定响应于所述请求将提供所述性能度量中的哪些;
[0178] 通过网络向系统发送所述请求,所述系统监测在所述计算机资源服务的计算机系统上实施的测试虚拟机的所述性能度量;
[0179] 通过所述网络接收响应,所述响应包括由所述一个或多个过滤器所确定的一组所述性能度量,其中所述组的性能度量包括与所述测试虚拟机的配置相关的性能度量;
[0180] 至少部分基于所述组的性能度量来从所述测试虚拟机的所述配置确定配置;以及[0181] 在所述计算机资源服务中根据所述配置启动虚拟机。
[0182] 2.如条款1所述的非暂时性计算机可读存储介质,其中所述一个或多个参数包括所述计算机资源服务的所述计算机系统的位置、所述计算机资源服务的所述计算机系统的配置、所述测试虚拟机的所述配置、由所述测试虚拟机所执行的基准测试、性能度量的类型、日期、时间、与所述性能度量相关的统计值中的至少一者。
[0183] 3.如条款1所述的非暂时性计算机可读存储介质,从所述测试虚拟机的所述配置确定所述配置包括:
[0184] 确定所述虚拟机的所需性能;
[0185] 将所述所需性能与所述组的性能度量进行比较;以及
[0186] 至少部分基于所述比较来确定所述测试虚拟机的所述配置。
[0187] 4.如条款1所述的非暂时性计算机可读存储介质,所述方法还包括:
[0188] 至少部分基于所述组的性能度量来从所述计算机系统中确定将在上面启动所述虚拟机的至少一个计算机系统。
[0189] 5.如条款1所述的非暂时性计算机可读存储介质,所述方法还包括:
[0190] 至少部分基于所述组的性能度量来确定所述计算机系统的启动所述虚拟机所在的至少一个位置。
[0191] 6.一种用于访问计算机资源服务的性能的计算机实现的方法,所述方法包括:
[0192] 通过网络接口接收对所述计算机资源服务的性能的请求,其中所述请求包括一个或多个参数,所述一个或多个参数用于确定响应于所述请求将要提供的性能度量;
[0193] 至少部分基于所述一个或多个参数来确定一组所述性能度量,其中所述组的所述性能度量表示所述计算机资源服务中的计算机系统的位置分布和所述计算机系统的所述计算机资源的差异中的至少一者;以及
[0194] 通过所述网络接口发送响应,所述响应包括所述组的所述性能度量。
[0195] 7.如条款6所述的计算机实现的方法,所述方法还包括:
[0196] 从在所述计算机资源服务的所述计算机系统上实施的测试虚拟机确定所述性能度量。
[0197] 8.如条款6所述的计算机实现的方法,所述方法还包括:
[0198] 响应于发送所述响应,接收在与所述组的性能度量相关的至少一个计算机系统上启动至少一个虚拟机的请求。
[0199] 9.如条款6所述的计算机实现的方法,其中所述网络接口为web服务接口。
[0200] 10.如条款6所述的计算机实现的方法,其中所述一个或多个参数包括所述计算机资源服务的所述计算机系统的位置、所述计算机资源服务的所述计算机系统的配置、所述测试虚拟机的所述配置、由所述测试虚拟机所执行的基准测试、性能度量的类型、日期、时间、与所述性能度量相关的统计值中的至少一者
[0201] 11.一种用于访问计算机资源服务的性能的计算机实现的方法,所述方法包括:
[0202] 通过网络接口提供对所述计算机资源服务的性能的请求,其中所述请求包括一个或多个参数,所述一个或多个参数用于确定响应于所述请求将要提供的性能度量;
[0203] 接收一组所述性能度量,其中所述组的所述性能度量表示所述计算机资源服务中的计算机系统的位置分布和所述计算机系统的所述计算机资源的差异中的至少一者;以及[0204] 至少部分基于所述组的性能度量来执行与所述计算机资源服务相关的动作。
[0205] 12.如条款11所述的计算机实现的方法,其中执行所述动作包括:
[0206] 在所述计算机资源服务的所述计算机系统中确定第一计算机系统和第二计算机系统,其中所述第一计算机系统位于第一位置并且所述第二计算机系统位于第二位置;
[0207] 至少部分基于所述组的性能度量来确定所述第一计算机系统以所需性能操作;以及
[0208] 在所述第一计算机系统的至少一者上启动至少一个虚拟机。
[0209] 13.如条款11所述的计算机实现的方法,其中执行所述动作包括:
[0210] 在所述计算机资源服务的所述计算机系统中确定第一计算机系统和第二计算机系统,其中所述第一计算机系统包括第一配置并且所述第二计算机系统包括第二配置;
[0211] 至少部分基于所述组的性能度量来确定所述第一计算机系统以所需性能操作;以及
[0212] 在所述第一计算机系统的至少一者上启动至少一个虚拟机。
[0213] 14.如条款11所述的计算机实现的方法,其中执行所述动作包括:
[0214] 确定所述测试虚拟机的第一配置和所述测试虚拟机的第二配置;
[0215] 至少部分基于所述组的性能度量来确定所述第一配置以所需性能操作;以及[0216] 根据所述第一配置来在所述计算机系统上启动至少一个虚拟机。
[0217] 15.如条款11所述的计算机实现的方法,其中执行所述动作包括:
[0218] 至少部分基于所述组的所述性能度量来确定具有可用计算机资源的所述计算机系统中的一个;以及
[0219] 使现有的虚拟机移动到所述计算机系统中的所述一个。
[0220] 16.一种访问计算机资源服务的性能的系统,所述系统包括:
[0221] 至少一个存储器装置,所述至少一个存储器装置包括指令;
[0222] 显示装置;以及
[0223] 至少一个处理器,所述至少一个处理器耦合到至少一个存储器装置和所述显示装置并且被配置成实施所述指令以执行包括以下步骤的方法:
[0224] 发送对所述计算机资源服务的性能的请求,其中所述请求包括一个或多个参数,所述一个或多个参数用于确定响应于所述请求将提供性能度量中的哪些;
[0225] 接收响应,所述响应包括由所述一个或多个参数所确定的一组所述性能度量;以及
[0226] 通过所述显示装置输出所述组的性能度量的一部分。
[0227] 17.如条款16所述的系统,所述系统还包括:
[0228] 耦合至所述至少一个处理器的输入装置,其中所述输入装置接收所述一个或多个参数。
[0229] 18.如条款16所述的系统,所述系统还包括:
[0230] 网络装置,所述网络装置被配置成与监测所述性能度量的系统通信,其中所述请求通过web服务协议发送至所述系统。
[0231] 19.如条款16所述的系统,所述系统还包括:
[0232] 网络装置,所述网络装置被配置成与所述计算机资源服务的计算机系统通信,其中所述至少一个处理器被配置成监测所述性能度量。
[0233] 20.如条款16所述的系统,所述系统还包括:
[0234] 网络装置,所述网络装置被配置成与所述计算机资源服务的计算机系统通信,其中所述至少一个处理器被配置成与监测代理通信并且通过所述网络装置从所述监测代理收集所述性能度量的一部分。
[0235] 21.如条款16所述的系统,其中所述至少一个处理器被配置成实施所述指令以执行还包括以下步骤的所述方法:
[0236] 确定所述测试虚拟机的第一配置和所述测试虚拟机的第二配置;
[0237] 至少部分基于所述组的性能度量来确定所述第一配置以所需性能操作;以及[0238] 根据所述第一配置来在所述计算机系统上启动至少一个虚拟机。
[0239] 上述某些实现方式可作为计算机应用或程序执行。计算机程序可以多种活动和不活动的形式存在。例如,计算机程序可以作为可由以源码、目标码、可执行码或其它格式的程序指令组成的一个或多个软件程序、软件模块或两者;固件程序;或硬件描述语言(HDL)文件而存在。上述任一项都能以压缩或非压缩形式在包括计算机可读存储装置和介质以及信号的计算机可读存储介质上实施。计算机可读存储装置和介质的示例包括传统的计算机系统RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦可编程ROM)、EEPROM(电可擦可编程ROM)和磁盘或光盘或磁带。计算机可读信号的示例,不管是否使用载波来调制,都是托管或运行本教义的计算机系统可配置以访问的信号,包括通过互联网或其它网络下载的信号。前述具体例子包括在CD-ROM上或通过互联网下载的计算机程序的可执行软件程序的分配。在某种意义上,互联网本身作为抽象实体是计算机可读介质。通常,计算机网络也是如此。
[0240] 尽管已参照本发明的实现方式描述了这些教义,但本领域技术人员能够在不脱离真实精神和范围的情况下,对所述实现方式做各种修改。本文所用的术语和描述仅以说明的方式来陈述而非意味着限制。具体来说,虽然通过例子描述了方法,但该方法的步骤可按与所示不同的顺序或同时执行。此外,在某种程度上术语“包括(including)”、“包括(includes)”、“具有(having)”、“具有(has)”、“带有(with)”或其变体在详细描述和权利要求书中使用,这些术语旨在以类似于术语“包括(comprising)”的方式是包括性的。如本文所使用,关于项目例如像A和B的列表的术语“......中的一者或多者”和“......中的至少一者”意指A单独、B单独或A和B。另外,除非另有说明,否则术语“组”应被解释为“一个或多个”。而且,术语“耦合(couple)”或者“耦合(couples)”意图意指间接或者直接的连接。因此,如果第一装置耦合至第二装置,则该连接可能是直接连接或通过其它装置、组件和连接件的间接连接。
[0241] 为了简单和说明的目的,以上主要通过参考本发明的各种实现方式的示例来描述本教义的原理。然而,本领域技术人员应容易认识到,相同的原理同样适用于许多不同类型的信息和系统并可在这些信息和系统中实现,以及任何这样的变化都不偏离本教义的真实精神和范围。此外,在先前详细描述中,对图示了各种实现方式的特定示例的附图进行参考。可对各种实现方式的示例进行电子、机械、逻辑和结构的变化而不偏离本教义的精神和范围。因此,以上详细描述不被认为是限制性的,并且本教义的范围通过随附权利要求书及其等效物来限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈