# US 8,572,623 B2 · Determining an optimal computing environment for running an image based on performance of similar images

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,623 B2
- Document ID: US8572623B2
- Status: Granted
- Kind: B2
- Application number: 13/004,049
- Filed: 2011-01-11
- Published: 2012-07-12
- Granted: 2013-10-29
- Earliest claimed: 2011-01-11
- Assignees: International Business Machines Corporation
- Applicants: Kulvir S. Bhogal; Gregory J. Boss; Nitin Gaur; Andrew R. Jones
- Inventors: Kulvir S. Bhogal; Gregory J. Boss; Nitin Gaur; Andrew R. Jones
- Web page: https://patentgrep.com/patent/US8572623B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 11/3428: {Benchmarking}
- G06F 11/3457: {Performance evaluation by simulation}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2201/815: Virtual
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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

### Claim 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.

### Claim 7 (depends on 6)

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

### Claim 8 (depends on 6)

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

### Claim 9 (depends on 6)

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.

### Claim 10 (depends on 6)

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

### Claim 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.

### Claim 12 (depends on 11)

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

### Claim 13 (depends on 11)

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

### Claim 14 (depends on 11)

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.

### Claim 15 (depends on 11)

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

### Claim 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.
