(57)【要約】【課題】  省エネ状態でもファームウェア（ＦＷ）等のソフトウェアの更新要求を管理できるようにする。【解決手段】  サブＣＰＵ管理部１７では、省エネ状態時に外部からデータを受信すると、それを入力データ管理部７１が引き取り、更新データか否かをデータ識別部７３に判別させ、そうであれば更新要求をＦＷ更新要求処理部７５へ通知する。その通知を受けたＦＷ更新要求処理部７５は、更新データがサブＣＰＵ管理部１７の記憶装置の空き容量より小さい場合に、その記憶装置に更新データを格納し、フラグを“１”にする。メインコントローラ１０では、省エネ制御部５７が、通常状態に復帰すると、上記フラグを調べ、“１”であれば更新要求をＦＷ更新要求処理部５６へ通知する。その通知を受けたＦＷ更新要求処理部５６は、上記記憶装置から更新データを引き取ってメインコントローラ１０の記憶装置にコピーし、ＦＷ更新実行部５３にＦＷ更新を継続させる。【選択図】        図２
2011034503.tif 000002
【特許請求の範囲】
【請求項１】
機器全体を制御するメイン制御手段を備えると共に、省エネ用のサブ制御手段を備え、消費電力を削減する省エネ状態に移行可能な電子機器であって、
前記サブ制御手段に、
前記省エネ状態中にソフトウェア更新要求があった場合に、該当するソフトウェア更新データを当該サブ制御手段が管理するサブ記憶装置に格納する更新処理を行う処理手段を設け、
前記メイン制御手段に、
前記省エネ状態から通常状態に復帰した後、前記サブ記憶装置に格納されている前記ソフトウェア更新データを当該メイン制御手段が管理するメイン記憶装置に移動またはコピーさせ、該メイン記憶装置に格納されているソフトウェアを更新する更新処理を行う処理手段を設けたことを特徴とする電子機器。
【請求項２】
請求項１に記載の電子機器において、
前記サブ制御手段の処理手段は、前記ソフトウェア更新データを前記サブ記憶装置に格納した場合に、その旨を示す情報も前記サブ記憶装置に格納する手段であり、
前記メイン制御手段の処理手段は、前記省エネ状態から前記通常状態に復帰した後、前記サブ記憶装置内の情報を参照して前記省エネ状態中のソフトウェア更新要求の有無をチェックし、そのソフトウェア更新要求がある場合に、前記更新処理を行うことを特徴とする電子機器。
【請求項３】
請求項１に記載の電子機器において、
前記サブ制御手段の処理手段は、前記省エネ状態から前記通常状態に復帰した後、前記省エネ状態中のソフトウェア更新要求がある旨を前記メイン制御手段へ通知する手段を有し、
前記メイン制御手段の処理手段は、前記省エネ状態から前記通常状態に復帰した後、前記サブ制御手段から前記省エネ状態中のソフトウェア更新要求がある旨を受けた場合に、前記更新処理を行うことを特徴とする電子機器。
【請求項４】
請求項１乃至３のいずれか一項に記載の電子機器において、
前記メイン制御手段に、
前記ソフトウェアを実行するためのメモリと、
前記メイン記憶装置に格納されているソフトウェアを前記メモリにロードするロード手段と、
前記ソフトウェアの情報を管理する情報管理手段と、
前記ソフトウェアの状態を管理する状態管理手段とを設け、
前記メイン制御手段の処理手段は、前記省エネ状態から前記通常状態に復帰した後、前記情報管理手段より前記メモリに格納されているソフトウェアを安全に停止できることを確認できた場合に、そのソフトウェアの停止処理を実施し、前記状態管理手段よりそのソフトウェアが停止したことを確認できた場合にのみ、前記更新処理を実行可能にし、その更新処理が完了した後、前記ロード手段によって前記メイン記憶装置に格納されている更新後のソフトウェアを前記メモリに再ロードさせる手段を有することを特徴とする電子機器。
【請求項５】
請求項１乃至４のいずれか一項に記載の電子機器において、
前記サブ制御手段の処理手段は、前記ソフトウェア更新データが前記サブ記憶装置の空き容量を超えているかいないかを判断し、超えている場合には前記更新処理を一時中断して、その更新処理を継続できない旨を示す情報をユーザに対して通知し、ユーザ操作によって前記更新処理の継続要求があった場合にのみ、前記省エネ状態から前記通常状態に復帰させる手段を有し、
前記メイン制御手段の処理手段は、前記更新処理の継続要求によって前記省エネ状態から前記通常状態に復帰した場合には、直ちに前記更新処理を行うことを特徴とする電子機器。
【請求項６】
請求項５に記載の電子機器において、
前記サブ制御手段の処理手段は、前記省エネ状態でのソフトウェア更新要求がスタンドアロン状態でのソフトウェア更新要求である場合には、前記通知をその電子機器の操作部上への表示によって行い、前記省エネ状態でのソフトウェア更新要求がネットワークを介してのソフトウェア更新要求である場合には、前記通知をその要求元に対して行うことを特徴とする電子機器。
【請求項７】
請求項１乃至４のいずれか一項に記載の電子機器において、
前記サブ制御手段に、外部からの指示により、前記ソフトウェア更新データが前記サブ記憶装置の空き容量を超える場合に前記更新処理を自動継続するか否かのモードを設定する設定手段を設け、
前記サブ制御手段の処理手段は、前記ソフトウェア更新データが前記サブ記憶装置の空き容量を超えているかいないかを判断し、超えている場合には前記設定手段による設定モードを参照して前記更新処理を自動継続するか否かをチェックし、自動継続する場合にのみ前記省エネ状態から前記通常状態に復帰させる手段を有し、
前記メイン制御手段の処理手段は、前記更新処理の自動継続の判断によって前記省エネ状態から前記通常状態に復帰した場合には、直ちに前記更新処理を行うことを特徴とする電子機器。
【請求項８】
請求項１乃至７のいずれか一項に記載の電子機器において、
前記メイン制御手段の処理手段は、前記省エネ状態から前記通常状態に復帰した後、その省エネ状態中のソフトウェア更新要求がある場合でも、前記復帰の要因がソフトウェア更新より優先度が高いユーザ要求であった場合には、そのユーザ要求の処理を行った後、前記更新処理を行うことを特徴とする電子機器。
【請求項９】
請求項１乃至８のいずれか一項に記載の電子機器において、
前記メイン制御手段の処理手段は、ソフトウェア更新データと共に、該ソフトウェア更新データを当該電子機器へ送るための前記省エネ状態中および前記通常状態中にそれぞれ実行される２つのプログラムが記録されている記録媒体を介して前記通常状態中にソフトウェア更新要求があった場合に、該記録媒体から対応するプログラムに基づいて前記ソフトウェア更新データを読み込む手段を有し、
前記サブ制御手段の処理手段は、前記記録媒体を介して前記省エネ状態中にソフトウェア更新要求を受けた場合に、該記録媒体から対応するプログラムに基づいて前記ソフトウェア更新データを読み込む手段を有することを特徴とする電子機器。
【請求項１０】
機器全体を制御するメイン制御手段を備えると共に、省エネ用のサブ制御手段を備え、消費電力を削減する省エネ状態に移行可能な電子機器におけるソフトウェア更新方法であって、
前記サブ制御手段が、前記省エネ状態中にソフトウェア更新要求があった場合に、該当するソフトウェア更新データを当該サブ制御手段が管理するサブ記憶装置に格納する更新処理を行い、
前記メイン制御手段が、前記省エネ状態から通常状態に復帰した後、前記サブ記憶装置に格納されている前記ソフトウェア更新データを当該メイン制御手段が管理するメイン記憶装置に移動またはコピーさせ、該メイン記憶装置に格納されているソフトウェアを更新する更新処理を行うことを特徴とするソフトウェア更新方法。
【請求項１１】
請求項１０に記載のソフトウェア更新方法において、
前記サブ制御手段が、前記ソフトウェア更新データを前記サブ記憶装置に格納した場合に、その旨を示す情報も前記サブ記憶装置に格納し、
前記メイン制御手段が、前記省エネ状態から前記通常状態に復帰した後、前記サブ記憶装置内の情報を参照して前記省エネ状態中のソフトウェア更新要求の有無をチェックし、そのソフトウェア更新要求がある場合に、前記更新処理を行うことを特徴とするソフトウェア更新方法。
【請求項１２】
請求項１０に記載のソフトウェア更新方法において、
前記サブ制御手段が、前記省エネ状態から前記通常状態に復帰した後、前記省エネ状態中のソフトウェア更新要求がある旨を前記メイン制御手段へ通知し、
前記メイン制御手段が、前記省エネ状態から前記通常状態に復帰した後、前記サブ制御手段から前記省エネ状態中のソフトウェア更新要求がある旨を受けた場合に、前記更新処理を行うことを特徴とするソフトウェア更新方法。
【請求項１３】
消費電力を削減する省エネ状態に移行可能な電子機器に備えている機器全体を制御するメインＣＰＵおよび省エネ用のサブＣＰＵにそれぞれ実行させるプログラムであって、
前記サブＣＰＵに、
前記省エネ状態中にソフトウェア更新要求があった場合に、該当するソフトウェア更新データを当該サブＣＰＵが管理するサブ記憶装置に格納する更新処理を行う処理機能を、
前記メインＣＰＵに、
前記省エネ状態から通常状態に復帰した後、前記サブ記憶装置に格納されている前記ソフトウェア更新データを当該メインＣＰＵが管理するメイン記憶装置に移動またはコピーさせ、該メイン記憶装置に格納されているソフトウェアを更新する更新処理を行う処理機能をそれぞれ実現させることを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムにおいて、
前記サブＣＰＵに実現させる処理機能は、前記ソフトウェア更新データを前記サブ記憶装置に格納した場合に、その旨を示す情報も前記サブ記憶装置に格納する機能であり、
前記メインＣＰＵに実現させる処理機能は、前記省エネ状態から前記通常状態に復帰した後、前記サブ記憶装置内の情報を参照して前記省エネ状態中のソフトウェア更新要求の有無をチェックし、そのソフトウェア更新要求がある場合に、前記更新処理を行うことを特徴とするプログラム。
【請求項１５】
請求項１３に記載のプログラムにおいて、
前記サブＣＰＵに実現させる処理機能は、前記省エネ状態から前記通常状態に復帰した後、前記省エネ状態中のソフトウェア更新要求がある旨を前記メインＣＰＵへ通知する機能を有し、
前記メインＣＰＵに実現させる処理機能は、前記省エネ状態から前記通常状態に復帰した後、前記サブＣＰＵから前記省エネ状態中のソフトウェア更新要求がある旨を受けた場合に、前記更新処理を行うことを特徴とするプログラム。
【請求項１６】
請求項１３乃至１５のいずれか一項に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像形成装置（デジタル複合機，デジタル複写機，ファクシミリ装置，プリンタ等）や画像読取装置（スキャナ装置等）、パーソナルコンピュータ（以下「ＰＣ」と略称する）等の電子機器、その電子機器におけるソフトウェア更新方法、上記電子機器を制御するコンピュータに必要な機能（この発明に係わる機能）を実現させるためのプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関し、特に消費電力低減技術に関する。
【背景技術】
【０００２】
上記のような電子機器として、例えば特許文献１に見られるような画像形成装置では、メイン電源スイッチがオフ状態となっている場合でも、電源制御Ｉ／ＯがＮＩＣ（ネットワーク・インターフェース・カード）やＣＰＵへの電源供給を行って電子メールの受信を可能にしておき、電子メールを受信した場合に、新たなファームウェアを取り出し、フラッシュＲＯＭ等へのファームウェアの格納処理を実行するようにしている。
【０００３】
また、特許文献２に記載の画像処理装置では、消費電力を削減する節電（「省エネ」又は「省エネルギー」ともいう）モード中はファームウェアの更新は行えず、節電モードが解除された状態でファームウェアの更新要求を受けた場合にのみファームウェアの更新を可能にし、ファームウェアの更新が終了した後、節電モードに移行するようにしている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の制御方法では、常に稼動しておくハードウェア装置の数が多く、省エネには貢献仕切れていない。
また、特許文献２に記載の制御方法では、省エネが解除されないと、ファームウェアの更新要求を受け、ファームウェアの更新を行うことができない。つまり、通常状態の更新処理と変わらず、省エネに貢献できない。
【０００５】
なお、通常のファームウェア更新は、電子機器の動作を不要とする場合でも、通常の動作状態（通常状態）で実施する必要がある。
この発明は上記の点に鑑みてなされたものであり、省エネ状態でもファームウェア等のソフトウェアの更新要求を管理できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、上記の目的を達成するため、以下に示す電子機器、その電子機器におけるソフトウェア更新方法、上記電子機器を制御するコンピュータに実行させるプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【０００７】
この発明による電子機器は、機器全体を制御するメイン制御手段を備えると共に、省エネ用のサブ制御手段を備え、消費電力を削減する省エネ状態に移行可能な電子機器であって、上記サブ制御手段に、上記省エネ状態中にソフトウェア更新要求があった場合に、該当するソフトウェア更新データを当該サブ制御手段が管理するサブ記憶装置に格納する更新処理を行う処理手段を設け、上記メイン制御手段に、上記省エネ状態から通常状態に復帰した後、上記サブ記憶装置に格納されている上記ソフトウェア更新データを当該メイン制御手段が管理するメイン記憶装置に移動またはコピーさせ、そのメイン記憶装置に格納されているソフトウェアを更新する更新処理を行う処理手段を設けたものである。
【０００８】
なお、上記サブ制御手段の処理手段を、上記ソフトウェア更新データを上記サブ記憶装置に格納した場合に、その旨を示す情報も上記サブ記憶装置に格納する手段とし、上記メイン制御手段の処理手段が、上記省エネ状態から上記通常状態に復帰した後、上記サブ記憶装置内の情報を参照して上記省エネ状態中のソフトウェア更新要求の有無をチェックし、そのソフトウェア更新要求がある場合に、上記更新処理を行うとよい。
あるいは、上記サブ制御手段の処理手段に、上記省エネ状態から上記通常状態に復帰した後、上記省エネ状態中のソフトウェア更新要求がある旨を上記メイン制御手段へ通知する手段を備え、上記メイン制御手段の処理手段が、上記省エネ状態から上記通常状態に復帰した後、上記サブ制御手段から上記省エネ状態中のソフトウェア更新要求がある旨を受けた場合に、上記更新処理を行ってもよい。
【０００９】
また、上記メイン制御手段に、上記ソフトウェアを実行するためのメモリと、上記メイン記憶装置に格納されているソフトウェアを上記メモリにロードするロード手段と、上記ソフトウェアの情報を管理する情報管理手段と、上記ソフトウェアの状態を管理する状態管理手段とを設け、上記メイン制御手段の処理手段に、上記省エネ状態から上記通常状態に復帰した後、上記情報管理手段より上記メモリに格納されているソフトウェアを安全に停止できることを確認できた場合に、そのソフトウェアの停止処理を実施し、上記状態管理手段よりそのソフトウェアが停止したことを確認できた場合にのみ、上記更新処理を実行可能にし、その更新処理が完了した後、上記ロード手段によって上記メイン記憶装置に格納されている更新後のソフトウェアを上記メモリに再ロードさせる手段を備えることが望ましい。
【００１０】
さらに、上記サブ制御手段の処理手段に、上記ソフトウェア更新データが上記サブ記憶装置の空き容量を超えているかいないかを判断し、超えている場合には上記更新処理を一時中断して、その更新処理を継続できない旨を示す情報をユーザに対して通知し、ユーザ操作によって上記更新処理の継続要求があった場合にのみ、上記省エネ状態から上記通常状態に復帰させる手段を備え、上記メイン制御手段の処理手段が、上記更新処理の継続要求によって上記省エネ状態から上記通常状態に復帰した場合には、直ちに上記更新処理を行うとよい。
【００１１】
この場合、上記サブ制御手段の処理手段が、上記省エネ状態でのソフトウェア更新要求がスタンドアロン状態でのソフトウェア更新要求である場合には、上記通知を当該電子機器の操作部上への表示によって行い、上記省エネ状態でのソフトウェア更新要求がネットワークを介してのソフトウェア更新要求である場合には、上記通知をその要求元に対して行うと良い。
【００１２】
あるいは、上記サブ制御手段に、外部からの指示により、上記ソフトウェア更新データが上記サブ記憶装置の空き容量を超える場合に上記更新処理を自動継続するか否かのモードを設定する設定手段を設け、上記サブ制御手段の処理手段に、上記ソフトウェア更新データが上記サブ記憶装置の空き容量を超えているかいないかを判断し、超えている場合には上記設定手段による設定モードを参照して上記更新処理を自動継続するか否かをチェックし、自動継続する場合にのみ上記省エネ状態から上記通常状態に復帰させる手段を備え、上記メイン制御手段の処理手段が、上記更新処理の自動継続の判断によって上記省エネ状態から上記通常状態に復帰した場合には、直ちに上記更新処理を行ってもよい。
【００１３】
さらにまた、上記メイン制御手段の処理手段が、上記省エネ状態から上記通常状態に復帰した後、その省エネ状態中のソフトウェア更新要求がある場合でも、上記復帰の要因がソフトウェア更新より優先度が高いユーザ要求であった場合には、そのユーザ要求の処理を行った後、上記更新処理を行うことが望ましい。
【００１４】
また、上記メイン制御手段の処理手段に、ソフトウェア更新データと共に、該ソフトウェア更新データを当該電子機器へ送るための上記省エネ状態中および上記通常状態中にそれぞれ実行される２つのプログラムが記録されている記録媒体を介して上記通常状態中にソフトウェア更新要求を受けた場合に、該記録媒体から対応するプログラムに基づいて上記ソフトウェア更新データを読み込む手段を備え、上記サブ制御手段の処理手段に、上記記録媒体を介して上記省エネ状態中にソフトウェア更新要求を受けた場合に、該記録媒体から対応するプログラムに基づいて上記ソフトウェア更新データを読み込む手段を備えるとよい。
【００１５】
この発明によるソフトウェア更新方法は、機器全体を制御するメイン制御手段を備えると共に、省エネ用のサブ制御手段を備え、消費電力を削減する省エネ状態に移行可能な電子機器におけるソフトウェア更新方法であって、上記サブ制御手段が、上記省エネ状態中にソフトウェア更新要求があった場合に、該当するソフトウェア更新データを当該サブ制御手段が管理するサブ記憶装置に格納する更新処理を行い、上記メイン制御手段が、上記省エネ状態から通常状態に復帰した後、上記サブ記憶装置に格納されている上記ソフトウェア更新データを当該メイン制御手段が管理するメイン記憶装置に移動またはコピーさせ、該メイン記憶装置に格納されているソフトウェアを更新する更新処理を行うものである。
【００１６】
なお、上記サブ制御手段が、上記ソフトウェア更新データを上記サブ記憶装置に格納した場合に、その旨を示す情報も上記サブ記憶装置に格納し、上記メイン制御手段が、上記省エネ状態から上記通常状態に復帰した後、上記サブ記憶装置内の情報を参照して上記省エネ状態中のソフトウェア更新要求の有無をチェックし、そのソフトウェア更新要求がある場合に、上記更新処理を行うとよい。
【００１７】
あるいは、上記サブ制御手段が、上記省エネ状態から上記通常状態に復帰した後、上記省エネ状態中のソフトウェア更新要求がある旨を上記メイン制御手段へ通知し、上記メイン制御手段が、上記省エネ状態から上記通常状態に復帰した後、上記サブ制御手段から上記省エネ状態中のソフトウェア更新要求がある旨を受けた場合に、上記更新処理を行ってもよい。
【００１８】
この発明によるプログラムは、消費電力を削減する省エネ状態に移行可能な電子機器に備えている機器全体を制御するメインＣＰＵおよび省エネ用のサブＣＰＵにそれぞれ実行させるプログラムであって、上記サブＣＰＵに、上記省エネ状態中にソフトウェア更新要求があった場合に、該当するソフトウェア更新データを当該サブＣＰＵが管理するサブ記憶装置に格納する更新処理を行う処理機能を、上記メインＣＰＵに、上記省エネ状態から通常状態に復帰した後、上記サブ記憶装置に格納されている上記ソフトウェア更新データを当該メインＣＰＵが管理するメイン記憶装置に移動またはコピーさせ、該メイン記憶装置に格納されているソフトウェアを更新する更新処理を行う処理機能をそれぞれ実現させるものである。
【００１９】
なお、上記サブＣＰＵに実現させる処理機能を、上記ソフトウェア更新データを上記サブ記憶装置に格納した場合に、その旨を示す情報も上記サブ記憶装置に格納する機能とし、上記メインＣＰＵに実現させる処理機能が、上記省エネ状態から上記通常状態に復帰した後、上記サブ記憶装置内の情報を参照して上記省エネ状態中のソフトウェア更新要求の有無をチェックし、そのソフトウェア更新要求がある場合に、上記更新処理を行うとよい。
【００２０】
あるいは、上記サブＣＰＵに実現させる処理機能に、上記省エネ状態から上記通常状態に復帰した後、上記省エネ状態中のソフトウェア更新要求がある旨を上記メインＣＰＵへ通知する機能を備え、上記メインＣＰＵに実現させる処理機能が、上記省エネ状態から上記通常状態に復帰した後、上記サブＣＰＵから上記省エネ状態中のソフトウェア更新要求がある旨を受けた場合に、上記更新処理を行ってもよい。
この発明による記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２１】
この発明によれば、上記サブ制御手段が、省エネ状態中にソフトウェア更新要求があった場合に、該当するソフトウェア更新データを当該サブ制御手段が管理するサブ記憶装置に格納し、上記メイン制御手段が、省エネ状態から通常状態に復帰した後、サブ記憶装置に格納されているソフトウェア更新データを当該メイン制御手段が管理するメイン記憶装置に移動またはコピーさせ、そのメイン記憶装置に格納されているソフトウェアを更新する更新処理を行うことにより、省エネ状態でもファームウェア等のソフトウェアの更新要求を管理することができる。
【図面の簡単な説明】
【００２２】
【図１】この発明による電子機器の一実施形態であるプリンタのハードウェア構成例を示すブロック図である。
【図２】図１のプリンタのソフトウェア構成例を示すブロック図である。
【図３】図１の操作部１６上に表示されるユーザ通知エラーメッセージの一例を示す図である。
【図４】図１のサブＣＰＵ管理部１７によるＦＷ更新要求処理の一例のフロー図である。
【図５】図１のメインコントローラ１０によるＦＷ更新処理の一例を示すフロー図である。
【発明を実施するための形態】
【００２３】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図１は、この発明による電子機器の一実施形態であるプリンタのハードウェア（以下「Ｈ／Ｗ」ともいう）構成例を示すブロック図である。
このプリンタ（以下「機器」ともいう）は、メインコントローラ（主コントローラ）１０と、画像形成処理部１とによって構成されている。これらの構成が、印刷（画像形成）を行うためのハードウェア資源である。
【００２４】
メインコントローラ１０は、機器全体（機器の各部）を統括的に制御するメイン制御手段であり、メインＣＰＵ１１，メインＡＳＩＣ（Application Specific Integrated Circuit）１２，入出力装置１３，メモリ１４，記憶装置１５，操作部１６，およびサブＣＰＵ管理部１７によって構成されている。なお、サブＣＰＵ管理部１７をメインコントローラ１０に外部接続するようにしてもよい。
【００２５】
メインＣＰＵ１１は、メインＡＳＩＣ１２を介してメインコントローラ１０の各部を制御・管理する中央処理装置である。このメインＣＰＵ１１は、メインＡＳＩＣ１２経由で記憶装置１５内のファームウェアを含むソフトウェアをメモリ１４にロードして起動させ、機器の制御を行うことにより、この発明に関わる機能である処理手段，ロード手段，情報管理手段，および状態管理手段としての機能を含む各種の機能を実現することができる。
【００２６】
メインＡＳＩＣ１２は、メインＣＰＵ１１の制御対象となるデバイスの共有化を図り、アーキテクチャの面からアプリケーションプログラム（以下単に「アプリケーション」ともいう）等の開発の高効率化を支援するものである。
入出力装置１３は、ＬＡＮ（ローカルエリアネットワーク）等のネットワーク１０１上のＰＣ（パーソナルコンピュータ）等の外部機器や、ＵＳＢ（Universal Serial Bus ）メモリ１０２，ＳＤカード１０３との間でデータの入出力（データ通信）を行う入出力手段である。なお、ＵＳＢメモリ１０２やＳＤカード１０３の代わりに、入出力装置１３と直接接続可能な他のメモリやカード等の記録媒体は勿論、入出力装置１３と直接接続可能なＨＤＤ等の記憶手段や、その記録媒体又は記憶手段を有するＰＣ等の外部機器を使用することもできる。
【００２７】
メモリ１４は、メインＣＰＵ１１が実行するプログラム（ソフトウェア）を展開して記憶するプログラムメモリや、メインＣＰＵ１１がデータ処理を行う際に使用するワークメモリ、画像データを展開する画像メモリ等として使用するＲＡＭ等の記憶手段である。
記憶装置１５は、メイン記憶装置であり、ファームウェアやアプリケーション等のソフトウェアや画像データ等の各種データを記憶保存するフラッシュＲＯＭやＨＤＤ（ハードディスク装置）、ＳＤカード等の不揮発性記憶手段である。
【００２８】
操作部１６は、機器に対して操作を行うユーザ（オペレータ）のためのインタフェースであり、各種のデータ入力や要求を行うための各種の操作キー（操作スイッチ又は操作ボタンともいう）と、各種情報を表示するＬＣＤ又はＣＲＴ等の表示器とを備えている。
サブＣＰＵ管理部１７は、サブ制御手段であり、サブＣＰＵ２１，入出力装置２２，メモリ２３，および記憶装置２４によって構成されている。
【００２９】
サブＣＰＵ２１は、サブＣＰＵ管理部１７の各部を制御・管理する中央処理装置である。このサブＣＰＵ２１は、記憶装置２４内のファームウェアを含むソフトウェアをメモリ２３にロードして起動させ、機器の制御を行うことにより、この発明に関わる機能である処理手段および設定手段としての機能を含む各種の機能を実現することができる。
入出力装置２２は、入出力装置１３と同様の入出力手段である。
【００３０】
メモリ２３は、サブＣＰＵ２１が実行するプログラムを展開して記憶するプログラムメモリや、サブＣＰＵ２１がデータ処理を行う際に使用するワークメモリ等として使用するＲＡＭ等の記憶手段である。
記憶装置２４は、サブ記憶装置であり、少なくとも省エネ時に必要なソフトウェアを記憶保存するフラッシュＲＯＭやＨＤＤ、ＳＤカード等の不揮発性記憶手段である。
【００３１】
画像形成処理部１は、メモリ１４又は記憶装置１５から読み出されて送られてくる画像データに基づいて用紙等の記録媒体上に画像形成（印刷）を行うプロッタ等の画像形成手段である。なお、外部（ネットワーク１０１上の外部機器等）から入出力装置１３によって入力（受信）され、メモリ１４に格納された印刷データが、印刷用の画像データの場合には、そのまま画像形成処理部１に転送される。メモリ１４に格納された印刷データが、文字コードデータや描画データであれば、メインＣＰＵ１１およびメインＡＳＩＣ１２によって印刷用の画像データに変換（展開）された後、画像形成処理部１に転送される。
【００３２】
図２は、図１のプリンタのソフトウェア（以下「Ｓ／Ｗ」ともいう）構成例を示すブロック図である。なお、以下に示す各プログラムによる処理は、実際にはメインＣＰＵ１１又はサブＣＰＵ２１がそれらのプログラムに従って動作することによって実行するが、説明の都合上、それらのプログラムが処理を実行するものとする。以後も、プログラムが何らかの処理を行うものとして説明を行う場合には、同様とする。
【００３３】
メインコントローラ１０のメインＣＰＵ１１は、画像処理部５１，入出力データ管理部５２，ファームウェア更新実行部５３，ファームウェア状態管理部５４，ファームウェア情報管理部５５，ファームウェア更新要求処理部５６，および省エネ制御部５７の各プログラムを記憶装置１５から読み出してメモリ１４上に展開する。
画像処理部５１は、画像データに対する処理を行う。
【００３４】
入出力データ管理部５２は、外部との入出力データを管理する。
ファームウェア更新実行部５３は、ファームウェアの更新を実行する。
ファームウェア状態管理部５４は、ファームウェアの状態を管理する。
ファームウェア情報管理部５５は、ファームウェアの情報を管理する。
ファームウェア更新要求処理部５６は、ファームウェアの更新要求を処理する。
省エネ制御部５７は、省エネに関する制御を行う。
【００３５】
サブＣＰＵ管理部１７のサブＣＰＵ２１は、入力データ管理部７１，メッセージ出力部７２，データ識別部７３，ファームウェアデータ管理部７４，ファームウェア更新要求処理部７５，および省エネ制御部７６の各プログラムをメモリ２３に展開する。
入力データ管理部７１は、外部からの入力データを管理する。
メッセージ出力部７２は、各種メッセージの出力（表示又は通知）を行う。
【００３６】
データ識別部７３は、外部からの入力データ（受信データ）の識別を行う。
ファームウェアデータ管理部７４は、ファームウェアデータを管理する。
ファームウェア更新要求処理部７５は、ファームウェアの更新要求を処理する。
省エネ制御部７６は、省エネに関する制御を行う。
【００３７】
以下、以上のように構成されたプリンタにおける発明に関わる制御の各実施例について、図３〜図５を参照して具体的に説明する。
〔第１実施例〕
まず、第１実施例について説明する。
【００３８】
このプリンタでは、消費電力を削減する省エネ状態に移行した後は、サブＣＰＵ管理部１７（サブＣＰＵ管理のＨ／Ｗ）によってのみ外部との入出力制御を行う。
なお、図１では、メインコントローラとサブＣＰＵ管理部で入出力装置を別にしているが、サブＣＰＵが管理する部分がＡＳＩＣとしてメインＣＰＵから制御可能である場合には、入出力装置を共有しても良い。
【００３９】
このプリンタにおいて、省エネ移行時には、メインコントローラ１０から省エネ時にも必要な情報はサブＣＰＵ２１に与えられて、それ以外の情報はメインメモリである記憶装置１５に格納され、メインコントローラ１０の電源は、サブＣＰＵ管理部１７以外落とされる。
サブＣＰＵ管理部１７のサブＣＰＵ２１は、主にネットワークパケットのフィルタリングを行い、ユーザ要求に対する特定の条件の復帰要因を待っている。
【００４０】
このネットワークパケットのフィルタリングにおいて、ファームウェア（以下「ＦＷ」ともいう）更新データの要求を判別するデータパターンを保持する。なお、ＦＷ更新とは、ＦＷのアップデート（バージョンアップを含む）のことである。ＦＷ更新データとは、ＦＷのアップデートを行うためのプログラムであるアップデータ等に相当する。
【００４１】
省エネ状態時にサブＣＰＵ管理部１７がこのデータパターンを受信した場合に行うＦＷ更新処理が実行可能かどうかを判断する処理を含むＦＷ更新要求処理の一例のフローチャートを、図４に示す。
サブＣＰＵ管理部１７では、省エネ状態（省エネモード）時に外部からネットワーク１０１経由でデータを受信する（外部要因）と、まず図４のステップＳ１で入力データ管理部７１がその受信データを引き取り、ステップＳ２でその受信データをデータ識別部７３に送り、ステップＳ３で受信データがＦＷ更新データであるか否かの判別を行わせる。
【００４２】
そして、受信データがＦＷ更新データであると判別された場合には、ステップＳ４でＦＷ更新要求処理部７５へ処理（ＦＷ更新要求）を要求するが、ＦＷ更新データでない場合には、ステップＳ８のその他の処理へ移行する。
ＦＷ更新要求処理部７５は、ステップＳ５で受信データであるＦＷ更新データのサイズが記憶装置２４の空き容量よりも小さいサイズであるか否かを判断する。
そして、ＦＷ更新データのサイズが記憶装置２４の空き容量を超えている場合には、後述するステップＳ９へ移行する。
【００４３】
また、ＦＷ更新データのサイズが記憶装置２４の空き容量よりも小さいサイズである場合には、ステップＳ６でＦＷ更新データを記憶装置２４に一時格納し、ＦＷ更新データの格納が完了すると、ステップＳ７でＦＷ更新データが格納されたことを示すＦＷ更新データ格納フラグ（ビット変数のような情報でよい）を立てる（“１”にセットする）。このＦＷ更新データ格納フラグは、メモリ２３又は記憶装置２４に格納されており、省エネ状態から通常状態に復帰したときに、メインコントローラ１０側の省エネ制御部５７によってチェック（検査）され、もしＦＷ更新データ格納フラグが立っている場合には、省エネから通常状態に復帰後の適切なタイミングでＦＷの更新処理が継続される。
【００４４】
図５は、省エネから通常状態に復帰後のメインコントローラ１０によるＦＷ更新処理の一例を示すフローチャートである。
省エネから通常状態に復帰する要因として、主電源キーの押下（単なる省エネから通常状態への復帰要求）の他にも、ネットワーク１０１からのプリント要求（印刷要求）等のユーザ要求がある。なお、この実施形態がプリンタではなく、例えばデジタル複合機の場合には、ユーザ要求として、プリント要求（プリント動作の実行要求）だけでなく、コピー要求（コピー動作の実行要求）であるＡＤＦ（自動原稿給送装置）への原稿セット，圧板の開閉，ＦＡＸ要求（ＦＡＸの受信動作の実行要求）などがある。
【００４５】
これらの要求のうち、ＦＷ更新よりも優先度の高いユーザ要求であるプリント要求等は優先して行われるべきである。
そこで、メインコントローラ１０では、ＦＷ更新よりも優先度の高いユーザ要求を示す情報を予め記憶装置１５に記憶保持しておき、省エネ状態から通常状態への復帰後、省エネ制御部５７がサブＣＰＵ管理部１７のメモリ２３又は記憶装置２４内のＦＷ更新データ格納フラグをチェックして、ＦＷ更新が必要であると判断しても、上記復帰の要因がＦＷ更新よりも優先度の高いユーザ要求であった場合には、直ちにＦＷ更新を実施せずに、ユーザ要求を優先して実施してからＦＷ更新を行うようにする。
これによって、ユーザ要求に対するタイムラグは最小限にとどめることが可能となる。
【００４６】
具体的には、ユーザ要求による省エネ状態（省エネモード）から通常状態（通常モード）へ復帰する（外部要因）と、まず図５のステップＳ２１，Ｓ２２で省エネ制御部５７が省エネ状態時のＦＷ更新要求の有無をＦＷ更新データ格納フラグの状態によってチェックする。
そして、ＦＷ更新データ格納フラグが“０”（ＯＦＦ）の場合には、省エネ状態時にＦＷ更新要求がないため、処理を終了し、ユーザ要求が主電源キーの押下以外であれば、ユーザ要求の処理が実行される。
【００４７】
ＦＷ更新データ格納フラグが“１”（ＯＮ）の場合には、省エネ状態時にＦＷ更新要求があるため、ステップＳ２３でユーザ要求の処理が完了するのを待ち、ＦＷ更新が可能であるタイミングで（つまりＦＷを安全に停止できるアイドル状態）でＦＷ更新要求処理部５６へＦＷ更新要求が通知されるため、ＦＷ更新処理が再開される。ユーザ要求が主電源キーの押下であれば、そのままＦＷ更新要求処理部５６へＦＷ更新要求が通知されてＦＷ更新が再開される。
【００４８】
なお、ＦＷ更新データ格納フラグを使用せず、省エネ状態から通常状態への復帰後、サブＣＰＵ管理部１７側の記憶装置２４にＦＷ更新データが格納されている場合に、省エネ制御部７６又はＦＷ更新要求処理部７５が省エネ状態時のＦＷ更新要求がある旨をメインコントローラ１０のＦＷ更新要求処理部５６へ通知することにより、そのＦＷ更新要求処理部５６がステップＳ２３から処理を開始することも可能である。
【００４９】
メインコントローラ１０でのＦＷ更新の続きでは、まずステップＳ２４において、ＦＷ更新要求処理部５６が、サブＣＰＵ管理部１７に対してＦＷ更新データを要求することにより、サブＣＰＵ管理部１７側の記憶装置２４に格納されているＦＷ更新データの引き取りを行い、この処理によって、そのＦＷ更新データを記憶装置１５にコピー（又は移動）する。そのコピー後は、サブＣＰＵ管理部１７側の記憶装置２４に残った不要なＦＷ更新データは削除される。
【００５０】
メインコントローラ１０の記憶装置１５にＦＷ更新データがコピーされると、直ちにステップＳ２５において、ＦＷ更新実行部５３にそのＦＷ更新データによって記憶装置１５上のファームウェアの更新を行わせる。
昨今では、ＵＮＩＸ（登録商標）に似たファイルシステムでプログラムデータを配置しているモデルもあれば、ＲＡＭに展開しイメージデータとして持っているモデルなど、その形態は多様であるが、この第１実施例では実行されるプログラムは必ず実行可能なメモリ１４にロードされてから実行されることを想定している。
【００５１】
そのため、ＦＷ更新データでもって、稼働中にロードされた後に記憶装置１５に残っているプログラム（ファームウェア）を書き換えることは、直接実行中のシステムには影響がないため、比較的安全な行為であるといえる。
もし、記憶装置１５上のデータを書き換えるために、いったんシステムを停めなくてはいけない場合には、そのように処理を行えばよい。
【００５２】
ファームウェアの更新後は、ステップＳ２６でＦＷ情報管理部５５によってＦＷ更新データからＦＷ情報（後述する）を抽出させ、それからステップＳ２７で再起動が不要かどうかを判断し、再起動が必要であればこの処理を終了する。それによって、再起動が行われ、ＦＷの更新が完了する。再起動が不要である場合には、ステップＳ２８でメモリ１４上の更新対象のファームウェアのみを停止させた後、ステップＳ２９へ進み、記憶装置１５上のファームウェアをメモリ１４に再ロードする。それによって、その他のシステムに影響を与えることなく更新を完了できる。
【００５３】
ここで、ＦＷ更新において、再起動が不要かどうかを判断するためには、そのファームウェア（ＦＷ）が持つ別のプログラムとの関連を調べればよく、そのプログラムが単体もしくは、ごく少数の関連モジュールによって成り立っており、それぞれを一時停止してもメインシステムへの影響がないことが判断（確認）できれば、停止させることが可能である。
【００５４】
判断基準については、ここでは述べていないが、一例としてはどのファームウェアが再起動不要であるかを静的なパラメータ（ＦＷ情報）として予め機器内（記憶装置１５）に保持しておき、ＦＷ情報管理部５５で判断することも考えられるし、ＦＷ更新データにそのパラメータを含めてそれをＦＷ情報管理部５５において判断することも可能である。
【００５５】
また、プログラムの実行状態（実行中，停止中）は、ＦＷ状態管理部５４によって確認することができる。ＦＷ状態管理部５４は、ＯＳ（オペレーティングシステム）等が持つスケジューラに問い合わせることによって、そのプログラムの状態を確認する。
ＦＷの更新処理は、上述したようにＦＷ更新実行部５３によって実施される。ＦＷ更新実行部５３は、例えばＦＷ更新データを記憶装置１５に格納されているプログラムデータに対して上書きし、変更したデータの正当性を検査する。
【００５６】
なお、メインコントローラ１０では、通常状態中に外部からネットワーク１０１経由でデータを受信した場合には、例えば以下に示す処理を行う。
入出力データ管理部５２は、受信データを引き取り、その受信データを図示しないデータ識別部に送って、受信データがＦＷ更新データであるか否かの判別を行わせ、受信データがＦＷ更新データであれば、ＦＷ更新要求処理部５６へＦＷ更新要求を要求する。
【００５７】
ＦＷ更新要求を受けたＦＷ更新要求処理部５６は、入出力データ管理部５２からＦＷ更新データを引き取って一旦記憶装置１５に格納した後、ユーザ要求の処理中でなければそのまま、ユーザ要求の処理中であればその処理が完了するのを待ち、ＦＷ更新が可能であるタイミングで入出力データ管理部５２からＦＷ更新データを引き取って記憶装置１５に格納し、ＦＷ更新実行部５３にそのＦＷ更新データによって記憶装置１５上のファームウェアの更新を行わせるなど、図５のステップＳ２４〜Ｓ２９と略同様の処理を行う。
【００５８】
このように、サブＣＰＵ管理部側のサブＣＰＵが、省エネ状態中にＦＷ更新要求があった場合に、該当するＦＷ更新データをサブ記憶装置に格納する更新処理（ＦＷ更新処理の一部）を行い、メインコントローラ側のメインＣＰＵが、省エネ状態から通常状態に復帰した後、サブ記憶装置に格納されているＦＷ更新データをメイン記憶装置に移動またはコピーさせ、そのメイン記憶装置に格納されているＦＷを更新する更新処理（ＦＷ更新処理の続き）を行うことにより、省エネ状態でもＦＷの更新要求を管理することができる。
【００５９】
また、メインＣＰＵが、省エネ状態から通常状態に復帰した後、ＦＷ情報管理部よりメモリに格納されているＦＷを安全に停止できることを確認できた場合に、そのＦＷの停止処理を実施し、ＦＷ状態管理部よりそのＦＷが停止したことを確認できた場合にのみ、更新処理を実行可能にし、その更新処理が完了した後、メイン記憶装置に格納されている更新後のＦＷをメモリに再ロードさせることにより、不要な機器の再起動をなくし、可能な限り利便性を向上させることができる。
【００６０】
さらに、メインＣＰＵが、省エネ状態から通常状態に復帰した後、その省エネ状態中のソフトウェア更新要求がある場合でも、上記復帰の要因がソフトウェア更新より優先度が高いプリント要求等のユーザ要求であった場合には、そのユーザ要求の処理を行った後、更新処理を行うことにより、ユーザ要求の処理を実施するまでのタイムラグを作ってしまうことがなくなり、処理要求遅延によるクレームの発生がなくなる。
【００６１】
〔第２実施例〕
次に、第２実施例について説明する。
この第２実施例の処理は、第１実施例と若干異なるだけなので、その異なる部分、つまりサブＣＰＵ管理部１７が持つ記憶装置２４の空き容量を超えた大きさのデータをもつファイル（ＦＷ更新データ）を要求された場合の処理について述べる。
【００６２】
図４に処理フローを記載しているが、サブＣＰＵ管理部１７側のＦＷ更新要求処理部７５は、ステップＳ５でＦＷ更新データのサイズがサブＣＰＵ２１で管理する記憶装置２４の空き容量よりも大きいと判断した場合、ステップＳ９へ進み、直ちにＦＷ更新処理（ここでは記憶装置２４にＦＷ更新データを格納するか否かを判断して、Ｙｅｓの場合にＦＷ更新データを格納する処理）を一時停止し、ユーザに対してＦＷ更新処理を継続できない旨を示すメッセージ（情報）を送る準備、つまりそのメッセージ（ユーザ通知エラーメッセージ）を生成する処理を行って、そのメッセージをユーザに対して通知（送信）する処理を行う。なお、ＦＷ更新データのサイズが記憶装置２４の空き容量よりも大きい場合に、ＦＷ更新処理を中止することもできる。
【００６３】
ここで、ユーザ通知エラーメッセージは、ネットワーク１０１を利用する場合（省エネ状態でのＦＷ更新要求がネットワーク１０１を介してのＦＷ更新要求である場合）には、ネットワークパケットで構成されたデータであり、ユーザが使用するＰＣ等の外部機器に対して通知され、外部機器の表示部にエラーポップアップとして表示される。プリンタ本体に直接接続される外部記録媒体（ＵＳＢメモリ１０２又はＳＤカード１０３等）などを利用する場合（省エネ状態でのソフトウェア更新要求がスタンドアロン状態でのソフトウェア更新要求である場合）には、通常、ユーザ入力操作を実現する操作部１６上にエラーポップアップとして表示される。
【００６４】
ユーザ通知エラーメッセージの一例を図３に示す。
ユーザ通知エラーメッセージには、エラーの発生を示す情報、つまりデータサイズ超過によりＦＷ更新処理を継続できない旨を示す情報とともに、省エネ状態を解除してＦＷ更新処理を継続するか中止（中断）するかを要求するボタンが付加される。
図４の処理フローに戻り、ユーザ通知エラーメッセージを通知した後は、ステップＳ１０でユーザからの返答を待つ。
【００６５】
そして、ユーザからの返答を受けた場合に、ステップＳ１１でその返答の内容をチェックし、その内容がＦＷ更新処理の継続要求を示すものであった場合にはステップＳ１２へ進み、省エネ状態から通常状態への復帰を省エネ制御部７６に対して要求し、省エネ状態から通常状態へ復帰させる。
そして、ＦＷ更新処理の継続要求によって省エネ状態から通常状態に復帰した場合には、その旨をメインコントローラ１０側の省エネ制御部５７に通知することにより、その省エネ制御部５７がステップＳ１３でＦＷ更新要求をＦＷ更新要求処理部５６へ通知する。
【００６６】
そのＦＷ更新要求を受けたＦＷ更新要求処理部５６は、ステップＳ１４でサブＣＰＵ管理部１７に対してＦＷ更新データを要求し、ステップＳ１５でＦＷ更新処理（これは図５のステップＳ２４以降の処理に相当する）を実施する。なお、ステップＳ１４でＦＷ更新データの送信元に対してＦＷ更新データの再送を要求することにより、そのＦＷ更新データを取得することも可能である。
一方、ステップＳ１１でユーザからの返答の内容がＦＷ更新処理の中止要求を示すものであると判断した場合は、処理を終了する。それによって、ＦＷ更新処理を中止して、ＦＷ更新データを破棄することになる。
【００６７】
このように、サブＣＰＵが、ＦＷ更新データがサブ記憶装置の空き容量を超えているかいないかを判断し、超えている場合には更新処理を一時中断して、その更新処理を継続できない旨を示す情報をユーザに対して通知し、ユーザ操作によって更新処理の継続要求があった場合にのみ、省エネ状態から通常状態に復帰させ、メインＣＰＵが、更新処理の継続要求によって省エネ状態から通常状態に復帰した場合には、直ちに更新処理を行うことにより、ＦＷ更新データがサブ記憶装置の空き容量を超えている場合でも、ＦＷの更新を安全に行うことができる。つまり、フェイルセーフとしての機能を果すことができる。
【００６８】
また、省エネ状態でのＦＷ更新要求がスタンドアロン状態でのソフトウェア更新要求である場合には、ユーザに対する通知（更新処理を継続できない旨を示す情報の通知）を操作部上への表示によって行い、省エネ状態でのソフトウェア更新要求がネットワークを介してのソフトウェア更新要求である場合には、ユーザに対する通知をその要求元に対して行うことにより、更新処理を継続できない旨をユーザに確実に通知することができる。
【００６９】
〔第３実施例〕
次に、第３実施例について説明する。
この第３実施例の処理は、第２実施例と同様の処理に以下に示す処理を加えたものである。
【００７０】
第２実施例では、ユーザに対してＦＷ更新処理を継続するか否かの判断を委ねたが、これはユーザが省エネを考慮している場合、闇雲にＦＷを更新するよりも省エネ効果を高めることが優先されるからであって、ユーザが望めばＦＷ更新を自動化しても良い。
この場合は、ＦＷ更新処理を自動継続するか否かのモード（ＦＷ更新モード）を、設定しておくことが望ましい。
【００７１】
たいていのプリンタには、ユーザ設定が可能な管理画面が用意されている（操作部１６上に表示可能になっている）ため、その画面に省エネ中のＦＷ更新においてユーザに判断を依頼するか自動化するかを設定可能にし、その設定データを記憶装置２４に記憶保持しておけばよい。
さらには、管理者によってプリンタが管理される可能性もあり、その場合は逆にユーザーに設定を行わせたくないときもあるので、管理者権限で設定可能な部分に、上記のＦＷ更新モードの設定を行わせるようにしても良い。
【００７２】
このようなＦＷ更新モードを設定しておくことにより、サブＣＰＵ管理部１７側のＦＷ更新要求処理部７５は、図４のステップＳ５でＦＷ更新データのサイズがサブＣＰＵ２１で管理する記憶装置２４の空き容量よりも大きいと判断した場合に、ＦＷ更新モードの設定内容を参照してＦＷ更新処理を自動継続するか否かをチェックし、自動継続する場合にはステップＳ１２へ、自動継続しない場合にはステップＳ９へそれぞれ移行する。
【００７３】
このように、サブＣＰＵが、外部からの指示により、ＦＷ更新データがサブ記憶装置の空き容量を超える場合に更新処理を自動継続するか否かのモードを予め設定しておき、ＦＷ更新データがサブ記憶装置の空き容量を超えているかいないかを判断し、超えている場合には設定モードを参照して更新処理を自動継続するか否かをチェックし、自動継続する場合にのみ省エネ状態から通常状態に復帰させ、メインＣＰＵが、更新処理の自動継続の判断によって省エネ状態から通常状態に復帰した場合には、直ちに更新処理を行うことにより、ＦＷ更新データがサブ記憶装置の空き容量を超えている場合でも、ＦＷの更新を安全且つ確実に行うことができる。
【００７４】
〔第４実施例〕
次に、第４実施例について説明する。
この第４実施例の処理は、第１〜第３実施例と同様の処理に以下に示す処理を加えたものである。
【００７５】
この第４実施例では、例えば操作部１６上のユーザ操作によってＵＳＢメモリ１０２又はＳＤカード１０３に対するアクセス要求が発行され、ＵＳＢメモリ１０２又はＳＤカード１０３をアクセスすることにより、そのＵＳＢメモリ１０２又はＳＤカード１０３を介してＦＷ更新要求を受けた場合に、以下に示す処理を行う。なお、ＵＳＢメモリ１０２およびＳＤカード１０３を、ここでは「外部記録媒体」ともいう。
【００７６】
基本的な処理フローは、第１実施例と同様であるが、外部記録媒体（ＵＳＢメモリ１０２又はＳＤカード１０３）の場合は、ネットワーク１０１のようにインタラクティブにメッセージのやり取りができないため、機器が省エネ状態か通常状態かで実行するプログラム（更新プログラム）を２つの更新プログラムの中から適切に選択するようにしている。その２つの更新プログラムは、ＦＷ更新データと共に外部記録媒体に記録されているが、記憶装置１５に格納されていてもよい。
【００７７】
２つの更新プログラムを用意した理由としては、サブＣＰＵ２１が必ずしもメインＣＰＵ１１と同一アーキテクチャではないことがあげられる。ネットワーク１０１を介した場合は、ＦＷ更新データのみを転送すればよく、また更新処理自体はメインＣＰＵ１１側で実現されるためアーキテクチャに対する考慮が必要ないが、外部記録媒体のユーザとの対話を実現する部分はプログラムである必要があり、それをアーキテクチャごとに用意する必要がある。
【００７８】
更新プログラム自体の基本動作は、外部記録媒体（ＵＳＢメモリ１０２やＳＤカード１０３）に保持されているＦＷ更新データをプリンタ本体の入出力装置２２に送る（メインＣＰＵ１１又はサブＣＰＵ２１によって読み込む）だけである。
必要に応じて、ＦＷ更新データに対する正当性の検証や、外部記録媒体とプリンタ本体との間での認証を行うプログラムを付加し、安全性を高めても良い。
【００７９】
このように、メインコントローラ側のメインＣＰＵが、ソフトウェア更新データと共に、そのソフトウェア更新データをプリンタへ送るための省エネ状態中および通常状態中にそれぞれ実行される２つの更新プログラムが記録されている記録媒体を介して通常状態中にＦＷ更新要求を受けた場合に、その記録媒体から対応する更新プログラムに基づいてＦＷ更新データを読み込み、サブＣＰＵ管理部側のサブＣＰＵが、上記記録媒体を介して省エネ状態中にＦＷ更新要求を受けた場合に、その記録媒体から対応する更新プログラムに基づいてＦＷ更新データを読み込み、それぞれ上述したような処理によってＦＷの更新を可能にすることにより、サブＣＰＵを利用することによって省電力を実現しつつ、複数の入出力装置（ネットワーク上の外部機器やＵＳＢメモリ，ＳＤカード等の記録媒体）からのＦＷ更新要求に対応できる。
【００８０】
また、ＵＳＢメモリ又はＳＤカード等の記録媒体に記録されている更新プログラムをプリンタの状態（省エネ状態中および通常状態中）によらず実行することができ、メインＣＰＵとサブＣＰＵのハードウェアアーキテクチャが異なる場合に、更新プログラムが実行できないという不具合を回避することができる。
なお、サブＣＰＵを持たないプリンタでは、メインのコントローラ側の制御で省エネ効率を図るため、少なくともＣＰＵとネットワーク，プログラム実行可能なメモリ，記憶装置の電源を入れたままにする必要がある。通常、利用するＣＰＵは印刷等を行うために高速なＣＰＵを用いることが多く、そのためにＦＷ更新に必要なデータ転送，置き換えを行うだけでは、無駄な電力を消費してしまう。また、そのための入出力装置は節電のために電源を落としている場合が多い。
【００８１】
また、以上の実施形態では、ファームウェアの更新に関する制御について説明したが、他のソフトウェアやデータの更新に関する制御も同様に行うことができる。
さらに、以上の実施形態では、この発明による電子機器の例として通信機能を持つプリンタについて説明したが、この発明はこれに限られるものではなく、通信機能を持つ複写装置，ファクシミリ装置，複合装置等の他の画像形成装置には勿論、通信機能を持つネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，ＡＶ機器，遊戯機器や，ネットワークに接続可能なコンピュータ等も含め、通信機能を持つ各種電子機器に適用可能である。
【００８２】
〔この発明に関わるプログラム〕
このプログラムは、電子機器を通常状態時に制御するコンピュータであるメインＣＰＵに、この発明に関わる処理手段，ロード手段，情報管理手段，および状態管理手段としての機能を、電子機器を主に省エネ状態時に制御するコンピュータである省エネ用のサブＣＰＵに、この発明に関わる処理手段および設定手段としての機能をそれぞれ実現させるためのプログラムであり、このようなプログラムをＣＰＵ（メインＣＰＵ，サブＣＰＵ）に実行させることにより、上述したような作用効果を得ることができる。
【００８３】
このようなプログラムは、はじめから画像処理装置に備えるＲＯＭ、あるいは不揮発性メモリ（フラッシュＲＯＭ，ＥＥＰＲＯＭ等）、あるいはＨＤＤなどの記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭ、あるいはメモリカード，フレキシブルディスク，ＭＯ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，又はＤＶＤ−ＲＡＭ等の不揮発性記録媒体（メモリ）に記録して提供することもできる。それらの記録媒体に記録されたプログラムを電子機器にインストールしてＣＰＵに実行させるか、ＣＰＵにそれらの記録媒体からこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【００８４】
以上の説明から明らかなように、この発明によれば、省エネ状態でもソフトウェアの更新要求を管理することができる。したがって、省エネを実現しつつソフトウェア更新を確実に実行できる電子機器を提供することができる。
【符号の説明】
【００８５】
１０：メインコントローラ    １１：メインＣＰＵ    １２：メインＡＳＩＣ
１３，２２：入出力装置    １４，２３：メモリ    １５，２４：記憶装置
１６：操作部    １７：サブＣＰＵ管理部    ２１：サブＣＰＵ    ５１：画像処理部
５２：入出力データ管理部    ５３：ファームウェア更新実行部
５４：ファームウェア状態管理部    ５５：ファームウェア情報管理部
５６，７５：ファームウェア更新要求処理部    ５７，７６：省エネ制御部
７１：入力データ管理部    ７２：メッセージ出力部    ７３：データ識別部
７４：ファームウェアデータ管理部    １０１：ネットワーク    １０２：ＵＳＢメモリ
１０３：ＳＤカード
【先行技術文献】
【特許文献】
【００８６】
【特許文献１】特開２００４−１６０６８７号公報
【特許文献２】特開２００３−０６７１７１号公報
【図１】
2011034503.tif 000003
【図２】
2011034503.tif 000004
【図３】
2011034503.tif 000005
【図４】
2011034503.tif 000006
【図５】
2011034503.tif 000007