(57)【要約】【課題】データ転送装置でデータの転送目的に基づき、特定の転送目的のデータに関しては、一方の記憶装置に記憶されたデータから他方の記憶装置へ転送するデータを選択するすることを目的とする。【解決手段】記憶装置間にてネットワークを介してデータの転送を行うデータ転送装置であって、前記記憶装置内の転送すべきデータの転送目的を判定する判定部と、前記判定部により判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する選択部とを有するデータ転送装置が提供される。【選択図】図３
2014186652.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置間にてネットワークを介してデータの転送を行うデータ転送装置であって、
前記記憶装置内の転送すべきデータの転送目的を判定する判定部と、
前記判定部により判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する選択部と、
を有するデータ転送装置。
【請求項２】
前記ネットワークの帯域を監視する帯域監視部を更に有し、
前記選択部は、前記帯域監視部により監視される前記ネットワークの帯域の使用量に応じて、前記転送すべきデータの中から転送するデータを選択する、
請求項１に記載のデータ転送装置。
【請求項３】
前記記憶装置に記憶されたデータの更新頻度を記憶する更新頻度記憶部を更に有し、
前記選択部は、前記特定の転送目的のデータに関して前記更新頻度記憶部が記憶する更新頻度に基づいて、前記転送すべきデータの中から転送するデータを選択する、
請求項１又は２に記載のデータ転送装置。
【請求項４】
前記記憶装置に記憶されたデータは、複数のブロックに分割され、
前記複数のブロックに分割されて前記記憶装置に記憶された各々のデータの読取頻度を記憶する読取頻度記憶部を更に有し、
前記選択部は、前記特定の転送目的のデータに関して前記読取頻度記憶部が記憶するブロック毎の読取頻度に基づいて、前記転送すべきデータの中から転送するデータのブロックを選択する、
請求項３に記載のデータ転送装置。
【請求項５】
前記選択部は、前記判定部により判定された結果が、即時性が要求されないデータ転送の目的を示す場合に、前記転送すべきデータの中から転送するデータを選択する、
請求項１〜４のいずれか一項に記載のデータ転送装置。
【請求項６】
複数の記憶装置と、該複数の記憶装置間にてネットワークを介してデータの転送を行うデータ転送装置と、を含むデータ転送システムであって、
前記データ転送装置は、
前記複数の記憶装置のいずれかの記憶装置内の転送すべきデータの転送目的を判定する判定部と、
前記判定部により判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する選択部と、
を有するデータ転送システム。
【請求項７】
記憶装置間にてネットワークを介してデータを転送する処理をコンピュータが実行するデータ転送方法であって、
転送すべきデータの転送目的を判定し、
前記判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータが実行するデータ転送方法。
【請求項８】
記憶装置間にてネットワークを介してデータを転送する処理をコンピュータに実行させるプログラムであって、
転送すべきデータの転送目的を判定し、
前記判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、データ転送システム、データ転送方法及びプログラムに関する。
【背景技術】
【０００２】
データを複数のデータセンター間で遠隔的にミラーリングする技術がある（例えば、特許文献１、２参照）。遠隔的なミラーリングでは、データ転送先の候補となるデータセンターのうち、容量に余裕のあるデータセンターにデータがミラーリングされる。
【０００３】
ミラーリングの一の目的としては、災害対策ＤＲ（Ｄｉｓａｓｔｅｒ  Ｒｅｃｏｖｅｒｙ）のためのバックアップが挙げられる。ミラーリングの別の目的としては、仮想マシーン(以下、単にＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）という。)の移行準備目的が挙げられる。ＶＭ移行の準備目的では、広域負荷分散のための仮想マシーンの移行に備えて、予め仮想マシーンの仮想ディスクを他のデータセンターにミラーリングする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１４９２８５号公報
【特許文献２】特開２０１２−１６４１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、災害対策ＤＲ等のバックアップを目的としたミラーリングも、ＶＭ移行の準備を目的としたミラーリングも、データセンター間を接続するネットワークを介して行われる。よって、ミラーリングのデータ転送量が増加すると、ネットワークの帯域が不足する事態が起こり得る。ネットワークの帯域不足は、ミラーリングの目的が何であろうと、実行されているすべてのミラーリングの処理に影響を与え、ミラーリングが完了するまでの時間を長引かせるという課題が生じる。
【０００６】
そこで、一側面では、ネットワークの帯域不足の抑制を目的とする。
【課題を解決するための手段】
【０００７】
一つの案では、記憶装置間にてネットワークを介してデータの転送を行うデータ転送装置であって、前記記憶装置内の転送すべきデータの転送目的を判定する判定部と、前記判定部により判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する選択部とを有するデータ転送装置が提供される。
【発明の効果】
【０００８】
一態様によれば、ネットワークの帯域不足の抑制を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】データ転送システムの一実施形態を示した図である。
【図２】データ転送システムの一実施形態にかかる帯域の使用状況例を示した図である。
【図３】データ転送システムの一実施形態にかかる全体構成図である。
【図４】ＶＭ情報テーブルの一例を示した図である。
【図５】ディスク情報テーブルの一例を示した図である。
【図６】状態情報テーブルの一例を示した図である。
【図７】帯域情報テーブルの一例を示した図である。
【図８】サイト情報テーブルの一例を示した図である。
【図９】ストレージ制御装置の一実施形態にかかる機能構成図である。
【図１０】状態情報テーブルの一例を示した図である。
【図１１】状態情報テーブルの一例を示した図である。
【図１２】状態情報テーブルの一例を示した図である。
【図１３】状態情報テーブルの一例を示した図である。
【図１４】状態情報テーブルの一例を示した図である。
【図１５】転送目的の判定処理の一実施形態を示したフローチャートである。
【図１６】転送データの選択処理の一実施形態を示したフローチャートである。
【図１７】ブロック単位の転送データの選択処理の一実施形態を示したフローチャートである。
【図１８】ストレージ制御装置の一実施形態にかかるハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１１】
［システムの全体説明］
まず、データ転送システムの一実施形態について、図１〜図３を参照しながら説明する。図１〜図３は、データ転送システムの一実施形態を説明するための図である。
【００１２】
本実施形態にかかるデータ転送システム１は、サーバ、ストレージ、ＯＳ、ミドルウェアなどのリソースをサービスとしてネットワーク経由で提供するクラウドコンピューティングのシステム構成上で実現される。本実施形態にかかるデータ転送システム１では、サービス提供者側のデータセンターは、データセンターに予め用意されているサーバ、ストレージ、ＯＳ、ミドルウェアなどのリソースを必要に応じて利用者側のクライアント機器に提供する。ただし、本実施形態にかかるデータ転送システム１は、クラウドコンピューティングのシステム構成上で実現されるものに限られない。本実施形態にかかるデータ転送システム１は、ネットワークを介して接続された２つの記憶装置を含み、その２つの記憶装置の一方の記憶装置から他方の記憶装置へデータを転送するシステムであれば、どのようなシステム構成であってもよい。以下では、記憶装置の一例としてデータセンター内のストレージ装置を挙げて説明する。
【００１３】
［ネットワークを介したストレージ装置間のミラーリング］
データ転送システム１の一実施形態にかかるミラーリング（データ転送）について、図１を参照しながら説明する。本実施形態にかかるデータ転送システム１では、データセンターＡとデータセンターＢとが、ＷＡＮ(Wide  Area  Network)１０を介して接続されている。なお、ＷＡＮ１０はストレージ装置間を接続するネットワークの一例であり、ネットワークはこれに限られず、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の専用線であってもよいし、インターネット等であってもよい。
【００１４】
データセンターＡにて仮想化して生成された仮想ディスクのデータは、ＶＭ１１により使用される。本実施形態におけるミラーリングでは、ＷＡＮ１０の帯域を使用して仮想ディスクのデータを転送する。図１では、データセンターＡの仮想ディスクのデータが、ＷＡＮ１０の帯域を使用してデータセンターＢへ転送されている。このように、本実施形態におけるミラーリングは、複数のデータセンターにまったく同じデータを書き込む方式の遠隔的なミラーリングに好適である。
【００１５】
ミラーリングの目的には、災害対策ＤＲ等のためのバックアップ目的やＶＭ移行の準備目的がある。
【００１６】
災害対策ＤＲのためのバックアップ目的のミラーリングは、例えば、データセンターＡが震災等で利用できなくなった場合に、データセンターＢにバックアップされているデータを使用してデータセンターＡのサービスを復旧させる場合を想定して行われる。
【００１７】
ＶＭ移行の準備目的のミラーリングについて説明する。データセンターの利用の拡大に伴い、例えば数百〜数千のＶＭ１１を管理する必要が生じる。一方、１つのデータセンターにおけるサーバ装置、ストレージ装置等のリソースには物理的に限界がある。このため、管理すべきＶＭ１１の増大に伴い、利用者側からのサービス利用の要求に対応できなくなる可能性がある。そこで、複数のデータセンターを連携させて、一のデータセンターにて物理的なリソースの不足が発生した場合にも他のデータセンターの物理的なリソースを利用することで、サービス利用の要求に対応できるシステムが必要である。そのため、リソースの不足が発生した一のデータセンターからリソース供給能力に余力がある他のデータセンターにＶＭ１１を移行してＶＭ１１の処理の負荷を広域的に分散し、サービス利用の需要拡大に対応できるようにする。そこで、ＶＭ移行の準備目的のミラーリングでは、災害対策ＤＲのためのミラーリングとは別に、広域負荷分散のためのＶＭ１１の移行に備えて、予めＶＭ１１の仮想ディスクを他のデータセンターにコピーする。
【００１８】
ＶＭ移行の準備目的のミラーリングでは、数１０ＧＢ〜数１００ＧＢの仮想ディスクを、ＷＡＮ１０を経由してコピーするため、ミラーリングが完了するまでに多くの時間を要する。よって、ＶＭ１１の移行が必要になってから仮想ディスクのミラーリングを開始したのでは、実際にＶＭ１１を移行できるまでに相当の待ち時間が生じてしまう。そこで、ＶＭ１１の移行要求が発生する前にＶＭ移行の準備目的のミラーリングが行われることが好ましい。
【００１９】
ところが、図２に示されるように、災害対策ＤＲ等のバックアップを目的としたミラーリングも、ＶＭ移行の準備を目的としたミラーリングも、データセンター間のＷＡＮ１０を経由して実行される。データセンターは数千のＶＭ１１を管理し、各ＶＭ１１は、例えばシステム用とデータ用の２つ以上の仮想ディスクを使用することが多い。そのため、ミラーリングする仮想ディスクの数はＶＭ１１の数よりも多くなる。よって、図２に示されるように、ＷＡＮ１０の帯域が不足する事態が起こり得る。ＷＡＮ１０の帯域が不足すると、バックアップ目的及びＶＭ移行の準備目的によらず、実行されているすべてのミラーリングの処理が遅くなる。これにより、ミラーリング元のデータセンターＡにてデータが更新されてからミラーリング先のデータセンターＢにそのデータの更新を反映し終えるまでの時間が増加する。
【００２０】
ミラーリングの即時性の要求は、ミラーリングの目的によって異なる。例えば、災害対策ＤＲのバックアップを目的としたミラーリングでは、ミラーリング元のデータセンターＡで生じたデータの更新は、即時的にミラーリング先のデータセンターＢに反映されることが好ましい。
【００２１】
一方、ＶＭ移行の準備を目的としたミラーリングでは、ミラーリング元のデータセンターＡで生じたデータの更新が即時的にミラーリング先のデータセンターＢに反映される必要性は低い。つまり、実際にＶＭ１１の移行が実施されるまでに、ミラーリングが終了していればよい。このように、災害対策ＤＲ等のバックアップを目的としたミラーリングでは即時性の要求は高く、ＶＭ移行の準備を目的としたミラーリングでは、災害対策ＤＲ等のバックアップを目的としたミラーリングよりも即時性の要求は低いといえる。
【００２２】
そこで、本実施形態では、ＷＡＮの帯域不足を考慮して、ミラーリングの目的を判定する。そして、判定されたミラーリングの目的に応じて即時性の要求が相対的に低いミラーリング目的（例えば、ＶＭ移行の準備を目的）のデータ転送については、すべてのデータを転送せず、転送すべきデータの中から選択されたデータを転送する。一方、即時性の要求が相対的に高いミラーリング目的（例えば、災害対策ＤＲ等のバックアップ目的）のデータ転送については、即時的にデータを転送できるようにＷＡＮ１０の帯域の一部を確保しておくことが好ましい。これにより、データセンターＡがいつ災害により利用できなくなってもデータセンターＢにデータセンターＡの最新データが確保されているため、容易に復旧を行うことができる。
【００２３】
よって、本実施形態では、データセンター間でバックアップを目的としたミラーリングと、ＶＭ移行の準備を目的としたミラーリングとが混在する環境で、バックアップを目的としたミラーリングは、即時性が要求されると判断し、即時的にミラーリングを行う。一方、ＶＭ移行の準備を目的としたミラーリングは、即時性が要求されないと判断し、転送すべきデータの中からデータを選択し、選択されたデータをコピーする。これにより、帯域の不足を抑制し、バックアップを目的としたミラーリングの遅延発生を回避する。
【００２４】
以下、転送すべきデータについてミラーリングの目的を判定し、判定された結果が特定の転送目的を示す場合、転送すべきデータの中から転送するデータを選択することが可能なデータ転送システム１の一実施形態について説明する。
【００２５】
［データ転送システムの全体構成］
一実施形態にかかるデータ転送システム１の全体構成について、図３を参照しながら説明する。図３は、データ転送システムの一実施形態にかかる全体構成図である。本実施形態にかかるデータ転送システム１では、ＷＡＮ１０を介して接続されたデータセンターＡからデータセンターＢへ仮想ディスクのデータを転送する場合について説明する。この場合、データセンターＡはミラーリング元のデータセンターであり、データセンターＢはミラーリング先のデータセンターである。しかしながら、ミラーリングは、必ずしもこれに限られず、データセンターＢからデータセンターＡへデータ転送を行ってもよい。
【００２６】
データセンターＡとデータセンターＢとの構成は同じであるため、以下ではデータセンターＡの構成を説明する。ただし、識別のために、データセンターＡの物理ストレージ装置２０ａ、ストレージ制御装置３０ａ及びミラーリング・コントローラ３１ａと、データセンターＢの物理ストレージ装置２０ｂ、ストレージ制御装置３０ｂ及びミラーリング・コントローラ３１ｂとを区別して記載する。
【００２７】
データセンターＡは、物理サーバ１５、物理ストレージ装置２０ａ及びストレージ制御装置３０ａを有する。データセンターＡが運用する物理サーバ１５及び物理ストレージ装置２０ａの個数は１台以上であれば何台でもよい。本実施形態では、複数の物理サーバ１５及び複数のストレージ装置２０ａを有している。以下、物理サーバを単にサーバといい、物理ストレージ装置を単にストレージ装置という。
【００２８】
サーバ１５上には、複数のＶＭ１１（仮想サーバ）が構築されている。ＶＭ１１は、仮想マシーンソフトウェアによって生成される。本実施形態のデータセンターＡには、２つのＶＭ１１が保持されたサーバ１５が２つ設置されている。サーバ１５上のＶＭ１１は、ストレージ制御装置３０ａを経由してストレージ装置２０ａに接続されている。
【００２９】
サーバ１５は、ＶＭ情報テーブル１６を有している。ＶＭ情報テーブル１６には、複数のＶＭ１１に関する情報が記憶される。図４には、ＶＭ情報テーブル１６の一例が示されている。ＶＭ情報テーブル１６には、ＶＭ１１のＩＤ１６ａ、作成者ＩＤ１６ｂ、ＯＳ種別１６ｃ、ＤＲ（災害対策）属性１６ｄ、割り当て済仮想ディスクＩＤ１６ｅが記憶される。例えば、ＤＲ属性１６ｄは、災害対策ＤＲの対象の場合には「ＴＲＵＥ」に設定され、災害対策ＤＲの対象外の場合には「ＦＡＬＳＥ」に設定される。
【００３０】
ストレージ制御装置３０ａは、ストレージ装置２０ａを制御し、ストレージ装置２０ａを仮想化して、物理的な構成に拘束されない単位の仮想ディスクをサーバ１５に提供する。これにより、ストレージ制御装置３０ａは、サーバ１５に対して、複数のストレージ装置を１つのストレージ装置であるように見せたり、１つのストレージ装置を複数のストレージ装置であるように見せたりすることができる。よって、サーバ１５は、ストレージ制御装置３０ａに仮想ディスクへの入出力要求（読み取り要求又は書き込み要求）を行えばよく、どのストレージ装置２０ａを利用しているかを認識して動作する必要はない。ストレージ制御装置３０ａは、サーバ１５からの要求に応じてストレージ装置２０ａへの読み取り又は書き込みを実行する。
【００３１】
ストレージ制御装置３０ａは、ミラーリング・コントローラ３１ａを有している。ミラーリング・コントローラ３１ａは、データセンターＢへ仮想ディスクのデータを転送する（ミラーリング）。ミラーリングされたデータは、災害対策ＤＲ等に利用される。ミラーリング・コントローラ３１ａは、仮想ディスクの生成に応じて仮想ディスクに保存されたデータや、仮想ディスクへの更新データであって、ミラーリング先のミラーリング・コントローラ３１ｂに転送されていないデータを蓄えるバッファ３１７を有する。ミラーリング・コントローラ３１ａは、データ転送装置に相当する。
【００３２】
ストレージ制御装置３０ａは、閾値テーブル３５、ディスク情報テーブル３６、状態情報テーブル３７及び帯域情報テーブル３８を有する。閾値テーブル３５には、ＷＡＮ１０が帯域不足かを判断する際に使用する閾値や、データの読取頻度を判断する際に使用する閾値が設定されている。
【００３３】
ディスク情報テーブル３６には、仮想ディスクに関する情報が記憶される。図５には、ディスク情報テーブル３６の一例が示されている。ディスク情報テーブル３６には、仮想ディスクのＩＤ３６ａ、容量３６ｂ、ミラーリング先のデータセンターのＩＤ３６ｃ、ミラーリング先に作成される仮想ディスクＩＤ３６ｄ、単位時間当たりの更新（書き込み）回数３６ｅ及びミラーリング目的３６ｆが記憶される。
【００３４】
状態情報テーブル３７には、仮想ディスクの各ブロックの情報が記憶される。すなわち、仮想ディスクは、複数のブロックに分割されている。図６には、状態情報テーブル３７の一例が示されている。状態情報テーブル３７には、例えば、仮想ディスクのＩＤ３６ａで識別される仮想ディスクについてブロック毎に、ブロック番号３７ａ、更新時刻３７ｂ、バッファフラグ３７ｃ及びリードカウンタ３７ｄが記憶される。バッファフラグ３７ｃ及びリードカウンタ３７ｄについては、後述する。
【００３５】
帯域情報テーブル３８には、ＷＡＮ１０の帯域に関する情報が記憶される。図７には、帯域情報テーブル３８の一例が示されている。帯域情報テーブル３８には、ＷＡＮ１０を使用するソース提供側のデータセンターＩＤ３８ａ（ここではデータセンターＡのＩＤ）、データの転送先となるディスティネーションデータセンタＩＤ（ここではデータセンターＢのＩＤ）３８ｂ、帯域の状態３８ｃ、最大帯域３８ｄ及び使用帯域ｅが記憶される。
【００３６】
サイト情報テーブル４２は、データセンター全体の情報を記憶する。図８には、サイト情報テーブル４２の一例が示されている。サイト情報テーブル４２には、データセンターＩＤ４２ａ、管理用ポータルＩＰアドレス４２ｂ、管理者ＩＤ４２ｃ、運用種別４２ｄ及び状態４２ｅが記憶される。例えば、運用種別４２ｄは、データセンターＩＤ４２ａで識別されるデータセンターがシステム運用を行う場合には「運用系」に設定され、データセンターが災害対策ＤＲの待機用である場合には「待機系」に設定される。サイト情報テーブル４２の更新内容は、他のデータセンターが保持するサイト情報テーブル４２に反映される。
【００３７】
［ストレージ制御装置の機能構成］
次に、一実施形態にかかるストレージ制御装置３０ａの機能構成について、図９を参照しながら説明する。図９は、ストレージ制御装置の一実施形態にかかる機能構成図である。
【００３８】
本実施形態にかかるストレージ制御装置３０ａは、制御部３２、Ｒ／Ｗ要求受付部３３、Ｒ／Ｗ実行部３４、閾値テーブル３５、ディスク情報テーブル３６、状態情報テーブル３７及び帯域情報テーブル３８を有する。
【００３９】
制御部３２は、ストレージ制御装置３０ａの全体を制御する。制御部３２は、サーバ１５からの入出力要求に応じてストレージ装置２０ａに仮想ディスクを動的に作成したり、削除したりする。制御部３２は、サーバ１５からの要求に応じて仮想ディスクへのデータの読み取り及び書き込みを実行する。
【００４０】
Ｒ／Ｗ要求受付部３３は、サーバ１５からの入出力要求を受け付ける。Ｒ／Ｗ実行部３４は、Ｒ／Ｗ要求受付部３３からの入出力要求に応じて、ストレージ装置２０ａの所定の仮想ディスクにデータを書き込んだり、読み取ってサーバ１５に送ったりする。
【００４１】
ストレージ制御装置３０ａは、閾値テーブル３５、ディスク情報テーブル３６、状態情報テーブル３７及び帯域情報テーブル３８を有する。しかし、これらのテーブルは、ストレージ制御装置３０ａ外の記憶領域に記憶されてもよい。その場合にも、閾値テーブル３５、ディスク情報テーブル３６、状態情報テーブル３７及び帯域情報テーブル３８は、記憶部３１６により管理される。
【００４２】
［ミラーリング・コントローラ３１ａの機能構成］
ミラーリング・コントローラ３１ａは、ストレージ制御装置３０ａに内蔵され、データ転送に関するストレージ制御装置３０ａの拡張機能を有する。しかしながら、これに限らず、ミラーリング・コントローラ３１ａは、ストレージ制御装置３０ａとは別体に構成することもできる。ミラーリング・コントローラ３１ａは、データセンターＢのミラーリング・コントローラ３１ｂとの間でデータ転送を実行する。
【００４３】
ミラーリング・コントローラ３１ａは、判定部３１１、選択部３１２、帯域監視部３１３、送信部３１４、受信部３１５、記憶部３１６及びバッファ３１７を有する。
【００４４】
判定部３１１は、ストレージ装置２０ａに記憶された仮想ディスクのデータの転送目的を判定する。仮想ディスクのデータとは、仮想ディスクが生成された際に書き込まれたデータや、該仮想ディスクを更新した際の更新データが含まれる。また、仮想ディスクのデータとは、仮想ディスクに含まれる全データであってもよいし、仮想ディスクに含まれるデータを分割したブロック毎のデータであってもよい。
【００４５】
選択部３１２は、判定部３１１により特定の転送目的と判定されたデータに関して、ストレージ装置２０ａに記憶された仮想ディスクからデータセンターＢのストレージ装置２０ｂへコピーするデータを選択する。
【００４６】
帯域監視部３１３は、ＷＡＮ１０の帯域の使用量等、ＷＡＮ１０の状態を監視する。帯域監視部３１３は、定期的（例えば、１分毎）にＷＡＮ１０の帯域を監視する。その結果は、随時、帯域情報テーブル３８に記憶される。
【００４７】
送信部３１４は、選択部３１２により選択されたデータをデータセンターＢへ送信する。受信部３１５は、ＷＡＮ１０を介してデータを受信する。
【００４８】
記憶部３１６は、閾値テーブル３５、ディスク情報テーブル３６、状態情報テーブル３７及び帯域情報テーブル３８にデータを記憶する。特に、更新頻度記憶部３１６ａは、ディスク情報テーブル３６の更新回数（更新頻度に相当）３６ｅを記憶する。読取頻度記憶部３１６ｂは、状態情報テーブル３７のリードカウンタ３７ｄ（ブロック毎の読取頻度に相当）を記憶する。
【００４９】
選択部３１２によりミラーリング対象に選択されなかったデータはデータセンターＢに即時的に転送されない。そのため、バッファ３１７は、ミラーリング対象に選択されなかったデータを一時的に蓄える。バッファ３１７に蓄えられたデータに関して、記憶部３１６は、図６の状態情報テーブル３７に示されるように、仮想ディスクＩＤのブロック単位で、バッファフラグ３７ｃを「ｔｒｕｅ」に設定する。バッファ３１７に蓄えられていない仮想ディスクＩＤのブロックについては、記憶部３１６は、バッファフラグ３７ｃを「ｆａｌｓｅ」に設定する。
【００５０】
［ストレージ制御装置の動作］
次に、ストレージ制御装置３０ａの動作について説明する。ストレージ制御装置３０ａは、入出力要求（読み取り要求又は書き込み要求）に対して次の処理を行う。
【００５１】
（読み取り要求）
Ｒ／Ｗ要求受付部３３は、サーバ１５から所定の仮想ディスクへの読み取り要求を受け付けると、ストレージ装置２０ａから所定の仮想ディスクのデータを読み出し、読み出したデータをサーバ１５に送る。
【００５２】
（書き込み要求）
Ｒ／Ｗ要求受付部３３は、サーバ１５から所定の仮想ディスクへの書き込み要求を受け付けると、ストレージ装置２０ａの所定の仮想ディスクにデータを書き込み、サーバ１５に更新完了通知を送る。また、仮想ディスクがミラーリングの対象となっている場合、Ｒ／Ｗ実行部３４は、ミラーリング・コントローラ３１ａに更新通知を送り、ミラーリング・コントローラ３１ａからの処理完了通知（ＡＣＫ Acknowledgement：確認応答）を待機する。
【００５３】
（リモートのミラーリング・コントローラからの更新要求）
リモートのミラーリング・コントローラ（ここでは、ミラーリング・コントローラ３１ｂ）からのデータの更新要求は、ミラーリング・コントローラ３１ａの受信部３１５が受信する。Ｒ／Ｗ実行部３４は、受信部３１５が受信した更新要求に含まれている更新データをストレージ装置２０ａに書き込む。送信部３１４は、リモートのミラーリング・コントローラ３１ｂへ処理完了（ＡＣＫ）を通知する。
【００５４】
［ミラーリング・コントローラの動作］
次に、ミラーリング・コントローラ３１ａの動作について説明する。ミラーリング・コントローラ３１ａは、ストレージ制御装置３０ａが実現している仮想ディスク内のデータの更新の通知を受け付ける。
【００５５】
ＷＡＮ１０の帯域が十分な場合、送信部３１４は、ミラーリング・コントローラ３１ｂへ更新されたデータを転送し、ミラーリング・コントローラ３１ｂからの更新完了通知（ＡＣＫ）を待機する。ミラーリング・コントローラ３１ａは、ミラーリング・コントローラ３１ｂから更新完了通知（ＡＣＫ）を受信した場合、ストレージ制御装置３０ａへ処理完了（ＡＣＫ）を通知する。
【００５６】
ＷＡＮ１０の帯域が不十分な場合、ＶＭ移行の準備目的のデータに関しては、記憶部３１６は、更新データをバッファ３１７に格納する。つまり、ミラーリング先のミラーリング・コントローラ３１ｂに転送しない。記憶部３１６は、ストレージ制御装置２０ａへ処理完了（ＡＣＫ）を通知する。
【００５７】
記憶部３１６は、状態情報テーブル３７のバッファフラグ３７ｃに、データがバッファリングされていることを示すフラグとして「ｔｒｕｅ」をセットし、リードカウンタ３７ｄに「０」をセットする。
【００５８】
例えば、図１０に示したように、仮想ディスクＩＤ３６ａのブロック番号３７ａ「００００  ０００２」に書き込みが発生された場合について具体的に説明する。ブロック番号３７ａ「００００  ０００２」のデータが２０１２／１０／０２  １３：３１：４５に更新（書き込み）されたとする。このとき、ＷＡＮ１０の帯域が不十分な状態であり、更新されたデータがＶＭ移行の準備目的のデータであるため、ミラーリング先のミラーリング・コントローラ３１ｂに転送されずにバッファ３１７に保存されたとする。そのとき、記憶部３１６は、ブロック番号３７ａ「００００  ０００２」のバッファフラグ３７ｃに「ｔｒｕｅ」を設定し、リードカウンタ３７ｄに「０」を設定し、更新時刻３７ｂに「２０１２／１０／０２  １３：３１：４５」を記憶する。なお、リードカウンタ３７ｄは、予め定められた一定時間ごとに「０」にリセットされてもよい。
【００５９】
なお、ＷＡＮ１０の帯域が不十分な場合であっても、バックアップ目的のデータに関しては、送信部３１４は、更新されたデータをミラーリング・コントローラ３１ｂへ転送し、ＷＡＮ１０の帯域が十分な場合と同様の更新完了通知処理を行う。
【００６０】
選択部３１２は、一定時間毎にＷＡＮ１０の帯域が許す範囲内で、バッファ３１７に蓄積されている更新データの中から転送するデータを選択する。具体的には、選択部３１２は、バッファフラグ３７ｃが「ｔｒｕｅ」になっていて、リードカウンタ３７ｄで示される読取回数が大きいデータから順に優先的に選択する。このようにリードカウンタ３７ｄは、バッファ３１７に記憶されたデータの読取頻度を示す。送信部３１４は、選択されたデータをミラーリング・コントローラ３１ｂに転送する。受信部３１５は、ミラーリング・コントローラ３１ｂからの更新完了通知（ＡＣＫ）を待機する。更新完了通知（ＡＣＫ）を受信した場合、記憶部３１６は、転送データに対する状態情報テーブル３７のブロック番号３７ａのバッファフラグ３７ｃに「ｆａｌｓｅ」を設定する。また、リードカウンタ３７ｄに「−（バッファされていないことを示す（例：NULL））」を設定する。
【００６１】
例えば、ＷＡＮ１０の帯域の使用量に基づき、バッファ３１７に蓄積されている更新データのうちの１個のブロックの転送ができる状況と判断されたとする。この場合、図１１に示したように、状態情報テーブル３７のバッファフラグ３７ｃが「ｔｒｕｅ」のブロックのうちで、リードカウンタ３７ｄの値が最大「１２」のブロック番号３７ａ「００００  ０００３」のデータが選択される。選択されたデータは、ミラーリング・コントローラ３１ｂに転送される。転送されると、バッファ３１７内のデータは転送済であってバッファ３１７から消去してよい。よって、ブロック番号３７ａ「００００  ０００３」のバッファフラグ３７ｃが「ｆａｌｓｅ」に、リードカウンタ３７ｄが「−」に設定される。
【００６２】
（データが読み出された場合）
次に、バッファ３１７内のデータと同一データがストレージ装置２０ａから読み出された場合のミラーリング・コントローラ３１ａの動作について説明する。その場合、読み出されたデータに対する状態情報テーブル３７のブロック番号３７ａのバッファフラグ３７ｃが「ｔｒｕｅ」のデータであれば、記憶部３１６は、リードカウンタ３７ｄを「１」増加させる。図１２に示したように、データが転送されていない状態で、バッファ３１７内の例えばブロック番号３７ａ「００００  ０００２」のデータがＲ／Ｗ実行部３４により読み出された場合、記憶部３１６は、リードカウンタ３７ｄを「０」から「１」に一増加させる。読み出されたデータはサーバ１５に送られる。
【００６３】
更に、図１３に示したように、データが転送されていない状態で、再度、ブロック番号３７ａ「００００  ０００２」のデータがＲ／Ｗ実行部３４により読み出された場合、リードカウンタ３７ｄを「１」から「２」に一増加させる。読み出されたデータはサーバ１５に送られる。
【００６４】
（データが更新された場合）
次に、バッファ３１７内のデータと同一データがストレージ装置２０ａで更新された場合のミラーリング・コントローラ３１ａの動作について説明する。ストレージ装置２０ａに記憶された仮想ディスク内のデータが更新された場合、記憶部３１６は、図１４のブロック番号３７ａ「００００  ０００５」に示したように、バッファ３１７に蓄積された同一のデータも更新する。このとき、更新されたデータは一度も読み出されていない。よって、記憶部３１６は、リードカウンタ３７ｄを「０」にリセットする。
【００６５】
なお、一定時間経過後にリードカウンタ３７ｄが閾値を超えていたら、ミラーリング先のストレージ装置に反映すべきデータとして選択してもよい。この場合、リードカウンタ３７ｄが閾値を超えていなければ、データを転送せずバッファ３１７への蓄積を継続する。なお、本実施形態では、仮想ディスクの書き込み及び読み取りは仮想ディスクを複数に分割したブロック単位で行われるが、必ずしもこれに限らず、仮想ディスク単位で行われてもよい。
【００６６】
このようにして、ＷＡＮの帯域が不十分な場合、ＶＭ移行の準備目的のデータに関しては、更新データは即時的にストレージ制御装置３０ｂに転送されず、バッファ３１７に格納される。また、バッファ３１７内のデータの状態が状態情報テーブル３７に蓄積される。
【００６７】
以下では、ミラーリングの目的を判定する処理、バッファ３１７内に蓄積されたデータから転送データを選択する処理の順に、ミラーリング・コントローラ３１ａの動作について説明する。
【００６８】
［データ転送（ミラーリング）目的の判定］
本実施形態にかかるデータ転送目的の判定処理について、図１５を参照しながら説明する。図１５は、データ転送目的の判定処理の一実施形態を示したフローチャートである。
【００６９】
ミラーリング・コントローラ３１ａは、運用管理者又は利用者側のクライアント機器からの仮想ディスクのミラーリング指示に応じて、ミラーリングの目的を判定する。まず、Ｒ／Ｗ要求受付部３３は、ＶＭ１１の要求を反映してサーバ１５から要求されるミラーリング指示のための入力を待機する（ステップＳ１００）。Ｒ／Ｗ要求受付部３３は、ミラーリング指示のための入力情報として、ミラーリング元（ここではデータセンターＡ）の仮想ディスクＩＤ及びミラーリング先（ここではデータセンターＢ）のデータセンターＩＤを受け付ける。加えて、Ｒ／Ｗ要求受付部３３は、ミラーリング先の仮想ディスクＩＤ及びミラーリングの目的の情報を受け付けてもよい。ただし、ミラーリング先の仮想ディスクＩＤ及びミラーリングの目的の情報は必ずしも指定される必要はなく、入力情報に含まれない場合もある。
【００７０】
次に、判定部３１１は、入力情報にミラーリング元の仮想ディスクＩＤ及びミラーリング先のデータセンターＩＤが指定されているかを判定する（ステップＳ１０２）。ミラーリング元の仮想ディスクＩＤ及びミラーリング先のデータセンターＩＤが指定されていないと判定された場合、判定部３１１は、エラーを出力し、ストレージ制御装置３０ａに通知する（ステップＳ１０４）。
【００７１】
ステップＳ１０２にて、ミラーリング元の仮想ディスクＩＤ及びミラーリング先のデータセンターＩＤが指定されていると判定された場合、判定部３１１は、入力情報にミラーリング先の仮想ディスクＩＤが指定されているかを判定する（ステップＳ１０６）。ミラーリング先の仮想ディスクＩＤが指定されていると判定された場合、制御部３２は、そのままステップＳ１１０に進む。一方、ミラーリング先の仮想ディスクＩＤが指定されていないと判定された場合、判定部３１１は、ミラーリング先のストレージ制御装置３０ｂに対して、ミラーリング先となる仮想ディスクの作成を依頼する。ストレージ制御装置３０ｂは、ミラーリング先のストレージ装置２０ｂに、ミラーリング先となる仮想ディスクを作成し、その仮想ディスクのＩＤを通知する。判定部３１１は、この通知を受信することにより、ミラーリング先の仮想ディスクのＩＤを取得する（ステップＳ１０８）。
【００７２】
次に、判定部３１１は、入力情報にミラーリングの目的が指定されているかを判定する（ステップＳ１１０）。ミラーリングの目的が指定されていると判定された場合、判定部３１１は、対象となる仮想ディスクのミラーリング目的は指定された目的であると判定する。記憶部３１６は、指定されたミラーリングの目的を、ディスク情報テーブル３６に記憶する（ステップＳ１１２）。対象となる仮想ディスクのミラーリング目的が、バックアップ目的の場合、記憶部３１６は、図５のミラーリング目的３６ｆに「バックアップ」を記憶する。ＶＭ１１の移行目的である場合、記憶部３１６は、図５のミラーリング目的３６ｆに「ＶＭ移行準備」を記憶し（ステップＳ１１２）、スタートに戻る。
【００７３】
ステップＳ１１０にてミラーリングの目的が指定されていないと判定された場合、判定部３１１は、ミラーリング先のデータセンターＩＤで識別されるデータセンターが災害対策ＤＲの待機系であるかを判定する（ステップＳ１１４）。災害対策ＤＲの待機系であると判定された場合、判定部３１１は、対象となる仮想ディスクのミラーリング目的はバックアップ目的であると判定する。記憶部３１６は、判定されたミラーリングの目的がバックアップ目的であるとディスク情報テーブル３６に記憶し（ステップＳ１１６）、スタートに戻る。
【００７４】
例えば、判定部３１１は、図８のサイト情報テーブル４２に基づき、ミラーリング先のデータセンターＩＤ４２ａが「Ｂ」の運用種別４２ｄが「待機系」と判断し、データセンターＢが災害対策ＤＲの待機系であると判定する。記憶部３１６は、図５のミラーリング目的３６ｆに「バックアップ」を記憶する。
【００７５】
ステップＳ１１８にてミラーリング先のストレージ装置ＩＤで識別されるデータセンターが災害対策ＤＲの待機系でないと判定された場合、判定部３１１は、仮想ディスクの割り当て先のＶＭ１１のＤＲ属性が「ｔｒｕｅ」であるかを判定する（ステップＳ１１８）。仮想ディスクの割り当て先のＶＭ１１のＤＲ属性が「ｔｒｕｅ」であると判定された場合、判定部３１１は、対象となる仮想ディスクのミラーリング目的はバックアップ目的であると判定する。記憶部３１６は、判定されたミラーリングの目的がバックアップ目的であるとディスク情報テーブル３６に記憶し（ステップＳ１２０）、スタートに戻る。
【００７６】
ステップＳ１１８にて仮想ディスクの割り当て先のＶＭ１１のＤＲ属性が「ＴＲＵＥ」でないと判定された場合、判定部３１１は、対象となる仮想ディスクのミラーリング目的はＶＭ移行の準備が目的であると判定する。記憶部３１６は、判定されたミラーリングのＶＭ移行の準備目的であるとディスク情報テーブル３６に記憶し（ステップＳ１２２）、スタートに戻る。
【００７７】
例えば、判定部３１１は、図４のＶＭ情報テーブル１６に基づき、仮想ディスクの割り当て先のＶＭ１１のＩＤ１６ａのＤＲ属性１６ｄが「ＴＲＵＥ」であるかを判定し、「ＴＲＵＥ」の場合、データセンターＢが災害対策ＤＲの待機系であると判定する。その場合、記憶部３１６は、図５のミラーリング目的３６ｆに「バックアップ」を記憶する。
【００７８】
以上に説明したように、本実施形態にかかるストレージ制御装置３０によれば、ミラーリング目的が指定されていない場合であっても、判定部３１１は、ミラーリング先のデータセンターが災害対策ＤＲの待機用として機能するかどうかでミラーリング目的を判断する。例えば、データセンターＡがシステム運用に使用され、データセンターＢが災害時の待機用であること等がデータセンター毎にサイト情報テーブル４２に予め設定されている。また、ＶＭ情報テーブル１６にはＶＭ１１毎のＤＲ属性が設定されている。よって、本実施形態にかかるストレージ制御装置３０では、これらのテーブルの情報に基づき、ミラーリング先のデータセンターＢが災害対策ＤＲの待機系であるか、ＶＭ１１毎のＤＲ属性が「ＴＲＵＥ」であるかによりミラーリング目的を判定することができる。
【００７９】
［転送データの選択］
次に、本実施形態にかかる転送データの選択処理について、図１６を参照しながら説明する。図１６は、転送データの選択処理の一実施形態を示したフローチャートである。
【００８０】
（仮想ディスクの選択）
帯域監視部３１３は、データセンターＡ、Ｂ間のＷＡＮ１０の帯域を定期的（例えば、１分毎）に監視する（ステップＳ２００）。次に、判定部３１１は、帯域の使用量が閾値を超えているかを判定する（ステップＳ２０２）。
【００８１】
例えば、帯域不足の発生が予測される場合として、帯域監視部３１３は、帯域の使用量が閾値テーブル３５に記憶された閾値を超えているかを判定する。本実施形態では、帯域監視部３１３は、帯域の使用量が、図７の帯域情報テーブル３８中のソースデータセンターＩＤが「Ａ」の最大帯域３８ｄの８０％を超えているかを判定する。
【００８２】
帯域の使用量が閾値を超えていると判定された場合、判定部３１１は、ミラーリング対象の仮想ディスクが、ＶＭ移行の準備目的のミラーリングであるかを判定する（ステップＳ２０４）。ＶＭ移行の準備目的のミラーリングでないと判定された場合、判定部３１１は、災害対策ＤＲ等のバックアップ目的のミラーリングと判定し、スタートに戻る。
【００８３】
この結果、災害対策ＤＲ等のバックアップ目的のミラーリングは、即時性を考慮して継続して行われる。つまり、前述のＷＡＮ１０の帯域が十分な場合に行われるミラーリングが実行される。これにより、災害対策ＤＲ等のバックアップ目的のミラーリングでは、仮想ディスクのデータを即時的にミラーリング先のストレージ装置２０ｂにバックアップすることができる。
【００８４】
ステップＳ２０４にてＶＭ１１の移行準備目的のミラーリングであると判定された場合、選択部３１２は、ＶＭ移行の準備目的でミラーリングされている仮想ディスクで、且つ、転送すべきデータを選択してミラーリングする対象となっていないものの中で、単位時間当たりのデータの更新頻度が最大のものを選択する（ステップＳ２０６）。ここで、更新頻度が最大のものが複数存在する場合、選択部３１２は、任意の１つを選択する。
【００８５】
具体的には、選択部３１２は、ディスク情報テーブル３６の単位時間当たりの更新回数３６ｅに基づき、どの仮想ディスクをミラーリング対象とするかの選択を行う。選択部３１２は、更新頻度が低い仮想ディスクから順にミラーリング対象とする。例えば、図５のディスク情報テーブル３６の場合、選択部３１２は、即時性が要求されないＶＭ移行準備の目的の仮想ディスクのうち、更新回数３６ｅが「１６」の仮想ディスク（仮想ディスクＩＤ  ｖｄｉｓｋ−Ａ−０３００）を選択する。
【００８６】
更新頻度が高い仮想ディスクは、ミラーリング先のミラーリング・コントローラ３１ｂへの頻繁なデータ転送を引き起こす。これを回避するために、更新回数が高い仮想ディスク程ミラーリングの優先順位を下げることで、ＷＡＮ１０の帯域圧迫を抑制する。
【００８７】
次に、選択部３１２は、転送するデータを選択してミラーリングする対象とする（ステップＳ２０８）。仮想ディスク全体を転送する場合、選択部３１２は、ステップＳ２０６で選択された仮想ディスクの全データをミラーリング対象とする。
【００８８】
（仮想ディスクの一部の選択）
一方、仮想ディスクの一部を転送する場合、選択された仮想ディスクのうち、仮想ディスクを分割した複数のブロックのうちから転送するブロックを選択する。
【００８９】
ステップＳ２０８の転送すべきデータの中から転送するデータを選択する処理の詳細について、図１７を参照しながら説明する。図１７は、ブロック単位の転送データの選択処理を示したフローチャートである。
【００９０】
まず、ステップＳ３００にて、選択部３１２は、バッファ３１７に蓄えられている更新データがあるかを判定する。バッファ３１７に蓄えられている更新データがないと判定された場合、選択部３１２は、一定時間（例えば、１８０秒）待ち(ステップＳ３０２)、スタートへ戻る。
【００９１】
一方、バッファ３１７に蓄えられている更新データがあると判定された場合、選択部３１２は、ＷＡＮ１０の現在の利用可能帯域から転送可能な更新データの個数Ｎを計算する(ステップＳ３０４)。次に、選択部３１２は、バッファ３１７に蓄えられている更新データのうち、リードカウンタ３７ｄの値が大きい仮想ディスクのブロックから順番にＮ個のデータをブロック単位で選択する（ステップＳ３０６）。
【００９２】
次に、送信部３１４は、選択されたデータをミラーリング先のミラーリング・コントローラ３１ｂに送信し、(ステップＳ３０８)。ミラーリング先のストレージ装置２０ｂのデータ更新を要求する。
【００９３】
以上のように、仮想ディスクの一部をブロック単位で転送する場合、ミラーリング対象とするかの判定には読取回数を用いる。そして、読取回数が高いものから優先的にコピーする。これにより、よく利用されるデータは、ミラーリング先のストレージ装置に記憶されるタイミングが早くなり、あまり利用されないデータは、ミラーリング先のストレージ装置へ記憶されるタイミングが遅くなる。
【００９４】
図１６のステップＳ２０２に戻って、帯域の使用量が閾値テーブル３５に設定された閾値を超えていないと判定された場合、判定部３１１は、転送するデータを選択してミラーリングしている仮想ディスクがあるかを判定する（ステップＳ２１０）。なお、帯域の使用量が閾値を超えていないと判定された場合とは、ＷＡＮ１０の帯域が不足していない場合や、発生していたＷＡＮ１０の帯域不足が解消した場合等を含む。
【００９５】
ステップＳ２１０にてデータを選択してミラーリングしている仮想ディスクがないと判定された場合、スタートに戻る。一方、ステップＳ２１０にてデータを選択してミラーリングしている仮想ディスクがあると判定された場合、選択部３１２は、データを選択してミラーリングする対象となっているものの中で、単位時間当たりのデータの更新頻度が最小のものを選択する（ステップＳ２１２）。ここで、更新頻度が最小のものが複数存在する場合、選択部３１２は、任意の１つを選択する。次に、ＶＭ移行の準備目的のミラーリングを、データの更新を即時的に行うミラーリングの対象に戻す（ステップＳ２１４）。これにより、次にステップＳ２０２にて帯域不足と判定されるまで、ＶＭ移行の準備目的のミラーリングもバックアップ目的のミラーリングと同様に、即時的に転送が実行される。
【００９６】
以上に説明したように、本実施形態にかかる選択処理によれば、ＶＭ移行の準備目的のミラーリングでは、仮想ディスクのミラーリングを即時的に行わず、転送すべきデータの中から転送するデータを選択して、選択されたデータをミラーリングする。このようにして、ＶＭ移行の準備目的のミラーリングではデータの転送頻度を減らすことで、ＷＡＮ１０の帯域の消費を抑制することができる。
【００９７】
また、上記選択処理では、ミラーリング先のストレージ装置への頻繁なデータの更新がＷＡＮ１０の帯域を圧迫する。このため、データの更新頻度が低い仮想ディスクから順に転送されるように仮想ディスクのデータを選択する。この結果、よく書き込まれる仮想ディスクのデータ程ミラーリング先のミラーリング・コントローラへの転送が抑制される。これにより、ミラーリング先のストレージ装置への頻繁なデータ更新を抑制し、ＷＡＮ１０の帯域の消費を抑制する。
【００９８】
加えて、選択された仮想ディスクのうちの一部をブロック単位で転送する場合、相対的に利用頻度の高いブロックのデータから優先してミラーリング先のストレージ装置へ反映される。これにより、利用価値が高いと想定されるブロックのデータ程ミラーリング先のストレージ装置へのデータの更新タイミングを早めることができる。よって、即時性が要求されないＶＭ移行の準備目的のデータの中でも相対的に即時性が高いと想定されるデータを優先してミラーリングすることができる。このように、本実施形態にかかるデータ転送システム１によれば、データの更新頻度や読取頻度に応じて転送データが選択されるため、データが運用中に動的に変化した場合にもこれに応じて最適な転送データを選択することができる。
【００９９】
従って、頻繁に更新されるけれどもあまり利用されないデータについては更新データの転送を自動的に抑制してネットワーク帯域の消費を抑え、利用されることが多いデータの更新データを自動的に選択して転送することができる。
【０１００】
なお、上記実施形態にかかる判定処理では、判定部３１１により判定された特定の転送目的としてＶＭ移行の準備目的を例に挙げたが、これに限られない。即時性が要求されない転送目的であれば、特定の転送目的となり得る。例えば、データセンター等の設備が古くなったのでそのデータセンター内で運用されていたストレージ装置を別に移行する場合、ストレージ装置内のデータを他のストレージ装置に移行する必要がある。この場合にも、即時性が要求されない転送目的として特定の転送目的となり得る。
【０１０１】
一方、例えば、システム管理に用いるリソースのステータス等のデータは、定期的にストレージ装置に書き込まれるとともに、管理者側の機器のディスプレイに表示するために定期的に読み出される可能性が高い。このようなデータは、即時性が要求される転送目的を有するデータとして特定の転送目的から除外され、バックアップ目的と同様に即時性が要求されるミラーリング目的とされる。
【０１０２】
また、上記本実施形態にかかる選択処理では、ＷＡＮの帯域が不足した場合であって、ＶＭ移行の準備目的のミラーリングの場合には、仮想ディスクのミラーリングを即時的に行わず、ミラーリングすべき仮想ディスクから転送するデータを選択した。しかしながら、ＷＡＮの帯域が不足しているかにかかわらず、随時、本実施形態にかかる選択処理を実行してもよい。これにより、ＶＭ移行の準備目的のミラーリングではデータの転送頻度を減らすことで、ＷＡＮ１０の帯域の消費をさらに抑制することができる。
【０１０３】
また、上記実施形態におけるミラーリングでは、ネットワークの帯域を使用して２台のストレージ装置２０ａ、２０ｂのうち、ストレージ装置２０ａからストレージ装置２０ｂへ仮想ディスク内のミラーリングが行われた。しかしながら、ストレージ装置２０ｂからストレージ装置２０ａへ仮想ディスク内のミラーリングが行われてもよいし、図示しない他のストレージ装置からストレージ装置２０ａへ仮想ディスクのミラーリングが行われてもよい。
【０１０４】
（ハードウェア構成例）
最後に、ストレージ制御装置３０ａのハードウェア構成例について簡単に説明する。図１８は、本実施形態にかかるストレージ制御装置のハードウェア構成例を示す図である。
【０１０５】
図１８に示すように、ストレージ制御装置３０ａは、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、通信Ｉ／Ｆ１０７、ＨＤＤ（Hard Disk Drive）１０８及び入出力Ｉ／Ｆ１０９を備え、それぞれがバスＢで相互に接続されている。
【０１０６】
入力装置１０１は、キーボードやマウスなどを含み、ストレージ制御装置３０ａに各操作を入力するのに用いられる。表示装置１０２は、ディスプレイなどを含み、ストレージ制御装置３０ａの管理者にシステム運用結果等を表示する。
【０１０７】
通信Ｉ／Ｆ１０７は、ストレージ制御装置３０ａに内蔵されたミラーリング・コントローラ３１ａをＷＡＮ１０に接続するインタフェースである。これにより、ミラーリング・コントローラ３１ａは、通信Ｉ／Ｆ１０７を介して、他のミラーリング・コントローラと遠隔的なミラーリングを行うことができる。
【０１０８】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェアであるＯＳ（Operating System）、及びＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。また、ＨＤＤ１０８は、上記実施形態のミラーリング目的の判定処理や転送データの選択処理を行うためにＣＰＵ１０６により実行されるプログラムを格納する。
【０１０９】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。ストレージ制御装置３０ａは、外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａとしては、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびに、ＳＤメモリカード（SD Memory card）やＵＳＢメモリ（Universal Serial Bus memory）等が挙げられる。
【０１１０】
ＲＯＭ１０５は、不揮発性の半導体メモリ（記憶装置）であり、起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（例えば「ＨＤＤ」や「ＲＯＭ」など）から、プログラムやデータをＲＡＭ上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【０１１１】
入出力Ｉ／Ｆ１０９は、サーバ１５とのインタフェースである。これにより、ストレージ制御装置３０ａは、入出力Ｉ／Ｆ１０９を介して、サーバ１５からのストレージ装置２０ａへの読み取り要求や書き込み要求を受け付けることができる。
【０１１２】
制御部３２、Ｒ／Ｗ要求受付部３３、Ｒ／Ｗ実行部３４及びミラーリング・コントローラ３１０ａの各部は、ＨＤＤ１０８にインストールされたプログラムがＣＰＵ１０６に実行させる処理により実現される。閾値テーブル３５、ディスク情報テーブル３６、状態情報テーブル３７及び帯域情報テーブル３８は、例えば、ＲＡＭ１０４、ＨＤＤ１０８、又はストレージ制御装置３０ａにＷＡＮ１０を介して接続される記憶装置を用いて実現可能である。
【０１１３】
以上のように、本実施形態にかかるストレージ制御装置３０ａは、上記ハードウェア構成により上記実施形態のミラーリング目的の判定処理や転送データの選択処理を提供することができる。
【０１１４】
以上、データ転送装置、データ転送システム、データ転送方法及びプログラムを実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【０１１５】
例えば、以上の説明では、仮想ディスク内のデータの転送を例に挙げて説明したが、本発明にかかるデータ転送システムは、物理ディスク内のデータの転送にも適用可能である。
【０１１６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
記憶装置間にてネットワークを介してデータの転送を行うデータ転送装置であって、
前記記憶装置内の転送すべきデータの転送目的を判定する判定部と、
前記判定部により判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する選択部と、を有するデータ転送装置。
（付記２）
前記ネットワークの帯域を監視する帯域監視部を更に有し、
前記選択部は、前記帯域監視部により監視される前記ネットワークの帯域の使用量に応じて、前記転送すべきデータの中から転送するデータを選択する付記１に記載のデータ転送装置。
（付記３）
前記記憶装置に記憶されたデータの更新頻度を記憶する更新頻度記憶部を更に有し、
前記選択部は、前記特定の転送目的のデータに関して前記更新頻度記憶部が記憶する更新頻度に基づいて、前記転送すべきデータの中から転送するデータを選択する付記１又は２に記載のデータ転送装置。
（付記４）
前記記憶装置に記憶されたデータは、複数のブロックに分割され、
前記複数のブロックに分割されて前記記憶装置に記憶された各々のデータの読取頻度を記憶する読取頻度記憶部を更に有し、
前記選択部は、前記特定の転送目的のデータに関して前記読取頻度記憶部が記憶するブロック毎の読取頻度に基づいて、前記転送すべきデータの中から転送するデータのブロックを選択する付記３に記載のデータ転送装置。
（付記５）
前記選択部は、前記判定部により判定された結果が、即時性が要求されないデータ転送の目的を示す場合に、前記転送すべきデータの中から転送するデータを選択する付記１〜４のいずれか一項に記載のデータ転送装置。
（付記６）
複数の記憶装置と、該複数の記憶装置間にてネットワークを介してデータの転送を行うデータ転送装置と、を含むデータ転送システムであって、
前記データ転送装置は、
前記複数の記憶装置のいずれかの記憶装置内の転送すべきデータの転送目的を判定する判定部と、
前記判定部により判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する選択部と、を有するデータ転送システム。
（付記７）
前記データ転送装置は、
前記ネットワークの帯域を監視する帯域監視部を更に有し、
前記選択部は、前記帯域監視部により監視される前記ネットワークの帯域の使用量に応じて、前記転送すべきデータの中から転送するデータを選択する付記６に記載のデータシステム。
（付記８）
前記データ転送装置は、
前記記憶装置に記憶されたデータの更新頻度を記憶する更新頻度記憶部を更に有し、
前記選択部は、前記特定の転送目的のデータに関して前記更新頻度記憶部が記憶する更新頻度に基づいて、前記転送すべきデータの中から転送するデータを選択する付記６又は７に記載のデータ転送システム。
（付記９）
前記記憶装置に記憶されたデータは、複数のブロックに分割され、
前記データ転送装置は、
前記複数のブロックに分割されて前記記憶装置に記憶された各々のデータの読取頻度を記憶する読取頻度記憶部を更に有し、
前記選択部は、前記特定の転送目的のデータに関して前記読取頻度記憶部が記憶するブロック毎の読取頻度に基づいて、前記転送すべきデータの中から転送するデータのブロックを選択する付記８に記載のデータ転送システム。
（付記１０）
前記選択部は、前記判定部により判定された結果が、即時性が要求されないデータ転送の目的を示す場合に、前記転送すべきデータの中から転送するデータを選択する付記６〜９のいずれか一項に記載のデータ転送システム。
（付記１１）
記憶装置間にてネットワークを介してデータを転送する処理をコンピュータが実行するデータ転送方法であって、
転送すべきデータの転送目的を判定し、
前記判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータが実行するデータ転送方法。
（付記１２）
前記ネットワークの帯域を監視し、
前記監視される前記ネットワークの帯域の使用量に応じて、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータが実行する付記１１に記載のデータ転送方法。
（付記１３）
前記記憶装置に記憶されたデータの更新頻度を記憶し、
前記特定の転送目的のデータに関して前記記憶された更新頻度に基づいて、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータが実行する付記１１又は１２に記載のデータ転送方法。
（付記１４）
前記記憶装置に記憶されたデータは、複数のブロックに分割され、
前記複数のブロックに分割されて前記記憶装置に記憶された各々のデータの読取頻度を記憶し、
前記特定の転送目的のデータに関して前記記憶されたブロック毎の読取頻度に基づいて、前記転送すべきデータの中から転送するデータのブロックを選択する、
処理をコンピュータが実行する付記１３に記載のデータ転送方法。
（付記１５）
前記判定された結果が、即時性が要求されないデータ転送の目的を示す場合に、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータが実行する付記１１〜１４のいずれか一項に記載のデータ転送方法。
（付記１６）
記憶装置間にてネットワークを介してデータを転送する処理をコンピュータに実行させるプログラムであって、
転送すべきデータの転送目的を判定し、
前記判定された結果が特定の転送目的を示す場合、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータに実行させるプログラム。
（付記１７）
前記ネットワークの帯域を監視し、
前記監視される前記ネットワークの帯域の使用量に応じて、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータに実行させる付記１６に記載のプログラム。
（付記１８）
前記記憶装置に記憶されたデータの更新頻度を記憶し、
前記特定の転送目的のデータに関して前記記憶された更新頻度に基づいて、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータに実行させる付記１６又は１７に記載のプログラム。
（付記１９）
前記記憶装置に記憶されたデータは、複数のブロックに分割され、
前記複数のブロックに分割されて前記記憶装置に記憶された各々のデータの読取頻度を記憶し、
前記特定の転送目的のデータに関して前記記憶されたブロック毎の読取頻度に基づいて、前記転送すべきデータの中から転送するデータのブロックを選択する、
処理をコンピュータに実行させる付記１８に記載のプログラム。
（付記２０）
前記判定された結果が、即時性が要求されないデータ転送の目的を示す場合に、前記転送すべきデータの中から転送するデータを選択する、
処理をコンピュータに実行させる付記１６〜１９のいずれか一項に記載のプログラム。
（付記２１）
付記１６〜２０に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【符号の説明】
【０１１７】
１：データ転送システム、１０：ＷＡＮ、１５：物理サーバ、１６：ＶＭ情報テーブル、２０ａ、２０ｂ：ストレージ装置、３０ａ、３０ｂ：ストレージ制御装置、３１ａ、３１ｂ：ミラーリング・コントローラ、３６：ディスク情報テーブル、３６ｅ：更新回数、３７：状態情報テーブル、３７ｄ：リードカウンタ、３８：帯域情報テーブル、４２：サイト情報テーブル、３１１：判定部、３１２：選択部、３１３：帯域監視部、３１４：送信部、３１５：受信部、３１６：記憶部、３１７：バッファ
【図１】
2014186652.tif 000003
【図２】
2014186652.tif 000004
【図３】
2014186652.tif 000005
【図４】
2014186652.tif 000006
【図５】
2014186652.tif 000007
【図６】
2014186652.tif 000008
【図７】
2014186652.tif 000009
【図８】
2014186652.tif 000010
【図９】
2014186652.tif 000011
【図１０】
2014186652.tif 000012
【図１１】
2014186652.tif 000013
【図１２】
2014186652.tif 000014
【図１３】
2014186652.tif 000015
【図１４】
2014186652.tif 000016
【図１５】
2014186652.tif 000017
【図１６】
2014186652.tif 000018
【図１７】
2014186652.tif 000019
【図１８】
2014186652.tif 000020