IP Library Granted Patent US 12,020,070
Granted Patent B2
US 12,020,070 · App. 17/221,236 · Granted Jun 25, 2024

Managing computer workloads across distributed computing clusters

Inventors: Huamin Chen (Westboro, MA); Ricardo Noriega De Soto (Madrid, ES)
Assignee: RED HAT, INC.
G06F9/5027
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,020,070
App. No.
17/221,236
Granted
Jun 25, 2024
Kind
B2
Abstract

Computer workloads can be managed across distributed computing clusters according to some aspects of the present disclosure. In one example, a system can receive a request from a workload manager for identifying a computing cluster to which to assign a workload. The system can determine that the workload is to be assigned to a particular computing cluster among a plurality of computing clusters based on historical information about replica deployment by the particular computing cluster. The system can then transmit a response to the workload manager for causing the workload manager to assign the workload to the particular computing cluster.

Claims (52)

1. A system comprising:

a processor; and

a memory including instructions for a workload assignment module, the instructions being executable by the processor for causing the processor to:

receive a request from a workload manager for identifying a computing cluster to which to assign a workload;

receive historical information from a particular computing cluster, the historical information including a set of statistical distributions associated with a set of software components executed by the particular computing cluster during a prior timespan, wherein each statistical distribution in the set of statistical distributions indicates how many times the particular computing cluster executed different numbers of replicas of an associated software component during the prior timespan;

determine that the workload is to be assigned to the particular computing cluster among a plurality of computing clusters based on a metric derived from the set of statistical distributions in the historical information; and

transmit a response to the workload manager for causing the workload manager to assign the workload to the particular computing cluster.

2. The system of claim 1 , wherein the historical information includes statistical information about replicas of a software component deployed by the particular computing cluster during the prior timespan.

3. The system of claim 2 , wherein the software component is a serverless function or a microservice.

4. The system of claim 1 , wherein the plurality of computing clusters are edge clusters at physical edges of a distributed computing environment.

5. The system of claim 1 , wherein the workload manager is part of a telecommunication infrastructure that includes the plurality of computing clusters, and wherein the workload assignment module is external to the telecommunication infrastructure and in communication with the workload manager via the Internet.

6. The system of claim 1 , wherein the instructions are further executable by the processor for causing the processor to:

estimate resource usage by the particular computing cluster based on the workload and the metric; and

select the particular computing cluster from among the plurality of computing clusters in response to determining that the estimated resource usage is less than a resource-usage threshold for the particular computing cluster.

7. The system of claim 6 , wherein the instructions are further executable by the processor for causing the processor to estimate the resource usage associated with the particular computing cluster by:

determining a first mean of a first statistical distribution of the set of statistical distributions;

determining a second mean of a second statistical distribution of the set of statistical distributions; and

estimating the resource usage based on the first mean and the second mean.

8. The system of claim 6 , wherein the instructions are further executable by the processor for causing the processor to estimate the resource usage associated with the particular computing cluster by:

determining a first predefined percentile of a first statistical distribution of the set of statistical distributions;

determining a second predefined percentile of a second statistical distribution of the set of statistical distributions; and

estimating the resource usage based on the first predefined percentile and the second predefined percentile.

9. The system of claim 1 , wherein a statistical distribution of the set of statistical distributions corresponds to a particular software component, the statistical distribution including a first data value indicating a first number of times in which a first number of replicas of the particular software component concurrently executed in the particular computing cluster during the prior timespan, and the statistical distribution including a second data value indicating a second number of times in which a second number of replicas of the particular software component concurrently executed in the particular computing cluster during the prior timespan.

10. A method comprising:

receiving, by a processor, a request from a workload manager for identifying a computing cluster to which to assign a workload;

receiving, by the processor, historical information from a particular computing cluster, the historical information including a set of statistical distributions associated with a set of software components executed by the particular computing cluster during a prior timespan, wherein each statistical distribution in the set of statistical distributions indicates how many times the particular computing cluster executed different numbers of replicas of an associated software component during the prior timespan;

determining, by the processor, that the workload is to be assigned to the particular computing cluster among a plurality of computing clusters based on a metric derived from the set of statistical distributions in the historical information; and

transmitting, by the processor, a response to the workload manager for causing the workload manager to assign the workload to the particular computing cluster.

11. The method of claim 10 , wherein the historical information indicates statistical information about replicas of a software component deployed by the particular computing cluster during the prior timespan.

12. The method of claim 11 , wherein the software component is a serverless function or a microservice.

13. The method of claim 10 , wherein the plurality of computing clusters are edge clusters at physical edges of a distributed computing environment.

14. The method of claim 10 , further comprising:

estimating, by the processor, resource usage by the particular computing cluster based on the workload and the metric; and

selecting, by the processor, the particular computing cluster from among the plurality of computing clusters in response to determining that the estimated resource usage is less than a resource-usage threshold for the particular computing cluster.

15. The method of claim 14 , further comprising estimating the resource usage associated with the particular computing cluster by:

determining a first mean of a first statistical distribution of the set of statistical distributions;

determining a second mean of a second statistical distribution of the set of statistical distributions; and

estimating the resource usage based on the first mean and the second mean.

16. The method of claim 14 , further comprising estimating the resource usage associated with the particular computing cluster by:

determining a first predefined percentile of a first statistical distribution of the set of statistical distributions;

determining a second predefined percentile of a second statistical distribution of the set of statistical distributions; and

estimating the resource usage based on the first predefined percentile and the second predefined percentile.

17. The method of claim 10 , wherein a statistical distribution of the set of statistical distributions corresponds to a particular software component, the statistical distribution including a first data value indicating a first number of times in which a first number of replicas of the particular software component concurrently executed in the particular computing cluster during the prior timespan, and the statistical distribution including a second data value indicating a second number of times in which a second number of replicas of the particular software component concurrently executed in the particular computing cluster during the prior timespan.

18. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to:

receive a request from a workload manager for identifying a computing cluster to which to assign a workload;

receive historical information from a particular computing cluster, the historical information including a set of statistical distributions associated with a set of software components executed by the particular computing cluster during a prior timespan, wherein each statistical distribution in the set of statistical distributions indicates how many times the particular computing cluster executed different numbers of replicas of an associated software component during the prior timespan;

determine that the workload is to be assigned to the particular computing cluster among a plurality of computing clusters based on a metric derived from the set of statistical distributions in the historical information; and

transmit a response to the workload manager for causing the workload manager to assign the workload to the particular computing cluster.

19. The non-transitory computer-readable medium of claim 18 , further comprising program code that is executable by the processor for causing the processor to:

estimate resource usage by the particular computing cluster based on the workload and the metric; and

select the particular computing cluster from among the plurality of computing clusters in response to determining that the estimated resource usage is less than a resource-usage threshold for the particular computing cluster.

20. The non-transitory computer-readable medium of claim 18 , wherein a statistical distribution of the set of statistical distributions corresponds to a particular software component, the statistical distribution including a first data value indicating a first number of times in which a first number of replicas of the particular software component concurrently executed in the particular computing cluster during the prior timespan, and the statistical distribution including a second data value indicating a second number of times in which a second number of replicas of the particular software component concurrently executed in the particular computing cluster during the prior timespan.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2021
From: CHEN, HUAMIN; DE SOTO, RICARDO NORIEGA
To: RED HAT, INC.
Reel/Frame 055808/0570 →
Continuity (1)
Related Publication 20220318065A1 · Oct 6, 2022
Cited By (2)
US 12,468,569 US 12,493,486