(57)【要約】【課題】端末装置に精度の低いモデルを適用することを回避する。【解決手段】本発明の実施形態としてのサーバは、第１機種の端末装置に、第２機種の端末装置の稼働データに基づき生成され、前記稼働データから計算される特徴量に基づき前記第２機種の端末装置の故障の発生可能性を予測するモデルを、適用可能か否か決定するためのサーバであって、分布差異計算部と、判定部を備える。前記分布差異計算部は、前記第１機種の端末装置の稼働データから算出される特徴量の第１分布と、前記第１機種と異なる第２機種の端末装置の稼働データから算出される特徴量の第２分布との差異情報を計算する。前記判定部は、前記差異情報に応じて、前記モデルを前記第１機種の端末装置で適用可能かを判定する。【選択図】図２
2015184818.tif 000002
【特許請求の範囲】
【請求項１】
第１機種の端末装置に、第２機種の端末装置の稼働データに基づき生成され、前記稼働データから計算される特徴量に基づき前記第２機種の端末装置の故障の発生可能性を予測するモデルを、適用可能か否か決定するためのサーバであって、
前記第１機種の端末装置の稼働データから算出される特徴量の第１分布と、前記第１機種と異なる第２機種の端末装置の稼働データから算出される特徴量の第２分布との差異情報を計算する分布差異計算部と、
前記差異情報に応じて、前記モデルを前記第１機種の端末装置で適用可能かを判定する判定部と、
を備えたサーバ。
【請求項２】
前記第２分布は、前記第２機種の端末装置の稼働データから算出される特徴量の確率分布であり、
前記分布差異計算部は、前記第１機種の端末装置の稼働データから算出される特徴量の出現確率を前記確率分布から求め、前記出現確率の尤度を、前記差異情報として計算する
請求項１のサーバ。
【請求項３】
前記分布差異計算部は、前記出現確率の尤度から、負の対数尤度を計算する
請求項２に記載のサーバ。
【請求項４】
前記第１分布は、前記第１機種の端末装置の稼働データから算出される特徴量の確率分布であり、
前記第２分布は、前記第２機種の端末装置の稼働データから算出される特徴量の確率分布であり、
前記分布差異計算部は、前記確率分布間の距離を、前記差異情報として計算する
請求項１ないし３のいずれか一項に記載のサーバ。
【請求項５】
前記確率分布間の距離は、カルバック・ライブラー情報量である
請求項４に記載のサーバ。
【請求項６】
前記分布差異計算部は、前記第１機種の端末装置の稼働データから算出される特徴量と、前記第２機種の端末装置の稼働データから算出される特徴量との差分の最大値および最小値の少なくとも一方を計算する
請求項１ないし５のいずれか一項に記載のサーバ。
【請求項７】
前記分布差異計算部は、前記第１機種の端末装置の稼働データから算出される複数の特徴量間の相関係数と、前記第２機種の端末装置の稼働データから算出される複数の特徴量間の相関係数との差分を、前記差異情報として計算する
請求項１ないし６のいずれか一項に記載のサーバ。
【請求項８】
前記相関係数は、ピアソンの積律相関係数である
請求項７に記載のサーバ。
【請求項９】
前記分布差異計算部は、前記第１機種の端末装置の稼働データから算出される複数の特徴量間の共分散と、前記第２機種の端末装置の稼働データから算出される複数の特徴量間の共分散との差分を、前記差異情報として計算する
請求項１ないし６のいずれか一項に記載のサーバ。
【請求項１０】
前記判定部の判定結果を、前記第１機種の端末装置に送信する判定結果送信部
をさらに備えた請求項１ないし９のいずれか一項に記載のサーバ。
【請求項１１】
前記稼働データは複数の項目を含んでおり、
前記特徴量は、前記稼働データの項目のうち所定の項目から算出され、
前記第１機種の端末装置の稼働データの項目を検出する検出部と、
前記検出部により検出した項目が、前記所定の項目を含んでいるかを判定する項目判定部と、を備え、
前記判定部は、前記検出部により検出した項目が、前記所定の項目を含んでいないときは、前記故障予兆モデルの適用は不可であることを決定する
請求項１ないし１０のいずれか一項に記載のサーバ。
【請求項１２】
前記第１機種の端末装置は、記憶装置を備え、
前記モデルは、前記第１機種の端末装置が備える記憶装置の故障の発生可能性を予測するものであり、
前記稼働データは、前記記憶装置の稼働データを含む
請求項１ないし１１のいずれか一項に記載のサーバ。
【請求項１３】
前記第１機種の端末装置が備える記憶装置と、前記第２機種の端末装置が備える記憶装置の機種が互いに異なる
請求項１２に記載のサーバ。
【請求項１４】
前記第１機種の端末装置の稼働データを記憶する稼働データ記憶部と、
前記稼働データ記憶部内の前記稼働データから、前記特徴量を計算する特徴量計算部
をさらに備えた請求項１ないし１３のいずれか一項に記載のサーバ。
【請求項１５】
前記モデルは、ロジスティック回帰モデル、サポートベクターマシン、または、線形判別モデルである
請求項１に記載のサーバ。
【請求項１６】
第１機種の端末装置に、第２機種の端末装置の稼働データに基づき生成され、前記稼働データから計算される特徴量に基づき前記第２機種の端末装置の故障の発生可能性を予測するモデルを、適用可能か否か決定するための方法であって、
前記第１機種の端末装置の稼働データから算出される特徴量の第１分布と、前記第１機種と異なる第２機種の端末装置の稼働データから算出される特徴量の第２分布との差異情報を計算する分布差異計算ステップと、
前記差異情報に応じて、前記モデルを前記第１機種の端末装置で適用可能かを判定する判定ステップと、
をコンピュータが実行するモデル適用可否判定方法。
【請求項１７】
第１機種の端末装置に、第２機種の端末装置の稼働データに基づき生成され、前記稼働データから計算される特徴量に基づき前記第２機種の端末装置の故障の発生可能性を予測するモデルを、適用可能か否か決定するための処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記第１機種の端末装置の稼働データから算出される特徴量の第１分布と、前記第１機種と異なる第２機種の端末装置の稼働データから算出される特徴量の第２分布との差異情報を計算する分布差異計算ステップと、
前記差異情報に応じて、前記モデルを前記第１機種の端末装置で適用可能かを判定する判定ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、サーバ、モデル適用可否判定方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
ハードディスクドライブ（ＨＤＤ）に保存されたデータの保全を図る上で、ＨＤＤの健康状態を把握しておくことは重要である。故障したＨＤＤの稼働履歴データを分析することで、稼働データから、将来の故障発生を検知する故障予兆モデルを構築できる。故障予兆モデルは、例えば所定期間内に故障が発生する確率を計算する。確率が閾値以上であれば、故障予兆ありと判断できる。
【０００３】
ここで、製品世代が変わるとＨＤＤの振る舞いが変化することがあり、過去の稼働データから構築した故障予兆モデルが、想定通りの精度を発揮できなくなるリスクがある。当該モデルの精度を新世代のＨＤＤに対して検証するためには、故障したＨＤＤの稼働履歴データが必要であり、データの蓄積には時間を要する。仮に精度の検証が不十分なまま、当該モデルを新世代のＨＤＤの故障予兆検知に適用した場合、そのモデルの精度が低いと、見逃し・誤報が頻発する問題が発生する。見逃しとは、故障予兆なしの予測結果が得られたにもかかわらず、所定期間内に故障が発生することであり、誤検出は、故障予兆ありとの予測結果が得られたにもかかわらず、所定期間内に故障が発生しなかったことである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−７３３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、端末装置に精度の低いモデルの適用を回避することを可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態としてのサーバは、第１機種の端末装置に、前記第２機種の端末装置の稼働データに基づき生成され、前記稼働データから計算される特徴量に基づき前記第２機種の端末装置の故障の発生可能性を予測するモデルを、適用可能か否か決定するためのサーバであって、分布差異計算部と、判定部を備える。
【０００７】
前記分布差異計算部は、前記第１機種の端末装置の稼働データから算出される特徴量の第１分布と、前記第１機種と異なる第２機種の端末装置の稼働データから算出される特徴量の第２分布との差異情報を計算する。
【０００８】
前記判定部は、前記差異情報に応じて、前記モデルを前記第１機種の端末装置で適用可能か判定する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るサーバと、サーバと通信する各端末装置がネットワークを介した接続されたシステムの全体図。
【図２】サーバおよび端末の機能ブロックを示す図。
【図３】稼働データの例を示す図。
【図４】部品型番データの例を示す図。
【図５】変数の例を示す図。
【図６】型番管理データの例を示す図。
【図７】稼働データ記憶部で記憶される稼働データの例を示す図。
【図８】稼働データと特徴量の関係を示す図。
【図９】過去型番の特徴量分布と、新規型番の特徴量の値出現確率について説明するための図。
【図１０】２つの確率分布の例を示す図。
【図１１】判定部の動作フローを示す図。
【図１２】端末のハードウェア構成例を示す図。
【図１３】サーバのハードウェア構成例を示す図。
【図１４】第１の実施形態に係るサーバの処理のフローチャート。
【図１５】第２の実施形態に係るサーバおよび端末の機能ブロック図。
【図１６】項目判定部の処理フローを示す図。
【図１７】第２の実施形態に係るサーバの処理のフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明の実施形態について説明する。
（第１の実施形態）
【００１１】
図１は、本発明の実施形態に係るサーバと、サーバと通信する各端末装置（以下、端末）を示す図である。
【００１２】
サーバ１０１と各端末２０１は、ネットワーク３０１を介して接続されている。ネットワーク３０１は、無線ネットワーク、有線ネットワーク、またはこれらのハイブリッドのネットワークである。ネットワーク３０１は、ローカルエリアネットワークでも、インターネット等の広域エリアネットワークでもよい。
【００１３】
端末２０１は、ＰＣ(Personal Computer)、タブレット、スマートフォン、携帯端末等のユーザ端末である。端末は、ＣＰＵ、メモリ、外部記憶装置、入力部、表示部、通信部など、一般的なコンピュータが備える要素を備えている。外部記憶装置として、ＨＤＤ、ＳＤＤ、ＳＤカードなどがある。各端末２０１では、自装置の稼働状況を示す稼働データを取得し、内部に記録している。稼働データとして、例えばＨＤＤやＣＰＵ等の部品のセンサデータ・ログ等がある。
【００１４】
端末２０１には、故障予兆モデル（以下、モデルと呼ぶ）が搭載されている。モデルは、所定期間内に故障が発生する可能性を予測するものである。例えば現在から一定期間内に故障が発生する確率を計算する。確率が閾値以上であれば、故障予兆ありと判断できる。端末は、稼働データに基づき、モデルを用いて予測を行い、故障予兆があるかを検知する機能を有する。モデルで故障予兆が検知されれば、例えばユーザに故障予兆があるとのメッセージを通知することで、ＨＤＤや端末装置のリプレースを促すことができる。一例として、端末２０１に搭載されているモデルは、この端末とは異なる機種の端末（ここでは、異なる機種のＨＤＤを搭載した端末）の稼働データから生成されたものである。異なる機種とは、例えば端末２０１が搭載しているＨＤＤよりも旧機種（過去の機種）である。すなわち、端末が搭載しているＨＤＤの機種は、モデルの生成元となったＨＤＤの機種とは異なる場合が想定される。
【００１５】
サーバ１０１は、端末に搭載されているモデルを、端末が適用することを許容するか否かを判断する。つまり、端末に搭載されているモデルは、その端末にとって精度が低い可能性があり、仮にそのようなモデルを端末が適用すると、見逃しや誤検出が発生する頻度または可能性が高くなると考えられるためである。見逃しとは、故障予兆なしの予測結果が得られたにもかかわらず、所定期間内に故障が発生することであり、誤検出は、故障予兆ありとの予測結果が得られたにもかかわらず、所定期間内に故障が発生しなかったことである。
【００１６】
サーバ１０１から適用可の判定結果を通知されれば、端末２０１は、自装置に搭載のモデルを用いて故障予兆検知を行うことが許容される。一方、端末２０１は、サーバ１０１から適用不可の判定結果を通知されれば、このモデルを用いた故障予兆検知は許されない。これにより、端末が精度の低いモデルを適用することを回避でき、見逃しや誤検出の問題を阻止できる。
【００１７】
図２は、サーバ１０１および端末２０１の機能ブロックを示す。各装置内のブロック間を結ぶ線は、情報または制御の流れを示す。また、端末およびサーバ間のブロック同士を結ぶ線は、実際の物理的な結線を示すのではなく、ブロック間の情報の入出力関係を表すに過ぎない。
【００１８】
端末２０１は、稼働データ取得部２１１、個別稼動データ記憶部２１２、稼働データ送信部２１３、部品型番記憶部２１４、部品型番送信部２１５、モデル記憶部２１６、判定結果受信部２１７、および検知部２１８を備える。
【００１９】
稼働データ取得部２１１は、所定の収集プログラムを実行することで、端末の稼動データを取得する。稼働データ取得部２１１は、個別稼動データ記憶部２１２に接続されており、取得した稼働データを、個別稼動データ記憶部２１２に格納する。個別稼働データ記憶部２１２は、稼働データ取得部２１１により取得された稼動データの履歴を記憶している。稼動データは、端末の稼働状況を示し、ＨＤＤおよびＣＰＵ等の部品のセンサ・ログデータを含み、その他、端末装置の製品ＩＤ（シリアル番号）、稼働データの取得時刻（観測時刻）を含む。ＨＤＤのセンサ・ログデータは、例えばＨＤＤのＳ．Ｍ．Ａ．Ｒ．Ｔ．などがある。その他の部品として、例えばＣＰＵの温度や、ボタン（入力部）の操作回数などのデータが含まれてもよい。
【００２０】
稼働データの例を図３に示す。図示の稼働データは１回分の取得データであり、このようなデータが、時系列に稼働データ記憶部２１３に記憶されている。時間の経過に応じて、逐次、データが蓄積されていく。稼働データの取得タイミングは、一定時間毎でもよいし、端末の起動時、終了時のタイミング、特定のイベントが発生したタイミングなど、任意に決めることができる。
【００２１】
稼働データ送信部２１３は、個別稼働データ記憶部２１３に接続されており、個別稼働データ記憶部２１３に記憶されている稼働データをサーバ１０１へ送信する。稼働データが取得されるごとに送信してもよいし、一定間隔で未送信の稼働データを送信してもよいし、サーバ１０１からの要求に応じて送信してもよい。
【００２２】
部品型番記憶部２１４は、部品型番データを記憶している。部品型番データの例を図４に示す。部品型番データは、製品ＩＤと、ＨＤＤ型番を含む。ＨＤＤ型番は、端末装置に搭載されているＨＤＤの型番であり、ＨＤＤの機種を識別する。製品ＩＤは、端末のＩＤ（シリアル番号）である。
【００２３】
部品型番送信部２１５は、部品型番記憶部２１４に接続されており、部品型番記憶部２１４に記憶されている部品型番データを、サーバ１０１へ送信する。部品型番データの送信は、サーバへのサービス登録時に１回送信してもよいし、サーバ１０１から要求される都度、送信してもよい。
【００２４】
モデル記憶部２１６は、故障予兆モデル（モデル）を記憶している。モデルは、所定期間内にＨＤＤが故障する可能性を予測するものである。以下、モデルの例をいくつか示す。
【００２５】
下記の式（１）は、ロジスティック回帰モデルを示す。この式では、モデルパラメータとして、変数x1…xkと、係数a0…ak含む。係数a0は定数項とも呼ばれる。変数には、稼働データに基づき計算される特徴量が、割り当てられる。特徴量の詳細は後述する。係数は任意の実数である。Pは故障確率である。Pは０より大きく１より小さい値を取る。Pは、故障の発生可能性の大きさを表す値である。Pの値が大きいほど、所定期間内に故障の可能性が大きいことを意味する。Ｐの値が閾値以上のとき、故障予兆あり、閾値未満のとき、故障予兆なしと判定することもできる。所定期間は任意に定めることができるが、例えば現在時刻から一定期間でもよいし、予め定めた次の端末リプレース時期までの期間でもよいし、その他の基準で定めた期間でもよい。
【数１】
2015184818.tif 000003
【００２６】
また、故障確率Ｐの値に応じて、故障予兆ランクを算出してもよい。例えば、Ｐ＞αの場合、「危険」、α≧Ｐ＞βの場合、「注意」、Ｐ≦βの場合、「正常」とする。
【００２７】
図５に変数の例を示す。変数は９つであり、それぞれ稼働データに基づく特徴量が割り当てられる。図示の各変数が、式（１）の変数x1,x2,x3,x4,x5,x6,x7,x8,x9に対応する。例えば変数x1には、稼働データから計算される「ＣＰＵ温度の平均値」の特徴量が割り当てられる。各変数の係数（a0,a1,a2,a3,a4,a5,a6,a7,a8,a9）は、事前に算出されている。
【００２８】
ロジスティック回帰モデル以外のモデルの例としては、サポートベクターマシン、または、線形判別モデルなどがある。これらの場合、以下の式（２）でモデルを表すことができる。
【数２】
2015184818.tif 000004
変数x1…xkと、係数a0…akは、式（１）と同様、変数および係数である。ｙの値が、故障の発生可能性の大きさを示す。閾値を設けて、ｙの値が閾値以上のときは故障予兆あり、閾値未満のときは故障予兆なしと、判定することも可能である。例えば、y≧0のときに故障予兆あり、y<0のときに故障予兆なしとする。
【００２９】
判定結果受信部２１７は、サーバ１０１から、モデル記憶部２１６内のモデルを用いることを許可するか否かの判定結果を受信する。受信された判定結果は、検知部２１８に渡される。
【００３０】
検知部２１８は、判定結果受信部２１７に接続されており、判定結果受信部２１７からサーバ１０１の判定結果を受信する。検知部２１８は、判定結果が許可を示すときは、モデル記憶部２１６内のモデルを利用して、故障予兆検知を行うことを許容される。判定結果が不可を示すときは、モデル記憶部２１６内のモデルを用いた故障予兆検知は行わない。検知部２１８は、モデル利用を許可された場合、故障予兆検知を、所望のタイミングで行う。例えば、稼働データが１つ取得されるごとに行ってもよいし、外部から指示が入力されたときに行ってもよいし、特定のイベントが発生したときに行ってもよい。故障予兆検知は、個別稼働データ記憶部２１２内の稼働データを用いて特徴量を算出し、算出した特徴量をモデルの変数に割り当てることで行う。
【００３１】
サーバ１０１は、稼働データ記憶部１１１、型番管理部１１２、特徴量計算部１１３、新規型番特徴量記憶部１１４、過去型番特徴量記憶部１１５、分布差異計算部１１６、判定部１１７、判定結果送信部１１８を備える。
【００３２】
型番管理部１１２は、各端末から部品型番データを受信する。型番管理部１１２は、受信した部品型番データに基づき、各端末の製品ＩＤとＨＤＤ型番の対応をまとめて表した型番管理データを管理する。型番管理データの例を図６に示す。
【００３３】
稼働データ記憶部１１１は、各端末から送信された稼働データをまとめて記憶する。稼働データ記憶部１１１で記憶される稼働データの例を、図７に示す。複数の端末の稼働データが記憶されている。ここでは端末ごとに１つの稼働データが記憶されているが、実際には時系列に各々複数個、記憶されてもよい。
【００３４】
特徴量計算部１１３は、個々の端末ごとに、稼働データから１つまたは複数の特徴量を計算する。特徴量計算部１１３は、稼働データ記憶部１１１に接続されており、各端末の稼働データを、稼働データ記憶部１１１から読み出す。稼働データyと特徴量xの関係を、図８に示す。y1、y２、・・・yＭが、稼働データの各項目の値を表す。x１、x２、・・・xSが、稼働データから計算される特徴量を表す。例えばx１は、稼働データの項目y１の値であり、x４は、稼働データの項目y１、y３から計算される値である。このように特徴量は、稼働データから計算される。
【００３５】
特徴量の算出例として、直近の値（最新値）、差分の最大値、平均値を以下に示す。t は時刻を表している。
【００３６】
【数３】
2015184818.tif 000005
【００３７】
また、複数の稼働データを用いた特徴量も定義可能である。例えば直近の２つの稼働データで同じ項目の和を特徴量として定義することも可能である。以下は、この例である。
【００３８】
【数４】
2015184818.tif 000006
【００３９】
過去型番特徴量記憶部１１５には、端末２０１に搭載されたモデルの構築時に使用した稼働データから計算した特徴量のデータセットが記憶されている。例えば特徴量が（x1,x2,x3）の３つ種類であれば、（x1,x2,x3）のデータを多数記憶している。モデルの構築時に使用した稼働データは、過去型番（旧型番）のＨＤＤを搭載した端末の稼働データである。
【００４０】
特徴量計算部１１３は、特徴量を計算した端末の製品ＩＤが、型番管理部１１２に登録されているかを判断する。登録されている場合は、計算した特徴量を、新規型番特徴量記憶部１１４に格納する。例えば、端末の製品ＩＤおよびＨＤＤ型番、特徴量を含むエントリを追加する。特徴量計算部１１３は、端末の製品ＩＤが型番管理部１１２に登録されていないときは、古い型番のＨＤＤを搭載した端末の稼働データとして、読み込んだ稼働データを廃棄してもよい。あるいは、別の方法として、過去型番特徴量記憶部１１５に、同じ型番の特徴量が格納されているときは、特徴量を計算して、過去型番特徴量記憶部１１４に追加してもよい。
【００４１】
分布差異計算部１１６は、新規型番特徴量記憶部１１４と過去型番特徴量記憶部１１５に接続されており、それぞれに記憶されている特徴量のデータを読み出す。そして、新規型番特徴量記憶部１１４から読み出した特徴量の分布と、過去型番特徴量記憶部１１５から読み出した特徴量の分布を計算し、これらの差異を表す差異情報を計算する。すなわち、この差異情報は、モデル構築時に使用した稼働データから計算した特徴量の分布と、新規型番のＨＤＤを搭載した端末の稼働データから計算した特徴量の分布の差異を表す。分布差異計算部１１６は、新規型番特徴量記憶部１１４から、例えば該当機種に対するすべての特徴量のデータ、または一定数のデータを読み出す。あるいは、特徴量計算部１１３が、新規型番特徴量記憶部１１４に特徴量を格納する際、稼働データに含まれる観測時刻を付与し、一定の期間内のデータ、あるいは最新の所定個数のデータを読み出すようにすることも可能である。また、過去型番特徴量記憶部１１５からすべての特徴量のデータ、または、一定数のデータを読み出してもよい。
【００４２】
分布差異計算部１１６は、新規型番特徴量記憶部１１４に、端末の製品ＩＤおよびＨＤＤ型番、特徴量を含むエントリが１つ追加されるごとに処理を行ってもよいし、ＨＤＤ型番毎に所定数のエントリが追加されるごとに処理を行ってもよいし、外部から指示を受けたタイミングで処理を行ってもよい。ここで述べた以外のタイミングで処理を行ってもよい。
【００４３】
以下、過去型番特徴量記憶部１１５に記憶された特徴量、すなわち、モデル構築時に使用した稼働データから計算された特徴量を“過去型番の特徴量”と呼ぶことがある。また、新規型番特徴量記憶部１１４に記憶された特徴量、すなわち新規型番のＨＤＤ搭載の端末の稼働データから計算された特徴量を、“新規型番の特徴量”と呼ぶことがある。
【００４４】
以下、過去型番の特徴量分布と、新規型番の特徴量分布との差異情報の計算例を示す。
【００４５】
（１）過去型番の特徴量分布における、新規型番の特徴量の値出現確率
図９を用いて，過去型番の特徴量分布と、新規型番の特徴量の値出現確率を説明する。過去型番の特徴量分布は、前述したように、端末に搭載のモデルの構築に使用した稼働データから計算された特徴量の分布であり、例えば、図９に示すヒストグラム４０１のようにノンパラメトリックな分布、あるいは正規分布のようなパラメトリックな分布関数４０２をフィッティングさせた分布である。
【００４６】
【数５】
2015184818.tif 000007
そして、負の対数尤度を、以下の式で計算する。
【数６】
2015184818.tif 000008
特徴量が複数存在するときは、特徴量ごとに、尤度および負の対数尤度を計算すればよい。
【００４７】
（２）確率分布間の距離
過去型番の特徴量の確率分布をP、新規型番の特徴量の確率分布をQとする。分布P、Qの例を図１０に示す。このとき、PとQ間の距離を計算する。確率分布間の距離として、一例としてカルバック・ライブラー情報量（カルバック・ライブラー・ダイバージェンス）を計算する。P、Qを離散確率分布とするとき、QのPに対するカルバック・ライブラー情報量ＤKLは、以下のように計算される。
【数７】
2015184818.tif 000009
は、確率分布P、Qにしたがって選ばれた値が、iになる確率である。特徴量が複数存在する場合、特徴量群をベクトルとして扱って、本情報量を計算してもよいし、特徴量ごとに、本情報量を計算してもよい。
【数８】
2015184818.tif 000010
【００４８】
一方P、Qが連続確率分布の場合は、カルバック・ライブラー情報量以下のように計算する。
【数９】
2015184818.tif 000011
【００４９】
【数１０】
2015184818.tif 000012
特徴量ごとに、新規型番のＨＤＤ搭載端末と、過去型番のＨＤＤ搭載端末間で、特徴量の差分の最大値Ｄｍａｘおよび最小値Ｄｍｉｎを計算する。以下に、最大値Ｄｍａｘおよび最小値Ｄｍｉｎの計算式を示す。
【００５０】
ここで、kは新規型番のＨＤＤを搭載したk番目の端末、jはモデル構築時に使用した稼働データにおけるj番目の端末を意味する。特徴量が複数存在するときは、特徴量ごとに、ＤｍａｘおよびＤｍｉｎを計算すればよい。
【数１１】
2015184818.tif 000013
【００５１】
【数１２】
2015184818.tif 000014
【００５２】
ここで、ピアソンの積率相関係数は、次式で計算される。ただしN は端末の台数（サンプル数）である。また、
【数１３】
2015184818.tif 000015
【００５３】
判定部１１７は、分布差異計算部１１６で計算した
【数１４】
2015184818.tif 000016
に基づき、モデルの適用可否を判定する。ただし、分布差異情報のこれらの項目すべてを計算する必要はなく、少なくともいずれか１つの項目を計算してもよい。また、特徴量が複数存在するとき、特徴量のすべてについて各項目を計算せず、一部の特徴量について、各項目を計算してもよい。この場合、項目ごとに、計算の対象とする特徴量が異なってもよい。
【００５４】
図１１に、判定部１１７の動作フローを示す。判定部１１７は、分布差異計算部１１６から分布差異情報を受けると（Ｓ１０１）、分布差異情報の各項目と、各々の閾値を比較する（Ｓ１０２）。いずれか１つが閾値未満の場合に、モデルが適用可能であると判定し（Ｓ１０２のＮＯ、Ｓ１０３）、すべて閾値以上の場合は、適用不可と判定する（Ｓ１０２のＹＥＳ、Ｓ１０４）。あるいは、任意のＨ個（Ｈは２以上５以下）の項目の値が、各々閾値未満の場合に、故障予兆モデルが適用可能であると判定し（Ｓ１０２のＮＯ、Ｓ１０３）、それ以外の場合は（Ｓ１０２のＹＥＳ、Ｓ１０４）、適用不可と判定してもよい。判定は、ＨＤＤ型番ごとに行われる。判定結果は、モデルの適用可または適用不可を示す。項目ごとの閾値判定の際、複数の特徴量について項目が計算されているときは、特徴量すべてについて当該項目の値が閾値未満になることを要求してもよいし、任意の所定数の特徴量についてのみ、当該項目の値が閾値以下になることを要求してもよい。当該所定数の値は、項目ごとに異なってもよい。
【００５５】
判定結果送信部１１８は、判定部１１７の判定結果を、各端末に送信する。各端末の送信先アドレスは、事前に端末の製品ＩＤと対応づけて管理されているものとする。型番管理部１１２で、この対応を表によって管理してもよい。
【００５６】
図１２は、端末のハードウェア構成例を示す。端末は、ＣＰＵ４０１、入力部４０２、表示部４０３、通信部４０４、主記憶部４０５、外部記憶部４０６を備え、これらはバス４０７により相互に通信可能に接続される。
【００５７】
入力部４０２は、キーボード、マウス等の入力デバイスを備える。表示部４０３は、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）等の表示ディスプレイを含む。通信部４０４は、無線または有線の通信手段を有し、所定の通信方式で通信を行う。
【００５８】
外部記憶部４０６は、例えば、ＨＤＤ、ＳＳＤ、メモリ装置、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ等の記憶媒体等を含む。外部記憶部４０６は、検知部２１８、稼働データ取得部２１１、稼働データ送信部２１３、判定結果受信部２１７の機能を、ＣＰＵ４０１に実行させるためのプログラムを記憶している。また、個別稼働データ記憶部２１２、部品型番記憶部２１４、モデル記憶部２１６も、外部記憶部４０６に含まれる。故障予兆検知は、一例として、この外部記憶部４０６を対象として行う。
【００５９】
主記憶部４０５は、ＣＰＵ４０１による制御の下で、外部記憶部４０６に記憶された制御プログラムを展開し、当該プログラムの実行時に必要なデータ、当該プログラムの実行により生じたデータ等を記憶する。主記憶部４０５は、例えば不揮発性メモリ等の任意のメモリを含む。
【００６０】
図１３は、サーバのハードウェア構成例を示す。サーバは、ＣＰＵ５０１、入力部５０２、表示部５０３、通信部５０４、主記憶部５０５、外部記憶部５０６を備え、これらはバス５０７により相互に通信可能に接続される。
【００６１】
入力部５０２は、キーボード、マウス等の入力デバイスを備える。表示部５０３は、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）等の表示ディスプレイを含む。通信部５０４は、無線または有線の通信手段を有し、所定の通信方式で通信を行う。
【００６２】
外部記憶部５０６は、例えば、ＨＤＤ、ＳＳＤ、メモリ装置、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ等の記憶媒体等を含む。外部記憶部５０６は、特徴量計算部１１３、型番管理部１１２、分布差異計算部１１６、判定部１１７および判定結果送信部１１８の処理を、ＣＰＵ５０１に実行させるためのプログラムを記憶している。また、稼働データ記憶部１１１、新規型番特徴量記憶部１１４、および過去型番特徴量記憶部１１５も、外部記憶部５０６に含まれる。
【００６３】
主記憶部５０５は、ＣＰＵ５０１による制御の下で、外部記憶部５０６に記憶された制御プログラムを展開し、当該プログラムの実行時に必要なデータ、当該プログラムの実行により生じたデータ等を記憶する。主記憶部５０５は、例えば不揮発性メモリ等の任意のメモリを含む。
【００６４】
図１４は、本実施形態に係るサーバの処理のフローチャートである。
【００６５】
特徴量計算部１１３が、稼働データ記憶部１１１から稼働データを読み込む（Ｓ１１１）。例えば、過去に読み込んでいないすべての稼働データを読み込む。同じ端末の稼働データについては、異なる時刻の稼働データであればすべて読み込み対象としてもよいし、一定時間以上、取得時刻が開いている稼働データを読み込み対象としてもよい。読み込みのタイミングは、外部から指示を受けた時点でもよいし、一定時間間隔でもよいし、その他のタイミングでもよい。
【００６６】
特徴量計算部１１３は、型番管理部１１２に対して、読み込んだ稼働データの端末が搭載するＨＤＤの型番（ＨＤＤの機種）を特定する（Ｓ１１２）。
【００６７】
特徴量計算部１１３は、読み込んだ稼働データから特徴量を計算する（Ｓ１１３）。特徴量は、前述したように、モデルの変数に割り当てられるものであり、モデルに複数の変数が存在すれば、複数の特徴量を計算する。計算した特徴量は、新規型番特徴量記憶部１１４に、ＨＤＤ型番、および端末の製品ＩＤと対応づけて格納する。
【００６８】
分布差異計算部１１６は、過去型番特徴量記憶部１１５内の特徴量の分布、新規型番特徴量記憶部１１４内の特徴量の分布の差異情報を計算する（Ｓ１１４）。すなわち、モデル構築時に使用した稼働データ（過去の型番のＨＤＤを搭載した端末の稼働データ）における特徴量の分布と、新規型番のＨＤＤを搭載した端末の稼働データから計算した特徴量の分布の差異情報を計算する。
【００６９】
判定部１１７は、分布差異計算部１１６で計算した分布差異情報を閾値と比較し、モデルが適用可能か否かを判定する（Ｓ１１５）。詳細は判定の処理は、前述した図１０のフローに従って行う。
【００７０】
判定結果送信部１１８は、判定部１１７の判定結果を、判定を行ったＨＤＤ型番（ＨＤＤ機種）のＨＤＤを搭載する端末に送信する（Ｓ１１６）。稼働データを１つ読み込むごとに分布差異情報の計算を行う構成の場合は、送信対象とする端末は、当該稼働データを読み込んだ端末のみとしてもよい。ただし、該当の機種において、判定結果が、前回の送信から変更になる場合は、その他の端末にも送信することが望ましい。
【００７１】
本実施形態では、各端末には同じモデルが搭載されていることを前提としたが、端末によって搭載されているモデルが異なっていてもよい。この場合、サーバでは、端末ごとに、搭載されているモデルを表す情報を管理しておく。過去型番特徴量記憶部１１５では、モデルの種類ごとに、過去型番の特徴量を分類して記憶しておく。分布差異計算部１１６は、端末ごとに、搭載されているモデルを特定し、特定したモデル対応する過去型番の特徴量分布を用いて、分布差異情報を計算し、モデルの適用可否を判定すればよい。
【００７２】
なお、本実施形態では、ＨＤＤ型番が異なればＨＤＤの機種も異なるとしたが、機種の区分を広く考え、複数の型番が同じ機種に属する場合も対象としてもよい。この場合、本実施形態で型番ごとに行っていた処理を、機種ごとに行うようにし、同じ機種に属する型番をすべて同じ処理の対象とすればよい。機種と型番の対応表を事前にサーバに格納しておくことでこれは可能である。
【００７３】
以上、本実施形態によれば、稼働データの特徴量の分布差異情報に基づいてモデル適用可否を判断することで、精度の低いモデルの適用機会を低減し、見逃し・誤報を抑制することができる。すなわち、新規型番のＨＤＤでは、故障したＨＤＤの数も少なく、故障ＨＤＤの稼働データのサンプルも少ない。このため、新規型番の普及開始時では、同じ型番の稼働データから生成するモデルの精度検証は困難である。そこで、従前の型番の稼働データから生成したモデルを適用することが考えられるが、型番が異なればＨＤＤの稼働状態の傾向が異なるため、そのモデルが新規型番に適用可能かを判断する必要がある。本実施形態では、新規型番の特徴量の分布と、過去型番の特徴量分布を比較することで、モデルの適用可否を判断する。よって、不適切なモデルの適用を阻止し、見逃し・誤報によるコスト発生を抑制できる。
【００７４】
（第２の実施形態）
図１５に、本実施形態に係るサーバおよび端末の機能ブロック図を示す。端末の構成は第１の実施形態と同じであるが、サーバの構成が異なっている。具体的に、本実施形態では、サーバに、項目検出部１２１、項目判定部１２２、使用項目記憶部１２３が追加されている。
【００７５】
項目検出部１２１は、稼働データ記憶部１１１に接続されており、稼働データ記憶部１１１から稼働データを読み出し、稼働データの項目を検出する。例えば、ＨＤＤのS.M.A.R.T.データ項目を検出する。
【００７６】
使用項目記憶部１２３は、モデルの変数に割り当てる特徴量の計算に必要となる稼働データの項目を記憶している。１つの特徴量の計算に１つの項目が必要な場合や、１つの特徴量の計算に、複数の項目が必要になる場合があるが、これらの項目すべてを記憶している。
【００７７】
項目判定部１２２が、項目検出部１２１で検出された項目が、使用項目記憶部１２３で記憶されている項目をすべて含んでいるかを判定し、判定結果を判定部１１７に出力する。
【００７８】
図１６に項目判定部１２２の処理フローを示す。項目検出部１２１によって検出された項目をすべて受け取り（Ｓ１２１）、項目検出部１２１から受け取った項目に、使用項目記憶部１２３に記憶された項目がすべて含まれるかを判断する。１つでも含まれない項目が存在するときは（Ｓ１２２のＮＯ）、項目欠如判定結果を出力する（Ｓ１２４）。すべての項目が含まれるときは、項目充足判定結果を出力する（Ｓ１２２のＹＥＳ、Ｓ１２３）。
【００７９】
判定部１１７は、項目判定部１２２から項目欠如判定結果が入力されたときは、モデルの適用は不可と判定する。この場合、判定結果送信部１１８から適用不可の判定結果を送信する。一方、項目判定部１２２から項目充足判定結果が入力されたときは、第１の実施形態と同様、特徴量の計算、分布差異計算、適用可否判定を行う。
【００８０】
図１７は、本実施形態に係るサーバの処理のフローチャートである。第１の実施形態で用いた図１４のフローチャートにおいて、ステップＳ１１２とステップＳ１１３の間に、ステップＳ１１７とステップＳ１１８が追加されている。
【００８１】
ステップＳ１１７では、項目検出部１２１は、稼働データ記憶部１１１から稼働データを読み出し、読み出した稼働データの項目を検出する。ステップＳ１１８では、項目判定部１２２が、図１６のフローに従って判定を行い、項目欠如判定結果または項目充足判定結果を出力する。判定部１１７は、項目欠如判定結果が入力された場合は、モデルを適用不可と判定する。この場合、適用不可の判定結果を、判定結果送信部１１８から送信する。項目充足判定結果が入力された場合は、特徴量計算（Ｓ１１３）に処理を進めるよう制御する。以降は、第１の実施形態と同様である。
【００８２】
図１７のフローにおいて、稼働データを１つ読み出すごとに処理を行い、項目充足判定結果が得られたときは特徴量計算に進んでも良い。あるいは、複数の稼働データを読み出し、稼働データごとに
【００８３】
以上、本実施形態によれば、特徴量計算部１１３で特徴量の計算を行う前に、稼働データの項目が、モデルの特徴量を算出するのに必要な項目を含むかを検査するようにしたことにより、効率的な処理が可能となる。すなわち、本検査を行わない場合、複数の特徴量を順次計算していく過程で、算出に必要な項目が存在しなくて特徴量が算出できないことが判明すると、それまで行った処理が無駄になる可能性がある。しかしながら、事前に特徴量の計算に必要な項目がすべて揃っているかを確認することで、このような無駄な処理が発生するのを阻止できる。
【００８４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８５】
１０１：サーバ
１１１：稼働データ記憶部
１１２：型番管理部
１１３：特徴量計算部
１１４：新規型番特徴量記憶部
１１５：過去型番特徴量記憶部
１１６：分布差異計算部
１１７：判定部
１１８：判定結果送信部
２０１：端末
２１１：稼働データ取得部
２１２：個別稼動データ記憶部
２１３：稼働データ送信部
２１４：部品型番記憶部
２１５：部品型番送信部
２１６：モデル記憶部
２１７：判定結果受信部
２１８：検知部
３０１：ネットワーク
【図１】
2015184818.tif 000017
【図２】
2015184818.tif 000018
【図３】
2015184818.tif 000019
【図４】
2015184818.tif 000020
【図５】
2015184818.tif 000021
【図６】
2015184818.tif 000022
【図７】
2015184818.tif 000023
【図８】
2015184818.tif 000024
【図９】
2015184818.tif 000025
【図１０】
2015184818.tif 000026
【図１１】
2015184818.tif 000027
【図１２】
2015184818.tif 000028
【図１３】
2015184818.tif 000029
【図１４】
2015184818.tif 000030
【図１５】
2015184818.tif 000031
【図１６】
2015184818.tif 000032
【図１７】
2015184818.tif 000033