(57)【要約】【課題】各種の動作テストを行うことが可能な端末装置を提供すること。【解決手段】多機能機は、ＮＶＲＡＭに記憶されており多機能機を制御しているファームウェアよりもバージョンが新しい更新ファームウェアと、更新ファームウェアで動作確認が必要な部分を示す未確認問題リストと、をサーバから取得する。多機能機は、更新ファームウェアと未確認問題リストを、ＲＡＭまたはＮＶＲＡＭに記憶させる。多機能機は、更新ファームウェアに基づいて多機能機が制御される状態を実現するとともに、未確認問題リストに基づいて更新ファームウェアの動作確認を実行する。多機能機は、動作確認処理による動作確認の結果をタッチパネルに出力する。【選択図】図２
2014191570.tif 000002
【特許請求の範囲】
【請求項１】
サーバとネットワークを介して接続することが可能な端末装置であって、
前記端末装置は、
端末装置プロセッサと、
各種の画像を表示可能な表示部と、
を備えており、
記憶部に記憶されており前記端末装置を制御している第１ファームウェアよりもバージョンが新しい第２ファームウェアと、前記第２ファームウェアで動作確認が必要な部分を示す動作確認情報と、を前記サーバから取得する第１取得処理と、
前記第２ファームウェアと前記動作確認情報を前記記憶部に記憶させる記憶処理と、
前記第２ファームウェアに基づいて前記端末装置が制御される状態を実現するとともに、前記動作確認情報に基づいて前記第２ファームウェアの動作確認を実行する動作確認処理と、
前記動作確認処理による前記動作確認の結果を前記表示部に出力する表示制御処理と、
を前記端末装置プロセッサが実行することを特徴とする端末装置。
【請求項２】
前記動作確認処理による前記動作確認の結果が不合格の場合に、前記第１ファームウェアに基づいて前記端末装置が制御される状態に戻す動作制御処理を前記端末装置プロセッサがさらに実行することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記記憶部に記憶されている前記第１ファームウェアを識別する第１識別情報を前記サーバへ出力する第１出力処理と、
前記第１識別情報に基づいて判断された、前記第２ファームウェアの存在の有無を示すファームウェア情報を前記サーバから取得する第２取得処理と、
当該ファームウェア情報を前記表示部に出力するとともに、前記ファームウェア情報が第２ファームウェアが存在することを示している場合に前記動作確認の実行命令の入力を受け付ける受付処理と、
を前記端末装置プロセッサがさらに実行し、
前記第１取得処理は、前記受付処理で前記実行命令の入力を受け付けることに応じて、前記第２ファームウェアを取得することを特徴とする請求項１または２に記載の端末装置。
【請求項４】
前記端末装置は、複数種類の入力操作の入力を受け付ける操作部を備えており、
前記動作確認情報は、前記複数種類の入力操作の組合せのうち、動作確認が必要な入力操作組合せである特定入力操作組合せを含んでおり、
前記動作確認処理は、前記特定入力操作組合せが前記端末装置に入力されたことを条件として、前記特定入力操作組合せによって前記端末装置が正常に動作したか否かについての前記動作確認処理を実行することを特徴とする請求項１〜３の何れか１項に記載の端末装置。
【請求項５】
前記サーバ装置が記憶している前記動作確認情報に含まれている前記特定入力操作組合せによる前記動作確認処理を実行し、その動作確認の結果をテスト結果情報として記憶し、前記特定入力操作組合せによって前記端末装置が正常に動作したか否かを示す前記テスト結果情報を前記サーバ装置へ出力する第２出力処理を前記端末装置プロセッサがさらに実行することを特徴とする請求項４に記載の端末装置。
【請求項６】
前記第２ファームウェアは、前記端末装置の複数の種類の各々に対応して存在しており、
前記第１出力処理は、前記端末装置の種類を識別する第２識別情報を前記サーバへ出力し、
前記動作確認情報は、前記第２識別情報に基づいて判断された前記端末装置の種類において、前記第２ファームウェアを用いてまだ動作確認が行なわれていない部分を識別する情報であることを特徴とする請求項３に記載の端末装置。
【請求項７】
複数の端末装置とネットワークを介して接続することが可能なサーバであって、
前記サーバは、
サーバプロセッサと、
サーバ記憶部と、
を備えており、
複数種類の端末装置の各々に対応した最新バージョンの複数種類の第２ファームウェアと、前記複数種類の第２ファームウェアの各々について動作確認が必要な部分を示す動作確認情報と、を前記サーバ記憶部に記憶させるサーバ側記憶制御処理と、
前記複数の端末装置のうちの１つである特定端末装置から、前記特定端末装置が使用しているファームウェアである特定第１ファームウェアを識別する第１識別情報を取得するサーバ側取得処理と、
前記特定第１ファームウェアよりもバージョンが新しく前記特定端末装置に対応した前記第２ファームウェアである特定第２ファームウェアが存在するか否かを前記第１識別情報に基づいて判断し、存在する場合には、前記特定第２ファームウェアと前記特定第２ファームウェアに関する前記動作確認情報とを前記特定端末装置へ出力するサーバ側第１出力処理と、
を前記サーバプロセッサが実行することを特徴とするサーバ。
【請求項８】
前記動作確認情報は、前記端末装置が受け付けている複数種類の入力操作の組合せのうち、動作確認が必要な入力操作組合せである特定入力操作組合せを少なくとも１つ含んでおり、
前記サーバ側記憶制御処理は、前記特定入力操作組合せによって前記特定端末装置が正常に動作したことを示すテスト結果情報を前記特定端末装置から取得することに応じて、前記テスト結果情報に対応する前記特定入力操作組合せに対して動作確認が不要であることを示す情報を前記サーバ記憶部に記憶させることを特徴とする請求項７に記載のサーバ。
【請求項９】
複数の端末装置とネットワークを介して接続することが可能なサーバであって、サーバプロセッサと、サーバ記憶部と、を備える前記サーバのプログラムであって、
複数種類の端末装置の各々に対応した最新バージョンの複数種類の第２ファームウェアと、前記複数種類の第２ファームウェアの各々について動作確認が必要な部分を示す動作確認情報と、を前記サーバ記憶部に記憶させるサーバ側記憶制御処理と、
前記複数の端末装置のうちの１つである特定端末装置から、前記特定端末装置が使用しているファームウェアである特定第１ファームウェアを識別する第１識別情報を取得するサーバ側取得処理と、
前記特定第１ファームウェアよりもバージョンが新しく前記特定端末装置に対応した前記第２ファームウェアである特定第２ファームウェアが存在するか否かを前記第１識別情報に基づいて判断し、存在する場合には、前記特定第２ファームウェアと前記特定第２ファームウェアに関する前記動作確認情報とを前記特定端末装置へ出力するサーバ側第１出力処理と、
を前記サーバプロセッサに実行させることを特徴とするプログラム。
【請求項１０】
サーバとネットワークを介して接続することが可能な端末装置であって、各種の画像を表示可能な表示部を備える前記端末装置の制御方法であって、
記憶部に記憶されており前記端末装置を制御している第１ファームウェアよりもバージョンが新しい第２ファームウェアと、前記第２ファームウェアで動作確認が必要な部分を示す動作確認情報と、を前記サーバから取得する第１取得ステップと、
前記第２ファームウェアと前記動作確認情報を前記記憶部に記憶させる記憶ステップと、
前記第２ファームウェアに基づいて前記端末装置が制御される状態を実現するとともに、前記動作確認情報に基づいて前記第２ファームウェアの動作確認を実行する動作確認ステップと、
前記動作確認ステップによる前記動作確認の結果を前記表示部に出力する表示制御ステップと、
を備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示されている技術は、ファームウェアの更新を行う端末装置およびサーバに関する。
【背景技術】
【０００２】
特許文献１には、画像形成装置と、インターネットを介して接続されたサーバ装置からなるクラウドコンピューティングシステムが開示されている。当該システムでは、画像形成装置のファームウェア配信前に、サーバ装置側で仮想マシンを起動し、ユーザのデータや機器の設定を反映した形で機能テスト及びパフォーマンステストを行う。テストが正常に実行できればファームウェアをダウンロードし、正常に実行できない場合はエラーメッセージを送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１７４１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像形成装置の各々には、多種多様な装置状態の差異（例：メモリ増設の有無、通信環境の違い、など）が存在している。仮想マシンでは、この装置状態の差異を考慮して、各種のテストを行うことが困難な場合がある。すると、テスト漏れによって不具合の発生を抑制できない事態が発生し、ユーザの利便性を損なう恐れがある。
【課題を解決するための手段】
【０００５】
本明細書に開示されている端末装置は、サーバとネットワークを介して接続することが可能な端末装置であって、端末装置は、端末装置プロセッサと、各種の画像を表示可能な表示部と、を備えており、記憶部に記憶されており端末装置を制御している第１ファームウェアよりもバージョンが新しい第２ファームウェアと、第２ファームウェアで動作確認が必要な部分を示す動作確認情報と、をサーバから取得する第１取得処理と、第２ファームウェアと動作確認情報を記憶部に記憶させる記憶処理と、第２ファームウェアに基づいて端末装置が制御される状態を実現するとともに、動作確認情報に基づいて第２ファームウェアの動作確認を実行する動作確認処理と、動作確認処理による動作確認の結果を表示部に出力する表示制御処理と、を端末装置プロセッサが実行することを特徴とする。
【０００６】
上記の構成によると、実際の端末装置で第２ファームウェアの動作確認処理を実行することができる。これにより、端末装置ごとに特有の装置状態を考慮して、ファームウェアの動作確認を行うことができるため、動作確認の確認漏れを防止することが可能となる。
【０００７】
本明細書に記載されている端末装置によれば、ファームウェアの更新後に、動作確認処理が不合格となった場合には、更新前のファームウェアに戻すことが可能となる。
【０００８】
本明細書に記載されている端末装置によれば、ファームウェアの更新の実行有無をユーザに決定させることができる。よって、ユーザの意図に反してファームウェアが更新されてしまう事態を防止することができる。
【０００９】
本明細書に記載されている端末装置によれば、特定入力操作組合せが端末装置に入力されたことに応じて、特定入力操作組合せについての動作確認処理を行うことができる。これにより、通常使用時の入力操作を、動作確認用の入力操作として流用することができる。よって、動作確認処理により端末装置にかかる負荷を抑制することが可能となる。
【００１０】
本明細書に記載されている端末装置によれば、動作確認に成功した特定入力操作組合せを動作確認対象から除外することが可能となる。
【００１１】
本明細書に記載されている端末装置によれば、端末装置の種類に対応した第２ファームウェアを用いて、動作確認を行うことが可能となる。
【００１２】
上記の技術を実現するためのサーバ、サーバのプログラム、端末装置の制御方法も、新規で有用である。
【図面の簡単な説明】
【００１３】
【図１】サポートシステムの概略図である。
【図２】多機能機の動作フローチャート（その１）を示す図である。
【図３】多機能機の動作フローチャート（その２）を示す図である。
【図４】サーバの動作フローチャート（その１）を示す図である。
【図５】サーバの動作フローチャート（その２）を示す図である。
【図６】問題点管理データベースの記憶内容の一例を示す図である。
【図７】第１変形例における動作フローチャートを示す図である。
【発明を実施するための形態】
【００１４】
図面を参照して実施例を説明する。図１に、本実施例のサポートシステム２の概略図を示す。サポートシステム２は、多機能機１０および１１と、サポートセンタ６を備える。サポートセンタ６は、サーバ７０を備える。多機能機１０および１１とサーバ７０とは、インターネット４を介して互いに通信可能に接続されている。
【００１５】
＜多機能機１０の構成＞
多機能機１０は、制御部１２、タッチパネル５０、キーパッド５２、印刷部５４、ＦＡＸ部５８、ネットワークインターフェイス６０、ＰＳＴＮインターフェイス６２、スキャナ部６４等を有する。ネットワークインターフェイス６０は、インターネット４に接続されている。またＰＳＴＮインターフェイス６２は、不図示の電話回線網に接続されている。タッチパネル５０は、様々な画面を表示する。またタッチパネル５０は、複数種類の入力操作の入力を受け付ける。印刷部５４は、各種のデータを印刷する。
【００１６】
制御部１２は、ＣＰＵ１４、ＲＯＭ（Read Only Memoryの略）１６、ＲＡＭ（Random Access Memoryの略）３０、ＮＶＲＡＭ（Non Volatile RAMの略）４０、等を有する。ＣＰＵ１４は、ＲＯＭ１６に記憶されている各種のプログラムに従って様々な処理を実行する。基本機能プログラム１８は、多機能機１０の基本的な動作を制御するためのプログラムである。基本機能プログラム１８は、例えば、印刷部５４、ＦＡＸ部５８等を制御するための各種制御プログラムを含んでいる。ＲＡＭ３０は、基本機能プログラム１８に従って処理が実行される過程で生成される各種データを記憶する。
【００１７】
ＮＶＲＡＭ４０は、ファームウェア４１を記憶している。ファームウェア４１は、コンピュータシステムを組み込んだ多機能機１０本体（組み込みシステム）に、所望の動作をさせるためのソフトウェアである。ファームウェア４１は、ＮＶＲＡＭ４０に記憶されることで、多機能機１０に組み込まれる。
【００１８】
＜サーバ７０の構成＞
サポートセンタ６に備えられている、サーバ７０の構成を説明する。サーバ７０は、ＣＰＵ７２、記憶部７４、表示部８２、操作部８４、ネットワークインターフェイス８６、ＲＡＭ９０等を有する。表示部８２は、様々な情報を表示することができる。操作部８４は、キーボードやマウスによって構成される。ネットワークインターフェイス８６は、インターネット４を介して、多機能機１０および１１との間で各種の情報を通信することができる。
【００１９】
記憶部７４は、基本プログラム７６、ファームウェアデータベース７７、問題点管理データベース７８、テストケース管理データベース７９、を記憶する。基本プログラム７６は、サーバ７０の基本的な動作を制御するためのプログラムである。
【００２０】
ファームウェアデータベース７７は、ファームウェアを記憶する領域である。ファームウェアには、ファームウェアのバージョン、多機能機のモデル、仕向け国ごとに、複数の種類が存在する。ファームウェアのバージョンは、ファームウェアの不具合を修正したり機能を向上させるために、細かな修正を行って版を重ねていく際の番号である。多機能機のモデルは、上位モデル・下位モデルや、新モデル・旧モデルなど、様々な種類が存在する。仕向け国は、多機能機を出荷する国である。例えば、仕向け国が日本である場合には、日本語で表示を行うように、日本用のファームウェアが作成される。また、仕向け国が米国である場合には、英語で表示を行うように、米国用のファームウェアが作成される。すなわち、ファームウェアには、バージョンと、モデルと、仕向け国と、の組合せによって、複数の種類が存在する。そしてファームウェアデータベース７７は、複数種類のファームウェアの全てを記憶している。例えば、ある１つのバージョンについて、多機能機のモデルが３種類存在し、仕向け国が３カ国ある場合を考える。この場合、３つのモデルについて、３つの仕向け国用のファームウェアが存在するため、合計９種類のファームウェアが存在することになる。よってファームウェアデータベース７７には、ある１つのバージョンについて、９種類のファームウェアが記憶される。
【００２１】
問題点管理データベース７８は、ファームウェアの問題点を記憶するためのデータベースである。図６に、問題点管理データベース７８の一例を示す。問題点管理データベース７８は、問題点番号１０１、問題内容１０２、修正内容１０３、バージョン情報１０４、モデル情報１０５、仕向け国情報１０６、テスト結果情報１０７、を記憶している。問題点番号１０１は、各問題点を特定するための識別情報である。問題内容１０２は、各問題点の内容を示す情報である。修正内容１０３は、修正した内容を示す情報である。バージョン情報１０４は、修正が行われたファームウェアのバージョンを示す情報である。モデル情報１０５は、問題が発生しているモデルを示す情報である。仕向け国情報１０６は、問題が発生している仕向け国を示す情報である。テスト結果情報１０７は、問題点についてのテストの実行有無や、テストの合否を示す情報である。
【００２２】
テストケース管理データベース７９は、問題点管理データベース７８に記憶されている問題点の各々に対応したテストケースを記憶するデータベースである。テストケースは、複数種類の入力操作の組合せのうち、動作確認が必要な入力操作組合せを示す情報である。例えば、図６の問題点番号１０１が「０００３」の問題点では、Ｃ画面において、修正内容１０３で示される「ｚ表示」が表示されるか否かを検査する必要がある。この場合、Ｃ画面を表示させるための入力操作の組合せ（例えば、「メニューボタンをタッチ」⇒「設定変更ボタンをタッチ」⇒「印刷設定ボタンをタッチ」など）が、当該問題点に対応したテストケースとして、テストケース管理データベース７９に記憶される。
【００２３】
＜多機能機の動作＞
多機能機１０で行われる動作を、図２および図３のフローを用いて説明する。Ｓ１１２においてＣＰＵ１４は、ファームウェアのバージョンアップを確認する指示が入力されたか否かを判断する。例えば、特定のパスワードが入力されると、メンテナンスメイン画面がタッチパネル５０に表示されるとしてもよい。そして、メンテナンスメイン画面において、「ファームウェアのバージョンアップ確認」のボタンがタッチされると、バージョンアップの確認指示が入力されたと判断してもよい。否定判断される場合（Ｓ１１２：ＮＯ）にはＳ１１２へ戻り、肯定判断される場合（Ｓ１１２：ＹＥＳ）にはＳ１１４へ進む。
【００２４】
Ｓ１１４においてＣＰＵ１４は、第１識別情報および第２識別情報を、ネットワークインターフェイス６０を介してサーバ７０へ送信する。第１識別情報は、多機能機１０が使用中のファームウェア（すなわち、ＮＶＲＡＭ４０に現在記憶されているファームウェア４１）のバージョンを、識別するための情報である。第１識別情報の例としては、ファームウェアのバージョン番号が挙げられる。第２識別情報は、多機能機１０の種類を識別するための情報である。第２識別情報に含まれる情報の例としては、モデル情報、仕向け国情報、などが挙げられる。
【００２５】
Ｓ１２０においてＣＰＵ１４は、サーバ７０からファームウェア情報を受信したか否かを判断する。ファームウェア情報は、現在使用中のファームウェアよりもバージョンが新しいファームウェアである、更新ファームウェアの存在の有無を示す情報である。またファームウェア情報は、更新ファームウェアに、動作を未検査である問題点が存在するか否かを示す情報である。否定判断される場合（Ｓ１２０：ＮＯ）にはＳ１２０へ戻り、肯定判断される場合（Ｓ１２０：ＹＥＳ）にはＳ１２２へ進む。
【００２６】
Ｓ１２２においてＣＰＵ１４は、受信したファームウェア情報に基づいて、更新ファームウェアが存在するか否かを判断する。否定判断される場合（Ｓ１２２：ＮＯ）には、Ｓ１２４へ進む。Ｓ１２４においてＣＰＵ１４は、現在使用中のファームウェアが最新版であることをユーザに報知する。例えば、「更新されたファームウェアはありません」などの文字列を、タッチパネル５０に表示させてもよい。そしてメンテナンスメイン画面に戻り、フローが終了する。
【００２７】
一方、Ｓ１２２において肯定判断される場合（Ｓ１２２：ＹＥＳ）には、Ｓ１３２へ進む。Ｓ１３２においてＣＰＵ１４は、受信したファームウェア情報に基づいて、更新ファームウェアに未検査の問題点が含まれているか否かを判断する。肯定判断される場合（Ｓ１３２：ＹＥＳ）には、Ｓ１３４へ進む。Ｓ１３４においてＣＰＵ１４は、動作が未検査の問題点が、更新ファームウェアに含まれていることをユーザに報知する。例えば、「未検査の最新ファームウェアがあります。動作検査して更新しますか？」などの文字列を、タッチパネル５０に表示させてもよい。またＣＰＵ１４は、動作検査の内容をユーザに報知する。例えば、対策された問題の一覧や、修正未確認の問題の一覧などを、タッチパネル５０に表示させてもよい。
【００２８】
Ｓ１４３においてＣＰＵ１４は、問題点の検査とファームウェアの更新を実行するか否かの指示入力を受け付ける。実行しないことを示す指示が入力された場合（Ｓ１４３：ＮＯ）には、メンテナンスメイン画面に戻り、フローが終了する。一方、実行指示が入力された場合（Ｓ１４３：ＹＥＳ）には、Ｓ１４４へ進む。
【００２９】
一方、Ｓ１３２において否定判断される場合（Ｓ１３２：ＮＯ）には、Ｓ１４０へ進む。Ｓ１４０においてＣＰＵ１４は、検査済みの更新ファームウェアが存在することをユーザに報知する。例えば、「検査済みの最新ファームウェアがあります。更新しますか？」などの文字列を、タッチパネル５０に表示させてもよい。Ｓ１４２においてＣＰＵ１４は、ファームウェアの更新を実行するか否かの指示入力を受け付ける。実行しないことを示す指示が入力された場合（Ｓ１４２：ＮＯ）には、メンテナンスメイン画面に戻り、フローが終了する。一方、実行指示が入力された場合（Ｓ１４２：ＹＥＳ）には、Ｓ１４４へ進む。
【００３０】
Ｓ１４４においてＣＰＵ１４は、更新ファームウェアの取得要求を、サーバ７０へ送信する。Ｓ１５０においてＣＰＵ１４は、更新ファームウェアをサーバ７０から受信したか否かを判断する。否定判断される場合（Ｓ１５０：ＮＯ）にはＳ１５０へ戻り、肯定判断される場合（Ｓ１５０：ＹＥＳ）にはＳ１５２へ進む。Ｓ１５２においてＣＰＵ１４は、サーバ７０から受信した更新ファームウェアを、ＮＶＲＡＭ４０に記憶されているファームウェア４１に上書き記憶する。これにより、ファームウェア４１が更新される。
【００３１】
Ｓ１５４においてＣＰＵ１４は、動作検査を実行する場合であるか否かを判断する。具体的には、未検査の問題点が存在するか否かを判断する。否定判断される場合（Ｓ１５４：ＮＯ）にはフローを終了し、肯定判断される場合（Ｓ１５４：ＹＥＳ）にはＳ１５６へ進む。
【００３２】
Ｓ１５６においてＣＰＵ１４は、未確認問題リストの取得要求をサーバ７０へ送信する。未確認問題リストは、多機能機１０向けの更新ファームウェア用のテストケースを含んだ情報である。
【００３３】
Ｓ１６０においてＣＰＵ１４は、未確認問題リストをサーバ７０から受信したか否かを判断する。否定判断される場合（Ｓ１６０：ＮＯ）にはＳ１６０へ戻り、肯定判断される場合（Ｓ１６０：ＹＥＳ）にはＳ１６１へ進む。Ｓ１６１においてＣＰＵ１４は、受信した未確認問題リストを、ＲＡＭ３０またはＮＶＲＡＭ４０に記憶させる。
【００３４】
Ｓ１６２においてＣＰＵ１４は、テストモードを実行する。テストモードでは、更新ファームウェアに基づいて多機能機１０が制御される状態において、未確認問題リストに含まれているテストケースを実行する。そして、修正された正しい動作が行われるか否かが検査され、テスト結果をＲＡＭ３０に記憶させる。未確認問題リストに複数のテストケースが含まれている場合には、全てのテストケースが実行される。
【００３５】
例えば、未確認問題リストに含まれているテストケースが、「メニューボタンをタッチ」⇒「設定変更ボタンをタッチ」⇒「印刷設定ボタンをタッチ」、という入力操作組合せである場合を考える。また、このテストケースによって検査される問題点が、問題点番号１０１が「０００３」の問題点（図６参照）である場合を考える。この場合、ＣＰＵ１４は、内部処理によって当該入力操作組合せを実行し、Ｃ画面をタッチパネル５０に表示させる。そして、問題点番号１０１の「０００３」に対応する修正内容１０３（すなわち、「ｚ表示」）が、Ｃ画面に含まれているか否かを判断する。Ｃ画面に修正後の「ｚ表示」が含まれている場合には、「合格」のテスト結果をＲＡＭ３０に記憶させる。一方、Ｃ画面に「ｚ表示」が含まれていない場合には、「不合格」のテスト結果をＲＡＭ３０に記憶させる。
【００３６】
Ｓ１７３においてＣＰＵ１４は、テストモードが終了したか否かを判断する。否定判断される場合（Ｓ１７３：ＮＯ）にはＳ１６２へ戻り、肯定判断される場合（Ｓ１７３：ＹＥＳ）にはＳ１７４へ進む。Ｓ１７４においてＣＰＵ１４は、テストモードを終了する。そして、テスト結果をサーバ７０へ送信する。
【００３７】
Ｓ１７８においてＣＰＵ１４は、サーバ７０から通知情報を受信する。そして、受信した通知情報の内容を判断する。通知情報が検査合格を示す場合（Ｓ１７８：合格）には、Ｓ１８０へ進む。Ｓ１８０においてＣＰＵ１４は、更新ファームウェアが、動作検査に合格したことをユーザに報知する。例えば、「検査合格です。お使いいただけます」などの文字列を、タッチパネル５０に表示してもよい。
【００３８】
一方、Ｓ１７８において、通知情報が検査不合格を示す場合（Ｓ１７８：不合格）には、Ｓ１８２へ進む。Ｓ１８２においてＣＰＵ１４は、更新ファームウェアが動作検査に不合格であったことをユーザに報知する。また、ファームウェアを元の古いバージョンに戻すか否かについて、ユーザの指示の入力を受け付ける。例えば、「検査不合格のためお使いいただけません。ファームウェアを旧バージョンに戻しますか？」などの文字列を、タッチパネル５０に表示してもよい。
【００３９】
Ｓ１８４においてＣＰＵ１４は、ファームウェアのバージョンを戻す指示が入力されたか否かを判断する。否定判断される場合（Ｓ１８４：ＮＯ）にはフローを終了し、肯定判断される場合（Ｓ１８４：ＹＥＳ）にはＳ１８６へ進む。Ｓ１８６においてＣＰＵ１４は、元のバージョンのファームウェアの取得要求を、サーバ７０へ送信する。Ｓ１８７においてＣＰＵ１４は、元のバージョンのファームウェアをサーバ７０から受信したか否かを判断する。否定判断される場合（Ｓ１８７：ＮＯ）にはＳ１８７へ戻り、肯定判断される場合（Ｓ１８７：ＹＥＳ）にはＳ１８８へ進む。
【００４０】
Ｓ１８８においてＣＰＵ１４は、サーバ７０から受信した元のバージョンのファームウェアを、ＮＶＲＡＭ４０に記憶されているファームウェア４１に上書き記憶する。これにより、ファームウェア４１が元のバージョンに戻され、元のバージョンのファームウェアに基づいて多機能機１０が制御される状態となる。
【００４１】
＜サーバ７０の動作＞
サーバ７０で行われる動作を、図４および図５のフローを用いて説明する。Ｓ３１０においてＣＰＵ７２は、第１識別情報および第２識別情報を、インターネット４を介して、多機能機１０または１１から受信したか否かを判断する。否定判断される場合（Ｓ３１０：ＮＯ）にはＳ３１０へ戻り、肯定判断される場合（Ｓ３１０：ＹＥＳ）にはＳ３１２へ進む。
【００４２】
Ｓ３１２においてＣＰＵ７２は、第２識別情報を用いて、第１識別情報および第２識別情報を送信してきた多機能機（以下、通信先多機能機と記載する）に適合するファームウェアの最新のバーションを、ファームウェアデータベース７７内で検索する。具体的には、第２識別情報に含まれているモデル情報および仕向け国情報に基づいて、多機能機１０に適合するファームウェアを特定する。そして、特定したファームウェアの最新バージョンを読み出す。
【００４３】
Ｓ３１４においてＣＰＵ７２は、通信先多機能機で用いられているファームウェアが、最新のバージョンであるか否かを判断する。具体的には、受信した第１識別情報で識別されるバージョンと、Ｓ３１２でファームウェアデータベース７７から読み出したバージョンとが同一であるか否かを判断する。Ｓ３１４において肯定判断される場合（Ｓ３１４：ＹＥＳ）には、Ｓ３１６へ進む。Ｓ３１６においてＣＰＵ７２は、通信先多機能機で使用中のファームウェアが最新バージョンであることを示すファームウェア情報を、通信先多機能機へ送信する。そしてＳ３１０へ戻る。
【００４４】
一方、Ｓ３１４において否定判断される場合（Ｓ３１４：ＮＯ）には、Ｓ３１８へ進む。Ｓ３１８においてＣＰＵ７２は、最新バージョンのファームウェアにおいて、問題点が存在するか否か、および、その問題点の動作検査を実行済みであるか否かを、問題点管理データベース７８内で検索する。具体的には、最新バージョンと、多機能機１０のモデル情報と、仕向け国情報との組合せを検出する。そして、検出した組合せにおいて、テスト結果情報１０７が未検査である問題点が存在するか否かを判断する。
【００４５】
Ｓ３２０においてＣＰＵ７２は、Ｓ３１８での検索結果を含んだファームウェア情報を、通信先多機能機へ送信する。例えば、未検査の問題点が検索された場合には、未検査の問題点が存在することを示すファームウェア情報が、通信先多機能機へ送信される。
【００４６】
Ｓ３３０においてＣＰＵ７２は、更新ファームウェアの取得要求を、通信先多機能機から受信したか否かを判断する。否定判断される場合（Ｓ３３０：ＮＯ）にはＳ３４０へ進み、肯定判断される場合（Ｓ３３０：ＹＥＳ）にはＳ３３２へ進む。Ｓ３３２においてＣＰＵ７２は、通信先多機能機に対応するファームウェアを、第１識別情報および第２識別情報に基づいて、ファームウェアデータベース７７内で検索する。Ｓ３３４においてＣＰＵ７２は、検索された更新ファームウェアを、通信先多機能機へ送信する。
【００４７】
Ｓ３４０においてＣＰＵ７２は、未確認問題リストの取得要求を、通信先多機能機から受信したか否かを判断する。否定判断される場合（Ｓ３４０：ＮＯ）にはＳ３５２へ進み、肯定判断される場合（Ｓ３４０：ＹＥＳ）にはＳ３４２へ進む。Ｓ３４２においてＣＰＵ７２は、通信先多機能機に対応するテストケースを、テストケース管理データベース７９内で検索する。具体的には、Ｓ３１８で検索された問題点の問題内容１０２および修正内容１０３を確認するために必要な入力操作組合せが、テストケース管理データベース７９内で検索される。Ｓ３４４においてＣＰＵ７２は、検索されたテストケースを含んだ未確認問題リストを生成する。そして、生成した未確認問題リストを通信先多機能機へ送信する。
【００４８】
Ｓ３５２においてＣＰＵ７２は、テスト結果を通信先多機能機から受信したか否かを判断する。否定判断される場合（Ｓ３５２：ＮＯ）にはＳ３３０へ戻り、肯定判断される場合（Ｓ３５２：ＹＥＳ）にはＳ３５４へ進む。
【００４９】
Ｓ３５４においてＣＰＵ７２は、受信したテスト結果の内容が、合格か否かを判断する。肯定判断される場合（Ｓ３５４：ＹＥＳ）にはＳ３７２へ進む。Ｓ３７２においてＣＰＵ７２は、通信先多機能機で検査が実行された問題点について、動作検査に合格したことを、問題点管理データベース７８に記憶する。具体的には、Ｓ３１８で検索された問題点に対応するテスト結果情報１０７の欄に、「ＯＫ」を書き込む。Ｓ３７４においてＣＰＵ７２は、検査合格を示す通知情報を通信先多機能機へ送信する。そしてＳ３１０へ戻る。
【００５０】
一方、Ｓ３５４において否定判断される場合（Ｓ３５４：ＮＯ）には、Ｓ３５５へ進む。Ｓ３５５においてＣＰＵ７２は、通信先多機能機で検査が実行された問題点について、動作検査に不合格であったことを、問題点管理データベース７８に記憶する。具体的には、検査が実行されたファームウェアのバージョンと、通信先多機能機のモデル情報と、通信先多機能機の仕向け国情報と、の組合せに対応するテスト結果情報１０７の欄に、「ＮＧ」を書き込む。Ｓ３５６においてＣＰＵ７２は、検査不合格を示す通知情報を通信先多機能機へ送信する。そしてＳＳ３５７へ進む。
【００５１】
Ｓ３５７においてＣＰＵ７２は、元のバージョンのファームウェアの取得要求を、通信先多機能機から受信したか否かを判断する。否定判断される場合（Ｓ３５７：ＮＯ）にはＳ３１０へ戻り、肯定判断される場合（Ｓ３５７：ＹＥＳ）にはＳ３５８へ進む。Ｓ３５８においてＣＰＵ７２は、通信先多機能機に対応する元のバージョンのファームウェアを、ファームウェアデータベース７７内で検索する。Ｓ３６０においてＣＰＵ７２は、検索された元のバージョンのファームウェアを、通信先多機能機へ送信する。そしてＳ３１０へ戻る。
【００５２】
＜動作具体例＞
例として、多機能機１０において、元のファームウェアのバージョンが「V2.00」、モデル名が「ＭＦＰ−０１」、仕向け国が「日本」である場合を説明する。また、多機能機１０に対応する最新のファームウェアが存在し、そのバージョンが「V2.01」である場合を説明する。また、図６に示す問題点管理データベース７８がサーバ７０に記憶されている場合を説明する。また、テストモードでのテスト結果が「合格」となる場合を説明する。
【００５３】
多機能機１０は、第１識別情報（すなわち、バージョンが「V2.00」）および第２識別情報（すなわち、モデル名の「ＭＦＰ−０１」、仕向け国の「日本」）をサーバ７０へ送信する（Ｓ１１４）。サーバ７０は、第１識別情報および第２識別情報を受信すると（Ｓ３１０：ＹＥＳ）、多機能機１０に適合するファームウェアの最新のバーションを、ファームウェアデータベース７７内で検索する（Ｓ３１２）。これにより、最新バージョンである「V2.01」が取得される。よって、多機能機１０で用いられているファームウェアである「V2.00」は、最新のバージョンではないと判断される（Ｓ３１４：ＮＯ）。
【００５４】
サーバ７０は、最新バージョンのファームウェアにおいて、問題点が存在するか否か、および、その問題点の動作検査を実行済みであるか否かを、問題点管理データベース７８内で検索する（Ｓ３１８）。図６に示す問題点管理データベース７８では、バージョン情報１０４が「V2.01」（すなわち、最新バージョン）、モデル情報１０５が「ＭＦＰ−０１」、仕向け国情報１０６が「日本」の組合せが検出される（領域Ｒ１、Ｒ２参照）。そして、検出された組合せにおいて、テスト結果情報１０７が未検査（領域Ｒ１１参照）である問題点として、問題点番号１０１が「０００３」の問題点が検出される。サーバ７０は、最新バージョンのファームウェア（すなわち更新ファームウェア）が存在すること、および、更新ファームウェアに未検査の問題点が存在することを示すファームウェア情報を、多機能機１０へ送信する（Ｓ３２０）。
【００５５】
多機能機１０は、サーバ７０からからファームウェア情報を受信すると（Ｓ１２０：ＹＥＳ）、更新ファームウェアが存在し（Ｓ１２２：ＹＥＳ）、更新ファームウェアに未検査の問題点が含まれていると判断する（Ｓ１３２：ＹＥＳ）。よって、更新ファームウェアに未検査の問題点が含まれていることを、ユーザに報知する（Ｓ１３４）。
【００５６】
ここで、ユーザが、検査および更新を実行する場合（Ｓ１４３：ＹＥＳ）を説明する。多機能機１０は、更新ファームウェアの取得要求をサーバ７０へ送信する（Ｓ１４４）。多機能機１０は、更新ファームウェアをサーバ７０から受信すると（Ｓ１５０：ＹＥＳ）、更新ファームウェアをＮＶＲＡＭ４０に上書き記憶する。これにより、ファームウェア４１のバージョンが、「V2.00」から「V2.01」へ更新される（Ｓ１５２）。
【００５７】
動作検査を実行する場合であるため（Ｓ１５４：ＹＥＳ）、多機能機１０は、未確認問題リストの取得要求をサーバ７０へ送信する（Ｓ１５６）。サーバ７０は、未確認問題リストの取得要求を受信すると（Ｓ３４０：ＹＥＳ）、多機能機１０に対応するテストケースを、テストケース管理データベース７９内で検索する（Ｓ３４２）。具体的には、Ｓ３１８で検索された問題点（すなわち、問題点番号１０１が「０００３」の問題点。図６参照。）の修正内容１０３を確認するために必要なテストケース（すなわち、入力操作組合せ）が、テストケース管理データベース７９内で検索される。サーバ７０は、検索されたテストケースを含んだ未確認問題リストを生成して、多機能機１０へ送信する（Ｓ３４４）。
【００５８】
多機能機１０は、未確認問題リストを受信すると（Ｓ１６０：ＹＥＳ）、テストモードを実行する（Ｓ１６２）。具体的には、未確認問題リストに含まれているテストケースを実行し、タッチパネル５０に問題内容１０２（すなわち、Ｃ画面）を表示させる。そして、Ｃ画面に修正内容１０３（すなわち、「ｚ表示」）が含まれていると判断し、「合格」のテスト結果をＲＡＭ３０に記憶させる。多機能機１０は、「合格」のテスト結果をサーバ７０へ送信する（Ｓ１７４）。
【００５９】
サーバ７０は、テスト結果を受信すると（Ｓ３５２：ＹＥＳ）、テスト結果の内容が「合格」であるため（Ｓ３５４：ＹＥＳ）、動作検査に合格したことを、問題点管理データベース７８に記憶する（Ｓ３７２）。具体的には、Ｓ３１８で検索された問題点（すなわち、問題点番号１０１が「０００３」の問題点。図６参照。）に対応するテスト結果情報１０７の欄（図６、領域Ｒ１１参照）に、「ＯＫ」を書き込む。そしてサーバ７０は、検査合格を示す通知情報を多機能機１０へ送信する（Ｓ３７４）。多機能機１０は、通知情報をサーバ７０から受信すると（Ｓ１７８）、更新ファームウェアが動作検査に合格したことをユーザに報知する（Ｓ１８０）。
【００６０】
＜効果＞
多機能機には、多種多様な装置状態の差異（例：メモリ増設の有無、通信環境の違い、など）が存在している。本明細書に記載されている技術では、サーバ７０のメモリ内でシミュレーションされる仮想マシン等を用いるのではなく、実際の多機能機を用いて、更新ファームウェアの動作確認処理を実行することができる（Ｓ１６２）。これにより、多機能機ごとの特有の装置状態を考慮して、ファームウェアの動作確認を行うことが可能となる。よって、動作確認の確認漏れを防止することが可能となる。
【００６１】
更新ファームウェアの動作検査の結果が不合格の場合（Ｓ１７８：不合格）には、元のバージョンのファームウェアに基づいて多機能機が制御される状態に戻すことができる（Ｓ１８８）。これにより、不具合のあるファームウェアを使い続けるという事態を回避することが可能となる。
【００６２】
問題点の検査およびファームウェアの更新を実行するか否かを、ユーザの指示に基づいて決定することができる（Ｓ１４３）。これにより、ユーザの意図に反してファームウェアが更新されてしまう事態を防止することができる。
【００６３】
未検査である問題点の動作検査を実行し（Ｓ１６２）、合格になった場合には、今回検査した動作検査が合格になったことを、問題点管理データベース７８に記憶することができる（Ｓ３７２）。すなわち、サーバ７０に接続されている複数の多機能機の何れか１台で一度動作検査が合格となった問題点は、検査済みであるとして、検査対象から除外することが可能となる。これにより、サーバ７０に接続されている複数の多機能機が協力して、問題点の動作検査を実行することが可能となるため、動作検査の効率を高めることができる。
【００６４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００６５】
＜第１変形例＞
第１変形例では、多機能機１０で行われるテストモードの変形例を説明する。図７に、第１変形例におけるフローを示す。図７のフローは、図３のＳ１６２およびＳ１７３に代えて挿入されるフローである。
【００６６】
Ｓ１６１（図３参照）において、受信した未確認問題リストがＲＡＭ３０またはＮＶＲＡＭ４０に記憶されると、図７のＳ１６４へ進み、テストモードが開始される。Ｓ１６４においてＣＰＵ１４は、ユーザ操作を常時モニタリングする。具体的には、タッチパネル５０やキーパッド５２を介してユーザが入力する、各種操作の入力操作組合せを監視する。
【００６７】
Ｓ１６６においてＣＰＵ１４は、未確認問題リストに含まれているテストケースによって示されている入力操作組合せ（以下、「特定入力操作組合せ」と記載する）と一致する入力操作組合せが、ユーザによって入力されたか否かを判断する。否定判断される場合（Ｓ１６６：ＮＯ）にはＳ１６４へ戻り、肯定判断される場合（Ｓ１６６：ＹＥＳ）にはＳ１６８へ進む。
【００６８】
Ｓ１６８においてＣＰＵ１４は、特定入力操作組合せに基づいて多機能機１０が実行した動作が、予め定められた、修正された正しい動作と一致するか否かを確認する。一致する場合には、動作検査が合格であると判断される。一方、一致しない場合には、動作検査が不合格であると判断される。Ｓ１７０においてＣＰＵ１４は、テスト結果をＲＡＭ３０に一時的に記憶させる。
【００６９】
Ｓ１７２においてＣＰＵ１４は、未確認問題リストにテストケースが複数含まれている場合には、全てのテストケースについて動作検査が実行されたか否かを判断する。否定判断される場合（Ｓ１７２：ＮＯ）にはＳ１６４へ戻り、肯定判断される場合（Ｓ１７２：ＹＥＳ）にはＳ１７４（図３参照）へ進む。
【００７０】
例えば、未確認問題リストに含まれているテストケースが、「メニューボタンをタッチ」⇒「設定変更ボタンをタッチ」⇒「印刷設定ボタンをタッチ」、という特定入力操作組合せである場合を考える。また、このテストケースによって検査される問題点が、問題点番号１０１が「０００３」の問題点（図６参照）である場合を考える。ユーザが特定入力操作組合せを偶然に入力すると、ＣＰＵ１４は、特定入力操作組合せが入力されたことを検出する（Ｓ１６６：ＹＥＳ）。ＣＰＵ１４は、特定入力操作組合せに応じて表示されたＣ画面に、問題点番号１０１の「０００３」に対応する修正内容１０３（すなわち、「ｚ表示」）が、含まれているか否かを判断する。Ｃ画面に修正後の「ｚ表示」が含まれている場合には、「合格」のテスト結果をＲＡＭ３０に記憶させる（Ｓ１７０）。一方、Ｃ画面に「ｚ表示」が含まれていない場合には、「不合格」のテスト結果をＲＡＭ３０に記憶させる（Ｓ１７０）。
【００７１】
第１変形例の効果を説明する。第１変形例では、特定入力操作組合せが多機能機１０に入力されたことに応じて（Ｓ１６６：ＹＥＳ）、動作検査を行うことができる（Ｓ１６８）。これにより、ユーザが多機能機１０を使用している際の入力操作を、動作検査用の入力操作として流用することができる。よって、動作検査を別途実行する場合に比して、検査のために多機能機１０にかかる処理負荷を軽減することが可能となる。
【００７２】
＜その他の変形例＞
Ｓ１８２〜Ｓ１８８を省略し、Ｓ１７８で不合格の場合にはフローを終了するとしてもよい。これにより、ファームウェアのバージョンを元に戻すという処理を省略することができる。Ｓ１４３を省略し、Ｓ１３４からＳ１４４へ進むとしてもよい。これにより、動作が未検査の問題点が更新ファームウェアに含まれている場合には、ユーザの選択を受け付けることなく、問題点の検査とファームウェアの更新を実行することができる。Ｓ１７４を省略し、Ｓ１７３がＹＥＳの場合にはＳ１８０またはＳ１８２に進むとしてもよい。これにより、サーバ７０での処理負担を軽減することができる。以上より、一般的に言うと、多機能機１０のＣＰＵ１４は、「第１取得処理」と、「記憶処理」と、「動作確認処理」と、「表示制御処理」と、を少なくとも実行すれば良い。具体例としては、ＣＰＵ１４は、Ｓ１５０またはＳ１６０と、Ｓ１５２またはＳ１６１と、Ｓ１６２と、Ｓ１８２と、を少なくとも実行すればよい。
【００７３】
Ｓ３７２を省略してもよい。これにより、動作検査に合格した問題点が、問題点管理データベース７８に記憶されなくなる。よって、サーバ７０に接続されている複数の多機能機の各々で、問題点の動作検査を実行させることができる。これにより、複数の多機能機の各々の装置状態差を考慮して、ファームウェアの動作確認を行うことが可能となる。
【００７４】
Ｓ１５４を省略してもよい。この場合、Ｓ１５２からＳ１５６へ進むとしてもよい。また、Ｓ１５４において、ユーザの選択を受け付けるとしてもよい。
【００７５】
Ｓ１１２において、ファームウェアのバージョンアップの確認を開始する形態は、様々な形態であってよい。例えば、多機能機１０に電源を投入することに応じて、自動的にファームウェアのバージョンアップの有無を確認するとしてもよい。
【００７６】
サーバ７０は１つのサーバとして記載したが、この形態に限られず、複数のサーバの集合であってもよい。例えば、ファームウェアデータベース７７、問題点管理データベース７８、テストケース管理データベース７９などがそれぞれ独立したサーバ装置に記憶されており、これら複数のサーバが通信可能に接続されていてもよい。
【００７７】
第２識別情報には、多機能機の名称や、多機能機での使用言語など、各種の情報を用いることが可能である。
【００７８】
Ｓ１６２においてＣＰＵ１４は、テストモードを自動で実行するとしたが、ユーザによる手動によって実行されてもよい。この場合、タッチするボタンの種類と順番をタッチパネル５０に表示し、ユーザに操作を促すとしてもよい。そして、操作入力後に行われる動作の内容が「合格」であるか否かを、ユーザに判断させるとしてもよい。
【００７９】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【００８０】
なお、多機能機１０は、端末装置の一例である。ＣＰＵ１４は、端末装置プロセッサの一例である。タッチパネル５０は、表示部の一例である。ＮＶＲＡＭ４０は、記憶部の一例である。使用中のファームウェアは、第１ファームウェアの一例である。更新ファームウェアは、第２ファームウェアの一例である。未確認問題リストは、動作確認情報の一例である。Ｓ１５０、Ｓ１６０を実行するＣＰＵは、第１取得処理の一例である。Ｓ１５２、Ｓ１６１を実行するＣＰＵは、記憶処理の一例である。Ｓ１６２を実行するＣＰＵは、動作確認処理の一例である。Ｓ１８２を実行するＣＰＵは、表示制御処理の一例である。Ｓ１８８を実行するＣＰＵは、動作制御処理の一例である。ファームウェアのバージョン番号は、第１識別情報の一例である。Ｓ１１４を実行するＣＰＵは、第１出力処理の一例である。Ｓ１２０を実行するＣＰＵは、第２取得処理の一例である。Ｓ１４３を実行するＣＰＵは、受付処理の一例である。タッチパネル５０、キーパッド５２は、操作部の一例である。Ｓ１７４を実行するＣＰＵは、第２出力処理の一例である。モデル情報、仕向け国情報は、第２識別情報の一例である。
【符号の説明】
【００８１】
１０：多機能機、１４および７２：ＣＰＵ、７０：ＰＣ、４０：ＮＶＲＡＭ、５０：タッチパネル、７０：サーバ
【図１】
2014191570.tif 000003
【図２】
2014191570.tif 000004
【図３】
2014191570.tif 000005
【図４】
2014191570.tif 000006
【図５】
2014191570.tif 000007
【図６】
2014191570.tif 000008
【図７】
2014191570.tif 000009