CN103299274A - 确定运行图像的最佳计算环境 - Google Patents
确定运行图像的最佳计算环境 Download PDFInfo
- Publication number
- CN103299274A CN103299274A CN2012800050599A CN201280005059A CN103299274A CN 103299274 A CN103299274 A CN 103299274A CN 2012800050599 A CN2012800050599 A CN 2012800050599A CN 201280005059 A CN201280005059 A CN 201280005059A CN 103299274 A CN103299274 A CN 103299274A
- Authority
- CN
- China
- Prior art keywords
- image
- group
- environment
- performance
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Abstract
本发明公开涉及确定运行图像的最佳计算环境。本发明的各方面提供了评估本地运行的图像(例如,诸如用于虚拟机(VM)的图像)并且确定该图像是否能够在备选计算环境(例如,云计算环境)中更高效地和/或更有效地运行的方法。具体而言,本发明的实施例评估本地(现有/目标)图像的实际和可以察觉到的性能,以及如果该图像要移植到备选环境的话的预期/可能的性能。所述预期/可能的性能可以基于另一图像来测量,所述另一图像与现有/目标图像相似,但该图像正在不同的计算环境中运行。总之,如果确定该图像在备选环境中执行得更好,系统将向最终用户显示推荐(或者反之亦然)。
Description
技术领域
本发明涉及环境优化。具体而言,本发明涉及确定运行诸如用于虚拟机(VM)的图像之类的图像的最佳环境。
背景技术
云计算环境是对其前身网格环境的增强,由此多个网格和其它计算资源可以被云层进一步抽象,从而使分散的设备对终端消费者看来是单个无缝资源池。这些资源可以包括像物理或逻辑计算引擎、服务器与设备、设备存储器和存储设备之类的东西。
当尝试本地运行一个虚拟图像(例如,用于VM的图像)时,用户可能时不时会有不期望的体验,这是因为用户可能体验次佳的性能(例如,不充分的CPU性能、不充分的存储器,等等)。而且,用于识别运行VM的最佳环境的当前方法还存在挑战。
发明内容
本发明的各方面提供了评估本地运行的图像(例如,诸如用于虚拟机(VM)的图像)并且确定该图像是否能够在备选计算环境(例如,云计算环境)中更高效地和/或更有效地运行的方法。具体而言,本发明的实施例评估本地(现有/目标)图像的实际和可以察觉到的性能,及如果该图像要移植到备选环境的话的预期/可能的性能。所述预期/可能的性能可以基于另一图像来测量,该另一图像与现有/目标图像相似,但是该图像在不同的计算环境中运行。总之,如果确定该图像在备选环境中执行得更好,系统将向最终用户显示推荐(或者反之亦然)。应当理解,性能仅仅是系统将对其执行比较的一个说明性度量。也可以使用诸如成本、可靠性、可用性等的其它度量。
本发明的第一方面提供了一种用于确定运行图像的最佳计算环境的方法,包括:向注册表服务(registry service)注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;测量运行在当前计算环境中的当前图像的现有性能;从所述一组图像中识别与所述当前图像相似的至少一个图像;测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;比较所述至少一个图像的可能性能与所述当前图像的现有性能;及基于所述比较确定运行所述当前图像的最佳计算环境。
本发明的第二方面提供了一种用于确定运行图像的最佳计算环境的系统,包括:总线;耦合到所述总线的处理器;及耦合到所述总线的存储器介质,所述存储器介质包括指令,用于:向注册表服务注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;测量运行在当前计算环境中的当前图像的现有性能;从所述一组图像中识别与所述当前图像相似的至少一个图像;测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;比较所述至少一个图像的可能性能与所述当前图像的现有性能;及基于所述比较确定运行所述当前图像的最佳计算环境。
本发明的第三方面提供了一种用于确定运行图像的最佳计算环境的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,并且存储在所述计算机可读存储介质上的程序指令用于:向注册表服务注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;测量运行在当前计算环境中的当前图像的现有性能;从所述一组图像中识别与所述当前图像相似的至少一个图像;测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;比较所述至少一个图像的可能性能与所述当前图像的现有性能;及基于所述比较确定运行所述当前图像的最佳计算环境。
本发明的第四方面提供了一种部署用于确定运行图像的最佳计算环境的系统的方法,包括:提供计算机基础设施,所述计算机基础设施能够操作来:向注册表服务注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;测量运行在当前计算环境中的当前图像的现有性能;从所述一组图像中识别与所述当前图像相似的至少一个图像;测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;比较所述至少一个图像的可能性能与所述当前图像的现有性能;及基于所述比较确定运行所述当前图像的最佳计算环境。
附图说明
从以下结合附图对本发明各方面的具体描述,本发明的这些及其它特征将更容易理解,其中:
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4表示根据本发明一实施例的部件流程图;
图5示出了根据本发明一实施例的另一个部件流程图;及
图6表示根据本发明一实施例的方法流程图。
附图不一定是按比例的。附图仅仅是示意性的表示,而不是要描述本发明的具体参数。附图仅仅是要绘出本发明的典型实施例,因此不能被认为是限定本发明的范围。在附图中,相同的标号代表相同的元件。
具体实施例
现在将参考附图更加完全地描述说明性实施例,附图中示出了示例性实施例。但是,本公开内容可以以许多不同的形式体现而且不应当被认为是限定到在此所述的示例性实施例。相反,这些示例性实施例的提供是为了使本公开内容透彻和完整而且将向本领域技术人员完全传达本公开内容的范围。在本描述中,众所周知的特征与技术的细节可能被忽略,以避免不必要地模糊所给出的实施例。
在此所使用的术语仅仅是为了描述特定的实施例,而不是要成为本公开内容的限制。如在此所使用的,除非上下文明确地另外指示,否则单数形式“一个”、“这个”等也要包括复数形式。此外,术语“一个”等的使用并不表示为数量的限制,而是表示存在至少一个所引用项。还应当理解,当在本说明书中使用时,术语“包括”或“包含”规定所述特征、区域、整数、步骤、操作、元素和/或部件的存在,但是并不排除一个或多个其它特征、区域、整数、步骤、操作、元素、部件和/或其组的存在或添加。
本发明的各方面提供了评估本地运行的图像(例如,诸如用于虚拟机(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/O)接口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包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供可以利用云计算环境的功能的例子。可以从这层提供的工作负载及功能的例子包括:映射与导航;软件开发与生命周期管理;虚拟教室教育交付;数据分析处理;事务处理;及环境优化。如以上所提到的,以上关于图3描述的所有例子都仅仅是说明性的,而且本发明不限于这些例子。
应当理解,在此所述的本发明的所有功能一般都可以由环境优化功能执行,该功能可以有形地体现为环境优化程序/实用程序40(图1)的程序代码模块42。但是,情况不需要是这样。相反,在此所述的功能可以由图3中所示的层60-66中的任一层执行/实现和/或启用。
应当重申,尽管本公开内容包括关于云计算的具体描述,但是在此所述教义的实现不限于云计算环境。相反,预期本发明的实施例可以利用现在已知或者今后开发出的任何类型的联网计算环境实现。
在一种实施例中,本发明充分利用基于云的方法给虚拟图像(例如,对应于VM)供电和/或实现它,以便向用户提供超出通过本地运行虚拟图像可以获得的改进性能。这些概念启用为运行虚拟图像确定最成本有效并且最佳执行运行时环境的方法。在其它特征当中,本发明的实施例可以提供以下一个或多个:从最终用户的视角测量本地运行的虚拟机的实际和可以察觉到的性能的方法;测量在一个本地运行的图像移动到诸如云计算环境的备选环境的情况下该图像的实际和可以察觉到的性能的方法;和/或评估确切与相似图像并且结合诸如网络等待时间(例如,云对本地运行)、可以察觉到的性能差异和/或成本差异及其它度量的因素的比较引擎。
现在参考图4,示出了根据本发明一种实施例的部件流程图。应当理解,在典型实施例中,术语“图像”关于VM。但是,情况不需要是这样。总之,如图4中所示,位于一组工作站74A-N上的一组(至少一个)图像72A-N向注册表服务76注册,并且这种注册的对应细节存储在储存库/注册表78中。总的来说,这组图像72A-N中的每一个都在对应的计算环境中运行。图4-5中所示的部件将确定图像86是否运行在最佳计算环境中,而且,如果不是的话,就移植、拷贝或者以别的方式把图像86移动到最佳计算环境。在典型实施例中,注册表服务76创建可以与图像或图像简档关联的唯一标识符。(分别)运行在工作站74A-N和82上的图像注册表代理70A-N和82向注册表服务76提供图像简档,该图像简档将由比较引擎80使用,如以下将进一步描述的。
图像注册表代理70A-N和82可以实现为独特的服务或者作为虚拟环境的一部分。这将既运行在本地虚拟环境中,也运行在使用该系统的多租户环境中。当创建虚拟图像时、运行虚拟图像时或者作为具体动作被用户或管理员执行时,代理与注册表服务一起工作,生成图像的唯一标识符,并且把特定于图像的信息加载到注册表中。
通过用户的具体动作或者作为用户本地虚拟环境的动作,当启动一个虚拟图像时,图像注册表代理70A-N和82可以查询注册表服务76,找出可以寄存在多租户(公共/私有云)环境中的相同或相似的图像。如果找到一个环境,就可以请求比较引擎80提供关于执行该图像的最佳环境的反馈(如以下将更具体描述的)。用户的机器规范将被收集并上载到比较服务(这可以在该过程中或者之前作为注册过程的一部分进行)。这种服务将比较用户的机器规范与备选计算环境提供的规范。
具体而言,比较引擎80分析来自储存库78的可用简档与运行在工作站84上当前计算环境90中的当前/本地图像86;测量当前图像86的现有性能;从这组图像72A-N中识别与当前图像相似的至少一个图像;测量在运行在其对应计算环境中时这至少一个图像的可能性能;比较这至少一个图像的可能性能与当前图像86的现有性能;基于所述比较确定运行当前图像86的最佳计算环境;和/或为用户和/或管理员生成输出88等。在进行确定时,比较引擎80可以提供运行当前图像86的环境的分级。
应当理解,在测量计算环境90中图像86的现有性能与其在其它环境中的可能性能时,可以使用一组性能度量(例如,度量可以包括处理速度、存储容量等)。还应当理解,除了性能,比较引擎80还可以利用其它因素/数据做决定。其中,这可以包括:
●最终用户活动响应时间(例如,执行具体的动作)。这可以实时地测量或者从历史数据收集。客户端程序能够执行这些常见动作、收集并把这种信息记录到比较引擎。
●云提供者与用户有可能运行图像的位置之间的等待时间。应当指出,用户可能计划从远端城市中的消费者位置运行,因此用户能够在请求中提供这个位置而且处于比那个位置更近的位置的云提供者可以提供更好的等待时间。
●用于进入比较服务的输入的用户规定权重。用户可以把网络等待时间定义为比原始计算能力更高的优先级。
●用户(或者社交网络中的其他用户)输入的、特定于图像(及该图像的唯一标识符)的数据,所述数据关于要由比较引擎使用的实际性能统计数据。
●用户基于对于特定图像的或者一般的本地和/或云体验提供的分级数据。这个数据可以由比较引擎用作参数。利用以上用户优先化比较因素的能力,用户可以选择把这个因素优先化为高、中或低(或者某种类似类型的分数)。
如以上所指示的,报告或者其它输出88可以由比较引擎80生成,比较引擎80将向用户通知,相对于在他们本地的机器上,通过在云中远端运行图像他们可以预期什么类型的性能优势。可以提供所比较的环境的分级。也可以提供关于加盟(on-boarding)/供应过程的附加信息。
作为输出88的一部分,可以为最终用户提供本地或远端运行图像的选项。如果选择了远端选项,则可以供应虚拟图像的适当克隆而且可以为用户提供他们远端连接到基于云的图像所需的信息。可替换地,如果选定的环境是用户具有的精确图像的导入版本(importversion),则该图像可以移动到云提供者和为用户提供的实例。
如以上所指示的,比较引擎80还可以考虑与系统关联的用户简档,其中所述系统定义在系统及其方法的各个阶段中使用的用户偏好。该简档可以包括以下数据,诸如:比较参数的优先级(例如,成本比性能优先、网络等待时间比存储器可用性优先等);和/或对于环境提供者的偏好,及可以使用的其它数据。这种系统可以是注册表服务76、比较引擎80的一部分,或者作为由那些服务使用的一个独立系统。
现在参考图5,示出了最佳计算环境中当前图像86的实现。具体而言,如图所示,(如果本地不是最佳环境的话)图像管理器可以在选定的环境中克隆、移动和/或构建当前图像86。在这个例子中,图像86由图像管理器94从其网格计算环境90拷贝到云计算环境92。一旦拷贝了以后,当前图像就可以留在网格计算环境中,或者完全被图像管理器94除去。
应当理解,图4-5中所示的部件(例如,注册表服务76、比较引擎80和图像管理器94)可以实现为图1中所示的环境优化程序40的一个或多个程序模块42。沿着这些线,存在以上系统和方法的多种可能实现。例如,注册表服务76和比较引擎80可以是分布式环境中的独立实体或者作为单个过程建立。其它体系结构也可以使用。系统可以利用标准的web服务接口和编程技术来实现。照此,在此所述的教义不是要限定到具体的实现或部署体系结构。
然而,以下的说明性例子都是基于联系图4-5所述的教导:
假定在这个例子中用户“A”在他/她的单核4GB RAM膝上型计算机上运行操作系统“X”。进一步假设用户“A”利用VM播放器“Z”运行VM“Y”。在这个例子中,VM“Y”运行得相当慢,因为膝上型计算机耗尽了RAM,而且VM映射交换文件(swap file)增长,以便容纳运行资源。系统已经测量出了膝上型计算机上VM“Y”的实际性能降级而且已经发现公共云“1”中有一个可用的类似VM,这个VM运行得快大约70%但是需要花费$0.25/小时。在膝上型计算机上给出一个对话框,指示这些(及可能地还有其它)细节并且给予用户“A”接受或拒绝把VM“Y”重定向到公共云“1”的推荐的选项。
现在参考图6,示出了根据本发明一种实施例的方法流程图。在步骤S1中,(例如,利用图像注册代理)向注册表服务注册一组图像(例如,通过在储存库中存储对应的数据)。如以上所指示的,这组图像中的每一个都在对应的计算环境中运行。在步骤S2中,测量当前计算环境中运行的当前图像的现有性能(例如,利用性能度量)。在步骤S3中,从这组图像中识别与当前图像相似的至少一个图像。在步骤S4中,测量在运行在其对应计算环境中时这至少一个图像的可能性能。在步骤S5中,比较这至少一个图像的可能性能与当前图像的现有性能。在步骤S6中,基于所述比较(及可选地,可以阐述用户偏好等的任何可用用户简档)确定运行当前图像的最佳计算环境(例如,云计算环境)。
尽管在此显示并描述为图像环境优化解决办法,但是应当理解,本发明还提供了各种备选实施例。例如,在一种实施例中,本发明提供了包括计算机程序代码的计算机可读/可用介质,所述代码使计算机基础设施能够提供在此所讨论的图像环境优化功能。为此,计算机可读/可用介质包括实现本发明各方面中每一个方面的程序代码。应当理解,术语“计算机可读介质”或者“计算机可用介质”包括程序代码的任何类型物理实施例中的一种或多种。特别地,计算机可读/可用介质可以包括体现在一个或多个便携式存储制造品(例如,光盘、磁盘、磁带等)上、计算设备的一个或多个数据存储部分上的程序代码,其中的数据存储部分诸如是存储器28(图1)和/或存储系统34(图1)(例如,固定盘、只读存储器、随机存取存储器、高速缓存等)。
在另一种实施例中,本发明提供了基于订阅、广告和/收费执行本发明过程的方法。即,服务提供商,诸如解决方案集成商,可以提供图像环境优化功能。在这种情况下,服务提供商可以为一个或多个消费者创建、维护、支持等执行本发明过程的计算机基础设施,诸如计算机系统12(图1)。反过来,服务提供商可以按订阅和/或收费协议从消费者收取费用和/或服务提供商可以通过广告内容向一个或多个第三方的销售收取费用。
在还有另一种实施例中,本发明提供了用于图像环境优化的计算机实现方法。在这种情况下,可以提供计算机基础设施,诸如计算机系统12(图1),并且可以获得(例如,创建、购买、使用、修改等)用于执行本发明过程的一个或多个系统并且将其部署到计算机基础设施。为此,系统的部署可以包括以下中的一个或多个:(1)在诸如计算机系统12(图1)的计算设备上从计算机可读介质安装程序代码;(2)向计算机基础设施添加一个或多个计算设备;及(3)结合和/或修改计算机基础设施的一个或多个现有系统,以便使计算机基础设施能够执行本发明的过程。
如在此所使用的,应当理解,术语“程序代码”和“计算机程序代码”是同义词而且意味着任何语言、代码或符号的一组指令的任何表示,这组指令要使具有信息处理能力的计算设备直接地或者在以下一个或两个之后执行特定功能:(a)转换成另一种语言、代码或者符号;和/或(b)在不同的材料形式中复制。为此,程序代码可以体现为以下中的一个或多个:应用/软件程序、部件软件/函数库、操作系统、用于特定计算设备的基本设备系统/驱动器,等等。
可以在下文中提供适于存储和/或执行程序代码的数据处理系统并且该数据处理系统可以包括至少一个直接地或者间接地通过系统总线通信耦合到存储器元件的处理器。存储器元件可以包括,但不限于,在程序代码的实际执行过程中采用的本地存储器、大容量储存器和提供至少一些程序代码的临时存储以便减少执行过程中必须从大容量储存器检索代码的次数的高速缓存。输入/输出和/或其它外部设备(包括,但不限于,键盘、显示器、定点设备等)可以直接地或者通过中间设备控制器耦合到该系统。
通过中间私有或公共网络的任意组合,网络适配器也可以耦合到系统,使得数据处理系统变得耦合到其它数据处理系统、远端打印机、存储设备等。说明性的网络适配器包括,但不限于,调制解调器、电缆调制解调器和以太网卡。
给出以上本发明各方面的描述是为了说明和描述。它不是要详尽无遗的或者要把本发明限定到所公开的精确形式而且,很显然,许多修改与变化都是可能的。对本领域技术人员显而易见的这种修改与变化应当包括在由以下权利要求定义的本发明的范围之内。
Claims (22)
1.一种用于确定运行图像的最佳计算环境的计算机实现的方法,包括:
向注册表服务注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;
测量运行在当前计算环境中的当前图像的现有性能;
从所述一组图像中识别与所述当前图像相似的至少一个图像;
测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;
比较所述至少一个图像的可能性能与所述当前图像的现有性能;及
基于所述比较确定运行所述当前图像的最佳计算环境。
2.如权利要求1所述的方法,其中所述最佳计算环境包括云计算环境。
3.如权利要求1所述的方法,其中所述注册是由运行在包含所述一组图像的一组工作站上的代理启用的。
4.如权利要求1所述的方法,还包括:
在储存库中存储与所述注册关联的数据。
5.如权利要求1所述的方法,其中所述现有性能与所述可能性能是基于一组性能度量测量的。
6.如权利要求1所述的方法,其中所述确定进一步基于与所述现有图像关联的用户简档。
7.如权利要求6所述的方法,其中所述用户简档给出一组偏好。
8.一种用于确定运行图像的最佳计算环境的系统,包括:
总线;
耦合到所述总线的处理器;及
耦合到所述总线的存储器介质,所述存储器介质包括指令,用于:
向注册表服务注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;
测量运行在当前计算环境中的当前图像的现有性能;
从所述一组图像中识别与所述当前图像相似的至少一个图像;
测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;
比较所述至少一个图像的可能性能与所述当前图像的现有性能;及
基于所述比较确定运行所述当前图像的最佳计算环境。
9.如权利要求8所述的系统,其中所述最佳计算环境包括云计算环境。
10.如权利要求8所述的系统,其中使用运行在包含所述一组图像的一组工作站上的代理来注册所述一组图像。
11.如权利要求8所述的系统,其中所述存储器介质还包括:
用于在储存库中存储与所述注册关联的数据的指令。
12.如权利要求8所述的系统,其中所述现有性能与所述可能性能是基于一组性能度量测量的。
13.如权利要求8所述的系统,其中进一步基于与所述现有图像关联的用户简档来确定所述最佳计算环境。
14.如权利要求13所述的系统,其中所述用户简档给出一组偏好。
15.一种用于确定运行图像的最佳计算环境的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,并且存储在所述计算机可读存储介质上的程序指令用于:
向注册表服务注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;
测量运行在当前计算环境中的当前图像的现有性能;
从所述一组图像中识别与所述当前图像相似的至少一个图像;
测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;
比较所述至少一个图像的可能性能与所述当前图像的现有性能;及
基于所述比较确定运行所述当前图像的最佳计算环境。
16.如权利要求15所述的计算机程序产品,其中所述最佳计算环境包括云计算环境。
17.如权利要求15所述的计算机程序产品,其中使用运行在包含所述一组图像的一组工作站上的代理来注册所述一组图像。
18.如权利要求15所述的计算机程序产品,还包括:
存储在所述计算机可读存储介质上的用于在储存库中存储与所述注册关联的数据的程序指令。
19.如权利要求15所述的计算机程序产品,其中所述现有性能与所述可能性能是基于一组性能度量测量的。
20.如权利要求15所述的计算机程序产品,其中进一步基于与所述现有图像关联的用户简档来确定所述最佳计算环境。
21.如权利要求20所述的计算机程序产品,其中所述用户简档给出一组偏好。
22.一种部署用于确定运行图像的最佳计算环境的系统的方法,包括:
提供计算机基础设施,所述计算机基础设施能够操作来:
向注册表服务注册一组图像,所述一组图像中的每一个都在对应的计算环境中运行;
测量运行在当前计算环境中的当前图像的现有性能;
从所述一组图像中识别与所述当前图像相似的至少一个图像;
测量当运行在其对应的计算环境中时所述至少一个图像的可能性能;
比较所述至少一个图像的可能性能与所述当前图像的现有性能;及
基于所述比较确定运行所述当前图像的最佳计算环境。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/004,049 | 2011-01-11 | ||
US13/004,049 US8572623B2 (en) | 2011-01-11 | 2011-01-11 | Determining an optimal computing environment for running an image based on performance of similar images |
PCT/CA2012/050014 WO2012094757A1 (en) | 2011-01-11 | 2012-01-11 | Determining an optimal computing environment for running an image |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103299274A true CN103299274A (zh) | 2013-09-11 |
CN103299274B CN103299274B (zh) | 2016-10-12 |
Family
ID=46456224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280005059.9A Active CN103299274B (zh) | 2011-01-11 | 2012-01-11 | 确定运行图像的最佳计算环境的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (4) | US8572623B2 (zh) |
JP (1) | JP5946468B2 (zh) |
CN (1) | CN103299274B (zh) |
DE (1) | DE112012000444B4 (zh) |
GB (3) | GB2500351B (zh) |
WO (1) | WO2012094757A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106164864A (zh) * | 2014-03-31 | 2016-11-23 | 微软技术许可有限责任公司 | 服务的预测负载伸缩 |
CN109936752A (zh) * | 2017-12-15 | 2019-06-25 | 中国移动通信集团云南有限公司 | 一种图像分层处理方法及装置 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9053053B2 (en) | 2010-11-29 | 2015-06-09 | International Business Machines Corporation | Efficiently determining identical pieces of memory used by virtual machines |
US9201678B2 (en) * | 2010-11-29 | 2015-12-01 | International Business Machines Corporation | Placing a virtual machine on a target hypervisor |
US8572623B2 (en) | 2011-01-11 | 2013-10-29 | International Business Machines Corporation | Determining an optimal computing environment for running an image based on performance of similar images |
US20130085810A1 (en) * | 2011-09-29 | 2013-04-04 | Volker Driesen | Federated business configuration and scoping |
EP2842044A4 (en) * | 2012-04-26 | 2015-10-07 | Hewlett Packard Development Co | PLATFORM TIME ABSTRACTION |
US20140047342A1 (en) * | 2012-08-07 | 2014-02-13 | Advanced Micro Devices, Inc. | System and method for allocating a cluster of nodes for a cloud computing system based on hardware characteristics |
US9588820B2 (en) * | 2012-09-04 | 2017-03-07 | Oracle International Corporation | Cloud architecture recommender system using automated workload instrumentation |
JP5949370B2 (ja) * | 2012-09-19 | 2016-07-06 | 富士通株式会社 | 制御装置、処理システム、制御プログラム、及び制御方法 |
US9239727B1 (en) * | 2012-10-17 | 2016-01-19 | Amazon Technologies, Inc. | Configurable virtual machines |
GB2507338A (en) * | 2012-10-26 | 2014-04-30 | Ibm | Determining system topology graph changes in a distributed computing system |
US10057183B2 (en) | 2012-12-07 | 2018-08-21 | Hewlett Packard Enterprise Development Lp | Network resource management |
EP2951679A4 (en) * | 2013-01-31 | 2016-08-10 | Hewlett Packard Entpr Dev Lp | DETERMINING THE TRANSFERABILITY OF A CALCULATION RESOURCE TO A COMPUTER CLOUD ENVIRONMENT |
US9817699B2 (en) | 2013-03-13 | 2017-11-14 | Elasticbox Inc. | Adaptive autoscaling for virtualized applications |
US20140282456A1 (en) * | 2013-03-15 | 2014-09-18 | Cloud Technology Partners, Inc. | Methods, systems and computer-readable media for code profiling and migration effort estimation |
US9747185B2 (en) * | 2013-03-26 | 2017-08-29 | Empire Technology Development Llc | Acceleration benefit estimator |
US9274782B2 (en) | 2013-12-20 | 2016-03-01 | International Business Machines Corporation | Automated computer application update analysis |
US20150237140A1 (en) * | 2014-02-14 | 2015-08-20 | Tenoware R&D Limited | Data storage systems and methods |
US9811365B2 (en) * | 2014-05-09 | 2017-11-07 | Amazon Technologies, Inc. | Migration of applications between an enterprise-based network and a multi-tenant network |
US9948514B2 (en) * | 2014-06-30 | 2018-04-17 | Microsoft Technology Licensing, Llc | Opportunistically connecting private computational resources to external services |
JP6455035B2 (ja) * | 2014-09-10 | 2019-01-23 | 富士通株式会社 | 負荷分散管理装置、制御方法およびプログラム |
US9471362B2 (en) | 2014-09-23 | 2016-10-18 | Splunk Inc. | Correlating hypervisor data for a virtual machine with associated operating system data |
US9619371B2 (en) * | 2015-04-16 | 2017-04-11 | International Business Machines Corporation | Customized application performance testing of upgraded software |
US10389663B2 (en) * | 2015-04-23 | 2019-08-20 | Microsoft Technology Licensing, Llc | Automatic uploading of attachments to group cloud storage at send time |
KR102180479B1 (ko) * | 2015-07-22 | 2020-11-18 | 삼성전자주식회사 | 전자기기 및 전자기기의 동작 방법 |
US10387181B2 (en) | 2016-01-12 | 2019-08-20 | International Business Machines Corporation | Pre-deployment of particular virtual machines based on performance and due to service popularity and resource cost scores in a cloud environment |
US11212125B2 (en) * | 2016-02-05 | 2021-12-28 | International Business Machines Corporation | Asset management with respect to a shared pool of configurable computing resources |
US10725759B2 (en) * | 2016-10-03 | 2020-07-28 | Avaya Inc. | Web application system and method to dynamically select between local installed and cloud-based resources |
US10505866B2 (en) * | 2017-06-23 | 2019-12-10 | Oracle International Corporation | System and method for recommending hosting platforms for user workload execution |
US11171825B2 (en) | 2018-05-08 | 2021-11-09 | International Business Machines Corporation | Context-based resource allocation with extended user concepts |
CN109062665A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种虚拟机桌面环境配置方法、装置及系统 |
US10739983B1 (en) | 2019-04-10 | 2020-08-11 | Servicenow, Inc. | Configuration and management of swimlanes in a graphical user interface |
US20220083397A1 (en) * | 2020-09-17 | 2022-03-17 | International Business Machines Corporation | Detection and handling of excessive resource usage in a distributed computing environment |
US11734146B2 (en) | 2021-07-16 | 2023-08-22 | Bank Of America Corporation | Analyzing performance metrics for improving technology environment of a software application |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493781A (zh) * | 2008-01-24 | 2009-07-29 | 中国长城计算机深圳股份有限公司 | 一种虚拟机系统及其启动方法 |
US20100050172A1 (en) * | 2008-08-22 | 2010-02-25 | James Michael Ferris | Methods and systems for optimizing resource usage for cloud-based networks |
US20100191845A1 (en) * | 2009-01-29 | 2010-07-29 | Vmware, Inc. | Speculative virtual machine resource scheduling |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6920555B1 (en) * | 2001-03-10 | 2005-07-19 | Powerquest Corporation | Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system |
US7574496B2 (en) | 2001-11-30 | 2009-08-11 | Surgient, Inc. | Virtual server cloud interfacing |
US7552437B2 (en) * | 2004-01-14 | 2009-06-23 | International Business Machines Corporation | Maintaining application operations within a suboptimal grid environment |
JP4293011B2 (ja) * | 2004-02-20 | 2009-07-08 | 株式会社日立製作所 | 障害時のサーバ決定方法 |
US7730486B2 (en) * | 2005-02-28 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | System and method for migrating virtual machines on cluster systems |
US7765231B2 (en) | 2005-04-08 | 2010-07-27 | Rathus Spencer A | System and method for accessing electronic data via an image search engine |
US7519200B2 (en) | 2005-05-09 | 2009-04-14 | Like.Com | System and method for enabling the use of captured images through recognition |
US20080082976A1 (en) * | 2006-09-29 | 2008-04-03 | Matthias Steinwagner | Usage of virtualization software for shipment of software products |
GB0624033D0 (en) * | 2006-12-01 | 2007-01-10 | Iti Scotland Ltd | Dynamic intervention with software applications |
US8108855B2 (en) * | 2007-01-02 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for deploying a set of virtual software resource templates to a set of nodes |
US7801994B2 (en) * | 2007-11-29 | 2010-09-21 | Hitachi, Ltd. | Method and apparatus for locating candidate data centers for application migration |
US8600120B2 (en) | 2008-01-03 | 2013-12-03 | Apple Inc. | Personal computing device control using face detection and recognition |
US8935692B2 (en) | 2008-05-22 | 2015-01-13 | Red Hat, Inc. | Self-management of virtual machines in cloud-based networks |
US8943497B2 (en) | 2008-05-29 | 2015-01-27 | Red Hat, Inc. | Managing subscriptions for cloud-based virtual machines |
US8341625B2 (en) | 2008-05-29 | 2012-12-25 | Red Hat, Inc. | Systems and methods for identification and management of cloud-based virtual machines |
US20100017801A1 (en) * | 2008-07-18 | 2010-01-21 | Vmware, Inc. | Profile based creation of virtual machines in a virtualization environment |
US9164749B2 (en) * | 2008-08-29 | 2015-10-20 | Red Hat, Inc. | Differential software provisioning on virtual machines having different configurations |
US8458717B1 (en) * | 2008-09-23 | 2013-06-04 | Gogrid, LLC | System and method for automated criteria based deployment of virtual machines across a grid of hosting resources |
US8838527B2 (en) | 2008-11-06 | 2014-09-16 | Yahoo! Inc. | Virtual environment spanning desktop and cloud |
US8239526B2 (en) * | 2008-11-14 | 2012-08-07 | Oracle International Corporation | System and method for performance data collection in a virtual environment |
US7996525B2 (en) * | 2008-12-31 | 2011-08-09 | Sap Ag | Systems and methods for dynamically provisioning cloud computing resources |
JP5293580B2 (ja) * | 2009-03-19 | 2013-09-18 | 日本電気株式会社 | ウェブサービスシステム、ウェブサービス方法及びプログラム |
US7904540B2 (en) * | 2009-03-24 | 2011-03-08 | International Business Machines Corporation | System and method for deploying virtual machines in a computing environment |
US9311162B2 (en) | 2009-05-27 | 2016-04-12 | Red Hat, Inc. | Flexible cloud management |
US8255529B2 (en) * | 2010-02-26 | 2012-08-28 | Red Hat, Inc. | Methods and systems for providing deployment architectures in cloud computing environments |
US8650563B2 (en) * | 2010-02-26 | 2014-02-11 | Red Hat Israel, Ltd. | Identification and placement of new virtual machines to reduce memory consumption based on shared images with hosted virtual machines |
US9130912B2 (en) * | 2010-03-05 | 2015-09-08 | International Business Machines Corporation | System and method for assisting virtual machine instantiation and migration |
US8478878B2 (en) * | 2010-03-11 | 2013-07-02 | International Business Machines Corporation | Placement of virtual machines based on server cost and network cost |
US8904382B2 (en) * | 2010-06-17 | 2014-12-02 | International Business Machines Corporation | Creating instances of cloud computing environments |
US8719833B2 (en) * | 2010-06-24 | 2014-05-06 | Sap Ag | Adaptive demand-driven load balancing |
US8601129B2 (en) * | 2010-06-30 | 2013-12-03 | International Business Machines Corporation | Hypervisor selection for hosting a virtual machine image |
US9323561B2 (en) * | 2010-08-13 | 2016-04-26 | International Business Machines Corporation | Calibrating cloud computing environments |
US20120054731A1 (en) * | 2010-08-24 | 2012-03-01 | International Business Machines Corporation | Method, System and Computer Programs to Assist Migration to a Cloud Computing Environment |
US9110727B2 (en) * | 2010-10-05 | 2015-08-18 | Unisys Corporation | Automatic replication of virtual machines |
US8984506B2 (en) * | 2011-01-07 | 2015-03-17 | International Business Machines Corporation | Techniques for dynamically discovering and adapting resource and relationship information in virtualized computing environments |
US8572623B2 (en) | 2011-01-11 | 2013-10-29 | International Business Machines Corporation | Determining an optimal computing environment for running an image based on performance of similar images |
-
2011
- 2011-01-11 US US13/004,049 patent/US8572623B2/en active Active
-
2012
- 2012-01-11 GB GB1311877.3A patent/GB2500351B/en active Active
- 2012-01-11 GB GB2012348.5A patent/GB2583433B/en active Active
- 2012-01-11 CN CN201280005059.9A patent/CN103299274B/zh active Active
- 2012-01-11 DE DE112012000444.2T patent/DE112012000444B4/de active Active
- 2012-01-11 JP JP2013547787A patent/JP5946468B2/ja active Active
- 2012-01-11 WO PCT/CA2012/050014 patent/WO2012094757A1/en active Application Filing
- 2012-01-11 GB GB2005236.1A patent/GB2582223B/en active Active
-
2013
- 2013-09-05 US US14/018,961 patent/US9348650B2/en active Active
-
2016
- 2016-04-14 US US15/098,499 patent/US10261819B2/en active Active
-
2019
- 2019-04-11 US US16/381,617 patent/US11204793B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493781A (zh) * | 2008-01-24 | 2009-07-29 | 中国长城计算机深圳股份有限公司 | 一种虚拟机系统及其启动方法 |
US20100050172A1 (en) * | 2008-08-22 | 2010-02-25 | James Michael Ferris | Methods and systems for optimizing resource usage for cloud-based networks |
US20100191845A1 (en) * | 2009-01-29 | 2010-07-29 | Vmware, Inc. | Speculative virtual machine resource scheduling |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106164864A (zh) * | 2014-03-31 | 2016-11-23 | 微软技术许可有限责任公司 | 服务的预测负载伸缩 |
CN106164864B (zh) * | 2014-03-31 | 2020-03-10 | 微软技术许可有限责任公司 | 服务的预测负载伸缩 |
CN109936752A (zh) * | 2017-12-15 | 2019-06-25 | 中国移动通信集团云南有限公司 | 一种图像分层处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2012094757A1 (en) | 2012-07-19 |
US20160224372A1 (en) | 2016-08-04 |
US10261819B2 (en) | 2019-04-16 |
GB2500351B (en) | 2020-06-17 |
US11204793B2 (en) | 2021-12-21 |
US8572623B2 (en) | 2013-10-29 |
GB201311877D0 (en) | 2013-08-14 |
JP5946468B2 (ja) | 2016-07-06 |
US20140007130A1 (en) | 2014-01-02 |
US20190303189A1 (en) | 2019-10-03 |
JP2014501989A (ja) | 2014-01-23 |
GB2583433A (en) | 2020-10-28 |
GB2582223A (en) | 2020-09-16 |
GB2582223B (en) | 2021-01-27 |
GB202012348D0 (en) | 2020-09-23 |
GB2500351A (en) | 2013-09-18 |
GB202005236D0 (en) | 2020-05-20 |
US20120180045A1 (en) | 2012-07-12 |
DE112012000444B4 (de) | 2023-11-02 |
DE112012000444T5 (de) | 2013-10-02 |
CN103299274B (zh) | 2016-10-12 |
GB2583433B (en) | 2021-05-12 |
US9348650B2 (en) | 2016-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103299274A (zh) | 确定运行图像的最佳计算环境 | |
US8914469B2 (en) | Negotiating agreements within a cloud computing environment | |
CN103092671B (zh) | 在联网计算环境中确定虚拟机映像模式分布的方法和系统 | |
US8271655B2 (en) | Cloud computing roaming services | |
CN104660669B (zh) | 针对应用模式组件从多个主机选择一个主机的方法和系统 | |
CN103369021A (zh) | 用于网络化计算环境中的策略实现的系统和方法 | |
CN103858118A (zh) | 在网络计算环境中动态地获得计算资源 | |
CN102981908A (zh) | 用于从预先供应的虚拟机池选择虚拟机的方法和系统 | |
CN104424013A (zh) | 在计算环境中部署虚拟机的方法和设备 | |
CN103930863A (zh) | 可轻松云化的应用的基于发现的标识和迁移 | |
CN103297492A (zh) | 用于在联网计算环境之间迁移数据的方法和系统 | |
US20130060945A1 (en) | Identifying services and associated capabilities in a networked computing environment | |
CN103297496A (zh) | 用于云计算系统的增强存储配额管理的方法和系统 | |
CN103853596A (zh) | 公共相邻存储区域优化长距离虚拟机迁移方法和系统 | |
CN103649941A (zh) | 云上的应用资源管理器 | |
CN103425529A (zh) | 基于资源利用在网络计算环境间迁移虚拟机的系统及方法 | |
CN103259742B (zh) | 在联网计算环境中进行基于活动的虚拟机可用性控制的方法与系统 | |
CN103970607A (zh) | 使用等价集合来计算优化虚拟机分配的方法和装置 | |
CN104679591A (zh) | 用于在云环境中进行资源分配的方法和装置 | |
CN103814358A (zh) | 服务器群内的虚拟机放置 | |
CN103310132A (zh) | 网络化计算环境中的软件许可管理的方法和系统 | |
CN103281344A (zh) | 用于混合云的服务使用的集成计量的方法和系统 | |
CN103593755A (zh) | 授权计算资源访问的方法和系统 | |
CN103106098A (zh) | 用于在联网计算环境中预先供应虚拟机的方法和系统 | |
CN104796270A (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 |