(58)【調査した分野】(Int.Cl.,DB名)
前記推定部が、現時点で故障はしていないものの、所定期間内に故障する可能性が高いと推定した場合、前記出力部は、前記推定結果を当該デバイスに通知する、請求項1に記載のデバイス診断サーバ。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。なお、以下の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0011】
A.本実施形態
A−1.概要
図1は、本実施形態に係るデバイス診断システム1000の概略構成を示す図である。
デバイス診断システム1000は、各ユーザが所持するデバイス100と、デバイス診断サーバ200と、基地局などの通信装置300とを備えて構成される。
【0012】
各デバイス100と、デバイス診断サーバ200とは、それぞれ通信装置300、通信ネットワークNを介して相互に接続されている。通信ネットワークNは、例えば、インターネット、LAN、専用線、電話回線、企業内ネットワーク、移動体通信網、ブルートゥース、WiFi(Wireless Fidelity)、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。
【0013】
図2は、デバイス診断システム1000の概要を示す概念図である。
デバイス100には、デバイスの稼働状態をあらわすデバイス・ログデータを収集する専用アプリケーション(以下、「ログ収集アプリ」という。)APが搭載されている。デバイス100は、所定のタイミングで、収集したデバイス・ログデータをデバイス診断サーバ200に送信する(ステップS1)。
【0014】
一方、ユーザはデバイス100に何らかの故障(例えば電源が入らない)が発生すると、デバイス販売店等にて修理受付を行う。デバイス販売店等にて修理が受け付けられると、修理内容をあらわす修理受付データがデバイス診断サーバ200に送信される(ステップS2)。
【0015】
デバイス診断サーバ200は、同一デバイス100のデバイス・ログデータと、修理受付データとの対を、訓練データとして学習し、学習モデルを生成する。この学習モデルは、デバイス100において、いかなる事象(イベント)が検知されると、いかなる故障がいつ頃発生するか等(すなわち、デバイス100の状態)を推定するためのアルゴリズムである。
【0016】
その後、デバイス診断サーバ200は、いずれかのデバイス100からデバイス・ログデータを取得すると、生成した学習モデルを利用して当該デバイス100の状態を推定し(ステップS3)、推定結果を外部(例えば、デバイス販売店やデバイスのユーザなど)に出力する(ステップS4)。
【0017】
なお、通信装置300は、デバイス100が利用する通信ネットワークの稼働状態をあらわすネットワーク・ログデータを収集する。各通信装置300は、デバイス診断サーバ200からの求めに応じて、ネットワーク・ログデータをデバイス診断サーバ200に送信する(ステップS5)。詳述すると、デバイス診断サーバ200は、例えばデバイス100から予め設定されたタイミングでデバイス・ログデータを取得できない場合や、ポーリングに応答しない場合などは、当該デバイス100が故障していると判断し、通信装置300に対してネットワーク・ログデータの送信要求(取得要求)を行う。通信装置300は、デバイス診断サーバ200からの求めに応じてネットワーク・ログデータを取得し、デバイス診断サーバ200に返信する。デバイス診断サーバ200は、通信装置300からネットワーク・ログデータを受信すると、受信したネットワーク・ログデータと、当該デバイス100の直近のデバイス・ログデータと、デバイス診断用の学習モデルを利用して、当該デバイス100の状態を推定する。そして、デバイス診断サーバ200は、推定結果を外部に出力する。
【0018】
デバイス診断システム1000によれば、ユーザが故障したデバイス100を販売店等に持ち込む前に、いかなる故障が発生したのかをデバイス診断サーバ200において検知することが可能となる。これにより、検知のタイムラグを無くすだけでなく、ユーザへの予防保全や、販売店等におけるデバイスの買い替え促進準備や修理受付業務の効率化(例えば来店予約や代替えデバイスの事前手配)など、迅速かつ利便性の高いアフターサービスを実現することが可能となる。
【0019】
A−2.構成
[デバイス100]
デバイス100は、ユーザが所持等する端末であり、例えばスマートフォンや、携帯電話機などである。
デバイス100のメモリには、各種の制御プログラムのほか、上述したログ収集アプリAPが格納されている。また、デバイス100には、例えば以下に例示する各種センサの一部(または全部)が搭載されている。
<各種センサ>
・加速度センサ、周囲温度センサ、重力センサ、ジャイロセンサ、光センサ、線形加速センサ、地磁気センサ、方位センサ、気圧センサ、近接センサ、相対温度センサ、回転ベクトルセンサ、温度センサなど。
【0020】
デバイス100は、各種センサによって検知される情報に基づき、デバイス識別番号、基地局ID、電波強度、GPS位置情報、ソフトウェアバージョン、CPU温度、CPU負荷、バッテリ温度、充電回数、バッテリ容量など、デバイスの稼働状態をあらわすデバイス・ログデータを生成・収集する。また、デバイス100は、収集したデバイス・ログデータを、所定のタイミング(例えば、一定の時間間隔)でデバイス診断サーバ200に送信する。
【0021】
なお、デバイス100は、通信ネットワークNを介してデータの授受が可能な端末であればよく、携帯情報端末(PDA)、タブレット端末や、パーソナルコンピュータ(PC)、ノートPCなどでもよい。
【0022】
[デバイス診断サーバ200]
デバイス診断サーバ200は、管理下にあるデバイス100の状態を診断(推定)する装置であり、例えばサーバコンピュータなどにより構成される。
【0023】
図3は、デバイス診断サーバ200の機能構成を示すブロック図である。
デバイス診断サーバ200は、制御部210と、データ取得部220と、記憶部230と、学習部240と、推定部250と、出力部260とを備えている。
【0024】
制御部210は、CPU、ROM、RAMなどを主要構成部品とするMCU(Micro Control Unit)などを備えており、ROMやRAMに格納された各種プログラム等を実行することにより、デバイス診断サーバ200の各部を統括的に制御する。
【0025】
データ取得部220は、外部から所定のデータを取得するものであり、第1取得部221、第2取得部222、第3取得部223を備えており、外部から所定のデータを取得し、取得した各データを学習部240に供給する。
【0026】
第1取得部221は、各デバイス100から所定のタイミングで送信されるデバイス・ログデータを取得する。
第2取得部222は、デバイス販売店等にて修理受付が行われた各デバイス100の修理内容をあらわす修理受付データを取得する。修理受付データは、例えばデバイス販売店等にて修理受付を行ったオペレータがPC端末(図示略)に入力し、PC端末からデバイス診断サーバ200に所定のタイミングで送信すればよい。
第3取得部223は、各通信装置300から所定のタイミングで送信されるネットワーク・ログデータを収集する。
【0027】
記憶部230は、例えばフラッシュメモリなどにより構成され、デバイス・ログデータや修理受付データ、ネットワーク・ログデータをはじめとする各種のデータを一時的に記憶する。
【0028】
学習部240は、デバイス・ログデータ及び修理受付データを利用して、デバイス100の状態を診断するための学習を行うものであり、訓練データ生成部241と学習モデル生成部242とを備えている。
【0029】
図4は、学習部240による学習動作の概念図である。
訓練データ生成部241は、各デバイス100のデバイス・ログデータと修理受付データから訓練データを生成する。
図5〜
図7は、それぞれデバイス・ログデータ、修理受付データ、訓練データを例示した図である。
デバイス・ログデータは、デバイス識別番号、ログデータを取得した時間(ログタイム)、基地局ID、ソフトウェアのバージョン情報、充電回数のほか、ユーザがデバイス100で利用するアプリケーションを特定するアプリケーション情報(利用アプリ1、利用アプリ2)、操作履歴をあらわす操作ログ情報などを含んでいる(
図5参照)。
【0030】
一方、修理受付データは、修理受付番号、デバイス100の機種名、デバイス識別番号、製造年月日、購入日のほか、修理受付日時をあらわす修理受付日情報、修理区分をあらわす修理区分情報、ユーザによる修理の申告内容をあらわす申告情報、修理受付をした地域をあらわす修理地域情報、修理受付をした店舗をあらわす修理店舗情報などを含んでいる(
図6参照)。
【0031】
訓練データ生成部241は、デバイス・ログデータ及び修理受付データに含まれるデバイス識別番号をキーとすることで、同一デバイスに係るデバイス・ログデータと修理受付データを特定する。そして、訓練データ生成部241は、デバイス・ログデータと修理受付データとの対からなる訓練データを生成する(
図7参照)。なお、訓練データは、デバイス稼働中に、どのようなデバイス・ログデータが取得されると、どのような故障がいつ頃発生する可能性が高いか等を学習するために必要なデータセットである。
【0032】
学習モデル生成部242は、訓練データを用いて学習することで、デバイス診断用の学習モデルを生成する。
図8は、学習モデルの生成イメージをあらわす概念図である。
図8は、ある機種について、各デバイスのデバイス・ログデータに示される充電回数と、“電源入らず”との理由により修理受付が行われた各デバイスの修理受付データに示される充電回数との関係をあらわす学習モデルを例示している。
【0033】
図8に示す学習モデルでは、デバイス・ログデータに示される充電回数が、ある閾値(例えば、500回;以下、「学習閾値」という。)を超えると、そのデバイスについては、電源入らずという事象により、後に修理に出される可能性が高くなる、といった推定が行われる。なお、
図8では、学習対象として「充電回数」を例示しているが、「加速度」、「重力」、「ジャイロセンサの値」など、様々なパラメータを利用してもよい。
【0034】
推定部250は、いずれかのデバイス100からデバイス・ログデータが入力されると、学習モデル生成部242によって生成された学習モデルを利用して、当該デバイス100の状態を推定する。
図9は、推定部250に入力されるあるデバイス100のデバイス・ログデータを例示した図である。
【0035】
図9の例では、デバイス・ログデータに示される充電回数が「715回」であり、学習モデルに示される学習閾値「500回」を超えている。よって、推定部250は、当該デバイス100については、「電源」(電源入らずなど)に関する修理が1か月以内に発生する、と推定する。
【0036】
出力部260は、推定部250による推定結果を外部に出力する。例えば、当該デバイス100については、電源(電源入らずなど)に関する修理が1か月以内に発生する、といった推定結果を推定部250から受け取ると、出力部260は、受け取った推定結果を当該デバイス100宛てに送信する。このように、本実施形態では、現時点で故障はしていないものの、所定期間内に故障する可能性が高いと推定部250が推定した場合、出力部260は、推定結果を当該デバイス100に通知する態様としたが、送信先は、当該デバイス100に限る趣旨ではなく、販売店等や、デバイスの開発センタ、修理センタ(いずれも図示略)などであってもよい。
【0037】
[通信装置300]
通信装置300は、例えば基地局などによって構成され、デバイス100が利用する通信ネットワークの稼働状態をあらわすネットワーク・ログデータを収集する。デバイス診断サーバ200は、デバイス100から予め設定されたタイミングでデバイス・ログデータを取得できない場合や、ポーリングに応答しない場合は、デバイス100が故障していると判断し、通信装置300に対してネットワーク・ログデータの送信要求(取得要求)を行う。通信装置300は、デバイス診断サーバ200からの求めに応じて、ネットワーク・ログデータをデバイス診断サーバ200に送信する。なお、ネットワーク・ログデータには、例えば基地局ID、電波強度、基地局の位置情報などが含まれている。
【0038】
デバイス診断サーバ200は、デバイス100の故障によってデバイス・ログデータを取得できない場合には、通信装置300からネットワーク・ログデータを取得するとともに、記憶部等に格納されている当該デバイス100の直近のデバイス・ログデータを利用して、当該デバイス100の状態の推定を行う。
【0039】
これにより、当該デバイス100が故障して最新のデバイス・ログデータを取得できない場合でも、ネットワーク・ログデータを活用することで、当該デバイス100の状態の推定(すなわち、デバイス診断)を、精度よく行うことが可能となる。以下、デバイス診断サーバ200による学習モデル生成処理及びデバイス診断処理の動作について説明する。
【0040】
A−3.動作
[学習モデル生成処理]
図10は、学習モデル生成処理を示すフローチャートである。
デバイス診断サーバ200の第1取得部221は、各デバイス100からデバイス・ログデータを受信する(ステップSA1)。一方、第2取得部222は、販売店等から修理受付データを受信する(ステップSA2)。第1取得部221及び第2取得部222によって取得された各データは、記憶部230に順次格納される。
【0041】
訓練データ生成部241は、デバイス・ログデータ及び修理受付データに含まれるデバイス識別番号をキーとすることで、同一デバイスに係るデバイス・ログデータと修理受付データを特定する。そして、訓練データ生成部241は、デバイス・ログデータと修理受付データとの対からなる訓練データを生成する(ステップSA3)。
【0042】
学習モデル生成部242は、訓練データを用いて学習することで、例えば
図8に示すようなデバイス診断用の学習モデルを生成し(ステップSA4)、処理を終了する。
【0043】
[デバイス診断処理]
図11は、デバイス診断処理を示すフローチャートである。なお、以下に示すデバイス診断処理は、デバイス診断用の学習モデルが既に生成されている場合を想定する。
デバイス診断サーバ200の制御部210は、各デバイス100について、正常にデバイス・ログデータを受信できているか否かを判断する(ステップSB1)。詳述すると、設定されたタイミングでデバイス・ログデータを受信している場合には、制御部210は、正常にデバイス・ログデータを受信していると判断する一方、設定されたタイミングでデバイス・ログデータを受信できない場合には、正常にデバイス・ログデータを受信できていないと判断する。制御部210は、判断結果を推定部250に通知する。
【0044】
推定部250は、制御部210から、正常にデバイス・ログデータを受信できている旨の通知を受けとると(ステップSB1;YES)、新たに受信されるデバイス・ログデータとデバイス診断用の学習モデルを利用して、当該デバイス100の状態を推定する(ステップSB2;
図9参照)。そして、推定部250は、推定結果を出力部260に供給する。
【0045】
出力部260は、推定部250から供給される推定結果を、当該デバイス100等に送信し(ステップSB3)、処理を終了する。
【0046】
一方、推定部250は、制御部210から、正常にデバイス・ログデータを受信できていない旨の通知を受けとると(ステップSB1;NO)、通信装置300に対してネットワーク・ログデータの送信要求を行う。通信装置300は、かかる要求に応じて、基地局ID、電波強度、基地局の位置情報などを含むネットワーク・ログデータを取得し、デバイス診断サーバ200に送信する。デバイス診断サーバ200の第3取得部223は、通信装置300からネットワーク・ログデータを受信すると(ステップSB4)、記憶部230に格納するとともに、推定部250に送る。
【0047】
推定部250は、ネットワーク・ログデータと、直近のデバイス・ログデータと、デバイス診断用の学習モデルを利用して、当該デバイス100の状態を推定する(ステップSB5)。そして、推定部250は、推定結果を出力部260に供給する。
【0048】
出力部260は、推定部250から供給される推定結果を、当該デバイス100等に送信し(ステップSB3)、処理を終了する。
【0049】
以上説明したように、本実施形態によれば、各デバイス100から取得されるデバイス・ログデータと、販売店等から取得される修理受付データとの対をもとに、訓練データを生成し、生成した訓練データから学習モデルを生成する。そして、生成した学習モデルと、稼働中のデバイスから送信されるデバイス・ログデータをもとに、当該デバイス100の状態を推定(診断)するため、迅速かつ精度の高いデバイス診断が可能となる。
【0050】
さらに、当該デバイス100が故障して最新のデバイス・ログデータを取得できない場合でも、ネットワーク・ログデータを活用することで、当該デバイス100の状態の推定(すなわち、デバイス診断)を、精度よく行うことが可能となる。
【0051】
B.変形例
本発明は、上述した本実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【0052】
また、本明細書において、「部」とは、単に物理的構成を意味するものではなく、その「部」が実行する処理をソフトウェアによって実現する場合も含む。また、1つの「部」が実行する処理を2つ以上の物理的構成や装置により実現されても、2つ以上の「部」が実行する処理を1つの物理的手段や装置により実現されてもよい。
【0053】
本明細書において説明した各処理を実施するプログラムは、記録媒体に記憶させてもよい。この記録媒体を用いれば、デバイス診断システム1000を構成する各コンピュータに、上記プログラムをインストールすることができる。ここで、上記プログラムを記憶した記録媒体は、非一過性の記録媒体であっても良い。非一過性の記録媒体は特に限定されないが、例えば、CD−ROM等の記録媒体であっても良い。