Systems and methods for repurposing virtual machines
First Claim
1. A method to be performed by a computing system for repurposing a virtual machine, the method comprising:
- receiving a request that a virtual machine be created for a user, wherein the request includes a set of configuration parameters for the virtual machine;
identifying one or more existing virtual machines repurposable to the user that include configuration parameters that match the set of configuration parameters for the virtual machine included in the request;
selecting an existing virtual machine for repurposing to the user associated with the request, by;
when there is an idle virtual machine that matches the set of configuration parameters identified in the request, selecting the idle virtual machine 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
when there is no idle virtual machine that matches the set of configuration parameters identified in the request, selecting an archived virtual machine that matches the set of configuration parameters identified in the request, for repurposing to the user; and
repurposing the selected virtual machine for the user by loading repurposing data to the selected virtual machine, including 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 Assignments
0 Petitions
Accused Products
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.
195 Citations
18 Claims
-
1. A method to be performed by a computing system for repurposing a virtual machine, the method comprising:
-
receiving a request that a virtual machine be created for a user, wherein the request includes a set of configuration parameters for the virtual machine; identifying one or more existing virtual machines repurposable to the user that include configuration parameters that match the set of configuration parameters for the virtual machine included in the request; selecting an existing virtual machine for repurposing to the user associated with the request, by; when there is an idle virtual machine that matches the set of configuration parameters identified in the request, selecting the idle virtual machine 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 when there is no idle virtual machine that matches the set of configuration parameters identified in the request, selecting an archived virtual machine that matches the set of configuration parameters identified in the request, for repurposing to the user; and repurposing the selected virtual machine for the user by loading repurposing data to the selected virtual machine, including switching permissions or ownership of the repurposed machine from a previous user of the repurposed virtual machine to the user associated with the request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium storing instructions, which when executed by at least one data processing device, performs a method comprising:
-
receiving a request that a virtual machine be created for a user, wherein the request comprises a set of configuration parameters and their associated ranges of values for the virtual machine; identifying a set of one or more existing virtual machines repurposable to the user that include configuration parameters, wherein each configuration parameter has values within a range of values specified in the received request for that configuration parameter; selecting an existing virtual machine for repurposing to the user associated with the request, by; when there is a presently unused virtual machine in the set of one or more existing virtual machines repurposable to the user, selecting the presently unused virtual machine from multiple presently unused virtual machines for repurposing to the user at least based on a time period that the existing virtual machine has not been in use; and when there is no presently unused virtual machine in the set of one or more existing virtual machines repurposable to the user, selecting an archived virtual machine for repurposing to the user; and repurposing the selected virtual machine for the user by loading repurposing data to the selected virtual machine, including switching permissions or ownership of the repurposed machine from a previous user of the repurposed virtual machine to the user associated with the request. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. 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; receiving a request that a virtual machine be created for a user, wherein the request includes a set of configuration parameters for the virtual machine; identifying one or more existing virtual machines repurposable to the user that include configuration parameters that match the set of configuration parameters for the virtual machine included in the request; selecting an existing virtual machine for repurposing to the user associated with the request, by; when there is an idle virtual machine that matches the set of configuration parameters identified in the request, selecting the idle virtual machine 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 when there is no idle virtual machine that matches the set of configuration parameters identified in the request, selecting an archived virtual machine that matches the set of configuration parameters identified in the request, for repurposing to the user; and repurposing the selected virtual machine for the user by loading repurposing data to the selected virtual machine, including switching permissions or ownership of the repurposed machine from a previous user of the repurposed virtual machine to the user associated with the request. - View Dependent Claims (15, 16, 17, 18)
-
Specification