Reliable and Scalable Image Transfer For Data Centers With Low Connectivity Using Redundancy Detection
First Claim
1. A method for transferring virtual machine images between a plurality of nodes, comprising:
- analyzing each of a plurality of virtual machine images present on a plurality of nodes to create image clusters corresponding to a plurality of data blocks present in the plurality of virtual machine images, using a program executable by a processor communicating with a computer, the plurality of nodes including a source node and a target node;
generating a similarity matrix using the created image clusters;
selecting a virtual machine image present on the source node to be reconstituted on the target node;
identifying a plurality of data block sets in the selected virtual machine image for transfer to the target node, using the similarity matrix;
transferring the plurality of data block sets to the target node, according to an optimal transfer plan; and
reconstituting the plurality of data block sets on the target node using at least the transferred plurality of data block sets.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for efficiently transferring virtual machine images across nodes in a cloud computing environment, includes analyzing each image on each node to create hash code clusters and a similarity matrix. An instruction to transfer an image from a source node to a target node is received. The clusters and the similarity matrix are used to determine to what extent the data from the image is already on the source node, or on any other node, and further determines the cost and speed of transferring such data to the target node. An optimal transfer plan is generated, and data that is not already on the target node is transferred to the target node from the most efficient node on which it is available, according to the optimal transfer plan.
135 Citations
25 Claims
-
1. A method for transferring virtual machine images between a plurality of nodes, comprising:
-
analyzing each of a plurality of virtual machine images present on a plurality of nodes to create image clusters corresponding to a plurality of data blocks present in the plurality of virtual machine images, using a program executable by a processor communicating with a computer, the plurality of nodes including a source node and a target node; generating a similarity matrix using the created image clusters; selecting a virtual machine image present on the source node to be reconstituted on the target node; identifying a plurality of data block sets in the selected virtual machine image for transfer to the target node, using the similarity matrix; transferring the plurality of data block sets to the target node, according to an optimal transfer plan; and reconstituting the plurality of data block sets on the target node using at least the transferred plurality of data block sets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for transferring virtual machine images, comprising:
-
a computer having a processor, and a computer-readable storage device; a program embodied on the storage device for execution by the processor, the program having a plurality of program modules, including; an analyzing module configured to analyze each of a plurality of virtual machine images present on a plurality of nodes to create image clusters corresponding to a plurality of data blocks present in the plurality of virtual machine images, the plurality of nodes including a source node and a target node; a generating module configured to generate a similarity matrix using the created image clusters; a selecting module configured to select a virtual machine image present on the source node to be reconstituted on the target node; an identifying module configured to identify a plurality of data block sets in the selected virtual machine image for transfer to the target node, using the similarity matrix; a transferring module configured to transfer the plurality of data block sets to the target node, according to an optimal transfer plan; and a reconstituting module configured to reconstitute the plurality of data block sets on the target node, using at least the transferred plurality of data block sets. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer program product for transferring virtual machine images, the computer program product comprising a computer-readable storage medium having program code embodied therewith, the program code readable/executable by a processor to perform a method comprising:
-
analyzing each of a plurality of virtual machine images present on a plurality of nodes, by the processor, to create image clusters corresponding to a plurality of data blocks present in the plurality of virtual machine images, the plurality of nodes including a source node and a target node; generating a similarity matrix, by the processor, using the created image clusters; selecting a virtual machine image present on the source node, by the processor, to be reconstituted on the target node; identifying a plurality of data block sets in the selected virtual machine image, by the processor, for transfer to the target node, using the similarity matrix; transferring the plurality of data block sets to the target node, by the processor, according to an optimal transfer plan; and reconstituting the plurality of data block sets, by the processor, on the target node using at least the transferred plurality of data block sets. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification