用于云计算环境的峰值性能已知计费的制作方法

文档序号:6484656阅读:121来源:国知局
用于云计算环境的峰值性能已知计费的制作方法
【专利摘要】在一些示例中,描述了一种方法,该方法可以包括由计算装置从与用户达成的服务级别协议(SLA)中确定在云计算环境中用户执行至少一个应用每单位时间可以消耗的云计算环境中计算机资源的上限。该方法还可以包括在SLA下,每时间段收取固定费用。
【专利说明】用于云计算环境的峰值性能已知计费
【背景技术】
[0001 ] 除非本文中另外表明,否则本文描述的内容不是本申请中的权利要求书的现有技术并且不因包括在本部分中而被认为是现有技术。
[0002]一些云计算环境是基于CPU执行时间来实现基于使用的计费。例如,在MICROSOFTWINDOWS AZUER云服务中,对于超小型计算的情形,计价是每小时0.05美元,对于小型计算的情形,计价是每小时0.12美元,对于中型计算的情形,计价是每小时0.24美元,对于大型计算的情形,计价是每小时0.48美元,对于超大型计算的情形,计价是每小时0.96美元,这些情形可以分别由单个IGHz CPU、单个1.6GHz CPU、两个1.6GHz CPU、四个1.6GHz CPU或八个1.6GHz CPU构成。
[0003]就面向数据应用而言,所需的CPU执行时间可以根据数据的量和性质而增加或减少,使得开发人员难以预先估计CPU执行时间进而估计费用。就用于从客户信息数据库提取优选客户的数据挖掘程序而言,例如,可能预先不知道客户信息数据库中相关数据的量,以致不可以预先估计挖掘所有相关数据所需的CPU执行时间进而不可以预先估计挖掘相关数据的费用。因此,虽然可以预先知道使用云计算环境的费率,但费用是不确定和/或不知道的,同时云计算环境的使用量也是不确定和/或不知道的。

【发明内容】

[0004]本文中描述的技术总体上涉及用于云计算环境的基于服务级别协议(SLA)的统一费率计价模型。
[0005]在一些示例中,描述了一种方法,该方法可以包括由计算装置从与用户达成的服务级别协议(SLA)中确定在云计算环境中用户执行至少一个应用每单位时间可以消耗的云计算环境中计算机资源的上限。该方法还可以包括在SLA下,每时间段收取固定费用。
[0006]在一些示例中,描述了一种计算机存储介质,该计算机存储介质存储有能够由计算装置执行来执行如下描述的操作的计算机可执行指令。该操作可以包括存储在云计算环境中用户执行至少一个应用每单位时间能够消耗的云计算环境中计算机资源的上限。该操作还可以包括测定每单位时间至少一个应用对计算机资源的消耗。该操作还可以包括确定每单位时间至少一个应用对计算机资源的消耗是否超过上限。该操作还可以包括响应于确定至少一个应用的消耗超过上限,减少对至少一个应用的计算机资源的分配。
[0007]在一些示例中,描述了一种云计算环境的后端系统。该后端系统可以包括SLA信息模块,该SLA信息模块包括能够被至少一个处理资源执行,从而在至少一个存储资源中存储在云计算环境中用户执行至少一个应用每单位时间能够消耗的计算机资源的上限的计算机可执行指令。该后端系统还可以包括资源计数器模块,该资源计数器模块包括能够被至少一个处理资源执行,以测定每单位时间至少一个应用对计算机资源的消耗的计算机可执行指令。该后端系统还可以包括优先权控制器模块,该优先权控制器模块包括能够被至少一个处理资源执行以进行以下步骤的计算机可执行指令:确定每单位时间至少一个应用对计算机资源的消耗是否超过上限;以及响应于确定至少一个应用的消耗超过上限,减少对至少一个应用的所算机资源的分配。
[0008]前述
【发明内容】
仅仅是示例性的,且意图并非为任何限制。除了上述示例性的方面、实施方式和特征之外,通过参考附图以及下面的详细描述,其它的方面、实施方式以及特征将变得明显。
【专利附图】

【附图说明】
[0009]在附图中:
[0010]图1是示例云计算环境的框图;
[0011]图2A至图2B是示出一些示例的基于服务级别协议(SLA)的统一费率计价模型的曲线图;[0012]图3是图1的云计算环境的后端系统的示例实施方式的框图;
[0013]图4示出可以在图1的云计算环境中实现的方法的示例流程图;
[0014]图5示出可以在图1的云计算环境中实现的另一种方法的示例流程图;以及
[0015]图6是示出被设置为用于峰值性能已知计费的示例计算装置的框图,
[0016]所有附图均根据本文描述的至少一些实施方式设置。
【具体实施方式】
[0017]在下面的【具体实施方式】中,参照形成其一部分的附图。在附图中,类似的符号通常标识类似的组件,除非上下文另外指明。在附图中,类似的附图标记通常表示类似部件,除非上下文有相反的说明。在详细的说明书、附图和权利要求中描述的例示性实施方式并非是限制性的。在不背离本文介绍的主题的精神或者范围的情况下,可以利用其它实施方式,并且可以进行其它改变。容易理解的是如这里总体描述并且在附图中例示的,本公开的多个方面可以按各种不同配置进行排列、替换、组合和设计,所有这些不同配置在这里是明确想得到的并且构成了本公开的一部分。
[0018]本文描述的一些实施方式总体上涉及用于云计算环境的基于SLA的统一费率计价模型。通常,例如,用户可以进入供应商(例如,云服务供应商)的SLA。SLA可以标识云计算环境中由该云计算环境中的用户执行一个应用或多个应用每单位时间可以消耗的计算机资源的上限。SLA还可以标识在SLA下每个周期被收取的固定费用。SLA的上限可以随时间在相对较高的值(当对计算机资源的需求预计相对较低时)和相对较低的值(当对计算机资源的需求预计相对较高时)之间变化。
[0019]当用户在云计算环境中执行应用时,可以测量应用所消耗的计算机资源并且可以将其与SLA下的上限进行比较。如果消耗峰值超过上限,则可以减少对应用分配的计算机资源,以保持消耗峰值低于上限。因此,根据一些实施方式,通过监控应用的消耗峰值,对于低于上限的任何计算机资源消耗量,可以对用户收取定期费用。
[0020]图1是根据本文描述的至少一些实施方式布置的示例云计算环境100的框图。尽管不需要,但云计算环境100可以包括AMAZON EC2型云计算环境。在图示实施方式中,云计算环境100包括网络102、如端系统104和后端系统106。
[0021]总体上,网络102可以包括使如端系统104和后端系统106能够彼此通彳目的Iv或多个广域网(WAN)和/或局域网(LAN)。在一些实施方式中,网络102包括互联网(包括通过多个WAN和/或LAN之间的逻辑和物理连接而形成的全球互联网)。替代地或另外地,网络102可以包括一个或多个蜂窝RF网络和/或一个或多个有线和/或无线网络,例如但不限于802.XX网络、蓝牙(Bluetooth)接入点、无线接入点、基于IP的网络等。网络102还可以包括使一种类型的网络能够与另一种类型的网络连接的服务器。
[0022]云计算环境100的前端系统104可以包括一个或多个客户装置108和对应的用户110。客户装置108中的每个可以执行被构造为通过网络102与后端系统106通信的应用(未示出)。在每个客户装置108上执行以与后端系统106通信的应用可以包括互联网浏览器或其它合适的应用。客户装置108中的每个可以包括但不限于台式计算机、膝上型计算机、移动电话、智能电话、个人数字助理(PDA)或其它合适的客户装置。
[0023]云计算环境100的后端系统106可以包括计算机资源112、用户110可访问的一个或多个应用114和使用应用116。举例来说而非限制地,计算机资源112可以包括诸如一个或多个中央处理单元(CPU)的处理资源、诸如一个或多个存储装置的存储资源、诸如网络接口控制器(NIC)或其它通信接口装置的其它资源和/或其它合适的计算机资源。
[0024]应用114可以包括数据处理应用、视频游戏和/或用户可能期望基于云的访问的几乎任何其它应用。在一些实施方式中,每个应用114可以由专用服务器(包括计算机资源112中包括的一个或多个CPU)执行,而在其它实施方式中,每个应用114可以在虚拟服务器上执行。
[0025]用户110可以广义地包括个体用户和/或包括一个或多个用户的组织。通常,用户110可以操作客户装置108来接入在后端系统106中包括的计算机资源112和应用114。
[0026]如以下更详细描述的,使用应用116可以被构造为在其中监控用户110执行的应用114对计算机资源112的使用。
[0027]在一些实施方式中,用户110中的每个可以进入与(例如)后端系统106和/或另一个实体的供应商达成的服务级别协议(SLA)。每个SLA可以标识云计算环境100中对应用户110执行至少一个应用114每单位时间可以消耗的计算机资源112的上限。每个SLA还可以标识向对计算机资源112的消耗在对应上限处或之下的对应用户110收取的每个周期的固定费用。
[0028]对于给定SLA的上限可以随时间变化,以既促进对计算机资源112的使用又防止用户110过度使用计算机资源112。在这点上,考虑图2A至图2B。图2A至图2B是示出根据本文描述的至少一些实施方式布置的一些示例性基于SLA的统一费率计价模型的曲线图。
[0029]在图2A的示例中,示出与各个第一、第二或第三SLA对应并且随时间变化的多个上限202、204、206。具体地讲,上限202、204、206中的每个在大约中午(例如,每天的12pm)出现的相对较低值和大约午夜(例如,每天的12am)出现的相对较高值之间变化。上限202、204、206中的每个的相对较低值可以出现在“核心营业时间”期间,例如对计算机资源112的需求预计相对较高的从大约8am至大约5pm的典型营业时间期间。上限202、204、206中的每个的相对较高值可以出现在“节约时间(economy time)”期间,例如对计算机资源112的需求预计相对较低的从大约5pm至大约8am的典型非营业时间期间。
[0030]图1的使用应用116可以监控用户110执行应用114时计算机资源112的每单位时间的消耗,以确定计算机资源112的消耗是否保持在用户110的对应SLA中包括的对应上限202、204或206处或者之下。当消耗超过上限202、204或206时,使用应用116可以被构造为减少向用户110执行应用114分配的计算机资源112,以确保计算机资源112的消耗保持在对应上限202、204或206处或者之下。
[0031]通过对用户110执行应用114每单位时间可以消耗的计算机资源112施加上限202、204、206,可以防止用户110过度使用计算机资源112从而损害其他用户110。通过施加随时间变化的上限202、204、206(其中,上限202、204、206在核心营业时间期间相对较低而在节约时间期间相对较高),可以激励用户110将他们对计算机资源112的消耗转变到对计算机资源112的需求预计相对较低的典型非营业时间。
[0032]上限202、204、206中的每一个可以参照CPU峰值性能。也就是说,上限202、204、206中的每一个可以标识在第一、第二或第三SLA下允许的每单位时间的峰值CPU周期,例如,每秒的峰值CPU周期。
[0033]替代地或者另外地,可以在参照I/O峰值性能的第一、第二或第三SLA中标识与上限202、204、206具有相同或类似曲率和周期性的类似时变上限。在这些和其它示例中,参照I/O峰值性能的类似上限中的每一个可以标识分别在第一、第二或第三SLA下允许的每单位时间的峰值I/O数据量,例如,每秒的峰值I/O数据量。
[0034]除了标识上限202、204、206之外,第一、第二和第三SLA还可以标识可以相应的每个周期的固定费用,例如对高达对应上限202、204、206的计算机资源112的消耗所支付的固定的每天、每周或每月的费用。只是举例来说而非限制性地,在第一 SLA中标识的对应于上限202的费用可以是第一值,例如每月大约20美元,而在第二 SLA中标识的对应于上限204的费用可以是高于第一值的第二值,例如每月大约30美元,并且在第三SLA中标识的对应于上限206的费用可以是高于第二值的第三值,例如每月大约40美元。更一般地说,在具有第一上限(例如,上限202)的SLA下的定期费用可以少于具有高于第一上限的第二上限(例如,上限204或206)的SLA下的定期费用。对在SLA下使用计算机资源112收取定期费用,可以促进对计算机资源112的使用,因为用户110将不担忧随使用增加而增加的费用。
[0035]如在图2A中一样,图2B也示出多个上限208、210、212。上限208、210、212中的每个可以对应于各自的SLA并且可以参照CPU峰值性能。替代地或者另外地,可以在参照I/O峰值性能的各个SLA中标识与上限208、210、212具有相同或类似曲率和周期性的类似时
变上限。
[0036]与周期为24小时的图2A的上限202,204,206相反,图2B的上限208、210、212的周期为一年。此外,图2B的上限208、210、212中的每个在对应于企业核算时间段的年度第一时间期间相对较低,而在不同于年度第一时间的年度第二时间期间相对较高。
[0037]例如,在美国,联邦所得税通常在每年的4月15日到期。如此,在每年4月15日之前的时间内,可以预期在4月15日之前对计算机资源112的需求增加,在4月15日之后需求预计快速降低至最小值。为了防止或减少在对应核算时间段期间将过度使用计算机资源112的可能性,在需求预计相对较高的核算时间段期间(例如,在图2B的例子中,从大约I月I日至大约4月30日)的上限208、210、212,因此在核算时间段期间比在对计算机资源112的需求预计相对较低的年度其他时间期间(例如,从大约5月I日至大约12月31日)相对更低。[0038]标识上限208、210、212中的每个的各个SLA还可以标识由对计算机资源112的消耗高达对应上限208、210、212的用户110或者代表该用户110支付的对应的每个周期的固定费用。在SLA中标识的与上限208相关的每个周期的固定费用可以比在SLA中标识的与上限210相关的每个周期的固定费用相对更低,并且在SLA中标识的与上限210相关的每个周期的固定费用可以比在SLA中标识的与上限212相关的每个周期的固定费用相对更低。
[0039]虽然图2A示出周期均为24小时的上限202、204、206并且图2B示出周期均为I年的上限208、210、212,但在其它实施方式中,SLA中标识的上限可以具有不同的周期,例如但不限于每天、每周、每月、每半个月、每两个月、每季度、每半年、每年、每两年或其它周期。替代地或者另外地,可以在组合了具有不同周期的两个或更多个上限的对应SLA中标识更复杂的上限。例如,图2A的上限202、204、206中的一个可以被添加到图2B的上限208、210、212中的一个中或者以其它方式与上限208、210、212中的一个组合,以得到如图2A中所示总体上每天变化并且还具有如图2B中所示每年变化的日平均值(或日最小值或日最大值等)的上限。
[0040]图3是根据本文描述的至少一些实施方式布置的图1的云计算环境100的后端系统106的示例实施方式的框图。如图3中所示,后端系统106的计算机资源112可以包括存储装置302和304、网络和/或网络装置306和308以及物理服务器310、312、314或其它计算装置。存储装置302、304可以被实现为计算机资源112内的主存储器并且可以包括用于数字数据的几乎任何类型的存储装置,例如,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM (EEPR0M)、只读光盘存储器(⑶-ROM)或其它光盘存储器、磁盘存储器、固态存储器或其它存储装置。网络和/或网络装置306和308可以包括一个或多个开关、路由器、通信接口和/或有助于计算机资源112中的装置进行通信的其它装置。物理服务器310、312、314可以均包括一个或多个CPU和/或本地存储装置。因此,计算机资源112的处理资源可以包括(例如)物理服务器310、312、314的CPU,并且计算机资源112的存储资源可以包括存储装置302和304和/或物理服务器310、312、314的本地存储装置。
[0041]可以在计算机资源112上设置虚拟化基础架构316,用于管理对计算机资源112的访问或“虚拟化”计算机资源112。在这点上,虚拟化基础架构316可以被构造为向虚拟机320 (包括虚拟存储器318A和虚拟CPU 318B)分配虚拟化资源318。虚拟机320可以被构造为使用虚拟化资源318执行应用114。后端系统106可以包括通常以与虚拟机320相同的方式构造的一个或多个附加虚拟机322、324。虽然未示出,但每个虚拟机320、322、324可以附加地包括在上面运行应用114的操作系统(OS)。
[0042]虚拟化基础架构316和虚拟机320、322、324可以采用多种形式中的任一种,用于实践本文公开的实施方式。例如,虚拟化基础架构316和虚拟机320、322、324可以包括(但不限于)VMware ESX, VMware GSX, Xen 3.0 (或其它版本)或 KVM。
[0043]虚拟机320中的应用114可以使用虚拟化资源318,用于(例如)将数据从存储器读入内存,将数据从内存写入存储器和/或对数据执行操作。包含被写入到存储器的数据以及从存储器读取的数据的数据在图3中被标识为I/O数据326。
[0044]通过将例如虚拟存储器318A作为计算机资源112中一个或多个盘存储装置的全部或一部分的逻辑表示呈现给应用114和/或通过将计算机资源112中的一个或多个CPU的一些或全部CPU周期作为虚拟CPU 318B分配给应用114,虚拟化资源318可以使应用114不使用实际计算机资源112。虽然在图3中示出虚拟机320具有在虚拟化资源318上运行的单个应用114,但在其它实施方式中,虚拟机320可以包括在虚拟化资源318上运行的多个应用114。
[0045]组合参照图1和图3,使用应用116可以包括SLA信息模块328、资源计数器模块330和优先权控制器模块332,这些模块在下文中被统称为模块328、330、332。模块328、330,332中的每个可以包括计算机可执行指令,该计算机可执行指令能够由计算机资源112中的计算装置或处理资源执行以执行本文描述的操作。
[0046]例如,SLA信息模块328可以被配置为在计算机资源112的至少一个存储资源中存储用户110执行至少一个应用114每单位时间可以消耗的计算机资源112的上限。在一些实施方式中,SLA信息模块328存储在与多个用户110的SLA中标识的多个上限。例如,这些上限可以包括图2A至图2B的上限202、204、206、208、210、212中的一个或多个。
[0047]资源计数器模块330可以被配置为测定每单位时间至少一个应用114对计算机资源112 (用虚拟化资源318表示)的消耗。在一些实施方式中,资源计数器模块330通过截断至少一个应用114和虚拟化资源318之间的通信来测定消耗,虚拟化资源318包括虚拟存储器318A和虚拟CPU 318B。因此,资源计数器模块330可以既包括数据计数器330A又包括周期计数器330B,数据计数器330A被配置为测定应用114和虚拟存储器318A之间每单位时间的I/O数据326,并且周期计数器330B被配置为测定虚拟CPU 318B的每单位时间的CPU周期。
[0048]优先权控制器模块332可以以通信方式连接到资源计数器模块330和SLA信息模块328。因此,优先权控制器模块332可以被配置为:(例如)在上限随时间变化时考虑到当前时间,通过将来自资源计数器模块330的用户110的测定消耗与来自SLA信息模块328的用户110的上限进行比较,确定每单位时间至少一个应用114对计算机资源112的消耗是否超过上限。
[0049]另外,优先权控制器模块332可以被配置为响应于所确定的至少一个应用114的消耗超过上限,减少对至少一个应用114的计算机资源112的分配。替代地或者另外地,优先权控制器模块332可以被配置为响应于所确定的至少一个应用114的消耗低于上限,增加对至少一个应用114的计算机资源112的分配。
[0050]优先权控制器模块332在一些实施方式中通过升高或降低虚拟机320的优先级别来增加或减少计算机资源112的分配。在这些和其它实施方式中,虚拟机320的优先级别可以与将计算机资源112分配给虚拟机320的分配频度相关。因此,通过降低或升高虚拟机320的优先级别,可以以更低或更高的频度将计算机资源112分配给虚拟机320,使得至少一个应用114每单位时间对计算机资源112的消耗可以减少至低于上限或者在仍然保持在低于上限的同时增加。
[0051]通过管理虚拟机320、322、324的优先级别以减少或增加计算机资源112的分配,可以对用户110执行的应用114施加上限,而不引入物理上不同类型的机器。因此,可以在云计算环境例如图1的云计算环境100中实现计价方案,其中,与针对具有相对较低上限的SLA支付相对较低费用的用户110相比,针对具有相对较高上限的SLA支付相对较高费用的用户110被提供计算机资源112的相对较高分配。[0052]本文公开的一些实施方式可以促使计算机资源112的消耗自发转移至对计算机资源的需求可能低的时间段,例如,夜间或典型的非营业时间段。例如,如关于图2A至图2B描述的,图2A的上限202、204、206的值在晚上和夜间期间可以相对较高,这可以激励用户110因此计划将计算机资源112的消耗从核心营业时间或常规营业时间转移到包括晚上和夜间的节约时间。类似地,图2B的上限208、210、212的值在一年中不太忙的营业时间段(从大约5月至12月)期间相对较高,这可以激励用户110因此计划将否则可能出现在企业核算时间段期间(从I月至4月)的计算机资源112的消耗转移至一年中不太忙的营业时间段。
[0053]替代地或者另外地,本文公开的实施方式中的一些实施方式可以促使原本可能不情愿或不愿意进行转变的用户110转变到云计算。例如,鉴于云计算的一些计价方案是基于使用的,一些用户110可能难以或者不可能在这类计价方案下对在云计算服务的任何给定时间段期间将导致的费用量进行预测和预算,这继而可能阻止用户110转变到云计算。然而,根据本发明,可以针对云计算对用户110收取固定的周期性费用并且可以因此相应地以高确定度进行预算。
[0054]所公开实施方式中的一些可以提供计价模型,该计价模型对于具有高消耗费率的用户110和具有低消耗费率的用户110是公平的。实际上,用户110可以支付更高的费用来提供较高的消耗费率或者支付较低的费用来提供较低的消耗费率。
[0055]通过为云计算环境提供使用应用116 (包括模块328、330、332),可以在现有的云计算环境中实现所公开实施方式中的一些实施方式。因此,所公开实施方式中的一些实施方式可以在现有的云计算环境中实现,而不用更换云计算环境中现有的任何软件或硬件。
[0056]图4示出根据本文描述的至少一些实施方式布置的可以在图1的云计算环境100中实现的方法400的示例流程图。方法400可以全部或部分由(例如)图1或图3的后端系统106内的计算机资源112执行。方法400包括如块402和/或404中的一个或多个示出的各种操作、功能或动作。方法400可以开始于块402。
[0057]在块402中,计算装置从与用户达成的SLA中确定在云计算环境中用户执行至少一个应用每单位时间可以消耗的云计算环境中计算机资源的上限。计算装置可以包括图3的计算机资源112内的CPU,例如,图3的物理服务器310、312、314中的一个的CPU。可以通过图3的优先权控制器模块332在图3的SLA信息模块328中查找上限,来执行从与用户达成的SLA中确定上限的过程。如以上关于图2A至图2B描述的,上限可以随时间而不同。块402之后可以是块404。
[0058]在块404中,在SLA下,收取每个时间段的固定费用。固定费用例如可以是固定的每月费用并且可以对用户(例如,图1的用户110中的一个)收取固定费用。
[0059]本文公开的一些实施方式包括存储有计算机可执行指令的计算机存储介质,计算机可执行指令能够由计算装置执行以执行图4的方法400中包括的操作,例如,图4中的块402和/或404所例示的操作和/或其变形。计算机存储介质可以包括在图3的存储装置302,304的一个或多个中和/或图3的物理服务器310、312、314的一个或多个本地存储装置中。
[0060]本领域的技术人员应当理解,对于本文公开的这个和其它过程和方法,过程和方法中执行的功能可以按不同顺序实现。此外,概述的步骤和操作只是作为例子提供,并且步骤和操作中的一些可以被可选地组合成更少的步骤和操作,或者扩展成额外的步骤和操作,而不脱离所公开实施方式的本质。
[0061]例如,方法400还可以包括估计计算机资源的量以满足SLA,并且根据与计算机资源的总可用量相比的计算机资源估计量来确定固定费用。在这些和其它实施方式中,如果计算机资源的估计量相对高和/或如果计算机资源的总可用量与估计量相比相对低,则固定费用可以相对高。
[0062]替代地或者另外地,方法400还可以包括测定每单位时间至少一个应用消耗的计算机资源、确定每单位时间至少一个应用消耗的计算机资源超过上限、以及响应于该确定,减少分配给至少一个应用的计算机资源。尽管并不需要,但图1的使用应用116 (包括SLA信息模块328、资源计数器模块330和/或优先权控制器模块332中的一个或多个)可以执行上述步骤中的一个或多个。
[0063]在这些和其它实施方式中,减少分配给至少一个应用的计算机资源可以包括降低在云计算环境中执行至少一个应用程序的虚拟机的优先级别。例如,图3的优先权控制器模块332可以通过降低执行应用114的虚拟机320的优先级别来减少分配给应用114的计算机资源112。
[0064]替代地或者另外地,测得的每单位时间的消耗可以包括每单位时间的CPU周期或每单位时间的I/o数据量中的至少一个。
[0065]在一些实施方式中,特定用户的SLA中指定的上限可能不足于满足用户的需要。例如,用户可能偶然地或者作为一次性事件地,期望比在用户的SLA中指定的上限下更快速地执行应用或者需要比在用户的SLA中指定的上限下更多的计算机资源。在这些和其它实施方式中,用户可以例如通过用户界面(UI)指示用户期望超过上限。
[0066]因此,方法400还可以包括接收增加每单位时间至少一个应用可以消耗的计算机资源使其超过上限的请求。在用户在云计算环境中正在执行至少一个应用的同时,SLA可以转移到具有不同的相对较高上限的不同SLA。另外,在将SLA转移到不同SLA之后,在该不同SLA下每个时间段收取不同的相对较高的固定费用。
[0067]替代地或者另外地,方法400还可以包括接收每单位时间至少一个应用可以消耗的计算机资源的请求。可以分配超过上限的计算机资源用于执行至少一个应用。针对超过上限的计算机资源的消耗可以对例如用户收取基于使用的费用。
[0068]图5示出根据本文描述的至少一些实施方式布置的可以在图1的云计算环境中实现的另一种方法500的示例流程图。方法500可以全部或部分地由例如图1或图3的后端系统106内的计算机资源112执行。例如,方法500可以全部或部分地通过在计算机资源112中一些计算机资源上执行图1的使用应用116(包括图3的模块328、330、332)来执行。方法500包括如块502、504、506和/或508中的一个或多个块所示的各种操作、功能或动作。方法500可以开始于块502。
[0069]在块502中,存储用户在云计算环境中执行至少一个应用每单位时间可以消耗的云计算环境中计算机资源的上限。上限可以由例如具有SLA的图3的SLA信息模块328存储和/或可以存储在图3的存储装置302、304中的一个中或者存储在物理服务器310、312、314中的一个包含的本地存储装置中。块502之后可以是块504。
[0070]在块504中,测定每单位时间至少一个应用消耗的计算机资源。可以由例如图3的资源计数器模块330测定计算机资源的消耗。块504之后可以是块506。
[0071]在块506中,确定每单位时间至少一个应用消耗的计算机资源是否超过上限。可以由例如图3的优先权控制器模块332确定消耗是否超过上限。确定可以包括将例如来自图3的资源计数器模块330的测得的消耗与例如来自SLA信息模块328的上限进行比较。块506之后可以是块508。
[0072]在块508中,响应于确定至少一个应用的消耗超过了上限,减少分配给至少一个应用的计算机资源。可以通过例如图3的优先权控制器模块332减少计算机资源的分配。
[0073]替代地或者另外地,减少对至少一个应用的计算机资源的分配可以包括降低在云计算环境中执行至少一个应用的虚拟机的优先级别。例如,图3的优先权控制器模块332可以降低执行应用114的图3的虚拟机320的优先级别,以减少分配给应用114的计算机资源112。
[0074]图6是示出根据本文描述的至少一些实施方式布置的为峰值性能已知(peak-performance-aware)计费而布置的示例计算装置600的框图。例如,计算装置600可以被包括在图1和图3的计算机资源112中。在非常基础的构造602中,计算装置600通常包括一个或多个处理器604和系统存储器606。存储器总线608可以用于处理器604和系统存储器606之间的通信。
[0075]根据所需构造,处理器604可以是任何类型,包括但不限于微处理器(μ P)、微控制器(μ C)、数字信号处理器(DSP)或其任何组合。处理器604可以包括一级或多级缓存(例如一级缓存610和二级缓存612)、处理器核614和寄存器616。示例处理器核614可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任何组合。示例存储器控制器618还可以 用于处理器604,或者在一些实施方式中存储器控制器618可以是处理器604的内部部件。
[0076]根据所需构造,系统存储器606可以是任何类型,包括但不限于易失性存储器(例如,RAM)、非易失性存储器(例如,ROM、闪存存储器等)或其任何组合。系统存储器606可以包括0S620、一个或多个应用622和程序数据624。应用622可以包括计费算法626,计费算法626被布置为执行如本文所述的包括关于图4和图5的方法400和500描述的那些功能的功能。例如,应用622可以对应于图1的使用应用116。程序数据624可以包括用于配置如本文所述的计费算法626的计费数据628。例如,计费数据628可以包括从图3的SLA信息模块328获取的上限和/或从图3的资源计数器模块330接收的测得的消耗。在一些实施方式中,应用622可以被布置成在0S620上结合程序数据624进行操作,使得可以如本文所述地实现计费方法(例如,图4和图5的方法400和500)的。在图6中通过内部虚线内的那些组件示出所描述的基础构造602。
[0077]计算装置600可以具有附加的特征或功能以及有助于基础构造602和任何所需装置和接口之间的通信的附加接口。例如,总线/接口控制器630可以用于有助于基础构造602和一个或多个数据存储装置632之间经由存储接口总线634进行通信。数据存储装置632可以是可移除存储装置636、不可移除存储装置638或其组合。可移除存储装置和不移除除存储装置的示例包括磁盘装置(例如,软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(例如,压缩盘(⑶)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)和磁带驱动器。示例的计算机存储介质可以包括以任何方法或技术实现的用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的易失性和非易失性、可移除和不可移除介质。
[0078]系统存储器606、可移除存储装置636和不可移除存储装置638都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁性存储设备,或可以用于存储期望信息并且可以被计算装置600访问的任何其它介质。任何这些计算机存储介质可以是计算装置600的一部分。
[0079]计算装置600还可以包括有助于经由总线/接口控制器630从各种接口装置(例如,输出装置642、外围接口 644和通信装置646)与基础构造602进行通信的接口总线640。示例输出装置642包括可以被配置为经由一个或多个A/V端口 652与各种外部装置(例如,显示器或扬声器)通信的图形处理单元648和音频处理单元650。示例外围接口 644包括被配置为经由一个或更多个I/O端口 658与例如输入装置的外部设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其它外围装置(例如,打印机、扫描仪等))通信的串行接口控制器654或并行接口控制器656。示例通信装置646包括可以被设置为方便经由一个或多个通信端口 664通过网络通信链路与一个或多个其它计算装置662通信的网络控制器660。
[0080]网络通信链路是通信介质的一个示例。通信介质典型地可以体现为计算机可读指令、数据结构、程序模块或调制数据信号中的其它数据(例如,载波或其它传输机制),并包括任何信息传递介质。“调制的数据信号”可以是具有以对信号中的信息编码的方式设置或改变的一个或多个自身特征的信号。通过举例但并非限制,通信介质可以包括有线介质(例如有线网络或直接有线连接)和无线介质(例如声学、射频(RF)、红外(IR)和其它无线介质)。这里使用的术语计算机可读介质可以包括存储介质和通信介质两者
[0081]计算装置600可以被实现为小型便携式(或移动)电子设备(例如,蜂窝电话、智能电话、个人数据助理(PDA)、个人媒体播放器设备、无线网络观察设备、个人头戴式耳机设备、特定应用设备或者可以包括任意上述功能的混合设备)的一部分。计算装置600还可以被实现为包括膝上型电脑和非膝上型电脑配置的个人计算机。
[0082]本公开不受本文描述的特定实施方式的限制,这些特定实施方式旨在作为各种方面的说明。如对于本领域的技术人员将显而易见的,可以在不脱离其精神和范围的情况下进行许多修改和变形。根据以上的描述,在本公开范围内的功能上等同的方法和装置(除了本文枚举的那些之外)对本领域的技术人员将是显而易见的。这类修改和变形旨在落入所附权利要求书的范围内。本发明将只受所附权利要求书的条款连同这些权利要求全部等同范围的限制。要理解,本公开不限于特定的方法、试剂、化合物、组合物或生物系统,这些特定的方法、试剂、化合物、组合物或生物系统当然可以变化。还要理解,本文使用的术语只是出于描述特定实施方式的目的,并且并非用于限制。
[0083]关于这里的实质上任意复数和/或单数术语的使用,为适于上下文和/或应用,本领域技术人员可以将复数转换为单数和/或将单数转换为复数。为了清楚起见,这里可以明确地阐述各种单数/复数置换。
[0084]本领域技术人员应该理解,通常,这里使用的术语,尤其是所附权利要求书中使用的术语(例如所附权利要求书的主体部分)通常意在作为“开放式”术语(例如,术语“包括”应该被解释为“包括但不限于”,术语“具有”应该被解释为“至少具有”,术语“包含”应该被解释为“包含但不限于”等)。本领域技术人员应进一步理解,如果目的在于引入特定数目的权利要求记载,这样的目的应该明确地记载于权利要求中,如果没有这样的记载,则这样的目的不存在。例如,为了便于理解,下述的所附权利要求可以包含引导语“至少一个”和“一个或多个”的使用以引入权利要求记载。然而,即使同一个权利要求包括引导语“一个或更多个”或“至少一个”以及不定冠词例如“一个”或“一”(例如,“一个”或“一”通常应该被解释为表示“至少一个”或“一个或更多个”),这些短语的使用也不应该被解释为暗示通过不定冠词“一个”或“一”的权利要求记载的引导对任何包括这样引入的权利要求记载的特定权利要求限制为仅包括一个这样的记载的发明;对于用于引入权利要求记载的定冠词也同样适用。此外,即使明确记载了特定数量的引入权利要求记载,本领域技术人员也应该认识到这样的记载通常应该被解释为表示至少为所记载数量(例如,没有其它修改地简单记载“两个记载”通常表示至少两个记载或者两个或更多个记载)。此外,在使用类似约定“A、B和C等中的至少一个”的那些示例中,通常这样的结构意在在某种意义上让本领域技术人员能够理解约定(例如“具有A、B和C中的至少一个的系统”应该包括但不限于只有A、只有B、只有C、有A和B、有A和C、有B和C、和/或有A、B和C等的系统)。在使用“A、B或C等中的至少一个”的类似约定的那些示例中,通常这样的结构意在在某种意义上让本领域技术人员能够理解约定(例如,“具有A、B或C中的至少之一的系统”应该包括但不限于只有A、只有B、只有C、有A和B、有A和C、有B和C、和/或有A、B和C等的系统)。本领域技术人员还应该理解,表示两个或更多个另选术语的几乎任何转折词和/或词组,无论在说明书、权利要求书还是在附图中,都应该被理解为预想到包括术语中的一个、术语中的另一个或两个术语的可能性。例如,词组“A或B”应该理解为包括“A”或“B”或“A和B”的可能性。
[0085]此外,当本公开的特征和方面被描述为马库什组合的措辞时,本领域技术人员将认识到,本公开因此还可按照该马库什组合中任意独立构件或构件的子组合来描述。
[0086]如本领域技术人员将理解的,针对任何目的及全部目的,例如以提供撰写的说明书的形式,本文所公开的全部范围还包括任何及全部可能的子范围及其子范围的组合。所列出的任何范围可以容易地被理解为充分地描述和实现了被划分为至少相等的两等份、三等份、四等份、五等份、十等份等的相同范围。作为非限制性示例,本文讨论的每个范围可容易地划分为前三分之一、中间三分之一和后三分之一等。如本领域技术人员将理解的,例如“达到”、“至少”等这样的所有语言,包括所记载的数目,并指代如上所述随后可划分成子范围的范围。最后,如本领域技术人员将理解的,范围包括各个单独构件。因此,例如,具有I至3个元素的组指代具有I个、2个或3个元素的组。类似地,具有I至5个元素的组指代具有I个、2个、3个、4个或5个元素的组,以此类推。
[0087]根据上面的描述,应当理解,已经出于说明的目的在本文中描述了本公开的各种实施方式,并且可以在不脱离本发明的范围和精神的情况下进行各种修改。因此,本文公开的各种实施方式并非旨在进行限制,真正的范围和精神由下面的权利要求指示。
【权利要求】
1.一种方法,所述方法包括以下步骤: 由计算装置从与用户达成的服务级别协议SLA中确定在云计算环境中所述用户执行至少一个应用每单位时间能够消耗的所述云计算环境中计算机资源的上限;以及在所述SLA下,每时间段收取固定费用。
2.根据权利要求1所述的方法,所述方法还包括以下步骤: 估计满足所述SLA的计算机资源的量;以及 根据与计算机资源的总可用量进行比较的计算机资源的估计量,确定所述固定费用。
3.根据权利要求1所述的方法,其中所述计算机资源包括至少一种处理资源和至少一种存储资源。
4.根据权利要求1所述的方法,所述方法还包括以下步骤: 测定每单位时间所述至少一个应用对所述计算机资源的消耗; 确定每单位时间所述至少一个应用对所述计算机资源的消耗超过所述上限;以及 响应于所述确定,减少对所述至少一个应用的所述计算机资源的分配。
5.根据权利要求4所述的方法,其中减少对所述至少一个应用的所述计算机资源的分配的步骤包括降低在所述云计算环境中执行所述至少一个应用的虚拟机的优先级别。
6.根据权利要求4所述的方法,其中测得的每单位时间的消耗包括每单位时间的中央处理单元CPU周期和每单位时间的输入/输出I/O数据量中的至少一个。
7.根据权利要求1所述的方法,其中所述上限随时间变化。
8.根据权利要求7所述的方法,其中所述上限在一天的第一时间时的第一值和一天的第二时间时的第二值之间变化,并且其中所述第一值小于所述第二值。
9.根据权利要求8所述的方法,其中所述一天的第一时间被包括在白天期间的核心营业时间中,并且所述一天的第二时间被包括在夜间期间的节约时间中。
10.根据权利要求7所述的方法,其中与企业核算时间段对应的年度第一时间期间的上限比年度第二时间期间的上限相对更低。
11.根据权利要求1所述的方法,其中所述SLA包括第一SLA,所述上限包括第一上限,所述固定费用包括第一固定费用,所述方法还包括以下步骤: 接收用于增加每单位时间所述至少一个应用能够消耗的计算机资源的请求; 在所述用户在所述云计算环境中正在执行所述至少一个应用的同时,从所述第一 SLA转移到具有第二上限的第二 SLA,所述第二上限高于所述第一上限;以及 在所述第二 SLA下每个时间段收取第二固定费用,其中所述第二固定费用高于所述第一固定费用。
12.根据权利要求1所述的方法,所述方法还包括以下步骤: 接收用于增加每单位时间所述至少一个应用能够消耗的计算机资源的请求; 分配超过用于执行所述至少一个应用的所述上限的计算机资源;以及 对超过所述上限的计算机资源的消耗收取基于使用的费用。
13.一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令能够由 计算装置执行来执行包括以下的操作: 存储在云计算环境中用户执行至少一个应用每单位时间能够消耗的所述云计算环境中计算机资源的上限;测定每单位时间所述至少一个应用对所述计算机资源的消耗; 确定每单位时间所述至少一个应用对所述计算机资源的消耗是否超过所述上限;以及 响应于确定所述至少一个应用的消耗超过所述上限,减少对所述至少一个应用的所述计算机资源的分配。
14.根据权利要求13所述的计算机存储介质,其中减少对所述至少一个应用的所述计算机资源的分配包括降低在所述云计算环境中执行所述至少一个应用的虚拟机的优先级别。
15.根据权利要求13所述的计算机存储介质,其中所述上限随时间变化。
16.根据权利要求15所述的计算机存储介质,其中所述上限在一天的第一时间时的第一值和一天的第二时间时的第二值之间变化,并且其中所述第一值小于所述第二值。
17.根据权利要求16所述的计算机存储介质,其中所述一天的第一时间被包括在白天期间的核心营业时间中,并且所述一天的第二时间被包括在夜间期间的节约时间中。
18.根据权利要求15所述的计算机存储介质,其中与企业核算时间段对应的年度第一时间期间的上限比年度第二时间期间的上限相对更低。
19.根据权利要求13所述的计算机存储介质,其中所述计算机资源包括至少一个中央处理单元CPU和至少一个存储装置。
20.根据权利要求19所述的 计算机存储介质,其中测得的每单位时间的消耗包括每单位时间的中央处理单元CPU周期和每单位时间的输入/输出I/O数据量中的至少一个。
21.一种z?计算环境的后端系统,所述后端系统包括: 服务级别协议(SLA)信息模块,其包括能够被至少一个处理资源执行,从而在至少一个存储资源中存储在云计算环境中用户执行至少一个应用每单位时间能够消耗的计算机资源的上限的计算机可执行指令; 资源计数器模块,其包括能够被所述至少一个处理资源执行,以测定每单位时间所述至少一个应用对所述计算机资源的消耗的计算机可执行指令;以及 优先权控制器模块,其包括能够被所述至少一个处理资源执行以进行以下步骤的计算机可执行指令: 确定每单位时间所述至少一个应用对所述计算机资源的消耗是否超过所述上限;以及 响应于确定所述至少一个应用的消耗超过所述上限,减少对所述至少一个应用的所述计算机资源的分配。
22.根据权利要求21所述的后端系统,该后端系统还包括具有所述至少一个处理资源和所述至少一个存储资源的所述计算机资源。
23.根据权利要求22所述的后端系统,该后端系统还包括虚拟机,所述虚拟机被配置为使用从所述计算机资源分配的虚拟化资源来执行所述至少一个应用。
24.根据权利要求23所述的后端系统,其中所述虚拟机包括VMwareESX,VMware GSX、XEN 3.0 或 KVM。
25.根据权利要求23所述的后端系统,其中: 所述虚拟机的优先级别确定用于执行所述至少一个应用的所述虚拟机的资源分配频度;以及 所述优先权控制器模块被配置为通过降低所述虚拟机的所述优先级别来减少对所述至少一个应用的所述 计算机资源的分配。
【文档编号】G06Q50/10GK103907128SQ201180070351
【公开日】2014年7月2日 申请日期:2011年6月14日 优先权日:2011年6月14日
【发明者】仓林修一, 吉田尚史, 鹰野孝典 申请人:英派尔科技开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1