Patent ID: 7552152

Claim:
A method of planning data migration for maximizing utility of a storage infrastructure that is running and actively serving at least one application, said method comprising: selecting a plurality of potential data items for migration; selecting a plurality of potential migration destinations to which said potential data items can be moved; selecting a plurality of potential migration speeds at which said potential data items can be moved; selecting a plurality of potential migration times at which said potential data items can be moved to said potential data migration destinations; calculating potential system utility gain associated with different migration combinations of said potential data items, said potential migration destinations, said potential migration speeds, and said potential migration times, wherein at least one of said selecting of said plurality of said potential data items for migration, said selecting of said plurality of potential migration destinations, said selecting of said plurality of potential migration speeds, and said selecting of said plurality of potential migration times comprises predicting at least one of future workload request rates and future system performance based on at least one of historic workload demands, current workload demands, simulation models, device-specific information, and expert input; evaluating a risk of system utility loss associated with each of said migration combinations; and selecting a migration combination from said migration combinations that has a highest net system utility gain based on said potential system utility gain and said risk of system utility loss, wherein said evaluating of said risk comprises at least one of: calculating a probability of system utility loss as a result of incorrectly predicting at least one of said future workload request rates and said future system performance; and calculating a probability of system utility loss as a result of selecting a migration combination that results in system utility loss, wherein at least one of said selecting of said plurality of said potential data items for migration, said selecting of said plurality of potential migration destinations, said selecting of said plurality of potential migration speeds, and said selecting of said plurality of potential migration times comprises: balancing an effect on said potential system utility gain of foreground task migration and an effect on said potential system utility gain of background task migration, and selecting at least one of said foreground task migration and said background task migration based on said balancing, wherein said selecting of said plurality of potential migration speeds comprises selecting a migration speed below a threshold speed, wherein said threshold speed defines a maximum system utility loss permitted.