(57)【特許請求の範囲】
【請求項１】
ネットワークを介して特定デバイスに接続されると共に、前記特定デバイスに複数個のプログラムの更新を実行させる管理装置であって、
前記特定デバイスの現行のＩＰアドレスである第１のＩＰアドレスを送信先として、前記複数個のプログラムのうちの第１のプログラムを送信する第１のプログラム送信部と、
前記第１のプログラムが送信された後に、前記特定デバイスを識別するための第１の識別情報を用いて、前記特定デバイスの現行のＩＰアドレスである第２のＩＰアドレスを確認する確認部と、
前記特定デバイスの現行のＩＰアドレスである前記第２のＩＰアドレスを送信先として、前記複数個のプログラムのうちの第２のプログラムであって、前記第１のプログラムとは異なる前記第２のプログラムを送信する第２のプログラム送信部と、
を備える管理装置。
【請求項２】
前記第２のＩＰアドレスは、前記第１のＩＰアドレスとは異なる、請求項１に記載の管理装置。
【請求項３】
前記確認部は、
前記ネットワークに接続されている各デバイスに、前記第１の識別情報を含む第１の要求パケットを送信する第１のパケット送信部であって、前記第１の要求パケットは、前記第１の識別情報を有する前記特定デバイスからの第１の応答パケットの返信を要求するパケットである、前記第１のパケット送信部を備え、
前記確認部は、前記第１の応答パケットに含まれるＩＰアドレスを、前記第２のＩＰアドレスとして確認する、請求項１又は２に記載の管理装置。
【請求項４】
前記確認部は、
前記第１のＩＰアドレスを送信先として、第２の要求パケットを送信する第２のパケット送信部であって、前記第２の要求パケットは、前記第２の要求パケットの送信先のデバイスに対して、識別情報を含む第２の応答パケットの返信を要求するパケットである、前記第２のパケット送信部と、
前記第２の応答パケットが受信される場合に、前記第２の応答パケットに含まれる前記識別情報が、前記第１の識別情報に一致するのか否かを判断する判断部と、を備え、
前記確認部は、前記第２の応答パケットに含まれる前記識別情報が前記第１の識別情報に一致すると判断される場合に、前記第１のＩＰアドレスを前記第２のＩＰアドレスとして確認する、請求項１に記載の管理装置。
【請求項５】
前記確認部は、さらに、
前記第２の応答パケットに含まれる前記識別情報が前記第１の識別情報に一致しないと判断される場合に、前記ネットワークに接続されている各デバイスに、前記特定デバイスを識別するための第２の識別情報を含む第３の要求パケットを送信する第３のパケット送信部であって、前記第３の要求パケットは、前記第２の識別情報を有する前記特定デバイスからの第３の応答パケットの返信を要求するパケットである、前記第３のパケット送信部を備え、
前記確認部は、前記第３の応答パケットに含まれるＩＰアドレスを、前記第２のＩＰアドレスとして確認する、請求項４に記載の管理装置。
【請求項６】
前記第３のパケット送信部は、さらに、前記第２の応答パケットが受信されない場合に、前記ネットワークに接続されている各デバイスに、前記第３の要求パケットを送信し、
前記確認部は、前記第３の応答パケットに含まれる前記ＩＰアドレスを、前記第２のＩＰアドレスとして確認する、請求項５に記載の管理装置。
【請求項７】
前記確認部は、
前記第１のプログラムが送信された後に前記特定のデバイスのための待機期間が経過すると、前記第１の識別情報を用いて、前記特定デバイスの現行のＩＰアドレスである前記第２のＩＰアドレスを確認する、請求項１から６のいずれか一項に記載の管理装置。
【請求項８】
ネットワークを介して特定デバイスに接続されると共に、前記特定デバイスに複数個のプログラムの更新を実行させる管理装置のためのコンピュータプログラムであって、
前記管理装置に搭載されるコンピュータに、以下の各処理、即ち、
前記特定デバイスの現行のＩＰアドレスである第１のＩＰアドレスを送信先として、前記複数個のプログラムのうちの第１のプログラムを送信する第１のプログラム送信処理と、
前記第１のプログラムが送信された後に、前記特定デバイスを識別するための第１の識別情報を用いて、前記特定デバイスの現行のＩＰアドレスである第２のＩＰアドレスを確認する確認処理と、
前記特定デバイスの現行のＩＰアドレスである前記第２のＩＰアドレスを送信先として、前記複数個のプログラムのうちの第２のプログラムであって、前記第１のプログラムとは異なる前記第２のプログラムを送信する第２のプログラム送信処理と、
を実行させるコンピュータプログラム。
【請求項９】
前記確認処理では、
前記第１のプログラムが送信された後に前記特定のデバイスのための待機期間が経過すると、前記第１の識別情報を用いて、前記特定デバイスの現行のＩＰアドレスである前記第２のＩＰアドレスを確認する、請求項８に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、特定デバイスに複数個のプログラムの更新を実行させる管理装置に関する。
【背景技術】
【０００２】
引用文献１には、画像形成装置に複数個の更新用ファームウェアの更新を実行させるためのＰＣが開示されている。この技術では、ＰＣは、画像形成装置に複数個の更新用ファームウェアを送信する。画像形成装置は、複数個の更新用ファームウェアを格納した後に、複数個の更新用ファームウェアの更新を有効化させるためのリブート動作を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１９０３０８号公報
【特許文献２】特開平５−２５０１７０号公報
【特許文献３】特開２０１０−９２３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、特定デバイスに複数個のプログラムの更新を適切に実行させ得る他の技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される管理装置は、ネットワークを介して特定デバイスに接続されると共に、特定デバイスに複数個のプログラムの更新を実行させる管理装置である。管理装置は、第１のプログラム送信部と、確認部と、第２のプログラム送信部と、を備える。第１のプログラム送信部は、特定デバイスの現行のＩＰアドレスである第１のＩＰアドレスを送信先として、複数個のプログラムのうちの第１のプログラムを送信する。確認部は、第１のプログラムが送信された後に、特定デバイスを識別するための第１の識別情報を用いて、特定デバイスの現行のＩＰアドレスである第２のＩＰアドレスを確認する。第２のプログラム送信部は、特定デバイスの現行のＩＰアドレスである第２のＩＰアドレスを送信先として、複数個のプログラムのうちの第２のプログラムであって、第１のプログラムとは異なる第２のプログラムを送信する。
【０００６】
上記の構成では、管理装置は、特定デバイスの現行のＩＰアドレスである第１のＩＰアドレスを送信先として、第１のプログラムを特定デバイスに送信した後に、第１の識別情報を用いて、特定デバイスの現行のＩＰアドレスである第２のＩＰアドレスを確認する。従って、仮に、第１のプログラムの送信後であって第２のプログラムの送信前に、特定デバイスのＩＰアドレスが変更されても、管理装置は、特定デバイスの現行のＩＰアドレスである第２のＩＰアドレスを送信先として、第２のプログラムを特定デバイスに適切に送信し得る。従って、管理装置は、特定デバイスに複数個のプログラムの更新を適切に実行させ得る。
【０００７】
なお、上記の管理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】管理プログラム処理のフローチャートを示す。
【図３】更新確認処理のフローチャートを示す。
【図４】更新リストの構成を示す。
【図５】メインファームウェア更新処理のフローチャートを示す。
【図６】サブファームウェア更新処理のフローチャートを示す。
【図７】各デバイスの動作のシーケンス図を示す。
【図８】図７の続きのシーケンス図を示す。
【図９】待機期間を説明するためのタイムチャートを示す。
【図１０】第２実施例のサブファームウェア更新処理のフローチャートを示す。
【図１１】第２実施例の各デバイスの動作のシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（第１実施例）
（システムの構成：図１）
図１に示すように、通信システム２は、ＰＣ１０と、プリンタ５０、６０（ＰＣ１０の周辺機器）と、Ｗｅｂサーバ７０と、ファイルサーバ８０と、を備える。ＰＣ１０及びプリンタ５０、６０は、ＬＡＮ４に接続されている。従って、ＰＣ１０は、ＬＡＮ４を介してプリンタ５０、６０と通信可能である。また、ＰＣ１０は、ＬＡＮ４を介してインターネット６に接続されている。Ｗｅｂサーバ７０及びファイルサーバ８０は、インターネット６に接続されている。従って、ＰＣ１０は、インターネット６を介して、Ｗｅｂサーバ７０及びファイルサーバ８０と通信可能である。
【００１０】
（ＰＣ１０の構成）
ＰＣ１０は、例えば、会社内に設置されるコンピュータであり、同じ会社内に設置される複数個のプリンタ５０、６０を管理する。ＰＣ１０は、表示部１２と、操作部１４と、ネットワークインターフェイス１６と、制御部２０と、を備える。上記の各部１２〜２０は、バス線（符号省略）に接続されている。表示部１２は、様々な情報を表示するためのディスプレイである。操作部１４は、キーボード及びマウスによって構成されている。ユーザは、操作部１４を操作することによって、様々な指示をＰＣ１０に入力することができる。ネットワークインターフェイス１６は、ＬＡＮ４に接続されている。
【００１１】
制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に格納されているプログラム３０に従って、様々な処理を実行する。メモリ２４は、ＲＯＭ、ＲＡＭ、ハードディスク等によって構成される。メモリ２４は、上記のプログラム３０の他に、後述のデバイスリスト３２及び更新リスト３４を格納可能である。プログラム３０は、複数個のプリンタ５０、６０のそれぞれに複数個のファームウェアの更新を実行させるための管理プログラムを含む。管理プログラムは、例えば、プリンタ５０、６０の出荷時にプリンタ５０、６０と共にパッケージされているメディアから、ＰＣ１０にインストールされてもよいし、プリンタ５０、６０のベンダによって提供されるサーバから、ＰＣ１０にインストールされてもよい。
【００１２】
ＣＰＵ２２が上記の管理プログラムに従って処理を実行することによって、取得部３８、確認部３９、及び、送信制御部４３の各機能が実現される。確認部３９は、第１、第２、第３のパケット送信部４０ａ、４０ｂ、４０ｃ、及び、判断部４２を備える。送信制御部４３は、第１、第２のプログラム送信部４４、４５、第１、第２の待機期間決定部４６、４７、及び、送信順序決定部４８を備える。
【００１３】
（プリンタ５０、６０の構成）
プリンタ５０は、図示しないＣＰＵ、メモリ、ディスプレイ、印刷実行部等を備える。プリンタ５０のメモリは、ＲＯＭ、ＲＡＭ、ハードディスク等によって構成される。プリンタ５０のＲＯＭには、複数個のファームウェアを含む各種プログラムが格納されている。プリンタ５０のＲＡＭは、各種のデータを一時的に格納するための記憶領域であり、詳しくは後述するが、例えば、ＰＣ１０から受信される更新用ファームウェアを一時的に格納する。なお、ＲＡＭ内の更新用ファームウェアのインストールが完了すると、当該更新用ファームウェアがＲＡＭから消去される。
【００１４】
プリンタ５０に格納されるファームウェアは、メインファームウェアと、サブファームウェアと、に分類される。メインファームウェアは、プリンタ５０が基本的な動作を実行するためのファームウェアである。プリンタ５０は、通常、１個のメインファームウェアを格納する。サブファームウェアは、プリンタ５０が各種の機能（例えば、通信機能、印刷機能、表示機能等）を実行するためのファームウェアである。プリンタ５０は、通常、２個以上のサブファームウェア（例えば、通信機能に対応する１個のサブファームウェア、印刷機能に対応する１個のサブファームウェア（例えばＰＣＬ／ＰＳ（Printer Control Language / Post Script））を格納する。なお、プリンタ６０は、プリンタ５０と同様の構成を有する。
【００１５】
（Ｗｅｂサーバ７０の構成）
Ｗｅｂサーバ７０は、プリンタ５０、６０のベンダによって提供されるサーバである。Ｗｅｂサーバ７０は、プリンタ５０、６０を含む多数のプリンタで更新されるべき複数個のファームウェアに関する情報（以下では「最新ファームウェア情報」）を格納するサーバである。最新ファームウェア情報は、複数個のファームウェアのそれぞれについて、当該ファームウェアのファームウェア名、当該ファームウェアのタイプ、当該ファームウェアの最新バージョンの番号（以下では「最新バージョン番号」と呼ぶ）、当該ファームウェアの最新バージョンが格納されているファイルサーバ８０内の位置を示すＵＲＬ、及び、プリンタが当該ファームウェアの更新を完了するために必要な期間（以下では「更新期間」と呼ぶ）を含む。
【００１６】
（ファイルサーバ８０の構成）
ファイルサーバ８０は、プリンタ５０、６０のベンダによって提供されるサーバである。ファイルサーバ８０は、更新用ファームウェア８２を格納するサーバである。更新用ファームウェア８２は、Ｗｅｂサーバ７０に格納されている最新ファームウェア情報によって示される各ファームウェアの最新バージョンを含む。
【００１７】
プリンタ５０、６０のベンダは、更新用ファームウェアを開発する毎に、当該更新用ファームウェアに対応する最新ファームウェア情報をＷｅｂサーバ７０に格納させると共に、当該更新用ファームウェアをファイルサーバ８０に格納させる。なお、本実施例では、Ｗｅｂサーバ７０とファイルサーバ８０とが別体のサーバとして構成されているが、変形例では、Ｗｅｂサーバ７０とファイルサーバ８０とが一体のサーバとして構成されていてもよい。
【００１８】
（管理プログラム処理：図２）
続いて、図２を参照して、ＰＣ１０の制御部２０が管理プログラムに従って実行する処理の内容を説明する。図２の処理は、ＰＣ１０のユーザが、管理プログラムを起動するための操作を操作部１４に加えることをトリガとして、開始される。
【００１９】
Ｓ８において、制御部２０は、デバイスリスト生成処理を実行する。Ｓ８では、取得部３８（図１参照）は、プリンタのノード名及びＩＰアドレスを含むプリンタ情報の送信を要求するためのプリンタ情報要求パケットを、ＬＡＮ４にブロードキャストする。ＬＡＮ４に接続されている各プリンタ５０、６０は、プリンタ情報要求パケットを受信すると、当該プリンタのノード名及びＩＰアドレスを含む応答パケットを生成して、ＰＣ１０に送信する。取得部３８は、各プリンタ５０、６０から各応答パケットを受信することによって、各プリンタ５０、６０のノード名及びＩＰアドレスを取得する。
【００２０】
Ｓ８では、さらに、制御部２０は、プリンタ５０、６０のノード名及びＩＰアドレスを示すデバイスリスト３２（図１参照）をメモリ２４内に生成して、表示部１２に表示させる。ユーザは、デバイスリスト３２を見ることによって、ＬＡＮ４に接続されている各プリンタ５０、６０のノード名及びＩＰアドレスを知ることができる。
【００２１】
次いで、Ｓ１０において、制御部２０は、ユーザによって更新指示が入力されることを監視する。ユーザは、操作部１４を操作して、表示部１２に表示されているデバイスリスト３２から、ファームウェアが更新されるべき１個以上のプリンタ（以下では「選択プリンタ」と呼ぶ）を選択する。次いで、ユーザは、操作部１４を操作して、選択プリンタのファームウェアの更新を実行するための更新指示を入力する。この場合、制御部２０は、Ｓ１０でＹＥＳと判断し、Ｓ１２に進む。なお、以下では、プリンタ５０、６０が選択プリンタである場合を例として、Ｓ１２以降の処理を説明する。
【００２２】
（更新確認処理：図３）
Ｓ１２では、制御部２０は、更新確認処理（図３）を実行する。図３に示されるように、更新確認処理では、Ｓ３０において、取得部３８は、選択プリンタ５０、６０のファームウェア情報を取得する。具体的に言うと、Ｓ３０では、まず、取得部３８は、デバイスリスト３２から、選択プリンタ５０、６０のうちの１個のプリンタ５０のＩＰアドレスを特定する。次いで、取得部３８は、プリンタ５０のＩＰアドレスを送信先として、ファームウェア情報要求パケットを送信する。ファームウェア情報要求パケットは、プリンタ５０が格納している複数個のファームウェアのそれぞれについて、当該ファームウェアのファームウェア名、当該ファームウェアのタイプ、及び、当該ファームウェアの現行のバージョンの番号（以下では「現行バージョン番号」と呼ぶ）を含むファームウェア情報の送信を要求するためのパケットである。
【００２３】
プリンタ５０は、ファームウェア情報要求パケットを受信すると、プリンタ５０が格納している複数個のファームウェアに対応する複数個のファームウェア情報を含む応答パケットを生成して、ＰＣ１０に送信する。取得部３８は、プリンタ５０から応答パケットを受信することによって、プリンタ５０の複数個のファームウェア情報を取得する。
【００２４】
Ｓ３０では、さらに、制御部２０は、プリンタ５０の複数個のファームウェア情報を更新リスト３４（図４参照）に書き込む。まず、制御部２０は、デバイスリスト３２から、プリンタ５０のノード名「Ｐ５０」及びＩＰアドレス「Ａ１」を特定して、更新リスト３４に書き込む。次いで、制御部２０は、プリンタ５０の複数個のファームウェア情報のそれぞれについて、当該ファームウェア情報に含まれるファームウェア名（例えば「Ｆ１」）、タイプ（例えば「ＭＡＩＮ」）、及び、現行バージョン番号（例えば「１．０」）を書き込む。なお、メインファームウェアのタイプは、「ＭＡＩＮ」と記述され、第１の機能（例えば通信機能）に対応するサブファームウェアのタイプは、「１ｓｔＳＵＢ」と記述され、第２の機能（例えば印刷機能）に対応するサブファームウェアのタイプは、「２ｎｄＳＵＢ」と記述される。なお、この時点では、更新リスト３４の最新バージョン番号（図４の「新Ｖｅｒ．」）、ＵＲＬ、更新期間、状態、及び、ＩＰ確認フラグは、書き込まれない。
【００２５】
取得部３８は、プリンタ６０についても同様の処理を実行することによって、プリンタ６０の複数個のファームウェア情報を取得して、更新リスト３４に書き込む。なお、更新リスト３４に書き込まれるプリンタ６０のノード名、ＩＰアドレス（即ち、デバイスリスト３２から特定されるプリンタ６０のノード名、ＩＰアドレス）は、それぞれ、「Ｐ６０」、「Ａ２」である。
【００２６】
次いで、Ｓ３２では、制御部２０は、更新リスト３４から１個のファームウェア情報を特定する。次いで、Ｓ３４では、制御部２０は、特定されたファームウェア情報（即ち、ファームウェア名、タイプ、及び、現行バージョン番号）を含む情報パケットをＷｅｂサーバ７０に送信する。
【００２７】
Ｗｅｂサーバ７０は、ＰＣ１０から情報パケットを受信すると、情報パケットに含まれるファームウェア名及びタイプに対応する最新ファームウェア情報（以下では「特定の最新ファームウェア情報」と呼ぶ）を、Ｗｅｂサーバ７０のメモリから特定する。次いで、Ｗｅｂサーバ７０は、情報パケットに含まれる現行バージョン番号と、特定の最新ファームウェア情報に含まれる最新バージョン番号と、を比較する。現行バージョン番号が最新バージョン番号に一致する場合には、Ｗｅｂサーバ７０は、ＰＣ１０に「更新なし」を示す情報を送信する。一方、現行バージョン番号が最新バージョン番号に一致しない場合（即ち、現行バージョンが最新バージョンでない場合）には、Ｗｅｂサーバ７０は、特定の最新ファームウェア情報（即ち、ファームウェア名、タイプ、最新バージョン番号、ＵＲＬ、更新期間）を含む更新情報をＰＣ１０に送信する。
【００２８】
Ｓ３６では、制御部２０は、Ｗｅｂサーバ７０から更新情報を取得したか否かを判断する。Ｗｅｂサーバ７０から「更新なし」を示す情報が受信される場合には、制御部２０は、Ｓ３６でＮＯと判断し、Ｓ３８をスキップしてＳ４０に進む。この際に、制御部２０は、Ｓ３２で特定された１個のファームウェア情報を、更新リスト３４から削除する。一方、Ｗｅｂサーバ７０から更新情報が受信される場合には、制御部２０は、Ｓ３６でＹＥＳと判断し、Ｓ３８に進む。
【００２９】
Ｓ３８では、制御部２０は、Ｗｅｂサーバ７０から取得された更新情報（即ち特定の最新ファームウェア情報）に含まれる最新バージョン番号（例えば「１．１」）、ＵＲＬ（例えば「ａａａ」）、及び、更新期間（例えば「４（ｍｉｎ）」）のそれぞれを、Ｓ３２で特定された１個のファームウェア情報に対応付けて、更新リスト３４に書き込む。
【００３０】
次いで、Ｓ４０では、制御部２０は、更新リスト３４の全てのファームウェア情報がＳ３２で特定されたか否か判断する。Ｓ４０でＹＥＳの場合、Ｓ４２に進む。Ｓ４０でＮＯの場合、制御部２０は、Ｓ３２に戻って他のファームウェア情報を特定し、Ｓ３４〜Ｓ３８の処理を再度実行する。図３の更新確認処理の開始時に更新リスト３４に書き込まれていた各ファームウェア情報について、Ｓ３２〜Ｓ３８の処理が実行されることによって、更新の必要がないファームウェアに対応するファームウェア情報が、更新リスト３４から削除され、更新の必要があるファームウェアに対応するファームウェア情報のみが、更新リスト３４に維持される。なお、以下では、更新リスト３４に含まれる１行分の情報のことを「組合せ情報」と呼ぶ。
【００３１】
Ｓ４２では、送信順序決定部４８（図１参照）は、更新リスト３４内の複数個の組合せ情報１０２〜１１０を、タイプに従ってソートする。具体的には、送信順序決定部４８は、まず、タイプ「ＭＡＩＮ」を含む組合せ情報１０２、１０４が、上位の順番になり、タイプ「ＳＵＢ」を含む組合せ情報１０６〜１１０が、下位の順番になるように、ソートを実行する。さらに、送信順序決定部４８は、タイプ「ＳＵＢ」を含む組合せ情報１０６〜１１０の中では、第１の機能に対応するタイプ「１ｓｔＳＵＢ」を含む組合せ情報１０６、１０８が、上位の順番になり、第２の機能に対応するタイプ「２ｎｄＳＵＢ」を含む組合せ情報１１０が、下位の順番になるように、ソートを実行する。
【００３２】
次いで、Ｓ４４では、送信順序決定部４８は、さらに、更新リスト３４内の複数個の組合せ情報１０２〜１１０を、タイプ毎に、ノード名に従ってソートする。なお、本実施例では、送信順序決定部４８は、各ノード名（即ち各プリンタ）のアルファベット順（アルファベットが同じ場合には、その後に続く数字の昇順）に従って、ソートを実行する。即ち、送信順序決定部４８は、ノード名「Ｐ５０」が上位の順番であり、ノード名「Ｐ６０」が下位の順番になるように、ソートを実行する。従って、送信順序決定部４８は、タイプ「ＭＡＩＮ」を含む２個以上の組合せ情報１０２、１０４の中で、ノード名「Ｐ５０」を含む組合せ情報１０２が、上位の順番になり、ノード名「Ｐ６０」を含む組合せ情報１０４が、下位の順番になるように、ソートを実行する。送信順序決定部４８は、タイプ「１ｓｔＳＵＢ」を含む組合せ情報１０６、１０８についても、同様に、組合せ情報１０６が上位の順番になり、組合せ情報１０８が下位の順番になるように、ソートを実行する。
【００３３】
Ｓ４２及びＳ４４の処理の結果、図４に示されるような順序で、各組合せ情報１０２〜１１０が並んでいる更新リスト３４が完成する。なお、この時点では、更新リスト３４内の状態及びＩＰ確認フラグには、情報が書き込まれていない。なお、Ｓ４４において、変形例では、送信順序決定部４８は、図２のＳ１０でユーザが選択プリンタを選択した順に従って、ソートを実行してもよい。例えば、図２のＳ１０において、ユーザが、プリンタ６０を先に選択し、プリンタ５０を後に選択した場合には、Ｓ４４において、送信順序決定部４８は、組合せ情報１０４が上位の順番になり、組合せ情報１０２が下位の順番になるように、ソートを実行すると共に、組合せ情報１０８が上位の順番になり、組合せ情報１０６が下位の順番になるように、ソートを実行してもよい。Ｓ４４を終えると、更新確認処理が終了する。
【００３４】
（メインファームウェア更新処理：図５）
図２のＳ１２の更新確認処理が終了すると、Ｓ１４のメインファームウェア更新処理に進む。図５に示されるように、メインファームウェア更新処理では、Ｓ５０において、送信制御部４３（図１参照）は、更新リスト３４（図４）から、タイプ「ＭＡＩＮ」を含む１個の組合せ情報を特定する。送信制御部４３は、図３のＳ４２、Ｓ４４で決定された順番に従って、１個の組合せ情報を特定する。即ち、送信制御部４３は、１回目のＳ５０では、順番「１」の組合せ情報１０２を特定し、２回目のＳ５０では、順番「２」の組合せ情報１０４を特定する。
【００３５】
次いで、Ｓ５２では、取得部３８は、Ｓ５０で特定された組合せ情報に含まれるＵＲＬ（例えば、組合せ情報１０２に含まれるＵＲＬ「ａａａ」）に従って、ファイルサーバ８０に問合せを行い、ファイルサーバ８０から、更新用メインファームウェア（例えば、ファームウェア名「Ｆ１」を有するファームウェアの最新バージョン「１．１」）をダウンロードする。
【００３６】
次いで、Ｓ５４では、第１のプログラム送信部４４（図１参照）は、Ｓ５０で特定された組合せ情報（例えば、組合せ情報１０２）に含まれるＩＰアドレス（例えば、「Ａ１」）を送信先として、Ｓ５２でダウンロードされた更新用メインファームウェアを送信する。この結果、送信先のプリンタ（例えば、プリンタ５０）は、更新用メインファームウェアを受信する。
【００３７】
なお、送信先のプリンタは、更新用メインファームウェアを受信すると、受信完了通知をＰＣ１０に送信し、さらに、更新用メインファームウェアをＲＡＭに一時的に格納する。次いで、プリンタは、更新用メインファームウェアのインストール処理を実行する。インストール処理は、ＲＡＭ内の更新用メインファームウェアを用いて、ＲＯＭ内の既存のメインファームウェアに変更を加える処理である。プリンタは、更新用メインファームウェアのインストール処理を終了すると、ＲＡＭ内の更新用メインファームウェアを消去する。次いで、プリンタは、再起動を実行する。この結果、更新用メインファームウェアの更新が完了する。
【００３８】
なお、プリンタのＩＰアドレスが、図示しないＤＨＣＰサーバから割り当てられる場合において、プリンタは、再起動時に、該ＤＨＣＰサーバからＩＰアドレスを再取得する。ＤＨＣＰサーバから送信先のプリンタに割り当てられるＩＰアドレスには、有効期限が設定されている。従って、送信先のプリンタに割り当てられたＩＰアドレスの有効期限が過ぎた後に、プリンタが再起動される場合には、再起動の前後でＩＰアドレスが変更される。
【００３９】
Ｓ５６では、送信制御部４３は、送信先のプリンタから、受信完了通知を受信することを監視する。第１のプログラム送信部４４は、受信完了通知を受信すると、Ｓ５６でＹＥＳと判断し、Ｓ５８に進む。
【００４０】
Ｓ５８では、送信制御部４３は、状態「ＯＫ」が記述されていない複数個の組合せ情報１０２〜１１０のうち、Ｓ５０で特定された組合せ情報（例えば、組合せ情報１０２）に含まれるＩＰアドレス（例えば、「Ａ１」）と同じＩＰアドレスを含む他の組合せ情報（例えば、組合せ情報１０６）にＩＰ確認フラグ「ＯＮ」を追加する。即ち、ＩＰ確認フラグ「ＯＮ」は、プリンタにメインファームウェアが送信された場合に追加される。プリンタにメインファームウェアが送信されなかった場合には、ＩＰ確認フラグ「ＯＮ」は追加されない。ＩＰ確認フラグ「ＯＮ」は、ＩＰ確認フラグ「ＯＮ」を含む組合せ情報に従って、ファームウェアの更新が実行されるべき際に、ファームウェアの送信先のプリンタのＩＰアドレスを確認することを指示するフラグである。さらに、送信制御部４３は、Ｓ５０で特定された組合せ情報（例えば、組合せ情報１０２）に状態「ＯＫ」を追加する。状態「ＯＫ」は、ファームウェアの送信が完了したことを示す。
【００４１】
次いで、Ｓ６０では、送信制御部４３は、更新リスト３４から、ファームウェアタイプ「ＭＡＩＮ」を含む全ての組合せ情報を特定したか否かを判断する。Ｓ６０でＮＯの場合、Ｓ５０に戻り、送信制御部４３は、更新リスト３４内の順番に従って、他の１個の組合せ情報（例えば、組合せ情報１０４）を特定して、Ｓ５２〜Ｓ６０の処理を再度実行する。一方、Ｓ６０でＹＥＳの場合、メインファームウェア更新処理が終了する。
【００４２】
（サブファームウェア更新処理：図６）
図２のＳ１４のメインファームウェア更新処理が終了すると、Ｓ１６のサブファームウェア更新処理に進む。１個のサブファームウェアのタイプに従って、１回のＳ１６の処理が実行される。例えば、Ｓ１４のメインファームウェア更新処理が終了した直後のＳ１６の処理（即ち、１回目のＳ１６の処理）は、更新リスト３４の順番に基づいて、サブファームウェアのタイプ「１ｓｔＳＵＢ」に従って実行される。そして、２回目のＳ１６の処理は、サブファームウェアのタイプ「２ｎｄＳＵＢ」に従って実行される。以下では、Ｓ１６の処理の対象のサブファームウェアのタイプのことを「対象のタイプ」と呼ぶ。
【００４３】
図６に示されるように、サブファームウェア更新処理では、Ｓ７０において、第１の待機期間決定部４６（図１参照）は、メインファームウェアの送信後、サブファームウェアの送信を開始するまでの待機期間を決定する。具体的に言うと、Ｓ７０では、第１の待機期間決定部４６は、ファームウェアタイプ「ＭＡＩＮ」を含む複数個の組合せ情報１０２、１０４に含まれる複数個の更新期間（例えば、「４（ｍｉｎ）」、「２（ｍｉｎ）」）のうち、最長の期間を示す更新期間（例えば、「４（ｍｉｎ）」）を、待機期間として決定する。Ｓ７０では、さらに、送信制御部４３は、タイマのカウントを開始する。このように、送信制御部４３は、メインファームウェア更新処理（図５）を終了した後のタイミング、即ち、メインファームウェア更新処理（図５）において、最後の送信対象であるプリンタに更新用メインファームウェアを送信した後のタイミングから、待機期間の経過を待つ。従って、本実施例では、送信制御部４３が、待機期間の経過を待つことによって、各プリンタ５０、６０でインストールが完了した後のタイミングで、確実に、各プリンタ５０、６０にファームウェアを送信することができる。
【００４４】
次いで、Ｓ７２では、送信制御部４３は、Ｓ７０でカウントが開始されたタイマの値が、Ｓ７０で決定された待機期間（例えば、「４（ｍｉｎ）」）を経過することを監視する。タイマの値が待機期間を経過すると、送信制御部４３は、Ｓ７２でＹＥＳと判断し、Ｓ７４に進む。
【００４５】
Ｓ７４では、送信制御部４３は、更新リスト３４から、対象のタイプ（例えば、「１ｓｔＳＵＢ」）を含む１個の組合せ情報を特定する。例えば、対象のタイプが「１ｓｔＳＵＢ」である場合には、送信制御部４３は、１回目のＳ７４では、順番「３」の組合せ情報１０６を特定し、２回目のＳ７４では、順番「４」の組合せ情報１０８を特定する。ところで、上述したように、プリンタのＩＰアドレスが図示しないＤＨＣＰサーバから割り当てられる場合において、プリンタのＩＰアドレスは、メインファームウェアの更新のための再起動時に、変更され得る。そのため、以下のＳ７６、Ｓ７８、Ｓ８０の処理を実行する。
【００４６】
Ｓ７６では、送信制御部４３は、Ｓ７４で特定された組合せ情報のＩＰ確認フラグが「ＯＮ」であるか否か判断する。Ｓ７４で特定された組合せ情報のＩＰ確認フラグが「ＯＮ」である場合（Ｓ７６でＹＥＳの場合）には、Ｓ７８に進む。一方、Ｓ７４で特定された組合せ情報のＩＰフラグが「ＯＮ」でない場合（Ｓ７６でＮＯの場合）には、Ｓ７８及びＳ８０をスキップしてＳ８２に進む。なお、Ｓ７６でＮＯの場合は、例えば、Ｓ７４で特定された組合せ情報に含まれるノード名を有するプリンタにおいて、メインファームウェアの更新が行われなかった場合である。
【００４７】
Ｓ７８及びＳ８０では、確認部３９（図１参照）は、名前解決処理を実行する。具体的に言うと、Ｓ７８では、第１のパケット送信部４０ａ（図１参照）は、Ｓ７４で特定された組合せ情報（例えば、組合せ情報１０６）に含まれるノード名（例えば、「Ｐ５０」）を含むＩＰアドレス要求パケットを、ＬＡＮ４にブロードキャストする。ＩＰアドレス要求パケットは、ＩＰアドレス要求パケットの送信先のプリンタに対して、当該プリンタを識別するためのノード名が、ＩＰアドレス要求パケットに含まれるノード名に一致する場合に、当該プリンタの現行のＩＰアドレスを含む応答パケットの送信を要求するためのパケットである。即ち、ＩＰアドレス要求パケットは、ＩＰアドレス要求パケットに含まれるノード名を有するプリンタからの応答パケットの送信を要求するためのパケットである。Ｓ７８では、第１のパケット送信部４０ａは、応答パケットを受信する。
【００４８】
上記の通り、プリンタのＩＰアドレスは、メインファームウェアの更新のための再起動時に、変更され得る。そのため、Ｓ７４で特定された組合せ情報に含まれるＩＰアドレスと、応答パケットに含まれるＩＰアドレスと、は異なり得る。確認部３９は、２つのＩＰアドレスが一致するのか否かを判断することによって、サブファームウェアの送信先のプリンタの現行のＩＰアドレスを確認する。２つのＩＰアドレスが異なる場合には、Ｓ８０において、確認部３９は、Ｓ７４で特定された組合せ情報に含まれるＩＰアドレス（例えば、組合せ情報１０８に含まれる「Ａ２」）を、応答パケットに含まれるＩＰアドレス（例えば、「Ａ３」）に更新する。なお、この際に、確認部３９は、Ｓ７４で特定された組合せ情報に含まれるノード名を含む他の組合せ情報に含まれるＩＰアドレス（例えば、組合せ情報１１０に含まれる「Ａ２」）も、応答パケットに含まれるＩＰアドレスに更新する（例えば、「Ａ３」）。なお、２つのＩＰアドレスが一致する場合には、確認部３９は、Ｓ８０の更新処理を実行しない。Ｓ８０を終えると、Ｓ８２に進む。
【００４９】
Ｓ８２では、取得部３８は、Ｓ７４で特定された組合せ情報に含まれるＵＲＬ（例えば、組合せ情報１０６に含まれるＵＲＬ「ｃｃｃ」）に従って、ファイルサーバ８０に問合せを行い、ファイルサーバ８０から、更新用サブファームウェア（例えば、ファームウェア名「Ｆ２」を有するファームウェアの最新バージョン「２．１」）をダウンロードする。
【００５０】
次いで、Ｓ８４では、第２のプログラム送信部４５（図１参照）は、Ｓ８０が実行されなかった場合には、Ｓ７４で特定された組合せ情報に含まれるＩＰアドレスを送信先として、Ｓ８２でダウンロードされた更新用サブファームウェアを送信する。上述したように、Ｓ８０において、Ｓ７４で特定された組合せ情報に含まれるＩＰアドレスが更新され得る。Ｓ８０が実行された場合には、第２のプログラム送信部４５は、更新後のＩＰアドレス（即ち、更新用サブファームウェアの送信先のプリンタの変更後のＩＰアドレス）を送信先として、更新用サブファームウェアを送信する。
【００５１】
更新用メインファームウェアの場合と同様に、送信先のプリンタは、更新用サブファームウェアを受信すると、ＰＣ１０に受信完了通知を送信すると共に、インストール処理を実行する。次いで、プリンタは、再起動を実行する。この結果、更新用サブファームウェアの更新が完了する。この再起動時に、プリンタのＩＰアドレスが変更され得る。
【００５２】
Ｓ８６及びＳ８８は、図５のＳ５６及びＳ５８と同様である。この結果、Ｓ８８では、状態「ＯＫ」が記述されていない複数個の組合せ情報１０２〜１１０のうち、Ｓ７４で特定された組合せ情報（例えば、組合せ情報１０８）に含まれるＩＰアドレス（例えば「Ａ２」）と同じＩＰアドレスを含む他の組合せ情報（例えば、組合せ情報１１０）にＩＰ確認フラグ「ＯＮ」が追加される。
【００５３】
次いで、Ｓ９０では、送信制御部４３は、更新リスト３４から、対象のタイプ（例えば、「１ｓｔＳＵＢ」）を含む全ての組合せ情報（例えば、組合せ情報１０６、１０８）を特定したか否かを判断する。Ｓ９０でＮＯの場合、Ｓ７４に戻り、送信制御部４３は、他の１個の組合せ情報（例えば、組合せ情報１０８）を特定して、Ｓ７６〜Ｓ８８の処理を再度実行する。一方、Ｓ９０でＹＥＳの場合、サブファームウェア更新処理が終了する。
【００５４】
図２のＳ１６のサブファームウェア更新処理が終了すると、Ｓ１８において、制御部２０は、サブファームウェア更新処理が実行されていないタイプ（例えば、「２ｎｄＳＵＢ」）が存在するか否か判断する。Ｓ１８でＮＯの場合には、図２の管理プログラム処理が終了する。一方、Ｓ１８でＹＥＳの場合には、制御部２０は、Ｓ１６に戻って、新たな対象のタイプに従って、サブファームウェア更新処理を再度実行する。
【００５５】
例えば、２回目のサブファームウェア更新処理が実行される場合には、図６のＳ７０では、第１の待機期間決定部４６は、１回目のファームフェア更新処理の対象のタイプ（例えば、「１ｓｔＳＵＢ」）を含む複数個の組合せ情報１０６、１０８に含まれる複数個の更新期間（例えば、「３（ｍｉｎ）」、「３（ｍｉｎ）」）のうち、最長の期間を示す更新期間（「３（ｍｉｎ）」）を待機期間として決定し、タイマのカウントを開始する。このように、送信制御部４３は、１回目のサブファームウェア更新処理を終了した後のタイミング、即ち、１回目のサブファームウェア更新処理において、最後の送信対象であるプリンタに更新用サブファームウェアを送信した後のタイミングから、待機期間の経過を待つ。
【００５６】
（本実施例の各デバイスによって実行される処理：図７、図８、図９（ａ））
図７に示すように、ユーザが、ＰＣ１０の操作部１４を操作して、管理プログラムを起動させるための操作を行うと、ＰＣ１０は、プリンタ情報要求パケットを、ＬＡＮ４にブロードキャストする（図２のＳ８）。プリンタ５０は、プリンタ情報要求パケットを受信すると、プリンタ情報（「Ｐ５０、Ａ１」）を含む応答パケットを生成して、ＰＣ１０に送信する。同様に、プリンタ６０は、プリンタ情報要求パケットを受信すると、プリンタ情報（「Ｐ６０、Ａ２」）を含む応答パケットを生成して、ＰＣ１０に送信する。ＰＣ１０は、プリンタ５０、６０から応答パケットを受信すると、デバイスリスト３２（図１参照）を生成する。
【００５７】
その後、ユーザは、操作部１４を操作して、プリンタ５０、６０にファームウェアの更新を実行させるための更新指示を入力する（図２のＳ１０でＹＥＳ）。この場合、ＰＣ１０は、プリンタ５０のＩＰアドレス「Ａ１」を送信先として、ファームウェア情報要求パケットを送信する（図３のＳ３０）。プリンタ５０は、２個のファームウェア情報（「Ｆ１、ＭＡＩＮ、１．０」、「Ｆ２、１ｓｔＳＵＢ、２．０」）を含む応答パケットをＰＣ１０に送信する。
【００５８】
次いで、ＰＣ１０は、プリンタ６０のＩＰアドレス「Ａ２」を送信先として、ファームウェア情報要求パケットを送信する（図３のＳ３０）。プリンタ６０は、３個のファームウェア情報（「Ｆ３、ＭＡＩＮ、１．４」、「Ｆ４、１ｓｔＳＵＢ、２．２」、「Ｆ５、２ｎｄＳＵＢ、３．０」）を含む応答パケットをＰＣ１０に送信する。ＰＣ１０は、プリンタ５０、６０から取得した５個のファームウェア情報を更新リスト３４に書き込む。
【００５９】
次いで、ＰＣ１０は、Ｗｅｂサーバ７０にファームウェア情報を送信し、Ｗｅｂサーバ７０から、各ファームウェア情報の更新情報を取得する（図３のＳ３２〜Ｓ３８）。次いで、ＰＣ１０は、更新リスト３４内の各組み合わせ情報１０２〜１１０を、ファームウェアタイプに従ってソートし、次いで、ノード名に従ってソートする（図３のＳ４２、Ｓ４４）。ソートによって、各ファームウェアのプリンタ５０、６０への送信順序が決定される。
【００６０】
次いで、ＰＣ１０は、ファイルサーバ８０に問合せを行って、ファイルサーバ８０から、順番「１」の組合せ情報１０２に含まれるファームウェア名「Ｆ１」を有する更新用メインファームウェアの最新バージョン「１．１」をダウンロードする（図５のＳ５２）。次いで、ＰＣ１０は、プリンタ５０のＩＰアドレス「Ａ１」を送信先として、更新用メインファームウェア「Ｆ１」を送信する（図５のＳ５４）。
【００６１】
プリンタ５０は、「Ｆ１」を受信すると、「Ｆ１」のインストール処理を実行する。プリンタ５０は、インストール処理が完了すると、プリンタ５０を再起動する。これにより、プリンタ５０において、「Ｆ１」の更新が終了する。図４の組合せ情報１０２の更新期間に示されるように、「Ｆ１」の更新（即ち、インストール処理と再起動）には、通常、４分を要する。プリンタ５０は、再起動時に、ＤＨＣＰサーバからＩＰアドレスを再取得する。図７の例では、プリンタ５０が再取得するＩＰアドレスは「Ａ１」であり、プリンタ５０の再起動の前後で、プリンタ５０のＩＰアドレスは変更されていない。
【００６２】
同様に、ＰＣ１０は、ファイルサーバ８０に問合せを行って、ファイルサーバ８０から、順番「２」の組合せ情報１０４に含まれるファームウェア名「Ｆ３」を有する更新用メインファームウェアの最新バージョン「１．５」をダウンロードする（図５のＳ５２）。次いで、ＰＣ１０は、プリンタ６０のＩＰアドレス「Ａ２」を送信先として、更新用メインファームウェア「Ｆ３」を送信する（図５のＳ５４）。
【００６３】
上記プリンタ５０の場合と同様に、プリンタ６０は、「Ｆ３」のインストール処理が完了すると、プリンタ６０を再起動する。「Ｆ３」の更新には、通常、２分を要する（図４参照）。プリンタ６０は、再起動時に、ＤＨＣＰサーバからＩＰアドレスを再取得する。図７の例では、プリンタ６０が再取得するＩＰアドレスは「Ａ３」であり、プリンタ６０の再起動の前後で、プリンタ６０のＩＰアドレスが変更されている。これにより、メインファームウェア更新処理（図５）が終了する。
【００６４】
図９（ａ）に示すように、ＰＣ１０は、プリンタ５０に「Ｆ１」を送信し、プリンタ６０に「Ｆ３」を送信すると、ファームウェアタイプ「ＭＡＩＮ」を含む組合せ情報１０２、１０４に含まれる更新期間「４分」、「２分」のうち、最長の期間を示す更新期間「４分」を、待機期間として決定し、タイマのカウントを開始する（図６のＳ７０）。このように、本実施例では、ＰＣ１０は、メインファームウェア更新処理（図５）において、最後の送信対象であるプリンタ６０に「Ｆ３」を送信した後のタイミングから、待機期間の経過を待つ。そして、待機期間「４分」が経過すると（図６のＳ７２でＹＥＳ）、ＰＣ１０は、プリンタ５０への更新用サブファームウェア「Ｆ２」の送信、及び、プリンタ６０への更新用サブファームウェア「Ｆ４」の送信を開始する。
【００６５】
上述したように、プリンタ５０は、通常、「Ｆ１」の更新に４分を要する。そして、ＰＣ１０は、待機期間４分が経過してから、プリンタ５０への更新用サブファームウェア「Ｆ２」の送信を開始する。このために、プリンタ５０は、「Ｆ２」を受信するまでに、「Ｆ１」の更新を完了させることができる。また、プリンタ６０は、通常、「Ｆ３」の更新に２分を要する。従って、プリンタ６０は、「Ｆ４」を受信するまでに、「Ｆ３」の更新を完了させることができる。
【００６６】
仮に、プリンタ５０が、ＰＣ１０から「Ｆ１」と「Ｆ２」を続けて受信する場合、プリンタ５０のＲＡＭに「Ｆ１」と「Ｆ２」との両方を同時的に格納する必要がある。このような場合に、プリンタ５０のＲＡＭの容量が充分でないと、「Ｆ１」と「Ｆ２」を同時的に格納できない可能性がある。また、仮に、プリンタ５０のＲＡＭに「Ｆ１」と「Ｆ２」を同時的に格納できたとしても、「Ｆ１」と「Ｆ２」のインストール処理を同時的に実行するのは困難である。これに対し、本実施例によると、プリンタ５０は、「Ｆ２」を受信するまでに、「Ｆ１」の更新を完了させることができるために、ＲＡＭに「Ｆ１」と「Ｆ２」との両方を同時的に格納せずに済む。同様に、プリンタ６０は、「Ｆ４」を受信するまでに、「Ｆ３」の更新を完了させることができる。即ち、プリンタ５０、６０は、メモリの容量が小さい場合であっても、メモリを効率的に利用しながら、各ファームウェアの更新を適切に実行することができる。
【００６７】
図８に示すように、１回目のサブファームウェア更新処理（図６）において、ＰＣ１０は、順番「３」の組合せ情報１０６に含まれるノード名「Ｐ５０」を含むＩＰアドレス要求パケットを、ＬＡＮ４にブロードキャストする（図６のＳ７８）。ノード名「Ｐ５０」を有するプリンタ５０は、ＩＰアドレス要求パケットを受信すると、プリンタ５０の現行のＩＰアドレス「Ａ１」を含む応答パケットをＰＣ１０に送信する。なお、ノード名「Ｐ６０」を有するプリンタ６０は、ＩＰアドレス要求パケットを受信しても、応答パケットを送信しない。
【００６８】
次いで、ＰＣ１０は、ファイルサーバ８０に問合せを行って、ファイルサーバ８０から、ファームウェア名「Ｆ２」を有する更新用サブファームウェアの最新バージョン「２．１」をダウンロードする（図６のＳ８２）。次いで、ＰＣ１０は、プリンタ５０のＩＰアドレス「Ａ１」を送信先として、更新用サブファームウェア「Ｆ２」を送信する（図６のＳ８４）。
【００６９】
プリンタ５０は、「Ｆ２」のインストール処理が完了すると、プリンタ５０を再起動する。「Ｆ２」の更新には、通常、３分を要する（図４参照）。なお、図８の例では、プリンタ５０が再取得するＩＰアドレスは「Ａ１」であり、プリンタ５０の再起動の前後で、プリンタ５０のＩＰアドレスは変更されていない。
【００７０】
次いで、ＰＣ１０は、順番「４」の組合せ情報１０８に含まれるプリンタ６０のノード名「Ｐ６０」を含むＩＰアドレス要求パケットを、ＬＡＮ４にブロードキャストする（図６のＳ７８）。ノード名「Ｐ６０」を有するプリンタ６０は、ＩＰアドレス要求パケットを受信すると、プリンタ６０の現行のＩＰアドレス「Ａ３」を含む応答パケットを送信する。この場合、ＰＣ１０は、ノード名「Ｐ６０」を含む組合せ情報１０８、１１０のＩＰアドレスを、「Ａ２」から「Ａ３」に更新する（図６のＳ８０）。この構成によると、ＰＣ１０は、プリンタ６０の現行のＩＰアドレス（即ち、変更後のＩＰアドレス）「Ａ３」を適切に確認することができる。
【００７１】
次いで、ＰＣ１０は、ファイルサーバ８０に問合せを行って、ファイルサーバ８０から、ファームウェア名「Ｆ４」を有する更新用サブファームウェアの最新バージョン「２．３」をダウンロードする（図６のＳ８２）。次いで、ＰＣ１０は、プリンタ６０のＩＰアドレス「Ａ３」を送信先として、更新用サブファームウェア「Ｆ４」を送信する（図６のＳ８４）。この構成によると、「Ｆ３」の送信後であって「Ｆ４」の送信前に、プリンタ６０のＩＰアドレスが変更されても、ＰＣ１０は、変更後のＩＰアドレス「Ａ３」を送信先として、「Ｆ４」をプリンタ６０に適切に送信することができる。
【００７２】
次いで、プリンタ６０は、「Ｆ４」のインストール処理が完了すると、プリンタ６０を再起動する。「Ｆ４」の更新には、通常、３分を要する。図８の例では、プリンタ６０が再取得するＩＰアドレスは「Ａ３」であり、プリンタ６０の再起動の前後で、プリンタ６０のＩＰアドレスは変更されていない。これにより、１回目のサブファームウェア更新処理（図６）が終了する。
【００７３】
図９（ａ）に示すように、ＰＣ１０は、プリンタ５０に「Ｆ２」を送信し、プリンタ６０に「Ｆ４」を送信すると、ファームウェアタイプ「１ｓｔＳＵＢ」を含む組合せ情報１０６、１０８に含まれる更新期間「３（ｍｉｎ）」、「３（ｍｉｎ）」のうち、最長の期間を示す更新期間「３（ｍｉｎ）」を、待機期間として決定し、タイマのカウントを開始する（図６のＳ７０）。このように、本実施例では、ＰＣ１０は、１回目のサブファームウェア更新処理（図６）において、最後の送信対象であるプリンタ６０に「Ｆ４」を送信した後のタイミングから、待機期間の経過を待つ。そして、待機期間「３（ｍｉｎ）」が経過すると（図６のＳ７２でＹＥＳ）、ＰＣ１０は、プリンタ６０への更新用サブファームウェア「Ｆ５」の送信処理を開始する。このために、プリンタ６０は、「Ｆ５」を受信するまでに、「Ｆ４」の更新を完了させることができる。従って、プリンタ６０は、メモリを効率的に利用しながら、各ファームウェアの更新を実行することができる。
【００７４】
図８に示すように、２回目のファームウェア更新処理（図６）において、ＰＣ１０は、タイプ「２ｎｄＳＵＢ」を含む組合せ情報１１０に含まれるプリンタ６０のノード名「Ｐ６０」を含むＩＰアドレス要求パケットを、ＬＡＮ４にブロードキャストする（図６のＳ７８）。その後、上記と同様に、ＰＣ１０は、更新用サブファームウェア「Ｆ５」をダウンロードし（図７のＳ８２）、プリンタ６０のＩＰアドレス「Ａ３」を送信先として、更新用サブファームウェア「Ｆ５」を送信する。これにより、上記と同様に、プリンタ６０は、「Ｆ５」の更新を実行する。
【００７５】
（本実施例の効果）
上述したように、本実施例では、図７、図８に示すように、ＰＣ１０は、プリンタ６０のＩＰアドレス「Ａ２」を送信先として「Ｆ３」を送信した後に、ノード名「Ｐ６０」を用いて、プリンタ６０の変更後のＩＰアドレス「Ａ３」を確認する。従って、「Ｆ３」の送信後であって「Ｆ４」の送信前に、プリンタ６０のＩＰアドレスが変更される場合に、ＰＣ１０は、プリンタ６０の現行のＩＰアドレス「Ａ３」を送信先として、「Ｆ４」を適切に送信し得る。従って、ＰＣ１０は、プリンタ６０に複数個のファームウェア「Ｆ３」、「Ｆ４」の更新を適切に実行させることができる。
【００７６】
また、本実施例では、図２に示すように、ＰＣ１０は、メインファームウェア更新処理（図５）が終了した後に、サブファームウェア更新処理（図６参照）を実行する。即ち、ＰＣ１０は、プリンタ５０への「Ｆ１」の送信から、「Ｆ２」の送信までの間に、プリンタ６０への「Ｆ３」の送信を実行することができる。このために、プリンタ５０への「Ｆ１」の送信から「Ｆ２」の送信までの期間が長くなり得る。このために、プリンタ５０は、「Ｆ２」を受信するまでに、「Ｆ１」の更新を完了させることができる。同様に、ＰＣ１０は、プリンタ６０への「Ｆ３」の送信から、「Ｆ４」の送信までの間に、プリンタ５０への「Ｆ２」の送信を実行することができる。このために、プリンタ６０への「Ｆ３」の送信から「Ｆ４」の送信までの期間が長くなり得る。このために、プリンタ６０は、「Ｆ４」を受信するまでに、「Ｆ３」の更新を完了させることができる。従って、プリンタ５０、６０は、ＰＣ１０から「Ｆ２」、「Ｆ４」を受信するまでに、更新用ファームウェアを一時的に格納するためのＲＡＭから、更新が完了した「Ｆ１」、「Ｆ３」を消去することができる。従って、プリンタ５０は、「Ｆ１」と「Ｆ２」とをＲＡＭに同時的に格納せずに済み、プリンタ６０は、「Ｆ３」と「Ｆ４」とをＲＡＭに同時的に格納せずに済む。このように、本実施例によると、プリンタ５０、６０のメモリ容量が充分でない場合であっても、プリンタ５０、６０が、メモリを効率的に利用しながら、各ファームウェアの更新を実行することができる。従って、ＰＣ１０は、複数個のプリンタ５０、６０のそれぞれに、複数個のファームウェアの更新を適切に実行させることができる。
【００７７】
（対応関係）
本実施例と本発明の対応関係を説明する。ＰＣ１０、プリンタ６０が、それぞれ、「管理装置」、「特定デバイス」の一例である。ファームウェア「Ｆ２」、「Ｆ４」が、それぞれ、「第１のプログラム」、「第２のプログラム」の一例である。プリンタ６０の変更前のＩＰアドレス「Ａ２」、プリンタ６０の変更後のＩＰアドレス「Ａ３」が、それぞれ、「第１のＩＰアドレス」、「第２のＩＰアドレス」の一例である。ＩＰアドレス要求パケット、ＩＰアドレス要求パケットに対する応答パケットが、それぞれ、「第１の要求パケット」、「第１の応答パケット」の一例である。また、プリンタ６０のノード名「Ｐ６０」が、「第１の識別情報」の一例である。
【００７８】
（第２実施例）
第１実施例と異なる点を中心に説明する。第２実施例では、図２のＳ８のデバイスリスト生成処理において、取得部３８によって各プリンタ５０、６０から取得される各プリンタ情報は、ノード名及びＩＰアドレスの他に、各プリンタ５０、６０の他の識別情報を含む。本実施例では、他の識別情報の一例として、シリアルナンバー（製品番号）が利用される。シリアルナンバーは、ノード名及びＩＰアドレスと関連付けて、デバイスリスト３２、及び、更新リスト３４に格納される。なお、以下では、他の識別情報のことを単に「識別情報」と呼ぶ。
【００７９】
本実施例では、図３の更新確認処理の内容は、第１実施例と同様である。また、本実施例では、図５のメインファームウェア更新処理の内容は、第１実施例とほぼ同様である。ただし、本実施例では、図５のＳ５８の処理の内容の一部が第１実施例と異なる。
【００８０】
即ち、上述の通り、図５のＳ５８では、送信制御部４３は、ＩＰ確認フラグ「ＯＮ」を追加する処理を実行する。それに加えて、本実施例では、図５のＳ５８において、さらに、第２の待機期間決定部４７（図１参照）は、Ｓ５０で特定された組合せ情報に含まれる更新期間を、当該組合せ情報に含まれるノード名を有するプリンタのための待機期間として決定し、当該プリンタのためのタイマのカウントを開始する。従って、１回目のＳ５８では、第２の待機期間決定部４７（図１参照）は、Ｓ５０で特定された組合せ情報１０２に含まれる更新期間「４（ｍｉｎ）」を、プリンタ５０のための待機期間として決定し、プリンタ５０のためのタイマのカウントを開始する。即ち、送信制御部４３は、プリンタ５０に「Ｆ１」を送信した後のタイミングから、プリンタ５０のための待機期間の経過を待つ。また、２回目のＳ５８では、第２の待機期間決定部４７は、Ｓ５０で特定された組合せ情報１０４に含まれる更新期間「２（ｍｉｎ）」を、プリンタ６０のための待機期間として決定し、プリンタ６０のためのタイマのカウントを開始する。即ち、送信制御部４３は、プリンタ６０に「Ｆ３」を送信した後のタイミングから、プリンタ６０のための待機期間の経過を待つ。
【００８１】
（サブファームウェア更新処理：図１０）
本実施例では、図６のサブファームウェア更新処理に代えて、図１０のサブファームウェア更新処理が実行される。図１０に示されるように、Ｓ１２０では、送信制御部４３は、対象のタイプ（例えば、「１ｓｔＳＵＢ」）を含む１個の組合せ情報を特定する。即ち、１回目のサブファームウェア更新処理において、送信制御部４３は、１回目のＳ１２０では、順番「３」の組合せ情報１０６を特定し、２回目のＳ１２０では、順番「４」の組合せ情報１０８を特定する。
【００８２】
次いで、Ｓ１２２では、送信制御部４３は、Ｓ１２０で特定された組合せ情報（例えば、組合せ情報１０６）に含まれるノード名（例えば、「Ｐ５０」）を有する対象プリンタ（例えば、プリンタ５０）のためのタイマの値が、その対象プリンタのための待機期間（例えば、「４（ｍｉｎ）」）が経過することを監視する。待機期間が経過すると、送信制御部４３は、Ｓ１２２でＹＥＳと判断し、Ｓ１２４に進む。Ｓ１２４は、図６のＳ７６と同様である。
【００８３】
Ｓ１２４でＹＥＳの場合には、確認部３９（図１参照）は、Ｓ１２６〜Ｓ１３４の名前解決処理を実行する。具体的に言うと、Ｓ１２６では、第２のパケット送信部４０ｂ（図１参照）は、Ｓ１２０で特定された組合せ情報（例えば、組合せ情報１０６）に含まれるＩＰアドレス（例えば、「Ａ１」）を送信先として、識別情報（シリアルナンバー）の送信を要求するための識別情報要求パケットを送信する。識別情報要求パケットは、識別情報要求パケットの送信先のプリンタに対して、識別情報を含む応答パケットの返信を要求するパケットである。
【００８４】
次いで、Ｓ１２８では、第２のパケット送信部４０ｂは、応答パケットを受信することを監視する。識別情報要求パケットに含まれるＩＰアドレス（例えば、「Ａ１」）を有するプリンタが存在する場合には、当該プリンタは、識別情報要求パケットを受信することができ、その結果、当該プリンタの識別情報（シリアルナンバー）を含む応答パケットを、ＰＣ１０に送信する。この場合、第２のパケット送信部４０ｂは、応答パケットを受信し（Ｓ１２８でＹＥＳ）、Ｓ１３０に進む。一方、識別情報要求パケットに含まれるＩＰアドレスを有するプリンタが存在しない場合には、応答パケットがＰＣ１０に送信されない。この場合、第２のパケット送信部４０ｂは、Ｓ１２８でＮＯと判断して、Ｓ１３２に進む。
【００８５】
Ｓ１３０では、判断部４２（図１参照）は、Ｓ１２８で受信された応答パケットに含まれる識別情報が、Ｓ１２０で特定された組合せ情報に含まれる識別情報に一致するか否か判断する。Ｓ１２０で特定された組合せ情報に含まれるＩＰアドレスが、当該組合せ情報に含まれる識別情報を有するプリンタに割り当てられている場合には、応答パケットに含まれる識別情報は、当該組合せ情報に含まれる識別情報に一致する（Ｓ１３０でＹＥＳ）。これは、当該組合せ情報に含まれる識別情報を有するプリンタのＩＰアドレスが、メインファームウェアの更新の前後で変更されていないことを意味する。Ｓ１３０でＹＥＳの場合には、Ｓ１３６に進む。
【００８６】
一方、Ｓ１２０で特定された組合せ情報に含まれるＩＰアドレスが、当該組合せ情報に含まれる識別情報を有するプリンタとは別のプリンタに割り当てられている場合には、応答パケットに含まれる識別情報は、当該組合せ情報に含まれる識別情報に一致しない（Ｓ１３０でＮＯ）。これは、当該組合せ情報に含まれる識別情報を有するプリンタのＩＰアドレスが、メインファームウェアの更新の前後で変更されたことを意味する。Ｓ１３０でＮＯの場合には、Ｓ１３２に進む。
【００８７】
Ｓ１３２では、図６のＳ７８と同様に、第３のパケット送信部４０ｃ（図１参照）は、Ｓ１２０で特定された組合せ情報に含まれるノード名を含むＩＰアドレス要求パケットを、ＬＡＮ４にブロードキャストして、応答パケットを受信する。そして、Ｓ１３４では図６のＳ８０と同様に、確認部３９は、ＩＰアドレスの確認及び更新を実行する。Ｓ１３４を終えると、Ｓ１３６に進む。
【００８８】
Ｓ１３６〜Ｓ１４０は、図６のＳ８２〜Ｓ８６と同様である。Ｓ１４２では、送信制御部４３は、図６のＳ８８と同様の処理（ＩＰ確認フラグ「ＯＮ」と状態「ＯＫ」の追加）を実行する。ただし、本実施例では、Ｓ１４２では、さらに、第２の待機期間決定部４７は、Ｓ１２０で特定された組合せ情報に含まれる更新期間を、当該組合せ情報に含まれるノード名を有するプリンタのための待機期間として決定し、当該プリンタのためのタイマのカウントを開始する。従って、１回目のＳ１４２では、第２の待機期間決定部４７は、Ｓ１２０で特定された組合せ情報１０６に含まれる更新期間「３（ｍｉｎ）」を、プリンタ５０のための待機期間として決定し、プリンタ５０のためのタイマのカウントを開始する。即ち、送信制御部４３は、プリンタ５０に「Ｆ２」を送信した後のタイミングから、プリンタ５０のための待機期間の経過を待つ。また、２回目のＳ１４２では、第２の待機期間決定部４７は、Ｓ１２０で特定された組合せ情報１０８に含まれる更新期間「３（ｍｉｎ）」を、プリンタ６０のための待機期間として決定し、プリンタ６０のためのタイマのカウントを開始する。即ち、送信制御部４３は、プリンタ６０に「Ｆ４」を送信した後のタイミングから、プリンタ６０のための待機期間の経過を待つ。なお、Ｓ１４４は、図６のＳ９０と同様である。
【００８９】
（本実施例の各デバイスによって実行される処理：図９（ｂ）、図１１）
図１１におけるメインファームウェア「Ｆ１」、「Ｆ３」の送信完了までの各処理の内容は、図７と同様である。ただし、本実施例では、図９（ｂ）に示すように、ＰＣ１０は、プリンタ５０に「Ｆ１」を送信した後に、プリンタ５０のための待機期間「４（ｍｉｎ）」を決定し、カウントを開始する（図５のＳ５８）。そして、プリンタ６０への「Ｆ３」の送信が完了し、かつ、待機期間「４（ｍｉｎ）」が経過すると（図１０のＳ１２２でＹＥＳ）、ＰＣ１０は、プリンタ５０への「Ｆ２」の送信を開始する。このために、プリンタ５０は、「Ｆ２」を受信するまでに、「Ｆ１」の更新を完了させることができる。従って、プリンタ５０は、メモリを効率的に利用しながら、各ファームウェア「Ｆ１」、「Ｆ２」の更新を実行することができる。
【００９０】
また、ＰＣ１０は、プリンタ６０に「Ｆ３」を送信した後に、プリンタ６０のための待機期間「２（ｍｉｎ）」を決定し、カウントを開始する（図５のＳ５８）。そして、プリンタ５０への「Ｆ２」の送信が完了し、かつ、待機期間「２（ｍｉｎ）」が経過すると（図１０のＳ１２２でＹＥＳ）、ＰＣ１０は、プリンタ６０への「Ｆ４」の送信を開始する。このために、プリンタ６０は、「Ｆ４」を受信するまでに、「Ｆ３」の更新を完了させることができる。従って、プリンタ６０は、メモリを効率的に利用しながら、各ファームウェア「Ｆ３」、「Ｆ４」の更新を実行することができる。
【００９１】
図１１に示すように、１回目のサブファームウェア更新処理では、まず、ＰＣ１０は、順番「３」の組合せ情報１０６に含まれるＩＰアドレス「Ａ１」を送信先として、識別情報要求パケットを送信する（図１０のＳ１２６）。プリンタ５０は、識別情報要求パケットを受信すると、識別情報を含む応答パケットをＰＣ１０に送信する。ＰＣ１０は、応答パケットに含まれる識別情報が、組合せ情報１０６に含まれる識別情報に一致すると判断する（図１０のＳ１２８でＹＥＳ，Ｓ１３０でＹＥＳ）。この構成によると、ＰＣ１０は、上記の応答パケットに含まれる識別情報が、組合せ情報１０６に含まれる識別情報と一致する場合、即ち、プリンタ５０のＩＰアドレスが変更されていない場合に、ＩＰアドレス「Ａ１」をプリンタ５０の現行のＩＰアドレスとして適切に確認することができる。
【００９２】
次いで、ＰＣ１０は、ファイルサーバ８０に問合せを行って、ファイルサーバ８０から「Ｆ２」をダウンロードし（図１０のＳ１３６）、プリンタ５０のＩＰアドレス「Ａ１」を送信先として、「Ｆ２」を送信する（図１０のＳ１３８）。
【００９３】
次いで、ＰＣ１０は、順番「４」の組合せ情報１０８に含まれるＩＰアドレス「Ａ２」を送信先として、識別情報要求パケットを送信する（図１０のＳ１２６）。図１１の例では、この時点では、プリンタ６０のＩＰアドレスが「Ａ３」に変更済みであり、「Ａ２」のＩＰアドレスを有するプリンタが存在しない（ＬＡＮ４に接続されていない）。そのため、ＰＣ１０は、応答パケットを受信しない（図１０のＳ１２８でＮＯ）。
【００９４】
この場合、ＰＣ１０は、プリンタ６０のノード名「Ｐ６０」を含むＩＰアドレス要求パケットをブロードキャストして、プリンタ６０の現行のＩＰアドレス「Ａ３」を含む応答パケットを受信する（図１０のＳ１３２）。次いで、ＰＣ１０は、ノード名「Ｐ６０」を含む組合せ情報１０８、１１０のＩＰアドレスを「Ａ２」から「Ａ３」に更新する（図１０のＳ１３４）。この構成によると、ＰＣ１０は、識別情報要求パケットに対する応答パケットが受信されない場合、即ち、プリンタ６０のＩＰアドレスが変更された場合に、プリンタ６０の現行のＩＰアドレス「Ａ３」を適切に確認することができる。
【００９５】
次いで、ＰＣ１０は、ファイルサーバ８０に問合せを行って、ファイルサーバ８０から「Ｆ４」をダウンロードし（図１０のＳ１３６）、プリンタ６０のＩＰアドレス「Ａ３」を送信先として、「Ｆ４」を送信する（図１０のＳ１３８）。
【００９６】
図９（ｂ）に示すように、ＰＣ１０は、プリンタ６０に「Ｆ４」を送信すると、プリンタ６０のための待機期間「３（ｍｉｎ）」を決定し、カウントを開始する（図１０のＳ１４２）。そして、待機期間「３（ｍｉｎ）」が経過すると（図１０のＳ１２２）、ＰＣ１０は、プリンタ６０への「Ｆ５」の送信を開始する。このために、プリンタ６０は、「Ｆ５」を受信するまでに、「Ｆ４」の更新を完了させることができる。従って、プリンタ６０は、メモリを効率的に利用しながら、各ファームウェア「Ｆ４」、「Ｆ５」の更新を実行することができる。
【００９７】
なお、プリンタ６０は、「Ｆ４」のインストール処理を実行した後に、プリンタ６０を再起動する。図１１の例では、プリンタ６０が再取得するＩＰアドレスは「Ａ４」であり、再起動の前後で、プリンタ６０のＩＰアドレスが変更されている。さらに、図１１の例では、プリンタ６０に割り当てられていたＩＰアドレス「Ａ３」は、他のプリンタ１００に割り当てられている。
【００９８】
２回目のサブファームウェア更新処理において、ＰＣ１０は、順番「５」の組合せ情報１１０に含まれるＩＰアドレス「Ａ３」を送信先として、識別情報要求パケットを送信する（図１０のＳ１２６）。図１１の例では、この時点では、プリンタ６０のＩＰアドレスは「Ａ４」に変更されている。さらに、ＩＰアドレス「Ａ３」は、プリンタ１００に割り当てられている。従って、プリンタ１００は、識別情報要求パケットを受信して、プリンタ１００の識別情報を含む応答パケットをＰＣ１０に送信する。従って、ＰＣ１０は、応答パケットに含まれるプリンタ１００の識別情報が、組合せ情報１１０に含まれるプリンタ６０の識別情報に一致しないと判断する（図１０のＳ１２８でＹＥＳ、Ｓ１３０でＮＯ）。
【００９９】
この場合、ＰＣ１０は、プリンタ６０のノード名「Ｐ６０」を含むＩＰアドレス要求パケットをブロードキャストして、プリンタ６０の現行のＩＰアドレス「Ａ４」を含む応答パケットを受信する（図１０のＳ１３２）。次いで、ＰＣ１０は、ノード名「Ｐ６０」を含む組合せ情報１１０のＩＰアドレスを「Ａ３」から「Ａ４」に更新する（図１０のＳ１３４）。この構成によると、ＰＣ１０は、上記の応答パケットに含まれる識別情報が、組合せ情報１１０に含まれる識別情報と一致しない場合、即ち、プリンタ６０のＩＰアドレスが変更された場合に、プリンタ６０の現行のＩＰアドレス「Ａ４」を適切に確認することができる。
【０１００】
次いで、ＰＣ１０は、ファイルサーバ８０に問合せを行って、ファイルサーバ８０から「Ｆ５」をダウンロードし（図１０のＳ１３６）、プリンタ６０のＩＰアドレス「Ａ４」を送信先として、「Ｆ５」を送信する。
【０１０１】
（対応関係）
本実施例と本発明の対応関係を説明する。識別情報要求パケット、識別情報要求パケットに対する応答パケットが、それぞれ、「第２の要求パケット」、「第２の応答パケット」の一例である。ＩＰアドレス要求パケット、ＩＰアドレス要求パケットに対する応答パケットが、それぞれ、「第３の要求パケット」、「第３の応答パケット」の一例である。
また、ノード名、識別情報（シリアルナンバー）が、それぞれ、「第１の識別情報」、「第２の識別情報」の一例である。
【０１０２】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１０３】
（変形例１）図６の名前解決処理（Ｓ７８及びＳ８０）、及び、図１０の名前解決処理（Ｓ１２６〜Ｓ１３４）に代えて、確認部３９は、次の名前解決処理を実行してもよい。即ち、各プリンタ５０、６０のノード名とＩＰアドレスとを対応付けて記憶するＤＮＳサーバが、ＬＡＮ４に接続されていてもよい。この場合、確認部３９は、特定プリンタ（例えばプリンタ５０）のノード名を含むＩＰアドレス要求パケットをＤＮＳサーバに送信して、当該ノード名に対応付けられているＩＰアドレスを含む応答パケットをＤＮＳサーバから受信する。そして、確認部３９は、応答パケットに含まれるＩＰアドレスを、特定プリンタの現行のＩＰアドレスとして確認してもよい。一般的に言うと、確認部は、特定デバイス（本変形例では特定プリンタ）を識別するための第１の識別情報（本変形例ではノード名）を用いて、特定デバイスの現行のＩＰアドレスである第２のＩＰアドレスを確認すればよい。
【０１０４】
（変形例２）上記の第２実施例では、図１０のＳ１２６において、第２のパケット送信部４０ｂは、識別情報（シリアルナンバー）の送信を要求するための識別情報要求パケットを送信する。これに代えて、第２のパケット送信部４０ｂは、ノード名の送信を要求するためのノード名要求パケットを送信してもよい。この場合、ノード名が「第１の識別情報」の一例である。そして、第２実施例では、図１０のＳ１３２でブロードキャストされるＩＰアドレス要求パケットにノード名が含まれるために、ノード名が「第２の識別情報」の一例である。即ち、本変形例のように、第１の識別情報（例えばノード名）と第２の識別情報（例えばノード名）とは、同じものであってもよい。ただし、上記の第２実施例のように、第１の識別情報（例えばシリアルナンバー）と第２の識別情報（例えばノード名）とは、異なるものであってもよい。なお、第１の識別情報及び／又は第２の識別情報は、ノード名、シリアルナンバーに限られず、デバイスを識別するための他の種類の情報（例えば、ＭＡＣアドレス）であってもよい。
【０１０５】
（変形例３）「管理装置」は、ＰＣ１０に限られず、他の機器（例えば、携帯電話、ＰＤＡ、サーバ等）であってもよい。また、「デバイス」は、プリンタ５０、６０に限られず、ファームウェアの更新が必要な他の機器（例えば、携帯電話、ＰＤＡ、ＦＡＸ装置、コピー機、スキャナ、多機能機等）であってもよい。
【０１０６】
（変形例４）上記の各実施例では、ＰＣ１０のＣＰＵ２２がソフトウェアに従って処理を実行することによって、各部３８〜４８が実現される。これに代えて、各部３８〜４８のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
【０１０７】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１０８】
２：通信システム、４：ＬＡＮ、６：インターネット、１０：ＰＣ、１２：表示部、１４：操作部、１６：ネットワークインターフェイス、２０：制御部、２２：ＣＰＵ、２４：メモリ、３０：プログラム、３２：デバイスリスト、３４：更新リスト、３８：取得部、３９：確認部、４０ａ：第１のパケット送信部、４０ｂ：第２のパケット送信部、４０ｃ：第３のパケット送信部、４２：判断部、４３：送信制御部、４４：第１のプログラム送信部、４５：第２のプログラム送信部、４６：第１の待機期間決定部、４７：第２の待機期間決定部、４８：送信順序決定部、５０：プリンタ、６０：プリンタ、７０：Ｗｅｂサーバ、８０：ファイルサーバ、８２：更新用ファームウェア
【図１】
0005786612.tif 000002
【図２】
0005786612.tif 000003
【図３】
0005786612.tif 000004
【図４】
0005786612.tif 000005
【図５】
0005786612.tif 000006
【図６】
0005786612.tif 000007
【図７】
0005786612.tif 000008
【図８】
0005786612.tif 000009
【図９】
0005786612.tif 000010
【図１０】
0005786612.tif 000011
【図１１】
0005786612.tif 000012