(57)【要約】      （修正有）【課題】ファームウェアを一時的に記憶するメモリ容量が小さい場合でも、高い信頼性でクライアント装置にファームウェアを更新させる。【解決手段】画像生成装置２から送信された一時記憶部９２のファームウェア一時格納領域９２ａの使用可能容量を含む構成情報に基づいて、ファームウェアの分割サイズ、分割数、を更新情報として決定する更新情報決定手段１２と、更新情報決定手段１２により決定した分割数および分割サイズに基づいて、ローカルエリアネットワークＬＡＮを介して、複数の分割ファームウェアを順次送信することにより設定されているファームウェアを更新させる更新手段１３とを備える。【選択図】図１
2018088034.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアを一時的に記憶する一時記憶領域を有するメモリを備え、設定されているファームウェアを前記一時記憶領域に記憶されたファームウェアで更新するクライアント装置と、ネットワークを介して接続されたファームウェア更新制御装置であって、
前記クライアント装置から送信された前記一時記憶領域の使用可能容量を含む構成情報に基づいて、前記ファームウェアの分割サイズ、分割数、を更新情報として決定する更新情報決定手段と、
前記更新情報決定手段により決定した前記分割数および分割サイズに基づいて、前記ネットワークを介して、複数の分割ファームウェアを順次送信することにより前記設定されているファームウェアを更新させる更新手段と、
を備えたことを特徴とするファームウェア更新制御装置。
【請求項２】
前記更新情報決定手段は、さらに、前記クライアント装置から送信された、前記ファームウェアの単位サイズ当たりの更新処理時間に基づいて、分割サイズ毎に更新を完了するまでに要する予測時間を更新情報として決定し、
前記更新手段は、
分割サイズ毎に、前記予測時間に基づく所定時間内に、前記クライアント装置が更新を完了しない場合に、再度、同一の分割ファームウェアに送信を行うことを繰り返し、所定回数以内で、前記所定時間内に更新を完了した場合には、次の分割ファームウェアの送信を行い、
所定回数以内で、前記予測時間内に更新を完了できない場合には、当該分割ファームウェアの送信ができない旨を報知させることを特徴とする請求項１に記載のファームウェア更新制御装置。
【請求項３】
前記報知の後、ユーザの要求に基づいて、
当該分割ファームウェア以前の分割ファームウェアから再度送信する
ことを特徴とする請求項２記載のファームウェア更新制御装置。
【請求項４】
クライアント装置と、前記クライアント装置にネットワークを介して接続され、前記クライアント装置のファームウェアの更新を制御するファームウェア更新制御装置とを備えたファームウェア更新システムであって、
前記クライアント装置は、
前記ファームウェア更新制御装置から送信されるファームウェアを一時的に記憶する一時記憶領域を有するメモリと、
設定されているファームウェアを前記一時記憶領域に記憶されたファームウェアで更新するＣＰＵとを有し、
前記ファームウェア更新制御装置は、
前記クライアント装置から送信された前記一時記憶領域の使用可能容量を含む構成情報に基づいて、前記ファームウェアの分割サイズ、分割数、を更新情報として決定する更新情報決定手段と、
前記更新情報決定手段により決定した前記分割数および分割サイズに基づいて、前記ネットワークを介して、複数の分割ファームウェアを順次送信することにより前記設定されているファームウェアを更新させる更新手段と、を有する
ことを特徴とするファームウェア更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置が受信したファームウェアを一時的に記憶するメモリ容量が小さい場合でも、高い信頼性でクライアント装置にファームウェアを更新させることができるファームウェア更新制御装置に関する。
【背景技術】
【０００２】
サーバと、このサーバにネットワークを介して接続されたクライアント装置とを備えたネットワークシステムでは、サーバからクライアント装置へ送信されたファームウェアを送信することにより、クライアント装置がインストール済みのファームウェアを受信したファームウェアで更新する。このとき、クライアント装置では、受信したファームウェアをメモリに一時的に格納しておき、ＥＰ−ＲＯＭなどの書き換え可能な記憶部に記憶されているファームウェアを書き換える。
【０００３】
このクライアント装置には、印刷装置、スキャナ、後処理装置、またはネットワーク機器など様々な装置があるが、その中にはサーバから受信したファームウェアを一時的に格納するメモリの容量が小さいものもある。その一方、近年、ファームウェアはプログラムサイズが大きくなっており、それにより格納するために必要な容量も大きくなっている。
【０００４】
そのため、クライアント装置によっては、受信したファームウェアをメモリに記憶することができない場合があった。
【０００５】
特許文献１には、制御プログラムデータの一部を受信しながら、その受信に要した時間を計測し、書き換える量の全体の容量と受信した容量の計測時間から、ファームウェアの書き換え時間を予測し、ホストコンピュータに送信するクライアント装置の技術について開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３１９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された技術では、ファームウェアの書き換え時間を予測し、ホストコンピュータに送信するが、上述したように、サーバから受信したファームウェアを一時的に格納するメモリの容量が小さい装置の場合、ファームウェアの書き換え時間を予測したとしても、そもそも受信できない場合があった。
【０００８】
また、クライアント装置の容量が大きかったとしても他のプログラムがメモリに一時的に記憶されており空容量が小さい場合、ファームウェアを受信できない場合があった。
【０００９】
このとき、空容量と比較してファームウェアのプログラムサイズが大きいので、ファームウェアを受信するためには、一時的に記憶された他のプログラムをメモリから削除して十分な空容量を確保する必要がある。そのため、ファームウェアを記憶するために十分な空容量が確保されてクライアント装置がファームウェアを受信可能となるまで、サーバから何度もファームウェアの送信をリトライする必要があり、無駄な処理が多く、またリトライが多いのでそれだけ信頼性が低下していた。
【００１０】
本発明は、上記課題に鑑みてなされたものであり、クライアント装置が受信したファームウェアを一時的に記憶するメモリ容量が小さい場合でも、高い信頼性でクライアント装置にファームウェアを更新させることができるファームウェア更新制御装置に提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係るファームウェア更新制御装置の第１の特徴は、
ファームウェアを一時的に記憶する一時記憶領域を有するメモリを備え、設定されているファームウェアを前記一時記憶領域に記憶されたファームウェアで更新するクライアント装置と、ネットワークを介して接続されたファームウェア更新制御装置であって、
前記クライアント装置から送信された前記一時記憶領域の使用可能容量を含む構成情報に基づいて、前記ファームウェアの分割サイズ、分割数、を更新情報として決定する更新情報決定手段と、
前記更新情報決定手段により決定した前記分割数および分割サイズに基づいて、前記ネットワークを介して、複数の分割ファームウェアを順次送信することにより前記設定されているファームウェアを更新させる更新手段と、を備えたことにある。
【００１２】
上記目的を達成するため、本発明に係るファームウェア更新制御装置の第２の特徴は、
前記更新情報決定手段は、さらに、前記クライアント装置から送信された、前記ファームウェアの単位サイズ当たりの更新処理時間に基づいて、分割サイズ毎に更新を完了するまでに要する予測時間を更新情報として決定し、
前記更新手段は、
分割サイズ毎に、前記予測時間に基づく所定時間内に、前記クライアント装置が更新を完了しない場合に、再度、同一の分割ファームウェアに送信を行うことを繰り返し、所定回数以内で、前記所定時間内に更新を完了した場合には、次の分割ファームウェアの送信を行い、
所定回数以内で、前記予測時間内に更新を完了できない場合には、当該分割ファームウェアの送信ができない旨を報知させることにある。
【００１３】
上記目的を達成するため、本発明に係るファームウェア更新制御装置の第３の特徴は、
前記報知の後、ユーザの要求に基づいて、当該分割ファームウェア以前の分割ファームウェアから再度送信することにある。
【００１４】
上記目的を達成するため、本発明に係るファームウェア更新システムの第１の特徴は、
クライアント装置と、前記クライアント装置にネットワークを介して接続され、前記クライアント装置のファームウェアの更新を制御するファームウェア更新制御装置とを備えたファームウェア更新システムであって、
前記クライアント装置は、
前記ファームウェア更新制御装置から送信されるファームウェアを一時的に記憶する一時記憶領域を有するメモリと、
設定されているファームウェアを前記一時記憶領域に記憶されたファームウェアで更新するＣＰＵとを有し、
前記ファームウェア更新制御装置は、
前記クライアント装置から送信された前記一時記憶領域の使用可能容量を含む構成情報に基づいて、前記ファームウェアの分割サイズ、分割数、を更新情報として決定する更新情報決定手段と、
前記更新情報決定手段により決定した前記分割数および分割サイズに基づいて、前記ネットワークを介して、複数の分割ファームウェアを順次送信することにより前記設定されているファームウェアを更新させる更新手段と、を有することにある。
【発明の効果】
【００１５】
本発明に係るファームウェア更新制御装置の第１の特徴によれば、
更新情報決定手段が、クライアント装置から送信された一時記憶領域の使用可能容量を含む構成情報に基づいて、ファームウェアの分割サイズ、分割数、を更新情報として決定し、更新手段が、更新情報決定手段により決定した分割数および分割サイズに基づいて、ネットワークを介して、複数の分割ファームウェアを順次送信することにより設定されているファームウェアを更新させる。
【００１６】
そのため、クライアント装置におけるファームウェアを一時的に記憶する一時記憶領域の使用可能容量が小さい場合でも、更新情報決定手段により決定した分割数および分割サイズに基づいて、ファームウェアを適切な分割数で分割してファームウェアを送信することができるので、高い信頼性でクライアント装置にファームウェアを更新させることができる。
【００１７】
本発明に係るファームウェア更新制御装置の第２の特徴によれば、
更新情報決定手段が、さらに、前記クライアント装置から送信された、前記ファームウェアの単位サイズ当たりの更新処理時間に基づいて、分割サイズ毎に更新を完了するまでに要する予測時間を更新情報として決定し、
前記更新手段は、
分割サイズ毎に、前記予測時間に基づく所定時間内に、前記クライアント装置が更新を完了しない場合に、再度、同一の分割ファームウェアに送信を行うことを繰り返し、所定回数以内で、前記所定時間内に更新を完了した場合には、次の分割ファームウェアの送信を行い、
所定回数以内で、前記予測時間内に更新を完了できない場合には、当該分割ファームウェアの送信ができない旨を報知させる。
【００１８】
そのため、請求項１の効果に加えて、分割ファームウェアを送信したものの予測時間に基づく所定時間内に更新できないような状態、すなわち更新ができたか否かが不安定な状態を回避することにより、ファームウェアの更新の信頼性をより向上させることができる。
【００１９】
本発明に係るファームウェア更新制御装置の第３の特徴によれば、報知の後、ユーザの要求に基づいて、当該分割ファームウェア以前の分割ファームウェアから再度送信するので、確実に正常に更新が完了した分割ファームウェアからやり直すことになるので、正常に更新を完了させる確率を上げることができる。
【００２０】
本発明に係るファームウェア更新制御システムの第３の特徴によれば、クライアント装置におけるファームウェアを一時的に記憶する一時記憶領域の使用可能容量が小さい場合でも、更新情報に基づいてファームウェアを適切な分割数で分割してファームウェアを送信することができるので、高い信頼性でクライアント装置にファームウェアを更新させることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態に係るファームウェア更新制御装置を有するファームウェア更新システムの概略構成を示す説明図である。
【図２】本発明の第１実施形態に係るサーバ装置による画像生成装置のファームウェアの更新処理の概要を示したシーケンス図である。
【図３】本発明の第１実施形態に係るサーバ装置による画像生成装置のファームウェアの更新処理の詳細を示したフローチャートである。
【図４】本発明の第１実施形態に係るサーバ装置による画像生成装置のファームウェアの更新処理の詳細を示したフローチャートである。
【発明を実施するための形態】
【００２２】
以下に本発明に係るファームウェア更新制御装置の実施の形態について、図面を参照して詳細に説明する。なお、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置等を例示するものであって、この発明の技術的思想は、各構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００２３】
［第１実施形態］
（ファームウェア更新システムの全体構成）
図１は、本発明の第１実施形態に係るファームウェア更新制御装置を有するファームウェア更新システムの概略構成を示す説明図である。
【００２４】
図１に示すように、本実施形態のファームウェア更新システムは、印刷処理等の各処理機能を有すると共に、請求項のクライアント装置としても機能する画像生成装置２と、ネットワークＬＡＮを介して画像生成装置２と接続されるサーバ装置１とを有している。
【００２５】
ネットワークＬＡＮは、通信プロトコルＴＣＰ／ＩＰを用いた１０ＢＡＳＥ−Ｔや１００ＢＡＳＥ−ＴＸ等によるローカルネットワーク（ＬＡＮ）や無線ＬＡＮ（ＷＬＡＮ）等の無線ネットワークであり、例えば、ピア・トゥー・ピアによる家庭内ネットワークなどの簡易的なネットワークなども含まれる。
【００２６】
画像生成装置２は、多数のノズルが形成されたインクヘッドを複数備え、それぞれのインクヘッドから黒又はカラーインクを吐出してライン単位で印刷を行い、搬送ベルト上の記録用紙上に複数の画像を互いに重なり合うように形成するインクジェット方式のカラープリンターである。
【００２７】
本実施形態において、この画像生成装置２には、ローカルエリアネットワークＬＡＮを介して、サーバ装置１における外部インターフェイス部１５がそれぞれ接続された外部インターフェイス部９４と、原稿上の画像情報を印刷画像として読み取って画像信号を出力するスキャナ部９８と、スキャナ部９８から出力された画像信号に基づいて印刷用紙（片面又は両面）に印刷画像を印刷（記録）するプリンタ部９６と、画像生成装置２に対する操作に関する情報を表示する表示部である表示操作パネル９７と、表示操作パネル９７の表示制御を行うとともに、画像生成装置全体の制御を行う制御ユニット９０と、ファームウェアを記憶する記憶部９１と、ファームウェアを一時的に記憶する一時記憶部９２とを備える。
【００２８】
記憶部９１は、第１ファームウェア格納領域９１ａと、第２ファームウェア格納領域９１ｂとを有している。画像生成装置２の初期出荷時には、第１ファームウェア格納領域９１ａと、第２ファームウェア格納領域９１ｂとには、いずれも同一のファームウェアが記憶されている。その後、最初にファームウェアが更新される際には、いずれか一方に記憶されているファームウェアが更新される。そして、その後は、いずれか古い方のファームウェアが更新される。これにより、ファームウェア更新時に、ファームウェア自体に欠損があるなど何らかの異常により正常にファームウェアの更新ができなかった場合においても、他方のファームウェアで再起動することができるので、安定稼働させることができる。そして、第１ファームウェア格納領域９１ａと、第２ファームウェア格納領域９１ｂとのうち、新しい方のファームウェアが起動用として設定されている。画像生成装置２が起動する際には、起動用として設定された新しいほうのファームウェアがＣＰＵ９５により読み込まれ、読み込まれたファームウェアに基づいて画像生成装置２が起動される。
【００２９】
一時記憶部９２は、ファームウェア一時格納領域９２ａと、一時格納領域９２ｂとを有している。ファームウェア一時格納領域９２ａは、ファームウェアのみを一時的に記憶する領域であり、一時格納領域９２ｂは、ファームウェア以外のＣＰＵ９５が実行する上で必要なプログラムやデータなど様々な情報が一時的に記憶される。このように、一時記憶部９２は、ファームウェアのみを一時的に記憶するファームウェア一時格納領域９２ａを有するので、ファームウェア以外のＣＰＵ９５が実行する上で必要なプログラムやデータなど様々な情報の容量が増えた場合でも、使用可能な容量が圧迫されることなく、確実にファームウェアを記憶させることができる。
【００３０】
制御ユニット９０は、サーバ装置１から印刷画像の印刷ジョブを受け取る。制御ユニット９０は、受け取った印刷ジョブにより印刷画像のラスタデータを生成する。画像生成装置２は、印刷ジョブにおいて指定された条件で、印刷画像の印刷用紙への印刷をプリンタ部９６において実行する。
【００３１】
また、制御ユニット９０には、操作画面とこれを覆うタッチパネルとで構成された表示操作パネル９７が接続されている。図示しないが、この表示操作パネル９７は、前面に配置された感圧式あるいは静電式の透明なタッチパネルと、このタッチパネルの裏面に配置され、各種表示画面を表示する液晶表示パネルとを有している。ユーザは、液晶表示パネルの表示画面を見ながら、タッチパネルの表面を指などで直接触れることで、表示画面上に表示された各種ボタンの押下操作を行うことができる。
【００３２】
制御ユニット９０は、ＣＰＵ９５を備える。このＣＰＵ９５は、ＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  ＰｒｏｃｅＳＳｏｒ）等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算処理装置である。ＣＰＵ９５は、プログラムを適宜読み込んで実行することにより種々の機能モジュールを仮想的に構築し、画像データに関する処理や、各部の動作制御、ユーザ操作に対する種々の処理を行う。また、ＣＰＵ９５は、記憶部９１に格納されているプログラム及び設定情報に基づいて、表示操作パネル９７から入力設定される内容に応じたスキャナ部９８やプリンタ部９６の動作を制御する。
【００３３】
また、ＣＰＵ９５は、サーバ装置１からの要求に基づいて、単位時間当たりの更新処理時間と、一時記憶部９２のファームウェア一時格納領域９２ａの使用可能容量とを含む構成情報を、外部インターフェイス部９４を介してサーバ装置１へ送信する。
【００３４】
そして、ＣＰＵ９５は、サーバ装置１により決定された分割数、分割サイズで送信されてきた分割ファームウェアを、順次、一時記憶部９２のファームウェア一時格納領域９２ａへ記憶し、一時記憶部９２のファームウェア一時格納領域９２ａに記憶された分割ファームウェアを、記憶部９１の第１ファームウェア格納領域９１ａまたは第２ファームウェア格納領域９１ｂのいずれかに書き込む。これにより、サーバ装置１により決定された分割数、分割サイズで送信されてきた分割ファームウェアを適切に、記憶部９１に記憶させることができる。
【００３５】
サーバ装置１は、ＰＣ（パーソナルコンピュータ）等の汎用コンピュータなどによって構成される。このサーバ装置１は、制御プログラムに基づいて各種の処理を実行するＣＰＵ１６を備えている。また、ＣＰＵ１６には、ワーキングエリアとして機能するＲＡＭ１８や、データを格納するＲＯＭ１７等が接続されているとともに、各種インターフェイスを介して種々のデバイスと接続されている。具体的にはＣＰＵ１６は、各種インターフェイスを介して、キーボードやマウス等から構成される入力部１９や、液晶ディスプレイ等から構成される出力部２０、大容量の記憶装置などの外部記憶装置２１、外部記録媒体５０内に記録されたデータを読み取るとともに外部記録媒体５０に所定のデータを書き込むディスクドライブ２２などが接続されている。
【００３６】
外部記憶装置２１には、画像生成装置２用のファームウェアの格納領域、文書、画像等の印刷画像を含む原稿データを生成するためのアプリケーションプログラムの格納領域、画像生成装置２のプリンタードライバプログラムやファームウェア更新制御プログラムの格納領域、その他各種アプリケーションプログラムの格納領域が確保されている。
【００３７】
ＣＰＵ１６は、プロセッサやメモリその他の周辺装置によって構成される演算装置であり、入力部１９から入力される起動要求に従って外部記憶装置２１のアプリケーションプログラムを起動させる。また、ＣＰＵ１６は、入力部１９からのパラメータ入力等により指示された画像を示す画像データを、起動されたアプリケーションプログラム上において生成する。生成された画像データは出力部２０において表示出力され、また、入力部１９から保存要求が入力された場合には、外部記憶装置２１のデータベース領域に記憶される。
【００３８】
外部記憶装置２１のデータベース領域に記憶された画像データは、アプリケーションプログラムの起動中に入力部１９からの読み出し要求が入力された場合に、外部記憶装置２１から読み出される。読み出された画像データの印刷画像は、出力部２０に表示出力することができ、また、アプリケーションプログラム上において加工して新たな画像データに生成し直すこともできる。
【００３９】
そして、ＣＰＵ１６は、原稿アプリケーションプログラム等で生成した原稿データの印刷要求が入力された場合に、プリンタードライバプログラムを実行することでＣＰＵ上にプリンタードライバ１１を仮想的に構築する。そして、プリンタードライバ１１によって画像生成装置２に印刷ジョブを出力させる。プリンタードライバ１１は、サーバ装置１に接続された画像生成装置２を制御するために、サーバ装置１上で実行されるデータ変換プログラムである。このプリンタードライバ１１は、ユーザにより、印刷を要求する操作が行われた場合、原稿アプリケーション等が生成した印刷画像を有する画像データを取得し、所定の印刷設定情報に従って印刷ジョブを生成する。そして、生成した印刷ジョブを外部インターフェイス部１５から画像生成装置２に出力する。
【００４０】
さらに、ＣＰＵ１６は、外部記憶装置２１に記憶されたファームウェアを読み出し、外部インターフェイス部１５を介して、画像生成装置２に送信することにより、画像生成装置２のファームウェアを更新させる。
【００４１】
具体的には、ＣＰＵ１６が、外部記憶装置２１に記憶されたファームウェア更新制御プログラムを実行することで、更新情報決定手段１２と、更新手段１３とを仮想的に構築する。この更新情報決定手段１２と、更新手段１３とが機能することにより、サーバ装置１が、画像生成装置２のファームウェアの更新を制御することができる。
【００４２】
図２は、本発明の第１実施形態に係るサーバ装置１による画像生成装置２のファームウェアの更新処理の概要を示したシーケンス図である。ここでは、ファームウェアを２つの分割ファームウェアに分割して送信する例について説明する。
【００４３】
まず、サーバ装置１が備えるＣＰＵ１６の更新情報決定手段１２は、ファームウェアの更新がされた場合等のタイミングで、まず、外部インターフェイス部１５を介して、画像生成装置２に対して、ファームウェアの単位サイズ当たりの更新処理時間と、画像生成装置２がファームウェアを一時的に格納するために使用することができるメモリの使用可能容量とを含む構成情報の送信を要求する（ステップＳ１１）。
【００４４】
そして、画像生成装置２が単位サイズ当たりの更新処理時間と、一時記憶部９２のファームウェア一時格納領域９２ａの使用可能容量とを含む構成情報を送信すると（ステップＳ１３）、更新情報決定手段１２は、画像生成装置２から送信された、構成情報に基づいて、ファームウェアの分割サイズ、分割数、および更新を完了するまでに要する予測時間を更新情報として決定する（ステップＳ１５）。例えば、ファームウェアのサイズがファームウェア一時格納領域９２ａの使用可能容量以下の場合、分割数は“１”とする。その一方、ファームウェアのサイズがファームウェア一時格納領域９２ａの使用可能容量を超える場合、ファームウェア一時格納領域９２ａの使用可能容量以下となるようなサイズにファームウェアを複数に分割して分割ファームウェアを生成する。また、更新情報決定手段１２は、単位サイズ当たりの更新処理時間に、ファームウェアのサイズを乗算することにより、更新を完了するまでに要する予測時間を算出する。
【００４５】
サーバ装置１が備えるＣＰＵ１６の更新手段１３は、更新情報決定手段１２により決定した更新情報に基づいて、外部インターフェイス部１５を介して、分割ファームウェアを画像生成装置２に送信する（ステップＳ１７）。例えば、分割数が“２”の場合、まずは、第１ブロックの分割ファームウェアを送信する。
【００４６】
画像生成装置２は、送信された第１ブロックの分割ファームウェアで更新を行う（ステップＳ１９）。具体的には、第１ファームウェア格納領域９１ａと、第２ファームウェア格納領域９１ｂとのうち、古い方のファームウェアを消去して、第１ブロックの分割ファームウェアを書き込む。なお、この更新処理の処理中、算出した予測時間の間、サーバ装置１は待機している。
【００４７】
次に、画像生成装置２は、第１ブロックの分割ファームウェアの更新が完了すると、サーバ装置１に対して、更新完了通知を送信する（ステップＳ２１）。
【００４８】
サーバ装置１が備えるＣＰＵ１６の更新手段１３は、更新完了通知を受信すると、更新情報決定手段１２により決定した更新情報に基づいて、外部インターフェイス部１５を介して、第２ブロックの分割ファームウェアを画像生成装置２に送信する（ステップＳ２３）。
【００４９】
画像生成装置２は、送信された第２ブロックの分割ファームウェアで更新を行う（ステップＳ２７）。この更新処理の処理中、サーバ装置１は待機している。
【００５０】
次に、画像生成装置２は、第２ブロックの分割ファームウェアの更新が完了すると、サーバ装置１に対して、更新完了通知を送信する（ステップＳ２９）。これにより、分割ファームウェアの全てについて更新処理を完了し、更新が完了したファームウェアが起動用として設定される。
【００５１】
次に、本発明の第１実施形態に係るサーバ装置１の作用について説明する。
【００５２】
図３および図４は、本発明の第１実施形態に係るサーバ装置１による画像生成装置２のファームウェアの更新処理の詳細を示したフローチャートである。
【００５３】
図３に示すように、例えば、ユーザ操作などにより、ファームウェアの更新が要求されると（ステップＳ１０１；ＹＥＳ）、サーバ装置１が備えるＣＰＵ１６の更新情報決定手段１２は、まず、外部インターフェイス部１５を介して、画像生成装置２に対して、ファームウェアの単位サイズ当たりの更新処理時間と、画像生成装置２がファームウェアを一時的に格納するために使用することができるメモリの使用可能容量とを含む構成情報の送信を要求し、画像生成装置２から構成情報を受信する（ステップＳ１０３）。
【００５４】
そして、更新情報決定手段１２は、受信した構成情報と前回受信した構成情報とを比較することにより、今回受信した構成情報に変更があるか否かを判定する（ステップＳ１０５）。
【００５５】
今回受信した構成情報に変更がある場合（ステップＳ１０５；ＹＥＳ）、更新情報決定手段１２は、画像生成装置２から送信された構成情報に基づいて、ファームウェアの分割サイズ、分割数、および更新を完了するまでに要する予測時間を更新情報として決定する（ステップＳ１０７）。
【００５６】
一方、今回受信した構成情報に変更がない場合（ステップＳ１０５；ＮＯ）、前回の決定した更新情報を採用する（ステップＳ１０９）。
【００５７】
次に、ＣＰＵ１６の更新手段１３は、ステップＳ１０７において決定された分割サイズおよび分割数、またはステップＳ１０９において採用された分割サイズおよび分割数に基づいて、分割ファームウェアを生成する（ステップＳ１１１）。
【００５８】
そして、書き込みが不可であった回数をカウントするためのＮＧカウンタに初期値として“０”を代入すると共に、何番目の分割ファームウェアであるかを示すブロック数カウンタｎの初期値として“１”を代入する（ステップＳ１１３）。
【００５９】
次に、ＣＰＵ１６の更新手段１３は、外部インターフェイス部１５を介して、更新情報を画像生成装置２に送信した後（ステップＳ１１５）、第ｎブロックの分割ファームウェアを画像生成装置２に送信する（ステップＳ１１７）。
【００６０】
更新手段１３は、予測時間だけ待機した後（ステップＳ１１９）、第ｎブロックのファームウェアの書き込みが完了したか否かを判定する（ステップＳ１２１）。具体的には、画像生成装置２から更新完了通知を受信した場合に、第ｎブロックのファームウェアの書き込みが完了したと判定する。
【００６１】
第ｎブロックのファームウェアの書き込みが完了した場合（ステップＳ１２１；ＹＥＳ）、処理を図４に示すステップＳ２０１へ以降する。
【００６２】
一方、ステップＳ１１９において、予測時間待機したにもかかわらず、第ｎブロックのファームウェアの書き込みが完了しない場合（ステップＳ１２１；ＮＯ）、書き込みに不具合が生じたと推測できるので、更新手段１３は、ＮＧカウンタを“１”だけカウントアップし（ステップＳ１２３）、ＮＧカウンタが所定の閾値を超えたか否かを判定する（ステップＳ１２５）。ここで、ＮＧカウンタは、ファームウェアを送信する際に、何回書き込み不可となったかをカウントするカウンタであり、ＮＧカウンタが所定の閾値を超えた場合、ネットワーク上または送信先である画像生成装置２に不具合がある可能性が高いと判定できる。
【００６３】
そのため、ＮＧカウンタが所定の閾値を超えたと判定された場合（ステップＳ１２５；ＹＥＳ）、処理を図４に示すステップＳ２１３へ以降し、エラーを報知する。
【００６４】
その一方、ＮＧカウンタが所定の閾値以下であると判定された場合（ステップＳ１２５；ＮＯ）、一時的な不具合である可能性が高いので、処理をステップＳ１１７へ戻し、再度、第ｎブロックのファームウェアを画像生成装置２に送信する（ステップＳ１１７）。
【００６５】
また、ステップＳ１２１において、第ｎブロックのファームウェアの書き込みが完了した場合（ステップＳ１２１；ＹＥＳ）、処理を図４に示すステップＳ２０１へ以降し、更新手段１３は、第ｎブロックのファームウェアの書き込みが予測時間の範囲内か否かを判定する（ステップＳ２０１）。具体的には、更新手段１３は、ステップＳ１１７において、第ｎブロックのファームウェアを送信した時点から、画像生成装置２から更新完了通知を受信した時点までの実測時間が、予測時間に対して所定の余裕時間だけ減算した下限予想範囲時間から予測時間に対して所定の余裕時間だけ加算した上限予想範囲時間までの範囲内にあるか否かを判定する。
【００６６】
第ｎブロックのファームウェアの書き込みが予測時間の範囲内であると判定された場合（ステップＳ２０１；ＹＥＳ）、第ｎブロックのファームウェアの書き込みが適切に行われたと推測できるので、ＮＧカウンタをゼロリセットする（ステップＳ２０３）。
【００６７】
そして、更新手段１３は、更新情報に基づいて、第ｎブロックのファームウェアが最後のブロックであると判定した場合（ステップＳ２０５；ＹＥＳ）、処理を終了する一方、第ｎブロックのファームウェアが最後のブロックでないと判定した場合（ステップＳ２０５；ＮＯ）、ブロック数カウンタを“１”だけ加算した後（ステップＳ２０７）、処理をステップＳ１１７に戻し、次のブロックについてファームウェアを送信する。
【００６８】
一方、ステップＳ２０１において、第ｎブロックのファームウェアの書き込みが予測時間の範囲外であると判定された場合（ステップＳ２０１；ＮＯ）、更新完了通知を受信したものの、予測時間よりかなり早く書き込みが完了しているか、または予測時間よりかなり遅く書き込みが完了しているので、第ｎブロックのファームウェアの書き込みが適切に行われていない可能性がある。
【００６９】
そこで、更新手段１３は、ＮＧカウンタを“１”だけカウントアップし（ステップＳ２０９）、ＮＧカウンタが所定の閾値を超えたか否かを判定する（ステップＳ２１１）。
【００７０】
ＮＧカウンタが所定の閾値以下であると判定された場合（ステップＳ２１１；ＮＯ）、一時的な不具合である可能性が高いので、処理をステップＳ１１７へ戻し、再度、第ｎブロックのファームウェアを画像生成装置２に送信する（ステップＳ１１７）。
【００７１】
一方、ＮＧカウンタが所定の閾値を超えたと判定された場合（ステップＳ２１１；ＹＥＳ）、更新手段１３は、エラーを報知する（ステップＳ２１３）。例えば、「ファームウェアの書き込みが適切に行われていない可能性があります。ファームウェアの更新をやり直すか、メンテナンスサービスセンターに連絡してください。」というメッセージを出力部２０に表示させる。
【００７２】
そして、ユーザが入力部１９からファームウェアの再送信を要求する操作を行った場合（ステップＳ２１５）、ブロック数カウンタを“１”だけ減算した後（ステップＳ２１７）、処理をステップＳ１１７に戻す。これにより、ＮＧカウンタが閾値を超えた第ｎブロックの分割ファームウェアの１つ前の第（ｎ−１）ブロックの分割ファームウェアの更新からやり直すことができる。そのため、確実に正常に書き込みが完了した分割ファームウェアからやり直すことになるので、正常に書き込みを完了させる確率を上げることができる。
【００７３】
以上のように、本発明の第１実施形態に係るサーバ装置１によれば、画像生成装置２から送信された一時記憶部９２のファームウェア一時格納領域９２ａの使用可能容量を含む構成情報に基づいて、ファームウェアの分割サイズ、分割数、を更新情報として決定する更新情報決定手段１２と、更新情報決定手段１２により決定した分割数および分割サイズに基づいて、ローカルエリアネットワークＬＡＮを介して、複数の分割ファームウェアを順次送信することにより設定されているファームウェアを更新させる更新手段１３とを備えている。そのため、ファームウェア一時格納領域９２ａの使用可能容量が小さい場合でも、更新情報に基づいてファームウェアを適切な分割数で分割してファームウェアを送信することができるので、高い信頼性で画像生成装置２にファームウェアを更新させることができる。
【００７４】
なお、本発明の第１実施形態に係るサーバ装置１では、ステップＳ２１７において、ブロック数カウンタを“１”だけ減算することにより、処理をステップＳ１１７に戻し、ＮＧカウンタが閾値を超えた第ｎブロックのファームウェアの１つ前の第（ｎ−１）ブロックのファームウェアの更新からやり直したがこれに限らない。ブロックカウンタを“１”とすることにより、最初からフォームウェアの書き込みをやり直すようにしてもよい。すなわち、ステップＳ２１７において、ブロック数カウンタの値を“１”〜“Ｎ―１”のいずれかを代入するようにすればよい。
【００７５】
また、本発明の第１実施形態では、更新情報決定手段１２が、単位サイズ当たりの更新処理時間に、ファームウェアのサイズを乗算することにより、更新を完了するまでに要する予測時間を算出したが、これに限らない。例えば、画像生成装置２の仕様により、一時記憶部９２が実際に更新処理を実行している時間に加えて、所定の待機時間を要する場合には、単位サイズ当たりの更新処理時間に、ファームウェアのサイズを乗算した時間に、所定の待機時間を加算した時間を予測時間としてもよい。
【００７６】
なお、本発明の第１実施形態では、ファームウェア更新システムとして、印刷処理等の各処理機能を有すると共に、請求項のクライアント装置としても機能する画像生成装置２と、ネットワークＬＡＮを介して画像生成装置２と接続されるサーバ装置１とを有する構成を例に挙げて説明したが、これに限らない。
【００７７】
例えば、クライアント装置として、スキャナ、後処理装置、およびネットワーク機器などファームウェアが選定されている装置であれば適用できる。
【００７８】
なお、上述の実施例では、ステップＳ１２１でＹＥＳの場合でもステップＳ２０１の処理を行って、より確実にファームウェアの更新をするようにしたが、これに限らない。ステップＳ２０１に移行する場合と比較すると、更新の信頼性は多少劣化する可能性はあるが、ステップＳ２０１およびＳ２０３をバイパスして、直接、ステップＳ２０５の処理に移行するようにしてもよい。
【符号の説明】
【００７９】
１  サーバ装置
２  画像生成装置
１１  プリンタードライバ
１２  更新情報決定手段
１３  更新手段
１５  外部インターフェイス部
１９  入力部
２０  出力部
２１  外部記憶装置
２２  ディスクドライブ
５０  外部記録媒体
９０  制御ユニット
９１  記憶部
９１ａ  第１ファームウェア格納領域
９１ｂ  第２ファームウェア格納領域
９２  一時記憶部
９２ａ  ファームウェア一時格納領域
９２ｂ  一時格納領域
９４  外部インターフェイス部
９６  プリンタ部
９７  表示操作パネル
９８  スキャナ部
【図１】
2018088034.tif 000003
【図２】
2018088034.tif 000004
【図３】
2018088034.tif 000005
【図４】
2018088034.tif 000006