IP Library Granted Patent US 12,566,638
Granted Patent B2
US 12,566,638 · App. 18/050,166 · Granted Mar 3, 2026

Container resource autoscaling by control plane

Inventors: Chen Wang (Chappaqua, NY); Huamin Chen (Westford, MA)
Assignee: International Business Machines Corporation
G06F9/5044G06F9/5038G06F9/505
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,566,638
App. No.
18/050,166
Granted
Mar 3, 2026
Kind
B2
Abstract

Embodiments relate to container resource autoscaling by a control plane. According to an aspect, a computer-implemented method includes receiving and intercepting a request from a software application by a proxy, the request for a service provided by a backend service of one or more control plane components. A processing device of the proxy determines, based on the intercepted request, an amount of resources to be assigned to or updated in the backend service. The processing device causes a control plane scaler coupled to the one or more control plane components to request the determined amount of resources for the backend service. Upon receiving a confirmation that the determined amount of resources is available in the backend service, the processing device forwards from the proxy, the intercepted request to the backend service.

Claims (70)

1 . A computer-implemented method comprising:

receiving and intercepting a request from a software application by a proxy, the request for a service provided by a backend service of one or more control plane components;

determining, by a processing device of the proxy based on the intercepted request, an amount of resources to be assigned to or updated in the backend service;

causing, by the processing device, a control plane scaler coupled to the one or more control plane components to request the determined amount of resources for the backend service; and

upon receiving a confirmation that the determined amount of resources is available in the backend service, forwarding, by the processing device from the proxy, the intercepted request to the backend service,

wherein, in response to determining that an idle period has been reached based on the intercepted request, the processing device automatically causes the control plane scaler to transition the backend service from an active state to a hibernation state, thereby reducing power consumption and freeing up computational resources, and further causes the backend service to transition from the hibernation state to the active state upon receiving a subsequent request.

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

determining, by the processing device of the proxy, that an idle period has been reached, the idle period measured based on the intercepted request;

determining, based on the idle period, the amount of resources to be assigned to or updated in the backend service is zero; and

causing, by the processing device via the control plane scaler, the backend service to hibernate based on determining that the amount of resources to be assigned to or updated in the backend service is zero.

3 . The computer-implemented method of claim 1 , wherein the one or more control plane components are responsible for managing one or more nodes in a storage cluster.

4 . The computer-implemented method of claim 1 , wherein the proxy comprises a hypertext transfer protocol (HTTP) or HTTP Secure (HTTPS) proxy.

5 . The computer-implemented method of claim 1 , wherein the one or more control plane components comprise a plurality of components in a cluster, the components comprising one or more of an application program interface (API) server, a persistence store, a scheduler, a controller manager, a cloud-controller-manager, and an API aggregator.

6 . The computer-implemented method of claim 1 , wherein determining the amount of resources to be assigned to or updated in the backend service is based on at least one of:

a rate of receiving one or more requests for the backend service;

a latency of the one or more requests;

a variety of types of requests of the one or more requests; and

a priority level of the one or more requests.

7 . The computer-implemented method of claim 1 , wherein determining the amount of resources to be assigned to or updated in the backend service comprises determining at least one of:

a number of central processing unit (CPU) cores;

a respective operating frequency of the number of CPU cores;

an amount of random access memory (RAM); and

a network bandwidth for the backend service.

8 . A system comprising:

a memory; and

a processing device coupled to the memory, the processing device configured to execute instructions to:

receive and intercept a request from a software application by a proxy, the request for a service provided by a backend service of one or more control plane components;

determine, by a processing device of the proxy based on the intercepted request, an amount of resources to be assigned to or updated in the backend service;

cause, by the processing device, a control plane scaler coupled to the one or more control plane components to request the determined amount of resources for the backend service; and

upon receiving a confirmation that the determined amount of resources is available in the backend service, forward, by the processing device from the proxy, the intercepted request to the backend service

wherein, in response to determining that an idle period has been reached based on the intercepted request, the processing device automatically causes the control plane scaler to transition the backend service from an active state to a hibernation state, thereby reducing power consumption and freeing up computational resources, and further causes the backend service to transition from the hibernation state to the active state upon receiving a subsequent request.

9 . The system of claim 8 , wherein the processing device and the memory are further configured to:

determine, by the processing device of the proxy, that an idle period has been reached, the idle period measured based on the intercepted request;

determine, based on the idle period, the amount of resources to be assigned to or updated in the backend service is zero; and

cause, by the processing device via the control plane scaler, the backend service to hibernate based on determining that the amount of resources to be assigned to or update in the backend service is zero.

10 . The system of claim 8 , wherein the one or more control plane components are responsible for managing one or more nodes in a storage cluster.

11 . The system of claim 8 , wherein the proxy comprises a hypertext transfer protocol (HTTP) or HTTP Secure (HTTPS) proxy.

12 . The system of claim 8 , wherein the one or more control plane components comprise a plurality of components in a cluster, the components comprising one or more of an application program interface (API) server, a persistence store, a scheduler, a controller manager, a cloud-controller-manager, and an API aggregator.

13 . The system of claim 8 , wherein the processing device and the memory are configured to determine the amount of resources to be assigned to or updated in the backend service based on at least one of:

a rate of receiving one or more requests for the backend service;

a latency of the one or more requests;

a variety of types of requests of the one or more requests; and

a priority level of the one or more requests.

14 . The system of claim 8 , wherein the processing device and the memory are configured to determine the amount of resources to be assigned to or updated in the backend service by determining at least one of:

a number of central processing unit (CPU) cores;

a respective operating frequency of the number of CPU cores;

an amount of random access memory (RAM); and

a network bandwidth for the backend service.

15 . A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

receiving and intercepting a request from a software application by a proxy, the request for a service provided by a backend service of one or more control plane components;

determining, based on the intercepted request, an amount of resources to be assigned to or updated in the backend service;

causing a control plane scaler coupled to the one or more control plane components to request the determined amount of resources for the backend service; and

upon receiving a confirmation that the determined amount of resources is available in the backend service, forwarding from the proxy, the intercepted request to the backend service,

wherein, in response to determining that an idle period has been reached based on the intercepted request, the processing device automatically causes the control plane scaler to transition the backend service from an active state to a hibernation state, thereby reducing power consumption and freeing up computational resources, and further causes the backend service to transition from the hibernation state to the active state upon receiving a subsequent request.

16 . The computer program product of claim 15 , wherein the operations further comprise:

determining, by the proxy, that an idle period has been reached, the idle period measured based on the intercepted request;

determining, based on the idle period, the amount of resources to be assigned to or updated in the backend service is zero; and

causing, via the control plane scaler, the backend service to hibernate based on determining that the amount of resources to be assigned to or updated in the backend service is zero.

17 . The computer program product of claim 15 , wherein the one or more control plane components are responsible for managing one or more nodes in a storage cluster.

18 . The computer program product of claim 15 , wherein the one or more control plane components comprise a plurality of components in a cluster, the components comprising one or more of an application program interface (API) server, a persistence store, a scheduler, a controller manager, a cloud-controller-manager, and an API aggregator.

19 . The computer program product of claim 15 , wherein determining the amount of resources to be assigned to or updated in the backend service is based on at least one of:

a rate of receiving one or more requests for the backend service;

a latency of the one or more requests;

a variety of types of requests of the one or more requests; and

a priority level of the one or more requests.

20 . The computer program product of claim 15 , wherein determining the amount of resources to be assigned to or updated in the backend service is to determine at least one of:

a number of central processing unit (CPU) cores;

a respective operating frequency of the number of CPU cores;

an amount of random access memory (RAM); and

a network bandwidth for the backend service.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: RED HAT, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062481/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2022
From: WANG, CHEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 061562/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2022
From: CHEN, HUAMIN
To: RED HAT, INC.
Reel/Frame 061562/0801 →
Continuity (1)
Related Publication 20240143407A1 · May 2, 2024
References Cited (8)
US 10498857B2 · Thompson et al. · 2019 [cited by applicant]
US 11102282B2 · Chatt et al. · 2021 [cited by applicant]
US 20210392185A1 · Einkauf et al. · 2021 [cited by applicant]
US 20220027217A1 · Thoemmes et al. · 2022 [cited by applicant]
“Automatically adjust pod resource levels with the vertical pod autoscaler”, Red Hat Inc., retrieved date of Apr. 7, 2022, 26 pages. [cited by applicant]
Nguyen et al., “Horizontal Pod Autoscaling in Kubernetes for Elastic Container Orchestration”, Sensors, MDPI, Aug. 17, 2020, 18 pages. [cited by applicant]
Oracle Cloud Infastructure Documentation, “Using the Kubernetes Vertical Pod Autoscaler”, 2022, 8 pages. [cited by applicant]
Haider, H., “Kubernetes Autoscaling in Production: Best Practices for Cluster Autoscaler, HPA and VPA”, Dec. 5, 2019, 15 pages. [cited by applicant]