(57)【特許請求の範囲】
【請求項１】
印刷を実行可能な画像形成装置であって、
オプションユニットを前記画像形成装置本体に接続するための接続インタフェースと、
オプションユニットの種別を設定する設定手段と、
前記設定手段により設定された種別のオプションユニットの制御プログラムを更新するための第１更新用プログラム、及び、前記画像形成装置本体を制御するための本体制御プログラムを更新するためのプログラムであり、前記第１更新用プログラムに対応するための第２更新用プログラムを、前記接続インタフェースに対して前記オプションユニットが接続される前に、ネットワークを介して受信する受信手段と、
前記受信手段により受信された前記第１更新用プログラム及び前記第２更新用プログラムを、記憶する記憶手段と、
前記記憶手段により記憶された前記第２更新用プログラムを読み出し、読み出した前記第２更新用プログラムを用いて前記画像形成装置を制御し、かつ、前記記憶手段により記憶された前記第１更新用プログラムを読み出し、読み出した前記第１更新用プログラムを用いて、前記接続インタフェースに対して接続されているオプションユニットを動作させる制御手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記接続インタフェースに対してオプションユニットが接続されたことが検知されると、前記記憶手段により記憶された前記第１更新用プログラムのバージョンと、前記接続インタフェースに対して接続されたオプションユニットの制御プログラムのバージョンとを比較する比較手段と、
前記比較手段による比較の結果、前記第１更新用プログラムのバージョンが、前記接続インタフェースに対して接続されたオプションユニットの制御プログラムのバージョンより新しい場合に、前記第１更新用プログラムを用いて、前記接続インタフェースに対して接続されたオプションユニットの制御プログラムを更新する更新手段と、
を備えることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記比較手段による比較の結果、前記第１更新用プログラムのバージョンが、前記接続インタフェースに対して接続されたオプションユニットの制御プログラムのバージョンより古い場合、前記第１更新用プログラムを用いた、前記接続インタフェースに対して接続されたオプションユニットの制御プログラムの更新が行われないことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記受信手段は、前記設定手段により設定された種別でないオプションユニットについては、当該オプションユニットを制御するための制御プログラムを更新するための更新用プログラムを、前記接続インタフェースに対して当該オプションユニットが接続される前に、受信しないことを特徴とする請求項１乃至３の何れか１項に記載の画像形成装置。
【請求項５】
記憶手段とオプションユニットを接続するための接続インタフェースとを有し、印刷を実行可能な画像形成装置が実行するプログラム更新方法であって、
オプションユニットの種別を設定する設定ステップと、
前記設定ステップで設定された種別のオプションユニットの制御プログラムを更新するための第１更新用プログラム、及び、前記画像形成装置本体を制御するための本体制御プログラムを更新するためのプログラムであり、前記第１更新用プログラムに対応するための第２更新用プログラムを、前記接続インタフェースに対して前記オプションユニットが接続される前に、ネットワークを介して受信する受信ステップと、
前記受信ステップで受信された前記第１更新用プログラム及び前記第２更新用プログラムを、前記記憶手段に記憶する記憶ステップと、
前記記憶手段により記憶された前記第２更新用プログラムを読み出し、読み出した前記第２更新用プログラムを用いて前記画像形成装置を制御し、かつ、前記記憶手段により記憶された前記第１更新用プログラムを読み出し、読み出した前記第１更新用プログラムを用いて、前記接続インタフェースに対して接続されているオプションユニットを動作させる制御ステップと、
を含むことを特徴とするプログラム更新方法。
【請求項６】
コンピュータに、請求項５に記載のプログラム更新方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、プログラム更新方法及びプログラムに関する。
【背景技術】
【０００２】
複合機等の画像形成装置は、画像形成装置全体を制御している本体コントローラユニットのＣＰＵと、ＦＡＸ、折り機能等のオプション機能を個別に制御しているオプションユニットのＣＰＵと、を有する。オプションユニットのＣＰＵがＲＯＭ等の記憶装置に記憶されている各機能に対応した制御プログラムに基づき動作をすることによって、ＦＡＸ、折り機能等の各機能が実現される。
従来から、オプション機能を利用したい場合は、サービスマンがオプションユニットを装着し、本体の制御プログラムのバージョンにあった組み合わせのオプションユニットの制御プログラムを更新する必要がある。オプションユニットの制御プログラムの更新方法として、特許文献１のような技術が提案されている。前記技術とは、本体コントローラが、オプションユニット内の制御プログラムバージョンとサーバ上のそれとを比較する。そして、本体コントローラは、オプションユニットのバージョンのほうが古ければサーバ上のオプションユニットの制御プログラムを本体にダウンロードして、その後、オプションユニットにダウンロードするというものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１１６６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ファクスボード等のオプションユニットは、複数機種にわたって共通のオプションユニットとして使用されることがあり、在庫管理がしやすい点から同一のユニット部番（ユニット＋制御プログラム）として運用されている。
ただ、新たな機種を生産する度に何らかの問題等の対応でオプションユニットの制御プログラムに修正が入ることが多々あり、当然プログラムバージョンもその度にあがる。この場合、複数機種であがったバージョンにおいて評価終了後、すでに市場に出ている機種に対してオプションユニットのプログラムをダウンロードする必要がある。
新規でオプション機能を利用する場合、サービスマンは、まずはオプションユニットを本体に装着する。しかし、このままでは同一部番管理のため、オプションユニット内にある制御プログラムのバージョンが古い場合が多い。特許文献１の技術であれば、このような場合、サーバにアクセスして、オプションユニットのプログラムを本体にダウンロードしてから、オプションユニットの制御プログラムの更新を行わなければならなかった。また、本体側でオプションユニットの制御プログラムを本体の制御プログラムのバージョンに対応しているかどうかも判断する必要があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、本体とオプションユニットとのプログラムのバージョンの不一致による問題の発生を容易に防ぐことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の画像形成装置は、印刷を実行可能な画像形成装置であって、オプションユニットを前記画像形成装置本体に接続するための接続インタフェースと、オプションユニットの種別を設定する設定手段と、前記設定手段により設定された種別のオプションユニットの制御プログラムを更新するための第１更新用プログラム、及び、前記画像形成装置本体を制御するための本体制御プログラムを更新するためのプログラムであり、前記第１更新用プログラムに対応するための第２更新用プログラムを、前記接続インタフェースに対して前記オプションユニットが接続される前に、ネットワークを介して受信する受信手段と、前記受信手段により受信された前記第１更新用プログラム及び前記第２更新用プログラムを、記憶する記憶手段と、前記記憶手段により記憶された前記第２更新用プログラムを読み出し、読み出した前記第２更新用プログラムを用いて前記画像形成装置を制御し、かつ、前記記憶手段により記憶された前記第１更新用プログラムを読み出し、読み出した前記第１更新用プログラムを用いて、前記接続インタフェースに対して接続されているオプションユニットを動作させる制御手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、本体とオプションユニットとのプログラムのバージョンの不一致による問題の発生を容易に防ぐことができる。
【図面の簡単な説明】
【０００８】
【図１】複合機のハードウェア構成の一例を示す図である。
【図２】複合機におけるサーバからのプログラム取得処理等の一例を示すフローチャートである。
【図３】複合機における本体制御プログラムの更新処理の一例を示すフローチャートである。
【図４】複合機におけるオプションユニット（ファクスユニット、折り機ユニット）の制御プログラムの更新処理の一例を示すフローチャートである。
【図５】オプションユニット選択画面の一例を示す図である。
【図６】複合機におけるオプションユニットの接続を検知した際の、オプションユニットの制御プログラムの更新処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
以下、本発明の実施するための最良の形態について図面を用いて説明する。
図１は、複合機１０のハードウェア構成の一例を示す図である。
複合機１０は、本体コントローラユニット１００に、オプションユニットとしてファクスユニット２００、及び折り機ユニット３００を備えている。これらオプションユニットは、複合機１０本体から着脱可能である。複合機１０は、本体コントローラユニット、オプションユニットのＣＰＵが連携して動作することにより、各種機能を実現している。複合機１０の本体コントローラのＣＰＵは、デバイスＩ／Ｆ経由で各オプションユニットのＣＰＵに接続されている。各オプションユニットの各ＣＰＵが処理すべき内容を記述した制御プログラムがそれぞれのオプションユニット内の書き換え可能な不揮発性メモリ（フラッシュメモリ）に格納されている。
【００１１】
本体コントローラユニット１００は、以下の構成要素から構成される。
ＣＰＵ１０１は、システム制御部であり、装置全体を制御する。ＲＯＭ１０２は、ＣＰＵの制御プログラムを格納する書き換え可能な不揮発性メモリである。ＲＡＭ１０３は、ＳＲＡＭ等で構成され、画像データを蓄積する。画像メモリ１０４は、ＤＲＡＭ等で構成され、画像データを蓄積する。画像処理部１０５は、スキャナによって読み込まれた画像データに補正処理を施して高精細な画像データを出力する。スキャナ１０６は、ＣＳイメージセンサ、原稿搬送機構等で構成され、原稿を光学的に読み取って電気的な画像データに変換する。両面原稿の読み取りを行う。操作部１０７は、キーボード、表示部等で構成され、オペレータが各種入力操作を行う。プリントバッファ１０８は、印字用文字コードを格納する為の１ページ分のバッファメモリである。プリンタ１０９は、受信画像やファイルデータを普通紙に記録するＬＢＰ等のプリンタであり、両面記録を行うことができる。ネットワークＩ／Ｆ１１０は、ネットワークを制御する。デバイスＩ／Ｆ１１１は、ファクスユニットを制御する。デバイスＩ／Ｆ１１２は、折り機ユニットを制御する。ＩＰ網１１３は、インターネット等のＩＰ網である。
【００１２】
ＲＯＭ１０２には、本体コントローラのＣＰＵ１０１が用いる制御プログラム１０２１にオプションユニットの制御プログラムが組み込まれて記憶されている。つまりファクスユニット、折り機ユニットのそれぞれのＣＰＵが使用するファクスユニット制御プログラム１０２２、折り機ユニット制御プログラム１０２３が組み込まれて記憶されている。ＣＰＵ１０１は、本体コントローラユニット１００の制御プログラムに基づき、複合機１０について各種制御を行う。一方、ＲＯＭ１０２のプログラム更新用領域に記憶されたファクスユニット制御プログラム１０２２、折り機ユニット制御プログラム１０２３は、ファクスユニット、折り機ユニットにそれぞれダウンロードされる。ファクスユニット２００は、ＣＰＵ２０１、その制御プログラム等を記憶する書き換え可能な不揮発性メモリ（フラッシュメモリ）２０２及びデバイスＩ／Ｆ２０３を備えている。ファクスユニット２００のホストＩ／Ｆ２０３は、本体コントローラユニット１００デバイスＩ／Ｆ１１１に接続されている。折り機ユニット３００は、ＣＰＵ３０１、その制御プログラム等を記憶する書き換え可能な不揮発性メモリ（フラッシュメモリ）３０２及びホストＩ／Ｆ３０３を備えている。折り機ユニット３００内のホストＩ／Ｆ３０３は、本体コントローラユニット１００内のデバイスＩ／Ｆ１１２に接続されている。
【００１３】
なお、本実施形態を含む以下の実施形態では、本体制御プログラムにオプションユニットの制御プログラムが含まれているものとして説明を行うが、このことは以下の実施形態を制限するものではない。例えば、複合機１０は、本体制御プログラムと、複合機１０に接続され得るオプションユニットの制御プログラムと、がパックとなったファイル等を取得、保持するようにしてもよい。また、本実施形態では、説明の簡略化のため、オプションユニットの一例として、ファクスユニット２００と、折り機ユニット３００と、を例に説明を行うが、オプションユニットはこれらに限られない。例えば、他のオプションユニットとして、後述する実施形態に示されるように、パンチユニットや、中綴じ製本ユニット等がある。なお、複合機１０は、画像形成装置の一例である。
また、以下では、ファクスユニット制御プログラム１０２２を、ファクスユニットの制御プログラム、折り機ユニット制御プログラム１０２３を、折り機ユニットの制御プログラムともいう。
【００１４】
図２は、複合機１０におけるサーバからのプログラム取得処理等の一例を示すフローチャートである。
ステップＳ１０において、ＣＰＵ１０１は、ユーザから所定の操作をされると、操作部１０７にアップデートに係る操作画面を表示する。
ステップＳ１１において、ＣＰＵ１０１は、前記操作画面を介して、ユーザよりアップデート指示を受け取ったか否かを判定する。ＣＰＵ１０１は、前記操作画面を介して、ユーザよりアップデート指示を受け取った場合、ステップＳ１２に処理を進め、前記操作画面を介して、ユーザよりアップデート指示を受け取っていない場合、ステップＳ１１の処理を繰り返す。
ステップＳ１２において、ＣＰＵ１０１は、ネットワークを介して通信可能なサーバから最新の本体制御プログラムを取得する。上述したように、この本体制御プログラムには、複合機１０に接続され得る最新のオプションユニットの制御プログラムが含まれる。例えば複合機１０に接続されているオプションユニットがファックスユニットと折り機ユニットとの２種類だったとしても、パンチユニット、中綴じ製本ユニット等の複合機１０に接続されていない他のオプションユニットの制御プログラムも含まれる。
ステップＳ１３において、ＣＰＵ１０１は、取得した本体制御プログラムを、ＲＯＭ１０２のダウンロード領域に記憶する。
ステップＳ１４において、ＣＰＵ１０１は、前記ダウンロード領域に記憶した本体制御プログラムを、ＲＯＭ１０２のプログラム更新領域にコピーする。なお、ＣＰＵ１０１は、本体制御プログラムを、前記プログラム更新領域にコピーする際、本体制御プログラムに含まれるオプションユニットの制御プログラム以外の部分（つまり、実際の本体制御プログラムの部分）のみをコピーするようにしてもよい。
ステップＳ１５において、ＣＰＵ１０１は、複合機１０の本体を再起動する。
【００１５】
図３は、複合機１０における本体制御プログラムの更新処理の一例を示すフローチャートである。図３の処理は、図２のステップＳ１５に引き続く処理である。
複合機１０の本体の主電源が投入されると、ＣＰＵ１０１は、ＲＯＭ１０２のプログラム記憶領域に記憶されている本体制御プログラムに基づき、以下の処理を実行する。まず、ステップＳ２０において、ＣＰＵ１０１は、複合機１０の本体を起動する。
ステップＳ２１において、ＣＰＵ１０１は、ＲＯＭ１０２のプログラム更新領域に本体制御プログラムがあるか否かを判定する。ＣＰＵ１０１は、ＲＯＭ１０２のプログラム更新領域に本体制御プログラムがある場合、処理をステップＳ２２に進め、ＲＯＭ１０２のプログラム更新領域に本体制御プログラムがない場合、図３に示す処理を終了する。
ステップＳ２２において、ＣＰＵ１０１は、プログラム更新モードに移行する。
ステップＳ２３において、ＣＰＵ１０１は、複合機１０の本体制御プログラムを、プログラム更新領域にある本体制御プログラムに更新するプログラム更新処理を実行する。例えば、ＣＰＵ１０１は、ＲＯＭ１０２のプログラム記憶領域に記憶されている本体制御プログラムを、プログラム更新領域にある本体制御プログラムで置き換える。
ステップＳ２４において、ＣＰＵ１０１は、プログラム更新領域にある本体制御プログラムを削除する。
上述した図２及び図３の処理によって、本体制御プログラムは、最新の本体制御プログラムに更新される。また、複合機１０は、最新の本体制御プログラムと共に接続され得る最新のオプションユニットの制御プログラムをＲＯＭ１０２のダウンロード領域に保持することができる。
【００１６】
図４は、複合機１０におけるオプションユニット（ファクスユニット、折り機ユニット）の制御プログラムの更新処理の一例を示すフローチャートである。
複合機１０の本体の主電源が投入されると、ＣＰＵ１０１は、本体制御プログラムに基づき、以下の処理を実行する。まず、ステップＳ１０１において、ＣＰＵ１０１は、複合機１０の本体を起動する。
ステップＳ１０２において、ＣＰＵ１０１は、ＲＯＭ１０２のプログラム更新用領域にオプションユニットの制御プログラムがあるか否かを判定する。ＣＰＵ１０１は、ＲＯＭ１０２のプログラム更新用領域にオプションユニットの制御プログラムがある場合、処理をステップＳ１１５に進める。一方、ＣＰＵ１０１は、ＲＯＭ１０２のプログラム更新用領域にオプションユニットの制御プログラムがない場合、処理をステップＳ１０３に進める。
ここで、最初に図４に示す処理が実行された場合、プログラム更新用領域にオプションユニットの制御プログラムはないので、ステップＳ１０２の判定においてＮＯと判定され、処理はステップＳ１０３に進む。そして、後述するＳ１０７やＳ１１２においてオプションユニットの制御プログラムがプログラム更新用領域にコピーされた場合、ステップＳ１０２の判定においてＹＥＳと判定され、処理はステップＳ１１５に進む。そして、後述するＳ１１５やＳ１１６で説明されるように、オプションユニットの制御プログラムが更新される。
【００１７】
ステップＳ１０３において、ＣＰＵ１０１は、本体コントローラユニット１００の制御対象となるファクスユニット２００が接続されているか否かを判定する。ＣＰＵ１０１は、ファクスユニット２００が接続されている場合、処理をステップＳ１０４に進め、ファクスユニット２００が接続されていない場合、処理をステップＳ１０８に進める。
ステップＳ１０４において、ＣＰＵ１０１は、接続先のファクスユニット２００に、ファクスユニット２００内のフラッシュメモリ２０２に記憶されている制御プログラムのバージョンの取得要求に係るコマンドを送信する。そして、ＣＰＵ１０１は、前記コマンドに対するレスポンスに基づいて、ファクスユニット２００の制御プログラムのバージョンが取得できたか否かを判定する。ＣＰＵ１０１は、ファクスユニット２００の制御プログラムのバージョンが取得できた場合、処理をステップＳ１０５に進め、ファクスユニット２００の制御プログラムのバージョンが取得できなかった場合、処理をステップＳ１０８に進める。
ステップＳ１０５において、ＣＰＵ１０１は、前記取得したバージョンと本体コントローラユニットのＲＯＭ１０２のダウンロード領域に記憶されているファクスユニットの制御プログラムのバージョンとを比較する。
ステップＳ１０６において、ＣＰＵ１０１は、比較の結果、前記取得したバージョンのほうが古いか否かを判定する。ＣＰＵ１０１は、比較の結果、前記取得したバージョンのほうが古い場合、処理をステップＳ１０７に進め、前記取得したバージョンのほうが古くない場合、処理をステップＳ１０８に進める。
【００１８】
ステップＳ１０７において、ＣＰＵ１０１は、前記ダウンロード領域に記憶されているファクスユニットの制御プログラムをＲＯＭ１０２のプログラム更新用領域にコピーする。より具体的に説明すると、ＣＰＵ１０１は、前記ダウンロード領域に記憶されている本体制御プログラムに含まれる最新のファクスユニットの制御プログラムをＲＯＭ１０２のプログラム更新用領域にコピーする。
ステップＳ１０８において、ＣＰＵ１０１は、本体コントローラユニット１００の制御対象となる折り機ユニット３００が接続されているか否かを判定する。ＣＰＵ１０１は、折り機ユニット３００が接続されている場合、処理をステップＳ１０９に進め、折り機ユニット３００が接続されていない場合、処理をステップＳ１１４に進める。
ステップＳ１０９において、ＣＰＵ１０１は、接続先の折り機ユニット３００に、折り機ユニット３００内のフラッシュメモリ２０２に記憶されている制御プログラムのバージョンの取得要求に係るコマンドを送信する。そして、ＣＰＵ１０１は、前記コマンドに対するレスポンスに基づいて、折り機ユニット３００の制御プログラムのバージョンが取得できたか否かを判定する。ＣＰＵ１０１は、折り機ユニット３００の制御プログラムのバージョンが取得できた場合、処理をステップＳ１１０に進め、折り機ユニット３００の制御プログラムのバージョンが取得できなかった場合、処理をステップＳ１１４に進める。
ステップＳ１１０において、ＣＰＵ１０１は、前記取得したバージョンと本体コントローラユニットのＲＯＭ１０２のダウンロード領域に記憶されている折り機ユニットの制御プログラムのバージョンとを比較する。
【００１９】
ステップＳ１１１において、ＣＰＵ１０１は、比較の結果、前記取得したバージョンのほうが古いか否かを判定する。ＣＰＵ１０１は、比較の結果、前記取得したバージョンのほうが古い場合、処理をステップＳ１１１２に進め、前記取得したバージョンのほうが古くない場合、処理をステップＳ１１４に進める。
ステップＳ１１２において、ＣＰＵ１０１は、前記ダウンロード領域に記憶されている折り機ユニットの制御プログラムをＲＯＭ１０２のプログラム更新用領域にコピーする。より具体的に説明すると、ＣＰＵ１０１は、前記ダウンロード領域に記憶されている本体制御プログラムに含まれる最新の折り機ユニットの制御プログラムをＲＯＭ１０２のプログラム更新用領域にコピーする。
ステップＳ１１３において、ＣＰＵ１０１は、複合機１０の本体を再起動する。
一方、ステップＳ１１４において、ＣＰＵ１０１は、通常通り、そのまま複合機１０の本体を起動する。
また、一方、ステップＳ１１５において、プログラム更新モードに移行する。
ステップＳ１１６において、ＣＰＵ１０１は、プログラム更新処理を実行する。例えば、プログラム更新領域に最新のファックスユニットの制御プログラムがある場合、ＣＰＵ１０１は、前記制御プログラムでファクスユニット２００のフラッシュメモリ２０２に記憶されているファックスユニットの制御プログラムを更新する処理を実行する。また、例えば、プログラム更新領域に最新の起き理ユニットの制御プログラムがある場合、ＣＰＵ１０１は、前記制御プログラムで折り機ユニット３００のフラッシュメモリ３０２に記憶されている折り機ユニットの制御プログラムを更新する処理を実行する。
ステップＳ１１７において、ＣＰＵ１０１は、プログラム更新領域にあるオプションユニットの制御プログラムを削除する。
【００２０】
＜実施形態２＞
実施形態１では、ＣＰＵ１０１は、本体コントローラユニット１００に接続され得るオプションユニットの最新の制御プログラムを全て含む本体制御プログラムをサーバから取得し、保持するように説明を行った。
しかしながら、全ての接続され得るオプションユニットの最新の制御プログラムを含む本体制御プログラムを保持するのではメモリの無駄遣いになる。
したがって、本実施形態のＣＰＵ１０１は、所定の操作を検知すると、操作部１０７に図５に示すオプションユニット選択画面を表示する。図５は、オプションユニット選択画面の一例を示す図である。ユーザは、図５に示されるようなオプションユニット選択画面において、最新のプログラムを保持しないオプションユニットを選択し、ＯＫボタンを選択する。このことによって、ユーザは、最新のプログラムを保持しないオプションユニットを選択可能となる。ＣＰＵ１０１は、オプションユニット選択画面において、選択されたオプションユニットを、最新のプログラムを保持しないオプションユニットとして設定し、設定情報等をＲＯＭ１０２等に保存する。
ＣＰＵ１０１は、この設定情報に基づき、ユーザが必要としている最新のオプションユニットの制御プログラムだけを含む本体制御プログラムをサーバから取得するようにしてもよい。つまり、ＣＰＵ１０１は、前記設定情報に基づき、最新のプログラムを保持しないオプションユニットとして設定されているオプションユニット以外のオプションユニットを含む本体制御プログラムをサーバから取得するようにしてもよい。また、ＣＰＵ１０１は、一旦、サーバより、実施形態１と同様の本体制御プログラムを取得し、前記設定情報に基づき、いらないオプションユニットの制御プログラムを本体制御プログラムから削除して、保存するようにしてもよい。
【００２１】
図６は、複合機１０におけるオプションユニットの接続を検知した際の、オプションユニットの制御プログラムの更新処理の一例を示すフローチャートである。
ステップＳ２００において、ＣＰＵ１０１は、本体コントローラユニット１００へのオプションユニットの接続を検知したか否かを判定する。ＣＰＵ１０１は、オプションユニットの接続を検知した場合、ステップＳ２０１に処理を進め、オプションユニットの接続を検知していない場合、ステップＳ２００の処理を繰り返す。
ステップＳ２０１において、ＣＰＵ１０１は、前記設定情報に基づき、接続が検知されたオプションユニットが最新のプログラムを保持しないと設定されているオプションユニットか否かを判定する。ＣＰＵ１０１は、接続が検知されたオプションユニットが最新のプログラムを保持しないと設定されているオプションユニットの場合、処理をステップＳ２０５に進める。一方、ＣＰＵ１０１は、接続が検知されたオプションユニットが最新のプログラムを保持しないと設定されていないオプションユニットの場合、処理をステップＳ２０２に進める。
【００２２】
ステップＳ２０２において、ＣＰＵ１０１は、接続が検知されたオプションユニットから取得した前記オプションユニットの制御プログラムのバージョンと本体コントローラユニットのＲＯＭ１０２のダウンロード領域に記憶されている前記オプションユニットの制御プログラムのバージョンとを比較する。
ステップＳ２０３において、ＣＰＵ１０１は、比較の結果、前記オプションユニットから取得したバージョンのほうが古いか否かを判定する。ＣＰＵ１０１は、比較の結果、前記オプションユニットから取得したバージョンのほうが古い場合、処理をステップＳ２０４に進め、前記取得したバージョンのほうが古くない場合、処理をステップＳ２００に戻す。
ステップＳ２０４において、ＣＰＵ１０１は、前記ダウンロード領域に記憶されている前記オプションユニットの制御プログラムをＲＯＭ１０２のプログラム更新用領域にコピーする。
【００２３】
一方、ステップＳ２０５において、ＣＰＵ１０１は、接続が検知されたオプションユニットの最新の制御プログラムがサーバにあるか否かを判定する。例えば、ＣＰＵ１０１は、接続が検知されたオプションユニットから前記オプションユニットの制御プログラムのバージョンを取得する。そして、ＣＰＵ１０１は、前記オプションユニットの前記バージョンより新しいバージョンがサーバに存在するか否かを問い合わせるコマンドをサーバに送信する。そして、ＣＰＵ１０１は、前記コマンドに対するサーバからのレスポンスに基づいて、サーバに前記オプションユニットの前記バージョンより新しいバージョンがあるか否かを判定するようにしてもよい。
ＣＰＵ１０１は、接続が検知されたオプションユニットの最新の制御プログラムがサーバにある場合、処理をステップＳ２０６に進め、接続が検知されたオプションユニットの最新の制御プログラムがサーバにない場合、処理をステップＳ２００に戻す。
【００２４】
ステップＳ２０６において、ＣＰＵ１０１は、サーバから前記接続が検知されたオプションユニットの最新の制御プログラムを取得する（最新プログラム取得）。なお、ＣＰＵ１０１は、サーバから前記接続が検知されたオプションユニットの最新の制御プログラムのみを取得するようにしてもよいし、前記オプションユニットの最新の制御プログラムが含まれる本体制御プログラムを取得するようにしてもよい。
ステップＳ２０７において、ＣＰＵ１０１は、取得したオプションユニットの最新の制御プログラムをプログラム更新領域にコピーする（最新プログラムコピー）。
ステップＳ２０８において、ＣＰＵ１０１は、前記接続が検知されたオプションユニットを、最新のプログラムを保持しないオプションユニットから削除するよう、前記設定情報等を変更する。又は、ＣＰＵ１０１は、前記接続が検知されたオプションユニットを、最新のプログラムを保持するオプションユニットとして前記設定情報等に設定する。
ステップＳ２０９において、ＣＰＵ１０１は、複合機１０の本体を再起動する。
【００２５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２６】
以上、上述した各実施形態によれば、新規オプションユニットを装着した場合、自動的に本体プログラムとの組合せのあったオプションユニットのプログラムのダウンロードが行うことができる。そのため、本体とオプションユニットとのプログラムのバージョンの不一致による問題の発生を容易に防ぐことができる。また、複数の機種の複合機に共通のオプションユニットが使用可能な場合も、その機種に最適な制御プログラムに自動更新することができる。したがって、作業の手間やオプションユニットの管理の手間を削減することができる。
【００２７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0006563045.tif 000002
【図２】
0006563045.tif 000003
【図３】
0006563045.tif 000004
【図４】
0006563045.tif 000005
【図５】
0006563045.tif 000006
【図６】
0006563045.tif 000007