IP Library Granted Patent US 10,540,191
Granted Patent B2
US 10,540,191 · App. 15/465,570 · Granted Jan 21, 2020

Systems and methods for using dynamic templates to create application containers

Inventor: Aaron Christensen (Apple Valley, MN)
Assignee: Veritas Technologies LLC
G06F9/455G06F9/44505G06F9/50
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,540,191
App. No.
15/465,570
Granted
Jan 21, 2020
Kind
B2
Abstract

The disclosed computer-implemented method for using dynamic templates to create application containers may include (i) identifying an application that is to be deployed in a container, (ii) creating a dynamic template that comprises at least one variable parameter and that defines at least a portion of an operating environment of the container, (iii) generating a value of the variable parameter during deployment of the application, (iv) processing the dynamic template to create a configuration file that comprises the value of the variable parameter, and (v) triggering a container initialization system to create, based on the configuration file, the container such that the container isolates a user space of the application from other software on a host system while sharing a kernel space with the other software. Various other methods, systems, and computer-readable media are also disclosed.

Claims (82)

1. A computer-implemented method for using dynamic templates to create application containers, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a first application for deployment to a first container and a second application for deployment to a second container;

creating a first dynamic template that includes a variable parameter and a second dynamic template that includes the variable parameter;

deploying the first application to the first container comprising:

creating a first configuration file based on the first dynamic template;

generating a value of the variable parameter;

launching a resource that is external to the first container and the second container; and

including the value of the variable parameter in the first configuration file;

deploying the second application to the second container comprising:

creating a second configuration file based on the second dynamic template; and

including the value of the variable parameter in the second configuration file;

triggering a container initialization system, the triggering comprising:

creating, based on the first configuration file, the first container; and

creating, based on the second configuration file, the second container; and

enabling the first container and the second container to access the resource using the value of the variable parameter.

2. The computer-implemented method of claim 1 , wherein generating the value of the variable parameter further comprises using a function stored in the first dynamic template to calculate the value of the variable parameter.

3. The computer-implemented method of claim 1 ,

wherein deploying the first application to the first container further comprises receiving external input about the variable parameter during the deployment of the first application; and

wherein generating the value of the variable parameter is further based at least in part on the external input.

4. The computer-implemented method of claim 1 , wherein the first configuration file comprises a default type of configuration file for the first container that further includes at least one static parameter.

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

identifying a third application for deployment to a third container;

deploying the third application to the third container comprising:

creating a third configuration file based on the first dynamic template;

generating a new value of the variable parameter different from the value of the variable parameter; and

including the new value of the variable parameter in the third configuration file; and

wherein triggering the container initialization system further comprises creating, based on the third configuration file, the third container.

6. A system for using dynamic templates to create application containers, the system comprising:

an identification module, stored in memory, that identifies a first application for deployment to a first container and a second application for deployment to a second container;

a creation module, stored in memory, that creates a first dynamic template that includes a variable parameter and a second dynamic template that includes the variable parameter;

a processing module, stored in memory, that:

creates, when deploying the first application to the first container, a first configuration file based on the first dynamic template; and

creates, when deploying the second application to the second container, a second configuration file based on the second dynamic template;

a generation module, stored in memory, that:

generates a value of the variable parameter;

launches a resource that is external to the first container and the second container; and

includes the value of the variable parameter in the first configuration file and the second configuration file;

a triggering module, stored in memory, that triggers a container initialization system to:

create, based on the first configuration file, the first container;

create, based on the second configuration file, the second container; and

enable the first container and the second container to access the resource using the value of the variable parameter; and

at least one physical processor configured to execute the identification module, the creation module, the generation module, the processing module, and the triggering module.

7. The system of claim 6 , wherein generating the value of the variable parameter further comprises using a function stored in the first dynamic template to calculate the value of the variable parameter.

8. The system of claim 6 ,

wherein the processing module receives, when deploying the first application to the first container, external input about the variable parameter; and

wherein generating the value of the variable parameter is further based at least in part on the external input.

9. The system of claim 6 , wherein the first configuration file comprises a default type of configuration file for the first container that further includes at least one static parameter.

10. The system of claim 6 ,

wherein the identification module identifies a third application for deployment to a third container;

wherein the processing module creates, when deploying the third application to the third container, an third configuration file based on the first dynamic template;

wherein the generation module

generates a new value of the variable parameter different from the value of the variable parameter, and

includes the new value of the variable parameter in the third configuration file; and

wherein the triggering module triggers the container initialization system to create, based on the third configuration file, the third container.

11. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify a first application for deployment to a first container and a second application for deployment to a second container;

create a first dynamic template that includes a variable parameter and a second dynamic template that includes the variable parameter;

deploy the first application to the first container comprising:

creating a first configuration file based on the first dynamic template;

generating a value of the variable parameter;

launching a resource that is external to the first container and the second container; and

including the value of the variable parameter in the first configuration file;

deploy the second application to the second container comprising:

creating a second configuration file based on the second dynamic template; and

including the value of the variable parameter in the second configuration file;

trigger a container initialization system, the triggering comprising:

creating, based on the first configuration file, the first container; and

creating, based on the second configuration file, the second container; and

enable the first container and the second container to access the resource using the value of the variable parameter.

12. The non-transitory computer-readable medium of claim 11 , wherein the one or more computer-readable instructions cause the computing device to generate the value of the variable parameter by using a function stored in the first dynamic template to calculate the value of the variable parameter.

13. The non-transitory computer-readable medium of claim 11 ,

wherein the one or more computer-readable instructions that cause the computing device to deploy the first application to the first container further cause the computing device to receive external input about the variable parameter; and

wherein generating the value of the variable parameter is further based at least in part on the external input.

14. The non-transitory computer-readable medium of claim 11 , wherein the first configuration file comprises a default type of configuration file for the first container that further includes at least one static parameter.

15. The non-transitory computer-readable medium of claim 11 ,

wherein the one or more computer-readable instructions further cause the computing device to:

identify a third application for deployment to a third container; and

deploy the third application to the third container comprising:

creating a third configuration file based on the first dynamic template

generating a new value of the variable parameter different from the value of the variable parameter; and

including the new value of the variable parameter in the third configuration file; and

wherein triggering the container initialization system further comprises creating, based on the third configuration file, the third container.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075377/0130 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0931 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 10, 2017
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 043141/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2017
From: CHRISTENSEN, AARON
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 041669/0909 →
Continuity (1)
Related Publication 20180373551A1 · Dec 27, 2018