以下、本発明の実施形態を図面に基づいて説明する。
<1.構成概要>
図1は、画像形成システム1を示す図である。図1に示すように、この画像形成システム1は、複数の画像形成装置10を備える。また、画像形成システム1は、サーバコンピュータ(単にサーバとも称する)50をも備える。
本システム1における各要素10,50は、それぞれ、ネットワークNWを介して互いに通信可能に接続される。ネットワークNWは、LAN(Local Area Network)およびインターネットなどによって構成される。より詳細には、複数の画像形成装置10は、或るLAN(たとえば社内ネットワーク)に接続され、サーバ50は当該LANの外部のネットワークに接続される。そして、画像形成装置10とサーバ(外部サーバとも称する)50とはいわゆるインターネットを介して接続される。画像形成装置10とサーバ50との間には、ゲートウエイサーバ(ゲートウエイとも称する)GW等が設けられる。なお、ネットワークNWに対する接続態様は、有線接続であってもよく、或いは無線接続であってもよい。
システム1においては、各画像形成装置10のファームウエアのアップデートデータ(更新用データ)がサーバコンピュータ50から各画像形成装置10へと配信される。そのため、システム1は、アップデートデータ配信システムであるとも称され、サーバ50は、アップデートデータ配信装置であるとも称される。
このシステム1においては、図1に示すように、多数の画像形成装置10が階層構造で多層(複数層)に論理接続される。
ここで、階層構造で多層に論理接続される多数の画像形成装置のうち、所定の装置の1つ下位階層(直下の階層)の装置であって当該所定の装置に対して直接的に論理接続されている装置を、当該所定の装置に関する「子装置」(ないし送信先装置)と称するものとする。また、階層構造で多層に論理接続される複数の画像形成装置のうち、所定の装置の1つ上位階層(直上の階層)の装置であって当該所定の装置に対して直接的に論理接続されている装置を、当該所定の装置に関する「親装置」(ないし送信元装置)と称するものとする。なお、以下では、第i階層LViの画像形成装置10を装置ARiなどとも表記する。
また、本システム1においては、複数の機種の画像形成装置10が混在している。ここでは、本システム1は、3種類の画像形成装置10(機種Sa,Sb,Scの画像形成装置10)で構成されているものとする。図1等においては、3つの機種Sa,Sb,Scに対して互いに異なるハッチングが付されることによって、当該3つの機種Sa,Sb,Scが互いに区別されている。具体的には、斜めハッチングが付された装置(たとえば、最上位階層LV1の装置AR1(AR10)等)は、機種Saの装置である。また、縦線ハッチングが付された装置(たとえば、第2階層LV2における左側の装置AR2(AR21)等)は、機種Sbの装置であり、砂地ハッチングが付された装置(たとえば、第3階層LV3における最も左側の装置AR3(AR31)等)は、機種Scの装置である。
システム1における各画像形成装置10は、自装置の「親装置」と「子装置」との双方を知得している。具体的には、各画像形成装置10は、それぞれの格納部5(図2)(後述)内に階層構造情報HMを記憶している。階層構造情報HMには、当該画像形成装置10の「親装置」の識別番号およびネットワークアドレス等、ならびに当該画像形成装置10の「子装置」の識別番号およびネットワークアドレス等が記憶されている。階層構造情報HMは、管理者による操作等に応じて生成され、画像形成装置10(格納部5)内に予め格納される。
また、各画像形成装置10は、それぞれの階層構造情報HMにおいて、自装置よりも下位の全階層における階層構造を格納している。
さらに、各画像形成装置10は、それぞれの階層構造情報HMにおいて、自装置よりも下位の全階層における装置の種類(機種)を格納している。たとえば、最上位階層LV1の装置AR1は、装置AR1の階層構造情報HMにおいて、全ての下位階層装置(具体的には、子装置AR2のみならず更に下位階層の装置AR3,AR4,AR5をも含む装置)の機種情報を格納している。同様に、第2階層LV2の装置AR2は、装置AR2の階層構造情報HMにおいて、全ての下位階層装置(具体的には、子装置AR3のみならず更に下位階層の装置AR4,AR5をも含む装置)(特に直系の下位階層装置)の機種情報をその階層構造情報HMに格納している。ただし、本発明はこれに限定されず、たとえば、最上位階層LV1の装置AR1のみが、その階層構造情報HMにおいて、全ての下位階層装置の機種情報を格納するようにしてもよい。換言すれば、第2階層LV2以下の下位階層装置は、それぞれの階層構造情報HMにおいて、全ての下位階層装置の機種情報を格納しないようにしてもよい。
本システム1においては、まず、サーバ50から、ゲートウエイGWを介して、第1階層(最上位階層)LV1の画像形成装置10(装置AR1(AR10))へと、各画像形成装置10のファームウエアのアップデートデータが送信される。
その後、多層の論理接続を用いて、各画像形成装置10のファームウエアのアップデートデータが、比較的上位階層の画像形成装置10から比較的下位階層の画像形成装置10へと送信される。詳細には、親装置から子装置へとアップデートデータが送信され、さらに当該子装置から当該子装置の子装置(孫装置とも称する)へとアップデートデータが送信される。
たとえば、第1階層LV1の画像形成装置10(装置AR1)が、その「子装置」である第2階層LV2の画像形成装置10(装置AR2(詳細にはAR21,AR22))へとアップデートデータを送信する。また、第2階層LV2の画像形成装置10(装置AR2(AR21,AR22))が、それぞれの「子装置」である第3階層LV3の画像形成装置10(装置AR3)へとアップデートデータを送信する。より詳細には、第2階層LV2の装置AR21が、その「子装置」である第3階層LV3の画像形成装置10(装置AR3(AR31,AR32))へとアップデートデータを送信する。同様に、第2階層LV2の装置AR22が、その「子装置」である第3階層LV3の画像形成装置10(装置AR3(AR33,AR34))へとアップデートデータを送信する。以後、さらに下位の階層装置に関しても同様の動作が行われる。このように複数の階層(複数の世代)にわたってアップデートデータが順次に転送される。
以上のように本システム1では、LAN内において、比較的上位階層の画像形成装置10(詳細には、「親装置」)から比較的下位階層の画像形成装置10(詳細には、「子装置」)へと順次にアップデートデータが送信される。これによれば、サーバ50からのデータ転送は最初の1回のみで済む。そのため、各画像形成装置10が個別にサーバ50から直接的にアップデートデータを受信する場合に比べて、サーバ50(アップデートデータ配信装置)への負荷集中を緩和することが可能である。
また、複数の機種Sa,Sb,Scに関する複数の種類のアップデートデータDa,Db,Dcは、同時に送信されるのではなく、逐次的(換言すれば、段階的)に送信される。具体的な送信動作については後に詳述する。
<2.画像形成装置10の構成>
この実施形態では、画像形成装置10として、MFP(マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral))を例示する。
図2は、MFP10の概略構成を示す機能ブロック図である。なお、ここでは最上位階層(第1階層)LV1のMFP10(図1参照)の機能ブロックを中心に説明する。第2階層以下の各階層のMFP10も同様の構成を有する。
MFP10は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置(複合機とも称する)である。具体的には、MFP10は、図2の機能ブロック図に示すように、画像読取部2、印刷出力部3、通信部4、格納部5、入出力部6およびコントローラ9等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
画像読取部2は、MFP10の所定の位置に載置された原稿を光学的に読み取って(すなわちスキャンして)、当該原稿の画像データ(原稿画像なしいスキャン画像とも称する)を生成する処理部である。この画像読取部2は、スキャン部であるとも称される。
印刷出力部3は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、ネットワークNWを介したネットワーク通信を行うことも可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、MFP10は、所望の相手先との間で各種のデータを授受することが可能である。
格納部5は、ハードディスクドライブ(HDD)等の記憶装置で構成される。格納部5には、各種のデータが格納される。たとえば、格納部5には、各種の設定情報(階層構造情報HMを含む)および各種ジョブに係る画像データ等が格納される。また、MFP10のファームウエア(プログラム)PG1に関するアップデートデータUD(Da,Db,Dc)等も格納部5に(一時的に)格納される。
入出力部6は、MFP10に対する入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。このMFP10においては、液晶表示パネルに圧電センサ等が埋め込まれて構成されたタッチパネル(タッチスクリーンとも称する)を有する操作パネル部6c(不図示)が設けられている。この操作パネル部6cは、操作入力部6aの一部としても機能するとともに、表示部6bの一部としても機能する。
コントローラ9は、MFP10に内蔵され、MFP10を統括的に制御する制御装置である。コントローラ9は、CPUおよび各種の半導体メモリ(RAMおよびROM)等を備えるコンピュータシステムとして構成される。コントローラ9は、CPUにおいて、ROM(例えば、EEPROM)内に格納されている所定のソフトウエアプログラム(ファームウエア、あるいは単にプログラムとも称する)PG1を実行することによって、各種の処理部を実現する。なお、当該プログラムPG1は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体を介してMFP10にインストールされるようにしてもよい。あるいは当該プログラムPG1は、ネットワークNW等を介してダウンロードされてMFP10にインストールされるようにしてもよい。
図2に示すように、コントローラ9は、プログラムPG1を実行することによって、状態取得部11と状態通知部12と判定部13と決定部14と配信制御部15とを含む各種の処理部を実現する。
状態通知部12は、自装置10の親装置10に対して自装置10の負荷状態(処理状況)を通知する処理部であり、状態取得部11は、自装置の子装置10の負荷状態を当該子装置10から取得する処理部である。親装置10の状態取得部11と子装置10の状態通知部12とが協働することによって、子装置10の負荷状態が親装置10によって取得される。また、このような動作を複数の世代に亘ってリレー方式で繰り返すことによって、比較的上位階層の装置10は、当該装置よりも下位の全階層における複数の装置10の各負荷状態を取得する。たとえば、最上位階層LV1の装置AR1(詳細には、その状態取得部11)は、子装置AR2(AR21,AR22)のみならず更に下位階層の複数の装置(AR3,AR4,AR5)の各負荷状態をも取得する。
判定部13は、複数の下位階層装置の負荷状態に基づいて、複数の下位階層装置のそれぞれにおけるアップデートデータ受信処理(ダウンロード処理)の実行の可否を判定する処理部である。
決定部14は、複数の機種Sa,Sb,Scに係る複数の下位階層装置のそれぞれにおけるアップデートデータ受信処理の実行の可否の判定結果に基づいて、複数の機種Sa,Sb,ScのファームウエアFWa,FWb,FWcに関する複数の種類のアップデートデータDa,Db,Dcの配信順序を決定する。たとえば、最上位階層LV1の装置AR1の決定部14は、全配信対象装置群(複数の下位階層LV2〜LV5を含む全ての配信対象装置で構成される装置群)から特定の装置群GP1(配信動作を行うことができない装置で構成される装置群)(後述)を除外して、全配信対象装置群の中から配信可能装置を特定する。そして、当該決定部14は、配信可能台数(配信可能装置の台数)を複数の機種ごとに求める。さらに、当該決定部14は、その配信可能台数(機種ごとの配信可能台数)の多い機種順に各機種用のアップデートデータが配信されるように、複数の種類のアップデートデータDa,Db,Dcの配信順序(受信順序(ダウンロード順序)および/または送信順序)を決定する。
配信制御部15は、アップデートデータの配信動作を制御する処理部である。配信制御部15は、決定部14によって決定された配信順序に従って、アップデートデータの配信動作を制御する。
配信制御部15は、子装置等に向けてアップデートデータを送信する動作を制御するとともに、その親装置からアップデートデータを受信する動作をも制御する。
具体的には、第1階層の装置AR1(親装置)の配信制御部15は、さらにその親装置(第0階層の装置(サーバ50))からアップデートデータを受信する。そして、親装置(第1階層の装置)AR1の配信制御部15は、さらにその親装置(第0階層の装置(サーバ50))から取得したアップデートデータを子装置(第2階層の装置)AR2に配信する。
第2階層の装置(新たな親装置)AR2の配信制御部15は、その親装置(第1階層の装置)AR1からアップデートデータを受信する。そして、当該新たな親装置(第2階層の装置)AR2の配信制御部15は、その親装置(第1階層の装置)AR1から取得したアップデートデータを、当該装置AR2の子装置(第3階層の装置)AR3に配信する。
さらに下位の階層の各装置においても同様の動作が実行される。
なお、この実施形態においては、最上位階層の装置AR1の決定部14によって複数の機種Sa,Sb,Scのファームウエアに関する複数の種類のアップデートデータDa,Db,Dcの配信順序が決定される。そして、最上位階層LV1の装置AR1(詳細にはその配信制御部15)のみならず第2階層以下の装置AR2,AR3,AR4,AR5(詳細には、それぞれの配信制御部15)も、最上位階層の装置AR1の決定部14によって決定された配信順序に従って、複数の種類のアップデートデータDa,Db,Dcを配信する。
<3.動作>
<3−1.概要>
つぎに、本システム1における動作を図3および図4等を参照しながら更に詳細に説明する。図3は、装置AR1における動作を示すフローチャートであり、図4は、その一部の動作を示すフローチャートである。
上述のように、複数の画像形成装置10は多層に論理接続されている(図1参照)。そして、サーバ50から最上位階層(第1階層)LV1の画像形成装置10(AR1)に対してアップデートデータが送信された後において、比較的上位の階層の端末装置から比較的下位の階層の端末装置へと順次にアップデータが送信される。
なお、ここでは、サーバ50から、ゲートウエイGWを介して、第1階層(最上位階層)LV1の画像形成装置10(装置AR1)へと、3種類のアップデートデータDa,Db,Dcが既に送信されているものとする。そして、第1階層LV1の装置AR1は、その下位階層LV2〜LV5の複数の下位階層装置AR2〜AR5へのアップデートデータの配信動作を制御する。換言すれば、第1階層LV1の装置AR1は、複数の下位階層装置AR2〜AR5を含む全ての配信対象装置(全配信対象装置群)に関する配信動作を制御する。より具体的には、第1階層LV1の装置AR1は、3種類のアップデートデータDa,Db,Dcの配信順序を決定し、当該配信順序に従って子装置AR2(AR21,AR22)に対して当該アップデートデータDa,Db,Dcを送信する。なお、第2階層LV2以下の装置AR2〜AR4は、それぞれ、装置AR1から送信されてくる順序に従って、当該アップデートデータDa,Db,Dcをさらにその子装置に転送する。これにより、当該配信順序に従って送信されてくるアップデートデータを全ての階層の装置AR1〜AR5が受信する。
複数の機種に関する複数の種類のアップデートデータDa,Db,Dcは、同時に送信されるのではなく、逐次的(換言すれば、段階的)に送信される。具体的には、1番目の種類のアップデートデータ(1番目の機種向けのアップデートデータ)が最上位階層の装置から最下位階層の装置へと送信される。次に、2番目の種類のアップデートデータ(2番目の機種向けのアップデートデータ)が最上位階層の装置から最下位階層の装置へと送信される。そして、3番目の種類のアップデートデータ(3番目の機種向けのアップデートデータ)が最上位階層の装置から最下位階層の装置へと送信される。このように、3種類のアップデートデータは独立したタイミングで且つ逐次的に本システム1内において送信される。なお、或る種類のアップデートデータが或る親装置からその複数の子装置へと送信される際には、当該或る種類のアップデートデータは、或る親装置から複数の子装置に対して同時に送信されてもよく、あるいは当該親装置から複数の子装置に対して逐次的に(順次に)送信されるようにしてもよい。
また、ここでは、複数の機種Sa,Sb,Scの各ファームウエアFWa,FWb,FWcに関する各アップデートデータDa,Db,Dcの配信順序は、最上位階層LV1の装置AR1(詳細にはその決定部14)によって決定される。ただし、これに限定されず、当該配信順序は、サーバ50によって決定されるようにしてもよい。
<3−2.比較例>
ここにおいて、本実施形態に係る動作を説明する前に、比較例に係る動作について説明する。図20は、比較例に係る動作を示すフローチャートである。
図20のステップS91,S92において、複数の機種Sa,Sb,Scに関するアップデートデータDa,Db,Dcの配信順序が決定される。
この比較例においては、最上位階層LV1の装置AR1は、複数の種類のアップデートデータDa,Db,Dcの配信順序を当該装置AR1の下位階層LV2〜LV5の装置の機種毎の台数に応じて決定する。
具体的には、図20に示すように、まずステップS91において、装置AR1は、配信対象装置(自装置用のアップデートデータを未だ受信していない配信対象装置)の台数を機種別に集計して取得する。たとえば、まだ第2階層以下のいずれの装置に対してもアップデートデータが配信されていないときには、装置AR1は、自装置よりも下位階層LV2〜LV5の全装置に関する機種ごとの台数を階層構造情報HMに基づいて取得する。具体的には、図1のようなシステム構成に関して、第1の機種Saの装置台数は12台であり、第2の機種Sbの装置台数は10台であり、第3の機種Scの装置台数は8台である旨が取得される。
次のステップS92において、装置AR1は、配信対象装置の機種ごとの台数(ここでは全ての下位階層装置の機種毎の台数)に基づいて、複数の機種Sa,Sb,Scのファームウエアに関する複数の種類のアップデートデータDa,Db,Dcの配信順序を決定する。具体的には、複数の機種Sa,Sb,Scのうちその台数が多い機種から順に高い優先順位が付与されて複数の機種Sa,Sb,Scの相互間での優先順位が付与される。そして、複数の機種Sa,Sb,Scの相互間の優先順位に基づいて、各機種に対応する複数の種類のアップデートデータDa,Db,Dcの配信順序が決定される。詳細には、比較的高い優先順位の機種用のアップデートデータに対して比較的高い配信順位が付与される。
より具体的には、3つの機種Sa,Sb,Scのうちその台数が最も多い機種に対応するアップデートデータが、第1順位の配信データとして決定される。図1のシステム構成においては、機種Saの台数が12台であり、3つの機種Sa,Sb,Scのうち機種Saの台数が最も多い。そのため、機種Saに対応するアップデートデータDaが第1順位の配信データとして決定される。つぎに、次順位(第2順位)以降の各順位の配信データも決定される。具体的には、機種Sbの台数が10台であり、3つの機種Sa,Sb,Scのうち機種Sbの台数が2番目に多い。そのため、その台数が機種Saに次いで多い次順位の機種Sbに対応するアップデートデータDbが第2順位の配信データとして決定される。同様に、その台数が機種Sbに次いで多い次順位の機種Scに対応するアップデートデータDcが第3順位の配信データとして決定される。
そして、このような機種相互間の配信順序に従って、各機種に対応する複数の種類のアップデートデータDa,Db,Dcが配信される。この配信動作はステップS93で開始され、ステップS94で完了が確認されるまで継続される。
具体的には、まず、図5に示すように、機種Saに関するアップデートデータDaの配信動作が行われる。詳細には、第1階層(最上位階層)LV1の装置AR1(AR10)から、第2階層LV2の装置AR2、第3階層LV3の装置AR3、および第4階層LV4の装置AR4を経て、第5階層(最下位階層)LV5の装置AR5へと順次に配信される。より詳細には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDaが順次に転送されていく。機種Sa以外の装置(具体的には、機種Sb,Scの装置)は、その親装置からアップデートデータDaを受信すると、当該受信したアップデートデータDaをその子装置へと送信する送信処理を実行する。一方、機種Saの装置は、その親装置からアップデートデータDaを受信するときには、次の動作を実行する。具体的には、機種Saの装置(たとえば、装置AR22)は、当該装置によって受信されたアップデートデータDaをその子装置(たとえば、装置AR33,AR34)へと送信する送信処理(転送処理)を実行するとともに、当該転送処理の終了後に当該アップデートデータDaを用いて自装置のファームウエアの更新動作を実行する。このようにして、機種Saの12台の装置に対するアップデートデータDaの配信処理および当該12台の装置におけるファームウエアの更新動作が実行される。なお、子装置への転送処理は、最下位階層の装置によっては行われない(以下、同様)。
つぎに、図6に示すように、機種Sbに関するアップデートデータDbの配信動作が行われる。アップデートデータDbも、アップデートデータDaと同様にして、第1階層(最上位階層)LV1の装置AR1(AR10)から、第2階層LV2の装置AR2、第3階層LV3の装置AR3、および第4階層LV4の装置AR4を経て、第5階層(最下位階層)LV5の装置AR5へと順次に配信される。機種Sb以外の装置(具体的には、機種Sa,Scの装置)は、その親装置からアップデートデータDbを受信すると、当該受信したアップデートデータDbをその子装置へと送信する送信処理(転送処理)を実行する。一方、機種Sbの装置は、その親装置からアップデートデータDbを受信するときは次の動作を実行する。具体的には、機種Sbの装置(たとえば、装置AR21)は、当該装置によって受信されたアップデートデータDbをその子装置(たとえば、装置AR31,AR32)へと送信する送信処理を実行するとともに、当該送信処理の終了後に当該アップデートデータDbを用いて自装置(たとえば、装置AR21)のファームウエアの更新動作を実行する。このようにして、機種Sbの10台の装置に対するアップデートデータDbの配信処理および当該10台の装置におけるファームウエアの更新動作が実行される。
その後、図7に示すように、機種Scに関するアップデートデータDcの配信動作が行われる。具体的には、アップデートデータDcも、アップデートデータDaと同様にして、第1階層(最上位階層)LV1の装置AR1(AR10)から、第2階層LV2の装置AR2、第3階層LV3の装置AR3、および第4階層LV4の装置AR4を経て、第5階層(最下位階層)LV5の装置AR5へと順次に配信される。機種Sc以外の装置(具体的には、機種Sa,Sbの装置)は、その親装置からアップデートデータDcを受信すると、当該装置によって受信されたアップデートデータDcをその子装置へと送信する転送処理を実行する。一方、機種Scの装置は、次のような動作を実行する。具体的には、機種Scの装置(たとえば、装置AR31)は、当該装置によって受信されたアップデートデータDcをその子装置(たとえば、装置AR41,AR42)へと送信する転送処理を実行するとともに、当該転送処理の終了後に当該アップデートデータDcを用いて自装置(たとえば、装置AR31)のファームウエアの更新動作を実行する。このようにして、機種Scの8台の装置に対するアップデートデータDcの配信処理および当該8台の装置におけるファームウエアの更新動作が実行される。
上記のような動作によれば、3つのアップデートデータのうち最初のアップデートデータDaの配信によって、当該アップデートデータDaの配信完了時点で比較的多数(図5では12台)の装置10に対する配信処理を完了することが可能である。したがって、比較的多数の装置に対するアップデートデータ配信処理を早期に完了することが可能である。なお、逆に、図7のアップデートデータDcの処理から開始する場合には、当該アップデートデータDcの配信完了時点で比較的少数(図7では8台)の装置10に対する配信処理しか完了することができない。
<3−3.実施形態に係る動作1>
ところで、本システム1における複数の画像形成装置10のうちのいずれかの装置においてはFAX受信処理などの高負荷処理(所定レベル以上の高い負荷の処理)が行われていることがある。なお、このような高負荷処理を実行している装置を「高負荷装置」とも称するものとする。
このような高負荷装置においては、アップデートデータの送受信動作に利用できるハードウエアリソースは非常に少なく、アップデートデータの送受信動作の実行が実質的に困難なことがある。あるいは、アップデートデータの送受信動作の実行自体は可能であるとしても、当該高負荷装置での処理の安定性等の観点から、アップデートデータの送受信動作はその時点では行われないことが好ましいこともある。
このような事情を考慮し、この実施形態では、複数の下位階層装置の負荷状態に基づいて、複数の下位階層装置のそれぞれにおけるアップデートデータ送受信処理(特に受信処理)の実行の可否が判定される。具体的には、高負荷装置はその負荷状態(高負荷状態)に起因してアップデートデータ受信処理を実行できない装置であると判定され、当該高負荷装置におけるアップデートデータ受信処理(アップデートデータのダウンロード処理)の実行が禁止される。換言すれば、システム内の或る装置において高負荷処理が実行されているときには、当該装置(高負荷装置)へのアップデートデータの送信処理を行わないものとする。また、これに伴って、当該装置からその下位階層装置へのアップデートデータの送信処理も行われない。
たとえば、図8において、第2階層の装置AR22が高負荷処理を行っている場合においては、当該装置AR22と当該装置AR22よりも下位階層の装置AR3(AR33,AR34),AR4(AR45〜AR48),AR5(AR519〜AR526)とがアップデートデータの配信先から一時的に除外される。そして、全ての下位階層装置10のうち、除外された装置以外の装置(残りの装置)が「配信可能装置」として決定される。具体的には、装置AR2(AR21),AR3(AR31,AR32),AR4(AR41〜AR44),AR5(AR511〜AR518)が「配信可能装置」として決定される。
ただし、このような状況において、仮に、図5〜図7と同様にして全装置を対象にして機種毎の台数が求められ、その台数が多い機種順に従って定められた配信順序に基づいて、各機種用のアップデートデータが配信されると、次のような問題が生じる。具体的には、このような配信処理が行われると、図8に示すように、「配信可能装置」(全15台)のうち、第1順位の配信対象機種Saの装置台数が比較的少数(3台)になることがある。この場合、機種Saに関するアップデートデータDaを優先的に配信する配信動作は必ずしも効率的ではない。
そこで、この実施形態においては、複数の種類のアップデートデータDa,Db,Dcをさらに効率的に配信することが可能な技術について説明する。具体的には、下位階層装置におけるアップデートデータの受信処理(ダウンロード処理)の可否をも考慮して、複数の種類のアップデートデータDa,Db,Dcの配信順序が決定される。以下では、このような技術について図3等を参照しながら詳細に説明する。
まず、図3のステップS11に示すように、最上位階層LV1の装置AR1は、複数の下位階層装置の負荷状態(処理状況)を取得する。ここでは、全ての下位階層装置のうち装置AR22のみが高負荷状態である旨が取得されたものとする。
次のステップS12(図4も参照)において、複数の機種Sa,Sb,Scに関するアップデートデータDa,Db,Dcの配信順序が決定される。
この実施形態においても、上記比較例と同様に、最上位階層LV1の装置AR1は、複数の種類のアップデートデータDa,Db,Dcの配信順序を、基本的には当該装置AR1の下位階層LV2〜LV5の装置の機種毎の台数に応じて決定する。ただし、下位階層装置におけるアップデートデータの受信処理(ダウンロード処理)の可否を考慮する点等において、以下の動作は上記比較例と相違する。
具体的には、(1)図4に示すように、まずステップS31において、装置AR1は、配信対象装置(自装置用のアップデートデータを未だ受信していない配信対象装置)の台数(配信対象台数とも称する)を機種別に集計して取得する。ここでは、まだ第2階層以下のいずれの装置に対してもアップデートデータが配信されていない。そのため、装置AR1は、自装置よりも下位階層(LV2〜LV5)の全装置に関する機種ごとの台数を階層構造情報HMに基づいて取得する。換言すれば、装置AR1は、複数の配信対象装置(複数の下位階層装置)の全てに関する機種ごとの台数を求める。図8では、図5と同様に、機種Saの装置が12台存在し且つ機種Sbの装置が10台存在し且つ機種Scの装置が8台存在する旨が取得される(図9の最左欄参照)。換言すれば、アップデートデータの未配信先の装置群GP0(複数の未配信装置)に関する機種ごとの台数が求められる。なお、装置群GP0は、31台の全装置のうち装置AR1(AR10)を除く30台の装置で構成される。
(2)次のステップS32では、所定レベル(たとえば、CPUリソースの使用率(負荷率)が80%)よりも高い負荷状態を有する装置(高負荷装置)の有無が判定される。高負荷装置が存在しない旨が判定されるとステップS32から(ステップS33には進まずに)ステップS34に進む。一方、高負荷装置が存在する旨が判定されるとステップS32からステップS33に進む。ここでは、装置AR22がFAX受信中(ファクシミリ受信中)であり、装置AR22の負荷率が基準値(たとえば80%)を越えていると判定されるものとする。すなわち、高負荷装置AR22が存在すると判定されるものとする。そして、ステップS32からステップS33に進む。このように所定レベルよりも高い負荷状態を有する高負荷装置AR22が存在する場合には、当該高負荷装置AR22はその高負荷状態に起因してアップデートデータ受信処理を実行できない装置であると判定され、ステップS33に進む。なお、ここでは、CPUリソースの使用率(負荷率)に基づいて、高負荷装置であるか否かが判定されているが、これに限定されない。たとえば、各装置のメモリリソースの使用率(負荷率)に基づいて、各装置が高負荷装置であるか否かが判定されるようにしてもよい。
ステップS33において、装置AR1は、高負荷装置AR22と当該高負荷装置AR22の直系下位階層の装置との合計台数を複数の機種Sa,Sb,Sc毎に求める。詳細には、図8にて破線で囲まれた範囲内の装置群(グループ)GP1における機種毎の台数が求められる。ここで、装置群GP1は、高負荷装置AR22と当該高負荷装置AR22の直系下位階層の装置(AR33,AR34,AR45〜AR48,AR519〜AR526)とで構成される。装置群GP1は、高負荷装置AR22を頂点とする直系装置群(直系下位装置群)であるとも表現される。当該装置群GP1内における各機種毎の装置台数としては、機種Saの装置が9台、機種Sbの装置が5台、機種Scの装置が1台である、として求められる(図9の中央欄参照)。
なお、装置群GP1内の装置宛のアップデートデータの配信を行うことができないことから、装置群GP1に係る装置は「配信不可装置」とも称される。また、装置群GP1は、アップデートデータの配信動作(特にアップデートデータの受信動作)を行うことができない装置で構成される装置群であることから、配信不可装置群とも表現される。一方、配信対象装置のうち、配信不可装置以外の装置は「配信可能装置」とも称される。また、配信不可装置の台数は配信不可台数とも称され、配信可能装置の台数は配信可能台数とも称される。
また、複数の高負荷装置が存在する場合には、複数の高負荷装置のそれぞれに関する直系下位装置群が配信不可装置として決定されればよい。
(3)また、ステップS34において、装置AR1は、複数の配信可能装置に関する機種ごとの台数を求める。具体的には、各機種について、(1)で求めた台数(配信対象台数)から(2)で求めた台数(配信不可台数)を差し引いた台数を、配信可能台数(配信可能装置の台数)として機種ごとに取得する。詳細には、機種Saの配信可能装置の台数は、3(=12−9)台であり、機種Sbの配信可能装置の台数は、5(=10−5)台であり、機種Scの配信可能装置の台数は、7(=8−1)台である、ことが取得される(図9の最右欄参照)。
このように、高負荷装置AR22を頂点とする直系装置群GP1が除外されて装置AR1の複数の下位階層装置AR2〜AR5の中から「配信可能装置」が特定され、配信可能台数が複数の機種ごとに求められる。
(4)そして、ステップS35において、装置AR1(決定部14)は、その配信可能台数(機種ごとの配信可能台数)の多い機種順に当該機種用のアップデートデータを配信する順序を、複数の種類のアップデートデータDa,Db,Dcに関する「配信順序」として決定する。具体的には、機種Scの配信可能台数が7台であり3つの機種の各配信可能台数のうち最も大きい。この場合には、最も配信可能台数が多い当該機種Scに関するアップデートデータDcの配信順位が第1順位に決定される。また、機種Sbは配信可能台数(5台)を有し、機種Scに次ぐ順位の機種である。当該機種Sbに関するアップデートデータDbの配信順位が第2順位に決定される。また、機種Sbに次ぐ配信可能台数(3台)を有する次順位の機種Saに関するアップデートデータDaの配信順位が第3順位に決定される。
このようにして、複数の機種に係る複数の下位階層装置のそれぞれにおけるアップデートデータ受信処理(ダウンロード処理)の実行の可否の判定結果に基づいて、複数の機種のファームウエアに関する複数の種類のアップデートデータの配信順序が決定される。具体的には、装置AR1の決定部14は、全ての下位階層装置の中に「高負荷装置」が存在する場合には、全ての下位階層装置のうち当該高負荷装置と当該高負荷装置の直系下位階層の装置とを除外して当該全ての下位階層装置の中から配信可能装置を特定する。そして、決定部14は、配信可能台数(配信可能装置の台数)を複数の機種ごとに求め、その配信可能台数(機種ごとの配信可能台数)の多い機種から順に当該機種用のアップデートデータを配信する順序を、複数の種類のアップデートデータDa,Db,Dcに関する「配信順序」として決定する。
そして、このようにして決定された配信順序(Dc,Db,Da)に従って複数の種類のアップデートデータDa,Db,Dcが複数の下位階層装置に対して送信される。具体的には、ステップS13において、当該配信動作が開始される。
図10は、第1順位のアップデートデータDcがまず配信される様子を示す図である。機種Scに関するアップデートデータDcは、第1階層(最上位階層)LV1の装置AR1(AR10)から、第2階層LV2の装置AR2、第3階層LV3の装置AR3、および第4階層LV4の装置AR4を経て、第5階層(最下位階層)LV5の装置AR5へと順次に配信される。より詳細には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDcが順次に転送されていく。ただし、アップデートデータDcは高負荷装置AR22およびその直系の下位階層装置には配信されない。
機種Sc以外の装置(具体的には、機種Sa,Sbの装置)は、当該装置によって受信されたアップデートデータDcをその子装置へと送信する送信処理を実行する。一方、機種Scの装置(親装置)(たとえば、装置AR31)は、当該装置によって受信されたアップデートデータDcをその子装置(たとえば、装置AR41,AR42)へと送信する送信処理(転送処理)を実行し、当該転送処理の終了後に当該アップデートデータDcを用いて自装置(たとえば、装置AR31)のファームウエアの更新動作を実行する。
このような最初のアップデートデータDcの配信によって、図10に示すように、7台の装置(AR31,AR41,AR42,AR511,AR512,AR515,AR516)に対して、自機種Sc用のアップデートデータDcが配信される。したがって、3つのアップデートデータのうち最初のアップデートデータDcの配信完了時点で、図8と比較して、比較的多数(図10では7台)の装置10に対する配信処理を完了することが可能である。すなわち、比較的多数の装置に対するアップデートデータ配信処理を早期に完了することが可能である。なお、図8に示すように、別のアップデートデータDaから配信処理を開始する場合には、当該アップデートデータDaの配信完了時点で比較的少数(図8では3台)の装置(AR513,AR514,AR517)に対する配信処理しか完了することができない。
図11は、第2順位のアップデートデータDbが配信される様子を示す図である。機種Sbに関するアップデートデータDbも、第1階層(最上位階層)LV1の装置AR1(AR10)から、第2階層LV2の装置AR2、第3階層LV3の装置AR3、および第4階層LV4の装置AR4を経て、第5階層(最下位階層)LV5の装置AR5へと順次に配信される。より詳細には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDbが順次に転送されていく。ただし、アップデートデータDbは高負荷装置AR22およびその直系の下位階層装置には配信されない。
機種Sb以外の装置(具体的には、機種Sa,Scの装置)は、当該装置によって受信されたアップデートデータDbをその子装置へと送信する送信処理(転送処理)を実行する。一方、機種Sbの装置(たとえば、装置AR32)は、当該装置によって受信されたアップデートデータDaをその子装置(たとえば、装置AR43,AR44)へと送信する送信処理(転送処理)を実行し、当該転送処理の終了後に当該アップデートデータDbを用いて自装置のファームウエアの更新動作を実行する。ただし、最下位階層の装置は、その子装置への転送処理を実行しない(以下、同様)。
このようにして第2順位のアップデートデータDbの配信が行われ、5台の装置(AR21,AR32,AR43,AR44,AR518)に対して、自機種Sb用のアップデートデータDbが配信される。
図12は、第3順位のアップデートデータDaが配信される様子を示す図である。機種Saに関するアップデートデータDaも、第1階層(最上位階層)LV1の装置AR1(AR10)から、第2階層LV2の装置AR2、第3階層LV3の装置AR3、および第4階層LV4の装置AR4を経て、第5階層(最下位階層)LV5の装置AR5へと順次に配信される。
より詳細には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDaが順次に転送されていく。ただし、アップデートデータDaは高負荷装置AR22およびその直系の下位階層装置には配信されない。
各機種の装置は、原則として、当該装置によって受信されたアップデートデータをその子装置へと送信する送信処理(転送処理)を実行する。また、機種Saの装置(たとえば、装置AR513)は、その親装置(たとえば、装置AR42)からアップデートデータDaを受信した後において、当該アップデートデータDaを用いて自装置のファームウエアの更新動作をも実行する。なお、装置AR513は最下位階層の装置でありその子装置を有していないため、装置AR513からその子装置への転送処理は実行されない。
このようにして第3順位のアップデートデータDaの配信が行われ、3台の装置(AR513,AR514,AR517)に対して、自機種Sa用のアップデートデータDaが配信される。
その後、装置AR22の高負荷状態が非高負荷状態に復帰するまで待機処理が実行される(図3のステップS14,S15,S19参照)。換言すれば、装置AR22の負荷状態が所定レベルよりも低い状態に復帰し高負荷装置におけるアップデートデータ受信処理が可能になるまで、待機処理が継続される。
そして、ステップS15において、装置AR22が高負荷状態から非高負荷状態へと復帰したことが判定されると、ステップS16に進む。ステップS16では、ステップS11と同様の動作が実行される。その後、ステップS17に進む。ステップS17では、装置AR22の非高負荷状態への復帰時点でアップデートデータを未だ受信していない装置群GP1に対する複数の種類のアップデートデータの配信順序が、決定される。そして、当該配信順序に従って当該装置群GP1に対して複数の種類のアップデートデータDa,Db,Dcが配信される。ステップS17においても、ステップS12と同様の動作が実行される。
具体的には、(1)まず、ステップS31(図4)において、装置AR1は、アップデートデータの未配信先の装置群(全配信対象装置群のうち自装置用のアップデートデータを未だ受信していない配信対象装置群)(ここでは装置群GP1)に関する機種ごとの台数を求める。具体的には、種類Saの装置が9台であり、種類Sbの装置が5台であり、種類Scの装置が1台である旨が取得される(図13参照)。
(2)つぎに、装置AR22の負荷状態が非高負荷状態に復帰しており且つ他の高負荷装置も存在しない旨がステップS32にて判定され、ステップS34に進む。
(3)ステップS34において、装置AR1は、各機種の配信可能装置の台数を取得する。詳細には、機種Saの配信可能装置の台数は、9(=9−0)台であり、機種Sbの配信可能装置の台数は、5(=5−0)台であり、機種Scの配信可能装置の台数は、1(=1−0)台である、として求められる。
(4)そして、ステップS35において、装置AR1(決定部14)は、その配信可能台数(機種ごとの配信可能台数)の多い機種から順に当該機種用のアップデートデータを配信する順序を、複数の種類のアップデートデータDa,Db,Dcに関する「配信順序」として決定する。具体的には、機種Saの配信可能台数が9台であり3つの機種の各配信可能台数のうち最も大きい。そのため、最も配信可能台数が多い当該機種Saに関するアップデートデータDcの配信順位が第1順位に決定される。また、機種Saに次ぐ配信可能台数(5台)を有する次順位の機種Sbに関するアップデートデータDbの配信順位が第2順位に決定される。また、機種Sbに次ぐ配信可能台数(1台)を有する次順位の機種Scに関するアップデートデータDcの配信順位が第3順位に決定される。
そして、このような配信順序に従って複数の種類のアップデートデータが装置群GP1内の各装置に対して送信される。具体的には、ステップS18において、当該配信動作が開始される。なお、配信中のアップデートデータが存在する場合には、以後において当該アップデートデータの配信動作がそのまま継続される。そして、配信中のアップデートデータ以外のアップデートデータの配信動作がその後に引き続いて実行される。ここでは、上述のように、装置群GP1以外の装置に対する全機種のアップデートデータDa,Db,Dcの配信動作が終了しており、装置群GP1に対する全機種のアップデートデータDa,Db,Dcの配信動作が開始される態様を例示する。
図13は、第1順位のアップデートデータDaが配信される様子を示す図である。機種Saに関するアップデートデータDaは、第1階層(最上位階層)LV1の装置AR1(AR10)から、第2階層LV2の装置AR2(AR22)、第3階層LV3の装置AR3(AR33,AR34)、および第4階層LV4の装置AR4(AR46,AR48)を経て、第5階層(最下位階層)LV5の装置AR5(AR521,AR522,AR525,AR526)へと順次に配信される。より詳細には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDaが順次に転送されていく。機種Sa以外の装置(具体的には、機種Sb,Scの装置)は、その子装置へのアップデートデータDaの転送処理を実行する。一方、機種Saの装置(親装置)(たとえば、装置AR22)は、その子装置(たとえば、装置AR33,AR34)へのアップデートデータDaの配信が終了すると、当該アップデートデータDaを用いて自装置(たとえば、装置AR22)のファームウエアの更新動作をも実行する。
このようなアップデートデータDaの配信によって、9台の装置(AR22,AR33,AR34,AR46,AR48,AR521,AR522,AR525,AR526)に対して、自機種Sa用のアップデートデータDaが配信される。したがって、高負荷装置AR22が通常状態に復帰した後において、3つのアップデートデータのうち最初のアップデートデータDaの配信により、当該最初のアップデートデータの配信完了時点で、残りの15台の配信対象装置のうち比較的多数(図13では9台)の装置10に対する配信処理を完了することが可能である。すなわち、比較的多数の装置に対するアップデートデータ配信処理を早期に完了することが可能である。
図14は、第2順位のアップデートデータDbが配信される様子を示す図である。機種Sbに関するアップデートデータDbも、同様に行われる。具体的には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDbが順次に転送されていく。
このようにして第2順位のアップデートデータDbの配信が行われ、5台の装置(AR45,AR47,AR520,AR523,AR524)に対して、自機種Sb用のアップデートデータDbが配信される。
図15は、第3順位のアップデートデータDcが配信される様子を示す図である。機種Scに関するアップデートデータDcも、同様に行われる。具体的には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDcが順次に転送されていく。
このようにして第3順位のアップデートデータDcの配信が行われ、1台の装置(AR519)に対して、自機種Sc用のアップデートデータDcが配信される。
以上のようにして、全ての下位装置に対する配信動作が完了する(ステップS14)と、図3の動作は完了する。
<3−4.実施形態に係る動作2>
上記においては、高負荷装置AR22が存在する場合において、全装置のうち装置群GP1を除く装置に対して3つの種類のアップデートデータDa,Db,Dcの全てが送信された後に、高負荷装置AR22の高負荷状態が解消される状況が例示されている。
高負荷装置AR22が存在する場合において、全装置のうち装置群GP1を除く装置に対して3つの種類のアップデートデータDa,Db,Dcのうちの1つ(あるいは2つ)が送信された後に高負荷装置AR22の高負荷状態が解消される場合には、次のような配信動作が行われればよい。
以下では、高負荷装置AR22が存在する場合において、全装置のうち装置群GP1を除く装置に対して3つの種類のアップデートデータDa,Db,Dcのうちの1つ(具体的には、1種類のアップデートデータDcのみ)の送信中に、高負荷装置AR22の高負荷状態が解消される場合について例示する。
具体的には、高負荷装置AR22が存在する場合において、上記と同様に、複数のアップデートデータDc,Db,Daがこの順序で配信されるべき旨が決定される。そして、最初のアップデートデータDcの配信動作中に(図10)、高負荷装置AR22の負荷状態が通常状態(非高負荷状態)に復帰するものとする。なお、以下では、当該アップデートデータDcの配信動作が未完了の状態において、当該アップデートデータDcの配信動作完了後の配信動作が決定される。
非高負荷状態への復帰時点で、装置AR1は、装置群GP2を対象にして配信順序を再決定する(ステップS17)。ここで、装置群GP2は、30台の装置で構成される装置群GP0のうち、自機種用のアップデートデータDcが既に配信された7台の機種Scの装置(AR31,AR41,AR42,AR511,AR512,AR515,AR516)を除いた23台の装置で構成される。すなわち、装置群GP2は、自装置用(自機種用)のアップデートデータを未だ受信していない装置で構成される装置群である。なお、非高負荷状態への当該復帰時点においては、配信中のアップデートデータDcが上記の7台の機種Scの装置(AR31,AR41,AR42,AR511,AR512,AR515,AR516)に対して配信されることがほぼ確定している。そのため、装置AR1は、当該7台の装置に対して自機種用のアップデートデータDcが既に配信されているとみなし、当該7台の装置に対するアップデートデータDcの配信完了後における他の23台の装置に関するアップデートデータの配信順序を再決定する。
具体的には、(1)まず、ステップS31において、装置AR1は、アップデートデータの未配信先の装置群(全配信対象装置群のうち自装置用のアップデートデータを未だ受信していない配信対象装置群)(ここでは装置群GP2)に関する機種ごとの台数を求める。具体的には、機種Saの装置が12台、機種Sbの装置が10台、機種Scの装置が1台存在する旨が取得される
(2)つぎに、装置AR22の負荷状態が非高負荷状態に復帰しており且つ他の高負荷装置も存在しない旨がステップS32にて判定され、ステップS34に進む。
(3)ステップS34において、装置AR1は、各機種の配信可能装置の台数を取得する。詳細には、機種Saの配信可能装置の台数は、12(=12−0)台であり、機種Sbの配信可能装置の台数は、10(=5−0)台であり、機種Scの配信可能装置の台数は、1(=1−0)台である、として求められる。
(4)そして、ステップS35において、装置AR1(決定部14)は、その配信可能台数(機種ごとの配信可能台数)の多い機種から順に当該機種用のアップデートデータを配信する順序を、複数の種類のアップデートデータDa,Db,Dcに関する「配信順序」として決定する。具体的には、3つの機種の各配信可能台数のうち最も多い配信可能台数(12台)を有する機種Saに関するアップデートデータDaの配信順位が第1順位に決定される。また、機種Saに次ぐ配信可能台数(10台)を有する次順位の機種Sbに関するアップデートデータDbの配信順位が第2順位に決定される。また、機種Sbに次ぐ配信可能台数(1台)を有する次順位の機種Scに関するアップデートデータDcの配信順位が第3順位に決定される。
そして、このような配信順序に従って複数の種類のアップデートデータが装置群GP2の各装置に対して送信される(ステップS18)。ただし、ここでは、上述のように装置群GP1以外の装置に対するアップデートデータDcの配信中に高負荷装置AR22が非高負荷状態に復帰し、当該復帰時点にて配信中のアップデートデータDcの配信動作はそのまま継続される。そして、装置群GP1以外の装置に対するアップデートデータDcの配信動作が終了した後に、引き続いて、当該装置群GP2に対する3種類のアップデートデータDa,Db,Dcの新たな配信動作が開始される。当該新たな配信動作は、ステップS35で新たに決定された配信順序に従って実行される。
図16は、第1順位のアップデートデータDaが配信される様子を示す図である。機種Saに関するアップデートデータDaは、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDaが順次に転送されていく。
このようにして第1順位のアップデートデータDaの配信が行われ、12台の装置(AR22,AR33,AR34,AR46,AR48,AR513,AR514,AR517,AR521,AR522,AR525,AR526)に対して、自機種Sa用のアップデートデータDaが配信される。
これによれば、高負荷装置AR22が通常状態に復帰した後において、3つのアップデートデータのうち最初のアップデートデータDaの配信により、23台の配信対象装置のうち比較的多数(図16では12台)の装置10に対する配信処理を完了することが可能である。すなわち、比較的多数の装置に対するアップデートデータ配信処理を早期に完了することが可能である。
図17は、第2順位のアップデートデータDbが配信される様子を示す図である。機種Sbに関するアップデートデータDbの配信動作も、同様に行われる。具体的には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDbが順次に転送されていく。
このようにして第2順位のアップデートデータDbの配信が行われ、10台の装置(AR21,AR32,AR43,AR44,AR45,AR47,AR518,AR520,AR523,AR524)に対して、自機種Sb用のアップデートデータDbが配信される。
図18は、第3順位のアップデートデータDcが配信される様子を示す図である。機種Scに関するアップデートデータDcの配信動作も、同様に行われる。具体的には、比較的上位階層の親装置から比較的下位階層の複数の子装置への分岐配信処理を伴いつつ、複数の世代に亘ってアップデートデータDcが順次に転送されていく。
このようにして第3順位のアップデートデータDcの配信が行われ、残りの1台の装置(AR519)に対して、自機種Sc用のアップデートデータDcが配信される。
<4.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
たとえば、上記実施形態においては、「FAX受信中」の装置が高負荷装置として検出されているが、これに限定されず、画像形成装置10の操作パネル部6cを利用したプレビュー処理(「リアルタイムプレビュー」)実行中の装置が高負荷装置として検出されるようにしてもよい。あるいは、OCR処理実行中の装置が高負荷装置として検出されるようにしてもよい。また、これらの複数の種類の処理のうちの2つ以上の処理を実行中の装置が高負荷装置として検出されるようにしてもよい。
そして、高負荷装置に対するアップデートデータの送信処理が禁止される旨(高負荷装置におけるアップデートデータ受信処理が実行できない旨)が判定され、その判定結果に応じて取得された配信可能台数に基づいて、複数の種類のアップデートデータDa,Db,Dcの配信順序が決定されるようにしてもよい。
また、上記実施形態においては、最下位階層以外の装置は、受信した全ての種類のアップデートデータDa,Db,Dcをその子装置に転送する態様が例示されているが、これに限定されない。たとえば、或る装置(特定の装置)は、その子装置に対して、当該子装置(転送先装置)とその直系下位階層装置とを含む装置群(以下、転送先装置に関する直系下位階層装置群とも称する)内に存在する機種向けのアップデートデータのみを転送するようにしてもよい。
たとえば、装置AR21の子装置(転送先装置)AR31に関する直系下位階層装置群内においては、2つの機種Sa,Scのみが存在する。この場合には、装置AR21は、その子装置(転送先装置)AR31に対しては、2つの機種Sa,Sc用のアップデートデータDa,Dcのみを転送するようにしてもよい。換言すれば、他の1つの機種Sb用のアップデートデータDcを下位階層装置AR31に転送しないようにしてもよい。これによれば、無用な転送処理を削減できる。
また、上記実施形態では、各画像形成装置10は、自装置よりも下位の全階層の装置の装置種類(機種)を知得している態様を例示したが、これに限定されない。たとえば、最上位階層の装置AR1のみが自装置よりも下位の全階層の装置の装置種類(機種)を知得しており、その他の装置は下位階層装置の機種を知得していなくてもよい。
また、上記実施形態においては、最上位階層LV1の装置AR1が全配信対象装置群に含まれない状態で(具体的には、全配信対象装置群を装置群GP0のみで構成した状態で)配信対象台数および配信可能台数が算出されているが、これに限定されない。たとえば、最上位階層LV1の装置AR1が全配信対象装置群に含まれる状態で(具体的には、装置群GP0に装置AR1を加えて全配信対象装置群を構成した状態で)配信対象台数および配信可能台数が算出されるようにしてもよい。特に、外部サーバ50から装置AR1に未だアップデートデータが配信されていない場合には、最上位階層LV1の装置AR1を含めて配信対象台数が算出されるとともに、最上位階層LV1の装置AR1を含めて配信可能台数が算出されることが好ましい。
より具体的には、図10に示すようにアップデートデータ受信処理を実行できないと判定された高負荷装置(AR22)が複数の下位階層装置の中に存在する場合には、次のようにして配信対象装置が特定されればよい。具体的には、装置AR1の下位階層装置AR2〜AR5のみならず装置AR1自身をも加えた合計31台の装置が配信対象装置(配信対象装置群)として特定されればよい。そして、これらの配信対象装置(全配信対象装置群)から、装置群GP1(高負荷装置AR22と当該高負荷装置AR22の直系下位階層装置との合計15台で構成される装置群)が除外されて、配信可能装置が特定されればよい。
この場合、図10の状況においては、図9と比較して、機種Saの配置対象台数が13台であり機種Saの配置可能台数が4台である旨が判定される点で相違する。その他の台数は、図9と同様である。
そして、装置AR1の決定部14は、このような配信可能装置の台数(配信可能台数)に基づいて、その配信可能台数の多い機種順に各機種用のアップデートデータが配信されるように配信順序を決定する。
さらに、装置AR1の配信制御部15は、複数の下位階層装置AR2〜AR5へのアップデートデータの配信動作のみならず(サーバ50から)当該装置AR1自身へのアップデートデータの配信動作をも制御する。図19においては、サーバ50から装置AR1へのアップデートデータDcの配信動作が行われるとともに、装置AR1から更にその下位階層装置AR2〜AR5へと階層構造を利用してアップデートデータDcが配信される様子が示されている。他のアップデートデータDb,Daについても、同様である。たとえば、サーバ50から装置AR1へのアップデートデータDbの配信動作が行われるとともに、装置AR1から更にその下位階層装置AR2〜AR5へと階層構造を利用してアップデートデータDbが配信されればよい。
また、高負荷装置AR22の負荷状態が所定レベル以下に復帰し当該高負荷装置AR22におけるアップデートデータ受信処理の実行が可能になった後においては、装置AR1をも加えて配信対象装置群を特定するようにすればよい。さらに、当該配信対象装置群のうち自装置用のアップデートデータを未だ受信していない装置の中から、高負荷装置AR22と当該高負荷装置AR22の直系下位階層の装置とを含むように配信可能装置が特定されればよい。そして、当該配信可能装置の台数等に基づいて、復帰後の配信順序が決定されればよい。
また、上記実施形態では、第1階層LV1の装置AR1が第2階層LV2以下の複数の下位階層装置に対するアップデートデータの配信順序を決定する態様が例示されているが、これに限定されない。たとえば、第2階層LV2の装置AR2が第3階層LV3以下の複数の下位階層装置(当該装置AR2の直系の下位階層装置)に対するアップデートデータの配信順序を決定するようにしてもよい。
また、上記実施形態では、複数の画像形成装置10が5層の階層構造で論理接続される態様が例示されているが、これに限定されない。たとえば、複数の画像形成装置10が4層以下の階層構造で論理接続されるようにしてもよく、あるいは、6層以上の階層構造で論理接続されるようにしてもよい。
また、上記実施形態においては、1つの親装置に対して2つの子装置が論理接続される態様が例示されるが、これに限定されない。たとえば、1つの親装置に対して3つ以上の子装置が論理接続されるようにしてもよい。また、全ての親装置に対してそれぞれ複数の子装置が論理接続されていることを要さず、たとえば一部の親装置に対しては単一の子装置のみが論理接続されるようにしてもよい。ただし、アップデートデータの転送効率を向上させるためには、比較的多数の親装置に対して複数の「子装置」を論理接続してアップデートデータの分岐転送処理を行うことが好ましい。換言すれば、比較的下位階層の装置の数が比較的上位階層の装置の数よりも大きくなるように、階層構造が規定されることが好ましい。
また、上記実施形態においては、画像形成装置10としてMFPが例示されているが、これに限定されず、様々な画像形成装置(印刷装置、コピー装置、スキャナ装置等)に対して上記の思想が適用されるようにしてもよい。