CN106462441B - 通过虚拟化提供过量计算资源 - Google Patents

通过虚拟化提供过量计算资源 Download PDF

Info

Publication number
CN106462441B
CN106462441B CN201580027927.7A CN201580027927A CN106462441B CN 106462441 B CN106462441 B CN 106462441B CN 201580027927 A CN201580027927 A CN 201580027927A CN 106462441 B CN106462441 B CN 106462441B
Authority
CN
China
Prior art keywords
engine
virtual machine
virtualized
host
virtual
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
CN201580027927.7A
Other languages
English (en)
Other versions
CN106462441A (zh
Inventor
丹尼尔·希尔根
帕特里克·迪瓦恩
埃里克·P·帕普
穆斯塔法·贾米尔
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.)
Netkine Inc
Original Assignee
Netkine Inc
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 Netkine Inc filed Critical Netkine Inc
Publication of CN106462441A publication Critical patent/CN106462441A/zh
Application granted granted Critical
Publication of CN106462441B publication Critical patent/CN106462441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • 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/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

主操作系统接口引擎可被配置为从一个或多个主机系统的主操作系统接收指令,并可管理该一个或多个主机系统上的经虚拟化的操作系统,对于一个或多个主机系统的用户而言经虚拟化的操作系统看起来与主操作系统是不同的。虚拟化环境管理引擎可管理虚拟化环境,该虚拟化环境使用经虚拟化的操作系统。虚拟机管理引擎可管理虚拟化环境中的一个或多个虚拟机实例,该一个或多个虚拟机实例中的每一者进行操作以提供一个或多个主机系统的经虚拟化的资源用于被耦合到该一个或多个主机系统的计算访问系统。

Description

通过虚拟化提供过量计算资源
背景技术
虚拟化技术形成许多系统的重要部分,其中包括经由联网连接向客户端提供服务的基于云的计算系统。更具体地,在许多系统中,虚拟化技术允许被称为虚拟化服务器的第一组设备来虚拟化资源以及向被称为虚拟化客户端的第二组设备提供这些经虚拟化的资源。虚拟化服务器通常驻留在支持快速处理速度、具有较大的存储器及存储容量并能快速及可靠地访问网络的位置中。其结果是,许多虚拟化服务器和虚拟化服务是资源密集型操作。此外,许多虚拟化服务器和虚拟化服务在具有用于管理它们的资源的一些实体的控制下。
提供虚拟化服务的这些实体可控制虚拟机的供给。更具体地,大部分虚拟化服务器在主要虚拟化服务提供商的所有权或物理控制内的服务器上被运行。这在虚拟化服务的市场中可形成瓶颈。主要虚拟化服务提供商在任何时候都具有打开和关闭虚拟机的控制权。主要虚拟化服务提供商还可在给定的时间对不同的客户确定什么类型的虚拟化服务是可用的。其结果是,主要虚拟化服务提供商可在给定的时间或针对给定的地理区域控制虚拟机的供给。由于基础经济以及其他因素,当前虚拟化系统允许一些主要实体控制虚拟机价格。这一制度可证明是灾难性的,特别是在考虑到网络中立规则的消亡时。更具体地,随着网络中立规则的消亡,那些没有网络访问的优惠级别的实体可发现数据中心中的虚拟机是缓慢的或低效的。更高效的和/或有效的网络系统将会是有益的。
发明内容
在各种实施方式中,包含一个或多个主机系统和一个或多个计算访问系统以及经虚拟化的计算控制及管理系统的经虚拟化的计算环境被提供。主机系统可包括虚拟化环境引擎以维持其上的虚拟化环境。虚拟化环境可维持用于虚拟化主机系统的资源的一个或多个虚拟机实例。主机系统的硬件/软件可通过使用虚拟机实例被虚拟化。经虚拟化的资源可经由网络被提供至计算访问系统中的经虚拟化的计算客户端引擎。在一些实施方式中,虚拟化环境引擎经由提供对等存储、对等数据的传送以及其他数据通信的虚拟/逻辑网络而彼此耦合。经虚拟化的计算客户端引擎可包括允许计算访问系统的用户访问经虚拟化的资源的任何应用或进程。经虚拟化技术控制及管理系统可包括控制和/或管理经虚拟化的计算访问引擎和/或虚拟化环境引擎的功能的任何计算机系统。
在特定的实施方式中,虚拟化环境引擎可促进经虚拟化的计算操作系统的安装、可与主机系统的主操作系统接合以及可管理虚拟化环境和/或其上的虚拟机实例。虚拟化环境引擎也可管理虚拟机状态数据和/或虚拟化环境安全性。虚拟化环境引擎可被用来管理在虚拟化环境中的一个或多个虚拟机实例、安全地访问嵌套文件、管理虚拟化环境引擎中的状态、向经虚拟化的计算控制及管理系统和/或其他虚拟化环境上传数据,等等。
在实施方式中,经虚拟化的计算控制及管理系统可帮助促进主机系统上的虚拟化环境的安装、控制虚拟机实例、促进向计算访问客户端提供虚拟化服务以及促进由计算访问客户端进行对虚拟机实例的访问。经虚拟化的计算控制及管理系统也可管理虚拟化环境之间的对等网络和/或其他网络。在一些实施方式中,经虚拟化的计算控制及管理系统提供各种虚拟机类别,这依赖于特定计算访问系统的需求。经虚拟化的计算控制及管理系统还可提供针对经虚拟化的计算实例的市场。这种市场可使用各种基于拍卖的销售方法或其他方法。
许多其他特征和实施方式将从附图及下列详细描述显而易见。
附图说明
图1描绘了示出经虚拟化的计算环境的示例的示图。
图2描绘了示出用于管理在经虚拟化的计算环境中的虚拟机的示例的流程图。
图3描绘了虚拟化环境引擎的示例的示图。
图4描绘了用于初始化虚拟化环境引擎的方法的示例的流程图。
图5描绘了用于管理在虚拟化环境中的一个或多个虚拟机实例的方法的示例的流程图。
图6描绘了虚拟机管理引擎的示例的示图。
图7描绘了示出安全盘活动支持引擎的示例的示图。
图8描绘了用于安全地访问嵌套文件的方法的示例的流程图。
图9描绘了示出虚拟机状态数据传送引擎的示例的示图。
图10描绘了用于管理虚拟化环境引擎中的状态的方法的示例的流程图。
图11描绘了示出延迟的虚拟机数据上传引擎的示例的的示图。
图12描绘了用于从虚拟化环境引擎上传数据的方法的示例的流程图。
图13描绘了经虚拟化的计算控制及管理系统的示例的示图。
图14描绘了示出虚拟机控制引擎的示例的示图。
图15描绘了示出虚拟化服务提供商引擎的示例的示图。
图16描绘了示出对等存储管理引擎的示例的示图。
图17描绘了用于维持在虚拟化环境引擎之间的对等存储的方法的示例的流程图。
图18描绘了示出客户端资源分配引擎的示例的示图。
图19描绘了用于提供多个虚拟机类别的方法的示例的流程图。
图20描绘了示出虚拟机市场引擎的示例的示图。
图21描绘了用于协调一个或多个虚拟机实例的传送的方法的示例的流程图。
图22描绘了示出经虚拟化的计算客户端引擎的示例的示图。
图23描绘了互联网服务提供商数据的地图的示图。
图24描绘了互联网服务提供商数据的地图的示图。
图25描绘了互联网服务提供商数据的地图的示图。
图26描绘了示出经虚拟化的计算环境的示例的示图。
图27描绘了计算机系统的示例。
附图描绘各种实施例是仅出于说明的目的,其中附图使用相同的参考标号来标识相似的元素。本领域的技术人员将容易地从下列讨论中识别出可被采用的在附图中所示的结构及方法的可替代的实施方式,而不脱离本文所描述的公开的技术的原理。
具体实施方式
图1描绘了示出经虚拟化的计算环境的示例的示图100。在图1的示例中,经虚拟化的计算环境包括第一主机系统105-1至第n主机系统105-n(在本文中被统称为“(一个或多个)主机系统105”和/或被单独称为“主机系统105”)、网络115、计算访问系统120、经虚拟化的计算控制及管理系统130以及虚拟/逻辑网络135。如在本文中进一步讨论的,经虚拟化的计算环境可支持具有可被计算访问系统120访问的虚拟机实例的虚拟化环境。
在图1的示例中,主机系统105被耦合至网络105。在特定实施方式中,主机系统105包括具有处理器和存储器的设备。在各种实施方式中,主机系统105可包括图30所示的计算机系统3000的一些或所有组件。通过示例而非限制的方式,主机系统105可包括:智能电话、平板计算设备、膝上型计算机、专用服务器、台式计算机、游戏控制台、或其他适用的计算设备。
计算机系统可被实现为引擎、引擎的部分或贯穿多个引擎。如在本文中所使用的,引擎包括一个或多个处理器或其部分。一个或多个处理器中的部分处理器可包括比包含任意给定一个或多个处理器的全部硬件少的部分硬件,例如寄存器的子集、专用于多线程处理器的一个或多个线程的处理器部分、时间片段(在此期间处理器完全地或部分地专用于执行部分引擎功能),等等。因此,第一引擎和第二引擎可具有一个或多个专用处理器或者第一引擎和第二引擎可彼此或与其他引擎共享一个或多个处理器。根据特定实施方式或其他的考虑,引擎可具有集中式或分布式功能。引擎可包括硬件、固件或包含于被处理器运行的计算机可读介质中的软件。通过使用所实现的数据结构和方法,处理器将数据转换为新的数据,例如参照本文中的附图所描述的。
本文中所描述的引擎或通过那些可被实现为在本文中所描述的系统和设备的引擎,可以是基于云的引擎。如在本文中所使用的,基于云的引擎是可通过使用基于云的计算系统运行应用和/或功能的引擎。所有的或部分应用和/或功能可跨越多个计算设备(即不被限制为仅仅一个计算设备)被分布。在一些实施例中,基于云的引擎可运行终端用户通过网页浏览器或容器应用来访问的功能和/或模块,这样不必在终端用户的本地计算设备上安装这些功能和/或模块。
在实施方式中,主机系统105包括虚拟化环境引擎110。更具体地,第一主机系统105-1可包括第一虚拟化环境引擎110-1,以及第n主机系统105-n包括第n虚拟化环境引擎110-n。在实施方式中,虚拟化环境引擎110包括“引擎”和“数据存储”。
在本文中所使用的“数据存储”可被实现为包含于通用或专用机器上的物理计算机可读介质中、固件中、硬件中或它们的结合中、或可应用的已知或便利的设备或系统中的软件。在本文中的数据存储意在包括任意数据组织,包括平板设备、逗号分隔值(CSV)文件、传统数据库(例如,SQL)、或其他可应用的已知或便利的组织格式。与数据存储相关联的组件(例如,数据库接口),可被认为是数据存储的“部分”、某些其他系统组件的部分、或它们的组合,尽管与数据存储相关联的组件的物理位置和其他特性不是理解本文所描述的技术的关键。数据存储可包括数据结构。在本文中使用的,数据结构与在计算机中存储和组织数据的特定方式相关联,所以数据结构可有效地在给定的环境中被使用。数据结构总体基于计算机在其存储器中的由地址(位串,该位串本身可存储在存储器中并由程序操纵)指定的任意位置处获取和存储数据的能力。这样,一些数据结构是基于利用算术运算来对数据项的地址进行计算;而其他数据结构是基于将数据项的地址存储在该结构本身中。许多数据结构使用这两种原理,有时这两种原理以复杂方式结合。数据结构的实现通常需要编写一组用于创建和操纵该结构的实例的程序。
在实施方式中,虚拟化环境引擎110支持那种相对主机系统105上的其他进程为安全的的虚拟化环境。虚拟化环境可包括超级管理器(hypervisor)、沙箱环境、或其他环境(具有不能被虚拟化环境之外的主机系统105中的进程访问的进程)。在实施方式中,当主机系统105被引导,虚拟化环境引擎110的至少部分可作为单独操作系统。虚拟化环境引擎110的至少部分也可具有对于主机系统105的主操作系统是透明的文件系统。例如,虚拟化环境引擎110的至少部分可通过使用表现为与主机系统105的引导过程不同的操作系统的Linux内核来实现。在这种实施方式中,虚拟化环境引擎110的至少部分可具有表现为正如主机系统105的主操作系统的文件系统的新技术文件系统(NTFS)。例如,虚拟化环境引擎110的至少部分可表现为正如与主机系统105的主操作系统不同的操作系统的可扩展固件接口(EFI),同时虚拟化环境引擎110可表现为正如主机系统105上的文件系统的盘分区和/或盘布局软件。在一些实施方式中,虚拟化环境引擎110引导进入位于主机系统105的主操作系统的文件系统中的映像。
尽管本讨论使用短语“主”操作系统,但应注意的是,各种实施方式应用于主机系统105上的一组操作系统中的任何适用的操作系统,且如果有主操作系统的话,哪个操作系统是“主”操作系统取决于实施方式和/或配置特定的因素。例如,虚拟化环境可包括
Figure GDA0002616402600000061
内核,而主机系统105的主操作系统包括
Figure GDA0002616402600000062
Figure GDA0002616402600000063
操作系统。
在图1的示例中,网络115被耦合至主机系统105、计算访问系统120和经虚拟化的计算控制以及管理系统130。在特定的实施方式中,网络115包括联网系统,该联网系统包含彼此耦合的若干计算机系统(例如,互联网)或用于耦合单个计算机组件的设备(例如,总线)。本文所使用的术语“互联网”是指使用某些协议(例如,TCP/IP协议)以及可能的其他协议(例如,针对标记万维网(web)的超文本标记语言(HTML)文档的超文本传输协议(HTTP))的(一个或多个)网络中的网络。内容通常由被称为“在互联网‘上’”的内容服务器提供。作为内容服务器的一种类型的web服务器通常为至少一个计算机系统,其作为服务器计算机系统进行操作并被配置为按照web协议进行操作且被耦合至互联网。互联网的物理连接以及互联网和web的协议和通信过程对相关领域的技术人员是公知的。出于说明的目的,假设网络115广泛地包括(如从相关上下文中所理解的)从图1的示例中所示的组件至互联网以及耦合到互联网的网络的各组件的简单耦合得出的任意事物。在一些实施方式中,网络115由诸如互联网服务提供商(ISP)的服务提供商管理。
在各种实施方式中,网络115可包括诸如以太网、802.11、全球微波访问互操作性(WiMAX)、3G、4G、CDMA、GSM、LTE、数字订户线(DSL)等技术。网络115还可包括诸如多协议标签交换(MPLS)、传输控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)等类似的网络协议。经由网络115交换的数据可通过使用包括超文本标记语言(HTML)和可扩展标记语言(XML)的格式和/或技术来表示。此外,全部或某些链接可通过使用如安全套接字层(SSL)、传输层安全(TLS)和互联网协议安全(IPSec)等传统加密技术来加密。
在特定的实施方式中,网络115包括使用针对至少一些通信的缆线的有线网络。在一些实施方式中,网络115包括无线网络。本文中所使用的“无线网络”可包括任意计算机网络通信,至少是部分没有使用电缆线的网络通信。在各种实施方式中,网络115包括诸如以太网、802.11、全球微波访问互操作性(WiMAX)、3G、4G、CDMA、GSM、LTE、数字订户线(DSL)等技术。网络115还可包括诸如多协议标签交换(MPLS)、传输控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)等类似的网络协议。经由网络115交换的数据可通过使用包括超文本标记语言(HTML)和可扩展标记语言(XML)的格式和/或技术来表示。此外,全部或某些链接可通过使用如安全套接字层(SSL)、传输层安全(TLS)和互联网协议安全(IPSec)等传统加密技术来加密。
在特定的实施方式中,网络115的无线网络与由电气和电子工程师协会(IEEE)指定的802.11协议兼容。在特定的实施方式中,网络115的无线网络与IEEE规定的802.3协议兼容。在一些实施方式中,网络115的IEEE 802.3兼容协议可包括具有一些广域网应用的局域网络技术。物理连接通常在节点和/或基础设施设备(集线器、交换机、路由器)之间由各种类型的铜或光纤电缆做出。IEEE 802.3兼容技术可支持网络115的IEEE802.1网络架构。
在图1的示例中,计算访问系统120被耦合至网络115。在特定的实施方式中,计算访问系统120包括具有处理器和存储器的可应用设备。例如,计算访问系统120可包括图30中所示的计算机系统3000的一些或所有组件。通过示例而非限制的方式,计算访问系统120可包括智能电话、平板计算设备、膝上型计算机、台式计算机、游戏控制台或其他数字设备。
在图1的示例中,计算访问系统120包括经虚拟化的计算客户端引擎125。在实施方式中,经虚拟化的计算客户端引擎125促进访问虚拟化环境引擎110上维持的一个或多个虚拟机实例。在各种实施方式中,经虚拟化的计算客户端引擎125可被实现为作为计算访问系统120上的独立应用、计算访问系统120上的web浏览器上运行的网页的部分、计算访问系统120上的移动应用等。在各种实施方式中,经虚拟化的计算客户端引擎125包括使用虚拟机实例的服务的进程和/或应用。例如,经虚拟化的计算客户端引擎125可允许用户访问虚拟化环境引擎110上的虚拟机实例。
在图1的示例中,经虚拟化的计算控制及管理系统130被耦合至网络115。在特定的实施方式中,经虚拟化的计算控制及管理系统130包括具有处理器和存储器的可应用设备。例如,经虚拟化的计算控制及管理系统130可包括图30所示的计算机系统3000的一些或全部组件。通过示例而非限制的方式,经虚拟化的计算控制及管理系统130可包括智能电话、平板计算设备、膝上型计算机、台式计算机、游戏控制台或其他数字设备。在实施方式中,经虚拟化的计算控制及管理系统130允许用户控制虚拟化环境引擎110、经虚拟化的计算客户端引擎125和/或虚拟/逻辑网络135。
在图1的示例中,虚拟/逻辑网络135将第一虚拟化环境引擎110-1耦合到第N虚拟化环境引擎110-N。虚拟/逻辑网络135可包括由第一虚拟化环境引擎110-1和/或第N虚拟化环境引擎110-N可访问的资源。在实施方式中,虚拟/逻辑网络135可实现通用路由封装(GRE))和/或互联网协议安全(IPSec)隧道,以促进第一虚拟化环境引擎110-1和第N虚拟化环境引擎110-N之间的安全连接。在实施方式中,虚拟/逻辑网络135表现为第一虚拟化环境引擎110-1和第N虚拟化环境引擎110-N之间的对等连接。
在各种实现中,虚拟/逻辑网络135促进在第一虚拟化环境引擎110-1到第N虚拟化环境引擎110-N之间的数据的传送。尽管图1示出了单个虚拟/逻辑网络135,但是应当注意的是,在各种实施方式中,元素135可指定多个虚拟/逻辑网络。虚拟化环境引擎之间的虚拟/逻辑网络的数目可取决于各种因素,包括地理、计算设备的相似性以及其他因素。例如,在特定的实施方式中,虚拟化环境引擎之间的虚拟/逻辑网络的数目可取决于两个虚拟化环境引擎是否驻留在同一建筑物中或共享公共的VLAN。此外,尽管图1示出了与网络115分隔开的虚拟/逻辑网络135,但应注意的是,在一些实施方式中,虚拟/逻辑网络135可以是网络115的一部分。
在操作中,图100中的虚拟化计算环境可向虚拟化计算客户端引擎125提供对虚拟化环境引擎110上维持的虚拟机的访问。经虚拟化的计算控制及管理系统130可控制虚拟机。
在操作中,虚拟化环境引擎110维持虚拟化环境。虚拟化环境可被沙盒化和/或可与通常在主机系统105上运行的进程分离。在实施方式中,虚拟化环境可要求针对应用编程接口(API)调用的相互认证传输层安全(TLS)。此外,虚拟化环境引擎110可为虚拟机实例和与这些虚拟机相关联的工作负载数据预留至少一些主机系统105的资源(例如,一些磁盘资源)。所预留的资源可采取文件系统的形式。虚拟化环境引擎110可在虚拟化环境中维持一个或多个虚拟机实例。在操作的示例中,主机系统105使虚拟机实例可用于其他机器以执行任务,诸如利用基于云的虚拟机的任务。如本文所讨论的,虚拟化环境引擎110还可以是若干分层安全级别中的一个。在各种实施方式中,虚拟化环境引擎110支持延迟上传、仅维护和上传状态的改变、对嵌套文件的安全读取和写入、通过虚拟/逻辑网络135进行的对等存储以及其他特征。
在操作中,计算访问系统120维护虚拟化计算客户端引擎125。虚拟化计算客户端引擎125促进对虚拟化环境引擎110上维护的虚拟机实例的的访问。例如,虚拟化计算客户端引擎125可访问虚拟化处理器、虚拟化存储器、虚拟化存储装置和/或虚拟化环境引擎110的虚拟化环境中所仿真的经虚拟化的网络资源。虚拟化计算客户端引擎125可向用户提供使用虚拟机实例来执行任务的进程、应用等。作为示例,经虚拟化的计算客户端引擎125可提供使用由虚拟化环境引擎110维护的虚拟资源的电子商务应用。作为另一示例,经虚拟化的计算客户端引擎125可为基于在虚拟化环境引擎110上维护的虚拟机实例的资源来执行计算的应用(例如,涉及金融建模、科学计算、测试、媒体编码、web爬行、分布式内容递送、渲染(rendering)和/或容错的应用)提供用户界面。
在操作中,经虚拟化的计算控制及管理系统130控制和/或管理虚拟化环境引擎110。在特定实施方式中,经虚拟化的计算控制及管理系统130支持虚拟化环境引擎110的操作。例如,经虚拟化的计算控制及管理系统130可管理虚拟机实例、管理虚拟机实例的备份和/或状态,可管理虚拟机实例的服务质量,并且可管理虚拟化环境引擎110上的虚拟机实例上的工作负载。作为另一示例,经虚拟化的计算控制及管理系统130可基于一个或多个因素(例如,虚拟机实例的供应和对虚拟机实例的需求)向虚拟化计算客户端引擎125提供虚拟机实例。
在一些实施方式中,经虚拟化的计算控制及管理系统130根据虚拟化计算客户端引擎125的用户所请求和/或支付的服务的类型来分配一个或多个虚拟机实例层。例如,经虚拟化的计算控制及管理系统130可分配较不安全的层或更安全的层。更安全的层可支持来自主机系统105的安全功能,例如安全引导进程,在安全引导进程中引导加载程序验证由在工厂预编程的加密密钥签名的映像。在安全引导进程下,只有具有信任链的引导映像可以引导;如果系统正在以安全引导运行,则可以有更高级别的信任。更安全的层还可支持加密签名芯片,例如,母板或子板上的特殊加密芯片。这种加密签名芯片可根据需要允许校验和或以其它方式的检查内容。这些可验证校验和。在这些情况下的映像将从安全硬件引导并且将提供更高级别的信任。在一些实施方式中,经虚拟化的计算控制及管理系统130在“经认证的数据中心”运行,例如已经通过一个或多个预定测试以满足更高安全标准的数据中心。
图2描绘了示出用于管理在经虚拟化的计算环境中的虚拟机的示例的流程图200。结合图100中所示的经虚拟化的计算环境来讨论流程图200。
在块205处,将一个或多个虚拟化环境引擎110初始化。在特定实施方式中,主机系统105的用户通过主机系统105上的应用来初始化虚拟化环境引擎110。虚拟化环境引擎110还可通过引导加载序列等来初始化。虚拟化环境引擎110还可通过主机系统105上的自动化进程被加载而无需人工干预。
在块210处,经虚拟化的计算控制及管理系统130将虚拟机实例加载到一个或多个虚拟化环境引擎110中。在实施方式中,经虚拟化的计算控制及管理系统130确定虚拟化环境110可支持的虚拟机实例的数量和质量(例如,安全性、速度、处理能力、存储器、存储、网络能力等)。根据虚拟化环境110可支持的虚拟机实例的数量和质量,经虚拟化计算控制及管理系统130可供应、并向虚拟化环境110中提供虚拟机实例的加载。
在块215处,经虚拟化的计算客户端引擎125请求虚拟机实例。在实施方式中,计算访问系统120向经虚拟化的计算客户端引擎125提供针对虚拟机实例的请求。该请求可包括计算访问系统120针对特定任务所需的虚拟机实例的类型和/或数量。例如,计算访问系统120可请求虚拟处理器、虚拟存储器、虚拟存储装置和/或虚拟网络连接的特定配置。在一些实施方式中,来自经虚拟化的计算客户端引擎125的请求包括对虚拟机实例的出价(bid)。出价可包括所请求的虚拟机实例的价格和/或其他考量。
在块220处,经虚拟化的计算控制及管理系统130将请求与所加载的虚拟机实例进行匹配。在实施方式中,经虚拟化的计算控制及管理系统130利用拍卖模型来确定由经虚拟化的计算客户端引擎125所请求的虚拟机实例的价格。例如,经虚拟化的计算控制及管理系统130可确定在来自虚拟化计算客户端引擎125的请求时可用的虚拟机实例的供应。经虚拟化的计算控制及管理系统130还可基于来自经虚拟化的计算客户端引擎125的供应和/或出价进一步进行分析。
在块225处,虚拟化环境引擎110向经虚拟化的计算客户端引擎125提供所匹配的虚拟机实例。在一些实施方式中,虚拟化环境引擎110从经虚拟化的计算控制及管理系统130接收提供所请求的虚拟机实例的数量的指令。此外,由虚拟化环境引擎110维持的特定虚拟机实例可被链接至经虚拟化的计算客户端引擎125。在实施方式中,安全隧道(例如,GRE或IPSec隧道)可通过网络115被形成。安全隧道可确保虚拟机实例上的工作负载免受不期望的入侵、窥探等。
在块230处,虚拟化环境引擎110将所匹配的虚拟机实例用于一个或多个工作负载。在各种实施方式中,工作负载与经虚拟化的计算客户端引擎125所请求的任务相关。当工作负载在虚拟机实例中运行时,虚拟化环境引擎110的虚拟化环境可由经虚拟化的计算控制及管理系统130来管理。
在块235处,经虚拟化的计算控制及管理系统130管理所匹配的虚拟机实例的对等操作。在各种实施方式中,虚拟/逻辑网络135维持虚拟化环境引擎110中的两者(例如,第一虚拟化环境引擎110-1和第N虚拟化环境引擎110-N)之间的对等网络。对等操作可包括对等存储、聚类(clustering)、负载平衡、多租户(例如,多个用户共享特定主机上的资源)以及在这两个虚拟化环境引擎110之间的其他分布式操作。对等操作可使用来自经虚拟化的计算控制及管理系统130的指令来进行管理。
在块240处,虚拟化环境引擎110退出虚拟机实例。虚拟化环境引擎110可向虚拟机实例提供指令,以将虚拟机实例的改变保存到增量文件、结束与虚拟机实例相关的进程、以及从主机系统105的存储器清除虚拟机实例。虚拟化环境引擎110还可开始进行延迟上传方法和/或进行使用增量盘以备份虚拟机实例的方法,如本文中进一步描述的。在各种实施方式中,当工作负载完成时、当分配给经虚拟化的计算客户端引擎125的时间已经完成时、和/或当预定事件发生时,虚拟机实例被终止。
在块245处,虚拟化环境引擎110退出(一个或多个)虚拟化环境。虚拟化环境引擎110可指示主机系统105保存虚拟化环境的改变、结束与虚拟化环境相关的进程、以及从主机系统105的存储器清除与虚拟化环境相关的数据。虚拟化环境引擎110还可以继续进行延迟上传方法和/或进行使用增量盘以备份虚拟机实例的方法,如本文中进一步描述的。在一些实施方式中,虚拟化环境引擎110重新引导主机系统105,使得主机系统105的主操作系统被加载。
在块250处,虚拟化环境引擎110上传(一个或多个)虚拟化环境和/或虚拟机实例中的改变。在实施方式中,上传可以是延迟上传进程的一部分。可通过本文中讨论的对等机制将改变上传到经虚拟化的计算控制及管理系统130和/或其他虚拟化环境引擎110。在各种实施方式中,在主机系统105的主操作系统重新引导并加载到存储器中之后,上传继续进行。更具体地,虚拟化环境引擎110可通过在主机系统105的主操作系统中执行的进程将虚拟机实例和/或虚拟化环境的改变上传。该进程可被加密,使得其内容相对主操作系统的用户是安全的。
通过图100中所示的管理经虚拟化的计算环境中的虚拟机,本文所描述的系统和方法解决了与需要物理设备驻留在数据中心中的虚拟化技术有关的限制。更具体地,尽管提供虚拟机的现有系统已促进了技术的进步,但现有提供虚拟机的系统仍留下更多地期待。首先,现有提供虚拟机的系统易受制于几个主要实体的价格控制。更具体地,数据中心的管理通常涉及确保设施对于许多物理设备具有足够的功率和资源、具有最小的停机时间、且已经实现了灾难恢复协议。传统地,只有少数主要实体具有管理数据中心的能力,并最终具有能够控制可用的虚拟机的供应的能力。这些公司具有设定虚拟机的价格的能力,但不会对于其他有利于客户的市场力给予全效。虽然一些公司已将虚拟机的市场划分为按需提供虚拟机的分段和按照现场实例提供虚拟机的分段,但这些定价系统仍然受制于不利于客户的价格控制。
第二,现有提供虚拟机的系统可能由于缺乏网络中立性而受到不利影响。一些司法管辖区限制了政府行为体(例如,联邦通信委员会(FCC))的权限,以规范网络的属性。根据各种提出的网络中立规则,网络服务提供商可被允许向实体(诸如重要的有线公司、重要的交互式媒体工作室和重要的流媒体公司)提供优惠级别的互联网服务。其他不接收优惠级别的互联网服务的实体可能经受较慢和/或较不可靠的网络连接,并且由此较慢地和/或较不可靠地访问虚拟机。
图100中所示的经虚拟化的计算环境的实现方式有利地利用了如下在国内和国际上的观察:存在许多在一段时间段内不活动和/或未被充分利用的计算机。例如,大学生可能白天大部分时间在上课。当她要浏览互联网并访问几个社交网站时,她只能晚上回家并打开她的个人计算机。当她在上课时,她的个人计算机可能处于电源管理模式或可能是关闭的。作为另一示例,视频游戏玩家只能早上在工作前的几小时打开他的视频游戏控制台。当他在工作时,他的视频游戏控制台可能处于具有完全互联网连接的电源管理模式。在每一种这些情况中,具有运行工作负载能力的设备未被充分利用。更具体地,在每一种这些情况中,存在具有比主机虚拟机更多的充足的处理能力、存储器、存储装置和网络速度的设备。然而,实际上这些设备在一段时间内未被充分利用。
图100中所示的经虚拟化的计算环境的实施方式有利地利用了如下观察:存在对具有不同可靠性级别的虚拟机的需求。例如,任务关键的或企业应用可能需要几乎无停机时间的虚拟机。其他应用(例如,涉及金融建模、科学计算、测试、媒体编码、网络爬行、分布式内容递送、渲染和/或容错的一些应用)能够抵抗可靠性虚拟机中的瞬时损失。使用虚拟机来实现任务关键的和/或企业应用的客户可能比使用虚拟机来实现其他应用的客户愿意为可靠的虚拟机支付更多。有利地,图100中所示的经虚拟化计算环境中的实施方式与其他基础设施公司相比需要非常少的资本投资、允许跨越多个网络的巨大的聚合带宽和网络内低延迟、以及可在不被现有数据中心良好服务的地方提供虚拟机。优点还包括巨大的网络效应和人们利用额外计算进行供应方锁定的潜能。
图3描绘了虚拟化环境引擎的示例的示图300。在特定的实施方式中,虚拟化环境引擎对应于图1中所示的虚拟化环境引擎110。在图2的示例中,图300包括计算机可读介质305、虚拟化环境安装引擎310、主操作系统(OS)接口引擎315、虚拟化环境管理引擎320、虚拟机管理引擎325、虚拟机状态数据传送引擎330、延迟的虚拟机数据上传引擎335以及虚拟化环境安全引擎340。计算机可读介质305可被实现为本文定义的“计算机可读介质”。虚拟化环境安装引擎310、主OS接口引擎315、虚拟化环境管理引擎320、虚拟机管理引擎325、虚拟机状态数据传送引擎330、延迟的虚拟机数据上传引擎335以及虚拟化环境安全引擎340可被实现为本文中进一步讨论的“引擎”。
在图3的示例中,虚拟化环境安装引擎310被耦合到计算机可读介质305。在实施方式中,虚拟化环境安装引擎310包括支持在包含图3中所示的虚拟化环境安装引擎310的主机系统上安装虚拟化环境的文件。在一些实施方式中,虚拟化环境安装引擎310包括安装包和/或相关关系数据库(例如,组件对象模型(COM)结构化存储和/或安装程序文件)。虚拟化环境安装引擎310可与主机系统的主操作系统兼容。
在图3的示例中,主OS接口引擎315被耦合到计算机可读介质305。在实施方式中,主OS接口引擎315包括引导加载程序。主OS接口引擎315可与主机系统的引导序列接合。在一些实施方式中,主OS接口引擎315允许在基本输入/输出系统(BIOS)操作期间选择主机系统的主操作系统或虚拟化环境。在各种实施方式中,主OS接口引擎315可指示主机系统重新引导或休眠。
在图3的示例中,虚拟化环境管理引擎320被耦合到计算机可读介质305。在各种实施方式中,虚拟化环境管理引擎320包括用于支持虚拟化环境的资源(例如,处理器资源、存储器资源以及网络资源)。在实施方式中,虚拟化环境管理引擎320与主机系统的网络接口接合。
在图3的示例中,虚拟机管理引擎325被耦合到计算机可读介质305。在实施方式中,虚拟机管理引擎325包括管理用于支持虚拟化环境中的虚拟机实例的资源的进程。虚拟机管理引擎325可与主机系统的网络接口接合。
在图3的示例中,虚拟机状态数据传送引擎330被耦合到计算机可读介质305。在特定的实施方式中,虚拟机状态数据传送引擎330包括用于维持在虚拟化环境中维持的一个或多个虚拟机实例和/或虚拟化环境的状态的资源(例如,处理器资源、存储器资源和网络资源)。在一些实施方式中,虚拟机状态数据传送引擎330维持在虚拟化环境中维持的一个或多个虚拟机实例和/或虚拟化环境的状态的增量文件。虚拟机状态数据传送引擎330可与主机系统的网络接口接合。在实施方式中,虚拟机状态数据传送引擎330向主机系统的主操作系统提供状态数据。
在图3的示例中,延迟的虚拟机数据上传引擎335被耦合到计算机可读介质305。在实施方式中,延迟的虚拟机数据上传引擎335维持主操作系统上的上传进程。上传进程可访问已存储有在虚拟化环境中维持的一个或多个虚拟机实例和/或虚拟化环境的状态的增量文件。在一些实施方式中,延迟的虚拟机数据上传引擎335向主机系统的网络接口提供增量文件的至少部分。
在图3的示例中,虚拟化环境安全引擎340被耦合到计算机可读介质305。在特定的实施方式中,虚拟化环境安全引擎340支持与虚拟化环境相关联的安全性。虚拟化环境安全引擎340可引入安全性和/或其他协议,以确保主机系统在虚拟化环境之外的部分不能访问与在虚拟化环境中的虚拟机实例相关的数据。虚拟化环境安全引擎340可被链接到主机系统上用于维持主机系统的安全性的硬件安全性(例如,安全芯片)。
在实施方式中,图300中的虚拟化环境引擎进行操作以维持虚拟化环境和/或其上的虚拟机实例。虚拟化环境可提供虚拟化资源以支持虚拟机实例。此外,虚拟化环境安装引擎310可在主机系统的操作系统上进行注册安装虚拟化环境操作。虚拟化环境安装引擎310还可在主机系统105上安装经虚拟化的计算操作系统的至少部分。例如,虚拟化环境安装引擎310可支持促进在主机系统105上虚拟化环境的安装的安装程序映像。在各种实施方式中,虚拟化环境安装引擎310可在主机系统105上进行本地控制或者通过来自经虚拟化的计算控制及管理系统130的控制被控制。任何安装可能需要主机系统105的主操作系统重新引导。在各种实施方式中,虚拟化环境安装引擎310还向主机系统提供移除虚拟化环境的卸载序列。
在一些实施方式中,主OS接口引擎315进行操作以与主机系统的主操作系统接合。主OS接口引擎315可允许主机系统105重新引导并进入虚拟化环境。主OS接口引擎315也可允许主机系统105休眠并进入虚拟化环境。在虚拟化环境被实现为简易管理程序的情况下,不需要重新引导或休眠。主OS接口引擎315也可从主机系统105的用户接收命令和/或以其它方式与主机系统105的用户接合。在各种实施方式中,主OS接口引擎315将数据结构以对主机系统105的主操作系统的文件结构看起来是透明的方式维持。主OS接口引擎315还可使虚拟化环境看起来像是安装在主机系统105的文件系统上的应用。当虚拟化环境退出且主操作系统正在重新引导时,主OS接口引擎315315也可以关闭进程、清空存储器等。在实施方式中,主OS接口引擎315促进虚拟化环境引擎110和/或在其中所支持的虚拟化环境的安装和/或更新。
在特定的实施方式中,虚拟化环境管理引擎320进行操作以初始化虚拟化环境引擎的虚拟化环境。更具体地,虚拟化环境管理引擎320可从网络接收虚拟机实例。虚拟化环境管理引擎320也可将虚拟机实例加载到主机系统105的存储器中。当虚拟存储器实例终止时,虚拟化环境管理引擎320也可关闭进程、清空存储器等。
在各种实施方式中,虚拟机管理引擎325进行操作以管理虚拟化环境中的虚拟机实例。虚拟机管理引擎325可促进一定层级的虚拟机的选择以供在主机系统上运行。虚拟机管理引擎325还可支持与虚拟化环境中的虚拟机实例相关联的虚拟操作系统、虚拟资源、虚拟应用、虚拟网络连接和安全功能的各方面。当虚拟存储器实例终止时,虚拟机管理引擎325还可关闭进程、清空存储器等。
在一些实施方式中,虚拟机状态数据传送引擎330进行操作以将虚拟机实例的状态存储在增量盘中。在一些实施方式中,虚拟机状态数据传送引擎330可确保一旦虚拟化环境退出时就会提供虚拟机实例的状态的改变。虚拟机状态数据传送引擎330也可支持与虚拟化环境中的虚拟机实例的状态相关的安全性和其他功能。
在特定的实施方式中,延迟的虚拟机数据上传引擎335进行操作以传送与虚拟机实例相关联的数据(例如,状态和/或状态数据的改变)。在各种实施方式中,延迟的虚拟机数据上传引擎335在虚拟化环境退出之后以及在进入主机系统105的主操作系统之后提供状态的改变。更具体地,在这些实施方式中,延迟的虚拟机数据上传引擎335可上传状态数据作为在主机系统105的主操作系统的后台运行的安全进程。
图4描绘了用于初始化虚拟化环境引擎的方法的示例的流程图400。流程图400的一个或多个块可使用图1所示的虚拟化环境引擎110和/或图3中的示图300所示的虚拟化环境引擎来实现。
在块405处,经虚拟化的计算操作系统安装应用在主机系统的第一操作系统中被运行。在特定的实施方式中,虚拟化环境安装引擎310运行在主机系统的主操作系统中运行的安装文件。例如,在使用微软视窗(Microsoft Windows)的实施方式中,虚拟化环境安装引擎310提供Microsoft安装程序(MSI)文件和/或COM对象。MSI文件和/或COM对象可促进在主机系统上安装虚拟化环境。虚拟化环境对于在主机系统的EFI可表现为不同操作系统。虚拟化环境也可对于主机系统上磁盘分区和/或磁盘布局软件作为与主机系统的主操作系统兼容的文件系统。
在块410处,指令被提供以退出第一操作系统。在一些实施方式中,主OS接口引擎315指示主机系统的主操作系统退出。例如,主OS接口引擎315可调用主操作系统中的例程以关闭应用和清除由主操作系统管理的进程。在一些实施方式中,指令指示主操作系统关闭并重新引导,而在其他实施方式中,指令指示主操作系统休眠。
在块415处,访问主机系统的引导进程。在实施方式中,主OS接口引擎315访问主机系统的引导进程。主OS接口引擎315例如可访问主机系统的BIOS过程。
在块420处,在主机系统的引导进程期间,进入虚拟化环境。在各种实施方式中,虚拟化环境管理引擎320为要进入的虚拟化环境分配资源。虚拟化环境管理引擎320还可将虚拟化环境加载到主机系统的存储器中。在各种实施方式中,主机系统运行与虚拟化环境相关的进程。虚拟化环境可将主机系统的资源虚拟化以提供可供虚拟机实例使用的经虚拟化的资源。
在块425处,为虚拟机实例分配虚拟化环境的经虚拟化的资源。在实施方式中,虚拟化环境管理引擎320为虚拟化环境要支持的虚拟机实例分配虚拟化环境的虚拟化资源。
图5描绘了用于管理在虚拟化环境中的一个或多个虚拟机实例的方法的示例的流程图500。流程图500的一个或多个块可使用图1所示的虚拟化环境引擎110和/或图3中的示图300所示的虚拟化环境引擎来实现。
在块505处,虚拟化环境的可用的虚拟资源被识别。在实施方式中,虚拟机管理引擎325识别主机系统上的虚拟化环境的可用虚拟资源。虚拟机管理引擎325可确定虚拟化环境可支持多少个虚拟机实例。
在块510处,由可用的虚拟资源支持的虚拟机实例的类别被识别。在实施方式中,虚拟机管理引擎325确定由虚拟机环境支持的虚拟机的类别。例如,虚拟机管理引擎325可识别主机系统是否被配置为支持较安全层级的虚拟机,或者识别主机系统是否被配置为仅支持较不安全层级的虚拟机。
在块515处,通过使用经虚拟化的计算操作系统的网络连接来接收一个或多个虚拟机实例。在特定的实施方式中,虚拟化环境引擎的网络接口可经由网络连接来接收虚拟机实例。虚拟机实例可与虚拟化环境的可用的虚拟资源兼容。虚拟机实例也可与由可用的虚拟资源支持的那些类别的虚拟机实例兼容。例如,如果虚拟化环境支持更安全类别的虚拟机实例,则虚拟化环境引擎的网络接口可接收这些更安全类别的虚拟机实例。类似地,如果虚拟化环境支持较不安全类别的虚拟机实例,则虚拟化环境引擎的网络接口可接收这些较不安全类别的虚拟机实例。
在块520处,一个或多个虚拟机实例被管理。在实施方式中,虚拟机管理引擎325管理一个或多个虚拟机实例。在实施方式中,虚拟机管理引擎325从图1所示的经虚拟化的计算控制及管理系统130接收指令以进一步管理虚拟机实例。
在块525处,接收退出虚拟化环境的指令。在各种实施方式中,虚拟化环境引擎可内部生成退出虚拟化环境的指令和/或可从外源接收退出虚拟化环境的指令。在一些实施方式中,虚拟化环境管理引擎320识别虚拟化环境需要被退出或重新启动。或者,在一些实施方式中,虚拟化环境引擎接收主机系统即将要关机、主机系统的用户将重新启动主机系统、或者主机系统的主操作系统将被重新引导的外部通知。
在块530处,一个或多个虚拟机实例的状态被保存。在实施方式中,虚拟机状态数据传送引擎330保存虚拟机实例的状态。在实施方式中,虚拟机实例的状态被保存在增量盘,该增量盘包括虚拟机实例的状态与虚拟机实例在上次使用时的状态的差异。通过使用本文所描述的延迟上传进程,增量盘可被上传。
在块535处,退出虚拟机实例。在实施方式中,虚拟机管理引擎325将虚拟机实例从虚拟化环境的经虚拟化的资源中清除。更具体地,虚拟机管理引擎325可将虚拟机实例从虚拟存储器中清除、停止与虚拟机实例相关的所有虚拟进程、终止虚拟机实例的虚拟网络连接等。
在块540处,退出虚拟化环境。在实施方式中,虚拟化环境管理引擎320指示虚拟化环境退出。虚拟化环境管理引擎320还可提供主OS接口引擎315以重新引导主机系统,例如使得主操作系统被重新启动或使得进行随后的其他进程。
图6描绘了虚拟机管理引擎的示例的示图600。在实施方式中,虚拟机管理引擎可对应于图3所示的虚拟机管理引擎325。在图6的示例中,虚拟机管理引擎包括计算机可读介质605、分层虚拟机选择引擎610,虚拟资源支持引擎615和虚拟机实例支持引擎620。在实施方式中,计算机可读介质605可包括本文所描述的“计算机可读介质”。在各种实施方式中,分层虚拟机选择引擎610、虚拟资源支持引擎615和虚拟机实例支持引擎620中的一者或多者可包括本文中所讨论的“引擎”。
在图6的示例中,分层虚拟机选择引擎610被耦合到计算机可读介质605。在特定的实施方式中,分层虚拟机选择引擎610维持数据存储,其中在数据存储上存储有虚拟机层。分层虚拟机选择引擎610也可包括引擎,以便提供用户界面(例如,GUI)来促进虚拟机层的选择。
在图6的示例中,虚拟资源支持引擎615被耦合到计算机可读介质605。在特定的实施方式中,虚拟资源支持引擎615支持虚拟化环境中虚拟机的虚拟资源。例如,虚拟资源支持引擎615可维持虚拟处理器分配、虚拟存储器分配、虚拟存储装置分配和/或虚拟网络资源分配的数据存储。虚拟资源支持引擎615还可从该数据存储向虚拟机管理引擎的其他引擎提供信息。
在图6的示例中,虚拟机实例支持引擎620被耦合到计算机可读介质605。在各种实施方式中,虚拟机实例支持引擎620支持虚拟机实例。虚拟机实例支持引擎620可维持特定的虚拟机实例所需的资源的数据存储。虚拟机实例支持引擎620也可从虚拟资源支持引擎615获取可用资源。
在各种实施方式中,分层虚拟机选择引擎610进行操作来支持对一个或多个虚拟机层的选择。基于所支持的虚拟处理器、虚拟存储器、虚拟网络和其他虚拟资源的量,主机系统使可用的虚拟资源可被分组到不同的虚拟机层中。分层虚拟机选择引擎610可提供所支持的一个或多个虚拟机层。在各种实施方式中,虚拟机层可基于地理、法律权限、进出口控制法律和/或许可、(一个或多个)主机系统的可用网络资源,与其他虚拟化环境引擎的接近性、安全性、带宽、所预测的网络节流、运营商、靠近市场目标的定位、通过网络跳跃的接近度、在所利用的电网上的当前功率成本以及其他因素。分层虚拟机选择引擎610可从经虚拟化的计算控制及管理系统130接收对(一个或多个)计算层的选择。该选择可以是响应于来自经虚拟化的计算客户端引擎125的请求。
虚拟机实例支持引擎620可进行操作来将特定的虚拟机实例加载到虚拟化环境中。在一些实施方式中,虚拟机实例支持引擎620通过网络连接从经虚拟化的计算控制及管理系统接收特定的虚拟机实例的参数。虚拟机实例支持引擎620可根据接收到的参数来配置特定的虚拟机实例。虚拟机实例支持引擎620可为这些虚拟机实例分配特定的虚拟资源。例如,虚拟机实例支持引擎620可为这些虚拟机实例分配虚拟处理器、虚拟存储器、虚拟网络连接等。虚拟机实例支持引擎620也可管理所分配的虚拟资源并且可以清除虚拟机实例。例如,虚拟机实例支持引擎620可结束与虚拟机实例相关联的进程、可以清空与虚拟机实例相关联的存储器、并且可从虚拟网络连接断开虚拟机实例。
图7描绘了示出虚拟化环境安全引擎的示图700。在实施方式中,虚拟化环境安全引擎对应于图3所示的虚拟化环境安全引擎340。虚拟化环境安全引擎包括计算机可读介质705、软件资源识别引擎710、块创建引擎715、访问请求确定引擎720和访问请求满足引擎725。计算机可读介质705可包括本文所描述的“计算机可读介质”。软件资源识别引擎710、块创建引擎715、访问请求确定引擎720和访问请求满足引擎725中的一者或多者可包括在本文所讨论的“引擎”。
在图7的示例中,软件资源识别引擎710被耦合到计算机可读介质705。在特定的实施方式中,软件资源识别引擎710包括向主机系统的主操作系统的部分发送数据和从中接收数据的接口。软件资源识别引擎710可与例如主操作系统的注册表和/或主操作系统的识别与主机系统相关的特定软件资源的部分接合。在实施方式中,软件资源识别引擎710与主操作系统的文件系统接合。例如,软件资源识别引擎710可识别由主机系统的一个或多个程序使用的特定文件。软件资源识别引擎710可识别由主机系统的虚拟化环境使用的特定文件。
在图7的示例中,块创建引擎715被耦合到计算机可读介质705。在特定的实施方式中,块创建引擎715使用表、数据存储等来查找与所识别的虚拟化环境的软件资源相对应的主机系统的硬件资源。作为示例,块创建引擎715可识别与由虚拟化环境使用的主机系统的特定文件相对应的主机系统的硬盘的部分(例如,特定小型计算机系统接口(SCSI)块)。作为另一示例,块创建引擎715可识别与由虚拟化环境使用的主机系统的特定文件相对应的存储器或安全芯的部分。块创建引擎715还可创建块以仿真这些硬件资源的块。例如,块创建引擎715可创建对应于所识别的硬件资源的流送软件的块。块创建引擎715可被实现为在虚拟化环境中运行的驱动器或经虚拟化的驱动器(例如,Linux驱动器)。块创建引擎715可向虚拟化环境安全引擎的其他模块提供所识别的块。
在图7的示例中,访问请求确定引擎720被耦合到计算机可读介质705。在特定的实施方式中,访问请求确定引擎720包括流量监视器和/或数据监视器,以识别访问主机系统的软件资源的请求。例如,访问请求确定引擎720可识别是否存在对由虚拟化环境使用的NT文件系统文件的尝试读取或写入请求。访问请求确定引擎720可向访问请求满足引擎725和/或虚拟化环境安全引擎的其他模块提供正被访问的特定软件资源的名称。
在图7的示例中,访问请求满足引擎725被耦合到计算机可读介质705。访问请求满足引擎725可将访问主机系统的软件资源的请求与被创建来模拟主机系统的硬件资源的流送软件的块相关联。在实施方式中,访问请求满足引擎725
在图7的示例中,访问请求满足引擎725被耦合到计算机可读介质705。在特定的实施方式中,访问请求满足引擎725通过使用块来满足访问请求。访问请求满足引擎725可包括流送软件,其将驱动器或伪驱动器中包括的块流传输到虚拟化环境中的虚拟机实例。更具体地,访问请求满足引擎725可识别与虚拟化环境的软件资源相对应的流送软件的特定块。访问请求满足引擎725可将特定块和与软件资源相关的访问请求相关联。
在各种实施方式中,虚拟化环境安全引擎进行操作以识别对虚拟化环境的软件资源的请求、将这些请求与主机系统的硬件资源相关联、以及为这些请求创建流送软件的块。虚拟化环境安全引擎也可利用流送软件的特定块来满足对软件资源的请求。更具体地,在实施方式中,软件资源识别引擎710进行操作以识别对与虚拟化环境相关联的软件资源的请求。例如,软件资源识别引擎710可接收对由虚拟化环境使用的特定文件、进程或应用的请求。
此外,在实施方式中,块创建引擎715识别与所识别的软件资源相对应的主机系统的特定硬件资源。作为示例,块创建引擎715可识别被用于实现正被请求的特定文件、进程或应用的磁盘或存储器的特定部分。在一些实施方式中,访问请求确定引擎720接收访问虚拟化环境中的虚拟化资源的请求。例如,访问请求确定引擎720可接收访问虚拟处理器、虚拟存储器、虚拟磁盘和/或虚拟网络资源的请求。访问请求满足引擎725可进行操作以利用由块创建引擎715创建的块来满足这些对虚拟资源的请求。
图8描绘了用于安全地访问嵌套文件的方法的示例的流程图800。流程图800的一个或多个块可使用图7中的示图700中所示的虚拟化环境引擎来实现。
在块805处,识别主机系统的包括虚拟化环境的软件资源。在实施方式中,软件资源识别引擎710识别主机系统的包括虚拟化环境的软件资源。例如,软件资源识别引擎710可识别主机系统的要由在主机系统上执行的虚拟化环境使用的文件和其他软件资源。
在块810处,识别与软件资源相对应的硬件资源。在实施方式中,块创建引擎715识别对应于所识别的软件资源的硬盘、存储器和/或其它硬件资源的特定部分。在块815处,创建模拟硬件资源的流送块。更具体地,块创建引擎715可使用可从块创建引擎715进行流传输的一组块来模拟硬件资源。
在块820处,接收访问虚拟化环境中的虚拟资源的请求。在实施方式中,访问请求确定引擎720接收访问虚拟化环境的虚拟资源的一个或多个请求。访问请求确定引擎720可接收访问虚拟存储器、(一个或多个)处理器、网络资源等的请求。
在块825处,通过块来满足请求。访问请求满足引擎725可向请求者流传输对应于对软件资源的请求的块。这些块可被用于满足对软件资源的请求。在各种实施方式中,通过块来满足请求保护主机系统免受虚拟化环境中的恶意活动。更具体地,虚拟化环境安全引擎可允许满足对虚拟资源的请求,而无需直接访问虚拟化环境之外的文件、进程或应用。此外,虚拟化环境安全引擎无需允许虚拟化环境内的进程访问主机系统的驱动器或文件系统(例如,NT文件系统)。而是,虚拟化环境安全引擎可通过使用允许与恶意代码和/或恶意进程隔离的流送块来满足对主机系统的资源的请求。
在实施方式中,访问请求满足引擎725通过流送软件的特定块的来满足访问请求。
图9描绘了示出虚拟机状态数据传送引擎的示例的示图900。在各种实施方式中,虚拟机状态数据传送引擎可对应于图3中所示的并在本文中进一步讨论的虚拟机状态数据传送引擎330。返回到图9的示例,虚拟机状态数据传送引擎可以包括计算机可读介质905、当前虚拟机状态监视引擎910,改变的虚拟机状态监视引擎915以及虚拟机状态报告引擎920。计算机可读介质905可包括本文所讨论的“计算机可读介质”。当前虚拟机状态监视引擎910、改变的虚拟机状态监视引擎915和虚拟机状态报告引擎920中的一者或多者可包括本文所讨论的“引擎”。
在图9的示例中,当前虚拟机状态监视引擎910被耦合到计算机可读介质905。在实施方式中,当前虚拟机状态监视引擎910识别在虚拟化环境和在虚拟化环境中运行的虚拟机实例的状态。当前虚拟机状态监视引擎910可识别与虚拟化环境相关联的虚拟处理器、虚拟存储器和虚拟网络资源的状态。当前虚拟机状态监视引擎910也可识别与访问虚拟化环境和/或虚拟机实例的用户和/或客户端相关联的状态。例如,当前虚拟机状态监视引擎910可识别用于访问虚拟化环境和/或虚拟化环境上的虚拟机实例的特定用户、特定设备和/或特定应用。在一些实施方式中,当前虚拟机状态监视引擎910识别基盘的属性,其中在基盘上存储有虚拟化环境和虚拟化环境中运行的虚拟机实例的状态。
在图9的示例中,改变的虚拟机状态监视引擎915被耦合到计算机可读介质905。在实施方式中,改变的虚拟机状态监视引擎915可维持虚拟化环境和/或虚拟机实例的状态的改变。改变的虚拟机状态监视引擎915可存储具有虚拟化环境和/或虚拟机实例的状态的改变的增量盘映像。
在图9的示例中,虚拟机状态报告引擎920被耦合到计算机可读介质905。在特定的实施方式中,虚拟机状态报告引擎920接收虚拟化环境和/或虚拟机实例的当前的和/或改变的状态。虚拟机状态报告引擎92也可提供包括虚拟化环境和/或虚拟机实例的当前的和/或改变的状态的报告。报告可具有已知或方便的格式。在实施方式中,虚拟机状态报告引擎920将增量盘提供给其他设备。
在特定的实施方式中,虚拟机状态数据传送引擎进行操作以报告虚拟化环境和/或在虚拟化环境中运行的虚拟机实例的状态何时改变。更具体地,当前虚拟机状态监视引擎910可存储具有虚拟化环境和/或虚拟机实例的当前状态的基盘映像。在各种实施方式中,基盘映像可以是未加密的或具有比相应的增量盘映像更低的安全级别。在一些实施方式中,基盘可以跨越其他设备(包括与图1所示的虚拟化计算控制及管理系统130相关联的一个或多个设备)分布。在一些实施方式中,当前虚拟机状态监视引擎910提供对分布式基盘的访问。在各种实施方式中,当前虚拟机状态监视引擎910可确保在基盘映像上没有存储感兴趣的信息。注意的是,在各种实施方式中,基盘和增量盘根本不需要被加密。
此外,改变的虚拟机状态监视引擎915可进行操作以确保仅有感兴趣的信息在增量盘映像上,以及确保增量盘映像被加密或具有比基盘映像更高的安全级别。在各种实施方式中,改变的虚拟机状态监视引擎915可确保当增量盘映像受损时任何增量盘映像的密钥就会被破坏。虚拟机状态报告引擎920可进行操作以报告虚拟化环境和/或虚拟机实例的状态。虚拟机状态报告引擎920也可进行操作以提供基盘和/或增量盘映像的属性。在实施方式中,当前虚拟机状态监视引擎910可接收增量盘并且可基于增量盘和基盘的比较来恢复虚拟化环境和/或虚拟机实例的状态。
图10描绘了用于管理在虚拟化环境引擎中的状态的方法的示例的流程图1000。流程图1000的一个或多个块可使用图9中的示图900中所示的虚拟机状态数据传送引擎来实现。
在块1005处,运行至少部分虚拟化环境。在实施方式中,虚拟化环境可在主机系统中被运行。虚拟机实例可在虚拟化环境中被运行。当前虚拟机状态监视引擎910还可在基盘中存储和监视虚拟化环境和/或虚拟机实例的状态。
在块1010处,识别该部分虚拟化环境的状态的改变。在实施方式中,改变的虚拟机状态监视引擎915识别虚拟化环境和/或虚拟机实例的状态的改变。在块1015处,响应于该识别,存储该部分虚拟化环境的状态的改变。
在块1020处,所存储的状态的改变被提供至经虚拟化的计算控制及管理系统。更具体地,在实施方式中,虚拟机状态报告引擎920可报告该部分虚拟化环境的状态的改变或者可将增量盘提供给另一设备。在块1025处,通过使用所存储的状态的改变来恢复该部分虚拟化环境的状态。在实施方式中,当前虚拟机状态监视引擎910基于来自增量盘的信息来恢复该部分虚拟化环境的状态。
图11描绘了示出延迟的虚拟机数据上传引擎的示例的的示图1100。在各种实施方式中,图1100中的延迟的虚拟机数据上传引擎可对应于图3所示的延迟的虚拟机数据上传引擎335。返回图11的示例,延迟的虚拟机数据上传引擎包括计算机可读介质1105、虚拟化环境状态监视引擎1110、虚拟化环境状态改变存储引擎1115和虚拟化环境状态上传引擎1120。计算机可读介质1105可包括本文所讨论的“计算机可读介质”。虚拟化环境状态监视引擎1110、虚拟化环境状态改变存储引擎1115和虚拟化环境状态上传引擎1120中的一者或多者可包括本文中所讨论的“引擎”。
在图11的示例中,虚拟化环境状态监视引擎1110被耦合到计算机可读介质1105。在特定的实施方式中,虚拟化环境状态监视引擎1110包括主机系统上的进程,该进程监视虚拟化环境中的经虚拟化的资源的状态。虚拟化环境状态监视引擎1110也可监视虚拟化环境中的虚拟机实例的状态。在实施方式中,虚拟化环境状态监视引擎1110可将虚拟化环境和/或其上的虚拟机实例的状态的改变提供给其他模块。
在图11的示例中,虚拟化环境状态改变存储引擎1115被耦合到计算机可读介质1105。在实施方式中,虚拟化环境状态改变存储引擎1115可将状态的特定改变存储至虚拟化环境和/或在其上执行的虚拟机实例。例如,虚拟化环境状态改变存储引擎1115可存储经虚拟化的资源、经虚拟化的进程、经虚拟化的应用等是如何相对于基本盘被改变的。在一些实施方式中,虚拟化环境状态改变存储引擎1115管理增量盘,其中增量盘存储虚拟化环境和/或在虚拟化环境中运行的虚拟机实例的状态的改变。增量盘可被加密或以其他方式来防止未经授权的访问。例如,在实施方式中,增量盘的至少部分被存储在使用加密或其他安全协议的安全硬件(例如,安全芯片)上。
在图11的示例中,虚拟化环境状态上传引擎1120被耦合到计算机可读介质1105。在各种实施方式中,虚拟化环境状态上传引擎1120管理主机设备的主操作系统上的将增量盘上传到联网资源的进程。例如,虚拟化环境状态上传引擎1120可在主操作系统中创建进行网络访问的进程。虚拟化环境状态上传引擎1120也可使用这些进程将增量盘的至少部分上传到联网位置。虚拟化环境状态上传引擎1120可将增量盘上传到经虚拟化的计算控制及管理系统(例如,如图1所示经由网络115上传至经虚拟化的计算控制及管理系统130),或者上传到另一虚拟化环境(例如,如图1所示经由虚拟/逻辑网络135上传至虚拟化环境引擎110中的一者)。
在特定的实施方式中,延迟的虚拟机数据上传引擎进行操作以通过使用主机系统的主操作系统将虚拟化环境的状态和/或在虚拟化环境中运行的虚拟机实例的状态的改变上传。虚拟化环境状态监视引擎1110可监视虚拟化环境的状态的改变以及虚拟机实例的改变。虚拟化环境状态改变存储引擎1115可将这些状态改变存储在主机设备上的增量盘中。此外,在实施方式中,一旦退出虚拟化环境,主机系统的主操作系统就可进行加载。虚拟化环境状态上传引擎1120可在主操作系统中创建一个或多个进程以将增量盘上传到联网资源。例如,虚拟化环境状态上传引擎1120可将增量盘上传到一个或多个经虚拟化的计算控制及管理系统和另一虚拟化环境。
图12描绘了用于从虚拟化环境引擎上传数据的方法的示例的流程图1200。流程图1200的一个或多个块可使用图11中的示图1100中所示的延迟的虚拟机上传引擎来实现。
在块1205处,监视至少部分虚拟化环境的状态。在特定的实施方式中,虚拟化环境状态监视引擎1110监视至少部分虚拟化环境。更具体地,虚拟化环境状态监视引擎1110可监视虚拟化环境本身和/或在虚拟化环境中运行的虚拟机实例。
在块1210处,存储该部分虚拟化环境的状态的改变。在实施方式中,虚拟化环境状态改变存储引擎1115将虚拟化环境和/或虚拟机实例的改变存储至增量盘。增量盘可加密或可不加密。
在块1215处,退出虚拟化环境。更具体地,可接收退出虚拟化环境的指令。该指令可以是自动重引导序列的部分或者可来自用户。在实施方式中,退出虚拟化环境的指令可以是主机系统的关闭序列的部分。在各种实施方式中,与虚拟化环境相关联的进程和应用被关闭,且与虚拟化环境相关联的存储器被释放。
在块1220处,加载至少部分主操作系统。在实施方式中,访问与主操作系统相关联的引导序列,并且将部分主操作系统(进程、驱动器、应用等)加载到主机系统的存储器中。
在块1225处,启动主操作系统中访问所存储的状态的改变的进程。在各种实施方式中,虚拟化环境状态上传引擎1120启动主操作系统中的进程。该进程可具有通过网络连接进行网络访问和上传数据的能力。例如,进程
在块1230处,使用该进程上传所存储的该部分虚拟化环境的状态的改变。更具体地,虚拟化环境状态上传引擎1120可使用该进程将增量盘的至少部分提供给另一个设备。在各种实施例中,增量盘被提供给一个或多个经虚拟化的计算控制及管理系统(例如,如图1所示经由网络115提供至经虚拟化的计算控制及管理系统130)和另一虚拟化环境(例如,如图1所示经由虚拟/逻辑网络135提供至虚拟化环境引擎110中的一者)。
图13描绘了经虚拟化的计算控制及管理系统的示例的示图1300。在实施方式中,经虚拟化的计算控制及管理系统可对应于图1所示的经虚拟化的计算控制及管理系统130。在图13的示例中,经虚拟化的计算控制及管理系统可包括计算机可读介质1305、虚拟化环境安装管理引擎1310、虚拟机控制引擎1315和虚拟化服务提供商引擎1320。在实施方式中,计算机可读介质1305可包括本文所描述的“计算机可读介质”。虚拟化环境安装管理引擎1310、虚拟机控制引擎1315和虚拟化服务提供商引擎1320中的一者或多者可包括本文所描述的“引擎”。
在图13的示例中,虚拟化环境安装管理引擎1310被耦合到计算机可读介质1305。在实施方式中,虚拟化环境安装管理引擎1310将软件安装到主机设备上。虚拟化环境安装管理引擎1310可通过网络连接、通过耦合到主机设备的存储器等接收安装和/或其他文件。虚拟化环境安装管理引擎1310也可管理与这种安装相关联的许可和/或安全。
在图13的示例中,虚拟机控制引擎1315被耦合到计算机可读介质1305。在特定的实施方式中,虚拟机控制引擎1315控制虚拟化环境。更具体地,虚拟机控制引擎1315可控制对虚拟化环境、虚拟化环境的状态、虚拟化环境的数据上传和/或虚拟化环境的服务质量和/或远程生命周期管理的访问。
在图13的示例中,虚拟化服务提供商引擎1320被耦合到计算机可读介质1305。在实施方式中,虚拟化服务提供商引擎1320可向图1所示的经虚拟化的计算客户端引擎125提供对虚拟机实例的访问。虚拟化服务提供商引擎1320可支持进程和/或向经虚拟化的计算客户端引擎125提供服务。
在实施方式中,图13的示图1300中所示的经虚拟化的计算控制及管理系统进行操作以控制和/或管理虚拟化环境。例如,虚拟化环境安装管理引擎1310可管理虚拟化环境在主机设备上的安装。虚拟化环境安装管理引擎1310可通过网络发送和/或接收数据以便于进行这样的安装。此外,虚拟机控制引擎1315可控制虚拟化环境中的虚拟机实例。可从虚拟化环境中启动、管理和移除虚拟机实例。虚拟机控制引擎1315也可管理对虚拟机实例的许可,例如被用于访问虚拟化环境中的虚拟机实例的用户、进程和/或应用的列表。虚拟化服务提供商引擎1320可进行操作以支持进程和/或向经虚拟化的计算客户端引擎125提供与虚拟化环境和/或虚拟机实例相关联的服务。
图14描绘了示出虚拟机控制引擎的示例的示图1400。在实施方式中,虚拟机控制引擎可对应于图13中所示的虚拟机控制引擎1315。在图14的示例中,虚拟机控制引擎包括计算机可读介质1405、虚拟化环境访问管理引擎1410、虚拟机状态管理引擎1415、延迟的虚拟机数据上传管理引擎1420、虚拟计算OS服务质量管理引擎1425以及虚拟计算OS远程生命周期管理引擎1430。在实施方式中,计算机可读介质1405包括本文所述的“计算机可读介质”。在各种实施方式中,虚拟化环境访问管理引擎1410、虚拟机状态管理引擎1415、延迟的虚拟机数据上传管理引擎1420、虚拟计算OS服务质量管理引擎1425和虚拟计算OS远程生命周期管理引擎1430中的一者或多者可包括本文所述的“引擎”。
在图14的示例中,虚拟化环境访问管理引擎1410被耦合到计算机可读介质1405。在特定的实施方式中,虚拟化环境访问管理引擎1410包括用户帐户的列表,这些用户账户对虚拟化环境具有各种级别的许可。虚拟化环境访问管理引擎1410也可包括用户密码和/或与访问虚拟化环境相关的其他认证信息的列表。在各种实施方式中,虚拟化环境访问管理引擎1410被配置为管理这些许可、密码和/或认证信息。
在图14的示例中,虚拟机状态管理引擎1415被耦合到计算机可读介质1405。在特定的实施方式中,虚拟机状态管理引擎1415包括虚拟化环境中的虚拟机实例的各种状态的列表。更具体地,虚拟机状态管理引擎1415可包括在虚拟化环境中的若干虚拟机实例。虚拟机状态管理引擎1415也可包括在给定时间使用的虚拟化环境中的特定资源虚拟机实例。在实施方式中,虚拟机状态管理引擎1415包括存储虚拟机实例的状态的数据存储。虚拟机状态管理引擎1415也可包括与虚拟化环境的状态相关的其他信息。
在图14的示例中,延迟的虚拟机数据上传管理引擎1420被耦合到计算机可读介质1405。在特定的实施方式中,延迟的虚拟机数据上传管理引擎1420管理本文所描述的延迟上传进程。例如,延迟的虚拟机数据上传管理引擎1420可管理图3和/或图9中所示的虚拟机状态数据传送引擎。在实施方式中,延迟的虚拟机数据上传管理引擎1420管理与图3和/或图9中所示的虚拟机状态数据传送引擎相关联的增量盘。延迟的虚拟机数据上传管理引擎1420还可管理与上传增量盘相关联的上传进程。
在图14的示例中,虚拟计算OS服务质量管理引擎1425被耦合到计算机可读介质1405。在特定的实施方式中,虚拟计算OS服务质量管理引擎1425管理服务质量事件,例如服务质量节流(throttling)。在各种实施方式中,虚拟计算OS服务质量管理引擎1425管理与从网络至虚拟化环境的通信的错误率、带宽、吞吐量、传输延迟、网络可用性、抖动等相关的问题。
在图14的示例中,虚拟计算OS远程生命周期管理引擎1430被耦合到计算机可读介质1405。在实施方式中,虚拟计算操作系统远程生命周期管理引擎1430管理与虚拟化环境和/或在虚拟化环境中运行的虚拟机实例的生命周期相关联的属性。例如,虚拟计算OS远程生命周期管理引擎1430可通过管理服务策略来管理虚拟机实例的生命周期。随着虚拟化从透明后端选择性地扩展到在组织内提供的完全基础结构,虚拟计算OS远程生命周期管理引擎1430可提供控制以实现从短期供应到外包虚拟机容宿的全新的递送模型。虚拟计算OS远程生命周期管理引擎1430也可管理服务设计。例如,当设计虚拟基础设施服务时,虚拟计算OS远程生命周期管理引擎1430可考虑到给予客户的各个虚拟机实例的结构以及虚拟化环境中的所有虚拟机实例之间当它们在线、移动和失效时所产生的交互。虚拟计算OS远程生命周期管理引擎1430也可管理服务转换。更具体地,虚拟计算OS远程生命周期管理引擎1430可增加传统的一组或多组被构建为将基础设施组件递送至业务的需求。
虚拟计算OS远程生命周期管理引擎1430可使用最佳实践和/或特定工具,这些最佳实践和/或特定工具可被用来在每个虚拟机实例内创建权限控制,这样确保了所有虚拟机实例的行为与设计一致。在实施方式中,虚拟计算OS远程生命周期管理引擎1430管理服务操作。例如,虚拟计算OS远程生命周期管理引擎1430可通过在转换阶段中设置的强控制以及被特别设计为解决虚拟化环境和/或其中的虚拟机的独特特性的持续监视和警报来最小化管理需求。在实施方式中,虚拟计算OS远程生命周期管理引擎1430提供持续的服务改进。更具体地,随着虚拟环境的成熟和发展,内部客户和管理将热衷于了解范式的节省和收益,安全组将越来越多地进行基础设施的审核,并且新的退款方法将出现以应对新模式。在实施方式中,虚拟计算OS远程生命周期管理引擎1430(具有其对环境及其瞬态和移动性质的固有理解)向所有组成部分递送展示成功所需的度量。
在特定的实施方式中,示图1400中所示的虚拟机控制引擎进行操作以控制主机系统上的虚拟化环境和/或虚拟化环境中的虚拟机实例。更具体地,虚拟化环境访问管理引擎1410可管理对虚拟化环境的访问。虚拟化环境访问管理引擎1410还可认证访问虚拟化环境的用户凭证和/或密码。虚拟机状态管理引擎1415可进行操作以管理正被访问的虚拟化环境中的虚拟机实例的状态。更具体地,虚拟机状态管理引擎1415可识别虚拟化环境中的需要管理状态的特定虚拟机实例。虚拟机状态管理引擎1415可在本地或在联网的存储资源中存储这些状态。在实施方式中,虚拟计算OS服务质量管理引擎1425进行操作以管理与虚拟化环境和/或在虚拟化环境中运行的虚拟机实例相关联的服务质量。此外,虚拟计算OS远程生命周期管理引擎1430可进行操作以执行与在虚拟化环境中运行的虚拟机实例相关的远程生命周期管理。
图15描绘了示出虚拟化服务提供商引擎的示例的示图1500。在实施方式中,虚拟化服务提供商引擎可对应于图13中所示的虚拟化服务提供商引擎1320。在图15的示例中,虚拟化服务提供商引擎包括计算机可读介质1505、虚拟机请求引擎1510、客户端资源分配引擎1515、虚拟机实例分配引擎1520、虚拟机选择引擎1525、虚拟机实例提供引擎1530和对等存储管理引擎1535。在实施方式中,计算机可读介质1505可包括本文所描述的“计算机可读介质”。一个或多个虚拟机请求引擎1510、客户机资源分配引擎1515、虚拟机实例分配引擎1520、虚拟机选择引擎1525、虚拟机实例提供引擎1530和对等存储管理引擎1535可包括本文所描述的“发动机”。
在图15的示例中,虚拟机请求引擎1510被耦合到计算机可读介质1505。在实施方式中,虚拟机请求引擎1510接收对经虚拟化的资源的请求。虚拟机请求引擎1510可例如接收对经虚拟化的处理器、经虚拟化的存储器、经虚拟化的存储装置、经虚拟化的网络资源等的请求。在实施方式中,虚拟机请求引擎1510接收对虚拟化环境中特定的虚拟机实例的请求。
在图15的示例中,客户端资源分配引擎1515被耦合到计算机可读介质1505。客户端资源分配引擎1515可识别虚拟化可以支持的一组虚拟化资源。在各种实施方式中,客户端资源分配引擎1515识别特定的虚拟化环境可支持的经虚拟化的处理器、经虚拟化的存储器、经虚拟化的存储装置、经虚拟化的网络资源等。例如,客户端资源分配引擎1515可识别主机系统可提供多少处理器、存储器、存储装置和/或网络资源以支持给定的虚拟化环境。
在图15的示例中,虚拟机实例分配引擎1520被耦合到计算机可读介质1505。在一些实施方式中,虚拟机实例分配引擎1520可确定应该向虚拟化环境分配多少个虚拟机实例。
在图15的示例中,虚拟机选择引擎1525被耦合到计算机可读介质1505。在特定的实施方式中,虚拟机选择引擎1525包括可由虚拟化环境的虚拟化资源支持的特定虚拟机实例的列表。虚拟机选择引擎1525可将此列表提供给寻求虚拟机实例的客户端。例如,虚拟机选择引擎1525可向客户端提供特定虚拟机实例以及可由这些特定虚拟机实例支持的特定虚拟化资源。虚拟机选择引擎1525也可接收客户端请求的对虚拟机实例的选择。
在图15的示例中,虚拟机实例提供引擎1530被耦合到计算机可读介质1505。在实施方式中,虚拟机实例提供引擎1530与网络接合以提供客户端将要访问的特定虚拟机实例的标识符。例如,虚拟机实例提供引擎1530可向客户端提供特定虚拟机实例在虚拟化环境中的指针、存储器位置和/或其他位置。在特定的实施方式中,虚拟机实例提供引擎1530将特定虚拟机实例流传输到客户端。
在图15的示例中,对等存储管理引擎1535被耦合到计算机可读介质1505。在特定的实施方式中,对等存储管理引擎1535管理跨不同主机设备的虚拟化环境之间的对等存储。例如,对等存储管理引擎1535可管理存储节点(例如,图1中所示的第一虚拟化环境引擎110-1和第N虚拟化环境引擎110-n)之间的对等存储。在各种实施方式中,对等存储管理引擎1535使用虚拟/逻辑网络135来管理存储节点之间的对等存储。对等存储管理引擎1535也可管理特定存储节点上的磁盘、存储器等。
在特定的实施方式中,示图1500中的虚拟化服务提供商引擎进行操作以在虚拟化环境中提供和管理虚拟机实例。虚拟机请求引擎1510可进行操作以接收对虚拟机的请求。客户端资源分配引擎1515可进行操作以识别可用的经虚拟化的资源。虚拟机实例分配引擎1520可识别可支持可用的经虚拟化的资源的虚拟机实例。虚拟机选择引擎1525可进行操作以选择被识别为支持经虚拟化的资源的特定虚拟机实例。虚拟机实例提供引擎1530可进行操作以向客户端提供所选择的虚拟机实例的位置。虚拟机实例提供引擎1530还可进行操作以将客户端连接到这些所选择的虚拟机实例。在实施方式中,对等存储管理引擎1535管理主机系统之间的对等存储。更具体地,对等存储管理引擎1535可进行操作以经由对等网络(例如,如图1中所示,在虚拟化环境引擎110-1和110-n之间通过虚拟/逻辑网络135形成的对等网络)管理对等存储。
图16描绘了示出对等存储管理引擎的示例的示图。对等存储管理引擎可对应于图15中所示的对等存储管理引擎1535。示图1600中的对等存储管理引擎包括计算机可读介质1605、虚拟化环境选择引擎1610、虚拟LAN管理引擎1615和共享资源管理引擎1620。在实施方式中,计算机可读介质1605包括本文所描述的“计算机可读介质”。虚拟化环境选择引擎1610、虚拟LAN管理引擎1615和共享资源管理引擎1620中的一者或多者可包括本文所描述的“引擎”。
在图16的示例中,虚拟化环境选择引擎1610被耦合到计算机可读介质1605。在特定的实施方式中,虚拟化环境选择引擎1610识别用于对等存储的虚拟化环境。更具体地,虚拟化环境选择引擎1610可识别特定主机系统上的可支持这些主机系统之间的共享存储的多个虚拟化环境。在特点的实施方式中,虚拟化环境选择引擎1610向其他模块(例如,虚拟LAN管理引擎1615)提供特定虚拟化环境的标识符。
在图16的示例中,虚拟LAN管理引擎1615被耦合到计算机可读介质1605。在特定的实施方式中,虚拟LAN管理引擎1615在虚拟化环境之间建立网络连接。在一些实施方式中,网络连接包括安全网络连接。例如,由虚拟LAN管理引擎1615建立的网络连接可包括通用路由封装(GRE)和/或互联网协议安全(IPSec)隧道,以促进所识别的虚拟化环境之间的安全连接。在一些实施方式中,虚拟化环境之间的虚拟LAN包括虚拟化环境之间的对等网络。由虚拟LAN管理引擎1615维持的虚拟LAN也可允许特定虚拟化环境作为虚拟LAN上的节点彼此进行访问。
在图16的示例中,共享资源管理引擎1620被耦合到计算机可读介质1605。在特定的实施方式中,共享资源管理引擎1620创建和/或管理所识别的虚拟化环境之间的共享资源。更具体地,共享资源管理引擎1620可管理将在所识别的虚拟化环境之间共享的虚拟处理器、虚拟存储器、虚拟存储装置和/或虚拟网络连接。在实施方式中,共享资源管理引擎1620经由虚拟LAN管理引擎1615维持的虚拟LAN来创建和/或管理特定虚拟化环境之间的对等存储。例如,共享资源管理引擎1620可管理经虚拟化的计算机集群,该经虚拟化的计算机集群经由虚拟LAN共享由所识别的虚拟化环境维持的处理器、虚拟存储器、虚拟存储装置和/或虚拟网络连接。
在特定的实施方式中,示图1600中所示的对等存储管理引擎进行操作以维持虚拟化环境之间的对等存储。更具体地,虚拟化环境选择引擎1610可识别用于对等存储的多个虚拟化环境。更具体地,虚拟化环境选择引擎1610可进行操作以轮询主机系统,其中这些主机系统具有可被用于支持对等存储的经虚拟化的资源在其中运行的虚拟化环境。虚拟化环境选择引擎1610还可向其他引擎(例如,虚拟LAN管理引擎1615)提供虚拟化环境的标识符。
此外,虚拟LAN管理引擎1615可进行操作以管理由虚拟化环境选择引擎1610识别的多个虚拟化环境之间的虚拟LAN。更具体地,如果在多个虚拟化环境之间没有创建VLAN,则虚拟LAN管理引擎1615可创建VLAN。在各种实施方式中,虚拟LAN管理引擎1615可管理已在多个虚拟化环境之间创建的VLAN。
在实施方式中,共享资源管理引擎1620可维持多个经虚拟化的环境上的虚拟化计算机集群。经虚拟化的计算机集群可允许经由虚拟LAN共享由所识别的虚拟化环境维持的虚拟处理器、虚拟存储器、虚拟存装置和/或虚拟网络连接。
图17描绘了用于维持虚拟化环境引擎之间的对等存储的方法的示例的流程图1700。在特定的实施方式中,可使用对等存储管理引擎(例如,图16中的示图1600中所示的对等存储管理引擎)来实现该方法。在块1705处,识别用于对等存储的多个虚拟化环境。在特定的实施方式中,虚拟化环境选择引擎1610识别用于对等存储的多个虚拟化环境。在块1710处,管理多个虚拟化环境之间的VLAN。在特定的实施方式中,虚拟LAN管理引擎1615管理在由虚拟化环境选择引擎1610识别的多个虚拟化环境之间的VLAN。在块1715处,要经由VLAN在多个虚拟化环境之间共享的经虚拟化的资源被识别。在特定的实施方式中,共享资源管理引擎1620识别要在所识别的虚拟化环境之间共享的虚拟处理器、虚拟存储器、虚拟存储装置和/或虚拟网络连接。在块1720处,管理共享资源。在一些实施方式中,共享资源管理引擎1620管理共享资源。更具体地,共享资源管理引擎1620维持多个虚拟化环境上的虚拟化计算机集群。
图18描绘了示出客户端资源占用引擎的示例的示图1800。示图1800中的客户端资源分配引擎可对应于图15中所示的客户端资源分配引擎1515并在本文中更详细地被讨论。在图18的示例中,客户端资源分配引擎包括计算机可读介质1805、主机系统资源识别引擎1810、虚拟计算类别请求识别引擎1815和虚拟计算类别关联引擎1820。计算机可读介质1805可包括本文所讨论的“计算机可读介质”。主机系统资源识别引擎1810、虚拟计算类别请求识别引擎1815和虚拟计算类别关联引擎1820中的一者或多者可包括本文所述的“引擎”。
在图18的示例中,主机系统资源识别引擎1810被耦合到计算机可读介质1805。在特定的实施方式中,主机系统资源识别引擎1810与主机系统(例如,图1中所示的并在本文被进一步讨论的主机系统105)接合。主机系统资源识别引擎1810还可接收与主机系统支持的虚拟资源相对应的标识符。在实施方式中,主机系统资源识别引擎1810识别主机系统支持的安全级别。更具体地,主机系统资源识别引擎1810可识别主机系统是否具有会支持针对虚拟化环境和/或在其上运行的虚拟机实例的附加安全性的安全硬件和/或安全软件协议。
在图18的示例中,虚拟计算类别请求识别引擎1815被耦合到计算机可读介质1805。在特定的实施方式中,虚拟计算类别请求识别引擎1815与计算访问系统(例如,图1所示的计算访问系统120)接合,以识别计算访问系统请求访问的虚拟计算类别。作为示例,虚拟计算类别请求识别引擎1815可向计算访问系统提供该计算访问系统可请求访问的虚拟计算类别的可选列表。注意的是,虚拟计算类别请求识别引擎1815可提供其他方式来识别虚拟计算类别,而不脱离本文中讨论的发明概念的范围和实质。虚拟计算类别请求识别引擎1815也可接收计算访问系统请求对特定计算类别的选择,并且可向其他引擎提供所请求的虚拟计算类别。
在图18的示例中,虚拟计算类别关联引擎1820被耦合到计算机可读介质1805。虚拟计算类别关联引擎1820可从主机系统资源识别引擎1810接收所识别的虚拟资源和/或其他信息,并可从虚拟计算类别请求识别引擎1815和/或其他引擎接收计算访问系统已经请求的虚拟计算类别。虚拟计算类别关联引擎1820还可识别所请求的虚拟计算类别是否可供计算访问系统使用。在特定的实施方式中,虚拟计算类别关联引擎1820可确定所请求的虚拟计算类别的价格。在特定的实施方式中,虚拟计算类别关联引擎1820可将可用的虚拟计算实例与对特定虚拟计算类别的请求相关联。虚拟计算类别关联引擎1820也可促进对所提供的虚拟计算实例的支付。
在一些实施方式中,示图1800中的客户端资源分配引擎进行操作以识别虚拟化资源的可用类别,并将对虚拟机实例的特定请求与可用类别的经虚拟化的资源相关联。更具体地,主机系统资源识别引擎1810可识别多个主机系统。在特定的实施方式中,主机系统资源识别引擎1810识别在示图100中的经虚拟化的计算环境中的一个或多个主机系统105,其中这些主机系统其上运行了虚拟化环境。此外,虚拟计算类别请求识别引擎1815可识别多个主机系统中的每一者的资源。更具体地,虚拟计算类别请求识别引擎1815可确定一个或多个主机系统是否具有向经虚拟化的计算客户端引擎提供的经虚拟化的处理器、经虚拟化的存储器、经虚拟化的存储装置和/或经虚拟化的网络资源。虚拟计算类别请求识别引擎1815可将多个主机系统中的每一者的资源分类到虚拟机类别。虚拟机类别可以共享一个或多个属性,包括硬件配置、软件配置、网络配置等。虚拟机类别也可共享公共的安全级别和/或安全配置。虚拟计算类别关联引擎1820可接收对虚拟机实例的请求、可将这些请求与对应于虚拟机类别的虚拟机实例相关联、以及可使用与虚拟机类别相关联的经虚拟化的计算操作系统资源来满足请求。
图19描绘了用于提供多个虚拟机类别的方法的示例的示图1900。可使用经虚拟化的计算控制及管理系统130来实现流程图1900的一个或多个块。在块1905处,识别多个主机系统。在块1910处,识别多个主机系统中的每一者的资源。在块1915处,将多个主机系统中的每一者的资源分类为多个虚拟机层。在块1920处,接收对虚拟机实例的请求。在块1925处,将对虚拟机实例的请求与多个虚拟机层中的一者相关联。在块1930处,使用与一个虚拟机层相关联的经虚拟化的计算操作系统资源来满足该请求。
图20描绘了示出虚拟机市场引擎的示例的示图2000。在图20的示例中,虚拟机市场引擎包括计算机可读介质2005、虚拟机实例供应管理引擎2010、虚拟机实例需求管理引擎2015、虚拟机实例价格管理引擎2020和虚拟机实例事务管理引擎2025。计算机可读介质1805可包括本文所讨论的“计算机可读介质”。虚拟机实例供应管理引擎2010、虚拟机实例需求管理引擎2015、虚拟机实例价格管理引擎2020和虚拟机实例事务管理引擎2025中的一者或多者可包括本文所描述的“引擎”。
在图20的示例中,虚拟机实例供应管理引擎2010被耦合到计算机可读介质2005。在特定的实施方式中,虚拟机实例供应管理引擎2010从主机系统(例如,图1中所示的并在本文被进一步讨论的主机系统105)接收通知。通知可向虚拟机实例供应管理引擎2010提供这些主机系统是否正在提供供客户端可用的虚拟机实例。在一些实施方式中,虚拟机实例供应管理引擎2010维护可用于访问的虚拟机实例的数据存储。例如,虚拟机实例供应管理引擎2010可维护准备好被利用但尚未被利用的虚拟机实例的数据库。注意的是,虚拟机实例供应管理引擎2010也可识别虚拟化环境或主机系统的准备好被利用但尚未被利用的部分。
在图20的示例中,虚拟机实例需求管理引擎2015被耦合到计算机可读介质2005。在特定的实施方式中,虚拟机实例需求管理引擎2015从经虚拟化的计算客户端引擎(例如,图1中所示的并在本文被进一步讨论的经虚拟化的计算客户端引擎125)接收通知。通知可向虚拟机实例需求管理引擎2015提供这些经虚拟化的计算客户端引擎是否正在请求虚拟机实例。通知也可提供由经虚拟化的计算客户端引擎所请求的虚拟机实例的数量和/或类型。
在图20的示例中,虚拟机实例价格管理引擎2020被耦合到计算机可读介质2005。在特定的实施方式中,虚拟机实例价格管理引擎2020包括计算特定虚拟机的价格的一个或多个数据存储。更具体地,虚拟机实例价格管理引擎2020可促进针对虚拟计算实例向虚拟计算客户端引擎的拍卖。拍卖可接收针对虚拟计算实例的出价。拍卖可确定这些出价是否对应于可被提供给虚拟化计算客户端引擎的虚拟计算实例。在特定的实施方式中,虚拟机实例价格管理引擎2020可基于虚拟计算实例的供应和/或针对虚拟计算实例的需求来计算和/或设定虚拟计算实例的价格。
在图20的示例中,虚拟机实例事务管理引擎2025被耦合到计算机可读介质2005。在特定的实施方式中,虚拟机实例事务管理引擎2025可管理与虚拟机实例相关联的事务。例如,虚拟机实例事务管理引擎2025可转移对已经售出的虚拟机实例的访问权限。虚拟机实例事务管理引擎2025也可促进对已经售出的虚拟机实例的访问权限的支付。
在特定的实施方式中,示图2000中的虚拟机市场引擎进行操作以将虚拟计算实例从主机系统卖给虚拟计算客户端引擎。更具体地,虚拟机实例供应管理引擎2010可确定在主机系统上可用的虚拟计算实例的供应。虚拟机实例需求管理引擎2015可进行操作以确定对这些虚拟计算实例的需求。该需求可以是基于来自经虚拟化的计算客户端引擎或其他源的特定请求。
虚拟机实例价格管理引擎2020可确定可用的虚拟计算实例的价格。例如,虚拟机实例价格管理引擎2020可促进虚拟计算实例的拍卖。在特定的实施方式中,至少部分拍卖可包括多单元拍卖,在其中多于一个虚拟计算实例被出售给单个出价者。至少部分拍卖也可包括统一价格拍卖,在其中以相同价格出售固定数量的相同(或近似相同)的虚拟计算实例。在这种统一价格拍卖中的每个投标者可提交出价,这些出价指定所期望的虚拟计算实例的数量和它们愿意为每个虚拟计算实例支付的价格。这些出价对于其他投标者是被密封或隐藏的,直到较晚的时间(例如,当统一价格拍卖结束时)。拍卖者可首先为最高出价者服务,给予他们所请求的数量的虚拟计算实例,然后是第二最高出价者,以此类推,直到供应的虚拟计算实例的被用尽。接着,所有投标者可支付与最低获胜出价(实际接收一个或多个虚拟计算实例的买方中的最低出价)相等的每单位价,而不考虑其实际出价。这种拍卖的某些变体可使得赢家支付最高的失败出价而不是最低的获胜出价。在一些实施方式中,统一价格拍卖包括呼叫市场或双拍卖,其用于将由多于一个卖家提供的虚拟机实例聚集至多个买家。这种呼叫市场/双拍卖可共享开放市场机制的特征,在开放市场机制中对交易虚拟机实例感兴趣的所有买方和所有卖方可同时参与。清算价格拍卖通常在市场环境中被使用,以便为所涉及的市场建立基准价格指数。
在一些实施方式中,用于拍卖的价格可取决于正在拍卖的虚拟计算类别。例如,拍卖可销售对应于至少三个虚拟计算类别的虚拟计算实例:按需虚拟计算类别、预留虚拟计算类别和现场虚拟计算类别。按需虚拟计算类别可包括在出价者进行虚拟计算实例的查找时可用的虚拟计算实例。预留虚拟计算类别可包括针对固定量时间可用于虚拟计算实例。现场虚拟计算类别可包括在给定时间可用的虚拟计算实例,但是虚拟计算实例的可用性不能被预测或难以预测。现场虚拟计算类别例如可包括在给定时间没有被使用的虚拟计算实例,例如,超额容量。作为另一示例,拍卖可销售具有公共硬件配置、公共软件配置、公共安全配置等的虚拟计算实例。一旦拍卖模型已实现,虚拟机实例事务管理引擎2025可管理与虚拟机相关联的事务,包括促进对虚拟计算实例的权限的支付和/或转移。
图21描绘了用于协调一个或多个虚拟机实例的传送的方法的示例的流程图2100。流程图2100的一个或多个块可通过使用经虚拟化的计算控制及管理系统130来实现。在块2105处,从虚拟化客户端计算引擎接收对虚拟机实例的请求。在块2110处,虚拟计算操作系统资源的供应。在块2115处,确定对虚拟计算操作系统资源的需求。在块2120处,基于该供应和该需求来识别所请求的虚拟机实例的价格。可使用拍卖模型来确定这些价格。在块2125处,将价格提供给经虚拟化的客户端计算引擎。
图22描绘了示出经虚拟化的计算客户端引擎的示例的示图2200。在实施方式中,经虚拟化的计算客户端引擎可对应于图1中所示的经虚拟化的计算客户端引擎125。在图22的示例中,经虚拟化的计算客户端引擎包括计算机可读介质2205、帐户管理引擎2210、虚拟机请求引擎2215和虚拟机访问引擎2220。在实施方式中,计算机可读介质2205可包括本文所描述的“计算机可读介质”。帐户管理引擎2210、虚拟机请求引擎2215和虚拟机访问引擎2220中的一者或多者可包括本文中所描述的“引擎”。
在图22的示例中,帐户管理引擎2210被耦合到计算机可读介质2205。在特定的实施方式中,帐户管理引擎2210维持存储用户帐户信息的一个或多个数据库。用户帐户信息可包括与计算访问客户端引擎的特定用户相关的财务和/或其他信息。用户帐户信息也可包括与计算访问系统相关的设备信息。在一些实施方式中,帐户管理引擎2210维持与主机系统和/或主机系统的用户相关的用户帐户信息。帐户管理引擎2210还可维持主机系统的配置、与在主机系统上运行的虚拟化环境相关的信息和/或与在虚拟化环境上运行的虚拟机实例相关的信息。
在图22的示例中,虚拟机请求引擎2215被耦合到计算机可读介质2205。在特定的实施方式中,虚拟机请求引擎2215管理对虚拟机实例的请求。虚拟机请求引擎2215还可将这些请求提供给其他引擎和/或允许使用本文中所描述的技术来满足这些请求。在图22的示例中,虚拟机访问引擎2220被耦合到计算机可读介质2205。在特定的实施方式中,虚拟机访问引擎2220提供对虚拟机实例的访问。更具体地,虚拟机访问引擎2220管理经虚拟化的计算访问客户端以获得对虚拟机实例的许可。
在特定的实施方式中,示图2200中所示的经虚拟化的计算客户端引擎进行操作以管理对虚拟机实例的访问。更具体地,帐户管理引擎2210可管理与经虚拟化的计算客户端引擎相关联的用户的用户帐户。虚拟机请求引擎2215可管理对特定虚拟机实例和/或特定虚拟化环境的请求。此外,虚拟机访问引擎2220可管理对特定虚拟机实例和/或特定虚拟化环境的访问。
图23描绘了互联网服务提供商数据的地图的示图2300。该示图示出了截至2013年6月30日具有单个互联网服务提供商(ISP)的部分。图24描绘了互联网服务提供商数据的地图的示图2400。示图2400示出了截至2013年6月30日具有两个或更多个ISP的美国的部分。图25描绘了互联网服务提供商数据的地图的示图2500。示图2500示出了截至2013年6月30日具有三个或更多个ISP的美国的部分。如图23-25所示,具有三个ISP的美国的部分比具有两个ISP或一个ISP的美国的部分少。此外,具有两个ISP的美国的部分比具有一个ISP的美国的部分少。这意味着在美国的许多地方,寻求计算资源的个体消费者可能受到少数ISP的行动的约束。这些约束可形成虚拟化的瓶颈,特别是对于不能或不愿意支付额外的加速网络资源的消费者。本文中描述的技术可通过藉由将未被使用的或未被充分利用的计算机部分虚拟化而提供未被利用的或未被充分利用的计算资源来使终端用户极大地获益。
图26描绘了示出经虚拟化的计算环境的示例的示图2600。如示图2600所示,ISP可将多个设备彼此连接以及连接至其他ISP。在同一ISP内,多个主机设备(在图26中被标记为“服务器”)可实现虚拟化环境引擎,以向计算访问系统(在图26中被标记为“终端用户”)提供虚拟机实例。这可能是非常有效的,并可能解决面对网络潜在的网络中立难题中的基本问题。
图27描绘了计算机系统的示例,在其中实现了本文所描述的技术。计算机系统2700可以是可用作客户端计算机系统的传统计算机系统,例如,无线客户端、工作站或服务器计算机系统。计算机系统2700包括计算机2705、I/O设备2730、和显示设备2715。计算机2705包括处理器2720、通信接口2725、存储器2730、显示控制器2735、非易失性存储器2740和I/O控制器2745。计算机2705可被耦合到或包括I/O设备2730和显示设备2715。
计算机2705通过可包括调制解调器或网络接口的通信接口2725与外部系统接合。将被理解的是,通信接口2725可被认为是计算机系统2700的部分或是计算机2705的部分。通信接口2725可以是模拟调制解调器、ISDN调制解调器、缆线调制解调器、令牌环接口、卫星传输接口(例如,“直接PC”)、或其他用于将计算机系统耦合到其他计算机系统的接口。
处理器2720例如可是常规微处理器,如英特尔奔腾微处理器或摩托罗拉Power PC微处理器。存储器2730通过总线2720被耦合到处理器2720。存储器2730可以是动态随机存取存储器(DRAM),也可包括静态RAM(SRAM)。总线2720将处理器2720耦合到存储器2730、也耦合到非易失性存储器2740、耦合到显示控制器2735以及耦合到I/O控制器2745。
I/O设备2730可包括键盘、磁盘驱动、打印机、扫描仪以及其它输入和输出设备,包括鼠标或其他点选设备(pointing device)。显示控制器2735可以以常规方式控制显示设备2715上的显示,显示装置2715例如可是阴极射线管(CRT)或液晶显示器(LCD)。显示控制器2735和I/O控制器2745可以利用传统的公知技术来实现。
非易失性存储器2740通常是磁性硬盘、光盘或另一种用于大量数据的存储形式。在计算机2705上的软件运行期间,数据中的一些通常通过直接存储器访问进程被写入存储器2730中。本领域技术人员将立即认识到术语“机器可读介质”或“计算机可读介质”包括可由处理器2720访问的任意类型的存储设备,并且还包括对数据信号进行编码的载波。
计算机系统2700是许多可能具有不同架构的计算机系统的一个示例。例如,基于英特尔微处理器的个人计算机通常具有多条总线,其中的一条可以是用于外围设备的I/O总线,其中的另一条直接连接处理器2720和存储器2730(通常称为存储器总线)。总线通过桥接组件被彼此连接在一起,所述桥接组件根据不同的总线协议来执行任何必要的转换。
网络计算机是可以与本文中所描述的教导结合使用的另一类型的计算机系统。网络计算机通常不包括硬盘或其他大容量存储器,且可运行的程序从网络连接加载到存储器2730中以由处理器2720运行。本领域中已知的Web TV系统也被考虑作为计算机系统,但它可能缺少图27所示的一些特征,例如,某些输入或输出设备。典型的计算机系统通常至少包括处理器、存储器和将存储器耦合到处理器的总线。
尽管图27示出了计算机系统2700的示例,应当注意的是,本文中使用的术语“计算机系统”旨在被广义地解释。通常,计算机系统将包括处理器、存储器、非易失性存储器和接口。典型的计算机系统通常至少包括处理器、存储器和将存储器耦合到处理器的设备(例如,总线)。处理器可例如是通用中央处理单元(CPU)(例如,微处理器),或专用处理器(例如,微控制器)。图27中示出了计算机系统的示例。
通过示例而非限制的方式,存储器可包括随机存取存储器(RAM),例如,动态RAM(DRAM)和静态RAM(SRAM)。存储器可以是本地的、远程的或分布式的。如本文中所使用的,术语“计算机可读存储介质”旨在仅包括物理介质,例如存储器。如本文中所使用的,计算机可读介质旨在包括所有的法定的介质(例如,在美国,根据35U.S.C.101),并且特别地排除非法定的所有介质,事实上对于有效的包括计算机可读介质的权利要求,这种排除是必要的。已知的法定计算机可读介质包括硬件(例如,寄存器、随机存取存储器(RAM)、非易失性(NV)存储等),但是可以限于硬件或可不限于硬件。
总线也可将处理器耦合到非易失性存储器。非易失性存储器通常是磁性软盘或硬盘、磁光盘、光盘、只读存储器(ROM)(例如,CD-ROM、EPROM或EEPROM)、磁卡或光卡,或用于大量数据的另一种存储形式。在计算机系统上的软件运行期间,数据中的一些通常通过直接存储器访问进程被写入存储器中。非易失性存储器可以是本地的、远程的或分布式的。非易失性存储器是可选的,因为可使用在存储器中可用的所有可应用的数据来创建系统。
软件通常存储在非易失性存储器中。但事实上,对于大型程序,甚至不可能将整个程序存储在存储器中。然而,应当理解的是,为了运行软件(若需要),软件被移动到适于进行处理的计算机可读位置,并且出于说明的目的,该位置在本文中被称为存储器。即使当软件被移动到存储器来运行时,处理器通常将利用硬件寄存器来存储与软件相关联的值,以及利用本地缓存来理想地加速运行。如本文中所使用的,当软件程序被称为“在计算机可读存储介质中实现”时,假定软件程序被存储在可应用的已知或方便的位置(从非易失性存储器到硬件寄存器)。当与程序相关联的至少一个值存储在可由处理器读取的寄存器中时,处理器被认为是“被配置为运行程序”。
在操作的一个示例中,计算机系统可由操作系统软件控制,其中操作系统软件是包括文件管理系统(例如,磁盘操作系统)的软件程序。具有相关联的文件管理系统软件的操作系统软件的一个示例是被称为来自华盛顿州雷德蒙德的微软公司的操作系统系列及其相关联的文件管理系统。具有相关文件管理系统软件的操作系统软件的另一示例是Linux操作系统及其相关联的文件管理系统。文件管理系统通常被存储在非易失性存储器中,并促使处理器运行由操作系统要求的各种动作以输入和输出数据以及将数据存储在存储器中,包括将文件存储在非易失性存储器上。
总线也可将处理器耦合到接口。接口可包括一个或多个输入和/或输出(I/O)设备。通过示例而非限制的方式,I/O设备可包括键盘、鼠标或其他点选设备、磁盘驱动、打印机、扫描仪以及包括显示设备的其他I/O设备。通过示例而非限制的方式,显示设备可包括阴极射线管(CRT)、液晶显示器(LCD)或一些其他可应用的已知或方便的显示设备。接口可包括一个或多个调制解调器或网络接口。将被理解的是,调制解调器或网络接口可被认为是计算机系统的部分。该接口可包括模拟调制解调器、ISDN调制解调器、缆线调制解调器、令牌环接口、卫星传输接口(例如,“直接PC”)或用于将计算机系统耦合到其他计算机系统的其他接口。接口促使计算机系统和其他设备能够在网络中耦合在一起。
本文中所描述的若干组件(包括客户端、服务器和引擎)可与基于云的计算系统兼容或通过使用基于云的计算系统来实现。如本文中所使用的,基于云的计算系统是通过维持客户端设备可经由通信接口(例如,网络)访问的集中式服务和资源来向客户端设备提供计算资源、软件和/或信息的系统。基于云的计算系统可涉及服务的订阅或使用实用定价模型。用户可通过web浏览器或位于其客户端设备上的其他容器应用来访问基于云的计算系统的协议。
本文描述了本领域技术人员可以以多种方式实现的技术。例如,本领域技术人员可使用进程、装置、系统、物质组合、包含在计算机可读存储介质上的计算机程序产品、和/或处理器(例如,被配置为运行存储在被耦合到处理器的存储器上和/或由该耦合到处理器的存储器提供的指令的处理器)来实现本文中描述的技术。除非另有说明,否则诸如被描述为被配置为执行任务的处理器或存储器的组件可被实现为被配置为在给定时间执行任务的通用组件或被制造为执行任务的特定组件。如本文中所使用的,术语“处理器”是指被配置为处理数据(例如,计算机程序指令)的一个或多个设备、电路和/或处理核心。
本文中提供了本发明的一个或多个实施方式的详细描述以及说明本发明的原理的附图。结合这些实施方式来描述本发明,但是本发明不限于任何实施方式。本发明的范围仅由权利要求限制,并且本发明包括许多替代、修改和等同。在下面的描述中阐述了许多具体细节来提供对本发明的透彻理解。这些细节是出于示例的目的而被提供,且无需一些或全部这些具体细节可根据权利要求来实践本发明。为了清楚起见,在与本发明相关的技术领域中已知的技术材料没有被详细描述,使得本发明不被不必要地模糊。
详细描述的一些部分是以对计算机存储器内的数据位进行操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域的技术人员用来将他们的工作的实质最有效地传达给本领域其他技术人员的手段。算法在此并且通常被设想为导致期望结果的自相容的操作序列。操作是那些需要对物理量进行物理操纵的操作。通常,尽管不是必须的,这些量采取能够被存储、传送、组合、比较和以其它方式被操纵的电或磁信号的形式。主要出于公共使用的原因,将这些信号称为比特、值、元素、符号、字符、术语、数字等已被证明有时是方便的。
然而,应当记住的是,所有这些和类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非特别说明,否则如从以下讨论中显而易见的是,应当理解在整个描述中,利用诸如“处理”或“计算”或“计算”或“确定”或“显示”等类似术语的讨论是指计算机系统或类似的电子计算设备的动作和进程,其中计算机系统或类似的电子计算设备将被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和变换成类似地被表示为计算机系统存储器或寄存器或其他的这种信息存储、传输或显示设备内的物理量的其他数据。
本文中描述的技术涉及用于执行操作的装置。该装置可为所需目的而特别构造,或者它可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储介质中,例如但不限于只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、任意类型的盘(包括软盘、光盘、CD-ROM和磁光盘)、或者适于存储电子指令的任意类型的介质(每个都耦合到计算机系统总线)。虽然已出于清楚理解的目的相当详细地描述了前述实施方式,但是实施方式不一定限于所提供的细节。

Claims (17)

1.一种提供过量计算资源的系统,包括:
主操作系统接口引擎,该主操作系统接口引擎通过第一网络被耦合到一个或多个主机系统并被配置为从所述一个或多个主机系统的主操作系统接收指令,并进行操作以管理所述一个或多个主机系统上的经虚拟化的操作系统,对于所述一个或多个主机系统的用户而言所述经虚拟化的操作系统看起来与所述主操作系统是不同的;
虚拟化环境管理引擎,该虚拟化环境管理引擎被耦合到所述主操作系统接口引擎并进行操作以管理虚拟化环境,所述虚拟化环境使用所述经虚拟化的操作系统;
虚拟计算类别请求识别引擎,该虚拟计算类别请求识别引擎耦合到所述虚拟化环境管理引擎并进行操作以响应于从所述一个或多个主机系统接收到提供所请求的数目的虚拟机实例的一个或多个指令而从所述一个或多个主机系统的过量计算资源识别可用于执行虚拟机实例的虚拟化资源;
虚拟机管理引擎,该虚拟机管理引擎被耦合到所述虚拟化环境管理引擎并进行操作以管理所述虚拟化环境中的一个或多个虚拟机实例,所述一个或多个虚拟机实例中的每一者进行操作以提供所述一个或多个主机系统的经虚拟化的资源用于被耦合到所述一个或多个主机系统的计算访问系统;
虚拟计算类别关联引擎,该虚拟计算类别关联引擎耦合到所述虚拟机管理引擎并且进行操作以基于所述虚拟化资源:
确定所述一个或多个主机系统的所述一个或多个虚拟机实例的虚拟环境支持的一个或多个虚拟机层,所述一个或多个虚拟机层的各层对应于所述一个或多个主机系统的不同类别的虚拟化资源;
识别所述一个或多个主机系统被配置为支持用于所述虚拟环境的所述虚拟化资源中的特定类别的第一虚拟化资源;
确定所述虚拟化资源中的特定量的第二虚拟化资源可用于所述虚拟环境;
基于所述特定类别的第一虚拟化资源以及所述特定量的第二虚拟化资源,确定所述主机系统的虚拟环境支持所述一个或多个虚拟机层中的特定虚拟机层;
其中,所述虚拟机管理引擎包括分层虚拟机选择引擎,该分层虚拟机选择引擎选择所述一个或多个虚拟机层中用于与所述主机系统的所述一个或多个虚拟机实例中的各虚拟机实例相关联的相应的虚拟机层;以及
状态数据传送引擎,该状态数据传送引擎被耦合到所述虚拟化环境管理引擎并进行操作以将所述虚拟化环境的当前状态保存到在所述一个或多个主机系统上的虚拟化状态文件,并且其中所述状态数据传送引擎被耦合到所述虚拟机管理引擎并进行操作以将所述一个或多个虚拟机实例保持到所述虚拟化状态文件。
2.根据权利要求1所述的系统,还包括延迟的虚拟机数据上传引擎,该延迟的虚拟机数据上传引擎被耦合到所述状态数据传送引擎,并进行操作以响应于引导主操作系统而使用所述主操作系统内执行的上传进程将所述虚拟化状态文件上传到经虚拟化的计算控制及管理系统。
3.根据权利要求1所述的系统,还包括被耦合到所述主操作系统接口引擎的经虚拟化的计算操作系统安装引擎,所述经虚拟化的计算操作系统安装引擎进行操作以在所述一个或多个主机系统上安装所述经虚拟化的操作系统,并且其中所述经虚拟化的计算操作系统安装引擎进行操作以与所述一个或多个主机系统的引导过程接合来在所述一个或多个主机系统上安装所述经虚拟化的操作系统。
4.根据权利要求1所述的系统,还包括被耦合到所述虚拟化环境管理引擎的虚拟化环境安全引擎,并且所述虚拟化环境安全引擎进行操作来为所述虚拟化环境提供安全性,其中所述虚拟化环境安全引擎被耦合到所述一个或多个主机系统的安全硬件,并使用所述安全硬件来为所述虚拟化环境提供所述安全性。
5.根据权利要求4所述的系统,其中所述安全硬件包括被配置为在所述虚拟化环境中安全地加密地对数据进行签名的芯片,其中在操作中,所述安全地加密地被签名的数据被用于验证所述经虚拟化的操作系统的操作系统映像是被信任的,并且在所述经虚拟化的操作系统被信任之后,安全盘访问被启用。
6.根据权利要求4所述的系统,其中所述虚拟化环境安全引擎进行操作以使用加密块来将至少部分所述虚拟化环境流传输到所述计算访问系统,其中所述加密块对于所述主操作系统的解密是安全的,且其中所述加密块模拟所述经虚拟化的资源。
7.根据权利要求6所述的系统,其中所述虚拟化环境安全引擎使用将所述计算访问系统耦合到所述一个或多个主机系统的网络来将所述加密块流传输到所述计算访问系统。
8.根据权利要求4所述的系统,其中所述安全硬件与集中式共享密钥兼容,其中在操作中,所述集中式共享密钥与所述经虚拟化的操作系统共享并被用于解密盘块。
9.根据权利要求4所述的系统,其中在操作中,虚拟机特定密钥被生成用于主机的虚拟机环境中的虚拟机,所述虚拟机具有被分配以容宿功能的虚拟盘或虚拟盘的一部分或其中存储有中央映像的局部变化的增量盘,其中虚拟机特定密钥从不被写入硬盘,从而防止与所述主机相关联的虚拟机映像免受不受信任的操作系统映像进行解密。
10.根据权利要求9所述的系统,其中在操作中,在所述一个或多个虚拟机实例中的可应用的一者的虚拟机实例要被重新调度在不同主机上的情况中,用于所述主机的虚拟机环境中的虚拟机的所述虚拟机特定密钥被集中地推送。
11.根据权利要求1所述的系统,其中所述多个虚拟机层中的一个或多个虚拟机层使用安全硬件来为与所述多个虚拟机层中的该一个或多个虚拟机层相关联的虚拟机实例提供安全性。
12.根据权利要求11所述的系统,其中所述安全硬件包括芯片,该芯片被配置为将经虚拟化的操作系统映像进行散列、对要防篡改的数据进行加密签名并在保持抗篡改性的同时将所述数据发送到所述虚拟化环境管理引擎的,其中所述虚拟化环境管理引擎将经签名的散列与已知良好的散列进行比较,且在所述经签名的散列和所述已知良好的散列匹配的情况下,则信任所述经虚拟化的操作系统映像。
13.根据权利要求1所述的系统,还包括被耦合到所述系统并进行操作以管理所述虚拟化环境的经虚拟化的计算控制及管理系统,其中所述经虚拟化的计算控制及管理系统通过使用网络被耦合到所述一个或多个主机系统。
14.根据权利要求13所述的系统,其中所述经虚拟化的计算控制及管理系统进行操作以使用在主操作系统内运行的上传进程来管理虚拟化状态文件到所述经虚拟化的计算控制及管理系统的上传。
15.根据权利要求13所述的系统,其中所述经虚拟化的计算控制及管理系统进行操作以管理与所述虚拟化环境相关联的服务质量或管理与所述虚拟化环境相关联的远程生命周期。
16.根据权利要求13所述的系统,其中所述一个或多个主机系统包括第一主机系统和使用逻辑网络被耦合到所述第一主机系统的第二主机系统,并且所述计算控制及管理系统进行操作以管理在所述第一主机系统和所述第二主机系统之间的对等存储。
17.根据权利要求13所述的系统,其中所述一个或多个主机系统包括第一主机系统和使用逻辑网络被耦合到所述第一主机系统的第二主机系统,并且所述计算控制及管理系统进行操作以管理在所述第一主机系统和所述第二主机系统之间形成的计算机集群,或平衡在所述第一主机系统和所述第二主机系统之间的计算负载,或在所述第一主机系统和所述第二主机系统之间创建一个或多个安全专用网络。
CN201580027927.7A 2014-04-28 2015-04-28 通过虚拟化提供过量计算资源 Active CN106462441B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461985392P 2014-04-28 2014-04-28
US61/985,392 2014-04-28
PCT/US2015/028073 WO2015168169A1 (en) 2014-04-28 2015-04-28 Providing excess compute resources with virtualization

Publications (2)

Publication Number Publication Date
CN106462441A CN106462441A (zh) 2017-02-22
CN106462441B true CN106462441B (zh) 2020-12-04

Family

ID=54334868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580027927.7A Active CN106462441B (zh) 2014-04-28 2015-04-28 通过虚拟化提供过量计算资源

Country Status (6)

Country Link
US (1) US10095532B2 (zh)
EP (2) EP3816798A1 (zh)
CN (1) CN106462441B (zh)
AU (1) AU2015253307B2 (zh)
CA (1) CA2947151C (zh)
WO (1) WO2015168169A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10205648B1 (en) * 2014-05-30 2019-02-12 EMC IP Holding Company LLC Network monitoring using traffic mirroring and encapsulated tunnel in virtualized information processing system
WO2016209250A1 (en) * 2015-06-26 2016-12-29 Hewlett-Packard Development Company, L.P. Operating system management
US10419401B2 (en) 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
US11502972B2 (en) * 2016-08-28 2022-11-15 Vmware, Inc. Capacity optimization in an automated resource-exchange system
US10447682B1 (en) * 2016-09-21 2019-10-15 Amazon Technologies, Inc. Trust management in an electronic environment
US10903650B2 (en) 2017-08-03 2021-01-26 Heila Technologies, Inc. Grid asset manager
US10797940B2 (en) * 2018-02-02 2020-10-06 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US10705883B2 (en) * 2018-06-19 2020-07-07 Microsoft Technology Licensing, Llc Dynamic hybrid computing environment
WO2020117872A1 (en) * 2018-12-03 2020-06-11 Heila Technologies, Inc. Distributed and decentralized ders system optimizations
US11762798B2 (en) * 2019-06-25 2023-09-19 Micron Technology, Inc. Aggregated and virtualized solid state drives with multiple host interfaces
US11381584B1 (en) * 2019-09-05 2022-07-05 Amazon Technologies, Inc. System and methods using ephemeral accounts to limit risk of exposing sensitive data
US11620254B2 (en) * 2020-06-03 2023-04-04 International Business Machines Corporation Remote direct memory access for container-enabled networks
CN113051196B (zh) * 2021-03-26 2021-11-02 武汉理工大学 一种基于固态硬盘层差异特征的请求调度算法
CN113448740B (zh) * 2021-09-01 2021-11-30 北京鲸鲮信息系统技术有限公司 操作系统的电源管理方法及装置
US11899824B1 (en) * 2023-08-09 2024-02-13 Vive Concierge, Inc. Systems and methods for the securing data while in transit between disparate systems and while at rest

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060256105A1 (en) * 2005-05-13 2006-11-16 Scarlata Vincent R Method and apparatus for providing software-based security coprocessors
US20110061045A1 (en) * 2007-12-20 2011-03-10 Virtual Computer, Inc. Operating Systems in a Layerd Virtual Workspace
US8024442B1 (en) * 2008-07-08 2011-09-20 Network Appliance, Inc. Centralized storage management for multiple heterogeneous host-side servers
CN103176831A (zh) * 2011-12-22 2013-06-26 中国移动通信集团公司 一种虚拟机系统及其管理方法
US20130311778A1 (en) * 2012-05-16 2013-11-21 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment
US20140040887A1 (en) * 2012-07-31 2014-02-06 George Cristian Morariu Customized virtual machine creation

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US8528107B1 (en) * 2005-09-19 2013-09-03 Vmware, Inc. Enforcing restrictions related to a virtualized computer environment
US8200738B2 (en) * 2007-09-30 2012-06-12 Oracle America, Inc. Virtual cluster based upon operating system virtualization
US8677352B2 (en) 2007-10-31 2014-03-18 Vmware, Inc. Interchangeable guest and host execution environments
US9489647B2 (en) * 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
US8219990B2 (en) * 2009-05-28 2012-07-10 Novell, Inc. Techniques for managing virtual machine (VM) states
US8566822B2 (en) * 2009-07-22 2013-10-22 Broadcom Corporation Method and system for distributing hypervisor functionality over multiple physical devices in a network and configuring sub-hypervisor to control the virtual machines
US9703586B2 (en) * 2010-02-17 2017-07-11 Microsoft Technology Licensing, Llc Distribution control and tracking mechanism of virtual machine appliances
US8839228B2 (en) 2010-04-21 2014-09-16 Ca, Inc. System and method for updating an offline virtual machine
US20110276621A1 (en) 2010-05-05 2011-11-10 Microsoft Corporation Operating system and application virtualization for application execution
US9141418B2 (en) 2010-07-23 2015-09-22 Hewlett-Packard Development Company, L.P. Systems and methods for implementing a guest operating system on a host operating system
US8924964B2 (en) * 2010-11-01 2014-12-30 Microsoft Corporation Dynamic allocation and assignment of virtual environment
US9411655B2 (en) * 2011-12-30 2016-08-09 Dell Products, Lp System and method for detection and deployment of virtualization capable assets in a managed datacenter
US8918608B2 (en) 2012-01-09 2014-12-23 Ravello Systems Ltd. Techniques for handling memory accesses by processor-independent executable code in a multi-processor environment
US9268590B2 (en) * 2012-02-29 2016-02-23 Vmware, Inc. Provisioning a cluster of distributed computing platform based on placement strategy
US8966573B2 (en) * 2012-07-20 2015-02-24 Ca, Inc. Self-generation of virtual machine security clusters
AU2013308873A1 (en) * 2012-08-28 2015-03-05 VCE Company LLC Integrated computing platform deployed in an existing computing environment
CN104756127B (zh) * 2012-10-12 2018-03-27 皇家飞利浦有限公司 通过虚拟机进行安全数据处理
US10469593B2 (en) * 2012-10-23 2019-11-05 Vmware, Inc. Method and system for sharded resource brokering
US9128745B2 (en) * 2012-12-27 2015-09-08 International Business Machines Corporation Automatically managing the storage of a virtual machine
US9792448B2 (en) * 2014-02-28 2017-10-17 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
US9798635B2 (en) * 2015-12-11 2017-10-24 International Business Machines Corporation Service level agreement-based resource allocation for failure recovery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060256105A1 (en) * 2005-05-13 2006-11-16 Scarlata Vincent R Method and apparatus for providing software-based security coprocessors
US20110061045A1 (en) * 2007-12-20 2011-03-10 Virtual Computer, Inc. Operating Systems in a Layerd Virtual Workspace
US8024442B1 (en) * 2008-07-08 2011-09-20 Network Appliance, Inc. Centralized storage management for multiple heterogeneous host-side servers
CN103176831A (zh) * 2011-12-22 2013-06-26 中国移动通信集团公司 一种虚拟机系统及其管理方法
US20130311778A1 (en) * 2012-05-16 2013-11-21 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment
US20140040887A1 (en) * 2012-07-31 2014-02-06 George Cristian Morariu Customized virtual machine creation

Also Published As

Publication number Publication date
US10095532B2 (en) 2018-10-09
AU2015253307A1 (en) 2016-12-01
US20150309829A1 (en) 2015-10-29
EP3137997A4 (en) 2018-11-07
EP3137997B1 (en) 2020-11-18
WO2015168169A1 (en) 2015-11-05
EP3137997A1 (en) 2017-03-08
EP3816798A1 (en) 2021-05-05
AU2015253307B2 (en) 2019-05-02
CA2947151C (en) 2023-05-09
CA2947151A1 (en) 2015-11-05
CN106462441A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106462441B (zh) 通过虚拟化提供过量计算资源
US11368517B2 (en) Secure automated resource-exchange system
US10120668B2 (en) Optimizing resource usage and automating a development and operations deployment pipeline
US20180260251A1 (en) Use of nested hypervisors by a resource-exchange system to enhance data and operational security and to facilitate component installation
US10061689B1 (en) Distributed software testing
US9807153B2 (en) Managing user state of cloud desktops
US9875144B2 (en) Controlling virtual machine density and placement distribution in a converged infrastructure resource pool
US20200226521A1 (en) Methods and systems to optimize server utilization for a virtual data center
US20140040892A1 (en) Facilitating Customer-Initiated Virtual Machine Migration and Swapping
US20130067345A1 (en) Automated Desktop Services Provisioning
US9275408B1 (en) Transferring ownership of computing resources
US20210067512A1 (en) Locked-down cluster
KR20150124001A (ko) 클라우드 기반 웹 호스팅 시스템
US11475167B2 (en) Reserving one or more security modules for a secure guest
US10084784B1 (en) Restricting access to computing resources
US20160125488A1 (en) Methods and systems to allocate physical network cost to tenants of a data center
US9516106B2 (en) System and method for peer-to-peer management through policy and context replication
US20100250502A1 (en) Method and apparatus for contents de-duplication
CN114461380A (zh) 一种云桌面系统的虚拟硬件配置分配方法
US10554525B2 (en) Tracking usage of computing resources
US11645066B2 (en) Managing and distributing patches for multi-tenant applications
US11558387B2 (en) Validation of approver identifiers in a cloud computing environment
Goniwada et al. Cloud native services
CN114465765B (zh) 一种云桌面系统的客户端安全管理系统及方法
US10922666B1 (en) Resource management for logical and physical availability zones of a provider network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant