System and method for managing a virtual appliance lifecycle
First Claim
Patent Images
1. A system for managing a virtual appliance lifecycle, comprising:
- one or more physical processors programmed to execute one or more computer executable instructions which, when executed, cause the one or more physical processors to;
receive a request to create a software appliance, wherein the create request includes information identifying an image format for the software appliance;
identify a plurality of software components of the software appliance;
identify one or more source repositories containing the plurality of software components;
receive, from the one or more source repositories, one or more files corresponding to the plurality of software components;
create an image description for the software appliance that identifies the plurality of software components and the one or more source repositories;
build, on a first virtual machine, an image of the software appliance, wherein building the image comprises;
creating, in a physical extend of a space allocated to the first virtual machine, a file system layout for the image, wherein the file system layout includes a directory structure for the plurality of software components;
storing the one or more files to the file system layout in accordance with the directory structure;
identifying a conflict between, at least two of the plurality of software components;
resolving the conflict by removing one of the at least two of the plurality of software components from the image; and
formatting the image of the software appliance in accordance with the image format; and
transmit the image over a network to one or more devices configured to execute the image on a second virtual machine.
19 Assignments
0 Petitions
Accused Products
Abstract
A system and method for managing a virtual appliance lifecycle is provided. In particular, a hosted web service may provide a collaborative environment for and unified environment for developing, configuring, personalizing, building, testing, deploying, and otherwise managing a lifecycle for one or more virtual appliances, wherein the collaborative and unified environment may provide various features for-creating virtual appliances, monitoring upstream changes and modifications to the virtual appliances, and providing real-time analysis and feedback during various phases of the virtual appliance lifecycle, among other things.
126 Citations
26 Claims
-
1. A system for managing a virtual appliance lifecycle, comprising:
one or more physical processors programmed to execute one or more computer executable instructions which, when executed, cause the one or more physical processors to; receive a request to create a software appliance, wherein the create request includes information identifying an image format for the software appliance; identify a plurality of software components of the software appliance; identify one or more source repositories containing the plurality of software components; receive, from the one or more source repositories, one or more files corresponding to the plurality of software components; create an image description for the software appliance that identifies the plurality of software components and the one or more source repositories; build, on a first virtual machine, an image of the software appliance, wherein building the image comprises; creating, in a physical extend of a space allocated to the first virtual machine, a file system layout for the image, wherein the file system layout includes a directory structure for the plurality of software components; storing the one or more files to the file system layout in accordance with the directory structure; identifying a conflict between, at least two of the plurality of software components; resolving the conflict by removing one of the at least two of the plurality of software components from the image; and formatting the image of the software appliance in accordance with the image format; and transmit the image over a network to one or more devices configured to execute the image on a second virtual machine.
-
2. A system for managing a virtual appliance lifecycle, comprising:
-
a memory device having computer executable instructions; and one or more physical processors coupled to the memory device, the one or more physical processors programmed to execute the computer executable instructions which, when executed, cause the one or more physical processors to implement a build engine configured to; receive a build request for a software appliance, wherein the build request includes information identifying an image format for the software appliance; identify, based on the build request, an image description for the software appliance that identifies a plurality of software components for the software appliance and one or more source repositories; retrieve, from the one or more source repositories, one or more files corresponding to the plurality of software components; build, on a first virtual machine, an image of the software appliance, wherein building the image comprises; creating, in a physical extend of a space allocated to the first virtual machine, a file system layout for the image, wherein the file system layout includes a directory structure for the plurality of software components; storing the one or more files to the file system layout in accordance with the directory structure; identifying a conflict between at least two of the plurality of software components; resolving the conflict by removing one of the at least two of the plurality of software components from the image; and formatting the image in accordance with the image format; and transmit the image over a network to one or more devices configured to execute the image on a second virtual machine, and wherein the one or more physical processors are further caused to implement a development environment configured to create the image description. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for managing a virtual appliance lifecycle, the method being implemented on a computer system that comprises one or more physical processors executing one or more computer executable instructions which, when executed, perform the method, the method comprising:
-
receiving, by the one or more physical processors, a build request for a software appliance, wherein the build request includes information identifying an image format for the software component; creating, by the one or more physical processors, an image description for the software appliance that identifies a plurality of software components of the software appliance and one or more source repositories; identifying, by the one or more physical processors, based on the build request; retrieving, by the one or more physical processors, from the one or more source repositories, one or more files corresponding to the plurality of software components; building, by the one or more physical processors, on a first virtual machine, an image of the software appliance, wherein building the image comprises; creating, in a physical extend of a space allocated to the first virtual machine, a file system layout for the image, wherein the file system layout includes a directory structure for the plurality of software components; storing the one or more files to the file system layout in accordance with the directory structure; identifying a conflict between at least two of the plurality of software components; resolving the conflict by removing one of the at least two of the plurality of software components from the image; and formatting the image in accordance with the image format; and transmitting, by the one or more physical processors, the image over a network to one or more devices configured to execute the image on a second virtual machine. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
Specification