CN103106098A - 用于在联网计算环境中预先供应虚拟机的方法和系统 - Google Patents

用于在联网计算环境中预先供应虚拟机的方法和系统 Download PDF

Info

Publication number
CN103106098A
CN103106098A CN2012102417886A CN201210241788A CN103106098A CN 103106098 A CN103106098 A CN 103106098A CN 2012102417886 A CN2012102417886 A CN 2012102417886A CN 201210241788 A CN201210241788 A CN 201210241788A CN 103106098 A CN103106098 A CN 103106098A
Authority
CN
China
Prior art keywords
computer
selection
software program
data structure
computing environment
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
CN2012102417886A
Other languages
English (en)
Other versions
CN103106098B (zh
Inventor
J·L·安德森
G·J·伯斯
J·L·科维达克
C·W·罗施
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.)
Qindarui company
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 CN103106098A publication Critical patent/CN103106098A/zh
Application granted granted Critical
Publication of CN103106098B publication Critical patent/CN103106098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及用于在联网计算环境中预先供应虚拟机的方法和系统,一般而言,本发明的实施例提供一种用于预先供应云计算资源(比如虚拟机(VM))以便实现更快和更一致供应时机的方法。本发明的实施例描述一种用于生成在一个或者多个消费者开始发起大量请求(例如,实例化/填充多个电子商务‘购物车’)时利用的预先供应的虚拟机池的方法。在一个典型实施例中,在计算机数据结构中接收对将与VM相关联的操作系统的选择。继而,将基于对操作系统的选择来发起对VM的供应。随后,将在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择。继而,可以响应于在计算机数据结构中接收的供应请求,基于对至少一个软件程序的至少一个选择来完成对VM的供应。

Description

用于在联网计算环境中预先供应虚拟机的方法和系统
技术领域
一般而言,本发明的实施例涉及虚拟机(VM)。具体而言,本发明的实施例涉及在联网计算环境(例如,云计算环境)中预先供应(provision)VM。
背景技术
联网计算环境(例如,云计算环境)是对先前网格环境的增强,借此多个网格和其它计算资源可以由一个或者多个附加抽象层(例如,云层)进一步增强,困此使相异设备在终端消费者看来为单个无缝资源池。这些资源可以包括比如物理或者逻辑计算引擎、服务器和设备、设备存储器、存储设备这样的资源以及其它资源。
目前,云计算服务提供商可能需要高度可变的时间段(例如,范围从若干分钟到若干小时)以供应由消费者所请求的资源。供应速度的差异一般是不同变量(例如,在存储架构中利用的基础设施的类型和复杂性;云管理平台的架构;以及用来供应资源的方法)的函数。这样,在获得用于云计算机资源(比如VM)的可预测和一致供应时机时可能存在挑战。
发明内容
一般而言,本发明的实施例提供一种用于预先供应云计算资源(比如虚拟机(VM))以便实现更快和更一致供应时机的方法。本发明的实施例描述一种用于生成在一个或者多个消费者开始发起大量请求(例如实例化/填充多个电子商务‘购物车’)时利用的预先供应的虚拟机池的方法。在一个典型实施例中,在计算机数据结构中接收对将与VM相关联的操作系统的选择。继而,将基于对操作系统的选择来发起对VM的供应。随后,将在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择。继而,可以响应于在计算机数据结构中接收的供应请求、基于对至少一个软件程序的至少一个选择来完成对VM的供应。
本发明的第一方面提供一种计算机实施的方法,该方法用于在联网计算环境中预先供应虚拟机(VM),该方法包括:在计算机数据结构中接收对将与VM相关联的操作系统的选择;基于对操作系统的选择来开始对VM的供应;在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择;以及响应于在计算机数据结构中接收的供应请求、基于对至少一个软件程序的至少一个选择来完成对VM的供应。
本发明的第二方面提供一种用于在联网计算环境中预先供应虚拟机(VM)的系统,该系统包括:总线;耦合到总线的处理器;以及耦合到总线的存储器介质,存储器介质包括用于执行以下操作的指令:在计算机数据结构中接收对将与VM相关联的操作系统的选择;基于对操作系统的选择来开始对VM的供应;在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择;以及响应于在计算机数据结构中接收的供应请求、基于对至少一个软件程序的至少一个选择来完成对VM的供应。
本发明的第三方面提供一种用于在联网计算环境中预先供应虚拟机(VM)的计算机程序产品,该计算机程序产品包括计算机可读存储介质和在计算机可读存储介质上存储的程序指令,程序指令用于:在计算机数据结构中接收对将与VM相关联的操作系统的选择;基于对操作系统的选择来发起对VM的供应;在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择;以及响应于在计算机数据结构中接收的供应请求、基于对至少一个软件程序的至少一个选择来完成对VM的供应。
本发明的第四方面提供一种用于部署系统的方法,该系统用于在联网计算环境中预先供应虚拟机(VM),该方法包括:部署计算机基础设施,计算机基础设施可操作用于:在计算机数据结构中接收对将与VM相关联的操作系统的选择;基于对操作系统的选择来发起对VM的供应;在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择;以及响应于在计算机数据结构中接收的供应请求、基于对至少一个软件程序的至少一个选择来完成对VM的供应。
附图说明
从与以下附图结合进行的对本发明各种方面的下文具体描述中将更容易理解本发明的这些和其它特征,在附图中:
图1表示根据本发明一实施例的云计算节点。
图2表示根据本发明一实施例的云计算环境。
图3表示根据本发明一实施例的抽象模型层。
图4表示根据本发明一实施例的系统图。
图5表示根据本发明一实施例的方法流程图。
图6表示根据本发明一实施例的另一方法流程图。
附图未必按比例绘制。附图仅为示意表示,而并非旨在于描绘本发明的具体参数。附图旨在于仅表示本发明的典型实施例,并且因此不应被视为限制本发明的范围。在附图中,相似编号代表相似元件。
具体实施方式
这里现在将参照其中示出了示例实施例的附图更完全地描述说明性实施例。然而,本公开内容可以用许多不同形式来实施并且不应解释为限于这里阐述的示例性实施例。实际上,提供这些示例实施例使得本公开内容将透彻和完整并且将向本领域技术人员完全传达本公开内容的范围。在描述中,可以省略公知特征和技术的细节以避免不必要地模糊所呈现的实施例。
这里所用术语仅出于描述特定实施例的目的,而并非旨在于限制本公开内容。如这里所用,单数形式“一个”、“一种”和“该”除非上下文另有明示否则旨在于也包括复数形式。另外,使用术语“一个”、“一种”等不表示数量上的限制,而实际上表示存在至少一个引用项。还将理解,术语“包括”,或“包含”当在使用于本说明书中使用时指定存在所言特征、区域、整体、步骤、操作、元件和/或部件、但是不排除存在或者此外还有一个或者多个其它特征、区域、整体、步骤、操作、元件、部件和/或其组合。
如上所述,本发明的实施例提供一种用于预先供应云计算资源(比如虚拟机(VM))以便实现更快和更一致供应时机的方式。本发明的实施例描述一种用于生成在一个或者多个消费者开始发起大量请求(例如,实例化/填充多个电子商务‘购物车’)时利用的预先供应的虚拟机池的方法。在一个典型实施例中,在计算机数据结构中接收对将与VM相关联的操作系统的选择。继而,将基于对操作系统的选择来发起对VM的供应。随后,将在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择。继而,可以响应于在计算机数据结构中接收的供应请求、基于对至少一个软件程序的至少一个选择来完成对VM的供应。
首先应当理解,尽管本公开包括对云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃消费者账户)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于消费者的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
本发明的实施例可以实施为一种计算机可读信号介质,该计算机可读信号介质可以包括传播的数据信号,该数据信号具有实施于其中的计算机可读程序代码(例如在基带中或者作为载波的部分)。这样的传播信号可以采用多种形式(包括但不限于电磁、光学或者其任何适当组合)中的任何形式。计算机可读信号介质可以是任何计算机可读介质,该计算机可读介质不是计算机可读存储介质并且可以传达、传播或者传送用于由指令执行系统、装置或者设备使用或者与指令执行系统、装置或者设备结合使用的程序。
可以使用任何适当介质(包括但不限于无线、有线、光纤线缆、射频(RF)等或者前述各项的任何适当组合)来传输在计算机可读介质上实施的程序代码。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得消费者能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/0接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机。在一个例子中,
Figure BDA00001881190500091
Figure BDA00001881190500092
系统和基于RISC(精简指令集计算机)体系结构的服务器。在一个例子中,IBM
Figure BDA00001881190500093
系统、IBM
Figure BDA00001881190500094
系统、IBM
Figure BDA00001881190500095
系统、存储设备、网络和网络组件。软件组件的例子包括网络应用服务器软件。在一个例子中,IBM
Figure BDA00001881190500096
应用服务器软件和数据库软件。在一个例子中,IBM
Figure BDA00001881190500097
数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。消费者门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。在管理层中还示出了VM预先供应功能,该功能代表在本发明的实施例之下提供的功能。
工作负载层66提供云计算环境可能实现的功能的示例。可以从该层提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;事务处理;以及消费者数据存储和备份。如上文提到的那样,所有参照图3描述的前述示例仅为说明性的,并且本发明不限于这些示例。
理解如这里描述的本发明的所有功能通常可以由(管理层64(该管理层可以有形地体现为程序/工具40的程序代码42的模块(图1))的)VM预先供应功能执行。然而,情况并非必须如此。实际上,这里记载的功能可以由图3中所示层60-66中的任何层实现/实施和/或启用。
重申的是,虽然本公开内容包括关于云计算的具体描述,但是这里记载的教导的实施不限于云计算环境。实际上,本发明的实施例旨在用现在已知或者以后开发的任何类型的联网计算环境来实施。
现在参照图4,其示出了根据本发明一实施例的系统图。理解到虽然这里描述的预先供应功能按照消费者/用户的请求而出现,但是情况并非必须如此。实际上,这里描述的功能可以响应于由另一系统采取的动作而出现。在任何情况下,如图4中所示,表示虚拟机预先供应引擎(引擎70)。在典型实施例中,引擎70可以实施为图1的计算机系统12上的一个或者多个程序40,并且能够实施如图3的管理层64中所示的这里描述的功能。按照这种方式,引擎70可以包括用于实施以下功能的规则引擎等。
将共同参照图4和图5描述引擎70的功能。如图所示,在步骤S 1中,用户/消费者76将发起VM创建过程,并且在步骤S2中选择操作系统(OS)。作为响应,引擎70将开始向(池82的)VM80供应所选OS。在典型实施例中,在步骤S3中经由操作系统选择(消费者)屏幕/界面76进行选择。在步骤S4中,用户/消费者76将进入软件可安装(例如,这里也称为“软件选择”)(消费者)屏幕/界面76并且选择一组(至少一个)软件程序。对于所选的每个软件程序,引擎70将向队列78添加任务以安装所选软件程序。在步骤S5-步骤S8中共同地示出了这一过程。此外,还理解引擎70可以有权访问OS的和/或软件程序数据库/库72。无论如何,在步骤S9中,用户/消费者76将进入网络配置(消费者)屏幕/界面76。经由网络配置界面74,用户/消费者76将进行选择从而允许在步骤S10中访问用于安装的相应软件程序。在步骤S11中,引擎70将向队列78添加任务以配置任何适用的网络防火墙,以允许请求的对所选软件程序的访问。用户/消费者76继而将发出对完成VM预先供应的请求。这样的请求如何可以由用户/消费者76发出的一个示例是用户/消费者76向他的/她的虚拟购物车‘添加’所请求的VM 80(比如步骤S12中所示)。在另一示例中,来自池82的预先供应的虚拟机80可以由引擎70用来实例化电子购物车(例如,用于电子商务应用)。无论如何,引擎70将在步骤S13中完成队列78中的所有任务、由此完成对VM的预先供应。理解到,虽然在图4中描绘了三个界面74和VM 80,但是下文可以提供任何数量。
结合图6进一步描述这一过程。如所表示的那样,在步骤T1中,在计算机数据结构(例如,图1的计算机系统的存储器28)中接收对将与VM相关联的操作系统的选择。在步骤T2中,基于对操作系统的选择来开始对VM的供应。在步骤T3中,在计算机数据结构中接收对将与VM相关联的至少一个软件程序的至少一个选择。在步骤T4中,响应于在计算机数据结构中接收的供应请求、基于对至少一个软件程序的至少一个选择来完成对VM的供应。
尽管这里示出和描述为VM预先供应解决方案,但是理解本发明还提供各种备选实施例。例如,在一个实施例中,本发明提供一种包括计算机程序代码的计算机可读/可用介质,该计算机程序代码用于使计算机基础设施能够提供如这里讨论的VM预先供应功能。在这一程度上,计算机可读/可用介质包括如下程序代码,该程序代码实施本发明的各种过程中的每个过程。理解术语计算机可读介质或者计算机可用介质包括程序代码的任何类型的物理实施例中的一个或者多个实施例。具体而言,计算机可读/可用介质可以包括在一个或者多个便携存储制造品(例如,光盘、磁盘、磁带等)上、在计算设备的一个或者多个数据存储部分(比如存储器28(图1)和/或存储系统34(图1)(例如,固定盘、只读存储器、随机存取存储器、高速缓冲存储器等))上体现的程序代码。
在另一实施例中,本发明提供一种基于在订购、广告和/或费用执行本发明的过程的方法。也就是说,服务提供商(比如SolutionIntegrator)可以许诺提供VM预先供应功能。在这一情况下,服务提供商可以创建、维护、支持等如下计算机基础设施(比如计算机系统12(图1)),该计算机基础设施为一个或者多个消费者执行本发明的过程。作为回报,服务提供商可以在订购和/或费用协议之下从消费者接收付款和/或服务提供商可以从向一个或者多个第三方销售广告内容中接收付款。
在又一实施例中,本发明提供一种用于VM预先供应的计算机实施的方法。在这一情况下,可以提供计算机基础设施(比如计算机系统12(图1)),并且可以获得(例如,创建、购买、使用、修改等)并且向计算机基础设施部署用于执行本发明的过程的一个或者多个系统。在这一程度上,系统的部署可以包括以下各项中的一项或者多项:(1)从计算机可读介质在计算设备(比如计算机系统12(图1))上安装程序代码;(2)向计算机基础设施添加一个或者多个计算设备;以及(3)并入和/或修改计算机基础结构的一个或者多个现有系统以使计算机基础设施能够执行本发明的过程。
如这里所用,理解术语“程序代码”和“计算机程序代码”同义并且意味着如下指令集的以任何语言、代码或者符号表示法的任何表达,该指令集旨在使具有信息处理能力的计算设备直接或者在以下各项中的一项或者两项之后执行特定功能:(a)转换成另一语言、代码或者符号表示法;和/或(b)以不同材料形式再现。在这一程度上,程序代码可以实施为以下各项中的一项或者多项:应用/软件程序、组件软件/功能库、操作系统、用于特定计算设备的基本设备系统/驱动器等。
下文可以提供一种适合用于存储和/或执行程序代码的数据处理系统,并且该数据处理系统可以包括通过系统总线直接或者间接通信地耦合到存储器元件的至少一个处理器。存储器元件可以包括但不限于在实际执行程序代码期间所运用的本地存储器、大容量储存器和高速缓冲存储器,这些高速缓冲存储器提供至少一些程序代码的暂时存储以便减少在执行期间必须从大容量储存器取回代码的次数。输入/输出和/或其它外部设备(包括但不限于键盘、显示器、指点设备等)可以直接或者通过中介设备控制器耦合到系统。
网络适配器也可以耦合到系统以使数据处理系统能够变成通过中介专用或者公共网络的任何组合耦合到其它数据处理系统、远程打印机、存储设备等。说明性网络适配器包括但不限于调制解调器、线缆调制解调器和以太网卡。
已经出于说明和描述的目的而呈现了对本发明各种方面的前文描述。并非旨在于穷举或者使本发明限于公开的精确形式,并且显然许多修改和变化是可能的。本领域技术人员可以清楚的这样的修改和变化旨在于包含于如由所附权利要求限定的本发明的范围内。

Claims (15)

1.一种计算机实施的方法,用于在联网计算环境中预先供应虚拟机(VM),包括:
在计算机数据结构中,接收对将与VM相关联的操作系统的选择;
基于对所述操作系统的所述选择,发起对所述VM的供应;
在所述计算机数据结构中,接收对将与所述VM相关联的至少一个软件程序的至少一个选择;以及
响应于在所述计算机数据结构中接收的供应请求,基于对所述至少一个软件程序的所述至少一个选择,完成对所述VM的所述供应。
2.根据权利要求1所述的计算机实施的方法,还包括响应于所述接收对至少一个软件程序的所述选择,向任务队列添加第一任务。
3.根据权利要求2所述的计算机实施的方法,还包括允许访问所述至少一个软件程序。
4.根据权利要求3所述的计算机实施的方法,所述允许包括向所述任务队列添加第二任务以重新配置网络防火墙。
5.根据权利要求1所述的计算机实施的方法,所述操作系统由消费者经由操作系统选择消费者接口来选择。
6.根据权利要求1所述的计算机实施的方法,所述至少一个软件程序由消费者经由软件选择消费者接口来选择。
7.根据权利要求1所述的计算机实施的方法,所述联网计算环境包括云计算环境。
8.一种用于在联网计算环境中预先供应虚拟机(VM)的系统,包括:
总线;
耦合到所述总线的处理器;以及
耦合到所述总线的存储器介质,所述存储器介质包括用于执行以下操作的指令:
在计算机数据结构中,接收对将与VM相关联的操作系统的选择;
基于对所述操作系统的所述选择,发起对所述VM的供应;
在所述计算机数据结构中,接收对将与所述VM相关联的至少一个软件程序的至少一个选择;以及
响应于在所述计算机数据结构中接收的供应请求,基于对所述至少一个软件程序的所述至少一个选择,完成对所述VM的所述供应。
9.根据权利要求8所述的系统,所述存储器介质还包括用于响应于所述接收对至少一个软件程序的所述选择,向任务队列添加第一任务的指令。
10.根据权利要求9所述的系统,所述存储器介质还包括用于允许访问所述至少一个软件程序的指令。
11.根据权利要求10所述的系统,所述存储器介质还包括用于向所述任务队列添加第二任务以重新配置网络防火墙的指令。
12.根据权利要求8所述的系统,所述操作系统由消费者经由操作系统选择消费者接口来选择。
13.根据权利要求8所述的系统,所述至少一个软件程序由消费者经由软件选择消费者接口来选择。
14.根据权利要求8所述的系统,所述联网计算环境包括云计算环境。
15.一种用于部署系统的方法,所述系统用于在联网计算环境中预先供应虚拟机(VM),所述方法包括:
部署计算机基础设施,所述计算机基础设施可操作用于:
在计算机数据结构中,接收对将与VM相关联的操作系统的选择;
基于对所述操作系统的所述选择,发起对所述VM的供应;
在所述计算机数据结构中,接收对将与所述VM相关联的至少一个软件程序的至少一个选择;以及
响应于在所述计算机数据结构中接收的供应请求,基于对所述至少一个软件程序的所述至少一个选择,完成对所述VM的所述供应。
CN201210241788.6A 2011-07-13 2012-07-12 用于在联网计算环境中预先供应虚拟机的方法和系统 Active CN103106098B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/181,646 US8954586B2 (en) 2011-07-13 2011-07-13 Pre-provisioning virtual machines in a networked computing environment
US13/181,646 2011-07-13

Publications (2)

Publication Number Publication Date
CN103106098A true CN103106098A (zh) 2013-05-15
CN103106098B CN103106098B (zh) 2016-09-07

Family

ID=47519603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210241788.6A Active CN103106098B (zh) 2011-07-13 2012-07-12 用于在联网计算环境中预先供应虚拟机的方法和系统

Country Status (3)

Country Link
US (2) US8954586B2 (zh)
CN (1) CN103106098B (zh)
CA (1) CA2776183C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483316B2 (en) 2014-05-29 2016-11-01 International Business Machines Corporation Managing a virtual machine instance
CN106997556A (zh) * 2016-01-25 2017-08-01 阿里巴巴集团控股有限公司 网络系统及其资源控制方法
CN108628686A (zh) * 2017-03-21 2018-10-09 波音公司 用于在云环境中设计和建模产品的系统和方法
CN110221918A (zh) * 2015-01-19 2019-09-10 华为技术有限公司 一种ns与vnf的关联方法、装置及系统
CN111404992A (zh) * 2015-06-12 2020-07-10 微软技术许可有限责任公司 承租人控制的云更新

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776043B1 (en) * 2011-09-29 2014-07-08 Amazon Technologies, Inc. Service image notifications
US9530156B2 (en) 2011-09-29 2016-12-27 Amazon Technologies, Inc. Customizable uniform control user interface for hosted service images
US9626700B1 (en) 2011-09-29 2017-04-18 Amazon Technologies, Inc. Aggregation of operational data for merchandizing of network accessible services
US10147123B2 (en) 2011-09-29 2018-12-04 Amazon Technologies, Inc. Electronic marketplace for hosted service images
US9946563B2 (en) * 2012-02-21 2018-04-17 Disney Enterprises, Inc. Batch scheduler management of virtual machines
US10353738B2 (en) 2012-03-21 2019-07-16 International Business Machines Corporation Resource allocation based on social networking trends in a networked computing environment
US9940162B2 (en) * 2012-09-28 2018-04-10 Cycle Computing, Llc Realtime optimization of compute infrastructure in a virtualized environment
CN103716347B (zh) * 2012-09-29 2017-06-23 国际商业机器公司 建立虚拟机的方法、装置和云服务器
US9832136B1 (en) * 2013-01-23 2017-11-28 Liberty Mutual Insurance Company Streaming software to multiple virtual machines in different subnets
KR20140098919A (ko) * 2013-01-31 2014-08-11 한국전자통신연구원 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법 및 서비스 게이트웨이
WO2016030973A1 (ja) * 2014-08-27 2016-03-03 株式会社日立製作所 マルチテナントリソース調停方法
US10372501B2 (en) 2016-11-16 2019-08-06 International Business Machines Corporation Provisioning of computing resources for a workload
US10911367B2 (en) * 2018-06-27 2021-02-02 Oracle International Corporation Computerized methods and systems for managing cloud computer services
US11190599B2 (en) 2018-06-27 2021-11-30 Oracle International Corporation Method and system for cloud service pre-provisioning
US10785129B2 (en) 2018-06-27 2020-09-22 Oracle International Corporation Computerized methods and systems for maintaining and modifying cloud computer services
US11115344B2 (en) 2018-06-27 2021-09-07 Oracle International Corporation Computerized methods and systems for migrating cloud computer services
US11907743B2 (en) 2019-05-21 2024-02-20 Oracle International Corporation System and method for relocating customer virtual machine instances in a multi-tenant cloud service
US11720348B2 (en) 2021-04-28 2023-08-08 Red Hat, Inc. Computing node allocation based on build process specifications in continuous integration environments
US20230152992A1 (en) * 2021-11-15 2023-05-18 Vmware, Inc. Force provisioning virtual objects in degraded stretched clusters

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216777A (zh) * 2008-01-11 2008-07-09 华中科技大学 一种多虚拟机环境下的快速部署系统
US20090133097A1 (en) * 2007-11-15 2009-05-21 Ned Smith Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US20090300210A1 (en) * 2008-05-28 2009-12-03 James Michael Ferris Methods and systems for load balancing in cloud-based networks

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093912A (en) 1989-06-26 1992-03-03 International Business Machines Corporation Dynamic resource pool expansion and contraction in multiprocessing environments
US7222359B2 (en) * 2001-07-27 2007-05-22 Check Point Software Technologies, Inc. System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices
US7558864B2 (en) 2004-01-27 2009-07-07 International Business Machines Corporation Method, system and product for identifying, reserving, and logically provisioning resources in provisioning data processing systems
WO2005081672A2 (en) 2004-01-30 2005-09-09 International Business Machines Corporation Componentized automatic provisioning and management of computing environments for computing utilities
US8316130B2 (en) 2004-12-22 2012-11-20 International Business Machines Corporation System, method and computer program product for provisioning of resources and service environments
JP4129988B2 (ja) 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
US7941801B2 (en) 2006-03-07 2011-05-10 Oracle America Inc. Method and system for provisioning a virtual computer and scheduling resources of the provisioned virtual computer
US8171485B2 (en) * 2007-03-26 2012-05-01 Credit Suisse Securities (Europe) Limited Method and system for managing virtual and real machines
US20090276228A1 (en) * 2008-04-30 2009-11-05 Scott Alan Isaacson Techniques for internet cafe service provider access
US8473594B2 (en) * 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
US20100180272A1 (en) * 2009-01-15 2010-07-15 Kevin Kettler System For Enabling Virtual Services On A Business And A Consumer Device
US9164749B2 (en) * 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US8103776B2 (en) * 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US9350787B2 (en) * 2009-06-01 2016-05-24 Sony Interactive Entertainment America Llc Methods and systems for generation and execution of miniapp of computer application served by cloud computing system
US9092910B2 (en) * 2009-06-01 2015-07-28 Sony Computer Entertainment America Llc Systems and methods for cloud processing and overlaying of content on streaming video frames of remotely processed applications
US8713182B2 (en) * 2009-08-03 2014-04-29 Oracle International Corporation Selection of a suitable node to host a virtual machine in an environment containing a large number of nodes
US8793348B2 (en) * 2009-09-18 2014-07-29 Group Business Software Ag Process for installing software application and platform operating system
US8924559B2 (en) 2009-12-03 2014-12-30 International Business Machines Corporation Provisioning services using a cloud services catalog
US9563479B2 (en) * 2010-11-30 2017-02-07 Red Hat, Inc. Brokering optimized resource supply costs in host cloud-based network using predictive workloads

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US20090133097A1 (en) * 2007-11-15 2009-05-21 Ned Smith Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor
CN101216777A (zh) * 2008-01-11 2008-07-09 华中科技大学 一种多虚拟机环境下的快速部署系统
US20090300210A1 (en) * 2008-05-28 2009-12-03 James Michael Ferris Methods and systems for load balancing in cloud-based networks

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483316B2 (en) 2014-05-29 2016-11-01 International Business Machines Corporation Managing a virtual machine instance
CN110221918A (zh) * 2015-01-19 2019-09-10 华为技术有限公司 一种ns与vnf的关联方法、装置及系统
CN110221918B (zh) * 2015-01-19 2023-10-10 华为技术有限公司 一种ns与vnf的关联方法、装置及系统
CN111404992A (zh) * 2015-06-12 2020-07-10 微软技术许可有限责任公司 承租人控制的云更新
CN111404992B (zh) * 2015-06-12 2023-06-27 微软技术许可有限责任公司 承租人控制的云更新
US11868793B2 (en) 2015-06-12 2024-01-09 Microsoft Technology Licensing, Llc Tenant-controlled cloud updates
CN106997556A (zh) * 2016-01-25 2017-08-01 阿里巴巴集团控股有限公司 网络系统及其资源控制方法
CN108628686A (zh) * 2017-03-21 2018-10-09 波音公司 用于在云环境中设计和建模产品的系统和方法
CN108628686B (zh) * 2017-03-21 2024-03-12 波音公司 用于在云环境中设计和建模产品的系统和方法

Also Published As

Publication number Publication date
CN103106098B (zh) 2016-09-07
CA2776183C (en) 2019-05-07
US9253114B2 (en) 2016-02-02
US20150046595A1 (en) 2015-02-12
CA2776183A1 (en) 2013-01-13
US8954586B2 (en) 2015-02-10
US20130019016A1 (en) 2013-01-17

Similar Documents

Publication Publication Date Title
CN103106098A (zh) 用于在联网计算环境中预先供应虚拟机的方法和系统
CN102981908A (zh) 用于从预先供应的虚拟机池选择虚拟机的方法和系统
CN103092671B (zh) 在联网计算环境中确定虚拟机映像模式分布的方法和系统
US9274848B2 (en) Optimizing cloud service delivery within a cloud computing environment
US9882834B2 (en) Capturing data parameters in templates in a networked computing environment
US9225604B2 (en) Mapping requirements to a system topology in a networked computing environment
CN103299274B (zh) 确定运行图像的最佳计算环境的系统和方法
US8612785B2 (en) Optimizing energy consumption utilized for workload processing in a networked computing environment
US8914469B2 (en) Negotiating agreements within a cloud computing environment
CN103281344B (zh) 用于混合云的服务使用的集成计量的方法和系统
CN104424013A (zh) 在计算环境中部署虚拟机的方法和设备
CN103593755A (zh) 授权计算资源访问的方法和系统
CN103369021A (zh) 用于网络化计算环境中的策略实现的系统和方法
CN104765620A (zh) 一种程序模块部署的方法和系统
US20110307573A1 (en) Optimizing storage between mobile devices and cloud storage providers
CN103259742B (zh) 在联网计算环境中进行基于活动的虚拟机可用性控制的方法与系统
CN103716347A (zh) 建立虚拟机的方法、装置和云服务器
CN103034453A (zh) 管理虚拟机实例中预安装应用的持久数据的方法和装置
CN103238138A (zh) 用于云环境中的分区部署/重部署的网络接口
CN104660669A (zh) 针对应用模式组件从多个主机选择一个主机的方法和系统
Yang et al. A hybrid framework for integrating multiple manufacturing clouds
CN104516773A (zh) 用于物理机的数据分配方法和数据分配装置
CN105359088A (zh) 使用动态生成的虚拟磁盘内容优化供应时间的方法
CN104424012A (zh) 用于提供自定义虚拟装置的方法和设备
CN105224301B (zh) 一种应用实例组装的方法和系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211110

Address after: USA New York

Patentee after: Qindarui company

Address before: Armank, New York, USA

Patentee before: International Business Machines