(57)【特許請求の範囲】
【請求項１】
第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーする処理部と、
前記処理部による前記ブロックのコピーに要した時間を計測する時間計測部と、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間と前記ブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、前記ブロックのサイズを算出したサイズに変更する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記処理部は、第１のデータをコピーする第１のコピーと、第２のデータをコピーする第２のコピーと、をブロック単位で順次実行しており、
前記制御部は、前記時間計測部が前記第１のコピーにつき計測したブロックのコピーに要した第１の時間が前記閾値に達している場合、前記第１のコピーのブロックのサイズおよび前記第２のコピーのブロックのサイズを変更する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御部は、前記第１の時間および前記時間計測部が前記第２のコピーにつき計測したブロックのコピーに要した第２の時間の両方が前記閾値に達している場合に、前記第１のコピーのブロックのサイズおよび前記第２のコピーのブロックのサイズを変更する、
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーする処理部と、
前記処理部による前記ブロックのコピーに要した時間を計測する時間計測部と、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する制御部と、を有し、
前記処理部は、第１のデータをコピーする第１のコピーと、第２のデータをコピーする第２のコピーと、をブロック単位で順次実行しており、
前記制御部は、前記時間計測部が前記第１のコピーにつき計測したブロックのコピーに要した第１の時間が前記閾値に達している場合、制御情報記憶部に記憶されており、前記第１のコピーおよび前記第２のコピーそれぞれにつき各コピーに関係する複数のコピー条件情報を記録したコピー処理管理情報を参照して、前記第１のコピーと前記第２のコピーとに共通するコピー条件情報が存在する場合に、前記第１のコピーのブロックのサイズおよび前記第２のコピーのブロックのサイズを変更する、
ことを特徴とする情報処理装置。
【請求項５】
前記制御部は、前記時間計測部が計測した時間が前記閾値よりも小さい下限値に達していない場合、前記ブロックのサイズを現在のサイズよりも大きくなるよう変更することを特徴とする請求項１乃至４の何れか一項に記載の情報処理装置。
【請求項６】
第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーし、
前記ブロックのコピーに要した時間を計測し、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間と前記ブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、前記ブロックのサイズを算出したサイズに変更する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項７】
情報処理装置が、
第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーし、
前記ブロックのコピーに要した時間を計測し、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間と前記ブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、前記ブロックのサイズを算出したサイズに変更する、
ことを特徴とするコピー処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータのコピーを行う情報処理装置、情報処理プログラムおよびコピー処理方法に関する。
【背景技術】
【０００２】
現在、コンピュータを用いたデータ処理が広く行われるようになり、データを蓄積・利用するためのストレージ技術が一層重要となっている。この点、データアクセスの高速化およびデータ保管に対する高信頼化を実現するストレージ技術として、従来はＲＡＩＤ（Redundant Arrays of Independent Disks）が一般的に利用されてきた。ＲＡＩＤでは、データを必要に応じて分割・複製して、複数のディスク装置に分散して配置する。これにより、複数のディスク装置間で負荷が分散されることによる高速化、データが冗長化されることによる高信頼化が実現されている。
【０００３】
ところで近年では、ＲＡＩＤにより構築した複数の記憶領域を更に組み合わせてユーザに提供する仮想化ストレージシステムが構築されている。仮想化ストレージシステムは、ネットワークを介して接続された複数のストレージ装置と、仮想化スイッチ装置と、を備えている。仮想化スイッチ装置は、複数のストレージ装置内の記憶領域を組み合わせて論理的な記憶領域を構築し、提供する。ユーザは、当該記憶領域を用いることで、仮想化スイッチ装置配下のストレージ装置を意識することなく容易にデータ管理を行える。
【０００４】
ここで、仮想化ストレージシステムではデータのコピーが行われる。例えば、バックアップのためのコピーである。この場合、サイズの大きなデータを１度に複製しようとすると、コピー処理に演算資源が長時間占有され、ホストＩ／Ｏ（Input / Output）などの他の処理の実行待ち時間が増大する。そこで、対象データを所定サイズのブロック単位に順次コピーすることが考えられる。他の処理と切り替えながらブロック単位にコピーを実行すれば、見かけ上、コピー処理とそれ以外の処理とを並列して実行できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２５９４６７号公報
【特許文献２】特開２００７−０９４９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、データをブロック単位に分割してコピー（以下、個々のブロックのコピー処理をブロックコピーと称する）しても、あるブロックコピーに長時間を要すると他の処理の実行待ち時間は増大する。そこで、１ブロックコピー当たりに許容される最大時間（タイムアウト）が定められるのが一般的である。あるブロックコピーでタイムアウトが発生すると、当該ブロックコピーは中断され、次に予定された他の処理を開始できる。
【０００７】
一方で、タイムアウトにより中断したブロックコピーは未完了となる。このため、同一ブロックにつき再試行が必要となる。その場合、再試行時にも対象のストレージ装置で高負荷状態が継続していると、再度タイムアウトが生じる可能性がある。すると、更に再試行を要し、悪循環となるおそれがある。
【０００８】
本発明はこのような点に鑑みてなされたものであり、データのコピーを効率的に行うことができる情報処理装置、情報処理プログラムおよびコピー処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、情報処理装置が提供される。この情報処理装置は、処理部と、時間計測部と、制御部と、を有する。処理部は、第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーする。時間計測部は、処理部によるブロックのコピーに要した時間を計測する。制御部は、計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間とブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、ブロックのサイズを算出したサイズに変更する。
【００１０】
また、上記情報処理装置と同様の処理をコンピュータに実行させる情報処理プログラムが提供される。
また、上記情報処理装置と同様の処理を行うコピー処理方法が提供される。
【発明の効果】
【００１１】
上記情報処理装置、情報処理プログラムおよびコピー処理方法によれば、データのコピーを効率的に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る情報処理装置を示す図である。
【図２】第２の実施の形態に係る仮想化ストレージシステムを示す図である。
【図３】第２の実施の形態の仮想化スイッチ装置のハードウェア構成を示す図である。
【図４】第２の実施の形態のストレージ装置のハードウェア構成を示す図である。
【図５】第２の実施の形態の仮想化スイッチ装置の機能構成を示す図である。
【図６】第２の実施の形態の制御値テーブルのデータ構造例を示す図である。
【図７】第２の実施の形態のコピー処理の各期間を示す図である。
【図８】第２の実施の形態のコピー処理を示すフローチャートである。
【図９】第２の実施の形態のブロックサイズ制御処理を示すフローチャートである。
【図１０】第２の実施の形態の通常時のコピー処理の流れの具体例を示す図である。
【図１１】第２の実施の形態のコピー処理の流れの第１の具体例を示す図である。
【図１２】第２の実施の形態のコピー処理の流れの第２の具体例を示す図である。
【図１３】高負荷時のコピー処理の流れの比較例を示す図である。
【図１４】第３の実施の形態の仮想化スイッチ装置の機能構成を示す図である。
【図１５】第３の実施の形態の論理ユニット管理テーブルのデータ構造例を示す図である。
【図１６】第３の実施の形態のコピー処理管理テーブルのデータ構造例を示す図である。
【図１７】第３の実施の形態の優先度テーブルのデータ構造例を示す図である。
【図１８】第３の実施の形態のプレタイムアウト予測展開処理を示すフローチャートである。
【図１９】第３の実施の形態の複数プレタイムアウト予測展開処理を示すフローチャートである。
【図２０】第３の実施の形態のコピー処理抽出テーブルの第１の具体例を示す図である。
【図２１】第３の実施の形態のコピー処理抽出テーブルの第２の具体例を示す図である。
【図２２】第３の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。
【図２３】第３の実施の形態のコピー処理抽出テーブルの具体例を示す図である。
【図２４】第３の実施の形態の優先度更新処理を示すフローチャートである。
【図２５】第３の実施の形態の優先度更新処理の具体例を示す図である。
【図２６】第４の実施の形態の仮想化スイッチ装置の機能構成を示す図である。
【図２７】第４の実施の形態の所要時間履歴テーブルのデータ構造例を示す図である。
【図２８】第４の実施の形態の比率テーブルのデータ構造例を示す図である。
【図２９】第４の実施の形態の差分テーブルのデータ構造例を示す図である。
【図３０】第４の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。
【図３１】コピー処理の所要時間の遷移の具体例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態を図面を参照して詳細に説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係る情報処理装置を示す図である。情報処理装置１は、処理部１ａ、時間計測部１ｂおよび制御部１ｃを有する。
【００１４】
処理部１ａは、記憶部２に記憶されたデータを所定サイズに分割したブロック４を単位として記憶部３にコピーする。データのコピー処理は、例えば記憶部２に記憶されたデータを記憶部３に移行・バックアップする場合などに実行される。具体的なタイミングとしては、ユーザによるデータのコピー操作を受け付けた場合や記憶部２，３に冗長化された記憶領域の作成（リビルドやコピーバック）などを行う場合である。
【００１５】
ここで、ブロックコピーの具体的な手順は次の通りである。（１）処理部１ａは、記憶部２からブロック４を取得する。（２）処理部１ａは、取得したブロック４を記憶部３に出力し、記録させる。このように、処理部１ａは、コピーすべきデータの未コピー部分からブロック４を取得し、記憶部２から記憶部３へ順次コピーする。
【００１６】
時間計測部１ｂは、処理部１ａによるブロック４のコピーに要した時間を計測する。時間計測部１ｂが計測する時間は、処理部１ａが上記（１）の処理を開始してから、（２）の処理を完了するまでに要した時間である。なお、以下ではブロックコピーに要した時間をコピー時間と称することもある。
【００１７】
制御部１ｃは、時間計測部１ｂが計測した時間がタイムアウト時間よりも短い所定の閾値Ｔｕに達している場合、ブロックサイズ４ａを現在のサイズよりも小さいブロックサイズ４ｂに変更する。そして、制御部１ｃは、ブロックサイズ４ｂでブロックコピーを行うよう処理部１ａに指示する。
【００１８】
また、時間計測部１ｂが計測した時間が閾値Ｔｌよりも短い場合、制御部１ｃは、現在のブロックサイズ４ｃよりも大きいブロックサイズ４ｄとする。そして、制御部１ｃは、ブロックサイズ４ｄでブロックコピーを行うよう処理部１ａに指示する。
【００１９】
情報処理装置１によれば、処理部１ａにより、記憶部２に記憶されたデータがブロック４の単位で記憶部３にコピーされる。時間計測部１ｂにより、処理部１ａのブロック４のコピーに要した時間が計測される。制御部１ｃにより、計測した時間がタイムアウト時間よりも短い所定の閾値Ｔｕに達している場合、ブロックサイズ４ａが現在のサイズよりも小さいブロックサイズ４ｂに変更される。
【００２０】
これにより、データのコピーを効率的に行える。具体的には以下の通りである。
処理部１ａのブロックコピーに要した時間は、記憶部２，３の負荷に影響されると考えられる。例えば、両ノードの何れか、または一方で高負荷状態となっている場合、処理部１ａのコピー時間は長くなる。コピー時間が長過ぎると、他の処理の実行待ち時間に影響を与える他、タイムアウトが発生してブロックコピーを中断する場合も考えられる。この場合、同一内容のブロックにつき中断したブロックコピーの再試行が必要となり、対象データのコピーおよび他の処理が一層遅延するおそれがある。そこで、コピー時間が長い場合にはブロックサイズを小さくする。これにより、ブロックにつき１回のコピー時間が短縮され、他の処理の実行待ち時間に与える影響を軽減できる。また、タイムアウトの発生を未然に抑止できる。
【００２１】
一方、例えば、両ノードで低負荷状態となっている場合、処理部１ａのコピー時間は短くなる。しかし、コピー時間が短過ぎるとブロックコピーの頻度が高まる。すると、情報処理装置１において、コピー処理および他の処理を含めた複数の処理プロセスの実行切替に伴うオーバーヘッドが増大してコピー処理が却って遅延するおそれが生ずる。そこで、例えばコピー時間が短い場合には、ブロックサイズを大きくする。これにより、上記オーバーヘッドを軽減して情報処理装置１によるコピー処理の遅延を軽減することもできる。
【００２２】
更に、ブロックサイズの変更要否を決定するために、記憶部２，３の負荷を取得する必要がない。このため、ストレージシステムなどに対して当該機能を容易に導入できる。
以下の実施の形態では、仮想化ストレージシステムに情報処理装置１を適用する場合を例に採り、更に詳細に説明する。
【００２３】
［第２の実施の形態］
図２は、第２の実施の形態に係る仮想化ストレージシステムを示す図である。この仮想化ストレージシステムは、複数のユーザに対して高信頼のＲＡＩＤシステムを提供する。各ユーザは、業務サーバ１１，１２，１３で扱うデータを、当該仮想化ストレージシステムが提供するＲＡＩＤシステムで管理できる。
【００２４】
この仮想化ストレージシステムは、仮想化スイッチ装置１００およびストレージ装置２００，３００，４００を有する。仮想化スイッチ装置１００には、ストレージ装置２００，３００，４００および業務サーバ１１，１２，１３が接続されており、ストレージエリアネットワーク（ＳＡＮ：Storage Area Network）を構成する。仮想化ストレージシステムは、サービス事業者が運用する。当該サービス事業者のＲＡＩＤシステムを提供するサービス形態は、例えばＩａａＳ（Infrastructure as a Service）と呼ばれることもある。
【００２５】
仮想化スイッチ装置１００は、ストレージ装置２００，３００，４００に接続されたストレージ装置２００，３００，４００を組み合わせて論理的な記憶領域を構築する。当該記憶領域を以下では論理ボリュームと称する。仮想化スイッチ装置１００は、業務サーバ１１，１２，１３に論理ボリュームの利用環境を提供する。仮想化スイッチ装置１００は、論理ボリュームにおけるデータの作成、コピー、削除、オープン、更新などを制御する。
【００２６】
ストレージ装置２００，３００，４００は、内蔵する複数のＨＤＤ（Hard Disk Drive）、あるいはＳＳＤ（Solid State Drive）などの記憶デバイスを用いたＲＡＩＤシステムである。ストレージ装置２００，３００，４００は、複数のＲＡＩＤグループを含む。ＲＡＩＤグループは、複数の記憶デバイスの集合である。ストレージ装置２００，３００，４００は、業務サーバ１１，１２，１３が扱うデータを、例えば顧客ごとに記憶する。
【００２７】
各ＲＡＩＤグループには、複数の論理ユニット番号（ＬＵＮ：Logical Unit Number）が定義される。ＬＵＮは、業務サーバ１１，１２，１３のＯＳ（Operating System）から１台の記憶デバイスとして認識される論理的な記憶領域（論理領域）を示す識別情報である。なお、以下では、当該論理的な記憶領域自体を示すものとしてＬＵＮの用語を用いることもある。
【００２８】
業務サーバ１１，１２，１３は、業務アプリケーションを実行する。業務サーバ１１，１２，１３は、業務アプリケーションで処理するデータを仮想化スイッチ装置１００が提供する論理領域に格納する。
【００２９】
図３は、第２の実施の形態の仮想化スイッチ装置のハードウェア構成を示す図である。仮想化スイッチ装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＡＭ（Random Access Memory）１０２、ＮＶＲＡＭ（Non Volatile RAM）１０３、入力インタフェース１０４、通信部１０５、ポート１０６，１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，・・・およびポート１０７，１０７ａ，１０７ｂ，１０７ｃ，１０７ｄ，・・・を有する。
【００３０】
ＣＰＵ１０１は、仮想化スイッチ装置１００全体の動作を制御する。
ＲＡＭ１０２は、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションソフトウェア（以下、アプリケーションという）のプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、ＣＰＵ１０１による処理に必要な各種データを記憶する。
【００３１】
ＮＶＲＡＭ１０３は、ＯＳのプログラム、アプリケーションのプログラムを記憶する。また、ＮＶＲＡＭ１０３は、ＣＰＵ１０１による処理に必要な各種データを記憶する。
入力インタフェース１０４は、外部装置からの入力を受け付ける。入力インタフェースは、例えば、シリアル通信用ポートである。システム管理者は、入力インタフェース１０４に作業用のコンピュータを接続し、Ｔｅｌｎｅｔなどのプロトコルを用いて仮想化スイッチ装置１００に対する各種設定を行える。
【００３２】
通信部１０５は、データ通信処理を行う。通信部１０５は、ポート１０６，１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，・・・およびポート１０７，１０７ａ，１０７ｂ，１０７ｃ，１０７ｄ，・・・と接続される。
【００３３】
ポート１０６，１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，・・・は、ストレージ装置２００，３００，４００と接続する通信用ポートである。ポート１０６，１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，・・・は、例えばファイバチャネル（Fibre Channel）用のインタフェースである。この場合、仮想化スイッチ装置１００とストレージ装置２００，３００，４００とは、ポート１０６，１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，・・・を介してファイバケーブルや同軸ケーブルなどにより接続できる。
【００３４】
図３の例では、ストレージ装置２００はポート１０６，１０６ａ，１０６ｂ，１０６ｃと接続されている。ストレージ装置３００，４００もストレージ装置２００と同様、ポート１０６ｄ，・・・のうちの複数のポートと接続されている。このように通信路を冗長化すれば、通信の信頼性の向上を図れる。
【００３５】
ポート１０７，１０７ａ，１０７ｂ，１０７ｃ，１０７ｄ，・・・は、業務サーバ１１，１２，１３と接続する通信用ポートである。ポート１０７，１０７ａ，１０７ｂ，１０７ｃ，１０７ｄ，・・・は、例えばファイバチャネル用のインタフェースである。
【００３６】
図３の例では、業務サーバ１１はポート１０４に接続されている。業務サーバ１２はポート１０４ａに接続されている。業務サーバ１３はポート１０４ｂに接続されている。ただし、業務サーバ１１，１２，１３とポート１０７，１０７ａ，１０７ｂ，１０７ｃ，１０７ｄ，・・・との間の接続も、業務サーバ２００，３００，４００とポート１０６，１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，・・・との間の接続と同様に通信経路を冗長化してもよい。
【００３７】
図４は、第２の実施の形態のストレージ装置のハードウェア構成を示す図である。ストレージ装置２００は、記憶部２１０、コントローラ２２１，２２２，２２３，・・・および通信部２３１，２３２，２３３，・・・を有する。
【００３８】
記憶部２１０は、複数の記憶デバイスから構成されている。記憶部２１０は、ＲＡＩＤグループ２１１，２１２，２１３，・・・を有する。ＲＡＩＤグループ２１１，２１２，２１３，・・・は、複数の記憶デバイスの一部を組み合わせて構築された記憶域である。ＲＡＩＤグループ２１１，２１２，２１３，・・・のＲＡＩＤレベルは、それぞれ同一でもよいし異なっていてもよい。例えば、全てのＲＡＩＤグループをＲＡＩＤ５としてもよい。あるいは、ＲＡＩＤグループ２１１をＲＡＩＤ１とし、ＲＡＩＤグループ２１２をＲＡＩＤ５とするなど、ＲＡＩＤグループごとにＲＡＩＤレベルが異なってもよい。
【００３９】
ＲＡＩＤグループ２１１は、論理ユニット２１１ａ，２１１ｂ，・・・を含む。論理ユニット２１１ａ，２１１ｂ，・・・は、ＲＡＩＤグループ２１１の記憶領域を分割して定義した記憶領域である。なお、ＲＡＩＤグループ２１２，２１３，・・・についても、ＲＡＩＤグループ２１１と同様に１または複数の論理ユニットが定義されている。
【００４０】
コントローラ２２１，２２２，２２３，・・・は、記憶部２１０に含まれる記憶デバイスを組み合わせてＲＡＩＤグループ２１１，２１２，２１３，・・・を構築する。更に、コントローラ２２１，２２２，２２３，・・・は、ＲＡＩＤグループ２１１，２１２，２１３，・・・に含まれる各論理ユニットに対するデータアクセスを制御する。
【００４１】
通信部２３１，２３２，２３３，・・・は、仮想化スイッチ装置１００とファイバケーブルなどで接続され、データ通信する。このように通信部２３１，２３２，２３３，・・・を冗長化させることで、仮想化スイッチ装置１００とストレージ装置２００との間の通信路の信頼性向上や通信速度の高速化を図れる。
【００４２】
なお、ストレージ装置３００，４００もストレージ装置２００と同様のハードウェア構成により実現できる。
図５は、第２の実施の形態の仮想化スイッチ装置の機能構成を示す図である。仮想化スイッチ装置１００は、制御情報記憶部１１０、コピー処理部１２０、処理時間計測部１３０およびブロックサイズ制御部１４０を有する。これらの機能は、ＣＰＵ１０１が所定のプログラムを実行することで実現される。ただし、これらの機能の一部または全部を専用のハードウェアで実現してもよい。
【００４３】
制御情報記憶部１１０は、ブロックサイズの制御に必要な制御情報を記憶する。
コピー処理部１２０は、ストレージ装置間、あるいは単一のストレージ装置内でデータのコピーを行う。例えば、ストレージ装置２００に設けられた論理ユニットとストレージ装置３００に設けられた論理ユニットとの間でデータのコピーを行う（図５ではこの場合を図示している）。また、例えばストレージ装置２００に設けられた論理ユニット間でデータのコピーを行う。以下、ストレージ装置２００からストレージ装置３００に対してデータのコピーを行う場合を想定して説明する。ただし、他のストレージ装置間あるいは同一のストレージ装置内でコピーを行う場合も同様である。
【００４４】
ここで、コピー処理部１２０によるコピー処理の具体的な手順は次の通りである。（１）コピー処理部１２０は、ストレージ装置２００からコピー対象のデータを所定サイズのブロック単位に取得する。（２）コピー処理部１２０は、取得したブロックをストレージ装置３００に出力し、記録させる。このように、コピー処理部１２０は、コピーすべきデータの未コピー部分をブロック単位に取得し、ストレージ装置２００からストレージ装置３００へ順次コピーする。
【００４５】
処理時間計測部１３０は、コピー処理部１２０によるコピー時間を計測する。処理時間計測部１３０が計測する時間は、コピー処理部１２０が上記（１）の処理を開始してから、（２）の処理を完了するまでに要した時間である。処理時間計測部１３０は、計測した時間をブロックサイズ制御部１４０に出力する。
【００４６】
ブロックサイズ制御部１４０は、処理時間計測部１３０が計測した時間に基づいて、ブロックのブロックサイズを変更する。ブロックサイズ制御部１４０は、変更後のブロックサイズでコピーを行うようコピー処理部１２０に指示する。
【００４７】
図６は、第２の実施の形態の制御値テーブルのデータ構造例を示す図である。制御値テーブル１１１は、制御情報記憶部１１０に予め格納される。制御値テーブル１１１には、タイムアウト値、コピー時間上限、コピー時間下限、最大ブロックサイズを示す項目が設けられている。
【００４８】
タイムアウト値の項目には、１ブロック当たりのコピー時間のタイムアウト値Ｔ（秒）が設定される。コピー時間上限の項目には、コピー時間として許容される上限値Ｔｕ（秒）が設定される。コピー時間下限の項目には、コピー時間として許容される下限値Ｔｌ（秒）が設定される。最大ブロックサイズの項目には、コピーするブロックサイズの最大値Ｘ（ＭＢ：Mega Bytes）が設定される。
【００４９】
制御値テーブル１１１には、例えばタイムアウト値Ｔが“１０”（秒）、コピー時間上限値Ｔｕが“７”（秒）、コピー時間下限値Ｔｌが“３”（秒）、最大ブロックサイズＸが“１６”（ＭＢ）という情報が設定される。
【００５０】
タイムアウト値Ｔの“１０”（秒）は、コピー処理部１２０が現在のブロックのコピー処理について、開始から“１０”（秒）が経過した場合には、当該コピー処理を中断することを示している。コピー時間上限値Ｔｕの“７”（秒）およびコピー時間下限値Ｔｌの“３”（秒）は、コピー時間の範囲として許容されている時間がコピー処理の開始から“３”〜“７”（秒）であることを示している。コピー処理の開始からタイムアウト値Ｔまでの期間のうち、当該Ｔｌ〜Ｔｕまでの期間はブロックサイズの変更対象とはならない期間である。最大ブロックサイズＸの“１６”（ＭＢ）は、１ブロックの最大サイズを示しており、当該最大サイズよりもブロックサイズを大きくすることは禁止される。過負荷となっていない通常の運用時には、コピー処理の速度向上を図るため最大ブロックサイズＸでブロックコピーを行う。
【００５１】
図７は、第２の実施の形態のコピー処理の各期間を示す図である。時間Ｔ０は、コピー処理の開始時間を示す。開始時間Ｔ０〜コピー時間下限値Ｔｌおよびコピー時間上限値Ｔｕ〜タイムアウト値Ｔの期間はブロックサイズ変更対象期間である。コピー処理部１２０は、処理時間計測部１３０が計測した時間がブロックサイズ変更対象期間に含まれる場合、ブロックサイズを変更する。具体的には、コピー処理部１２０は処理時間計測部１３０が計測した時間がＴｕ〜Ｔの期間内にある場合、ブロックサイズを小さくする。また、コピー処理部１２０は処理時間計測部１３０が計測した時間がＴ０〜Ｔｌの期間内にある場合、ブロックサイズを大きくする。
【００５２】
ここで、以下の説明では、処理時間計測部１３０が計測した時間がＴｕ〜Ｔの期間にあることをプレタイムアウトと称する。
次に、以上のような構成を備える仮想化スイッチ装置１００の処理手順を説明する。
【００５３】
図８は、第２の実施の形態のコピー処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ１１］コピー処理部１２０は、対象データにつきブロック単位でのコピー（ブロックコピー）を開始する。
【００５４】
［ステップＳ１２］処理時間計測部１３０は、コピー処理部１２０がブロックコピーを開始すると、その処理時間の計測を開始する。
［ステップＳ１３］コピー処理部１２０は、１つのブロックのコピーを完了する。
【００５５】
［ステップＳ１４］処理時間計測部１３０は、コピー処理部１２０がブロックのコピーを完了すると、開始から完了までの時間をブロックサイズ制御部１４０に出力する。
［ステップＳ１５］ブロックサイズ制御部１４０は、処理時間計測部１３０が計測した時間に基づいて、ブロックサイズを変更する。ブロックサイズ制御部１４０は、ブロックサイズを変更する場合、変更後のブロックサイズをコピー処理部１２０に指示する。
【００５６】
［ステップＳ１６］コピー処理部１２０は、ブロックサイズ制御部１４０からブロックサイズの変更を指示されたか否かを判定する。変更を指示された場合、処理をステップＳ１７に進める。変更を指示されていない場合、処理をステップＳ１８に進める。
【００５７】
［ステップＳ１７］コピー処理部１２０は、指示されたブロックサイズに変更する。
［ステップＳ１８］コピー処理部１２０は、次に送信すべきブロックが存在するか否かを判定する。次に送信すべきブロックが存在する場合、処理をステップＳ１１に進める。次に送信すべきブロックが存在しない場合、処理を完了する。コピー処理部１２０は、コピー処理の対象データのうち未送信部分が存在する場合には、次に送信すべきブロックが存在すると判定する。一方、当該対象データにつき未送信部分が存在しない場合には、次に送信すべきブロックが存在しないと判定する。
【００５８】
このようにして、仮想化スイッチ装置１００は、ブロックサイズ制御部１４０により指示されたブロックサイズで順次ブロック単位でのコピーを行う。
次に、上記ステップＳ１５のブロックサイズ制御処理の手順を詳細に説明する。
【００５９】
図９は、第２の実施の形態のブロックサイズ制御処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ２１］ブロックサイズ制御部１４０は、処理時間計測部１３０が計測したコピー時間ｔを取得する。
【００６０】
［ステップＳ２２］ブロックサイズ制御部１４０は、ｔ＞Ｔｕであるか否かを判定する。ここで、Ｔｕは、制御情報記憶部１１０に記憶された制御値テーブル１１１に定義されるコピー時間上限値である。ｔ＞Ｔｕの場合、処理をステップＳ２３に進める。ｔ≦Ｔｕの場合、処理をステップＳ２５に進める。
【００６１】
［ステップＳ２３］ブロックサイズ制御部１４０は、現ブロックサイズＮを取得する。ブロックサイズ制御部１４０は、例えば前回ブロックサイズを決定した際に、そのブロックサイズをＲＡＭ１０３に保持する。すると、ＲＡＭ１０３を参照してＮを取得できる。また、ブロックサイズ制御部１４０は、コピー処理部１２０からＮを取得してもよい。
【００６２】
［ステップＳ２４］ブロックサイズ制御部１４０は、次ブロックサイズＮ１を算出する。具体的には、コピーブロック係数Ｋ１をＫ１＝Ｔｕ／ｔとする。Ｋ１により、Ｎ１をＮ１＝Ｋ１×Ｎとして算出する。そして、処理をステップＳ２９に進める。
【００６３】
［ステップＳ２５］ブロックサイズ制御部１４０は、ｔ＜Ｔｌであるか否かを判定する。ここで、Ｔｌは、制御値テーブル１１１に定義されるコピー時間下限値である。ｔ＜Ｔｌの場合、処理をステップＳ２６に進める。ｔ≧Ｔｌの場合、処理を完了する。
【００６４】
［ステップＳ２６］ブロックサイズ制御部１４０は、現ブロックサイズＮを取得する。具体的な方法は、ステップＳ２３に示した通りである。
［ステップＳ２７］ブロックサイズ制御部１４０は、次ブロックサイズＮ１を算出する。具体的には、コピーブロック係数Ｋ２をＫ２＝Ｔｌ／ｔとする。そして、Ｎ１をＮ１＝Ｋ２×Ｎとして算出する。
【００６５】
［ステップＳ２８］ブロックサイズ制御部１４０は、Ｎ１≦Ｘであるか否かを判定する。ここで、Ｘは、制御値テーブル１１１に定義される最大ブロックサイズである。Ｎ１≦Ｘである場合、処理をステップＳ２９に進める。Ｎ１＞Ｘである場合、処理を完了する。
【００６６】
［ステップＳ２９］ブロックサイズ制御部１４０は、ブロックサイズをＮ１に変更するようコピー処理部１２０に通知する。そして、処理を完了する。
このようにして、ブロックサイズ制御部１４０は、ブロックサイズをＮからＮ１へ変更する。具体的には、計測時間ｔがコピー時間上限値Ｔｕよりも大きい場合には、現ブロックサイズＮにＫ１（Ｋ１＜１）を乗じてＮ１＜Ｎとなるようブロックサイズを決定する。
【００６７】
一方、計測時間ｔがコピー時間下限値Ｔｌよりも小さい場合には、現ブロックサイズＮにＫ２（Ｋ２＞１）を乗じてＮ２＞Ｎとなるようブロックサイズを決定する。ただし、ブロックサイズの上限を最大ブロックサイズＸとする。最大ブロックサイズＸよりも大きくすると、プレタイムアウトまたはタイムアウトの発生する可能性が高まるからである。なお、このようにしてブロックサイズが大きくなるよう制御する理由は、ブロックサイズが小さいと、一度にコピーできるデータ量が低下して、コピー性能が劣化するためである。すなわち、コピー処理の完了までの所要時間が長くなり過ぎないようにするためである。
【００６８】
コピー処理部１２０は、ブロックサイズ制御部１４０に通知されたブロックサイズで次のブロックのコピー処理を行う。
次に、仮想化スイッチ装置１００のコピー処理の具体例を、比較例と比較しつつ説明する。
【００６９】
図１０は、第２の実施の形態の通常時のコピー処理の流れの具体例を示す図である。図１０では、仮想化スイッチ装置１００が制御するコピー処理Ｐ１、他の処理Ｐ２，Ｐ３の通常時の実行順序が示されている。ここで、通常時とは標準的な負荷状態の時を示す。
【００７０】
コピー処理Ｐ１は、ストレージ装置２００からストレージ装置３００へデータのコピーを行う処理である。具体的には、仮想化スイッチ装置１００がストレージ装置２００からブロックを取得し、ストレージ装置３００への書き込みが完了するまでを示す。
【００７１】
処理Ｐ２，Ｐ３は、例えばホストＩ／Ｏである。処理Ｐ２，Ｐ３は、他のデータのコピー処理でもよい。
各処理Ｐ１，Ｐ２，Ｐ３は、所定の順序で間欠的に実行されるよう仮想化スイッチ装置１００でスケジューリングされている。以下、各処理の実行手順を説明する。これらの処理は、仮想化スイッチ装置１００が備えるＣＰＵ１０１により行われる。
【００７２】
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。ブロック単位のコピー処理である。通常負荷時のブロックサイズは最大ブロックサイズＸである。仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｕ以下の時間で完了する（ステップＳＴ１）。
【００７３】
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ２）。
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ３）。
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。次の単位ブロックのコピー処理である。
【００７４】
仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｕ以下の時間で完了する（ステップＳＴ４）。
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ５）。
【００７５】
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ６）。
このように、通常負荷時には、ブロックのコピー処理がＴｕ以下で完了するため、最大ブロックサイズＸで各ブロックのコピーが順次行われる。
【００７６】
図１１は、第２の実施の形態のコピー処理の流れの第１の具体例を示す図である。コピー処理Ｐ１、他の処理Ｐ２，Ｐ３については図１０と同様である。
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。ブロック単位のコピー処理である。現ブロックサイズはＮで表される。仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｕよりも長い時間で完了する。すると、仮想化スイッチ装置１００は、次回のブロックサイズをＮよりも小さいサイズに変更する。具体的には、当該ステップに要した時間ｔを用いてＫ１＝Ｔｕ／ｔ（Ｋ１＜１）を算出する。そして、Ｎ１＝Ｋ１×Ｎを求め、ＮにＮ１を代入する（ステップＳＴ１１）。
【００７７】
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ１２）。
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ１３）。
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。現ブロックサイズはＮであり、ステップＳＴ１１よりも小さいブロックサイズである。仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｕよりも長い時間で完了する。すると、仮想化スイッチ装置１００は、次回のブロックサイズをＮよりも小さいサイズに変更する。具体的な計算方法は、ステップＳＴ１１と同様である。これにより、Ｎがより小さい値に更新される（ステップＳＴ１４）。
【００７８】
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ１５）。
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ１６）。
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。現ブロックサイズはＮであり、ステップＳＴ１４よりも小さいブロックサイズである。仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｕよりも短く、かつ、Ｔｌよりも長い時間で完了する（ステップＳＴ１７）。
【００７９】
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ１８）。
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ１９）。
このように、仮想化スイッチ装置１００はブロックコピーに要する時間がＴｕ以下となるようブロックサイズを変更する。
【００８０】
図１２は、第２の実施の形態のコピー処理の流れの第２の具体例を示す図である。コピー処理Ｐ１、他の処理Ｐ２，Ｐ３については図１０と同様である。
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。ブロック単位のコピー処理である。現ブロックサイズはＮで表される。仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｌよりも短い時間で完了する。すると、仮想化スイッチ装置１００は、次回のブロックサイズをＮよりも大きいサイズに変更する。具体的には、当該ステップに要した時間ｔを用いてＫ２＝Ｔｌ／ｔ（Ｋ２＞１）を算出する。そして、Ｎ２＝Ｋ２×Ｎを求め、ＮにＮ２を代入する（ステップＳＴ２１）。
【００８１】
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ２２）。
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ２３）。
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。現ブロックサイズはＮであり、ステップＳＴ２１よりも大きいブロックサイズである。仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｌよりも短い時間で完了する。すると、仮想化スイッチ装置１００は、次回のブロックサイズをＮよりも大きいサイズに変更する。具体的な計算方法は、ステップＳＴ２１と同様である。これにより、Ｎがより大きい値に更新される（ステップＳＴ２４）。
【００８２】
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ２５）。
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ２６）。
仮想化スイッチ装置１００は、コピー処理Ｐ１を実行する。現ブロックサイズはＮであり、ステップＳＴ２４よりも大きいブロックサイズである。仮想化スイッチ装置１００は当該ブロックのコピー処理をＴｌよりも長く、かつ、Ｔｕよりも短い時間で完了する（ステップＳＴ２７）。
【００８３】
仮想化スイッチ装置１００は処理Ｐ２を実行し、完了する（ステップＳＴ２８）。
仮想化スイッチ装置１００は処理Ｐ３を実行し、完了する（ステップＳＴ２９）。
このように、仮想化スイッチ装置１００はブロックコピーに要する時間がＴｌ以上となるようブロックサイズを変更する。
【００８４】
次に、上記第２の実施の形態のコピー処理に対する比較例を説明する。
図１３は、高負荷時のコピー処理の流れの比較例を示す図である。図１３に示す各図は、本実施の形態のコピー処理方法を採らない場合を例示している。コピー処理Ｐ１、他の処理Ｐ２，Ｐ３については図１０と同様である。なお、図１３に示す処理主体を仮想化スイッチ装置１００と区別するため、単に“仮想化スイッチ装置”と表記する。
【００８５】
図１３（Ａ）は、ブロックのコピー処理にタイムアウトを設けない場合である。図１３（Ｂ）は、ブロックのコピー処理にタイムアウトを設ける場合である。図１３（Ｃ）は、ブロックのコピー処理にタイムアウトを設け、かつ、タイムアウトが発生すると事後的にブロックのサイズを小さくする方法である。
【００８６】
図１３（Ａ）では、タイムアウトを設けていない。よって、仮想化スイッチ装置はコピー処理Ｐ１において１ブロックのコピーが完了しない限り、処理Ｐ２，Ｐ３を実行することはない（ステップＳＴ１０１）。このため、コピー処理Ｐ１、処理Ｐ２，Ｐ３の処理遅延が増大する。
【００８７】
図１３（Ｂ）では、タイムアウトを設けている。仮想化スイッチ装置は、コピー処理Ｐ１を実行する。１ブロックのコピー処理である。仮想化スイッチ装置は当該ブロックのコピー処理を開始後、タイムアウト値Ｔ以内に完了しない。すると、タイムアウトが発生してコピー処理Ｐ１を中断する（ステップＳＴ２０１）。そして、仮想化スイッチ装置は、処理Ｐ２を実行し、完了する（ステップＳＴ２０２）。仮想化スイッチ装置は処理Ｐ３を実行し、完了する（ステップＳＴ２０３）。仮想化スイッチ装置は、コピー処理Ｐ１を実行する。ステップＳＴ２０１のブロックコピーの再試行である。仮想化スイッチ装置は、当該ブロックのコピー処理を開始後、タイムアウト値Ｔ以内に完了しない。すると、タイムアウトが発生してコピー処理Ｐ１を中断する（ステップＳＴ２０４）。そして、仮想化スイッチ装置は処理Ｐ２を実行し、完了する（ステップＳＴ２０５）。
【００８８】
このように、処理Ｐ２，Ｐ３は実行されるものの、コピー処理Ｐ１の対象となっているストレージ装置２００，３００で高負荷状態が継続している限り、再度タイムアウトが発生する。
【００８９】
図１３（Ｃ）では、タイムアウト発生後、ブロックサイズを現在のブロックサイズよりも小さくする。仮想化スイッチ装置は、コピー処理Ｐ１を実行する。１ブロックのコピー処理である。すると、タイムアウトが発生してコピー処理Ｐ１を中断する（ステップＳＴ３０１）。そして、仮想化スイッチ装置は処理Ｐ２を実行し、完了する（ステップＳＴ３０２）。仮想化スイッチ装置は、処理Ｐ３を実行し、完了する（ステップＳＴ３０３）。仮想化スイッチ装置は、コピー処理Ｐ１を実行する。ステップＳＴ３０１のブロックのコピーの再試行である。このとき、ステップＳＴ３０１でタイムアウトが発生したことから、ブロックサイズを前回よりも小さくして、ブロックのコピー処理を行う（ステップＳＴ３０４）。そして、仮想化スイッチ装置は、処理Ｐ２を実行し、完了する（ステップＳＴ３０５）。仮想化スイッチ装置は、処理Ｐ３を実行し、完了する（ステップＳＴ３０６）。
【００９０】
このように、事後的にブロックサイズを小さくしたとしても、ステップＳＴ３０１のコピーを再試行しなければならず、最大でタイムアウト値分のコピー処理時間が無駄となる。また、再試行時にコピー処理Ｐ１の対象となっているストレージ装置２００，３００で高負荷状態が継続していると、再度タイムアウトが発生する可能性が高い。
【００９１】
このように、上記比較例（Ａ）〜（Ｃ）の何れもコピー処理に無駄が発生し、効率が悪い。
これに対し、仮想化スイッチ装置１００は、ブロックコピーに要した時間に応じて、予めブロックサイズを変更する。このため、タイムアウトの発生を未然に抑止でき、ブロックコピーのリトライ頻度を低減できるので、コピー処理を効率的に行える。また、タイムアウトの発生頻度を低減できるので、ストレージ装置に与える負荷を軽減できる。
【００９２】
［第３の実施の形態］
以下、第３の実施の形態を図面を参照して詳細に説明する。前述の第２の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
【００９３】
第３の実施の形態では、あるストレージ装置内のある論理ユニットでプレタイムアウトが発生した場合に、他の論理ユニットに関するコピー処理に対してもブロックサイズの変更を行う。これにより、複数のコピー処理につき効率化を図れる。以下では、このような機能を実現する仮想化スイッチ装置について具体的に説明する。
【００９４】
なお、第３の実施の形態に係る仮想化ストレージシステムの全体構成は、図２で説明した第２の実施の形態に係る仮想化ストレージシステムの全体構成と同様であるため、説明を省略する。ただし、仮想化スイッチ装置１００に代えて、仮想化スイッチ装置１００ａを備える点が異なる。
【００９５】
また、第３の実施の形態の仮想化スイッチ装置１００ａのハードウェア構成は、図５で説明した第２の実施の形態の仮想化スイッチ装置１００のハードウェア構成と同様であるため、説明を省略する。
【００９６】
図１４は、第３の実施の形態の仮想化スイッチ装置の機能構成を示す図である。仮想化スイッチ装置１００ａは、制御情報記憶部１１０ａ、コピー処理部１２０、処理時間計測部１３０、ブロックサイズ制御部１４０および変更対象検出部１５０を有する。これらの機能は、ＣＰＵ１０１が所定のプログラムを実行することで実現される。ただし、これらの機能の一部または全部を専用のハードウェアで実現してもよい。
【００９７】
ここで、コピー処理部１２０、処理時間計測部１３０およびブロックサイズ制御部１４０の機能は、図５の仮想化スイッチ装置１００で同一の符号を付して説明した各構成と同様であるため説明を省略する。
【００９８】
制御情報記憶部１１０ａは、第２の実施の形態で説明した制御情報記憶部１１０に対応する。制御情報記憶部１１０ａは、ストレージ装置２００，３００，４００の論理ユニット構成を定義した論理ユニット管理情報を更に記憶する。
【００９９】
変更対象検出部１５０は、処理時間計測部１３０が計測したあるコピー処理のブロックコピーの所要時間を取得して、制御情報記憶部１１０ａに記憶された論理ユニット管理情報を参照し、ブロックサイズを変更すべきコピー処理を検出する。変更対象検出部１５０は、検出したコピー処理を示すコピー処理識別情報をブロックサイズ制御部１４０に出力する。ブロックサイズ制御部１４０は、変更対象検出部１５０から取得したコピー処理識別情報に対応するコピー処理につきブロックサイズを変更するようコピー処理部１２０に指示する。
【０１００】
図１５は、第３の実施の形態の論理ユニット管理テーブルのデータ構造例を示す図である。論理ユニット管理テーブル１１１ａは、制御情報記憶部１１０ａに予め格納される。論理ユニット管理テーブル１１１ａには、項番、ＬＵＮ、ポート、ＲＡＩＤグループ、コントローラおよび筐体を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの論理ユニットに関する情報を示す。
【０１０１】
項番の項目には、レコードを識別するための識別番号が設定される。ＬＵＮの項目には、ＬＵＮが設定される。ポートの項目には、ＬＵＮに対応するポートの識別情報が設定される。なお、ポートは、通信部２３１，２３２，２３３，・・・の通信ポートに対応する。ＲＡＩＤグループの項目には、ＬＵＮに対応するＲＡＩＤグループの識別情報が設定される。コントローラの項目には、ＬＵＮに対応するコントローラの識別情報が設定される。なお、コントローラとは、コントローラ２２１，２２２，２２３，・・・に対応する。筐体の項目には、ＬＵＮに対応する筐体の識別情報が設定される。ここで、以下の例において筐体の識別情報“００１”はストレージ装置２００を示すものとする。また、筐体の識別情報“００２”はストレージ装置３００を示すものとする。また、筐体の識別情報“００３”はストレージ装置４００を示すものとする。
【０１０２】
論理ユニット管理テーブル１１１ａには、例えば、項番が“１”、ＬＵＮが“ＬＵＮ１−１”、ポートが“００１−Ｐ００”、ＲＡＩＤグループが“００１−Ｒ００”、コントローラが“００１−Ｃ００”、筐体が“００１”という情報が設定される。
【０１０３】
この項番“１”のレコードは、ストレージ装置２００に設けられたＬＵＮ“ＬＵＮ１−１”につき、ポート“００１−Ｐ００”、コントローラ“００１−Ｃ００”が割り当てられていることを示している。また、当該ＬＵＮがＲＡＩＤグループ“００１−Ｒ００”に属することを示している。
【０１０４】
図１６は、第３の実施の形態のコピー処理管理テーブルのデータ構造例を示す図である。コピー処理管理テーブル１１２は、変更対象検出部１５０により生成され、制御情報記憶部１１０ａに格納される。コピー処理管理テーブル１１２には、コピー処理識別番号、コピー条件、プレタイムアウトの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのコピー処理に関する情報を示す。
【０１０５】
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。ここで、当該識別情報には、コピー元、または、コピー先、の何れかを示す識別子が付与される。具体的には、コピー元につき“Ｓ（Sourceの頭文字）”が設定される。また、コピー先につき“Ｄ（Destinationの頭文字）”が設定される。コピー条件の項目には、当該コピー処理に関係する環境を示す情報が設定される。コピー条件の例として、ＬＵＮ、ポート番号、ＲＡＩＤグループ、コントローラ、筐体が示される。プレタイムアウトの項目には、当該コピー処理においてプレタイムアウトが発生しているか否かを示す情報が設定される。
【０１０６】
コピー処理管理テーブル１１２には、例えば、コピー処理識別番号が、“Ｓ０００１”、ＬＵＮが“ＬＵＮ１−１”、ポートが“００１−Ｐ００”、ＲＡＩＤグループが“００１−Ｒ００”、コントローラが“００１−Ｃ００”、筐体が“００１”、プレタイムアウトが“発生”という情報が設定される。
【０１０７】
すなわち、当該コピー処理識別番号“Ｓ０００１”で示されるコピー処理において、プレタイムアウトが“発生”していることが示されている。また、当該コピー処理は、ストレージ装置２００のＬＵＮ“ＬＵＮ１−１”がコピー元であることを示している。更に、当該コピー処理に関係する環境として、ポート“００１−Ｐ００”、ＲＡＩＤグループ“００１−Ｒ００”、コントローラ“００１−Ｃ００”が用いられていることを示している。
【０１０８】
ここで、“Ｓ０００１”の数値部分と“Ｄ０００１”の数値部分とは共通している。これは、“Ｓ０００１”の処理でコピー元から取得したブロックを“Ｄ０００１”の処理でコピー先へ書き込むことを示す。すなわち、“Ｓ０００１”と“Ｄ０００１”とがセットで１つのブロックコピーを構成する。また、プレタイムアウトの発生の有無は、“Ｓ０００１”および“Ｄ０００１”の両処理を合わせて検出する。よって、プレタイムアウトが発生している場合には、双方につきプレタイムアウトの項目に“発生”が設定される。一方、プレタイムアウトが発生していない場合には、双方につきプレタイムアウトの項目に“未発生”が設定される。他のコピー処理識別番号についても同様の関係である。
【０１０９】
なお、以下の説明では、説明を簡略化するため、コピー処理識別番号を挙げてコピー処理“Ｓ０００１”などと称し、コピー処理を特定した説明を行うこともある。
図１７は、第３の実施の形態の優先度テーブルのデータ構造例を示す図である。優先度テーブル１１３は、制御情報記憶部１１０ａに予め格納される。優先度テーブル１１３は、変更対象検出部１５０によって参照され、変更対象のコピー処理を検出する処理に用いられる。優先度テーブル１１３は、変更対象検出部１５０により更新される。
【０１１０】
優先度テーブル１１３には、コピー条件、ポイント、優先度の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのコピー条件に関する情報を示す。
【０１１１】
コピー条件の項目には、コピー処理管理テーブル１１２に設定された各コピー条件の種別が設定される。ポイントの項目には、当該コピー条件に対して取得されているポイントが設定される。優先度の項目には、ポイントに応じた各コピー条件の優先度が設定される。ここで、優先度の値は、その値が小さいほど対応するコピー条件の優先度が高いことを示すものとする。“優先度が高い”とは、ブロックサイズの変更対象とするコピー処理を検出する際に、当該コピー条件を優先的に選択することを意味する。
【０１１２】
優先度テーブル１１３には、例えば、コピー条件が“ＬＵＮ”、ポイントが“５”、優先度が“１”という情報が設定される。ポイント“５”は、優先度テーブル１１３では最高の値である。よって、優先度は最高であり、最高優先度“１”が設定されている。
【０１１３】
次に、以上のような構成を備える仮想化スイッチ装置１００ａの処理手順を説明する。なお、コピー処理部１２０およびブロックサイズ制御部１４０によるコピー処理およびブロックサイズ制御処理は、図８，９で説明した第２の実施の形態のコピー処理およびブロックサイズ制御処理と同様であるため、説明を省略する。
【０１１４】
図１８は、第３の実施の形態のプレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ３１］変更対象検出部１５０は、コピー処理部１２０が実行するコピー処理につき処理時間計測部１３０が計測した処理時間計測結果を取得して、当該コピー処理につきプレタイムアウトが発生した旨を検知する。すると、当該コピー処理につきプレタイムアウトが“発生”したことをコピー処理管理テーブル１１２に登録する。コピー条件の各条件値は、コピー処理部１２０がコピー処理の対象としているＬＵＮの情報に基づいて、制御情報記憶部１１０ａに記憶された論理ユニット管理テーブル１１１ａを参照することで取得できる。なお、この場合、プレタイムアウトとして検知した当該コピー処理については、第２の実施の形態で説明したようにブロックサイズ制御部１４０によりブロックサイズの変更が行われる。
【０１１５】
［ステップＳ３２］変更対象検出部１５０は、所定時間だけ待機する。この間、変更対象検出部１５０は、コピー処理部１２０が実行した各コピー処理につきコピー処理管理テーブル１１２への登録を継続する。
【０１１６】
［ステップＳ３３］変更対象検出部１５０は、コピー処理管理テーブル１１２を参照して、ステップＳ３１でプレタイムアウトとなったコピー処理以外の他のコピー処理が発生したかを判定する。他のコピー処理が発生した場合、処理をステップＳ３４に進める。他のコピー処理が発生していない場合、処理を完了する。
【０１１７】
［ステップＳ３４］変更対象検出部１５０は、コピー処理管理テーブル１１２を参照して、他のコピー処理においてプレタイムアウトが発生しているか否かを判定する。発生している場合、処理をステップＳ３５に進める。発生していない場合、処理をステップＳ３６に進める。
【０１１８】
［ステップＳ３５］変更対象検出部１５０は、複数プレタイムアウト発生時におけるブロックサイズ変更の予測展開処理を行う。“複数プレタイムアウト発生時”とは、プレタイムアウトを検出したコピー処理以外の他の処理でもプレタイムアウトを検出した場合を示す。すなわち、この場合の予測展開処理とは、プレタイムアウトが発生した他のコピー処理を選択し、そのコピー処理についてもブロックサイズの変更を行うことを意味する。当該処理の詳細は図１９で後述する。そして、処理をステップＳ３７に進める。
【０１１９】
［ステップＳ３６］変更対象検出部１５０は、単独プレタイムアウト発生時におけるブロックサイズ変更の予測展開処理を行う。“単独プレタイムアウト発生時”とは、プレタイムアウトを検出したコピー処理以外の他の処理でプレタイムアウトを検出していない場合を示す。すなわち、この場合の予測展開処理とは、プレタイムアウトの発生していない他のコピー処理を選択し、そのコピー処理についてもブロックサイズの変更を行うことを意味する。当該処理の詳細は図２２で後述する。そして、処理をステップＳ３７に進める。
【０１２０】
［ステップＳ３７］変更対象検出部１５０は、制御情報記憶部１１０に記憶された優先度テーブル１１３を更新する。
このようにして、変更対象検出部１５０は、あるコピー処理でプレタイムアウトを検出した場合に、他のコピー処理に対してもブロックサイズの変更を行う。
【０１２１】
なお、上記ステップＳ３２において、変更対象検出部１５０が所定時間待機している間、ブロックサイズ制御部１４０によるブロックサイズの変更も中止状態としてもよい。
次に、上記ステップＳ３５で示した複数プレタイムアウト発生時の予測展開処理を説明する。
【０１２２】
図１９は、第３の実施の形態の複数プレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ４１］変更対象検出部１５０は、制御情報記憶部１１０ａに記憶されたコピー処理管理テーブル１１２を参照して、プレタイムアウトが発生したコピー処理を抽出する。その抽出結果が、図２０で後述するコピー処理抽出テーブルである。
【０１２３】
［ステップＳ４２］変更対象検出部１５０は、コピー条件ごとに共通コピー処理数を算出する。共通コピー処理数とは、あるコピー条件についてみたときに、そのコピー条件値と同一のコピー条件値を含むコピー処理の総数である。例えば、同一のコピー条件値を含む他のコピー処理が存在しない場合、共通コピー処理数は“１”である。また、同一のコピー条件値を含む他のコピー処理が１つ存在する場合、共通コピー処理数は“２”である。更に、ある１つのコピー条件について、複数の共通コピー処理数が算出される場合には、複数の共通コピー処理数のうちの最大値を共通コピー処理数として採用する。
【０１２４】
［ステップＳ４３］変更対象検出部１５０は、各コピー条件について求めた共通コピー処理数（“１”を除く）につき、最小のコピー処理数（以下、最小共通コピー処理数と称する）を特定する。変更対象検出部１５０は、最小共通コピー処理数が複数存在するか否かを判定する。複数存在する場合、処理をステップＳ４４に進める。１つである場合、処理をステップＳ４５に進める。
【０１２５】
［ステップＳ４４］変更対象検出部１５０は、制御情報記憶部１１０ａに記憶された優先度テーブル１１３を参照して、各最小共通コピー処理数に対応するコピー条件のうち、優先度が最高のものを特定する。そして、特定したコピー条件につき当該最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップＳ４６に進める。
【０１２６】
［ステップＳ４５］変更対象検出部１５０は、最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップＳ４６に進める。
［ステップＳ４６］変更対象検出部１５０は、ステップＳ４４またはステップＳ４５において特定したコピー処理について、ブロックサイズを変更するようブロックサイズ制御部１４０に指示する。ブロックサイズ制御部１４０は、変更対象検出部１５０から指示されたコピー処理について、図１８のステップＳ３１で決定したブロックサイズと同じブロックサイズでのコピーを行うようコピー処理部１２０に指示する。コピー処理部１２０は、指示されたコピー処理につきブロックサイズの変更を行う。
【０１２７】
このようにして、変更対象検出部１５０は、あるコピー処理についてプレタイムアウトを検出すると、その後にプレタイムアウトが発生した他のコピー処理に対してもブロックサイズの変更を行う。
【０１２８】
これにより、複数のコピー処理を並行して行っている場合に、各コピー処理でのタイムアウトの発生を、より効率的に抑制できる。その結果、各ストレージ装置の負荷を低減して、各ストレージ装置に対するコピー処理をより効率的に実行できる。
【０１２９】
なお、プレタイムアウトが発生した他のコピー処理全てについてブロックサイズの変更を行わないのは、ブロックサイズの縮小による影響をできるだけ局所化するためである。すなわち、ブロックサイズを縮小することによるコピー性能の劣化を、できるだけ少数のコピー処理に留めることで、コピー処理全体に対する影響を低減するためである。
【０１３０】
また、複数プレタイムアウト予測展開処理においても、後述の単独プレタイムアウト予測展開処理と同様に、最初にプレタイムアウトを検知したコピー処理と同じコピー条件値を含むコピー処理のみを対象として、ブロックサイズの変更対象を検出してもよい。
【０１３１】
以下、複数プレタイムアウト予測展開処理を、コピー処理抽出テーブルの具体例を示しながら説明する。
図２０は、第３の実施の形態のコピー処理抽出テーブルの第１の具体例を示す図である。コピー処理抽出テーブル１１２ａは、変更対象検出部１５０により生成され、制御情報記憶部１１０ａに格納される。変更対象検出部１５０は、制御情報記憶部１１０ａに記憶されたコピー処理管理テーブル１１２のプレタイムアウトの項目を参照して、プレタイムアウト“発生”が設定されているレコードを抽出することで、コピー処理抽出テーブル１１２ａを生成できる。コピー処理抽出テーブル１１２ａに設けられた各項目は、コピー処理管理テーブル１１２に設けられた各項目と同一であるため説明を省略する。
【０１３２】
変更対象検出部１５０は、コピー処理抽出テーブル１１２ａに基づいて共通コピー処理数を算出する。コピー処理抽出テーブル１１２ａは、変更対象検出部１５０が図１９で説明したステップＳ４２，Ｓ４３，Ｓ４５の処理を行う場合の例である。なお、最初にプレタイムアウトを検知したコピー処理は、コピー処理識別番号“Ｓ０００１”および“Ｄ０００１”に対応するコピー処理であるとする。
【０１３３】
まず、変更対象検出部１５０は、コピー処理抽出テーブル１１２ａを参照して、コピー条件ごとに共通コピー処理数を算出する（ステップＳ４２）。具体的には、次のような計算を行う。
【０１３４】
（１）コピー条件“ＬＵＮ”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“１”である。
（２）コピー条件“ポート”では、コピー条件値“００１−Ｐ００”を共通に含むコピー処理が３つある。また、コピー条件値“００２−Ｐ００”を共通に含むコピー処理が２つある。そのうちの大きい方を共通コピー処理数とするので、共通コピー処理数は“３”である。
【０１３５】
（３）コピー条件“ＲＡＩＤグループ”では、コピー条件値“００１−Ｒ００”を共通に含むコピー処理が２つある。よって、共通コピー処理数は“２”である。
（４）コピー条件“コントローラ”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“１”である。
【０１３６】
（５）コピー条件“筐体”では、コピー条件値“００１”を共通に含むコピー処理が４つある。また、コピー条件値“００２”を共通に含むコピー処理が４つある。よって、共通コピー処理数は“４”である。
【０１３７】
上記計算の結果に基づいて、変更対象検出部１５０は、１以外の共通コピー処理数で最小値、すなわち最小共通コピー処理数を特定し、それが複数あるかを判定する（ステップＳ４３）。本例の場合、最小共通コピー処理数は“２”であり、この値は複数存在していない。
【０１３８】
よって、変更対象検出部１５０は、最小共通コピー処理数“２”に対応するコピー条件“ＲＡＩＤグループ”について、共通コピー処理数を算出するために参照したコピー条件値“００１−Ｒ００”を含むコピー処理“Ｓ０００１”および“Ｓ０００２”を特定する（ステップＳ４４）。変更対象検出部１５０は、コピー処理“Ｓ０００２”（および“Ｄ０００２”のセット）に対してもブロックサイズの変更を行うようブロックサイズ制御部１４０に指示する（ステップＳ４６）。
【０１３９】
ここで、コピー処理“Ｓ０００１”に対するブロックサイズの変更の指示を行わないのは次の理由による。すなわち、“Ｓ０００１”に対応するコピー処理は、最初にプレタイムアウトが検出されたものであり、ブロックサイズ制御部１４０によるブロックサイズの変更が既に行われているためである。
【０１４０】
図２１は、第３の実施の形態のコピー処理抽出テーブルの第２の具体例を示す図である。コピー処理抽出テーブル１１２ｂは、変更対象検出部１５０により生成され、制御情報記憶部１１０ａに格納される。生成方法は、コピー処理抽出テーブル１１２ａと同様である。コピー処理抽出テーブル１１２ｂに設けられた各項目は、コピー処理管理テーブル１１２に設けられた各項目と同一であるため説明を省略する。
【０１４１】
変更対象検出部１５０は、コピー処理抽出テーブル１１２ｂに基づいて共通コピー処理数を算出する。コピー処理抽出テーブル１１２ｂは、変更対象検出部１５０が図１９で説明したステップＳ４２，Ｓ４３，Ｓ４４の処理を行う場合の例である。なお、最初にプレタイムアウトを検知したコピー処理は、コピー処理識別番号“Ｓ００１１”および“Ｄ００１１”に対応するコピー処理であるとする。
【０１４２】
まず、変更対象検出部１５０は、コピー処理抽出テーブル１１２ｂを参照して、コピー条件ごとに共通コピー処理数を算出する（ステップＳ４２）。具体的には、次のような計算を行う。
【０１４３】
（１）コピー条件“ＬＵＮ”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“１”である。
（２）コピー条件“ポート”では、コピー条件値“００２−Ｐ００”を共通に含むコピー処理が２つある。よって、共通コピー処理数は“２”である。
【０１４４】
（３）コピー条件“ＲＡＩＤグループ”では、コピー条件値“００３−Ｒ００”を共通に含むコピー処理が２つある。また、コピー条件値“００３−Ｒ０１”を共通に含むコピー処理が２つある。よって、共通コピー処理数は“２”である。
【０１４５】
（４）コピー条件“コントローラ”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“１”である。
（５）コピー条件“筐体”では、コピー条件値“００２”を共通に含むコピー処理が４つある。また、コピー条件値“００３”を共通に含むコピー処理が４つある。よって、共通コピー処理数は“４”である。
【０１４６】
上記計算の結果に基づいて、変更対象検出部１５０は、１以外の共通コピー処理数で最小値、すなわち最小共通コピー処理数を特定し、それが複数あるかを判定する（ステップＳ４３）。本例の場合、最小共通コピー処理数は“２”であり、この値は複数存在する。
【０１４７】
よって、変更対象検出部１５０は、制御情報記憶部１１０ａに記憶された優先度テーブル１１３を参照し、最小共通コピー処理数“２”に対応するコピー条件“ポート”および“ＲＡＩＤグループ”のうち優先度の高いものを特定する。例えば、優先度テーブル１１３では、コピー条件“ポート”および“ＲＡＩＤグループ”では、“ポート”の優先度の方が高い。このため、変更対象検出部１５０は、コピー条件“ポート”を優先度の高いものとして特定する。
【０１４８】
更に、変更対象検出部１５０は、当該コピー条件“ポート”につき、共通コピー処理数を算出するために参照したコピー条件値“００２−Ｐ００”を含むコピー処理“Ｓ００１１”および“Ｓ００１２”を特定する。変更対象検出部１５０は、コピー処理“Ｓ００１２”（および“Ｄ００１２”のセット）に対してもブロックサイズの変更を行うようブロックサイズ制御部１４０に指示する（ステップＳ４６）。
【０１４９】
ここで、コピー処理“Ｓ００１１”に対するブロックサイズの変更の指示を行わないのは次の理由による。すなわち、“Ｓ００１１”に対応するコピー処理は、最初にプレタイムアウトが検出されたものであり、ブロックサイズ制御部１４０によるブロックサイズの変更が既に行われているためである。
【０１５０】
次に、図１８のステップＳ３６で示した単独プレタイムアウト発生時の予測展開処理を説明する。
図２２は、第３の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
【０１５１】
［ステップＳ５１］変更対象検出部１５０は、制御情報記憶部１１０ａに記憶されたコピー処理管理テーブル１１２を参照して、全てのコピー処理を抽出する。その抽出結果が、図２３で後述するコピー処理抽出テーブルである。
【０１５２】
［ステップＳ５２］変更対象検出部１５０は、コピー処理抽出テーブルを参照して各コピー処理のコピー条件をチェックする。
［ステップＳ５３］変更対象検出部１５０は、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含む他のコピー処理が存在するか否かを判定する。存在する場合、処理をステップＳ５４に進める。存在しない場合、処理を完了する。
【０１５３】
［ステップＳ５４］変更対象検出部１５０は、コピー条件ごとに共通コピー処理数を算出する。共通コピー処理数の算出方法は、図１９のステップＳ４２で説明した方法と同様である。ただし、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含むコピー処理との間のみで共通コピー処理数を算出する点が異なる。
【０１５４】
［ステップＳ５５］変更対象検出部１５０は、各コピー条件について求めた共通コピー処理数（“１”を除く）につき、最小共通コピー処理数を特定する。変更対象検出部１５０は、最小共通コピー処理数が複数存在するか否かを判定する。複数存在する場合、処理をステップＳ５６に進める。１つである場合、処理をステップＳ５７に進める。
【０１５５】
［ステップＳ５６］変更対象検出部１５０は、制御情報記憶部１１０ａに記憶された優先度テーブル１１３を参照して、各最小共通コピー処理数に対応するコピー条件のうち、優先度が最高のものを特定する。そして、特定したコピー条件につき当該最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップＳ５８に進める。
【０１５６】
［ステップＳ５７］変更対象検出部１５０は、最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップＳ５８に進める。
［ステップＳ５８］変更対象検出部１５０は、ステップＳ５６またはステップＳ５７において特定したコピー処理について、ブロックサイズを変更するようブロックサイズ制御部１４０に指示する。ブロックサイズ制御部１４０は、変更対象検出部１５０から指示されたコピー処理について、図１８のステップＳ３１で決定したブロックサイズと同じブロックサイズでのコピーを行うようコピー処理部１２０に指示する。コピー処理部１２０は、指示されたコピー処理につきブロックサイズの変更を行う。
【０１５７】
このようにして、変更対象検出部１５０は、あるコピー処理についてプレタイムアウトを検出すると、その後に当該コピー処理と同一のコピー条件値を含むコピー処理に対してもブロックサイズの変更を行う。
【０１５８】
これにより、複数のコピー処理を並行して行っている場合、他のコピー処理でプレタイムアウトが発生していなくても、プレタイムアウトの発生のおそれのあるコピー処理につき、その発生を未然に抑制できる。なぜなら、プレタイムアウトの発生しているコピー処理の環境（コピー条件値）では、当該環境を構成する各資源（ディスク、コントローラおよびポートなど）の負荷が高くなっていると考えられる。このため、同一の環境で実行されているコピー処理は、その後にプレタイムアウトの発生する可能性が高いと考えられるからである。
【０１５９】
その結果、各ストレージ装置の負荷を低減して、各ストレージ装置に対するコピー処理をより効率的に実行できる。
以下、単独プレタイムアウト予測展開処理を、コピー処理抽出テーブルの具体例を示しながら説明する。
【０１６０】
図２３は、第３の実施の形態のコピー処理抽出テーブルの具体例を示す図である。コピー処理抽出テーブル１１２ｃは、変更対象検出部１５０により生成され、制御情報記憶部１１０ａに格納される。なお、コピー処理抽出テーブル１１２ｃは、コピー処理管理テーブル１１２と同じ内容であるため、両テーブルを別個に設けなくてもよい。コピー処理抽出テーブル１１２ｃに設けられた各項目は、コピー処理管理テーブル１１２に設けられた各項目と同一であるため説明を省略する。
【０１６１】
変更対象検出部１５０は、コピー処理抽出テーブル１１２ｃに基づいて共通コピー処理数を算出する。コピー処理抽出テーブル１１２ｃは、変更対象検出部１５０が図２２で説明したステップＳ５３，Ｓ５４，Ｓ５５，Ｓ５６の処理を行う場合の例である。
【０１６２】
更に、プレタイムアウトを検知したコピー処理は、コピー処理識別番号“Ｓ０００１”および“Ｄ０００１”に対応するコピー処理であるとする。ここで、コピー処理抽出テーブル１１２ｃでは、データ取得（“Ｓ”で始まるコピー処理識別番号）と取得したデータの書き込み（“Ｄ”で始まるコピー処理識別番号）との対応関係が分かり易いよう、セットとなる処理のレコードが連続するように記載している。
【０１６３】
まず、変更対象検出部１５０は、コピー処理抽出テーブル１１２ｃを参照して、プレタイムアウトを検知したコピー処理と同一のコピー条件値を含むコピー処理が存在するかを判定する（ステップＳ５３）。具体的には、以下の通りである。
【０１６４】
“Ｓ０００１”で示されるコピー処理のコピー条件“ＲＡＩＤグループ”を参照すると、そのコピー条件値は“００１−Ｒ００”である。このコピー条件値と同じコピー条件値を含むコピー処理として“Ｄ０００２”が存在している。また、“Ｓ０００１”で示されるコピー処理のコピー条件“筐体”を参照すると、そのコピー条件値は“００１”である。このコピー条件値と同じコピー条件値を含むコピー処理として“Ｄ０００２”が存在している。更に、“Ｄ０００１”で示されるコピー処理のコピー条件“筐体”を参照すると、そのコピー条件値は“００２”である。このコピー条件値と同じコピー条件値を含むコピー処理として“Ｓ０００３”が存在している。
【０１６５】
よって、変更対象検出部１５０は、プレタイムアウトを検知したコピー処理と同一のコピー条件値を含むコピー処理が存在すると判定する。
そして、変更対象検出部１５０は、コピー処理抽出テーブル１１２ｃを参照して、コピー条件ごとに共通コピー処理数を算出する（ステップＳ５４）。具体的には、次のような計算を行う。
【０１６６】
（１）コピー条件“ＬＵＮ”では、コピー処理“Ｓ０００１”、“Ｄ０００１”に対応するコピー条件値はそれぞれ“ＬＵＮ１−１”、“ＬＵＮ２−１”である。これに対し、コピー条件値“ＬＵＮ１−１”または“ＬＵＮ２−１”を含むものが他に存在しない。よって、共通コピー処理数は“１”である。
【０１６７】
（２）コピー条件“ポート”では、コピー処理“Ｓ０００１”、“Ｄ０００１”に対応するコピー条件値はそれぞれ“００１−Ｐ００”、“００２−Ｐ００”である。これに対し、コピー条件値“００１−Ｐ００”または“００２−Ｐ００”を含むものが他に存在しない。よって、共通コピー処理数は“１”である。
【０１６８】
（３）コピー条件“ＲＡＩＤグループ”では、コピー処理“Ｓ０００１”、“Ｄ０００１”に対応するコピー条件値はそれぞれ“００１−Ｒ００”、“００２−Ｒ００”である。この場合、コピー条件値“００１−Ｒ００”を含むコピー処理として“Ｄ０００２”が存在する。よって、共通コピー処理数は“２”である。
【０１６９】
（４）コピー条件“コントローラ”では、コピー処理“Ｓ０００１”、“Ｄ０００１”に対応するコピー条件値はそれぞれ“００１−Ｃ００”、“００２−Ｃ００”である。これに対し、コピー条件値“００１−Ｃ００”または“００２−Ｃ００”を含むものが他に存在しない。よって、共通コピー処理数は“１”である。
【０１７０】
（５）コピー条件“筐体”では、コピー処理“Ｓ０００１”、“Ｄ０００１”に対応するコピー条件値はそれぞれ“００１”、“００２”である。この場合、コピー条件値“００１”を含むコピー処理として“Ｄ０００２”が存在する。また、コピー条件値“００２”を含むコピー処理として、“Ｓ０００３”が存在する。すなわち、“００１”、“００２”の何れについても共通コピー処理数は“２”となる。よって、当該コピー条件の共通コピー処理数は“２”である。
【０１７１】
上記計算の結果に基づいて、変更対象検出部１５０は、１以外の共通コピー処理数で最小値、すなわち最小共通コピー処理数を特定し、それが複数あるかを判定する（ステップＳ５５）。本例の場合、最小共通コピー処理数は“２”であり、この値はコピー条件“ＲＡＩＤグループ”および“筐体”に対して求められており、複数存在する。
【０１７２】
よって、変更対象検出部１５０は、制御情報記憶部１１０ａに記憶された優先度テーブル１１３を参照し、最小共通コピー処理数“２”に対応するコピー条件“ＲＡＩＤグループ”および“筐体”のうち優先度の高いものを特定する。例えば、優先度テーブル１１３では、コピー条件“ＲＡＩＤグループ”および“筐体”では、“ＲＡＩＤグループ”の優先度の方が高い。このため、変更対象検出部１５０は、コピー条件“ＲＡＩＤグループ”を優先度の高いものとして特定する。
【０１７３】
更に、変更対象検出部１５０は、当該コピー条件“ＲＡＩＤグループ”につき、共通コピー処理数を算出するために参照したコピー条件値“００１−Ｒ００”を含むコピー処理“Ｄ０００２”を特定する。変更対象検出部１５０は、コピー処理“Ｓ０００２”（および“Ｄ０００２”のセット）に対してもブロックサイズの変更を行うようブロックサイズ制御部１４０に指示する（ステップＳ５８）。
【０１７４】
ここで、コピー処理“Ｓ０００１”に対するブロックサイズの変更の指示を行わないのは、次の理由による。すなわち、“Ｓ０００１”に対応するコピー処理は、最初にプレタイムアウトが検出されたものであり、ブロックサイズ制御部１４０によるブロックサイズの変更が既に行われているためである。
【０１７５】
次に、図１８のステップＳ３７で示した優先度更新処理を説明する。
図２４は、第３の実施の形態の優先度更新処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
【０１７６】
［ステップＳ６１］変更対象検出部１５０は、制御情報記憶部１１０ａに記憶された優先度テーブル１１３を取得する。変更対象検出部１５０は、選択対象となったコピー条件に対してポイント加算する。選択対象となったコピー条件とは、優先度テーブル１１３を用いて優先度の比較を行ったコピー条件を示す。変更対象検出部１５０は、当該コピー条件につき、１ポイントを加算する。これにより、優先度テーブル１１３のポイントの項目が更新される。
【０１７７】
［ステップＳ６２］変更対象検出部１５０は、優先度テーブル１１３に設定されたポイントの値に基づいて、優先度を決定する。具体的には、変更対象検出部１５０は、高ポイントのコピー条件ほど、優先度が高くなるように、優先度テーブル１１３の優先度の項目を更新する。
【０１７８】
［ステップＳ６３］変更対象検出部１５０は、ポイントが同値のコピー条件が存在するか否かを判定する。存在する場合、処理をステップＳ６４に進める。存在しない場合、処理を完了する。
【０１７９】
［ステップＳ６４］変更対象検出部１５０は、新たにポイントを加算した方のコピー条件の優先度を上げる。
このように、変更対象検出部１５０はプレタイムアウトの予測展開処理を行う都度、優先度テーブル１１３を更新する。
【０１８０】
図２５は、第３の実施の形態の優先度更新処理の具体例を示す図である。優先度テーブル１１３は、更新前を示している。優先度テーブル１１３ａは、更新中を示している。優先度テーブル１１３ｂは、更新後を示している。
【０１８１】
優先度テーブル１１３の状態において、変更対象検出部１５０はプレタイムアウトの予測展開処理を行う際に、コピー条件“ポート”、“ＲＡＩＤグループ”および“筐体”について優先度の比較を行ったとする。すると、変更対象検出部１５０は、当該各コピー条件のポイントに１を加算する。これにより、“ポート”のポイントは“５”、“ＲＡＩＤグループ”のポイントは“４”、“筐体”のポイントは“２”となる（ステップＳ６１）。
【０１８２】
変更対象検出部１５０は、このようにして求めた各コピー条件のポイントに基づいて、優先度を決定する（ステップＳ６２）。具体的には、ポイントが最高の“５”であるコピー条件が“ＬＵＮ”と“ポート”の２つ存在する。よって、変更対象検出部１５０は、“ＬＵＮ”と“ポート”の２つのコピー条件に最高優先度の“１”が設定されている。
【０１８３】
また、ポイントが２番目に大きい“４”であるコピー条件“ＲＡＩＤグループ”が存在する。よって、変更対象検出部１５０は、“ＲＡＩＤグループ”を優先度“３”とする。優先度“２”としないのは、優先度“１”のコピー条件が２つ存在しているためである。
【０１８４】
更に、ポイントが最小の“２”であるコピー条件が“コントローラ”と“筐体”の２つ存在する。よって、変更対象検出部１５０は、“コントローラ”と“筐体”の２つのコピー条件を最低優先度の“４”とする。その結果が優先度テーブル１１３ａである。
【０１８５】
優先度テーブル１１３ａでは、ポイントが同値のコピー条件が存在している（ステップＳ６３）。よって、変更対象検出部１５０は、ポイントが同値の各コピー条件につき新たにポイントを加算した方のコピー条件の優先度を上げる（ステップＳ６４）。具体的には、今回コピー条件“ポート”に対してポイントを加算することで、“ＬＵＮ”と“ポート”とのポイントが同値となっている。よって、変更対象検出部１５０は、相対的に“ポート”の優先度が上がるように“ＬＵＮ”の優先度を“１”から“２”に変更する。同様に、今回コピー条件“筐体”に対してポイントを加算することで、“コントローラ”と“筐体”とのポイントが同値となっている。よって、変更対象検出部１５０は、相対的に“筐体”の優先度が上がるように“コントローラ”の優先度を“４”から“５”に変更する。その結果が優先度テーブル１１３ｂである。
【０１８６】
このように優先度テーブル１１３を更新していくことで、プレタイムアウトの発生し易いと考えられるコピー条件を含むコピー処理を、容易に特定できるようになる。
［第４の実施の形態］
以下、第４の実施の形態を図面を参照して詳細に説明する。前述の第２，第３の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
【０１８７】
第４の実施の形態では、第３の実施の形態に加えて、次の機能を提供する。すなわち、単独プレタイムアウト発生時の予測展開処理において、ブロックサイズの変更対象を特定するために、プレタイムアウトが発生したコピー処理とブロックコピーの所要時間の変動傾向の近いコピー処理を検出する。これにより、プレタイムアウトまたはタイムアウトの発生する可能性の高いコピー処理を精度良く検出できる。以下では、このような機能を実現する仮想化スイッチ装置について具体的に説明する。
【０１８８】
なお、第４の実施の形態に係る仮想化ストレージシステムの全体構成は、図２で説明した第２の実施の形態に係る仮想化ストレージシステムの全体構成と同様であるため、説明を省略する。ただし、仮想化スイッチ装置１００に代えて、仮想化スイッチ装置１００ｂを備える点が異なる。
【０１８９】
また、第４の実施の形態の仮想化スイッチ装置１００ｂのハードウェア構成は、図５で説明した第２の実施の形態の仮想化スイッチ装置１００のハードウェア構成と同様であるため、説明を省略する。
【０１９０】
図２６は、第４の実施の形態の仮想化スイッチ装置の機能構成を示す図である。仮想化スイッチ装置１００ｂは、制御情報記憶部１１０ｂ、コピー処理部１２０、処理時間計測部１３０、ブロックサイズ制御部１４０および変更対象検出部１５０ａを有する。これらの機能は、ＣＰＵ１０１が所定のプログラムを実行することで実現される。ただし、これらの機能の一部または全部を専用のハードウェアで実現してもよい。
【０１９１】
ここで、コピー処理部１２０、処理時間計測部１３０およびブロックサイズ制御部１４０の機能は、図５の仮想化スイッチ装置１００で同一の符号を付して説明した各構成と同様であるため説明を省略する。
【０１９２】
制御情報記憶部１１０ｂは、第２，第３の実施の形態で説明した制御情報記憶部１１０，１１０ａに対応する。更に、各コピー処理の履歴情報を記憶する。
変更対象検出部１５０ａは、第３の実施の形態で説明した変更対象検出部１５０に対応する。すなわち、変更対象検出部１５０ａは、処理時間計測部１３０が計測したあるコピー処理のブロックコピーの所要時間を取得して、制御情報記憶部１１０ｂに記憶された論理ユニット管理情報を参照し、ブロックサイズを変更すべきコピー処理を検出する。変更対象検出部１５０ａは、検出したコピー処理を示すコピー処理識別情報をブロックサイズ制御部１４０に出力する。ブロックサイズ制御部１４０は、変更対象検出部１５０ａから取得したコピー処理識別情報に対応するコピー処理につきブロックサイズを変更するようコピー処理部１２０に指示する。
【０１９３】
ここで、変更対象検出部１５０ａは、変更対象検出部１５０と次の点で異なっている。すなわち、変更対象検出部１５０ａは、プレタイムアウトとなったコピー処理を検知し、その後、単独プレタイムアウト予測展開処理を実行する際に、当該コピー処理とブロックコピーの所要時間の変動傾向が似ているコピー処理を検出する。
【０１９４】
図２７は、第４の実施の形態の所要時間履歴テーブルのデータ構造例を示す図である。所要時間履歴テーブル１１４は、変更対象検出部１５０ａにより生成され、制御情報記憶部１１０ｂに格納される。所要時間履歴テーブル１１４には、コピー処理識別番号、各回の所要時間履歴の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのコピー処理に関する履歴情報を示す。
【０１９５】
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。なお、所要時間履歴テーブル１１４にはブロックのコピー元からの取得およびコピー先への書き込みを示す“Ｓ”や“Ｄ”の頭文字は付加されていない。なぜなら、あるブロックコピーの所要時間は、コピー元からブロックの取得を開始して、コピー先へブロックの書き込みを完了するまでであり、これら各処理を区別して扱う必要がないためである。各回の所要時間履歴の項目には、過去の所定回数分のブロックコピーに要した時間（秒）が設定される。“０”回目が直近の履歴である。また、“−９”回目が本テーブル中、最も過去の履歴である。
【０１９６】
所要時間履歴テーブル１１４には、例えば、コピー処理識別番号が“０００１”、回数“−９”〜“０”で示される各回において所要時間が“１．１”秒、“２．１”秒、“３．１”秒、“３．２”秒、“２．３”秒、“１．２”秒、“２．３”秒、“３．２”秒、“４．３”秒、“７．２”秒という情報が設定されている。
【０１９７】
図２８は、第４の実施の形態の比率テーブルのデータ構造例を示す図である。比率テーブル１１５は、変更対象検出部１５０ａにより生成され、制御情報記憶部１１０ｂに格納される。比率テーブル１１５には、コピー処理識別番号、前回との比率の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのコピー処理に関する情報を示す。
【０１９８】
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。前回との比率の項目には、各回の所要時間履歴につき、前回分の所要時間との比が設定される。
【０１９９】
比率テーブル１１５には、例えば、コピー処理識別番号が“０００１”、回数“−９”〜“０”で示される各回において前回との比率が“−”、“１．９１”、“１．４８”、“１．０３”、“０．７２”、“０．５２”、“１．９２”、“１．３９”、“１．３４”、“１．６７”という情報が設定されている。ここで、“−９”回における“−（設定なし）”は、それ以前の履歴が破棄されていることから、前回分の所要時間との比を取得できないことを示している。また、“−８”回における“１．９１”は、所要時間履歴テーブル１１４で示した“−８”回における所要時間“２．１”秒と、“−９”回における所要時間“１．１”秒と、の比（２．１÷１．１）である。他の回における比も同様にして求めたものである。
【０２００】
図２９は、第４の実施の形態の差分テーブルのデータ構造例を示す図である。差分テーブル１１６は、変更対象検出部１５０ａにより生成され、制御情報記憶部１１０ｂに格納される。差分テーブル１１６には、コピー処理識別番号、比較対象との差分の絶対値、合計の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのコピー処理に関する情報を示す。
【０２０１】
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。比較対象との差分の絶対値の項目には、比率テーブル１１５に設定された各回の比率につきプレタイムアウトが発生したコピー処理との当該比率の差分の絶対値が設定される。合計の項目には、レコードに含まれる差分の絶対値の合計が設定される。
【０２０２】
差分テーブル１１６には、例えば、コピー処理識別番号が“０００１”、回数“−９”〜“０”で示される各回において比較対象との差分の絶対値が“−”、“０”、“０”、・・・、“０”、合計が“０”という情報が設定される。これは、プレタイムアウトが発生したコピー処理が“０００１”で示されるコピー処理であることを示している。具体的には、比率テーブル１１５のコピー処理識別番号“０００１”のレコードについて、“−９”回における“−（設定なし）”、“−８”回における“１．９１−１．９１＝０”、“−７”回における“１．４８−１．４８＝０”、・・・の演算結果が設定されたものである。更に、合計の“０”は、差分テーブル１１６のコピー処理識別番号“０００１”のレコードの差分の絶対値を合計したものである。
【０２０３】
差分テーブル１１６には、例えば、コピー処理識別番号が“０００２”、回数“−９”〜“０”で示される各回において比較対象との差分の絶対値が“−”、“０．９１”、“０．５２”、“０．０３”、“０．７８”、“０．４８”、“１．２５”、“０．３９”、“０．２１”、“１．００”、合計が“４．７３”という情報が設定される。
【０２０４】
これは、比率テーブル１１５のコピー処理識別番号“０００１”のレコードと、コピー処理識別番号“０００２”のレコードと、に含まれる各回の比率の差分の絶対値である。具体的には、比率テーブル１１５の“−９”回における“−（設定なし）”を反映したもの、“−８”回における“１．９１−１．００＝０．９１”、“−７”回における“１．４８−２．００＝−０．５２”の絶対値“０．５２”、“−６”回における“１．０３−１．００＝０．０３”、・・・の演算結果が設定されたものである。更に、合計の“４．７３”は、差分テーブル１１６のコピー処理識別番号“０００２”のレコードの差分の絶対値を合計したものである。
【０２０５】
次に、以上のような構成を備える仮想化スイッチ装置１００ｂの処理手順を説明する。ここで、コピー処理部１２０およびブロックサイズ制御部１４０によるコピー処理およびブロックサイズ制御処理は、図８，９で説明した第２の実施の形態のコピー処理およびブロックサイズ制御処理と同様であるため、説明を省略する。更に、変更対象検出部１５０ａによるプレタイムアウト予測展開処理および複数プレタイムアウト予測展開処理は、図１８，１９で説明した第３の実施の形態のプレタイムアウト予測展開処理および複数プレタイムアウト予測展開処理と同様であるため、説明を省略する。
【０２０６】
また、変更対象検出部１５０ａは、各コピー処理のブロックコピーの所要時間につき、所定回数分の履歴を取得し、制御情報記憶部１１０ｂに記憶された所要時間履歴テーブル１１４に記録しているものとする。
【０２０７】
図３０は、第４の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ７１］変更対象検出部１５０ａは、制御情報記憶部１１０ｂに記憶されたコピー処理管理テーブル１１２を参照して、コピー処理抽出テーブル１１２ｃを生成する。
【０２０８】
［ステップＳ７２］変更対象検出部１５０ａは、コピー処理抽出テーブル１１２ｃを参照して各コピー処理のコピー条件をチェックする。
［ステップＳ７３］変更対象検出部１５０ａは、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含む他のコピー処理が存在するか否かを判定する。存在する場合、処理をステップＳ７４に進める。存在しない場合、処理を完了する。
【０２０９】
［ステップＳ７４］変更対象検出部１５０ａは、コピー条件ごとに共通コピー処理数を算出する。共通コピー処理数の算出方法は、図１９のステップＳ４２で説明した方法と同様である。ただし、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含むコピー処理との間のみで共通コピー処理数を算出する点が異なる。
【０２１０】
［ステップＳ７５］変更対象検出部１５０ａは、各コピー条件について求めた共通コピー処理数（“１”を除く）につき、最小共通コピー処理数を特定する。変更対象検出部１５０ａは、最小共通コピー処理数が複数存在するか否かを判定する。複数存在する場合、処理をステップＳ７６に進める。１つである場合、処理をステップＳ７９に進める。
【０２１１】
［ステップＳ７６］変更対象検出部１５０ａは、制御情報記憶部１１０ｂに記憶された所要時間履歴テーブル１１４を参照して、比率テーブル１１５を生成し、制御情報記憶部１１０ｂに格納する。
【０２１２】
［ステップＳ７７］変更対象検出部１５０ａは、比率テーブル１１５を参照して、差分テーブル１１６を生成し、制御情報記憶部１１０ｂに格納する。
［ステップＳ７８］変更対象検出部１５０ａは、比率テーブル１１５を参照して、合計の項目に設定された値の最も小さいコピー処理（“０”を除く）を特定する。そして、処理をステップＳ８０に進める。
【０２１３】
［ステップＳ７９］変更対象検出部１５０ａは、最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップＳ８０に進める。
［ステップＳ８０］変更対象検出部１５０ａは、ステップＳ７８またはステップＳ７９において特定したコピー処理について、ブロックサイズを変更するようブロックサイズ制御部１４０に指示する。ブロックサイズ制御部１４０は、変更対象検出部１５０ａから指示されたコピー処理について、図１８のステップＳ３１で決定したブロックサイズと同じブロックサイズでのコピーを行うようコピー処理部１２０に指示する。コピー処理部１２０は、指示されたコピー処理につきブロックサイズの変更を行う。
【０２１４】
このようにして、変更対象検出部１５０ａは、あるコピー処理についてプレタイムアウトを検出すると、当該コピー処理とブロックコピーの所要時間の変動傾向が最も似通った傾向を示すコピー処理をブロックサイズの変更対象として特定する。
【０２１５】
以下、上記単独プレタイムアウト発生時の予測展開処理の具体例を、各コピー処理におけるブロックコピーの所要時間の時間変動の例を示しながら説明する。
図３１は、コピー処理の所要時間の遷移の具体例を示す図である。グラフ５００は、所要時間履歴テーブル１１４を折れ線グラフに示したものである。グラフ５００には、系列５１０，５２０，５３０，５４０が示されている。
【０２１６】
系列５１０は、コピー処理識別番号“０００１”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。系列５２０は、コピー処理識別番号“０００２”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。系列５３０は、コピー処理識別番号“０００３”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。系列５４０は、コピー処理識別番号“０００４”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。
【０２１７】
ここで、系列５１０を参照すると、直近のブロックコピーにおいて、所要時間がＴｕを超えており、プレタイムアウトが発生している。そして、その後所定時間内に他のコピー処理でプレタイムアウトが発生していない。よって、仮想化スイッチ装置１００ｂは、単独プレタイムアウト発生時の予測展開処理（図３０の処理）を行う。このとき、コピー処理“０００１”と並列にコピー処理“０００２”、“０００３”、“０００４”が実行されており、各コピー処理のコピー条件値に基づいて求めた最小共通コピー処理数が複数存在するとする。すると、図３０に示したステップＳ７６，Ｓ７７，Ｓ７８の処理により、プレタイムアウトの発生したコピー処理“０００１”と処理時間の変動の傾向が最も近似するコピー処理がブロックサイズの変更対象として特定される。
【０２１８】
具体的には、変更対象検出部１５０ａは、所要時間履歴テーブル１１４に基づいて、比率テーブル１１５を生成する。更に、変更対象検出部１５０ａは、比率テーブル１１５に基づいて、差分テーブル１１６を生成する。差分テーブル１１６は、上述したように、プレタイムアウトの発生したコピー処理“０００１”と他のコピー処理との差分を示すものである。よって、差分テーブル１１６に設定された合計の項目が最小のコピー処理を特定すれば、そのコピー処理が、プレタイムアウトの発生したコピー処理“０００１”と処理時間の変動の傾向が最も近似するコピー処理である。
【０２１９】
差分テーブル１１６の例では、コピー処理“０００３”のレコードで合計の項目に設定された値が最小である。したがって、コピー処理“０００３”がプレタイムアウトの発生した“０００１”のブロックコピーの所要時間の変動傾向に最も近いと考えられる。このため、変更対象検出部１５０ａは、コピー処理“０００３”をブロックサイズの変更対象として検出する。
【０２２０】
このようにして、仮想化スイッチ装置１００ｂは、あるコピー処理についてプレタイムアウトを検出すると、当該コピー処理とブロックコピーの所要時間の変動傾向が最も似通った傾向を示すコピー処理を特定し、そのコピー処理につきブロックサイズの変更を行う。
【０２２１】
これにより、プレタイムアウトの発生のおそれのあるコピー処理の特定精度を向上できる。なぜなら、ブロックコピーの所要時間の変動傾向が近似している場合には、現時点ではプレタイムアウトが発生していなくても、その後にブロックコピーの所要時間が長くなる傾向にあると考えられる。このため、そのようなコピー処理ではプレタイムアウトが発生する可能性が高いと考えられるからである。
【０２２２】
その結果、第２，第３の実施の形態と同様の効果を奏するとともに、プレタイムアウトおよびタイムアウトの発生をより効率的に抑制することができる。
なお、上記の仮想化スイッチ装置１００，１００ａ，１００ｂの機能は、その機能の処理内容を記述したプログラムをコンピュータに実行させることで実現できる。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【０２２３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０２２４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０２２５】
以上、本件の情報処理装置、情報処理プログラムおよびコピー処理方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２２６】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）  第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーする処理部と、
前記処理部による前記ブロックのコピーに要した時間を計測する時間計測部と、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する制御部と、
を有することを特徴とする情報処理装置。
【０２２７】
（付記２）  前記処理部は、第１のデータをコピーする第１のコピーと、第２のデータをコピーする第２のコピーと、をブロック単位で順次実行しており、
前記制御部は、前記時間計測部が前記第１のコピーにつき計測したブロックのコピーに要した第１の時間が前記閾値に達している場合、前記第１のコピーのブロックのサイズおよび前記第２のコピーのブロックのサイズを変更する、
ことを特徴とする付記１記載の情報処理装置。
【０２２８】
（付記３）  前記制御部は、前記第１の時間および前記時間計測部が前記第２のコピーにつき計測したブロックのコピーに要した第２の時間の両方が前記閾値に達している場合に、前記第１のコピーのブロックのサイズおよび前記第２のコピーのブロックのサイズを変更する、
ことを特徴とする付記２記載の情報処理装置。
【０２２９】
（付記４）  前記制御部は、前記第１の時間が前記閾値に達している場合、制御情報記憶部に記憶されており、前記第１のコピーおよび前記第２のコピーそれぞれにつき各コピーに関係する複数のコピー条件情報を記録したコピー処理管理情報を参照して、前記第１のコピーと前記第２のコピーとに共通するコピー条件情報が存在する場合に、前記第１のコピーのブロックのサイズおよび前記第２のコピーのブロックのサイズを変更する、
ことを特徴とする付記２または３の何れか１つに記載の情報処理装置。
【０２３０】
（付記５）  前記処理部は、更に、第３のデータをコピーする第３のコピーをブロック単位で順次実行しており、
前記制御部は、前記第１の時間が前記閾値に達している場合、前記制御情報記憶部に記憶された前記コピー処理管理情報を参照して、前記第１のコピーと前記第２のコピーとに共通する第１のコピー条件情報と、前記第１のコピーと前記第３のコピーとに共通する第２のコピー条件情報と、が存在する場合に、前記コピー条件情報それぞれに定義された優先度に基づいて、前記第２，第３のコピーの何れのブロックのサイズを変更するかを決定する、
ことを特徴とする付記４記載の情報処理装置。
【０２３１】
（付記６）  前記制御部は、前記第２，第３のコピーの何れのブロックのサイズを変更するかを決定するたびに、前記優先度を変更することを特徴とする付記５記載の情報処理装置。
【０２３２】
（付記７）  前記制御部は、前記時間計測部が計測した時間が前記閾値よりも小さい下限値に達していない場合、前記ブロックのサイズを現在のサイズよりも大きくなるよう変更することを特徴とする付記１乃至６の何れか１つに記載の情報処理装置。
【０２３３】
（付記８）  第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーし、
前記ブロックのコピーに要した時間を計測し、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【０２３４】
（付記９）  情報処理装置が、
第１の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第２の記憶部に順次コピーし、
前記ブロックのコピーに要した時間を計測し、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する、
ことを特徴とするコピー処理方法。
【符号の説明】
【０２３５】
１  情報処理装置
１ａ  処理部
１ｂ  時間計測部
１ｃ  制御部
２，３  記憶部
４  ブロック
４ａ，４ｂ，４ｃ，４ｄ  ブロックサイズ
【図１】
0005640572.tif 000002
【図２】
0005640572.tif 000003
【図３】
0005640572.tif 000004
【図４】
0005640572.tif 000005
【図５】
0005640572.tif 000006
【図６】
0005640572.tif 000007
【図７】
0005640572.tif 000008
【図８】
0005640572.tif 000009
【図９】
0005640572.tif 000010
【図１０】
0005640572.tif 000011
【図１１】
0005640572.tif 000012
【図１２】
0005640572.tif 000013
【図１３】
0005640572.tif 000014
【図１４】
0005640572.tif 000015
【図１５】
0005640572.tif 000016
【図１６】
0005640572.tif 000017
【図１７】
0005640572.tif 000018
【図１８】
0005640572.tif 000019
【図１９】
0005640572.tif 000020
【図２０】
0005640572.tif 000021
【図２１】
0005640572.tif 000022
【図２２】
0005640572.tif 000023
【図２３】
0005640572.tif 000024
【図２４】
0005640572.tif 000025
【図２５】
0005640572.tif 000026
【図２６】
0005640572.tif 000027
【図２７】
0005640572.tif 000028
【図２８】
0005640572.tif 000029
【図２９】
0005640572.tif 000030
【図３０】
0005640572.tif 000031
【図３１】
0005640572.tif 000032