(57)【特許請求の範囲】
【請求項１】
システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定される設定データを保持する第１の記憶手段と、
特定の前記設定データが設定された前記システム設定情報である第２の設定情報を保持する第２の記憶手段と、
自装置におけるＢＩＯＳに関する処理を実行可能なＢＩＯＳ処理手段と、を備え、
前記ＢＩＯＳ処理手段は、
前記第１の記憶手段から任意のタイミングにおいて読み出した前記設定データを、前記システム設定情報である第１の設定情報に反映することにより生成した前記第２の設定情報を、前記設定データを読み出したタイミングに応じて、前記第２の記憶手段に複数保存し、
前記第１の記憶手段に保持される設定データを更新する場合、特定の前記タイミングに応じて保存された第２の設定情報を、前記第２の記憶手段から読み出し、前記第１の設定情報に含まれる前記設定項目のうち、当該読み出した第２の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第２の設定情報に含まれる前記設定項目に設定されたデータにより更新し、当該更新した第１の設定情報に基づいて前記第１の記憶手段における前記設定データを更新する
情報処理装置。
【請求項２】
前記システム設定情報に含まれる設定項目には、少なくとも当該設定項目を識別可能な識別情報と、当該設定項目に設定されるデータとが関連付けて設定され、
前記ＢＩＯＳ処理手段は、
前記第１の記憶手段に保持される設定データを更新する場合、前記第１の設定情報に含まれる前記設定項目に設定された前記識別情報と、特定の前記タイミングに応じて保存された第２の設定情報に含まれる前記設定項目に設定された前記識別情報とを比較した結果に基づいて、前記第１の設定情報に含まれる前記設定項目と、当該第２の設定情報に含まれる前記設定項目とが等しいと判定した場合に、当該第１の設定情報に含まれる前記設定項目を、当該第２の設定情報に含まれる前記設定項目に設定されたデータを用いて更新する
請求項１に記載の情報処理装置。
【請求項３】
前記システム設定情報に含まれる設定項目には、更に、当該設定項目に設定されたデータのサイズを表す情報が設定され、
前記ＢＩＯＳ処理手段は、
前記第１の設定情報に含まれる設定項目に設定されたデータのサイズを表す情報を用いて、前記第１の記憶手段から読み出した前記設定データのうち、前記第１の設定情報に含まれる特定の設定項目に設定される設定データを特定し、当該特定した設定データを、当該特定の設定項目に設定されるデータに反映する
請求項２に記載の情報処理装置。
【請求項４】
前記システム設定情報には、自装置におけるＢＩＯＳのバージョンを表す情報が設定され、
前記ＢＩＯＳ処理手段は、
当該自装置におけるＢＩＯＳが更新された際、当該更新されたＢＩＯＳのバージョンと、特定の前記タイミングに応じて保存された第２の設定情報に設定されたＢＩＯＳのバージョンとを比較した結果が一致しない場合に、前記第１の記憶手段に記憶された前記設定データの更新が必要であると判定し、
当該自装置におけるＢＩＯＳの更新により、前記第１の設定情報における設定項目の増減が生じた場合には、当該第１の設定情報に含まれる設定項目のうち、前記第２の記憶手段から読み出した当該第２の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第２の設定情報に含まれる前記設定項目に設定されたデータにより更新する
請求項１乃至請求項３のいずれか情報処理装置。
【請求項５】
前記ＢＩＯＳ処理手段は、
前記第１の記憶手段に保持された、前記第１の設定情報を保持するＢＩＯＳ実行手段を制御することにより、自装置におけるＢＩＯＳに関する処理を実行する、
請求項１乃至請求項４のいずれかに記載の情報処理装置。
【請求項６】
任意のデータを記憶可能な記憶領域である第１の記憶領域から任意のタイミングにおいて読み出したシステムの設定に関する設定データを、当該システムの設定に関する情報を表すシステム設定情報である第１の設定情報に含まれる設定項目に反映し、当該第１の設定情報に基づいて第２の設定情報を生成するとともに、生成した第２の設定情報を、前記設定データを読み出したタイミングに応じて、任意のデータを記憶可能な記憶領域である第２の記憶領域に複数保存する処理と、
前記第１の記憶領域に保持される設定データを更新する場合に、
特定の前記タイミングに応じて保存された第２の設定情報を、前記第２の記憶領域から読み出すとともに、前記第１の設定情報に含まれる前記設定項目のうち、当該読み出した第２の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第２の設定情報に含まれる前記設定項目に設定されたデータにより更新し、当該更新した第１の設定情報に基づいて前記第１の記憶領域における前記設定データを更新する処理と、をコンピュータに実行させる
コンピュータ・プログラム。
【請求項７】
前記第１の設定情報が、自コンピュータ・プログラムに組み込まれているか、又は、前記第１の設定情報が、自コンピュータ・プログラムと共に前記コンピュータに配置される、
請求項６に記載のコンピュータ・プログラム。
【請求項８】
任意のデータを記憶可能な記憶領域である第１の記憶領域から任意のタイミングにおいて読み出したシステムの設定に関する設定データを、当該システムの設定に関する情報を表すシステム設定情報である第１の設定情報に含まれる設定項目に反映し、当該第１の設定情報に基づいて第２の設定情報を生成するとともに、生成した第２の設定情報を、前記設定データを読み出したタイミングに応じて、任意のデータを記憶可能な記憶領域である第２の記憶領域に複数保存し、
前記第１の記憶領域に保持される設定データを更新する場合に、
特定の前記タイミングに応じて保存された第２の設定情報を、前記第２の記憶領域から読み出すとともに、前記第１の設定情報に含まれる前記設定項目のうち、当該読み出した第２の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第２の設定情報に含まれる前記設定項目に設定されたデータにより更新し、当該更新した第１の設定情報に基づいて前記第１の記憶領域における前記設定データを更新する
システムの設定方法。
【請求項９】
システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定されるデータである設定データを保持する第１の記憶手段と、
任意のタイミングにおける前記設定データが反映された前記設定項目を含む前記システム設定情報である第２の設定情報を保持する第２の記憶手段と、
自装置におけるＢＩＯＳに関する処理を実行可能なＢＩＯＳ処理手段と、を備え、
前記ＢＩＯＳ処理手段は、
前記第１の記憶手段から前記任意のタイミングにおいて読み出した前記設定データを前記第１の設定情報に反映することにより生成した前記第２の設定情報を、前記設定データを読み出したタイミングに応じて、前記第２の記憶手段に複数保存し、
前記任意のタイミングよりも後のタイミングにおいて、前記第１の記憶手段における前記第１の記憶手段に保持される設定データを更新する場合、特定の前記タイミングに応じて保存された第２の設定情報を、前記第２の記憶手段から読み出し、前記システム設定情報である第１の設定情報に含まれる前記設定項目のうち、当該読み出した第２の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第２の設定情報に含まれる前記設定項目に設定されたデータを用いて更新し、当該更新した第１の設定情報に基づいて前記第１の記憶手段における前記設定データを更新する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの設定情報を復旧する技術に関する。
【背景技術】
【０００２】
コンピュータ等の情報処理システム（情報処理装置を含む）には、当該システムを構成する各種ハードウェア装置の初期化や、当該システムに接続された周辺機器（各種入出力装置等）の制御等を実行するＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）が搭載される場合がある。係るＢＩＯＳは、システムの設定に関する設定情報に従って、上記システムの起動時に各種処理を実行する。
【０００３】
ＢＩＯＳに関する設定情報は、例えば、不揮発性記憶デバイスにおける特定の領域（例えば、Ｆｌａｓｈ  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）内のＮＶＲＡＭ（不揮発性メモリ：Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域等）に保存される。係るＢＩＯＳは、不具合の修正や新機能の追加等のため、更新（アップデート）される場合がある。係るＢＩＯＳが更新されると、ＢＩＯＳに関する設定情報も併せて更新される場合がある。
【０００４】
係るＢＩＯＳの更新あるいは設定変更等に関連する技術が、例えば、以下に例示する特許文献に開示されている。
【０００５】
特許文献１（特開平１１−１６１４８４号公報）は、フラッシュＲＯＭに書き込まれたＢＩＯＳのパラメータの変更を容易にする技術を開示する。特許文献１に開示された技術は、フラッシュＲＯＭからＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に転記されたＢＩＯＳの実行コードに含まれるパラメータを、ＲＡＭ上で書き換えることにより、ＢＩＯＳのパラメータ（設定情報）を変更する。
【０００６】
特許文献２（特開２０００−２３５４８３号公報）は、ユーザの操作に基づいて、ＢＩＯＳ設定を特定の記憶領域へ退避する処理と、退避したＢＩＯＳ設定を特定の記憶領域から他の記憶領域へ復元する処理とを実行する技術を開示する。
【０００７】
特許文献３（特開２０１２−１３７９０５号公報）は、着脱可能な外部メモリを用いて、ＢＩＯＳ設定をバックアップ、及び、リストアする技術を開示する。
【０００８】
なお、ＢＩＯＳを利用する技術の一例として、例えば、特許文献４が存在する。特許文献４（特開２００６−３４４０４２号公報）は、システムに固有なハードウェアに関する情報を、ＢＩＯＳを介して取得し、その情報を用いて当該システムのバックアップ及びリストアを制御する技術を開示する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−１６１４８４号公報
【特許文献２】特開２０００−２３５４８３号公報
【特許文献３】特開２０１２−１３７９０５号公報
【特許文献４】特開２００６−３４４０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
例えば、ＢＩＯＳの変更（アップデート等）等により、設定情報の構成に変更が発生すると、ＮＶＲＡＭに保存された設定情報を表すデータと、更新されたＢＩＯＳが用いる更新後の設定情報を表すデータとの互換性が損なわれる可能性が有る。係る設定情報の構成の変更には、例えば、設定情報に含まれるセットアップ項目（設定項目）の増減や、サイズの変更、セットアップ項目の配置の変更等が含まれる。この場合、ＶＮＲＡＭに保存されていた設定情報を表すデータを、変更後の新たなＢＩＯＳの設定にそのまま用いることができない可能性がある。また、このような変更がある場合には、例えば、ＮＶＲＡＭ領域も書き換える必要があるが、係る書き換えにより、既存の設定が消滅し、ユーザ等による再設定（復旧処理）が必要となる。係る再設定（復旧処理）は、ユーザ等に対する負担となり、人為的なミスの要因となる。
【００１１】
これに対して、上記特許文献１に開示された技術は、ＲＡＭ上の特定領域にパラメータが存在することを前提としており、ＢＩＯＳの更新に起因してパラメータの配置やサイズ等が変化した場合には対応が困難である。また、特許文献２、特許文献３に開示された技術は、いずれもＢＩＯＳに関する設定情報を所定の記憶領域にそのまま退避し、復元する技術である。即ち、これらの技術は、ＢＩＯＳに関する設定情報のサイズ、あるいは、種類等が変更された場合、変更前の設定を正常に復元できない可能性が有る。
【００１２】
本発明は上記のような事情を鑑みてなされたものである。即ち、本発明は、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能な情報処理装置等を提供することを主たる目的の一つとする。
【課題を解決するための手段】
【００１３】
上記の目的を達成すべく、本発明の一態様に係る情報処理装置は、以下の構成を備える。即ち、本発明の一態様に係る情報処理装置は、システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定される設定データを保持する第１の記憶手段と、特定の上記設定データが設定された上記システム設定情報である第２の設定情報を保持する第２の記憶手段と、自装置におけるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）に関する処理を実行可能なＢＩＯＳ処理手段と、を備え、上記ＢＩＯＳ処理手段は、上記システムの設定が変更された場合、第１の記憶手段から読み出した上記設定データを、上記システム設定情報である第１の設定情報に反映することにより生成した上記第２の設定情報を、上記第２の記憶手段に保存し、上記設定データの更新が必要な場合、上記第１の設定情報に含まれる上記設定項目のうち、上記第２の記憶手段から読み出した上記第２の設定情報に含まれる上記設定項目と共通する上記設定項目を、当該第２の設定情報に含まれる上記設定項目に設定されたデータにより更新し、当該更新した第１の設定情報に基づいて上記第１の記憶手段における上記設定データを更新する。
【００１４】
また、本発明の他の態様に係る情報処理装置は、以下の構成を備える。即ち、本発明の一態様に係る情報処理装置は、システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定されるデータである設定データを保持する第１の記憶手段と、特定のタイミングにおける上記設定データが反映された上記設定項目を含む上記システム設定情報である第２の設定情報を保持する第２の記憶手段と、自装置におけるＢＩＯＳに関する処理を実行可能なＢＩＯＳ処理手段と、を備え、上記ＢＩＯＳ処理手段は、上記特定のタイミングよりも後のタイミングにおいて、上記第１の記憶領域における上記設定データの更新が必要な場合、上記システム設定情報である第１の設定情報に含まれる上記設定項目のうち、上記第２の記憶手段から読み出した上記第２の設定情報に含まれる上記設定項目と共通する上記設定項目を、当該第２の設定情報に含まれる上記設定項目に設定されたデータを用いて更新し、当該更新した第１の設定情報に基づいて上記第１の記憶領域における上記設定データを更新する。
【００１５】
また、本発明の一態様に係るシステム設定方法は、以下の構成を備える。即ち、本発明の一態様に係るシステム設定方法は、情報処理装置が、システムの設定が変更されたと判定した場合に任意のデータを記憶可能な記憶領域である第１の記憶領域から読み出した当該システムの設定に関する設定データを、当該システムの設定に関する情報を表すシステム設定情報である第１の設定情報に含まれる設定項目に反映し、当該第１の設定情報に基づいて第２の設定情報を生成するとともに、生成した第２の設定情報を任意のデータを記憶可能な記憶領域である第２の記憶領域に保存し、上記設定データの更新が必要であると判定した場合に、上記第２の記憶手段に保存された上記第２の設定情報を読み出すとともに、上記第１の設定情報に含まれる上記設定項目のうち、当該読み出した第２の設定情報に含まれる上記設定項目と共通する上記設定項目を、当該第２の設定情報に含まれる上記設定項目に設定されたデータにより更新し、当該更新した第１の設定情報に基づいて上記第１の記憶手段における上記設定データを更新する構成を有する。
【００１６】
また、同目的は、上記構成を有する情報処理装置、あるいはシステム設定方法を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記録媒体等によっても達成される。
【発明の効果】
【００１７】
本発明によれば、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能である。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の第１の実施形態に係る情報処理装置の概念的な構成を例示するブロック図である。
【図２】図２は、本発明の第１の実施形態に係る情報処理装置の機能的な構成の具体例を示すブロック図である。
【図３】図３は、本発明の第１の実施形態におけるセットアップフォーマットの形式を例示する図である。
【図４】図４は、本発明の第１の実施形態に係る情報処理装置が各種処理を実行する際の機能的な構成を例示するブロック図である。
【図５】図５は、本発明の第１の実施形態に係る情報処理装置が実行するバックアップ処理の具体例を示すフローチャートである。
【図６】図６は、本発明の第１の実施形態に係る情報処理装置が実行するリストア処理の具体例を示すフローチャート（１／２）である。
【図７】図７は、本発明の第１の実施形態に係る情報処理装置が実行するリストア処理の具体例を示すフローチャート（２／２）である。
【図８】図８は、本発明の第１の実施形態の変形例に係る情報処理装置の機能的な構成を例示するブロック図である。
【図９】図９は、本発明の第２の実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。
【図１０】図１０は、本発明の第２の実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。
【図１１】図１１は、本発明の各実施形態に係る情報処理装置、あるいは、その構成要素を実現可能なハードウェアの構成を例示する図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施する形態について図面を参照して詳細に説明する。以下の各実施形態に記載されている構成は例示であり、本発明の技術範囲はそれらには限定されない。
【００２０】
まず、本発明の各実施形態に関する説明に先立って、本発明の理解を容易にするため、本発明に関する技術的背景等について説明する。以下の説明においては、ＢＩＯＳに設定可能な、システムの設定情報を「システム設定情報」と称する。また、情報処理システムのユーザ等により、係るシステム設定情報に設定されるデータ（例えば設定値）等のセットを、「セットアップデータ」と称する。ＢＩＯＳに設定可能なシステム設定情報は、例えば、システムの設定に関する１以上の設定項目（セットアップ項目）を含む。この場合、セットアップデータは、例えば、各セットアップ項目に設定された設定データのセットである。
【００２１】
コンピュータ等の情報処理システムのユーザは、例えば、ＢＩＯＳの実行プログラムあるいはＢＩＯＳ設定用の実行プログラムを実行することにより、当該ＢＩＯＳに関する各種設定を実行可能である。以下、「プログラム」は、コンピュータ・プログラム等の、任意のソフトウェア・プログラムを表す。また、「実行プログラム」は、情報処理システムを構成する演算処理装置において実行可能な形式に変換されたプログラム（例えば、各種実行バイナリのファイル等）を表す。
【００２２】
ユーザ等により実行されたＢＩＯＳに関する設定は、例えば、ＮＶＲＡＭ領域にセットアップデータとして保存される。ＢＩＯＳ（ＢＩＯＳの実行プログラム）は、係るセットアップデータに従って各種処理を実行する。
【００２３】
情報処理システムの起動中にＢＩＯＳが使用可能なリソースが限られていることや、情報処理システムの起動を高速化する目的から、システム設定情報に含まれる設定項目ごとに、その設定値（設定データ）のみがＮＶＲＡＭ領域に保存される場合がある。即ち、この場合、ＮＶＲＡＭ領域には、システムに関する各種設定データの値のみが、セットアップデータとして保存される。
【００２４】
この場合、例えば、ＢＩＯＳの実装コードは、システム設定情報に含まれる設定項目ごとに、ＮＶＲＡＭに保存されたセットアップデータの先頭から所定のオフセット量だけ離間した領域のデータを、設定データとして取得するよう実装される。そして、係るＢＩＯＳの実装コードをコンパイルすることにより、システム設定情報に含まれる設定項目ごとに、所定のオフセット量に基づいて特定の領域アクセスする実行プログラム（機械解釈可能な機械コード）が生成される。即ち、係るＢＩＯＳの実行プログラムは、システム設定情報に含まれる設定項目ごとに、当該設定項目に関する設定データを所定の領域から取得する。
【００２５】
ＢＩＯＳの変更（アップデート等）により、システム設定情報の構成が変更されると、各設定項目に関するセットアップデータの先頭からのオフセットが変わってしまうことから、互換性が損なわれる。より具体的には、例えば、設定項目の増減、設定項目ごとのデータサイズの変更、あるいは、設定項目の配置の変更等に起因して、各設定項目に関してＢＩＯＳの実行プログラムがアクセスする、セットアップデータの先頭からのオフセットが変わってしまう場合がある。この場合、更新された新たなＢＩＯＳが、係るＢＩＯＳの更新前にＮＶＲＡＭ領域に保存されていたセットアップデータを読み込んでも（アクセスしても）、正しい設定データを取得できない可能性が有る。
【００２６】
上記にしたように、このような変更がある場合には、ＢＩＯＳを更新する際にＮＶＲＡＭ領域も書き換える必要がある。しかしながら、係る領域の書き換えは、領域の消去（クリア）を伴うため、既存の設定が消えてしまうことから、ユーザ等による再設定（即ち、復旧作業）が必要となる。係る復旧作業は、ユーザ等に対する負担となる。また、係る復旧作業に伴い、人為的なミスが発生する可能性が有る。
【００２７】
そこで、本発明者は、ＢＩＯＳの更新等により、システム設定情報の構成（例えば、設定項目の増減等）が変更された場合でも、変更前に設定したセットアップデータを復旧可能な技術を着想した。即ち、本発明に係る技術は、例えばＶＮＲＡＭ領域の書き換え（クリア）が行われた場合であっても、ユーザの手動による各設定項目に対する際設定を必要とせず、変更前のセットアップデータを用いて、システムに関する設定を復旧可能である。以下の各実施形態において、本発明に係る技術について詳細に説明する。
【００２８】
なお、以下の各実施形態に記載した情報処理装置は１以上の専用のハードウェア装置、あるいは、コンピュータ等の汎用のハードウェア装置を用いて実現可能である。以下の各実施形態における情報処理装置は単体の装置として実現されてもよく、複数のハードウェア装置により構成されたシステムとして実現されてもよい。情報処理装置を実現可能なハードウェア構成（例えば図１１）については後述する。
【００２９】
＜第１の実施形態＞
（第１の実施形態の概要）
本発明の第１の実施形態について、図面を参照して説明する。まず、本実施形態を実現可能な情報処理装置の概念的な構成について、図１を参照して説明する。
【００３０】
図１に例示するように、本実施形態を実現可能な情報処理装置１００は、ＢＩＯＳ実行部（演算処理部）１０１と、ＢＩＯＳ保持部１０２と、バックアップデータ保持部１０３と、を有する。情報処理装置１００を構成するこれらの構成要素の間は、任意の通信手段（例えば、通信バス等）により通信可能に接続されている。
【００３１】
ＢＩＯＳ保持部１０２は、図示しないＢＩＯＳの実行プログラムと、システム設定情報に設定された設定データのセットであるセットアップデータとを保持する。
【００３２】
バックアップデータ保持部１０３は、特定のタイミングにおけるセットアップデータが設定されたシステム設定情報を、バックアップデータとして保持する。
【００３３】
ＢＩＯＳ保持部１０２、及び、バックアップデータ保持部１０３は、例えば、それぞれＦｌａｓｈ  ＲＯＭ等の記憶デバイスを用いて実現可能である。
【００３４】
ＢＩＯＳ実行部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算装置であり、ＢＩＯＳ保持部に保持されたＢＩＯＳの実行プログラムを読み込んで実行する。
【００３５】
上記のように構成された情報処理装置１００は、概略以下のように動作する。なお、以下において説明する動作は、ＢＩＯＳ実行部がＢＩＯＳの実行プログラムを実行することにより実現される。
【００３６】
まず、ＢＩＯＳ実行部１０１は、ＢＩＯＳの実行プログラムに含まれる情報を用いて、セットアップフォーマット（例えば図３）を生成する。係るセットアップフォーマットは、例えば、ＢＩＯＳの実行プログラムに含まれるとともに、そのコンパイル時にサイズや配置等が決まるセットアップ構造体に基づいて生成される。
【００３７】
システム設定情報に変更が発生した場合、ＢＩＯＳ実行部１０１は、ＢＩＯＳ保持部１０２に保持されたセットアップデータを、上記セットアップフォーマットに反映することにより、バックアップデータを生成する。ＢＩＯＳ実行部１０１は、係るバックアップデータを、バックアップデータ保持部１０３に保存する。
【００３８】
ＢＩＯＳ実行部１０１は、ＢＩＯＳが更新された場合には、バックアップデータ保持部１０３に保存されたバックアップデータを用いて、更新されたＢＩＯＳの実行プログラムに含まれる情報に基づいて生成されたセットアップフォーマットに、設定データを反映する。この場合、ＢＩＯＳ実行部１０１は、セットアップフォーマットに含まれる設定項目のうち、バックアップデータに含まれる設定項目と共通する設定項目について、バックアップデータに含まれるデータを反映する。そして、ＢＩＯＳ実行部１０１は、そのセットアップフォーマットを用いて、ＢＩＯＳ保持部１０２に設定データを保存する（即ち、ＢＩＯＳ保持部１０２のセットアップデータを書き換える。）これにより、ＢＩＯＳ実行部１０１は、ＢＩＯＳ保持部に保持された設定データがクリアされた場合であっても、バックアップデータを用いて変更前の設定データを復旧可能である。
【００３９】
（第１の実施形態の具体的な構成）
次に、本実施形態における情報処理装置のより具体的な構成について、図面を参照して説明する。図２は、本実施形態における情報処理装置２００の機能的な構成を例示するブロック図である。図２を参照すると、情報処理装置２００は、演算処理部（ＣＰＵ）２０１と、ＢＩＯＳ保持部２０２と、バックアップデータ保持部２０３と、メモリ部２０４とを備える。
【００４０】
演算処理部２０１は、任意のプログラムを実行可能なＣＰＵ等の演算処理装置である。演算処理部２０１は、図１におけるＢＩＯＳ実行部１０１と同様としてもよい。係る演算処理部２０１は、後述するＢＩＯＳの実行プログラムを実行可能である。
【００４１】
ＢＩＯＳ保持部２０２は、例えば、Ｆｌａｓｈ  ＲＯＭ等の不揮発性記憶デバイスにより実現された記憶手段である。係るＦｌａｓｈ  ＲＯＭは、例えば、フラッシュメモリや、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ＰＲＯＭ）等のデバイスを用いて実現可能である。
【００４２】
ＢＩＯＳ保持部２０２は、ユーザ等により設定されたセットアップデータを保持するＢＩＯＳセットアップ保持領域２０２ａを含む。係るＢＩＯＳセットアップ保持領域２０２ａは、例えば、Ｆｌａｓｈ  ＲＯＭ内に設けられたＮＶＲＡＭ等により実現可能である。また、ＢＩＯＳ保持部２０２は、ＢＩＯＳの実行プログラム（以下、「ＢＩＯＳプログラム」と称する場合がある）２０２ｃが配置された、ＢＩＯＳプログラム保持領域２０２ｂを含む。
【００４３】
ＢＩＯＳプログラム２０２ｃは、ＢＩＯＳに関する各種処理が実装された実行プログラムであり、セットアップフォーマット２０２ｄを含む。係るＢＩＯＳプログラム２０２ｃは、例えば、セットアップフォーマット２０２ｄに相当するデータ構造（例えば構造体等）が組み込まれたＢＩＯＳの実装コードをコンパイルすることにより生成可能である。セットアップフォーマットについては後述する。
【００４４】
バックアップデータ保持部２０３は、ＢＩＯＳに関するデータ（特には、上記セットアップデータ）をバックアップ可能な記憶領域である。より具体的には、例えば、バックアップデータ保持部２０３は、特定のタイミングにおけるセットアップデータをバックアップデータとして保持してもよい。バックアップデータ保持部２０３は、例えばＦｌａｓｈ  ＲＯＭ等の不揮発記憶デバイスを用いて実現可能である。なお、図２においては、ＢＩＯＳ保持部２０２と、バックアップデータ保持部２０３とは、個別の構成要素として図示されているが、これらは一つの記憶デバイスにおける異なる記憶領域を用いて実現されてもよい。
【００４５】
メモリ部２０４は、任意の記憶デバイスであり、例えば、揮発性のＲＡＭデバイス等を用いて実現可能である。係るメモリ部２０４には、例えば、演算処理部２０１において実行される各種プログラム、あるいは、当該プログラムにおいて参照されるデータ等が展開される。例えば、演算処理部２０１は、ＢＩＯＳプログラム２０２ｃをメモリ部２０４に読み込み、その読み込まれた実行プログラムを実行してもよい。
【００４６】
次に、本実施形態におけるセットアップフォーマット２０２ｄについて説明する。図３は、本実施形態におけるセットアップフォーマット２０２ｄの形式を例示する図である。図３に例示するように、セットアップフォーマット２０２ｄは、ＢＩＯＳプログラムのバージョン情報等が格納されるヘッダ情報３０１と、エントリ３０２とから構成される。セットアップフォーマット２０２ｄに含まれるエントリ３０２の数は、システム設定情報に含まれる設定項目の数等に応じて、任意に定められてよい。システム設定情報に含まれる一つの設定項目に対して、一つのエントリ３０２が割り当てられる。セットアップフォーマットは、システム設定情報に設定可能な全ての設定項目について、それぞれに対応するエントリを含んでもよい。
【００４７】
各エントリ３０２は、データサイズ３０３と、セットアップ名３０４と、設定値３０５とをから構成される。データサイズ３０３は、各エントリのデータサイズを表す。より具体的には、係るデータサイズは、設定値３０５のデータサイズ（例えば、バイト単位等）であってもよい。なお、各エントリのデータサイズは、例えば、所定の固定サイズであってもよい。セットアップ名３０４は、エントリ３０２が対応する設定項目を識別可能な識別情報である。例えば、セットアップ名３０４は、設定項目の名称を表す文字列であってもよい。上記に限定されず、セットアップ名３０４には、例えば、設定項目を識別可能なＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）が設定されてもよい。設定値３０５は、セットアップ名３０４により表される設定項目に設定される値（設定データ）である。
【００４８】
セットアップフォーマット２０２ｄは、例えば、ＢＩＯＳをコンパイルした際に、システム設定情報の構成順に、データサイズ３０３と、セットアップ名３０４とが設定される。なお、この際、設定値３０５には、デフォルトの値が設定されてもよく、値が設定されなくてもよい。また、セットアップフォーマット２０２ｄの全体のサイズを表すために、セットアップフォーマット２０２ｄには、最後のエントリとして、データサイズ「０（ゼロ）」のエントリが追加される。これにより、係るデータサイズ「０（ゼロ）」のエントリが、セットアップフォーマット２０２ｄに含まれるエントリの終わりであることを示す。
【００４９】
次に、図４乃至図７を参照して本実施形態の動作について説明する。
【００５０】
まず、図４及び図５を参照して、情報処理装置２００による、システム設定情報（より具体的には、システム設定情報に設定されるセットアップデータ）のバックアップ処理について説明する。図４は、図３に例示した情報処理装置２００が処理を実行する際の機能的な構成を例示するブロック図である。図５は、システム設定情報のバックアップ処理を実行する際の、情報処理システム２００の動作を例示するフローチャートである。より具体的には、図５に例示するフローチャートは、演算処理部２０１により実行されるＢＩＯＳプログラム２０２ｃの動作を表す。以下、演算処理部２０１によって実行されるＢＩＯＳプログラム２０２ｃを、単に「ＢＩＯＳプログラム」と称する場合がある。
【００５１】
図５に例示するように、まず、ユーザ等により、ＢＩＯＳに関する設定が変更される（ステップＳ５０１）。係る変更は、例えば、ユーザが、ＢＩＯＳプログラム２０２ｃあるいはＢＩＯＳの設定用実行プログラム（不図示）を実行することにより、システム設定情報に含まれる特定の設定項目に対する変更等を指示した場合に発生する。なお、係る設定の変更処理は、例えば、ＢＩＯＳセットアップ保持領域に保持されたセットアップデータを直接変更することにより実行されてもよい。
【００５２】
ＢＩＯＳの設定（あるいはセットアップデータ）に変更がある場合（ステップＳ５０２においてＹＥＳ）、ＢＩＯＳプログラムは、自プログラムが保持するセットアップフォーマット（２０２ｄ）を取得する（ステップＳ５０３）。ＢＩＯＳプログラムは、取得したセットアップフォーマットを、メモリ部２０４に展開してもよい。なお、ステップＳ５０２においてＮＯの場合（即ち、ＢＩＯＳの設定に変更が無い場合）、ＢＩＯＳプログラムは処理を終了してもよい。
【００５３】
次に、ＢＩＯＳプログラムは、ＢＩＯＳセットアップ保持領域２０２ａから、セットアップデータを取得する（ステップＳ５０４）。即ち、ＢＩＯＳプログラムは、例えば、ＢＩＯＳの設定に変更が発生したタイミングにおける、セットアップデータを取得する。
【００５４】
次に、ＢＩＯＳプログラムは、ステップＳ５０３において取得したセットアップフォーマットに、ステップＳ５０４において取得したセットアップデータを代入する。より具体的には、ＢＩＯＳプログラムは、セットアップフォーマットの各設定項目のエントリに含まれる設定値に対して、セットアップデータから取得した各設定項目の値（設定データ）を代入する。
【００５５】
ＢＩＯＳプログラムは、例えば、システム設定情報の構成順に、セットアップデータから各設定項目に関する設定データを取得し、係る設定データをセットアップフォーマットにおける対応するエントリに代入してもよい。この際、ＢＩＯＳプログラムは、例えば、セットアップフォーマットにおける各エントリのデータサイズを用いて、セットアップデータに含まれる各エントリに対応する設定データを特定してもよい。例えば、具体例として、ＢＩＯＳプログラムがＮ番目（例えばＮは自然数）のエントリにアクセスする場合を想定する。この場合、ＢＩＯＳプログラムは、例えば、セットアップフォーマットにおけるエントリ１（１番目のエントリ)から、エントリＮ−１（Ｎ番目より一つ前のエントリ）までの各エントリのデータサイズ（図３の３０３）を加算した値を算出する。ＢＩＯＳプログラムは、上記算出した値に、ヘッダ情報（図３の３０１）のサイズ等、所定の値を加算してもよい。そして、ＢＩＯＳプログラムは上記算出した値を用いて、セットアップデータに含まれる、Ｎ番目のエントリに対応する設定データのオフセット位置を算出してもよい。なお、Ｎが１の場合（１番目のエントリの場合）、ＢＩＯＳプログラムはセットアップデータの先頭（あるいは、先頭から上記所定の値だけ離間した位置）から、係るオフセット位置を算出してもよい。
【００５６】
なお、上記に限定されず、ＢＩＯＳプログラムは、他の任意の方法により、セットアップフォーマットに対して、セットアップデータの値を代入してもよい。例えば、ＢＩＯＳプログラムは、ステップＳ５０３において取得したセットアップフォーマットを展開したメモリ部２０４の特定領域に、ステップＳ５０４において取得したセットアップデータに含まれるデータを読み込んでもよい。セットアップフォーマットが構造体等の所定のデータ構造により実現される場合を想定する。係るデータ構造のサイズは、例えば、コンパイル時に定まる場合がある。セットアップデータと、セットアップフォーマットとのデータ構造が一致している場合、ＢＩＯＳプログラムは、セットアップフォーマットを展開したメモリ領域にセットアップデータを読み込むことにより、セットアップフォーマットにセットアップデータを代入可能である。
【００５７】
また、ＢＩＯＳプログラムは、当該ＢＩＯＳプログラムのバージョン情報等、ヘッダ情報（３０１）をセットアップフォーマットに設定してもよい。これにより、ＢＩＯＳプログラムは、バックアップデータ２０３ａの元になるセットアップ情報２０４ａを生成する（ステップＳ５０５）。
【００５８】
係るセットアップ情報２０４ａは、ＢＩＯＳセットアップ保持領域２０２ａに保持されたセットアップデータ（設定データ）を、セットアップフォーマットに反映（代入）することにより生成されたデータである。より具体的には、セットアップ情報２０４ａは、例えば、特定のタイミングにおいてＢＩＯＳセットアップ保持領域２０２ａに保持されていたセットアップデータ（設定データ）がセットアップフォーマットに反映されたデータである。セットアップ情報２０４ａは、図３に例示するセットアップフォーマットに具体的な値が設定されたデータであり、エントリごとに、データサイズ３０３、セットアップ名３０４、設定値３０５を含む。
【００５９】
次に、ＢＩＯＳプログラムは、バックアップデータ保持部２０３に、セットアップ情報２０４ａをバックアップデータ２０３ａとして保存する（ステップＳ５０６）。上記したように、ＢＩＯＳプログラムは、ＢＩＯＳの設定に変更が生じたタイミングにおいて、ＢＩＯＳセットアップ保持領域２０２ａから取得したセットアップデータをセットアップフォーマット２０２ｄに代入し、セットアップ情報２０４ａを生成する。即ち、ＢＩＯＳの設定に変更が生じたタイミングにおけるセットアップデータを含むセットアップ情報２０４ａが、バックアップデータ２０３ａとして、バックアップデータ保持部２０３に保存される。
【００６０】
これにより、ＢＩＯＳプログラムは、特定のタイミング（例えば、ＢＩＯＳの設定が変更された場合）における、セットアップデータをバックアップすることが可能である。また、係るバックアップデータ２０３ａには、図３に例示するようなセットアップフォーマットを構成するデータが含まれることから、設定項目を識別可能な情報（例えば、セットアップ名）が含まれる。これより、係るバックアップデータから、個別のエントリ（設定項目）に関する設定値（設定データ）を抽出することが可能である。なお、係るバックアップデータ２０３ａは、バックアップを取得したタイミングに応じて複数保存されてもよく、最新のバックアップデータのみが保存されてもよい。
【００６１】
なお、上記セットアップデータのバックアップは、ＢＩＯＳの設定に変更が生じたタイミングに限定されず、任意のタイミングにおいて実行されてもよい。係るバックアップが実行されるタイミングは、例えば、情報処理装置２００のユーザ等により、適宜設定されてよい。即ち、係るバックアップは、例えば、任意のユーザ操作等に基づいて実行されてもよく、特定のスケジュールに沿って実行されてもよい。
【００６２】
次に、図４、図６、及び、図７を参照して、セットアップデータをリストア（復旧）する動作について説明する。図６及び図７は、情報処理装置２００による、セットアップデータのリストア処理の過程を例示するフローチャートである。より具体的には、図６及び図７に例示するフローチャートは、演算処理部２０１により実行されるＢＩＯＳプログラム２０２ｃの動作を表す。
【００６３】
なお、以下の説明においては、ＢＩＯＳ（ＢＩＯＳプログラムを含む）が更新されたことを想定し、係るＢＩＯＳの更新に伴い、システム設定情報の構成が変更されたことを想定する。即ち、更新後のＢＩＯＳプログラムが、ＢＩＯＳプログラム保持領域２０２ｂに保存され、情報処理装置２００が起動される際、係る更新後のＢＩＯＳプログラムが実行される。また、ＢＩＯＳの更新に伴い、ＢＩＯＳセットアップ保持領域２０２ａに保持されたセットアップデータが更新される。この場合、ＢＩＯＳセットアップ保持領域２０２ａのセットアップデータはクリアされてもよく、規定値（デフォルト値）が設定されてもよい。なお、更新後の新たなシステム設定情報に対するセットアップデータと、更新前のセットアップデータとでは、各設定項目に対するデータの配置（オフセット等）が異なる。以下、情報処理装置２００の動作について説明する。
【００６４】
まず、（更新された）ＢＩＯＳプログラムは、情報処理装置２００の起動（ブート）中に、バックアップデータ保持部２０３から、バックアップデータ２０３ａを取得する（ステップＳ６０１）。
【００６５】
ＢＩＯＳプログラムは、バックアップデータ２０３ａのヘッダ情報（図３の３０１）を参照する。そして、ＢＩＯＳプログラムは、バックアップデータ２０３ａに登録されたＢＩＯＳバージョンと、実行されている当該プログラム（更新されたＢＩＯＳプログラム）自体のバージョンとが一致するか確認する（ステップＳ６０２）。
【００６６】
係る比較の結果、これらのＢＩＯＳのバージョンが一致しない場合（ステップＳ６０２においてＮＯ）、ＢＩＯＳプログラムは、セットアップ復元処理を実行する（ステップＳ６０３）。なお、ステップＳ６０２においてＹＥＳ（バージョンが一致する場合）には、ＢＩＯＳプログラムは、処理を終了してもよく、必要に応じて他の任意の処理を続行してもよい。
【００６７】
次に、セットアップ復元処理（ステップＳ６０３）について、図７を参照して説明する。
【００６８】
まず、ＢＩＯＳプログラムは、自プログラムが保持するセットアップフォーマット２０２ｄを取得する（ステップＳ７０１）。
【００６９】
次に、ＢＩＯＳプログラムは、ＢＩＯＳセットアップ保持領域２０２ａから、セットアップデータを取得する（ステップＳ７０２）。上記したように、ＢＩＯＳ更新に伴い、ＢＩＯＳセットアップ保持領域２０２ａがクリアされた場合、取得したセットアップデータには、規定値（デフォルト値）が設定されていてもよい。
【００７０】
次に、ＢＩＯＳプログラムは、ステップＳ７０１において取得したセットアップフォーマットに、ステップＳ７０２において取得したセットアップデータを代入し、セットアップ情報０２０４ａを生成する（ステップＳ７０３）。
【００７１】
次に、ＢＩＯＳプログラムは、生成したセットアップ情報２０４ａに含まれる全てのエントリについて、バックアップデータ２０３ａを用いて、設定値を復旧する（ステップＳ７０４及び、ステップＳ７０５ａ乃至ステップＳ７０５ｂの繰り返し処理）。
【００７２】
具体的には、ＢＩＯＳプログラムは、まず、カウンタＮをＮ＝１に初期化する（ステップＳ７０４）。
【００７３】
次に、ＢＩＯＳプログラムは、セットアップ情報２０４ａにおけるＮ番目のエントリのデータサイズを確認する（ステップＳ７０６）。
【００７４】
セットアップ情報２０４ａにおけるＮ番目のエントリのデータサイズが、サイズ「０（ゼロ）」ではない場合（ステップＳ７０６においてＮＯ）、ＢＩＯＳプログラムは、以下の処理を実行する。まず、ＢＩＯＳプログラムは、バックアップデータ保持部２０３に保存されたバックアップデータ２０３ａに、セットアップ情報２０４ａのＮ番目のエントリと共通するエントリが存在するか否かを確認する（ステップＳ７０７）。より具体的には、ＢＩＯＳプログラムは、バックアップデータ２０３ａに、セットアップ情報２０４ａのＮ番目のエントリと共通するセットアップ名（図３の３０４）を有するエントリが存在するか否かを確認してもよい。
【００７５】
係る比較の結果、共通するエントリが存在する場合（ステップＳ７０８においてＹＥＳ）、バックアップデータ２０３ａに設定された設定値（設定データ）を用いて、セットアップ情報２０４ａのエントリの設定値を更新する（ステップＳ７０９）。
【００７６】
次に、ＢＩＯＳプログラムは、カウンタＮを更新（例えばインクリメント）し（ステップＳ７１０）、セットアップ情報２０４ａに含まれる次のエントリについて処理を続行する（ステップＳ７０５ｂ）。
【００７７】
なお、ステップＳ７０８においてＮＯ場合（即ち、共通するエントリが存在しない場合）、ＢＩＯＳプログラムは、ステップＳ７１０から処理を続行する。
【００７８】
ステップＳ７０６においてデータサイズが「０」のエントリ（最後のエントリ）を検出した場合（ステップＳ７０６においてＹＥＳ）、ＢＩＯＳプログラムは、セットアップ情報２０４ａに設定された設定値（設定データ）を、ＢＩＯＳセットアップ保持領域２０２ａに反映する（ステップＳ７１１）。即ち、ＢＩＯＳプログラムは、セットアップ情報２０４ａの全てのエントリについて、バックアップデータからの復元処理を完了した場合、復元されたセットアップ情報２０４ａを用いて、セットアップデータを更新する。より具体的には、ＢＩＯＳプログラムは、セットアップ情報２０４ａに設定された設定データを用いて、ＢＩＯＳセットアップ保持領域２０２ａにおけるセットアップデータを更新する。
【００７９】
次に、ＢＩＯＳプログラムは、セットアップ情報２０４ａをバックアップデータ保持部２０３に、バックアップデータ２０３ａとして保存する。
【００８０】
上記動作により、ＢＩＯＳプログラムは、セットアップデータをリストア（復旧）する処理を完了する。
【００８１】
上記のように構成された本実施形態における情報処理装置２００は、ＢＩＯＳが更新された際に、バックアップデータ保持部２０３に保存されたバックアップデータ２０３ａを用いて、セットアップデータを復旧可能である。
【００８２】
より具体的には、情報処理装置２００は、例えばセットアップフォーマットを含むＢＩＯＳプログラムを実行し、特定のタイミングにおけるセットアップデータが反映されたセットアップ情報２０４ａを、バックアップデータ２０３ａとして保存可能である。即ち、特定のタイミングにおいてＢＩＯＳの設定情報（セットアップデータ）として、設定項目を特定可能な情報と、その設定項目のデータサイズを表す情報と、その設定項目の具体的な設定値とが、バックアップデータ２０３ａに保存される。
【００８３】
ＢＩＯＳの更新等に伴いシステム設定情報の構成が変更されると、変更後のＢＩＯＳプログラムが保持するセットアップフォーマットもシステム設定情報の構成に合せて変更される可能性が有る。より具体的には、例えば、係るセットアップフォーマットに含まれるエントリの数がシステム設定情報の構成に合せて増減する可能性が有る。これに対して、本実施形態における情報処理装置２００は、更新されたセットアップフォーマットと、バックアップデータ２０３ａとにおいて共通するエントリを検出する。そして、情報処理装置２００は、当該検出したエントリの設定値（設定データ）を、バックアップデータ２０３ａから、更新されたセットアップフォーマットに反映する。
【００８４】
これにより、本実施形態における情報処理装置２００は、変更前の特定のタイミングにおいてバックアップデータに設定された設定値を、変更後のタイミングにおいてＢＩＯＳに対するセットアップデータに対して復旧可能である。
【００８５】
以上より、本実施形態における情報処理装置２００によれば、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能である。これにより、情報処理装置２００のユーザ等が、ＢＩＯＳに関する設定を復旧する負担が軽減される。
【００８６】
＜第１の実施形態の変形例＞
次に、上記第１の実施形態の変形例について図面を参照して説明する。本変形例においては、上記第１の実施形態と同様の構成については、同様の参照符号を付すことにより、詳細な説明を省略する。
【００８７】
図８に例示するように、本変形例における情報処理装置８００は、ＢＭＣ８０１（ＢＭＣ：Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）を備える。情報処理装置８００においては、ＢＭＣ８０１のみが上記第１の実施形態と相違し、その他の構成は上記第１の実施形態と同様である。以下、係る相違について説明する。
【００８８】
上記第１の実施形態に係る情報処理装置２００においては、ＢＩＯＳに関する設定情報（セットアップデータ）をバックアップする記憶領域として、バックアップデータ保持部２０３が用いられる。係るバックアップデータ保持部２０３は、他の構成要素と通信バス等を介して接続されたＦｌａｓｈ  ＲＯＭ等により実現される。また、係るバックアップデータ保持部２０３に対するアクセス（バックアップデータの保存及び参照等）は、例えば、ＢＩＯＳプログラムにより制御される。
【００８９】
バックアップデータを保持する領域は、上記に限らず、ＢＩＯＳプログラムからデータの保存及び参照できる領域があれば良い。そこで、本変形例における情報処理装置８００においては、一例として、ＢＩＯＳプログラムはＢＭＣ８０１を介してバックアップデータを保存及び参照を実行する。ＢＭＣ８０１は、例えば、情報処理装置８００を構成するベースボード（主基板）に実装された管理装置であり、情報処理装置８００に関する各種監視処理を実行可能である。本変形例におけるＢＭＣ８０１は、上記第１の実施形態におけるバックアップデータ保持部２０３に相当する記憶領域（図８における８０１ａ）を管理する。ＢＭＣ８０１は、例えば、特定の通信インタフェース及びプロトコル（例えば、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ））を介して他の構成要素と通信可能である。
【００９０】
本変形例においては、ＢＩＯＳプログラムは、例えばＩＰＭＩ通信を介して、ＢＭＣ１３３が管理するバックアップデータ保持部８０１ａにバックアップデータ８０１ｂを保存し、また、保存されたバックアップデータ８０１ｂを参照する。
【００９１】
なお、上記に限定されず、バックアップデータを保存する領域はＢＭＣ８０１以外の任意の記憶領域に設けられてもよい。
【００９２】
上記のように構成された本変形例における情報処理装置８００は、上記第１の実施形態における情報処理装置２００と同様の機能を実現可能である。よって、本変形例における情報処理装置８００は、上記第１の実施形態と同様の効果を奏する。
【００９３】
＜第２の実施形態＞
次に、本発明の第２の実施形態について図９を参照して説明する。図９は、本実施形態における情報処理装置９００の機能的な構成を例示するブロック図である。
【００９４】
図９に例示するように、本実施形態における情報処理装置９００は、ＢＩＯＳ処理部９０１と、第１の記憶部９０２と、第２の記憶部９０３と、を有する。情報処理装置９００を構成するこれらの構成要素の間は、任意の通信手段を用いて通信可能に接続されていてもよい。以下、それぞれの構成要素について説明する。
【００９５】
第１の記憶部９０２は、システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定される設定データを保持する。第１の記憶部９０２は、システム設定情報に含まれる各設定項目に設定せれた設定データのセットを保存してもよい。係る設定データは、例えば、上記第１の実施形態におけるセットアップデータ（あるいは、セットアップデータを構成する設定データ）と同様としてもよい。なお、第１の記憶部９０２は、例えば、上記第１の実施形態におけるＢＩＯＳセットアップ保持領域２０２ａと同様としてもよい。第１の記憶部９０２は、例えば、Ｆｌａｓｈ  ＲＯＭ等の任意の記憶デバイスを用いて実現可能である。
【００９６】
第２の記憶部９０３は、特定の上記設定データが反映された設定項目を含む、システム設定情報である第２の設定情報を保持する。係る第２の設定情報は、例えば、上記第１の実施形態におけるバックアップデータ２０３ａと同等としてもよい。また、係る第２の記憶部９０３は、例えば、上記第１の実施形態におけるバックアップデータ保持部２０３と同様としてもよい。第２の記憶部９０３は、例えば、Ｆｌａｓｈ  ＲＯＭ等の任意の記憶デバイスを用いて実現可能である。
【００９７】
なお、上記説明した本実施形態における第１の記憶部９０２及び第２の記憶部９０３は、それぞれ異なる記憶デバイス（例えばＦｌａｓｈ  ＲＯＭ等）を用いて実現されてもよい。また、第１の記憶部９０２及び第２の記憶部９０３は、図１０に例示するように一つの記憶デバイス（図１０の１００１）における異なる記憶領域を用いて実現されてもよい。
【００９８】
ＢＩＯＳ処理部９０１は、上記システム設定情報である第１の設定情報を含み、自装置（情報処理装置９００）におけるＢＩＯＳに関する処理を実行する。係る第１の設定情報は、例えば、上記第１の実施形態におけるセットアップフォーマットと同様としてもよい。なお、係るＢＩＯＳは情報処理装置９００における任意の記憶手段を用いて記憶されてよい。係る記憶手段は、例えば、第１の記憶部であってもよい。なお、上記に限定されず、ＢＩＯＳは、例えば、情報処理装置９００の外部から、情報処理装置９００を起動するタイミングにおいて任意の通信ネットワーク等を介して提供されてもよい。
【００９９】
ＢＩＯＳ処理部９０１は、システムの設定が変更された場合、第１の記憶部から読み出した設定データを、ＢＩＯＳに含まれる第１の設定情報に反映することにより、上記第２の設定情報を生成する。そして、ＢＩＯＳ処理部９０１は、生成した第２の設定情報を、第２の記憶部に保存する。
【０１００】
また、ＢＩＯＳ処理部９０１は、上記設定データの更新が必要な場合、上記第２の記憶部から読み出した第２の設定情報を読み出す。そして、ＢＩＯＳ処理部９０１は、第１の設定情報に含まれる設定項目のうち、読み出した第の２設定情報に含まれる設定項目と共通する設定項目を、当該第２の設定情報に含まれる設定項目に設定されたデータにより更新する。ＢＩＯＳ処理部９０１は、当該更新した第１の設定情報に基づいて第１の記憶部における設定データを更新する。
【０１０１】
係るＢＩＯＳ処理部９０１は、例えば、任意の演算処理装置（ＣＰＵ）を用いてＢＩＯＳに関する処理を実行可能なプログラム（コンピュータ・プログラム等のソフトウェア・プログラム）を実行することにより実現可能である。係るＢＩＯＳ処理部９０１は、例えば、上記第１の実施形態における演算処理部２０１と、ＢＩＯＳプログラム２０２ｃとを用いて実現可能である。
【０１０２】
上記のように構成された本実施形態における情報処理装置９００は、システムの設定が変更された際に、当該システムの設定に関する設定データを、第２の記憶部にバックアップ可能である。また、第１の記憶部に保存された設定データの更新が必要である場合、第２の記憶物にバックアップされた設定データ（第２の設定情報）と、第１の設定情報とを用いて、第１の記憶部に保存された設定データを更新（復旧）可能である。以上より、本実施形態における情報処理装置９００によれば、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能である。これにより、情報処理装置９００のユーザ等が、ＢＩＯＳに関する設定を復旧する負担が軽減される。
【０１０３】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
【０１０４】
以下の説明において、上記各実施形態において説明した情報処理装置（１００、２００、８００、９００）をまとめて、単に「情報処理装置」と称する。また情報処理装置の各構成要素を、単に「情報処理装置の構成要素」と称する。
【０１０５】
上記各実施形態において説明した情報処理装置は、１つ又は複数の専用のハードウェア装置により構成されてもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア（処理ロジックを実装した集積回路あるいは記憶デバイス等）として実現されてもよい。
【０１０６】
例えば、情報処理装置を専用のハードウェアにより実現する場合、係る情報処理装置の構成要素は、それぞれの機能を提供可能な集積回路をＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）等により実装されてもよい。この場合、例えば、情報処理装置の構成要素が保持するデータは、ＳｏＣとして統合されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域やフラッシュメモリ領域に記憶されてもよい。また、この場合、情報処理装置の各構成要素を接続する通信回線としては、周知の通信バスを採用してもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素間をピアツーピアで接続してもよい。情報処理装置を複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、任意の通信手段（有線、無線、またはそれらの組み合わせ）により通信可能に接続されていてもよい。
【０１０７】
また、上述した情報処理装置は、図１１に例示するような汎用のハードウェアと、係るハードウェアによって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、情報処理装置は、任意の数のハードウェア装置及びソフトウェア・プログラムにより構成されてもよい。
【０１０８】
図１１における演算装置１１０１は、汎用のＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ等の演算処理装置である。演算装置１１０１は、例えば後述する不揮発性記憶装置１１０３に記憶された各種ソフトウェア・プログラムを記憶装置１１０２に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態における情報処理装置の構成要素は、演算装置１１０１により実行されるソフトウェア・プログラムとして実現可能である。例えば、上記各実施形態におけるＢＩＯＳ実行部１０１、演算処理部２０１、ＢＩＯＳ処理部９０１等は、演算装置１１０１を用いて実現可能である。
【０１０９】
記憶装置１１０２は、演算装置１１０１から参照可能な、ＲＡＭ等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置１１０２は、揮発性のメモリ装置であってもよい。例えば、上記各実施形態におけるメモリ部２０４は、記憶装置１１０２を用いて実現可能である。
【０１１０】
不揮発性記憶装置１１０３は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置１１０３は、各種ソフトウェア・プログラムやデータ等を記憶可能である。例えば、上記各実施形態におけるＢＩＯＳ保持部（１０２、２０２）、バックアップデータ保持部（１０３、２０３）、第１の記憶部９０２、第２の記憶部９０３等は、不揮発性記憶装置１１０３を用いて実現可能である。
【０１１１】
ネットワークインタフェース１１０６は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置等を採用してもよい。
【０１１２】
ドライブ装置１１０４は、例えば、後述する記録媒体１１０５に対するデータの読み込みや書き込みを処理する装置である。
【０１１３】
記録媒体１１０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【０１１４】
入出力インタフェース１１０７は、外部装置との間の入出力を制御する装置である。
【０１１５】
なお、上記各実施形態における情報処理装置は、ネットワークインタフェース１１０６、ドライブ装置１１０４、及び、入出力インタフェース１１０７を備えてもよく、備えなくともよい。
【０１１６】
上述した各実施形態を例に説明した本発明における情報処理装置は、例えば、図１１に例示するハードウェア装置に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより、実現されてもよい。より具体的には、例えば、係る装置に対して供給したソフトウェア・プログラムを、演算装置１１０１が実行することによって、本発明が実現されてもよい。この場合、係るハードウェア装置で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。例えば、係るソフトウェア・プログラムは、上記各実施形態におけるＢＩＯＳプログラム２０２ｃであってもよい。
【０１１７】
更に、上記ソフトウェア・プログラムは記録媒体１１０５に記録されてもよい。この場合、上記ソフトウェア・プログラムは、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置１１０４を通じて不揮発性記憶装置１１０３に格納されるよう構成されてもよい。
【０１１８】
なお、上記の場合において、上記情報処理装置への各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
【０１１９】
そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置と独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記憶媒体を含む。
【０１２０】
また、上述した情報処理装置は、図１１に例示するハードウェア装置を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、図１１に例示するハードウェア装置の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図１１に例示するハードウェア装置を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。
【０１２１】
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【符号の説明】
【０１２２】
１００  情報処理装置
１０１  ＢＩＯＳ実行部
１０２  ＢＩＯＳ保持部
１０３  バックアップデータ保持部
２００  情報処理装置
２０１  演算処理部
２０２  ＢＩＯＳ保持部
２０３  バックアップデータ保持部
２０４  メモリ部
８００  情報処理装置
８０１  ＢＭＣ
９００  情報処理装置
９０１  ＢＩＯＳ処理部
９０２  第１の記憶部
９０３  第２の記憶部
１１０１  演算装置
１１０２  記憶装置
１１０３  不揮発性記憶装置
１１０４  ドライブ装置
１１０５  記録媒体
１１０６  ネットワークインタフェース
１１０７  入出力インタフェース
【図１】
0006582438.tif 000002
【図２】
0006582438.tif 000003
【図３】
0006582438.tif 000004
【図４】
0006582438.tif 000005
【図５】
0006582438.tif 000006
【図６】
0006582438.tif 000007
【図７】
0006582438.tif 000008
【図８】
0006582438.tif 000009
【図９】
0006582438.tif 000010
【図１０】
0006582438.tif 000011
【図１１】
0006582438.tif 000012