虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法

文档序号:6350477阅读:188来源:国知局
专利名称:虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法
虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法
版权声明
此专利文献的说明书的一部分包含受版权保护的材料。版权所有者不反对任何人影印专利文献或专利说明书,因为它出现在专利局专利文件或记录中,但在别的方面却保留所有版权。技术领域
本发明一般地涉及应用服务器和虚拟机,并且更具体地涉及用于在虚拟机监视器 (hypervisor)或其它虚拟执行环境中提供基于使用情况的应用许可的系统和方法。
背景技术
服务器虚拟化使计算机系统可以通过在多个应用之间共享系统的物理资源,例如系统处理器(CPU)、存储器、输入/输出(I/O)和连网功能,动态优化这些资源的使用,而不改变应用,同时具有高度的应用间隔离、资源监视和控制。一起工作的一批这样的计算机系统有时被称为虚拟执行环境或者云。
在虚拟执行环境中的每个计算机系统内,通过在系统的操作系统(0/S)和其底层物理资源之间设置虚拟机监视器层,能够实现资源共享、控制和隔离。虚拟机监视器能够在一个或多个来宾0/S镜像之间复用服务器计算机的物理资源,从而产生每个镜像可以直接和单独地访问资源的假象,并且提供每个镜像之间的隔离。
一般来说,能够初始地且明确地配置和/或持续控制虚拟机监视器,以根据每个镜像的个别要求和它们的当前使用情况动态地分配物理资源的份额。由于虚拟机监视器表现为来宾0/S镜像的硬件抽象层(HAL),因此在操作期间,控制频繁从镜像0/S被转移到虚拟机监视器(例如,由于设备中断、抢占式调度、页面出错、上下文切换、I/O、或者连网请求)。当发生控制的频繁转移时,虚拟机监视器能够复用或者在不同的镜像之间切换,为每个镜像调度或分配在切换时确定的该镜像所需的物理资源份额。
虚拟执行环境的厂家和/或允许其中间件在虚拟环境中运行的中间件提供商面对的一个挑战是,确定哪种许可模型最适合于向来宾或最终用户被许可人收取他们使用虚拟系统和中间件资源的费用。在普遍接受服务器虚拟化之前,厂家可能已收取按CPU的许可费,从而允许最终用户在单个物理处理器上部署已被许可的应用,而不管该镜像对物理资源的实际使用。多处理器系统(SMP)可要求按系统中的每个CPU进行许可。最后,随着多核系统(芯片多处理)的出现,出现了按核许可模型,其中每核收取费用,同样和物理资源的使用无关。
不过,由于服务器虚拟化的动态性,对厂家和最终用户来说,上述模型都不能令人满意地工作。虽然在特殊的环境中,可能存在固定或最大数目的物理CPU/核;不过虚拟化使最终用户能够超过系统中的物理CPU/核的最大数目地执行中间件或应用的多个副本。 中间件或应用厂家会更希望最终用户取得中间件或应用的每个副本的许可,因为在虚拟环境中,最终用户一般并行地执行中间件或应用的多个副本,于是可能消耗比他们在单个0/ S镜像中只是直接在系统硬件上运行中间件或应用而消耗的可获许可资源更多的可获许可资源。
另一方面,最终用户可能更希望不必为中间件或应用的每个虚拟副本取得按CPU 或者按核的许可,因为他们实际上可能不会所有时候都使用所有这些副本,这些副本也不会消耗部署平台的100%的实际物理资源。从而,最终用户通常更希望仅许可他们实际使用的中间件或应用的量。这是本发明的实施例意图解决的一般领域。发明内容
这里公开了一种用于虚拟机监视器虚拟执行环境中的基于使用情况的应用许可的系统和方法。按照一个实施例,系统包含一个或多个计算机,每个计算机具有在其上工作且形成虚拟机监视器环境的虚拟机监视器,以及在虚拟机监视器环境内执行的一个或多个虚拟机镜像。每个虚拟机监视器聚集在特定镜像实例的生命周期内,每个镜像实例对物理资源,比如处理器(CPU)、存储器、输入/输出(I/O)和连网的使用统计信息,并连续地、依据请求地、或者在镜像关闭/终止时,向管理架构报告所述统计信息。管理架构利用所述统计信息确保系统被按使用单位充分地许可。使用单位的初始分配被记录在镜像中,并在执行期间被虚拟机监视器访问。当使用单位接近满期时,虚拟机监视器可用信号通知特定镜像将变成非许可的。管理架构随后能够分配更多的使用单位、关闭镜像、或者审计该非许可的使用,以便稍后补偿。


图1示出按照一个实施例,虚拟机监视器或者其它虚拟执行环境中的基于使用情况的应用许可的系统的例示。
图2示出按照一个实施例,器件构造器可如何被用于提供可引导机器镜像中的组件信息和基于使用情况的许可元数据的例示。
图3示出按照一个实施例,具有基于使用情况的许可的管理架构的使用的例示。
图4示出按照一个实施例,在虚拟机监视器虚拟执行环境中,提供基于使用情况的许可的方法的流程图。
图5示出按照一个实施例,系统可如何被用于提供BMI组合件中的组件信息和基于使用情况的许可元数据的例示例子。
图6示出按照一个实施例,基于使用情况的许可的提供和利用的例子。
具体实施方式
如上所述,由于服务器虚拟化的动态性,对中间件或应用厂家和他们的客户或最终用户来说,目前可用的许可模型都不能令人满意地工作。虚拟化使最终用户能够超过系统中的物理处理器(CPU/核)的最大数目地执行中间件或应用的多个副本。这些中间件或应用厂家会更希望最终用户取得中间件或应用的每个副本的许可,因为在虚拟环境中, 最终用户一般并行地执行中间件或应用的多个副本,于是可能消耗比他们在单个操作系统 (0/S)镜像中,只是直接在系统硬件上运行中间件或应用而消耗的可获许可资源更多的可获许可资源。另一方面,最终用户可能更希望不必为中间件或应用的每个虚拟副本,取得按 CPU或者按核的许可,因为他们实际上不会所有时候都使用所有这些副本,这样的副本也不能消耗部署平台的100%实际物理资源。
由于这些模型都不适合于中间件或应用许可人(厂家)和他们的被许可人(最终用户),因此可取的是转移到一种模型,其中虚拟执行环境厂家根据最终用户部署在虚拟化解决方案上的每个副本对得到许可的资源(比如中间件或应用)的实际消耗,许可他们的最终用户。这里说明的是一种能够实现这种基于使用情况的许可模型,而不需要修改中间件或应用,或者修改部署它的来宾0/S的系统和方法。
图1示出按照一个实施例,虚拟机监视器或者其它虚拟执行环境中的基于使用情况的应用许可的系统的例示。如图1中所示,该系统包含一起工作从而形成虚拟执行环境或者云104的一个或多个物理计算机、计算机系统、服务器计算机或类似的计算设备101、 102。如图1中进一步所示,每个计算机系统包括物理资源108、109 ;比如一个或多个处理器(CPU) 110、存储器112、输入/输出(I/O) 114、和连网资源116;并通过高速物理连网、因特网或者类似的通信技术117,与其它计算机系统互连。每个计算机系统还包括虚拟机监视器120、121,虚拟机监视器120、121能够在工作于计算机系统上的一个或多个可引导机器镜像(BMI)实例122、1M、口6、1观之间复用计算机系统的物理资源,产生每个镜像实例可以直接和单独地访问资源的假象,并提供这些镜像之间的隔离。
按照一个实施例,在每个计算机系统的虚拟机监视器收集遥测信息140,或者以其它方式聚集与该计算机系统上的每个特定镜像实例在其生命周期内,对系统的物理资源, 比如系统的处理器、存储器、I/O和连网资源的使用有关的统计信息。虚拟机监视器连续地、依据请求地或者在镜像关闭/终止时,把遥测信息或统计信息报告给管理架构150。管理架构随后利用所述统计信息,确保系统按使用单位被充分地许可,和/或提供向最终用户收取使用费的手段。按照一个实施例,系统还可包含一个或多个器件构造器(appliance builder) 160,和/或组合件管理器170,其各个特征在下面进一步说明。
按照一个实施例,使用单位或者信用的初始分配132、134、136、138作为元数据被记录在虚拟执行环境中的其使用将被许可的每个镜像实例中,或者以其它方式与所述每个镜像实例关联。随后在虚拟机监视器执行特定实例期间,相继访问、增加或者用光该实例的使用单位。关于使用的统计信息也可被记录在位于每个计算机系统和/或位于管理架构处的遥测数据库142、143、144。当使用单位接近满期时,虚拟机监视器可例如用信号通知特定的镜像实例将变成非许可的。管理架构随后能够分配更多的使用单位、关闭该镜像实例,或者审计任何非许可的使用,以便随后向最终用户收费或者采取其它形式的补偿。
器件构造器
图2示出按照一个实施例,器件构造器可如何被用于提供可引导机器镜像中的组件信息和基于使用情况的许可元数据的例示。如上所述,按照一个实施例,多个来宾0/S镜像可被打包和部署成将在虚拟机监视器上执行的可引导机器镜像(BMI),其中所述虚拟机监视器随后按照相对于在任意特定时间,在其上执行的每个镜像或BMI配置的资源使用参数和/或策略,复用物理服务器资源。部署到并在特定虚拟机监视器/服务器元组上执行的BMI的集合是动态的,会随着时间而变化。如图2中所示,按照一个实施例,可作为例如虚拟化产品套件的一部分,提供器件构造器工具160,器件构造器工具160可被用于把包括选择的来宾0/S 162、引导加载器164、中间件和应用168、配置元数据170、和任何其它所需组件的BMI 122打包成适当的BMI格式,以使目标虚拟机监视器能够加载和执行其内容。
按照一个实施例,每个来宾镜像0/S包括或者能够在特定的虚拟机监视器抽象层 API上执行,或者被修改,从而在特定的虚拟机监视器抽象层API上执行的操作系统。这种 0/S的例子包括Linux、UNIX变体、Windows和MacOS。除了上面说明的传统0/S技术之外, 特定的虚拟机监视器可托管其它来宾运行时,例如包括被修改、从而直接在虚拟机监视器上运行,而不是作为目标0/S上的应用、按其通常执行模式运行的Java虚拟机。
按照一个实施例,以对于与BMI相关的虚拟机监视器所知的文件格式,提供该 BMI,所述文件格式封装支持的来宾0/S、中间件、最终用户应用、和相关的配置元数据工件的实例,从而使虚拟机监视器能够加载和执行其中的来宾0/S和应用。BMI可作为来宾0/ S、应用和配置信息的磁盘文件系统表示而被提供,或者可包括所述磁盘文件系统表示,这使来宾0/S能够相对于虚拟机监视器的存在透明地引导。
在特定BMI实例的配装期间,器件构造器能够把组件元数据172插入BMI中,组件元数据172识别BMI中的组件173(这里被图解表示成待获得使用许可的组件A-C 174、 176,178)。按照一个实施例,这可通过在虚拟磁盘文件系统或镜像中包含带符号的元数据文件来完成。该元数据随后可被虚拟机监视器和/或管理架构用于计算使用单元,和把所述使用单位应用于其中的组件。
按照一些实施例,尤其是打包多个BMI的组合件,以形成复合应用的那些实施例, 可以使用组合贡献加权(combinatorial contribution weighting) 180来提供组件加权。 下面关于镜像组合件,更详细地说明组合贡献加权特征。
由于虚拟机监视器通常对来宾0/S内部和/或在其中执行的应用一无所知,因此除非它被提供来宾0/S实现的知识(依据该知识,它可检查其数据结构,以提取使用信息), 否则虚拟机监视器类似地不了解构成BMI的各个组件/进程。因而,按照一个实施例,虚拟机监视器把BMI使用视为某种形式的“黑箱”,即,在整个镜像实例和运行于其中的组件的范围内,宏观地确定每个镜像实例消耗的资源。在不对来宾0/S和/或应用本身作出侵入式改变的情况下,在虚拟机监视器上的来宾0/S中执行的各个应用组件消耗的资源是自身不可确定的。
管理架构
图3示出按照一个实施例,具有基于使用情况的许可的管理架构应用的例示。如上所述,按照一个实施例,虚拟机监视器连续地、依据请求地或者在镜像关闭/终止时,把遥测信息或统计信息报告给管理架构;管理架构随后利用所述统计信息,确保系统被按使用单位充分地许可,和/或提供向最终用户收取使用费的手段。按照这种方式,管理架构负责通过运行一个或多个物理服务器的相关虚拟机监视器的实例而被虚拟化的所述一个或多个物理服务器的生命周期管理。可以作为包括管理控制台用户接口(UI)的命令和控制架构的形式提供管理架构,所述管理控制台用户接口使该架构管理的各个虚拟机监视器实例能够被加载、启动、暂停、重启、配置等,还允许跨服务器的管理域,比如虚拟执行环境或者云管理目标BMI实例。
按照一个实施例,管理架构还负责为在各个虚拟机监视器上执行的BMI实例从这些虚拟机监视器中的每一个提取遥测信息或统计信息,随后把这些统计信息记录到永久性日志上,和/或记录到在管理架构的管理控制台和/或虚拟化环境内的计算机系统。
如图3中所示,管理架构能够提供将与每个BMI关联的初始使用信用190。在虚拟机监视器的遥测逻辑192使初始信用194、196与在该虚拟机监视器上运行的每个实例关联。管理架构随后能够主动地或者动态地消耗来自虚拟机监视器的管理域的关于多个BMI 实例的不可否认的使用统计信息202,和可靠地审计每个BMI实例内的可获许可组件的使用。例如管理架构能够动态地或者当特定实例终止时向,特定的托管虚拟机监视器答复以额外的“使用”信用204或者其它指令。管理架构以使厂家随后可以在许可使用数据库206 中提取适合于他们的被许可组件的使用统计信息的方式,保护使用信息。
按照一个实施例,管理架构使用由BMI器件构造器预先嵌入特定BMI实例中的元数据信息,以便确定哪些可获许可的组件被包含在其中,和在BMI的实例的执行生命周期期间,这些组件贡献于虚拟机监视器资源的整体使用的相对权重或贡献(如果需要的话)。
图4示出按照一个实施例,在虚拟机监视器虚拟执行环境中,提供基于使用情况的许可的方法的流程图。如图4中所示,在步骤220,确定镜像组件列表,包括利用来自适当数据库或厂家输入的可选的组合贡献加权。在步骤222,利用用户应用和组件列表,创建可引导机器镜像;或者作为替代地,利用复合应用,创建镜像组合件。在步骤224,BMI或镜像组合件作为实例,连同初始使用信用(如果适用的话)一起被部署到虚拟机监视器环境。 在步骤226,管理架构定期或者按请求接收或确定来自每个计算机系统和/或虚拟机监视器的,关于该虚拟机监视器上的BMI或镜像组合件使用的遥测信息。在步骤228,管理架构和虚拟机监视器可选地比较目前的已用信用,和/或为额外的使用提供新的信用,和/或报告用于许可费的后续计算的使用或信用。
组合件管理器
图5示出按照一个实施例,系统可如何被用于向BMI组合件提供组件信息和基于使用情况的许可元数据的例示例子。如上所述,按照一个实施例,系统可包含组合件管理器170,其可以作为具有相关用户接口(UI)的虚拟组合件管理架构、工具、控制台而被提供。在面向服务的体系结构(SOA)的环境中,应用通常是复合应用,或者复合体,即,从最终用户的观点看,表现为单个应用,不过实际上由多个部分或服务构成的应用。每个服务是可在各种中间件技术上实现,并且托管在它们各自(唯一)的运行时容器或环境中的不同组件。在虚拟化的SOA部署中,理想的是在其工作生命周期内,整体地以单个不可分的组件的形式,作用于虚拟复合应用。各个服务或组件,连同它们的相关运行时环境、配置元数据工件、和其它有关数据可被打包(借助器件工具)到单个BMI (文件)中。
如图5中所示,按照一个实施例,一旦每个服务236、256连同其中的任意组件被打包到它自己的BMI 230、250中,就利用组合件管理器工具构成每个BMI “器件”的镜像组合件228,所述组合件管理器工具产生包含每个组件BMI的单一镜像,还指定为了描述组装的复合应用262而需要的任何初始使用许可元数据264和其它元数据工件。镜像组合件随后可被部署到虚拟执行环境中的虚拟机监视器上。
按照一个实施例,为了在虚拟机监视器不了解且不检查目标来宾0/S的内部的情况下,适应“复合”BMI组合件(即,包含多个可获许可的组件的BMI)的许可,可以使用“组合贡献加权”方案180。组合贡献加权使系统可以跨越其中的可获许可的组件,分配/赋予由复合BMI消耗的资源。当利用器件构造器组装单个BMI,或者利用组合件管理器,把一个或多个BMI组装成复合应用组合件时,管理架构可按照可靠并且不可否认的方式,把每个可获许可的组件的加权并入其中,以便由许可系统随后使用。这些加权可由厂家为每个单独的可获许可组件(例如,在安全的许可证存储器中)分派,可以和在单个BMI内,或者包含多个BMI的复合应用内组合的其它可获许可组件一起计算。
遥测信息
如上所述,按照一个实施例,在每个计算机系统的虚拟机监视器收集遥测信息,或者以其它方式聚集与该计算机系统上的每个特定镜像实例在其生命周期内,对系统的物理资源的使用有关的统计信息。可通过网络远程访问所述遥测信息,或者可按照某种持续的形式(例如,本地/远程磁盘)收集所述遥测信息,以便稍后分析。一些虚拟机监视器相对于运行于其上的托管/来宾0/S和应用是“透明的”;而其它虚拟机监视器则可能需要与它们所支持的“来宾”操作系统的额外集成,和/或向应用提供API以便更紧密地与托管虚拟机监视器平台集成。这种额外的应用层集成一般向应用提供管理和遥测便利,而0/S层集成通常是由虚拟机监视器体系结构和实现做出的选择的结果,所述虚拟机监视器体系结构和实现完成特定来宾0/S和虚拟机监视器所虚拟化的硬件设备/系统接口之间的接口。
如上所述,按照一个实施例,虚拟机监视器聚合(实时地)特定镜像实例的生命周期(开始-结束)内每个BMI实例的使用,并连续地、依据请求地或者在镜像关闭/终止时, 把它们报告给管理架构,在一些情况下,按照不可否认的并且记录在BMI中的格式(例如, 在关闭时,作为加密文件格式)报告给管理架构。可被跟踪的统计信息的例子包括带时间戳的从启动以来消耗的实际CPU(秒);带时间戳的从启动以来消耗的平均存储器;带时间戳的从启动以来的全部I/O操作;带时间戳的从启动以来的全部网络I/O。
遥测信息允许管理架构的许可组件追溯或者主动地计算每个BMI使用,并且能够实现例如基于追溯审计的使用许可模型;主动的动态“即付即用”模型,其中从虚拟机监视器与管理架构交换使用信息,管理架构又答复以将由虚拟机监视器施加于被特定BMI实例消耗的资源的附加使用“信用”;记录在BMI中(由管理架构的许可组件),并在执行期间由虚拟机监视器访问的使用单位的主动、静态的初始分配。在满期时,或者在指定的“低水位标”的情况下,虚拟机监视器能够用信号通知许可组件,特定的BMI将变成非许可的(通过使用其所有分配额),从而管理架构可分配更多的使用单位,关闭BMI,或者审计非许可的使用,以便稍后补偿。
在一些实施例中,比如与其作为“来宾” 0/S上的应用的通常执行模式相比,Java 虚拟机(JVM)被修改以直接在虚拟机监视器上运行的情况,可用遥测逻辑修改JVM的运行时,以便在托管虚拟机监视器及其管理基础结构中知道遥测能力和相关API ;在这种情况下,JVM可相对于运行于其中的Java中间件和应用,以及它们的资源消耗,向虚拟机监视器提供额外的“实时”遥测。这种额外的遥测使基于使用情况的许可能够为许可目的提供更真实的使用报告。
示范性例子
图6示出按照一个实施例,基于使用情况的许可的提供和利用的例子。如图6中所示,在本特定例子中,部署包括虚拟机监视器的虚拟执行环境的客户可能希望用下述组件构建应用器件(appliance)
(a) HTTP 服务器;
(b)应用服务器(例如,WebLogic或WLS);
(c) JVM ;
(d)关系数据库(RDBMS);和
(e)操作系统(0/S,例如 Linux)。
还包括一些中间层应用代码(例如,在WebLogic中)。通过利用器件构造器和组合件管理器,他们构建这些组件、其应用、和任何配置元数据工件的BMI,并把该镜像命名为 "MyAppApplicance,,280。
在组装该镜像的处理中,组合件管理器产生包含上面的可获许可组件的列表,以及它们的相关“组合贡献加权”。通过询问组合贡献加权数据库,组合件工具组装BMI镜像和许可工件,所述许可工件包含组件及其加权的列表,在本例中,所述列表可以是
(a) HTTP 服务器5%
(b)应用服务器(WLQ 40% (包括用户应用代码)
(c)JVM5%
(d)关系数据库(RDBMS) 40%
(e)操作系统(0/S)10%
最终用户把该BMI的实例观8、290部署到其服务器群、虚拟执行环境或者云上,然后运行他们的应用。
在本例中,最终用户选择了厂家在每月末对其使用情况开列账单的选项。遥测信息或统计信息292表示在过去的一个月内,他们在多个服务器上启动和停止了 "MyAppAppliance^BMI的多个实例。虚拟机监视器持续收集和报告每个实例生命周期的 CPU、I/0、存储器和网络统计信息,管理架构相应记录了这些统计信息。(不可否认的)日志可能看起来如图6中所示。在30天周期的结尾,管理架构可相应地合计使用信息四4。在本例中,看起来"MyAppAppliance”使用了总共26208CPU分钟的资源。假定Oracle的当前使用许可只对CPU使用进行许可。许可架构随后把得到许可的组件的组合贡献加权应用于该总的CPU使用。
(a)使用的HTTP服务器1310cpu/分钟
(b)使用的应用服务器(WLQ 10483
(c)使用的 JVM1310
(d)使用的关系数据库(RDBMQ 10483
(e)使用的操作系统(0/S) 2620
厂家随后可应用它们当前的价格/使用单位费用,和任何总额折扣或组合折扣等向最终用户收取对应的许可费四6。
通过利用按照本公开的教导编程的一个或多个常规的通用或专用数字计算机、计算装置、机器、或微处理器,包括一个或多个微处理器、存储器和/或计算机可读存储介质, 可以便利地实现本发明。对软件领域的技术人员来说,显然根据本公开的教导,有经验的程序员能够容易地编写适当的软件编码。
在一些实施例中,本发明包括计算机程序产品,所述计算机程序产品是其中保存有可用于对计算机编程,以执行本发明的任意处理的指令的存储介质或者计算机可读介质。所述存储介质可包括(但不限于)任意种类的磁盘(包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储装置、磁卡或光卡、纳米系统(包括分子存储器IC)、或者任何种类的适合于保存指令和/或数据的介质或装置。
出于举例说明的目的,提供了本发明的以上说明。上述说明不是穷尽的,也不意图把本发明局限于公开的具体形式。对本领域的技术人员来说,许多修改和变化是显而易见的。选择和说明各个实施例是为了更了地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各个实施例和适合于预期的特定应用的各种修改。本发明的范围由以下权利要求和其等同物限定。
权利要求
1.一种用于在虚拟机监视器虚拟执行环境中的基于使用情况的应用0许可的系统,包括包括处理器、存储器和操作系统的计算机;器件构造器软件,用于创建虚拟机镜像,以把所述镜像部署成在虚拟执行环境或云中的一个或多个虚拟机监视器上执行的镜像实例;管理架构软件,所述管理架构软件从所述一个或多个虚拟机监视器中的每个虚拟机监视器接收遥测信息,所述遥测信息描述在那些虚拟机监视器处的镜像实例对那些虚拟机监视器虚拟化的计算机资源的使用情况;和其中响应收到遥测信息,所述管理架构向镜像实例分配使用信用,和/或记录镜像实例的使用,以便许可所述使用。
2.按照权利要求1所述的系统,其中器件构造器或管理架构向每个镜像实例分配初始使用信用,随后在镜像实例运行的时候,根据需要分配额外的使用信用或者进一步的指令。
3.按照权利要求2所述的系统,其中所述进一步的指令能够包括如果使用信用已被超过,那么终止实例的执行的请求。
4.按照权利要求1所述的系统,其中遥测信息被用于确定许可费,所述许可费够付在那些虚拟机监视器处的镜像实例对那些虚拟机监视器虚拟化的计算机资源的使用。
5.按照权利要求1所述的系统,其中所述系统还包括组合件管理器,用于创建复合应用的虚拟机镜像组合件,以把所述镜像组合件部署成在所述虚拟执行环境或云中的一个或多个虚拟机监视器上执行的镜像实例。
6.按照权利要求1所述的系统,其中所述系统还包括组合贡献加权,所述组合贡献加权定义特定镜像中的多个可获许可组件的加权,其中管理架构通过确定由所述组合贡献加权修改的镜像实例的整体使用,确定每个可获许可组件的使用,以便许可每个可获许可组件的使用。
7.一种用于虚拟机监视器虚拟执行环境中的基于使用情况的应用许可的方法,包括下述步骤提供包括处理器、存储器和操作系统的计算机;提供器件构造器软件,用于创建虚拟机镜像,以把所述镜像部署成在虚拟执行环境或云中的一个或多个虚拟机监视器上执行的镜像实例;提供管理架构软件,所述管理架构软件从所述一个或多个虚拟机监视器中的每个虚拟机监视器接收遥测信息,所述遥测信息描述在那些虚拟机监视器处的镜像实例对那些虚拟机监视器虚拟化的计算机资源的使用;和其中响应收到遥测信息,所述管理架构向镜像实例分配使用信用,和/或记录镜像实例的使用,以便许可所述使用。
8.按照权利要求7所述的方法,其中器件构造器或管理架构向每个镜像实例分配初始使用信用,随后在镜像实例运行的时候,根据需要分配额外的使用信用或者进一步的指令。
9.按照权利要求8所述的方法,其中所述进一步的指令能够包括如果使用信用已被超过,那么终止实例的执行的请求。
10.按照权利要求7所述的方法,其中遥测信息被用于确定许可费,所述许可费够付在那些虚拟机监视器处的镜像实例对那些虚拟机监视器虚拟化的计算机资源的使用。
11.按照权利要求7所述的方法,其中所述方法还包括提供组合件管理器,用于创建复合应用的虚拟机镜像组合件,以把所述镜像组合件部署成在所述虚拟执行环境或云中的一个或多个虚拟机监视器上执行的镜像实例。
12.按照权利要求7所述的方法,其中所述方法还包括利用组合贡献加权,所述组合贡献加权定义特定镜像中的多个可获许可组件的加权, 其中管理架构通过确定由所述组合贡献加权修改的镜像实例的整体使用,确定每个可获许可组件的使用,以便许可每个可获许可组件的使用。
13.—种包括保存在上面的指令的计算机可读存储介质,当被计算机读取和执行时,所述指令使计算机执行各个步骤,包括提供包括处理器、存储器和操作系统的计算机;提供器件构造器软件,用于创建虚拟机镜像,以把所述镜像部署成在虚拟执行环境或云中的一个或多个虚拟机监视器上执行的镜像实例;提供管理架构软件,所述管理架构软件从所述一个或多个虚拟机监视器中的每个虚拟机监视器接收遥测信息,所述遥测信息描述在那些虚拟机监视器处的镜像实例对那些虚拟机监视器虚拟化的计算机资源的使用;和其中响应收到遥测信息,所述管理架构向镜像实例分配使用信用,和/或记录镜像实例的使用,以便许可所述使用。
14.按照权利要求13所述的计算机可读存储介质,其中器件构造器或管理架构向每个镜像实例分配初始使用信用,随后在镜像实例运行的时候,根据需要分配额外的使用信用或者进一步的指令。
15.按照权利要求14所述的计算机可读存储介质,其中所述进一步的指令能够包括如果使用信用已被超过,那么终止实例的执行的请求。
16.按照权利要求13所述的计算机可读存储介质,其中遥测信息被用于确定许可费, 所述许可费够付在那些虚拟机监视器处的镜像实例对那些虚拟机监视器虚拟化的计算机资源的使用。
17.按照权利要求13所述的计算机可读存储介质,其中所述指令还包括提供组合件管理器,用于创建复合应用的虚拟机镜像组合件,以把所述镜像组合件部署成在所述虚拟执行环境或云中的一个或多个虚拟机监视器上执行的镜像实例。
18.按照权利要求13所述的计算机可读存储介质,其中所述指令还包括利用组合贡献加权,所述组合贡献加权定义特定镜像中的多个可获许可组件的加权, 其中管理架构通过确定由所述组合贡献加权修改的镜像实例的整体使用,确定每个可获许可组件的使用,以便许可每个可获许可组件的使用。
全文摘要
一种用于虚拟机监视器虚拟执行环境中的基于使用情况的应用许可的系统和方法。按照一个实施例,系统包含一个或多个计算机,每个计算机具有在其上工作且形成虚拟机监视器环境的虚拟机监视器,以及在虚拟机监视器环境内执行的一个或多个虚拟机镜像。每个虚拟机监视器聚集每个镜像实例对物理资源的使用统计信息,并向管理架构报告所述统计信息。管理架构利用所述统计信息,确保系统被按使用单位充分地许可。使用单位的初始分配被记录在镜像中,并在执行期间被虚拟机监视器访问。当使用单位接近满期时,虚拟机监视器可用信号通知特定镜像将变成非许可的。管理架构随后能够分配更多的使用单位,关闭该镜像,或者审计非许可的使用,以便稍后获得补偿。
文档编号G06F9/455GK102511034SQ201080042413
公开日2012年6月20日 申请日期2010年8月27日 优先权日2009年9月24日
发明者L·P·G·凯布尔, M·皮奇 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1