CN101925887A - 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法 - Google Patents

用于描述应用程序以获得可管理性和高效扩展部署的系统和方法 Download PDF

Info

Publication number
CN101925887A
CN101925887A CN200980103816.4A CN200980103816A CN101925887A CN 101925887 A CN101925887 A CN 101925887A CN 200980103816 A CN200980103816 A CN 200980103816A CN 101925887 A CN101925887 A CN 101925887A
Authority
CN
China
Prior art keywords
service
channel
computer
services
computing platform
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
Application number
CN200980103816.4A
Other languages
English (en)
Other versions
CN101925887B (zh
Inventor
J·伯纳布-奥班
Y·A·哈利迪
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101925887A publication Critical patent/CN101925887A/zh
Application granted granted Critical
Publication of CN101925887B publication Critical patent/CN101925887B/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了用于操作可伸缩计算平台的系统、方法和计算机存储介质。接收描述所请求的服务的服务描述。在接收到该服务描述后,作出对所需资源和可用资源的判定。产生实例描述。将维持服务的部署所需的资源映射到计算平台的可用资源以便可以部署该服务。用服务的每一个部署来修改实例描述以允许服务的持续部署。

Description

用于描述应用程序以获得可管理性和高效扩展部署的系统和方法
背景
各计算机应用程序被开发成在特定计算平台上操作。传统上,计算平台被设计成控制单个计算机,并且结果,针对该计算平台设计的应用程序也被设计成在单个计算机上操作。因特网引入了将计算机程序部署到计算机的新方式。尽管部署方法改变了,但最终用户仍然期望计算机应用程序同样地操作,而不论它们是通过因特网部署的还是驻留在最终用户的计算机上的。
概述
本发明的各实施例涉及用于操作可伸缩计算平台的系统、方法和计算机存储介质。接收描述所请求的服务的服务描述。在接收到该服务描述后,作出对所需资源和可用资源的判定。将维持服务的部署所需的资源映射到计算平台的可用资源以便可以部署该服务。用服务的每一个部署来修改实例描述以允许服务的持续部署。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
以下参考附图详细描述本发明,附图中:
图1是适用于实现本发明的各实施例的示例性计算环境的框图;
图2是示出根据本发明的一实施例的用于操作可伸缩计算平台的示例性系统的框图;
图3是示出根据本发明的一实施例的用于操作可伸缩计算平台的示例性方法的流程图;
图4是根据本发明的各实施例的表示服务描述通过各部件的生命周期的示图;
图5是根据本发明的一实施例的示例性拓扑结构的图形表示;
图6是根据本发明的一实施例的表示负载平衡信道的框图;
图7是根据本发明的一实施例的表示有状态交换机信道的框图;
图8是根据本发明的一实施例的表示无状态交换机信道的框图;以及
图9是根据本发明的一实施例的服务部署演变的流程图。
详细描述
此处用细节来描述本发明的各实施例的主题以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。相反,发明人设想所要求保护的主题还可结合其他当前或未来技术按照其他方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。
本发明的各实施例涉及用于操作可伸缩计算平台的系统、方法和计算机存储介质。接收描述所请求的服务的服务描述。在接收到该服务描述后,作出对所需资源和可用资源的判定。将维持服务的部署所需的资源映射到计算平台的可用资源以便可以部署该服务。用服务的每一个部署来修改实例描述以允许服务的持续部署。
在另一方面,本发明提供一种用于操作可伸缩计算平台的方法。该方法包括接收对一个或多个服务的请求,其中一服务合同与对该服务的请求相关联。这些服务中的每一个都包括元素和信道,并且其中该信道是负载平衡器信道、有状态交换机信道、以及无状态交换机信道中的至少一个。该方法还包括接收对一个或多个服务的服务描述,其中服务描述包括应用程序配置设置、系统配置设置、以及资源引用中的至少一个。该方法继续确定部署一个或多个服务所需的资源以及确定可伸缩计算平台的至少一个可用资源,以下产生第一实例描述。一旦确定了所需资源和可用资源,则该方法包括映射这些资源以及部署一个或多个服务以生成结果。该方法随后继续传输所部署的服务结果。
在又一方面,本发明提供一种用于操作可伸缩计算平台的方法。该方法包括接收对一个或多个服务的附加请求,确定部署这些服务所需的资源,确定可伸缩计算平台的至少一个可用资源,产生第二实例描述,将部署这些服务所需的资源映射到可伸缩计算平台的可用资源,部署这些服务以生成结果并传送该结果。该方法还能够修改第一实例描述和第二实例描述以反映部署这些服务所需的资源到可伸缩计算平台的至少一个可用资源的映射。
本发明的再一方面提供一种包含在其上包含计算机可执行指令的一个或多个计算机存储介质上的计算机系统,该指令用于执行一种操作可伸缩计算平台的方法。该方法包括接收对服务的请求的接收组件、确定部署该服务所需的资源的资源确定组件、映射部署该服务所需的资源的资源映射组件、以及与部署该服务所需的映射资源相关联地部署该服务的部署组件,其中该请求包括具有部署与其相关联的服务所需的资源的描述的服务描述。
在简要描述了本发明的各实施例的概览后,以下描述适于实现本发明的各实施例的示例性操作环境。
大体上参考附图,并且首先具体参考图1,示出了适用于实现本发明的各实施例的示例性操作环境,并将其概括指定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应将计算环境100解释为对所示出的任一模块/组件或其组合有任何依赖性或要求。
各实施例可以在计算机代码或机器可使用指令的一般上下文中描述,机器可使用指令包括由计算机或诸如个人数据助理或其他手持式设备等其他机器执行的诸如程序模块等的计算机可执行指令。一般而言,包括例程、程序、对象、模块、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。各实施例可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。各实施例也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。
继续参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现模块116、输入/输出(I/O)端口118、I/O模块120、和说明性电源122。总线110可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。尽管为了清楚起见图1的各框用线条示出,但是在实际上,各模块的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等的呈现模块认为是I/O模块。而且,处理器具有存储器。发明人关于此点认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算机”或“计算设备”。
计算设备100通常包括各种计算机可读介质。作为示例而非限制,计算机可读介质可以包括随机存取存储器(RAM);只读存储器(ROM);电可擦除可编程只读存储器(EEPROM);闪存或其他它存储器技术;CDROM、数字多功能盘(DVD)或其他光或全息介质;磁带盒、磁带、磁盘存储或其他磁存储设备;载波或可用于对所需信息进行编码并且可由计算设备100访问的任何其他介质。
存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或I/O模块120等各种实体读取数据的一个或多个处理器。呈现模块116向用户或其他设备呈现数据指示。示例性呈现模块包括显示设备、扬声器、打印模块、振动模块等等。I/O端口118允许计算设备100在逻辑上耦合至包括I/O模块120的其他设备,其中某些设备可以是内置的。说明性模块包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、打印机、无线设备等等。
参考图2,示出了例示根据本发明的一实施例的用于可伸缩计算平台的示例性系统200的框图。计算平台200只是合适的计算平台的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应将计算平台200解释为对所示出的任一模块/组件或其组合有任何依赖性或要求。
继续参考图2,计算平台200包含接收组件212、服务描述生成组件214、资源确定组件216、资源映射组件218、部署组件220,它们全都经由网络210彼此通信。网络210可以包括但不限于,一个或多个局域网(LAN)和/或广域网(WAN)。这样的联网环境常见于办公室、企业范围计算网络、内联网和因特网中。因此,网络210不在此进一步描述。
计算平台200的一示例性实施例将各组件组装成实例化器(instantiator)240和部署器(deployer)250。资源确定组件216被组装到实例化器240中。资源映射组件218和部署组件220被组装到部署器250中。尽管计算平台200的所示实施例将本发明的各组件组装成所标识的特定部件,但本领域技术人员可以理解和明白,各部件不限于实例化器240和部署器250。本领域技术人员还可以理解和明白,各组件不限于所标识的特定部件,各组件也完全不必组装。
接收组件212接收对服务的请求。该服务是结构化实体,其中该结构是通过由接收组件212接收到的服务描述来确定的。使接收到的服务描述适合与被请求的服务相关联的服务合同。服务描述呈现一组配置设置、一系列输入接口、以及对其他服务的接口的一系列依赖性。为了使该服务成为结构化实体,其包括角色、群、以及信道的结构化集合。角色提供计算机程序的模板描述。角色是通过指示实现该角色的计算机代码、该角色所需的主存环境、配置设置、该角色的端点集、以及它们的性能的模型来描述的。角色的配置设置可包括由该角色的所有实例共享的集体设置或为该角色的每一实例所特有的个别设置。另外,角色的描述中包括的端点集还被分类成输入端点和输出端点。角色的输出端点提供从源元素到目标元素的输入端点的连接点。角色实例通过其端点进行通信。角色实例也由其描述中包括的资源来定义。角色也可被编组成一组角色以形成一个群。最小群大小由单个角色组成。因此,当不需要区分群和角色时,这两者可被描述成元素。服务还包括信道。信道在各元素之间通过这些元素的端点来建立连接。
接收组件212接收对服务和服务描述的请求。服务描述包括约束如何配置和部署服务的信息以及可用来分析该服务的性能的信息。另外,服务描述提供足够信息使得本发明可以分配并协调维持服务的部署所需的资源。
系统描述和实例描述包括概述该服务的元素和信道。实例描述由资源确定组件216产生,以合并概述包括在接收到的服务描述中的服务以及被确定为是部署该服务的特定实例所需要的资源的元素和信道。各元素和各信道之间的关系的描述表示该服务的拓扑结构。该拓扑结构描述各信道连接各个元素的各端点。如果信道或元素改变,则该服务的拓扑结构也改变。服务的拓扑结构包括涉及供该服务正确地运作的元素的连接性、该元素的输入端点与一服务的输入接口之间的路由、该元素的输出端点与一服务的依赖性之间的路由、所需要的每一元素的最小副本数量、与应当发生以避免中断该服务的维护有关的方针、可用来评估服务性能的性能参数的描述、将正确的映射通知给部署器250的角色之间的仿射的指示、以及元素之间的配置设置的传播的指示的信息。
系统描述中包括的帮助定义拓扑结构的信道可以采取各种形式。信道可以是负载平衡器信道、有状态交换机信道、以及无状态交换机信道中的任一个。负载平衡器信道将来自源元素的一个输出端点连接到目标元素的输入端点。来自源元素的通信量根据与该信道相关联的某一策略而被重新分配到目标元素之一。可以确定通信量的分配的策略的示例包括但不限于,均匀分布、最小成本路由、最短时间路由、仿射相关路由、或便于两个元素之间的连接的任何其他分配方案。负载平衡器信道具有处理任何数量的输入端点和输出端点的容量。源元素只需包括与负载平衡信道的负载平衡器相关联的虚拟地址的信息。负载平衡器随后将连接重新分配到多个目标元素而不论目标元素的数量。
根据本发明的一实施例的示例性负载平衡信道在图6的框图中示出并被概括地表示成参考标号610。期望多个源元素620、622和624与多个目标元素630和632建立负载平衡器信道连接。然而,多个源元素620、622和624不具有用于与目标元素630和632建立直接连接的必需信息。相反,源元素620、622和624具有定向到负载平衡器610的虚拟地址。源元素620、622和624因此与负载平衡器610相连接。负载平衡器610随后基于分配给该特定负载平衡器信道的策略将连接重新分配到目标元素630和632。
第二类信道是有状态交换机信道。有状态交换机信道与“m”个不同地址相关联,其中“m”是目标元素的实例的数量。在利用有状态交换机信道时,源元素知道“m”个目标元素的数量。源元素随后选择目标元素的该“m”个实例之一来与其进行连接。源元素因此包括对与其进行连接的哪一“m”实例的指定。信道内的路由器随后将该连接定向到适当的目标元素。一示例性而非限制性实施例允许源元素在每一源元素实例的配置中存储“m”个地址,并包括具有所请求的目标连接的所选“m”地址。有状态交换机内的路由器随后将该连接定向到适当的目标元素。
一示例性有状态交换机在图7的框图中示出。有状态交换机信道包括路由器710,多个源元素720、722、和724,以及多个目标元素730和732。源元素720、722和724中的每一个都知道两个目标元素730和732。因此,源元素720、722和724中的每一个做出选择以将它们的连接定向到一个或多个特定目标元素。该连接被定向到路由器710,路由器710将该连接分配给适当的目标元素730和/或732。
第三类信道,无状态交换机信道,需要源元素在目标元素之中进行选择。与有状态交换机信道不同,无状态交换机信道不需要从源元素配置目标元素地址。因此,无状态交换机信道允许源元素确定需要与目标元素进行连接,但在该连接中并未标识所选目标元素。无状态交换机信道中包括的路由器基于通信协议、另一元素提供的指令、或另一分配定向器将源元素与目标元素相连接。
一示例性无状态交换机信道在图8的框图中示出。无状态交换机信道包括路由器810和源元素820、822和824以及目标元素830和832。源元素820、822和824中的每一个都知道两个目标元素830和832。自源元素820、822和824的连接不包括供路由器810用于将连接分配给所标识的目标元素830或832的分配指示。相反,在这一示例性实施例中,路由器810基于从替换信道接收到的通信来分配该连接。结果,源元素820、822和824之间的连接是基于路由器810接收到的分配指示而连接到目标元素830和832的。
本领域普通技术人员可以理解和明白,图6、图7和图8中包括的示例性实施例本质上是示例性的,并且关于源元素、目标元素、连接元素的信道、或在每一信道内建立的连接的数量都不旨在是限制性的。
除包括服务的拓扑结构之外,服务描述还可包括配置设置和资源引用。配置设置包括应用程序配置设置和系统配置设置。应用程序配置设置是元素的定义的一部分,并且因此应用程序配置的声明和所得解释是元素的语义和行为所固有的。元素的应用程序配置设置可以是按实例的或者是共同设置。共同设置由元素的所有实例共享。按实例设置对元素的每一唯一实例而言可以具有不同的设置。
第二类配置设置是系统配置设置。系统配置设置是嵌入或合并在一角色群内的元素的属性。与元素的定义所固有的应用程序配置设置不同,系统配置设置改为由计算平台来解释和利用。系统配置设置的分配处于计算平台的控制之下,该计算平台在分配给该系统配置设置的策略内操作。
资源引用也可以包括在服务描述中。资源引用指示对访问计算平台提供的资源中的一些的需求。可用资源的种类由计算平台规定。资源的示例包括符合特定应用程序接口的本地文件系统空间,如文件、目录、以及驱动器集合资源。另外,日志流和事件计数器是由计算平台变为可用的资源的示例。
返回图2,实例化器240包括资源确定组件216。实例化器240的角色是创建基于服务描述和实例描述进行部署的服务。实例化器向部署器250提供服务的演变实例以通过部署组件220和资源映射组件218来进行部署。实例化器240利用为要部署的服务的实例所确定的资源以及服务描述来产生实例描述,以允许服务的初始部署或服务的渐进部署。不论其是初始部署还是渐进部署,实例化器240都确定服务的可用性。实例化器240根据与部署器250的协定利用资源确定组件216来确定部署服务所需的资源以及部署该服务的可用资源。资源确定组件216评估服务描述并确定应当如何配置该服务以缩放该服务来提供足够的服务容量以满足该服务的当前需求。为了配置该服务来进行缩放部署,资源确定组件部分地评估满足该服务的实例的需求所需的资源。资源确定组件216随后基于资源确定组件216对提供足够的服务容量所需和可用的资源的确定来产生实例描述。
部署器250接收实例化器240所提供的实例描述。部署器250利用资源映射组件218来将服务描述中详细描述的所需资源映射到物理设备和它们相关联的连接设置。资源可被映射到的物理设备的示例包括但不限于图1的计算设备100。另外,并且支持图1的计算设备100,资源可被映射到的物理设备是通常与数据中心相关联的设备,仅作为示例包括交换机、服务器、机架式设备、路由器、虚拟计算设备、远程计算设备、对等计算设备、专用计算设备、以及可分配计算设备。本领域普通技术人员可以理解和明白,所列出的物理设备不旨在限制服务描述所需的资源可被映射到的物理设备的范围。物理设备的连接设置可包括物理设备的IP地址或其他标识协议。
部署组件220部署服务。部署组件220利用资源映射组件218所执行的所需资源和可用资源的映射来部署资源确定组件216所产生的实例描述中所描述的服务。实例化器240和部署器250利用可伸缩计算平台200的各组件来部署服务。对该服务的每一新实例重复实例化器240和部署器250的各个动作所定义的循环。该服务的每一新实例用各种方式来利用可伸缩计算平台200的各组件以便在不发生服务断开的情况下以所需容量高效地提供该服务。
现在参考图3,根据本发明的一实施例的用于操作可伸缩计算平台的示例性方法300的流程图。一开始,如在框310所示,接收对服务的初始请求。对服务的初始请求包括服务合同和服务描述。服务合同概述要部署的服务的边界。该边界包括服务描述将考虑和遵循的要求、限制、和约束。接收到的对服务的请求可包括服务描述以及服务合同,或对服务的请求可以独立于服务描述和服务合同来接收。如此,构想了接收到对服务的请求、服务合同、以及服务描述的任何和全部组合。如在框310所示,接收对服务的请求,并且如在框315所示,接收服务描述。一旦接收到服务描述,则如在框320所示,确定维持该服务所需的配置和资源,如在框325所示,确定可用资源。在确定了维持该服务所需的资源和部署该服务的可用资源后,如在框330所示,产生该服务的实例描述。如在框3340所示,将所需资源映射到可用资源。如在框350所示,资源的映射允许部署在服务描述中描述的服务。在部署了服务后,如在框360所示,生成并传送结果。
如果接收到对该服务的附加请求,则如在框384所示,该方法返回以产生实例描述,如在框330所示。如果未接收到附加请求,则该方法等待重新生成实例描述的机会。这在框382处指示。
对于该服务的每一附加请求,部署该服务的新实例。在接收到附加请求后重新生成实例描述允许可伸缩计算平台针对实例描述的所需资源的变化以及用于部署的可用资源的变化进行调整。另外,重新生成实例描述允许将改进、新要求、性能改变、以及维护与该服务的每一新实例相合并。这允许可伸缩计算平台提供服务的持续部署,同时伸缩部署并合并新实例描述的各元素。
现在参考图4,示出了表示服务描述通过各部件的生命周期的示意图并被概括地指定为参考标号400。开发阶段410包括接收对新服务或对现有服务的改进的请求。在开发器阶段410,还可引入新要求。对新服务的请求、对改进的请求、以及新要求都被合并到开发器的服务描述以定义服务。将开发器的服务描述传递到实例化器部件阶段420,在那里确定所需资源和可用资源并且将开发器的服务描述更改成实例描述。将该实例描述传递到部署部件阶段430。部署实例描述所概述的服务。获得监视信息和数据中心改变,如物理设备信息。随后将监视信息、数据中心改变、以及部署状态传送到实例化部件,并且开发将合并到它们相应的实例描述以用于该服务的稍后实例。
现在参考图5,示出了示例性拓扑结构的图形表示并概括地指定为参考标号500。如先前参考图2所讨论的,该拓扑结构提供对该服务的各元素与各信道之间的关系的描述。拓扑结构500包括元素及其相关联的配置值,如参考标号502、504、508、510、512、516和518所示。另外,信道在参考标号506和参考标号514处表示。拓扑结构500示出在参考标号502和504处表示的元素与在参考标号508、510和512处表示的元素相连接。在这两组元素之间是信道,如在参考标号506处所示。该信道将连接分配给在508、510和512处表示的元素的适当输入端点。这些元素从它们的输出端点连接到在514处表示的信道。信道514随后将这些连接分配给在参考标号516和518处表示的元素。所得拓扑结构500包括在概述该服务的元素、信道、以及配置值的服务描述中。
现在参考图9,示出了服务部署演变的流程图,并概括地指定为参考标号900。如参考标号910所示,服务部署演变900以对新服务的请求开始,该请求造成服务的创建。如参考标号920所示,部署该服务,作为服务的第一实例930。服务生命周期如参考图3和图4所描述的那样继续。服务描述随服务的每一实例改变。如参考标号940所示,接收对该服务的第二请求并部署该服务,作为服务的第二实例950。该周期针对服务的“n”个实例来继续960。在该服务的第“n”个实例后,将该服务从可伸缩计算平台删除,如参考标号970所示。
如可以看到的,本发明的各实施例涉及用于操作可伸缩计算平台的系统、方法和计算机存储介质。接收描述所请求的服务的服务描述。在接收到该服务描述后,作出对所需资源和可用资源的判定。产生实例描述。将维持服务的部署所需的资源映射到计算平台的可用资源以便可以部署该服务。用服务的每一个部署来修改实例描述以允许服务的持续部署。
参考各具体实施例描述了本发明,各具体实施例在所有方面都旨在是说明性的而非限制性的。在不背离本发明范围的情况下各替换实施例对本发明所属领域的普通技术人员将变得显而易见。
从前述内容可知,本发明很好地适用于实现前述的所有目的和目标,并且具有对于该系统和方式是显而易见且固有的其他优点。可以理解,特定的特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下使用。这由权利要求书所构想并在其范围之内。

Claims (20)

1.一种包括在其上具有计算机可执行指令的一个或多个计算机存储介质上的计算机系统,所述计算机可执行指令用于执行一种操作可伸缩计算平台的方法,所述系统包括:
接收对服务的请求和服务描述的接收组件(212),所述服务描述具有部署与其相关联的服务所需的一个或多个资源的描述;
确定部署所述服务所需的一个或多个资源的资源确定组件(216);
基于所述服务描述和所述一个或多个资源来产生实例描述的实例描述产生组件(240);
映射部署所述服务所需的一个或多个资源的资源映射组件(218);以及
与部署所述服务所需的一个或多个所映射的资源相关联地部署所述服务的部署组件(220)。
2.如权利要求1所述的计算机系统,其特征在于,所述实例描述包括多个元素和一个或多个信道。
3.如权利要求2所述的计算机系统,其特征在于,所述多个元素中的每一个是角色和群中的至少一个。
4.如权利要求2所述的计算机系统,其特征在于,所述一个或多个信道中的每一个在所述多个元素中的两个之间建立连接。
5.如权利要求4所述的计算机系统,其特征在于,所述一个或多个信道中的每一个是负载平衡器信道、有状态交换机信道、以及无状态交换机信道之一。
6.如权利要求5所述的计算机系统,其特征在于,所述一个或多个信道中的至少一个是负载平衡器信道,并且其中所述系统还包括所述负载平衡器信道用来确定所述多个元素中的两个的一个或多个端点的负载平衡组件。
7.如权利要求5所述的计算机系统,其特征在于,所述一个或多个信道中的至少一个是有状态交换机信道,并且其中所述系统还包括所述有状态交换机信道用来连接所述多个元素中的两个的有状态交换组件。
8.如权利要求5所述的计算机系统,其特征在于,所述一个或多个信道中的至少一个是无状态交换机信道,并且其中所述系统还包括所述无状态交换机信道用来连接所述多个元素中的两个的无状态交换组件。
9.一个或多个其上包含计算机可执行指令的计算机存储介质,所述计算机可执行指令用于执行一种操作可伸缩计算平台的方法,所述方法包括:
接收对一个或多个服务的第一请求(310),其中所述请求包括对所述一个或多个服务的服务描述;
确定部署所述一个或多个服务所需的资源(320);
确定所述可伸缩计算平台的至少一个可用资源(325);
至少基于所述服务描述、所需资源、以及所述至少一个可用资源来产生第一实例描述(330);
将部署所述一个或多个服务所需的至少一个资源映射到所述可伸缩计算平台的所述至少一个可用资源(340);
部署所述一个或多个服务以生成结果(350);以及
传送所述结果。
10.如权利要求9所述的一个或多个计算机存储介质,其特征在于,接收到的对服务的第一请求和接收到的服务描述是作为一次接收或作为多次接收来接收的。
11.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述一个或多个服务中的每一个包括至少一个信道和多个元素。
12.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述至少一个信道是负载平衡器信道、有状态交换机信道、以及无状态交换机信道之一。
13.如权利要求12所述的一个或多个计算机存储介质,其特征在于,所述至少一个信道是负载平衡器信道,并且其中所述方法还包括确定所述多个元素的一个或多个端点。
14.如权利要求12所述的计算机系统,其特征在于,所述至少一个信道是有状态交换机信道和无状态交换机信道之一,并且其中所述方法还包括连接所述多个元素。
15.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述一个或多个元素中的每一个是角色和群中的至少一个。
16.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述方法还包括:
接收对所述一个或多个服务的附加请求;以及
产生对所述一个或多个服务的附加实例描述。
17.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述第一实例描述包括应用程序配置设置、系统配置设置、以及资源引用中的至少一个。
18.一个或多个其上包含计算机可执行指令的计算机存储介质,所述计算机可执行指令用于执行一种操作可伸缩计算平台的方法,所述方法包括:
接收对一个或多个服务的请求(310),其中所述一个或多个服务中的每一个都包括元素和信道,并且其中所述信道是负载平衡器信道、有状态交换机信道、以及无状态交换机信道中的至少一个;
接收对所述一个或多个服务的服务描述(315),其中所述服务描述包括应用程序配置设置、系统配置设置、以及资源引用中的至少一个;
确定与所述一个或多个服务的服务描述相关联地部署所述一个或多个服务所需的资源(320);
确定所述可伸缩计算平台的至少一个可用资源(325);
至少基于所述服务描述、所需资源、以及所述至少一个可用资源来产生第一实例描述(330);
将部署所述一个或多个服务所需的至少一个资源映射到所述可伸缩计算平台的所述至少一个可用资源(340);
部署所述一个或多个服务以生成结果(350);以及
传送所述结果。
19.如权利要求18所述的一个或多个计算机存储介质,其特征在于,所述方法还包括:
接收对所述一个或多个服务的附加请求;
产生对所述一个或多个服务的附加实例描述;
确定与所述一个或多个服务的附加实例描述相关联地部署所述一个或多个服务所需的至少一个资源;
确定所述可伸缩计算平台的至少一个可用资源;
将部署所述一个或多个服务所需的至少一个资源映射到所述可伸缩计算平台的所述至少一个可用资源;
部署所述一个或多个服务以生成结果;以及
传送所述结果。
20.如权利要求19所述的一个或多个计算机存储介质,其特征在于,修改所述第一实例描述和所述附加实例描述以反映部署所述一个或多个服务所需的资源到所述可伸缩计算平台的至少一个可用资源的映射。
CN200980103816.4A 2008-01-28 2009-01-07 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法 Active CN101925887B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/020,890 US8893141B2 (en) 2008-01-28 2008-01-28 System and method for describing applications for manageability and efficient scale-up deployment
US12/020,890 2008-01-28
PCT/US2009/030269 WO2009097173A1 (en) 2008-01-28 2009-01-07 System and method for describing applications for manageability and efficient scale-up deployment

Publications (2)

Publication Number Publication Date
CN101925887A true CN101925887A (zh) 2010-12-22
CN101925887B CN101925887B (zh) 2014-10-29

Family

ID=40900540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980103816.4A Active CN101925887B (zh) 2008-01-28 2009-01-07 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法

Country Status (12)

Country Link
US (1) US8893141B2 (zh)
EP (1) EP2238542A4 (zh)
JP (1) JP5391207B2 (zh)
KR (1) KR101544359B1 (zh)
CN (1) CN101925887B (zh)
AU (1) AU2009209365B2 (zh)
BR (1) BRPI0906412B1 (zh)
CA (1) CA2710343C (zh)
RU (1) RU2502125C2 (zh)
SG (1) SG187505A1 (zh)
TW (1) TWI479415B (zh)
WO (1) WO2009097173A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103180823A (zh) * 2011-02-22 2013-06-26 因特伟特公司 软件产品的多维建模
CN107637042A (zh) * 2015-05-19 2018-01-26 亚马逊科技公司 用于应用程序部署的自定义通信信道
CN108431768A (zh) * 2015-12-30 2018-08-21 微软技术许可有限责任公司 应用特征的受控部署

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601253B2 (en) * 2008-04-24 2013-12-03 International Business Machines Corporation Dynamic provisioning in data processing environment
US9300532B2 (en) * 2008-10-24 2016-03-29 Microsoft Technology Licensing, Llc Automating deployment of service applications by exposing hosting environment constraints
US8661120B2 (en) * 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity
GB2503464A (en) 2012-06-27 2014-01-01 Ibm Allocating nodes in a service definition graph to resources in a resource catalogue according to node specific rules
US10225164B2 (en) * 2012-09-07 2019-03-05 Oracle International Corporation System and method for providing a cloud computing environment
US20140143752A1 (en) * 2012-11-16 2014-05-22 Level 3 Communications, Llc Systems and methods for providing environments as a service
US10241839B2 (en) 2013-12-04 2019-03-26 Nec Corporation Method and system for generating a virtual device resource accessible by an application
US9256467B1 (en) 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10171612B2 (en) 2015-12-28 2019-01-01 Microsoft Technology Licensing, Llc Caching service with client-enabled routing
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
KR20200038038A (ko) 2018-10-02 2020-04-10 한국전자통신연구원 다중 클라우드 상에서의 애플리케이션 관리 장치 및 방법
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997028505A1 (en) * 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
US6128509A (en) * 1997-11-07 2000-10-03 Nokia Mobile Phone Limited Intelligent service interface and messaging protocol for coupling a mobile station to peripheral devices
US6907395B1 (en) 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US20030004746A1 (en) 2001-04-24 2003-01-02 Ali Kheirolomoom Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components
US20020178254A1 (en) 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US6985939B2 (en) 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US20030078987A1 (en) * 2001-10-24 2003-04-24 Oleg Serebrennikov Navigating network communications resources based on telephone-number metadata
WO2003058375A2 (en) 2001-10-26 2003-07-17 Zeosoft Corporation Development, management of distributed clients and servers
US7310673B2 (en) 2001-12-21 2007-12-18 Hewlett-Packard Development Company, L.P. Network resource assignment system and method
US20030212898A1 (en) 2002-05-09 2003-11-13 Doug Steele System and method for remotely monitoring and deploying virtual support services across multiple virtual lans (VLANS) within a data center
WO2003098490A1 (en) 2002-05-16 2003-11-27 Agency For Science, Technology And Research A computing system deployment planning method
US20030233631A1 (en) 2002-06-13 2003-12-18 Ambrose Curry Web services development method
US20040148370A1 (en) 2003-01-23 2004-07-29 Electronic Data Systems Corporation System and method for composing, configuring, deploying, and managing services using a graphical user interface
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
DE602004011455T2 (de) * 2003-12-10 2009-01-22 International Business Machines Corp. Verfahren und System zur automatischen Erzeugung von Dienstschnittstellen für eine dienstorientierte Architektur
RU44841U1 (ru) * 2004-10-12 2005-03-27 Закрытое акционерное общество "ЛАБИ ЛАБС" СИСТЕМА УПРАВЛЕНИЯ ИНФОРМАЦИОННЫМ НАПОЛНЕНИЕМ СЕТИ (OSSr)
US7406689B2 (en) * 2005-03-22 2008-07-29 International Business Machines Corporation Jobstream planner considering network contention & resource availability
US20060245354A1 (en) 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for deploying and instantiating multiple instances of applications in automated data centers using application deployment template
JP4129988B2 (ja) 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
US7970856B2 (en) * 2006-06-02 2011-06-28 International Business Machines Corporation System and method for managing and distributing assets over a network
JP2008140052A (ja) * 2006-11-30 2008-06-19 Ricoh Co Ltd アプリケーションソフト及び情報処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103180823A (zh) * 2011-02-22 2013-06-26 因特伟特公司 软件产品的多维建模
CN103180823B (zh) * 2011-02-22 2017-05-17 因特伟特公司 用于有助于部署和执行软件产品的计算机实现的方法和设备
CN107637042A (zh) * 2015-05-19 2018-01-26 亚马逊科技公司 用于应用程序部署的自定义通信信道
CN108431768A (zh) * 2015-12-30 2018-08-21 微软技术许可有限责任公司 应用特征的受控部署
CN108431768B (zh) * 2015-12-30 2022-04-26 微软技术许可有限责任公司 应用特征的受控部署

Also Published As

Publication number Publication date
AU2009209365B2 (en) 2014-01-23
BRPI0906412B1 (pt) 2019-11-26
AU2009209365A1 (en) 2009-08-06
RU2010131472A (ru) 2012-02-10
US20090193426A1 (en) 2009-07-30
CA2710343A1 (en) 2009-08-06
CN101925887B (zh) 2014-10-29
TWI479415B (zh) 2015-04-01
KR20100126280A (ko) 2010-12-01
SG187505A1 (en) 2013-02-28
JP2011512578A (ja) 2011-04-21
US8893141B2 (en) 2014-11-18
EP2238542A4 (en) 2012-08-29
CA2710343C (en) 2016-08-30
EP2238542A1 (en) 2010-10-13
WO2009097173A1 (en) 2009-08-06
JP5391207B2 (ja) 2014-01-15
BRPI0906412A2 (pt) 2015-07-14
KR101544359B1 (ko) 2015-08-13
TW200937291A (en) 2009-09-01
RU2502125C2 (ru) 2013-12-20

Similar Documents

Publication Publication Date Title
CN101925887B (zh) 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法
CN102917018B (zh) 端点的负载平衡
US11546225B1 (en) Methods and systems for network planning with availability guarantees
CN103534687B (zh) 聚簇数据格网中的可扩展集中动态资源分配
US8046767B2 (en) Systems and methods for providing capacity management of resource pools for servicing workloads
US7877644B2 (en) Computer application performance optimization system
CN105324760A (zh) 预配置和预启动计算资源
CN108985774A (zh) 一种区块链网络的激励方法、装置、设备及存储介质
CN107743611A (zh) 动态云计算平台资源的最优分配
CN107548549A (zh) 分布式计算环境中的资源平衡
US20130346260A1 (en) Establishing an initial configuration of a hardware inventory
CN101361045B (zh) 用于管理数据中心内提供给用户的计算资源的方法和系统
CN106471773A (zh) 集成式全局资源分配和负载平衡
CN104885059A (zh) 云系统管理装置、云系统、重新配置方法、及程序
CN105075217B (zh) 实现随机数据服务的系统和方法
Antevski et al. Resource orchestration of 5G transport networks for vertical industries
CN105099997A (zh) 一种基于虚拟化基础架构的多媒体桌面交付方法和系统
CN104715044A (zh) 一种分布式系统及其数据操作方法
Hbaieb et al. A survey and taxonomy on virtual data center embedding
CN117149099B (zh) 一种计算存储分体式服务器系统及控制方法
US20220413925A1 (en) Dynamic clustering of edge cluster resources
Satpathy et al. GAMap: A Genetic Algorithm-Based Effective Virtual Data Center Re-Embedding Strategy
CN115766718A (zh) 跨平台的云主机资源管理方法及装置
Noor et al. Bepari: A Cost-aware Comprehensive Agent Architecture for Opaque Cloud Services
Çavdar A utilization based genetic algorithm for virtual machine placement in cloud computing systems

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150424

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150424

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.