IP Library Granted Patent US 11,775,331
Granted Patent B1
US 11,775,331 · App. 17/397,548 · Granted Oct 3, 2023

Systems and methods for container management

Inventors: Christopher T. Wilkinson (San Antonio, TX); Neelsen Cyrus (San Antonio, TX)
Assignee: United Services Automobile Association (USAA)
G06F9/45558G06F9/5077G06F2009/4557G06F2009/45575G06F2009/45587
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,775,331
App. No.
17/397,548
Granted
Oct 3, 2023
Kind
B1
Abstract

A container management utility tool may deploy an object model that may persist one or more container dependencies, relationships, or a collection of containers that may represent a system function. Through a web front-end interface, for example, the containers may be started, stopped, or restarted in a specific order, and the tool automatically determines the additional containers that need to be started in order to maintain the integrity of the environment. Through the web interface, for example, the object model may be managed, and start-up orders, container dependencies, or collection maps of containers that represent a system function may be updated. For containers that may not start under load, the object model may block access to the containers until the containers are fully initialized.

Claims (72)

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

receiving, by a computer, a registration of one or more containers to a cluster load balancing service;

identifying, based on a dependency map, at least one additional container that needs to be started to maintain integrity of a computing environment executing a group of the one or more containers;

providing a user interface for management of at least collections of the one or more containers;

receiving user input, provided via the user interface, specifying one or more of the identified at least one additional container for a system function;

in response to the user input, updating the group of the one or more containers designated as corresponding to the specific system function to include the one or more additional containers indicated in the user input;

receiving, by the computer, a first request to perform a first action associated with the updated group of the one or more containers;

querying, by the computer, a machine-readable computer file comprising the dependency map;

storing, by the computer and based on the querying, into an action queue a second request to perform a second action; and

determining that at least one container, from the group of the one or more containers, is not fully initialized, and in response, blocking the first action until the determined at least one container of the group of the one or more containers is fully initialized.

2. The method according to claim 1 , further comprising:

in response to a first container performing part of the first action:

instructing, by the computer, the first container to perform part of the second action, wherein the performing the part of the second action is based on the action queue and a block list of the dependency map.

3. The method according to claim 1 , further comprising:

generating, by the computer, the dependency map of a first container based upon a container information for the first container; and

identifying, by the computer, one or more dependent containers that depend on the first container according to the dependency map in response to the computer determining at least one container depends on the first container based on the query of the dependency map.

4. The method according to claim 1 , further comprising:

identifying, by the computer, one or more dependencies of a first container according to the dependency map in response to the computer determining the first container depends from the one or more containers based on the query of the dependency map.

5. The method according to claim 1 , further comprising:

receiving, by the computer, from a client computer a weight assigned to a container in the one or more containers to perform the first action, wherein a sequential ordering is further based on the weight assigned to the weighted container.

6. The method according to claim 1 , further comprising:

automatically generating, by the computer, an action list comprising a queue of one or more actions to be issued to the one or more containers according to a sequential ordering.

7. The method according to claim 1 , further comprising:

automatically generating, by the computer, a do not start list based upon the dependency map, wherein the do not start list is a machine-readable computer file comprising a list of containers blocked from execution by each respective server hosting each respective container.

8. A non-transitory computer-readable medium storing instructions that, when executed by a computing system, cause the computing system to perform operations comprising:

receiving a registration of one or more containers to a cluster load balancing service;

identifying, based on a dependency map, at least one additional container that needs to be started to maintain integrity of a computing environment executing a group of the one or more containers;

providing a user interface for management of at least collections of the one or more containers;

receiving user input, provided via the user interface, specifying one or more of the identified at least one additional container for a system function;

in response to the user input, updating the group of the one or more containers designated as corresponding to the specific system function to include the one or more additional containers indicated in the user input;

receiving a first request to perform a first action associated with the updated group of the one or more containers;

querying a machine-readable computer file comprising the dependency map;

storing, based on the querying, into an action queue a second request to perform a second action; and

determining that at least one container, from the group of the one or more containers, is not fully initialized, and in response, blocking the first action until the determined at least one container of the group of the one or more containers is fully initialized.

9. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

in response to a first container performing part of the first action:

instructing the first container to perform part of the second action, wherein the performing the part of the second action is based on the action queue and a block list of the dependency map.

10. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

generating the dependency map of a first container based upon a container information for the first container; and

identifying one or more dependent containers that depend on the first container according to the dependency map in response to a determination that at least one container depends on the first container based on the query of the dependency map.

11. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

identifying one or more dependencies of a first container according to the dependency map in response to a determination that the first container depends from the one or more containers based on the query of the dependency map.

12. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

receiving from a client computer a weight assigned to a container in the one or more containers to perform the first action, wherein a sequential ordering is further based on the weight assigned to the weighted container.

13. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

automatically generating an action list comprising a queue of one or more actions to be issued to the one or more containers according to a sequential ordering.

14. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

automatically generating a do not start list based upon the dependency map, wherein the do not start list is a machine-readable computer file comprising a list of containers blocked from execution by each respective server hosting each respective container.

15. A system comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the system to perform a process comprising:

receiving a registration of one or more containers to a cluster load balancing service;

identifying, based on a dependency map, at least one additional container that needs to be started to maintain integrity of a computing environment executing a group of the one or more containers;

providing a user interface for management of at least collections of the one or more containers;

receiving user input, provided via the user interface, specifying one or more of the identified at least one additional container for a system function;

in response to the user input, updating the group of the one or more containers designated as corresponding to the specific system function to include the one or more additional containers indicated in the user input;

receiving a first request to perform a first action associated with the updated group of the one or more containers;

querying a machine-readable computer file comprising the dependency map;

storing, based on the querying, into an action queue a second request to perform a second action; and

determining that at least one container, from the group of the one or more containers, is not fully initialized, and in response, blocking the first action until the determined at least one container of the group of the one or more containers is fully initialized.

16. The system according to claim 15 , wherein the process further comprises:

in response to a first container performing part of the first action:

instructing the first container to perform part of the second action, wherein the performing the part of the second action is based on the action queue and a block list of the dependency map.

17. The system according to claim 15 , wherein the process further comprises:

generating the dependency map of a first container based upon a container information for the first container; and

identifying one or more dependent containers that depend on the first container according to the dependency map in response to a determination that at least one container depends on the first container based on the query of the dependency map.

18. The system according to claim 15 , wherein the process further comprises:

identifying one or more dependencies of a first container according to the dependency map in response to a determination that the first container depends from the one or more containers based on the query of the dependency map.

19. The system according to claim 15 , wherein the process further comprises:

receiving from a client computer a weight assigned to a container in the one or more containers to perform the first action, wherein a sequential ordering is further based on the weight assigned to the weighted container.

20. The system according to claim 15 , wherein the process further comprises:

automatically generating an action list comprising a queue of one or more actions to be issued to the one or more containers according to a sequential ordering.

Continuity (2)
Continuation 16050684 · Jul 31, 2018
Provisional Application 62543255 · Aug 9, 2017
Cited By (1)
US 12,277,213