(57)【要約】【課題】更新前のプログラムを退避させることなく、プログラムの更新中にプログラムが破損してしまった場合でも、動作可能な状態に復旧することができるプログラム書き換え方法を提供する。【解決手段】アップデートプログラムと、起動時に通常モードである場合には制御プログラムを起動し、起動時にアップデートである場合にはアップデートプログラムを起動するブートブログラムとを不揮発性メモリーに格納しておき、制御プログラムが起動され、制御プログラムの書き換えが指示されると、ＣＰＵ２０は、アップデートモードに切り換えて、複合機１を再起動させ、アップデートプログラムが起動されると、ＣＰＵ２０は、不揮発性メモリー５０に格納されている制御プログラムがダウンロードした制御プログラム（改）に更新されたことを確認した後に、通常モードに切り換えて、複合機１を再起動させる。【選択図】図２
2014006836.tif 000002
【特許請求の範囲】
【請求項１】
制御手段を電子機器の機能を実現する処理部として機能させる制御プログラムが格納された不揮発性メモリーを有する電子機器において、前記不揮発性メモリーに格納されている前記制御プログラムを書き換えるプログラム書き換え方法であって、
ネットワーク経由で改訂版の前記制御プログラムをダウンロードし、ダウンロードした改訂版の前記制御プログラムに前記不揮発性メモリーに格納されている前記制御プログラムを更新する処理部として前記制御手段を機能させるアップデートプログラムと、起動時に動作モードが通常モードである場合には前記制御プログラムを起動し、起動時に前記動作モードがアップデートである場合には前記アップデートプログラムを起動するブートブログラムとを前記不揮発性メモリーに格納しておき、
前記制御プログラムが起動され、前記制御プログラムの書き換えが指示されると、前記制御手段は、前記動作モードを前記アップデートモードに切り換えて、前記電子機器を再起動させ、
前記アップデートプログラムが起動されると、前記制御手段は、前記ネットワーク経由で改訂版の前記制御プログラムをダウンロードし、ダウンロードした改訂版の前記制御プログラムに前記不揮発性メモリーに格納されている前記制御プログラムを更新し、前記不揮発性メモリーに格納されている前記制御プログラムがダウンロードした改訂版の前記制御プログラムに更新されたことを確認した後に、前記動作モードを前記通常モードに切り換えて、前記電子機器を再起動させることを特徴とするプログラム書き換え方法。
【請求項２】
前記制御プログラムが起動され、前記制御プログラムの書き換えが指示されると、前記制御手段は、前記ネットワーク経由で改訂版の前記アップデートプログラムをダウンロードし、ダウンロードした改訂版の前記アップデートプログラムに前記不揮発性メモリーに格納されている前記アップデートプログラムを更新し、前記不揮発性メモリーに格納されている前記アップデートプログラムがダウンロードした改訂版の前記アップデートプログラムに更新されたことを確認した後に、前記動作モードを前記アップデートモードに切り換えて、前記電子機器を再起動させることを特徴とする請求項１記載のプログラム書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム制御で動作する複写機、プリンタ、複合機等の電子機器において、電子機器を動作させるプログラムを書き換えるプログラム書き換え方法に関する。
【背景技術】
【０００２】
プログラム制御で動作する複写機、プリンタ、複合機等の電子機器において、電子機器を動作させるプログラムは、フラッシュメモリー等の不揮発性メモリーに記録され、バージョンアップ等の必要に応じてプログラムの書き換えが可能な構成になっているものが多い（例えば、特許文献１参照）。
【０００３】
バージョンアップの手段については、ネットワーク上のサーバーから更新用のプログラムをダウンロードし、不揮発性メモリーに記録されているプログラムを書き換えて再起動させることにより、リモート操作でのプログラムの更新が可能となっている（例えば、特許文献２、３、４参照）。
【０００４】
しかしながら、リモート操作で不揮発性メモリーの書き換えを行っている最中に、そのことを知らないユーザーが誤って電源を切断したり、停電などによって電源が切断されたりしてしまうことにより、更新中のプログラムが破損して動作不能な状態になってしまう恐れがあった。
【０００５】
これを回避するため、更新前のプログラムを別の領域に退避しておき、更新の途中で電源が切断された場合には、更新前のプログラムで動作できるようにする方法が提案されている（例えば、特許文献５参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−４５１８２号公報
【特許文献２】特開２００２−２７８７２３号公報
【特許文献３】特開２００３−８４９８２号公報
【特許文献４】特開２００７−１１９４４号公報
【特許文献５】特開平１１−２６５２８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術では、更新前のプログラムを退避させておく余分な領域を不揮発性メモリーに確保しなければならないため、大容量の不揮発性メモリーを採用しなければならない。従って、最低限の不揮発性メモリーしか持たない低価格の電子機器の場合には、更新前のプログラムを退避しておくことができず、更新中のプログラムが破損すると、動作不能な状態になってしまうという問題点があった。
【０００８】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、更新前のプログラムを退避させることなく、プログラムの更新中に電源が切断される等して更新中のプログラムが破損してしまった場合でも、動作可能な状態に復旧することができるプログラム書き換え方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のプログラム書き換え方法は、制御手段を電子機器の機能を実現する処理部として機能させる制御プログラムが格納された不揮発性メモリーを有する電子機器において、前記不揮発性メモリーに格納されている前記制御プログラムを書き換えるプログラム書き換え方法であって、ネットワーク経由で改訂版の前記制御プログラムをダウンロードし、ダウンロードした改訂版の前記制御プログラムに前記不揮発性メモリーに格納されている前記制御プログラムを更新する処理部として前記制御手段を機能させるアップデートプログラムと、起動時に動作モードが通常モードである場合には前記制御プログラムを起動し、起動時に前記動作モードがアップデートである場合には前記アップデートプログラムを起動するブートブログラムとを前記不揮発性メモリーに格納しておき、前記制御プログラムが起動され、前記制御プログラムの書き換えが指示されると、前記制御手段は、前記動作モードを前記アップデートモードに切り換えて、前記電子機器を再起動させ、前記アップデートプログラムが起動されると、前記制御手段は、前記ネットワーク経由で改訂版の前記制御プログラムをダウンロードし、ダウンロードした改訂版の前記制御プログラムに前記不揮発性メモリーに格納されている前記制御プログラムを更新し、前記不揮発性メモリーに格納されている前記制御プログラムがダウンロードした改訂版の前記制御プログラムに更新されたことを確認した後に、前記動作モードを前記通常モードに切り換えて、前記電子機器を再起動させることを特徴とする。
さらに、本発明のプログラム書き換え方法は、前記制御プログラムが起動され、前記制御プログラムの書き換えが指示されると、前記制御手段は、前記ネットワーク経由で改訂版の前記アップデートプログラムをダウンロードし、ダウンロードした改訂版の前記アップデートプログラムに前記不揮発性メモリーに格納されている前記アップデートプログラムを更新し、前記不揮発性メモリーに格納されている前記アップデートプログラムがダウンロードした改訂版の前記アップデートプログラムに更新されたことを確認した後に、前記動作モードを前記アップデートモードに切り換えて、前記電子機器を再起動させるようにしても良い。
【発明の効果】
【００１０】
本発明によれば、更新前のプログラムを退避させることなく、プログラムの更新中に電源が切断される等して更新中のプログラムが破損してしまった場合でも、動作可能な状態に復旧することができるため、プログラムを格納する不揮発性メモリーに余分な領域を確保する必要がなく、コストを低減させることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態である複合機の概略構成を示すブロック図である。
【図２】図１に示す制御部のシステム構成例を示すブロック図である。
【図３】図１に示す複合機におけるプログラム書き換え動作を説明するためのフローチャートである。
【図４】図２に示す不揮発性メモリーに格納されているアップデートプログラムを書き換えるプログラム書き換え動作を説明するための説明図である。
【図５】図２に示す不揮発性メモリーに格納されている制御プログラムを書き換えるプログラム書き換え動作を説明するための説明図である。
【発明を実施するための形態】
【００１２】
次に、本発明の実施の形態を、図面を参照して具体的に説明する。
本発明の実施の形態は、複写機能、スキャナー機能、ファクシミリ機能等を有し、プログラム制御で動作する複合機１であり、図１を参照すると、操作部２と、原稿読取部３と、記憶部４と、画像処理部５と、印刷部６と、ファクシミリ部７と、制御部１０とを備え、インターネット等のネットワーク９を介してメンテナンスサーバー１００と接続されている。
【００１３】
操作部２は、液晶表示パネルの表面に透明の感圧センサーが設けられたタッチパネル、印刷枚数等の数値を入力するためのテンキー、設定情報を初期化させる指示を入力するためのリセットキー、複写動作を停止させたり、入力された数値を消去させたりするためのストップキー、割り込みコピーを指示する割り込みキー、印刷動作を開始させる出力指示を入力するためのスタートキー等の各種操作キーを備えたユーザーインターフェースである。
【００１４】
原稿読取部３は、図示しない原稿給紙装置により給紙されてきた原稿や、ユーザーによってプラテンガラスに載置された原稿に対して光を照射し、その反射光等を受光して原稿画像を読み取るスキャナーである。
【００１５】
記憶部４は、ＨＤＤ（Hard Disk Drive）等の記憶手段であり、原稿読取部３によって読み取られた画像データ、ファクシミリ部７によって受信された画像データが蓄積される記憶手段である。
【００１６】
画像処理部５は、原稿読取部３によって読み取られた画像データに対して、濃度やカラー／モノクロの判別処理等の画像検出処理、画像データの変倍処理やフィルタ処理等の画像処理、２値化等の画像処理等を施し、さらにファイル形式（ＪＰＥＧ等）に圧縮処理して、記憶部４に出力する機能を有している。
【００１７】
印刷部６は、例えば、電子写真技術を用いて画像形成を行う画像形成手段である。印刷部６は、記憶部４から読み出した画像データに基づき感光体ドラムの表面に潜像を形成し、現像装置からのトナーによってその潜像をトナー像とする画像形成を行い、その感光体ドラムから記録紙にトナー像を転写させ、そのトナー像を記録紙に定着させて排紙する構成を有している。
【００１８】
ファクシミリ部７は、モデムを有し、原稿読取部３によって読み取られた画像データや、記憶部４に記憶されている画像データからファクシミリ信号を生成し、生成したファクシミリ信号を公衆回線網８経由で送信するファクシミリ送信機能と、公衆回線網８経由でファクシミリ信号を受信するファクシミリ受信機能とを備えている。
【００１９】
操作部２と、原稿読取部３と、記憶部４と、画像処理部５と、印刷部６と、ファクシミリ部７とは、制御部１０に接続され、制御部１０は、操作部２から入力された所定の指示情報に応じて複合機１の動作制御を実行する。
【００２０】
制御部１０は、マイクロコンピュータ等の情報処理部であり、図２を参照すると、ＣＰＵ２０と、ＡＳＩＣ３０と、ＳＤＲＡＭ等で構成されたシステムメモリー４０と、ＮＡＮＤ型フラッシュメモリー等で構成された不揮発性メモリー５０とを備えたコントローラー基板として構成されている。
【００２１】
ＡＳＩＣ３０は、複数の機能回路をまとめた集積回路であり、ＣＰＵ２０との間で情報のやり取りを行うＩ／Ｆ回路３１と、レジスタ３３と、不揮発性メモリー５０に格納されている情報の読み書きを制御する不揮発性メモリーコントローラー３４と、システムメモリー４０に格納されている情報の読み書きを制御するシステムメモリーコントローラー３５と、インターネット等のネットワーク９とのインターフェイスである通信Ｉ／Ｆ３６とを備えている。なお、ＡＳＩＣ３０には、操作部２、原稿読取部３、記憶部４、画像処理部５、印刷部６、ファクシミリ部７等を制御する多くのコントローラーが内蔵されているが、図２では省略されている。
【００２２】
不揮発性メモリー５０は、データの書き込み・消去を行うことができ、電源が切断されてもデータが消えることがない不揮発性の半導体メモリーであり、ブートプログラムと、通常モード時に起動される制御プログラムと、アップデートモード時に起動されるアップデートプログラムとが格納されている。
【００２３】
ブートプログラムは、ブート動作として、通常モード時には制御プログラムを起動すると共に、アップデートモード時にはアップデートプログラムを起動するプログラムである。また、ブートプログラムは、書き換えられることがない規模の小さなプログラムであり、ブートプログラムを格納するブート領域として不揮発性メモリー５０上に確保するメモリー容量も小さくて良い。
【００２４】
アップデートプログラムは、アップデートモード時にブートプログラムによって起動され、制御プログラムを書き換える処理部としてＣＰＵ２０を機能させるプログラムである。また、アップデートプログラムは、制御プログラムを書き換える単機能のプログラムであるため、規模も小さく、アップデートプログラムを格納するアップデータ領域として不揮発性メモリー５０上に確保するメモリー容量も小さくて良い。
【００２５】
制御プログラムは、通常モード時にブートプログラムによって起動され、複合機１が持つ機能を実現するための処理部としてＣＰＵ２０を機能させるプログラムであると共に、アップデートプログラムを書き換える処理部としてＣＰＵ２０を機能させる更新プログラムとしても機能する。また、制御プログラムは、複合機１が持つすべての機能を実現させる大規模なプログラムであり、不揮発性メモリー５０においてブート領域及びアップデータ領域以外の大部分の領域が制御プログラムを格納するプログラム領域して確保されている。
【００２６】
レジスタ３３は、フラグによって状態を示すステータスレジスタであり、「動作モードフラグ」で構成されている。「動作モードフラグ」は、動作モードを設定するためのものであり、「動作モードフラグ」がオンである場合には、「通常モード」が、「動作モードフラグ」がオフである場合には、「アップデートモード」がそれぞれ設定される。
【００２７】
メンテナンスサーバー１００は、複合機１の不揮発性メモリー５０に記憶されている制御プログラムの書き換えを指示するプログラム書き換え指示をネットワーク９経由で複合機１に送信する機能を有している。また、メンテナンスサーバー１００は、改訂版（バージョンアップや修正）の制御プログラム（改）と、改訂版（バージョンアップや修正）のアップデートプログラム（改）とを記憶しておき、制御プログラム（改）及びアップデートプログラム（改）をネットワーク９経由で複合機１にダウンロードする機能を有している。
【００２８】
次に、本実施の形態におけるプログラム書き換え動作について図３乃至図５を参照して詳細に説明する。
装置起動時には、まず、不揮発性メモリー５０のブート領域に格納されているブートプログラムが不揮発性メモリーコントローラー３４内のバッファ領域（ＲＡＭ）にストアされ、ブートプログラムによってブート動作が実行される。
【００２９】
図３及び図４（ａ）を参照すると、ブートプログラムによるブート動作では、まず、ＣＰＵ２０によって、レジスタ３３における「動作モードフラグ」がオン、すなわち動作モードが通常モードであるか否かを判断される（ステップＡ１）。ステップＡ１で「動作モードフラグ」がオンで通常モードである場合には、ＣＰＵ２０は、不揮発性メモリー５０に格納されている制御プログラムを認識し、制御プログラムを起動させる（ステップＡ２）。
【００３０】
制御プログラムが起動されると、ＣＰＵ２０は、複合機１が持つ機能を実現するための処理部として機能すると共に、ネットワーク９に接続されているメンテナンスサーバー１００からのプログラム書き換え指示の受信を待つ（ステップＡ３）。なお、本実施の形態では、メンテナンスサーバー１００からプログラム書き換え指示を送信するように構成したが、複合機１側からメンテナンスサーバー１００にアクセスしてプログラム書き換えを問い合わせるようにしても良い。また、メンテナンスサーバー１００に制御プログラム（改）が記憶されているか否かでプログラム書き換えを判断するようにしても良い。
【００３１】
ステップＡ３でプログラム書き換え指示が受信されると、制御プログラムは、アップデートプログラムを書き換える処理部としてＣＰＵ２０を機能させる更新プログラムとして機能し、ＣＰＵ２０は、メンテナンスサーバー１００にアップデートプログラム（改）が記憶されているか否かを判断する（ステップＡ４）。ステップＡ４でメンテナンスサーバー１００にアップデートプログラム（改）が記憶されている場合には、ＣＰＵ２０は、メンテナンスサーバー１００からアップデートプログラム（改）をネットワーク９経由でダウンロードし（ステップＡ５）、不揮発性メモリー５０に格納されているアップデートプログラムを、ダウンロードしたアップデートプログラム（改）に更新する（ステップＡ６）。
【００３２】
図３に「Ｘ」で示すステップＡ２〜ステップＡ６の期間は、レジスタ３３における「動作モードフラグ」がオン、すなわち動作モードが通常モードに維持されていると共に、不揮発性メモリー５０に格納されている制御プログラムの更新は行われない。従って、図３に「Ｘ」で示すステップＡ２〜ステップＡ６の期間に電源が切断されてしまった場合、図４（ｂ）に示すように、不揮発性メモリー５０に格納されているアップデートプログラムが破壊された状態であっても、次回の装置起動時に、ステップＡ２で制御プログラムが起動され、ステップＡ３でプログラム書き換え指示の受信を待つ状態に戻ることができる。なお、ステップＡ３で受信されたプログラム書き換え指示を不揮発性メモリー５０に残しておくことができれば、次回の装置起動時に、アップデートプログラムの確認・ダウンロード・更新処理（ステップＡ４〜Ａ６）から再開することも可能になる。
【００３３】
ステップＡ６でアップデートプログラム（改）に正しく更新されたことが確認されると、ＣＰＵ２０は、レジスタ３３における「動作モードフラグ」をオフ、すなわち動作モードをアップデートモードに切り換え（ステップＡ７）、複合機１を再起動させる（ステップＡ８）。
【００３４】
なお、制御プログラムの書き換えに伴って、不揮発性メモリー５０に格納されているアップデートプログラムで対応することができる場合には、アップデートプログラム（改）は、用意されない。従って、ステップＡ４でメンテナンスサーバー１００にアップデートプログラム（改）が記憶されていない場合にも、ＣＰＵ２０は、ステップＡ７及びステップＡ８の処理を実行する。
【００３５】
図３及び図５（ａ）を参照すると、次回の装置起動時には、ステップＡ１に戻り、ステップＡ１で「動作モードフラグ」がオフで通常モードではなくアップデートモードである場合には、ＣＰＵ２０は、不揮発性メモリー５０に格納されているアップデートプログラムを認識し、アップデートプログラムを起動させる（ステップＡ９）。
【００３６】
アップデートプログラムが起動されると、ＣＰＵ２０は、制御プログラムを書き換える処理部として機能し、メンテナンスサーバー１００から制御プログラム（改）をネットワーク９経由でダウンロードし（ステップＡ１０）、不揮発性メモリー５０に格納されている制御プログラムを、ダウンロードした制御プログラム（改）に更新する（ステップＡ１１）。
【００３７】
図３に「Ｙ」で示すステップＡ９〜ステップＡ１１の期間は、レジスタ３３における「動作モードフラグ」がオフ、すなわち動作モードがアップデートモードに維持されていると共に、不揮発性メモリー５０に格納されているアップデートプログラムの更新は行われない。従って、図３に「Ｙ」で示すステップＡ９〜ステップＡ１１の期間に電源が切断されてしまった場合、図５（ｂ）に示すように、不揮発性メモリー５０に格納されている制御プログラムが破壊された状態であっても、次回の装置起動時に、ステップＡ９でアップデートプログラムが起動され、アップデートプログラムのダウンロード・更新処理（ステップＡ１０、Ａ１１）が再開されることになる。なお、ステップＡ１０で制御プログラム（改）がダウンロードされた後に、電源が切断された場合には、制御プログラム（改）のダウンロードが完了したことを不揮発メモリー５０に残しておくことで、次回の装置起動時には、ステップＡ１１の更新処理からが再開することもできる。
【００３８】
ステップＡ１１で制御プログラム（改）に正しく更新されたことが確認されると、ＣＰＵ２０は、レジスタ３３における「動作モードフラグ」をオン、すなわち動作モードを通常モードに切り換え（ステップＡ１２）、複合機１を再起動させる（ステップＡ１３）。これにより、次回の装置起動時には、ステップＡ２で更新された制御プログラム（改）が起動される。
【００３９】
なお、本実施の形態では、不揮発性メモリー５０と記憶部４との別構成として説明したが、不揮発性メモリー５０と記憶部４とを同一構成にしても良い。
【００４０】
以上説明したように本実施の形態は、ＣＰＵ２０を装置の機能を実現する処理部として機能させる制御プログラムが格納された不揮発性メモリー５０を有する複合機１において、不揮発性メモリー５０に格納されている制御プログラムを書き換えるプログラム書き換え方法であって、ネットワーク９経由で制御プログラム（改）をダウンロードし、ダウンロードした制御プログラム（改）に不揮発性メモリー５０に格納されている制御プログラムを更新する処理部としてＣＰＵ２０を機能させるアップデートプログラムと、起動時に動作モードが通常モードである場合には制御プログラムを起動し、起動時に動作モードがアップデートである場合にはアップデートプログラムを起動するブートブログラムとを不揮発性メモリーに格納しておき、制御プログラムが起動され、制御プログラムの書き換えが指示されると、ＣＰＵ２０は、動作モードをアップデートモードに切り換えて、複合機１を再起動させ、アップデートプログラムが起動されると、ＣＰＵ２０は、ネットワーク９経由で制御プログラム（改）をダウンロードし、ダウンロードした制御プログラム（改）に不揮発性メモリー５０に格納されている制御プログラムを更新し、不揮発性メモリー５０に格納されている制御プログラムがダウンロードした制御プログラム（改）に更新されたことを確認した後に、動作モードを通常モードに切り換えて、複合機１を再起動させるように構成されている。この構成により、更新前の制御プログラムを退避させることなく、制御プログラムの更新中に電源が切断される等して更新中の制御プログラムが破損してしまった場合でも、アップデートプログラムが起動されて、制御プログラムの更新が再開されるため、動作可能な状態に復旧することができるため、プログラムを格納する不揮発性メモリー５０に余分な領域を確保する必要がなく、コストを低減させることができるという効果を奏する。
【００４１】
さらに、本実施の形態によれば、制御プログラムが起動され、制御プログラムの書き換えが指示されると、ＣＰＵ２０は、ネットワーク９経由で改訂版のアップデートプログラム（改）をダウンロードし、ダウンロードしたアップデートプログラム（改）に不揮発性メモリー５０に格納されているアップデートプログラムを更新し、不揮発性メモリー５０に格納されているアップデートプログラムがダウンロードしたアップデートプログラム（改）に更新されたことを確認した後に、動作モードをアップデートモードに切り換えて、複合機１を再起動させるように構成されている。この構成により、アップデートプログラムの更新中に電源が切断される等して更新中のアップデートプログラムが破損してしまった場合でも、制御プログラムが起動されて、アップデートプログラムの更新が再開されるため、動作可能な状態に復旧することができるという効果を奏する。
【００４２】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。
【符号の説明】
【００４３】
１  複合機
２  操作部
３  原稿読取部
４  記憶部
５  画像処理部
６  印刷部
７  ファクシミリ部
８  公衆回線網
９  ネットワーク
１０  制御部
２０  ＣＰＵ
３０  ＡＳＩＣ
３１  Ｉ／Ｆ回路
３３  レジスタ
３４  不揮発性メモリーコントローラー
３５  システムメモリーコントローラー
３６  通信Ｉ／Ｆ
４０  システムメモリー
５０  不揮発性メモリー
１００  メンテナンスサーバー
【図１】
2014006836.tif 000003
【図２】
2014006836.tif 000004
【図３】
2014006836.tif 000005
【図４】
2014006836.tif 000006
【図５】
2014006836.tif 000007