CN103092671B - 在联网计算环境中确定虚拟机映像模式分布的方法和系统 - Google Patents

在联网计算环境中确定虚拟机映像模式分布的方法和系统 Download PDF

Info

Publication number
CN103092671B
CN103092671B CN201210309027.XA CN201210309027A CN103092671B CN 103092671 B CN103092671 B CN 103092671B CN 201210309027 A CN201210309027 A CN 201210309027A CN 103092671 B CN103092671 B CN 103092671B
Authority
CN
China
Prior art keywords
pattern
group
pond
computing environment
distribution
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.)
Active
Application number
CN201210309027.XA
Other languages
English (en)
Other versions
CN103092671A (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 Co.
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 CN103092671A publication Critical patent/CN103092671A/zh
Application granted granted Critical
Publication of CN103092671B publication Critical patent/CN103092671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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
    • 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/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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明的实施方式涉及在联网计算环境中确定虚拟机映像模式分布的方法和系统。特别地,提供了一种用于基于历史数据确定虚拟机(VM)跨VM实例池的模式分布的方法(例如,以获得更快的准备时间)。在一个典型的实施方式中,VM实例池的总计池大小被确定(例如,基于历史数据)。然后,确定一组VM实例模式跨该池的分布(例如,同样基于历史数据)。一旦已确定分布,VM实例池可根据该分布被准备。在一个实施方式中,VM模式可以跨池均匀地分布。在另一实施方式中,VM模式可以根据VM模式先前被请求的百分比而被分布。在又一实施方式中,VM模式可被分组为与特定用户/消费者级别相关联的两个或更多群组(例如,特权和/或许可级别,消费者购买和/或指定的服务级别,等等)。

Description

在联网计算环境中确定虚拟机映像模式分布的方法和系统
技术领域
总体上,本发明涉及在联网计算环境中(例如,云计算环境)确定虚拟机(VM)模式分布。特别地,本发明涉及基于历史数据而确定跨VM实例池的VM实例模式。
背景技术
联网计算环境(例如云计算环境)是对先前网格环境的提高,其中多个网格和其他计算资源可以通过一个或多个附加的抽象层(例如,云层)进一步提高,因此使完全不同的设备对于端消费者作为单个无缝资源池。这些资源可包括例如物理或逻辑计算引擎、服务器和设备、设备存储器、存储设备等等。
云计算设备通常提供在相对静态的硬件池中,其中操作系统和应用被部署和重配置以满足消费者的计算要求。在云环境的边界以内,应用映像可被安装和重写,互联网协议(IP)地址可被修改,并且可以分配真实和虚拟处理器以满足的改变业务需要。现在,不同的云服务提供商准备(provision)消费者请求的虚拟机所需的时间量可能不同。例如,一些云提供商可以在几秒钟左右准备特定资源,而其他可能花几小时。准备速度的差异一般由至少3个因素引起:存储架构的类型、云管理平台的架构和/或用于准备资源的方法。因此,获得高效计算资源准备时间可能存在挑战。
发明内容
总体上,本发明的实施方式提供了一种用于基于历史数据而确定虚拟机(VM)模式跨VM实例池的分布的方法(例如,获得更快的的准备时间)。在典型的实施方式中,VM实例池的总计池大小被确定(例如基于历史数据)。然后,一组VM实例模式跨该池的分布被确定(例如也基于历史数据)。一旦已确定分布,可以根据分布被准备VM实例池。在一个实施方式中,VM模式可以跨该池均匀地分布。在另一实施方式中,VM模式可以根据VM模式先前被请求的百分比被分布。在又一实施方式中,VM模式可被分组为与特定用户/消费者级别相关联的2个或更多群组(例如特权和/或许可级别,消费者购买和/或指定的服务级别,等等)。
本发明的第一方面提供了一种用于在联网计算环境中确定虚拟机(VM)映像池的模式分布的计算机实现的方法,包括:确定VM实例池的总计池大小;基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨该池的分布;以及根据该分布在联网计算环境中准备VM实例池。
本发明的第二方面提供了一种用于在联网计算环境中确定虚拟机(VM)映像池的模式分布的系统,包括:包括指令的存储器介质;耦合到存储器介质的总线;以及耦合到总线的处理器,当执行指令时使系统:确定VM实例池的总计池大小;基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨池的分布;以及根据该分布在联网计算环境中准备VM实例池。
本发明的第三方面提供了一种用于在联网计算环境中确定虚拟机(VM)映像池的模式分布的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,以及存储在所述计算机可读存储介质上的程序指令,以:确定VM实例池的总计池大小;基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨该池的分布;以及根据该分布在联网计算环境中准备VM实例池。
本发明的第四方面提供了一种用于部署用于在联网计算环境中确定虚拟机(VM)映像池的模式分布的系统的方法,包括:提供一种计算机基础设施,可用于:确定VM实例池的总计池大小;基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨该池的分布;以及根据该分布在联网计算环境中准备VM实例池。
附图说明
根据结合附图的本发明的各个方面的以下详细说明,本发明的这些和其他特征将更易于理解,其中:
图1示出根据本发明的一个实施方式的云计算节点。
图2示出根据本发明的一个实施方式的云计算环境。
图3示出根据本发明的一个实施方式的抽象模型层。
图4示出根据本发明的一个实施方式的系统图。
图5示出根据本发明的一个实施方式的预先准备的虚拟机实例池。
图6示出根据本发明的另一个实施方式的预先准备的虚拟机实例池。
图7示出根据本发明的另一个实施方式的预先准备的虚拟机实例池。
图8示出根据本发明的一个实施方式的方法流程图。
附图未必是按照比例的。附图仅是示意表示,并非意在描绘本发明的具体参数。附图仅仅是为了示出本发明的典型实施方式,因此不应被理解为限制本发明的范围。在附图中,相同标号表示相同元素。
具体实施方式
现在这里将参考示出示范实施方式的附图更完全地说明示例性实施方式。但是,本公开可实现为很多不同的形式并不应误解为限制为这里提出的示范实施方式。而且,提供这些示范实施方式使得本公开是全面和完整的并将向本领域技术人员完全地表达本公开的范围。在说明中,公知的特征和技术的细节将被忽略以避免不必要地使示出的实施方式难理解。
此处使用的术语仅用于说明特定实施方式而不是要限制本公开。开。如此处所用,单数形式的“一个”、“一种”和“该”也要包括复数形式,除非上下文明确表明不是。而且,使用词语“一个”、“一种”等等,不表示数量的限制,而是表示至少一个引用的项的出现。词语“组”是表示数量至少一个。还将理解,在描述中使用的词语“包括”或“包含”是指定所述的特征、区域、整数、步骤、操作、元件和/或组件的出现,但是不排除出现或添加一个或多个其他特征、区域、整数、步骤、操作、元件、组件和/或它们的组。
如上所述,总体上,本发明的实施方式提供了一种用于基于历史数据而确定虚拟机(VM)跨VM实例池的模式分布的方法(例如,以获得更快的准备时间)。在典型的实施方式中,VM实例池的总计池大小被确定(例如基于历史数据)。然后,确定一组VM实例模式跨该池的分布(例如,同样基于历史数据)。一旦已确定分布,VM实例池可根据该分布被准备。在一个实施方式中,VM模式可以跨该池均匀地分布。在另一实施方式中,VM模式可以根据VM模式先前被请求的百分比被分布。在又一实施方式中,VM模式可被分组为与特定用户/消费者级别相关联的两个或更多群组(例如特权和/或许可级别,消费者购买和/或指定的服务级别,等等)。
应当先理解,虽然本公开包括云计算的详细说明,此处描述的教程的实现不限于云计算环境。而且,本发明的实施方式能与现在已知或以后开发的任何其他类型的计算环境一起被实现。
云计算是服务递送模型用于启用对可被用最小管理成本或与服务提供商交互的快速准备和释放的可配置计算资源共享池的方便、按需网络访问(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)。这个云模型可包括至少5个特性、至少3个服务模型以及至少4个部署模型。
特性如下:
按需自服务:云消费者可以单方面自动地准备所需的计算能力,例如服务器时间和网络存储,而不需要人与服务的提供商交互。
宽泛的网络接入:能力可以通过网络获得并且通过标准机制访问,这促进了异质精简(thin)或完备(thick)客户平台(例如,移动电话、膝上型电脑和PDA)的使用。
资源池化:提供商的计算资源被池化以使用多租户模型服务多个消费者,不同的物理和虚拟资源根据需求被动态分配和再分配。有位置独立的感觉消费者一般对提供的资源的精确位置没有控制或了解,但是可能能够以较高水平的抽象指定位置(例如,国家、州或数据中心)。
快速弹性:能力可以被快速地和弹性地准备,在一些情况下自动地迅速地扩增以及快速地释放以迅速地收缩。对于消费者,可用于准备的能力通常像是无限的并且可以随时购买任意的数量。
测量的服务:云系统通过调节测量能力以适合服务类型(例如,存储、处理、带宽和激活的消费者账户)的某种水平的抽象,自动地控制和优化资源使用。资源利用率可被监测、控制和报告,为使用的服务的提供商和消费者提供透明性。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用运行在云基础设施上的提供商的应用。应用可通过瘦客户接口例如web浏览器(例如,基于web的电子邮件)从多种客户设备获得。消费者不管理或控制下层的云基础设施包括网络、服务器、操作系统、存储或甚至各个应用能力,可能的例外是有限的消费者专用应用配置设置。
平台即服务(PaaS):向消费者提供的能力是在云基础设施上部署消费者创建的或获得的使用编程语言和提供商支持的工具创建的应用。消费者不管理或控制下层的云基础设施包括网络、服务器、操作系统或存储,但是控制部署的应用和可能的应用托管的环境配置。
基础设施即服务(IaaS):向消费者提供的能力是准备处理、存储、网络和其他基础的计算资源,其中消费者能部署并运行任意的软件,其可包括操作系统和应用。消费者不管理或控制下层的云基础设施但是控制操作系统、存储、部署的应用和可能有限的控制选择网络组件(例如,主机防火墙)。
部署模型如下:
私有云:云基础设施被操作仅用于组织。它可以被组织或第三方管理且可内部存在或外部存在。
社区云:云基础设施被几个组织共享并支持具有共享关注(例如,任务、安全要求、政策和适应性考虑)的特定社区。它可以被组织或第三方管理且可实体地或非实体地存在。
公共云:云基础设施对于一般公众或大的行业组可用并且被出售云服务的组织拥有。
混合云:云基础设施是保持唯一实体但是通过使数据和应用便携的(例如用于云之间负载平衡的云突发)标准化的或专利技术绑定在一起两个或多个云(私有、社区或公有)的混合。
云计算环境是面向服务的,重点在无状态、低耦合、模块性以及语义互操作性。云计算的核心是包括互连节点的网络的基础设施。
现在参考图1,示出了云计算节点的示例的示意图。云计算节点10仅是合适的云计算节点的一个示例并且不是要暗示对此处所述本发明实施方式的使用或功能性的范围的任何限制。无论如何,云计算节点10能被实现和/或执行以上提出的任何功能性。
在云计算节点10中,存在计算机系统/服务器12,其可以与很多其他通用或专用计算系统环境或配置一起运行。众所周知的可适合与计算系统/服务器12一起使用的计算系统、环境和/或配置的示例不可,但不限于个人计算机系统、服务器计算机系统、瘦客户机、胖客户机、手持或便携设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、迷你计算机系统、大型计算机系统以及包括以上系统或设备中的任一的分布式云计算环境,等等。
可以在计算机系统可执行指令的一般上下文中描述计算机系统/服务器12,例如程序模块,被计算机系统执行。一般地,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器12可以实现在分布式云计算环境中,其中任务被通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图1所示,云计算节点10中的计算机系统/服务器12示出为通用计算设备的形式。计算机系统/服务器12的组件可包括,但不限于,一个或多个处理器或处理单元16、系统存储器28以及将包括系统存储器28的多种系统组件耦合到处理器16的总线18。
总线18代表多种总线结构类型中的任一中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口以及处理器或使用多种总线架构中任一的本地总线。通过举例,且不是限制,这种架构包括工业标准架构(ISA)总线、微信道结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围组件互连(PCI)总线。
计算机系统/服务器12通常包括多种计算机系统可读介质。这种介质可以是计算机系统/服务器12可访问的任何可用的介质,并且它包括易失和非易失介质、可移除和不可移除介质。
系统存储器28可包括形式为易失存储器的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓冲存储器32。计算机系统/服务器12还可包括其他可移除/不可移除、易失/非易失计算机系统存储介质。仅通过举例,可提供存储器系统34用于读和写不可移除、非易失磁介质(未示出且通常称为“硬驱动器”)。虽然未示出,可提供用于读和写可移除、非易失磁盘(例如“软盘”)的磁盘驱动器,以及用于读或写可移除、非易失光盘例如CD-ROM、DVD-ROM或其他的光介质的光盘驱动器。在这种实例中,每一个可通过一个或多个数据介质接口连接到总线18。下面将进一步图示和说明,存储器28可包括具有被配置用于执行本发明的实施方式的功能的一组(至少一个)程序模块的至少一个程序产品。
本发明的实施方式可以实现为计算机可读信号介质,其可包括其中含有计算机可读程序代码的传播的数据信号(例如,在基带中或作为载波的一部分)。这种传播的信号可采取多种形式中的任一,包括但不限于,电磁、光或它们任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,其不是计算机可读存储介质且可通信、传播或传输用于被指令执行系统、装置或设备使用或与指令执行系统、装置或设备有关的程序。
可以用任何适当的介质传送包含在计算机可读介质上的程序代码,包括但不限于,无线、有线、光纤线缆、射频(RF)等,或上述的任何合适的组合。
程序/工具40具有一组(至少一个)程序模块42,其可被存储在存储器28中,作为非限制性示例,还有操作系统、一个或多个应用程序、其他程序模块以及程序数据。操作系统、一个或多个应用程序、其他程序模块以及程序数据或它们的一些组合中的每一个可包括网络环境的实现。程序模块42一般执行如这里所述的本发明的实施方式功能和/或方法论。
计算机系统/服务器12还可与以下设备通信:一个或多个外部设备14,例如键盘、点击设备、显示24等通信;支持消费者与计算机系统/服务器12交互的一个或多个设备;和/或支持计算机系统/服务器12与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可通过I/O接口22发生。而且,计算机系统/服务器12可与一个或多个网络例如局域网(LAN)、一般广域网(WAN)和/或公用网(例如互联网)通过网络适配器20通信。如图所示,网络适配器20与计算机系统/服务器12的其他组件通过总线18通信。应理解虽然未示出,其他硬件和/或软件组件可与计算机系统/服务器12一起使用。示例包括但不限于:微码、设备驱动器、冗余处理单元、外部盘驱动阵列、RAID系统、带驱动以及数据档案存储系统等。
现在参考图2,示出了示意性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者使用的本地计算设设备例如,例如,个人数字助理(PDA)或蜂窝电话54A、桌面计算机54B、膝上型电脑54C和/或汽车计算机系统54N可用其通信。节点10可以相互通信。它们可被物理地或虚拟地分组(未示出),在一个或多个网络中,例如以上所述的私有、社区、共有或混合云或其组合。这使得云计算环境50提供基础设施、平台和/或软件作为服务,因此云消费者不需要维护本地计算设备上的资源。应理解图2所示计算设备54A-N的类型仅是示意性的并且计算节点10和云计算环境50可与任何类型计算机化设备通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)通信。
现在参考图3,示出了由云计算环境50(图2)提供的一组功能抽象层。应先理解图3中所示组件、层和功能仅是示意性的并且本发明的实施方式不限于此。如图所示,提供了以下层和对应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例大型机。在一个示例中, 系统和基于RISC(精简指令集计算机)架构的服务器。在一个示例中,IBM系统,IBM系统,IBM系统、存储设备、网络和网络组件。软件组件的示例包括网络应用服务器软件。在一个示例中,IBM应用服务器软件和数据库软件。在一个示例中,IBM数据库软件(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere和DB2是IBM公司在世界很多辖区注册的商标)。
虚拟化层62提供抽象层,从其可提供虚拟实体的以下示例:虚拟服务器;虚拟存储;虚拟网络,包括虚拟专用网;虚拟应用和操作系统;以及虚拟客户。
在一个示例中,管理层64可提供以下功能。资源准备用于提供计算资源和其他资源的动态获得,其用于在云计算环境中执行任务。当在云计算环境中使用资源时计量和定价提供成本跟踪,以及对这些资源消耗的收费和记账。在一个示例中,这些资源可包括应用软件许可。安全提供对云消费者和任务的身份验证,以及对数据和其他资源的保护。消费者门户为消费者和系统管理员提供对云计算环境的访问。访问级别管理提供云计算资源分配和管理使得所需的服务级别被满足。服务级别协议(SLA)计划和实施提供云计算资源的预先安排以及获得云计算资源,根据SLA预测其未来需求。而且在管理层中示出虚拟机池分布功能,其表示在本发明的实施方式中提供的功能性。
工作负载层66提供可使用云计算环境的功能性的示例。从这一层可提供的工作负载和功能的示例包括:地图和导航;软件开发和生命周期管理;虚拟教室教育递送;数据分析处理;事务处理;以及消费者数据存储和备份。如上所述,参考图3所述的所有上述示例仅是示意性的,并且本发明不限于这些示例。
应理解如这里所述的本发明的所有功能通常可以被管理层64的虚拟机池分布功能性执行,其可以有形地实现为程序/使用程序40(图1)的程序代码42的模块。但是,这不需要如此。而且,这里所述的功能性可以被执行/实现和/或被图3所示的层60-66中的任一启用。
需要重申的是,虽然这个公开包括对云计算的详细说明,这里所述教程的实现不限于云计算环境。而且,本发明的实施方式是要用现在已知或以后开发的任何类型的联网计算环境实现。
现在参考图4,示出了根据本发明的一个方面的系统图。如图所示,虚拟机池分布引擎(引擎70)示出在联网计算环境84中(例如,包括云计算环境50)。一般地,引擎70可被实现为图1的计算机系统12上的程序40并且可实现图3的管理层64所示这里所述的功能。一般地,引擎70(在一个实施方式中)包括规则和/或计算引擎处理一组(至少一个)规则78和/或执行一组计算,其使用存储在一组计算机存储介质82A-C中的历史数据80以确定在VM实例72A-C的池74中的VM实例模式分布以处理/对待一个或多个工作负载请求76A-C。
沿着这些线,引擎70可执行类似于使用规则78的通用计算机的多个功能。具体地,此外,引擎70可以:确定VM实例池的总计池池大小;基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨该池的分布;和/或根据该分布在联网计算环境中准备VM实例池。在确定分布中,引擎70还可以应用一个或多个概率技术,导致VM实例模式被:平均分布在池74中,根据模式先前被请求的百分比被分布,和/或被分组到一个或多个基于用户/消费者级别的群组中。
无论如何,现在将详细解释引擎70的功能。一般地,引擎70确定哪些映像/实例和软件(例如VM)应预先准备在当前未使用的硬件组件上(例如,总计池大小)。引擎70还确定未使用的硬件的什么部分应接收预先准备分配。根据云环境的预先准备能力,这可以达到未使用的硬件的100%。以下示出的是用于预先准备VM示例72A-C的池74的多个方法。特别地,以下多种方法说明了用于确定池74中VM示例模式的分布的不同方式。对于以下所示的每个方法,使用以下参数:
x=要准备的VM的数目
ph=准备的VM实例的先前历史
方法1-X-deep预先准备
现在参考图5,示出了示意性的VM实例模式82A-C、84A-C和86A-C的池80。在这个示意性示例下,历史数据80(图4)已指明3个模式“A”、“B”和“C”先前已被请求/需要(例如,处理工作负载请求76A-C或其类似的变量)并且总计池大小为9。在这个方法中,3个模式将被平均分布到池80中。如图所示,模式“A”、“B”和“C”的3个实例已被准备在池80中。下面是该方法的示意性算法:
1.对于在先历史ph中每个不同的实例i:
2.preprovision(i,x)
方法2-具有概率的X-Deep预先准备
利用这个方法,引擎70(图4)将分析可用的软件包、这些包的可能的组合、以及基于每个包而被准备的先前已准备VM实例的百分比。利用该信息,引擎70将调节预先准备的池以最佳匹配包组合的“受欢迎程度”,保证最受欢迎的组合以最大的百分比可用以及可以被最快地准备。如图6所示,这可以导致VM实例模式92A-E、94和96A-B比图5所示的平均分布更多的分布配置。特别地,如图所示,在池90中共有8个VM实例模式(如根据历史数据确定的)分布如下:5个用于VM实例模式92A-E,1个用于实例模式94,以及2个用于VM实例模式96A-B。这个分布基于表明模式“A”发生在在先准备操作的5/8或62.5%,模式“B”发生在在先准备操作的1/8或12.5%,而模式“C”发生在在先准备操作的2/8或25%(如根据图4的历史数据80所确定的)的历史数据。以下所示是在这个方法中提供的示意性算法:
preprovision(imageToProvision,numberToProvision):
1)forinti=0;i<numberToProvision;i++do:
2)provisionToPreprovisionPool(imageToProvision)
方法3-消费者群组的池分段
这个方法可提高以上方法通过将预先准备的池辅助划分为段或组。每个组可分配给一个特定的用户/消费者群组。在一个实施方式中,如果在两个或多个组之间动态和历史显著不同,可应用这个方法。例如,可使用这个方法以将保证的资源池给“VIP”或高级客户,如图7所示。如图所示,池100可包括多个组102和104上的多个分布。例如,组102(标准消费者)具有模式分布106A-D、108A-B和110A-C,而组104(高级消费者)具有模式分布112、114和116。这些示意性场景使高级用户具有仅他们可提取的特殊预留的池。这将使正常的预先准备的池被耗尽而仍保证高级组用户将有对VM实例的实质瞬时访问。一般地,消费者级别和相关联的组可以根据多种技术被确定。例如,消费者级别可以是:被云环境提供商指定,被消费者购买等等。
现在参考图8,示出了根据本发明的一个实施方式的方法流程图。如图所示,在步骤S1,确定VM实例池的大小。在步骤S2,确定VM实例模式跨该池的分布(例如,平均分布,基于历史百分比分布,基于组的分布等等)。在步骤S3,根据VM实例模式的分布准备VM实例池。工作负载请求在步骤S4被接收并且在步骤S5中使用来自池的至少一个VM实例被处理。
虽然这里示出和说明为VM池分布解决方案,应理解本发明还提供多种可替换实施方式。例如,在一个实施方式中,本发明提供包括计算机程序代码的计算机可读/可使用介质以使计算机基础设施能提供如这里所述的VM池分布功能性。因此,计算机可读/可使用介质包括实现本发明的多种处理中的每一个的程序代码。应理解词语计算机可读介质或计算机可使用介质包括任何类型的程序代码的物理实施方式中的一个或多个。具体地,计算机可读/可使用介质可包括程序代码,其包含在一个或多个便携存储产品(例如,压缩盘、磁盘、带等等)上,在计算设备的一个或多个数据存储部分上,如存储器28(图1)和/或存储系统34(图1)(例如,硬盘、只读存储器、随机存取存储器、高速缓存存储器等等)。
在另一实施方式中,本发明提供了一种在订阅、广告和收费的基础上执行本发明的处理的方法。即,服务提供商,例如解决方案集成者,可提供VM池分布功能性。在这种情况下,服务提供商可创建、维护、支持等等,计算机基础设施,例如计算机系统12(图1),为一个或多个消费者执行本发明的处理。所以,服务提供商可在订阅和/或收费协议下接收消费者付费,和/或服务提供商可接收从广告内容的销售到一个或多个第三方的付费。
在又一个实施方式中,本发明提供了一种用于VM池分布的计算机实现的方法。在这种情况下,可以提供计算机基础设施,例如计算机系统12(图1),并且可以获得用于执行本发明处理的一个或多个系统(例如,创建、购买、使用、修改等等),并将其部署到计算机基础设施。因此,系统的部署可包括以下一个或多个:(1)从计算机可读介质在计算设备例如计算机系统12(图1)上安装程序代码;(2)向计算机基础设施添加一个或多个计算设备;以及(3)合并和/或修改计算机基础设施的一个或多个现有的系统以使计算机基础设施能执行本发明的处理。
如这里所用,应理解词语“程序代码”和“计算机程序代码”是同义的且表示要使具有信息处理能力的计算设备直接地或者在以下的一个或全部之后执行特定功能的一组指令的任何表达,以任何语言、代码或记号:(a)转换为另一语言、代码或记号;和/或(b)重新生成为不同材料形式。因此,程序代码可实现为以下的一个或多个:应用/软件程序,组件软件/函数库,操作系统,基本设备系统/特定计算设备的驱动程序等等。
适合存储和/或执行程序代码的数据处理系统可被提供在下面以及可包括至少一个直接或间接地通信耦合到存储器元件通过系统总线的处理器。存储器元件可包括但不限于,在实际执行程序代码期间采用的本地存储器、海量存储以及提供至少一些程序代码的临时存储的高速缓存存储器以便减少在执行期间代码必须被从海量存储取回的次数。输入/输出和/或其他外部设备(包括但不限于,键盘、显示器、点击设备等等)可直接地或通过中介设备控制器耦合到系统。
网络适配器还可耦合到系统以使数据处理系统能变成耦合到其他数据处理系统、远程打印机、存储设备等等,通过中介私有或公有网络的任何组合。示意性的网络适配器包括但不限于,调制解调器、线缆调制解调器和以太网卡。
本发明的各个方面的上述描述仅为了示意和说明而提出。不是要穷举或将本发明限制到所公开的精确形式,以及,显然可以有很多修改和变更。本领域技术人员明白的这些修改和变更要被包括在如所附权利要求限定的本发明的范围中。

Claims (9)

1.一种用于在联网计算环境中确定虚拟机VM映像池的模式分布的计算机实现的方法,包括:
确定VM实例池的总计池大小;
基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨所述池的分布,所述分布包括所述一组VM模式根据所述一组VM模式先前被请求的历史百分比而跨所述池被分布;以及
根据所述分布在所述联网计算环境中准备所述VM实例池,所述联网计算环境包括云计算环境,并且所述方法还包括:
接收工作负载请求;以及
使用从所述VM实例池选择的至少一个VM实例处理所述工作负载请求。
2.根据权利要求1所述的计算机实现的方法,所述分布包括所述一组VM模式跨所述池的平均分布。
3.根据权利要求1所述的计算机实现的方法,所述分布包括所述一组VM模式被分组到多个VM模式群组中。
4.根据权利要求3所述的计算机实现的方法,所述多个VM模式群组的每一个群组属于特定的消费者级别。
5.一种用于在联网计算环境中确定虚拟机VM映像池的模式分布的系统,包括:
一装置,被配置为确定VM实例池的总计池大小;
一装置,被配置为基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨所述池的分布,所述分布包括所述一组VM模式根据所述一组VM模式先前被请求的历史百分比而跨所述池被分布;以及
一装置,被配置为根据所述分布在所述联网计算环境中准备所述VM实例池,所述联网计算环境包括云计算环境,并且所述系统还被配置为:
接收工作负载请求;以及
使用从所述VM实例池选择的至少一个VM实例处理所述工作负载请求。
6.根据权利要求5所述的系统,所述分布包括所述一组VM模式跨所述池的平均分布。
7.根据权利要求5所述的系统,所述分布包括所述一组VM模式被分组到多个VM模式群组中。
8.根据权利要求7所述的系统,所述多个VM模式群组的每一个群组属于特定的消费者级别。
9.一种用于部署用于在联网计算环境中确定虚拟机VM映像池的模式分布的系统的方法,包括:
提供一种计算机基础设施,操作用于:
确定VM实例池的总计池大小;
基于从至少一个计算机存储介质访问的历史数据确定一组VM实例模式跨所述池的分布,所述分布包括所述一组VM模式根据所述一组VM模式先前被请求的历史百分比而跨所述池被分布;以及
根据所述分布在联网计算环境中准备VM实例池,所述联网计算环境包括云计算环境,并且所述方法还包括:
接收工作负载请求;以及
使用从所述VM实例池选择的至少一个VM实例处理所述工作负载请求。
CN201210309027.XA 2011-09-07 2012-08-27 在联网计算环境中确定虚拟机映像模式分布的方法和系统 Active CN103092671B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/227,261 US9038063B2 (en) 2011-09-07 2011-09-07 Determining virtual machine image pattern distributions in a networked computing environment
US13/227,261 2011-09-07

Publications (2)

Publication Number Publication Date
CN103092671A CN103092671A (zh) 2013-05-08
CN103092671B true CN103092671B (zh) 2016-08-03

Family

ID=46605715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210309027.XA Active CN103092671B (zh) 2011-09-07 2012-08-27 在联网计算环境中确定虚拟机映像模式分布的方法和系统

Country Status (4)

Country Link
US (2) US9038063B2 (zh)
CN (1) CN103092671B (zh)
DE (1) DE102012215219A1 (zh)
GB (1) GB2494495B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769102B1 (en) * 2010-05-21 2014-07-01 Google Inc. Virtual testing environments
US9038063B2 (en) 2011-09-07 2015-05-19 International Business Machines Corporation Determining virtual machine image pattern distributions in a networked computing environment
US9003141B2 (en) * 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
US9372735B2 (en) 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US8904008B2 (en) * 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US10353738B2 (en) 2012-03-21 2019-07-16 International Business Machines Corporation Resource allocation based on social networking trends in a networked computing environment
CN103442088B (zh) * 2013-09-16 2016-04-27 苏州市职业大学 一种分组计算的云计算系统
CN105335207B (zh) 2014-05-29 2019-04-12 国际商业机器公司 用于管理虚拟机实例的方法和装置
US10225207B2 (en) * 2014-08-25 2019-03-05 International Business Machines Corporation Managing hybrid cloud placement policies
JP2016103179A (ja) * 2014-11-28 2016-06-02 株式会社日立製作所 計算機リソースの割り当て方法及び計算機システム
CN105278874A (zh) * 2015-09-15 2016-01-27 中国联合网络通信集团有限公司 大数据平台系统及其运行方法
US10037221B2 (en) 2015-12-28 2018-07-31 Amazon Technologies, Inc. Management of virtual desktop instance pools
US20180129524A1 (en) * 2016-11-10 2018-05-10 International Business Machines Corporation Managing pre-allocated virtual machine instance pools
US10963355B2 (en) 2018-11-28 2021-03-30 International Business Machines Corporation Automated and dynamic virtual machine grouping based on application requirement
US11915024B2 (en) * 2020-07-16 2024-02-27 International Business Machines Corporation Pool management for in-vehicle device application startup

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290583A (zh) * 2007-04-19 2008-10-22 国际商业机器公司 为虚拟机供应图像的方法和系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949254A (en) 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5093912A (en) 1989-06-26 1992-03-03 International Business Machines Corporation Dynamic resource pool expansion and contraction in multiprocessing environments
US7577722B1 (en) 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US20040030882A1 (en) 2002-08-08 2004-02-12 Forman George Henry Managed application pre-launching
CN101427220A (zh) 2004-01-30 2009-05-06 国际商业机器公司 用于计算工具的计算环境的组件化自动供应和管理
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
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
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
US20070294676A1 (en) * 2006-06-19 2007-12-20 Ewan Ellis Mellor Open virtual appliance
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US8171485B2 (en) * 2007-03-26 2012-05-01 Credit Suisse Securities (Europe) Limited Method and system for managing virtual and real machines
US8903983B2 (en) 2008-02-29 2014-12-02 Dell Software Inc. Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network
US8291416B2 (en) * 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
US9094292B2 (en) * 2009-08-31 2015-07-28 Accenture Global Services Limited Method and system for providing access to computing resources
US8924559B2 (en) 2009-12-03 2014-12-30 International Business Machines Corporation Provisioning services using a cloud services catalog
US8533103B1 (en) * 2010-09-14 2013-09-10 Amazon Technologies, Inc. Maintaining latency guarantees for shared resources
MY178111A (en) 2010-12-22 2020-10-05 Mimos Berhad Intelligent load handling in cloid infrastructure using trend analysis
US9038063B2 (en) 2011-09-07 2015-05-19 International Business Machines Corporation Determining virtual machine image pattern distributions in a networked computing environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290583A (zh) * 2007-04-19 2008-10-22 国际商业机器公司 为虚拟机供应图像的方法和系统

Also Published As

Publication number Publication date
US20150186177A1 (en) 2015-07-02
US9317321B2 (en) 2016-04-19
GB201210253D0 (en) 2012-07-25
GB2494495A (en) 2013-03-13
US20130061221A1 (en) 2013-03-07
DE102012215219A1 (de) 2013-03-07
CN103092671A (zh) 2013-05-08
GB2494495B (en) 2016-10-05
US9038063B2 (en) 2015-05-19

Similar Documents

Publication Publication Date Title
CN103092671B (zh) 在联网计算环境中确定虚拟机映像模式分布的方法和系统
CN103299274B (zh) 确定运行图像的最佳计算环境的系统和方法
US8271655B2 (en) Cloud computing roaming services
US9882834B2 (en) Capturing data parameters in templates in a networked computing environment
US9104613B2 (en) Disaster recovery in a networked computing environment
US9253114B2 (en) Pre-provisioning virtual machines in a networked computing environment
US8881244B2 (en) Authorizing computing resource access based on calendar events in a networked computing environment
US20140136712A1 (en) Cloud resources as a service multi-tenant data model
US20150195416A1 (en) Optimizing storage between mobile devices and cloud storage providers
US20110145153A1 (en) Negotiating agreements within a cloud computing environment
US20130268638A1 (en) Mapping requirements to a system topology in a networked computing environment
CN103369021A (zh) 用于网络化计算环境中的策略实现的系统和方法
US8806485B2 (en) Configuring virtual machine images in a networked computing environment
US9225662B2 (en) Command management in a networked computing environment
US20140244311A1 (en) Protecting against data loss in a networked computing environment
US20130290258A1 (en) Transitioning application replication configurations in a networked computing environment
US9342527B2 (en) Sharing electronic file metadata in a networked computing environment
US9189544B2 (en) Graphically representing tags in a networked computing environment
JP2022094945A (ja) コンピュータ実装方法、システム及びコンピュータプログラム(バッチジョブのスケジューリングの最適化)

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

Effective date of registration: 20211105

Address after: USA New York

Patentee after: Qindarui Co.

Address before: Armank, New York, USA

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right