# US 2014/0156813 A1 · Application migration between clouds

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

- Number: US 2014/0156813 A1
- Document ID: US20140156813A1
- Status: Published application
- Kind: A1
- Application number: 13/706,231
- Filed: 2012-12-05
- Published: 2014-06-05
- Earliest claimed: 2012-12-05
- Assignees: Microsoft Corporation
- Applicants: Microsoft Corporation
- Inventors: Yuan Zheng; David James Armour; Stephen Jason Baron; Erik Stefan Nyström; John David Welch
- Web page: https://patentgrep.com/patent/US20140156813A1

## CPC

- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments described herein are directed to reinitiating an application on a target computing cloud and to evaluating potential target cloud computing systems. In one scenario, a computing system receives an indication that identifies a target cloud for application migration. The target cloud computing system includes a specified set of hardware and/or environment specifications, associated configuration settings and an assigned rating that indicates how well the application will perform on the target cloud computing system. The computing system determines that the application is to be reconfigured for compatibility with the target cloud computing system and reconfigures some or all of the application to comply with the hardware and/or environment specifications and configuration settings of the target cloud computing system. The computing system also identifies and transfers specified portions of the application to the target cloud, and indicates that the application is to be re-instantiated using the transferred application portions.

## Claims

### Claim 1

A computer system comprising the following:
one or more processors;
system memory;
one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for reinitiating an application on a target computing cloud, the method comprising the following:
an act of receiving an indication that identifies a target cloud computing system to which an application is to be migrated, the target cloud computing system including a specified set of hardware specifications, a set of environment settings, one or more associated configuration settings and an assigned rating that indicates how well the application will perform on the target cloud computing system;
an act of determining, based on at least one of the hardware specifications, the environment settings and the configuration settings of the target cloud computing system, that the application is to be reconfigured for compatibility with the target cloud computing system;
based on the determination, an act of reconfiguring one or more portions of the application to comply with at least one of the hardware specifications, the environment settings and the configuration settings of the target cloud computing system;
an act of identifying which one or more portions of the application are to be transferred to the target cloud computing system based on the reconfiguration;
an act of transferring the identified application portions to the target cloud computing system; and
an act of indicating to the target cloud computing system that the application is to be re-instantiated on the target cloud computing system using the transferred application portions.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein re-initiating the application includes mapping the application to an existing application on the target cloud computing system.

### Claim 3 (depends on 2)

The computer system of claim 2, wherein mapping the application to an existing application on the target cloud computing system comprises:
an act of determining, based on at least one of the hardware specifications, the environment settings and the configuration settings of the target cloud computing system, that the application is to be mapped to one or more portions of an existing application on the target cloud computing system;
based on the determination, an act of mapping the application to the one or more portions of the existing application on the target cloud computing system;
an act of identifying which one or more portions of the application are to be transferred to the target cloud computing system based on the mapping;
an act of transferring the identified application portions to the target cloud computing system; and
an act of indicating to the target cloud computing system that the application is to be re-instantiated on the target cloud computing system using the mapped and transferred application portions.

### Claim 4 (depends on 3)

The computer system of claim 3, wherein one or more previous mappings are used to map the application to the one or more portions of the existing application on the target cloud computing system.

### Claim 5 (depends on 4)

The computer system of claim 4, wherein user-confirmed mappings are used on subsequent application transfers for applications that are determined to be substantially similar.

### Claim 6 (depends on 1)

The computer system of claim 1, wherein the assigned rating is generated based on one or more criteria including security, reliability, price and energy savings.

### Claim 7 (depends on 6)

The computer system of claim 6, wherein a plurality of target cloud computing systems are evaluated using the one or more criteria to determine an optimal target cloud on which the application is to be reinitiated.

### Claim 8 (depends on 1)

The computer system of claim 1, wherein the target cloud computing system comprises at least one of a private cloud and a public cloud.

### Claim 9 (depends on 1)

The computer system of claim 1, wherein a plurality of applications are reconfigured and reinitiated on the target cloud computing system simultaneously.

### Claim 10 (depends on 1)

The computer system of claim 1, further comprising:
an act of determining one or more subsequent actions that are to be performed to reinitiate the application on the target cloud computing system; and
an act of performing the determined one or more subsequent actions to reinitiate the application on the target cloud computing system.

### Claim 11 (depends on 1)

The computer system of claim 1, wherein transferring the identified application portions to the target cloud computing system comprises transferring only application data.

### Claim 12 (depends on 1)

The computer system of claim 1, wherein transferring the identified application portions to the target cloud computing system comprises transferring the application as a whole.

### Claim 13 (depends on 1)

The computer system of claim 1, wherein transferring the identified application portions to the target cloud computing system comprises transferring a virtual disk on which the application is running.

### Claim 14

A computer system comprising the following:
one or more processors;
system memory;
one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for evaluating potential target cloud computing systems, the method comprising the following:
an act of determining that one or more cloud computing systems are available for hosting an application;
an act of evaluating the one or more cloud computing systems to determine which cloud computing system an application is to be migrated to, each cloud computing system including a specified set of hardware specifications, a set of environment settings, and associated configuration settings, the evaluation comprising determining a service rating for each cloud computing system that indicates whether the application is hostable by the target cloud computing system and how well the application will perform on the target cloud computing system; and
an act of presenting the available cloud computing systems to one or more users via a user interface, each cloud computing system being presented with its corresponding service rating as determined by the evaluation.

### Claim 15 (depends on 14)

The computer system of claim 14, further comprising:
an act of receiving an indication that identifies at least one of the cloud computing systems as a target cloud computing system to which the application is to be migrated;
an act of determining, based on at least one of the hardware specifications, the environment settings, and the configuration settings of the target cloud computing system, whether the application is to be reconfigured for migration to the target cloud computing system or whether the application is to be mapped to an existing application on the target cloud computing system;
based on the determination, performing at least one of the following:
an act of reconfiguring one or more portions of the application to comply with at least one of the hardware specifications, the environment settings and the configuration settings of the target cloud computing system; and
an act of mapping the application to one or more portions of an existing application on the target cloud computing system;
an act of identifying which one or more portions of the application are to be transferred to the target cloud computing system based on the mapping or reconfiguration;
an act of transferring the identified application portions to the target cloud computing system; and
an act of indicating to the target cloud computing system that the migrated application is to be re-instantiated on the target cloud computing system using the transferred application portions.

### Claim 16 (depends on 14)

The computer system of claim 14, further comprising an act of receiving one or more user preferences from a user indicating the relative importance of each of a plurality of hosting criteria.

### Claim 17 (depends on 16)

The computer system of claim 16, wherein the service rating is determined using the user's preferences in addition to the specified set of hardware specifications, the environment settings and associated configuration settings.

### Claim 18 (depends on 17)

The computer system of claim 17, wherein the user interface prompts the user to indicate one or more preferences that the user is willing to compromise.

### Claim 19 (depends on 14)

The computer system of claim 14, wherein the service rating is determined based on the specified set of hardware specifications, the environment settings, the associated configuration settings of the cloud and an identified workload resulting from the application that is to be reinitiated on the target cloud.

### Claim 20

A computer system comprising the following:
one or more processors;
system memory;
one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for evaluating potential target cloud computing systems, the method comprising the following:
an act of determining that one or more cloud computing systems are available for hosting an application;
an act of evaluating the one or more cloud computing systems to determine which cloud computing system an application is to be migrated to, each cloud computing system including a specified set of hardware specifications, a set of environment settings and associated configuration settings, the evaluation comprising determining a service rating for each cloud computing system that indicates whether the application is hostable by the target cloud computing system and how well the application will perform on the target cloud computing system;
an act of presenting the available cloud computing systems to one or more users in a user interface, each cloud computing system being presented with its corresponding service rating as determined by the evaluation;
an act of receiving at the user interface an indication that identifies at least one of the cloud computing systems as a target cloud computing system to which the application is to be migrated;
an act of determining, based on at least one of the hardware specifications, the environment settings and the configuration settings of the target cloud computing system, whether the application is to be reconfigured for migration to the target cloud computing system or whether the application is to be mapped to an existing application on the target cloud computing system;
based on the determination, performing at least one of the following:
an act of reconfiguring one or more portions of the application to comply with at least one of the hardware specifications, the environment settings and the configuration settings of the target cloud computing system; and
an act of mapping the application to one or more portions of an existing application on the target cloud computing system;
an act of identifying which one or more portions of the application are to be transferred to the target cloud computing system based on the mapping or reconfiguration;
an act of transferring the identified application portions to the target cloud computing system; and
an act of indicating to the target cloud computing system that the migrated application is to be re-instantiated on the target cloud computing system using the transferred application portions.
