CN101256495B - 用于中间件组件的基于策略自动配置的方法和装置 - Google Patents

用于中间件组件的基于策略自动配置的方法和装置 Download PDF

Info

Publication number
CN101256495B
CN101256495B CN2008100814165A CN200810081416A CN101256495B CN 101256495 B CN101256495 B CN 101256495B CN 2008100814165 A CN2008100814165 A CN 2008100814165A CN 200810081416 A CN200810081416 A CN 200810081416A CN 101256495 B CN101256495 B CN 101256495B
Authority
CN
China
Prior art keywords
middleware component
computing machine
strategy
determined
solution
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.)
Expired - Fee Related
Application number
CN2008100814165A
Other languages
English (en)
Other versions
CN101256495A (zh
Inventor
阿雅·莫因德拉
阿列克塞·A·卡维
奥拉·塞加尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101256495A publication Critical patent/CN101256495A/zh
Application granted granted Critical
Publication of CN101256495B publication Critical patent/CN101256495B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供服务解决方案的方法和设备。在本发明中,确定提供解决方案所必需的中间件组件。然后,确定计算机配置以满足选定方案的选定配置策略。最后,必需的中间件组件被安装在配置后的计算机上,使得可以提供解决方案。一些选定的配置策略是:最大化服务器使用率策略,基于外部资源的可用性自动配置要求外部访问的软件组件,和使安装确定的组件的总时间最小。还可以监视中间件组件的安装进度,以在虚拟机配置中进行任何必需的调整,使得可以满足选定的配置策略。

Description

用于中间件组件的基于策略自动配置的方法和装置
技术领域:
本发明一般涉及数据处理系统,尤其涉及一种用于联网计算机环境中软件和系统管理的计算机实现方法。更具体地,本发明提供了一种用于提供虚拟化服务交付(service delivery)环境中基于策略的自动配置的计算机实现方法、数据处理系统、计算机可用程序代码。
背景技术:
虚拟化正广泛地在用于客户端应用的主机服务的数据中心中使用,因为其支持增加的服务器利用率并且易于管理。然而,随着解决方案变得越来越复杂,每个解决方案的部署需要分配和自动配置(provisioning)跨不同应用层(application tier)的服务器,即需要跨多个应用层安装的多个软件堆栈。缺省情况下,数据中心使用最快自动配置策略,这意味着只要一台服务器可用,就在该服务器上开始中间件的部署。由于安装不同中间件组件的持续时间不同,所以在某些应用层中服务器上的安装先于其安装完成。然而,在跨层的所有服务器都准备好之前,解决方案不能被配置和使能。作为使用这种策略的结果,在自动配置解决方案期间,跨不同层(tier)的服务器处于空闲状态。扩展类似策略以在数据中心使用虚拟化时使用还导致浪费服务器的利用率
在现有技术中,两种方法被用于自动配置:(1)虚拟化环境中从零开始自动配置(provision from scratch),(2)使用冻干(freezedried)虚拟机(VM)堆栈用于解决方案的主机服务。在方法(1)中,由单个虚拟机配置决定自动配置解决方案的速度,部署整个解决方案的时间由需要最多安装时间的组件决定。一旦自动配置运行已经开始,就剩下虚拟机运行完成。当最慢的组件正在安装时,为虚拟机提供主机服务的其它服务器处于空闲。在方法(2)中,使用预定虚拟机镜像来创建和启动虚拟机。这种方法的弱点在于其需要预创建和预配置不同置换(permutation)的镜像来使用。这在需要应用用于某组件的任何补丁的任何时候将导致管理噩梦,因为所有使用该组件的虚拟机镜像都需要被重新创建。
发明内容
因此,本发明提供一种用于提供满足为分布式计算网络中选定的解决方案选择的配置策略的中间件组件的基于策略自动配置的方法和装置。通过本发明,确定提供解决方案所必需的中间件组件。然后,确定计算机配置以满足为选定的解决方案选择的配置策略。最后,必要的中间件组件被安装在配置后的计算机上,从而可以提供符合配置策略的解决方案。
根据本发明的一个方面,提供了一种在具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供解决方案的方法,所述方法包括:
接收为选定的解决方案选择的配置策略;
确定组件步骤,确定所述中间件组件中对于提供所述解决方案所必需的那些中间件组件;确定配置步骤,确定所述计算机中要在其上部署所确定的中间件组件的多个计算机中每一个计算机的配置,以满足选定的配置策略;以及
安装步骤,在所述多个计算机上安装所确定的中间件组件,其中所述多个计算机中每一个计算机如所述确定配置步骤中所确定的那样被配置,并且其中满足选定的配置策略并可以提供所述解决方案。
根据本发明的另一个方面,提供了一种在具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供解决方案的设备,所述设备包括:
自动配置管理器,用于确定所述中间件组件中对于提供所述解决方案所必需的那些中间件组件;
策略管理器,用于确定所述计算机中要在其上部署所确定的中间件组件的多个计算机中每一个计算机的配置,以满足策略管理器接收的为选定的解决方案选择的配置策略;以及
虚拟机管理器,用于根据所述策略管理器确定的多个计算机中每一个计算机的配置来配置所述多个计算机中的每一个计算机;并且
所述自动配置管理器还用于在被所述虚拟机管理器配置的所述多个计算机上安装所确定的中间件组件,使得可以提供所述解决方案。
一些选择的配置策略可能如下:最大化服务器使用率策略,基于外部资源可用性自动配置需要外部访问的软件组件,和使安装所确定的组件的总时间最小。
还可以监视中间件组件的安装过程,以在虚拟机的配置中进行任何必要调整,使得可以满足选择的配置策略。
附图说明
在所附的权利要求书中阐述了说明性实施例的被认为是新特性的特性。然而,说通过结合附图参考下面对说明性实施例的详细描述将更好地理解明性实施例以及优选使用模式、其他目标和优势,其中:
图1描绘了其中可以实现说明性实施例的数据处理系统网络的图形表示;
图2描绘了其中可以实现说明性实施例的数据处理系统的框图;
图3描绘了根据一个说明性实施例的虚拟化服务交付环境的示意性表示。
图4展现了根据一个说明性实施例的解决方案的3个层。
图5描绘了解决方案提供用于说明性实施例的关系图的一个示例。
图6描绘了根据一个说明性实施例的基于策略管理系统的逻辑架构的示意性表示。
图7的流程图示出了根据一个说明性实施例的自动配置管理器所执行的步骤。
图8的流程图示出了根据一个说明性实施例的策略管理器所执行的步骤。
图9的流程图示出了根据一个说明性实施例的策略管理器响应于来自进度监视器的通知所执行的步骤。
具体实施方式
现在参考附图,特别是参考图1和2,提供其中可以实现实施例的数据处理环境的例示性图表。应该指出,图1和2仅仅是示例性的,而并不是要断言或暗示对于其中可以实现实施例的环境的任何限制。对于所示环境可以进行多种修改,而不背离说明性实施例的精神和范畴。
现在参考附图,图1描绘了其中可以实现说明性实施例的数据处理系统网络的图形表示。网络数据处理系统100是其中可以实现实施例的计算机网络。网络数据处理系统100包含网络102,其中网络102是用于在网络数据处理系统100内互相连接的各装置和计算机之间提供通信链路的媒介。网络102可以包括诸如有线、无线通信链路、或者光缆这样的连接。
在所描绘的例子中,服务器104和服务器106与存储单元108都连接到网络102。此外,客户端110、112和114连接到网络102。这些客户端110、112和114例如可以是个人计算机或者网络计算机。在所描绘的例子中,服务器104提供诸如引导文件、操作系统镜像和应用程序这样的数据给客户端110、112和114。在这个例子中,客户端110、112和114是服务器104的客户端。网络数据处理系统100可以包括其他服务器、客户端和其它没有示出的装置。
在所描绘的例子中,网络数据处理系统100是因特网,其中网络102表示使用传输控制协议/因特网协议(TCP/IP)协议族的协议相互通信的网络和网关的全球集合。因特网的核心是包括路由数据和消息的成千上万的商业、政府、教育和其他计算机系统的主要节点或主机计算机之间的高速数据通信线的主干网络。当然,网络数据处理系统100也可以被实现为许多不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。图1用作一个例子,并不是对于不同实施例的架构限制。
现在参考图2,示出了其中可以实现说明性实施例的数据处理系统的框图。数据处理系统200是实现实施例处理过程的计算机可用代码或指令可以被放置在其中的计算机的例子,诸如图1中的服务器104或者客户端110。
在所描绘的例子中,数据处理系统200使用集线架构(hubarchitecture),包括北桥和存储器控制中心(MCH:memory controllerhub)202、南桥和输入/输出(I/O)控制中心(ICH)204。处理器206、主存储器208、和图形处理器210被耦接到北桥和存储器控制中心202。图形处理器210例如可以通过加速图形端口(AGP)被耦接到存储器控制中心(MCH)。
在所描绘的例子中,局域网(LAN)适配器212被连接到南桥和I/O控制中心204,音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其他通信端口232和PCI/PCIe设备234通过总线238连接到南桥和I/O控制中心204,硬盘驱动器(HDD)226和CD-ROM驱动器230通过总线240连接到南桥和I/O控制中心204。PCI/PCIe设备例如可以包括以太网适配器、附加卡(add-in card)和用于笔记本电脑的PC卡。PCI使用插件总线控制器(card bus controller),而PCIe不使用。ROM 224例如可以是闪存(flash)二进制输入/输出系统(BIOS:binary input/output system)。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动器件电子技术(IDE)或串行高级技术连接(SATA)接口。超级I/O(SIO)设备236可以被连到南桥和I/O控制中心204。
操作系统运行在处理器206上,并且操作系统协调和提供图2中数据处理系统200中各组件的控制。操作系统可以是商用操作系统,诸如
Figure GSB00000523206000051
XP(Microsoft和Windows是Microsoft公司在美国、其他国家或二者的商标)。面向对象编程系统、诸如JavaTM编程系统可以与操作系统结合运行,并且提供从在数据处理系统200上执行的应用程序或Java程序对操作系统的调用(Java和所有基于Java的商标都是Sun Microsystems公司在美国和其他国家或二者的商标)。
操作系统、面向对象编程系统和应用程序或程序的指令位于存储装置、诸如硬盘驱动器226上,并且可以被加载到主存储器208中用于由处理器206执行。说明性实施例的处理过程可以由处理器206利用计算机实现指令执行,其中计算机实现指令可以位于存储器、诸如主存储器208、只读存储器225上,或者位于一个或多个外围装置中。
图1和2中的硬件可以根据具体实现而变化。作为图1和2中所示的硬件的附加或替代,可以使用其他内部硬件或外围装置,诸如闪存、等效的非易失性存储器、或光盘驱动器等。同样,说明性实施例的处理过程可以被应用到多处理器数据处理系统。
在一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),其通常配置有闪存来提供用于存储操作系统文件和/或者用户生成数据的非易失性存储器。总线系统可以包括一个或多个总线,诸如系统总线、I/O总线和PCI总线。当然,可以利用提供连接到通信组织或架构的不同装置和组件之间数据传输的任何类型的通信组织或架构来实现总线系统。通信单元可以包括一个或多个用于传输和接收数据的装置,诸如调制解调器或网络适配器。存储器例如可以是主存储器208或诸如北桥和存储器控制中心202中的缓存。处理单元可以包括一个或多个处理器或CPU。图1和2中所描述的示例和上述示例并不意味着暗示架构限制。例如,除PDA形式之外,数据处理系统200也可以是平板电脑(tablet computer)、便携式计算机或电话装置。
说明形性实施例提供了一种计算机实现方法、数据处理系统和用于编译源代码的计算机可用程序代码。可以在数据处理系统、诸如图1所示数据处理系统100或图2所示数据处理系统200中执行说明性实施例的计算机实现方法。
图3描绘了根据一个说明性实施例的虚拟化服务交付环境的示意性表示。来自因特网/内联网的请求被位于DMZ中的路由器装置306接收。路由器装置通常由诸如IBM的WebSeal软件这样的逆向代理实现。这些来自用户的请求然后经由网络308被引导到驻宿在运行于物理服务器(302)中心上的虚拟机(310)集合上的解决方案。系统管理员304借助于管理服务器312管理和监视服务器中心(serverfarm)。管理服务器运行软件以辅助对服务器中心的自动配置、监视、测定和问题确定。
图4展现了根据一个说明性实施例的应用方案的3个层。一个应用方案的示例可以是在储蓄借贷机构中维护客户账户信息数据库。第一层是表示或者Web层402。它处理与用户的交互,并且包含HTML页面、图像以及用于显示和处理页面的代码,诸如portlets和/或servlets。与表示层的典型交互是经由网页浏览器的。该实施例在多层(n层)架构下也有效,为了简单起见,只说明3层。
第二层被称为应用层或业务层404,其处理所用客户端的请求。其通过执行特定于解决方案的所有功能性的业务流程或实际的J2EE应用程序来体现。
第三层被叫做数据库层406,其包含用于管理和保存特定于解决方案的所有数据的组件。
图5描绘了解决方案提供用于说明性实施例的关系图的示例。关系图被表示成突出不同组件之间关系和相关性的XML文件。在图中,“借贷方案”422依赖于3个组件的可用性:WebSphere入口服务器424、WebSphere处理服务器430、和DB2服务器434。此外,WebSphere入口服务器424依赖于WebSphere应用服务器426和DB2客户端428,而WebSphere处理服务器依赖于DB2客户端432。
图6描绘了根据一个说明性实施例的基于策略管理系统的逻辑架构的示意性表示。策略管理系统的关键组件是自动配置管理器504。如箭头516-518和520所示,它与虚拟机管理器502和策略管理器组件506通信。管理入口502可用于与自动配置管理器和策略管理器交互,如图中箭头520所示。策略管理器使用储存库510来保存所需的策略和配置信息。参见箭头519。虚拟机管理器504负责创建和管理自动配置管理器为了解决方案部署而使用的虚拟机。参见箭头513。策略管理器组件506负责生成虚拟机配置,其中自动配置管理器使用该虚拟机配置来开始解决方案的部署。此外,策略管理器组件还监视各个中间件组件的自动配置过程(见箭头515),并向自动配置管理器推荐为了确保中间件组件的自动配置与为特定部署所分配的策略设置一致而需要进行的对虚拟机的调整。
图7的流程图示出了根据一个说明性实施例的自动配置管理器所执行的步骤。当自动配置管理器从管理入口(或外部源)接收到自动配置方案请求(602)以及优选的策略名称时,自动配置管理器从配置储存库(604)中检索解决方案的关系图。这种步骤假定自动配置管理器知道需要部署的解决方案。稍后描述经由管理入口初始化系统。关系图列出了在安装解决方案之前需要被安装到三层上的中间件组件。自动配置管理器将相关性信息和所选择的策略名称传递到策略管理器,以获得(606)中间件组件的安装顺序和需要(608)在三个应用层上创建的虚拟机的初始虚拟机配置。自动配置管理器请求虚拟机管理器以指定的配置创建虚拟机。在虚拟机已经被创建和设置后,自动配置管理器开始在虚拟机610上部署中间件组件。参见箭头514。在步骤620里,自动配置管理器等待来自策略管理器的关于改变虚拟机配置参数的通知。如果接受到这样一个通知,则在步骤622中,自动配置管理器通知虚拟机管理器进行这样的改变。在步骤612中,自动配置管理器检查是否所有自动配置都完成了。在完成后,它通知(614)策略管理器组件完成的实际时间。在步骤616中,自动配置管理器在中间件组件之上开始在三个层上安装应用方案,并且在步骤618中,自动配置管理器完成安装。
图8的流程图示出了根据一个说明性实施例的策略管理器所执行的步骤。当策略管理器从自动配置管理器接收到“生成虚拟机配置”请求以及特定策略时,(702)它识别对于解决方案的中间件要求,(704)并确定所需要的虚拟机数目。接下来,基于分配的软件堆栈和相关策略,策略管理器计算虚拟机的配置。例如,如果策略指示服务器使用率最大化,则计算在这组虚拟机上自动配置堆栈所要求的时间。(708,710)为了执行该计算,策略管理器使用存储关于系统中不同中间件组件的通常安装时间的信息的表706。例如,表706的一行表明在存储器为4GB的2GHz机器上安装WPS要花费大约30分钟。这个数据被用来计算跨三个应用层安装中间件堆栈所花费的总时间。例如,如果层1虚拟机需要WP,层2虚拟机需要WPS和DB2客户端,层3虚拟机需要DB2服务器,则3个层中每一个的总时间分别是480分钟、40分钟和20分钟。该信息与将运行虚拟机的物理服务器的实际CPU速度一起然后被用来计算为了3个层中每一个上的中间件安装几乎同时完成而应该被分配给每个虚拟机的存储器和CPU份额的数量。用于为要求所有中间件安装同时完成的策略计算虚拟机份额的数量的算法基于预期安装总时间的比例来计算份额。对于这个例子,分配给3个层的份额比例是480∶40∶20。基于该策略,策略管理器还计算所选择的机器应该被自动配置的顺序。(712)产生该顺序的算法被编码在基于分配给请求的虚拟机数目产生特定部署顺序的Java类中。计算出的虚拟机配置和顺序被返回给自动配置管理器。自动配置管理器传递配置信息给虚拟机管理器,以创建虚拟机,并使用顺序信息来开始中间件在虚拟机上的部署。计算出的顺序在步骤714中被返回到自动配置管理器。
优选实施例讨论“最大化”服务器使用率策略。策略管理器实现多个其他策略,诸如:
1.基于外部资源(DB2)的可用性自动配置要求外部访问的组件。
2.首先完成基本安装,然后完成可由应用程序共享的可选组件。
3.使安装中间件组件所需要的总时间最小化。
策略管理器也可以支持全局策略,其中全局策略然后可以被转化为低级策略以指定需要重新分配资源的确切时间(如果完成时间之间的差>某指定数)和需要重新分配的资源的百分比。同样,如果层1的完成时间<某指定时间(5分钟),则层1自动配置完成,使得它的所有资源将被使用。同样的方法可以被用于以下情况,即多个解决方案需要被自动配置并且某中间件组件是公共的;在这种情况下,策略可以指定可以从公共中间件获取资源的条件。
在虚拟机已经被虚拟机管理器创建之后,自动配置管理器还在各个虚拟机上安装“进度监视器”508组件。这个组件负责周期性地通知策略管理器每个中间件组件的安装进度。进度按照<中间件组件><完成百分比>被报告,并被发送到跟踪每个请求的进度的策略管理器。本领域技术人员能够实现进度监视器。例如,可用使用IBM公司或BMC软件公司的软件产品。
在已经安装“进度监视器”组件之后,自动配置管理器根据策略管理器所产生的顺序开始自动配置跨所有虚拟机的堆栈。“进度监视器”接收安装器事件和/或监视来自不同组件的日志和报告每个的完成百分比给策略管理器。这些指示可以是不规律的。进度的不均匀速率被平滑,并且在更长的时间间隔期间,发送包含估算的完成百分比的定时报告。图9的流程图示出了根据一个说明性实施例的策略管理器响应于来自进度监视器的通知而执行的步骤。基于该报告数据802,策略管理器重新计算与策略相关的目标函数,并且计算利用目标函数所计算的预测值与利用目标函数重新计算的实际值之间的偏差804。
在步骤806中,策略管理器确定是否需要调整,诸如当存在明显偏差时。对于任何这样的明显偏差,策略管理器重新计算808虚拟机配置,并且通知自动配置管理器新的配置810。自动配置管理器与虚拟机管理器协调以基于新计算的值动态地调整虚拟机配置。步骤812标记消息处理完成。
管理入口提供用于初始化和管理自动配置过程的装置。图6的管理入口512是网页应用程序,它提供用于向策略管理器填充策略信息(图8的表716)和关于安装各软件产品的时间的信息(图8的表706)的装置。管理入口还提供用于发布解决方案信息及其关系图到自动配置管理器的装置。
在一个优选实施例中,使用虚拟机的CPU分配来演示本发明的创新;然而其通过调整诸如存储器、网络访问速度、硬盘访问速度等这样的其它资源也有效。
本发明可以采用完全硬件实施例、完全软件实施例或既包含硬件元件又包含软件元件的实施例的形式。在一个优选实施例中,本发明被实现为软件,这包括但不限于固件、驻留软件、微代码等等。
此外,本发明可以采取可从提供由计算机或任何指令执行系统使用或与其结合的程序代码的计算机可用或计算机可读介质来访问的计算机程序产品的形式。就本说明书而言,计算机可用或计算机可读介质可以是可以包含、存储、通信、传播或传输由指令执行系统、装置或设备使用或与其结合的程序的任何有形装置。
介质可以是电子的、磁的、光的、电磁的、红外的、或半导体的系统(或装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。现光盘的当前例子包括只读光盘存储器(CD-ROM)、读/写光盘存储器(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统包括直接地或通过系统总线间接地耦接到存储器部件的至少一个处理器。存储器部件可以包括在程序代码实际执行过程中所使用的本地存储器、大容量存储器、和提供至少某程序代码的暂时存储以便减少在执行期间必须从大容量存储器检索代码的次数的缓存。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可以直接或通过中间I/O控制器耦接到系统。
网络适配器同样可用被耦接到系统,以使数据处理系统能够通过之间私网或公网而耦接到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡都只是当前可用的网络适配器类型中的一些。
已经为了阐述和描述的目的展示了本发明的描述,并且并不是要穷举或限制到公开形式的发明。对于本领域技术人员而言,许多修改和变动是显而易见的。选择和描述了实施例,以便最好地解释本发明的原则、实际应用,并且为了使本领域技术人员能够理解具有各种修改的本发明的各个实施例适于可以想到的特定用途。

Claims (12)

1.一种在具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供解决方案的方法,所述方法包括:
接收为选定的解决方案选择的配置策略;
确定组件步骤,确定所述中间件组件中对于提供所述解决方案所必需的那些中间件组件;确定配置步骤,确定所述计算机中要在其上部署所确定的中间件组件的多个计算机中每一个计算机的配置,以满足选定的配置策略;以及
安装步骤,在所述多个计算机上安装所确定的中间件组件,其中所述多个计算机中每一个计算机如所述确定配置步骤中所确定的那样被配置,并且其中满足选定的配置策略并可以提供所述解决方案。
2.如权利要求1所述的方法,其中所述选定的配置策略至少包括以下策略之一:最大化服务器使用率,基于外部资源的可用性自动配置要求外部访问的软件组件,和使安装所确定的组件的总时间最小。
3.如权利要求1所述的方法,还包括监视步骤,监视所述中间件组件的安装进度,以确定是否需要进一步调整所述计算机的配置以满足所述选定的配置策略。
4.如权利要求1所述的方法,其中所述确定配置步骤包括确定每个计算机的虚拟机的下列参数中的至少一个:存储器大小,磁盘大小,和中央处理单元的使用百分比。
5.一种在具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供解决方案的方法,所述方法包括:
接收为选定的解决方案选择的配置策略;
确定组件步骤,确定所述中间件组件中对于提供所述解决方案所必需的那些中间件组件;
确定顺序步骤,确定在所述计算机中要在其上部署所确定的中间件组件的多个计算机中每一个计算机上安装所确定的中间件组件的顺序,以满足选定的配置策略;以及
安装步骤,在所述多个计算机上按照所确定的顺序安装所确定的中间件组件,其中满足所述选定的配置策略,并且可以提供所述解决方案。
6.如权利要求5所述的方法,其中所述选定的配置策略包括以下策略中至少一种:最大化服务器使用率,基于外部资源的可用性自动配置要求外部访问的软件组件,和使安装所确定的组件的总时间最小。
7.一种在具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供解决方案的方法,所述方法包括:
接收为选定的解决方案选择的配置策略;
确定组件步骤,确定所述中间件组件中对于提供所述解决方案所必需的那些中间件组件;
确定时间步骤,确定在所述计算机中多个计算机中相应的计算机上安装所确定的必需的那些中间件组件所花费的时间;以及
安装步骤,在所述多个计算机上安装所选择的中间件组件中每一个,使得每个所确定的必需的那些中间件组件安装同时完成。
8.如权利要求7所述的方法,其中所选择的配置策略包括以下策略中至少一种:最大化服务器使用率,基于外部资源的可用性自动配置要求外部访问的软件组件,和使安装所确定的组件的总时间最小。
9.如权利要求8所述的方法,还包括监视步骤,监视所述中间件组件的安装进度,以确定是否需要进一步调整所述计算机的配置以满足同时地完成所述选择的中间件组件的安装的所述选定的配置策略。
10.一种在具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供解决方案的设备,所述设备包括:
自动配置管理器,用于确定所述中间件组件中对于提供所述解决方案所必需的那些中间件组件;
策略管理器,用于确定所述计算机中要在其上部署所确定的中间件组件的多个计算机中每一个计算机的配置,以满足策略管理器接收的为选定的解决方案选择的配置策略;以及
虚拟机管理器,用于根据所述策略管理器确定的多个计算机中每一个计算机的配置来配置所述多个计算机中的每一个计算机;并且
所述自动配置管理器还用于在被所述虚拟机管理器配置的所述多个计算机上安装所确定的中间件组件,使得可以提供所述解决方案。
11.如权利要求10中所述的设备,其中所述选定的配置策略包括以下策略至少之一:最大化服务器使用率,基于外部资源的可用性自动配置要求外部访问的软件组件,和使安装所确定的组件的总时间最小。
12.如权利要求10所述的设备,还包括进度监视器,用于监视所述中间件组件的安装进度,使得所述策略管理器能够确定是否需要进一步调整所述计算机的配置,以满足所述选定的配置策略。
CN2008100814165A 2007-02-27 2008-02-21 用于中间件组件的基于策略自动配置的方法和装置 Expired - Fee Related CN101256495B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/679,223 US8028048B2 (en) 2007-02-27 2007-02-27 Method and apparatus for policy-based provisioning in a virtualized service delivery environment
US11/679,223 2007-02-27

Publications (2)

Publication Number Publication Date
CN101256495A CN101256495A (zh) 2008-09-03
CN101256495B true CN101256495B (zh) 2011-08-17

Family

ID=39717177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100814165A Expired - Fee Related CN101256495B (zh) 2007-02-27 2008-02-21 用于中间件组件的基于策略自动配置的方法和装置

Country Status (2)

Country Link
US (1) US8028048B2 (zh)
CN (1) CN101256495B (zh)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127059B2 (en) 2008-05-02 2018-11-13 Skytap Multitenant hosted virtual machine infrastructure
WO2010014080A1 (en) * 2008-07-29 2010-02-04 Hewlett-Packard Development Company, L.P. Resource deployment management
US9100297B2 (en) 2008-08-20 2015-08-04 Red Hat, Inc. Registering new machines in a software provisioning environment
US8281302B2 (en) * 2008-08-26 2012-10-02 Cisco Technology, Inc. Method and apparatus for dynamically instantiating services using a service insertion architecture
US9477570B2 (en) * 2008-08-26 2016-10-25 Red Hat, Inc. Monitoring software provisioning
US9733959B2 (en) * 2008-09-15 2017-08-15 Vmware, Inc. Policy-based hypervisor configuration management
US8612968B2 (en) * 2008-09-26 2013-12-17 Red Hat, Inc. Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
JP5298764B2 (ja) * 2008-10-22 2013-09-25 富士通株式会社 仮想システム制御プログラム、方法及び装置
JP5298763B2 (ja) * 2008-10-22 2013-09-25 富士通株式会社 仮想システム制御プログラム、方法及び装置
CN101398771B (zh) * 2008-11-18 2010-08-18 中国科学院软件研究所 一种基于构件的分布式系统访问控制方法及访问控制系统
US9558195B2 (en) 2009-02-27 2017-01-31 Red Hat, Inc. Depopulation of user data from network
US8819113B2 (en) * 2009-03-02 2014-08-26 Kaseya International Limited Remote provisioning of virtual machines
US9134987B2 (en) 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
EP2261800A1 (en) * 2009-06-10 2010-12-15 Siemens Aktiengesellschaft Multi instance virtual server
US9778953B2 (en) * 2009-06-16 2017-10-03 International Business Machines Corporation Process and system for comprehensive IT discovery without credentials
US20110016473A1 (en) * 2009-07-20 2011-01-20 Srinivasan Kattiganehalli Y Managing services for workloads in virtual computing environments
US9621584B1 (en) * 2009-09-30 2017-04-11 Amazon Technologies, Inc. Standards compliance for computing data
US8850423B2 (en) * 2009-10-29 2014-09-30 International Business Machines Corporation Assisting server migration
EP2510437A1 (en) 2009-12-11 2012-10-17 Deutsche Telekom AG Computer cluster and method for providing a disaster recovery functionality for a computer cluster
US8392562B2 (en) * 2009-12-23 2013-03-05 Citrix Systems, Inc. Systems and methods for managing preferred client connectivity to servers via multi-core system
US8874744B2 (en) * 2010-02-03 2014-10-28 Vmware, Inc. System and method for automatically optimizing capacity between server clusters
US8756597B2 (en) * 2010-02-05 2014-06-17 Novell, Inc. Extending functionality of legacy services in computing system environment
US20110238980A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
CN102207859A (zh) * 2010-03-31 2011-10-05 国际商业机器公司 解决方案部署方法、设备和系统
US8813065B2 (en) 2010-04-26 2014-08-19 Vmware, Inc. Microcloud platform delivery system
US8627426B2 (en) 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8572706B2 (en) 2010-04-26 2013-10-29 Vmware, Inc. Policy engine for cloud platform
US9772831B2 (en) 2010-04-26 2017-09-26 Pivotal Software, Inc. Droplet execution engine for dynamic server application deployment
US9448790B2 (en) 2010-04-26 2016-09-20 Pivotal Software, Inc. Rapid updating of cloud applications
US7917954B1 (en) 2010-09-28 2011-03-29 Kaspersky Lab Zao Systems and methods for policy-based program configuration
US8874457B2 (en) * 2010-11-17 2014-10-28 International Business Machines Corporation Concurrent scheduling of plan operations in a virtualized computing environment
US20120123898A1 (en) * 2010-11-17 2012-05-17 International Business Machines Corporation Generating configuration options for a computing system
CN102479096B (zh) * 2010-11-30 2014-08-27 国际商业机器公司 虚拟机部署规划方法及相关设备
US9043767B2 (en) * 2011-04-12 2015-05-26 Pivotal Software, Inc. Release management system for a multi-node application
US9170798B2 (en) 2012-03-02 2015-10-27 Vmware, Inc. System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
US20130024573A1 (en) * 2011-07-18 2013-01-24 International Business Machines Corporation Scalable and efficient management of virtual appliance in a cloud
CN102891879A (zh) 2011-07-22 2013-01-23 国际商业机器公司 用于支持集群扩展的方法和设备
US8756595B2 (en) * 2011-07-28 2014-06-17 Yahoo! Inc. Method and system for distributed application stack deployment
US8825864B2 (en) 2011-09-29 2014-09-02 Oracle International Corporation System and method for supporting a dynamic resource broker in a transactional middleware machine environment
CN102567075B (zh) * 2011-12-05 2015-01-21 中标软件有限公司 一种云计算环境中虚拟机上下文设置方法
US9268589B2 (en) * 2011-12-09 2016-02-23 Yahoo! Inc. Method and system for deploying multiple distributed application stacks on a target machine
US9245096B2 (en) 2012-01-24 2016-01-26 International Business Machines Corporation Software license management in a networked computing environment
US9052961B2 (en) 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US10031783B2 (en) 2012-03-02 2018-07-24 Vmware, Inc. Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
US9047133B2 (en) 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US9317337B2 (en) * 2012-04-13 2016-04-19 International Business Machines Corporation Utilizing software component metadata to provision virtual machines in a networked computing environment
US9348652B2 (en) 2012-07-02 2016-05-24 Vmware, Inc. Multi-tenant-cloud-aggregation and application-support system
US10127084B2 (en) * 2012-11-15 2018-11-13 Red Hat Israel, Ltd. Pre-provisioning resources for composite applications
WO2015003313A1 (en) * 2013-07-09 2015-01-15 Hua Zhong University Of Science Technology Universal serial bus (usb) device access
US9519513B2 (en) 2013-12-03 2016-12-13 Vmware, Inc. Methods and apparatus to automatically configure monitoring of a virtual machine
US9678731B2 (en) 2014-02-26 2017-06-13 Vmware, Inc. Methods and apparatus to generate a customized application blueprint
US10826795B2 (en) * 2014-05-05 2020-11-03 Nutanix, Inc. Architecture for implementing service level management for a virtualization environment
US20150378763A1 (en) 2014-06-30 2015-12-31 Vmware, Inc. Methods and apparatus to manage monitoring agents
CN105659526B (zh) * 2014-09-26 2019-02-01 华为技术有限公司 一种策略实现方法和装置以及系统
WO2017028907A1 (en) * 2015-08-18 2017-02-23 Telefonaktiebolaget Lm Ericsson (Publ) Technique for reconfiguring a virtual machine
US9678783B2 (en) 2015-10-14 2017-06-13 International Business Machines Corporation Temporal dynamic virtual machine policies
US10341465B2 (en) * 2016-04-03 2019-07-02 Microsoft Technology Licensing, Llc Policy driven flight management
EP3440817B1 (en) * 2016-04-06 2022-06-22 Karamba Security Automated security policy generation for controllers
CN106059841B (zh) * 2016-08-10 2019-10-01 北京北信源软件股份有限公司 一种对部署的中间件进行监控的方法
US10884815B2 (en) 2018-10-29 2021-01-05 Pivotal Software, Inc. Independent services platform
US11616882B2 (en) * 2020-05-22 2023-03-28 Microsoft Technology Licensing, Llc Accelerating pre-production feature usage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1417690A (zh) * 2002-12-03 2003-05-14 南京金鹰国际集团软件系统有限公司 基于构件的应用过程审计平台系统
WO2004039031A3 (en) * 2002-10-23 2004-06-17 Sony Int Europe Gmbh Software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications
WO2004095806A3 (en) * 2003-04-17 2005-01-20 Visto Corp A data access, replication or communication system comprising a distributed software application

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2281793A (en) 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
US6125396A (en) * 1997-03-27 2000-09-26 Oracle Corporation Method and apparatus for implementing bandwidth allocation with a reserve feature
US20020062334A1 (en) 1998-08-19 2002-05-23 Qiming Chen Dynamic agents for dynamic service provision
US6421777B1 (en) * 1999-04-26 2002-07-16 International Business Machines Corporation Method and apparatus for managing boot images in a distributed data processing system
US6460082B1 (en) 1999-06-17 2002-10-01 International Business Machines Corporation Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
US8001259B2 (en) 2001-06-01 2011-08-16 International Business Machines Corporation Pervasive, distributed provision of services such as product brokerage
US20030069918A1 (en) 2001-10-08 2003-04-10 Tommy Lu Method and apparatus for dynamic provisioning over a world wide web
US20030084165A1 (en) 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
US7213065B2 (en) 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7765299B2 (en) 2002-09-16 2010-07-27 Hewlett-Packard Development Company, L.P. Dynamic adaptive server provisioning for blade architectures
US20040111506A1 (en) 2002-12-10 2004-06-10 International Business Machines Corporation System and method for managing web utility services
US7237242B2 (en) 2002-12-31 2007-06-26 International Business Machines Corporation Dynamic thread pool tuning techniques
US20040181476A1 (en) 2003-03-13 2004-09-16 Smith William R. Dynamic network resource brokering
JP2004348192A (ja) 2003-05-20 2004-12-09 Hitachi Ltd Job分配制御方法
US7388839B2 (en) 2003-10-22 2008-06-17 International Business Machines Corporation Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
US7437730B2 (en) 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
US7409463B2 (en) 2003-12-04 2008-08-05 International Business Machines Corporation On-demand active role-based software provisioning
US20060070060A1 (en) 2004-09-28 2006-03-30 International Business Machines Corporation Coordinating service performance and application placement management
US20060080656A1 (en) * 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management
JP4129988B2 (ja) 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
US8015563B2 (en) * 2006-04-14 2011-09-06 Microsoft Corporation Managing virtual machines with system-wide policies
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US20080040455A1 (en) * 2006-08-08 2008-02-14 Microsoft Corporation Model-based deployment and configuration of software in a distributed environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004039031A3 (en) * 2002-10-23 2004-06-17 Sony Int Europe Gmbh Software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications
CN1417690A (zh) * 2002-12-03 2003-05-14 南京金鹰国际集团软件系统有限公司 基于构件的应用过程审计平台系统
WO2004095806A3 (en) * 2003-04-17 2005-01-20 Visto Corp A data access, replication or communication system comprising a distributed software application

Also Published As

Publication number Publication date
US20080209016A1 (en) 2008-08-28
US8028048B2 (en) 2011-09-27
CN101256495A (zh) 2008-09-03

Similar Documents

Publication Publication Date Title
CN101256495B (zh) 用于中间件组件的基于策略自动配置的方法和装置
US11481244B2 (en) Methods and systems that verify endpoints and external tasks in release-pipeline prior to execution
AU2019213422B2 (en) Pre-configure and pre-launch compute resources
US10292044B2 (en) Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods
US7950007B2 (en) Method and apparatus for policy-based change management in a service delivery environment
CN103034453B (zh) 管理虚拟机实例中预安装应用的持久数据的方法和装置
CN102792277B (zh) 在云计算环境中启动虚拟实例的方法和系统
CN103281344B (zh) 用于混合云的服务使用的集成计量的方法和系统
US20190065165A1 (en) Automated deployment of applications
US20160234300A1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US8732654B2 (en) Dependency-based impact analysis using multidimensional models of software offerings
US20100293269A1 (en) Inventory management in a computing-on-demand system
EP2948865B1 (en) Instance host configuration
CN102917018A (zh) 端点的负载平衡
CN104040525B (zh) 通过网络连接访问覆盖介质
CN101159596B (zh) 用于布置服务器的方法和设备
CN103946799A (zh) 基于应用程序对其他应用程序的依赖性对其自动执行操作
US8543680B2 (en) Migrating device management between object managers
US10884818B2 (en) Increasing processing capacity of virtual machines
US10884845B2 (en) Increasing processing capacity of processor cores during initial program load processing
US10680890B2 (en) Non-disruptively splitting a coordinated timing network
US9798571B1 (en) System and method for optimizing provisioning time by dynamically customizing a shared virtual machine
AU2020219324B2 (en) Increasing processing capacity of partitions for an abnormal event

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817

Termination date: 20190221