(57)【要約】【課題】自装置の状態を複製した複製データを記憶した後にソフトウェアを更新した場合に、記憶した複製データを用いる代わりに通常起動を行う構成と比較して、起動時間を短縮する。【解決手段】画像処理装置１００は、自装置の起動手順に含まれる起動ステップ毎に、起動ステップが実行される前の自装置の状態を複製した複製データと起動ステップが実行された後の自装置の状態を複製した複製データとの差分データをＨＤＤ１２０に記憶し、特定のソフトウェアが更新された後に起動手順で自装置を起動する場合に、起動手順に含まれる起動ステップに対応する差分データのうち、更新されたソフトウェアに関連する差分データを除く残りの差分データをＨＤＤ１２０から読み出して自装置を起動した後、差分データを用いずにソフトウェアを起動する。【選択図】図２
2019016295.tif 000002
【特許請求の範囲】
【請求項１】
自装置の起動手順に含まれる起動ステップ毎に、当該起動ステップが実行される前の自装置の状態を複製した複製データと当該起動ステップが実行された後の自装置の状態を複製した複製データとの差分データを記憶する記憶手段と、
特定のソフトウェアが更新された後に前記起動手順で自装置を起動する場合に、当該起動手順に含まれる起動ステップに対応する差分データのうち、更新された当該ソフトウェアに関連する差分データを除く残りの差分データを前記記憶手段から読み出して自装置を起動した後、差分データを用いずに当該ソフトウェアを起動する起動手段と
を備える情報処理装置。
【請求項２】
前記記憶手段は、前記起動手段により更新された前記ソフトウェアが起動された後、更新された当該ソフトウェアに関連する差分データを新たに記憶し、
前記起動手段は、更新された前記ソフトウェアに関連する差分データを前記記憶手段が新たに記憶した後に前記起動手順で自装置を起動する場合、前記残りの差分データと新たに記憶された当該ソフトウェアに関連する差分データとを当該記憶手段から読み出して自装置を起動すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
更新された前記ソフトウェアに関連する差分データには、更新された当該ソフトウェアを起動する起動ステップに対応する差分データが含まれること
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ソフトウェアが更新された場合に、前記起動手順に含まれる起動ステップに対応する差分データのうち、更新された当該ソフトウェアに関連する差分データを前記記憶手段から削除する削除手段をさらに備えること
を特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記削除手段は、更新された前記ソフトウェアに関連する差分データとして、当該ソフトウェアを起動する起動ステップに対応する差分データ、及び、当該起動ステップの後に実行される他の起動ステップに対応する差分データを削除すること
を特徴とする請求項４に記載の情報処理装置。
【請求項６】
複数のソフトウェアについて当該ソフトウェアと当該ソフトウェアに関連する差分データとを予め対応付けた対応関係を取得する対応関係取得手段をさらに備え、
前記起動手段は、取得された前記対応関係において更新された前記ソフトウェアに対応付けられた差分データを除き、残りの差分データを前記記憶手段から読み出すこと
を特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記対応関係には、前記複数のソフトウェアのそれぞれに対して、当該ソフトウェアが更新されることにより影響を受ける差分データが対応付けられていること
を特徴とする請求項６に記載の情報処理装置。
【請求項８】
自装置の起動手順に含まれる起動ステップ毎に、当該起動ステップが実行される前のスナップショットと当該起動ステップが実行された後のスナップショットとの違いに関する情報を取得する取得手段と、
特定のソフトウェアが更新された後に前記起動手順で自装置を起動する場合に、前記取得手段が取得した前記情報のうち、更新された当該ソフトウェアに関連する情報を除く残りの情報により自装置をハイバネーション起動した後、当該ソフトウェアに関連する情報を用いずに当該ソフトウェアを起動する起動手段と
を備える情報処理装置。
【請求項９】
自装置の起動手順に含まれる起動ステップ毎に、当該起動ステップが実行される前の自装置の状態を複製した複製データと当該起動ステップが実行された後の自装置の状態を複製した複製データとの差分データであって自装置の起動に用いられる差分データを記憶する記憶手段と、
特定のソフトウェアが更新された場合に、前記起動手順に含まれる起動ステップに対応する差分データのうち、更新された当該ソフトウェアに関連する差分データを前記記憶手段に格納する格納手段と
を備える情報処理装置。
【請求項１０】
コンピュータに、
特定のソフトウェアが更新された後に自装置を起動する場合に、自装置の起動手順に含まれる起動ステップ毎に存在するデータであって、当該起動ステップが実行される前の自装置の状態を複製した複製データと当該起動ステップが実行された後の自装置の状態を複製した複製データとの差分である差分データの中から、更新された当該ソフトウェアに関連する差分データを除く残りの差分データを取得する機能と、
取得された差分データを用いて自装置を起動した後、差分データを用いずに更新された前記ソフトウェアを起動する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、第１のプログラムと、第１のプログラムと協働する第２のプログラムとを実行してデータ処理を行うデータ処理装置であって、保存手段に保存された情報と、特定される更新プログラムに基づいて更新される第１のプログラムまたは第２のプログラムに関わる情報とが、整合すると判断した場合は、更新すべき更新プログラムを取得し、整合しないと判断した場合は、保存手段に保存された情報を消去した後、更新すべき更新プログラムを取得し、取得した更新プログラムに基づいて、第１のプログラムまたは第２のプログラムを更新するデータ処理装置が開示されている。
【０００３】
また、例えば、特許文献２には、第１の起動処理中の所定の処理時点までに生成されたデータ（２２）と、前記所定の処理時点後の第１の起動処理に使用されたプログラムデータ（３１）とを含むイメージ（３２）を第１の記憶媒体に記憶させる記憶制御手段と、前記第１の起動処理完了後に第２の起動処理を実行するとき、前記第１の記憶媒体に記憶された前記イメージ（３２）に基づいて、前記所定の処理時点から起動処理を開始する起動処理制御手段と、を具備する電子機器が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２１８５１０号公報
【特許文献２】特開２０１５−３９０５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えばハイバネーションの機能を利用して、自装置の状態を複製した複製データを記憶しておき、記憶した複製データを使用して高速に起動する技術が知られている。このように、記憶した複製データを使用して自装置を起動する場合、例えば、ソフトウェアを更新すると、複製データを記憶した時点の自装置の状態との不整合が生じてしまい、正常に起動されない場合がある。このような場合に通常の起動（コールドブート）を行うと、記憶した複製データを使用して起動する場合よりも起動時間が長くなってしまう。
本発明の目的は、自装置の状態を複製した複製データを記憶した後にソフトウェアを更新した場合に、記憶した複製データを用いる代わりに通常起動を行う構成と比較して、起動時間を短縮することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、自装置の起動手順に含まれる起動ステップ毎に、当該起動ステップが実行される前の自装置の状態を複製した複製データと当該起動ステップが実行された後の自装置の状態を複製した複製データとの差分データを記憶する記憶手段と、特定のソフトウェアが更新された後に前記起動手順で自装置を起動する場合に、当該起動手順に含まれる起動ステップに対応する差分データのうち、更新された当該ソフトウェアに関連する差分データを除く残りの差分データを前記記憶手段から読み出して自装置を起動した後、差分データを用いずに当該ソフトウェアを起動する起動手段とを備える情報処理装置である。
請求項２に記載の発明は、前記記憶手段は、前記起動手段により更新された前記ソフトウェアが起動された後、更新された当該ソフトウェアに関連する差分データを新たに記憶し、前記起動手段は、更新された前記ソフトウェアに関連する差分データを前記記憶手段が新たに記憶した後に前記起動手順で自装置を起動する場合、前記残りの差分データと新たに記憶された当該ソフトウェアに関連する差分データとを当該記憶手段から読み出して自装置を起動することを特徴とする請求項１に記載の情報処理装置である。
請求項３に記載の発明は、更新された前記ソフトウェアに関連する差分データには、更新された当該ソフトウェアを起動する起動ステップに対応する差分データが含まれることを特徴とする請求項２に記載の情報処理装置である。
請求項４に記載の発明は、前記ソフトウェアが更新された場合に、前記起動手順に含まれる起動ステップに対応する差分データのうち、更新された当該ソフトウェアに関連する差分データを前記記憶手段から削除する削除手段をさらに備えることを特徴とする請求項１に記載の情報処理装置である。
請求項５に記載の発明は、前記削除手段は、更新された前記ソフトウェアに関連する差分データとして、当該ソフトウェアを起動する起動ステップに対応する差分データ、及び、当該起動ステップの後に実行される他の起動ステップに対応する差分データを削除することを特徴とする請求項４に記載の情報処理装置である。
請求項６に記載の発明は、複数のソフトウェアについて当該ソフトウェアと当該ソフトウェアに関連する差分データとを予め対応付けた対応関係を取得する対応関係取得手段をさらに備え、前記起動手段は、取得された前記対応関係において更新された前記ソフトウェアに対応付けられた差分データを除き、残りの差分データを前記記憶手段から読み出すことを特徴とする請求項１に記載の情報処理装置である。
請求項７に記載の発明は、前記対応関係には、前記複数のソフトウェアのそれぞれに対して、当該ソフトウェアが更新されることにより影響を受ける差分データが対応付けられていることを特徴とする請求項６に記載の情報処理装置である。
請求項８に記載の発明は、自装置の起動手順に含まれる起動ステップ毎に、当該起動ステップが実行される前のスナップショットと当該起動ステップが実行された後のスナップショットとの違いに関する情報を取得する取得手段と、特定のソフトウェアが更新された後に前記起動手順で自装置を起動する場合に、前記取得手段が取得した前記情報のうち、更新された当該ソフトウェアに関連する情報を除く残りの情報により自装置をハイバネーション起動した後、当該ソフトウェアに関連する情報を用いずに当該ソフトウェアを起動する起動手段とを備える情報処理装置である。
請求項９に記載の発明は、自装置の起動手順に含まれる起動ステップ毎に、当該起動ステップが実行される前の自装置の状態を複製した複製データと当該起動ステップが実行された後の自装置の状態を複製した複製データとの差分データであって自装置の起動に用いられる差分データを記憶する記憶手段と、特定のソフトウェアが更新された場合に、前記起動手順に含まれる起動ステップに対応する差分データのうち、更新された当該ソフトウェアに関連する差分データを前記記憶手段に格納する格納手段とを備える情報処理装置である。
請求項１０に記載の発明は、コンピュータに、特定のソフトウェアが更新された後に自装置を起動する場合に、自装置の起動手順に含まれる起動ステップ毎に存在するデータであって、当該起動ステップが実行される前の自装置の状態を複製した複製データと当該起動ステップが実行された後の自装置の状態を複製した複製データとの差分である差分データの中から、更新された当該ソフトウェアに関連する差分データを除く残りの差分データを取得する機能と、取得された差分データを用いて自装置を起動した後、差分データを用いずに更新された前記ソフトウェアを起動する機能とを実現させるためのプログラムである。
【発明の効果】
【０００７】
請求項１記載の発明によれば、自装置の状態を複製した複製データを記憶した後にソフトウェアを更新した場合に、記憶した複製データを用いる代わりに通常起動を行う構成と比較して、起動時間を短縮することができる。
請求項２記載の発明によれば、ソフトウェアを更新した場合に、自装置の起動が完了したときの自装置の状態を複製した複製データを新たに記憶する構成と比較して、自装置の起動に使用するデータの作成時間を短縮することができる。
請求項３記載の発明によれば、ソフトウェアを更新した場合に、より確実に、自装置を起動することができる。
請求項４記載の発明によれば、ソフトウェアが更新された場合に、更新されたソフトウェアに関連する差分データを記憶手段に残す構成と比較して、記憶手段の空き領域を増やすことができる。
請求項５記載の発明によれば、より確実に、記憶手段の空き領域を増やすことができる。
請求項６記載の発明によれば、ソフトウェアとソフトウェアに関連する差分データとが関連付けられていない構成と比較して、より確実に、自装置を起動することができる。
請求項７記載の発明によれば、ソフトウェアとソフトウェアに関連する差分データとが関連付けられていない構成と比較して、自装置の起動時に異常が発生する可能性を低減することができる。
請求項８記載の発明によれば、スナップショットを記憶した後にソフトウェアを更新した場合に、記憶したスナップショットを用いる代わりに通常起動を行う構成と比較して、起動時間を短縮することができる。
請求項９記載の発明によれば、自装置の状態を複製した複製データを記憶した後にソフトウェアを更新した場合に、記憶した複製データを用いる代わりに通常起動を行う構成と比較して、起動時間を短縮することができる。
請求項１０記載の発明によれば、自装置の状態を複製した複製データを記憶した後にソフトウェアを更新した場合に、記憶した複製データを用いる代わりに通常起動を行う構成と比較して、起動時間を短縮する機能を、コンピュータにより実現できる。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態に係る画像処理装置のハードウェア構成例を示す図である。
【図２】本実施の形態に係る画像処理装置の機能構成例を示したブロック図である。
【図３】起動管理情報の一例を示す図である。
【図４】イメージ構成情報の一例を示す図である。
【図５】イメージ関連情報の一例を示す図である。
【図６】（ａ）〜（ｅ）は、画像処理装置を起動させる処理の具体例を説明するための図である。
【図７】画像処理装置を起動させる処理手順の一例を示したフローチャートである。
【図８】本実施の形態を適用可能なコンピュータのハードウェア構成例を示した図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００１０】
＜画像処理装置のハードウェア構成＞
まず、本実施の形態に係る画像処理装置１００のハードウェア構成について説明する。図１は、本実施の形態に係る画像処理装置１００のハードウェア構成例を示す図である。本実施の形態に係る画像処理装置１００は、例えば、画像読み取り機能（スキャン機能）、印刷機能（プリント機能）、複写機能（コピー機能）及びファクシミリ機能等の各種の画像処理機能を備えた、いわゆる複合機である。なお、本実施の形態において、画像処理装置１００は、情報処理装置の一例として用いられる。
【００１１】
図示するように、本実施の形態に係る画像処理装置１００は、制御部１１０と、ＨＤＤ（Hard Disk Drive）１２０と、操作パネル１３０と、画像読取部１４０と、画像形成部１５０と、通信インタフェース（以下、「通信Ｉ／Ｆ」と表記する）１６０とを備える。なお、これらの各機能部はバス１７０に接続されており、このバス１７０を介してデータの授受を行う。
【００１２】
制御部１１０は、画像処理装置１００の各部の動作を制御する。この制御部１１０は、ＣＰＵ（Central Processing Unit）１１０ａ、ＲＡＭ（Random Access Memory）１１０ｂ、ＲＯＭ（Read Only Memory）１１０ｃにより構成される。
ＣＰＵ１１０ａは、ＲＯＭ１１０ｃ等に記憶された各種プログラムをＲＡＭ１１０ｂにロードして実行することにより、画像処理装置１００における各機能を実現する。ＲＡＭ１１０ｂは、ＣＰＵ１１０ａの作業用メモリ等として用いられるメモリ（記憶部）である。ＲＯＭ１１０ｃは、ＣＰＵ１１０ａが実行する各種プログラム等を記憶するメモリ（記憶部）である。
【００１３】
ＨＤＤ１２０は、各種データを記憶する記憶部である。ＨＤＤ１２０には、例えば、画像読取部１４０の画像読み取りによって生成された画像データや、通信Ｉ／Ｆ１６０によって外部から受信した画像データ等が記憶される。また、ＨＤＤ１２０は、画像処理装置１００を起動した状態（起動後の状態）に復元するためのイメージデータを記憶する。このイメージデータは、いわゆるハイバネーション起動に用いられるデータである。イメージデータの詳細については、後述する。
【００１４】
操作パネル１３０は、各種の情報を表示するとともに、ユーザからの操作を受け付ける。この操作パネル１３０は、液晶ディスプレイ等で構成された表示パネル、表示パネルの上に配置され、ユーザによりタッチされた位置を検出するタッチパネル、ユーザにより押下される物理キー等から構成される。そして、操作パネル１３０は、例えば、画像処理装置１００の操作画面等の各種画面を表示パネルに表示したり、タッチパネル及び物理キーによりユーザからの操作を受け付けたりする。
【００１５】
画像読取部１４０は、原稿台上にセットされた用紙等の記録材に形成されている画像を読み取って、読み取った画像を示す画像情報（画像データ）を生成する。ここで、画像読取部１４０は、例えばスキャナーであり、光源から原稿に照射した光に対する反射光をレンズで縮小してＣＣＤ（Charge Coupled Devices）で受光するＣＣＤ方式や、ＬＥＤ光源から原稿に順に照射した光に対する反射光をＣＩＳ（Contact Image Sensor）で受光するＣＩＳ方式のものを用いるとよい。
【００１６】
画像形成部１５０は、用紙等の記録材に画像を形成する印刷機構である。ここで、画像形成部１５０は、例えばプリンターであり、感光体に付着させたトナーを記録材に転写して像を形成する電子写真方式や、インクを記録材上に吐出して像を形成するインクジェット方式のものを用いるとよい。
【００１７】
通信Ｉ／Ｆ１６０は、不図示のネットワークを介して他の装置との間で各種データの送受信を行う通信インタフェースである。
【００１８】
そして、この画像処理装置１００では、制御部１１０による制御の下、画像読取部１４０によってスキャン機能が実現され、画像形成部１５０によってプリント機能が実現され、画像読取部１４０及び画像形成部１５０によってコピー機能が実現され、画像読取部１４０、画像形成部１５０及び通信Ｉ／Ｆ１６０によってファクシミリ機能が実現される。
【００１９】
＜イメージデータの説明＞
本実施の形態に係る画像処理装置１００では、上述したように、ＨＤＤ１２０に、画像処理装置１００を起動した状態に復元するためのイメージデータが記憶される。ここで、イメージデータには、基本イメージと差分イメージとが存在する。
【００２０】
基本イメージは、画像処理装置１００が起動された場合の予め定められた時点における画像処理装置１００の状態を保存するものである。言い換えると、基本イメージは、画像処理装置１００が起動する場合に実行される起動ステップのうち、最初に実行される起動ステップが実行された状態を保存するものであり、即ち、最初に実行される起動ステップに対応するイメージデータである。
【００２１】
基本イメージとしては、例えば、画像処理装置１００のＯＳ起動直後のメモリ状態を保存するものが例示される。この場合、基本イメージは、ＯＳ起動という起動ステップに対応するイメージデータとして捉えることができる。以下では、基本イメージをＯＳ起動に対応するイメージデータとして説明するが、本実施の形態に係る基本イメージは、ＯＳ起動に対応するものに限られない。
【００２２】
差分イメージは、画像処理装置１００の起動手順に含まれる起動ステップ毎に用意される差分データである。より具体的には、差分イメージは、起動手順に含まれる起動ステップ毎に、その起動ステップが実行された状態を保存するものである。言い換えると、差分イメージは、起動ステップが実行される前の画像処理装置１００の状態を複製した複製データと起動ステップが実行された後の画像処理装置１００の状態を複製した複製データとの差分データである。また、差分イメージは、起動ステップが実行される前のスナップショットと起動ステップが実行された後のスナップショットとの差分データ、即ち、両スナップショットの違いに関する情報として捉えることもできる。
【００２３】
そして、本実施の形態に係る画像処理装置１００は、起動の際に、ＨＤＤ１２０に保存された基本イメージ及び差分イメージを読み出して起動するように構成される。言い換えると、画像処理装置１００は、保存された基本イメージ及び差分イメージによりハイバネーション起動を行うように構成される。
【００２４】
ここで、画像処理装置１００が有するソフトウェアが更新された場合について説明する。この場合、ＨＤＤ１２０に保存されているイメージデータは、ソフトウェア更新前の状態を復元するものである。そのため、保存されているイメージデータと更新されたソフトウェアとの間で不整合が生じてしまい、保存されているイメージデータにより起動しても、画像処理装置１００が正常に起動されない場合がある。
【００２５】
そこで、本実施の形態では、ソフトウェアを更新することによって影響を受けるイメージデータを除いて、残りのイメージデータを用いて画像処理装置１００を起動させる。そして、画像処理装置１００は、更新したソフトウェアに関連するイメージデータを新たに作成する。以下、このような処理を実現するための画像処理装置１００等の説明を行う。
【００２６】
なお、基本イメージ及び差分イメージ等のイメージデータは、これらのイメージデータを使用せずに画像処理装置１００を起動させることにより予め作成され、ＨＤＤ１２０に記憶される。また、後述するように、画像処理装置１００の有するソフトウェアが更新された場合には、後述するイメージ作成部１０９によりイメージデータが作成され、ＨＤＤ１２０に記憶される。
【００２７】
＜画像処理装置の機能構成＞
次に、本実施の形態に係る画像処理装置１００の機能構成について説明する。図２は、本実施の形態に係る画像処理装置１００の機能構成例を示したブロック図である。
【００２８】
本実施の形態に係る画像処理装置１００は、ソフトウェア更新部１０１と、起動ステップ管理部１０２と、イメージ構成管理部１０３と、イメージ関連情報管理部１０４と、ソフトウェア情報管理部１０５と、イメージ特定部１０６と、イメージ削除部１０７と、イメージ展開部１０８と、イメージ作成部１０９とを備える。
【００２９】
ソフトウェア更新部１０１は、画像処理装置１００が有する特定のソフトウェアを更新する。ここで、ソフトウェア更新部１０１は、例えば、ユーザが指定したソフトウェアや、外部サーバ（不図示）等から更新対象として通知されたソフトウェアを更新する。
【００３０】
起動ステップ管理部１０２は、画像処理装置１００を起動する際に実行される起動手順に含まれる起動ステップを管理する。ここで、起動ステップ管理部１０２は、画像処理装置１００の起動手順に含まれる起動ステップを管理するための情報（以下、「起動管理情報」と称する）を保持する。この起動管理情報には、画像処理装置１００を起動する際に実行される起動ステップの処理内容、及び各起動ステップを実行する順番が示されている。起動管理情報の詳細については、後述する。
【００３１】
イメージ構成管理部１０３は、基本イメージ及び差分イメージを管理する。ここで、イメージ構成管理部１０３は、基本イメージ及び差分イメージを管理するための情報（以下、「イメージ構成情報」と称する）を保持する。このイメージ構成情報には、画像処理装置１００を起動する際に実行される起動ステップと、その起動ステップが実行された状態を保存するイメージデータの情報とが予め対応付けられている。
【００３２】
例えば、ＯＳ起動という起動ステップには、基本イメージが対応付けられている。また、例えば、一のアプリケーションを起動する起動ステップには、この起動ステップが実行される前の画像処理装置１００の状態を複製した複製データとこの起動ステップが実行された後の画像処理装置１００の状態を複製した複製データとの差分である差分イメージが対応付けられている。イメージ構成情報の詳細については、後述する。
【００３３】
イメージ関連情報管理部１０４は、ソフトウェアとイメージデータとの関連を示す情報（以下、「イメージ関連情報」と称する）を管理する。このイメージ関連情報には、画像処理装置１００が有する複数のソフトウェアについて、ソフトウェアとそのソフトウェアに関連するイメージデータとが予め対応付けられている。イメージ関連情報の詳細については、後述する。なお、本実施の形態では、対応関係の一例として、イメージ関連情報が用いられる。
【００３４】
ソフトウェア情報管理部１０５は、画像処理装置１００が有するソフトウェアの情報（以下、「ソフトウェア情報」と称する）を管理する。このソフトウェア情報には、画像処理装置１００が有するソフトウェアの名称、ソフトウェアのバージョン（版）などのソフトウェアの情報が登録されている。また、ソフトウェア更新部１０１は、ソフトウェアを更新すると、ソフトウェア情報において、更新したソフトウェアにフラグを立てたり、ソフトウェアのバージョンを新しいものに変更したりする。
【００３５】
イメージ特定部１０６は、ソフトウェア更新部１０１により特定のソフトウェアが更新された場合、イメージ関連情報管理部１０４の管理するイメージ関連情報を参照し、更新されたソフトウェアに関連するイメージデータを特定する。言い換えると、イメージ特定部１０６は、ソフトウェア更新部１０１により特定のソフトウェアが更新された場合、イメージ関連情報において、更新されたソフトウェアに対応付けられているイメージデータを特定する。
【００３６】
ここで、イメージ特定部１０６は、例えば、ソフトウェアが更新されたことをソフトウェア更新部１０１から通知されたのを契機として、更新されたソフトウェアに関連するイメージデータを特定する。また、イメージ特定部１０６は、例えば、一定時間毎に（例えば１分毎に）、ソフトウェア情報を参照し、更新されたソフトウェアを把握してもよい。
【００３７】
イメージ削除部１０７は、画像処理装置１００を起動する際に実行される起動ステップに対応するイメージデータのうち、イメージ特定部１０６により特定されたイメージデータをＨＤＤ１２０から削除する。
【００３８】
イメージ展開部１０８は、イメージデータをＨＤＤ１２０から読み出してＲＡＭ１１０ｂに展開し、画像処理装置１００を起動する。言い換えると、イメージ展開部１０８は、イメージデータをＨＤＤ１２０から読み出してＲＡＭ１１０ｂに展開して、画像処理装置１００を起動した状態に復元する。ここで、イメージ展開部１０８は、画像処理装置１００を起動する場合、起動ステップ管理部１０２の管理する起動管理情報、イメージ構成管理部１０３の管理するイメージ構成情報を参照する。そして、イメージ展開部１０８は、画像処理装置１００の起動ステップに対応するイメージデータを特定し、特定したイメージデータを展開して、画像処理装置１００を起動する。
【００３９】
さらに説明すると、イメージ展開部１０８は、ソフトウェア更新部１０１により特定のソフトウェアが更新された後に、画像処理装置１００を起動する場合には、画像処理装置１００の起動ステップに対応するイメージデータのうち、更新されたソフトウェアに関連するイメージデータ（即ち、イメージ特定部１０６により、更新されたソフトウェアに関連するイメージデータとして特定されたイメージデータ）を除く残りのイメージデータを選択する。そして、イメージ展開部１０８は、選択したイメージデータをＨＤＤ１２０から読み出してＲＡＭ１１０ｂに展開し、画像処理装置１００を起動する。
【００４０】
付言すると、ソフトウェアが更新された場合には、更新後のソフトウェアを使用可能な状態にするために、画像処理装置１００の起動（再起動）が必要になることがある。このように、イメージ展開部１０８は、更新後のソフトウェアを使用可能な状態にするために、ソフトウェアの更新を契機として画像処理装置１００を起動する。
ただし、本実施の形態では、ソフトウェアの更新を契機として画像処理装置１００を起動する構成に限られるものではない。例えば、イメージ展開部１０８は、ソフトウェアの更新後にユーザによって画像処理装置１００を起動する操作が行われたことを契機として、画像処理装置１００を起動してもよい。
【００４１】
イメージ作成部１０９は、ソフトウェア更新部１０１によりソフトウェアが更新された場合に、イメージ展開部１０８により画像処理装置１００が起動された後、イメージデータを使用せずに、更新されたソフトウェアを起動する。より具体的には、イメージ作成部１０９は、イメージ展開部１０８により画像処理装置１００が起動された後、まだ実行されていない残りの起動ステップを実行する。そして、イメージ作成部１０９は、実行した起動ステップ（即ち、残りの起動ステップ）に対応するイメージデータ作成する。
【００４２】
さらに説明すると、残りの起動ステップとは、画像処理装置１００の起動手順に含まれる起動ステップのうち、イメージ展開部１０８がイメージデータを展開して実行した起動ステップを除く、残りの起動ステップである。言い換えると、残りの起動ステップとは、更新されたソフトウェアに関連する起動ステップである。即ち、残りの起動ステップとは、更新されたソフトウェアに関連するイメージデータを展開することによって実行される、起動ステップである。より具体的には、残りの起動ステップとは、更新されたソフトウェアを起動する起動ステップ、その起動ステップの後に実行される他の起動ステップである。
【００４３】
なお、イメージ作成部１０９は、残りの起動ステップに対応するイメージデータ、言い換えると、更新されたソフトウェアに関連するイメージデータを作成する。そのため、ソフトウェアの更新に伴って、そのソフトウェアに関連するイメージデータを更新するものとして捉えることができる。
【００４４】
なお、イメージ作成部１０９によって作成されたイメージデータは、ＨＤＤ１２０に格納され、画像処理装置１００の起動に用いられる。即ち、作成されたイメージデータがＨＤＤ１２０に格納された後、画像処理装置１００が起動される場合、イメージ展開部１０８は、作成されたイメージデータとその他のイメージデータとをＨＤＤ１２０から読み出して、画像処理装置１００を起動する。
【００４５】
そして、図２に示す画像処理装置１００を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像処理装置１００を図１に示したハードウェア構成にて実現した場合、例えば、ＲＯＭ１１０ｃに格納されているＯＳのプログラムやアプリケーション・プログラムが、ＲＡＭ１１０ｂに読み込まれてＣＰＵ１１０ａに実行されることにより、ソフトウェア更新部１０１、起動ステップ管理部１０２、イメージ構成管理部１０３、イメージ関連情報管理部１０４、ソフトウェア情報管理部１０５、イメージ特定部１０６、イメージ削除部１０７、イメージ展開部１０８、イメージ作成部１０９等の各機能部が実現される。また、起動ステップ管理部１０２が管理する起動管理情報、イメージ構成管理部１０３が管理するイメージ構成情報、イメージ関連情報管理部１０４が管理するイメージ関連情報、ソフトウェア情報管理部１０５が管理するソフトウェア情報等は、例えば、ＨＤＤ１２０に記憶される。
【００４６】
本実施の形態では、記憶手段の一例として、ＨＤＤ１２０が用いられる。取得手段の一例として、イメージ展開部１０８が用いられる。起動手段の一例として、イメージ展開部１０８、イメージ作成部１０９が用いられる。対応関係取得手段の一例として、イメージ関連情報管理部１０４が用いられる。削除手段の一例として、イメージ削除部１０７が用いられる。格納手段の一例として、イメージ作成部１０９が用いられる。
【００４７】
＜起動管理情報の説明＞
次に、起動ステップ管理部１０２が管理する起動管理情報について、詳細に説明する。図３は、起動管理情報の一例を示す図である。
【００４８】
図３に示す起動管理情報には、画像処理装置１００が起動する際に実行される起動ステップとして、ＯＳ起動、初期化、画像処理アプリ起動、ＵＩアプリ起動の４つの起動ステップが示されている。言い換えると、画像処理装置１００が起動する場合に、予め定められた実行順序として、ＯＳ起動、初期化、画像処理アプリ起動、ＵＩアプリ起動の順番に、連続的に（シーケンシャルに）処理を行って起動することが示されている。
【００４９】
ここで、ＯＳ起動では、画像処理装置１００のＯＳを起動する処理、言い換えると、画像処理装置１００のＯＳカーネルを起動する処理が行われる。初期化では、共通ライブラリを起動する処理が行われる。この初期化の処理では、画像処理装置１００が有する種々のアプリケーションが初期化されたり、画像処理装置１００に接続されている認証デバイスやストレージなどのハードウェアが初期化されたりする。なお、共通ライブラリとは、複数のプログラムが共通して利用するプログラムの集まりである。
【００５０】
また、画像処理アプリ起動では、画像処理装置１００が有するアプリケーションのうち、画像処理に関連するアプリケーション（以下、「画像処理アプリ」と称する）を起動する処理が行われる。ＵＩアプリ起動では、画像処理装置１００が有するアプリケーションのうち、ユーザからの操作を受け付ける操作パネル１３０のユーザインタフェースに関連するアプリケーション（以下、「ＵＩアプリ」と称する）を起動する処理が行われる。
【００５１】
＜イメージ構成情報の説明＞
次に、イメージ構成管理部１０３が管理するイメージ構成情報について、詳細に説明する。図４は、イメージ構成情報の一例を示す図である。ここでは、画像処理装置１００の起動の際に、図３に示す起動ステップが実行されるものとして説明する。
【００５２】
本実施の形態では、図４に示すように、起動手順の起動ステップのそれぞれに対して、イメージデータが対応付けられている。付言すると、画像処理装置１００が起動する場合に最初に行われる起動ステップ（この例では、ＯＳ起動）には、基本イメージが対応付けられている。また、画像処理装置１００が起動する場合の最初の起動ステップ以外の起動ステップ（この例では、初期化、画像処理アプリ起動、ＵＩアプリ起動）には、差分イメージが対応付けられている。図４に示す例では、初期化、画像処理アプリ起動、ＵＩアプリ起動に対してそれぞれ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）が対応付けられている。
【００５３】
例えば、初期化の起動ステップには、差分イメージ（初期化）が対応付けられている。この差分イメージ（初期化）は、初期化の起動ステップが実行される前の画像処理装置１００の状態を複製した複製データと初期化の起動ステップが実行された後の画像処理装置１００の状態を複製した複製データとの差分データである。
【００５４】
＜イメージ関連情報の説明＞
次に、イメージ関連情報管理部１０４が管理するイメージ関連情報について、詳細に説明する。図５は、イメージ関連情報の一例を示す図である。
【００５５】
上述したように、イメージ関連情報では、画像処理装置１００が有するソフトウェアのそれぞれに対して、そのソフトウェアに関連するイメージデータが予め対応付けられている。ここで、ソフトウェアに関連するイメージデータとは、ソフトウェアが更新されることによって特定の影響を受けるイメージデータである。特定の影響とは、更新されたソフトウェアとの間でデータの不整合が生じる（又は、不整合が生じる可能性がある）、という影響である。付言すると、特定の影響とは、イメージデータを展開すると画像処理装置１００が正常に起動されない（又は、正常に起動されない可能性がある）、という影響である。本実施の形態では、このようなイメージデータは画像処理装置１００の起動には使用されず、残りのイメージデータを用いて画像処理装置１００の起動が行われる。
【００５６】
図５に示すイメージ関連情報には、画像処理装置１００が有するソフトウェアとして、ブートローダ、ＯＳ、共通ライブラリ、画像処理アプリ、ＵＩアプリの５つが示されている。これらのソフトウェアに対して、ソフトウェアに関連するイメージデータが対応付けられている。
【００５７】
より具体的には、例えば、ＯＳには、関連するイメージデータとして、基本イメージ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）という４つのイメージデータが対応付けられている。付言すると、ＯＳが影響を及ぼすイメージデータとして、基本イメージ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）という４つのイメージデータが存在する。
【００５８】
さらに説明すると、ＯＳが影響を及ぼすイメージデータには、ＯＳを起動するＯＳ起動に対応する基本イメージに加えて、ＯＳ起動の後に実行される他の起動ステップのイメージデータ（差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動））が存在する。
【００５９】
例えば、ＯＳを更新した場合には、ＯＳの更新前に作成された基本イメージ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）が影響を受ける。これらのイメージデータは、ＯＳを更新したことにより、更新後のＯＳとの間でデータ内容に不整合が生じる。そのため、ＯＳ更新後にこれらのイメージデータを用いて起動すると、画像処理装置１００が正常に起動されない場合がある。
【００６０】
同様に、例えば、共通ライブラリには、関連するイメージデータとして、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）という３つのイメージデータが対応付けられている。共通ライブラリが影響を及ぼすイメージデータには、共通ライブラリを起動する起動ステップである初期化に対応する差分イメージ（初期化）に加えて、初期化の後に実行される他の起動ステップのイメージデータ（差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動））が存在する。
【００６１】
また、例えば、画像処理アプリには、関連するイメージデータとして、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）という２つのイメージデータが対応付けられている。画像処理アプリが影響を及ぼすイメージデータには、画像処理アプリを起動する起動ステップである画像処理アプリ起動に対応する差分イメージ（画像処理アプリ起動）に加えて、画像処理アプリ起動の後に実行される他の起動ステップのイメージデータ（差分イメージ（ＵＩアプリ起動））が存在する。
【００６２】
さらに、例えば、ＵＩアプリには、関連するイメージデータとして、差分イメージ（ＵＩアプリ起動）という１つのイメージデータが対応付けられている。ＵＩアプリが影響を及ぼすイメージデータには、ＵＩアプリを起動する起動ステップであるＵＩアプリ起動に対応する差分イメージ（ＵＩアプリ起動）が存在する。
【００６３】
このように、本実施の形態では、ソフトウェアのそれぞれに対して、ソフトウェアに関連するイメージデータが予め対応付けられている。ソフトウェアに関連するイメージデータは、ソフトウェアの更新により特定の影響を受けるイメージデータであり、言い換えると、そのソフトウェアを起動する起動ステップに対応するイメージデータ、及び、その起動ステップの後に実行される他の起動ステップに対応するイメージデータである。
【００６４】
なお、ブートローダとは、ＯＳを起動するためのソフトウェアである。画像処理装置１００が起動する場合、ＯＳが起動される前にブートローダが呼び出されて、ブートローダによりＯＳが起動される。図５に示す例では、ブートローダには何れのイメージデータも対応付けられていない。
【００６５】
＜画像処理装置を起動する処理の具体例＞
次に、本実施の形態に係る画像処理装置１００を起動させる処理について、具体例を挙げて説明する。図６（ａ）〜（ｅ）は、画像処理装置１００を起動させる処理の具体例を説明するための図である。
【００６６】
ここでは、画像処理装置１００が、図３に示すＯＳ起動、初期化、画像処理アプリ起動、ＵＩアプリ起動の４つの起動ステップで起動するものとする。また、図４に示すイメージデータがＨＤＤ１２０に格納されているものとする。さらに、図５に示すイメージ関連情報が用いられるものとする。
【００６７】
まず、イメージデータを使用する高速起動との比較のために、イメージデータを使用しない通常起動の場合について説明する。図６（ａ）に示す例は、通常起動の場合の例である。ここでは、画像処理装置１００の電源がオン（ＯＮ）されると、イメージデータを使用せずに、ＯＳ起動、初期化、画像処理アプリ起動、ＵＩアプリ起動の処理が順に行われる。
【００６８】
次に、図６（ｂ）に示す例は、画像処理装置１００を通常起動で起動させた後、高速起動のためのイメージデータを作成する場合の例である。ここでは、図６（ａ）に示す例と同様に、画像処理装置１００の電源がオン（ＯＮ）されると、イメージデータを使用せずに、ＯＳ起動、初期化、画像処理アプリ起動、ＵＩアプリ起動の処理が順に行われる。そして、画像処理装置１００の電源がオンされてからＵＩアプリ起動の処理まで完了した状態に復元するためのイメージデータが作成される。付言すると、ここで作成されるイメージデータは、画像処理装置１００の起動手順に含まれる全ての起動ステップに対応するイメージデータといえる。
【００６９】
次に、図６（ｃ）に示す例は、イメージデータを使用して画像処理装置１００を起動させる高速起動の場合の例である。ここでは、各起動ステップに対応するイメージデータを使用して画像処理装置１００が起動される。
【００７０】
より具体的には、画像処理装置１００の電源がオンされると、イメージ展開部１０８は、ＯＳ起動に対応するイメージデータとして、基本イメージを選択する。同様に、イメージ展開部１０８は、初期化、画像処理アプリ起動、ＵＩアプリ起動に対応するイメージデータとして、それぞれ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）を選択する。そして、イメージ展開部１０８は、基本イメージ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）を順番にＨＤＤ１２０から読み出してＲＡＭ１１０ｂに展開し、画像処理装置１００を起動する。
【００７１】
さらに説明すると、基本イメージを展開することにより、画像処理装置１００は、ＯＳ起動直後の状態に復元される。次に、差分イメージ（初期化）を展開することにより、画像処理装置１００は、初期化の処理が実行された後の状態に復元される。次に、差分イメージ（画像処理アプリ起動）を展開することにより、画像処理装置１００は、画像処理アプリ起動の処理が実行された後の状態に復元される。次に、差分イメージ（ＵＩアプリ起動）を展開することにより、画像処理装置１００は、ＵＩアプリ起動の処理が実行された後の状態に復元される。その結果、図６（ｃ）の高速起動では、図６（ａ）の通常起動の場合と比較して、起動時間が短縮される。
【００７２】
次に、図６（ｄ）を参照しながら、ＵＩアプリを更新する例について説明する。図５に示すイメージ関連情報では、ＵＩアプリには、差分イメージ（ＵＩアプリ起動）が対応付けられている。そのため、ソフトウェア更新部１０１がＵＩアプリを更新した場合、イメージ特定部１０６は、ＵＩアプリに関連するイメージデータとして、差分イメージ（ＵＩアプリ起動）を特定する。そして、イメージ削除部１０７は、ＨＤＤ１２０に格納された差分イメージ（ＵＩアプリ起動）を削除する。
【００７３】
その後、イメージ展開部１０８は、画像処理装置１００を起動する場合、起動ステップに対応するイメージデータのうち、更新されたＵＩアプリに関連するイメージデータ（即ち、差分イメージ（ＵＩアプリ起動））を除く残りのイメージデータを選択する。より具体的には、イメージ展開部１０８は、基本イメージ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）を選択する。
【００７４】
そして、イメージ展開部１０８は、図６（ｄ）に示すように、基本イメージ、差分イメージ（初期化）、差分イメージ（画像処理アプリ起動）を順にＨＤＤ１２０から読み出してＲＡＭ１１０ｂに展開し、画像処理装置１００を起動する。付言すると、画像処理装置１００は、ＵＩアプリに関連するイメージデータの起動ステップ（この例では、ＵＩアプリ起動）の前の起動ステップまで実行された状態に復元される。
【００７５】
さらに、イメージ作成部１０９は、図６（ｄ）に示すように、イメージデータを使用せずに、残りの起動ステップを実行する。この例では、残りの起動ステップは、「ＵＩアプリ起動」であり、更新後のＵＩアプリを起動する処理である。イメージ作成部１０９は、更新後のＵＩアプリを起動した後、「ＵＩアプリ起動」のイメージデータ（即ち、差分イメージ（ＵＩアプリ起動））を作成する。
【００７６】
次に、図６（ｅ）を参照しながら、画像処理アプリを更新する例について説明する。図５に示すイメージ関連情報では、画像処理アプリには、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）が対応付けられている。そのため、ソフトウェア更新部１０１が画像処理アプリを更新した場合、イメージ特定部１０６は、画像処理アプリに関連するイメージデータとして、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）を特定する。そして、イメージ削除部１０７は、ＨＤＤ１２０に格納された差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）を削除する。
【００７７】
その後、イメージ展開部１０８は、画像処理装置１００を起動する場合、起動ステップに対応するイメージデータのうち、更新された画像処理アプリに関連するイメージデータ（即ち、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動））を除く残りのイメージデータを選択する。より具体的には、イメージ展開部１０８は、基本イメージ、差分イメージ（初期化）を選択する。
【００７８】
そして、イメージ展開部１０８は、図６（ｅ）に示すように、基本イメージ、差分イメージ（初期化）を順にＨＤＤ１２０から読み出してＲＡＭ１１０ｂに展開し、画像処理装置１００を起動する。付言すると、画像処理装置１００は、画像処理アプリに関連するイメージデータの起動ステップ（この例では、画像処理アプリ起動、ＵＩアプリ起動）の前の起動ステップまで実行された状態に復元される。
【００７９】
さらに、イメージ作成部１０９は、図６（ｅ）に示すように、イメージデータを使用せずに、残りの起動ステップを実行する。この例では、残りの起動ステップは、「画像処理アプリ起動」、「ＵＩアプリ起動」であり、画像処理アプリの起動以降の処理である。イメージ作成部１０９は、更新後の画像処理アプリを起動し、さらに、ＵＩアプリを起動する。そして、イメージ作成部１０９は、「画像処理アプリ起動」のイメージデータ（即ち、差分イメージ（画像処理アプリ起動））、及び「ＵＩアプリ起動」のイメージデータ（即ち、差分イメージ（ＵＩアプリ起動））を作成する。
【００８０】
図６（ｄ）、（ｅ）に示すように、イメージ展開部１０８は、更新されたソフトウェアに関連するイメージデータを除く他のイメージデータを使用して、画像処理装置１００を起動する。また、イメージ作成部１０９は、更新されたソフトウェアに関連するイメージデータを新たに作成する。その結果、図６（ｄ）、（ｅ）に示す例では、図６（ｃ）の通常起動の場合と比較して、起動時間が短縮される。また、図６（ｄ）、（ｅ）に示す例では、図６（ｃ）のようにＵＩアプリ起動の処理まで完了した状態に復元するためのイメージデータを作成する場合と比較して、イメージデータの作成時間が短縮される。
【００８１】
なお、図６（ｅ）に示す例では、イメージ作成部１０９は、残りの起動ステップを全て実行した後に、各起動ステップに対応するイメージデータを作成することとしたが、このような構成に限られない。本実施の形態では、イメージ作成部１０９は、残りの起動ステップを実行する毎に、実行した起動ステップに対応するイメージデータを作成してもよい。例えば、図６（ｅ）に示す例の場合、イメージ作成部１０９は、更新後の画像処理アプリを起動した後、ＵＩアプリを起動する前に、差分イメージ（画像処理アプリ起動）を作成してもよい。
【００８２】
さらに、図６（ｅ）に示す例では、残りの起動ステップに対応するイメージデータを全て作成することとしたが、このような構成に限られない。例えば、イメージ作成部１０９は、複数の起動ステップのうちの一の起動ステップ（例えば、「画像処理アプリ起動」）に対応するイメージデータを作成し、次に画像処理装置１００が起動されるタイミングで、複数の起動ステップのうちの他の起動ステップ（例えば、「ＵＩアプリ起動」）に対応するイメージデータを作成してもよい。
【００８３】
＜画像処理装置を起動させる処理手順の説明＞
次に、画像処理装置１００を起動させる処理手順について説明する。図７は、画像処理装置１００を起動させる処理手順の一例を示したフローチャートである。
【００８４】
図７に示す例では、図６に示す例と同様に、画像処理装置１００が、図３に示すＯＳ起動、初期化、画像処理アプリ起動、ＵＩアプリ起動の４つの起動ステップで起動するものとする。また、図４に示すイメージデータがＨＤＤ１２０に格納されているものとする。さらに、図５に示すイメージ関連情報が用いられるものとする。なお、この例では、画像処理装置１００が有するアプリケーションのうち、画像処理アプリを更新するものとして説明する。
【００８５】
まず、画像処理装置１００の電源がオンされた後、ソフトウェア更新部１０１は、例えば、ユーザが指定したソフトウェアや外部サーバ（不図示）等から更新対象として通知されたソフトウェアを更新する（ステップ１０１）。この例では、ソフトウェア更新部１０１は画像処理アプリを更新する。
【００８６】
次に、イメージ特定部１０６は、イメージ関連情報管理部１０４の管理するイメージ関連情報を参照し、更新されたソフトウェアに関連するイメージデータを特定する（ステップ１０２）。次に、イメージ削除部１０７は、イメージ特定部１０６により特定されたイメージデータを削除する（ステップ１０３）。この例では、画像処理アプリに関連するイメージデータとして、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）がＨＤＤ１２０から削除される。
【００８７】
次に、画像処理装置１００において再起動の処理が行われる（ステップ１０４）。ここでは、まず、ブートローダが起動される。そして、ブートローダが起動された後、イメージ展開部１０８は、起動管理情報、イメージ構成情報を参照し、起動手順に含まれる起動ステップに対応するイメージデータを特定する。そして、イメージ展開部１０８は、特定したイメージデータのうち、未展開のイメージデータが存在するか否かを判定する（ステップ１０５）。
【００８８】
ステップ１０５で肯定の判断（Ｙｅｓ）がされた場合、イメージ展開部１０８は、未展開のイメージデータをＨＤＤ１２０から読み出してＲＡＭ１１０ｂに展開する（ステップ１０６）。ここで、未展開のイメージデータが複数存在する場合には、イメージ展開部１０８は、複数のイメージデータのうち、起動手順の順番で先に実行される起動ステップのイメージデータを展開する。ステップ１０６の後、ステップ１０５に移行し、引き続き、未展開のイメージデータが存在するか否かの判定が行われる。
【００８９】
一方、ステップ１０５で否定の判断（Ｎｏ）がされた場合、イメージ展開部１０８は、イメージデータを使用せずに、起動手順に含まれる起動ステップのうちの残りの起動ステップの処理を実行する（ステップ１０７）。
【００９０】
この例では、基本イメージ、差分イメージ（初期化）が未展開のイメージデータとしてＨＤＤ１２０に存在する。一方、差分イメージ（画像処理アプリ起動）、差分イメージ（ＵＩアプリ起動）は、イメージ削除部１０７により削除されており、ＨＤＤ１２０には存在しない。そのため、ステップ１０５で肯定の判断（Ｙｅｓ）がされて基本イメージが展開された後（ステップ１０６）、さらにステップ１０５で肯定の判断（Ｙｅｓ）がされて差分イメージ（初期化）が展開される（ステップ１０６）。その後、ステップ１０５で否定の判断（Ｎｏ）がされ、残りの起動ステップである「画像処理アプリ起動」、「ＵＩアプリ起動」がイメージデータを使用せずに順に実行される（ステップ１０７）。
【００９１】
なお、例えば、基本イメージがＨＤＤ１２０に存在していない場合には、ＯＳが更新されたことにより、基本イメージ及び差分イメージ、即ち、起動手順に含まれる全ての起動ステップに対応するイメージデータが削除され、ＨＤＤ１２０に格納されていないと考えられる。この場合には、ステップ１０５で否定の判断（Ｎｏ）がされ、ステップ１０７において、ＯＳ起動及びＯＳ起動の後の起動ステップの処理が順に実行される。
【００９２】
ステップ１０７で残りの起動ステップの処理が実行された後、イメージ作成部１０９はイメージデータを作成する（ステップ１０８）。ここで、イメージ作成部１０９は、残りの起動ステップに対応するイメージデータを作成する。即ち、イメージ作成部１０９は、起動手順に含まれる起動ステップに対応するイメージデータのうち、ＨＤＤ１２０に存在していないイメージデータを新たに作成する。そして、本処理フローは終了する。
【００９３】
この例では、イメージ作成部１０９は、「画像処理アプリ起動」に対応する差分イメージ（画像処理アプリ起動）、「ＵＩアプリ起動」に対応する差分イメージ（ＵＩアプリ起動）を作成する。
また、例えば、基本イメージがＨＤＤ１２０に存在しない場合には、イメージ作成部１０９は、基本イメージ及び差分イメージ、即ち、起動手順に含まれる全ての起動ステップに対応するイメージデータを作成する。
【００９４】
なお、起動手順に含まれる全ての起動ステップに対応するイメージデータがＨＤＤ１２０に格納されている場合には、ステップ１０６においてイメージデータが全て展開されて、画像処理装置１００の起動が完了する。そして、イメージデータが全て展開された後、ステップ１０５で否定の判断（Ｎｏ）がされ、本処理フローは終了する。
【００９５】
以上説明したように、本実施の形態に係る画像処理装置１００において、特定のソフトウェアが更新された場合、イメージ特定部１０６は、更新されたソフトウェアに関連するイメージデータを特定する。そして、ソフトウェアの更新後に画像処理装置１００を起動する場合、イメージ展開部１０８は、起動手順に含まれる起動ステップに対応するイメージデータのうち、更新されたソフトウェアに関連するイメージデータを除く残りのイメージデータを用いて画像処理装置１００を起動させる。そして、イメージ作成部は、起動手順に含まれる起動ステップのうち、まだ実行されていない残りの起動ステップを実行し、実行した起動ステップに対応するイメージデータを作成する。
【００９６】
このように、画像処理装置１００は、特定のソフトウェア更新後に画像処理装置１００を起動する場合、不整合の生じないイメージデータで高速起動をして、更新されたソフトウェアに関連するイメージデータを新たに作成する。よって、本実施の形態に係る画像処理装置１００を用いることにより、例えば、ソフトウェアを更新した場合に通常起動を行う構成と比較して、画像処理装置１００の起動時間が短縮される。また、本実施の形態に係る画像処理装置１００を用いることにより、例えば、イメージデータとして、画像処理装置１００の起動が完了したときの状態を複製したイメージデータを、新たに記憶する構成と比較して、イメージデータの作成時間が短縮される。
【００９７】
また、上述した例では、イメージ削除部１０７は、更新されたソフトウェアに関連するイメージデータを削除したが、本実施の形態では、イメージデータを削除せずにＨＤＤ１２０に残しておいてもよい。この場合、イメージ展開部１０８は、ソフトウェアの更新後に画像処理装置１００を起動する場合、起動ステップに対応するイメージデータのうち、更新されたソフトウェアに関連するイメージデータを選択せずに、残りのイメージデータを使用して画像処理装置１００を起動させる。ここで、イメージ削除部１０７は、更新されたソフトウェアに関連するイメージデータが選択されないようにするために、更新されたソフトウェアに関連するイメージデータに対してフラグを付与したり、更新されたソフトウェアに関連するイメージデータを他のイメージデータとは異なる記憶領域に格納したりしてもよい。
【００９８】
さらに、上述した例では、画像処理装置１００は、イメージデータを用いてハイバネーション起動を行うこととしたが、ハイバネーション起動するか、又はイメージデータを用いずに通常起動するかを、切り替え可能に構成することとしてもよい。例えば、通常起動を行う設定がされている場合には、イメージデータを用いない通常起動が行われる。一方、ハイバネーション起動を行う設定がされている場合には、上述した例のように、イメージ展開部１０８がイメージデータをＨＤＤ１２０からＲＡＭ１１０ｂに読み出して起動される。
【００９９】
＜他の構成例＞
次に、本実施の形態に係る画像処理装置１００の他の構成例について説明する。上述した例では、特定のソフトウェアが更新された後、イメージ展開部１０８がイメージデータを展開して画像処理装置１００を起動し、イメージ作成部１０９が残りの起動ステップを実行してイメージデータを作成した。これに対して、他の構成例では、イメージ作成部１０９は、特定のソフトウェアが更新されたタイミングでイメージデータを作成する。
【０１００】
さらに説明すると、例えば、ソフトウェアが更新された場合、画像処理装置１００を起動させずに、更新後のソフトウェアが使用可能な状態になる場合がある。このような場合、イメージ作成部１０９は、ソフトウェアが更新された後、更新後のソフトウェアを起動する起動ステップを実行することにより、更新後のソフトウェアを起動する起動ステップに対応するイメージデータを作成してもよい。
【０１０１】
また、イメージ作成部１０９は、更新後のソフトウェアを起動する起動ステップを実行し、さらに、その後に実行する必要のある他の起動ステップも実行することにより、更新後のソフトウェアを起動する起動ステップに対応するイメージデータに加えて、他の起動ステップに対応するイメージデータを作成してもよい。
このように、イメージ作成部１０９は、ソフトウェアが更新された場合に、画像処理装置１００が起動される前に、更新されたソフトウェアに関連するイメージデータを作成してもよい。
【０１０２】
また、本実施の形態では、起動ステップ毎に用意されたイメージデータにより、ハイバネーション起動を行う場合について説明したが、このような構成に限られない。例えば、本実施の形態を、仮想化の技術に適用してもよい。この場合、起動ステップ毎に用意されたイメージデータにより、例えば、仮想化されたサーバのリソースにおいて、起動した状態に復元される。同様に、例えば、本実施の形態を、プロセスマイグレーションの技術に適用してもよい。
【０１０３】
＜適用可能なコンピュータの説明＞
ところで、本実施の形態に係る画像処理装置１００による処理は、例えば、ＰＣ（Personal Computer）等の汎用のコンピュータにおいて実現してもよい。そこで、この処理をコンピュータ２００で実現するものとして、そのハードウェア構成について説明する。図８は、本実施の形態を適用可能なコンピュータ２００のハードウェア構成例を示した図である。なお、本実施の形態において、コンピュータ２００は、情報処理装置の一例として用いられる。
【０１０４】
コンピュータ２００は、演算手段であるＣＰＵ２０１と、記憶手段であるメインメモリ２０２及び磁気ディスク装置（ＨＤＤ）２０３とを備える。ここで、ＣＰＵ２０１は、ＯＳやアプリケーション等の各種プログラムを実行する。また、メインメモリ２０２は、各種プログラムやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置２０３は、図２に示す各機能部を実現するためのプログラムを格納する。そして、このプログラムがメインメモリ２０２にロードされ、このプログラムに基づく処理がＣＰＵ２０１により実行されることで、各機能部が実現される。
さらに、コンピュータ２００は、外部との通信を行うための通信インタフェース（Ｉ／Ｆ）２０４と、ビデオメモリやディスプレイ等からなる表示機構２０５と、キーボードやマウス等の入力デバイス２０６とを備える。
【０１０５】
より具体的には、ＣＰＵ２０１が、ソフトウェア更新部１０１、起動ステップ管理部１０２、イメージ構成管理部１０３、イメージ関連情報管理部１０４、ソフトウェア情報管理部１０５、イメージ特定部１０６、イメージ削除部１０７、イメージ展開部１０８、イメージ作成部１０９等を実現するプログラムを、例えば磁気ディスク装置２０３からメインメモリ２０２に読み込んで実行することにより、これらの機能部が実現される。また、起動ステップ管理部１０２が管理する起動管理情報、イメージ構成管理部１０３が管理するイメージ構成情報、イメージ関連情報管理部１０４が管理するイメージ関連情報、ソフトウェア情報管理部１０５が管理するソフトウェア情報等は、例えば、磁気ディスク装置２０３に記憶される。
【０１０６】
また、本発明の実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【０１０７】
なお、上記では種々の実施形態および変形例を説明したが、これらの実施形態や変形例どうしを組み合わせて構成してももちろんよい。
また、本開示は上記の実施形態に何ら限定されるものではなく、本開示の要旨を逸脱しない範囲で種々の形態で実施することができる。
【符号の説明】
【０１０８】
１００…画像処理装置、１０１…ソフトウェア更新部、１０２…起動ステップ管理部、１０３…イメージ構成管理部、１０４…イメージ関連情報管理部、１０５…ソフトウェア情報管理部、１０６…イメージ特定部、１０７…イメージ削除部、１０８…イメージ展開部、１０９…イメージ作成部、１１０ｂ…ＲＡＭ、１２０…ＨＤＤ
【図１】
2019016295.tif 000003
【図２】
2019016295.tif 000004
【図３】
2019016295.tif 000005
【図４】
2019016295.tif 000006
【図５】
2019016295.tif 000007
【図６】
2019016295.tif 000008
【図７】
2019016295.tif 000009
【図８】
2019016295.tif 000010