Patent Document

CROSS-REFERENCED TO RELATED APPLICATIONS 
     The present application is a continuation of application Ser. No. 11/968,236, filed Jan. 2, 2008, now U.S. Pat. No. 7,809,905; which claims priority from Japanese patent application JP 2007-036179 filed on Feb. 16, 2007, the content of which is hereby incorporated by reference into this application. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to a computer system including a storage system for storing data of a large volume, and more particularly to a technique for migrating data stored in the storage system. 
     DESCRIPTION OF THE RELATED ART 
     Recently, a volume of data processed by a computer system in a company, a local government, a public office, or a financial institution is increasing year by year. Under the circumstances, a new storage system (storage device) is added, or data is migrated from an existing storage system to another existing storage system, as a countermeasure against an increase in the volume of data. 
     Also, the computer system is complicated in configuration when a plurality of storage systems are added with an increase in volume of data to be managed. As a technique for solving the above-mentioned problem, there has been proposed a technique of virtualization of computer systems. The virtualization of computer systems means a technique of virtualizing a plurality of storage systems that are connected to each other on a network by logically recognizing them as one computer system. Because operation management can be centralized by virtualizing the computer system, it is possible to reduce management costs. 
     Also, with the application of the virtualization technique of computer systems, the volumes (logical or physical storage areas serving as units of data storage) of the computer systems can be classified into a plurality of storage tiers on the basis of characteristics such as performance or type. For example, in a technique disclosed in JP 2005-196625 A, access frequency of data stored in each volume is regularly monitored to realize an appropriate arrangement of storage systems according to function characteristics corresponding to the access frequency. 
     SUMMARY OF THE INVENTION 
     However, in the technique disclosed in JP 2005-196625 A, in a case where a plurality of processes are required to be executed at the same time, the priority order of the respective processes is not considered. For that reason, in a case where a certain migrating process is executed, even when a migrating process whose deadline approaches is to be executed, it is impossible to execute a new migrating process until the migrating process in execution has been completed. Accordingly, there is a fear that the new migrating process cannot be executed by its deadline, and it causes a problem. 
     This invention has been made in view of the above-mentioned problems, and therefore it is an object of this invention to give a priority to each migrating process and reschedule on the basis of the priority to complete the execution of the data migration by the deadline in the case where a plurality of migrating process requests are executed. 
     A representative aspect of this invention is as follows. That is, there is provided a computer system, comprising: a storage system; a host computer that is coupled to the storage system via a network; and a storage management server that can access to the storage system and the host computer, wherein the storage system comprises a first interface that is coupled to the network, a first processor that is coupled to the first interface, a first memory that is coupled to the first processor, and a storage device that stores data that is read or written by the host computer, and provides at least one storage area of the storage device for the host computer as at least one volume, wherein the storage management server comprises a second interface that is coupled to the storage system, a second processor that is coupled to the second interface, and a second memory that is coupled to the second processor, wherein the second memory stores configuration information of the volume, and 
     wherein the second processor executes a volume migrating process for migrating data stored in the volume to another volume, in which the second processor: calculates a required period of time for migrating the data based on a size of data to be migrated, volume configuration information of a first volume in which the data to be migrated is stored, and volume configuration information of a second volume that is a volume to which the data is migrated; generate a volume migration plan by determining a start time at which the data migration starts based on the calculated required period of time and an input end time; sets a priority of the generated volume migration plan; and changes, in a case where a period of time during which the produced volume migration plan is executed and a period of time during which an existing volume migration plan is executed are overlapped with each other, based on a result of comparing a priority of the generated volume migration plan with a priority of the existing volume migration plan, the start time of at least one of the generated volume migration plan and the existing volume migration plan, in accordance with the priority of the volume migration plan which has a higher priority of the generated volume migration plan and the existing volume migration plan. 
     According to this embodiment of this invention, execution of a volume migrating process higher in priority is started prior to execution of a volume migrating process lower in priority, thereby enabling the migrating process of the volume higher in priority to be completed by its designated time. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention can be appreciated by the description which follows in conjunction with the following figures, wherein: 
         FIG. 1  is a diagram showing an example of a hardware configuration of a computer system according to an embodiment of this invention; 
         FIG. 2  is a diagram showing an example of the configuration of a storage system according to the embodiment of this invention; 
         FIG. 3  is a diagram showing an example of the hardware configuration of a virtualization device according to the embodiment of this invention; 
         FIG. 4  is a diagram showing an example of the configuration of a storage management server according to the embodiment of this invention; 
         FIG. 5  is a diagram showing an example of the data configuration of a storage volume table according to the embodiment of this invention; 
         FIG. 6  is a diagram showing an example of an external volume table according to the embodiment of this invention; 
         FIG. 7  is a diagram showing an example of a storage table according to the embodiment of this invention; 
         FIG. 8  is a diagram showing an example of a migration group table according to the embodiment of this invention; 
         FIG. 9  is a diagram showing an example of a migration plan table according to the embodiment of this invention; 
         FIG. 10  is a diagram showing an example of a storage tier table according to the embodiment of this invention; 
         FIG. 11  is a diagram showing an example of a volume table according to the embodiment of this invention; 
         FIG. 12  is a diagram showing an example of a volume relation table according to the embodiment of this invention; 
         FIG. 13  is a diagram showing an example of a priority table according to the embodiment of this invention; 
         FIG. 14  is a flowchart showing an example of a procedure of producing the storage tier according to the embodiment of this invention; 
         FIG. 15  is a screen for registering a storage tier according to the embodiment of this invention; 
         FIG. 16  is a flowchart showing an example of a procedure of determining a tier order of the storage tier table according to the embodiment of this invention; 
         FIG. 17  is a flowchart showing an example of a procedure of producing a migration plan according to the embodiment of this invention; 
         FIG. 18  is a flowchart showing an example of a procedure of producing a migration plan according to the embodiment of this invention; 
         FIG. 19  shows a screen for registering the migration plan according to the embodiment of this invention; 
         FIG. 20  is a diagram for explaining a specific example of a procedure of producing the migration plan according to the embodiment of this invention; 
         FIG. 21  is a flowchart showing a procedure of a volume migrating process registered in the migration plan according to the embodiment of this invention; 
         FIG. 22  is an example of a flowchart that instructs a stop of a data migrating process of the storage system according to the embodiment of this invention; and 
         FIG. 23  is a diagram for explaining a specific example of a procedure of executing a migration plan according to the embodiment of this invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Now, a description will be given of an embodiment of this invention with reference to the accompanying drawings. 
     First, a description will be given of a specific configuration of a computer system  100  according to the embodiment of this invention with reference to  FIG. 1  to  FIG. 4 . 
       FIG. 1  is a diagram showing an example of a hardware configuration of the computer system  100  according to the embodiment of this invention. 
     The computer system  100  includes one or more storage systems  101 , a storage management server  102 , a management client  103 , one or more host computers  104 , storage networks  105 , a management network  106 , and a virtualization device  107 . 
     Each of the host computers  104  executes various business processings (for example, a database process, a web application process, and a streaming process) by using storage resources that are supplied by the storage systems  101  and the virtualization device  107 . Each of the host computers  104  is formed of, for example, a workstation system, a main frame computer, or a personal computer. Each of the host computers  104  is connected to the plurality of storage systems  101  via the virtualization device  107 , to thereby recognize the storage resources that are supplied by the respective storage systems  101  as one storage resource logically. 
     The virtualization device  107  is formed of, for example, a virtualization switch, an intelligent switch, or a virtualization dedicated device. The virtualization device  107  may be formed of a storage system that provides a virtualization function. 
     Each of the storage systems  101  has one or more controllers  111  and a plurality of storage devices  112 . 
     Each of the controllers  111  controls the plurality of storage devices  112  as a redundant arrays of inexpensive disks (RAID) configuration corresponding to RAID levels (for example, 0, 1 and 5). In the RAID configuration, the plurality of storage devices  112  are managed as one RAID group. The RAID group is configured by grouping four or eight storage devices  112  as one set. In other words, the storage areas that are supplied by the respective storage devices  112  are assembled to configure one RAID group. In the RAID group, one or more logical volumes serving as access units from the host computer  104  are defined. 
     Each of the storage devices  112  is a physical device that actually stores data therein. More specifically, the physical device may be a fibre channel (FC) disk drive, a serial advanced technology attachment (SATA) disk drive, a parallel advanced technology attachment (PATA) disk drive, a serial attached SCSI (SAS) disk drive, a fibre attached technology adapted (FATA) disk drive, or a small computer system interface (SCSI) disk drive. As the storage device  112 , a semiconductor memory such as a flash memory can be employed together. 
     The management network  106  is connected to the one or more host computers  104 , the one or more storage systems  101 , the virtualization device  107 , the storage management server  102 , and the management client  103 , so as to be used for transmitting or receiving management information. 
     The management client  103  is a computer for maintaining and managing the computer system  100 . A user inputs a command for storage management via a web browser  131  that is installed in the management client  103 , to thereby maintain and manage the computer system  100 . The command for storage management may be, for example, a command for increasing or decreasing the number of storage devices  112 , a command for instructing a change in RAID configuration, or a command for setting communication paths between the host computers  104  and the storage systems  101 . 
     The storage management server  102  receives various commands for storage management from the management client  103 , and maintains and manages the computer system  100 . The storage management server  102  has a data migration management program  121 . The data migration management program  121  executes a process for migrating the volumes between the storage tiers. The data migration management program  121  is a generic term of the respective programs for migrating the volumes, and will be described in detail with reference to  FIG. 4 . Also, the storage management server  102  has a storage device  122  for storing information such as the configuration information of the computer system  100 . 
       FIG. 2  is a diagram showing an example of the configuration of the storage system  101  according to the embodiment of this invention. The storage system  101  includes the controller  111  and the storage device  112 . 
     The controller  111  includes a host interface (I/F)  211 , a management interface (I/F)  212 , a processor  213 , a cache  214 , and a memory  215 . 
     The host interface  211  is a network interface for connecting to the host computers  104  through the storage network  105 . 
     The management interface  212  is a network interface for connecting to the storage management servers  102  and the management client  103  through the management network  106 . 
     The processor  213  receives a data input/output request from the host computer  104 , and controls the input and output of data with respect to the storage device  112 . The processor  213  is, for example, a central processing unit (CPU). The cache  214  temporarily stores the data that is input to or output from the storage device  112 . 
     The memory  215  stores information necessary for various control microprograms and processes. The memory  215  stores a volume migration program  231 , a table management program  232 , an I/O control program  233 , a data deletion program  234 , and a storage volume table  241  therein. 
     The volume migration program  231  is a program for changing a correspondence between the volumes and the storage device  112 . The host computer  104  identifies the volumes by using identifiers (ID). Also, the host computer  104  recognizes the logical position of the storage area (logical address) on the volume from/to which data is read/written, but does not recognize the physical position of the storage area (physical address) of the storage device  112 . The volume migration means to change the logical position of the storage area on the volume which is recognized by the host computer  104 . The volume migration program  231  migrates a volume that belongs to a certain storage tier (described later with reference to  FIG. 10 ) to another storage tier. 
     The table management program  232  is a program for reading information that is stored in the storage volume table  241  or writing information that is to be stored therein. 
     The I/O control program  233  is a program for controlling data input to or output from the storage device  112  in response to an I/O request from the host computer  104 . 
     The data deletion program  234  is a program for deleting the data stored in the storage device  112 . The deletion of data is a process for preventing the contents of the storage device in which the data has been stored from being read by writing data (for example, data represented by “1” and “0” placed at random, data represented by merely “0”, and data represented by merely “1”) in the physical area of the storage device  112  in which the data has been stored, once or a plurality of times. 
     The storage volume table  241  stores information indicative of a correspondence between the volumes and the storage device  112 , and information related to the volume characteristics therein. The details of the storage volume table will be described with reference to  FIG. 5 . 
       FIG. 3  is a diagram showing an example of the hardware configuration of the virtualization device  107  according to the embodiment of this invention. 
     The virtualization device  107  includes a host interface (I/F)  311 , a storage interface (I/F)  314 , a processor  315 , a memory  316 , a cache  313 , a storage device  112 , and a management interface (I/F)  312 . It is unnecessary that the storage device  112  be installed in the virtualization device  107 . 
     The host interface  311  is a network interface for connecting to the host computers  104  through the storage network  105 . 
     The storage interface  314  is a network interface for connecting to the storage system  101  through the storage network  105 . The number of storage interfaces  314  is one in  FIG. 3 , but it is desirable that the storage interface  314  be disposed in each of the storage systems  101 . 
     The processor  315  executes the program stored in the memory  316 , to thereby execute a process of virtualizing the storage resources (storage devices  112 ) that are supplied by the respective storage systems  101  by logically recognizing them as one storage resource. 
     The memory  316  stores information necessary for various control microprograms and processes therein. The memory  316  stores a storage volume table  241 , an external volume table  341  (volume information), a volume migration program  231 , a table management program  232 , an I/O control program  233 , a data deletion program  234 , and an external association control program  331  therein. 
     The virtualization device  107  has one or more virtual volumes  321 . Each of the virtual volumes  321  is a volume to which the volume that is supplied by the storage system  101  is virtually allocated. Hereinafter, the volume that is supplied by the storage system  101  is called “external volume”. The address space (an area where the address is mapped) of the virtual volume  321  is mapped in the address space of the external volume. 
     The host computer  104  recognizes the virtual volume  321  as the storage area of the storage system  101 , and issues an I/O request with respect to the virtual volume  321 . Upon receiving the I/O request from the host computer  104 , the virtualization device  107  executes address conversion between the virtual volume  321  and the external volume. Then, the virtualization device  107  transfers the I/O request from the host computer  104  to the storage system  101 , and accesses to the external volume. The respective external volumes that are supplied by the plurality of storage systems  101  are allocated to the virtual volumes  321 . In this way, the virtualization device  107  virtualizes the storage resources of the plurality of storage systems  101  by logically recognizing them as one storage resource. 
     The external association control program  331  is a program for controlling an external association between the virtualization device  107  and the storage system  101 . More specifically, the external association control program  331  executes an address conversion between the virtual volume  321  and the external volume and a command transfer to the storage system  101 . 
     The external volume table  341  stores information indicative of the correspondence between the virtual volume  321  and the external volume therein. The details of the external volume table  341  will be described with reference to  FIG. 6 . 
     The cache  313  temporarily stores data that is input to or output from the storage device  112  and the virtual volume  321  therein. 
     The management interface  312  is a network interface for connecting to the storage management server  102  and the management client  103  through the management network  106 . 
       FIG. 4  is a diagram showing an example of the configuration of the storage management server  102  according to the embodiment of this invention. 
     The storage management server  102  includes an interface (I/F)  411 , a monitor  412 , a processor  413 , an input device  414 , a memory  415 , and the storage device  122 . 
     The interface  411  is a network interface for connecting to the management network  106 . More specifically, the interface  411  can be formed of a LAN adapter. The storage management server  102  acquires the volume configuration information of the storage device  112  from the storage system  101  through the interface  411 , and transmits an instruction of the volume migration to the storage system  101 . 
     The monitor  412  is a display device for supplying a screen for storage management to a user under graphical user interface (GUI) environments. The input device  414  is a device for inputting a storage management command such as a keyboard or a mouse. The monitor  412  and the input device  414  may not be disposed in the storage management server  102 . 
     The processor  413  executes the program stored in the memory  415  to maintain and manage the computer system  100 . In addition, the processor  413  executes the data migration management program  121  to execute a process of migrating the volumes between the storage tiers. 
     The memory  415  stores the data migration management program  121  therein. Specifically, the data migration management program  121  includes a storage operation program  431 , a priority management program  432 , a GUI program  433 , a table management program  434 , an execution management program  435 , and a configuration information acquisition program  436 . 
     The storage operation program  431  is a program for instructing the execution of the data migrating process and the data deleting process to the storage system  101  and the virtualization device  107 . An object to which the data migrating process is to be instructed is as follows. 
     The processor  413  instructs the data migration to the storage system  101  to which the migration source volume and the migration destination volume belong in the case where the migration source volume and the migration destination volume belong to the same storage system  101 . Also, the processor  413  may instruct the data migration to the virtualization device  107  in the case where the migration source volume and the migration destination volume belong to the same storage system  101 , and are connected to the virtualization device  107 . 
     In addition, in the case where the migration source volume and the migration destination volume belong to the different storage systems  101 , the processor  413  instructs the data migration to the virtualization device  107 . Also, in the case where the migration source volume or the migration destination volume belongs to the virtualization device  107 , the processor  413  instructs the data migration to the virtualization device  107 . 
     On the other hand, the processor  413  executes the storage operation program  431 , to thereby instruct the execution of the data deleting process to the virtualization device  107  or the storage system  101  to which the migration source volume belongs. 
     The priority management program  432  is a program for determining the priority of the data migrating process. 
     The GUI program  433  is a program that displays the information on the storage system  101  and the virtualization device  107  on the monitor  412 , and provides an interface to be used for operating the storage management server  102  to an administrator. The details of the interface that is displayed on the monitor  412  by the GUI program  433  will be described with reference to  FIG. 15  and  FIG. 19 . The GUI may be replaced with another interface such as a command line interface. 
     The table management program  434  is a program that manages a storage table  441  that is stored in the storage device  122 , a migration group table  442 , a migration plan table  443 , a storage tier table  444 , a volume table  445 , a volume relation table  446 , and a priority table  447 . 
     The execution management program  435  is a program that instructs the execution or stop of the migration plan that is configured by the volume migrating process and the data deleting process. 
     The configuration information acquisition program  436  is a program that acquires the configuration information on the storage system  101 , the virtualization device  107 , and the host computer  104  through the management network  106 . 
     Also, the storage device  122  stores the storage table  441  (physical configuration information), the migration group table  442  (migration group information), the migration plan table  443  (migration plan information), the storage tier table  444 , the volume table  445  (physical configuration information), the volume relation table  446 , and the priority table  447 . The details of those tables will be described with reference to  FIG. 7  to  FIG. 13 . 
       FIG. 5  is a diagram showing an example of the data configuration of the storage volume table  241  according to the embodiment of this invention. The storage volume table  241  stores information necessary for reading or writing the data in the volumes by using the controller  111  therein. 
     The storage volume table  241  includes a VOL # 511 , a VDEV # 512 , a RAID level  513 , a disk type  514 , and a capacity  515 . The storage volume table  241  produces a record in each of the volumes. 
     The VOL # 511  is No. for identifying the volumes within the storage system  101 . The VDEV # 512  is No. for identifying the virtual device to which the storage area on the volume is allocated. 
     The RAID level  513  is a RAID level of the storage area on the volume. The RAID level  513  may include the drive configuration of the storage device  112 . The disk type  514  is a disk type of the storage devices  112  that provide the storage areas on the volumes. The capacity  515  is a storage capacity of the corresponding volume. 
       FIG. 6  is a diagram showing an example of the external volume table  341  according to the embodiment of this invention. The external volume table  341  stores information necessary for virtualizing the respective storage resources (storage devices  112 ) provided by the plurality of storage systems  101  by logically recognizing them as one storage resource. 
     The external volume table  341  associates the VOL # 611 , the external Port # 612 , the IP address  613 , and the external VOL # 614  with each other. In the external volume table  341 , a record is produced in each of the produced virtual volumes  321 . 
     The VOL # 611  is an identifier for identifying the virtual volume  321  that has been produced in the virtualization device  107 . 
     The external Port # 612  is No. for identifying a port (an external association port of the virtualization device  107 ) for transferring the I/O request with respect to the virtual volume  321  to the external volume from the host computer  104 . 
     The IP address  613  represents the IP address of the storage system  101  having the external volume. The IP address  613  is used for identifying the storage system  101  having the external volume. The information for identifying the storage system  101  having the external volume can be configured by world wide name (WWN). 
     The external VOL # 614  is No. for identifying the external volume within the storage system  101 . The external VOL # 614  corresponds to the VOL # 511  of the storage volume table  241 . 
       FIG. 7  is a diagram showing an example of the storage table  441  according to the embodiment of this invention. The storage table  441  stores information related to the storage system  101  therein. 
     The storage table  441  includes a storage system ID  711 , a storage name  712 , and a device type  713 . In the storage table  441 , a record is produced in each of the storage systems  101 . 
     The storage system ID  711  is an identifier for identifying the storage system  101 . The storage name  712  is a name of the storage system. 
     The device type  713  is the type of storage system  101 . The device type  713  stores, for example, a model number of the device therein. 
       FIG. 8  is a diagram showing an example of the migration group table  423  according to the embodiment of this invention. The migration group table  423  stores information related to the migration group therein. 
     The volume migration is executed in the group unit that is called “migration group” collectively. When the administrator executes the volume migrating process, the administrator first produces the migration group, and registers the produced migration group in the migration group table  423 . Thereafter, the administrator adds the volume that migrates the volume (hereinafter referred to as “migration source volume”) to the migration group. 
     Subsequently, the administrator selects the storage tier (hereinafter referred to as “migration destination storage tier”) to which the volume is migrated with respect to the produced migration group. In addition, the administrator selects the volume that belongs to the selected storage tier as the migration destination volume (hereinafter referred to as “migration destination volume”) in the respective migration source volumes. 
     The migration group table  423  includes an MG ID  811 , a belonging VOL # 812 , a migration destination tier  813 , and a migration destination tier  814 . In the migration group table  423 , the record is produced in each of the migration groups. 
     The MG ID  811  is an identifier for identifying the migration group. The belonging VOL # 812  is an identifier of the volume added to the migration group. 
     The migration destination tier  813  represents information on the storage tier to which the respective volumes of the migration group belong. The storage tier will be described with reference to  FIG. 10 . 
     The migration destination tier  814  is an identifier of the storage tier in which the volume that belongs to the migration group is migrated by the migration of the volume. The symbol “—” of the migration destination storage tier  814  indicates that the migration destination storage tier is not designated. 
       FIG. 9  is a diagram showing an example of the migration plan table  443  according to the embodiment of this invention. The migration plan table  443  stores information related to the volume migrating process in each of the migration groups therein. 
     The volume migration is executed according to the migration plan in each of the migration groups. The administrator designates the migration destination storage tier and the time at which the migration should be completed in the migration group to execute the volume migration. 
     The migration plan table  443  includes an MG ID  911 , a priority  912 , a scheduled start time  913 , a scheduled end time  914 , and a designated end time  915 . In the migration table  443 , the record is produced in each of the migration plans. 
     The MG ID  911  is an identifier for identifying the migration group. The MG ID  911  corresponds to the MG ID  811  of the migration group table  442 . 
     The priority  912  stores the priorities of the respective migration plans. The priority is determined by the data migration management program  121  according to the information on the migration source tier of the migration group, the migration destination tier, and the priority table  447 . The priority may be changed by the administrator. 
     The scheduled start time  913  is a scheduled time at which the migration plan starts to be executed. The processor  413  of the storage management server  102  executes the data migration management program  121 , to thereby calculate a required period of time for the data migration on the basis of the configuration information of the migration plan and determine the scheduled start time according to the required period of time and the scheduled end time  914 . 
     The scheduled end time  914  is a scheduled time at which the execution of the migration plan is completed. The scheduled end time  914  is determined on the basis of the priority  912  and the designated end time  915  with the execution of the data migration management program  121 . The scheduled start time and the scheduled end time may be changed on the basis of the priority of another migration plan when the another migration plan is registered. 
     The scheduled end time  915  is a time at which the execution of the migration plan is to be completed. The administrator designates the designated end time at the time of producing the migration plan. 
     An execution status  916  stores the execution status of the migration plan therein. In the execution status  916  there are stored, for example, “unprocessed”, “migrating”, “deleting”, “suspended”, “completed”, and “failed”. 
     “Unprocessed” represents that the migration is not yet processed. “Migrating” represents that the volume that belongs to the migration plan is being migrated. “Deleting” represents that the migration of the volume that belongs to the migration plan has been completed, and the data of the migration destination volume is being deleted. 
     “Suspended” represents that the subject migration group is suspended by the data migration management program  121  in order to migrate another migration group in advance. “Completed” indicates that the migration of the respective volumes of the migration group are migrated, and the deletion of the respective migration source volumes have been completed. “Failed” represents that the data migrating process or the data deleting process of the migration group fails. 
       FIG. 10  is a diagram showing an example of the storage tier table  444  according to the embodiment of this invention. The storage tier table  444  stores information related to the storage tier therein. The storage tier means the classification of the volumes which is determined on the basis of the characteristics such as the performance and the type. 
     The storage tier table  444  includes a storage tier ID  1011 , a tier name  1012 , a tier order  1013 , and a tier condition. The tier condition includes a capacity  1014 , a device ID  1015 , a device type  1016 , a RAID level  1017 , and a disk type  1018 . In the storage tier table  444 , the record is produced in each of the storage tiers. 
     The storage tier ID  1011  is an identifier for identifying the storage tier. The tier name  1012  is a name of the storage tier. 
     The tier order  1013  is a relative order of the performance of the storage tier. The tier order  1013  is set on the basis of the tier condition when the administrator produces the storage tier. The production of the storage tier will be described with reference to  FIG. 16 . In addition, the data migration management program  121  is executed, to thereby set the priority in the priority table  447  on the basis of the tier order  1013 . This will be described with reference to  FIG. 14 . 
     The tier condition is a condition for specifying the storage tier to which the volume belongs. As described above, the tier condition includes the capacity  1014 , the device ID  1015 , the device type  1016 , the RAID level  1017 , and the disk type  1018 . 
     Also, the tier condition other than the device type  1016  may be the combination of two or more of those conditions. An item in which the tier condition is not designated is represented by the symbol “—”. 
     The capacity  1014  is a storage capacity necessary to belong to the storage tier. The device ID  1015  is an identifier for identifying the storage system  101 . The device type  1016  is a type of the storage system  101 . The RAID level  1017  is a RAID level of the storage tier. 
     The disk type  1018  is a disk type of the storage device  112  that provides the storage area of the storage tier. For example, the disk type of “FC” represents an FC disk. Also, the disk type of “SATA” represents an SATA disk. 
       FIG. 11  is a diagram showing an example of the volume table  445  according to the embodiment of this invention. The volume table  445  stores the information related to the volume that is supplied by the storage system  101 . 
     The volume table  445  includes a volume ID  1111 , an MG ID  1112 , a storage ID  1113 , a VOL # 1114 , a RAID level  1115 , a disk type  1116 , and a capacity  1117 . In the volume table  445 , a record is produced in each of the volumes. 
     The volume ID  1111  is an identifier for identifying the volume in the storage system  101  by the host computer  104 . The MG ID  1112  is an identifier for identifying the migration group serving as a unit of operating the migrations of the volumes collectively. 
     The storage ID  1113  is an identifier for identifying the storage system  101 . The VOL # 1114  is No. for identifying the volume within the storage system  101 . The RAID level  1115  is a RAID level of the volume. 
     The disk type  1116  is the disk type of the storage device  112  which supplies the storage area of the volume. The disk type  1116  is, for example, information for distinguishing the FC disk and the SATA disk from each other. More specifically, the disk type of “FC” indicates the FC disk. Also, the disk type of “SATA” indicates the SATA disk. The capacity  1117  is a storage area of the volume. 
       FIG. 12  is a diagram showing an example of the volume relation table  446  according to the embodiment of this invention. The volume relation table  446  stores the information related to the progress of the data migrating process of the volume that belongs to the migration group therein. 
     The volume relation table  446  includes an MG ID  1211 , a migration source volume ID  1212 , a migration destination volume ID  1213 , a capacity  1214 , and a progress  1215 . In the volume relation table  446 , a record is produced in each of the volumes that belong to the migration group. 
     The MG ID  1211  is an identifier for identifying the migration group to which the migration source volume belongs. The migration source volume ID  1212  is an identifier for identifying the volume that belongs to the migration group. The migration source volume ID  1212  corresponds to the volume ID  1111  of the volume table  445 . 
     The migration destination volume ID  1213  is an identifier for identifying the volume to which the data of the migration source volume is migrated. The migration destination volume ID  1213  corresponds to the volume ID  1111  of the volume table  445 . The capacity  1214  is the capacity of the migration source volume. 
     The progress  1215  represents the execution status of the volume migration and the date deletion of the migration source volume. The progress  1215  stores, for example, “unprocessed”, “migrating”, “migration completed”, “deleting”, “interrupted”, and “completed”. 
     “Unprocessed” indicates that the migration of the subject volume is not processed. “Migrating” means that the subject volume is being migrated. “Migration completed” represents that the migration of the subject volume has been completed. 
     “Deleting” indicates that the migration of the subject volume has been completed, and the data of the migration source volume is being deleted. “Interrupted” indicates a state in which the migration of the subject volume or the data deletion of the migration source volume is suspended. 
     “Completed” indicates that the migration of the subject volume and the deletion of the migration source volume have been completed. In this situation, the data of the migration source volume may not deleted after the migration of the volume. In this case, the status of “deleting” is not set, and “completed” is set at the time when the migration of the volume is completed. 
       FIG. 13  is a diagram showing an example of the priority table  447  according to the embodiment of this invention. The priority table  447  stores the priority that is used to determine a process to be prioritized and the condition for allocating the subject priority in the case where the execution timings of the data migrating processes are overlapped with each other, therein. 
     The priority table  447  includes the condition # 1311 , a migration condition  1312 , a priority  1313 , and a condition order  1314 . In the priority table  447 , a record is produced in each of the conditions (hereinafter referred to as “migration condition”) for determining the priority of the data migration. Also, the priority table  447  has a condition that is held as an initial value, and a condition that is produced by the data migration management program  121  when the administrator produces the storage tier. Also, the administrator may register data in the priority table  447 . 
     The condition # 1311  is an identifier for identifying the migration condition. 
     The migration condition  1312  stores the contents of the migration condition therein. The migration condition has a condition that is held as an initial value, and a condition that is produced on the basis of the storage tier table according to the data migration management program  121 . 
     In the migration condition  1312 , there is a case in which the capacity of the migration destination storage tier is set as the condition as in a case of a condition # 1  “the capacity of the migration source storage tier is 25% or lower at the time of migration”. Also, there is a case in which the processing content is set as the condition as in a case of a condition # 8  “complete deletion of data in the migration source VOL”. Further, there is a case in which the data migration from the migration source storage tier to the migration destination storage tier is set as the condition as in a case of a condition # 2  “the data migration from Tier 2  to Tier 1 ”. Each of Tier 1 , Tier 2 , and Tier 3  of  FIG. 13  is a name of storage tier. 
     The priority  1313  indicates the priority of the data migrating process on the basis of the migration condition. The data migration is scheduled on the basis of the priority  1313  of the migration plan by executing the data migration management program  121 . 
     The priority  1313  is determined, for example, on the basis of the following rules. The rule is managed by the data migration management program  121 . The condition based on the capacity at the time of migration such as the condition # 1  is set to the highest priority, and the condition # 8  is set to the lowest priority. The lower the numeric value, the higher the priority. Under the condition that is determined according to the migration source storage tier and migration destination storage tier such as the conditions # 2  to # 7 , the priority is higher in the case where the tier order of the migration destination storage tier is higher than the tier order of the migration source storage tier. Further, in the case where the tier order of the migration destination storage tier is highest, the priority is higher. In this case, the priority of the condition in which the tier order of the migration source storage tier is higher is higher. 
     On the other hand, in the case where the tier order of the migration destination storage tier is lower than the tier order of the migration source storage tier, the priority of the condition in which the tier order of the migration source storage tier is higher is higher. In the case where the tier order of the migration source storage tier is equal to each other, the priority of the condition in which the tier order of the migration destination storage tier is higher is higher. 
     When the data deleting process is defined separately, as in the case of the condition # 8 , it is possible to give the priority to the data migrating process and the data deleting process, individually. 
     When the tier order of the storage tier is set to Tier 1 , Tier 2 , and Tier 3  in a descending order, the conditions are determined on the basis of the above-mentioned rules as shown in the condition # 1  to the condition # 8  of  FIG. 13 . 
     The condition order  1314  is an order at the time of applying the migration condition. The condition order  1314  is determined by executing the data migration management program  121 . For example, in the case where the condition # 1  and the condition # 2  are satisfied at the same time, that is, in the case where there occurs a status in which the capacity of the Tier 2  is equal to or lower than 25% at the time of migrating data from Tier 2  to Tier 1 , the condition # 1  that is lower in the value of the condition order is prioritized, and “1” is set in the priority  1313 . 
       FIG. 14  is a flowchart showing an example of a procedure of producing the storage tier according to the embodiment of this invention. This processing is appropriately executed by the administrator in the storage management server  102 . 
     First, the processor  413  of the storage management server  102  executes the table management program  434 , to thereby acquire the configuration information of the storage system  101  from the storage table  441  and the volume table  445 . In addition, the processor  413  executes the GUI program  433 , to thereby display the configuration information of the storage device through the web browser  131  of the management client  103  (Step  1411 ). 
     Subsequently, the administrator refers to the information that is displayed through the process of Step S 1411 , produces the storage tier, and registers the produced storage tier in the storage tier table  444  (Step  1412 ). Hereinafter, a description will be given of a procedure of producing the storage tier with reference to  FIG. 15  showing a screen that is displayed by executing the GUI program  433  in order to produce the storage tier. 
       FIG. 15  is a screen for registering the storage tier according to the embodiment of this invention. 
     The administrator first inputs a tier name to a field of the tier name  2111 . The administrator then sets the configuration contents in a search condition  2112  on the screen by selecting each content from pull-down, to thereby set the tier condition of the storage tier. Finally, the administrator operates an execute button  2113  in order to register the selected contents. Also, in the case where the administrator does not register the set contents, the manager operates a cancel button  2114  in order to cancel the selected contents. 
     The information that has been input from the management client  103  is transmitted to the storage management server  102  by operating the execute button  2113 . Upon receiving the information that has been input from the management client  103 , the processor  413  of the storage management server  102  executes the table management program  434 , to thereby register the produced storage tier in the storage tier table  444 . 
     Then, the processor  413  of the storage management server  102  executes the execution management program  435  to search the storage tier table  444  and determine whether another storage tier exists, or not (Step  1413 ). In the case where another storage tier does not exist (the result in Step  1413  is “no”), processing is completed directly. 
     On the other hand, in the case where another storage tier exists in the storage tier table  444  (the result in Step  1413  is “yes”), the processor  413  of the storage management server  102  executes the priority management program  432  to compare the received storage tier with the tier condition in each of other storage tiers, and determine the tier order (Step  1414 ). The procedure of determining the tier order will be described with reference to  FIG. 16 . 
     The processor  413  of the storage management server  102  executes the priority management program  432 , to thereby produce the priority table  447  on the basis of the tier order that is determined in Step  1414  (Step  1415 ). 
       FIG. 16  is a flowchart showing an example of a procedure of determining the tier order  1013  of the storage tier table  444  according to the embodiment of this invention. 
     The processor  413  of the storage management server  102  first executes the execution management program  435 , to thereby compare the tier condition of the storage tier that has been produced by the process in Step  1412  with the tier condition of the storage tier that has been registered in the storage tier table  444 , and determine whether the device type coincides with each other, or not (Step  2011 ). 
     In the case where the device type is different from each other (the result in Step  2011  is “no”), the processor  413  of the storage management server  102  sets the storage tier having the higher-order device type to be higher (Step  2013 ). The higher-order device type means the higher-performance storage system. The storage performance is determined according to the I/O speed of data, the system configuration, and the like. The information for determining which of higher order or lower order the device type is may be held in the storage management server  102  in advance, or may be determined by the administrator. 
     In the case where the device type coincides with each other (the result in Step  2011  is “yes”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby compare the disk type of the storage tier produced in the process of Step  1412  with the disk type of the tier condition of the storage tier registered in the storage tier table  444 , and determine whether the disk type is equal to each other or not. Alternatively, it is determined that the disk type is not set to at least one of those (Step  2012 ). 
     In the case where the device type is different from each other (the result in Step  2012  is “no”), the processor  413  of the storage management server  102  sets the storage tier having the higher-order disk type set to be higher (Step  2015 ). The higher-order disk type indicates the higher performance disk type. The performance of the disk type is determined according to the I/O speed of data, the lifetime of the disk, and the like. The information for determining which of higher order or lower order the disk type is may be held in the storage management server  102  in advance, or may be determined by the administrator. 
     In the case where the device type coincides with each other or is not set to at least one of those (the result in Step  2012  is “yes”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby compare the RAID level of the storage tier produced in the process of Step  1412  with the RAID level of the tier condition of the storage tier registered in the storage tier table  444 , and determine whether the RAID level is equal to each other or not. Alternatively, it is determined that the RAID level is not set to at least one of those (Step  2014 ). 
     In the case where the RAID level is different from each other (the result in Step  2014  is “no”), the processor  413  of the storage management server  102  sets the storage tier having the higher-order RAID level to be higher (Step  2016 ). The higher-order RAID level indicates the higher performance RAID level. For example, with respect to fault tolerance, the RAID 1  is higher than the RAID 5 . Therefore, the RAID 1  is higher than the RAID 5  in view of the fault tolerance. The information for determining whether the RAID level is higher or lower may be held in the storage management server  102  in advance, or may be determined by the administrator. 
     In the case where the RAID level is equal to each other or not set in at least one of those (the result in Step  2014  is “no”), both of the storage tiers are set to be the same (Step  2017 ). 
     Now, a description will be given in more detail of the operation of  FIG. 14  and  FIG. 16  while comparing the storage tier Tier 1  and the storage tier Tier 2 , and then the storage tier Tier 2  with the storage tier Tier 3  with reference to  FIG. 10 . 
     First, when Tier 1  and Tier 2  are compared with each other, because Tier 1  is of high performance and Tier 2  is of low performance, the device type is different therebetween. Accordingly, the result of Step  2011  of  FIG. 16  is “no”, and Tier 1  having the higher-order tier type is defined to have the higher-order storage tier than Tier 2  in Step  2013 . 
     Then, when Tier 2  and Tier 3  are compared with each other, because the device types of Tier 2  and Tier 3  are equal to each other, the result in Step  2011  is “yes”. Then, the disk type is not set in Tier 3 . Accordingly, the result in Step  2012  is also “yes”. 
     Further, when of the RAID levels of Tier 2  and Tier 3  are compared with each other, the RAID level of Tier 2  is RAID 1  and the RAID level of Tier 3  is RAID 5 . In this embodiment, because RAID 5  is higher than RAID 1 , Tier 2  is higher than Tier 3 . 
       FIG. 17  and  FIG. 18  are flowcharts showing an example of a procedure of producing the migration plan. 
       FIG. 17  is a flowchart showing an example of a procedure of producing the migration plan according to the embodiment of this invention. The procedure shown in  FIG. 17  is a process mainly in the case where the execution of another migration plan is not overlapped with the execution scheduled time of the produced migration plan. 
     The processor  413  of the storage management server  102  executes the GUI program  433 , to thereby display a screen that registers the migration plan through the web browser  131  of the management client  103  (Step  1511 ). The administrator sets the migration group that migrates data on the displayed screen, the migration destination storage tier, and the designated end time. 
     Hereinafter, a description will be described of the operation of the administrator in Step  1511  with reference to  FIG. 19  showing the screen that is displayed in the web browser  131  of the management client  103 . 
       FIG. 19  shows a screen for registering the migration plan according to the embodiment of this invention. 
     The administrator first operates a select field  2211  on the basis of information on an MG ID  2212 , a belonging VOL # 2213 , and a migration destination tier  2214  which are displayed on the screen, and selects one migration group. The MG ID  2212 , the belonging VOL # 2213 , and the migration destination tier  2214  correspond to the MG ID  811 , the belonging VOL # 812 , and the migration destination tier  813  in the migration group table  442 , respectively. 
     Subsequently, the administrator operates a select field  2221  on the basis of information on a tier name  2222 , a capacity  2223 , a device ID  2224 , a device type  2225 , a RAID level  2226 , and a disk type  2227 , to thereby select the migration destination storage tier of the volume within the migration group. The tier name  2222 , the capacity  2223 , the device ID  2224 , the device type  2225 , the RAID level  2226 , and the disk type  2227  correspond to the tier name  1012 , the capacity  1014 , the device ID  1015 , the device type  1016 , the RAID level  1017 , and the disk type  1018  in the storage tier table  444 , respectively. 
     In addition, the administrator inputs a designated end time  2231 . Finally, in order to execute the selected contents, the manager operates an execute button  2241 . In the case where the selected contents are canceled, the administrator operates a cancel button  2242 . 
     Subsequently, the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby searches the priority table  447  for the subject priority on the basis of information on the migration group designated by the administrator, and the migration destination storage tier (Step  1512 ). 
     The processor  413  of the storage management server  102  executes the execution management program  435 , to thereby calculate a period of time required for the data migration which is designated by the administrator. In the calculation of the period of time required for the data migration, for example, a sum of capacities of the volumes that belong to the migration group is calculated based on the configuration information of the volumes that belong to the migration group, and a product of the sum and the data transfer speed per unit capacity is obtained. The data transfer speed per unit capacity is held by the storage management server  102  in advance. The configuration information of the volume is acquired from the migration group table  442  and the volume table  445 . 
     Subsequently, the processor  413  of the storage management server  102  sets a scheduled end time. The scheduled end time is a time obtained by subtracting a constant time (hereinafter referred to as “margin time”) from the designated end time designated by the administrator. The margin time is held by the storage management server  102  in advance. The processor  413  of the storage management server  102  sets a scheduled start time on the basis of the scheduled end time and the required period of time (Step  1513 ). 
     The processor  413  of the storage management server  102  executes the table management program  434 , to thereby acquire the registered migration plan from the migration plan table  443 . In addition, the processor  413  of the storage management server  102  acquires the scheduled start time and the scheduled end time (hereinafter, a period of time between the scheduled start time and the scheduled end time will be called “scheduled period of time”) of the acquired migration plan, and determines whether the scheduled period of time that is set in the process of Step  1513  is overlapped with the scheduled period of time of another migration plan, or not (Step  1514 ). 
     In the case where the scheduled period of time is not overlapped with that of other migration plans (the result in Step  1514  is “no”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby determine whether the scheduled start time is before the present time, or not (Step  1611 ). More specifically, the processor  413  compares the scheduled start time that has been set in the process of Step  1512  with the present time. 
     In the case where the scheduled start time is before the present time (the result in Step  1611  is “no”), the processor  413  of the storage management server  102  executes the table management program  434 , to thereby register the information in the migration plan table  443  (Step  1613 ). The information to be registered in the migration plan table  443  is information set in the processes of Steps  1511  and  1512  and information designated by the administrator. 
     In the case where the scheduled start time is not before the present time (the result in Step  1611  is “yes”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby determine whether the scheduled end time is later than the designated end time, or not (Step  1612 ). More specifically, the processor  413  compares the scheduled end time set in the process of Step  1512  with the designated end time designated by the administrator. 
     In the case where the scheduled end time is earlier than the designated end time (the result in Step  1612  is “no”), the processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby instruct the data migration to the storage system  101  (Step  1614 ). In this situation, the processor  413  of the storage management server  102  designates the migration source volume and the migration destination volume which are described in the volume relation table  446  from the migration plan to the storage system  101 . 
     In the case where the scheduled end time is later than the designated end time (the result in Step  1612  is “yes”), the processor  413  of the storage management server  102  notifies the administrator of the error (Step  1615 ). 
     The above process is a process in the case where the execution of another migration plan is not overlapped with the execution scheduled time of the produced migration plan. Hereinafter, a description will be given of the process in the case where the execution of another migration plan is overlapped with the execution scheduled time of the produced migration plan with reference to  FIG. 18 . 
       FIG. 18  is a flowchart showing an example of the procedure of producing the migration plan according to the embodiment of this invention. Specifically, a case in which the execution of another migration plan is overlapped with the execution scheduled time of the produced migration plan is illustrated. 
     In the case where the scheduled period of time is overlapped with each other (the result in Step  1514  of  FIG. 17  is “yes”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby select the migration plan having a higher priority (Step  1711 ). More specifically, the processor  413  compares the priority of the overlapped migration plan with the priority set in the process of Step  1511 . In this situation, in the case where the priorities are equal to each other, the processor  413  selects the overlapped migration plan. 
     Subsequently, the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby determine whether the migration plan that has been selected in the process of Step  1711  is being executed, or not (Step  1712 ). 
     In the case where the migration plan is in execution (the result in Step  1712  is “yes”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby delay the scheduled start time of the migration plan not selected in the process of Step  1711  so that those executions are not overlapped with each other (Step  1715 ). 
     In the case where the migration plan selected in the process of Step  1711  is not in execution (the result in Step  1712  is “no”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby hasten the scheduled start time of the migration plan selected in the process of Step  1711 . More specifically, the processor  413  hastens the scheduled start time of the migration plan selected in the process of Step  1711  as much as the period of time between the scheduled start time and the present time, as much as the period of time between the scheduled end time and the present time, to the scheduled end time of another migration plan, or to the latest time among the times corresponding to the periods of time, the scheduled end time, and the present time, on the basis of the information on the migration plan other than the migration plan compared in the process of Step  1711  and the information on the present time (Step  1713 ). 
     The processor  413  of the storage management server  102  may not change the scheduled start time according to the scheduled end time of another migration plan, but may execute the process of  FIG. 18  with respect to the migration plan selected in the process of Step  1711  and the migration plan whose scheduled end time competes against the scheduled end time thereof in this step. 
     Subsequently, the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby compare the scheduled period of time changed in the process of Step  1713  with the scheduled period of time of another migration plan compared in the process of Step  1711 , and determine whether the scheduled period of time is overlapped with each other, or not (Step  1714 ). 
     In the case where the scheduled period of time is overlapped with each other (the result in Step  1714  is “yes”), the processor  413  of the storage management server  102  executes a process of Step  1715 . 
     In the case where the scheduled period of time is not overlapped with each other (the result in Step  1714  is “no”), the processor  413  of the storage management server  102  executes the processes after Step  1611  with respect to the respective migration groups whose scheduled period of time has been changed. 
     Now, a process of producing the migration plan will be described with reference to an example of  FIG. 20 . 
       FIG. 20  is a diagram for explaining a specific example of a procedure of producing the migration plan according to the embodiment of this invention. 
     In the migration plan table before producing the migration plan, there is registered a migration plan whose MG ID  911  is “101”. 
     The administrator executes the processes of Steps  1511  to  1513  to register a migration plan whose designated end time is “12/10 12:00”, the scheduled start time is “12/10 9:00”, the scheduled end time is “12/10 10:00”, and the priority is “5”, at the present time “12/10 9:00”. The MG ID of the migration plan is set to “102”, and the scheduled start time  913 , the scheduled end time  914 , and the priority  912  are determined by the execution of the execution management program  435 . 
     Subsequently, the processor  413  of the storage management server  102  determines whether the scheduled period of time of the migration plan whose MG ID is “101” is overlapped with the scheduled period of time of the migration plan whose MG ID is “102”, or not, through the process of Step  1514 . 
     The migration plan whose MG ID is “101” has the scheduled start time of “12/10 9:00” and the scheduled end time of “12/10 10:00”. The migration plan whose MG ID is “102” has the scheduled start time of “12/10 9:30”, and the scheduled end time of “12/10 10:00”. Thus, the scheduled periods of time of those migration plans are overlapped with each other. 
     Accordingly, because the result of Step  1514  is “yes”, the processor  413  of the storage management server  102  executes the process of Step  1711 . In the process of Step  1711 , the table management program  232  is executed, and the migration plan whose MG ID is “101” that is higher in the priority is selected. 
     The processor  413  of the storage management server  102  determines whether the migration plan having the MG ID of “101” is being executed, or not, through the process of Step  1712 . Because the migration plan having the MG ID of “101” is unprocessed, the processor  413  executes the process of Step  1713 . As a result, the scheduled start time of the migration plan having the MG ID of “101” is hastened up to 9:00 which is the present time. In this situation, the scheduled start time of the migration plan having the MG ID of “101” is “9:00”, and the scheduled end time thereof is “9:30”. 
     Subsequently, the processor  413  of the storage management server  102  determines whether the scheduled periods of time of the migration plan having the MG ID of “101” and that of the migration plan whose MG ID of “102” are overlapped with each other, or not, through a process of Step  1714 . 
     The processor  413  of the storage management server  102  executes a process of Step  1715  because the scheduled periods of time of the migration plan having the MG ID of “101” and that of the migration plan whose MG ID of “102” are overlapped with each other. The processor  413  of the storage management server  102  changes the scheduled start time and the scheduled end time of the migration plan having the MG ID of “102” to “9:30” and “10:30”, respectively, so as not to be overlapped with the scheduled period of time of the migration plan having the MG ID of “101”. 
     In addition, the processor  413  of the storage management server  102  executes the processes after Step  1611  of  FIG. 17  with respect to the migration plans having the MG ID of “101” and the MG ID of “102”, respectively. 
     The processor  413  of the storage management server  102  executes the process of Step  1611  to determine whether the scheduled start time of the migration plan having the MG ID of “101” is before the present time, or not. 
     Because the scheduled start time of the migration plan having the MG ID of “101” is not before the present time, the processor  413  of the storage management server  102  executes the process of Step  1612  to determine whether the scheduled end time is before the designated end time, or not. In addition, the processor  413  executes the process of Step  1614 , and executes the migration plan having the MG ID of “101”. 
     On the other hand, because the scheduled start time of the migration plan having the MG ID of “102” is not before the present time, the processor  413  executes the process of Step  1613 , and registers the scheduled start time and the scheduled end time in the migration plan table  443 . 
       FIG. 21  is a flowchart showing a procedure of the volume migrating process registered in the migration plan according to the embodiment of this invention. 
     The processor  413  of the storage management server  102  executes the table management program  434 , to thereby regularly acquire the migration plan table  443  (Step  1811 ). 
     The processor  413  of the storage management server  102  executes the execution management program  435 , to thereby retrieve the scheduled start time of the migration plan acquired in the process of Step  1811 , and determine whether the scheduled start time has passed, or not, and whether the unprocessed migration plan exists, or not (Step  1812 ). 
     In the case where the scheduled start time has passed, and the unprocessed migration plan does not exist (the result in Step  1812  is “no”), the processor  413  of the storage management server  102  terminates this process. 
     In the case where the scheduled start time has passed, and the unprocessed migration plan exists (the result in Step  1812  is “yes”), the processor  413  of the storage management server  102  executes the execution management program  425 , to thereby determine whether the migration plan in execution exists, or not (Step  1813 ). More specifically, the processor  413  refers to the execution status of the migration plan acquired in the process of Step  1811  for determination. 
     In the case where the migration plan in execution does not exist (the result in Step  1813  is “no”), the processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby instruct the data migration to the storage system  101  (Step  1814 ). In this situation, the processor  413  of the storage management server  102  designates the migration source volume and the migration destination volume, which are described in the volume relation table  446 , from the migration plan having the scheduled start time passed. 
     In the case where the migration plan in execution exists (the result in Step  1813  is “yes”), the processor  413  of the storage management server  102  executes the execution management program  435 , to thereby compare the priority of the migration plan in execution with the priority of the migration plan having the scheduled start time passed, and determine whether the priority of the migration plan having the scheduled start time passed is higher, or not (Step  1815 ). 
     In the case where the priority of the migration plan having the scheduled start time passed is higher (the result in Step  1815  is “yes”), the processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby suspend the data migrating process of the migration plan in execution. Then, the processor  413  designates the migration source volume and the migration destination volume, which are described in the volume relation table  446 , from the migration plan having the scheduled start time passed, and instructs the data migration to the storage system  101  (Step  1816 ). The stopped process is again executed in a case where the migration plan that is higher in priority does not execute. 
       FIG. 22  is an example of a flowchart that instructs the stop of the data migrating process of the storage system  101  according to the embodiment of this invention. This process represents the stop of the data migrating process in the process of Step  1816  shown in  FIG. 18 . 
     The processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby access to the storage system  101  and acquire the information on the process that stops (Step  1911 ). 
     The processor  413  of the storage management server  102  executes the execution management program  435 , to thereby determine whether the process in execution is the data migrating process, or the data deleting process (Step  1912 ). 
     In the case where the process in execution is the data deleting process (the result in Step  1912  is “no”), the processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby acquire information on the subject storage device (Step  1914 ). In addition, the processor  413  of the storage management server  102  determines whether the interruption of the data deleting process is enabled, or not (Step  1915 ). 
     The interruption of the process means that the subject process is suspended when the storage operation program  431  is executed to transmit a stop command of the subject process to the storage system  101 , and the suspended process is restarted when the storage operation program  431  is executed to transmit the restart command of the subject process to the storage system  101 . 
     In the case where the process in execution is the data migrating process (the result in Step  1912  is “yes”), the processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby acquire the information on the subject storage device (Step  1913 ). In addition, the processor  413  of the storage management server  102  determines whether the interruption of the data migrating process is enabled, or not (Step  1915 ). 
     In the case where the process in execution can be interrupted (the result in Step  1915  is “yes”), the processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby instruct the interruption of the present process to the storage system  101  (Step  1916 ). 
     In the case where the process in execution cannot be interrupted (the result in Step  1915  is “no”), the processor  413  of the storage management server  102  executes the storage operation program, to thereby instruct the forced termination of the present process to the storage system  101  (Step  1917 ). Further, in the subject process, the processor  413  updates the progress  1215  of the volume relation table  446 . For example, when the value of the progress  1215  is “migrating”, the processor  413  changes the value to “unprocessed”, and when the value of the progress  1215  is “deleting”, the processor  413  changes the value to “migrating”. 
     The forced termination of the process means that the processor  413  executes the storage operation program  431 , thereby transmitting the forced termination command of the subject process to the storage system  101  to cancel the subject process. In this situation, in order to restart the process, the processor  413  of the storage management server  102  is required to execute the storage operation program  431  to again transmit the execution command of the subject process. In this situation, the subject process is executed from the beginning. 
       FIG. 23  is a diagram for explaining a specific example of a procedure of executing the migration plan according to the embodiment of this invention. In the migration plan table before execution shown in  FIG. 23 , the migration plan having the MG ID of “201” is “migrating”, and the migration plan having the MG ID of “202” is “unprocessed”. 
     A description will be given of a case in which the execution of the migration plan having the MG ID of “201” is not completed, and the scheduled start time of the migration plan having the MG ID of “202” has passed (in the case where the result of Step  1812  is “yes”). 
     In this case, because the migration plan having the MG ID of “201” is in execution, the processor  413  executes the process of Step  1815  to compare the priority of the migration plan having the MG ID of “201” with the priority of the migration plan having the MG ID of “202”. As a result, because the priority of the migration plan having the MG ID of “202” is higher, the migration plan having the MG ID of “201” is suspended, and the migration plan having the MG ID of “202” is executed. In this situation, the migration plan table  443  is in a state of the migration plan table after execution shown in  FIG. 23 . 
     According to the embodiment of this invention, it is possible to start the volume migration that is higher in priority such that the process completes before the end time. Therefore, the migrating process of the volume that is higher in priority can be completed by the designated time. 
     Also, according to the embodiment of this invention, in the case where a timing at which the access frequency is increased is grasped by a system monitor and the like in advance, it is possible to complete the migrating process of the volume before the processing performance is deteriorated due to increased access frequency. 
     In the embodiment of this invention, the data migration is executed by the virtualization device  107  in a state where a plurality of storage devices are logically identified as one storage device. Now, a description will be given of a modified example in which the data migration is conducted in the interior of one storage system. 
     More specifically, the modified example is different from the computer system  100  shown in  FIG. 1  in that the virtualization device  107  is not included, and the storage management server  102  manages one storage system  101 . Other structures are the same as those in  FIG. 1 . 
     The processor  413  of the storage management server  102  executes the storage operation program  431 , to thereby transmit instructions of the data migrating process and the data deleting process to the storage system  101 . 
     According to the modified example of the embodiment of this invention, it is possible to apply this invention to the configuration in which one storage system  101  is disposed for the storage management server  102 . Accordingly, even in a computer system that is relatively small-scaled, it is possible to complete the migrating process of the volume before the access frequency increases, by means of the system monitor. 
     While the present invention has been described in detail and pictorially in the accompanying drawings, the present invention is not limited to such detail but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims.

Technology Category: 3