IP Library Granted Patent US 12,147,848
Granted Patent B2
US 12,147,848 · App. 17/445,543 · Granted Nov 19, 2024

Efficient node identification for executing cloud computing workloads

Inventor: Yaniv Kaul (Ra'anana, IL)
Assignee: Red Hat, Inc.
G06F9/5083G06F9/4406G06F9/5033G06F9/5044G06F9/5077
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,147,848
App. No.
17/445,543
Granted
Nov 19, 2024
Kind
B2
Abstract

A workload execution manager receives a request to execute a workload process in a cloud computing environment, where the cloud computing environment comprises a plurality of nodes; identifies a set of eligible nodes of the plurality of nodes for executing the workload process; determines whether a first eligible node of the set of eligible nodes satisfies a version threshold; responsive to determining that the first eligible node satisfies the version threshold, selects the first eligible node as a target node for executing the workload process; and executes the workload process on the target node.

Claims (69)

1. A method, comprising:

receiving a request to execute a workload process in a cloud computing environment, wherein the cloud computing environment comprises a plurality of nodes, and wherein the workload process is scheduled to be executed on a to-be-updated node in the plurality of nodes;

identifying a set of eligible nodes of the plurality of nodes for executing the workload process;

determining, by a processing device, whether a first eligible node of the set of eligible nodes satisfies a version threshold;

responsive to determining that the first eligible node satisfies the version threshold, selecting the first eligible node as a target node for executing the workload process; and

executing the workload process on a first pod of the target node instead of the to-be-updated node.

2. The method of claim 1 , wherein identifying the set of eligible nodes of the plurality of nodes for executing the workload process comprises:

determining one or more node resource preferences associated with the workload process;

comparing the one or more node resource preferences to resource attributes for each node of the plurality of nodes; and

identifying the set of eligible nodes in view of the comparing.

3. The method of claim 2 , wherein the one or more node resource preferences comprise at least one of a processor preference, a memory allocation preference, a graphics processing unit (GPU) preference, a virtual machine (VM) preference, or a storage allocation preference.

4. The method of claim 1 , wherein determining whether the first eligible node of the set of eligible nodes satisfies the version threshold comprises:

receiving information indicating an operating system (OS) version preference associated with the workload process;

determining whether the OS version preference associated with the workload process matches an OS version associated with the first eligible node; and

responsive to determining the OS version preference matches the OS version associated with the first eligible node, determining that the first eligible node satisfies the version threshold.

5. The method of claim 4 , further comprising:

responsive to determining the OS version preference does not match the OS version associated with the first eligible node:

determining that the first eligible node does not satisfy the version threshold; and

selecting another node from the set of eligible nodes for executing the workload process.

6. The method of claim 1 , wherein determining whether the first eligible node of the set of eligible nodes satisfies the version threshold comprises:

determining a corresponding operating system (OS) version for each node of the set of eligible nodes;

determining whether an OS version associated with the first eligible node is a most recently released OS version in relation to the corresponding OS version for other nodes of the set of eligible nodes; and

responsive to determining that the OS version associated with the first eligible node is the most recently released OS version in relation to the corresponding OS version for other nodes of the set of eligible nodes, determining that the first eligible node satisfies the version threshold.

7. The method of claim 5 , wherein the OS version preference comprises at least one of a specific OS version or a most recently released OS version.

8. The method of claim 1 , wherein the workload process comprises at least one of a container process, a virtual machine (VM) process, or an application process.

9. The method of claim 1 , wherein at least a portion of the workload process is executed while at least a portion of an update process is performed on the to-be-updated node.

10. A system, comprising:

a memory; and

a processing device, operatively coupled to the memory, to:

receive a request to execute a workload process in a cloud computing environment, wherein the cloud computing environment comprises a plurality of nodes, and wherein the workload process is scheduled to be executed on a to-be-updated node in the plurality of nodes;

identify a set of eligible nodes of the plurality of nodes for executing the workload process;

select, in view of a version threshold, a first eligible node from the set of eligible nodes as a target node for executing the workload process; and

execute the workload process on a first pod of the target node instead of the to-be-updated node.

11. The system of claim 10 , wherein to identify the set of eligible nodes of the plurality of nodes for executing the workload process, the processing device is further to:

determine one or more node resource preferences associated with the workload process;

compare the one or more node resource preferences to resource attributes for each node of the plurality of nodes; and

identify the set of eligible nodes in view of the comparison.

12. The system of claim 11 , wherein the one or more node resource preferences comprise at least one of a processor preference, a memory allocation preference, a graphics processing unit (GPU) preference, a virtual machine (VM) preference, or a storage allocation preference.

13. The system of claim 10 , wherein the processing device is further to:

receive information indicating an operating system (OS) version preference associated with the workload process;

determine whether the OS version preference associated with the workload process matches an OS version associated with the first eligible node; and

responsive to a determination that the OS version preference matches the OS version associated with the first eligible node, determine that the first eligible node satisfies the version threshold.

14. The system of claim 13 , wherein the processing device is further to:

responsive to a determination that the OS version preference does not match the OS version associated with the first eligible node:

determine that the first eligible node does not satisfy the version threshold; and

select another node from the set of eligible nodes for executing the workload process.

15. The system of claim 10 , wherein the processing device is further to:

determine a corresponding operating system (OS) version for each node of the set of eligible nodes;

determine whether an OS version associated with the first eligible node is a most recently released OS version in relation to the corresponding OS version for other nodes of the set of eligible nodes; and

responsive to a determination that the OS version associated with the first eligible node is the most recently released OS version in relation to the corresponding OS version for other nodes of the set of eligible nodes, determine that the first eligible node satisfies the version threshold.

16. The system of claim 13 , wherein the OS version preference comprises at least one of a specific OS version or a most recently released OS version.

17. A non-transitory computer-readable medium comprising instructions, which when accessed by a processing device, cause the processing device to:

receive a request to execute a workload process in a cloud computing environment, wherein the cloud computing environment comprises a plurality of nodes, and wherein the workload process is scheduled to be executed on a to-be-updated node in the plurality of nodes;

identify a set of eligible nodes of the plurality of nodes for executing the workload process;

determine, by the processing device, whether a first eligible node of the set of eligible nodes satisfies a version threshold;

responsive to a determination that the first eligible node satisfies the version threshold, select the first eligible node as a target node for executing the workload process; and

execute the workload process on a first pod of the target node instead of the to-be-updated node.

18. The non-transitory computer-readable medium of claim 17 , wherein to identify the set of eligible nodes of the plurality of nodes for executing the workload process, the instructions, when accessed by the processing device, cause the processing device further to:

determine one or more node resource preferences associated with the workload process;

compare the one or more node resource preferences to resource attributes for each node of the plurality of nodes; and

identify the set of eligible nodes in view of the comparison.

19. The non-transitory computer-readable medium of claim 17 , wherein to determine whether the first eligible node of the set of eligible nodes satisfies the version threshold, the instructions, when accessed by the processing device, cause the processing device further to:

receive information indicating an operating system (OS) version preference associated with the workload process;

determine whether the OS version preference associated with the workload process matches an OS version associated with the first eligible node; and

responsive to a determination that the OS version preference matches the OS version associated with the first eligible node, determine that the first eligible node satisfies the version threshold.

20. The non-transitory computer-readable medium of claim 17 , wherein to determine whether the first eligible node of the set of eligible nodes satisfies the version threshold, the instructions, when accessed by the processing device, cause the processing device further to:

determine a corresponding operating system (OS) version for each node of the set of eligible nodes;

determine whether an OS version associated with the first eligible node is a most recently released OS version in relation to the corresponding OS version for other nodes of the set of eligible nodes; and

responsive to a determination that the OS version associated with the first eligible node is the most recently released OS version in relation to the corresponding OS version for other nodes of the set of eligible nodes, determine that the first eligible node satisfies the version threshold.

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 Aug 20, 2021
From: KAUL, YANIV
To: RED HAT, INC.
Reel/Frame 057242/0380 →