IP Library › Granted Patent US 12,542,832
Granted Patent B2
US 12,542,832 · App. 18/359,837 · Granted Feb 3, 2026

Provisioning multiple network resources

Inventors: Reto Kramer (Sammamish, WA); Daniel Lee Osiecki (Seattle, WA); Nishanth Shankaran (Kirkland, WA); Venkates P. Balakrishnan (Seattle, WA); Geoffrey Scott Pare (Seattle, WA); Blake Meike (Seattle, WA); Christopher Whitaker (Sammamish, WA)
Assignee: Amazon Technologies, Inc.
H04L67/34H04L41/0843H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,542,832
App. No.
18/359,837
Granted
Feb 3, 2026
Kind
B2
Abstract

A resource provisioning service allows users to provision multiple, different network resources in an atomic manner and with a single call to a resource provisioning service. In some instances, the multiple, different network resources comprise individual types of resources that form a portion of one or more cloud-computing platforms. For instance, one or more entities may host and operate a cloud-computing platform that includes different types of network resources, such a storage service, a load balancing service, a compute service, a security service, or any other similar or different type of network-accessible service.

Claims (45)

1 . A system, comprising:

processors and corresponding memory configured to implement a service provider network comprising storage service resources, load balancing service resources, compute service resources, and security service resources;

one or more other processors and memory storing program instructions that, when executed on or across the one or more other processors, cause the one or more other processors to implement a resource provisioning service to:

responsive to receipt of respective individual calls from individual ones of a plurality of different clients, to create stacks of network-based resources:

authenticate the individual calls to create stacks of network-based resources; and

for successfully-authenticated individual calls,

atomically provision, according to one or more templates comprising prepopulated instructions, the stacks of network-based resources on behalf of each of the different clients for respective cloud computing networks comprising multiple different types of network-based resources of a service provider network comprising storage service resources, load balancing service resources, compute service resources, and security service resources; and

for unsuccessfully-authenticated individual calls, return indications of error.

2 . The system of claim 1 , wherein said atomically provision the stacks of network-based resources comprises either successfully provision each requested network-based resource of the respective stack or none of the requested network-based resources of the respective stack, wherein failure to provision any one of the requested network-based resources of the respective stack causes any already-provisioned ones of the requested network-based resources of the respective stack to be torn down such that none of the requested network-based resources are successfully provisioned for that stack.

3 . The system of claim 1 , wherein:

one or more of the templates comprise one or more parameters associated with one or more of the network-based resources; and

said atomically provision the stacks of network-based resources comprises provision the one or more network-based resources according to the one or more parameters of the one or more templates.

4 . The system of claim 3 , wherein the one or parameters associated with one or more of the network-based resources specifies a requested size, capability, or characteristic of the respective network-based resource.

5 . The system of claim 1 , wherein one or more of the templates identify at least one of the network-based resources by a logical name specified by a user.

6 . The system of claim 1 , wherein said atomically provision the stacks of network-based resources comprises one or more attempts to provision at least two of the network-based resources in parallel.

7 . The system of claim 1 , wherein the one or more templates comprise a text file comprising text-based instructions that include calls to each of the network-based resources of the respective stack.

8 . One or more computer-readable media storing computer-executable instructions that, when executed on or across one or more processors, cause the one or more processors to:

responsive to receipt at a service provider network of respective individual calls, from individual ones of a plurality of different clients to create stacks of network-based resources, wherein the service provider network comprises storage service resources, load balancing service resources, compute service resources, and security service resources:

authenticate the individual calls to create stacks of network-based resources; and

for successfully-authenticated individual calls,

atomically provision, according to one or more templates comprising prepopulated instructions, the stacks of network-based resources on behalf of each of the different clients for respective cloud computing networks comprising multiple different types of network-based resources of a service provider network comprising storage service resources, load balancing service resources, compute service resources, and security service resources; and

for unsuccessfully-authenticated individual calls,

returning indications of error.

9 . The one or more computer-readable media of claim 8 , wherein:

one or more of the templates comprise one or more parameters for one or more of the network-based resources; and

the computer-executable instructions cause the one or more processors to perform said atomically provision the one or more of the network-based resources of a respective stack of network-based resources according to the one or more parameters.

10 . The one or more computer-readable media of claim 9 , wherein the one or parameters associated with one or more of the network-based resources specifies a requested size, capability, or characteristic of the one or more network-based resources.

11 . The one or more computer-readable media of claim 8 , wherein one or more of the templates identify at least one of the network-based resources by a logical name specified by a user.

12 . The one or more computer-readable media of claim 8 , wherein to perform said atomically provision the stacks of network-based resources the executable instructions cause the one or more processors to make one or more attempts to provision at least two of the network-based resources in parallel.

13 . A method, comprising:

performing, by one or more computing devices on a service provider network comprising storage service resources, load balancing service resources, compute service resources, and security service resource:

receiving respective individual calls, to create stacks of network-based resources, from individual ones of a plurality of different clients;

authenticating the individual calls; and

for successfully-authenticated individual calls,

atomically provisioning, according to one or more templates comprising prepopulated instructions, the stacks of network-based resources on behalf of each of the different clients for respective cloud computing networks comprising multiple different types of network-based resources of a service provider network comprising storage service resources, load balancing service resources, compute service resources, and security service resources; and

for unsuccessfully-authenticated individual calls, returning indications of error.

14 . The method of claim 13 , wherein said atomically provision the stacks of network-based resources comprises either successfully provisioning each requested resource of the respective stack or none of the requested network-based resources of the respective stack, wherein failure to provision any one of the requested network-based resources of the respective stack causes any already-provisioned ones of the requested network-based resources of the respective stack to be torn down such that none of the requested network-based resources of the respective stack are successfully provisioned.

15 . The method of claim 13 , wherein:

one or more of the templates comprise one or more parameters associated with one or more of the network-based resources; and

said atomically provisioning the stacks of network-based resources comprises provisioning the one or more network-based resources according to the one or more parameters of the one or more templates.

16 . The method of claim 15 , wherein the one or parameters associated with one or more of the network-based resources specify a requested size, capability, or characteristic of the respective network-based resource.

17 . The method of claim 13 , wherein one or more of the templates identify at least one of the network-based resources by a logical name specified by a user.

18 . The method of claim 13 , wherein said atomically provisioning the stacks of network-based resources comprises provisioning at least two of the network-based resources of a particular one of the network stacks in parallel.

19 . The method of claim 13 , wherein the template comprises a text file comprising text-based instructions that include calls to each of the network-based resources of the respective stack.

20 . The method of claim 13 , wherein provisioning each of the network-based resources comprises provisioning the network-based resources based at least in part on specified dependencies between a portion of the network-based resources.

Continuity (4)
Continuation 16105449 · Aug 20, 2018
Continuation 14930482 · Nov 2, 2015
Continuation 12824723 · Jun 28, 2010
Related Publication 20240040006A1 · Feb 1, 2024
References Cited (83)
US 6496840B1 · Uceda-Sosa et al. · 2002 [cited by applicant]
US 6766364B2 · Moyer et al. · 2004 [cited by applicant]
US 7246200B1 · van Rietschote et al. · 2007 [cited by applicant]
US 7290164B1 · Harvey et al. · 2007 [cited by applicant]
US 7457853B1 · Chari et al. · 2008 [cited by applicant]
US 7844903B2 · Dawkins et al. · 2010 [cited by applicant]
US 7873960B2 · Templin et al. · 2011 [cited by applicant]
US 8326658B1 · Lee et al. · 2012 [cited by applicant]
US 8331362B2 · Shukla et al. · 2012 [cited by applicant]
US 8825817B1 · Jaisinghani et al. · 2014 [cited by applicant]
US 9178766B2 · Kramer et al. · 2015 [cited by applicant]
US 10057374B2 · Kramer et al. · 2018 [cited by applicant]
US 10089152B1 · Kramer et al. · 2018 [cited by applicant]
US 10257110B2 · Jaisinghani et al. · 2019 [cited by applicant]
US 20020087734A1 · Marshall · 2002 [cited by examiner]
US 20040054690A1 · Hillerbrand · 2004 [cited by examiner]
US 20050021688A1 · Felts et al. · 2005 [cited by applicant]
US 20060050862A1 · Shen et al. · 2006 [cited by applicant]
US 20060075102A1 · Cupit · 2006 [cited by applicant]
US 20060195575A1 · Delany et al. · 2006 [cited by applicant]
US 20060206899A1 · Suzuki et al. · 2006 [cited by applicant]
US 20070016897A1 · Todd · 2007 [cited by applicant]
US 20070112574A1 · Greene · 2007 [cited by applicant]
US 20070260712A1 · Jibbe · 2007 [cited by applicant]
US 20070294668A1 · Mohindra · 2007 [cited by examiner]
US 20080163171A1 · Chess et al. · 2008 [cited by applicant]
US 20080215755A1 · Farber · 2008 [cited by examiner]
US 20080288239A1 · Bailey et al. · 2008 [cited by applicant]
US 20080294777A1 · Karve · 2008 [cited by examiner]
US 20090064135A1 · Jimmerson · 2009 [cited by applicant]
US 20090077090A1 · Pacifici et al. · 2009 [cited by applicant]
US 20090171730A1 · Bobak · 2009 [cited by examiner]
US 20090217287A1 · Blum et al. · 2009 [cited by applicant]
US 20100005529A1 · Hemade · 2010 [cited by applicant]
US 20100023934A1 · Sheehan et al. · 2010 [cited by applicant]
US 20100037287A1 · Netrakanti et al. · 2010 [cited by applicant]
US 20100050173A1 · Hensbergen · 2010 [cited by applicant]
US 20100131324A1 · Ferris · 2010 [cited by examiner]
US 20100131624A1 · Ferris · 2010 [cited by applicant]
US 20100131625A1 · Dehaan et al. · 2010 [cited by applicant]
US 20100154024A1 · Boxmeyer et al. · 2010 [cited by applicant]
US 20100165876A1 · Shukla et al. · 2010 [cited by applicant]
US 20100318658A1 · Zorn · 2010 [cited by examiner]
US 20110296018A1 · Deng · 2011 [cited by examiner]
US 20110320574A1 · Felts · 2011 [cited by applicant]
US 20110320605A1 · Kramer et al. · 2011 [cited by applicant]
US 20120147894A1 · Mulligan et al. · 2012 [cited by applicant]
US 20120179808A1 · Bergkvist et al. · 2012 [cited by applicant]
US 20120246630A1 · Kuzins et al. · 2012 [cited by applicant]
US 20130097651A1 · Rendahl et al. · 2013 [cited by applicant]
US 20130124807A1 · Nielsen et al. · 2013 [cited by applicant]
US 20130167211A1 · Kamat · 2013 [cited by applicant]
US 20130212183A1 · Ward · 2013 [cited by applicant]
US 20130232480A1 · Winterfeldt et al. · 2013 [cited by applicant]
US 20130232498A1 · Mangtani et al. · 2013 [cited by applicant]
US 20130283273A1 · Miyazaki · 2013 [cited by applicant]
US 20190007526A1 · Kramer et al. · 2019 [cited by applicant]
CN 1326143 · 2001 [cited by applicant]
CN 1834978 · 2006 [cited by applicant]
CN 101156138 · 2008 [cited by applicant]
CN 101166173 · 2008 [cited by applicant]
JP 2004086769 · 2004 [cited by applicant]
JP 2005056201 · 2005 [cited by applicant]
JP 2005266917 · 2005 [cited by applicant]
JP 2007520814 · 2007 [cited by applicant]
JP 2007193696 · 2007 [cited by applicant]
JP 2009217321 · 2009 [cited by applicant]
JP 2010140403 · 2010 [cited by applicant]
JP 2012501021 · 2012 [cited by applicant]
WO WO2010023139 · 2010 [cited by applicant]
Office Action from Chinese Application No. 201180031239.X, Dated Oct. 21, 2015 (Chinese Version and English Translation not available), Amazon Technologies, Inc., pp. 1-10. [cited by applicant]
Office Action from Japanese Application No. 2013-518539, Dated Jun. 2, 2015 (English Translation and Japanese Version), pp. 1-6. [cited by applicant]
Office Action from Chinese Application No. 201180031239.X, Dated Apr. 22, 2015 (English Translation and Chinese Version), pp. 1-20. [cited by applicant]
U.S. Appl. No. 13/424,143, filed Mar. 19, 2012, Avinash Jaisinghani. [cited by applicant]
Anil Jain, et al., “Biometric template security”, Jan. 2008, ACM, vol. 2008, pp. 1-17. [cited by applicant]
Sascha Konrad, et al., Using Security Patterns to Model and Analyze Security Requirements, 2003, Michigan State University, pp. 1-10. [cited by applicant]
Office Action from Chinese Application No. 201180031239X, Dated Jun. 28, 2017 (Chinese version and English translation), Amazon Technologies, Inc., pp. 1-28. [cited by applicant]
AWS, “Cloudformation User Guide”, APO Version, May 15, 2010, pp. 1-463 (2013). [cited by applicant]
“Open Virtualization Format”, VMware Inc., Retrieved on May 7, 2010, URL: http://www.vmware.com/applicances/getting-started/learn/ovf.html, pp. 1-6. [cited by applicant]
“Cloud Computing. Delivered”, RightScale Inc., Retrieved on May 7, 2010 at URL: http://www.rightscale.com, pp. 1-7. [cited by applicant]
Office Action from Japanese Application No. 2013-518539, Date Mailed Jan. 21, 2014 (English Translation and Japanese Version); pp. 1-14. [cited by applicant]
Extended European Search Report for Application No. 11804097.1, Date Mailed Mar. 27, 2014, pp. 1-6. [cited by applicant]
PCT Search Report mailed Nov. 3, 2011 for PCT Application No. PCT/US11/42050, pp. 1-9. [cited by applicant]