(57)【要約】【課題】周辺装置が適切なタイミングでファームウェアのアップデートを行うための技術を提供する。【解決手段】ネットワークシステムは、複数のパーソナルコンピュータ（ＰＣ）、周辺装置としてのプリンタなどにより構成される。そして、プリンタは、全てのＰＣに対して、プリンタがファームウェアのアップデートを行うことを許可するか否かについて問い合わせるためのアップデート可否要求指令を送信し（Ｓ１７０）、ＰＣは、この要求指令に対する応答をプリンタに対して送信する。そして、プリンタは、この応答結果に基づいて、全てのＰＣによってプリンタがファームウェアのアップデートを行うことが許可された場合に（Ｓ１９０：ＹＥＳ）、ファームウェアのアップデートを行う。このため、ファームウェアのアップデート中に、ＰＣからプリンタに対して動作要求が受け付けられないといった可能性を低減することができる。【選択図】図３
2010277397.tif 000002
【特許請求の範囲】
【請求項１】
１台以上のコンピュータから送信されてくる動作要求を受け付け、その動作要求に応じた動作を行う周辺装置であって、
前記周辺装置に搭載するための最新のファームウェアを記憶する記憶装置から、前記ファームウェアをダウンロードし、自身のファームウェアを前記記憶装置からダウンロードしたファームウェアにアップデートするアップデート手段と、
前記コンピュータに対して、前記周辺装置が前記ファームウェアのアップデートを行うことを許可するか否かを問い合わせる問い合わせ手段とを備え、
前記アップデート手段は、前記問い合わせ手段が問い合わせた全てのコンピュータによって、前記周辺装置が前記ファームウェアのアップデートを行うことが許可された場合に、前記ファームウェアのアップデートを行うことを特徴とする周辺装置。
【請求項２】
前記問い合わせ手段は、問い合わせたコンピュータのうち少なくとも一台によって、前記周辺装置が前記ファームウェアのアップデートを行うことが許可されなかった場合、前記コンピュータに対して、再度、問い合わせを行うこと
を特徴とする請求項１に記載の周辺装置。
【請求項３】
前記問い合わせ手段は、問い合わせたコンピュータにより指定された再発信時間だけ経過した後に、前記コンピュータに対して、再度、問い合わせを行うこと
を特徴とする請求項２に記載の周辺装置。
【請求項４】
前記問い合わせ手段の問い合わせ対象となるコンピュータを、前記１台以上のコンピュータの中から選出する選出手段を備え、
前記問い合わせ手段は、前記選出手段により選出されたコンピュータに対して問い合わせを行うことを特徴とする請求項１ないし請求項３の何れか１項に記載の周辺装置。
【請求項５】
前記記憶装置に記憶されているファームウェアにおけるアップデートの緊急度を示す緊急度情報を取得する緊急度情報取得手段を備え、
前記問い合わせ手段は、前記緊急度情報取得手段により取得された緊急度情報が緊急度の高いことを示すものである場合、前記コンピュータに対して問い合わせを行わず、
前記アップデート手段は、前記緊急度情報取得手段により取得された緊急度情報が緊急度の高いことを示すものである場合、前記ファームウェアのアップデートを行うこと
を特徴とする請求項１ないし請求項４の何れか１項に記載の周辺装置。
【請求項６】
周辺装置に対して動作要求を行い、その動作要求に応じた動作を前記周辺装置に対して行わせることが可能なコンピュータを、
前記周辺装置に搭載されるファームウェアのアップデートを前記周辺装置が行うことを許可するか否かの問い合わせを、前記周辺装置から受けた場合に、前記周辺装置が前記ファームウェアのアップデートを行うことを許可するか否かを判断するアップデート許可判断手段、及び
前記アップデート許可判断手段による判断結果を前記周辺装置に対して通知する判断結果通知手段
として機能させることを特徴とするプログラム。
【請求項７】
前記アップデート許可判断手段は、前記コンピュータが前記周辺装置に対して行う動作要求を保持している場合、アップデートを許可しないと判断すること
を特徴とする請求項６に記載のプログラム。
【請求項８】
前記アップデート許可判断手段は、前記コンピュータに対して情報を入力可能な入力手段を介して、ユーザにより入力された情報に基づいて、前記周辺装置が前記ファームウェアのアップデートを行うことを許可するか否かを判断すること
を特徴とする請求項６又は請求項７に記載のプログラム。
【請求項９】
前記アップデート許可判断手段により前記周辺装置が前記ファームウェアのアップデートを行うことを許可しないと判断された場合に、コンピュータの動作状態に基づいて、前記周辺装置が前記コンピュータに再度問い合わせを行うべき再発信時間を推測する推測手段を備え、
前記判断結果通知手段は、前記アップデート許可判断手段による判断結果と共に、前記推測手段による推測結果を、前記周辺装置に対して通知すること
を特徴とする請求項６ないし請求項８の何れか１項に記載のプログラム。
【請求項１０】
前記プログラムが搭載されたコンピュータが、前記周辺装置に対して前記ファームウェアを提供する場合において、
前記ファームウェアのアップデートを前記周辺装置が行うことを許可するか否かの問い合わせを、前記周辺装置から受けた場合に、前記周辺装置の前記ファームウェアの提供元となることを許可するか否かを判断する提供元判断手段を備え、
前記判断結果通知手段は、前記アップデート許可判断手段による判断結果と共に、前記提供元判断手段による判断結果を、前記周辺装置に対して通知すること
を特徴とする請求項６ないし請求項９の何れか１項に記載のプログラム。
【請求項１１】
１台以上のコンピュータと、前記コンピュータから送信されてくる動作要求を受け付け、その動作要求に応じた動作を行う周辺装置とを有するネットワークシステムであって、
前記周辺装置に設けられ、前記周辺装置に搭載するための最新のファームウェアを記憶する記憶装置から、前記ファームウェアをダウンロードし、自身のファームウェアを前記記憶装置からダウンロードしたファームウェアにアップデートするアップデート手段と、
前記周辺装置に設けられ、前記コンピュータに対して、前記周辺装置が前記ファームウェアのアップデートを行うことを許可するか否かを問い合わせる問い合わせ手段と、
前記コンピュータに設けられ、前記問い合わせ手段からの問い合わせを受けた場合に、前記周辺装置が前記ファームウェアのアップデートを行うことを許可するか否かを判断するアップデート許可判断手段と、
前記コンピュータに設けられ、前記アップデート許可判断手段による判断結果を前記周辺装置に対して通知する判断結果通知手段とを備え、
前記アップデート手段は、前記問い合わせ手段が問い合わせた全てのコンピュータの判断結果通知手段から、前記周辺装置が前記ファームウェアのアップデートを行うことを許可する旨の通知を受けた場合に、前記ファームウェアのアップデートを行うこと
を特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１台以上のコンピュータと、コンピュータから送信されてくる動作要求を受け付け、その動作要求に応じた動作を行う周辺装置とを有するネットワークシステムに関する。
【背景技術】
【０００２】
従来、サーバと、ネットワークを介してサーバと通信可能なコンピュータと、このコンピュータとネットワークを介して通信可能な周辺装置とを備えたネットワークシステムが知られている。
【０００３】
そして、この種のネットワークシステムでは、コンピュータが、周辺装置であるデジタル複合機の最新のファームウェアをサーバから取得するようにされており、デジタル複合機は、定期的にコンピュータにアクセスすることにより、コンピュータ内のファームウェアが最新のものであった場合に、このファームウェアをコンピュータからダウンロードしてアップデート処理を行うというものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−５９２６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、通常、プリンタ、デジタル複合機等の周辺装置は、ファームウェアのアップデート中に、コンピュータからの動作要求を受け付けることができない。
そして、特許文献１に記載の発明では、周辺装置にとって都合のいいタイミングで、周辺装置が能動的（定期的）にファームウェアのアップデートを行うようにされているので、コンピュータから周辺装置に対して動作要求を緊急に送信する必要がある場合（例えば緊急に印刷を行う必要がある場合）であっても、周辺装置がアップデートを行っている間は、コンピュータからの動作要求を受け付けることができない、という問題があった。
【０００６】
本発明は、上記点に鑑み、周辺装置が適切なタイミングでファームウェアのアップデートを行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の発明は、１台以上のコンピュータから送信されてくる動作要求を受け付け、その動作要求に応じた動作を行う周辺装置であって、周辺装置に搭載するための最新のファームウェアを記憶する記憶装置から、ファームウェアをダウンロードし、自身のファームウェアを記憶装置からダウンロードしたファームウェアにアップデートするアップデート手段と、コンピュータに対して、周辺装置がファームウェアのアップデートを行うことを許可するか否かを問い合わせる問い合わせ手段とを備え、アップデート手段は、問い合わせ手段が問い合わせた全てのコンピュータによって、周辺装置がファームウェアのアップデートを行うことが許可された場合に、ファームウェアのアップデートを行うことを特徴とする。
【０００８】
これによれば、周辺装置は、周辺装置にとって都合のいいタイミングで、ファームウェアのアップデートを能動的に行うのではなく、問い合わせ手段が問い合わせた全てのコンピュータからアップデートの許可があった場合に、ファームウェアのアップデートを行うので、ファームウェアのアップデート中に、コンピュータから周辺装置に対して動作要求が受け付けられないといった可能性を低減することができる。
【０００９】
したがって、周辺装置が適切なタイミングでファームウェアのアップデートを行うことができる。
また、問い合わせ手段は、請求項２に記載のように、問い合わせたコンピュータのうち少なくとも一台によって、周辺装置がファームウェアのアップデートを行うことが許可されなかった場合、コンピュータに対して、再度、問い合わせを行うようにされているとよい。
【００１０】
このようにされていれば、問い合わせ手段が問い合わせた全てのコンピュータによって、周辺装置がファームウェアのアップデートを行うことが許可されるまでの間、問い合わせ手段による問い合わせが繰り返し行われるので、周辺装置は、問い合わせ手段が問い合わせた全てのコンピュータがアップデートを許可すると、速やかにアップデートを行うことができる。
【００１１】
また、この場合、問い合わせ手段は、請求項３に記載のように、問い合わせたコンピュータにより指定された再発信時間だけ経過した後に、コンピュータに対して、再度、問い合わせを行うようにされていれば、コンピュータに対して無駄な問い合わせを行う必要がなくなる。
【００１２】
また、請求項４に記載の発明は、問い合わせ手段の問い合わせ対象となるコンピュータを、１台以上のコンピュータの中から選出する選出手段を備え、問い合わせ手段は、選出手段により選出されたコンピュータに対して問い合わせを行うことを特徴とする。
【００１３】
これによれば、選出手段により選出されたコンピュータに対して問い合わせを行うので、例えば周辺装置の使用頻度が極端に低いコンピュータについては問い合わせ対象から外す等することにより、問い合わせ対象に適したコンピュータだけに問い合わせを行うことができる。したがって、効率よく問い合わせを行うことができる。
【００１４】
また、請求項５に記載の発明では、記憶装置に記憶されているファームウェアにおけるアップデートの緊急度を示す緊急度情報を取得する緊急度情報取得手段を備え、問い合わせ手段は、緊急度情報取得手段により取得された緊急度情報が緊急度の高いことを示すものである場合、コンピュータに対して問い合わせを行わず、アップデート手段は、緊急度情報取得手段により取得された緊急度情報が緊急度の高いことを示すものである場合、ファームウェアのアップデートを行うことを特徴とする。
【００１５】
つまり、緊急なアップデート作業（例えばセキュリティや故障等の修正）は、コンピュータの許可を得ることよりも優先順位が高いため、請求項５に記載の発明では、緊急アップデート指令が入力された場合、問い合わせ手段が問い合わせを行わずに、アップデート手段がファームウェアのアップデートを行うようにしている。
【００１６】
このため、請求項５に記載の発明によれば、緊急なアップデートがあった場合には、直ちにファームウェアのアップデートを行うことができる。
次に、請求項６に記載の発明（プログラム）は、周辺装置に対して動作要求を行い、その動作要求に応じた動作を周辺装置に対して行わせることが可能なコンピュータを、周辺装置に搭載されるファームウェアのアップデートを周辺装置が行うことを許可するか否かの問い合わせを、周辺装置から受けた場合に、周辺装置がファームウェアのアップデートを行うことを許可するか否かを判断するアップデート許可判断手段、及びアップデート許可判断手段による判断結果を周辺装置に対して通知する判断結果通知手段として機能させることを特徴とする。
【００１７】
これによれば、判断結果通知手段が請求項１〜５の何れかに記載の周辺装置に対して判断結果を通知することにより、この周辺装置はファームウェアのアップデートを行うか否かを決定することができる。
【００１８】
つまり、周辺装置は、周辺装置にとって都合のいいタイミングで、ファームウェアのアップデートを能動的に行うのではなく、コンピュータに対してファームウェアのアップデートの許可を得るようにしているので、上述した請求項１と同様の効果を得ることができる。
【００１９】
また、アップデート許可判断手段は、請求項７に記載のように、コンピュータが周辺装置に対して行う動作要求を保持している場合、アップデートを許可しないと判断するとよい。
【００２０】
これによれば、ファームウェアのアップデート中に、コンピュータから周辺装置に対して緊急に送信される動作要求が受け付けられないといった可能性を確実に低減することができる。
【００２１】
また、アップデート許可判断手段は、請求項８に記載のように、コンピュータに対して情報を入力可能な入力手段を介して、ユーザにより入力された情報に基づいて、周辺装置がファームウェアのアップデートを行うことを許可するか否かを判断してもよい。
【００２２】
これによれば、周辺装置は、ユーザが所望するタイミングで、ファームウェアのアップデートを行うことができる。
例えば、ユーザが周辺装置に対して動作要求を行うように、コンピュータに対して指示しようとしている場合に、周辺装置がファームウェアのアップデートを行うことを保留することが考えられる。
【００２３】
したがって、これによっても、請求項７で述べた効果と同様に、ファームウェアのアップデート中に、コンピュータから周辺装置に対して緊急に送信される動作要求が受け付けられないといった可能性を確実に低減することができる。
【００２４】
また、請求項９に記載の発明は、アップデート許可判断手段により周辺装置がファームウェアのアップデートを行うことを許可しないと判断された場合に、コンピュータの動作状態に基づいて、周辺装置がコンピュータに再度問い合わせを行うべき再発信時間を推測する推測手段を備え、判断結果通知手段は、アップデート許可判断手段による判断結果と共に、推測手段による推測結果を、周辺装置に対して通知することを特徴とする。
【００２５】
これによれば、推測手段は、周辺装置がコンピュータに再度問い合わせを行うべき再発信時間を推測するので、請求項３で述べた効果と同様に、周辺装置がコンピュータに対して無駄な問い合わせを行う必要がなくなる。
【００２６】
また、請求項１０に記載の発明は、プログラムが搭載されたコンピュータが、周辺装置に対してファームウェアを提供する場合において、ファームウェアのアップデートを周辺装置が行うことを許可するか否かの問い合わせを、周辺装置から受けた場合に、周辺装置のファームウェアの提供元となることを許可するか否かを判断する提供元判断手段を備え、判断結果通知手段は、アップデート許可判断手段による判断結果と共に、提供元判断手段による判断結果を、周辺装置に対して通知することを特徴とする。
【００２７】
これによれば、周辺装置に対して、ファームウェアの提供元になるか否かの判断結果と、アップデートを許可するか否かの判断結果とを同時に通知しているので、周辺装置に対してコンピュータの情報を効率よく通知することができる。
【００２８】
したがって、周辺装置は、ファームウェアの提供元となるコンピュータから提供される最新のファームウェアに基づいて、効率よくファームウェアをアップデートすることができる。
【００２９】
また、請求項１１に記載の発明は、１台以上のコンピュータと、コンピュータから送信されてくる動作要求を受け付け、その動作要求に応じた動作を行う周辺装置とを有するネットワークシステムであって、周辺装置に設けられ、周辺装置に搭載するための最新のファームウェアを記憶する記憶装置から、ファームウェアをダウンロードし、自身のファームウェアを記憶装置からダウンロードしたファームウェアにアップデートするアップデート手段と、周辺装置に設けられ、コンピュータに対して、周辺装置がファームウェアのアップデートを行うことを許可するか否かを問い合わせる問い合わせ手段と、コンピュータに設けられ、問い合わせ手段からの問い合わせを受けた場合に、周辺装置がファームウェアのアップデートを行うことを許可するか否かを判断するアップデート許可判断手段と、コンピュータに設けられ、アップデート許可判断手段による判断結果を周辺装置に対して通知する判断結果通知手段とを備え、アップデート手段は、問い合わせ手段が問い合わせた全てのコンピュータの判断結果通知手段から、周辺装置がファームウェアのアップデートを行うことを許可する旨の通知を受けた場合に、ファームウェアのアップデートを行うことを特徴とする。
【００３０】
これによれば、周辺装置は、周辺装置にとって都合のいいタイミングで、ファームウェアのアップデートを能動的に行うのではなく、問い合わせ手段が問い合わせた全てのコンピュータからアップデートの許可があった場合に、ファームウェアのアップデートを行うので、請求項１及び請求項６で述べた効果と同様に、周辺装置が適切なタイミングでファームウェアのアップデートを行うことができる。
【図面の簡単な説明】
【００３１】
【図１】第１実施形態のネットワークシステム全体の構成を表す概略構成図である。
【図２】第１実施形態のプリンタの記憶部に記憶されている監視テーブルを説明する説明図である。
【図３】第１実施形態のプリンタの制御部が実行する更新処理のフローチャートである。
【図４】第１実施形態のエージェント可否要求指令に対する応答処理のフローチャートである。
【図５】第１実施形態のアップデート可否要求指令に対する応答処理のフローチャートである。
【図６】第２実施形態のアップデート可否要求指令に対する応答処理のフローチャートである。
【図７】第２実施形態の更新処理のフローチャートである。
【図８】第３実施形態の更新処理のフローチャートである。
【図９】第３実施形態のエージェント可否要求指令及びアップデート可否要求指令に対する応答処理のフローチャートである。
【図１０】第４実施形態の更新処理のフローチャートである。
【発明を実施するための形態】
【００３２】
以下に本発明の実施形態を図面と共に説明する。
（第１実施形態）
１．ネットワークシステムの全体構成
図１は、本発明が適用されたネットワークシステム全体の構成を表す概略構成図である。
【００３３】
ネットワークシステムは、図１に示すように、複数のパーソナルコンピュータ１Ａ〜１Ｅ（以下、ＰＣ１Ａ〜１Ｅという）、プリンタ２、及び、サーバ３などにより構成される。
【００３４】
ＰＣ１Ａ〜１Ｅとプリンタ２とは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５を介して互いに通信可能となっている。また、ＬＡＮ５は、ルータ６を介してＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：例えば、インターネット）７に接続され、ＰＣ１は、ＷＡＮ７を介してサーバ３とも通信可能となっている。
【００３５】
また、サーバ３には、プリンタ２用のファームウェアを配信する機能が備えられており、このサーバ３の記憶部４には、配信対象となるプリンタ２のファームウェアが、そのバージョン情報と関連付けて記憶されている。
【００３６】
ＰＣ１Ａは、制御部１１、記憶部１２、ユーザ操作により各種情報を入力可能な入力部１３、各種情報を表示するための表示部１４、及び、ネットワークインターフェース１５などを備えている。
【００３７】
制御部１１は、ＣＰＵ，ＲＡＭ，ＲＯＭ等のハードウェアと、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーション等のソフトウェアによって構成されている。上記アプリケーションとしては、ステータスモニタ１１Ａなどが機能している。
【００３８】
ステータスモニタ１１Ａは、プリンタ２の動作状態、トラブル状態及び使用状況等のプリンタ２に関するステータス情報を定期的にプリンタ２から取得し、そのステータス情報を表示部１４に出力することでユーザに通知する処理や、プリンタ２からの要求に従い、プリンタ２の最新のファームウェアをサーバ３から取得し、その取得したファームウェアをプリンタ２に対して提供するファームウェア提供処理などを実行する。
【００３９】
記憶部１２は、大容量のハードディスク装置や不揮発性メモリによって構成されるものであり、この記憶部１２は、比較的大きいサイズのデータや、電力供給が遮断されたときにも消失させたくないデータを記憶する際に利用される。また、本実施形態において、この記憶部１２には、ＰＣ１Ａがサーバ３から取得（受信）したプリンタ２のファームウェアが記憶される。
【００４０】
なお、図１においては、ＰＣ１Ａについてのみ内部構成を図示してあるが、他のＰＣ１Ｂ〜１Ｅの内部構成も、ＰＣ１Ａと同様になっている。また、このことは、後述する図面においても同様である。
【００４１】
プリンタ２は、ＰＣ１Ａ〜１Ｅから送信されてくる印刷指令に従い、出力用紙に印字を行うものであり、このプリンタ２は、制御部２１、記憶部２２、操作部２３、表示部２４、ネットワークインターフェース２５、及び、印刷部２６などを備えている。
【００４２】
記憶部２２は、電力供給が遮断されたときにもデータを保持可能な不揮発性メモリによって構成されるものであり、この記憶部２２には、プリンタ２が備えるハードウェアを制御するためのファームウェア、そのファームウェアに関連する情報、及び、プリンタ２と通信可能なＰＣ１Ａ〜１Ｅを監視するための情報を記憶した監視テーブルなどが記憶されている。
【００４３】
なお、ファームウェアに関連する情報とは、ファームウェアの種類、及び、ファームウェアのバージョン情報などの情報のことである。
監視テーブルは、プリンタ２と通信可能なＰＣ１Ａ〜１Ｅを監視するための情報を記憶したものであり、この監視テーブルは、図２に示すように、プリンタ２と通信可能なＰＣ１Ａ〜１Ｅに関するホスト情報（本実施形態では、ＩＰアドレス、ポート、プロトコル等）と、ＰＣ１Ａ〜１Ｅがプリンタ２に最後にアクセスした最終アクセス時刻とが関連付けられたものである。なお、最終アクセス時刻とは、ＰＣ１Ａ〜１Ｅから送られてくる後述のステータス要求指令をプリンタ２が受信した時刻のことであり、プリンタ２が電源を供給されてからの時間で示されている。
【００４４】
制御部２１は、ＣＰＵ，ＲＡＭ，ＲＯＭ等からなるマイクロコンピュータにて構成されている。ＲＡＭは各種の一時的な記憶領域としてはたらくとともに、記憶部２２に記憶されたファームウェアがコピーされる。ＣＰＵはこのコピーされたファームウエアプログラムにしたがって、以下に示す制御を行う。
【００４５】
制御部２１は、プリンタ２のステータス情報を要求することを表すステータス要求指令をＰＣ１Ａ〜１Ｅから受信すると、その受信時刻を、ステータス情報指令を送信したＰＣ１Ａ〜１Ｅの最終アクセス時刻とし、ステータス要求指令を送信したＰＣ１Ａ〜１Ｅのホスト情報と最終アクセス時刻とを関連付けて監視テーブルに記憶する。そして、制御部２１は、ステータス要求指令を送信したＰＣ１Ａ〜１Ｅに対して、プリンタ２のステータス情報を送信する。
【００４６】
また、制御部２１は、監視テーブルに記憶（登録）されているＰＣ１Ａ〜１Ｅのうち、最終アクセス時刻から３０秒経過したＰＣ１Ａ〜１Ｅの情報を監視テーブルから削除する、という登録削除処理を、定期的（本実施形態では１０秒毎）に行う。
【００４７】
また、制御部２１は、プリンタ２がファームウェアのアップデートを行うことを許可するか否かについて問い合わせ、全てのＰＣ１Ａ〜１Ｅから許可を得た場合に、プリンタ２自身のファームウェアを最新のファームウェアに更新する更新処理を行う。
【００４８】
２．ネットワークシステムの特徴的作動
２．１．プリンタの特徴的作動
２．１．１．更新処理
図３は、プリンタ２の制御部２１が実行する更新処理を表すフローチャートであり、この処理は、定期的（本実施形態では１ヶ月に１回）に実行される。
【００４９】
そして、制御部２１が図３に示す更新処理を開始すると、図３に示すように、まずＳ１１０にて、プリンタ２により現在継続中の印刷処理が終了するまでの間、待機状態が保たれる。
【００５０】
そして、現在継続中の印刷処理が終了すると、続くＳ１２０にて、監視テーブルに登録されているＰＣ１Ａ〜１Ｅの中から、１台のＰＣをファームウェアの提供元（エージェント）となるＰＣとして選出するエージェント選出処理が行われる。
【００５１】
なお、ファームウェアの提供元となるＰＣとは、サーバ３経由でプリンタ２のファームウェアを取得して、その取得したファームウェアをプリンタ２に提供するＰＣのことである。また、エージェント選出処理とは、例えば、監視テーブル（図２）に記憶されているＰＣ１Ａ〜１Ｅの中から、ランダムに１台を選出する処理を行う処理である。以下の説明では、プリンタ２がエージェント選出処理にてＰＣ１Ａを選出した場合を例に挙げて説明する。
【００５２】
続いて、Ｓ１３０では、最新のファームウェアを要求することを表すファームウェア要求指令が、エージェント選出処理にて選出されたＰＣ１Ａに対して、このＰＣ１Ａがエージェントとなることを承諾するか否かを問い合わせるためのエージェント可否要求指令が送信される。
【００５３】
そして、Ｓ１４０では、このエージェント可否要求指令に対する応答としてＰＣ１Ａから送信されてくる応答信号が、プリンタ２により受信されるまで待機され、この応答信号が受信されると、Ｓ１４０の処理にて受信された応答信号は、ＰＣ１Ａがエージェントとなることを承諾する旨を表すものであったか否かが判定される（Ｓ１５０）。
【００５４】
そして、Ｓ１５０にて、応答信号はＰＣ１Ａがエージェントとなることを承諾する旨を表すものではない、換言すれば、応答信号はＰＣ１Ａがエージェントとなることを承諾しない旨を表すものであると判定された場合には（Ｓ１５０：ＮＯ）、監視テーブルに登録されているＰＣ１Ａ〜１Ｅの中に、他のエージェントの候補があるか否かが判定される（Ｓ１６０）。
【００５５】
具体例を挙げて説明すると、Ｓ１５０にて、応答信号はＰＣ１Ａがエージェントとなることを承諾する旨を表すものではないと判定された場合（Ｓ１５０：ＮＯ）、Ｓ１６０では、今回エージェント選出処理にて選出されたＰＣ１Ａがエージェントにはならないので、監視テーブルに登録されているＰＣ１Ａ〜１Ｅの中に、ＰＣ１Ａ以外のＰＣがあるか否かが判定される。
【００５６】
そして、Ｓ１６０にて、他のエージェントの候補があると判定された場合には（Ｓ１６０：ＹＥＳ）、すでに選出されたＰＣ（ここではＰＣ１Ａ）以外のＰＣ１Ｂ〜１Ｅの中から、１台のＰＣを選出するエージェント選出処理が実行され（Ｓ１２０）、逆に、他のエージェントの候補がないと判定された場合には（Ｓ１６０：ＮＯ）、図３に示す更新処理が終了する。
【００５７】
また、Ｓ１５０にて、応答信号はＰＣ１Ａがエージェントとなることを承諾する旨を表すものであると判定された場合には（Ｓ１５０：ＹＥＳ）、プリンタ２がファームウェアのアップデートを行うことを許可するか否かについて問い合わせるためのアップデート可否要求指令が、全てのＰＣ１Ａ〜１Ｅに対して送信される（Ｓ１７０）。
【００５８】
続いて、Ｓ１８０では、全てのＰＣ１Ａ〜１Ｅからアップデート可否要求指令に対する応答がプリンタ２により受信されるまで待機され、続くＳ１９０では、その応答結果に基づいて、全てのＰＣ１Ａ〜１Ｅによって、プリンタ２がファームウェアのアップデートを行うことが許可されたか否かが判定される。
【００５９】
そして、Ｓ１９０にて、全てのＰＣ１Ａ〜１Ｅによってプリンタ２がファームウェアのアップデートを行うことが許可されなかった（換言すると、少なくとも１台のＰＣによってプリンタ２がファームウェアのアップデートを行うことが拒否された）と判定された場合には（Ｓ１９０：ＮＯ）、続くＳ２００にて一時間待機された後、処理がＳ１１０に移行される。
【００６０】
一方、Ｓ１９０にて、全てのＰＣ１Ａ〜１Ｅによってプリンタ２がファームウェアのアップデートを行うことが許可されたと判定された場合には（Ｓ１９０：ＹＥＳ）、続くＳ２１０にて、エージェント選出処理にて選出されたＰＣ１Ａからファームウェアが取得されて、その取得されたファームウェアがプリンタ２の最新のファームウェアとして更新（上書き）されることにより、図３に示す更新処理が終了する。
【００６１】
なお、プリンタ２が現在有しているファームウェアのバージョンが、既に最新のものであった場合、プリンタ２は、Ｓ２１０にて、エージェント選出処理で選出されたＰＣ１Ａからファームウェアを取得せずに、図３に示す更新処理を終了する。
【００６２】
また、説明の簡略化のために省略されているが、Ｓ１４０及びＳ１８０の待機処理には、適宜タイムアウトが設定され、タイムアウト時には処理が次に進むように構成されている。このため、ＰＣ１Ａ〜１Ｅの急なシャットダウン処理により、プリンタ２が応答信号を受信できなくても更新処理が中断されることはない。
【００６３】
２．２．ＰＣの特徴的作動
２．２．１．エージェント可否要求指令に対する応答処理
図４は、エージェント可否要求指令に対する応答処理のフローチャートである。なお、図４に示す応答処理は、ＰＣ１Ａがエージェント可否要求指令をプリンタ２から受信したときに、ステータスモニタ１１Ａ（厳密には、ステータスモニタ１１Ａとして機能するＰＣ１Ａの制御部１１）が実行する処理である。このエージェント可否要求指令は、プリンタ２におけるＳ１３０（図３参照）において送信されたものである。
【００６４】
そして、ＰＣ１Ａの制御部１１が図４に示す処理を開始すると、まずＳ３１０にて、ＰＣ１Ａ自身の使用状況を調査し、その調査結果に基づいて、ＰＣ１Ａ自身がエージェントとなるか否かを選択するエージェント可否選択処理が実行される。
【００６５】
なお、本実施形態において、Ｓ３１０では、使用状況として、ＰＣ１Ａの電源の状態、ＰＣ１Ａのネットワーク回線の通信速度やネットワーク使用率、及び、ＣＰＵの使用率等を調査する。そして、その結果、ＰＣ１Ａがシャットダウン中である場合や、ネットワーク通信の余力がない場合や、ＣＰＵの使用率が所定値（例えば５０％）以上である場合等、ＰＣ１Ａがエージェントとして適さない場合には、エージェントとはならないと選択する。
【００６６】
そして、Ｓ３１０の処理が終了すると、Ｓ３２０では、エージェント可否選択処理（Ｓ３１０の処理）の結果が何れであったか（ＰＣ１Ａ自身がエージェントになるか否か）が判定される。
【００６７】
そして、Ｓ３２０にて、ＰＣ１Ａ自身がエージェントになると判定された場合には（Ｓ３２０：ＹＥＳ）、ＰＣ１Ａがエージェントとなることを承諾する旨を表す応答信号がプリンタ２に対して送信され（Ｓ３３０）、図４に示す処理が終了する。
【００６８】
一方、Ｓ３２０にて、ＰＣ１Ａ自身がエージェントにはならないと判定された場合には（Ｓ３２０：ＮＯ）、ＰＣ１Ａがエージェントとなることを承諾しない旨を表す応答信号がプリンタ２に対して送信され（Ｓ３４０）、図４に示す処理が終了する。この応答信号はプリンタ２のＳ１４０（図３参照）において受信される。
【００６９】
２．２．２．アップデート可否要求指令に対する応答処理
図５は、アップデート可否要求指令に対する応答処理のフローチャートである。なお、アップデート可否要求指令は、プリンタ２のＳ１７０（図３参照）において送信されるものであり、図５に示す応答処理は、ＰＣ１Ａ〜１Ｅがアップデート可否要求指令をプリンタ２から受信したときに、それぞれのＰＣの制御部１１が実行する処理である。
【００７０】
そして、ＰＣ１Ａの制御部１１が図５に示す処理を開始すると、まずＳ４１０にて、ＰＣ１Ａの記憶部１２に蓄積されているプリンタ２用の印刷指令（印刷ジョブ）について調査される。
【００７１】
続いて、Ｓ４２０では、Ｓ４１０の調査結果に基づいて、時間指定されたプリンタ２用の印刷ジョブが、該当時間内に行われるものであるか否かが判定される。
そして、Ｓ４２０にて、時間指定されたプリンタ２用の印刷ジョブが該当時間内に行われるものであると判定された場合には（Ｓ４２０：ＹＥＳ）、プリンタ２がファームウェアのアップデートを行うことを許可しない旨を表す応答信号が、プリンタ２に対して送信され（Ｓ４３０）、図５に示す処理が終了する。
【００７２】
一方、Ｓ４２０にて、時間指定されたプリンタ２用の印刷ジョブが該当時間内に行われるものではないと判定された場合には（Ｓ４２０：ＮＯ）、ＰＣ１Ａの記憶部１２に蓄積されているプリンタ２用の印刷ジョブの中に、印刷の優先順位が所定値以上に設定された印刷ジョブがあるか否かが判定される（Ｓ４４０）。なお、上記優先順位については、ＰＣ１Ａのユーザにより設定可能にされている。
【００７３】
そして、Ｓ４４０にて、印刷の優先順位が所定値以上に設定された印刷ジョブがあると判定された場合には（Ｓ４４０：ＹＥＳ）、処理がＳ４３０に移行され、逆に、印刷の優先順位が所定値以上に設定された印刷ジョブがないと判定された場合には（Ｓ４４０：ＮＯ）、処理がＳ４５０に移行される。
【００７４】
Ｓ４５０では、ＰＣ１Ａがスリープ状態、又は、ログオフ中であるか否かが判定される。そして、Ｓ４５０にて、ＰＣ１Ａがスリープ状態又はログオフ中であると判定された場合には（Ｓ４５０：ＹＥＳ）、プリンタ２がファームウェアのアップデートを行うことを許可する旨を表す応答信号が、プリンタ２に対して送信され（Ｓ４９０）、図５に示す処理が終了する。
【００７５】
一方、Ｓ４５０にて、ＰＣ１Ａがスリープ状態ではなく、かつ、ログオフ中ではない（ログイン中である）と判定された場合には（Ｓ４５０：ＮＯ）、ＰＣ１Ａにログイン中のユーザが特定権限を有しているか否かが判定される（Ｓ４６０）。
【００７６】
そして、Ｓ４６０にて、ログイン中のユーザが特定権限を有していないと判定された場合には（Ｓ４６０：ＮＯ）、処理がＳ４９０に移行され、逆に、ログイン中のユーザが特定権限を有していると判定された場合には（Ｓ４６０：ＹＥＳ）、処理がＳ４７０に移行される。
【００７７】
Ｓ４７０では、ＰＣ１Ａにログイン中のユーザに対して、プリンタ２がファームウェアのアップデートを行うことを許可するか否かについて選択させるための選択ダイアログ（図示省略）が表示部１４に表示される。
【００７８】
続いて、Ｓ４８０では、Ｓ４７０にて表示された選択ダイアログにおいて、プリンタ２がファームウェアのアップデートを許可することがユーザにより選択されたか否かが判定される。
【００７９】
そして、Ｓ４８０にて、アップデートを許可することがユーザにより選択されていないと判定された場合には（Ｓ４８０：ＮＯ）、処理がＳ４３０に移行され、逆に、アップデートを許可することがユーザにより選択されたと判定された場合には（Ｓ４８０：ＹＥＳ）、処理がＳ４９０に移行される。
【００８０】
３．本実施形態に係るネットワークシステムの特徴
以上説明したように、本実施形態のプリンタ２は、全てのＰＣ１Ａ〜１Ｅに対してアップデート可否要求指令を送信し、ＰＣ１Ａ〜１Ｅは、この要求指令に対する応答をプリンタ２に対して送信する。そして、プリンタ２は、ＰＣ１Ａ〜１Ｅからの応答結果に基づいて、全てのＰＣ１Ａ〜１Ｅによってプリンタ２がファームウェアのアップデートを行うことが許可された場合に、ファームウェアのアップデートを行う。
【００８１】
つまり、プリンタ２は、プリンタ２にとって都合のいいタイミングで、ファームウェアのアップデートを能動的に行うのではなく、アップデート可否要求指令をプリンタ２から受信した全てのＰＣ１Ａ〜１Ｅからアップデートの許可があった場合に、ファームウェアのアップデートを行う。
【００８２】
このため、ファームウェアのアップデート中に、ＰＣ１Ａ〜１Ｅからプリンタ２に対して動作要求が受け付けられないといった可能性を低減することができる。したがって、プリンタ２が適切なタイミングでファームウェアのアップデートを行うことができる。
【００８３】
また、本実施形態では、アップデート可否要求指令を受信した全てのＰＣ１Ａ〜１Ｅによって、プリンタ２がファームウェアのアップデートを行うことが許可されるまでの間、アップデート可否要求指令の送信が繰り返し行われるので、これら全てのＰＣ１Ａ〜１Ｅがアップデートを許可すると、プリンタ２は、速やかにアップデートを行うことができる。
【００８４】
また、本実施形態では、アップデート要求指令を受信したＰＣ１Ａ〜１Ｅがその指令に対する応答をプリンタ２に対して送信しているので、プリンタ２は、この応答結果に基づいて、ファームウェアのアップデートを行うか否かを決定することができる。
【００８５】
また、本実施形態では、ＰＣ１Ａ〜１Ｅが、時間指定の印刷ジョブや優先度の高い印刷ジョブを保持している場合、アップデートを許可しないので、ファームウェアのアップデート中に、ＰＣ１Ａ〜１Ｅからプリンタ２に対して緊急に送信される動作要求が受け付けられないといった可能性を確実に低減することができる。
【００８６】
また、本実施形態では、ＰＣ１Ａ〜１Ｅの表示部１４に表示された上記選択ダイアログにおいて、プリンタ２がファームウェアのアップデートを許可することがユーザにより選択された場合に、ファームウェアのアップデートが許可されるので、プリンタ２は、ユーザが所望するタイミングで、ファームウェアのアップデートを行うことができる。
【００８７】
４．発明特定事項と実施形態との対応関係
本実施形態では、プリンタ２が特許請求の範囲に記載された周辺装置に相当し、ＰＣ１Ａ〜ＰＣ１Ｅの記憶部１２が特許請求の範囲に記載された記憶装置に相当し、Ｓ２１０の処理が特許請求の範囲に記載されたアップデート手段に相当する。
【００８８】
また、Ｓ１７０の処理が特許請求の範囲に記載された問い合わせ手段に相当し、Ｓ４２０，Ｓ４４０〜Ｓ４６０，Ｓ４８０の処理が特許請求の範囲に記載されたアップデート許可判断手段に相当し、Ｓ４３０及びＳ４９０の処理が特許請求の範囲に記載された判断結果通知手段に相当する。
【００８９】
（第２実施形態）
上記実施形態では、プリンタ２により実行される更新処理（図２参照）にて、全てのＰＣ１Ａ〜１Ｅによってプリンタ２がファームウェアのアップデートを行うことが許可されなかったと判定された場合に（Ｓ１９０：ＮＯ）、一時間だけ待機するようにされていたが、本実施形態は、ＰＣ１Ａ〜１Ｅ側で設定された待機時間だけ待機するようにされている。
【００９０】
以下、本実施形態のアップデート可否要求指令に対する応答処理、及び、更新処理について、図６及び図７を用いて説明する。なお、第２実施形態において、第１実施形態と同じ構成については同一の符号を付し、同じ処理内容については同一のステップ番号を付しているため、詳細な説明は省略する。また、このことは、後述する第３及び第４実施形態においても同様である。
【００９１】
図６は、本実施形態のアップデート可否要求指令に対する応答処理のフローチャートであり、この応答処理は、上述した図５と同様に、ＰＣ１Ａがアップデート可否要求指令をプリンタ２から受信したときに、制御部１１にて実行される。
【００９２】
図６に示すように、本実施形態のアップデート可否要求指令に対する応答処理は、上記第１実施形態のアップデート可否要求指令に対する応答処理と比較すると、アップデートを許可しない旨の応答信号を送信する前に（Ｓ４３０の処理が実行される前に）、Ｓ４２５にて、ＰＣ１Ａにて必要な待機時間が設定される点が異なっている。
【００９３】
具体的に説明すると、Ｓ４２５では、Ｓ４２０又はＳ４４０の処理にて印刷ジョブがあると判定された場合には、その印刷ジョブがプリンタ２にて実行されるまでに要する時間が推測され、その推測時間に印刷ジョブの数が乗じられた値（＝［推測時間］×［印刷ジョブの数］）が待機時間として設定される。なお、推測時間は、例えば１つの印刷ジョブに含まれる印刷枚数に基づいて算出される。
【００９４】
また、Ｓ４８０では、Ｓ４７０の処理で表示部１４に表示される選択ダイアログにて上記待機時間がユーザにより入力可能とされており、Ｓ４８０にて、アップデートを許可することがユーザにより選択されたと判定された場合（Ｓ４８０：ＹＥＳ）、Ｓ４２５では、ユーザにより入力された時間が待機時間として設定される。
【００９５】
そして、Ｓ４２５にて待機時間が設定されると、続くＳ４３０では、プリンタ２がファームウェアのアップデートを行うことを許可しない旨を表す応答信号と共に、Ｓ４２５にて設定された待機時間が、プリンタ２に対して送信される。
【００９６】
次に、図７は、本実施形態の更新処理のフローチャートであり、この処理は、上述した図３の更新処理と同様、プリンタ２の制御部２１にて定期的に実行される。
図７に示すように、本実施形態の更新処理は、上記第１実施形態と比較すると、Ｓ１９０にて、全てのＰＣ１Ａ〜１Ｅによって、プリンタ２がファームウェアのアップデートを行うことが許可されていないと判定された場合に（Ｓ１９０：ＮＯ）、Ｓ１９５にて、アップデート可否要求指令に対する応答（応答信号）と共に受信された待機時間だけ待機される点が異なっている。ここで、Ｓ１９５において、複数のＰＣ１Ａ〜１Ｅから待機時間を受信した場合には、複数の待機時間のうち最も大きな待機時間だけ待機するようにされている。そして、Ｓ１９５にてＰＣ１Ａ〜１Ｅにより設定された待機時間だけ待機されると、処理がＳ１１０に戻る。
【００９７】
以上説明したように、本実施形態は、上記第１実施形態の効果に加えて、プリンタ２は、アップデート可否要求指令を受信したＰＣ１Ａ〜１Ｅにより設定された待機時間だけ経過した後に、ＰＣ１〜１Ｅに対して、再度、アップデート可否要求指令を送信するので、プリンタ２がＰＣ１Ａ〜１Ｅに対して、アップデート可否要求指令の送信を無駄に行う必要がなくなる。
【００９８】
なお、本実施形態では、Ｓ４２５の処理が特許請求の範囲に記載された推測手段に相当する。
（第３実施形態）
本実施形態は、上記第１及び第２実施形態と比較すると、全てのＰＣ１Ａ〜１Ｅのうちプリンタ２にて選出されたＰＣに対してアップデート可否要求指令を送信する点と、エージェント可否要求指令及びアップデート可否要求指令を１回の処理で行う点とが異なっている。
【００９９】
以下、本実施形態について、図８及び図９を用いて説明する。
図８は、第３実施形態の更新処理のフローチャートであり、この処理は、上記第１実施形態と同様、プリンタ２の制御部２１にて定期的に実行される。
【０１００】
そして、図８に示す更新処理が開始されると、まずＳ５１０にて、エージェント可否要求指令及びアップデート可否要求指令の送信先を特定するための送信先リストが、記憶部１２から読み出される。なお、本実施形態において、送信先リストは、ＰＣのＩＰアドレスやＰＣ名等のＰＣを特定可能な情報からなり、この送信先リストはユーザにより予め設定されている。
【０１０１】
続いて、Ｓ５２０では、送信先リスト及び監視テーブルに基づいて、エージェント可否要求指令及びアップデート可否要求指令の送信先となるＰＣが選出される。具体的に説明すると、Ｓ５２０では、送信先リスト及び監視テーブルに基づいて、現在プリンタ２が監視しているＰＣのうち、送信先リストに登録されたＰＣが、送信先のＰＣとして選出される。
【０１０２】
そして、Ｓ５３０では、Ｓ５２０にて選出されたＰＣに対して、エージェント可否要求指令及びアップデート可否要求指令が送信され、続くＳ５４０では、Ｓ５２０にて選出された全てのＰＣからアップデート可否要求指令に対する応答がプリンタ２により受信されるまで待機される。
【０１０３】
続いて、Ｓ５５０では、Ｓ５４０にて受信された応答結果に基づいて、Ｓ５２０にて選出された全てのＰＣによって、プリンタ２がファームウェアのアップデートを行うことが許可されたか否かが判定される。
【０１０４】
そして、Ｓ５５０にて、Ｓ５２０にて選出された全てのＰＣによってプリンタ２がファームウェアのアップデートを行うことが許可されなかったと判定された場合には（Ｓ５５０：ＮＯ）、続くＳ５６０にて所定時間待機された後、処理がＳ５１０に移行される。
【０１０５】
一方、Ｓ５５０にて、Ｓ５２０にて選出された全てのＰＣによってプリンタ２がファームウェアのアップデートを行うことが許可されたと判定された場合には（Ｓ５５０：ＹＥＳ）、Ｓ５４０にて受信された応答結果に基づいて、エージェントとなることを許可したＰＣがあるか否かが判定される（Ｓ５７０）。
【０１０６】
そして、Ｓ５７０にて、エージェントとなることを許可したＰＣがないと判定された場合には（Ｓ５７０：ＮＯ）、処理がＳ５６０に移行され、逆に、エージェントとなることを許可したＰＣがあると判定された場合には（Ｓ５７０：ＹＥＳ）、エージェントとなることを許可したＰＣの中から、１台のＰＣがエージェントとして選出される（Ｓ５８０）。
【０１０７】
そして、Ｓ５９０では、Ｓ５８０にて選出されたＰＣからファームウェアが取得されて、その取得されたファームウェアがプリンタ２の最新のファームウェアとして更新（上書き）されることにより、図８に示す更新処理が終了する。
【０１０８】
次に、図９は、第３実施形態のエージェント可否要求指令及びアップデート可否要求指令に対する応答処理のフローチャートであり、この処理は、ＰＣ１Ａがエージェント可否要求指令及びアップデート可否要求指令を受信したときに、ＰＣ１Ａの制御部１１にて実行される。
【０１０９】
図９に示す応答処理が開始されると、まずＳ６１０にて、プリンタ２がファームウェアのアップデートを行うことをＰＣ１Ａが許可するか否かについて、調査される。具体的に説明すると、このＳ６１０では、上記第１実施形態の図５に示す応答処理（具体的には、Ｓ４１０，Ｓ４２０，Ｓ４４０〜Ｓ４８０）が実施される。
【０１１０】
続いて、Ｓ６２０では、Ｓ６１０の調査結果に基づいて、プリンタ２がファームウェアのアップデートを行うことをＰＣ１Ａが許可するか否かが判定される。
そして、Ｓ６２０にて、アップデートを許可しないと判定された場合には（Ｓ６２０：ＮＯ）、プリンタ２がファームウェアのアップデートを行うことを許可しない旨、かつ、ＰＣ１Ａがエージェントとなることを承諾しない旨を表す応答信号が、プリンタ２に対して送信され（Ｓ６３０）、図９に示す処理が終了する。
【０１１１】
一方、Ｓ６２０にて、アップデートを許可すると判定された場合には（Ｓ６２０：ＹＥＳ）、ＰＣ１Ａ自身の使用状況を調査し、その調査結果に基づいて、ＰＣ１Ａ自身がエージェントとなるか否かを選択するエージェント可否選択処理が実行される（Ｓ６４０）。なお、Ｓ６４０の処理内容は、上述した第１実施形態のエージェント可否選択処理（図４のＳ３１０）と同じである。
【０１１２】
続いて、Ｓ６５０では、エージェント可否選択処理の結果が何れであったか（ＰＣ１Ａ自身がエージェントになるか否か）が判定される。
そして、Ｓ６５０にて、ＰＣ１Ａ自身がエージェントにはならないと判定された場合には（Ｓ６５０：ＮＯ）、プリンタ２がファームウェアのアップデートを行うことを許可する旨、かつ、ＰＣ１Ａがエージェントとなることを承諾しない旨を表す応答信号がプリンタ２に対して送信され（Ｓ６６０）、図９に示す処理が終了する。
【０１１３】
一方、Ｓ６５０にて、ＰＣ１Ａ自身がエージェントになると判定された場合には（Ｓ６５０：ＹＥＳ）、プリンタ２がファームウェアのアップデートを行うことを許可する旨、かつ、ＰＣ１Ａがエージェントとなることを承諾する旨を表す応答信号がプリンタ２に対して送信される（Ｓ６７０）。
【０１１４】
そして、Ｓ６８０では、指定時間（例えば２分）内にプリンタ２からファームウェアの要求があったか否かが判定され、ファームウェアの要求がないと判定された場合には（Ｓ６８０：ＮＯ）、図９に示す処理が終了する。なお、プリンタ２がＳ５８０の処理（図８参照）にてＰＣ１Ａ以外のＰＣをエージェントとして選出した場合、あるいは、ＰＣ１Ａ以外のＰＣがＳ６３０の処理においてアップデートを許可しない旨の応答をしたために、プリンタ２がＳ５５０の処理（図８参照）でＮＯと判断した場合、ＰＣ１Ａには、プリンタ２からファームウェアの要求が送信されてこないことになる。
【０１１５】
一方、Ｓ６８０にて、ファームウェアの要求があると判定された場合には（Ｓ６８０：ＹＥＳ）、プリンタ２から要求に従い、プリンタ２の最新のファームウェアをサーバ３から取得し、その取得したファームウェアをプリンタ２に対して提供するファームウェア提供処理が実行され（Ｓ６９０）、図９に示す処理が終了する。なお、プリンタ２がＳ５８０の処理にてＰＣ１Ａをエージェントとして選出した場合、ＰＣ１Ａには、プリンタ２からファームウェアの要求が送信されてくることになる。
【０１１６】
以上説明したように、本実施形態においては、上記第１実施形態の効果に加えて、ＬＡＮ５上の全てのＰＣ１Ａ〜１Ｅではなく、Ｓ５２０にて選出されたＰＣに対してアップデート可否要求指令を送信するので、例えばプリンタ２の使用頻度が極端に低いＰＣについてはその要求指令の送信先から外す等することにより、要求指令の送信先に適したコンピュータだけにアップデート可否要求指令の送信（問い合わせ）を行うことができる。したがって、効率よく問い合わせを行うことができる。
【０１１７】
また、本実施形態のＰＣ１Ａ〜１Ｅは、プリンタ２に対して、エージェントになるか否かの判断結果と、アップデートを許可するか否かの判断結果とを同時に通知しているので、プリンタ２に対してＰＣ１Ａ〜１Ｅの情報を効率よく通知することができる。
【０１１８】
なお、本実施形態では、Ｓ５９０の処理が特許請求の範囲に記載されたアップデート手段に相当し、Ｓ５３０が特許請求の範囲に記載された問い合わせ手段に相当し、Ｓ６２０が特許請求の範囲に記載されたアップデート許可判断手段に相当する。
【０１１９】
また、Ｓ６３０，Ｓ６６０，Ｓ６７０の処理が特許請求の範囲に記載された判断結果通知手段に相当し、Ｓ５２０の処理が特許請求の範囲に記載された選出手段に相当し、Ｓ６５０の処理が特許請求の範囲に記載された提供元判断手段に相当する。
【０１２０】
（第４実施形態）
上記第１〜第３実施形態のプリンタ２は、ＰＣ１Ａ〜１Ｅを介して、サーバ３からファームウェアを取得していたが、本実施形態は、ＰＣ１Ａ〜１Ｅを介さずにサーバ３から直接ファームウェアを取得するようにされている。
【０１２１】
また、本実施形態は、ファームウェアのアップデートを緊急に行う必要がある場合に、ＰＣ１Ａ〜１Ｅに対してアップデートの許可を取らずにファームウェアの更新を行うようにされている。
【０１２２】
具体的に説明すると、サーバ３の記憶部４には、配信対象となるプリンタ２のファームウェアが、そのバージョン情報、及び、その緊急度を表す緊急度情報と関連付けて記憶されており、プリンタ２は、更新処理において、サーバ３に緊急度の高いファームウェアがあった場合に、ＰＣ１Ａ〜１Ｅに対してアップデートの許可を取らずに、ファームウェアの更新を行う。
【０１２３】
以下、本実施形態のプリンタ２の制御部２１が実行する更新処理について、図１０を用いて説明する。なお、図１０は、第４実施形態の更新処理のフローチャートであり、この処理は、上記第１実施形態と同様、定期的に実行される。
【０１２４】
図１０に示す更新処理がプリンタ２の制御部２１にて開始されると、まずＳ８１０にて、ファームウェアのアップデートを保留することを表すペンディングフラグがセットされているか否かが判定される。
【０１２５】
そして、Ｓ８１０にて、ペンディングフラグがセットされていると判定された場合には（Ｓ８１０：ＹＥＳ）、処理がＳ１７０に移行され、逆に、ペンディングフラグがセットされていないと判定された場合には（Ｓ８１０：ＮＯ）、処理がＳ８１５に移行される。なお、このペンディングフラグは、プリンタ２の初期起動時に更新処理が実行された場合にはリセットされている。
【０１２６】
Ｓ８１５では、サーバ３の記憶部４に記憶されているプリンタ２のファームウェアのバージョン情報、及び、緊急度情報が取得され、続くＳ８３０では、Ｓ８１５で取得されたバージョン情報が、プリンタ２の記憶部２２に記憶されているファームウェアのバージョン情報よりも新しいか否かが判定される。
【０１２７】
そして、Ｓ８３０にて、Ｓ８１５で取得されたバージョン情報が、プリンタ２の記憶部２２に記憶されているファームウェアのバージョン情報よりも新しくないと判定された場合には（Ｓ８３０：ＮＯ）、ファームウェアのアップデートを行う必要がないと判断され、図１０の処理が終了する。
【０１２８】
一方、Ｓ８３０にて、サーバ３から取得した緊急度情報に基づいて、緊急度が通常の状態よりも高いか否かが判定される（Ｓ８３５）。
そして、Ｓ８３５にて、緊急度が高いと判定された場合には（Ｓ８３５：ＹＥＳ）、Ｓ１７０〜Ｓ１９０の処理が実行されずに、ファームウェアが更新され（Ｓ２１０）、逆に、緊急度が高くはないと判定された場合には（Ｓ８３５：ＮＯ）、全てのＰＣ１Ａ〜１Ｅに対してアップデート可否要求指令が送信される（Ｓ１７０）。Ｓ１７０〜１９０までの処理は、図３と同様である。また、Ｓ１７０で送信されたアップデート可否要求指令に対し、ＰＣ１Ａ〜１Ｅでは、図５と同様の処理が行われる。
【０１２９】
そして、Ｓ１９０にて、全てのＰＣ１Ａ〜１Ｅによってプリンタ２がファームウェアのアップデートを行うことが許可されていないと判定された場合には（Ｓ１９０：ＮＯ）、ペンディングフラグがセットされ（Ｓ８４０）、図１０の処理が終了する。この場合には、次回の図１０の更新処理が実行されるときに、Ｓ８１０においてＹＥＳと判断されるので、Ｓ８１５，Ｓ８３０及びＳ８３５の処理がスキップされる。
【０１３０】
一方、Ｓ１９０にて、全てのＰＣ１Ａ〜１Ｅによってプリンタ２がファームウェアのアップデートを行うことが許可されたと判定された場合には（Ｓ１９０：ＹＥＳ）、Ｓ２１０にて、サーバ３からファームウェアが取得されて、その取得されたファームウェアがプリンタ２の最新のファームウェアとして更新（上書き）され（Ｓ２１０）、処理がＳ８５０に移行される。Ｓ８５０では、ペンディングフラグがリセットされ、図１０の処理が終了する。
【０１３１】
以上説明したように、本実施形態においては、上記第１実施形態の効果に加えて、緊急度情報が取得された場合、アップデート可否要求指令の送信を行わずに、ファームウェアのアップデートを行うので、緊急なアップデート（例えば、故障、セキュリティ等の重大な障害の修正）があった場合には、直ちにファームウェアのアップデートを行うことができる。なお、本実施形態では、サーバ３の記憶部４が特許請求の範囲に記載された記憶装置に相当し、Ｓ８３５の処理が特許請求の範囲に記載された緊急度情報取得手段に相当する。
【０１３２】
（その他の実施形態）
本発明は、特許請求の範囲に記載された発明の趣旨に合致するものであればよく、上述の実施形態に限定されるものではない。
【０１３３】
また、上記実施形態では、周辺装置として、プリンタ２を例に挙げて説明していたが、本発明はこれに限定されるものではなく、周辺装置は、ネットワークを介して他の機器と通信可能な機器であって、ファームウェアの更新が必要な機器であれば何でもよい。例えば、周辺装置は、ネットワーク接続可能なハードディスクドライブや複合機やＦＡＸ機等でもよい。
【符号の説明】
【０１３４】
１Ａ〜１Ｅ…パーソナルコンピュータ（ＰＣ）、２…プリンタ、３…サーバ、４…記憶部、５…ＬＡＮ、６…ルータ、１１…制御部、１１Ａ…ステータスモニタ、１２…記憶部、１３…入力部、１４…表示部、１５…ネットワークインターフェース、２１…制御部、２２…記憶部、２３…操作部、２４…表示部、２５…ネットワークインターフェース、２６…印刷部。
【図１】
2010277397.tif 000003
【図２】
2010277397.tif 000004
【図３】
2010277397.tif 000005
【図４】
2010277397.tif 000006
【図５】
2010277397.tif 000007
【図６】
2010277397.tif 000008
【図７】
2010277397.tif 000009
【図８】
2010277397.tif 000010
【図９】
2010277397.tif 000011
【図１０】
2010277397.tif 000012