Patent attributes
A system for sharing files among different virtual machine images includes a processor, a memory, and an input/output subsystem. The processor is configured for: a) creating a first virtual image; b) determining whether there exists a second virtual image similar to the first virtual image; c) comparing the files of the first and second virtual images to determine a set of common files; d) creating a common file collection; f) creating a second version of the first virtual image with files in the first virtual image that are not in the common file collection; g) creating a second version of the second virtual image with files in the second virtual image that are not in the common file collection; h) receiving a request for modification of the file within one of the virtual images; and i) determining whether the file to be modified is in the set of common files.