(57)【要約】【課題】レプリケーションの進捗率をより実態に近い値で算出すること。【解決手段】本発明のレプリケーションシステムは、重複排除機能を有するマスタ側ストレージシステム及びレプリカ側ストレージシステムを備え、レプリケーションするデータがレプリカ側ストレージシステムに重複排除されて格納されるか否かを調査し、当該調査結果に基づいて、レプリケーション全体においてマスタ側ストレージシステムからレプリカ側ストレージシステムに転送されるデータのデータ総量を推定すると共に、当該推定されたデータ総量と所定のレプリケーション時点において転送されたデータのデータ量とに基づいて、レプリケーションの進捗率を算出する。【選択図】図１０
2014164634.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えており、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行部と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出部と、を備え、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出部は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
レプリケーションシステム。
【請求項２】
請求項１に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に重複排除されて格納されているか否か、及び、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否か、に応じて設定された分類のいずれに属するか否かを調査すると共に、当該各分類にそれぞれ属するデータのデータ量を算出し、
前記進捗率算出部は、前記レプリケーションするデータが属する分類毎のデータ量に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定する、
レプリケーションシステム。
【請求項３】
請求項２に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に対して重複排除されずに格納されているが前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるものである第一分類と、前記マスタ側ストレージシステムの記憶装置には重複排除されて格納されているが前記レプリカ側ストレージシステムの記憶装置には重複排除されずに格納されるものである第二分類と、に属するか否かを少なくとも調査すると共に、前記第一分類及び前記第二分類にそれぞれ属するデータのデータ量を算出する、
レプリケーションシステム。
【請求項４】
請求項２に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に重複排除されずに格納されているが前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるものである第一分類と、前記マスタ側ストレージシステムの記憶装置には重複排除されて格納されているが前記レプリカ側ストレージシステムの記憶装置には重複排除されずに格納されるものである第二分類と、前記マスタ側ストレージシステムの記憶装置に重複排除されて格納されており前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるものである第三分類と、前記マスタ側ストレージシステムの記憶装置に重複排除されずに格納されており前記レプリカ側ストレージシステムの記憶装置に重複排除されずに格納されるものである第四分類と、に属するか否かを調べると共に、前記各分類にそれぞれ属するデータのデータ量を算出する、
レプリケーションシステム。
【請求項５】
請求項３又は４に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、所定のレプリケーション時点において調査したレプリケーションするデータのデータ量を、前記分類毎に算出し、
前記進捗率算出部は、所定のレプリケーション時点において調べた前記第一分類及び前記第二分類のデータ量に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定する、
レプリケーションシステム。
【請求項６】
請求項５に記載のレプリケーションシステムであって、
前記進捗率算出部は、前記マスタ側ストレージシステムの記憶装置に重複排除されずに格納されているデータのデータ量に対して、前記第一分類のデータ量を減算すると共に前記第二分類のデータ量を加算した値を、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量として推定し、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータの転送量を、前記推定したデータ総量で除算することで、前記進捗率を算出する、
レプリケーションシステム。
【請求項７】
請求項１乃至６のいずれかに記載のレプリケーションシステムであって、
前記レプリケーション実行部は、レプリケーションするデータの調査を、当該データの内容に基づく当該データの特徴量を表すデータ特徴量情報に基づいて行う、
レプリケーションシステム。
【請求項８】
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えている場合に、前記マスタ側ストレージシステムと前記レプリカ側ストレージシステムとの間におけるレプリケーションを制御する情報処理装置に、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行部と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出部と、を実現させると共に、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出部は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
ことを実現させるためのプログラム。
【請求項９】
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えており、前記マスタ側ストレージシステムと前記レプリカ側ストレージシステムとの間におけるレプリケーション方法であって、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行工程と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出工程と、を有し、
前記レプリケーション実行工程は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出工程は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
レプリケーション方法。
【請求項１０】
請求項９に記載のレプリケーション方法であって、
前記レプリケーション実行工程は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に重複排除されて格納されているか否か、及び、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否か、に応じて設定された分類のいずれに属するか否かを調査すると共に、当該各分類にそれぞれ属するデータのデータ量を算出し、
前記進捗率算出工程は、前記レプリケーションするデータが属する分類毎のデータ量に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定する、
レプリケーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レプリケーションシステムにかかり、特に、重複記憶を排除する機能を有するストレージシステムを備えたレプリケーションシステムに関する。
【背景技術】
【０００２】
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
【０００３】
このような状況に応じて、近年では、特許文献１に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。また、コンテンツアドレスストレージシステムの中には、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納する、というものもある。
【０００４】
そして、上述したようなコンテンツアドレスストレージシステムでは、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
【０００５】
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される値、例えばデータのハッシュ値、に基づいて生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除して、データ容量の削減を図ることができる。
【０００６】
特に、上述したような重複記憶を排除する機能を有するストレージシステムでは、ファイルなど書き込み対象となるデータを所定容量の複数のブロックデータに分割して圧縮し、記憶装置に書き込む。このように、ファイルを分割したブロックデータ単位で重複記憶を排除することで、データ容量の削減を図っている。そして、ストレージシステムをデータのバックアップ用に使用する場合には、バックアップの容量を節約したり、レプリケーション時の帯域の節約を図ることができる。なお、かかるレプリケーションは、データの保全等の目的で、あるシステムに存在するデータをネットワーク等を介して他のシステムに送信し、複製することである。
【０００７】
上述した重複排除ストレージシステムにおけるレプリケーションでは、複製元のシステム（以下、マスタシステム）から複製先のシステム（以下、レプリカシステム）にデータの転送を行う前に、そのデータがレプリカシステムにすでに存在するかどうか確認を行う。そして、すでにレプリカシステムに存在するデータは、マスタシステムから転送することを省略することができ、転送データ量を削減することができる。具体的には、転送しようとしているデータのダイジェスト（ハッシュ値）をマスタシステムがレプリカシステムに送信し、そのダイジェストに基づいてレプリカシステムが自システムに同一のデータが存在しているか否かの確認を行う。そして、存在しないデータのみをマスタシステムへ送信の要求を行うことで実現している。
【０００８】
ここで、マスタシステムに存在し、レプリケーションの対象となるデータは、以下の４種類に分類可能である。
Ａ：マスタシステムでの書き込み時、すでにマスタシステム中に存在したために重複排除され、実際にデータの書き込みは行われなかった、かつ、レプリカシステムにも同一のデータが存在する。
Ｂ：マスタシステムでの書き込み時、マスタシステム中に存在しなかったためデータの書き込みが実際に行われたが、レプリカシステムには同一のデータが存在する。
Ｃ：マスタシステムでの書き込み時、すでにマスタシステム中に存在したために重複排除され、実際にデータの書き込みは行われなかったが、レプリカシステムには同一のデータが存在しない。
Ｄ：マスタシステムでの書き込み時、マスタシステム中に存在しなかったためデータの書き込みが実際に行われた、かつ、レプリカシステムにも同一のデータは存在しない。
【０００９】
レプリケーション開始前にマスタシステムが知ることができる数字は、レプリケーション対象データの合計（Ａ＋Ｂ＋Ｃ＋Ｄ）と、そのうち、重複排除されずに新たに書き込まれたデータのサイズの合計（Ｂ＋Ｄ）のみである。
【００１０】
上記ＡとＢに分類されるデータに関しては、ネットワークでの転送は行われず、レプリカシステムにおける存在確認のみが行われるため、非常に高速に処理される。ところが、上記ＣとＤに分類されるデータに関しては、レプリカシステムにおける存在確認の後、マスタシステムでの読み込み、ネットワークでの転送、レプリカシステムでの書き込みが必要となるため、非常に低速な処理となる。すなわち、レプリケーションに占める処理時間はほぼ、上記ＣとＤに分類されるデータの処理による時間で占められることとなる。
【００１１】
レプリケーションの処理は、特にマスタシステムとレプリカシステム間のネットワークの帯域が狭い場合は、非常に時間がかかることが多い。そのため、レプリケーションの開始から終了まで線形に増加し、完了までの所要時間の予測が行いやすい進捗率を知りたいという高いニーズがある。例えば、特許文献２に、データの複製時にデータ転送時間を予測することが記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５−２３５１７１号公報
【特許文献２】特開２０１２−２４７９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ここで、レプリケーションの進捗率を計算するためには、上述した理由から、上記ＣとＤに分類されるデータの総量を知ることが必要となる。しかし、レプリケーション対象となるデータを持つマスタシステムが、レプリカシステムに事前に問い合わせずにこれを知ることは困難である。つまり、マスタシステムが、レプリケーションが完了する前に上記データの総量を知ることは困難である。
【００１４】
一方で、マスタシステムがレプリケーション実行前に得ることができるのは「Ａ＋Ｂ＋Ｃ＋Ｄ」と「Ｂ＋Ｄ」のみである。このため、これまでは、「Ｃ＋Ｄ」の代わりに「Ｂ＋Ｄ」をレプリケーション処理の総量と仮定し、レプリケーションのある時点において、「レプリケーション開始からのデータの転送量」を、「Ｂ＋Ｄ」で割ることで、進捗率の計算を行うことが考えられていた。
【００１５】
しかしながら、上記「Ｂ＋Ｄ」と「Ｃ＋Ｄ」の差分が大きい場合は、以下のような問題が発生する。
・（Ｂ＋Ｄ）＞（Ｃ＋Ｄ）の場合：進捗率は低い数字でなかなか上昇せず、突然レプリケーションが完了する。
・（Ｂ＋Ｄ）＜（Ｃ＋Ｄ）の場合：進捗率はレプリケーションの実行途中でほぼ１００％まで上昇してしまう。
【００１６】
いずれの場合も、ある時点の進捗率をもとに行うレプリケーション完了までの所要時間の予測は大きく外れることとなる。以上のことから、重複排除ストレージシステムにおいてレプリケーションの進捗率をより実態に近い値で算出することが困難であるという問題があった。
【００１７】
このため、本発明の目的は、上述した課題である、重複排除ストレージシステムにおいてレプリケーションの進捗率をより実態に近い値で算出することが困難である、ということを解決することができるレプリケーションシステムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明の一形態であるレプリケーションシステムは、
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えており、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行部と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出部と、を備え、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出部は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
という構成をとる。
【００１９】
本発明の他の形態であるプログラムは、
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えている場合に、前記マスタ側ストレージシステムと前記レプリカ側ストレージシステムとの間におけるレプリケーションを制御する情報処理装置に、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行部と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出部と、を実現させると共に、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出部は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
ことを実現させるためのプログラムである。
【００２０】
本発明の他の形態であるレプリケーション方法は、
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えており、前記マスタ側ストレージシステムと前記レプリカ側ストレージシステムとの間におけるレプリケーション方法であって、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行工程と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出工程と、を有し、
前記レプリケーション実行工程は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出工程は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
という構成をとる。
【発明の効果】
【００２１】
本発明は、以上のように構成されることにより、ストレージシステムにおいてレプリケーションの進捗率をより実態に近い値で算出することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態１におけるレプリケーションシステムの構成を示すブロック図である。
【図２】図１に開示したマスタシステムあるいはレプリカシステムの構成の概略を示すブロック図である。
【図３】図１に開示したマスタシステムあるいはレプリカシステムにおけるデータ書き込み処理の様子を説明するための説明図である。
【図４】図１に開示したマスタシステムあるいはレプリカシステムデータ書き込み処理の様子を説明する説明図である。
【図５】図１に開示したマスタシステムにおいて格納されるメタデータの構造を示す図である。
【図６】図１に開示したレプリケーションシステムにてレプリケーションされるデータの分類を示す図である。
【図７】図１に開示したレプリケーションシステムによるファイル書き込み処理の動作を示すフローチャートである。
【図８】図１に開示したレプリケーションシステムによるレプリケーション処理の動作を示すフローチャートである。
【図９】図１に開示したレプリケーションシステムによる進捗率算出処理の動作を示すフローチャートである。
【図１０】本発明の付記１におけるストレージシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００２３】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図９を参照して説明する。図１は、レプリケーションシステム全体の構成を示すブロック図である。図２は、レプリケーションシステムを構成するストレージシステムの概略を示すブロック図である。図３乃至図６は、レプリケーションシステムにおけるデータ書き込み処理及びレプリケーション処理の動作を説明するための説明図である。図７乃至図９は、レプリケーションシステムの動作を示すフローチャートである。
【００２４】
ここで、本実施形態は、後述する付記に記載のレプリケーションシステムを構成するマスタ側ストレージシステム及びレプリカ側ストレージシステムの具体的な一例を示すものである。そして、以下では、各ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるレプリケーションシステムを構成する各ストレージシステムは、複数台のコンピュータにて構成されることに限定されず、１台のコンピュータで構成されていてもよい。
【００２５】
［構成］
図１に示すように、本実施形態におけるレプリケーションシステムは、ストレージシステムであるマスタシステム１０及びレプリカシステム２０がネットワークを介して接続されている。また、マスタシステム１０には、ユーザシステム３０が接続されている。
【００２６】
まず、上記ユーザシステム３０は、後述するマスタシステム１０上のファイルシステムビュー提供部１４を介して、一般的なファイル・ディレクトリの操作によって、マスタシステム１０に対してデータの読み書き等を行う。また、ユーザシステム３０は、後述するレプリケーションの進捗率をマスタシステム１０に要求し、これに応じて算出された進捗率を閲覧する。
【００２７】
上記マスタシステム１０は、演算装置（図示せず）と記憶装置１１とを備えており、演算装置にプログラムが組み込まれることで構築された、マスタ側レプリケーション実行部１２と、データ分類情報管理部１３と、ファイルシステムビュー提供部１４と、進捗情報閲覧部１５と、を備えている。また、レプリカシステム２０は、演算装置（図示せず）と記憶装置２１とを備えており、演算装置にプログラムが組み込まれることで構築された、レプリカ側レプリケーション実行部２２を備えている。
【００２８】
上記ファイルシステムビュー提供部１４は、ユーザシステム３０からの要求に応じて、記憶装置１１にデータを書き込む処理や、記憶装置１１からデータを読み出す処理を行い、ユーザシステム３０にファイルシステムビューを提供する。ここで、マスタシステム１０は、記憶装置１１にデータを書き込む際に、重複記憶を排除する機能を有する。また、レプリカシステム２０は、マスタシステム１０からレプリケーションされたデータを記憶装置２１に記憶するが、当該レプリカシステム２０も重複記憶を排除する機能を有する。以下、マスタシステム１０及びレプリカシステム２０であるストレージシステム１が備える重複記憶を排除する機能について、図２乃至図４を参照して説明する。
【００２９】
図２に示すように、本実施形態におけるマスタシステム１０及びレプリカシステム２０であるストレージシステム１は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム１は、ストレージシステム１自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード２と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード３と、を備えている。なお、アクセラレータノード２の数とストレージノード３の数は、図２に示したものに限定されず、さらに多くの各ノード２，３が接続されて構成されていてもよい。
【００３０】
さらに、本実施形態におけるストレージシステム１は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。
【００３１】
なお、以下では、ストレージシステム１が１つのシステムであるとして、当該ストレージシステム１が備えている構成及び機能を説明する。つまり、以下に説明するストレージシステム１が有する構成及び機能は、アクセラレータノード２あるいはストレージノード３のいずれに備えられていてもよい。なお、ストレージシステム１は、図２に示すように、必ずしもアクセラレータノード２とストレージノード３とを備えていることに限定されず、いかなる構成であってもよく、例えば、１台のコンピュータにて構成されていてもよい。さらには、ストレージシステム１は、コンテンツアドレスストレージシステムであることにも限定されず、重複排除機能を有しているストレージシステムであればよい。
【００３２】
次に、本実施形態におけるストレージシステム１によるコンテンツアドレスを利用したデータ書き込み処理及び読み出し処理について、図３及び図４を参照して説明する。
【００３３】
まず、図３及び図４の矢印Ｙ１に示すように、ストレージシステム１が書き込み要求されたファイルＡの入力を受ける。すると、図３及び図４の矢印Ｙ２に示すように、ファイルＡを所定容量（例えば、６４ＫＢ）のブロックデータＤに分割する。
【００３４】
続いて、分割されたブロックデータＤのデータ内容に基づいて、当該データ内容を代表する固有のハッシュ値Ｈを算出する（図４の矢印Ｙ３）。例えば、ハッシュ値Ｈは、予め設定されたハッシュ関数を用いて、ブロックデータＤのデータ内容から算出する。
【００３５】
続いて、ファイルＡのブロックデータＤのハッシュ値Ｈを用いて、当該ブロックデータＤが既に格納されているか否かを調べる。具体的には、まず、既に格納されているブロックデータＤは、そのハッシュ値Ｈと格納位置を表すコンテンツアドレスＣＡとが、関連付けられてＭＦＩ（Ｍａｉｎ  Ｆｒａｇｍｅｎｔ  Ｉｎｄｅｘ）ファイルに登録されている。従って、格納前に算出したブロックデータＤのハッシュ値ＨがＭＦＩファイル内に存在している場合には、既に同一内容のブロックデータＤが格納されていると判断できる（図４の矢印Ｙ４）。この場合には、格納前のブロックデータＤのハッシュ値Ｈと一致したＭＦＩ内のハッシュ値Ｈに関連付けられているコンテンツアドレスＣＡを、当該ＭＦＩファイルから取得する。そして、このコンテンツアドレスＣＡを、書き込み要求されたブロックデータＤのコンテンツアドレスＣＡとして返却する。
【００３６】
そして、返却されたコンテンツアドレスＣＡが参照する既に格納されているデータを、書き込み要求されたブロックデータＤとして使用する。つまり、書き込み要求されたブロックデータＤの格納先として、返却されたコンテンツアドレスＣＡが参照する領域を指定することで、当該書き込み要求されたブロックデータＤを記憶したこととする。これにより、書き込み要求にかかるブロックデータＤを、実際に記憶装置内に記憶する必要がなくなる。
【００３７】
また、書き込み要求にかかるブロックデータＤがまだ記憶されていないと判断された場合には、以下のようにして書き込み要求にかかるブロックデータＤの書き込みを行う。まず、書き込み要求にかかるブロックデータＤを圧縮して、図４の矢印Ｙ５に示すように、複数の所定の容量のフラグメントデータに分割する。例えば、図３の符号Ｄ１〜Ｄ９に示すように、９つのフラグメントデータ（分割データ４１）に分割する。そしてさらに、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータを復元可能なよう冗長データを生成し、上記分割したフラグメントデータ４１に追加する。例えば、図３の符号Ｄ１０〜Ｄ１２に示すように、３つのフラグメントデータ（冗長データ４２）を追加する。これにより、９つの分割データ４１と、３つの冗長データ４２とにより構成される１２個のフラグメントデータからなるデータセット４０を生成する。
【００３８】
続いて、上述したように生成されたデータセットを構成する各フラグメントデータを、記憶装置に形成された各記憶領域に、それぞれ分散して格納する。例えば、図３に示すように、１２個のフラグメントデータＤ１〜Ｄ１２を生成した場合には、複数の記憶装置内にそれぞれ形成したデータ格納ファイルに、各フラグメントデータＤ１〜Ｄ１２を１つずつそれぞれ格納する（図４の矢印Ｙ６参照）。
【００３９】
続いて、ストレージシステム１は、上述したように格納したフラグメントデータＤ１〜Ｄ１２の格納位置、つまり、当該フラグメントデータＤ１〜Ｄ１２にて復元されるブロックデータＤの格納位置を表すコンテンツアドレスＣＡを生成して管理する。具体的には、格納したブロックデータＤの内容に基づいて算出したハッシュ値Ｈの一部（ショートハッシュ）（例えば、ハッシュ値Ｈの先頭８Ｂ（バイト））と、論理格納位置を表す情報と、を組み合わせて、コンテンツアドレスＣＡを生成する。そして、このコンテンツアドレスＣＡを、ストレージシステム１内のファイルシステムに返却する（図４の矢印Ｙ７）。すると、ストレージシステム１は、バックアップ対象データのファイル名などの識別情報と、コンテンツアドレスＣＡとを関連付けてファイルシステムで管理する。
【００４０】
また、ブロックデータＤのコンテンツアドレスＣＡと、当該ブロックデータＤのハッシュ値Ｈと、を関連付けて、各ストレージノード３がＭＦＩファイルにて管理する。このように、上記コンテンツアドレスＣＡは、ファイルを特定する情報やハッシュ値Ｈなどと関連付けられて、アクセラレータノード２やストレージノード３の記憶装置に格納される。
【００４１】
さらに、ストレージシステム１は、上述したように格納したファイルを読み出す制御を行う。例えば、ストレージシステム１に対して、特定のファイルを指定して読み出し要求があると、まず、ファイルシステムに基づいて、読み出し要求にかかるファイルに対応するハッシュ値の一部であるショートハッシュと論理位置の情報からなるコンテンツアドレスＣＡを指定する。そして、コンテンツアドレスＣＡがＭＦＩファイルに登録されているか否かを調べる。登録されていなければ、要求されたデータは格納されていないため、エラーを返却する。
【００４２】
一方、読み出し要求にかかるコンテンツアドレスＣＡが登録されている場合には、上記コンテンツアドレスＣＡにて指定される格納位置を特定し、この特定された格納位置に格納されている各フラグメントデータを、読み出し要求されたデータとして読み出す。このとき、各フラグメントが格納されているデータ格納ファイルと、当該データ格納ファイルのうち１つのフラグメントデータの格納位置が分かれば、同一の格納位置から他のフラグメントデータの格納位置を特定することができる。
【００４３】
そして、読み出し要求に応じて読み出した各フラグメントデータからブロックデータＤを復元する。さらに、復元したブロックデータＤを複数連結し、ファイルＡなどの一群のデータに復元して返却する。
【００４４】
次に、上述したように重複排除機能を有するマスタシステム１０（マスタ側ストレージシステム）の記憶装置１１内に書き込まれたデータを、同じく重複排除機能を有するレプリカシステム２０（レプリカ側ストレージシステム）の記憶装置２１にレプリケーションする際における進捗率を算出するための構成を、さらに説明する。
【００４５】
まず、マスタシステム１０側のファイルシステムビュー提供部１４は、記憶装置１１にファイルを書き込む際に、上述したように重複記憶を排除してブロックデータを書き込む。このとき、ブロックデータが重複排除されたか否かを判別し、当該ブロックデータのアドレスに対応付けて、重複排除されたか否かを表す重複排除フラグを設定する。そして、図５に示すように、ファイルを構成するブロックデータのアドレス毎に重複排除フラグを設定したメタデータを作成し、記憶装置１１に記憶する。このメタデータを調べることで、マスタシステム１０は、記憶装置１１に重複排除されずに格納されているブロックデータを認識することができ、後述するように、マスタシステム１０側でＢ分類あるいはＤ分類に該当するブロックデータのサイズを把握することができる。
【００４６】
上記マスタ側レプリケーション実行部１２（レプリケーション実行部）は、レプリカ側レプリケーション実行部２２（レプリケーション実行部）とネットワークを介して通信を行い、マスタシステム１０の記憶装置１１に記憶されているデータをレプリカシステム２０の記憶装置２１にレプリケーションする処理を行う。マスタ側レプリケーション実行部１２は、記憶装置１１に記憶されているデータをレプリケーションする際に、レプリカ側レプリケーション実行部２２と協働して、レプリケーションする対象となるデータが、マスタシステム１０内で重複排除されて格納されているか否か、及び、レプリケーション後にレプリカシステム２０内で重複排除されて格納されるか否か、を調査する。特に、レプリケーションの対象となるデータが、以下の４種類のいずれに該当するかを調べる。なお、以下の分類表を図６に示す。
【００４７】
Ａ：マスタシステムでの書き込み時、すでにマスタシステム中に存在したために重複排除され、実際にデータの書き込みは行われなかった、かつ、レプリカシステムにも同一のデータが存在する。（第三分類）
Ｂ：マスタシステムでの書き込み時、マスタシステム中に存在しなかったためデータの書き込みが実際に行われたが、レプリカシステムには同一のデータが存在する。（第一分類）
Ｃ：マスタシステムでの書き込み時、すでにマスタシステム中に存在したために重複排除され、実際にデータの書き込みは行われなかったが、レプリカシステムには同一のデータが存在しない。（第二分類）
Ｄ：マスタシステムでの書き込み時、マスタシステム中に存在しなかったためデータの書き込みが実際に行われた、かつ、レプリカシステムにも同一のデータは存在しない。（第四分類）
【００４８】
具体的に、マスタ側レプリケーション実行部１２は、レプリケーションするブロックデータのメタデータを記憶装置１１から読み出し、重複排除フラグから、当該ブロックデータが重複排除されているか否かを調べる。また、マスタ側レプリケーション実行部１２は、レプリケーションするブロックデータのダイジェストであるハッシュ値を記憶装置１１から読み出し、レプリカ側レプリケーション実行部２２に既に記憶されているか否かの存在確認の要求を行う。これを受けて、レプリカ側レプリケーション実行部２２は、存在確認を要求されたブロックデータのハッシュ値から同一内容のブロックデータを記憶装置２１に記憶しているか否かを確認し、確認結果をマスタ側レプリケーション実行部１２に通知する。
【００４９】
そして、マスタ側レプリケーション実行部１２は、上述した調査の結果、つまり、レプリカ側レプリケーション実行部２２から受け取った確認結果（各ブロックデータがＡ又はＢの分類に該当するか、Ｃ又はＤの分類に該当するか、を判断可能な情報）と、メタデータ中の各ブロックデータに対応する重複排除フラグと、に基づいて、各ブロックデータが、Ａ，Ｂ，Ｃ，Ｄのいずれの分類に該当するかを判断する。このとき、マスタ側レプリケーション実行部１２は、各分類に該当するブロックデータのサイズ（容量）を取得し、各分類に該当するブロックデータのサイズを分類ごとに加算して、データ分類情報管理部１３に格納する。そして、マスタ側レプリケーション実行部１２は、上記Ｃ又はＤに分類されるブロックデータについては、記憶装置１１から読み出し、レプリカ側レプリケーション実行部２２に対してレプリケーションのために送信する。
【００５０】
ここで、データ分類情報管理部１３には、上述したＡ、Ｂ，Ｃ，Ｄのそれぞれの分類ごとのカウンタを、分類情報として保持する。なお、この分類情報は、レプリケーション開始時に初期化される。
【００５１】
上記進捗情報閲覧部１５（進捗率算出部）は、ユーザシステム３０から進捗率の閲覧要求を受けて、進捗率の算出を行い、ユーザにて閲覧可能なようユーザシステム３０に提供する。進捗率は、レプリケーション開始から進捗率算出時点までに、マスタシステム１０からレプリカシステム２０に転送されたデータ量（Ｃ’＋Ｄ’）を、レプリケーション全体においてマスタシステム１０からレプリカシステム２０に転送されて当該レプリカシステム２０に重複排除されずに新たに格納されうるデータ総量（Ｃ＋Ｄ）で除算して、算出する。このとき、上記Ｂ又はＤに分類されるマスタシステム１０に重複排除されずに記憶されているデータのデータ量（Ｂ＋Ｄ）を、進捗率算出時点においてＢ及びＣの分類と判別されたデータ量（Ｂ’，Ｃ’）で補正することで、レプリケーション全体においてマスタシステム１０からレプリカシステム２０に転送されうるデータ総量（Ｃ＋Ｄ）を推定する。なお、進捗率の具体的な計算方法は、後の動作説明時に詳しく説明する。
【００５２】
［動作］
次に、上述したレプリケーションシステムの動作を、図７乃至図９のフローチャートを参照して説明する。まず、図７を参照して、ユーザシステム３０からの要求に応じて、マスタシステム１０にファイルを書き込むときの動作を説明する。
【００５３】
ファイルシステムビュー提供部１４は、ユーザシステム３０からファイルの書き込み要求を受け取ると、記憶装置１１に書き込みを要求する（ステップＳ１）。書き込み処理は、上述したように、書き込み要求にかかるファイルを構成するブロックデータと同一内容のブロックデータが既に記憶されているか否かの重複判定を行い（ステップＳ２）、既に記憶されているブロックデータが存在する場合はそれを参照し、存在しない場合には新規に記憶装置１１に格納する（ステップＳ３）。
【００５４】
ファイルの書き込みが完了すると、記憶装置１１から書き込んだファイルを構成するブロックデータのアドレスの一覧を受け取り、それぞれについて重複排除されたかどうか（ＡもしくはＣに当たるか、ＢもしくはＤに当たるか）を示す重複排除フラグを設定して、ファイルのメタデータを作成する。そして、ファイルのメタデータを記憶装置１１に書き込む（ステップＳ４）。
【００５５】
次に、図８を参照して、レプリケーションの実行時の動作を説明する。マスタ側レプリケーション実行部１２は、レプリケーションの開始時に、データ分類情報管理部１３に対して分類情報の記録開始を要求する。データ分類情報管理部１３は、記録開始の要求を受けて、初期化した分類情報（ゼロクリアしたカウンタ群）を用意する（ステップＳ１１）。
【００５６】
続いて、マスタ側レプリケーション実行部１２は、記憶装置１１に対してレプリケーションする対象となるブロックデータのダイジェスト（ハッシュ値）の読み出しを要求して、当該ダイジェストを取得する（ステップＳ１２）。そして、マスタ側レプリケーション実行部１２は、レプリケーション対象のブロックデータのダイジェストをレプリカ側レプリケーション実行部２２に送信して、レプリケーション対象のブロックデータの存在確認の要求を行う（ステップＳ１３）。
【００５７】
レプリカ側レプリケーション実行部２２は、マスタ側レプリケーション実行部１２から受け取ったブロックデータのダイジェストを記憶装置２１に渡し、同一のブロックデータを所持しているかどうかの確認を行う。そして、レプリカ側レプリケーション実行部２２は、存在確認結果をマスタ側レプリケーション実行部１２に知らせる。
【００５８】
マスタ側レプリケーション実行部１２は、レプリカ側レプリケーション実行部２２から、ブロックデータがレプリカシステム２０に存在しているか否かの確認結果、つまり、各ブロックデータがＡもしくはＢに当たるか、ＣもしくはＤに当たるかを判断可能な情報を受け取る。また、マスタ側レプリケーション実行部１２は、記憶装置１１からメタデータを取得し、当該メタデータ中の各ブロックデータに対応する重複排除フラグに基づいて、ブロックデータがマスタシステム内で重複排除されているか否かを確認する（ステップＳ１４）。そして、マスタ側レプリケーション実行部１２は、レプリカ側レプリケーション実行部２２の存在確認結果と、マスタ側レプリケーション実行部１２による重複排除の確認結果と、に基づいて、各ブロックデータがＡ，Ｂ，Ｃ，Ｄの何れに分類されるかを判定する（ステップＳ１５）。
【００５９】
続いて、マスタ側レプリケーション実行部１２は、データ分類情報管理部１３に対して、判定したブロックデータの分類に対応するカウンタに、当該ブロックデータのサイズを加算する要求を行う（ステップＳ１６）。そして、ＣもしくはＤに分類されるブロックデータ、つまり、レプリカシステム２０に存在しないブロックデータについては、マスタ側レプリケーション実行部１２が記憶装置１１から読み出して、レプリカ側レプリケーション実行部２２に対して送信する。
【００６０】
レプリカ側レプリケーション実行部２２は、マスタ側レプリケーション実行部１２から受け取ったブロックデータの書き込みの要求を記憶装置２１に対して行い、当該記憶装置２１に書き込みを行う。そして、上述したステップＳ１２からステップＳ１６までの処理を、すべてのレプリケーション対象となるブロックデータに対して行う（ステップＳ１７）。
【００６１】
次に、図９を参照して、進捗率の提供時の動作を説明する。進捗情報閲覧部１５は、レプリケーション実行中に、ユーザシステム３０からの進捗率の取得の要求を受けて、マスタ側レプリケーション実行部１２に対して進捗率の取得を要求する（ステップＳ２１）。マスタ側レプリケーション実行部１２は、データ分類情報管理部１３に対して分類情報の取得を要求し、Ａ，Ｂ，Ｃ，Ｄの各分類についてその時点のカウンタ値を取得し、以下の式で進捗率を計算して、進捗情報閲覧部１５に返却する。なお、以下の進捗率の計算は、進捗情報閲覧部１５にて実行されてもよい。
【００６２】
進捗率＝（Ｃ’＋Ｄ’）÷（（Ｂ＋Ｄ）−（（Ｂ’＋Ｄ’）÷（Ｂ＋Ｄ））×（Ｂ’÷（Ｂ’＋Ｄ’））×（Ｂ＋Ｄ）＋（（Ａ’＋Ｃ’）÷（Ａ＋Ｃ））×（Ｃ’÷（Ａ’＋Ｃ’））×（Ａ＋Ｃ））
＝（Ｃ’＋Ｄ’）÷（Ｂ＋Ｄ−Ｂ’＋Ｃ’）
【００６３】
上記式において、Ａ，Ｂ，Ｃ，Ｄは、対応する各分類の最終的なデータ量（レプリケーション完了時点での集計結果）を意味する。また、Ａ’，Ｂ’，Ｃ’，Ｄ’は、レプリケーション実行中のある時点（例えば、進捗率の要求時点）でデータ分類情報管理部１３から取得される、対応する各分類の分類情報を意味する。
【００６４】
なお、上記式中の一部の式は、それぞれ以下の内容を表している。
（Ｂ’＋Ｄ’）÷（Ｂ＋Ｄ）：マスタシステム１０で書き込み時に重複排除されなかったブロックデータの処理の進捗率
（Ａ’＋Ｃ’）÷（Ａ＋Ｃ）：マスタシステム１０で書き込み時に重複排除されたブロックデータの処理の進捗率
Ｂ’÷（Ｂ’＋Ｄ’）：マスタシステム１０で書き込み時に重複排除されなかったブロックデータのうち、レプリケーション処理済かつ、レプリカサイト２０で重複排除されたブロックデータの割合
Ｃ’÷（Ａ’＋Ｃ’））×（Ａ＋Ｃ）：マスタシステム１０で書き込み時に重複排除されたブロックデータのうち、レプリケーション処理済かつ、レプリカサイトで重複排除されなかったブロックデータの割合
【００６５】
上記計算式では、ＡとＤに分類されるデータが大半で、ＢとＣはほとんど存在しない、つまり、レプリカシステム２０に格納されるデータの大半はマスタシステム１０に格納されているデータの複製である、という仮定の下で、まずレプリケーション開始時点での処理量の予測値を、「Ｂ＋Ｄ」とする。すなわち、ＢとＣはほとんど存在しないので、レプリケーション全体における処理量Ｃ＋Ｄ≒Ｂ＋Ｄと考える。この「Ｂ＋Ｄ」の値は、マスタシステム１０にて重複排除フラグを参照することで得ることができる。そして、処理の過程で得られる情報（Ａ’，Ｂ’，Ｃ’，Ｄ’）をもとに、上記予測値「Ｂ＋Ｄ」の補正を行い、その時点の転送データ量（Ｃ’＋Ｄ’）を割ることで、進捗率を計算する。
【００６６】
具体的に、上記処理量の予測値「Ｂ＋Ｄ」の補正は、次のように行う。まず、初期値「Ｂ＋Ｄ」から、ＢもしくはＤに分類されるデータについては、重複排除されたデータの比率（Ｂ’÷（Ｂ’＋Ｄ’））に総量（Ｂ＋Ｄ）を掛け、ＢとＤの発生の偏りによるゆらぎの影響を軽減するために、ＢとＤに属するデータの処理の完了比率（（Ｂ’＋Ｄ’）÷（Ｂ＋Ｄ））を掛けた数、を減算する。また、初期値「Ｂ＋Ｄ」に対して、ＡもしくはＣに分類されるデータについては、重複排除されたデータの比率（Ａ’÷（Ａ’＋Ｃ’））に総量（Ａ＋Ｃ）を掛け、ＡとＣの発生の偏りによるゆらぎの影響を軽減するために、ＡとＣに属するデータの処理の完了比率（（Ａ’＋Ｃ’）÷（Ａ＋Ｃ））を掛けた数、を加算する。
【００６７】
上述した計算における処理量（Ｃ＋Ｄ）の予測値の補正方法は、初期値「Ｂ＋Ｄ」から、レプリケーションの過程で得られる「Ｂ’」を引き、「Ｃ’」を足すことと同等であり、最終的に真の処理量である「Ｃ＋Ｄ」を適切に表すことができる。
【００６８】
以上のように、本発明によると、レプリケーションの処理の過程で、処理済みのデータを上記Ａ，Ｂ，Ｃ，Ｄに分類し、それぞれ集計を行い、このデータを元に、処理量「Ｃ＋Ｄ」の推定値を得て、進捗率を算出する。従って、より実態に近い進捗率を得ることができる。
【００６９】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるレプリケーションシステム（図１０参照）、プログラム、レプリケーション方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【００７０】
（付記１）
それぞれ記憶装置１１０，２１０を備えたマスタ側ストレージシステム１００及びレプリカ側ストレージシステム２００が、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えており、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行部１０１，２０１と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出部１０２と、を備え、
前記レプリケーション実行部１０１，２０１は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出部１０２は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
レプリケーションシステム。
【００７１】
（付記２）
付記１に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に重複排除されて格納されているか否か、及び、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否か、に応じて設定された分類のいずれに属するか否かを調査すると共に、当該各分類にそれぞれ属するデータのデータ量を算出し、
前記進捗率算出部は、前記レプリケーションするデータが属する分類毎のデータ量に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定する、
レプリケーションシステム。
【００７２】
（付記３）
付記２に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に対して重複排除されずに格納されているが前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるものである第一分類（Ｂ）と、前記マスタ側ストレージシステムの記憶装置には重複排除されて格納されているが前記レプリカ側ストレージシステムの記憶装置には重複排除されずに格納されるものである第二分類（Ｃ）と、に属するか否かを少なくとも調査すると共に、前記第一分類及び前記第二分類にそれぞれ属するデータのデータ量を算出する、
レプリケーションシステム。
【００７３】
（付記４）
付記２に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に重複排除されずに格納されているが前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるものである第一分類（Ｂ）と、前記マスタ側ストレージシステムの記憶装置には重複排除されて格納されているが前記レプリカ側ストレージシステムの記憶装置には重複排除されずに格納されるものである第二分類（Ｃ）と、前記マスタ側ストレージシステムの記憶装置に重複排除されて格納されており前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるものである第三分類（Ａ）と、前記マスタ側ストレージシステムの記憶装置に重複排除されずに格納されており前記レプリカ側ストレージシステムの記憶装置に重複排除されずに格納されるものである第四分類（Ｄ）と、に属するか否かを調べると共に、前記各分類にそれぞれ属するデータのデータ量を算出する、
レプリケーションシステム。
【００７４】
（付記５）
付記３又は４に記載のレプリケーションシステムであって、
前記レプリケーション実行部は、所定のレプリケーション時点において調査したレプリケーションするデータのデータ量を、前記分類毎に算出し、
前記進捗率算出部は、所定のレプリケーション時点において調べた前記第一分類及び前記第二分類のデータ量に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定する、
レプリケーションシステム。
【００７５】
（付記６）
付記５に記載のレプリケーションシステムであって、
前記進捗率算出部は、前記マスタ側ストレージシステムの記憶装置に重複排除されずに格納されているデータのデータ量に対して、前記第一分類のデータ量を減算すると共に前記第二分類のデータ量を加算した値を、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量として推定し、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータの転送量を、前記推定したデータ総量で除算することで、前記進捗率を算出する、
レプリケーションシステム。
【００７６】
（付記７）
付記１乃至６のいずれかに記載のレプリケーションシステムであって、
前記レプリケーション実行部は、レプリケーションするデータの調査を、当該データの内容に基づく当該データの特徴量を表すデータ特徴量情報に基づいて行う、
レプリケーションシステム。
【００７７】
（付記８）
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えている場合に、前記マスタ側ストレージシステムと前記レプリカ側ストレージシステムとの間におけるレプリケーションを制御する情報処理装置に、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行部と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出部と、を実現させると共に、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出部は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
ことを実現させるためのプログラム。
【００７８】
（付記８−２）
付記８に記載のプログラムであって、
前記レプリケーション実行部は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に重複排除されて格納されているか否か、及び、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否か、に応じて設定された分類のいずれに属するか否かを調査すると共に、当該各分類にそれぞれ属するデータのデータ量を算出し、
前記進捗率算出部は、前記レプリケーションするデータが属する分類毎のデータ量に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定する、
プログラム。
【００７９】
（付記９）
それぞれ記憶装置を備えたマスタ側ストレージシステム及びレプリカ側ストレージシステムが、データを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一のデータ内容の他のデータを記憶装置に格納する場合に、当該記憶装置に既に記憶されているデータを他のデータとして参照させることで重複記憶を排除する機能を備えており、前記マスタ側ストレージシステムと前記レプリカ側ストレージシステムとの間におけるレプリケーション方法であって、
前記マスタ側ストレージシステムの記憶装置に記憶されているデータを、前記レプリカ側ストレージシステムの記憶装置にレプリケーションするレプリケーション実行工程と、
所定のレプリケーション時点における当該レプリケーションの進捗率を算出する進捗率算出工程と、を有し、
前記レプリケーション実行工程は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否かを調査すると共に、当該レプリケーションするデータのうち前記レプリカ側ストレージシステムに重複排除されずに格納されるデータを前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送し、
前記進捗率算出工程は、前記レプリケーションするデータの調査結果に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定すると共に、当該推定したデータ総量と、所定のレプリケーション時点において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されたデータのデータ量と、に基づいて、当該所定のレプリケーション時点におけるレプリケーションの進捗率を算出する、
レプリケーション方法。
【００８０】
（付記１０）
付記９に記載のレプリケーション方法であって、
前記レプリケーション実行工程は、前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムにレプリケーションするデータが、前記マスタ側ストレージシステムの記憶装置に重複排除されて格納されているか否か、及び、前記レプリカ側ストレージシステムの記憶装置に重複排除されて格納されるか否か、に応じて設定された分類のいずれに属するか否かを調査すると共に、当該各分類にそれぞれ属するデータのデータ量を算出し、
前記進捗率算出工程は、前記レプリケーションするデータが属する分類毎のデータ量に基づいて、レプリケーション全体において前記マスタ側ストレージシステムから前記レプリカ側ストレージシステムに転送されて当該レプリカ側ストレージシステムの記憶装置に重複排除されずに新たに格納されるデータのデータ総量を推定する、
レプリケーション方法。
【００８１】
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００８２】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００８３】
１  ストレージシステム
２  アクセラレータノード
３  ストレージノード
４  バックアップシステム
１０  マスタシステム
１１  記憶装置
１２  マスタ側レプリケーション実行部
１３  データ分類情報管理部
１４  ファイルシステムビュー提供部
１５  進捗情報閲覧部
２０  レプリカシステム
２１  記憶装置
２２  レプリカ側レプリケーション実行部
１００  マスタ側ストレージシステム
１０１，２０１  レプリケーション実行部
１０２  進捗率算出部
１１０，２１０  記憶装置
２００  レプリカ側ストレージシステム
【図１】
2014164634.tif 000003
【図２】
2014164634.tif 000004
【図３】
2014164634.tif 000005
【図４】
2014164634.tif 000006
【図５】
2014164634.tif 000007
【図６】
2014164634.tif 000008
【図７】
2014164634.tif 000009
【図８】
2014164634.tif 000010
【図９】
2014164634.tif 000011
【図１０】
2014164634.tif 000012