Using a template to update a stack of resources

US10257110B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10257110-B2
Application numberUS-201414473037-A
CountryUS
Kind codeB2
Filing dateAug 29, 2014
Priority dateMar 19, 2012
Publication dateApr 9, 2019
Grant dateApr 9, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described that enable a user to upgrade a stack of resources by providing a template that reflects the desired end state of the stack. Upon receiving a new template, the system automatically detects changes that should be performed and determines the order in which the changes should be performed. The system can also detect if the desired changes to the stack are a result of direct modifications; because parameters to the resources have changed; or the changes are indirectly caused by other dependency/attribute changing. Additionally, the system determines whether the changes require creating new resources or if the changes can be made to the resources live. In case of replacement of resources, the system will first create the new resource, move that new resource into the stack and remove the old resource(s). In case of failures, the system ensures that the stack rolls back to the initial state.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for updating resources in a network-accessible service environment, said method comprising: instantiating, by a service provider system, a stack of resources that operate together to provide at least one network-accessible service, the stack of resources being associated with a first template; receiving, by the service provider system, a request to update the stack of resources, the request including a second template that specifies at least one difference from the first template's specification for the stack of resources; computing, by the service provider system, one or more differences for one or more resources in the stack, the one or more differences introduced by the second template; and determining, by the service provider system and based at least in part on one or more computed differences, a set of changes that should be made to the resources of the stack; determining, by the service provider system, whether the changes can be implemented as a running update or require a destructive update; and for changes that require the destructive update, creating at least one new resource, adding the new resource into the stack, and removing a previous version of said resource from the stack. 2. The computer implemented method of claim 1 , further comprising: determining a set of dependencies associated with the resources, and determining whether the set of dependencies require cascading changes to one or more other resources in order to update the resources; and if cascading changes are required, resolving the set of dependencies by performing the cascading changes to the one or more other resources. 3. The computer implemented method of claim 2 , further comprising, subsequent to said resolving the set of dependencies: determining whether there are additional resources that need to be changed; and implementing changes to the additional resources that need to be changed. 4. The computer implemented method of claim 1 , wherein receiving the request to update the stack further includes: receiving a method call of an application programming interface (API) to update the stack, wherein a stack identifier and the second template are provided as parameters to the method call of the API. 5. The computer implemented method of claim 1 , wherein the update modifies a set of metadata associated with the stack, wherein the metadata is provided to the resources in the stack. 6. The computer implemented method of claim 1 , further comprising: performing a set of successive updates incrementally to implement an upgrade that includes a plurality of changes to the resources in the stack. 7. The computer implemented method of claim 1 , wherein the request to update the stack of resources is received from a console, a command line tool, or an application programming interface. 8. A non-transitory computer-readable medium storing program instructions that are executed by one or more processors to implement a service provider component configured to: instantiate a stack of resources that operate together to provide at least one network-accessible service, the stack of resources associated with a first template; receive a request to update the stack of resources, the request including a second template that specifies at least a desired end state for the stack of resources; compute one or more differences for one or more resources in the stack, the one or more differences introduced by the second template; determine, based at least in part on one or more computed differences, a set of changes to the resources of the stack; determine whether the changes can be implemented as a running update or require a destructive update; if the changes can be implemented as the running update, modify the resources while the resources are running, otherwise if the changes require the destructive update: create at least one new resource, add the new resource into the stack, and remove a previous version of said resource from the stack; and if the request to update the stack is unsuccessful, roll back any changes that have been made to the resources of the stack in order to return the stack to a state specified in the first template. 9. The non-transitory computer-readable medium of claim 8 , wherein the service provider component is further configured to: determine a set of dependencies associated with the resources; determine whether the set of dependencies require cascading changes to one or more other resources in order to update the resources; and if cascading changes are required, resolve the set of dependencies, resolution comprising performance of the required cascading changes. 10. The non-transitory computer-readable medium of claim 8 , wherein receipt of the request to update the stack comprises: receive a method call of an application programming interface (API) to update the stack, wherein a stack identifier and the second template are provided as parameters to the method call of the API. 11. The non-transitory computer-readable medium of claim 8 , wherein the update modifies a set of metadata associated with the stack, wherein the metadata is provided to the resources in the stack. 12. The non-transitory computer-readable medium of claim 8 , wherein the service provider component is further configured to: perform a set of successive, incremental updates to implement an upgrade that includes a plurality of changes to the resources in the stack. 13. The non-transitory computer-readable medium of claim 8 , wherein the service provider component is further configured to: determine, based upon a comparison of the second template to the first template, whether there are additional resources that need to be changed; and implement changes to the additional resources that need to be changed. 14. The non-transitory computer-readable medium of claim 8 , wherein the request to update the stack of resources is provided from a console, a command line tool, or an application programming interface. 15. A system, comprising: one or more processors; and program instructions that are executed by one or more processors to implement a service provider component configured to: instantiate a stack of resources that operate together to provide at least one network-accessible service, the stack of resources being associated with a first template; receive a request to update the stack of resources, the request including a second template that specifies at least a desired end state for the stack of resources; compute one or more differences for one or more resources in the stack, the one or more differences introduced by the second template; determine, based at least in part on one or more computed differences, a set of changes to the resources of the stack; determine whether the changes can be implemented as a running update or require a destructive update; if the changes can be implemented as the running update, modify the resources while the resources are running, otherwise if the changes require the destructive update: create at least one new resource, add the new resource into the stack, and remove a previous version of said resource from the stack; and if the request to update the stack is unsuccessful, roll back any changes that have been made to the resources of the stack in order to return the stack to a state specified in the first template. 16. The system of claim 15 , wherein the service provider component is further configured to: determine a set of dependencies associated with the resources; determine whether the set o

Assignees

Inventors

Classifications

  • H04L47/762Primary

    triggered by the network · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • the condition being an adaptation, e.g. in response to network events · CPC title

  • Incremental updates; Differential updates · CPC title

  • characterised by the conditions triggering a change of settings · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10257110B2 cover?
Techniques are described that enable a user to upgrade a stack of resources by providing a template that reflects the desired end state of the stack. Upon receiving a new template, the system automatically detects changes that should be performed and determines the order in which the changes should be performed. The system can also detect if the desired changes to the stack are a result of dire…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/762. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 09 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).