(57)【要約】【課題】重複データを検出する処理をより効率的に実行する技術を提供すること。【解決手段】装置９０ａにおいて重複する複数のデータ（重複データ）を表す重複データ情報と、装置９０ｂにおける重複データ情報とを用いて、装置９０ａの重複データおよび装置９０ｂの重複データ間で重複するものを検出することにより、装置９０ａおよび装置９０ｂ間の重複データを表す重複データ管理情報を生成する重複データ管理情報生成部１１を備える。【選択図】      図１
2014178939.tif 000002
【特許請求の範囲】
【請求項１】
一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する重複データ管理情報生成部を備えた重複データ管理装置。
【請求項２】
前記重複データ管理情報生成部は、前記一方の装置の重複データのハッシュ値と、前記他方の装置の重複データのハッシュ値とが一致するものについてデータ比較を行い、一致したものを前記装置間の重複データとして検出することを特徴とする請求項１に記載の重複データ管理装置。
【請求項３】
前記重複データ管理情報生成部は、前記装置間の重複データ管理情報が示す重複データと、他の装置間の前記重複データ管理情報が示す重複データとの間で重複するものを検出することにより、階層的な重複データ管理情報を生成することを特徴とする請求項１または請求項２に記載の重複データ管理装置。
【請求項４】
前記一方の装置から前記他方の装置にデータを転送する際に、請求項１から請求項３のいずれか１項に記載の重複データ管理装置によって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送するデータ転送制御部を備えたデータ転送制御装置。
【請求項５】
前記データ転送制御部は、前記一方の装置と、１つ以上の前記他方の装置との間でそれぞれ生成された前記重複データ管理情報に基づいて、前記一方の装置のデータの転送先となる他方の装置を選択することを特徴とする請求項４に記載のデータ転送制御装置。
【請求項６】
請求項１から請求項３のいずれか１項に記載の重複データ管理装置と、
請求項４または請求項５に記載のデータ転送制御装置と、
を備えたデータ転送制御システム。
【請求項７】
一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する、重複データ管理方法。
【請求項８】
前記一方の装置から前記他方の装置にデータを転送する際に、請求項７に記載の重複データ管理方法によって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送する、データ転送制御方法。
【請求項９】
一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する重複データ管理情報生成ステップをコンピュータ装置に実行させるコンピュータ・プログラム。
【請求項１０】
前記一方の装置から前記他方の装置にデータを転送する際に、請求項９に記載のコンピュータ・プログラムが実行されることによって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送するデータ転送制御ステップをコンピュータ装置に実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、重複するデータを管理する技術に関する。
【背景技術】
【０００２】
記憶装置に格納されたデータのうち重複データを検出して管理する技術が知られている。
【０００３】
例えば、特許文献１には、仮想マシン間で重複データを統合管理する技術が記載されている。この関連技術では、仮想マシンは、他の仮想マシンと重複するデータを検出して仮想マシン管理装置に通知する。仮想マシン管理装置は、仮想マシンからの通知を元に、仮想マシン間での重複ブロックを統合する。具体的には、この仮想マシン管理装置は、一方の仮想マシンでの重複データに対応する仮想ブロックと実ブロックとの関連付けを解除する。そして、この仮想マシン管理装置は、関連付けを解除した一方の仮想マシンの仮想ブロックに対して、他方の仮想マシンでその重複データに対応する仮想ブロックに関連付けられている実ブロックを関連付ける。また、この仮想マシン管理装置は、仮想マシンから仮想ブロックに対するアクセスコマンドを受信すると、その仮想ブロックに関連付けられた実ブロックを応答する。
【０００４】
また、例えば、特許文献２には、対象ファイルシステムから、基準ファイルシステムと重複するデータを排除する技術が記載されている。この関連技術は、基準ファイルシステムおよび対象ファイルシステム間でディレクトリ識別子が一致するディレクトリ内で、ファイルデータが一致するものを重複データとして検出する。また、この関連技術は、基準ファイルシステムおよび対象ファイルシステム間で、ファイル識別子が一致するファイルについて、ファイルデータが一致するものを重複データとして検出する。そして、この関連技術は、対象ファイルシステムから重複データを排除し、その参照先を、基準ファイルシステムにおける該当するデータへの参照に置き換える。
【０００５】
また、例えば、特許文献３には、重複データを統合管理しているサーバからデータを取得する際に、取得済のデータに重複するデータについては再度取得要求を行わないように制御する技術が記載されている。この関連技術では、第１のサーバは、クライアントからデータの書込要求を受け付けると、書込対象のデータを第２のサーバに移行する。また、第２のサーバは、移行されたデータに対して重複排除処理を行い、重複データを統合して管理する。また、第１のサーバは、クライアントからのデータの読込要求に応じて、読込対象のデータを第２のサーバに要求する。このとき、第２のサーバは、要求されたデータに重複するデータがあれば、要求されたデータと共に重複データ情報を第１のサーバに転送する。その後、第１のサーバは、クライアントから他のデータに対する読込要求を受け付けると、以前に第２のサーバから取得した重複データ情報に基づいて、読込対象のデータの重複データを既に自サーバに取得済であるか否かを判断する。取得済であれば、第１のサーバは、読込対象のデータを新たに第２のサーバに要求することなく、取得済の重複データをクライアントに応答する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＷＯ２００９／０６６６１１号公報
【特許文献２】特開２００９−２８２６０４号公報
【特許文献３】特開２０１１−７６２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のような重複データを管理する技術において、重複データの検出対象となるデータ量は膨大であることが多いと考えられる。このため、重複データの検出処理の効率性が重要となる。しかしながら、上述の特許文献１から特許文献３に記載された関連技術は、重複データの検出処理の効率化において、以下のような課題がある。
【０００８】
特許文献１に記載された関連技術は、インストールされているアプリケーション情報等に基づき一致する可能性が高いブロックから優先的に重複データの確認を行う。これにより、この関連技術は、より多くの重複データをより短時間で検出する。しかしながら、この関連技術は、重複データの確認を優先順位の順に実行するものの、最終的には、仮想マシンが有する全てのデータについて重複データの確認を行う。そのため、この関連技術は、重複データの検出処理に多くの時間やリソースを必要とし、効率がよくない。
【０００９】
また、特許文献２に記載された関連技術は、基準ファイルシステムおよび対象ファイルシステム間でディレクトリ識別子が一致したディレクトリ内のファイルについては、ファイル識別子の比較処理を省略可能としている。これにより、この関連技術は、重複データの検出処理をある程度効率化している。しかしながら、この関連技術は、各ファイルシステムに格納されている全てのディレクトリについてディレクトリ識別子の比較を行い、ディレクトリ識別子が一致したディレクトリ内の全てのファイルについてデータ比較を行うことになる。そのため、この関連技術は、重複データの検出処理に多くの時間やリソースを必要とし、依然として効率がよくない。
【００１０】
また、特許文献３に記載された関連技術は、第２のサーバは、定期的なタイミングで、重複データの検出処理をまだ実行していないファイルに対して、重複データの検出処理を行う。つまり、この関連技術は、前回の重複データの検出処理を実行してから自サーバに追加または変更された全てのデータについて、重複データの検出処理を行うことになる。そのため、この関連技術は、重複データの検出処理に多くの時間やリソースを必要とし、効率がよくない。
【００１１】
本発明は、上述の課題を解決するためになされたもので、重複データの検出処理をより効率的に実行する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の重複データ管理装置は、一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する重複データ管理情報生成部を備える。
【００１３】
また、本発明のデータ転送制御装置は、前記一方の装置から前記他方の装置にデータを転送する際に、上述の重複データ管理装置によって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送するデータ転送制御部を備える。
【００１４】
また、本発明のデータ転送制御システムは、上述の重複データ管理装置と、上述のデータ転送制御装置と、を備える。
【００１５】
また、本発明の重複データ管理方法は、一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する。
【００１６】
また、本発明のデータ転送制御方法は、前記一方の装置から前記他方の装置にデータを転送する際に、上述の重複データ管理方法によって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送する。
【００１７】
また、本発明のコンピュータ・プログラムは、一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する重複データ管理情報生成ステップをコンピュータ装置に実行させる。
【００１８】
また、本発明の他のコンピュータ・プログラムは、前記一方の装置から前記他方の装置にデータを転送する際に、上述のコンピュータ・プログラムが実行されることによって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送するデータ転送制御ステップをコンピュータ装置に実行させる。
【発明の効果】
【００１９】
本発明は、重複データの検出処理をより効率的に実行する技術を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態としての重複データ管理装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態において一方の装置および他方の装置に保持される重複データ情報を模式的に説明する図である。
【図３】本発明の第１の実施の形態としての重複データ管理装置の動作を説明するフローチャートである。
【図４】本発明の第１の実施の形態において生成される重複データ管理情報の一例を示す図である。
【図５】本発明の第２の実施の形態としての重複データ管理装置の構成を示すブロック図である。
【図６】本発明の第２の実施の形態としての重複データ管理装置の動作を説明するフローチャートである。
【図７】本発明の第２の実施の形態において生成される重複データ管理情報の一例を示す図である。
【図８】本発明の第３の実施の形態としての重複データ管理装置の構成を示すブロック図である。
【図９】本発明の第３の実施の形態において一方の装置に保持される重複データ情報を模式的に説明する図である。
【図１０】本発明の第３の実施の形態としての重複データ管理装置の動作を説明するフローチャートである。
【図１１】本発明の第３の実施の形態において装置間の重複データを検出する処理の一例を説明する図である。
【図１２】本発明の第３の実施の形態において生成される重複データ管理情報の一例を示す図である。
【図１３】本発明の第３の実施の形態としてのデータ転送制御装置の動作を説明するフローチャートである。
【図１４】本発明の第３の実施の形態において転送される仮想ディスクの一例を説明する図である。
【図１５】本発明の第４の実施の形態としての重複データ管理装置の構成を示すブロック図である。
【図１６】本発明の第４の実施の形態としてのデータ転送制御装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２２】
（第１の実施の形態）
本発明の第１の実施の形態としての重複データ管理装置１０の構成を図１に示す。図１において、重複データ管理装置１０は、重複データ管理情報生成部１１を含む。ここで、重複データ管理装置１０は、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、ＲＯＭ（Read Only Memory）と、ハードディスク等の記憶装置と、接続インタフェースとを備えたコンピュータ装置によって構成可能である。接続インタフェースは、ネットワークに接続するネットワークインタフェースであってもよいし、他の装置にケーブル等を介して接続するインタフェースであってもよい。この場合、重複データ管理情報生成部１１は、接続インタフェースと、ＲＯＭおよび記憶装置に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭに読み込んで実行するＣＰＵとによって構成される。なお、重複データ管理装置１０およびその機能ブロックを構成するハードウェア構成は上述の構成に限定されない。
【００２３】
また、図１において、重複データ管理装置１０は、装置９０ａおよび装置９０ｂと通信可能に接続されている。なお、装置９０ａおよび９０ｂを、以下、総称して装置９０とも記載する。例えば、重複データ管理装置１０は、インターネット、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して各装置９０と接続されていてもよい。なお、図１には、２つの装置９０を示したが、本発明の重複データ管理装置が接続される装置の数を限定するものではない。
【００２４】
ここで、装置９０は、自装置における重複データ情報を有する装置である。自装置における重複データ情報とは、自装置において重複する複数のデータに関する情報である。例えば、装置９０に保持される重複データ情報の一例について、図２を用いて模式的に説明する。図２では、装置９０ａには、データＡ１，Ｂ１，Ｃ１，Ｂ２，Ｃ２が保持されている。そのうち、Ｂ１およびＢ２、ならびに、Ｃ１およびＣ２は、それぞれ同一のデータである。この場合、装置９０ａは、データＡ１，Ｂ１，Ｃ１の実データＡ，Ｂ，Ｃを保持し、データＡ１，Ｂ１，Ｃ１の参照先をそれぞれ実データＡ，Ｂ，Ｃにマッピングしている。また、装置９０ａは、Ｂ２およびＣ２の参照先をそれぞれ実データＢ，Ｃにマッピングしている。そして、装置９０ａは、自装置の重複データ情報として、ＢおよびＣを表す情報を保持している。同様に、図２において、装置９０ｂには、データＢ３，Ｄ３，Ｅ３，Ｂ４，Ｄ４が保持されている。そのうち、Ｂ３およびＢ４、ならびに、Ｄ３およびＤ４は、それぞれ同一のデータである。この場合、装置９０ｂは、Ｂ３，Ｄ３，Ｅ３の実データＢ，Ｄ，Ｅを保持し、データＢ３，Ｄ３，Ｅ３の参照先をそれぞれ実データＢ，Ｄ，Ｅにマッピングしている。また、装置９０ｂは、データＢ４，Ｄ４の参照先をそれぞれ実データＢ，Ｄにマッピングしている。そして、装置９０ｂは、自装置の重複データ情報として、ＢおよびＤを表す情報を保持している。なお、装置９０は、自装置で重複しているデータに関する重複データ情報を有していればよく、必ずしも、上述のように重複データを統合して管理していなくてもよい。
【００２５】
次に、重複データ管理装置１０の機能ブロックの詳細について説明する。
【００２６】
重複データ管理情報生成部１１は、装置９０ａの重複データ情報と、装置９０ｂの重複データ情報とを用いて、装置９０ａおよび９０ｂ間の重複データ管理情報を生成する。具体的には、重複データ管理情報生成部１１は、装置９０ａの重複データ情報が示す重複データと、装置９０ｂの重複データ情報が示す重複データとの間で重複するものを検出し、検出したデータを表す重複データ管理情報を生成する。例えば、重複データ管理情報は、装置９０間で重複するデータについて、装置９０ａでの実データの格納位置と、装置９０ｂでの実データの格納位置とを含むものであってもよい。
【００２７】
以上のように構成された重複データ管理装置１０の動作について図３を用いて説明する。
【００２８】
図３において、まず、重複データ管理情報生成部１１は、装置９０ａにおける重複データ情報を取得する（ステップＳ１）。
【００２９】
次に、重複データ管理情報生成部１１は、装置９０ｂにおける重複データ情報を取得する（ステップＳ２）。なお、ステップＳ１およびＳ２の実行順序は順不同である。
【００３０】
次に、重複データ管理情報生成部１１は、装置９０ａにおける重複データ情報の示す各データと、装置９０ｂにおける重複データ情報の示す各データとの間で重複するものを検出する（ステップＳ３）。
【００３１】
次に、重複データ管理情報生成部１１は、ステップＳ３で検出した装置９０間で重複するデータについて、重複データ管理情報を生成する（ステップＳ４）。
【００３２】
以上で、重複データ管理装置１０は動作を終了する。
【００３３】
このような重複データ管理情報生成動作の具体例を図４に示す。ここでは、各装置９０には、図２に示したような重複データ情報がそれぞれ保持されているものする。
【００３４】
図４において、まず、重複データ管理情報生成部１１は、装置９０ａから重複データ情報「Ｂ，Ｃ」と、装置９０ｂから重複データ情報「Ｂ，Ｄ」とを取得する（ステップＳ１，Ｓ２）。
【００３５】
次に、重複データ管理情報生成部１１は、装置９０ａの重複データ情報が示すデータＢ，Ｃと、装置９０ｂの重複データ情報が示すデータＢ，Ｄとを検出対象として、装置９０間でデータ比較を行う。ここでは、重複データ管理情報生成部１１は、データＢが重複することを検出する（ステップＳ３）。なお、図４では、斜線パターンで塗りつぶされた矩形は、重複データの検出対象となるデータを表している。
【００３６】
次に、重複データ管理情報生成部１１は、データＢを表す重複データ管理情報を生成する（ステップＳ４）。図４では、重複データ管理情報生成部１１は、各装置９０におけるデータＢの格納位置を、重複データ管理情報に含めている。
【００３７】
以上で、重複データ管理情報生成動作の具体例の説明を終了する。
【００３８】
次に、本発明の第１の実施の形態の効果について述べる。
【００３９】
本発明の第１の実施の形態としての重複データ管理装置は、重複データの検出処理をより効率的に実行する。
【００４０】
その理由は、重複データ管理情報生成部が、各装置における重複データ情報を用いて、一方の装置における重複データと、他方の装置における重複データとの間で重複するものを検出するからである。
【００４１】
ここで、装置間で重複するデータは、各装置内でも重複しているケースが多いと考えられる。したがって、そのようなケースであれば、本実施の形態は、各装置における重複データ同士を装置間で比較するだけで、装置間で重複するデータの多くを検出可能となる。このように、本実施の形態は、各装置において重複していないデータについては装置間の比較処理を省略することにより、重複データ検出処理を効率的に実行しながら、装置間の重複データの多くを検出することができる。
【００４２】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００４３】
まず、本発明の第２の実施の形態としての重複データ管理装置２０の構成を図５に示す。図５において、重複データ管理装置２０は、本発明の第１の実施の形態としての重複データ管理装置１０に対して、重複データ管理情報生成部１１に替えて重複データ管理情報生成部２１を備える点が異なる。
【００４４】
また、図５において、重複データ管理装置２０は、装置９０ａ、９０ｂ、９０ｃ、９０ｄと通信可能に接続されている。装置９０ａ、９０ｂ、９０ｃ、９０ｄは、本発明の第１の実施の形態において説明した装置９０と同様に構成される。また、装置９０ａおよび９０ｂはノードＡに含まれ、装置９０ｃおよび９０ｄはノードＢに含まれるものとする。なお、図５には、２つのノードにそれぞれ２つずつ含まれる装置９０を示したが、本発明の重複データ管理装置が接続されるノードの数および各ノードに含まれる装置の数を限定するものではない。
【００４５】
重複データ管理情報生成部２１は、本発明の第１の実施の形態における重複データ管理情報生成部１１と同様に構成されることにより、装置９０間の重複データ管理情報を生成する。さらに、重複データ管理情報生成部２１は、一方の装置９０間の重複データ管理情報と、他方の装置９０間の重複データ管理情報とに基づいて、階層的な重複データ管理情報を生成する。例えば、重複データ管理情報生成部２１は、ノードＡに含まれる装置９０ａおよび９０ｂ間の重複データ管理情報が示す各データと、ノードＢに含まれる装置９０ｃおよび９０ｄ間の重複データ管理情報が示す各データとの間で重複するものを検出し、ノードＡおよびＢ間の重複データ管理情報を生成する。
【００４６】
以上のように構成された重複データ管理装置２０の動作について、図６を参照して説明する。
【００４７】
まず、重複データ管理情報生成部２１は、ノードＡにおける装置９０ａおよび９０ｂ間について本発明の第１の実施の形態における重複データ管理情報生成部１１と同様に動作することにより重複データ管理情報を生成する（ステップＳ４１）。
【００４８】
次に、重複データ管理情報生成部２１は、ノードＢにおける装置９０ｃおよび９０ｄ間についても同様に重複データ管理情報を生成する（ステップＳ４２）。
【００４９】
次に、重複データ管理情報生成部２１は、装置９０ａおよび９０ｂ間の重複データ管理情報が示す各データと、装置９０ｃおよび９０ｄ間の重複データ管理情報が示す各データとを比較し、重複するものを検出する（ステップＳ４３）。
【００５０】
次に、重複データ管理情報生成部２１は、ステップＳ４３で検出したノードＡおよびＢ間で重複するデータについて、重複データ管理情報を生成する（ステップＳ４４）。これにより、階層的な重複データ管理情報が生成された。
【００５１】
以上で、重複データ管理装置２０は、重複データ管理情報生成動作を終了する。
【００５２】
例えば、重複データ管理装置２０により生成される階層的な重複データ管理情報の一例を図７に示す。
【００５３】
図７において、ノードＡ内の装置９０ａは、重複データ情報としてデータＡ，Ｂ，Ｃを表す情報を保持し、ノードＡ内の装置９０ｂは、重複データ情報としてデータＢ，Ｃ，Ｄを表す情報を保持しているとする。また、ノードＢ内の装置９０ｃは、重複データ情報としてデータＢ，Ｅ，Ｆを表す情報を保持し、ノードＢ内の装置９０ｄは、重複データ情報としてデータＢ，Ｆ，Ｇを表す情報を保持しているとする。
【００５４】
この場合、まず、重複データ管理情報生成部２１は、ノードＡにおける装置９０ａおよび９０ｂ間の重複データ管理情報として「Ｂ，Ｃ」を表す情報を生成する（ステップＳ４１）。
【００５５】
次に、重複データ管理情報生成部２１は、ノードＢにおける装置９０ｃおよび９０ｄ間の重複データ管理情報としてデータ「Ｂ，Ｆ」を表す情報を生成する（ステップＳ４２）。
【００５６】
次に、重複データ管理情報生成部２１は、ノードＡの重複データ管理情報が示すデータＢ，Ｃ、および、ノードＢの重複データ管理情報が示すデータＢ，Ｆを比較し、重複する「Ｂ」を検出する（ステップＳ４３）。
【００５７】
そして、重複データ管理情報生成部２１は、ノードＡおよびＢ間の重複データ管理情報として「Ｂ」を表す情報を生成する（ステップＳ４４）。
【００５８】
また、さらに、ノードＡおよびＢがノードＸに含まれ、図示しないノードＣおよびノードＤがノードＹに含まれる場合を考える。この場合、重複データ管理装置２０は、ノードＡおよびＢ間の重複データ管理情報と、ノードＣおよびＤ間の重複データ管理情報とを用いて、ノードＸおよびＹ間の重複データ管理情報を生成してもよい。このように、重複データ管理装置２０が生成する重複データ管理情報の階層の深さに制限はない。
【００５９】
次に、本発明の第２の実施の形態の効果について述べる。
【００６０】
本発明の第２の実施の形態としての重複データ管理装置は、異なるノード間で重複するデータを、より効率的に検出することができる。
【００６１】
その理由は、重複データ管理情報生成部が、一方の装置間の重複データ管理情報の示す各データと、他方の装置間の重複データ管理情報の示す各データとの間で重複するものを検出し、階層的な重複データ管理情報を生成するからである。これにより、本実施の形態は、各ノードに含まれる全ての装置に格納される全てのデータ同士を比較する処理を必要とせずに、異なるノード間で重複するデータを検出可能となる。
【００６２】
なお、本発明の第２の実施の形態において、重複データ管理装置２０が、管理対象となる複数のノードの外部に設置される例を中心に説明した。この他、重複データ管理装置２０の重複データ管理情報生成部２１は、管理対象となる複数のノードに分散されて実現されてもよい。
【００６３】
例えば、ノードＡに含まれる任意の装置上に重複データ管理情報生成部２１Ａが実現されているとする。同様に、ノードＢ内の任意の装置上に重複データ管理情報生成部２１Ｂが実現され、ノードＡおよびノードＢを含むノードＸ内の任意の装置上に重複データ管理情報生成部２１Ｘが実現されているとする。この場合、重複データ管理情報生成部２１Ａは、ノードＡ内の装置間の重複データ管理情報を生成して保持する。同様に、重複データ管理情報生成部２１Ｂは、ノードＢ内の装置間の重複データ管理情報を生成して保持する。そして、重複データ管理情報生成部２１Ｘは、重複データ管理情報生成部２１Ａに保持されるノードＡの重複データ管理情報と、重複データ管理情報生成部２１Ｂに保持されるノードＢの重複データ管理情報とを用いて、ノードＡおよびＢ間の重複データ管理情報を生成すればよい。また、重複データ管理情報生成部２１Ｘは、このようにして生成したノードＡおよびＢ間の重複データ管理情報を、ノードＸにおける重複データ管理情報として保持すればよい。これにより、重複データ管理情報生成部２１Ｘは、ノードＸを含むさらに上位のノードＰに含まれる重複データ管理情報生成部２１Ｐに対して、ノードＸの重複データ管理情報を提供することができる。
【００６４】
このように、重複データ管理情報生成部を複数のノードに分散して階層的に構成することにより、本実施の形態は、階層的な重複データ管理情報をより効率的に生成可能となる。
【００６５】
（第３の実施の形態）
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００６６】
まず、本発明の第３の実施の形態としてのデータ転送制御システム３の構成を図８に示す。図８において、データ転送制御システム３は、重複データ管理装置３０と、データ転送制御装置４０とを含む。また、重複データ管理装置３０は、本発明の第１の実施の形態としての重複データ管理装置１０に対して、重複データ管理情報生成部１１に替えて重複データ管理情報生成部３１を含む点が異なる。また、データ転送制御装置４０は、データ転送制御部４１を含む。ここで、データ転送制御装置４０は、ＣＰＵと、ＲＡＭと、ＲＯＭと、ハードディスク等の記憶装置と、接続インタフェースとを備えたコンピュータ装置によって構成可能である。接続インタフェースは、ネットワークに接続するネットワークインタフェースであってもよいし、他の装置にケーブル等を介して接続するインタフェースであってもよい。この場合、データ転送制御部４１は、接続インタフェースと、ＲＯＭおよび記憶装置に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭに読み込んで実行するＣＰＵとによって構成される。なお、データ転送制御装置４０およびその機能ブロックを構成するハードウェア構成は上述の構成に限定されない。
【００６７】
また、図８において、重複データ管理装置３０は、ストレージシステム９１ａおよび９１ｂとそれぞれ通信可能に接続されている。また、データ転送制御装置４０は、ストレージシステム９１ａおよび９１ｂとそれぞれ通信可能に接続されている。以降、ストレージシステム９１ａおよび９１ｂを総称してストレージシステム９１とも記載する。例えば、重複データ管理装置３０およびデータ転送制御装置４０は、インターネット、ＬＡＮ、ＳＡＮ、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介してストレージシステム９１と接続されていてもよい。なお、図８は、２つのストレージシステム９１を示したが、本発明のデータ転送制御システムに接続されるストレージシステムの数を限定するものではない。
【００６８】
ストレージシステム９１ａは、情報処理装置９２ａ上で動作する仮想マシンの仮想ディスクを格納する。ストレージシステム９１ｂは、情報処理装置９２ｂ上で動作する仮想マシンの仮想ディスクを格納する。以降、情報処理装置９２ａおよび９２ｂを総称して情報処理装置９２とも記載する。ここで、仮想ディスクは、ストレージシステム９１の記憶装置が論理的に分割された単位によって構成され、ＬＵＮ（logical unit number）によって識別される論理ボリュームであってもよい。また、ストレージシステム９１は、重複排除機能を有しており、自装置内で重複するデータを統合して管理し、重複データ情報を保持している。
【００６９】
情報処理装置９２は、自装置上で１つ以上の仮想マシンを動作させる。各仮想マシンには、１つ以上の仮想ディスクが割り当てられ、各仮想ディスクは、ストレージシステム９１に格納される。なお、図８には、各情報処理装置９２に格納される３つずつの仮想マシンと、各ストレージシステム９１に格納される３つずつの仮想ディスクを示したが、本発明のデータ転送制御システムに接続されるストレージシステムに格納される仮想ディスクの数およびそれらの仮想ディスクが割り当てられている仮想マシンの情報処理装置上での動作数を限定するものではない。
【００７０】
例えば、ストレージシステム９１ａに格納される仮想ディスクおよび重複データ情報の一例を図９に模式的に示す。ここでは、ストレージシステム９１ａは、仮想ディスク１０１および１０２を格納する。仮想ディスク１０１は、データＡ１，Ｂ１，Ｃ１，Ｄ１，Ｅ１，Ｆ１，Ｇ１，Ｈ１を保持する。また、仮想ディスク１０２は、データＩ２，Ｂ２，Ｃ２，Ｊ２，Ｋ２，Ｆ２，Ｌ２，Ｈ２を保持する。ここで、Ｂ１およびＢ２、Ｃ１およびＣ２、Ｆ１およびＦ２、ならびに、Ｈ１およびＨ２は、それぞれ同一のデータであるとする。この場合、ストレージシステム９１ａは、データＡ１，Ｂ１，Ｃ１，Ｄ１，Ｅ１，Ｆ１，Ｇ１，Ｈ１，Ｉ２，Ｊ２，Ｋ２，Ｌ２の実データＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ，Ｉ，Ｊ，Ｋ，Ｌを、記憶装置内における図示の格納位置にそれぞれ保持する。そして、ストレージシステム９１ａは、仮想ディスク１０１および１０２の各データをそれぞれ実データにマッピングする。そして、ストレージシステム９１ａは、重複データ情報として、データＢ，Ｃ，Ｆ，Ｈを表す情報を保持している。
【００７１】
次に、重複データ管理装置３０およびデータ転送制御装置４０の機能ブロックの詳細について説明する。
【００７２】
重複データ管理情報生成部３１は、ストレージシステム９１ａにおける重複データ情報と、ストレージシステム９１ｂにおける重複データ情報とを用いて、ストレージシステム９１ａおよび９１ｂ間の重複データ管理情報を生成する。具体的には、重複データ管理情報生成部３１は、ストレージシステム９１ａの重複データ情報が示す各データのハッシュ値と、ストレージシステム９１ｂの重複データ情報が示す各データのハッシュ値とを比較し、一致するものを重複候補ペアとする。そして、重複データ管理情報生成部３１は、重複候補ペアについてデータ比較を行い、一致すれば重複データとする。
【００７３】
また、重複データ管理情報生成部３１は、ストレージシステム９１間の重複データについて、そのハッシュ値と、各ストレージシステム９１における格納位置を示す情報とを含む重複データ管理情報を生成する。また、データが異なる場合でもハッシュ値が同一となる（衝突する）場合もあり得る。このような場合を考慮して、重複データ管理情報生成部３１は、重複データにＩＤを付与し、重複データ管理情報にＩＤを含めて保持してもよい。また、この場合、重複データ管理情報生成部３１は、同一のハッシュ値を有する異なる重複データについて、異なるＩＤを付与するようにしてもよい。この場合、ハッシュ値およびＩＤの組み合わせによって、重複データは識別可能となる。
【００７４】
データ転送制御部４１は、ストレージシステム９１の一方から他方へ、仮想ディスクのデータを転送する。例えば、データ転送制御部４１は、仮想ディスクの移動に伴う転送を行ってもよいし、仮想ディスクの複製に伴う転送を行ってもよい。このとき、データ転送制御部４１は、重複データ管理装置３０の重複データ管理情報を参照することにより、転送対象の仮想ディスクに含まれるデータのうち、重複データ管理情報の示す重複データを除外してデータを転送する。そして、データ転送制御部４１は、転送しなかった重複データについては、転送先のストレージシステム９１において実データにマッピングさせる処理を行えばよい。
【００７５】
以上のように構成されたデータ転送制御システム３の動作について、図面を参照して説明する。
【００７６】
まず、重複データ管理装置３０の動作を図１０に示す。
【００７７】
図１０において、まず、重複データ管理情報生成部３１は、ストレージシステム９１ａにおける重複データ情報の示す各データのハッシュ値を取得する（ステップＳ１１）。
【００７８】
次に、重複データ管理情報生成部３１は、ストレージシステム９１ｂにおける重複データ情報の示す各データのハッシュ値を取得する（ステップＳ１２）。なお、ステップＳ１１およびＳ１２の実行順序は順不同である。
【００７９】
次に、重複データ管理情報生成部３１は、ストレージシステム９１ａにおける重複データ情報の示す各データおよびストレージシステム９１ｂにおける重複データ情報の示す各データの各組み合わせについて、ステップＳ１３〜Ｓ１７を実行する。
【００８０】
ここでは、まず、重複データ管理情報生成部３１は、この組み合わせについて、ステップＳ１１およびＳ１２で取得したハッシュ値を比較する（ステップＳ１３）。
【００８１】
ここで、ハッシュ値が一致した場合、重複データ管理情報生成部３１は、この組み合わせを重複候補ペアとして、一方のデータ本体をストレージシステム９１ａから取得する（ステップＳ１４）。
【００８２】
次に、重複データ管理情報生成部３１は、重複候補ペアの他方のデータ本体を、ストレージシステム９１ｂから取得する（ステップＳ１５）。なお、ステップＳ１４およびＳ１５の実行順序は順不同である。
【００８３】
このように、重複データ管理情報生成部３１は、ステップＳ１３でハッシュ値が一致したデータについてステップＳ１４〜Ｓ１５を実行してデータ本体を取得し、ハッシュ値が一致しないデータについてはデータ本体を取得しないことにより、効率性を高めている。
【００８４】
次に、重複データ管理情報生成部３１は、ステップＳ１４およびＳ１５で取得した重複候補ペアのデータ本体を比較する（ステップＳ１６）。
【００８５】
ここで、重複候補ペアのデータが一致した場合、重複データ管理情報生成部３１は、これらのデータをストレージシステム９１間の重複データとして、重複データ管理情報を生成する（ステップＳ１７）。具体的には、重複データ管理情報生成部３１は、重複データに付与したＩＤと、ハッシュ値と、ストレージシステム９１ａにおける格納位置と、ストレージシステム９１ｂにおける格納位置とを対応付けた重複データ管理情報を生成すればよい。
【００８６】
一方、ステップＳ１３でハッシュ値が一致しない場合や、ステップＳ１６でデータが一致しない場合、重複データ管理情報生成部３１は、この組み合わせについての処理を終了する。
【００８７】
そして、重複データ管理情報生成部３１は、他のデータの組み合わせについて、ステップＳ１３〜Ｓ１７を繰り返す。ストレージシステム９１ａおよび９１ｂの重複データ情報の示す各データ間の全ての組み合わせについてステップＳ１３〜Ｓ１７を実行すると、重複データ管理装置３０は動作を終了する。
【００８８】
次に、このような重複データ管理情報生成動作により生成される重複データ管理情報の一例について、図１１〜図１２を参照して説明する。ここでは、図１１に示すように、ストレージシステム９１ａは、記憶装置における図示の格納位置に実データＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ，Ｉ，Ｊ，Ｋ，Ｌを保持し、そのうちの重複データ情報として「Ｂ，Ｃ，Ｆ，Ｈ」を保持している。また、ストレージシステム９１ｂは、記憶装置上における図示の格納位置に実データＯ，Ｐ，Ｑ，Ｒ，Ｓ，Ｔ，Ｕ，Ｖ，Ｗ，Ｘ，Ｙ，Ｚを保持し、そのうちの重複データ情報として「Ｑ，Ｓ，Ｗ，Ｙ」を保持している。そこで、重複データ管理情報生成部３１は、各ストレージシステム９１から、それぞれの重複データ情報が示す各データのハッシュ値を取得する（ステップＳ１１、Ｓ１２）。
【００８９】
次に、重複データ管理情報生成部３１は、ストレージシステム９１ａにおけるデータＢ，Ｃ，Ｆ，Ｈと、ストレージシステム９１ｂにおけるデータＱ，Ｓ，Ｗ，Ｙの各組み合わせについてステップＳ１３〜Ｓ１７の処理を行う。
【００９０】
まず、重複データ管理情報生成部３１は、データＢおよびＱのハッシュ値を比較し、一致したとする（ステップＳ１３でＹｅｓ）。ここでは、一致したハッシュ値を「ｈａｓｈ１」と記載する。
【００９１】
次に、重複データ管理情報生成部３１は、これらのデータ本体をストレージシステム９１ａおよび９１ｂから取得し（ステップＳ１４、Ｓ１５）、比較の結果、一致したとする（ステップＳ１６でＹｅｓ）。
【００９２】
次に、重複データ管理情報生成部３１は、この重複データ情報にＩＤとして１を付与する。そして、重複データ管理情報生成部３１は、ハッシュ値「ｈａｓｈ１」と、ＩＤ「１」と、データＢのストレージシステム９１ａにおける格納位置「２」と、データＱのストレージシステム９１ｂにおける格納位置「３」とを対応付けて重複データ管理情報として生成する（ステップＳ１７）。これにより、図１２に示す１行目の重複データ管理情報が生成された。
【００９３】
同様に、重複データ管理情報生成部３１は、データＣおよびＳのハッシュ値およびそのデータが一致すると判断したとする（ステップＳ１３でＹｅｓ、Ｓ１４、Ｓ１５、Ｓ１６でＹｅｓ）。ここで、データＣおよびＳのハッシュ値として、データＢおよびＱのハッシュ値と衝突する「ｈａｓｈ１」が得られたことを想定する。この場合、重複データ管理情報生成部３１は、データＣおよびＳを表す重複データ情報に、データＢおよびＱを表す重複データ情報に付与したＩＤ「１」とは異なるＩＤ「２」を付与する。そして、重複データ管理情報生成部３１は、ハッシュ値「ｈａｓｈ１」と、ＩＤ「２」と、データＣのストレージシステム９１ａにおける格納位置「３」と、データＳのストレージシステム９１ｂにおける格納位置「５」とを対応付けて重複データ管理情報として生成する（ステップＳ１７）。これにより、図１２に示す２行目の重複データ管理情報が生成された。
【００９４】
同様に、重複データ管理情報生成部３１は、データＦおよびＷのハッシュ値およびそのデータが一致すると判断したとする（ステップＳ１３でＹｅｓ、Ｓ１４、Ｓ１５、Ｓ１６でＹｅｓ）。ここでは、データＦおよびＷのハッシュ値として、それまでに得られた重複データのハッシュ値とは異なる「ｈａｓｈ２」が得られたものとする。この場合、重複データ管理情報生成部３１は、この重複データ情報にＩＤとして１を付与する。そして、重複データ管理情報生成部３１は、ハッシュ値「ｈａｓｈ２」と、ＩＤ「１」と、データＦのストレージシステム９１ａにおける格納位置「９」と、データＷのストレージシステム９１ｂにおける格納位置「５」とを対応付けて重複データ管理情報として生成する（ステップＳ１７）。これにより、図１２に示す３行目の重複データ管理情報が生成された。
【００９５】
以上で、具体例の説明を終了する。
【００９６】
重複データ管理装置３０は、以上の動作を、あらかじめ定められたタイミングで繰り返し実行してもよい。その場合、重複データ管理装置３０は、各ストレージシステム９１に格納された重複データ情報の示すデータのうち前回以降に更新のないものについては、ハッシュ値の取得を省略可能である。また、重複データ管理装置３０は、各ストレージシステム９１に格納された重複データ情報の示すデータのうち前回以降に更新のないデータ同士の組み合わせについては、ハッシュ値およびデータの比較を省略可能である。
【００９７】
次に、データ転送制御装置４０の動作を図１３に示す。
【００９８】
図１３において、まず、データ転送制御部４１は、ストレージシステム９１の一方に格納される仮想ディスクを他方のストレージシステム９１へ転送する指示を表す情報を取得する（ステップＳ２１）。このような指示情報は、管理者によって入力装置を介して入力されるものであってもよいし、同一の装置上の他の機能ブロックまたは他の装置から入力されるものであってもよい。
【００９９】
次に、データ転送制御部４１は、重複データ管理装置３０の重複データ管理情報を参照することにより、転送対象の仮想ディスクに含まれるデータのうち、転送先のストレージシステム９１との重複データを特定する（ステップＳ２２）。
【０１００】
次に、データ転送制御部４１は、転送対象の仮想ディスクに含まれるデータのうち、ステップＳ２２で特定したデータ以外のデータを転送先のストレージシステム９１に転送する（ステップＳ２３）。
【０１０１】
次に、データ転送制御部４１は、転送先のストレージシステム９１に転送された仮想ディスクにおいて、転送しなかった該当するデータに、実データの格納位置をマッピングする（ステップＳ２４）。このとき、データ転送制御部４１は、重複データ管理装置３０の重複データ管理情報を参照することにより、該当する実データの格納位置を特定すればよい。
【０１０２】
以上で、データ転送制御装置４０は動作を終了する。
【０１０３】
次に、上述のように動作するデータ転送制御装置４０によって転送される仮想ディスクの一例を図１４に示す。ここでは、ストレージシステム９１ａには、図９に示した仮想ディスク１０１および１０２が格納されているものとする。また、ストレージシステム９１ａおよび９１ｂ間では、図１１〜図１２に示したように重複データ管理情報が生成されているものとする。このとき、仮想ディスク１０１をストレージシステム９１ａから９１ｂに転送する指示情報が入力されたことを想定する（ステップＳ２１）。
【０１０４】
この場合、データ転送制御部４１は、図１２に示した重複データ管理情報を参照することにより、仮想ディスク１０１に含まれるデータのうち、ストレージシステム９１ｂと重複する実データ「Ｂ，Ｃ，Ｆ」に対応するデータ「Ｂ１，Ｃ１，Ｆ１」を特定する（ステップＳ２２）。
【０１０５】
次に、データ転送制御部４１は、仮想ディスク１０１に含まれるデータのうち、ステップＳ２２で特定したデータ以外のデータＡ１，Ｄ１，Ｅ１，Ｇ１，Ｈ１を実データと共にストレージシステム９１ｂに転送する（ステップＳ２３）。
【０１０６】
次に、データ転送制御部４１は、ストレージシステム９１ｂに転送された仮想ディスク１０１において、実データを転送しなかったデータ「Ｂ１，Ｃ１，Ｆ１」に、実データ「Ｑ，Ｓ，Ｗ」をマッピングする（ステップＳ２４）。
【０１０７】
このように、データ転送制御システム３は、仮想ディスク１０１を転送する際の実データの転送量を減らしている。
【０１０８】
次に、本発明の第３の実施の形態の効果について述べる。
【０１０９】
本発明の第３の実施の形態としてのデータ転送制御システムは、ストレージシステム間の重複データ管理情報を用いて、ストレージシステム間のデータ転送をより効率的に行うことができる。
【０１１０】
その理由は、重複データ管理装置の重複データ管理情報生成部が、一方のストレージシステムにおける重複データ情報の示すデータと、他方のストレージシステムにおける重複データ情報の示すデータとの間で重複データを検出することにより、ストレージシステム間の重複データ管理情報を生成するからである。そして、データ転送制御装置のデータ転送制御部が、ストレージシステムの一方から他方にデータを転送する際に、上述のようにして生成された重複データ管理情報を参照することにより、転送対象のデータのうち、ストレージシステム間で重複するデータ以外のデータを転送するからである。
【０１１１】
これにより、例えば、本実施の形態は、仮想マシンのストレージシステムに格納される仮想ディスクを他のストレージシステムにマイグレーションする処理をより効率化することができる。
【０１１２】
一般に、仮想マシンの仮想ディスクに格納されるデータには、オペレーティングシステムを構成するシステムファイルなどのデータが多く含まれる。このようなデータは、他の仮想マシンの仮想ディスクに格納されるデータと共通であることが多い。もし、マイグレーション先のストレージシステムにも他の仮想マシンの仮想ディスクが格納されている場合、マイグレーション対象の仮想ディスクに含まれるデータの一部は既に転送先に存在している可能性が高い。
【０１１３】
そこで、本実施の形態は、データの重複排除機能を有するストレージシステムを用いることによりストレージシステム間の重複データ生成処理を効率化している。データの重複排除機能を有するストレージシステムは、異なる仮想ディスク間でのデータの重複を解消して統合して管理しており、重複データ情報を有している。そのような重複データは、オペレーティングシステムを構成するデータなどである可能性が高く、同様に複数の仮想ディスクを格納する他のストレージシステムでも同様に重複データとされて統合されている可能性が高い。
【０１１４】
したがって、本実施の形態は、各ストレージシステムの重複データ情報の示すデータ同士を比較するだけで、ストレージシステム間で重複するデータの多くを効率的に検出して重複データ管理情報を生成することができる。このようにして効率的に生成した重複データ管理情報を用いることにより、本実施の形態は、マイグレーションの際の転送データ量を削減するとともに、マイグレーションの所要時間も短縮できる。
【０１１５】
また、一般に、仮想マシンを管理する技術として、ある仮想マシンをテンプレートとして複製することにより新たな仮想マシンを作成する技術がよく知られている。本実施の形態は、そのようなテンプレートの複製による仮想マシン作成時にも適用可能である。例えば、本実施の形態は、テンプレートが格納されるストレージシステムおよび仮想マシン作成先のストレージシステム間の重複データ管理情報を作成することにより、テンプレート複製時のストレージシステム間のデータ転送量を削減でき、効率的である。
【０１１６】
（第４の実施の形態）
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第４の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【０１１７】
まず、本発明の第４の実施の形態としてのデータ転送制御システム４の構成を図１５に示す。図１５において、データ転送制御システム４は、本発明の第３の実施の形態としてのデータ転送制御システム３に対して、データ転送制御装置４０に替えてデータ転送制御装置５０を備える点が異なる。また、データ転送制御装置５０は、本発明の第４の実施の形態としてのデータ転送制御装置４０に対して、データ転送制御部４１に替えてデータ転送制御部５１を備える点が異なる。
【０１１８】
また、図１５において、重複データ管理装置３０およびデータ転送制御装置５０は、ストレージシステム９１ａ、９１ｂ、９１ｃとそれぞれ通信可能に接続されている。また、データ転送制御装置５０は、ストレージシステム９１ａ、９１ｂ、９１ｃとそれぞれ通信可能に接続されている。以降、ストレージシステム９１ａ、９１ｂ、９１ｃを総称してストレージシステム９１とも記載する。
【０１１９】
ストレージシステム９１は、本発明の第３の実施の形態において説明したストレージシステム９１と同様に構成され、それぞれ、自装置におけるデータのうち重複するデータに関する重複データ情報を保持している。
【０１２０】
重複データ管理装置３０は、ストレージシステム９１ａおよび９１ｂ間、９１ａおよび９１ｃ間、ならびに、９１ｂおよび９１ｃ間についてそれぞれ重複データ管理情報を生成し、保持している。
【０１２１】
データ転送制御部５１は、ストレージシステム９１の一方から他方へ、仮想ディスクのデータを転送する際に、転送先となるストレージシステム９１を選択する。具体的には、データ転送制御部５１は、転送元のストレージシステム９１と他のストレージシステム９１との間の重複データ情報に基づいて、転送先のストレージシステム９１を選択すればよい。例えば、データ転送制御部５１は、転送対象の仮想ディスクに含まれるデータとの重複データ量が最も多いストレージシステム９１を転送先として選択してもよい。
【０１２２】
そして、データ転送制御部５１は、選択したストレージシステム９１に対して、本発明の第３の実施の形態におけるデータ転送制御部４１と同様に動作することにより仮想ディスクを転送する。
【０１２３】
以上のように構成されたデータ転送制御システム４の動作について、図面を参照して説明する。
【０１２４】
まず、重複データ管理装置３０は、図１０に示した重複データ管理情報生成動作を本発明の第３の実施の形態と同様に実行することにより、ストレージシステム９１ａおよび９１ｂ間の重複データ管理情報を生成する。また、重複データ管理装置３０は、ストレージシステム９１ａおよび９１ｃ間、９１ｂおよび９１ｃ間についても同様にして重複データ管理情報を生成する。
【０１２５】
次に、データ転送制御装置５０の転送先選択動作を図１６に示す。
【０１２６】
図１６では、まず、データ転送制御部５１は、ストレージシステム９１の一方に格納される仮想ディスクを他のストレージシステム９１へ転送する指示を表す情報を取得する（ステップＳ３１）。
【０１２７】
次に、データ転送制御部５１は、転送元のストレージシステム９１と、他の各ストレージシステム９１との間の重複データ管理情報に基づいて、転送先となるストレージシステム９１を選択する（ステップＳ３２）。例えば、転送元がストレージシステム９１ａである場合、データ転送制御部５１は、ストレージシステム９１ａおよび９１ｂ間の重複データ管理情報と、９１ａおよび９１ｃ間の重複データ管理情報とを参照する。そして、データ転送制御部５１は、ストレージシステム９１ｂおよび９１ｃのうち、９１ａの転送対象の仮想ディスクに含まれるデータとの重複データ量が最も多いストレージシステム９１を、転送先として選択すればよい。
【０１２８】
以上で、データ転送制御装置５０は、転送先選択動作を終了する。
【０１２９】
以降、データ転送制御システム４は、図１３に示したデータ転送動作のステップＳ２２〜Ｓ２４を本発明の第３の実施の形態と同様に実行することにより、データ転送を実行する。
【０１３０】
次に、本発明の第４の実施の形態の効果について述べる。
【０１３１】
本発明の第４の実施の形態としてのデータ転送制御システムは、ストレージシステム間のデータ転送をさらに効率的に行うことができる。
【０１３２】
その理由は、重複データ管理装置が、複数のストレージシステム間の重複データ管理情報を生成して記憶しておき、データ転送制御装置が、転送元のストレージシステムと、他のストレージシステムとの間の重複データ管理情報に基づいて、転送先のストレージシステムを選択するからである。これにより、本実施の形態は、例えば、転送対象データとの重複データ量がより多いストレージシステムを転送先として選択することにより、より多くの重複データについてデータ転送を省略できることになる。したがって、本実施の形態は、データ転送量をより削減し、転送時間を短縮することにより、効率化を図ることができる。
【０１３３】
また、上述した本発明の第３および第４の実施の形態において、重複データ管理装置として本発明の第２の実施の形態における重複データ管理装置を適用してもよい。これにより、各実施の形態は、ノード間のデータ転送をより効率化することができる。
【０１３４】
その理由は、データ転送制御装置が、異なるノード間でデータ転送を行う際に、ノード間の重複データ管理情報に基づいて、転送対象となるデータのうちノード間で重複するデータを除いたデータを転送するからである。
【０１３５】
なお、上述した本発明の第３および第４の実施の形態では、ストレージシステム間で仮想ディスクの転送を行う例を中心に説明した。その他、各実施の形態は、仮想ディスクに限らず、格納されるデータの重複データ情報をあらかじめ有するストレージシステム間で任意のデータ転送を制御する場合にも適用可能である。
【０１３６】
また、上述した本発明の第３および第４の形態において、重複データ管理装置の動作は、データ転送制御装置の動作とは独立して実行可能である。したがって、各実施の形態は、データ転送の度に重複データ管理情報の生成処理を行う必要がなく、データ転送を行う時点で作成済みの重複データ管理情報を用いてデータ転送量を削減することができ、効率的である。また、各実施の形態は、ストレージシステム間の重複データに変更がない間は、一旦生成された重複データ管理情報を用いて何度でもデータ転送の際のデータ転送量を削減することができ、効率的である。
【０１３７】
また、上述した本発明の各実施の形態において、重複データ管理装置は、ネットワークを介して各装置（または各ストレージシステム）と接続される例を中心に説明した。その他、各実施の形態における重複データ管理装置は、各装置（または各ストレージシステム）と接続ケーブルを介して直接接続されていてもよい。また、各実施の形態において、重複データ管理装置および一方の装置（またはストレージシステム）の接続形態と、重複データ管理装置および他方の装置（またはストレージシステム）の接続形態とは、異なるものであってもよい。また、重複データ管理装置は、各装置（または各ストレージシステム）のいずれかと同一の装置上に実現されていてもよい。
【０１３８】
また、上述した本発明の第３および第４の実施の形態において、データ転送制御装置は、ネットワークを介して各ストレージシステムと接続される例を中心に説明した。その他、各実施の形態におけるデータ転送制御装置は、接続ケーブルを介して各ストレージシステムと直接接続されていてもよい。また、各実施の形態において、データ転送制御装置および一方のストレージシステムの接続形態と、データ転送制御装置および他方のストレージシステムの接続形態とは、異なるものであってもよい。また、データ転送制御装置は、各ストレージシステムのいずれかと同一の装置上に実現されていてもよい。また、データ転送制御装置は、各ストレージシステムに格納される仮想ディスクが動作する情報処理装置のいずれかと同一の装置上に実現されていてもよい。
【０１３９】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した重複データ管理装置およびデータ転送制御装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に格納しておき、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【０１４０】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【０１４１】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【０１４２】
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する重複データ管理情報生成部を備えた重複データ管理装置。
（付記２）
前記重複データ管理情報生成部は、前記一方の装置の重複データのハッシュ値と、前記他方の装置の重複データのハッシュ値とが一致するものについてデータ比較を行い、一致したものを前記装置間の重複データとして検出することを特徴とする付記１に記載の重複データ管理装置。
（付記３）
前記重複データ管理情報生成部は、前記装置間の重複データについて、ハッシュ値と、前記一方の装置における該重複データの格納位置を表す情報と、前記他方の装置における該重複データの格納位置を表す情報とを対応付けた情報を、前記重複データ管理情報として生成することを特徴とする付記２に記載の重複データ管理装置。
（付記４）
前記重複データ管理情報生成部は、前記装置間の重複データ管理情報が示す重複データと、他の装置間の前記重複データ管理情報が示す重複データとの間で重複するものを検出することにより、階層的な重複データ管理情報を生成することを特徴とする付記１から付記３のいずれか１つに記載の重複データ管理装置。
（付記５）
前記一方の装置から前記他方の装置にデータを転送する際に、付記１から付記４のいずれか１つに記載の重複データ管理装置によって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送するデータ転送制御部を備えたデータ転送制御装置。
（付記６）
前記データ転送制御部は、前記一方の装置と、１つ以上の前記他方の装置との間でそれぞれ生成された前記重複データ管理情報に基づいて、前記一方の装置のデータの転送先となる他方の装置を選択することを特徴とする付記５に記載のデータ転送制御装置。
（付記７）
付記１から付記４のいずれか１つに記載の重複データ管理装置と、
付記５または付記６に記載のデータ転送制御装置と、
を備えたデータ転送制御システム。
（付記８）
一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する、重複データ管理方法。
（付記９）
前記一方の装置から前記他方の装置にデータを転送する際に、付記８に記載の重複データ管理方法によって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送する、データ転送制御方法。
（付記１０）
一方の装置において重複する複数のデータ（重複データ）を表す重複データ情報と、他方の装置における重複データ情報とを用いて、前記一方の装置の重複データおよび前記他方の装置の重複データ間で重複するものを検出することにより、前記一方の装置および前記他方の装置間の重複データを表す重複データ管理情報を生成する重複データ管理情報生成ステップをコンピュータ装置に実行させるコンピュータ・プログラム。
（付記１１）
前記一方の装置から前記他方の装置にデータを転送する際に、付記１０に記載のコンピュータ・プログラムが実行されることによって生成された前記重複データ管理情報を参照することにより、前記装置間の重複データを除いて前記一方の装置から前記他方の装置にデータを転送するデータ転送制御ステップをコンピュータ装置に実行させるコンピュータ・プログラム。
【符号の説明】
【０１４３】
１０、２０、３０    重複データ管理装置
１１、２１、３１    重複データ管理情報生成部
３、４    データ転送制御システム
４０、５０    データ転送制御装置
４１、５１    データ転送制御部
９０    装置
９１    ストレージシステム
９２    情報処理装置
【図１】
2014178939.tif 000003
【図２】
2014178939.tif 000004
【図３】
2014178939.tif 000005
【図４】
2014178939.tif 000006
【図５】
2014178939.tif 000007
【図６】
2014178939.tif 000008
【図７】
2014178939.tif 000009
【図８】
2014178939.tif 000010
【図９】
2014178939.tif 000011
【図１０】
2014178939.tif 000012
【図１１】
2014178939.tif 000013
【図１２】
2014178939.tif 000014
【図１３】
2014178939.tif 000015
【図１４】
2014178939.tif 000016
【図１５】
2014178939.tif 000017
【図１６】
2014178939.tif 000018