IP Library Granted Patent US 10,333,862
Granted Patent B2
US 10,333,862 · App. 14/154,912 · Granted Jun 25, 2019

Reserving resources in an on-demand compute environment

Inventor: David B. Jackson (Spanish Fork, UT)
Assignee: III Holdings 12, LLC
H04L47/80G06F9/5027G06F9/5061G06F9/5072G06F9/5077G06Q10/06H04L29/08144H04L47/70H04L67/10H04L67/1002H04L67/125G06F11/2038G06F15/173G06F2209/509G06F2209/5014G08C17/00
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 10,333,862
App. No.
14/154,912
Granted
Jun 25, 2019
Kind
B2
Abstract

Disclosed is an on-demand system and method for managing resources in an on-demand compute environment from a local compute environment. The method includes receiving information at a local resource broker that is associated with resources within an on-demand compute environment, based on the information, communicating instructions from the local resource broker to the on-demand compute environment and modifying resources associated with the on-demand compute environment based on the instructions.

Claims (33)

1. A system comprising:

a processor; and

a computer-readable storage medium storing code which, when executed by the processor, cause the processor to perform operations comprising:

receiving instructions from a local resource broker based on a submission by a user, wherein the instructions are associated with compute resources to be used to process user workload, wherein the local resource broker, an on-demand compute environment and a local compute environment are each separate environments, wherein the local compute environment comprises a multiple node environment and includes an associated provider resource broker configured to manage compute resources of each node of the multiple node environment available to the user based on the submission by the user, wherein a specification of resources associated with the instructions is one of fully explicit, partially explicit, or fully implicit based on workload, and includes provisioning a support environment and adjustments to resource request timeframes including pre-allocation, allocation duration, and post-allocation timeframe adjustments;

determining a time duration, the time duration including at least a provisioning time duration allocated for provisioning overhead, a resource consumption time duration allocated for consuming compute resources in the on-demand compute environment based on the instructions, and a clean-up time duration allocated for cleaning up the on-demand compute environment after consuming the compute resources;

reserving, at a first time, the compute resources in the on-demand compute environment based on the instructions for use for the time duration; and

receiving a transfer of the user workload from the local compute environment to the on-demand compute environment such that the user workload consumes the reserved compute resources in the on-demand compute environment, the user workload having been submitted to the local compute environment.

2. The system of claim 1 , wherein the instructions comprise a request which is one of a request for a reservation of compute resources in the on-demand compute environment or a request for a modification of an existing reservation of compute resources in the on-demand compute environment.

3. The system of claim 2 , wherein if the request is for a modification of an existing reservation of compute resources, then reserving the compute resources within the on-demand compute environment further comprises modifying the existing reservation of compute resources.

4. The system of claim 3 , wherein modifying the existing reservation of compute resources comprises one of expanding, reducing or canceling the existing reservation of compute resources.

5. The system of claim 1 , wherein reserving the compute resources further comprises adjusting a reservation duration to accommodate for provisioning overhead associated with a reservation in the on-demand compute environment.

6. The system of claim 1 , wherein the local provider resource broker locally creates a reservation for at least one aspect of a job, wherein other aspects of the job consume the reserved compute resources.

7. The system of claim 1 , wherein the local provider resource broker has information that relates to resource requirement information based on one of a user specification, a current workload, or a predicted workload.

8. The system of claim 1 , wherein reserving the compute resources further comprises modifying compute resources for provisioning by customizing a delivered compute environment within the on-demand compute environment.

9. The system of claim 1 , wherein reserving the compute resources further comprises co-allocating resources including at least two of a compute, network, storage, license, or service resources.

10. The system of claim 1 , wherein reserving the compute resources further comprises co-allocating resources over disjoint timeframes.

11. The system of claim 1 , wherein upon a triggering event being detected, automatically establishing communication between the local compute environment and the on-demand compute environment.

12. A computer-readable storage device storing code which, when executed by a processor, cause the processor to perform operations comprising:

receiving instructions from a local resource broker based on a submission by a user, wherein the instructions are associated with compute resources to be used to process user workload, wherein the local resource broker, an on-demand compute environment and a local compute environment are each separate environments, wherein the local compute environment comprises a multiple node environment and includes an associated provider resource broker configured to manage compute resources of each node of the multiple node environment available to the user based on the submission by the user, wherein a specification of resources associated with the instructions is one of fully explicit, partially explicit, or fully implicit based on workload, and includes provisioning a support environment and adjustments to resource request timeframes including pre-allocation, allocation duration, and post-allocation timeframe adjustments;

determining a time duration, the time duration including at least a provisioning time duration allocated for provisioning overhead, a resource consumption time duration allocated for consuming compute resources in the on-demand compute environment based on the instructions, and a clean-up time duration allocated for cleaning up the on-demand compute environment after consuming the compute resources;

reserving, at a first time, the compute resources in the on-demand compute environment based on the instructions to yield reserved compute resources for use for the time duration; and

receiving a transfer of the user workload from the local compute environment to the on-demand compute environment such that the user workload consumes the reserved compute resources in the on-demand compute environment, the user workload having been submitted to the local compute environment.

13. The computer-readable storage device of claim 12 , wherein the instructions comprise a request which is one of a request for a reservation of compute resources in the on-demand compute environment or a request for a modification of an existing reservation of compute resources in the on-demand compute environment.

14. The computer-readable storage device of claim 13 , wherein if the request is for a modification of an existing reservation of compute resources, then reserving the compute resources within the on-demand compute environment further comprises modifying the existing reservation of compute resources.

15. The computer-readable storage device of claim 14 , wherein modifying the existing reservation of compute resources comprises one of expanding, reducing or canceling the existing reservation of compute resources.

16. The computer-readable storage device of claim 12 , wherein reserving the compute resources further comprises adjusting a reservation duration to accommodate for provisioning overhead associated with a reservation in the on-demand compute environment.

17. The computer-readable storage device of claim 12 , wherein the local provider resource broker locally creates a reservation for at least one aspect of a job, wherein other aspects of the job consume the reserved compute resources.

18. The computer-readable storage device of claim 12 , wherein the local provider resource broker has information that relates to resource requirement information based on one of a user specification, a current workload, or a predicted workload.

19. A method comprising:

receiving instructions from a local resource broker based on a submission by a user, wherein the instructions are associated with compute resources to be used to process user workload, wherein the local resource broker, an on-demand compute environment and a local compute environment are each separate environments, wherein the local compute environment comprises a multiple node environment and includes an associated provider resource broker configured to manage compute resources of each node of the multiple node environment available to the user based on the submission by the user, wherein a specification of resources associated with the instructions is one of fully explicit, partially explicit, or fully implicit based on workload, and includes aspects of provisioning a support environment and adjustments to resource request timeframes including pre-allocation, allocation duration, and post-allocation timeframe adjustments;

determining a time duration, the time duration including at least a provisioning time duration allocated for provisioning overhead, a resource consumption time duration allocated for consuming compute resources in the on-demand compute environment based on the instructions, and a clean-up time duration allocated for cleaning up the on-demand compute environment after consuming the compute resources;

reserving, at a first time, the compute resources in the on-demand compute environment based on the instructions for use for the time duration; and

receiving a transfer of the user workload from the local compute environment to the on-demand compute environment such that the user workload consumes the reserved compute resources in the on-demand compute environment, the user workload having been submitted to the local compute environment.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2018
From: SILICON VALLEY BANK
To: ADAPTIVE COMPUTING ENTERPRISES, INC
Reel/Frame 045949/0257 →
CONFIRMATORY ASSIGNMENT Recorded Jul 25, 2017
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 043319/0972 →
CHANGE OF NAME Recorded Jul 7, 2017
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 043108/0176 →
MERGER Recorded Jul 7, 2017
From: ADAPTIVE COMPUTING ENTERPRISES, INC. (UT)
To: ADAPTIVE COMPUTING ENTERPRISES, INC (DE)
Reel/Frame 043108/0283 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2016
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: III HOLDINGS 12, LLC
Reel/Frame 040587/0415 →
SECURITY INTEREST Recorded May 11, 2015
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: SILICON VALLEY BANK
Reel/Frame 035634/0954 →
CHANGE OF NAME Recorded Nov 19, 2014
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 034294/0991 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 034208/0985 →
Continuity (3)
Continuation 11276855 · Mar 16, 2006
Provisional Application 60662240 · Mar 16, 2005
Related Publication 20140129721A1 · May 8, 2014