(57)【要約】      （修正有）【課題】ソフトウェアを更新するために生じるダウンタイムを短縮可能とする。【解決手段】画像形成装置は、更新ソフトウェアをバックグラウンド処理でダウンロードしＳ３０４、予め定められた処理が実行中ではないと判別された場合に、ダウンロードされた更新ソフトウェアをバックグラウンド処理で展開しＳ３０５、展開された更新ソフトウェアにより搭載されたソフトウェアを更新するＳ３０９。【選択図】図４
2015212880.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に搭載されたソフトウェアを更新するための更新ソフトウェアをダウンロードし、ダウンロードした前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する情報処理装置であって、
前記更新ソフトウェアをバックグラウンド処理でダウンロードするダウンロード手段と、
前記更新ソフトウェアを展開する場合に、予め定められた処理が実行中か否かを判別する判別手段と、
前記判別手段により、前記予め定められた処理が実行中ではないと判別された場合に、前記ダウンロード手段によりダウンロードされた前記更新ソフトウェアをバックグラウンド処理で展開する展開手段と、
前記展開手段により展開された前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する更新手段と
を有することを特徴とする情報処理装置。
【請求項２】
複数の前記更新ソフトウェアを展開する場合には、前記展開手段が予め定められた個数の前記更新ソフトウェアを展開するごとに、前記判別手段は前記予め定められた処理が実行中か否かを判別し、前記予め定められた処理が実行中ではないと判別された場合に、前記展開手段は前記更新ソフトウェアをバックグラウンド処理で展開することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記展開手段は、前記更新ソフトウェアをバックグラウンド処理で展開中に前記予め定められた処理が実行される場合には前記更新ソフトウェアの展開を中断するとともに、前記予め定められた処理が中断した場合には前記更新ソフトウェアを展開することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記展開手段による展開は、符号化された前記更新ソフトウェアを復号化する処理であることを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記予め定められた処理は、ユーザの指示により実行される処理、またはユーザとの対話型処理であることを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
情報処理装置に搭載されたソフトウェアを更新するための更新ソフトウェアをダウンロードし、ダウンロードした前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する情報処理装置の制御方法であって、
前記更新ソフトウェアをバックグラウンド処理でダウンロードするダウンロードステップと、
前記更新ソフトウェアを展開する場合に、予め定められた処理が実行中か否かを判別する判別ステップと、
前記判別ステップにより、前記予め定められた処理が実行中ではないと判別された場合に、前記ダウンロードステップによりダウンロードされた前記更新ソフトウェアをバックグラウンド処理で展開する展開ステップと、
前記展開ステップにより展開された前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する更新ステップと
を有することを特徴とする制御方法。
【請求項７】
情報処理装置に搭載されたソフトウェアを更新するための更新ソフトウェアをダウンロードし、ダウンロードした前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
前記更新ソフトウェアをバックグラウンド処理でダウンロードするダウンロードステップと、
前記更新ソフトウェアを展開する場合に、予め定められた処理が実行中か否かを判別する判別ステップと、
前記判別ステップにより、前記予め定められた処理が実行中ではないと判別された場合に、前記ダウンロードステップによりダウンロードされた前記更新ソフトウェアをバックグラウンド処理で展開する展開ステップと、
前記展開ステップにより展開された前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する更新ステップと
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来より、複数のデバイスが連携して動作するような情報処理装置においては、ソフトウェア更新の際に、サーバから暗号化や圧縮など符号化されたソフトウェアを取得し、一度情報処理装置をシャットダウンさせる。
【０００３】
そして情報処理装置をソフトウェアを更新するための起動モードで起動し、符号化されたソフトウェアを復号して展開してから、各デバイスのソフトウェアの更新を行うものがある。
【０００４】
また、ジョブ処理を優先しながら一部のデバイスのソフトウェアを更新する仕組みも提案されている（例えば、特許文献１参照）。
【０００５】
特許文献１に記載された技術は、ジョブ処理を優先しつつ、複合機としての動作を行うコントローラと、コントローラの制御下でプリンタ部を制御するデバイスコントローラのうち、デバイスコントローラ部のファームウェアを更新させる技術である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１０９５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、複数の起動モードを切り替えながらソフトウェアの更新を行うと、起動モードにより情報処理装置としての通常動作が行えない期間であるダウンタイムが発生してしまう。
【０００８】
そこで、ダウンタイムを短縮するために通常動作中にファームウェアの更新を行うと、今度は情報処理装置としての通常動作を阻害したり、遅延させることがある。
【０００９】
本発明の目的は、ソフトウェアを更新するために生じるダウンタイムを短縮可能な情報処理装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１の情報処理装置は、情報処理装置に搭載されたソフトウェアを更新するための更新ソフトウェアをダウンロードし、ダウンロードした前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する情報処理装置であって、前記更新ソフトウェアをバックグラウンド処理でダウンロードするダウンロード手段と、前記更新ソフトウェアを展開する場合に、予め定められた処理が実行中か否かを判別する判別手段と、前記判別手段により、前記予め定められた処理が実行中ではないと判別された場合に、前記ダウンロード手段によりダウンロードされた前記更新ソフトウェアをバックグラウンド処理で展開する展開手段と、前記展開手段により展開された前記更新ソフトウェアにより前記搭載されたソフトウェアを更新する更新手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、更新ソフトウェアをバックグラウンド処理でダウンロードし、予め定められた処理が実行中ではないと判別された場合に、ダウンロードされた更新ソフトウェアをバックグラウンド処理で展開し、展開された更新ソフトウェアにより搭載されたソフトウェアを更新するので、ソフトウェアを更新するために生じるダウンタイムを短縮可能な情報処理装置及びその制御方法、並びにプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る情報処理装置としての画像形成装置の概略構成を示す図である。
【図２】図１におけるＣＰＵにより実行されるファームの構成を示す図である。
【図３】画像形成装置の現在の各ファームのバージョンと、サーバ装置から取得したバージョンとの一例を示す図である。
【図４】図１におけるＣＰＵにより実行される更新制御処理の手順を示すフローチャートである。
【図５】図４のステップＳ３０５の展開処理の手順を示すフローチャートである。
【図６】図４のステップＳ３０５の展開処理の変形例の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１４】
図１は、本発明の実施の形態に係る情報処理装置としての画像形成装置１００の概略構成を示す図である。
【００１５】
図１において、画像形成装置１００は、制御部２００、操作部２１９、プリンタ部２２０、及びスキャナ部２２１を有し、ＰＣ２２５とサーバ装置２２４にＬＡＮ１１０で接続されている。また、画像形成装置１００は、ＵＳＢメモリやＵＳＢキーボードなど外部ＵＳＢデバイス２２３と接続されている。
【００１６】
制御部２００は、画像形成装置１００全体を制御する。操作部２１９は、ユーザに各種情報を表示したり、ユーザの操作入力を受け付ける。スキャナ部２２１は、原稿を読み取り原稿画像を示す画像データを制御部２００に出力する。
【００１７】
プリンタ部２２０は、ＣＰＵ２３０とフラッシュメモリ２３１と有する。プリンタ部２２０では、ＣＰＵ２３０がフラッシュメモリ２３１に記憶されたプログラムを実行することにより、制御部２００から出力された画像データを紙などの記録媒体に画像を印刷する印刷処理に伴う各種の動作を実行させる。
【００１８】
また、制御部２００は、ＣＰＵ２１０、フラッシュメモリ２１１、ＲＡＭ２１２、ＨＤＤ２１３、操作部インタフェース２１４、プリンタインタフェース２１５、スキャナインタフェース２１６、ＵＳＢホストインタフェース２１７、及びネットワークインタフェース２１８で構成される。
【００１９】
ＣＰＵ２１０は、制御部２００を制御することで画像形成装置１００全体を制御する。後述するフローチャートは、フラッシュメモリ２１１からＲＡＭ２１２に展開されたプログラムをＣＰＵ２１０が実行する処理を示している。フラッシュメモリ２１１は、画像形成装置１００で用いられる設定値などの各種データや各種プログラムを記憶する。ＲＡＭ２１２は、ＣＰＵ２１０のワークエリアとして用いられたり、各種データや各種プログラムを記憶する。
【００２０】
ＨＤＤ２１３は、各種プログラムや各種データを記憶する。操作部インタフェース２１４は、操作部２１９と制御部２００とのインタフェースである。プリンタインタフェース２１５は、プリンタ部２２０と制御部２００とのインタフェースである。スキャナインタフェース２１６は、スキャナ部２２１と制御部２００とのインタフェースである。
【００２１】
ＵＳＢホストインタフェース２１７は、外部ＵＳＢデバイス２２３と画像形成装置１００とのインタフェースである。ネットワークインタフェース２１８は、ＬＡＮ１１０と接続して、ＰＣ２２５やサーバ装置２２４と通信するためのインタフェースである。本実施の形態では、ネットワークインタフェース２１８によって外部装置であるサーバ装置２２４からソフトウェアをダウンロード可能となっている。
【００２２】
なお、以下の説明では、ソフトウェアをファームウェア、またはファームと表現する。さらに、画像形成装置１００に搭載されたファームを更新するための更新ソフトウェアを更新ファームと表現することがある。
【００２３】
また、本実施の形態における更新ファームは、暗号化や圧縮化など符号化されているので、ファームの更新時には復号化する必要がある。以下の説明において、展開は、符号化された更新ソフトウェアを復号化する処理である。
【００２４】
なお、外部ＵＳＢデバイス２２３が更新ファームを記憶したＵＳＢメモリの場合、このＵＳＢメモリから更新ファームをダウンロードすることもできる。
【００２５】
図２は、図１におけるＣＰＵ２１０により実行されるファームの構成を示す図である。
【００２６】
図２において、画像形成装置１００のファームは、フラッシュメモリ２１１の２つのパーティションに分けて記憶されている。
【００２７】
その１つはメインパーティション４０１であり、もう１つはサブパーティション４０２である。画像形成装置１００に通常の動作をさせる際には、メインパーティション４０１に記憶されたオペレーティングシステムプログラム（以下、「ＯＳ」という）４１１をＣＰＵ２１０に実行させる。
【００２８】
一方、メインパーティション４０１の各ファームを更新する際には、サブパーティション４０２に記憶されたＯＳ４３１をＣＰＵ２１０に実行させる。
【００２９】
まずメインパーティション４０１について説明する。メインパーティション４０１には、ＯＳ４１１、メインファーム群４１０、及びアップデートファーム４２１の３つのファームが含まれている。
【００３０】
ＯＳ４１１は、画像形成装置１００を制御するためのＯＳであり、プリンタ部２２０を含む画像形成装置１００の各部の動作を制御するためのドライバプログラムを含む。アップデートファーム４２１は、サーバ装置２２４等から取得した各更新ファームを展開するファームである。
【００３１】
メインファーム群４１０に含まれる各ファームについて説明する。これらの各ファームは、ＯＳ４１１が起動した後に、ＯＳ４１１により実行される。
【００３２】
操作部ファーム４１２は、操作部２１９を制御するためのファームである。スキャンファーム４１３は、スキャナ部２２１によるスキャン処理を制御するためのファームである。
【００３３】
プリントファーム４１４は、プリンタ部２２０によるプリント処理を制御するためのファームである。ネットワークファーム４１５は、ＬＡＮ１１０に接続されたＰＣ２２５やサーバ装置２２４との通信を行うためのファームである。
【００３４】
次にサブパーティション４０２について説明する。サブパーティション４０２には、ＯＳ４３１、及びアップデートファーム群４３０の２つのファームが含まれている。ＯＳ４３１は、画像形成装置１００を制御するためのＯＳであり、上記ＯＳ４１１と同様のものである。
【００３５】
アップデートファーム群４３０に含まれる各ファームについて説明する。これらの各ファームは、ＯＳ４３１が起動した後に、ＯＳ４３１により実行される。
【００３６】
メインパーティションアップデートファーム４３２は、メインパーティション４０１に含まれる各ファームを更新するためのファームである。更新ファームが符号化されたままの場合は、展開してから各ファームを更新する。
【００３７】
一方、予めアップデートファーム４２１により更新ファームが展開されていれば、展開済みの更新ファームにより各ファームを更新する。これにより、更新に要する処理時間が短縮される。
【００３８】
処理部アップデートファーム４３３は、フラッシュメモリ２３１に記憶されたプリント処理を実行するため各ファームを更新するためのファームである。
【００３９】
上述したファームを更新する際に、例えば更新ファームがパッチ形式の場合には、メインパーティション４０１に記憶されているファームにパッチを適用することにより、ファームが更新される。
【００４０】
また、更新ファームが更新後のファームそのものの場合には、メインパーティション４０１に記憶されているファームと置き換えることでファームが更新される。
【００４１】
上述した各ファームを更新する際に、画像形成装置１００は、サーバ装置２２４から現在リリースされているファームのバージョンを取得する。
【００４２】
図３は、画像形成装置１００の現在の各ファームのバージョン３００と、サーバ装置２２４から取得したバージョン３０１との一例を示す図である。
【００４３】
図３において、バージョン３００，３０１はメインパーティション４０１のファームのバージョンとサブパーティション４０２のファームのバージョンとを示している。なお、サブパーティション４０２のファームは、一例としてフラッシュメモリ２３１に記憶されたプリント処理を実行するためファームの１つであるＤＣＯＮを例にしている。
【００４４】
なお、現在の各バージョンは、ＣＰＵ２１０によりＯＳ４１１を介してアップデートファーム４２１を実行することにより取得される。また、サーバ装置２２４からバージョンを取得する場合には、画像形成装置１００を特定するための機種ＩＤ情報とバージョンの取得要求をサーバ装置２２４に送信する。なお、サーバ装置２２４に限らず、例えば外部ＵＳＢデバイス２２３やＰＣ２２５などからバージョンを取得してもよい。
【００４５】
図３に示されるバージョン３００とバージョン３０１を比較すると、更新対象となるのは、バージョンが異なっている操作部ファーム、スキャンファーム、プリントファーム、及びネットワークファームの４つのファームであることが分かる。従って、図３の場合は、４つの更新ファームをダウンロードすることとなる。
【００４６】
なお、ダウンロードする更新ファームは、それを指定するための表示画面を操作部２１９に表示させ、操作部２１９を介してユーザにより指示されたファームとしてよい。また、操作者による指示に基づくことなく、最新の組み合わせを更新対象ファームとして特定してもよい。
【００４７】
図４は、図１におけるＣＰＵ２１０により実行される更新制御処理の手順を示すフローチャートである。
【００４８】
この更新制御処理は、ユーザにより操作部２１９で指示されたときや、予め設定された日時が到来したときに実行される。この日時は、特定の日時に限らず、一定期間ごとに設定されることもある。
【００４９】
図４において、アップデートファーム４２１は、図３で説明した画像形成装置１００の現在の各ファームのバージョンを取得する（ステップＳ３０１）。次いで、アップデートファーム４２１は、サーバ装置２２４からバージョンを取得し（ステップＳ３０２）、更新対象ファームを特定する（ステップＳ３０３）。
【００５０】
次いで、アップデートファーム４２１は、更新対象ファームに対応する更新ファームをサーバ装置２２４から取得する（ステップＳ３０４）。ここで取得された更新ファームは、ＨＤＤ２１３に記憶される。このステップＳ３０４は、更新ソフトウェアをバックグラウンド処理でダウンロードするダウンロード手段に対応する。
【００５１】
そして、アップデートファーム４２１は、更新ファームを展開する展開処理を行う（ステップＳ３０５）。この展開処理は、更新ファームを復号化し、ＨＤＤ２１３に記憶する処理である。
【００５２】
次いで、更新時刻が到来したか否か判別する（ステップＳ３０６）。この更新時刻とは予めユーザにより設定された時刻である。更新時刻が設定されていない場合、またはユーザにより操作部２１９で更新を指示された場合には、このステップＳ３０６はスキップされる。
【００５３】
更新時刻が到来すると（ステップＳ３０６でＹＥＳ）、画像形成装置１００をリブートし（ステップＳ３０７）、画像形成装置１００をファームを更新する更新モードで起動する（ステップＳ３０８）。このとき、ＣＰＵ２１０は、アップデートファーム群４３０の各プログラムを実行する。また、ステップＳ３０８〜３１１では、印刷ジョブの実行など画像形成装置１００の通常動作を行うことができない。それ以外のステップでは、バックグラウンド処理で行われるため、通常動作を行うことができる。
【００５４】
次いで、メインパーティションアップデートファーム４３２は、メインパーティション４０１に記憶される各プログラムを更新する（ステップＳ３０９）。また、サブパーティション４０２のファームが更新対象である場合には、並行して処理部アップデートファーム４３３を実行することにより、サブパーティション４０２のファームを更新する。このステップＳ３０９は、展開された更新ソフトウェアにより搭載されたソフトウェアを更新する更新手段に対応する。
【００５５】
ファームの更新が終了すると、画像形成装置１００をリブートする（ステップＳ３１０）。そして再起動すると、ＣＰＵ２１０は、更新後のメインファーム群４１０の各ファームを実行することにより、更新されたプログラムで画像形成装置１００を動作させ（ステップＳ３１１）、本処理を終了する。
【００５６】
図５は、図４のステップＳ３０５の展開処理の手順を示すフローチャートである。
【００５７】
図５において、ＣＰＵ２１０は、画像形成装置１００がジョブを実行中か否か判別する（ステップＳ４０１）。ここでの判別方法については後述する。
【００５８】
ステップＳ４０１の判別の結果、ジョブを実行中の場合には（ステップＳ４０１でＹＥＳ）、再びステップＳ４０１の処理を行う。このとき、判別してから一定時間経過後に再びステップＳ４０１の処理を行うようにしてもよい。
【００５９】
一方、ステップＳ４０１の判別の結果、ジョブを実行中でない場合には（ステップＳ４０１でＮＯ）、操作部ファーム４１２にＵＩ操作を実行しているか否かを問い合わせることで、操作部２１９で、ユーザとの対話型処理であるＵＩ操作を実行中か否か判別する（ステップＳ４０２）。上記ステップＳ４０１、４０２は、予め定められた処理が実行中か否かを判別する判別手段に対応する。
【００６０】
ステップＳ４０２の判別の結果、操作部２１９でＵＩ操作を実行中の場合には（ステップＳ４０２でＹＥＳ）、上記ステップＳ４０１に戻る。このときも、判別してから一定時間経過後に再びステップＳ４０１の処理を行うようにしてもよい。
【００６１】
一方、ステップＳ４０２の判別の結果、操作部２１９でＵＩ操作を実行中ではない場合には（ステップＳ４０２でＮＯ）、アップデートファーム４２１は更新ファームを予め定められた個数だけ展開する（ステップＳ４０３）。このステップＳ４０３は、予め定められた処理が実行中ではないと判別された場合に、ダウンロードされた更新ソフトウェアをバックグラウンド処理で展開する展開手段に対応する。
【００６２】
また、上記予め定められた個数は、複数の更新ファームを展開する場合において、一度に展開する更新ファームの個数を制限するためもので、例えば個数が１の場合は、１つの更新ファームを展開すると、次のステップＳ４０４に進むこととなる。従って、図３に示した例の場合で、個数が１のときは、１回のループ処理ごとに、操作部ファーム、スキャンファーム、プリントファーム、ネットワークファームの順に１つずつ展開されることとなる。
【００６３】
このように、本実施の形態では、予め定められた個数の更新ソフトウェアを展開するごとに、予め定められた処理が実行中か否かを判別し、予め定められた処理が実行中ではないと判別された場合に、更新ソフトウェアをバックグラウンド処理で展開するようになっている。
【００６４】
次いで、アップデートファーム４２１は、更新ファームの展開が終了したか否か判別する（ステップＳ４０４）。ここでは、全ての更新ファームの展開が終了したか否かが判別される。
【００６５】
ステップＳ４０４の判別の結果、更新ファームの展開が終了していない場合には（ステップＳ４０４でＮＯ）、上記ステップＳ４０１に戻る。一方、ステップＳ４０４の判別の結果、更新ファームの展開が終了した場合には（ステップＳ４０４でＹＥＳ）、本処理を終了する。
【００６６】
上記ステップＳ４０１の判別方法について説明する。ステップＳ４０１では、例えばプリントファーム４１４にプリント制御を行っているか否か、またはスキャンファーム４１３にスキャン制御を行っているか否かを確認することで判別するようになっている。従って、いずれのファームも制御を行っていない場合に、ジョブを実行中でないと判別されることとなる。
【００６７】
また、ここでのジョブは、ユーザの指示により実行される処理としている。これはユーザに展開による処理遅延を感じさせないためである。印刷、コピー、及びスキャンなどの処理は、ユーザにより指示により実行される処理であるので、これらのジョブが予め定められた処理に該当する。
【００６８】
上述したように、画像形成装置１００が更新モードで動作している間はジョブの実行やＵＩ操作を行うことができない。そのため、上記展開処理に示されるように、ステップＳ４０１〜４０４でジョブを有無を確認しつつ予め更新ファームを展開し、図４のステップＳ３１０で展開した更新ファームを用いて各プログラムを更新する。
【００６９】
これにより更新に要する時間が短縮できるので、ジョブの実行やＵＩ操作が行えないダウンタイムを短縮することができる。
【００７０】
図６は、図４のステップＳ３０５の展開処理の変形例の手順を示すフローチャートである。
【００７１】
図６において、アップデートファーム４２１は、更新ファームの展開を開始する（ステップＳ６０１）。次いで、ＣＰＵ２１０は、ジョブの実行が通知されたか否か判別する（ステップＳ６０２）。ここでのジョブの実行とは、新たなジョブを実行することと、中断されていたジョブを再開することを意味する。
【００７２】
例えば、プリントファーム４１４がジョブを実行したり再開したとき、またはスキャンファーム４１３がジョブを実行したり再開したときに、アップデートファーム４２１へ制御開始が通知される。
【００７３】
ステップＳ６０２の判別の結果、ジョブの実行が通知されていない場合には（ステップＳ６０２でＮＯ）、更新ファームの展開が終了したか否か判別する（ステップＳ６０３）。ここでは、全ての更新ファームの展開が終了したか否かが判別される。
【００７４】
ステップＳ６０３の判別の結果、更新ファームの展開が終了していない場合には（ステップＳ６０３でＮＯ）、上記ステップＳ６０２に戻る。一方、ステップＳ６０３の判別の結果、更新ファームの展開が終了した場合には（ステップＳ６０３でＹＥＳ）、本処理を終了する。
【００７５】
ステップＳ６０２に戻り、ステップＳ６０２の判別の結果、ジョブの実行が通知された場合には（ステップＳ６０２でＹＥＳ）、ＣＰＵ２１０は、更新データの展開を中断し、通知されたジョブを実行する（ステップＳ６０５）。ここでの実行もステップＳ６０２と同じく新たなジョブの実行または再開を意味する。
【００７６】
次いで、ＣＰＵ２１０はジョブが終了したか否か判別する（ステップＳ６０６）。ジョブが終了した場合、例えばプリントファーム４１４やスキャンファーム４１３により、アップデートファーム４２１へジョブの終了が通知される。
【００７７】
ステップＳ６０６の判別の結果、ジョブが終了した場合には（ステップＳ６０６でＹＥＳ）、ＣＰＵ２１０は更新ファームの展開を再開し（ステップＳ６０８）、上記ステップＳ６０２に戻る。
【００７８】
一方、ステップＳ６０６の判別の結果、ジョブが終了していない場合には（ステップＳ６０６でＮＯ）、ＣＰＵ２１０はジョブが中断中か否か判別する（ステップＳ６０９）。例えば用紙切れが発生すると、印刷ジョブは中断することとなる。ジョブが中断されると、アップデートファーム４２１へ中断したことが通知される。
【００７９】
ステップＳ６０９の判別の結果、ジョブが中断中ではない場合には（ステップＳ６０９でＮＯ）、上記ステップＳ６０６に進む。一方、ステップＳ６０９の判別の結果、ジョブが中断中の場合には（ステップＳ６０９でＹＥＳ）、上記ステップＳ６０８に進む。
【００８０】
図６の展開処理の変形例によれば、ステップＳ６０２、６０６、６０９でジョブの開始、中断、及び終了を判別し、ジョブを実行していない期間に更新ファームの展開を行うことにより、図５の展開処理よりさらにジョブを優先して更新ファームの展開を行うことができる。
【００８１】
また、図６の展開処理の変形例に示されるように、本実施の形態では、更新ソフトウェアをバックグラウンド処理で展開中に予め定められた処理が実行される場合には更新ソフトウェアの展開を中断する（ステップＳ６０４）。また、予め定められた処理が中断した場合には前記更新ソフトウェアを展開する（ステップＳ６０９でＹＥＳ）。
【００８２】
以上説明したように、本実施の形態によれば、更新ソフトウェアをバックグラウンド処理でダウンロードし（ステップＳ３０４）、予め定められた処理が実行中ではないと判別された場合に、ダウンロードされた更新ソフトウェアをバックグラウンド処理で展開する（ステップＳ４０３）。
【００８３】
そして、展開された更新ソフトウェアにより搭載されたソフトウェアを更新するので（ステップＳ３０９）、ソフトウェアを更新するために生じるダウンタイムを短縮可能となる。
【００８４】
さらに、本実施の形態によれば、予め定められた処理が実行中の場合には、展開を行わないので、ユーザに処理遅延を感じさせることはない。
【００８５】
（他の実施の形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８６】
１００  画像形成装置
２００  制御部
２１０，２３０  ＣＰＵ
２１１，２３１  フラッシュメモリ
２１２  ＲＡＭ
２１３  ＨＤＤ
２１４  操作部インタフェース
４２１  アップデートファーム
４３１  ＯＳ
４３３  処理部アップデートファーム
【図１】
2015212880.tif 000003
【図２】
2015212880.tif 000004
【図３】
2015212880.tif 000005
【図４】
2015212880.tif 000006
【図５】
2015212880.tif 000007
【図６】
2015212880.tif 000008