Obtaining virtual machine images from virtualization environments
First Claim
1. A system comprising:
- one or more hardware processors of one or more computing systems; and
one or more memories with stored instructions that, when executed by at least one of the one or more hardware processors, cause the system to perform operations for a computer virtualization environment that executes virtual machine images for multiple users and that supports multiple application programming interfaces (APIs) for use in interacting with multiple additional source virtualization environments to import virtual machine images into the computer virtualization environment, including at least;
receiving instructions from a user of the multiple users to import a virtual machine image into the computer virtualization environment from a separate second virtualization environment that is one of the multiple additional source virtualization environments;
determining one of the multiple APIs to use in interacting with the second virtualization environment;
interacting, over one or more computer networks and using the determined one API, with the second virtualization environment to obtain a copy of the virtual machine image that is executable by the second virtualization environment, including receiving, from at least one computing system that performs operations for the second virtualization environment, at least one file that is in a format specific to the second virtualization environment and that includes at least some of the virtual machine image;
modifying the obtained copy of the virtual machine image to be executable in the computer virtualization environment, including modifying contents of the obtained copy; and
initiating execution of the modified copy of the virtual machine image in the computer virtualization environment.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for facilitating sharing and reuse of executable software images between multiple execution environments. In at least some situations, the executable software images are virtual machine images (e.g., images that are bootable or otherwise loadable by a virtual machine in a particular virtualization environment, and that each include operating system software and/or software for one or more application programs, optionally along with one or more hard disks or other representations of stored data). The described techniques may include use of an image conversion tool that is configured to support interactions with multiple distinct types of source execution environments to extract executable software images from those environments, and to modify extracted software images for execution in one or more distinct types of destination execution environments, optionally as directed by one or more users via a GUI provided by the image conversion tool.
4 Citations
19 Claims
-
1. A system comprising:
-
one or more hardware processors of one or more computing systems; and one or more memories with stored instructions that, when executed by at least one of the one or more hardware processors, cause the system to perform operations for a computer virtualization environment that executes virtual machine images for multiple users and that supports multiple application programming interfaces (APIs) for use in interacting with multiple additional source virtualization environments to import virtual machine images into the computer virtualization environment, including at least; receiving instructions from a user of the multiple users to import a virtual machine image into the computer virtualization environment from a separate second virtualization environment that is one of the multiple additional source virtualization environments; determining one of the multiple APIs to use in interacting with the second virtualization environment; interacting, over one or more computer networks and using the determined one API, with the second virtualization environment to obtain a copy of the virtual machine image that is executable by the second virtualization environment, including receiving, from at least one computing system that performs operations for the second virtualization environment, at least one file that is in a format specific to the second virtualization environment and that includes at least some of the virtual machine image; modifying the obtained copy of the virtual machine image to be executable in the computer virtualization environment, including modifying contents of the obtained copy; and initiating execution of the modified copy of the virtual machine image in the computer virtualization environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method comprising:
-
receiving, by one or more computing systems supporting a computer virtualization environment that executes virtual machine images for multiple users and that supports multiple application programming interfaces (APIs) for use in interacting with multiple remote virtualization environments to import virtual machine images into the computer virtualization environment, instructions from a user of the multiple users to import a virtual machine image into the computer virtualization environment from a second virtualization environment that is one of the multiple remote virtualization environments; retrieving, by the one or more computing systems, information indicating one of the multiple APIs supported by the second virtualization environment; interacting, by the one or more computing systems over one or more computer networks and using at least the indicated one API, with a second computing system, that performs operations for the second virtualization environment, to obtain a copy of the virtual machine image that is executable by the second virtualization environment, including receiving from the second computing system at least one file that is in a format specific to the second virtualization environment and that includes at least some of the virtual machine image; modifying, by the one or more computing systems, the obtained copy of the virtual machine image to be executable in the computer virtualization environment, including modifying contents of the obtained copy; and initiating, by the one or more computing systems, execution of the modified copy of the virtual machine image in the computer virtualization environment. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable medium having stored contents that cause one or more computing systems to perform operations including:
-
providing, by the one or more computing systems, a computer virtualization environment that is for use in executing virtual machine programs for multiple users and that includes a conversion tool for use on behalf of the multiple users, wherein the conversion tool supports multiple application programming interfaces (APIs) for use in interacting with multiple other virtualization environments to import virtual machine programs from the multiple other virtualization environments into the computer virtualization environment on behalf of the multiple users; receiving, under control of the conversion tool, instructions from one of the multiple users to import an indicated virtual machine program into the computer virtualization environment from a second virtualization environment that is one of the multiple other virtualization environments; interacting, under control of the conversion tool and using one of the multiple APIs that is selected for the second virtualization environment, with the second virtualization environment to obtain a copy of the indicated virtual machine program that is executable by the second virtualization environment, including receiving, from at least one computing system that performs operations for the second virtualization environment, at least one file that is in a format specific to the second virtualization environment and that includes at least some of the indicated virtual machine program; modifying, under control of the conversion tool, the obtained copy of the indicated virtual machine program to be executable in the computer virtualization environment, including modifying contents of the obtained copy; and initiating execution of the modified copy of the indicated virtual machine program in the computer virtualization environment. - View Dependent Claims (17, 18, 19)
-
Specification