(57)【要約】【課題】バックアップ動作によるバックアップ以外の動作の遅延を緩和し得る通信装置等の提供。【解決手段】通信装置は、前回の、バックアップ間隔の各々に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する。【選択図】      図２
2019159855.tif 000002
【特許請求の範囲】
【請求項１】
前回の、バックアップ間隔の各々に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する、通信装置。
【請求項２】
前記今回の前記タイミング以降に前記更新がなかった前記位置については、前記静止要素を前記マスタデータから選択する第一選択を行い、前記今回の前記タイミングより後に前記更新があった前記位置については、別途保持する、前記更新が行われる前の前記要素である被更新要素からの前記選択である第二選択を行う、
請求項１に記載された通信装置。
【請求項３】
ある前記バックアップ間隔に係る前記タイミングからその前記バックアップ間隔の終了までの間に前記更新が行われた場合に、その前記更新に係る前記被更新要素を保持する、請求項２に記載された通信装置。
【請求項４】
前記被更新要素を格納する被更新要素格納領域を、前記タイミングの後に生成する、請求項３に記載された通信装置。
【請求項５】
前記終了の際に前記被更新要素格納領域を削除する、請求項４に記載された通信装置。
【請求項６】
前記タイミングから次の前記タイミングまでの間に前記更新が行われた前記位置を表すマップ情報を備え、前記マップ情報により、前記第一選択及び前記第二選択を行う、請求項２乃至請求項５のうちのいずれか一に記載された通信装置。
【請求項７】
請求項１乃至請求項６のうちのいずれか一に記載された通信装置、から送付された前記静止要素を格納する、バックアップ装置。
【請求項８】
請求項１乃至請求項７のうちのいずれか一に記載された通信装置と前記バックアップ装置とを備える、バックアップシステム。
【請求項９】
前回の、バックアップ間隔に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する、バックアップ方法。
【請求項１０】
前回の、バックアップ間隔に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する処理、をコンピュータに実行させるバックアッププログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを格納するストレージシステムに関する。
【背景技術】
【０００２】
近年、社会基盤のＩＣＴ化が進むにつれ、企業又は個人が保有するデータ量が増え続けている。また、電子商取引の普及等により、データの重要性がますます高まってきている。ここで、ＩＣＴは、Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙの略である。
【０００３】
このような状況下で、データ損失という事態が及ぼす影響に関して、広く一般に認識されるようになっている。それとともに、万一障害が発生したとしても、データ損失の発生を防止し、オンライン業務を継続できるようにするためのバックアップ技術に大きな関心が寄せられている。
【０００４】
バックアップとしては、記憶デバイスの物理障害やデータベース等のアプリケーションにおける論理障害への対策を目的としたものが古くから採用されてきた。これに対し、東日本大震災以降、地震等の自然災害への備えとして、リモートサイトへのバックアップの必要性が再認識されている。また、バックアップの手法としては、バックアップ対象とするボリューム（以降、マスタボリュームと略記）を完全にミラーリングする方法が一般に採用されてきた。しかしながら、過去の複数の時点のバックアップを保持したまま、それらを世代として管理するような運用を行う場合、マスタボリュームの数倍の記憶容量が消費される。そのため、近年はマスタボリュームの更新分だけをバックアップデータとして保持する増分バックアップを採用する運用が増えてきている。増分バックアップについては、例えば、特許文献１に開示がある。
【０００５】
図１は、増分バックアップを採用したリモートバックアップを行う一般的なストレージシステムの例であるストレージシステム３０１の構成を表す概念図である。
【０００６】
ストレージシステム３０１は、ストレージ装置１０１及びバックアップ装置２０１を備える。
【０００７】
ストレージ装置１０１は、メインサイトのストレージ装置である。一方、バックアップ装置２０１は、リモートサイトのバックアップ用のストレージ装置である。
【０００８】
ストレージ装置１０１は、処理部１１１と、ストレージ部１１６とを備える。
【０００９】
バックアップ装置２０１は、処理部２１１と、ストレージ部２１６とを備える。
【００１０】
ストレージ部１１６は、処理部１１１から送付された更新要素（更新要素情報）を、処理部１１１の指示に従い格納する。ストレージ部１１６は、また、処理部１１１が指示する要素（要素情報）を、処理部１１１に送る。
【００１１】
ストレージ部１１６は、マスタデータ部１２１と、更新データ部１２６と、更新ビットマップ部１３１とを備える。
【００１２】
マスタデータ部１２１は、マスタ要素からなるマスタデータを保持する。当該マスタデータは、外部から処理部１１１に入力され、処理部１１１がマスタデータ部１２１に格納させたものである。前記マスタデータは、サーバ等の外部との間で行われる入出力処理の対象となるデータである。前記マスタデータは、例えば、論理的に階層化されたデータ群である。
【００１３】
更新データ部１２６は、バックアップ間隔に、外部から処理部１１１に送付された更新要素を格納する。当該更新要素には、前記マスタデータ中の更新すべき部分を表す位置情報と、その部分を更新する内容（データ）とが含まれる。
【００１４】
ストレージ部１１６は、処理部１１１から前記更新要素の送付を受けると、送付された更新要素により前記マスタ要素を更新する。
【００１５】
そして、ストレージ部１１６は、前記マスタ要素の更新を行った更新要素の写しを、更新データ部１２６に格納する。
【００１６】
更新ビットマップ部１３１は、前記マスタデータにおける、前記更新要素により更新されたマスタ要素の位置を１／０ビットで表すマップ情報である。前記更新ビットマップにおいては、更新が行われた場合の前記ビットは例えば「１」である。その場合、更新が行われていない場合の前記ビットは「０」である。以下、更新が行われた場合の前記ビットは「１」であるものとして説明する。
【００１７】
ストレージ部１１６は、処理部１１１から前記更新要素の送付を受けると、前記更新ビットマップにおける、その更新データに含まれる前記位置情報のビットを「１」に更新する。
【００１８】
ストレージ部１１６は、その他、処理部１１１が動作を行うためのプログラムや情報を保持する。
【００１９】
処理部１１１は、マスタデータ部１２１に、前記第二更新が行われる前の前記マスタデータである初期マスタデータが格納されると、その初期マスタデータを読み込み、バックアップ装置２０１に送信する。
【００２０】
処理部１１１は、外部から前記更新要素の送付を受けると、その更新要素をストレージ部１１６に送付する。そして、処理部１１１は、ストレージ部１１６に、その更新要素により、前述の各更新を行わせる。
【００２１】
処理部１１１は、また、所定のタイミングで、前記更新ビットマップで１のビットが格納されている位置の前記更新要素を、ストレージ部１１６より読み込む。そして、処理部１１１は、読み込んだ更新要素を、バックアップ装置２０１に送信する。
【００２２】
なお、処理部１１１と処理部２１１は、図１に表すように通信経路により接続されている。当該通信経路は、例えば、一般に普及しているファイバーチャネルやｉＳＣＳＩによるものである。ここで、ｉＳＣＳＩは、Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【００２３】
処理部１１１は、前記更新要素群のバックアップ装置２０１への送信が完了すると前記更新データ部１２６が保持する更新要素群を削除する。処理部１１１は、また、更新ビットマップの各ビットを０にする。
【００２４】
処理部１１１は、上記動作と並行して、ホストサーバ等の外部からの要求に応じて、ストレージ部１１６が保持するデータを読み出し、前記外部に送付する。
【００２５】
一方、ストレージ部２１６は、初回バックアップ部２２１と、増分バックアップ部２２６と、増分ビットマップ部２３１とを備える。
【００２６】
初回バックアップ部２２１は、ストレージ装置１０１から送付された前記初期マスタデータを格納する部分である。
【００２７】
増分バックアップ部２２６は、ストレージ装置１０１から送付された前記更新要素群からなる増分バックアップを格納する部分である。
【００２８】
増分ビットマップ部２３１は、増分バックアップ部２２６に格納された各更新要素に対応する前記マスタデータの位置を１のビットで表す更新ビットマップを保持する。
【００２９】
処理部２１１は、前記初期マスタデータの初回バックアップ部２２１への格納や、前記更新の各々を、ストレージ部２１６に行わせる。処理部２１１が行う動作のためのプログラムや情報は、ストレージ部２１６が保持している。
【００３０】
なお、特許文献２は、上位装置に接続される第１のボリュームに記憶されるデータを第２のボリュームにコピーするストレージシステムを開示する。
【００３１】
また、特許文献３は、クライアントコンピュータからの要求に基づいて第１のボリュームのスナップショットを作成するスナップショットの作成方法を開示する。
【００３２】
また、特許文献４は、第１のディスクアレイ装置と第２のディスクアレイ装置とを接続して構成されるストレージシステムを開示する。
【先行技術文献】
【特許文献】
【００３３】
【特許文献１】特開２００９−１４６１６９号公報
【特許文献２】特開２０１０−０２６５６３号公報
【特許文献３】特開２００６−０６５６２２号公報
【特許文献４】特開２００５−２９２８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００３４】
図１に表すストレージシステム３０１においては、ストレージ部１１６は、更新データ部１２６に外部から随時送付される可能性がある前記更新要素を格納するために、更新データ部１２６を保持し続ける必要がある。当該保持のためにストレージ部１１６の記録領域が割り当てられ続けるので、ストレージシステムは、バックアップ以外の処理に処理遅延が生じる場合がある。当該バックアップ以外の処理には、例えば、サーバ等の外部との間で行われる通常の入出力処理が含まれる。
【００３５】
本発明は、バックアップ動作により生じるバックアップ以外の動作の遅延を緩和し得る通信装置等の提供を目的とする。
【課題を解決するための手段】
【００３６】
本発明の通信装置は、前回の、バックアップ間隔の各々に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する。
【発明の効果】
【００３７】
本発明の通信装置等は、バックアップ動作により生じるバックアップ以外の動作の遅延を緩和し得る。
【図面の簡単な説明】
【００３８】
【図１】増分バックアップを採用したリモートバックアップを行う一般的なストレージシステムの構成例を表す概念図である。
【図２】本実施形態のストレージシステムの構成例を表す概念図である。
【図３】各ストレージ部が保持するデータを表すイメージ図である。
【図４】各ストレージ部が保持する要素を表すイメージ図（その１）である。
【図５】各ストレージ部が保持する要素を表すイメージ図（その２）である。
【図６】各ストレージ部が保持する要素を表すイメージ図（その３）である。
【図７】各ストレージ部が保持する要素を表すイメージ図（その４）である。
【図８】各ストレージ部が保持する要素を表すイメージ図（その５）である。
【図９】ストレージ装置が行う、外部から入力された更新要素に係る処理の処理フロー例を表す概念図（その１）である。
【図１０】本実施形態のストレージ装置が行う、外部から入力された更新要素に係る処理の処理フロー例を表す概念図（その２）である。
【図１１】本実施形態のストレージ装置が行う、バックアップデータの生成及び送信に係る処理の処理フロー例を表す概念図である。
【図１２】本実施形態のバックアップ装置が行うバックアップ処理の処理フロー例を表す概念図である。
【図１３】実施形態の通信装置の最小限の構成を表すブロック図である。
【発明を実施するための形態】
【００３９】
本実施形態のストレージシステムは、外部から入力される更新要素により随時更新される、ストレージ装置の記憶内容（マスタデータ）を、定期的にバックアップする。前記ストレージ装置は、前期に行うマスタ要素の更新については、前記更新要素により更新されたマスタ要素（被更新要素）を廃棄する。ここで、前期は、前回のバックアップタイミングの後、今回のバックアップタイミングに先立つ所定のタイミング（静止点タイミング）に至る期間である。そして、前記ストレージ装置は、静止点タイミングから今回のバックアップタイミングまでの期間である後期には、前記被更新要素を、前記マスタデータとは別に保持する。そして、前記ストレージ装置は、今回のバックアップに係る差分データに含める要素を、前期に更新された要素位置については前記マスタデータから、後期に更新された要素位置については、前述の別に保持した被更新要素から、後述の方法により選択する。そして、前記ストレージ装置は、前記差分データをバックアップ装置に送付し、保持させる。
【００４０】
このようにして、前記ストレージシステムは、前記バックアップ装置に、前記静止点タイミングにおける前記マスタデータを漏れなく保持させる。
【００４１】
前記マスタデータに異常が生じた場合に、前記バックアップ装置が保持するバックアップデータから復元し、復元後のデータが有効に利用できるようにするためには、前記バックアップデータが、どの時点の前記マスタデータであるかを知る必要がある。その理由は、そのバックアップデータがどの時点の前記マスタデータであるかが分からないと、復元後のデータに含めるべき更新要素を特定し、当該データに追加することにより当該データを利用することが困難になるためである。
【００４２】
その点、前記ストレージシステムは、バックアップ装置が保持するデータが、直近の静止点タイミングにおけるものであることが分かっているので、復元後のデータの利用が容易である。
【００４３】
また、前記ストレージ装置は、前期において更新されたデータを廃棄し、前記マスタデータと別に保持しないため、そのための記憶容量が必要ない。また、前記ストレージ装置は、背景技術の項で説明したストレージ装置が行っていた更新データの前記マスタデータとは別の保持も行わない。
【００４４】
さらに、前記ストレージ装置が後期に保持する被更新データは、後期に更新が生じた一部のデータ位置に限られる。
【００４５】
そのため、前記ストレージシステムは、比較的短時間、データ量が比較的小さい記憶領域を確保するだけで、復元後のデータの利用が容易なバックアップデータを保持することを可能にする。
［構成と動作］
図２は、本実施形態のストレージシステムの例であるストレージシステム３０１ａの構成を表す概念図である。
【００４６】
ストレージシステム３０１ａは、ストレージ装置１０１ａと、バックアップ装置２０１ａとを備える。
【００４７】
ストレージ装置１０１ａは、メインサイトのストレージ装置である。バックアップ装置２０１ａは、リモートサイトのバックアップ用のストレージ装置である。
【００４８】
ストレージ装置１０１ａは、処理部１１１と、ストレージ部１１６ａとを備える。
【００４９】
ストレージ部１１６ａは、処理部１１１から送付された情報を、処理部１１１の指示に従い格納する。ストレージ部１１６ａは、また、処理部１１１が指示する情報を、処理部１１１に送る。
【００５０】
ストレージ部１１６ａは、制御プログラム部１４１と、マスタデータ部１２１と、被更新データ部１２６ａと、更新ビットマップ部１３１ａとを備える。ただし、ストレージ部１１６ａは、マスタデータ部１２１と、被更新データ部１２６ａと、更新ビットマップ部１３１ａを常に備えなくても構わない。その場合は、ストレージ部１１６ａは、マスタデータ部１２１、被更新データ部１２６ａ及び更新ビットマップ部１３１ａの各々を、処理部１１１の指示により生成する。
【００５１】
制御プログラム部１４１は、処理部１１１が、以下に説明する処理を行うための制御プログラムを保持する。当該制御プログラムは、処理部１１１が、以下に説明する処理を行う前に、制御プログラム部１４１に、予め、格納されている。
【００５２】
ストレージ部１１６ａは、処理部１１１から指示があった場合には、マスタデータ部１２１を生成する。当該生成は、マスタデータを格納する領域の、ストレージ部１１６ａにおける確保である。前記マスタデータは、複数のマスタ要素から構成される。各マスタ要素は、そのマスタ要素の前記マスタデータにおける位置を表す位置情報を含む。マスタデータ部１２１は、ストレージ部１１６ａにより生成された直後は、各マスタ要素における位置情報に対応するデータ内容が空の前記マスタデータを保持する。
【００５３】
ストレージ部１１６ａは、処理部１１１から更新要素が送付され、前記更新要素に含まれる位置と同じ位置のマスタ要素が前記マスタデータにない場合には、その位置に前記更新要素を新たに格納する。
【００５４】
ストレージ部１１６ａは、処理部１１１から更新要素が送付され、前記更新要素に含まれる位置と同じ位置のマスタ要素が前記マスタデータにある場合には、その位置のマスタ要素を、前記更新要素により更新する（置き換える）。
【００５５】
ストレージ部１１６ａは、処理部１１１から指示があった場合には、被更新データ部１２６ａを生成する。当該生成は、被更新データ部１２６ａが保持する予定の被更新データを格納し得る領域の、ストレージ部１１６ａにおける確保である。
【００５６】
前記被更新データは、複数の被更新要素から構成される。各被更新要素は、マスタデータのマスタ要素が更新要素により更新された場合の、その更新されたマスタ要素である。各被更新要素は、その被更新要素の前記マスタデータにおける位置を表す位置情報を含む。
【００５７】
被更新データ部１２６ａは、ストレージ部１１６ａにより生成された直後は、各被更新要素における位置情報に対応するデータ内容が空の前記被更新データを保持する。
【００５８】
ストレージ部１１６ａは、処理部１１１から指示により、被更新データ部１２６ａに被更新要素を格納する。
【００５９】
ストレージ部１１６ａは、処理部１１１の指示があった場合には、被更新データ部１２６ａを削除する。その場合は、被更新データ部１２６ａに格納された被更新データは削除される。
【００６０】
ストレージ部１１６ａは、処理部１１１から指示があった場合には、更新ビットマップ部１３１ａを生成する。当該生成は、更新ビットマップ部１３１ａが保持する格納する領域の、ストレージ部１１６ａにおける確保である。
【００６１】
前記更新ビットマップは、対象とする間隔（後述の静止点タイミングの間隔）において、前記マスタデータを構成する各マスタ要素が更新されたか否かを表すマップ情報である。
【００６２】
前記更新ビットマップにおいては、更新された前記マスタ要素に含まれる位置情報が表す位置のビットは、例えば、１である。その場合、更新が行われていない位置のビットは０である。以下、更新が行われた前記マスタ要素に含まれる位置情報が表す位置のビットが１である場合について説明する。
【００６３】
ストレージ部１１６ａは、処理部１１１からの指示があった場合には、更新ビットマップ部１３１ａに更新ビットマップを生成する。生成直後のビットマップにおいては、各位置のビットは０である。
【００６４】
ストレージ部１１６ａは、原則として、新旧二つの更新ビットマップを同時に保持する。
【００６５】
ストレージ部１１６ａは、処理部１１１から指示があった場合には、直近の更新ビットマップにおける指示された位置のビットを１に更新する。ただし、ストレージ部１１６ａは、当該ビットが既に１の場合は、そのビットを維持する。
【００６６】
ストレージ部１１６ａは、また、処理部１１１からの指示があった場合には、指定された更新ビットマップを削除する。
【００６７】
なお、ストレージ部１１６ａは、図示しない半導体メモリと記録部とから構成される。前記記録部は、例えば、ハードディスク装置である。前記半導体メモリには、例えば、キャッシュデータや、処理部１１１を高速で動作させるプログラムが格納される。また、前記記録部には、前記マスタデータや前記更新データ部などのデータ量の大きいデータが格納される。更新ビットマップ部を、前記半導体メモリに格納するか前記記録部に格納するかについては任意である。
【００６８】
処理部１１１は、初期のマスタデータを格納する際には、まず、ストレージ部１１６ａに、マスタデータ部１２１を生成させる。そして、処理部１１１は、サーバ等の外部から入力された初期マスタデータに係る更新要素のマスタデータ部１２１への格納を、ストレージ部１１６ａに行わせる。
【００６９】
そして、マスタデータ部１２１に初期のマスタデータを格納した後に、外部より処理部１１１へ更新要素が送付されたとする。
【００７０】
その場合、処理部１１１は、当該更新要素に含まれる位置情報が表すマスタデータの位置のマスタ要素の、その更新要素により更新を、ストレージ部１１６ａに行わせる。
【００７１】
処理部１１１は、その更新要素により更新されたマスタ要素である被更新要素の処理を、次に説明する静止点タイミング以前か、当該静止点タイミングより後かにより変える。
【００７２】
前記静止点タイミングは、処理部１１１が、バックアップ装置２０１ａへ送信するバックアップデータを選択する際に選択に係る母集合とする静止点イメージを確定するタイミングである。前記静止点イメージは、静止点タイミングにおける前記マスタデータである。
【００７３】
前記静止点タイミングは、バックアップ間隔において一回設定される。ここで、前記バックアップ間隔は、あるバックアップデータのバックアップ装置２０１ａへの送信の開始から、次のバックアップデータのバックアップ装置２０１ａへの送信の開始までの間隔である。前記静止点タイミングは、前記バックアップ間隔の起点等に同期していても構わない。
【００７４】
前記バックアップ間隔の起点より後であり前記静止点タイミング以前の期間である第一期間においては、処理部１１１は、前記被更新要素を廃棄する。
【００７５】
一方、前記静止点タイミングより後でそのバックアップ期間の終点以前の期間である第二期間においては、処理部１１１は、前記被更新要素の、生成された被更新データ部１２６ａへの格納を、ストレージ部１１６ａに行わせる。その際に被更新データ部１２６ａがない場合には、処理部１１１は、ストレージ部１１６ａに、被更新データ部１２６ａを生成させる。
【００７６】
処理部１１１は、その被更新要素に含まれる位置情報と同じ位置情報の被更新要素である旧被更新要素が被更新データ部１２６ａに既に格納されている場合には、旧更新要素の新更新要素による置き換えを、ストレージ部１１６ａに行わせない。被更新データ部１２６ａが保持する要素を、静止点タイミングにおいてマスタデータに含まれていたものに限定するためである。
【００７７】
処理部１１１は、前記第二期間が終了すると、ストレージ部１１６ａに、被更新データ部１２６ａを削除させる。
【００７８】
処理部１１１は、前記更新要素により前記マスタ要素の更新を行った場合には、直近の前記更新ビットマップの該当箇所へ１のビットの格納を、ストレージ部１１６ａに行わせる。その際に、直近の前記更新ビットマップがない場合には、前記更新ビットマップを、ストレージ部１１６ａに生成させる。その際に、更新ビットマップ部１３１ａがない場合には、更新ビットマップ部１３１ａを、ストレージ部１１６ａに生成させる。そして、処理部１１１は、生成した更新用ビットマップの該当位置のビットの１への更新をストレージ部１１６ａに行わせる。
【００７９】
処理部１１１は、前記第二期間が終了し、ストレージ部１１６ａに一つ前の更新ビットマップがある場合には、その更新ビットマップを削除させる。一つ前の更新ビットマップは、二つ前の静止点タイミングから一つ前の直近の静止点タイミングまでの間に行われた更新の有無を表すものである。その際に、処理部１１１は、直近の更新ビットマップを、ストレージ部１１６ａに削除させない。直近の更新ビットマップは、直近の静止点タイミングより後に更新されたマスタデータの位置を表すものである。
【００８０】
処理部１１１は、初期のマスタデータのマスタデータ部１２１への格納をストレージ部１１６ａに行わせた場合には、そのマスタデータの各マスタ要素を、初回バックアップデータとして、バックアップ装置２０１ａに送信する。当該送信は、バックアップ装置２０１ａに、初回バックアップデータを格納させるためのものである。
【００８１】
処理部１１１は、バックアップ装置２０１ａに送信する予定のバックアップデータに含める要素を選択する際には、更新ビットマップ部１３１ａが保持する前述の新旧二つの更新ビットマップを参照する。
【００８２】
そして、処理部１１１は、第一更新ビットマップにおいて０が格納されている位置については、バックアップ装置２０１ａへ送信する予定のバックアップデータに含めない。
【００８３】
処理部１１１は、第一更新ビットマップにおいて１が第二更新ビットマップにおいて０が各々格納されている位置については、前記バックアップデータに、マスタデータ部１２１が保持するマスタデータのマスタ要素を組み込む。
【００８４】
処理部１１１は、第一更新ビットマップにおいて１が第二更新ビットマップにおいて１が各々格納されている位置については、被更新データ部１２６ａが保持する被更新要素を前記バックアップデータに含める。
【００８５】
一方、バックアップ装置２０１ａは、処理部２１１と、ストレージ部２１６ａとを備える。
【００８６】
ストレージ部２１６ａは、制御プログラム部２４１と、初回バックアップ部２２１と、増分バックアップ部２２６と、増分ビットマップ部２３１ａとを備える。ただし、これらは、ストレージ部２１６ａは、初回バックアップ部２２１、増分バックアップ部２２６及び増分ビットマップ部２３１ａの各々を常に備えなくても構わない。その場合、ストレージ部２１６ａは、処理部２１１の指示により、これらを生成する。
【００８７】
制御プログラム部２４１は、処理部２１１が、以下に説明する処理を行うための制御プログラムを保持する。当該制御プログラムは、処理部２１１が、以下に説明する処理を行う前に、制御プログラム部２４１に、予め、格納されている。
【００８８】
初回バックアップ部２２１は、ストレージ装置１０１ａから送付された初期バックアップデータを格納する部分である。ストレージ部２１６ａは、処理部２１１から前記初期バックデータの送付があった場合は、当該初期マスタデータを、初回バックアップ部２２１に格納する。
【００８９】
増分バックアップ部２２６は、ストレージ装置１０１ａから送付された、ストレージ装置１０１ａにおいて前述の初期マスタデータから更新された要素を格納する部分である。ストレージ部２１６ａは、処理部２１１から前記要素の送付があった場合は、その要素を、増分バックアップ部２２６に格納する。ただし、ストレージ部２１６ａは、その要素に含まれる位置情報と同じ位置情報を含む旧要素が増分バックアップ部２２６に既に格納されている場合には、その旧要素を新要素により置き換える。
【００９０】
増分ビットマップ部２３１ａは、増分ビットマップを保持する。増分ビットマップは、増分バックアップ部２２６に格納された各要素が含むマスタデータにおける位置を表すマップ情報である。ストレージ部２１６ａは、前記要素を増分バックアップ部２２６に格納する際に、その要素に含まれる位置情報が表す増分ビットマップにおける位置のビットを１に更新する。ただし、ストレージ部２１６ａは、その位置のビットが既に１である場合には、そのビットを維持する。
【００９１】
なお、ストレージ部２１６ａは、図示しない半導体メモリと記録部とから構成される。前記記録部は、例えば、ハードディスク装置である。前記半導体メモリには、例えば、キャッシュデータや、処理部２１１を高速で動作させるためのプログラムが格納される。また、前記記録部には、前記初期マスタデータや、前記増分バックアップが格納される。増分ビットマップを、前記半導体メモリと前記記録部のいずれに格納するかについては任意である。
【００９２】
バックアップ装置２０１ａは、初期バックアップデータにおける、増分ビットマップにおいて１が格納されている位置の要素を、増分バックアップ部２２６に格納された要素で置き換える。それにより、バックアップ装置２０１ａは、直近の静止点タイミングでストレージ部１１６ａに格納されていたマスタデータである静止点イメージを復元し得る。
【００９３】
次に、図２に表すストレージシステム３０１ａが行うバックアップ動作の具体例を説明する。
【００９４】
図３は、ストレージ部１１６ａ及び２１６ａの各々が保持するデータを表すイメージ図である。
【００９５】
ストレージ部１１６ａは、マスタデータ１５１と、被更新データ１５６と、更新ビットマップ１６１とを保持する。マスタデータ１５１は、図２に表すマスタデータ部１２１が格納する前記マスタデータである。被更新データ１５６は、被更新データ部１２６ａが格納する前記被更新データである。更新ビットマップ１６１は、更新ビットマップ部１３１が格納する前記更新ビットマップである。
【００９６】
ただし、ストレージ部１１６ａは、マスタデータ１５１、被更新データ１５６及び更新ビットマップ１６１ａの各々を常に保持するわけではない。これらは、処理部１１１からの指示により、ストレージ部１１６ａが生成する。
【００９７】
ストレージ部２１６ａは、初期マスタデータ２５１と増分バックアップ２５６と増分ビットマップ２６１とを保持する。初期マスタデータ２５１は、初回バックアップ部２２１が保持する前記初回バックアップである。増分バックアップ２５６は、増分バックアップ部２２６が保持する前記増分バックアップである。増分ビットマップ２６１は、増分ビットマップ部２３１ａが保持する前記増分ビットマップである。
【００９８】
ただし、ストレージ部２１６ａは、初期マスタデータ２５１、増分バックアップ２５６及び増分ビットマップ２６１の各々を常に保持するわけではない。これらは、処理部２１１からの指示により、ストレージ部２１６ａが生成する。
【００９９】
図４は、ストレージ部１１６ａ及び２１６ａが格納する各要素を表すイメージ図である。図４は、図３に表すマスタデータ１５１が初期のマスタデータである状態を表す。
【０１００】
なお、図４乃至図８においては、説明を簡単にするために、初期のマスタデータ１５１が、マスタ要素である要素Ａ０、Ｂ０、Ｃ０及びＤ０からなるものとする。
【０１０１】
図４に表す状態では、初期マスタデータ２５１にはダミーの要素である無効要素が含まれている。
【０１０２】
その後、図２に表す処理部１１１は、マスタデータ１５１のマスタ要素である要素Ａ０乃至Ｄ０をストレージ部２１６ａに送信する。
【０１０３】
すると、ストレージ部２１６ａの処理部は、処理部１１１から送付された要素Ａ０乃至Ｄ０を、初期マスタデータ２５１の各要素とする。
【０１０４】
そして、処理部１１１は、外部から、更新要素である要素Ａ１の送付を受けたとする。
すると、処理部１１１は、ストレージ部１１６ａに、要素Ａ１により、マスタデータ１５１のマスタ要素である要素Ａ０を更新させる。
【０１０５】
処理部１１１は、また、ストレージ部１１６ａに、マスタデータ１５１の一番目のマスタ要素である要素Ａ０を要素Ａ１により更新させる。
【０１０６】
そして、処理部１１１は、ストレージ部１１６ａに、初期マスタデータを静止点イメージとする静止点イメージに係る更新ビットマップである更新ビットマップ１６１を生成させる。そして、処理部１１１は、ストレージ部１１６ａに、更新ビットマップ１６１の一番目のビットを１にさせる。
【０１０７】
その後、処理部１１１は、更新要素である要素Ｂ１の送付を受けたとする。
【０１０８】
すると、処理部１１１は、ストレージ部１１６ａに、マスタデータ１５１の一番目のマスタ要素である要素Ｂ０を要素Ｂ１により更新させる。
【０１０９】
そして、処理部１１１は、ストレージ部１１６ａに、更新ビットマップ１６１の二番目のビットを１にさせる。
【０１１０】
この段階の、各要素の状態を図５に表す。
【０１１１】
そして、処理部１１１は、一回目の静止点タイミングを迎え、一回目の静止点イメージを確定する。
【０１１２】
その際に、処理部１１１は、被更新データ１５６の生成を、ストレージ部１１６ａに行わせる。この段階での被更新データ１５６の各被更新要素は空である。
【０１１３】
その際に、処理部１１１は、二つ目の更新ビットマップである更新ビットマップ１６６の生成を、ストレージ部１１６ａに行わせる。この段階での更新ビットマップ１６６の各ビットは０である。
【０１１４】
図６は、この段階での各要素の状態を表す。
【０１１５】
その後、処理部１１１は、更新要素である要素Ａ２及びＣ１の送付を受けたとする。
【０１１６】
すると、処理部１１１は、マスタデータ１５１のマスタ要素である要素Ａ１の更新である要素Ａ２による更新をストレージ部１１６ａに行わせる。
【０１１７】
そして、処理部１１１は、更新されたマスタ要素である要素Ａ１を被更新要素として、被更新データ１５６に含ませる。
【０１１８】
そして、処理部１１１は、更新ビットマップ１６６の一番目のビットを１にする。
【０１１９】
処理部１１１は、また、マスタデータ１５１の要素Ｃ０を更新要素である要素Ｃ１により更新する。
【０１２０】
そして、処理部１１１は、更新されたマスタ要素である要素Ｃ０を被更新要素として、被更新データ１５６に含ませる。
【０１２１】
そして、処理部１１１は、更新ビットマップ１６６の三番目のビットを１にする。
【０１２２】
図７は、この段階での各要素の状態を表す。
【０１２３】
その後、図１に表す処理部１１１は、その後、初回に続き二回目のバックアップ開始のタイミングを迎える。
【０１２４】
処理部１１１は、当該バックアップを行う際に、バックアップ装置２０１ａに送付するバックアップデータの作成を行う。
【０１２５】
その際に、処理部１１１は、一回前の静止点イメージに係る更新ビットマップである更新ビットマップ１６１を参照する。
【０１２６】
そして、処理部１１１は、更新ビットマップ１６１において、１のビットが格納されている位置の要素である一番目及び二番目の要素のみを、次に送信する予定のバックアップデータに組み込む。
【０１２７】
その際に、処理部１１１は、直近の静止点イメージに係る更新ビットマップである更新ビットマップ１６６において１が格納されている一番目の要素については、被更新データ１５６の被更新要素である要素Ａ１を前記バックアップデータに組み込む。
【０１２８】
一方、処理部１１１は、更新ビットマップ１６６において０が格納されている二番目の要素については、マスタデータ１５１のマスタ要素である要素Ｂ１を前記バックアップデータに組み込む。
【０１２９】
そして、作成したバックアップデータを、バックアップ装置２０１ａへ送信する。
【０１３０】
その後、処理部１１１は、被更新データ１５６の削除を、ストレージ部１１６ａに行わせる。
【０１３１】
また、処理部１１１は、更新ビットマップ１６１の削除を、ストレージ部１１６ａに行わせる。
【０１３２】
バックアップ装置２０１ａの処理部２１１は、ストレージ部２１６ａに、処理部１１１から送付を受けたバックアップデータに含まれる要素Ａ１及びＢ１を組み込んだ増分バックアップ２５６を生成させる。
【０１３３】
そして、処理部２１１は、一番目及び二番目のビットを１にした増分ビットマップ２６１を生成させる。
【０１３４】
その後、処理部１１１は、更新要素である要素Ｄ１の送付を受けたとする。
【０１３５】
処理部１１１は、当該送付を受け、ストレージ部１１６ａに、マスタデータ１５１のマスタ要素である要素Ｄ０を要素Ｄ１により更新を行わせる。
【０１３６】
そして、処理部１１１は、ストレージ部１１６ａに、更新ビットマップ１６６の四番目のビットを１に更新させる。
【０１３７】
図８は、この段階での各要素の状態を表す。
【０１３８】
三回目以降のバックアップ動作も同様にして行われる（処理フロー例の項参照）。
［処理フロー例］
図９及び図１０は、図２に表すストレージ装置１０１ａの処理部１１１が行う、外部から入力された更新要素に係る処理の処理フロー例を表す概念図である。当該外部は、例えば、ストレージ装置１０１ａとの間で入出力処理を行うサーバである。また、当該処理は、図２に表す制御プログラム部１４１が保持する制御プログラムによるものである。
【０１３９】
処理フロー例の説明に際しては、その適用例として、図３乃至図８に表す具体例を適宜参照する。
【０１４０】
処理部１１１は、例えば、前記外部からの開始情報の入力により、図９に表す処理を開始する。
【０１４１】
そして、処理部１１１は、Ｓ１０１の処理として、図２に表すマスタデータ部１２１に格納するマスタデータのマスタ要素数Ｐの入力が、外部よりされたかについての判定を行う。ここで、当該外部は、ストレージ装置１０１ａに最初にマスタデータを格納する場合には、ストレージ装置１０１ａに対しマスタ要素数Ｐを送付することを前提としている。上記具体例においては、マスタ要素数Ｐは、図４のマスタデータ１５１に示されるように要素Ａ０乃至Ｄ０の４つである。
【０１４２】
次に、処理部１１１は、Ｓ１０２の処理として、図２に表すストレージ部１１６ａに、マスタデータ部１２１を生成させる。当該生成は、例えば、マスタ要素数Ｐのマスタ要素をすべて格納し得るストレージ部１１６ａの領域の確保である。
【０１４３】
そして、処理部１１１は、Ｓ１０３の処理として、前記外部から更新要素を受けたかについての判定を行う。
【０１４４】
処理部１１１は、Ｓ１０３の処理による判定結果がｙｅｓの場合は、Ｓ１０４の処理を行う。
【０１４５】
一方、処理部１１１は、Ｓ１０３の処理による判定結果がｎｏの場合は、Ｓ１０３の処理を再度行う。
【０１４６】
処理部１１１は、Ｓ１０４の処理を行う場合は、同処理として、Ｓ１０３の処理により送付を受けたことを判定した更新要素を、Ｓ１０２の処理により生成したマスタデータ部１２１に格納する。前述のように、更新要素の格納位置は更新要素に含まれている。
【０１４７】
そして、処理部１１１は、マスタデータ部１２１に格納した更新要素数がマスタ要素数Ｐに等しいかについての判定を行う。マスタデータ部１２１に格納した更新要素数がマスタ要素数Ｐに等しいことは、マスタデータ部１２１に、初期状態におけるすべてのマスタ要素が格納されていることを意味する。上記具体例においては、初期状態におけるすべてのマスタ要素が格納されているマスタデータは、図４に表すマスタデータ１５１である。
【０１４８】
処理部１１１は、Ｓ１０５の処理による判定結果がｙｅｓの場合は、Ｓ１０６の処理を行う。
【０１４９】
一方、処理部１１１は、Ｓ１０５の処理による判定結果がｎｏの場合は、Ｓ１０３の処理を再度行う。
【０１５０】
処理部１１１は、Ｓ１０６の処理を行う場合は、同処理として、サーバ等の外部より更新要素の送付を受けたかについての判定を行う。
【０１５１】
処理部１１１は、Ｓ１０６の処理による判定結果がｙｅｓの場合は、Ｓ１０８の処理を行う。
【０１５２】
一方、処理部１１１は、Ｓ１０６の処理による判定結果がｎｏの場合は、Ｓ１０６の処理を再度行う。
【０１５３】
処理部１１１は、Ｓ１０８の処理を行う場合は、同処理として、前記静止点タイミングを経過したかについての判定を行う。前記静止点タイミングは、前述のように、前述のバックアップ間隔の各々に一回定められるものである。処理部１１１は、当該判定を、例えば、所定の時刻を経過したかを判定することにより行う。ここで、処理部１１１は時計を利用できる環境にあることを前提とする。
【０１５４】
処理部１１１は、Ｓ１０８の処理による判定結果がｙｅｓの場合は、図１０に表すＳ１０９の処理を行う。
【０１５５】
一方、処理部１１１は、Ｓ１０８の処理による判定結果がｎｏの場合は、Ｓ１０８−２の処理を行う。
【０１５６】
処理部１１１は、Ｓ１０８−２の処理を行う場合は、同処理として、Ｓ１０６の処理により送付を受けたことを判定した更新要素により、マスタデータの該当するマスタ要素を上書きする。その際、上書きされたマスタ要素は廃棄される。上記具体例においては、図５に表すマスタデータ１５１において、同処理により、マスタ要素である要素Ａ０及びＢ０が更新要素である要素Ａ１及びＢ１により上書きされている。その際に、同処理により、上書きされたマスタ要素である要素Ａ０及びＢ０は、廃棄されている。
【０１５７】
そして、処理部１１１は、Ｓ１０８−３の処理として、ストレージ部１１６ａが、更新ビットマップ部１３１ａを保持しているかについての判定を行う。
【０１５８】
処理部１１１は、Ｓ１０８−３の処理による判定結果がｙｅｓの場合は、Ｓ１０８−５の処理を行う。
【０１５９】
一方、処理部１１１は、Ｓ１０８−３の処理による判定結果がｎｏの場合は、Ｓ１０８−４の処理を行う。
【０１６０】
処理部１１１は、Ｓ１０８−４の処理を行う場合は、同処理として、ストレージ部１１６ａに、更新ビットマップ部１３１ａを生成させる。
【０１６１】
そして、処理部１１１は、Ｓ１０８−５の処理として、ストレージ部１１６ａに、前回のバックアップデータの送信完了以降におけるマスタ要素の更新箇所を表すための最新の更新ビットマップをストレージ部１１６ａが格納しているかについての判定を行う。当該最新の更新ビットマップは、直近の静止点タイミングから次の静止点タイミングまでの間にマスタデータの更新があった場合に、当該更新に係る更新箇所を記録するものである。
【０１６２】
処理部１１１は、Ｓ１０８−５の処理による判定結果がｎｏの場合は、Ｓ１０８−６の処理を行う。
【０１６３】
一方、処理部１１１は、Ｓ１０８−３の処理による判定結果がｙｅｓの場合は、Ｓ１０８−７の処理を行う。
【０１６４】
処理部１１１は、Ｓ１０８−６の処理を行う場合は、同処理として、最新の更新ビットマップの生成をストレージ部１１６ａに行わせる。上記具体例においては、図５に表すストレージ部１１６ａは、同処理により、生成した最新の更新ビットマップである更新ビットマップ１６１を保持している。また、図６に表すストレージ部１１６ａは、同処理により生成した最新の更新ビットマップである更新ビットマップ１６６を保持している。
【０１６５】
そして、処理部１１１は、Ｓ１０８−７の処理として、ストレージ部１１６ａに、直近の更新ビットマップの、Ｓ１０８−２の処理により上書きした位置に１のビットを格納させる。ただし、処理部１１１は、同位置に１のビットが既に格納されている場合は、ストレージ部１１６ａに、そのビットを維持させる。上記具体例においては、図５に表す更新ビットマップ１６１には、同処理により、１番目及び２番目のビットが１になっている。
【０１６６】
そして、処理部１１１は、Ｓ１１５の処理として、直近のバックアップ間隔が終了したかについての判定を行う。ここで、バックアップ間隔は、あるバックアップデータの処理部１１１からバックアップ装置２０１ａへの送信の開始から、次のバックアップデータの処理部１１１からバックアップ装置２０１ａへの送信の開始までの期間である。ここで、前記送信準備は、送信する要素の特定と、特定した要素の送信用バッファへの格納である。また、各バックアップ間隔には、一つの静止点タイミングが存在する。バックアップ間隔は、前記静止点タイミングの間隔と連動していても構わない。バックアップ処理の処理フロー例は図１１を参照して後述する。
【０１６７】
処理部１１１は、Ｓ１１５の処理による判定結果がｙｅｓの場合は、Ｓ１１６の処理を行う。
【０１６８】
一方、処理部１１１は、Ｓ１１５の処理による判定結果がｎｏの場合は、Ｓ１１９の処理を行う。
【０１６９】
処理部１１１は、Ｓ１１６の処理を行う場合は、同処理として、被更新データ部１２６ａの削除を、ストレージ部１１６ａに行わせる。これに伴い、被更新データ部１２６ａが保持する被更新データも削除される。
【０１７０】
そして、処理部１１１は、Ｓ１１７の処理として、一回前に生成された更新ビットマップの削除を、ストレージ部１１６ａに行わせる。上記具体例においては、図８に表すストレージ部１１６ａは、図７に表すストレージ部１１６ａが保持している更新ビットマップ１６１を削除している。
【０１７１】
その際に、処理部１１１は、直近に生成された更新ビットマップ部の削除は行われない。ただし、処理部１１１は、一回前に生成された更新ビットマップがない場合には、更新ビットマップ部を削除しない。上記具体例においては、図８に表すストレージ部１１６ａは、図７に表すストレージ部１１６ａが保持している更新ビットマップ１６６を削除せずに保持している。
【０１７２】
そして、処理部１１１は、Ｓ１１９の処理として、図９に表す処理を終了するかについての判定を行う。処理部１１１は、当該判定を、例えば、外部からの終了情報の入力の有無を判定することにより行う。
【０１７３】
処理部１１１は、Ｓ１１９の処理による判定結果がｙｅｓの場合は、図９及び図１０に表す処理を終了する。
【０１７４】
一方、処理部１１１は、Ｓ１１９の処理による判定結果がｎｏの場合は、Ｓ１０６の処理を再度行う。
【０１７５】
処理部１１１は、図１０に表すＳ１０９の処理を行う場合は、同処理として、
処理部１１１は、Ｓ１０９の処理を行う場合は、同処理として、ストレージ部１１６ａに被更新データ部１２６ａが生成されているかについての判定を行う。
【０１７６】
処理部１１１は、Ｓ１０９の処理による判定結果がｙｅｓの場合は、Ｓ１１１の処理を行う。
【０１７７】
一方、処理部１１１は、Ｓ１０９の処理による判定結果がｎｏの場合は、Ｓ１１０の処理を行う。
【０１７８】
処理部１１１は、Ｓ１１０の処理を行う場合は、同処理として、ストレージ部１１６ａに被更新データ部１２６ａを生成させる。当該生成は、例えば、ストレージ部１１６ａにおける、被更新データを格納し得るデータ領域の確保である。上記具体例においては、図６に表すストレージ部１１６ａは、生成した被更新データ１５６を、同処理により生成した被更新データ部１２６ａに格納している。
【０１７９】
そして、処理部１１１は、Ｓ１１１の処理として、Ｓ１０８の処理により入力があったことを判定した更新要素の被更新データ部１２６ａへの格納をストレージ部１１６ａに行わせる。上記具体例においては、図７に表すストレージ部１１６ａは、更新要素である要素Ａ２及びＣ１により更新されたマスタ要素である要素Ａ１及びＣ０を、被更新要素として、被更新データ部１２６ａに格納している被更新データ１５６に含めている。
【０１８０】
そして、処理部１１１は、Ｓ１１２の処理として、前回のバックアップデータの送信完了以降におけるマスタ要素の更新箇所を表すための最新の更新ビットマップをストレージ部１１６ａが格納しているかについての判定を行う。
【０１８１】
処理部１１１は、Ｓ１１２の処理による判定結果がｎｏの場合は、Ｓ１１３の処理を行う。
【０１８２】
一方、処理部１１１は、Ｓ１１２の処理による判定結果がｙｅｓの場合は、Ｓ１１４の処理を行う。
【０１８３】
処理部１１１は、Ｓ１１３の処理を行う場合は、同処理として、最新の更新ビットマップの生成をストレージ部１１６ａに行わせる。処理部１１１は、その際に、更新ビットマップ部１３１ａがストレージ部１１６ａにない場合には、更新ビットマップ部１３１ａを、ストレージ部１１６ａに生成させる。
【０１８４】
そして、処理部１１１は、Ｓ１１４の処理として、最新の更新ビットマップの該当位置に１を格納する更新を、ストレージ部１１６ａに行わせる。当該当位置は、Ｓ１０８の処理により入力があったことを判定した更新要素に含まれる位置情報が表す位置である。上記具体例においては、図７に表すストレージ部１１６ａは、最新の更新ビットマップである更新ビットマップ１６６の１番目及び３番目の位置に１のビットを格納している。
【０１８５】
そして、処理部１１１は、図９に表すＳ１１５の処理を行う。
【０１８６】
図１１は、図２に表す処理部１１１が行う、バックアップデータの生成及び送信に係る処理の処理フロー例を表す概念図である。当該処理は、図２に表す制御プログラム部１４１が保持する制御プログラムにより処理部１１１が実行するものである。
【０１８７】
処理部１１１は、例えば、外部からの開始情報の入力により、図１１に表す処理を開始する。
【０１８８】
そして、処理部１１１は、Ｓ２０１の処理として、マスタ要素数Ｐの特定を行う。ここで、処理部１１１は、図９に表すＳ１０１の処理で受信したことを判定したマスタ要素数Ｐをメモリ等に保持していることを前提としている。
【０１８９】
そして、処理部１１１は、Ｓ２０２の処理として、初回のバックアップのためのバックアップデータのバックアップ装置２０１ａへの送信を行うかについての判定を行う。処理部１１１は、当該判定を、例えば、図９に表すＳ１０５の処理による判定結果がｙｅｓになったことを判定することにより行う。Ｓ１０５の処理による判定結果がｙｅｓになったことは、マスタデータ部１２１への初期のマスタデータの格納が完了したことを表す。
【０１９０】
処理部１１１は、Ｓ２０２の処理による判定結果がｙｅｓの場合は、Ｓ２０３の処理を行う。
【０１９１】
一方、処理部１１１は、Ｓ２０２の処理による判定結果がｎｏの場合は、Ｓ２０２の処理を再度行う。
【０１９２】
処理部１１１は、Ｓ２０３の処理を行う場合は、同処理として、Ｓ２０１の処理により特定したマスタ要素数Ｐのバックアップ装置２０１ａへの送信を行う。
【０１９３】
そして、処理部１１１は、Ｓ２０４の処理として、マスタ要素位置を表す番号である番号ｎに１を代入する。
【０１９４】
そして、処理部１１１は、Ｓ２０５の処理として、第ｎマスタ要素は更新されているかを判定する。処理部１１１は、当該判定を、更新ビットマップ部１３１ａが保持する更新ビットマップにおけるｎ番目のビットが１であるかを判定することにより行う。
【０１９５】
処理部１１１は、Ｓ２０５の処理による判定結果がｙｅｓの場合は、Ｓ２０６の処理を行う。
【０１９６】
一方、処理部１１１は、Ｓ２０５の処理による判定結果がｎｏの場合は、Ｓ２０７の処理を行う。
【０１９７】
処理部１１１は、Ｓ２０６の処理を行う場合は、同処理として、被更新データ部１２６ａが保持する被更新データのｎ番目の被更新要素を、バックアップ装置２０１ａに送信するための送信用バッファに格納する。
【０１９８】
処理部１１１は、Ｓ２０７の処理を行う場合は、同処理として、マスタデータ部１２１が保持するマスタデータのｎ番目のマスタ要素を、バックアップ装置２０１ａに送信するための送信用バッファに格納する。
【０１９９】
そして、処理部１１１は、Ｓ２０８の処理として、番号ｎを一つ増やす。
【０２００】
そして、処理部１１１は、Ｓ２０９の処理として、番号ｎがマスタ要素数Ｐに１を加算した数かについて判定を行う。番号ｎがマスタ要素数Ｐに１を加算した数であることは、送信用バッファへの初回バックアップ用のマスタ要素の格納が完了したことを表す。
【０２０１】
処理部１１１は、Ｓ２０９の処理による判定結果がｙｅｓの場合は、Ｓ２１０の処理を行う。
【０２０２】
一方、処理部１１１は、Ｓ２０９の処理による判定結果がｎｏの場合は、Ｓ２０５の処理を再度行う。
【０２０３】
処理部１１１は、Ｓ２１０の処理を行う場合は、同処理として、Ｓ２０６の処理又はＳ２０７の処理により送信用バッファに格納したバックアップ情報を、バックアップ装置２０１ａへ送信する。
【０２０４】
そして、処理部１１１は、Ｓ２１１の処理として、次のバックアップ開始のタイミングになったかについての判定を行う。処理部１１１は、当該判定を、例えば、バックアップを行うべきとして予め設定された時刻になったかを判定することにより行う。当該時刻は、前述の静止点タイミングと連動していても構わない。
【０２０５】
そして、処理部１１１は、Ｓ２１２の処理として、前述の番号ｎに１を代入する。
【０２０６】
そして、処理部１１１は、Ｓ２１３の処理として、第ｎマスタ要素は、一回前のバックアップ間隔に更新されたかについての判定を行う。バックアップ間隔は、前述のように、処理部１１１がバックアップデータのバックアップ装置２０１ａへの送信の開始から、次のバックアップデータのバックアップ装置２０１ａへの送信の開始までの期間である。ここで、前記送信準備は、送信する要素の特定と、特定した要素の送信用バッファへの格納である。
【０２０７】
処理部１１１は、前記判定を、一回前のバックアップ間隔において生成された更新ビットマップにおいて、番号ｎの位置のビットが１であるかを判定することにより行う。初回バックアップの次のバックアップ時には、Ｓ２１３の処理による判定結果をｙｅｓにする。初回バックアップ時に、すべてのマスタ要素が更新（新規格納）されているためである。
【０２０８】
処理部１１１は、Ｓ２１３の処理による判定結果がｙｅｓの場合は、Ｓ２１４の処理を行う。
【０２０９】
一方、処理部１１１は、Ｓ２１３の処理による判定結果がｎｏの場合は、Ｓ２１７の処理を行う。
【０２１０】
処理部１１１は、Ｓ２１４の処理を行う場合は、同処理として、第ｎマスタ要素は今回のバックアップ間隔に更新されたかについての判定を行う。処理部は、当該判定を、今回のバックアップ間隔において生成された更新ビットマップにおけるｎ番目の位置のビットが１であるかを判定することにより行う。
【０２１１】
処理部１１１は、Ｓ２１４の処理による判定結果がｙｅｓの場合は、Ｓ２１５の処理を行う。
【０２１２】
一方、処理部１１１は、Ｓ２１４の処理による判定結果がｎｏの場合は、Ｓ２１６の処理を行う。
【０２１３】
処理部１１１は、Ｓ２１５の処理を行う場合は、同処理として、ｎ番目の被更新要素を、バックアップ装置２０１ａへ送信するための送信用バッファに格納する。
【０２１４】
処理部１１１は、Ｓ２１６の処理を行う場合は、同処理として、ｎ番目のマスタ要素を、バックアップ装置２０１ａへ送信するための送信用バッファに格納する。
【０２１５】
そして、処理部１１１は、Ｓ２１７の処理として、番号ｎを一つ増やす。
【０２１６】
そして、処理部１１１は、Ｓ２１８の処理として、番号ｎがマスタ要素数Ｐに１を加算した数に等しいかについての判定を行う。番号ｎがマスタ要素数Ｐに１を加算した数に等しいことは、直近のＳ２１１の処理によりｙｅｓを判定して以降のバックアップデータの送信準備が完了したことを意味する。
【０２１７】
処理部１１１は、Ｓ２１８の処理による判定結果がｙｅｓの場合は、Ｓ２１９の処理を行う。
【０２１８】
一方、処理部１１１は、Ｓ２１８の処理による判定結果がｎｏの場合は、Ｓ２１３の処理を再度行う。
【０２１９】
上記具体例においては、こうして、図７のタイミングと図８のタイミングとの間に、処理部１１１は、図７に表す被更新データ１５６の要素Ａ１を前記送信用バッファに格納している。要素Ａ１は、Ｓ２１３の処理にる判定結果とＳ２１５の処理による判定結果が共にｙｅｓの要素である。また、同間に、処理部１１１は、Ｓ２１３の処理にる判定結果がｙｅｓでありＳ２１５の処理による判定結果がｎｏである、図７に表すマスタデータ１５１の要素Ｂ１を前記送信用バッファに格納している。
【０２２０】
処理部１１１は、Ｓ２１９の処理を行う場合は、同処理として、Ｓ２１５の処理又はＳ２１６の処理により送信用バッファに格納したバックアップ情報を、バックアップ装置２０１ａへ送信する。図７のタイミングと図８のタイミングとの間に、処理部１１１は、同処理により、バックアップ情報を、バックアップ装置２０１ａへ送信している。
【０２２１】
そして、処理部１１１は、Ｓ２２０の処理として、図１１に表す処理を終了するかについての判定を行う。処理部１１１は、当該判定を、例えば、外部からの終了情報の入力の有無を判定することにより行う。
【０２２２】
処理部１１１は、Ｓ２２０の処理による判定結果がｙｅｓの場合は、図１１に表す処理を終了する。
【０２２３】
一方、処理部１１１は、Ｓ２２０の処理による判定結果がｎｏの場合は、Ｓ２１１の処理を再度行う。
【０２２４】
図１２は、図２に表すバックアップ装置２０１ａの処理部２１１が行うバックアップ処理の処理フロー例を表す概念図である。当該バックアップ処理は、図２に表す制御プログラム部２４１が保持する制御プログラムにより処理部２１１が実行するものである。
【０２２５】
処理部２１１は、例えば、外部からの開始情報の入力により、図１２に表す処理を開始する。
【０２２６】
そして、処理部２１１は、Ｓ３０１の処理として、ストレージ装置１０１ａからマスタ要素数Ｐを受信したかについての判定を行う。マスタ要素数Ｐは、図１１に表すＳ２０３の処理により、ストレージ装置１０１ａから送付されるものである。
【０２２７】
処理部２１１は、Ｓ３０１の処理による判定結果がｙｅｓの場合は、Ｓ３０２の処理を行う。
【０２２８】
一方、処理部２１１は、Ｓ３０１の処理による判定結果がｎｏの場合は、Ｓ３０１の処理を再度行う。
【０２２９】
処理部２１１は、Ｓ３０２の処理を行う場合は、同処理として、図２に表す初回バックアップ部２２１、増分バックアップ部２２６及び増分ビットマップ部２３１を、ストレージ部１１６ａに生成させる。
【０２３０】
処理部２１１は、初回バックアップ部及び増分バックアップ部の各々の生成を、例えば、Ｓ３０１の処理により受信したことを判定したマスタ要素数Ｐを格納し得る領域を、ストレージ部１１６ａに確保させることにより行わせる。
【０２３１】
処理部２１１は、また、更新ビットマップ部１３１ａの生成を、例えば、マスタ要素数の１又は０のデータを終了できる領域をストレージ部１１６ａに確保することにより行う。
【０２３２】
更新ビットマップ部１３１ａはデータ量が小さい。そのため、処理部２１１は、更新ビットマップ部１３１ａを、ストレージ部１１６ａが備える図示しないメモリに生成しても構わない。更新ビットマップ部１３１ａを前記メモリに生成することにより、更新ビットマップ部１３１ａへの、より高速なアクセスが可能になる。
【０２３３】
そして、処理部２１１は、Ｓ３０３の処理として、ストレージ装置１０１ａからの完了通知が未受信であるかについての判定を行う。当該完了通知は、図１１に表すＳ２１０の処理が完了した際にストレージ装置１０１ａから送付されるものである。
【０２３４】
処理部２１１は、Ｓ３０３の処理による判定結果がｙｅｓの場合は、Ｓ３０４の処理を行う。上記具体例においては、図４のタイミングと図５のタイミングとの間に、処理部２１１は、同処理によりＳ３０３の処理による判定結果としてｙｅｓを導出している。
【０２３５】
一方、処理部２１１は、Ｓ３０３の処理による判定結果がｎｏの場合は、Ｓ３０６の処理を行う。
【０２３６】
処理部２１１は、Ｓ３０４の処理を行う場合は、同処理として、ストレージ装置１０１ａから初期マスタデータのマスタ要素の送付を受けたかについての判定を行う。当該マスタ要素は、ストレージ装置１０１ａが、図１１に表すＳ２０７の処理により、前記バックアップデータに格納するものである。
【０２３７】
処理部２１１は、Ｓ３０４の処理による判定結果がｙｅｓの場合は、Ｓ３０５の処理を行う。
【０２３８】
一方、処理部２１１は、Ｓ３０４の処理による判定結果がｎｏの場合は、Ｓ３０４の処理を再度行う。
【０２３９】
処理部２１１は、Ｓ３０５の処理を行う場合は、同処理として、Ｓ３０４の処理により送付を受けたことを判定したマスタ要素を、Ｓ３０２の処理により生成した初回バックアップ部２２１に格納する。上記具体例においては、図５に表すストレージ部２１６ａは、同処理により要素Ａ０乃至Ｄ０を初期マスタデータ２５１に格納し、保持している。
【０２４０】
そして、処理部２１１は、Ｓ３０３の処理を再度行う。
【０２４１】
処理部２１１は、Ｓ３０６の処理を行う場合は、同処理として、ストレージ装置１０１ａからバックアップ情報の送付を受けたかについての判定を行う。当該バックアップ情報は、図１１に表すＳ２１９の処理により、ストレージ装置１０１ａから送信されるものである。
【０２４２】
処理部２１１は、Ｓ３０６の処理による判定結果がｙｅｓの場合は、Ｓ３０７の処理を行う。
【０２４３】
一方、処理部２１１は、Ｓ３０６の処理による判定結果がｎｏの場合は、Ｓ３０６の処理を再度行う。
【０２４４】
処理部２１１は、Ｓ３０７の処理を行う場合は、同処理として、Ｓ３０６の処理により送付を受けたことを判定したバックアップ情報に含まれる各要素の、増分バックアップ部２２６ａへの格納を、ストレージ部２１６ａに行わせる。このとき、処理部２１１は、送付を受けたことを判定した要素である新要素に含まれる位置と同じ位置を含む現要素が増分バックアップ部２２６ａにある場合は、その現要素を、前記新要素で置き換えさせる。
【０２４５】
上記具体例においては、図８に表すストレージ部２１６ａは、同処理により、前記バックアップデータに含まれていた要素Ａ１及びＢ１を、増分バックアップ部２２６ａに格納された増分バックアップ２５６に含めている。
【０２４６】
そして、処理部２１１は、Ｓ３０８の処理として、ストレージ部２１６ａに、増分ビットマップ部２３１に格納された増分ビットマップにおける、前記新要素に含まれる位置のビットを１にさせる。ただし、処理部２１１は、当該位置のビットが既に１である場合には１のビットを維持させる。
【０２４７】
上記具体例においては、図８に表すストレージ部２１６ａは、同処理により、増分ビットマップ２６１の１番目及び２番目に１のビットを格納している。
【０２４８】
処理部２１１は、初回バックアップの増分ビットマップ部において１が格納されている位置を、増分バックアップの要素で置き換えることにより、直近の静止点イメージのバックアップを生成し得るようになる。
【０２４９】
そして、処理部２１１は、Ｓ３０９の処理として、図１２に表す処理を終了するかについての判定を行う。処理部２１１は、当該判定を、例えば、外部からの終了情報の入力の有無を判定することにより行う。
【０２５０】
処理部１１１は、Ｓ３０９の処理による判定結果がｙｅｓの場合は、図１２に表す処理を終了する。
【０２５１】
一方、処理部１１１は、Ｓ３０９の処理による判定結果がｎｏの場合は、Ｓ３０６の処理を再度行う。
［効果］
本実施形態のストレージ装置は、バックアップ装置へ送信するバックアップ要素を静止点タイミング以前に更新されたマスタ要素については、マスタデータに含まれるマスタ要素から選択する。ここで、前記バックアップ要素は、バックアップ装置に送信するバックアップ情報に含まれる要素である。また、前記静止点タイミングは、処理部１１１が、バックアップ装置２０１ａへ送信するバックアップデータを選択するための、前記マスタデータの静止点イメージを確定するタイミングである。
【０２５２】
なお、静止点タイミングで静止点イメージを確定するのは、バックアップされたデータが、どの時点までのマスタデータのコピーであるか、その時刻を確定するためである。当該時刻を確定することにより、マスタデータが壊れた場合にデータの復元が可能になる。
【０２５３】
一方、前記ストレージ装置は、前記バックアップ要素を、前記静止点タイミングより後に更新されたマスタ要素については、別途保持しておいた更新前のマスタ要素である被マスタ要素から選択する。
【０２５４】
前記ストレージ装置は、各バックアップ間隔における前記静止点タイミング以前の期間は、前記被更新要素を保持する必要がないため、当該保持に必要なデータ領域を確保する必要もない。前記ストレージ装置は、各バックアップ間隔における前記静止点タイミングより後の期間は、前記被更新要素を保持するが、保持する要素数は、背景技術の項で説明した更新データの要素数より少ない。その理由は、保持する要素が、バックアップ間隔のすべての期間において更新された要素のすべてではなく、前記静止点タイミングより後の期間におけるものだからである。
【０２５５】
前記ストレージ装置は、原則、二つの更新ビットマップを保持する。しかしながら、更新ビットマップは、マスタデータのマスタ要素数のビットから構成されるものであるので、ごく小さいデータである。従い、更新ビットマップの数の増加は、確保すべきデータ領域の確保には、ほとんど影響しない。
【０２５６】
以上により、前記ストレージシステムは、背景技術の項で説明したストレージシステムと比較して、バックアップ処理に必要なデータ領域の削減を可能にする。
【０２５７】
図１を参照して背景技術の項で説明したストレージ装置は、更新要素の更新データ部への格納のために処理部とストレージ部との間で行われる入出力に係る処理負荷が多く発生する。
【０２５８】
また、当該処理部は、更新要素が入力されるたびに、前記マスタデータから更新データへの更新要素のコピー動作が発生する。そのため、特にマスタデータ部の記録再生動作の動作負荷が増大する。
【０２５９】
前記処理負荷及び前記動作負荷は、前記処理部がストレージ部との間で行う、バックアップ動作以外の、通常の入出力処理等の処理を遅延させ得る。
【０２６０】
これに対し、本実施形態のストレージ装置は、被更新データ部を常に保持するわけではないので、前記処理負荷及び前記動作負荷を軽減し得る。そのため、本実施形態のストレージ装置は、前記処理負荷及び前記動作負荷の観点からも、バックアップ動作以外の処理の遅延を軽減し得る。
【０２６１】
図１３は、実施形態の通信装置の最小限の構成である通信装置１０１ａｘの構成を表すブロック図である。
【０２６２】
通信装置１０１ａｘは、前回のタイミングから今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する。前記タイミングは、バックアップ間隔の各々に一回設定されるものである。
【０２６３】
前記静止要素は、前記開始から前記タイミングまでの間に前記更新が行われた前記要素は、前記マスタデータに格納されている。そのため、通信装置１０１ａｘは、前記開始から前記タイミングまでの間は、前記静止要素を前記マスタデータとは別に保持する必要がない。そのため、通信装置１０１ａｘは、その間は、当該保持に必要なデータ領域を確保する必要もない。また、通信装置１０１ａｘは、前記タイミング前記第二期間は、前記静止要素を保持する必要があるが、保持する要素数は、背景技術の項で説明した更新データの要素数と同等以下である。
【０２６４】
そのため、通信装置１０１ａｘは、背景技術の項で説明したメインサイトのストレージ装置と比較して、バックアップ処理に必要なデータ領域の削減を可能にする。
【０２６５】
そのため、通信装置１０１ａｘは、前記構成により、［発明の効果］の項に記載した効果を奏する。
【０２６６】
なお、図１３に表す通信装置１０１ａｘは、例えば、図２に表すストレージ装置１０１ａである。また、前記要素は、例えば、前述のマスタ要素である。また、前記タイミングは、例えば、前述の静止点タイミングである。また、前記静止要素は、例えば、前述の静止点イメージに含まれる前記要素である。また、前記マスタデータは、例えば、図２に表すマスタデータ部１２１が格納するマスタデータである。また、前記バックアップ装置は、例えば、図２に表すバックアップ装置２０１ａである。
【０２６７】
以上、本発明の各実施形態を説明したが、本発明は、前記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で更なる変形、置換、調整を加えることができる。例えば、各図面に示した要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【０２６８】
また、前記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、以下には限られない。
（付記１）
前回の、バックアップ間隔の各々に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する、通信装置。
（付記２）
前記今回の前記タイミング以降に前記更新がなかった前記位置については、前記静止要素を前記マスタデータから選択する第一選択を行い、前記今回の前記タイミングより後に前記更新があった前記位置については、別途保持する、前記更新が行われる前の前記要素である被更新要素からの前記選択である第二選択を行う、
付記１に記載された通信装置。
（付記３）
ある前記バックアップ間隔に係る前記タイミングからその前記バックアップ間隔の終了までの間に前記更新が行われた場合に、その前記更新に係る前記被更新要素を保持する、付記２に記載された通信装置。
（付記４）
前記被更新要素を格納する被更新要素格納領域を、前記タイミングの後に生成する、付記３に記載された通信装置。
（付記５）
前記終了の際に前記被更新要素格納領域を削除する、付記４に記載された通信装置。
（付記６）
前記タイミングから次の前記タイミングまでの間に前記更新が行われた前記位置を表すマップ情報を備える、付記３乃至付記５のうちのいずれか一に記載された通信装置。
（付記７）
前記マップ情報が前記タイミングより後に生成される、付記６に記載された通信装置。
（付記８）
前記前回の前記タイミングが含まれる前記バックアップ間隔に生成された前記マップ情報を、前記今回の前記タイミングを含む前記バックアップ間隔に保持する、付記６又は付記７に記載された通信装置。
（付記９）
前記マップ情報により、前記第一選択及び前記第二選択を行う、付記６乃至付記８のうちのいずれか一に記載された通信装置。
（付記１０）
前記終了の際に一つ前の前記バックアップ間隔に生成された前記マップ情報を削除する、付記６乃至付記９のうちのいずれか一に記載された通信装置。
（付記１１）
前記マスタデータを格納するマスタデータ格納領域をさらに備える、付記６乃至付記１０のうちのいずれか一に記載された通信装置。
（付記１２）
前記更新を行う更新部をさらに備える、付記１乃至付記１１のうちのいずれか一に記載された通信装置。
（付記１３）
前記バックアップ間隔は、前記送信の開始から次の前記送信の開始までの期間である、付記１乃至付記１２のうちのいずれか一に記載された通信装置。
（付記１４）
付記１乃至付記１３のうちのいずれか一に記載された通信装置、から送付された前記静止要素を格納する、バックアップ装置。
（付記１５）
初期の前記マスタデータである初期マスタデータを格納する初期マスタデータ格納部と、前記静止要素を格納する増分バックアップ部と、を備える、付記１４に記載されたバックアップ装置。
（付記１６）
前記静止要素が、直近の前記タイミングにおける前記マスタデータの前記初期マスタデータと異なる部分である、付記１５に記載されたバックアップ装置。
（付記１７）
前記静止要素の各々に対応する前記位置を表す第二のマップ情報をさらに備える、付記１４乃至付記１６のうちのいずれか一に記載されたバックアップ装置。
（付記１８）
付記１乃至付記１３のうちのいずれか一に記載された通信装置と前記バックアップ装置とを備える、バックアップシステム。
（付記１９）
付記１４乃至付記１７のうちのいずれか一に記載されたバックアップ装置と前記通信装置とを備える、バックアップシステム。
（付記２０）
前回の、バックアップ間隔に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する、バックアップ方法。
（付記２１）
さらに、送付された前記静止要素を格納する、付記２０に記載されたバックアップ方法。
（付記２２）
前回の、バックアップ間隔に一回設定されるタイミング、から今回の前記タイミングまでに更新された、マスタデータにおける位置について、前記今回の前記タイミング、における前記マスタデータの要素である静止要素を、バックアップ装置へ送信する処理、をコンピュータに実行させるバックアッププログラム。
（付記２３）
さらに、送付された前記静止要素を格納する処理をコンピュータに実行させる処理をさらに行う、付記２２に記載されたバックアッププログラム。
【符号の説明】
【０２６９】
１０１、１０１ａ    ストレージ装置
１１１、２１１    処理部
１１６、１１６ａ、２１６、２１６ａ    ストレージ部
１２１    マスタデータ部
１２６    更新データ部
１２６ａ    被更新データ部
１３１、１３１ａ    更新ビットマップ部
１４１、２４１    制御プログラム部
１５１    マスタデータ
１５６    被更新データ
１６１    更新ビットマップ
２０１、２０１ａ    バックアップ装置
２２１    初回バックアップ部
２２６    増分バックアップ部
２３１    増分ビットマップ部
２５１    初期マスタデータ
２５６    増分バックアップ
２６１    増分ビットマップ
３０１    ストレージシステム
【図１】
2019159855.tif 000003
【図２】
2019159855.tif 000004
【図３】
2019159855.tif 000005
【図４】
2019159855.tif 000006
【図５】
2019159855.tif 000007
【図６】
2019159855.tif 000008
【図７】
2019159855.tif 000009
【図８】
2019159855.tif 000010
【図９】
2019159855.tif 000011
【図１０】
2019159855.tif 000012
【図１１】
2019159855.tif 000013
【図１２】
2019159855.tif 000014
【図１３】
2019159855.tif 000015