Systems and methods for repurposing virtual machines
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
exact text as granted — not AI-modifiedWe claim:
1 . A system for repurposing an existing virtual machine, the system comprising:
one or more non-transitory, computer-readable mediums having computer-executable instructions stored thereon; and, one or more processors that, having executed the computer-executable instructions, configure the system to perform a plurality of operations comprising:
selecting a virtual machine from a plurality of virtual machines to repurpose, wherein the virtual machine is selected based on a requested set of configuration parameters for the virtual machine;
deleting existing data from the selected virtual machine to prepare the selected virtual machine for repurposing, wherein deletion of the existing data is based on repurposing data that conflicts with the existing data;
merging the repurposing data with remaining data of the selected virtual machine; and,
repurposing the selected virtual machine by replacing credentials of a first user previously authorized to use the selected virtual machine with credentials of a second user that is currently authorized to use the repurposed virtual machine.
2 . The system of claim 1 , wherein the virtual machine is selected based on the virtual machine being idle for a predetermined time period.
3 . The system of claim 1 , wherein the existing 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 repurposed; and, the copy of the database is deleted based on another copy of the database being included the repurposing data.
4 . The system of claim 1 , wherein the selected virtual machine is an archived virtual machine, wherein the selected virtual machine is represented by a stub file that points to a location in a secondary storage device for the archived virtual machine.
5 . The system of claim 4 , wherein the plurality of operations further comprises:
restoring the archived virtual machine to a virtual machine host and replacing the stub file with the restored virtual machine prior to the restored virtual machine being repurposed.
6 . The system of claim 1 , wherein the plurality of operations further comprises:
storing a state of the selected virtual machine prior to the selected virtual being repurposed; and, restoring the selected virtual machine to the stored state after repurposing the selected virtual machine.
7 . The system of claim 1 , wherein the plurality of operations further comprises:
customizing the repurposed virtual machine based on the credentials of the second user.
8 . A method for repurposing an existing virtual machine, the method comprising:
selecting a virtual machine from a plurality of virtual machines to repurpose, wherein the virtual machine is selected based on a requested set of configuration parameters for the virtual machine; deleting existing data from the selected virtual machine to prepare the selected virtual machine for repurposing, wherein deletion of the existing data is based on repurposing data that conflicts with the existing data; merging the repurposing data with remaining data of the selected virtual machine; and, repurposing the selected virtual machine by replacing credentials of a first user previously authorized to use the selected virtual machine with credentials of a second user that is currently authorized to use the repurposed virtual machine.
9 . The method of claim 8 , wherein the virtual machine is selected based on the virtual machine being idle for a predetermined time period.
10 . The method of claim 8 , wherein the existing 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 repurposed; and, the copy of the database is deleted based on another copy of the database being included the repurposing data.
11 . The method of claim 8 , wherein the selected virtual machine is an archived virtual machine, wherein the selected virtual machine is represented by a stub file that points to a location in a secondary storage device for the archived virtual machine.
12 . The method of claim 11 , further comprising:
restoring the archived virtual machine to a virtual machine host and replacing the stub file with the restored virtual machine prior to the restored virtual machine being repurposed.
13 . The method of claim 8 , further comprising:
storing a state of the selected virtual machine prior to the selected virtual being repurposed; and, restoring the selected virtual machine to the stored state after repurposing the selected virtual machine.
14 . The method of claim 8 , further comprising:
customizing the repurposed virtual machine based on the credentials of the second user.
15 . A non-transitory, computer-readable medium having computer-executable instructions stored thereon that, when executed by one or more processors, cause a system to perform a plurality of operations for repurposing a virtual machine, the plurality of operations comprising:
selecting a virtual machine from a plurality of virtual machines to repurpose, wherein the virtual machine is selected based on a requested set of configuration parameters for the virtual machine; deleting existing data from the selected virtual machine to prepare the selected virtual machine for repurposing, wherein deletion of the existing data is based on repurposing data that conflicts with the existing data; merging the repurposing data with remaining data of the selected virtual machine; and, repurposing the selected virtual machine by replacing credentials of a first user previously authorized to use the selected virtual machine with credentials of a second user that is currently authorized to use the repurposed virtual machine.
16 . The non-transitory, computer-readable medium of claim 15 , wherein the virtual machine is selected based on the virtual machine being idle for a predetermined time period.
17 . The non-transitory, computer-readable medium of claim 15 , wherein the existing 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 repurposed; and, the copy of the database is deleted based on another copy of the database being included the repurposing data.
18 . The non-transitory, computer-readable medium of claim 15 , wherein the selected virtual machine is an archived virtual machine, wherein the selected virtual machine is represented by a stub file that points to a location in a secondary storage device for the archived virtual machine.
19 . The non-transitory, computer-readable medium of claim 18 , wherein the plurality of operations further comprises:
restoring the archived virtual machine to a virtual machine host and replacing the stub file with the restored virtual machine prior to the restored virtual machine being repurposed.
20 . The non-transitory, computer-readable medium of claim 15 , wherein the plurality of operations further comprises:
storing a state of the selected virtual machine prior to the selected virtual being repurposed; and, restoring the selected virtual machine to the stored state after repurposing the selected virtual machine.Join the waitlist — get patent alerts
Track US2021216352A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.