IP Library Granted Patent US 8,572,623
Granted Patent B2
US 8,572,623 · App. 13/004,049 · Granted Oct 29, 2013

Determining an optimal computing environment for running an image based on performance of similar images

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,572,623
App. No.
13/004,049
Granted
Oct 29, 2013
Kind
B2
Abstract

Aspects of the present invention provide an approach that evaluates a locally running image (e.g., such as that for a virtual machine (VM)) and determines if that image could run more efficiently and/or more effectively in an alternate computing environment (e.g., a cloud computing environment). Specifically, embodiments of the present invention evaluate the local (existing/target) image's actual and perceived performance, as well as the anticipated/potential performance if the image were to be migrated to an alternate environment. The anticipated/potential performance can be measured based on another image that is similar to the existing/target image but where that image is running in a different computing environment. Regardless, the system would display a recommendation to the end user if it were determined that the image could perform better in the alternate environment (or vice versa).

Claims (52)

1. A method for determining an optimal computing environment for running an image, comprising:

registering, using at least one computing device, a set of images with a registry service, each of the set of images running in a computing environment;

measuring, using the at least one computing device, an existing performance of a current image running in a current computing environment based on performance metrics weighted by a user, the performance metrics comprising at least one of processing speed, storage capacity, response time, and latency;

identifying, using the at least one computing device, at least one image, running in an alternate computing environment, similar to the current image from the set of images;

receiving, from a user, using the at least one computing device, at least one rating based on user experience relating to actual performance of the at least one image;

measuring, using the at least one computing device, a potential performance of the at least one image as running in the alternate computing environment based on the performance metrics weighted by the user, the potential performance comprising a prediction of future performance of the at least one image based on the performance metrics weighted by the user and the at least one rating;

comparing, using the at least one computing device, the potential performance of the at least one image to the existing performance of the current image; and

determining, using the at least one computing device, whether to move the current image from the current computing environment to the alternate computing environment based on the comparing; and

the determining being further based on a user profile associated with the existing image.

2. The method of claim 1 , the optimal computing environment comprising a cloud computing environment.

3. The method of claim 1 , the registering being enabled by an agent containing the set of images.

4. The method of claim 1 , further comprising storing, using the at least one computing device, data associated with the registering in a repository, the repository located in a memory of at least one of the current computing environment and the alternate computing environment.

5. The method of claim 1 , the user profile setting forth a set of preferences.

6. A system for determining an optimal computing environment for running an image, comprising:

a bus;

a processor coupled to the bus; and

a memory medium coupled to the bus,

the memory medium comprising instructions to:

register a set of images with a registry service, each of the set of images running in a computing environment;

measure an existing performance of a current image running in a current computing environment based on performance metrics weighted by a user, the performance metrics comprising at least one of processing speed, storage capacity, response time, and latency;

identify at least one image, running in an alternate computing environment, similar to the current image from the set of images;

receive, from a user, at least one rating based on user experience relating to actual performance of the at least one image;

measure a potential performance of the at least one image as running in the alternate computing environment based on the performance metrics weighted by the user, the potential performance comprising a prediction of future performance of the at least one image based on the performance metrics weighted by the user and the at least one rating;

compare the potential performance of the at least one image to the existing performance of the current image; and

determine whether to move the current image from the current computing environment to the alternate computing environment based on the comparison; and

the optimal computing environment being further determined based on a user profile associated with the existing image.

7. The system of claim 6 , the optimal computing environment comprising a cloud computing environment.

8. The system of claim 6 , the set of images being registered using an agent containing the set of images.

9. The system of claim 6 , the memory medium further comprising instructions to store data associated with the registering in a repository, the repository located in a memory of at least one of the computing environment and the alternate computing environment.

10. The system of claim 6 , the user profile setting forth a set of preferences.

11. A computer program product for determining an optimal computing environment for running an image, the computer program product comprising a non-transitory computer readable storage medium, and program instructions stored on the non-transitory computer readable storage medium, to:

register a set of images with a registry service, each of the set of images running in a computing environment;

measure an existing performance of a current image running in a current computing environment based on performance metrics weighted by a user, the performance metrics comprising at least one of processing speed, storage capacity, response time, and latency;

identify at least one image, running in an alternate computing environment, similar to the current image from the set of images;

receive, from a user, at least one rating based on user experience relating to actual performance of the at least one image;

measure a potential performance of the at least one image as running in the alternate computing environment based on the performance metrics weighted by the user, the potential performance comprising a prediction of future performance of the at least one image based on the performance metrics weighted by the user and the at least one rating;

compare the potential performance of the at least one image to the existing performance of the current image; and

determine whether to move the current image from the current computing environment to the alternate computing environment based on the comparison; and

the optimal computing environment being further determined based on a user profile associated with the existing image.

12. The computer program product of claim 11 , the optimal computing environment comprising a cloud computing environment.

13. The computer program product of claim 11 , the set of images being registered using an agent containing the set of images.

14. The computer program product of claim 11 , further comprising program instructions stored on the non-transitory computer readable storage medium to store data associated with the registering in a repository, the repository located in a memory of at least one of the currcnt computing environment and the alternate computing environment.

15. The computer program product of claim 11 , the user profile setting forth a set of preferences.

16. A method for deploying a system for determining an optimal computing environment for running an image, comprising:

register, via a computer infrastructure, a set of images with a registry service, each of the set of images running in a computing environment;

measure, via the computer infrastructure, an existing performance of a current image running in a current computing environment based on performance metrics weighted by a user, the performance metrics comprising at least one of processing speed, storage capacity, response time, and latency;

identify, via the computer infrastructure, at least one image, running in an alternate computing environment, similar to the current image from the set of images;

receive, from a user, at least one rating based on user experience relating to actual performance of the at least one image;

measure, via the computer infrastructure, a potential performance of the at least one image as running in the alternate computing environment based on the performance metrics weighted by the user, the potential performance comprising a prediction of future performance of the at least one image based on the performance metrics weighted by the user and the at least one rating;

compare, via the computer infrastructure, the potential performance of the at least one image to the existing performance of the current image; and

determine, via the computer infrastructure, whether to move the current image from the current computing environment to the alternate computing environment based on the comparing; and

the determining being further based on a user profile associated with the existing image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2017
From: INTERNATIONAL BUSINESS MACHINES
To: SERVICENOW, INC.
Reel/Frame 042269/0682 →