IP Library Granted Patent US 9,015,324
Granted Patent B2
US 9,015,324 · App. 13/418,777 · Granted Apr 21, 2015

System and method of brokering cloud computing resources

Inventor: David Brian Jackson (Spanish Fork, UT)
Assignee: Adaptive Computing Enterprises, Inc.
G06F9/5077G06F9/5027G06F9/5061G06F9/5072G06Q10/06G06F11/2038G06F2209/5014G06F2209/509
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 9,015,324
App. No.
13/418,777
Granted
Apr 21, 2015
Kind
B2
Abstract

System, method, and tangible computer-readable storage media are disclosed for providing a brokering service for compute resources. The method includes, at a brokering service, polling a group of separately administered compute environments to identify resource capabilities and information, each compute resource environment including the group of managed nodes for processing workload, receiving a request for compute resources at the brokering service system, the request for compute resources being associated with a service level agreement (SLA) and based on the resource capabilities across the group of compute resource environments, selecting compute resources in one or more of the group of compute resource environments. The brokering service system receives workload associated with the request and communicates the workload to the selected resources for processing. The brokering services system can aggregate resources for multiple cloud service providers and act as an advocate for or a guarantor of the SLA associated with the workload.

Claims (56)

1. A method of brokering compute resources, the method comprising:

at a brokering service system, polling a plurality of compute resource environments to identify resource capabilities and a type of energy that powers each of the plurality of compute resource environments, each of the plurality of compute resource environments comprising a plurality of aggregated nodes;

receiving, at a first time, a request for compute resources at the brokering service system, the request for compute resources being associated with a service level agreement;

based on the resource capabilities across the plurality of compute resource environments and the type of energy that powers each of the plurality of compute resource environments, reserving compute resources from the plurality of compute resource environments to yield reserved compute resources for consumption at a second time, which is later than the first time;

receiving a workload associated with the request and communicating the workload associated with the request to the reserved compute resources for processing, wherein reserving the compute resources ensures that the processing at the second time complies with the service level agreement;

after communicating the workload associated with the request to the reserved compute resources, analyzing parameters associated with how the reserved compute resources are processing the workload associated with the request; and

if a threshold is met, identifying and reserving new compute resources from the plurality of compute resource environments and migrating the workload to the new compute resources.

2. The method of claim 1 , further comprising:

evaluating and processing, if necessary, the workload associated with the request to match the workload associated with the request with the reserved compute resources.

3. The method of claim 1 , wherein the polling further identifies a cost for available compute resources in each of the plurality of compute resource environments.

4. The method of claim 1 , wherein the workload associated with the request is batch workload.

5. The method of claim 1 , wherein the reserved compute resources span more than one compute resource environment of the plurality of compute resource environments.

6. The method of claim 5 , wherein the a first portion of the reserved compute resources comprises data centric resources in a first compute resource environment and a second portion of the reserved compute resources comprises compute intensive resources in a second compute resource environment, wherein the data centric resources are resources associated with storing data and compute intensive resources comprise processing units in the second compute resource environment.

7. The method of claim 1 , wherein the reserved compute resources span more than one compute resource environment over time, and wherein the method further comprises:

migrating the workload associated with the request over time to compute resources within the more than one compute resource environment.

8. The method of claim 1 , wherein the reserved compute resources comprise two similar but separated sets of compute resources, each set being in a differently administered compute resource environment, but that both alternately process the workload associated with the request.

9. The method of claim 1 , wherein the reserved compute resources comprise one set of compute resources in one compute resource environment that process the workload associated with the request and a backup set of resources in a different compute resources environment that does not process the workload associated with the request unless the one set of compute resources is unable to process the workload associated with the request according to the service level agreement.

10. The method of claim 1 , wherein which compute resources of the plurality of compute resource environment are available for reservation is based on an authorization associated with a submitter of the request.

11. The method of claim 1 , further comprising presenting an advertisement to a requestor.

12. The method of claim 1 , further comprising charging a fee to a requestor for brokering compute resources.

13. The method of claim 1 , further comprising receiving a fee from the compute resource environments having selected compute resources that process the workload associated with the request based on fees charged by the compute resource environments having reserved compute resources that process the workload.

14. The method of claim 1 , wherein the request is received from a requesting brokering service system that polls a second plurality of compute environments to identify resource capabilities, each compute resource environment associated with the requesting brokering service system comprising a plurality managed nodes for processing workload and each compute resource environment associated with the requesting brokering service system having registered with the requesting brokering service system.

15. The method of claim 1 , wherein each of the plurality of compute resource environment is registered with the brokering service system.

16. The method of claim 1 , wherein the type of energy comprises one of nuclear energy, coal-based energy and wind energy.

17. A system for brokering compute resources, the system comprising:

a processor; and

a non-transitory computer-readable storage medium operatively coupled to the processor and storing instructions which, when executed by the processor, cause the processor to perform operations comprising:

polling a plurality of compute resource environments to identify resource capabilities and a type of energy that powers each of the plurality of compute resource environments, each of the plurality of compute resource environments comprising a plurality of aggregated nodes;

receiving a request, at a first time, for compute resources at a brokering service system, the request for compute resources being associated with a service level agreement;

reserving compute resources from the plurality of compute resource environments based on the resource capabilities across the plurality of compute resource environments and the type of energy that powers each of the plurality of compute resource environments to yield reserved compute resources such that the reserved compute resources can be consumed at a second time, which is later than the first time;

receiving a workload associated with the request and communicating the workload to the reserved compute resources for processing, wherein reserving compute resources ensures that the processing at the second time complies with the service level agreement;

after communicating the workload associated with the request to the reserved compute resources, analyzing parameters associated with how the reserved compute resources are processing the workload associated with the request; and

if a threshold is met, identifying and reserving new compute resources from the plurality of compute resource environments and migrating the workload to the new compute resources.

18. The system of claim 17 , the non-transitory computer-readable storage medium further comprising instructions which, when executed by the processor, cause the processor to perform further operations comprising:

evaluating and processing, if necessary, the workload associated with the request to match the workload associated with the request with the reserved compute resources.

19. The system of claim 17 , wherein the type of energy comprises one of nuclear energy, coal-based energy and wind energy.

20. A non-transitory computer-readable storage medium storing a computer program having instructions which, when executed by a processor, cause the processor to perform operations comprising:

at a brokering service system, polling a plurality of separately administered compute resource environments to identify resource capabilities and a type of energy that powers each of the plurality of separately administered compute resource environments, each of the plurality of separately administered compute resource environments comprising a plurality of aggregated nodes for processing workload;

receiving, at a first time, a request for compute resources at the brokering service system, the request for compute resources being associated with a service level agreement;

based on the identified resource capabilities across the plurality of separately administered compute resource environments and the type of energy that powers each of the plurality of separately administered compute resource environments, reserving compute resources in one or more of the plurality of separately administered compute resource environments to yield reserved compute resources;

receiving a workload associated with the request and communicating the workload associated with the request to the reserved resources in the plurality of separately administered compute resource environments for processing at a second time which is later than the first time, wherein the reservation of compute resources ensures that the processing complies with the service level agreement;

after communicating the workload associated with the request to the reserved compute resources, analyzing parameters associated with how the reserved compute resources are processing the workload associated with the request; and

if a threshold is met, identifying and reserving new compute resources from the plurality of separately administered compute resource environments and migrating the workload to the new compute resources.

21. The non-transitory computer-readable storage medium of claim 20 , the instructions further comprising:

evaluating and processing, if necessary, the workload associated with the request to match the workload associated with the request with the reserved compute resources.

22. The non-transitory computer-readable storage medium of claim 20 , wherein the type of energy comprises one of nuclear energy, coal-based energy and wind energy.

23. A system for processing workload from a brokering service, the system comprising:

a processor; and

a memory operatively coupled to the processor and storing instructions which, when executed by the processor, cause the processor to perform operations comprising:

at a brokering service system, polling a plurality of compute resource environments to identify resource capabilities and a type of energy that powers each of the plurality of compute resource environments, each of the plurality of compute resource environments comprising a plurality of aggregated nodes for processing a workload;

receiving, at a first time, a request for compute resources at the brokering service system, the request for compute resources being associated with a service level agreement;

based on the resource capabilities across the plurality of compute resource environments and type of energy that powers each of the plurality of compute resource environments, reserving compute resources from the plurality of compute resource environments to yield reserved compute resources such that the workload can consume the reserved compute resources at a second time, which is later than the first time;

receiving the workload associated with the request and communicating the workload to the reserved compute resources for processing, wherein reserving the compute resources ensures that the processing at the second time complies with the service level agreement;

after communicating the workload associated with the request to the reserved compute resources, analyzing parameters associated with how the reserved compute resources are processing the workload associated with the request; and

if a threshold is met, identifying and reserving new compute resources from the plurality of compute resource environments and migrating the workload to the new compute resources.

24. The system of claim 23 , wherein the type of energy comprises one of nuclear energy, coal-based energy and wind energy.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2018
From: SILICON VALLEY BANK
To: ADAPTIVE COMPUTING ENTERPRISES, INC
Reel/Frame 045949/0257 →
CHANGE OF NAME Recorded Jul 7, 2017
From: CLUSTER RESOURCES, INC
To: ADAPTIVE COMPUTING ENTERPRISES, INC
Reel/Frame 043124/0503 →
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 21, 2016
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: III HOLDINGS 12, LLC
Reel/Frame 041116/0560 →
SECURITY INTEREST Recorded May 11, 2015
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: SILICON VALLEY BANK
Reel/Frame 035634/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2014
From: JACKSON, DAVID B.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 032976/0430 →
Continuity (6)
Continuation In Part 12752622 · Apr 1, 2010
Continuation 11276856 · Mar 16, 2006
Continuation 13418777
Continuation 12503424 · Jul 15, 2009
Provisional Application 60662240 · Mar 16, 2005
Related Publication 20120179824A1 · Jul 12, 2012