IP Library › Granted Patent US 12,340,257
Granted Patent B1
US 12,340,257 · App. 18/638,818 · Granted Jun 24, 2025

System and method of providing cloud bursting capabilities in a compute environment using templates

Inventor: Arthur L. Allen (Naples, FL)
Assignee: Adaptive Computing Enterprises, Inc.
G06F9/5083G06F9/4887
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,340,257
App. No.
18/638,818
Granted
Jun 24, 2025
Kind
B1
Abstract

Technologies are provided for a multi-cloud bursting service. The service generates a template for provisioning a compute environment in a selected cloud service provider. The template defines a software application to be used for a job to be processed by the compute environment and a hardware setting identifying hardware to be used in the compute environment. The service receives, from a local compute environment, a request to provision the compute environment and transmits the job and the template to the selected cloud service provider such that the selected cloud service provider, based on the cloud agnostic burst template: provisions the compute environment; and deploys the job on the compute environment in the selected cloud service provider.

Claims (42)

1. A method comprising:

generating a cloud agnostic burst template for provisioning a compute environment in a selected cloud service provider available from a plurality of different cloud service providers, the cloud agnostic burst template comprising a stack template and a job template, wherein the stack template defines: a software application to be used for a job to be processed by the compute environment; and a hardware setting identifying hardware to be used in the compute environment, and wherein the job template specifies that the job is meant to be run at a selected cloud service provider from the plurality of different cloud service providers independent of a state of a job backlog;

receiving, at a multi-cloud bursting service, from a local compute environment, the job and a request to provision the compute environment in one or more of the plurality of different cloud service providers; and

transmitting, from the multi-cloud bursting service, the job and the cloud agnostic burst template to the selected cloud service provider such that the selected cloud service provider, based on the cloud agnostic burst template:

provisions the compute environment including the software application; and

deploys the job on the compute environment to be processed by the software application.

2. The method of claim 1 , wherein the cloud agnostic burst template further defines one or more commands associated with enabling the job to be processed in the compute environment.

3. The method of claim 1 , wherein the cloud agnostic burst template further defines a number of cores to use in the compute environment.

4. The method of claim 1 , wherein the cloud agnostic burst template further defines a parameter associated with time in connection with use of the compute environment.

5. The method of claim 1 , wherein the multi-cloud bursting service provides a status of provisioning and/or using the compute environment in the selected cloud service provider.

6. The method of claim 1 , wherein the cloud agnostic burst template further defines a license associated with use of the compute environment.

7. The method of claim 2 , wherein the selected cloud service provider further:

launches, on the compute environment, at least one instance of a chosen workload environment associated with the cloud agnostic burst template; and

assigns the job to the at least one instance of the chosen workload environment.

8. The method of claim 1 , wherein the selected cloud service provider further provisions the compute environment by translating one or more commands associated with the cloud agnostic burst template into one or more cloud provider commands defined for the selected cloud service provider based at least partly on at least one of a configuration or a characteristic of the selected cloud service provider, the one or more commands being executable for provisioning the compute environment and deploying a workload environment at the selected cloud service provider.

9. The method of claim 7 , wherein the one or more commands comprise executable instructions for at least one of: uploading one or more files associated with the cloud agnostic burst template to the compute environment, requesting a provisioning of the compute environment, installing the software application, and configuring the software application.

10. The method of claim 2 , wherein the cloud agnostic burst template is generated by a user or stored in a database of cloud agnostic burst templates available for selection by the user.

11. The method of claim 9 , wherein the cloud agnostic burst template is associated with one or more job definitions, the one or more job definitions specifying, for each job, at least one of a respective job identifier, a stack identifier corresponding to a stack for the job, and one or more parameters associated with the job.

12. The method of claim 11 , wherein the one or more parameters specify at least one of a trigger for provisioning the compute environment for the job, a type of cloud instance for the job, a number of cloud instances for the job, a number of cloud nodes to request for the job, a number of processors for each cloud node, and one or more job policies.

13. The method of claim 12 , wherein the one or more job policies comprise at least one of a quality of service, a node or resource usage limit, a cloud bursting limit, and a purge condition defining at least one of a time-to-live and a node idle purge time, the trigger comprising at least one of a threshold backlog, a threshold resource availability, a policy violation, and a threshold condition.

14. A system comprising:

one or more processors; and

at least one non-transitory computer-readable storage medium storing instructions which, when executed by the one or more processors, cause the system to:

generate a cloud agnostic burst template for provisioning a compute environment in a selected cloud service provider available from a plurality of different cloud service providers, the cloud agnostic burst template comprising a stack template and a job template, wherein the stack template defines: a software application to be used for a job to be processed by the compute environment; and a hardware setting identifying hardware to be used in the compute environment, and wherein the job template specifies that the job is meant to be run at a selected cloud service provider from the plurality of different cloud service providers independent of a state of a job backlog;

receive, from a local compute environment, the job and a request to provision the compute environment in one or more of the plurality of different cloud service providers; and

transmit the job and the cloud agnostic burst template to the selected cloud service provider such that the selected cloud service provider, based on the cloud agnostic burst template:

provisions the compute environment including the software application; and

deploys the job on the compute environment to be processed by the software application.

15. The system of claim 14 , wherein the cloud agnostic burst template further defines one or more: commands associated with enabling the job to be processed in the compute environment; a number of cores to use in the compute environment; a parameter associated with time in connection with use of the compute environment; and a license associated with use of the compute environment.

16. The system of claim 14 , wherein the selected cloud service provider further:

launches, on the compute environment, at least one instance of a chosen workload environment associated with the cloud agnostic burst template; and

assigns the job to the at least one instance of the chosen workload environment.

17. The system of claim 16 , wherein the selected cloud service provider further provisions the compute environment by translating one or more commands associated with the cloud agnostic burst template into one or more cloud provider commands defined for the selected cloud service provider based at least partly on at least one of a configuration or a characteristic of the selected cloud service provider, the one or more commands being executable for provisioning the compute environment and deploying a workload environment at the selected cloud service provider.

18. The system of claim 17 , wherein the one or more commands comprise executable instructions for at least one of: uploading one or more files associated with the cloud agnostic burst template to the compute environment, requesting a provisioning of the compute environment, installing the software application, and configuring the software application.

19. The system of claim 14 , wherein the cloud agnostic burst template is generated by a user or stored in a database of cloud agnostic burst templates available for selection by the user.

20. The system of claim 19 , wherein the cloud agnostic burst template is associated with one or more job definitions, the one or more job definitions specifying, for each job, at least one of a respective job identifier, a stack identifier corresponding to a stack for the job, and one or more parameters associated with the job.

21. A non-transitory computer-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to:

generate a cloud agnostic burst template for provisioning a compute environment in a selected cloud service provider available from a plurality of different cloud service providers, the cloud agnostic burst template comprising a stack template and a job template, wherein the stack template defines: a software application to be used for a job to be processed by the compute environment; and a hardware setting identifying hardware to be used in the compute environment, and wherein the job template specifies that the job is meant to be run at a selected cloud service provider from the plurality of different cloud service providers independent of a state of a job backlog;

receive, from a local compute environment, the job and a request to provision the compute environment in one or more of the plurality of different cloud service providers; and

transmit the job and the cloud agnostic burst template to the selected cloud service provider such that the selected cloud service provider, based on the cloud agnostic burst template:

provisions the compute environment including the software application; and

deploys the job on the compute environment to be processed by the software application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: ALLEN, ARTHUR L.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 070970/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: NODUS SOFTWARE SOLUTIONS LLC
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 070970/0239 →
Continuity (4)
Continuation 18527570 · Dec 4, 2023
Continuation 17849961 · Jun 27, 2022
Continuation 16788774 · Feb 12, 2020
Continuation In Part 15994501 · May 31, 2018
References Cited (26)
US 9935829B1 · Miller · 2018 [cited by applicant]
US 10003550B1 · Babcock · 2018 [cited by applicant]
US 10411975B2 · Martinez · 2019 [cited by examiner]
US 10841152B1 · Humphreys · 2020 [cited by examiner]
US 10877796B1 · Kinney, Jr. · 2020 [cited by applicant]
US 20060212332A1 · Jackson · 2006 [cited by applicant]
US 20120179824A1 · Jackson · 2012 [cited by applicant]
US 20120222041A1 · Sabin · 2012 [cited by examiner]
US 20130007753A1 · Jain · 2013 [cited by applicant]
US 20130124720A1 · Wood · 2013 [cited by applicant]
US 20140280961A1 · Martinez · 2014 [cited by examiner]
US 20140379924A1 · Das · 2014 [cited by applicant]
US 20150242204A1 · Hassine · 2015 [cited by examiner]
US 20150341230A1 · Dave · 2015 [cited by applicant]
US 20150370601A1 · Ghosh · 2015 [cited by applicant]
US 20160048408A1 · Madhu · 2016 [cited by applicant]
US 20160105321A1 · Thakkar · 2016 [cited by applicant]
US 20160182397A1 · McFarlin · 2016 [cited by applicant]
US 20180227240A1 · Liu · 2018 [cited by applicant]
US 20190079751A1 · Foskett · 2019 [cited by examiner]
US 20190122156A1 · Asthana · 2019 [cited by examiner]
US 20190130327A1 · Carpenter · 2019 [cited by applicant]
US 20190147089A1 · Megahed · 2019 [cited by applicant]
US 20190258513A1 · Poort · 2019 [cited by examiner]
US 20190312795A1 · Karve · 2019 [cited by applicant]
US 20200387357A1 · Mathon · 2020 [cited by applicant]