(57)【特許請求の範囲】
【請求項１】
通常起動モードと、メモリイメージを使用することで前記通常起動モードよりも高速に起動可能な高速起動モードとで起動可能な情報処理装置であって、
蓄積手段と、
前記情報処理装置が起動する場合に、メモリイメージが前記蓄積手段に蓄積されているか否かを判定する第１の判定手段と、
メモリイメージが前記蓄積手段に蓄積されていないと前記第１の判定手段によって判定された場合に、前記通常起動モードで起動するように前記情報処理装置を制御し、メモリイメージが前記蓄積手段に蓄積されていると前記第１の判定手段によって判定された場合に、前記高速起動モードで起動するように前記情報処理装置を制御する制御手段と、
前記通常起動モードで前記情報処理装置が起動した場合に、メモリイメージを前記蓄積手段に保存する保存手段と、
前記情報処理装置のファームウエアを更新する更新処理を実行する更新手段と、
前記更新手段が前記更新処理を実行する場合に、前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアであるか否かを判定する第２の判定手段と、
前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアであると前記第２の判定手段によって判定された場合に、前記蓄積手段に蓄積されているメモリイメージを消去し、前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアではないと前記第２の判定手段によって判定された場合に、前記蓄積手段に蓄積されているメモリイメージを消去しない消去手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記消去手段は、前記更新処理によって前記情報処理装置が再起動する前に前記蓄積手段に蓄積されているメモリイメージを消去し、
前記情報処理装置は、前記消去手段がメモリイメージを消去した後に再起動することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、印刷を実行可能な印刷装置であることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
蓄積手段を有し、通常起動モードと、メモリイメージを使用することで前記通常起動モードよりも高速に起動可能な高速起動モードとで起動可能な情報処理装置のファームウエアの更新方法であって、
前記情報処理装置が起動する場合に、メモリイメージが前記蓄積手段に蓄積されているか否かを判定する第１の判定工程と、
メモリイメージが前記蓄積手段に蓄積されていないと前記第１の判定工程において判定された場合に、前記通常起動モードで起動するように前記情報処理装置を制御し、メモリイメージが前記蓄積手段に蓄積されていると前記第１の判定工程において判定された場合に、前記高速起動モードで起動するように前記情報処理装置を制御する制御工程と、
前記通常起動モードで前記情報処理装置が起動した場合に、メモリイメージを前記蓄積手段に保存する保存工程と、
前記情報処理装置のファームウエアを更新する更新処理を実行する更新工程と、
前記更新工程において前記更新処理を実行する場合に、前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアであるか否かを判定する第２の判定工程と、
前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアであると前記第２の判定工程において判定された場合に、前記蓄積手段に蓄積されているメモリイメージを消去し、前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアではないと前記第２の判定工程において判定された場合に、前記蓄積手段に蓄積されているメモリイメージを消去しない消去工程とを備えることを特徴とする情報処理装置のファームウェアの更新方法。
【請求項５】
請求項４に記載の情報処理装置のファームウエアの更新方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置のファームウエア更新方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来より、複合機のように複数の情報処理装置が連携して動作するような機器またはシステムにおいては、ファームウエア更新処理を以下のように行う。まず、更新処理時に、一度システムをシャットダウンさせ、同システムをファームウエア更新のために別の起動モードで起動し、同システムや複数デバイスのファームウエア更新を行うものがある（例えば、特許文献１参照）。
【０００３】
これは実行中のシステム自身を更新することができないことに起因している。そこで、複数のＯＳを持つシステムにおいて、一方のファーム（通常起動ファーム）更新のために、もう一方のファーム（アップデートファーム）で起動するものがある。
【０００４】
このように、複数のシステムで起動する方法では、システム再起動回数が多くなる。そして、システムを構成するソフトウエア規模の肥大化に伴い、再起動が完了するまでの時間（システム起動時間）が増大する傾向にある。このことから、ファームウエア更新の処理時間も増大する傾向にある。
【０００５】
このような起動時間増大に対する解決策の一つとして、ハイバネーション技術が活用されている。ハイバネーションとは、任意の時点におけるシステムの揮発性記憶装置（メモリ）上の情報をＨＤＤやＵＳＢメモリ等の不揮発性記憶装置に退避保存しておき、次回システム起動の際に、退避保存しておいた情報を揮発性記憶装置に書き戻す。これにより、システムの状態を「退避保存時の状態」に復元する技術のことである（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２８２０９０
【特許文献２】特開２００９−１４６０６１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
システムを複数に分けてファームウエアの更新を行う構成と、ハイバネーションの双方を組み合わせて使用すると、一方のシステムがハイバネーション状態であっても、もう一方のシステムから起動できるという想定外の動作をする。ファームウエアの更新後、更新前に退避保存しておいた情報を揮発性記憶装置に書き戻してしまうと、更新後のファームと不整合を起こし正常に起動できなくなる問題がある。
【０００９】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、ファームウエアを更新したにも関わらずハイバネーションによってファームウエア更新前の状態に戻ってしまうことを防止する仕組みを提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
通常起動モードと、メモリイメージを使用することで前記通常起動モードよりも高速に起動可能な高速起動モードとで起動可能な情報処理装置であって、蓄積手段と、前記情報処理装置が起動する場合に、メモリイメージが前記蓄積手段に蓄積されているか否かを判定する第１の判定手段と、メモリイメージが前記蓄積手段に蓄積されていないと前記第１の判定手段によって判定された場合に、前記通常起動モードで起動するように前記情報処理装置を制御し、メモリイメージが前記蓄積手段に蓄積されていると前記第１の判定手段によって判定された場合に、前記高速起動モードで起動するように前記情報処理装置を制御する制御手段と、前記通常起動モードで前記情報処理装置が起動した場合に、メモリイメージを前記蓄積手段に保存する保存手段と、前記情報処理装置のファームウエアを更新する更新処理を実行する更新手段と、前記更新手段が前記更新処理を実行する場合に、前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアであるか否かを判定する第２の判定手段と、前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアであると前記第２の判定手段によって判定された場合に、前記蓄積手段に蓄積されているメモリイメージを消去し、前記更新処理によって更新されるファームウエアが前記蓄積手段に蓄積されているメモリイメージに影響するファームウエアではないと前記第２の判定手段によって判定された場合に、前記蓄積手段に蓄積されているメモリイメージを消去しない消去手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ファームウエアを更新したにも関わらずハイバネーションによってファームウエア更新前の状態に戻ってしまうことを防止できる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態を示す情報処理装置の構成を示すブロック図の一例である。
【図２】図１に示した画像処理装置のファームウエア構成を説明するブロック図である。
【図３】本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１４】
図１は、本実施形態を示す情報処理装置１００の構成を示すブロック図の一例である。なお、本実施形態では、情報処理装置の例として、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）を例とするが、プリンタ装置やファクシミリ装置であってもよい。
図１において、制御部２００は、情報処理装置１００全体を制御するための構成である。制御部２００は、情報処理装置１００を制御するための構成として、以下に示すものを含む。
ＣＰＵ２１０は、ＦｌａｓｈＲＯＭ２１１に記憶された制御部２００用のプログラム（第１プログラム）をＲＡＭ２１２に読出して実行する。
【００１５】
ＨＤＤ（ＨａｒｄＤｉｓｋＤｒｉｖｅ）２１３は、ネットワークＩ／Ｆ２１８を介してＰＣ２２５から受信した印刷データを記憶する。なお、ＣＰＵ２１０により実行されるプログラムには、後述するプリント用アプリケーションプログラムが含まれる。
そして、このプリント用アプリケーションプログラムにより、ＨＤＤ（ハードディスク）２１３に記憶された印刷データがプリンタ部２２０によるプリントが可能な画像データに変換される。そして、ＨＤＤ２１３には、プリンタ部２２０によるプリントが可能な画像データも記憶される。
また、ＣＰＵ２１０により実行されるプログラムには、後述するスキャン用アプリケーションプログラムが含まれる。そして、このスキャン用アプリケーションプログラムにより、スキャナ部２２１により画像データが読み取られるとともに、読み取られた画像データがＨＤＤ２１３に転送される。そして、ＨＤＤ２１３には、読み取られた画像データが記憶される。なお、本実施形態では、ＦｌａｓｈＲＯＭ２１１またはＨＤＤ２１３が高速起動（ハイバネート）モードに備える情報を保存する手段として用いられる。なお、保存手段としてフラッシュＳＳＤの半導体メモリを用いてもよい。なお、本実施形態を示す情報処理装置では、省電力制御としてハイバネーションンモードを備え、電源投入後、実行された初期化処理後の情報を保存手段に保存しておき、その後の起動要求時に、保存手段に保存された情報に基づいて起動処理を行う。なお、本実施形態では、特許文献２に記載があるので、ハイバネーションンモード処理の詳細については説明を省略する。
【００１６】
操作部Ｉ／Ｆ２１４は、操作部２１９を介して情報処理装置１００の操作者により入力される指示をＣＰＵ２１０に伝達するためのＩ／Ｆである。また、操作部Ｉ／Ｆ２１４は、操作部２１９に表示される内容を切替えるためのＣＰＵ２１０から受信して操作部２１９に伝達する。
【００１７】
プリンタＩ／Ｆ２１５は、制御部２００とプリンタ部２２０を接続するためのインターフェースである。ここで、プリンタ部２２０は、プリンタＩ／Ｆ２１５を介してＨＤＤ２１３から転送される画像データに基づいてシート上にプリントを行う。なお、プリンタ部２２０（プリント手段）は、ＣＰＵ２２０ａとＦｌａｓｈＲＯＭ２２０ｂを有する。ＣＰＵ２２０ａは、ＦｌａｓｈＲＯＭ２２０ｂに記憶されたプログラムを実行することにより、プリント処理に伴う各種の動作をプリンタ部２２０に実行させる。
【００１８】
スキャナＩ／Ｆ２１６は、制御部２００とスキャナ部２２１を接続するためのインターフェースである。ここで、スキャナ部２２１（画像データを入力する入力手段）は、原稿上の画像をＣＣＤ（ＣｈａｒｇｅＣｏｕｐｌｅｄＤｅｖｉｃｅ）等により構成されるラインセンサを用いて画像データとして読み取るものである。
そして、スキャナ部２２１は、読み取った画像データをスキャナＩ／Ｆ２１６を介してＨＤＤ２１３へ転送する。ＨＤＤ２１３へ転送され、記憶された画像データは、前述したプリンタ部２２０によりプリントすることが可能であり、スキャナ部２２１により読み取った画像データをプリンタ部２２０によりプリントすることにより、複写（コピー）処理が可能となる。
なお、スキャナ部２２１は、ＣＰＵ２２１ａとＦｌａｓｈＲＯＭ２２１ｂを有する。ＣＰＵ２２１ａは、ＦｌａｓｈＲＯＭ２２１ｂに記憶されたプログラムを実行することにより、スキャン処理に伴う各種の動作をスキャナ部２２１に実行させる。
【００１９】
ＵＳＢ（ＵｎｉｖｅｒｓａｌＳｅｒｉａｌＢｕｓ）−ＨｏｓｔＩ／Ｆ２１７は、外部ＵＳＢデバイス２２３とも接続可能である。外部ＵＳＢデバイス２２３は、ＵＳＢメモリやＵＳＢキーボードなどが例として挙げられる。ＵＳＢメモリにプログラム（更新情報）を格納し、ダウンロードしてＦｌａｓｈＲＯＭ２１１のファイル格納領域に置くケースもある。
【００２０】
ネットワークＩ／Ｆ２１８は、制御部２００をＬＡＮ１１０に接続し、ＬＡＮ１１０上のＰＣ２２５やサーバ装置２２４との通信を行う。なお、サーバ装置２２４は、後述する各種のプログラム（情報処理装置１００により実行されるもの）をアップデート（更新）するための更新情報が記憶されており、情報処理装置１００からの要求に応じて、更新情報を情報処理装置１００へ送信する。
次に、制御部２００のＣＰＵ２１０（第１制御手段）により実行されるプログラムの構成について図２を用いて説明する。
図２は、図１に示した画像処理装置のファームウエア構成を説明するブロック図である。なお、図２に示されるプログラムは、図１のＦｌａｓｈＲＯＭ２１１に記憶されているものとする。
【００２１】
ＦｌａｓｈＲＯＭ２１１に記憶されるプログラムは、ＦｌａｓｈＲＯＭ２１１上の２つのパーティションに分けて格納されている。１つはメインパーティション４０１であり、もう１つはサブパーティション４０２である。
情報処理装置１００に通常の動作をさせる際には、メインパーティション４０１に格納されたオペレーティングシステムプログラム（以下、ＯＳ）をＣＰＵ２１０に実行させる。その一方で、情報処理装置１００の通常の動作をさせるためのプログラム（後述するメインモジュール４１０、起動準備モジュール４２０、およびＯＳ４１１）を更新する際には、サブパーティションに格納されたＯＳをＣＰＵ２１０に実行させる。
【００２２】
メインパーティション４０１には、ＯＳ４１１、メインモジュール４１０、起動準備モジュール４２０のプログラムモジュールが含まれている。ＯＳ４１１は、情報処理装置１００を制御するためのＯＳであり、プリンタ部２２０、スキャナ部２２１を含む情報処理装置１００の各部の動作を制御するためのドライバプログラムを含むものである。
【００２３】
また、サブパーティション４０２には、ＯＳ４３１及びアップデートモジュール４３０の２つのプログラムモジュールが含まれている。ＯＳ４３１は、情報処理装置１００を制御するためのＯＳであり、前述したＯＳ４１１と同様のものである。
【００２４】
ここで、メインパーティション４０１のメインモジュール４１０、および起動準備モジュール４２０に含まれる各プログラムモジュールについて説明する。なお、各プログラムモジュールは、ＯＳ４１１が起動した後に、ＣＰＵ２１０によりＯＳ４１１を介して実行されるアプリケーションプログラムである。
【００２５】
メインモジュール４１０に含まれる操作部アプリケーションプログラム４１２は、操作部２１９を介して情報処理装置１００の操作者により入力される指示をＣＰＵ２１０に伝達し、伝達された指示に応じた処理を実行するためのプログラムである。
また、スキャンアプリケーションプログラム４１３は、前述したスキャナ部２２１によるスキャン処理を制御するためのプログラムである。また、プリントアプリケーションプログラム４１４は、前述したプリンタ部２２０によるプリント処理を制御するためのプログラムである。
ネットワークアプリケーションプログラム４１５は、ＬＡＮ１１０上のＰＣ２２５やサーバ装置２２４との通信を行うためのプログラムである。アップデート準備プログラム４１６は、通常起動モードで動作中の情報処理装置１００が、ファームウエアの更新を行うための準備動作を実行するためのプログラムである。
【００２６】
起動準備モジュール４２０は、メインモジュール４１０がＣＰＵ２１０により実行される前に実行される。起動準備モジュール４２０に含まれる起動順制御プログラム４２１は、プログラムの起動順序を制御するためのプログラムである。ここでは、ＣＰＵ２１０がＯＳ４１１を起動した次に実行されるプログラムである。後述するメインモジュール起動準備プログラム４２２を実行し、メモリイメージをＦｌａｓｈＲＯＭ２１１やＨＤＤ２１３に退避保存し、その後メインモジュール４１０を実行する等の起動順序を制御するためのプログラムである。
起動準備モジュール４２０に含まれるメインモジュール起動準備プログラム４２２は、ＣＰＵ２１０がメインモジュール４１０を実行するために必要な初期化処理等を行うためのプログラムである。
【００２７】
次に、サブパーティション４０２のアップデートモジュール４３０に含まれる各プログラムモジュールについて説明する。
なお、各プログラムモジュールは、ＯＳ４３１起動した後に、ＣＰＵ２１０によりＯＳ４３１を介して実行されるアプリケーションプログラムである。
【００２８】
メインパーティションアップデートプログラム４３２は、メインパーティション４０１に含まれるメインモジュール４１０、起動準備モジュール４２０のプログラム及びＯＳ４１１を更新するためのプログラムである。
処理部アップデートプログラム４３３は、ＦｌａｓｈＲＯＭ２２０ｂに含まれるプリント処理を実行するためのプログラム、ＦｌａｓｈＲＯＭ２２１ｂに含まれるスキャン処理を実行するためのプログラムを更新するためのプログラムである。なお、これらのモジュールは、内部的にはさらに細かいサブモジュール群で構成されていても良い。
【００２９】
次に、第１実施形態におけるプログラムの更新処理について図３を用いて説明する。
図３は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。
なお、図３の各ステップにおける処理は、制御部２００のＣＰＵ２１０がＦｌａｓｈＲＯＭ２１１に記憶されたプログラムを実行することにより行われる。
【００３０】
Ｓ３０１で、ＣＰＵ２１０は、情報処理装置１００をＦｌａｓｈＲＯＭ２１１のメインパーティション４０１にて起動させる。具体的には、ＣＰＵ２１０がＯＳ４１１を起動させ、起動したＯＳ４１１を介してメインモジュール４１０、起動準備モジュール４２０に含まれる各プログラムモジュールを実行する。
【００３１】
Ｓ３０２で、ＣＰＵ２１０は、ＦｌａｓｈＲＯＭ２１１もしくはＨＤＤ２１３に、起動準備モジュール４２０の実行が完了した時点におけるＲＡＭ２１２上の情報（メモリイメージ）が退避保存されているかどうか判定し、保存されていると判定されなかった場合はＳ３０３へ処理を進め、保存されていると判定された場合はＳ３０５へ処理を進める。
Ｓ３０３で、ＣＰＵ２１０は、ＯＳ４１１を介して起動準備モジュール４２０に含まれるプログラムを実行する。
【００３２】
Ｓ３０４で、ＣＰＵ２１０は、ＯＳ４１１を介して、起動準備モジュール４２０の実行が完了した時点におけるＲＡＭ２１２上の情報をＦｌａｓｈＲＯＭ２１１もしくはＨＤＤ２１３に退避保存する。
【００３３】
Ｓ３０５では、ＣＰＵ２１０は、退避保存されている情報（メモリイメージ）を読み込んでＲＡＭ２１２に書き戻し、システムの状態を退避保存時の状態、つまり起動準備モジュール４２０の実行が完了した状態を復元する。
【００３４】
Ｓ３０６では、ＣＰＵ２１０は、ＯＳ４１１を介してメインモジュール４１０に含まれるプログラムを実行する。なお、ＣＰＵ２１０が実行する、プリンタＩ／Ｆ２１５を介したプリンタ部２２０との通信、スキャナＩ／Ｆ２１６を介したスキャナ部２２１との通信はここで行われる。
【００３５】
Ｓ３０７では、ＣＰＵ２１０は、情報処理装置１００のプログラムを更新するための更新処理の実行指示がなされたかどうかを判定し、なされたと判定された場合はＳ３０８へ処理を進める。ここで、更新処理の実行指示とは、例えば、情報処理装置１００の操作者が操作部２１９を介して行う更新指示を言う。また、一定期間（例えば、２週間）毎にプログラムを定期的に更新するようにスケジュールを予め設定しておき、定期的に更新処理の実行指示が自動的になされるようにしても良い。
【００３６】
Ｓ３０８で、ＣＰＵ２１０は、ＯＳ４１１を介してアップデート準備プログラム４１６を実行することにより、ＦｌａｓｈＲＯＭ２１１、ＦｌａｓｈＲＯＭ２２０ｂ、ＦｌａｓｈＲＯＭ２２１ｂに記憶された各プログラムのうち、更新候補となるプログラムを特定する。
例えば、ＣＰＵ２１０が各プログラムを指定するための表示画面を操作部２１９に表示させ、操作部２１９を介して操作者により指示されたプログラムを更新候補として特定する。なお、操作者による指示に基づくことなく、更新候補となり得る全てのプログラムを更新候補として特定しても良い。
【００３７】
Ｓ３０９で、ＣＰＵ２１０は、アップデート準備プログラム４１６を実行し、情報処理装置１００を特定するための機種ＩＤ情報とバージョン情報の取得要求をネットワークＩ／Ｆ２１８を介してサーバ装置２２４に送信する。そして、情報処理装置１００は、サーバ装置２２４により管理されるバージョン情報を取得する。
ここでバージョン情報とは、前述したメインパーティション４０１に含まれる各プログラムモジュールのバージョンを示す情報である。なお、サーバ装置２２４は、情報処理装置１００から機種ＩＤとバージョン情報の取得要求を受信した場合、機種ＩＤに対応するバージョン情報を特定し、特定したバージョン情報を情報処理装置１００へ送信する。
【００３８】
Ｓ３１０で、ＣＰＵ２１０は、アップデート準備プログラム４１６を実行し、情報処理装置１００のバージョン情報を取得する。ここで、情報処理装置１００のバージョン情報とは、ＦｌａｓｈＲＯＭ２１１、ＦｌａｓｈＲＯＭ２２０ｂ、ＦｌａｓｈＲＯＭ２２１ｂに記憶された各プログラムのバージョンを示す情報をいう。
【００３９】
Ｓ３１１で、ＣＰＵ２１０は、アップデート準備プログラム４１６を実行し、更新対象
のプログラムを特定する。具体的には、Ｓ３０８で特定された更新候補となるプログラムの中から、サーバ装置２２４と情報処理装置１００とでバージョン情報が異なるものを特定する。これにより、情報処理装置１００に格納されているプログラムよりもバージョンの新しいプログラムがサーバ装置２２４からダウンロードすることが可能であることがわかる。
【００４０】
Ｓ３１２で、ＣＰＵ２１０は、Ｓ３１１にて特定された更新対象のプログラムに、Ｓ３０４で保存した退避情報（メモリイメージ）に影響のあるプログラムがあるかどうかを判定する。ここでは、起動準備モジュール４２０のプログラム、もしくはＯＳ４１１が含まれるかどうかを判定する。ここで、ＣＰＵ２１０が含まれると判定した場合はＳ３１３へ処理を進め、含まれないと判定した場合は退避情報（メモリイメージ）を保持したままＳ３１４へ処理を進める。
【００４１】
Ｓ３１３では、ＣＰＵ２１０は、Ｓ３０４で保存した退避情報（メモリイメージ）を消去する。ここで退避情報（メモリイメージ）を消去することで、更新後のファームで起動する際に、不整合を起こす退避情報の利用を防止する。
【００４２】
Ｓ３１４では、ＣＰＵ２１０は、Ｓ３１１で特定された更新対象のプログラム（更新情報）をサーバ装置２２４から取得する。具体的には、情報処理装置１００は、Ｓ３１１で特定された更新対象のプログラムを示すプログラム特定情報をサーバ装置２２４へ送信する。サーバ装置２２４は、情報処理装置１００からプログラム特定情報を受信した場合、プログラム特定情報に対応するプログラムを情報処理装置１００へ送信する。なお、サーバ装置２２４から受信した更新対象のプログラムは、ＦｌａｓｈＲＯＭ２１１やＨＤＤ２１３に記憶させるものとする。そして、Ｓ３１５で、ＣＰＵ２１０は、システムを再起動させる。
【００４３】
Ｓ３１６で、ＣＰＵ２１０は、情報処理装置１００をサブパーティションにて起動させる。具体的には、ＣＰＵ２１０がＯＳ４３１を起動させ、起動したＯＳ４３１によりアップデートモジュール４３０に含まれる各プログラムモジュールを実行する。
【００４４】
Ｓ３１７で、ＣＰＵ２１０は、メインパーティションアップデートプログラム４３２を実行することにより、Ｓ３１４で取得した更新対象のプログラムを使用してメインパーティション４０１の各プログラムの更新処理を実行する。
Ｓ３１８で、ＣＰＵ２１０は、処理部アップデートプログラム４３３を実行することにより、各処理部（プリンタ部２２０、スキャナ部２２１）が実行するプログラムの更新処理を実行する。Ｓ３１９で、ＣＰＵ２１０は、システムを再起動させる。
【００４５】
このようにＳ３１３でメモリイメージを消去することで、システム再起動後に誤ったメモリイメージを利用する不具合を起こさず、高速なアップデート処理を行うことができる。また、Ｓ３１２の判定により、可能な限りメモリイメージを保存したままファームウエアの更新を行うことで、システム再起動後にメモリイメージを利用し高速に起動できる。
【００４６】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００４７】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００４８】
２１０  ＣＰＵ
２１１  フラッシュＲＯＭ
２１２  ＲＡＭ
２２０  プリンタ部
２２１  スキャナ部
【図１】
0005943681.tif 000002
【図２】
0005943681.tif 000003
【図３】
0005943681.tif 000004