(57)【特許請求の範囲】
【請求項１】
複数のデバイスと、ファームウェアを格納するサーバ装置と、にそれぞれ接続可能な端末装置であって、
ユーザにより入力される送信指示を受け付ける受付部と、
前記受付部が前記送信指示を受け付けることに応じて前記サーバ装置から送信される、前記ファームウェアを受信する受信部と、
前記サーバ装置から受信されるファームウェアを記憶する記憶部と、
前記複数のデバイスの各デバイスについて機種及び仕様のうちの少なくとも一方を示すデバイス情報を取得する第１取得部と、
前記複数のデバイスのうち前記デバイス情報が共通するデバイス同士を、互いに共通する共通ファームウェアがインストールされる共通デバイスと判断する第１判断部と、
前記記憶されたファームウェアを、当該ファームウェアに対応するデバイスにインストールさせるために供給する供給部と、
前記記憶部に記憶されたファームウェアが対応する全てのデバイスに供給された後に、当該ファームウェアを前記記憶部から消去する消去部と、
を備え、
前記供給部は、前記複数のデバイスに複数の共通デバイスが存在する場合に、前記サーバ装置からの一度の受信にて前記記憶部に記憶された一の共通ファームウェアを、当該共通ファームウェアに対応する複数の共通デバイスに供給する、端末装置。
【請求項２】
請求項１に記載の端末装置において、
前記デバイス情報に基づいてデバイスに対応するファームウェアの種別を示す識別情報を取得する第２取得部を備え、
前記第２取得部は、前記デバイス情報が互いに共通するデバイスに対しては、一の識別情報を取得する、端末装置。
【請求項３】
複数のデバイスと、ファームウェアを格納するサーバ装置と、にそれぞれ接続可能な端末装置であって、
ユーザにより入力される送信指示を受け付ける受付部と、
前記受付部が前記送信指示を受け付けることに応じて前記サーバ装置から送信される、前記ファームウェアを受信する受信部と、
前記サーバ装置から受信されるファームウェアを記憶する記憶部と、
前記複数のデバイスの各デバイスについて機種及び仕様のうちの少なくとも一方を示すデバイス情報を取得する第１取得部と、
前記デバイス情報に基づいてデバイスに対応するファームウェアの種別を示す識別情報を取得する第２取得部と、
前記複数のデバイスのうち前記識別情報が共通するデバイス同士を、互いに共通する共通ファームウェアがインストールされる共通デバイスと判断する第２判断部と、
前記記憶されたファームウェアを、当該ファームウェアに対応するデバイスにインストールさせるために供給する供給部と、
前記記憶部に記憶されたファームウェアが対応する全てのデバイスに供給された後に、当該ファームウェアを前記記憶部から消去する消去部と、
を備え、
前記供給部は、前記複数のデバイスに複数の共通デバイスが存在する場合に、前記サーバ装置からの一度の受信にて前記記憶部に記憶された一の共通ファームウェアを、当該共通ファームウェアに対応する複数の共通デバイスに供給する、端末装置。
【請求項４】
請求項１から請求項３のいずれか一項に記載の端末装置において、
前記複数のデバイスのうち、第１のデバイスと第２のデバイスとがそれぞれ前記共通デバイスである場合に、
前記記憶部は、前記受信部により受信した前記第１のデバイスに対応する第１のファームウェアを記憶し、
前記供給部は、前記第１のファームウェアを前記第１のデバイスに供給し、かつ、前記第１のファームウェアを前記共通ファームウェアとして前記第２のデバイスに供給する、端末装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の端末装置において、
当該端末装置はネットワーク回線を介して前記複数のデバイスに接続可能であって、
前記ネットワーク回線に検出信号をブロードキャスト送信することにより前記ネットワーク回線に接続された複数のデバイスを検出可能な検出部を備え、
前記供給部は、前記検出部により検出された複数のデバイスに対して、前記ファームウェアを供給する、端末装置。
【請求項６】
請求項１から請求項５のいずれか一項に記載の端末装置において、
前記受信部は、定期的に送信される送信指示に応じて前記サーバ装置から送信される、前記ファームウェアを受信する、端末装置。
【請求項７】
複数のデバイスと、ファームウェアを格納するサーバ装置と、にそれぞれ接続可能な端末装置を制御するためのプログラムであって、
ユーザにより入力される送信指示を受け付ける受付処理と、
前記受付処理より前記送信指示を受け付けることに応じて前記サーバ装置から送信される、前記ファームウェアを受信する受信処理と、
前記サーバ装置から受信されるファームウェアを記憶する記憶処理と、
前記複数のデバイスの各デバイスについて機種及び仕様のうちの少なくとも一方を示すデバイス情報を取得する第１取得処理と、
前記複数のデバイスのうち前記デバイス情報が共通するデバイス同士を、互いに共通する共通ファームウェアがインストールされる共通デバイスと判断する第１判断処理と、
前記記憶されたファームウェアを、当該ファームウェアに対応するデバイスにインストールさせるために供給する供給処理と、
前記記憶処理により記憶されたファームウェアが対応する全てのデバイスに供給された後に、当該ファームウェアを消去する消去処理と、
を端末装置に実行させ、
前記供給処理では、前記複数のデバイスに複数の共通デバイスが存在する場合に、前記サーバ装置からの一度の受信にて前記記憶処理により記憶された一の共通ファームウェアを、当該共通ファームウェアに対応する複数の共通デバイスに供給する、プログラム。
【請求項８】
複数のデバイスと、ファームウェアを格納するサーバ装置と、にそれぞれ接続可能な端末装置を制御するためのプログラムであって、
ユーザにより入力される送信指示を受け付ける受付処理と、
前記受付処理より前記送信指示を受け付けることに応じて前記サーバ装置から送信される、前記ファームウェアを受信する受信処理と、
前記サーバ装置から受信されるファームウェアを記憶する記憶処理と、
前記複数のデバイスの各デバイスについて機種及び仕様のうちの少なくとも一方を示すデバイス情報を取得する第１取得処理と、
前記デバイス情報に基づいてデバイスに対応するファームウェアの種別を示す識別情報を取得する第２取得処理と、
前記複数のデバイスのうち前記識別情報が共通するデバイス同士を、互いに共通する共通ファームウェアがインストールされる共通デバイスと判断する第２判断処理と、
前記記憶されたファームウェアを、当該ファームウェアに対応するデバイスにインストールさせるために供給する供給処理と、
前記記憶処理により記憶されたファームウェアが対応する全てのデバイスに供給された後に、当該ファームウェアを消去する消去処理と、
を端末装置に実行させ、
前記供給処理では、前記複数のデバイスに複数の共通デバイスが存在する場合に、前記サーバ装置からの一度の受信にて前記記憶処理により記憶された一の共通ファームウェアを、当該共通ファームウェアに対応する複数の共通デバイスに供給する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスにインストールされたファームウェアを更新するための技術に関する。
【背景技術】
【０００２】
従来より、プリンタ、スキャナなどのデバイスにインストールされたファームウェアを更新する技術が知られている。例えば、特許文献１には、複数のデバイスが１台の端末装置に接続されており、この端末装置によってメーカのサーバから複数のデバイスに対応する最新のファームウェアをそれぞれダウンロードし、ダウンロードしたファームウェアをそれぞれデバイスに送信してインストールさせる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０９２３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、ファームウェアを更新しようとするデバイスの数が多くなると、それだけ端末装置が受信するファームウェアのデータ量が増え、ネットワークやサーバなどに負荷がかかるという問題があった。
【０００５】
本発明は上記のような事情に基づいて完成されたものであって、複数のデバイスに対してファームウェアを更新するために実行される、端末装置におけるファームウェアの受信の回数を減らすことを目的とする。
【課題を解決するための手段】
【０００６】
本明細書によって開示される端末装置は、複数のデバイスと、ファームウェアを格納するサーバ装置と、にそれぞれ接続可能な端末装置であって、前記サーバ装置から前記ファームウェアを受信する受信部と、前記サーバ装置から受信されるファームウェアを記憶する記憶部と、前記記憶されたファームウェアを、当該ファームウェアに対応するデバイスにインストールさせるために供給する供給部と、を備え、前記供給部は、前記複数のデバイスのうち互いに共通する共通ファームウェアがインストールされる複数の共通デバイスが存在する場合に、前記サーバ装置からの一度の受信にて前記記憶部に記憶された一の共通ファームウェアを、当該共通ファームウェアに対応する複数の共通デバイスに供給する。
【０００７】
また、上記端末装置は、前記複数のデバイスのうち、第１のデバイスと第２のデバイスとがそれぞれ前記共通デバイスである場合に、前記記憶部は、前記受信部により受信した前記第１のデバイスに対応する第１のファームウェアを記憶し、前記供給部は、前記第１のファームウェアを前記第１のデバイスに供給し、かつ、前記第１のファームウェアを前記共通ファームウェアとして前記第２のデバイスに供給してもよい。
【０００８】
また、上記端末装置は、前記複数のデバイスの各デバイスについて機種及び仕様のうちの少なくとも一方を示すデバイス情報を取得する第１取得部と、前記デバイス情報に基づいてデバイスに対応するファームウェアの種別を示す識別情報を取得する第２取得部と、前記複数のデバイスのうち前記識別情報が共通するデバイス同士を共通デバイスと判断する第２判断部と、を備えてもよい。
【０００９】
また、上記端末装置は、前記複数のデバイスの各デバイスについて機種及び仕様のうちの少なくとも一方を示すデバイス情報を取得する第１取得部と、前記複数のデバイスのうち前記デバイス情報が共通するデバイス同士を共通デバイスと判断する第１判断部と、を備えてもよい。
【００１０】
また、上記端末装置は、前記デバイス情報に基づいてデバイスに対応するファームウェアの種別を示す識別情報を取得する第２取得部を備え、前記第２取得部は、前記デバイス情報が互いに共通するデバイスに対しては、一の識別情報を取得してもよい。
【００１１】
また、上記端末装置は、当該端末装置はネットワーク回線を介して前記複数のデバイスに接続可能であって、前記ネットワーク回線に検出信号をブロードキャスト送信することにより前記ネットワーク回線に接続された複数のデバイスを検出可能な検出部を備え、前記供給部は、前記検出部により検出された複数のデバイスに対して、前記ファームウェアを供給してもよい。
【００１２】
また、上記端末装置は、前記記憶部に記憶されたファームウェアが対応する全てのデバイスに供給された後に、当該ファームウェアを前記記憶部から消去する消去部を備えてもよい。
【００１３】
また、上記端末装置は、ユーザにより入力される送信指示を受け付ける受付部を更に備え、前記受信部は、前記受付部が前記送信指示を受け付けることに応じて前記サーバ装置から送信される、前記ファームウェアを受信してもよい。
【００１４】
また、上記端末装置は、前記受信部が、定期的に送信される送信指示に応じて前記サーバ装置から送信される、前記ファームウェアを受信してもよい。
【００１５】
なお、この発明は、端末装置、デバイス、サーバ装置、端末装置とサーバ装置とを備えたシステム、端末装置とデバイスとサーバ装置とを備えたシステム、これらの装置、システムの機能または方法を実現するためのプログラム、そのプログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【００１６】
本発明によれば、一度の受信にて得られた一の共通ファームウェアを複数の共通デバイスに対して供給することが可能であるため、複数の共通デバイスに対してファームウェアを別々に受信し供給する場合に比べて、ファームウェアの受信回数を減らすことができる。
【図面の簡単な説明】
【００１７】
【図１】システムの構成を示すブロック図
【図２】実施形態１における更新処理のフローチャート
【図３】実施形態１における送受信処理のフローチャート
【図４】実施形態２における更新処理のフローチャート
【図５】実施形態２における送受信処理のフローチャート
【発明を実施するための形態】
【００１８】
＜実施形態１＞
次に本発明の実施形態１について図１から図３を参照して説明する。
【００１９】
（システムの構成）
図１は、本実施形態におけるシステムの構成を示すブロック図である。
同図に示すように、本システムは、端末装置１０と、複数のプリンタ２０と、複数のサーバ３０Ａ，３０Ｂとを備えている。
【００２０】
端末装置１０は、一般的なクライアントコンピュータであって、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ＨＤＤ（ハードディスクドライブ）１４、操作部１５、表示部１６、ネットワークインターフェイス１７を備えている。
【００２１】
ＲＯＭ１２には、ＢＩＯＳ等のプログラムが記憶されている。ＨＤＤ１４（記憶部の一例）には、ＯＳや、後述するプリンタ２０のファームウェアを管理するための管理アプリケーションが記憶されている。ＣＰＵ１１（受信部、供給部、第１取得部、第２取得部、第１判断部、第２判断部、検出部、消去部の一例）は、ＲＯＭ１２、ＲＡＭ１３、またはＨＤＤ１４から読み出したプログラムに従って各部の制御を行う。
【００２２】
操作部１５（受付部の一例）は、キーボードやポインティングデバイスを備えており、ユーザが操作部１５を用いてＣＰＵ１１に対する各種の指示を入力することができる。表示部１６は、ディスプレイを備え、ＣＰＵ１１の制御により様々な画像を表示する。ネットワークインターフェイス１７は、ＬＡＮ４０（ネットワーク回線の一例）に接続されている。
【００２３】
プリンタ２０（デバイスの一例）は、ＣＰＵ２１、ＲＡＭ２３、ＮＶＲＡＭ２４、ネットワークインターフェイス２５、印刷部２６を備えている。ＮＶＲＡＭ２４は、不揮発性のメモリであって、ＣＰＵ２１がプリンタ２０の各種動作の制御を実現するためのファームウェア（プログラム）を記憶している。ファームウェアには、種別とバージョンとが定められており、プリンタ２０にインストールされているファームウェアを新しいバージョンに書き換えることでファームウェアを更新することができる。
【００２４】
ネットワークインターフェイス２５は、既述のＬＡＮ４０に接続されており、これにより端末装置１０とプリンタ２０との間での通信が可能となっている。印刷部２６は、端末装置１０等から供給された印刷データに基づいてＣＰＵ２１の制御によりシート上に画像を形成する。
【００２５】
なお、図１では３台のプリンタ２０を示しているが、本システムでは、プリンタ２０を２台または４台以上設けることができる。また、本システムには、互いに異なるモデルのプリンタ２０を混在させることができる。そして、本実施形態では、プリンタ２０のモデルによってインストールされるファームウェアの種別が定められているものとする。
【００２６】
ＬＡＮ４０は、図示しないルータを介してインターネット等のＷＡＮ４１に接続されている。このＷＡＮ４１には、サーバ３０Ａ，３０Ｂが接続されている。サーバ３０Ａは、後述するようにモデル別のファームウェアの最新バージョン情報やファームウェアのダウンロード先ＵＲＬなどを含む更新データを格納しており、端末装置１０からの要求に応じて必要な情報を供給する。
【００２７】
サーバ３０Ｂは、最新バージョンのファームウェアのである更新用ファームウェアを複数種類格納しており、端末装置１０からの要求に応じて端末装置１０へ更新用ファームウェアを送信する。
【００２８】
（更新処理）
次に端末装置１０においてプリンタ２０のファームウェアを更新するために実行される更新処理について説明する。図２は、更新処理のフローチャートであり、図３は、送受信処理のフローチャートである。
【００２９】
更新処理は、既述の管理アプリケーションの一機能として実行される。この更新処理の実行に先立って、ユーザが端末装置１０上で管理アプリケーションを起動させ、プリンタリストを作成する指示を操作部１５から入力する。この指示を受けると、端末装置１０のＣＰＵ１１は、ネットワークインターフェイス１７によってプリンタ２０の検出信号をＬＡＮ４０上にブロードキャスト送信する。そして、その応答に基づいてＬＡＮ４０に接続されたプリンタ２０の一覧データであるプリンタリストを作成し、表示部１６に表示させる。
【００３０】
その後、ユーザが更新処理の実行指示を操作部１５から入力すると、ＣＰＵ１１は、図２に示す更新処理を開始する。ＣＰＵ１１は、まず先に作成したプリンタリストを読み出す（Ｓ１０１）。
【００３１】
そして、ＣＰＵ１１は、プリンタリストに含まれる１つのプリンタ２０に対し、ネットワークインターフェイス１７を介して、プリンタ２０に現在インストールされているファームウェアの種別及びバージョンを示す情報（デバイス情報の一例）を取得する（Ｓ１０２）。なお、ここでは、プリンタ２０のモデルや仕様によりインストールされるファームウェアの種別が定められているものとし、ファームウェアの種別を示す情報は、プリンタ２０の機種及び仕様のうちの少なくとも一方を示すデバイス情報として用いられる。
【００３２】
続いてＣＰＵ１１は、ネットワークインターフェイス１７によりサーバ３０Ａに対して取得したファームウェアの種別及びバージョンを示す情報とともに更新情報の要求を送信する。サーバ３０Ａは、この要求を受けると、更新データを参照して、要求に含まれるファームウェアの種別に対応する最新のバージョンを取得し、要求に含まれるファームウェアのバージョンと最新のバージョンとを比較する。そして、プリンタ２０に現在インストールされているファームウェアのバージョンが最新のバージョンよりも古いか否かを判断する。
【００３３】
そして、プリンタ２０に現在インストールされているファームウェアのバージョンが古い場合、そのプリンタ２０のモデル（または仕様）に対応するファームウェアの種別と最新バージョンの情報と更新用ファームウェア（最新バージョンのファームウェア）のダウンロード先ＵＲＬとを含む更新情報（識別情報の一例）を端末装置１０に返信する。なお、ここでは、更新用ファームウェアの種別によりダウンロード先のＵＲＬが異なるものとし、このＵＲＬはファームウェアの種別を示す識別情報として用いられる。
【００３４】
一方、プリンタ２０に現在インストールされているファームウェアのバージョンが最新である場合、更新情報を端末装置１０に返信しない。ＣＰＵ１１は、上述の要求を送信した後、サーバ３０Ａからの応答を待機する。そして、サーバ３０Ａからプリンタ２０のモデル（または仕様）に対応する更新情報を取得するか、または更新情報を取得せずに一定時間待機する（Ｓ１０３）。なお、サーバ３０Ａは、プリンタ２０に現在インストールされているファームウェアのバージョンが最新である場合、ファームウェアの更新が不要であることを示す情報をプリンタ２０に送信してもよい。
【００３５】
続いてＣＰＵ１１は、プリンタリストの全てのプリンタに対して、更新情報の要求を送信したかを判断する（Ｓ１０４）。そして、更新情報の要求を送信していないプリンタが存在する場合（Ｓ１０４：ＮＯ）には、Ｓ１０２に戻り、更新情報の要求をまだ送信していない１つのプリンタ２０について要求を送信してプリンタ情報を取得し、更新情報を取得または一定時間待機する処理を繰り返す。
【００３６】
また、ＣＰＵ１１は、プリンタリストに含まれる全てのプリンタ２０に対する更新情報の要求を送信した場合（Ｓ１０４：ＹＥＳ）には、プリンタリストの各プリンタ２０について、ファームウェアの種別と最新バージョンの情報と当該ファームウェアの保存先のＵＲＬとを含む更新情報を取得したか、即ちファームウェアを更新可能なプリンタ２０が存在するかを判断する（Ｓ１０５）。
【００３７】
ファームウェアを更新可能なプリンタ２０が存在しない場合（Ｓ１０５：ＮＯ）には、ファームウェアを更新可能なプリンタが存在しない旨のメッセージを表示部１６に表示させ（Ｓ１０６）、この更新処理を終了する。
【００３８】
また、ＣＰＵ１１は、ファームウェアを更新可能なプリンタ２０が存在する場合（Ｓ１０５：ＹＥＳ）には、それらのプリンタ２０の名称を表示部１６にリスト表示させる（Ｓ１０７）。ここで、ユーザは、操作部１５を用いて、表示部１６にリスト表示されたプリンタ２０の中からファームウェアの更新を行う対象とするプリンタ（以下、対象プリンタともいう）を選択し、更新実行指示（送信指示の一例）を入力する（Ｓ１０８）。
【００３９】
更新実行指示が入力されると、ＣＰＵ１１は、リスト上で選択された１つの対象プリンタ２０に対し、サーバ３０Ｂからの更新用ファームウェアの受信とプリンタ２０への更新用ファームウェアの送信とを行う送受信処理を実行する（Ｓ１０９）。
【００４０】
ＣＰＵ１１は、図３に示す送受信処理において、この更新処理において選択された１つの対象のプリンタ２０に対応する更新用ファームウェアのダウンロード先ＵＲＬから、更新用ファームウェアをダウンロード済みかを判断する（Ｓ２０２）。ダウンロード先ＵＲＬから更新用ファームウェアを未だダウンロードしていない場合（Ｓ２０２：ＮＯ）には、そのＵＲＬにファームウェアのダウンロード要求を送信する。そして、その要求に応じてサーバ３０Ｂから送信されるファームウェアを受信してＨＤＤ１４上に記憶する（Ｓ２０３）。
【００４１】
次にＣＰＵ１１は、更新用ファームウェアのダウンロードが成功したかを判断し（Ｓ２０４）、サーバ３０Ｂとの通信障害など、何らかの事情でダウンロードが失敗した場合（Ｓ２０４：ＮＯ）には、表示部１６に表示されるリストにダウンロード結果としてエラーを表示させ（Ｓ２０５）、この送受信処理を終了する。
【００４２】
また、更新用ファームウェアのダウンロードが成功した場合（Ｓ２０４：ＹＥＳ）には、対象のプリンタ２０にファームウェアを供給（送信）する（Ｓ２０６）。プリンタ２０のＣＰＵ２１は、端末装置１０から更新用ファームウェアを受信すると、ＮＶＲＡＭ２４上に記憶された古いファームウェアを更新用ファームウェアで書き換えるインストール処理を行い、これに成功すると、端末装置１０に対し更新成功の通知を送信する。またこの処理が何らかの事情で失敗すると更新失敗の通知を送信する。
【００４３】
また、端末装置１０のＣＰＵ１１は、Ｓ２０２にて、ダウンロード先ＵＲＬから更新用ファームウェアをダウンロード済みであると判断した場合（Ｓ２０２：ＹＥＳ）には、Ｓ２０６にてＨＤＤ１４に記憶されたファームウェアを対象のプリンタ２０に供給（送信）する。
【００４４】
即ち、対象プリンタのうち共通するファームウェアがインストールされるプリンタ（共通デバイス）が存在する場合には、サーバ３０Ｂから同じファームウェアのダウンロードを行わずに、ＨＤＤ１４に記憶された一のファームウェア（共通ファームウェア）を読み出して送信する。プリンタ２０では、更新用ファームウェアを受信すると、既述のインストール処理を行う。
【００４５】
プリンタ２０に更新用ファームウェアを供給した後、ＣＰＵ１１は、そのプリンタ２０から更新成功の通知を受けた場合（Ｓ２０７；ＹＥＳ）には、更新成功の結果をサーバ３０Ａに送信し（Ｓ２０８）、この送受信処理を終了する。サーバ３０Ａでは、この結果を管理データとして記憶する。また、更新失敗の通知を受けた場合（Ｓ２０７：ＮＯ）には、Ｓ２０５に進み、表示部１６に表示されるリストに更新が失敗した旨のエラーを表示させ、この送受信処理を終了する。
【００４６】
ＣＰＵ１１は、１つのプリンタ２０に対して送受信処理を終了すると、図２のＳ１０８にて選択された全ての対象プリンタに対して送受信処理を実行したかを判断する（Ｓ１１０）。送受信処理を実行していない対象プリンタが存在する場合（Ｓ１１０：ＮＯ）には、Ｓ１０９に戻り送受信処理をまだ実行していない１つの対象プリンタに対し、送受信処理を行う。
【００４７】
そして、ＣＰＵ１１は、全ての対象プリンタに対して送受信処理を終了した場合（Ｓ１１０：ＹＥＳ）には、送受信処理においてダウンロードしたファームウェアをＨＤＤ１４上から削除し（Ｓ１１１）、この更新処理を終了する。
【００４８】
（本実施形態の効果）
上記更新処理では、複数のプリンタ２０のうち互いに共通するファームウェアがインストールされる複数のプリンタ２０（共通デバイス）が存在する場合に、サーバ３０Ｂから一度の受信にて記憶された一のファームウェア（共通ファームウェア）を対応する複数のプリンタ２０に供給する。これにより、複数のプリンタ２０（共通デバイス）に対してファームウェアを別々に受信し供給する場合に比べて、ファームウェアの受信回数を減らすことができる。従ってファームウェアの受信に伴う端末装置１０、ネットワーク、サーバ３０Ｂの負荷を軽減できる。
【００４９】
また、上記更新処理では、各プリンタ２０について機種及び仕様のうちの少なくとも一方を示すデバイス情報を取得し（Ｓ１０２）、そのデバイス情報に基づいて対応するダウンロード先ＵＲＬを取得する（Ｓ１０３）。そして、このダウンロード先ＵＲＬが共通するプリンタ２０同士を共通のファームウェアがインストールされる共通デバイスであると判断し（Ｓ２０２）、重複するダウンロードを回避することができる。
【００５０】
プリンタ２０同士が共通デバイスであるかをファームウェアの種別を示すダウンロード先ＵＲＬに基づいて判断するため、例えば、異なるモデルのプリンタ２０間で共通のファームウェアがインストールされる場合であっても、両プリンタ２０が共通デバイスであることを適切に判断し、重複するファームウェアのダウンロードを回避できる。
【００５１】
また、ＬＡＮ４０に検出信号をブロードキャスト送信することによりＬＡＮ４０に接続された複数のプリンタ２０を簡易に検出することができる。
【００５２】
また、ＨＤＤ１４に記憶されたファームウェアが対応する全てのプリンタ２０に供給された後に、当該ファームウェアがＨＤＤ１４から消去される（Ｓ１１１）ため、不要になったファームウェアを消去することができる。
【００５３】
また、ユーザにより入力される更新実行指示（送信指示）を操作部１５にて受け付け（Ｓ１０８）、それに応じてサーバ３０Ｂから送信されるファームウェアの受信を行うことができる。
【００５４】
＜実施形態２＞
次に本発明の実施形態２について図４及び図５を参照して説明する。
図４は、更新処理のフローチャートであり、図５は、送受信処理のフローチャートである。なお、システムの全体構成は、上記実施形態と共通であるので説明を省略する。
【００５５】
上記実施形態では、ファームウェアの更新をユーザにより入力される指示に基づいて行うものを示したが、本実施形態では、ユーザの指示なしで自動的に行うものを示す。本実施形態の更新処理は、端末装置１０が起動した状態において、例えば定期的に実行される。
【００５６】
ＣＰＵ１１は、図４に示す更新処理を開始すると、まず端末装置１０のＣＰＵ１１は、ネットワークインターフェイス１７によってプリンタの検出信号をＬＡＮ４０上にブロードキャスト送信し、その応答に基づいてプリンタリストを作成する（Ｓ３０１）。
【００５７】
続いてＣＰＵ１１は、プリンタリストに含まれる１のプリンタ２０から、そのプリンタ２０にインストールされるファームウェアの種類を特定するためのモデル情報（デバイス情報の一例）と、プリンタ２０に現在インストールされているファームウェアの種別及びバージョン情報とを取得する（Ｓ３０２）。なお、ここでは、同一モデルのプリンタについては同じ種別のファームウェアがインストールされるものとする。
【００５８】
次にＣＰＵ１１は、上記１のプリンタ２０と同一のモデルについてサーバ３０Ａから更新情報を既に取得したかを判断する（Ｓ３０３）。そして、同一のモデルの更新情報を取得していない場合（Ｓ３０３：ＮＯ）には、サーバ３０Ａからそのモデルに対応するファームウェアのバージョン情報及び更新用ファームウェア（最新バージョンのファームウェア）のダウンロード先ＵＲＬを含む更新情報を取得する（Ｓ３０４）。また、同一モデルの更新情報を取得済みである場合（Ｓ３０３：ＹＥＳ）には、上記１のプリンタ２０について更新情報を取得済みであると判断し、改めて更新情報を取得しない。
【００５９】
なお、実施形態１では、Ｓ１０３の処理にて端末装置１０が更新情報を取得または一定時間待機する構成を採用し、サーバ装置３０Ａがプリンタ２０にインストールされたファームウェアが最新かを判断し、その結果に応じて更新情報を送信するかしないかの動作を行っていた。これに対し、本実施形態２では、端末装置１０が更新情報の要求を送信すると、サーバ３０Ａが上述の判断をせずに、当該要求に対応する更新情報を送信する構成を採用している。
【００６０】
次にＣＰＵ１１は、プリンタリストの全てのプリンタについて更新情報を取得したかを判断する（Ｓ３０５）。そして、更新情報を取得していないプリンタが存在する場合（Ｓ３０５：ＮＯ）には、Ｓ３０２に戻り、更新情報をまだ取得していない１つのプリンタ２０についてモデル情報を取得し、更新情報を取得する処理を繰り返す。このようにＳ３０２〜Ｓ３０５の処理では、モデル情報が共通するプリンタに関しては、サーバ３０Ａからの更新情報の取得を１度のみ行い、重複する更新情報の取得を行わない。
【００６１】
ＣＰＵ１１は、プリンタリストに含まれる全てのプリンタ２０（全てのモデル）について更新情報を取得した場合（Ｓ３０５：ＹＥＳ）には、プリンタリストの各プリンタ２０について、現在インストールされているファームウェアのバージョン情報と、更新情報の（最新の）バージョン情報とを比較して、ファームウェアを更新可能なプリンタ２０が存在するかを判断する（Ｓ３０６）。
【００６２】
ファームウェアを更新可能なプリンタ２０が存在しない場合（Ｓ３０６：ＮＯ）には、ファームウェアを更新可能なプリンタが存在しない旨のメッセージを表示部１６に表示させ（Ｓ３０７）、この更新処理を終了する。
【００６３】
また、ＣＰＵ１１は、ファームウェアを更新可能なプリンタ２０が存在する場合（Ｓ３０６：ＹＥＳ）には、更新可能な全てのプリンタ２０を更新用バージョンのファームウェアをインストールする対象プリンタとして選択する（Ｓ３０８）。そして、１つの対象プリンタに対し、送受信処理を実行する（Ｓ３０９）。
【００６４】
ＣＰＵ１１は、図５に示す送受信処理において、この更新処理において選択された１つの対象プリンタ２０に対応する更新用ファームウェアのダウンロード先ＵＲＬから、更新用ファームウェアをダウンロード済みかを判断する（Ｓ４０１）。そして、ダウンロード先ＵＲＬから更新用ファームウェアを未だダウンロードしていない場合（Ｓ４０１：ＮＯ）には、図４のＳ３０４にて取得したＵＲＬを用いてサーバ３０ＢからファームウェアをＨＤＤ１４上へダウンロードする（Ｓ４０３）。
【００６５】
このとき、ダウンロードが失敗した場合（Ｓ４０４：ＮＯ）には表示部１６にエラーを表示する（Ｓ４０５）。ダウンロードが成功した場合（Ｓ４０４：ＹＥＳ）には、ダウンロードしたファームウェアを対象のプリンタ２０に供給する（Ｓ４０６）。
【００６６】
また、ＣＰＵ１１は、Ｓ４０１にて、ダウンロード先ＵＲＬから更新用ファームウェアをダウンロード済みであると判断した場合（Ｓ４０１：ＹＥＳ）には、Ｓ４０６に進んでプリンタ２０に対応するファームウェアをＨＤＤ１４から読み出して送信する。即ち、先にダウンロード先ＵＲＬを取得したプリンタと同一のモデルのプリンタ２０については、サーバ３０Ａから改めてダウンロード先ＵＲＬの取得を行わず、また、サーバ３０Ｂから改めて更新用ファームウェアのダウンロードを行わない。
【００６７】
プリンタ２０では、端末装置１０から更新用ファームウェアが供給されると、既述のインストール処理を行い、更新成功の通知または更新失敗の通知を返信する。端末装置１０のＣＰＵ１１は、プリンタ２０から更新成功の通知を受けた場合（Ｓ４０７：ＹＥＳ）には、更新成功の結果をサーバ３０Ａに送信し（Ｓ４０８）、この送受信処理を終了する。また、更新失敗の通知を受けた場合（Ｓ４０７：ＮＯ）には、Ｓ４０５に進み、表示部１６に表示されるリストに更新が失敗した旨のエラーを表示させ、この送受信処理を終了する。
【００６８】
ＣＰＵ１１は、図４のＳ３０９の送受信処理を終了すると、Ｓ３０８にて選択された全ての対象プリンタに対して送受信処理を実行したかを判断する（Ｓ３１０）。送受信処理を実行していない対象プリンタが存在する場合（Ｓ３１０：ＮＯ）には、Ｓ３０９に戻り送受信処理をまだ実行していない１つの対象プリンタに対し、送受信処理を行う。
【００６９】
そして、ＣＰＵ１１は、全ての対象プリンタに対して送受信処理を終了した場合（Ｓ３１０：ＹＥＳ）には、送受信処理においてダウンロードしたファームウェアをＨＤＤ１４上から削除し（Ｓ３１１）、この更新処理を終了する。
【００７０】
以上のように本実施形態によれば、プリンタ２０のモデル情報を取得し（Ｓ３０２）、モデル情報が共通するプリンタ２０同士を共通デバイスと判断する（Ｓ３０３）。そして、サーバ３０Ｂから一度の受信にて記憶された一の共通ファームウェアを対応する複数のプリンタ２０に供給する（Ｓ４０６）。これにより、複数の共通デバイスに対してファームウェアを別々に受信し供給する場合に比べて、ファームウェアの受信回数を減らすことができる。従ってファームウェアの受信に伴う端末装置１０、ネットワーク、サーバ３０Ｂの負荷を軽減できる。また、モデル情報が共通するプリンタ２０同士を容易に共通デバイスと判断することができる。
【００７１】
また、モデル情報が互いに共通するプリンタ２０に対しては、一のダウンロード先ＵＲＬを取得する（Ｓ３０４）。これにより、同一のファームウェアのダウンロード先ＵＲＬを重複して取得することを回避できる。それにより識別情報の受信に伴う端末装置１０、ネットワーク、サーバ３０Ａの負荷を軽減できる。
【００７２】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００７３】
（１）上記実施形態では、プリンタのファームウェアを更新する例を示したが、これに限らず、本発明は、例えば、コピー機、スキャナ装置、ファクシミリ装置、デジタルカメラ等の画像処理装置やその他のデバイスのファームウェアを更新するための技術に適用することができる。
【００７４】
（２）上記実施形態では、プリンタのモデルによって対応するファームウェアの種別が定められている例を示したが、本発明によれば、プリンタの仕様によって対応するファームウェアの種別を定めるようにしても良く、モデル及び仕様の両方によって対応するファームウェアを定めても良い。例えば、同じモデルのプリンタでも、国別の仕様の違いやオプション機能（スキャナ機能等）の有無の仕様によって対応するファームウェアの種別が異なっても良い。
【００７５】
（３）本発明は、１台のデバイスに複数のファームウェアがインストールされるものにも適用することができる。例えば、１台のデバイスに４つのファームウェア（Ａ，Ｂ，Ｃ，Ｄ）がインストールされているとすると、端末装置１０のＣＰＵ１１は、各ファームウェア（Ａ，Ｂ，Ｃ，Ｄ）について更新可能かを判断し、更新可能なファームウェア（例えばＢ，Ｃ，Ｄ）についてそれぞれ対応する更新用ファームウェア（Ｂ’，Ｃ’，Ｄ’）を取得してデバイスに供給する。
【００７６】
このとき、ＣＰＵ１１は、各更新用ファームウェア（Ｂ’，Ｃ’，Ｄ’）について、既にサーバ３０Ｂからダウンロードされたかを判断し、まだダウンロードされていないファームウェア（例えばＢ’）についてはサーバ３０Ｂから新たにダウンロードしてからデバイスに供給し、既にダウンロードされているファームウェア（Ｃ’，Ｄ’）については重複するダウンロードを行わずにＨＤＤ１４から読み出して供給する。
【００７７】
（４）上記実施形態では、ファームウェアの種別を示す識別情報として、ファームウェアのダウンロード先ＵＲＬを用いる例を示したが、本発明によれば、識別情報としてファームウェアのファイル名等を用いても良い。
【００７８】
（５）上記実施形態では、デバイスにインストールされるファームウェアの種別を特定するためのデバイス情報としてモデル情報を用いるものを示したが、本発明によれば、デバイス情報として、デバイスのシリアル番号や、仕様コード、あるいはデバイスにインストールされているファームウェアの識別情報などを用いても良い。
【００７９】
（６）上記実施形態では、ダウンロード先ＵＲＬとファームウェアの種別とが対応するものを示したが、両者は対応していなくても良い。この場合、例えば、サーバのＵＲＬにクエリなどでファームウェアの識別情報を示すパラメータを付して送信することで、サーバから適切なファームウェアを送信させることができる。
【００８０】
（７）更新用ファームウェアは、複数のサーバに分散して格納しても良く、また、更新データを有するサーバに格納しても良い。
【００８１】
（８）上記実施形態では、一回の更新処理において、ダウンロードしたファームウェアを最後にＨＤＤ１４から消去するものを示したが、本発明によれば、ダウンロードしたファームウェアを更新処理が終了した後もＨＤＤ１４等に保存しておいても良い。この場合、後に更新処理を行う際に、新たにそのファームウェアを更新可能なデバイスが接続されている場合などには、サーバから改めてファームウェアをダウンロードすることなく、そのファームウェアをデバイスに供給することができる。また、ＨＤＤ１４上のファームウェアは、最新のファームウェアのみを保存し、古いバージョンを消去するようにしても良い。
【００８２】
（９）デバイスのファームウェアを更新する際に、表示部１６に管理パスワードの入力画面を表示させる。ユーザが操作部１５を用いて予め定められた管理パスワードを入力することでファームウェアの更新を許可するようにしても良い。
【００８３】
（１０）上記実施形態では、端末装置とプリンタとをＬＡＮで接続するものを示したが、本発明によれば、例えば端末装置と複数のデバイスとをＵＳＢなど、別の手段を介して接続することができる。
【００８４】
（１１）上記実施形態１では、サーバ３０Ａがプリンタ２０に現在インストールされているファームウェアのバージョンが最新のバージョンより古いか否かを判断する構成を採用しており、上記実施形態２では、端末装置１０がサーバ３０Ａから送られてくる更新情報を用いて同様の判断を行う構成を採用している。しかしながら、本発明によれば、実施形態１及び実施形態２のそれぞれに対して、別の判断構成を採用してもよい。
【００８５】
具体的には、実施形態１において、図２のＳ１０３及びＳ１０４の処理を、図４のＳ３０４及びＳ３０５の処理に置き換え、端末装置１０が更新情報の要求を送信すると、サーバ３０Ａが更新情報の要求に対して何の判断もせずに、当該要求に対応する更新情報を送信する構成を適用してもよい。また、実施形態２において、図４のＳ３０４及びＳ３０５の処理を、図２のＳ１０３及びＳ１０４の処理に置き換え、サーバ装置３０Ａが更新情報の要求に対して更新情報を送信するか否かを判断する構成を適用し、端末装置１０が更新情報を取得または一定時間待機する構成を適用してもよい。
【００８６】
（１２）上記実施形態では、受信部、供給部、第１取得部、第２取得部、第１判断部、第２判断部、検出部、消去部をいずれも同じＣＰＵによって実現する例を示したが、本発明によれば、これらは、互いに別のＣＰＵ、若しくはＡＳＩＣやその他の回路によって構成することができる。
【符号の説明】
【００８７】
１０…端末装置、１１…ＣＰＵ、１４…ＨＤＤ、１５…操作部、１７…ネットワークインターフェイス、２０…プリンタ、３０Ａ，３０Ｂ…サーバ、４０…ＬＡＮ
【図１】
0005527146.tif 000002
【図２】
0005527146.tif 000003
【図３】
0005527146.tif 000004
【図４】
0005527146.tif 000005
【図５】
0005527146.tif 000006