IP Library Granted Patent US 11,537,809
Granted Patent B2
US 11,537,809 · App. 16/690,638 · Granted Dec 27, 2022

Dynamic container grouping

Inventors: Seng Chai Gan (Ashburn, VA); Shikhar Kwatra (Durham, NC); Michael Treadway (Keller, TX)
Assignee: Kyndryl, Inc.
G06K9/6223G06F9/455G06F9/45558G06N3/02G06N3/08G06F2009/4557G06F2009/45595
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,537,809
App. No.
16/690,638
Granted
Dec 27, 2022
Kind
B2
Abstract

In an approach for optimally grouping containers, a processor passively monitors a set of parameters for a set of containers within a network. A processor records the set of parameters for each container of the set of containers. A processor deploys a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters. A processor simulates the network having grouped containers based on the first set of groupings of the set of containers output by the KNN. A processor simulates an action on the set of containers. A processor updates a reward function based on the action. A processor determines whether a maximum value of the reward function is reached.

Claims (63)

1. A computer-implemented method for optimally grouping containers, the computer-implemented method comprising:

passively monitoring, by one or more processors, a set of parameters for a set of containers within a network;

recording, by one or more processors, the set of parameters for each container of the set of containers;

deploying, by one or more processors, a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters;

simulating, by one or more processors, the network having grouped containers based on the first set of groupings of the set of containers output by the KNN;

simulating, by one or more processors, an action on the set of containers;

updating, by one or more processors, a reward function based on the action; and

determining, by one or more processors, whether a maximum value of the reward function is reached with a set of groupings of the set of containers, the set of groupings dictating a plurality of groups of the set of containers, wherein each group of the plurality of groups comprises a respective one or more containers, of the set of containers, to execute on a common one or more servers, and wherein the maximum value indicates that a maximum reward of execution of the set of containers within the network is obtained using that set of groupings.

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

responsive to determining that the maximum value of the reward function is reached, outputting, by one or more processors, a set of groupings of the set of containers that produced the maximum value of the reward function to a container orchestration system.

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

responsive to determining that the maximum value of the reward function was not reached, simulating, by one or more processors, a second action on the set of containers;

updating, by one or more processors, the reward function based on the second action; and

determining, by one or more processors, whether the maximum value of the reward function is reached.

4. The computer-implemented method of claim 1 , wherein the set of parameters include a set of state parameters, an action parameter, a transition parameter, and a reward parameter.

5. The computer-implemented method of claim 1 , wherein the action is transferring a container from a first grouping to a second grouping.

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

recording, by one or more processors, execution times of the set of containers; and

inputting, by one or more processors, the execution times of the set of containers into the KNN.

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

receiving, by one or more processors, the first set of groupings of the set of containers output by the KNN.

8. A computer program product for optimally grouping containers, the computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to passively monitor a set of parameters of a set of containers within a network;

program instructions to record the set of parameters for each container of the set of containers;

program instructions to deploy a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters;

program instructions to simulate the network having grouped containers based on the first set of groupings of the set of containers output by the KNN;

program instructions to simulate an action on the set of containers;

program instructions to update a reward function based on the action; and

program instructions to determine whether a maximum value of the reward function is reached with a set of groupings of the set of containers, the set of groupings dictating a plurality of groups of the set of containers, wherein each group of the plurality of groups comprises a respective one or more containers, of the set of containers, to execute on a common one or more servers, and wherein the maximum value indicates that a maximum reward of execution of the set of containers within the network is obtained using that set of groupings.

9. The computer program product of claim 8 , further comprising:

responsive to determining that the maximum value of the reward function is reached, program instructions to output a respective set of groupings of the set of containers that produced the maximum value of the reward function to a container orchestration system.

10. The computer program product of claim 8 , further comprising:

responsive to determining that the maximum value of the reward function was not reached, program instructions to simulate a second action on the set of containers;

program instructions to update the reward function based on the second action; and

program instructions to determine whether the maximum value of the reward function is reached.

11. The computer program product of claim 8 , wherein the set of parameters include a set of state parameters, an action parameter, a transition parameter, and a reward parameter.

12. The computer program product of claim 8 , wherein the action is transferring a container from a first grouping to a second grouping.

13. The computer program product of claim 8 , further comprising:

program instructions to record execution times of the set of containers; and

program instructions to input the execution times of the set of containers into the KNN.

14. The computer program product of claim 8 , further comprising:

program instructions to receive the first set of groupings of the set of containers output by the KNN.

15. A computer system for optimally grouping containers, the computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to passively monitor a set of parameters of a set of containers within a network;

program instructions to record the set of parameters for each container of the set of containers;

program instructions to deploy a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters;

program instructions to simulate the network having grouped containers based on the first set of groupings of the set of containers output by the KNN;

program instructions to simulate an action on the set of containers;

program instructions to update a reward function based on the action; and

program instructions to determine whether a maximum value of the reward function is reached with a set of groupings of the set of containers, the set of groupings dictating a plurality of groups of the set of containers, wherein each group of the plurality of groups comprises a respective one or more containers, of the set of containers, to execute on a common one or more servers, and wherein the maximum value indicates that a maximum reward of execution of the set of containers within the network is obtained using that set of groupings.

16. The computer system of claim 15 , further comprising:

responsive to determining that the maximum value of the reward function is reached, program instructions to output a respective set of groupings of the set of containers that produced the maximum value of the reward function to a container orchestration system.

17. The computer system of claim 15 , wherein the set of parameters include a set of state parameters, an action parameter, a transition parameter, and a reward parameter.

18. The computer system of claim 15 , wherein the action is transferring a container from a first grouping to a second grouping.

19. The computer system of claim 15 , further comprising:

program instructions to record execution times of the set of containers; and

program instructions to input the execution times of the set of containers into the KNN.

20. The computer system of claim 15 , further comprising:

program instructions to receive the first set of groupings of the set of containers output by the KNN.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 058213/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: GAN, SENG CHAI; KWATRA, SHIKHAR; TREADWAY, MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051076/0737 →
Cited By (1)
US 12,627,615