(57)【特許請求の範囲】
【請求項１】
データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなる、データ保護機能を具備したストレージシステムであって、
ストレージへのアクセスの履歴情報の解析結果、及び／又は、外部から通知された情報に基づき、データ・アクセスに関する所定の契機を抽出する手段と、
前記抽出された所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして、前記ストレージに記憶する手段と、
を備え、
前記ストレージでは、所定の時間間隔をもって互いに離間しているそれぞれの時点での過去データが、前記時点に関連付けて記憶保持され、
前記過去データが格納されない時間区間内に発生したデータ更新については、変更内容が差分情報にてログとして時系列的に記録され、
アクセス要求で指定された時点のデータが、前記ストレージに過去データとして格納されているか探索し、前記指定された時点の過去データが存在する場合、前記指定された時点の過去データを、前記アクセス要求に対する応答として返す手段を備え、
前記アクセス要求で指定された時点の過去データが前記ストレージに記憶されていない場合には、前記指定時点に近隣の過去データを取得し、さらに前記近隣の過去データと指定時点のデータの差分に対応するログ情報を取得し、前記近隣の過去データと前記ログ情報とから、指定時点に対応するデータを復元して、前記アクセス要求に対する応答として返す手段を備えている、ことを特徴とするストレージシステム。
【請求項２】
前記ストレージへのアクセス要求が、前記所定の契機に対応するデータへのアクセス要求である場合、データの復元は行わず、予め作成された、前記所定の契機に対応したデータを、前記アクセス要求の応答とし、
一方、前記所定の契機のデータが前記ストレージに記憶されていない場合には、前記ストレージに記憶保持されているデータとログ情報からデータを復元し、前記アクセス要求に対する応答として返す制御を行う手段を備えている、ことを特徴とする請求項１記載のストレージシステム。
【請求項３】
応答用の過去データを保持する応答用過去データ保護手段と、
継続的なデータ保護を行う継続的データ保護手段と、
前記応答用過去データ保護手段及び前記継続的データ保護手段のデータから、データを合成するデータ合成手段と、
を備えたストレージと、
所定の契機に対応するデータを予め作成する過去データ更新手段と、
前記ストレージへのアクセスの履歴情報の解析結果、又は、外部から通知された情報に基づき、前記契機を前記過去データ更新手段に伝達する契機伝達手段と、
を備え、
前記過去データ更新手段は、前記応答用過去データ保護手段の応答用の過去データと、前記継続的データ保護手段のデータとを参照して、前記所定の契機に対応するデータを事前に復元し、復元したデータを前記所定の契機に対応させて前記応答用過去データ保護手段に格納し、
前記データ合成手段は、前記所定の契機のデータへのアクセス要求に対して、前記応答用過去データ保護手段に記憶保持されている、前記所定の契機に対応するデータを応答として返し、前記所定の契機以外のデータのアクセス要求に対しては、前記応答用過去データ保護手段及び前記継続的データ保護手段のデータから合成したデータを応答として返す、ことを特徴とするストレージシステム。
【請求項４】
前記継続的データ保護手段は、前記ストレージに対するデータ書き込みをトラックし、データ更新が発生したとき、その差分をログとして、ストレージにジャーナリングしていく、ことを特徴とする請求項３記載のストレージシステム。
【請求項５】
前記契機伝達手段が、前記過去データ更新手段に対して、過去データについて保持すべき時刻を通知し、
前記過去データ更新手段は、前記応答用過去データ保護手段の応答用として保持される過去データから、前記契機伝達手段から通知された時刻の近隣データを取り出し、前記継続的データ保護手段から、前記通知された時刻の近隣データと前記時刻のデータの差分情報を得、
前記近隣データと前記差分情報とから、前記通知された時刻に対応するデータを合成し、合成したデータを前記応答用過去データ保護手段に保存する、ことを特徴とする請求項３記載のストレージシステム。
【請求項６】
前記契機伝達手段が、前記過去データ更新手段に対して、過去データとして不要なデータを通知し、前記過去データ更新手段は、通知された過去データを、前記応答用過去データ保護手段の応答用の過去データから削除する、ことを特徴とする請求項３記載のストレージシステム。
【請求項７】
前記契機伝達手段は、前記ストレージへのアクセスの履歴情報を解析し、アクセスが集中している時刻とアクセス対象データを前記過去データ更新手段に通知し、
前記応答用過去データ保護手段で利用されない過去データの削除を、前記過去データ更新手段に通知する、ことを特徴とする請求項３記載のストレージシステム。
【請求項８】
前記過去データ更新手段が、合成したデータを前記応答用過去データ保護手段に保存したとき、前記応答用過去データ保護手段に保存される過去データを削除する、ことを特徴とする請求項５記載のストレージシステム。
【請求項９】
時刻指定付のリード要求を受けた前記データ合成手段は、前記応答用データ保護手段内に指定された時刻の応答用の過去データが存在するか探索し、
指定された時刻のデータが存在する場合、前記データ合成手段は、前記応答用データ保護手段から指定された時刻の応答用データを取り出し、
一方、指定された時刻のデータが存在しない場合、前記データ合成手段は、前記応答用データ保護手段から、指定された時刻の近隣データを取り出し、前記継続的データ保護手段から、取り出された近隣データと、指定された時刻の差分情報を得、近隣データと差分情報から指定時刻のデータを合成する、ことを特徴とする請求項３記載のストレージシステム。
【請求項１０】
応答用の過去データを保持する応答用過去データ保護手段と、
継続的なデータ保護を行う継続的データ保護手段と、
前記応答用過去データ保護手段と前記継続的データ保護手段のデータからデータを合成するデータ合成手段と、
を備えたストレージと、
アプリケーションの静止点を検出して管理する静止点管理手段と、
を備え、
ストレージに対して要求データの時刻指定付リード要求を受け、前記静止点管理手段は、要求された時刻に最も近い対象データの静止点の情報を得、前記静止点の情報を、ストレージの前記データ合成手段に通知し、
前記データ合成手段は、前記応答用過去データ保護手段内に、前記静止点管理手段で得られた前記静止点に対応する時刻の応答用の過去データが存在するか否か探索し、前記時刻のデータが存在する場合には、前記応答用過去データ保護手段から該当データを取り出し、
一方、前記静止点に対応する時刻のデータが存在しない場合には、前記データ合成手段は、前記応答用過去データ保護手段から、前記時刻に近隣のデータを取り出し、前記継続的データ保護手段から、取り出された近隣データと指定された時刻のデータの差分情報を得、前記近隣データと前記差分情報とから、前記時刻のデータを合成し応答として返す、ことを特徴とするストレージシステム。
【請求項１１】
データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなる、データ保護機能を具備したストレージシステムのデータ保護方法であって、
ストレージへのアクセスの履歴情報の解析結果、及び／又は、外部から通知された情報に基づき、データ・アクセスに関する所定の契機を抽出する工程と、
前記抽出された所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして、前記ストレージに記憶する工程と、
を含み、
前記ストレージでは、所定の時間間隔をもって互いに離間しているそれぞれの時点での過去データが前記時点に関連付けて記憶保持され、
前記過去データが格納されない時間区間内に発生したデータ更新については、変更内容が差分情報にて前記ログとして時系列的に記録され、
アクセス要求で指定された時点のデータが、前記ストレージに過去データとして格納されているか探索し、前記指定された時点の過去データが存在する場合、前記指定された時点の過去データを、前記アクセス要求に対する応答として返し、
前記アクセス要求で指定された時点の過去データが前記ストレージに記憶されていない場合には、前記指定時点に近隣の過去データを取得するとともに、前記近隣の過去データと指定時点のデータの差分に対応するログ情報を取得し、前記近隣の過去データと前記ログ情報とから、指定時点に対応するデータを復元して、前記アクセス要求に対する応答として返す、ことを特徴とするデータ保護方法。
【請求項１２】
前記ストレージへのアクセス要求が、前記所定の契機に対応するデータへのアクセス要求である場合、データの復元は行わず、予め作成された、前記所定の契機に対応したデータを、前記アクセス要求の応答とし、
一方、前記所定の契機のデータが前記ストレージに記憶されていない場合には、前記ストレージに記憶保持されているデータとログ情報からデータを復元し、前記アクセス要求に対する応答として返す制御を行う工程を含む、ことを特徴とする請求項１１記載のデータ保護方法。
【請求項１３】
データの更新が発生したとき、変更内容をログとして時系列的に記録していく処理を実行することで、過去の時点のデータを復元自在としてなる、データ保護機能を具備したストレージシステムを構成するコンピュータに、
ストレージへのアクセスの履歴情報の解析結果、及び／又は、外部から通知された情報に基づき、データ・アクセスに関する所定の契機を抽出する処理と、
前記抽出された所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして、前記ストレージに記憶する処理と、
前記ストレージに、所定の時間間隔をもって互いに離間しているそれぞれの時点での過去データを前記時点に関連付けて記憶保持する処理と、
前記過去データが格納されない時間区間内に発生したデータ更新については、変更内容を差分情報にて前記ログとして時系列的に記録する処理と、
アクセス要求で指定された時点のデータが、前記ストレージに過去データとして格納されているか探索し、前記指定された時点の過去データが存在する場合、前記指定された時点の過去データを、前記アクセス要求に対する応答として返す処理と、
前記アクセス要求で指定された時点の過去データが前記ストレージに記憶されていない場合には、前記指定時点に近隣の過去データを取得するとともに、前記近隣の過去データと指定時点のデータの差分に対応するログ情報を取得し、前記近隣の過去データと前記ログ情報とから、指定時点に対応するデータを復元して、前記アクセス要求に対する応答として返す処理と、
を実行させるプログラム。
【請求項１４】
請求項１３記載のプログラムにおいて、
前記ストレージへのアクセス要求が、前記所定の契機に対応するデータへのアクセス要求である場合、データの復元は行わず、予め作成された、前記所定の契機に対応したデータを、前記アクセス要求の応答とし、
一方、前記アクセス要求に対応する契機のデータが前記ストレージに記憶されていない場合には、前記ストレージに記憶保持されているデータとログ情報からデータを復元し、前記アクセス要求に対する応答として返す制御を行う処理を実行させるプログラム。
【請求項１５】
応答用の過去データを保持する応答用過去データ保護手段と、
継続的なデータ保護を行う継続的データ保護手段と、
を備え、
所定の契機に対応するデータを予め作成する過去データ更新処理と、
前記応答用過去データ保護手段と前記継続的データ保護手段のデータからデータを合成するデータ合成処理と、
を備えたストレージシステムを構成するコンピュータに、
前記過去データ更新処理は、前記応答用過去データ保護手段の過去データを、前記継続的データ保護手段のデータを参照して、前記所定の契機に対応するデータを事前に復元し、前記応答用過去データ保護手段に格納し、
前記データ合成処理は、前記所定の契機のデータへのアクセス要求に対して、前記応答用過去データ保護手段に記憶保持されているデータを応答として返し、
前記所定の契機以外のデータのアクセス要求に対しては、前記応答用過去データ保護手段と前記継続的データ保護手段のデータから合成したデータを応答として返す処理を行い、
前記過去データ更新処理と前記データ合成処理と、
ストレージへのアクセスの履歴情報の解析結果又は外部から通知された情報に基づき、前記契機を前記過去データ更新処理に伝達する契機伝達処理と、を、実行させるプログラム。
【請求項１６】
請求項１５記載のプログラムにおいて、
前記契機伝達処理が、前記過去データ更新処理に対して、過去データについて保持すべき時刻を通知し、
前記過去データ更新処理は、過去データから指定時刻の近隣データを取り出し、前記継続的データ保護手段から、指定時刻の近隣データと、指定された時刻のデータの差分情報を得、データと差分情報から、指定時刻に対応するデータを合成し、合成したデータを応答用過去データ保護手段に保存する、ことを特徴とするプログラム。
【請求項１７】
請求項１５記載のプログラムにおいて、
前記契機伝達処理が、前記過去データ更新手段に対して、過去データとして不要なデータを通知し、前記過去データ更新手段は、通知された過去データを、応答用過去データから削除する、ことを特徴とするプログラム。
【請求項１８】
請求項１５記載のプログラムにおいて、
前記契機伝達処理は、ストレージへのアクセスの履歴情報を解析し、アクセスが集中している時刻とアクセス対象データを前記過去データ更新処理に通知し、
前記応答用過去データ保護手段で利用されない過去データの削除を前記過去データ更新処理に通知する、ことを特徴とするプログラム。
【請求項１９】
請求項１５記載のプログラムにおいて、
時刻指定付のリード要求を受けた前記データ合成処理は、前記応答用データ保護手段内に指定された時刻の応答用の過去データが存在するか探索し、
指定された時刻のデータが存在する場合、前記データ合成処理は、前記応答用データ保護手段から指定された時刻の応答用データを取り出し、
一方、指定された時刻のデータが存在しない場合、前記データ合成処理は、前記応答用データ保護手段から、指定された時刻の近隣データを取り出し、前記継続的データ保護手段から、取り出された近隣データと、指定された時刻の差分情報を得、近隣データと差分情報から指定時刻のデータを合成する、ことを特徴とするプログラム。
【請求項２０】
応答用の過去データを保持する応答用過去データ保護手段と、
継続的なデータ保護を行う継続的データ保護手段と、
前記応答用過去データ保護手段と前記継続的データ保護手段のデータからデータを合成するデータ合成処理と、
アプリケーションの静止点を検出して管理する静止点管理処理と、
を備えたストレージシステムを構成するコンピュータに、
ストレージに対して要求データの時刻指定付リード要求を受け、前記静止点管理処理は、要求された時刻に最も近い対象データの静止点の情報を得、静止点の情報を、ストレージのデータ合成処理に通知し、
前記データ合成処理は、応答用過去データ保護手段内に、前記静止点管理処理で得られた静止点に対応する時刻の応答用の過去データが存在するか否か探索し、
前記静止点に対応する時刻のデータが存在する場合には、前記応答用過去データ保護手段から該当データを取り出し、
一方、前記静止点に対応する時刻のデータが存在しない場合、前記データ合成処理は、前記応答用過去データ保護手段から、指定された時刻に近隣のデータを取り出し、前記継続的データ保護手段から、取り出された近隣データと、指定された時刻のデータの差分情報を得、前記近隣データと前記差分情報とから、指定された時刻のデータを合成し応答として返す処理を行い、
前記静止点管理処理と前記データ合成処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関し、特に、データ保護を行うストレージシステム及びデータ保護方法とプログラムに関する。
【背景技術】
【０００２】
可用性、耐障害性が要求されるストレージシステムにおいては、システム障害時に、修復データの整合性や復旧時間の短縮化等が求められている。すなわち、障害の発生時、障害発生前のデータへのリカバリ（復旧）が行われるが、リカバリ時間（ＲＴＯ）、及び、どれだけ直前の地点にまで遡れるかを示す指標であるリカバリポイント目標（ＲＰＯ）がともに短いデータ保護手法が求められている。
【０００３】
バックアップ手法は、データ全体、又は変更分をデータやディスクに例えば定期的にバックアップするものである。しかしながら、１日一回、例えば午前零時にバックアップするという運用形態において、午後に障害が発生した時、１２時間以上前の午前零時でのバックアップ時点にまで遡らなければならない。
【０００４】
一方、スナップショットは、ディスク内のデータの位置を示すポインタ情報を記録するものであり、実データを記録せず、要する時間も短時間である。このため、スナップショットの実行の間隔を狭めることで、ＲＰＯを短縮できる。ただし、秒単位でデータを遡ることは運用上、困難である。
【０００５】
このように、過去のデータにアクセスすることを可能とするデータ保護手法の典型例として、
（ａ）ファイルやブロックが更新された時に、その更新情報をログ（差分管理機構）に記録するものと、
（ｂ）過去のある時点でのスナップショットを記録するもの、
がある。
【０００６】
上記（ａ）の手法として、
ＣＤＰ（Ｃｏｎｔｉｎｕｏｕｓ  Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ；継続的データ保護）制御ソフトウエア、
データベースソフトウエア、
ジャーナリングファイルシステム
がある。
【０００７】
ＣＤＰは、データが更新されるたびに、その変更内容を時系列的に保存してゆくデータ保護手法であり、ストレージに対するデータ書き込みをトラッキング、キャプチャし、データ更新が発生したとき、その変更内容を、二次ストレージ（変更履歴データベース）にジャーナリングしていく。これにより、過去のどの時点のデータも再現することができ（Any  Point  In Time（APIT）Recovery）、データ損失を回避することができる。これは、秒単位で追加バックアップを取り続けることに相等する。スナップショットでは、データは数十分のオーダでしか復元できないが、ＣＤＰでは、数秒レベルでデータの復旧地点を設定することができる。なお、データの変更履歴の記録だけからは、実データ全体を復元することはできないため、スタート地点として、ボリューム全体のレプリケーションを行い、このレプリケーションに対する変更履歴を時系列で記録していく構成とされる（非特許文献１、２参照）。ＣＤＰのタイプとして、ブロック型、ファイル型、アプリケーション型がある。ブロック型は物理ディスク又はロジカルボリュームレベルのブロック単位でデータ変更をトラックする。ファイル型はファイル・レベルでデータ変更をトラックする。アプリケーション型はログ情報やＡＰＩにより特定のアプリケーションの動きを認識し、ファイル更新やイベント単位でトラックする。トラック頻度は、ブロック単位の場合、例えば秒単位以上、ファイル型、アプリケーション型は、例えばファイル・イベント更新毎を最小単位とする。二次ストレージへの書き込みは同期型、非同期型がある。なお、ＣＤＰソフトウエアとしてはＴｉｍｅＳｐｒｉｎｇ社の「ＴｉｍＤａｔａＴＭ」等が市販されている。
【０００８】
また、上記（ｂ）の手法として、ＭｉｃｒｏＳｏｆｔ社の  ＶＳＳＴＭ（Ｖｉｒｔｕａｌ  Ｓｈａｄｏｗ  ｃｏｐｙ  Ｓｅｒｖｉｃｅ）がある。ＶＳＳＴＭは、データのバックアップに使用できるスナップショットを作成することにより、ファイルシステムとアプリケーションデータの整合性要求を満たすようにサービスを提供する。なお、ＭｉｃｒｏＳｏｆｔ社は、ＣＤＰに近い技術としてＶＳＳを用いたＤＰＭＴＭ（Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ  Ｍａｎａｇｅｒ）を提供している。
【０００９】
【非特許文献１】自由な地点へとデータをリカバリできる最新のデータ保護技術「Ｃｏｎｔｉｎｕｏｕｓ  Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ」、インターネット＜ＵＲＬ：http://enterprise.watch.impress.co.jp/cda/storage/2005/03/07/4771.html>
【非特許文献２】ＣＤＰ（Ｃｏｎｔｉｎｕｏｕｓ  Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ）〜Ａｎｙ  Ｐｏｉｎｔ  Ｉｎ  Ｔｉｍｅ  Ｒｅｃｏｖｅｒｙ：過去のどの時点にも復旧可能な技術〜  インターネット＜ＵＲＬ：http://www.tel.co.jp/cn/magazine/vol18/it_trend2.html>
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記（ａ）の手法の場合、図１１（Ａ）に示すように、過去データ（欲しい契機のデータ）にアクセスするには、過去に採取したバックアップあるいは現在のデータから、ログ（差分データ）を用いて、リストア（復元）する。この場合、バックアップから、ログを用いて復元するには、ログのリストア処理（ロールバック、又はロールフォーワード）が必要になる。このため、処理に時間がかかる。
【００１１】
リストア処理を行わずに、過去データ（欲しい契機のデータ）をアクセス要求元へ高速に提供するためには、例えば図１１（Ｂ）に示すように、過去のあらゆる時点の完全なバックアップ（高速に応答可能なバックアップ）を保持しておく必要がある。しかしながら、この手法では、データの保存容量は膨大となり、膨大なディスク容量が必要とされる。
【００１２】
この問題を解決するため、図１１（Ｂ）において、データの保存間隔を拡げることも考えられる。しかしながら、その場合、あらゆるタイミングのデータをアクセス要求元へ提供することができない。
【００１３】
もともと、図１１（Ｂ）においては、スナップショットの取得にも、数秒程度の時間を要し、時系列的に保持されるバックアップデータ（スナップショット）の時間間隔には、スナップショット取得時間による制約があり、秒単位でのデータの復元は困難である。すなわち、データの保存間隔を最小限に狭めた場合であっても、秒単位でのデータの復元は困難である。
【００１４】
したがって、ユーザや上位アプリケーションが任意のあらゆる時点のデータにアクセスすることを可能とするシステムの実現が望まれている。
【００１５】
さらに、上位のユーザ等が要求した時点における、ストレージの状態を要求に対する応答として返すシステムの場合、アプリケーションによっては、中途半端なタイミングでデータをストレージから受け取っても、そのままでは利用できない場合がある（図７参照）。図７の場合、ストレージへのある契機へのアクセス要求に対する応答として、データ更新時におけるデータが前記ある契機のファイルとして返される。この場合、アプリケーション側で利用可能な状態に復旧してから利用する必要がある。これは、ユーザが指定した過去の時点は、アプリケーションにとって都合のよいタイミングではないためである。例えばＭｉｃｒｏＳｏｆｔ社のＷｏｒｄＴＭでは、アプリケーションが不測のタイミングで停止した場合、一時的に保持されたデータから復元する修復機能を具備している。図７に示す例の場合、このような修復機能を用いて、ストレージから受け取ったデータをアプリケーション側で復元する必要がある。これは、アプリケーション側の負担となる。
【００１６】
したがって、ストレージ側でアプリケーションにとって都合の良いタイミング（ユーザによっても都合のよいタイミング）のデータを応答する機能を具備したシステムが望まれる。
【００１７】
上記の如く、本発明の目的は、任意の過去データにアクセス可能とし、高速応答を可能とするシステム、方法、プログラムを提供することにある。
【００１８】
本発明の別の目的は、ストレージがアプリケーションにとって都合の良いタイミング（ユーザによっても都合のよいタイミング）の過去データを応答可能とするシステム、方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
【００２０】
本発明の１つのアスペクト（側面）に係るストレージシステムは、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなる、データ保護機能を具備したストレージシステムであって、所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして、前記ストレージに記憶する手段を備えている。
【００２１】
本発明においては、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなる、データ保護機能を具備したストレージシステムであって、ストレージへのアクセスの履歴情報の解析結果、又は、外部から通知された情報に基づき、データのアクセスに関する所定の契機を抽出する手段と、前記抽出された所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして、前記ストレージに記憶する手段と、を備えている。
【００２２】
本発明において、前記ストレージへのアクセス要求が、前記所定の契機に対応するデータへのアクセス要求である場合、データの復元は行わず、予め作成された、前記所定の契機に対応したデータを、前記アクセス要求の応答とし、一方、前記所定の契機のデータが前記ストレージに記憶されていない場合には、前記ストレージに記憶保持されているデータとログ情報からデータを復元し、前記アクセス要求に対する応答として返す制御を行う手段を備えている。
【００２３】
本発明においては、前記所定の契機は、前記ストレージへのアクセスの履歴情報から導出される、頻繁なアクセスが行われるか、又は頻繁なアクセスが予想される時点を含む。あるいは、前記所定の契機は、前記ストレージシステム外部から前記ストレージシステムに通知される。
【００２４】
本発明においては、前記ストレージでは、所定の時間間隔で互いに離間しているそれぞれの時点での過去データが前記時点に関連付けて記憶保持され、前記過去データが格納されない期間内に発生したデータ更新については、変更内容が差分情報にて前記ログとして時系列的に記録され、前記アクセス要求で指定された時点のデータが、前記ストレージに過去データとして格納されているか探索し、前記指定された時点の過去データが存在する場合、前記指定された時点の過去データを、アクセス要求に対する応答として返す手段を備え、前記アクセス要求で指定された時点の過去データが前記ストレージに記憶されていない場合には、前記指定時点に近隣の過去データを取得し、前記近隣の過去データと指定時点の差に対応するログ情報を取得し、前記近隣の過去データと前記ログ情報とから、指定時点に対応するデータを復元して、アクセス要求に対する応答として返す手段を備えている。
【００２５】
本発明の他のアスペクトに係るシステムは、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなる、データ保護機能を具備したストレージシステムが、データの静止点を検出する手段を備え、ストレージに対するアクセス要求に対して、静止点に対応するデータを応答として返す制御を行う手段を備えている。
【００２６】
本発明の他のアスペクトに係るシステムは、応答用の過去データを保持する応答用過去データ保護手段と、継続的なデータ保護を行う継続的データ保護手段と、前記応答用過去データ保護手段及び前記継続的データ保護手段のデータから、データを合成するデータ合成手段と、を備えたストレージと、所定の契機に対応するデータを予め作成する過去データ更新手段と、を備え、前記過去データ更新手段は、前記応答用過去データ保護手段の応答用の過去データを、前記継続的データ保護手段のデータを参照して、前記所定の契機に対応するデータを事前に復元し、前記応答用過去データ保護手段に格納し、前記データ合成手段は、前記所定の契機のデータへのアクセス要求に対して、前記応答用過去データ保護手段に記憶保持されているデータを応答として返し、前記所定の契機以外のデータのアクセス要求に対しては、前記応答用過去データ保護手段と前記継続的データ保護手段のデータから合成したデータを応答として返す、ことを特徴とする。
【００２７】
本発明においては、ストレージへのアクセスログの解析結果又は外部から通知された情報に基づき、前記契機を前記過去データ更新手段に伝達する契機伝達手段とを備えている。
【００２８】
本発明においては、前記継続的データ保護手段は、ストレージに対するデータ書き込みをトラックし、データ更新が発生したとき、その差分をログとしてストレージにジャーナリングしていく構成としてもよい。
【００２９】
本発明においては、前記契機伝達手段が、前記過去データ更新手段に対して、過去データについて保持すべき時刻を通知し、前記過去データ更新手段は、過去データから指定時刻の近隣データを取り出し、前記継続的データ保護手段から、指定時刻の近隣データと、指定された時刻のデータの差分情報を得、データと差分情報から、指定時刻に対応するデータを合成し、合成したデータを応答用過去データ保護手段に保存する。
【００３０】
本発明においては、前記契機伝達手段が、前記過去データ更新手段に対して、過去データとして不要なデータを通知し、前記過去データ更新手段は、通知された過去データを、応答用過去データから削除する。
【００３１】
本発明においては、前記契機伝達手段は、アクセスログを解析し、アクセスが集中している時刻とアクセス対象データを前記過去データ更新手段に通知し、前記応答用過去データ保護手段で利用されない過去データの削除を前記過去データ更新手段に通知する。
【００３２】
本発明においては、時刻指定付のリード要求を受けた前記データ合成手段は、前記応答用データ保護手段内に指定された時刻の応答用の過去データが存在するか探索し、指定された時刻のデータが存在する場合、前記データ合成手段は、前記応答用データ保護手段から指定された時刻の応答用データを取り出し、一方、指定された時刻のデータが存在しない場合、前記データ合成手段は、前記応答用データ保護手段から、指定された時刻の近隣データを取り出し、前記継続的データ保護手段から、取り出された近隣データと、指定された時刻の差分情報を得、近隣データと差分情報から指定時刻のデータを合成する構成としてもよい。
【００３３】
本発明の他のアスペクトに係るシステムにおいては、応答用の過去データを保持する応答用過去データ保護手段と、継続的なデータ保護を行う継続的データ保護手段と、前記応答用過去データ保護手段と前記継続的データ保護手段のデータからデータを合成するデータ合成手段と、アプリケーションの静止点を検出して管理する静止点管理手段と、を備え、ストレージに対して要求データの時刻指定付のアクセス要求を受け、前記静止点管理手段は、要求された時刻に最も近い対象データの静止点の情報を得、静止点情報を、ストレージのデータ合成手段に通知し、前記データ合成手段は、前記応答用過去データ保護手段内に、前記静止点管理手段で得られた静止点に対応する時刻の応答用の過去データがあるか否か探索し、静止点に対応する時刻のデータが存在する場合には前記応答用過去データ保護手段から該当データを取り出し、一方、静止点に対応する時刻のデータが存在しない場合、前記データ合成手段は、前記応答用過去データ保護手段から指定された時刻に近隣のデータを取り出し、前記継続的データ保護手段から、取り出された近隣データと、指定された時刻の差分情報を得、前記近隣データと前記差分情報から、前記時刻のデータを合成し応答として返す。
【００３４】
本発明の他のアスペクトに係る方法においては、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなるデータ保護機能を具備したストレージシステムのデータ保護方法であって、
所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして前記ストレージに記憶する工程を含む。
【００３５】
本発明の他のアスペクトに係る方法においては、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなるデータ保護機能を具備したストレージシステムのデータ保護方法であって、
ストレージへのアクセスの履歴情報の解析結果、及び／又は、外部から通知された情報に基づき、データのアクセスに関する所定の契機を抽出する工程と、
前記抽出された所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして、前記ストレージに記憶する工程と、を含む。
【００３６】
本発明に係る方法によれば、前記ストレージへのアクセス要求が、前記所定の契機に対応するデータへのアクセス要求である場合、データの復元は行わず、予め作成された、前記所定の契機に対応したデータを、前記アクセス要求の応答とし、一方、前記所定の契機のデータが前記ストレージに記憶されていない場合には、前記ストレージに記憶保持されているデータとログ情報からデータを復元し、前記アクセス要求に対する応答として返す制御を行う工程を含む。
【００３７】
本発明に係る方法において、前記所定の契機は、前記ストレージにアクセスログから導出される、頻繁なアクセスが行われるか、又は頻繁なアクセスが予想される時点を含む。あるいは、前記所定の契機は、前記ストレージシステム外部から前記ストレージシステムに通知される。
【００３８】
本発明に係る方法において、前記ストレージでは、所定の時間間隔、離間しているそれぞれの時点での過去データが前記時点に関連付けて記憶保持され、
前記過去データが格納されない期間内に発生したデータ更新については、変更内容が差分情報にて前記ログとして時系列的に記録され、
前記アクセス要求で指定された時点のデータが、前記ストレージに過去データとして格納されているか探索し、前記指定された時点の過去データが存在する場合、前記指定された時点の過去データを、アクセス要求に対する応答として返し、
前記アクセス要求で指定された時点の過去データが前記ストレージに記憶されていない場合には、前記指定時点に近隣の過去データと、前記近隣の過去データと指定時点の差分に対応するログ情報を取得し、前記近隣の過去データとログ情報とから、指定時点に対応するデータを復元して、アクセス要求に対する応答として返す、ことを特徴とする。
【００３９】
本発明の他のアスペクトに係る方法は、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなる、データ保護機能を具備したストレージシステムのデータ保護方法であって、
データの静止点を検出する工程と、
ストレージに対するアクセス要求に対して、静止点に対応するデータを応答として返す制御を行う工程と、を含む。
【００４０】
本発明に係るコンピュータプログラムは、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなるデータ保護機能を具備したストレージシステムを構成するコンピュータに、
所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして前記ストレージに記憶する処理を実行させるプログラムよりなる。
【００４１】
本発明に係るコンピュータプログラムは、データの更新が発生したとき、変更内容をログとして時系列的に記録していくことで、過去の時点のデータを復元自在としてなるデータ保護機能を具備したストレージシステムを構成するコンピュータに、
ストレージへのアクセスの履歴情報の解析結果、及び／又は、外部から通知された情報に基づき、データのアクセスに関する所定の契機を抽出する処理と、
前記抽出された所定の契機に対応するデータを、前記ストレージに記憶保持されているデータとログ情報とから作成し、該作成したデータを、前記所定の契機に対応したデータとして、前記ストレージに記憶する処理と、を実行させるプログラムよりなる。
【００４２】
本発明は、
応答用の過去データを保持する応答用過去データ保護手段と、
継続的なデータ保護を行う継続的データ保護手段と、を備え、
所定の契機に対応するデータを予め作成する過去データ更新処理と、
前記応答用過去データ保護手段と前記継続的データ保護手段のデータからデータを合成するデータ合成処理と、を備えたストレージシステムを構成するコンピュータに、
前記過去データ更新処理は、前記応答用過去データ保護手段の過去データを、前記継続的データ保護手段のデータを参照して、前記所定の契機に対応するデータを事前に復元し、前記応答用過去データ保護手段に格納し、
前記データ合成処理は、前記所定の契機のデータへのアクセス要求に対して、前記応答用過去データ保護手段に記憶保持されているデータを応答として返し、
前記所定の契機以外のデータのアクセス要求に対しては、前記応答用過去データ保護手段と前記継続的データ保護手段のデータから合成したデータを応答として返す、
前記過去データ更新処理と前記データ合成処理を、実行させるプログラムよりなる。
【００４３】
本発明に係るプログラムにおいて、アクセスログの解析結果又は外部から通知された情報に基づき、前記契機を前記過去データ更新処理に伝達する契機伝達処理を前記コンピュータに実行させるプログラムを含む。
【００４４】
本発明に係るプログラムにおいて、前記契機伝達処理が、前記過去データ更新処理に対して、過去データについて保持すべき時刻を通知し、
前記過去データ更新処理は、過去データから指定時刻の近隣データを取り出し、前記継続的データ保護手段から、指定時刻の近隣データと指定された時刻のデータの差分情報を得、データと差分情報から、指定時刻に対応するデータを合成し、合成したデータを応答用過去データ保護手段に保存する。
【００４５】
本発明に係るプログラムにおいて、前記契機伝達処理が、前記過去データ更新手段に対して、過去データとして不要なデータを通知し、前記過去データ更新手段は、通知された過去データを、応答用過去データから削除する。
【００４６】
本発明に係るプログラムにおいて、前記契機伝達処理は、アクセスログを解析し、アクセスが集中している時刻とアクセス対象データを前記過去データ更新処理に通知し、
前記応答用過去データ保護手段で利用されない過去データの削除を前記過去データ更新処理に通知する。
【００４７】
本発明に係るプログラムにおいて、時刻指定付のリード要求を受けた前記データ合成処理は、前記応答用データ保護手段内に指定された時刻の応答用の過去データが存在するか探索し、指定された時刻のデータが存在する場合、前記データ合成処理は、前記応答用データ保護手段から指定された時刻の応答用データを取り出し、一方、指定された時刻のデータが存在しない場合、前記データ合成手段は、前記応答用データ保護手段から、指定された時刻の近隣データを取り出し、前記継続的データ保護手段から、取り出された近隣データと、指定された時刻の差分情報を得、近隣データと差分情報から指定時刻のデータを合成する、ことを特徴とするプログラムよりなる。
【００４８】
本発明に係るコンピュータは、
応答用の過去データを保持する応答用過去データ保護手段と、
継続的なデータ保護を行う継続的データ保護手段と、
前記応答用過去データ保護手段と前記継続的データ保護手段のデータからデータを合成するデータ合成処理と、
アプリケーションの静止点を検出して管理する静止点管理処理と、
を備えたストレージシステムを構成するコンピュータに、
ストレージに対して要求データの時刻指定付リード要求を受け、前記静止点管理処理は、要求された時刻に最も近い対象データの静止点の情報を得、静止点情報は、ストレージのデータ合成処理に通知し、
前記データ合成処理は、応答用過去データ保護手段内に、得られた静止点の応答用の過去データがあるか否か探索し、
指定された時刻のデータが存在する場合には、前記応答用過去データ保護手段から該当データを取り出し、
一方、指定された時刻のデータが存在しない場合、前記データ合成処理は、前記応答用過去データ保護手段から指定された時刻に近隣のデータを取り出し、前記継続的データ保護手段から、取り出された近隣データと、指定された時刻のデータの差分情報を得、データと差分情報から、指定時刻のデータを合成し応答として返す処理を行うものであり、前記静止点管理処理と前記データ合成処理を実行させるプログラムよりなる。
【発明の効果】
【００４９】
本発明によれば、アクセス要求が予想される時点での過去データを事前に作成しておき、該過去データに関しては差分データによる合成復元処理を要しなくしたため、過去データへのアクセスを高速化することができる。
【００５０】
また、本発明によれば、ストレージシステムは、静止点のデータを応答として返すようにしたことにより、アプリケーション側でのデータの復元処理が不要となり、過去データへのアクセスを高速化することができる。
【発明を実施するための最良の形態】
【００５１】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して以下に説明する。本発明においては、頻繁にアクセスされるか、又は、頻繁にアクセスされそうな時点の過去データ、あるいは、外部から指示された契機に対応する過去データを、予め作成しておき、ストレージに、他の高速応答用の過去データとともに、例えば時系列的に記憶する等、契機に関連付けて記憶しておく。そして、これらの過去データの間の期間におけるデータ更新は、差分情報を、ログとして保持しておく。
【００５２】
すなわち、本発明の基本構成として、定期的にデータをバックアップし、バックアップの間は差分情報（ログ）を時系列的に保持する。図１は、ストレージに保持される情報を時系列に示した模式図である。図１（Ａ）に示すように、ストレージデータを、時点ｔ１、ｔ２、ｔ３、・・・の各時点において、データ１、２、３・・・として、それぞれバックアップする。そして、データのバックアップが行われる時点ｔ１、ｔ２の間、及び時点ｔ２とｔ３の間の各期間に行われたデータの変更を、ログ（差分情報）として保持する。なお、図１（Ａ）では、単に簡単のため、時点ｔ１とｔ２、ｔ２とｔ３の間の期間に、ログが１つ記憶される(データ更新が一回ある)構成が示されているが、それぞれの期間に、複数のログが時系列的に保持される構成としてもよいことは勿論である。また、ログとして、データ変更点（差分情報）のほか、発生したトランザクションを記録したジャーナリングを用いてもよいことは勿論である。
【００５３】
かかる構成により、応答を比較的速くすることができるとともに、記憶容量を比較的小さく保つことができる。
【００５４】
ユーザが欲する契機のデータ間のデータ（例えば時点ｔＡのデータ）については、データ１と対応するログとの合成により、復元したデータＡを応答として返す。以上は、継続的データ保護機能に対応する。
【００５５】
本発明の主たる特徴の１つは、ストレージへの過去のアクセス履歴を保持するアクセスログ等に基づき、例えば、ある時点でのアクセス頻度が高いことが判明した場合、定期的なデータのかわりに、該アクセス頻度の高い契機（時点ｔ１’）に対応するデータ（図１（Ｂ）のデータ１’）を、事前に作成し、該契機に関連付けて記憶保持しておく。すなわち、該作成したデータ１’は、時点ｔ２、ｔ３でそれぞれ定期的なバックアップにより作成されるデータ２、３とともに、時系列的に記憶保持される。より詳しくは、時点ｔ１のデータとログから、時点ｔ１’に対応して作成されたデータ１’には、時点ｔ１と時点ｔ２の間のデータであるという時刻情報と関連付けて記憶保持される。
【００５６】
そして、アクセス頻度が高い時点ｔ１’でのデータ１’と、次の時点ｔ２でのデータ２の間の期間におけるデータの変更は、差分（ログ）を保持する。なお、特に制限されないが、図１（Ｂ）では、時点ｔ１において定期的なバックアップにより作成されたデータ１（図１（Ａ）参照）は、データ１’を作成したあと、削除されている。
【００５７】
時点ｔ１での定期的なバックアップにより作成されるデータ１（図１（Ａ）参照）は、時点ｔ１’のデータ１’の作成時に削除してもよいし、あるいは、アクセス頻度の分析結果等から削除してもよい。あるいは、ストレージ容量に余裕がある場合、図１（Ｂ）の時点ｔ１において定期的なバックアップにより作成されるデータ１を残しておいてもよいことは勿論である。
【００５８】
本発明においては、アクセス頻度が高い時点ｔ１’のデータ１’へのアクセス要求に対して、ストレージは、データ１’を応答として返す。なお、時点ｔ２、ｔ３のデータ２、３へのアクセスである場合には、定期的にバックアップされたデータ２、３をそれぞれ応答として返すことは勿論である。
【００５９】
また、本発明において、データ１’とデータ２の間のデータは、保持データ１’とログに基づき合成し、応答として返す。この場合、データとログのリストア処理が入るため、応答時間はデータ１’単体を返す場合よりも遅くなる。しかしながら、データ１’とデータ２の間のデータ、データ２とデータ３の間のデータは、そのアクセス頻度が、データ１’よりも低いことから、全体のスループットの低下への影響は抑制される。換言すれば、頻繁にアクセスされるデータ１’の応答時間を短縮することで、全体のスループットを向上させている。
【００６０】
本発明は、別の実施の形態として、アプリケーションの静止点におけるデータをユーザからの要求に対する応答として返す制御を行う。以下、実施例に即して説明する。
【実施例】
【００６１】
図２は、本発明の第１の実施例の構成を示す図である。図２を参照すると、本実施例において、ストレージ１０１は、単数、複数のファイルやオブジェクトの過去データを高速に応答できるバックアップ（スナップショット）として保持する記憶部を含む高速応答用過去データ保護手段１１１と、継続的なデータ保護（ＣＤＰ）を行う継続的データ保護手段１１２と、高速応答用過去データ保護手段１１１と継続的データ保護手段１１２とからデータを合成するデータ合成手段１１３と、を備えている。バックアップに要する時間の縮減、及び、ディスク容量の縮減の観点からは、好ましくは、高速応答用過去データ保護手段１１１には、スナップショットが記憶される。
【００６２】
継続的データ保護手段１１２は、ストレージ１０１に対するデータ書き込みをトラックし、データ更新が発生したとき、その変更内容を、別のストレージ（不図示）にジャーナリングしていくもので、ログや差分管理機構を具備する。
【００６３】
データ合成手段１１３は、高速応答用過去データ保護手段１１１に保持されるデータ（高速応答用過去データ）と、継続的データ保護手段１１２のログ等に基づき、要求された契機に対応するデータを合成して作成し、ユーザからのアクセス要求に対する応答とする。このデータ合成手段１１３の処理は、例えば図１（Ｂ）において、データ１’とログから、あるいは、データ２とログから、所定の契機のデータを合成する処理に対応する。
【００６４】
本実施例は、過去データ更新手段１０２と、契機伝達手段１０３とをさらに備え、例えば頻繁にアクセスされるか、頻繁にアクセスされそうな時点でのデータ、あるいは外部から通知されて契機に対応するデータを予め作成しておく。
【００６５】
過去データ更新手段１０２は、データ合成手段１１３での応答処理におけるデータ合成処理を縮減するか零とするために、高速応答用過去データを、継続的データ保護手段１１２のデータ（ログ等）を参照して事前に復元することで、よくアクセスされる時点でのデータに更新する。例えば図１（Ｂ）のデータ１’は、過去データ更新手段１０２によって作成され、高速応答用過去データ保護手段１１１に格納される高速応答用過去データに対応する。なお、よくアクセスされる時点でのデータ１’は、例えばファイルであってもよいし、ボリュームのスナップショットであってもよい。
【００６６】
データアクセス部１０５は、アクセス要求１０８を受付け、該アクセス要求をデータ合成手段１１３に受け渡す。アクセス要求を受けたデータ合成手段１１３は、高速応答用過去データ保護手段１１１と、継続的データ保護手段１１２のデータを用いて指定されたタイミングでのデータを合成し、合成したデータを、データアクセス部１０５に返す。
【００６７】
データアクセス部１０５は、データ合成手段１１３で合成されたデータを受け取り、アクセス結果１０９としてユーザに返す。データアクセス部１０５は、ストレージ１０１と通信接続する入出力装置であってもよいし、サーバ、コントローラであってもよい。
【００６８】
契機伝達手段１０３は、指示情報提供手段１０７からの指示又は情報を受け、あるいは、ストレージ１０１のアクセス履歴を保持するアクセスログ１０６に基づき、実際にアクセス要求が予想される時点（契機）を導出し、導出結果に基づき、過去データ更新手段１０２に対して、過去データ作成の契機を与える。特に制限されないが、指示情報提供手段１０７は、Ｅメール・システム、あるいは業務フロー管理システムから構成され、Ｅメールによる指示の提供、又は、業務フロー管理システムからの情報が契機伝達手段１０３に入力される。指示情報提供手段１０７は、契機伝達手段１０３に指示等を与えることができさえすればよく、ストレージシステムとは別のシステムとして設ける構成としてもよい。
【００６９】
本実施例においては、アクセス要求として、リード要求の場合、欲しいデータを特定する時点（指定時刻）が設定される。アクセスログ１０６には、リード要求の場合、データの指定時刻が保持される。なお、アクセス要求にデータの指定時刻が、コマンドのパラメータとして、設定されていない場合、デフォルトとして最も最新のバックアップデータ（又はログとの合成）を応答として返すようにしてもよい。
【００７０】
なお、図２において、アクセスログ１０６、指示情報提供手段１０７等にオプション（ｏｐｔｉｏｎ）と記したのは、これらが、取捨自在のオプション機能であることを表している。本発明は、アクセスログ１０６、Ｅメールによる指示や業務フロー管理システムの指示情報提供手段１０７の構成に限定されず、他のシステム、情報等を用いてもよいことは勿論である。また、契機伝達手段１０３には、システム管理者等の管理端末（コンソール卓等）からの入力によって、契機を通知してもよいことは勿論である。
【００７１】
以下では、過去データの作成となる契機として、時刻が用いられる例を説明するが、予め規定されたイベントの発生等であってもよい。これらのイベント発生の検出は、例えば、指示情報提供手段１０７を構成する業務フロー管理システムやジョブ・スケジューラ（不図示）等で行い、契機伝達手段１０３に対してイベント通知を行うようにしてもよい。
【００７２】
図２において、指示情報提供手段１０７を、例えばストレージ１０１に関する運用業務の処理フローを管理する業務フロー管理システムで構成した場合、業務分析の結果から、ストレージ１０１へアクセスを行う業務の実行時間等を抽出し、ストレージ１０１へのアクセス集中時間等を分析して契機伝達手段１０３に通知する。
【００７３】
あるいは、契機伝達手段１０３は、データ合成手段１１３からの合成情報に基づき、データ合成手段１１３におけるバックアップデータとログとの合成した履歴（回数）に基づき、頻繁に合成が行われる時点でのデータを用意しておく構成としてもよい。データ合成手段１１３からの合成情報に基づく解析は、蓄積データに依存する実際のデータ合成結果に基づくものである。すなわち、アクセスログ１０６には、アクセス要求の履歴が保持されるが、応答の履歴（データの合成履歴等）をトランザクションの履歴としてジャーナルに保持するようにしてもよい。
【００７４】
ストレージ外部の指示情報提供手段１０７からの通知に応答するか、アクセスログ１０６から検出した契機に応じて、契機伝達手段１０３は、過去データ更新手段１０２に対して、該契機に対応する、過去データの更新を指示する。
【００７５】
過去データ更新手段１０２は、高速応答用過去データ保護手段１１１の高速応答用過去データ（バックアップデータ又はスナップショット）と、継続的データ保護手段１１２のログ情報とに基づき、契機伝達手段１０３によって指示された契機（時点）のデータを、予め復元しておく。
【００７６】
過去データ更新手段１０２によって作成される高速応答用過去データは、実際にアクセスが要求される時点でのデータであることが望ましい。この場合、該アクセス要求に対して、データの復元処理は不要である。
【００７７】
そして、高速応答用過去データが、実際にアクセスが要求される時点のデータとわずかに異なっている場合であっても、そのリストア処理の高速化に貢献する場合もある。すなわち、定期的にバックアップされる２つの時点（図１（Ｂ）の時点ｔ１とｔ２）の間の期間（図１（Ｂ）のｔ１’）のデータを、高速応答用過去データとして予め作成しておくことで、バックアップの間隔を短縮した区間が発生する（図１（Ｂ）の時点ｔ１’とｔ２の間の時間区間）。バックアップ間隔を短縮することで、例えば目的の時点のデータへ、記憶保持されるデータと１つのログを用いてリストアできる場合、その処理時間は、該データと複数の時系列ログを用いてリストア（ロールバック／ロールフォワード）する場合よりも、短時間となる。このため、高速応答用過去データ（例えば図１（Ｂ）のデータ１’）と次の定期的バックアップデータ（図１（Ｂ）のデータ２）との間の時点におけるデータに対して、そのリストア処理が高速化される場合がある。
【００７８】
本実施例によれば、ユーザによって使われる頻度の高い過去データを予め作成して記憶保持しているため、過去データへのアクセスを高速化することができる。特に制限されないが、本実施例によれば、アクセス履歴等の情報から、ユーザが使いそうなタイミングを抽出して該タイミングに対応する過去データを作成することができる。
【００７９】
本実施例によれば、契機伝達手段１０３を、例えば業務フロー管理システムと結合することで、業務フローから保護すべきデータを抽出することができる。
【００８０】
なお、図２のストレージ１０１は、複数のディスクを備えた構成としてもよく、ＲＡＩＤ（Redundant Array of Inexpensive Disks）等の冗長構成であってもよい。あるいは、ネットワークを介してホスト（クライアント）と通信するＮＡＳ（Network Attached Storage）、ＳＡＮ(Storage Area Network)等のネットワークストレージシステムであってもよい。また継続的データ保護手段１１２が変更履歴を記憶する二次ストレージは、ストレージ１０１内に含まれるものとする。
【００８１】
また図２における、過去データ更新手段１０２、契機伝達手段１０３は、コンピュータ又はコントローラ上で実行されるコンピュータ・プログラムでその処理機能を実現してもよく、データ合成手段１１３における処理、及び、高速応答用過去データ保護手段１１１、継続的データ保護手段１１２における処理は、ストレージ１０１を構成するコンピュータ又はコントローラ上で実行されるコンピュータ・プログラムでその処理機能を実現してもよい。ファイル・サーバシステムとして構成する場合、過去データ更新手段１０２、契機伝達手段１０３はサーバコンピュータ上で動作するコンピュータ・プログラムとして実装される。
【００８２】
図３（Ａ）と図３（Ｂ）は、本発明の一実施例の処理手順を示す流れ図である。まず、図３（Ａ）を参照して、本実施例における高速応答用過去データの更新手順を説明する。
【００８３】
契機伝達手段１０３が、過去データ更新手段１０２に対して、高速応答用過去データを保持すべき契機（時刻）を通知する（ステップＳ１０１）。時刻としては、秒まで含んでもよい。なお、契機伝達手段１０３は、前述したように、アクセスログ１０６の解析結果、あるいは、指示情報提供手段１０７からの通知に基づき、契機を検出する。
【００８４】
なお、本実施例では、高速応答用過去データ生成の契機（トリガー）として、時刻を用いているが、契機伝達手段１０３が、過去データ更新手段１０２に対して、高速応答用過去データを保持すべき契機としては、時刻のほか、特定のイベント等であってもよい。あるいは、時刻とイベント（何時以降にクライアントからの特定のアクセス要求発生）との組み合わせであってもよい。
【００８５】
契機伝達手段１０３からの契機（時刻）の通知を受けた過去データ更新手段１０２は、高速応答用過去データから指定時刻の近隣データを取り出す（ステップＳ１０２）。指定時刻に近いデータは、例えば、データの属性情報である、タイムスタンプ情報（更新時刻）を参照して、検索して取得する。
【００８６】
過去データ更新手段１０２は、継続的データ保護手段１１２から、契機伝達手段１０３より通知された契機（時刻）の近隣データと指定時刻のデータとの差分情報（ログ）を得る（ステップＳ１０３）。
【００８７】
過去データ更新手段１０２は、近隣データと、差分情報とに基づき、指定時刻に対応するデータを合成する（ステップＳ１０４）。近隣データの時刻と指定時刻との間に、複数の差分情報が時系列で存在する場合、過去データ更新手段１０２は、近隣データに対して複数の差分情報を用いて、指定時刻に対応するデータを合成する。
【００８８】
過去データ更新手段１０２は、合成したデータを高速応答用過去データ保護手段１１１に保存する（ステップＳ１０５）。
【００８９】
次に、図３（Ｂ）を参照して、本実施例における高速応答用過去データの削除の手順を説明する。
【００９０】
契機伝達手段１０３は、過去データ更新手段１０２に対して、高速応答用過去データとして不要なデータを通知する（ステップＳ１１１）。なお、契機伝達手段１０３は、アクセスログ１０６の解析結果、アクセス頻度が所定の閾値よりも低い不要な高速応答用過去データを検出するか、あるいは、指示情報提供手段１０７からの通知により、不要な高速応答用過去データを認識し過去データ更新手段１０２に通知する。
【００９１】
過去データ更新手段１０２は、通知された過去データを、高速応答用過去データから削除する（ステップＳ１１２）。
【００９２】
次に、図４（Ａ）を参照して、本実施例において、契機伝達手段１０３がアクセスログ１０６から契機を抽出する手順について説明する。
【００９３】
契機伝達手段１０３は、ストレージ１０１のアクセスログ１０６を走査する（ステップＳ２０１）。アクセスログ１０６で保持するアクセスの履歴の長さ（過去のどの時点まで遡って履歴を保持するか）、アクセス頻度の閾値等は、適宜設定される。
【００９４】
アクセスされるデータの時刻に、ピーク等の偏りがある場合（ステップＳ２０２のＹＥＳ分岐）、契機伝達手段１０３は、アクセスが集中する時刻と、アクセス対象のデータを、過去データ更新手段１０２に通知する（ステップＳ２０３）。
【００９５】
図４（Ｂ）を参照して、本実施例における契機伝達手段１０３の別の動作について説明する。
【００９６】
契機伝達手段１０３は、ストレージ１０１のアクセスログ１０６を走査する（ステップＳ２１１）。
【００９７】
利用されない高速応答用過去データがある場合（ステップＳ２１２のＹＥＳ分岐）、契機伝達手段１０３は、過去データ更新手段１０２に、利用されない高速応答用過去データの削除要求を発行する（ステップＳ２１３）。なお、アクセスログ１０６で保持するアクセスの履歴の長さ（過去のどの時点まで遡って履歴を保持するか）、契機伝達手段１０３で利用されていないと判断するアクセス頻度の閾値等は、適宜設定される。
【００９８】
なお、高速応答用過去データの削除は、高速応答用過去データを保存したとき、不要な過去データを削除するようにしてもよい。こうすることで、データ保持容量の増大が抑制される。
【００９９】
次に図５を参照して、本実施例における、アクセス要求（ＲＥＡＤ要求）に対するデータの読み出し動作について説明する。
【０１００】
アクセス要求（ＲＥＡＤ要求）１０８を受けたデータアクセス部１０５から、ストレージ１０１に対してＲＥＡＤ要求（要求するデータの時刻も要求で指定する）が発行される（ステップＳ３０１）。
【０１０１】
データ合成手段１１３は、高速応答用過去データ保護手段１１１内に指定された時刻の高速応答用過去データが存在するか否かを探索する（ステップＳ３０２）。
【０１０２】
探索の結果、高速応答用過去データ保護手段１１１内に、指定された時刻のデータが存在する場合には（ステップＳ３０３のＹＥＳ分岐）、データ合成手段１１３は、高速応答用過去データ保護手段１１１から指定された時刻の高速応答用過去データを取り出す（ステップＳ３０７）。データ合成手段１１３は、高速応答用過去データをデータアクセス部１０５に返し、データアクセス部１０５は、該データを、要求元に対して、アクセス要求（ＲＥＡＤ要求）１０８に対するアクセス結果１０９として返す（ステップＳ３０８）。
【０１０３】
ステップＳ３０３の探索の結果、高速応答用過去データ保護手段１１１内に、指定された時刻のデータ（高速応答用過去データ）が存在しない場合（ステップＳ３０３のＮＯ分岐）、データ合成手段１１３は、高速応答用過去データ保護手段１１１から指定された時刻の近隣データ（高速応答用過去データ）を取り出す（ステップＳ３０４）。
【０１０４】
つづいて、データ合成手段１１３は、継続的データ保護手段１１２を参照して、高速応答用過去データ保護手段１１１から取り出された近隣データ（高速応答用過去データ）と指定された時刻の差分情報（ログ）を得る（ステップＳ３０５）。
【０１０５】
データ合成手段１１３は、近隣データと差分情報から指定時刻のデータを合成する（ステップＳ３０６）。
【０１０６】
次に、本発明において、契機伝達手段１０３における、高速応答用過去データを作成するための契機を検出する一手法について説明する。
【０１０７】
本実施例では、ある時刻（時間）ｔの過去データに対するアクセスが閾値ｘ回以上要求された場合、ｔの過去データを残す、という、閾値によるポリシー設定により、データを高速応答用過去データ保護手段１１１に残す契機を検出するようにしてもよい。
【０１０８】
あるいは、アクセスされた過去データの時刻と、それに対するアクセス頻度の統計データから、残すべきデータ契機を算出しても良い。ここで、アクセスされた過去データの時刻とは、ある時点ｔにおけるデータが要求された場合、その時間ｔを指す。
【０１０９】
図６は、要求された過去データの時刻と、そのアクセス頻度のヒストグラムの一例を示す図である。横軸は、アクセスされた過去データの時刻であり、縦軸はアクセス頻度である。アクセス頻度のグラフ（ヒストグラム）から、ピークの時間を検出して、その時点のデータを残すべき契機とする。図６の例の場合、ｔ１，ｔ２，ｔ３，ｔ４，ｔ５，ｔ６の時点のデータを残すこととなる。あるいは、より厳しいストレージ容量制限がある場合には、ｔ１，ｔ３，ｔ５のみを残すようにしてもよい。なお、図６では、アクセス頻度の解析として、時間領域での解析を示したが、周波数領域（フーリエ変換等）で解析を行いアクセスの周期性等を解析するようにしてもよい。
【０１１０】
次に、本発明の別の実施例を説明する。図７を参照して説明したように、指定した時点に対応して中途半端なタイミングでデータをストレージから受け取った場合、アプリケーション側で利用可能な状態に復旧してから利用する必要がある。
【０１１１】
そこで、本発明の第２の実施例では、図８に示すように、アクセス要求のタイミングが、データ更新等、静止点でない場合には、ストレージシステム側で、アプリケーションの静止点のデータを応答として返すようにしたことにより、アプリケーション側でのデータの復元処理が不要となり、過去データへのアクセスを高速化することができる。
【０１１２】
図９は、本発明の第２の実施例の構成を示す図である。図９を参照すると、本実施例において、ストレージ１０１は、前記第１の実施例と同一の構成とされ、単数、複数のファイルやオブジェクトの過去データを高速に応答できるバックアップ（スナップショット）として保持する記憶部を含む高速応答用過去データ保護手段１１１と、継続的なデータ保護を実現する手段（ログ、差分管理機構）を備えた継続的データ保護手段１１２と、高速応答用過去データ保護手段１１１のデータと継続的データ保護手段１１２のデータを参照し要求された契機のデータを合成するデータ合成手段１１３’を備えている。
【０１１３】
本発明は、アプリケーション１１０の静止点を管理し、アプリケーションの静止点をストレージ１０１に通知する静止点管理手段１０４を備えている。静止点管理手段１０４は、アプリケーション１１０等のＡＰＩからの通知、あるいは、ストレージに対するアクセスログ１０６に基づき、アプリケーション１１０の静止点を検出する。
【０１１４】
ストレージ１０１は、前記第１の実施例と同様、あらゆる過去の時点のデータを、現在保持しているデータから復元するか抽出して応答する機能を具備している。
【０１１５】
本実施例では、ユーザが要求する契機のデータに対して、静止点管理手段１０４から通知された契機のデータを応答として返す。
【０１１６】
静止点管理手段１０４で管理する静止点の選択方法には、
・ユーザの要求する契機に最も近い静止点のデータ（過去現在未来、時間はとわない）、
・ユーザの要求する契機に最も近い過去の静止点のデータ、
がある。
【０１１７】
本発明によれば、静止点管理手段１０４により通知させた契機のデータをストレージが応答するため、高速に過去データを利用することができる。
【０１１８】
図１０は、本発明の第２の実施例におけるＲＥＡＤ動作を説明する流れ図である。
【０１１９】
データアクセス部１０５からストレージ１０１に対してＲＥＡＤ要求を発行する（要求するデータの時刻も指定する）（ステップＳ４０１）。
【０１２０】
静止点管理手段１０４は、要求された時刻に最も近い対象データの静止点（最も近い過去でもよい）の情報を得る（ステップＳ４０２）。静止点管理手段１０４で得られた静止点情報は、ストレージ１０１のデータ合成手段１１３’に通知される。
【０１２１】
データ合成手段１１３’は、高速応答用過去データ保護手段１１１内に、静止点管理手段１０４で得られた静止点の高速応答用過去データがあるか否か探索する（ステップＳ４０３）。
【０１２２】
高速応答用過去データ保護手段１１１内に、指定された時刻のデータが存在する場合（ステップＳ４０４のＹＥＳ分岐）、データ合成手段１１３’は、高速応答用過去データ保護手段１１１から該当データを取り出す。
【０１２３】
高速応答用過去データ保護手段１１１内に、指定された時刻のデータが存在しない場合（ステップＳ４０４のＮＯ分岐）、データ合成手段１１３’は、高速応答用過去データ保護手段１１１から、指定された時刻に近隣のデータを取り出す（ステップＳ４０５）。
【０１２４】
データ合成手段１１３’は、継続的データ保護手段１１２から、取り出された近隣データと、指定された時刻のデータの差分情報を得る（ステップＳ４０６）。
【０１２５】
データ合成手段１１３’は、指定された時刻に近隣のデータと差分情報から、指定時刻のデータを合成する（ステップＳ４０７）。
【０１２６】
データ合成手段１１３’は、ステップＳ４０７又はＳ４０８で得られたデータを、データアクセス部１０５に渡し、データアクセス部１０５は、アクセス要求（ＲＥＡＤ要求）１０８に対するアクセス結果１０９として要求元に返す（ステップＳ４０９）。
【０１２７】
ところで、本発明やＣＤＰ技術を用いて、過去データを作成する場合、そのままの状態では、作成した過去データが現在の名前空間内に混在してしまい、現在のデータと判別が付かなくなる場合が生じ得る。
【０１２８】
例えば、あるディレクトリＡ配下に存在するファイルＢの過去データにアクセスすると、ディレクトリＡの配下に過去のファイルＢが出現する。この過去のファイルＢが、現在のファイルＢと同じファイル名であった場合には、ディレクトリＡ以下でファイルＢの名称の競合が発生し、ユーザは、現在のファイルと過去のファイルのいずれを参照しているか判別できない。
【０１２９】
そこで、本実施例では、この問題を解決するため、過去のデータのファイル名を変更する。上記の例の場合、ファイルＢのファイル名が“ファイルB.doc”であるものとすると、過去のファイルＢのファイル名を、“ファイルB_20050201.doc”のように、規則的、かつ、ユニークな名前となるように、過去のデータのファイル名を変更する。
【０１３０】
この場合、名称と拡張子の間に“_日付”（年月日）を自動的に挿入したファイル名としている。すなわち、“/A/ファイルB.doc”を“/A/ファイルB_20050201.doc”としている。
【０１３１】
また、別の解決手段として、過去のデータを保持するディレクトリを別途用意し、そのディレクトリ以下に、過去データを配置するようにしてもよい。
【０１３２】
例えば、過去のある日時におけるデータを、“/.snapshot/yyyy/mm/dd/”配下に配置するというルールで運用した場合、上記の例におけるファイルＢは、“/.snapshot/2005/02/01/A/ファイルB.doc”としてユーザに提示される。
【０１３３】
また、本発明やＣＤＰ技術を用いることにより、過去データにアクセスが可能になると、ある過去の時点と同一の名前空間としてアクセスできなければ、アプリケーションの動作に不具合が生じる場合がある。例えば、複数のファイルにアクセスするアプリケーションの場合、複数の過去データが過去の時点と同じように、アクセスできなければならない。
【０１３４】
そこで、本実施例では、この問題を解決するために、ストレージ側で過去の時点を再現したディレクトリを作成し、クライアント側は、当該ディレクトリを、マウント（ｍｏｕｎｔ）して利用する。例えば、ある過去の時点である「２００５年２月１日」時点のデータにアクセスしたい場合、ストレージは、その時点のデータを、“/.snapshot/2005/02/01/”以下に、過去の時点のディレクトリ構造をそのまま再現する。
【０１３５】
そして、クライアント側は、この“/.snapshot/2005/02/01/”ディレクトリを適当な名称でマウントして利用する。
【０１３６】
すると、クライアント側は、過去の「２００５年２月１日」時点のディレクトリ構造を過去の時点と同様にアクセスすることが可能になる。
【０１３７】
以上前記第１及び第２の実施例を説明したが、本発明において、前記第１の実施例の契機伝達手段１０３、及び過去データ更新手段１０２と、前記第２の実施例の静止点管理手段１０４とを併せて含むシステム構成としてもよいことは勿論である。
【０１３８】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０１３９】
【図１】本発明の一実施形態の動作原理を説明するための図である。
【図２】本発明の第１の実施例の構成を示す図である。
【図３】（Ａ）、（Ｂ）は本発明の第１の実施例の動作を説明するための流れ図である。
【図４】（Ａ）、（Ｂ）は本発明の第１の実施例の動作を説明するための流れ図である。
【図５】本発明の第１の実施例のＲＥＡＤ動作を説明するための流れ図である。
【図６】本発明の第１の実施例においてアクセスログに基づく契機の検出を説明するための図である。
【図７】静止点以外（データ更新時）での契機のファイル取得動作を説明する図である。
【図８】本発明の別の実施形態において、アクセスに対して静止点での契機のファイル取得動作を説明する図である。
【図９】本発明の第２の実施例の構成を示す図である。
【図１０】本発明の第２の実施例のＲＥＡＤ動作を説明するための流れ図である。
【図１１】（Ａ）、（Ｂ）は、ＣＤＰ手法、スナップショットを説明するための図である。
【符号の説明】
【０１４０】
１０１  ストレージ
１０２  過去データ更新手段
１０３  契機伝達手段
１０４  静止点管理手段
１０５  データアクセス部
１０６  アクセスログ
１０７  指示情報提供手段
１０８  アクセス要求
１０９  アクセス結果
１１１  高速応答用過去データ保護手段
１１２  継続的データ保護手段
１１３、１１３’  データ合成手段
【図１】
0005124989.tif 000002
【図２】
0005124989.tif 000003
【図３】
0005124989.tif 000004
【図４】
0005124989.tif 000005
【図５】
0005124989.tif 000006
【図６】
0005124989.tif 000007
【図７】
0005124989.tif 000008
【図８】
0005124989.tif 000009
【図９】
0005124989.tif 000010
【図１０】
0005124989.tif 000011
【図１１】
0005124989.tif 000012