(57)【要約】【課題】データのマイグレーション等の際に必要となるライセンスの購入コストを低下させる。【解決手段】ネットワークを介して相互に接続された複数のストレージシステムを含む計算機システムにおいて、各前記ストレージシステムは、データを格納する論理ボリュームを備え、データの転送元のストレージシステム内の転送元の前記論理ボリュームと、前記データの転送先の前記ストレージシステム内の転送先の前記論理ボリュームと、を決定し、前記転送元の論理ボリュームにおいて使用されているプログラムのライセンスを前記複数のストレージシステムの一つから前記転送先のストレージシステムに移動する必要があるか否かを判定し、前記ライセンスを移動する必要があると判定した場合、前記転送先のストレージシステムに前記ライセンスに関するライセンス情報を移動する。【選択図】      図１
2006350824.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された複数のストレージシステムを管理する管理計算機において、
各前記ストレージシステムは、データを格納する論理ボリュームを備え、
前記管理計算機は、転送管理部と、ライセンス移動制御部と、を備え、
前記転送管理部は、
前記複数のストレージシステムのうち前記データの転送元のストレージシステム内の転送元の前記論理ボリュームと、前記転送元の論理ボリュームに格納された前記データの転送先の前記ストレージシステム内の転送先の前記論理ボリュームと、を決定し、
前記ライセンス移動制御部からの要求を受けて、前記ストレージシステムに前記データの転送を指示し、
前記ライセンス移動制御部は、
前記転送元の論理ボリュームにおいて使用されているプログラムのライセンスを前記複数のストレージシステムの一つから前記転送先のストレージシステムに移動する必要があるか否かを判定し、
前記ライセンスを移動する必要があると判定した場合、前記転送先のストレージシステムに前記ライセンスに関するライセンス情報を移動し、前記転送管理部に前記データの転送の実行を要求することを特徴とする管理計算機。
【請求項２】
前記ライセンス移動制御部は、
前記ライセンスを移動する必要があると判定した場合、前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されているか否かを判定し、
前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されていないと判定した場合、前記転送元のストレージシステムから前記転送先のストレージシステムに前記ライセンス情報を移動し、
前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されていると判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記転送元のストレージシステムから前記転送先のストレージシステムに前記ライセンス情報を移動することを特徴とする請求項１に記載の管理計算機。
【請求項３】
前記ライセンス移動制御部は、
前記ライセンスを移動する必要があると判定した場合、少なくとも一つの前記ストレージシステムが前記プログラムの余剰のライセンスを保持しているか否かを判定し、
少なくとも一つの前記ストレージシステムが前記プログラムの余剰のライセンスを保持していると判定した場合、前記余剰のライセンスに関するライセンス情報を前記転送先のストレージシステムに移動することを特徴とする請求項１に記載の管理計算機。
【請求項４】
前記ライセンス移動制御部は、
前記ライセンスを移動する必要があると判定された場合、前記転送先のストレージシステムの機種に関する情報を参照して、前記ライセンスを前記転送先のストレージシステムの機種に適用できるか否かを判定し、
前記ライセンスを前記転送先のストレージシステムの機種に適用できると判定した場合、前記転送先のストレージシステムに前記ライセンス情報を移動することを特徴とする請求項１に記載の管理計算機。
【請求項５】
前記ライセンス移動制御部は、
前記プログラムと同一のものが前記転送先のストレージシステムにおいて使用されているか否かを判定し、
前記プログラムと同一のものが前記転送先のストレージシステムにおいて使用されていないと判定した場合、前記ライセンスを移動する必要があると判定し、
前記プログラムと同一のものが前記転送先のストレージシステムにおいて使用されていると判定した場合、前記ライセンスの未使用容量が前記転送先の論理ボリュームの容量より小さいか否かを判定し、
前記ライセンスの未使用容量が前記転送先の論理ボリュームの容量より小さいと判定した場合、前記ライセンスを移動する必要があると判定することを特徴とする請求項１に記載の管理計算機。
【請求項６】
前記ライセンス移動制御部は、
前記プログラムと同一のものが前記転送先のストレージシステムにおいて使用されていないと判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量分移動する必要があると判定し、
前記ライセンスの未使用容量が前記転送先の論理ボリュームの容量より小さいと判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量から前記未使用容量を減算した容量分移動する必要があると判定し、
前記ライセンスを分割できないと判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量分移動する必要があると判定することを特徴とする請求項５に記載の管理計算機。
【請求項７】
前記ライセンス移動制御部は、前記ライセンスを移動する必要があると判定した場合、
前記複数のストレージシステムの一つが保持する前記プログラムの前記ライセンスの前記未使用容量が、前記転送先の論理ボリュームに移動する必要があると判定された容量より小さくない場合、前記ライセンスがいずれかの前記論理ボリュームにおいて使用されているか否かを判定し、
前記ライセンスがいずれの前記論理ボリュームにおいても使用されていないと判定した場合、前記ライセンスが余剰のライセンスであると判定し、
前記ライセンスが少なくとも一つの前記論理ボリュームにおいて使用されていると判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスの未使用容量の分が前記余剰のライセンスであると判定し、
前記ライセンスを分割できないと判定した場合、前記余剰のライセンスがないと判定し、
前記余剰のライセンスがあると判定した場合、前記余剰のライセンスに関するライセンス情報を前記転送先のストレージシステムに移動することを特徴とする請求項６に記載の管理計算機。
【請求項８】
ネットワークを介して相互に接続された複数のストレージシステムと管理計算機とを含む計算機システムにおいて、
各前記ストレージシステムは、データを格納する論理ボリュームを備え、
前記管理計算機は、前記ネットワークに接続されるポートと、前記ポートに接続されるプロセッサと、を備え、
前記プロセッサは、
前記複数のストレージシステムのうち前記データの転送元のストレージシステム内の転送元の前記論理ボリュームと、前記転送元の論理ボリュームに格納された前記データの転送先の前記ストレージシステム内の転送先の前記論理ボリュームと、を決定し、
前記転送元の論理ボリュームにおいて使用されているストレージシステムプログラムのライセンスを前記複数のストレージシステムの一つから前記転送先のストレージシステムに移動する必要があるか否かを判定し、
前記ライセンスを移動する必要があると判定した場合、前記転送先のストレージシステムに前記ライセンスに関するライセンス情報を移動し、前記ストレージシステムに、前記データの転送を、前記ポートを介して指示することを特徴とする計算機システム。
【請求項９】
前記プロセッサは、
前記ライセンスを移動する必要があると判定した場合、前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記ストレージシステムプログラムが使用されているか否かを判定し、
前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記ストレージシステムプログラムが使用されていないと判定した場合、前記転送元のストレージシステムから前記転送先のストレージシステムに前記ライセンス情報を移動し、
前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記ストレージシステムプログラムが使用されていると判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記転送元のストレージシステムから前記転送先のストレージシステムに前記ライセンス情報を移動することを特徴とする請求項８に記載の計算機システム。
【請求項１０】
前記プロセッサは、
前記ライセンスを移動する必要があると判定した場合、前記転送先のストレージシステムの機種に関する情報を参照して、前記ライセンスを前記転送先のストレージシステムの機種に適用できるか否かを判定し、
前記ライセンスを前記転送先のストレージシステムの機種に適用できると判定した場合、前記転送先のストレージシステムに前記ライセンス情報を移動することを特徴とする請求項８に記載の計算機システム。
【請求項１１】
前記プロセッサは、
前記ストレージシステムプログラムと同一のものが前記転送先のストレージシステムにおいて使用されているか否かを判定し、
前記ストレージシステムプログラムと同一のものが前記転送先のストレージシステムにおいて使用されていないと判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量分移動する必要があると判定し、
前記ストレージシステムプログラムと同一のものが前記転送先のストレージシステムにおいて使用されていると判定した場合、前記ライセンスの未使用容量が前記転送先の論理ボリュームの容量より小さいか否かを判定し、
前記ライセンスの未使用容量が前記転送先の論理ボリュームの容量より小さいと判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量から前記未使用容量を減算した容量分移動する必要があると判定し、
前記ライセンスを分割できないと判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量分移動する必要があると判定し、
前記ライセンスを移動する必要があると判定した場合、
前記複数のストレージシステムの一つが保持する前記ストレージシステムプログラムの前記ライセンスの前記未使用容量が、前記転送先の論理ボリュームに移動する必要があると判定された容量より小さくない場合、前記ライセンスがいずれかの前記論理ボリュームにおいて使用されているか否かを判定し、
前記ライセンスがいずれの前記論理ボリュームにおいても使用されていないと判定した場合、前記ライセンスが余剰のライセンスであると判定し、
前記ライセンスが少なくとも一つの前記論理ボリュームにおいて使用されていると判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスの未使用容量の分が前記余剰のライセンスであると判定し、
前記ライセンスを分割できないと判定した場合、前記余剰のライセンスがないと判定し、
前記余剰のライセンスがあると判定した場合、前記余剰のライセンスに関するライセンス情報を前記転送先のストレージシステムに移動することを特徴とする請求項８に記載の計算機システム。
【請求項１２】
ネットワークを介して相互に接続された業務サーバ及び複数のストレージシステムを含む計算機システムにおいて、
各前記ストレージシステムは、データを格納する論理ボリュームを備え、
前記複数のストレージシステムのうち第１ストレージシステムは、前記第１ストレージシステムに第２ストレージシステムが接続されたとき、前記第２ストレージシステムの第１論理ボリュームを前記第１ストレージシステムの仮想ボリュームとして前記業務サーバに認識させ、
前記計算機システムは、外部接続部と、ライセンス移動制御部と、を備え、
前記外部接続部は、前記第２ストレージシステムの第１論理ボリュームと、前記第１論理ボリュームに対応する前記仮想ボリュームと、を決定し、
前記ライセンス移動制御部からの要求を受けて、前記前記第１ストレージシステムと第２ストレージシステムとの接続を実行し、
前記ライセンス移動制御部は、
前記第１論理ボリュームにおいて使用されているプログラムのライセンスを前記複数のストレージシステムの一つから前記第１ストレージシステムに移動する必要があるか否かを判定し、
前記ライセンスを移動する必要があると判定した場合、前記第１ストレージシステムに前記ライセンスに関するライセンス情報を移動し、前記外部接続部に前記前記第１ストレージシステムと第２ストレージシステムとの接続の実行を要求することを特徴とする計算機システム。
【請求項１３】
前記ライセンス移動制御部は、
前記ライセンスを移動する必要があると判定した場合、前記第１論理ボリューム以外の前記第２ストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されているか否かを判定し、
前記第１論理ボリューム以外の前記第２ストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されていないと判定した場合、前記第２ストレージシステムから前記第１ストレージシステムに前記ライセンス情報を移動し、
前記第１論理ボリューム以外の前記第２ストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されており、かつ、前記プログラムの前記ライセンスを分割できないと判定した場合、少なくとも一つの前記ストレージシステムが前記プログラムの余剰のライセンスを保持しているか否かを判定し、
少なくとも一つの前記ストレージシステムが前記プログラムの余剰のライセンスを保持していると判定した場合、前記余剰のライセンスに関するライセンス情報を前記第１ストレージシステムに移動することを特徴とする請求項１２に記載の計算機システム。
【請求項１４】
前記ライセンス移動制御部は、
前記ライセンスを移動する必要があると判定した場合、前記第１ストレージシステムの機種に関する情報を参照して、前記ライセンスを前記第１ストレージシステムの機種に適用できるか否かを判定し、
前記ライセンスを前記第１ストレージシステムの機種に適用できると判定した場合、前記第１ストレージシステムに前記ライセンス情報を移動することを特徴とする請求項１２に記載の計算機システム。
【請求項１５】
前記ライセンス移動制御部は、
前記プログラムと同一のものが前記第１ストレージシステムにおいて使用されているか否かを判定し、
前記プログラムと同一のものが前記第１ストレージシステムにおいて使用されていないと判定した場合、前記ライセンスを前記仮想ボリュームの容量分移動する必要があると判定し、
前記プログラムと同一のものが前記第１ストレージシステムにおいて使用されていると判定した場合、前記ライセンスの未使用容量が前記仮想ボリュームの容量より小さいか否かを判定し、
前記ライセンスの未使用容量が前記仮想ボリュームの容量より小さいと判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスを前記仮想ボリュームの容量から前記未使用容量を減算した容量分移動する必要があると判定し、
前記ライセンスを分割できないと判定した場合、前記ライセンスを前記仮想ボリュームの容量分移動する必要があると判定し、
前記ライセンス移動制御部は、前記ライセンスを移動する必要があると判定した場合、
前記複数のストレージシステムの一つが保持する前記プログラムの前記ライセンスの前記未使用容量が、前記仮想ボリュームに移動する必要があると判定された容量より小さくない場合、前記ライセンスがいずれかの前記論理ボリュームにおいて使用されているか否かを判定し、
前記ライセンスがいずれの前記論理ボリュームにおいても使用されていないと判定した場合、前記ライセンスが余剰のライセンスであると判定し、
前記ライセンスが少なくとも一つの前記論理ボリュームにおいて使用されていると判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスの未使用容量の分が前記余剰のライセンスであると判定し、
前記ライセンスを分割できないと判定した場合、前記余剰のライセンスがないと判定し、
前記余剰のライセンスがあると判定した場合、前記余剰のライセンスに関するライセンス情報を前記第１ストレージシステムに移動することを特徴とする請求項１２に記載の計算機システム。
【請求項１６】
ネットワークを介して相互に接続された複数のストレージシステムの制御方法において、
各前記ストレージシステムは、データを格納する論理ボリュームを備え、
前記制御方法は、
前記複数のストレージシステムのうち前記データの転送元のストレージシステム内の転送元の前記論理ボリュームと、前記転送元の論理ボリュームに格納された前記データの転送先の前記ストレージシステム内の転送先の前記論理ボリュームと、を決定し、
前記転送元の論理ボリュームにおいて使用されているプログラムのライセンスを前記複数のストレージシステムの一つから前記転送先のストレージシステムに移動する必要があるか否かを判定し、
前記ライセンスを移動する必要があると判定した場合、前記転送先のストレージシステムに前記ライセンスに関するライセンス情報を移動し、前記転送元の論理ボリュームから前記転送先の論理ボリュームにデータを転送する制御方法。
【請求項１７】
前記ライセンスを移動する必要があると判定した場合、前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されているか否かを判定し、
前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されていないと判定した場合、前記転送元のストレージシステムから前記転送先のストレージシステムに前記ライセンス情報を移動し、
前記転送元の論理ボリューム以外の前記転送元のストレージシステム内の前記論理ボリュームにおいて前記プログラムが使用されていると判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記転送元のストレージシステムから前記転送先のストレージシステムに前記ライセンス情報を移動することを特徴とする請求項１６に記載の制御方法。
【請求項１８】
前記ライセンスを移動する必要があると判定した場合、前記転送先のストレージシステムの機種に関する情報を参照して、前記ライセンスを前記転送先のストレージシステムの機種に適用できるか否かを判定し、
前記ライセンスを前記転送先のストレージシステムの機種に適用できると判定した場合、前記転送先のストレージシステムに前記ライセンス情報を移動することを特徴とする請求項１６に記載の制御方法。
【請求項１９】
ライセンスを前記複数のストレージシステムの一つから前記転送先のストレージシステムに移動する必要があるか否かの判定において、
前記プログラムと同一のものが前記転送先のストレージシステムにおいて使用されているか否かを判定し、
前記プログラムと同一のものが前記転送先のストレージシステムにおいて使用されていないと判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量分移動する必要があると判定し、
前記プログラムと同一のものが前記転送先のストレージシステムにおいて使用されていると判定した場合、前記ライセンスの未使用容量が前記転送先の論理ボリュームの容量より小さいか否かを判定し、
前記ライセンスの未使用容量が前記転送先の論理ボリュームの容量より小さいと判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量から前記未使用容量を減算した容量分移動する必要があると判定し、
前記ライセンスを分割できないと判定した場合、前記ライセンスを前記転送先の論理ボリュームの容量分移動する必要があると判定し、
前記ライセンスを移動する必要があると判定した場合、
前記複数のストレージシステムの一つが保持する前記プログラムの前記ライセンスの前記未使用容量が、前記転送先の論理ボリュームに移動する必要があると判定された容量より小さくない場合、前記ライセンスがいずれかの前記論理ボリュームにおいて使用されているか否かを判定し、
前記ライセンスがいずれの前記論理ボリュームにおいても使用されていないと判定した場合、前記ライセンスが余剰のライセンスであると判定し、
前記ライセンスが少なくとも一つの前記論理ボリュームにおいて使用されていると判定した場合、前記ライセンスを分割できるか否かを判定し、
前記ライセンスを分割できると判定した場合、前記ライセンスの未使用容量の分が前記余剰のライセンスであると判定し、
前記ライセンスを分割できないと判定した場合、前記余剰のライセンスがないと判定し、
前記余剰のライセンスがあると判定した場合、前記余剰のライセンスに関するライセンス情報を前記転送先のストレージシステムに移動することを特徴とする請求項１６に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムにインストールされるプログラムのライセンス管理に関する。
【背景技術】
【０００２】
一つ以上のストレージシステムを含む計算機システムにおいて、ストレージシステムベースのプログラム（以下、ストレージシステムプログラムと記載する）は、各ストレージシステムにインストールされている。このようなストレージシステムプログラムは、例えば、論理ボリュームの作成・削除、データの移動・再配置、論理ボリュームへのホストアクセスの制御、リモートコピー又はローカルコピー等を実行するプログラムである。
【０００３】
このようなストレージシステムプログラムのライセンス体系（すなわち、ストレージシステムプログラムの適用対象についての考え方）は、プログラムごとに異なる場合がある。例えば、あるストレージシステムプログラムについては、それがインストールされるストレージシステムごとにライセンスを取得する必要があり、別のストレージシステムプログラムについては、複数のストレージシステムについて一つのライセンスを取得すればよい場合がある。
【０００４】
また、ストレージシステムプログラムが適用されるディスク容量によってライセンス体系が異なる場合もある。例えば、ストレージシステムプログラムが適用される論理ボリュームの容量が所定の値以下であれば一定の金額が課金される固定定額方式や、利用した容量の分だけ課金される従量方式がある。
【０００５】
このようなライセンスを管理するために、各ライセンスの設定を確認し、プログラムの実行を制御する方法が開示されている（特許文献１参照）。
【０００６】
一方、計算機システムのデータを管理する手段の一つとして、データをマイグレーションすることが知られている（例えば、特許文献２参照）。マイグレーションとは、一つの論理ボリュームから他の論理ボリュームにデータを移動することである。マイグレーションは、負荷分散や、ＤＬＣＭ（Data LifeCycle Management）を実現するために実行される。負荷分散とは、例えば、ディスク使用率又はパス利用率の平均化である。一方、ＤＬＣＭによれば、例えば、時間の経過と共にデータの価値が変化したとき、その価値に応じたコストのストレージ装置にデータがマイグレーションされる。
【０００７】
従来、マイグレーションは、一つのストレージシステム内で実行されていた。すなわち、一つのストレージシステムに性能・容量等が異なるディスクドライブが混在する場合、データが最適なディスクドライブ（正確には、最適なディスクドライブによって構成された論理ボリューム）にマイグレーションされた。
【０００８】
しかし、計算機システムが複数のストレージシステムを含む場合、複数のストレージシステム間でデータをマイグレーションする必要が生じる。このようなストレージシステム間のマイグレーションは、ノード間マイグレーションとも呼ばれる。
【特許文献１】特開２００４−２３４５５９号公報
【特許文献２】特開２００１−３３７７９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記のノード間マイグレーションを実行するためには、マイグレーション元及びマイグレーション先のストレージシステムに、ノード間マイグレーションを実行するストレージシステムプログラムのライセンスが必要になる。さらに、マイグレーション対象の論理ボリュームがいずれかのストレージシステムプログラムの適用対象である場合、そのストレージシステムプログラムのライセンスが、マイグレーション先のストレージシステムに必要となる。
【００１０】
マイグレーション先となる可能性があるストレージシステムが複数存在する場合、それらの複数のストレージシステムがストレージシステムプログラムのライセンスを使用する可能性がある。この場合、ライセンスを使用する可能性がある全てのストレージシステムについてライセンスを購入すると、実際には使用されない余分なライセンスをも購入することになり、ストレージシステムプログラムの導入コストが上昇する。
【００１１】
さらに、これらの問題は、ストレージシステム間でリモートコピーが実行される場合、及び、ストレージシステムが他のストレージシステムに外部接続され、仮想的な論理ボリューム（仮想ボリューム）がユーザに提供される場合にも発生する。
【課題を解決するための手段】
【００１２】
本発明は、ネットワークを介して相互に接続された複数のストレージシステムを管理する管理計算機において、各前記ストレージシステムは、データを格納する論理ボリュームを備え、前記管理計算機は、転送管理部と、ライセンス移動制御部と、を備え、前記転送管理部は、前記複数のストレージシステムのうち転送元のストレージシステム内の転送元の前記論理ボリュームと、前記転送元の論理ボリュームに格納された前記データの転送先の前記ストレージシステム内の転送先の前記論理ボリュームと、を決定し、前記ライセンス移動制御部からの要求を受けて、前記ストレージシステムに前記データの転送を指示し、前記ライセンス移動制御部は、前記転送元の論理ボリュームにおいて使用されているプログラムのライセンスを前記複数のストレージシステムの一つから前記転送先のストレージシステムに移動する必要があるか否かを判定し、前記ライセンスを移動する必要があると判定した場合、前記転送先のストレージシステムに前記ライセンスに関するライセンス情報を移動し、前記転送管理部に前記データの転送の実行を要求することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ストレージシステムプログラムを実際に使用しないストレージシステムについてライセンスを購入する必要がないため、コストを低下させることができる。さらに、本発明によれば、マイグレーション元で使用されていたストレージシステムプログラムをマイグレーション先でも使用することができる。同様にして、コピー元又は外部接続されるストレージシステムにおいて使用されていたストレージシステムプログラムを、コピー先又は仮想ボリュームを含むストレージシステムでも使用することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１５】
最初に、第１の実施の形態について説明する。
【００１６】
図１は、第１の実施の形態の計算機システムの構成を示すブロック図である。
【００１７】
本実施の形態の計算機システムは、ストレージシステム１０１、ストレージシステム１０２、ストレージシステム１０３、ストレージエリアネットワーク（ＳＡＮ）１１０、業務サーバ１２０、管理サーバ１３０及び管理用ネットワーク１４０によって構成される。
【００１８】
ストレージシステム１０１〜１０３は、業務サーバ１２０によって書き込まれたデータを格納する。各ストレージシステム１０１等のインターフェース（Ｉ／Ｆ）３１４は、ＳＡＮ１１０に接続され、ＳＡＮ１１０を介して業務サーバ１２０又は他のストレージシステム１０１等と通信する。一方、各ストレージシステム１０１等の管理用Ｉ／Ｆ３１３は、管理用ネットワーク１４０に接続され、管理用ネットワーク１４０を介して、管理サーバと通信する。
【００１９】
本実施の形態の計算機システムは、三つのストレージシステム１０１、１０２及び１０３を含むが、本発明は、任意の数のストレージシステムを含む計算機システムに適用することができる。ストレージシステム１０１等の構成については、後で詳細に説明する（図３参照）。
【００２０】
ＳＡＮ１１０は、ストレージシステム１０１等と業務サーバ１２０とを接続するネットワークである。本実施の形態のＳＡＮ１１０には、一つ以上のファイバーチャネルスイッチ（ＦＣ−ＳＷ）（図示省略）によって構成されるスイッチファブリックが適用される。ただし、他の接続形態が適用された場合にも、実施することができる。
【００２１】
インターフェース（Ｉ／Ｆ）１１１は、ストレージシステム１０１等及び業務サーバ１２０と接続されるインターフェースである。具体的には、Ｉ／Ｆ１１１は、ＦＣ−ＳＷのポートである。
【００２２】
業務サーバ１２０は、ユーザの業務に使用される計算機である。本実施の形態の業務サーバ１２０は、ＣＰＵ１２１、入出力装置１２２、Ｉ／Ｆ１２３及びメモリ１２４によって構成される。
【００２３】
ＣＰＵ１２１は、メモリ１２４に格納されたプログラムを実行するプロセッサである。
【００２４】
入出力装置１２２は、ユーザからの入力を受け付け、ユーザに情報を出力する装置である。入出力装置１２２は、例えば、キーボード、マウス及び表示画面（図示省略）等を含む。
【００２５】
Ｉ／Ｆ１２３は、ＳＡＮ１１０のＩ／Ｆ１１１と接続され、ＳＡＮ１１０を介してストレージシステム１０１等と通信するインターフェースである。
【００２６】
メモリ１２４は、例えば、半導体メモリであり、アプリケーションソフトウエア１２５を格納する。
【００２７】
アプリケーションソフトウエア１２５は、ＣＰＵ１２１によって実行されるプログラムである。業務サーバ１２０のユーザは、アプリケーションソフトウエア１２５を実行することによって業務を遂行する。このとき、業務サーバ１２０は、必要に応じて、ストレージシステム１０１等にデータを書き込み、又は、ストレージシステム１０１等に格納されたデータを読み出す。
【００２８】
管理サーバ１３０は、ストレージシステム１０１等を管理する計算機である。管理サーバ１３０の管理用Ｉ／Ｆ２０３は、管理用ネットワーク１４０に接続され、管理用ネットワーク１４０を介してストレージシステム１０１等と通信する。管理サーバ１３０の構成については、後で詳細に説明する（図２参照）。
【００２９】
管理用ネットワーク１４０は、管理サーバ１３０及び各ストレージシステム１０１等を接続し、これらの間の通信を媒介するネットワークである。本実施の形態の管理用ネットワーク１４０は、いわゆるＬＡＮ（Local Area Network）である。
【００３０】
図２は、第１の実施の形態の管理サーバ１３０の構成を示すブロック図である。
【００３１】
本実施の形態の管理サーバ１３０は、ＣＰＵ２０１、入出力装置２０２、管理用Ｉ／Ｆ２０３及びメモリ２０４によって構成される。
【００３２】
ＣＰＵ２０１は、メモリ２０４に格納されたプログラムを実行するプロセッサである。
【００３３】
入出力装置２０２は、ユーザからの入力を受け付け、ユーザに情報を出力する装置である。入出力装置２０２は、例えば、キーボード、マウス及び表示画面（図示省略）等を含む。
【００３４】
管理用Ｉ／Ｆ２０３は、管理用ネットワーク１４０を介してストレージシステム１０１等と通信するインターフェースである。
【００３５】
メモリ２０４は、例えば、半導体メモリである。メモリ２０４には、ＣＰＵ２０１によって実行される各種の制御プログラム等及びそれらの制御プログラム等が実行される際に参照されるテーブルが格納される。本実施の形態のメモリ２０４には、少なくとも、ライセンス移動制御プログラム２０５、マイグレーション管理プログラム２０６、ストレージ管理プログラム２０７、マイグレーション管理テーブル２０８、構成管理テーブル２０９、使用ライセンステーブル２１０、ライセンス種別テーブル２１１及びライセンス移動管理テーブル２１２が格納される。
【００３６】
ストレージ管理プログラム２０７は、各ストレージシステム１０１等のリソース情報を収集する。収集されたリソース情報は、構成管理テーブル２０９に登録される（図５参照）。
【００３７】
マイグレーション管理プログラム２０６は、ストレージシステム間のデータのマイグレーションを指示する（図１０参照）。マイグレーションの実行予定に関する情報は、マイグレーション管理テーブル２０８に登録される（図６参照）。
【００３８】
マイグレーションとは、データをマイグレーション元の論理ボリューム３３１からマイグレーション先の論理ボリューム３３１に移動することである。具体的には、マイグレーションが実行されると、マイグレーション元（転送元）の論理ボリューム３３１のデータがマイグレーション先（転送先）の論理ボリュームに転送され、格納される。マイグレーションが実行された後、マイグレーション元の論理ボリューム３３１には、データが残らない。
【００３９】
マイグレーション管理プログラム２０６は、このようなマイグレーションによるデータの転送を指示するプログラムである。
【００４０】
ライセンス種別テーブル２１１には、計算機システム内で適用されるライセンス体系が登録される（図７参照）。
【００４１】
使用ライセンステーブル２１０には、各ストレージシステム１０１等で使用されているプログラムのライセンスに関する情報が登録される（図８参照）。
【００４２】
ライセンス移動制御プログラム２０５は、上記の各テーブルの情報を参照して、ストレージシステム間のライセンスの移動を制御する（図１１から図１６参照）。ライセンス移動制御プログラム２０５によって決定されたライセンスの移動の予定に関する情報は、ライセンス移動管理テーブル２１２に登録される（図９参照）。
【００４３】
本実施の形態において、ライセンスとは、ストレージシステムプログラム３１８を使用する権利である。ライセンスの存在は、所定のライセンス情報（ライセンスキー）によって証明される。ライセンスキーとは、例えば、ストレージシステムプログラムのベンダから与えられた一意の文字又は数字の列である（後述）。
【００４４】
ライセンスは、ライセンスキーを移動することによって移動する。例えば、ストレージシステム１０１があるプログラムのライセンスを保持している場合、ストレージシステム１０１は、そのライセンスを証明するライセンスキーを保持している。そのライセンスキーがストレージシステム１０２に移動すると、ストレージシステム１０１は、そのプログラムを使用する権利を失い、代わりに、ストレージシステム１０２がその権利を取得する。
【００４５】
なお、本実施の形態では、上記のプログラム及びテーブルが管理サーバ１３０に格納されるが、これらがいずれかのストレージシステム１０１等又は仮想化装置（図示省略）に格納されてもよい。
【００４６】
図３は、第１の実施の形態のストレージシステム１０１の構成を示すブロック図である。
【００４７】
ストレージシステム１０２及び１０３の構成は、ストレージシステム１０１と同様であるため、説明を省略する。
【００４８】
本実施の形態のストレージシステム１０１は、ディスク装置３３０及びストレージコントローラ３１０からなる。
【００４９】
ディスク装置３３０には、業務サーバ１２０から書き込まれたデータが格納される。ディスク装置３３０は、一つ以上のディスクドライブ（図示省略）によって構成される。ディスク装置３３０の記憶領域は、一つ以上の論理ボリューム３３１に分割される。論理ボリューム３３１は、業務サーバ１２０が論理的なディスクドライブとして認識する領域である。
【００５０】
ストレージコントローラ３１０は、ディスク装置３３０へのデータの書き込み及びディスク装置３３０からのデータの読み出しを制御する。ストレージコントローラ３１０は、ＣＰＵ３１１、キャッシュ３１２、管理用Ｉ／Ｆ３１３、Ｉ／Ｆ３１４及びメモリ３１５からなる。
【００５１】
ＣＰＵ３１１は、メモリ３１５に格納されたプログラムを実行するプロセッサである。
【００５２】
キャッシュ３１２は、例えば半導体メモリであり、ディスク装置３３０に書き込まれるデータ又はディスク装置３３０から読み出されたデータを一時的に格納する。
【００５３】
管理用Ｉ／Ｆ３１３は、管理用ネットワーク１４０を介して管理サーバ１３０と通信するインターフェースである。
【００５４】
Ｉ／Ｆ３１４は、ＳＡＮ１１０のＩ／Ｆ１１１と接続され、ＳＡＮ１１０を介して業務サーバ１２０と通信するインターフェースである。
【００５５】
メモリ３１５は、例えば、半導体メモリである。メモリ３１５には、ＣＰＵ３１１によって実行されるプログラム及び参照される情報が格納される。メモリ３１５に格納されるプログラムは、少なくとも、管理サーバエージェント３１６、ノード間マイグレーションプログラム３１７、ストレージシステムプログラム３１８及びライセンス移動プログラム３１９である。メモリ３１５に格納される情報は、少なくとも、ライセンステーブル３２０である。
【００５６】
管理サーバエージェント３１６は、ストレージシステム１０１に関する情報を管理サーバ１３０に通知するプログラムである。
【００５７】
ノード間マイグレーションプログラム３１７は、論理ボリューム３３１のデータを他のストレージシステム１０２等にマイグレーションするプログラムである。
【００５８】
ストレージシステムプログラム３１８は、ストレージシステムベースのプログラムであり、例えば、論理ボリュームの作成・削除、データの移動・再配置、論理ボリュームへのホストアクセスの制御、リモートコピー又はローカルコピー等を実行する。メモリ３１５には、複数のストレージシステムプログラム３１８が格納されてもよい。
【００５９】
ライセンス移動プログラム３１９は、他のストレージシステム１０２等とライセンステーブル３２０の情報をやり取りし、ライセンスを移動するプログラムである（図１７参照）。
【００６０】
ライセンステーブル３２０には、ストレージシステム１０１が保持するストレージシステムプログラム３１８のライセンスに関する情報が登録される（図４参照）。
【００６１】
次に、本実施の形態のストレージシステム１０１等及び管理サーバ１３０に格納されるテーブルについて説明する。
【００６２】
図４は、第１の実施の形態のライセンステーブル３２０の説明図である。
【００６３】
図４は、例として、ストレージシステム１０１のライセンステーブル３２０を示す。ストレージシステム１０１のライセンステーブル３２０は、ストレージシステム１０１にインストールされたストレージシステムプログラム３１８のライセンスを管理するテーブルである。具体的には、ライセンステーブル３２０には、ストレージシステム１０１にインストールされた全てのストレージシステムプログラム３１８について、ストレージシステム１０１が保持する全てのライセンスに関する情報が登録される。
【００６４】
図４のライセンステーブル３２０には、二つのライセンスに関する情報が登録されている。これは、本実施の形態のストレージシステム１０１が二つのライセンスを保持していることを意味する。
【００６５】
ライセンステーブル３２０において、ライセンスキー４０１は、ライセンスを購入したときにライセンスごとにベンダから与えられる文字又は数字の列である。図４の例では、ライセンスキー４０１として、「ＸＸＸＸＡ」及び「ＸＸＸＸＢ」が登録されている。以下、ライセンスキー４０１が「ＸＸＸＸＡ」であるライセンスを、単にライセンス「ＸＸＸＸＡ」と記載する。他のライセンスキー４０１についても同様である。
【００６６】
プログラム名４０２は、各ライセンスの対象となるストレージシステムプログラムの名前である。図４の例では、「ＸＸＸＸＡ」及び「ＸＸＸＸＢ」の二つのライセンスキー４０１に対応するプログラム名４０２として、いずれも、「ＰＰ１」が登録されている。これは、二つのライセンスがいずれも「ＰＰ１」という名前のストレージシステムプログラム３１８を対象としていることを意味する。以下、プログラム名４０２が「ＰＰ１」であるストレージシステムプログラム３１８を、単にストレージシステムプログラム「ＰＰ１」と記載する。他のプログラム名４０２についても同様である。
【００６７】
適用対象ボリュームＩＤ４０３は、各ライセンスが適用される論理ボリューム３３１の識別子（ＩＤ）である。図４の例では、ライセンスキー４０１「ＸＸＸＸＡ」に対応する適用対象ボリュームＩＤ４０３が「ＶＯＬ１」及び「ＶＯＬ２」である。これは、ライセンス「ＸＸＸＸＡ」が、ストレージシステムプログラム「ＰＰ１」を論理ボリューム「ＶＯＬ１」及び「ＶＯＬ２」において使用する（すなわち、論理ボリューム「ＶＯＬ１」及び「ＶＯＬ２」を対象としてストレージシステムプログラム「ＰＰ１」を使用する）ことについて適用されていることを意味する。なお、論理ボリュームＩＤ４０３が「ＶＯＬ１」である論理ボリューム３３１を、単に論理ボリューム「ＶＯＬ１」と記載する。他の論理ボリュームＩＤ４０３についても同様である。
【００６８】
一方、ライセンスキー４０１「ＸＸＸＸＢ」に対応する適用対象ボリュームＩＤ４０３は、「未使用」である。これは、ライセンス「ＸＸＸＸＢ」が、いずれの論理ボリューム３３１についても適用されていないことを意味する。すなわち、この時点で、ライセンス「ＸＸＸＸＢ」は、未使用である。
【００６９】
最大容量４０４は、各ライセンスを適用することが許された論理ボリューム３３１の容量の最大値である。本実施の形態では、固定定額方式のライセンス体系が適用される。例えば、システム管理者が最大容量４０４を１５テラバイト（ＴＢ）とするライセンスを購入した場合、そのライセンスに基づいて、最大１５ＴＢまでの容量の論理ボリューム３３１においてストレージシステムプログラム３１８を使用することができる。また、一つのライセンスを複数の論理ボリュームに適用する場合、それらの論理ボリュームの容量の合計値が１５ＴＢ以下であればよい。
【００７０】
図４の例では、「ＸＸＸＸＡ」及び「ＸＸＸＸＢ」の二つのライセンスキー４０１に対応する最大容量４０４として、それぞれ、「１５ＴＢ」及び「１０ＴＢ」が登録されている。
【００７１】
使用容量４０５は、各ライセンスが実際に適用されている論理ボリューム３３１の容量である。図４の例では、ライセンスキー４０１「ＸＸＸＸＡ」に対応する使用容量４０５として、「１５ＴＢ」が登録されている。これは、ライセンス「ＸＸＸＸＡ」が適用された論理ボリューム「ＶＯＬ１」及び「ＶＯＬ２」の容量の合計値が１５ＴＢであることを意味する。この値は、最大容量４０４の値「１５ＴＢ」と同じであるため、このライセンス「ＸＸＸＸＡ」をさらに他の論理ボリューム３３１にも適用することはできない。
【００７２】
一方、ライセンス「ＸＸＸＸＢ」は、いずれの論理ボリューム３３１にも適用されていない。このため、ライセンスキー４０１「ＸＸＸＸＢ」に対応する使用容量４０５として、「０ＴＢ」が登録されている。すなわち、このライセンス「ＸＸＸＸＢ」を、容量が１０ＴＢ以下のいずれかの論理ボリューム３３１に新たに適用することができる。
【００７３】
ストレージシステム１０２及び１０３も、上記と同様のライセンステーブル３２０を保持する。ただし、ストレージシステム１０２及び１０３のライセンステーブル３２０には、それぞれ、ストレージシステム１０２及び１０３が保持するライセンスに関する情報が格納される（図示省略）。
【００７４】
図５は、第１の実施の形態の構成管理テーブル２０９の説明図である。
【００７５】
構成管理テーブル２０９には、ストレージ管理プログラム２０７が収集した各ストレージシステム１０１等のリソース情報が登録される。具体的には、構成管理テーブル２０９には、ストレージシステム１０１等に格納される全ての論理ボリューム３３１に関する情報が、論理ボリューム３３１ごとに登録される。
【００７６】
図５に示すように、構成管理テーブル２０９の一つの行が一つの論理ボリューム３３１に対応する。構成管理テーブル２０９には、論理ボリューム３３１ごとに、ストレージシステム名５０１、モデル５０２、論理ボリュームＩＤ５０３、論理ボリュームサイズ５０４、使用プログラム名５０５及びパス５０６が登録される。
【００７７】
ストレージシステム名５０１は、各論理ボリューム３３１が格納されるストレージシステム１０１等の識別子である。図５の例では、二つの「ストレージシステム１０１」、「一つの「ストレージシステム１０２」及び一つの「ストレージシステム１０３」が登録されている。これらは、図１のストレージシステム１０１、１０２及び１０３と対応する。「ストレージシステム１０１」が二つ登録されているのは、ストレージシステム１０１に二つの論理ボリューム３３１が格納されているためである。
【００７８】
モデル５０２は、各ストレージシステム１０１等のモデル（型式）である。ライセンスの対象となるモデルが限定されている場合があるため、管理サーバ１３０は、各ストレージシステム１０１等のモデルを管理する。図５の例では、ストレージシステム１０１及び１０２のモデル５０２が「Ａ」であり、ストレージシステム１０３のモデル５０２が「Ｂ」である。
【００７９】
論理ボリュームＩＤ５０３は、各論理ボリューム３３１の識別子（ＩＤ）である。図５の例では、ストレージシステム１０１に格納された二つの論理ボリューム３３１の論理ボリュームＩＤ５０３は、それぞれ、「ＶＯＬ１」及び「ＶＯＬ２」である。ストレージシステム１０２及び１０３に格納された論理ボリューム３３１の論理ボリュームＩＤ５０３は、それぞれ、「ＶＯＬ３」及び「ＶＯＬ４」である。
【００８０】
論理ボリュームサイズ５０４は、各論理ボリューム３３１について設定されているデータ容量である。図５の例では、論理ボリューム「ＶＯＬ１」及び「ＶＯＬ４」の論理ボリュームサイズ５０４が「１０ＴＢ」、論理ボリューム「ＶＯＬ２」及び「ＶＯＬ３」の論理ボリュームサイズ５０４が「５ＴＢ」に設定されている。
【００８１】
使用プログラム名５０５は、各論理ボリューム３３１において使用されているストレージシステムプログラム３１８の名前である。図５の例では、論理ボリューム「ＶＯＬ１」及び「ＶＯＬ２」において、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」が使用されている。一方、論理ボリューム「ＶＯＬ３」及び「ＶＯＬ４」では、ストレージシステムプログラム３１８が使用されていない。
【００８２】
パス５０６は、各ストレージシステム１０１等の間に設定されているデータの経路（パス）に関する情報である。例えば、図５において、ストレージシステム１０１に対応するパス５０６として、「１０２」及び「１０３」が登録されている。これは、ストレージシステム１０１とストレージシステム１０２との間にパスが設定され、同様にして、ストレージシステム１０１とストレージシステム１０３との間にもパスが設定されていることを意味する。具体的には、ストレージシステム１０１のＩ／Ｆ３１４から、ＳＡＮ１１０のＩ／Ｆ１１１及び別のＩ／Ｆ１１１を経由して、ストレージシステム１０２のＩ／Ｆ３１４に至るパスが設定されている（図１参照）。ストレージシステム１０１とストレージシステム１０３との間についても同様である。
【００８３】
二つのストレージシステム１０１等の間にパスが設定されているとき、そのパスを経由して、それらの二つのストレージシステム１０１等の間でデータのマイグレーションを実行することができる。さらに、設定されているパスを経由して、ライセンスを移動することができる。具体的には、設定されたパスを経由して、ライセンスキー４０１が移動する。
【００８４】
パス５０６に登録される内容は、管理サーバ１３０（又は特定のストレージシステム１０１等）が各ストレージシステム１０１等から収集してもよいし、各ストレージシステム１０１等が相互に情報を送受信して、同一の内容を保持していてもよい。
【００８５】
図５の例では、ストレージシステム１０１と１０２との間にパスが設定され、ストレージシステム１０１と１０３との間にもパスが設定され、さらに、ストレージシステム１０２と１０３との間にもパスが設定されている。したがって、ストレージシステム１０１、１０２及び１０３のどの組み合わせにおいてもデータのマイグレーションを実行することができる。
【００８６】
図６は、第１の実施の形態のマイグレーション管理テーブル２０８の説明図である。
【００８７】
マイグレーション管理テーブル２０８には、これから実行される予定のデータのマイグレーションについて、マイグレーション元及びマイグレーション先の論理ボリューム３３１に関する情報が、マイグレーション管理プログラム２０６によって登録される。
【００８８】
マイグレーション管理テーブル２０８において、マイグレーション元６１０には、マイグレーション元のストレージシステム名６１１及び論理ボリュームＩＤ６１２が登録される。一方、マイグレーション先６２０には、マイグレーション先のストレージシステム名６２１及び論理ボリュームＩＤ６２２が登録される。
【００８９】
図６の例では、マイグレーション元６１０のストレージシステム名６１１及び論理ボリュームＩＤ６１２として、それぞれ、「ストレージシステム１０１」及び「ＶＯＬ２」が登録されている。一方、マイグレーション先６２０のストレージシステム名６２１及び論理ボリュームＩＤ６２２として、それぞれ、「ストレージシステム１０２」及び「ＶＯＬ３」が登録されている。これは、ストレージシステム１０１の論理ボリューム「ＶＯＬ２」からストレージシステム１０２の論理ボリューム「ＶＯＬ３」へのデータのマイグレーションがこれから実行される予定であることを意味する。
【００９０】
図７は、第１の実施の形態のライセンス種別テーブル２１１の説明図である。
【００９１】
ライセンス種別テーブル２１１には、計算機システム内で使用されるストレージシステムプログラム３１８に適用されるライセンス体系が登録される。
【００９２】
ライセンス種別テーブル２１１は、プログラム名７０１、ライセンス単位７０２及び料金体系７０３からなる。
【００９３】
プログラム名７０１は、計算機システム内で使用されているストレージシステムプログラム３１８の名前である。構成管理テーブル２０９（図５）に示すように、本実施の形態の計算機システム内では、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」が使用されている。このため、プログラム名７０１として、「ＰＰ１」及び「ＰＰ２」が登録される。
【００９４】
ライセンス単位７０２は、一つのライセンスが適用される範囲である。例えば、図７において、ストレージシステムプログラム「ＰＰ１」のライセンス単位７０２は、「ストレージシステム」である。これは、ストレージシステムプログラム「ＰＰ１」の一つのライセンスが、一つのストレージシステム１０１等に適用されることを意味する。例えば、ストレージシステムプログラム「ＰＰ１」のライセンスの一つがストレージシステム１０１に適用されている場合、そのライセンスに基づいて、他のストレージシステム１０２等がストレージシステムプログラム「ＰＰ１」を使用することはできない。
【００９５】
また、ライセンス単位７０２は、そのライセンスを適用することができるストレージシステムのモデルを示す情報を含んでもよい。例えば、ストレージシステムプログラム「ＰＰ１」のライセンスがモデル「Ａ」（構成管理テーブル２０９（図５）のモデル５０２参照）のみに適用されることを示す情報が含まれてもよい（図示省略）。
【００９６】
一方、ストレージシステムプログラム「ＰＰ２」のライセンス単位７０２は、「計算機システム（分割可能）」である。これは、ストレージシステムプログラム「ＰＰ２」の一つのライセンスが、本実施の形態の計算機システム（図１）全体に適用され、さらに、その一つのライセンスを複数のストレージシステム１０１等に分割して適用することができることを意味する。
【００９７】
例えば、ストレージシステムプログラム「ＰＰ２」のライセンスが、最大容量を２０ＴＢとして、計算機システムに適用されている場合、その２０ＴＢを１０ＴＢ、５ＴＢ及び５ＴＢの三つに分割して、それぞれを別の論理ボリューム３３１に適用することができる。例えば、１０ＴＢをストレージシステム１０１の論理ボリューム「ＶＯＬ１」に適用し、５ＴＢを論理ボリューム「ＶＯＬ２」に適用し、さらに、残りの５ＴＢをストレージシステム１０２の論理ボリューム「ＶＯＬ３」に適用してもよい。
【００９８】
料金体系７０３は、各ストレージシステムプログラム３１８に適用されるライセンスの料金体系である。本実施の形態では、いずれのストレージシステムプログラム３１８についても、１ＴＢごとの固定容量課金が適用される。
【００９９】
図８は、第１の実施の形態の使用ライセンステーブル２１０の説明図である。
【０１００】
使用ライセンステーブル２１０は、計算機システム内のストレージシステム１０１等にインストールされたストレージシステムプログラム３１８のライセンスを管理するテーブルである。具体的には、使用ライセンステーブル２１０には、計算機システム内の全てのストレージシステムプログラム３１８について、計算機システムが保持する全てのライセンスに関する情報が登録される。
【０１０１】
図８の使用ライセンステーブル２１０には、三つのライセンスに関する情報が登録されている。これは、本実施の形態の計算機システムが三つのライセンスを保持していることを意味する。
【０１０２】
使用ライセンステーブル２１０には、各ライセンスについて、ライセンスキー８０１、プログラム名８０２、適用対象ストレージシステム名８０３、適用対象ボリュームＩＤ８０４、最大容量８０５及び使用容量８０６が登録される。これらのうち、ライセンスキー８０１、プログラム名８０２、適用対象ボリュームＩＤ８０４、最大容量８０５及び使用容量８０６は、それぞれ、ライセンステーブル３２０（図４）のライセンスキー４０１、プログラム名４０２、適用対象ボリュームＩＤ４０３、最大容量４０４及び使用容量４０５と同様であるため、詳細な説明を省略する。
【０１０３】
また、使用ライセンステーブル２１０のうち、ライセンス「ＸＸＸＸＡ」及び「ＸＸＸＸＢ」に関する情報は、適用対象ストレージシステム名８０３を除いて、ライセンステーブル３２０と同様であるため、詳細な説明を省略する。
【０１０４】
適用対象ストレージシステム名８０３は、各ライセンスが適用されているストレージシステムの名前である。本実施の形態では、いずれのライセンスも、ストレージシステム１０１に適用されている。
【０１０５】
図８の例では、ストレージシステムプログラム「ＰＰ２」のライセンス「ＸＸＸＸＣ」は、ストレージシステム１０１の論理ボリューム「ＶＯＬ１」及び「ＶＯＬ２」に適用される。このライセンスは、２０ＴＢまで適用することができるが、実際には１５ＴＢ（ＶＯＬ１及びＶＯＬ２の論理ボリュームサイズ５０４の合計）に適用されている。したがって、容量が５ＴＢ以下の任意の論理ボリューム３３１に、さらにライセンス「ＸＸＸＸＣ」を適用することができる。
【０１０６】
図９は、第１の実施の形態のライセンス移動管理テーブル２１２の説明図である。
【０１０７】
ライセンス移動管理テーブル２１２には、これから実行されるデータのマイグレーションに伴ってライセンスを移動する必要があるストレージシステムプログラム３１８に関する情報が登録される。具体的には、ライセンス移動管理テーブル２１２には、移動プログラム名９０１、移動容量９０２、マイグレーション元９０３及びマイグレーション先９０４が登録される。ライセンス移動管理テーブル２１２は、後で説明するように、ライセンス移動制御プログラム２０５によって作成及び更新される（図１１から図１６参照）。
【０１０８】
移動プログラム名９０１は、これから実行されるデータのマイグレーションに伴ってライセンスを移動する必要があるストレージシステムプログラム３１８の名前である。すなわち、マイグレーション元の論理ボリューム３３１において現在使用されているストレージシステムプログラム３１８の名前である。
【０１０９】
移動容量９０２は、移動するライセンスの容量、すなわち、マイグレーション元の論理ボリューム３３１の容量である。
【０１１０】
マイグレーション元９０３は、ライセンスの移動元のストレージシステム１０１等の名前である。後で説明するように、このマイグレーション元９０３は、ライセンス移動制御プログラム２０５によって更新される場合があり、その結果、データのマイグレーション元とは異なる場合がある。
【０１１１】
マイグレーション先９０４は、ライセンスの移動先のストレージシステム１０１等の名前である。
【０１１２】
図９の例は、図６に示すように、ストレージシステム１０１の論理ボリューム「ＶＯＬ２」のデータをストレージシステム１０２の論理ボリューム「ＶＯＬ３」にマイグレーションする場合のライセンス移動管理テーブル２１２を示す。
【０１１３】
この場合、移動プログラム名９０１として「ＰＰ１」及び「ＰＰ２」が登録され、これらに対応する移動容量９０２として「５ＴＢ」が登録される（構成管理テーブル２０９（図５）の使用プログラム名５０５及び論理ボリュームサイズ５０４参照）。「ＰＰ１」及び「ＰＰ２」のいずれについても、マイグレーション元９０３として「ストレージシステム１０１」が登録され、マイグレーション先９０４として「ストレージシステム１０２」が登録される（マイグレーション管理テーブル２０８（図６）のストレージシステム名６１１及びストレージシステム名６２１参照）。
【０１１４】
次に、本実施の形態において実行されるプログラムについて説明する。なお、以下の説明においてプログラムが主語となる場合、実際にはそのプログラムを実行するＣＰＵ（ＣＰＵ２０１又はＣＰＵ３１１）によって処理が実行される。
【０１１５】
図１０は、第１の実施の形態のマイグレーション管理プログラム２０６が実行する処理のフローチャートである。
【０１１６】
マイグレーション管理プログラム２０６は、例えば、計算機システムの負荷分散やＤＬＣＭのためにデータをマイグレーションする必要が生じたときに実行される。
【０１１７】
マイグレーション管理プログラム２０６は、処理が開始されると（１０００）、データのマイグレーション元及びマイグレーション先のストレージ装置１０１等及び論理ボリューム３３１を決定し、それらに関する情報をマイグレーション管理テーブル２０８に登録する（１００２）。このマイグレーション元６１０及びマイグレーション先６２０の決定の方法は、従来の負荷分散又はＤＬＣＭと同様であってもよい。
【０１１８】
次に、マイグレーション管理プログラム２０６は、ライセンス移動制御プログラム２０５を呼び出し、処理を実行させる（１１００）。ここで実行される処理については、後で詳細に説明する（図１１から図１６参照）。
【０１１９】
次に、マイグレーション管理プログラム２０６は、ライセンス移動制御プログラム２０５の処理の結果、マイグレーションの実行を要求されているか否かを判定する（１００４）。
【０１２０】
ステップ１００４においてマイグレーションの実行を要求されていると判定された場合、マイグレーション管理テーブル２０８に登録された内容のマイグレーションを実行することができる。このため、マイグレーション管理プログラム２０６は、マイグレーション管理テーブル２０８に登録された内容に従ってマイグレーションを実行して（１００５）、処理を終了する（１００８）。
【０１２１】
一方、ステップ１００４においてマイグレーションの実行を要求されていないと判定された場合、マイグレーション管理テーブル２０８に登録された内容のマイグレーションを実行することができない。この場合、マイグレーション管理プログラム２０６は、ライセンス移動制御プログラム２０５の処理の結果、マイグレーション先６２０の変更を要求されているか否かを判定する（１００６）。
【０１２２】
ステップ１００６においてマイグレーション先６２０の変更を要求されていないと判定された場合、ライセンスの不足のためマイグレーションを実行することができない（図１１参照）。このため、マイグレーション管理プログラム２０６は、システム管理者にマイグレーションの中止の通知を送信し（１００７）、マイグレーションを実行せずに処理を終了する（１００８）。ステップ１００７の通知は、例えば、管理サーバ１３０の入出力装置２０２に表示されてもよい。
【０１２３】
一方、ステップ１００６においてマイグレーション先６２０の変更を要求されていると判定された場合、ライセンスは足りているが、決定されたマイグレーション先６２０にライセンスを移動することができない（図１１参照）。すなわち、マイグレーション先６２０を変更すれば、ライセンスを移動できる場合がある。このため、マイグレーション管理プログラム２０６は、ステップ１００２に戻り、その要求に従ってマイグレーション先６２０を再び決定し、そのマイグレーション先６２０をマイグレーション管理テーブル２０８に登録する（１００２）。その後、ステップ１１００以降の処理を実行する。
【０１２４】
図１１は、第１の実施の形態のライセンス移動制御プログラム２０５が実行する処理のフローチャートである。
【０１２５】
ライセンス移動制御プログラム２０５の処理は、図１０のステップ１１００においてマイグレーション管理プログラム２０６によって呼び出されたときに開始される。
【０１２６】
ライセンス移動制御プログラム２０５は、処理が開始されると（１１００）、処理Ａを実行する（１２００）。処理Ａは、マイグレーション先の論理ボリューム３３１にライセンスを移動する必要があるストレージシステムプログラム３１８を割り出す処理である。具体的には、処理Ａによって、マイグレーション先の論理ボリューム３３１にいずれかのストレージシステムプログラム３１８のライセンスを移動する必要があるか否かが判定される。さらに、ライセンスの移動が必要である場合は、どのストレージシステムプログラム３１８のライセンスを移動する必要があるかが判定される。処理Ａについては、後で詳細に説明する（図１２参照）。
【０１２７】
次に、ライセンス移動制御プログラム２０５は、処理Ａの戻り値を判定する（１１０１）。
【０１２８】
ステップ１１０１において、処理Ａの戻り値が「ＮＯ」であると判定された場合、いずれのストレージシステムプログラム３１８のライセンスも移動する必要がない。すなわち、ライセンスを移動せずにマイグレーションを実行することができる。このため、ライセンス移動制御プログラム２０５は、ステップ１１０５に進む（後述）。
【０１２９】
一方、ステップ１１０１において、処理Ａの戻り値が「ＹＥＳ」であると判定された場合、いずれかのストレージシステムプログラム３１８のライセンスを移動する必要がある。この場合、ライセンス移動制御プログラム２０５は、処理Ｂを実行する（１３００）。
【０１３０】
処理Ｂは、マイグレーション元の論理ボリューム３３１からマイグレーション先の論理ボリューム３３１に必要なライセンスを移動することができるか否かを判定する処理である。処理Ｂについては、後で詳細に説明する（図１３参照）。
【０１３１】
次に、ライセンス移動制御プログラム２０５は、処理Ｂの戻り値を判定する（１１０２）。
【０１３２】
ステップ１１０２において、処理Ｂの戻り値が「ＹＥＳ」であると判定された場合、マイグレーション先の論理ボリューム３３１に必要なライセンスを移動することができる。この場合、ライセンス移動制御プログラム２０５は、ステップ１４００に進み、処理Ｃを実行する（後述）。
【０１３３】
一方、ステップ１１０２において、処理Ｂの戻り値が「ＮＯ」であると判定された場合、マイグレーション先の論理ボリューム３３１に必要なライセンスを移動することができない。この場合、ライセンス移動制御プログラム２０５は、処理Ｄを実行する（１５００）。
【０１３４】
処理Ｄは、マイグレーション先の論理ボリューム３３１に適用することができる余剰のライセンスがあるか否かを判定する処理である。処理Ｄについては、後で詳細に説明する（図１５参照）。
【０１３５】
次に、ライセンス移動制御プログラム２０５は、処理Ｄの戻り値を判定する（１１０３）。
【０１３６】
ステップ１１０３において、処理Ｄの戻り値が「ＮＯ」であると判定された場合、マイグレーション先の論理ボリューム３３１に適用することができる余剰のライセンスがない。この場合、マイグレーション先に適用されるライセンスが不足しているため、ライセンス移動制御プログラム２０５は、ライセンスの不足をシステム管理者に通知して（１１０７）、処理を終了する（１１０８）。
【０１３７】
一方、ステップ１１０３において、処理Ｄの戻り値が「ＹＥＳ」であると判定された場合、マイグレーション先の論理ボリューム３３１に適用することができる余剰のライセンスがある。この場合、ライセンス移動制御プログラム２０５は、処理Ｃを実行する（１４００）。
【０１３８】
同じ機能のストレージシステムプログラム３１８であっても、それが使用されるストレージシステム１０１等の機種（モデル５０２）の違い等のためプログラム名やライセンス形式が異なる場合がある。処理Ｃは、マイグレーション先のストレージシステム１１０等の論理ボリューム３３１に必要なライセンスを適用することができるか否かを判定する処理である。処理Ｃについては、後で詳細に説明する（図１４参照）。
【０１３９】
ライセンス移動制御プログラム２０５は、処理Ｃを実行した後、処理Ｃの戻り値を判定する（１１０４）。
【０１４０】
ステップ１１０４において、処理Ｃの戻り値が「ＮＯ」であると判定された場合、マイグレーション先の論理ボリューム３３１に必要なライセンスを適用することができない。この場合、必要なライセンスが不足しているわけではないため、マイグレーション先を変更すれば、マイグレーションを実行できる可能性がある。このため、ライセンス移動制御プログラム２０５は、マイグレーション管理プログラム２０６にマイグレーション先の変更を要求し（１１０６）、処理を終了する（１１０８）。
【０１４１】
なお、異なるストレージシステムプログラム３１８であっても、機能が同様であるものが存在すれば、そのライセンスをマイグレーション先に移動してもよい。この場合、ステップ１１０６の直前に、機能が同様であるストレージシステムプログラム３１８を検索し、それが存在する場合は、そのライセンスをマイグレーション先に移動できるか否か判定する（図示省略）。その結果、ライセンスをマイグレーション先に移動できると判定された場合、そのライセンスを移動予定のライセンスとしてライセンス移動管理テーブル２１２に登録し、ステップ１１０５（後述）に進む。
【０１４２】
一方、ステップ１１０４において、処理Ｃの戻り値が「ＹＥＳ」であると判定された場合、マイグレーション先の論理ボリューム３３１に必要なライセンスを適用することができる。この場合、ライセンス移動制御プログラム２０５は、処理Ｅを実行する（１６００）。
【０１４３】
処理Ｅは、ライセンスを移動する処理である。処理Ｅについては、後で詳細に説明する（図１６参照）。
【０１４４】
次に、ライセンス移動制御プログラム２０５は、マイグレーション管理プログラム２０６にマイグレーションの実行を要求し（１１０５）、処理を終了する（１１０８）。
【０１４５】
図１２は、第１の実施の形態のライセンス移動制御プログラム２０５が実行する処理Ａのフローチャートである。
【０１４６】
図１１のステップ１２００において処理Ａが開始されると、ライセンス移動制御プログラム２０５は、マイグレーション元の論理ボリューム３３１及びマイグレーション先のストレージシステム１０１等で使用されているストレージシステムプログラム３１８を検索する（１２０１）。
【０１４７】
具体的には、ライセンス移動制御プログラム２０５は、構成管理テーブル２０９及びマイグレーション管理テーブル２０８を参照する。マイグレーション元６１０のストレージシステム名６１１及び論理ボリュームＩＤ６１２と同一のストレージシステム名５０１及び論理ボリュームＩＤ５０３に対応する使用プログラム名５０５が、マイグレーション元の論理ボリューム３３１で使用されているストレージシステムプログラム３１８である。一方、マイグレーション先６２０のストレージシステム名６２１と同一のストレージシステム名５０１に対応する使用プログラム名５０５が、マイグレーション先のストレージシステム１０１等で使用されているストレージシステムプログラム３１８である。
【０１４８】
次に、ライセンス移動制御プログラム２０５は、ステップ１２０１で検索された結果を参照して、マイグレーション元の論理ボリューム３３１及びマイグレーション先のストレージシステム１０１等で同じストレージシステムプログラム３１８が使用されているか否かを判定する（１２０２）。
【０１４９】
ステップ１２０２において、同じストレージシステムプログラム３１８が使用されていないと判定された場合、マイグレーション元の論理ボリューム３３１で使用されているストレージシステムプログラム３１８（以下、図１２の説明において、「当該ストレージシステムプログラム３１８」と記載する）と同一のものが、マイグレーション先のストレージシステム１０１等で使用されていない。この場合、ステップ１２０７に進む（後述）。
【０１５０】
一方、ステップ１２０２において、同じストレージシステムプログラム３１８が使用されていると判定された場合、当該ストレージシステムプログラム３１８と同一のものが、マイグレーション先のストレージシステム１０１等で使用されている。この場合、マイグレーション先のストレージシステム１０１等で既に適用されているライセンスを、マイグレーション先の論理ボリューム３３１に適用できる可能性がある。このため、ライセンス移動制御プログラム２０５は、使用ライセンステーブル２１０を参照して、当該ストレージシステムプログラム３１８のライセンスの未使用容量を算出する（１２０３）。未使用容量とは、最大容量８０５から使用容量８０６を減算した値である。
【０１５１】
次に、ライセンス移動制御プログラム２０５は、構成管理テーブル２０９及びマイグレーション管理テーブル２０８を参照して、ステップ１２０３で算出された未使用容量が、マイグレーション先の論理ボリューム３３１の論理ボリュームサイズ５０４より小さいか否かを判定する（１２０４）。
【０１５２】
ステップ１２０４において、ステップ１２０３で算出された未使用容量が、マイグレーション先の論理ボリューム３３１の論理ボリュームサイズ５０４より小さくないと判定された場合、マイグレーション先のストレージシステム１０１等に既に適用されているライセンスの未使用容量の分をマイグレーション先の論理ボリューム３３１に適用することができる。このため、ライセンス移動制御プログラム２０５は、ライセンスの移動が必要なストレージシステムプログラム３１８がない（すなわち、いずれのストレージシステムプログラム３１８についてもライセンスを移動する必要がない）と判定する（１２０９）。このとき、処理Ａの戻り値は、「ＮＯ」と設定される。
【０１５３】
一方、ステップ１２０４において、ステップ１２０３で算出された未使用容量が、マイグレーション先の論理ボリューム３３１の論理ボリュームサイズ５０４より小さいと判定された場合、マイグレーション先のストレージシステム１０１等に既に適用されているライセンスの未使用容量の分をマイグレーション先の論理ボリューム３３１に適用しても、まだライセンスが不足する。
【０１５４】
この場合、ライセンス移動制御プログラム２０５は、当該ストレージシステムプログラム３１８のライセンスを分割してマイグレーション先に適用することができるか否かを判定する（１２０５）。具体的には、ライセンス移動制御プログラム２０５は、ライセンス種別テーブル２１１を参照する。そして、当該当該ストレージシステムプログラム３１８のライセンスのライセンス単位７０２が「計算機システム（分割可能）」である場合、そのライセンスを分割してマイグレーション先に適用することができると判定する。
【０１５５】
ステップ１２０５において、当該ストレージシステムプログラム３１８のライセンスを分割してマイグレーション先に適用することができると判定された場合、当該ストレージシステムプログラム３１８のライセンスのうち不足分のみを、マイグレーション元からマイグレーション先に移動することができる。このため、ライセンス移動制御プログラム２０５は、当該ストレージシステムプログラム３１８をライセンス移動管理テーブル２１２に登録する（１２０６）。
【０１５６】
このとき、移動プログラム名９０１として、当該ストレージシステムプログラム３１８の名前が登録される。移動容量９０２として、マイグレーション先の論理ボリューム３３１の論理ボリュームサイズ５０４から、ステップ１２０３で算出された未使用容量を減算した値が登録される。マイグレーション元９０３及びマイグレーション先９０４として、マイグレーション元及びマイグレーション先のストレージシステム１０１等の名前が登録される。
【０１５７】
一方、ステップ１２０５において、当該ストレージシステムプログラム３１８のライセンスを分割してマイグレーション先に適用することができないと判定された場合、当該ストレージシステムプログラム３１８のライセンスの全体を、マイグレーション元からマイグレーション先に移動する必要がある。このため、ステップ１２０７に進む。
【０１５８】
ステップ１２０７において、当該ストレージシステムプログラム３１８がマイグレーション元の論理ボリューム３３１で使用されている場合、ライセンス移動制御プログラム２０５は、当該ストレージシステムプログラム３１８をライセンス移動管理テーブル２１２に登録する。
【０１５９】
このとき、移動プログラム名９０１として、当該ストレージシステムプログラム３１８の名前が登録される。移動容量９０２として、マイグレーション先の論理ボリューム３３１の論理ボリュームサイズ５０４が登録される。マイグレーション元９０３及びマイグレーション先９０４として、マイグレーション元及びマイグレーション先のストレージシステム１０１等の名前が登録される。
【０１６０】
なお、当該ストレージシステムプログラム３１８がマイグレーション元の論理ボリューム３３１で使用されていない場合、ライセンスを移動する必要はない。
【０１６１】
ライセンス移動制御プログラム２０５は、ステップ１２０６又はステップ１２０７を実行した後、ライセンスの移動が必要なストレージシステムプログラム３１８がある（すなわち、当該ストレージシステムプログラム３１８のライセンスを移動する必要がある）と判定する（１２０８）。このとき、処理Ａの戻り値は、「ＹＥＳ」と設定される。
【０１６２】
以上で処理Ａが終了する（１２１０）。
【０１６３】
例えば、構成管理テーブル２０９及びマイグレーション管理テーブル２０８が図５及び図６に示す通りである場合、マイグレーション元のストレージシステム１０１の論理ボリューム「ＶＯＬ２」では、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」が使用されている（１２０１）。一方、マイグレーション先のストレージシステム１０２では、ストレージシステムプログラム３１８が使用されていない（１２０１）。このため、ステップ１２０２において、同じストレージシステムプログラム３１８が使用されていないと判定され、ステップ１２０７において、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」がライセンス移動管理テーブル２１２に登録される。
【０１６４】
このとき、図９に示すように、「ＰＰ１」及び「ＰＰ２」に対応する移動容量９０２として、マイグレーション先のストレージシステム１０２の論理ボリューム「ＶＯＬ３」の論理ボリュームサイズ５０４の値「５ＴＢ」が登録される。また、マイグレーション元９０３として、マイグレーション元６１０のストレージシステム名６１１の値「ストレージシステム１０１」が登録され、マイグレーション先９０３として、マイグレーション先６２０のストレージシステム名６２１の値「ストレージシステム１０２」が登録される。
【０１６５】
図１３は、第１の実施の形態のライセンス移動制御プログラム２０５が実行する処理Ｂのフローチャートである。
【０１６６】
図１１のステップ１３００において処理Ｂが開始されると、ライセンス移動制御プログラム２０５は、ライセンスを移動しようとするストレージシステムプログラム３１８を使用する論理ボリューム３３１を検索する（１３０１）。
【０１６７】
具体的には、ライセンス移動制御プログラム２０５は、ライセンス移動管理テーブル２１２を参照する。ライセンス移動管理テーブル２１２の移動プログラム名９０１が示すストレージシステムプログラム３１８（図９の例では、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」）が、ライセンスを移動しようとするプログラムである。
【０１６８】
さらに、ライセンス移動制御プログラム２０５は、構成管理テーブル２０９の使用プログラム名５０５を参照して、ライセンスを移動しようとするストレージシステムプログラム３１８を使用している論理ボリューム３３１を検索する。図５の例では、ストレージシステム１０１の論理ボリューム「ＶＯＬ１」及び「ＶＯＬ２」が、ライセンスを移動しようとするストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」を使用している。
【０１６９】
次に、ライセンス移動制御プログラム２０５は、構成管理テーブル２０９のストレージシステム名５０１、論理ボリュームＩＤ５０３及び使用プログラム名５０５を参照して、マイグレーション元でない論理ボリューム３３１において、ライセンスを移動しようとするストレージシステムプログラム３１８が使用されているか否かを判定する（１３０２）。
【０１７０】
図５の例では、ライセンスを移動しようとするストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」は、ストレージシステム１０１の論理ボリューム「ＶＯＬ１」及び「ＶＯＬ２」において使用されている。マイグレーション元が、図６に示すように、ストレージシステム１０１の論理ボリューム「ＶＯＬ２」である場合、ストレージシステム１０１の論理ボリューム「ＶＯＬ１」は、マイグレーション元ではないが、ライセンスを移動しようとするストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」が使用されている。
【０１７１】
ステップ１３０２において、マイグレーション元でない論理ボリューム３３１で、ライセンスを移動しようとするストレージシステムプログラム３１８が使用されていないと判定された場合、ライセンス移動制御プログラム２０５は、そのライセンスをマイグレーション先に移動することができると判定する（１３０６）。このとき、処理Ｂの戻り値は「ＹＥＳ」と設定される。そして、処理Ｂが終了する（１３０７）。
【０１７２】
一方、ステップ１３０２において、マイグレーション元でない論理ボリューム３３１で、ライセンスを移動しようとするストレージシステムプログラム３１８が使用されていると判定された場合、ライセンス移動制御プログラム２０５は、ライセンス種別テーブル２１１を参照して、ライセンスを移動しようとするストレージシステムプログラム３１８のライセンス単位７０２を検索する（１３０３）。
【０１７３】
図７の例では、ライセンスを移動しようとするストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」のライセンス単位７０２は、それぞれ、「ストレージシステム」及び「計算機システム（分割可能）」である。
【０１７４】
次に、ライセンス移動制御プログラム２０５は、ステップ１３０３において検索されたライセンス単位７０２を参照して、それらのライセンスを分割してマイグレーション元及びマイグレーション先に適用することができるか否かを判定する（１３０４）。
【０１７５】
図７の例では、ストレージシステムプログラム「ＰＰ１」のライセンス単位７０２は、「ストレージシステム」である。すなわち、ストレージシステムプログラム「ＰＰ１」の一つのライセンスは、一つのストレージシステム１０１等に適用される。この場合、その一つのライセンスを、それが適用された一つのストレージシステム１０１等の中の複数の論理ボリューム３３１に適用することができる。しかし、その一つのライセンスを複数のストレージシステム１０１等に適用することはできない。したがって、ストレージシステムプログラム「ＰＰ１」に関しては、ライセンス移動制御プログラム２０５は、ライセンスを分割してマイグレーション元及びマイグレーション先に適用することができないと判定する（１３０４）。
【０１７６】
一方、図７において、ストレージシステムプログラム「ＰＰ２」のライセンス単位７０２は、「計算機システム（分割可能）」である。すなわち、ストレージシステムプログラム「ＰＰ２」の一つのライセンスは、一つの計算機システムに適用される。この場合、その一つのライセンスを、それが適用された一つの計算機システムの中の複数のストレージシステム１０１等に適用することができる。したがって、ストレージシステムプログラム「ＰＰ２」に関しては、ライセンス移動制御プログラム２０５は、ライセンスを分割してマイグレーション元及びマイグレーション先に適用することができると判定する（１３０４）。
【０１７７】
ステップ１３０４において、ライセンスを分割してマイグレーション元及びマイグレーション先に適用することができないと判定された場合、ライセンス移動制御プログラム２０５は、そのライセンスをマイグレーション先に移動することができないと判定する（１３０５）。このとき、処理Ｂの戻り値は「ＮＯ」と設定される。そして、処理Ｂが終了する（１３０７）。
【０１７８】
一方、ステップ１３０４において、ライセンスを分割してマイグレーション元及びマイグレーション先に適用することができると判定された場合、ステップ１３０６に進む（前述）。
【０１７９】
結局、図７の例では、ストレージシステムプログラム「ＰＰ１」について、戻り値が「ＮＯ」と設定され、ストレージシステムプログラム「ＰＰ２」について、戻り値が「ＹＥＳ」と設定される。
【０１８０】
図１４は、第１の実施の形態のライセンス移動制御プログラム２０５が実行する処理Ｃのフローチャートである。
【０１８１】
図１１のステップ１４００において処理Ｃが開始されると、ライセンス移動制御プログラム２０５は、ライセンス種別テーブル２１１を参照して、ライセンスを移動しようとするストレージシステムプログラム３１８のライセンス単位７０２を検索する（１４０１）。図９の例では、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」が、ライセンスを移動しようとするストレージシステムプログラム３１８である。このため、ステップ１４０１において、「ＰＰ１」及び「ＰＰ２」に対応するライセンス単位７０２「ストレージシステム」及び「計算機システム（分割可能）」が検索される。
【０１８２】
次に、ライセンス移動制御プログラム２０５は、マイグレーション先のストレージシステム１０１等に、移動しようとするライセンスを適用できるか否かを判定する（１４０２）。具体的には、ライセンス移動制御プログラム２０５は、構成管理テーブル２０９のモデル５０２を参照して、移動しようとするライセンスをマイグレーション先のストレージシステム１０１等のモデル５０２に適用できるか否かを判定する。
【０１８３】
図５の例では、マイグレーション元のストレージシステム１０１及びマイグレーション先のストレージシステム１０２のモデル５０２は、共に「Ａ」である。
【０１８４】
図７の例では、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」のライセンス単位７０２は、それぞれ、「ストレージシステム」及び「計算機システム（分割可能）」である。
【０１８５】
図７において説明したように、ライセンス単位７０２は、そのライセンスを適用できるストレージシステム１０１等のモデルを示す情報を含んでもよい。例えば、「ＰＰ１」に対応するライセンス単位７０２が、モデル「Ａ」のみに適用できることを示す場合、マイグレーション先のストレージシステム１０２のモデル５０２が「Ａ」であるため、「ＰＰ１」のライセンスをストレージシステム１０２に適用することができる。
【０１８６】
なお、一つのストレージシステムプログラム３１８について、移動できるライセンスが複数存在する場合、それらのライセンスから任意のものを選択することができる。その選択は、システム管理者が行ってもよいし、ライセンス移動制御プログラム２０５が行ってもよい。例えば、未使用容量がマイグレーション先の論理ボリューム３３１のサイズに最も近いライセンスを選択してもよい。
【０１８７】
ステップ１４０２において、マイグレーション先のストレージシステム１０１等に、移動しようとするライセンスを適用できると判定された場合、ライセンス移動制御プログラム２０５は、処理Ｃの戻り値を「ＹＥＳ」に設定して（１４０３）、処理Ｃを終了する（１４０５）。
【０１８８】
一方、ステップ１４０２において、マイグレーション先のストレージシステム１０１等に、移動しようとするライセンスを適用できないと判定された場合、ライセンス移動制御プログラム２０５は、処理Ｃの戻り値を「ＮＯ」に設定して（１４０４）、処理Ｃを終了する（１４０５）。
【０１８９】
図１５は、第１の実施の形態のライセンス移動制御プログラム２０５が実行する処理Ｄのフローチャートである。
【０１９０】
処理Ｄは、マイグレーション元の論理ボリューム３３１に適用されているライセンスを移動することができない場合に、いずれかのストレージシステム１０１等が、マイグレーション先のストレージシステム１０１等に移動できる余剰のライセンスを保持しているか否かを判定する処理である。
【０１９１】
図１１のステップ１５００において処理Ｄが開始されると、ライセンス移動制御プログラム２０５は、使用ライセンステーブル２１０を参照して、未使用容量がマイグレーション先の論理ボリューム３３１のサイズ以上であるライセンスを検索する（１５０１）。具体的には、ライセンス移動管理テーブル２１２の移動容量９０２が、マイグレーション先の論理ボリューム３３１のサイズである。従って、未使用容量（最大容量８０５と使用容量８０６の差）が移動容量９０２以上であるライセンスキー８０１が検索される。
【０１９２】
図９の例では、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」の移動容量９０２は、いずれも５ＴＢである。
【０１９３】
図８を参照すると、ストレージシステムプログラム「ＰＰ１」に対応するライセンスキー８０１は、「ＸＸＸＸＡ」及び「ＸＸＸＸＢ」である。ライセンス「ＸＸＸＸＡ」の未使用容量は０ＴＢであり、ライセンス「ＸＸＸＸＢ」の未使用容量は１０ＴＢである。一方、ストレージシステムプログラム「ＰＰ２」に対応するライセンスキー８０１は、「ＸＸＸＸＣ」である。ライセンス「ＸＸＸＸＣ」の未使用容量は５ＴＢである。
【０１９４】
したがって、ステップ１５０１において、ストレージシステムプログラム「ＰＰ１」についてはライセンス「ＸＸＸＸＢ」が、ストレージシステムプログラム「ＰＰ２」についてはライセンス「ＸＸＸＸＣ」が検索される。
【０１９５】
次に、ライセンス移動制御プログラム２０５は、ステップ１５０１で検索されたライセンスが未使用である（すなわち、いずれの論理ボリューム３３１にも適用されていない）か否かを判定する（１５０２）。具体的には、使用ライセンステーブル２１０を参照して、適用対象ボリュームＩＤ８０４が「未使用」であるか否かを判定する。
【０１９６】
図８の例では、ライセンス「ＸＸＸＸＢ」の適用対象ボリュームＩＤ８０４は、「未使用」である。一方、ライセンス「ＸＸＸＸＣ」の適用対象ボリュームＩＤ８０４は、「未使用」でない。
【０１９７】
ステップ１５０２において、検索されたライセンスが「未使用」であると判定された場合、そのライセンスはいずれの論理ボリューム３３１にも適用されていない余剰のライセンスであるため、マイグレーション先に移動することができる。このため、ライセンス移動制御プログラム２０５は、ライセンス移動管理テーブル２１２のマイグレーション元９０３を、ステップ１５０２で検索されたライセンスが現在適用されているストレージシステム１０１等の名前（すなわち、適用対象ストレージシステム名８０３）の値に更新する（１５０３）。
【０１９８】
図８の例では、未使用のライセンス「ＸＸＸＸＢ」の適用対象ストレージシステム名８０３が「ストレージシステム１０１」である。このため、ライセンス移動管理テーブル２１２のマイグレーション元９０３が「ストレージシステム１０１」に更新される。この例では、更新される前のマイグレーション元９０３も「ストレージシステム１０１」であったため、結果的には変更がない。
【０１９９】
次に、ライセンス移動制御プログラム２０５は、マイグレーション先に適用できる余剰のライセンスがあると判定する（１５０４）。このとき、処理Ｄの戻り値は、「ＹＥＳ」に設定される。そして、処理Ｄが終了する（１５０７）。
【０２００】
一方、ステップ１５０２において、検索されたライセンスが「未使用」でないと判定された場合、そのライセンスの少なくとも一部は、少なくとも一つの論理ボリューム３３１に適用されている。この場合、ライセンス移動制御プログラム２０５は、検索されたライセンスが分割可能であるか否かを判定する（１５０５）。具体的には、ライセンス種別テーブル２１１のライセンス単位７０２が参照される。
【０２０１】
図８の例では、ライセンス「ＸＸＸＸＣ」が適用されるストレージシステムプログラム「ＰＰ２」のライセンス単位７０２が「計算機システム（分割可能）」である。このため、ライセンス「ＸＸＸＸＣ」については、分割可能であると判定される。
【０２０２】
ステップ１５０５において、検索されたライセンスが分割可能であると判定された場合、そのライセンスから分割された未使用容量の分は、余剰のライセンスである。すなわち、そのライセンスの未使用容量の分を分割して、マイグレーション先に適用することができる。この場合、処理はステップ１５０３に進む。ステップ１５０３以降の処理は前述の通りであるので、説明を省略する。
【０２０３】
一方、ステップ１５０５において、検索されたライセンスが分割可能でないと判定された場合、そのライセンスの未使用容量の分をマイグレーション先に適用することができない。このため、ライセンス移動制御プログラム２０５は、マイグレーション先に適用できる余剰のライセンスがないと判定する（１５０６）。このとき、処理Ｄの戻り値は、「ＮＯ」に設定される。そして、処理Ｄが終了する（１５０７）。
【０２０４】
図１６は、第１の実施の形態のライセンス移動制御プログラム２０５が実行する処理Ｅのフローチャートである。
【０２０５】
図１１のステップ１６００において処理Ｅが開始されると、ライセンス移動制御プログラム２０５は、ライセンス移動管理テーブル２１２を参照して、マイグレーション元９０３及びマイグレーション先９０４のストレージシステム１０１等に、ライセンスの移動要求を発行する（１６０１）。図９の例では、ストレージシステムプログラム「ＰＰ１」及び「ＰＰ２」のライセンスをストレージシステム１０１からストレージシステム１０２に移動する要求が、ストレージシステム１０１及びストレージシステム１０２に発行される。
【０２０６】
この要求を受けたストレージシステム１０１等は、ライセンス移動プログラム３１９を実行して、ライセンスを移動する。ライセンス移動プログラム３１９が実行する処理については、後で詳細に説明する（図１７参照）。
【０２０７】
次に、ライセンス移動制御プログラム２０５は、使用ライセンステーブル２１０及びライセンス移動管理テーブル２１２を更新する（１６０２）。
【０２０８】
例えば、図９に示すライセンスの移動が実行された場合、ステップ１６０２において、ライセンス「ＸＸＸＸＢ」に対応する適用対象ストレージシステム名８０３が「ストレージシステム１０２」に更新され、適用対象ボリュームＩＤ８０４が「ＶＯＬ３」に更新され、使用容量８０６が「５ＴＢ」に更新される。一方、ライセンス「ＸＸＸＸＣ」に対応する適用対象ストレージシステム名８０３に「ストレージシステム１０２」が追加され、適用対象ボリュームＩＤ８０４に「ＶＯＬ３」が追加され、使用容量８０６が「２０ＴＢ」に更新される。そして、ライセンス移動管理テーブル２１２の各レコード（行）が削除される。
【０２０９】
以上で、処理Ｅが終了する（１６０３）。
【０２１０】
図１７は、第１の実施の形態のライセンス移動プログラム３１９が実行する処理のフローチャートである。
【０２１１】
各ストレージシステム１０１等のライセンス移動プログラム３１９は、図１６のステップ１６０１において発行されたライセンスの移動の要求を受けたときに、実行を開始する（１７００）。
【０２１２】
最初に、ライセンス移動プログラム３１９は、ライセンステーブル３２０のレコード（行）を更新し、更新されたレコードを送受信する（１７０１）。
【０２１３】
具体的には、ライセンスの移動元のストレージシステム１０１等のライセンス移動プログラム３１９は、ライセンステーブル３２０を、ライセンス移動管理テーブル２１２と合致するように更新する。そして、ライセンステーブル３２０のうち更新されたレコードを、ライセンスの移動先のストレージシステム１０１等に送信する。一方、ライセンスの移動先のストレージシステム１０１等のライセンス移動プログラム３１９は、ライセンスの移動元から送信されたライセンステーブル３２０のレコードを受信する。
【０２１４】
例えば、図９に示すようにライセンスが移動する場合、移動元のストレージシステム１０１のライセンス移動プログラム３１９は、ライセンステーブル３２０（図４参照）のライセンス「ＸＸＸＸＢ」に対応する適用対象ボリュームＩＤ４０３を「ＶＯＬ３」に更新し、使用容量４０５を「５ＴＢ」に更新する。そして、ストレージシステム１０１のライセンス移動プログラム３１９は、更新されたライセンス「ＸＸＸＸＢ」に対応するレコードを、移動先のストレージシステム１０２に送信する。ストレージシステム１０２のライセンス移動プログラム３１９は、送信されたレコードを受信する。
【０２１５】
次に、ライセンス移動プログラム３１９は、ライセンステーブル３２０を更新する（１７０２）。具体的には、ライセンスの移動元のストレージシステム１０１等のライセンス移動プログラム３１９は、送信したレコードをライセンステーブル３２０から削除する。一方、ライセンスの移動先のストレージシステム１０１等のライセンス移動プログラム３１９は、受信したレコードをライセンステーブル３２０に追加する。
【０２１６】
例えば、上記のようにライセンス「ＸＸＸＸＢ」に対応するレコードが送受信された場合、ストレージシステム１０１のライセンステーブル３２０（図４参照）から、そのレコードが削除される。一方、ストレージシステム１０２のライセンステーブル３２０（図示省略）に、そのレコードが追加される。
【０２１７】
次に、ライセンス移動プログラム３１９は、ライセンスを移動する処理が終了したことを管理サーバ１３０に通知する（１７０３）。
【０２１８】
以上で、ライセンス移動プログラム３１９の処理が終了する（１７０４）。
【０２１９】
なお、ライセンスキーは、計算機システム全体で共通のものであってもよい。あるいは、ライセンス移動プログラム３１９が、マイグレーション先のストレージシステム１０１等に合わせたライセンスキーを生成してもよい。
【０２２０】
また、図１７の例では、ライセンスはマイグレーション元からマイグレーション先に直接移動するが、ライセンスは、一旦管理サーバ１３０又は特定のストレージシステム１０１等に移動し、その後、その管理サーバ１３０等からマイグレーション先に移動してもよい。
【０２２１】
図１８は、第１の実施の形態のストレージシステム１０１等においてストレージシステムプログラム３１８の使用が中止されたときに実行される処理のフローチャートである。
【０２２２】
この処理は、データのマイグレーションが実行されたことによって、いずれかのストレージシステム１０１等において使用されていたストレージシステムプログラム３１８が使用されなくなった（使用が中止された）ときに実行される。
【０２２３】
この処理が開始され（１８００）、ストレージシステム１０１等のストレージコントローラ３１０がいずれかのストレージシステムプログラム３１８の使用を中止すると（１８０１）、管理サーバエージェント３１６がそのストレージシステムプログラム３１８の使用が中止されたことの通知を管理サーバ１３０に送信する（１８０２）。この通知を受信した管理サーバ１３０が実行する処理については、後で詳細に説明する（図１９参照）。
【０２２４】
なお、各ストレージシステム１０１等は、ストレージシステムプログラム３１８の使用の状況を監視し、使用が中止されたことを検出するストレージシステム管理プログラム（図示省略）を備える。
【０２２５】
以上で、処理を終了する（１８０３）。
【０２２６】
図１９は、第１の実施の形態のストレージシステム１０１等においてストレージシステムプログラム３１８の使用が中止されたときにライセンス移動制御プログラム２０５が実行する処理のフローチャートである。
【０２２７】
図１９の処理は、図１８のステップ１８０２においてストレージシステム１０１等から送信された通知（いずれかの論理ボリューム３３１においてストレージシステムプログラム３１８の使用が中止されたことの通知）を管理サーバ１３０が受信したとき、ライセンス移動制御プログラム２０５が使用ライセンステーブル２１０を更新する処理である。
【０２２８】
なお、図１９の説明において、使用が中止されたストレージシステムプログラム３１８を「当該ストレージシステムプログラム３１８」と記載し、当該ストレージシステムプログラム３１８の使用が中止された論理ボリューム３３１を「当該論理ボリューム３３１」と記載する。
【０２２９】
管理サーバ１３０が通知を受信してこの処理が開始されると（１９００）、ライセンス移動制御プログラム２０５は、当該ストレージシステムプログラム３１８を使用している（又は使用していた）ストレージシステム１０１等及び論理ボリューム３３１を検索する（１９０１）。
【０２３０】
具体的には、ライセンス移動制御プログラム２０５は、構成管理テーブル２０９を参照し、使用プログラム名５０５に当該ストレージシステムプログラム３１８を含むストレージシステム名５０１及び論理ボリュームＩＤ５０３を検索する。
【０２３１】
次に、ライセンス移動制御プログラム２０５は、当該論理ボリューム３３１以外に当該ストレージシステムプログラム３１８を使用している論理ボリューム３３１があるか否かを判定する（１９０２）。
【０２３２】
ステップ１９０２において、当該論理ボリューム３３１以外に当該ストレージシステムプログラム３１８を使用している論理ボリューム３３１がないと判定された場合、当該ストレージシステムプログラム３１８に適用されていたライセンスは現時点で未使用となる。このため、ライセンス移動制御プログラム２０５は、使用ライセンステーブル２１０の当該ストレージシステムプログラム３１８に適用されていたライセンスに対応する適用対象ボリュームＩＤ８０４を「未使用」、使用容量８０６を「０（ＴＢ）」に更新する（１９０３）。
【０２３３】
一方、ステップ１９０２において、当該論理ボリューム３３１以外に当該ストレージシステムプログラム３１８を使用している論理ボリューム３３１があると判定された場合、当該ストレージシステムプログラム３１８に適用されていたライセンスは、現時点でも他の論理ボリューム３３１に適用されている。この場合、ライセンス移動制御プログラム２０５は、使用ライセンステーブル２１０の当該ストレージシステムプログラム３１８に適用されていたライセンスに対応する適用対象ボリュームＩＤ８０４から、当該論理ボリューム３３１の論理ボリュームＩＤを削除し、使用容量８０６から当該論理ボリューム３３１の容量を減算する（１９０４）。
【０２３４】
例えば、構成管理テーブル２０９が図５に示す通りであり、ストレージシステム１０１の当該論理ボリューム「ＶＯＬ１」において当該ストレージシステムプログラム「ＰＰ１」の使用が中止された場合、ステップ１９０１において、ストレージシステム名５０１として「ストレージシステム１０１」が、論理ボリュームＩＤ５０３として「ＶＯＬ１」及び「ＶＯＬ２」が検索される。
【０２３５】
この場合、ステップ１９０２において、当該ストレージシステムプログラム「ＰＰ１」が当該論理ボリューム「ＶＯＬ１」以外の論理ボリューム「ＶＯＬ２」でも使用されていると判定される。
【０２３６】
そして、ステップ１９０４において、ライセンス「ＸＸＸＸＡ」に対応する適用対象ボリュームＩＤ８０４から当該論理ボリューム「ＶＯＬ１」が削除される。さらに、使用容量８０６の値は、「１５ＴＢ」から当該論理ボリューム「ＶＯＬ１」のサイズ「１０ＴＢ」（構成管理テーブル２０９（図５）の論理ボリュームサイズ５０４参照）を減算した「５ＴＢ」に更新される。
【０２３７】
以上で、図１９の処理を終了する（１９０５）。
【０２３８】
なお、図１８及び図１９の例では、ストレージシステムプログラム３１８の使用が中止されたことの通知をストレージシステム１０１等の管理サーバエージェント３１６が管理サーバ１３０に送信している。しかし、例えば、管理サーバ１３０が定期的にポーリングを行い、各ストレージシステム１０１等が使用しているストレージシステムプログラム３１８を把握してもよい。また、管理サーバエージェント３１６が定期的にストレージシステムプログラム３１８の使用の状況を管理サーバ１３０に通知してもよい。
【０２３９】
また、図１８及び図１９の例では、使用が中止された結果未使用となったライセンスは、ストレージシステム１０１等が保持し続ける。しかし、未使用のライセンスは、ストレージシステム１０１等以外のものが保持してもよい。例えば、管理サーバ１３０又は特定のストレージシステム１０１等が余剰のライセンスを管理する機能を備え、ストレージシステム１０１等は、未使用のライセンスをこの管理サーバ１３０又は特定のストレージシステム１０１等に返却してもよい。この場合、ライセンスを移動する必要があるときには、管理サーバ１３０等がライセンスを割り当てる。
【０２４０】
以上の本実施の形態は、図６に示すデータのマイグレーションが実行される場合を例として説明されている。この場合、データのマイグレーション元とライセンスの移動元は、いずれもストレージシステム１０１である（図９参照）。しかし、データのマイグレーション元とライセンスの移動元が異なる場合も考えられる。
【０２４１】
例えば、図８の使用ライセンステーブル２１０において、ストレージシステムプログラム「ＰＰ１」に関する未使用のライセンス「ＸＸＸＸＢ」の適用対象ストレージシステム名８０３が「ストレージシステム１０３」であれば、ライセンス「ＸＸＸＸＢ」をストレージシステム１０３からストレージシステム１０２に移動する必要がある。
【０２４２】
この場合、ストレージシステム１０３とストレージシステム１０２との間にパスが設定されているか否かが問題となる。パスが設定されていない場合、ライセンスを移動できないためである。
【０２４３】
このとき、ライセンス移動制御プログラム２０５は、ライセンスを移動することができるか否かを判定する。具体的には、構成管理テーブル２０９のパス５０６を参照して、ライセンスの移動元及び移動先のストレージシステム１０１等の間にパスが設定されているか否かを判定する。この判定は、ステップ１１０３において処理Ｄの戻り値が「ＹＥＳ」であったときに実行される（図示省略）。
【０２４４】
ライセンス「ＸＸＸＸＢ」をストレージシステム１０３からストレージシステム１０２に移動する場合、ストレージシステム１０３のパス５０６が参照される。図５の例では、ストレージシステム１０３のパス５０６は「１０１」及び「１０２」である。これは、ストレージシステム１０３からストレージシステム１０２へのパスが設定されていることを意味する（同様にして、ストレージシステム１０３からストレージシステム１０１へのパスも設定されている）。この場合、ストレージシステム１０３からストレージシステム１０２へライセンスを移動できるため、移動が実行される。
【０２４５】
あるいは、直接のパスが存在しなくても、他のストレージシステム１０１等を経由してライセンスを移動してもよい。例えば、図５において、ストレージシステム１０３のパス５０６が「１０１」のみである場合、ストレージシステム１０３から直接ストレージシステム１０２に至るパスが設定されていない。しかし、ストレージシステム１０３からストレージシステム１０１へのパスが設定されており、さらに、ストレージシステム１０３からストレージシステム１０２へのパスも設定されているため、ライセンス移動制御プログラム２０５は、ライセンス「ＸＸＸＸＢ」をストレージシステム１０３からストレージシステム１０１を経由してストレージシステム１０２に移動することができる。
【０２４６】
ライセンスを移動するパスが複数存在する場合、任意のパスを選択することができる。例えば、経由するストレージシステム１０１等の数が最も少なくなるように、最適なパスを決定してもよい。
【０２４７】
あるいは、管理サーバ１３０が、管理サーバ１３０自身（又は、計算機システム内のその他の機器）を経由してライセンスを移動してもよい。
【０２４８】
ライセンスをマイグレーション先に移動するいかなるパスも存在しないと判定された場合、ライセンス移動制御プログラム２０５は、そのライセンスを移動不可とし、他の未使用のライセンスを検索する。あるいは、未使用のライセンスが存在するが移動するためのパスが存在しないことをシステム管理者に通知してもよい。
【０２４９】
なお、上記の場合、各ストレージシステム１０１等は、互いに異なるデータセンター内にあってもよい。
【０２５０】
以上の本実施の形態の説明は、データがマイグレーションされるときのライセンスの移動についてのものであるが、本実施の形態は、データがリモートコピーされる場合のライセンスの移動にも適用することができる。リモートコピーとは、システム障害時又は災害発生時等のデータ喪失を防ぐため、ストレージシステムのデータを遠隔地のストレージシステムに転送し、コピーを作成する技術である。
【０２５１】
具体的には、リモートコピーが実行されると、コピー元（転送元）の論理ボリューム３３１のデータがコピー先（転送先）の論理ボリュームに転送され、格納される。
【０２５２】
マイグレーションの場合とは異なり、リモートコピーが実行された後も、コピーされたデータがコピー元のストレージシステム１０１等の論理ボリューム３３１に残る。このため、コピー先でライセンスが必要となる場合であっても、コピー元のライセンスをコピー先に移動することができない。
【０２５３】
以下、データがリモートコピーされる場合のライセンスの移動について説明する。
【０２５４】
図２０は、第１の実施の形態において、リモートコピーが実行される場合の管理サーバ１３０の構成を示すブロック図である。
【０２５５】
図２０の管理サーバ１３０は、図２の管理サーバ１３０のライセンス移動制御プログラム２０５、マイグレーション管理プログラム２０６及びマイグレーション管理テーブル２０８を、それぞれ、ライセンス移動制御プログラム２００１、コピー管理プログラム２００２及びコピーペア管理テーブル２００３によって置き換えた構成である。これらのプログラム及びテーブルについては、後で詳細に説明する（図２２から図２４参照）。図２０の管理サーバ１３０のその他の部分は、図２の管理サーバ１３０と同じであるため、説明を省略する。
【０２５６】
図２１は、第１の実施の形態において、リモートコピーが実行される場合のストレージシステム１０１の構成を示すブロック図である。
【０２５７】
ストレージシステム１０２及び１０３の構成は、ストレージシステム１０１と同様であるため、説明を省略する。
【０２５８】
図２１のストレージシステム１０１は、図３のストレージシステム１０１のノード間マイグレーションプログラム３１７をリモートコピープログラム２１０１によって置き換えた構成である。
【０２５９】
リモートコピープログラム２１０１は、ストレージシステム１０１の論理ボリューム３３１のデータを、他のストレージシステム１０２等の論理ボリューム３３１にコピー（リモートコピー）するプログラムである。
【０２６０】
図２１のストレージシステム１０１のその他の部分は、図３のストレージシステム１０１と同じであるため、説明を省略する。
【０２６１】
図２２は、第１の実施の形態のコピーペア管理テーブル２００３の説明図である。
【０２６２】
コピーペア管理テーブル２００３には、これから実行される予定のリモートコピーについて、コピー元及びコピー先の論理ボリューム３３１に関する情報が、コピー管理プログラム２００２によって登録される。
【０２６３】
コピーペア管理テーブル２００３において、コピー元２２１０には、コピーのストレージシステム名２２１１及び論理ボリュームＩＤ２２１２が登録される。一方、コピー先２２２０には、コピー先のストレージシステム名２２２１及び論理ボリュームＩＤ２２２２が登録される。
【０２６４】
図２２の例では、コピー元２２１０のストレージシステム名２２１１及び論理ボリュームＩＤ２２１２として、それぞれ、「ストレージシステム１０１」及び「ＶＯＬ２」が登録されている。一方、コピー先２２２０のストレージシステム名２２２１及び論理ボリュームＩＤ２２２２として、それぞれ、「ストレージシステム１０２」及び「ＶＯＬ３」が登録されている。これは、ストレージシステム１０１の論理ボリューム「ＶＯＬ２」からストレージシステム１０２の論理ボリューム「ＶＯＬ３」へのリモートコピーがこれから実行される予定であることを意味する。
【０２６５】
図２３は、第１の実施の形態のコピー管理プログラム２００２が実行する処理のフローチャートである。
【０２６６】
コピー管理プログラム２００２は、コピーペアを形成してそのコピーペアでリモートコピーするときに実行される。コピーペアとは、コピー元及びコピー先の論理ボリューム３３１の組である。
【０２６７】
コピー管理プログラム２００２は、処理が開始されると（２３００）、データのコピー元及びコピー先のストレージシステム１０１等及び論理ボリューム３３１を決定し、それらに関する情報をコピーペア管理テーブル２００３に登録する（２３０１）。
【０２６８】
次に、コピー管理プログラム２００２は、ライセンス移動制御プログラム２００１を呼び出し、処理を実行させる（２４００）。ここで実行される処理については、後で詳細に説明する（図２４参照）。
【０２６９】
次に、コピー管理プログラム２００２は、ライセンス移動制御プログラム２００１の処理の結果、リモートコピーの実行を要求されているか否かを判定する（２３０２）。
【０２７０】
ステップ２３０２においてリモートコピーの実行を要求されていると判定された場合、コピーペア管理テーブル２００３に登録された内容のリモートコピーを実行することができる。このため、コピー管理プログラム２００２は、コピーペア管理テーブル２００３に登録された内容に従ってリモートコピーを実行して（２３０３）、処理を終了する（２３０６）。
【０２７１】
一方、ステップ２３０２においてリモートコピーの実行を要求されていないと判定された場合、コピーペア管理テーブル２００３に登録された内容のリモートコピーを実行することができない。この場合、コピー管理プログラム２００２は、ライセンス移動制御プログラム２００１の処理の結果、コピー先２２２０の変更を要求されているか否かを判定する（２３０４）。
【０２７２】
ステップ２３０４においてコピー先２２２０の変更を要求されていないと判定された場合、ライセンスの不足のためリモートコピーを実行することができない（図２４参照）。このため、コピー管理プログラム２００２は、システム管理者にリモートコピーの中止の通知を送信し（２３０５）、リモートコピーを実行せずに処理を終了する（２３０６）。
【０２７３】
一方、ステップ２３０４においてコピー先２２２０の変更を要求されていると判定された場合、ライセンスは足りているが、決定されたコピー先２２２０にライセンスを移動することができない（図２４参照）。すなわち、コピー先２２２０を変更すれば、ライセンスを移動できる場合がある。このため、コピー管理プログラム２００２は、ステップ２３０１に戻り、その要求に従ってコピー先２２２０を再び決定し、そのコピー先２２２０をコピーペア管理テーブル２００３に登録する（２３０１）。その後、ステップ２４００以降の処理を実行する。
【０２７４】
図２４は、第１の実施の形態においてリモートコピーが実行される場合にライセンス移動制御プログラム２００１が実行する処理のフローチャートである。
【０２７５】
ライセンス移動制御プログラム２００１の処理は、図２３のステップ２４００においてコピー管理プログラム２００２によって呼び出されたときに開始される。
【０２７６】
なお、ライセンス移動制御プログラム２００１の処理のうち、ライセンス移動制御プログラム２０５の処理と同様の部分については、説明を省略する。
【０２７７】
ライセンス移動制御プログラム２００１は、処理が開始されると（２４００）、処理Ａを実行する（１２００）。処理Ａの内容は、図１２において説明した通りである。ただし、図１２の処理Ａにおいて、「ライセンス移動制御プログラム２０５」、「マイグレーション管理テーブル２０８」、「マイグレーション」、「マイグレーション元」及び「マイグレーション先」は、それぞれ、「ライセンス移動制御プログラム２００１」、「コピーペア管理テーブル２００３」、「リモートコピー」、「コピー元」及び「コピー先」に相当する。これは、以下に説明する処理Ｃ、処理Ｄ及び処理Ｅについても同様である。処理Ａによって、コピー先の論理ボリューム３３１にライセンスを移動する必要があるストレージシステムプログラム３１８が割り出される。
【０２７８】
次に、ライセンス移動制御プログラム２００１は、処理Ａの戻り値を判定する（２４０１）。
【０２７９】
ステップ２４０１において、処理Ａの戻り値が「ＮＯ」であると判定された場合、いずれのストレージシステムプログラム３１８のライセンスも移動する必要がない。すなわち、ライセンスを移動せずにマイグレーションを実行することができる。このため、ライセンス移動制御プログラム２００１は、ステップ２４０４に進む（後述）。
【０２８０】
一方、ステップ２４０１において、処理Ａの戻り値が「ＹＥＳ」であると判定された場合、いずれかのストレージシステムプログラム３１８のライセンスを移動する必要がある。しかし、リモートコピーが実行される場合、コピー元のストレージシステム１０１等にもデータが残るため、コピー元のライセンスをコピー先に移動することができない。そこで、ライセンス移動制御プログラム２００１は、処理Ｄ（図１５参照）を実行して、コピー先の論理ボリューム３３１に適用することができる余剰のライセンスがあるか否かを判定する（１５００）。
【０２８１】
次に、ライセンス移動制御プログラム２００１は、処理Ｄの戻り値を判定する（２４０２）。
【０２８２】
ステップ２４０２において、処理Ｄの戻り値が「ＮＯ」であると判定された場合、コピー先の論理ボリューム３３１に適用することができる余剰のライセンスがない。この場合、コピー先に適用されるライセンスが不足しているため、ライセンス移動制御プログラム２００１は、ライセンスの不足をシステム管理者に通知して（２４０６）、処理を終了する（２４０７）。
【０２８３】
一方、ステップ２４０２において、処理Ｄの戻り値が「ＹＥＳ」であると判定された場合、コピー先の論理ボリューム３３１に適用することができる余剰のライセンスがある。この場合、ライセンス移動制御プログラム２００１は、処理Ｃを実行する（１４００）。処理Ｃは、コピー先の論理ボリューム３３１に必要なライセンスを適用することができるか否かを判定する処理である（図１４参照）。
【０２８４】
ライセンス移動制御プログラム２００１は、処理Ｃを実行した後、処理Ｃの戻り値を判定する（２４０３）。
【０２８５】
ステップ２４０３において、処理Ｃの戻り値が「ＮＯ」であると判定された場合、コピー先の論理ボリューム３３１に必要なライセンスを適用することができない。この場合、必要なライセンスが不足しているわけではないため、コピー先を変更すれば、リモートコピーを実行できる可能性がある。このため、ライセンス移動制御プログラム２００１は、コピー管理プログラム２００２にコピーペアの変更を要求し（２４０５）、処理を終了する（２４０７）。
【０２８６】
一方、ステップ２４０３において、処理Ｃの戻り値が「ＹＥＳ」であると判定された場合、コピー先の論理ボリューム３３１に必要なライセンスを適用することができる。この場合、ライセンス移動制御プログラム２００１は、処理Ｅを実行する（１６００）。処理Ｅは、ライセンスを移動する処理である（図１６参照）。
【０２８７】
次に、ライセンス移動制御プログラム２００１は、コピー管理プログラム２００２にリモートコピーの実行を要求し（２４０４）、処理を終了する（２４０７）。
【０２８８】
以上の本実施の形態によれば、データのマイグレーション又はリモートコピーが実行される前に、マイグレーション先又はコピー先のストレージシステムにストレージシステムプログラムのライセンスを適用する必要があるか否かが判定される。そして、ライセンスを適用する必要がある場合は、必要なライセンスを移動することができるか否かが判定される。
【０２８９】
ライセンスを移動でき、かつ、ライセンスを移動することによって必要なライセンスが足りる場合は、新たにライセンスを購入することなく、ストレージシステムプログラムの使用を継続することができる。
【０２９０】
ライセンスを移動できない場合、又は、ライセンスを移動してもなおライセンスが不足する場合のみ、新たなライセンスを購入すればよい。このため、ストレージシステムの運用コストが削減される。
【０２９１】
次に、第２の実施の形態について説明する。
【０２９２】
なお、以下の説明では、本実施の形態が第１の実施の形態と相違する点について説明し、第１の実施の形態と同様の部分については、説明を省略する。
【０２９３】
図２５は、第２の実施の形態の計算機システムの構成を示すブロック図である。
【０２９４】
本実施の形態の計算機システムは、ストレージシステム２５０１、ストレージシステム２５０２、ＳＡＮ１１０、業務サーバ１２０、管理サーバ２５１０及び管理用ネットワーク１４０によって構成される。
【０２９５】
ストレージシステム２５０１、ストレージシステム２５０２及び管理サーバ２５１０については、後で詳細に説明する（図２６から図２８参照）。
【０２９６】
なお、後で詳細に説明するように、本実施の形態のストレージシステム２５０２は、ストレージシステム２５０１に外部接続されている。
【０２９７】
図２６は、第２の実施の形態の管理サーバ２５１０の構成を示すブロック図である。
【０２９８】
本実施の形態の管理サーバ２５１０は、ＣＰＵ２０１、入出力装置２０２、管理用Ｉ／Ｆ２０３及びメモリ２６００によって構成される。
【０２９９】
メモリ２６００は、例えば、半導体メモリである。本実施の形態のメモリ２６００には、少なくとも、ライセンス移動制御プログラム２６０１、ストレージ管理プログラム２０７、構成管理テーブル２０９、使用ライセンステーブル２１０及びライセンス種別テーブル２１１が格納される。ライセンス移動制御プログラム２６０１が実行する処理については、後で詳細に説明する（図３１参照）。
【０３００】
図２７は、第２の実施の形態のストレージシステム２５０１の構成を示すブロック図である。
【０３０１】
本実施の形態のストレージシステム２５０１は、ディスク装置２７２０及びストレージコントローラ２７１０からなる。
【０３０２】
ディスク装置２７２０には、業務サーバ１２０から書き込まれたデータが格納される。ディスク装置２７２０は、一つ以上のディスクドライブ（図示省略）によって構成される。ディスク装置２７２０の記憶領域は、一つ以上の論理ボリューム３３１に分割される。さらに、ディスク装置２７２０は、一つ以上の仮想ボリューム２７２１を含む。仮想ボリューム２７２１は、仮想的な論理ボリューム３３１である。ストレージコントローラ２７１０は、外部接続されたストレージシステム２５０２の論理ボリューム３３１を、仮想ボリューム２７２１として、ディスク装置２７２０上に存在しているかのように管理サーバ２５１０に認識させる。すなわち、仮想ボリューム２７２１は、実際にはディスク装置２７２０上に存在していない。したがって、ディスク装置２７２０は、実際には、第１の実施の形態のディスク装置３３０と同じものである。
【０３０３】
ストレージコントローラ２７１０は、ＣＰＵ３１１、キャッシュ３１２、管理用Ｉ／Ｆ３１３、二つのＩ／Ｆ３１４及びメモリ２７１１からなる。
【０３０４】
二つのＩ／Ｆ３１４のうち一方は、ＳＡＮ１１０を介して業務サーバ１２０と通信し、もう一方は、ＳＡＮ１１０を介して、外部接続されたストレージシステム２５０２と通信する。
【０３０５】
メモリ２７１１は、例えば、半導体メモリである。本実施の形態のメモリ２７１１には、少なくとも、管理サーバエージェント３１６、外部接続プログラム２７１２、ストレージシステムプログラム３１８、ライセンス移動プログラム３１９、ライセンステーブル３２０及び外部ボリューム対応テーブル２７１３が格納される。外部接続プログラム２７１２及び外部ボリューム対応テーブル２７１３については、後で詳細に説明する（図２９及び図３０参照）。
【０３０６】
図２８は、第２の実施の形態の外部接続されたストレージシステム２５０２の構成を示すブロック図である。
【０３０７】
本実施の形態のストレージシステム２５０２は、ディスク装置３３０及びストレージコントローラ２８１０からなる。
【０３０８】
ストレージコントローラ２８１０は、ＣＰＵ３１１、キャッシュ３１２、管理用Ｉ／Ｆ３１３、Ｉ／Ｆ３１４及びメモリ２８１１からなる。
【０３０９】
Ｉ／Ｆ３１４は、ＳＡＮ１１０を介して、ストレージシステム２５０１と通信する。
【０３１０】
メモリ２８１１には、少なくとも、管理サーバエージェント３１６、ストレージシステムプログラム３１８、ライセンス移動プログラム３１９及びライセンステーブル３２０が格納される。
【０３１１】
次に、図２５から図２８を参照して、本実施の形態の概要を説明する。
【０３１２】
本実施の形態において、ストレージシステム２５０２は、ストレージシステム２５０１に外部接続されている。業務サーバ１２０とストレージシステム２５０１との間には、Ｉ／Ｆ１２３からＩ／Ｆ１１１を経由してストレージシステム２５０１のＩ／Ｆ３１４に至るパスが設定されている。一方、業務サーバ１２０とストレージシステム２５０２との間には、パスが設定されていない。ストレージシステム２５０１とストレージシステム２５０２との間には、Ｉ／Ｆ１１１を経由するパスが設定されている。
【０３１３】
ストレージシステム２５０１は、装置ベースの仮想化機能を備える。このため、ストレージシステム２５０１は、外部接続されたストレージシステム２５０２の論理ボリューム３３１を、仮想ボリューム２７２１として業務サーバ１２０に提供する。
【０３１４】
業務サーバ１２０は、ストレージシステム２５０１の論理ボリューム３３１に直接アクセスすることができるが、ストレージシステム２５０２の論理ボリューム３３１には直接アクセスすることができない。しかし、業務サーバ１２０は、ストレージシステム２５０１の仮想ボリューム２７２１にアクセスすることによって、間接的にストレージシステム２５０２の論理ボリューム３３１にアクセスすることができる。このとき、業務サーバは、仮想ボリューム２７２１を、実際にストレージシステム２５０１に存在している論理ボリューム３３１として認識する。
【０３１５】
このとき、仮想ボリューム２７２１は、対応する論理ボリューム３３１と同じ容量を有するものとして扱われる。
【０３１６】
このような外部接続は、通常、業務サーバ１２０とストレージシステム２５０２とがＳＡＮ１１０を介して接続されているところに、ストレージシステム２５０１を追加することによって実現される。ストレージシステム２５０１が追加される前、業務サーバ１２０は、ストレージシステム２５０２の論理ボリューム３３１に直接アクセスする。ストレージシステム２５０１が追加された後、業務サーバ１２０は、ストレージシステム２５０１の仮想ボリューム２７２１にアクセスすることによって、ストレージシステム２５０２の論理ボリューム３３１に間接的にアクセスする。
【０３１７】
このような場合、ストレージシステム２５０１が追加されて仮想ボリューム２７２１が設定されたときに、ストレージシステム２５０２が使用していたストレージシステムプログラム３１８のライセンスを、ストレージシステム２５０１に移動することが必要となる場合がある。
【０３１８】
本実施の形態は、このような外部接続が実行されたときのライセンスの移動に関する。
【０３１９】
図２９は、第２の実施の形態の外部ボリューム対応テーブル２７１３の説明図である。
【０３２０】
外部ボリューム対応テーブル２７１３には、これから外部接続しようとする論理ボリューム３３１と仮想ボリューム２７２１との対応を示す情報が登録される。
【０３２１】
外部ボリューム対応テーブル２７１３において、外部接続するストレージシステム２９１０には、外部接続するストレージシステム２５０２のストレージシステム名２９１１及び論理ボリュームＩＤ２９１２が登録される。一方、外部接続機能を備えるストレージシステム２９２０には、外部接続機能（すなわち、仮想化機能）を備えるストレージシステム２５０１のストレージシステム名２９２１及び仮想ボリュームＩＤ２９２２が登録される。なお、仮想ボリュームＩＤ２９２２は、論理ボリュームＩＤ２９１２が示す論理ボリューム３３１が仮想化された仮想ボリューム２７２１の識別子である。以下、このように仮想ボリューム２７２１によって仮想化される論理ボリューム３３１を外部論理ボリューム３３１と記載する。また、外部論理ボリューム３３１及びそれを含むストレージシステム２５０２を「移行元」、仮想ボリューム２７２１及びそれを含むストレージシステム２５０１を「移行先」と記載する。
【０３２２】
図２９の例は、図２５に示す外部接続が行われた場合を示す。外部接続するストレージシステム２９１０のストレージシステム名２９１１及び論理ボリュームＩＤ２９１２は、それぞれ、「ストレージシステム２５０２」及び「ＶＯＬ２」である。一方、外部接続機能を備えるストレージシステム２９２０のストレージシステム名２９２１及び仮想ボリュームＩＤ２９２２は、それぞれ、「ストレージシステム２５０１」及び「ＶＯＬ３」である。これは、ストレージシステム２５０２の論理ボリューム「ＶＯＬ２」が、ストレージシステム２５０１の仮想ボリューム「ＶＯＬ３」として仮想化されることを意味する。
【０３２３】
図３０は、第２の実施の形態の外部接続プログラム２７１２が実行する処理のフローチャートである。
【０３２４】
システム管理者がストレージシステム２５０１等の外部接続を実行しようとするときに、外部接続プログラム２７１２が実行される。以下の説明は、図２５に示すように、ストレージシステム２５０１にストレージシステム２５０２が外部接続される場合についてのものである。
【０３２５】
外部接続プログラム２７１２の実行が開始されると（３０００）、システム管理者は、これから外部接続しようとするストレージシステム２５０２の外部論理ボリューム３３１の論理ボリュームＩＤ２９１２を指定し、その外部論理ボリューム３３１に対応する仮想ボリューム２７２１の仮想ボリュームＩＤ２９２２を作成し、これらの情報を外部ボリューム対応テーブル２７１３に登録する（３００１）。
【０３２６】
次に、外部接続プログラム２７１２は、管理サーバ２５１０にライセンス移動制御プログラム２６０１を実行させる（３１００）。ここで実行される処理については、後で詳細に説明する（図３１参照）。
【０３２７】
次に、外部接続プログラム２７１２は、ライセンス移動制御プログラム２６０１の処理の結果、外部接続の実行を要求されているか否かを判定する（３００３）。
【０３２８】
ステップ３００３において外部接続の実行を要求されていると判定された場合、外部ボリューム対応テーブル２７１３に登録された外部接続を実行することができる。このため、外部接続プログラム２７１２は、外部ボリューム対応テーブル２７１３に登録された内容に従って外部接続を実行して（３００５）、処理を終了する（３００８）。
【０３２９】
一方、ステップ３００３において外部接続の実行を要求されていないと判定された場合、外部ボリューム対応テーブル２７１３に登録された外部接続を実行することができない。この場合、外部接続プログラム２７１２は、ライセンス移動制御プログラム２６０１の処理の結果、ライセンスの移動不可を通知されているか否かを判定する（３００４）。
【０３３０】
ステップ３００４においてライセンスの移動不可を通知されていると判定された場合、ライセンスは足りているが、ライセンスを移動することができないため、外部接続を実行することができない。このため、外部接続プログラム２７１２は、システム管理者に、ライセンスを移動できないため外部接続を中止することを通知し（３００６）、外部接続を実行せずに処理を終了する（３００８）。
【０３３１】
一方、ステップ３００４においてライセンスの移動不可を通知されていないと判定された場合、ライセンスの不足のため外部接続を実行することができない。このため、外部接続プログラム２７１２は、システム管理者に、ライセンス不足のため外部接続を中止することを通知し（３００７）、外部接続を実行せずに処理を終了する（３００８）。
【０３３２】
図３１は、第２の実施の形態のライセンス移動制御プログラム２６０１が実行する処理のフローチャートである。
【０３３３】
ライセンス移動制御プログラム２６０１の処理は、図３０のステップ３１００において外部接続プログラム２７１２から実行を指示されたときに開始される。
【０３３４】
なお、ライセンス移動制御プログラム２６０１の処理のうち、ライセンス移動制御プログラム２０５の処理と同様の部分については、説明を省略する。
【０３３５】
ライセンス移動制御プログラム２６０１は、処理が開始されると（３１００）、処理Ａを実行する（１２００）。処理Ａの内容は、図１２において説明した通りである。ただし、図１２の処理Ａにおいて、「ライセンス移動制御プログラム２０５」、「マイグレーション管理テーブル２０８」、「マイグレーション」、「マイグレーション元」及び「マイグレーション先」は、それぞれ、「ライセンス移動制御プログラム２６０１」、「外部ボリューム対応テーブル２７１３」、「外部接続」、「移行元」及び「移行先」に相当する。これは、以下に説明する処理Ｂ、処理Ｃ、処理Ｄ及び処理Ｅについても同様である。処理Ａによって、移行先の仮想ボリューム２７２１にライセンスを移動する必要があるストレージシステムプログラム３１８が割り出される。
【０３３６】
次に、ライセンス移動制御プログラム２６０１は、処理Ａの戻り値を判定する（３１０１）。
【０３３７】
ステップ３１０１において、処理Ａの戻り値が「ＮＯ」であると判定された場合、いずれのストレージシステムプログラム３１８のライセンスも移動せずに外部接続を実行することができる。このため、ライセンス移動制御プログラム２６０１は、ステップ３１０５に進む（後述）。
【０３３８】
一方、ステップ３１０１において、処理Ａの戻り値が「ＹＥＳ」であると判定された場合、いずれかのストレージシステムプログラム３１８のライセンスを移動する必要がある。この場合、ライセンス移動制御プログラム２６０１は、処理Ｂを実行する（１３００）。
【０３３９】
処理Ｂは、移行元の外部論理ボリューム３３１から移行先の仮想ボリューム２７２１に必要なライセンスを移動することができるか否かを判定する処理である（図１３参照）。
【０３４０】
次に、ライセンス移動制御プログラム２６０１は、処理Ｂの戻り値を判定する（３１０２）。
【０３４１】
ステップ３１０２において、処理Ｂの戻り値が「ＹＥＳ」であると判定された場合、移行先の仮想ボリューム２７２１に必要なライセンスを移動することができる。この場合、ライセンス移動制御プログラム２６０１は、ステップ１４００に進み、処理Ｃを実行する（後述）。
【０３４２】
一方、ステップ３１０２において、処理Ｂの戻り値が「ＮＯ」であると判定された場合、移行先の仮想ボリューム２７２１に必要なライセンスを移動することができない。この場合、ライセンス移動制御プログラム２６０１は、処理Ｄを実行する（１５００）。
【０３４３】
処理Ｄは、移行先の仮想ボリューム２７２１に適用することができる余剰のライセンスがあるか否かを判定する処理である（図１５参照）。
【０３４４】
次に、ライセンス移動制御プログラム２６０１は、処理Ｄの戻り値を判定する（３１０３）。
【０３４５】
ステップ３１０３において、処理Ｄの戻り値が「ＮＯ」であると判定された場合、移行先の仮想ボリューム２７２１に適用することができる余剰のライセンスがない。この場合、移行先に適用されるライセンスが不足しているため、ライセンス移動制御プログラム２６０１は、ライセンスの不足をシステム管理者に通知して（３１０７）、処理を終了する（３１０８）。
【０３４６】
一方、ステップ３１０３において、処理Ｄの戻り値が「ＹＥＳ」であると判定された場合、移行先の仮想ボリューム２７２１に適用することができる余剰のライセンスがある。この場合、ライセンス移動制御プログラム２６０１は、処理Ｃを実行する（１４００）。
【０３４７】
処理Ｃは、移行先のストレージシステム２５０１の仮想ボリューム２７２１に必要なライセンスを適用することができるか否かを判定する処理である（図１４参照）。
【０３４８】
ライセンス移動制御プログラム２６０１は、処理Ｃを実行した後、処理Ｃの戻り値を判定する（３１０４）。
【０３４９】
ステップ３１０４において、処理Ｃの戻り値が「ＮＯ」であると判定された場合、移行先の仮想ボリューム２７２１に必要なライセンスを適用することができない。この場合、ライセンス移動制御プログラム２６０１は、外部接続プログラム２７１２に、ライセンスの移動不可を通知し、（３１０６）、処理を終了する（３１０８）。
【０３５０】
一方、ステップ３１０４において、処理Ｃの戻り値が「ＹＥＳ」であると判定された場合、移行先の仮想ボリューム２７２１に必要なライセンスを適用することができる。この場合、ライセンス移動制御プログラム２６０１は、処理Ｅを実行する（１６００）。
【０３５１】
処理Ｅは、ライセンスを移動する処理である（図１６参照）。
【０３５２】
次に、ライセンス移動制御プログラム２６０１は、外部接続プログラム２７１２に外部接続の実行を要求し（３１０５）、処理を終了する（３１０８）。
【０３５３】
以上の本実施の形態によれば、ストレージシステムの外部接続が実行される前に、その外部接続によって移行先のストレージシステムにストレージシステムプログラムのライセンスを適用する必要があるか否かが判定される。そして、ライセンスを適用する必要がある場合は、必要なライセンスを移動することができるか否かが判定される。
【０３５４】
ライセンスを移動でき、かつ、ライセンスを移動することによって必要なライセンスが足りる場合は、新たにライセンスを購入することなく、ストレージシステムプログラムの使用を継続することができる。
【０３５５】
その結果、ライセンスを移動できない場合、又は、ライセンスを移動してもなおライセンスが不足する場合のみ、新たなライセンスを購入すればよい。このため、ストレージシステムの運用コストが削減される。
【図面の簡単な説明】
【０３５６】
【図１】第１の実施の形態の計算機システムの構成を示すブロック図である。
【図２】第１の実施の形態の管理サーバの構成を示すブロック図である。
【図３】第１の実施の形態のストレージシステムの構成を示すブロック図である。
【図４】第１の実施の形態のライセンステーブルの説明図である。
【図５】第１の実施の形態の構成管理テーブルの説明図である。
【図６】第１の実施の形態のマイグレーション管理テーブルの説明図である。
【図７】第１の実施の形態のライセンス種別テーブルの説明図である。
【図８】第１の実施の形態の使用ライセンステーブルの説明図である。
【図９】第１の実施の形態のライセンス移動管理テーブルの説明図である。
【図１０】第１の実施の形態のマイグレーション管理プログラムが実行する処理のフローチャートである。
【図１１】第１の実施の形態のライセンス移動制御プログラムが実行する処理のフローチャートである。
【図１２】第１の実施の形態のライセンス移動制御プログラムが実行する、ライセンスを移動する必要があるストレージシステムプログラムを割り出す処理のフローチャートである。
【図１３】第１の実施の形態のライセンス移動制御プログラムが実行する、ライセンスをマイグレーション先に移動することができるか否かを判定する処理のフローチャートである。
【図１４】第１の実施の形態のライセンス移動制御プログラムが実行する、ライセンスをマイグレーション先に適用できるか否かを判定する処理のフローチャートである。
【図１５】第１の実施の形態のライセンス移動制御プログラムが実行する、マイグレーション先に適用できる余剰のライセンスがあるか否かを判定する処理のフローチャートである。
【図１６】第１の実施の形態のライセンス移動制御プログラムが実行する、マイグレーション先にライセンスを移動する処理のフローチャートである。
【図１７】第１の実施の形態のライセンス移動プログラムが実行する処理のフローチャートである。
【図１８】第１の実施の形態のストレージシステムにおいてストレージシステムプログラムの使用が中止されたときに実行される処理のフローチャートである。
【図１９】第１の実施の形態のストレージシステムにおいてストレージシステムプログラムの使用が中止されたときにライセンス移動制御プログラムが実行する処理のフローチャートである。
【図２０】第１の実施の形態において、リモートコピーが実行される場合の管理サーバの構成を示すブロック図である。
【図２１】第１の実施の形態において、リモートコピーが実行される場合のストレージシステムの構成を示すブロック図である。
【図２２】第１の実施の形態のコピーペア管理テーブルの説明図である。
【図２３】第１の実施の形態のコピー管理プログラムが実行する処理のフローチャートである。
【図２４】第１の実施の形態においてリモートコピーが実行される場合にライセンス移動制御プログラムが実行する処理のフローチャートである。
【図２５】第２の実施の形態の計算機システムの構成を示すブロック図である。
【図２６】第２の実施の形態の管理サーバの構成を示すブロック図である。
【図２７】第２の実施の形態のストレージシステムの構成を示すブロック図である。
【図２８】第２の実施の形態の外部接続されたストレージシステムの構成を示すブロック図である。
【図２９】第２の実施の形態の外部ボリューム対応テーブルの説明図である。
【図３０】第２の実施の形態の外部接続プログラムが実行する処理のフローチャートである。
【図３１】第２の実施の形態のライセンス移動制御プログラムが実行する処理のフローチャートである。
【符号の説明】
【０３５７】
１０１、１０２、１０３、２５０１、２５０２  ストレージシステム
１１０  ストレージエリアネットワーク（ＳＡＮ）
１１１、１２３、３１４  インターフェース（Ｉ／Ｆ）
１２０  業務サーバ
１３０、２５１０  管理サーバ
１４０  管理用ネットワーク
２０１、３１１  ＣＰＵ
２０２  入出力装置
２０３、３１３  管理用Ｉ／Ｆ
２０４、３１５、２６００、２７１１、２８１１  メモリ
２０５、２００１、２６０１  ライセンス移動制御プログラム
２０６  マイグレーション管理プログラム
２０７  ストレージ管理プログラム
２０８  マイグレーション管理テーブル
２０９  構成管理テーブル
２１０  使用ライセンステーブル
２１１  ライセンス種別テーブル
２１２  ライセンス移動管理テーブル
３１０、２７１０、２８１０  ストレージコントローラ
３１２  キャッシュ
３１６  管理サーバエージェント
３１７  ノード間マイグレーションプログラム
３１８  ストレージシステムプログラム
３１９  ライセンス移動プログラム
３２０  ライセンステーブル
３３０  ディスク装置
３３１  論理ボリューム
２００２  コピー管理プログラム
２００３  コピーペア管理テーブル
２１０１  リモートコピープログラム
２７１２  外部接続プログラム
２７１３  外部ボリューム対応テーブル
２７２１  仮想ボリューム
【図１】
2006350824.tif 000003
【図２】
2006350824.tif 000004
【図３】
2006350824.tif 000005
【図４】
2006350824.tif 000006
【図５】
2006350824.tif 000007
【図６】
2006350824.tif 000008
【図７】
2006350824.tif 000009
【図８】
2006350824.tif 000010
【図９】
2006350824.tif 000011
【図１０】
2006350824.tif 000012
【図１１】
2006350824.tif 000013
【図１２】
2006350824.tif 000014
【図１３】
2006350824.tif 000015
【図１４】
2006350824.tif 000016
【図１５】
2006350824.tif 000017
【図１６】
2006350824.tif 000018
【図１７】
2006350824.tif 000019
【図１８】
2006350824.tif 000020
【図１９】
2006350824.tif 000021
【図２０】
2006350824.tif 000022
【図２１】
2006350824.tif 000023
【図２２】
2006350824.tif 000024
【図２３】
2006350824.tif 000025
【図２４】
2006350824.tif 000026
【図２５】
2006350824.tif 000027
【図２６】
2006350824.tif 000028
【図２７】
2006350824.tif 000029
【図２８】
2006350824.tif 000030
【図２９】
2006350824.tif 000031
【図３０】
2006350824.tif 000032
【図３１】
2006350824.tif 000033