IP Library Granted Patent US 11,579,939
Granted Patent B2
US 11,579,939 · App. 17/196,788 · Granted Feb 14, 2023

Systems and methods for virtual machine resource optimization using machine learning techniques

Inventors: Eric Freeman (Shrewsbury, MA); Hector A. Garcia Crespo (Waltham, MA); Matthew Kapala (North Billerica, MA); Brent D. Segner (Hilliard, OH)
Assignee: Verizon Patent and Licensing Inc.
G06F9/5077G06N20/00
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,579,939
App. No.
17/196,788
Granted
Feb 14, 2023
Kind
B2
Abstract

Systems described herein may allow for the intelligent configuration of containers onto virtualized resources. As described, systems described herein may generate configurations based on received parameters for utilization to configure (e.g., install, instantiate, etc.) virtualized resources. Once generated, a configuration may be selected according to determined selection parameters and/or intelligent selection techniques.

Claims (60)

1. A device, comprising:

one or more processors configured to:

place, according to a first packing methodology, a first set of containers in a first set of nodes of a virtualized environment;

determine a first resource utilization of the first set of nodes based on the placement of the first set of containers in the first set of nodes according to the first packing methodology;

place, according to a second packing methodology, a second set of containers in the first set of nodes;

determine a second resource utilization of the first set of nodes based on the placement of the second set of containers in the first set of nodes according to the second packing methodology;

compare the first resource utilization to the second resource utilization;

select the first packing methodology based on the comparison of the first resource utilization to the second resource utilization;

receive a request to place a third set of containers in a second set of nodes; and

place the third set of containers in the second set of nodes according to the first packing methodology, based on the selection of the first packing methodology.

2. The device of claim 1 , wherein the second set of containers includes one or more same containers of the first set of containers.

3. The device of claim 1 , wherein placing the first set of containers in the first set of nodes is performed as a first iteration, and wherein placing the second set of containers in the first set of nodes is performed as a second iteration that is separate from the first iteration.

4. The device of claim 3 , wherein the first and second iterations are first and second iterations of one or more simulations of placing the first and second sets of containers, respectively, in the first set of nodes.

5. The device of claim 1 , wherein placing the first set of containers in the first set of containers according to the first packing methodology includes:

placing one or more containers, of the first set of containers, into a first node of the first set of nodes in a sequence until the first node is unable to accommodate a next container in the sequence; and

placing the next container into a second node of the first set of nodes based on the first node being unable to accommodate the next container.

6. The device of claim 5 , wherein the sequence is a first sequence, wherein placing the second set of containers in the first set of containers according to the second packing methodology includes:

placing one or more containers, of the second set of containers, into the first node in a second sequence that is different from the first sequence.

7. The device of claim 6 , wherein placing the second set of containers in the first set of containers according to the second packing methodology further includes:

placing the one or more containers, of the second set of containers, into the first node in the second sequence until the first node is unable to accommodate a next container in the second sequence; and

placing the next container, of the second sequence, into the second node of the first set of nodes based on the resources of the first node being unable to accommodate the next container of the second sequence.

8. A non-transitory computer-readable medium, storing a plurality of processor-executable instructions to:

place, according to a first packing methodology, a first set of containers in a first set of nodes of a virtualized environment;

determine a first resource utilization of the first set of nodes based on the placement of the first set of containers in the first set of nodes according to the first packing methodology;

place, according to a second packing methodology, a second set of containers in the first set of nodes;

determine a second resource utilization of the first set of nodes based on the placement of the second set of containers in the first set of nodes according to the second packing methodology;

compare the first resource utilization to the second resource utilization;

select the first packing methodology based on the comparison of the first resource utilization to the second resource utilization;

receive a request to place a third set of containers in a second set of nodes; and

place the third set of containers in the second set of nodes according to the first packing methodology, based on the selection of the first packing methodology.

9. The non-transitory computer-readable medium of claim 8 , wherein the second set of containers includes one or more same containers of the first set of containers.

10. The non-transitory computer-readable medium of claim 8 , wherein placing the first set of containers in the first set of nodes is performed as a first iteration, and wherein placing the second set of containers in the first set of nodes is performed as a second iteration that is separate from the first iteration.

11. The non-transitory computer-readable medium of claim 10 , wherein the first and second iterations are first and second iterations of one or more simulations of placing the first and second sets of containers, respectively, in the first set of nodes.

12. The non-transitory computer-readable medium of claim 8 , wherein placing the first set of containers in the first set of containers according to the first packing methodology includes:

placing one or more containers, of the first set of containers, into a first node of the first set of nodes in a sequence until the first node is unable to accommodate a next container in the sequence; and

placing the next container into a second node of the first set of nodes based on the first node being unable to accommodate the next container.

13. The non-transitory computer-readable medium of claim 12 , wherein the sequence is a first sequence, wherein placing the second set of containers in the first set of containers according to the second packing methodology includes:

placing one or more containers, of the second set of containers, into the first node in a second sequence that is different from the first sequence.

14. The non-transitory computer-readable medium of claim 6 , wherein placing the second set of containers in the first set of containers according to the second packing methodology further includes:

placing the one or more containers, of the second set of containers, into the first node in the second sequence until the first node is unable to accommodate a next container in the second sequence; and

placing the next container, of the second sequence, into the second node of the first set of nodes based on the resources of the first node being unable to accommodate the next container of the second sequence.

15. A method, comprising:

placing, according to a first packing methodology, a first set of containers in a first set of nodes of a virtualized environment;

determining a first resource utilization of the first set of nodes based on the placement of the first set of containers in the first set of nodes according to the first packing methodology;

placing, according to a second packing methodology, a second set of containers in the first set of nodes;

determining a second resource utilization of the first set of nodes based on the placement of the second set of containers in the first set of nodes according to the second packing methodology;

comparing the first resource utilization to the second resource utilization;

selecting the first packing methodology based on the comparison of the first resource utilization to the second resource utilization;

receiving a request to place a third set of containers in a second set of nodes; and

placing the third set of containers in the second set of nodes according to the first packing methodology, based on the selection of the first packing methodology.

16. The method of claim 15 , wherein the second set of containers includes one or more same containers of the first set of containers.

17. The method of claim 15 , wherein placing the first set of containers in the first set of nodes is performed as a first iteration, and wherein placing the second set of containers in the first set of nodes is performed as a second iteration that is separate from the first iteration.

18. The method of claim 15 , wherein placing the first set of containers in the first set of containers according to the first packing methodology includes:

placing one or more containers, of the first set of containers, into a first node of the first set of nodes in a sequence until the first node is unable to accommodate a next container in the sequence; and

placing the next container into a second node of the first set of nodes based on the first node being unable to accommodate the next container.

19. The method of claim 18 , wherein the sequence is a first sequence, wherein placing the second set of containers in the first set of containers according to the second packing methodology includes:

placing one or more containers, of the second set of containers, into the first node in a second sequence that is different from the first sequence.

20. The method of claim 19 , wherein placing the second set of containers in the first set of containers according to the second packing methodology further includes:

placing the one or more containers, of the second set of containers, into the first node in the second sequence until the first node is unable to accommodate a next container in the second sequence; and

placing the next container, of the second sequence, into the second node of the first set of nodes based on the resources of the first node being unable to accommodate the next container of the second sequence.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: FREEMAN, ERIC; CRESPO, HECTOR A. GARCIA; KAPALA, MATTHEW; SEGNER, BRENT D.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 056686/0350 →
Continuity (2)
Continuation 16788000 · Feb 11, 2020
Related Publication 20210248016A1 · Aug 12, 2021