(57)【特許請求の範囲】
【請求項１】
通信機能を持つプリンタコントローラを備えた画像形成装置であって、前記プリンタコントローラは、装備する不揮発性記憶手段にデバイスを初期化するプログラム、通信を行うプログラム、記憶手段を制御するプログラムを格納し、前記不揮発性記憶手段以外の記憶手段に印刷データの処理を行うメインプログラムを格納し、画像形成装置の電源投入時に、デバイスを初期化した後、通信機能を動作させ、通信手段を介して前記メインプログラムをホスト装置からRAM上にダウンロードさせる機能、及び前記メインプログラムを通信手段を介して接続されるホスト装置にアップロードする機能を備えたことを特徴とする画像形成装置。
【請求項２】
通信機能を持つプリンタコントローラを備えた画像形成装置であって、前記プリンタコントローラは、装備する不揮発性記憶手段にデバイスを初期化するプログラム、通信を行うプログラム、記憶手段を制御するプログラムを格納し、前記不揮発性記憶手段以外の記憶手段に印刷データの処理を行うメインプログラムを格納し、画像形成装置の電源投入時に、デバイスを初期化した後、通信機能を動作させ、通信手段を介して前記メインプログラムをホスト装置からRAM上にダウンロードさせる機能、及び前記メインプログラムのダウンロードが可能なホスト装置のIPアドレスの追加設定を行う機能、及びホスト装置のIPアドレスを追加設定した際に、設定動作に連動して該当するホスト装置に前記メインプログラムをアップロードするための機能を備えたことを特徴とする画像形成装置。
【請求項３】
請求項１に記載された画像形成装置において、
前記プリンタコントローラは、ホスト装置が発行するアップロードの制御コマンドに応じて前記メインプログラムをアップロードする機能を備えたことを特徴とする画像形成装置。
【請求項４】
請求項１又は２に記載された画像形成装置において、
前記プリンタコントローラは、ホスト装置が送信する印刷データの受信に連動して前記メインプログラムをアップロードする機能を備えたことを特徴とする画像形成装置。
【請求項５】
請求項４に記載された画像形成装置において、
前記プリンタコントローラは、ホスト装置が送信する印刷データに付加された前記メインプログラムのバージョン情報を最新バージョン情報と比較することによりアップロード実行の要否を判断する機能を備えたことを特徴とする画像形成装置。
【請求項６】
請求項１乃至５のいずれかに記載された画像形成装置及びホスト装置からなることを特徴とする画像処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置或いは印刷機能を有する画像形成装置（例えば、プリンタ機能を複合したデジタル複写機）に関し、より詳細には、画像形成動作を制御するプリンタコントローラ上の不揮発性記憶媒体以外の記憶媒体に印刷データの処理を行うメインプログラムを保持するようにした画像処理装置及び該画像形成装置とホスト装置からなる画像処理システムに関する。
【０００２】
【従来の技術】
従来のプリンタは、ホストからネットワークを通して送られてきたデータを処理し印刷を行うため、そのプリンタコントローラのボード上には画像処理、ホスト インタフェース（以下「Ｉ／Ｆ」と記す）制御、プリンタエンジンＩ／Ｆ制御、メモリ制御等を行う為に必要な様々なシステムプログラムが不揮発性記憶媒体に格納されている。
また、ネットワークに接続され動作するプリンタにおいて、機能の拡張を行うために、コントローラ標準のシステムプログラムではサポートしてないオプションプログラム、フォントデータ等をネットワーク上のホストからダウンロードすることや、システムプログラムのバージョンアップを行うために、ネットワーク上のホストよりダウンロードし、コントローラ上の不揮発性記憶媒体を書き替えるようにするといった提案もなされている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来提案された方式は、オプショナルにメインシステム機能を付加する目的でそのプログラムをネットワーク経由でダウンロードを行ったり、メインプログラムのバージョンアップを目的にメインプログラムを書き替えていたものであり、いずれにしても、プリンタコントローラ全体を制御し印刷処理を行う標準的なメインプログラムは予めプリンタコントローラ上の不揮発性記憶媒体（ROM）等に格納しておく必要があり、このメインプログラムが不揮発性メモリの大半を占める情報量であることから、不揮発性メモリのメモリ容量が増大し、コストアップに繋がっていた。
【０００４】
本発明は、上述の印刷システムにおける従来技術の問題点に鑑みてなされたものであって、その目的は、プリンタコントローラのファームウエアの容量（ROM容量）を小さくするために、プリンタコントローラをBootする基本的な一部のソフトウエアを除く、その他のソフトウェアについてはできる限り削減し、コストダウンを図るようにした画像形成装置及び画像形成システムを提供することにある。
また、プリンタコントローラのファームウエアの容量（ROM容量）から削減されたソフトウェアである、印刷データの処理を行うメインプログラムを取得するための手段として、適切なプログラムの取得を確実に行うことができ、しかもユーザの意向が反映され、操作性が良く、利便性の高い手段を提供することを目的とする。
【０００９】
【課題を解決するための手段】
請求項１の発明は、通信機能を持つプリンタコントローラを備えた画像形成装置であって、前記プリンタコントローラは、装備する不揮発性記憶手段にデバイスを初期化するプログラム、通信を行うプログラム、記憶手段を制御するプログラムを格納し、前記不揮発性記憶手段以外の記憶手段に印刷データの処理を行うメインプログラムを格納し、画像形成装置の電源投入時に、デバイスを初期化した後、通信機能を動作させ、通信手段を介して前記メインプログラムをホスト装置からRAM上にダウンロードさせる機能、及び前記メインプログラムを通信手段を介して接続されるホスト装置にアップロードする機能を備えたことを特徴とする画像形成装置である。
【００１０】
請求項２の発明は、通信機能を持つプリンタコントローラを備えた画像形成装置であって、前記プリンタコントローラは、装備する不揮発性記憶手段にデバイスを初期化するプログラム、通信を行うプログラム、記憶手段を制御するプログラムを格納し、前記不揮発性記憶手段以外の記憶手段に印刷データの処理を行うメインプログラムを格納し、画像形成装置の電源投入時に、デバイスを初期化した後、通信機能を動作させ、通信手段を介して前記メインプログラムをホスト装置からRAM上にダウンロードさせる機能、及び前記メインプログラムのダウンロードが可能なホスト装置のIPアドレスの追加設定を行う機能、及びホスト装置のIPアドレスを追加設定した際に、設定動作に連動して該当するホスト装置に前記メインプログラムをアップロードするための機能を備えたことを特徴とする画像形成装置である。
【００１１】
請求項３の発明は、請求項１に記載された画像形成装置において、前記プリンタコントローラは、ホスト装置が発行するアップロードの制御コマンドに応じて前記メインプログラムをアップロードする機能を備えたことを特徴とする。
【００１２】
請求項４の発明は、請求項１又は２に記載された画像形成装置において、前記プリンタコントローラは、ホスト装置が送信する印刷データの受信に連動して前記メインプログラムをアップロードする機能を備えたことを特徴とする。
【００１３】
請求項５の発明は、請求項４に記載された画像形成装置において、前記プリンタコントローラは、ホスト装置が送信する印刷データに付加された前記メインプログラムのバージョン情報を最新バージョン情報と比較することによりアップロード実行の要否を判断する機能を備えたことを特徴とする。
【００１４】
請求項６の発明は、請求項１乃至５のいずれかに記載された画像形成装置及びホスト装置からなることを特徴とする画像処理システムである。
【００１５】
【発明の実施の形態】
本発明を添付する図面とともに示す以下の実施例に基づき説明する。
図１は、本発明による印刷システムを構成する印刷装置（プリンタ）のプリンタコントローラに係わる構成を示す。
図２は、プリンタとネットワークを介して接続されたホスト装置を示す印刷システムの構成を示す。
図３は、プリンタコントローラ上のプログラムROM及びRAMに格納されたプログラムの構成及び動作例を示す。
本発明の実施例の構成を、図１〜３を参照して説明すると、印刷システムは、図２に示すように、ホスト装置としてホストＡ１１１、ホストＢ１１２、ホストＣ１１３がネットワークを介してプリンタ１０に接続するように構成される。
このシステムにおいて、プリンタ１０の上位装置であるホスト１１１〜１１３（図１においてはホスト１１０）は、ホスト上のプリンタドライバから印刷データ、印刷制御の設定コマンドをプリンタ１０側に送信する。また、これ以外に、後記で詳述するが、ダウンロードホストとして振る舞う場合には、インストール或いはアップロードされて保持するプログラム（プリンタ１０のプリンタコントローラ上で動作するメインプログラム）、アップロードコマンド等を送信し、プリンタ側からアップロードされる、プリンタコントローラが使用するプログラムデータを受信する。
【００１６】
ホスト１１１〜１１３のプリンタドライバから送信されてくる印刷ジョブ等を受け入れるプリンタ１０側には、図１に示すように、CPU１０１、ASIC１０２、プログラムROM１０３、フォントROM１０４、RAM１０５、エンジンインタフェース１０６、NVRAM１０７、FCI１０８を持つプリンタコントローラ１００とプリンタエンジン１０９を備えている。
CPU１０１はプログラムROM１０３のプログラム、ホストＩ／Ｆ回路からの各種コマンド、印刷データ等によってプリンタコントローラ１００全体の制御を司る。
ASIC１０２はプリンタコントローラ１００上のROM１０３，１０４、RAM１０５、NVRAM１０７等のデバイス又はネットワーク等の外部Ｉ／ＦへのバスコントロールをするASICで、ここにはホストＩ／Ｆ回路が含まれる。
プログラムROM１０３はプリンタコントローラ１００の制御プログラム及びFCI１０８の画像補正パターン等が格納されている書き替え可能な不揮発性記憶媒体からなるROMである。
フォントROM１０４はフォントのパターンデータが格納されたマスクROMである。
RAM１０５はCPU１０１のワークメモリ、入力データのインプットバッファ、プリントデータのページバッファ、及びネットワークを通して送られてくるプリンタコントローラ１００上で動作するメインプログラム等の制御プログラムのダウンロード等に使用するRAMである。
エンジンＩ／Ｆ１０６はプリンタエンジン１０９と印字データ、印刷制御コマンド及びステータスの通信を行う。
NVRAM１０７は、プリンタの印刷制御の設定等を記憶する書換え可能な不揮発性のメモリである。
FCI１０８はページバッファ上のビデオ Dataを画像補正し、プリンタエンジン１０９に送信する画像補正装置である。
プリンタエンジン１０９は実際に印字を行い、紙に出力する印刷機構部である。
【００１７】
プリンタコントローラ１００上のプログラムROM１０３及びRAM１０５に保持されるデータ（プログラム）の構成を詳細に説明する。
プログラムROM１０３及びRAM１０５には、プリンタコントローラ１００を動作させるために必須のプログラムとして 、プリンタ１０の電源投入後プリンタコントローラ１００を立上げる（プリンタコントローラ１００上のデバイス、及びネットワークＩ／Ｆ制御部を初期化する）Bootプログラム１１４と、ホストから送られてきた印刷データを処理しコントローラ全体を制御するメインプログラム１１６が保持される。
従来、これらのプログラムは、図３に示すように、ProgramROM中に格納されており、このため大容量のROMを必要としていた。
本発明においては、図３に示すように、ProgramROM１０３中には、Bootプログラム１１４とダウンロードプログラム１１５、即ちホスト１１０が保持したメインプログラム（印刷データを処理しコントローラ全体を制御するメインプログラム）をダウンロードするためのプログラムを格納し、メインプログラム１１６をここには格納しない。このため小容量のROM１０３で済む。メインプログラム１１６は、ダウンロードプログラム１１５を用いてホスト１１０からダウンロードしRAM１０５に保持される。
【００１８】
ここで、本実施例におけるダウンロードプログラム１１５を用いて行われるメインプログラム１１６のダウンロードの動作を説明する。
なお、ここに示す例では、プリンタコントローラ１００のプログラムROM１０３中には、Bootプログラム１１４とダウンロードプログラム１１５が格納されており、ダウンロードプログラム１１５起動時に、ホストＡ １１１とホストＢ １１２には予めメインプログラム（プリンタコントローラ１００の印刷データを処理しコントローラ全体を制御するメインプログラム）１１６が所定のディレクトリにインストールされているものとする。
図４は、上記プリンタ１０の電源投入からメインシステムプログラム１１６が立上るまでの動作手順を示すフローチャートである。
図４のフローチャートに従ってこの動作手順を詳細に説明する。
このフローは、先ず、プリンタ１０の電源を入れることにより開始される（Ｓ４０）。プリンタ１０の電源が投入されると、プリンタコントローラ１００はプログラムROM１０３をアクセスし、Bootプログラム１１４を実行し、プリンタコントローラ１００の初期化、即ち、プリンタコントローラ１００上のデバイス、ASIC１０２のネットワークＩ／Ｆ制御部の初期化を行う（Ｓ４１）。
【００１９】
初期化後、プログラムROM１０３をアクセスし、ダウンロードプログラム１１５を実行する。ダウンロードプログラム１１５は、以下の手順（Ｓ４２〜Ｓ４５）を行う。
先ず、ネットワークコマンドによりホストＡ １１１が通信可能（電源ＯＮ）な状態であるか否かを確認する（Ｓ４２）。ホストＡ １１１がアクティブである場合、ホストＡ １１１にFTPコマンドで接続し、プリンタコントローラ１００のメインプログラム１１６が格納されているホストＡ １１１の所定のディレクトリに移動し、メインプログラム１１６をＧｅｔコマンドで転送し、そのデータをRAM１０５上にダウンロードする（Ｓ４３）。
Ｓ４２でホストＡ １１１がアクティブではない（通信不可能な）場合は、ホストＢ １１２が通信可能な状態であるか否かを確認する（Ｓ４４）。ホストＢ１１２がアクティブではない（通信不可能な）場合は、Ｓ４２に戻り、いずれれのホストかが通信可能になるまで、この手順を繰り返す。
Ｓ４４を行い、ホストＢ１１２が通信可能であった場合に、ホストＢ１１２にFTPコマンドで接続し、プリンタコントローラ１００のメインプログラム１１６が格納されているホストＢ１１２の所定のディレクトリに移動し、メインプログラム１１６をＧｅｔコマンドで転送し、そのデータをRAM１０５上にダウンロードする（Ｓ４５）。ダウンロードに成功した後、ホストとの通信の接続を切る。
RAM１０５上にメインプログラム１１６をダウンロードした後、ＣＰＵ１０１のプログラムカウンタをRAM１０５のメインプログラム１１６が書き込まれた先頭番地に移動（Jump；図３参照）し（Ｓ４６）、RAM１０５上のメインプログラムを実行し、プリンタコントローラ１００のメインプログラム１１６が立上り、印刷可能な状態となる。
【００２０】
この実施例では、ネットワークで接続されたホストよりメインプログラムをダウンロードするという方法を採っているが、この方法をとる場合に、ダウンロードするホストをホストＡ又はＢの複数を選択の対象として接続し得るようにしている。このため、あるホストの電源がＯＦＦの時でも他のホストからメインプログラムをダウンロードし、プリンタコントローラのメインプログラムを起動することができるので、起動が不能になる可能性をより低くすることができる。
【００２１】
次に、本発明に係わる他の実施例を説明する。
上記の実施例においては、複数のホストに予めメインプログラム（プリンタコントローラ１００の印刷データを処理しコントローラ全体を制御するメインプログラム）をインストールして、そのホストよりダウンロードしていた為、プログラムをダウンロードするホストが限られており、そのホストの電源が入ってない時等は、プリンタが稼動できなかった。
本実施例は、この問題を解決するために、メインプログラムをダウンロードするホストのIPアドレスをプリンタ側から追加設定可能とし、また、追加設定された任意のホストにメインプログラムをアップロード（コピー）可能とし、さらに、自動的にメインプログラムをホストにアップロードすることでダウンロードホストを追加する際の操作性を向上させるように構成するものである。
【００２２】
図５は、本実施例におけるプリンタコントローラ上のプログラムROM及びRAMに格納されたプログラムの構成及び動作例を示す。
本実施例においては、図５に示すように、先の実施例（図３参照）と同様に、プログラムROM１０３中には、Bootプログラム１１４とダウンロードプログラム１１５、即ちホスト１１０が保持したメインプログラムをダウンロードするためのプログラムを格納し、メインプログラム１１６をここには格納しない。このため小容量のROM１０３で済む。メインプログラム１１６は、ダウンロードプログラム１１５を用いてホスト１１０からダウンロードしRAM１０５に保持される。また、RAM１０５に保持されたメインプログラム１１６を操作部（図示せず）の操作により新規ホストとしてIPアドレスが追加設定されたホストへのアップロードを行い、そこに格納し、格納したメインプログラム１１６は、プリンタ側からダウンロードホストとして指定された場合にRAM１０５に転送、再び保持される。
【００２３】
本実施例におけるメインプログラム１１６のダウンロードの動作を説明する。プリンタコントローラ１００のプログラムROM１０３中に格納されたダウンロードプログラム１１５を用いて行われる
ここでは、ダウンロードプログラム１１５起動時に、ホストＡ １１１には予めメインプログラム１１６が所定のディレクトリにインストールされており、ホストＢ １１２にはメインプログラム１１６がインストールされていないものとする。
図６は、上記プリンタ１０の電源投入からメインプログラム１１６が立上るまでの、IPアドレスの追加設定を含む動作手順を示すフローチャートである。また、図７は、メインプログラム１１６が起動してから電源がOFFされるまでに行われるIPアドレスの追加設定、メインプログラム１１６のアップロードの動作手順を示すフローチャートである。
図６、図７のフローチャートに従ってこの動作手順を詳細に説明する。
本フローは、図６に示すように、先ず、プリンタ１０の電源を入れることにより開始される（Ｓ６１）。プリンタ１０の電源が投入されると、プリンタコントローラ１００はプログラムROM１０３をアクセスし、Bootプログラム１１４を実行し、プリンタコントローラ１００の初期化、即ち、プリンタコントローラ１００上のデバイス、ASIC１０２のネットワークＩ／Ｆ制御部の初期化を行う（Ｓ６２）。
【００２４】
初期化後、プログラムROM１０３をアクセスし、ダウンロードプログラム１１５を実行する。なお、ここで実行するダウンロードプログラム１１５は、先の実施例のダウンロード機能にダウンロードホストのIPアドレスの追加設定、メインプログラムのアップロード機能を追加したものである。
手順としては、ダウンロードするホストのIPアドレスを追加するか否かがチェックされる（Ｓ６３）。ユーザが新規ホストとして選定したIPアドレスを追加設定する操作を操作部（図示せず）により行った時には、この新規に設定したホストをダウンロードするホストXとしてIPアドレスを追加、登録する（Ｓ６４）。登録は、一度設定されるとプリンタコントローラ１００上のNVRAM（不揮発性メモリ）１０７に記憶され、以後ダウンロードするホストXとして管理される。
登録操作後、追加登録されたホストを含め、NVRAM１０７に登録されているホストにIPアドレス順で接続し、ネットワークコマンドにより該ホストが通信可能（電源ＯＮ）な状態であるか否か、さらに該ホストにメインプログラム１１６のデータが格納されているか否かを確認する（Ｓ６５，Ｓ６６）。ここで、両方の条件を満たしたホストがあった場合（この場合、ホストＡ１１１）、ホストＡ １１１にFTPコマンドで接続し、プリンタコントローラ１００のメインプログラム１１６が格納されているホストＡ １１１の所定のディレクトリに移動し、メインプログラム１１６をＧｅｔコマンドで転送し、そのデータをRAM１０５上にダウンロードする（Ｓ６７）。ダウンロードに成功した後、ホストとの通信の接続を切る。
RAM１０５上にメインプログラム１１６をダウンロードした後、CPU１０１のプログラムカウンタをRAM１０５のメインプログラム１１６が書き込まれた先頭番地に移動（Jump；図５参照）し（Ｓ６８）、RAM１０５上のメインプログラムを実行し、プリンタコントローラ１００のメインプログラム１１６が立上り、印刷可能な状態となる（Ｓ６９）。
【００２５】
次いで、メインプログラム１１６のアップロードの動作手順を説明する。
このフローは、メインプログラム１１６によりプリンタコントローラ１００のメインシステムが起動した後の印刷データ待ち状態で開始され、先ず、操作部（図示せず）により操作パネルのメニューに従いIPアドレスを追加設定（図６のＳ６３と同様）する操作を可能とする。
手順としては、ダウンロードするホストのIPアドレスを追加するか否かがチェックされる（Ｓ７２）。ユーザが新規ホストとして選定したIPアドレスを追加設定する操作を操作部（図示せず）により行った時には、この新規に設定したホスト（ここでは、ホストＢ１１２）をダウンロードするホストXとしてIPアドレスを追加、登録する（Ｓ７３）。登録は、一度設定されるとプリンタコントローラ１００上のNVRAM（不揮発性メモリ）１０７に記憶され、以後ダウンロードの対象ホストXとして管理される。
【００２６】
登録操作後、追加登録されたホストXに接続し、ネットワークコマンドにより該ホストが通信可能（電源ＯＮ）な状態であるか否か、さらに該ホストにメインプログラム１１６のデータが未格納であるか否かを確認する（Ｓ７４）。ここで、新規追加したホストXが両方の条件を満たしていない場合、ホストXの所定ディレクトリにプリンタコントローラ１００のRAM１０５上に保持されているメインプログラム１１６をアップロード（コピー）する（Ｓ７５）。
この例では、新規追加したホストＢ１１２には、メインプログラム１１６がインストールされていない為、ホストＢ１１２へのアップロードが自動的に実行される。
メインプログラム１１６のアップロードを行った後、印刷処理ルーチンを実行し（Ｓ７６）、プリンタ電源がOFFされると（Ｓ７７）、この動作手順を終了する。プリンタ電源をOFFにしても、上記のＳ７３〜７５の手順によりプリンタコントローラ１００上のNVRAM１０７にホストＢ１１２のIPアドレスが登録されており、またホストＢ１１２にプリンタコントローラ１００のメインプログラム１１６をアップロードした為、次回にプリンタ電源をＯＮした時に、ホストＡ１１１の電源がOFFでも図６のＳ６５〜６７でホストＢ１１２よりプリンタコントローラ１００のメインプログラム１１６のダウンロードが可能となる。
【００２７】
上記の通り、メインプログラムをダウンロードするホストのIPアドレスをプリンタ側から追加設定可能とすることで、ダウンロードするホストが特定せれずユーザが指定する任意のホストからプログラムをダウンロード可能となる。また、追加設定された任意のホストにプリンタコントローラ１００のRAM１０５に保持されたメインプログラム１１６をアップロード（コピー）可能とさせることで、ユーザがダウンロードするホストにプリンタコントローラ１００のメインプログラム１１６を予めインストールすること無しに、ユーザが指定する複数のホストからメインプログラム１１６をダウンロードすることが可能となる。さらに、自動的にメインプログラム１１６をホストにアップロードすることで、アップロードの操作の手間が省かれ、ダウンロードホストを追加する際の操作性を向上させる。
【００２８】
本発明に係わる次の実施例を説明する。
上記の実施例（図５から７に関する実施例）においては、メインプログラム１１６をダウンロードするホストを追加登録し、複数のホストからダウンロード可能としており、ダウンロードするホストを追加登録する際、新規登録したホストにプリンタ側の操作部からユーザが設定操作しメインプログラム１１６のアップロードを行っていた為、操作が面倒で、また、メインプログラム１１６のバージョンが変更になった場合等において、プリンタ側からメインプログラム１１６のアップロードを行うか、再インストールをしない限り、ダウンロードするホストのメインプログラム１１６がバージョンアップされない為、ダウンロードするホストによりメインプログラム１１６のバージョンの差異が生じる等の問題が生じる。
本実施例は、この問題をメインプログラム１１６のアップロードをホスト側からコマンドを発行させることにより、また、印刷を行ったホストに対し自動的にアップロードを行うことにより解決する。また、メインプログラム１１６のアップロードの際の操作性を向上させ、さらに、メインプログラム１１６のバージョン管理をして無駄なアップロードを行うことがないように構成する。
【００２９】
図８は、本実施例におけるプリンタコントローラ上のプログラムROM及びRAMに格納されたプログラムの構成及び動作例を示す。
本実施例においては、図８に示すように、先の実施例（図３、図５参照）と同様に、プログラムROM１０３中には、Bootプログラム１１４とダウンロードプログラム１１５、即ちホスト１１０が保持したメインプログラムをダウンロードするためのプログラムを格納し、メインプログラム１１６をここには格納しない。このため小容量のROM１０３で済む。メインプログラム１１６は、ダウンロードプログラム１１５を用いてホスト１１０からダウンロードしRAM１０５に保持される。また、RAM１０５に保持されたメインプログラム１１６をホストが発するアップロードコマンドに従って印刷処理後に印刷要求をしたホストへのアップロードを行い、そのホストに格納する。格納したメインプログラム１１６は、プリンタ側からダウンロードホストとして指定された場合にRAM１０５に転送、そこに再び保持される。
【００３０】
本実施例におけるダウンロードプログラム１１５を用いて行われるメインプログラム１１６のダウンロードの動作を説明する。
本実施例では、プリンタ１０の電源投入からメインプログラム１１６が立上るまでの動作手順は、先の図６に示した実施例と同一の手順を行う。つまり、ユーザが新規にダウンロードするホストとして選定したIPアドレスを追加、登録し（Ｓ６４参照）、追加登録されたホストを含め、登録されているホストに順次に接続し、ネットワークコマンドにより通信可能（電源ＯＮ）な状態で、メインプログラム１１６のデータが格納されているホストを調べ、適合するホストからメインプログラム１１６をRAM１０５上にダウンロードし（Ｓ６７参照）、ダウンロードしたメインプログラム１１６を実行し、プリンタコントローラ１００のメインプログラム１１６を立上げ、印刷可能な状態とする（Ｓ６９参照）。
【００３１】
次に、上記の手順を経た後に、追加されるメインプログラム１１６のアップロードを自動的に行う機能について、その詳細を説明する
図９は、本実施例のメインプログラム１１６のアップロードの動作手順を示すフローチャートである。なお、ここでは、ホストＡ１１１の場合について例示する。
このフローは、メインプログラム１１６によりプリンタコントローラ１００のメインシステムが起動した後の印刷データ待ち状態で開始され、先ず、ホストＡ１１１からのデータを受信し（Ｓ９２）、受信データが印刷データかプログラムアップロードコマンドかを判別する（Ｓ９３）。
受信データが印刷データであった場合、通常通り印刷処理を行う（Ｓ９４）。
また、受信した印刷データの最後にはホストＡ１１１が所有しているプリンタコントローラ１００のメインプログラム１１６のバージョンが添付され、添付されたバージョンが現在RAM１０５にダウンロードされ、稼動しているメインプログラム１１６のバージョン（最新バージョン）と同じであるか否かを確認する（Ｓ９５）。
印刷データに添付されたバージョンが最新バージョンではなかった場合、或いはＳ９３で受信データが印刷データではなく、プログラムアップロードコマンドであった場合に、現在RAM１０５にダウンロードされ、稼動しているメインプログラム１１６をホストＡ１１１にアップロードし、プログラムバージョンの更新を行う（Ｓ９６）。
プリンタ電源がOFFされると（Ｓ９７）、この動作手順を終了する。
【００３２】
上記の通り、ホストからアップロードコマンドをプリンタに発行するか、又はホストがプリンタに印刷を行うと自動的にホストの所有しているメインプログラムのバージョンと稼働中の最新のバージョンとが比較され、その結果、ホストに対しメインプログラムをアップロードし最新のバージョンに更新することが可能となり、プログラムのアップロードの際の操作性を向上させることができる。また、後者の場合、ダウンロードするホストによりメインプログラム１１６のバージョンの差異が生じることがなくなり、無駄なアップロードを行なわず、ネットワーク通信のトラフィックを低減させることができる。
【００３３】
【発明の効果】
（１）  請求項１の発明に対応する効果
プリンタコントローラ上の不揮発性記憶媒体（ROM）にプリンタコントローラをBootする基本的なソフトウエア（コントローラ上のデバイスを初期化するプログラム、ネットワーク通信を行うプログラム、RAMを制御するプログラム等）のみを格納し、画像処理を行うメインプログラムを格納するために前記不揮発性記憶手段以外の記憶手段を用意したことで、プリンタコントローラのファームウエアの容量（ROM容量）を削減することができ、コストダウンを図ることができる。
また、印刷装置（プリンタ）の電源投入後、Bootプログラムを起動させ、ネットワークを介してホスト装置と通信可能になった後、自動的にプリンタの画像処理等を行うメインプログラムをネットワークに接続されたあるホスト装置よりプリンタコントローラのRAM上にダウンロードすることで、ROMにメインプログラムを格納しない（ファームウエアの容量が少ない）プリンタコントローラでホスト装置より印刷することができる。
さらに、プリンタコントローラのメインプログラムを任意のホストマシンにアップロード（コピー）可能とさせることで、ユーザがダウンロードするホスト装置に上記メインプログラムを予めインストールすること無しに、ユーザが指定する複数のホストマシンからプログラムをダウンロード可能とすることができる。
【００３４】
（２）  請求項２の発明に対応する効果
プリンタコントローラ上の不揮発性記憶媒体（ROM）にプリンタコントローラをBootする基本的なソフトウエア（コントローラ上のデバイスを初期化するプログラム、ネットワーク通信を行うプログラム、RAMを制御するプログラム等）のみを格納し、画像処理を行うメインプログラムを格納するために前記不揮発性記憶手段以外の記憶手段を用意したことで、プリンタコントローラのファームウエアの容量（ROM容量）を削減することができ、コストダウンを図ることができる。
印刷装置（プリンタ）の電源投入後、Bootプログラムを起動させ、ネットワークを介してホスト装置と通信可能になった後、自動的にプリンタの画像処理等を行うメインプログラムをネットワークに接続されたあるホスト装置よりプリンタコントローラのRAM上にダウンロードすることで、ROMにメインプログラムを格納しない（ファームウエアの容量が少ない）プリンタコントローラでホスト装置より印刷することができる。
プリンタコントローラのメインプログラムをダウンロードするホスト装置のIPアドレスをプリンタ側から追加設定可能とすることで、ダウンロードするホスト装置が特定されず、ユーザが指定する任意のホスト装置からプログラムをダウンロード可能とすることができる。
ホスト装置のIPアドレスを設定後、自動的にプリンタコントローラのメインプログラムを設定したホスト装置にアップロードすることにより、アップロードの操作の手間を省き、ダウンロードするホスト装置を追加する際の操作性を向上させることができる。
【００３５】
（３）  請求項３の発明に対応する効果
上記（１）の効果に加えて、プリンタコントローラのメインプログラムのホスト装置へのアップロードをホスト装置側から発行した制御コマンドに応じて行うようにしたことにより、メインプログラムのアップロード作業の操作性が向上する。
（４）  請求項４の発明に対応する効果
上記（１）又は（２）の効果に加えて、ホスト装置が送信した印刷データの受信に連動して該ホストに対しプリンタコントローラのメインプログラムを自動的にアップロードすることで、ユーザが意識せずにホスト装置上のメインプログラムが常に最新バージョンに更新される。
（５）  請求項５の発明に対応する効果
上記（４）の効果に加えて、ホスト装置が送信した印刷データに付加されたメインプログラムのバージョン情報を最新バージョン情報と比較することによりアップロード実行の要否を判断する機能を備えたことにより、無駄なアップロードを行なわず、ネットワーク通信のトラフィックを低減することが可能となる。
（６）  請求項６の発明に対応する効果
請求項１〜５のいずれかに記載された印刷システムを備えた画像処理システム（例えば、スキャナ、複写機、ファクシミリ、電子ファイリング装置、或いはこれらの複数の機能を装備した複合機等を印刷装置に組み合わせてシステム化した画像処理システム）において、上記（１）〜（５）のいずれかの効果を実現することにより、画像処理システムの性能を向上させることができる。
【図面の簡単な説明】
【図１】  本発明による印刷システムを構成するプリンタのプリンタコントローラに係わる構成を示す。
【図２】  プリンタとネットワークを介して接続されたホスト装置を示す印刷システムの構成を示す。
【図３】  プログラムROM及びRAMに格納されたプログラムの構成と動作例を示す。
【図４】  プリンタの電源投入からメインシステムプログラムが立上るまでの動作手順を示すフローチャートである。
【図５】  プログラムROM及びRAMに格納されたプログラムの構成と動作例を示す。
【図６】  IPアドレスの追加設定を含むメインプログラムが立上るまでの動作手順を示すフローチャートであ
【図７】  メインプログラム起動後に行われるIPアドレスの追加設定、メインプログラムのアップロードの動作手順を示すフローチャートである。
【図８】  プログラムROM及びRAMに格納されたプログラムの構成と動作例を示す。
【図９】  メインプログラム起動後に行われるメインプログラムのアップロードの動作手順を示すフローチャートである。
【符号の説明】
１０…プリンタ、              １００…プリンタコントローラ、
１０１…CPU、                  １０２…ASIC、
１０３…プログラムROM、       １０４…フォントROM、
１０５…RAM、                 １０６…エンジンインタフェース、
１０７…NVRAM、              １０８…FCI、
１０９…プリンタエンジン、      １１０…ホスト、
１１１…ホストＡ、              １１２…ホストＢ、
１１３…ホストＣ、              １１４…Bootプログラム、
１１５…ダウンロードプログラム、１１６…メインプログラム。
【図１】
0004097117.tif 000002
【図２】
0004097117.tif 000003
【図３】
0004097117.tif 000004
【図４】
0004097117.tif 000005
【図５】
0004097117.tif 000006
【図６】
0004097117.tif 000007
【図７】
0004097117.tif 000008
【図８】
0004097117.tif 000009
【図９】
0004097117.tif 000010