(57)【特許請求の範囲】
【請求項１】
複数の非構造化データを含んだ非構造化データソースへのアクセスのためのインターフェースを含んだ１以上のインターフェースであるインターフェース部と、
前記インターフェース部に接続された１以上のプロセッサであるプロセッサ部と
を有し、
少なくとも１つの非構造化データの第１種メタデータに、その非構造化データの１以上のコンテンツ属性を表すコンテンツ情報を含んだメタデータである第２種メタデータが関連付けられ、
１以上の非構造化データの各々について、非構造化データに、その非構造化データのオリジナルのメタデータである第１の第１種メタデータの他に、第１の第１種メタデータの複製に基づくメタデータである第２の第１種メタデータが関連付けられ、
前記プロセッサ部は、１以上の第２の第１種メタデータが関連付けられた仮想ボリュームを提供し、
前記プロセッサ部は、変更後の指定時点での１以上の検索条件に適合した１以上の第２種メタデータと、前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータとの関連付けに基づき、前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの参照先を、前記変更後の指定時点での前記１以上の検索条件に該当する１以上の非構造化データに維持する、
データ処理システム。
【請求項２】
前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータが、変更後の第２の第１種メタデータを含んでいる場合、参照先の維持とは、前記変更後の第２の第１種メタデータの参照先を、変更前の第２の第１種メタデータの参照先に変更することであり、
前記変更後の第２の第１種メタデータは、第１の第２種メタデータが関連付いた第２の第１種メタデータであり、
前記第１の第２種メタデータは、前記１以上の第２種メタデータのうち、前記変更後の指定時点での前記１以上の検索条件のうちのいずれかの検索条件に適合した第２種メタデータであり、
前記変更前の第２の第１種メタデータは、その適合した検索条件が関連付けられている第２の第１種メタデータである、
請求項１記載のデータ処理システム。
【請求項３】
指定時点での検索条件に適合した第２種メタデータが、指定時点での検索条件に対応し非構造化データにアクセスするためのパスであるアクセスパスと、第１種メタデータのＩＤとを含み、
前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの各々は、いずれかの第２種メタデータ内のアクセスパスと同じアクセスパスと、その第２の第１種メタデータのＩＤとを含み、
前記プロセッサ部は、参照先の維持において、前記変更後の指定時点での前記１以上の検索条件に適合した前記１以上の第２種メタデータの各々について、第１種メタデータのＩＤを変更することで、同じオブジェクトパスを含んだ第２種メタデータと第２の第１種メタデータとの関連付けを維持する、
請求項２記載のデータ処理システム。
【請求項４】
前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータが、前記変更後の第２の第１種メタデータを含んでいない場合、参照先の維持とは、第２の第２種メタデータに関連付いた第１の第１種メタデータの複製に基づき、その第１の第１種メタデータの参照先の非構造化データを参照し前記仮想ボリュームに関連付けられる前記変更後の第２の第１種メタデータを作成することであり、
前記第２の第２種メタデータは、前記１以上の第２種メタデータのうち、前記変更後の指定時点での前記１以上の検索条件のうちのいずれかの検索条件に適合しいずれの第２の第１種メタデータに関連付けられていない第２種メタデータである、
請求項３記載のデータ処理システム。
【請求項５】
前記１以上の第２種メタデータのうちの少なくとも１つは、前記変更後の指定時点での１以上の検索条件のうちのいずれかの検索条件に適合し、且つ、前記変更後の指定時点で既に存在する既存第２種メタデータに基づく第２種メタデータである、
請求項４記載のデータ処理システム。
【請求項６】
前記既存第２種メタデータに基づく第２種メタデータは、前記既存第２種メタデータが適合した検索条件に適合し、その検索条件に対応し前記変更後の指定時点での検索条件が関連付けられ、且つ、前記既存第２種メタデータが関連付けられている第１種メタデータに関連付けられた第２種メタデータである、
請求項５記載のデータ処理システム。
【請求項７】
前記既存第２種メタデータが無い場合、前記プロセッサ部は、
前記変更後の指定時点での１以上の検索条件のうちいずれの第２種メタデータに適合しない検索条件に適合する第１の第１種メタデータ及び非構造化データのうちの少なくとも１つを探し、
見つかった第１の第１種メタデータ、又は、見つかった非構造化データを参照する第１の第１種メタデータを参照し、その検索条件が関連付けられた第２種メタデータを作成する、
請求項５記載のデータ処理システム。
【請求項８】
指定時点での検索条件に適合した第２種メタデータが、指定時点での検索条件に対応し非構造化データにアクセスするためのパスであるアクセスパスと、第１種メタデータのＩＤとを含み、
前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの各々は、いずれかの第２種メタデータ内のアクセスパスと同じアクセスパスと、その第２の第１種メタデータのＩＤとを含み、
前記プロセッサ部は、参照先の維持において、前記変更後の指定時点での前記１以上の検索条件に適合した前記１以上の第２種メタデータの各々について、第１種メタデータのＩＤを変更することで、同じオブジェクトパスを含んだ第２種メタデータと第２の第１種メタデータとの関連付けを維持する、
請求項１記載のデータ処理システム。
【請求項９】
前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータが、前記変更後の第２の第１種メタデータを含んでいない場合、参照先の維持とは、第２の第２種メタデータに関連付いた第１の第１種メタデータの複製に基づき、その第１の第１種メタデータの参照先の非構造化データを参照し前記仮想ボリュームに関連付けられる前記変更後の第２の第１種メタデータを作成することであり、
前記第２の第２種メタデータは、前記１以上の第２種メタデータのうち、前記変更後の指定時点での前記１以上の検索条件のうちのいずれかの検索条件に適合しいずれの第２の第１種メタデータに関連付けられていない第２種メタデータである、
請求項１記載のデータ処理システム。
【請求項１０】
前記１以上の第２種メタデータのうちの少なくとも１つは、前記変更後の指定時点での１以上の検索条件のうちのいずれかの検索条件に適合し、且つ、前記変更後の指定時点で既に存在する既存第２種メタデータに基づく第２種メタデータである、
請求項１記載のデータ処理システム。
【請求項１１】
前記複数の指定時点のうちの２以上の指定時点に対応した２以上の検索条件が一部重複する、
請求項１記載のデータ処理システム。
【請求項１２】
前記複数の非構造化データは、時系列データであり、
前記２以上の検索条件の各々は、或る時点を基準とした時点に関する条件である、
請求項１１記載のデータ処理システム。
【請求項１３】
前記複数の指定時点は、予め指定された周期に従う複数の時点である、
請求項１１記載のデータ処理システム。
【請求項１４】
（ａ）１以上の第２の第１種メタデータが関連付けられた仮想ボリュームを提供し、
複数の非構造化データを含んだ非構造化データソースにおける少なくとも１つの非構造化データの第１種メタデータに、その非構造化データの１以上のコンテンツ属性を表すコンテンツ情報を含んだメタデータである第２種メタデータが関連付けられ、
１以上の非構造化データの各々について、非構造化データに、その非構造化データのオリジナルのメタデータである第１の第１種メタデータの他に、第１の第１種メタデータの複製に基づくメタデータである第２の第１種メタデータが関連付けられ、
（ｂ）変更後の指定時点での１以上の検索条件に適合した１以上の第２種メタデータと、前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータとの関連付けに基づき、前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの参照先を、前記変更後の指定時点での前記１以上の検索条件に該当する１以上の非構造化データに維持する、
データ処理方法。
【請求項１５】
以下の（ａ）及び（ｂ）をコンピュータに実行させるコンピュータプログラム、
（ａ）１以上の第２の第１種メタデータが関連付けられた仮想ボリュームを提供し、
複数の非構造化データを含んだ非構造化データソースにおける少なくとも１つの非構造化データの第１種メタデータに、その非構造化データの１以上のコンテンツ属性を表すコンテンツ情報を含んだメタデータである第２種メタデータが関連付けられ、
１以上の非構造化データの各々について、非構造化データに、その非構造化データのオリジナルのメタデータである第１の第１種メタデータの他に、第１の第１種メタデータの複製に基づくメタデータである第２の第１種メタデータが関連付けられ、
（ｂ）変更後の指定時点での１以上の検索条件に適合した１以上の第２種メタデータと、前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータとの関連付けに基づき、前記仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの参照先を、前記変更後の指定時点での前記１以上の検索条件に該当する１以上の非構造化データに維持する、
を記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、データ処理に関する。
【背景技術】
【０００２】
仮想化機構の普及やクラウド等のシステム提供形態の出現に伴い、ＩＴ（Information Technology）システムの運用管理は複雑化している。また、データの量が爆発的に増加し、それに伴い、ＩＴシステムの規模は年々拡大し、ＩＴシステムを管理する管理ソフトウェアが扱うオブジェクト数（例えばストレージ装置が提供するボリュームの数）も増大している。【０００３】
近年、このように蓄積された膨大なデータを分析することで、業務における新たな知見や気づきを得るビッグデータ分析が活用されつつある。一般的なデータ分析の処理において、データは収集、抽出（保管）、分析の流れで処理される。収集されるデータの例として、街中に設置される監視カメラによる画像データ、工場の製造機器が出力するログデータ、オフィスにおいて設計の過程で作成されるＣＡＤデータなどが挙げられる。また、これらデータは近年インターネットを経由してデータセンタなどに収集し、集中的に蓄積することが可能である。【０００４】
次に、収集されたデータから分析に必要なデータを検索（抽出）する処理が行われる。検索の対象（範囲）となるデータ領域は膨大であり、データ領域から分析を行うと、必要なデータの検索に時間がかかり、分析完了までに多大な時間が必要となる。分析時間を短縮するため、分析に必要なデータのみのデータの集合を作成することがある。この処理は大量にデータが格納されるデータセンタなどで繰り返し分析を行う場合に特に有用とされ、一般的にデータマート（ＤＭ）作成処理とよばれる。特許文献１は、ソースデータを仮想的に複製されたスナップショットデータとしてホスト計算機に示すことで短時間にデータの複製を可能とする技術を開示している。特許文献２は、ＤＭを作成する技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】US5,819,292
【特許文献２】特開2002-366401号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
大量のデータのうちの分析観点に関連したデータのみからなるデータ集合であるＤＭは、一般に、分析観点に関連したデータを検索処理によって特定し、特定したデータを複製することにより作成される。そのため、検索処理及びデータ複製処理に大量の計算機リソース量が必要であり、さらに、複製したＤＭのための記憶容量も必要である。【０００７】
また、複数回分析が行われるケース（例えば、分析対象を少しずつ変えながら分析が行われるケース）があるが、このようなケースであっても、検索処理とデータ複製処理をその都度実施されることになる。このため、各回の分析で、リソースを大量に消費し時間がかかるという課題がある。また、分析の都度にＤＭが作成されるため、分析の都度に、ＤＭを使用するための設定を行う必要がある。【０００８】
このような課題は、非構造化データソースから分析を目的としてＤＭを作成する処理に限らず、分析以外の用途のために非構造化データソースからデータ集合（部分集合）を作成する処理についてもあり得る。
【課題を解決するための手段】
【０００９】
データ処理システムが、１以上の第２の第１種メタデータが関連付けられた仮想ボリュームを提供する。複数の非構造化データを含んだ非構造化データソースにおける少なくとも１つの非構造化データの第１種メタデータに、その非構造化データの１以上のコンテンツ属性を表すコンテンツ情報を含んだメタデータである第２種メタデータが関連付けられる。１以上の非構造化データの各々について、非構造化データに、その非構造化データのオリジナルのメタデータである第１の第１種メタデータの他に、第１の第１種メタデータの複製に基づくメタデータである第２の第１種メタデータが関連付けられる。データ処理システムは、変更後の指定時点での１以上の検索条件に適合した１以上の第２種メタデータと、仮想ボリュームに関連付けられている１以上の第２の第１種メタデータとの関連付けに基づき、仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの参照先を、変更後の指定時点での１以上の検索条件に該当する１以上の非構造化データに維持する。
【発明の効果】
【００１０】
仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの各々は、非構造化データの第１の第１種メタデータ（オリジナルのメタデータ）の複製に基づくメタデータであり、検索条件に適合したメタデータである。仮想ボリュームから参照可能なデータは、第１の第１種メタデータの複製に基づく第２の第１種メタデータにより参照される非構造化データであり、その非構造化データは、非構造化データソースに存在する。つまり、仮想ボリュームは、仮想的なデータ集合である。データ集合の提供のために、検索条件に適合する非構造化データを非構造化データソースから検索する処理や、非構造化データソース内の非構造化データそれ自体を複製する処理は不要である。このため、検索条件に適合するデータ集合を、消費記憶容量の増大を抑え短時間に生成することができる。【００１１】
また、変更後の指定時点での１以上の検索条件に適合した１以上の第２種メタデータと、仮想ボリュームに関連付けられている１以上の第２の第１種メタデータとの関連付けに基づき、仮想ボリュームに関連付けられている１以上の第２の第１種メタデータの参照先が、変更後の指定時点での１以上の検索条件に該当する１以上の非構造化データに維持される。これにより、指定時点（例えば、分析時点）の都度に、仮想ボリュームを作成する必要が無く、故に、仮想ボリュームを使用するための設定の必要も無い。いずれの指定時点についても、その指定時点での検索条件に該当する非構造化データを、同一の仮想ボリュームから参照することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るデータ処理システムの一例であるＩＴシステムの論理構成を示す。
【図２】ＩＴシステムの物理構成を示す。
【図３】第１Ｓメタの構成図である。
【図４】Ｃメタの構成図である。
【図５】オブジェクトデータの構成図である。
【図６】第２Ｓメタの構成図である。
【図７】Ｃメタ管理プログラムの処理手順を示すフローチャートである。
【図８】ストレージプログラムの処理手順を示すフローチャートである。
【図９】要求受付ＧＵＩを示す。
【図１０】Ｃメタ無しの状態の模式図である。
【図１１】Ｃメタ作成処理（初回検索）の模式図である。
【図１２】Ｃメタ作成処理（２回目の検索において該当Ｃメタ有り）の模式図である。
【図１３】Ｃメタ作成処理（２回目の検索において該当Ｃメタ無し）の模式図である。
【図１４】スナップショット操作処理（該当第２Ｓメタ無しのときの処理）の模式図である。
【図１５】スナップショット操作処理（対象データに対応した第２Ｓメタが作成された状態）の模式図である。
【図１６】スナップショット操作処理（該当第２Ｓメタ有りのときの処理）の模式図である。
【発明を実施するための形態】
【００１３】
以下に説明する実施形態は、請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている諸要素およびその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
なお、以下の説明では、「インターフェース部」は、１以上のインターフェースを含む。１以上のインターフェースは、１以上の同種のインターフェースデバイス（例えば１以上のＮＩＣ（Network Interface Card））であってもよいし２以上の異種のインターフェースデバイス（例えばＮＩＣとＨＢＡ（Host Bus Adapter））であってもよい。
【００１５】
また、以下の説明では、「記憶部」は、１以上のメモリを含む。少なくとも１つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。記憶部は、１以上のメモリに加えて、１以上のＰＤＥＶを含んでもよい。「ＰＤＥＶ」は、物理的な記憶デバイスを意味し、典型的には、不揮発性の記憶デバイス（例えば補助記憶デバイス）でよい。ＰＤＥＶは、例えば、ＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive)でよい。
【００１６】
また、以下の説明では、「プロセッサ部」は、１以上のプロセッサを含む。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）である。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
【００１７】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及びインターフェース部のうちの少なくとも１つを用いながら行うため、処理の主語が、プロセッサ部（或いは、プロセッサ部を有する計算機又は計算機システム）とされてもよい。プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記録媒体であってもよい。また、以下の説明において、２以上のプログラムが１つのプログラムとして実現されてもよいし、１つのプログラムが２以上のプログラムとして実現されてもよい。
【００１８】
また、以下の説明では、「ｘｘｘテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ｘｘｘテーブル」を「ｘｘｘ情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部又は一部が１つのテーブルであってもよい。
【００１９】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号（又は参照符号における共通部分）を使用し、同種の要素を区別して説明する場合は、要素のＩＤ（又は要素の参照符号）を使用することがある。
【００２０】
また、以下の説明では、「ホストシステム」は、１以上の物理的なホスト計算機（例えばホスト計算機のクラスタ）であってもよいし、少なくとも１つの仮想的なホスト計算機（例えばＶＭ（Virtual Machine））を含んでもよい。
【００２１】
また、以下の説明では、「管理システム」は、一以上の計算機で構成されてよい。具体的には、例えば、管理計算機が表示デバイスを有していて管理計算機が自分の表示デバイスに情報を表示する場合、管理計算機が管理システムでよい。また、例えば、管理計算機（例えばサーバ）が表示用情報を遠隔の表示用計算機（例えばクライアント）に送信し表示用計算機がその情報を表示する場合（管理計算機が表示用計算機に情報を表示する場合）、管理計算機と表示用計算機とのうちの少なくとも管理計算機を含んだシステムが管理システムでよい。
【００２２】
また、以下の説明では、「ストレージシステム」は、１以上の物理的なストレージ装置であってもよいし、少なくとも１つの仮想的なストレージ装置（例えばＬＰＡＲ（Logical Partition）又はＳＤＳ（Software Defined Storage））を含んでもよい。
【００２３】
また、以下の説明では、「ＲＡＩＤ」は、Redundant Array of Independent (or Inexpensive) Disksの略である。ＲＡＩＤグループは、複数のＰＤＥＶ（典型的には同種のＰＤＥＶ）で構成され、そのＲＡＩＤグループに関連付けられたＲＡＩＤレベルに従いデータを記憶する。ＲＡＩＤグループは、パリティグループと呼ばれてもよい。パリティグループは、例えば、パリティを格納するＲＡＩＤグループのことでよい。
【００２４】
また、以下の説明では、「ＶＯＬ」は、論理ボリュームの略であり、論理的な記憶デバイスでよい。ＶＯＬは、実体的なＶＯＬ（ＲＶＯＬ）であってもよいし、仮想的なＶＯＬ（ＶＶＯＬ）であってもよい。「ＲＶＯＬ」は、そのＲＶＯＬを提供するストレージシステムが有する物理的な記憶資源（例えば、１以上のＲＡＩＤグループ）に基づくＶＯＬでよい。「ＶＶＯＬ」は、外部接続ＶＯＬ（ＥＶＯＬ）と、容量拡張ＶＯＬ（ＴＰＶＯＬ）と、スナップショットＶＯＬとのうちのいずれでもよい。ＥＶＯＬは、外部のストレージシステムの記憶空間（例えばＶＯＬ）に基づいておりストレージ仮想化技術に従うＶＯＬでよい。ＴＰＶＯＬは、複数の仮想領域（仮想的な記憶領域）で構成されており容量仮想化技術（典型的にはThin Provisioning）に従うＶＯＬでよい。スナップショットＶＯＬは、オリジナルのＶＯＬのスナップショットとして提供されるＶＯＬでよい。スナップショットＶＯＬは、ＲＶＯＬであってもよい。「プール」は、論理的な記憶領域（例えば複数のプールＶＯＬの集合）でよい。例えば、プールとして、ＴＰプールと、スナップショットプールとのうちの少なくとも１種類があってよい。ＴＰプールは、複数の実領域（実体的な記憶領域）で構成された記憶領域でよい。ストレージシステム（例えば後述のストレージコントローラ）が、ホストシステムから受信したライト要求が指定するアドレスが属する仮想領域（ＴＰＶＯＬの仮想領域）に実領域が割り当てられていない場合、その仮想領域（ライト先仮想領域）にＴＰプールから実領域を割り当ててよい（ライト先仮想領域に他の実領域が割り当て済であっても実領域が新たにライト先仮想領域に割り当てられてもよい）。ストレージシステムは、割り当てられた実領域に、そのライト要求に付随するライト対象データを書き込んでよい。スナップショットプールは、オリジナルのＶＯＬから退避されたデータが格納される記憶領域でよい。１つのプールが、ＴＰプールとしてもスナップショットプールとしても使用されてもよい。「プールＶＯＬ」は、プールの構成要素となるＶＯＬでよい。プールＶＯＬは、ＲＶＯＬであってもよいしＥＶＯＬであってもよい。
【００２５】
以下、一実施形態を、図面を参照して説明する。
【００２６】
図１は、一実施形態に係るデータ処理システムの一例であるＩＴシステム１０００の論理構成図である。
【００２７】
ＩＴシステム１０００は、例えば、１台以上の計算機システムを含んでよい。１以上の計算機システムの各々が、ストレージシステムと、ストレージシステムに接続されたホストシステムと、ストレージシステム及びホストシステムのうちの少なくとも１つに接続された管理システムとのうちの少なくともストレージシステムを含んだシステムでよい。ＩＴシステム１０００は、複数のプログラム、複数のテーブル、及びデータ領域１５００を有する。複数のプログラムの一例が、情報収集プログラム１１００、Ｃメタ管理プログラム１２００、分析プログラム１３００及びストレージプログラム１４００である。情報収集プログラム１１００、Ｃメタ管理プログラム１２００、分析プログラム１３００及びストレージプログラム１４００の各々は、ストレージシステム、ホストシステム及び管理システムのうちの少なくとも１つのプロセッサ部で実行されてよい。
【００２８】
情報収集プログラム１１００は、各地点の気温、日照量、降雨量といったデータを収集し、収集したデータをデータ領域１５００にオブジェクトデータ５０００として書き込むプログラムである。この際、情報収集プログラム１１００は、オブジェクトデータ５０００のオリジナルのメタデータである第１Ｓメタ８２Ｓを作成し、作成した第１Ｓメタ８２Ｓを、第１Ｓメタテーブル３０００に格納する。第１Ｓメタテーブル３０００の少なくとも一部が、記憶部（例えばストレージシステムの記憶部）に格納されてよい。オブジェクトデータ５０００は、非構造化データの一例である。第１Ｓメタ８２Ｓは、第１の第１種メタデータの一例である。データ領域１５００は、例えばＶＯＬである。なお、本実施形態では、情報収集プログラム１１００及び分析プログラム１３００の各々は、１つであるが、２以上存在していても構わない。また、本実施形態では、データ領域１５００に格納されるデータは、オブジェクトデータ５０００であるが、それに限定されず、ファイルデータ（ファイルを構成するファイルメタデータ及びファイルデータのうちのファイルデータ）などの他の非構造化データでも構わない。さらに、本実施形態では、第１Ｓメタ８２Ｓとオブジェクトデータ５０００の関係が１対１となっているが、１対多、多対多、多対１の関係になっていても構わない。
【００２９】
ストレージプログラム１４００は、ＩＴシステム１０００の中で、ストレージシステムとしての機能を提供するプログラムである。具体的には、例えば、ストレージプログラム１４００は、データをオブジェクトデータ５０００として格納するためのデータ領域（例えばＶＯＬ）１５００を１以上のＰＤＥＶに基づく領域として提供したり、１以上の第１Ｓメタ８２Ｓを第１Ｓメタテーブル３０００として管理したり（情報収集プログラム１１００に代わって第１Ｓメタ８２Ｓを第１Ｓメタテーブル３００に格納してもよい）、ＳＳＶＯＬ（スナップショットＶＯＬ）に関連付けられる１以上の第２Ｓメタ８２Ｔを第２Ｓメタテーブル６０００に格納したりする。ＳＳＶＯＬは、ＶＤＭ（仮想的なＤＭ）の一例である。ＶＤＭは、仮想的なデータ集合の一例である。仮想的なデータ集合は、仮想ボリュームの一例である。第２Ｓメタ８２Ｔは、第２の第１種メタデータの一例である。なお、第２Ｓメタ８２Ｔは、ＳＳＶＯＬを通じて参照可能なオブジェクトデータ５０００であるスナップショットデータ（実体は、データ領域１５００内のオブジェクトデータ５０００）に関する情報を保持するデータなので、必ずしもメタデータといった便宜的なデータ名を使用しなくてもよく、例えば、スナップショット管理データのように別の名称で呼ばれてもよい（この場合、混同が生じないので、第１Ｓメタは、単に「Ｓメタ」又は「メタデータ」と呼ばれてもよい）。ＳＳＶＯＬのＶＯＬ＿ＩＤ（ルートＩＤと読み替えられてもよい）に、第２Ｓメタテーブル６０００（１以上の第２Ｓメタ８２Ｔ）が関連付けれられてよく、結果として、分析プログラム１３００のような要求元が、ＳＳＶＯＬのＶＯＬ＿ＩＤを指定したリード要求を送信することで、ＳＳＶＯＬから、第２Ｓメタテーブル６０００が保持する１以上の第２Ｓメタ８２Ｔがそれぞれ参照する１以上のオブジェクトデータ５０００（スナップショットデータ）を参照する（読み出す）ことができる。なお、ストレージプログラム１４００は、常駐型プログラムとして実装され、イベントの到着を待って、到着したイベントの種別に応じて適切な処理を行うが、別の形態であっても構わない。なお、図１の参照符号１００が示す範囲は、ストレージプログラム１４００の影響範囲の一例である。
【００３０】
Ｃメタ管理プログラム１２００は、ユーザからの指示（典型的には、検索条件が指定された指示）に基づいて第１Ｓメタ８２Ｓやオブジェクトデータ５０００の検索を行ったり、検索条件とその検索条件をキーとした検索結果に関する情報とを保持したＣメタ８３を作成したり、Ｃメタ８３をＣメタテーブル４０００に格納したりするプログラムである。Ｃメタ管理プログラム１２００は、常駐型プログラムとして実装され、イベントの到着を待って、到着したイベントの種別に応じて適切な処理を行ってよいが、別の形態であっても構わない。また、Ｃメタ管理プログラム１２００は、ユーザにより作成されたプログラムであるユーザプログラムでよい。一方、上述のストレージプログラム１４００は、ユーザによる作成又はカスタマイズが不可能なプログラム（例えばベンダ提供のプログラム）であってもよい。ストレージプログラム１４００はスナップショット機能を有するので、Ｃメタ管理プログラム１２００のようなユーザプログラムを追加するという追加的な作業により、ＩＴシステム１０００の構築がされてもよい。
【００３１】
分析プログラム１３００は、ＳＳＶＯＬ内のスナップショットデータ（ＳＳＶＯＬに関連付けられた第２Ｓメタ８２Ｔが参照する、データ領域１５００内のオブジェクトデータ５０００）を参照して分析を実施するプログラムである。
【００３２】
本実施形態は、例えば次のユースケースが適用された実施形態、すなわち、データがデータ領域１５００に書き込まれる一方で、データ領域１５００に書き込まれたデータの一部を使用して、何らかの分析作業が実施されるユースケースが適用された実施形態である。具体的には、例えば、ＩＴシステム１０００は、気象情報システムである。気象情報システムが、情報収集プログラム１１００により、各地点の気温、日照量、降雨量といったデータを収集し、収集したデータをオブジェクトデータ５０００としてデータ領域１５００に書き込み、分析プログラム１３００により、データ領域１５００に書き込まれたオブジェクトデータ５０００のうち、直近３日間の気象データを用いた天気予報を、毎日23:00に実施する。本実施形態によれば、このような気象情報システムの分析プログラム１３００が実施する天気予報（分析の一例）が効率化される。
【００３３】
図２は、ＩＴシステム１０００の物理構成図である。
【００３４】
ＩＴシステム１０００は、１台以上の計算機システム２０００を含む。１台以上の計算機システム２０００は、データネットワーク（例えばＳＡＮ（Storage Area Network））１０５０及び管理ネットワーク（例えばＬＡＮ（Local Area Network））１０７０のうちの少なくとも１つの通信ネットワークを通じて通信可能でよい。本実施形態では、ＩＴシステム１０００は、２つの計算機システム２０００から構成されているが、計算機システム２０００の数は１でも３以上でも構わない。
【００３５】
計算機システム２０００は、インターフェース部、記憶部及びそれらに接続されたプロセッサ部を有する。インターフェース部の一例が、ネットワークＩ／Ｆ（インターフェース）２０１０及び管理Ｉ／Ｆ２０６０である。記憶部の一例が、メモリ２０４０及びＰＤＥＶ群２０５０である。プロセッサ部の一例が、プロセッサ２０２０である。計算機システム２０００は、更に、入出力デバイス２０３０を有する。ネットワークＩ／Ｆ２０１０、管理Ｉ／Ｆ２０６０、メモリ２０４０、ＰＤＥＶ群２０５０、プロセッサ２０２０及び入出力デバイス２０３０が、内部ネットワーク２０８０に接続されている。
【００３６】
ネットワークＩ／Ｆ２０１０は、データネットワーク１０５０とのＩ／Ｆである。入出力デバイス２０３０は、キーボード、ポインティングデバイス及びディスプレイデバイスといった、ユーザの入出力を受け付けるデバイスである。管理Ｉ／Ｆ２０６０は、管理ネットワーク１０７０とのＩ／Ｆである。内部ネットワーク２０８０は、計算機システム２０００内の構成要素間を相互に接続するネットワークである。
【００３７】
本実施形態では、上述したプログラム１４００、１１００、１３００及び１２００と、上述したテーブル３０００、４０００及び６０００は、１以上のＰＤＥＶであるＰＤＥＶ群２０５０に格納され、実行時にプロセッサ２０２０によってメモリにロードされ実行されるが、それに限定されず、それらのうちの一部又は全部が、ＰＤＥＶ群２０５０上で実行されても構わない。また、本実施形態では、ＰＤＥＶ群２０５０は、ＨＤＤやＳＳＤといった不揮発性の記憶デバイスであり、メモリ２０４０は、ＤＲＡＭ（Dynamic Random Access Memory）といった揮発性のメモリである。しかし、メモリ２０４０は存在せず、ＰＤＥＶ群２０５０上ですべてのプログラムが実行され、テーブルが読み書きされる形態であっても構わない。また、本実施形態では、ユーザ（厳密には例えばホストシステム）が直接読み書きするデータであるオブジェクトデータ５０００が、他のプログラムやテーブルとＰＤＥＶ群２０５０に格納される。しかしながら、オブジェクトデータ５０００を論理的又は物理的に分けられた領域に格納する形態であっても構わない。また、一部又は全てのテーブルを論理的又は物理的に分けられた領域に格納する形態であっても構わない。
【００３８】
データネットワーク１０５０は、データを送受信するためのネットワークである。管理ネットワーク１０７０は、管理データを送受信するためのネットワークである。本実施形態では、データネットワーク１０５０と管理ネットワーク１０７０は別々のネットワークであるが、同一のネットワークであっても構わない。また、これらネットワークはＥｔｈｅｒｎｅｔ（登録商標）でよいが、それに限定されず他の形態であっても構わない。
【００３９】
ＩＴシステム１０００は、２つの計算機システム２０００から構成され、計算機システム２０００の中でストレージプログラム１４００が稼働するが、この構成に限定されず他の形態であっても構わない。例えば、分析プログラム１３００や情報収集プログラム１１００が稼働する計算機システムとは別にストレージシステム専用の計算機システムが存在していても構わない。この場合、ストレージシステム専用の計算機システムは１台であってもよいし複数台であってもよい。
【００４０】
図３は、第１Ｓメタ８２Ｓの構成図である。
【００４１】
第１Ｓメタテーブル３０００には、第１Ｓメタ８２Ｓが格納される。本実施形態では、第１Ｓメタテーブル３０００は、リスト形式であるが、それに限定されず、バイナリツリーなどを含むツリー形式であっても構わないし、ハッシュテーブルの形式であっても構わない。
【００４２】
第１Ｓメタ８２Ｓは、複数の情報要素を含み、データ領域１５００に格納されるオブジェクトデータ５０００のメタデータである。複数の情報要素は、ＳメタＩＤ３０１０、アクセス状態３０２０、オブジェクトＩＤ３０３０、計算機ＩＤ３０４０、開始アドレス３０５０、終了アドレス３０６０、最終更新時刻３１００及び属性情報要素３１１０を含む。
【００４３】
ＳメタＩＤ３０１０は、第１Ｓメタ８２ＳのＩＤである。
【００４４】
アクセス状態３０２０は、第１Ｓメタ８２Ｓが指し示すオブジェクトデータ５０００のデータ種別やアクセス制御に関する情報である。例えば、データ種別に関する情報は、例えば、“Ｏｂｊｅｃｔ”又は“Ｆｉｌｅ”である。アクセス制御に関する情報は、例えば、“Ｒ／Ｗ可”（リード及びライトのいずれも可）、“ＲＯ”（リードオンリー（リードのみ可））、及び、“Ｒ／Ｗ不可”（リード及びライトのいずれも不可）である。アクセス状態３０２０は、更に、どのユーザがアクセス可能であるかといった情報を含んでもよい。
【００４５】
オブジェクトＩＤ３０３０は、第１Ｓメタ８２Ｓを含むオブジェクトのＩＤである。本実施形態では、オブジェクトＩＤの書式は、ＵＲＩ（Uniform Resource Identifier）の書式でよいが、それに限定されず他の形態であっても構わない。
【００４６】
情報要素３０４０、３０５０及び３０６０の組である位置セットがある。１以上の位置セットが、第１Ｓメタ８２Ｓに関連付いたオブジェクトデータ５０００の場所を表す。１つの位置セットは、オブジェクトデータ５０００の一部（又は全部）の場所を表す。以下、１つの位置セットに対応したオブジェクトデータ５０００の一部（又は全部）を、「対象データ」と言う。計算機ＩＤ３０４０は、対象データが格納されている計算機システム２０００の計算機ＩＤである。開始アドレス３０５０は、計算機システム２０００内のＰＤＥＶ群２０５０に基づく領域（対象データを格納した領域）の開始アドレスを表す。終了アドレス３０６０は、計算機システム２０００内のＰＤＥＶ群２０５０に基づく領域（対象データを格納した領域）の終了アドレスを表す。図３の例によれば、オブジェクトデータ５０００は２つの領域に分散して格納されている。位置セットは１つであっても３つ以上であってもよい。
【００４７】
最終更新時刻３１００は、オブジェクトデータ５０００の最終更新時刻を表す。属性情報要素３１１０は、オブジェクトデータ５０００の属性情報要素である。属性情報要素３１１０は、例えば、ｋｅｙとｖａｌｕｅから構成される。図３の例では、ｋｅｙが、“Data Type”であり、ｖａｌｕｅが、“Ｗｅａｔｈｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ”である。なお、本実施形態では、オブジェクトデータ５０００に対する属性情報要素３１１０は一つであるが、いくつであっても構わない。
【００４８】
図４は、Ｃメタ８３の構成図である。
【００４９】
Ｃメタテーブル４０００には、Ｃメタ８３が格納される。Ｃメタテーブル４０００は、リスト形式であるが、それに限定されず、バイナリツリーなどを含むツリー形式であっても構わないし、ハッシュテーブルの形式であっても構わない。
【００５０】
Ｃメタ８３は、Ｃメタ管理プログラム１２００によって作成される。Ｃメタ８３は、データ領域１５００に格納されるオブジェクトデータ５０００に対する検索の結果を保持する。なお、検索対象は、オブジェクトデータ５０００である必要はなく、第１Ｓメタ８２Ｓ及び第２Ｓメタ８２Ｔのうちのいずれが検索対象であっても構わない。
【００５１】
Ｃメタ８３は、複数の情報要素を含む。複数の情報要素は、ＣメタＩＤ４０１０、アクセスパス４０２０、検索条件４０３０及び対象４１１０を含む。
【００５２】
ＣメタＩＤ４０１０は、Ｃメタ８３のＩＤである。
【００５３】
アクセスパス４０２０は、検索の結果見つかったオブジェクトデータ５０００に分析プログラム１３００がアクセスするためのパスである。本実施形態では、アクセスパス４０２０の書式は、ＵＲＩの書式でよいが、それに限定されず他の形態であっても構わない。
【００５４】
検索条件４０３０は、該当した検索条件を表す。図４の例によれば、検索条件４０３０Ａは、例えば、ｋｅｙとｖａｌｕｅから構成される。Ｋｅｙが、“Ｄａｔａ  Ｔｙｐｅ”であり、Ｖａｌｕｅが“Ｗｅａｔｈｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ”である。検索条件４０３０Ａは、そのｋｅｙとｖａｌｕｅを持つオブジェクトデータ５０００（又は第１Ｓメタ８２Ｓ）を対象とした検索条件である。また、図４の例によれば、検索条件４０３０Ｂは、Ｋｅｙが“ＧＰＳ”であり、Ｖａｌｕｅが“東経１３０度−１４０度、北緯３０度−４０度”である。この検索条件４０３０Ｂは、例えば、ＧＰＳ＝東経１３５度２０分００秒  北緯３２度４２分５０秒のオブジェクトデータ５０００が満たすことになる。検索条件４０３０は、１以上であれば幾つでも構わない。また、本実施形態では、検索条件４０３０は、属性情報要素３１１０の形式を取るが、それに限定されない。例えば、検索条件４０３０は、オブジェクトデータ５０００の最終更新時刻であってもよいし、オブジェクトＩＤであってもよい。
【００５５】
検索結果４０６０は、検索の結果を表す。“ＯＫ”は、検索対象が見つかったこと（検索ヒット）を意味し、“ＮＧ”は、検索対象が見つからなかったこと（検索ミス）を意味する。
【００５６】
対象４１１０は、検索の結果発見された対象を表す。例えば、対象４１１０の値として、ＳメタＩＤ（例えば“Ｓｍｅｔａ＿００１”）が採用されることがある。それは、そのＳメタＩＤ３０１０を含む第１Ｓメタ８２Ｓが検索の結果発見されたことを意味する。また、対象４１１０の値として、後述のスナップショットＩＤ（第２ＳメタＩＤ）が採用されることもある。それは、そのスナップショットＩＤを含む第２Ｓメタ８２Ｔが検索の結果発見されたことを意味する。 
【００５７】
なお、Ｃメタ８３の構成は、図４の例に限られない。例えば、Ｃメタ８３は、複数の検索結果（対象４１１０）を保持しても、１つの検索結果（対象４１１０）を保持しても構わない。また、対象４１１０として採用される値は、ＳメタＩＤ及びスナップショットＩＤに代えて又は加えてオブジェクトＩＤが採用されてもよい。また、Ｃメタ８３は、そのＣメタ８３に対応するオブジェクトデータ５０００のコンテンツ属性として、Ｄａｔａ  Ｔｙｐｅ５０３０の複製を保持してもよいし、ユーザにより入力された情報を保持してもよい。
【００５８】
図５は、オブジェクトデータ５０００の構成図である。
【００５９】
オブジェクトデータ５０００は、複数の情報要素を含む。複数の情報要素は、オブジェクトＩＤ５０１０、最終更新時刻５０２０、Ｄａｔａ  Ｔｙｐｅ５０３０、ＧＰＳ５０４０、Ｔｉｍｅ５０５０、Ｒａｉｎｆａｌｌ５０６０、Ｔｅｍｐｅｒａｔｕｒｅ５０７０、Ｔｅｍｐｅｒａｔｕｒｅ  Ｈｉｇｈ５０８０、Ｔｅｍｐｅｒａｔｕｒｅ  Ｌｏｗ５０９０及びＷｅａｔｈｅｒ  Ｍａｐ５１００を含む。
【００６０】
オブジェクトＩＤ５０１０は、オブジェクトのＩＤである。最終更新時刻５０２０は、オブジェクトデータ５０００が最後に更新された時刻である。なお、本実施形態では、最終更新時刻５０２０に代えて、他種の時刻（例えば、オブジェクトデータ５０００の作成時刻を表す情報）がオブジェクトデータ５０００に含まれても構わない。これは、第１Ｓメタ８２Ｓについても同様である。
【００６１】
情報要素５０４０〜５１００は、オブジェクトデータ５０００が含むコンテンツの一例であり、少なくとも１つの情報要素が、ＫｅｙとＶａｌｕｅの形で格納される。本実施形態では、オブジェクトデータ５０００は気象データである。Ｄａｔａ  Ｔｙｐｅ５０３０は、データコンテンツの種別（例えば、気象データであることを意味する“Ｗｅａｔｈｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ”）を表す。ＧＰＳ５０４０は、気象データの取得位置（例えば“東経１３９度５０分００秒  北緯３５度４０分００秒”）を表す。Ｔｉｍｅ５０５０は、気象データの取得時刻（例えば“２０１５年１２月２０日８：００ＪＳＴ”）を表す。時刻は、年月日時分秒のうちのいずれが使用されてもよいし、カウント値が使用されてもよい。Ｒａｉｎｆａｌｌ５０６０は、雨量（例えば“２０ｍｍ”）を表す。Ｔｅｍｐｅｒａｔｕｒｅ５０７０は、気温を表すデータの格納場所（例えば“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／２０１５１２２０／０８００／１３９５０−３５４０／Ｔｅｍｐ.ｃｓｖ”）を表す。Ｔｅｍｐｅｒａｔｕｒｅ  Ｈｉｇｈ５０８０は、最高気温（例えば“５．７℃”）を表す。Ｔｅｍｐｅｒａｔｕｒｅ  Ｌｏｗ５０９０は、最低気温（例えば“４．３℃”）を表す。Ｗｅａｔｈｅｒ  Ｍａｐ５１００は、天気図の格納場所（例えば“ｏｂｊ：／／ｗｅｔｈｅｒｉｎｆｏ／２０１５１２２０／０８００／１３９５０−３５４０／ｍａｐ．ｊｐｇ”）を表す。なお、本実施形態では、Ｔｅｍｐｅｒａｔｕｒｅ５０７０やＷｅａｔｈｅｒ  Ｍａｐ５１００のように、ＶａｌｕｅがＵＲＩの形式で他のデータ領域を指し示すポインタになっている場合と、その他の情報要素のように、Ｖａｌｕｅに直接値が格納される場合があるが、どちらか一方であってもよいし本実施形態のように混在していてもよい。また、本実施形態では、オブジェクトデータ５０００内のコンテンツに含まれる情報要素は、ＫｅｙとＶａｌｕｅの組によって構成されるとしたが、別の形態であっても構わない。また、オブジェクトデータ５０００の構成は、図５の例に限られない。
【００６２】
図６は、第２Ｓメタ８２Ｔの構成図である。
【００６３】
ＳＳＶＯＬ（スナップショット）とは、データ領域１５００の少なくとも一部、本実施形態では、オブジェクトデータ５０００の集合についての任意の時点のイメージである。第２Ｓメタ８２Ｔは、第２Ｓメタテーブル６０００に格納される。本実施形態では、第２Ｓメタテーブル６０００は、リスト形式であるが、それに限定されず、バイナリツリーなどを含むツリー形式であっても構わないし、ハッシュテーブルの形式であっても構わない。
【００６４】
第２Ｓメタ８２Ｔは、複数の情報要素を含む。複数の情報要素は、スナップショットＩＤ６０１０、アクセス状態６０２０、アクセスパス６０３０、オブジェクトＩＤ６０４０、計算機ＩＤ６０５０、開始アドレス６０６０、終了アドレス６０７０、最終更新時刻６１１０及び属性情報要素６１２０を含む。
【００６５】
スナップショットＩＤ６０１０は、第２Ｓメタ８２ＴのＩＤである。アクセス状態６０２０、オブジェクトＩＤ６０４０、計算機ＩＤ６０５０、開始アドレス６０６０、終了アドレス６０７０、最終更新時刻６１１０及び属性情報要素６１２０は、第１Ｓメタ８２Ｓのアクセス状態３０２０、オブジェクトＩＤ３０３０、計算機ＩＤ３０４０、開始アドレス３０５０、終了アドレス３０６０、最終更新時刻３１００及び属性情報要素３１１０の複製である。アクセスパス６０３０は、第２Ｓメタ８２Ｔに関連付けられたＣメタ８３内のアクセスパス４０２０の複製である。
【００６６】
このように、本実施形態では、第２Ｓメタ８２Ｔは、第１Ｓメタ８２Ｓが有する情報要素（例えばＳメタＩＤ３０１０以外の全ての情報要素）の複製と、Ｃメタ８３内のアクセスパス４０２０の複製とを含む。なお、第２Ｓメタ８２Ｔの構成は、図６の構成に限らない。例えば、第１Ｓメタ８２Ｓのうち第２Ｓメタ８２Ｔに複製される情報要素はより少なくてもよいし、Ｃメタ８３のうち第２Ｓメタ８２Ｔに複製される情報要素はより多くてもよいし、第１Ｓメタ８２Ｓ及びＣメタ８３のいずれも有しない情報要素が第２Ｓメタ８２Ｔに保持されてもよい。
【００６７】
図７は、Ｃメタ管理プログラム１２００の処理手順を示すフローチャートである。
【００６８】
Ｃメタ管理プログラム１２００は、プログラム開始後（Ｓ７０１０）、ユーザによる検索条件の設定を待つ（Ｓ７０２０）。ユーザの検索条件設定は、例えば後述の要求受付ＧＵＩ９０００を用いて行われる。
【００６９】
ユーザによる検索条件の設定が行われると（Ｓ７０２０：Ｙｅｓ）、Ｃメタ管理プログラム１２００は、その検索条件のインターバルをチェックする（Ｓ７０３０）。なんらかのインターバルが設定されている場合（Ｓ７０３０：Ｙｅｓ）、Ｃメタ管理プログラム１２００は、次の開始時刻まで待つ（Ｓ７０５０）。インターバルが設定されておらずオンデマンドが選択されている場合（Ｓ７０３０：Ｎｏ）、Ｃメタ管理プログラム１２００は、ユーザの指示を待つ（Ｓ７０４０）。なお、次の開始時刻の時点、又は、ユーザの指示を受けた時点が、「指定時点」の一例である。
【００７０】
Ｓ７０４０又はＳ７０５０において待ちが解除されると、Ｃメタ管理プログラム１２００は、第２Ｓメタ８２Ｔの作成を行う（Ｓ７０６０）。Ｓ７０６０の詳細は、図１０〜図１３を用いて後述する。その後、Ｃメタ管理プログラム１２００は、ストレージプログラム１４００に対し、スナップショット操作を発行する（Ｓ７０７０）。
【００７１】
Ｃメタ管理プログラム１２００は、ユーザからの終了指示が有るか否かをチェックする（Ｓ７０８０）。終了指示が無ければ（Ｓ７０８０：Ｎｏ）、Ｓ７０３０に戻り、終了指示があれば（Ｓ７０８０：Ｙｅｓ）、処理が終了する（Ｓ７１００）。
【００７２】
図８は、ストレージプログラム１４００の処理手順を示すフローチャートである。
【００７３】
プログラム開始後（Ｓ８０１０）、ストレージプログラム１４００は、イベントの発生をチェックする（Ｓ８０２０）。イベントが発生していなければ（Ｓ８０２０：Ｎｏ）、ストレージプログラム１４００は、一定時間待って（Ｓ８０３０）、Ｓ８０２０に戻る。
【００７４】
イベントが発生していれば（Ｓ８０２０：Ｙｅｓ）、ストレージプログラム１４００は、そのイベントがデータの読み書きである（例えば、ホストシステムからのＩ／Ｏ要求の受信）かをチェックする（Ｓ８０４０）。
【００７５】
イベントがデータの読み書きの場合（Ｓ８０４０：Ｙｅｓ）、ストレージプログラム１４００は、データ領域１５００（又はＳＳＶＯＬ）に対するデータの読み書きを行う。この際、ストレージプログラム１４００は、必要に応じて、第１Ｓメタ８２Ｓの作成や更新を行う。
【００７６】
イベントがデータの読み書きではない場合（Ｓ８０４０：Ｎｏ）、ストレージプログラム１４００は、そのイベントがストレージ操作指示であるかをチェックする（Ｓ８０６０）。
【００７７】
イベントがストレージ操作指示の場合（Ｓ８０６０：Ｙｅｓ）、ストレージプログラム１４００は、ストレージ操作処理を行う（Ｓ８０７０）。Ｓ８０７０の詳細は、図１４〜図１６を用いて後述する。
【００７８】
イベントがストレージ操作指示ではない場合（Ｓ８０６０：Ｎｏ）、ストレージプログラム１４００は、イベントに応じた処理（例えば、障害対処）を行う（Ｓ８０８０）。
【００７９】
イベントに応じた処理（Ｓ８０５０、Ｓ８０７０又はＳ８０８０）の後、ストレージプログラム１４００は、ユーザからの終了指示が有るか否かをチェックする（Ｓ８０９０）。終了指示が無ければ（Ｓ８０９０：Ｎｏ）、Ｓ８０２０に戻り、終了指示があれば（Ｓ８０９０：Ｙｅｓ）、処理が終了する（Ｓ８１００）。
【００８０】
図９は、要求受付ＧＵＩ９０００を示す。
【００８１】
要求受付ＧＵＩ（Graphical User Interface）９０００経由で、検索条件の入力（設定）が可能である。要求受付ＧＵＩ９０００は、例えばＣメタ管理プログラム１２００により表示される。
【００８２】
要求受付ＧＵＩ９０００は、複数のフィールドと複数のボタンを有する。
【００８３】
インターバルフィールド９０１０には、検索処理を行う間隔が入力される。間隔として、毎月、毎週、毎日、毎時及びオンデマンドのうちの２以上があってもよい。
【００８４】
時刻フィールド９０２０には、検索処理を行う時刻が入力される。本フィールドに入力される値の構成は、インターバルフィールド９０１０でどんなインターバルが選択されたかによって指定するものが変わる。例えば、インターバルフィールド９０１０で“毎週”が選択された場合、時刻フィールド９０２０に入力される値は、何曜日の何時に検索処理を行うかでよい。また、例えば、インターバルフィールド９０１０で“オンデマンド”が選択された場合、時刻フィールド９０２０は非表示となってよいしディスエーブル状態となってもよい。
【００８５】
共通検索条件フィールド９１１０には、すべての対象データ（検索対象のデータ）に共通の検索条件が入力される。図９の例では、対象データは３つあるが、共通検索条件は、これら全てに共通の条件である。本実施形態では、Ｋｅｙ＝Ｖａｌｕｅの形式により共通検索条件が指定される。共通検索条件フィールド９１１０Ａに入力された条件“Ｄａｔａ  Ｔｙｐｅ＝Ｗｅａｔｈｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ”によれば、その条件に該当する全てのオブジェクトデータが検索対象とされる。また、共通検索条件フィールド９１１０Ｂに入力された“ＧＰＳ＝東経１３０度−１４０度、北緯３０度−４０度”によれば、その範囲にある位置を表す情報を含んだオブジェクトデータ（又はＣメタ８３或いは第１Ｓメタ８２Ｓ）が検索対象とされる。共通検索条件は、追加ボタン９１５０を押す（例えばクリックする）ことにより、任意の数まで増やすことができる。本実施形態では、共通検索条件は０以上でよい。また、複数の共通検索条件が入力された場合、それらはＡＮＤであってもＯＲであっても又はそれらの組合せであってもよい。
【００８６】
対象データフィールドセット９２００は、対象データ毎に存在する。対象データフィールドセット９２００は、検索条件フィールド９２１０とアクセスパスフィールド９２３０といった１以上のフィールドを有する。
【００８７】
検索条件フィールド９２１０には、対象データの検索条件が入力される。ここで、入力される検索条件は、複数の指定時点に汎用的な検索条件、別の言い方をすれば、指定時点が異なっても検索条件それ自体は同じである。検索条件は、例えば、Ｋｅｙ＝Ｖａｌｕｅの形式である。“Ｔｉｍｅ＝ｔｏｄａｙ”は、指定時点が属する日である。検索条件と指定時点とに従い、見つけたいデータが具体的に決まる。例えば、検索条件が“Ｔｉｍｅ＝ｔｏｄａｙ”の場合、指定時点が１２月７日の２３：００であれば、見つけたいデータは１２／７（１２月７日）のデータであり、指定時点が１２月８日の２３：００であれば、見つけたいデータは１２／８のデータである。
【００８８】
アクセスパスフィールド９２３０には、検索の結果見つかったオブジェクトデータを他のプログラムからアクセスするためのパス（パス名）が入力される。アクセスパスの書式は、例えば、上述したように、ＵＲＩの書式でよい。
【００８９】
ユーザは、所望の対象データについて、追加ボタン９２２０を押すことで、検索条件フィールド９２１０を追加することが可能である。つまり、検索対象に対して１以上の検索条件を指定できる。また、ユーザは、追加ボタン９５００を押すことで、対象データフィールドセット９２００を追加することも可能である。図９の例と、本実施形態でのユースケースによれば、直近３日分のデータが分析で使用されるため、対象データは３つ、具体的には、本日分のデータ（検索条件“Ｔｉｍｅ＝ｔｏｄａｙ”）と、１日前のデータ（検索条件“Ｔｉｍｅ＝ｙｅｓｔｅｒｄａｙ”）と、２日前のデータ（検索条件“Ｔｉｍｅ＝ｔｗｏ  ｄａｙｓ  ａｇｏ”）である。
【００９０】
ＯＫボタン９６１０が押されると、要求受付ＧＵＩ９０００に入力された情報に従いＣメタ管理プログラム１２００により処理が実行される。Ｃａｎｃｅｌボタン９６２０が押されると、要求受付ＧＵＩ９０００に入力された情報がキャンセルされる。
【００９１】
以下、Ｃメタ作成処理（図７のＳ７０６０）とスナップショット操作処理（図８のＳ８０７０）の一例を詳細に説明する。その際、上述したユースケースの通り、直近３日間（今日、昨日、一昨日）のデータが使用されるとする。また、図１０〜図１６では、第１Ｓメタテーブル３０００、第２Ｓメタテーブル６０００及びＣメタテーブル４０００の図示は省略する。
【００９２】
＜１．Ｃメタ作成処理（図７のＳ７０６０）＞
【００９３】
Ｃメタ作成処理を、図１０〜図１３を用いて説明する。また、以下の説明では、時刻は、月日のみで表現する（年は例えば２０１５年と同一年とする）。
【００９４】
図１０は、Ｃメタ８３が存在しない状態を示す。オブジェクトデータ５０００毎に、そのオブジェクトデータ５０００を参照する第１Ｓメタ８２Ｓが存在するが、第２Ｓメタ８２Ｔは存在しない。
【００９５】
この状態において、要求受付ＧＵＩ９０００経由で、上述した３つの検索条件（直近３日分のデータの検索条件）が設定されたとする。その後、指定時点毎に、それら３つの検索条件の各々について、Ｃメタ管理プログラム１２００が、その検索条件に適合するＣメタ８３を検索する。
【００９６】
＜１−１．初回検索＞
【００９７】
初回の検索の場合、Ｃメタ８３は存在していない。初回検索の日、すなわち、初回検索についての今日（変更前の指定時点が属する日）は、１２／８であるとする。さて、Ｃメタ８３が存在していない場合、検索範囲は、第１Ｓメタテーブル３０００（既存の第１Ｓメタ８２Ｓ）及びデータ領域１５００（既存のオブジェクトデータ５０００）のうちの少なくとも１つである。検索の結果、検索対象（第１Ｓメタ８２Ｓ及びオブジェクトデータ５０００のうちの少なくとも１つ）が発見された場合、Ｃメタ管理プログラム１２００が、対象第１Ｓメタ８２Ｓ（発見された第１Ｓメタ８２Ｓ、又は、発見されたオブジェクトデータ５０００の第１Ｓメタ８２Ｓ）のＳメタＩＤを１つの対象４１１０として含んだＣメタ８３を作成する。例えば、図１１に示すように、アクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ２”でのアクセスについて、検索条件“Ｔｗｏ  ｄａｙｓ  ａｇｏ”（つまり一昨日）に適合する第１Ｓメタ８２Ｓ（又はオブジェクトデータ５０００）は、今日が１２／８のため、最終更新時刻（又はＴｉｍｅ５０５０）として“１２／６”を含んだ第１Ｓメタ（Ｓｍ＿００６）（又はオブジェクトデータ＃６）である。従って、Ｃメタ管理プログラム１２００が、その第１Ｓメタ（Ｓｍ＿００６）を見つけて、その第１ＳメタのＳメタＩＤ“Ｓｍ＿００６”を対象４１１０として含んだＣメタ（Ｃｍ＿００１）を作成する。結果として、図１１に示すように、一昨日に適合した第１Ｓメタ（Ｓｍ＿００６）に関連付いたＣメタ（Ｃｍ＿００１）が作成される。同様に、昨日に適合した第１Ｓメタ（Ｓｍ＿００７）に関連付いたＣメタ（Ｃｍ＿００２）と、今日に適合した第１Ｓメタ（Ｓｍ＿００８）に関連付いたＣメタ（Ｃｍ＿００３）も作成される。なお、１つの検索条件につき２以上の第１Ｓメタが見つかったならば、Ｃメタ管理プログラム１２００は、見つかった各第１ＳメタのＳメタＩＤを対象４１１０としてその検索条件に対応したＣメタに含める。
【００９８】
＜１−２．２回目以降の検索＞
【００９９】
２回目以降の検索として、２回目の検索を例に取る。
【０１００】
２回目の検索の場合、既にＣメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）が存在している。この場合、検索範囲は、まず、Ｃメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）である。以下、２回目の検索について、検索条件に該当するＣメタ８３が見つかった場合（図１２）と、そのようなＣメタ８３が見つからなかった場合（図１３）とを説明する。なお、２回目の検索の時点では、図１２及び図１３に示すように、直近３日間（今日、昨日、一昨日）のデータのスナップショット、具体的には、今日に対応した第２Ｓメタ（ＳＳ＿００５）と、昨日に対応した第２Ｓメタ（ＳＳ＿００４）と、一昨日に対応した第２Ｓメタ（ＳＳ＿００３）とが１つのＳＳＶＯＬに関連付けられている。これは、初回の検索でＣメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）が作成され、それらＣメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）の各々についてスナップショット作成処理（詳細は後述）が実行された結果である。
【０１０１】
＜１−２−１．検索条件に該当するＣメタ８３が見つかった場合＞＞
【０１０２】
図１２を参照する。２回目の検索の日、すなわち、２回目の検索についての今日（変更後の指定時点が属する日）は、１２／９であるとする。
【０１０３】
Ｃメタ管理プログラム１２００は、一昨日（１２／７）に対応したＣメタ（Ｃｍ＿００４）を作成する（Ｓ１１）。
【０１０４】
Ｃメタ管理プログラム１２００は、一昨日である１２／７のデータを検索する際、“１２／７”をキーに、Ｃメタテーブル４０００（例えば既存Ｃメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３））を検索する（Ｓ１２）。この結果、検索条件４０３０Ｃ“Ｔｉｍｅ＝２０１５／１２／７”と検索結果４０６０“ＯＫ”とを含んだＣメタ（Ｃｍ＿００２）が見つかる。なお、“Ｔｉｍｅ＝２０１５／１２／７”は、汎用的な検索条件“Ｔｗｏ  ｄａｙｓ  ａｇｏ”と、指定時点（１２／９）とに従って一義的に定まる具体的な検索条件の一例である。つまり、本実施形態では、検索条件として、汎用的な検索条件と、具体的な検索条件とがある。例えばＣメタ管理プログラム１２００が受信する検索要求で指定される検索条件も、Ｃメタに格納される検索条件も、汎用的な検索条件と具体的な検索条件とのいずれでもよい。汎用的な検索条件が指定された場合、Ｃメタ管理プログラム１２００が、指定時点と汎用的な検索条件とから具体的な検索条件（例えば探し出す値）を特定し、その検索条件に適合するＣメタ、第１Ｓメタ及びオブジェクトデータ等のいずれかを探してよい。また、汎用的な検索条件がＣメタに格納された場合、混同を避けるために、そのＣメタには、指定時点（例えば汎用的な検索条件が使用された日のような基準）も格納されてよい。
【０１０５】
さて、Ｃメタ管理プログラム１２００は、見つかったＣメタ（Ｃｍ＿００２）が有する対象４１１０“ＳＳ＿００４”を、今回の検索において新たに作成した上述のＣメタ（Ｃｍ＿００４）に、複製する（Ｓ１３）。Ｃメタ（Ｃｍ＿００４）は、一昨日という検索条件に対応しアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ１”を含んだＣメタ（Ｃｍ＿００４）、つまり、一昨日に対応した新たなＣメタ（Ｃｍ＿００４）である。このため、一昨日に対応した古いＣメタ（Ｃｍ＿００１）は不要になる。
【０１０６】
同様の流れで、昨日に対応した新たなＣメタ（Ｃｍ＿００５）が作成される。Ｃメタ（Ｃｍ＿００５）は、今日に対応した古いＣメタ（Ｃｍ＿００３）内の対象４１１０“ＳＳ＿００５”を対象４１１０として有する。
【０１０７】
＜１−２−２．検索条件に該当するＣメタ８３が見つからなかった場合＞＞
【０１０８】
上述の通り、２回目の検索では、一昨日（１２／７）に対応した古いＣメタ（Ｃｍ＿００２）と、昨日（１２／８）に対応した古いＣメタ（Ｃｍ＿００３）は、検索の結果として見つかる。
【０１０９】
しかし、今日（１２／９）に対応したＣメタは見つからない。存在していないためである。
【０１１０】
そこで、今日（１２／９）に対応したＣメタは新たに作成される。具体的には、図１３に示す通りである。
【０１１１】
すなわち、Ｃメタ管理プログラム１２００は、今日（１２／９）に対応しアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ０”のＣメタ（Ｃｍ＿００６）を作成する（Ｓ２１）。
【０１１２】
Ｃメタ管理プログラム１２００は、“１２／９”をキーにＣメタテーブル４０００を検索するが（Ｓ２２）、そのキーに適合するＣメタは見つからない。
【０１１３】
この場合、Ｃメタ管理プログラム１２００は、今日“１２／９”をキーに第１Ｓメタテーブル３０００を検索する（Ｓ２３）。この検索では、検索された第１Ｓメタに関連付いているオブジェクトデータ５０００もチェックされてよい。この結果、第１Ｓメタ（Ｓｍ＿００９）が見つかる。Ｃメタ管理プログラム１２００は、見つかった第１Ｓメタ（Ｓｍ＿００９）のＳメタＩＤ“Ｓｍ＿００９”を、今回の検索において新たに作成した上述のＣメタ（Ｃｍ＿００６）に、複製する（Ｓ２４）。
【０１１４】
このようにして、２回目の検索（今日１２／９）に対応した直近３日分のＣメタ（Ｃｍ＿００４）〜（Ｃｍ＿００６）が作成される。なお、Ｃメタ管理プログラム１２００は、不要になった古いＣメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）を削除してもよい。削除は、対応する新たなＣメタが作成されたときに代えて、別のタイミング、例えば、Ｃメタ８３の総容量が所定の上限に達したときでもよい。
【０１１５】
＜２．スナップショット操作処理（図８のＳ８０７０）＞
【０１１６】
スナップショット操作処理を、図１４〜図１６を用いて説明する。なお、以下の例は、初回検索に対応したスナップ操作処理とする。
【０１１７】
ストレージプログラム１４００は、Ｃメタ管理プログラム１２００からのスナップショット操作指示に応答して、スナップ操作処理を実行する。その指示は、Ｃメタに関する情報（例えば、Ｃメタテーブル４０００へのポインタ）を含む。つまり、Ｃメタに関する情報をストレージプログラム１４００が受ける。
【０１１８】
＜２−１．初回検索に対応したスナップショット操作処理＞
【０１１９】
初回検索により、上述したように、Ｃメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）が存在する。しかし、初回検索では、未だ、いずれの第２Ｓメタも作成されていない。
【０１２０】
ストレージプログラム１４００は、それらＣメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）のアクセスパス４０２０を参照する（Ｓ３１）。例えば、“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ２”が、Ｃメタ（Ｃｍ＿００１）から参照される。
【０１２１】
ストレージプログラム１４００は、そのアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ２”を持つ第２Ｓメタがあるか否かをチェックする。
【０１２２】
ここでは、そのような第２Ｓメタは存在しない（見つからない）。このため、ストレージプログラム１４００は、スナップショットＩＤ“ＳＳ＿００３”を生成し（Ｓ３２）、スナップショットＩＤ“ＳＳ＿００３”とアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ２”とを含んだ第２Ｓメタ（ＳＳ＿００３）を作成する。
【０１２３】
ストレージプログラム１４００は、アクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ２”の参照元Ｃメタ（Ｃｍ＿００１）が有する対象４１１０である“Ｓｍ＿００６”をキーに、第１Ｓメタテーブル３０００を検索する（Ｓ３３）。この結果、第１Ｓメタ（Ｓｍ＿００６）が見つかる。ストレージプログラム１４００は、見つかった第１Ｓメタ（Ｓｍ＿００６）内の所定の情報要素（本実施形態では、ＳメタＩＤ以外の全ての情報要素）を、作成された第２Ｓメタ（ＳＳ＿００３）に複製する（Ｓ３４）。この結果、第２Ｓメタ（ＳＳ＿００３）の参照先が、第１Ｓメタ（Ｓｍ＿００６）の参照先と同じ（つまりオブジェクトデータ＃６）となる。
【０１２４】
ストレージプログラム１４００は、上記参照元Ｃメタ（Ｃｍ＿００１）内の対象４１１０を、ＳメタＩＤ“Ｓｍ＿００６”からスナップショットＩＤＳＳ＿００３”に変更する（Ｓ３５）。これにより、Ｃメタ（Ｃｍ＿００１）に対して、一昨日に対応した第２Ｓメタ（ＳＳ＿００３）が関連付けられる。すなわち、“ＳＳ＿００３”をキーに、Ｃメタ（Ｃｍ＿００１）に関連付いている第２Ｓメタ（ＳＳ＿００３）を特定できるようになる。
【０１２５】
同様の処理が、Ｃメタ（Ｃｍ＿００２）及び（Ｃｍ＿００３）の各々についても行われる。結果として、図１５に示すように、Ｃメタ（Ｃｍ＿００２）には、昨日に対応した第２Ｓメタ（ＳＳ＿００４）が対応付けられ、Ｃメタ（Ｃｍ＿００３）には、今日に対応した第２Ｓメタ（ＳＳ＿００５）が対応付けられる。これらの第２Ｓメタ（ＳＳ＿００３）〜（ＳＳ＿００５）が関連付けられたＳＳＶＯＬが、ストレージプログラム１４００により提供される。これにより、ＳＳＶＯＬを通じて、最新の指定時点に直近３日分のデータを参照することができる。なお、第２Ｓメタは、第２Ｓメタテーブル６０００に格納される。
【０１２６】
＜２−２．２回目以降の検索に対応したスナップショット操作処理＞
【０１２７】
２回目以降の検索として、２回目の検索を例に取る。なお、２回目の検索では、初回検索でのＣメタ（Ｃｍ＿００１）〜（Ｃｍ＿００３）（図１１参照）に代えて、Ｃメタ（Ｃｍ＿００４）〜（Ｃｍ＿００６）が存在する（図１３参照）。例えば、Ｃメタ（Ｃｍ＿００４）は、図１３に示すように、対象４１１０“ＳＳ＿００４”を含む。
【０１２８】
図１６を参照する。ストレージプログラム１４００は、既存Ｃメタ（Ｃｍ＿００４）からアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ２”を参照し、そのようなアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ２”を持つ第２Ｓメタがあるか否かをチェックする（Ｓ４１）。そのような第２Ｓメタ（ＳＳ＿００３）が見つかった場合、以下の処理を行う。
【０１２９】
ストレージプログラム１４００は、見つかった第２Ｓメタ（ＳＳ＿００３）からＩＤ“ＳＳ＿００３”を取得する（Ｓ４２）。
【０１３０】
ストレージプログラム１４００は、Ｓ４２で取得した“ＳＳ＿００３”をＩＤとして含んだ第２Ｓメタ（ＳＳ＿００３）の参照先を、参照元Ｃメタ（Ｃｍ＿００４）内の“ＳＳ＿００４”をＩＤとして含んだ第２Ｓメタ（ＳＳ＿００４）が指し示す参照先に変更する（Ｓ４３）。具体的には、ストレージプログラム１４００は、第２Ｓメタ（ＳＳ＿００４）の参照先を表す情報要素６０５０〜６０７０（全ての位置セット）を、第２Ｓメタ（ＳＳ＿００３）の参照先を表す情報要素に複製（上書き）する。これにより、指定時点が変更しても（指定時点が１２／８から１２／９に変わっても）、一昨日に対応した第２Ｓメタ（ＳＳ＿００３）が一昨日のオブジェクトデータを参照することが維持される。すなわち、初回検索では、一昨日は１２／６のため、第２Ｓメタ（ＳＳ＿００３）は、１２／６のオブジェクトデータ＃６を参照していたが、２回目検索では、一昨日は１２／７のため、第２Ｓメタ（ＳＳ＿００３）は、オブジェクトデータ＃６に代えて、１２／７のオブジェクトデータ＃７（昨日に対応した第２Ｓメタ（ＳＳ＿００４）の参照先）を参照する。１２／７は、初回検索（今日＝１２／８）では昨日であるが、２回目検索（今日＝１２／９）では一昨日である。
【０１３１】
ストレージプログラム１４００は、アクセスパスの参照元Ｃメタ（Ｃｍ＿００４）内の対象４１１０を、“ＳＳ＿００４”から、Ｓ４２で取得した“ＳＳ＿００３”に変更する。これにより、一昨日に対応したアクセスパスを含んだＣメタ（Ｃｍ＿００４）が、昨日に対応した第２Ｓメタ（ＳＳ＿００４）に代えて、一昨日に対応した第２Ｓメタ（ＳＳ＿００３）に関連付けられる。つまり、Ｃメタと第２Ｓメタとの関連付けも正しく維持される。
【０１３２】
以上、Ｃメタ（Ｃｍ＿００４）及び第２Ｓメタ（ＳＳ＿００３）を例に取って説明したが、他のＣメタ及び他の第２Ｓメタについても同様の処理が行われる。具体的には下記である。
（＊）Ｃメタ（Ｃｍ＿００５）内のアクセスパス（昨日に対応したアクセスパス）を用いて、昨日に対応した第２Ｓメタ（ＳＳ＿００４）が特定される。第２Ｓメタ（ＳＳ＿００４）も、昨日に対応したアクセスパスを含んでいるためである。第２Ｓメタ（ＳＳ＿００４）の参照先が、１２／７のオブジェクトデータ＃７）から、Ｃメタ（Ｃｍ＿００５）内の古いＩＤ“ＳＳ＿００５”に対応した第２Ｓメタ（ＳＳ＿００５）の参照先である、１２／８のオブジェクトデータ＃８に変わる。１２／８は、初回検索（今日＝１２／８）では今日であるが、２回目検索（今日＝１２／９）では昨日である。Ｃメタ（Ｃｍ＿００５）内の古いＩＤ“ＳＳ＿００５”が、Ｃメタ（Ｃｍ＿００５）内のアクセスパスに対応した第２Ｓメタ（ＳＳ＿００４）内のＩＤ“ＳＳ＿００４”に変更される。結果として、昨日に対応したＣメタ（Ｃｍ＿００５）に、今日に対応した第２Ｓメタ（ＳＳ＿００５）に代えて、昨日に対応した第２Ｓメタ（ＳＳ＿００４）が関連付けられる。
（＊）Ｃメタ（Ｃｍ＿００６）内のアクセスパス（今日に対応したアクセスパス）を用いて、今日に対応した第２Ｓメタ（ＳＳ＿００５）が特定される。第２Ｓメタ（ＳＳ＿００５）も、今日に対応したアクセスパスを含んでいるためである。第２Ｓメタ（ＳＳ＿００５）の参照先が、１２／８のオブジェクトデータ＃８）から、Ｃメタ（Ｃｍ＿００６）内の古いＩＤ“Ｓｍ＿００９”に対応した第１Ｓメタ（Ｓｍ＿００９）の参照先である、１２／９のオブジェクトデータ＃９に変わる。１２／９は、２回目検索において今日である。Ｃメタ（Ｃｍ＿００６）内の古いＩＤ“Ｓｍ＿００９”が、Ｃメタ（Ｃｍ＿００６）内のアクセスパスに対応した第２Ｓメタ（ＳＳ＿００５）内のＩＤ“ＳＳ＿００５”に変更される。結果として、今日に対応したＣメタ（Ｃｍ＿００６）に、今日に対応した第２Ｓメタ（ＳＳ＿００５）が関連付けられる。
【０１３３】
以上のようにして、ストレージプログラム１４００は、変更後の指定時点での１以上の検索条件に適合した１以上のＣメタと、ＳＳＶＯＬに関連付けられている１以上の第２Ｓメタとの関連付けに基づき、ＳＳＶＯＬに関連付けられている１以上の第２Ｓメタの参照先を、変更後の指定時点での１以上の検索条件に該当する１以上のオブジェクトデータに維持する。また、１以上のＣメタと１以上の第２Ｓメタとの対応関係も正しく維持される。つまり、変更後の指定時点での検索条件に該当するＣメタの関連付け先が、変更後の指定時点での同一の検索条件に該当するオブジェクトデータを参照する第２Ｓメタに変更される（維持される）。
【０１３４】
結果として、例えば、本日のデータには、常に同じアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ０”でアクセスでき、昨日のデータであれば、常に同じアクセスパス“ｏｂｊ：／／ＷｅｔｈｅｒＩｎｆｏ／Ｄａｙ１”でアクセスできる。このため、分析プログラム１３００は、指定時点が変更される都度に新たなＳＳＶＯＬ（ＶＤＭの一例）を認識し直す必要がない。
【０１３５】
以上、一実施形態を説明したが、本発明は、その実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１３６】
例えば、スナップショットの方式として、例えば、Ｒｉｄｉｒｅｃｔ−ｏｎ−ｗｒｉｔｅ方式が採用される。すなわち、データ領域１５００（又はＳＳＶＯＬ）を通じてオブジェクトデータに対して書き込みが発生すると、その書き込みは、データ領域の中（又は外）の新たな領域に行われ、第１Ｓメタ８２Ｓや第２Ｓメタ８２Ｔが指し示す位置が書き換えられてよい。この方式によれば、情報収集プログラム１１００及び分析プログラム１３００の双方から書き込みが発生しても、お互いにその影響を受けることはない。このように、本実施形態では、Ｒｉｄｉｒｅｃｔ−ｏｎ−ｗｒｉｔｅ方式のスナップショットが採用されるが、それに代えて、Ｃｏｐｙ−ｏｎ−ｗｒｉｔｅ方式など他の方式が採用されてもよい。
【０１３７】
例えば、データ処理システムは、ストレージシステム、ホストシステム及び管理システムのうちの少なくとも１つに該当してもよい。例えば、ホストシステムがデータ処理システムに該当する場合、ホストシステムに対して検索鍵を指定した検索要求を送信する要求元はクライアントシステム（１以上のクライアント計算機）であってもよい。また、ストレージシステムは、１以上のＰＤＥＶとその１以上のＰＤＥＶに接続されたストレージコントローラとを有していて、ストレージコントローラが、プロセッサ部を有していて、１以上のプログラムのうち少なくともストレージプログラム１４００を実行してよい。
【０１３８】
また、Ｃメタ８３は、ストレージシステムに代えて又は加えてホストシステム又は管理システムに存在してもよい。具体的には、例えば、同一オブジェクト（同一オブジェクトデータ５０００）について、ユーザ毎に（例えばホストシステム毎に又は管理システム毎に）、Ｃメタ８３が作成され、Ｃメタ８３は、そのＣメタ８３に対応したユーザのホストシステム又は管理システムに提供されてよい。ホストシステム又は管理システムがユーザから検索条件の指定を受けた場合、ホストシステム又は管理システム内のプロセッサ部が、そのユーザに対応するＣメタ８３のうちその検索条件に適合するＣメタ８３をホストシステム又は管理システムから探してよい。ホストシステム又は管理システムは、Ｃメタ８３が見つかった場合、そのＣメタ８３が参照するＳメタ８２が属するＳＳＶＯＬの作成をストレージシステムに要求してもよい。その要求に応答して、ストレージシステムが、Ｃスナップ処理を実行してもよい。
【０１３９】
また、Ｃメタ８３は、ユーザ毎に存在してもよい。例えば、同一のオブジェクトデータ５０００について、ユーザＡのＣメタ管理プログラム１２００により作成されたＣメタ８３は、ユーザＡ用のＣメタ８３として保存され、ユーザＢのＣメタ管理プログラム１２００により作成されたＣメタ８３は、ユーザＢ用のＣメタ８３として保存されてよい。ユーザＡから検索要求を受けた場合、ストレージプログラム１４００（例えば、そのプログラム１４００を実行するストレージコントローラ）は、検索要求で指定された検索鍵と要求元のユーザＡとに適合するＣメタ８３を探してよい。
【０１４０】
また、ユーザプログラム（例えば、Ｃメタ管理プログラム１２００）は、管理システム、ホストシステム及びストレージシステムのうちのいずれで実行されてもよい。
【０１４１】
また、オブジェクトの一例として、ファイルが採用されてよい。ファイルのデータが、オブジェクト内のオブジェクトデータの一例でよく、ファイルのメタデータが、オブジェクトのＳメタの一例でよい。
【符号の説明】
【０１４２】
１０００：ＩＴシステム
【図１】
0006640991.tif 000002
【図２】
0006640991.tif 000003
【図３】
0006640991.tif 000004
【図４】
0006640991.tif 000005
【図５】
0006640991.tif 000006
【図６】
0006640991.tif 000007
【図７】
0006640991.tif 000008
【図８】
0006640991.tif 000009
【図９】
0006640991.tif 000010
【図１０】
0006640991.tif 000011
【図１１】
0006640991.tif 000012
【図１２】
0006640991.tif 000013
【図１３】
0006640991.tif 000014
【図１４】
0006640991.tif 000015
【図１５】
0006640991.tif 000016
【図１６】
0006640991.tif 000017