IP Library Granted Patent US 12,120,040
Granted Patent B2
US 12,120,040 · App. 17/722,076 · Granted Oct 15, 2024

On-demand compute environment

Inventor: David Brian Jackson (Spanish Fork, UT)
Assignee: III Holdings 12, LLC
H04L47/80G06F9/5027G06F9/5061G06F9/5072G06F9/5077G06Q10/06H04L47/70H04L67/10H04L67/1001H04L67/125G06F11/2038G06F15/173G06F2209/5014G06F2209/509G08C17/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 12,120,040
App. No.
17/722,076
Granted
Oct 15, 2024
Kind
B2
Abstract

An on-demand compute environment comprises a plurality of nodes within an on-demand compute environment available for provisioning and a slave management module operating on a dedicated node within the on-demand compute environment, wherein upon instructions from a master management module at a local compute environment, the slave management module modifies at least one node of the plurality of nodes.

Claims (69)

1. A method of operating a compute environment comprising a plurality of resources so as to provide a plurality of logically independent clusters to respective ones of a plurality of users or organizations, the method comprising:

identifying a plurality of resource requirements associated with respective ones of the plurality of users or organizations;

causing partitioning of at least part of the plurality of resources based at least on the identified plurality of resource requirements, the partitioning enabling allocation of respective portions of the at least part of the plurality of resources to only the respective plurality of users or organizations for use thereby as a logically independent cluster such that each of the respective plurality of users or organizations have dedicated access to the respective portions of the at least part of the plurality of resources portioned therefor; and

presenting each of the plurality of users or organizations with respective access to only one or more aspects of the logically independent cluster allocated thereto, the presenting comprising (i) presenting only one or more first services which the respective user or organization utilizes or has utilized for processing of workload, and (ii) selectively excluding presentation of one or more second services which do not relate to the logically independent cluster of the respective user or organization.

2. The method of claim 1 , wherein:

the compute environment comprises one or more commonly managed clusters, each of the one or more clusters comprising a plurality of compute nodes; and

each of the plurality of users or organizations are separately or independently managed.

3. The method of claim 2 , further comprising:

receiving data indicative of one or more changes to at least one of the identified plurality of resource requirements; and

based at least on the received data, dynamically varying the allocation of at least one of the respective portions to accommodate the one or more changes.

4. The method of claim 3 , wherein the one or more changes comprise changes to one or more quality of service or service level requirements.

5. The method of claim 1 , wherein:

the identifying the plurality of resource requirements associated with each of the respective ones of the plurality of users or organizations comprises identifying at least one quality of service (QOS) or service level requirement associated with at least one of the plurality of users or organizations; and

the causing partitioning of at least part of the plurality of resources based at least on the identified plurality of resource requirements comprises causing partitioning so as to ensure the at least one QoS or service level requirement is at least met.

6. The method of claim 1 , wherein the presenting each of the plurality of users or organizations with respective access to only one or more aspects of the logically independent cluster allocated thereto, comprises presentation of only resources which the respective user or organization may utilize for processing of workload.

7. The method of claim 1 , wherein the presenting each of the plurality of users or organizations with respective access to only one or more aspects of the logically independent cluster allocated thereto, comprises presentation of only jobs or workload submitted by the respective user or organization.

8. The method of claim 1 , wherein the presenting each of the plurality of users or organizations with respective access to only one or more aspects of the logically independent cluster allocated thereto, comprises presentation of only one or more users or user credentials for the respective user or organization.

9. The method of claim 1 , wherein at least one of (i) the identifying a plurality of resource requirements associated with each of the respective ones of the plurality of users or organizations, or (ii) causing partitioning of at least part of the plurality of resources based at least on the identified plurality of resource requirements, comprises implementing at least one respective partitioning policy for each of the respective ones of the plurality of users or organizations.

10. The method of claim 1 , further comprising:

monitoring one or more conditions; and

based at least on the monitoring, dynamically varying the allocation of at least one of the respective portions.

11. The method of claim 10 , wherein the dynamically varying the allocation of at least one of the respective portions comprises dynamically varying in accordance with one or more virtual cluster-specific or user-specific policies.

12. The method of claim 10 , wherein the dynamically varying the allocation of at least one of the respective portions comprises dynamically varying in accordance with one or more policies applicable to an entirety of the compute environment.

13. The method of claim 10 , wherein the one or more conditions comprise a then-current load on at least one of (i) the compute environment, or (ii) the one or more logically independent clusters.

14. The method of claim 10 , wherein the one or more conditions comprises a temporal condition or state.

15. The method of claim 14 , wherein the temporal condition or state comprises one of (i) a guaranteed or required response time for processing of workload, or (ii) a particular calendared event.

16. A method of providing virtual compute clusters to respective ones of a plurality of users using one or more commonly managed compute environments, the method comprising:

identifying a plurality of resource requirements associated with respective ones of the plurality of users; and

causing partitioning of resources of the one or more commonly managed compute environments based at least on the identified plurality of resource requirements thereby generating respective partitions, the partitioning enabling allocation of respective portions of the resources to the respective plurality of users for concurrent use thereby as respective virtual compute clusters, wherein each of the respective plurality of users have exclusive access to the respective portions of the resources partitioned therefor; and

wherein the partitioning is performed so as to (i) at least provide at least some of the plurality of users with guaranteed availability of resources allocated to their respective virtual compute cluster for at least a period of time, and (ii) allow modification of the resources in support of one or more policies affecting both a) the at least some of the plurality of users and b) other users not part of the plurality of users, the modification being transparent to the at least some of the plurality of users.

17. The method of claim 16 , wherein the sharing of at least some of the resources by two or more of the plurality of users comprises sharing which is dynamically modified as a function of at least one of a) time, or b) load on at least one of the virtual compute clusters.

18. The method of claim 16 , further comprising providing load-balancing between at least two of the virtual compute clusters, the providing load-balancing between at least two of the virtual compute clusters comprises providing the load-balancing between at least two of the at least some of the plurality of users having guaranteed resource availability.

19. The method of claim 16 , wherein the guaranteed resource availability is sufficient to at least meet the plurality of resource requirements associated with the at least some of the plurality of users.

20. The method of claim 16 , wherein:

the one or more commonly managed compute environments comprise two or more commonly managed compute environments;

the partitioning is further performed so as to at least reduce over-specification of resources of the two or more commonly managed compute environments for workload, relative to a non-virtual clustered environment; and

the at least reduction of the over-specification of resources increases an efficiency of resource utilization within the two or more commonly managed compute environments.

21. A method of operating a compute environment comprising a plurality of resources so as to provide a plurality of logically independent clusters to respective ones of a plurality of users or organizations, the method comprising:

identifying a plurality of resource requirements associated with respective ones of the plurality of users or organizations;

causing partitioning of at least part of the plurality of resources based at least on the identified plurality of resource requirements, the partitioning enabling allocation of respective portions of the at least part of the plurality of resources to the respective plurality of users or organizations for use thereby as a logically independent cluster; and

presenting each of the plurality of users or organizations with respective access to only one or more aspects of the logically independent cluster allocated thereto, wherein the access comprises at least exclusive control of particular resources associated with the logically independent cluster, the one or more aspects of the logically independent cluster relating to one more particular services associated with a particular department of an organization or company.

22. The method of claim 21 , further comprising varying the partition boundaries.

23. A commonly managed compute environment configured for provision of a plurality of virtual private clusters, comprising:

a plurality of resources, at least some of the resources which may be shared by two or more users of the commonly managed compute environment; and

at least one computerized management process in data communication with the plurality of resources and comprising computerized logic configured to, when executed:

access data identifying two or more requirements for resources associated with respective ones of the two or more users;

aggregate portions of the plurality of resources associated with respective ones of services via utilization of respective ones of a plurality of APIs (application programming interfaces) associated with the respective ones of services, the aggregation comprising (i) retrieval, via at least data communication with each of the plurality of APIs, of data related to each of the plurality of APIs and (ii) correlation of at least portions of the data related to each of the plurality of APIs with other portions of the data related to each of the plurality of APIs;

cause partitioning of the aggregated portions of the plurality of resources based at least on the identified two or more requirements for resources, the partitioning comprising allocation of two or more respective portions of the plurality of resources to the respective two or more users for concurrent and exclusive use thereby as respective virtual compute clusters; and

thereafter, based at least on second data received by the computerized management process, the second data regarding one or more monitored parameters, cause dynamic modification of the partitioning to generate two or more new respective portions of the plurality of resources for allocation to the respective two or more users, at least one of the two or more new respective portions comprising at least some different ones of the plurality of resources.

24. The commonly managed compute environment of claim 23 , wherein the computerized logic is further configured to, when executed:

receive policy data relating to respective one or more resource usage policies associated with respective ones of the two or more users; and

utilize at least a portion of the received policy data in performance of at least one of (i) the partitioning of the plurality of resources, or (ii) the dynamic modification of the partitioning.

25. The commonly managed compute environment of claim 23 , wherein:

at least one of (i) the partitioning of the plurality of resources, or (ii) the dynamic modification of the partitioning, is configured to obey or meet the at least one QoS or service level requirement.

26. The commonly managed compute environment of claim 23 , wherein the one or more monitored parameters comprise at least one of: (i) then-current load on at least a portion of the commonly managed compute environment, or (ii) a predicted future load on at least a portion of the commonly managed compute environment.

27. The commonly managed compute environment of claim 23 , wherein the one or more monitored parameters comprises a backlog of workload associated with one or more users of the commonly managed compute environment.

28. The commonly managed compute environment of claim 27 , wherein the allocation of two or more respective portions of the plurality of resources to the respective two or more users for concurrent use thereby as respective virtual compute clusters comprises allocation only if a threshold for the backlog of the workload is exceeded for workloads with higher priority than other workloads.

29. The commonly managed compute environment of claim 23 , wherein:

the plurality of resources comprises a plurality of compute nodes or hosts; and

the allocation of two or more respective portions of the plurality of resources to the respective two or more users for concurrent use thereby as respective virtual compute clusters comprises aggregation of at least two of the compute nodes or hosts that are in data communication with one another over an existing network connection into at least one of the virtual compute clusters.

30. The commonly managed compute environment of claim 29 , wherein:

the plurality of resources further comprises at least one of: a) one or more network resources, or b) one or more data storage management resources; and

the allocation of two or more respective portions of the plurality of resources to the respective two or more users for concurrent use thereby as respective virtual compute clusters comprises aggregation of the at least one of a) or b) together with the at least one of the virtual compute clusters.

31. The commonly managed compute environment of claim 23 , wherein:

the one or more monitored parameters comprises a failure of a node of one of the respective virtual compute clusters; and

the allocation of two or more respective portions of the plurality of resources to the respective two or more users for concurrent use thereby as respective virtual compute clusters comprises allocation based at least on the failure.

32. The commonly managed compute environment of claim 23 , wherein:

the one or more monitored parameters comprises a license becoming unavailable; and

the allocation of two or more respective portions of the plurality of resources to the respective two or more users for concurrent use thereby as respective virtual compute clusters comprises allocation based at least on the license becoming unavailable.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2022
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: III HOLDINGS 12, LLC
Reel/Frame 059619/0843 →
CONFIRMATORY ASSIGNMENT Recorded Apr 18, 2022
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 059723/0870 →
CHANGE OF NAME Recorded Apr 18, 2022
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 059723/0875 →
Continuity (6)
Continuation 14827927 · Aug 17, 2015
Continuation 13758164 · Feb 4, 2013
Continuation 12752622 · Apr 1, 2010
Continuation 11276856 · Mar 16, 2006
Provisional Application 60662240 · Mar 16, 2005
Related Publication 20220247694A1 · Aug 4, 2022
Cited By (2)
US 12,218,859 US 12,554,546