(57)【要約】【課題】  画像形成装置の空き時間を利用して制御プログラムをバージョンアップすることを可能にし、制御プログラムのバージョンアップ時のダウンタイムを低減する。【解決手段】  画像形成装置が、ネットワークを介して受信した受信データが制御プログラムデータか印刷データかを判別するデータ判別手段、受信データが制御プログラムデータであった場合に、それを受信したことを記憶する制御プログラム受信記憶手段、一時的に書替え可能な不揮発性メモリのデータ領域に受信した制御プログラムを格納し、所定のタイミングでその制御プログラムデータを書替え可能な不揮発性メモリの制御プログラム領域に書き換える制御プログラム書き換え手段と書替え可能な不揮発性メモリにおける制御プログラムの書替えが終了したら、終了したことを通知する通知手段、ならびに制御プログラム受信手段の内容を消去する消去手段を有する。【選択図】  図１
2008284711.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムが書替え可能な不揮発性メモリに記録され、そこから制御プログラムを読み出し、読み出した制御プログラムに従って動作する画像形成装置において、画像形成装置がネットワークを介して受信した受信データが制御プログラムデータか印刷データかを判別するデータ判別手段、受信データが制御プログラムデータであった場合に、それを受信したことを記憶する制御プログラム受信記憶手段、一時的に書替え可能な不揮発性メモリのデータ領域に受信した制御プログラムを格納し、所定のタイミングでその制御プログラムデータを書替え可能な不揮発性メモリの制御プログラム領域に書き換える制御プログラム書き換え手段と書替え可能な不揮発性メモリにおける制御プログラムの書替えが終了したら、終了したことを通知する通知手段、ならびに制御プログラム受信手段の内容を消去する消去手段を有することを特徴とする画像形成装置。
【請求項２】
制御プログラムを受信した場合、画像形成装置の揮発性メモリの内容を所定のタイミングで、受信した制御プログラムの内容に書き換えることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
所定のタイミングが、画像形成装置のキャリブレーション実行時、もしくは、ジャム処理時、もしくは、スリープ突入直前で有ることを特徴とする請求項１或いは２に記載の画像形成装置。
【請求項４】
画像形成装置が受信した機能モジュールプログラムを識別するモジュール識別手段、識別手段によって識別した内容を記録するモジュール種類記録手段を有することを特徴とする請求項１乃至３のいずれかに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置の制御プログラムの書替方法、ならびにプログラム書替を実行する方法に関するものである。
【背景技術】
【０００２】
従来、制御プログラムデータの更新においては、ホストコンピュータからの指示に従い機器の制御プログラムを更新し、機器を再起動してプログラム更新をしていた（特許文献１）。
【特許文献１】特開2005-284902号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、制御プログラム更新後に無条件に機器のシステムをリブートさせることは、その間、機器を利用できないことになる。
【課題を解決するための手段】
【０００４】
上述した課題を解決する為に、本発明は、制御プログラムが書替え可能な不揮発性メモリに記録され、そこから制御プログラムを読み出し、読み出した制御プログラムに従って動作する画像形成装置において、画像形成装置がネットワークを介して受信した受信データが制御プログラムデータか印刷データかを判別するデータ判別手段、受信データが制御プログラムデータであった場合に、それを受信したことを記憶する制御プログラム受信記憶手段、一時的に書替え可能な不揮発性メモリのデータ領域に受信した制御プログラムを格納し、所定のタイミングでその制御プログラムデータを書替え可能な不揮発性メモリの制御プログラム領域に書き換える制御プログラム書き換え手段と書替え可能な不揮発性メモリにおける制御プログラムの書替えが終了したら、終了したことを通知する通知手段、ならびに制御プログラム受信手段の内容を消去する消去手段を有することを特徴とする。
【０００５】
また、制御プログラムを受信した場合、画像形成装置の揮発性メモリの内容を所定のタイミングで、受信した制御プログラムの内容に書き換えることを特徴とする。
【０００６】
また、所定のタイミングが、画像形成装置のキャリブレーション実行時、もしくは、ジャム処理時、もしくは、スリープ突入直前で有ることを特徴とする。
【０００７】
もしくは、制御プログラムが機能毎に分割された機能モジュール単位で構成される画像形成装置において、画像形成装置が受信した機能モジュールプログラムを識別するモジュール識別手段、識別手段によって識別した内容を記録するモジュール種類記録手段を有することを特徴とする。
【発明の効果】
【０００８】
本発明によって、画像形成装置の空き時間を利用して制御プログラムをバージョンアップすることが可能となり、制御プログラムのバージョンアップ時のダウンタイムを低減できる。
【発明を実施するための最良の形態】
【０００９】
（実施例１）
図１は、本発明の実施の形態１、実施の形態２における画像形成装置の構成及びコントローラユニットの構成を示す図である。
【００１０】
コントローラユニット100は画像入力デバイスであるスキャナ140や画像出力デバイスであるプリンタ120と接続し、一方ではLAN40や公衆回線(WAN)60接続することで、画像情報やデバイス情報の入出力を行う為のコントローラである。
【００１１】
CPU1100はシステム全体を制御するコントローラである。RAM1110はCPU1100が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ROM1120はブートROMであり、システムのブートプログラムが格納されている。HDD1130はハードディスクドライブで、システムソフトウェア（bootable）、画像データ、ソフトウェアカウンタ値などを格納する。システムソフトウェア（bootable）は、コピー・FAX・SEND・SCAN・操作部（UI）表示等の機能を実現するためのプログラムであり、RAM1110上に展開されて動作する。ソフトウェアカウンタ値は用紙サイズ別カウンタ領域とデータ処理容量別カウンタ領域が設定されており、画像出力枚数やCPU1100が処理したデータ容量に基づき予め設定した任意の基準容量値を基準に算出してカウントアップが行われる。カウンタ値はHDD1130に限らず電源が切れても記憶保持することができれば、図示しないEEPROM等にその記憶領域を持ってもよい。LANC1200はLAN40に接続し、出力用画像データの入出力や機器制御にかかわる情報の入出力を行う。また操作部2000における入力操作によってネットワーク上のホストPC20や図示しない出力用画像データ管理装置から操作部2000による入力操作に応じた出力用画像データを受信して画像出力を行う。ローカルI/F1210はUSBやセントロ等のローカルI/Fであり、ケーブル50にてホストPC30や図示しないプリンタと接続し、データの入出力を行う。Modem1220は公衆回線60に接続し、データの入出力を行う。プリンタI/F1300は、プリンタ120と接続し、プリンタ120のCPUとそれぞれ通信を行う。また、画像データの同期系/非同期系の変換を行う。スキャナI/F1400は、スキャナ140と接続し、スキャナ140のCPUとそれぞれ通信を行う。また、画像データの同期系/非同期系の変換を行う。操作部I/F1500は操作部2000とのインターフェース部で、操作部2000のLCD表示部2232に表示する画像データを操作部2000に対して出力する。また、本デジタル複合機１０を利用する使用者が操作部2000から入力した情報を、CPU1100に伝える役割をする。プログラム受信フラグ３００１は、当該画像形成装置１０が稼動中にＬＡＮ４０を経由して受信したデータが当該画像形成装置１０を制御する制御プログラムであったことを示すフラグである。ＣＰＵ１１００は、画像形成装置１０の受信データが制御プログラムデータであった場合、プログラム受信フラグ３００１をＯＮにする。プログラム受信フラグ３００１はメモリ、もしくは、レジスタである。プログラム受信フラグ３００１は、ＨＤＤ１１３０のプログラム領域にＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをかき終えたらＯＦＦにする。書き込み開始フラグ３００２は、ＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをＨＤＤ１１３０のプログラム領域に書き込む時にＯＮにする。ＨＤＤ１１３０のプログラム領域にＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをかき終えたら、書き込み開始フラグ３００２をＯＦＦにする。
【００１２】
図２は、本発明の実施の形態１にかかる画像形成装置１０がデータを受信したデータに対する処理の流れを示した図である。ステップＳ２０１は当該画像形成装置１０がＬＡＮ４０を介してデータを受信した時、その受信したデータが画像形成装置１０の制御プログラムか印刷データかを解析する処理を行う。尚、データ解析は、画像形成装置１０が受信したデータのヘッダー情報に予め、当該データが制御プログラムか印刷データかを識別可能なコードを埋め込んでおき、それを抽出する。尚、制御プログラムは、不図示の管理サーバから送信される。ステップＳ２０２は、当該画像形成装置１０が受信したデータが、当該画像形成装置１０の制御プログラムか印刷データかを判定する処理を行う。ステップＳ２０２で、画像形成装置１０が受信したデータが画像形成装置１０の制御プログラムの場合、ステップＳ２０３へ処理を移行する。ステップＳ２０２で、画像形成装置１０が受信したデータが印刷データであった場合、ステップＳ２０５へ処理を移行する。ステップＳ２０３は、ステップＳ２０２で画像形成装置１０が受信したデータが当該画像形成装置１０の制御プログラムであった場合の処理で、ＣＰＵ１１００はプログラム受信フラグ３００１をＯＮにする。ステップＳ２０４は、画像形成装置１０が受信したデータが当該画像形成装置１０の制御プログラムであった場合の処理で、不図示の管理サーバから送信された制御プログラムデータを受信し、受信した制御プログラムデータをＨＤＤ１１３０のデータ領域に格納する。ＨＤＤ１１３０に受信した制御プログラムデータを格納し終えたら、処理を終了する。コントローラユニット１００においては、受信した制御プログラムデータのＨＤＤ１１３０への格納領域に他の印刷データ等を書き込まないように制御プログラムデータ格納アドレスを管理する。ステップＳ２０５は、ステップＳ２０２で当該画像形成装置１０が受信したデータが印刷データと判断された場合の処理で、印刷データの受信を行い、通常の印刷動作を実施して、処理を終了する。
【００１３】
図３は、本発明の実施の形態１にかかる画像形成装置１０のＲＡＭ１１１０のプログラム書替タイミングの流れを示した図である。ステップＳ３０１は、当該画像形成装置１０がキャリブレーションを行う処理を示す。ステップＳ３０２は、プログラム受信フラグ３００１の状態をチェックする処理を行う。ステップＳ３０２で、プログラム受信フラグ３００１がＯＮの場合、ステップＳ３０３へ処理を移行する。ステップＳ３０２で、プログラム受信フラグ３００１がＯＮでない場合は処理を終了する。ステップＳ３０３は、ステップＳ３０２でプログラム受信フラグ３００１がＯＮであった場合の処理で、ＲＡＭ１１１０の制御プログラム領域を、ＨＤＤ１１３０のデータ領域に格納された制御プログラムの内容に書き換える処理を行う。ステップＳ３０４は、コントローラユニット１００を初期化する処理を行う。これは、不図示のウオッチドッグタイマー等を利用して、コントローラシステムをリセットする。
【００１４】
図４は、本発明の実施の形態１にかかる画像形成装置１０のＨＤＤ１１３０のプログラム領域のプログラム書替の流れを示した図である。ステップＳ４０１は、プログラム受信フラグ３００１の状態をチェックする処理を行う。ステップＳ４０１で、プログラム受信フラグ３００１がＯＮの場合、ステップＳ４０２へ処理を移行する。ステップＳ４０１でプログラム受信フラグ３００１がＯＦＦの場合、処理を終了する。ステップＳ４０２は、プログラム受信フラグ３００１がＯＮの場合の処理で、ＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをＨＤＤ１１３０の制御プログラム領域に書き込みを実行していることを表す書き込み開始フラグ３００２をＣＰＵ１１００がＯＮにする。ステップＳ４０３は、ＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをＨＤＤ１１３０の制御プログラム領域に書き込む処理を行う。ステップＳ４０３の処理が終了すると、ステップＳ４０４でプログラム受信フラグ３００１をＣＰＵ１１００はクリアする。すなわち、プログラム受信フラグ３００１をＯＦＦにする。ステップＳ４０５は、画像形成装置１０に画像形成装置１０の制御プログラムデータを送信した不図示の管理サーバに対し、一連の処理が完了したことを示す書替完了通知を発行する処理を行う。不図示の管理サーバは、画像形成装置１０から発行された書替完了通知を受信して、画像形成装置１０の制御プログラムデータがバージョンアップされたことを認識する。ステップＳ４０６は、ＣＰＵ１１００が書き込み開始フラグ３００２をクリアする処理を行う。これにより、画像形成装置１０が不図示の管理サーバから送信された制御プログラムデータが、ＨＤＤ１１３０の制御プログラム領域に完全に格納されたことになる。ステップＳ４０７は、ＨＤＤ１１３０のデータ領域に格納された制御プログラムデータを消去する処理を行う。尚、本処理を行なうタイミングは、画像形成装置１０がキャリブレーション処理に突入したとき、もしくは、画像形成装置１０がスリープ状態になるとき、もしくは、画像形成装置１０に画像形成装置１０の本体内部等においてジャムが発生した時など、画像形成装置１０のサービスが一時的に停止するタイミングで実施する。
【００１５】
図５は、本発明の実施の形態１にかかる画像形成装置１０の本体電源ＯＮ後の処理を示した図である。ステップＳ５０１は、プログラム受信フラグ３００１がＯＮか否かを調べる処理を行う。ステップＳ５０１で、プログラム受信フラグ３００１がＯＮであった場合、処理をＳ５０２へ移行する。ステップＳ５０１でプログラム受信フラグ３００１がＯＮでなかった場合、処理をステップＳ５０３へ移行する。ステップＳ５０２は、プログラム受信フラグ３００１がＯＮであった場合の処理で、この場合、ＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをＲＡＭ１１１０にロードする。この処理は、ＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをＨＤＤ１１３０のプログラム領域に書き込み中、もしくは、書き込む前に画像形成装置１０の本体電源がＯＦＦされた場合のリカバリー処理である。この処理を終了したら、図４に示した処理手順でＨＤＤ１１３０のデータ領域に格納された制御プログラムデータをＨＤＤ１１３０のプログラム領域に格納する。ステップＳ５０３は、ステップＳ５０１でプログラム受信フラグがＯＮでない場合の処理で、この場合、ＨＤＤ１１３０のプログラム領域から制御プログラムをＲＡＭ１１１０にロードする。ステップＳ５０４は、書き込み開始フラグ３００２がＯＮか否かを調べる処理を行う。ステップＳ５０４で、書き込み開始フラグ３００２がＯＮであった場合、処理をステップＳ５０５へ移行する。ステップＳ５０４で、書き込み開始フラグ３００２がＯＮでなかった場合、処理を終了する。ステップＳ５０５は、ステップＳ５０４で、書き込み開始フラグ３００２がＯＮであった場合の処理である。これは、画像形成装置１０が不図示の管理サーバから受信した制御プログラムデータをＨＤＤ１１３０のプログラム領域への書き込みを終了しているが、不図示の管理サーバへの制御プログラム書き込み完了の通知を発行していない状態である。従って、ステップＳ５０４では、不図示の管理サーバに対し、一連の処理が完了したことを示す書替完了通知を発行する処理を行う。ステップＳ５０６は、書き込み開始フラグ３００２をＣＰＵ１１００がクリアする処理を行う。以上述べたフローにより、画像形成装置１０が受信した制御プログラムデータをＨＤＤ１１３０のプログラム領域への書き込みが正しく行えていなかった場合のリカバリーが可能となる。
【００１６】
（実施例２）
図６は、本発明の実施の形態２にかかる画像形成装置１０のＲＡＭ１１１０のプログラム書替タイミングの流れを示した図である。ステップＳ６０１は、プログラム受信フラグ３００１の状態をチェックする処理を行う。ステップＳ６０１で、プログラム受信フラグ３００１がＯＮの場合、ステップＳ６０２へ処理を移行する。ステップＳ６０１で、プログラム受信フラグ３００１がＯＮでない場合は処理を終了する。ステップＳ６０２は、ステップＳ６０１でプログラム受信フラグ３００１がＯＮであった場合の処理で、ＲＡＭ１１１０の制御プログラム領域を、ＨＤＤ１１３０のデータ領域に格納された制御プログラムの内容に書き換える処理を行う。ステップＳ６０３は、ＨＤＤ１１３０のデータ領域に格納された制御プログラムの内容をＲＡＭ１１１０へ書き換え処理が終了した後に実行する処理で、画像形成装置１０をスリープ状態にして、処理を終了する。
【００１７】
（実施例３）
図７は、本発明の本発明の実施の形態３にかかる画像形成装置の構成及びコントローラユニットの構成を示す図である。本実施例は、画像形成装置１０のＨＤＤ１１３０のプログラム領域に格納されている制御プログラムが、画像形成装置１０のもつ機能毎に分割されている場合の例である。尚、図１との差異は、モジュール種類記憶部３００３が追加された点である。モジュール種類記憶部３００３は、画像形成装置１０が受信した画像形成装置１０の制御プログラムモジュールデータが、コピー機能用制御プログラムモジュールデータかスキャン機能用制御プログラムモジュールデータか等、受信した制御プログラムモジュールの種類を記憶するメモリである。これにより、画像形成装置１０が受信した制御プログラムデータが、画像形成装置１０のどの機能に対応した制御プログラムかを記憶する事が可能となる。
【００１８】
図８は、本発明の実施の形態３にかかる画像形成装置１０がデータを受信したデータに対する処理の流れを示した図である。ステップＳ８０１は当該画像形成装置１０がＬＡＮ４０を介してデータを受信した時、その受信したデータが画像形成装置１０の制御プログラムか印刷データかを解析する処理を行う。更に、制御プログラムの場合、画像形成装置１０がもつ機能のどれを起動させる為の制御プログラムかを解析する。尚、データ解析は、画像形成装置１０が受信したデータのヘッダー情報に予め、当該データが制御プログラムか印刷データかを識別可能なコードを埋め込んでおき、それを抽出する。尚、制御プログラムは、不図示の管理サーバから送信される。ステップＳ８０２は、当該画像形成装置１０が受信したデータが、当該画像形成装置１０の制御プログラムか印刷データかを判定する処理を行う。ステップＳ８０２で、画像形成装置１０が受信したデータが画像形成装置１０の制御プログラムの場合、ステップＳ８０３へ処理を移行する。ステップＳ８０２で、画像形成装置１０が受信したデータが印刷データであった場合、ステップＳ２０６へ処理を移行する。ステップＳ８０３は、ステップＳ８０２で画像形成装置１０が受信したデータが当該画像形成装置１０の制御プログラムであった場合の処理で、ＣＰＵ１１００はプログラム受信フラグ３００１をＯＮにする。ステップＳ８０４は、ステップＳ８０１で抽出した画像形成装置１０の機能モジュールの種類をモジュール種類記憶部３００３へ格納する処理を行う。ステップＳ８０５は、画像形成装置１０が受信したデータが当該画像形成装置１０の制御プログラムであった場合の処理で、不図示の管理サーバから送信された制御プログラムデータを受信し、受信した制御プログラムデータをＨＤＤ１１３０のデータ領域に格納する。ＨＤＤ１１３０に受信した制御プログラムデータを格納し終えたら、処理を終了する。コントローラユニット１００においては、受信した制御プログラムデータのＨＤＤ１１３０への格納領域に他の印刷データ等を書き込まないように制御プログラムデータ格納アドレスを管理する。ステップＳ８０６は、ステップＳ８０２で当該画像形成装置１０が受信したデータが印刷データと判断された場合の処理で、印刷データの受信を行い、通常の印刷動作を実施して、処理を終了する。
【図面の簡単な説明】
【００１９】
【図１】本発明の本発明の実施の形態１、実施の形態２における画像形成装置の構成及びコントローラユニットの構成を示す図である。
【図２】本発明の実施の形態１にかかる画像形成装置１０がデータを受信したデータに対する処理の流れを示した図である。
【図３】本発明の実施の形態１にかかる画像形成装置１０のＲＡＭ１１１０のプログラム書替タイミングの流れを示した図である。
【図４】本発明の実施の形態１にかかる画像形成装置１０のＨＤＤ１１３０のプログラム領域のプログラム書替の流れを示した図である。
【図５】本発明の実施の形態１にかかる画像形成装置１０の本体電源ＯＮ後の処理を示した図である。
【図６】本発明の実施の形態２にかかる画像形成装置１０のＲＡＭ１１１０のプログラム書替タイミングの流れを示した図である。
【図７】本発明の本発明の実施の形態３にかかる画像形成装置の構成及びコントローラユニットの構成を示す図である。
【図８】本発明の実施の形態３にかかる画像形成装置１０がデータを受信したデータに対する処理の流れを示した図である。
【符号の説明】
【００２０】
10  画像形成装置
20  ホストＰＣ
21  ホストＰＣ
30  ホストＰＣ
40  ＬＡＮケーブル
50  ローカルI/Fケーブル
60  公衆回線
100  コントローラユニット
120  プリンタ
140  スキャナ
160  ドキュメントフィーダ
1100  CPU
1110  RAM
1120  ROM
1130  HDD
1200  LANC
1210  ローカルI/F
1220  MODEM
1300  プリンタI/F
1400  スキャナI/F
1500  操作部I/F
2000  操作部
3001  プログラム受信フラグ
3002  書き込み開始フラグ
【図１】
2008284711.tif 000003
【図２】
2008284711.tif 000004
【図３】
2008284711.tif 000005
【図４】
2008284711.tif 000006
【図５】
2008284711.tif 000007
【図６】
2008284711.tif 000008
【図７】
2008284711.tif 000009
【図８】
2008284711.tif 000010