Virtual machine migration tool
First Claim
1. A method of migrating applications to an application hosting cloud that hosts any applications for access by clients over the Internet, the method comprising:
- selecting a target application to migrate to the application hosting cloud, the application hosting cloud providing cloud-based virtual platforms wherein applications can execute as if on a hardware platform, the target application, prior to migration, configured to execute on a particular computer host platform;
passing the target application to a migration tool, wherein the migration tool is provided with access to a rules library comprising one or more pluralities of migration rules, wherein each plurality of migration rules corresponds to a respective different application hosting cloud, and wherein each plurality of migration rules describes at least one of code rules, operating system rules, semantics rules, database rules, or installer rules;
parsing and analyzing source files and configuration files of the target application with the migration tool to identify one or more migration rules from the rules library that are determined to be applicable to the target application, a migration rule configured to provide information relating to transforming references to a particular network service to an analogous service provided by the application hosting cloud; and
applying the identified one or more migration rules to the target application to generate a report describing modifications to the source and configuration files of the target application from being configured for the particular computer host platform to being at least partly configured for the application hosting cloud.
2 Assignments
0 Petitions
Accused Products
Abstract
Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
-
Citations
20 Claims
-
1. A method of migrating applications to an application hosting cloud that hosts any applications for access by clients over the Internet, the method comprising:
-
selecting a target application to migrate to the application hosting cloud, the application hosting cloud providing cloud-based virtual platforms wherein applications can execute as if on a hardware platform, the target application, prior to migration, configured to execute on a particular computer host platform; passing the target application to a migration tool, wherein the migration tool is provided with access to a rules library comprising one or more pluralities of migration rules, wherein each plurality of migration rules corresponds to a respective different application hosting cloud, and wherein each plurality of migration rules describes at least one of code rules, operating system rules, semantics rules, database rules, or installer rules; parsing and analyzing source files and configuration files of the target application with the migration tool to identify one or more migration rules from the rules library that are determined to be applicable to the target application, a migration rule configured to provide information relating to transforming references to a particular network service to an analogous service provided by the application hosting cloud; and applying the identified one or more migration rules to the target application to generate a report describing modifications to the source and configuration files of the target application from being configured for the particular computer host platform to being at least partly configured for the application hosting cloud. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of migrating an application to a platform as a service (PaaS) cloud, the method comprising:
-
accessing a target application selected for migration analysis with respect to the PaaS cloud, the target application, prior to the migration analysis, configured to execute on a particular computer host platform; passing the target application to a migration tool wherein the migration tool comprises a rules library comprising one or more pluralities of migration rules, wherein at least one plurality of migration rules is specific to the PaaS cloud, and wherein the pluralities of migration rules describes at least one of code rules, operating system rules, semantics rules, database rules, or installer rules; accessing, from the rules library, a plurality of migration rules specific to the PaaS cloud, the plurality of migration rules configured to identify, when applied to any applications, use of, or reference to, by the applications, software elements that are (i) to be used by the applications and that have (ii) equivalents provided by the PaaS cloud, the plurality of migration rules for identifying changes to be made to the applications when being configured to be hosted in the PaaS cloud; applying the plurality of migration rules from the rules library to the target application while the target application is not configured to execute in the PaaS cloud, the target application configured to use one of the software elements provided by a system other than the PaaS cloud, the applying comprising parsing files configured to be used for installing or compiling the target application so that a form of output can be generated, wherein the output indicates modifications to the target application to cause the target application use a software element provided by the PaaS cloud instead of the corresponding software element identified by one of the migration rules in the plurality of migration rules. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus comprising:
-
a computer; storage hardware coupled with the computer and storing information configured to enable the computer to execute a migration tool executable by the computer, the migration tool having access to a rules library comprised of migration rules describing source code features, and at least one of configuration, code, operating system, database, or installer properties that can be applied against any applications to be migrated to a platform-as-as-service (PaaS) cloud, the rules library further comprising one or more rules configured to identify application logic that references application resources having equivalent cloud resources in the PaaS cloud; the migration tool comprising one or more parsers configured to parse code and configuration files of a target application, the parser further configured to parse the code and configuration files of the application to identify rules in the rules library that are applicable to the application; and the migration tool further configured to apply the identified rules to the application to generate an output that identifies changes to be made to the application to enable or improve execution of the application in the PaaS cloud, the identified changes including changing a reference to an application resource reference to a reference to an equivalent cloud resource. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification