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

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

Info

Publication number
CN102511034A
CN102511034A CN2010800424136A CN201080042413A CN102511034A CN 102511034 A CN102511034 A CN 102511034A CN 2010800424136 A CN2010800424136 A CN 2010800424136A CN 201080042413 A CN201080042413 A CN 201080042413A CN 102511034 A CN102511034 A CN 102511034A
Authority
CN
China
Prior art keywords
virtual machine
mirror image
management framework
instance
machine monitor
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
Application number
CN2010800424136A
Other languages
English (en)
Other versions
CN102511034B (zh
Inventor
L·P·G·凯布尔
M·皮奇
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN102511034A publication Critical patent/CN102511034A/zh
Application granted granted Critical
Publication of CN102511034B publication Critical patent/CN102511034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种用于虚拟机监视器虚拟执行环境中的基于使用情况的应用许可的系统和方法。按照一个实施例,系统包含一个或多个计算机,每个计算机具有在其上工作且形成虚拟机监视器环境的虚拟机监视器,以及在虚拟机监视器环境内执行的一个或多个虚拟机镜像。每个虚拟机监视器聚集每个镜像实例对物理资源的使用统计信息,并向管理架构报告所述统计信息。管理架构利用所述统计信息,确保系统被按使用单位充分地许可。使用单位的初始分配被记录在镜像中,并在执行期间被虚拟机监视器访问。当使用单位接近满期时,虚拟机监视器可用信号通知特定镜像将变成非许可的。管理架构随后能够分配更多的使用单位,关闭该镜像,或者审计非许可的使用,以便稍后获得补偿。

Description

虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法
版权声明
此专利文献的说明书的一部分包含受版权保护的材料。版权所有者不反对任何人影印专利文献或专利说明书,因为它出现在专利局专利文件或记录中,但在别的方面却保留所有版权。
技术领域
本发明一般地涉及应用服务器和虚拟机,并且更具体地涉及用于在虚拟机监视器(hypervisor)或其它虚拟执行环境中提供基于使用情况的应用许可的系统和方法。
背景技术
服务器虚拟化使计算机系统可以通过在多个应用之间共享系统的物理资源,例如系统处理器(CPU)、存储器、输入/输出(I/O)和连网功能,动态优化这些资源的使用,而不改变应用,同时具有高度的应用间隔离、资源监视和控制。一起工作的一批这样的计算机系统有时被称为虚拟执行环境或者云。
在虚拟执行环境中的每个计算机系统内,通过在系统的操作系统(O/S)和其底层物理资源之间设置虚拟机监视器层,能够实现资源共享、控制和隔离。虚拟机监视器能够在一个或多个来宾O/S镜像之间复用服务器计算机的物理资源,从而产生每个镜像可以直接和单独地访问资源的假象,并且提供每个镜像之间的隔离。
一般来说,能够初始地且明确地配置和/或持续控制虚拟机监视器,以根据每个镜像的个别要求和它们的当前使用情况动态地分配物理资源的份额。由于虚拟机监视器表现为来宾O/S镜像的硬件抽象层(HAL),因此在操作期间,控制频繁从镜像O/S被转移到虚拟机监视器(例如,由于设备中断、抢占式调度、页面出错、上下文切换、I/O、或者连网请求)。当发生控制的频繁转移时,虚拟机监视器能够复用或者在不同的镜像之间切换,为每个镜像调度或分配在切换时确定的该镜像所需的物理资源份额。
虚拟执行环境的厂家和/或允许其中间件在虚拟环境中运行的中间件提供商面对的一个挑战是,确定哪种许可模型最适合于向来宾或最终用户被许可人收取他们使用虚拟系统和中间件资源的费用。在普遍接受服务器虚拟化之前,厂家可能已收取按CPU的许可费,从而允许最终用户在单个物理处理器上部署已被许可的应用,而不管该镜像对物理资源的实际使用。多处理器系统(SMP)可要求按系统中的每个CPU进行许可。最后,随着多核系统(芯片多处理)的出现,出现了按核许可模型,其中每核收取费用,同样和物理资源的使用无关。
不过,由于服务器虚拟化的动态性,对厂家和最终用户来说,上述模型都不能令人满意地工作。虽然在特殊的环境中,可能存在固定或最大数目的物理CPU/核;不过虚拟化使最终用户能够超过系统中的物理CPU/核的最大数目地执行中间件或应用的多个副本。中间件或应用厂家会更希望最终用户取得中间件或应用的每个副本的许可,因为在虚拟环境中,最终用户一般并行地执行中间件或应用的多个副本,于是可能消耗比他们在单个O/S镜像中只是直接在系统硬件上运行中间件或应用而消耗的可获许可资源更多的可获许可资源。
另一方面,最终用户可能更希望不必为中间件或应用的每个虚拟副本取得按CPU或者按核的许可,因为他们实际上可能不会所有时候都使用所有这些副本,这些副本也不会消耗部署平台的100%的实际物理资源。从而,最终用户通常更希望仅许可他们实际使用的中间件或应用的量。这是本发明的实施例意图解决的一般领域。
发明内容
这里公开了一种用于虚拟机监视器虚拟执行环境中的基于使用情况的应用许可的系统和方法。按照一个实施例,系统包含一个或多个计算机,每个计算机具有在其上工作且形成虚拟机监视器环境的虚拟机监视器,以及在虚拟机监视器环境内执行的一个或多个虚拟机镜像。每个虚拟机监视器聚集在特定镜像实例的生命周期内,每个镜像实例对物理资源,比如处理器(CPU)、存储器、输入/输出(I/O)和连网的使用统计信息,并连续地、依据请求地、或者在镜像关闭/终止时,向管理架构报告所述统计信息。管理架构利用所述统计信息确保系统被按使用单位充分地许可。使用单位的初始分配被记录在镜像中,并在执行期间被虚拟机监视器访问。当使用单位接近满期时,虚拟机监视器可用信号通知特定镜像将变成非许可的。管理架构随后能够分配更多的使用单位、关闭镜像、或者审计该非许可的使用,以便稍后补偿。
附图说明
图1示出按照一个实施例,虚拟机监视器或者其它虚拟执行环境中的基于使用情况的应用许可的系统的例示。
图2示出按照一个实施例,器件构造器可如何被用于提供可引导机器镜像中的组件信息和基于使用情况的许可元数据的例示。
图3示出按照一个实施例,具有基于使用情况的许可的管理架构的使用的例示。
图4示出按照一个实施例,在虚拟机监视器虚拟执行环境中,提供基于使用情况的许可的方法的流程图。
图5示出按照一个实施例,系统可如何被用于提供BMI组合件中的组件信息和基于使用情况的许可元数据的例示例子。
图6示出按照一个实施例,基于使用情况的许可的提供和利用的例子。
具体实施方式
如上所述,由于服务器虚拟化的动态性,对中间件或应用厂家和他们的客户或最终用户来说,目前可用的许可模型都不能令人满意地工作。虚拟化使最终用户能够超过系统中的物理处理器(CPU/核)的最大数目地执行中间件或应用的多个副本。这些中间件或应用厂家会更希望最终用户取得中间件或应用的每个副本的许可,因为在虚拟环境中,最终用户一般并行地执行中间件或应用的多个副本,于是可能消耗比他们在单个操作系统(O/S)镜像中,只是直接在系统硬件上运行中间件或应用而消耗的可获许可资源更多的可获许可资源。另一方面,最终用户可能更希望不必为中间件或应用的每个虚拟副本,取得按CPU或者按核的许可,因为他们实际上不会所有时候都使用所有这些副本,这样的副本也不能消耗部署平台的100%实际物理资源。
由于这些模型都不适合于中间件或应用许可人(厂家)和他们的被许可人(最终用户),因此可取的是转移到一种模型,其中虚拟执行环境厂家根据最终用户部署在虚拟化解决方案上的每个副本对得到许可的资源(比如中间件或应用)的实际消耗,许可他们的最终用户。这里说明的是一种能够实现这种基于使用情况的许可模型,而不需要修改中间件或应用,或者修改部署它的来宾O/S的系统和方法。
图1示出按照一个实施例,虚拟机监视器或者其它虚拟执行环境中的基于使用情况的应用许可的系统的例示。如图1中所示,该系统包含一起工作从而形成虚拟执行环境或者云104的一个或多个物理计算机、计算机系统、服务器计算机或类似的计算设备101、102。如图1中进一步所示,每个计算机系统包括物理资源108、109;比如一个或多个处理器(CPU)110、存储器112、输入/输出(I/O)114、和连网资源116;并通过高速物理连网、因特网或者类似的通信技术117,与其它计算机系统互连。每个计算机系统还包括虚拟机监视器120、121,虚拟机监视器120、121能够在工作于计算机系统上的一个或多个可引导机器镜像(BMI)实例122、124、126、128之间复用计算机系统的物理资源,产生每个镜像实例可以直接和单独地访问资源的假象,并提供这些镜像之间的隔离。
按照一个实施例,在每个计算机系统的虚拟机监视器收集遥测信息140,或者以其它方式聚集与该计算机系统上的每个特定镜像实例在其生命周期内,对系统的物理资源,比如系统的处理器、存储器、I/O和连网资源的使用有关的统计信息。虚拟机监视器连续地、依据请求地或者在镜像关闭/终止时,把遥测信息或统计信息报告给管理架构150。管理架构随后利用所述统计信息,确保系统按使用单位被充分地许可,和/或提供向最终用户收取使用费的手段。按照一个实施例,系统还可包含一个或多个器件构造器(appliance builder)160,和/或组合件管理器170,其各个特征在下面进一步说明。
按照一个实施例,使用单位或者信用的初始分配132、134、136、138作为元数据被记录在虚拟执行环境中的其使用将被许可的每个镜像实例中,或者以其它方式与所述每个镜像实例关联。随后在虚拟机监视器执行特定实例期间,相继访问、增加或者用光该实例的使用单位。关于使用的统计信息也可被记录在位于每个计算机系统和/或位于管理架构处的遥测数据库142、143、144。当使用单位接近满期时,虚拟机监视器可例如用信号通知特定的镜像实例将变成非许可的。管理架构随后能够分配更多的使用单位、关闭该镜像实例,或者审计任何非许可的使用,以便随后向最终用户收费或者采取其它形式的补偿。
器件构造器
图2示出按照一个实施例,器件构造器可如何被用于提供可引导机器镜像中的组件信息和基于使用情况的许可元数据的例示。如上所述,按照一个实施例,多个来宾O/S镜像可被打包和部署成将在虚拟机监视器上执行的可引导机器镜像(BMI),其中所述虚拟机监视器随后按照相对于在任意特定时间,在其上执行的每个镜像或BMI配置的资源使用参数和/或策略,复用物理服务器资源。部署到并在特定虚拟机监视器/服务器元组上执行的BMI的集合是动态的,会随着时间而变化。如图2中所示,按照一个实施例,可作为例如虚拟化产品套件的一部分,提供器件构造器工具160,器件构造器工具160可被用于把包括选择的来宾O/S 162、引导加载器164、中间件和应用168、配置元数据170、和任何其它所需组件的BMI 122打包成适当的BMI格式,以使目标虚拟机监视器能够加载和执行其内容。
按照一个实施例,每个来宾镜像O/S包括或者能够在特定的虚拟机监视器抽象层API上执行,或者被修改,从而在特定的虚拟机监视器抽象层API上执行的操作系统。这种O/S的例子包括Linux、UNIX变体、Windows和MacOS。除了上面说明的传统O/S技术之外,特定的虚拟机监视器可托管其它来宾运行时,例如包括被修改、从而直接在虚拟机监视器上运行,而不是作为目标O/S上的应用、按其通常执行模式运行的Java虚拟机。
按照一个实施例,以对于与BMI相关的虚拟机监视器所知的文件格式,提供该BMI,所述文件格式封装支持的来宾O/S、中间件、最终用户应用、和相关的配置元数据工件的实例,从而使虚拟机监视器能够加载和执行其中的来宾O/S和应用。BMI可作为来宾O/S、应用和配置信息的磁盘文件系统表示而被提供,或者可包括所述磁盘文件系统表示,这使来宾O/S能够相对于虚拟机监视器的存在透明地引导。
在特定BMI实例的配装期间,器件构造器能够把组件元数据172插入BMI中,组件元数据172识别BMI中的组件173(这里被图解表示成待获得使用许可的组件A-C 174、176、178)。按照一个实施例,这可通过在虚拟磁盘文件系统或镜像中包含带符号的元数据文件来完成。该元数据随后可被虚拟机监视器和/或管理架构用于计算使用单元,和把所述使用单位应用于其中的组件。
按照一些实施例,尤其是打包多个BMI的组合件,以形成复合应用的那些实施例,可以使用组合贡献加权(combinatorial contributionweighting)180来提供组件加权。下面关于镜像组合件,更详细地说明组合贡献加权特征。
由于虚拟机监视器通常对来宾O/S内部和/或在其中执行的应用一无所知,因此除非它被提供来宾O/S实现的知识(依据该知识,它可检查其数据结构,以提取使用信息),否则虚拟机监视器类似地不了解构成BMI的各个组件/进程。因而,按照一个实施例,虚拟机监视器把BMI使用视为某种形式的“黑箱”,即,在整个镜像实例和运行于其中的组件的范围内,宏观地确定每个镜像实例消耗的资源。在不对来宾O/S和/或应用本身作出侵入式改变的情况下,在虚拟机监视器上的来宾O/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和其它元数据工件。镜像组合件随后可被部署到虚拟执行环境中的虚拟机监视器上。
按照一个实施例,为了在虚拟机监视器不了解且不检查目标来宾O/S的内部的情况下,适应“复合”BMI组合件(即,包含多个可获许可的组件的BMI)的许可,可以使用“组合贡献加权”方案180。组合贡献加权使系统可以跨越其中的可获许可的组件,分配/赋予由复合BMI消耗的资源。当利用器件构造器组装单个BMI,或者利用组合件管理器,把一个或多个BMI组装成复合应用组合件时,管理架构可按照可靠并且不可否认的方式,把每个可获许可的组件的加权并入其中,以便由许可系统随后使用。这些加权可由厂家为每个单独的可获许可组件(例如,在安全的许可证存储器中)分派,可以和在单个BMI内,或者包含多个BMI的复合应用内组合的其它可获许可组件一起计算。
遥测信息
如上所述,按照一个实施例,在每个计算机系统的虚拟机监视器收集遥测信息,或者以其它方式聚集与该计算机系统上的每个特定镜像实例在其生命周期内,对系统的物理资源的使用有关的统计信息。可通过网络远程访问所述遥测信息,或者可按照某种持续的形式(例如,本地/远程磁盘)收集所述遥测信息,以便稍后分析。一些虚拟机监视器相对于运行于其上的托管/来宾O/S和应用是“透明的”;而其它虚拟机监视器则可能需要与它们所支持的“来宾”操作系统的额外集成,和/或向应用提供API以便更紧密地与托管虚拟机监视器平台集成。这种额外的应用层集成一般向应用提供管理和遥测便利,而O/S层集成通常是由虚拟机监视器体系结构和实现做出的选择的结果,所述虚拟机监视器体系结构和实现完成特定来宾O/S和虚拟机监视器所虚拟化的硬件设备/系统接口之间的接口。
如上所述,按照一个实施例,虚拟机监视器聚合(实时地)特定镜像实例的生命周期(开始-结束)内每个BMI实例的使用,并连续地、依据请求地或者在镜像关闭/终止时,把它们报告给管理架构,在一些情况下,按照不可否认的并且记录在BMI中的格式(例如,在关闭时,作为加密文件格式)报告给管理架构。可被跟踪的统计信息的例子包括:带时间戳的从启动以来消耗的实际CPU(秒);带时间戳的从启动以来消耗的平均存储器;带时间戳的从启动以来的全部I/O操作;带时间戳的从启动以来的全部网络I/O。
遥测信息允许管理架构的许可组件追溯或者主动地计算每个BMI使用,并且能够实现例如:基于追溯审计的使用许可模型;主动的动态“即付即用”模型,其中从虚拟机监视器与管理架构交换使用信息,管理架构又答复以将由虚拟机监视器施加于被特定BMI实例消耗的资源的附加使用“信用”;记录在BMI中(由管理架构的许可组件),并在执行期间由虚拟机监视器访问的使用单位的主动、静态的初始分配。在满期时,或者在指定的“低水位标”的情况下,虚拟机监视器能够用信号通知许可组件,特定的BMI将变成非许可的(通过使用其所有分配额),从而管理架构可分配更多的使用单位,关闭BMI,或者审计非许可的使用,以便稍后补偿。
在一些实施例中,比如与其作为“来宾”O/S上的应用的通常执行模式相比,Java虚拟机(JVM)被修改以直接在虚拟机监视器上运行的情况,可用遥测逻辑修改JVM的运行时,以便在托管虚拟机监视器及其管理基础结构中知道遥测能力和相关API;在这种情况下,JVM可相对于运行于其中的Java中间件和应用,以及它们的资源消耗,向虚拟机监视器提供额外的“实时”遥测。这种额外的遥测使基于使用情况的许可能够为许可目的提供更真实的使用报告。
示范性例子
图6示出按照一个实施例,基于使用情况的许可的提供和利用的例子。如图6中所示,在本特定例子中,部署包括虚拟机监视器的虚拟执行环境的客户可能希望用下述组件构建应用器件(appliance):
(a)HTTP服务器;
(b)应用服务器(例如,WebLogic或WLS);
(c)JVM;
(d)关系数据库(RDBMS);和
(e)操作系统(O/S,例如Linux)。
还包括一些中间层应用代码(例如,在WebLogic中)。通过利用器件构造器和组合件管理器,他们构建这些组件、其应用、和任何配置元数据工件的BMI,并把该镜像命名为“MyAppApplicance”280。
在组装该镜像的处理中,组合件管理器产生包含上面的可获许可组件的列表,以及它们的相关“组合贡献加权”。通过询问组合贡献加权数据库,组合件工具组装BMI镜像和许可工件,所述许可工件包含组件及其加权的列表,在本例中,所述列表可以是:
(a)HTTP服务器         5%
(b)应用服务器(WLS)    40%(包括用户应用代码)
(c)JVM                5%
(d)关系数据库(RDBMS)  40%
(e)操作系统(O/S)      10%
最终用户把该BMI的实例288、290部署到其服务器群、虚拟执行环境或者云上,然后运行他们的应用。
在本例中,最终用户选择了厂家在每月末对其使用情况开列账单的选项。遥测信息或统计信息292表示在过去的一个月内,他们在多个服务器上启动和停止了“MyAppAppliance”BMI的多个实例。虚拟机监视器持续收集和报告每个实例生命周期的CPU、I/O、存储器和网络统计信息,管理架构相应记录了这些统计信息。(不可否认的)日志可能看起来如图6中所示。在30天周期的结尾,管理架构可相应地合计使用信息294。在本例中,看起来“MyAppAppliance”使用了总共26208CPU分钟的资源。假定Oracle的当前使用许可只对CPU使用进行许可。许可架构随后把得到许可的组件的组合贡献加权应用于该总的CPU使用。
(a)使用的HTTP服务器        1310cpu/分钟
(b)使用的应用服务器(WLS)   10483
(c)使用的JVM               1310
(d)使用的关系数据库(RDBMS) 10483
(e)使用的操作系统(O/S)     2620
厂家随后可应用它们当前的价格/使用单位费用,和任何总额折扣或组合折扣等向最终用户收取对应的许可费296。
通过利用按照本公开的教导编程的一个或多个常规的通用或专用数字计算机、计算装置、机器、或微处理器,包括一个或多个微处理器、存储器和/或计算机可读存储介质,可以便利地实现本发明。对软件领域的技术人员来说,显然根据本公开的教导,有经验的程序员能够容易地编写适当的软件编码。
在一些实施例中,本发明包括计算机程序产品,所述计算机程序产品是其中保存有可用于对计算机编程,以执行本发明的任意处理的指令的存储介质或者计算机可读介质。所述存储介质可包括(但不限于)任意种类的磁盘(包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储装置、磁卡或光卡、纳米系统(包括分子存储器IC)、或者任何种类的适合于保存指令和/或数据的介质或装置。
出于举例说明的目的,提供了本发明的以上说明。上述说明不是穷尽的,也不意图把本发明局限于公开的具体形式。对本领域的技术人员来说,许多修改和变化是显而易见的。选择和说明各个实施例是为了更了地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各个实施例和适合于预期的特定应用的各种修改。本发明的范围由以下权利要求和其等同物限定。

Claims (18)

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所述的计算机可读存储介质,其中所述指令还包括:
利用组合贡献加权,所述组合贡献加权定义特定镜像中的多个可获许可组件的加权,其中管理架构通过确定由所述组合贡献加权修改的镜像实例的整体使用,确定每个可获许可组件的使用,以便许可每个可获许可组件的使用。
CN201080042413.6A 2009-09-24 2010-08-27 虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法 Active CN102511034B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/566,380 2009-09-24
US12/566,380 US11132237B2 (en) 2009-09-24 2009-09-24 System and method for usage-based application licensing in a hypervisor virtual execution environment
PCT/US2010/047010 WO2011037720A1 (en) 2009-09-24 2010-08-27 System and method for usage-based application licensing in a hypervisor virtual execution environment

Publications (2)

Publication Number Publication Date
CN102511034A true CN102511034A (zh) 2012-06-20
CN102511034B CN102511034B (zh) 2016-02-24

Family

ID=43048880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080042413.6A Active CN102511034B (zh) 2009-09-24 2010-08-27 虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法

Country Status (6)

Country Link
US (1) US11132237B2 (zh)
EP (1) EP2480966B1 (zh)
JP (1) JP5627690B2 (zh)
KR (1) KR101697269B1 (zh)
CN (1) CN102511034B (zh)
WO (1) WO2011037720A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572245A (zh) * 2013-10-22 2015-04-29 国际商业机器公司 用于管理支持多个简档的虚拟设备的方法和系统
CN105975328A (zh) * 2016-04-29 2016-09-28 上海交通大学 基于安全虚拟机的日志文件安全审计系统及方法
CN106201646A (zh) * 2014-08-15 2016-12-07 英特尔公司 用于安全虚拟机间共享存储器通信的技术
CN107436808A (zh) * 2016-04-22 2017-12-05 凯为公司 用于动态虚拟片上系统的方法和装置
US11132237B2 (en) 2009-09-24 2021-09-28 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
CN113448740A (zh) * 2021-09-01 2021-09-28 北京鲸鲮信息系统技术有限公司 操作系统的电源管理方法及装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063769B2 (en) * 2010-02-04 2015-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Network performance monitor for virtual machines
US8621081B2 (en) * 2010-12-29 2013-12-31 Verizon Patent And Licensing Inc. Hypervisor controlled user device that enables available user device resources to be used for cloud computing
CN103907128B (zh) 2011-06-14 2018-01-12 英派尔科技开发有限公司 用于云计算环境的峰值性能已知计费
US9245095B2 (en) 2011-10-25 2016-01-26 Ca, Inc. System and method for license management of virtual machines at a virtual machine manager
US8620820B2 (en) 2011-11-15 2013-12-31 International Business Machines Corporation Management of dynamic assembly and licensing of appliances
US10282221B2 (en) * 2011-12-09 2019-05-07 International Business Machines Corporation Controlling usage of virtual disks before their attachment to virtual machines
US9245096B2 (en) 2012-01-24 2016-01-26 International Business Machines Corporation Software license management in a networked computing environment
US9165332B2 (en) * 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US10528994B2 (en) 2012-03-29 2020-01-07 International Business Machines Corporation Allocation of application licenses within cloud or infrastructure
JP2014002583A (ja) * 2012-06-19 2014-01-09 Nifty Corp 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
US20130346227A1 (en) * 2012-06-22 2013-12-26 Microsoft Corporation Performance-Based Pricing for Cloud Computing
US8972971B2 (en) 2012-08-09 2015-03-03 International Business Machines Corporation Image instance mapping
GB2506195A (en) * 2012-09-25 2014-03-26 Ibm Managing a virtual computer resource
KR101731934B1 (ko) 2013-01-22 2017-05-11 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 소프트웨어 애플리케이션을 위한 안전장치 라이센싱
US9686171B1 (en) * 2013-07-22 2017-06-20 Veritas Technologies Systems and methods for attributing input/output statistics networks to region-mapped entities
US9825908B2 (en) 2013-12-11 2017-11-21 At&T Intellectual Property I, L.P. System and method to monitor and manage imperfect or compromised software
WO2015087444A1 (ja) * 2013-12-13 2015-06-18 株式会社日立システムズ ライセンス管理システムおよびライセンス管理方法
EP3002699A1 (en) * 2014-09-30 2016-04-06 Alcatel Lucent A method for controlling the execution of an application in a virtual computer environment
US9460273B2 (en) * 2014-10-29 2016-10-04 International Business Machines Corporation Automatic generation of license terms for service application marketplaces
US9588795B2 (en) * 2014-11-24 2017-03-07 Aspen Timber LLC Monitoring and reporting resource allocation and usage in a virtualized environment
US10503787B2 (en) 2015-09-30 2019-12-10 Oracle International Corporation Sharing common metadata in multi-tenant environment
US9672140B1 (en) * 2015-12-28 2017-06-06 Sap Se Processing special requests at dedicated application containers
US9965313B2 (en) 2016-01-05 2018-05-08 Bitdefender IPR Management Ltd. Systems and methods for auditing a virtual machine
DE102019103445A1 (de) 2019-02-12 2020-08-13 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Lizenzierung einer Toolkette
US11372951B2 (en) 2019-12-12 2022-06-28 EMC IP Holding Company LLC Proxy license server for host-based software licensing
US11947436B2 (en) 2020-12-21 2024-04-02 International Business Machines Corporation Automatic evaluation of virtual machine computing power
US11422718B1 (en) 2021-05-03 2022-08-23 EMC IP Holding Company LLC Multi-path layer configured to provide access authorization for software code of multi-path input-output drivers
CN113760767B (zh) * 2021-09-10 2024-04-19 元心信息科技集团有限公司 操作系统的调试方法、装置、电子设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050763A1 (en) * 2005-08-23 2007-03-01 Mellanox Technologies Ltd. System and method for accelerating input/output access operation on a virtual machine
CN101425022A (zh) * 2007-10-31 2009-05-06 惠普开发有限公司 虚拟机设备的动态分配

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54142434A (en) 1978-04-28 1979-11-06 Suzuki Motor Co Ltd Fuel tank for two-cycle engine
JP2001301690A (ja) 1999-05-25 2001-10-31 Toshiba Tec Corp 遊泳補助装置
JP4292693B2 (ja) 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
JP2002041304A (ja) * 2000-07-28 2002-02-08 Hitachi Ltd 論理区画の予備リソース自動付与方法及び論理区画式計算機システム
US7096469B1 (en) * 2000-10-02 2006-08-22 International Business Machines Corporation Method and apparatus for enforcing capacity limitations in a logically partitioned system
US7515718B2 (en) * 2000-12-07 2009-04-07 Igt Secured virtual network in a gaming environment
JP2004171412A (ja) 2002-11-21 2004-06-17 Ntt Data Corp 仮想pcレンタル装置、コンピュータが実行するためのプログラム、および仮想pcレンタルシステム
JP2004280200A (ja) 2003-03-12 2004-10-07 Ricoh Co Ltd ソフトウェア部品流通システム、プログラム及び記憶媒体
US7620950B2 (en) * 2003-07-01 2009-11-17 International Business Machines Corporation System and method to monitor amount of usage of applications in logical partitions
US20060004667A1 (en) 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for collecting operating system license revenue using an emulated computing environment
US20070028052A1 (en) * 2005-07-28 2007-02-01 International Business Machines Corporation Method and apparatus for maintaining cached state data for one or more shared devices in a logically partitioned computer system
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP5110315B2 (ja) 2006-05-24 2012-12-26 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法およびプログラム
US8032882B2 (en) * 2006-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. System and method for controlling aggregate CPU usage by virtual machines and driver domains
US8336046B2 (en) 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US7941803B2 (en) * 2007-01-15 2011-05-10 International Business Machines Corporation Controlling an operational mode for a logical partition on a computing system
US8689010B2 (en) * 2007-06-28 2014-04-01 Microsoft Corporation Secure storage for digital rights management
US8661552B2 (en) * 2007-06-28 2014-02-25 Microsoft Corporation Provisioning a computing system for digital rights management
WO2009048609A1 (en) * 2007-10-12 2009-04-16 Vkernel Corporation Method, system and apparatus for calculating chargeback for virtualized computing resources
US8205241B2 (en) * 2008-01-30 2012-06-19 Microsoft Corporation Detection of hardware-based virtual machine environment
US20090217263A1 (en) * 2008-02-25 2009-08-27 Alexander Gebhart Virtual appliance factory
US20090216707A1 (en) * 2008-02-26 2009-08-27 International Business Machines Corporation File resource usage information in metadata of a file
US20090292654A1 (en) * 2008-05-23 2009-11-26 Vmware, Inc. Systems and methods for calculating use charges in a virtualized infrastructure
US10719587B2 (en) * 2008-06-25 2020-07-21 Red Hat, Inc. Managing entitlements in a networked environment
US9733959B2 (en) * 2008-09-15 2017-08-15 Vmware, Inc. Policy-based hypervisor configuration management
US8140717B2 (en) * 2008-09-26 2012-03-20 International Business Machines Corporation Controlling access to physical indicators in a logically partitioned computer system
US8549516B2 (en) * 2008-12-23 2013-10-01 Citrix Systems, Inc. Systems and methods for controlling, by a hypervisor, access to physical resources
US8595361B2 (en) * 2009-02-10 2013-11-26 Novell, Inc. Virtual machine software license management
US9805041B2 (en) * 2009-05-04 2017-10-31 Open Invention Network, Llc Policy based layered filesystem management
US8914511B1 (en) * 2009-06-26 2014-12-16 VMTurbo, Inc. Managing resources in virtualization systems
US8498997B2 (en) * 2009-09-23 2013-07-30 Hitachi, Ltd. Server image migration
US11132237B2 (en) 2009-09-24 2021-09-28 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050763A1 (en) * 2005-08-23 2007-03-01 Mellanox Technologies Ltd. System and method for accelerating input/output access operation on a virtual machine
CN101425022A (zh) * 2007-10-31 2009-05-06 惠普开发有限公司 虚拟机设备的动态分配

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FIRST WORKSHOP ON EXECUTION ENVIRONMENTS FOR DISTRIBUTED COMPUTI: "Autonomic resource management for the Xen Hypervisor", 《HTTP://CITESEERX.IST.PSU.EDU》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132237B2 (en) 2009-09-24 2021-09-28 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
CN104572245A (zh) * 2013-10-22 2015-04-29 国际商业机器公司 用于管理支持多个简档的虚拟设备的方法和系统
CN104572245B (zh) * 2013-10-22 2017-11-24 国际商业机器公司 用于管理支持多个简档的虚拟设备的方法和系统
CN106201646A (zh) * 2014-08-15 2016-12-07 英特尔公司 用于安全虚拟机间共享存储器通信的技术
CN106201646B (zh) * 2014-08-15 2020-03-31 英特尔公司 用于安全虚拟机间共享存储器通信的设备和方法
CN107436808A (zh) * 2016-04-22 2017-12-05 凯为公司 用于动态虚拟片上系统的方法和装置
CN107436808B (zh) * 2016-04-22 2023-07-07 马维尔亚洲私人有限公司 用于动态虚拟片上系统的方法和装置
CN105975328A (zh) * 2016-04-29 2016-09-28 上海交通大学 基于安全虚拟机的日志文件安全审计系统及方法
CN105975328B (zh) * 2016-04-29 2019-10-08 上海交通大学 基于安全虚拟机的日志文件安全审计系统及方法
CN113448740A (zh) * 2021-09-01 2021-09-28 北京鲸鲮信息系统技术有限公司 操作系统的电源管理方法及装置
CN113448740B (zh) * 2021-09-01 2021-11-30 北京鲸鲮信息系统技术有限公司 操作系统的电源管理方法及装置

Also Published As

Publication number Publication date
KR20120085772A (ko) 2012-08-01
US11132237B2 (en) 2021-09-28
WO2011037720A1 (en) 2011-03-31
JP2013506194A (ja) 2013-02-21
CN102511034B (zh) 2016-02-24
JP5627690B2 (ja) 2014-11-19
KR101697269B1 (ko) 2017-01-17
US20110072431A1 (en) 2011-03-24
EP2480966A1 (en) 2012-08-01
EP2480966B1 (en) 2018-10-31

Similar Documents

Publication Publication Date Title
CN102511034A (zh) 虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法
JP5785434B2 (ja) 仮想化環境のための管理システム、方法、およびコンピュータ・プログラム
Louridas Up in the air: Moving your applications to the cloud
CN103530170B (zh) 在虚拟机环境中提供硬件虚拟化的系统和方法
US20060004667A1 (en) Systems and methods for collecting operating system license revenue using an emulated computing environment
US20170093669A1 (en) Load response performance counters
Saez et al. PMCTrack: Delivering performance monitoring counter support to the OS scheduler
Pellegrini et al. Autonomic state management for optimistic simulation platforms
Yang et al. Mobile gaming on personal computers with direct android emulation
Zabolotnyi et al. JCloudScale: closing the gap between IaaS and PaaS
Armbrust et al. The magazine archive includes every article published in Communications of the ACM for over the past 50 years.
McGilvary Ad hoc cloud computing
Rumble et al. Apprehending joule thieves with cinder
Binder et al. Using bytecode instruction counting as portable CPU consumption metric
Johnsen et al. A formal model of object mobility in resource-restricted deployment scenarios
US20150112739A1 (en) Method and system for monetization of applications and services in communication devices
Bonetta et al. Towards liquid service oriented architectures
Tchana et al. Mitigating performance unpredictability in the IaaS using the Kyoto principle
Hauck et al. Modelling layered component execution environments for performance prediction
Peternier et al. Overseer: Low-level hardware monitoring and management for java
Fong et al. Duality of virtualization: simplification and complexity
Simão et al. Adaptability driven by quality of execution in high level virtual machines for shared cloud environments
Stoess System support for distributed energy management in modular operating systems
Mayes et al. Language-and application-oriented resource management for parallel architectures
Makki et al. Thread-level CPU and memory usage control of custom code in multi-tenant SaaS

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant