(57)【特許請求の範囲】
【請求項１】
プライマリサイトに設けられた、データを記録するための第１のストレージ装置と、バックアップサイトに設けられた、データを記録するための第２のストレージ装置とを持つストレージシステムにおいて、
前記第１のストレージ装置は、
データを記憶するための記録部と、
前記記録部に記録されたデータの更新頻度に基づいて、レプリケーションするために前記記録部に記録されたデータをバックアップサイトへ転送する制御部と、
を具備するストレージシステムであって、
前記制御部は、
１時間を第１の所定時間間隔で区切った複数の時間帯のうちのどの時間帯にデータが更新されたかを検出する更新時間帯検出部と、
前記更新時間帯検出部が検出した更新時間帯を示す更新時間帯情報を前記記録部に記憶されたデータ毎に対応付けて記憶する更新時間帯情報記憶部と、
前記更新時間帯情報記憶部を参照し、前記更新時間帯情報記憶部に記憶されている更新時間帯情報に基づいて、前記記録部に記憶されたデータをレプリケーションするためにバックアップサイトへ転送するレプリケーション実行部と、
を具備し、
前記レプリケーション実行部は、
前記１時間を第１の所定時間間隔毎に区切った時刻において、当該時刻よりも所定数の前記第１の所定時間間隔前の時刻を起点として当該起点よりも前記第１の所定時間間隔前までの時間帯に更新されたデータを、更新頻度が低いデータとしてレプリケーションするためにバックアップサイトへ転送し、
前記第１の所定時間よりも長い第２の所定時間経過毎に到来する時刻において、更新時間帯情報としてデータが更新されたことが設定されている全てのデータを、更新頻度が高いデータとしてレプリケーションするためにバックアップサイトへ転送し、
前記更新時間帯検出部は、
前記レプリケーション実行部がバックアップサイトへ転送したデータに対応付けて前記更新時間帯情報記憶部に記憶されている更新時間帯情報を更新なしと設定する、
ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ストレージシステムに関する。
【背景技術】
【０００２】
プライマリサイトに記憶されているデータを、バックアップサイトにレプリケーションするストレージシステムがある（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１７０４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ストレージシステムは、データのレプリケーションを実行する際に、ネットワークの通信帯域がボトルネックとなり、プライマリサイト及びバックアップサイトの間の通信に輻輳を誘発させてしまう、という問題がある。【０００５】
例えば、プライマリサイトでデータが更新される毎に、バックアップサイトへのレプリケーションを実行する場合、データの更新頻度によっては、バックアップサイトへ大量のデータ転送が高い頻度で発生してしまう。また、例えば、プライマリサイトでデータが更新されてもすぐにはレプリケーションを実行せず、バックアップサイトへのレプリケーションを特定の時刻にまとめて実行する場合、更新されたデータの総量によっては、大量のデータ転送が特定の時刻に発生してしまう。【０００６】
本発明が解決しようとする課題は、データのレプリケーションを実行する際に、プライマリサイト及びバックアップサイトの間の通信（データ転送）に輻輳を誘発させないようにすることができる、ストレージシステムを提供することである。
【課題を解決するための手段】
【０００７】
ストレージシステムは、記憶部と、制御部とを備える。記憶部は、データを記憶する。制御部は、更新されたデータのレプリケーションを、データの更新頻度に基づいて実行する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態における、ストレージシステムの構成例を示すブロック図である。
【図２】第１実施形態における、メタデータの一つとしてのカウンタテーブルの例を示す図である。
【図３】第１実施形態における、メタデータの一つとしてのレプリケーションポリシー管理テーブルの例を示す図である。
【図４】第１実施形態における、アドレステーブルの例を示す図である。
【図５】第１実施形態における、プライマリサイトでのレプリケーション処理の例を示すタイムチャートである。
【図６】第１実施形態における、プライマリサイトでのレプリケーション処理の例を示すフローチャートである。
【図７】第１実施形態における、バックアップサイトでのデータ受信処理の例を示すフローチャートである。
【図８】第１実施形態における、バックアップサイトでのサイト切替処理の例を示すフローチャートである。
【図９】第２実施形態における、捨てとレージシステムの構成例を示すブロック図である。
【図１０】第２実施形態における、メタデータの一つとしての２ビット・マップの例を示す図である。
【図１１】第２実施形態における、プライマリサイトでのレプリケーション処理の例を示すフローチャートである。
【図１２】第１実施形態における、バックアップサイトでのデータ受信処理の例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
［第１実施形態］
以下、第１実施形態におけるストレージトステムについて、図面を参照して説明する。図１には、ストレージシステムの構成例が、ブロック図により示されている。
【００１０】
ストレージシステム１０００ａは、ホストコンピューター４００と、ストレージ装置１００ａとを、プライマリサイトに備える。また、ストレージシステム１０００ａは、ホストコンピューター５００と、ストレージ装置２００とを、バックアップサイトに備える。
【００１１】
プライマリサイトのストレージ装置１００ａと、バックアップサイトのストレージ装置２００とは、通信回線（ネットワーク）６００を介して接続されている。プライマリサイトのストレージ装置１００ａに記憶されているデータは、通信回線６００を介したレプリケーションが実行されることにより、バックアップサイトのストレージ装置２００に複製（レプリケーション）される。
【００１２】
バックアップサイトは、災害対策等の目的により、プライマリサイトから離れた遠隔地に配置されてもよい。例えば、プライマリサイトに災害が発生した場合、バックアップサイトは、サイト切替処理を実行し、プライマリサイトの処理を引き継ぐことができる。
【００１３】
まず、プライマリサイトの構成例を説明する。
ホストコンピューター４００は、ストレージ装置１００ａにＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）命令を出力してデータの読み出し又は書き込みを行う。ホストコンピューター４００からのＩ／Ｏ命令によりストレージ装置１００に対して読み出し又は書き込みされるデータの単位は、所定サイズ（４ＫＢ〜６４ＫＢ）のデータブロックである。以後、このストレージ装置１００ａに対して読み出し又は書き込みされるデータの単位であるデータブロックを単にデータと呼ぶ。
【００１４】
ストレージ装置１００ａは、制御装置１１０ａと、ディスクアレイ装置１８０とを備える。制御装置１１０ａは、ホストインタフェース１２０と、制御部１３０ａと、プログラムメモリ１４０と、バッファメモリ１５０と、ネットワークインタフェース１６０と、ディスクインタフェース１７０とを備える。ストレージ装置１００ａの各部は、内部バスを介して、互いに接続されている。
【００１５】
ディスクアレイ装置１８０は、Ｎ個のハードディスクドライブ１９０−１〜１９０−Ｎで構成されている。このＮ個のハードディスクドライブ１９０−１〜１９０−Ｎにより、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙｓ ｏｆ Ｉｎｅｘｐｅｎｓｉｖｅ Ｄｉｓｋｓ ）を構築する。説明を簡略化するために、ディスクアレイ装置１８０では１つのＲＡＩＤが構築されており、このＲＡＩＤに設けられる論理ディスク（論理ボリューム）は１つとする。勿論、ディスクアレイ装置１８０に複数のＲＡＩＤを構築してもよい。同様に１つのＲＡＩＤに複数の論理ディスクを設けてもよい。論理ディスクは、ホストコンピューターから論理的にディスクドライブとして認識される領域のことである。ホストコンピューター４００がストレージ装置１００ａに対してデータの読み出し又は書き込みすることを更に詳細に説明すれば、論理ディスクに対してデータの読み出し又は書き込みをすることである。以後、説明を簡略化するために、ホストコンピューター４００が論理ディスクに対してデータの読み出し又は書き込みをすることを、ホストコンピューター４００がストレージ装置１００ａに対してデータの読み出し又は書き込みするとの表現に統一する。以下、ハードディスクドライブ１９０−１〜１９０−Ｎに共通する事項については、符号１〜Ｎを省略して、「ハードディスクドライブ１９０」と表記する。ディスクアレイアレイ装置１８０の全部又はその一部をＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）で構成してもよい。ディスクインタフェース１７０はハードディスクドライブ１９０と接続されている。
【００１６】
ホストインタフェース１２０は、ネットワークを介してホストコンピューター４００に接続されている。プログラムメモリ１４０は、制御部１３０ａを動作させるためのプログラム（ファームウェア）を記憶する。
【００１７】
バッファメモリ１５０は、各種の作業用に利用される記憶部（ワークメモリ）である。バッファメモリ１５０は、ディスクアレイ装置１８０に記憶するデータを、一時的に記憶する（一次保存）。また、バッファメモリ１５０は、ディスクアレイ装置１８０から読み出されたデータを、一時的に記憶する。また、バッファメモリ１５０は、統計情報を管理するためのメタデータを記憶する。ここで、統計情報は、例えば、ディスクアレイ装置１８０に記録されたデータの更新頻度を示す情報である。バッファメモリ１５０に記憶される第１実施形態に係るメタデータの詳細については、図２及び図３を用いて後述する。
【００１８】
制御部１３０ａはＣＰＵ（：Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）で構成される。制御部１３０ａの頻度検出部１３１ａと、ポリシー管理部１３２ａと、レプリケーション実行部１３３とは、ＣＰＵがプログラムメモリ１４０に記憶されているプログラムを実行することにより、実現される。勿論、頻度検出部１３１ａと、ポリシー管理部１３２ａと、レプリケーション実行部１３３とをハードウェアで実装（インプリメント）してもよい。
【００１９】
頻度検出部１３１ａは、ストレージ装置１００ａにおけるデータの更新回数を検出することにより、データの更新頻度を取得する。頻度検出部１３１ａは、検出した更新回数を更新頻度としてカウンタテーブルに登録する（図２参照）。
【００２０】
図２のカウンタテーブルにおいて、ストレージ装置１００ａのアドレス「０」に書き込まれたデータのカウント値が２回と登録されている。これは、当該データが２回更新されたことを示している。また、ストレージ装置１００ａのアドレス「Ａ」に書き込まれたデータが１２８回更新されたことがカウンタテーブルに登録されている。カウンタテーブルには、ストレージ装置１００ａのすべてのアドレスに対応するエントリーが設けられている。
【００２１】
また、アドレス「２Ａ」に書き込まれたデータが０回更新されたこと、すなわち、未更新であることがカウンタテーブルに登録されている。また、アドレス「３Ａ」に書き込まれたデータが１５回更新されたことがカウンタテーブルに登録されている。
【００２２】
図１に戻り、プライマリサイトの構成例の説明を続ける。ポリシー管理部１３２ａは、データの更新頻度に基づいて、データにレブリレーションに関するポリシー（以下、レプリケーションポリシーと呼ぶ）を定める。より具体的には、データが更新される毎にレプリケーションを実行するレプリケーションポリシーを、「書込毎送信」という。一方、予め定められた周期（例えば、２４時間周期）でレプリケーションを実行するレプリケーションポリシーを、「周期毎送信」という。ポリシー管理部１３２ａは、データ毎に定めたレプリケーションポリシーをレプリケーション管理テーブル（図３を参照）に記憶する。
【００２３】
この予め定められた周期は、リカバリポイント目標（ＲＰＯ：Ｒｅｃｏｖｅｒｙ Ｐｏｉｎｔ Ｏｂｊｅｃｔｉｖｅ）として予め定められた周期でもよい。リカバリポイント目標は目標復旧時点のことであり、データのバックアップを取得する時刻（タイミング）又はデータのバックアップを取得する周期を意味する。この周期はシステムでデータが更新される頻度や、システムに災害や事故、障害が発生した際にデータをどこまで回復させるかに基づいて任意に設定される。リカバリポイント目標とされた時刻では、カウンタテーブルにおいてカウント値が「０」以外（即ち、カウンタ値が１以上）のデータ、すなわち、更新された全てのデータが、バックアップサイトに送信される。これにより、プライマリサイトとバックアップサイトとが同期することになる。
【００２４】
図３に、メタデータであるレプリケーションポリシー管理テーブル（頻度仕訳テーブル）の一例を示す。図３では、アドレス「０」に書き込まれたデータにレプリケーションポリシー「書込毎送信」が定められている。また、アドレス「Ａ」に書き込まれたデータに、レプリケーションポリシー「周期毎送信」が定められている。また、アドレス「２Ａ」に書き込まれたデータにレプリケーションポリシー「書込毎送信」が定められている。また、アドレス「３Ａ」に書き込まれたデータにレプリケーションポリシー「周期毎送信」が定められている。レプリケーションポリシー管理テーブルには、ストレージ装置１００ａのすべてのアドレスに対応するエントリーが設けられている。
【００２５】
図１に戻り、プライマリサイトの構成例の説明を続ける。レプリケーション実行部１３３は、書き込まれた（更新された）データのレプリケーションを、データ毎に設定されたレプリケーションポリシーに基づいて実行する。より具体的には、レプリケーション実行部１３３は、書き込まれた（更新された）データのレプリケーションポリシーが書込毎送信であるか否かを、レプリケーションポリシー管理テーブルに基づいて判定する。
【００２６】
リカバリポイント目標とされた時刻以外では、レプリケーション実行部１３３は、書き込まれた（更新された）データのポリシーが書込毎送信である場合、書き込まれた（更新された）データと、このデータが書き込まれたストレージ装置１００ａのアドレス（プライマリサイトアドレス）とを、レプリケーション命令とともにネットワークインタフェース１６０を介してバックアップサイトに送信する。これによりデータのレプリケーションが実行される。
【００２７】
一方、リカバリポイント目標とされた時刻では、レプリケーション実行部１３３は、カウンタテーブルのカウント値が１以上である全てのデータと、このデータが書き込まれたストレージ装置１００ａのアドレス（プライマリサイトアドレス）とを、レプリケーション命令とともにネットワークインタフェース１６０を介してバックアップサイトに送信する。なお、リカバリポイント目標とされた時刻は、周期的な時刻（例えば、５分周期、２４時間周期）である。
【００２８】
次に、バックアップサイトの構成を説明する。
ホストコンピューター５００は、ストレージ装置２１０のホストインタフェース２２０と接続されている。ホストコンピューター５００は、ストレージ装置２１０にＩ／Ｏ命令を出力してデータの読み出し又は書き込みを行う。
【００２９】
ストレージ装置２００は、制御装置２１０と、ディスクアレイ装置２８０とを備える。制御装置２１０は、ホストインタフェース２２０と、制御部２３０と、プログラムメモリ２４０と、バッファメモリ２５０と、ネットワークインタフェース２６０と、ディスクインタフェース２７０とを備える。ストレージ装置２００の各部は、内部バスを介して、互いに接続されている。
【００３０】
プログラムメモリ２４０は、制御部２３０を動作させるためのプログラム（ファームウェア）を記憶する。
【００３１】
バッファメモリ２５０は、各種の作業用に利用される記憶部（ワークメモリ）である。バッファメモリ２５０は、ディスクアレイ装置２８０に記憶するデータを、一時的に記憶する（一次保存）。また、バッファメモリ２５０は、ディスクアレイ装置２８０から読み出されたデータを、一時的に記憶する。また、バッファメモリ２５０は、アドレステーブルを記憶する。このアドレステーブルの詳細については、図４を用いて後述する。
【００３２】
制御部２３０はＣＰＵで構成される。制御部２３０は、ＣＰＵがプログラムメモリ２４０に記憶されているプログラムを実行することにより、実現される。勿論、制御部２３０をハードウェアで実装（インプリメント）してもよい。
【００３３】
ディスクアレイ装置２８０は、Ｍ個のハードディスクドライブ２９０と、一時保管領域部３００とを備える。ハードディスクドライブ２９０−１〜２９０−Ｍにより、ＲＡＩＤを構築する。説明を簡略化するために、ディスクアレイ装置２８０では１つのＲＡＩＤが構築されており、このＲＡＩＤに設けられる論理ディスク（論理ボリューム）は１つとする。勿論、ディスクアレイ装置２８０に複数のＲＡＩＤを構築してもよい。同様に１つのＲＡＩＤに複数の論理ディスクを設けてもよい。ハードディスクドライブ２９０−１〜２９０−Ｍは、制御装置２１０のディスクインタフェース２７０と接続されている。以下、ハードディスクドライブ２９０−１〜２９０−Ｍに共通する事項については、符号１〜Ｍを省略して、「ハードディスクドライブ２９０」と表記する。なお、ディスクアレイアレイ２８０の全部又はその一部をＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）で構成してもよい。ホストコンピューター５００がストレージ装置２００に対してデータの読み出し又は書き込みをすることを更に詳細に説明すれば、論理ディスクに対してデータの読み出し又は書き込みをすることである。以後、説明を簡略化するために、ホストコンピューター５００が論理ディスクに対してデータの読み出し又は書き込みをすることを、ホストコンピューター５００がストレージ装置２００に対してデータの読み出し又は書き込みするとの表現に統一する。ディスクインタフェース２７０はハードディスクドライブ２９０と接続されている。
【００３４】
一時保管領域部３００は、例えば１台のハードディスクドライブから構成され、制御装置２１０のディスクインタフェース２７０と接続されている。この一時保管領域部３００は、ディスクアレイ装置２８０に構築されたＲＡＩＤに設けられる１つの論理ディスクで構成してもよい。
【００３５】
制御部２３０は、通信回線６００を介してネットワークインタフェース２６０が受信したレプリケーションするデータを、そのデータのストレージ装置１００ａでのアドレス（プライマリサイトアドレス）とともにバッファメモリ２５０に一時的に記憶させる。
【００３６】
制御部２３０は、バッファメモリ２５０に記憶されたデータがポリシー「書込毎送信」（図３を参照）に基づいてストレージ装置１００ａから送信されたデータである場合、このデータを一時保管領域部３００に転送し記憶させる。
【００３７】
一時保管領域部３００に一時保管されたデータは、制御部２３０により最終的にディスクアレイ装置２８０に記憶される（レプリケーション）。
【００３８】
制御部２３０は、この一時保管領域部３００に記憶させたデータのプライマリサイトアドレスと一時保管領域部３００での記憶位置を示すアドレスとを対応付けて、バッファメモリ２５０に設けたアドレステーブルに登録する。
【００３９】
図４にアドレステーブルの一例を示す。アドレステーブルは、プライマリサイトアドレスと一時保管領域部３００での記憶位置を示す一時保管領域部アドレスとから構成されている。
【００４０】
図４では、プライマリサイトアドレス「０」と、一時保管領域部アドレス「Ｂ１」とが対応付けられている。また、プライマリサイトアドレス「３Ａ」と、一時保管領域部アドレス「Ｂ２」とが対応付けられている。また、プライマリサイトアドレス「Ａ」と、一時保管領域部アドレス「Ｂ３」とが、対応付けられている。
【００４１】
制御部２３０は、バッファメモリ２５０に記憶されたデータがポリシー「周期毎送信」（図３を参照）に基づいてストレージ装置１００ａから送信されたデータである場合、このデータをディスクアレイ２８０のプライマリサイトアドレスと同じアドレスに記憶させる。
【００４２】
次に、ストレージシステム１０００におけるレプリケーション処理の一例を説明する。ストレージシステム１０００ａがレプリケーション処理を始める前提として、プライマリサイトのストレージ装置１００ａに記録されているすべてのデータをバックアップサイトのストレージ装置２１０にコピーして、すべてのデータのバックアップが完了されているものとする。よって、プライマリサイトに記録されているデータとバックアップサイトに記録されているデータとは同期している。図５は、プライマリサイトでのレプリケーション処理の一例を示すタイムチャートである。横軸は、時間を示す。図５には、カウンタテーブル（図２を参照）と、レプリケーションポリシー管理テーブル（図３を参照）における動作手順が示されている。時刻Ｔ０は、レプリケーション動作を開始する初期時刻である。時刻Ｔ１は時刻Ｔ０から予め定められた時間が経過したリカバリポイント目標（ＲＰＯ）とされる時刻である。同様にＴ２もリカバリポイント目標（ＲＰＯ）とされる時刻である。
【００４３】
時刻Ｔ０において、頻度検出部１３１ａは、カウンタテーブルに登録された全てのアドレスに記憶されたデータのカウント値を、値０に設定しクリアする。（ステップＳ１）
【００４４】
ポリシー管理部１３２ａは、レプリケーションポリシー管理テーブルに登録された全てのアドレスに記憶されたデータについて、各データのレプリケーションポリシーを、「書込毎送信」に設定し初期化する。（ステップＳ２）
【００４５】
時刻Ｔ０以降において、ストレージ装置１００ａにデータが書き込まれた（更新された）場合、頻度検出部１３１ａは、書き込まれたデータに対応するカウンタテーブルのカウント値（図２を参照）に、値１を加算して、そのカウント値をインクリメントする。（ステップＳ３）
【００４６】
書き込まれたデータのレプリケーションポリシーが「書込毎送信」である場合、レプリケーション実行部１３３は、書き込まれたデータと、このデータ書き込まれたアドレス（プライマリサイトアドレス）とを、レプリケーション命令とともにネットワークインタフェース１６０を介してバックアップサイトに送信する（ステップＳ４）。以後、次のリカバリポイント目標である時刻Ｔ１までの間にストレージ装置１００ａにデータが書き込まれた場合、同様に上記ステップＳ３とステップＳ４の処理をする。
【００４７】
リカバリポイント目標である時刻Ｔ１において、レプリケーション実行部１３３は、カウンタテーブルのカウント値が１以上である全てのデータを、レプリケーションのためにレプリケーション命令とともにネットワークインタフェース１６０を介してバックアップサイトに送信する。（ステップＳ５）
【００４８】
ポリシー管理部１３２ａは、レプリケーションポリシー管理テーブルに登録された全てのアドレスに書き込まれたデータに対応付けられているレプリケーションポリシーを、「書込毎送信」に設定して初期化する。その後、ポリシー管理部１３２ａは、カウンタテーブルのカウント値が１００以上であるアドレスに書き込まれたデータに対応付けられているレプリケーションポリシーを「周期毎送信」に変更する。（ステップＳ６）
【００４９】
更に、頻度検出部１３１ａは、カウンタテーブルに登録された全てのアドレスに書き込まれたデータのカウント値を、値０にクリアする。（ステップＳ７）これ以後、ステップＳ３〜ステップＳ７の処理が繰り返される。
【００５０】
図６は、プライマリサイトでのレプリケーション処理の一例を示すフローチャートである。
【００５１】
頻度検出部１３１ａは、カウンタテーブル（図２を参照）に登録された全てのアドレスに書き込まれたデータのカウント値を、値０にクリアする。（ステップＳａ１）
【００５２】
ここで、ステップＳａ１の処理を実施した時刻が図５に示した時刻Ｔ０であると仮定して以後の動作を説明する。
【００５３】
ポリシー管理部１３２ａは、レプリケーションポリシー管理テーブル（図３を参照）に登録された全てのアドレスに書き込まれたデータのレプリケーションポリシーを、「書込毎送信」に設定し初期化する。（ステップＳａ２）
【００５４】
頻度検出部１３１ａは、ディスクアレイ装置１８０へのデータの書き込み、すなわち、データの更新を待つ。（ステップＳａ３）
【００５５】
頻度検出部１３１ａは、書き込まれた（更新された）データに対応するカウンタテーブルのカウント値（図２を参照）に、値１を加算して、そのカウント値をインクリメントする。（ステップＳａ４）
【００５６】
レプリケーション実行部１３３は、書き込まれた（更新された）データのレプリケーションポリシーが「書込毎送信」であるか否かを、レプリケーションポリシー管理テーブルに基づいて判定する。書き込まれたデータのレプリケーションポリシーが「書込毎送信」である場合、レプリケーション実行部１３３は、書き込まれたデータと、このデータのプライマリサイトアドレスとを、レプリケーション命令とともにネットワークインタフェース１６０を介してバックアップサイトに送信する。（ステップＳａ５）
【００５７】
レプリケーション実行部１３３は、現在の時刻が時刻Ｔ０から予め定められた時間が経過したリカバリポイント目標（ＲＰＯ）の時刻に到達したかどうかを判定する（ステップＳａ６）。現在の時刻がリカバリポイント目標（ＲＰＯ）の時刻に到達した場合（ステップＳａ６：Ｙｅｓ）には、レプリケーション実行部１３３は処理をステップＳａ７に進める。
【００５８】
一方、現在の時刻がリカバリポイント目標（ＲＰＯ）の時刻に到達していない場合（ステップＳａ６：Ｎｏ）には、レプリケーション実行部１３３は処理をステップＳａ３に戻す。（ステップＳａ６）
【００５９】
レプリケーション実行部１３３は、カウンタテーブルのカウント値（図２を参照）が１以上である全てのアドレスに書き込まれたデータと、このデータのプライマリサイトアドレスとを、レプリケーション命令とともにネットワークインタフェース１６０を介してバックアップサイトに送信する。（ステップＳａ７）
【００６０】
ポリシー管理部１３２ａは、レプリケーションポリシー管理テーブル（図３を参照）に登録されている全てのアドレスに書き込まれたデータのレプリケーションポリシーを、「書込毎送信」に初期化する。更に、ポリシー管理部１３２ａは、カウンタテーブルのカウント値（図２を参照）が１００以上であるアドレスに書き込まれたデータのレプリケーションポリシーを、「周期毎送信」に変更する。ここで、レプリケーションポリシーを「周期毎送信」に変更するデータの対象をカウント値が１００以上のものと設定した。しかし、このようにカウント値が１００以上のデータに限定されない。カウント値が幾つ以上のデータのレプリケーションポリシーを「周期毎送信」に変更するかは、システムの構成、システムの運用方法などにより、システム管理者が任意に決定すればよい。つまり、更新頻度が高いと判断されたデータのレプリケーションポリシーを「周期毎送信」に変更することが重要である。（ステップＳａ８）
【００６１】
頻度検出部１３１ａは、カウンタテーブルに登録された全てのアドレスに書き込まれたデータのカウント値を、値０にクリアする。（ステップＳａ９）  このステップＳａ９の処理が実行された後、処理はステップＳａ３に戻る。
【００６２】
図７は、バックアップサイトでのレプリケーション処理の一例を示すフローチャートである。
【００６３】
制御部２３０は、プライマリサイトから送信されるレプリケーション命令を待つ。（ステップＳｂ１）
【００６４】
制御部２３０は、プライマリサイトから送信されたレプリケーション命令がレプリケーションポリシーが書込毎送信（図３を参照）と設定されたデータをレプリケーションするためのものであるか否か、を判定する。（ステップＳｂ２）
【００６５】
レプリケーションポリシーが書込毎送信と設定されたデータのレプリケーション命令である場合（ステップＳｂ２：Ｙｅｓ）、制御部２３０は、処理をステップＳｂ６に進める。一方、レプリケーションポリシーが書込毎送信と設定されたデータのレプリケーション命令でない場合、即ち、レプリケーションポリシーが周期毎送信と設定されたデータのレプリケーション命令である場合（ステップＳｂ２：Ｎｏ）には、制御部２３０は、処理をステップＳｂ３に進める。
【００６６】
ステップＳｂ３の処理において、制御部２３０は、アドレステーブル（図４を参照）に登録されている一時保管領域部アドレスに基づいて一時保管領域部３００に一時記憶されている全てのデータを読み出す。制御部２３０は、一時保管領域部３００から読み出したデータをディスクアレイ装置２８０に書き込む。ここで、制御部２３０がデータをディスクアレイ装置２８０に書き込むアドレスは、アドレステーブルにおいてそのデータが読み出された一時保管領域部アドレスに対応付けられているプライマリサイトアドレスと同じアドレスである。このデータのディスクアレイ装置２８０への書き込みによって、レプリケーションがされたことになる。（ステップＳｂ３）
【００６７】
制御部２３０は、プライマリサイトから送信されたレプリケーション命令（ステップＳｂ２で判定したレプリケーション命令）に付帯したデータとそのデータのプライマリサイトアドレスとを受信する。制御部２３０は、この受信したデータを、ディスクアレイ装置２８０の、受信したプライマリサイトアドレスと同じアドレスに書き込む。このデータの書き込みにより受信したデータのレプリケーションがされたことになる。（ステップＳｂ４）
【００６８】
制御部２３０は、レプリケーション命令に付帯した全てのデータとそのデータのプライマリサイトアドレスとを受信したか否かを判定する。全てのデータとそのデータのプライマリサイトアドレスとを受信した場合（ステップＳｂ５：Ｙｅｓ）、制御部２３０は、処理をステップＳｂ１に戻す。一方、受信していないデータとそのデータのプライマリサイトアドレスとが残っている場合（ステップＳｂ５：Ｎｏ）、制御部２３０は、処理をステップＳｂ４に戻す。（ステップＳｂ５）
【００６９】
一方、ステップＳｂ６の処理において、制御部２３０は、プライマリサイトから送信されたレプリケーション命令に付帯したデータとそのデータのプライマリサイトアドレスとを受信する。制御部２３０は、この受信したデータを一時保管領域部３００に記憶する。制御部２３０は、この受信したデータを一時保管領域部３００に記憶したアドレス（一時保管領域部アドレス）と受信したプライマリサイトアドレスとを対応付けてアドレステーブル（図４を参照）に登録する。（ステップＳｂ６）
【００７０】
制御部２３０は、レプリケーション命令に付帯した全てのデータとそのデータのプライマリサイトアドレスとを受信したか否かを判定する。全てのデータとそのデータのプライマリサイトアドレスとを受信した場合（ステップＳｂ７：Ｙｅｓ）、制御部２３０は処理をステップＳｂ１に戻す。一方、受信していないデータとそのデータのプライマリサイトアドレスとが残っている場合（ステップＳｂ７：Ｎｏ）、制御部２３０は処理をステップＳｂ６に処理を戻す。（ステップＳｂ７）
【００７１】
図８は、バックアップサイトでのサイト切替処理の例を示すフローチャートである。例えば、プライマリサイトに災害が発生した場合、バックアップサイトは、サイト切替処理を実行し、プライマリサイトの処理を引き継ぐことができる。
【００７２】
バックアップサイトのストレージ装置２００（図１を参照）は、サイト切替処理をするため、レプリケーション処理を停止する。（ステップＳｃ１）
【００７３】
制御部２３０は、アドレステーブル（図４を参照）に登録されている一時保管領域部アドレスに基づいて一時保管領域部３００に一時記憶されている全てのデータを読み出す。
【００７４】
制御部２３０は、一時保管領域部３００から読み出したデータをディスクアレイ装置２８０に書き込む。ここで、制御部２３０がディスクアレイ装置２８０にデータを書き込むアドレスは、アドレステーブルにおいてそのデータが読み出された一時保管領域部アドレスに対応付けられているプライマリサイトアドレスと同じアドレスである。このデータのディスクアレイ装置２８０への書き込みによって、レプリケーションがされたことになる。（ステップＳｃ２）
【００７５】
ホストコンピューター５００がプライマリサイトのホストコンピューター４００の処理を引き継いでストレージ装置２００にアクセスする。（ステップＳｃ３）
【００７６】
このように、本実施形態では、更新頻度に基づいてデータのレプリケーションポリシーを決定し、このレプリケーションポリシーに基づいたデータのレプリケーションを行っている。レプリケーションポリシーとして、データをレプリケーションする時期を区別する次の２つを設定した。一つのポリシーは、データを更新する毎にレプリケーションするための「書込毎送信」である。もう一つのポリシーは、データを予め定められた周期でレプリケーションするための「周期毎送信」である。このようなレプリケーションポリシーを設定することにより、レプリケーションのための、プライマリサイトからバックアップサイトへの大量のデータ転送が一度に発生しない。よって、プライマリサイトとバックアップサイトとの間の通信路にて輻輳の発生が回避できる。
【００７７】
［第２実施形態］
以下、第２実施形態におけるストレージシステムについて、図面を参照して説明する。第２実施形態では、データレプリケーションを実行するためのメタデータが、第１実施形態と相違する。以下では、第１実施形態との相違点についてのみ説明する。
【００７８】
図９には、ストレージシステムの構成例が、ブロック図により示されている。ストレージシステム１０００ｂは、ホストコンピューター４００と、ストレージ装置１００ｂとを、プライマリサイトに備える。また、データレプリケーションシステム１０００ｂは、ホストコンピューター５００と、ストレージ装置２００とを、バックアップサイトに備える。
【００７９】
プライマリサイトのストレージ装置１００ｂと、バックアップサイトのストレージ装置２００とは、通信回線（ネットワーク）６００を介して接続されている。プライマリサイトのストレージ装置１００ｂに記憶されているデータは、通信回線６００を介したレプリケーションが実行されることにより、バックアップサイトのストレージ装置２００に複製（レプリケーション）される。
【００８０】
次に、プライマリサイトの構成例を説明する。
ストレージ装置１００ｂは、制御装置１１０ｂと、ディスクアレイ装置１８０とを備える。制御装置１１０ｂは、ホストインタフェース１２０と、制御部１３０ｂと、プログラムメモリ１４０と、バッファメモリ１５０と、ネットワークインタフェース１６０と、ディスクインタフェース１７０とを備える。ストレージ装置１００ｂの各部は、内部バスを介して、互いに接続されている。
【００８１】
ホストインタフェース１２０は、ネットワークを介してホストコンピューター４００に接続されている。
【００８２】
プログラムメモリ１４０は、制御部１３０ｂを動作させるためのプログラム（ファームウェア）を記憶する。
【００８３】
バッファメモリ１５０は、各種の作業用に利用される記憶部（ワークメモリ）である。バッファメモリ１５０は、ディスクアレイ装置１８０に記憶されるデータを、一時的に記憶する（一次保存）。また、バッファメモリ１５０は、ディスクアレイ装置１８０のデータブロックから読み出されたデータを、一時的に記憶する。また、バッファメモリ１５０は、統計情報を管理するためのメタデータを記憶する。ここで、統計情報は、例えば、ディスクアレイ装置１８０に記録されたデータの更新頻度を示す情報である。第２実施形態に係るメタデータの詳細については、図１０を用いて後述する。
【００８４】
制御部１３０ｂはＣＰＵ（：Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）で構成される。制御部１３０ｂの頻度検出部１３１ｂと、ポリシー管理部１３２ｂと、レプリケーション実行部１３３とは、ＣＰＵがプログラムメモリ１４０に記憶されているプログラムを実行することにより、実現される。勿論、頻度検出部１３１ａと、ポリシー管理部１３２ｂと、レプリケーション実行部１３３とをハードウェアで実装（インプリメント）してもよい。
【００８５】
頻度検出部１３１ｂは、ストレージ装置１００ｂにおいてデータが更新された時間帯を検出して、２ビットマップに登録する。
【００８６】
図１０に２ビットマップの一例を示す。２ビットマップでは、ストレージ装置１００ｂに書き込まれた全てのデータの更新の時間帯が、そのデータが書き込まれているアドレスに対応付けて登録されている。２ビットマップに登録される更新の時間帯は２ビットで表現される。より具体的には、次のように表現する。
【００８７】
００ｂ：未更新
０１ｂ：第１の時間帯（毎時００分から１９分の時間帯にデータが更新されたことを示す）
１０ｂ：第２の時間帯（毎時２０分から３９分の時間帯にデータが更新されたことを示す）
１１ｂ：第３の時間帯（毎時４０分から５９分の時間帯にデータが更新されたことを示す）
【００８８】
これら００ｂ〜１１ｂの符号ｂは、２進数表現であることを示す。以後の説明では、２ビットマップにおける２ビット表現「００ｂ」を値０と説明する。同様に２ビット表現「０１ｂ」を値１と説明する。２ビット表現「１０ｂ」を値２と説明する。２ビット表現「１１ｂ」を値３と説明する。
【００８９】
図１０に示した２ビットマップにおいて、最上行左端のマス目に、アドレス０に対応付けて、アドレス０に書き込まれたデータの更新の時間帯が値２と記録されている。つまり、アドレス０に書き込まれたデータは第２の時間帯に更新されたことが登録されている。２ビットマップにおいて、最上行右端のマス目に、アドレスＡに対応付けてアドレスＡに書き込まれたデータの更新の時間帯が値３と記録されている。つまり、アドレスＡに書き込まれたデータは第３の時間帯に更新されたことが登録されている。２ビットマップにおいて、第３行目右端のマス目に、アドレス３Ａに対応付けてアドレス３Ａに書き込まれたデータの更新の時間帯が値０と記録されている。つまり、アドレス３Ａに書き込まれたデータに対して更新がされていないことが登録されている。２ビットマップではストレージ装置１００ｂに書き込まれた全てのデータの更新の時間帯を、それぞれ２ビットで表現し登録しているため、その容量は大容量にはならずにコンパクトな小さい容量で実現できる。２ビットマップには、ストレージ装置１００ｂのすべてのアドレスに対応するエントリーが設けられている。
【００９０】
なお、データが更新された時間帯をメタデータにおいて４値（００ｂ、０１ｂ、１０ｂ、１１ｂ）で表現される代わりに、３値（例えば、０：未更新、１：データが更新された時刻から閾値時間が経過した、２：データが更新された時刻から閾値時間が経過していない）で表現されてもよい。この場合、メタデータは、３値論理の記憶部に記憶されてもよい。
【００９１】
次に、ストレージシステム１０００ｂの動作手順の例を説明する
図１１は、プライマリサイトでのレプリケーション処理を示すフローチャートである。図１１に示すフローチャートは、繰り返し実行される。図１１では、一例として、毎日の午前０時がリカバリポイント目標（ＲＰＯ）と予め定められているものとして説明する。
【００９２】
制御部１３０ｂは、図示しないシステムが持っている日付情報を含む時計情報を参照して、現在時刻が毎時００分 、２０分又は４０分のいずれかとなるまで待機する。制御部１３０ｂは、現在時刻が毎時００分 、２０分又は４０分のいずれかとなった場合には、処理をステップＳｄ２に進める。（ステップＳｄ１）
【００９３】
制御部１３０ｂは、現在時刻が毎時００分 、２０分又は４０分のいずれであるかを判定する。毎時００分である場合（ステップＳｄ２：毎時００分）、制御部１３０ｂは、処理をステップＳｄ３に進める。また、毎時２０分である場合（ステップＳｄ２：毎時２０分）、制御部１３０ｂは、処理をステップＳｄ５に進める。また、毎時４０分である場合（ステップＳｄ２：毎時４０分）、制御部１３０ｂは、処理をステップＳｄ７に進める。（ステップＳｄ２）
【００９４】
処理をステップＳｄ３に進めた場合、レプリケーション実行部１３３は、２ビットマップをその先頭から走査して現在時刻００分よりも４０分以上前の２０分間に更新されたデータを探し、この探したデータをディスクアレイ装置１８０から読み出す。つまり、レプリケーション実行部１３３は、２ビットマップを参照して値１（２ビット表現では、０１ｂ）が対応付けて登録されているアドレスに書き込まれているデータをディスクアレイ装置１８０から読み出す。レプリケーション実行部１３３は、読み出したデータと、この読み出したデータが記録されているアドレス（プライマリサイトアドレス）とを付帯したレプリケーション命令をバックアップサイトに送信する。このレプリケーション命令をバックアップサイトに送信することによって、現在時刻００分よりも４０分以上前の２０分間に更新されたデータを更新頻度が低いデータであると見なしてバックアップ処理したことになる。このバックアップサイトに送信したレプリケーション命令は、短周期処理のレプリケーション命令である。その後、レプリケーション実行部１３３は、２ビットマップにおいて、上記読み出したデータに対応付けられて登録されている値を０に設定して初期化する。（ステップＳｄ３）
【００９５】
レプリケーション実行部１３３は、２ビットマップの末尾まですべて走査したか否か、を判定する（ステップＳｄ４）。２ビットマップの末尾まですべて走査した場合（ステップＳｄ４：Ｙｅｓ）、処理をステップＳｄ９に処理を進める。２ビットマップの末尾まで走査していない場合（ステップＳｄ４：Ｎｏ）、処理をステップＳｄ３に戻す。
【００９６】
処理をステップＳｄ５に進めた場合、レプリケーション実行部１３３は、２ビットマップを参照して現在時刻２０分よりも４０分以上前の２０分間に更新されたデータを探し、この探したデータをディスクアレイ装置１８０から読み出す。つまり、レプリケーション実行部１３３は、２ビットマップを参照して値２（２ビット表現では、１０ｂ）が対応付けられて登録されているアドレスに書き込まれているデータをディスクアレイ装置１８０から読み出す。レプリケーション実行部１３３は、読み出したデータと、この読み出したデータが記録されているアドレス（プライマリサイトアドレス）とを付帯したレプリケーション命令をバックアップサイトに送信する。このレプリケーション命令をバックアップサイトに送信することによって、現在時刻２０分よりも４０分以上前の２０分間に更新されたデータを更新頻度が低いデータであると見なしてバックアップ処理したことになる。このバックアップサイトに送信したレプリケーション命令は、短周期処理のレプリケーション命令である。その後、レプリケーション実行部１３３は、２ビットマップにおいて、上記読み出したデータに対応付けられて登録されている値を０に設定して初期化する。（ステップＳｄ５）
【００９７】
レプリケーション実行部１３３は、２ビットマップの末尾まですべて走査したか否か、を判定する（ステップＳｄ６）。２ビットマップの末尾まですべて走査した場合（ステップＳｄ６：Ｙｅｓ）、処理をステップＳｄ９に処理を進める。２ビットマップの末尾まで走査していない場合（ステップＳｄ６：Ｎｏ）、処理をステップＳｄ５に戻す。
【００９８】
処理をステップＳｄ７に進めた場合、レプリケーション実行部１３３は、２ビットマップを参照して現在時刻４０分よりも４０分以上前の２０分間に更新されたデータを探し、この探したデータをディスクアレイ装置１８０から読み出す。つまり、レプリケーション実行部１３３は、２ビットマップを参照して値３（２ビット表現では、１１ｂ）が対応付けられて登録されているアドレスに書き込まれているデータをディスクアレイ装置１８０から読み出す。レプリケーション実行部１３３は、読み出したデータと、この読み出したデータが記録されているアドレス（プライマリサイトアドレス）とを付帯したレプリケーション命令をバックアップサイトに送信する。このレプリケーション命令をバックアップサイトに送信することによって、現在時刻４０分よりも４０分以上前の２０分間に更新されたデータを更新頻度が低いデータであると見なしてバックアップ処理したことになる。このバックアップサイトに送信したレプリケーション命令は、短周期処理のレプリケーション命令である。その後、レプリケーション実行部１３３は、２ビットマップにおいて、上記読み出したデータに対応付けられて登録されている値を０に設定して初期化する。（ステップＳｄ７）
【００９９】
レプリケーション実行部１３３は、２ビットマップの末尾まですべて走査したか否か、を判定する（ステップＳｄ８）。２ビットマップの末尾まですべて走査した場合（ステップＳｄ８：Ｙｅｓ）、処理をステップＳｄ９に処理を進める。２ビットマップの末尾まで走査していない場合（ステップＳｄ８：Ｎｏ）、処理をステップＳｄ７に戻す。
【０１００】
制御部１３０ｂは、図示しないシステムが持っている日付情報を含む時計情報を参照して、現在時刻がリカバリポイント目標（ＲＰＯ）として予め定められた午前０時を過ぎたか否かを判定する。制御部１３０ｂは、最後に午前０時を経過した日付情報を記録しておくことにより、時計情報を参照して新たに午前０時を経過したことが判定できる。（ステップＳｄ９）
【０１０１】
現在時刻が午前０時を経過した場合（ステップＳｄ９：Ｙｅｓ）、ポリシー管理部１３２ｂは、処理をステップＳｄ１０に進める。現在時刻が午前０時を経過したということは、リカバリポイント目標（ＲＰＯ）の時刻に到達したことを意味する。一方、現在時刻が午前０時を経過していない場合（ステップＳｄ９：Ｎｏ）、ポリシー管理部１３２ｂは、処理をステップＳｄ１に戻す。
【０１０２】
レプリケーション実行部１３３は、２ビットマップを参照して値０（２ビット表現では、００ｂ）以外が対応付けられて登録されているアドレスに書き込まれているデータをディスクアレイ装置１８０から読み出す。つまり、レプリケーション実行部１３３は、２ビットマップにおいて値が１（２ビット表現では、０１ｂ），２（２ビット表現では、１０ｂ），又は３（２ビット表現では、１１ｂ）が対応付けられて登録されているアドレスに書き込まれているデータをディスクアレイ装置１８０から読み出す。レプリケーション実行部１３３は、読み出したデータと、この読み出したデータが記録されているアドレス（プライマリサイトアドレス）とを付帯したレプリケーション命令をバックアップサイトに送信する。このようなレプリケーション命令をバックアップサイトに送信することによって、ステップＳｄ３，Ｓｄ５，Ｓｄ７の各処理でバックアップされていない更新頻度が高いデータのバックアップ処理したことになる。このバックアップサイトに送信したレプリケーション命令は、長周期処理のレプリケーション命令である。その後、レプリケーション実行部１３３は、２ビットマップにおいて、上記読み出したデータに対応付けられて登録されている値を０に設定して初期化する。（ステップＳｄ１０）
【０１０３】
図１２は、バックアップサイトでのレプリケーション処理を示すフローチャートである。制御部２３０は、プライマリサイトから送信されるレプリケーション命令の受信を待機する。（ステップＳｅ１）
【０１０４】
制御部２３０は、プライマリサイトから送信されたレプリケーション命令が短周期処理のレプリケーション命令であるか否か、を判定する。つまり、制御部２３０は、現在時刻が毎時００分 、２０分又は４０分のいずれかである場合には、短周期処理のレプリケーション命令であると判定する。ただし、制御部２３０は、現在時刻が午前０時００分の場合には、長周期のレプリケーション命令であると判定できる。
【０１０５】
短周期処理のレプリケーション命令である場合（ステップＳｅ２：Ｙｅｓ）、制御部２３０は、処理をステップＳｅ６に進める。一方、短周期処理のレプリケーション命令でない場合（ステップＳｅ２：Ｎｏ）、制御部２３０は、処理をステップＳｅ３に進める。この場合、制御部２３０は、受信したレプリケーション命令が長周期処理のレプリケーション命令と判定できたことになる。（ステップＳｅ２）
【０１０６】
ステップＳｅ６の処理において、制御部２３０は、プライマリサイトから送信されたレプリケーション命令に付帯したデータとそのデータのプライマリサイトアドレスとを受信する。制御部２３０は、この受信したデータを一時保管領域部３００に記憶する。制御部２３０は、この受信したデータを一時保管領域部３００に記憶したアドレス（一時保管領域部アドレス）と受信したプライマリサイトアドレスとを対応付けてアドレステーブル（図４参照）に登録する。（ステップＳｂ６）
【０１０７】
制御部２３０は、レプリケーション命令に付帯した全てのデータとそのデータのプライマリサイトアドレスとを受信したか否かを判定する。全てのデータとそのデータのプライマリサイトアドレスとを受信した場合（ステップＳｅ７：Ｙｅｓ）、制御部２３０は処理をステップＳｅ１に戻す。一方、受信していないデータとそのデータのプライマリサイトアドレスとが残っている場合（ステップＳｅ７：Ｎｏ）、制御部２３０は処理をステップＳｅ６に処理を戻す。（ステップＳｅ７）
【０１０８】
一方、ステップＳｅ３の処理において、制御部２３０は、アドレステーブル（図４参照）に登録されている一時保管領域部アドレスに基づいて一時保管領域部３００に一時記憶されている全てのデータを読み出す。制御部２３０は、一時保管領域部３００から読み出したデータをディスクアレイ装置２８０に書き込む。ここで、制御部２３０がデータをディスクアレイ装置２８０に書き込むアドレスは、アドレステーブルにおいてそのデータが読み出された一時保管領域部アドレスに対応付けられているプライマリサイトアドレスと同じアドレスである。このデータのディスクアレイ装置２８０への書き込みによって、レプリケーションがされたことになる。（ステップＳｅ３）
【０１０９】
制御部２３０は、プライマリサイトから送信された長周期処理のレプリケーション命令（ステップＳｅ２でＮｏと判定したケース）に付帯したデータとそのデータのプライマリサイトアドレスとを受信する。制御部２３０は、この受信したデータを、ディスクアレイ装置２８０の、受信したプライマリサイトアドレスと同じアドレスに書き込む。このデータの書き込みにより受信したデータのレプリケーションがされたことになる。（ステップＳｅ４）
【０１１０】
制御部２３０は、レプリケーション命令に付帯した全てのデータとそのデータのプライマリサイトアドレスとを受信したか否かを判定する。全てのデータとそのデータのプライマリサイトアドレスとを受信した場合（ステップＳｅ５：Ｙｅｓ）、制御部２３０は、処理をステップＳｅ１に戻す。一方、受信していないデータとそのデータのプライマリサイトアドレスとが残っている場合（ステップＳｅ５：Ｎｏ）、制御部２３０は、処理をステップＳｅ４に戻す。（ステップＳｅ５）
【０１１１】
このように、本実施形態ではデータが更新された時間帯を２ビットマップに登録し、この２ビットマップに登録されたデータの更新時間帯に基づいて２種類のデータのレプリケーションを実現している。一つは、毎時の所定の時刻、例えば毎時００分，毎時２０分，毎時４０分において、現在時刻よりも４０分以上前の２０分間に更新されたデータをレプリケーションする。これは、短周期処理のレプリケーションである。もう一つは、予め定められた時刻、例えばリカバリポイント目標（ＲＰＯ）の時刻において、更新されている全てのデータをレプリケーションする。これは、長周期処理のレプリケーションである。
【０１１２】
このように短周期処理のレプリケーションと長周期処理のレプリケーションとを設けたことにより、レプリケーションのための、プライマリサイトからバックアップサイトへの大量のデータ転送が一度に発生しない。よって、プライマリサイトとバックアップサイトとの間の通信路にて輻輳の発生が回避できる。
【０１１３】
更に、本実施形態ではレプリケーションを管理するためのメタデータを２ビットマップで実現している。このため、メタデータの容量を肥大化させることなく小さな記憶容量で実現できる。
【０１１４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【図１】
0006030269.tif 000002
【図２】
0006030269.tif 000003
【図３】
0006030269.tif 000004
【図４】
0006030269.tif 000005
【図５】
0006030269.tif 000006
【図６】
0006030269.tif 000007
【図７】
0006030269.tif 000008
【図８】
0006030269.tif 000009
【図９】
0006030269.tif 000010
【図１０】
0006030269.tif 000011
【図１１】
0006030269.tif 000012
【図１２】
0006030269.tif 000013