(57)【要約】【課題】  ファームウェアを提供する周辺装置のパフォーマンスを保ちつつ、ファームウェアの更新を実行する。【解決手段】  ネットワークシステムは、複数のプリンタ及びサーバ等により構成される。そして、プリンタは、他のプリンタが備えるファームウェアのバージョン情報及びファームウェアの提供状況に基づいて、他のプリンタ及びサーバの中からファームウェアのダウンロード先を選出する（Ｓ３３０〜Ｓ４５０）。このため、特定のプリンタだけが常にダウンロード先となってしまうことを防止できるので、特定のプリンタに対して、それ以外のプリンタからダウンロードの要求が集中してしまうことを防止することができる。したがって、ダウンロード先となるプリンタのパフォーマンスが著しく低下してしまうのを防止できるので、ファームウェアを提供するダウンロード先のプリンタのパフォーマンスを保ちつつ、ファームウェアの更新を実行できる。【選択図】図４
2010231386.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して他の機器と通信可能な周辺装置であって、
前記ネットワークに接続された他の周辺装置と通信を行うことにより、この通信先の周辺装置に搭載されるファームウェアのバージョン情報、及び、このファームウェアの提供状況を、通信先の周辺装置から取得する取得手段と、
前記取得手段により取得されたバージョン情報及び提供状況に基づいて、前記ネットワークに接続された他の周辺装置の中から、ファームウェアのダウンロード先となる周辺装置を選出する選出手段と、
前記選出手段により選出された周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードするダウンロード手段と
を備えたことを特徴とする周辺装置。
【請求項２】
前記取得手段は、前記提供状況として、少なくとも、ファームウェアの提供回数、又は、提供頻度を取得し、
前記選出手段は、前記ネットワークに接続された他の周辺装置の中から、前記提供回数又は前記提供頻度が最も少ない周辺装置を選出すること
を特徴とする請求項１に記載の周辺装置。
【請求項３】
前記ダウンロード手段は、前記選出手段により選出された周辺装置との通信中に、この通信中の周辺装置からダウンロード先の変更指令を受信すると、この変更指令により指定される周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードすること
を特徴とする請求項１又は請求項２に記載の周辺装置。
【請求項４】
ネットワークを介して通信可能な複数の周辺装置により構成されるネットワークシステムであって、
前記周辺装置に設けられ、前記ネットワークに接続された他の周辺装置と通信を行うことにより、この通信先の周辺装置に搭載されるファームウェアのバージョン情報、及び、このファームウェアの提供状況を、通信先の周辺装置から取得する取得手段と、
前記周辺装置に設けられ、前記取得手段により取得されたバージョン情報及び提供状況に基づいて、前記ネットワーク接続された他の周辺装置の中から、ファームウェアのダウンロード先となる周辺装置を選出する選出手段と、
前記周辺装置に設けられ、前記選出手段により選出された周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードするダウンロード手段と
を備えたことを特徴とするネットワークシステム。
【請求項５】
前記取得手段は、前記提供状況として、少なくとも、ファームウェアの提供回数、又は、提供頻度を取得し、
前記選出手段は、前記ネットワークに接続された他の周辺装置の中から、前記提供回数又は前記提供頻度が最も少ない周辺装置を選出すること
を特徴とする請求項４に記載のネットワークシステム。
【請求項６】
前記周辺装置に設けられ、前記他の周辺装置に対して、自身のファームウェアがダウンロードされることを許可するか否かを判定する判定手段と、
前記周辺装置に設けられ、前記他の周辺装置と通信が行われた際に、前記判定手段により、この通信中の周辺装置に対して自身のファームウェアがダウンロードされることを許可しないと判定された場合に、この周辺装置に対して、自身の代わりにファームウェアの新たなダウンロード先となる周辺装置を指定した変更指令を送信する変更指令送信手段とを備え、
前記ダウンロード手段は、前記選出手段により選出された周辺装置との通信中に、この通信中の周辺装置から前記変更指令を受信すると、この変更指令により指定される周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードすること
を特徴とする請求項４又は請求項５に記載のネットワークシステム。
【請求項７】
前記判定手段は、自身のファームウェアが他の周辺装置にダウンロードされている間、このダウンロード中の周辺装置以外の周辺装置に対して、ファームウェアがダウンロードされることを許可しないと判定し、
前記変更指令送信手段は、前記他の周辺装置のうち、現在自身のファームウェアをダウンロードしている周辺装置を、ファームウェアの新たなダウンロード先として指定すること
を特徴とする請求項６に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して通信可能な複数の周辺装置により構成されるネットワークシステム、及び、周辺装置に関する。
【背景技術】
【０００２】
従来、インターネット上のサーバから最新のファームウェアをダウンロードして更新する親プリンタと、親プリンタのファームウェアのバージョンの方が自身のファームウェアのバージョンよりも新しい場合に、親プリンタからファームウェアをダウンロードして更新する複数の子プリンタとにより構成されたネットワークシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２３４５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の発明では、親プリンタのファームウェアが更新（バージョンアップ）されると、この親プリンタに対して、複数の子プリンタからダウンロードの要求が集中してしまうので、親プリンタのパフォーマンスが著しく低下してしまうという問題があった。
【０００５】
本発明は、上記点に鑑み、ファームウェアを提供する周辺装置のパフォーマンスを保ちつつ、ファームウェアの更新を実行することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた請求項１に記載の発明は、ネットワークを介して他の機器と通信可能な周辺装置であって、ネットワークに接続された他の周辺装置と通信を行うことにより、この通信先の周辺装置に搭載されるファームウェアのバージョン情報、及び、このファームウェアの提供状況を、通信先の周辺装置から取得する取得手段と、取得手段により取得されたバージョン情報及び提供状況に基づいて、ネットワークに接続された他の周辺装置の中から、ファームウェアのダウンロード先となる周辺装置を選出する選出手段と、選出手段により選出された周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードするダウンロード手段とを備えたことを特徴とする。
【０００７】
このような請求項１に記載の発明によれば、選出手段が、ファームウェアの提供状況に基づいて、ダウンロード先となる周辺装置を選出するので、特定の周辺装置だけが常にダウンロード先となってしまうことを防止することができる。
【０００８】
このため、特定の周辺装置に対して、それ以外の周辺装置からダウンロードの要求が集中してしまうことを防止することができるので、ダウンロード先となる周辺装置のパフォーマンスが著しく低下してしまうということを防止できる。
【０００９】
したがって、ファームウェアを提供するダウンロード先の周辺装置のパフォーマンスを保ちつつ、ファームウェアの更新を実行することができる。
また、請求項２に記載の発明において、取得手段は、提供状況として、少なくとも、ファームウェアの提供回数、又は、提供頻度を取得し、選出手段は、ネットワークに接続された他の周辺装置の中から、提供回数又は提供頻度が最も少ない周辺装置を選出することを特徴とする。
【００１０】
ここで、提供回数又は提供頻度とは、周辺装置の備えるファームウェアが他の周辺装置にダウンロードされた回数又は頻度のことである。
これによれば、周辺装置がファームウェアをダウンロードすると、そのファームウェアをダウンロードした他の周辺装置が存在しないので、当然の如く、そのファームウェアの提供回数及び提供頻度は最小値となる。
【００１１】
このように、ファームウェアをダウンロードした周辺装置が、次回ファームウェアを提供すること（ダウンロード先）となるので、特定の周辺装置のみにアクセスが集中することを効果的に防ぐことができる。
【００１２】
また、請求項３に記載の発明において、ダウンロード手段は、選出手段により選出された周辺装置との通信中に、この通信中の周辺装置からダウンロード先の変更指令を受信すると、この変更指令により指定される周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードすることを特徴とする。
【００１３】
これによれば、選出手段により選出された周辺装置からファームウェアがダウンロードすることができなかったとしても、その選出された周辺装置から変更指令を受信することにより、別のダウンロード先からファームウェアをダウンロードすることができる。
【００１４】
また、請求項４に記載の発明は、ネットワークを介して通信可能な複数の周辺装置により構成されるネットワークシステムであって、周辺装置に設けられ、ネットワークに接続された他の周辺装置と通信を行うことにより、この通信先の周辺装置に搭載されるファームウェアのバージョン情報、及び、このファームウェアの提供状況を、通信先の周辺装置から取得する取得手段と、周辺装置に設けられ、取得手段により取得されたバージョン情報及び提供状況に基づいて、ネットワーク接続された他の周辺装置の中から、ファームウェアのダウンロード先となる周辺装置を選出する選出手段と、周辺装置に設けられ、選出手段により選出された周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードするダウンロード手段とを備えたことを特徴とする。
【００１５】
これによれば、選出手段が、ファームウェアの提供状況に基づいて、ダウンロード先となる周辺装置を選出するので、請求項１で述べた効果と同様に、ファームウェアを提供するダウンロード先の周辺装置のパフォーマンスを保ちつつ、ファームウェアの更新を実行することができる。
【００１６】
また、請求項５に記載の発明において、取得手段は、提供状況として、少なくとも、ファームウェアの提供回数、又は、提供頻度を取得し、選出手段は、ネットワークに接続された他の周辺装置の中から、提供回数又は提供頻度が最も少ない周辺装置を選出することを特徴とする。
【００１７】
これによれば、周辺装置がファームウェアをダウンロードすると、そのファームウェアの提供回数及び提供頻度は最小値となるので、請求項２で述べた効果と同様に、特定の周辺装置のみにアクセスが集中することを効果的に防ぐことができる。
【００１８】
また、請求項６に記載の発明は、周辺装置に設けられ、他の周辺装置に対して、自身のファームウェアがダウンロードされることを許可するか否かを判定する判定手段と、周辺装置に設けられ、他の周辺装置と通信が行われた際に、前記判定手段により、この通信中の周辺装置に対して自身のファームウェアがダウンロードされることを許可しないと判定された場合に、この周辺装置に対して、自身の代わりにファームウェアの新たなダウンロード先となる周辺装置を指定した変更指令を送信する変更指令送信手段とを備え、ダウンロード手段は、選出手段により選出された周辺装置との通信中に、この通信中の周辺装置から変更指令を受信すると、この変更指令により指定される周辺装置と通信を行うことにより、この通信先の周辺装置からファームウェアをダウンロードすることを特徴とする。
【００１９】
これによれば、他の周辺装置からファームウェアがダウンロードされることを許可しないと判定した周辺装置は、他の周辺装置のダウンロード手段に対してダウンロード先の変更指令を送信することとなる。
【００２０】
このため、選出手段により選出された周辺装置からファームウェアがダウンロードすることができなかったとしても、その選出された周辺装置から変更指令を受信することにより、別のダウンロード先（提供先）からファームウェアをダウンロードすることができる。
【００２１】
また、請求項７に記載の発明において、判定手段は、自身のファームウェアが他の周辺装置にダウンロードされている間、このダウンロード中の周辺装置以外の周辺装置に対して、ファームウェアがダウンロードされることを許可しないと判定し、変更指令送信手段は、他の周辺装置のうち、現在自身のファームウェアをダウンロードしている周辺装置を、ファームウェアの新たなダウンロード先として指定することを特徴とする。
【００２２】
これによれば、周辺装置は、同時に２台以上の周辺装置に対して、自身のファームウェアがダウンロードされないようにしているので、特定の周辺装置のみにアクセスが集中することを防ぐことができる。
【００２３】
また、周辺装置は、自身のファームウェアをダウンロードしている周辺装置を、ファームウェアの新たなダウンロード先として指定するので、最新のファームウェアを持つ周辺装置を簡単に特定することができる。
【図面の簡単な説明】
【００２４】
【図１】実施形態のネットワークシステム全体の構成を表す概略構成図である。
【図２】プリンタの制御部が実行するファームウェア提供処理のフローチャートである。
【図３】プリンタの制御部が実行するファームウェア更新処理のフローチャートである。
【図４】プリンタの制御部が実行する選出処理のフローチャートである。
【図５】プリンタがファームウェアのダウンロード先を選出して、ファームウェアをダウンロードする動作を説明する説明図である。
【図６】プリンタがファームウェアのダウンロード先を選出して、ファームウェアをダウンロードする動作を説明する説明図である。
【発明を実施するための形態】
【００２５】
以下に本発明の実施形態を図面と共に説明する。
１．ネットワークシステムの全体構成
図１は、本発明が適用されたネットワークシステム全体の構成を表す概略構成図である。
【００２６】
ネットワークシステムは、図１に示すように、パーソナルコンピュータ１（以下、ＰＣ１という）、複数のプリンタ２Ａ〜２Ｅ、及び、サーバ３などにより構成される。
ＰＣ１とプリンタ２Ａ〜２Ｅとは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５を介して互いに通信可能となっている。また、ＬＡＮ５は、ルータ６を介してＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：例えば、インターネット）７に接続され、ＰＣ１及びプリンタ２Ａ〜２Ｅは、ＷＡＮ７を介してサーバ３とも通信可能となっている。
【００２７】
また、サーバ３には、プリンタ２Ａ〜２Ｅ用のファームウェアを配信する機能が備えられており、このサーバ３には、配信対象となるプリンタ２Ａ〜２Ｅのファームウェアがそのバージョン情報と関連付けて記憶されている。
【００２８】
プリンタ２Ａは、ＰＣ１から送信されてくる印刷指令に従い、出力用紙に印字を行うものであり、このプリンタ２Ａは、制御部２１、記憶部２２、操作部２３、表示部２４、ネットワークインターフェイス２５、及び、印刷部２６などを備えている。
【００２９】
記憶部２２は、不揮発性メモリによって構成されるものであり、この記憶部２２には、プリンタ２Ａが備えるハードウェアを制御するためのファームウェア、及び、そのファームウェアに関連する情報などが記憶されている。
【００３０】
ここで、ファームウェアに関連する情報とは、ファームウェアの種類、ファームウェアのバージョン情報、及び、ファームウェアの提供状況などの情報のことであり、以下の説明では、ファームウェアに関連する情報のことを総括して「ファーム情報」とも言う。
【００３１】
また、本実施形態において、ファームウェアの提供状況とは、プリンタ２Ａ自身が備えるファームウェアが、他のプリンタ２Ｂ〜２Ｅにダウンロードされたダウンロード回数（ファームウェアの提供回数）、及び、プリンタ２Ａ自身のファームウェアが単位時間当たりに他のプリンタ２Ｂ〜２Ｅにダウンロードされたダウンロード頻度（ファームウェアの提供頻度）等である。
【００３２】
制御部２１は、ＣＰＵ，ＲＡＭ，ＲＯＭ等からなるマイクロコンピュータにて構成されており、この制御部２１は、他のプリンタ２Ｂ〜２Ｅの何れかに対してファームウェアを提供するファームウェア提供処理、及び、サーバ３又は他のプリンタ２Ｂ〜２Ｅの何れかから最新のファームウェアをダウンロードして更新するファームウェア更新処理を実行する。
【００３３】
なお、図１においては、プリンタ２Ａについてのみ内部構成を図示してあるが、他のプリンタ２Ｂ〜２Ｅの内部構成も、プリンタ２Ａと同様になっている。また、このことは、後述する図２〜図４においても同様である。
【００３４】
２．ファームウェア提供処理
図２は、プリンタ２Ａの制御部２１が実行するファームウェア提供処理を表すフローチャートであり、この処理は、制御部２１に対して電力の供給が開始されたときに実行される。
【００３５】
そして、制御部２１が図２に示すファームウェア提供処理を開始すると、まず、他のプリンタ２Ｂ〜２Ｅがプリンタ２Ａに対してファーム情報を要求することを表すファーム情報要求指令を、他のプリンタ２Ｂ〜２Ｅの何れかから受信したか否かが判定される（Ｓ１１０）。
【００３６】
Ｓ１１０の処理は、ファーム情報要求指令を受信していないと判定されると（Ｓ１１０：ＮＯ）、処理がＳ１３０に移行される。一方Ｓ１１０にて、ファーム情報要求指令を受信したと判定されると（Ｓ１１０：ＹＥＳ）、ファーム情報要求指令を送信したプリンタ２Ｂ〜２Ｅの何れかに対して、ファーム情報が送信される（Ｓ１２０）。
【００３７】
続いて、Ｓ１３０では、他のプリンタ２Ｂ〜２Ｅがこのプリンタ２Ａに対してファームウェアのダウンロードを要求することを表すＤＬ要求指令を、他のプリンタ２Ｂ〜２Ｅの何れかから受信したか否かが判定される。
【００３８】
そして、Ｓ１３０にて、ＤＬ要求指令を受信していないと判定された場合には（Ｓ１３０：ＮＯ）、処理がＳ１１０に戻り、逆に、ＤＬ要求指令を受信したと判定された場合には（Ｓ１３０：ＹＥＳ）、処理がＳ１４０に移行される。
【００３９】
Ｓ１４０では、現在プリンタ２Ａ自身のファームウェアが、Ｓ１３０にてＤＬ要求指令を受けたプリンタ以外のプリンタに対して送信中である（すなわち、プリンタ２Ａのファームウェアがダウンロード中である）か否かが判定される（Ｓ１４０）。
【００４０】
そして、Ｓ１４０にて、現在プリンタ２Ａ自身のファームウェアが送信中でないと判定された場合には（Ｓ１４０：ＮＯ）、ＤＬ要求指令を送信したプリンタに対して、プリンタ２Ａ自身のファームウェアが送信される（Ｓ１５０）。
【００４１】
そして、Ｓ１５０にてファームウェアの送信が終了すると、プリンタ２Ａ自身のファーム情報が更新され（Ｓ１６０）、処理がＳ１１０に戻る。具体的に説明すると、Ｓ１６０では、記憶部２２に記憶されているプリンタ２Ａ自身のファーム情報のうち、ダウンロード回数（ＤＬ回数）の値に「１」が加算され、ダウンロード頻度（ＤＬ頻度）の値が再計算される。
【００４２】
また、Ｓ１４０にて、現在プリンタ２Ａ自身のファームウェアが送信中であると判定された場合には（Ｓ１４０：ＹＥＳ）、ＤＬ要求指令を送信したプリンタに対して、プリンタ２Ａ自身の代わりにファームウェアの新たなダウンロード先となるプリンタを指定した変更指令が送信され（Ｓ１７０）、処理がＳ１１０に戻る。
【００４３】
ここで、Ｓ１７０では、現在プリンタ２Ａ自身のファームウェアをダウンロードしているプリンタを、ファームウェアの新たなダウンロード先として指定するようにされている。
【００４４】
例えば、現在プリンタ２Ａがプリンタ２Ｂに対してファームウェアを送信している最中に、プリンタ２Ｃから送信されたＤＬ要求指令がプリンタ２Ａにて受信された場合、プリンタ２Ａは、プリンタ２Ｃに対して、プリンタ２Ａ自身のファームウェアを送信するのではなく、プリンタ２Ｂをダウンロード先として指定した変更指令を送信する。
【００４５】
３．ファームウェア更新処理
図３は、プリンタ２Ａの制御部２１が実行するファームウェア更新処理を表すフローチャートであり、この処理は、定期的に（本実施形態では１ヶ月に１回）実行される。
【００４６】
制御部２１が図３に示すファームウェア更新処理を開始すると、まず、ＬＡＮ５に接続されている全てのプリンタ２Ｂ〜２Ｅに対してファーム情報要求指令が送信される（Ｓ２１０）。
【００４７】
すると、ファーム情報要求指令を受信したプリンタ２Ｂ〜２Ｅは、プリンタ２Ｂ〜２Ｅ自身のファーム情報を、プリンタ２Ａに対して送信することとなり、このファーム情報がプリンタ２Ａにて受信される。
【００４８】
そして、ファーム情報を他のプリンタ２Ｂ〜２Ｅから受信したプリンタ２Ａでは、この受信したファーム情報に基づいて、ファームウェアのダウンロード先を選出するための選出処理が実行される（Ｓ２２０）。
【００４９】
そして、Ｓ２２０にて選出処理が終了すると、この選出処理の結果に基づいて、サーバ３がファームウェアのダウンロード先として選出されたか否かが判定される（Ｓ２３０）。
【００５０】
そして、Ｓ２３０にて、サーバ３がファームウェアのダウンロード先として選出されていないと判定された場合には（Ｓ２３０：ＮＯ）、他のプリンタ２Ｂ〜２Ｅのうち、ダウンロード先として選出されたプリンタに対して、ＤＬ要求指令が送信される（Ｓ２４０）。続いて、Ｓ２５０では、ダウンロード先として選出されたプリンタから変更指令を受信したか否かが判定される（Ｓ２５０）。
【００５１】
Ｓ２５０にて、変更指令を受信していないと判定された場合には（Ｓ２５０：ＮＯ）、ダウンロード先として選出されたプリンタから送信されてくるファームウェアが受信され、プリンタ２Ａ自身のファームウェアが最新のファームウェアに更新される（Ｓ２６０）。
【００５２】
そして、Ｓ２６０にてファームウェアの更新が行われると、プリンタ２Ａ自身のファーム情報が更新され、ファームウェア更新処理が終了する。具体的に説明すると、Ｓ２７０では、ファーム情報のうち、ＤＬ回数及びＤＬ頻度の値が「０」にリセットされ、バージョン情報が今回更新された最新のファームウェアのバージョンに変更される。
【００５３】
一方、Ｓ２５０にて、変更指令を受信したと判定された場合には（Ｓ２５０：ＹＥＳ）、この変更指令により指定されるプリンタが、ファームウェアのダウンロード先として変更され（Ｓ２８０）、処理がＳ２４０に移行される。そして、Ｓ２４０では、Ｓ２８０にて変更されたプリンタに対して、ＤＬ要求指令が送信される。
【００５４】
また、Ｓ２３０にて、サーバ３がファームウェアのダウンロード先として選出されたと判定された場合には（Ｓ２３０：ＹＥＳ）、サーバ３に対して、ファーム情報要求指令が送信され（Ｓ２９０）、続くＳ３００では、サーバ３から送信（返信）されてくるファーム情報に基づいて、プリンタ２Ａ自身のファームウェアよりも新しいファームウェアがサーバ３にあるか否かが判定される（Ｓ３００）。
【００５５】
Ｓ３００にて、プリンタ２Ａ自身のファームウェアよりも新しいファームウェアがサーバ３にないと判定された場合には（Ｓ３００：ＮＯ）、ファームウェア更新処理が終了する。
【００５６】
一方、Ｓ３００にて、プリンタ２Ａ自身のファームウェアよりも新しいファームウェアがサーバ３にあると判定された場合には（Ｓ３００：ＹＥＳ）、処理がＳ２４０に移行される。そして、Ｓ２４０では、サーバ３に対してＤＬ要求指令が送信される（Ｓ２４０）。
【００５７】
次に、ファームウェア更新処理のＳ２２０で実行される選出処理について、図４を用いて詳しく説明する。なお、図４は、選出処理を表すフローチャートである。
図４に示すように、上述したＳ２１０の処理（図３参照）が終了して図４に示す選出処理が開始されると、まず、プリンタ２Ａがファーム情報要求指令を送信してから所定時間が経過したか否かが判定される（Ｓ３１０）。
【００５８】
そして、Ｓ３１０にて、ファーム情報要求指令の送信から所定時間が経過していないと判定された場合には（Ｓ３１０：ＮＯ）、プリンタ２Ａがプリンタ２Ｂ〜２Ｅのうち何れかから送信されてくるファーム情報を受信した（すなわち、ファーム情報要求指令に対する応答がきた）か否かが判定される（Ｓ３２０）。
【００５９】
そして、Ｓ３２０にて、プリンタ２Ａがファーム情報を受信していないと判定された場合には（Ｓ３２０：ＮＯ）、処理がＳ３１０に戻り、逆に、プリンタ２Ａがファーム情報を受信したと判定された場合には（Ｓ３２０：ＹＥＳ）、処理がＳ３３０に移行される。
【００６０】
Ｓ３３０では、Ｓ３２０にて受信されたファーム情報に基づいて、このファーム情報を送信したプリンタのファームウェアの種類が、プリンタ２Ａ自身のファームウェアの種類と同じであるか否かが判定される。
【００６１】
そして、Ｓ３３０にて、ファーム情報を送信したプリンタのファームウェアの種類がプリンタ２Ａ自身のファームウェアの種類と同じではないと判定された場合には（Ｓ３３０：ＮＯ）、処理がＳ３１０に戻る。
【００６２】
一方、ファーム情報を送信したプリンタのファームウェアの種類がプリンタ２Ａ自身のファームウェアの種類と同じであると判定された場合には（Ｓ３３０：ＹＥＳ）、処理がＳ３４０に移行される。
【００６３】
Ｓ３４０では、Ｓ３２０にて受信されたファーム情報のバージョン情報に基づいて、このファーム情報を送信したプリンタのファームウェアのバージョンが、プリンタ２Ａ自身のファームウェアのバージョンよりも新しいか否かが判定される。
【００６４】
そして、Ｓ３４０にて、ファーム情報を送信したプリンタのファームウェアのバージョンが、プリンタ２Ａ自身のファームウェアのバージョンよりも新しくないと判定された場合には（Ｓ３４０：ＮＯ）、処理がＳ３１０に戻る。
【００６５】
一方、ファーム情報を送信したプリンタのファームウェアのバージョンが、プリンタ２Ａ自身のファームウェアのバージョンよりも新しいと判定された場合には（Ｓ３４０：ＹＥＳ）、処理がＳ３５０に移行される。
【００６６】
Ｓ３５０では、他のプリンタ２Ｂ〜２Ｅのプリンタ名とファーム情報とが関連付けられたプリンタ情報が、記憶部２２に記憶されているか否かが判定される。なお、記憶部２２には、プリンタ２Ａのファームウェアのダウンロード先の候補となるプリンタがある場合、そのプリンタのプリンタ情報が記憶されている。
【００６７】
そして、Ｓ３５０にて、プリンタ情報がないと判定された場合には（Ｓ３５０：ＮＯ）、処理がＳ４１０に移行される。Ｓ４１０では、今回Ｓ３２０にて受信されたファーム情報を送信したプリンタのプリンタ名とそのファーム情報とが関連付けられたプリンタ情報が、記憶部２２に記憶され、処理がＳ３１０に戻る。
【００６８】
一方、Ｓ３５０にて、プリンタ情報があると判定された場合には（Ｓ３５０：ＹＥＳ）、記憶部２２に記憶されているプリンタ情報と、今回Ｓ３２０にて受信されたファーム情報（詳しくは、バージョン情報）とに基づいて、今回受信されたファーム情報のバージョン情報にて表されるファームウェアのバージョンが、記憶部２２内のプリンタ情報のバージョン情報にて表されるファームウェアのバージョンよりも新しいか否かが判定される（Ｓ３６０）。
【００６９】
そして、Ｓ３６０にて、Ｓ３２０にて受信されたファーム情報のバージョン情報にて表されるファームウェアのバージョンが、記憶部２２内のプリンタ情報のバージョン情報にて表されるファームウェアのバージョンよりも新しいと判定された場合には（Ｓ３６０：ＹＥＳ）、続くＳ４００にて記憶部２２内のプリンタ情報が消去され、処理がＳ４１０に移行される。
【００７０】
一方、Ｓ３６０にて、Ｓ３２０にて受信されたファーム情報のバージョン情報にて表されるファームウェアのバージョンが、記憶部２２内のプリンタ情報のバージョン情報にて表されるファームウェアのバージョンよりも新しくないと判定された場合には（Ｓ３６０：ＮＯ）、処理がＳ３７０に移行される。
【００７１】
Ｓ３７０では、Ｓ３２０にて受信されたファーム情報のバージョン情報にて表されるファームウェアのバージョンが、記憶部２２内のプリンタ情報のバージョン情報にて表されるファームウェアのバージョンと同じであるか否かが判定される。
【００７２】
そして、Ｓ３７０にて、Ｓ３２０にて受信されたファーム情報のバージョン情報にて表されるファームウェアのバージョンが、記憶部２２内のプリンタ情報のバージョン情報にて表されるファームウェアのバージョンと同じではないと判定された場合には（Ｓ３７０：ＮＯ）、処理がＳ３１０に戻る。
【００７３】
一方、Ｓ３７０にて、Ｓ３２０にて受信されたファーム情報のバージョン情報にて表されるファームウェアのバージョンが、記憶部２２内のプリンタ情報のバージョン情報にて表されるファームウェアのバージョンと同じであると判定された場合には（Ｓ３７０：ＹＥＳ）、処理がＳ３８０に移行される。
【００７４】
Ｓ３８０では、Ｓ３２０にて受信されたファーム情報のＤＬ回数が、記憶部２２内のプリンタ情報のＤＬ回数よりも少ないか否かが判定される。そして、Ｓ３２０にて受信されたファーム情報のＤＬ回数が、記憶部２２内のプリンタ情報のＤＬ回数よりも少ないと判定された場合には（Ｓ３８０：ＹＥＳ）、処理がＳ４００に移行される。
【００７５】
一方、Ｓ３２０にて受信されたファーム情報のＤＬ回数が、記憶部２２内のプリンタ情報のＤＬ回数よりも少なくないと判定された場合には（Ｓ３８０：ＮＯ）、処理がＳ３８５に移行される。
【００７６】
Ｓ３８５では、Ｓ３２０にて受信されたファーム情報のＤＬ回数が、記憶部２２内のプリンタ情報のＤＬ回数と同じか否かが判定される。
そして、Ｓ３８５にて、Ｓ３２０にて受信されたファーム情報のＤＬ回数が、記憶部２２内のプリンタ情報のＤＬ回数と同じではないと判定された場合には（Ｓ３８５：ＮＯ）、処理がＳ３１０に戻る。
【００７７】
一方、Ｓ３８５にて、Ｓ３２０にて受信されたファーム情報のＤＬ回数が、記憶部２２内のプリンタ情報のＤＬ回数と同じであると判定された場合には（Ｓ３８５：ＹＥＳ）、処理がＳ３９０に移行される。
【００７８】
Ｓ３９０では、Ｓ３２０にて受信されたファーム情報のＤＬ頻度が、記憶部２２内のプリンタ情報のＤＬ頻度よりも少ないか否かが判定される。そして、Ｓ３２０にて受信されたファーム情報のＤＬ頻度が、記憶部２２内のプリンタ情報のＤＬ頻度よりも少ないと判定された場合には（Ｓ３９０：ＹＥＳ）、処理がＳ４００に移行される。
【００７９】
一方、Ｓ３２０にて受信されたファーム情報のＤＬ頻度が、記憶部２２内のプリンタ情報のＤＬ頻度よりも少なくないと判定された場合には（Ｓ３９０：ＮＯ）、処理がＳ３１０に移行される。
【００８０】
また、Ｓ３１０にて、ファーム情報要求指令の送信から所定時間が経過したと判定された場合には（Ｓ３１０：ＹＥＳ）、処理がＳ４２０に移行され、Ｓ４２０では、記憶部２２内にプリンタ情報があるか否かが判定される。
【００８１】
そして、Ｓ４２０にて、記憶部２２内にプリンタ情報がないと判定された場合には（Ｓ４２０：ＮＯ）、サーバ３がファームウェアのダウンロード先として選出され（Ｓ４３０）、選出処理が終了する。
【００８２】
一方、Ｓ４２０にて、記憶部２２内にプリンタ情報があると判定された場合には（Ｓ４２０：ＹＥＳ）、記憶部２２内にあるプリンタ情報により特定されるプリンタがファームウェアのダウンロード先として選出される（Ｓ４４０）。そして、続くＳ４５０では、記憶部２２内のプリンタ情報が消去され、選出処理が終了する。
【００８３】
以上のように、選出処理では、バージョン情報及び提供状況等のファーム情報に基づいて、ＬＡＮ５に接続された他のプリンタ２Ｂ〜２Ｅ、及び、サーバ３の中から、ファームウェアのダウンロード先（プリンタ２Ｂ〜２Ｅ又はサーバ３）が選出される。
【００８４】
４．プリンタの特徴的作動
以下、プリンタ２Ａ〜２Ｅが、ファームウェアのダウンロード先を選出して、ファームウェアをダウンロードする動作について、図５及び図６を用いて説明する。
【００８５】
図５（ａ）に示すように、まず、プリンタ２Ａにてファームウェア更新処理が実行された場合、プリンタ２Ａ以外のプリンタ２Ｂ〜２Ｅ（他のプリンタ２Ｂ〜２Ｅ）の中で、プリンタ２Ａ自身のファームウェアよりも新しいファームウェアを持っているプリンタが存在しないので、プリンタ２Ａは、サーバ３をファームウェアのダウンロード先として選出し、サーバ３からファームウェアをダウンロードする。
【００８６】
そして、プリンタ２Ａは、サーバ３からファームウェアをダウンロードして、プリンタ２Ａ自身のファームウェアを更新すると、プリンタ２Ａ自身のファームウェアのバージョン情報が最新のものに変更され、プリンタ２Ａ自身のファーム情報のＤＬ回数が「０」にリセットされる。
【００８７】
プリンタ２Ａによるファームウェア更新処理の実行後、図５（ｂ）に示すように、プリンタ２Ｃにてファームウェア更新処理が実行された場合、プリンタ２Ｃは、プリンタ２Ａをファームウェアのダウンロード先として選出し、プリンタ２Ａからファームウェアをダウンロードする。
【００８８】
つまり、プリンタ２Ｃ以外のプリンタ２Ａ，２Ｂ，２Ｄ，２Ｅの中で、プリンタ２Ａだけがプリンタ２Ｃ自身のファームウェアよりも新しいファームウェアを持っているので、プリンタ２Ｃは、プリンタ２Ａをファームウェアのダウンロード先として選出し、プリンタ２Ａからファームウェアをダウンロードする。
【００８９】
そして、プリンタ２Ｃは、プリンタ２Ａからファームウェアをダウンロードして、プリンタ２Ｃ自身のファームウェアを更新すると、プリンタ２Ｃ自身のファームウェアのバージョン情報が最新のものに変更され、プリンタ２Ｃ自身のファーム情報のＤＬ回数が「０」にリセットされる。
【００９０】
また、このとき、プリンタ２Ａでは、プリンタ２Ａ自身のファームウェアが他のプリンタ２Ｃにダウンロードされたので、ＤＬ回数が「０」から「１」に変更される。
次に、プリンタ２Ｃによるファームウェア更新処理の実行後、図６（ａ）に示すように、プリンタ２Ｂにてファームウェア更新処理が実行された場合、プリンタ２Ｂは、プリンタ２Ｃをファームウェアのダウンロード先として選出し、プリンタ２Ｃからファームウェアをダウンロードする。
【００９１】
つまり、プリンタ２Ｂ以外のプリンタ２Ａ，２Ｃ，２Ｄ，２Ｅの中で、プリンタ２Ａ及びプリンタ２Ｃがプリンタ２Ｂ自身のファームウェアよりも新しいファームウェアを持っており、かつ、プリンタ２Ｃの方がプリンタ２ＡよりもＤＬ回数が少ないので、プリンタ２Ｂは、プリンタ２Ｃをファームウェアのダウンロード先として選出し、プリンタ２Ｃからファームウェアをダウンロードする。
【００９２】
そして、プリンタ２Ｂは、プリンタ２Ｃからファームウェアをダウンロードして、プリンタ２Ｂ自身のファームウェアを更新すると、プリンタ２Ｂ自身のファームウェアのバージョン情報が最新のものに変更され、プリンタ２Ｂ自身のファーム情報のＤＬ回数が「０」にリセットされる。
【００９３】
また、このとき、プリンタ２Ｃでは、プリンタ２Ｃ自身のファームウェアが他のプリンタ２Ｂにダウンロードされたので、ＤＬ回数が「０」から「１」に変更される。
次いで、プリンタ２Ｂによるファームウェア更新処理の実行後、図６（ｂ）に示すように、プリンタ２Ａにてファームウェア更新処理が再度実行された場合、プリンタ２Ａは、サーバ３をファームウェアのダウンロード先として選出し、サーバ３からファームウェアをダウンロードする。
【００９４】
つまり、プリンタ２Ａ以外のプリンタ２Ｂ〜２Ｅの中で、プリンタ２Ａ自身のファームウェアよりも新しいファームウェアを持っているプリンタが存在しないので、プリンタ２Ａは、サーバ３をファームウェアのダウンロード先として選出し、サーバ３からファームウェアをダウンロードする。
【００９５】
そして、プリンタ２Ａは、サーバ３からファームウェアをダウンロードして、プリンタ２Ａ自身のファームウェアを更新すると、プリンタ２Ａ自身のファームウェアのバージョン情報が最新のものに変更され、プリンタ２Ａ自身のファーム情報のＤＬ回数が「０」にリセットされる。
【００９６】
５．本実施形態に係るネットワークシステムの特徴
以上説明したように、本実施形態によれば、プリンタ２Ａは、他のプリンタ２Ｂ〜２Ｅが備えるファームウェアの提供状況に基づいて、ダウンロード先となるプリンタ２Ｂ〜２Ｅを選出するので（Ｓ３３０〜Ｓ４５０）、特定のプリンタ２Ａ〜２Ｅだけが常にダウンロード先となってしまうことを防止することができる。
【００９７】
このため、特定のプリンタ２Ａ〜２Ｅに対して、それ以外のプリンタ２Ａ〜２Ｅからダウンロードの要求が集中してしまうことを防止することができるので、ダウンロード先となるプリンタ２Ａ〜２Ｅのパフォーマンスが著しく低下してしまうということを防止できる。
【００９８】
したがって、ファームウェアを提供するダウンロード先のプリンタ２Ａ〜２Ｅのパフォーマンスを保ちつつ、ファームウェアの更新を実行することができる。
また、本実施形態では、プリンタ２Ａが他のプリンタ２Ｂ〜２Ｅからファームウェアをダウンロードすると（Ｓ２６０）、そのファームウェアをダウンロードした他のプリンタ２Ｂ〜２Ｅが存在しないので、当然の如く、そのファームウェアのＤＬ回数及びＤＬ頻度は最小値となる。
【００９９】
このように、ファームウェアをダウンロードしたプリンタ２Ａ〜２Ｅが、次回ファームウェアを提供すること（ダウンロード先）となるので、特定のプリンタ２Ａ〜２Ｅのみにアクセスが集中することを効果的に防ぐことができる。
【０１００】
また、本実施形態によれば、プリンタ２Ａは、Ｓ２２０の処理（図３参照）により選出されたプリンタ２Ｂ〜２Ｅからファームウェアがダウンロードすることができなかったとしても、その選出されたプリンタ２Ｂ〜２Ｅから変更指令を受信することにより（Ｓ２５０：ＹＥＳ）、別のダウンロード先からファームウェアをダウンロードすることができる。
【０１０１】
また、本実施形態によれば、プリンタ２Ａは、他のプリンタ２Ｂ〜２Ｅからファームウェアがダウンロードされることを許可しないと判定すると（Ｓ１４０：ＹＥＳ）、他のプリンタ２Ｂ〜２Ｅに対してダウンロード先の変更指令を送信する（Ｓ１７０）。
【０１０２】
このため、例えばプリンタ２Ｂは、Ｓ２２０の処理により選出されたプリンタ２Ａからファームウェアがダウンロードすることができなかったとしても、その選出されたプリンタ２Ａから変更指令を受信することにより、別のダウンロード先（提供先）からファームウェアをダウンロードすることができる。
【０１０３】
また、本実施形態によれば、プリンタ２Ａは、同時に２台以上のプリンタ２Ｂ〜２Ｅに対して、自身のファームウェアがダウンロードされないようにしているので、特定のプリンタ２Ａ〜２Ｅのみにアクセスが集中することを防ぐことができる。
【０１０４】
また、プリンタ２Ａは、自身のファームウェアをダウンロードしているプリンタ２Ｂ〜２Ｅを、ファームウェアの新たなダウンロード先として指定するので、最新のファームウェアを持つプリンタ２Ｂ〜２Ｅを簡単に特定することができる。
【０１０５】
６．発明特定事項と実施形態との対応関係
本実施形態では、プリンタ２Ａ〜２Ｅが特許請求の範囲に記載された周辺装置に相当し、Ｓ２１０及びＳ３２０の処理が特許請求の範囲に記載された取得手段に相当し、Ｓ３３０〜Ｓ４５０の処理が特許請求の範囲に記載された選出手段に相当する。
【０１０６】
また、Ｓ２４０〜Ｓ２８０の処理が特許請求の範囲に記載されたダウンロード手段に相当し、Ｓ１４０の処理が特許請求の範囲に記載された判定手段に相当し、Ｓ１７０の処理が特許請求の範囲に記載された変更指令送信手段に相当する。
【０１０７】
（その他の実施形態）
本発明は、特許請求の範囲に記載された発明の趣旨に合致するものであればよく、上述の実施形態に限定されるものではない。
【０１０８】
上記実施形態において、プリンタ２Ａは、例えばプリンタ２Ａ自身のファームウェアを他のプリンタ２Ｂに送信している間は、そのプリンタ２Ｂ以外のプリンタ２Ｃ〜２Ｅに対してファームウェアを送信しないようにしていたが、本発明はこれに限定されるものではない。
【０１０９】
例えば、プリンタ２Ａ〜２Ｅのうち１台のプリンタ２Ａだけが、他のプリンタ２Ｂ〜２Ｅに対してプリンタ２Ａ自身のファームウェアを送信することを禁止するように予め設定されていてもよい。
【０１１０】
また、上記実施形態において、ファーム情報としてＤＬ回数及びＤＬ頻度を取得し、これらの情報に基づいてファームウェアのダウンロード先を選出していたが、いずれか一方のみを取得し、取得した情報に基づいてダウンロード先を選出してもかまわない。
【０１１１】
また、上記実施形態では、周辺装置として、プリンタ２Ａ〜２Ｅを例に挙げて説明していたが、本発明はこれに限定されるものではなく、周辺装置は、ネットワークを介して他の機器と通信可能な機器であれば何でもよい。例えば、周辺装置は、ネットワーク接続可能なハードディスクドライブや複合機やＦＡＸ機等でもよい。
【符号の説明】
【０１１２】
１…パーソナルコンピュータ、２Ａ〜２Ｅ…プリンタ、３…サーバ、５…ＬＡＮ、６…ルータ、７…ＷＡＮ、２１…制御部、２２…記憶部、２３…操作部、２４…表示部、２５…ネットワークインターフェイス、２６…印刷部。
【図１】
2010231386.tif 000003
【図２】
2010231386.tif 000004
【図３】
2010231386.tif 000005
【図４】
2010231386.tif 000006
【図５】
2010231386.tif 000007
【図６】
2010231386.tif 000008