管理由多个计算系统执行程序技术方案

技术编号:9903949 阅读:82 留言:0更新日期:2014-04-10 19:36
说明了用于管理程序在多个计算系统(诸如被组织成多个组的计算系统)上的执行的技术。程序执行服务代表多个客户或其它用户管理程序的执行,并例如部分基于先前存储的程序的一个以上的副本的、可以从中获取所要执行的程序的副本位置,选择合适的计算系统来执行程序的一个以上的实例。举例而言,在某些情况下,选择合适的用以执行程序实例计算系统是部分基于是否在物理或逻辑上同其它资源(如程序的存储副本、正在执行的程序的副本、和/或可用计算系统)相邻的方式实现的。

【技术实现步骤摘要】
【专利摘要】说明了用于管理程序在多个计算系统(诸如被组织成多个组的计算系统)上的执行的技术。程序执行服务代表多个客户或其它用户管理程序的执行,并例如部分基于先前存储的程序的一个以上的副本的、可以从中获取所要执行的程序的副本位置,选择合适的计算系统来执行程序的一个以上的实例。举例而言,在某些情况下,选择合适的用以执行程序实例计算系统是部分基于是否在物理或逻辑上同其它资源(如程序的存储副本、正在执行的程序的副本、和/或可用计算系统)相邻的方式实现的。【专利说明】管理由多个计算系统执行程序分案申请说明本申请是申请日为2007年3月29日、申请号为200780020255.2 (国际申请号PCT/US2007/007601)的、题为“管理由多个计算系统执行程序”的专利技术专利申请的分案申请。
以下公开主要涉及管理程序在多个计算机系统上的执行,诸如通过在计算系统组之间以支持高效地获取被执行的程序副本的方式来交换程序副本。
技术介绍
容纳大量互联计算系统的数据中心目前已十分常见,此类数据中心的示例包括:由单个组织以及代表单个组织运营的私有数据中心,以及由实体(如企业)运营的、在多种商业模式下为客户提供对计算资源的访问权限的公共数据中心。举例而言,某些公共数据中心的运营商为客户所拥有的各种硬件提供网络访问、功能,以及安全安装设施,而其它公共数据中心的运营商则提供“全套服务”设施,后者还包括运营商的客户所使用的实际硬件资源。然而,由于通常的数据中心的规模和范围不断扩大,供应、管理物理计算资源的任务变得越来越为复杂。商品硬件虚拟化技术的出现为对管理具有不同需求的大量客户的大规模计算资源的问题提供了部分的解决方案。概况地说,虚拟化技术使多个客户能够有效和安全地共享各种计算资源。举例而言,诸如由VMWare、XEN、或User-Mode Linux提供的虚拟化技术使单个物理计算机能在多个用户之间共享。具体而言,可以为各个用户提供一个以上由单个物理计算机所寄居(hosted)的虚拟机,作为软件模拟的各虚拟机起独立逻辑计算系统的作用。各虚拟机使用户感到自己是给定硬件计算资源的唯一操作者和管理者,同时还在各种虚拟机之间提供应用程序隔离和安全功能。此外,某些虚拟化技术能够提供跨一个以上物理资源的虚拟资源,例如,单个虚拟机可以具有多个实际上跨多个独立物理计算系统的多个虚拟处理器。然而,在数据中心以虚拟或物理的方式寄居了大量针对一组不同客户的应用程序或系统的情况下,将产生一个问题,该问题涉及管理软件应用程序副本的存储、分发、以及获取。举例而言,应用程序可能很大,以至于(即使并非不可能)利用足够的存储资源来存储数据中心中的每个计算系统上的每个寄居应用程序的本地副本的代价是很高的。然而,如果可选地维护一个频繁向数据中心中需要执行那些应用程序的各计算系统发送应用程序副本的集中存储位置,那么就网络带宽资源而言这种方式的代价也是很高的。以这种可选方式,网络带宽将被应用程序复制传输独占,并且将会使正在执行的应用程序无法为其正常工作获得足够的网络带宽。此外,在等待应用程序副本传输等工作完成时,会对应用程序的执行引入很大的启动时延等。此类问题可能因其它因素(如频繁引入所要执行的新应用程序和/或频繁部署应用程序的后续版本)而进一步加剧。因此,鉴于这些问题,以有效的方式向执行应用程序的计算系统提供用于分发应用程序副本的技术以及提供各种其他优势是十分有益的。【专利附图】【附图说明】图1是一幅网络图,示出了多个计算系统在其中交换和执行程序的示例实施例。图2示出了存储和交换程序副本的多组计算系统的示例。图3是一幅框图,示出了适于管理程序在多个计算系统上的执行的计算系统的示例。图4A-4B示出了系统管理器模块的工作过程的实施例的流程图。图5示出了机器管理器模块的工作过程的实施例的流程图。图6示出了程序执行服务客户的工作过程的实施例的流程图。【具体实施方式】下面对用于对在多个计算系统上执行程序进行管理的技术予以说明。在某些实施例中,所述技术是代表程序执行服务执行的,所述程序执行服务用于代表该服务的多个用户(例如,客户)执行多个程序。在某些实施例中,程序执行服务可以利用多种因素(如选定计算系统可以从中获取所要执行的程序和/或用以执行程序实例的可用计算资源的副本的、先前存储的一个以上的程序副本的位置),以选择合适的计算系统来执行程序实例。举例而言,在某些实施例中,可以部分基于对已存储了程序的本地副本的计算系统的判断,来选择合适的计算系统来执行程序实例。在另一实施例中,可以部分基于对与每个存储了这样一个本地副本的一个以上的计算系统(在物理上和/或逻辑上)足够邻近的计算系统(如与确定的计算系统属于同一组的一个以上的其它计算系统)的判断,来选择合适的计算系统。在某些实施例中,可用于执行程序的多个计算系统可以包括通过能够在计算机之间交换数据的一个以上网络或其它数据交换媒介相互连接的多个物理计算机。多个计算系统可以,例如,位于同一物理位置(例如,数据中心),还可以被分成多个组,并且可以由一个以上的系统管理器模块以及由多个机器管理器模块加以管理,所述系统管理器模块总体负责所述多个计算系统,所述机器管理器模块各与一组相关,以管理各组中的计算系统。至少某些计算机可以分别包含足够的资源(例如,足够的可写内存和/或一个以上的足够的内存、CPU周期、或其它CPU使用度量、网络带宽、交换空间等),以同时执行多个程序。举例而言,在某些此类实施例中至少某些计算机可以分别寄居多个虚拟机节点,所述虚拟机节点可以分别为独立用户执行一个以上的程序。如前所述,至少在某些实施例中,可以诸如基于在物理或逻辑上十分接近、或具有公共数据交换媒介等准则,将受程序执行服务管理的多个计算系统组织成多个独立的组(例如,每个计算机属于一个单独的组)。在一示例中,组的公共数据交换媒介可由在组中的计算系统之间提供高带宽通信的单个网络交换机和/或机架背板予以提供(例如,与网络交换机或机架背板相连接的部分或全部计算系统可以是组中的成员)。每组计算系统还可以通过一个以上其它数据交换媒介(例如与组的公共数据交换媒介相比带宽较低的其它数据交换媒介(例如,基于以太网的配线、无线连接,或其它数据连接))与其它计算系统(例如,其它组的计算系统,或不受程序执行服务管理的远程计算系统)相连接。此外,至少在某些实施例中,某些或全部计算系统可以分别具有本地程序储存库(例如,硬盘或其它本地存储机制),所述程序储存库可用于例如在执行程序之前或执行程序时,存储执行所需的程序的本地副本。此外,至少在某些实施例中,每组多个计算系统可以使用该组中的一个以上的计算系统来存储程序的本地副本,以供组中其它计算系统使用。在一说明性实施例中,程序执行服务可以包括执行于一个以上的计算系统上的软件设施,以管理程序的执行。软件设施可以包括一个以上的为各组一个以上的计算系统所用的机器管理器模块,所述机器管理器模块管理该组中计算系统的程序获取、程序存储以及程序执行。举例而言,可以为各独立物理计算机配备独立的机器管理器模块,例如物理计算机的机器管理器模块可以执行于该计算机的至少一个虚拟机上。此外,在某些实施例中,软件设施可以包括一个以上执行于一个以上的计算系统上本文档来自技高网...
管理由多个计算系统执行程序

【技术保护点】
一种计算机执行的方法,包括:程序执行服务的一个或更多个计算系统从程序执行服务的客户端接收一个或更多个请求,接收到的一个或更多个请求至少包括对操作系统的指示以及与执行操作系统有关的配置信息;由所述一个或更多个计算系统选择程序执行服务的一个或更多个计算节点,以用于执行所指示的操作系统;以及由所述一个或更多个计算系统引起一个或更多个所选计算节点在一个或更多个虚拟机内执行所指示的操作系统的一个或更多个实例,执行的引起至少部分基于所接收的配置信息。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:罗兰·帕特森琼斯克里斯托弗·C·平卡姆本杰明·托布勒威廉·R·范比林加百利·斯密特克里斯托夫·布朗昆顿·R·胡利
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:美国;US

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

1