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 the plurality of migration rules describe 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 transform 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 form of output to modify 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
19 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 the plurality of migration rules describe 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 transform 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 form of output to modify 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. An apparatus comprising:
-
a computer; storage hardware coupled with the computer and storing information configured to enable the computer to implement a migration tool executable by the computer, the migration tool comprising; a rules library comprised of migration rules describing semantic, 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 is redundant with hosting functionality of the PaaS cloud; one or more parsers that parses code and configuration files of a target web application comprised of a front-end application and a back-end data storage application programmed to cooperate with the front-end application, the parser identifying rules that are applicable to the web application; and applying the identified rules to the web application to generate an output used to identify changes to be made to the web application to enable or improve execution of the web application in the PaaS cloud, the changes including removal, from the web application, of application logic identified by the applying of the identified rules as being redundant with hosting functionality of the PaaS cloud. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method of migrating an application to a platform as a service (PaaS) cloud, the method comprising:
-
selecting a target application to migrate to the PaaS cloud, 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 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 products that are (i) to be used by the applications on a licensed basis and that are (ii) provided for licensing 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 an application not yet configured to execute in the PaaS cloud, the application configured to use one of the software products as provided by a system other than the PaaS cloud, the applying comprising parsing files configured to be used for installing or compiling the application so that a form of output can be generated; and determining from the output, and in accordance with the plurality of migration rules and the files, that the application can be modified to have a lower licensing cost related to the software product by being modified to use the software product as provided by the PaaS cloud, and based on the determining, generating corresponding modifications or recommendations of modifications to use the software product as provided by the PaaS cloud. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification