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