IP Library Granted Patent US 10,956,201
Granted Patent B2
US 10,956,201 · App. 16/503,404 · Granted Mar 23, 2021

Systems and methods for repurposing virtual machines

Inventor: Sanjay Harakhchand Kripalani (Morganville, NJ)
Assignee: Commvault Systems, Inc.
G06F9/45558G06F3/0605G06F3/067G06F3/0608G06F3/0632G06F3/0664G06F8/65G06F9/45533G06F2009/45575G06F2009/45595
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,956,201
App. No.
16/503,404
Granted
Mar 23, 2021
Kind
B2
Abstract

Software, firmware, and systems repurpose existing virtual machines. After a virtual machine is created, the system stores data associated with the virtual machine to permit its later repurposing. Repurposing data includes data associated with the virtual machine when the virtual machine is in a generic state from which it may be configured for use by two or more users/applications. When the system receives a request to create a new virtual machine, rather than create a brand new virtual machine, the system repurposes an existing virtual machine. The system identifies a virtual machine to repurpose, deletes data associated with the identified virtual machine, and loads a saved copy of repurposing data. The system may then load user data or otherwise customize the database and virtual machine.

Claims (42)

1. At least one non-transitory, computer-readable medium carrying instructions, that when executed by at least one data processor, performs operations for repurposing a virtual machine, the operations comprising:

selecting an existing virtual machine for repurposing to a user associated with a request,

wherein the selecting includes identifying an idle virtual machine that matches a set of configuration parameters identified in the request, and

wherein the identified idle virtual machine is identified from multiple idle virtual machines for repurposing to the user at least based on a time period that the idle virtual machine has been idle; and

repurposing the selected virtual machine for the user by loading data to the selected virtual machine and switching permissions or ownership of the repurposed machine from a previous user of the repurposed virtual machine to the user associated with the request.

2. The non-transitory, computer-readable medium of claim 1 , wherein when no idle virtual machine matches the set of configuration parameters identified in the request, identifying an archived virtual machine that matches the set of configuration parameters identified in the request, for repurposing to the user.

3. The non-transitory, computer-readable medium of claim 1 , wherein selecting an existing virtual machine for repurposing to the user associated with the request includes selecting an existing virtual machine based on a relative similarity between the existing virtual machine and the requested virtual machine.

4. The non-transitory, computer-readable medium of claim 1 , further comprising:

customizing the repurposed virtual machine for the user based at least in part on credentials associated with the user.

5. The non-transitory, computer-readable medium of claim 1 , wherein loading data to the selected virtual machine includes:

deleting existing data corresponding to the data, wherein the existing data corresponding to the data is presently associated with the selected virtual machine, and

merging the data with the selected virtual machine.

6. The non-transitory, computer-readable medium of claim 1 , wherein the data includes a copy of a database in a data storage management system that stores metadata, media management, policies, reporting, and licensing information for the selected virtual machine.

7. The non-transitory, computer-readable medium of claim 1 , wherein the data includes a copy of a database associated with the selected virtual machine, wherein the copy of the database was created before the selected virtual machine was customized by or for a user.

8. A non-transitory computer-readable storage medium storing instructions, which when executed by at least one data processing device, performs a method comprising:

selecting an existing virtual machine for repurposing to a user associated with a request by identifying an idle virtual machine that matches a set of configuration parameters identified in the request,

wherein the identified idle virtual machine is identified from multiple idle virtual machines for repurposing to the user at least based on a time period that the idle virtual machine has been idle; and

repurposing the selected virtual machine for the user by switching permissions or ownership of the repurposed machine from a previous user of the repurposed virtual machine to the user associated with the request.

9. The non-transitory computer-readable storage medium of claim 8 , wherein when no idle virtual machine matches the set of configuration parameters identified in the request, identifying an archived virtual machine that matches the set of configuration parameters identified in the request, for repurposing to the user.

10. The non-transitory computer-readable storage medium of claim 8 , wherein selecting an existing virtual machine for repurposing to the user associated with the request includes selecting an existing virtual machine based on a relative similarity between the existing virtual machine and the requested virtual machine.

11. The non-transitory computer-readable storage medium of claim 8 , further comprising:

customizing the repurposed virtual machine for the user based at least in part on credentials associated with the user.

12. The non-transitory computer-readable storage medium of claim 8 , further comprising loading repurposing data to the selected virtual machine, wherein the loading includes:

deleting data corresponding to the repurposing data, wherein the data corresponding to the repurposing data is presently associated with the selected virtual machine, and

merging the repurposing data with the selected virtual machine.

13. The non-transitory computer-readable storage medium of claim 8 , further comprising loading repurposing data to the selected virtual machine, wherein the repurposing data includes a copy of a database in a data storage management system that stores metadata, media management, policies, reporting, and licensing information for the selected virtual machine.

14. The non-transitory computer-readable storage medium of claim 8 , further comprising loading repurposing data to the selected virtual machine, wherein the repurposing data includes a copy of a database associated with the selected virtual machine, wherein the copy of the database was created before the selected virtual machine was customized by or for a user.

15. A system for repurposing a virtual machine, the system comprising:

at least one memory storing computer-executable instructions;

at least one processor configured to access at least one memory and execute the computer-executable instructions to perform a set of acts, the set of acts comprising:

selecting an existing virtual machine for repurposing to a user associated with a request,

wherein the selecting includes identifying an idle virtual machine that matches a set of configuration parameters identified in the request, and

wherein the identified idle virtual machine is identified from multiple idle virtual machines for repurposing to the user at least based on a time period that the idle virtual machine has been idle; and

repurposing the selected virtual machine for the user by loading repurposing data to the selected virtual machine.

16. The system of claim 15 , wherein when no idle virtual machine matches the set of configuration parameters identified in the request, identifying an archived virtual machine that matches the set of configuration parameters identified in the request, for repurposing to the user.

17. The system of claim 15 , wherein selecting an existing virtual machine for repurposing to the user associated with the request includes selecting an existing virtual machine based on a relative similarity between the existing virtual machine and the requested virtual machine.

18. The system of claim 15 , wherein the set of acts further comprise:

customizing the repurposed virtual machine for the user based at least in part on credentials associated with the user.

19. The system of claim 15 , wherein loading repurposing data to the selected virtual machine includes:

deleting data corresponding to the repurposing data, wherein the data corresponding to the repurposing data is presently associated with the selected virtual machine, and

merging the repurposing data with the selected virtual machine.

20. The system of claim 15 , wherein the repurposing data includes a copy of a database in a data storage management system that stores metadata, media management, policies, reporting, and licensing information for the selected virtual machine.

Assignments (3)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2019
From: KRIPALANI, SANJAY HARAKHCHAND
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 049783/0633 →