(57)【要約】【課題】発生した不具合を安定した環境で復旧することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供する。【解決手段】情報処理装置１００は、記憶装置１０４，１０５，１０６，及び１０９を備え、起動指定が通常起動の場合に情報処理機能を提供する第１のシステム１１ａと、起動指定がセーフモード起動の場合に情報処理機能を提供する第２のシステム１１ｂとから構成する２重化された情報処理システムを有し、さらに、第１のシステム１１ａと第２のシステム１１ｂのどちらか一方を起動するシステム起動手段２１と、システム起動手段２１により起動されたシステム内のソフトウェア部品から記憶装置１０４，１０５，１０６，及び１０９に保持されるデータへのアクセスを、起動指定に応じて制御するアクセス制御手段３１と、を有することを特徴とする。【選択図】図２
2010009553.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段を備えた情報処理装置であって、
起動指定が通常起動の場合に情報処理機能を提供する第１のシステムと、起動指定がセーフモード起動の場合に情報処理機能を提供する第２のシステムとから構成する２重化された情報処理システムを有し、さらに、
前記第１のシステムと前記第２のシステムのどちらか一方を起動するシステム起動手段と、
前記システム起動手段により起動されたシステム内のソフトウェア部品から前記記憶手段に保持されるデータへのアクセスを、前記起動指定に応じて制御するアクセス制御手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記アクセス制御手段は、
前記ソフトウェア部品のデータアクセス先である記憶手段を、前記起動指定に応じて切り換えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
当該情報処理装置が、複数の記憶手段を備え、
前記アクセス制御手段は、
前記起動指定に基づき、前記複数の記憶手段の中から前記ソフトウェア部品のデータアクセス先である記憶手段を特定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１のシステム及び／又は前記第２のシステムを構成するソフトウェア部品は、
前記アクセス制御手段を介して、
前記記憶手段に保持されるデータを読み込む及び／又は前記記憶手段にデータを書き込むことを特徴とする請求項１ないし３のいずれか一項に記載の情報処理装置。
【請求項５】
前記アクセス制御手段は、
前記ソフトウェア部品が前記記憶手段に保持されるデータを読み込むときに、
前記記憶手段にデータが存在しない場合、
前記ソフトウェア部品に、前記データのデフォルト値を返すことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
当該情報処理装置は、
前記第１のシステム又は前記第２のシステムのどちらか一方でシステム設定が変更された場合に、
前記アクセス制御手段を介して、
他方のシステムへ設定変更を反映することを特徴とする請求項１ないし５のいずれか一項に記載の情報処理装置。
【請求項７】
当該情報処理装置は、
前記アクセス制御手段を介して、
前記第１のシステムにより収集されるログ情報に、前記第２のシステムにより収集されるログ情報をマージすることを特徴とする請求項１ないし６のいずれか一項に情報処理装置。
【請求項８】
当該情報処理装置は、
前記アクセス制御手段を介して、
前記第１のシステム又は前記第２のシステムのどちらか一方が、他方のシステムのソフトウェア部品を更新することを特徴とする請求項１ないし７のいずれか一項に記載の情報処理装置。
【請求項９】
当該情報処理装置は、
前記アクセス制御手段を介して、システムを構成する複数のソフトウェア部品を一括更新する場合に、
前記ソフトウェア部品の依存関係に基づき、予め決定しておいた更新順序に従って、前記ソフトウェア部品を更新することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
当該情報処理装置は、
前記アクセス制御手段を介して、
前記第１のシステムで発生した不具合を、前記第２のシステムが修復することを特徴とする請求項１ないし９のいずれか一項に記載の情報処理装置。
【請求項１１】
当該情報処理装置は、
前記記憶手段に保持されるデータを消去する前に、消去可能なデータか否かを判定し、前記データが消去不可能なデータであった場合に、
前記アクセス制御手段を介して、
前記データを他の記憶手段に待避することを特徴とする請求項１ないし１０のいずれか一項に記載の情報処理装置。
【請求項１２】
当該情報処理装置は、
前記アクセス制御手段を介して、
前記他の記憶手段に待避しておいたデータを、消去後の記憶手段に書き戻すことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
当該情報処理装置は、
２つの記憶手段がミラーリング状態となっているときに暗号化を行う場合、
前記アクセス制御手段を介して、
前記２つの記憶手段に対する暗号化の実行順序を制御することを特徴とする請求項１ないし１２のいずれか一項に記載の情報処理装置。
【請求項１４】
当該情報処理装置は、
前記第１のシステムより前記第２のシステムに、
起動時に記憶手段から確保するシステム動作用のメモリ領域を多く割り当てることを特徴とする請求項１ないし１３のいずれか一項に記載の情報処理装置。
【請求項１５】
当該情報処理装置は、
前記第１のシステムを構成するソフトウェア部品の部品数より、前記第２のシステムの部品数の方が少ないことを特徴とする請求項１ないし１４のいずれか一項に記載の情報処理装置。
【請求項１６】
起動指定が通常起動の場合に情報処理機能を提供する第１のシステムと、起動指定がセーフモード起動の場合に情報処理機能を提供する第２のシステムとから構成する２重化された情報処理システムを有する、記憶手段を備えた情報処理装置における情報処理方法であって、
前記第１のシステムと前記第２のシステムのどちらか一方を起動するシステム起動手順と、
前記システム起動手順により起動されたシステム内のソフトウェア部品から前記記憶手段に保持されるデータへのアクセスを、前記起動指定に応じて制御するアクセス制御手順と、を有することを特徴とする情報処理方法。
【請求項１７】
起動指定が通常起動の場合に情報処理機能を提供する第１のシステムと、起動指定がセーフモード起動の場合に情報処理機能を提供する第２のシステムとから構成する２重化された情報処理システムを有する、記憶手段を備えた情報処理装置における情報処理プログラムであって、
コンピュータを、
前記第１のシステムと前記第２のシステムのどちらか一方を起動するシステム起動手段と、
前記システム起動手段により起動されたシステム内のソフトウェア部品から前記記憶手段に保持されるデータへのアクセスを、前記起動指定に応じて制御するアクセス制御手段として機能させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに係り、特に、異なるモードにより起動されたシステム環境の技術に関するものである。
【背景技術】
【０００２】
従来、ＰＣ（Personal Computer）などの情報処理装置では、電源投入後、提供機能（各種アプリケーション）の動作環境としてＯＳ（Operation System）が稼働する。
【０００３】
このＯＳを稼働するモード（以下、「起動モード」と言う。）には、ノーマルモードとセーフモードとがあり、ノーマルモードは、利用者に対して、当該装置が有する機能を制限なく提供する起動モードである。
【０００４】
一方、セーフモードは、何らかの原因（例えば「システム設定の誤り」など）で、当該装置が動作不安定な状態となってしまった場合など、ノーマルモードに比べて起動するモジュールを減らし、最低限の機能を提供する起動モードである。
【０００５】
このことから、情報処理装置では、当該装置内で不具合が発生した場合であっても、上記セーフモードで起動することにより、不具合の原因を解消し、再び、安定した機能提供環境へ復旧することができる。
【０００６】
例えば、特許文献１には、システム内に搭載される複数のモジュールのうち、当該装置が上記セーフモードで起動するときに、実行するモジュールを選択する手段を有し、自由度のある最小構成のシステム環境を提供可能な情報処理装置が開示されている。
【０００７】
また、セーフモード時に不具合の原因を解消する方法として、当該装置が備える記憶装置内のデータを消去する方法がある。
【０００８】
例えば、特許文献２には、当該装置が備える記憶装置内のデータを消去するモードで起動されたか否かを判定する手段を有し、その判定結果と、設定に係るデータに応じてデータ消去を行うことで、効率的に記憶装置内のデータを消去可能な情報処理装置が開示されている。
【特許文献１】特開２００４−３３４６７９号公報
【特許文献２】特開２００５−３５４６７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の情報処理装置では、以下に挙げる問題点がある。
【００１０】
例えば、特許文献１に開示される情報処理装置では、同一システムにおいて、ノーマルモードとセーフモードそれぞれに対応するシステム起動を実現している。すなわち、セーフモードでは、単に、ノーマルモードに比べて起動するモジュールを減らしてシステムを起動しているに過ぎず、両方のモードで、起動するモジュールを共有している。
【００１１】
そのため、この構成では、元となるシステムがクラッシュしてしまった場合（共有しているモジュールに不具合が生じた場合）に、セーフモードで動作することができず（モジュールを実行することができず）、その結果、システム復旧が行えないという問題点がある。
【００１２】
また、例えば、特許文献２に開示される情報処理装置では、削除対象のモジュールが動作中であることも考えられることから、新たな不具合を発生させることなく安全に削除を行うことができないという問題点がある。
【００１３】
このように、従来の情報処理装置では、不具合を安定した環境で復旧することができない。
【００１４】
本発明では、上記従来技術の問題点に鑑み提案されたものであり、その目的とするところは、発生した不具合を安定した環境で復旧することが可能な情報処理装置、情報処理方法、及び情報処理プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明の情報処理装置は、記憶手段を備えた情報処理装置であって、起動指定が通常起動の場合に情報処理機能を提供する第１のシステムと、起動指定がセーフモード起動の場合に情報処理機能を提供する第２のシステムとから構成する２重化された情報処理システムを有し、さらに、前記第１のシステムと前記第２のシステムのどちらか一方を起動するシステム起動手段と、前記システム起動手段により起動されたシステム内のソフトウェア部品から前記記憶手段に保持されるデータへのアクセスを、前記起動指定に応じて制御するアクセス制御手段と、を有することを特徴とする。
【００１６】
このような構成によって、本発明の情報処理装置は、異なる起動モードで、独立したシステムを起動することができ、さらに、システム内のモジュールによるデータアクセスにおいて、起動モードに応じてアクセス先を変換し、モジュールによるデータアクセスを制御することができる。
【００１７】
また、上記目的を達成するため、本発明の情報処理装置は、前記アクセス制御手段が、前記ソフトウェア部品のデータアクセス先である記憶手段を、前記起動指定に応じて切り換えることを特徴とする。
【００１８】
また、上記目的を達成するため、本発明の情報処理装置は、複数の記憶手段を備え、前記アクセス制御手段が、前記起動指定に基づき、前記複数の記憶手段の中から前記ソフトウェア部品のデータアクセス先である記憶手段を特定することを特徴とする。
【００１９】
また、上記目的を達成するため、本発明の情報処理装置は、前記第１のシステム及び／又は前記第２のシステムを構成するソフトウェア部品が、前記アクセス制御手段を介して、前記記憶手段に保持されるデータを読み込む及び／又は前記記憶手段にデータを書き込むことを特徴とする。
【００２０】
また、上記目的を達成するため、本発明の情報処理装置は、前記アクセス制御手段が、前記ソフトウェア部品が前記記憶手段に保持されるデータを読み込むときに、前記記憶手段にデータが存在しない場合、前記ソフトウェア部品に、前記データのデフォルト値を返すことを特徴とする。
【００２１】
また、上記目的を達成するため、本発明の情報処理装置は、前記第１のシステム又は前記第２のシステムのどちらか一方でシステム設定が変更された場合に、前記アクセス制御手段を介して、他方のシステムへ設定変更を反映することを特徴とする。
【００２２】
また、上記目的を達成するため、本発明の情報処理装置は、前記アクセス制御手段を介して、前記第１のシステムにより収集されるログ情報に、前記第２のシステムにより収集されるログ情報をマージすることを特徴とする。
【００２３】
また、上記目的を達成するため、本発明の情報処理装置は、前記アクセス制御手段を介して、前記第１のシステム又は前記第２のシステムのどちらか一方が、他方のシステムのソフトウェア部品を更新することを特徴とする。
【００２４】
また、上記目的を達成するため、本発明の情報処理装置は、前記アクセス制御手段を介して、システムを構成する複数のソフトウェア部品を一括更新する場合に、前記ソフトウェア部品の依存関係に基づき、予め決定しておいた更新順序に従って、前記ソフトウェア部品を更新することを特徴とする。
【００２５】
また、上記目的を達成するため、本発明の情報処理装置は、前記アクセス制御手段を介して、前記第１のシステムで発生した不具合を、前記第２のシステムが修復することを特徴とする。
【００２６】
また、上記目的を達成するため、本発明の情報処理装置は、前記記憶手段に保持されるデータを消去する前に、消去可能なデータか否かを判定し、前記データが消去不可能なデータであった場合に、前記アクセス制御手段を介して、前記データを他の記憶手段に待避することを特徴とする。
【００２７】
また、上記目的を達成するため、本発明の情報処理装置は、前記アクセス制御手段を介して、前記他の記憶手段に待避しておいたデータを、消去後の記憶手段に書き戻すことを特徴とする。
【００２８】
また、上記目的を達成するため、本発明の情報処理装置は、２つの記憶手段がミラーリング状態となっているときに暗号化を行う場合、前記アクセス制御手段を介して、前記２つの記憶手段に対する暗号化の実行順序を制御することを特徴とする。
【００２９】
また、上記目的を達成するため、本発明の情報処理装置は、前記第１のシステムより前記第２のシステムに、起動時に記憶手段から確保するシステム動作用のメモリ領域を多く割り当てることを特徴とする。
【００３０】
また、上記目的を達成するため、本発明の情報処理装置は、前記第１のシステムを構成するソフトウェア部品の部品数より、前記第２のシステムの部品数の方が少ないことを特徴とする。
【００３１】
これによって、本発明の情報処理装置は、発生した不具合を安定した環境で復旧することができる。
【００３２】
上記目的を達成するため、本発明の情報処理方法は、起動指定が通常起動の場合に情報処理機能を提供する第１のシステムと、起動指定がセーフモード起動の場合に情報処理機能を提供する第２のシステムとから構成する２重化された情報処理システムを有する、記憶手段を備えた情報処理装置における情報処理方法であって、前記第１のシステムと前記第２のシステムのどちらか一方を起動するシステム起動手順と、前記システム起動手順により起動されたシステム内のソフトウェア部品から前記記憶手段に保持されるデータへのアクセスを、前記起動指定に応じて制御するアクセス制御手順と、を有することを特徴とする。
【００３３】
このような手順によって、本発明の情報処理方法は、異なる起動モードで、独立したシステムを起動し、さらに、システム内のモジュールによるデータアクセスにおいて、起動モードに応じてアクセス先を変換し、モジュールによるデータアクセスを制御可能なように、コンピュータを動作させることができる。
【００３４】
これによって、本発明の方法は、発生した不具合を安定した環境で復旧することが可能な情報処理動作を実現できる。
【００３５】
上記目的を達成するため、本発明の情報処理プログラムは、起動指定が通常起動の場合に情報処理機能を提供する第１のシステムと、起動指定がセーフモード起動の場合に情報処理機能を提供する第２のシステムとから構成する２重化された情報処理システムを有する、記憶手段を備えた情報処理装置における情報処理プログラムであって、コンピュータを、前記第１のシステムと前記第２のシステムのどちらか一方を起動するシステム起動手段と、前記システム起動手段により起動されたシステム内のソフトウェア部品から前記記憶手段に保持されるデータへのアクセスを、前記起動指定に応じて制御するアクセス制御手段として機能させる。
【発明の効果】
【００３６】
本発明によれば、当該情報処理装置に、２重化したシステムを搭載し、起動モードに応じて異なるシステムを起動する構成とし、かつ、システム内のモジュールによるデータアクセスにおいて、起動モードに応じてアクセス先を変換し、モジュールからのデータアクセスを制御する機能を有するようにしたことで、発生した不具合を安定した環境で復旧することが可能なシステム環境を提供することができる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の好適な実施の形態（以下、「実施形態」という。）について、図面を用いて詳細に説明する。
【００３８】
［第１の実施形態］
＜ハードウェア構成＞
では、本実施形態に係る情報処理装置のハードウェア構成について説明する。図１は、本発明の第１の実施形態に係る情報処理装置１００のハードウェア構成例を示す図である。
【００３９】
本実施形態に係る情報処理装置１００は、入力装置１０１と、出力装置１０２と、ドライブ装置１０３と、ＲＡＭ（Random Access Memory）１０４と、ＮＶＲＡＭ（Non Volatile RAM）１０５と、ＦｌａｓｈＲＯＭ（Read Only Memory）１０６と、ＣＰＵ（Central Processing Unit）１０７と、インタフェース装置１０８と、ＨＤＤ（Hard Disk Drive）１０９とから構成され、それぞれバスで相互に接続されている。
【００４０】
入力装置１０１は、キーボード及びマウスなどで構成され、情報処理装置１００に各操作信号を入力するのに用いられる。出力装置１０２は、ディスプレイなどで構成され、情報処理装置１００による処理結果などを表示する。
【００４１】
インタフェース装置１０８は、情報処理装置１００をネットワークなどのデータ伝送路（非図示）に接続するインタフェースである。情報処理装置１００は、インタフェース装置１０８を介して外部機器とのデータ通信を行う。
【００４２】
ＨＤＤ１０９は、情報処理システムにおいて各種機能（例えば「文書・画像編集やデータ通信」など）を提供するアプリケーションなどのプログラムやデータを格納している記憶装置である。また、ＨＤＤ１０９は、格納しているプログラムやデータを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００４３】
なお、上記プログラムやデータは、例えばＣＤ（Compact Disk）などの記録媒体１０３ａによって情報処理装置１００に提供されるか、ネットワークなどのデータ伝送路を通じてダウンロードされる。その中で、記録媒体１０３ａから提供される場合は、記録媒体１０３ａを読み取り可能なドライブ装置１０３を介してＨＤＤ１０９にインストールされる。また、
ＮＶＲＡＭ１０５とＦｌａｓｈＲＯＭ１０６は、書き換え可能で、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。これらの記憶装置には、情報処理装置１００が起動されるときに実行されるＢＩＯＳ（Basic Input/Output System）や、情報処理装置１００全体を制御し情報処理システムを提供するなどのプログラム、さらに情報処理装置１００のシステム設定やネットワーク関連の設定などのデータを格納している。なお、ＦｌａｓｈＲＯＭ１０６には、ＮＯＲ型１０６ａとＮＡＮＤ型１０６ｂがある。
【００４４】
ＲＡＭ１０４は、上記各種記憶装置から読み出されたプログラムやデータを一時保持する。ＣＰＵ１０７は、ＲＡＭ１０４が一時保持しているプログラムを実行する。
【００４５】
情報処理装置１００は、このようなハードウェア構成により、例えば、ＨＤＤ１０９からＲＡＭ１０４上に読み出されたアプリケーションのプログラムをＣＰＵ１０７により実行し、文書や画像データの閲覧・編集を行ったり、インタフェース装置１０８を介して外部機器とのデータ通信を行ったりすることができる。
【００４６】
＜ソフトウェア構成＞
図２は、本発明の第１の実施形態に係る情報処理装置１００のソフトウェア構成例を示す図である。図２に示すように、情報処理装置１００では、通常動作時に起動されるノーマルモードシステム１１ａと、システム復旧時などに起動されるセーフモードシステム１１ｂとが、別途独立したシステム１１として構成される。すなわち、情報処理システムが２重化された構造となっている。
【００４７】
ノーマルモードシステム１１ａは、アプリケーション１１４が動作するフレームワーク１１１ａ、利用者と情報処理システムとのインタフェースであるＵＩ１１２ａ、情報処理システムの動作ログを出力するログ出力１１３ａ、及び情報処理システムが利用者に提供する各種機能を実現するアプリケーション１１４などに関するモジュール群を有している。
【００４８】
一方、セーフモードシステム１１ｂは、ノーマルモードシステム１１ａと同様に、フレームワーク１１１ｂ、ＵＩ１１２ｂ、及びログ出力１１３ｂに関するモジュール群を有しているが、アプリケーション１１４に関するモジュール群は有しておらず、セーフモード機能を実現する上で、最小限のモジュール群により構成されている。
【００４９】
上記各システム１１は、ブートローダ（ブートストラップ）といわれる起動プログラム２１により起動制御される。起動プログラム２１は、例えば、ＮＶＲＡＭ１０５に保持される起動フラグの設定に基づき、システム１１の起動を制御する。
【００５０】
起動フラグには、「ノーマルモード」又は「セーフモード」のどちらか一方の起動モードが設定可能である。また、起動フラグは、例えば１ビットで構成され、'０'と'１'に、それぞれの起動モードが予め対応付けられている。
【００５１】
これにより、起動プログラム２１は、起動フラグの設定を基に、ノーマルモードシステム１１ａと、セーフモードシステム１１ｂとの起動を制御することができる。
【００５２】
さらに、情報処理装置１００は、各システム１１内のモジュールから、ＲＡＭ１０４、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂ、又はＨＤＤ１０９などの記憶装置（以下、「記憶デバイス」と言う。）に保持されるデータをアクセス（データの読み込み／書き込み）する際に、アクセスデータ、アクセスモジュール、及び起動モードから、アクセス先（データの格納先）を特定し、データアクセスを制御するアクセス制御モジュール３１を有している。つまり、各システム１１内のモジュールは、アクセス制御モジュール３１を介してデータアクセスを行う。
【００５３】
（記憶領域）
図３は、本発明の第１の実施形態に係るＲＯＭ１０６における記憶領域の構成例を示す図である。図３に示すＲＯＭは、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂである。図３に示すように、ＲＯＭ１０６ｂ内の記憶領域は、システム領域Ｓとデータ領域Ｄとに大別される。そのうち、システム領域Ｓは、ノーマルモードシステム１１ａが割り当てられた領域Ｓａ（以下、「ノーマルモードシステム領域Ｓａ」と言う。）と、セーフモードシステム１１ｂが割り当てられた領域Ｓｂ（以下、「セーフモードシステム領域Ｓｂ」と言う。）の２つの領域に分けられている。また、データ領域Ｄは、上記各システム１１が共有して使用する共有データ領域Ｄ１である。
【００５４】
＜＜ソフトウェアの配置：その１＞＞
では、上記ソフトウェア構成要素が、前述したどの記憶デバイスに配置されるように実装されるのかについて説明する。図４は、本発明の第１の実施形態に係るソフトウェアの配置例（その１）を示す図である。図４に示すように、各ソフトウェア構成要素は、各記憶デバイスの特性に合わせて配置される。
【００５５】
ＮＯＲ型ＦｌａｓｈＲＯＭ１０６ａは、ＲＡＭ１０４と同様にアドレス指定によるデータの読み込みが可能で、コードをＲＡＭ１０４にコピーすることなく直接実行すること（execute in place）ができる。またデータの書き込みは、一度ブロック単位で消去した後、書き込むという手順を踏む。ＮＯＲ型ＦｌａｓｈＲＯＭ１０６ａの特長は、データの信頼性に優れている点である。
【００５６】
一方、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂは、ＮＯＲ型ＦｌａｓｈＲＯＭ１０６ａと比べて、回路規模を小さくすることが可能であり、大容量化に向いている。また書き込み速度や消去速度も比較的高速であるが、データへのランダムアクセス性は劣る。
【００５７】
このように、ＮＯＲ型とＮＡＮＤ型とでは、特性が異なることから、本実施形態では、記憶容量を必要とせず、データの信頼性を重視する起動プログラム２１をＮＯＲ型ＦｌａｓｈＲＯＭ１０６ａに配置し、ＮＯＲ型より記憶容量が大きく、書き込み速度や消去速度の高速性を重視する各システム１１とアクセス制御モジュール３１とを、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂに配置する構成としている。
【００５８】
また、図中のノーマルモードシステム１１ａでは、アプリケーション１１４のモジュール群を含む構成となっているが、情報処理システムの基本機能を提供するアプリケーション１１４のみとし、その他の拡張機能などを提供するアプリケーション１１４は、ＨＤＤ１０９に配置するようにしてもよい。
【００５９】
以上のようなソフトウェア構成と構成要素の配置により、本実施形態では、情報処理システムの２重化を実現し、一方のシステムで不具合が発生しても、他方のシステムで修復することができる。
【００６０】
さらに、セーフモードシステム１１ｂでは、セーフモード機能を実現する必要最低限の機能により構成（最小限の機能で構成）されることから、システム起動時に使用するデバイス（情報処理装置１００が備える各種装置）が制限され、ノーマルモードシステム１１ａが動作中には行えないような処理（例えば、「ＨＤＤ消去」や「ノーマルモードシステムのファームアップデート」など。）を行うことができる。
【００６１】
また、各システム１１では、アクセス制御モジュール３１を介して、システム１１内のモジュールからのデータアクセスを行う構成により、モジュールがアクセス先（データの格納先）を予め知っておく必要がないため、アクセス先の変更によるモジュール変更が発生しない。つまり、各システム１１において同一のモジュールを動作させることが可能であり、その結果、モジュールの開発コストの軽減や開発期間の短縮を図ることができる。
【００６２】
前述したアクセス制御モジュール３１は、各システム１１に対してデータアクセス可能であることから、以下に挙げるような機能を実現することができる。
【００６３】
《システム設定整合機能》
前述したアクセス制御モジュール３１は、各システム１１との間でシステム設定の整合をとる。図５は、本発明の第１の実施形態に係るシステム設定を整合させる動作例を示す図である。図５に示すように、アクセス制御モジュール３１は、一方のシステム１１内でシステム設定が変更された場合に、その変更された設定値を、他方のシステム１１内において、該当するシステム設定に反映する。アクセス制御モジュール３１は、ＲＡＭ１０４、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂ、又はＨＤＤ１０９などの記憶デバイスに保持される、他方のシステム１１がデータアクセスするシステム設定を、変更された設定値に書き換える。
【００６４】
例えば（Ａ）には、ノーマルモードシステム１１ａにおいて、システム設定が変更された場合に、アクセス制御モジュール３１が、その変更された設定値を、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂに保持される、セーフモードシステム１１ｂがデータアクセスするシステム設定に反映する。また、（Ｂ）には、セーフモードシステム１１ｂにおいて、システム設定が変更された場合に、アクセス制御モジュール３１が、その変更された設定値を、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂに保持される、ノーマルモードシステム１１ａがデータアクセスするシステム設定に反映する。
【００６５】
なお、前述したアクセス制御モジュール３１によるシステム設定整合機能は、ノーマルモードシステム１１ａとセーフモードシステム１１ｂとで共通するシステム設定を対象にして行われる。
【００６６】
なお、上記システム設定整合機能では、無条件で（変更されたシステム設定が正常値か否かを判断することなく）、一方のシステム設定の変更を他方のシステム１１へ反映させると、障害が発生することも考えられる。
【００６７】
そのため、本実施形態では、システム設定のデータ配置を工夫している。
【００６８】
本実施形態では、各システム１１で取り扱うシステム設定のデータの種類を、２つのシステム１１から共有して使用される第１のデータ種と、各システム１１で別々に使用される第２のデータ種の２つに分けて配置する。
【００６９】
データの内容に問題が生じると、システム障害を発生する可能性のあるデータは、上記第２のデータ種において管理する構成とし、互いのシステム１１へ悪影響を及ぼさないようにする。一方、システム障害の原因とならないデータに関しては、上記第１のデータ種において管理し、システム１１間でのデータ共有を実現する。
【００７０】
以上のように、各システム１１において、システム設定の格納先（記憶デバイス）が異なる場合であっても、各システム１１で共通するシステム設定を最新の状態に維持できることから、各システム１１内のモジュールによる動作に矛盾が生じない。
【００７１】
《システムログマージ機能》
また、前述したアクセス制御モジュール３１は、各システム１１において出力されたシステムログを統合（マージ）する。図６は、本発明の第１の実施形態に係るシステムログをマージする動作例を示す図である。図６に示すように、アクセス制御モジュール３１は、セーフモードシステム１１ｂのシステムログを、ノーマルモードシステム１１ａのシステムログにマージする。
【００７２】
各システム１１では、それぞれのログ出力１１３により、システムログが出力される。アクセス制御モジュール３１は、このようにして出力された各システムログを、ノーマルモードシステム１１ａ側でマージする。
【００７３】
以上のように、各システム１１のシステムログを、１つのシステムログに統合することで、ログを一元管理することができる。
【００７４】
＜＜ソフトウェアの配置：その２＞＞
また、ソフトウェアの配置例は、図４に示した配置例以外に、図７に示すような配置例（その２）であってもよい。図７は、本発明の第１の実施形態に係るソフトウェアの配置例（その２）を示す図である。図４に示す配置例（その１）と、図７に示す配置例（その２）との違いは、各システム１１それぞれが有していたフレームワーク１１１と、ログ出力１１３とが、アクセス制御モジュール３１と同様に、ＮＲＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂの共有データ領域Ｄ１に配置されている点である。上記フレームワーク１１１とログ出力１１３は、システム１１への依存性が少ないモジュール群であることから、共有データ領域に配置することも可能である。
【００７５】
このような構成の場合には、配置例（その１）と同様の効果を奏するとともに、各システム１１から使用されるモジュール群を、一度に更新することができる。
【００７６】
（処理手順）
ここで、前述したソフトウェア構成による各システム１１の起動処理について説明する。図８は、本発明の第１の実施形態に係るシステムを起動する処理手順例を示すフローチャートである。
【００７７】
情報処理装置１００は、当該装置に電源が投入されると、起動プログラム２１が、ＮＯＲ型ＦｌａｓｈＲＯＭ１０６ａからＲＡＭ１０４に読み出され、ＣＰＵ１０７により実行される。
【００７８】
まず、起動プログラム２１は、ＮＶＲＡＭ１０５に保持される起動フラグを参照し、起動フラグの設定が「ノーマルモード」か「セーフモード」かを確認する（ステップＳ１０１）。
【００７９】
起動フラグが「セーフモード」の場合には（ステップＳ１０２：「セーフモード」）、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのセーフモードシステム領域Ｓｂに保持されるセーフモードシステム１１ｂのモジュール群を起動する（ステップＳ１０３）。
【００８０】
一方、起動フラグが「ノーマルモード」の場合には（ステップＳ１０２：「ノーマルモード」）、例えば、ＨＤＤ１０９に異常がないか、またノーマルモードシステム１１ａのモジュールに異常がないかなどの確認結果を基に、ノーマルモードが起動可能か否かを確認する（ステップＳ１０４）。
【００８１】
ノーマルモードが起動可能の場合には（ステップＳ１０５：ＹＥＳ）、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのノーマルモードシステム領域Ｓａに保持されるノーマルモードシステム１１ａのモジュール群を起動する（ステップＳ１０６）。
【００８２】
一方、ノーマルモードが起動不可能の場合には（ステップＳ１０５：ＮＯ）、ＮＶＲＡＭ１０５に保持される実行フラグを、「システム復旧」に設定し（ステップＳ１０７）、ステップＳ１０３の処理手順へ移行する。
【００８３】
以上のように、ソフトウェア構成として２重化された各システム１１の起動は、ＮＶＲＡＭ１０５に保持される起動フラグによって制御される。また、セーフモードシステム１１ｂは、ノーマルモードで起動不可能であった場合に、起動後のシステム１１の動作種別を設定可能な実行フラグにより指定された解決方法により、起動不可能な理由（不具合の原因）を修復する仕組みとなっている。
【００８４】
なお、起動・実行フラグをＮＶＲＡＭ１０５に保持する構成について説明を行ったが、両フラグの格納先がＮＶＲＡＭ１０５である必要はなく、起動プログラム２１からアクセス可能な記憶デバイスであればよい。以降の説明では、その一例としてＮＶＲＡＭ１０５に統一する。
【００８５】
また、何らかの原因でノーマルモードが起動不可能な場合に、「システム復旧」を行う設定とする処理について説明を行った。ここで言う「システム復旧」とは、リカバリーＣＤ（Compact Disc）などを用いて強制的にシステム１１内の損傷箇所を修復し（再インストールし）、起動不可能な理由を解決する方法の１つである。他の解決方法としては、軽微なエラーを自動修復する「システム自動修復」や、外部記憶デバイス（例えば「外付けＨＤＤ」など）や外部機器（例えば「サーバ」など）に格納しておいたバックアップデータをロールバックし修正する「リストア」と言った方法もあり、一般的に、起動不可能な理由によって、これらの解決方法は取捨選択される。
【００８６】
よって、前述した処理手順では、「システム復旧」を実行フラグとして設定し、強制的にシステム復旧を行うものであったが、起動不可能か否かを確認する際に不具合の原因を解析し、その解析結果から上記解決方法のうち最適な方法を特定し、「システム復旧」、「システム自動修復」、又は「リストア」のいずれか解決方法を指定する実行フラグに設定する処理手順としてもよい。さらには、選択可能なＵＩを出力装置１０２であるディスプレイの表示画面に表示し、利用者に上記解決方法を選択決定させる構成としてもよい。
【００８７】
前述した起動処理後では、起動モードにより、以下に挙げる動作環境の違いがある。
【００８８】
（異なる起動モードによる違い）
図９は、本発明の第１の実施形態に係る異なる起動モードによる動作時のメモリマップ例を示す図である。図９に示すメモリマップ例では、起動モードにより異なるマッピングの様子が想定しやすいように、情報処理装置１００として画像処理装置の一例が示されている。図９に示すように、画像処理装置において、起動モードがノーマルモード設定の場合には、画像処理装置の基本機能により高い頻度で処理される画像データを展開するための割り当て領域Ｍ１（以下、「画像領域Ｍ１」と言う。）が、モジュールを実行するための割り当て領域Ｍ２（以下、「プログラム領域Ｍ２」と言う。）より、ＲＡＭ１０４上で多めにマッピングされている（割り当てられている）。
【００８９】
一方、起動モードがセーフモード設定の場合には、セーフモードシステム１１ｂがセーフモード機能を実現する必要最小限の機能により構成されることから、ノーマルモードシステム１１ｂの起動時と異なり、プログラム領域Ｍ２が、画像領域Ｍ１より、ＲＡＭ１０４上で、多めにマッピングされている。
【００９０】
以上のように、起動モードに応じて、システム１１が有する機能のうち、実行頻度の高い（重要な機能を実現する）モジュールが使用するワーク領域を、その他のモジュールに比べて、メモリ空間を多めにマッピングすることにより（起動モードに応じて、メモリアップを変化させることで）、各システム１１が動作する際に最適なメモリ環境を提供することができる。その結果、例えば、起動モードがセーフモード設定時では、ノーマルモード設定時にアプリケーション１１４などのワーク領域としてマッピングしていた領域を、一部、ＲＡＭＤｉｓｋなどのデータ保存領域として使用することも可能となる。セーフモードシステム１１ｂでは、ＨＤＤ１０９などの大容量の記憶デバイスを使用することがないため、上記ＲＡＭＤｉｓｋなどのようなメモリ空間が割り当てられれば、処理の効率化や高速化を図ることができる。
【００９１】
また、図１０は、本発明の第１の実施形態に係る異なる起動モードによる動作の違いを模式的に示す図であり、（Ａ）にはノーマルモードシステム１１ａ起動時の例、（Ｂ）にはセーフモードシステム１１ｂ起動時の例が示されている。（Ａ）に示すように、起動モードがノーマルモード設定の場合には、起動されたノーマルモードシステム１１ａから、アプリケーション１１４が実行される。このとき、実行されるアプリケーション１１４により使用されるデバイスＤＥＶがあれば、ノーマルモードシステム１１ａが、デバイスＤＥＶの制御も行う。
【００９２】
一方、（Ｂ）に示すように、起動モードがセーフモード設定の場合には、起動されたセーフモードシステム１１ｂから実行されるアプリケーション１１４がない。
【００９３】
以上のように、起動モードに応じて、システム起動時に実行するモジュールを制限（使用するデバイスＤＥＶを制限）することで、最適な動作環境を実現する。
【００９４】
すなわち、起動モードがセーフモード設定時では、アプリケーション１１４などを実行せず、セーフモード機能を実現する最小限の機能（例えば「ノーマルモード修復・更新に必要な機能のみ」など）のみを実行する構成としている。これにより、最適な動作環境を提供することができるとともに、システム起動時の起動速度も速くなる。また、実行機能が限定されていることから、情報処理装置１００が外部からの処理要求（例えば「ネットワークを介した外部機器からの処理要求」など）を受け付けることもないため、安定した性能（処理能力）を確保することができる。
【００９５】
《データアクセス制御機能》
ここからは、前述したアクセス制御モジュール３１が、「どのようにアクセス先を特定し、データアクセスを行っているのか」について説明する。
【００９６】
アクセス制御モジュール３１は、アクセスデータ、アクセスモジュール、及び起動モードを基にアクセス先（データの格納先）を特定するアクセス制御情報４１を有している。
【００９７】
（アクセス制御情報）
図１１は、本発明の第１の実施形態に係るアクセス制御情報４１のデータ例を示す図である。図１１に示すように、アクセス制御情報４１は、アクセスデータを識別するデータ識別情報（図中では「データ名」）と、アクセスモジュールを識別するモジュール識別情報（図中では「モジュール名」）とが、起動モードごとのアクセス先を示すアクセス先識別情報（図中の「ＨＤＤ」や「ＮＡＮＤ型ＦｌａｓｈＲＯＭ」）に対応付けられた構成となっている。
【００９８】
また、上記アクセス制御情報４１は、図１２に示すように、情報処理装置１００が有するソフトウェア環境に変化を生じると、その変化に応じて情報が更新される。
【００９９】
図１２は、本発明の第１の実施形態に係るアクセス制御情報４１のデータ遷移例を示す図である。上記ソフトウェア環境の変化とは、例えば、プラグインの追加・変更・削除などであり、例えば、図１２に示すように、プラグインとしてモジュール名"Ｍｏｄｕｌｅ−２"と言うモジュールが追加されると、アクセス制御情報４１には、"Ｍｏｄｕｌｅ−２"に関する各情報項目（データ識別情報やアクセス先識別情報）が追加設定される。また、プラグインとしてモジュール名"Ｍｏｄｕｌｅ−１"と言うモジュールが削除されると、アクセス制御情報４１から、"Ｍｏｄｕｌｅ−１"に関する各情報項目が削除される。さらに、図示していないが、アクセス制御情報４１に既に設定されているモジュールが、プラグインにより更新され、アクセスデータが変更となった場合には、現在のデータ識別情報の設定を削除し、変更後のデータ識別情報を設定することで更新する。
【０１００】
アクセス制御モジュール３１は、上記データ更新により、最新のソフトウェア環境に対応したアクセス制御情報４１を参照し、起動モードに応じたアクセス先を特定する。すなわち、アクセス制御モジュール３１は、モジュールからデータアクセスが要求されると、要求されたアクセスデータと、要求元のモジュールと、現在動作中のシステム１１を起動した際の起動モードとに基づいて、アクセス制御情報４１を参照する。続いて、アクセス先を特定した後、要求がデータリード（データの読み込み）であった場合には、アクセス制御モジュール３１が、特定したアクセス先（読み込み先）の記憶デバイスへアクセスし、データを読み取り（取得）、読み取ったデータを要求元のモジュールへ渡す。一方、要求がデータライト（データの書き込み）であった場合には、アクセス制御モジュール３１が、要求元のモジュールから受け取ったデータを、特定したアクセス先（書き込み先）の記憶デバイスへ書き込む。
【０１０１】
以下の処理手順の中で、前述したアクセス制御モジュール３１によりデータリード／ライトの詳細な動作について説明する。
【０１０２】
（処理手順）
図１３は、本発明の第１の実施形態に係るデータリード／ライトを行う処理手順例を示すフローチャートであり、（Ａ）にデータリード、（Ｂ）にデータライト、それぞれの処理手順例が示されている。
【０１０３】
また、図１３に示す処理は、システム１１内のモジュールがデータにアクセスする際に行われる処理である。前述したように、モジュールは、アクセス制御モジュール３１を介してデータへアクセスする。モジュールは、データを取得したい場合に、アクセス制御モジュール３１に対してデータリードを要求し、データを保存したい場合に、データライトを要求する。
【０１０４】
（Ａ）データリード
アクセス制御モジュール３１は、システム１１内のモジュールからデータリードの要求を受け付けると、共有データ領域Ｄ１に保持されるアクセス制御情報４１を参照し（ステップＳ２０１）、起動モードに応じて、モジュールがアクセスするデータの読み込み先（例えば格納先である「ＨＤＤ」など）を特定する（ステップＳ２０２）。
【０１０５】
また、ステップＳ２０２の処理において、アクセス制御情報４１を参照したときに、モジュールがアクセスするデータの読み込み先を特定することができなかった場合には、ＲＯＭ１０６に保持しているデフォルトデータを読み込み（取得）、読み込んだデータをモジュールへ渡す。
【０１０６】
続いて、アクセス制御モジュール３１は、特定した読み込み先に、データがあるか否か（データの有無）を確認する（ステップＳ２０３）。
【０１０７】
その結果、データがある場合には（ステップＳ２０４：ＹＥＳ）、データを読み込み（取得）、読み込んだデータをモジュールへ渡す（ステップＳ２０５）
一方、データがない場合には（ステップＳ２０４：ＮＯ）、ＲＯＭ１０６に保持しているデフォルトデータを読み込み（取得）、読み込んだデータをモジュールへ渡す（ステップＳ２０６）。
【０１０８】
以上のように、アクセス制御モジュール３１は、モジュールから要求されたデータが読み込み先に存在しなかった場合には、リードエラーとするのではなく、デフォルト値を返す。
【０１０９】
ノーマルモードシステム１１ａでは、機能提供する各種アプリケーションなど、プラグインの追加、変更（モジュールのバージョンアップ）、削除などにより、ソフトウェア環境が変化する可能性が高い。
【０１１０】
例えば、ノーマルモードシステム１１ａにおいて、プラグインの変更により、対象モジュールのバージョンアップにともない、必要なくなったデータが削除される。しかし、セーフモードシステム１１ｂでは、旧バージョンのモジュールが動作することが考えられる。
【０１１１】
ここで、ノーマルモードとセーフモードの両システム１１において、同じ格納先のデータを参照するモジュールがあった場合に、ノーマルモードによりプラグインの変更によりデータが削除されると、セーフモードでは、旧モジュールが削除されたデータを参照し、不具合が生じてしまう。そのため、アクセス制御モジュール３１では、特定した格納先にデータが存在しない場合に、上記のようにデフォルト値を返す仕組みとなっている。
【０１１２】
（Ｂ）データライト
アクセス制御モジュール３１は、システム１１内のモジュールからデータライトの要求を受け付けると、共有データ領域Ｄ１に保持されるアクセス制御情報４１を参照し（ステップＳ３０１）、起動モードに応じて、モジュールがアクセスするデータの書き込み先（例えば格納先である「ＨＤＤ」など）を特定する（ステップＳ３０２）。
【０１１３】
アクセス制御モジュール３１は、特定した書き込み先に、モジュールから受け取ったデータを書き込む（ステップＳ３０３）。
【０１１４】
前述したアクセス制御モジュール３１によるデータリード／ライトの処理を踏まえて、以下に、実行フラグに「システム復旧」又は「リストア」が設定されている場合のセーフモードシステム１１ｂの処理手順について説明する。
【０１１５】
（システム復旧設定時）
図１４は、本発明の第１の実施形態に係るシステムを復旧する処理手順例を示すフローチャートである。
【０１１６】
セーフモードシステム１１ｂは、起動プログラム２１により起動されると（ステップＳ４０１）、まず、アクセス制御モジュール３１を介して、ＮＶＲＡＭ１０５に保持される実行フラグの設定を確認する（ステップＳ４０２）。
【０１１７】
セーフモードシステム１１ｂは、実行フラグに「システム復旧」が設定されていることを受けて、アクセス制御モジュール３１を介してシステム復旧処理を行い（ステップＳ４０３）、正常に復旧処理が完了すると、アクセス制御モジュール３１を介して、起動・実行の各フラグの設定をノーマルモード時の設定（起動フラグ：「ノーマルモード」、実行フラグ：「設定なし（通常動作時の設定）」）に戻し（ステップＳ４０４）、起動プログラム２１へリブート（再起動）を要求する（ステップＳ４０５）。
【０１１８】
起動プログラム２１は、再設定後の起動フラグを確認し、起動フラグの設定が「ノーマルモード」か「セーフモード」かを確認し（ステップＳ４０６）、起動フラグのノーマルモード設定に従って、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのノーマルモードシステム領域Ｓａに保持される復旧後のノーマルモードシステム１１ａのモジュール群を起動する（ステップＳ４０７）。
【０１１９】
（リストア設定時）
図１５は、本発明の第１の実施形態に係るシステムをリストアする処理手順例を示すフローチャートである。また、図１５では、ノーマルモードシステム１１ａが起動不可能な理由（不具合の原因）の解決方法を利用者が選択決定する構成において、「リストア」が選択された場合の処理手順例が示されている。前述したように、利用者は、所望するタイミングでＵＩを介して選択可能である。
【０１２０】
ノーマルモードシステム１１ａは、ＵＩから「リストア」の実行要求を受け付けると（ステップＳ５０１）、アクセス制御モジュール３１を介して、ＮＶＲＡＭ１０５に保持される起動・実行の各フラグを「リストア」時の設定（起動フラグ：「セーフモード」、実行フラグ：「リストア」）に変更し（ステップＳ５０２）、起動プログラム２１にリブートを要求する（ステップＳ５０３）。
【０１２１】
起動プログラム２１は、再設定後の起動フラグを確認し、起動フラグの設定が「ノーマルモード」か「セーフモード」かを確認し（ステップＳ５０４）、起動フラグのセーフモード設定に従って、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのセーフモードシステム領域Ｓｂに保持されるセーフモードシステム１１ｂのモジュール群を起動する（ステップＳ５０５）。
【０１２２】
セーフモードシステム１１ｂは、アクセス制御モジュール３１を介して、ＮＶＲＡＭ１０５に保持される実行フラグの設定を確認する（ステップＳ５０６）。
【０１２３】
セーフモードシステム１１ｂは、実行フラグに「リストア」が設定されていることを受けて、アクセス制御モジュール３１を介してリストア処理を行い（ステップＳ５０７）、正常にリストア処理が完了すると、アクセス制御モジュール３１を介して、起動・実行の各フラグの設定をノーマルモード時の設定（起動フラグ：「ノーマルモード」、実行フラグ：「設定なし（通常動作時の設定）」）に戻し（ステップＳ５０８）、起動プログラム２１へリブートを要求する（ステップＳ５０９）。
【０１２４】
起動プログラム２１は、再設定後の起動フラグを確認し、起動フラグの設定が「ノーマルモード」か「セーフモード」かを確認し（ステップＳ５１０）、起動フラグのノーマルモード設定に従って、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのノーマルモードシステム領域Ｓａに保持されるリストア後のノーマルモードシステム１１ａのモジュール群を起動する（ステップＳ５１１）。
【０１２５】
以上のように、アクセス制御モジュール３１を介して、セーフモードシステム１１ｂから動作していないノーマルモードシステム１１ａの修復を行うことができる。すなわち、実行されていないモジュールやデータに対して削除・上書きを行えることから、安全な修復処理が可能となる。
【０１２６】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る情報処理装置１００は、異なる起動モード（ノーマルモード／セーフモード）で、独立したシステム１１ａ又は１１ｂを起動し、さらに、システム１１内のモジュールによるデータアクセスにおいて、起動モードに応じてアクセス先を変換し、モジュールによるデータアクセスを制御（起動モードに応じたデータの読み込み先／書き込み先の切り換えを制御）することができる。
【０１２７】
これによって、情報処理装置１００では、一方のシステムで不具合が発生しても、他方のシステムで修復することができる。
【０１２８】
また、各システム１１では、アクセス制御モジュール３１を介して、システム１１内のモジュールからのデータアクセスを行う構成により、モジュールがアクセス先を予め知っておく必要がないため、アクセス先の変更によるモジュール変更が発生しない。つまり、各システム１１において同一のモジュールを動作させることが可能であり、その結果、モジュールの開発コストの軽減や開発期間の短縮を図ることができる。
【０１２９】
よって、情報処理装置１００は、発生した不具合を安定した環境で復旧することができる。
【０１３０】
［第２の実施形態］
本実施形態では、第１の実施形態において説明を行ったアクセス制御モジュール３１を用いて、各システム１１との間で、互いのファームウェアアップデートの処理を行う点について説明する。なお、以降に示す本実施形態では、第１の実施形態と同一の技術的事項について、第１の実施形態において説明に用いた同一図面及び参照符号をもって、ここでの説明を省略する。
【０１３１】
＜ソフトウェア構成＞
図１６は、本発明の第２の実施形態に係るソフトウェアの配置例を示す図である。図１６に示すように、各システム１１が、互いのファームウェアをアップデート（更新）するファームウェアアップデートモジュール１１５ａ及び１１５ｂを有しており、これらのモジュール１１５は、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂの各システム領域Ｓａ及びＳｂに配置される。
【０１３２】
《ファームウェアアップデート機能》
図１７は、本発明の第２の実施形態に係るファームウェアをアップデートする動作例を示す図である。図１７に示すように、アクセス制御モジュール３１は、一方のシステム１１から、他方のシステム１１に対して、ファームウェアアップデートを行う。アクセス制御モジュール３１は、ＲＡＭ１０４、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂ、又はＨＤＤ１０９などの記憶デバイスに保持される、他方のシステム１１のファームウェアを、予め用意しておいたアップデート用データ（アップデートの対象モジュールやデータ群）を基に書き換える。
【０１３３】
例えば（Ａ）には、セーフモードシステム１１ｂが有するファームウェアアップデートモジュール１１５ｂが、アクセス制御モジュール３１を介して、アップデート用データを基に、ＨＤＤ１０９に保持されるノーマルモードシステム１１ａのモジュール群を更新する。また、（Ｂ）には、ノーマルモードシステム１１ａが有するファームウェアアップデートモジュール１１５ａが、アクセス制御モジュール３１を介して、アップデート用データを基に、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂに保持されるセーフモードシステム１１ａのモジュール群を更新する。
【０１３４】
なお、前述したファームウェアアップデート機能は、例えば、ノーマルモードシステム１１ａのファームウェアをアップデートする場合、ノーマルモードシステム１１ａ自身が保持するファームアップデート用データを、一時的にＨＤＤ１０９に格納し、起動・実行フラグを「セーフモードによるアップデート」に設定変更した後にリスタートし、セーフモードシステム１１ｂが起動してから、アクセス制御モジュール３１を介して行われる機能である。よって、ファームアップデートを行う場合には、まず、アップデートの対象となるシステム１１により、ファームアップデート用データが所定の記憶デバイスに一時格納される動作から開始する。
【０１３５】
以上のように、情報処理システムを２重化したことにより、一方のシステム１１を動作させ、他方のシステム１１を動作させないという状態を実現可能であることから、動作中のシステム１１から、動作していないシステム１１のファームウェアを安全に更新することができる。
【０１３６】
（アップデート時に使用するアクセス制御情報）
図１８は、本発明の第２の実施形態に係るアクセス制御情報４１のデータ例を示す図である。アクセス制御モジュール３１は、図１８に示すようなアクセス制御情報４１に基づいて、ファームアップデート用データの読み込み先と書き込み先とを特定し、アップデート時のデータアクセスを行う。上記アクセス制御モジュール３１のアクセス先の特定については、図１２を用いて前述した動作と同じであることから、ここでの説明を省略する。
【０１３７】
以上のように、各システム１１内のファームウェアアップデートモジュール１１５は、アクセス制御モジュール３１を介してアップデートを行うことから、ファームアップデート用データであるアップデート対象のモジュールやデータが、どこに格納されているかを知る必要がない。そのため、アップデート用データやファームウェアの格納先が変更になっても、ファームウェアアップデートモジュール１１５を変更することなく対応することができる。
【０１３８】
（処理手順）
ここからは、セーフモードシステム１１ｂ（ファームウェアアップデートモジュール１１５ｂ）により、ノーマルモードシステム１１ａのファームウェアをアップデートする処理手順について説明する。その中で、以下の処理手順では、各システム１１間におけるファームウェアアップデートの基本処理手順と、ファームウェアの特性に応じた一括アップデートの処理手順について説明する。
【０１３９】
図１９は、本発明の第２の実施形態に係るファームウェアをアップデートする処理手順例を示すフローチャートである。
【０１４０】
起動プログラム２１は、通常（ノーマルモード）の起動要求を受け付けると（ステップＳ６０１）、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのノーマルモードシステム領域Ｓａに保持されるノーマルモードシステム１１ａのモジュール群を起動する（ステップＳ６０２）。
【０１４１】
起動されたノーマルモードシステム１１ａは、アクセス制御モジュール３１に、アップデート用データの保存を要求し（ステップＳ６０３）、アクセス制御モジュール３１が、保存要求として受けとったアップデート用データを、アクセス制御情報４１を基に特定したＨＤＤ１０９へ保存（データライト処理）する（ステップＳ６０４）。
【０１４２】
続いて、ノーマルモードシステム１１ａは、アクセス制御モジュール３１に、セーフモードによるファームアップデート時の起動・実行フラグ設定を要求し（ステップＳ６０５）、アクセス制御モジュール３１が、設定要求に従って、アクセス制御情報４１を基に特定したＮＶＲＡＭ１０５に保持される起動・実行フラグの設定を変更（起動フラグ：「セーフモード」、実行フラグ：「アップデート」）する（ステップＳ６０６）。
【０１４３】
その後、ノーマルモードシステム１１ａは、起動プログラム２１へリブートを要求し（ステップＳ６０７）、起動プログラム２１が、変更後の起動フラグを確認し（ステップＳ６０８）、起動フラグのセーフモード設定に従って、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのセーフモードシステム領域Ｓｂに保持されるセーフモードシステム１１ｂのモジュール群を起動する（ステップＳ６０９）。
【０１４４】
起動されたセーフモードシステム１１ｂは、変更後の実行フラグのアップデート設定に従って、ファームウェアアップデートモジュール１１５ｂにより、アクセス制御モジュール３１に、アップデート用データの取得を要求し（ステップＳ６１０）、アクセス制御モジュール３１が、取得要求に従って、アクセス制御情報４１を基に特定したＨＤＤ１０９に保持されるアップデート用データを取得（データリード処理）する（ステップＳ６１１）。
【０１４５】
続いて、ファームウェアアップデートモジュール１１５ｂは、アクセス制御モジュール３１に、アップデートを要求し（ステップＳ６１２）、アクセス制御モジュール３１が、取得したアップデート用データを基に、ノーマルモードシステム１１ａに対してアップデート処理を行う（ステップＳ６１３）。すなわち、アップデート用データを基に、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのノーマルモードシステム領域Ｓａの書き換えを行う。
【０１４６】
アップデート完了後、ファームウェアアップデートモジュール１１５ｂは、アクセス制御モジュール３１に、ノーマルモード時の起動・実行フラグ設定を要求し（ステップＳ６１４）、アクセス制御モジュール３１が、設定要求に従って、ＮＶＲＡＭ１０５に保持される起動・実行フラグの設定を変更（起動フラグ：「ノーマルモード」、実行フラグ：「設定なし（通常動作時の設定）」）する（ステップＳ６１５）。
【０１４７】
セーフモードシステム１１ｂは、起動プログラム２１へリブートを要求する（ステップＳ６１６）。
【０１４８】
以上のように、アクセス制御モジュール３１により、ＮＶＲＡＭ１０５に保持される起動・実行モードを書き換えることで、各システム１１の起動や起動後の動作を制御することができる。よって、各システム１１のファームアップデートを行う場合に、動作中のシステム１１（図中ではセーフモードシステム１１ｂ）から動作していないシステム１１（図中ではノーマルモードシステム１１ａ）のアップデートを行うことが可能となり、実行中のモジュールに対してアップデートを行うなどの問題が生じることなく、安全にアップデート処理を行うことができる。
【０１４９】
また、何らかの原因で、アップデート中に情報処理装置１００の電源が断たれた場合であっても、不揮発性の半導体メモリ（図中ではＮＶＲＡＭ１０５）内に、起動・実行フラグが保持されていることから、再度、電源を投入すれば、アップデート処理を再開することが可能である。
【０１５０】
図２０は、本発明の第２の実施形態に係るファームウェアを一括アップデートする処理手順例を示すフローチャートである。図２０には、ファームウェアの特性に応じた一括アップデートの処理手順例が示されており、一括アップデートの処理場面が想定しやすいように、情報処理装置１００として画像処理装置の一例が示されている。
【０１５１】
前述したステップＳ６１３の処理手順により、アクセス制御モジュール３１がファームウェアアップデート処理であるモジュール及びデータの書き換えを行う。画像処理装置の場合、例えば、次に挙げるようなデバイスが有するソフトウェア部品をアップデートすることとなる。
・画像処理装置に接続される外部記憶（例えば「ＳＤ（登録商標）カード」など）内のソフトウェア部品
・システムコントローラ内のソフトウェア部品
・画像処理装置に接続されるオプション機器（例えば仕上げ機能を有する「フィニッシャー」など）内のソフトウェア部品
・プリンタエンジン内のソフトウェア部品
・ＦＡＸコントローラ（ＦＣＵ）内のソフトウェア部品
・操作パネル内のソフトウェア部品
このように、画像処理装置などの場合には、複数のデバイス内のソフトウェア部品を一括してアップデートする場面が考えられ、これらのソフトウェア部品は、互いに依存関係があることから、単純に書き換えを行うことはできない。
【０１５２】
そこで、ファームウェアアップデートモジュール１１５は、上記の依存関係に従って、一括アップデートが行える最適なアップデート要求を、アクセス制御モジュール３１に発行する。例えば、上記各デバイスにおいて、画像処理装置に接続されるオプション機器と、プリンタエンジンには、依存関係が存在するため、これら２つのアップデートについては、アップデートを行う順序（更新順序）を制御する。それ以外のデバイスにおいては、同時にアップデート処理を行う（ステップＳ７０１）。また、操作パネルに関しても、アップデート状態の表示などを行うため、上記ステップＳ７０１が完了した後にアップデートを行う（ステップＳ７０２）。
【０１５３】
以上のように、アップデート対象のシステム１１に応じて、ファームウェアアップデートモジュール１１５をカスタマイズすることで、安全に、かつ短時間でアップデート処理を行うことができる（アップデート処理を不具合なく時間短縮することができる）。
【０１５４】
＜まとめ＞
以上のように、本発明の第２の実施形態によれば、本実施形態に係る情報処理装置１００は、第１の実施形態において述べた構成に加えて、各システム１１のファームウェアアップデートモジュール１１５が、アクセス制御モジュール３１を介して、互いのシステム１１のファームウェアを更新する。
【０１５５】
これによって、情報処理装置１００では、第１の実施形態と同様の効果を奏するとともに、各システム１１のファームアップデートを行う場合に、動作中のシステム１１から動作していないシステム１１のアップデートを行うことが可能となり、安全にアップデート処理を行うことができる。
【０１５６】
また、何らかの原因で、アップデート中に情報処理装置１００の電源が断たれた場合であっても、不揮発性の半導体メモリ内に、起動・実行フラグが保持されていることから、再度、電源を投入すれば、アップデート処理を再開することが可能である。
【０１５７】
よって、情報処理装置１００は、発生した不具合を安定した環境で復旧することができる。
【０１５８】
［第３の実施形態］
本実施形態では、第１の実施形態において説明を行ったアクセス制御モジュール３１を用いて、システム復旧やミラーリングなどのセーフモード機能の処理を行う点について説明する。なお、以降に示す本実施形態では、第１の実施形態と同一の技術的事項について、第１の実施形態において説明に用いた同一図面及び参照符号をもって、ここでの説明を省略する。
【０１５９】
＜ソフトウェア構成＞
図２１は、本発明の第３の実施形態に係るソフトウェアの配置例を示す図である。図２１に示すように、セーフモードシステム１１ｂが、ノーマルモードシステム１１ａで発生した不具合の修復などを行うセーフモード機能実行モジュール１１６を有しており、このモジュール１１６は、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂのセーフモードシステム領域Ｓｂに配置される。
【０１６０】
《セーフモード機能実行モジュール》
図２２は、本発明の第３の実施形態に係るセーフモード機能実行モジュール１１６のソフトウェア構成例を示す図である。セーフモード機能実行モジュール１１６は、実行制御モジュール５１と、一括消去実行モジュール６１と、暗号化実行モジュール６２と、ＨＤＤミラーリング実行モジュール６３と、大容量ＨＤＤ移行実行モジュール６４と、システム復旧実行モジュール６５とから構成される。
【０１６１】
実行制御モジュール５１は、上記各実行モジュール６１〜６５を実行するか否か（実行モジュール６１〜６５により実現される機能の動作させるか否か）を制御する機能である。実行制御モジュール５１は、実行フラグの設定を基に、これらの各実行モジュール６１〜６５を実行するか否かを制御する。また、実行制御モジュール５１は、各実行モジュール６１〜６５の排他制御や連携制御なども行う。例えば、連携制御には、大容量ＨＤＤデータ移行処理後に、プライマリディスクであるＨＤＤ＃０の一括消去を行などがある。
【０１６２】
実行制御モジュール５１により実行制御される各実行モジュール６１〜６５は、以下の通りである。
【０１６３】
一括消去実行モジュール６１は、所定の記憶領域に格納されるデータを一括消去する機能である。ここで言う「消去」とは、データを記憶領域から削除するのではなく、乱数などを基に記憶されたデータを上書きし、データが読み取り不可能な（復元不可能な）状態にすることを意味する。
【０１６４】
暗号化実行モジュール６２は、暗号鍵の生成、また暗号化（再暗号化：１つの暗号文を異なる暗号文に生成し直す処理）や復号化を行う機能である。ＨＤＤミラーリング実行モジュール６３は、所定の記憶領域に格納されるデータをミラーリングする機能（書き込まれたデータの複製を他の記憶領域に生成し２重化を行う機能）である。
【０１６５】
大容量ＨＤＤ移行実行モジュール６４は、プライマリディスクであるＨＤＤ＃０からセカンダリディスクのＨＤＤ＃１へデータをコピーする機能である。システム復旧実行モジュール６５は、リカバリーＣＤなどを用いて強制的にシステム１１内の損傷箇所を修復し、システム１１の再インストールを行う機能である。
【０１６６】
上記実行モジュール６１〜６５が、実行制御モジュール５１により実行制御されることで、本実施形態に係る情報処理装置１００が提供するセーフモード機能が実現される。より具体的には、上記各モジュールが、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂからＲＡＭ１０４に読み出されＣＰＵ１０７により実行されることで、上記セーフモード機能が実現される。
【０１６７】
（処理手順）
ここからは、前述したセーフモード機能実行モジュール１１６が有する各機能の動作について説明する。なお、以下の説明では、各機能のうち、「（Ａ）一括消去」、「（Ｂ）ミラーリング」、「（Ｃ）データ移行」の３つについての処理手順についてである。
【０１６８】
（Ａ）ＨＤＤ一括消去時
一括消去は、主に、ＨＤＤ１０９の破棄／交換、又はＨＤＤ１０９を備えた情報処理装置１００を返却する場合に、情報漏洩を防ぐために用いられる機能である。情報処理装置１００により生成した乱数や補数を、数回ＨＤＤ１０９全体の記憶領域に上書きすることで、データが復元できないようにする機能である。例えば、この機能は、セキュリティの厳格な会社においては、情報処理装置１００が部署移動する際に実行される。
【０１６９】
ところで、ＨＤＤ１０９と比較し、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂやＮＶＲＡＭ１０５と言った記憶デバイスは高価であり、また、書き込み回数に上限があることから、データ量（サイズ）が大きく頻繁にアクセスするデータは、ＨＤＤ１０９に記憶せざるを得ない。このようなデータの一例としては、システムログが挙げられる。
【０１７０】
一括消去実行時において、その実行理由が、ＨＤＤ１０９の破棄であれば、システムログを含む全データの消去が必須である。一方で、実行理由が、情報処理装置１００の部署移動によるものであれば、システムログを、一括消去の対象外としなければならない。
【０１７１】
しかし、どちらの理由で一括消去が実行されるのかは、情報処理装置１００では分からないことから、単に、ＨＤＤ１０９の特定パーティション（所定範囲の記憶領域）やディレクトリなどを、一括消去の対象外とする制御方法では、実現することができない。また、一括消去の対象外とするデータが、システムログなどであるため、どちらの理由で一括消去を実行するのかを、利用者に選択させたくない。
【０１７２】
そこで、ＨＤＤ１０９内の削除不可データを一括消去の実行前にＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂなどの他の記憶デバイスに退避する。一括消去実行後のシステム復旧(再インストール)の際に、退避したデータをＨＤＤ１０９に書き戻す（ロールバックする）。
【０１７３】
・削除不可データを退避／復旧
ここからは、上記ＨＤＤ一括消去時の処理手順について説明する。なお、以下に説明する処理手順では、ＮＶＲＡＭ１０５に保持される起動・実行フラグに「セーフモード」と「ＨＤＤ一括消去」の各指定が設定されている場合を想定している。
【０１７４】
図２３は、本発明の第３の実施形態に係る一括消去時の削除不可データを退避する処理手順例を示すフローチャートである。
【０１７５】
セーフモードシステム１１ｂは、起動プログラム２１により起動されると（ステップＳ８０１）、まず、実行制御モジュール５１が、アクセス制御モジュール３１を介して、ＮＶＲＡＭ１０５に保持される実行フラグの設定を確認する（ステップＳ８０２）。
【０１７６】
実行制御モジュール５１は、実行フラグに「ＨＤＤ一括消去」の指定が設定されていることを受けて、一括消去実行モジュール６１へ、削除不可データ（ログなどの一括消去時に削除対象から除外するデータ）有無の確認を要求し、一括消去実行モジュール６１が、確認要求に従って、ＨＤＤ１０９に削除不可データがあるか否かを確認する（ステップＳ８０３）。
【０１７７】
削除不可データがある場合には（ステップＳ８０４：ＹＥＳ）、一括消去実行モジュール６１が、確認の際に特定した削除不可データのコピー（退避）を、アクセス制御モジュール３１に要求し、アクセス制御モジュール３１は、コピー要求に従って、削除不可データを、ＨＤＤ１０９からアクセス制御情報４１を基に特定したコピー先のＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂへコピーする（ステップＳ８０５）。すなわち、アクセス制御モジュール３１は、一括消去実行モジュール６１から要求時に受け取った削除不可データを、アクセス制御情報４１を基に特定した書き込み先のＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂに書き込み（データリード処理）を行う。
【０１７８】
一括消去実行モジュール６１は、アクセス制御モジュール３１を介して、削除不可データのコピーが完了すると、ＨＤＤ１０９の一括消去処理を行う（ステップＳ８０６）。
【０１７９】
一方、削除不可データがない場合には（ステップＳ８０４：ＮＯ）、ステップＳ８０６の処理手順へ移行する。
【０１８０】
セーフモードシステム１１ｂは、一括消去実行モジュール６１によるＨＤＤ一括消去処理が完了すると、アクセス制御モジュール３１を介して、実行フラグの設定を「ＨＤＤ一括消去」から「システム復旧」へ変更し、起動プログラム２１へリブートを要求する（ステップＳ８０７）。
【０１８１】
図２４は、本発明の第３の実施形態に係る一括消去時の削除不可データを復旧する処理手順例を示すフローチャートである。
【０１８２】
セーフモードシステム１１ｂは、起動プログラム２１により起動されると（ステップＳ９０１）、まず、実行制御モジュール５１が、アクセス制御モジュール３１を介して、ＮＶＲＡＭ１０５に保持される実行フラグの設定を確認する（ステップＳ９０２）。
【０１８３】
実行制御モジュール５１は、実行フラグに「システム復旧」の指定が設定されていることを受けて、システム復旧実行モジュール６５へ、ＨＤＤ１０９のシステム復旧処理を要求し、システム復旧実行モジュール６５は、復旧要求に従って、復旧処理を行う（ステップ９０３）。
【０１８４】
システム復旧実行モジュール６５は、システム復旧処理が完了すると、アクセス制御モジュール３１を介して、退避データ（ログなどの一括消去時に削除対象から除外するデータ）があるか否か（有無）を確認する（ステップＳ９０４）。
【０１８５】
退避データがある場合には（ステップＳ９０５：ＹＥＳ）、システム復旧実行モジュール６５が、確認の際に特定した退避データのコピー（復旧）を、アクセス制御モジュール３１に要求し、アクセス制御モジュール３１は、コピー要求に従って、退避データを、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂからアクセス制御情報４１を基に特定したコピー先のＨＤＤ１０９へコピーする（ステップＳ９０６）。すなわち、アクセス制御モジュール３１は、システム復旧実行モジュール６５から要求時に受け取った退避データを、アクセス制御情報４１を基に特定した書き込み先のＨＤＤ１０９に書き込み（データリード処理）を行う。
【０１８６】
システム復旧実行モジュール６５は、アクセス制御モジュール３１を介して、退避データのコピーが完了すると、アクセス制御モジュール３１を介して、実行フラグの設定を「システム復旧」から「設定なし（通常動作時の設定）」へ変更し、起動プログラム２１へリブートを要求する（ステップＳ９０７）。
【０１８７】
一方、退避データがない場合には（ステップＳ９０５：ＮＯ）、ステップＳ９０７の処理手順へ移行する。
【０１８８】
前述した処理手順の中で、「ＨＤＤ一括消去」の指定を、「システム復旧」などの指定を行った実行フラグに設定する例を示した。これは、例えば実行フラグが複数ビットで構成される場合を想定しており、Ｎビットでは、２ｎ通りのパターンが実行フラグとして設定可能である。また、このような１つの実行フラグにより制御する方法に限らず、実行指定の種類ごとにフラグを分けた構成であってよい。つまり、「ＨＤＤ一括消去」を指定する一括消去フラグや、後述する「ＨＤＤミラーリング」を指定するミラーリングフラグなど、実行フラグと異なるフラグにより制御を行ってもよい。
【０１８９】
また、前述した削除不可データのコピー先にＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂを例に説明を行ったが、一括消去対象のＨＤＤ１０９以外の記憶デバイスであればよい。
【０１９０】
以上のように、一括消去の際に、削除不可データを、消去対象の記憶デバイスから一時的に他の記憶デバイスへ待避させ、後に、待避データを書き戻す構成としたことにより、一括消去を実行しても、ＨＤＤ１０９に記憶されたシステムログなどの削除不可データを、ＨＤＤ１０９に残すことができる。また、一括消去後にＨＤＤ１０９をそのまま使用する場合であっても、別の（新たな）ＨＤＤ１０９に交換する場合であっても、削除不可データを残すことができる。
【０１９１】
また、データ量の多い削除不可データを、ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂやＮＶＲＡＭ１０５より大容量であるＨＤＤ１０９に記憶させるため、有限である記憶資源を友情に運用することができ、コスト削減に繋がる。
【０１９２】
・一括消去時のシステム設定のデータ整合
また、一括消去を行った場合に、ＨＤＤ１０９以外の記憶デバイス（例えば「ＮＡＮＤ型ＦｌａｓｈＲＯＭ１０６ｂ」や「ＮＶＲＡＭ１０５」など）に保持される各種設定値（例えば「システム設定」など）の整合をとる必要がある。このような場合、保持されるデータ種別に応じて整合処理を行う。例えば、ＨＤＤ１０９以外の記憶デバイスに保持されるデータを、以下のように整合処理する。
・利用者情報（例えば「アドレス情報」や「アカウント情報」など）
：乱数や補数などにより上書き消去する
・ＵＰ／ＳＰの設定値（初期値が必要なデータ）
：初期値（デフォルト値）に戻す
・エンジン調整値／課金情報（変更が不可能なデータ）
：現在値のままとする
そこで、上記のようなデータ種別に応じた整合処理を、アクセス制御モジュール３１により行う。すなわち、アクセス制御モジュール３１が、予め決められた所定の規則に従って、記憶デバイスに保持される設定値に対して、データ種別ごとに整合処理を切り換え制御する。アクセス制御モジュール３１は、例えば、各データ種別において、どのような整合処理を行うかを指定する制御フラグに基づき上記処理の制御を行ってもよいし、ディレクトリなどによりグループ化された各データ種別に基づき上記処理の制御を行ってもよい。
【０１９３】
以上のように、アクセス制御モジュール３１が、一括消去時に、ＨＤＤ１０９以外の記憶デバイスに保持される設定値に対して、データ種別に応じた整合処理を行うことにより、ノーマルモードシステム１１ａとセーフモードシステム１１ｂにおいて、記憶デバイスに保持される上記データの不一致がなくなり、セーフモードからノーマルモードへ切り替わった場合でも正常に動作することができる。
【０１９４】
（Ｂ）ミラーリング時
ＨＤＤミラーリングとは、同時に、複数のＨＤＤ１０９に同じデータを書き込む機能であり、一方のＨＤＤ１０９に何らかの障害（例えば「ＨＤＤアクセスエラー」など）が発生した場合であっても、他方の正常なＨＤＤ１０９のみでの運用が可能である。
【０１９５】
また、暗号化とは、情報処理装置１００により生成した（別の）暗号鍵を用いて暗号化（再暗号化）する機能である。
【０１９６】
ＨＤＤミラーリング状態において暗号化を行う際に、ミラーリング制御に従って暗号化（再暗号化）したデータを、例えば２つのＨＤＤ１０９に同時に書き込んでしまうと、暗号化（再暗号化）の途中で何らかの障害が発生した場合、ＨＤＤ１０９のデータを復旧することができなくなってしまう。復旧できない理由は、ＨＤＤ１０９において、異なる（２つの）暗号鍵による暗号化データが混在する状態となり、復号化ができないためである。
【０１９７】
そこで、ＨＤＤミラーリング時に、ＨＤＤ暗号化（再暗号化を含む）を行う場合に、アクセス制御モジュール３１を介して、プライマリディスクであるＨＤＤ＃０からセカンダリディスクであるＨＤＤ＃１の順で暗号化を行い、正常に暗号化されたＨＤＤ＃０又はＨＤＤ＃１のどちらか一方から、暗号化に失敗したＨＤＤ１０９を復旧する。
【０１９８】
・暗号化
ここからは、上記ＨＤＤミラーリング時の暗号化処理手順について説明する。なお、以下に説明する処理手順では、ＮＶＲＡＭ１０５に保持される起動・実行フラグに「セーフモード」と「ＨＤＤミラーリング」の各指定が設定されている場合を想定している。
【０１９９】
図２５は、本発明の第３の実施形態に係るミラーリング時に暗号化を行う処理手順例を示すフローチャートである。
【０２００】
セーフモードシステム１１ｂは、起動プログラム２１により起動されると（ステップＳ１００１）、まず、実行制御モジュール５１が、アクセス制御モジュール３１を介して、ＮＶＲＡＭ１０５に保持される実行フラグの設定を確認する（ステップＳ１００２）。
【０２０１】
実行制御モジュール５１は、実行フラグに「ＨＤＤミラーリング」の指定が設定されていることを受けて、ＨＤＤミラーリング実行モジュール６３へ、ＨＤＤ１０９のミラーリング処理を要求し、ＨＤＤミラーリング実行モジュール６３は、ミラーリング要求に従って、ミラーリング処理を行うためのデータ暗号化処理を、暗号化実行モジュール６２へ要求し、暗号化実行モジュール６２は、暗号化要求に従って、アクセス制御モジュール３１を介して、ＨＤＤミラーリング状態を確認する（ステップ１００３）。
【０２０２】
暗号化実行モジュール６２は、ＨＤＤミラーリング状態を確認すると、まず、プライマリディスクであるＨＤＤ＃０のデータ暗号化を行う（ステップＳ１００４）。
【０２０３】
このとき、ＨＤＤアクセスエラーなどのエラーが発生した場合には（ステップＳ１００５：ＹＥＳ）、暗号化実行モジュール６２が、エラー発生ドライブとして、ＨＤＤ＃０を設定し（ステップＳ１００６）、図に示す処理を終了する。
【０２０４】
一方、エラーが発生することなく、ＨＤＤ＃１のデータ暗号化が完了した場合には（ステップＳ１００５：ＮＯ）、暗号化実行モジュール６２が、ミラーリング設定がオンか否かを判定し（ステップＳ１００７）、ミラーリング設定がオンの場合には（ステップＳ１００７：ＹＥＳ）、セカンダリディスクであるＨＤＤ＃１のデータ暗号化を行う（ステップＳ１００８）。
【０２０５】
このとき、ＨＤＤアクセスエラーなどのエラーが発生した場合には（ステップＳ１００９：ＹＥＳ）、暗号化実行モジュール６２が、エラー発生ドライブとして、ＨＤＤ＃１を設定し（ステップＳ１０１０）、図に示す処理を終了する。
【０２０６】
一方、エラーが発生することなく、ＨＤＤ＃１のデータ暗号化が完了した場合には（ステップＳ１００５：ＮＯ）、暗号化実行モジュール６２は、起動プログラム２１へリブートを要求する（ステップＳ１０１１）。
【０２０７】
また、ミラーリング設定がオフの場合には（ステップＳ１００７：ＮＯ）、ステップＳ１０１１の処理手順へ移行する。
【０２０８】
ＨＤＤミラーリング実行モジュール６３は、前述した処理手順による暗号化処理において、プライマリディスクであるＨＤＤ＃０の暗号化時にＨＤＤアクセスエラーなどにより失敗した場合に、アクセス制御モジュール３１を介して、セカンダリディスクであるＨＤＤ＃１のデータを暗号化してＨＤＤ＃０に書き込む。逆に、ＨＤＤ＃１の暗号化時にエラーで失敗した場合には、アクセス制御モジュール３１を介して、ＨＤＤ＃０のデータをＨＤＤ＃１に書き込む。
【０２０９】
以上のように、アクセス制御モジュール３１が、ＨＤＤミラーリング時に、まず、プライマリディスクであるＨＤＤ＃０の暗号化を行い、その後にセカンダリディスクであるＨＤＤ＃１の暗号化を行うように暗号化順序を制御することにより、ＨＤＤ１０９の暗号化に失敗した場合であっても、データを復旧し正常に暗号化を行うことができる。
【０２１０】
・プライマリー／セカンダリディスクの交互アクセス
セーフモードシステム１１ｂにおいて行うＨＤＤミラーリング処理は、情報処理装置１００にセカンダリディスクであるＨＤＤ＃１を装着したときに、プライマリディスクであるＨＤＤ＃０からＨＤＤ＃１へデータをコピーすることである。これにより２台のＨＤＤ１０９は、ミラーリング状態となり、ノーマルモードシステム１１ａの再起動時にミラーリングの運用が開始される。
【０２１１】
ミラーリング状態では、データライト（データの書き込み）は、両方のＨＤＤ１０９に対して行われるが、データリード（データの読み込み）は、どちらか一方のＨＤＤ１０９にて行われる。このとき、片方のＨＤＤ１０９のみでデータリードを行うと、そのＨＤＤ１０９の故障率が上昇してしまう。
【０２１２】
そこで、ＨＤＤ１０９へのデータリードが、片方のＨＤＤ１０９に集中しないように、ＨＤＤ＃０とＨＤＤ＃１との間で交互にデータリードされるように、アクセス先変換モジュール３１により制御する。アクセス制御モジュール３１では、ＨＤＤ＃０とＨＤＤ＃１との間で行う交互に行うデータリードの切り換えは、データリードの回数を基に制御してもよいし、一定の経過時間を基に制御してもよい。また、データリードした総データ量を基に行ってもよい。
【０２１３】
以上のように、アクセス制御モジュール３１が、所定の切り換え制御値を基に、ＨＤＤ＃０とＨＤＤ＃１との間で交互にデータリードされるように制御することにより、ＨＤＤ＃０とＨＤＤ＃１へのデータリードを分散させることができ、データリードに伴うＨＤＤ１０９への負荷を軽減することができ、故障率の低下に繋がる。
【０２１４】
・エラー発生時のアクセス切り換え
プライマリディスクであるＨＤＤ＃０とセカンダリディスクであるＨＤＤ＃１とにおいて、どちらか一方のＨＤＤ１０９に何らかの障害が発生した場合に、他方のＨＤＤ１０９のみの運用に切り換え、ジョブを完了させる。
【０２１５】
そこで、アクセス制御モジュール３１は、現在アクセス中のＨＤＤ１０９に障害が発生したか否かの判定結果に基づいて、正常なＨＤＤ１０９にデータリード／ライトするように切り換え制御する。
【０２１６】
以上のように、アクセス制御モジュール３１が、ＨＤＤアクセスエラーに基づき、エラーが発生したＨＤＤ１０９から正常なＨＤＤ１０９にアクセス先を切り換えることにより、モジュールによるデータアクセス時に、何らかの理由で障害が発生し、アクセス中のＨＤＤ１０９が故障した場合であっても、ジョブを完了することができる。
【０２１７】
（Ｃ）大容量ＨＤＤへのデータ移行時
大容量ＨＤＤ移行実行モジュール６４によってデータ移行を行った後に、不要となったプライマリディスクであるＨＤＤ＃０は、セキュリティなどの理由で、一括消去すべきである。
【０２１８】
データ移行完了後に、そのまま消去対象のＨＤＤ＃０を一括消去するようにしてもよいが、正常にデータ移行が完了したかを実際の動作において確認してから、一括消去を行いたいと言う場合がある。
【０２１９】
・プライマリディスクの一括消去
そこで、アクセス制御モジュール３１により、プライマリディスクであるＨＤＤ＃０の一括消去を行う。また、データ移行と一括消去との両方を考慮した（合計した）処理の進捗割合（％）と処理完了までの予測時間を含む動作確認・一括消去指示画面が、ＵＩ１１２により、出力装置１０２であるディスプレイを介して表示され、利用者は、これらの動作確認・一括消去指示画面を基に、データ移行後の一括消去の選択指示を行う。
【０２２０】
以上のように、利用者は、データ移行後のプライマリディスクであるＨＤＤ＃０の一括消去の実行を選択することができ、データ移行先のＨＤＤ１０９で正常に動作することを確認した後に、データ移行元のＨＤＤ１０９を一括消去することができる。これにより、利用者にとって、データ管理上の利便性を向上させることができる。
【０２２１】
・パーティションサイズ設定
大容量ＨＤＤ（非図示）へのデータ移行とは、現在、情報処理装置１００が備えるＨＤＤ１０９ではデータの記憶容量が足りず、より記憶容量の多いＨＤＤへ交換する際に、最初に備えていたＨＤＤ１０９（データ移行元のＨＤＤ１０９）から、交換後の大容量ＨＤＤ（データ移行先のＨＤＤ）へデータをコピーし、大容量ＨＤＤでの運用を行えるようにする機能である。このとき、画像データを多く扱う場合には、画像データ用のパーティション（所定範囲の記憶領域）を優先的に大きくし、ユーザ情報を多く扱う場合は、ユーザ情報用のパーティションを優先的に大きくするなど、利用者の使用用途に応じて、データ移行先の大容量ＨＤＤのパーティションサイズを、自由に設定できた方が、利用者によって利便性がよい。
【０２２２】
そこで、例えば図２６に示すような、利用者がパーティションサイズを使用用途に応じて設定可能なＵＩ画面を、ＵＩ１１２により生成し、出力装置１０２であるディスプレイを介して表示する。
【０２２３】
図２６は、本発明の第３の実施形態に係るデータ移行に関する設定を行うＵＩ画面例を示す図である。（Ａ）に示すように、本実施形態では、データ移行元のＨＤＤ１０９（交換前のＨＤＤ）の各パーティションサイズを設定の最小値として表示し（図中の「最小：２０ＧＢ」など）、データ移行先の大容量ＨＤＤ（交換後のＨＤＤ）における該当パーティションサイズを設定可能なＵＩ画面Ｗを表示する。
【０２２４】
また、（Ｂ）に示すように、予めデータ種別ごとのパーティションサイズの組み合わせが決められた複数の設定パターンを保持しており、保持された複数の設定パターンから１つのパターンを選択指示するようなＵＩ画面Ｗを表示するようにしてもよい。
【０２２５】
以上のように、データ種別ごとにパーティションサイズを設定可能なＵＩ画面Ｗを表示する構成としたことにより、利用者は、使用用途に応じて、大容量ＨＤＤの記憶領域を所望する記憶領域に分割することができる。これにより、利用者にとって、データ管理上の利便性を向上させることができる。
【０２２６】
＜まとめ＞
以上のように、本発明の第３の実施形態によれば、本実施形態に係る情報処理装置１００は、第１の実施形態において述べた構成に加えて、セーフモードシステム１１ｂが有するセーフモード機能が、アクセス制御モジュール３１を介して、一括消去、ミラーリング、暗号化、大容量ＨＤＤデータ移行、システム復旧（再インストール）などの各種機能を実行する。
【０２２７】
これによって、情報処理装置１００では、第１の実施形態と同様の効果を奏するとともに、システム管理上における情報の機密性や記憶デバイスの動作安定性、また利用者の利便性などを実現可能であり、利用者に提供する情報処理システム環境を安定して保守・運用することができる。
【０２２８】
よって、情報処理装置１００は、発生した不具合を安定した環境で復旧することができる。
【０２２９】
ここまで、上記各実施形態に基づき本発明の説明を行ってきたが、上記各実施形態に係る各機能は、図を用いて説明を行った各処理手順を、情報処理装置１００の動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムを、コンピュータ（ＣＰＵ１０７）で実行することで実現される。よって、上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。
【０２３０】
よって、上記プログラムは、フロッピー（登録商標）ディスク、ＣＤ、ＤＶＤ（Digital Versatile Disk）などの記録媒体１０３ａに記憶させることによって、これらの記録媒体１０３ａから、読み取り可能なドライブ装置１０３を介して、情報処理装置１００にインストールすることができる。また、情報処理装置１００は、ネットワークなどのデータ伝送路に接続可能なインタフェース装置１０８を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０２３１】
最後に、上記各実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０２３２】
【図１】本発明の第１の実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図２】本発明の第１の実施形態に係る情報処理装置のソフトウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係るＲＯＭにおける記憶領域の構成例を示す図である。
【図４】本発明の第１の実施形態に係るソフトウェアの配置例（その１）を示す図である。
【図５】本発明の第１の実施形態に係るシステム設定を整合させる動作例を示す図である。
【図６】本発明の第１の実施形態に係るシステムログをマージする動作例を示す図である。
【図７】本発明の第１の実施形態に係るソフトウェアの配置例（その２）を示す図である。
【図８】本発明の第１の実施形態に係るシステムを起動する処理手順例を示すフローチャートである。
【図９】本発明の第１の実施形態に係る異なる起動モードによる動作時のメモリマップ例を示す図である。
【図１０】本発明の第１の実施形態に係る異なる起動モードによる動作の違いを模式的に示す図である。
【図１１】本発明の第１の実施形態に係るアクセス制御情報のデータ例を示す図である。
【図１２】本発明の第１の実施形態に係るアクセス制御情報のデータ遷移例を示す図である。
【図１３】本発明の第１の実施形態に係るデータリード／ライトを行う処理手順例を示すフローチャートである。
【図１４】本発明の第１の実施形態に係るシステムを復旧する処理手順例を示すフローチャートである。
【図１５】本発明の第１の実施形態に係るシステムをリストアする処理手順例を示すフローチャートである。
【図１６】本発明の第２の実施形態に係るソフトウェアの配置例を示す図である。
【図１７】本発明の第２の実施形態に係るファームウェアをアップデートする動作例を示す図である。
【図１８】本発明の第２の実施形態に係るアクセス制御情報のデータ例を示す図である。
【図１９】本発明の第２の実施形態に係るファームウェアをアップデートする処理手順例を示すフローチャートである。
【図２０】本発明の第２の実施形態に係るファームウェアを一括アップデートする処理手順例を示すフローチャートである。
【図２１】本発明の第３の実施形態に係るソフトウェアの配置例を示す図である。
【図２２】本発明の第３の実施形態に係るセーフモード機能実行モジュールのソフトウェア構成例を示す図である。
【図２３】本発明の第３の実施形態に係る一括消去時の削除不可データを退避する処理手順例を示すフローチャートである。
【図２４】本発明の第３の実施形態に係る一括消去時の削除不可データを復旧する処理手順例を示すフローチャートである。
【図２５】本発明の第３の実施形態に係るミラーリング時に暗号化を行う処理手順例を示すフローチャートである。
【図２６】本発明の第３の実施形態に係るデータ移行に関する設定を行うＵＩ画面例を示す図である。
【符号の説明】
【０２３３】
１１      システム（ａ：ノーマルモード，ｂ：セーフモード）
１１１    フレームワーク（ａ：ノーマルモード，ｂ：セーフモード）
１１２    ＵＩ（ａ：ノーマルモード，ｂ：セーフモード）
１１３    ログ出力（ａ：ノーマルモード，ｂ：セーフモード）
１１４    アプリケーション
１１５    ファームウェアアップデートモジュール
１１６    セーフモード機能実行モジュール
２１      起動プログラム
３１      アクセス制御モジュール
４１      アクセス制御情報
５１      実行制御モジュール
６１      一括消去実行モジュール
６２      暗号化実行モジュール
６３      ＨＤＤミラーリング実行モジュール
６４      大容量ＨＤＤ移行実行モジュール
６５      システム復旧実行モジュール
１００    情報処理装置
１０１    入力装置
１０２    出力装置
１０３    ドライブ装置（ａ：記録媒体）
１０４    ＲＡＭ
１０５    ＮＶＲＡＭ
１０６    Ｆｌａｓｈ  ＲＯＭ（ａ：ＮＯＲ型，ｂ：ＮＡＮＤ型）
１０７    ＣＰＵ
１０８    インタフェース装置
１０９    ＨＤＤ
Ｄ        データ領域
ＤＥＶ    デバイス
Ｓ        システム領域ａ：ノーマルモード，ｂ：セーフモード）
Ｍ        割り当て領域
Ｗ        ＵＩ画面
【図１】
2010009553.tif 000003
【図２】
2010009553.tif 000004
【図３】
2010009553.tif 000005
【図４】
2010009553.tif 000006
【図５】
2010009553.tif 000007
【図６】
2010009553.tif 000008
【図７】
2010009553.tif 000009
【図８】
2010009553.tif 000010
【図９】
2010009553.tif 000011
【図１０】
2010009553.tif 000012
【図１１】
2010009553.tif 000013
【図１２】
2010009553.tif 000014
【図１３】
2010009553.tif 000015
【図１４】
2010009553.tif 000016
【図１５】
2010009553.tif 000017
【図１６】
2010009553.tif 000018
【図１７】
2010009553.tif 000019
【図１８】
2010009553.tif 000020
【図１９】
2010009553.tif 000021
【図２０】
2010009553.tif 000022
【図２１】
2010009553.tif 000023
【図２２】
2010009553.tif 000024
【図２３】
2010009553.tif 000025
【図２４】
2010009553.tif 000026
【図２５】
2010009553.tif 000027
【図２６】
2010009553.tif 000028