(57)【要約】【課題】データ２次利用においてマスキング処理に係るデータを適切に管理するデータ管理システムを提供する。【解決手段】第１の時点の実データのマスキング処理済みデータを記憶する記憶部と、マスキング処理済みデータにおいてマスキングされた記憶領域を示す第１の情報と、第１の時点から第２の時点までに実データが更新されたデータである更新データのマスキング処理済みデータにおいてマスキングされた記憶領域を示す第２の情報とに基づいて、更新データから、マスキングされていない記憶領域のデータを抽出し、更新データのマスキング処理済みデータから、マスキングされた記憶領域のデータであってマスキング処理済みデータと同じデータを排除したデータを抽出し、抽出したデータを差分データとして生成するデータ制御部と、を設けるようにした。【選択図】図１
2020154463.tif 000002
【特許請求の範囲】
【請求項１】
第１の時点の実データのマスキング処理済みデータを記憶する記憶部と、
前記マスキング処理済みデータにおいてマスキングされた記憶領域を示す第１の情報と、前記第１の時点から第２の時点までに前記実データが更新されたデータである更新データのマスキング処理済みデータにおいてマスキングされた記憶領域を示す第２の情報とに基づいて、前記更新データから、マスキングされていない記憶領域のデータを抽出し、前記更新データのマスキング処理済みデータから、マスキングされた記憶領域のデータであって前記マスキング処理済みデータと同じデータを排除したデータを抽出し、抽出したデータを差分データとして生成するデータ制御部と、
を備えることを特徴とするデータ管理システム。
【請求項２】
前記第１の情報として、前記マスキング処理済みデータにおいてマスキングが行われているか否かを示す情報をブロック単位に生成し、前記第２の情報として、前記更新データのマスキング処理済みデータにおいてマスキングが行われているか否かを示す情報をブロック単位に生成するマスキング情報管理部を備え、
前記データ制御部は、前記第１の情報と前記第２の情報とに基づいて、前記更新データから、マスキングされていないブロック単位のデータを抽出し、前記更新データのマスキング処理済みデータから、マスキングされたブロック単位のデータであって前記マスキング処理済みデータと同じデータをブロック単位に排除したデータを抽出し、抽出したデータを差分データとして生成する、
ことを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
前記データ制御部は、本番システムから送信される、前記第１の時点から前記第２の時点までの前記実データのデータソースと、ブロック単位に前記実データの更新の有無を示す情報とに基づいて、前記データソースのマスキング処理済みデータから更新があったデータを取り出して前記更新データのマスキング処理済みデータを生成する、
ことを特徴とする請求項１に記載のデータ管理システム。
【請求項４】
前記データ制御部は、前記第２の時点のデータを利用する旨の要求に応じて、前記マスキング処理済みデータに前記差分データを適用して前記第２の時点のデータを生成する、
ことを特徴とする請求項１に記載のデータ管理システム。
【請求項５】
前記データ制御部は、マスキング処理のルールが変更されたことに基づいて、前記差分データを生成する、
ことを特徴とする請求項１に記載のデータ管理システム。
【請求項６】
前記データ制御部は、生成した差分データの容量が前記マスキング処理済みデータの容量を超えたか否かを判定し、超えたと判定した場合、所定の時点の実データのマスキング処理済みデータを生成し、前記所定の時点以降、前記所定の時点の実データのマスキング処理済みデータからの差分データを生成する、
ことを特徴とする請求項１に記載のデータ管理システム。
【請求項７】
記憶部が、第１の時点の実データのマスキング処理済みデータを記憶する第１のステップと、
データ制御部が、前記マスキング処理済みデータにおいてマスキングされた記憶領域を示す第１の情報と、前記第１の時点から第２の時点までに前記実データが更新されたデータである更新データのマスキング処理済みデータにおいてマスキングされた記憶領域を示す第２の情報とに基づいて、前記更新データから、マスキングされていない記憶領域のデータを抽出し、前記更新データのマスキング処理済みデータから、マスキングされた記憶領域のデータであって前記マスキング処理済みデータと同じデータを排除したデータを抽出し、抽出したデータを差分データとして生成する第２のステップと、
を備えることを特徴とするデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ管理システムおよびデータ管理方法に関し、例えばマスキング処理済みデータを管理するデータ管理システムおよびデータ管理方法に適用して好適なものである。
【背景技術】
【０００２】
低コストでデータの価値を向上させる取り組みとして、通常業務のデータソース（バックアップ、アーカイブ、業務データ、コピーデータなど）の利用（データ２次利用）のニーズが高まっている。
【０００３】
データ２次利用では、通常業務が行われる本番システムで取得されるバックアップデータを開発、分析等を行う開発システムにコピーし、コピーしたバックアップデータを開発、分析などに利用し、更新データをバックアップデータの差分データとして管理する（差分管理を行う）ことで、ストレージ装置の利用容量の削減が行われている。
【０００４】
また、データ２次利用では、通常業務のバックアップデータを第３者に提供して開発、分析などが行われるため、公開できない情報に対してマスキング処理が行われる。マスキング処理されたデータ（マスキングデータ）は、バックアップデータのコピーに差分データを適用した実データとして管理される。
【０００５】
例えば、非特許文献１では、バックアップデータのコピーをＬｉｖｅＣｌｏｎｅ機能により実データにコピーし、ＷｏｒｋＦｌｏｗ機能でマスキング処理を実施している。
【先行技術文献】
【特許文献】
【０００６】
【非特許文献１】Actifio.com，“An SQL Server DBA’s Guide to Actifio Copy Data Management”
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、データ２次利用では、公開できないデータをマスキング処理するために、バックアップデータに更新データを適用した実データをマスキング処理して利用する。しかしながら、利用者、用途などが複数に跨る場合には、それだけ実データを準備することになり、ストレージ装置の容量が圧迫されることになる。
【０００８】
本発明は以上の点を考慮してなされたもので、データ２次利用においてマスキング処理に係るデータを適切に管理するデータ管理システムを提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、第１の時点の実データのマスキング処理済みデータを記憶する記憶部と、前記マスキング処理済みデータにおいてマスキングされた記憶領域を示す第１の情報と、前記第１の時点から第２の時点までに前記実データが更新されたデータである更新データのマスキング処理済みデータにおいてマスキングされた記憶領域を示す第２の情報とに基づいて、前記更新データから、マスキングされていない記憶領域のデータを抽出し、前記更新データのマスキング処理済みデータから、マスキングされた記憶領域のデータであって前記マスキング処理済みデータと同じデータを排除したデータを抽出し、抽出したデータを差分データとして生成するデータ制御部と、を設けるようにした。
【００１０】
上記構成によれば、例えば、マスキング処理済みデータと差分データとから利用要求のデータを生成することができようになるので、利用要求ごとに実データを準備する必要がなくなる。また、例えば、第１の時点と第２の時点とで同じマスキング処理済みデータが差分データから排除されているので、データ容量を削減することができる。
【発明の効果】
【００１１】
本発明によれば、データを適切に管理することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態によるデータ管理システムに係る構成の一例を示す図である。
【図２】第１の実施の形態による開発システムに係る構成の一例を示す図である。
【図３】第１の実施の形態による本番システムに係る構成の一例を示す図である。
【図４】第１の実施の形態による物理サーバに係る構成の一例を示す図である。
【図５】第１の実施の形態によるストレージ装置に係る構成の一例を示す図である。
【図６】第１の実施の形態による物理サーバに係る構成の一例を示す図である。
【図７】第１の実施の形態による管理サーバに係る構成の一例を示す図である。
【図８】第１の実施の形態によるストレージ装置に係る構成の一例を示す図である。
【図９】第１の実施の形態による更新情報管理テーブルの一例を示す図である。
【図１０】第１の実施の形態によるマスキング情報管理テーブルの一例を示す図である。
【図１１】第１の実施の形態によるストレージ装置の利用容量の削減方法の概要を示す図である。
【図１２】第１の実施の形態によるフローチャートの一例を示す図である。
【図１３】第１の実施の形態によるフローチャートの一例を示す図である。
【図１４】第１の実施の形態によるフローチャートの一例を示す図である。
【図１５】第１の実施の形態によるマスキングデータと差分データとの関係を説明するための図である。
【発明を実施するための形態】
【００１３】
以下図面について、本発明の一実施の形態を詳述する。本実施の形態は、ストレージ装置の利用容量を削減する技術に関し、例えば、データ２次利用時にマスキング処理を行うケースにおいてストレージ装置に格納するデータを削減する技術に適用して好適なものである。
【００１４】
なお、以下の説明では、同種の要素を区別しないで説明する場合には、枝番を含む参照符号のうちの共通部分（枝番を除く部分）を使用し、同種の要素を区別して説明する場合は、枝番を含む参照符号を使用することがある。例えば、仮想サーバを特に区別しないで説明する場合には、「仮想サーバ４２０」と記載し、個々の仮想サーバを区別して説明する場合には、「仮想サーバ４２０−１」、「仮想サーバ４２０−２」のように記載することがある。
【００１５】
（１）第１の実施の形態
図１において、１００は全体として第１の実施の形態によるデータ管理システムを示す。
【００１６】
図１は、データ管理システム１００に係る構成の一例を示す図である。本実施の形態では、データ管理システム１００を業務システムに適用した場合を例に挙げて説明する。
【００１７】
データ管理システム１００は、開発システム１１０と本番システム１２０とを含んで構成されている。データ管理システム１００では、開発システム１１０と本番システム１２０とがＬＡＮ（Local Area Network）１３０を介して接続される。
【００１８】
開発システム１１０は、ユーザが本番システム１２０における業務のデータソースの利用（データ２次利用）を行うシステムであり、物理サーバ１１１およびストレージ装置１１２を含んで構成されている。物理サーバ１１１とストレージ装置１１２とは、ＳＡＮ（Storage Area Network）１１３を介して接続される。なお、本番システム１２０における業務のデータソースは、例えば、実データのバックアップデータ、実データのアーカイブデータ、実データの業務データ、実データのコピーデータなどであり、以下では、バックアップデータを例に挙げて説明する。
【００１９】
本番システム１２０は、ユーザが業務を行うシステムであり、物理サーバ１２１、管理サーバ１２２、およびストレージ装置１２３を含んで構成されている。物理サーバ１２１と管理サーバ１２２とは、ＬＡＮ１３０を介して接続される。物理サーバ１２１とストレージ装置１２３とは、ＳＡＮ１２４を介して接続される。
【００２０】
図２は、開発システム１１０に係る構成の一例を示す図である。
【００２１】
物理サーバ１１１は、１つ以上のＣＰＵ（Central Processing Unit）２１１と、メモリ２１２と、物理ＮＩＣ２１３と、ＨＢＡ（Host Bus Adapter）２１４とが、データの受け渡しを管理するＣｈｉｐＳｅｔ２１５と接続される。
【００２２】
ＣＰＵ２１１は、制御装置の一例であり、各種の処理を実行する。メモリ２１２は、記憶装置の一例であり、ＲＡＭ（Random Access Memory）などであり、各種のプログラム、テーブルなどを記憶する。物理ＮＩＣ２１３は、物理サーバ１１１が外部と通信を行うために利用されるハードウェアの一例である。ＨＢＡ２１４は、物理サーバ１１１とストレージ装置１１２とをＳＡＮ１１３経由で接続させるハードウェアの一例である。
【００２３】
ストレージ装置１１２は、ストレージ装置１１２を制御するストレージコントローラ２２０と物理ボリューム２３０とを含んで構成されている。
【００２４】
ストレージコントローラ２２０は、１つ以上のＣＰＵ２２１と、メモリ２２２と、データＩ／Ｆ（Interface）２２３と、ストレージＩ／Ｆ２２４とを含んで構成されている。ＣＰＵ２２１は、ＣＰＵ２１１と同様であるので、その説明を省略する。メモリ２２２は、メモリ２１２と同様であるので、その説明を省略する。データＩ／Ｆ２２３は、ストレージ装置１１２と物理サーバ１１１とをＳＡＮ１１３経由で接続させるハードウェアの一例である。ストレージＩ／Ｆ２２４は、ストレージコントローラ２２０と物理ボリューム２３０とを接続させるハードウェアの一例である。
【００２５】
物理サーバ１１１から更新されるデータ（ライトデータ）と物理サーバ１１１から参照されるデータ（リードデータ）とは、データＩ／Ｆ２２３で受信される。ストレージコントローラ２２０は、受信したデータが格納される記憶領域（ストレージ領域）を算出し、ストレージＩ／Ｆ２２４を介して対象の物理ボリューム２３０の記憶領域を取得し、データの更新と参照とを実施する。
【００２６】
図３は、本番システム１２０に係る構成の一例を示す図である。なお、本番システム１２０の構成と開発システム１１０の構成とで同じものについては、その説明を適宜省略する。
【００２７】
物理サーバ１２１の各コンポーネント（ＣＰＵ３１１、メモリ３１２、物理ＮＩＣ３１３、ＨＢＡ３１４、ＣｈｉｐＳｅｔ３１５）は、物理サーバ１１１の各コンポーネント（ＣＰＵ２１１、メモリ２１２、物理ＮＩＣ２１３、ＨＢＡ２１４、ＣｈｉｐＳｅｔ２１５）と同様であるので、その説明を省略する。
【００２８】
管理サーバ１２２は、１つ以上のＣＰＵ３２１と、メモリ３２２と、物理ＮＩＣ３２３とが、データの受け渡しを管理するＣｈｉｐＳｅｔ３２４と接続される。なお、管理サーバ１２２の各コンポーネント（ＣＰＵ３２１、メモリ３２２、物理ＮＩＣ３２３、ＣｈｉｐＳｅｔ３２４）は、物理サーバ１１１の各コンポーネント（ＣＰＵ２１１、メモリ２１２、物理ＮＩＣ２１３、ＣｈｉｐＳｅｔ２１５）と同様であるので、その説明を省略する。
【００２９】
ストレージ装置１２３の各コンポーネント（ストレージコントローラ３３０、ＣＰＵ３３１、メモリ３３２、データＩ／Ｆ３３３、ストレージＩ／Ｆ３３４、物理ボリューム３４０）は、ストレージ装置１１２の各コンポーネント（ストレージコントローラ２２０、ＣＰＵ２２１、メモリ２２２、データＩ／Ｆ２２３、ストレージＩ／Ｆ２２４、物理ボリューム２３０）と同様であるので、その説明を省略する。
【００３０】
図４は、開発システム１１０の物理サーバ１１１に係る構成の一例を示す図である。
【００３１】
物理サーバ１１１のメモリ２１２は、各種のプログラム、テーブルなどを記憶する。メモリ２１２のプログラムをＣＰＵ２１１が実行することで、物理サーバ１１１の機能（ハイパバイザ４１０、仮想サーバ４２０、ＯＳ４３０、ＯＳ４４０、ＤＢＭＳ４３１、マスキングプログラム４３２など）が実現される。
【００３２】
なお、物理サーバ１１１の機能は、例えば、ＣＰＵ２１１がプログラムをメモリ２１２に読み出して実行すること（ソフトウェア）により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、物理サーバ１１１の機能の一部は、物理サーバ１１１と通信可能な他のコンピュータにより実現されてもよい。
【００３３】
ハイパバイザ４１０は、１つ以上の仮想サーバ４２０（例えば、仮想サーバ４２０−１、仮想サーバ４２０−２）を制御する。仮想サーバ４２０−１では、ＯＳ４３０が稼働し、ＯＳ４３０により、ＤＢＭＳ（Database Management System）４３１およびマスキング処理を行うマスキングプログラム４３２が実現される。ＤＢＭＳ４３１は、例えば、マスキング処理で用いられるデータ（例えば、実データのバックアップデータ）を管理する。仮想サーバ４２０−２では、ＯＳ４４０が稼働し、ＯＳ４４０により、ＤＢＭＳ４４１が実現される。マスキングプログラム４３２は、ＤＢＭＳ４３１で保管されているデータ（例えば、実データのバックアップデータ）に対してマスキング処理を実施する。なお、以下では、実データのバックアップデータに対してマスキング処理が行われたデータをマスキングデータ（マスキング処理済みデータの一例）と称する。ＤＢＭＳ４４１は、例えば、データ２次利用で利用されるデータ（例えば、実データのマスキングデータ、差分データ）を管理する。
【００３４】
図５は、開発システム１１０のストレージ装置１１２に係る構成の一例を示す図である。
【００３５】
ストレージ装置１１２では、メモリ２２２のプログラムをＣＰＵ２２１が実行することで、ストレージ装置１１２の機能（更新情報管理部５１０、マスキング情報管理部５２０、ストレージマイクロプログラム５３０、データ制御部５４０など）が実現される。
【００３６】
なお、ストレージ装置１１２の機能は、例えば、ＣＰＵ２２１がプログラムをメモリ２２２に読み出して実行すること（ソフトウェア）により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、ストレージ装置１１２の機能の一部は、ストレージ装置１１２と通信可能な他のコンピュータにより実現されてもよい。
【００３７】
更新情報管理部５１０は、後述の更新情報部８１０によりデータ２次利用の対象のバックアップデータの更新処理が監視され、更新情報として登録された更新情報管理テーブル８１１のコピーである更新情報管理テーブル５１１を管理する。更新情報管理テーブル５１１，８１１の詳細については、図９を用いて後述する。
【００３８】
マスキング情報管理部５２０は、バックアップデータにマスキング処理を行った場合、どのブロックに更新を行ったか等の情報を含むマスキング情報をマスキング情報管理テーブル５２１に登録する。マスキング情報管理テーブル５２１については、図１０を用いて後述する。
【００３９】
ストレージマイクロプログラム５３０は、ストレージ装置１１２の管理および制御を行うソフトウェアである。ストレージマイクロプログラム５３０は、一般的なストレージ機能（例えば、論理ボリュームの提供、複数のリソースを論理的に纏めた論理プールの提供など）を有する。
【００４０】
データ制御部５４０は、利用要求のデータを生成するときのベースとするマスキングデータからの差分のデータである差分データを作成する。差分データの作成は、マスキング情報管理テーブル５２１と更新情報管理テーブル５１１とにより差分データの対象となる物理ボリューム２３０をブロック単位で管理することで実現される。差分データの生成方法の詳細については、図１４を用いて後述する。
【００４１】
図６は、本番システム１２０の物理サーバ１２１に係る構成の一例を示す図である。
【００４２】
物理サーバ１２１のメモリ３１２は、各種のプログラム、テーブルなどを記憶する。メモリ３１２のプログラムをＣＰＵ３１１が実行することで、物理サーバ１２１の機能（ＯＳ６１０、ＤＢＭＳ６１１など）が実現される。
【００４３】
なお、物理サーバ１２１の機能は、例えば、ＣＰＵ３１１がプログラムをメモリ３１２に読み出して実行すること（ソフトウェア）により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、物理サーバ１２１の機能の一部は、物理サーバ１２１と通信可能な他のコンピュータにより実現されてもよい。
【００４４】
物理サーバ１２１では、ＯＳ６１０が稼働し、ＯＳ６１０により、ＤＢＭＳ６１１が実現される。ＤＢＭＳ６１１は、例えば、業務で更新されたり参照されたりする実データを管理する。
【００４５】
図７は、本番システム１２０の管理サーバ１２２に係る構成の一例を示す図である。
【００４６】
管理サーバ１２２のメモリ３２２は、各種のプログラム、テーブルなどを記憶する。メモリ３２２のプログラムをＣＰＵ３２１が実行することで、管理サーバ１２２の機能（ＯＳ７１０、バックアップツール７１１など）が実現される。
【００４７】
なお、管理サーバ１２２の機能は、例えば、ＣＰＵ３２１がプログラムをメモリ３２２に読み出して実行すること（ソフトウェア）により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、管理サーバ１２２の機能の一部は、管理サーバ１２２と通信可能な他のコンピュータにより実現されてもよい。
【００４８】
管理サーバ１２２では、ＯＳ７１０が稼働し、ＯＳ７１０により、バックアップツール７１１が実現される。
【００４９】
バックアップツール７１１は、ＤＢＭＳ６１１およびストレージ装置１２３のストレージマイクロプログラム８２０に命令を発行することで、ＤＢＭＳ６１１の様々な単位のバックアップ（差分バックアップ、フルバックアップ等）を実行し、ストレージ装置１２３の物理ボリューム３４０に対するバックアップ処理を実行し、実データのバックアップデータを生成する。
【００５０】
図８は、本番システム１２０のストレージ装置１２３に係る構成の一例を示す図である。
【００５１】
本番システム１２０のストレージ装置１２３は、開発システム１１０のストレージ装置１１２と基本的に同じ構成であり、マスキング情報管理部５２０とデータ制御部５４０とを省いた構成である。
【００５２】
ストレージ装置１２３では、メモリ３３２のプログラムをＣＰＵ３２１が実行することで、ストレージ装置１２３の機能（更新情報管理部８１０、ストレージマイクロプログラム８２０など）が実現される。
【００５３】
なお、ストレージ装置１２３の機能は、例えば、ＣＰＵ３２１がプログラムをメモリ３２２に読み出して実行すること（ソフトウェア）により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、ストレージ装置１２３の機能の一部は、ストレージ装置１２３と通信可能な他のコンピュータにより実現されてもよい。
【００５４】
更新情報管理部８１０は、業務に係る実データの更新処理を監視し、更新情報として更新情報管理テーブル８１１に登録する。更新情報管理テーブル８１１の詳細については、図９を用いて後述する。
【００５５】
なお、ストレージマイクロプログラム８２０については、ストレージマイクロプログラム５３０と同様であるので、その説明を省略する。
【００５６】
図９は、更新情報管理テーブル５１１，８１１の一例を示す図である。なお、更新情報管理テーブル５１１と更新情報管理テーブル８１１とは、同じデータ構造であるので、図９では、更新情報管理テーブル５１１を例に挙げて説明する。
【００５７】
更新情報管理テーブル５１１は、更新情報管理部５１０で管理され、バックアップデータの更新データに関する情報（更新情報）を格納する。
【００５８】
より具体的には、更新情報管理テーブル５１１には、データ項目９１０（ＶｏｌＩＤ）、データ項目９２０（Ｖｏｌ名）、データ項目９３０（世代ＩＤ）、データ項目９４０（ＢｌｏｃｋＩＤ）、データ項目９５０（更新フラグ）、データ項目９６０（更新データ）、データ項目９７０（ラベル）の情報が対応付けられて格納される。
【００５９】
データ項目９１０には、物理ボリューム２３０の識別番号が格納される。データ項目９２０には、物理ボリューム２３０の名称が格納される。データ項目９３０には、更新データの識別子が世代情報として格納される。世代情報は、マスキング処理の実行年月日、マスキング処理のマスキングルールのバージョンなどを示す情報である。データ項目９４０には、ブロック（記憶領域）の識別番号が格納される。なお、物理ボリューム２３０は、ブロック単位で管理（データの読出し書き出し等）される。データ項目９５０には、データ項目９４０のブロック（対象ブロック）のデータが更新された場合に「１」が格納され、対象ブロックのデータが更新されていない場合に「０」が格納される。データ項目９６０には、対象ブロックの更新データが格納される。データ項目９７０には、物理ボリューム２３０の利用用途が格納される。なお、データ項目９７０は、人手により設定されてもよいし、ツール等により自動的に設定されてもよい。
【００６０】
図１０は、マスキング情報管理テーブル５２１の一例を示す図である。
【００６１】
マスキング情報管理テーブル５２１は、マスキング情報管理部５２０で管理され、バックアップデータにマスキング処理を行ったときのマスキングデータに関する情報（マスキング情報）を格納する。
【００６２】
より具体的には、マスキング情報管理テーブル５２１には、データ項目１０１０（ＶｏｌＩＤ）、データ項目１０２０（Ｖｏｌ名）、データ項目１０３０（世代ＩＤ）、データ項目１０４０（ＢｌｏｃｋＩＤ）、データ項目１０５０（更新フラグ）、データ項目１０６０（マスキングフラグ）、データ項目１０７０（マスキングデータ）、およびデータ項目１０８０（ラベル）の情報が対応付けられて格納される。
【００６３】
データ項目１０１０，１０２０，１０３０，１０４０，１０５０，１０８０には、更新情報管理テーブル５１１のデータ項目９１０，９２０，９３０，９４０，９５０，９７０と同様に情報が格納される。但し、データ項目１０１０，１０２０，１０３０，１０４０，１０５０，１０８０と更新情報管理テーブル５１１のデータ項目９１０，９２０，９３０，９４０，９５０，９７０とでは、呼び出すタイミングが異なるため、同じ値が格納されるわけではない。
【００６４】
データ項目１０６０には、マスキング処理時のマスキングの有無をカラム単位（ビット単位）で管理し、更新された場合に「１」が、更新されない場合に「０」が格納される。データ項目１０７０には、実際にマスキング処理が行われたときにマスキングされたデータ（マスキングデータ）が格納される。
【００６５】
図１１は、データ２次利用時におけるストレージ装置１１２の利用容量の削減方法の概要を示す図である。図１１では、本番システム１２０で稼動するＤＢＭＳ６１１のＴ時点のバックアップデータを開発システム１１０のストレージ装置１１２にコピーしており、開発システム１１０でデータ２次利用の運用が開始されていることを前提としている。
【００６６】
まず、本番システム１２０では、開発システム１１０にコピーしたＴ時点のバックアップデータの元データとなる物理ボリューム３４０をブロック単位でビットマップ管理を実施する（処理［ａ］）。ここでは、ビットマップ管理は、各ブロックについての更新の有無をビット（「０」または「１」）で管理することをいう。更新情報管理部５１０は、ビットマップ管理で各ブロックの更新の有無の情報（ビットマップ情報）を取得し（処理［ｂ］）、Ｔ時点からの更新データとともに更新情報として更新情報管理テーブル８１１に反映する（処理［ｃ］）。
【００６７】
ここでは、開発システム１１０側からのＴ＋Δｔ時点のデータの利用要求が生じたことを想定する。本利用要求により本番システム１２０のバックアップツール７１１は、Ｔ＋Δｔのバックアップデータを開発システム１１０のストレージ装置１１２にコピーする（処理［ｄ］）。
【００６８】
開発システム１１０では、コピーされたＴ＋Δｔのバックアップデータを仮想サーバ４２０−１にマウントし、マスキングプログラム４３２は、マスキング処理を実行する（処理［ｅ］）。マスキング情報管理部５２０は、マスキング処理の処理状況を、物理ボリューム２３０をブロック単位でビットマップによりマスキングの有無（ビットマップ情報）およびマスキングデータ（カラム情報）を管理する（処理［ｆ］）。マスキング情報管理部５２０は、ビットマップ情報およびカラム情報を取得し（処理［ｇ］）、取得した情報をマスキング情報としてマスキング情報管理テーブル５２１を更新する（処理［ｈ］）。データ制御部５４０は、この更新処理の完了後、物理ボリューム２３０に格納されていたＴ＋Δｔのバックアップデータを削除する（処理［ｉ］）。
【００６９】
本番システム１２０では、Ｔ時点以降の更新情報を更新情報管理部８１０が更新情報管理テーブル８１１に格納しているので、更新情報管理部８１０は、更新情報管理テーブル８１１を開発システム１１０の更新情報管理部５１０に転送する（処理［ｊ］）。
【００７０】
データ制御部５４０は、マスキング情報管理部５２０からマスキング情報管理テーブル５２１を取得し（処理［ｋ］）、更新情報管理部５１０から更新情報管理テーブル５１１を取得し（処理［ｌ］））、開発システム１１０で利用（データ２次利用）しているＴ時点のマスキングデータに適用するΔｔ後の更新を行うための差分データを作成する（処理［ｍ］）。
【００７１】
データ制御部５４０は、Ｔ時点のマスキングデータの参照（処理［ｎ］）と、生成した差分データの参照（処理［ｏ］）とにより、Ｔ時点のマスキングデータにＴ時点からＴ＋Δｔ時点までの更新（差分データ）を適用した論理ボリューム１１００を仮想サーバ４２０−２にマウントする（処理［ｐ］）。
【００７２】
以上の処理により、開発システム１１０では、Ｔ時点のマスキングデータと差分データとにより生成されたＴ＋Δｔ時点のマスキングデータによりデータ２次利用を行うことができる。
【００７３】
以降では、データ２次利用時におけるストレージ装置１１２の利用容量の削減方法の一連の処理についてフローチャートを用いて説明する。
【００７４】
図１２は、Ｔ時点のバックアップデータをコピーする処理に係るフローチャートの一例を示す図である。
【００７５】
まず、バックアップツール７１１は、本番システム１２０で稼動するＤＢＭＳ６１１のバックアップデータを定期的に取得する（ステップＳ１２１０）。
【００７６】
開発システム１１０の担当者からの利用要求、または開発システム１１０にコピーしたバックアップデータの定期的な更新要求などにより、本番システム１２０のバックアップツール７１１は、取得したＴ時点のバックアップデータを開発システム１１０のストレージ装置１１２にコピーする（ステップＳ１２２０）。
【００７７】
データ制御部５４０は、開発システム１１０のストレージ装置１１２にコピーされたバックアップデータをＤＢＭＳ４３１にマウントし、マスキングプログラム４３２によりマスキング処理を実施する（ステップＳ１２３０）。
【００７８】
開発システム１１０のマスキング情報管理部５２０は、Ｔ時点のバックアップデータのコピーに対するマスキング処理のマスキング情報をマスキング情報管理テーブル５２１に格納する（ステップＳ１２４０）。
【００７９】
データ制御部５４０は、マスキング処理を行ったバックアップデータを開発システム１１０のＤＢＭＳ４４１にマウントし、データ２次利用を行える環境を構築する（ステップＳ１２５０）。
【００８０】
図１３は、Ｔ＋Δｔ時点のバックアップデータを開発システム１１０にコピーする処理に係るフローチャートの一例を示す図である。
【００８１】
まず、本番システム１２０の更新情報管理部８１０は、Ｔ時点のバックアップ取得以降の更新情報を更新情報管理テーブル８１１に登録する（ステップＳ１３１０）。
【００８２】
本番システム１２０の更新情報管理部８１０は、開発システム１１０でＴ時点以降の更新情報の要求があるまで待機する（ステップＳ１３２０）。
【００８３】
更新情報管理部８１０は、要求があった場合、開発システム１１０の更新情報管理部５１０に更新情報管理テーブル８１１を転送する（ステップＳ１３３０）。
【００８４】
本番システム１２０のバックアップツール７１１は、Ｔ＋Δｔ時点のバックアップデータを開発システム１１０のストレージ装置１１２にコピーする（ステップＳ１３４０）。
【００８５】
開発システム１１０のマスキングプログラム４３２は、開発システム１１０にコピーされたバックアップデータにマスキング処理を行い、マスキング情報管理部５２０は、マスキング情報をマスキング情報管理テーブル５２１に登録する（ステップＳ１３５０）。
【００８６】
開発システム１１０のデータ制御部５４０は、マスキング情報管理部５２０によるマスキング情報のマスキング情報管理テーブル５２１への登録後は、開発システム１１０にコピーされたバックアップデータを削除する（ステップＳ１３６０）。
【００８７】
開発システム１１０のデータ制御部５４０は、Ｔ時点のマスキングデータに対してＴ＋Δｔ時点の更新を行う差分データを作成する処理を実施する（ステップＳ１３７０）。なお、係る処理については、図１４を用いて後述する。
【００８８】
開発システム１１０のデータ制御部５４０は、生成した差分データとＴ時点のマスキングデータとからＴ＋Δｔ時点のマスキングデータを生成し、ＤＢＭＳ４４１にマウントする（ステップＳ１３８０）。
【００８９】
図１４は、図１３で説明した差分データを作成する処理（ステップＳ１３７０）のより具体的な処理に係るフローチャートの一例を示す図である。
【００９０】
まず、データ制御部５４０は、開発システム１１０が本番システム１２０の更新情報管理部８１０から取得したＴ＋Δｔ時点の更新情報管理テーブル８１１で更新されたブロックのブロックＩＤ、更新フラグ、更新データを取得する（ステップＳ１４１０）。
【００９１】
データ制御部５４０は、マスキング情報管理テーブル５２１から、マスキング情報管理部５２０によりマスキングが行われたブロックのデータ項目１０４０〜データ項目１０７０のデータ（ブロックＩＤ、更新フラグ、マスキングフラグ、マスキングデータ）を取得する（ステップＳ１４２０）。
【００９２】
データ制御部５４０は、取得した情報に基づいて、Ｔ時点からＴ＋Δｔ時点までに更新されたブロックにマスキングが実施されているか否かを判定する（ステップＳ１４３０）。データ制御部５４０は、マスキングが実施されているブロックについては、ステップＳ１４５０の処理を行い、マスキングが実施されていないブロックについては、ステップＳ１４４０の処理を行う。
【００９３】
データ制御部５４０は、マスキングが実施されていないブロックについては、該当ブロックのブロックＩＤのデータ項目９６０の更新データ（更新情報）を差分データとして準備する（ステップＳ１４４０）。
【００９４】
データ制御部５４０は、マスキングが実施されているブロックについては、Ｔ＋Δｔ時点の該当ブロックのデータ項目１０７０のマスキングデータとＴ時点の該当ブロックのデータ項目１０７０のマスキングデータとが同じであるか否かを判定する（ステップＳ１４５０）。データ制御部５４０は、同じであると判定したブロックについては、ステップＳ１４６０の処理を行い、同じでないと判定したブロックについては、ステップＳ１４７０の処理を行う。
【００９５】
データ制御部５４０は、データが同じであるブロックについては、Ｔ＋Δｔ時点の該当ブロックのデータ項目１０７０のマスキングデータを差分データから削除する（ステップＳ１４６０）。
【００９６】
データ制御部５４０は、データが同じでないブロックについては、Ｔ＋Δｔ時点の該当ブロックのデータ項目１０７０のマスキングデータ（マスキング情報）を差分データとして準備する（ステップＳ１４７０）。
【００９７】
上述した処理により、開発システム１１０では、Ｔ時点のマスキングデータにＴ＋Δｔ時点の差分データを適用させることができるため、複数の利用者、利用用途などに合わせて別々に実データを所有させる必要がなく、実データのコピーを抑止し、ストレージ装置１１２の容量の圧迫を解消することができる。
【００９８】
ここで、開発システム１１０内で差分データが増大する懸念もあるため、データ制御部５４０が差分データの容量を監視する構成としてもよい。例えば、データ制御部５４０は、利用要求のデータを生成するときのベースとなるマスキングデータの容量を差分データの容量が超えるかどうかを監視する。データ制御部５４０は、超えると判定した場合、実データに統合する処理（新たにベースとするマスキングデータを生成する処理）を行う。かかる構成により、更にストレージ装置１１２の容量の圧迫を解消させることができる。かかる構成について、図１５を用いて説明する。
【００９９】
図１５は、マスキングデータと差分データとの関係を説明するための図である。ここでは、ｔＡ１時点、・・・、ｔＡｎ時点に差分データが生成されたケースを示す。なお、ｔＡ０時点に利用要求のデータを生成するときのベースとなるＡ０マスキングデータ１５１０がストレージ装置１１２に記憶されているものとする。
【０１００】
ｔＡ１時点では、Ａ１差分データ１５２１が生成される。ｔＡ１時点に利用要求があった際は、Ａ０マスキングデータ１５１０とＡ１差分データ１５２１とから利用要求のデータ１５２２が生成される。
【０１０１】
Ａ１差分データ１５２１の生成後、データ制御部５４０は、Ａ０マスキングデータ１５１０の容量と、Ａ１差分データ１５２１の容量とを比較する。ここでは、Ａ０マスキングデータ１５１０の容量は、第１の容量であり、Ａ１差分データ１５２１の容量は、第１の容量より小さい第２の容量とする。データ制御部５４０は、Ａ０マスキングデータ１５１０の容量よりもＡ１差分データ１５２１の容量の方が小さいので、何もしない（新たにベースとするマスキングデータを生成する処理は行わない。）。
【０１０２】
ｔＡｎ時点では、Ａｎ差分データ１５３１が生成される。ｔＡｎ時点に利用要求があった際は、Ａ０マスキングデータ１５１０とＡｎ差分データ１５３１とから利用要求のデータ１５３２が生成される。
【０１０３】
Ａｎ差分データ１５３１の生成後、データ制御部５４０は、Ａ０マスキングデータ１５１０の容量と、Ａｎ差分データ１５３１の容量とを比較する。ここでは、Ａ０マスキングデータ１５１０の容量は、第１の容量であり、Ａｎ差分データ１５３１の容量は、第１の容量より大きい第３の容量とする。データ制御部５４０は、Ａ０マスキングデータ１５１０の容量よりもＡｎ差分データ１５３１の容量の方が大きいので、ベースのマスキングデータを所定のタイミング（ｔＢ０時点）で作り直す。
【０１０４】
かかる処理を行うことで、ストレージ装置１１２の容量の圧迫を解消させることができる。
【０１０５】
また、本実施の形態では、値が同じマスキングデータを省いたＴ＋Δｔ時点の差分データを生成することでストレージ装置１１２の容量の圧迫を解消させていた。この差分データを各マスキングルールに合わせて世代管理することで、ある時点のマスキングルールのマスキングデータに戻すことも、Ｔ時点のマスキングルールのマスキングデータに戻すことも容易に行うことができる。
【０１０６】
（２）他の実施の形態
なお上述の実施の形態においては、本発明をデータ管理システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
【０１０７】
また、上述の実施の形態において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部（例えばメモリ）及び／又はインターフェース部（例えば通信ポート）等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。また、プロセッサ部は、処理の一部又は全部を行うハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）またはＡＳＩＣ（Application Specific Integrated Circuit））を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記録媒体（例えば非一時的な記録媒体）であってもよい。また、以下の説明において、２以上のプログラムが１つのプログラムとして実現されてもよいし、１つのプログラムが２以上のプログラムとして実現されてもよい。
【０１０８】
また、上述の実施の形態において、「プロセッサ部」は、１以上のプロセッサである。少なくとも１つのプロセッサは、典型的には、ＣＰＵのようなマイクロプロセッサであるが、ＧＰＵ（Graphics Processing Unit）のような他種のプロセッサでもよい。少なくとも１つのプロセッサは、シングルコアでもよいしマルチコアでもよい。少なくとも１つのプロセッサは、処理の一部又は全部を行うハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）又はＡＳＩＣ（Application Specific Integrated Circuit））といった広義のプロセッサでもよい。
【０１０９】
また、上述の実施の形態において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部または一部が１つのテーブルであってもよい。
【０１１０】
また、上述の実施の形態において、説明の便宜上、ＸＸテーブル、ＸＸファイルを用いて各種のデータを説明したが、データ構造は限定されるものではなく、ＸＸ情報などと表現してもよい。
【０１１１】
また、上記の説明において、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１１２】
本発明は、例えば、下記の特徴的な構成を有する。
【０１１３】
第１の時点（例えば、Ｔ時点）の実データのマスキング処理済みデータ（例えば、マスキングデータ）を記憶する記憶部（例えば、ＤＢＭＳ４４１）と、上記マスキング処理済みデータにおいてマスキングされた記憶領域を示す第１の情報（例えば、Ｔ時点のマスキング情報管理テーブル５２１）と、上記第１の時点から第２の時点までに上記実データが更新されたデータである更新データのマスキング処理済みデータにおいてマスキングされた記憶領域を示す第２の情報（例えば、Ｔ＋Δｔ時点のマスキング情報管理テーブル５２１）とに基づいて、上記更新データから、マスキングされていない記憶領域のデータを抽出し、上記更新データのマスキング処理済みデータから、マスキングされた記憶領域のデータであって上記マスキング処理済みデータと同じデータを排除したデータを抽出し、抽出したデータを差分データとして生成するデータ制御部（例えば、データ制御部５４０）と、を備えることを特徴とする。
【０１１４】
上記構成によれば、例えば、マスキング処理済みデータと差分データとから利用要求のデータを生成することができようになるので、利用要求ごとに実データを準備する必要がなくなる。また、例えば、第１の時点と第２の時点とで同じマスキング処理済みデータが差分データから排除されているので、データ容量を削減することができる。
【０１１５】
上記第１の情報として、上記マスキング処理済みデータにおいてマスキングが行われているか否かを示す情報（例えば、マスキングフラグ）をブロック単位に生成し、上記第２の情報として、上記更新データのマスキング処理済みデータにおいてマスキングが行われているか否かを示す情報（例えば、マスキングフラグ）をブロック単位に生成するマスキング情報管理部（例えば、マスキング情報管理部５２０）を備え、上記データ制御部は、上記第１の情報と上記第２の情報とに基づいて、上記更新データから、マスキングされていないブロック単位のデータを抽出し、上記更新データのマスキング処理済みデータから、マスキングされたブロック単位のデータであって上記マスキング処理済みデータと同じデータをブロック単位に排除したデータを抽出し、抽出したデータを差分データとして生成する、ことを特徴とする。
【０１１６】
上記構成によれば、例えば、ＤＢＭＳがアクセスするブロック単位にデータを扱うことで、ストレージ装置の記憶領域を効率よく管理できるようになる。
【０１１７】
上記データ制御部は、本番システムから送信される、上記第１の時点から上記第２の時点までの上記実データのデータソースと、ブロック単位に上記実データの更新の有無を示す情報（例えば、更新情報管理テーブル５１１）とに基づいて、上記データソースのマスキング処理済みデータから更新があったデータを取り出して上記更新データのマスキング処理済みデータを生成する（例えば、ステップＳ１４１０）、ことを特徴とする。
【０１１８】
上記構成では、データソースのマスキング処理済みデータから、更新データのマスキング処理済みデータをブロック単位に絞り込むことができる。
【０１１９】
上記データ制御部は、上記第２の時点のデータを利用する旨の要求（例えば、利用要求）に応じて、上記マスキング処理済みデータに上記差分データを適用して上記第２の時点のデータを生成する、ことを特徴とする。
【０１２０】
上記構成では、例えば、複数の利用者、開発、分析といった用途等による様々な利用要求がある場合、上記構成によれば、利用要求ごとに差分データが生成されるので、利用要求ごとに実データのマスキングデータを保持する必要がなく、ストレージ装置の容量の圧迫を解消することができる。
【０１２１】
上記データ制御部は、マスキング処理のルールが変更されたことに基づいて、上記差分データを生成する、ことを特徴とする。
【０１２２】
上記構成によれば、例えば、マスキング処理のルールが変更されるごとに差分データが生成されるので、ユーザは、所望のマスキング処理のルールのときのデータを利用できるようになる。
【０１２３】
上記データ制御部は、生成した差分データの容量が上記マスキング処理済みデータの容量を超えたか否かを判定し、超えたと判定した場合、所定の時点の実データのマスキング処理済みデータを生成し、上記所定の時点以降、上記所定の時点の実データのマスキング処理済みデータからの差分データを生成する、ことを特徴とする。
【０１２４】
上記構成では、差分データを生成することにより、ストレージ装置の容量を圧迫してしまう事態を回避することができる。
【０１２５】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【０１２６】
以上のように本発明の実施の形態について説明したが、本発明の技術範囲は上記実施の形態に記載された範囲に限定されない。本発明者によってなされた発明を上記実施の形態に基づき具体的に説明したが、その要旨を逸脱しない範囲で種々の変更または改良を加えることが可能であることは言うまでもない。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【符号の説明】
【０１２７】
１００……データ管理システム、１１０……開発システム、１２０……本番システム。
【図１】
2020154463.tif 000003
【図２】
2020154463.tif 000004
【図３】
2020154463.tif 000005
【図４】
2020154463.tif 000006
【図５】
2020154463.tif 000007
【図６】
2020154463.tif 000008
【図７】
2020154463.tif 000009
【図８】
2020154463.tif 000010
【図９】
2020154463.tif 000011
【図１０】
2020154463.tif 000012
【図１１】
2020154463.tif 000013
【図１２】
2020154463.tif 000014
【図１３】
2020154463.tif 000015
【図１４】
2020154463.tif 000016
【図１５】
2020154463.tif 000017