# US 11,113,090 B1 · Systems and methods for container management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,090 B1
- Document ID: US11113090B1
- Status: Granted
- Kind: B1
- Application number: 16/050,684
- Filed: 2018-07-31
- Granted: 2021-09-07
- Earliest claimed: 2017-08-09
- Assignees: United Services Automobile Association (USAA)
- Applicants: Uipco, LLC
- Inventors: Christopher T. Wilkinson; Neelsen Edward Cyrus
- Web page: https://patentgrep.com/patent/US11113090B1

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/485: {Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence)}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A computer-implemented method for managing containers, the method comprising:
receiving, by a computer, a registration of a set of one or more containers to a cluster load balancing service, wherein the cluster load balancing service locates the set of one or more containers based on the registration, and wherein a group of the one or more containers are designated as corresponding to a specific system function;
in response to the registration, updating a dependency map associated with the set of one or more containers;
identifying, based on the dependency map, at least one additional container that needs to be started to maintain integrity of a computing environment executing the group of one or more containers;
providing a user interface for management of at least collections of containers;
receiving user input, provided via the user interface, specifying one or more additional containers for the 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 request to perform a first action associated with the updated group of one or more containers;
querying, by the computer, a machine-readable computer file comprising the dependency map, wherein the dependency map comprises a block list indicating to the computer at least one container, of the one or more containers in the updated group of one or more containers, that are prohibited from performing a second action, wherein the prohibition to perform the second action is based upon a dependent resource of each respective container of the at least one container;
storing, by the computer and based on the querying, into an action queue a request to perform the second action;
determining that at least one container, from the group of one or more containers, is not fully initialized, and in response, blocking the first action until the group of containers are fully initialized; and
in response to a first container, of the at least one 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 the block list of the dependency map.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
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.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
identifying, by the computer, one or more dependencies of the first container according to the dependency map in response to the computer determining the first container depends from at least one container based on the query of the dependency map.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

The method according to claim 1, wherein a container information is selected from group consisting of: a container depending on the first container, a container from which the first container depends, a load list comprising the first container, and a do not start list comprising the first container.

### Claim 8 (depends on 1)

The method according to claim 1, further comprising:
generating, by the computer, the dependency map of the first container based upon a container information for the first container.

### Claim 9 (depends on 1)

The method according to claim 1, further comprising:
determining, by the computer, a status of the first container in response to receiving a request to perform an action associated with the first container.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the set of one or more containers is associated with a system function.

### Claim 11

A system comprising:
a non-transitory storage medium configured to store one or more machine readable computer files comprising dependency maps of one or more containers; and
a processor configured to:
receive a registration of a set of one or more containers to a cluster load balancing service, wherein the cluster load balancing service locates the set of one or more containers based on the registration, and wherein a group of the one or more containers are designated as corresponding to a specific system function;
in response to the registration, update a dependency map associated with the set of one or more containers;
identify, based on the dependency map, at least one additional container that needs to be started to maintain integrity of a computing environment executing the group of one or more containers;
provide a user interface for management of at least collections of containers;
receive user input, provided via the user interface specifying one or more additional containers for the system function;
in response to the user input, update 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;
receive a request to perform a first action associated with the updated group of one or more containers;
query a machine-readable computer file comprising the dependency map, wherein the dependency map comprises a block list indicating to the computer at least one container, of the one or more containers in the updated group of one or more containers, that are prohibited from performing a second action, wherein the prohibition to perform the second action is based upon a dependent resource of each respective container of the at least one container;
store into an action queue a request to perform the second action;
determine that at least one container, from the group of one or more containers, is not fully initialized, and in response, blocking the first action until the group of containers are fully initialized; and
in response to a first container, of the at least one container, performing part of the first action:
instruct 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 the block list of the dependency map.

### Claim 12 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
identify 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.

### Claim 13 (depends on 11)

The system according to claim 11, wherein the computer is further configured to:
identify one or more dependencies of the first container according to the dependency map in response to the processor determining the first container depends from at least one container based on the query of the dependency map.

### Claim 14 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
receive 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.

### Claim 15 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
automatically generate 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.

### Claim 16 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
automatically generate 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.

### Claim 17 (depends on 11)

The system according to claim 11, wherein a container information is selected from group consisting of: a container depending on the first container, a container from which the first container depends, a load list comprising the first container, and a do not start list comprising the first container.

### Claim 18 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
generate the dependency map of the first container based upon a container information for the first container.

### Claim 19 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
determine a status of the first container in response to receiving a request to perform an action associated with the first container.

### Claim 20

A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform a process for managing containers, the process comprising:
receiving, by a computer, a registration of a set of one or more containers to a cluster load balancing service, wherein the cluster load balancing service locates the set of one or more containers based on the registration and wherein a group of the one or more containers are designated as corresponding to a specific system function;
in response to the registration, updating a dependency map associated with the set of one or more containers;
identifying, based on the dependency map, at least one additional container that needs to be started to maintain integrity of a computing environment executing the group of one or more containers;
providing a user interface for management of at least collections of containers;
receiving user input, provided via the user interface, specifying one or more additional containers for the 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 request to perform a first action associated with the update group of one or more containers;
querying, by the computer, a machine-readable computer file comprising the dependency map, wherein the dependency map comprises a block list indicating to the computer at least one container, of the one or more containers in the updated group of one or more containers, that are prohibited from performing perform a second action, wherein the prohibition to perform the second action is based upon a dependent resource of each respective container of the at least one container;
storing, by the computer and based on the querying, into an action queue a request to perform the second action; and
in response to a first container, of the at least one 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 the block list of the dependency map.
