Patent ID: 8612976

Claim:
A non-transitory computer program storage product for creating a virtual part used for composing a virtual solution comprised of a plurality of virtual parts, the non-transitory computer program storage product comprising instructions configured to perform a method comprising: receiving a user's selection of at least one virtual image comprising a set of software components, wherein each software component in the set of software components is compatible with each other; associating a set of configurability points with the virtual image, wherein each configurability point in the set of configurability points defines at least one parameter of at least one of the software components of the virtual image that is configurable during virtual solution composition, wherein virtual solution composition comprises associating at least a first virtual part to operate with at least a second virtual part; generating a set of virtual ports, wherein each virtual port within the set of virtual ports indicates at least one of a set of virtual parts required by a virtual part comprising the set of virtual ports and a set of virtual parts that is compatible with the virtual part, wherein a compatible virtual part comprises a virtual port having a first set of properties that match a second set of properties of at least one of the virtual ports in the set of virtual ports, wherein each virtual port within the set of virtual ports identifies a set of configuration parameters that are exchanged with a remote virtual part for configuring at least one of the software components of the virtual image with at least one software component of a virtual image in the remote virtual part; receiving a set of configuration operations, wherein the set of configuration operations is configured to reconfigure the virtual image based on at least one of a virtual part associated with the virtual part comprising the set of configuration operations and an operating environment associated with the virtual part comprising the configuration operations; and generating a virtual part comprising at least the virtual image, the set of configurability points, the set of virtual ports, and the configuration operations.