IP Library Granted Patent US 10,684,895
Granted Patent B1
US 10,684,895 · App. 16/185,306 · Granted Jun 16, 2020

Systems and methods for managing containerized applications in a flexible appliance platform

Inventor: Vikas Goel (Fremont, CA)
Assignee: Veritas Technologies LLC
G06F9/54G06F9/44505
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,684,895
App. No.
16/185,306
Granted
Jun 16, 2020
Kind
B1
Abstract

The disclosed computer-implemented method for managing containerized applications in a flexible appliance platform may include (1) receiving a request to perform an operation that manages a life cycle of a containerized application, (2) accessing management data for the containerized application, (3) determining, based on the management data, application requirements associated with the requested operation that manages the life cycle of the containerized application, and (4) performing the operation that manages the life cycle of the containerized application based on the application requirements, where the operation is performed without making changes to the containerized application and without user intervention. Various other methods, systems, and computer-readable media are also disclosed.

Claims (67)

1. A computer-implemented method for managing containerized applications in a flexible appliance platform, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving, by the computing device, a request to perform an operation that manages a life cycle of a containerized application, the containerized application comprising an executable software application virtualized by an operating system virtualization program;

accessing, by the computing device, management data for the containerized application, by accessing a profile comprising internal requirements associated with managing the life cycle of the containerized application, the internal requirements comprising minimum semaphore data, quality of service parameters, persistent storage data, data storage mounting data, and upgrade matrix data;

determining, by the computing device and based on the management data, application requirements associated with the requested operation that manages the life cycle of the containerized application, wherein determining the application requirements comprises identifying at least one toolkit application programing interface (API) for updating the containerized application for a new resized storage application, wherein the update corresponds to the requested operation; and

performing, by the computing device, the operation that manages the life cycle of the containerized application based on the application requirements, wherein the operation is performed without making changes to the containerized application and without user intervention.

2. The computer-implemented method of claim 1 , wherein accessing the management data further comprises accessing a toolkit for the containerized application.

3. The computer-implemented method of claim 2 , wherein the toolkit comprises a set of APIs associated with at least one of:

initializing the containerized application;

starting the containerized application;

stopping the containerized application;

performing a health check for the containerized application;

updating the containerized application for the new resized storage application; and

upgrading the containerized application.

4. The computer-implemented method of claim 1 , wherein the profile further comprises at least one of:

an image name of the containerized application;

a version of the containerized application;

and

external requirements associated with the managing the life cycle of the containerized application.

5. The computer-implemented method of claim 4 , wherein the external requirements comprise:

application role data;

license key data;

authentication data;

network data;

storage options data;

storage size data;

authentication tokens; and

locale data.

6. The computer-implemented method of claim 1 , wherein performing the operation associated with managing the life cycle of the containerized application comprises creating an instance of the containerized application.

7. The computer-implemented method of claim 1 , wherein performing the operation associated with managing the life cycle of the containerized application comprises editing an instance of the containerized application.

8. The computer-implemented method of claim 1 , wherein performing the operation associated with managing the life cycle of the containerized application comprises upgrading an instance of the containerized application to a new version.

9. The computer-implemented method of claim 1 , wherein performing the operation associated with managing the life cycle of the containerized application comprises changing a configuration of an instance of the containerized application.

10. The computer-implemented method of claim 1 , wherein performing the operation associated with managing the life cycle of the containerized application comprises monitoring a status of an instance of the containerized application.

11. The computer-implemented method of claim 1 , wherein the containerized application is out-of-band.

12. A system for managing containerized applications in a flexible appliance platform, the system comprising:

a receiving module, stored in memory, that receives a request to perform an operation that manages a life cycle of a containerized application on a computing device, the containerized application comprising an executable software application virtualized by an operating system virtualization program;

an access module, stored in memory, that accesses management data for the containerized application, by accessing a profile comprising internal requirements associated with managing the life cycle of the containerized application, the internal requirements comprising minimum semaphore data, quality of service parameters, persistent storage data, data storage mounting data, and upgrade matrix data;

a determining module, stored in memory, that determines based on the management data, application requirements associated with the requested operation that manages the life cycle of the containerized application, wherein the determining module determines the application requirements by identifying at least one toolkit application programing interface (API) for updating the containerized application for a new resized storage application, wherein the update corresponds to the requested operation;

a management module, stored in memory, that performs the operation that manages the life cycle of the containerized application based on the application requirements, wherein the operation is performed without making changes to the containerized application and without user intervention; and

at least one physical processor configured to execute the receiving module, the access module, the determining module, and the management module.

13. The system of claim 12 , wherein the access module accesses the management data by further accessing a toolkit for the containerized application.

14. The system of claim 13 , wherein the toolkit comprises a set of APIs associated with at least one of:

initializing the containerized application;

starting the containerized application;

stopping the containerized application;

performing a health check for the containerized application;

updating the containerized application for the new resized storage application; and

upgrading the containerized application.

15. The system of claim 12 , wherein the profile further comprises at least one of:

an image name of the containerized application;

a version of the containerized application;

and

external requirements associated with the managing the life cycle of the containerized application.

16. The system of claim 15 , wherein the external requirements comprise at least one of:

application role data;

license key data;

authentication data;

network data;

storage options data;

storage size data;

authentication tokens; and

locale data.

17. The system of claim 12 , wherein the management module performs the operation associated with managing the life cycle of the containerized application by creating an instance of the containerized application.

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

receive a request to perform an operation that manages a life cycle of a containerized application on the computing device, the containerized application comprising an executable software application virtualized by an operating system virtualization program;

access management data for the containerized application, by accessing a profile comprising internal requirements associated with managing the life cycle of the containerized application, the internal requirements comprising minimum semaphore data, quality of service parameters, persistent storage data, data storage mounting data, and upgrade matrix data;

determine, based on the management data, application requirements associated with the requested operation that manages the life cycle of the containerized application, wherein the application requirements are determined by identifying at least one toolkit application programing interface (API) for updating the containerized application for a new resized storage application, wherein the update corresponds to the requested operation; and

perform the operation that manages the life cycle of the containerized application based on the application requirements, wherein the operation is performed without making changes to the containerized application and without user intervention.

Assignments (12)
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 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069697/0238 →
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 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
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 Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2018
From: GOEL, VIKAS
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 047461/0578 →
Cited By (2)
US 12,405,815 US 12,524,705