CN104781802B - 资源栈中的自定义资源 - Google Patents

资源栈中的自定义资源 Download PDF

Info

Publication number
CN104781802B
CN104781802B CN201380057645.2A CN201380057645A CN104781802B CN 104781802 B CN104781802 B CN 104781802B CN 201380057645 A CN201380057645 A CN 201380057645A CN 104781802 B CN104781802 B CN 104781802B
Authority
CN
China
Prior art keywords
resource
stack
user defined
provider
computing
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
CN201380057645.2A
Other languages
English (en)
Other versions
CN104781802A (zh
Inventor
A·扎辛哈尼
雷托·克雷默
P·扎亚拉曼
C·维塔克
V·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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Priority to CN201810163333.4A priority Critical patent/CN108268323B/zh
Publication of CN104781802A publication Critical patent/CN104781802A/zh
Application granted granted Critical
Publication of CN104781802B publication Critical patent/CN104781802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

基于资源栈模板创建由资源栈提供商管理的资源栈,该资源栈模板使用与第二提供商的通知系统将来自第二提供商的自定义资源整合到资源栈中。例如,客户可创建定义资源栈的模板,该资源栈包括从资源栈提供商可获得的资源以及通过第二提供商提供的一个或多个自定义资源。当创建了资源栈时,可供应从资源栈提供商可获得的资源。可通过通知自定义资源的提供商自定义资源与资源栈的所请求的整合以及所请求的配置细节来初始化自定义资源。当已经成功地初始化自定义资源时,自定义资源提供商可响应有成功整合的指示。在初始化资源之后,可启用资源栈以用于使用。

Description

资源栈中的自定义资源
发明背景
组织可利用各种计算资源,以支持他们的操作。计算包括各种类型的资源,诸如计算资源、数据存储资源和网络资源。计算资源通常被提供作为服务。该类服务的提供商可提供到机器的访问以托管应用、可提供存储以存储应用数据、可提供高速缓存以快速地响应所重复的数据请求以及可提供网络以实现资源之间的通信。可在数据中心(或多个数据中心中物理上托管资源并且通过其他远程地和以编程方式对资源进行管理。通过利用数据中心服务,客户可从提供商支付计算和/或资源使用,而不是购买预期的硬件需要。这使得客户能够根据需求扩展和缩短计算服务的使用。例如,应用可经配置根据需要而不是开发者或管理者监测和预期使用来请求更多的存储。这种按需基础设施模型可被称为基础设施即服务(IaaS)。IaaS模型中的资源集合通常被称为资源栈。
其他提供商模型包括平台即服务(PaaS)和软件即服务(SaaS)。在PaaS模型中,提供商提供开发者可构造应用的执行环境。例如,提供商可提供操作系统、程序设计语言执行环境、数据库和web服务器,其中客户可构造web应用。在SaaS模型中,提供商提供可由客户访问的应用。例如,客户可仅看到到应用的单个接口,但SaaS提供商可动态地扩展应用,以满足客户需求。
附图说明
将参考附图描述根据本公开的各种实施例,其中:
图1示出根据至少一个实施例具有资源栈的系统的说明性示例;
图2示出根据至少一个实施例具有资源栈的系统的说明性示例;
图3示出根据至少一个实施例的消息的说明性示例;
图4示出可根据至少一个实施例使用的过程的说明性示例;
图5示出可根据至少一个实施例使用的过程的说明性示例;
图6示出可根据至少一个实施例使用的过程的说明性示例;以及
图7示出可实施各种实施例的环境。
具体实施方式
在以下描述中,将描述各种实施例。出于解释的目的,阐述具体配置和细节,以便提供对实施例的彻底理解。然而,对本领域技术人员也将明显的是,可在没有具体细节的情况下实践实施例。此外,众所周知的特征可被省略或被简化以便不使所描述的实施例模糊。
本文所描述和建议的技术包括从资源栈模板创建由资源栈提供商管理的资源栈,其中资源栈模板将来自第二提供商的自定义资源整合为与第二提供商使用通知系统的资源栈。例如,资源栈提供商可提供工具以创建形成资源栈的相互依赖资源的集合。资源栈提供商可具有其管理的资源目录,该资源目录可被包括在资源栈中。包括那些不通过资源栈提供商管理的其他资源仍可被包括在目录中,以作为自定义资源用于资源栈中,即使自定义资源由自定义资源提供商管理。这允许不符合资源栈提供商的内部要求的资源被包括在资源栈中。自定义资源提供商可将模板、整合、配置和/或通信信息提供给资源栈提供商以在通信请求中使用,以用于创建、读取、更新和销毁作为资源栈的部分的自定义资源。可在被提供给用户的文档中描述模板的正确结构,该用户构造模板以构建资源栈。
在一个实施例中,客户可创建、选择或以其他方式指定定义资源栈的模板。资源栈可包括从资源栈提供商可获得的资源以及通过第二提供商提供的一个或多个自定义资源。模板还可提供关于将资源栈中的包括自定义资源的资源链接在一起的信息以及关于配置资源的信息。当创建资源栈时,可跟随资源栈模板。可确定资源之间的依赖关系并且可确定资源实例化的排序。可供应从资源栈提供商可获得的资源。可通过通知自定义资源的提供商所请求的自定义资源与资源栈的整合以及所请求的配置详细信息来初始化自定义资源。当已经成功地初始化自定义资源时,自定义资源提供商可用成功整合的指示作出响应。在成功地供应以及整合资源栈中的资源和自定义资源之后,可启用资源栈以用于使用。整合自定义资源的该资源栈的优点在于,可将由其他系统管理的资源整合到资源栈中。这可允许资源栈整合来自其他提供商的IaaS、PaaS和SaaS解决方案,其可通过提供商不可获得或者可优于来自资源栈的提供商的解决方案。
可响应于来自资源栈提供商的通知,通过自定义资源的提供商执行自定义资源的初始化。通知可包括以其他方式参考信息,该信息使自定义资源的提供商能够将自定义资源整合到资源栈。在一个实施例中,资源栈提供商构造消息,其包括独立部分和有效负载。独立部分可为自定义资源独立,并包括关于资源栈和/或模板的信息。有效负载可包括特定于自定义资源的配置的信息。自定义资源的提供商可然后使用来自通知的信息,以初始化自定义资源,以用于和与通知关联的资源栈一起使用。自定义资源提供商可然后将与资源栈成功整合的指示提供给资源栈提供商。在实施例中,该指示可包括成功/失败标识符、用于当与自定义资源交互时使用的自定义资源标识符以及特定于自定义资源的附加信息,诸如默认设置。在一些实施例中,经由返回消息返回该指示。在其他实施例中,通过将响应放置在存储位置中来返回该指示。在一个实施例中,使用消息传递服务,其中可通过消息接收器选择协议。
例如,web应用模板可包括web服务器、数据库和外部电子邮件服务。模板可指定web服务器、数据库和外部主服务之间的一个或多个依赖关系。例如,一个指定的依赖关系可要求在运行web服务器之前必须激活数据库和外部电子邮件服务。栈管理系统可接收请求以创建资源栈。使用模板,栈管理系统可导致创建工作流,其提供资源栈的资源,同时遵守由模板指定的任何依赖关系。栈管理系统的工作流处理系统可执行工作流,并使得在资源栈的其它资源之前提供数据库。工作流处理系统可然后通知外部电子邮件服务的管理系统请求了电子邮件服务与资源栈的整合。外部电子邮件服务的管理系统可响应于被通知将外部电子邮件服务与资源栈整合的需要,初始化外部电子邮件服务,以与资源栈整合。在成功地初始化外部电子邮件服务后,外部电子邮件服务的管理系统可然后返回电子邮件服务与资源栈成功整合的指示。该返回可包括对web服务器有用的进一步信息,以使用外部电子邮件服务,诸如外部电子邮件服务在网络栈中正确地操作所必需的认证凭证。
在供应、初始化和/或配置数据库和外部电子邮件服务之后,可供应web服务器。工作流处理系统可导致使用机器映像和配置来供应可被实施作为虚拟计算机系统的web服务器,这允许web服务器使用资源栈中的资源。机器映像可为用于以特定操作系统实例化虚拟计算机系统的一组数据。在一些实施例中,可从持久数据存储服务访问机器映像,并且可将该机器映像提供到块数据存储设备服务,其经由网络可操作地连接到计算资源服务(例如,程序执行服务),以使硬件主机能够利用机器映像以激活并操作作为虚拟计算机系统。一旦web服务器为激活的,则该示例中的工作流处理系统可实现用于使用的资源栈。实现用于使用的资源栈可包括重新配置一个或多个内部系统,以将资源栈的程序控制提供到为其供应资源栈的实体。
在一些实施例中,被传递用于通知的消息的独立部分包括栈标识符、逻辑资源标识符、唯一标识符、命名空间和上下文信息。栈标识符可提供可用于参考资源栈的值。逻辑资源标识符可为指向模板中的自定义资源的标识符。唯一标识符可唯一地识别消息,以便可丢弃重复消息。命名空间可定义标识符的范围,以考虑到类似标识符的歧义消除。上下文信息可提供关于资源栈构造的信息,诸如标识符。在一个实施例中,上下文包括存在于栈中的资源的唯一标识符和/或配置,以便当与栈中的资源通信时,自定义资源可指向栈中的具体资源。
如所讨论,可遵守资源模板中的依赖关系,同时供应资源栈的资源。依赖关系可为明确的或暗含的。可通过模板指定明确的依赖关系。例如,可通过模板将明确的依赖关系定义为第一资源,即在可构造第一资源之前必须使第二资源激活。模板中依赖关系的定义本身可为明确的和/或可为暗含的,例如,依据模板的架构中资源的相对位置。在另一个示例中,可通过资源构造的线性次序或有向非循环图(DAG)示出明确的依赖关系。暗含的依赖关系可不在模板中描述,而是从其他资源确定。在一些实施例中,给出确定暗含的依赖关系的外部规则集。在其他实施例中,资源和/或配置信息之间的连接可用于确定暗含的依赖关系。
用于模板中的自定义资源定义可由自定义资源的提供商创建,并且可由客户使用,以整合定义资源栈的模板中资源栈定义中的自定义资源。在一个实施例中,自定义资源的提供商定义关于自定义资源的有效信息,其可用于填充模板。提供商还可提供构造给提供商的通知和/或通知中的有效负载的生成器,其可用于与模板和自定义资源结合使用。生成器可为在计算机系统上实施的编程模块,其经配置至少部分基于模板和/或资源栈实施细节将模板中的自定义资源定义转换为至少有效负载。提供商还可提供配置器,其响应于通知消耗来自提供商的响应,并将配置和/或修改提供到资源栈中的资源,以整合自定义资源。配置器可为在计算机系统上实施的编程模块,其响应于来自自定义资源提供商的响应被执行,以完成自定义资源与其他资源的整合。
在一些实施例中,资源栈提供商和自定义资源提供商为服务提供商的子实体。例如,服务提供商包括资源栈提供商,其管理数据库、虚拟机器和存储设备的供应。服务提供商还可包括服务,其不通过资源栈提供商管理,而是可通过诸如搜索功能、电子邮件、日志发布和监测服务的自定义资源进行整合。在一个实施例中,资源栈提供商管理资源的选择并为已经具有管理功能的管理资源提供自定义资源构造。例如,资源栈提供商可提供诸如虚拟机器和存储的基础设施,同时允许诸如电子邮件和搜索服务的服务的自定义资源构造。可实际用通过提供商而不是栈管理系统管理的分离资源栈来构造服务。
本文所描述和建议的技术还提供方法,其中资源栈可通过该方法用于一起创建、读取、更新和销毁资源,包括自定义资源。在一个实施例中,用户可选择升级资源栈的部件,同时保持其他的部件。例如,用户可选择将特定类型的虚拟机实例升级为在一个或更多方面更有能力的虚拟机实例,诸如具有更多计算能力的虚拟机实例。用户可修改原始栈模板以包括更有能力的实例,或者使用用户接口以选择更有能力的实例以及请求改变。作为响应,可供应更有能力的实例。可改变依靠虚拟机实例的资源栈的设置,以使用更有能力的实例的新设置,诸如主机名称和/或因特网协议(IP)地址。在另一个实施例中,可修改自定义资源并且可更新设置以匹配所更新的自定义资源。例如,可修改模板以从自定义资源选择附加的监控服务,或者用户可从用户接口选择附加的监控服务,诸如web浏览器。可用关于所请求修改的信息将通知发送到监控服务的提供商。可返回与资源栈成功整合的指示。包括有指示的信息可用于进一步配置和/或修改资源栈中的其他资源,以整合改变。在已经成功地整合修改之后,资源栈可与修改一起使用。
在一个实施例中,使用自定义资源可导致成本归于客户的账户。成本可被施加到与自定义资源相关的账户或者与栈管理系统相关的账户。在一个实施例中,在自定义资源的提供商通知资源栈的提供商关于自定义资源的使用的情况下,可征收统一的账单。客户可支付从资源栈提供商接收的统一的账单,其中该资源栈提供商可然后支付自定义资源的提供商。在一些实施例中,自定义资源提供商可接收一定比例的使用费用,以用于资源栈的使用。
术语供应表示被广义地阅读为包括分配计算资源以使用。在一些实施例中,这包括准备用于使用的计算资源。在一个实施例中,资源的供应将包括服务器的分配、操作系统的安装、将被放置在资源上的软件的安装和配置并实现所构造的资源以使用。例如,供应系统可选择服务器,以作为web服务器使用。供应系统可然后创建工作流,其准备用于作为web服务器使用的服务器。作为工作流的部分,机器图象可被加载在服务器上。机器图象可包括操作系统、web托管软件和/或设置。在加载机器图象之后,服务器可被引导到启动操作系统,并接收任何进一步的软件和/或设置。该类设置可包括域名和/或网站以及安全性配置。在完成供应之后,可将服务器移交给管理系统,以作为web服务器和资源栈中的内含物使用。
现转向图1,示出了根据至少一个实施例的具有资源栈102的系统100的说明性示例。用户可创建模板104以定义资源栈102,以便自动创建系统,诸如支持web应用的系统。模板104可定义资源栈102的资源104、106和108的资源、连接、性质、依赖关系、识别和/或设置。模板104还可定义在模板104中所定义的资源之间的链接。链接可包括配置资源栈的资源,以经由网络彼此通信、传递请求、接收响应以及以其他方式相互操作。模板可定义资源栈的连接,诸如用于与资源栈使用的网络拓扑,其定义可用于资源栈内的资源的连接性和/或通信路径。当在本文中使用时,连接可被视为两个或更多资源之间的通信路径。可将模板104递交给栈管理系统110,以创建如在模板104中定义的资源栈102。栈管理系统110可对模板104进行解析并确定在资源栈102中构造资源104、106和108的顺序。栈管理系统110可与供应系统111通信,以管理资源栈102的供应。供应系统111可请求资源供应系统112供应由栈管理系统110的提供商管理的资源104和108。可通过经自定义资源消息传递114的通知从自定义资源管理器116请求自定义资源106的初始化来初始化自定义资源106。通知可包括对于将自定义资源106整合到资源栈102中所必需的信息,包括与资源104和108的任何连接。自定义资源管理器116可然后通过自定义资源消息传递114返回成功整合的指示。指示可包括设置,包括唯一标识符以识别自定义资源,其中可通过栈管理器系统将该唯一标识符施加到资源栈102中的资源104和/或108。自定义资源的示例可包括电子邮件服务、网站监控方案、日志轮询服务以及其他IaaS、PaaS或SaaS服务。
作为说明性示例,资源栈102可包括应用服务器、数据库和搜索引擎。搜索引擎可为在栈管理系统110的提供商的责任之外管理的自定义资源106。该种分离的管理责任的示例可包括在栈管理系统的提供商以外托管的硬件上实施的资源。分离管理的另一个示例包括在资源上实施的服务,其中该资源由相同的栈管理系统的提供商控制,但由除了栈管理系统的提供商以外的实体管理。分离管理的另一个示例包括一服务,其由相同的栈管理系统提供商实施,但作为分离的实体管理,以将服务的复杂性从自定义资源的用户隐藏。可通过由应用的开发者创建的模板104定义资源栈102。应用服务器和数据库的模板中的定义可使用由栈管理系统110识别的术语和变量。搜索引擎的模板中的定义可包括如通过栈管理系统110识别的定义与资源栈的整合的术语,以及也包括通过自定义资源管理器116识别的术语和/或选项。客户可请求使用模板104构造资源栈102。栈管理系统110可确定资源栈102中的应用服务器、数据库和搜索引擎的依赖关系。
为了遵守所确定的依赖关系,当请求资源供应系统112构造资源时,栈管理系统110可使供应系统111以根据依赖关系的顺序供应资源。在所示出的实施例中,资源供应系统112将首先构造应用服务器和数据库。供应系统111可然后向自定义资源管理器116构成通知,其包括关于资源栈102和特定于搜索引擎的配置的信息。配置可由程序提供,诸如配置生成器,其通过自定义资源的提供商被提供给供应系统111。配置生成器可与自定义资源定义关联,该自定义资源定义包含在模板中并且当遇到定义时被执行。可通过自定义资源消息传递系统114、协议或其他传递将通知发送到自定义资源管理器116。自定义资源管理器可使搜索引擎使用通知中所提供的信息与数据库和应用服务器整合。自定义资源管理器116可然后返回成功的指示,其还可包括关于搜索引擎的信息,以由资源栈102中的资源的配置使用和/或被引入到资源栈102中的资源的配置中。在实例化以及配置资源栈102中的资源之后,可启用资源栈102以用于使用。
可以用若干不同的方式实施自定义资源消息传递114。在一些实施例中,使用了通知服务。自定义资源管理器116可同意与自定义资源的初始化请求相关的通知服务的主题。通知服务可允许接收器创建主题(在一些合适的消息传递系统中,有时被称为话题),其中其他服务可向其请求公布。在一些实施例中,接收器可定义用于所公布消息的接收的协议。例如,电子邮件服务的自定义资源管理器116可为电子邮件服务创建自定义资源管理请求的主题。可通过自定义资源管理器116定制消息的递送,包括协议,诸如超文本传输协议(HTTP)、文件传输协议(FTP)或其他协议或者适用于从一个系统到另一个系统传递消息的协议的组合。当从供应系统111接收消息时,该通知服务可然后将消息推送到自定义资源管理器116。在一个实施例中,可将通知放置在指定位置中的存储设备上。诸如供应系统111或自定义资源管理器116的接收器可周期性地轮询位置,以确定是否要求了行为。在另一个实施例中,应用编程接口(API)调用用于传递消息。可标准化API接口以简化由供应系统111支持多样API的复杂性。在一些实施例中,可使用上述方法的组合。例如,通知服务可用于通知的传递,并且可通过将响应放置在存储器中来作出对通知的响应。可保护供应系统111和自定义资源管理器116之间的通信。例如,可出现消息的验证。将通过自定义资源管理器116执行仅用通过自定义资源管理器可验证的电子(例如,数字)签名由供应系统111电子签订的通知。可通过栈管理系统接受仅由自定义资源管理器签订的响应。
修改资源栈102中的资源104、106和108也可出现,同时保持资源栈102的整合。例如,可将数据库实例更新到更高容量的数据库实例。可供应新的数据库实例并且可将来自更小数据库实例的数据提供到新的数据库实例。可修改到资源栈102内的更小数据库的连接,以使用新的数据库实例。可更直接地修改由供应系统111管理的资源。可通过到自定义资源管理器116的通知来告知自定义资源106,该通知包括数据库的修改信息。与资源栈102的成功整合的指示可确认将修改成功地施加到了自定义资源106。
在一些实施例中,可作为整体修改资源栈102。在一个实施例中,模板104定义用于扩展资源栈102的选项。使用这些选项,用户可指示可扩展哪些资源或者可扩展所有资源。供应系统111可使资源供应系统112修改由供应系统111管理的资源,并通知自定义资源管理器116对资源栈102作出的改变以及所请求的自定义资源106的扩展。在其他实施例中,可对资源栈进行操作以形成副本、备份或者甚至进行删除。在复制操作期间,资源供应系统112在适当的位置根据进程复制计算资源,以用于管理计算资源,并作为关于资源栈的元数据的部分参考副本。供应系统111可然后通过自定义资源消息传递114将通知发送到自定义资源管理器116,以形成自定义资源106的副本。自定义资源管理器116可返回成功的指示以及对自定义资源114的副本的参考。对自定义资源114的副本的参考可然后与资源栈元数据一起被存储。重新构造副本可使用资源栈元数据,以参考在重新构造副本的请求中的资源,包括自定义资源。在另一个实施例中,可作为整体删除资源栈。可接收请求,其请求删除匹配栈标识符的资源栈。供应系统111可使资源供应系统112取消供应通过供应系统111管理的资源104和108。通知可被发送到自定义资源管理器116,其请求自定义资源114的销毁或引退。可经由供应系统111将成功销毁或引退的指示返回到栈管理系统110。可然后将成功或失败返回到请求删除栈的一方。
出于示出的目的,在本公开的整个范围内使用模板。然而,应认识到的是,可使用不必须使用本文所述模板创建资源栈的其它方法。作为一个示例,计算资源提供商的客户可通过API调用来导致栈的创建,该API调用提供用于创建栈的指令。在另一个实施例中,识别包含资源栈表示的存储位置的消息包含创建资源栈的请求。
在图1的实施的示例中,图2示出表示资源栈204的图示,该资源栈204包括提供商206管理的负载平衡器214、应用服务器216和数据库218的资源。在该说明性示例中,资源栈204还包括由提供商206之外的供应商208管理的电子邮件服务220。模板202可定义资源栈204以及资源214、216、218和220之间的连接。在所示出的示例中,应用服务器216连接到负载平衡器214、数据库218和电子邮件服务220。模板202还可定义依赖关系,诸如在初始化应用服务器216之前初始化电子邮件服务220和数据库218。模板202还可包含自定义资源术语,其导致配置生成器被执行并且产生至少配置信息,以发送到自定义资源管理器224。
作为请求创建资源栈204的结果,栈管理系统210可确定依赖关系并请求供应系统211,以根据所确定的依赖关系引起资源214、216、218和220的实例化。可通过实例化的次序和/或有向非循环图来表示这些依赖关系,其中每个节点为资源并且每个有向边为依赖关系。在所示出的实施例中,由于依赖关系,供应系统211可使资源供应系统212在应用服务器216之前供应负载平衡器214和数据库218。栈管理系统210还可在请求供应系统211供应应用服务器216之前,基于模板202信息和资源栈204配置来执行配置生成器,该配置生成器为自定义资源管理器224提供配置。供应系统211可然后使通知被发送到电子邮件服务220的自定义资源管理器224,该通知包括所生成的配置信息。自定义资源管理器可然后整合电子邮件服务220和资源栈204,并更具体地准备电子邮件服务220,以用于诸如通过提供访问凭证连接到应用服务器216。自定义资源管理器224可返回成功的指示,诸如消息,包括配置及其他信息,诸如访问凭证,其可用于配置应用服务器216。在已经满足了依赖关系之后,供应系统211可然后使资源供应系统212供应应用服务器216。供应系统211可进一步在请求资源供应系统212准备应用服务器以在资源栈中操作中包括来自负载平衡器214、数据库218和电子邮件服务220的配置。在完成资源栈的创建之后,资源栈可被启用以用于服务。在一个实施例中,如果任何资源未能实例化栈创建或使栈创建超出时间周期,则可认为栈失败并返回失败的原因。在一些实施例中,进一步处理所有成功实例化的资源以将其销毁。
由于栈管理系统210和/或供应系统211包含关于资源214、216、218和220中的每个的信息,因此所请求的对资源栈204的修改可被转送到资源214、216、218和220。例如,关于附加应用服务器216的信息可通过供应系统211被转送到负载平衡器214,以作为用于负载平衡的选项使用。还可通过通知222将应用服务器216的添加上报到电子邮件服务220,以使电子邮件服务220根据来自被批准的添加的连接进行操作。根据修改转送的信息可在提供商固有的模板中定义,可由操作自定义资源的供应商定义,或者以其他方式被提供到栈管理系统210和/或供应系统211。
现转向图3,示出了根据至少一个实施例的消息300的说明性示例。作为栈管理系统210遇到模板中自定义资源的定义以及请求供应系统211构造自定义资源的结果,可从图2的供应系统211将消息传递到自定义资源管理器224。图2的供应系统211可将诸如图3中示出的该消息300的通知222发送到自定义资源管理器224。消息300可包括资源独立部分304以及指向特定于自定义资源的信息的有效负载314。资源独立部分304可包括关于资源栈的信息以及资源栈中自定义资源的性质。在所示出的实施例中,供应系统301构建消息的资源独立部分304,其包括上下文305、栈标识符306、逻辑关联标识符308、命名空间310和资源标识符312。诸如唯一标识符的上下文305可唯一地识别消息,以便可丢弃重复和/或先前消息。上下文305还可提供关于资源栈构造的信息。栈标识符306可提供可用于参考资源栈的值。逻辑关联标识符308可为参考在触发该消息300的创建的模板中使用的自定义资源的标识符。命名空间310可定义标识符的范围,以考虑到类似标识符的歧义消除。资源标识符312可提供供应系统301对正被处理的自定义资源的参考。
消息300还可包括有效负载314。栈管理系统可将有效负载314当做应附接到消息300的信息二进制大对象(即,任意信息)而栈管理系统没有对有效负载314内的信息进行操作。在所示的实施例中,可通过模板303将有效负载定义为通过栈管理系统302处理以包括在消息300中。通过栈管理系统302处理模板303将模板303的指示提供到自定义资源管理器。在另一个实施例中,可通过注册有解析系统的配置生成器构造有效负载,该解析系统解析模板303并将所得有效负载提供给栈管理系统302,以包含在有效负载314中。解析系统可将模板解析为符号(token),诸如定义,其可用于构造、配置以及以其他方式对资源栈中的资源进行操作。在解析了自定义资源术语之后,解析系统可从模板303传递配置生成器信息和/或资源栈信息,以完成配置。配置生成器可然后生成有效负载314以附接到消息300。该有效负载314可包含特定于自定义资源的配置318,其可不被包含在消息300的资源独立部分304中。例如,图2中的电子邮件服务可在有效负载中提供配置318,其定义域、名称服务器和个人电子邮件地址。
现转向图4,示出了可根据至少一个实施例使用的过程400的说明性示例。过程可由任何合适的系统完成,诸如共同地由以上结合图1所述的系统完成,包括栈管理系统110、自定义资源管理器116、供应系统111、资源栈102、资源104和108以及自定义资源106。栈管理系统可接收402请求,以创建资源栈。例如,开发者可将对定义资源栈的模板的访问提供给测试者,以用于测试新版本的web应用。测试者可请求在在程序执行服务中的测试环境中创建资源栈,以便可完成新版本的测试。程序执行服务可确定是否批准了模板请求,并且如果是,则将请求提供到栈管理系统。
如所示出,栈管理系统可在其控制下并行供应403资源以及将消息发送404到自定义资源管理器,以不在栈管理系统的控制下初始化自定义资源。然而,应当注意的是,可按顺序而非必须并行地进行供应403资源以及发送404消息。栈管理系统可接收响应406作为发送消息的结果。响应可指示自定义资源的成功初始化,并提供关于自定义资源的信息,诸如由自定义资源管理器识别的标识符和/或凭证。在一些实施例中,自定义资源可最终一致,并且因此,成功的指示可不同于自定义资源准备好使用的指示。例如,最终一致存储可承认存储的请求为成功的指示,但存储直到后期可为不可用的。使用响应和资源,栈管理系统可配置408资源栈中的资源以与自定义资源整合。整合之后,可启用410资源栈。在一些实施例中,可立即使用启用的资源栈。在另一个实施例中,启用的资源栈可用于定制化,但不被激活用于其预期用途。
如过程400的实施例的说明性示例,栈管理系统可接收请求,以与连接到异地备份服务的web服务器创建栈,该异地备份服务存储每日增量备份。栈管理系统可供应web服务器,并将消息发送到异地备份服务,以为web服务器的每日增量备份请求位置的初始化。在一个实施例中,位置可为用于访问被提供用于备份的存储区域的URL。异地备份服务可返回响应和信息,其中响应识别经配置接收web服务器的每日增量备份的位置,信息用于保护与异地备份服务的连接。在一个实施例中,用于保护连接的信息可为凭证,其用于加密到异地备份服务的连接。栈管理系统可然后使用位置信息,以为每日增量备份配置web服务器。在完成资源栈的配置之后,可为用户启用包含web服务器和备份服务的资源栈,以自定义或激活。
过程400的一些或全部(或本文所描述的任何其他过程,或变型和/或其组合)可在以可执行指令配置的一个或多个计算机系统的控制下执行,并且可被实施作为通过硬件或其组合在一个或多个处理器上共同执行的代码(例如,可执行指令,一个或多个计算机程序或者一个或多个应用)。例如,可用计算机程序的形式在计算机可读存储介质上存储代码,该计算机程序包括由一个或多个处理器可执行的多个指令。计算机可读存储介质可为非暂时性的。
图5示出过程500的说明性示例,其可用于管理包含自定义资源的资源栈。过程500可为以上所讨论的过程400的变型。此外,过程可由任何合适的系统完成,诸如共同地由以上结合图1所述的系统完成,包括栈管理系统110、自定义资源管理器116、供应系统111、资源栈102、资源104和108以及自定义资源106。栈管理系统可接收502请求,以从描述资源栈中的资源的模板构造资源栈。例如,开发者可将对定义资源栈的模板的访问提供给测试者,以用于测试新版本的web应用。测试者可请求在程序执行服务中的测试环境中创建资源栈,以便可完成新版本的测试。程序执行服务可确定是否批准了模板请求,并且如果是,则将请求提供到栈管理系统。栈管理系统可确定504资源栈中的资源之间的依赖关系。如以上所讨论,可以用各种方式确定依赖关系的确定,包括依赖关系声明、通过栈管理系统的依赖关系的确定、默认规则或资源依赖关系的其他暗含或明确的定义。
在实施例中,栈管理系统使用所确定的依赖关系确定506模板中所定义的资源的构造顺序。从所确定顺序中的第一资源处开始,栈管理系统从模板访问508下一个资源以进行检查。为了举例,从模板检查下一个资源可包括确定510资源是否为自定义资源。如果确定510资源不是自定义资源510,而是由栈管理系统管理,则诸如通过配置到由模板定义的其它资源的连接将资源供应512到以及整合514到栈中。过程500的执行可包括确定524资源的构造是否已超过预定时间量(“超时”)。可通过计时器测量超时。在一些实施例中,超时为全局的并作为整体被施加到资源栈。在其他实施例中,给定资源栈中的每个资源个体超时。如果确定524超出524超时,诸如1小时到10小时间之间的超时或更具体的4小时,则可导致栈的创建失败525。在失败的实例中,在实施例中,可销毁通过栈管理系统管理的实例化资源。销毁资源可包括取消供应资源,以便可将支持资源的基础设施返回到有用基础设施池。还可通过发送给实例化自定义资源的管理系统销毁自定义资源的通知来销毁初始化的自定义资源。在一些实施例中,由于破坏自定义资源可导致数据的破坏,因此在没有用户干预的情况下,将不发送销毁的通知。该对失败的反应可由通过自定义资源的提供商设置的模板信息、用户设置和/或默认来控制。如果没有超过524超时并且完成526栈的创建,则可启用栈528以用于使用。如果确定524资源栈的构造还未超过超时,则可确定526是否完成了资源栈的构造。如果确定526资源栈的构造未完成,则可检查508下一个资源并且可如上所述进行过程500。
然而,如果确定510资源不是自定义的,则栈管理系统可基于模板信息、资源栈信息以及通过自定义资源的用户和/或提供商提供的其他信息来向自定义资源管理器构造516消息。可然后根据商定消息传递系统或协议将消息发送518到自定义资源管理器。栈管理系统可然后通过自定义资源管理器接收520与资源栈成功整合的指示。例如,可通过消息、API调用、存储位置处的存储或与栈管理系统的其他通信来发送指示。尽管未示出,但应认识到的是,如果已经出现了失败,则还可提供失败的指示。该种失败可包括被发送到自定义资源管理器的不正确的配置、创建自定义资源的失败以及/或者创建自定义资源的不足权限。可相应地修改过程500以处理该种失败。栈管理系统可然后执行522整合任务,以完成自定义资源的整合。如果没有526完全地实例化资源栈并且还未超过524超时,则可重复从操作508到操作524的资源初始化的循环。否则,如果还未超过524超时并且没有剩余用于实例化526的更多资源,则可启用528栈以用于进一步使用,诸如部署和/或个性化。
在一些实施例中,通知服务用于发送消息518并接收520成功的指示。在一个实施例中,使用通知服务。自定义资源管理器116可同意与自定义资源的初始化请求相关的通知服务的主题。消息的递送可由自定义资源管理器116定制,包括诸如HTTP、FTP、电子邮件、SMS、队列或其它协议的协议。当从供应系统111接收到消息时,通知服务可然后将消息推送到自定义资源管理器116。在另一个实施例中,可在指定位置中将通知放置在存储设备上。诸如供应系统111或自定义资源管理器116的接收者可轮询该位置,以确定是否要求了行为。在另一个实施例中,应用程序接口(API)调用用于传送消息。API接口可被标准化用于简化通过供应系统111支持多个API的复杂性。在其他实施例中,可使用上述方法的组合。例如,通知服务可用于传递通知,并且可通过将响应放置在存储中来作出对通知的响应。还可出现消息的验证。在一个实施例中,将通过自定义资源管理器执行仅由供应系统111表示的通知。
现转向图6,示出了过程600的说明性示例,其可由根据至少一个实施例的自定义资源管理器使用。可通过图1所示的系统完成该过程,包括栈管理系统110、自定义资源管理器116、供应系统111、资源栈102、资源104和108以及自定义资源106。自定义资源管理器可接收602请求,以整合提供的自定义资源与资源栈。自定义资源管理器可将请求解析604为独立部分和有效负载。自定义资源管理器可然后使用有效负载以确定606自定义资源的配置,以作为资源栈的部分构造。在一些实施例中,还可使用或唯一地使用独立部分,以确定自定义资源的配置。至少部分基于所确定的配置,自定义资源管理器可初始化608自定义资源,并配置自定义资源以与资源栈整合。例如,可在与栈管理系统的提供商分离的数据中心中通过供应商提供自定义资源。自定义资源的初始化可包括供应自定义资源、设置服务、创建数据库条目、构造凭证以及以其他方式准备自定义资源以用于与资源栈整合。在另一个示例中,可通过栈管理系统的提供商的子实体来提供自定义资源。自定义资源的初始化可包括在子实体的管理下构造第二资源栈。由于第二资源栈被看作自定义资源,因此第二资源栈的创建和管理可对于它们资源栈中的自定义资源的用户而言是透明的。
如果自定义资源的成功初始化为成功的,则自定义资源管理器可返回成功的指示以及资源栈的任何附加信息,诸如句柄、物理源标识符和/或自定义资源的识别以及其它设置。例如,如果自定义资源为监控方案,则附加信息可包括已经创建的警示。在一些实施例中,返回独立部分的一些或全部,以识别消息属于哪个资源栈。在其他实施例中,由于客户可选择自配置,因此可为客户访问而不是为栈管理系统访问返回附加信息。在一个示例中,自定义资源可为三维打印机,并且配置信息可为设计。在接收到通知后,三维打印机可构造设计。在完成设计后,三维打印机可发送成功构造自定义资源的指示。在另一个示例中,自定义资源可为众包(crowd-sourced)资源,诸如基于人类知识的资源。可向一群人提出问题,并且可选择最常见的回答且作为成功的指示的部分将其返回。
自定义资源管理器还可接收请求,以修改自定义资源。还可对请求进行解析,并确定所请求的修改。可根据所确定的请求修改自定义资源并将其重新整合回到资源栈中。在一些实施例中,诸如如果主机名称、地址或其他识别信息已经被改变和/或扩展以增加或减少一些接触点,则该重新整合可要求重新配置。一旦已经整合了修改,则自定义资源管理器可将成功整合的指示返回到栈管理系统。
由于自定义资源管理不受栈管理系统的控制,因此可以用不同的方式处理自定义资源的失败。例如,自定义资源提供商可拒绝响应,这是因为提供商的数据中心已经被损坏。来自通知的超时可保护栈管理系统以免过久地等待同意。可然后将超出的超时上报到调用实体,其已经请求构建资源栈。在一些实施例中,调用实体可选择对所检测的失败作出反应。在一个实施例中,可将资源栈操作期间的失败上报到调用实体。调用实体可选择作出反应,如此以不同的模板或自定义资源代替当前的模板或自定义资源。在另一个实施例中,可检测资源栈操作以外的操作失败,诸如创建、读取、更新和销毁,并且可通过其他系统确定响应。在一些实施例中,响应可包括请求修改资源栈。
资源栈提供商可以用市场格式提供其目录。客户可选择通过提供商管理的资源和/或通过自定义资源提供商管理的自定义资源。在一些实施例中,来自市场的选择可被包括在资源栈的模板中。在一个实施例中,自定义资源提供商可支付一次费用或再次出现的费用以包括在资源栈中包括的可用资源的目录中。提供商可然后接收使用自定义资源所产生的成本以及或者构造资源的费用。
模板可定义资源栈的不同方面,包括资源栈中资源的识别、资源的性质、参数、资源栈的资源之间的相互连接、资源栈外的连接、资源栈的配置、使资源执行的设置操作以及使资源执行的操作。在一个实施例中,模板可包括资源的层次定义。例如,模板可开始于资源栈的定义,其包含资源、自定义资源、执行资源或由资源执行的操作和资源间的连接的子定义。资源的每个子定义可进一步包含子定义,其包括选项、描述、参数、连接、子资源或适用于资源的其他相关定义。
图7示出用于实施根据各种实施例的方面的示例环境700的方面。如将理解的,尽管基于Web的环境用于解释的目的,但不同的环境可适当地用于实施各种实施例。环境包括电子客户端设备702,其可包括可操作用于经由合适的网络704发送及接收请求、消息或信息以及将信息传送回到设备的用户的任何合适的设备。该类客户端设备的示例包括个人计算机、蜂窝电话、手持消息传递设备、膝上型计算机、机顶盒、个人数据助理、电子书阅读器等等。网络可包括任何合适的网络,包括内联网、因特网、蜂窝网络、局域网络或任何其他该种网络或其组合。用于该种系统的部件可至少部分地取决于所选择的网络和/或环境的类型。经由该种网络进行通信的协议和部件是众所周知的,并且本文中将不进行详细讨论。可通过有线或无线连接以及它们的组合实现经由网络的通信。在该示例中,由于环境包括用于接收请求以及作为其响应提供内容的Web服务器706,因此网络包括因特网,但是对本领域普通技术人员明显的是,对于其他网络,可使用提供类似目的的可选设备。
说明性环境包括至少一个应用服务器708和数据存储区710。应当理解的是,可存在可为链接的或以其他方式配置的若干应用服务器、层或其他元件、进程或部件,其可相互作用以执行诸如从合适的数据存储区获得数据的任务。如本文所使用,术语“数据存储区”是指能够存储、访问及检索数据的任何设备或设备的组合,其可包括在任何标准、分布式或集群环境中的任何组合或数目的数据服务器、数据库、数据存储设备和数据存储介质。应用服务器可包括任何合适的硬件和软件,以根据需要用于与数据存储区整合以为客户端设备执行一个或多个应用的方面,以及为应用处理大量的数据访问和业务逻辑。应用服务器提供与数据存储区协作的访问控制服务,并能够生成诸如将被传送给用户的文本、图形、音频和/或视频的内容,其中可以以HTML、XML或该示例中另一种合适的结构化语言的形式通过Web服务器将该内容提供给用户。可通过Web服务器处理所有请求和响应的处理,以及客户端设备702和应用服务器708之间的内容的递送。应当理解的是,由于本文所讨论的结构化代码可在如本文其他地方所讨论的任何合适的设备或主机机器上执行,因此Web和应用服务器是不要求的并且仅仅为示例部件。
数据存储区710可包括若干分离的数据表、数据库或用于存储与特定方面相关的数据的其他数据存储机制以及介质。例如,所示出的数据存储区包括用于存储生产数据712和用户信息716的机制,其可用于为生产方提供内容。数据存储区还被示出为包括用于存储日志数据714的机制,其可用于上报、分析或其他该类目的。应当理解的是,可存在可需要被存储在数据存储区中的诸如用于页映像信息以及访问正确信息的许多其他方面,其可在合适时存储在以上列出机制的任一个中或在数据存储区710中的附加的机制中。数据存储区710通过与其关联的逻辑可操作用于接收来自应用服务器708的指令,以及作为其响应获得、更新或以其他方式处理数据。在一个示例中,用户可提交特定类型的项目的搜索请求。在这种情况下,数据存储区可访问用户信息以验证用户的身份,并且可访问目录详细信息以获得关于该类型项目的信息。可然后将信息返回给用户,诸如在用户能够经由用户设备702上的浏览器进行查看的Web页面上列出的结果中。可在浏览器的专用页面或窗口中查看特定的兴趣项目的信息。
每个服务器通常包括操作系统,其为该服务器的一般管理和操作提供可执行程序指令,并通常包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等等),其中当通过服务器的处理器执行该指令时,其允许服务器执行器预期的功能。服务器的操作系统和一般功能的合适实施是已知的或商业上可获得的,并且特别在本文所公开的启示下容易通过本领域的普通技术人员实施。
一个实施例中的环境为利用若干计算机系统和部件的分布式计算环境,该若干计算机系统和部件经由使用一个或多个计算机网络或直接连接的通信链接互连。然而,本领域普通技术人员应当理解的是,该种系统可同样在具有比图7中所示的更少或更多数目的部件的系统中操作。因此,图7中系统700的描述应被视为本质上为说明性的,并且不限制本公开的范围。
基于以下条款可更好地理解上述内容:
1.一种用于构造资源栈的计算机实施的方法,其包括:
在计算资源提供商的以及配置有可执行指令的一个或多个计算机系统的控制下,通过计算资源提供商接收请求,以构造由配置模板定义的资源栈,配置模板指定至少:从通过计算资源提供商提供的多个计算资源选择的计算资源;通过第二提供商提供的自定义计算资源;用于将计算资源和自定义计算资源整合到资源栈中的定义;通过至少以下步骤构造资源栈:至少部分地基于配置模板供应计算资源;将通知发送给第二提供商,该通知指导第二提供商配置自定义资源,以在资源栈中使用;从第二提供商接收对通知的响应,其包括成功配置自定义资源的指示;以及启用所构造的资源栈以用于使用。
2.根据条款1的计算机实施的方法,其还包括:将第二通知发送给第三提供商,该第二通知指导第三提供商配置第二自定义资源,以在资源栈中使用;从第三提供商接收对第二通知的第二响应,其包括成功配置第二自定义资源的第二指示。
3.根据条款1的计算机实施的方法,其中将通知发送到第二提供商还包括:构造通知以包括管理部分和有效负载,管理部分包括关于资源栈的配置的信息,并且有效负载包括由第二提供商定义的性质。
4.根据条款1的计算机实施的方法,其还包括:接收第二请求以修改由栈标识符识别的资源栈;将第二通知发送到第二提供商,该第二通知指导第二提供商至少基于第二请求修改自定义资源;从第二提供商接收对通知的第二响应,其包括成功修改的第二指示;以及启用对资源栈的修改的使用。
5.根据条款1的计算机实施的方法,其中第二提供商为第三方提供商。
6.根据条款1的计算机实施的方法,其还包括:至少部分地基于配置模板对资源栈中的资源的构造排序,以便遵守由配置模板定义的资源之间的依赖关系。
7.一种用于管理资源栈的计算机实施的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,接收请求,以构造包括计算资源和自定义资源的资源栈;供应计算资源;将消息发送到自定义资源管理器,该消息请求自定义资源与资源栈的整合;从自定义资源管理器接收响应,该响应指示自定义资源与资源栈的成功整合;以及启用具有所供应的计算资源和自定义资源的资源栈的操作。
8.根据条款7的计算机实施的方法,其中将消息发送到自定义资源管理器还包括构造消息以包括管理部分和自定义资源有效负载,管理部分还包括栈标识符、到自定义资源的逻辑关联标识符以及资源栈的上下文。
9.根据条款7的计算机实施的方法,其中将消息发送到所管理的资源还包括构造消息以包括管理部分和自定义资源有效负载,自定义资源有效负载包括特定于自定义资源管理器的信息。
10.根据条款7的计算机实施的方法,其还包括确定构造资源的顺序,以便遵守资源之间的所定义的依赖关系。
11.根据条款7的计算机实施的方法,其还包括为在管理资源栈的账目下的自定义资源的使用生成账单记录。
12.根据条款7的计算机实施的方法,其还包括通过第一提供商管理计算资源和资源栈,第一提供商与管理自定义资源的第三方提供商分离。
13.一种用于管理资源栈的计算机系统,其包括:一个或多个计算设备,其具有一个或多个处理器以及包括可执行指令的存储器,当通过一个或多个处理器执行该指令时,使一个或多个处理器执行至少以下方面:第一提供商的工作流处理系统,其经配置至少部分地基于模板创建资源栈,资源栈包括与自定义资源整合的计算资源,自定义资源由第二提供商管理;自定义资源通知系统,其经配置与第二提供商通信,以初始化自定义资源以及至少基于模板将自定义资源与计算资源整合;以及第一提供商的供应系统,其经配置至少部分地基于模板供应计算资源。
14.根据条款13的计算机系统,其中自定义资源管理器还包括应用编程接口,其经配置创建、读取、更新以及销毁作为资源栈的部分的自定义资源。
15.根据条款13的计算机系统,其还包括机器映像,其由供应系统使用以供应计算资源。
16.根据条款13的计算机系统,其中工作流处理系统还包括计时器,如果计时器超出超时阈值,则该工作流处理系统经配置导致资源栈创建失败。
17.根据条款13的计算机系统,其中自定义资源通知系统还包括与自定义资源管理器和第二提供商之间的消息传递系统的链接,该消息传递系统经配置允许通过第二提供商选择协议。
18.根据条款13的计算机系统,其还包括统一的计费系统,其从第二提供商接收成本信息,以与由使用计算资源导致的成本信息整合。
19.具有共同地存储于上面的可执行指令的一种或多种计算机可读存储介质,当通过计算机系统的一个或多个处理器执行该可执行指令时,使计算机系统至少:通过自定义资源管理器从栈管理系统接收请求,以将自定义资源管理器提供的自定义资源包括在资源栈中;通过自定义资源管理器接收模板的指示;准备自定义资源,以至少部分地基于请求和模板的指示与资源栈整合;以及发送对自定义资源与资源栈整合的请求的响应。
20.根据条款19的计算机可读存储介质,其中接收请求还包括接收包括独立部分和有效负载的请求,有效负载符合自定义资源管理器的规格并包括自定义资源的配置。
21.根据条款20的计算机可读存储介质,其中发送响应还包括构造响应,其包括包含在请求的独立部分中的资源栈标识符和逻辑关联标识符。
22.根据条款19的计算机可读存储介质,其中接收请求还包括:同意从其接收请求的主体;选择递送请求的协议;以及在将消息公开到主体之后接收请求。
23.根据条款19的计算机可读存储介质,其中:准备自定义资源以与资源栈整合还包括使资源栈从空资源栈状态转变为非空资源栈状态。
24.根据条款19的计算机可读存储介质,其中指令还包括当被执行时使计算机系统进行至少以下方面的指令:将包括通过资源栈使用自定义资源所引起的成本的消息发送到管理系统,该管理系统负责接收与资源栈相关的账单信息。
各种实施例可其还在广泛的操作环境中实施,其在一些情况下可包括一个或多个用户计算机、计算设备或可用于操作任何数目的应用的处理设备。用户或客户端设备可包括任何数目的通用个人计算机,诸如运行标准操作系统的桌面型或膝上型计算机,以及运行移动软件并能够支持许多网络和消息传递协议的蜂窝、无线和手持设备。该种系统还可包括许多工作站,其运行多种商业上可获得的操作系统中的任一种以及其他已知的应用,以用于诸如开发和数据库管理的目的。这些设备还可包括其他电子设备,诸如虚拟终端、瘦客户端、游戏系统以及能够经由网络通信的其他设备。
大多数实施例利用将对本领域技术人员熟悉的至少一个网络,以用于支持使用多种商业上可获得的协议中的任一种的通信,诸如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk。例如,网络可为局域网、广域网、虚拟专用网、因特网、内联网、外联网、公用交换电话网、红外线网、无线网及其任何组合。
在利用Web服务器的实施例中,Web服务器可运行各种服务器或中间层应用中的任一个,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用服务器。服务器还可能够诸如通过执行一个或多个Web应用来响应来自用户设备的请求执行程序或脚本,其中该一个或多个网络应用可被实施作为以任何编程语言诸如C、C#或C++或诸如Perl、Python或TCL的任何脚本语言以及其组合写入的一个或多个脚本或程序。服务器也可包括数据库服务器,包括但不限于从商业上可获得的那些。
环境可包括多种数据存储区以及如上所讨论的其他存储器和存储介质。这些可驻留在多种位置中,诸如在一个或多个计算机的本地(和/或驻留在一个或多个计算机上的)或者远离跨越网络的任何或所有计算机的存储介质上。在特定的实施例组中,信息可驻留在本领域技术人员所熟知的存储区域网络(“SAN”)中。同样地,可适当地本地存储和/或远程地存储用于执行归因于计算机、服务器或其他网络设备的功能的任何必要文件。在系统包括计算机化的设备的情况下,每个该种设备可包括可经由总线电耦合的硬件元件,该元件包括例如至少一个中央处理单元(CPU)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或键盘)以及至少一个输出设备(例如,显示设备、打印机或扬声器)。该种系统还可包括一个或多个存储设备,诸如磁盘驱动器,光存储设备以及诸如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储设备以及可移动介质设备、存储卡、闪存卡等等。
该类设备还可包括计算机可读存储介质阅读器、通信设备(例如,调制解调器、网卡(无线或有线)、红外线通信设备等等)以及如上所述的工作存储器。计算机可读存储介质阅读器可被连接或者经配置接收计算机可读存储介质,其表示远程、本地、固定和/或可移动的存储设备,以及用于临时和/或更永久地包含、存储、传递以及检索计算机可读信息的存储介质。系统和各种设备还通常包括许多软件应用、模块、服务或位于至少一个工作存储器设备内的其他元件,包括操作系统和应用程序,诸如客户端应用或Web浏览器。应当理解的是,可选实施例可具有来自上述内容的许多变型。例如,也可使用定制的硬件以及/或者特定的元件可在硬件、软件(包括便携式软件,诸如小程序)或两者中实施。进一步地,也可采用到诸如网络输入/输出设备的其他计算设备的连接。
用于包含代码或代码部分的存储介质和计算机可读介质可包括本领域中已知的或所使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于以任何方法或技术实施的易失性和非易失性、可移动和非可移动介质,以用于诸如计算机可读指令、数据结构、程序模块或其他数据的信息的存储和/或传递,包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备或可用于存储所需信息并可被系统设备访问的任何其他介质。基于本文提供的公开内容和教导,本领域的普通技术人员将理解其他方式和/或方法,以实施各种实施例。
说明书和附图因此被视为是说明性的而不是限制性的意义。然而,将明显的是,在不脱离如权利要求所阐述的本发明的更宽的精神和范围的情况下,可另外作出各种修改和改变。
其他变型都在本公开的精神内。因此,尽管所公开的技术易受各种修改和可选构造的影响,但是其某些示出的实施例被示出在附图中,并已在上面进行了详细的描述。然而,应当理解的是,无意将本发明局限于所公开的一种或多种特定形式,而是相反的,旨在覆盖落在如随附权利要求中所定义的本发明的精神和范围内的所有修改、替换构造和等效物。
术语“一(a)”和“一(an)”和“该”以及描述所公开实施例的上下文中(特别在以下权利要求的上下文中)类似所指对象的使用被解释为覆盖单数和复数,除非本文另外指出或者上下文明显矛盾。除非另外指出,否则术语“包括”,“具有”、“包括”和“包含”被解释为开放式术语(即,表示是“包括,但不限于,”)。术语“连接”被解释为部分地或全部地包含在内、附接到或连接在一起,即使中间存在某物。除非本文另外指出,否则本文中值的范围的列举仅旨在用作单独地参考落入范围内的每个单独值的速记方法,并且每个单独的值被并入说明书中,好像它在本文中被单独地列举一样。除非本文另外指出或者上下文另外清楚地矛盾,否则可以用任何合适的顺序执行本文所描述的所有方法。使用本文所提供的任何和所有示例或示例性语言(例如,“诸如”)仅旨在更好地阐明本发明的实施例,并且不构成对本发明的范围的限制,除非另外申明。说明书中的任何语言不应被解释为将任何未要求保护的元件指示作为本发明的实践所必需的。
本文中描述了本公开的优选实施例,包括发明人已知的用于执行本发明的最佳模式。在阅读了以上描述后,那些优选实施例的变型可对本领域的普通技术人员变得明显。发明人期望熟练的技术人员适当地采用该类变型,并且发明人期望以不同于本文所具体描述的其他方式实践本发明。因此,本发明包括如适用法律所允许的至此随附的权利要求中所详述的主题的所有修改和等效物。此外,除非本文另外指出或者上下文另外明显矛盾,否则本发明包括其所有可能变型中的上述元件的任何组合。
本文所引用的包括出版物、专利申请以及专利的所有参考以如同每个引用单独地且具体地指出通过引用并入并在本文中整体进行阐述一样的相同程度通过引用特此并入。

Claims (15)

1.一种用于构造资源栈的计算机实施的方法,其包括:
在第一计算资源提供商的以及配置有可执行指令的一个或多个计算机系统的控制下,
通过所述第一计算资源提供商接收请求,以构造由配置模板定义的资源栈,所述配置模板指定至少:
从通过所述第一计算资源提供商提供的多个计算资源选择的计算资源;
通过与所述第一计算资源提供商不同的第二计算资源提供商提供的自定义计算资源;
用于将所述计算资源和所述自定义计算资源整合到所述资源栈中的定义;
通过至少以下步骤构造所述资源栈:
通过所述第一计算资源提供商,至少部分地基于所述配置模板供应第一计算资源;
将通知发送给所述第二计算资源提供商,所述通知指导所述第二计算资源提供商配置所述自定义计算资源,以在所述资源栈中使用;
从所述第二计算资源提供商接收对所述通知的响应,所述响应包括通过所述第二计算资源提供商成功配置所述自定义计算资源的指示;以及
启用所构造的资源栈以用于使用,所构造的资源栈包括至少以下两者:通过所述第一计算资源提供商供应的第一计算资源和被整合到所构造的资源栈中的所述自定义计算资源。
2.根据权利要求1所述的计算机实施的方法,其还包括:
将第二通知发送给第三计算资源提供商,所述第二通知指导所述第三计算资源提供商配置第二自定义计算资源,以在所述资源栈中使用;
从所述第三计算资源提供商接收对所述第二通知的第二响应,所述第二响应包括成功配置所述第二自定义计算资源的第二指示。
3.根据权利要求1所述的计算机实施的方法,其中将通知发送到所述第二计算资源提供商还包括:
构造所述通知以包括管理部分和有效负载,所述管理部分包括关于所述资源栈的所述配置的信息,并且所述有效负载包括由所述第二计算资源提供商定义的性质。
4.根据权利要求1所述的计算机实施的方法,其还包括:
接收第二请求以修改由栈标识符识别的所述资源栈;
将第二通知发送到所述第二计算资源提供商,所述第二通知指导所述第二计算资源提供商至少基于所述第二请求修改所述自定义计算资源;
从所述第二计算资源提供商接收对所述通知的第二响应,所述第二响应包括成功修改的第二指示;以及
启用对所述资源栈的所述修改的使用。
5.根据权利要求1所述的计算机实施的方法,其还包括:
至少部分地基于所述配置模板对所述资源栈中的资源的构造排序,以便遵守由所述配置模板定义的所述资源之间的依赖关系。
6.一种用于管理资源栈的计算机实施的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
接收请求,以构造包括计算资源和自定义资源的资源栈;
供应所述计算资源作为所述资源栈的一部分;
将消息发送到自定义资源管理器,所述消息请求所述自定义资源到所述资源栈中的整合;
从所述自定义资源管理器接收响应,所述响应指示所述自定义资源到所述资源栈中的成功整合;以及
启用包括至少以下两者的所述资源栈的操作:所供应的计算资源和被整合到所述资源栈中的所述自定义资源。
7.根据权利要求6所述的计算机实施的方法,其中将消息发送到自定义资源管理器还包括构造所述消息以包括管理部分和自定义资源有效负载,所述管理部分还包括栈标识符、到所述自定义资源的逻辑关联标识符以及所述资源栈的上下文。
8.根据权利要求6所述的计算机实施的方法,其中将所述消息发送到所述管理的资源还包括构造所述消息以包括管理部分和自定义资源有效负载,所述自定义资源有效负载包括特定于所述自定义资源管理器的信息。
9.根据权利要求6所述的计算机实施的方法,其还包括为在管理所述资源栈的账目下的所述自定义资源的使用生成账单记录。
10.根据权利要求6所述的计算机实施的方法,其还包括通过第一提供商管理所述计算资源和资源栈,所述第一提供商与管理所述自定义资源的第三方提供商分离。
11.一种用于管理资源栈的计算机系统,其包括:
一个或多个计算设备,其具有一个或多个处理器以及包括可执行指令的存储器,当通过所述一个或多个处理器执行所述指令时,使所述一个或多个处理器执行至少以下方面:
第一提供商的工作流处理系统,其经配置至少部分地基于模板创建资源栈,所述资源栈包括与自定义资源整合的计算资源,所述自定义资源由与第一提供商不同的第二提供商管理;
自定义资源通知系统,其经配置与所述第二提供商通信,以初始化所述自定义资源,以及至少基于所述模板将所述自定义资源与所述计算资源整合以创建所述资源栈;以及
所述第一提供商的供应系统,其经配置至少部分地基于所述模板供应所述资源栈的所述计算资源。
12.根据权利要求11所述的计算机系统,其中所述自定义资源管理器还包括应用编程接口,所述应用编程接口经配置创建、读取、更新以及销毁作为所述资源栈的部分的所述自定义资源。
13.根据权利要求11所述的计算机系统,其还包括机器映像,所述机器映像由所述供应系统使用以供应所述计算资源。
14.根据权利要求11所述的计算机系统,其中所述工作流处理系统还包括计时器,如果所述计时器超出超时阈值,则所述工作流处理系统经配置导致所述资源栈创建失败。
15.根据权利要求11所述的计算机系统,其中所述自定义资源通知系统还包括与所述自定义资源管理器和所述第二提供商之间的消息传递系统的链接,所述消息传递系统经配置允许通过所述第二提供商选择协议。
CN201380057645.2A 2012-11-02 2013-11-01 资源栈中的自定义资源 Active CN104781802B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810163333.4A CN108268323B (zh) 2012-11-02 2013-11-01 资源栈中的自定义资源

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/668,151 US9058219B2 (en) 2012-11-02 2012-11-02 Custom resources in a resource stack
US13/668,151 2012-11-02
PCT/US2013/068088 WO2014071201A2 (en) 2012-11-02 2013-11-01 Custom resources in a resource stack

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810163333.4A Division CN108268323B (zh) 2012-11-02 2013-11-01 资源栈中的自定义资源

Publications (2)

Publication Number Publication Date
CN104781802A CN104781802A (zh) 2015-07-15
CN104781802B true CN104781802B (zh) 2018-03-23

Family

ID=50623438

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380057645.2A Active CN104781802B (zh) 2012-11-02 2013-11-01 资源栈中的自定义资源
CN201810163333.4A Active CN108268323B (zh) 2012-11-02 2013-11-01 资源栈中的自定义资源

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810163333.4A Active CN108268323B (zh) 2012-11-02 2013-11-01 资源栈中的自定义资源

Country Status (7)

Country Link
US (3) US9058219B2 (zh)
EP (1) EP2915055A4 (zh)
JP (2) JP6068670B2 (zh)
CN (2) CN104781802B (zh)
CA (1) CA2890303C (zh)
IN (1) IN2015DN03825A (zh)
WO (1) WO2014071201A2 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058219B2 (en) 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
US9667746B2 (en) 2013-01-16 2017-05-30 Oracle International Corporation Executing a debugging operation during deployment of a blueprint within a cloud system
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US10776244B2 (en) 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US9491072B2 (en) * 2013-07-09 2016-11-08 Oracle International Corporation Cloud services load testing and analysis
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US9967154B2 (en) 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
CN104462106A (zh) * 2013-09-17 2015-03-25 鸿富锦精密工业(深圳)有限公司 数据更新方法及系统
US10257026B1 (en) * 2013-12-19 2019-04-09 VCE IP Holding Company LLC System and method to manage interrelated devices in a computing infrastructure
US9817651B2 (en) * 2014-03-17 2017-11-14 Successfactors, Inc. Recommending updates to an instance in a SaaS model
US10516667B1 (en) * 2014-06-03 2019-12-24 Amazon Technologies, Inc. Hidden compartments
US10089476B1 (en) 2014-06-03 2018-10-02 Amazon Technologies, Inc. Compartments
US9405578B2 (en) * 2014-07-11 2016-08-02 Accenture Global Services Limited Intelligent application back stack management
US9832291B2 (en) * 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US10248435B2 (en) * 2015-08-27 2019-04-02 International Business Machines Corporation Supporting operation of device
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10318265B1 (en) * 2015-10-09 2019-06-11 Amazon Technologies, Inc. Template generation for deployable units
US9910692B2 (en) * 2016-01-26 2018-03-06 Intel Corporation Enhanced virtual function capabilities in a virtualized network environment
JP2017142722A (ja) * 2016-02-12 2017-08-17 日本電信電話株式会社 仮想計算機システムおよびvm起動制御方法
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10264099B2 (en) 2016-03-07 2019-04-16 Cisco Technology, Inc. Method and system for content closures in a content centric network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US11036696B2 (en) * 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US10762086B2 (en) * 2016-09-01 2020-09-01 Amazon Technologies, Inc. Tracking query execution status for selectively routing queries
CN107038073B (zh) 2016-12-23 2021-05-11 创新先进技术有限公司 资源处理方法及装置
US10284634B2 (en) * 2017-01-19 2019-05-07 International Business Machines Corporation Closed-loop infrastructure orchestration templates
US11403132B2 (en) 2017-07-11 2022-08-02 Red Hat, Inc. Managing tasks in a cloud computing environment using multiple orchestration tools
JP6981124B2 (ja) * 2017-09-14 2021-12-15 日本電気株式会社 システム構築支援装置、システム構築支援方法、及びプログラム
US11055134B2 (en) * 2017-11-30 2021-07-06 International Business Machines Corporation Performing an action on a composite of software instances
US10922141B2 (en) * 2017-12-11 2021-02-16 Accenture Global Solutions Limited Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling
US10621004B2 (en) * 2018-03-19 2020-04-14 Accenture Global Solutions Limited Resource control stack based system for multiple domain presentation of cloud computing resource control
US10942788B2 (en) 2018-06-15 2021-03-09 Vmware, Inc. Policy constraint framework for an sddc
US10812337B2 (en) 2018-06-15 2020-10-20 Vmware, Inc. Hierarchical API for a SDDC
CN113396393A (zh) * 2019-01-15 2021-09-14 微软技术许可有限责任公司 多租户paas组件的动态自动配置
US10708135B1 (en) * 2019-01-31 2020-07-07 EMC IP Holding Company LLC Unified and automated installation, deployment, configuration, and management of software-defined storage assets
JP7122270B2 (ja) * 2019-02-14 2022-08-19 株式会社日立製作所 アプリケーションソフトウェアの開発を支援するシステム及び方法
CN110515698A (zh) * 2019-08-16 2019-11-29 济南浪潮数据技术有限公司 一种资源申请方法、系统及电子设备和存储介质
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11221855B2 (en) * 2020-03-06 2022-01-11 International Business Machines Corporation Transformation of an enterprise application into a cloud native application
EP4078901A4 (en) 2020-04-01 2023-10-11 VMWare, Inc. AUTOMATIC DEPLOYMENT OF NETWORK ELEMENTS FOR HETEROGENEOUS COMPUTING ELEMENTS
US11573972B2 (en) 2020-05-27 2023-02-07 Red Hat, Inc. Automatically determining flags for a command-line interface in a distributed computing environment
US11803408B2 (en) 2020-07-29 2023-10-31 Vmware, Inc. Distributed network plugin agents for container networking
US11863352B2 (en) 2020-07-30 2024-01-02 Vmware, Inc. Hierarchical networking for nested container clusters
US11606254B2 (en) 2021-06-11 2023-03-14 Vmware, Inc. Automatic configuring of VLAN and overlay logical switches for container secondary interfaces
CN114090126A (zh) * 2021-11-23 2022-02-25 浩云科技股份有限公司 一种自定义系统变量方法、装置、终端设备及存储介质
US11902245B2 (en) 2022-01-14 2024-02-13 VMware LLC Per-namespace IP address management method for container networks
CN115145695B (zh) * 2022-08-30 2022-12-06 浙江大华技术股份有限公司 资源调度方法、装置、计算机设备和存储介质
US11848910B1 (en) 2022-11-11 2023-12-19 Vmware, Inc. Assigning stateful pods fixed IP addresses depending on unique pod identity
US11831511B1 (en) 2023-01-17 2023-11-28 Vmware, Inc. Enforcing network policies in heterogeneous systems
US12101244B1 (en) 2023-06-12 2024-09-24 VMware LLC Layer 7 network security for container workloads

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596620B1 (en) * 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US20040210479A1 (en) * 1996-10-25 2004-10-21 Ipf, Inc. Internet-based brand marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same
US7904333B1 (en) * 1996-10-25 2011-03-08 Ipf, Inc. Web-based electronic commerce (EC) enabled shopping network configured to allow members of a consumer product management team and authorized parties to communicate directly with consumers shopping at EC-enabled websites along the world wide web (WWW), using multi-mode virtual kiosks (MMVKS) driven by server-side components and managed by product team members
JPH1115849A (ja) * 1997-06-26 1999-01-22 Fujitsu Ltd サーバ連携制御方法
US20020198791A1 (en) * 1999-04-21 2002-12-26 Perkowski Thomas J. Internet-based consumer product brand marketing communication system which enables manufacturers, retailers and their respective agents, and consumers to carry out product-related functions along the demand side of the retail chain in an integrated manner
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US7085834B2 (en) 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US20020087734A1 (en) 2000-12-29 2002-07-04 Marshall Donald Brent System and method for managing dependencies in a component-based system
US7352853B1 (en) 2001-05-22 2008-04-01 Cisco Technology, Inc. Automation of customer premises equipment provisioning in a telecommunications network
US6766364B2 (en) 2002-01-15 2004-07-20 Telcordia Technologies, Inc. Template based configuration and validation of a network for enabling a requested service to be compatible with the previously enabled services
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
JP3901060B2 (ja) 2002-08-28 2007-04-04 日本電気株式会社 アプリケーションの更新処理方法、更新処理システム及び更新処理プログラム
US7383550B2 (en) * 2002-12-23 2008-06-03 International Business Machines Corporation Topology aware grid services scheduler architecture
US20050021688A1 (en) 2003-02-25 2005-01-27 David Felts System and method for domain configuration
FR2851870A1 (fr) * 2003-02-28 2004-09-03 France Telecom Organe de mediation multi-domaine multi-fournisseurs entre fournisseur de service applicatif et fournisseur de ressource dans un reseau de telecommunications
US20040186905A1 (en) * 2003-03-20 2004-09-23 Young Donald E. System and method for provisioning resources
JP3951949B2 (ja) * 2003-03-31 2007-08-01 日本電気株式会社 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
US20040243699A1 (en) * 2003-05-29 2004-12-02 Mike Koclanes Policy based management of storage resources
US7457853B1 (en) 2003-07-03 2008-11-25 Cisco Technology, Inc. Method and apparatus for automatically configuring a network device
US20070112574A1 (en) 2003-08-05 2007-05-17 Greene William S System and method for use of mobile policy agents and local services, within a geographically distributed service grid, to provide greater security via local intelligence and life-cycle management for RFlD tagged items
JP2005056201A (ja) 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 異種混合計算機接続システム及びシステムにおける処理割り当て方法及び課金方法
JP4277621B2 (ja) * 2003-08-20 2009-06-10 沖電気工業株式会社 サービス提供システムおよびその方法ならびにサービス提供プログラムおよび記録媒体
US7979548B2 (en) * 2003-09-30 2011-07-12 International Business Machines Corporation Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network
US7246200B1 (en) 2003-11-12 2007-07-17 Veritas Operating Corporation Provisioning and snapshotting using copy on read/write and transient virtual machine technology
US7290164B1 (en) 2004-03-03 2007-10-30 Cisco Technology, Inc. Method of reverting to a recovery configuration in response to device faults
JP2005266917A (ja) 2004-03-16 2005-09-29 Nec Corp 分散資源獲得システム、分散資源獲得方法および分散資源獲得用プログラム
US8326658B1 (en) 2004-04-12 2012-12-04 Amazon Technologies, Inc. Generation and contextual presentation of statistical data reflective of user selections from an electronic catalog
BRPI0401465A (pt) * 2004-04-20 2006-02-21 Embria Informatica Ltda sistema para administrar interações entre usuários e aplicações de software em um ambiente web
US7873960B2 (en) 2004-08-04 2011-01-18 Microsoft Corporation Generic packaging tool for packaging application and component therefor to be installed on computing device
US7681242B2 (en) * 2004-08-26 2010-03-16 Novell, Inc. Allocation of network resources
US7590589B2 (en) * 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US8359390B2 (en) 2004-09-29 2013-01-22 Fujitsu Limited Method and system for provisioning services on a communication network
WO2006058209A2 (en) * 2004-11-24 2006-06-01 Agilis Systems, Inc. Mobile resource management system and method
EP1866767B1 (en) * 2005-03-16 2018-04-18 III Holdings 12, LLC Automatic workload transfer to an on-demand center
CA2603577A1 (en) * 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
GB0514191D0 (en) 2005-07-12 2005-08-17 Ibm Methods, apparatus and computer programs for optimized parsing and service invocation
US7761591B2 (en) * 2005-12-16 2010-07-20 Jean A. Graham Central work-product management system for coordinated collaboration with remote users
JP2007193696A (ja) 2006-01-20 2007-08-02 Rikogaku Shinkokai 支援プログラム、支援プログラム生成プログラム、支援プログラム生成方法、ファイル生成・配布方法、及びインストールサーバ
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070233827A1 (en) * 2006-03-29 2007-10-04 Mcknight Lee W Ad hoc distributed resource coordination for a wireless grid
US8024440B2 (en) 2006-05-03 2011-09-20 Netapp, Inc. Configuration verification, recommendation, and animation method for a disk array in a storage area network (SAN)
US7849472B1 (en) * 2006-08-16 2010-12-07 Oracle America, Inc. System for instrumenting resources utilizing WS-management resource MBean wrappers for JAXB beans
GB2443229B (en) * 2006-08-23 2009-10-14 Cramer Systems Ltd Capacity management for data networks
US8327350B2 (en) 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates
US20080189402A1 (en) * 2007-02-06 2008-08-07 International Business Machines Corporation Method and Respective System for Performing Systems Management on IT-Resources Using Web Services
US8134962B2 (en) * 2007-03-23 2012-03-13 Lg Electronics Inc. Resource management in a wireless communication network
US20080288239A1 (en) 2007-05-15 2008-11-20 Microsoft Corporation Localization and internationalization of document resources
US7844903B2 (en) 2007-05-25 2010-11-30 Dell Products, Lp System and method of automatically generating animated installation manuals
US8082294B2 (en) * 2007-06-27 2011-12-20 Concept Solutions, Llc Methods and systems for providing web applications
US8938735B2 (en) 2007-08-31 2015-01-20 Thomson Reuters Global Resources Bootstrapper and software download manager
US8370802B2 (en) 2007-09-18 2013-02-05 International Business Machines Corporation Specifying an order for changing an operational state of software application components
WO2009058154A1 (en) * 2007-11-02 2009-05-07 Qualcomm Incorporated Apparatus and methods of configurable system event and resource arbitration management
CN101170502B (zh) * 2007-11-20 2011-10-26 中兴通讯股份有限公司 一种实现堆叠成员间互访的方法及系统
US8332459B2 (en) 2008-02-26 2012-12-11 International Business Machines Corporation Federation of composite applications
CN101521868B (zh) * 2008-02-29 2013-03-27 华为技术有限公司 一种漫游在线计费的方法、设备及控制系统
JP2009217321A (ja) 2008-03-07 2009-09-24 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
US8510718B2 (en) 2008-06-30 2013-08-13 Ubs Ag Platform verification portal
US8572580B2 (en) 2008-07-28 2013-10-29 Microsoft Corporation Computer application packages with customizations
US8819201B2 (en) 2008-08-07 2014-08-26 At&T Intellectual Property I, L.P. Method and apparatus for providing routing and access control filters
US8336047B2 (en) 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
US9870541B2 (en) 2008-11-26 2018-01-16 Red Hat, Inc. Service level backup using re-cloud network
US9037692B2 (en) 2008-11-26 2015-05-19 Red Hat, Inc. Multiple cloud marketplace aggregation
US8775574B2 (en) 2008-11-26 2014-07-08 Red Hat, Inc. Remote network management having multi-node awareness
US20100154024A1 (en) 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. Methods, appliances, and computer program products for controlling access to a communication network based on policy information
JP5183448B2 (ja) 2008-12-15 2013-04-17 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US8331362B2 (en) 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8565118B2 (en) 2008-12-30 2013-10-22 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US20100280959A1 (en) * 2009-05-01 2010-11-04 Darrel Stone Real-time sourcing of service providers
US8370481B2 (en) * 2009-05-13 2013-02-05 Verizon Patent And Licensing Inc. Inventory management in a computing-on-demand system
US8856333B2 (en) 2009-06-16 2014-10-07 Microsoft Corporation Datacenter execution templates
US8769391B2 (en) 2009-08-24 2014-07-01 Adobe Systems Incorporated Application broker
US8341268B2 (en) * 2009-08-28 2012-12-25 Microsoft Corporation Resource sharing in multi-principal browser
EP3493506A1 (en) 2009-10-01 2019-06-05 Telefonaktiebolaget LM Ericsson (Publ) A method and arrangements for application scope management
US8924559B2 (en) 2009-12-03 2014-12-30 International Business Machines Corporation Provisioning services using a cloud services catalog
US8924569B2 (en) * 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
US8424010B2 (en) * 2010-01-21 2013-04-16 Mckesson Financial Holdings Shared resource management
JP5530759B2 (ja) * 2010-03-05 2014-06-25 株式会社エヌ・ティ・ティ・データ リソース連携システム及びリソース連携方法
US8122282B2 (en) 2010-03-12 2012-02-21 International Business Machines Corporation Starting virtual instances within a cloud computing environment
US8572612B2 (en) 2010-04-14 2013-10-29 International Business Machines Corporation Autonomic scaling of virtual machines in a cloud computing environment
US8700777B2 (en) 2010-05-28 2014-04-15 International Business Machines Corporation Extensible support system for service offerings
US10073706B2 (en) 2010-06-25 2018-09-11 Oracle International Corporation Method and system for performing application server configuration using configuration groups
US9178766B2 (en) 2010-06-28 2015-11-03 Amazon Technologies, Inc. Provisioning multiple network resources
US8775626B2 (en) * 2010-09-17 2014-07-08 Microsoft Corporation Using templates to configure cloud resources
US9235442B2 (en) * 2010-10-05 2016-01-12 Accenture Global Services Limited System and method for cloud enterprise services
US8699499B2 (en) 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
JP5476485B2 (ja) 2011-01-05 2014-04-23 株式会社日立製作所 サービスの予約管理方法、仮想計算機システム及び記憶媒体
CN102073549B (zh) * 2011-01-18 2013-06-19 浙江大学 一种基于资源共享的组件间通信方法
US8954591B2 (en) 2011-03-07 2015-02-10 Cisco Technology, Inc. Resource negotiation for cloud services using a messaging and presence protocol
US8261295B1 (en) * 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
US20120246630A1 (en) 2011-03-23 2012-09-27 Secure By Design System and Method for Automating Installation and Updating of Third Party Software
US9262498B2 (en) * 2011-05-27 2016-02-16 Red Hat, Inc. Generating optimized host placement of data payload in cloud-based storage network
US8407323B2 (en) * 2011-07-12 2013-03-26 At&T Intellectual Property I, L.P. Network connectivity wizard to support automated creation of customized configurations for virtual private cloud computing networks
US20130041852A1 (en) * 2011-08-12 2013-02-14 Qualcomm Incorporated Customizable dynamic resource regulating devices and methods
US9177132B2 (en) 2011-10-12 2015-11-03 International Business Machines Corporation Capturing data parameters in templates in a networked computing environment
US9003141B2 (en) 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
US9300531B2 (en) * 2011-12-12 2016-03-29 Openet Telecom Ltd. Systems, devices, and methods of orchestration and application of business rules for real-time control of subscribers in a telecommunications operator's network
US8725798B2 (en) 2011-12-15 2014-05-13 Microsoft Corporation Provisioning high performance computing clusters
US8984606B2 (en) 2011-12-22 2015-03-17 Hewlett-Packard Development Company, L.P. Re-authentication
US9052961B2 (en) 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US9047133B2 (en) 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US8825817B1 (en) 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
US9058219B2 (en) 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
US9015714B2 (en) * 2012-11-27 2015-04-21 Citrix Systems, Inc. Diagnostic virtual machine created to monitor cluster of hypervisors based on user requesting assistance from cluster administrator
TW201426552A (zh) * 2012-12-26 2014-07-01 Hon Hai Prec Ind Co Ltd 虛擬機的登錄介面排序系統及方法
US9141416B2 (en) * 2013-03-15 2015-09-22 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596620B1 (en) * 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment

Also Published As

Publication number Publication date
WO2014071201A2 (en) 2014-05-08
US20180212898A1 (en) 2018-07-26
JP2017076427A (ja) 2017-04-20
CN104781802A (zh) 2015-07-15
US9929974B2 (en) 2018-03-27
EP2915055A4 (en) 2016-04-27
US20150288618A1 (en) 2015-10-08
US10348642B2 (en) 2019-07-09
JP6322694B2 (ja) 2018-05-09
IN2015DN03825A (zh) 2015-10-02
JP2015535112A (ja) 2015-12-07
US9058219B2 (en) 2015-06-16
CA2890303C (en) 2018-01-02
CN108268323A (zh) 2018-07-10
US20140129690A1 (en) 2014-05-08
WO2014071201A3 (en) 2014-06-26
CA2890303A1 (en) 2014-05-08
EP2915055A2 (en) 2015-09-09
JP6068670B2 (ja) 2017-01-25
CN108268323B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN104781802B (zh) 资源栈中的自定义资源
US10331422B1 (en) System and method for generating API devlopment code for integrating platforms
CN102542045B (zh) 对于资源的统一访问
US8539514B2 (en) Workflow integration and portal systems and methods
CN104660669B (zh) 针对应用模式组件从多个主机选择一个主机的方法和系统
US20080126406A1 (en) Complexity management tool
CN109104467A (zh) 开发环境构建方法、装置以及平台系统和存储介质
CN105917627A (zh) 云服务定制执行环境
CN106796526A (zh) Json样式表语言变换
JP2014525092A (ja) サードパーティのコンテンツをオンライン文書署名に関連付けるための方法
CN102763085A (zh) 使用云服务目录来供应服务
CN105117938A (zh) 一种基于模型视图控制器的电商构架请求数据分析方法
AU2022209333A1 (en) System and method for generating api development code for integrating platforms
US20220358240A1 (en) Adaptive data privacy platform
US20110161063A1 (en) Method, computer program product and apparatus for providing an interactive network simulator
US10656939B2 (en) Modeling lifetime of hybrid software application using application manifest
CN109446648B (zh) 仿真服务建立方法及装置
Mijić et al. Unified iot platform architecture platforms as major iot building blocks
CN110457629A (zh) 权限处理、权限控制方法及装置
EP3516484A1 (en) Thing machine
CN108551438A (zh) 为不同服务器间的单一登录使用x.509验证
CN105302556A (zh) 实现计算的方法和系统以及服务器装置
US7877433B2 (en) Infrastructure by contract
CN110336853A (zh) 一种大数据量的区块链水平扩展解决方法
Thonhauser et al. A model-based architecture supporting virtual organizations in pervasive systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant