(57)【要約】【課題】通信装置において発生した事象に応じた更新プログラムを提供することが可能なプログラム管理方法、管理サーバ及びプログラムを提供すること。【解決手段】本発明の管理サーバ１０は、通信装置２０ａ〜２０ｃにおいて発生した事象が記録された動作ログについての解析処理の解析結果を用いて、通信装置２０ａ〜２０ｃにインストールすべき更新プログラムを決定して、通信装置２０ａ〜２０ｃに提供する。解析結果には、通信装置２０ａ〜２０ｃにおいて発生した事象を示す１以上のメッセージパターンを示す情報が含まれており、解析結果に含まれたメッセージパターンに対応する更新プログラムを、通信装置２０ａ〜２０ｃにインストールすべき更新プログラムとして決定する。【選択図】図８
2020120240.tif 000002
【特許請求の範囲】
【請求項１】
通信装置において発生した事象が記録された動作ログについての解析処理の解析結果を用いて、前記通信装置にインストールすべき更新プログラムを決定するステップと、
前記通信装置にインストールすべき更新プログラムを前記通信装置に提供するステップとを含み、
前記解析結果には、前記通信装置において発生した事象を示す１以上のメッセージパターンを示す情報が含まれており、
前記更新プログラムを決定するステップは、前記解析結果に含まれた前記メッセージパターンに対応する更新プログラムを、前記通信装置にインストールすべき更新プログラムとして決定するステップを含む、
プログラム管理方法。
【請求項２】
前記動作ログについて解析処理を実行するステップをさらに含む、請求項１に記載のプログラム管理方法。
【請求項３】
前記更新プログラムを決定するステップは、
前記メッセージパターンと当該メッセージパターンに対応する更新プログラムの識別情報とが関連付けて登録された第１のデータテーブルを参照して、前記メッセージパターンに対応する更新プログラムを、前記通信装置にインストールすべき更新プログラムとして決定するステップを含む、請求項１又は２に記載のプログラム管理方法。
【請求項４】
前記メッセージパターンが示す事象には、前記通信装置に接続される装置との接続に関する事象、又は前記通信装置の通信に関する事象が含まれる、請求項１〜３のいずれか１項に記載のプログラム管理方法。
【請求項５】
前記通信装置に現在のファームウェアのバージョン情報を第２のデータテーブルに登録するステップと、
前記通信装置にインストールすべき更新プログラムを前記第２のデータテーブルに登録するステップとをさらに含む、請求項１〜４のいずれか１項に記載のプログラム管理方法。
【請求項６】
通信装置において発生した事象が記録された動作ログについての解析処理の解析結果を用いて、前記通信装置にインストールすべき更新プログラムを決定する更新プログラム決定部と、
前記通信装置にインストールすべき更新プログラムを前記通信装置に提供する更新プログラム提供部とを含み、
前記解析結果には、前記通信装置において発生した事象を示す１以上のメッセージパターンを示す情報が含まれており、
前記更新プログラム決定部は、前記解析結果に含まれた前記メッセージパターンに対応する更新プログラムを、前記通信装置にインストールすべき更新プログラムとして決定する、
管理サーバ。
【請求項７】
前記動作ログについて解析処理を実行する解析部をさらに含む、請求項６に記載の管理サーバ。
【請求項８】
通信装置において発生した事象が記録された動作ログについての解析処理の解析結果を用いて、前記通信装置にインストールすべき更新プログラムを決定させるステップと、
前記通信装置にインストールすべき更新プログラムを前記通信装置に提供させるステップとを管理サーバが備える演算装置において実行し、
前記解析結果には、前記通信装置において発生した事象を示す１以上のメッセージパターンを示す情報が含まれており、
前記更新プログラムを決定させるステップは、前記解析結果に含まれた前記メッセージパターンに対応する更新プログラムを、前記通信装置にインストールすべき更新プログラムとして決定させるステップを含む、プログラム。
【請求項９】
前記動作ログについて解析処理を実行させるステップを実行する、請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム管理方法、管理サーバ及びプログラムに関し、特に、複数の通信装置のファームウェアを管理するプログラム管理方法、管理サーバ及びプログラムに関する。
【背景技術】
【０００２】
従来、クライアントサーバシステムにおいて、サーバがクライアントにインストールされているプログラムに問題がある場合、ネットワークを介して当該プログラムを修正するための更新プログラムを提供することが行われている。
【０００３】
この点に関し、特許文献１が開示する評価システムは、計算機におけるプログラムのレビジョンの組合せに依存する論理不正を検出することにより、当該プログラムのレビジョンの組合せに依存する論理不正を回避することを意図している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２８７８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１が開示する評価システムでは、計算機におけるプログラムのレビジョンの組合せに依存する論理不正を検出することができるが、クライアントにおいて発生した事象に応じた更新プログラムを提供することができないという課題があった。
【０００６】
本発明の目的は、上述した課題を鑑み、通信装置において発生した事象に応じた更新プログラムを提供することが可能なプログラム管理方法、管理サーバ及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のプログラム管理方法は、通信装置において発生した事象が記録された動作ログについての解析処理の解析結果を用いて、前記通信装置にインストールすべき更新プログラムを決定するステップと、前記通信装置にインストールすべき更新プログラムを前記通信装置に提供するステップとを含む。前記解析結果には、前記通信装置において発生した事象を示す１以上のメッセージパターンを示す情報が含まれている。前記更新プログラムを決定するステップは、前記解析結果に含まれた前記メッセージパターンに対応する更新プログラムを、前記通信装置にインストールすべき更新プログラムとして決定するステップを含む。
【発明の効果】
【０００８】
本発明により、通信装置において発生した事象に応じた更新プログラムを提供することが可能なプログラム管理方法、管理サーバ及びプログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係る通信システムの一実施形態を示す概略図である。
【図２】第１の実施形態に係る管理サーバの詳細な構成を示すブロック図である。
【図３】第１の実施形態に係る通信装置の詳細な構成を示すブロック図である。
【図４】装置情報管理テーブルの一例を示す図である。
【図５】メッセージパターンテーブルの一例を示す図である。
【図６】更新プログラム管理テーブルの一例を示す図である。
【図７】解析ルール管理テーブルの一例を示す図である。
【図８】第１の実施形態に係る管理サーバが有する主要な構成要素を示すブロック図である。
【図９】第１の実施形態に係る管理サーバ及び通信装置が実行する処理の一例を示すシーケンス図である。
【図１０】第１の実施形態に係る管理サーバ及び通信装置が実行する処理の別の例を示すシーケンス図である。
【図１１】第１の実施形態に係る管理サーバ及び通信装置が実行する処理のさらに別の例を示すシーケンス図である。
【図１２】第２の実施形態に係る管理サーバの詳細な構成を示すブロック図である。
【図１３】第２の実施形態に係る通信装置の詳細な構成を示すブロック図である。
【図１４】第２の実施形態に係る管理サーバ及び通信装置が実行する処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
＜第１の実施形態＞
以下、図面を参照して、本発明の第１の実施形態について説明する。図１は、本発明の通信システム１の一実施形態を示す概略図である。通信システム１は、管理サーバ１０と、通信装置２０ａ〜２０ｃと、端末装置３１ａ〜３１ｃ，３２ａ〜３２ｃとを含む。管理サーバ１０は、通信装置２０ａ〜２０ｃにインストールされている制御プログラムであるファームウェアを管理する情報処理装置である。
【００１１】
通信装置２０ａ〜２０ｃは、端末装置３１ａ〜３１ｃ，３２ａ〜３２ｃによるＷＡＮ（Wide Area Network）４０（インターネット等）を介したデータ通信を中継する通信装置であり、種々のルータ等が挙げられる。また、通信装置２０ａ〜２０ｃは、ＷＡＮ４０を介して管理サーバ１０と相互にデータ通信を行うことができる。
【００１２】
端末装置３１ａ〜３１ｃ，３２ａ〜３２ｃは、ＷＡＮ４０を介したデータ通信を行うことが可能な端末装置であり、スマートフォンやタブレット型端末、ＰＣ、センサ、家電、ゲーム機、電話等の種々の装置が挙げられる。
【００１３】
ユーザＡ宅には、通信装置２０ａ及び端末装置３１ａ，３２ａが設置されており、これらの装置は、無線ＬＡＮ（Local Area Network）やＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信、ＵＳＢケーブルやＬＡＮケーブル、モジュラーケーブル等の種々のケーブルを介した有線通信等を利用して相互にデータ通信を行うことができる。同様に、ユーザＢ宅及びユーザＣ宅には、それぞれ通信装置２０ｂ及び端末装置３１ｂ，３２ｂ並びに通信装置２０ｃ及び端末装置３１ｃ，３２ｃが設置されており、これらの装置は、相互にデータ通信を行うことができる。なお、説明の便宜上、図１には、３つの通信装置のみが示されているが、通信システム１は、任意の数の通信装置を含むことができる。また、各ユーザ宅には、２つの端末装置のみが示されているが、各通信装置２０ａ〜２０ｃは、任意の数の端末装置と通信することができる。
【００１４】
図２は、第１の実施形態に係る管理サーバ１０の詳細な構成を示すブロック図である。管理サーバ１０は、通信装置２０ａ〜２０ｃの動作ログの解析結果を用いて、これらの通信装置にインストールすべき更新プログラムを提供する。管理サーバ１０は、制御部１００と、記憶装置１１０と、ＷＡＮインタフェース（Ｉ／Ｆ）１２０とを備える。
【００１５】
制御部１００は、管理サーバ１０の備える装置及び論理回路を制御する演算装置であり、本発明のプログラムを実行することにより、本発明のプログラム管理方法を実行する。制御部１００は、プログラムモジュールである通信制御部１０１、データベース処理部１０２、監視部１０３、時刻情報提供部１０４、更新プログラム決定部１０５及び更新プログラム提供部１０６を実行する。
【００１６】
通信制御部１０１は、インタフェースであるＷＡＮＩ／Ｆ１２０を制御して、ＷＡＮ４０を介した通信装置２０ａ〜２０ｃとの間のデータ通信を制御するプログラムモジュールである。
【００１７】
データベース処理部１０２は、記憶装置１１０に保存された種々のデータテーブルを処理するプログラムモジュールである。記憶装置１１０には、装置情報管理テーブル、メッセージパターンテーブル、更新プログラム管理テーブル、解析ルール管理テーブル、通信装置２０ａ〜２０ｃの更新プログラム、及び本発明のプログラムが保存される。本実施形態では、データテーブルは、通信装置の型番毎に記憶装置１１０に保存される。
【００１８】
装置情報管理テーブルは、通信装置２０ａ〜２０ｃに関する装置の情報（以下、「装置情報」とする。）が登録されるデータテーブルであり、図４に示すように、装置識別情報（ＩＤ）と、ＩＰアドレスと、現在のファームウェア（ＦＷ）のバージョン情報と、更新プログラムのバージョン情報と、装置情報の更新日時と、動作ログの解析日時と、メッセージパターンの識別情報と、動作ログの解析予定日時とが登録される。
【００１９】
装置ＩＤは、通信装置２０ａ〜２０ｃの製造番号又はＭＡＣ（Media Access Control）アドレス等の固有の識別情報である。ＩＰアドレスは、通信装置２０ａ〜２０ｃのＷＡＮ側のＩＰアドレスである。現在のファームウェアのバージョン情報は、通信装置２０ａ〜２０ｃにインストールされている現在のファームウェアのバージョン情報である。更新プログラムのバージョン情報は、通信装置２０ａ〜２０ｃにインストールすべき更新プログラムのバージョン情報である。装置情報の更新日時は、通信装置２０ａ〜２０ｃから装置情報が提供された日時である。動作ログの解析日時は、通信装置２０ａ〜２０ｃの動作ログについて解析処理が実行された日時である。メッセージパターンの識別情報は、メッセージパターンテーブルに登録されたメッセージパターンの識別情報である。動作ログの解析予定日時は、通信装置２０ａ〜２０ｃの動作ログについて解析処理が実行される予定の日時である。
【００２０】
メッセージパターンテーブルは、図５に示すように、通信装置２０ａ〜２０ｃにおいて発生し得る事象を示す文字情報であるメッセージパターンと、当該メッセージパターンの識別情報であるメッセージパターンＩＤとが登録されるデータテーブルである。メッセージパターンの示す事象には、ＵＳＢ装置の未検出（USB device cannot be detected）等の通信装置２０ａ〜２０ｃに接続される装置との接続に関する事象、又は電話によるダイアルの失敗（TEL dial failure）や無線ＬＡＮの停止及び回復（WLAN hangup occurred, WLAN recovery executed）等の通信装置２０ａ〜２０ｃの通信に関する事象が含まれる。
【００２１】
更新プログラム管理テーブルは、図６に示すように、更新プログラムの提供条件と、当該提供条件に合致した場合に提供される更新プログラムの識別情報とが登録されるデータテーブルである。管理サーバ１０の管理者は、更新プログラムの提供条件として、通信装置２０ａ〜２０ｃにおいて発生し得る事象を示すメッセージパターンや現在のファームウェアのバージョンを登録することができる。
【００２２】
解析ルール管理テーブルは、図７に示すように、通信装置２０ａ〜２０ｃの動作ログの解析処理の実行タイミングと、当該解析処理のスキップ条件とが登録される。管理サーバ１０の管理者は、解析処理の実行タイミングとして任意のタイミングを設定することができると共に、解析処理のスキップ条件として任意の条件を設定することができる。
【００２３】
監視部１０３は、通信装置２０ａ〜２０ｃが送信した装置情報登録要求及び更新プログラムの提供要求、並びに動作ログの解析要求の送信タイミングを検出するプログラムモジュールである。時刻情報提供部１０４は、他のプログラムモジュールからの要求に応じて現在時刻を示す情報を提供するプログラムモジュールである。
【００２４】
更新プログラム決定部１０５は、通信装置２０ａ〜２０ｃの動作ログの解析結果を用いて、当該通信装置にインストールすべき更新プログラムを決定するプログラムモジュールである。具体的には、更新プログラム決定部１０５は、通信装置２０ａ〜２０ｃにおいて発生した事象を示す１以上のメッセージパターンを示す情報が動作ログの解析結果に含まれている場合、更新プログラム管理テーブルを参照し、当該メッセージパターンに対応する更新プログラムを、当該動作ログの解析結果を送信した通信装置にインストールすべき更新プログラムとして決定する。例えば、図６に示す更新プログラム管理テーブルを採用する場合において、通信装置２０ａから受信した動作ログの解析結果にメッセージパターンの識別情報が「２」のみが含まれるとき、更新プログラム決定部１０５は、更新プログラムの識別情報「１．０．１ｂ」が示す更新プログラムを、通信装置２０ａにインストールすべき更新プログラムとして決定する。
【００２５】
また、更新プログラム決定部１０５は、更新プログラム管理テーブル及び装置情報管理テーブルを参照し、通信装置２０ａから受信したメッセージパターンの識別情報と、通信装置２０ａの現在のファームウェアバージョン情報とを用いて、通信装置２０ａにインストールすべき更新プログラムを決定し得る。
【００２６】
更新プログラム提供部１０６は、装置情報管理テーブルを参照して通信装置２０ａ〜２０ｃにインストールすべき更新プログラムを特定し、更新プログラムを記憶装置１１０から取得して通信装置２０ａ〜２０ｃに提供するプログラムモジュールである。
【００２７】
図３は、第１の実施形態に係る通信装置２０ａ〜２０ｃの詳細な構成を示すブロック図である。以下、通信装置２０ａの構成について説明する。なお、通信装置２０ｂ，２０ｃの構成は、通信装置２０ａと同一であるため、説明を省略する。
【００２８】
通信装置２０ａは、制御部２００と、記憶装置２１０と、通信インタフェース（Ｉ／Ｆ）２２０と、ＷＡＮＩ／Ｆ２３０とを備える。制御部２００は、通信装置２０ａの備える装置及び論理回路を制御する演算装置であり、本発明のプログラムを実行することにより、本発明のプログラム管理方法を実行する。制御部２００は、プログラムモジュールである通信制御部２０１、装置情報提供部２０２、ログ生成部２０３、解析部２０４及び更新部２０５を実行する。
【００２９】
通信制御部２０１は、通信Ｉ／Ｆ２２０を制御して端末装置３１ａ，３２ａとの間のデータ通信を制御すると共に、ＷＡＮＩ／Ｆ２３０を制御してＷＡＮ４０を介したデータ通信を制御するプログラムモジュールである。
【００３０】
装置情報提供部２０２は、通信装置２０ａの装置情報を管理サーバ１０に提供するプログラムモジュールである。装置情報提供部２０２が提供する装置情報には、通信装置２０ａの型番、装置ＩＤ及び現在のファームウェアのバージョン情報が含まれる。
【００３１】
ログ生成部２０３は、自機の動作ログを生成するプログラムモジュールである。ログ生成部２０３は、定期的に動作ログを生成すると共に、事象が発生した際に動作ログを生成し、当該動作ログを記憶装置２１０に保存する。
【００３２】
解析部２０４は、自機において発生し得る事象を示す１以上のメッセージパターンを用いて、自機において発生した事象が記録された動作ログについて解析処理を実行し、その解析結果を管理サーバ１０に提供するプログラムモジュールである。具体的には、解析部２０４は、記憶装置２１０に保存された動作ログを参照し、通信装置２０ａにおいて発生し得る事象を示す１以上のメッセージパターンを示す情報が動作ログに含まれている場合、当該メッセージパターンの識別情報を解析結果として管理サーバ１０に提供する。
【００３３】
更新部２０５は、自機にインストールすべき更新プログラムをインストールするプログラムモジュールである。更新部２０５は、ユーザがＧＵＩ等を用いてファームウェアの更新を指示した場合や、管理サーバ１０から更新通知を受信した場合等の任意のタイミングで更新プログラムの提供要求を管理サーバ１０に送信し、管理サーバ１０から更新プログラムを取得することができる。
【００３４】
記憶装置２１０は、通信装置２０ａの装置情報、通信装置２０ａのファームウェア及び動作ログが保存される記憶装置である。記憶装置２１０に保存される装置情報には、通信装置２０ａの型番、装置ＩＤ、ＩＰアドレス及び現在のファームウェアのバージョン情報が含まれる。
【００３５】
通信Ｉ／Ｆ２２０は、端末装置３１ａ，３２ａとの間で、近距離無線通信、有線通信、ＵＳＢポート等のポートを介したデータ通信を行うインタフェースである。ＷＡＮＩ／Ｆ２３０は、ＷＡＮ４０を介して管理サーバ１０との間で種々のデータの送受信を行う装置である。
【００３６】
図８は、第１の実施形態に係る管理サーバ１０が有する主要な構成要素を示すブロック図である。管理サーバ１０は、主要な構成要素として更新プログラム決定部１０５と、更新プログラム提供部１０６とを備える。
【００３７】
図９は、第１の実施形態に係る管理サーバ１０及び通信装置２０ａが実行する処理の一例を示すシーケンス図である。以下、図９を参照して、通信装置２０ａが装置情報を提供し、管理サーバ１０が当該装置情報を登録する処理について説明する。
【００３８】
ステップＳ１０１では、通信装置２０ａの装置情報提供部２０２が、ＨＴＴＰのＰＯＳＴ等を利用して、通信装置２０ａの起動後等の任意のタイミングで装置情報登録要求を、通信装置２０ａの装置情報と共に管理サーバ１０に送信する。この装置情報には、少なくとも通信装置２０ａの型番、装置ＩＤ、現在のファームウェアのバージョン情報が含まれる。
【００３９】
管理サーバ１０は、通信装置２０ａから装置情報登録要求を受信すると、ステップＳ１０２においてデータベース処理部１０２が、通信装置２０ａの送信した装置情報を装置情報管理テーブルに登録すると共に、時刻情報提供部１０４から現在の日時を示す情報を取得し、装置情報の更新日時として装置情報管理テーブルに登録し、ステップＳ１０３で登録完了通知を通信装置２０ａに送信する。通信装置２０ａは、登録完了通知を受信した後、所定の時間（例えば、１週間等）が経過すると、装置情報提供部２０２が、再び装置情報登録要求を管理サーバ１０に送信する。
【００４０】
図１０は、第１の実施形態に係る管理サーバ１０及び通信装置２０ａが実行する処理の別の例を示すシーケンス図である。以下、図１０を参照して、通信装置２０ａが動作ログの解析処理を実行し、管理サーバ１０が、その解析結果に基づいて通信装置２０ａにインストールすべき更新プログラムを決定する処理について説明する。
【００４１】
ステップＳ２０１では、管理サーバ１０の監視部１０３が、時刻情報提供部１０４から現在の日時を示す情報を取得し、装置情報管理テーブルに登録された動作ログの解析予定日時と現在の日時とが一致すると判断した場合、装置情報管理テーブル内の当該解析予定日時に関連付けられたＩＰアドレスの示す通信装置２０ａに対し、動作ログの解析要求を送信する。監視部１０３は、当該動作ログの解析要求と共に、メッセージパターンテーブルに登録されたメッセージパターンと、当該メッセージパターンの識別情報を送信する。
【００４２】
通信装置２０ａは、管理サーバ１０から動作ログの解析要求を受信すると、ステップＳ２０２において解析部２０４が、当該メッセージパターンを用いて自機の動作ログについて解析処理を実行し、ステップＳ２０３で解析結果を管理サーバ１０に送信する。この解析結果には、少なくとも動作ログの解析日時、動作ログに含まれたメッセージパターンの識別情報が含まれ得る。
【００４３】
管理サーバ１０は、通信装置２０ａから解析結果を受信すると、ステップＳ２０４において更新プログラム決定部１０５が、更新プログラム管理テーブルを参照し、通信装置２０ａから受信したメッセージパターンの識別情報を用いて、通信装置２０ａにインストールすべき更新プログラムを決定する。
【００４４】
通信装置２０ａにインストールすべき更新プログラムが有る場合、ステップＳ２０５においてデータベース処理部１０２が、通信装置２０ａの型番で識別される装置情報管理テーブルを更新する。具体的には、データベース処理部１０２は、当該装置情報管理テーブルの通信装置２０ａの装置ＩＤと関連付けて、当該更新プログラムのバージョン情報、通信装置２０ａから受信した動作ログの解析日時及びメッセージパターンの識別情報、並びに動作ログの解析予定日時を登録する。このとき、データベース処理部１０２は、解析ルール管理テーブルを参照し、動作ログの解析日時を用いて、動作ログの解析予定日時を決定し、装置情報管理テーブルに登録する。なお、管理サーバ１０は、装置情報管理テーブルを更新した後、インストールすべき更新プログラムが存在する旨の更新通知を通信装置２０ａに送信してもよい。
【００４５】
一方、更新プログラム決定部１０５が通信装置２０ａにインストールすべき更新プログラムが無いと判断した場合、データベース処理部１０２が、通信装置２０ａにインストールすべき更新プログラムが無い旨を示す情報、メッセージパターンの識別情報が無い旨を示す情報、通信装置２０ａから受信した動作ログの解析日時、及び動作ログの解析予定日時を装置情報管理テーブルに登録し、装置情報管理テーブルを更新する。
【００４６】
図１１は、第１の実施形態に係る管理サーバ１０及び通信装置２０ａが実行する処理の別の例を示すシーケンス図である。以下、図１１を参照して、通信装置２０ａが、自機がインストールすべき更新プログラムを管理サーバ１０から取得し、当該更新プログラムをインストールしてファームウェアを更新する処理について説明する。
【００４７】
ステップＳ３０１では通信装置２０ａの更新部２０５が、更新プログラムの提供要求を、装置情報と共に管理サーバ１０に送信する。この装置情報には、少なくとも通信装置２０ａの型番、装置ＩＤ、現在のファームウェアのバージョン情報が含まれる。
【００４８】
管理サーバ１０の監視部１０３が、通信装置２０ａから更新プログラムの提供要求を受信したことを検出すると、ステップＳ３０２において更新プログラム提供部１０６が、装置情報管理テーブルを参照し、通信装置２０ａにインストールすべき更新プログラムを特定する。通信装置２０ａにインストールすべき更新プログラムが有る場合、ステップＳ３０３において更新プログラム提供部１０６は、当該更新プログラムを通信装置２０ａに送信する。一方、通信装置２０ａにインストールすべき更新プログラムが無い場合、更新プログラム提供部１０６は、インストールすべき更新プログラムが無い旨の通知を通信装置２０ａに送信する。
【００４９】
通信装置２０ａは、管理サーバ１０から更新プログラムを受信すると、ステップＳ３０４において更新部２０５が、当該更新プログラムを用いてファームウェアを更新し、ステップＳ３０５においてファームウェアを更新した旨の更新完了通知を、装置情報と共に管理サーバ１０に送信する。この装置情報には、少なくとも通信装置２０ａの型番、装置ＩＤ、更新後のファームウェアのバージョン情報が含まれる。
【００５０】
管理サーバ１０は、通信装置２０ａから更新完了通知を受信すると、ステップＳ３０６においてデータベース処理部１０２が、通信装置２０ａの型番で識別される装置情報管理テーブルを更新する。具体的には、データベース処理部１０２は、当該装置情報管理テーブルの通信装置２０ａの装置ＩＤと関連付けて、現在のファームウェアのバージョン情報として更新後のファームウェアのバージョン情報を登録すると共に、時刻情報提供部１０４から現在の日時を示す情報を取得し、装置情報の更新日時として装置情報管理テーブルに登録する。
【００５１】
（第１の実施形態の効果）
管理サーバ１０は、通信装置２０ａ〜２０ｃにおいて発生した事象が記録された動作ログについての解析処理の解析結果を用いて、これらの通信装置にインストールすべき更新プログラムを個別に決定する。解析結果には、各通信装置において発生した事象を示す１以上のメッセージパターンを示す情報が含まれており、管理サーバ１０は、当該解析結果に含まれたメッセージパターンに対応する更新プログラムを、当該通信装置にインストールすべき更新プログラムとして決定し、各通信装置に提供する。これにより、管理サーバ１０は、通信装置２０ａ〜２０ｃにおいて発生した事象に応じた更新プログラムを当該通信装置に提供することができる。
【００５２】
上述したように、管理サーバ１０は、同一の型番を有する全ての通信装置に対して更新プログラムを提供してファームウェアを更新させるのではなく、同一の型番を有する複数の通信装置のうちファームウェアの更新が必要な通信装置のみに対して更新プログラムを提供してファームウェアを更新させる。これにより、ファームウェアの更新対象となる通信装置の範囲をより限定することができるため、通信装置に提供した更新プログラムにバグが含まれる場合でも、そのバグによる影響範囲を最小限に止めることができる。
【００５３】
また、メッセージパターンの示す事象には、ＵＳＢ装置の未検出等の通信装置２０ａ〜２０ｃに接続される装置との接続に関する事象、又は電話によるダイアルの失敗や無線ＬＡＮの停止及び回復等の通信装置２０ａ〜２０ｃの通信に関する事象が含まれる。これにより、管理サーバ１０は、これらの個別の事象に応じた更新プログラムを通信装置に提供することができる。
【００５４】
さらに、管理サーバ１０が保持する装置情報管理テーブルには、通信装置２０ａ〜２０ｃの現在のファームウェアのバージョン情報と更新プログラムのバージョン情報が登録されるため、管理サーバ１０の管理者が、通信装置２０ａ〜２０ｃのプログラムの更新状況を把握することができる。すなわち、管理者は、通信装置２０ａ〜２０ｃの現在のファームウェアのバージョン情報と更新プログラムのバージョン情報が同じである場合は、ファームウェアの更新が行われており、これらのバージョン情報が異なる場合は、ファームウェアの更新が行われていないと判断することができる。
【００５５】
さらに、管理サーバ１０が保持する装置情報管理テーブルには、通信装置２０ａ〜２０ｃの現在のファームウェアのバージョン情報と、これらの通信装置において発生した事象を示すメッセージパターンの識別情報が登録されるため、管理サーバ１０の管理者が、通信装置２０ａ〜２０ｃにおいて発生した事象を把握することができる。これにより、開発者は、通信装置２０ａ〜２０ｃの現在のファームウェアのバージョン情報及び発生事象を考慮して、更新プログラムの開発及び評価を行うことができる。
【００５６】
＜第２の実施形態＞
本発明の第２の実施形態では、管理サーバ１０が、通信装置２０ａ〜２０ｃの動作ログを解析する。図１２は、第２の実施形態に係る管理サーバ１０の詳細な構成を示すブロック図である。第２の実施形態に係る管理サーバ１０は、第１の実施形態に係る管理サーバが有する構成要素に加え、通信装置２０ａ〜２０ｃの動作ログを解析する解析部１０７を有する。図１３は、第２の実施形態に係る通信装置２０ａの詳細な構成を示すブロック図である。第２の実施形態に係る通信装置２０ａは、第１の実施形態に係る管理サーバが有する解析部２０４の代わりに、管理サーバ１０に動作ログを提供する動作ログ提供部２０６を有する。
【００５７】
図１４は、第２の実施形態に係る管理サーバ１０及び通信装置２０ａが実行する処理の一例を示すシーケンス図である。以下、図１４を参照して、管理サーバ１０が、通信装置２０ａの動作ログを解析して、通信装置２０ａにインストールすべき更新プログラムを決定する処理について説明する。
【００５８】
ステップＳ４０１では、管理サーバ１０の監視部１０３が、時刻情報提供部１０４から現在の日時を示す情報を取得し、装置情報管理テーブルに登録された動作ログの解析予定日時と現在時刻とが一致すると判断した場合、装置情報管理テーブル内の当該解析予定日時に関連付けられたＩＰアドレスが示す通信装置２０ａに動作ログ提供要求を送信する。このとき、監視部１０３は、提供すべき動作ログを時間で指定することができる。
【００５９】
通信装置２０ａは、管理サーバ１０から動作ログ提供要求を受信すると、ステップＳ４０２において動作ログ提供部２０６が、記憶装置２１０から提供対象の動作ログを取得し、ステップＳ４０３において当該動作ログを管理サーバ１０に送信する。
【００６０】
管理サーバ１０は、通信装置２０ａから動作ログを受信すると、ステップＳ４０４において解析部１０７が、メッセージパターンテーブルに登録されたメッセージパターンを用いて、通信装置２０ａの動作ログについて解析処理を実行し、解析結果を生成する。解析処理の解析結果には、解析処理で抽出されたメッセージパターンの識別情報が含まれ得る。ステップＳ４０５では、更新プログラム決定部１０５が、更新プログラム管理テーブルを参照し、解析結果であるメッセージパターンの識別情報を用いて、通信装置２０ａにインストールすべき更新プログラムを決定する。
【００６１】
通信装置２０ａにインストールすべき更新プログラムが有る場合、ステップＳ４０６においてデータベース処理部１０２が、通信装置２０ａの型番で識別される装置情報管理テーブルを更新する。具体的には、データベース処理部１０２は、当該装置情報管理テーブルの通信装置２０ａの装置ＩＤと関連付けて、当該更新プログラムのバージョン情報、通信装置２０ａの動作ログについて解析処理を実行した解析日時及びメッセージパターンの識別情報、並びに当該動作ログの解析予定日時を登録する。管理サーバ１０は、装置情報管理テーブルを更新した後、インストールすべき更新プログラムが存在する旨の更新通知を通信装置２０ａに送信してもよい。
【００６２】
一方、更新プログラム決定部１０５が通信装置２０ａにインストールすべき更新プログラムが無いと判断した場合、データベース処理部１０２が、通信装置２０ａにインストールすべき更新プログラムが無い旨を示す情報、メッセージパターンの識別情報が無い旨を示す情報、通信装置２０ａの動作ログについて解析処理を実行した解析日時、及び動作ログの解析予定日時を装置情報管理テーブルに登録し、装置情報管理テーブルを更新する。
【００６３】
（第２の実施形態の効果）
第２の実施形態では、管理サーバ１０が、通信装置２０ａ〜２０ｃから動作ログを取得し、これらの動作ログを用いて解析処理を実行する。これにより、通信装置２０ａ〜２０ｃは、動作ログの解析処理を実行する必要がないため、通信装置２０ａ〜２０ｃの処理負担を軽減することができる。また、管理サーバ１０が通信装置２０ａ〜２０ｃの動作ログを装置ＩＤ及び取得日時と共に保持する。このため、管理サーバ１０の管理者が、動作ログを解析して通信装置２０ａ〜２０ｃの状態（例えば、事象の発生状況や解消状況等）を把握することができる。
【００６４】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６５】
本発明は上述した実施形態に限られたものではなく、本発明の趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した実施形態では、通信装置２０ａ〜２０ｃの演算装置である制御部２００が、プログラムモジュールである通信制御部２０１、装置情報提供部２０２、ログ生成部２０３、解析部２０４、更新部２０５及び動作ログ提供部２０６を実行するが、他の実施形態では、これらのプログラムモジュールを個別又は同一の論理回路に実装して、上述した処理を実行してもよい。
【符号の説明】
【００６６】
１              通信システム
１０            管理サーバ
２０ａ〜２０ｃ  通信装置
３１ａ〜３１ｃ  端末装置
３２ａ〜３２ｃ  端末装置
４０            ＷＡＮ
【図１】
2020120240.tif 000003
【図２】
2020120240.tif 000004
【図３】
2020120240.tif 000005
【図４】
2020120240.tif 000006
【図５】
2020120240.tif 000007
【図６】
2020120240.tif 000008
【図７】
2020120240.tif 000009
【図８】
2020120240.tif 000010
【図９】
2020120240.tif 000011
【図１０】
2020120240.tif 000012
【図１１】
2020120240.tif 000013
【図１２】
2020120240.tif 000014
【図１３】
2020120240.tif 000015
【図１４】
2020120240.tif 000016