(57)【要約】      （修正有）【課題】簡易、かつ、高精度に監視対象を監視する。【解決手段】監視装置２０２は、時間帯ごとの監視対象装置１００の処理能力を示す第１の学習データ群と、監視対象装置への入力データの数に応じた入力数帯ごとの監視対象装置の処理能力を示す第２の学習データ群と、を記憶する記憶デバイス２０６を有する。分析プログラム２５３は、複数の時間帯の中の分析対象時間帯での監視対象装置の処理能力を示す分析対象データを取得し、第１の学習データ群のうち分析対象時間帯と同一時間帯での第１の特定の学習データと、第２の学習データ群のうち分析対象時間帯での監視対象装置への入力データの数が含まれる入力数帯と同一入力数帯での第２の特定の学習データとを比較して、第１の特定の学習データと第２の特定の学習データとのうちいずれか一方の特定の学習データを選択し、選択された特定の学習データと分析対象データとに基づいて、監視対象装置を分析する。【選択図】図２
2016224799.tif 000002
【特許請求の範囲】
【請求項１】
監視対象装置を監視する監視装置であって、
前記監視装置は、プログラムを実行するプロセッサと、前記プログラムを記憶するメモリと、時間帯ごとの前記監視対象装置の処理能力を示す第１の学習データ群と、前記監視対象装置への入力データの数に応じた範囲を規定する入力数帯ごとの前記監視対象装置の処理能力を示す第２の学習データ群と、を記憶する記憶デバイスと、を有し、
前記プロセッサは、
複数の前記時間帯の中のいずれかの時間帯である分析対象時間帯での前記監視対象装置の処理能力を示す分析対象データを取得する取得処理と、
前記第１の学習データ群のうち前記分析対象時間帯と同一時間帯での第１の特定の学習データと、前記第２の学習データ群のうち前記分析対象時間帯での前記監視対象装置への前記入力データの数が含まれる入力数帯と同一入力数帯での第２の特定の学習データと、を比較することにより、前記第１の特定の学習データと前記第２の特定の学習データとのうちいずれか一方の特定の学習データを選択する選択処理と、
前記選択処理によって選択された特定の学習データと、前記取得処理によって取得された分析対象データと、に基づいて、前記監視対象装置を分析する分析処理と、
を実行することを特徴とする監視装置。
【請求項２】
前記第１の学習データ群の各第１の学習データは、各時間帯における前記監視対象装置の処理能力を示す第１の統計的なデータ処理数と、当該第１の統計的なデータ処理数の第１の統計的なばらつきとの組み合わせであり、
前記第２の学習データ群の各第２の学習データは、各入力数帯における前記監視対象装置の処理能力を示す第２の統計的なデータ処理数と、当該第２の統計的なデータ処理数の第２の統計的なばらつきとの組み合わせであり、
前記選択処理では、前記プロセッサは、前記第１の特定の学習データに含まれる前記第１の統計的なばらつきと、前記第２の特定の学習データに含まれる前記第２の統計的なばらつきと、を比較することにより、前記第１の特定の学習データと前記第２の特定の学習データとのうちいずれか一方の特定の学習データに含まれるデータ処理数を選択し、
前記分析処理では、前記プロセッサは、前記いずれか一方の特定の学習データに含まれるデータ処理数と、前記分析対象データと、に基づいて、前記監視対象装置を分析することを特徴とする請求項１に記載の監視装置。
【請求項３】
前記プロセッサは、
前記分析対象データの取得に先立って、前記入力データの数および前記監視対象装置からの出力データの数を計測する計測処理と、
前記計測処理によって測定された前記入力データの数および前記出力データの数と、前記入力データおよび前記出力データの測定時間帯と、に基づいて、前記第１の学習データ群を生成して、前記記憶デバイスに格納し、前記入力データの数および前記出力データの数と、前記入力データの数が含まれる入力数帯と、に基づいて、前記第２の学習データ群を生成して、前記記憶デバイスに格納する学習処理と、
を実行することを特徴とする請求項１に記載の監視装置。
【請求項４】
監視対象装置を監視する監視装置であって、
前記監視装置は、プログラムを実行するプロセッサと、前記プログラムを記憶するメモリと、前記監視対象装置への入力データの数に応じた範囲を規定する入力数帯ごとに時間帯ごとの前記監視対象装置の処理能力を示す学習データ群を記憶する記憶デバイスと、を有し、
前記プロセッサは、
複数の前記時間帯の中のいずれかの時間帯である分析対象時間帯での前記監視対象装置の処理能力を示す分析対象データを取得する取得処理と、
前記分析対象時間帯と同一時間帯で、かつ、前記分析対象時間帯での前記監視対象装置への前記入力データの数が含まれる入力数帯と同一入力数帯である時間帯および入力数帯の組み合わせを特定する特定処理と、
前記特定処理によって特定された時間帯および入力数帯の組み合わせにおける特定の学習データを前記学習データ群から選択する選択処理と、
前記選択処理によって選択された特定の学習データと、前記取得処理によって取得された分析対象データと、に基づいて、前記監視対象装置を分析する分析処理と、
を実行することを特徴とする監視装置。
【請求項５】
前記プロセッサは、
前記時間帯および入力数帯の組み合わせに前記特定の学習データが存在するか否かを判定する判定処理を実行し、
前記選択処理では、前記プロセッサは、前記判定処理によって前記特定の学習データが存在しないと判定された場合、前記学習データ群のうち、前記分析対象データと前記同一入力数帯でかつ前記時間帯が異なる第１の学習データ群と、前記分析対象データと前記同一時間帯でかつ前記入力数帯が異なる第２の学習データ群と、を比較することにより、前記第１の学習データ群と前記第２の学習データ群とのうちいずれか一方の学習データ群を選択し、選択した学習データ群が前記第１の学習データ群である場合、前記特定の学習データの時間帯と隣接する時間帯の学習データを前記第１の学習データ群から選択し、選択した学習データ群が前記第２の学習データ群である場合、前記特定の学習データの入力数帯と隣接する入力数帯の学習データを前記第２の学習データ群から選択し、
前記分析処理では、前記プロセッサは、前記選択処理によって選択された学習データと、前記分析対象データと、に基づいて、前記監視対象装置を分析することを特徴とする請求項４に記載の監視装置。
【請求項６】
前記プロセッサは、
前記特定の学習データの生成元データの数がしきい値以上であるか否かを判定する判定処理を実行し、
前記判定処理によってしきい値以上でないと判定された場合、前記学習データ群のうち、前記分析対象データと前記同一入力数帯でかつ前記時間帯が異なる第１の学習データ群と、前記分析対象データと前記同一時間帯でかつ前記入力数帯が異なる第２の学習データ群と、を比較することにより、前記第１の学習データ群と前記第２の学習データ群とのうちいずれか一方の学習データ群を選択し、選択した学習データ群が前記第１の学習データ群である場合、前記特定の学習データの時間帯と隣接する時間帯の学習データを前記第１の学習データ群から選択し、選択した学習データ群が前記第２の学習データ群である場合、前記特定の学習データの入力数帯と隣接する入力数帯の学習データを前記第２の学習データ群から選択し、
前記分析処理では、前記プロセッサは、前記選択処理によって選択された学習データと、前記分析対象データと、に基づいて、前記監視対象装置を分析することを特徴とする請求項４に記載の監視装置。
【請求項７】
前記プロセッサは、
前記しきい値を前記分析処理の実行回数に応じて増加させる処理を実行することを特徴とする請求項６に記載の監視装置。
【請求項８】
前記プロセッサは、
前記分析対象データの取得に先立って、前記入力データの数および前記監視対象装置からの出力データの数を計測する計測処理と、
前記計測処理によって測定された前記入力データの数および前記出力データの数と、前記入力データおよび前記出力データの測定時間帯と、前記入力データの数が含まれる入力数帯と、に基づいて、前記学習データ群を生成して、前記記憶デバイスに格納する学習処理を実行することを特徴とする請求項４に記載の監視装置。
【請求項９】
監視対象装置をプロセッサに監視させる監視プログラムであって、
前記プロセッサは、時間帯ごとの前記監視対象装置の処理能力を示す第１の学習データ群と、前記監視対象装置への入力データの数に応じた範囲を規定する入力数帯ごとの前記監視対象装置の処理能力を示す第２の学習データ群と、を記憶する記憶デバイスにアクセス可能であり、
前記プロセッサに、
複数の前記時間帯の中のいずれかの時間帯である分析対象時間帯での前記監視対象装置の処理能力を示す分析対象データを取得する取得処理と、
前記第１の学習データ群のうち前記分析対象時間帯と同一時間帯での第１の特定の学習データと、前記第２の学習データ群のうち前記分析対象時間帯での前記監視対象装置への前記入力データの数が含まれる入力数帯と同一入力数帯での第２の特定の学習データと、を比較することにより、前記第１の特定の学習データと前記第２の特定の学習データとのうちいずれか一方の特定の学習データを選択する選択処理と、
前記選択処理によって選択された特定の学習データと、前記取得処理によって取得された分析対象データと、に基づいて、前記監視対象装置を分析する分析処理と、
を実行させることを特徴とする監視プログラム。
【請求項１０】
前記第１の学習データ群の各第１の学習データは、各時間帯における前記監視対象装置の処理能力を示す第１の統計的なデータ処理数と、当該第１の統計的なデータ処理数の第１の統計的なばらつきとの組み合わせであり、
前記第２の学習データ群の各第２の学習データは、各入力数帯における前記監視対象装置の処理能力を示す第２の統計的なデータ処理数と、当該第２の統計的なデータ処理数の第２の統計的なばらつきとの組み合わせであり、
前記選択処理では、前記プロセッサに、前記第１の特定の学習データに含まれる前記第１の統計的なばらつきと、前記第２の特定の学習データに含まれる前記第２の統計的なばらつきと、を比較することにより、前記第１の特定の学習データと前記第２の特定の学習データとのうちいずれか一方の特定の学習データに含まれるデータ処理数を選択させ、
前記分析処理では、前記プロセッサに、前記いずれか一方の特定の学習データに含まれるデータ処理数と、前記分析対象データと、に基づいて、前記監視対象装置を分析させることを特徴とする請求項９に記載の監視プログラム。
【請求項１１】
前記プロセッサに、
前記分析対象データの取得に先立って、前記入力データの数および前記監視対象装置からの出力データの数を計測する計測処理と、
前記計測処理によって測定された前記入力データの数および前記出力データの数と、前記入力データおよび前記出力データの測定時間帯と、に基づいて、前記第１の学習データ群を生成して、前記記憶デバイスに格納し、前記入力データの数および前記出力データの数と、前記入力データの数が含まれる入力数帯と、に基づいて、前記第２の学習データ群を生成して、前記記憶デバイスに格納する学習処理と、
を実行させることを特徴とする請求項９に記載の監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視対象装置を監視する監視装置および監視プログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンをはじめとする端末上において、自動で頻繁にサーバと通信を行うアプリケーションやサービスが増加している。これに伴い、モバイルネットワークの運用と管理が複雑化している。モバイルネットワーク上で、高い性能品質を提供するためには、障害の予兆を迅速に検出し、障害を回避することが重要である。
【０００３】
予兆検知技術の主流の方式では、たとえば、ある監視対象の平常時の入力／出力の記録し、学習データを作成する処理が実行される。分析時には、現在の入力と出力を計測し、作成済みの学習データから入力に近いデータを選択し、選択した入力に対応した出力と、現在の出力の乖離を計算する処理が実行される。そして、それらの乖離が大きい場合、障害の予兆ありと判定される。
【０００４】
以上のように、過去のデータに基づいて検出する方式が一般的なため、基準となる学習データの作成が重要である。理想では平常時のすべてのパターンを網羅する学習データを作成すべきであるが、データも大量となるため、データを近似して学習データを作成するのが現実的である。
【０００５】
データの近似方法の代表例として、特許文献１に示すような、入力を時間帯で近似する方法がある。当該方法は、同じ時間帯なら入力も類似するという考え方で、横軸に時間、縦軸に出力を取り、データが記録される。一方、他のデータの近似方法として、特許文献２に示すような、入力を装置に入力する数で近似する方法がある。当該方法は、入力データ数が同じなら入力も類似するという考え方で、横軸に入力データ数、縦軸に出力を取り、データが記録される。また、特許文献３に示すような、メッセージ毎に応答時間を測定して、学習データを作成して予兆検知するという方式が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２８５０４０号公報
【特許文献２】特開２０１４−０９９７７７号公報
【特許文献３】ＷＯ２０１３／１８６８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１の場合、時間帯毎にデータを分類するため、データの時間的なパターンが固定である場合に有用であるが、データの時間的なパターンが変化するような、例えば、バーストが発生した場合では、障害予兆などの監視対象を分析する分析精度が低下するという問題がある。
【０００８】
また、上述した特許文献２の場合、入力数帯毎に出力を分けているので、データの時間的なパターンが変化した場合でも対応可能であるが、異なるメッセージ、特に、処理能力が異なるメッセージが混在する度合いが高くなるにしたがって、障害予兆などの監視対象を分析する分析精度が低下するという問題がある。
【０００９】
また、上述した特許文献３では、メッセージの種類やメッセージ毎にレスポンスタイムを計測できることが前提である。したがって、モバイルネットワークのように、様々なメッセージが流れ、かつ、メッセージの比率が刻々と変化する場合、メッセージ毎に収集する情報量が膨大になり、監視情報の収集のためにネットワークの負荷が増大するという問題がある。
【００１０】
本発明は、簡易かつ高精度に監視対象を監視することを目的とする。
【課題を解決するための手段】
【００１１】
本願において開示される発明の一側面となる監視装置は、監視対象装置を監視する監視装置であって、前記監視装置は、プログラムを実行するプロセッサと、前記プログラムを記憶するメモリと、時間帯ごとの前記監視対象装置の処理能力を示す第１の学習データ群と、前記監視対象装置への入力データの数に応じた範囲を規定する入力数帯ごとの前記監視対象装置の処理能力を示す第２の学習データ群と、を記憶する記憶デバイスと、を有し、前記プロセッサは、複数の前記時間帯の中のいずれかの時間帯である分析対象時間帯での前記監視対象装置の処理能力を示す分析対象データを取得する取得処理と、前記第１の学習データ群のうち前記分析対象時間帯と同一時間帯での第１の特定の学習データと、前記第２の学習データ群のうち前記分析対象時間帯での前記監視対象装置への前記入力データの数が含まれる入力数帯と同一入力数帯での第２の特定の学習データと、を比較することにより、前記第１の特定の学習データと前記第２の特定の学習データとのうちいずれか一方の特定の学習データを選択する選択処理と、前記選択処理によって選択された特定の学習データと、前記取得処理によって取得された分析対象データと、に基づいて、前記監視対象装置を分析する分析処理と、を実行することを特徴とする。
【発明の効果】
【００１２】
本発明の代表的な実施の形態によれば、簡易かつ高精度に監視対象を監視することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】実施例１にかかる監視対象装置の監視処理例を示す説明図である。
【図２】監視装置のハードウェア構成例を示すブロック図である。
【図３】図２に示した計測値テーブルの記憶内容例を示す説明図である。
【図４】図２に示した学習データテーブルの一例である第１の学習データテーブルである。
【図５】図２に示した学習データテーブルの一例である第２の学習データテーブルである。
【図６】図２に示した分析結果テーブルの記憶内容例を示す説明図である。
【図７】学習プログラムによる第１の学習処理の詳細な処理手順例を示すフローチャートである。
【図８】学習プログラムによる第２の学習処理の詳細な処理手順例を示すフローチャートである。
【図９】実施例１にかかる学習プログラムによる分析処理の詳細な処理手順例を示すフローチャートである。
【図１０】分析結果画面例を示す説明図である。
【図１１】時間帯ごとの統計的なデータ処理数と、データの入力数帯ごとの統計的なデータ処理数と、を統合したグラフを示す説明図である。
【図１２】実施例２にかかる統合学習データテーブルの記憶内容例を示す説明図である。
【図１３】学習データの補完例１を示す説明図である。
【図１４】学習データの補完例２を示す説明図である。
【図１５】実施例２にかかる学習プログラムによる学習処理の詳細な処理手順例を示すフローチャートである。
【図１６】実施例２にかかる学習プログラムによる分析処理の詳細な処理手順例を示すフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１４】
＜監視処理例＞
図１は、実施例１にかかる監視対象装置の監視処理例を示す説明図である。監視対象装置１００は、ネットワーク上においてデータを入力し、入力したデータを処理して、データを出力する処理を実行する。監視対象装置１００は、例えば、ネットワーク上のサーバやＤＰＩ（Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ）装置、ルータなどのネットワーク装置である。なお、データとは、ネットワーク上を流通するメッセージであり、たとえば、パケットやフレームである。
【００１５】
監視対象装置１００の挙動は、時間帯ごとの平均データ処理数の時間的変化を示すグラフＬ１として観測される。グラフＬ１の横軸は時間、縦軸は平均データ処理数である。グラフＬ１の平均データ処理数とは、各時間帯において、異なる測定対象区間の同一時間帯ごとに求められた、監視対象装置１００内のキュー長、すなわち、単位時間毎の出力データ数と入力データ数の差分の平均値である。
【００１６】
なお、時間帯とは、測定対象区間を複数に分割した単位時間である。測定対象区間を１日（２４時間）とした場合、たとえば、０：００〜０：５９、１：００〜１：５９、…のような１時間の単位時間が時間帯である。各時間帯は同一幅である。単位時間は、１時間に限らず、分単位でも秒単位でもよく、また、週単位や月単位、年単位でもよい。また、測定対象区間は、周期的に到来する。たとえば、測定対象区間は、毎日到来してもよく、平日、休日、祝祭日、特定の曜日にのみ到来してもよい。たとえば、毎日測定する場合は、毎日０：００〜０：５９の時間帯での平均データ処理数が求められ、毎週水曜日に測定する場合は、毎週水曜日の０：００〜０：５９の時間帯での平均データ処理数が求められる。
【００１７】
監視対象装置１００の挙動は、データの入力数帯ごとの平均データ処理数の入力データ数的変化を示すグラフＬ２として観測される。入力数帯とは、監視対象装置１００への入力データの数に応じた範囲を規定した入力データ数の範囲である。たとえば、入力データ数の範囲である０〜９９、１００〜１９９、２００〜２９９、…の各々が入力数帯である。グラフＬ２の横軸は入力データ数、縦軸は平均データ処理数である。グラフＬ２の平均データ処理数とは、各入力数帯において、異なる日付の同一入力数帯ごとに求められた、監視対象装置１００内のキュー長、すなわち、入力データ数毎の出力データ数と入力データ数の差分の平均値である。
【００１８】
実施例１の監視処理では、監視対象装置１００を分析する場合、分析対象時間帯に入力された入力データの数と、その出力データの数との組み合わせが計測される。この分析対象時間帯の入力データ数と出力データ数の組み合わせを分析対象データと称す。そして、実施例１の監視処理では、グラフＬ１において分析対象時間帯と同一時間帯である時間帯ｚｔでの平均データ処理数ｎａの統計的なばらつきと、グラフＬ２において分析対象データの入力データ数が含まれる入力数帯ｚｃでの平均データ処理数ｎｂの統計的なばらつきと、を比較して、小さい方のばらつきに対応する平均データ処理数が選択される。そして、実施例１の監視処理では、分析対象データについての平均データ処理数と、選択された平均データ処理数と、を用いて、監視対象装置１００が分析される。たとえば、分析対象データについての平均データ処理数と、選択された平均データ処理数と、の乖離がしきい値以上である場合、障害の予兆ありと判定される。
【００１９】
本実施例では、分析対象データの分析に比較対象として用いられる学習データとして、時間帯由来の学習データと入力数帯由来の学習データのうち、分析精度がよい方の学習データを選択して、分析をおこなう。したがって、時間帯由来の学習データが選択された場合は、当該時間帯のデータ比率は安定しており、入力データ数にばらつきがあるがデータ比率は分析対象データと同じようになり、出力データ数も分析対象データと同じようになる。同様に、入力数帯由来の学習データが選択された場合は、当該入力数帯のデータ比率は安定しており、入力データ数にばらつきがあるがデータ比率は分析対象データと同じようになり、出力データ数も分析対象データと同じようになる。このように、精度がよい方の帯の学習データを選択するため、分析精度の向上を図ることができる。
【００２０】
＜監視装置のハードウェア構成例＞
図２は、監視装置のハードウェア構成例を示すブロック図である。監視装置２０２は、スイッチ２０１Ａ，２０１Ｂを介して監視対象装置１００に接続される。すなわち、監視対象装置１００の前段のスイッチ２０１Ａは、データを監視対象装置１００に転送するとともに、ミラーリングして監視装置２０２にも転送する。また、監視対象装置１００の後段のスイッチ２０１Ｂは、監視対象装置１００から出力されたデータを宛先（不図示）に転送するとともに、ミラーリングにより、監視装置２０２に転送する。
【００２１】
監視装置２０２は、インタフェース（Ｉ／Ｆ）２０３Ａと、Ｉ／Ｆ２０３Ｂと、プロセッサ２０４と、メモリ２０５と、記憶デバイス２０６と、出力デバイス２０７がバス２０８に接続されて構成されている。Ｉ／Ｆ２０３Ａは、スイッチ２０１Ａからミラーリングされてくるデータを受信するインタフェースである。Ｉ／Ｆ２０３Ｂは、スイッチ２０１Ｂからミラーリングされてくるデータを受信するインタフェースである。
【００２２】
プロセッサ２０４は、監視装置２０２を制御する。たとえば、プロセッサ２０４は、Ｉ／Ｆ２０３Ａ，２０３Ｂからのデータを取得したり、記憶デバイス２０６からメモリ２０５にプログラム２５１〜２５３をロードしてプログラム２５１〜２５３を実行したり、記憶デバイス２０６内の各テーブル２６１〜２６３からデータを読み出したり、書き込んだりする。
【００２３】
メモリ２０５は、プロセッサ２０４のワークエリアとなる。また、メモリ２０５には、プログラム２５１〜２５３がロードされる。計測プログラム２５１は、監視対象装置１００への入力データの数と監視対象装置１００からの出力データを計測するプログラムである。
【００２４】
学習プログラム２５２は、学習データ群を生成するプログラムである。学習データ群には、各時間帯における学習データ群（以下、第１の学習データ群）と、各入力数帯における学習データ群（以下、第２の学習データ群）と、がある。
【００２５】
第１の学習データ群は、時間帯ごとの監視対象装置１００の処理能力を示す第１の学習データの集合である。第１の学習データは、たとえば、ある時間帯における統計的なデータ処理数と、当該データ処理数の統計的なばらつきである。統計的なデータ処理数は、たとえば、同一時間帯ごとの出力データ数から入力データ数を引いた差分の平均値、すなわち、平均データ処理数である。なお、平均にかぎらず、中央値、最大値、最小値を採用してもよい。統計的なばらつきとは、平均データ処理数の分散または標準偏差である。分散は、標本分散でもよく、標本数によらない不偏分散でもよい。なお、統計的なデータ処理数として、中央値、最大値、最小値のいずれかが採用された場合でも、統計的なばらつきとして、平均データ処理数分散または標準偏差が採用される。
【００２６】
第２の学習データ群は、入力数帯ごとの監視対象装置１００の処理能力を示す第２の学習データの集合である。第２の学習データは、たとえば、ある入力数帯における統計的なデータ処理数と、当該データ処理数の統計的なばらつきである。統計的なデータ処理数は、たとえば、同一入力数帯ごとの出力データ数から入力データ数を引いた差分の平均値、すなわち、平均データ処理数である。なお、平均にかぎらず、中央値、最大値、最小値を採用してもよい。統計的なばらつきとは、平均データ処理数の分散または標準偏差である。分散は、標本分散でもよく、標本数によらない不偏分散でもよい。なお、統計的なデータ処理数として、中央値、最大値、最小値のいずれかが採用された場合でも、統計的なばらつきとして、平均データ処理数分散または標準偏差が採用される。
【００２７】
分析プログラム２５３は、分析対象データを用い、かつ、第１の学習データ群および第２の学習データ群を参照して、監視対象装置１００の挙動を分析するプログラムである。
【００２８】
記憶デバイス２０６は、たとえば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリにより構成される。記憶デバイス２０６には、各種テーブルが記憶される。本明細書では、テーブル形式で説明するが、リスト、ＤＢ、キュー等のデータ構造やそれ以外で実現されてもよい。
【００２９】
計測値テーブル２６１は、計測プログラム２５１によって計測された時間帯ごとの入力データ数および出力データ数を記憶するテーブルである。学習データテーブル２６２は、学習プログラム２５２によって生成された第１の学習データ群や第２の学習データ群を記憶するテーブルである。分析結果テーブル２６３は、分析プログラム２５３によって分析された分析結果情報を記憶するテーブルである。
【００３０】
出力デバイス２０７は、各種情報、例えば、各種テーブル２６１〜２６３や分析結果情報を出力する。出力形式は、画面表示でもよく、外部装置への送信でもよい。なお、分析結果情報は、分析結果テーブル２６３のエントリとして格納される。
【００３１】
＜テーブルの記憶内容例＞
図３は、図２に示した計測値テーブル２６１の記憶内容例を示す説明図である。計測値テーブル２６１の初期状態は空であり、計測プログラム２５１により計測されると入力データ数および出力データ数が記憶される。
【００３２】
計測時間３０１は、入力データおよび出力データを計測する時間間隔の時系列である。たとえば、計測時間３０１の時間間隔は、上述した時間帯と同一時間間隔でもよく異なる時間間隔でもよい。計測時間は、時間帯とは異なり、各々固有である。たとえば、時間帯として０：００〜０：５９が規定されている場合でも、異なる日の各々の０：００〜０：５９が計測時間として規定される。入力データ数３０２は、計測時間３０１に計測された入力データの数である。出力データ数３０３は、計測時間３０１に計測された出力データの数である。
【００３３】
たとえば、ｔ５まで計測された状態でｔ１とｔ５が同一時間帯である場合、ｔ１の出力データ数ｎｏ１から入力データ数ｎｉ１を引いた差分とｔ５の出力データ数ｎｏ５から入力データ数ｎｉ５を引いた差分との平均が、第１の学習データでの平均データ処理数となる。
【００３４】
また、ｔ５まで計測された状態でｔ２の入力データ数ｎｉ２とｔ３の入力データ数ｎｉ３とｔ４の入力データ数ｎｉ４とが同一入力数帯である場合、ｔ２の出力データ数ｎｏ２から入力データ数ｎｉ２を引いた差分とｔ３の出力データ数ｎｏ３から入力データ数ｎｉ３を引いた差分とｔ４の出力データ数ｎｏ４から入力データ数ｎｉ４を引いた差分との平均が、第２の学習データでの平均データ処理数となる。
【００３５】
図４は、図２に示した学習データテーブル２６２の一例である第１の学習データテーブルである。第１の学習データテーブル２６２１は、第１の学習データ群が記憶されるテーブルである。第１の学習データテーブル２６２１は空であり、学習プログラム２５２により学習されると時間帯４０１ごとに第１の学習データ４０２が記憶される。
【００３６】
時間帯４０１は、上述したように、測定対象区間を複数に分割した単位時間である。図４では、時間帯４０１の時間間隔を１時間とした例である。第１の学習データ４０２は、時間帯４０１ごとに記憶される。ｎａ＃（＃は１以上の整数）は、統計的なデータ処理数の一例である平均データ処理数であり、ｖａ＃（＃は１以上の整数）は、平均データ処理数の統計的なばらつきである。たとえば、図３において、ｔ５まで計測された状態でｔ１とｔ５が同一時間帯（０：００〜０：５９）である場合、ｔ１の出力データ数ｎｏ１から入力データ数ｎｉ１を引いた差分とｔ５の出力データ数ｎｏ５から入力データ数ｎｉ５を引いた差分との平均が、第１の学習データ４０２での平均データ処理数ｎａ１となる。
【００３７】
図５は、図２に示した学習データテーブル２６２の一例である第２の学習データテーブルである。第２の学習データテーブル２６２２は、第２の学習データ群が記憶されるテーブルである。第２の学習データテーブル２６２２は空であり、学習プログラム２５２により学習されると入力数帯５０１ごとに第２の学習データ５０２が記憶される。
【００３８】
入力数帯５０１は、上述したように、監視対象装置１００への入力データの数に応じた範囲を規定した入力データ数の範囲である。図５では、入力数帯５０１の入力データ数時間間隔を１００個とした例である。第２の学習データ５０２は、入力数帯５０１ごとに記憶される。ｎｂ＃（＃は１以上の整数）は、統計的なデータ処理数の一例である平均データ処理数であり、ｖｂ＃（＃は１以上の整数）は、平均データ処理数の統計的なばらつきである。たとえば、図３において、ｔ５まで計測された状態でｔ２の入力データ数ｎｉ２とｔ３の入力データ数ｎｉ３とｔ４の入力データ数ｎｉ４とが同一入力数帯である場合、ｔ２の出力データ数ｎｏ２から入力データ数ｎｉ２を引いた差分とｔ３の出力データ数ｎｏ３から入力データ数ｎｉ３を引いた差分とｔ４の出力データ数ｎｏ４から入力データ数ｎｉ４を引いた差分との平均が、第２の学習データでの平均データ処理数ｎｂ１となる。
【００３９】
図６は、図２に示した分析結果テーブル２６３の記憶内容例を示す説明図である。分析結果テーブル２６３の初期状態は空であり、分析プログラム２５３により分析されると分析結果情報が記憶される。分析結果テーブル２６３は、フィールドとして、分析ＩＤ９０１と、分析対象時間帯９０２と、分析対象データ９０３と、入力数帯９０４と、選択帯９０５と、分析結果９０６と、を有し、各フィールドの値によりエントリである分析結果情報を構成する。
【００４０】
分析ＩＤ９０１は、値として、分析結果情報を一意に特定する識別情報を格納するフィールドである。分析対象時間帯９０２は、値として、分析対象データが監視対象装置１００で処理された時間帯を格納するフィールドである。分析対象データ９０３は、値として、分析対象時間帯に監視対象装置１００で処理された入力データ数および出力データ数の組み合わせを格納するフィールドである。入力数帯９０４は、値として、分析対象データの入力データ数が含まれる入力数帯を格納するフィールドである。選択帯９０５は、値として、分析プログラム２５３により選択された帯の種類、すなわち、時間帯または入力数帯のいずれかを格納するフィールドである。分析結果９０６は、値として、分析プログラム２５３による分析結果（たとえば、正常、異常など）を格納するフィールドである。
【００４１】
＜学習プログラム２５２による学習処理例＞
図７および図８を用いて、学習プログラム２５２による学習処理例について説明する。学習プログラム２５２は、たとえば、バッチ処理によりある時刻に自動的に実行される。また、操作者からの実行指示により実行されてもよい。
【００４２】
図７は、学習プログラム２５２による第１の学習処理の詳細な処理手順例を示すフローチャートである。第１の学習処理とは、第１の学習データ群を生成する処理である。まず、監視装置２０２は、第１の学習データテーブル２６２１の時間帯４０１から未選択時間帯があるか否かを判断する（ステップＳ７０１）。未選択時間帯がある場合（ステップＳ７０１：Ｙｅｓ）、監視装置２０２は、第１の学習データテーブル２６２１の時間帯４０１から未選択時間帯を１つ選択する（ステップＳ７０２）。つぎに、監視装置２０２は、選択時間帯に該当する入力データ数および出力データ数の組み合わせを計測値テーブル２６１の第１の学習データ４０２から取得する（ステップＳ７０３）。たとえば、選択時間帯を「０：００〜０：５９」とする。たとえば、図３において、ｔ５まで計測された状態でｔ１とｔ５が選択時間帯「０：００〜０：５９」と同一時間帯である場合、監視装置２０２は、ｔ１の入力データ数ｎｉ１および出力データ数ｎｏ１と、ｔ５の入力データ数ｎｉ５および出力データ数ｎｏ５と、を計測値テーブル２６１の第１の学習データ４０２から取得する。
【００４３】
そして、監視装置２０２は、選択時間帯における監視対象装置１００の統計的なデータ処理数の一例として平均データ処理数を算出する（ステップＳ７０４）。たとえば、ｔ１の入力データ数ｎｉ１および出力データ数ｎｏ１と、ｔ５の入力データ数ｎｉ５および出力データ数ｎｏ５と、が取得された場合、監視装置２０２は、ｔ１の出力データ数ｎｏ１から入力データ数ｎｉ１を引いた差分とｔ５の出力データ数ｎｏ５から入力データ数ｎｉ５を引いた差分との平均を平均データ処理数ｎａ１として算出する。
【００４４】
つぎに、監視装置２０２は、選択時間帯における統計的なデータ処理数の統計的なばらつきを算出する（ステップＳ７０５）。たとえば、平均データ処理数ｎａ１が算出された場合、監視装置２０２は、そのばらつきｖａ１を算出する。
【００４５】
そして、監視装置２０２は、選択時間帯に、統計的なデータ処理数と統計的なばらつきとを関連付けて第１の学習データテーブル２６２１に格納する（ステップＳ７０６）。たとえば、ばらつきｖａ１が算出された場合、監視装置２０２は、第１の学習データテーブル２６２１の選択時間帯「０：００〜０：５９」に、平均データ処理数ｎａ１とばらつきｖａ１とを格納する。このあと、ステップＳ７０１に戻る。監視装置２０２は、未選択時間帯がない場合（ステップＳ７０１：Ｎｏ）、第１の学習処理を終了する。このように、第１の学習処理により、第１の学習データテーブル２６２１が最新の状態となる。すなわち、第１の学習データ群が最新の状態となる。
【００４６】
図８は、学習プログラム２５２による第２の学習処理の詳細な処理手順例を示すフローチャートである。第２の学習処理とは、第２の学習データ群を生成する処理である。まず、監視装置２０２は、第２の学習データテーブル２６２２の入力数帯５０１から未選択入力数帯があるか否かを判断する（ステップＳ８０１）。未選択入力数帯がある場合（ステップＳ８０１：Ｙｅｓ）、監視装置２０２は、第２の学習データテーブル２６２２の入力数帯５０１から未選択入力数帯を１つ選択する（ステップＳ８０２）。つぎに、監視装置２０２は、選択入力数帯に該当する入力データ数および出力データ数の組み合わせを計測値テーブル２６１の第２の学習データ５０２から取得する（ステップＳ８０３）。たとえば、選択入力数帯を「０〜９９」とする。たとえば、図３において、ｔ５まで計測された状態でｔ２の入力データ数ｎｉ２とｔ３の入力データ数ｎｉ３とｔ４の入力データ数ｎｉ４とが選択入力数帯「０〜９９」と同一入力数帯である場合、監視装置２０２は、ｔ２の入力データ数ｎｉ２および出力データ数ｎｏ２と、ｔ３の入力データ数ｎｉ３および出力データ数ｎｏ３と、ｔ４の入力データ数ｎｉ４および出力データ数ｎｏ４と、を計測値テーブル２６１の第２の学習データ５０２から取得する。
【００４７】
そして、監視装置２０２は、選択入力数帯における監視対象装置１００の統計的なデータ処理数の一例として平均データ処理数を算出する（ステップＳ８０４）。たとえば、ｔ２の入力データ数ｎｉ２および出力データ数ｎｏ２と、ｔ３の入力データ数ｎｉ３および出力データ数ｎｏ３と、ｔ４の入力データ数ｎｉ４および出力データ数ｎｏ４と、が取得された場合、監視装置２０２は、ｔ２の出力データ数ｎｏ２から入力データ数ｎｉ２を引いた差分とｔ３の出力データ数ｎｏ３から入力データ数ｎｉ３を引いた差分とｔ４の出力データ数ｎｏ４から入力データ数ｎｉ４を引いた差分との平均を、平均データ処理数ｎｂ１として算出する。
【００４８】
つぎに、監視装置２０２は、選択入力数帯における統計的なデータ処理数の統計的なばらつきを算出する（ステップＳ８０５）。たとえば、平均データ処理数ｎｂ１が算出された場合、監視装置２０２は、そのばらつきｖｂ１を算出する。
【００４９】
そして、監視装置２０２は、選択入力数帯に、統計的なデータ処理数と統計的なばらつきとを関連付けて第２の学習データテーブル２６２２に格納する（ステップＳ８０６）。たとえば、ばらつきｖｂ１が算出された場合、監視装置２０２は、第２の学習データテーブル２６２２の選択入力数帯「０〜９９」に、平均データ処理数ｎｂ１とばらつきｖｂ１とを格納する。このあと、ステップＳ８０１に戻る。監視装置２０２は、未選択入力数帯がない場合（ステップＳ８０１：Ｎｏ）、第２の学習処理を終了する。このように、第２の学習処理により、第２の学習データテーブル２６２２が最新の状態となる。
【００５０】
＜分析プログラム２５３による分析処理例＞
図９を用いて、学習プログラム２５２による分析処理例について説明する。分析プログラム２５３は、たとえば、バッチ処理によりある時刻に自動的に実行される。また、操作者からの実行指示により実行されてもよい。なお、分析対象データは、第１の学習処理および第２の学習処理に用いられていないデータとする。
【００５１】
図９は、実施例１にかかる学習プログラム２５２による分析処理の詳細な処理手順例を示すフローチャートである。まず、監視装置２０２は、分析対象データを計測値テーブル２６１から取得する（ステップＳ９０１）。分析対象データは、ある計測時間（分析対象計測時間）における入力データ数および出力データ数である。分析対象計測時間が、たとえば、ｔ１０（例として、２０１５年４月２７日０：００〜０：５９）であるとすると、監視装置２０２は、ｔ１０の入力データ数ｎｉ１０および出力データ数ｎｏ１０を計測値テーブル２６１から取得する。
【００５２】
つぎに、監視装置２０２は、分析対象データの処理数の一例としてデータ処理数を算出する（ステップＳ９０２）。たとえば、監視装置２０２は、出力データ数ｎｏ１０から入力データ数ｎｉ１０を引いた差分をデータ処理数として算出する。そして、監視装置２０２は、分析対象データの計測時間と同一時間帯の第１の学習データを第１の学習データテーブル２６２１から取得する（ステップＳ９０３）。たとえば、監視装置２０２は、ｔ１０と同一時間帯（０：００〜０：５９）の第１の学習データ（ｎａ１，ｖａ１）を第１の学習データテーブル２６２１から取得する。
【００５３】
同様に、監視装置２０２は、分析対象データの入力データ数と同一入力数帯の第２の学習データを第２の学習データテーブル２６２２から取得する（ステップＳ９０４）。たとえば、監視装置２０２は、ｔ１０の入力データ数ｎｉ１０が含まれる入力数帯（例として０〜９９）と同一入力数帯の第２の学習データ（ｎｂ２，ｖｂ２）を第２の学習データテーブル２６２２から取得する。
【００５４】
そして、監視装置２０２は、ステップＳ９０３で取得したばらつきｖａ１とステップＳ９０４で取得したばらつきｖｂ１のうち小さい方のばらつきを含む学習データを選択する（ステップＳ９０５）。このあと、監視装置２０２は、選択した学習データの統計的なデータ処理数と、ステップＳ９０２で算出された処理数と、を比較して、監視対象装置１００の挙動を分析する（ステップＳ９０６）。最後に、監視装置２０２は、ステップＳ９０６による分析結果情報を出力する。
【００５５】
図１０は、分析結果画面例を示す説明図である。分析結果画面は、ステップＳ９０６により出力デバイス２０７に表示される画面である。具体的には、分析結果画面の内容は、分析結果テーブル２６３のエントリである分析結果情報である。
【００５６】
このように、実施例１によれば、監視対象装置１００の入力データ数が時間的に変化する場合でも、障害発生の予兆を高精度に検出することができる。また、複数の異なるデータが入力した場合でも、データの種類ごとに集計する必要がないため、障害発生の予兆を簡易に検出することができる。換言すれば、障害発生の予兆検出のためにデータ収集量を増加する必要がないため、ネットワークの負荷低減を図ることができる。
【００５７】
なお、実施例１では、監視装置２０２において、計測プログラム２５１による計測処理や学習プログラム２５２による第１の学習処理および第２の学習処理を実行する例について説明したが、計測処理や第１の学習処理および第２の学習処理は、外部装置により実行することとしてもよい。この場合、監視装置２０２は、当該外部装置から、計測値テーブル２６１のエントリや第１の学習データテーブル２６２１のエントリ、第２の学習データテーブル２６２２のエントリを取得することになる。
【実施例２】
【００５８】
実施例２について説明する。実施例１では、時間帯ごとの統計的なデータ処理数と、データの入力数帯ごとの統計的なデータ処理数と、を区別して学習データをそれぞれ生成し、分析時にばらつきが小さい、すなわち、精度がよい方の学習データを採用して、分析対象データと比較する例について説明した。実施例２では、時間帯ごとの統計的なデータ処理数と、データの入力数帯ごとの統計的なデータ処理数と、を区別せずに統合した統合学習データを生成し、分析対象データと比較する。
【００５９】
図１１は、時間帯ごとの統計的なデータ処理数と、データの入力数帯ごとの統計的なデータ処理数と、を統合したグラフを示す説明図である。グラフＬは、時間帯を示す時間軸と、入力数帯を示す入力データ数軸と、統計的なデータ処理数の一例である平均データ処理数を示す処理数軸との３次元座標系上の曲面で表現される。すなわち、グラフＬは、データの入力数帯ごとの統計的なデータ処理数と、を統合した統合学習データ群を示す。たとえば、ある時間帯ｚｔｉにおけるある入力数帯ｚｃｊに含まれる入力データ数と、その出力データ数と、により得られる平均データ処理数はｎｉｊである。
【００６０】
このように、実施例２では、あらかじめ、時間帯ｚｔｉごとに入力数帯ｚｃｊごとの平均データ処理数ｎｉｊが細分化されているため、分析時に該当する平均データ処理数ｎｉｊを選択するだけで、分析対象データの比較対象としてばらつきが小さい高精度な平均データ処理数ｎｉｊを用いて分析することができる。また、分析時に、第１の学習データと第２の学習データのいずれかを選択する必要がないため、分析処理の高速化を図ることができる。以下、実施例２について説明するが、特に実施例１との相違点を中心に説明し、実施例１と同一内容については説明を省略する。
【００６１】
図１２は、実施例２にかかる統合学習データテーブルの記憶内容例を示す説明図である。統合学習データテーブル２６２３は、実施例１の第１の学習データテーブル２６２１および第２の学習データテーブル２６２２を統合した学習データテーブルである。統合学習データテーブル２６２３は、時間帯と入力数帯によるマトリクス構造である。マトリクス構造は、セルの集合である。セルｃｉｊは、ある時間帯ｚｔｉにおけるある入力数帯ｚｃｊを示す記憶領域である。各セルｃｉｊには、平均データ処理数ｎｉｊと、その統計的なばらつきｖｉｊと、データ数ｄｉｊと、が格納される。データ数ｄｉｊは、入力データ数や出力データ数ではなく、平均データ処理数ｎｉｊの算出に用いられた入力データ数および出力データ数の組み合わせの標本数である。たとえば、セルＣｉｊにおける平均データ処理数ｎｉｊの算出に、図３に示したｔ２〜ｔ４の３個の入力データ数および出力データ数の組み合わせが用いられた場合、データ数ｄｉｊは、「３」である。
【００６２】
統合学習データテーブル２６２３の初期状態では、いずれのセルｃｉｊも空であるが、学習プログラム２５２による学習処理により該当するセルｃｉｊに学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）が記憶される。ただし、セルｃｉｊは時間帯および入力数帯により細分化されているため、学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）が存在しないセルや、学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）は存在するがデータ数ｄｉｊが小さいセルも存在する。このようなセルｃｉｊの学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）を用いると分析ができなかったり、分析はできるが分析精度が低減するため、周囲のセルの学習データを用いて補完する必要がある。
【００６３】
図１３は、学習データの補完例１を示す説明図である。図１３は、分析対象データの比較対象として選択されたセルｃｉｊに学習データが存在しない場合の補完例である。（Ａ）は、分析対象データの比較対象として選択されたセルｃｉｊに学習データが存在しないことを示す。
【００６４】
（Ｂ）は、選択セルｃｉｊと同一時間帯のセル群Ｃｔと、選択セルｃｉｊと同一入力数帯のセル群Ｃｃと、を示す。監視装置２０２は、セル群Ｃｔにおける最小ばらつきと、セル群Ｃｃにおける最小ばらつきを比較し、小さい方のばらつきを有するセル群を選択する。ここでは例として、セル群Ｃｔが選択されたものとする。よりばらつきが小さい方のセル群を選択することにより、時間帯と入力数帯のうち高精度な平均データ処理数を保持する帯を特定することができる。
【００６５】
（Ｃ）は、選択セル群Ｃｔにおいてセルｃｉｊの隣接セルｃｉｊ−１，ｃｉｊ−２を示す。監視装置２０２は、隣接セルｃｉｊ−１，ｃｉｊ−２のうちいずれかのセルを選択する。選択セル群Ｃｔのうち隣接セルｃｉｊ−１，ｃｉｊ−２の方が、非隣接セルよりも学習データの傾向がセルｃｉｊと近似する。ここでは、例として隣接セルｃｉｊ−１が選択されたものとする。監視装置２０２は、隣接セルｃｉｊ−１の学習データ（ｎｉｊ−１，ｖｉｊ−１，ｄｉｊ−１）を、セルｃｉｊの学習データの代用学習データとして用いる。また、監視装置２０２は、隣接セルｃｉｊ−１，ｃｉｊ−２のうちばらつきが小さい方のセルの平均データ処理数を選択してもよい。これにより、より精度が高い平均データ処理数により代用することができる。
【００６６】
なお、図１３では、セル群Ｃｔを選択した例について説明したが、セル群Ｃｃが選択された場合、セルｃｉｊの隣接セルは、セル群Ｃｃにおいてセルｃｉｊの左右に隣接するセルとなる。
【００６７】
図１４は、学習データの補完例２を示す説明図である。図１４は、分析対象データの比較対象となるセルｃｉｊにおいてデータ数ｄｉｊが不足している場合の補完例である。（Ａ）は、分析対象データの比較対象として選択されたセルｃｉｊにおいてデータ数ｄｉｊが不足していることを示す。
【００６８】
（Ｂ）は、選択セルｃｉｊと同一時間帯のセル群Ｃｔと、選択セルｃｉｊと同一入力数帯のセル群Ｃｃと、を示す。監視装置２０２は、セル群Ｃｔにおける最小ばらつきと、セル群Ｃｃにおける最小ばらつきを比較し、小さい方のばらつきを有するセル群を選択する。ここでは例として、セル群Ｃｔが選択されたものとする。よりばらつきが小さい方のセル群を選択することにより、時間帯と入力数帯のうち高精度な平均データ処理数を保持する帯を特定することができる。
【００６９】
（Ｃ）は、選択セル群Ｃｔにおいてセルｃｉｊの隣接セルｃｉｊ−１，ｃｉｊ−２を示す。監視装置２０２は、隣接セルｃｉｊ−１，ｃｉｊ−２のうちいずれかのセルを選択する。選択セル群Ｃｔのうち隣接セルｃｉｊ−１，ｃｉｊ−２の方が、非隣接セルよりも学習データの傾向がセルｃｉｊと近似する。ここでは、例として隣接セルｃｉｊ−１が選択されたものとする。監視装置２０２は、隣接セルｃｉｊ−１の学習データ（ｎｉｊ−１，ｖｉｊ−１，ｄｉｊ−１）を、セルｃｉｊの学習データの代用学習データとして用いる。また、監視装置２０２は、隣接セルｃｉｊ−１，ｃｉｊ−２のうちセルｃｉｊの平均データ処理数ｎｉｊに近い方のセルの平均データ処理数を選択してもよい。データ数ｄｉｊが不足しているため、ばらつきよりも平均データ処理数を重視することになる。これにより、より精度が高い平均データ処理数により代用することができる。
【００７０】
なお、図１４では、セル群Ｃｔを選択した例について説明したが、セル群Ｃｃが選択された場合、セルｃｉｊの隣接セルは、セル群Ｃｃにおいてセルｃｉｊの左右に隣接するセルとなる。
【００７１】
＜学習プログラム２５２による統合学習処理例＞
図１５を用いて、学習プログラム２５２による統合学習処理例について説明する。学習プログラム２５２は、たとえば、バッチ処理によりある時刻に自動的に実行される。また、操作者からの実行指示により実行されてもよい。
【００７２】
図１５は、実施例２にかかる学習プログラム２５２による学習処理の詳細な処理手順例を示すフローチャートである。統合学習処理とは、各セルｃｉｊの学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）である学習データ群を生成する処理である。まず、監視装置２０２は、統合学習データテーブル２６２３から未選択時間帯があるか否かを判断する（ステップＳ１５０１）。未選択時間帯がある場合（ステップＳ１５０１：Ｙｅｓ）、監視装置２０２は、統合学習データテーブル２６２３から未選択セルｃｉｊを１つ選択する（ステップＳ１５０２）。これにより、時間帯と入力数帯を同時に選択したことになる。
【００７３】
つぎに、監視装置２０２は、選択セルｃｉｊに該当する入力データ数および出力データ数の組み合わせを計測値テーブル２６１から取得する（ステップＳ１５０３）。たとえば、選択セルｃｉｊの時間帯ｚｔｉを「０：００〜０：５９」とし、選択セルｃｉｊの入力数帯ｚｃｊを「０〜９９」とする。たとえば、図３において、ｔ５まで計測された状態でｔ１とｔ５が選択セルｃｉｊの時間帯ｚｔｉである「０：００〜０：５９」と同一時間帯で、かつ、それらの入力データ数ｎｉ１，ｎｉ５が入力数帯ｚｃｊである「０〜９９」の範囲内である場合、監視装置２０２は、ｔ１の入力データ数ｎｉ１および出力データ数ｎｏ１と、ｔ５の入力データ数ｎｉ５および出力データ数ｎｏ５と、を計測値テーブル２６１から取得する。
【００７４】
そして、監視装置２０２は、選択セルｃｉｊにおける監視対象装置１００の統計的なデータ処理数の一例として平均データ処理数を算出する（ステップＳ１５０４）。たとえば、ｔ１の入力データ数ｎｉ１および出力データ数ｎｏ１と、ｔ５の入力データ数ｎｉ５および出力データ数ｎｏ５と、が取得された場合、監視装置２０２は、ｔ１の出力データ数ｎｏ１から入力データ数ｎｉ１を引いた差分とｔ５の出力データ数ｎｏ５から入力データ数ｎｉ５を引いた差分との平均を平均データ処理数ｎｉｊとして算出する。
【００７５】
つぎに、監視装置２０２は、選択セルｃｉｊにおける統計的なデータ処理数の統計的なばらつきを算出する（ステップＳ１５０５）。たとえば、平均データ処理数ｎｉｊが算出された場合、監視装置２０２は、そのばらつきｖｉｊを算出する。また、監視装置２０２は、ステップＳ１５０３で取得した入力データ数および出力データ数の組み合わせの数をデータ数ｄｉｊとして取得する（ステップＳ１５０６）。
【００７６】
そして、監視装置２０２は、選択セルｃｉｊに、統計的なデータ処理数ｎｉｊと統計的なばらつきｖｉｊとデータ数ｄｉｊとを関連付けて学習データとして統合学習データテーブル２６２３に格納する（ステップＳ１５０６）。このあと、ステップＳ１５０１に戻る。監視装置２０２は、未選択セルｃｉｊがない場合（ステップＳ１５０１：Ｎｏ）、統合学習処理を終了する。このように、統合学習処理により、統合学習データテーブル２６２３が最新の状態となる。
【００７７】
＜分析プログラム２５３による分析処理例＞
図１６を用いて、学習プログラム２５２による分析処理例について説明する。分析プログラム２５３は、たとえば、バッチ処理によりある時刻に自動的に実行される。また、操作者からの実行指示により実行されてもよい。なお、分析対象データは、統合学習処理に用いられていないデータとする。
【００７８】
図１６は、実施例２にかかる学習プログラム２５２による分析処理の詳細な処理手順例を示すフローチャートである。まず、監視装置２０２は、分析対象データを計測値テーブル２６１から取得する（ステップＳ１６０１）。分析対象データは、ある計測時間（分析対象計測時間）における入力データ数および出力データ数である。分析対象計測時間が、たとえば、ｔ１０（例として、２０１５年４月２７日０：００〜０：５９）であるとすると、監視装置２０２は、ｔ１０の入力データ数ｎｉ１０および出力データ数ｎｏ１０を計測値テーブル２６１から取得する。
【００７９】
つぎに、監視装置２０２は、分析対象データの処理数の一例としてデータ処理数を算出する（ステップＳ１５０２）。たとえば、監視装置２０２は、出力データ数ｎｏ１０から入力データ数ｎｉ１０を引いた差分をデータ処理数として算出する。
【００８０】
そして、監視装置２０２は、分析対象データの計測時間と同一時間帯ｚｔｉと、分析対象データの入力データ数が含まれる入力数帯ｚｃｊとで決まるセルｃｉｊを統合学習データテーブル２６２３から特定する（ステップＳ１６０３）。監視装置２０２は、特定したセルｃｉｊに学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）が存在するか否かを判定する（ステップＳ１６０４）。
【００８１】
特定したセルｃｉｊに学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）が存在しない場合（ステップＳ１６０４：Ｎｏ）、監視装置２０２は、ステップＳ１６０５およびステップＳ１６０６を実行する。ステップＳ１６０５およびステップＳ１６０６は、図１３で説明した処理である。具体的には、監視装置２０２は、特定セルｃｉｊと同一時間帯ｚｔのセル群Ｃｔのばらつき群と、特定セルｃｉｊと同一入力数帯ｚｃのセル群Ｃｃのばらつき群と、のうち、最小ばらつきを有するセル群を選択する（ステップＳ１６０５）。図１３の（Ｂ）ではセル群Ｃｔが選択される。
【００８２】
そして、監視装置２０２は、選択セル群において特定セルｃｉｊの隣接セルのうちばらつきが小さい方の隣接セルを選択し、当該隣接セルの学習データを、特定セルｃｉｊの学習データの代用学習データとする（ステップＳ１６０６）。そして、ステップＳ１６１１に移行する。
【００８３】
一方、ステップＳ１６０４において、特定したセルｃｉｊに学習データ（ｎｉｊ，ｖｉｊ，ｄｉｊ）が存在する場合（ステップＳ１６０４：Ｙｅｓ）、監視装置２０２は、特定セルｃｉｊのデータ数ｄｉｊがしきい値Ｔ以上であるか否かを判断する（ステップＳ１６０７）。しきい値以上である場合（ステップＳ１６０７：Ｙｅｓ）、精度に影響が出ない程度に平均データ処理数ｎｉｊが求められているとし、ステップＳ１６１１に移行する。この場合、特定セルｃｉｊの学習データが分析に採用される。
【００８４】
一方、データ数ｄｉｊがしきい値Ｔ未満である場合（ステップＳ１６０７：Ｎｏ）、監視装置２０２は、ステップＳ１６０８およびステップＳ１６０９を実行する。ステップＳ１６０８およびステップＳ１６０９は、図１４で説明した処理である。具体的には、監視装置２０２は、特定セルｃｉｊと同一時間帯ｚｔのセル群Ｃｔのばらつき群と、特定セルｃｉｊと同一入力数帯ｚｃのセル群Ｃｃのばらつき群と、のうち、最小ばらつきを有するセル群を選択する（ステップＳ１６０８）。図１４の（Ｂ）ではセル群Ｃｔが選択される。
【００８５】
そして、監視装置２０２は、選択セル群において特定セルｃｉｊの隣接セルのうち平均データ処理数が特定セルｃｉｊの平均データ処理数に近い方の隣接セルを選択し、当該隣接セルの学習データを、特定セルｃｉｊの学習データの代用学習データとする（ステップＳ１６０６）。そして、ステップＳ１６１１に移行する。
【００８６】
ステップＳ１６１１では、分析対象データの平均データ処理数と、特定セルｃｉｊの学習データ内の平均データ処理数（代用学習データの場合は、選択された隣接セルの学習データ内の平均データ処理数）と、を比較して、監視対象装置１００を分析する（ステップＳ１６１１）。そして、監視装置２０２は、分析結果情報を出力デバイス２０７に出力する（ステップＳ１６１２）。これにより、監視装置２０２は、分析処理を終了する。
【００８７】
このように、実施例２によれば、監視対象装置１００の入力データ数が時間的に変化する場合でも、障害発生の予兆を高精度に検出することができる。また、複数の異なるデータが入力した場合でも、データの種類ごとに集計する必要がないため、障害発生の予兆を簡易に検出することができる。換言すれば、障害発生の予兆検出のためにデータ収集量を増加する必要がないため、ネットワークの負荷低減を図ることができる。
【００８８】
また、実施例２によれば、あらかじめ、時間帯ｚｔｉごとに入力数帯ｚｃｊごとの平均データ処理数ｎｉｊが細分化されているため、分析時に該当する平均データ処理数ｎｉｊを選択するだけで、分析対象データの比較対象としてばらつきが小さい高精度な平均データ処理数ｎｉｊを用いて分析することができる。また、分析時に、第１の学習データと第２の学習データのいずれかを選択する必要がないため、分析処理の高速化を図ることができる。また、セルｃｉｊの学習データに欠落や不足があった場合、精度がよい方のセル帯の隣接セルの学習データで補完するため、セルｃｉｊの学習データに近似することができる。したがって、分析精度の低減を抑制することができる。
【００８９】
なお、実施例２では、監視装置２０２において、計測プログラム２５１による計測処理や学習プログラム２５２による統合学習処理を実行する例について説明したが、計測処理や統合学習処理は、外部装置により実行することとしてもよい。この場合、監視装置２０２は、当該外部装置から、計測値テーブル２６１のエントリや統合学習データテーブル２６２３のセル内の学習データを取得することになる。
【００９０】
また、上述した実施例２では、図１６のステップＳ１６０７のしきい値Ｔを固定値としたが、分析処理の実行回数に応じて増加する変動値としてもよい。これにより、データ数の増加に従ってしきい値Ｔも増加する。したがって、データ数の充足判定（Ｓ１６０７）により、分析対象データの比較対象となる学習データについて信頼性の高い学習データを採用することができ、分析精度の高精度化を図ることができる。
【００９１】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【００９２】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサ２０４がそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００９３】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ２０５、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００９４】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００９５】
１００  監視対象装置
２０２  監視装置
２５１  計測プログラム
２５２  学習プログラム
２５３  分析プログラム
２６１  計測値テーブル
２６２  学習データテーブル
２６３  分析結果テーブル
２６２１  第１の学習データテーブル
２６２２  第２の学習データテーブル
２６２３  統合学習データテーブル
【図１】
2016224799.tif 000003
【図２】
2016224799.tif 000004
【図３】
2016224799.tif 000005
【図４】
2016224799.tif 000006
【図５】
2016224799.tif 000007
【図６】
2016224799.tif 000008
【図７】
2016224799.tif 000009
【図８】
2016224799.tif 000010
【図９】
2016224799.tif 000011
【図１０】
2016224799.tif 000012
【図１１】
2016224799.tif 000013
【図１２】
2016224799.tif 000014
【図１３】
2016224799.tif 000015
【図１４】
2016224799.tif 000016
【図１５】
2016224799.tif 000017
【図１６】
2016224799.tif 000018