IP Library Granted Patent US 11,755,384
Granted Patent B2
US 11,755,384 · App. 17/227,108 · Granted Sep 12, 2023

Scaling virtualization resource units of applications

Inventors: Venkatesh Prabhakar (Saratoga, CA); Sachin Jain (Fremont, CA); Anubhav Gupta (Sunnyvale, CA); Anirvan Duttagupta (San Jose, CA)
Assignee: Cohesity, Inc.
G06F9/5077G06F9/45558G06F9/4881G06F9/5038G06F2009/4557
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,755,384
App. No.
17/227,108
Granted
Sep 12, 2023
Kind
B2
Abstract

System resource utilizations by one or more core functionalities of a data storage system is monitored. A system resource allocation for one or more applications of the data storage system is determined based at least in part on the monitored system resource utilizations. A number of virtualization resource units allocated to at least one of the one or more applications is scaled based at least in part on the determined system resource allocation. The number of virtualization resource units allocated to the at least one of the one or more applications is based on a corresponding ratio associated with the at least one of the one or more applications.

Claims (31)

1. A method, comprising:

receiving a request to launch an application that is comprised of a plurality of layers, wherein each layer of the plurality of layers of the application is comprised of one or more corresponding virtualization resource units, wherein the one or more corresponding virtualization resource units at each of the plurality of layers of the application is expressed as a resource ratio;

determining whether a surplus of resources are available for the application, wherein the surplus of resources available for the application is based on a total amount of available resources less an amount of resources reserved for one or more core functionalities, wherein the amount of resources reserved for the one or more core functionalities varies over time; and

launching a version of the application based on whether there are the surplus of resources available for the application, wherein the launched version of the application maintains the resource ratio.

2. The method of claim 1 , wherein the virtualization resource units are virtual machines.

3. The method of claim 1 , wherein the virtualization resource units are virtualization containers.

4. The method of claim 1 , wherein a default amount of resources are provisioned for the version of the application in response to determining that the surplus of resources are not available for the application.

5. The method of claim 4 , wherein the default amount of resources correspond to a minimum amount of resources needed to meet certain performance metrics for the application.

6. The method of claim 1 , further comprising determining a priority associated with the application in response to determining that the surplus of resources are available for the application.

7. The method of claim 6 , wherein the version of the application is scaled based on the determined priority.

8. The method of claim 7 , wherein the version of the application is scaled to any multiple of the resource ratio in the event the application is determined to be a high priority application.

9. The method of claim 7 , wherein the version of the application is scaled to a threshold multiple of the resource ratio in the event the application is determined to be a medium priority application.

10. The method of claim 7 , wherein the version of the application is not provisioned additional resources in the event the application is determined to be a low priority application.

11. The method of claim 7 , wherein the determined priority is specified by a user associated with a data storage system.

12. The method of claim 1 , wherein the application is a data analytics application, an anti-virus application, a malicious software detection application, or a search application.

13. The method of claim 1 , wherein the application is scheduled to be performed at a particular point in time.

14. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a request to launch an application that is comprised of a plurality of layers, wherein each layer of the plurality of layers of the application is comprised of one or more corresponding virtualization resource units, wherein the one or more corresponding virtualization resource units at each of the plurality of layers of the application is expressed as a resource ratio;

determining whether a surplus of resources are available for the application, wherein the surplus of resources available for the application is based on a total amount of available resources less an amount of resources reserved for one or more core functionalities, wherein the amount of resources reserved for the one or more core functionalities varies over time; and

launching a version of the application based on whether there are the surplus of resources available for the application, wherein the launched version of the application maintains the resource ratio.

15. The computer program product of claim 14 , wherein a default amount of resources are provisioned for the version of the application in response to determining that the surplus of resources are not available for the application.

16. The computer program product of claim 14 , further comprising instructions for determining a priority associated with the application in response to determining that the surplus of resources are available for the application.

17. The computer program product of claim 16 , wherein the version of the application is scaled based on the determined priority.

18. A system, comprising:

a memory; and

a processor coupled to the memory, wherein the processor:

receives a request to launch an application that is comprised of a plurality of layers, wherein each layer of the plurality of layers of the application is comprised of one or more corresponding virtualization resource units, wherein the one or more corresponding virtualization resource units at each of the plurality of layers of the application is expressed as a resource ratio;

determines whether a surplus of resources are available for the application, wherein the surplus of resources available for the application is based on a total amount of available resources less an amount of resources reserved for one or more core functionalities, wherein the amount of resources reserved for the one or more core functionalities varies over time; and

launches a version of the application based on whether there are the surplus of resources available for the application, wherein the launched version of the application maintains the resource ratio.

19. The system of claim 18 , wherein the virtualization resource units are virtual machines.

20. The system of claim 18 , wherein the virtualization resource units are virtualization containers.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2021
From: PRABHAKAR, VENKATESH; JAIN, SACHIN; GUPTA, ANUBHAV; DUTTAGUPTA, ANIRVAN
To: COHESITY, INC.
Reel/Frame 056601/0941 →
Continuity (2)
Continuation 16456367 · Jun 28, 2019
Related Publication 20210303370A1 · Sep 30, 2021