(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023169514
(43)【公開日】2023-11-30
(54)【発明の名称】計算機システム、データの来歴の追跡方法、及びプログラム
(51)【国際特許分類】
G06F 16/11 20190101AFI20231122BHJP
【FI】
G06F16/11
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022080658
(22)【出願日】2022-05-17
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】仲野 香緒里
(72)【発明者】
【氏名】林 真一
(57)【要約】
【課題】データベース管理システム及び基盤システムを用いてデータを管理するシステムにおいて、データの格納場所を網羅的に追跡する
【解決手段】計算機システムは、データを管理するデータベース管理システム及び格納領域を管理する基盤システムと接続し、ターゲットデータの識別情報を含む追跡要求を受け付け、データベース管理システムが管理するデータに関する情報に基づいて、ターゲットデータの存在期間を算出し、格納領域の構成に関する構成履歴情報に基づいて、データ存在期間において、データベース管理システムに提供され、かつ、ターゲットデータが格納された第1格納領域を特定し、データ存在期間及び格納領域の複製操作の履歴に基づいて、第1格納領域を起点として、複製操作によってターゲットデータが格納された第2格納領域を追跡する追跡処理を実行する。
【選択図】
図11
【特許請求の範囲】
【請求項1】
計算機システムであって、
プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有する、少なくとも一つの計算機を含み、
データを管理する少なくとも一つのデータベース管理システム、及びデータの格納領域を管理する少なくとも一つの基盤システムと接続し、
前記計算機システムは、
ターゲットデータの識別情報を含む追跡要求を受け付け、
前記少なくとも一つのデータベース管理システムが管理するデータに関する情報に基づいて、前記少なくとも一つのデータベース管理システムによって前記ターゲットデータが管理されていたデータ存在期間を算出し、
前記少なくとも一つの基盤システムにおける前記格納領域の構成に関する構成履歴情報に基づいて、前記データ存在期間において、前記少なくとも一つのデータベース管理システムに提供され、かつ、前記ターゲットデータが格納された第1格納領域を特定し、
前記データ存在期間、及び前記少なくとも一つの基盤システムの前記格納領域の複製操作の履歴に基づいて、前記第1格納領域を起点として、複製操作によって前記ターゲットデータが格納された第2格納領域を追跡する追跡処理を実行し、
前記ターゲットデータが格納された前記格納領域として、前記第1格納領域及び前記第2格納領域に関する情報を出力することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記計算機システムは、
前記第1格納領域を追跡リストに登録し、
前記追跡処理において、
前記追跡リストから一つのターゲット格納領域を選択し、
前記ターゲット格納領域の存在期間を算出し、
前記少なくとも一つの基盤システムの前記ターゲット格納領域に関連する複製操作の履歴に基づいて複製操作実行期間を算出し、
前記データ存在期間、前記ターゲット格納領域の存在期間、及び前記複製操作実行期間に基づいて、前記第2格納領域を特定し、前記追跡リストに登録することを特徴とする計算機システム。
【請求項3】
請求項2に記載の計算機システムであって、
前記計算機システムは、
前記第2格納領域を特定するためのポリシを管理するための追跡ポリシ情報を保持し、
前記少なくとも一つの基盤システムの前記ターゲット格納領域に関連する複製操作の履歴に基づいて、前記ターゲット格納領域が複製された前記格納領域を特定し、
特定された前記格納領域が前記ポリシを満たすか否かを判定することを特徴とする計算機システム。
【請求項4】
請求項3に記載の計算機システムであって、
前記追跡ポリシ情報には、前記複製操作の種別毎に前記ポリシが設定され、
前記ポリシは、前記データ存在期間、前記ターゲット格納領域の存在期間、及び前記複製操作実行期間の少なくとも二つを用いて定義されることを特徴とする計算機システム。
【請求項5】
請求項1に記載の計算機システムであって、
前記ターゲットデータの前記データ存在期間は、前記少なくとも一つのデータベース管理システムによって前記ターゲットデータが生成された日時と、前記少なくとも一つのデータベース管理システムによって前記ターゲットデータが完全削除された日時とに基づいて算出されることを特徴とする計算機システム。
【請求項6】
請求項1に記載の計算機システムであって、
前記少なくとも一つの基盤システムにおける前記格納領域の構成に関する構成履歴情報に基づいて、前記第1格納領域及び前記第2格納領域に記憶領域を提供するドライブ群を特定し、
特定された前記ドライブ群に関する情報を出力することを特徴とする計算機システム。
【請求項7】
請求項6に記載の計算機システムであって、
前記少なくとも一つの基盤システムにおける前記格納領域の構成に関する構成履歴情報に基づいて、前記特定されたドライブ群を搭載する前記基盤システムを特定し、
特定された前記基盤システムに関する情報を出力することを特徴とする計算機システム。
【請求項8】
請求項1に記載の計算機システムであって、
前記第1格納領域及び前記第2格納領域に対して、ユーザからの指示にしたがって、前記ターゲットデータの削除操作及び複製操作の少なくともいずれかを実行することを特徴とする計算機システム。
【請求項9】
請求項1に記載の計算機システムであって、
前記データの格納場所のポリシを管理するための格納ポリシ情報を保持し、
前記第1格納領域及び前記第2格納領域が前記データの格納場所のポリシを満たすか否かを判定し、判定結果を出力することを特徴とする計算機システム。
【請求項10】
計算機システムが実行するデータの来歴の追跡方法であって、
前記計算機システムは、
プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有する、少なくとも一つの計算機を含み、
データを管理する少なくとも一つのデータベース管理システム、及びデータの格納領域を管理する少なくとも一つの基盤システムと接続し、
前記データの来歴の追跡方法は、
前記少なくとも一つの計算機が、ターゲットデータの識別情報を含む追跡要求を受け付ける第1のステップと、
前記少なくとも一つの計算機が、前記少なくとも一つのデータベース管理システムが管理するデータに関する情報に基づいて、前記少なくとも一つのデータベース管理システムによって前記ターゲットデータが管理されていたデータ存在期間を算出する第2のステップと、
前記少なくとも一つの計算機が、前記少なくとも一つの基盤システムにおける前記格納領域の構成に関する構成履歴情報に基づいて、前記データ存在期間において、前記少なくとも一つのデータベース管理システムに提供され、かつ、前記ターゲットデータが格納された第1格納領域を特定する第3のステップと、
前記少なくとも一つの計算機が、前記データ存在期間、及び前記少なくとも一つの基盤システムの前記格納領域の複製操作の履歴に基づいて、前記第1格納領域を起点として、複製操作によって前記ターゲットデータが格納された第2格納領域を追跡する追跡処理を実行する第4のステップと、
前記少なくとも一つの計算機が、前記ターゲットデータが格納された前記格納領域として、前記第1格納領域及び前記第2格納領域に関する情報を出力する第5のステップと、を含むことを特徴とするデータの来歴の追跡方法。
【請求項11】
請求項10に記載のデータの来歴の追跡方法であって、
前記第3のステップは、前記少なくとも一つの計算機が、前記第1格納領域を追跡リストに登録するステップを含み、
前記追跡処理は、
前記少なくとも一つの計算機が、前記追跡リストから一つのターゲット格納領域を選択する第6のステップと、
前記少なくとも一つの計算機が、前記ターゲット格納領域の存在期間を算出する第7のステップと、
前記少なくとも一つの計算機が、前記少なくとも一つの基盤システムの前記ターゲット格納領域に関連する複製操作の履歴に基づいて複製操作実行期間を算出する第8のステップと、
前記少なくとも一つの計算機が、前記データ存在期間、前記ターゲット格納領域の存在期間、及び前記複製操作実行期間に基づいて、前記第2格納領域を特定し、前記追跡リストに登録する第9のステップと、を含むことを特徴とするデータの来歴の追跡方法。
【請求項12】
請求項11に記載のデータの来歴の追跡方法であって、
前記計算機システムは、前記第2格納領域を特定するためのポリシを管理するための追跡ポリシ情報を保持し、
前記第9のステップは、
前記少なくとも一つの計算機が、前記少なくとも一つの基盤システムの前記ターゲット格納領域に関連する複製操作の履歴に基づいて、前記ターゲット格納領域が複製された前記格納領域を特定するステップと、
前記少なくとも一つの計算機が、特定された前記格納領域が前記ポリシを満たすか否かを判定するステップと、を含むことを特徴とするデータの来歴の追跡方法。
【請求項13】
請求項12に記載のデータの来歴の追跡方法であって、
前記追跡ポリシ情報には、前記複製操作の種別毎に前記ポリシが設定され、
前記ポリシは、前記データ存在期間、前記ターゲット格納領域の存在期間、及び前記複製操作実行期間の少なくとも二つを用いて定義されることを特徴とするデータの来歴の追跡方法。
【請求項14】
計算機に実行させるためのプログラムであって、
前記計算機は、
プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
データを管理する少なくとも一つのデータベース管理システム、及びデータの格納領域を管理する少なくとも一つの基盤システムと接続し、
前記プログラムは、
ターゲットデータの識別情報を含む追跡要求を受け付ける第1の手順と、
前記少なくとも一つのデータベース管理システムが管理するデータに関する情報に基づいて、前記少なくとも一つのデータベース管理システムによって前記ターゲットデータが管理されていたデータ存在期間を算出する第2の手順と、
前記少なくとも一つの基盤システムにおける前記格納領域の構成に関する構成履歴情報に基づいて、前記データ存在期間において、前記少なくとも一つのデータベース管理システムに提供され、かつ、前記ターゲットデータが格納された第1格納領域を特定する第3の手順と、
前記データ存在期間、及び前記少なくとも一つの基盤システムの前記格納領域の複製操作の履歴に基づいて、前記第1格納領域を起点として、複製操作によって前記ターゲットデータが格納された第2格納領域を追跡する追跡処理を実行する第4の手順と、
前記ターゲットデータが格納された前記格納領域として、前記第1格納領域及び前記第2格納領域に関する情報を出力する第5の手順と、
を前記計算機に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの来歴を追跡する技術に関する。
【背景技術】
【0002】
個人情報の保護及びセキュリティ対策の強化等の観点から、機密データの厳密な管理が重要となっている。機密データの管理において、機密データの格納場所を把握する必要がある。これに対して特許文献1に記載の技術が知られている。
【0003】
特許文献1には「メタデータ管理サーバ及び来歴を管理する来歴管理サーバを備える計算機システムにおいて、前記各サーバは、前記ファイルを保持するクライアント計算機と接続されており、前記メタデータ管理サーバは、前記クライアント計算機に保持されるファイルのメタデータが変更されたイベントを検出し、前記検出されたイベントに関係する来歴の検索を前記来歴管理サーバに要求し、前記来歴管理サーバから送信された来歴の検索結果に基づいて、前記メタデータが変更された第1ファイルから派生した派生先の第2ファイル、及び当該第1ファイルを派生した派生元の第3ファイルを抽出し、前記抽出された第2ファイル及び第3ファイルのうち、前記メタデータを更新すべきファイルを特定し、前記特定されたファイルのメタデータを更新するためのメタデータ更新要求を生成する」ことが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011-238165号公報
【特許文献2】特開2004-258733号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術を用いることによって、ファイル及び派生ファイルを特定することができる。
【0006】
近年のシステム構成では、データを管理するデータベース管理システムと、データを格納する記憶領域を管理する基盤システムとが別々に存在する。したがって、基盤システムは、データを管理するシステムとは独立して、記憶領域のコピー及びバックアップ等を行っている。基盤システムは、記憶領域の構成に関する履歴を管理しているが、記憶領域に格納されるデータは管理していない。
【0007】
したがって、データベース管理システムの操作履歴及び基盤システムの操作履歴を単純に組み合わせるだけではデータの全ての格納場所を把握することが難しい。
【0008】
本発明は、データベース管理システム及び基盤システムを用いてデータを管理するシステムにおいて、データの格納場所を網羅的に追跡する技術を提供する。
【課題を解決するための手段】
【0009】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機システムであって、プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有する、少なくとも一つの計算機を含み、データを管理する少なくとも一つのデータベース管理システム、及びデータの格納領域を管理する少なくとも一つの基盤システムと接続し、前記計算機システムは、ターゲットデータの識別情報を含む追跡要求を受け付け、前記少なくとも一つのデータベース管理システムが管理するデータに関する情報に基づいて、前記少なくとも一つのデータベース管理システムによって前記ターゲットデータが管理されていたデータ存在期間を算出し、前記少なくとも一つの基盤システムにおける前記格納領域の構成に関する構成履歴情報に基づいて、前記データ存在期間において、前記少なくとも一つのデータベース管理システムに提供され、かつ、前記ターゲットデータが格納された第1格納領域を特定し、前記データ存在期間、及び前記少なくとも一つの基盤システムの前記格納領域の複製操作の履歴に基づいて、前記第1格納領域を起点として、複製操作によって前記ターゲットデータが格納された第2格納領域を追跡する追跡処理を実行し、前記ターゲットデータが格納された前記格納領域として、前記第1格納領域及び前記第2格納領域に関する情報を出力する。
【発明の効果】
【0010】
本発明によれば、データベース管理システム及び基盤システムを用いてデータを管理するシステムにおいて、データの格納場所を網羅的に追跡することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】実施例1のシステムの構成の一例を示す図である。実施例1の計算機の構成の一例を示す図である。
【
図2】実施例1のデータベース管理システム情報に含まれる情報の一例を示す図である。
【
図3】実施例1の基盤システム情報に含まれる情報の一例を示す図である。
【
図4】実施例1の基盤システム情報に含まれる情報の一例を示す図である。
【
図5】実施例1の基盤システム情報に含まれる情報の一例を示す図である。
【
図6】実施例1の基盤システム情報に含まれる情報の一例を示す図である。
【
図7】実施例1の基盤システム情報に含まれる情報の一例を示す図である。
【
図8】実施例1の基盤システム情報に含まれる情報の一例を示す図である。
【
図9】実施例1の基盤システム情報に含まれる情報の一例を示す図である。
【
図10A】実施例1の追跡ポリシ情報に含まれる情報の一例を示す図である。
【
図10B】実施例1の追跡ポリシ情報に含まれる情報の一例を示す図である。
【
図10C】実施例1の追跡ポリシ情報に含まれる情報の一例を示す図である。
【
図11】実施例1のデータ来歴管理システムが実行するデータ追跡処理の一例を説明するフローチャートである。
【
図12】実施例1のデータ来歴管理システムが生成する追跡リストの一例を示す図である。
【
図13A】実施例1のデータ来歴管理システムが実行する関連ボリューム追跡処理の一例を説明するフローチャートである。
【
図13B】実施例1のデータ来歴管理システムが実行する関連ボリューム追跡処理の一例を説明するフローチャートである。
【
図14】実施例1のデータ来歴管理システムが出力する追跡結果の一例を示す図である。
【
図15】実施例3のデータ来歴管理システムが実行するドライブ追跡処理の一例を説明するフローチャートである。
【
図16】実施例3のデータ来歴管理システムが生成するドライブグループリストの一例を示す図である。
【
図17】実施例3のデータ来歴管理システムが出力する追跡結果の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0013】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0014】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【0015】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例0016】
図1は、実施例1のシステムの構成の一例を示す図である。
図2は、実施例1の計算機の構成の一例を示す図である。
【0017】
システムは、データ来歴管理システム100、データベース管理システム101、及び基盤システム102を含む。各システムは、LAN(Local Area Network)及びWAN(Wide Area Network)等のネットワーク105を介して互いに接続される。なお、ネットワーク105の接続方式は有線及び無線のいずれでもよい。
【0018】
なお、データベース管理システム101の数は二つ以上でもよい。また、基盤システム102の数は二つ以上でもよい。
【0019】
データベース管理システム101は、ユーザデータを格納するデータベースの管理を行うシステムである。データベース管理システム101は、プロセッサ、主記憶装置、及びネットワークインタフェースを有する計算機から構成される。データベース管理システム101は、データベースの管理を行うデータベース管理部130を有する。データベース管理部130は、基盤システム102が提供する格納領域(ボリューム141)にデータを格納する。なお、データベース管理システム101は、各種制御情報を保持しているが発明とは直接関係しないため省略している。
【0020】
なお、本発明は、データベース管理システム101が扱うデータの種別及びサイズに限定されたない。データは、例えば、ブロックデータ、テーブル、及びファイル等である。また、テーブル及びファイルの一部のデータを追跡対象とすることもできる。
【0021】
基盤システム102は、データベース管理システム101にボリューム141を提供するシステムである。基盤システム102の構成としては以下のようなものが考えられる。(構成1)プロセッサ、主記憶装置、副記憶装置(ドライブ)、及びネットワークインタフェースを有する計算機から構成されるシステム。(構成2)プロセッサ、主記憶装置、及びネットワークインタフェースを有する計算機、並びに、ドライブ群を搭載したドライブボックスから構成されるシステム。(2)の構成の基盤システム102は、いわゆる、ストレージシステムである。
【0022】
基盤システム102は、ボリューム141の生成、複製、及び削除、並び、データベース管理システム101に対するボリューム141の割当て等を制御する基盤管理部140を有する。なお、基盤システム102は、各種制御情報を保持しているが発明とは直接関係しないため省略している。
【0023】
基盤管理部140は、複数のドライブからRAID(Redundant Arrays of Inexpensive Disks)を構成するドライブグループを生成し、ドライブグループからボリューム141を生成する。
【0024】
データ来歴管理システム100は、データベース管理システム101が扱ったデータの来歴を管理するシステムである。データベース管理システム101は、例えば、
図2に示すような計算機200から構成される。
【0025】
計算機200は、プロセッサ201、主記憶装置202、副記憶装置203、及びネットワークインタフェース204を有する。各ハードウェア要素はバス205を介して互いに接続される。なお、計算機200は、キーボード、マウス、及びタッチパネル等の入力装置、並びに、ディスプレイ等の出力装置を有してもよい。
【0026】
プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。実施例1のプロセッサ201は、プログラムにしたがって処理を実行することによって、情報取得部110及び追跡部111として機能する。なお、基盤システム102が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【0027】
主記憶装置202は、メモリ等であり、プロセッサ201が実行するプログラム及びプログラムが使用する情報を格納する。実施例1の主記憶装置202は、情報取得部110及び追跡部111の各々を実現するプログラムを格納し、また、データベース管理システム情報120、基盤システム情報121、及び追跡ポリシ情報122を格納する。
【0028】
副記憶装置203は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等であり、永続的に大量のデータを格納する。主記憶装置202に格納されるプログラム及び情報は、副記憶装置203に格納されてもよい。この場合、プロセッサ201が副記憶装置203からプログラム及び情報を読み出し、主記憶装置202にロードする。
【0029】
ネットワークインタフェース204は、ネットワークを介して外部の装置と通信する。
【0030】
次に、データベース管理システム情報120、基盤システム情報121、及び追跡ポリシ情報122の詳細について説明する。
【0031】
情報取得部110は、データベース管理システム101から、データベース管理システム101が管理してるデータに関する情報及びデータに対する操作に関する情報等を取得し、データベース管理システム情報120に格納する。情報取得部110は、基盤システム102から、基盤システム102が管理しているボリューム141に関する情報及びボリューム141に対する操作に関する情報等を取得し、基盤システム情報121に格納する。
【0032】
なお、情報取得部110は、データに関する情報及びデータに対する操作に関する情報等をデータベース管理システム101から直接収集してもよいし、別のシステムから間接的に収集してもよい。例えば、データカタログシステムのように、複数のデータ及びデータベースをまとめて管理するシステムから情報を収集してもよい。また、データ操作の情報は、操作ログから収集してもよいし、周期的にデータの状態及び構成を管理し、その変化から推測した操作に関する情報でもよい。ボリューム141に関する情報及びボリューム141に対する操作に関する情報等も同様に、基盤システム102以外から間接的に収集してもよい。また、基盤の状態及び構成から推測した操作に関する情報を収集してもよい。
【0033】
本実施例は、オンプレミス型のシステム、パブリッククラウド、ハイプリッドクラウド、及びマルチクラウドのいずれにも対応することができる。
【0034】
図3は、実施例1のデータベース管理システム情報120に含まれる情報の一例を示す図である。
図4、
図5、
図6、
図7、
図8、及び
図9は、実施例1の基盤システム情報121に含まれる情報の一例を示す図である。
図10A、
図10B、及び
図10Cは、実施例1の追跡ポリシ情報122に含まれる情報の一例を示す図である。
【0035】
データベース管理システム情報120は、データベース管理システム101が扱ったデータに関する情報を管理するための情報である。
【0036】
データベース管理システム情報120には、例えば、テーブル300が含まれる。テーブル300は、データベース管理システム101がこれまでに扱ったデータを管理するための情報であり、データUUID301、データID302、DB ID303、作成日時304、及び削除日時305を含むエントリを格納する。データ及びデータが扱われた時間の組合せに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0037】
データUUID301は、データベース管理システム101がこれまでに扱ったデータを一意に識別するための識別情報を格納するフィールドである。データID302は、データベース管理システム101がデータを識別するための識別情報を格納するフィールドである。DB ID303は、データを管理していたデータベース管理システム101の識別情報を格納するフィールドである。作成日時304は、データベース管理システム101によってデータが作成された日時を格納するフィールドである。削除日時305は、データベース管理システム101によってデータが削除された日時を格納するフィールドである。
【0038】
削除日時305が空欄であるエントリに対応するデータは、データベース管理システム101によって現在も管理されていることを示す。
【0039】
なお、通常のデータの削除と、復元が困難な形式のデータの削除(ワイプ)とを分けて管理してもよい。この場合、エントリにはワイプの時刻を格納するフィールドを含めることができる。
【0040】
基盤システム情報121は、ボリューム141の構成、及びボリューム141に対する制御ログ等を管理するための情報である。基盤システム情報121には、例えば、テーブル400、500、600、700、800、900が含まれる。
【0041】
図4に示すテーブル400は、基盤システム102がこれまでに管理したボリューム141を管理するための情報であり、ボリュームUUID401、ボリュームID402、基盤ID403、作成日時404、及び削除日時405を含むエントリを格納する。ボリューム141及びボリューム141が管理された時間の組合せに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0042】
ボリュームUUID401は、基盤システム102がこれまでに管理したボリューム141を一意に識別するための識別情報を格納するフィールドである。ボリュームID402は、基盤システム102がボリューム141を識別するための識別情報を格納するフィールドである。基盤ID403は、ボリューム141を管理するための識別情報を格納するフィールドである。作成日時404は、基盤システム102によってボリューム141が作成された日時を格納するフィールドである。削除日時405は、基盤システム102によってボリューム141が削除された日時を格納するフィールドである。
【0043】
削除日時405が、空欄のエントリに対応するボリューム141は、基盤システム102によって現在も管理されていることを示す。
【0044】
なお、通常のボリューム141の削除と、復元が困難の形式のデータの削除(ワイプ)とを分けて管理してもよい。この場合、エントリにはワイプの時刻を格納するフィールドを含めることができる。
【0045】
図5に示すテーブル500は、ボリューム141と、ボリューム141を構成する記憶領域を提供するドライブグループとの対応関係を管理するための情報であり、ボリュームUUID501、ドライブグループID502、ドライブID503、基盤ID504、作成日時505、及び削除日時506を含むエントリを格納する。ボリューム141に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0046】
ボリュームUUID501はボリュームUUID401と同一のフィールドである。ドライブグループID502は、ボリューム141を構成する記憶領域を提供するドライブグループの識別情報を格納するフィールドである。ドライブID503は、ドライブグループに含まれるドライブの識別情報を格納するフィールドである。ドライブID503には、ドライブグループに含まれる全てのドライブの識別情報がリスト形式で格納される。基盤ID504は、ドライブグループを管理する基盤システム102の識別情報を格納するフィールドである。作成日時505は、基盤システム102によってドライブグループが作成された日時を格納するフィールドである。削除日時506は、基盤システム102によってドライブグループが削除された日時を格納するフィールドである。
【0047】
図6に示すテーブル600は、仮想ボリュームを管理するための情報であり、ボリュームUUID601、外部ボリュームUUID602、開始日時603、及び終了日時604を含むエントリを格納する。仮想ボリュームに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0048】
仮想ボリュームは、ある基盤システム102が、他の基盤システム102が管理するボリューム141を、自身が管理するボリューム141として提供するボリュームである。仮想ボリュームに対するIOを受け付けた場合、基盤システム102間でデータの送受信が行われる。
【0049】
ボリュームUUID601及び外部ボリュームUUID602は、ボリュームUUID401と同一のフィールドである。ただし、ボリュームUUID601には仮想ボリュームのボリュームUUIDが格納され、外部ボリュームUUID602には仮想ボリュームの実体であるボリューム141のUUIDが格納される。開始日時603は、仮想ボリュームの提供を開始した日時を格納するフィールドである。終了日時604は、仮想ボリュームの提供を終了した日時を格納するフィールドである。
【0050】
図7に示すテーブル700は、データベース管理システム101に対するボリューム141の割当てを管理するための情報であり、DB ID701、ボリュームUUID702、開始日時703、及び終了日時704を含むエントリを格納する。データベース管理システム101及びボリューム141の組合せに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0051】
DB ID701はDB ID303と同一のフィールドである。ボリュームUUID702はボリュームUUID401と同一のフィールドである。開始日時703は、データベース管理システム101へのボリューム141の提供が開始された日時を格納するフィールドである。終了日時704は、データベース管理システム101へのボリューム141の提供が終了した日時を格納するフィールドである。
【0052】
図8に示すテーブル800は、基盤システム102におけるボリューム141の複製操作のログを管理するための情報であり、ボリュームUUID(Source)801、ボリュームUUID(Destination)802、操作タイプ803、開始日時804、及び終了日時805を含むエントリを格納する。一回の複製操作に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0053】
ボリュームUUID(Source)801及びボリュームUUID(Destination)802は、ボリュームUUID401と同一のフィールドである。ただし、ボリュームUUID(Source)801には複製元のボリューム141のボリュームUUIDが格納され、ボリュームUUID(Destination)802には複製先のボリューム141のUUIDが格納される。操作タイプ803は、複製操作のタイプを格納するフィールドである。操作タイプ803には、任意の時点におけるデータの複製を表す「一時複製」、任意の時点のボリューム141の状態の複製を表す「スナップショット」、並びに、ミラーリング及びレプリケーション等、同期複製を表す「定常複製」のいずれかが格納される。なお、前述した操作タイプは一例であって、これに限定されない。開始日時804は、ボリューム141の複製処理が開始された日時を格納するフィールドである。終了日時805は、ボリューム141の複製処理が終了した日時を格納するフィールドである。
【0054】
図9に示すテーブル900は、基盤システム102におけるボリューム141の移動(マイグレーション)操作のログを管理するための情報であり、ボリュームUUID901、ドライブグループID(Source)902、ドライブグループID(Destination)903、開始日時904、及び終了日時905を含むエントリを格納する。一回の移動操作に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0055】
ボリュームUUID901はボリュームUUID401と同一のフィールドである。ドライブグループID(Source)902及びドライブグループID(Destination)903は、ドライブグループID502と同一のフィールドである。ただし、ドライブグループID(Source)902には移動元のドライブグループの識別情報が格納され、及びドライブグループID(Destination)903には移動先のドライブグループの識別情報が格納される。開始日時904は、ボリューム141の移動が開始された日時を格納するフィールドである。終了日時905は、ボリューム141の移動が終了した日時を格納するフィールドである。
【0056】
以上で説明したように、テーブル400、500、600、700は、基盤システム102におけるボリューム141の構成に関する履歴情報であり、テーブル800、900は、基盤システム102のボリューム141に対する各種操作の履歴情報である。
【0057】
追跡ポリシ情報122は、データの格納先であるボリューム141及びドライブを追跡するためのポリシを管理するための情報である。追跡ポリシ情報122には、例えば、テーブル1000、1010、1020が含まれる。
【0058】
図10Aに示すテーブル1000は、基盤システム102に提供され、かつ、追跡対象のデータを格納するボリューム141(第1層ボリューム141)と複製関係を有し、かつ、当該データが格納されているボリューム141(第2層ボリューム141)を探索するためのポリシを管理するための情報である。テーブル1000は、操作タイプ1001、格納条件1002、追跡条件1003を含むエントリを格納する。複製操作の一つのタイプに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0059】
操作タイプ1001は、複製操作のタイプを格納するフィールドである。格納条件1002は、起点となるボリューム141と複製関係を有し、かつ、追跡対象のデータが格納されているか否かを判定するための条件を格納するフィールドである。追跡条件1003は、起点となるボリューム141と複製関係を有し、かつ、追跡対象となるボリューム141であるか否かを判定するための条件を格納するフィールドである。
【0060】
図10B及び
図10Cに示すテーブル1010、1020は、第2層以上の階層のボリューム141と複製関係を有し、かつ、追跡対象のデータが格納されているボリューム141を探索するためのポリシを管理するための情報である。
【0061】
各階層の複製操作のタイプに応じてテーブル1010、1020が切り替えられる。テーブル1010は、判定対象のボリューム141に関連する各階層のボリューム141の複製操作のタイプが全て定常複製である場合に使用される。テーブル1020は、判定対象のボリューム141に関連する少なくとも一つの階層のボリューム141の複製操作のタイプが定常複製でない場合に使用される。
【0062】
操作タイプ1011及び操作タイプ1021は、操作タイプ1001と同一のフィールドである。格納条件1012及び格納条件1022は、格納条件1002と同一のフィールドである。追跡条件1013及び追跡条件1023は、追跡条件1003と同一のフィールドである。
【0063】
格納条件1002、1012、1022及び追跡条件1003、1013、1033に設定される条件は、データの存在期間、ボリューム141の提供期間、及び複製処理の実行期間に基づいて定義される。データの存在期間は、作成日時304及び削除日時305から算出され期間である。ボリューム141の存在期間は、作成日時404及び削除日時405から算出される期間である。複製操作の実行期間は、開始日時804及び終了日時805から算出される期間である。
【0064】
データの存在期間、ボリューム141の提供期間、及び複製処理の実行期間を用いた条件に基づいて、データが格納されたボリュームを網羅的に追跡することができる。また、複製操作のツリーを考慮して、使用する条件を切り替えることによって、複製操作の種別の特性に応じてボリュームを網羅的に追跡することができる。
【0065】
以上が、データ来歴管理システム100が保持する情報の説明である。次に、データ来歴管理システム100が実行するデータ追跡処理について説明する。
図11は、実施例1のデータ来歴管理システム100が実行するデータ追跡処理の一例を説明するフローチャートである。
図12は、実施例1のデータ来歴管理システム100が生成する追跡リストの一例を示す図である。
【0066】
追跡部111は、ユーザから、追跡対象のデータ(ターゲットデータ)の識別情報(データUUID)を含む追跡要求を受け付ける(ステップS101)。なお、追跡部111は、テーブル300を参照して、追跡可能なデータのデータUUIDを表示するようにしてもよい。
【0067】
追跡部111は、データベース管理システム情報120に基づいて、ターゲットデータの存在期間を算出する(ステップS102)。
【0068】
具体的には、追跡部111は、テーブル300を参照し、データUUID301にターゲットデータのデータUUIDが格納されるエントリを検索する。追跡部111は、検索されたエントリの作成日時304及び削除日時305に基づいてデータの存在期間を算出する。なお、削除日時305が空欄の場合、追跡部111は、作成日時304及び現在の日時に基づいてデータの存在期間を算出する。
【0069】
追跡部111は、データの存在期間及び基盤システム情報121に基づいて、データベース管理システム101に提供されていたボリューム141であって、ターゲットデータが格納されていたボリューム141(第1層ボリューム141)を検索する(ステップS103)。
【0070】
具体的には、追跡部111は、テーブル700を参照し、DB ID701に、ステップS102において特定されたエントリのDB ID303の値が設定されたエントリを検索する。追跡部111は、検索されたエントリの作成日時404及び削除日時405から判定期間を算出する。追跡部111は、判定期間がデータの存在期間を包含する場合、対応するエントリのボリューム141を第1層ボリューム141として特定する。
【0071】
追跡部111は、第1層ボリューム141を追跡リスト1200に登録する(ステップS104)。
【0072】
追跡リスト1200は、階層1201、ボリュームUUID(Destination)1202、ボリュームUUID(Source)1203、操作タイプ1204、追跡フラグ1205、及び格納フラグ1206を含むエントリを検索する。一つのターゲットボリューム141に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
【0073】
階層1201は、第1層ボリューム141を起点とした複製関係の階層を格納するフィールドである。ここでは、第1層ボリューム141の階層を1とする。ボリュームUUID(Destination)1202及びボリュームUUID(Source)1203は、ボリュームUUID401と同一のフィールドである。ただし、ボリュームUUID(Destination)1202には、探索されたボリューム141のUUIDが格納され、ボリュームUUID(Source)1203には、探索されたボリューム141の複製元のボリューム141のUUIDが格納される。操作タイプ1204は、二つのボリューム141の間で行われた複製操作のタイプを格納するフィールドである。
【0074】
追跡フラグ1205は、ボリュームUUID(Destination)1202に対応するボリューム141を起点に探索を行うか否かを判定するためのフラグを格納するフィールドである。ボリューム141を起点に探索を行う場合、追跡フラグ1205には「1」が設定され、ボリューム141を起点に探索を行わない場合、追跡フラグ1205には「0」が設定される。
【0075】
格納フラグ1206は、ボリュームUUID(Destination)1202に対応するボリューム141にターゲットデータが格納されているか否かを示すフラグを格納するフィールドである。ボリューム141にターゲットデータが格納されている場合、格納フラグ1206には「1」が設定され、ボリューム141にターゲットデータが格納されていない場合、格納フラグ1206には「0」が設定される。
【0076】
ステップS104では、追跡部111は、追跡リスト1200にエントリを追加し、階層1201に「1」を設定し、ボリュームUUID(Destination)1202に第1層ボリューム141のボリュームUUIDを設定する。また、追跡部111は、追跡フラグ1205に「1」を設定し、格納フラグ1206に「1」を設定する。ボリュームUUID(Source)1203及び操作タイプ1204は空欄となる。
【0077】
追跡部111は、第1層ボリューム141と複製関係を有し、かつ、ターゲットデータを格納するボリューム141(関連ボリューム141)を追跡するための関連ボリューム追跡処理を実行する(ステップS105)。関連ボリューム追跡処理については後述する。
【0078】
追跡部111は、第1層ボリューム141及び関連ボリューム141を含む追跡結果を出力し(ステップS106)、データ追跡処理を終了する。
【0079】
図13は、実施例1のデータ来歴管理システム100が実行する関連ボリューム追跡処理の一例を説明するフローチャートである。
【0080】
追跡部111は、階層を表す変数gに初期値「1」を設定する(ステップS201)。
【0081】
追跡部111は、追跡リスト1200の階層1201の値が変数gの値と一致し、かつ、追跡フラグ1205に「1」が設定されるエントリの中から一つのエントリ(ターゲットボリューム141)を選択する(ステップS202)。エントリのボリュームUUID(Destination)1202に対応するボリューム141がターゲットボリューム141となる。
【0082】
追跡部111は、ターゲットボリューム141のボリュームの存在期間を算出する(ステップS203)。
【0083】
具体的には、追跡部111は、テーブル400を参照し、ボリュームUUID401にターゲットボリュームのボリュームUUIDが格納されるエントリを検索する。追跡部111は、検索されたエントリの作成日時404及び削除日時405に基づいてボリューム141の存在期間を算出する。なお、削除日時405が空欄の場合、追跡部111は、作成日時404及び現在の日時に基づいてボリュームの存在期間を算出する。
【0084】
追跡部111は、基盤システム情報121に基づいて、ターゲットボリューム141を複製元とする複製ボリューム141を検索する(ステップS204)。
【0085】
具体的には、追跡部111は、テーブル800を参照し、ボリュームUUID(Source)801に、ターゲットボリューム141のボリュームUUID(Destination)1202の値が設定されたエントリを検索する。なお、複製ボリューム141が存在しない場合、追跡部111はステップS211に進むものとする。
【0086】
また、追跡部111は、追跡リスト1200にエントリを追加し、階層1201に変数gに1を加算した値を設定する。追跡部111は、追加されたエントリのボリュームUUID(Destination)1202に複製ボリューム141のボリュームUUIDを設定し、ボリュームUUID(Source)1203にターゲットボリューム141のボリュームUUIDを設定する。また、追跡部111は、操作タイプ1204に、S203-1において検索されたエントリの操作タイプ803の値を設定する。また、追跡部111は、追加されたエントリの追跡フラグ1205及び格納フラグ1206に「0」を設定する。
【0087】
追跡部111は、検索された複製ボリューム141のなかから一つの複製ボリューム141を選択する(ステップS205)。
【0088】
追跡部111は、選択された複製ボリューム141が格納条件を満たすか否かを判定する(ステップS206)。具体的には、以下のような処理が実行される。
【0089】
(S206-1)追跡部111は、ステップS204で検索されたエントリの開始日時804及び終了日時805に基づいて、複製処理の実行期間を算出する。
【0090】
(S206-2)追跡部111は、追跡ポリシ情報122から使用する格納条件を取得する。
【0091】
変数gが「1」である場合、追跡部111は、テーブル1000を参照し、操作タイプ1001に、検索されたエントリの操作タイプ803の値が設定されたエントリを検索する。
【0092】
変数gが「1」ではない場合、追跡部111は、追跡リスト1200を参照して、ターゲットボリューム141の複製関係を追跡する。全ての操作タイプが「定常複製」である場合、追跡部111は、テーブル1010を参照し、操作タイプ1011に、検索されたエントリの操作タイプ803の値が設定されたエントリを検索する。少なくとも一つの操作タイプが「定常複製」でない場合、追跡部111は、テーブル1020を参照し、操作タイプ1021に、検索されたエントリの操作タイプ803の値が設定されたエントリを検索する。
【0093】
(S206-3)追跡部111は、データの存在期間、ボリューム141の存在期間、及び、複製処理の実行期間に基づいて、取得した格納条件を満たすか否かを判定する。
【0094】
以上がステップS206の処理の説明である。
【0095】
選択された複製ボリューム141が格納条件を満たさない場合、追跡部111はステップS208に進む。
【0096】
選択された複製ボリューム141が格納条件を満たす場合、追跡部111は、格納フラグ1206に「1」を設定し(ステップS207)、その後、ステップS208に進む。
【0097】
追跡部111は、選択された複製ボリューム141が追跡条件を満たすか否かを判定する(ステップS208)。
【0098】
具体的には、追跡部111は、S206-2と同様の手順で追跡ポリシ情報122からエントリを検索し、追跡条件を取得する。追跡部111は、データの存在期間、ボリューム141の存在期間、及び、複製処理の実行期間に基づいて、追跡条件を満たすか否かを判定する。
【0099】
選択された複製ボリューム141が追跡条件を満たさない場合、追跡部111はステップS210に進む。
【0100】
選択された複製ボリューム141が追跡条件を満たす場合、追跡部111は、追跡フラグ1205に「1」を設定し(ステップS209)、その後、ステップS210に進む。
【0101】
ステップS210では、追跡部111は、ステップS204において検索された全ての複製ボリューム141について処理が完了したか否かを判定する。
【0102】
全ての複製ボリューム141について処理が完了していない場合、追跡部111は、ステップS205に戻り、同様の処理を実行する。
【0103】
全ての複製ボリューム141について処理が完了した場合、追跡部111は、階層gの全てのボリューム141について処理が完了したか否かを判定する(ステップS211)。
【0104】
階層gの全てのボリューム141について処理が完了していない場合、追跡部111は、ステップS202に戻り、同様の処理を実行する。
【0105】
階層gの全てのボリューム141について処理が完了した場合、追跡部111は、変数gに1を加算した値を変数gに設定する(ステップS212)。
【0106】
追跡部111は、追跡リスト1200に階層gのエントリが存在するか否かを判定する(ステップS213)。すなわち、階層1201に変数gの値が設定されたエントリが存在するか否かが判定される。
【0107】
追跡リスト1200に階層gのエントリが存在する場合、追跡部111は、ステップS202に戻り、同様の処理を実行する。
【0108】
追跡リスト1200に階層gのエントリが存在しない場合、追跡部111は関連ボリューム追跡処理を終了する。
【0109】
図14は、実施例1のデータ来歴管理システム100が出力する追跡結果の一例を示す図である。
【0110】
データ来歴管理システム100は、追跡リスト1200、データベース管理システム情報120、及び基盤システム情報121に基づいて、
図14に示すような追跡結果を表示できる。なお、追跡結果では、格納フラグ1206が「1」のボリューム141が表示される。点線のボックスは削除されたオブジェクトを表す。なお、データ来歴管理システム100が表示を行ってもよいし、他の装置又はシステムに表示情報を出力するようにしてもよい。
【0111】
実施例1によれば、データ来歴管理システム100は、データベース管理システム101及び基盤システム102を用いてデータを管理するシステムにおいて、データが格納されたボリューム141を網羅的に追跡することができる。
【0112】
データ来歴管理システム100は、追跡結果とともに、データの削除、ワイプ、及び移動等の操作を受け付けるようにしてもよい。
【0113】
データ来歴管理システム100は、データの配置ポリシに関する情報と、ボリューム141を提供する基盤システム102の配置情報とを保持し、追跡結果及び配置ポリシに基づいて、データが格納されているボリューム141についてポリシに違反しているか否かを判定してもよい。例えば、ボリューム141を提供する基盤システム102が特定の国に位置しているか否かを判定することが考えられる。また、ボリューム141を提供する基盤システム102がパブリッククラウドに配置されているか否かを判定することが考えられる。また、データ来歴管理システム100は、ポリシに違反している場合には、データを削除、ワイプ、及び移動等の操作を行ってもよい。これによって、データの適切な保管及び管理を実現できる。
【0114】
なお、データに対する操作に関する履歴等に、追跡対象であるか否かを示すフラグ等を含めてもよい。この場合、追跡ポリシ情報122には追跡条件を設定しなくてもよい。
【0115】
なお、データがファイルの場合、ファイルのメタデータに対する操作の履歴を管理するようにしてもよい。例えば、メタデータに機密データであることを示す情報が付与された日時を起点にして追跡することができる。
【0116】
なお、基盤システム102がオブジェクトストレージの場合、データが格納されるバケットを追跡するようにしてもよい。
実施例2のシステムの構成は実施例1と同一である。実施例2のデータ来歴管理システム100、データベース管理システム101、及び基盤システム102の機能構成は実施例1と同一である。実施例2のデータ来歴管理システム100が保持する情報のうち、テーブル300が異なる。他の情報のデータ構造は実施例1と同一である。
実施例2のテーブル300に含まれるエントリはワイプ日時を含む。実施例2では、データがワイプされるまではデータが残っているものとしてデータの追跡が行われる。データのワイプは、データベース管理システム101等によってデータ単位で実施されるものであってもよいし、基盤システム102がボリューム単位で実施されるものであってもよい。ボリューム単位でワイプが実施される場合には、ボリューム141に格納されたすべてのデータ(削除されたものも含む)に対してワイプ日時を記録しているものとする。
実施例2のデータ来歴管理システム100が実行する処理の流れは実施例1と同様である。ただし、実施例2では、ステップS102において、作成日時304及びワイプ日時に基づいてデータの存在期間が算出される。