《用于从预先供应的虚拟机池选择虚拟机的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于从预先供应的虚拟机池选择虚拟机的方法和系统.pdf(17页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102981908 A(43)申请公布日 2013.03.20CN102981908A*CN102981908A*(21)申请号 201210238865.2(22)申请日 2012.07.1013/220,879 2011.08.30 USG06F 9/50(2006.01)G06F 9/455(2006.01)(71)申请人国际商业机器公司地址美国纽约阿芒克(72)发明人 JL安德森 GJ伯斯JL科维达克 CW罗施(74)专利代理机构北京市金杜律师事务所 11256代理人吴立明(54) 发明名称用于从预先供应的虚拟机池选择虚拟机的方法和系统(57) 摘要本发明的实。
2、施例提供一组可以用来选择应当使用哪些部分和/或预先供应的虚拟机(VM)作为基础平台,以满足在联网计算环境(例如云计算环境)中接收的新工作负载(例如供应)请求的算法方法。具体而言,当接收工作负载请求时,标识所需要的用于处理工作负载请求的一组(例如至少一个)软件程序。然后从预先供应的VM池选择具有该组软件程序的一组VM。一般而言,可以遵循多个方法和/或因素以选择该组VM。示例包括用于安装该组VM的时间长度、该组VM被需求的概率和/或具有该组软件程序的该组VM的数量。一旦已经选择该组VM,可以安装该组VM,并且可以使用该组软件程序来处理工作负载请求。(30)优先权数据(51)Int.Cl.权利要求书。
3、2页 说明书9页 附图5页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 2 页 说明书 9 页 附图 5 页1/2页21.一种用于在联网计算环境中选择预先供应的虚拟机(VM)以处理工作负载请求的计算机实施的方法,包括:在计算机存储介质中接收工作负载请求;标识所需要的用于处理所述工作负载请求的一组软件程序;在所述联网计算环境中从预先供应的VM池选择具有所述一组软件程序的一组VM,所述一组VM基于以下各项中的至少一项来选择:用于安装所述一组VM的时间长度;所述一组VM被需求的概率;或者具有所述一组软件程序的所述一组VM的数量;安装所述一组VM;以及使用所述一组VM中的所述一组。
4、软件程序来处理所述工作负载请求。2.根据权利要求1所述的计算机实施的方法,所述一组软件程序是基于用于安装所述一组VM的最短时间长度来选择的。3.根据权利要求1所述的计算机实施的方法,所述一组软件程序是基于所述一组VM将被需求的最低概率来选择的。4.根据权利要求1所述的计算机实施的方法,所述一组软件程序是基于所述一组VM将被需求的最高概率来选择的。5.根据权利要求1所述的计算机实施的方法,所述一组软件程序是基于具有所述一组软件程序的一组VM的最高数量来选择的。6.根据权利要求1所述的计算机实施的方法,所述联网计算环境包括云计算环境。7.一种用于在联网计算环境中选择预先供应的虚拟机(VM)以处理工。
5、作负载请求的系统,包括:包括指令的存储器介质;耦合到所述存储器介质的总线;以及耦合到所述总线的处理器,所述处理器在执行所述指令时使所述系统:在计算机存储介质中接收工作负载请求;标识所需要的用于处理所述工作负载请求的一组软件程序;在所述联网计算环境中从预先供应的VM池选择具有所述一组软件程序的一组VM,所述一组VM基于以下各项中的至少一项来选择:用于安装所述一组VM的时间长度;所述一组VM被需求的概率;或者具有所述一组软件程序的所述一组VM的数量;安装所述一组VM;以及使用所述一组VM中的所述一组软件程序来处理所述工作负载请求。8.根据权利要求7所述的系统,所述存储介质还包括用于使所述系统基于用。
6、于安装所述一组VM的最短时间长度来选择所述一组软件程序的指令。9.根据权利要求7所述的系统,所述存储介质还包括用于使所述系统基于所述一组VM将被需求的最低概率来选择所述一组软件程序的指令。10.根据权利要求7所述的系统,所述存储介质还包括用于使所述系统基于所述一组VM将被需求的最高概率来选择所述一组软件程序的指令。11.根据权利要求7所述的系统,所述存储介质还包括用于使所述系统基于具有所述一组软件程序的一组VM的最高数量来选择所述一组软件程序的指令。12.根据权利要求7所述的系统,所述联网计算环境包括云计算环境。权 利 要 求 书CN 102981908 A2/2页313.一种用于部署系统的方。
7、法,所述系统用于在联网计算环境中选择预先供应的虚拟机(VM)以处理工作负载请求,所述方法包括:部署计算机基础设施,所述计算机基础设施可操作用于:在计算机存储介质中接收工作负载请求;标识所需要的用于处理所述工作负载请求的一组软件程序;在所述联网计算环境中从预先供应的VM池选择具有所述一组软件程序的一组VM,所述一组VM基于以下各项中的至少一项来选择:用于安装所述一组VM的时间长度;所述一组VM被需求的概率;或者具有所述一组软件程序的所述一组VM的数量;安装所述一组VM;以及使用所述一组VM中的所述一组软件程序来处理所述工作负载请求。14.根据权利要求13所述的方法,所述联网计算环境包括云计算环境。
8、。权 利 要 求 书CN 102981908 A1/9页4用于从预先供应的虚拟机池选择虚拟机的方法和系统技术领域0001 一般而言,本发明涉及在联网计算环境(例如云计算环境)中选择虚拟机(VM)。具体而言,本发明涉及从预先供应(provision)的VM池选择VM以用于处理工作负载请求。背景技术0002 联网计算环境(例如云计算环境)是对先前网格环境的增强,其中多个网格和其它计算资源可以由一个或者多个附加抽象层(例如云层)进一步增强、因此使相异设备在终端消费者看来为单个无缝资源池。这些资源可以包括比如物理或者逻辑计算引擎、服务器和设备、设备存储器、存储设备这样的资源以及其它资源。0003 通常。
9、在相对静态硬件池内表现云计算服务,其中操作系统和应用被部署和重新配置成满足消费者的计算需求。在云环境的边界内,可以安装和覆盖应用映像,可以修改因特网协议(IP)地址,并且可以分配真实和虚拟处理器以满足可变商务需要。目前,不同云服务提供商可能需要可变数量的时间以供应消费者请求的虚拟机。例如一些云提供商可能以在几秒内供应特定资源,而其它云提供商可能花费数小时。供应速度上的差异一般由至少三个因素引起:存储架构类型、云管理平台的架构和/或用来供应资源的方法。这样,在实现高效计算资源供应时间时可能存在挑战。发明内容0004 本发明的实施例提供一组可以用来选择应当使用哪些部分和/或预先供应的虚拟机(VM)。
10、作为基础平台,以满足在联网计算环境(例如云计算环境)中接收的新工作负载(例如供应)请求的算法方法。具体而言,当接收工作负载请求时,标识所需要的用于处理工作负载请求的一组(例如至少一个)软件程序。然后从预先供应的VM池选择具有该组软件程序的一组VM。一般而言,可以遵循多个方法和/或因素以选择该组VM。示例包括用于安装该组VM的时间长度、该组VM被需求的概率和/或具有该组软件程序的该组VM的数量。一旦已经选择该组VM,可以安装该组VM,并且可以使用该组软件程序来处理工作负载请求。0005 本发明的第一方面提供一种用于在联网计算环境中选择预先供应的虚拟机(VM)以处理工作负载请求的计算机实施的方法,。
11、该方法包括:在计算机存储介质中接收工作负载请求;标识所需要的用于处理工作负载请求的一组软件程序;在联网计算环境中从预先供应的VM池选择具有该组软件程序的一组VM,该组VM基于以下各项中的至少一项来选择:用于安装该组VM的时间长度;该组VM被需求的概率;或者具有该组软件程序的该组VM的数量;安装该组VM;以及在该组VM中使用该组软件程序来处理工作负载请求。0006 本发明的第二方面提供一种用于在联网计算环境中选择预先供应的虚拟机(VM)以处理工作负载请求的系统,该系统包括:包括指令的存储器介质;耦合到存储器介质的总线;以及耦合到总线的处理器,所述处理器在执行指令时使系统:在计算机存储介质中接收工。
12、作负载请求;标识所需要的用于处理工作负载请求的一组软件程序;在联网计算环说 明 书CN 102981908 A2/9页5境中从预先供应的VM池选择具有该组软件程序的一组VM,该组VM基于以下各项中的至少一项来选择:用于安装该组VM的时间长度;该组VM被需求的概率;或者具有该组软件程序的该组VM的数量;安装该组VM;以及使用该组VM中的该组软件程序来处理工作负载请求。0007 本发明的第三方面提供一种用于在联网计算环境中选择预先供应的虚拟机(VM)以处理工作负载请求的计算机程序产品,该计算机程序产品包括计算机可读存储介质和存储于计算机可读存储介质上的程序指令,程序指令用于:在计算机存储介质中接收。
13、工作负载请求;标识所需要的用于处理工作负载请求的一组软件程序;在联网计算环境中从预先供应的VM池选择具有该组软件程序的一组VM,该组VM基于以下各项中的至少一项来选择:用于安装该组VM的时间长度;该组VM被需求的概率;或者具有该组软件程序的该组VM的数量;安装该组VM;以及使用该组VM中的该组软件程序来处理工作负载请求。0008 本发明的第四方面提供一种用于部署系统的方法,该系统用于在联网计算环境中选择预先供应的虚拟机(VM)以处理工作负载请求,该方法包括部署计算机基础设施,该计算机基础设施可操作用于:在计算机存储介质中接收工作负载请求;标识所需要的用于处理工作负载请求的一组软件程序;在联网计。
14、算环境中从预先供应的VM池选择具有该组软件程序的一组VM,该组VM基于以下各项中的至少一项来选择:用于安装该组VM的时间长度;该组VM被需求的概率;或者具有该组软件程序的该组VM的数量;安装该组VM;以及使用该组VM中的该组软件程序来处理工作负载请求。附图说明0009 从与以下附图结合进行的对本发明各种方面的下文具体描述中将更容易理解本发明的这些和其它特征:0010 图1表示根据本发明一实施例的云计算节点。0011 图2表示根据本发明一实施例的云计算环境。0012 图3表示根据本发明一实施例的抽象模型层。0013 图4表示根据本发明一实施例的系统图。0014 图5表示根据本发明一实施例的安装图。
15、形。0015 图6表示根据本发明一实施例的方法流程图。0016 附图未必按比例绘制。附图仅为示意表示,而并非旨在于描绘本发明的具体参数。附图旨在于仅表示本发明的典型实施例、因此不应被视为限制本发明的范围。在附图中,相似编号代表相似元件。具体实施方式0017 这里现在将参照其中示出了示例实施例的附图更完全地描述说明性实施例。然而本公开内容可以用许多不同形式来实施,而不应解释为限于这里阐述的示例性实施例。实际上,提供这些示例实施例使得本公开内容将透彻和完整,并且将向本领域技术人员完全传达本公开内容的范围。在描述中,可以省略公知特征和技术的细节以避免不必要地模糊所呈现的实施例。0018 这里所用术语。
16、仅出于描述特定实施例的目的,而并非旨在于限制本公开内容。如这里所用,单数形式“一个/一种”和“该”除非上下文另有明示否则旨在于也包括复数形说 明 书CN 102981908 A3/9页6式。另外,使用术语“一个/一种”等不表示数量上的限制,而实际上表示存在至少一个引用项。术语“组”旨在于意味着至少一个的数量。还将理解,术语“包括”,或“包含”当在本说明书中使用时指定存在所言特征、区域、整体、步骤、操作、元件和/或部件、但是不排除存在或者此外还有一个或者多个其它特征、区域、整体、步骤、操作、元件、部件和/或其组合。0019 本发明的实施例提供一组可以用来选择应当使用哪些部分和/或预先供应的虚拟机。
17、(VM)作为基础平台,以满足在联网计算环境(例如云计算环境)中接收的新工作负载(例如供应)请求的算法方法。具体而言,当接收工作负载请求时,标识为了处理工作负载请求而需要的一组(例如至少一个)软件程序。然后从预先供应的VM池选择具有该组软件程序的一组VM。一般而言,可以遵循多个方法和/或因素以选择该组VM。示例包括用于安装该组VM的时间长度、该组VM被需求的概率,和/或具有该组软件程序的该组VM的数量。一旦已经选择该组VM,可以安装该组VM,并且可以使用该组软件程序来处理工作负载请求。0020 首先应当理解,尽管本公开包括对云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够。
18、结合现在已知或以后开发的任何其它类型的计算环境而实现。0021 云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。0022 特征包括:0023 按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。0024 广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标。
19、准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。0025 资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。0026 迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获。
20、取任意数量的计算能力。0027 可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃消费者账户)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。0028 服务模型如下:0029 软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于消费者的应用配置设置外,消费者既不管理也不控制说 明 书CN 102981908 A4/9页7包括网络、服务器、操作系统、存储、乃至单个应用能力等的。
21、底层云基础架构。0030 平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。0031 基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。0032 部。
22、署模型如下:0033 私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。0034 共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。0035 公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。0036 混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分。
23、担技术)绑定在一起。0037 云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。0038 现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。0039 云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机。
24、系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。0040 计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。0041 如图1所示,云。
25、计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。0042 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举说 明 书CN 102981908 A5/9页8例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连。
26、(PCI)总线。0043 计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。0044 系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓冲存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘” )读写的。
27、磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。0045 本发明的实施例可以实施为一种计算机可读信号介质,该计算机可读信号介质可以包括传播的数据信号,该数据信号具有实施于其中的计算机可读程序代码(例如在基带中或者作为载波的部分)。这样的传播信号可以采用多种形式(包括但不限于电磁、光学或者其任何适当组合)中的任何形式。计算机可读信号介质可以是任何。
28、计算机可读介质,该计算机可读介质不是计算机可读存储介质并且可以传达、传播或者传送用于由指令执行系统、装置或者设备使用或者与指令执行系统、装置或者设备结合使用的程序。0046 可以使用任何适当介质(包括但不限于无线、有线、光纤线缆、射频(RF)等或者前述各项的任何适当组合)来传输在计算机可读介质上实施的程序代码。0047 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
29、。0048 计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得消费者能与该计算机系统/良务器12交互的设备通信,和/或与使得该计算机系统/良务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/O接口22进行。并且,计算机系统/良务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以。
30、与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。0049 现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如说 明 书CN 102981908 A6/9页9上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网。
31、络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。0050 现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:0051 硬件和软件层。
32、60包括硬件和软件组件。硬件组件的例子包括:主机。在一个例子中,IBM zSeries系统和基于RISC(精简指令集计算机)体系结构的服务器。在一个例子中,IBM pSeries系统、IBM xSeries系统、IBM BladeCenter系统、存储设备、网络和网络组件。软件组件的例子包括网络应用服务器软件。在一个例子中,IBM WebSphere应用服务器软件和数据库软件。在一个例子中,IBM DB2数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。0052 虚拟层62提供一。
33、个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。0053 在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。消费者门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划。
34、和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。在管理层中还示出了虚拟机选择功能,该功能代表在本发明的实施例之下提供的功能。0054 工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及消费者数据存储和备份。如上文提到的那样,所有参照图3描述的前述示例仅为说明性的,并且本发明不限于这些示例。0055 理解如这里描述的本发明的所有功能通常可以由(管理层64(该管理层可以有形地实施为程序/工具40的程序代码42的模块(图1)的)虚拟机选择功能执行。。
35、然而情况并非必须如此。实际上,这里记载的功能可以由图3中所示层60-66中的任何层实现/实施和/或启用。0056 重申的是,虽然本公开内容包括关于云计算的具体描述,但是这里记载的教导的实施不限于云计算环境。实际上,本发明的实施例旨在用现在已知或者以后开发的任何类型的联网计算环境来实施。0057 现在参照图4,示出了根据本发明一个方面的系统图。如所表示的那样,在联网计算环境84(例如包括云计算环境50)内示出了虚拟机轮询引擎(引擎70)。一般而言,引擎说 明 书CN 102981908 A7/9页1070可以实施为图1的计算机系统12上的程序40,并且可以实施如图3的管理层64中所示的、这里记载。
36、的功能。一般而言,引擎70(在一个实施例中)包括规则和/或计算引擎,该引擎处理一组(至少一个)规则78,和/或并且执行一组计算,以从预先供应的VM池(池74)中选择一组VM 72A-N,以处理/操纵一个或者多个工作负载请求76A-N。按照这种方式,引擎70可以执行与通用计算机相似的功能。0058 按照这种方式,引擎70可以使用规则78来执行多个功能。具体而言,引擎70可以:在计算机存储介质中接收工作负载请求;标识所需要的用于处理工作负载请求的一组软件程序;在联网计算环境中从预先供应的VM池选择具有该组软件程序的一组VM,该组VM基于以下各项中的至少一项来选择:用于安装该组VM而需要的时间长度;。
37、该组VM被需求的概率;或者具有该组软件程序的该组VM的数量;安装该组VM;以及使用该组VM中的该组软件程序来处理工作负载请求;以及其它功能。0059 现在将更具体说明引擎70的功能。假设云环境50包括(例如至少部分)预先供应的VM 72A-N的池74。另外假设对于部分预先供应的映像72A-N存在一些供应历史和评级数据80(例如在一组数据库82A-N等中)。在本发明的实施例之下,存在多个如下方法/方式,可以实施这些方法/方式以标识池74中的哪些VM 72A-N包括所需要的用于处理工作负载请求76A-N的软件程序。在下文阐述的示例中,将假设提供和/或需要多至三个可能的软件程序(即软件程序“A”、“。
38、B”、“C”)(或者其任何组合)。然而情况并非必须如此,并且理解仅出于说明性目的而引用软件程序“A”、“B”、“C”。0060 方法/方式1-基于最短安装时间的选择:这一方法包括如下算法,该算法确定将需要最短时间以实现特定工作负载请求的部分预先供应的VM。可以通过循环遍历所有部分供应的VM、并且选择需要最少时间的VM来实施这一方法。在图5中更具体地示出了这一概念。如所表示的那样,图5的图形示出了具有软件程序“A”、“B”和/或“C”的某一组合的VM 100A-N。也示出了各种遍历路径102A-N,这些路径具有用于获得所有三个软件程序“A”、“B”和“C”的相关联时间“tx”。例如从VM 100。
39、A(空集)开始,如节点100N中所示、用于获得所有三个软件程序的一个可能路由是遍历通向VM 100B的路径tb、然后是通向VM 100E的路径ta、以及然后是通向VM 100N的路径tc。如进一步所示,可以遵循从VM 100A到VM 100N的多个路径。在上文描述的基于时间的方法/方式之下,引擎将计算所有可能路径的遍历时间、然后选择具有最少累计遍历时间的可用路径。0061 方法/方式2-选择具有最少需求概率的预先供应的VM:在这一方法/方式中,引擎70标识具有最低需求概率的VM(P(软件组合),并且选择该软件组合VM。这一方法未利用具有更高需求概率的VM,因为将可能在不久的将来需要那些VM。这。
40、一方式将有益于如下云环境,在该云环境中,比相关联云管理系统可以补充部分预先供应的池74更快地接收工作负载请求。0062 方法/方式3-选择具有最高需求概率的部分预先供应的VM:这一方法与方法/方式2基本上相反,因为引擎70确定具有最高需求概率的VM(P(软件组合)。这一方法基于具有高P(软件组合)的特定VM,这将意味着在池74中存在更多它们。因而可能存在更多时间来用相似/类似VM补充池74。0063 方法4-选择具有最高数量的部分预先供应的VM的软件组合(或者具有软件组合的VM)。这一方法检查无需从空集开始的所有可能起始组合(例如暂存器(scratch)、并说 明 书CN 102981908 A10。