IP Library › Granted Patent US 11,706,105
Granted Patent B2
US 11,706,105 · App. 17/644,105 · Granted Jul 18, 2023

Selecting low priority pods for guaranteed runs

Inventors: Renganathan Sundararaman (Cary, NC); Krishnan Venkitasubramanian (Bengaluru, IN); Sundaragopal Venkatraman (Chennai, IN); Ramakrishna Alavala (Podili, IN); Gayatri Renganathan (Cary, NC)
Assignee: International Business Machines Corporation
H04L41/5022H04L41/16H04L67/1023
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 11,706,105
App. No.
17/644,105
Granted
Jul 18, 2023
Kind
B2
Abstract

Service assurance is provided. A low priority pod corresponding to a low priority service in an orchestration platform that is to be evicted due to a predicted peak load period of a high priority service is identified based on analysis of historical and resource information. The low priority service corresponding to the low priority pod that is to be evicted due to the predicted peak load period of the high priority service is marked as an assured service for a guaranteed run in response to receiving an input from a user who was notified regarding eviction of the low priority pod. The low priority pod corresponding to the low priority service that is to be evicted due to the predicted peak load period of the high priority service is provisioned on a second host node prior to the eviction of the low priority pod from a first host node.

Claims (69)

1. A computer-implemented method for service assurance, the computer-implemented method comprising:

identifying, by a computer, a low priority pod corresponding to a low priority service in an orchestration platform that is to be evicted due to a predicted peak load period of a high priority service based on analysis of historical and resource information;

informing, by the computer, a user regarding disruption of the low priority service based on the eviction of the low priority pod in response to determining that the low priority service will be affected by evicting the low priority pod;

marking, by the computer, the low priority service corresponding to the low priority pod that is to be evicted due to the predicted peak load period of the high priority service as an assured service for a guaranteed run in response to receiving an input from a user who was notified regarding eviction of the low priority pod;

determining, by the computer, whether the user marked the low priority service as an assured service;

provisioning, by the computer, the low priority pod corresponding to the low priority service that is to be evicted due to the predicted peak load period of the high priority service on a second host node prior to the eviction of the low priority pod from a first host node; and

evicting, by the computer, using a scheduler, the low priority pod from the first host node of the orchestration platform in response to determining that the user did not mark the low priority service as an assured service.

2. The computer-implemented method of claim 1 further comprising:

receiving, by the computer, an input to add the high priority service to the orchestration platform; and

estimating, by the computer, using an artificial intelligence component, resources needed for services in the orchestration platform including the high priority service to be added in response to receiving the input to add the high priority service to the orchestration platform.

3. The computer-implemented method of claim 2 further comprising:

identifying, by the computer, using the artificial intelligence component, the low priority pod corresponding to the low priority service that needs to be evicted based on the resources needed for the high priority service to be added and the services in the orchestration platform.

4. The computer-implemented method of claim 1 further comprising:

determining, by the computer, whether the low priority service will be affected by evicting the low priority pod;

evicting, by the computer, using a scheduler, the low priority pod from the first host node of the orchestration platform in response to determining that the low priority service will not be affected by evicting the low priority pod; and

deploying, by the computer, using the scheduler, a high priority pod corresponding to the high priority service on the first host node of the orchestration platform.

5. The computer-implemented method of claim 1 further comprising:

determining, by the computer, whether a similar host node is available in a same cluster as the first host node for scheduling the low priority service that will be affected by evicting the low priority pod in response to determining that the user did mark the low priority service as an assured service, wherein the similar host node is the second host node; and

provisioning, by the computer, the low priority pod corresponding to the low priority service on the second host node in the same cluster as the first host node in response to determining that the second host node is available in the same cluster as the first host node for scheduling the low priority service that will be affected by evicting the low priority pod.

6. The computer-implemented method of claim 1 further comprising:

determining, by the computer, whether the low priority pod that is to be evicted can be resized on a heterogeneous host node in a same cluster as the first host node in response to determining that a similar host node is not available in the same cluster as the first host node for scheduling the low priority service that will be affected by evicting the low priority pod, wherein the heterogeneous host node is the second host node;

resizing, by the computer, the low priority pod corresponding to the low priority service to form a resized low priority pod in response to determining that the low priority pod that is to be evicted can be resized on the second host node in the same cluster; and

provisioning, by the computer, the resized low priority pod corresponding to the low priority service on the second host node in the same cluster.

7. The computer-implemented method of claim 1 further comprising:

determining, by the computer, whether the low priority pod that is to be evicted can be moved to a host node in a different cloud in a hybrid multi-cloud environment in response to determining that the low priority pod that is to be evicted cannot be resized on a heterogeneous host node in a same cluster as the first host node, wherein the host node in the different cloud is the second host node; and

instructing, by the computer, a scheduler to schedule the low priority pod corresponding to the low priority service on the second host node in the different cloud in the hybrid multi-cloud environment.

8. The computer-implemented method of claim 1 , wherein the historical and resource information includes at least one of number of running pods in the orchestration platform, priority of each respective running pod, number of host nodes used to run pods within a cluster with multiple workloads, current and historic maximum, minimum, and average pod utilization metrics, current and historic maximum, minimum, and average host node utilization metrics, high priority pod scaling up history and corresponding timelines, low priority pod eviction history during peak load periods, host node specification information, peak load pattern for each respective high priority workload deployment, workload deployment dates and times for respective pods, or growth rate of pods and resource utilization during peak load periods.

9. A computer system for service assurance, the computer system comprising:

a bus system;

a storage device connected to the bus system, wherein the storage device stores program instructions; and

a processor connected to the bus system, wherein the processor executes the program instructions to:

identify a low priority pod corresponding to a low priority service in an orchestration platform that is to be evicted due to a predicted peak load period of a high priority service based on analysis of historical and resource information;

inform a user regarding disruption of the low priority service based on the eviction of the low priority pod in response to determining that the low priority service will be affected by evicting the low priority pod;

mark the low priority service corresponding to the low priority pod that is to be evicted due to the predicted peak load period of the high priority service as an assured service for a guaranteed run in response to receiving an input from a user who was notified regarding eviction of the low priority pod;

determine whether the user marked the low priority service as an assured service;

provision the low priority pod corresponding to the low priority service that is to be evicted due to the predicted peak load period of the high priority service on a second host node prior to the eviction of the low priority pod from a first host node; and

evict using a scheduler, the low priority pod from the first host node of the orchestration platform in response to determining that the user did not mark the low priority service as an assured service.

10. The computer system of claim 9 , wherein the processor further executes the program instructions to:

receive an input to add the high priority service to the orchestration platform; and

estimate, using an artificial intelligence component, resources needed for services in the orchestration platform including the high priority service to be added in response to receiving the input to add the high priority service to the orchestration platform.

11. The computer system of claim 10 , wherein the processor further executes the program instructions to:

identify, using the artificial intelligence component, the low priority pod corresponding to the low priority service that needs to be evicted based on the resources needed for the high priority service to be added and the services in the orchestration platform.

12. The computer system of claim 9 , wherein the processor further executes the program instructions to:

determine whether the low priority service will be affected by evicting the low priority pod;

evict, using a scheduler, the low priority pod from the first host node of the orchestration platform in response to determining that the low priority service will not be affected by evicting the low priority pod; and

deploy, using the scheduler, a high priority pod corresponding to the high priority service on the first host node of the orchestration platform.

13. A computer program product for service assurance, the computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method of:

identifying, by the computer, a low priority pod corresponding to a low priority service in an orchestration platform that is to be evicted due to a predicted peak load period of a high priority service based on analysis of historical and resource information;

informing, by the computer, a user regarding disruption of the low priority service based on the eviction of the low priority pod in response to determining that the low priority service will be affected by evicting the low priority pod;

marking, by the computer, the low priority service corresponding to the low priority pod that is to be evicted due to the predicted peak load period of the high priority service as an assured service for a guaranteed run in response to receiving an input from a user who was notified regarding eviction of the low priority pod;

determining, by the computer, whether the user marked the low priority service as an assured service;

provisioning, by the computer, the low priority pod corresponding to the low priority service that is to be evicted due to the predicted peak load period of the high priority service on a second host node prior to the eviction of the low priority pod from a first host node; and

evicting, by the computer, using a scheduler, the low priority pod from the first host node of the orchestration platform in response to determining that the user did not mark the low priority service as an assured service.

14. The computer program product of claim 13 further comprising:

receiving, by the computer, an input to add the high priority service to the orchestration platform; and

estimating, by the computer, using an artificial intelligence component, resources needed for services in the orchestration platform including the high priority service to be added in response to receiving the input to add the high priority service to the orchestration platform.

15. The computer program product of claim 14 further comprising:

identifying, by the computer, using the artificial intelligence component, the low priority pod corresponding to the low priority service that needs to be evicted based on the resources needed for the high priority service to be added and the services in the orchestration platform.

16. The computer program product of claim 13 further comprising:

determining, by the computer, whether the low priority service will be affected by evicting the low priority pod;

evicting, by the computer, using a scheduler, the low priority pod from the first host node of the orchestration platform in response to determining that the low priority service will not be affected by evicting the low priority pod; and

deploying, by the computer, using the scheduler, a high priority pod corresponding to the high priority service on the first host node of the orchestration platform.

17. The computer program product of claim 13 further comprising:

determining, by the computer, whether a similar host node is available in a same cluster as the first host node for scheduling the low priority service that will be affected by evicting the low priority pod in response to determining that the user did mark the low priority service as an assured service, wherein the similar host node is the second host node; and

provisioning, by the computer, the low priority pod corresponding to the low priority service on the second host node in the same cluster as the first host node in response to determining that the second host node is available in the same cluster as the first host node for scheduling the low priority service that will be affected by evicting the low priority pod.

18. The computer program product of claim 13 further comprising:

determining, by the computer, whether the low priority pod that is to be evicted can be resized on a heterogeneous host node in a same cluster as the first host node in response to determining that a similar host node is not available in the same cluster as the first host node for scheduling the low priority service that will be affected by evicting the low priority pod, wherein the heterogeneous host node is the second host node;

resizing, by the computer, the low priority pod corresponding to the low priority service to form a resized low priority pod in response to determining that the low priority pod that is to be evicted can be resized on the second host node in the same cluster; and

provisioning, by the computer, the resized low priority pod corresponding to the low priority service on the second host node in the same cluster.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2021
From: SUNDARARAMAN, RENGANATHAN; VENKITASUBRAMANIAN, KRISHNAN; VENKATRAMAN, SUNDARAGOPAL; ALAVALA, RAMAKRISHNA; RENGANATHAN, GAYATRI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058379/0130 →
Continuity (1)
Related Publication 20230188433A1 · Jun 15, 2023