IP Library Granted Patent US 10,901,966
Granted Patent B2
US 10,901,966 · App. 15/250,871 · Granted Jan 26, 2021

Synchronizing configurations for container hosted applications

Inventors: Dong Wang (Beijing, CN); Yunfei San (Beijing, CN); Peng Guo (Beijing, CN); Felix Yan (Beijing, CN)
Assignee: VMWARE, INC.
G06F16/22G06F9/4451G06F9/44505G06F9/45558H04L41/085H04L41/0806H04L41/5041H04L67/34G06F2009/4557H04L41/046
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 10,901,966
App. No.
15/250,871
Granted
Jan 26, 2021
Kind
B2
Abstract

An application executing in a containerized environment may be configured at started up by deploying a configuration agent to execute in a container engine. For each container deployed, instantiating a user configuration plugin and one or more applications to execute in the container. The user configuration plugin may send a request to the configuration agent to request for configuration information relating to the application. The configuration plugin may receive configuration information from the configuration agent and used the received configuration information to configure the application.

Claims (55)

1. A method for configuring an application with user configuration information executing in a container, the method comprising:

deploying a container engine to execute on a first machine;

deploying a configuration agent to execute on the first machine;

deploying one or more containers to execute on the container engine, wherein each container performs operations including:

the container instantiating at least one corresponding application to execute in the container;

the container sending to the configuration agent a configuration request for configuration information relating to the application, the configuration request including information that identifies the container, information that identifies a user associated with the container, and information that identifies the application;

the container receiving from the configuration agent configuration information relating to the user's configuration of the application; and

the container configuring the application using the received configuration information.

2. The method of claim 1 , further comprising, for each container, instantiating a configuration plugin to execute in the container, wherein the configuration plugin communicates with the configuration agent to obtain the configuration information and the configuration plugin configures the application using the received configuration information.

3. The method of claim 1 , further comprising, the configuration agent receiving a request from one of the containers and in response:

communicating with a server separate from the first machine to obtain configuration information from the server for an application in the container; and

sending the obtained configuration information to the container.

4. The method of claim 3 , further comprising storing the obtained information in a database of the first machine.

5. The method of claim 1 , further comprising the configuration agent receiving a request from one of the containers and in response:

accessing configuration information, stored on the first machine, for an application in the container; and

sending the accessed configuration information to the container.

6. The method of claim 1 , further comprising the configuration agent storing configuration information on the first machine and periodically updating the stored configuration information with information received from a server separate from the first machine.

7. The method of claim 1 , further comprising the configuration agent storing configuration information on the first machine; receiving update information from a first container; and updating the stored configuration information using the update information.

8. The method of claim 1 , wherein the first machine is a physical computer system, the method further comprising deploying an operating system to execute on the physical computer system and deploying the container engine to execute on the operating system.

9. The method of claim 1 , wherein the first machine is a virtual machine, the method further comprising deploying a hypervisor to execute on a physical computer system and deploying the virtual machine to execute on the hypervisor.

10. A system for configuring an application with user configuration information executing in a container, the system comprising:

a processor; and

a computer-readable storage medium having stored thereon executable program code, the executable program code, which when executed by the processor, being configured to cause the processor to:

deploy a container engine to execute on a first machine;

deploy a configuration agent to execute on the first machine;

deploy one or more containers to execute on the container engine, wherein each container performs operations to:

instantiate at least one corresponding application to execute in the container;

send to the configuration agent a configuration request for configuration information relating to the application, the configuration request including information that identifies the container, information that identifies a user associated with the container, and information that identifies the application;

receive from the configuration agent configuration information relating to the user's configuration of the application; and

configure the application using the received configuration information.

11. The system of claim 10 , wherein the executable program code, which when executed by the processor, is further configured to cause the processor to instantiate, for each container, a configuration plugin to execute in the container, wherein the configuration plugin communicates with the configuration agent to obtain the configuration information and the configuration plugin configures the application using the received configuration information.

12. The system of claim 10 , wherein when the configuration agent receives a request from one of the containers, the configuration agent:

communicates with a server separate from the first machine to obtain configuration information from the server for an application in the container; and

sends the obtained configuration information to the container.

13. The system of claim 12 , wherein the obtained information is stored in a database of the first machine.

14. The system of claim 10 , wherein when the configuration agent receives a request from one of the containers, the configuration agent:

accesses configuration information, stored on the first machine, for an application in the container; and

sends the accessed configuration information to the container.

15. The system of claim 10 , wherein the configuration agent stores configuration information on the first machine and periodically updates the stored configuration information with information received from a server separate from the first machine.

16. The system of claim 10 , wherein the configuration agent stores configuration information on the first machine; receives update information from a first container; and updates the stored configuration information using the update information.

17. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computer device, cause the computer device to:

deploy a container engine to execute on a first machine;

deploy a configuration agent to execute on the first machine;

deploy one or more containers to execute on the container engine, wherein each container performs operations to:

instantiate at least one corresponding application to execute in the container;

send to the configuration agent a configuration request for configuration information relating to the application, the configuration request including information that identifies the container, information that identifies a user associated with the container, and information that identifies the application;

receive from the configuration agent configuration information relating to the user's configuration of the application; and

configure the application using the received configuration information.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the computer executable instructions, which when executed by the computer device, is further configured to cause the computer device to instantiate, for each container, a configuration plugin to execute in the container, wherein the configuration plugin communicates with the configuration agent to obtain the configuration information and the configuration plugin configures the application using the received configuration information.

19. The non-transitory computer-readable storage medium of claim 17 , wherein when the configuration agent receives a request from one of the containers, the configuration agent:

communicates with a server separate from the first machine to obtain configuration information from the server for an application in the container; and

sends the obtained configuration information to the container.

20. The non-transitory computer-readable storage medium of claim 17 , wherein when the configuration agent receives a request from one of the containers, the configuration agent:

accesses configuration information, stored on the first machine, for an application in the container; and

sends the accessed configuration information to the container.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2016
From: WANG, DONG; SAN, YUNFEI; GUO, PENG; YAN, FELIX
To: VMWARE, INC
Reel/Frame 039570/0082 →
Continuity (1)
Related Publication 20180060059A1 · Mar 1, 2018
Cited By (1)
US 12,602,242