MANAGING VIRTUAL MACHINES
First Claim
Patent Images
1. A computer system, comprising:
- one or more processors; and
a computer readable medium in communication with the one or more processors, the computer readable medium having encoded thereon a set of instructions executable by the computer system to perform one or more operations, the set of instructions comprising;
instructions for storing, in a cloud computing environment, a plurality of machine images, each machine image corresponding to a virtualized computer system;
instructions for providing a user interface for users to browse the plurality of images, the user interface providing information about each of the machine images, the information comprising user comments about one or more of the machine images;
instructions for receiving, from a first user and via the user interface, a selection of a first machine image corresponding to a first virtualized computer system, the first virtualized computer system comprising an application environment for demonstrating an application;
instructions for creating, in response to the selection of the first machine image, a second machine image based on the first machine image, the second machine image corresponding to a second virtualized computer system comprising the application environment;
instructions for instantiating the second virtual computer system, based on the second machine image, to display the application environment of the second virtualized computer system for the first user and allow the first user to interact with the application environment of the second virtualized computer system;
instructions for customizing the application environment of the second virtualized computer system, based at least in part on user interaction with the application environment of the second virtualized computer system, such that the second virtualized computer system comprises a customized application environment for demonstrating the application for a first customer;
instructions for receiving, via the user interface, an indication from the first user that the first user has finished interacting with the customized application environment of the second virtualized computer system but that the customized application environment should be saved for further user interaction at a later time;
instructions for storing the second machine image, corresponding to the second virtualized computer system, in the cloud computing environment, based at least in part on the indication from the first user;
instructions for receiving, via the user interface, information about the second machine image, the information about the second machine image including an indication that the second machine image can be shared with other users;
instructions for displaying, in the user interface, the information about the second machine image, based at least in part on the indication that the second machine image can be shared with other users;
instructions for receiving, via the user interface, a request to access the second virtualized computer system for further user interaction;
instructions for re-instantiating the second virtualized computer system, in response to the request, to allow further user interaction with the application environment of the second virtualized computer system;
instructions for tracking an amount of time in which the second virtualized computer system is instantiated;
instructions for accounting for use of the second virtualized computer system, based at least in part on the amount of time in which the second virtualized computer system is instantiated;
instructions for receiving, via the user interface, user input indicating that that the customized application environment should be exported;
instructions for exporting the customized application environment for installation on an actual computer system;
instructions for receiving, from a second user and via the user interface, a selection of the second machine image;
instructions for creating, in response to the selection of the second machine image, a third machine image based on the second machine image, the third machine image corresponding to a third virtualized computer system comprising the customized application environment;
instructions for instantiating the third virtual computer system, based on the third machine image, to display the customized application environment of the third virtualized computer system for the second user and allow the second user to interact with the customized application environment of the third virtualized computer system;
instructions for further customizing the application environment of the third virtualized computer system based at least in part on user interaction with the application environment of the third virtualized computer system, such that the third virtualized computer system comprises a second customized application environment for demonstrating the application for a second customer; and
instructions for storing the third machine image, corresponding to the third virtualized computer system, in the cloud computing environment.
1 Assignment
0 Petitions
Accused Products
Abstract
Tools and techniques for managing virtual machines, including without limitation virtual machines running in a cloud computing environment. Certain tools provide a user interface that allows a user to browse machine images to find an image that meets the user'"'"'s needs. In some aspects, these tools and techniques can provide the ability for users to customize machine images to meet their own needs and/or to share their customized machine images with other users. In other aspects, these tools and techniques can provide users with the ability to export virtual machines for use on an actual computer system.
264 Citations
20 Claims
-
1. A computer system, comprising:
-
one or more processors; and a computer readable medium in communication with the one or more processors, the computer readable medium having encoded thereon a set of instructions executable by the computer system to perform one or more operations, the set of instructions comprising; instructions for storing, in a cloud computing environment, a plurality of machine images, each machine image corresponding to a virtualized computer system; instructions for providing a user interface for users to browse the plurality of images, the user interface providing information about each of the machine images, the information comprising user comments about one or more of the machine images; instructions for receiving, from a first user and via the user interface, a selection of a first machine image corresponding to a first virtualized computer system, the first virtualized computer system comprising an application environment for demonstrating an application; instructions for creating, in response to the selection of the first machine image, a second machine image based on the first machine image, the second machine image corresponding to a second virtualized computer system comprising the application environment; instructions for instantiating the second virtual computer system, based on the second machine image, to display the application environment of the second virtualized computer system for the first user and allow the first user to interact with the application environment of the second virtualized computer system; instructions for customizing the application environment of the second virtualized computer system, based at least in part on user interaction with the application environment of the second virtualized computer system, such that the second virtualized computer system comprises a customized application environment for demonstrating the application for a first customer; instructions for receiving, via the user interface, an indication from the first user that the first user has finished interacting with the customized application environment of the second virtualized computer system but that the customized application environment should be saved for further user interaction at a later time; instructions for storing the second machine image, corresponding to the second virtualized computer system, in the cloud computing environment, based at least in part on the indication from the first user; instructions for receiving, via the user interface, information about the second machine image, the information about the second machine image including an indication that the second machine image can be shared with other users; instructions for displaying, in the user interface, the information about the second machine image, based at least in part on the indication that the second machine image can be shared with other users; instructions for receiving, via the user interface, a request to access the second virtualized computer system for further user interaction; instructions for re-instantiating the second virtualized computer system, in response to the request, to allow further user interaction with the application environment of the second virtualized computer system; instructions for tracking an amount of time in which the second virtualized computer system is instantiated; instructions for accounting for use of the second virtualized computer system, based at least in part on the amount of time in which the second virtualized computer system is instantiated; instructions for receiving, via the user interface, user input indicating that that the customized application environment should be exported; instructions for exporting the customized application environment for installation on an actual computer system; instructions for receiving, from a second user and via the user interface, a selection of the second machine image; instructions for creating, in response to the selection of the second machine image, a third machine image based on the second machine image, the third machine image corresponding to a third virtualized computer system comprising the customized application environment; instructions for instantiating the third virtual computer system, based on the third machine image, to display the customized application environment of the third virtualized computer system for the second user and allow the second user to interact with the customized application environment of the third virtualized computer system; instructions for further customizing the application environment of the third virtualized computer system based at least in part on user interaction with the application environment of the third virtualized computer system, such that the third virtualized computer system comprises a second customized application environment for demonstrating the application for a second customer; and instructions for storing the third machine image, corresponding to the third virtualized computer system, in the cloud computing environment.
-
-
2. A method, comprising:
-
providing a user interface for users to browse a plurality of machine images stored in a cloud computing environment, each of the plurality of machine images corresponding to a virtualized computer system, the user interface providing information about each of the machine images, the information comprising user comments about one or more of the machine images; receiving, from a first user and via the user interface, a selection of a first machine image corresponding to a first virtualized computer system, the first virtualized computer system comprising an application environment; creating, in response to the selection of the first machine image, a second machine image based on the first machine image, the second machine image corresponding to a second virtualized computer system comprising the application environment; instantiating the second virtualized computer system, based on the second machine image, to display the application environment of the second virtualized computer system for the first user and allow the first user to interact with the application environment of the second virtualized computer system; customizing the application environment of the second virtualized computer system, based at least in part on user interaction with the application environment of the second virtualized computer system, such that the second virtualized computer system comprises a customized application environment; and storing the second machine image, corresponding to the second virtualized computer system, in the cloud computing environment.
-
-
3. An apparatus, comprising:
a computer readable medium having encoded thereon a set of instructions executable by a computer system to perform one or more operations, the set of instructions comprising; instructions for providing a user interface for users to browse a plurality of machine images stored in a cloud computing environment, each of the plurality of machine images corresponding to a virtualized computer system, the user interface providing information about each of the machine images, the information comprising user comments about one or more of the machine images; instructions for receiving, from a first user and via the user interface, a selection of a first machine image corresponding to a first virtualized computer system, the first virtualized computer system comprising an application environment; instructions for creating, in response to the selection of the first machine image, a second machine image based on the first machine image, the second machine image corresponding to a second virtualized computer system comprising the application environment; instructions for instantiating the second virtualized computer system, based on the second machine image, to display the application environment of the second virtualized computer system for the first user and allow the first user to interact with the application environment of the second virtualized computer system; instructions for customizing the application environment of the second virtualized computer system, based at least in part on user interaction with the application environment of the second virtualized computer system, such that the second virtualized computer system comprises a customized application environment; and instructions for storing the second machine image, corresponding to the second virtualized computer system, in the cloud computing environment. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A method, comprising:
-
providing a user interface for users to manage one or more of a plurality of machine images stored in a cloud computing environment, each of the plurality of machine images corresponding to a virtualized computer system; receiving, from a first user and via the user interface, a selection of a first machine image corresponding to a first virtualized computer system, the first virtualized computer system comprising an application environment; creating, in response to the selection of the first machine image, a second machine image based on the first machine image, the second machine image corresponding to a second virtualized computer system comprising the application environment; instantiating the second virtualized computer system, based on the second machine image, to display the application environment of the second virtualized computer system for the first user and allow the first user to interact with the application environment of the second virtualized computer system; customizing the application environment of the second virtualized computer system, based at least in part on user interaction with the application environment of the second virtualized computer system, such that the second virtualized computer system comprises a customized application environment; receiving user input indicating that that the customized application environment should be exported; and exporting the customized application environment for installation on an actual computer system, based at least in part on the user input.
-
-
18. An apparatus, comprising:
a computer readable medium having encoded thereon a set of instructions executable by a computer system to perform one or more operations, the set of instructions comprising; instructions for providing a user interface for users to manage one or more of a plurality of machine images stored in a cloud computing environment, each of the plurality of machine images corresponding to a virtualized computer system; instructions for receiving, from a first user and via the user interface, a selection of a first machine image corresponding to a first virtualized computer system, the first virtualized computer system comprising an application environment; instructions for creating, in response to the selection of the first machine image, a second machine image based on the first machine image, the second machine image corresponding to a second virtualized computer system comprising the application environment; instructions for instantiating the second virtualized computer system, based on the second machine image, to display the application environment of the second virtualized computer system for the first user and allow the first user to interact with the application environment of the second virtualized computer system; instructions for customizing the application environment of the second virtualized computer system, based at least in part on user interaction with the application environment of the second virtualized computer system, such that the second virtualized computer system comprises a customized application environment; instructions for exporting the customized application environment for installation on an actual computer system, based at least in part on user input indicating that that the customized application environment should be exported. - View Dependent Claims (19, 20)
Specification