用于动态管理计算容量请求的方法和系统技术方案

技术编号:8687907 阅读:225 留言:0更新日期:2013-05-09 07:45
描述了用于动态管理对来自计算资源提供者的计算容量的请求的系统和方法的实施方案。举例来说,所述计算资源可以包括程序执行能力、数据存储或管理能力、网络带宽等。所述系统或方法自动分配用于执行与用户相关的一个或多个程序的计算资源。所述系统和方法可以使所述用户能够在所述一个或多个程序的执行已开始之后改变所分配的资源。

【技术实现步骤摘要】
【国外来华专利技术】用于动态管理计算容量请求的方法和系统相关申请案本申请要求2010年9月21日提交的美国非临时申请第12/887,241号的权益,该申请的公开内容的全文据此以引用的方式并入本文。
技术介绍
公司和机构运行使众多计算系统互连以支持其运营的计算机网络。计算系统可位于单个地理位置中(例如,作为局域网的一部分)或位于多个不同地理位置中(例如,经由一个或多个专用或公用的中间网络)。数据中心可以置放大量互连的计算系统,例如专用数据中心是由单个机构进行操作并且公用数据中心是由第三方进行操作以把计算资源提供给客户。专用和公用数据中心可以对数据中心、机构或其它客户拥有的硬件提供网络访问、电力、硬件资源(例如,计算和存储)和安全安装设施。为了帮助提高数据中心资源的利用率,虚拟化技术可以允许单个物理计算机主控作为到连接的计算机用户的独立计算机出现而操作作的虚拟机的ー个或多个实例。运用虚拟化,单个物理计算装置可以动态方式创建、維持或删除虚拟机。用户又可基于“按照需要”或至少基干“按照请求”请求来自数据中心的计算机资源并且具备不同量的虚拟机资源。随着数据中心的规模和范围増大,提供、支配和管理数据中心的物理和虚拟计算资源已变得越来越复杂。附图说明在附图各处,參考数字可以重用于指示參考元件之间的对应性。提供附图以示出本文描述的示例性实施方案且并非g在限制本公开内容的范畴。图1是示意地示出了可经由通信网络把计算资源提供给多个用户计算系统的程序执行服务的示例的网络图;图2A是被配置来管理程序执行服务的用户要用的计算资源的请求的交互请求管理器的阐释性组件的方框图;图2B示意地示出了程序执行服务的用户计算系统与交互请求管理器之间的示例性交互的网络图;和图3A和图3B是示出了由交互请求管理器组件实施的交互请求管理器例程的流程图。图3C是示意地示出了交互请求管理器的实施方案可通过其与用户计算系统进行通信以用于修改分配的计算资源的设置的例程的示例的流程图。图4是示意地示出了交互请求管理器的实施方案可通过其与用户计算系统进行通信以提供供用户选择的多个虚拟化环境的例程的示例的流程图。具体实施例方式描述用于动态管理对来自计算资源提供者(程序执行服务)的计算容量的请求的系统和方法的实施方案。举例来说,计算资源可以包括程序执行能力、数据存储或管理能力、数据库管理能力、网络带宽、应用监控或日志记录、用于采取纠正措施以解决问题的能力等。在某些实施方式中,用户可请求生成可在当前或未来使用时段期间管理用户的计算机资源的虚拟化环境。例如,用户可请求生成可在使用时段期间运行用户的自定义软件应用和为用户管理或预约合适的程序执行容量、数据存储容量、数据库管理选项和/或网络带宽的虚拟化环境。计算资源提供者可确定提供者的计算机资源中的哪些可用于满足用户的请求并且可在请求的使用时段期间把这些计算机资源分配给用户。可以高度灵活地选择用户请求的使用时段和/或其它參数以满足用户的计算机资源需要。用户请求可以包括用于指定用户的偏好、限制和/或需求的一个或多个用户可选择參数。例如,用户请求可指定在使用时段期间执行某个特定程序(或多个特定程序)、在使用时段期间使用特定类型或地理分布的计算机资源、使用时段具有希望的开始日期、结束日期和/或持续时间等等。在某些实施方式中,计算资源提供者对可由用户提交的请求參数的范围施加很少的限制或没有限制。作为ー个可能的示例,用户可能够请求在可以包括在ー个或多个地理位置的计算机资源的一组计算机资源上执行特定程序。用户可能够使用应用编程接ロ(API)或其它类型的计算接ロ把程序和程序执行參数传达到程序执行服务,用于生成虚拟化环境。例如,用户可以使用Web应用档案文件(如Java WAR文件)上传软件应用。接着,程序执行服务可以自动配置虚拟化环境(例如,“应用容器”),其可是包括用于用户程序的应用软件堆栈以及用于在程序执行服务上执行用户程序的一个或多个基础结构服务的运行时环境。应用容器可包括用户可选择的操作系统(例如,Linux、Windows等)、应用服务器(例如,ApacheTomcat)、系统或应用配置等。虚拟化环境可被配置来寄宿在特定URL处。基础结构服务可包括但不限于:负载平衡器,其用于跨请求的计算资源分布工作量;负载调节器,其响应于负载或需求变化而调节计算资源;监控接ロ,其允许用户监控程序、数据存储资源(例如,可伸縮容量块存储装置)等的执行。在某些实施方案中,用户可能够选择可包括在容器中的一个或多个程序或服务。例如,用户可能够从多个数据库模型(例如,关系数据库、SQL数据库、Oracle数据库等)中进行选择。在某些实施方案中,基础结构服务可被自定义用于用户而非作为多个用户之间共享的资源。例如,在某些这类实施方案中,负载平衡器可被单独自定义用于用户应用而非在程序执行服务的多个用户之间进行共享或分布。虚拟化环境的特定实施方案的可能优点是计算系统允许用户在希望的情况下具有灵活度和对应用容器的内容的控制。例如,在某些情况下,用户可以仅提供用户程序,并且计算系统可以自动管理由虚拟化环境使用的所有剰余基础结构的部署。在其它情况下,用户可以选择和/或配置包括在虚拟化环境中的ー个或多个基础结构服务。在某些情况下,用户可以选择在不同地理区域中的计算资源,以便实现用于用户应用的希望的部署拓扑。可以以任何希望的方式配置或选择部署拓扑。例如,部署拓扑可以基于用户的客户的位置或区域,以便改善应用的性能(例如,减小网络延时)。作为另ー示例,部署拓扑可以被配置来使用ー个或多个区域或地帯中的计算资源以例如通过改善应用对特定区域或地带中的计算资源的故障(例如,由于ー个区域或地帯中的不利天气状况)的复原能力来改善用户应用的稳健性。此外,在特定实施方案中,用户在执行程序期间保持对计算资源的访问,并且用户可以在执行期间控制某些或所有计算资源。例如,在某些这类实施方案中,用户在希望的情况下可以选择使用户应用脱离虚拟化环境。在特定收费实施方式中,计算机资源提供者可以向用户收取针对请求的预约费(例如,当准许该请求时)和/或对于在使用时段期间提供可用计算机资源的使用的使用费。各种类型或级别的费用安排是有可能的。例如,可以由用户请求用于直接用户的计算机资源(“按需资源”)。在某些此类情况下,用户可能不会支付预约费但可能支付更高使用费。作为另ー示例,用户可能会预约计算机资源以便在未来使用时段期间获得保证的可用性(“预约的资源”)。可以向用户收取进行预约的预约费并且还可基于在使用时段期间实际使用的计算机资源量向用户收取使用费。在某些这类情况下,预约资源的使用费可以从按需资源的使用费打折扣并且/或者可以在更接近使用时段之时而非更接近进行请求之时收取预约费。在另ー示例中,计算机资源提供者可以允许用户对未使用的计算机资源(“现货资源”)进行竞价。在某些这类情况下,计算机资源提供者可以设置基于资源供应和需求而变化的现货价格,并且可使资源可用于其竞价达到或超过现货价格的那些用户。现将參考g在阐释而非限制本公开内容的特定实施例和实施方案描述本公开内容的各个方面。图1是示意地示出了可经由通信网络108把计算资源提供给多个用户计算系统104的程序执行服务100的示例的网络图。例如,程序执行服务100可管理来自用本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.09.21 US 12/887,2411.一种用于动态管理对由程序执行服务提供的计算容量的请求的计算机实施方法,所述方法包括: 在提供多个计算节点的程序执行服务的控制下,其中每个所述计算节点可被配置来执行所述程序执行服务的多个用户的ー个或多个程序, 从所述程序执行服务的用户接收生成用于在请求时段期间执行用户应用的虚拟化环境的请求,所述请求包括与所述用户应用相关且允许所述程序执行服务至少部分基于所述用户应用执行程序的信息; 自动生成所述虚拟化环境,所述虚拟化环境包括由所述程序执行服务提供的一个或多个程序服务,所述程序服务包括:(I)负载平衡器,其被配置来跨所述多个计算节点中的一个或多个或者所述虚拟化环境的一个或多个实例分布工作量,(2)监控接ロ,其被配置来允许所述用户监控所述程序的执行,(3)负载调节器,其被配置来响应于对所述程序的执行的需求的变化而调节所述程序执行服务的计算资源,和(4)多个数据库管理服务; 从所述程序执行服务的所述多个计算节点确定可满足所述用户的所述请求的ー组计算节点; 在所述请求时段期间在所述ー组计算节点上执行所述虚拟化环境的ー个或多个实例; 从所述用户接收对所述虚拟化环境或对在所述请求时段期间在所述ー组计算节点上执行所述虚拟化环境的所述ー个或多个实例进行至少ー个更改的请求;和在所述请求时段期间自动实施所述至少ー个更改。2.根据权利要求1所述的方法,其还包括对所述用户提供用于请求生成所述虚拟化环境或请求改变所述虚拟化环境的计算接ロ。3.根据前述权利要求中任一项所述的方法,其中生成所述虚拟化环境的所述请求还包括对由所述程序执行服务使用以下项中的一个或多个的请求:(I)操作系统,(2)应用服务器,(3) —个或多个计算节点,其具有所希望的程序执行容量或地理分布,和(4)所述多个数据库管理服务中的至少ー个。4.根据前述权利要求中任一项所述的方法,其还包括: 自动识别所述一个或多个实例中的至少ー个的故障;和 自动启动用于在所述ー组计算节点上执行所述虚拟化环境的至少ー个新实例。5.根据前述权利要求中任一项所述的方法,其还包括: 自动识别所述一组计算节点中的至少ー个的故障; 自动分配来自所述程序执行服务的所述多个计算节点的至少ー个新计算节点;和 在所述至少一个新计算节点上自动执行所述虚拟化环境的至少ー个新实例。6.一种被配置来动态管理对计算服务的计算容量的请求的系统,所述系统包括: 计算机存储器,其被配置来存储用于动态管理对计算服务的计算容量的请求的ー个或多个程序模块,所述计算服务包括多个计算节点;和 交互请求管理器,其被配置来与所述计算机存储器进行通信和执行存储在所述计算机存储器中的...

【专利技术属性】
技术研发人员:李·A·阿奇森布莱恩·A·怀特皮特·D·科恩皮特·N·德桑蒂斯麦克海尔·盖博
申请(专利权)人:亚马逊技术有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1