(57)【特許請求の範囲】
【請求項１】
プロセッサとメモリを含む管理計算機と、
前記管理計算機に接続された１以上の記憶装置と、を有する計算機システムであって、
前記プロセッサは、前記記憶装置に格納された分析ソースデータを読み込んで所定のデータ格納領域に格納し、
前記プロセッサは、前記データ格納領域の分析ソースデータに対して所定の分析を行った結果を分析結果データとして出力し、
前記プロセッサは、前記読み込んだ分析ソースデータの所在をデータ所在情報に格納し、
前記プロセッサは、前記分析結果データを生成する際に利用した前記分析ソースデータを、当該分析結果データと関連付けて分析結果生成元情報に格納し、
前記プロセッサは、前記利用した分析ソースデータの所在が変更または削除されたときには、前記データ所在情報を更新し、
前記プロセッサは、分析結果データの情報を含むデータ取得要求を受け付けて、前記分析結果データの情報から前記分析結果生成元情報を参照して、当該分析結果データを生成する際に利用した分析ソースデータを特定し、
前記プロセッサは、前記特定した分析ソースデータで前記データ所在情報を検索し、当該分析ソースデータの所在を特定することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記プロセッサは、前記特定された所在に基づいて前記記憶装置または前記データ格納領域から前記分析ソースデータを読み込むことを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記プロセッサは、前記分析結果データが前記管理計算機に保持されている場合には、前記分析ソースデータが前記データ格納領域から削除されても前記分析ソースデータの所在を前記データ所在情報に保持することを特徴とする計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記データ所在情報は、前記分析ソースデータの前記所在と識別子と日時の情報を含み、
前記分析結果生成元情報は、分析ソースデータの識別子と日時の情報を含み、
前記分析結果データを生成する際に利用した分析ソースデータの特定は、
前記分析結果データの情報から前記分析結果生成元情報を参照して、当該分析結果データを生成する際に利用した分析ソースデータの識別子と日時を特定し、前記特定した分析ソースデータの識別子と日時で前記データ所在情報を検索し、当該分析ソースデータの所在を特定することを特徴とする計算機システム。
【請求項５】
請求項２に記載の計算機システムであって、
前記プロセッサは、前記分析ソースデータを読み込む際の取得に関する情報をデータ取得情報に格納し、
前記特定された所在が前記データ格納領域以外の場合には、前記データ取得情報を取得して前記記憶装置に適用して前記分析ソースデータを読み込むことを特徴とする計算機システム。
【請求項６】
請求項２に記載の計算機システムであって、
前記記憶装置は、前記分析ソースデータのバックアップを管理する管理装置に接続され、
前記分析ソースデータの所在がバックアップの場合には、前記プロセッサが前記管理装置に前記分析ソースデータを要求し、前記管理装置はリストアによって前記分析ソースデータを復元し、前記管理計算機へ送信することを特徴とする計算機システム。
【請求項７】
請求項２に記載の計算機システムであって、
前記記憶装置は、前記分析ソースデータの集約データを管理する管理装置に接続され、
前記分析ソースデータの所在が集約データの場合には、前記プロセッサが前記管理装置に前記分析ソースデータを要求し、前記管理装置が前記集約データを前記分析ソースデータとして前記管理計算機へ送信することを特徴とする計算機システム。
【請求項８】
プロセッサとメモリを含む管理計算機に接続された１以上の記憶装置に格納された分析ソースデータを管理する分析ソースデータ管理方法であって、
前記管理計算機が、前記記憶装置に格納された分析ソースデータを読み込んで所定のデータ格納領域に格納する第１のステップと、
前記管理計算機が、前記データ格納領域の分析ソースデータに対して所定の分析を行った結果を分析結果データとして出力する第２のステップと、
前記管理計算機が、前記読み込んだ分析ソースデータの所在をデータ所在情報に格納する第３のステップと、
前記管理計算機が、前記分析結果データを生成する際に利用した前記分析ソースデータを、当該分析結果データと関連付けて分析結果生成元情報に格納する第４のステップと、
前記管理計算機が、前記利用した分析ソースデータの所在が変更または削除されたときには、前記データ所在情報を更新する第５のステップと、
前記管理計算機が、分析結果データの情報を含むデータ取得要求を受け付けて、前記分析結果データの情報から前記分析結果生成元情報を参照して、当該分析結果データを生成する際に利用した分析ソースデータを特定する第６のステップと、
前記管理計算機が、前記特定した分析ソースデータで前記データ所在情報を検索し、当該分析ソースデータの所在を特定する第７のステップと、
を含むことを特徴とする分析ソースデータ管理方法。
【請求項９】
請求項８に記載の分析ソースデータ管理方法であって、
前記管理計算機が、前記特定された所在に基づいて前記記憶装置または前記データ格納領域から前記分析ソースデータを読み込む第８のステップをさらに含むことを特徴とする分析ソースデータ管理方法。
【請求項１０】
請求項８に記載の分析ソースデータ管理方法であって、
前記第５のステップは、
前記分析結果データが前記管理計算機に保持されている場合には、前記分析ソースデータが前記データ格納領域から削除されても前記分析ソースデータの所在を前記データ所在情報に保持することを特徴とする分析ソースデータ管理方法。
【請求項１１】
請求項８に記載の分析ソースデータ管理方法であって、
前記データ所在情報は、前記分析ソースデータの前記所在と識別子と日時の情報を含み、
前記分析結果生成元情報は、分析ソースデータの識別子と日時の情報を含み、
前記第６のステップは、
前記分析結果データの情報から前記分析結果生成元情報を参照して、当該分析結果データを生成する際に利用した分析ソースデータの識別子と日時を特定し、前記特定した分析ソースデータの識別子と日時で前記データ所在情報を検索し、当該分析ソースデータの所在を特定することを特徴とする分析ソースデータ管理方法。
【請求項１２】
請求項９に記載の分析ソースデータ管理方法であって、
前記第３のステップは、
前記分析ソースデータを読み込む際の取得に関する情報をデータ取得情報に格納するステップを含み、
前記第８のステップは、
前記特定された所在が前記データ格納領域以外の場合には、前記データ取得情報を取得して前記記憶装置に適用して前記分析ソースデータを読み込むことを特徴とする分析ソースデータ管理方法。
【請求項１３】
請求項９に記載の分析ソースデータ管理方法であって、
前記第８のステップは、
前記分析ソースデータの所在がバックアップの場合には、前記記憶装置が接続されて前記分析ソースデータのバックアップを管理する管理装置に前記分析ソースデータを要求し、前記管理装置はリストアによって前記分析ソースデータを復元し、前記管理計算機へ送信することを特徴とする分析ソースデータ管理方法。
【請求項１４】
請求項９に記載の分析ソースデータ管理方法であって、
前記第８のステップは、
前記分析ソースデータの所在が集約データの場合には、前記記憶装置が接続されて前記分析ソースデータの集約データを管理する管理装置に前記分析ソースデータを要求し、前記管理装置が前記集約データを前記分析ソースデータとして前記管理計算機へ送信することを特徴とする分析ソースデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析システムにおけるデータ探索方法に関する。
【背景技術】
【０００２】
クラウドコンピューティング（以下、クラウド）の普及に伴い、顧客のデータセンタにおける業務システムのデータをクラウド上に集約して、各種分析サービスが登場している。顧客は当該分析サービスを利用して分析レポートを作成し、業務システムの改善の判断等を行う。近年では、分析サービスにおいて、地理的に分散した、複数のデータセンタ、及びＩｏＴ（Internet of Things）デバイスの情報を収集するエッジコンピュータ等、各所からの情報を含めた分析を行うこともある。【０００３】
分析サービスにおいて、一度生成した分析結果に対して、追加の情報を加えた上で再度分析したいケースが存在する。具体例を挙げると、例えば、電力会社の持つ、顧客情報（年齢、性別、職業等）から、エネルギー利用量の予測分析を実施し、料金プラン(分析レポートX)を提示していた。分析を行った３カ月後に、分析者が、電力使用状況等の情報、顧客行動情報もあわせて、利用量の予測分析を実施し、料金プランを提示したいと考え、３ヶ月前からの顧客情報（年齢、性別、職業等）も再度利用してデータ分析を実施する、といったケースである。【０００４】
データウェアハウスにおいて、ソースとなるデータ(分析前のデータ)と、データ変換実施後のデータ(分析結果)の関連を保持しておき、データ変換実施後のデータから、ソースとなるデータを探索可能とする技術が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１４／０６２２７７号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クラウド上の分析サービスにおいて、分析に利用したデータ（顧客システムの情報等）は、契約上の理由（例えば、記憶領域の容量制限）等で分析の終了後にクラウド上から削除されることが多い。このように前記従来例では、既に分析したソースデータの情報が分析用のクラウド上に存在しないため、分析結果のソースデータを利用できず、既存の分析データと同一のソースデータを利用して、迅速に追加のレポートを生成することができない、という問題があった。
【課題を解決するための手段】
【０００７】
本発明は、プロセッサとメモリを含む管理計算機と、前記管理計算機に接続された１以上の記憶装置と、を有する計算機システムであって、前記プロセッサは、前記記憶装置に格納された分析ソースデータを読み込んで所定のデータ格納領域に格納し、前記プロセッサは、前記データ格納領域の分析ソースデータに対して所定の分析を行った結果を分析結果データとして出力し、前記プロセッサは、前記読み込んだ分析ソースデータの所在をデータ所在情報に格納し、前記プロセッサは、前記分析結果データを生成する際に利用した前記分析ソースデータを、当該分析結果データと関連付けて分析結果生成元情報に格納し、前記プロセッサは、前記利用した分析ソースデータの所在が変更または削除されたときには、前記データ所在情報を更新し、前記プロセッサは、分析結果データの情報を含むデータ取得要求を受け付けて、前記分析結果データの情報から前記分析結果生成元情報を参照して、当該分析結果データを生成する際に利用した分析ソースデータを特定し、前記プロセッサは、前記特定した分析ソースデータで前記データ所在情報を検索し、当該分析ソースデータの所在を特定する。
【発明の効果】
【０００８】
本発明によれば、分析結果データから、分析ソースデータを辿れるようにすることで、追加の分析レポートを迅速に生成することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施例を示し、データセンタにおける処理の一例を示すブロック図である。
【図２】本発明の第１の実施例を示し、データセンタの計算機システムの一例を示すブロック図である。
【図３】本発明の第１の実施例を示し、分析用クラウドの一例を示すブロック図である。
【図４】本発明の第１の実施例を示し、ゲートウェイ計算機の一例を示すブロック図である。
【図５】本発明の第１の実施例を示し、分析結果生成元テーブルの一例を示す図である。
【図６】本発明の第１の実施例を示し、データ所在情報テーブルの一例を示す図である。
【図７】本発明の第１の実施例を示し、データテーブルの一例を示す図である。
【図８】本発明の第１の実施例を示し、データ取得情報テーブルの一例を示す図である。
【図９】本発明の第１の実施例を示し、データレプリケーション管理テーブルの一例を示す図である。
【図１０】本発明の第１の実施例を示し、データバックアップ管理テーブルの一例を示す図である。
【図１１】本発明の第１の実施例を示し、ＥＴＬ処理情報テーブルの一例を示す図である。
【図１２】本発明の第１の実施例を示し、分析ソースデータトレース処理の一例を示すフローチャートである。
【図１３】本発明の第１の実施例を示し、分析ソースデータのメタデータ生成及び格納処理の一例を示すフローチャートである。
【図１４】本発明の第１の実施例を示し、分析結果データのメタデータ生成及び格納処理の一例を示すフローチャートである。
【図１５】本発明の第１の実施例を示し、分析ソースデータのメタデータ更新処理の一例を示すフローチャートである。
【図１６】本発明の第２の実施例を示し、データセンタの計算機システムの一例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について添付図面を用いて説明する。
【００１１】
幾つかの実施例を、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。なお、以後の説明では「ａａａテーブル」等の表現にて本発明の情報を説明するが、これら情報はテーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」等について「ａａａ情報」と呼ぶことがある。さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名称」、「ＩＤ」という表現を用いるが、これらについてはお互いに置換が可能である。
【００１２】
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信デバイス、管理Ｉ／Ｆ、データＩ／Ｆ）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
【００１３】
以後、計算機システムを管理し、本発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバが表示用情報を表示する場合は管理サーバが管理システムである、また、管理サーバと表示用計算機との組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバと同等の処理を実現してもよく、この場合は当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含め）が管理システムである。
【実施例１】
【００１４】
本実施例に係る計算機システムについて説明する。【００１５】
図１は本実施例の概略を示す図である。個々の構成要素の説明は後述する。データセンタ５の業務サーバ３０００上で稼働する業務システムにおいて利用するデータを、ＥＴＬ（Extract／Transform／Load）処理の実施後に分析用クラウド６に転送し、分析処理を実施する環境を前提とする。【００１６】
分析処理の実施後、過去に分析で利用したデーを参照したい場合に、分析ソースデータトレースプログラム９１５０は、（１）分析結果生成元テーブル（分析結果生成元情報）９１１０を参照して分析結果（分析結果データ）から当該分析に利用したデータ（分析ソースデータ）を特定し、（２）データ所在情報テーブル９１２０を参照して分析データの所在を特定し、（３）データ取得情報テーブル９１４０を参照してデータ取得方法を特定することで、過去に分析で利用したデータを取得可能とする。これらの処理を実施するため、データセンタ５上で保持しているＥＴＬ処理やデータ転送に関するメタデータを分析用クラウド６と共有する。【００１７】
加えて、フィールド７のＩｏＴ機器１０、例えば工場における製造ロボットの情報や、工場内を撮影するカメラの情報などのデータを、フィールド７のゲートウェイ計算機２０において収集し、フィールド７内のデータ格納領域に格納し、分析用クラウド６にデータを転送し、分析用クラウド６上のメッセージブローカー３０によりデータテーブル（データ格納領域）９１３０に格納される構成を対象にしても良い。この場合においても前述の（１）から（３）の処理は同様となる。【００１８】
ここで、フィールド７とは、例えば機械部品等を生産する１以上の工場を示し、１つ以上のＩｏＴ機器１０と１つ以上の管理計算機１０００及びゲートウェイ計算機２０を含む。【００１９】
本実施例にかかわる計算機システムは、図２に示す１台以上の管理計算機（管理装置）１０００を含む１つ以上のデータセンタ５と、図３に示す１台以上の管理計算機９０００を含む一つ以上のデータセンタとしての分析用クラウド６または一つ以上のフィールド７から構成される。【００２０】
図２は実施例１にかかわる計算機システムにおける、１台以上の管理計算機１０００を含むデータセンタ５の一例を示すブロック図である。【００２１】
本実施例１では、１台以上の管理計算機１０００に加え、１台以上の業務サーバ３０００と、１台以上のストレージ装置２０００と、１台以上のＥＴＬサーバ４０００を含む例を示す。本実施例１で説明する全ての機能を管理計算機１０００が保有するなどしても良く、図示の構成に限定されない。【００２２】
ストレージ装置２０００と、業務サーバ３０００と、ＥＴＬサーバ４０００は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのデータ通信用のネットワーク６０００（具体的にはファイバチャネル等）を介して互いに接続される。【００２３】
管理計算機１０００と、ストレージ装置２０００と、業務サーバ３０００と、ＥＴＬサーバ４０００は、管理用ネットワーク５０００を介して互いに接続される。図２に示す例では、ストレージ装置２０００と、業務サーバ３０００と、ＥＴＬサーバ４０００は、データ通信用のネットワーク６０００を介して互いに接続される。【００２４】
当該接続は、ファイバチャネルを介して直接接続されるものに限定されず、１台以上のファイバチャネルスイッチ等のネットワーク機器を介して接続されても良い。また、当該接続は、データ通信用のネットワークであれば良く、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークでも良い。また、データ通信用のネットワークを管理用ネットワーク５０００として、同じネットワークを利用しても良い。【００２５】
管理計算機１０００は、メモリ１１００と、通信デバイス１２００と、プロセッサ１３００と、出力デバイス１４００と、入力デバイス１５００と、記憶デバイス１６００と、データＩ／Ｆ１８００を含み、これらは、内部バス１７００を介して互いに接続される。【００２６】
メモリ１１００は、構成情報収集プログラム１１１０と、メタデータ共有プログラム１１２０と、データ取得プログラム１１３０と、データレプリケーション管理テーブル１１４０と、データバックアップ管理テーブル１１５０を格納する。【００２７】
構成情報収集プログラム１１１０は、ストレージ装置２０００と、業務サーバ３０００と、ＥＴＬサーバ４０００から、構成情報、例えば業務サーバ３０００と業務サーバで利用しているボリューム２２１０の関連情報や、図９に示すデータレプリケーション管理テーブル１１４０の情報や、図１０に示すデータバックアップ管理テーブル１１５０の情報等を収集するためのプログラムである。【００２８】
メタデータ共有プログラム１１２０は、データセンタ５上で保持する、分析用クラウド６に送信したデータに対応するメタデータ（具体的には図９または図１０に格納された情報）を分析用クラウド６と共有するためのプログラムである。【００２９】
データ取得プログラム１１３０は、分析用クラウド６における分析ソースデータトレースプログラム９１５０から、分析用クラウド６において必要なデータの取得要求を受付けて、要求されたデータの取得を実行するプログラムである。【００３０】
データレプリケーション管理テーブル１１４０には、データセンタ５から分析用クラウド６へのデータレプリケーションに関する情報を格納する。データバックアップ管理テーブル１１５０には、データセンタ５におけるデータバックアップに関する情報を格納する。【００３１】
通信デバイス１２００は、管理用ネットワーク５０００に接続するためのデバイスである。プロセッサ１３００は、メモリ１１００上に展開されているプログラムを実行する。出力デバイス１４００は、管理計算機１０００が実行した処理結果を出力するデバイスで、例えばディスプレイ等である。入力デバイス１５００は、管理者が管理計算機１０００に指示を入力するためのデバイス、例えばキーボード等である。記憶デバイス１６００は、情報を格納するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。データＩ／Ｆ１８００は、データ通信用のネットワーク６０００に接続するためのインタフェースデバイスである。【００３２】
図２に示す例では、各種プログラム及びテーブルは、メモリ１１００に格納されているが、記憶デバイス１６００または他の記憶媒体（図示しない）に格納されても良い。この場合、プロセッサ１３００は、プログラム実行時にメモリ１１００上に対象のプログラムを読みだし、読みだしたプログラムを実行する。【００３３】
また、ストレージ装置２０００のメモリ２１００に、前述のプログラム及びテーブルが格納され、ストレージ装置２０００と、業務サーバ３０００と、ＥＴＬサーバ４０００が、格納されたプログラムを実行しても良い。また、他の業務サーバ３０００またはスイッチ（図示省略）等の他の装置が、前述のプログラム及びテーブルを格納し、格納したプログラムを実行しても良い。【００３４】
管理計算機１０００は、管理用ネットワーク５０００を介して、ストレージ装置２０００、業務サーバ３０００、ＥＴＬサーバ４０００上で動作するプログラムと通信できる。【００３５】
ストレージ装置２０００は、メモリ２１００と、論理ボリューム提供部２２００と、ディスクＩ／Ｆコントローラ２３００と、管理Ｉ／Ｆ２４００と、プロセッサ２５００及びデータＩ／Ｆ２６００を含み、これらは内部バス等の通信路２７００を介して接続される。【００３６】
メモリ２１００は、ディスクキャッシュ２１１０を有する。また、メモリ２１００は、レプリケーションプログラム２１２０及びバックアッププログラム２１３０を格納する。ディスクキャッシュ２１１０は、情報を一時格納するための記憶領域である。レプリケーションプログラム２１２０は、ストレージ装置２０００のボリューム２２１０に格納されたデータを、別のストレージ装置２０００にレプリケーションを行うためのプログラムである。【００３７】
バックアッププログラム２１３０は、ストレージ装置２０００のボリューム２２１０に格納されたデータを、別の場所、例えば別のボリューム２２１０にバックアップを行うためのプログラムである。これらのプログラムは、定期的に実行、あるいはユーザ要求などの任意のタイミングで実行されても良い。【００３８】
ここで、各種プログラム及びテーブルは、メモリ２１００に格納されているが、記憶デバイス（２２００）または他の記憶媒体（図示しない）に格納されても良い。この場合、プロセッサ２５００は、プログラム実行時にメモリ２１００上に対象のプログラムを読みだし、読みだしたプログラムを実行する。【００３９】
論理ボリューム提供部２２００は、物理領域２２３０によって構成されるディスクプール２２２０を含み、ディスクプール２２２０の記憶領域を論理的に分割し、当該論理的に分割された記憶領域をボリューム２２１０として提供する。ここで物理領域２２３０は、物理ディスクや複数の物理ディスクから構成されるパリティグループなどである。【００４０】
当該ストレージ装置２０００の外部の装置からはボリューム２２１０経由で物理領域２２３０にアクセスすることが可能である。なお、物理領域２２３０には物理領域番号が付与され、ディスクプール２２２０にはディスクプール番号が付与され、ボリューム２２１０にはボリューム番号が付与される。【００４１】
これによって、ストレージ装置２０００は、物理領域２２３０と、ディスクプール２２２０及び論理ボリューム２２１０をそれぞれ一意に識別することができる。図２に示す例では、１つの物理領域（パリティグループＰＧ１）から構成されるディスクプール２２２０（ＰＯＯＬ１）が論理的に分割され、１つのボリューム２２１０（Ｖｏｌ１）がストレージ装置２０００の外部の装置（例えば、業務サーバ３０００）に提供される。【００４２】
ディスクＩ／Ｆコントローラ２３００は、ボリューム提供部２２００に接続するためのインタフェースデバイスである。管理Ｉ／Ｆ２４００は管理用ネットワーク５０００に接続するためのインタフェースデバイスである。プロセッサ２５００は、メモリ２１００上に展開されたプログラムを実行する。データＩ／Ｆ２６００は、データ通信用のネットワーク６０００に接続するためのインタフェースデバイスである。【００４３】
また、論理ボリューム提供部２２００は、１つのディスクプール２２２０の全記憶領域を１つの論理ボリューム２２１０として作成しても良い。また、論理ボリューム提供部２２００は、物理領域２２３０としてパリティグループ以外、例えば物理ディスクそのものや、フラッシュメモリ等の記憶媒体でも良い。【００４４】
業務サーバ３０００は、メモリ３１００と、データＩ／Ｆ３２００と、プロセッサ３３００及び管理Ｉ／Ｆ３４００を含み、これらは内部バス等の通信路３５００を介して互いに接続される。メモリ３１００は、業務プログラム３１１０を格納する。【００４５】
業務プログラム３１１０は、業務サーバ３０００が提供する業務を実現するためのプログラムであり、例えば、ＤＢＭＳ（Ｄａｔａ  Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）やファイルシステム等である。業務サーバ３０００は、ストレージ装置２０００から提供された論理ボリューム２２１０に業務データを格納し、各種業務を提供する。【００４６】
図２に示す例では、各種プログラムはメモリ３１００上に格納されているが、他の記憶装置（図示しない）に格納されていても良い。この場合、プロセッサ３３００は、処理実行時にメモリ３１００上の対象のプログラムを読みだし、読みだしたプログラムを実行する。【００４７】
データＩ／Ｆ３２００は、データ通信用のネットワーク６０００に接続するためのインタフェースデバイスである。プロセッサ３３００は、メモリ３１００上に展開されたプログラムを実行する。管理Ｉ／Ｆ３４００は管理用ネットワーク５０００に接続するためのインタフェースデバイスである。【００４８】
ＥＴＬサーバ４０００は、メモリ４１００と、データＩ／Ｆ４２００と、プロセッサ４３００及び管理Ｉ／Ｆ４４００を含み、これらは内部バス等の通信路４５００を介して互いに接続される。メモリ４１００は、ＥＴＬプログラム４１１０、及びＥＴＬ処理情報テーブル４１２０を格納する。【００４９】
ＥＴＬプログラム４１１０は、ＥＴＬサーバ４０００が提供するＥＴＬ処理を実現するためのプログラムであり、例えば、ストレージ装置２０００等に蓄積された業務データを選択して、分析しやすい形式に加工し、加工済みのデータを分析用クラウド６に転送するためのストレージ装置に書き込みを行うという一連の処理を実施する。具体的には、データの突き合わせ、重複削除、集計、ソート、コード変換、クレンジング、テーブル作成、テーブルへの挿入などの処理を実施する。【００５０】
ＥＴＬプログラム４１１０は、例えば、ＣＳＶ、ＸＭＬ、ＪＳＯＮ、ＺＩＰ、ＨＴＭＬなど周知または公知の形式や、Ｏｒａｃｌｅ、ＤＢ２、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ、Ｐｏｓｔｇｒｅ  ＳＱＬなどの定義されたテーブルスキーマ情報に基づく形式を相互に変換するための情報等、データの選択と加工と分析及び書き込みに必要な情報を保持し、これらを利用してＥＴＬ処理を実施する。【００５１】
ＥＴＬ処理情報テーブル４１２０は、ＥＴＬプログラム４１１０により実行されたＥＴＬ処理の実行履歴情報を保持する。図２に示す例では、各種プログラムはメモリ４１００上に格納されているが、他の記憶装置（図示しない）に格納されていても良い。この場合、プロセッサ４３００は、処理実行時にメモリ４１００上の対象のプログラムを読みだし、読みだしたプログラムを実行する。【００５２】
データＩ／Ｆ４２００は、データ通信用のネットワーク６０００に接続するためのインタフェースデバイスである。プロセッサ４３００は、メモリ４１００上に展開されたプログラムを実行する。管理Ｉ／Ｆ４４００は管理用ネットワーク５０００に接続するためのインタフェースデバイスである。【００５３】
図３は実施例１にかかわる計算機システムにおける、１台以上の管理計算機９０００を含む分析用クラウド６の一例を示すブロック図である。【００５４】
本実施例１では、１台以上の管理計算機に加え、１台以上のストレージ装置（記憶装置）２０００、及びメッセージブローカー３０を含む例を示す。本実施例１で説明する全ての機能を管理計算機９０００が保有するなどしても良く、図３の構成に限定されない。【００５５】
管理計算機９０００と、ストレージ装置２０００は、データ通信用のネットワーク６０００、を介して互いに接続される。データ通信用のネットワーク６０００としてどのようなものが使われても良く、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークが利用される。【００５６】
管理計算機９０００は、メモリ９１００と、通信デバイス９２００と、プロセッサ９３００と、出力デバイス９４００と、入力デバイス９５００と、記憶デバイス９６００と、データＩ／Ｆ９８００を含みこれらは、内部バス９７００を介して互いに接続される。【００５７】
メモリ９１００は、分析結果生成元テーブル９１１０と、データ所在情報テーブル９１２０と、データテーブル９１３０と、データ取得情報テーブル９１４０と、分析ソースデータトレースプログラム９１５０と、メタデータ管理プログラム９１６０と、分析プログラム９１７０を含む。【００５８】
分析結果生成元テーブル９１１０には、分析用クラウド６における、分析結果のデータと、分析に利用した分析ソースデータの関連情報を格納する。データ所在情報テーブル９１２０には、各時刻のデータの所在を表す情報を格納する。データテーブル９１３０には、データの値を表す情報を格納する。データ取得情報テーブル９１４０には、データの取得に必要な処理に関する情報を格納する。分析ソースデータトレースプログラム９１５０は、分析結果から分析に利用された分析ソースデータの所在を特定し、データを取得するためのプログラムである。メタデータ管理プログラム９１６０には、データの所在情報などの、データに関するメタ情報を格納する。分析プログラム９１７０は、分析ソースデータに基づき、分析を実施するプログラムである。【００５９】
通信デバイス９２００は、管理用ネットワーク５０００に接続するためのデバイスである。プロセッサ９３００は、メモリ９１００上に展開されているプログラムを実行する。出力デバイス９４００は、管理計算機９０００が実行した処理結果を出力するデバイス、例えばディスプレイ等である。入力デバイス９５００は、管理者が管理計算機９０００に指示を入力するためのデバイス、例えばキーボード等である。【００６０】
記憶デバイス９６００は、情報を格納するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。データＩ／Ｆ９８００は、データ通信用のネットワーク６０００に接続するためのインタフェースデバイスである。【００６１】
図３に示す例では、各種プログラム及びテーブルは、メモリ９１００に格納されているが、記憶デバイス９６００または他の記憶媒体（図示省略）に格納されても良い。この場合、プロセッサ９３００は、プログラム実行時にメモリ９１００上に対象のプログラムを読みだし、読みだしたプログラムを実行する。【００６２】
また、ストレージ装置２０００のメモリ２１００に、前述のプログラム及びテーブルが格納され、ストレージ装置２０００、格納されたプログラムを実行しても良い。また、サーバまたはスイッチ（図示しない）等の他の装置が、前述のプログラム及びテーブルを格納し、格納したプログラムを実行しても良い。管理計算機９０００は、管理用ネットワーク５０００を介して、ストレージ装置２０００上で動作するプログラムと通信できる。【００６３】
ここで、データセンタ５と、分析用クラウド６間は、管理用ネットワーク５０００を介する通信のために、ゲートウェイ（図示しない）などを経由して互いに接続される。データセンタ５は、顧客の業務データを保存しておき、顧客の業務プログラムの実行が行われる施設であり、分析用クラウド６とは地理的に互いに分散していることが多い。データセンタ５と分析用クラウド６の間を繋ぐ管理用ネットワーク５０００は、ＷＡＮ（ワイドエリアネットワーク）や、ＬＡＮ（ローカルエリアネットワーク）などの任意のネットワークタイプであってよい。【００６４】
データセンタ５、及び分析用クラウド６に配置されるゲートウェイはデータセンタ５内部、及び分析用クラウド６内部で利用されるネットワークプロトコルと、データセンタ５と分析用クラウド６間の通信のために利用されるネットワークプロトコルとの変換処理などを行う。【００６５】
また、データセンタ５と分析用クラウド６が、データ通信用のネットワーク６０００を介するデータ通信のために互いに接続されており、データ通信用のネットワーク６０００は、ＳＡＮやＩＰなどの任意のネットワークタイプであってよく、また、管理用ネットワーク５０００と同一のネットワークを利用してもよい。【００６６】
また、本実施例では、ストレージ装置２０００を用意し、ストレージの保有する機能であるレプリケーションプログラム２１２０を利用し、データセンタ５と分析用クラウド６間のリモートレプリケーションを実施している。これに限定されるものではなく、例えば業務サーバ３０００上で動作するリモートコピープログラム（図示しない）を利用して、業務サーバ３０００上の記憶装置に格納したデータを分析用クラウド６に送信するなどしても良い。【００６７】
メッセージブローカー３０は、フィールド７からのデータを受信し、テーブル定義にあわせてデータの形式変換を行うなどして、管理計算機９０００のデータテーブル９１３０に格納する役割を有する。ここでは管理計算機９０００と別にメッセージブローカー３０を用意する例を示したが、メッセージブローカー３０の機能を管理計算機９０００が提供しても良く、図示の例に限定されない。【００６８】
図４は実施例１にかかわる計算機システムにおける、フィールド７の一例を示すブロック図である。本実施例１では、１台以上の管理計算機９０００と、１台以上のＩｏＴ機器１０、１台以上のゲートウェイ計算機２０を含む例を示すが、本実施例１で説明する管理計算機９０００とゲートウェイ計算機２０の機能を、管理計算機またはゲートウェイ計算機のいずれかで提供しても良く、図示の例に限定されない。【００６９】
また、管理計算機９０００と、ＩｏＴ機器１０と、ゲートウェイ計算機２０は、管理用ネットワーク５０００、を介して互いに接続される。管理用ネットワーク５０００としては、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを利用することができる。【００７０】
管理計算機９０００は、図３に示したものと同様であるため説明を省略する。ゲートウェイ計算機２０は、ＩｏＴ機器１０のデータ、例えばセンサデータ等を収集し、分析用クラウド６のメッセージブローカー３０に当該データを送信する手段を提供する。【００７１】
ゲートウェイ計算機２０は、メモリ２１と、通信デバイス２２と、プロセッサ２３と、出力デバイス２４と、入力デバイス２５と、記憶デバイス２６を含み、これらは、内部バス２７を介して互いに接続される。メモリ２１は、収集定義テーブル２１１と、ゲートウェイプログラム２１２を格納する。【００７２】
収集定義テーブル２１１は、ゲートウェイプログラム２１２によって参照され、どのＩｏＴ機器１０のセンサからセンサデータを収集し、収集されたセンサデータをどの分析用クラウド６へ送信するかを定義したテーブルである（図示省略）。【００７３】
ゲートウェイプログラム２１２は、収集定義テーブル２１１に格納された収集定義情報に基づき、ＩｏＴ機器１０からデータを収集し、分析用クラウド６のメッセージブローカー３０に当該データを送信する。【００７４】
通信デバイス２２と、プロセッサ２３と、出力デバイス２４と、入力デバイス２５と、記憶デバイス２６と、内部バス２７については、管理計算機９０００と同様の構成であるため説明を省略する。【００７５】
図５は、実施例１にかかわる分析結果生成元テーブル９１１０の一例を示す図である。分析結果生成元テーブル９１１０は、分析用クラウド６上で実行された分析結果のデータと、当該分析に用いられた分析ソースデータの対応関係を示す情報を管理する。【００７６】
分析結果生成元テーブル９１１０は、分析結果データ９１１１と、分析ソースデータ９１１２と、ソースデータ日時９１１３のフィールドを一つのエントリに含む。【００７７】
分析結果データ９１１１には、分析用クラウド６上で実行された分析結果のデータを示す識別子が格納される。分析ソースデータ９１１２には、分析結果データ９１１１を生成する際に用いられたデータを示す識別子が格納される。【００７８】
ソースデータ日時９１１３には、分析結果データ９１１１を生成する際に利用した、分析ソースデータ９１１２の時刻情報を示す値（例えば、生成された日時）が格納される。図５に示した例では、２０１６／０６／０１−０６／１４の期間のデータＡの情報と、２０１６／０６／０１−０６／１４の期間のデータＢの情報を利用して、分析結果データＸが生成されたことを示す。【００７９】
図６は、実施例１にかかわるデータ所在情報テーブル９１２０の一例を示す図である。データ所在情報テーブル９１２０は、現時点におけるデータの所在を表す情報を日時情報とあわせて管理する。【００８０】
データ所在情報テーブル９１２０は、データＩＤ９１２１と、分析結果フラグ９１２２と、日時９１２３と、データ所在９１２４のフィールドを一つのエントリに含む。【００８１】
データＩＤ９１２１には、データを特定する識別子が格納される。分析結果フラグ９１２２には、データＩＤ９１２１で特定されるデータが分析結果データか、分析結果を生成する際に利用された分析ソースデータかを示す識別子が格納される。具体的には、分析結果の場合は、分析結果フラグとして"Ｔｒｕｅ"が、分析ソースデータの場合は、分析結果フラグとして"Ｆａｌｓｅ"が格納される。【００８２】
日時９１２３には、データＩＤ９１２１で示されるデータの取得（または生成）日時を表す情報が格納される。データ所在９１２４には、日時９１２３で示される日時における、データＩＤ９１２１で示されるデータの所在を示す識別子が格納される。【００８３】
図６に示した例の一行目は、分析ソースデータであるデータＡの、日時２０１６／０６／１５−０６／３０の期間の値は、"Ｌｏｃａｌ"すなわち分析用クラウド６に保存され、２０１６／０１／０１−０６／３０の期間の値は、"Ｄａｔａｃｅｎｔｅｒ１"で示されるデータセンタ５に格納されていることを示している。【００８４】
すなわち、一行目のデータは、２０１６／０１／０１−０６／１４の期間のデータは分析用クラウド６からは削除されていることを表している。また、図６に示した例の三行目は、分析ソースデータであるデータＣの、日時２０１６／０１／０１−０６／３０の期間の値は、"Ｌｏｃａｌ"すなわち分析用クラウド６と、"Ｆｉｅｌｄ１"で示されるフィールド７、例えば工場の両方に格納されていることを示している。【００８５】
図７は、実施例にかかわるデータテーブル９１３０の一例を示す図である。データテーブル９１３０は、データセンタ５から分析用クラウド６に送信されるデータを管理する。【００８６】
データテーブル９１３０は、データＩＤ９１３１と、日時９１３２と、Ｖａｌｕｅ９１３３のフィールドを一つのエントリに含む。【００８７】
データＩＤ９１３１には、データを特定する識別子が格納される。日時９１３２には、データの取得（または生成）日時を表す情報が格納される。Ｖａｌｕｅ９１３３には、データＩＤ９１３１で表されるデータの、日時９１３２における値が格納される。図７に示した例では、データＡの日時"２０１６／０６／１５  １０：００"の値は１８００、日時"２０１６／０６／１５  １１：００"の値は２０００、日時"２０１６／０６／１５  １２：００"の値は３０００であること表している。【００８８】
本実施例１では、説明を簡易にするためにＶａｌｕｅが単純な数値である例を示したが、これに限定されず、例えば数値や文字列の組み合わせからなるような値や、配列で示される値、Ｋｅｙ−Ｖａｌｕｅのセットで構成される値などどのような形式の値でも良い。【００８９】
図８は、実施例１にかかわるデータ取得情報テーブル９１４０の一例を示す図である。データ取得情報テーブル９１４０は、データセンタ５に存在するデータの取得方法を管理する。データ取得情報テーブル９１４０は、データＩＤ９１４１と、データ所在９１４２と、データ取得コマンド９１４３のフィールドを一つのエントリに含む。【００９０】
データＩＤ９１４１には、データを特定する識別子が格納される。データ所在９１４２には、データの所在を示す情報が格納される。データ取得コマンド９１４３には、データＩＤ９１４１で特定されるデータを取得するために必要なコマンドが格納される。【００９１】
図８に示した例の一行目では、データＡを"ＤａｔａＣｅｎｔｅｒ１"から取得するために、"Ｇｅｔ  ｃｏｎｔｒａｃｔ（Ａ）"というコマンドを実行する必要がある旨を表している。【００９２】
また、二行目の例では、データＢを"ＤａｔａＣｅｎｔｅｒ２"から取得するために、"Ｒｅｓｔｏｒｅ  ｂａｃｋｕｐ  ｖｏｌｕｍｅ  １２０"コマンドを時刻情報を指定して実行することで、指定した時点の識別子１２０で表されるボリュームのバックアップからデータを復元し、"Ｇｅｔ  ｖｏｌｕｍｅ（１２０'）"というコマンドで、識別子１２０'で表されるボリュームに復元したデータを取得し、"ＥＴＬ  ｆｒｏｍ  Ｏｒａｃｌｅ  ｔｏ  Ｐｏｓｔｇｒｅｓ"というコマンドでボリューム１２０'のデータをＯｒａｃｌｅ形式からＰｏｓｔｇｒｅｓ形式にＥＴＬプログラムで変換し、"Ｓｅｔ  ｒｅｍｏｔｅ  ｒｅｐｌｉｃａｔｉｏｎ"というコマンドで"ＤａｔａＣｅｎｔｅｒ２"から分析用クラウド６へデータの転送を行う、という処理を実行する必要がある旨を表している。【００９３】
本実施例１では、データＩＤ９１４１で特定されるデータは、元々存在するデータセンタ５と、分析用クラウド６の最大二か所のみに存在する例であり、データＩＤ９１４１で特定されるデータ毎に一つのデータ所在のみを有する例を示しているが、時刻によってデータＩＤ９１４１で示されるデータの所在が変わる場合は、時刻情報カラムを追加し、時刻毎のデータ所在、及びデータ取得コマンドを示せるようにしても良い。【００９４】
図９は、実施例１にかかわるデータレプリケーション管理テーブル１１４０の一例を示す図である。【００９５】
データレプリケーション管理テーブル１１４０は、コピー元所在ＩＤ１１４１と、コピー元ストレージＩＤ１１４２と、コピー元ボリュームＩＤ１１４３と、コピー先所在ＩＤ１１４４と、コピー先ストレージＩＤ１１４５と、コピー先ボリュームＩＤ１１４６と、最終更新時刻１１４７のフィールドを一つのエントリに含む。【００９６】
コピー元所在ＩＤ１１４１には、データセンタ５から分析用クラウド６に、データを送信する際の、データセンタ５の識別子が格納される。コピー元ストレージＩＤ１１４２には、データセンタ５から分析用クラウド６にデータを送信する際の、データセンタ５におけるデータ格納先であるストレージの識別子が格納される。【００９７】
コピー元ボリュームＩＤ１１４３には、データセンタ５から分析用クラウド６にデータを送信する際の、データセンタ５におけるデータ格納先であるストレージのボリュームの識別子が格納される。コピー先所在ＩＤ１１４４には、データセンタ５から分析用クラウド６に、データを送信する際の、分析用クラウド６の識別子が格納される。【００９８】
コピー先ストレージＩＤ１１４５には、データセンタ５から分析用クラウド６にデータを送信する際の、データセンタ５におけるデータ格納先であるストレージの識別子が格納される。コピー先ボリュームＩＤ１１４６には、データセンタ５から分析用クラウド６にデータを送信する際の、分析用クラウド６におけるデータ格納先であるストレージのボリュームの識別子が格納される。最終更新時刻１１４７には、データセンタ５から分析用クラウド６にデータを転送した最終時刻が格納される。【００９９】
本実施例１では、Ｖｏｌｕｍｅ単位でのリモートレプリケーションの例を示したが、これに限定されず、ファイル単位やテーブル単位などの単位でのリモートレプリケーションでも良い。【０１００】
図１０は、実施例１にかかわるデータバックアップ管理テーブル１１５０の一例を示す構成図である。データバックアップ管理テーブル１１５０は、ストレージＩＤ１１５１と、ボリュームＩＤ１１５２と、バックアップ先ストレージＩＤ１１５３と、バックアップ先ボリュームＩＤ１１５４と、バックアップ日時１１５５のフィールドを一つのエントリに含む。【０１０１】
ストレージＩＤ１１５１には、ストレージを一意に特定する示す識別子が格納される。ボリュームＩＤ１１５２には、ストレージＩＤ１１５１内のボリュームを一意に特定する識別子が格納される。バックアップ先ストレージＩＤ１１５３には、バックアップ先のストレージを一意に特定する識別子が格納される。バックアップ先ボリュームＩＤ１１５４には、バックアップ先のボリュームを一意に特定する識別子が格納される。バックアップ日時１１５５には、バックアップが実行された日時の情報が格納される。【０１０２】
図１１は、実施例１にかかわるＥＴＬ処理情報テーブル１１６０の一例の構成図である。【０１０３】
ＥＴＬ処理情報テーブル１１６０は、ＥＴＬサーバ４０００のＥＴＬプログラム４１１０が実施した、業務サーバ３０００上の業務プログラム３１１０で利用し、ストレージ装置２０００等に蓄積されたデータを選択して、分析しやすい形式に加工し、データを分析用クラウド６に転送するためのストレージ装置に書き込みを行うという一連の処理に関する情報を管理する。【０１０４】
ＥＴＬ処理情報テーブル１１６０は、実行時刻１８０１と、Ｏｐｅｒａｔｉｏｎ１８０２と、Ｓｏｕｒｃｅ１８０３と、Ｔａｒｇｅｔ１８０４のフィールドを一つのエントリに含む。【０１０５】
実行時刻１８０１はＥＴＬ処理が実行された時刻を示す情報が格納される。Ｏｐｅｒａｔｉｏｎ１８０２は、ＥＴＬプログラムにより実行された処理を示す情報が格納される。【０１０６】
Ｓｏｕｒｃｅ１８０３はＯｐｅｒａｔｉｏｎ１８０２で示される処理への入力データが格納されたストレージのボリューム識別子が格納される。Ｔａｒｇｅｔ１８０４はＯｐｅｒａｔｉｏｎ１８０２で示される処理の出力データを格納するストレージのボリューム識別子が格納される。【０１０７】
図１１では、ＥＴＬサーバ４０００が、２０１６／０６／０１  １０：００にＥＴＬ処理を開始し、Ｓｔｏｒａｇｅ１のＶｏｌｕｍｅ１０のデータを読み込み、読み込んだデータからＳＱＬのリクエストを生成し、転送用のデータ形式のスキーマ情報に基づきテーブルをＳｔｏｒａｇｅ１のボリューム３に生成し、生成されたＳＱＬリクエストを利用して、生成されたテーブルにデータを挿入する例を示している。【０１０８】
次に、管理計算機９０００が実行する各処理について説明する。【０１０９】
図１２は、実施例１に係わる分析結果の生成元のデータ（分析ソースデータ）をトレースする処理のフローチャート１００である。【０１１０】
データをトレースする処理とは、データの所在を特定し、記録する処理にあたる。本処理は、管理計算機９０００のプロセッサ９３００が、メモリ９１００上に展開された分析ソースデータトレースプログラム９１５０を実行することによって行われる。以下、本処理の具体例を示す。【０１１１】
まず、分析ソースデータトレースプログラム９１５０は、既存の分析結果のソースとして利用されたデータの取得要求を受信する（ステップ１０１）。データの取得要求は、管理用ネットワーク５０００を介して、外部の計算機から受信するのに加え、入力デバイス９５００からの取得要求を受け付けても良い。例えば、ユーザが管理計算機９０００の入力デバイス９５００を介して、既存の分析結果に別のデータを加えたレポートを作成する要求を入力した際等に、当該要求を受信する。具体例としては、ユーザが分析結果Ｘに、データＣを追加してレポートを作成しようとした際に、管理計算機９０００は分析結果Ｘのソースとして利用されたデータ（分析ソースデータ）の取得要求を受信する。なお、取得要求には、分析結果のデータの識別子が含まれる。【０１１２】
次に、分析ソースデータトレースプログラム９１５０は、図５に示した分析結果生成元テーブル９１１０を参照し、ステップ１０１で受信した既存分析結果のソースとして利用された分析ソースデータを特定する（ステップ１０２）。例えば、分析結果Ｘのソースとして利用されたデータが、データＡの２０１６／６／１〜２０１６／６／１４の情報と、データＢの２０１６／６／１〜２０１６／６／１４の情報であることを特定する。【０１１３】
次に、分析ソースデータトレースプログラム９１５０は、図６に示したデータ所在情報テーブル９１２０を参照し、ステップ１０２で特定したデータの格納場所を特定する（ステップ１０３）。例えば、データＡの２０１６／６／１〜２０１６／６／１４の情報と、データＢの２０１６／６／１〜２０１６／６／１４の情報の所在を特定するため、分析ソースデータトレースプログラム９１５０は、データ所在情報テーブル９１２０を参照し、データＡの該当時刻の情報は"Ｄａｔａｃｅｎｔｅｒ１"に存在し、データＢの該当時刻の情報は、分析用クラウド６及びＤａｔａｃｅｎｔｅｒ２に存在する、と特定する。【０１１４】
本実施例１では、ステップ１０１で取得要求を受信したソースデータと同一時刻のデータが存在する例を説明したが、分析の内容によっては必ずしも完全一致する必要がないため、取得要求の時刻前後で、ソースデータが存在する最も近い時刻の情報で代用してもよい。【０１１５】
そして、分析ソースデータトレースプログラム９１５０は、分析用クラウド６に該当のデータが存在するか否かを判定し（ステップ１０４）、分析用クラウド６に該当のデータが存在する場合、管理計算機９０００のデータテーブル９１３０から情報を取得し、処理を終了する（ステップ１０５）。【０１１６】
分析用クラウド６に該当のデータが存在しない場合、分析ソースデータトレースプログラム９１５０は、図８に示したデータ取得情報テーブル９１４０を参照し、管理計算機１０００のデータ取得プログラム１１３０に対して、該当時刻の情報の取得を要求する（ステップ１０６）。【０１１７】
ここで、分析ソースデータトレースプログラム９１５０は、図８に示した例のように、具体的な操作内容、例えば、該当時刻のバックアップボリュームをリストアするデータベースの形式をＯｒａｃｌｅからＰｏｓｔｇｒｅｓに変換する、あるいは、分析用クラウド６へのリモートコピーを実施する、などを指定して該当時刻の情報取得要求を実施する。【０１１８】
あるいは、分析ソースデータトレースプログラム９１５０が、データ取得コマンド９１４３のみをステップ１０３で特定したデータ格納場所の管理計算機１０００のデータ取得プログラム１１３０に対して発行することで該当時刻の情報取得要求を実施し、管理計算機１０００側で具体的な操作内容を決定しても良い。【０１１９】
本実施例１では、データのバックアップを取得し、ＥＴＬ処理を実行するケースの例を記載したが、これに限定されず、バックアップではなく処理中のデータそのものを取得するケースや、ＥＴＬ処理を実施せずに分析用クラウド６に情報を送信するケースもある。【０１２０】
ここで、該当のデータが古い情報の場合、データセンタ５内で集約処理が行われ、一日単位の粒度の情報は残っておらず、一週間単位などの集約された情報しかないケースもあり、この場合、データセンタ５の管理計算機１０００は指定時刻を含む一定期間の集約情報を返すなどしても良い。また、データセンタ５から分析用クラウド６へのデータ送信については、データ通信用のネットワーク６０００を利用して実施される。【０１２１】
以上の処理によって、分析用クラウド６の管理計算機９０００は、要求されたデータの所在を特定して、データセンタ５または分析用クラウド６から該当するデータを取得することができる。【０１２２】
図１３は、実施例にかかわる分析用クラウド６へのデータ収集時に分析ソースデータのメタデータを生成及び格納する処理のフローチャートである。ここでメタデータとは、データをトレースする際に必要となる、データの所在情報やデータ取得方法に関する情報などにあたる。本処理のステップ２０３以降は、管理計算機９０００のプロセッサ９３００が、メモリ９１００上に展開されたメタデータ管理プログラム９１６０を実行することによって行われる。以下、本フローチャートの具体例を示す。【０１２３】
まず、データセンタ５から分析用クラウド６へのデータ送信が実施される。これは周知または公知の方法によっても良く、例えば、本実施例１では、ストレージ装置２０００のリモートコピー機能を利用し、データセンタ５のストレージ装置２０００から分析用クラウド６のストレージ装置２０００にデータを複製する機能を利用した例を示す。なお、これに限定されるものではなく、例えば、管理計算機１０００で稼働するバックアップソフトウェア等を利用しても良い。【０１２４】
データセンタ５の管理計算機１０００のメタデータ共有プログラム１１２０は、データが送信されたことを検出し（ステップ２０１）、分析用クラウド６の管理計算機９０００のメタデータ管理プログラム９１６０に当該データに関する情報を送信する（ステップ２０２）。【０１２５】
具体的には、分析用クラウド６に送信したデータのデータＩＤと、送信日時と、送信元データセンタ５のＩＤおよび送信元データセンタ５内でのデータの処理内容を送信する。管理計算機１０００のメタデータ共有プログラム１１２０は、データセンタ５内のストレージ装置２０００や、業務サーバ３０００や、ＥＴＬサーバ４０００等から、分析用クラウド６へのデータの送信に関する情報や、ＥＴＬサーバ４０００でのデータ処理内容などの情報を定期的に収集して保持しているものとする。【０１２６】
次に、分析用クラウド６の管理計算機９０００のメタデータ管理プログラム９１６０は、データを受信し（ステップ２０３）、受信した情報のうち、データＩＤと、送信日時と、送信元データセンタ５のＩＤに基づき、図６に示すデータ所在情報テーブル９１２０を更新する（ステップ２０４）。【０１２７】
続いて、メタデータ管理プログラム９１６０は、受信した情報のうち、送信元データセンタ５内での送信データの処理内容に基づき、図８に示すデータ取得情報テーブル９１４０を更新する（ステップ２０５）。すなわち、メタデータ管理プログラム９１６０は、受信したデータの処理内容に基づいて、当該データを取得するためのコマンドなどを取得して、データ取得情報テーブル９１４０のデータ取得コマンド９１４３に格納する。【０１２８】
データ取得コマンド９１４３には、データの格納形態に応じたコマンドが格納される。例えば、当該データがバックアップデータとしてバックアップされている場合には、リストアのコマンドを格納し、データ形式を変換する場合には、データ形式の変換先を指定する。換言すれば、データ取得コマンド９１４３には、現在のデータの格納形式に応じた取得方法が格納される。【０１２９】
本実施例１では、ステップ２０１において、データセンタ５の管理計算機１０００のメタデータ共有プログラム１１２０は、データが分析用クラウド６へ送信されたことを検出することで処理が開始されることとした。これに限定されるものではなく、例えば分析用クラウド６のメタデータ管理プログラム９１６０が、データが受信されたことを検出し、メタデータ共有プログラム１１２０に対して、受信データに関する情報の送信を要求するなどにより処理を開始しても良く、あるいは定期的にメタ情報を共有するなどしても良い。また、メタデータ共有プログラム１１２０が、ストレージ装置２０００のボリューム２２１０内にメタデータを格納し、レプリケーションプログラム２１２０の機能を用いて、データ通信用のネットワーク６０００経由で情報を送信しても良い。【０１３０】
上記処理によって、データセンタ５から分析用クラウド６へデータが送信されると、当該データの情報が分析用クラウド６へ送信され、管理計算機９０００は、データ所在情報テーブル９１２０とデータ取得情報テーブル９１４０を更新することができる。【０１３１】
図１４は、実施例１にかかわる分析用クラウド６における分析処理の実行後にメタデータを更新する処理のフローチャートである。本処理は、管理計算機９０００のプロセッサ９３００が、メモリ９１００上に展開されたメタデータ管理プログラム９１６０を実行することによって行われる。以下、本フローチャートの具体例を示す。【０１３２】
まず、データセンタ５から収集された情報を利用して分析処理が実施される。これは、周知または公知の方法によっても良く、例えば、ユーザが出力デバイス９４００に表示されるデータを参照して、どの期間にどのデータを利用して、分析を行うかを検討の上、入力デバイス９５００を介して分析の実行操作を行うことで、分析プログラム９１７０により分析処理が実行され、出力デバイス９４００を介して、分析結果をレポートなどの形式で参照可能となる。【０１３３】
メタデータ管理プログラム９１６０は、分析プログラム９１７０により分析処理が実行され、分析結果がデータテーブル９１３０に格納されたことを検出する（ステップ３０１）。メタデータ管理プログラム９１６０は、分析結果のデータと、分析に利用した分析ソースデータの対応関係を分析結果生成元テーブル９１１０に格納する（ステップ３０２）。次に、メタデータ管理プログラム９１６０は、分析結果のデータの生成時刻情報と所在情報を、データ所在情報テーブル９１２０に格納する（ステップ３０３）。【０１３４】
上記処理によって、分析が完了する度に分析結果のデータと、分析に利用した分析ソースデータの関係を分析結果生成元テーブル９１１０に格納され、分析結果のデータの生成時刻情報と所在情報がデータ所在情報テーブル９１２０に格納されて、各データの所在を含む情報が生成される。【０１３５】
図１５は、実施例１にかかわる、分析用クラウド６から分析ソースデータを削除した後に、メタデータを更新する処理のフローチャートである。この処理は、分析ソースデータの削除後の他に、所定のタイミング（例えば、所定の周期）で実行することができる。【０１３６】
分析用クラウド６上では、分析に利用した分析ソースデータ（顧客システムの情報等）は、契約上の理由や、容量上の理由等で分析終了後にクラウド上から削除されることが多く、このようなケースを想定した処理を実施する。【０１３７】
まず、分析プログラム９１７０が、分析に利用した分析ソースデータで、利用が完了したデータをデータテーブル９１３０から削除する。当該処理は、分析プログラム９１７０により定期的に実行される、分析処理の実行後に自動的に実行される、あるいはユーザが入力デバイス９５００を経由して削除要求を実行するなど、どのような方法によって削除しても良い。【０１３８】
データテーブル９１３０からデータが削除された際に（ステップ４０１）、分析プログラム９１７０が削除したデータに対応するメタデータを削除する。具体的には、分析プログラム９１７０が、当該データの全ての時刻における情報が削除されたか否かを判定し（ステップ４０２）、削除された場合には、データ所在情報テーブル９１２０から、該当データがローカル（分析用クラウド６上）にあることを示すエントリを削除する（ステップ４０３）。【０１３９】
当該データの一部の時刻（または期間）の情報のみが削除された場合には、分析プログラム９１７０が、データ所在情報テーブル９１２０の、該当データがローカル（分析用クラウド６上）にあることを示すエントリの日時９１２３の情報を更新する（ステップ４０４）。【０１４０】
本処理の実行後に、分析用クラウド６上には存在しないデータであっても、そのメタデータ情報、具体的にはデータ所在情報テーブル９１２０には、データ収集元のデータセンタ５の情報などが存在する点が、本発明の特徴の一つとなっている。【０１４１】
以上のように、実施例１によれば、分析ソースデータが分析用クラウド６から削除されていても、分析結果から、分析前のデータを辿れるようになる。本実施例では、例えばデータがブロックである例を示した。計算機システムを利用する顧客観点では、データの位置を意識することなく、データにアクセス可能となる。これにより、追加の分析レポートを容易かつ迅速に作成可能となる。
【実施例２】
【０１４２】
本実施例２にかかわる計算機システムは、図１６に示す１台以上の管理計算機１０００と、１台以上の業務サーバ３０００と、１台以上のエッジサーバ７０００と、１台以上のファイルサーバ８０００を含む１つ以上のデータセンタ５と、１台以上の管理計算機９０００と、１台以上のエッジサーバ７０００を含む一つ以上のデータセンタとしての分析用クラウド６から構成される。【０１４３】
ここで、データセンタ５における管理計算機１０００と、業務サーバ３０００及び分析用クラウド６における管理計算機９０００については、前記実施例１と同様の構成であるため説明は省略する。【０１４４】
各構成要素はデータ通信用のネットワーク６０００（具体的にはＩＰ等）を介して互いに接続され、また、管理用ネットワーク５０００を介して互いに接続される。当該接続は、直接接続されるものに限定されず、１台以上のスイッチ等のネットワーク機器を介して接続されても良い。また、データ通信用のネットワークと管理用のネットワークとして、同じネットワークを利用しても良い。【０１４５】
エッジサーバ７０００のファイルサーバプログラム７１１０は、業務サーバ３０００からの入出力要求（Ｉ／Ｏ要求）に応じて、業務サーバ３０００に対してファイル共有サービスを提供するプログラム（例えばＮＦＳサーバプログラム）である。【０１４６】
分析用クラウド６のファイル共有プログラム７１２０は、ファイルサーバ８０００のファイルシステム（図示省略）と、エッジサーバ７０００のファイルシステムとで疑似ファイルシステム（例えば、仮想ファイルシステム）を構成し、透過的にファイルを移動可能とするプログラムである。【０１４７】
データセンタ５のファイルサーバ８０００のファイルサーバプログラム８１１０は、ファイル共有サービスを提供するプログラム（例えばＮＦＳサーバプログラム）である。ファイル共有プログラム８１２０は、エッジサーバ７０００のファイル共有プログラム７１２０と同様であり、ファイルサーバ８０００のファイルシステム（図示省略）と、エッジサーバ７０００のファイルシステムとで疑似ファイルシステム（例えば、仮想ファイルシステム）を構成し、透過的にファイルを移動可能とするプログラムである。なお、各エッジサーバ７０００への更新情報が、ファイルサーバ８０００に反映され、ファイルサーバ８０００への更新情報が、各エッジサーバ７０００に反映される。【０１４８】
本実施例２では、データセンタ５の業務サーバ３０００によるエッジサーバ７０００への書き込み処理がファイルサーバ８０００に反映され、ファイルサーバ８０００に反映されたデータが、分析用クラウド６のエッジサーバ７０００に転送される。【０１４９】
分析用クラウド６のエッジサーバ７０００に取得要求のデータに関する情報が存在しない場合、前記実施例１と同様に、管理計算機９０００は、分析結果生成元テーブル９１１０と、分析データ所在情報テーブル９１２０と、データ取得情報テーブル９１４０を参照し、データセンタ５の業務サーバ３０００とエッジサーバ７０００におけるデータの、所定時刻のバックアップまたはそれに相当する情報（例えば、ログ）を、ファイルサーバ８０００と同期するように設定を変更する。【０１５０】
そして、当該バックアップの情報がファイルサーバ８０００に反映され、ファイルサーバ８０００に反映されたデータが分析用クラウド６のエッジサーバ７０００に転送されることで、分析用クラウド６において当該データの参照が可能となる。本実施例２では、実施例１におけるＥＴＬプログラム４１１０の処理等が無い例を示している。【０１５１】
以上の実施例２により、分析ソースデータが分析用クラウド６から削除されていても、分析結果のデータから、分析前のデータを辿れるようになる。本実施例２では例えばデータがファイルである例を示した。本実施例２の計算機システムを利用する顧客の観点では、データの位置を意識することなく、データにアクセス可能となる。これにより、追加の分析レポートを迅速に作成可能となる。【０１５２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。【０１５３】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。【０１５４】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【図１】
0006680897.tif 000002
【図２】
0006680897.tif 000003
【図３】
0006680897.tif 000004
【図４】
0006680897.tif 000005
【図５】
0006680897.tif 000006
【図６】
0006680897.tif 000007
【図７】
0006680897.tif 000008
【図８】
0006680897.tif 000009
【図９】
0006680897.tif 000010
【図１０】
0006680897.tif 000011
【図１１】
0006680897.tif 000012
【図１２】
0006680897.tif 000013
【図１３】
0006680897.tif 000014
【図１４】
0006680897.tif 000015
【図１５】
0006680897.tif 000016
【図１６】
0006680897.tif 000017