(57)【要約】【課題】ハードウェアリソースの消費を抑制し、高速なレプリケーションを実現することができるレプリケーションシステムを提供すること。【解決手段】マスター側のストレージ装置に記憶されている所定のファイルデータをレプリカ側のストレージ装置に複製する複製工程を有するレプリケーション方法であって、複製工程時に、マスター側ストレージ装置及びレプリカ側ストレージ装置が、複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報をそれぞれ記憶保持する特徴値情報記憶工程を有し、各ストレージ装置がそれぞれ記憶保持している特徴値情報を、後の複製工程時に、複製対象ファイルデータを比較するために使用する。【選択図】図１
2008217306.tif 000002
【特許請求の範囲】
【請求項１】
マスター側のストレージ装置に記憶されている所定のファイルデータをレプリカ側のストレージ装置に複製する複製工程を有するレプリケーション方法であって、
前記複製工程時に、前記マスター側ストレージ装置及び前記レプリカ側ストレージ装置が、複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報をそれぞれ記憶保持する特徴値情報記憶工程を有し、
前記各ストレージ装置がそれぞれ記憶保持している前記特徴値情報を、後の複製工程時に、複製対象ファイルデータを比較するために使用する、
ことを特徴とするレプリケーション方法。
【請求項２】
前記複製工程は、前記マスター側ストレージ装置が、複製対象ファイルデータの特徴値情報を前記レプリカ側ストレージ装置に送信する複製対象通知工程を有し、
この複製対象通知工程は、前記マスター側ストレージ装置が複製対象ファイルデータの特徴値情報を記憶している場合にはその特徴値情報を前記レプリカ側ストレージ装置に送信し、記憶していない場合には特徴値情報を生成して前記レプリカ側ストレージ装置に送信する、
ことを特徴とする請求項１記載のレプリケーション方法。
【請求項３】
前記複製工程は、前記レプリカ側ストレージ装置が、前記複製対象通知工程にて前記マスター側ストレージ装置から送信された前記特徴値情報と自装置に記憶されている前記特徴値情報とに基づいて複製対象ファイルデータの複製処理を行うファイル複製工程を有する、
ことを特徴とする請求項１又は２記載のレプリケーション方法。
【請求項４】
前記ファイル複製工程は、前記レプリカ側ストレージ装置が、前記マスター側ストレージ装置から送信された特徴値情報に基づいて自装置に記憶されているファイルデータのうち前記複製対象ファイルデータに対応する候補ファイルデータを選択して、この選択された候補ファイルデータに基づいて複製対象ファイルデータの複製処理を行う、
ことを特徴とする請求項３記載のレプリケーション方法。
【請求項５】
前記ファイル複製工程は、前記レプリカ側ストレージ装置が、前記マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶している場合に、当該同一の特徴値情報に対応付けられた自装置に記憶されているファイルデータを前記複製対象ファイルデータとして複製処理を行う、
ことを特徴とする請求項４記載のレプリケーション方法。
【請求項６】
前記ファイル複製工程は、前記レプリカ側ストレージ装置が、前記マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶していない場合に、自装置に記憶されている前記選択された候補ファイルデータの特徴値情報に基づいて、前記マスター側ストレージ装置と交信して複製処理を行う、
ことを特徴とする請求項４記載のレプリケーション方法。
【請求項７】
前記ファイル複製工程は、前記レプリカ側ストレージ装置が、前記候補ファイルデータの特徴値情報を前記マスター側ストレージ装置に送信し、前記マスター側ストレージ装置が、複製対象ファイルデータの特徴値情報と前記レプリカ側ストレージ装置から送信された前記候補ファイルデータの特徴値情報とに基づいて、前記複製対象ファイルデータと前記候補ファイルデータとの差分データを生成して前記レプリカ側ストレージ装置に送信し、前記レプリカ側ストレージ装置が、前記差分データを受信して当該差分データと前記候補ファイルデータとに基づいて複製対象ファイルデータの複製処理を行う、
ことを特徴とする請求項６記載のレプリケーション方法。
【請求項８】
前記特徴値情報記憶工程は、前記レプリカ側ストレージ装置が、前記複製工程にて複製したファイルデータの特徴値情報を生成して当該特徴値情報を記憶保持する、
ことを特徴とする請求項１，２，３，４，５，６又は７記載のレプリケーション方法。
【請求項９】
前記各ストレージ装置に記憶される前記特徴値情報は、ファイルデータ自体の特徴を表すファイルチェックサムと、ファイルデータの内容の特徴を表すブロックチェックサムと、を含む、ことを特徴とする請求項１，２，３，４，５，６，７又は８記載のレプリケーション方法。
【請求項１０】
少なくとも２台のストレージ装置が接続されて構成されており、マスター側の前記ストレージ装置に記憶されている所定のファイルデータをレプリカ側の前記ストレージ装置に複製する機能を有するレプリケーションシステムであって、
前記マスター側ストレージ装置及び前記レプリカ側ストレージ装置が、複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報をそれぞれ記憶保持する特徴値情報記憶手段と、それぞれが記憶保持している前記特徴値情報を後の複製処理時に複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、をそれぞれ備えたことを特徴とするレプリケーションシステム。
【請求項１１】
少なくとも１台のレプリカ側ストレージ装置に接続され、自装置に記憶されている所定のファイルデータを前記レプリカ側ストレージ装置に複製する機能を有するマスター側ストレージ装置であって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を記憶保持する特徴値情報記憶手段と、後の複製処理時に自装置内に記憶保持している前記特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を備えたことを特徴とするマスター側ストレージ装置。
【請求項１２】
前記複製処理手段は、複製対象ファイルデータの特徴値情報を前記レプリカ側ストレージ装置に送信する複製対象通知手段を有し、
この複製対象通知手段は、複製対象となったファイルデータの特徴値情報を自装置内に記憶している場合にはその特徴値情報を前記レプリカ側ストレージ装置に送信し、記憶していない場合には特徴値情報を生成して前記レプリカ側ストレージ装置に送信する、
ことを特徴とする請求項１１記載のマスター側ストレージ装置。
【請求項１３】
前記複製処理手段は、前記複製対象通知手段にて通知した前記複製対象ファイルデータの特徴値情報に基づいて前記レプリカ側ストレージ装置に記憶されたファイルデータのうち当該レプリカ側ストレージ装置にて選択された候補ファイルデータの特徴値情報を受信して、この候補ファイルデータの特徴値情報と前記複製対象ファイルデータの特徴値情報とに基づいてこれらの差分データを生成して前記レプリカ側ストレージ装置に送信する、
ことを特徴とする請求項１２記載のマスター側ストレージ装置。
【請求項１４】
マスター側ストレージ装置と接続され、当該マスター側ストレージ装置に記憶されている所定のファイルデータを自装置に複製する機能を有するレプリカ側ストレージ装置であって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を記憶保持する特徴値情報記憶手段と、後の複製処理時に自装置内に記憶保持している前記特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を備えたことを特徴とするレプリカ側ストレージ装置。
【請求項１５】
前記複製処理手段は、前記マスター側ストレージ装置から送信された前記複製対象ファイルデータの特徴値情報と自装置に記憶されている前記特徴値情報とに基づいて複製対象ファイルデータの複製処理を行うファイル複製手段を備えた、
ことを特徴とする請求項１４記載のレプリカ側ストレージ装置。
【請求項１６】
前記ファイル複製手段は、前記マスター側ストレージ装置から送信された特徴値情報に基づいて自装置に記憶されているファイルデータのうち前記複製対象ファイルデータに対応する候補ファイルデータを選択して、この選択された候補ファイルデータに基づいて自装置に複製を行う、
ことを特徴とする請求項１５記載のレプリカ側ストレージ装置。
【請求項１７】
前記ファイル複製手段は、前記マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶している場合に、当該同一の特徴値情報に対応付けられた自装置に記憶されているファイルデータを前記複製対象ファイルデータとして自装置に複製する、ことを特徴とする請求項１６記載のレプリカ側ストレージ装置。
【請求項１８】
前記ファイル複製手段は、前記マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶していない場合に、自装置に記憶されている前記選択された候補ファイルデータの特徴値情報に基づいて、前記マスター側ストレージ装置と交信して複製処理を行う、
ことを特徴とする請求項１６記載のレプリカ側ストレージ装置。
【請求項１９】
前記ファイル複製手段は、前記候補ファイルデータの特徴値情報を前記マスター側ストレージ装置に送信すると共に、これに応じて前記マスター側ストレージ装置にて生成され送信される前記複製対象ファイルデータと前記候補ファイルデータとの差分データを受信して当該差分データに基づいて複製対象ファイルデータの複製を行う、
ことを特徴とする請求項１８記載のレプリカ側ストレージ装置。
【請求項２０】
少なくとも１台のレプリカ側ストレージ装置に接続されたマスター側ストレージ装置に、自装置に記憶されている所定のファイルデータを前記レプリカ側ストレージ装置に複製する機能を実現させるためのプログラムであって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を自装置に記憶保持する特徴値情報記憶処理手段と、後の複製処理時に自装置に記憶保持している前記特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を実現させるためのプログラム。
【請求項２１】
マスター側ストレージ装置と接続されたレプリカ側ストレージ装置に、前記マスター側ストレージ装置に記憶されている所定のファイルデータを自装置に複製する機能を実現させるためのプログラムであって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を自装置に記憶保持する特徴値情報記憶処理手段と、後の複製処理時に自装置に記憶保持している前記特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レプリケーション方法にかかり、特に、複数のストレージ装置が接続されており、マスター側ストレージ装置に記憶された所定のファイルデータを他のレプリカ側ストレージ装置に複製を行うレプリケーション方法に関する。
【背景技術】
【０００２】
近年では、情報処理システムの普及により、種々の情報をデジタルデータにて保存・管理することが多く行われている。そして、重要なデータに関しては、災害対策のために、他のコンピュータにバックアップするといったレプリケーションが必須となっている。
【０００３】
通常、ファイルシステムのレプリケーションは、レプリケーション元のファイルシステムに行われた操作について、（１）更新情報を抽出し、（２）レプリケーション先に転送し、（３）レプリケーション先のファイルシステムに反映する、という手順にて実現される。そして、レプリケーション先へのデータの反映は、メタデータ（ファイルシステム構造）とファイルデータ（ファイルコンテンツ）について行う必要があるが、特にファイルデータ（ファイルコンテンツ）については更新情報が多くなるため、その抽出方法と反映タイミングがレプリケーションの性格をきめる重要な要素となっている。例えば、レプリケーションを行うシステムの一例が特許文献１に開示されている。
【０００４】
ここで、非同期方式のファイルシステム・レプリケーションとは、レプリケーション元のファイルシステムにおいて更新情報を蓄積し、レプリケーション先のファイルシステムに任意のタイミングで反映させる方式である。この場合、レプリケーション元ファイルシステムへの操作は即座に完了し、レプリケーション動作の完了を待ち合わせる事はない。
【０００５】
そして、非同期方式のレプリケーションでは、（１）データの更新情報を単純に全て蓄積し任意のタイミングで転送する方式、（２）冗長な更新情報をヒューリスティックやデータ構造の工夫により削減して転送する方式、（３）レプリケーション先ファイルシステムはレプリケーション元ファイルシステムにおけるデータに近似して十分に近いデータを持っていると仮定してレプリケーション先ファイルシステムのデータを活用するよう更新情報を抽出して転送する方式、さらには、（４）これらの組み合わせ方式、がある。
【０００６】
上記レプリケーション方式のうち、特に、（３）の方式については、操作反映時におけるレプリケーション先ファイルシステムの参照が更新情報の転送より十分に高速か、またはコストが低い場合、転送する更新情報を大幅に減らす事ができる有効な方法である。このように、転送する更新情報が減ると、非同期方式で一般的なネットワーク帯域が限られた環境では、効率の良いレプリケーションが可能となる。本方式の具体的な例として、Rsyncプロトコルをファイルデータの同期に用いたIntermezzoファイルシステムなどがある。
【０００７】
そして、上記Rsyncプロトコルでは、チェックサム計算によりレプリケーション元とレプリケーション先のファイルデータ差異を高速に算出し、差分データを転送することができる。このため、元となる更新情報は更新があったファイルのパス名だけであり、チェックサム結果もファイルデータ全体の数百分の１となっている。そして、レプリケーション元とレプリケーション先で共通のファイルデータについては、レプリケーション先のファイルシステムにあるデータが再利用される。
【０００８】
【特許文献１】特開２００５−３０１５９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したような従来のレプリケーションシステムでは、チェックサムの計算をファイルデータの同期のたびに行っており、同じ、もしくは僅かな差異しかないデータが何度も書き込まれた場合には、多くのチェックサム再計算とディスクアクセスが発生していた。このため、レプリケーション処理に時間がかかり、また、CPUやメモリBUS、HDDなどのハードウェアリソースは多く消費してしまう、という問題があった。かかる問題は、特に、ネットワーク共有を意識したアプリケーションが不慮のデータクラッシュに備えて、定期的（５〜１０分おきなど）に元ファイルとほぼ同じ内容のテンポラリファイルを作成し、元ファイルをテンポラリファイルで置換する動作を行った場合に顕著となる。
【００１０】
このため、本発明では、上記従来例の有する不都合を改善し、特に、ハードウェアリソースの消費を抑制し、高速なレプリケーションを実現することができるシステムを提供することをその目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明の一形態は、
マスター側のストレージ装置に記憶されている所定のファイルデータをレプリカ側のストレージ装置に複製する複製工程を有するレプリケーション方法であって、
複製工程時に、マスター側ストレージ装置及びレプリカ側ストレージ装置が、複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報をそれぞれ記憶保持する特徴値情報記憶工程を有し、
各ストレージ装置がそれぞれ記憶保持している特徴値情報を、後の複製工程時に、複製対象ファイルデータを比較するために使用する、
ことを特徴としている。
【００１２】
上記発明によると、まず、マスター側ストレージ装置に記憶されている複製対象ファイルデータが、レプリカ側ストレージ装置に複製される際には、複製対象ファイルデータの送受信時の誤り検出のためなどに使用されるチェックサムなどの特徴値情報が生成されるが、この特徴値情報が各ストレージ装置にそれぞれ記憶保持される。そして、その後にマスター側ストレージ装置からレプリカ側ストレージ装置に複製が行われる際には、既に記憶されている特徴値情報が、各ストレージ装置間でそれぞれファイルの内容等を比較するために使用される。従って、複製処理の都度、両ストレージ装置において各複製対象ファイルデータの特徴値情報を生成する必要が無く、処理負担が軽減され、レプリケーションの高速化を図ることができる。
【００１３】
また、複製工程は、マスター側ストレージ装置が、複製対象ファイルデータの特徴値情報をレプリカ側ストレージ装置に送信する複製対象通知工程を有し、
この複製対象通知工程は、マスター側ストレージ装置が複製対象ファイルデータの特徴値情報を記憶している場合にはその特徴値情報をレプリカ側ストレージ装置に送信し、記憶していない場合には特徴値情報を生成してレプリカ側ストレージ装置に送信する、
ことを特徴としている。
【００１４】
また、複製工程は、レプリカ側ストレージ装置が、複製対象通知工程にてマスター側ストレージ装置から送信された特徴値情報と自装置に記憶されている特徴値情報とに基づいて複製対象ファイルデータの複製処理を行うファイル複製工程を有する、
ことを特徴としている。
【００１５】
これにより、マスター側ストレージ装置及びレプリカ側ストレージ装置は、複製対象となったファイルデータの特徴値情報が既に記憶されている場合には、その記憶されている特徴値情報を使用して複製処理を行う。従って、新たに特徴値情報の再計算を行う必要がなく、処理負担の軽減、及び、処理の高速化を図ることできる。
【００１６】
また、ファイル複製工程は、レプリカ側ストレージ装置が、マスター側ストレージ装置から送信された特徴値情報に基づいて自装置に記憶されているファイルデータのうち複製対象ファイルデータに対応する候補ファイルデータを選択して、この選択された候補ファイルデータに基づいて複製対象ファイルデータの複製処理を行う、ことを特徴としている。
【００１７】
これにより、レプリカ側ストレージ装置は、受信した複製対象ファイルデータの特徴値情報から既に記憶されているファイルデータを候補ファイルデータとして選択し、この候補ファイルデータを利用して複製対象ファイルデータの複製処理を行う。従って、マスター側ストレージ装置から送信されるデータ容量の軽減を図ることができ、通信負荷を抑制し、処理の高速化を図ることができる。
【００１８】
また、ファイル複製工程は、レプリカ側ストレージ装置が、マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶している場合に、当該同一の特徴値情報に対応付けられた自装置に記憶されているファイルデータを前記複製対象ファイルデータとして複製処理を行う、ことを特徴としている。
【００１９】
そして、ファイル複製工程は、レプリカ側ストレージ装置が、マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶していない場合に、自装置に記憶されている選択された候補ファイルデータの特徴値情報に基づいて、マスター側ストレージ装置と交信して複製処理を行う、ことを特徴としている。
【００２０】
さらに、ファイル複製工程は、レプリカ側ストレージ装置が、候補ファイルデータの特徴値情報をマスター側ストレージ装置に送信し、マスター側ストレージ装置が、複製対象ファイルデータの特徴値情報とレプリカ側ストレージ装置から送信された候補ファイルデータの特徴値情報とに基づいて、複製対象ファイルデータと候補ファイルデータとの差分データを生成してレプリカ側ストレージ装置に送信し、レプリカ側ストレージ装置が、差分データを受信して当該差分データと候補ファイルデータとに基づいて複製対象ファイルデータの複製処理を行う、ことを特徴としている。
【００２１】
これにより、ファイル複製時には、マスター側ストレージ装置が、まず、複製対象となったファイルデータの特徴値情報を送信すると、レプリカ側ストレージ装置が同一の特徴値情報が記憶されているか否かを検索する。そして、レプリカ側ストレージ装置は、同一の特徴値情報が記憶されている場合には、対応するファイルデータを複製対象として認識し、当該ファイルデータをコピーすることで複製を実行する。一方、通知された特徴値情報が記憶されていない場合には、レプリカ側ストレージ装置は候補となるファイルデータを検索する。そして、この候補ファイルデータの特徴値情報をマスター側ストレージ装置に送信することで、マスター側ストレージ装置では複製対象ファイルデータと候補ファイルデータとの差分データが生成され、レプリカ側ストレージ装置に返送される。そして、レプリカ側ストレージ装置では、送信された差分データに基づいて複製対象ファイルデータの再現を行う。従って、各ストレージ装置間では、ファイルデータ自体よりも容量の少ない特徴値情報や差分データの送受信で済むため、データ転送量を削減でき、複製処理の高速化を図ることができる。
【００２２】
また、特徴値情報記憶工程は、レプリカ側ストレージ装置が、複製工程にて複製したファイルデータの特徴値情報を生成して当該特徴値情報を記憶保持する、ことを特徴としている。これにより、各ストレージ装置に記憶されているファイルデータの全ての特徴値情報が各装置内に記憶保持されるため、後の複製処理の高速化を図ることができる。
【００２３】
そして、上記各ストレージ装置に記憶される特徴値情報は、ファイルデータ自体の特徴を表すファイルチェックサムと、ファイルデータの内容の特徴を表すブロックチェックサムと、を含む、ことを特徴としている。
【００２４】
これにより、ファイルデータ自体を比較する場合にはファイルチェックサムを用い、ファイルデータの内容を比較する場合にはブロックチェックサムを用いることができるため、用途に応じてデータ転送量を最小限に抑制することができ、レプリケーションの高速化をはかることができる。
【００２５】
また、本発明の他の形態では、
少なくとも２台のストレージ装置が接続されて構成されており、マスター側のストレージ装置に記憶されている所定のファイルデータをレプリカ側のストレージ装置に複製する機能を有するレプリケーションシステムであって、
マスター側ストレージ装置及びレプリカ側ストレージ装置が、複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報をそれぞれ記憶保持する特徴値情報記憶手段と、それぞれが記憶保持している特徴値情報を後の複製処理時に複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、をそれぞれ備えたことを特徴としている。
【００２６】
また、本発明の他の形態では、
少なくとも１台のレプリカ側ストレージ装置に接続され、自装置に記憶されている所定のファイルデータを前記レプリカ側ストレージ装置に複製する機能を有するマスター側ストレージ装置であって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を記憶保持する特徴値情報記憶手段と、後の複製処理時に自装置内に記憶保持している特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を備えたことを特徴としている。
【００２７】
そして、複製処理手段は、複製対象ファイルデータの特徴値情報をレプリカ側ストレージ装置に送信する複製対象通知手段を有し、この複製対象通知手段は、複製対象となったファイルデータの特徴値情報を自装置内に記憶している場合にはその特徴値情報をレプリカ側ストレージ装置に送信し、記憶していない場合には特徴値情報を生成してレプリカ側ストレージ装置に送信する、ことを特徴としている。
【００２８】
また、複製処理手段は、複製対象通知手段にて通知した複製対象ファイルデータの特徴値情報に基づいてレプリカ側ストレージ装置に記憶されたファイルデータのうち当該レプリカ側ストレージ装置にて選択された候補ファイルデータの特徴値情報を受信して、この候補ファイルデータの特徴値情報と複製対象ファイルデータの特徴値情報とに基づいてこれらの差分データを生成してレプリカ側ストレージ装置に送信する、ことを特徴としている。
【００２９】
さらに、本発明の他の形態では、
マスター側ストレージ装置と接続され、当該マスター側ストレージ装置に記憶されている所定のファイルデータを自装置に複製する機能を有するレプリカ側ストレージ装置であって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を記憶保持する特徴値情報記憶手段と、後の複製処理時に自装置内に記憶保持している特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を備えたことを特徴としている。
【００３０】
そして、複製処理手段は、マスター側ストレージ装置から送信された複製対象ファイルデータの特徴値情報と自装置に記憶されている特徴値情報とに基づいて複製対象ファイルデータの複製処理を行うファイル複製手段を備えた、ことを特徴としている。
【００３１】
さらに、ファイル複製手段は、マスター側ストレージ装置から送信された特徴値情報に基づいて自装置に記憶されているファイルデータのうち複製対象ファイルデータに対応する候補ファイルデータを選択して、この選択された候補ファイルデータに基づいて自装置に複製を行う、
ことを特徴としている。
【００３２】
また、ファイル複製手段は、マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶している場合に、当該同一の特徴値情報に対応付けられた自装置に記憶されているファイルデータを複製対象ファイルデータとして自装置に複製する、
ことを特徴としている。そして、さらに、ファイル複製手段は、マスター側ストレージ装置から送信された特徴値情報と同一の特徴値情報を記憶していない場合に、自装置に記憶されている選択された候補ファイルデータの特徴値情報に基づいて、マスター側ストレージ装置と交信して複製処理を行う、ことを特徴としている。
【００３３】
さらに、ファイル複製手段は、候補ファイルデータの特徴値情報をマスター側ストレージ装置に送信すると共に、これに応じて前記マスター側ストレージ装置にて生成され送信される前記複製対象ファイルデータと前記候補ファイルデータとの差分データを受信して当該差分データに基づいて複製対象ファイルデータの複製を行う、
ことを特徴としている。
【００３４】
また、本発明の他の形態であるプログラムは、
少なくとも１台のレプリカ側ストレージ装置に接続されたマスター側ストレージ装置に、自装置に記憶されている所定のファイルデータを前記レプリカ側ストレージ装置に複製する機能を実現させるためのプログラムであって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を自装置に記憶保持する特徴値情報記憶処理手段と、後の複製処理時に自装置に記憶保持している特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を実現させる、ことを特徴としている。
【００３５】
さらに、本発明の他の形態であるプログラムは、
マスター側ストレージ装置と接続されたレプリカ側ストレージ装置に、マスター側ストレージ装置に記憶されている所定のファイルデータを自装置に複製する機能を実現させるためのプログラムであって、
複製処理時に複製対象ファイルデータを各ストレージ装置相互間で比較するために生成して使用した当該複製対象ファイルデータの特徴値情報を自装置に記憶保持する特徴値情報記憶処理手段と、後の複製処理時に自装置に記憶保持している特徴値情報を複製対象ファイルデータを比較するために使用して複製を行う複製処理手段と、を実現させる、ことを特徴としている。
【００３６】
上述した構成のレプリケーションシステム、ストレージ装置、プログラムの発明であっても、上記レプリケーション方法と同様に作用するため、上述した本発明の目的を達成することができる。
【発明の効果】
【００３７】
本発明は、以上のように構成され機能するので、これによると、レプリケーション時に一度作成されたファイルデータの特徴値情報がストレージ装置に記憶され、これが後のレプリケーション時に使用される。従って、レプリケーション処理の都度、両ストレージ装置において各複製対象ファイルデータの特徴値情報を生成する必要が無く、処理負担が軽減され、レプリケーションの高速化を図ることができる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【００３８】
本発明では、複数のストレージ装置による非同期型のファイルシステム・レプリケーションにおいて、生成されたチェックサムなどのファイルデータの特徴値情報を記憶保持し、後のレプリケーション時に利用することに特徴を有する。これにより、同一もしくは類似のファイルデータを複数回レプリケーションする場合に、ファイルシステムのディレクトリ構造の変化や違いによらず高速かつ低コストにレプリケーションを実現することができる。以下、具体的な構成を、実施例を参照して説明する。
【実施例１】
【００３９】
本発明の第１の実施例を、図１乃至図２１を参照して説明する。図１乃至図２は、本実施例におけるレプリケーションシステム、つまり、レプリケーションを行うストレージ装置の構成を示すブロック図である。図３乃至図２１は、レプリケーションの動作を示す説明図及びフローチャートである。
【００４０】
［構成］
図１に示すように、本実施例におけるレプリケーションシステムは、２台のストレージ装置１，２がネットワークＮを介して接続されており、一方のストレージ装置１に記憶されているファイルデータを、他方のストレージ装置２に複製（レプリケーション）するよう構成されている。以下、符号１のストレージ装置１をマスター側ストレージ装置と呼び、他方のストレージ装置２をレプリカ側ストレージ装置と呼ぶ。なお、レプリケーションシステムには、さらに多くのレプリカ側ストレージ装置が接続されていて、マスター側ストレージ装置が複数のレプリカ側ストレージ装置に対してレプリケーションを行うよう構成されていてもよい。また、図１では、マスター側ストレージ装置１の構成を説明しているが、レプリカ側ストレージ装置２もほぼ同様の構成を採っているため、その図示は省略する。
【００４１】
図１に示すように、ストレージ装置１は、ハードディスクなどの記憶部１Ａと、この記憶部１Ａに対するデータの記録再生制御を行う制御部１Ｂと、を備えている。そして、制御部１Ｂには、レプリケーションを実現する機能が装備されているが、これについては後述する。
【００４２】
記憶部１Ａには、メタデータ記憶部１１が形成されており、ファイルシステムを利用するクライアント・アプリケーションにて提供されるファイルデータのアクセス情報（アクセスパスを構成するロケーション情報、ファイル作成日時、所有者、ACLなど）が記憶されている。そして、このメタデータ記憶部１１に対応して制御部１Ｂにはメタデータ制御部１４が構築されている。このメタデータ制御部１４は、メタデータ記憶部１１内のファイルデータのディレクトリ構造や名前を管理しており、後述するファイルデータと結びつけを行う。なお、マスター側ストレージ装置１とレプリカ側ストレージ装置２とでは、全く別のメタデータが管理されていてもよい。つまり、マスター側ストレージ装置１とレプリカ側ストレージ装置２とのメタデータは、通常、ファイルシステムのレプリケーション処理の一部で同期化されるが、本実施例によるファイルデータのレプリケーションは、メタデータの同期を前提とするものではない。
【００４３】
また、記憶部１Ａには、上述したメタデータに関連付けられるファイルの内容自体であるファイルデータを記憶するファイルデータ記憶部１２が形成されている。そして、このファイルデータ記憶部１２に対応して制御部１Ｂにはファイルデータ制御部１５が構築されており、メタデータ制御部１４で指示されたファイルデータの内容を読み書きするよう制御している。
【００４４】
また、記憶部１Ａには、上述したファイルデータをレプリケーションする際に、マスター側とレプリカ側の各ストレージ装置相互間で、複製するファイルデータを比較するためのチェックサムを記憶するキャッシュである検索テーブル１３が形成されている。そして、この検索テーブル１３に対応して、制御部１Ｂには検索テーブル制御部１６が構築されている。この検索テーブル制御部１６は、後述するように、各ファイルデータのチェックサムの計算結果をキャッシュして、そのファイルデータと結びつける処理を行う。また、後述するレプリケーション時には、メタデータ制御部１４で指示されたファイルデータについて既に計算されたチェックサムがあるかを検索するよう作動する。なお、レプリケーションの初期段階では、チェックサムが未計算であるため検索テーブルには何もキャッシュされていなくてもよい。またキャッシュであるため、記憶容量の使用効率の都合で、使用したチェックサムデータは破棄されてもよい。
【００４５】
ここで、本実施例におけるチェックサムは、ファイルデータの特徴を表す値であって、ファイルデータ自体の特徴を表すファイル単位のファイルチェックサム、ファイルデータの内容の特徴を表すよう当該ファイルデータをブロックに分割して計算したブロック単位のブロックチェックサムなど、従来より用いられるチェックサムが用いられる。但し、チェックサムは、上記値のみに限定されず、ファイルデータの特徴を表す他の情報を含んでいてもよい。例えば、ファイルの類似性を表現する値（類似性ヒューリスティック値）を含んでいてもよく、上記メタデータに記憶されているようなファイルデータのアクセス情報（ローケーション情報など）を含んでいてもよい。これらの特徴値情報は、後述するように、レプリケーション実行時に使用され、特に、レプリカ側ストレージ装置２で複製対象ファイルデータに対応する候補ファイルデータを選択するときや、複製対象ファイルデータと候補ファイルデータとの差分を検出する際に使用される。
【００４６】
なお、上記では、マスター側ストレージ装置１の記憶部１Ａ及び制御部１Ｂの構成として説明したが、同様の構成がレプリカ側ストレージ装置２にも備えられている。
【００４７】
そして、マスター側ストレージ装置１の制御部１Ｂ自体は、基本的に、上記記憶部１Ａの動作を制御して、マスター側ストレージ装置１のファイルデータ記憶部１２内に記憶されているファイルデータを、レプリカ側ストレージ装置２に複製するレプリケーション機能（複製処理手段）を有する。同様に、レプリカ側ストレージ装置２の制御部２Ｂは、マスター側ストレージ装置１に記憶されているファイルデータを自己の記憶部（図示せず）内に複製するレプリケーション機能（複製処理手段）を有する。以下、各ストレージ装置１，２の制御部１Ｂ，２Ｂが備えるレプリケーション機能についてさらに詳述する。
【００４８】
まず、マスター側ストレージ装置１では、複製対象となるファイルデータである複製対象ファイルデータの複製処理が開始されると、その複製対象ファイルデータを特定し、ファイル自体の特徴を表すファイルチェックサム（特徴値情報）を生成して、これをレプリカ側ストレージ装置２に送信する（複製対象通知手段）。このとき、生成され使用されたファイルチェックサムを、複製対象ファイルデータのファイルチェックサムとして、上述した検索テーブル１３内に登録して記憶保持する（特徴値情報記憶手段）。なお、マスター側ストレージ装置１は、複製対象ファイルデータをレプリカ側ストレージ装置２に通知する際に、複製対象ファイルデータのファイルチェックサムが自装置内に記憶されているか否かをまず検索して、記憶されている場合には、そのファイルチェックサムをレプリカ側ストレージ装置２に送信して、レプリケーションに使用する。
【００４９】
さらに、マスター側ストレージ装置１は、複製処理時に、後述するように、レプリカ側ストレージ装置２から、複製対象ファイルデータに類似するファイルデータとして選択された候補ファイルデータの内容の特徴を表すブロックチェックサムが送信されるが、これに応じて、複製対象ファイルデータの内容の特徴を表すブロックチェックサムを生成し、その比較を行う。そして、各ブロックチェックサムの比較の結果、それらの差分データを検出して更新データを生成し、レプリカ側ストレージ装置２に送信する。なお、このときにも、レプリケーション処理に利用された複製対象ファイルデータのブロックチェックサムは、検索テーブル１３に登録され、記憶保持される（特徴値情報記憶手段）。
【００５０】
また、レプリカ側ストレージ装置２では、まず、既に実行したマスター側ストレージ装置１とのレプリケーション処理にて使用されたファイルチェックサム、及び、ブロックチェックサムを、当該レプリカ側ストレージ装置の検索テーブル２３に登録する（特徴値情報記憶手段）。そして、その後、レプリケーションが開始されると、上述したようにマスター側ストレージ装置１から送信された複製対象ファイルデータのファイルチェックサムを受信して、このファイルチェックサムに基づいてレプリケーション処理を実行する（ファイル複製手段）。
【００５１】
具体的には、受信したファイルチェックサムと同一のファイルチェックサムが検索テーブル２３に存在するか否かを判断する。そして、同一のファイルチェックサムが登録されている場合には、そのファイルチェックサムに関連付けられているファイルデータが、複製対象ファイルデータと同一データであると判断され、ファイルデータ記憶部２２内でその複製が行われる。また、ファイルチェックサムが記憶されていない場合には、このファイルチェックサム等に基づいて、複製対象ファイルデータに最も近似するファイルデータをファイルデータ記憶部２２内から検索して、候補ファイルデータを選択する。このとき、マスター側ストレージ装置１からは、上記ファイルチェックサムと共に、例えば、複製対象ファイルデータのメタデータに含まれるアクセス情報（ロケーション情報やサイズ、ファイル作成日付、ファイル名など）などの情報といったファイル自体の特徴を表す情報が送信されており、かかる情報や、過去の選択結果における評価値（フィードバック）、ファイルシステムの負荷状況などにも基づいて、候補ファイルデータが選択されてもよい。例えば、ファイルチェックサムの値そのもの、ファイル名の類似性、ファイル作成日付の近似、などといったファイルの特徴値情報に基づいて、候補ファイルデータを選択する。
【００５２】
そして、選択された候補ファイルデータのブロックチェックサムが、レプリカ側ストレージ装置２の検索テーブル２３に登録されていなければ新たに算出され、登録されていれば、そのブロックチェックサムをマスター側ストレージ装置１に送信する。なお、このとき、新たに算出されたブロックチェックサムは、検索テーブル２３に登録され、後の使用に備えられる。すると、上述したように、マスター側ストレージ装置１から、複製対象ファイルデータとの差分を表す更新データが送信されるため、これを取得して、更新データ（差分データ）と候補ファイルデータとに基づいて、複製対象ファイルデータをレプリカ側ストレージ装置２内に再現する。このとき、復元されたファイルデータのブロックチェックサムを新たに生成して、検索テーブルに登録する（特徴値情報記憶手段）。
【００５３】
なお、上述した各ストレージ装置１，２の制御部１Ｂ，２Ｂにて実現されるレプリケーション機能は、当該制御部１Ｂ，２Ｂに所定のプログラムが組み込まれることによって実現される。但し、制御部１Ｂ，２Ｂによるレプリケーション機能は、上述したものに限定されず、後述する動作説明にて示す機能も有する。
【００５４】
また、各ストレージ装置１，２には、相互に通信するための通信部１Ｃが設けられており、具体的には、ある装置のファイルシステムが別装置のファイルシステムとInterconnectを通してデータを送受信する仕組みを備える。ただし、これらファイルシステムが物理的に同一装置に配置された場合、Interconnectを必要としない場合もある。
【００５５】
［動作］
次に、上記構成のレプリケーションシステムにおけるレプリケーション時の動作を、図２乃至図２１を参照して説明する。なお、ファイルデータのレプリケーションは、検索、比較、再構成、終結の４フェーズに分けることができる。
【００５６】
まず、図２から図９を参照して、新規ファイルデータをレプリケーションする初回同期の動作について詳細に説明する。なお、図２乃至図８は、各ストレージ装置１，２におけるデータ処理の様子を示す説明図であり、図９は、各ストレージ装置１，２の動作を示すシーケンス図である。
【００５７】
図２において、マスター側ストレージ装置１と、レプリカ側ストレージ装置２と、はInterconnectを経由して接続されている。そして、それぞれのファイルシステムにあるファイルデータは未同期状態とする。
【００５８】
そして、マスター側ストレージ装置１に記憶されている複製対象となるファイルデータについて、レプリケーションの検索フェーズを開始する。はじめに、制御部１Ｂにてレプリケーション対象となるファイルを特定する。ここでは、図２に示す符号１１ａのメタデータに関連付けられた符号１２ａに示すファイルデータが、複製対象ファイルデータであることとする。
【００５９】
その後、検索テーブル１３内にチェックサムが登録されているか探索するが、初回同期であるために登録されていない。そのため、ファイルデータ記憶部１２から複製対象ファイルデータ１２ａを読み出し、そのファイルチェックサムの計算を行う（ステップＳ１、図３（１））。そして、計算されたファイルチェックサム１３ａを、検索テーブル１３に登録し、記憶する（ステップＳ２、図３（２）、特徴値情報記憶工程）。その後、このファイルチェックサム１３ａを、通信部１Ｃからレプリカ側ストレージ装置２に送信する（ステップＳ３、図３（３））。
【００６０】
すると、レプリカ側ストレージ装置２では、マスター側ストレージ装置１から送信された複製対象ファイルデータ１２ａのファイルチェックサム１３ａを通信部２Ｃを介して受信し、検索テーブル２３に既に登録されているファイルチェックサムであるか否かを探索する（ステップＳ４、図３（４））。探索の結果、初回同期であるため同じファイルチェックサムは登録されておらず、すでにレプリケーション済みのファイルデータがあると推定できない状態であると判断する。このとき、受信したファイルチェックサム１３ａは、図４の符号２３ａに示すように、検索テーブル２３内に保持しておく。
【００６１】
続いて、レプリカ側ストレージ装置２では、上述した検索フェーズにて複製対象ファイルデータがレプリケーション済みのファイルデータはないと判断したため、比較フェーズにより差分データの特定処理を開始する。すると、レプリカ側ストレージ装置２では、受信したファイルチェックサム２３ａやこれと共に送信された複製対象ファイルデータのロケーション情報などを用いて、マスター側ストレージ装置１に記憶されている複製対象ファイルデータ１２ａと最も近いと思われるファイルデータを探索し、候補ファイルデータ２２ａ’を選択する（ステップＳ５、図５（５））。そして、レプリカ側ストレージ装置２は、選択した候補ファイルデータ２２ａ’のブロックチェックサム２３ｂ’を生成し（ステップＳ６、図４（６））、通信部２Ｃよりマスター側ストレージ装置２に送信する（ステップＳ７、図４（７））。
【００６２】
続いて、マスター側ストレージ装置１は、通信部１Ｃを介して候補ファイルデータ２２ａ’のブロックチェックサム２３ｂ’を受信する。そして、複製対象ファイルデータ１２ａのブロックチェックサム１３ｂを生成して（ステップＳ８、図５（８））、候補ファイルデータ２２ａ’のブロックチェックサム２３ｂ’と、複製対象ファイルデータ１２ａのブロックファイルチェックサム１３ｂとの比較を行う（ステップ９、図５（９））。この比較結果に基づいて、これら各ブロックファイルチェックサム２３ｂ’，１３ｂとの差分データを含むブロックを特定する。そして、レプリカ側ストレージ装置２にて利用される更新データ１３ｂ’を生成して、レプリカ側ストレージ装置２に送信する（ステップＳ１０、図５（１０）。なお、ここでは、複製対象ファイルデータ１２ａのブロックチェックサム１３ｂが、候補ファイルデータ２２ａ’のブロックチェックサム２３ｂ’に一致したブロックに関しては、そのブロックを参照するリファレンス番号を更新データ１３ｂ’に含め、製対象ファイルデータ１２ａのブロックチェックサム１３ｂが、候補ファイルデータ２２ａ’のブロックチェックサム２３ｂ’に無い場合には、そのブロックデータそのものを更新データ１３ｂ’に含めて送信する。
【００６３】
続いて、比較フェーズにて差分データが特定され、更新データ１３ｂ’がレプリカ側ストレージ装置２に受信されると、再構成フェーズによりレプリカ側ストレージ装置２にて複製対象ファイルデータの再現が行われる。具体的には、更新データ１３ｂ’に含まれるリファレンス番号で参照されるブロックに関しては、候補ファイルデータ２２ａ’から読み出し（図６（１１））、これに更新データ１３ｂ’に含まれるブロックデータそのものを結合して（図６（１２））、複製対象ファイルデータ１２ａと同一のファイルデータ２２ａを再現する（ステップＳ１１）。このとき、マスター側ストレージ装置１から受信した更新データ１３ｂ’に含まれるブロックデータについてはブロックチェックサムを計算しておき、候補ファイルデータ２２ａ’から計算したブロックチェックサムと合わせて、新たに生成した再現ファイルデータ２２ａそのもののブロックチェックサム２３ｂを生成しておく（ステップＳ１２、図６（１３））。なお、このブロックチェックサム２３ｂの生成は、後の終結フェーズで実行されてもよい。
【００６４】
続いて、上述したように、レプリカ側ストレージ装置２にて複製対象ファイルデータを再現した再現ファイルデータ２２ａを、レプリカ側ストレージ装置２内に登録する終結フェーズを開始する。まず、レプリカ側ストレージ装置２では、再現ファイルデータ２２ａを、ファイル記憶部２２に候補ファイルデータ２２ａ’と置き換えてして記憶する（ステップＳ１３、図７（１４））。そして、メタデータ記憶部２１のメタデータ２１ａに再現ファイルデータ２２ａを関連付け、利用者からファイルシステムのデータとして参照可能にする（図７（１５））。
【００６５】
また、上記再構成フェーズで生成された再現ファイルデータ２２ａのブロックチェックサム２３ｂを、検索テーブル２３に登録する（ステップＳ１５、図８（１６））。このとき、はじめに検索フェーズでマスター側ストレージ装置１から受信し保持していたファイルチェックサム２３ａも、再現ファイルデータ２２ａのファイルチェックサムとして検索テーブル２３に登録する（ステップＳ１４、図８（１７））。さらに、マスター側ストレージ装置１では、任意のタイミングで、上記比較フェーズで生成された複製対象ファイルデータ１２ａのブロックチェックサム１３ｂを検索テーブル１３に記憶する（ステップＳ１５、図７（１８）、特徴値情報記憶工程）。
【００６６】
図９に、上述したように複製ファイルデータを初回同期したあとの完了状態を示す。この図に示すように、マスター側ストレージ装置１とレプリカ側ストレージ装置２の各検索テーブル１３，２３には、複製されたファイルデータ（複製対象ファイルデータ１２ａ、及び、再現ファイルデータ２２ａ）に関する、それぞれ同一内容のファイルチェックサム１３ａ，２３ａおよびブロックチェックサム１３ｂ、２３ｂが登録されている。そして、レプリカ側ストレージ装置２のファイルデータ記憶部２２ａには、レプリケーションされたファイルデータ２２ａが格納されており、そのファイルデータがメタデータ記憶部２１ａに登録され、利用者から参照可能となっている。
【００６７】
次に、図１０乃至図１３を参照して、上述したようにレプリケーションされたファイルデータ１２ａがマスター側ストレージ装置１内でコピーされ（ステップＳ２１、図１０（２１））、その結果、コピーされたファイルデータ１２ｂが複製対象となった場合の動作について詳細に説明する（複製工程）。つまり、以下では、コピーされたファイルデータ１２ｂを複製対象ファイルデータ１２ｂとして説明する。
【００６８】
まず、検索フェーズとして、上述同様に複製対象ファイルデータ１２ｂのファイルチェックサムを生成し（ステップＳ２２、図１０（２２））、検索テーブル１３に登録されているかを探索する（ステップＳ２３、図１０（２３））。このとき、検索テーブル１３には、先ほど複製して同期したファイルデータ１２ａのチェックサム１３ａが登録されており、検索結果として得られる。従って、今後、この複製対象ファイル１２ｂに対するブロックチェックサムが必要になった場合は、コピー元となったファイルデータ１２ａのブロックチェックサム１３ｂを再利用できるように複製対象ファイル１２ｂとコピー元ファイル１２ａを検索テーブル上、関連づけておく。
【００６９】
続いて、通信部１Ｃを介してファイルチェックサム１３ａをレプリカ側ストレージ装置２に送信する（ステップＳ２４、図１０（２４）、複製対象通知工程）。すると、レプリカ側ストレージ装置２は、通信部２Ｃを介してファイルチェックサム１３ａを受信し、検索テーブル２３内に受信したファイルチェックサム１３ａと同一のファイルチェックサム２３ａが存在するかを探索する（ステップＳ２５）。ここでは、複製対象ファイルデータ１２ｂのコピー元のファイルが、上述したように既にレプリケーションされているため、検索テーブル２３に該当するファイルチェックサムを検出する（ステップＳ２６）。このため、複製対象ファイルデータ１２ｂに対応するファイルデータ２２ａが既にレプリカ側ストレージ装置２に存在すると判断できるため（図１０（２５））、初回同期の場合に行った比較フェーズは不要となる。
【００７０】
すると、ファイルチェックサム１３ａ（２３ａ）から既にレプリカ側ストレージ装置２に複製対象ファイルデータと同一データが存在すると判断できたため、再構成フェーズにてこのデータを用いた複製対象ファイルデータの再現をレプリカ側ストレージ装置２にて行う（ファイル複製工程）。具体的には、レプリカ側ストレージ装置２にて、ファイルデータ記憶部２２に検索フェーズで得られた候補ファイルデータ２２ａをコピーする（ステップＳ２７、図１１（２６））。そして、検索テーブル２３のファイルチェックサム２３ａおよびブロックチェックサム２３ｂの再利用ができるように符号２２ａに示すコピー元ファイルと、符号２２ｂに示すコピー先ファイルを関連づけておく。
【００７１】
さらに、図１２に示すように、終結フェーズとしてファイルデータ記憶部２２ｂにコピーされたファイルデータ２２ｂを、メタデータ記憶部２１に登録し、利用者からアクセス可能とする（ステップＳ２８、図１２（２７）、特徴値情報記憶工程）。
【００７２】
次に、図１４乃至図２１を参照して、上述したようにマスター側ストレージ装置１にてコピーされたファイルデータが、部分更新され上書き保存された結果（ステップＳ３１）、再度、複製対象となった場合の動作について詳細に説明する。ここでは、図１４のマスター側ストレージ装置１のファイルデータ記憶部１２に記憶された符号１２ｃに示すファイルデータが、複製対象ファイルデータとなる。
【００７３】
まず、検索フェーズとして、上述同様に、複製対象ファイルデータ１２ｃのファイルチェックサム１３ｃを生成し（ステップＳ３２、図１４（３１））、検索テーブル制御部３に登録されているかを探索する（図１４（３２））。複製ファイルデータ１２ｃは一部更新されているため、検索テーブルには登録済みのファイルチェックサムを発見できないため、上記図１０の検索フェーズで関連づけた旧チェックサムとファイルデータの関係を一旦破棄し、検索テーブルに新しいファイルチェックサム１３ｃとファイルデータ１２ｃを関連づけて記憶する（ステップＳ３３、図１４（３３）、特徴値情報記憶工程）。このとき、コピー元ファイルと旧チェックサムの関連づけは変化していないため変更する必要はない。
【００７４】
続いて、通信部１Ｃを介して計算されたファイルチェックサム１３ｃをレプリカ側ストレージ装置２に送信する（ステップＳ３４、図１５（３４）、複製対象通知工程）。すると、レプリカ側ストレージ装置２は、通信部２Ｃを介してマスター側ストレージ装置１から送信されたファイルチェックサム１３ｃを受信する。そして、ファイル複製工程に進み、レプリカ側ストレージ装置２は、チェックサムの検索テーブルへの登録状況を探索する（ステップＳ３５、図１５（３５））。しかし、複製対象ファイルデータ１２ｃは更新されているので、記憶済みの同一のファイルチェックサムは発見できない。その結果、レプリカ側ストレージ装置２にレプリケーション済みのファイルデータが存在しているとは判断できない。
【００７５】
続いて、上述した検索フェーズで複製対象ファイルデータと同一のファイルデータはレプリカ側にないと判断したため、近似のファイルを選択し、比較フェーズにより差分データの特定処理を開始する。具体的には、レプリカ側ストレージ装置２にて、受信したファイルチェックサム１３ｃ（２３ｃ）や、同時に送信された複製対象ファイルデータ１２ｃのロケーション情報などを用いて、マスター側の複製対象ファイルデータ１２ｃと最も近いと思われるファイルデータを探索し、候補ファイルデータとして決定する（ステップＳ３６）。ここでは、ファイル名の類似性から、上述した図１２においてレプリケーションされた部分更新前のファイルデータ２２ｂが候補ファイルデータとして選択されたとする（図１６（３６））。そして、候補ファイルデータ２２ｂはレプリケーション済みであるため、そのブロックチェックサム２３ｂは検索テーブル２３に既に記憶されている（ステップＳ３７、図１６（３７））。従って、レプリカ側ストレージ装置２は、検索テーブル２３から得た記憶済みのブロックチェックサム２３ｂを、マスター側ストレージ装置１に送信する（ステップＳ３８、図１６（３８））。
【００７６】
続いて、マスター側ストレージ装置１は、通信部１Ｃを介して候補ファイルデータ２２ｂのブロックチェックサム２３ｂを受信し（図１７（３９））、複製対象ファイルデータ１２ｃのブロックチェックサム１３ｄを生成して（ステップＳ３９、図１７（４０））、と比較を行う（ステップＳ４０、図１７（４１））。この比較結果に基づいて、これら各ブロックファイルチェックサム１３ｄ，２３ｂとの差分データを含むブロックを特定する。そして、レプリカ側ストレージ装置２にて利用される更新データ１３ｄ’を生成して、レプリカ側ストレージ装置２に送信する（ステップＳ４１、図１８（４２）。なお、ここでは、複製対象ファイルデータ１２ｃのブロックチェックサム１３ｄが、候補ファイルデータ２２ｂのブロックチェックサム２３ｂに一致したブロックに関しては、そのブロックを参照するリファレンス番号を更新データ１３ｄ’に含め、複製対象ファイルデータ１２ｃのブロックチェックサム１３ｄが、候補ファイルデータ２２ｂのブロックチェックサム２３ｂに無い場合には、そのブロックデータそのものを更新データ１３ｄ’に含めて送信する。
【００７７】
続いて、比較フェーズにて差分データが特定され、更新データ１３ｄ’がレプリカ側ストレージ装置２に受信されると、再構成フェーズによりレプリカ側ストレージ装置２にて複製対象ファイルデータの再現が行われる。具体的には、更新データ１３ｄ’に含まれるリファレンス番号で参照されるブロックに関しては、候補ファイルデータ２２ｂから読み出し（図１８（４３））、これに更新データ１３ｄ’に含まれるブロックデータそのものを結合して（図１８（４２））、複製対象ファイルデータ１２ｃと同一のファイルデータ２２ｃを再現する（ステップＳ４２）。このとき、マスター側ストレージ装置１から受信した更新データ１３ｄ’に含まれるブロックデータについてはブロックチェックサムを計算しておき、候補ファイルデータ２２ｂから計算したブロックチェックサムと合わせて、新たに生成した再現ファイルデータ２２ｃそのもののブロックチェックサム２３ｄを生成しておく（ステップＳ４３、図１８（４４））。なお、このブロックチェックサム２３ｄの生成は、後の終結フェーズで実行されてもよい。
【００７８】
続いて、レプリカ側ストレージ装置２にて複製対象ファイルデータを再現した再現ファイルデータ２２ｃを、レプリカ側ストレージ装置２内に登録する終結フェーズを開始する。まず、レプリカ側ストレージ装置２では、再現ファイルデータ２２ｃを、ファイル記憶部２２に候補ファイルデータ２２ｂと置き換えてして記憶する（ステップＳ４４、図１９（４５））。そして、メタデータ記憶部２１のメタデータ２１ｂに再現ファイルデータ２２ｃを関連付け、利用者からファイルシステムのデータとして参照可能にする（図１９（４６））。
【００７９】
また、上記再構成フェーズで生成された再現ファイルデータ２２ｃのブロックチェックサム２３ｄを、検索テーブル２３に登録する（ステップＳ４５、図２０（４７））。このとき、はじめに検索フェーズでマスター側ストレージ装置１から受信し保持していたファイルチェックサム２３ｃも、再現ファイルデータ２２ｃのファイルチェックサムとして検索テーブル２３に登録する（ステップＳ４５、図２０（４８））。さらに、マスター側ストレージ装置１では、任意のタイミングで、上記比較フェーズで生成された複製対象ファイルデータ１２ｃのブロックチェックサム１３ｄを検索テーブル１３に記憶する（ステップＳ４６、図２０（４９）、特徴値情報記憶工程）。
【００８０】
以上のように、上記構成のストレージ装置によるレプリケーションシステム、レプリケーション方法によると、ファイルデータのレプリケーションが実行されるたびに生成され使用されたチェックサムなどの特徴値データが各ストレージ装置に記憶保持されるため、これらを後のレプリケーション時に使用することができる。つまり、複製対象となるファイルデータが変更されていなければ、レプリケーション元とレプリケーション先でのファイル比較のためのチェックサムを再計算する必要はなく、また、ファイルのコピー・移動・リネームといった操作についても、操作元となったファイルのレプリケーションが既に済んでいれば、チェックサムの再計算は必要ない。そして、例えば、一般的なパーソナルコンピュータで用いられるアプリケーションに装備されているファイル自動セーブ機能とファイルシステム・レプリケーションを併用した場合に特に有効である。従って、複製処理の都度、両ストレージ装置においてチェックサムなどの特徴値情報を再計算して生成する必要が無く、処理負担が軽減され、レプリケーションの高速化を図ることができる。
【００８１】
また、上記ブロックチェックサムを用いて、複製対象ファイルデータと候補ファイルデータとの差分を抽出して、これをマスター側からレプリカ側に送信することで更新を実行しているため、データ転送量を削減でき、複製処理の高速化を図ることができる。
【００８２】
ここで、上記では、レプリケーションを行うストレージ装置が１対１の場合を例示したが、本発明の原理は、マスター側ストレージ装置が１台であるのに対してレプリカ側ストレージ装置が複数台接続されているような１：Ｎのレプリケーションにも利用可能である。つまり、マスター側ストレージ装置が１台のレプリカ側ストレージ装置にレプリケーションする際に一度計算したチェックサムを記憶しておくことで、このチェックサムを他のレプリカ側にレプリケーションを行う際に利用することができる。これにより、従来例の場合では、Ｎ台のレプリカ側ストレージ装置にレプリケーションする毎にチェックサム計算が必要となり、ＣＰＵ時間やメモリ、ディスクＩ／Ｏ回数が増大するという問題があったが、本発明では、チェックサムを複数回冗長に計算する処理が不要となる。従って、大規模ファイルサーバにおける性能の向上を図ることができる。
【産業上の利用可能性】
【００８３】
本発明は、ビデオストリームなどのコンテンツ配信や、災害対策における遠隔地レプリケーション、バックアップや他業務利用を目的とする装置内データミラーリングといった機能を有するコンピュータ装置のストレージ装置に適用でき、産業上の利用可能性を有する。
【図面の簡単な説明】
【００８４】
【図１】ストレージ装置の構成を示す機能ブロック図である。
【図２】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図である。
【図３】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図２の続きを示す。
【図４】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図３の続きを示す。
【図５】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図４の続きを示す。
【図６】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図５の続きを示す。
【図７】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図６の続きを示す。
【図８】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図７の続きを示す。
【図９】ストレージ装置のレプリケーション時の動作を示すシーケンス図である。
【図１０】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図である。
【図１１】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１０の続きを示す。
【図１２】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１１の続きを示す。
【図１３】ストレージ装置のレプリケーション時の動作を示すシーケンス図である。
【図１４】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図である。
【図１５】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１４の続きを示す。
【図１６】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１５の続きを示す。
【図１７】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１６の続きを示す。
【図１８】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１７の続きを示す。
【図１９】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１８の続きを示す。
【図２０】ストレージ装置のレプリケーション時におけるデータ処理の様子を示す説明図であり、図１９の続きを示す。
【図２１】ストレージ装置のレプリケーション時の動作を示すシーケンス図である。
【符号の説明】
【００８５】
１  マスター側ストレージ装置
２  レプリカ側ストレージ装置
１１，２１  メタデータ記憶部
１２，２２  ファイルデータ記憶部
１３，２３  検索テーブル記憶部
１Ａ  記憶部
１Ｂ，２Ｂ  制御部
【図１】
2008217306.tif 000003
【図２】
2008217306.tif 000004
【図３】
2008217306.tif 000005
【図４】
2008217306.tif 000006
【図５】
2008217306.tif 000007
【図６】
2008217306.tif 000008
【図７】
2008217306.tif 000009
【図８】
2008217306.tif 000010
【図９】
2008217306.tif 000011
【図１０】
2008217306.tif 000012
【図１１】
2008217306.tif 000013
【図１２】
2008217306.tif 000014
【図１３】
2008217306.tif 000015
【図１４】
2008217306.tif 000016
【図１５】
2008217306.tif 000017
【図１６】
2008217306.tif 000018
【図１７】
2008217306.tif 000019
【図１８】
2008217306.tif 000020
【図１９】
2008217306.tif 000021
【図２０】
2008217306.tif 000022
【図２１】
2008217306.tif 000023