(57)【特許請求の範囲】
【請求項１】
電子機器に発生する不具合を解決可能なプログラムを記憶するためのプログラム記憶部と、
前記プログラム記憶部が記憶するプログラムを示すプログラム識別情報と、前記プログラムが解決可能な不具合を示す不具合情報とを、互いに関連付けて記憶するための不具合記憶部と、
１以上の電子機器から、前記１以上の電子機器に発生した不具合を示す不具合情報を取得し、
前記プログラム記憶部が、前記取得した不具合情報を示す不具合を解決可能なプログラムを記憶しているか否かを判断し、
前記１以上の電子機器から取得した前記不具合情報が、前記不具合記憶部に登録されていない場合、又は
前記１以上の電子機器から取得した前記不具合情報が、前記不具合記憶部に登録されており、かつ、前記プログラム識別情報と関連付けられていない場合、
前記プログラム記憶部が、前記不具合を解決可能なプログラムを記憶していないと判断し、
前記プログラム記憶部が前記不具合を解決可能なプログラムを記憶していないと判断すると、前記取得した不具合情報と、前記１以上の電子機器を識別する機器識別情報とを、互いに関連付けて前記不具合記憶部に新たに登録し、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶すると、前記新たに記憶されたプログラムを、前記不具合情報に関連付けて前記不具合記憶部に登録された前記機器識別情報により識別される前記１以上の電子機器に供給する
制御部と
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記制御部は、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶したことを、前記不具合情報に関連付けて前記不具合記憶部に登録された前記機器識別情報により識別される前記１以上の電子機器に通知し、
少なくとも一部の前記１以上の電子機器から、前記不具合を解決可能なプログラムを供給するよう要求を受け付け、
前記要求の要求元の電子機器に、前記新たに記憶されたプログラムを供給する
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記プログラムは、ファームウェアである
情報処理装置。
【請求項４】
情報処理装置を、
電子機器に発生する不具合を解決可能なプログラムを記憶するためのプログラム記憶部と、
前記プログラム記憶部が記憶するプログラムを示すプログラム識別情報と、前記プログラムが解決可能な不具合を示す不具合情報とを、互いに関連付けて記憶するための不具合記憶部と、
１以上の電子機器から、前記１以上の電子機器に発生した不具合を示す不具合情報を取得し、
前記プログラム記憶部が、前記取得した不具合情報を示す不具合を解決可能なプログラムを記憶しているか否かを判断し、
前記１以上の電子機器から取得した前記不具合情報が、前記不具合記憶部に登録されていない場合、又は
前記１以上の電子機器から取得した前記不具合情報が、前記不具合記憶部に登録されており、かつ、前記プログラム識別情報と関連付けられていない場合、
前記プログラム記憶部が、前記不具合を解決可能なプログラムを記憶していないと判断し、
前記プログラム記憶部が前記不具合を解決可能なプログラムを記憶していないと判断すると、前記取得した不具合情報と、前記１以上の電子機器を識別する機器識別情報とを、互いに関連付けて前記不具合記憶部に新たに登録し、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶すると、前記新たに記憶されたプログラムを、前記不具合情報に関連付けて前記不具合記憶部に登録された前記機器識別情報により識別される前記１以上の電子機器に供給する
制御部
として機能させるプログラム供給プログラム。
【請求項５】
１以上の電子機器と、情報処理装置とを具備する情報処理システムであって、
前記１以上の電子機器は、それぞれ、
自機器に発生した不具合を示す不具合情報を前記情報処理装置に供給する制御部を有し、
前記情報処理装置は、
電子機器に発生する不具合を解決可能なプログラムを記憶するためのプログラム記憶部と、
前記プログラム記憶部が記憶するプログラムを示すプログラム識別情報と、前記プログラムが解決可能な不具合を示す不具合情報とを、互いに関連付けて記憶するための不具合記憶部と、
前記１以上の電子機器から、前記不具合情報を取得し、
前記プログラム記憶部が、前記取得した不具合情報を示す不具合を解決可能なプログラムを記憶しているか否かを判断し、
前記１以上の電子機器から取得した前記不具合情報が、前記不具合記憶部に登録されていない場合、又は
前記１以上の電子機器から取得した前記不具合情報が、前記不具合記憶部に登録されており、かつ、前記プログラム識別情報と関連付けられていない場合、
前記プログラム記憶部が、前記不具合を解決可能なプログラムを記憶していないと判断し、
前記プログラム記憶部が前記不具合を解決可能なプログラムを記憶していないと判断すると、前記取得した不具合情報と、前記１以上の電子機器を識別する機器識別情報とを、互いに関連付けて前記不具合記憶部に新たに登録し、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶すると、前記新たに記憶されたプログラムを、前記不具合情報に関連付けて前記不具合記憶部に登録された前記機器識別情報により識別される前記１以上の電子機器に供給する
制御部と
を有する
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子機器に不具合が生じたときに、当該不具合を解決可能なファームウェアを電子機器に供給する情報処理装置、プログラム供給プログラム及び情報処理システムに関する。
【背景技術】
【０００２】
電子機器の不具合に関するログを収集し、収集したログを基に、不具合を解決可能なファームウェアを保持しているか否かを判断し、不具合を解決可能なファームウェアを保持している場合に、当該ファームウェアの情報を電子機器に送信するサーバーが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０４３０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記技術において、不具合を解決可能なファームウェアをサーバーが保持していない場合、電子機器の当該不具合を解決することができない。
【０００５】
以上のような事情に鑑み、本開示の目的は、電子機器に生じた不具合を解決可能なファームウェアをサーバーが保持していない場合でも、将来的に電子機器の当該不具合を解決することが可能な情報処理装置、プログラム供給プログラム及び情報処理システムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本開示の一形態に係る情報処理装置は、
電子機器に発生する不具合を解決可能なプログラムを記憶するためのプログラム記憶部と、
前記プログラム記憶部が記憶するプログラムを示すプログラム識別情報と、前記プログラムが解決可能な不具合を示す不具合情報とを、互いに関連付けて記憶するための不具合記憶部と、
１以上の電子機器から、前記１以上の電子機器に発生した不具合を示す不具合情報を取得し、
前記プログラム記憶部が、前記取得した不具合情報を示す不具合を解決可能なプログラムを記憶しているか否かを判断し、
前記プログラム記憶部が前記不具合を解決可能なプログラムを記憶していないと判断すると、前記取得した不具合情報を、前記不具合記憶部に新たに登録し、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶すると、前記新たに記憶されたプログラムを、前記１以上の電子機器に供給する
制御部と
を備える。
【０００７】
これにより、電子機器に生じた不具合を解決可能なプログラムを情報処理装置が保持していないため、電子機器に生じた不具合を直ちに解決することができない場合でも、将来的に、電子機器に生じた不具合を解決することが可能である。
【０００８】
前記制御部は、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶したことを、前記１以上の電子機器に通知し、
少なくとも一部の前記１以上の電子機器から、前記不具合を解決可能なプログラムを供給するよう要求を受け付け、
前記要求の要求元の電子機器に、前記新たに記憶されたプログラムを供給する。
【０００９】
不具合を解決可能なプログラムを、プログラムを供給するよう要求する電子機器にのみ供給することで、各電子機器の個別具体的な必要性に応じて、電子機器にプログラムを供給することができる。
【００１０】
前記プログラムは、ファームウェアである。
【００１１】
上記目的を達成するため、本開示の一形態に係るプログラム供給プログラムは、
情報処理装置を、
電子機器に発生する不具合を解決可能なプログラムを記憶するためのプログラム記憶部と、
前記プログラム記憶部が記憶するプログラムを示すプログラム識別情報と、前記プログラムが解決可能な不具合を示す不具合情報とを、互いに関連付けて記憶するための不具合記憶部と、
１以上の電子機器から、前記１以上の電子機器に発生した不具合を示す不具合情報を取得し、
前記プログラム記憶部が、前記取得した不具合情報を示す不具合を解決可能なプログラムを記憶しているか否かを判断し、
前記プログラム記憶部が前記不具合を解決可能なプログラムを記憶していないと判断すると、前記取得した不具合情報を、前記不具合記憶部に新たに登録し、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶すると、前記新たに記憶されたプログラムを、前記１以上の電子機器に供給する
制御部
として機能させる。
【００１２】
上記目的を達成するため、本開示の一形態に係る情報処理システムは、
１以上の電子機器と、情報処理装置とを具備する情報処理システムであって、
前記１以上の電子機器は、それぞれ、
自機器に発生した不具合を示す不具合情報を前記情報処理装置に供給する制御部を有し、
前記情報処理装置は、
電子機器に発生する不具合を解決可能なプログラムを記憶するためのプログラム記憶部と、
前記プログラム記憶部が記憶するプログラムを示すプログラム識別情報と、前記プログラムが解決可能な不具合を示す不具合情報とを、互いに関連付けて記憶するための不具合記憶部と、
前記１以上の電子機器から、前記不具合情報を取得し、
前記プログラム記憶部が、前記取得した不具合情報を示す不具合を解決可能なプログラムを記憶しているか否かを判断し、
前記プログラム記憶部が前記不具合を解決可能なプログラムを記憶していないと判断すると、前記取得した不具合情報を、前記不具合記憶部に新たに登録し、
前記プログラム記憶部が、前記不具合記憶部に新たに登録された不具合情報により示される不具合を解決可能なプログラムを新たに記憶すると、前記新たに記憶されたプログラムを、前記１以上の電子機器に供給する
制御部と
を有する。
【発明の効果】
【００１３】
本開示によれば、電子機器に生じた不具合を解決可能なファームウェアをサーバーが保持していない場合でも、将来的に電子機器の当該不具合を解決することが可能である。
【図面の簡単な説明】
【００１４】
【図１】本開示の実施形態に係る情報処理システムを示す図である。
【図２】情報処理装置のハードウェア構成を示すブロック図である。
【図３】電子機器のハードウェア構成を示すブロック図である。
【図４】情報処理装置及び電子機器の機能的構成を示すブロック図である。
【図５】電子機器に不具合が発生したときの情報処理システムの動作を示すシーケンス図である。
【図６】電子機器に不具合が発生したときの情報処理装置の動作を示すフローチャートである。
【図７】電子機器に不具合が発生したときの電子機器の動作を示すフローチャートである。
【図８】ファームウェアが情報処理装置に新たに登録されたときの情報処理システムの動作を示すシーケンス図である
【図９】ファームウェアが情報処理装置に新たに登録されたときの情報処理装置の動作を示すフローチャートである。
【図１０】ファームウェアが情報処理装置に新たに登録されたときの電子機器の動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、本開示の実施形態を説明する。
【００１６】
（１．情報処理システムの概要）
図１は、本技術の一実施形態に係る情報処理システムを示す図である。
情報処理システム１は、情報処理装置１０と、１以上（典型的には複数）の電子機器２０とを有する。
【００１７】
情報処理装置１０は、インターネット等のネットワークＮを通じて、電子機器２０と双方向に通信して情報を授受する。情報処理装置１０は、サーバー装置としての機能を有し、以下、「サーバー装置１０」と称する。電子機器２０は、例えば、ＭＦＰ（Multifunction peripheral）等の画像形成装置であり、以下ＭＦＰ２０と称する。
【００１８】
サーバー装置１０は、各ＭＦＰ２０に生じうる各種の不具合を解決可能な各種のプログラム（典型的にはファームウェア。以下ファームウェアとして説明する。）を予め保持している。各ＭＦＰ２０は、何らかの不具合（例えば、システムエラーやロック等）が発生すると、この不具合に関するログを生成し、生成したログをサーバー装置１０に送信する。サーバー装置１０は、受信したログを基に、この不具合を解決可能な特定のファームウェアを保持しているか否かを判断する。サーバー装置１０は、この不具合を解決可能なファームウェアを保持している場合、ＭＦＰ２０に当該ファームウェアを供給する。一方、サーバー装置１０は、この不具合を解決可能なファームウェアを保持していない場合、ＭＦＰ２０の不具合を直ちに解決することができない。その後、サーバー装置１０にこの不具合を解決可能なファームウェアが新たに登録されると、サーバー装置１０は、当該ファームウェアをＭＦＰ２０に供給する。
【００１９】
（２．ハードウェア構成）
（２−１．情報処理装置のハードウェア構成）
図２は、情報処理装置のハードウェア構成を示すブロック図である。
【００２０】
サーバー装置１０は、制御部１１と、制御部１１とバス１６を介して接続された表示部１２、ネットワーク通信部１３、操作部１４及び記憶部１５とを有する。
【００２１】
制御部１１は、ＣＰＵ（Central Processing Unit）等を含む。制御部１１は、ＲＡＭ（Random Access Memory）にロードされたプログラムを実行する。
【００２２】
表示部１２は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electroluminescence）ディスプレイ等を含む。表示部１２は、制御部１１から受け取った情報に基づいて演算処理を行い、生成した画像信号を画面に表示する。典型的には、表示部１２は外付けの表示装置である。
【００２３】
ネットワーク通信部１３は、ネットワークＮに接続するためのインターフェースである。
【００２４】
操作部１４は、キーボード、マウス及び各種スイッチ等を含む。操作部１４は、ユーザーからの操作を検出して制御部１１に出力する。
【００２５】
記憶部１５は、ＲＯＭ（Read Only Memory）と、ＲＡＭと、ＨＤＤ（Hard Disk Drive）等の大容量の記憶装置とを含む。ＲＯＭは、コンピューター読み取り可能な非一過性の記録媒体の一例であり、制御部１１が実行するプログラムやデータ等を固定的に記録する。ＲＡＭには、ＲＯＭに記録されたプログラムがロードされる。
【００２６】
（２−２．ＭＦＰのハードウェア構成）
図３は、本開示の第１の実施形態に係るＭＦＰのハードウェア構成を示すブロック図である。
【００２７】
ＭＦＰ２０は、制御部２１を備える。制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）及び専用のハードウェア回路等から構成され、ＭＦＰ２０の全体的な動作制御を司る。ＭＦＰ２０を各機能部（後述）として機能させるコンピュータープログラムは、ＲＯＭ等のコンピューター読み取り可能な非一過性の記録媒体に記録される。
【００２８】
制御部２１は、画像読取部２２、画像処理部２４、画像メモリー２５、画像形成部２６、操作部２７、記憶部２８、ネットワーク通信部２３等と接続されている。制御部２１は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【００２９】
制御部２１は、ユーザーから、操作部２７またはネットワークＮに接続されたパーソナルコンピュータ（図示せず）等を通じて入力されるジョブの実行指示に従って、スキャナ機能、印刷機能及びコピー機能機能等の各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
【００３０】
画像読取部２２は、原稿から画像を読み取る。
【００３１】
画像処理部２４は、画像読取部２２で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部２４は、画像読取部２２により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【００３２】
画像メモリー２５は、画像読取部２２による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部２６での印刷対象となるデータを一時的に記憶したりする領域を有する。
【００３３】
画像形成部２６は、画像読取部２２で読み取られた画像データ等の画像形成を行う。
【００３４】
操作部２７は、ＭＦＰ２０が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたＬＣＤ（Liquid Crystal Display）等の表示部２７ａを備えている。
【００３５】
ネットワーク通信部２３は、ネットワークに接続するためのインターフェースである。
【００３６】
記憶部２８は、画像読取部２２によって読み取られた原稿画像等を記憶する、ＨＤＤ（Hard Disk Drive）等の大容量の記憶装置である。記憶部２８には、ＭＦＰ２０内のハードウェアを制御するためのプログラムであるファームウェアが保持される。
【００３７】
（３．情報処理装置及び電子機器の機能的構成）
図４は、本開示の一実施形態に係る情報処理装置及び電子機器の機能的構成を示すブロック図である。
【００３８】
サーバー装置１０は、コンピューター読み取り可能な非一過性の記録媒体の一例であるＲＯＭに記録された情報処理プログラムをＲＡＭにロードして実行することにより、問合せ応答部１１１、転送管理部１１２及びサービスサポート部１１３として機能する。
【００３９】
問合せ応答部１１１は、サーバー装置１０が、取得したログにより特定される不具合を解決可能なファームウェアを保持しているか否かを判断する。
【００４０】
転送管理部１１２は、ファームウェアＤＢ１５１から読み出したファームウェアをＭＦＰ２０に供給する。
【００４１】
サービスサポート部１１３は、不具合ＤＢ１５２から読み出した機器識別情報により一意に識別されるＭＦＰ２０に、ＭＦＰ２０に発生した不具合を解決可能なファームウェアが新たに登録されたことを通知する。
【００４２】
ＭＦＰ２０は、コンピューター読み取り可能な非一過性の記録媒体の一例であるＲＯＭに記録された情報処理プログラムをＲＡＭにロードして実行することにより、処理実行部２１１、ログ生成部２１２、ＤＢ問合せ部２１３及び更新処理部２１４として機能する。
【００４３】
処理実行部２１１は、外部装置から取得したデータに対して特定の処理を実行する。
【００４４】
ログ生成部２１２は、不具合が発生した時のＭＦＰ２０の内部状態を示すログを生成する。
【００４５】
ＤＢ問合せ部２１３は、ログにより特定される不具合を解決可能なファームウェアをサーバー装置１０が保持しているか否かを、サーバー装置１０に問い合わせる。
【００４６】
更新処理部２１４は、記憶部２８に記憶されたファームウェアを、サーバー装置１０から取得したファームウェアで更新する。
【００４７】
（４．情報処理システムの動作）
（４−１．ＭＦＰに不具合が発生したときの動作）
図５は、ＭＦＰに不具合が発生したときの情報処理システムの動作を示すシーケンス図である。図６は、ＭＦＰに不具合が発生したときの情報処理装置の動作を示すフローチャートである。図７は、ＭＦＰに不具合が発生したときのＭＦＰの動作を示すフローチャートである。
【００４８】
ＭＦＰ２０の処理実行部２１１は、パーソナルコンピューター等の外部装置（図示せず）から入力されたデータ（例えば、印刷データ）を取得する（ステップＳ２０１）。処理実行部２１１は、外部装置から取得したデータに対して特定の処理（例えば、画像処理及び画像形成）の実行を開始する（ステップＳ２０２）。処理実行部２１１は、処理の実行中に不具合が発生したか否かを監視している（ステップＳ２０３）。処理実行部２１１は、処理の実行中に不具合の発生を検出すると（ステップＳ２０３：Ｙｅｓ）、不具合が発生したことをログ生成部２１２に通知する。
【００４９】
ＭＦＰ２０のログ生成部２１２は、処理実行部２１１から不具合が発生したことの通知を受けると、不具合が発生した時のＭＦＰ２０の内部状態を示すログを生成する（ステップＳ２０４）。このログは、例えば、制御部２１の種別（名称等）を示す情報、制御部２１のバージョン情報、制御部２１内において不具合が発生した機能部（モジュール）を特定する情報、当該不具合が発生した機能部（モジュール）のバージョン情報及び発生したエラーの種別を示す情報等を含む。ログ生成部２１２は、生成したログをＤＢ問合せ部２１３に供給する。
【００５０】
ＭＦＰ２０のＤＢ問合せ部２１３は、ログ生成部２１２から取得したログをネットワークＮを介してサーバー装置１０に供給し、このログにより特定される不具合を解決可能なファームウェアをサーバー装置１０が保持しているか否かを、サーバー装置１０に問い合わせる（ステップＳ２０５）。
【００５１】
サーバー装置１０の問合せ応答部１１１は、ネットワークＮを介してＭＦＰ２０からログを取得する（ステップＳ１０１）。問合せ応答部１１１は、サーバー装置１０が、取得したログにより特定される不具合を解決可能なファームウェアを保持しているか否かを判断する（ステップＳ１０２）。具体的には、不具合データベース（ＤＢ）１５２（不具合記憶部）は、複数のＭＦＰ２０から取得した不具合のログ（不具合情報）を記憶している。不具合ＤＢ１５２は、記憶しているログにより特定される不具合を解決可能なファームウェアをサーバー装置１０が保持している場合には、ログに関連付けて、このファームウェアを示すファームウェア識別情報を記憶している。「ファームウェア識別情報」は、例えば、ファームウェアのバージョン情報を含む。
【００５２】
問合せ応答部１１１は、ＭＦＰ２０から取得したログが示す不具合を含むログを、不具合ＤＢ１５２から探索する。問合せ応答部１１１は、ＭＦＰ２０から取得したログが示す不具合を含むログを不具合ＤＢ１５２から検出した場合、検出されたログに不具合を解決可能なファームウェア識別情報が関連付けられているか否かを判断する。問合せ応答部１１１は、検出されたログに不具合を解決可能なファームウェア識別情報が関連付けられている場合、ログにより特定される不具合を解決可能なファームウェアを、サーバー装置１０が保持していると判断する（ステップＳ１０２：Ｙｅｓ）。問合せ応答部１１１は、ログにより特定される不具合を解決可能なファームウェアを、サーバー装置１０が保持していると判断すると、当該判断結果をＭＦＰ２０に通知する（ステップＳ１０３）。当該判断結果には、ログにより特定される不具合を解決可能なファームウェアのファームウェア識別情報（バージョン情報を含む）が付加される。
【００５３】
ＭＦＰ２０のＤＢ問合せ部２１３は、サーバー装置１０から応答としての判断結果を受信する（ステップＳ２０６）。ＤＢ問合せ部２１３は、取得した判断結果が、不具合を解決可能なファームウェアをサーバー装置１０が保持していることを示す場合（ステップＳ２０６：Ｙｅｓ）、ファームウェアにより不具合を解決可能であることを示す表示とファームウェアを更新するか否かをユーザーに入力させるための表示とを表示部２７ａに表示させる。ＤＢ問合せ部２１３は、操作部２７に対するユーザーの特定の入力操作をファームウェア更新要求として検出する。すると、ＤＢ問合せ部２１３は、取得した判断結果に付加されたファームウェア識別情報（バージョン情報を含む）が示すファームウェアの取得要求を、サーバー装置１０に送信する（ステップＳ２０７）。なお、処理実行部２１１が処理を実行中である場合は、ＤＢ問合せ部２１３は、処理実行部２１１による処理が完了した後、ファームウェアの取得要求をサーバー装置１０に送信する。
【００５４】
サーバー装置１０の転送管理部１１２は、ＭＦＰ２０からファームウェアの取得要求を受信する（ステップＳ１０４）。転送管理部１１２は、受信した取得要求の対象のファームウェアをファームウェアＤＢ１５１（プログラム記憶部）から読み出し、読み出したファームウェアをＭＦＰ２０に供給する（ステップＳ１０５）。
【００５５】
ＭＦＰ２０の更新処理部２１４は、サーバー装置１０から不具合を解決可能なファームウェアを取得（ダウンロード）する（ステップＳ２０８）。更新処理部２１４は、記憶部２８に記憶されたファームウェアを、サーバー装置１０から取得したファームウェアで更新する（ステップＳ２０９）。
【００５６】
一方、サーバー装置１０の問合せ応答部１１１は、ＭＦＰ２０から取得したログが示す不具合を含むログを不具合ＤＢ１５２から検出できない場合、ログにより特定される不具合を解決可能なファームウェアを、サーバー装置１０が保持していないと判断する（ステップＳ１０２：Ｎｏ）。また、問合せ応答部１１１は、ＭＦＰ２０から取得したログが示す不具合を含むログを不具合ＤＢ１５２から検出し、かつ、検出されたログに不具合を解決可能なファームウェア識別情報が関連付けられていない場合も、ログにより特定される不具合を解決可能なファームウェアを、サーバー装置１０が保持していないと判断する（ステップＳ１０２：Ｎｏ）。問合せ応答部１１１は、ログにより特定される不具合を解決可能なファームウェアをサーバー装置１０が保持していないと判断すると、当該判断結果をＭＦＰ２０に通知し、ＭＦＰ２０から取得したログと、このＭＦＰ２０を一意に識別する機器識別情報とを、互いに関連付けて不具合ＤＢ１５２に記憶する（ステップＳ１０６）。
【００５７】
ＭＦＰ２０のＤＢ問合せ部２１３は、サーバー装置１０から応答としての判断結果を受信する（ステップＳ２０６）。ＤＢ問合せ部２１３が取得した判断結果が不具合を解決可能なファームウェアをサーバー装置１０が保持していないことを示す場合（ステップＳ２０６：Ｎｏ）、ＭＦＰ２０は、現時点では直ちに不具合を解決することができない。
【００５８】
（４−２．ファームウェアがサーバー装置に新たに登録されたときの動作）
図８は、ファームウェアがサーバー装置に新たに登録されたときの情報処理システムの動作を示すシーケンス図である。図９は、ファームウェアがサーバー装置に新たに登録されたときのサーバー装置の動作を示すフローチャートである。図１０は、ファームウェアがサーバー装置に新たに登録されたときのＭＦＰの動作を示すフローチャートである。
【００５９】
その後、サーバー装置１０の不具合ＤＢ１５２に記憶（ステップＳ１０６）されたログにより特定される不具合を解決可能なファームウェアが、新たに開発される。情報処理装置（図示せず。例えば、開発者のパーソナルコンピューター）からサーバー装置１０のファームウェアＤＢ１５１に、このファームウェアが新たに登録される。また、この情報処理装置からサーバー装置１０の不具合ＤＢ１５２に、記憶（ステップＳ１０６）されたログに関連付けて、このファームウェア（ファームウェアＤＢ１５１に新たに登録されたファームウェア）を示すファームウェア識別情報が新たに登録される。新たに登録されたファームウェアが解決可能な不具合を示すログが複数ある場合には、複数のログ全てに関連付けて、ファームウェア識別情報が新たに登録される。
【００６０】
サーバー装置１０のサービスサポート部１１３は、不具合ＤＢ１５２を参照し、新たに登録されたファームウェア識別情報が関連付けられたログ（ログが複数ある場合には、複数のログ全て）にそれぞれ関連付けられた機器識別情報を読み出す。サービスサポート部１１３は、読み出した機器識別情報により一意に識別されるＭＦＰ２０（複数の機器識別情報を読み出した場合には、複数のＭＦＰ２０全て）に、ＭＦＰ２０に発生した不具合を解決可能なファームウェアが新たに登録されたことを通知する（ステップＳ３０１）。当該通知には、不具合を解決可能なファームウェアのファームウェア識別情報（バージョン情報を含む）が付加される。
【００６１】
各ＭＦＰ２０のＤＢ問合せ部２１３は、サーバー装置１０から、不具合を解決可能なファームウェアが新たに登録されたことの通知を受ける（ステップＳ４０１。シーケンス図では、１台のＭＦＰ２０のみ記載する。）。ＤＢ問合せ部２１３は、不具合を解決可能なファームウェアが新たに登録されたことの通知を受けると、不具合を解決可能なファームウェアが新たに登録されたことを示す表示と、ファームウェアを更新するか否かをユーザーに入力させるための表示とを、表示部２７ａに表示させる。ＤＢ問合せ部２１３は、操作部２７に対するユーザーの特定の入力操作を、ファームウェア更新要求として検出する。ＤＢ問合せ部２１３は、当該通知に付加されたファームウェアのファームウェア識別情報（バージョン情報を含む）が示すファームウェアの取得要求を、サーバー装置１０に送信する（ステップＳ４０２）。
【００６２】
サーバー装置１０の転送管理部１１２は、ＭＦＰ２０からファームウェアの取得要求を受信する（ステップＳ３０２）。転送管理部１１２は、受信した取得要求の対象のファームウェアをファームウェアＤＢ１５１から読み出し、読み出したファームウェアをＭＦＰ２０に供給する（ステップＳ３０３）。
【００６３】
ＭＦＰ２０の更新処理部２１４は、サーバー装置１０から不具合を解決可能なファームウェアを取得する（ステップＳ４０３）。更新処理部２１４は、記憶部２８に記憶されたファームウェアを、サーバー装置１０から取得したファームウェアで更新する（ステップＳ４０４）。
【００６４】
（５．まとめ）
特許文献１によれば、サーバーは、電子機器の不具合を解決可能なファームウェアを保持していない場合、不具合を解決するための手段を何ら講じない。
【００６５】
これに対して、本実施形態によれば、サーバー装置１０は、ＭＦＰ２０の不具合を解決可能なファームウェアを保持していない場合、ＭＦＰ２０に生じた不具合のログを記憶しておく。サーバー装置１０は、この不具合を解決可能なファームウェアがサーバー装置１０に新たに登録されると、不具合を解決可能なファームウェアをＭＦＰ２０に供給する。これにより、ＭＦＰ２０に生じた不具合を解決可能なファームウェアをサーバー装置１０が保持していないため、ＭＦＰ２０に生じた不具合を直ちに解決することができない場合でも、将来的に、ＭＦＰ２０に生じた不具合を解決することが可能である。
【００６６】
また、汎用のパーソナルコンピューター（ＰＣ、Personal Computer）のような所謂コンシューマー製品には、典型的には、極めて多数のＰＣに同じファームウェアが予めインストールされている。そのため、多数のＰＣに似た不具合が発生するような事態において、不具合を解決可能なようにバージョンアップしたファームウェアを、可能な限り多数のＰＣに、一括的にインストールして不具合の解決を図ることも多い。
【００６７】
これに対して、ＭＦＰは、所謂コンシューマー製品ではなく、法人や事業者向けの製品である。ＭＦＰには、納入先である法人や事業者の要望に応じて、異なる各プログラムがインストールされたり、各プログラムに対する設定値が異なることも多い。このため、汎用のＰＣのような所謂コンシューマー製品のように、可能な限り多数のＭＦＰに不具合を解決可能なファームウェアを一括的にインストールすることが、必ずしも常に適切であるとは限らない。なぜなら、不具合が発生していないＭＦＰにはそのファームウェアをインストールする必要が無いし、ＭＦＰのプログラムの構成等によっては、そのファームウェアをインストールすることでむしろ新たな不具合が予期せず発生してしまうおそれもあるからである。
【００６８】
そこで、本実施形態によれば、サーバー装置１０は、不具合を解決可能なファームウェアがサーバー装置１０に新たに登録されると、この不具合を解決可能なファームウェアを、この不具合が発生したＭＦＰ２０にのみ供給する。これにより、不具合が発生していないＭＦＰにこのファームウェアをインストールすることで新たな不具合が予期せず発生してしまうおそれが無くなる。
【００６９】
加えて、本実施形態によれば、ステップＳ２０７及びＳ４０１で、ＭＦＰ２０がファームウェアをダウンロードし更新するか否かをＭＦＰ２０のユーザーに判断させた。ＭＦＰによっては、使用する機能が特定の機能に偏っていることがある（例えば、コピー機能及び印刷機能を主に使用し、ＦＡＸ機能は全く使用しない等）。そのような場合、実際にはＭＦＰの特定の機能に不具合が生じている筈だが、ユーザーがその機能を使用しない上、使用頻度の高い主な機能には不具合が生じていないため、見かけ上はＭＦＰが安定的に稼働しているような状況となりうる。この場合、ユーザーは、新たな不具合が予期せず発生してうる危険を冒してＭＦＰに新たなファームウェアをインストールするよりも、見かけ上は安定的に稼働している環境を維持したいと考えることもありうる。そこで、本実施形態によれば、ステップＳ２０７及びＳ４０１で、ＭＦＰ２０がファームウェアをダウンロードし更新するか否かをＭＦＰ２０のユーザーに判断させることで、各ＭＦＰ２０の個別具体的な必要性に応じて、ＭＦＰ２０にファームウェアをダウンロードし更新させることができる。
【００７０】
（６．変形例）
サーバー装置１０のサービスサポート部１１３は、ＭＦＰ２０に、不具合を解決可能なファームウェアが新たに登録されたことを通知した（ステップＳ３０１）。これに変えて、サービスサポート部１１３は、不具合が発生したＭＦＰ２０そのものではなく、不具合が発生したＭＦＰ２０のユーザー（管理者）が所有する情報処理装置（図示せず。例えば、パーソナルコンピューター等）に、不具合を解決可能なファームウェアが新たに登録されたことを通知してもよい。ただし、不具合が発生したＭＦＰ２０のユーザー（管理者）が所有する情報処理装置（図示せず）の機器識別情報やメールアドレス等を、不具合ＤＢ１５２にログを登録する際に、予め登録しておく必要がある。
【符号の説明】
【００７１】
１０…サーバー装置
２０…ＭＦＰ
１１１…問合せ応答部
１１２…転送管理部
１１３…サービスサポート部
２１１…処理実行部
２１２…ログ生成部
２１３…ＤＢ問合せ部
２１４…更新処理部
【図１】
0006497354.tif 000002
【図２】
0006497354.tif 000003
【図３】
0006497354.tif 000004
【図４】
0006497354.tif 000005
【図５】
0006497354.tif 000006
【図６】
0006497354.tif 000007
【図７】
0006497354.tif 000008
【図８】
0006497354.tif 000009
【図９】
0006497354.tif 000010
【図１０】
0006497354.tif 000011