Computing reusable image components to minimize network bandwidth usage
First Claim
Patent Images
1. An apparatus comprising:
- at least one processor; and
a computer readable storage medium having computer readable program code embodied therewith and executable by the at least one processor, the computer readable program code comprising;
computer readable program code configured to store virtual appliance image templates at a caching location, based on a historical request pattern;
computer readable program code configured to receive a request for a virtual appliance image; and
computer readable program code configured to provide, to a second location, a return virtual appliance image responsive to the received request via;
determining a difference between the requested virtual appliance image and one or more of the stored virtual appliance image templates;
at the caching location, obtaining a supplement which corresponds to the determined difference between the requested virtual appliance image and the one or more of the stored virtual appliance image templates; and
delivering the one or more of the stored virtual appliance image templates and the supplement to the second location; and
computer readable program code configured to apply a cost function for caching at the caching location, wherein the cost function is determined by variables comprising;
a frequency variable indicating a frequency of a request of one or more supplements deriving from a third location;
a size variable indicating a size of the one or more supplements deriving from a third location;
a caching variable indicating whether the one or more supplements are already cached at the caching location; and
a supplement variable indicating whether the virtual appliance image is to be created using the one or more supplements;
wherein the cost function comprises at least a product of the frequency variable and the size variable.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and arrangements for facilitating virtual appliance image delivery. Virtual appliance image templates are stored at a caching location, based on a historical request pattern. A request is received for a virtual appliance image and there is provided, to a second location, a virtual appliance image responsive to the received request. A difference is determined between the requested virtual appliance image and stored virtual appliance image templates.
32 Citations
13 Claims
-
1. An apparatus comprising:
-
at least one processor; and a computer readable storage medium having computer readable program code embodied therewith and executable by the at least one processor, the computer readable program code comprising; computer readable program code configured to store virtual appliance image templates at a caching location, based on a historical request pattern; computer readable program code configured to receive a request for a virtual appliance image; and computer readable program code configured to provide, to a second location, a return virtual appliance image responsive to the received request via; determining a difference between the requested virtual appliance image and one or more of the stored virtual appliance image templates; at the caching location, obtaining a supplement which corresponds to the determined difference between the requested virtual appliance image and the one or more of the stored virtual appliance image templates; and delivering the one or more of the stored virtual appliance image templates and the supplement to the second location; and computer readable program code configured to apply a cost function for caching at the caching location, wherein the cost function is determined by variables comprising; a frequency variable indicating a frequency of a request of one or more supplements deriving from a third location; a size variable indicating a size of the one or more supplements deriving from a third location; a caching variable indicating whether the one or more supplements are already cached at the caching location; and a supplement variable indicating whether the virtual appliance image is to be created using the one or more supplements; wherein the cost function comprises at least a product of the frequency variable and the size variable.
-
-
2. A computer program product comprising:
-
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising; computer readable program code configured to store virtual appliance image templates at a caching location, based on a historical request pattern; computer readable program code configured to receive a request for a virtual appliance image; and computer readable program code configured to provide, to a second location, a return virtual appliance image responsive to the received request via; determining a difference between the requested virtual appliance image and one or more of the stored virtual appliance image templates; at the caching location, obtaining a supplement which corresponds to the determined difference between the requested virtual appliance image and the one or more of the stored virtual appliance image templates; and delivering the one or more of the stored virtual appliance image templates and the supplement to the second location; and computer readable program code configured to apply a cost function for caching at the caching location, wherein the cost function is determined by variables comprising; a frequency variable indicating a frequency of a request of one or more supplements deriving from a third location; a size variable indicating a size of the one or more supplements deriving from a third location; a caching variable indicating whether the one or more supplements are already cached at the caching location; and a supplement variable indicating whether the virtual appliance image is to be created using the one or more supplements; wherein the cost function comprises at least a product of the frequency variable and the size variable. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
Specification