用户定义的池的制作方法

文档序号:9438895阅读:227来源:国知局
用户定义的池的制作方法
【专利说明】用户定义的池
[0001]相关申请的交叉引用
[0002]本申请要求2013年4月2日提交的美国专利申请号13/855,449、2013年4月2日提交的美国专利申请号13/855,498和2013年4月2日提交的美国专利申请号13/855,518的权益,所述申请的公开内容以引用的方式整体并入本文。
【背景技术】
[0003]数据中心是容纳计算机系统和各种联网组件、存储组件和其他相关组件的设施。数据中心例如可向商家和个人提供计算服务作为远程计算服务或提供“软件即服务”(例如,云计算)。为了促进数据中心资源的利用,虚拟化技术可允许单个物理计算机器托管虚拟机的一个或多个实例,所述虚拟机作为独立计算机机器向所连接的计算机用户展现并操作。利用虚拟化,单个物理计算装置可按照动态方式创建、维护或删除虚拟机。
[0004]—些虚拟化技术能够提供跨越两个或更多个物理资源的虚拟资源,如具有跨越多个不同物理计算系统的多个虚拟处理器的单一虚拟机。作为另一示例,虚拟化技术可以通过为每个用户提供可以跨多个数据存储装置分布的虚拟化的数据存储而允许数据存储硬件在多个用户之间共享,其中每个这样的虚拟化的数据存储充当不同的逻辑数据存储,所述逻辑数据存储为用户提供了他们是数据存储资源的唯一操作者和管理员的错觉。
[0005]在许多环境中,实现不同类型的虚拟化计算资源、存储资源和/或其他网络可访问资源的数据中心的操作者可允许客户在各种资源获取模式下预留或购买对资源的访问。计算资源提供者可为客户提供设施来选择和启动所需的计算资源、将应用组件部署到计算资源并且维持在环境中执行应用。另外,由于对应用的需求或应用的容量要求改变,计算资源提供者还可为客户提供设施来手动地或通过自动扩展快速且容易地放大或缩小分配到应用的资源的数量和类型。可以离散的单元形式来获得由计算资源提供者提供的计算资源,所述单元可称为实例。可直接在物理服务器硬件平台上、在虚拟机内或在物理服务器硬件平台和虚拟机两者的某种组合内运行实例。可以获得各种类型和配置的实例,包括执行不同操作系统(OS)和/或管理程序且具有各种安装的软件应用、运行时间等的不同大小的资源。
【附图说明】
[0006]在所有附图中,参考数字可被重复使用来指示所参考元件之间的对应关系。提供附图来示出本文所述的示例实施方案,但并不意图限制本公开的范围:
[0007]图1是示出根据本公开的用于池化实例的机制的图;
[0008]图2是示出可以在一些实施方案中使用的示例计算系统的图;
[0009]图3是示出可以在一些实施方案中使用的示例计算系统的图;
[0010]图4是示出根据本公开的用于池化实例的系统的图;
[0011 ] 图5是示出根据本公开的用于池化实例的机制的图;
[0012]图6是示出根据本公开的用于池化实例的系统的图;
[0013]图7是示出根据本公开的用于池化实例的系统的图;
[0014]图8是示出根据本公开的用于使容量突发的系统的图;
[0015]图9是示出根据本公开的用于池化实例的系统的图;
[0016]图10是示出根据本公开的示例用户界面的图;
[0017]图11是示出根据本公开的示例用户界面的图;
[0018]图12是示出根据本公开的示例数据记录的图;
[0019]图13是描述根据本公开的用于池化实例的示例程序的流程图;
[0020]图14是描述根据本公开的用于池化实例的示例程序的流程图;并且
[0021]图15是描述根据本公开的用于池化实例的示例程序的流程图。
【具体实施方式】
[0022]提供者网络(如跨一个或多个数据中心实现的网络)可提供计算资源,如预留实例和现货实例(spot instance) 0预留实例可为客户提供将许多特定类型和配置的实例预留达固定期限(如一年或三年)的能力。现货实例可以是指使用现货价格政策的实例分配,在所述现货价格政策中客户可指定其愿意支付以使所述实例运行的每单位时间的最高价格。如果客户的最高价格超过至少部分地由供给和需求确定的动态现货价格,那么就可为客户运行所述实例。提供者网络可提供其他类型的实例。
[0023]在本公开另外描述的各种实施方案中,可为客户提供创建私有交易市场的能力,所述私有交易市场操作来根据在一些情况下可能与现货实例政策类似的竞价政策或定价政策向所选择的一群用户提供一组客户定义的客户的实例。例如,组织机构(如大学)可具有经由允许用户对预留实例进行竞价的私有交易市场提供的一组预留实例。在这个示例中,大学可向大学内的各院系提供所述一组客户定义的实例。各院系内的个人或计算机可在内部对预留实例进行竞价。在一个示例中,各院系可出价或使用一组定义的“货币”或竞价积分。除了货币或竞价积分,大学也可能够定制以下方面:如最低价格和最高价格、竞价/定价算法、中断周期以及可适用于资源类型(如现货实例)的其他参数。大学还可能够选择用于私有交易市场的其他类型的实例,如(下文另外描述的)分配的现货实例和按需实例。通过提供创建私有交易市场的能力,客户可更加有效地将其计算容量分布给所述私有交易市场的内部用户。这可减少在以这种方式分布容量时可能需要较少预留容量的客户的成本,并且提供者网络可增加其空闲容量的利用率。下文另外描述了私有交易市场的额外的实施方案。在本文所描述的各种实施方案中,私有交易市场可称为私有交易市场、有限的交易市场、用户定义的池、用户定义的市场、私有现货市场或用户定义的现货市场。
[0024]图1是示出根据本公开的系统100的图,所述系统100包括用于提供用户定义的池的机制。在图1中,系统100可包括可分别在例如一个或多个服务器计算机130、135和140上执行的预留虚拟机实例110、按需虚拟机实例115和现货虚拟机实例120。应理解,一些实施方案可包括可在额外的服务器计算机上被例示的各种类型的额外的虚拟机实例。
[0025]图1还示出可包括一个或多个计算机(如计算机160和170)的公共网络150。根据一个实施方案,实例110、115和120可被配置来经由网关190以及计算机160和170向公共网络150的计算机用户(未示出)提供计算服务。例如,预留的虚拟机实例110可向一群用户提供一组远程访问企业应用,所述用户例如可以是大学或其他教育机构的雇员。
[0026]在计算机160或170处的用户可向用户定义的池生成服务180发送针对创建用户定义的池或私有交易市场的请求。在一些实施方案中,服务器130或140可代表用户、代表服务器本身或代表其他服务器发送请求。响应于针对实例的请求,用户定义的池生成服务180可记录所述请求并且周期性地提供关于所述请求的状态的更新。用户定义的池生成服务180可与其他服务通信以促进创建所请求的私有交易市场。用户定义的池生成服务180例如可确定哪些实例与用户相关联并且提供用于促进用户的实例的选择、谁可请求所选实例或对所选实例进行竞价的选择以及定价政策或竞价政策的选择的界面。用户定义的池生成服务180还可在私有交易市场上线时向用户提供通知。
[0027]现在关于某些实例和实施方案描述本公开的各方面,所述实例和实施方案意图说明本公开而不是限制本公开。应理解,本文所呈现的主题可被实现为计算机进程、计算机控制的设备或计算系统或如计算机可读存储介质的制品。虽然本文所述的主题是在一个或多个计算装置上执行的程序模块的一般上下文中呈现的,但本领域的技术人员将认识到,可结合其他类型的程序模块来执行其他实现方式。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构以及其他类型的结构。
[0028]本领域的技术人员还应理解,本文所述的主题可在本文所描述的那些之外的其他计算机系统配置上或与其结合来实践,所述其他计算机系统配置包括多处理器系统、基于微处理器的消费性电子产品或可编程消费性电子产品、小型计算机、大型计算机、手持式计算机、个人数字助理、电子阅读器、蜂窝电话装置、专用硬件装置、网络设备等。本文所述的实施方案还可以在分布式计算环境中实践,在所述环境中由通过通信网络链接的远程处理装置来执行任务。在分布式计算环境中,程序模块可定位于本地和远程存储装置两者中。
[0029]在以下详细描述中,对形成本文的一部分并且通过说明、特定的实施方案或示例示出的附图进行参考。附图并未按比例绘制。在所有这几个图式中,相同的数字表示相同的元件。
[0030]由如公司或组织机构的实体或代表所述实体建立的用于将可经由互联网和/或其他网络访问的一种或多种服务(如各种类型的基于云的计算或存储)提供给一组分布式客户端的网络可称为提供者网络。这种提供者网络可包括托管可用来实现和分布由提供者网络提供的基础设施和服务的各种资源池的一个或多个数据中心,所述资源池如物理和/或虚拟化计算机服务器、存储装置、联网设备等的集合。在一些实施方案中,可将资源以所谓“实例”(如虚拟的或物理的计算实例或存储实例)为单元提供给客户端。虚拟计算实例例如可包括具有指定的计算容量(所述计算容量可通过指示CPU的类型和数量、主存储器大小等进行指定)和指定的软件栈(例如,特定版本的操作系统,其进而可在管理程序顶上运行)的一个或多个服务器。
[0031]在不同的实施方案中,许多不同类型的计算装置可单独或组合使用以实现提供者网络的资源,所述不同类型的计算装置包括通用的或专用的计算机服务器、存储装置、网络装置等。在一些实施方案中,例如可通过给予用户管理员登录名和密码来向客户端或用户提供对资源实例的直接访问。在其他实施方案中,提供者网络操作员可允许客户端指定针对指定客户端应用的执行要求并且代表客户端安排在适合于应用的执行平台(如应用服务器实例、Java?虚拟机(JVM)、通用或专用操作系统、支持各种解释的或编译的编程语言(如Ruby、Perl、Python、C、C++等)的平台或高性能计算平台)上执行应用。这可例如在不需要客户端直接地访问实例或执行平台的情况下完成。给定的执行平台在一些实现方式中可使用一个或多个资源实例;在其他实现方式中,多个执行平台可被映射到单个资源实例。
[0032]图2示出可实现本文所述的实施方案的示例计算环境。图2是示意性地示出数据中心210的示例的图,所述数据中心210可经由通信网络230通过用户计算机202a和202b (其在本文中以单数形式可称为“计算机202”或以复数形式可被称为“计算机202” )向用户200a和200b (其在本文中以单数形式可被称为“用户200”或以复数形式可被称为“用户200”)提供计算资源。数据中心210可被配置来提供用于永久性地或根据需要执行应用的计算资源。由数据中心210提供的计算资源可包括各种类型的资源,如数据处理资源、数据存储资源、数据通信资源等。每种类型的计算资源可以是通用的,或者可用于许多特定配置中。例如,数据处理资源可用作虚拟机实例。所述实例可被配置来执行应用,包括Web服务器、应用服务器、媒体服务器、数据库服务器等。数据存储资源可包括文件存储装置、区块存储装置等。
[0033]每种类型或每种配置的计算资源可以具有不同大小,如大型资源,其由许多处理器、大量存储器和/或大存储容量组成,以及小型资源,其由较少处理器、更少量的存储器和/或更小的存储容量组成。例如,客户可选择分配许多如Web服务器的小型处理资源和/或如数据库服务器的一个大型处理资源。
[0034]数据中心210可包括服务器216a和216b (其在本文中以单数形式可被称为“月艮务器216”或以复数形式可被称为“服务器216”),所述服务器提供可作为虚拟机实例218a和218b (其在本文中以单数形式可被称为“虚拟机实例218”或以复数形式可被称为“虚拟机实例218”)获得的计算资源。虚拟机实例218可被配置来执行应用,包括Web服务器、应用服务器、媒体服务器、数据库服务器等。可以提供的其他资源包括数据存储资源(未示出),并且可包括文件存储装置、区块存储装置等。
[0035]虚拟化技术对于计算硬件的可用性对于为客户提供大规模的计算资源并且允许在多个客户之间有效且安全地共享计算资源提供了益处。例如,虚拟化技术(如由VMware或其他虚拟化系统提供的那些虚拟化技术)可允许通过给每个用户提供由物理计算装置托管的一个或多个虚拟机实例而在多个用户之间共享物理计算装置。虚拟机实例可以是充当独特逻辑计算系统的特定物理计算系统的软件仿真。这种虚拟机实例在共享给定的物理计算资源的多个操作系统之间提供隔离。此外,一些虚拟化技术可提供跨越一个或多个物理资源的虚拟资源,如具有跨越多个不同物理计算系统的多个虚拟处理器的单个虚拟机实例。
[0036]参考图2,通信网络230例如可以是链接网络中的公共可访问网络并且可能由各个不同方操作,如互联网。在其他实施方案中,通信网络230可以是专用网络,例如像完全或部分地不能被非特许用户访问的公司或大学网络。在另外其他的实施方案中,通信网络230可包括具有对互联网的访问和/或从互联网进行的访问的一个或多个专用网络。
[0037]通信网络230可提供对计算机202的访问。计算机202可以是由客户200或数据中心210的其他客户使用的计算机。例如,用户计算机202a或202b可以是服务器、台式或膝上型个人计算机、平板计算机、无线电话、个人数字助理(PDA)、电子书阅读器、游戏控制台、机顶盒或能够访问数据中心210的任何其他计算装置。用户计算机202a或202b可(例如,经由电缆调制解调器或数字用户线路(DSL))直接连接至互联网。虽然仅描述了两个用户计算机202a和202b,但是应理解可存在多个用户计算机。
[0038]计算机202还可用来配置由数据中心210提供的计算资源的各方面。就这一点而言,数据中心210可提供Web接口,通过所述Web接口,可通过使用在用户计算机202上执行的Web浏览器应用程序来配置数据中心的操作的各方面。作为替代,在用户计算机202上执行的独立应用程序可访问由数据中心210公开的应用编程接口(API)用于执行配置操作。也可使用用于配置数据中心210的操作(包括部署对应用的更新)的其他机制。
[0039]图2所示的服务器216a和216b可以是被适当地配置用于提供上文所述的计算资源的标准服务器,并且可提供用于执行一个或多个应用的计算资源。在一个实施方案中,计算资源可以是虚拟机实例218。在虚拟机实例的示例中,服务器216中的每一个可被配置来执行能够执行虚拟机实例的实例管理器220a或220b (其在本文中以单数形式可被称为“实例管理器220”或以复数形式可被称为“实例管理器220”)。例如,实例管理器220可以是虚拟机监视程序(VMM)或被配置来允许在服务器216上执行虚拟机实例218的另一类型的程序。如上文所述,虚拟机实例218中的每一个可被配置来执行应用的全部或一部分。
[0040]应理解,尽管上文所公开的实施方案讨论了虚拟机实例的情形,但是其他类型的实现方式可与本文所公开的概念和技术一起使用。例如,本文所公开的实施方案也可与并不使用虚拟机实例的计算系统一起使用。
[0041]在图2所示的示例数据中心210中,路由器214可用来互连服务器216a和216b。路由器214还可连接至网关240,所述网关240连接至通信网络230。路由器214可在数据中心210中例如通过基于这类通信的特性(例如,包括源地址和/或目的地地址、协议标识符等的标头信息)和/或专用网络的特性(例如,基于网络拓扑等的路线)适当地转发数据包或其他数据通信来管理网络内的通信。应理解,为了简单起见,在这个示例中示出了计算系统和其他装置的各方面,而并未示出某些常规的细节。额外的计算系统和其他装置在其他实施方案中可被互连并且可以不同的方式互连。
[0042]应理解,在图2中示出的网络拓扑已大大简化,并且可使用更多的网络和联网装置来互连本文所公开的各种计算系统。这些网络拓扑和装置对本领域技术人员来说应是明显的。
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1