(57)【要約】【課題】機器における異常の発生を予測する精度を向上させる。【解決手段】予測モデル生成部２３は、取得部２１が取得したログデータを説明変数とし、異常データ記憶部２２が記憶している異常データを目的変数として潜在クラスタ処理を行い、異常が発生する予測モデルを生成する。予測モデル記憶部２４は、予測モデル生成部２３が生成した予測モデルを記憶する。異常発生予測部２５は、予測モデル記憶部２４に記憶されている予測モデルに対し、異常の予測対象となる機器１のログデータを適用して、例えばロジスティック回帰予測モデルを用いた予測を行うことで、その機器１における異常の発生確率を算出する。機器のセンシング結果に加えて、その機器を使用の基となるソフトウェアの実行に関する情報を用いて、機器における異常発生を予測しているから、センシング結果だけを用いた予測よりも予測精度の向上が期待できる。【選択図】図１
2017102716.tif 000002
【特許請求の範囲】
【請求項１】
機器においてセンサによってセンシングされたセンシング結果と、当該機器に記憶されたソフトウェアのユーザによる実行状況に関するユーザ利用データとを、当該機器からログデータとして取得する取得部と、
機器において異常が発生したときの異常データを目的変数とし前記取得部によって取得されたログデータを説明変数としてクラスタ処理を行い、目的変数に対する寄与度に基づいて選択した説明変数を用いた異常発生の予測モデルを生成する予測モデル生成部と、
前記予測モデル生成部によって生成された予測モデルに対し、異常の予測対象となる機器のログデータを適用して、当該機器における異常の発生確率を算出する異常予測部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記予測モデル生成部は、潜在クラス分析によりクラスタ処理を行う
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記予測モデル生成部は、ロジスティック回帰予測モデルに基づく予測モデルを生成する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記異常予測部は、各々の前記機器における異常の発生確率に基づいて、これら機器群全体における異常の発生確率を算出する
ことを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記予測モデル生成部は所定の条件を満たした場合に、前記機器における異常発生の予測モデルを再生成する
請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記予測モデル生成部は、機器に記憶されたソフトウェアの種類又は数が所定の条件を満たした場合に、前記機器における異常発生の予測モデルを再生成する
請求項５記載の情報処理装置。
【請求項７】
機器においてセンサによってセンシングされたセンシング結果と、当該機器に記憶されたソフトウェアのユーザによる実行状況に関するユーザ利用データとを、当該機器からログデータとして取得する取得ステップと、
機器において異常が発生したときの異常データを目的変数とし前記取得ステップによって取得されたログデータを説明変数としてクラスタ処理を行い、目的変数に対する寄与度に基づいて選択した説明変数を用いた異常発生の予測モデルを生成する予測モデル生成ステップと、
前記予測モデル生成ステップによって生成された予測モデルに対し、異常の予測対象となる機器のログデータを適用して、当該機器における異常の発生確率を算出する異常予測ステップと
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器における異常の発生を予測するための技術に関する。
【背景技術】
【０００２】
機器において故障等の各種異常が発生することを予測する方法として、機器における温度や電圧などの機器の状態、或いはＣＰＵ（Central Processing Unit）の稼働時間やハードディスクの回転数などの機器の動作をセンシングした結果を蓄積し、そのセンシング結果から時系列変化の傾向や外れ値などを求め、これを閾値と比較して異常の発生を予測するという方法が知られている。例えば特許文献１には、オペレーティングシステムからのディスクドライブに対するアクセス要求に応じて、ディスクドライバから発行されるコマンドの種類を示すコマンド識別情報と、ディスクドライブからのコマンドに対する処理の結果を示すレスポンス識別情報とを、ディスクドライブのログ情報として蓄積し、このログ情報に基づいて機器の異常の発生を予測する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2010-157266号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機器の異常は、上述したように機器内の部品の使用状況が主要因となって発生することが知られているが、これらの部品の使用状況をセンシングした結果を用いるだけでは、異常に繋がる変化の兆候だけしか把握できないことも多い。また、部品の使用状況を全てセンシングすることは現実には難しい。このため、部品の使用状況のセンシングのみに頼った方法では、異常発生を予測する精度のさらなる向上が難しい。
【０００５】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、機器における異常発生を予測する精度を向上させることにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、機器においてセンサによってセンシングされたセンシング結果と、当該機器に記憶されたソフトウェアのユーザによる実行状況に関するユーザ利用データとを、当該機器からログデータとして取得する取得部と、機器において異常が発生したときの異常データを目的変数とし前記取得部によって取得されたログデータを説明変数としてクラスタ処理を行い、目的変数に対する寄与度に基づいて選択した説明変数を用いた異常発生の予測モデルを生成する予測モデル生成部と、前記予測モデル生成部によって生成された予測モデルに対し、異常の予測対象となる機器のログデータを適用して、当該機器における異常の発生確率を算出する異常予測部とを備えることを特徴とする情報処理装置を提供する。
【０００７】
前記予測モデル生成部は、潜在クラス分析によりクラスタ処理を行ってもよい。
【０００８】
前記予測モデル生成部は、ロジスティック回帰予測モデルに基づく予測モデルを生成してもよい。
【０００９】
前記異常予測部は、各々の前記機器における異常の発生確率に基づいて、これら機器群全体における異常の発生確率を算出するようにしてもよい。
【００１０】
前記予測モデル生成部は所定の条件を満たした場合に、前記機器における異常発生の予測モデルを再生成するようにしてもよい。
【００１１】
前記予測モデル生成部は、機器に記憶されたソフトウェアの種類又は数が所定の条件を満たした場合に、前記機器における異常発生の予測モデルを再生成するようにしてもよい。
【００１２】
また、本発明は、機器においてセンサによってセンシングされたセンシング結果と、当該機器に記憶されたソフトウェアのユーザによる実行状況に関するユーザ利用データとを、当該機器からログデータとして取得する取得ステップと、機器において異常が発生したときの異常データを目的変数とし前記取得ステップによって取得されたログデータを説明変数としてクラスタ処理を行い、目的変数に対する寄与度に基づいて選択した説明変数を用いた異常発生の予測モデルを生成する予測モデル生成ステップと、前記予測モデル生成ステップによって生成された予測モデルに対し、異常の予測対象となる機器のログデータを適用して、当該機器における異常の発生確率を算出する異常予測ステップとを備えることを特徴とする情報処理方法を提供する。
【発明の効果】
【００１３】
本発明によれば、機器における異常の発生を予測する精度を向上させることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態にかかるシステムの全体構成を示すブロック図である。
【図２】本実施形態にかかる機器及びサーバ装置のハードウェア構成を示すブロック図である。
【図３】本実施形態にかかるサーバ装置の機能構成を示すブロック図である。
【図４】ログデータの一例を示す図である。
【図５】本実施形態にかかるシステムの動作例を示すシーケンス図である。
【図６】本実施形態におけるクラスタ処理の結果の一例を示す図である。
【発明を実施するための形態】
【００１５】
［構成］
以下、図面を参照しながら本発明の実施形態について詳細に説明する。 図１は、本発明の一実施形態にかかるシステムの全体構成を示すブロック図である。このシステムは、異常発生の監視対象となる複数の機器１ａ，１ｂと、これらの機器１ａ，１ｂにおける異常発生を予測する情報処理装置であるサーバ装置２と、各機器１とサーバ装置２とを通信可能に接続するネットワーク３とを備えている。ネットワーク３は、有線による通信区間又は無線による通信区間の少なくともいずれか一方を含んでいる。機器１は、異常の発生を監視する対象となり得る機器であればどのようなものであってもよく、例えばパーソナルコンピュータ、フィーチャーフォン、スマートホン、タブレット型コンピュータ、ウェアラブルコンピュータ、複合機又は家電機器などである。なお、図１においては２つの機器１ａ，１ｂのみ図示しているが、このシステムは３台以上の機器を有していてもよい。
【００１６】
図２は、機器１及びサーバ装置２のハードウェア構成を示すブロック図である。機器１は、制御部１１と、通信部１２と、記憶部１３と、ＵＩ（User Interface）部１４と、センサ１５とを少なくとも備えている。制御部１１は、演算処理装置としてのＣＰＵ（Central Processing Unit）と、ＲＯＭ(Read Only Memory)及びＲＡＭ（Random Access Memory）を含むメモリとを含むマイクロコンピュータである。ＣＰＵは、ＲＯＭ又は記憶部１３に記憶されたプログラムを、ＲＡＭに読み出して実行することにより、機器１の各部を制御する。通信部１２は、例えば通信Ｉ／Ｏや通信回路などを含み、ネットワーク３を介してサーバ装置２と通信を行う。記憶部１３は、例えばフラッシュメモリやハードディスク等の記憶装置であり、制御部１１により実行されるプログラム（ソフトウェア）などを記憶している。ＵＩ部１４は、例えば画像を表示する表示部（例えば液晶ディスプレイ）や、ユーザの操作入力を受け付けるためのキーやタッチセンサ或いは音声入力部などを備えている。センサ１５は、機器１における各種の物理量をセンシング（検出）する検出手段である。センサ１５によるセンシング対象は、例えばＣＰＵや記憶部１３などの各種部品（ハードウェア）の稼働時間、これらハードウェアの稼働により機器１内で変化する温度、又は、機器１における電源機構のオンオフなどである。
【００１７】
サーバ装置２は、制御部２０１と、記憶部２０２と、通信部２０３とを少なくとも備えている。制御部２０１は、演算処理装置としてのＣＰＵと、ＲＯＭ及びＲＡＭを含むメモリとを含むマイクロコンピュータである。ＣＰＵは、ＲＯＭ又は記憶部２０２に記憶されたプログラムを、ＲＡＭに読み出して実行することにより、サーバ装置２の各部を制御する。記憶部２０２は、例えばハードディスク等の大容量の記憶装置であり、制御部２０１により実行されるプログラムのほか、機器１からネットワーク３を介して収集したログデータなどを記憶している。通信部２０３は、例えば通信Ｉ／Ｏや通信回路などを含み、ネットワーク３を介して機器１と通信を行う。
【００１８】
図３は、サーバ装置２の機能構成を示すブロック図である。取得部２１は、通信部２０３及び制御部２０１によって実現される機能であり、機器１からネットワーク３を介して送信されてくるログデータを取得する。このログデータには、機器１のセンサ１５によってセンシングされた結果であるセンシングデータと、機器１においてユーザがどのようにして機器を利用したかを示すユーザ利用データが含まれている。
【００１９】
図４は、ログデータの一例を示す図である。ログデータには、各機器１を構成する各部品(ハードウェア)に対して製品識別子として付された製品ＩＤと、機器１のセンサ１０５によってセンシングされた日時或いはユーザが機器１を利用した日時を示すタイムスタンプのほか、機器１のセンサ１０５によってセンシングされた結果であるセンシングデータ又は機器１においてユーザがどのように機器１を利用したかを示すユーザ利用データのいずれか一方が詳細ログデータとして含まれている。センシングデータは、前述したとおり、例えば各種部品の稼働時間、機器１内の温度或いは機器１における電源オンオフなど、主に機器１のハードウェアそのものの動作・処理に関する情報である。一方、ユーザ利用データは、ソフトウェアの実行の有無やその実行時間などの、主にソフトウェアの実行状況に関する情報である。
【００２０】
異常データ記憶部２２は、記憶部１３によって実現される機能であり、機器１において異常が発生したときの機器１の状態（例えば温度、ＣＰＵや記憶部などの各種部品の稼働時間或いは電源のオンオフなど主にハードウェアの動作・処理に関するデータと、ソフトウェアの実行の有無やその実行時間などの主にソフトウェアの実行状況に関する情報）と、その状態において発生した異常の内容とを、異常データとして記憶している。
【００２１】
予測モデル生成部２３は、取得部２１が取得したログデータを説明変数とし、異常データ記憶部２２が記憶している異常データ（センシングデータ及びユーザ利用データ）を目的変数として、潜在クラス分析に従ってクラスタ処理を行う。さらに、予測モデル生成部２３は、主にハードウェアの動作・処理に関するセンシングデータと、主にソフトウェアの実行状況に関するユーザ利用データとにそれぞれ対応する説明変数を用いて、機器１において異常が発生する予測モデルを生成する。
【００２２】
潜在クラス分析においては例えば二項ソフトクラスタリングを用いる。二項ソフトクラスタリングにおいては、２つの属性 Ｘ，Ｙの出現頻度をもとに、共起確率（Ｘ，Ｙが同時に出現する確率）であるｐ（Ｘ，Ｙ） を算出する。ここで、Ｘ，Ｙが属するクラスタを表す潜在変数をＺｉとして、各属性がクラスタ Ｚｉ に属すると仮定したとき、Ｘが起こる確率をｐ（Ｘ／Ｚｉ）とし、Ｙが起こる確率を ｐ（Ｙ／Ｚｉ）とする。本実施形態において、数１におけるＸは、機器１を使用するユーザであり、Ｙは、例えば各種部品の稼働時間、機器１内の温度或いは機器１における電源オンオフなどのセンシングデータ、及び、ソフトウェアの実行の有無やその実行時間などのユーザ利用データである。あるユーザが潜在クラスＺiに属している場合は、そのユーザはその潜在クラスに出現する確率ｐ（Ｙ／Ｚi）の高いプロセスを使用しやすいということになる。ここでいうプロセスとは、ユーザ利用データの場合においてはソフトウェアの利用の仕方であり、ここでは各ソフトウェアの実行時間を用いている。ｐ（Ｘ／Ｚｉ）はユーザがクラスタに属する確率であり、ｐ（Ｙ/Ｚｉ）は各クラスタにおいてプロセスが出現する確率である。二項ソフトクラスタリングでは、ソフトウェアの使用傾向が似ているユーザにより使用されたソフトウェアは、同じクラスタから出現する確率が高くなる。
【数１】
2017102716.tif 000003
【００２３】
例えばユーザが機器１を使用するシーンとして、例えばそのユーザが自らの仕事の用途で機器１を使う場合や、動画や音楽再生などの趣味の用途で機器１を使う場合などを想定すると、機器１の利用の仕方は、その機器１に記憶されたソフトウェアの実行状況の違いに現れると予想される。そこで、本実施形態では、ソフトウェアの実行状況をも加味して潜在クラス処理を行うことで、例えば仕事中心の使い方がなされるソフトウェアや、動画、音楽再生に関連した使い方がなされるソフトウェアなどをクラスタリングし、このクラスタリング結果を、予測モデルを構築するときの特徴量としている。このように、従来の予測モデル構築には用いていなかったユーザ利用データを潜在クラス分析によって処理することで、従来においては不明であった機器１におけるソフトウェアの実行状況とその機器１の異常発生との因果関係が予測モデルに考慮されることになる。
【００２４】
予測モデルの構築には、例えばロジスティック回帰予測モデルが用いられる。数２は、ロジスティック回帰予測モデルを表現した数式である。ロジスティック回帰モデルは、目的変数が２値のカテゴリ変数である場合に、いずれか一方のカテゴリ変数の値の発生確率を予想する予測モデルである。より具体的には、ロジスティック回帰モデルでは一方のカテゴリ変数が発生する確率pと発生しない確率1-pとの対数オッズ比log[p/(1-ｐ)]を線型予測子Σaixiで表現する。この線型予測子Σaixiは、ロジスティック関数logistic(x)＝1/[1＋exp(-x)]に変換される。
【００２５】
数２の上式において、目的変数に対する説明変数項aixi〜aixiのそれぞれの寄与度（重要度）が算出され、その寄与度が高いほうから所定数の説明変数項が予測モデルの要素として選択される。ここでは、例えば、Wald統計量（カイ二乗値）により、目的変数に対する説明変数の有意性が検定され、説明変数が選択される。これにより、主にハードウェアそのものの動作・処理に関するセンシングデータに対応する説明変数項と、主にソフトウェアの実行状況に関するユーザ利用データに対応する説明変数項との双方を含む予測モデルが生成されることになる。つまり、機器１におけるハードウェアの使用状況とその機器１の異常発生との因果関係に加えて、ソフトウェアの実行状況とその機器１の異常発生との因果関係が予測モデルにおいて反映される。
【数２】
2017102716.tif 000004
【００２６】
予測モデル記憶部２４は、記憶部２０２によって実現される機能であり、予測モデル生成部２３が生成した予測モデルを記憶する。異常発生予測部２５は、制御部２０１によって実現される機能であり、予測モデル記憶部２４に記憶されている予測モデルに対し、異常の予測対象となる機器１のログデータを適用して、その機器１における異常の発生確率を算出する。ここでいう「異常の発生確率」とは、或る期間において機器１に異常が発生する確率である。そして、この「或る期間」とは、取得部２１によって取得されたログデータの採取期間と同じ期間である。
【００２７】
図５は、本実施形態にかかるシステムの動作例を示すシーケンス図である。図５において、まず、機器１の制御部１１によりログデータの収集が行われる（ステップＳ１）。これは例えば機器１のセンサ１５によるセンシングタイミングが到来するたび、又は、機器１においてソフトウェアの実行がなされるたびなどの、所定のタイミングで行われる。そして、制御部１１により収集されたログデータは機器１の記憶部１３により記憶される（ステップＳ２）。
【００２８】
そして、例えば定期的、或いはサーバ装置２から機器１に対して要求があったタイミングなど、ログデータの送信タイミングが到来すると（ステップＳ３；ＹＥＳ）、制御部１１は記憶部１３からログデータを読み出し、通信部１２からサーバ装置２に対して送信する（ステップＳ４）。このログデータには、前述したセンシングデータ及びユーザ利用データのｈか、ログデータの送信日時や機器１の識別情報（機器ＩＤ）などが含まれている。
【００２９】
サーバ装置２の制御部２０１は、機器１からネットワーク３を介して送信されてくるログデータを通信部２０３によって受信（取得）すると、これを記憶部２０２に記憶する（ステップＳ５）。そして、制御部２０１は、ステップＳ５にて記憶部２０２に記憶したログデータを説明変数とし、記憶部２０２にあらかじめ記憶されている異常データを目的変数として前述した二項ソフトクラスタリングを行ってクラスタリングを行い、さらに前述したロジスティック回帰予測モデルに基づく予測モデルを生成し、これを記憶部２０２に記憶する。
【００３０】
図６は、ユーザ利用データに基づいて潜在クラス分析を行った結果の一例を示す図である図示のように、ユーザ（機器ＩＤ）とソフトウェア（ソフトウェア名）との関係において、どのソフトウェアがどのくらいの時間実行されているかが示されている。例えば機器ＩＤ「２０５」のユーザは、文書作成ソフトウェアであるＷｏｒｄ（登録商標）を４２．５時間使用し、表作成ソフトウェアである「Ｅｘｃｅｌ」（登録商標）を２９．８時間使用した例が示されている。図６の例では、オフィス利用がメインのユーザ（機器）群（点線Ａ）、ブラウザソフトウェアであるIE（登録商標）がメインのユーザ（機器）群（点線Ｂ）、ファイル管理ソフトウェアであるexplorer（登録商標）がメインのユーザ（機器）群（点線Ｃ）、動画再生がメインのユーザ（機器）群（点線Ｄ）に分かれたイメージが示されている。なお、この例では、１台の機器１は１人のユーザによって使用されるという前提である。
【００３１】
機器内のハードウェア（部品）の使用状況を全てセンシングすることはコスト的な観点からも処理負荷の観点からも難しいが、そのハードウェアの使用の原因を生むソフトウェアの実行状況を監視して上記のようなクラスタリング及び予測モデル生成を行うことで、従来はセンシング対象外であったハードウェアの使用状況をも間接的に考慮した異常予測が可能となる。制御部２０１は、このようにして生成された予測モデルに対し、異常の予測対象となる機器１のログデータを適用して、その機器１において或る期間に異常が発生する確率を算出する。
【００３２】
さらに、個々の機器１における異常の発生確率を用いて、機器群全体のうちの何％に相当する機器において或る期間に異常が発生するのかということを算出することも可能である。例えば、制御部２０１は、記憶部２０２に記憶された乱数発生アルゴリズムを用いて乱数を発生させ、その乱数を各機器１における異常の発生確率に乗算する。そして、横軸を乱数及び発生確率の乗算結果として縦軸を該当する機器数としたグラフは、或る期間内において機器群全体のうちの何％に異常が発生するのかを示した分布に相当する。
【００３３】
以上に説明した実施形態によれば、機器のセンシング結果に加えて、その機器の使用の基となるソフトウェアの実行に関する情報を用いて、機器における異常発生を予測しているから、センシング結果だけを用いた予測よりも予測精度の向上が期待できる。
【００３４】
なお、制御部２０１は、所定の条件を満たした場合に、機器１における異常発生の予測モデルを再生成するようにしてもよい。ここでいう所定の条件とは、例えば予め決められた期間が経過したときとか、機器１において新たな部品が接続されたときとか、機器１の記憶部１３に記憶されたソフトウェアの数又は種類が所定の条件（たとえばインストールによりソフトウェアの増加数が所定の数に到達するたびとか、処理負荷の大きいソフトウェアとして予め指定されたソフトウェアが機器１にインストールされたときなど）を満たしたときなどである。このような条件を満たすと、その条件従属以前に生成された予測モデルと、その条件従属以後に生成される予測モデルとに有意な違いが生じると考えられる。
【００３５】
サーバ装置２は複数の装置によって実現されてもよい。また、本発明の情報処理装置はサーバ装置の形態で実現されるものに限られず、例えばユーザによって使用される機器に内蔵される形態で実現されてもよい。
【００３６】
クラスタリングや予測モデルの構築の手法は実施形態に例に限らない。また、機器群全体のうちの何％に相当する機器において或る期間に異常が発生するのかということを算出する手法も実施形態に例に限定されない。
【００３７】
本発明は、サーバ装置が行う情報処理方法の発明であってもよい。つまり、この情報処理方法は、機器においてセンサによってセンシングされたセンシング結果と、当該機器に記憶されたソフトウェアのユーザによる実行状況に関するユーザ利用データとを、当該機器からログデータとして取得する取得ステップと、機器において異常が発生したときの異常データを目的変数とし前記取得ステップによって取得されたログデータを説明変数としてクラスタ処理を行い、目的変数に対する寄与度に基づいて選択した説明変数を用いた異常発生の予測モデルを生成する予測モデル生成ステップと、前記予測モデル生成ステップによって生成された予測モデルに対し、異常の予測対象となる機器のログデータを適用して、当該機器における異常の発生確率を算出する異常予測ステップとを備える。
【００３８】
上述した実施形態において、サーバ装置２が実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の連係によって実現されうる。サーバ装置２の機能がプログラムを用いて実現される場合、このプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））等）、光記録媒体（光ディスク等）、光磁気記録媒体、半導体メモリ等のコンピュータ読み取り可能な記録媒体に記憶した状態で提供されてもよいし、ネットワークを介して配信されてもよい。
【符号の説明】
【００３９】
１，１ａ，１ｂ  機器、２  サーバ装置、３  ネットワーク、１１  制御部、１２  通信部、１３  記憶部、１４ＵＩ部、１５  センサ、２１  取得部、２２  異常データ記憶部、２３  予測モデル生成部、２４  予測モデル記憶部、２５  異常発生予測部、２０１  制御部、２０２  記憶部、２０３  通信部。
【図１】
2017102716.tif 000005
【図２】
2017102716.tif 000006
【図３】
2017102716.tif 000007
【図４】
2017102716.tif 000008
【図５】
2017102716.tif 000009
【図６】
2017102716.tif 000010