Bandwidth-efficient virtual machine image delivery
First Claim
1. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
- responsive to a request to generate a virtual machine (VM) in a node using an existing virtual machine image (VMI) file, identify a set of file chunks that constitute the VMI file;
retrieve the set of file chunks from within a set of distributed nodes, wherein retrieving the set of file chunks from within the set of distributed nodes comprises establishing an optimized plan for retrieving the set of file chunks in a bandwidth-efficient manner, wherein the optimized plan is established by the computer readable program further causing the computing device to;
for each file chunk in the set of file chunks, determine whether the file chunk exists in a local storage device;
responsive to the file chunk existing in the local storage device, retrieve the file chunk from the local storage device; and
responsive to the file chunk failing to exist in the local storage device;
identify one or more locations of the file chunk in one or more other nodes within the set of distributed nodes;
responsive to the file chunk existing in more than one node of the one or more other nodes, identify an optimal node to retrieve the file chunk based on a set of criteria associated with each of the more than one other node, wherein the set of criteria comprises historical data associated with accessing the node, priority of accessing the node, grouping of the file chunk with other file chunks to be retrieved from the node, and access-control policies associated with accessing file chunks in the one or more other nodes; and
responsive to identifying an optimal node, retrieve the file chunk from a storage device associated with the optimal node; and
responsive to retrieving the set of file chunks from within the set of distributed nodes, reassemble the set of file chunks into the VMI file for generation of the VM.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism is provided for bandwidth-efficient virtual machine image delivery. Responsive to a request to generate a virtual machine (VM) in a node using an existing virtual machine image (VMI) file, a set of file chunks that constitute the VMI file is identified. The set of file chunks are retrieved from within a set of distributed nodes by establishing an optimized plan for retrieving the set of file chunks in a bandwidth-efficient manner. Responsive to retrieving the set of file chunks from within the distributed nodes, the set of file chunks are reassembled into the VMI file for generation of the VM.
-
Citations
14 Claims
-
1. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
responsive to a request to generate a virtual machine (VM) in a node using an existing virtual machine image (VMI) file, identify a set of file chunks that constitute the VMI file; retrieve the set of file chunks from within a set of distributed nodes, wherein retrieving the set of file chunks from within the set of distributed nodes comprises establishing an optimized plan for retrieving the set of file chunks in a bandwidth-efficient manner, wherein the optimized plan is established by the computer readable program further causing the computing device to; for each file chunk in the set of file chunks, determine whether the file chunk exists in a local storage device; responsive to the file chunk existing in the local storage device, retrieve the file chunk from the local storage device; and responsive to the file chunk failing to exist in the local storage device; identify one or more locations of the file chunk in one or more other nodes within the set of distributed nodes; responsive to the file chunk existing in more than one node of the one or more other nodes, identify an optimal node to retrieve the file chunk based on a set of criteria associated with each of the more than one other node, wherein the set of criteria comprises historical data associated with accessing the node, priority of accessing the node, grouping of the file chunk with other file chunks to be retrieved from the node, and access-control policies associated with accessing file chunks in the one or more other nodes; and responsive to identifying an optimal node, retrieve the file chunk from a storage device associated with the optimal node; and responsive to retrieving the set of file chunks from within the set of distributed nodes, reassemble the set of file chunks into the VMI file for generation of the VM. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to; responsive to a request to generate a virtual machine (VM) in a node using an existing virtual machine image (VMI) file, identify a set of file chunks that constitute the VMI file; retrieve the set of file chunks from within a set of distributed nodes, wherein retrieving the set of file chunks from within the set of distributed nodes comprises establishing an optimized plan for retrieving the set of file chunks in a bandwidth-efficient manner, wherein the optimized plan is established by the instructions further causing the processor to; for each file chunk in the set of file chunks, determine whether the file chunk exists in a local storage device; responsive to the file chunk existing in the local storage device, retrieve the file chunk from the local storage device; and responsive to the file chunk failing to exist in the local storage device; identify one or more locations of the file chunk in one or more other nodes within the set of distributed nodes; responsive to the file chunk existing in more than one node of the one or more other nodes, identify an optimal node to retrieve the file chunk based on a set of criteria associated with each of the more than one other node, wherein the set of criteria comprises historical data associated with accessing the node, priority of accessing the node, grouping of the file chunk with other file chunks to be retrieved from the node and access-control policies associated with accessing file chunks in the one or more other nodes; and responsive to identifying an optimal node, retrieve the file chunk from a storage device associated with the optimal node; and responsive to retrieving the set of file chunks from within the set of distributed nodes, reassemble the set of file chunks into the VMI file for generation of the VM. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification