(57)【要約】【課題】電力供給がバックアップされていないデータ処理装置において、制御プログラムのアップデート中に停電等が発生したとしても、システムが起動しなくなるという問題が発生するのを防止することができるデータ処理装置を提供すること。【解決手段】本発明のデータ処理装置１は、読み出して実行すべき制御プログラムの記憶場所を識別情報に基づいて所定の複数の記憶場所から選択する選択手段と、実行中の制御プログラムと同じ制御プログラムの書換データを外部から受信した場合に、前記所定の複数の記憶場所のうち、前記実行中の制御プログラムが読み出された記憶場所と異なる記憶場所に、受信した前記書換データを書込む書込み手段と、を備える。【選択図】      図１
2005242512.tif 000002
【特許請求の範囲】
【請求項１】
読み出して実行すべき制御プログラムの記憶場所を識別情報に基づいて所定の複数の記憶場所から選択する選択手段と、実行中の制御プログラムと同じ制御プログラムの書換データを外部から受信した場合に、前記所定の複数の記憶場所のうち、前記実行中の制御プログラムが読み出された記憶場所と異なる記憶場所に、受信した前記書換データを書込む書込み手段と、を備えることを特徴とするデータ処理装置。
【請求項２】
前記書換データが前記異なる記憶場所に書込まれた場合に、前記選択手段が前記読み出して実行すべき制御プログラムの記憶場所として前記異なる記憶場所を選択するように、前記識別情報を変更する変更手段を備えることを特徴とする請求項１記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、詳しくは外部から受信した制御プログラムの書換データにより自装置のメモリに記憶されている制御プログラムをアップデートするデータ処理装置に関するものである。
【背景技術】
【０００２】
制御プログラムのアップデートを比較的頻繁に行う必要があるデータ処理装置では、書換え可能なフラッシュメモリ等に自身の制御プログラムが記憶されており、該フラッシュメモリの制御プログラムを外部から受信した書換データに書換えることにより、制御プログラムのアップデート処理が行われている。
【０００３】
このようなアップデート処理を行うものとして、例えば、特許文献１に開示されているメモリ書換システムがある。特許文献１のメモリ書換システム４０では、図５に示すように、まず、外部端末装置４１のＣＰＵ（Central Processing Unit）４２によって記憶装置４３から読み出された書換データがデータ送信回路４４によってＩ／Ｆ４５からデータ処理装置４６へと送信される。そして、データ処理装置４６のデータ受信回路４７がＩ／Ｆ４８から入力された書換データを受信すると、その書換データは一旦ＲＡＭ（Random Access Memory）４９に格納され、ＣＰＵ５０がフラッシュメモリ５１の制御プログラムをＲＡＭ４９に格納された書換データに書換えることにより制御プログラムのアップデート処理が行われる。
【０００４】
なお、このメモリ書換システム４０では、電源切換回路５２によって本体電源５３からデータ処理装置４６の各部への電力供給が常時監視されており、電源切換回路５２は、アップデート処理中に本体電源５３からデータ処理装置４６の各部への電力供給が遮断された場合に、外部端末装置４１のバックアップ電源５４から伝送ケーブル５５を介して電力が供給されるように電力供給経路を切換える。したがって、データ処理装置４６は、制御プログラムのアップデート中に停電等により本体電源５３からデータ処理装置４６の各部への電力供給が遮断されたとしても、その影響を受けることなくアップデート処理を継続して行うことができる。
【特許文献１】特開平８−６９３４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のメモリ書換システム４０とは異なり、電力供給がバックアップされないシステム、例えばＬＡＮ（Local Area Network）やインターネット等を介してアップデート処理が行われるシステムにおいては、制御プログラムのアップデート中に停電等が発生した場合に、データ処理装置のフラッシュメモリの制御プログラムが書換え途中のままの不完全なものとなり、最悪の場合、データ処理装置のシステムが起動しなくなるという問題があった。
【０００６】
本発明は、かかる課題に鑑みてなされたものであり、電力供給がバックアップされていないデータ処理装置において、制御プログラムのアップデート中に停電等が発生したとしても、システムが起動しなくなるという問題が発生するのを防止することができるデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１記載のデータ処理装置は、読み出して実行すべき制御プログラムの記憶場所を識別情報に基づいて所定の複数の記憶場所から選択する選択手段と、実行中の制御プログラムと同じ制御プログラムの書換データを外部から受信した場合に、前記所定の複数の記憶場所のうち、前記実行中の制御プログラムが読み出された記憶場所と異なる記憶場所に、受信した前記書換データを書込む書込み手段と、を備えることを特徴としている。
【０００８】
請求項２記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記書換データが前記異なる記憶場所に書込まれた場合に、前記選択手段が前記読み出して実行すべき制御プログラムの記憶場所として前記異なる記憶場所を選択するように、前記識別情報を変更する変更手段を備えることを特徴としている。
【発明の効果】
【０００９】
請求項１に記載のデータ処理装置では、実行中の制御プログラムが読み出された記憶場所と異なる記憶場所に受信した書換データが書込まれるので、たとえ、異なる記憶場所への書換データの書込み中に停電等が発生して異なる記憶場所の制御プログラムが不完全なものになったとしても、実行中の制御プログラムを読み出した記憶場所から再度制御プログラムを読み出して実行することができる。したがって、一つの記憶場所の制御プログラムが受信した書換データに書換えられる従来のデータ処理装置のように、停電等が発生した場合にシステムが起動しなくなるということはない。
【００１０】
請求項２に記載のデータ処理装置によれば、請求項１に記載のデータ処理装置の効果に加え、受信した書換データが実行中の制御プログラムが読み出された記憶場所と異なる記憶場所に書込まれた場合に、異なる記憶場所から制御プログラムを読み出して実行するように記憶場所の選択が変更されるため、次回システム起動時からアップデートされた最新の制御プログラムを読み出して実行することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態に係るデータ処理装置を、ＬＰＤ（Line Printer Daemon）プロトコルに基づいてＬＡＮ（Local Area Network）上のクライアントＰＣから受信したプリントデータを複合機の印刷処理モジュールに転送するＬＰＤサーバ機能を備えたネットワーク インターフェース コントローラに適用した場合について、図面に基づき説明する。
【００１２】
このデータ処理装置１は、図１に例示するように、コピー機能、ファクシミリ機能、ＰＣスキャナ機能、ＰＣプリント機能等を備えた複合機２に組込まれており、ＬＡＮ３上のクライアントＰＣ４からＬＡＮ３を介して送信されたプリントデータ等を複合機２に転送したり、逆に複合機２において読取られた原稿の画像データ等をクライアントＰＣ４に送信するものである。
【００１３】
このデータ処理装置１にプリントデータを送信するクライアントＰＣ４は、一般的な機能を備えたＰＣ（Personal Computer）であり、ＬＰＲ（Line Printer Remote）プロトコルに基づいてＬＡＮ３上の他のクライアントＰＣ４と通信を行ったり、データ処理装置１にプリントデータの印刷要求を行った後、該プリントデータを送信する。具体的には、プリントデータの送信に先立って、プリントデータのファイル名等の制御用データが格納されたコントロールファイルをデータ処理装置１に送信した後に、プリントデータを送信する。
【００１４】
また、このクライアントＰＣ４は、プリントデータをデータ処理装置１に送信する上記の手順と同じ手順にてデータ処理装置１が制御プログラム（ファームウェア）をアップデートするための書換データをデータ処理装置１に送信する。すなわち、クライアントＰＣ４は、プリントデータ又は書換データのいずれかであるデータファイルの送信に先立って、まず、データファイルのファイル名等が格納されたコントロールファイルをデータ処理装置１に送信し、その後、データファイルを送信する。なお、このデータファイルの他には、複合機２からファクシミリ送信させるための原稿の画像データがクライアントＰＣ４から送信される。
【００１５】
一方、データ処理装置１は、図示するように、制御部（ＭＰＵ：Microprocessing Unit）５、インターフェース回路６、Ｆｌａｓｈ ＲＯＭ（Read Only Memory）７、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）８を備えたものであり、各部５乃至８は、バス９によって通信可能に接続されている。また、データ処理装置１は、複合機２と通信可能に接続されている。
【００１６】
制御部５は、Ｆｌａｓｈ ＲＯＭ７に記憶されている制御プログラムに従って、このデータ処理装置１を構成する各部を制御する。インターフェース回路６は、制御部５が実行中の制御プログラムと同じ制御プログラムの書換データを外部から受信するものであり、ここではクライアントＰＣ４から送信された書換データを受信する。なお、インターフェース回路６は、書換データの他にクライアントＰＣ４から送信されたプリントデータを受信し、複合機２から出力された画像データ等をＬＡＮ３上のクライアントＰＣ４に送信する。また、インターフェース回路６は、クライアントＰＣ４からプリントデータ又は書換データであるデータファイルを受信する場合には、まずクライアントＰＣ４から送信されたコントロールファイルを受信した後、データファイルを受信する。
【００１７】
Ｆｌａｓｈ ＲＯＭ７は、制御部５によってデータ処理装置１の各部が制御されるための制御プログラム等を記憶するフラッシュメモリである。ＳＤＲＡＭ８は、制御部５の主メモリ、ワークエリア等として機能し、インターフェース回路６が外部から受信した書換データ等を一時的に格納する。図２は、このＦｌａｓｈ ＲＯＭ７とＳＤＲＡＭ８の記憶領域を論理的に示したものであり、Ｆｌａｓｈ ＲＯＭ７は、ブートエリア１１、識別エリア１２、プライマリプログラムエリア１３、及びセカンダリプログラムエリア１４に論理的に分割されている。一方、ＳＤＲＡＭ８は、プログラムエリア１５とデータエリア１６に論理的に分割されている。
【００１８】
Ｆｌａｓｈ ＲＯＭ７のブートエリア１１は、システム起動時に実行される基本プログラムを記憶している。プライマリプログラムエリア１３及びセカンダリプログラムエリア１４は、読み出して実行すべき制御プログラムの記憶場所であり、同じサイズで構成されている。本発明の実施の形態においては、Ｆｌａｓｈ ＲＯＭ７が所定の複数の記憶場所として、このプライマリプログラムエリア１３とセカンダリプログラムエリア１４の２つの記憶場所（以下、「エリア」ともいう。）を備えている場合について説明する。
【００１９】
プライマリプログラムエリア１３とセカンダリプログラムエリア１４が記憶する制御プログラムは、クライアントＰＣ４との間でＬＰＤプロトコルに基づいて所定の通信処理を行うための通信処理プログラムや、受信した書換データにより自装置１の制御プログラムをアップデートするための書換処理プログラムや、受信したプリントデータを複合機２の印刷処理モジュールに転送するための転送処理プログラム等である。そして、これらの制御プログラムがプライマリプログラムエリア１３とセカンダリプログラムエリア１４のうちのいずれか一方又は両方に記憶されるようになっている。
【００２０】
識別エリア１２は、プライマリプログラムエリア１３とセカンダリプログラムエリア１４の２つのエリアのうちのいずれのエリアから制御プログラムをロードして実行するか、すなわち２つのエリアのうちのいずれのエリアから制御プログラムを読み出して実行するかを示す識別情報を記憶している。制御部５は、読み出して実行すべき制御プログラムの記憶場所を識別情報に基づいて所定の複数の記憶場所から選択する選択手段として機能する。ここでは、制御部５は、読み出して実行すべき制御プログラムのエリアをこの識別エリア１２に記憶されている識別情報に基づいて、プライマリプログラムエリア１３とセカンダリプログラムエリア１４から選択する。本発明の実施の形態においては、所定の複数の記憶場所がプライマリプログラムエリア１３とセカンダリプログラムエリア１４の２つであるため、識別エリア１２には、識別情報として例えば「１」又は「２」が記憶されている。
【００２１】
ＳＤＲＡＭ８のプログラムエリア１５は、Ｆｌａｓｈ ＲＯＭ７のプライマリプログラムエリア１３又はセカンダリプログラムエリア１４から読み出して実行すべき制御プログラムが格納されるエリアである。データエリア１６は、データ処理装置１が受信した書換データやプリントデータ等が一時的に格納されるエリアである。なお、図示していないが、プログラムエリア１５の所定領域には、特定の文字列及び文字数が格納されている。制御部５は、クライアントＰＣ４からコントロールファイルを受信したときに、そのコントロールファイルに格納されているファイル名にこの特定の文字列が含まれ、且つファイル名の文字数が前記特定の文字数と一致する場合に、後に送られてくるデータファイルが書換データであると判断し、その他の場合はプリントデータであると判断する。したがって、制御部５は、クライアントＰＣ４からデータファイルを受信する前に、送られてくるデータファイルがプリントデータであるか又は書換データであるかを判断することができる。制御部５は、この判断結果に基づいて、インターフェース回路６がクライアントＰＣ４からプリントデータを受信した場合には、そのプリントデータをＳＤＲＡＭ８に一旦格納した後、複合機２の印刷処理モジュールへと転送する。一方、インターフェース回路６がクライアントＰＣ４から書換データを受信した場合には、その書換データにより自装置１の制御プログラムをアップデートする。
【００２２】
以下、プライマリプログラムエリア１３から読み出した制御プログラムを実行中にインターフェース回路６が書換データを受信した場合を例として、制御部５によって行われる制御プログラムのアップデート処理について説明する。制御部５は、プライマリプログラムエリア１３から読み出してＳＤＲＡＭ８のプログラムエリア１５に格納した制御プログラムを実行中に、インターフェース回路６が書換データを受信したと判断した場合、受信した書換データをＳＤＲＡＭ８のデータエリア１６に一旦格納する。
【００２３】
そして、制御部５は、システム起動時に既にプライマリプログラムエリア１３から読み出されてプログラムエリア１５に格納されている書換処理プログラムに従って、まず識別情報が「１」であるか又は「２」であるかを判断する。すなわち、実行中の制御プログラムが読み出されたエリア（記憶場所）がプライマリプログラムエリア１３であるか又はセカンダリプログラムエリア１４であるかを判断する。なお、この場合、識別情報は「１」であるため、実行中の制御プログラムが読み出されたエリアはプライマリプログラムエリア１３であり、識別情報「２」に対応するセカンダリプログラムエリア１４からは制御プログラムが読み出されていないと判断することができる。
【００２４】
続いて、制御部５は、実行中の制御プログラムが読み出されたエリアと異なるエリア、すなわち、セカンダリプログラムエリア１４に、受信した書換データを書込むことにより、制御プログラムをアップデートする。なお、本発明における書込む処理は、記憶場所に制御プログラムが記憶されていない場合には書換データを記憶場所に書込む処理であり、制御プログラムが記憶されている場合には、その制御プログラムを書換データに書換える処理である。すなわち、ここでは、セカンダリプログラムエリア１４に制御プログラムが記憶されていない場合には該セカンダリプログラムエリア１４に書換データを書込み、制御プログラムが記憶されている場合にはその記憶されている制御プログラムを書換データに書換える。したがって、制御部５は、実行中の制御プログラムと同じ制御プログラムの書換データを外部から受信した場合に、所定の複数の記憶場所のうち、実行中の制御プログラムが読み出された記憶場所と異なる記憶場所に、受信した書換データを書込む書込み手段として機能する。
【００２５】
このようにして、制御プログラムのアップデート処理が完了すると、複合機２において再起動の処理が行われる。その際、データ処理装置１の制御部５は、識別エリア１２の識別情報を「２」に変更する。これにより、次回システムが起動した際には、制御部５は、識別情報「２」に対応するセカンダリプログラムエリア１４から制御プログラムを読み出すことになり、アップデートされた最新の制御プログラムを実行することができる。したがって、制御部５は、書換データが異なる記憶場所に書込まれた場合に、読み出して実行すべき制御プログラムの記憶場所として異なる記憶場所を選択するように識別情報を変更する変更手段として機能する。なお、セカンダリプログラムエリア１４から読み出した制御プログラムを実行中に書換データを受信した場合も、上記と同様の方法でプライマリプログラムエリア１３への制御プログラムのアップデート処理が行われる。
【００２６】
一方、データ処理装置１から転送されたプリントデータの印刷処理を行う複合機２は、制御部（ＭＰＵ）１８、ＲＯＭ１９、ＲＡＭ（Random Access Memory）２０、原稿読取部２１、コーデック（ＣＯＤＥＣ：Coder and Decoder）２２、画像メモリ２３、操作部２４、表示部２５、記録部２６、及び通信部２７を備えたものであって、各部１８乃至２７は、バス２８によって通信可能に接続されている。
【００２７】
制御部１８は、ＲＯＭ１９に記憶されているプログラムに従って、この複合機２を構成する各部を制御する。ＲＯＭ１９は、前記プログラムを記憶している。ＲＡＭ２０は、制御部１８の主メモリ、ワークエリア等として機能し、ファクシミリ番号などの予め登録された各種設定情報を記憶している。原稿読取部２１は、例えば、ＣＣＤ（Charge Coupled Device）等のイメージセンサにより原稿の画像データを読取るものである。
【００２８】
コーデック２２は、画像データの符号化（エンコード）及び復号（デコード）を行うものであり、原稿読取部２１で読取られた原稿の画像データをＭＨ（Modified Huffman）、ＭＲ（Modified Read）、ＭＭＲ（Modified Modified Read）、ＪＢＩＧ（Joint Bi-level Image Group）方式等により符号化し、符号化されている画像データを復号する。画像メモリ２３は、コーデック２２によって符号化された原稿の画像データ、外部の装置（不図示）からファクシミリ受信した原稿の画像データ、データ処理装置１から転送されたプリントデータ等を格納する。
【００２９】
操作部２４は、図示しないが原稿読取部２１に原稿の読取開始を指示するためのスタートキー、コピー部数やファクシミリ番号等を入力するためのテンキー、各種設定を行うためのカーソルキーなど、表示部２５と連動した各種操作キーを備えている。表示部２５は、各種の設定状態や複合機２の動作状態などを文字や図形などで表示する液晶表示装置（ＬＣＤ：Liquid Crystal Display）や、点灯又は消灯で表示するＬＥＤランプなどを備えている。
【００３０】
記録部（印刷処理モジュール）２６は、原稿読取部２１において読み取られた原稿の画像データ、ファクシミリ受信した原稿の画像データ、及びデータ処理装置１から転送されたプリントデータの画像を用紙に記録するものである。すなわち、クライアントＰＣ４から送信されたプリントデータがデータ処理装置１によって転送されると、転送されたプリントデータは画像メモリ２３に一旦格納された後、この記録部２６に転送されその画像が用紙に記録される。この記録部２６における記録方式としては、例えば、電子写真方式を用いることができる。
【００３１】
通信部２７は、モデム２９及びＮＣＵ（Network Control Unit）３０を備えている。モデム２９は、例えばＩＴＵ−Ｔ（国際電気通信連合電気通信標準化部門）の勧告Ｖ．３４規格又はこれと同様のものに従って送受信データの変調及び復調を行うものである。ＮＣＵ３０は、電話回線を制御して電話をかけたり、切ったりする回線網制御装置であり、ＰＳＴＮ（Public Switched Telephone Network）３１に接続されている。
【００３２】
以下、システム起動時に、データ処理装置１において行われる処理動作について、図３に示すフローチャートに基づいて説明する。なお、図３のフローチャートに基づいて説明するデータ処理装置１の処理動作は、ブートエリア１１に記憶されている基本プログラムに基づいて制御部５が発行する命令に従って行われる。
【００３３】
制御部５は、例えば、複合機２の電源が投入されるなどして、データ処理装置１の各部に電力が供給されると、まずブートエリア１１の基本プログラムを実行し（Ｓ１）、識別エリア１２の識別情報が「１」であるか又は「２」であるかを判断する（Ｓ２）。ここで、識別情報が「１」であると判断した場合には（Ｓ２：識別情報「１」）、プライマリプログラムエリア１３から制御プログラムを読出し（Ｓ３）、ＳＤＲＡＭ８のプログラムエリア１５に格納する。一方、識別情報が「２」であると判断した場合には（Ｓ２：識別情報「２」）、セカンダリプログラムエリア１４から制御プログラムを読出し（Ｓ４）、ＳＤＲＡＭ８のプログラムエリア１５に格納する。
【００３４】
このように、本発明の実施の形態に係るデータ処理装置１においては、識別エリア１２の識別情報に基づいてプライマリプログラムエリア１３又はセカンダリプログラムエリア１４のいずれかのエリアから全ての制御プログラムが読み出され、必要に応じて制御部５によって実行されるようになっている。
【００３５】
以下、上記のようにプライマリプログラムエリア１３又はセカンダリプログラムエリア１４から読み出した制御プログラムを実行中に、クライアントＰＣ４からデータファイルを受信した場合に、データ処理装置１において行われる処理動作について図４に示すフローチャートに基づき説明する。なお、図４のフローチャートで説明するデータ処理装置１の処理動作は、識別エリア１２の識別情報に基づきプライマリプログラムエリア１３又はセカンダリプログラムエリア１４のいずれか一方から読み出した制御プログラムに基づいて制御部５が発行する命令に従って行われる。
【００３６】
データ処理装置１の制御部５は、プライマリプログラムエリア１３又はセカンダリプログラムエリア１４から読み出した制御プログラムを実行中に、ＬＡＮ３上のクライアントＰＣ４から送信されたデータファイルをインターフェース回路６が受信したと判断した場合（Ｓ６：ＹＥＳ）、受信したデータファイルをＳＤＲＡＭ８のデータエリア１６に格納し、データファイルが書換データであるか否かを判断する（Ｓ７）。なお、本発明の実施の形態においては、データ処理装置１は、上記の通りデータファイルを受信する前に受信したコントロールファイルに格納されているデータファイルのファイル名から、データファイルが書換データであるか否かを判断できるため、Ｓ６の判断処理の前にＳ７の判断処理が既に行われており、その判断結果に基づいて以降の処理が行われる。また、コントロールファイルではなく、データファイル内に該データファイルが書換データであるか否かを示す情報が格納されている場合には、データファイル受信後にその情報に基づいてデータファイルが書換データであるか否かを判断する。
【００３７】
制御部５は、データファイルが書換データである場合（Ｓ７：ＹＥＳ）、識別エリア１２の識別情報が「１」であるか又は「２」であるかを判断する（Ｓ８）。ここで、識別エリア１２の識別情報が「１」であると判断した場合（Ｓ８：識別情報「１」）、すなわち、プライマリプログラムエリア１３から制御プログラムを読み出して実行中である場合、セカンダリプログラムエリア１４に受信した書換データを書込む（Ｓ９）。具体的には、セカンダリプログラムエリア１４に制御プログラムが記憶されていない場合には書換データを書込み、制御プログラムが記憶されている場合には記憶されているその制御プログラムを書換データに書換える。
【００３８】
なお、仮にＳ９の書込み中に停電等が発生してデータ処理装置１の各部への電力供給が遮断されると、制御部５は、以降の処理を行うことはできず、また、セカンダリプログラムエリア１４の制御プログラムは書込み途中であるために不完全なものとなる。このような障害が発生した後にシステムを起動させると、図３に基づいて説明したように制御部５は、ブートエリアの基本プログラムを実行し（Ｓ１）、識別情報が「１」であるか又は「２」であるかを判断する（Ｓ２）。ここでは、識別情報は「１」であるため（Ｓ２：識別情報「１」）、障害が発生する前と同じプライマリプログラムエリア１３から制御プログラムを読み出して実行することができる。したがって、再度書換データを外部から受信してセカンダリプログラムエリア１４への書換データの再書込みを行うことができる。
【００３９】
制御部５は、このような停電等の障害が発生することなくＳ９の書込み処理を行った場合、Ｓ９の書込み処理が成功したか否かを判断する（Ｓ１０）。この判断処理は、例えばセカンダリプログラムエリア１４に書込まれた書換データとＳＤＲＡＭ８のデータエリア１６の書換データとを比較することにより行うことができる。ここで、書込み処理が成功していないと判断した場合には（Ｓ１０：ＮＯ）、書込み処理が成功するまでＳ９の処理を継続して行う。そして、書込み処理が成功したと判断した場合には（Ｓ１０：ＹＥＳ）、識別エリア１２の識別情報を「２」に変更する（Ｓ１１）。したがって、次回システム起動時には、制御部５は、識別情報「２」に対応するセカンダリプログラムエリア１４から、アップデートされた新しい制御プログラムを読み出して実行することができる。
【００４０】
一方、制御部５は、識別エリア１２の識別情報が「２」であると判断した場合（Ｓ８：識別情報「２」）、すなわち、セカンダリプログラムエリア１４から制御プログラムを読み出して実行中である場合、プライマリプログラムエリア１３に受信した書換データを書込む（Ｓ１２）。具体的には、プライマリプログラムエリア１３に制御プログラムが記憶されていない場合には書換データを書込み、制御プログラムが記憶されている場合には記憶されているその制御プログラムを書換データに書換える。
【００４１】
なお、仮にＳ１２の書込み中に停電等が発生してデータ処理装置１の各部への電力供給が遮断されると、制御部５は、以降の処理を行うことはできず、また、プライマリプログラムエリア１３の制御プログラムは書込み途中であるために不完全なものとなる。このような障害が発生した後にシステムを起動させると、図３に基づいて説明したように制御部５は、ブートエリアの基本プログラムを実行し（Ｓ１）、識別情報が「１」であるか又は「２」であるかを判断する（Ｓ２）。ここでは、識別情報は「２」であるため（Ｓ２：識別情報「２」）、障害が発生する前と同じセカンダリプログラムエリア１４から制御プログラムを読み出して実行することができる。したがって、再度書換データを外部から受信してプライマリプログラムエリア１３への書換データの再書込みを行うことができる。
【００４２】
制御部５は、このような停電等の障害が発生することなくＳ１２の書込み処理を行った場合、Ｓ１０の処理と同様にＳ１２の書込み処理が成功したか否かを判断する（Ｓ１３）。ここで、書込み処理が成功していないと判断した場合には（Ｓ１３：ＮＯ）、書込み処理が成功するまでＳ１２の処理を継続して行う。そして、書込み処理が成功したと判断した場合には（Ｓ１３：ＹＥＳ）、識別エリア１２の識別情報を「１」に変更する（Ｓ１４）。したがって、次回システム起動時には、制御部５は、識別情報「１」に対応するプライマリプログラムエリア１３から、アップデートされた新しい制御プログラムを読み出して実行することができる。
【００４３】
一方、制御部５は、Ｓ７において、データファイルは書換データではないと判断した場合（Ｓ７：ＮＯ）、他の処理を実行する（Ｓ１５）。例えば、Ｓ７において書換データではないと判断したデータファイルがプリントデータである場合には、受信したプリントデータをＳＤＲＡＭ８のデータエリア１６に一旦格納した後、複合機２の印刷処理モジュールに転送する。このようにして転送されたプリントデータは、複合機２の画像メモリ２３に一旦格納された後、記録部２６においてその画像が用紙に記録される。
【００４４】
以上説明したように、このデータ処理装置１では、自装置１の各部を制御するための制御プログラムがＦｌａｓｈ ＲＯＭ７のプライマリプログラムエリア１３とセカンダリプログラムエリア１４の２つの記憶場所に記憶されるようになっており、一方の記憶場所への書換データのアップデート中に停電等が発生して制御プログラムが不完全なものになったとしても、他方の記憶場所から完全な状態の制御プログラムを読み出して実行することができる。すなわち、制御プログラムが記憶される記憶場所が分割されていないＦｌａｓｈ ＲＯＭを備えた従来のデータ処理装置のように、制御プログラムが不完全なものとなってシステムが起動しなくなるという重大な問題が生じるのを防止することができる。また、システムを再び起動させた後、外部から再度書換データを受信してアップデート処理を行うことができる。
【００４５】
なお、本発明の実施の形態においては、制御プログラムがプライマリプログラムエリア１３とセカンダリプログラムエリア１４の２つの記憶場所に記憶される場合について説明したが、３以上の記憶場所に制御プログラムを記憶するようにすることも当然可能である。但し、制御プログラムが記憶される記憶場所が多くなるにつれて、必要となるメモリ容量が増大し、結果としてコストを増加させることに繋がるため、本発明の実施の形態のように、２つの記憶場所に制御プログラムを記憶するのが好適である。また、Ｆｌａｓｈ ＲＯＭを複数併設して制御プログラムをロードするＦｌａｓｈ ＲＯＭを識別情報によって切換えるようにしてもよい。
【００４６】
また、外部から書換データを受信する方法は、ＬＰＤプロトコルに基づいてＬＡＮ３を介してクライアントＰＣ４から受信する方法に限定されるものではない。例えば、クライアントＰＣ４からＵＳＢ（Universal Serial Bus）を介して独自プロトコルにて書換データを受信したり、ＰＳＴＮ３１を介して複合機２がファクシミリ通信の手順に従ってサービスセンター等の外部のファクシミリ装置から書換データを受信し、データ処理装置１に転送するようにしてもよい。また、ＬＡＮ３上にインターネットに接続するためのルータ等を設置し、ＨＴＴＰ（Simple Mail Transfer Protocol）、ＰＯＰ（Post Office Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）に基づいてインターネットを介して書換データを受信するようにしてもよい。
【００４７】
また、本発明の実施の形態においては、ネットワーク インターフェース コントローラとして複合機２に組込まれたデータ処理装置１について説明したが、外部から書換データを受信することができ、フラッシュメモリ等の書換え可能なメモリを備えた装置であれば、本発明を適用可能な装置はデータ処理装置１に限定されるものではない。例えば、複合機２のＲＯＭ１９を２つのプログラムエリア（記憶場所）を有するフラッシュメモリで構成し、データ処理装置１にクライアントＰＣ４から送信された書換データを自装置２に転送させてＲＡＭ２０に一旦格納紙した後、ＲＯＭ１９のいずれかのエリアに書換データをアップデートするようにしてもよい。
【産業上の利用可能性】
【００４８】
本発明は、外部から受信した書換データにより自身の制御プログラムをアップデートする各種データ処理装置に適用することができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態に係るデータ処理装置の構成例を示したブロック図である。
【図２】Ｆｌａｓｈ ＲＯＭとＳＤＲＡＭの記憶領域を示した図である。
【図３】システム起動時にデータ処理装置において行われる処理動作を示したフローチャートである。
【図４】クライアントＰＣからデータファイルを受信した場合に、データ処理装置において行われる処理動作を示したフローチャートである。
【図５】データ処理装置と該データ処理装置に書換データを送信する外部端末装置とからなる従来のメモリ書換システムを示した図である。
【符号の説明】
【００５０】
１    データ処理装置
５    制御部（ＭＰＵ）
６    インターフェース回路
７    Ｆｌａｓｈ ＲＯＭ
８    ＳＤＲＡＭ
１１    ブートエリア
１２    識別エリア
１３    プライマリプログラムエリア
１４    セカンダリプログラムエリア
１５    プログラムエリア
【図１】
2005242512.tif 000003
【図２】
2005242512.tif 000004
【図３】
2005242512.tif 000005
【図４】
2005242512.tif 000006
【図５】
2005242512.tif 000007