IP Library › Granted Patent US 12,045,665
Granted Patent B2
US 12,045,665 · App. 17/477,157 · Granted Jul 23, 2024

Systems and methods for managing resource availability

Inventors: Keith Billis (Franklin Lakes, NJ); Swati Karande (New York, NY); Martin Gilday (New York, NY)
Assignee: JPMORGAN CHASE BANK, N.A.
G06F9/5077G06F11/3495
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,045,665
App. No.
17/477,157
Granted
Jul 23, 2024
Kind
B2
Abstract

Systems and methods for managing resource availability are disclosed. In one embodiment, a method for managing resource availability may include: (1) receiving, by a deployment computer program, an identification of a rack to build; (2) retrieving, by the deployment computer program, a plurality of application placement profiles for a plurality of applications; (3) selecting, by the deployment computer program, a subset of the applications to deploy to the rack, wherein the deployment computer program optimizes the selection based on metrics in the application placement profiles and a capacity of the rack; and (4) deploying, by the deployment computer program, the subset of applications to the rack.

Claims (63)

1. A method for managing resource availability, comprising:

receiving, by a deployment computer program, an identification of a rack to build;

retrieving, by the deployment computer program, a plurality of application placement profiles for a plurality of applications;

selecting, by the deployment computer program, a subset of the applications to deploy to the rack, wherein the deployment computer program optimizes the selection based on metrics in the application placement profiles and a capacity of the rack; and

deploying, by the deployment computer program, the subset of applications to the rack.

2. The method of claim 1 , further comprising:

generating, by the deployment computer program, the application placement profile for each of the plurality of applications;

wherein the application placement profiles comprise metrics for CPU usage, memory usage, storage usage, power consumption for each application.

3. The method of claim 1 , wherein the metrics are based on historical application data.

4. The method of claim 1 , wherein the subset of application is further selected based on clustering a plurality of hosts on the rack.

5. The method of claim 1 , further comprising:

monitoring, by a capacity monitoring computer program, operation of a rack;

determining, by the capacity monitoring computer program, a rack utilization rate for resources in the rack;

determining, by the capacity monitoring computer program, a rack consumption rate for the resources in the rack;

receiving, by the capacity monitoring computer program, a rack supply rate; and

ordering, by the capacity monitoring computer program, a second rack based on the rack utilization rate, the rack consumption rate, and the rack supply rate.

6. The method of claim 5 , wherein the rack consumption rate is predicted using a trained machine learning model.

7. The method of claim 5 , further comprising:

redeploying, by the deployment computer program, a subset of the subset of applications to a third rack.

8. The method of claim 1 , further comprising:

monitoring, by a capacity monitoring computer program, operation of a rack;

determining, by the capacity monitoring computer program, that the rack has a service event;

generating, by the capacity monitoring computer program, a service ticket for the rack;

removing, by the capacity monitoring computer program, the rack from deployment in response to an unresolved service ticket; and

redeploying, by the deployment computer program, the subset of applications to a third rack.

9. An electronic device, comprising:

a memory storing a deployment computer program;

a computer processor;

wherein, when executed by the computer processor, the deployment computer program causes the computer processor to:

receive an identification of a rack to build;

retrieve a plurality of application placement profiles for a plurality of applications;

select a subset of the applications to deploy to the rack, wherein the deployment computer program optimizes the selection based on metrics in the application placement profiles and a capacity of the rack; and

deploy the subset of applications to the rack.

10. The electronic device of claim 9 , wherein the deployment computer program further causes the computer processor to:

generate the application placement profile for each of the plurality of applications;

wherein the application placement profiles comprise metrics for CPU usage, memory usage, storage usage, power consumption for each application.

11. The electronic device of claim 9 , wherein the metrics are based on historical application data.

12. The electronic device of claim 9 , wherein the subset of application is further selected based on clustering a plurality of hosts on the rack.

13. The electronic device of claim 9 , wherein the memory further comprises a capacity monitoring computer program, and, when executed by the computer processor, the capacity monitoring computer program causes the computer processor to:

monitor operation of a rack;

determine a rack utilization rate for resources in the rack;

determine a rack consumption rate for the resources in the rack;

receive a rack supply rate; and

order a second rack based on the rack utilization rate, the rack consumption rate, and the rack supply rate.

14. The electronic device of claim 13 , wherein the rack consumption rate is predicted using a trained machine learning model.

15. The electronic device of claim 13 , wherein the deployment computer program further causes the computer processor to:

redeploy a subset of the subset of applications to a third rack.

16. The electronic device of claim 13 , wherein the capacity monitoring computer program further causes the computer processor to:

monitor operation of a rack;

determine that the rack has a service event;

generate a service ticket for the rack; and

remove the rack from deployment in response to an unresolved service ticket;

wherein the deployment computer program further causes the computer processor to:

redeploy the subset of applications to a third rack.

17. A system comprising:

an application placement profile database comprising an application placement profile for each of a plurality of applications;

an electronic device, comprising:

a memory storing a deployment computer program; and

a computer processor;

wherein, when executed by the computer processor, the deployment computer program causes the computer processor to receive an identification of a rack to build; retrieve the plurality of application placement profiles from the application placement profile; select a subset of the applications to deploy to the rack, wherein the deployment computer program optimizes the selection based on metrics in the application placement profiles and a capacity of the rack; and deploy the subset of applications to the rack.

18. The system of claim 17 , wherein the deployment computer program further causes the computer processor to generate the application placement profile for each of the plurality of applications, wherein the application placement profiles comprise metrics for CPU usage, memory usage, storage usage, power consumption for each application.

19. The system of claim 17 , wherein the memory further comprises a capacity monitoring computer program, and, when executed by the computer processor, the capacity monitoring computer program causes the computer processor to: monitor operation of a rack; determine a rack utilization rate for resources in the rack; determine a rack consumption rate for the resources in the rack; receive a rack supply rate; and order a second rack based on the rack utilization rate, the rack consumption rate, and the rack supply rate.

20. The system of claim 19 , wherein the capacity monitoring computer program further causes the computer processor to: monitor operation of a rack; determine that the rack has a service event; generate a service ticket for the rack; and remove the rack from deployment in response to an unresolved service ticket, and the deployment computer program further causes the computer processor to redeploy the subset of applications to a third rack.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2024
From: BILLIS, KEITH; KARANDE, SWATI; GILDAY, MARTIN
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 066966/0876 →
Continuity (2)
Provisional Application 63080322 · Sep 18, 2020
Related Publication 20220091901A1 · Mar 24, 2022