(57)【要約】【課題】大量のデータを取得して分析を行う際の作業の効率を向上させる。【解決手段】データを蓄積する第１の計算機と、前記データを分析する第２の計算機とを含む計算機システムであって、第２の計算機は、分析対象となるデータ項目と、繰り返し単位が定義された分析最小データセットと、データの取得処理と分析処理を管理するエージェントと、を有し、エージェントは、分析最小データセットと、データの取得を繰り返す範囲と、データの取得を繰り返す単位と、を含む分析対象データ取り込み指定を受け付けて、繰り返しの範囲と繰り返しの単位に基づいて、第１の計算機からデータを取得する第１のプロセス及び第１のプロセス内で処理を実行する第１のインスタンスを生成してデータを取得し、第２のプロセス及び第２のプロセス内で処理を実行する第２のインスタンスを生成し、当該第２のインスタンスを起動して分析処理を実行させる。【選択図】図２
2018206114.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとストレージを有してデータを蓄積する第１の計算機と、
プロセッサとメモリとストレージを有して前記第１の計算機に蓄積されたデータを分析する第２の計算機とを含む計算機システムであって、
前記第２の計算機は、
分析対象毎に、分析対象となるデータ項目と、繰り返し単位が予め定義された分析最小データセットと、
前記データの取得処理と分析処理を管理するエージェントと、を有し、
前記エージェントは、
分析に使用する前記分析最小データセットと、データの取得を繰り返す範囲と、データの取得を繰り返す単位と、を含む分析対象データ取り込み指定を受け付けて、当該分析対象データ取り込み指定に含まれる繰り返しの範囲と繰り返しの単位に基づいて、前記第１の計算機からデータを取得する第１のプロセス及び第１のプロセス内で処理を実行する第１のインスタンスを生成し、当該第１のインスタンスを起動して前記第１の計算機から前記蓄積されたデータを取得し、
前記エージェントは、
前記第１のインスタンスの処理が完了すると、取得したデータに対して分析処理を実行する第２のプロセス及び第２のプロセス内で処理を実行する第２のインスタンスを生成し、当該第２のインスタンスを起動して分析処理を実行させることを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記分析対象データ取り込み指定は、
前記分析最小データセットの前記データ項目と分析対象の前記データの関連付けと、
前記分析最小データセットの前記繰り返し単位と分析対象の前記データの関連付けと、
前記データへのアクセス情報と、を含むことを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記エージェントは、
前記第１のインスタンスのデータ取得の処理時間と、前記第２のインスタンスのデータの分析処理時間を取得して、データ取得の処理時間とデータの分析処理時間に基づいて前記データを並列的に取得するデータ取得並列度と、前記データを並列的に分析するデータ分析並列度と、を決定することを特徴とする計算機システム。
【請求項４】
請求項２に記載の計算機システムであって、
前記エージェントは、
前記第１の計算機から取得したデータのメタ情報を蓄積し、前記分析対象データ取り込み指定に含まれる取得対象のデータが前記メタ情報に含まれるか否かを判定し、前記メタ情報に含まれるデータ以外のデータを前記第１の計算機から取得することを特徴とする計算機システム。
【請求項５】
請求項３に記載の計算機システムであって、
前記エージェントは、
前記データ取得の処理時間が前記データの分析処理時間より大であれば前記データ取得並列度を増大させ、前記データの分析処理時間が前回よりも増大した場合には前記データ分析並列度を増大させることを特徴とする計算機システム。
【請求項６】
請求項３に記載の計算機システムであって、
前記エージェントは、
前記第２の計算機のプロセッサの演算負荷を取得して、前記第２の計算機のプロセッサの前記演算負荷に応じて前記データ分析並列度を変更することを特徴とする計算機システム。
【請求項７】
プロセッサとメモリとストレージを有してデータを蓄積する第１の計算機と、プロセッサとメモリとストレージを有して前記第１の計算機に蓄積されたデータを第２の計算機で分析するデータの分析方法であって、
前記第２の計算機が、分析対象毎に、分析対象となるデータ項目と、繰り返し単位が予め定義された分析最小データセットを有して、分析に使用する前記分析最小データセットと、データの取得を繰り返す範囲と、データの取得を繰り返す単位と、を含む分析対象データ取り込み指定を受け付ける第１のステップと、
前記第２の計算機が、前記分析対象データ取り込み指定に含まれる繰り返しの範囲と繰り返しの単位に基づいて、前記第１の計算機からデータを取得する第１のプロセス及び第１のプロセス内で処理を実行する第１のインスタンスを生成し、当該第１のインスタンスを起動して前記第１の計算機から前記蓄積されたデータを取得させる第２のステップと、
前記第２の計算機が、前記第１のインスタンスの処理が完了すると、取得したデータに対して分析処理を実行する第２のプロセス及び第２のプロセス内で処理を実行する第２のインスタンスを生成し、当該第２のインスタンスを起動して分析処理を実行させる第３のステップと、
を含むことを特徴とするデータの分析方法。
【請求項８】
請求項７に記載のデータの分析方法であって、
前記分析対象データ取り込み指定は、
前記分析最小データセットの前記データ項目と分析対象の前記データの関連付けと、
前記分析最小データセットの前記繰り返し単位と分析対象の前記データの関連付けと、
前記データへのアクセス情報と、を含むことを特徴とするデータの分析方法。
【請求項９】
請求項８に記載のデータの分析方法であって、
前記第２のステップは、
前記第１のインスタンスのデータ取得の処理時間と、前記第２のインスタンスのデータの分析処理時間を取得して、データ取得の処理時間とデータの分析処理時間に基づいて前記データを並列的に取得するデータ取得並列度を決定し、
前記第３のステップは、
前記データ取得の処理時間と前記データの分析処理時間に基づいて前記データを並列的に分析するデータ分析並列度を決定することを特徴とするデータの分析方法。
【請求項１０】
請求項８に記載のデータの分析方法であって、
前記第２のステップは、
前記第１の計算機から取得したデータのメタ情報を蓄積し、前記分析対象データ取り込み指定に含まれる取得対象のデータが前記メタ情報に含まれるか否かを判定し、前記メタ情報に含まれるデータ以外のデータを前記第１の計算機から取得することを特徴とするデータの分析方法。
【請求項１１】
請求項９に記載のデータの分析方法であって、
前記第２のステップは、
前記データ取得の処理時間が前記データの分析処理時間より大であれば前記データ取得並列度を増大させ、
前記第３のステップは、
前記データの分析処理時間が前回よりも増大した場合には前記データ分析並列度を増大させることを特徴とするデータの分析方法。
【請求項１２】
請求項９に記載のデータの分析方法であって、
前記第３のステップは、
前記第２の計算機のプロセッサの演算負荷を取得して、前記第２の計算機のプロセッサの前記演算負荷に応じて前記データ分析並列度を変更することを特徴とするデータの分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを読み込んで分析を実施する計算機システムに関する。
【背景技術】
【０００２】
ユーザの計算機システムで蓄積したデータをデータセンタに転送し、分析処理を行って問題点の抽出や故障の予兆を検出する分析基盤が普及しつつある。分析基盤を提供するデータセンタでは、分析処理やデータの可視化ツールなどをユーザに提供し、ユーザが転送したデータについて処理を行う。このような、分析基盤としては、データベースから抽出したデータを可視化して対話的にデータ分析を行うサービスが知られている（例えば、特許文献１）。
【０００３】
分析基盤を利用するユーザは、分析対象のデータを決定して、転送が必要なデータを分析基盤へ転送する。ユーザの計算機システムから分析基盤へのデータ転送が完了すると、ユーザは分析基盤に対して分析開始の指示を行っていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／１９３９７３号
【特許文献２】特開２０１６−９１５５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記従来例では、ユーザが分析対象のデータを決定して、分析に必要なデータを転送し、転送が完了してから分析の指令を行っていた。このため、データの転送が完了するまでは、分析の指令を行うことができないという問題があった。
【０００６】
大量のデータを分析する場合、例えば、データの転送に数十時間を要する場合では、転送の終了を確認するのに手間がかかる。データの転送時間を予測する手法は知られているが（例えば、特許文献２）、ネットワークの状態などによって予測通りに転送が終了するとは限らない。
【０００７】
また、前記従来例では、データの転送完了が深夜になる場合、分析開始の指示は翌朝になり、分析処理に数十時間を要する場合では、分析処理を効率よく行うことができない、という問題があった。
【０００８】
そこで、本発明は上記問題点に鑑みてなされたもので、大量のデータを取得して分析を行う際の作業の効率を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、プロセッサとメモリとストレージを有してデータを蓄積する第１の計算機と、プロセッサとメモリとストレージを有して前記第１の計算機に蓄積されたデータを分析する第２の計算機とを含む計算機システムであって、前記第２の計算機は、分析対象毎に、分析対象となるデータ項目と、繰り返し単位が予め定義された分析最小データセットと、前記データの取得処理と分析処理を管理するエージェントと、を有し、前記エージェントは、分析に使用する前記分析最小データセットと、データの取得を繰り返す範囲と、データの取得を繰り返す単位と、を含む分析対象データ取り込み指定を受け付けて、当該分析対象データ取り込み指定に含まれる繰り返しの範囲と繰り返しの単位に基づいて、前記第１の計算機からデータを取得する第１のプロセス及び第１のプロセス内で処理を実行する第１のインスタンスを生成し、当該第１のインスタンスを起動して前記第１の計算機から前記蓄積されたデータを取得し、前記エージェントは、前記第１のインスタンスの処理が完了すると、取得したデータに対して分析処理を実行する第２のプロセス及び第２のプロセス内で処理を実行する第２のインスタンスを生成し、当該第２のインスタンスを起動して分析処理を実行させる。
【発明の効果】
【００１０】
したがって、本発明によれば、大量のデータを取得して分析する場合に、計算機のユーザは、データの取り込み完了等のタイミングを気にする必要がなくなって、大量のデータを取得して分析を行う際の作業の効率を大幅に向上させることが可能となるのである。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１を示し、本発明の計算機システムのハードウェア構成の一例を示すブロック図である。
【図２】本発明の実施例１を示し、本発明の計算機システムの機能の一例を示すブロック図である。
【図３】本発明の実施例１を示し、分析サーバのソフトウェア資源の一例を示すブロック図である。
【図４】本発明の実施例１を示し、分析最小データセットの一例を示す図である。
【図５】本発明の実施例１を示し、分析対象データ絞り込み指定の一例を示す図である。
【図６Ａ】本発明の実施例１を示し、取り込み済みデータのメタデータの一例を示す図である。
【図６Ｂ】本発明の実施例１を示し、取り込み済みデータのアクセス順リストの一例を示す図である。
【図７Ａ】本発明の実施例１を示し、データ取り込み指示キューの一例を示す図である。
【図７Ｂ】本発明の実施例１を示し、データ分析指示キューの一例を示す図である。
【図７Ｃ】本発明の実施例１を示し、データ廃棄指示キューの一例を示す図である。
【図８】本発明の実施例１を示し、制御情報の一例を示す図である。
【図９】本発明の実施例１を示し、分析サーバで行われる処理の一例を示すフローチャートである。
【図１０】本発明の実施例１を示し、分析サーバのデータ取り込み処理の一例を示すフローチャートである。
【図１１】本発明の実施例１を示し、分析データアクセスＩ／Ｆの生成処理の一例を示すフローチャートである。
【図１２】本発明の実施例１を示し、取り込み対象データの決定処理の一例を示すフローチャートである。
【図１３】本発明の実施例１を示し、データ取り込みインスタンスの生成処理の一例を示すフローチャートである。
【図１４】本発明の実施例１を示し、データ取り込みインスタンスの終了判定処理の一例を示すフローチャートである。
【図１５】本発明の実施例１を示し、データ分析処理の一例を示すフローチャートである。
【図１６】本発明の実施例１を示し、データ分析プロセスの終了判定処理の一例を示すフローチャートである。
【図１７】本発明の実施例１を示し、取り込みプロセス内並列度の更新処理の一例を示すフローチャートである。
【図１８】本発明の実施例１を示し、分析並列度の更新処理の一例を示すフローチャートである。
【図１９】本発明の実施例１を示し、初期化処理の一例を示すフローチャートである。
【図２０】本発明の実施例１を示し、データ破棄処理の一例を示すフローチャートである。
【図２１】本発明の実施例１を示し、データの取り込みから分析完了までの一例を示す図である。
【図２２】本発明の実施例２を示し、本発明の計算機システムの機能の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を添付図面に基づいて説明する。
【実施例１】
【００１３】
図１は、本発明の実施例１を示し、計算機システムのハードウェア構成の一例を示すブロック図である。計算機システムは、センサ４からセンサデータを収集するデータ収集サーバ２と、データの分析サービスを分析基盤を提供する分析サーバ１と、データ収集サーバ２と分析サーバ１を接続するネットワーク３を含む。
【００１４】
分析サーバ１は、演算処理を行うＣＰＵ１１と、プログラムやデータを保持するメモリ１２と、データやプログラムを格納するストレージ１５と、ストレージ１５にアクセスするためのディスクＩ／Ｆ１４と、ネットワーク３にアクセスするためのネットワークＩ／Ｆ１３とを含む計算機である。
【００１５】
データ収集サーバ２は、演算処理を行うＣＰＵ２１と、プログラムやデータを保持するメモリ２２と、データやプログラムを格納するストレージ２５と、ストレージ２５にアクセスするためのディスクＩ／Ｆ２４と、ネットワーク３にアクセスするためのネットワークＩ／Ｆ２３と、複数のセンサ４にアクセスするためのネットワークＩ／Ｆ２６を含む計算機である。
【００１６】
なお、分析サーバ１とデータ収集サーバ２は、図示しない入力装置（マウスやキーボード等）と出力装置（ディスプレイ等）を有する。
【００１７】
＜システム概要＞
図２は、計算機システムの機能の一例を示すブロック図である。データ収集サーバ２は、センサ４から収集したセンサデータ２５０をストレージ１５に蓄積する。データ収集サーバ２のデータ収集は、継続的に実行される。
【００１８】
データ収集サーバ２のユーザは、分析サーバ１を利用するための情報を分析対象データ取り込み指定２１０として設定し、データ収集サーバ２が分析対象データ取り込み指定２１０と分析開始の指令を分析サーバ１へ送信する。
【００１９】
なお、後述するように、分析対象データ取り込み指定２１０には、利用する分析ロジック（またはサービス）の名称や、分析対象とするセンサデータ２５０（以下、分析対象データ）の範囲や、データ収集サーバ２のストレージ２５に格納された分析対象データへのアクセス方法などの情報が含まれる。また、データ収集サーバ２のユーザは、図示しない編集プログラムなどを稼働させて分析対象データ取り込み指定２１０を生成する。
【００２０】
分析サーバ１は、複数種の分析ロジック１３０を有し、各分析ロジック１３０毎に分析最小データセット１２０が分析ロジック提供者（または管理者等）によって予め定義される。
【００２１】
分析サーバ１は、データ収集サーバ２から分析対象データ取り込み指定２１０と分析開始の指令を受信すると、取り込みエージェント１１０が、利用する分析ロジック１３０に対応する分析最小データセット１２０を取得する。
【００２２】
取り込みエージェント１１０は、分析対象データ取り込み指定２１０に記述された分析対象データへのアクセス方法などに基づいて、データ収集サーバ２のストレージ１５から取り込む分析対象データ（センサデータ２５０）を決定して、分析対象データを取得する取り込みプロセス１４０及び取り込みインスタンス１４１を生成して起動させる。
【００２３】
分析対象データを取得する処理は、１以上の取り込みプロセス１４０で実施される。取り込みプロセス１４０は、１以上の取り込みインスタンス１４１を含む。本実施例１では、複数の取り込みプロセス１４０及び複数の取り込みインスタンス１４１で並列処理を行う例を示す。
【００２４】
取り込みプロセス１４０内の取り込みインスタンス１４１が、データ収集サーバ２から分析対象データを読み込んでストレージ１５に取り込み済みデータ３００として格納する。取り込みエージェント１１０は、取り込みプロセス１４０及び取り込みインスタンス１４１を監視して、分析対象データの取り込みが完了すると分析ロジック１３０から分析プロセス１５０及び分析インスタンス１５１を生成して分析処理を実行させる。
【００２５】
分析対象データを分析する処理は、１以上の分析プロセス１５０で実施される。分析プロセス１５０は、１以上の分析インスタンス１５１で構成される。本実施例１では、複数の分析プロセス１５０及び複数の分析インスタンス１５１で並列処理を行う例を示す。
【００２６】
取り込みエージェント１１０は、後述するように、取り込みプロセス１４０及び取り込みインスタンス１４１の性能に基づいて、取り込みプロセス１４０及び取り込みインスタンス１４１の並列度を制御する。
【００２７】
また、取り込みエージェント１１０は、後述するように、分析ロジック１３０が生成する分析プロセス１５０及び分析インスタンス１５１の性能に基づいて、分析プロセス１５０及び分析インスタンス１５１の並列度を制御する。
【００２８】
データ収集サーバ２のユーザは、随時分析サーバ１にアクセスして、分析対象データの処理結果を取得することができる。このように、本実施例では、データ収集サーバ２のユーザは、分析対象データの指定と、分析ロジック１３０等の指定を含む分析対象データ取り込み指定２１０を生成し、分析サーバ１へ送信して分析の開始を指示するだけで良い。
【００２９】
すなわち、前記従来例のように、分析対象データを指定して分析サーバ１へ転送し、転送の完了を待って分析の開始を指令する必要はなくなり、分析処理を効率よく行うことが可能となる。本実施例では、データ収集サーバ２のユーザが、分析対象データの転送の進捗を監視する必要がなくなり、ユーザの負担を軽減することができる。また、ひとつ分析対象データ取り込み指定２１０を指令するだけで、分析対象データの取り込みから分析処理までを完結させることができるので、分析基盤への指令を極めて簡易にすることができる。
【００３０】
＜ソフトウェア資源＞
図３は、分析サーバ１のソフトウェア資源の一例を示すブロック図である。分析サーバ１のメモリ１２には、取り込みエージェント１１０と、１以上の分析最小データセット１２０と、取り込みプロセス１４０及び取り込みインスタンス１４１と、１以上の分析ロジック１３０と、分析プロセス１５０及び分析インスタンス１５１と、制御情報１６０と、データ取り込み指示キュー１７０と、データ分析指示キュー１８０と、データ廃棄指示キュー１９０と、取り込み済みデータメタデータ３１０が保持される。
【００３１】
分析サーバ１のストレージ１５には、データ収集サーバ２から読み込んだ分析対象データが取り込み済みデータ３００として格納される。
【００３２】
取り込みエージェント１１０は、分析対象データをデータ収集サーバ２から取得する取り込みプロセス１４０と取り込みインスタンス１４１を生成し、分析対象データの取り込み完了後に分析ロジック１３０から分析プロセス１５０と分析インスタンス１５１を生成して起動させる。取り込みエージェント１１０は、分析対象データの取得から、分析処理の完了までを管理する。
【００３３】
分析最小データセット１２０は、分析ロジック１３０毎（またはデータ収集サーバ２のユーザ毎）に分析対象データのデータ項目と、分析処理の繰り返し単位が予め定義された情報である。
【００３４】
分析ロジック１３０は、分析ロジック１３０は、分析の種類や分析対象のデータ毎に予め用意される情報である。
【００３５】
制御情報１６０は、取り込みエージェント１１０や取り込みプロセス１４０及び取り込みインスタンス１４１や、分析プロセス１５０及び分析インスタンス１５１の実行の際に必要なパラメータを保持する。
【００３６】
データ取り込み指示キュー１７０は、取り込みプロセス１４０及び取り込みインスタンス１４１が、データ収集サーバ２から分析対象データを取り込む処理を制御するバッファである。データ取り込み指示キュー１７０に、取り込みコマンドが格納されると、取り込みエージェント１１０は、取り込みプロセス１４０及び取り込みインスタンス１４１を起動して分析対象データの読み込みが開始される。
【００３７】
データ分析指示キュー１８０は、取り込みエージェント１１０が、分析ロジック１３０に基づいて生成される分析プロセス１５０及び分析インスタンス１５１が使用するバッファである。データ分析指示キュー１８０に、分析コマンドが格納されると、取り込みエージェント１１０は、分析プロセス１５０及び分析インスタンス１５１を起動して分析対象データの分析処理を開始する。
【００３８】
データ廃棄指示キュー１９０は、ストレージ１５に格納された取り込み済みデータ３００を廃棄するバッファである。データ廃棄指示キュー１９０に、データ廃棄コマンドが格納されると、ストレージ１５の使用率が所定の閾値以下となるまでデータの廃棄が行われる。なお、ストレージ１５の使用率（ボリューム使用率）は、ストレージ１５の容量に対する取り込み済みデータ３００の容量の比率である。
【００３９】
取り込み済みデータメタデータ３１０は、ストレージ１５に格納された分析対象データのメタデータである。取り込み済みデータメタデータ３１０は、取り込みエージェント１１０によって管理される。取り込みエージェント１１０は、センサデータ２５０を取り込んで、取り込み済みデータ３００へ格納する際に取り込み済みデータメタデータ３１０を生成することができる。なお、取り込み済みデータメタデータ３１０の生成は、予め設定したタイミングで取り込みエージェント１１０が実施してもよい。
【００４０】
取り込みエージェント１１０と、取り込みプロセス１４０や取り込みインスタンス１４１または分析プロセス１５０や分析インスタンス１５１等の各機能部はプログラムとしてメモリ１２にロードされる。
【００４１】
ＣＰＵ１１は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、ＣＰＵ１１は、取り込みエージェントプログラムに従って処理することで取り込みエージェント１１０として機能する。他のプログラムについても同様である。さらに、ＣＰＵ１１は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００４２】
分析サーバ１の各機能を実現するプログラム、テーブル等の情報は、ストレージ１５や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００４３】
＜分析最小データセット＞
図４は、分析最小データセット１２０の一例を示す図である。分析最小データセット１２０は、取り込みプロセス１４０が繰り返して実行するデータの取り込み処理の項目や繰り返しの範囲や繰り返しの単位などが予め設定される。
【００４４】
分析最小データセット１２０は、分析ロジック１３０の種類毎に分析ロジック提供者などによって予め設定された情報である。
【００４５】
分析最小データセット１２０は、分析ロジック名１２１と、データ項目１２２と、繰り返し設定１２３を含む。分析ロジック名１２１は、分析を実施する分析ロジック１３０の名称または識別子を格納する。
【００４６】
データ項目１２２は、項目名１２２１と項目数１２２２を含む。図示の分析ロジック名１２１＝「故障予兆分析」では、項目名１２２１が、ＩＤ番号とタイムスタンプとデータの３つで構成され、データの項目数は「multi」に設定されて複数のデータを含むことができる。例えば、１つのＩＤ番号とタイムスタンプのデータの項目には、ｗ１、ｗ２、ｗ３の３つのデータを含むことができる。
【００４７】
繰り返し設定１２３は、繰り返し項目名１２３１と繰り返し単位１２３２を含む。図示の分析ロジック名１２１＝「故障予兆分析」では、繰り返し項目名１２３１＝ＩＤ番号については、繰り返し単位１２３２が１つに設定され、繰り返し項目名１２３１＝タイムスタンプについては、繰り返し単位１２３２が「multi」に設定され複数のデータを含むことができる。
【００４８】
すなわち、図示の分析ロジック名１２１＝「故障予兆分析」では、ひとつのＩＤ番号について予め設定したタイムスタンプの範囲（例えば、５分など）で分析処理を実施することが定義されている。
【００４９】
分析サーバ１は、複数の種類の分析ロジック１３０を有し、上記分析最小データセット１２０は、分析ロジック１３０ごとにロジック提供者等が予め設定した定義である。取り込みエージェント１１００は、予め設定された分析最小データセット１２０に従ってデータの取り込み処理と分析処理を実行する。
【００５０】
＜分析対象データ取り込み指定＞
図５は、分析対象データ取り込み指定２１０の一例を示す図である。分析対象データ取り込み指定２１０は、分析サーバ１を利用するデータ収集サーバ２のユーザが、分析指令の前に設定する情報である。なお、分析対象データ取り込み指定２１０は、予め設定したファイルなどで構成しても良い。
【００５１】
分析対象データ取り込み指定２１０は、利用分析ロジック名２１１と、対応関係定義情報２１２と、取り込みデータ範囲２１３と、アクセス方式２１４と、リソース割当方式２１５と、データ分析時間limit２１６を含む。
【００５２】
利用分析ロジック名２１１は、分析サーバ１の分析ロジック１３０のうち、使用する分析ロジックの名称（または識別子）を含む。
【００５３】
対応関係定義情報２１２は、分析最小データセット項目名２１２１と、分析対象データ項目名２１２２を含む。対応関係定義情報２１２は、データ収集サーバ２のストレージ２５に蓄積されたセンサデータ２５０のデータ項目と、取り込みエージェント１１０が取り込むデータ項目の対応関係を定義する情報である。
【００５４】
分析最小データセット項目名２１２１には、図４に示した項目名１２２１と同様の項目名である「ＩＤ番号」、「タイムスタンプ」、「データ」が定義される。分析最小データセット項目名２１２１には、センサデータ２５０の項目のうち、分析最小データセットに対応する項目として「ｍａｃ」、「ｔｉｍｅ」、「ｗ１，ｗ２，ｗ３」が設定される。なお、ｍａｃは、「Media access control」アドレスを示す。
【００５５】
すなわち、「ＩＤ番号」として「ｍａｃ（アドレス）」を使用し、「タイムスタンプ」として「ｔｉｍｅ」を使用し、「データ」として「ｗ１，ｗ２，ｗ３」の３つの値の組を用いることが設定される。
【００５６】
取り込みデータ範囲２１３は、分析最小データセット１２０で定義されているデータの繰り返し設定１２３について、今回分析するセンサデータ２５０の範囲を指定する。取り込みデータ範囲２１３は、分析対象データ項目名２１３１と、繰り返し範囲２１３２と、繰り返し単位２１３３と、繰り返し優先度２１３４が含まれる。
【００５７】
図示の例では、分析対象データ項目名２１３１の「ｍａｃ（Media Access Control）」の値が繰り返し範囲２１３２＝「＃１〜＃３」のセンサデータ２５０について分析を繰り返し、さらに、分析対象データ項目名２１３１＝「ｔｉｍｅ」の値が繰り返し範囲２１３２＝「８：００〜８：０３」について、繰り返し単位２１３３＝「１」分間のセンサデータ２５０について分析を繰り返すことが設定される。そして、繰り返し優先度２１３４は、「ｍａｃ」＝１の次に「ｔｉｍｅ」＝２が設定される。
【００５８】
したがって、「ｍａｃ」の値の順で、８：００から１分間隔で８：０３の範囲で分析することが設定される。なお、本実施例では、分析対象データ項目名２１３１として、ｍａｃアドレスを用いる例を示したが、これに限定されるものではない。
【００５９】
アクセス方式２１４には、分析対象データとなるセンサデータ２５０が格納されたストレージ２５のアクセスパスとアクセス範囲が「ret = `curl http://abc.com/api/${id}/${time}_${time+time_loop}`」として定義され、分析対象データ項目名２１２２＝「ｗ１、ｗ２、ｗ３」の戻り値が「ret[“v1”]、ret[“v2”]、ret[“v3”]」であることが指定される。
【００６０】
次に、リソース割当方式２１５には性能重視またはリソース効率重視のいずれかを設定することができる。リソース割当方式２１５に、リソース効率重視が設定された場合、データ分析時間limit２１６以内に分析が終了するように、最小のリソースを利用して分析を実施する。性能重視の場合は、最短で分析結果が得られるように、データの取り込み及び分析を制御する。データ分析時間limit２１６は、分析処理に許容される時間の最大値が設定され、図示の例では１０時間以内に分析処理が完了するよう要求している。
【００６１】
以上のように、分析対象データ取り込み指定２１０には、センサデータ２５０を取得して分析する処理を繰り返す範囲が取り込みデータ範囲２１３に設定され、取り込むべきデータの所在がアクセス方式２１４に設定される。また、分析対象データ取り込み指定２１０には、分析最小データセット１２０の定義とセンサデータ２５０の対応関係が設定される。
【００６２】
＜メタデータ＞
図６Ａは、分析サーバ１で取り込み済みデータ３００のメタデータの一例を示す図である。取り込み済みデータメタデータ３１０は、分析サーバ１のストレージ１５に格納されている取り込み済みデータ３００のメタデータを保持する。
【００６３】
取り込み済みデータメタデータ３１０は、番号３１１と、ｍａｃ３１２と、ｔｉｍｅ３１３と、データ項目名３１４をひとつのエントリに含む。なお、ｍａｃ３１２と、ｔｉｍｅ３１３が分析対象繰り返し範囲データ項目名を示す。
【００６４】
番号３１１は、分析サーバ１が付与したシリアル値である。図示の例では、ｍａｃ３１２の値毎に、ｔｉｍｅ３１３＝８：００〜８：０３のデータ項目名３１４が格納されている。図示の例では、データ項目名３１４＝「ｗ１、ｗ２」のように「ｗ３」が欠落しているデータが含まれている。
【００６５】
なお、取り込みエージェント１１０は、取り込み済みデータ３００に新たなデータを取り込むと、当該データのメタ情報を算出して取り込み済みデータメタデータ３１０に追加する。
【００６６】
図６Ｂは、取り込み済みデータメタデータ３１０のアクセス順リスト３２０の一例を示す図である。図示の例では、番号３１１の順序で取り込み済みデータメタデータ３１０にアクセスすることが定義されている。なお、廃棄するデータをアクセスする場合には、当該リストの他にＬＲＵ（Ｌａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）等を用いても良い。
【００６７】
＜キューの構成＞
図７Ａは、データ取り込み指示キュー１７０の一例を示す図である。データ取り込み指示キュー１７０は、データ取り込み指示待ちの最小データセットを示し、ｍａｃ１７０１とｔｉｍｅ１７０２を一つのエントリに含む。
【００６８】
データ取り込み指示キュー１７０では、ｍａｃ１７０１とｔｉｍｅ１７０２で指定された分析対象データが、取り込みエージェント１１０によってデータ収集サーバ２のストレージ２５から取得される。なお、データの取得が完了したエントリは、取り込みエージェント１１０によってデータ取り込み指示キュー１７０から削除される。
【００６９】
図７Ｂは、データ分析指示キュー１８０の一例を示す図である。データ分析指示キュー１８０は、データ分析指示待ちの最小データセットを示し、ｍａｃ１８０１とｔｉｍｅ１８０２を一つのエントリに含む。
【００７０】
データ分析指示キュー１８０では、ｍａｃ１８０１とｔｉｍｅ１８０２で特定される取り込み済みデータ３００を読み込んで分析プロセス１５０によって分析処理が開始される。なお、データ分析が完了したエントリは、取り込みエージェント１１０によってデータ分析指示キュー１８０から削除される。
【００７１】
図７Ｃは、データ廃棄指示キュー１９０の一例を示す図である。データ廃棄指示キュー１９０は、データ廃棄指示時に優先的に廃棄される最小データセットを示す。
【００７２】
データ廃棄指示キュー１９０は、ｍａｃ１９０１とｔｉｍｅ１９０２とデータ項目名１９０３を一つのエントリに含む。なお、データ項目名１９０３には、複数の値を含むことができる。
【００７３】
データ廃棄指示キュー１９０では、ｍａｃ１９０１とｔｉｍｅ１９０２とデータ項目名１９０３で指定される取り込み済みデータ３００が、取り込みエージェント１１０によってストレージ１５から削除される。なお、データの削除が完了したエントリは、取り込みエージェント１１０によってデータ廃棄指示キュー１９０から削除される。
【００７４】
＜制御情報＞
図８は、制御情報１６０の一例を示す図である。制御情報１６０は、分析サーバ１で稼働する取り込みエージェント１１０によって使用されるデータである。
【００７５】
取り込みプロセス内並列度初期値５１は、１つの取り込みプロセス１４０で実行する取り込みインスタンス１４１の初期値を示す。取り込みプロセス数初期値５２は、実行する取り込みプロセス１４０の数の初期値を示す。
【００７６】
分析プロセス内並列度初期値５３は、データ分析を実行する分析プロセス１５０内の分析インスタンス１５１の数（並列度）の初期値を示す。分析プロセス数初期値５４は、実行する分析プロセス１５０の数（並列度）の初期値を示す。
【００７７】
取り込みプロセス内並列度５５は、取り込みプロセス１４０内で実行される取り込みインスタンス１４１の数を示す。取り込みプロセス数５６は、実行される取り込みプロセス１４０の数を示す。なお、取り込みプロセス内並列度５５は、取り込みプロセス１４０毎に設定される。
【００７８】
取り込みプロセス内並列度閾値５７は、取り込みプロセス内並列度５５の最大値が予め設定される。
【００７９】
分析プロセス内並列度５８は、生成された分析インスタンス１５１の数を示す。分析プロセス数５９は、生成された分析プロセス１５０の数を示す。なお、分析プロセス内並列度５８は、分析プロセス１５０毎に設定される。分析プロセス内並列度閾値６０は、分析プロセス内並列度５８の最大値が予め設定される。
【００８０】
稼働中取り込みインスタンス数６１は、実行中の取り込みインスタンス１４１の数を示す。稼働中データ分析インスタンス数６２は、実行中の分析インスタンス１５１の数を示す。
【００８１】
取り込み処理時間６３は、現在の取り込みプロセス内並列度５５における取り込み処理時間を示し、取り込みプロセス１４０内の取り込みインスタンス１４１の開始から終了までの時間である。前回取り込み処理時間６４は、取り込みプロセス内並列度５５を変更する前の、取り込み処理時間を示す。取り込み処理最大時間６５は、許容する最大の処理時間を示す。
【００８２】
分析処理時間６６は、分析処理に要する時間であり、分析プロセス１５０内の分析インスタンス１５１の開始から終了までの時間を示す。前回分析処理時間６７は、分析プロセス内並列度５８を変更する前の、分析処理時間を示す。
【００８３】
リソース割当方式６８は、性能重視またはリソース効率重視のいずれかが設定される。リソース割当方式６８にリソース効率重視が設定された場合、データ分析時間limit６９以内に分析が終了するように、最小のリソースを利用して分析を実施する。性能重視の場合は、最短で分析結果が得られるように、データの取り込み及び分析を制御する。データ分析時間limit６９は、分析処理に許容される時間の最大値が設定され、図示の例では１０時間以内に分析処理が完了する制限している。
【００８４】
データ廃棄閾値７０は、データ廃棄起動閾値７１とデータ廃棄目標７２とを含む。データ廃棄起動閾値７１は、ストレージ１５のボリュームの使用率が当該閾値以上となった場合に、データ廃棄を起動させる。データ廃棄目標７２は、データ廃棄処理時に、ストレージ１５のボリュームの使用率の目標値（％）を示す。
【００８５】
取り込みプロセス内並列度５５や取り込みプロセス数５６は、データ取込処理の並列度を示す。本実施例１において、データ取込処理の並列度は、並列的に取り込む分析最小データセット１２０の数を示す。
【００８６】
＜処理の概要＞
図９は、計算機システムで行われる処理の一例を示すフローチャートである。この処理は、分析ロジック提供者や管理者などの指令に基づいて開始される。
【００８７】
まず、ステップＳ１では、分析サーバ１が、分析最小データセット１２０を生成する。分析サーバ１は、分析ロジック提供者等からの入力を受け付けて分析最小データセット１２０を生成する。
【００８８】
ステップＳ２では、データ収集サーバ２が、分析対象データ取り込み指定２１０を生成する。データ収集サーバ２は、ユーザ等からの入力を受け付けて分析最小データセット１２０を生成する。分析最小データセット１２０には、図５に示した各項目がユーザからの入力に基づいて設定される。この設定は、分析対象データのアクセスパスや範囲と、利用する分析ロジック１３０と、分析処理を繰り返す条件などが含まれる。
【００８９】
ステップＳ３では、データ収集サーバ２が、分析対象データ取り込み指定２１０と分析開始の指示を分析サーバ１へ送信する。分析サーバ１への分析開始の指示には、分析対象データの取り込み処理と分析処理の実行が含まれる。
【００９０】
ステップＳ４では、データ収集サーバ２から受信した分析開始指示に基づいて、分析サーバ１がデータ取り込み処理と分析処理を実行するための初期化を実行する。初期化処理では、後述するように、分析サーバ１がデータを取り込むためのストレージ１５の領域の確保や、分析を実行するためのメモリ１２の領域の確保などが行われる。
【００９１】
ステップＳ５では、分析サーバ１が受信した分析対象データ取り込み指定２１０を読み込んで、分析最小データセット１２０や制御情報１６０等に分析対象の情報を設定し、使用する分析ロジック１３０及び取り込みエージェント１１０が使用するキューの設定などを実施する。
【００９２】
ステップＳ６では、分析サーバ１の取り込みエージェント１１０が分析対象データの取り込みを開始する。取り込みエージェント１１０は、１以上の取り込みプロセス１４０と１以上の取り込みインスタンス１４１を生成して、分析対象データ取り込み指定２１０に記載されたアクセス方式２１４内のアクセスパスから、取り込みデータ範囲２１３で指定されたデータを、データ収集サーバ２から取得する。
【００９３】
ステップＳ７では、取り込みエージェント１１０が分析対処理の進行状況に応じて分析プロセス１５０及び分析インスタンス１５１の実行を管理する。
【００９４】
すなわち、取り込みエージェント１１０は、データ収集サーバ２から取り込んだ分析対象データが分析最小データセット１２０及び分析対象データ取り込み指定２１０に設定された繰り返し範囲になると、分析プロセス１５０及び分析インスタンス１５１を生成して分析処理を実行させる。
【００９５】
取り込みエージェント１１０は、分析ロジック１３０に基づいて、１以上の分析プロセス１５０及び分析インスタンス１５１を生成して取り込みエージェント１１０から指定されたデータの分析を実行させる。
【００９６】
取り込みエージェント１１０は、取り込みプロセス１４０及び取り込みインスタンス１４１と分析プロセス１５０及び分析インスタンス１５１を監視して、分析サーバ１の計算機資源の割り当てを制御する。分析ロジック１３０は、分析インスタンス１５１の分析結果をメモリ１２またはストレージ１５の所定の領域に格納する。
【００９７】
ステップＳ８では、分析サーバ１が、指定された分析処理が完了し、ユーザが利用するデータ収集サーバ２から分析結果の閲覧要求を受け付ける。分析サーバ１の取り込みエージェント１１０は、閲覧要求に応じて分析結果を取得してデータ収集サーバ２へ送信する。
【００９８】
以上の処理によって、分析サーバ１を利用するユーザは、分析対象データ取り込み指定２１０と分析開始の指示をデータ収集サーバ２から送信しておけば、取り込みエージェント１１０がデータの取得から分析処理の実行までを自動的に行うことができる。ユーザは分析処理の実行完了後に分析結果を閲覧することができる。
【００９９】
なお、上記ではユーザがデータ収集サーバ２から分析開始を指示する例を示したが、これに限定されるものではない。ユーザが利用する計算機とデータ収集サーバ２は異なる計算機であっても良い。
【０１００】
＜取り込みエージェントの処理＞
図１０は、分析サーバ１のデータ取り込み処理の一例を示すフローチャートである。ステップＳ１１では、取り込みエージェント１１０が分析対象データをデータ収集サーバ２から収集するためのインタフェースを生成する。この処理は、図１１で後述する。
【０１０１】
ステップＳ１２では、取り込みエージェント１１０が、上記受信した分析対象データ取り込み指定２１０に記載された取り込みデータ範囲２１３に基づいて、データ収集サーバ２から取り読み込むデータを決定する。この処理は、図１２で後述する。
【０１０２】
ステップＳ１３では、取り込みエージェント１１０が、上記決定した取り込みデータを取得する取り込みプロセス１４０及び取り込みインスタンス１４１を生成して起動させる。複数の取り込みプロセス１４０または取り込みインスタンス１４１が生成された場合には、並列的に実行させる。この処理は、図１３で後述する。
【０１０３】
ステップＳ１４では、取り込みエージェント１１０が、取り込みプロセス１４０または取り込みインスタンス１４１の処理が完了した否かを判定する。この処理は、図１４で後述する。
【０１０４】
ステップＳ１５では、取り込み済みデータ３００が分析最小データセット１２０の繰り返し範囲２１３２に達すると、取り込みエージェント１１０が分析ロジック１３０に基づいて分析プロセス１５０と分析インスタンス１５１を生成して分析を実行させる。この処理は、図１５で後述する。
【０１０５】
ステップＳ１６では、取り込みエージェント１１０が、分析プロセス１５０及び分析インスタンス１５１の稼働状況を取得して、分析処理の終了を判定する。この処理は、図１６で後述する。
【０１０６】
ステップＳ１７では、取り込みエージェント１１０が、制御情報１６０の取り込みプロセス内並列度５５の更新処理を実行する。この処理により、取り込みインスタンス１４１の並列度が更新される。この処理は、図１７で後述する。
【０１０７】
ステップＳ１８では、取り込みエージェント１１０が、制御情報１６０の分析プロセス内並列度５８の更新処理を実行する。この処理により、分析インスタンス１５１の並列度が更新される。この処理は、図１８で後述する。
【０１０８】
ステップＳ１９では、取り込みエージェント１１０が、分析対象データの取り込みが完了したか否かを判定する。取り込みが完了していない分析対象データが存在すればステップＳ１３に戻って上記処理を繰り返す。全ての分析対象データを取り込んだ場合にはステップＳ２０に進んで処理を終了する。
【０１０９】
上記処理によって、取り込みエージェント１１０は、受信した分析対象データ取り込み指定２１０からデータ収集サーバ２の分析対象データを読み込むアクセスパスを取得して取り込みインタフェースを生成し、次に取り込みプロセス１４０及び取り込みインスタンス１４１を生成してデータの取得を開始する。
【０１１０】
取り込みエージェント１１０は、取り込み済みデータ３００が繰り返し範囲２１３２に範囲に達すると、分析ロジック１３０に基づいて分析プロセス１５０及び分析インスタンス１５１を生成して分析処理を開始する。全ての分析対象データを読み込んで、分析インスタンス１５１を実行させると取り込みエージェント１１０は処理を終了する。そして、全ての分析インスタンス１５１の実行が完了すると、分析結果が生成されて処理が終了する。
【０１１１】
また、取り込みエージェント１１０は、取り込みプロセス１４０内の取り込みインスタンス１４１と、分析プロセス１５０内の分析インスタンス１５１の並列度を監視して取り込みプロセス内並列度５５と、分析プロセス内並列度５８を更新することで、生成するプロセスやインスタンスの数を調整する。すなわち、制御情報１６０のリソース割当方式６８に応じて、取り込み処理と分析処理に割り当てる計算機資源を調整することができる。
【０１１２】
＜アクセスＩ／Ｆ生成処理＞
図１１は、分析サーバ１の分析対象データのアクセスインタフェースの生成処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１１で行われる。
【０１１３】
ステップＳ３１では、取り込みエージェント１１０が、使用する分析ロジック１３０に対応する分析最小データセット１２０を取得してデータ項目１２２を読み込む。また、取り込みエージェント１１０が、分析対象データ取り込み指定２１０から対応関係定義情報２１２を取得する。
【０１１４】
ステップＳ３２では、取り込みエージェント１１０が、上記ステップＳ３１で取得した対応関係定義情報２１２とデータ項目１２２の対応関係を設定する。そして、ステップＳ３３では、取り込みエージェント１１０が、分析最小データセット１２０の全ての項目名１２２１について対応関係を設定可能か否かを判定する。設定可能であればステップＳ３４へ進み、そうでなければステップＳ４０に進む。
【０１１５】
ステップＳ３４では、取り込みエージェント１１０が、分析最小データセット１２０から繰り返し設定１２３を取得し、分析対象データ取り込み指定２１０から取り込みデータ範囲２１３を取得する。
【０１１６】
ステップＳ３５では、取り込みエージェント１１０が、分析対象データ取り込み指定２１０から取得した対応関係定義情報２１２の分析対象データ項目名２１２２を、分析最小データセット１２０の繰り返し項目名１２３１に対応付け、さらに、繰り返し項目名１２３１に分析対象データ取り込み指定２１０の分析対象データ項目名２１３１を対応付ける。これにより、分析最小データセット１２０の繰り返し項目名１２３１と、分析対象データ取り込み指定２１０の取り込みデータ範囲２１３が、分析対象データ項目名２１３１をキーにして対応付けられる。
【０１１７】
ステップＳ３６では、取り込みエージェント１１０が、分析最小データセット１２０の全ての繰り返し項目名１２３１と繰り返し単位１２３２について対応関係を設定可能であるか否を判定する。設定可能であればステップＳ３７へ進み、そうでなければステップＳ４０に進む。
【０１１８】
ステップＳ３７では、取り込みエージェント１１０が、アクセス方式２１４のアクセスパスに取り込みデータ範囲２１３の繰り返し範囲２１３２と繰り返し単位２１３３を設定してアクセスインタフェースを生成する。
【０１１９】
ステップＳ３８では、取り込みエージェント１１０が、アクセスインタフェースが生成されたか否かを判定する。生成可能であればステップＳ３９へ進み、そうでなければステップＳ４０に進む。
【０１２０】
ステップＳ３９では、取り込みエージェント１１０が、取り込みデータ範囲２１３の繰り返し優先度２１３４に基づいて取り込みデータの順序を決定し、取り込み済みデータメタデータ３１０を後述するように設定してから処理を終了する。一方、ステップＳ４０ではアクセスインタフェースが生成できないため、データ収集サーバ２に対してエラーを通知して処理を終了する。
【０１２１】
上記処理によって、分析最小データセット１２０に対応する項目名で分析対象データ取り込み指定２１０の取り込みデータ範囲２１３が取り込まれ、アクセス方式２１４で指定されたアクセスパスからアクセスインタフェースが生成される。
【０１２２】
また、図５に示した取り込みデータ範囲２１３の繰り返し優先度２１３４に基づいて、データ収集サーバ２からデータを取り込む順序が決定され、取り込み済みデータメタデータ３１０の分析対象繰り返し範囲データ項目名（３１２、３１３）が設定される。
【０１２３】
取り込みエージェント１１０は、図６Ａで示したように、分析対象繰り返し範囲データ項目名（３１２、３１３）に、分析対象データ取り込み指定２１０の取り込みデータ範囲２１３で指定された繰り返し範囲２１３２と繰り返し単位２１３３で、取り込み済みデータメタデータ３１０を準備する。
【０１２４】
図５の例では、ＩＤ＃＝ｍａｃ＝１のデータについて、ｔｉｍｅ＝８：００〜８：０３のデータが繰り返し単位２１３３＝「１」分間隔でエントリを生成し、その後、ＩＤ＃＝ｍａｃ＝２のデータが同様の順序でエントリを生成する。なお、番号３１１には、取り込みエージェント１１０がシリアル値を設定する。
【０１２５】
取り込みエージェント１１０は、過去にデータ収集サーバ２から取り込んだ分析対象データの取り込み済みデータメタデータ３１０をストレージ１５等に保存しておき、アクセスパスが一致する分析対象データについては、取り込みデータ範囲２１３の分析対象データ項目名２１３１と繰り返し範囲２１３２が一致する部分のデータメタデータ３１０を読み込んで、上記のように生成した取り込み済みデータメタデータ３１０のデータ項目名３１４にメタデータを設定しておく。
【０１２６】
なお、アクセスパス及び取り込みデータ範囲２１３が一致する取り込み済みデータメタデータ３１０がない場合には、取り込み済みデータメタデータ３１０のデータ項目名３１４は空白となる。
【０１２７】
＜取り込み対象データの決定処理＞
図１２は、分析サーバ１の取り込み対象データ決定処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１２で行われる。
【０１２８】
ステップＳ４１では、取り込みエージェント１１０が、図１１の処理で準備した取り込み済みデータメタデータ３１０を読み込んで、図６Ａに示した先頭のエントリ（番号３１１＝１）から処理を開始する。
【０１２９】
ステップＳ４２では、取り込みエージェント１１０が、取り込み済みデータメタデータ３１０で、分析対象繰り返し範囲データ項目名（３１２、３１３）に設定された繰り返し対象の値の組が取り込み済みデータ３００に存在するか否かを判定する。すなわち、取り込みエージェント１１０は、過去に取り込んだデータがストレージ１５に存在するか否かを判定する。
【０１３０】
取り込みエージェント１１０は、現在処理しているｍａｃ３１２とｔｉｍｅ３１３のエントリで、データ項目名３１４が空白であれば値の組に対応する取り込み済みデータ３００はないと判定し、データ項目名３１４が空白でなければ値の組に対応する取り込み済みデータ３００が存在すると判定する。
【０１３１】
ステップＳ４３では、取り込みエージェント１１０が、値の組に対応するデータがあればステップＳ４４へ進み、存在しなければステップＳ５０に進む。
【０１３２】
ステップＳ４４では、取り込みエージェント１１０が、対応関係定義情報２１２の分析対象データ項目名２１２２のうち、繰り返し対象に含まれない分析対象データ項目名２１２２を選択する。図５に示した対応関係定義情報２１２の例では、分析最小データセット項目名２１２１が「ｄａｔａ」の値＝「ｗ１、ｗ２、ｗ３」が繰り返し対象に含まれないデータ項目として選択される。
【０１３３】
ステップＳ４５では、取り込みエージェント１１０が、ステップＳ４４で抽出したデータ項目と取り込み済みデータメタデータ３１０のデータ項目名３１４が一致するか否かを判定する。分析対象データ項目名２１２２が「ｗ１、ｗ２、ｗ３」の場合、３つの値が含まれていることが判定条件となる。
【０１３４】
ステップＳ４６では、取り込みエージェント１１０が、取り込み済みデータメタデータ３１０のデータ項目名３１４に３つのデータが存在していれば、条件に一致すると判定してステップＳ４７へ進み、３つのデータが存在しなければ、条件に一致しないと判定してステップＳ４８へ進む。
【０１３５】
ステップＳ４７では、取り込みエージェント１１０が、過去に取り込んだ取り込み済みデータ３００を利用できるので、現在の取り込み済みデータメタデータ３１０のデータを識別するｍａｃ３１２とｔｉｍｅ３１３の値を、図７Ｂに示したデータ分析指示キュー１８０のｍａｃ１８０１とｔｉｍｅ１８０２に設定する。
【０１３６】
一方、ステップＳ４８では、取り込みエージェント１１０が、対応関係定義情報２１２の分析対象データ項目名２１２２が変更されたと判定し、当該データを破棄対象として図７Ｃのデータ廃棄指示キュー１９０に設定する。次に、ステップＳ４９では、後述する処理によって取り込みエージェント１１０が、データの廃棄を実施するため廃棄コマンドをデータ廃棄指示キュー１９０に設定する。
【０１３７】
ステップＳ５０では、取り込みエージェント１１０が、ストレージ１５からデータを廃棄（削除）したので、取り込みエージェント１１０が、取り込み済みデータアクセス順リスト（図６Ｂ）を更新する。この処理は、削除された取り込み済みデータ３００を取り込み済みデータアクセス順リストから除外する。
【０１３８】
ステップＳ５１では、取り込みエージェント１１０が、データ収集サーバ２からセンサデータ２５０を取得するため、現在の取り込み済みデータメタデータ３１０のデータを識別するｍａｃ３１２とｔｉｍｅ３１３の値を、図７Ａに示したデータ取り込み指示キュー１７０のｍａｃ１７０１とｔｉｍｅ１７０２に設定する。
【０１３９】
ステップＳ５２では、取り込みエージェント１１０が、取り込みデータ範囲２１３で指定された取り込みデータ範囲２１３についてデータの取得が完了したか否かを判定する。取り込みデータ範囲２１３の全てについてデータの取り込みが完了した場合にはステップＳ５３に進んで処理を終了する。取り込みデータ範囲２１３につい未処理のデータがあればステップＳ４１へ戻って、取り込み済みデータメタデータ３１０の次のエントリを選択して上記の処理を繰り返す。
【０１４０】
上記処理によって、過去の取り込み済みデータ３００が存在する場合にはデータ分析指示キュー１８０に選択中のエントリのｍａｃ３１２とｔｉｍｅ３１３を設定して既存の取り込み済みデータ３００で分析処理を行う。
【０１４１】
一方、過去の取り込み済みデータ３００が存在する場合には、取り込みエージェント１１０が不要となった取り込み済みデータ３００を廃棄してから、データ取り込み指示キュー１７０に選択中のエントリのｍａｃ３１２とｔｉｍｅ３１３を設定して新たなセンサデータ２５０を取得する。
【０１４２】
また、取り込みエージェント１１０は、取り込み対象のデータが取り込み済みデータメタデータ３１０に含まれるか否かを判定し、含まれない場合は新たに取り込む対象とする。一方、データ項目名３１４のみ異なるメタデータが存在する場合は、ユーザ側の分析対象データ取り込み指定２１０の対応関係定義情報が変わったと判定して、当該データを破棄対象とする。
【０１４３】
＜取り込みインスタンス１４１の生成処理＞
図１３は、分析サーバ１のデータ取り込みインスタンス生成処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１３で行われる。
【０１４４】
ステップＳ６１では、取り込みエージェント１１０が、現在稼働中の取り込みインスタンス１４１の数を制御情報１６０の稼働中取り込みインスタンス数６１から取得する。
【０１４５】
ステップＳ６２では、取り込みエージェント１１０が、分析サーバ１の計算機資源で取り込みインスタンス１４１を追加可能か否かを判定する。すなわち、取り込みエージェント１１０は、稼働中取り込みインスタンス数６１が、プロセス内の取り込みインスタンス数の最大値を示す取り込みプロセス内並列度閾値５７に取り込みプロセス数５６を乗じた値（実行可能な取り込みインスタンス数）未満であるか否かを判定する。
【０１４６】
稼働中取り込みインスタンス数６１が乗算結果未満であればステップＳ６３へ進み、稼働中取り込みインスタンス数６１が乗算結果以上であればステップＳ６９へ進む。ステップＳ６９では、一定時間待機した後にステップＳ６１へ戻って上記処理を繰り返す。
【０１４７】
ステップＳ６３では、取り込みエージェント１１０が、データ取り込み指示キュー１７０のエントリ数を取得する。ステップＳ６３では、取り込みエージェント１１０が、エントリ数と１を比較して、１を超えていればステップＳ６５へ進み、エントリ数が１以下であればステップＳ６９へ進んで上記処理を繰り返す。
【０１４８】
ステップＳ６５では、取り込みエージェント１１０が、データ取り込み指示キュー１７０から取り込み対象の分析対象データ項目名のパラメータ（１７０１、１７０２）を取得する。ステップＳ６６では、取り込みエージェント１１０が、パラメータを取得したデータ取り込み指示キュー１７０のエントリをクリア（−１）してから更新する。
【０１４９】
次に、ステップＳ６７では、取り込みエージェント１１０が、取り込みインスタンス１４１の追加対象となる取り込みプロセス１４０を決定する。取り込みプロセス１４０の決定は、ラウンドロビンや、稼働中の取り込みインスタンス１４１の数が最小の取り込みプロセス１４０など、分析サーバ１の運用に適した手法を用いることができる。
【０１５０】
次に、ステップＳ６８では、取り込みエージェント１１０が、上記ステップＳ６５で取得したパラメータで、追加対象の取り込みプロセス１４０内に取り込みインスタンス１４１を生成して、対象データの取り込みを実行する。
【０１５１】
ステップＳ６９では、取り込みエージェント１１０が、取り込みインスタンス１４１を生成したので、稼働中取り込みインスタンス数６１をインクリメント（＋１）して更新する。
【０１５２】
上記処理によって、データ取り込み指示キュー１７０にエントリが溜まっており、更にインスタンス数の稼働数に余裕がある場合に、新たにインスタンスを生成してデータ取り込み処理を推進する。
【０１５３】
＜取り込みインスタンスの終了判定処理＞
図１４は、分析サーバ１のデータ取り込みインスタンス終了判定処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１４で行われる。
【０１５４】
図１３の処理で生成された取り込みインスタンス１４１は、自身の処理が終了する時に、終了したことを示す情報（終了情報）をメモリ１２に出力する。また、終了情報（図示省略）には、当該取り込みインスタンス１４１の実行時間が取り込み処理時間として含まれる。
【０１５５】
ステップＳ７１では、取り込みエージェント１１０が、メモリ１２の終了情報を取得して、データ収集サーバ２からのデータ取り込み処理が終了した取り込みインスタンス１４１の数を取得する。
【０１５６】
ステップＳ７２では、取り込みエージェント１１０が、終了済みの取り込みインスタンス１４１が存在するか否かを判定し、終了済みの取り込みインスタンス１４１が存在すればステップＳ７３へ進み、存在しなければステップＳ８０へ進む。ステップＳ８０では、取り込みエージェント１１０が、一定時間待機した後に、ステップＳ７１へ戻って上記処理を繰り返す。
【０１５７】
ステップＳ７３では、取り込みエージェント１１０が、処理が終了した取り込みインスタンス１４１のデータを分析処理へ投入する。すなわち、取り込みエージェント１１０が、取り込みインスタンス１４１で取得した取り込み済みデータ３００のパラメータ（ｍａｃ、ｔｉｍｅ）を、データ分析指示キュー１８０に追加して更新する。
【０１５８】
ステップＳ７４では、ひとつの取り込みインスタンス１４１が終了したので、稼働中取り込みインスタンス数６１をデクリメント（−１）して更新する。ステップＳ７５では、取り込みエージェント１１０が、終了情報に含まれる取り込み処理時間を取得して、制御情報１６０の取り込み処理時間６３を更新する。
【０１５９】
取り込みエージェント１１０は、取り込み処理時間６３が０でなければ終了情報に含まれる取り込み処理時間と取り込み処理時間６３の平均値を算出して取り込み処理時間６３を更新する。一方、取り込み処理時間６３が０の場合には、取り込みエージェント１１０が終了情報に含まれる取り込み処理時間をそのまま取り込み処理時間６３に設定する。
【０１６０】
ステップＳ７６では、取り込みインスタンス１４１が終了したので、取り込みエージェント１１０が、取り込みプロセス内並列度５５をデクリメント（−１）して更新する。この処理については後述する。
【０１６１】
ステップＳ７７では、取り込みエージェント１１０が、取り込み済みデータ３００のボリューム使用率が、データ廃棄起動閾値７１を超えたか否かを判定する。ボリューム使用率がデータ廃棄起動閾値７１を超えていればステップＳ７８へ進み、超えていなければステップＳ７９へ進む。
【０１６２】
ステップＳ７８では、取り込みエージェント１１０が、取り込み済みデータ３００の廃棄処理を実行する。一方、ステップＳ７９では、データ廃棄はしない。以上の処理の後にステップＳ７１へ戻って上記処理を繰り返す。
【０１６３】
上記処理によって、取り込み処理が終了した取り込みインスタンス１４１で取得されたデータが分析処理へ投入され、稼働中取り込みインスタンス数６１と取り込み処理時間６３を更新してから取り込みプロセス内並列度５５が更新される。また、ストレージ１５のボリューム使用率がデータ廃棄起動閾値７１を超えていれば取り込み済みデータ３００のデータの廃棄を実施してストレージ１５のボリュームの使用率を低減する。
【０１６４】
＜分析処理＞
図１５は、分析サーバ１のデータ分析処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１５で行われる。
【０１６５】
ステップＳ８１では、取り込みエージェント１１０が、制御情報１６０の稼働中データ分析インスタンス数６２の値を取得する。
【０１６６】
ステップＳ８２では、取り込みエージェント１１０が、分析サーバ１の計算機資源で分析インスタンス１５１を追加可能か否かを判定する。すなわち、取り込みエージェント１１０は、稼働中データ分析インスタンス数６２が、プロセス内の分析インスタンス数の最大値を示す分析プロセス内並列度閾値６０に分析プロセス数５９を乗じた値（実行可能な分析インスタンス数）未満であるか否かを判定する。
【０１６７】
取り込みエージェント１１０は、稼働中データ分析インスタンス数６２が乗算結果未満であればステップＳ８３へ進み、稼働中データ分析インスタンス数６２が乗算結果以上であればステップＳ８９へ進む。ステップＳ８９では、取り込みエージェント１１０が、一定時間待機した後にステップＳ８１に戻って上記処理を繰り返す。
【０１６８】
ステップＳ８３では、取り込みエージェント１１０が、データ分析指示キュー１８０のエントリ数を取得する。ステップＳ８４では、取り込みエージェント１１０が、エントリ数が１より大であるか否かを判定する。エントリ数が１より大であればステップＳ８５へ進み、エントリ数が１以下であればステップＳ８９へ進む。
【０１６９】
ステップＳ８５では、取り込みエージェント１１０が、データ分析指示キュー１８０から分析対象の分析対象データ項目名のパラメータ（１８０１、１８０２）を取得する。ステップＳ８６では、取り込みエージェント１１０が、パラメータを取得したデータ分析指示キュー１８０のエントリをクリア（−１）してから更新する。
【０１７０】
次に、ステップＳ８７では、取り込みエージェント１１０が、分析インスタンス１５１の追加対象となる分析プロセス１５０を決定する。分析プロセス１５０の決定は、ラウンドロビンや、稼働中の分析インスタンス１５１の数が最小の分析プロセス１５０など、分析サーバ１の運用に適した手法を用いることができる。
【０１７１】
次に、ステップＳ８８では、取り込みエージェント１１０が、上記ステップＳ８５で取得したパラメータで追加対象の分析プロセス１５０内に分析インスタンス１５１を生成して、対象データの分析処理を実行する。
【０１７２】
ステップＳ８８では、取り込みエージェント１１０が、分析インスタンス１５１を生成したので、稼働中データ分析インスタンス数６２をインクリメント（＋１）して更新する。
【０１７３】
上記処理によって、データ分析指示キュー１８０にエントリが溜まっており、更にインスタンス数の稼働数に余裕がある場合に、新たに分析インスタンス１５１を生成して分析処理を推進する。
【０１７４】
＜分析終了判定処理＞
図１６は、分析サーバ１のデータ分析終了判定処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１６で行われる。
【０１７５】
図１５で生成された分析プロセス１５０内の分析インスタンス１５１は、自身の処理が終了する時に、終了したことを示す情報（終了情報）をメモリ１２に出力する。また、分析インスタンス１５１の終了情報（図示省略）には、当該分析インスタンス１５１の実行時間が分析処理時間として含まれる。
【０１７６】
ステップＳ９１では、取り込みエージェント１１０が、メモリ１２の終了情報を取得して、データ分析処理が終了した分析インスタンス１５１の数を取得する。
【０１７７】
ステップＳ９２では、取り込みエージェント１１０が、終了済みの分析インスタンス１５１が存在するか否かを判定し、終了済みの分析インスタンス１５１が存在すればステップＳ９３へ進み、存在しなければステップＳ９６へ進む。ステップＳ９６では、取り込みエージェント１１０が、一定時間待機した後に、ステップＳ９１へ戻って上記処理を繰り返す。
【０１７８】
ステップＳ９３では、分析インスタンス１５１が終了したので、取り込みエージェント１１０は稼働中データ分析インスタンス数６２をデクリメント（−１）して更新する。ステップＳ９４では、取り込みエージェント１１０が、分析インスタンス１５１の終了情報から分析処理時間を取得して、制御情報１６０の分析処理時間６６を更新する。
【０１７９】
取り込みエージェント１１０は、分析処理時間６６が０でなければ終了情報に含まれる分析処理時間と分析処理時間６６の平均値を算出して分析処理時間６６を更新する。一方、分析処理時間６６が０の場合には、取り込みエージェント１１０が終了情報に含まれる取り込み処理時間をそのまま分析処理時間６６に設定する。
【０１８０】
ステップＳ９５では、分析インスタンス１５１が終了したので、取り込みエージェント１１０が、分析プロセス内並列度５８をデクリメント（−１）して更新する。この処理については後述する。上記処理によって、稼働中データ分析インスタンス数６２と分析プロセス内並列度５８及び分析処理時間６６が更新される。
【０１８１】
＜取り込みプロセスの並列度更新処理＞
図１７は、分析サーバ１の取り込みプロセス内並列度５５の更新処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１７で行われる。
【０１８２】
取り込みエージェント１１０は、制御情報１６０から取り込み処理時間６３と取り込み処理最大時間６５を読み込んでから処理を開始する（Ｓ１０１）。
【０１８３】
次に、ステップＳ１０２では、取り込みエージェント１１０が、取り込み処理時間６３が取り込み処理最大時間６５を超えているか否かを判定する。取り込み処理時間６３が取り込み処理最大時間６５を超えていればステップＳ１０３へ進み、取り込み処理時間６３が取り込み処理最大時間６５以下であればステップＳ１０８へ進む。ステップＳ１０８では、取り込み処理に関する並列度を更新せずに処理を終了する。
【０１８４】
ステップＳ１０３では、取り込みエージェント１１０が、制御情報１６０から分析処理時間６６を読み込んで取り込み処理時間６３と比較する。取り込みエージェント１１０は、取り込み処理時間６３が分析処理時間６６を超えていればステップＳ１０４へ進み、取り込み処理時間６３が分析処理時間６６以下であればステップＳ１０９へ進む。
【０１８５】
ステップＳ１０４では、取り込みエージェント１１０が、取り込みプロセス内並列度５５をインクリメント（＋１）する。これにより、取り込み処理に割り当てる計算機資源を増大させる。
【０１８６】
ステップＳ１０５では、取り込みエージェント１１０が、ステップＳ１０４で更新された取り込みプロセス内並列度５５と、予め設定された取り込みプロセス内並列度閾値５７を比較する。取り込みエージェント１１０は、取り込みプロセス内並列度５５が取り込みプロセス内並列度閾値５７を超えていればステップＳ１０６へ進み、取り込みプロセス内並列度５５が取り込みプロセス内並列度閾値５７以下であれば、ステップＳ１０７へ進む。
【０１８７】
ステップＳ１０６では、取り込みエージェント１１０が、取り込みプロセス内並列度５５が閾値を超過しているので取り込みプロセス１４０内の並列度を低減する。このため、取り込みエージェント１１０は、取り込みプロセス数５６を２倍に変更し、取り込みプロセス内並列度５５を半分に変更する。
【０１８８】
そして、ステップＳ１０７では、取り込みエージェント１１０が、現在の取り込み処理時間６３を前回取り込み処理時間６４にコピーして処理を終了する。
【０１８９】
上記ステップＳ１０２〜Ｓ１０６の処理では、取り込み処理時間６３が取り込み処理最大時間６５を超え、かつ、分析処理時間６６を超えているので、取り込みプロセス内並列度５５に１を加算して、取り込み処理への計算機資源の割り当てを増大する。ただし、取り込みプロセス内並列度５５が取り込みプロセス内並列度閾値５７を超えた場合には、取り込みプロセス数５６を２倍に変更し、取り込みプロセス内並列度５５を半分に変更する。これにより、取り込み処理全体としての並列度を維持しながら、取り込みプロセス１４０内の並列度を低減する。
【０１９０】
一方、取り込み処理時間６３が分析処理時間６６以下の場合のステップＳ１０９以降では、現在の分析処理時間６６が前回分析処理時間６７よりも増大していれば、取り込み処理に割り当てる計算機資源を削減する。このため、ステップＳ１０９では、前回分析処理時間６７に所定の定数（＞１）を乗じた時間が分析処理時間６６を超えていればステップＳ１１０へ進み、そうでなければステップＳ１０７へ進む。
【０１９１】
ステップＳ１１０では、取り込みエージェント１１０が、取り込みプロセス内並列度５５をデクリメント（−１）する。これにより、取り込み処理に割り当てる計算機資源を削減させる。
【０１９２】
次に、ステップＳ１１１では、取り込みプロセス内並列度５５を２倍した値が取り込みプロセス内並列度閾値５７未満であればステップＳ１１２へ進み、そうでなければステップＳ１０７へ進む。ステップＳ１１２では、取り込みエージェント１１０が、取り込みプロセス数５６を１／２に変更し、取り込みプロセス内並列度５５を２倍に変更する。
【０１９３】
上記ステップＳ１０９〜Ｓ１１２の処理では、取り込みプロセス内並列度５５をひとつ減らして取り込み処理への計算機資源の割り当てを削減する。ただし、取り込みプロセス内並列度５５が取り込みプロセス内並列度閾値５７よりも十分小さくなった場合（１／２）には、取り込みプロセス数５６を１／２倍に変更し、取り込みプロセス内並列度５５を２倍に変更する。
【０１９４】
以上のように、取り込み処理時間６３または分析処理時間６６に応じて、取り込み処理に割り当てる計算機資源を制御する。
【０１９５】
＜分析プロセスの並列度更新処理＞
図１８は、分析サーバ１の分析プロセス内並列度５８の更新処理の一例を示すフローチャートである。この処理は、図１０のステップＳ１８で行われる。
【０１９６】
取り込みエージェント１１０は、ＣＰＵ１１の負荷を読み込んでから処理を開始する（Ｓ１２１）。
【０１９７】
次に、ステップＳ１２２では、取り込みエージェント１１０が、ＣＰＵ１１の負荷が所定の範囲に収まっているか否かを判定する。本実施例では、負荷の範囲は８０％を超え、かつ９０％未満の例を示す。
【０１９８】
取り込みエージェント１１０は、ＣＰＵ１１の負荷が所定の範囲に収まっていれば、ステップＳ１０８へ進む。ステップＳ１２８では、分析処理に関する並列度を更新せずに処理を終了する。一方、ＣＰＵ１１の負荷が所定の範囲であればステップＳ１２３へ進む。
【０１９９】
ステップＳ１２３で、取り込みエージェント１１０は、ＣＰＵ１１の負荷が所定の負荷閾値未満であるか否かを判定する。本実施例では、所定の負荷閾値として８０％の例を示す。取り込みエージェント１１０は、ＣＰＵ１１の負荷が負荷閾値未満であればステップＳ１２４へ進む。一方、ＣＰＵ１１の負荷が負荷閾値以上であればステップＳ１３０へ進む。
【０２００】
ステップＳ１２４では、取り込みエージェント１１０が、分析プロセス内並列度５８をインクリメント（＋１）する。これにより、分析処理に割り当てる計算機資源を増大させる。
【０２０１】
ステップＳ１２５では、取り込みエージェント１１０が、ステップＳ１２４で更新された分析プロセス内並列度５８と、予め設定された分析プロセス内並列度閾値６０を比較する。取り込みエージェント１１０は、分析プロセス内並列度５８が分析プロセス内並列度閾値６０を超えていればステップＳ１２６へ進み、分析プロセス内並列度５８が分析プロセス内並列度閾値６０以下であれば、ステップＳ１２７へ進む。
【０２０２】
ステップＳ１２６では、取り込みエージェント１１０が、分析プロセス内並列度５８が閾値を超過しているので分析プロセス１５０内の並列度を低減する。このため、取り込みエージェント１１０は、分析プロセス数５９を２倍に変更し、分析プロセス内並列度５８を半分に変更する。
【０２０３】
そして、ステップＳ１２７では、取り込みエージェント１１０が、現在の分析処理時間６６を前回分析処理時間６７にコピーして処理を終了する。
【０２０４】
上記ステップＳ１２２〜Ｓ１２６の処理では、ＣＰＵ１１の負荷が負荷閾値未満であるので、分析プロセス内並列度５８に１を加算して、分析処理への計算機資源の割り当てを増大する。ただし、分析プロセス内並列度５８が分析プロセス内並列度閾値６０を超えた場合には、分析プロセス数５９を２倍に変更し、分析プロセス内並列度５８を半分に変更する。これにより、分析処理全体としての並列度を維持しながら、分析プロセス１５０内の並列度を低減する。
【０２０５】
一方、ＣＰＵ１１の負荷が９０％（過負荷閾値）を超える場合のステップＳ１３０以降では、分析処理に割り当てる計算機資源を削減する。ステップＳ１３０では、取り込みエージェント１１０が、分析プロセス内並列度５８をデクリメント（−１）する。これにより、分析処理に割り当てる計算機資源を削減させる。
【０２０６】
次に、ステップＳ１３１では、分析プロセス内並列度５８を２倍した値が分析プロセス内並列度閾値６０未満であればステップＳ１３２へ進み、そうでなければステップＳ１２７へ進む。ステップＳ１３２では、取り込みエージェント１１０が、分析プロセス数５９を１／２に変更し、分析プロセス内並列度５８を２倍に変更する。
【０２０７】
上記ステップＳ１３０〜Ｓ１３２の処理では、分析プロセス内並列度５８をひとつ減らして分析処理への計算機資源の割り当てを削減する。ただし、分析プロセス内並列度５８が分析プロセス内並列度閾値６０よりも十分小さくなった場合（１／２）には、分析プロセス数５９を１／２倍に変更し、分析プロセス内並列度５８を２倍に変更する。
【０２０８】
以上のように、分析サーバ１のＣＰＵ１１の負荷に応じて、分析処理に割り当てる計算機資源を制御することができる。
【０２０９】
＜初期化処理＞
図１９は、分析サーバ１の初期化処理の一例を示すフローチャートである。この処理は、図９のステップＳ４で行われる。
【０２１０】
ステップＳ１４１では、取り込みエージェント１１０が、取り込みプロセス内並列度５５に取り込みプロセス内並列度初期値５１を設定し、分析プロセス内並列度５８に分析プロセス内並列度初期値５３を設定する。また、取り込みエージェント１１０は、取り込みプロセス数５６に取り込みプロセス数初期値５２を設定し、分析プロセス数５９に分析プロセス数初期値５４を設定する。
【０２１１】
ステップＳ１４２では、取り込みエージェント１１０が、稼働中取り込みインスタンス数６１を０に設定し、稼働中データ分析インスタンス数６２を０に設定する。
【０２１２】
ステップＳ１４３では、取り込みエージェント１１０が、取り込み処理時間６３と前回取り込み処理時間６４を０に設定し、分析処理時間６６と前回分析処理時間６７を０に設定する。
【０２１３】
ステップＳ１４４では、取り込みエージェント１１０が、分析対象データ取り込み指定２０１に設定されたリソース割当方式２１５を、制御情報１６０のリソース割当方式６８に設定し、同じく、分析対象データ取り込み指定２０１に設定されたデータ分析時間limit２１６を制御情報１６０のデータ分析時間limit６９に設定する。
【０２１４】
上記処理により、取り込みエージェント１１０は、分析対象データ取り込み指定２０１に従った処理を開始することができる。
【０２１５】
＜データ廃棄処理＞
図２０は、分析サーバ１のデータ廃棄処理の一例を示すフローチャートである。この処理は、図１２のステップＳ４９で行われる。
【０２１６】
ステップＳ１５１では、取り込みエージェント１１０がデータ廃棄指示キュー１９０から廃棄コマンドを取得して処理を開始する。ステップＳ１５２では、取り込みエージェント１１０が、ストレージ１５のボリューム使用率を取得して、データ廃棄起動閾値７１と比較する。取り込みエージェント１１０はボリューム使用率がデータ廃棄起動閾値７１を超えていればステップＳ１５３へ進み、そうでなければステップＳ１５５に進んで処理を終了する。
【０２１７】
ステップＳ１５３では、取り込みエージェント１１０が、データ廃棄目標７２を取得して、取り込み済みデータのアクセス順リスト３２０の先頭からカウントする。ステップＳ１５３では、取り込み済みデータのアクセス順リスト３２０のカウントがデータ廃棄目標７２に達するまで取り込み済みデータ３００を選択し、選択されたデータを廃棄する。
【０２１８】
上記処理によって、取り込み済みデータのアクセス順リスト３２０の順序で、取り込み済みデータ３００が廃棄され、ストレージ１５の空き容量を確保することができる。
【０２１９】
＜まとめ＞
図２１は、データ収集サーバ２が収集したセンサデータ２５０を、分析サーバ１が取得して分析処理を行う例を示す図である。図中上段が本発明を示し、図中下段が従来例を示す。図示の例では、図中時刻Ｔ０から６時間までデータ収集サーバ２がセンサデータ２５０を収集し、分析サーバ１が６時間のデータを分析対象データとして取り込んで分析を行う例を示す。
【０２２０】
本発明では、まず、分析サーバ１から分析対象データ取り込み指定２１０を指示することで、時刻Ｔ０から分析サーバ１によるデータの取り込みと分析処理が開始される。図示では、分析対象データ取り込み指定２１０の取り込みデータ範囲２１３の繰り返し範囲２１３２が６時間、繰り返し単位２１３３が２時間とする例を示す。また、取り込みプロセス数５６と、分析プロセス数５９は２とする例を示す。なお、図示の例では、各プロセスが１時間分のデータについて処理する例を示す。
【０２２１】
分析サーバ１は、繰り返し単位２１３３の２時間分のデータがデータ収集サーバ２へ蓄積される度に、分析サーバ１の取り込みプロセス１４０が１時間分ずつデータ取り込んで、データの取り込みが完了すると分析プロセス１５０が分析を実施する。この例では、分析サーバ１が１時間分のデータを取り込むのに３０分を要し、１時間分のデータを分析するのに４５分を要するものとする。
【０２２２】
時刻Ｔ０から２時間が経過すると、分析サーバ１は分析対象データ取り込み指定２１０に従って、２時間分のデータを取り込んでから分析処理を開始する。図示の例では、２つのプロセスで並列的にデータの取り込みと分析が行われる。分析サーバ１は、データの取り込み開始から１時間４５分後に、２時間分のデータの取り込みと分析を完了する。
【０２２３】
分析サーバ１では、時刻Ｔ０から４時間、６時間経過した時点でも、上記と同様の処理が行われ、６時間の蓄積データについて、時刻Ｔ０から７時間４５分後には全ての取り込みと分析が完了し、分析結果が出力される。
【０２２４】
一方、前記従来例において、データ収集サーバ２がセンサデータ２５０の蓄積を開始して６時間経過した後に、ユーザは、分析サーバ１に対して６時間分のセンサデータ２５０を取り込むように指令する。
【０２２５】
分析サーバ１は、６時間分のデータを３時間かけてデータ収集サーバ２から取り込む。データの取り込みが完了した後に、ユーザは、分析開始の指令を分析サーバ１に入力して分析処理が開始される。分析サーバ１は、６時間分のデータについて分析処理を実行し、３時間３０分後に分析結果を出力する。
【０２２６】
従来例では、データの蓄積完了と、データの転送完了のタイミングで、それぞれ転送指示や分析指示を分析サーバ１に指令する必要が生じ、完了する時刻によっては分析処理を効率よく行うことができなかった。
【０２２７】
これに対して、本発明では、データ収集サーバ２で分析対象データ取り込み指定２１０で、データの取り込みと分析を繰り返す取り込みデータ範囲２１３を指示しておくだけで、分析サーバ１はデータの取り込みと分析を自動的に行うことができる。また、本発明では、分析対象データ取り込み指定２１０の繰り返し範囲で指定することで、データの取り込みと分析処理を、複数のプロセス及びインスタンスによって並列的に処理を行うことで、処理時間を短縮できる。
【０２２８】
これにより、大量のデータを収集して分析する場合に、分析サーバ１のユーザは、データの取り込み完了等のタイミングを気にする必要がなくなって、所望のタイミングで分析結果を取得することが可能となる。これにより、大量のデータの分析を行う際の作業の効率を大幅に向上させることが可能となるのである。
【実施例２】
【０２２９】
図２２は、実施例２を示し、計算機システムの機能の一例を示すブロック図である。前記実施例１では、分析サーバ１の取り込みエージェント１１０が、データの取り込みと分析を制御する例を示したが、本実施例２では、データを転送する機能をデータ収集サーバ２のデータ転送エージェント２２０に分離した例を示す。
【０２３０】
本実施例２の、分析サーバ１の取り込みエージェント１１０は、前記実施例１からデータを取り込む機能を削除したものである。データ収集サーバ２のデータ転送エージェント２２０は、前記実施例１のデータを転送する機能を有する。その他の構成は、前記実施例１と同様である。
【０２３１】
データ収集サーバ２のデータ転送エージェント２２０は、前記実施例１と同様に、分析対象データ取り込み指定２１０と分析最小データセット１２０に基づいて、処理対象のセンサデータ２５０を分析サーバ１に転送する。なお、データ転送エージェント２２０は、前記実施例１の取り込みプロセス１４０と取り込みインスタンス１４１に代わって、転送プロセスと転送インスタンスを生成して実行する。
【０２３２】
分析サーバ１では、取り込みエージェント１１０が、所定の繰り返し範囲で分析処理を実行する。なお、処理の内容は前記実施例１と同様であるので、重複する説明は省略する。
【０２３３】
本実施例２においても、データ収集サーバ２で分析対象データ取り込み指定２１０を指示しておくだけで、分析サーバ１はデータの取得と分析を自動的に行うことができる。
【０２３４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【０２３５】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０２３６】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０２３７】
１  分析サーバ
２  データ収集サーバ
１１  ＣＰＵ
１２  メモリ
１５  ストレージ
２１  ＣＰＵ
２２  メモリ
２５  ストレージ
１１０  取り込みエージェント
１２０  分析最小データセット
１３０  分析ロジック
１４０  取り込みプロセス
１４１  取り込みインスタンス
１５０  分析プロセス
１５１  分析インスタンス
２１０  分析対象データ取り込み指定
２５０  センサデータ
３００  取り込み済みデータ
【図１】
2018206114.tif 000003
【図２】
2018206114.tif 000004
【図３】
2018206114.tif 000005
【図４】
2018206114.tif 000006
【図５】
2018206114.tif 000007
【図６Ａ】
2018206114.tif 000008
【図６Ｂ】
2018206114.tif 000009
【図７Ａ】
2018206114.tif 000010
【図７Ｂ】
2018206114.tif 000011
【図７Ｃ】
2018206114.tif 000012
【図８】
2018206114.tif 000013
【図９】
2018206114.tif 000014
【図１０】
2018206114.tif 000015
【図１１】
2018206114.tif 000016
【図１２】
2018206114.tif 000017
【図１３】
2018206114.tif 000018
【図１４】
2018206114.tif 000019
【図１５】
2018206114.tif 000020
【図１６】
2018206114.tif 000021
【図１７】
2018206114.tif 000022
【図１８】
2018206114.tif 000023
【図１９】
2018206114.tif 000024
【図２０】
2018206114.tif 000025
【図２１】
2018206114.tif 000026
【図２２】
2018206114.tif 000027