Patent ID: 7970903

Claim:
A method of migrating an application, comprising: installing the application on a first server by setting up a first virtual machine running a guest operating system at a first data center, the application accessing a first logical unit (LU) on a first storage system at the first data center, wherein data used by the application is stored in the first LU; maintaining a global resource manager at the first data center, the global resource manager comprising a list of one or more resources available to a plurality of remote data centers and status information for each of the one or more resources, the list of one or more resources including information on one or more logical units (LUs) available to the plurality of remote data centers, wherein the plurality of remote data centers each include a storage system having a plurality of storage devices for providing the one or more LUs; initiating migration of the application by searching for a candidate remote data center from among the plurality of remote data centers; consulting the global resource manager to determine whether a replica of the first LU already exists in any of the plurality of remote data centers, wherein the replica of the LU is a LU having a copy of the data used by the application; when a replica of the first LU exists, determining whether the remote data center at which the replica exists has server resources that meet requirements for migration of the application, and when the remote data center at which the replica exists has server resources that meet the requirements for migration of the application, identifying the remote data center at which the replica exists as the candidate remote data center for receiving the migration; when a replica of the first LU does not exist, determining whether any of the remote data centers have storage resources and server resources that meet requirements for migration of the application and the data used by the application, and when one of the remote data centers has storage resources and server resources that meet the requirements for migration of the application and the data used by the application, identifying the remote one of the remote data centers as the candidate remote data center for receiving the migration; and in response to identifying a candidate remote data center, migrating the application and the guest operating system to a second virtual machine installed on a second server located at the candidate remote data center.