(57)【特許請求の範囲】
【請求項１】
ユーザにより操作される入出力装置と、各々監視対象となるローカル機器に対する第１のデータ分析を行う複数のローカル分析装置と、各前記ローカル分析装置による第１のデータ分析で得られた第１の分析データを用いて第２のデータ分析を行うセンター分析装置と、前記入出力装置、前記複数のローカル分析装置および前記センター分析装置間を接続する接続装置とを備えたデータ分析システムであって、
（Ａ）前記データ入出力装置は、
ユーザによりコマンドを入力する入力手段と、
前記入力手段により入力されたコマンドを前記接続装置に送り、また前記接続装置からデータを受け取る第１の通信部と、
前記第１の通信部により受け取られたデータを出力するデータ出力手段とを有し、
（Ｂ）各前記ローカル分析装置は、
前記接続装置とコマンドまたはデータを送受する第２の通信部と、
前記ローカル分析装置に対応する前記ローカル機器を観測して得られる観測データを取得するデータ取得部と、
前記データ取得部によって取得された観測データを用いて第１のデータ分析を行う第１のデータ分析コマンドを前記第２の通信部から受けて実行し、前記第１のデータ分析により得られた前記第１の分析データを前記第１のデータ分析コマンドの送出元宛に前記第２の通信部を介して送出する第１のデータ分析コマンド実行部と、
他のローカル分析装置および前記センター分析装置の少なくとも１つに前記第１の分析データを提供する第１の通信コマンドを前記第２の通信部から受けて実行し、また、他のローカル分析装置および前記センター分析装置の少なくとも１つから前記第１または第２のデータ分析により得られた第１または第２の分析データを取得する第２の通信コマンドを前記第２の通信部から受けて実行する第１の通信コマンド実行部と、
（Ｃ）前記センター分析装置は、
前記接続装置とコマンドまたはデータを送受する第３の通信部と、
各前記ローカル分析装置の少なくとも１つからあらかじめ取得した前記第１の分析データを用いて第２のデータ分析を行う第２のデータ分析コマンドを前記第３の通信部から受けて実行し、前記第２のデータ分析により得られた前記第２の分析データを前記第２のデータ分析コマンドの送出元宛に前記第３の通信部を介して送出する第２のデータ分析コマンド実行部と、
（Ｄ）前記接続装置は、
前記入出力装置、各前記ローカル分析装置および前記センター分析装置との間で、コマンドまたはデータを送受する第４の通信部と、
前記入出力装置からのコマンドを転送するべき装置を前記複数のローカル分析装置および前記センター分析装置から１つ以上選定して設定するための前記入出力装置から送られてくる転送先設定コマンドを、前記第４の通信部から受けて実行するコマンド実行部と、
前記入出力装置から送られてくる、前記転送先設定コマンドと異なるコマンドを、前記転送先設定コマンドに応じて転送設定されている各装置に前記第４の通信部を介して転送する第１の転送手段と、
各前記ローカル分析装置または前記センター分析装置から送られてくるコマンドまたはデータに対し前記コマンドまたは前記データの宛先に応じて前記第４の通信部を介して転送処理を行う第２の転送手段と、を有する、
ことを特徴とするデータ分析システム。
【請求項２】
前記ローカル分析装置は、前記他のローカル分析装置または前記センター分析装置から要求されたデータを返送する返送手段をさらに備え、
前記ローカル分析装置における前記第１の通信コマンド実行部は、
前記第１の通信コマンドを実行することにより前記第１の分析データを前記他のローカル分析装置およびセンター分析装置の少なくとも１つ宛に送出し、
前記第２の通信コマンドを実行することにより、前記他のローカル分析装置およびセンター分析装置の少なくとも１つ宛に、前記第１または第２の分析データの送出を要求する要求コマンドまたは要求データを送出して、前記他のローカル分析装置およびセンター分析装置の少なくとも１つから前記第１または前記第２の分析データを前記第２の通信部を介して受け取り、
前記ローカル分析装置における前記返送手段は、前記他のローカル分析装置または前記センター分析装置から前記要求コマンドまたは要求データを受けたときは、前記要求コマンドまたは要求データに要求される前記第１または第２の分析データを前記他のローカル分析装置または前記センター分析装置宛に送出する、
ことを特徴とする請求項１に記載のデータ分析システム。
【請求項３】
前記センター分析装置は、各前記ローカル分析装置の少なくとも１つから前記第１の分析データを取得する第３の通信コマンド、または、前記第２の分析データを各前記ローカル分析装置の少なくとも１つに提供する第４の通信コマンドを前記第３の通信部から受けて実行する第２の通信コマンド実行部をさらに有することを特徴とする請求項１または２に記載のデータ分析システム。
【請求項４】
前記転送先設定コマンドは、前記第１のデータ分析により得られた第１の分析データを特定する変数と、条件式とを含み、
前記接続装置における前記コマンド実行部は、前記転送先設定コマンドを実行することにより、
前記変数により特定される前記第１の分析データを送出するコマンドを転送設定されているローカル分析装置に送出し、
当該コマンドを送ったローカル分析装置から前記変数により特定される第１の分析データを前記第４の通信部を介して取得し、
取得した第１の分析データが前記条件式を満たす前記ローカル分析装置との間のみ転送設定を維持し、
前記ローカル分析装置における前記第１のデータ分析コマンド実行部は、前記変数により特定される前記第１の分析データを送出するコマンドの実行することにより、前記変数により特定される前記第１の分析データを前記接続装置宛に前記２の通信部を介して送出する、
ことを特徴とする請求項１ないし３のいずれか一項に記載のデータ分析システム。
【請求項５】
各前記ローカル分析装置の装置タイプをそれぞれ記述した装置種別テーブルと、
前記第１の分析データを送出するコマンドとして、前記装置タイプに応じて異なる記述を有するコマンドを保持したコマンドテーブルとをさらに備え、
前記コマンド実行部は、前記転送設定されているローカル分析装置の装置タイプを前記装置種別テーブルから特定し、特定した装置タイプに応じた記述をもつコマンドを前記コマンドテーブルから特定し、特定したコマンドを前記転送設定されているローカル分析装置に送出することを特徴とする請求項４に記載のデータ分析システム。
【請求項６】
前記第１のデータ分析コマンドと、前記第１のデータ分析コマンドの識別子とを対応付けたコマンドテーブルをさらに備え、
前記転送先設定コマンドは、前記識別子と条件式とを含んでおり、
前記接続装置における前記コマンド実行部は、前記転送先設定コマンドの実行することにより、
前記転送先設定コマンドに含まれる識別子に対応する第１のデータ分析コマンドを前記テーブルから特定し、
特定した第１のデータ分析コマンドを転送設定されているローカル分析装置に送り、
前記特定した第１のデータ分析コマンドに基づく前記第１の分析データを前記第１のデータ分析コマンドを送ったローカル分析装置から取得し、
取得した第１の分析データが前記条件式を満たしている前記ローカル分析装置との間のみ転送設定を維持する、
ことを特徴とする請求項１ないし３のいずれか一項に記載のデータ分析システム。
【請求項７】
各前記ローカル分析装置の装置タイプをそれぞれ記述した装置種別テーブルをさらに備え、
前記コマンドテーブルは、前記第１のデータ分析コマンドの同一の識別子に対応して、前記装置タイプに応じてそれぞれ異なる記述を有する第１のデータ分析コマンドを保持し、
前記コマンド実行部は、前記転送設定されているローカル分析装置の装置タイプを前記装置種別テーブルから特定し、特定した装置タイプと前記転送先設定コマンドに含まれる識別子とに応じた記述をもつ第１のデータ分析コマンドを前記コマンドテーブルから特定し、特定した第１のデータ分析コマンドを前記転送設定されているローカル分析装置に送ることを特徴とする請求項６に記載のデータ分析システム。
【請求項８】
前記ローカル分析装置における前記データ取得部により取得される観測データは、複数の観測値を含み、
前記ローカル分析装置における前記第１のデータ分析コマンド実行部は、前記第１のデータ分析コマンドを実行することにより、ある観測値を他の観測値から予測する予測モデルを生成することを特徴とする請求項１〜７のいずれか一項に記載のデータ分析システム。
【請求項９】
前記ローカル分析装置における前記第１のデータ分析コマンド実行部は、前記第１のデータ分析コマンドを実行することにより、
ある観測値を他の観測値から予測する予測モデルを生成し、さらに前記予測モデルと前記観測データとから前記ローカル機器の状態が異常であるか否かを監視する監視ロジックを生成する、ことを特徴とする請求項１〜７のいずれか一項に記載のデータ分析システム。
【請求項１０】
前記ローカル分析装置における前記第１の通信コマンド実行部は、前記入出力装置から送られてくる前記第１の通信コマンドを実行することにより、前記予測モデルを表すデータを前記第１の通信コマンドに指定される他のローカル分析装置に提供し、
前記他のローカル分析装置における前記第１のデータ分析コマンド実行部は、前記入出力装置から送られてくる前記第１のデータ分析コマンドを実行することにより、前記ローカル分析装置から提供された前記予測モデルの適合度を、前記データ取得部により取得される観測データに基づき計算し、
前記センター分析装置における前記第２のデータ分析コマンド実行部は、前記入出力装置から送られてくる前記第２のデータ分析コマンドを実行することにより、前記他のローカル分析装置からあらかじめ取得した前記予測モデルの適合度の分布を計算する、
ことを特徴とする請求項８または９に記載のデータ分析システム。
【請求項１１】
前記センター分析装置における前記第２のデータ分析コマンド実行部は、前記入出力装置から送られてくる前記第２のデータ分析コマンドを実行することにより、各前記ローカル分析装置からあらかじめ取得した前記予測モデルのパラメータの分布を計算することを特徴とする請求項８または９に記載のデータ分析システム。
【請求項１２】
前記センター分析装置における前記第２のデータ分析コマンド実行部は、さらに、計算された前記分布を表すグラフデータを前記入出力装置宛に送出し、
前記入出力装置におけるデータ出力手段は、前記センター分析装置から送られてくる前記グラフデータを前記第１の通信部から受けて出力する、
ことを特徴とする請求項１０または１１に記載のデータ分析システム。
【請求項１３】
ユーザにより操作される入出力装置と、各々監視対象となるローカル機器に対する第１のデータ分析を行う複数のローカル分析装置と、各前記ローカル分析装置による第１のデータ分析で得られた第１の分析データを用いて第２のデータ分析を行うセンター分析装置と、前記入出力装置、複数のローカル分析装置およびセンター分析装置間を接続する接続装置とを備えたデータ分析システムであって、
（Ａ）前記データ入出力装置は、
ユーザによりコマンドを入力する入力手段と、
前記入力手段により入力されたコマンドを前記接続装置に送り、また前記接続装置からデータを受け取る第１の通信部と、
前記第１の通信部により受け取られたデータを出力するデータ出力手段とを有し、
（Ｂ）各前記ローカル分析装置は、
前記接続装置とコマンドまたはデータを送受する第２の通信部と、
前記ローカル分析装置に対応するローカル機器を観測して得られる観測データを取得するデータ取得部と、
前記データ取得部によって取得された観測データを用いて第１のデータ分析を行う第１のデータ分析コマンドを前記第２の通信部から受けて実行し、前記第１の分析データを前記第１のデータ分析コマンドの送出元宛に前記第２の通信部を介して送出する第１のデータ分析コマンド実行部と、を有し、
（Ｃ）前記センター分析装置は、
前記接続装置とコマンドまたはデータを送受する第３の通信部と、
各前記ローカル分析装置の少なくとも１つからあらかじめ取得した前記第１の分析データを用いて第２のデータ分析を行う第２のデータ分析コマンドを前記第３の通信部から受けて実行し、前記第２のデータ分析により得られる第２の分析データを前記第２のデータ分析コマンドの送出元宛に前記第３の通信部を介して送出する第２のデータ分析コマンド実行部と、を有し、
（Ｄ）前記接続装置は、
前記入出力装置、各前記ローカル分析装置および前記センター分析装置との間で、コマンドまたはデータを送受する第４の通信部と、
前記入出力装置からのコマンドを転送するべき装置を、前記複数のローカル分析装置および前記センター分析装置から１つ以上選定して設定するための前記入出力装置から送られてくる転送先設定コマンドを前記第４の通信部から受けて実行するコマンド実行部と、
前記入出力装置から送られてくる、前記転送先設定コマンドと異なるコマンドを前記転送先設定コマンドに応じて転送設定されている各装置に前記第４の通信部を介して転送する第１の転送手段と、
各前記ローカル分析装置またはセンター分析装置から送られてくるコマンドまたはデータを前記コマンドまたは前記データの宛先に応じて前記第４の通信部を介して転送処理する第２の転送手段と、
前記転送先設定コマンドによって転送設定されている前記ローカル分析装置または前記センター分析装置から、前記第１または第２の分析データを取得して他のローカル分析装置およびセンター分析装置のうち少なくとも１つに提供する第５の通信コマンドを前記第４の通信部から受けて実行し、また各前記ローカル分析装置およびセンター分析装置の少なくとも１つから前記第１または第２の分析データを取得して前記転送先設定コマンドによって転送設定されている前記ローカル分析装置およびセンター分析装置に提供する第６の通信コマンドを前記第４の通信部から受けて実行する第３の通信コマンド実行部と、を有する、
ことを特徴とするデータ分析システム。
【請求項１４】
ユーザにより操作される入出力装置と、各々監視対象となるローカル機器に対する第１のデータ分析を行う複数のローカル分析装置と、各前記ローカル分析装置による第１のデータ分析で得られた第１の分析データを用いて第２のデータ分析を行うセンター分析装置と、前記入出力装置、複数のローカル分析装置およびセンター分析装置間を接続する接続装置とを用いて行うデータ分析方法であって、
各前記ローカル分析装置に対応するローカル機器を観測して得られる観測データを取得する観測データ取得ステップと、
前記入出力装置から送出されるコマンドを転送するべき装置として前記複数のローカル分析装置の全部または一部を選定し、選定されたローカル分析装置を前記接続装置に対して設定する第１の選定ステップと、
前記観測データ取得ステップで取得された観測データを用いて第１のデータ分析を行う第１のデータ分析コマンドを前記入出力装置から前記接続装置に送り、前記接続装置によって前記第１の選定ステップで設定されたローカル分析装置に転送して実行させる第１の実行ステップと、
前記第１のデータ分析により得られた前記第１の分析データを前記第１のデータ分析コマンドを送ったローカル分析装置から前記接続装置を介して前記入出力装置に返送する第１の返送ステップと、
前記第１の実行ステップにおいて前記ローカル装置から得られた前記第１の分析データを、前記センター分析装置および他のローカル装置のうち１つ以上の装置に送出するステップと、
前記入出力装置から送出されるコマンドを転送するべき装置として前記センター分析装置を選定し、選定したセンター分析装置を前記接続装置に対して設定する第２の選定ステップと、
１つ以上の前記ローカル装置から受け取った第１の分析データを用いて第２のデータ分析を行う第２のデータ分析コマンドを前記入出力装置から前記接続装置に送り、前記接続装置により前記センター分析装置に転送して実行させる第２の実行ステップと、
前記第２のデータ分析により得られた第２の分析データを前記センター分析装置から前記接続装置を介して前記入出力装置に返送する第２の返送ステップと、
を備えたデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のローカル機器で観測された観測データを分析するデータ分析システムおよびデータ分析方法に関するものである。
【背景技術】
【０００２】
機器の安全性の向上および監視コストの削減のため、遠隔監視へのニーズが高まっている。遠隔監視で実現すべき事項の一つとして異常の監視がある。機器の異常はセンサの値から判定する。センサのとるべき上限と下限が与えられ、この範囲を逸脱すると機器は異常であると見なされる。上限と下限は一定値を与えられる場合や、他のセンサの値から計算されて時々刻々と変化する場合もある。これらの上限、下限に基づき異常判定を行うルールは監視ロジックと呼ばれる。監視ロジックは、監視対象機器のセンサ値の履歴データを用いることで生成できる。センサ履歴データは分析サーバ（センター分析装置）へと集められ、分析者が分析ソフトウェアを用いて監視ロジックを作成する。
【０００３】
一方、パーソナルコンピュータ（PC：Personal Computer）を構成するCPU（Central Processing Unit）やメモリ、ハードディスクの低価格化によって、監視対象機器そのものにデータ分析装置を設置することが可能となってきた。たとえば、複数のデータ分析装置を利用して、大規模なデータの分析を実施する方法が、特開２００１−１６７０９８号公報に示されている。この方法は、同一のデータを多数のデータ分析装置で処理することで処理の高速化を試みている。
【特許文献１】特開２００１−１６７０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
遠隔監視対象となる機器は、数万台、数十万台規模になることがあり、その全てのセンサ履歴データを分析サーバへ集め分析することは分析サーバの負荷および通信の負荷から困難である。したがって、監視ロジックは一部の監視対象機器のセンサ履歴データから作成されることになる。しかし、監視対象機器は、同一機種であっても個体差を持つことがあるため、一部のセンサ履歴データから作成された監視ロジックが、他の同一機器に適合するとは限らない。
【０００５】
本発明は、個々の監視対象機器の個体差を考慮した監視ロジックをセンター分析装置の負荷および通信負荷をできるだけ抑えつつ容易かつ高速に作成可能なデータ分析システムおよびデータ分析方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様としてのデータ分析システムは、
ユーザにより操作される入出力装置と、各々監視対象となるローカル機器に対する第１のデータ分析を行う複数のローカル分析装置と、各前記ローカル分析装置による第１のデータ分析で得られた第１の分析データを用いて第２のデータ分析を行うセンター分析装置と、前記入出力装置、複数のローカル分析装置およびセンター分析装置間を接続する接続装置とを備えたデータ分析システムであって、
（Ａ）前記データ入出力装置は、
ユーザによりコマンドを入力する入力手段と、
前記入力手段により入力されたコマンドを前記接続装置に送り、また前記接続装置からデータを受け取る第１の通信部と、
前記第１の通信部により受け取られたデータを出力するデータ出力手段とを有し、
（Ｂ）各前記ローカル分析装置は、
前記接続装置とコマンドまたはデータを送受する第２の通信部と、
前記ローカル分析装置に対応するローカル機器を観測して得られる観測データを取得するデータ取得部と、
前記データ取得部によって取得された観測データを用いて第１のデータ分析を行う第１のデータ分析コマンドを前記第２の通信部から受けて実行し、前記第１のデータ分析により得られた前記第１の分析データを前記第１のデータ分析コマンドの送出元宛に前記第２の通信部を介して送出する第１のデータ分析コマンド実行部と、
他のローカル分析装置およびセンター分析装置の少なくとも１つに前記第１の分析データを提供する第１の通信コマンドを前記第２の通信部から受けて実行し、また、他のローカル分析装置およびセンター分析装置の少なくとも１つから前記第１または第２のデータ分析により得られた第１または第２の分析データを取得する第２の通信コマンドを前記第２の通信部から受けて実行する第１の通信コマンド実行部と、
（Ｃ）前記センター分析装置は、
前記接続装置とコマンドまたはデータを送受する第３の通信部と、
各前記ローカル分析装置の少なくとも１つからあらかじめ取得した前記第１の分析データを用いて第２のデータ分析を行う第２のデータ分析コマンドを前記第３の通信部から受けて実行し、前記第２のデータ分析により得られた前記第２の分析データを前記第２のデータ分析コマンドの送出元宛に前記第３の通信部を介して送出する第２のデータ分析コマンド実行部と、
（Ｄ）前記接続装置は、
前記入出力装置、各前記ローカル分析装置および前記センター分析装置との間で、コマンドまたはデータを送受する第４の通信部と、
前記入出力装置からのコマンドを転送するべき装置を前記複数のローカル分析装置および前記センター分析装置から１つ以上選定して設定するための前記入出力装置から送られてくる転送先設定コマンドを、前記第４の通信部から受けて実行するコマンド実行部と、
前記入出力装置から送られてくる、前記転送先設定コマンドと異なるコマンドを、前記転送先設定コマンドに応じて転送設定されている各装置に前記第４の通信部を介して転送する第１の転送手段と、
各前記ローカル分析装置またはセンター分析装置から送られてくるコマンドまたはデータに対し前記コマンドまたは前記データの宛先に応じて前記第４の通信部を介して転送処理を行う第２の転送手段と、を有する、
ことを特徴とする。
【０００７】
本発明の一態様としてのデータ分析システムは、
ユーザにより操作される入出力装置と、各々監視対象となるローカル機器に対する第１のデータ分析を行う複数のローカル分析装置と、各前記ローカル分析装置による第１のデータ分析で得られた第１の分析データを用いて第２のデータ分析を行うセンター分析装置と、前記入出力装置、複数のローカル分析装置およびセンター分析装置間を接続する接続装置とを備えたデータ分析システムであって、
（Ａ）前記データ入出力装置は、
ユーザによりコマンドを入力する入力手段と、
前記入力手段により入力されたコマンドを前記接続装置に送り、また前記接続装置からデータを受け取る第１の通信部と、
前記第１の通信部により受け取られたデータを出力するデータ出力手段とを有し、
（Ｂ）各前記ローカル分析装置は、
前記接続装置とコマンドまたはデータを送受する第２の通信部と、
前記ローカル分析装置に対応するローカル機器を観測して得られる観測データを取得するデータ取得部と、
前記データ取得部によって取得された観測データを用いて第１のデータ分析を行う第１のデータ分析コマンドを前記第２の通信部から受けて実行し、前記第１の分析データを前記第１のデータ分析コマンドの送出元宛に前記第２の通信部を介して送出する第１のデータ分析コマンド実行部と、を有し、
（Ｃ）前記センター分析装置は、
前記接続装置とコマンドまたはデータを送受する第３の通信部と、
各前記ローカル分析装置の少なくとも１つからあらかじめ取得した前記第１の分析データを用いて第２のデータ分析を行う第２のデータ分析コマンドを前記第３の通信部から受けて実行し、前記第２のデータ分析により得られる第２の分析データを前記第２のデータ分析コマンドの送出元宛に前記第３の通信部を介して送出する第２のデータ分析コマンド実行部と、を有し、
（Ｄ）前記接続装置は、
前記入出力装置、各前記ローカル分析装置および前記センター分析装置との間で、コマンドまたはデータを送受する第４の通信部と、
前記入出力装置からのコマンドを転送するべき装置を、前記複数のローカル分析装置および前記センター分析装置から１つ以上選定して設定するための前記入出力装置から送られてくる転送先設定コマンドを前記第４の通信部から受けて実行するコマンド実行部と、
前記入出力装置から送られてくる、前記転送先設定コマンドと異なるコマンドを前記転送先設定コマンドに応じて転送設定されている各装置に前記第４の通信部を介して転送する第１の転送手段と、
各前記ローカル分析装置またはセンター分析装置から送られてくるコマンドまたはデータを前記コマンドまたは前記データの宛先に応じて前記第４の通信部を介して転送処理する第２の転送手段と、
前記転送先設定コマンドによって転送設定されている前記ローカル分析装置または前記センター分析装置から、前記第１または第２の分析データを取得して他のローカル分析装置およびセンター分析装置のうち少なくとも１つに提供する第５の通信コマンドを前記第４の通信部から受けて実行し、また各前記ローカル分析装置およびセンター分析装置の少なくとも１つから前記第１または第２の分析データを取得して前記転送先設定コマンドによって転送設定されている前記ローカル分析装置およびセンター分析装置に提供する第６の通信コマンドを前記第４の通信部から受けて実行する第３の通信コマンド実行部と、を有する、
ことを特徴とする。
【０００８】
本発明の一態様としてのデータ分析方法は、
ユーザにより操作される入出力装置と、各々監視対象となるローカル機器に対する第１のデータ分析を行う複数のローカル分析装置と、各前記ローカル分析装置による第１のデータ分析で得られた第１の分析データを用いて第２のデータ分析を行うセンター分析装置と、前記入出力装置、複数のローカル分析装置およびセンター分析装置間を接続する接続装置とを用いて行うデータ分析方法であって、
各前記ローカル分析装置に対応するローカル機器を観測して得られる観測データを取得する観測データ取得ステップと、
前記入出力装置から送出されるコマンドを転送するべき装置として前記複数のローカル分析装置の全部または一部を選定し、選定されたローカル分析装置を前記接続装置に対して設定する第１の選定ステップと、
前記観測データ取得ステップで取得された観測データを用いて第１のデータ分析を行う第１のデータ分析コマンドを前記入出力装置から前記接続装置に送り、前記接続装置によって前記第１の選定ステップで設定されたローカル分析装置に転送して実行させる第１の実行ステップと、
前記第１のデータ分析により得られた前記第１の分析データを前記第１のデータ分析コマンドを送ったローカル分析装置から前記接続装置を介して前記入出力装置に返送する第１の返送ステップと、
前記第１の実行ステップにおいて前記ローカル装置から得られた前記第１の分析データを、前記センター分析装置および他のローカル装置のうち１つ以上の装置に送出するステップと、
前記入出力装置から送出されるコマンドを転送するべき装置として前記センター分析装置を選定し、選定したセンター分析装置を前記接続装置に対して設定する第２の選定ステップと、
１つ以上の前記ローカル装置から受け取った第１の分析データを用いて第２のデータ分析を行う第２のデータ分析コマンドを前記入出力装置から前記接続装置に送り、前記接続装置により前記センター分析装置に転送して実行させる第２の実行ステップと、
前記第２のデータ分析により得られた第２の分析データを前記センター分析装置から前記接続装置を介して前記入出力装置に返送する第２の返送ステップと、
を備える。
【発明の効果】
【０００９】
本発明によれば、個々の監視対象機器の個体差を考慮した監視ロジックをセンター分析装置および通信負荷をできるだけ抑えつつ容易かつ高速に作成できる。
【発明を実施するための最良の形態】
【００１０】
（第１の実施形態）
図１は、本発明の一実施形態としての、各監視対象機器（ローカル機器）の個体差を反映させた監視ロジックを容易かつ高速に生成するための分散データ分析システムの構成を示す。
【００１１】
この分散データ分析システムにおいて、接続装置１１を介してローカル分析装置Ｌ１〜Ｌｎとセンター分析装置Ｃと入出力装置Ｎとが接続されている。ローカル分析装置Ｌ１〜Ｌｎには監視対象であるローカル機器＃１〜＃ｎが接続されている。
【００１２】
図２は、接続装置１１の構成を概略的に示す。
【００１３】
接続装置１１は、通信部１２と、コマンド解釈部１３と、転送先情報格納部１４と、情報取得テーブル１５とを備える。通信部１２は第４の通信部に相当し、コマンド解釈部１３はコマンド実行部、第１の転送手段、第２の転送手段に相当する。
【００１４】
転送先情報格納部１４は、入出力装置Ｎから送出されるコマンドを転送するべきデータ分析装置（センター装置とローカル分析装置を総称してデータ分析装置と呼ぶ）を記述したビット列を格納する。図６は転送先情報格納部１４の内容の一例を示す。C123456789 の計１０個のフィールドと、各フィールドに対応したビット値とが示される。各ビットは、センター分析装置Cおよびローカル分析装置L1~L9に対し、入出力装置Ｎからのコマンドを転送するか否かを表している。
【００１５】
コマンド解釈部１３は、通信部１２を介して入出力装置Ｎからconnectコマンド（転送先設定コマンド）とregisterコマンドを受け取る。入出力装置Nは、接続装置１１と通信する第１の通信部と、ユーザによりコマンドを入力する入力手段と、データをユーザに出力（たとえば表示）するデータ出力手段と、を有している。コマンド解釈部１３は、入出力装置Nから受け取ったこれらのコマンドconnectおよびregisterを解釈および実行する。コマンド解釈部１３は、connectコマンドとregisterコマンド以外の他のコマンドを入出力装置Nから受け取ったときは、受け取ったコマンドを転送先情報格納部１４においてフィールドに１が立っている転送先（ローカル分析装置Ｌ１〜Ｌｎ、センター装置Ｃ）に通信部１２を介してフォワード（ブロードキャスト）する。
【００１６】
connectコマンドとregisterコマンド以外の他のコマンドにはヘッダとして送信元（たとえば入出力装置）の情報が付加されており、コマンドの受信側はどの相手からコマンドが送られてきたのかを認識することができる。コマンドの受信側ではそのコマンド（たとえばデータ分析コマンド）の実行結果（たとえばデータの分析結果）を送信元に返すものとする。この場合には受信側は、直接、宛先を指定して実行結果を返し、上記実行結果は、宛先に従って配信される。つまり、データ分析装置から送信する、入出力装置、接続装置、他のデータ分析装置を宛先とするコマンドおよびデータ（これらを総称してメッセージと呼ぶ）は以下のようにして送られる。
【００１７】
入出力装置およびデータ分析装置間でやり取りされるメッセージ（コマンドおよびデータ）には(i)インダイレクトメッセージと(ii)ダイレクトメッセージの二種類がある。メッセージの種類は、メッセージの先頭に付加されたメッセージ識別フラグで区別される。インダイレクトメッセージの宛先は、転送先情報格納部１４の値（ビット列）に従う。一方、ダイレクトメッセージには、メッセージ識別フラグの後に宛先情報の記述があり、転送先情報格納部１４の値とは関係なく、宛先情報に記載された宛先にメッセージがコマンド解釈部１３によって転送処理される（なお当然ながら接続装置が宛先の場合はこれより先には送信されない）。メッセージ識別フラグはデータ分析装置によって自動的にされるものでユーザが付加するものではない。上述したように、ユーザにより入力された、connect,register以外のコマンドは転送先情報格納部１４の値に応じた宛先にコマンド解釈部１３によって転送され、したがって、ユーザの入力するコマンドはインダイレクトメッセージである。データ分析装置がデータ分析を行った結果を返送するメッセージ、および後述するPut、Getコマンドのようなデータ分析装置間で相手を決めて直接的にデータの受け渡しを行なうメッセージは、ダイレクトメッセージである。したがって、データ分析装置は宛先をメッセージに付加して接続装置１１に送り出し、コマンド解釈部１３がこれを転送処理することで、所望の相手にメッセージを届ける。
【００１８】
情報取得テーブル１５は、３つのテーブル、すなわち“名前−転送ビットテーブル”、“グループ−転送ビットテーブル”、“変数−コマンドテーブル”を含む。これら３つのテーブルの一例を図５（Ａ）〜図５（Ｃ）に示す。
【００１９】
図５（Ａ）の名前−転送ビットテーブルは、データ分析装置の名称と、転送先情報格納部１４に格納されたビット列における当該データ分析装置のビット位置との対応を格納する。たとえば名前−転送ビットテーブルにおけるＬ２に対応する値は２であるため、転送先情報格納部１４におけるデータ分析装置Ｌ２のビット位置は２番目（図６で左から３番目（一番左は０番目とする）である。
【００２０】
図５（Ｂ）のグループ−転送ビットテーブルは、１つまたは複数のデータ分析装置からなるグループに与えられたグループ名と、グループに属する各データ分析装置との対応を格納する。より詳細には、グループ名と、グループに属する各データ分析装置のビット位置を１としそれ以外のデータ分析装置のビット位置を０としたビット列との対応を格納する。たとえばグループLallはビット列“0111111111”をもつため、グループLallに属するデータ分析装置は、データ分析装置L1〜L9であり、また、グループCV60はビット列“0100000011”をもつため、グループCV60に属するデータ分析装置は、データ分析装置L1、L8、L9である。
【００２１】
図５（Ｃ）の変数−コマンドテーブルは、入出力装置Ｎから受け取ったコマンド（connectあるいはregister）の引数に与えられることのできる変数と、データ分析装置により実行可能な分析コマンドとの対応を格納する。変数−コマンドテーブルはたとえばコマンドテーブルに相当する。
【００２２】
上述したようにコマンド解釈部１３は、通信部１２を介して入出力装置Ｎから受け取ったconnectコマンドとregisterコマンドを解釈および実行する。connectコマンドおよびregisterコマンドに基づくコマンド解釈部１３の動作を以下に説明する。
【００２３】
まずconnectコマンドを実行するときのコマンド解釈部１３の動作について説明する。
【００２４】
connectコマンドは、引数に値または条件式をとる。
【００２５】
connectコマンドの引数が値の場合は、まず、図５（Ａ）の名前−転送ビットテーブルにおける名称フィールドを引数の値をキーとして検索し、引数の値が存在するかどうかを調べる。検索がヒットした場合は、ヒットしたエントリに含まれるビット位置を名前−転送ビットテーブルから取得し、取得したビット位置における転送先情報格納部１４の転送ビットに１を立て、残りのビット位置をクリアする（０にする）。名前−転送ビットテーブルに引数の値がない場合は、図５（Ｂ）のグループ−転送ビットテーブルのグループ名を、引数の値をキーとして検索する。検索がヒットした場合は、ヒットしたエントリに含まれるビット列をコピーし転送先情報格納部１４に上書きする。名前−転送ビットテーブル、グループ−転送ビットテーブルのいずれにおいても検索がヒットしない場合は、入出力装置Ｎを介してユーザにエラーを返す。
【００２６】
例えば、ユーザが入出力装置Ｎにコマンドconnect(L2)と入力したとする。この入力されたコマンドconnect(L2)は通信部１２を介してコマンド解釈部１３に渡される。コマンド解釈部１３は引数L2が値（条件式でない）なのでまず図５（Ａ）の名前−転送ビットテーブルを検索し、該テーブルにはL2のエントリが存在するため、検索はヒットし、ヒットしたエントリに含まれるビット位置２を得る。そして、取得したビット位置２に基づき、転送先情報格納部１４の左から３番目のビットを１とし、残りの位置のビットをクリアする（０にする）。またユーザがconnect(CV60)と入力した場合は、コマンド解釈部１３は、まず図５（Ａ）の名前−転送ビットテーブルを引数CV60により検索するものの検索がヒットしないため、次に図５（Ｂ）のグループ−転送ビットテーブルを検索する。検索はヒットし、該テーブルにおいてCV60をもつエントリが発見され、発見されたエントリに含まれるビット列“1100000011”を得る。そして取得したビット列“1100000011”によって転送先情報格納部１４を上書きする。
【００２７】
一方、connectコマンドの引数が条件式の場合は、条件式から変数（この変数はたとえば第１のデータ分析コマンドの識別子にも相当する）を検出し、検出した変数をキーとして、図５（Ｃ）の変数−コマンドテーブルの変数フィールドを検索する。検索がヒットしない場合は、入出力装置Ｎを介してユーザにエラーを返す。検索がヒットした場合は、検索されたエントリに含まれるコマンドを転送先情報格納部１４におけるビット列によって指定されたデータ分析装置に通信部１２を介して送信し、データ分析装置から返されるコマンド実行の結果を表す値を上記条件式の変数の値として上記条件式が満たされるかどうかを検査し、条件式を満たすデータ分析装置に関しては、転送先情報格納部１４のビットを１にし（すなわち１のまま維持する）、満たさない場合は０にする（１から０に変更する）。
【００２８】
例えば、ユーザが入出力装置Ｎにコマンドconnect(α>1.5)を入力したとする。このコマンドconnect(α>1.5)は通信部１２を介してコマンド解釈部１３に渡される。コマンド解釈部１３は、条件式α>1.5に含まれる変数αをキーとして図５（Ｃ）の変数−コマンドテーブルを検索する。検索はヒットし、αに対応づけられたprint αというコマンドを取得する。そして、取得したコマンドprintαを通信部１２を介して、転送先情報格納部１４におけるビットが１であるデータ分析装置に送る。コマンドprintαを受け取ったデータ分析装置はprint αを実行し、コマンドの実行結果（変数αの値）を接続装置１４に返す。コマンド解釈部１３は、通信部１２を介してデータ分析装置からprintαの実行結果を受け取り、受け取った実行結果をαとして用いる。コマンド解釈部１３は、実行結果を返した各データ分析装置に対して、上記条件式α>1.5が満たされるかどうかを検査する。そしてこの条件式を満たすデータ分析装置に関しては、転送先情報格納部１４におけるビットを1に維持し、そうでなければ０に変更する。
【００２９】
また、ユーザが入出力装置Ｎにコマンドconnect(β>1.5)を入力した場合は以下のようになる。条件式β>1.5に含まれる変数βをキーとして図５（Ｃ）の変数−コマンドテーブルを検索し、検索の結果、β（第１のデータ分析コマンドの識別子）に対応づけられた、
res<-lm(y~x+z)
smry<-summary(res)
print(smry$sigma)
という各コマンドを取得する。これらのコマンドはS言語で記述された命令の例である。１行目はベクトル変数ｙをxとzで回帰した際の回帰変数や残差ベクトル等の結果を変数resに入れるコマンド、２行目はresから残差ベクトルの標準偏差(以降、単に残差と書く)や相関係数を計算しsmryに入れるコマンド、３行目はsmryの中から残差(この例ではsmry$sigmaという変数)を出力するコマンドである。コマンド解釈部１３は、図５（Ｃ）の変数−コマンドテーブルの検索により取得したこれらのコマンドを転送先情報格納部１４におけるビットが１であるデータ分析装置に送信する。各データ分析装置で得られた残差のデータが接続装置１４へと返信され、返信された残差（＝β）が1.5と比較される。条件式β>1.5を満たすデータ分析装置は転送先情報格納部１４におけるビットが１に維持され、そうでないデータ分析装置はビットが０に変更される。
【００３０】
次に、Registerコマンドを実行するときのコマンド解釈部１３の動作について説明する。
【００３１】
Registerコマンドは、引数にグループ名をとる。コマンド解釈部１３は、入出力装置Ｎから通信部１２を介してRegisterコマンドを渡されると、Registerコマンドに含まれる引数で与えられたグループ名と、転送先情報格納部１４に現在格納されているビット列とを対応付けて図５（Ｂ）のグループ−転送ビットテーブルに登録する。
【００３２】
図３は、ローカル分析装置の構成を示す。図４は、センター分析装置の構成を示す。
【００３３】
ローカル分析装置およびセンター分析装置は、通信部２１と、コマンド判定部２２と、データ分析コマンド実行部２３と、通信コマンド実行部２４とを有する。ローカル分析装置は、さらにデータ取得部２５を有し、この点が、センター分析装置と異なる。それ以外の要素については同一であるため、同一の符号を付して重複する説明は省略するものとする。
【００３４】
ローカル分析装置におけるデータ取得部２５は、ローカル機器を観測する複数のセンサにより観測された観測値（観測データあるいはセンサデータ）を時系列に取得する。データ取得部は、複数のセンサから取得した観測データを記憶する記憶手段を有してもよい。取得された観測データはデータ分析コマンド実行部２３により行われるデータ分析（たとえば予測モデルの生成、監視ロジックの生成、監視ロジックの評価など）に用いられる。
【００３５】
コマンド判定部２２は、接続装置１１から通信部２１を介して各種のコマンドを受け取り、受け取ったコマンドのうち、put命令（putコマンド）またはget命令（getコマンド）である通信コマンドについては通信コマンド実行部２４へと渡し、通信コマンド以外のコマンド（たとえば前述したres<-lm(y~x+z)、smry<-summary(res)、print(smry$sigma)のようなデータ分析コマンド）はデータ分析コマンド実行部２３へ渡す。
【００３６】
ここでローカル分析装置における通信コマンド実行部２４はたとえば第１の通信コマンド実行部に相当し、ローカル分析装置におけるデータ分析コマンド実行部２３はたとえば第１のデータ分析コマンド実行部に相当する。ローカル分析装置の通信コマンド実行部２４で実行されるputコマンドはたとえば第１の通信コマンドに相当し、ローカル分析装置の通信コマンド実行部２４で実行されるgetコマンドはたとえば第２の通信コマンドに相当する。ローカル分析装置におけるデータ分析コマンド実行部２３はたとえばデータ取得部２５で取得された観測データをもとに第１のデータ分析コマンドを実行して第１のデータ分析を行い、第１の分析データを得る。
【００３７】
センター分析装置における通信コマンド実行部２４はたとえば第２の通信コマンド実行部に相当し、センター分析装置におけるデータ分析コマンド実行部２３はたとえば第１のデータ分析コマンド実行部に相当する。センター分析装置の通信コマンド実行部２４で実行されるputコマンドはたとえば第４の通信コマンドに相当し、センター分析装置の通信コマンド実行部２４で実行されるgetコマンドはたとえば第３の通信コマンドに相当する。センター分析装置におけるデータ分析コマンド実行部２３はたとえばローカル分析装置で得られた第１の分析データをもとに第２のデータ分析コマンドを実行して第２のデータ分析を行い、第２の分析データを得る。
【００３８】
図７は、put命令およびget命令について詳細に説明する図である。
【００３９】
put命令は３つの引数dst, var1, var2をとる。dstは送信先のデータ分析装置を表し、var1は送信先に送信する変数（送信データ）を表し、var2は送信先において書き込まれる変数（受信データ）を表す。例えば、put(L2,x,x)は、putコマンドを実行しているデータ分析装置の変数x（putコマンドにおける左側のｘ）をデータ分析装置L2のx（putコマンドにおける右側のｘ）へと書き込むことを指示する。またput(Lall,x,x)は、putコマンドを実行しているデータ分析装置の変数xを全てのローカル分析装置(Lall)へとブロードキャストしてそれぞれの変数ｘに書き込むことを指示する（図５（Ｂ）参照）。
【００４０】
get命令は３つの引数src, var1, var2をとる。Srcは送信元のデータ分析装置を表し、var1は送信元から送信する変数（送信データ）を表し、var2は送信元から書き込まれる変数（受信データ）を表す。例えば、get(L2,x,x)は、データ分析装置L2の変数x（getコマンドにおける左側のｘ）をgetコマンドを実行しているデータ分析装置の変数x（getコマンドにおける右側のｘ）へと書き込むことを指示する。またget(Lall,x,x[#])は、全てのローカル分析装置(Lall)の変数xを、getコマンドを実行しているデータ分析装置の変数x[#]へと書き込むことを指示する。ここで#はデータ分析装置番号を表す。したがって、データ分析装置L1のxはx[L1]へ、データ分析装置のL2のxはx[L2]へと書き込まれることとなる。
【００４１】
上述したようにputコマンドおよびgetコマンドは、各データ分析装置内の通信コマンド実行部２４によって解釈および実行され、以下のようにして実現される。putコマンドを受け取り実行するデータ分析装置の通信コマンド実行部２４は、putコマンドの引数dstに示される送信先のデータ分析装置に、データを書き込むことを指示するデータ書込みコマンドを送付し、次いで書き込むべきデータを送信する。送信先のデータ分析装置における通信コマンド実行部２４はこのデータ書込みコマンドを解釈し、putコマンドを実行したデータ分析装置から送られてきたデータをデータ書込コマンドに示される変数に書き込む。getコマンドの実現も同様である。getコマンドを受け取り実行するデータ分析装置の通信コマンド実行部２４は、getコマンドの引数srcに示される送信元のデータ分析装置に対してデータ送信コマンドを送信し、送信元のデータ分析装置はこのデータ送信コマンドを解釈および実行して、データ送信コマンドに示される変数（データ）を、getコマンドを実行したデータ分析装置に送信する。getコマンドを実行するデータ分析装置における通信コマンド実行部２４は送信元のデータ分析装置から受け取ったデータを、getコマンドの引数に示される変数に格納する。先にも述べたようにputコマンドおよびgetコマンドはダイレクトメッセージ方式で相手側に送信される。
【００４２】
ここではputコマンド, getコマンドの実現をコマンドベースで説明したが、非同期通信で実現することも可能である。つまり、本発明では、コマンドベースおよび非同期通信のいずれも適用可能である。たとえばgetコマンドを例にとると、コマンドベースの場合、引数srcに示される送信元のデータ分析装置に対してデータの送出をコマンド（要求コマンド）で要求するが、非同期通信の場合では、要求データにより、データの送出を要求してもよい。要求コマンドまたは要求データを受けたデータ分析装置は、要求コマンドまたは要求データによって要求されるデータを送り返せばよい。データ分析装置は、要求コマンドまたは要求データによって要求されるデータを返送する返送手段を備えている。要求コマンドによって要求されるデータの応答は要求コマンドを通信コマンド実行部２４が実行して行ってもよい。
【００４３】
図８は、全てのローカル機器＃１〜＃ｎでセンサにより検出されたセンサデータ（観測データ）を、各ローカル機器が接続されたローカル分析装置Ｌ１〜Ｌｎで分析して監視ロジックを生成し、生成した監視ロジックのパラメータをセンター分析装置Ｃに送信してセンター分析装置Cにおいて評価する例（分析例１）を示す。x, y, zは各ローカル機器におけるセンサX, Y, Zの時系列データであり、Yが監視対象センサであるとする。
【００４４】
あらかじめユーザは入出力装置Ｎを用いてコマンドconnect(Lall)を接続装置１１に送信し、接続装置１１におけるコマンド解釈部１３がこのコマンドを解釈および実行する。実行の結果、接続装置１１の転送先が全てのローカル機器＃１〜＃ｎに設定され（ｎ＝９の場合は転送先情報格納部３３に“0111111111”が格納され）、入出力装置Ｎのコマンドプロンプト画面には「Lall＞」が表示される。
【００４５】
次にユーザが「Lall＞」の右側に１行目のコマンドres<-lm(y~x+z)を入力し、このコマンドを接続装置１１に送信する。このコマンドを受け取った接続装置１１におけるコマンド解釈部１３は、このコマンドが上述したconnectコマンドまたはregisterコマンドではないため、自ら実行するものでないと判断し、このコマンドを全てのローカル分析装置に通信部１２を介して転送する。各ローカル分析装置におけるコマンド判定部２２は接続装置１１から転送されたコマンドがデータ分析コマンドであると判定してデータ分析コマンド実行部２３に渡す。データ分析コマンド実行部２３は、コマンド判定部２２から渡されたこのコマンドを解釈および実行する。このコマンドres<-lm(y~x+z)の実行により、ベクトル変数ｙがxとzで回帰され、回帰により得られた回帰変数や残差ベクトル等を含むＹの予測モデルが生成され、予測モデルを含むセンサＹの監視ロジックが変数resに入れられる。つまり1行目で分析者は全ての分析装置に接続し（転送先として設定し）、YをXとZで回帰するモデルを生成し、さらにこのモデルを用いた監視ロジックy~N(a+bx+cz,σ)を分析装置毎に作成している。すなわち、ある観測値x, y, zが与えられたとき、回帰モデルによってxとzからyを予測し、予測値（すなわちa+bx+cz）から±nσの範囲内にyが入っていたらそのyの値は正常、そうでなければ異常と判定できる。パラメータnはユーザが決める。
【００４６】
次にユーザは、コマンドプロンプト画面の２行目において、「Lall＞」の右側にコマンドput(C, res, res[#])を入力しこのコマンドを接続装置１１に送信する。このコマンドを受け取った接続装置１１におけるコマンド解釈部１３はこのコマンドを全てのローカル分析装置に通信部１２を介して転送する。各ローカル分析装置におけるコマンド判定部２２は、接続装置１１から転送されたコマンドが通信コマンドであると判定してこのコマンドを通信コマンド実行部２４に渡す。通信コマンド実行部２４は、コマンド判定部２２から渡されたコマンドを解釈および実行する。このコマンドput(C, res, res[#])の実行により、各ローカル分析装置のデータ分析コマンド実行部２３で得られた変数resがセンター装置Ｃへ送信され、センター装置Ｃにおける各ローカル分析装置に対応する変数res[#]に格納される。すなわち１行目のコマンドで作成された個々の監視ロジックのパラメータが、２行目のコマンドの実行によりセンター分析装置へと送信される。
【００４７】
次にユーザは、コマンドプロンプト画面の３行目において、「Lall＞」の右側に、コマンドconnect(C)を入力しこのコマンドを接続装置１１に送信する。接続装置１１におけるコマンド解釈部１３はこのコマンドを受け取って解釈および実行する。実行の結果、接続装置１１の転送先が全てのローカル機器＃１〜＃ｎからセンター装置Ｃのみに変更され（ｎ＝９の場合は転送先情報格納部３３に“1000000000”が格納され）、入出力装置Ｎのコマンドプロンプト画面には「C＞」が表示される。すなわち入出力装置Ｎは転送先がすべてのローカル分析装置からセンター分析装置Ｃに変更される。
【００４８】
次にユーザは、コマンドプロンプト画面の４行目において、「C＞」の右側に、コマンドplot(res)を入力しこのコマンドを接続装置１１に送信している。接続装置１１におけるコマンド解釈部１３はこのコマンドを受け取ってセンター装置Ｃに転送する。センター装置Ｃにおけるコマンド判定部２２はこのコマンドをデータ分析コマンド実行部２３に渡す。データ分析コマンド実行部２３はコマンド判定部２２から渡されたコマンドを解釈および実行する。このコマンドplot(res)の実行により、引数resに含まれる各種のパラメータ（予測モデルのパラメータ）の分布がプロットされるとともに、プロットされたグラフデータが接続装置１１を介して入出力装置Ｎに送られ、表示される。すなわち各ローカル分析装置で得られた監視ロジックのパラメータを可視化している。
【００４９】
図８の下段に示されたグラフは、全てのローカル分析装置で生成された予測モデルの係数a, b, cの分布および、a, b, cの3次元空間上での分布を表すものである。この分布を見ることで、各ローカル分析装置で生成された監視ロジック（ここでは監視ロジックに含まれる予測モデル）の偏りを判断することができる。たとえば、各係数a, b, cの分布において、この分布から著しく外れている係数a,b,cを持つローカル機器(例えばp点を出力したローカル分析装置のローカル機器)は、何らかの特異性あるいは異常性を持っていると判断することができる。この後、分析者はp点を出力したローカル分析装置に接続し、詳細なデータを眺めながら、係数a,b,cをそのまま採用するか、新しい監視ロジックを作成しなおすのかを判断する。このようにして、個々の監視対象機器の個体差を反映させた監視ロジックを生成することが可能となる。また、センター分析装置では各ローカル機器のセンサデータを従来のように収集する必要はなく、上述の例のように、データ量の少ない監視ロジックまたは予測モデルのパラメータのみを取得すればよいため、このような個々の監視対象機器の個体差を反映させた監視ロジックを、センター分析装置および通信負荷を抑えて、容易かつ高速に作成することが可能となる。なお、背景技術の欄で掲げた特開２００１−１６７０９８公報は、同一のデータに、あらかじめ決められた同一の処理を施すことを前提としているため、異なる監視対象機器のデータに対して、分析者が対話的に分析作業を実施しながら個体差を考慮した監視ロジックを生成することは困難である
図９は、一台のローカル分析装置で監視ロジックを生成し、その監視ロジックの当てはまり具合を残りのローカル分析装置で検証している例（分析例２）を示す。 
ユーザはローカル分析装置L1に接続し、各種のデータ分析コマンドを用いて試行錯誤しながら、ローカル分析装置L1に接続されたローカル機器＃１で検出されたセンサデータの分析を行う(試行錯誤の過程は図９では最初の3行に省略して記述してある)。
【００５０】
そしてセンサYの監視ロジックは、センサXとZから生成したYの予測モデルを用いるのが良いと判明し、この予測モデルを用いた監視ロジックをセンサYに対して生成したとする。すなわち４行目のコマンドresL1<- lm(y~x+z)を入出力装置Nから入力しローカル分析装置L１に実行させることによりローカル分析装置L1の予測モデルを含む監視ロジックを生成しresL1に代入している。x, y, zはそれぞれセンサX, Y, Zの時系列データである。
【００５１】
この予測モデルを他のローカル機器のセンサデータに当てはめた際の残差σの分布を調べるため、5行目のコマンドput(Lall, resL1, resL1)を入出力装置Nから入力し、ローカル分析装置L1に実行させることにより、監視ロジックのパラメータを含むresL1を、ローカル分析装置L1から他のすべてのローカル分析装置に送っている（このresL1はローカル分析装置L1にも送り返されるためローカル分析装置L１が保持しているresL1は送り返された同じデータで上書きされる。もしくは自分宛のデータ送信は省略するようにしてもよい）。
【００５２】
次に、6行目のコマンドconnect(Lall)を入出力装置Nから入力し、接続装置１１に実行させることにより、ユーザの入出力装置Ｎを全てのローカル分析装置に接続する。7行目のコマンドsigma <- predict(resL1, local_data)を入出力装置Nから入力し、すべてのローカル分析装置に実行させることにより、個々のローカル分析装置におけるデータ取得部２５により取得されたセンサデータ（local_data）と、監視ロジックresL1に含まれる予測モデルとを利用して、残差σを求め、sigmaに代入する。
【００５３】
次に8行目のコマンドput(C, sigma, sigma[#])を入出力装置１１から入力し、すべてのローカル分析装置に実行させることにより、各ローカル分析装置で得られた残差を各ローカル分析装置からセンター分析装置に送る。そして、9行目のコマンドconnect(C)を入出力装置１１から入力し、接続装置１１に実行させることにより入出力装置Ｎをセンター分析装置Ｃに接続する。10行目のコマンドplot(sigma)を入出力装置Nから入力し、センター分析装置Cに実行させることにより、各ローカル分析装置で得られた残差の分布をプロットする。プロットされた残差の分布のグラフはローカル分析装置から入出力装置Nに接続装置１１を介して送られ、入出力装置Ｎはセンター分析装置から接続装置１１を介して受け取った残差の分布のグラフを表示する（図９の下段参照）。
【００５４】
このグラフを見ることで、ローカル分析装置Ｌ１で生成された監視ロジックのほかのローカル分析装置での当てはまり具合を視覚的に理解することができる。たとえば、監視ロジックを生成したローカル分析装置Ｌ１における残差が、グラフ（頻度分布）の山の位置におよそ一致していれば、ローカル分析装置L1で生成した監視ロジックは、他のローカル機器に対して適用しても問題ないことがわかり、逆に大きく外れている場合は、そのまま適用してはいけないことがわかる。たとえば監視ロジックに用いる予測モデルを変更（xとzでyを回帰していたが、これとは別の方法で予測モデルを生成する）しなければならないと判断できる。
【００５５】
ここで 図９の１０行目のコマンドplot(sigma)の実行後、コマンドconnect(Lall), connect(sigma>1.5)を入出力装置Nから入力し、接続装置１１に順次実行させたとする。図５（Ｃ）の変数−コマンドテーブルには変数sigmaに対応するコマンドとしてprint(sigma)が格納されているものとする（図示せず）。connect(sigma>1.5)の実行により、入出力装置Ｎの転送先が、全てのローカル分析装置から、残差sigmaが1.5より大きいローカル分析装置に変更される。変更後の転送先であるローカル分析装置は、他のローカル分析装置と比べて残差が大きいものである。変更後の転送先であるローカル分析装置は、たとえばそのままローカル分析装置Ｌ１で得られた監視ロジックを適用してよいかどうか検証する必要がある分析装置である。この後、ユーザは更なる詳しい分析作業を続けていくことになるが、転送先を分析装置名で明示的に指定するのではなく条件で指定できるので、ユーザの分析作業の負荷が軽減することが可能となる。
【００５６】
（第２の実施形態）
第１の実施形態では、データ分析装置（ローカル分析装置、センター分析装置）が通信コマンド実行部を持ち、この通信コマンド実行部がputコマンドやgetコマンドを実行することで、自分の変数の値を他のデータ分析装置の変数に書き込む機能や、他のデータ分析装置の変数の値を自分の変数に書き込む機能を実現していた。これに対し、本第２の実施形態では、これらの機能をデータ分析装置ではなく、接続装置に設けたことを特徴とする。
【００５７】
図１１は、本実施形態に係わる接続装置の構成を示す。
【００５８】
図１１の接続装置は、通信部３１、コマンド解釈部３２、転送先情報格納部３３、情報取得テーブル３４に加えて、通信コマンド実行部３５を持つ。通信部３１、転送先情報格納部３３および情報取得テーブル３４は第１の実施形態で示した接続装置と同様の機能を有するが、コマンド解釈部３２は通信コマンドを受信すると、そのコマンドを通信コマンド実行部３５へとフォワードする。通信コマンド実行部３５は、たとえば第３の通信コマンド実行部に相当する。通信コマンド実行部３５において実行されるputコマンドは第５の通信コマンドに相当し、通信コマンド実行部３５において実行されるgetコマンドは第６の通信コマンドに相当する。
【００５９】
通信コマンド実行部３５が、たとえば通信コマンドとしてput(dst, var1, var2)を受け取り、このコマンドを実行するとする。コマンドの実行により、通信コマンド実行部３５は、転送先情報格納部３３を検索し、1が立っているデータ分析装置に対して、変数var1を出力するコマンド（命令）を送信する。通信コマンド実行部３５は、１が立っているデータ分析装置からvar1を受信し、dstに示されるデータ分析装置に対して、受信したvar1を、dstのデータ分析装置のvar2に代入する変数代入コマンドを発行および送出する。
【００６０】
例えば、通信コマンド実行部３５においてput( L2, x, x )が実行され、このとき転送先情報格納部３３においてL3に対してのみ１が立っていたとする。この場合、通信コマンド実行部３５はデータ分析装置L3に対してコマンドprint xを送り、データ分析装置L3から変数xを取得する(ここでは例えばxが1.28だったとする)。通信コマンド実行部３５は、取得した変数xに基づきコマンドx<-1.28をデータ分析装置L2に対して発行し、このコマンドx<-1.28がデータ分析装置L2で実行されて、データ分析装置L2における変数xに値1.28が書き込まれる。またput( L2, x, x[#] )が実行され、このとき転送先情報格納部３３においてビット１が複数のデータ分析装置に対して立っていたとすると、これらのデータ分析装置にコマンドprint xを送って変数xを取得し、各データ分析装置から取得した変数xを、データ分析装置L2におけるx[#]（配列変数）に書き込む。なお#はデータ分析装置の名前である。
【００６１】
一方、通信コマンド実行部３５が、通信コマンドとして、get(src, var1, var2)を受け取り、このコマンドを実行するとする。コマンドの実行により、通信コマンド実行部３５は、srcに示されるデータ分析装置に対し、変数var1を送信するコマンドを送信する。通信コマンド実行部３５は、このデータ分析装置から変数var1を受信し、転送先情報格納部３３においてビット1が立っているデータ分析装置に対して、受信した変数var1をvar2に代入する変数代入コマンドを発行する。
【００６２】
例えば、通信コマンド実行部３５においてget(L2,x,x)が実行され、このとき転送先情報格納部３３においてL3に対してのみ1が立っていたとする。この場合、通信コマンド実行部３５はデータ分析装置L2に対してprint xを送り、データ分析装置L2から変数xを取得する（ここでは例えばxが2.46だったとする）。通信コマンド実行部３５は、取得した変数xに基づきコマンドx<-2.46をデータ分析装置L3に対して発行し、このコマンドx<-2.46がデータ分析装置L3で実行されて、データ分析装置L3にける変数xに値2.46が書き込まれる。またget(L3,x[#],x)が実行され、このとき転送先情報格納部３３におけるビット１が複数のデータ分析装置に対して立っていた場合は、データ分析装置L3からx[#]という配列変数の値を取得し、データ分析装置L3から取得した値x[#]をデータ分析装置#の変数xへと書き込む。ここで#は転送先情報格納部３３においてビット１が立っていたデータ分析装置の名前である。
【００６３】
第１の実施形態で示した分析例１、２は、第２の実施形態でも同様に実施することが可能である。このとき、第２の実施形態におけるデータ分析装置は、第１の実施形態のデータ分析装置と異なり、特殊な通信コマンドを実行する機能を有する必要がないというメリットがある。
【００６４】
(第３の実施形態)
第１および第２の実施形態では、各ローカル分析装置は同一種類の装置であることを前提としたが、各ローカル分析装置がそれぞれ異なる種類の装置の場合では、各装置で実行可能なデータ分析コマンドが異なる場合がある。第３の実施形態では、ローカル分析装置ごとに実行可能なデータ分析コマンドの差異を吸収するために、接続装置における情報取得テーブルを拡張したことを特徴とする。
【００６５】
図１０は、本実施形態にかかわる情報取得テーブルを示す。
【００６６】
この情報取得テーブルは、図１０（Ａ）に示す名前−転送ビットテーブルと、図１０（Ｂ）に示すグループ−転送ビットテーブルと、図１０（Ｃ）に示す変数−コマンド拡張テーブルと、図１０（Ｄ）に示すデータ分析装置種別テーブルとを含む。図１０（Ａ）および図１０（Ｂ）のテーブルは第１の実施形態で説明した図５（Ａ）および図５（Ｂ）と同一であるため説明を省略する。
【００６７】
図１０（Ｄ）のデータ分析装置種別テーブルは、個々のデータ分析装置のタイプを管理する。本例の場合、データ分析装置（センター分析装置）Cと、データ分析装置（ローカル分析装置）8,9がタイプMの分析装置であり、データ分析装置（ローカル分析装置）1〜7がタイプSの分析装置である。
【００６８】
図１０（Ｃ）の変数−コマンド拡張テーブルは、第１の実施形態で示した図５（Ｃ）の変数−コマンドテーブルを拡張したものである。図５（Ｃ）のテーブルでは、変数ごとに特定のコマンドを対応づけていたが、図１０（Ｃ）のテーブルでは、変数ごとに対応づけるコマンドをタイプに応じて異ならせている。
【００６９】
図１０（Ｃ）および図１０（Ｄ）のテーブルを用いたコマンドの実行例を示すと以下の通りである。
【００７０】
入出力装置Ｎをすべてのデータ分析装置に接続した状態で、connect(α>1.5)を入力装置Ｎから入力し、接続装置１１において実行したとする。このとき、タイプＳのデータ分析装置1〜7には図１０に示すようにコマンドprint(α)が送られ、データ分析装置C、8、9には“α”というコマンドが送られる。ここで“α”というコマンドはαの値を出力（送出）することを指示するコマンドである。
【００７１】
またconnect(β>1.5)を実行したとすると、タイプSおよびタイプMのデータ分析装置には、図１０に示すように変数−コマンド拡張テーブルに記述されたそれぞれ異なるコマンド群が送信されることになる。
【００７２】
このように、本実施形態では、情報取得拡張テーブルを拡張することにより、データ分析装置間の差異を吸収した、転送先選定およびデータ分析が可能となる。
【図面の簡単な説明】
【００７３】
【図１】本発明の一実施形態にかかわる分散データ分析システムの構成を示す図
【図２】第１の実施形態にかかわる接続装置の構成を示す図
【図３】第１の実施形態にかかわるデータ分析装置の構成を示す図
【図４】第１の実施形態にかかわるセンター分析装置の構成を示す図
【図５】第１の実施形態にかかわる情報取得テーブルの構成を示す図
【図６】第１の実施形態にかかわる転送先情報格納部の構成を示す図
【図７】通信コマンドの例を示す図
【図８】図１のシステムを用いて行ったデータ分析例１を示す図
【図９】図１のシステムを用いて行ったデータ分析例２を示す図
【図１０】情報取得テーブルの拡張例を示す図
【図１１】第２の実施形態にかかわる接続装置の構成を示す図
【符号の説明】
【００７４】
Ｃ：センター分析装置
Ｎ：入出力装置
Ｌ１〜Ｌｎ：ローカル分析装置
＃１〜＃ｎ：ローカル機器
１１：接続装置
１２、２１、３１：通信部
１３、３２：コマンド解釈部
１４、３３：転送先情報格納部
１５、３４：情報取得テーブル
２２：コマンド判定部
２３：データ分析コマンド実行部
２４、３５：通信コマンド実行部
【図１】
0005075517.tif 000002
【図２】
0005075517.tif 000003
【図３】
0005075517.tif 000004
【図４】
0005075517.tif 000005
【図５】
0005075517.tif 000006
【図６】
0005075517.tif 000007
【図７】
0005075517.tif 000008
【図８】
0005075517.tif 000009
【図９】
0005075517.tif 000010
【図１０】
0005075517.tif 000011
【図１１】
0005075517.tif 000012