(57)【要約】【課題】マスタに複数のスレーブが直列に接続された構成において、個々のスレーブに保持されているスレーブ用情報の更新に要する時間の短縮を、ハードウェア構成の変更無しに実現する【解決手段】マスタに複数のスレーブが直列に接続された構成((A)参照)において、スレーブ5のデータをスレーブ4迄転送し、スレーブ4からスレーブ5へのデータ転送・書込とスレーブ3のデータのスレーブ3への転送・書込を並列に行うことを繰り返す((C)参照)。スレーブ3のデータの転送・書込が先に終了した場合はスレーブ5のデータの転送・書込とスレーブ1のデータの転送・書込を並列に行い((D)参照)、スレーブ5のデータの転送・書込が先に終了した場合はスレーブ3のデータの転送・書込とスレーブ1のデータの転送・書込を並列に行う((E)参照)。【選択図】図３
2010212958.tif 000002
【特許請求の範囲】
【請求項１】
マスタと、
第１記憶手段を各々備え前記マスタから直列に接続された複数のスレーブと、
前記マスタから前記複数のスレーブの各々に対し、前記複数のスレーブの前記第１記憶手段に各々記憶された互いに異なるスレーブ用情報を更新するための複数の更新情報のうちの対応する更新情報を転送し、前記個々のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報を更新させるにあたり、直接接続されていない複数のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる制御手段と、
含む電子機器。
【請求項２】
前記複数のスレーブは、自装置よりもマスタ側の装置からの前記更新情報の受信、自装置よりもマスタ側と反対側の装置への前記更新情報の送信、及び、自装置よりもマスタ側の装置から受信した前記更新情報に基づく自装置の前記第１記憶手段に記憶された前記スレーブ用情報の更新、の各処理を排他的に行う構成であり、
前記制御手段は、前記マスタからｎ番目のスレーブからｎ＋１番目のスレーブへの前記更新情報の転送及び前記ｎ＋１番目のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報の更新が行われている期間に、前記マスタからｍ(＜ｎ)番目のスレーブへの更新情報の転送及び前記ｍ番目のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報の更新を行わせることで、前記ｎ＋１番目のスレーブ及び前記ｍ番目のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる請求項１記載の電子機器。
【請求項３】
前記制御手段は、前記マスタから２ｉ番目(但しｉ＝１,２,３,…)のスレーブから成る第１スレーブ群と、(２ｉ−１)番目のスレーブから成る第２スレーブ群と、のうちの一方のスレーブ群の各スレーブに対して前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせた後に、他方のスレーブ群の各スレーブに対して前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる請求項１又は請求項２記載の電子機器。
【請求項４】
前記制御手段は、前記一方のスレーブ群の各スレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を開始させ、前記他方のスレーブ群に属する単一の特定スレーブを挟んで接続された一対のスレーブにおける前記更新情報の転送及び前記スレーブ用情報の更新が各々完了した場合に、前記一方のスレーブ群のうち前記更新情報の転送及び前記スレーブ用情報の更新が未了のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新と並列に、前記特定スレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を行わせ、前記一方のスレーブ群の各スレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新が全て完了すると、前記他方のスレーブ群の残りのスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる請求項３記載の電子機器。
【請求項５】
前記マスタは第２記憶手段を備え、前記複数の更新情報は外部から前記マスタへ転送されて前記第２記憶手段に一旦記憶された後に、個々のスレーブへ各々転送される請求項１〜請求項４の何れか１項記載の電子機器。
【請求項６】
マスタと、第１記憶手段を各々備え前記マスタから直列に接続された複数のスレーブと、を含む電子機器において、前記マスタ及び前記複数のスレーブに各々内蔵されたコンピュータのうちの少なくとも１つを、
前記マスタから前記複数のスレーブの各々に対し、前記複数のスレーブの前記第１記憶手段に各々記憶された互いに異なるスレーブ用情報を更新するための複数の更新情報のうちの対応する更新情報を転送し、前記個々のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報を更新させるにあたり、直接接続されていない複数のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる制御手段として機能させるためのプログラム。
【請求項７】
マスタと、第１記憶手段を各々備え前記マスタから直列に接続された複数のスレーブと、を含む電子機器において、前記マスタ及び前記複数のスレーブに各々内蔵されたコンピュータのうちの少なくとも１つを、請求項１〜請求項５の何れか１項記載の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子機器及びプログラムに関する。
【背景技術】
【０００２】
一般に、画像形成装置は給紙装置や後処理装置等のオプション装置を必要に応じて連結可能とされ、オプション装置を連結することで様々な機能を提供可能とされており、近年ではオプション装置を多段に連結した構成も一般的となってきている。この種のオプション装置は、不揮発性の記憶部を含むコンピュータを内蔵しており、稼働時には、記憶部に予め記憶された制御プログラムがコンピュータによって実行されることで、画像形成装置と連動して所期の機能が提供されるように構成されている。また、新たなバージョンの制御プログラムが開発された場合、外部機器から画像形成装置へ新たなバージョンの制御プログラムが転送され、この制御プログラムが各オプション装置へ転送された後に、旧バージョンの制御プログラムに上書きして記憶部に書き込まれることで、制御プログラムのバージョンアップが行われる。
【０００３】
上記に関連して特許文献１には、バージョンアップ時にデータ転送速度及びデータフォーマットの少なくとも一方を変更することで、制御プログラム更新時の作業時間を短縮する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２４７２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、複数のスレーブがマスタから直列に接続された構成において、個々のスレーブに保持されているスレーブ用情報の更新に要する時間を短縮することを、ハードウェア構成の変更を必要とすることなく実現できる電子機器及びプログラムを得ることが目的である。
【課題を解決するための手段】
【０００６】
上記目的を達成するために請求項１記載の発明に係る電子機器は、マスタと、第１記憶手段を各々備え前記マスタから直列に接続された複数のスレーブと、前記マスタから前記複数のスレーブの各々に対し、前記複数のスレーブの前記第１記憶手段に各々記憶された互いに異なるスレーブ用情報を更新するための複数の更新情報のうちの対応する更新情報を転送し、前記個々のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報を更新させるにあたり、直接接続されていない複数のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる制御手段と、含んで構成されている。
【０００７】
請求項２記載の発明は、請求項１記載の発明において、前記複数のスレーブは、自装置よりもマスタ側の装置からの前記更新情報の受信、自装置よりもマスタ側と反対側の装置への前記更新情報の送信、及び、自装置よりもマスタ側の装置から受信した前記更新情報に基づく自装置の前記第１記憶手段に記憶された前記スレーブ用情報の更新、の各処理を排他的に行う構成であり、前記制御手段は、前記マスタからｎ番目のスレーブからｎ＋１番目のスレーブへの前記更新情報の転送及び前記ｎ＋１番目のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報の更新が行われている期間に、前記マスタからｍ(＜ｎ)番目のスレーブへの更新情報の転送及び前記ｍ番目のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報の更新を行わせることで、前記ｎ＋１番目のスレーブ及び前記ｍ番目のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる。
【０００８】
請求項３記載の発明は、請求項１又は請求項２記載の発明において、前記制御手段は、前記マスタから２ｉ番目(但しｉ＝１,２,３,…)のスレーブから成る第１スレーブ群と、(２ｉ−１)番目のスレーブから成る第２スレーブ群と、のうちの一方のスレーブ群の各スレーブに対して前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせた後に、他方のスレーブ群の各スレーブに対して前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる。
【０００９】
請求項４記載の発明は、請求項３記載の発明において、前記制御手段は、前記一方のスレーブ群の各スレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を開始させ、前記他方のスレーブ群に属する単一の特定スレーブを挟んで接続された一対のスレーブにおける前記更新情報の転送及び前記スレーブ用情報の更新が各々完了した場合に、前記一方のスレーブ群のうち前記更新情報の転送及び前記スレーブ用情報の更新が未了のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新と並列に、前記特定スレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を行わせ、前記一方のスレーブ群の各スレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新が全て完了すると、前記他方のスレーブ群の残りのスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる。
【００１０】
請求項５記載の発明は、請求項１〜請求項４の何れかに記載の発明において、前記マスタは第２記憶手段を備え、前記複数の更新情報は外部から前記マスタへ転送されて前記第２記憶手段に一旦記憶された後に、個々のスレーブへ各々転送される。
【００１１】
請求項６記載の発明に係るプログラムは、マスタと、第１記憶手段を各々備え前記マスタから直列に接続された複数のスレーブと、を含む電子機器において、前記マスタ及び前記複数のスレーブに各々内蔵されたコンピュータのうちの少なくとも１つを、前記マスタから前記複数のスレーブの各々に対し、前記複数のスレーブの前記第１記憶手段に各々記憶された互いに異なるスレーブ用情報を更新するための複数の更新情報のうちの対応する更新情報を転送し、前記個々のスレーブの前記第１記憶手段に記憶された前記スレーブ用情報を更新させるにあたり、直接接続されていない複数のスレーブに対する前記更新情報の転送及び前記スレーブ用情報の更新を並列に行わせる制御手段として機能させる。
【００１２】
請求項７記載の発明に係るプログラムは、マスタと、第１記憶手段を各々備え前記マスタから直列に接続された複数のスレーブと、を含む電子機器において、前記マスタ及び前記複数のスレーブに各々内蔵されたコンピュータのうちの少なくとも１つを、請求項１〜請求項５の何れか１項記載の各手段として機能させる。
【発明の効果】
【００１３】
請求項１,５,６,７記載の発明は、本構成を有しない場合と比較して、複数のスレーブがマスタから直列に接続された構成において、個々のスレーブに保持されているスレーブ用情報の更新に要する時間を短縮することを、ハードウェア構成の変更を必要とすることなく実現できる、という効果を有する。
【００１４】
請求項２記載の発明は、本構成を有しない場合と比較して、各スレーブが、更新情報の受信、更新情報の送信及びスレーブ用情報の更新を排他的に行う構成であっても、スレーブ用情報の更新に要する時間を短縮することができる、という効果を有する。
【００１５】
請求項３記載の発明は、本構成を有しない場合と比較して、スレーブが多数存在している場合にも、更新情報の転送及びスレーブ用情報の更新を並列に行わせるスレーブの組み合わせを簡易な処理で選択できる、という効果を有する。
【００１６】
請求項４記載の発明は、本構成を有しない場合と比較して、スレーブ用情報の更新に要する時間を更に短縮することが可能となる、という効果を有する。
【図面の簡単な説明】
【００１７】
【図１】画像形成システムの概略構成を示すブロック図である。
【図２】画像形成装置制御部で実行される制御プログラム更新処理の内容を示すフローチャートである。
【図３】制御プログラム更新処理による各スレーブへのデータ転送・書込の推移の一例を示す概略図である。
【図４】各スレーブへのデータ転送・書込におけるバリエーションを示す概略図である。
【図５】具体的な処理シーケンスの一例を示すシーケンス図である。
【図６】具体的な処理シーケンスの一例を示すシーケンス図である。
【図７】具体的な処理シーケンスの一例を示すシーケンス図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係る画像形成システム１０が示されている。画像形成システム１０は本発明に係る電子機器に対応している。画像形成システム１０は画像形成装置１２を含んで構成され、画像形成装置１２は画像形成装置制御部１４、画像形成出力部２０、原稿に記録された画像を光電的に読み取り前記画像を表す画像データを出力するスキャナ１６、ＬＣＤ等から成り各種の情報を表示可能なディスプレイ及びテンキー等のキーボードを含むコントロールパネル１８を備えている。このうち、画像形成装置制御部１４は本発明におけるマスタに、画像形成出力部２０は本発明における複数のスレーブのうちの１つに各々対応している。
【００１９】
画像形成装置制御部１４は、ＣＰＵ１４Ａ、メモリ１４Ｂ、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等から成る不揮発性の記憶部１４Ｃ、通信Ｉ／Ｆ(インタフェース)部１４Ｄを含んで構成されており、スキャナ１６及びコントロールパネル１８が各々接続されている。また、通信Ｉ／Ｆ部１４Ｄは図示しないネットワークを介してクライアントＰＣに接続されると共に、後述する制御プログラムの更新時には、図１に破線で示すクライアントＰＣ４０(制御プログラムを更新するための更新データを記憶したＰＣ)がＵＳＢケーブル等の通信線を介して接続される。記憶部１４Ｃには、後述する更新情報を記憶するための更新情報記憶領域が設けられており、制御プログラムと、後述する制御プログラム更新処理を行うための制御プログラム更新プログラムが各々インストールされている。
【００２０】
このうち、制御プログラム更新プログラムは本発明に係るプログラムに対応しており、画像形成装置制御部１４は、ＣＰＵ１４Ａによって制御プログラム更新プログラムが実行されることで、本発明に係る制御手段として機能する。一方、制御プログラムは画像形成システム１０の稼働時にＣＰＵ１４Ａによって実行され、画像形成装置制御部１４は、ＣＰＵ１４Ａによって制御プログラムが実行されることで、利用者によってコントロールパネル１８が操作されたり、通信Ｉ／Ｆ部１４Ａと通信回線（例えばＬＡＮ）を介して接続されたコンピュータ(図示省略)が利用者によって操作されることで用紙への画像の記録(印刷)が指示された場合に、スキャナ１６から出力された画像データが表す画像、或いは通信回線を介してコンピュータから受信した画像データが表す画像を用紙に記録する画像記録処理を画像形成出力部２０によって行わせる制御処理を行う。なお、記憶部１４Ｃは請求項５に記載の第２記憶手段に対応している。
【００２１】
また画像形成出力部２０は、感光体を帯電させ、用紙に記録すべき画像に応じて感光体を露光することで前記画像の静電潜像を形成し、静電潜像を現像することでトナー像を形成し、形成したトナー像を用紙に転写して定着させる、という公知の電子写真プロセスによって用紙に画像を形成する画像形成部２２と制御部２４を備えている。制御部２４は、画像形成出力部２０用の制御プログラムが予め書き込まれたフラッシュＲＯＭ２６を内蔵したＣＰＵ２４Ａ、メモリ２４Ｂ、フラッシュＲＯＭ２６とは異なる画像形成出力部２０用の制御プログラムが予め書き込まれたフラッシュＲＯＭ２８、通信Ｉ／Ｆ部２４Ｄを含んで構成されており、通信Ｉ／Ｆ部２４Ｄは通信ケーブルを介して画像形成装置制御部１４の通信Ｉ／Ｆ部１４Ｄと接続されている。
【００２２】
なお、以下ではフラッシュＲＯＭ２６を内蔵フラッシュＲＯＭ２６、フラッシュＲＯＭ２８を外付フラッシュＲＯＭ２８と称する。画像形成出力部２０の制御部２４は、内蔵フラッシュＲＯＭ２６及び外付フラッシュＲＯＭ２８に記憶されている制御プログラムがＣＰＵ２４Ａによって実行されることで、画像形成装置制御部１４からの指示に応じて画像形成部２２の動作を制御すると共に、画像形成装置１２にインタフェース装置３０や追加機能提供装置３４(後述)が連結されている場合に、これらの装置へ各種のコマンドを送信する制御処理を行う。内蔵フラッシュＲＯＭ２６及び外付フラッシュＲＯＭ２８は本発明に係る第１記憶手段に対応しており、これらに記憶されている制御プログラムは本発明に係るスレーブ用情報に対応している。
【００２３】
また画像形成装置１２には、画像形成装置１２の利用者に対して追加機能を提供するための追加機能提供装置３４が複数種用意されている。追加機能提供装置３４としては、用紙を大量にセット可能で画像形成装置１２からの要求に応じて画像形成装置１２へ高速に用紙を供給する機能を備えた給紙装置（前処理装置ともいう）や、画像形成装置１２によって画像が記録されて排出される用紙に対して所定の後処理を行う機能を備えた後処理装置（フィニッシャーともいう）が挙げられる。また、後処理装置で実行可能な後処理としては、例えば用紙の反り（カール）を矯正するデカラー処理、用紙上の所定位置で用紙を折る折り処理、用紙上の所定位置に孔を開けるパンチ処理、複数枚の用紙の端部を揃えステープルにより単一の用紙束として綴じるステープル処理、用紙(束)を同一の排出トレイ上の異なる位置へ排出させるオフセット処理、排出された用紙(束)を積み重ねるスタック処理、複数枚の用紙の端部を揃えて製本するブックレット処理等が挙げられる。
【００２４】
画像形成システム１０に追加機能提供装置３４を設ける場合、図１に示すように、追加機能提供装置３４はインタフェース装置３０を介して画像形成装置１２と連結される。インタフェース装置３０は制御部３２を含んで構成され、制御部３２はＣＰＵ３２Ａ、メモリ３２Ｂ、不揮発性の記憶部３２Ｃ、通信Ｉ／Ｆ部３２Ｄを含んで構成されている。インタフェース装置３０の制御部３２の通信Ｉ／Ｆ部３２Ｄは、通信ケーブルを介して画像形成出力部２０の制御部２４の通信Ｉ／Ｆ部２４Ｄと接続される。記憶部３２Ｃにはインタフェース装置３０用の制御プログラムが予め記憶されており、制御部３２は、記憶部３２Ｃに記憶されている制御プログラムがＣＰＵ３２Ａによって実行されることで、画像形成出力部２０の制御部２４からコマンドを受信すると共に、必要に応じて追加機能提供装置３４へ予め定めたタイミングでコマンドを送信する制御処理を行う。インタフェース装置３０も本発明における複数のスレーブのうちの１つに対応している。また、記憶部３２Ｃは本発明に係る第１記憶手段に対応しており、これらに記憶されているインタフェース装置３０用の制御プログラムも本発明に係るスレーブ用情報に対応している。
【００２５】
また、追加機能提供装置３４は制御部３６を備えており、用紙取扱機構３８が設けられている。なお、用紙取扱機構３８の構成は、追加機能提供装置３４が提供する追加機能に応じて相違し、例えば用紙取扱機構３８が給紙装置であれば、用紙取扱機構３８は、例えば複数の給紙トレイのうちの任意の給紙トレイから用紙を引き出して搬送し、画像形成装置１２へ供給する構成とされ、用紙取扱機構３８は、自装置内に送り込まれた用紙を搬送し、要求された後処理を行って追加機能提供装置３４又は排出トレイへ排出する構成とされる。
【００２６】
また、制御部３６はＣＰＵ３６Ａ、メモリ３６Ｂ、不揮発性の記憶部３６Ｃ、通信Ｉ／Ｆ部３６Ｄを含んで構成されている。追加機能提供装置３４の制御部３６の通信Ｉ／Ｆ部３６Ｄは、通信ケーブルを介してインタフェース装置３０の制御部３２の通信Ｉ／Ｆ部３２Ｄと接続される。記憶部３６Ｃには追加機能提供装置３４用の制御プログラムが予め記憶されており、制御部３６は、記憶部３６Ｃに記憶されている制御プログラムがＣＰＵ３６Ａによって実行されることで、インタフェース装置３０の制御部３２からコマンドを受信し、受信したコマンドに応じて用紙取扱機構３８の動作を制御する制御処理を行う。追加機能提供装置３４も本発明における複数のスレーブのうちの１つに対応している。また、記憶部３６Ｃは本発明に係る第１記憶手段に対応しており、これらに記憶されている追加機能提供装置３４用の制御プログラムも本発明に係るスレーブ用情報に対応している。
【００２７】
このように、本実施形態では、画像形成出力部２０、インタフェース装置３０及び追加機能提供装置３４が画像形成装置１２の画像形成装置制御部１４に直列に接続される。なお、以下では必要に応じて、画像形成装置制御部１４をマスタ、画像形成出力部２０、インタフェース装置３０及び追加機能提供装置３４を各々スレーブと称する。また、図１では３台のスレーブが直列にマスタに接続された構成を示しているが、マスタに接続するスレーブの数等は上記に限られるものではない。
【００２８】
次に本実施形態の作用として、画像形成システム１０の各スレーブに記憶されている制御プログラム、例えば図１の構成において、画像形成出力部２０の内蔵フラッシュＲＯＭ２６及び外付フラッシュＲＯＭ２８に記憶されている画像形成出力部２０用の制御プログラム、インタフェース装置３０の記憶部３２Ｃに記憶されているインタフェース装置３０用の制御プログラム、及び、追加機能提供装置３４の記憶部３６Ｃに記憶されている追加機能提供装置３４用の制御プログラムを新たなバージョンへ更新する場合の処理について説明する。
【００２９】
画像形成システム１０の各スレーブに記憶されている制御プログラムは、新たな機能の追加やバグ修正等の必要が生ずる度に新たなバージョンのプログラムが開発される。各スレーブに記憶されている制御プログラムを、開発された新たなバージョンへ更新する場合には、各スレーブの制御プログラムを更新するための各スレーブ毎の更新データ(例えば各スレーブ毎の新たなバージョンの制御プログラムや、当該制御プログラムを自動的にインストールするためのプログラム等から成るデータ)が外部コンピュータから画像形成装置制御部１４へ転送され、転送された各スレーブ毎の更新データは記憶部１４Ｃの更新情報記憶領域に一旦記憶される。なお、画像形成装置制御部１４へ更新データを転送する外部コンピュータとしては、例えばオペレータの接続操作により、画像形成装置制御部１４の通信Ｉ／Ｆ部１４Ｄと通信ケーブル(例えばＵＳＢケーブル)を介して接続されるクライアントＰＣ４０が好適であるが、他のコンピュータ(例えばインターネット上のサーバ・コンピュータ)であってもよい。
【００３０】
そして、各スレーブ毎の更新データが記憶部１４Ｃの更新情報記憶領域に記憶されると、制御プログラム更新処理の実行が指示される。これにより、記憶部１４Ｃにインストールされている制御プログラム更新プログラムがＣＰＵ１４Ａによって実行されることで、図２に示す制御プログラム更新処理が画像形成装置制御部１４で行われる。
【００３１】
制御プログラム更新処理では、まずステップ５０において、画像形成システム１０に設けられているスレーブの総数ｎを取得する。なお、スレーブの総数ｎは画像形成システム１０の電源投入時に検知され、メモリ１４Ｂ等に記憶されている。ステップ５２では、総数ｎのスレーブ群を、マスタから接続順が奇数番目のスレーブから成るグループと、マスタから接続順が偶数番目のスレーブから成るグループにグループ分けする。例として図３(Ａ)に示すようにスレーブの総数ｎ＝５の場合は、５個のスレーブが、マスタから接続順が１,３,５番目のスレーブから成る第１グループと、マスタから接続順が２,４番目のスレーブから成る第２グループにグループ分けされる。またステップ５４では、ステップ５２で生成された２つのグループのうち、マスタからｎ番目のスレーブ(マスタから見て最も末端に接続されているスレーブ、図３の例ではスレーブ５)を含むグループを処理対象(制御プログラム更新対象)として選択する。
【００３２】
次のステップ５６では、変数ｘにスレーブの総数ｎを、変数ｙにスレーブの総数ｎから２を減算した値を、終了フラグ及び切替フラグに各々０を代入する。ステップ５８ではスレーブｙ(マスタから見てｙ番目のスレーブ、例えばスレーブの総数ｎ＝５の場合はマスタから見て３番目のスレーブ)が存在しているか否か判定する。ステップ５８の判定は、例えばスレーブの総数ｎ≦２の場合は当初より否定されるが、ステップ５８の判定が肯定された場合はステップ６０へ移行し、スレーブｘ用の更新データの１回の転送で当該更新データをスレーブｙ＋１迄転送するのに要する転送時間ｔtxと、スレーブｘ用の更新データの１回の転送で当該更新データをスレーブｙ＋１からスレーブｘへ転送してスレーブｘの記憶部に書き込むのに要する転送書込時間ｔsxを各々演算する。またステップ６２では、スレーブｙ用の更新データの１回の転送で当該更新データをスレーブｙ迄転送してスレーブｙの記憶部に書き込むのに要する転送書込時間ｔsy演算を演算する。
【００３３】
なお、本実施形態では、マスタからスレーブ１への１回の転送で転送される更新データのデータ量と、各スレーブ間の１回の転送で転送される更新データのデータ量が予め定められており、マスタからスレーブ１への更新データの１回の転送に要する時間と、各スレーブ間における更新データの１回の転送に要する時間は予め計測されて記憶部１４Ｃに記憶されている。また、各スレーブは、自装置よりもマスタ側の装置からの更新データの受信と、自装置よりもマスタ側と反対側の装置への更新データの送信、及び、自装置よりもマスタ側の装置から受信した更新データの記憶部への書込みを排他的に行う(同時に実行できない)構成であるので、スレーブ１では、マスタから１回の転送で転送される更新データを全て受信した後に、受信した更新データのスレーブ２への送信が開始される(他のスレーブも同様)。このため、上記の転送時間ｔtx及び転送書込時間ｔsx,ｔsyは、記憶部１４Ｃに記憶されている転送所要時間をスレーブの個数分だけ積算することで求めることができる。
【００３４】
なお、本実施形態ではスレーブの記憶部に更新データを書き込むのに要する時間が、スレーブ間の更新データの転送に要する時間に比べて十分に小さいため、スレーブの記憶部に更新データを書き込むのに要する時間を無視して転送書込時間ｔsx,ｔsyを求めているが、これに限られるものではなく、スレーブの記憶部に更新データを書き込むのに要する時間も加算して転送書込時間ｔsx,ｔsyを求めるようにしてもよい。
【００３５】
ステップ６２の処理を行うとステップ６８へ移行し、記憶部１４Ｃの更新情報記憶領域からスレーブｘ用の更新データを所定量(１回の転送での転送データ量)だけ読み出し、スレーブ１へ転送する。次のステップ７０では、終了フラグに１が設定されているか否か判定する。この場合は判定が否定されてステップ７２へ移行し、転送書込時間ｔsxが転送書込時間ｔsyよりも大きいか否か判定する。ステップ７２ではスレーブｘ用の更新データの転送・書込とスレーブｙ用の更新データの転送・書込を並列に行うことが可能か否かを判定しており、この判定が否定された場合、スレーブｘ用の１回分の更新データの転送・書込を開始してから転送時間ｔtxが経過した時点(スレーブｘ用の１回分の更新データのスレーブｙからスレーブｙ＋１への転送が完了し、スレーブｙがスレーブｙ＋１からの応答待ちとなった時点)でスレーブｙ用の１回分の更新データの転送・書込を開始したとすると、スレーブｙ用の１回分の更新データの転送・書込が完了する前にスレーブｙ＋１からスレーブｙへ応答が送信され、この応答をスレーブｙが受信できない(その時点でスレーブｙがスレーブｙ−１からのデータ受信又は受信データの書込みを行っているため)ことで、更新データの転送・書込みのシーケンスが中断されてしまうという問題が生ずる。
【００３６】
このため、ステップ７２の判定が否定された場合は、スレーブｘ用の更新データの転送・書込と並列にスレーブｙ用の更新データの転送・書込を行うことなくステップ９０へ移行し、スレーブｘ用の１回分の更新データの転送・書込が完了したことを表す応答を、スレーブｘから途中のスレーブを経由して受信したか否か判定し、判定が肯定される迄ステップ９０を繰り返す。
【００３７】
一方、ステップ７２の判定が肯定された場合は、スレーブｘ用の１回分の更新データの転送・書込が開始されてから転送時間ｔtxが経過した時点でスレーブｙ用の１回分の更新データの転送・書込を開始しても、スレーブｙ＋１からスレーブｙへ応答が送信される前にスレーブｙ用の１回分の更新データの転送・書込が完了しているので、スレーブｘ用の更新データの転送・書込と並列にスレーブｙ用の更新データの転送・書込を行うことは可能と判断できる。このため、ステップ７２の判定が肯定された場合はステップ７４へ移行し、転送書込時間ｔsxを転送書込時間ｔsyで除した値(但し端数切り捨て)を変数Ｌに代入する。なお変数Ｌは、スレーブｘ用の１回分の更新データの転送・書込が行われている間に、スレーブｙ用の１回分の更新データの転送・書込を実行する回数を表している。
【００３８】
次のステップ７６では、スレーブｘ用の１回分の更新データの転送・書込を開始してから(先のステップ６８の処理を行った時点から)転送時間ｔtxが経過したか否か判定し、判定が肯定される迄ステップ７６を繰り返す。ステップ７６の判定が肯定されるとステップ７８へ移行し、記憶部１４Ｃの更新情報記憶領域からスレーブｙ用の更新データを所定量(１回の転送での転送データ量)だけ読み出し、スレーブ１へ転送する。次のステップ８０では、スレーブｙ用の１回分の更新データの転送・書込が完了したことを表す応答を、スレーブｙから途中のスレーブを経由して受信したか否か判定し、判定が肯定される迄ステップ８０を繰り返す。
【００３９】
スレーブｙ用の１回分の更新データの転送・書込が完了すると、上記の応答を受信することでステップ８０の判定が肯定されてステップ８２へ移行し、記憶部１４Ｃの更新情報記憶領域からスレーブｙ用の更新データを全て読み出したか否かを判定することで、スレーブｙの記憶部に記憶されている制御プログラムの更新(のための更新データの転送・書込み)が終了したか否か判定する。この判定が否定された場合はステップ８６へ移行し、変数Ｌの値が１か否か判定する。判定が肯定された場合はステップ９０へ移行するが、判定が否定された場合はステップ８８へ移行し、変数Ｌの値を１だけデクリメントしてステップ７８へ戻る。従って、ステップ８６の判定が肯定される迄ステップ７８〜ステップ８８が繰り返され、スレーブｙ用の１回分の更新データの転送・書込が先のステップ７４で設定された変数Ｌと同数回繰り返されることになる。
【００４０】
ステップ８６の判定が肯定されるとステップ９０へ移行し、前述のように、スレーブｘ用の１回分の更新データの転送・書込が完了したことを表す応答を受信する迄待機する。スレーブｘ用の１回分の更新データの転送・書込が完了すると、上記の応答を受信することでステップ９０の判定が肯定されてステップ９２へ移行し、記憶部１４Ｃの更新情報記憶領域からスレーブｘ用の更新データを全て読み出したか否かを判定することで、スレーブｙの記憶部に記憶されている制御プログラムの更新(のための更新データの転送・書込み)が終了したか否か判定する。この判定が否定された場合はステップ９４へ移行し、切替フラグに１が設定されているか否か判定する。この判定も否定された場合はステップ６８に戻り、ステップ９２又はステップ９４の判定が肯定される迄、ステップ６８〜ステップ９４を繰り返す。
【００４１】
上記の処理により、例えば図３(Ａ)に示す構成では、スレーブ１、スレーブ３、スレーブ５から成る第１グループが処理対象として当初選択されると共に、当初はスレーブｘとしてスレーブ５が、スレーブｙとしてスレーブ３が各々選択されることで、図３(Ｃ)に示すように、マスタに記憶されているスレーブ５(スレーブｘ)用の更新データをマスタからスレーブ４へ順に転送する第１の状態と、スレーブ４へ転送されたスレーブ５(スレーブｘ)用の更新データをスレーブ５へ転送してスレーブ５の記憶部へ書き込む処理と、マスタに記憶されているスレーブ３(スレーブｙ)用の更新データをマスタからスレーブ３へ転送してスレーブ３の記憶部へ書き込む処理を並列に行う第２の状態と、に交互に切り替わり、スレーブ５(スレーブｘ)の更新データの転送・書込とスレーブ３(スレーブｙ)の更新データの転送・書込が並列に行われることになる。
【００４２】
ところで、図３(Ｃ)に示す両状態が繰り返されると、いずれ、スレーブｘ(スレーブ５)の更新データの転送・書込とスレーブｙ(スレーブ３)の更新データの転送・書込の一方が先に完了することになる。スレーブｙの更新データの転送・書込が先に完了した場合は先のステップ８４の判定が肯定され、ステップ８４で切替フラグに１を設定した後にステップ８６へ移行する。この場合、スレーブｘ用の１回分の更新データの転送・書込が完了した後に、ステップ９４の判定が肯定されてステップ９６へ移行し、変数ｙの値を２だけデクリメントし、次のステップ９８で切替フラグに０を設定した後にステップ５８に戻る。そして、変数ｙの変更後の値に対応する新たなスレーブｙが存在していれば(ステップ５８の判定が肯定されれば)、新たなスレーブｙに対してステップ６０以降の処理が行われる。
【００４３】
上記処理により、例えば図３(Ａ)に示す構成において、スレーブ５(スレーブｘ)の更新データの転送・書込とスレーブ３(スレーブｙ)の更新データの転送・書込が並列に行われている状態(図３(Ｃ)に示す状態)で、スレーブ３(スレーブｙ)の更新データの転送・書込が先に終了した場合には、変数ｙの値が２だけデクリメントされることで、スレーブ１が新たなスレーブｙとされ、図３(Ｄ)に示すように、マスタに記憶されているスレーブ５(スレーブｘ)用の更新データをマスタからスレーブ４へ順に転送する第１の状態と、スレーブ４へ転送されたスレーブ５(スレーブｘ)用の更新データをスレーブ５へ転送してスレーブ５の記憶部へ書き込む処理と、マスタに記憶されているスレーブ１(スレーブｙ)用の更新データをマスタからスレーブ１へ転送してスレーブ１の記憶部へ書き込む処理を並列に行う第２の状態と、に交互に切り替わり、スレーブ５(スレーブｘ)の更新データの転送・書込とスレーブ１(スレーブｙ)の更新データの転送・書込が並列に行う状態へ移行することになる。
【００４４】
また、スレーブｘの更新データの転送・書込とスレーブｙの更新データの転送・書込を並列に行っている状態で、スレーブｘの更新データの転送・書込が先に完了した場合は先のステップ９２の判定が肯定されてステップ１００へ移行し、終了フラグに１が設定されているか否か判定する。判定が否定された場合はステップ１０２へ移行し、変数ｙの値を変数ｘに代入すると共に、変数ｙの値を２だけデクリメントしてステップ５８に戻る。これにより、新たなスレーブｘに対して更新データの転送・書込が行われると共に、変数ｙの変更後の値に対応する新たなスレーブｙが存在していれば(ステップ５８の判定が肯定されれば)、新たなスレーブｙに対してもステップ６０以降の処理が行われる。
【００４５】
上記処理により、例えば図３(Ａ)に示す構成において、スレーブ５(スレーブｘ)の更新データの転送・書込とスレーブ３(スレーブｙ)の更新データの転送・書込が並列に行われている状態(図３(Ｃ)に示す状態)で、スレーブ５(スレーブｙ)の更新データの転送・書込が先に終了した場合には、変数ｙの値が変数ｘに設定されると共に、変数ｙの値が２だけデクリメントされることで、スレーブ３が新たなスレーブｘ、スレーブ１が新たなスレーブｙとされ、図３(Ｅ)に示すように、マスタに記憶されているスレーブ３(スレーブｘ)用の更新データをマスタからスレーブ２へ順に転送する第１の状態と、スレーブ２へ転送されたスレーブ３(スレーブｘ)用の更新データをスレーブ３へ転送してスレーブ３の記憶部へ書き込む処理と、マスタに記憶されているスレーブ１(スレーブｙ)用の更新データをマスタからスレーブ１へ転送してスレーブ１の記憶部へ書き込む処理を並列に行う第２の状態と、に交互に切り替わり、スレーブ３(スレーブｘ)の更新データの転送・書込とスレーブ１(スレーブｙ)の更新データの転送・書込を並列に行う状態へ移行することになる。
【００４６】
また、上述した処理では、何れかのスレーブの更新データの転送・書込が完了する毎に変数ｙの値を２ずつデクリメントするので、いずれは変数ｙの変更後の値に対応する新たなスレーブｙが存在しなくなり、ステップ５８の判定が否定される。ステップ５８の判定が否定された場合は次のステップ６４へ移行し、終了フラグに１を代入してステップ６８へ移行する。この場合、ステップ７０の判定が肯定されてステップ９０へ移行する(ステップ７２〜ステップ８８がスキップされる)ことで、スレーブｘに対してのみ更新データの転送・書込が行われる(他のスレーブの更新データの転送・書込の並列実行は行われない)と共に、スレーブｘの更新データの転送・書込が完了する(ステップ９２の判定が肯定される)と、前述のステップ１００の判定が肯定されてステップ１０４へ移行し、先のステップ５２で生成したスレーブのグループの中に、更新データの転送・書込を行っていないスレーブのグループが有るか否か判定する。
【００４７】
判定が肯定された場合はステップ１０６へ移行し、変数ｘにスレーブの総数ｎから１を減算した値を、変数ｙにスレーブの総数ｎから３を減算した値を、終了フラグ及び切替フラグに各々０を代入してステップ５８に戻る。この場合、新たなスレーブのグループに対してステップ５８以降の処理が繰り返され、新たなグループに属する各スレーブに対して更新データの転送・書込が各々行われることになる。そして、新たなグループに属する各スレーブに対して更新データの転送・書込を各々行うと、ステップ１０４の判定が否定されて処理を終了する。
【００４８】
なお、上記では一方のグループの各スレーブについて更新データの転送・書込が全て完了した後に、他方のグループの各スレーブについて更新データの転送・書込を行う態様を説明したが、本発明はこれに限定されるものではなく、一方のグループに対する更新データの転送・書込において、他方のグループに属する単一のスレーブを挟んで接続された一対のスレーブにおける更新データの転送・書込が各々完了した場合に、一方のグループの全てのスレーブについて更新データの転送・書込が完了しているか否かに拘わらず、前記一対のスレーブによって挟まれたスレーブ(他方のグループに属するスレーブ）に対する更新データの転送・書込を行うようにしてもよい。
【００４９】
具体的には、先に説明した制御プログラム更新処理(図２)では、スレーブ５の更新データの転送・書込とスレーブ３の更新データの転送・書込が並列に行われている状態(図３(Ｃ)に示す状態)で、スレーブ５の更新データの転送・書込及びスレーブ３の更新データの転送・書込が各々終了すると、スレーブ１をスレーブｘとし、スレーブ１に対してのみ更新データの転送・書込を行う状態へ移行するが、これに代えて、例として図４(Ａ)に示すように、更新データの転送・書込が既に終了したスレーブ５,３に挟まれたスレーブ４の更新データの転送・書込と、スレーブ１の更新データの転送・書込を並列に行う状態へ移行するようにしてもよい。これにより、全てのスレーブの更新データの転送・書込が完了する迄に要する時間が更に短縮される。上記態様は請求項４記載の発明に対応している。
【００５０】
また、上記では最大２つのスレーブについて更新データの転送・書込を並列に行う態様を説明したが、これに限定されるものではなく、更新データの転送・書込を２つ以上のスレーブについて並列に行うようにしてもよい。例えば図３(Ａ)に示す構成において、スレーブ１,３,５について更新データの転送・書込を並列に行うことは、例として図４(Ａ)に示すように、マスタに記憶されているスレーブ５用の更新データをマスタからスレーブ４へ順に転送する第１の状態、スレーブ４へ転送されたスレーブ５用の更新データをスレーブ５へ転送してスレーブ５の記憶部へ書き込むと共に、マスタに記憶されているスレーブ３用の更新データをマスタからスレーブ２へ順に転送する第２の状態、及び、スレーブ４へ転送されたスレーブ５用の更新データをスレーブ５へ転送してスレーブ５の記憶部へ書き込むと共に、スレーブ２へ転送されたスレーブ３用の更新データをスレーブ３へ転送してスレーブ３の記憶部へ書き込み、かつ、マスタに記憶されているスレーブ１用の更新データをマスタからスレーブ１へ順に転送してスレーブ１の記憶部へ書き込む第３の状態へ順に切り替えることを繰り返すことで実現することができる。
【００５１】
また、本発明に係る電子機器は、本発明に係るマスタとしての画像形成装置制御部１４に、本発明に係る複数のスレーブとしての画像形成出力部２０やインタフェース装置３０，追加機能提供装置３４が直列に接続された構成の画像形成システム１０に限られるものではなく、マスタに複数のスレーブが直列に接続され、各スレーブに互いに異なるスレーブ用情報が各スレーブに記憶された構成の任意の機器に適用可能である。
【００５２】
更に、上記では本発明に係るプログラムに対応する制御プログラム更新プログラムが画像形成装置制御部１４のＣＰＵ１４Ａで実行されることで、画像形成装置制御部１４(マスタ)が本発明に係る制御手段として機能する態様を説明したが、これに限定されるものではなく、本発明に係るプログラムを、例えば画像形成出力部２０の制御部２４のＣＰＵ２４Ａによって実行させる等のように、スレーブを本発明に係る制御手段として機能させることも可能である。
【００５３】
また、上記では本発明に係るプログラムに対応する制御プログラム更新プログラムが画像形成装置制御部１４の記憶部１４Ｃに予め記憶（インストール）されている態様を説明したが、本発明に係るプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【実施例】
【００５４】
図１に示す画像形成システム１０において、各種条件として具体的な数値を与えた場合の処理シーケンスの一例を説明する。なお、本発明は以下に記載した数値に限られるものではない。まず各種条件として与えた数値を明示する。
【００５５】
(転送データサイズ)
画像形成装置制御部１４と画像形成出力部２０との間では１回に64Ｋバイトのデータを転送可能とする。また、画像形成出力部２０とインタフェース装置３０の間、インタフェース装置３０と追加機能提供装置３４の間については、１コマンドで最大248バイトのデータを転送可能とする。
【００５６】
(通信時間) 
画像形成装置制御部１４と画像形成出力部２０との間の通信における通信レートは１Ｍbpsとする。従って、画像形成装置制御部１４と画像形成出力部２０との間での64Ｋバイトのデータのデータ転送時間は約0.6秒となる。また、画像形成出力部２０とインタフェース装置３０の間、インタフェース装置３０と追加機能提供装置３４の間の通信レートにおける通信レートは31.25Ｋbpsとする。従って、64Ｋバイトのデータのデータ転送時間(転送書込時間ｔsx)は約17秒となる。なお、画像形成出力部２０とインタフェース装置３０の間、インタフェース装置３０と追加機能提供装置３４の間では、248バイトずつのデータ転送が２６５回繰り返されることで64Ｋバイトのデータが転送される。
【００５７】
(画像形成出力部２０への更新データ転送・内蔵フラッシュＲＯＭ２６への書込)
図１に示す画像形成システム１０では、スレーブの総数ｎ＝３であるので、スレーブ３(追加機能提供装置３４：スレーブｘ)の更新データの転送・書込とスレーブ１(画像形成出力部２０：スレーブｙ) の更新データの転送・書込が並列に行われる。画像形成出力部２０は制御プログラムが内蔵フラッシュＲＯＭ２６と外付フラッシュＲＯＭ２８に分けて記憶されているが、ここでは制御プログラムの更新を内蔵フラッシュＲＯＭ２６に対して先に行うものとする。図５に示すように、画像形成出力部２０への更新データ転送・内蔵フラッシュＲＯＭ２６への書込は、追加機能提供装置３４用の64Ｋバイトの更新データのインタフェース装置３０への転送が完了すると開始される。
【００５８】
ここで、内蔵フラッシュＲＯＭ２６への128バイトのデータの書込みに要する時間が17ｍ秒、第１ブロックの書込サイズが52Ｋバイト、第２〜第４ブロックの書込サイズが64Ｋバイトであるとすると、第１ブロックであればデータ書込時間は、
52Ｋバイト÷128バイト×17ｍ秒＝7072ｍ秒
第２〜第４ブロックであればデータ書込時間は、
64Ｋバイト÷128バイト×17ｍ秒＝8704ｍ秒
となるので、転送時間を含めた所要時間(転送書込時間ｔsy)は約10秒となる(Ｌ＝１)。従って、追加機能提供装置３４への更新データの転送・書込と画像形成出力部２０への更新データ転送・内蔵フラッシュＲＯＭ２６への書込を並列に行う場合には、図５にも示すように、追加機能提供装置３４用の更新データがインタフェース装置３０から追加機能提供装置３４へ転送されて追加機能提供装置３４の記憶部３６Ｃに書込まれている期間に、画像形成出力部２０用の更新データの画像形成装置制御部１４から画像形成出力部２０への転送・内蔵フラッシュＲＯＭ２６への書込を１回行うことができる。
【００５９】
(画像形成出力部２０への更新データ転送・外付フラッシュＲＯＭ２８への書込)
図５に示すシーケンスにおいて、追加機能提供装置３４への更新データの転送・書込よりも先に、画像形成出力部２０への更新データ転送・内蔵フラッシュＲＯＭ２６への書込が終了した場合、追加機能提供装置３４への更新データの転送・書込と並行して、画像形成出力部２０への更新データ転送・外付フラッシュＲＯＭ２８への書込が行われる。
【００６０】
ここで、外付フラッシュＲＯＭ２８への１ワードの書き込みに要する時間が16μ秒とすると、第５〜第３６ブロックの１ブロック当りの書込時間は
(64Ｋバイト÷２)×16μ秒＝525ｍ秒
となるので、転送時間を含めた所要時間(転送書込時間ｔsy)は約1.2秒となる(Ｌ＝14)。従って、追加機能提供装置３４への更新データの転送・書込と画像形成出力部２０への更新データ転送・外付フラッシュＲＯＭ２８への書込を並列に行う場合には、図６にも示すように、追加機能提供装置３４用の更新データがインタフェース装置３０から追加機能提供装置３４へ転送されて追加機能提供装置３４の記憶部３６Ｃに書込まれている期間に、画像形成出力部２０用の更新データの画像形成装置制御部１４から画像形成出力部２０への転送・外付フラッシュＲＯＭ２８への書込を１４回行うことができる。
【００６１】
(追加機能提供装置３４への更新データの転送・書込終了後)
図６に示すシーケンスにおいて、画像形成出力部２０への更新データ転送・外付フラッシュＲＯＭ２８への書込よりも先に、追加機能提供装置３４への更新データの転送・書込が終了した場合には、図７に示すように、画像形成出力部２０への更新データ転送・外付フラッシュＲＯＭ２８への書込が継続される。そして、画像形成出力部２０への更新データ転送・外付フラッシュＲＯＭ２８への書込が終了すると、インタフェース装置３０への更新データ転送・記憶部３２Ｃへの書込が開始されることになる(図示省略)。
【符号の説明】
【００６２】
１０  画像形成システム
１２  画像形成装置
１４  画像形成装置制御部
１４Ｃ  記憶部
２０  画像形成出力部
２４  制御部
２６  内蔵フラッシュＲＯＭ
２８  外付フラッシュＲＯＭ
３０  インタフェース装置
３２  制御部
３２Ｃ  記憶部
３４  追加機能提供装置
３６  制御部
３６Ｃ  記憶部
【図１】
2010212958.tif 000003
【図２】
2010212958.tif 000004
【図３】
2010212958.tif 000005
【図４】
2010212958.tif 000006
【図５】
2010212958.tif 000007
【図６】
2010212958.tif 000008
【図７】
2010212958.tif 000009