IP Library Granted Patent US 12,327,140
Granted Patent B2
US 12,327,140 · App. 18/669,635 · Granted Jun 10, 2025

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,327,140
App. No.
18/669,635
Granted
Jun 10, 2025
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 (40)

1. A system comprising:

a processor; and

a memory including instructions that are executable by the processor for causing the processor to:

receive historical information associated with a computing cluster, the historical information including a statistical distribution associated with a software component executed by the computing cluster during a prior timespan, wherein the statistical distribution indicates how many times the computing cluster executed distinct numbers of replicas of the software component during the prior timespan;

determine an assignment of a workload to the computing cluster based on a metric derived from the statistical distribution; and

cause the workload to be assigned to the computing cluster.

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

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

4. The system of claim 1 , wherein the computing cluster is an edge cluster at a physical edge of a distributed computing environment.

5. The system of claim 1 , wherein causing the workload to be assigned to the computing cluster comprises:

transmitting an indication of the assignment to a workload manager, wherein the workload manager is configured to cause the workload to be handled by the computing cluster.

6. The system of claim 1 , wherein the statistical distribution includes a first data value indicating a first number of times in which a first number of replicas of the software component concurrently executed in the computing cluster during the prior timespan, and the statistical distribution includes a second data value indicating a second number of times in which a second number of replicas of the software component concurrently executed in the computing cluster during the prior timespan.

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

determine an estimated resource usage by the computing cluster based on the workload and the metric; and

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

8. The system of claim 1 , wherein the historical information includes a plurality of statistical distributions associated with a plurality of software components executed by the computing cluster during the prior timespan.

9. A method comprising:

receiving, by a processor, historical information associated with a computing cluster, the historical information including a statistical distribution associated with a software component executed by the computing cluster during a prior timespan, wherein the statistical distribution indicates how many times the computing cluster executed distinct numbers of replicas of the software component during the prior timespan;

determining, by the processor, an assignment of a workload to the computing cluster based on a metric derived from the statistical distribution; and

causing, by the processor, the workload to be assigned to the computing cluster.

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

11. The method of claim 9 , wherein the computing cluster is an edge cluster at a physical edge of a distributed computing environment.

12. The method of claim 9 , wherein causing the workload to be assigned to the computing cluster comprises:

transmitting an indication of the assignment to a workload manager, wherein the workload manager causes the workload to be handled by the computing cluster.

13. The method of claim 9 , wherein the statistical distribution includes a first data value indicating a first number of times in which a first number of replicas of the software component concurrently executed in the computing cluster during the prior timespan, and the statistical distribution includes a second data value indicating a second number of times in which a second number of replicas of the software component concurrently executed in the computing cluster during the prior timespan.

14. The method of claim 9 , further comprising:

determining an estimated resource usage by the computing cluster based on the workload and the metric; and

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

15. The method of claim 9 , wherein the historical information includes a plurality of statistical distributions associated with a plurality of software components executed by the computing cluster during the prior timespan.

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

receive historical information associated with a computing cluster, the historical information including a statistical distribution associated with a software component executed by the computing cluster during a prior timespan, wherein the statistical distribution indicates how many times the computing cluster executed distinct numbers of replicas of the software component during the prior timespan;

determine an assignment of a workload to the computing cluster based on a metric derived from the statistical distribution; and

cause the workload to be assigned to the computing cluster.

17. The non-transitory computer-readable medium of claim 16 , wherein causing the workload to be assigned to the computing cluster comprises:

transmitting an indication of the assignment to a workload manager, wherein the workload manager is configured to cause the workload to be handled by the computing cluster.

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

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

determine an estimated resource usage by the computing cluster based on the workload and the metric; and

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

20. The non-transitory computer-readable medium of claim 16 , wherein the historical information includes a plurality of statistical distributions associated with a plurality of software components executed by the 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 Sep 23, 2024
From: CHEN, HUAMIN; DE SOTO, RICARDO NORIEGA
To: RED HAT, INC.
Reel/Frame 068658/0878 →
Continuity (2)
Continuation 17221236 · Apr 2, 2021
Related Publication 20240303123A1 · Sep 12, 2024
References Cited (55)
US 8495206B2 · Borghetti · 2013 [cited by examiner]
US 9513935B2 · Cardonha · 2016 [cited by examiner]
US 9912607B2 · Steinder · 2018 [cited by examiner]
US 10355946B1 · Dolas · 2019 [cited by examiner]
US 10581964B2 · Einkauf · 2020 [cited by examiner]
US 10791063B1 · Florissi · 2020 [cited by examiner]
US 10791168B1 · Dilley · 2020 [cited by examiner]
US 10997052B2 · Khosrowpour · 2021 [cited by examiner]
US 11500663B1 · Gupta · 2022 [cited by examiner]
US 11755458B2 · Richardson · 2023 [cited by examiner]
US 20070211743A1 · Zwernemann · 2007 [cited by examiner]
US 20120265804A1 · Ashcraft · 2012 [cited by examiner]
US 20120284408A1 · Dutta · 2012 [cited by examiner]
US 20130086593A1 · Sloma · 2013 [cited by examiner]
US 20140122387A1 · Chi · 2014 [cited by examiner]
US 20140207932A1 · Hyo · 2014 [cited by examiner]
US 20140280873A1 · Stickle · 2014 [cited by examiner]
US 20150153958A1 · Hoikka · 2015 [cited by examiner]
US 20160019245A1 · Padmanaabhan · 2016 [cited by examiner]
US 20160261622A1 · Danielson · 2016 [cited by examiner]
US 20160328273A1 · Molka · 2016 [cited by examiner]
US 20170235603A1 · Baughman · 2017 [cited by examiner]
US 20170235616A1 · Baughman · 2017 [cited by examiner]
US 20180074855A1 · Kambatla · 2018 [cited by examiner]
US 20180241802A1 · Bernat · 2018 [cited by examiner]
US 20180276050A1 · Gong · 2018 [cited by examiner]
US 20190147089A1 · Megahed · 2019 [cited by examiner]
US 20190205172A1 · Arolovitch · 2019 [cited by examiner]
US 20190220542A1 · Estruch Tena · 2019 [cited by examiner]
US 20190327303A1 · Chen · 2019 [cited by examiner]
US 20190386889A1 · Noorshams · 2019 [cited by examiner]
US 20200167195A1 · Aronovich · 2020 [cited by examiner]
US 20200233724A1 · Schmidt · 2020 [cited by examiner]
US 20200267053A1 · Zheng · 2020 [cited by examiner]
US 20200301801A1 · Hegde · 2020 [cited by examiner]
US 20200364086A1 · Gavali · 2020 [cited by examiner]
US 20200396311A1 · Shimamura · 2020 [cited by examiner]
US 20210218654A1 · Wang · 2021 [cited by examiner]
US 20210224102A1 · Desikachari · 2021 [cited by examiner]
US 20210232440A1 · Ranjan · 2021 [cited by examiner]
US 20210286699A1 · Jha · 2021 [cited by examiner]
US 20210342712A1 · Ferreira · 2021 [cited by examiner]
US 20210373951A1 · Malladi · 2021 [cited by examiner]
US 20220058098A1 · Hegde · 2022 [cited by examiner]
US 20220116337A1 · Jakab · 2022 [cited by examiner]
US 20220318065A1 · Chen · 2022 [cited by examiner]
US 20230012487A1 · Makaya · 2023 [cited by examiner]
US 20230221936A1 · Berra · 2023 [cited by examiner]
US 20230325256A1 · Sun · 2023 [cited by examiner]
US 20240303123A1 · Chen · 2024 [cited by examiner]
WO 2019135703A1 · 2019 [cited by applicant]
Rauscha, T., et al., “Optimized Container Scheduling for Data-Intensive Serverless Edge Computing,” Distributed Systems Group, 2020, https://www.researchgate.net/publication/343508665_Optimized_container_scheduling_for_… [cited by applicant]
Hong, C., et al., “Resource Management in Fog/Edge Computing: A Survey,” Chung-Ang University and Queen's University Belfast, 2018, https://arxiv.org/pdf/1810.00305.pdf. [cited by applicant]
European Patent Application No. 21181900.8, Extended EP Search Report dated Dec. 10, 2021, 12 pgs. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 17/221,236 issued Oct. 27, 2023. [cited by applicant]