JP6582438B2 - 情報処理装置、システム設定方法、及び、コンピュータ・プログラム - Google Patents

情報処理装置、システム設定方法、及び、コンピュータ・プログラム Download PDF

Info

Publication number
JP6582438B2
JP6582438B2 JP2015034185A JP2015034185A JP6582438B2 JP 6582438 B2 JP6582438 B2 JP 6582438B2 JP 2015034185 A JP2015034185 A JP 2015034185A JP 2015034185 A JP2015034185 A JP 2015034185A JP 6582438 B2 JP6582438 B2 JP 6582438B2
Authority
JP
Japan
Prior art keywords
setting
information
data
setting information
bios
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015034185A
Other languages
English (en)
Other versions
JP2016157245A (ja
Inventor
晴康 早坂
晴康 早坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015034185A priority Critical patent/JP6582438B2/ja
Publication of JP2016157245A publication Critical patent/JP2016157245A/ja
Application granted granted Critical
Publication of JP6582438B2 publication Critical patent/JP6582438B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、システムの設定情報を復旧する技術に関する。
コンピュータ等の情報処理システム(情報処理装置を含む)には、当該システムを構成する各種ハードウェア装置の初期化や、当該システムに接続された周辺機器(各種入出力装置等)の制御等を実行するBIOS(Basic Input Output System)が搭載される場合がある。係るBIOSは、システムの設定に関する設定情報に従って、上記システムの起動時に各種処理を実行する。
BIOSに関する設定情報は、例えば、不揮発性記憶デバイスにおける特定の領域(例えば、Flash ROM(Read Only Memory)内のNVRAM(不揮発性メモリ:Non−Volatile Random Access Memory)領域等)に保存される。係るBIOSは、不具合の修正や新機能の追加等のため、更新(アップデート)される場合がある。係るBIOSが更新されると、BIOSに関する設定情報も併せて更新される場合がある。
係るBIOSの更新あるいは設定変更等に関連する技術が、例えば、以下に例示する特許文献に開示されている。
特許文献1(特開平11−161484号公報)は、フラッシュROMに書き込まれたBIOSのパラメータの変更を容易にする技術を開示する。特許文献1に開示された技術は、フラッシュROMからRAM(Random Access Memory)に転記されたBIOSの実行コードに含まれるパラメータを、RAM上で書き換えることにより、BIOSのパラメータ(設定情報)を変更する。
特許文献2(特開2000−235483号公報)は、ユーザの操作に基づいて、BIOS設定を特定の記憶領域へ退避する処理と、退避したBIOS設定を特定の記憶領域から他の記憶領域へ復元する処理とを実行する技術を開示する。
特許文献3(特開2012−137905号公報)は、着脱可能な外部メモリを用いて、BIOS設定をバックアップ、及び、リストアする技術を開示する。
なお、BIOSを利用する技術の一例として、例えば、特許文献4が存在する。特許文献4(特開2006−344042号公報)は、システムに固有なハードウェアに関する情報を、BIOSを介して取得し、その情報を用いて当該システムのバックアップ及びリストアを制御する技術を開示する。
特開平11−161484号公報 特開2000−235483号公報 特開2012−137905号公報 特開2006−344042号公報
例えば、BIOSの変更(アップデート等)等により、設定情報の構成に変更が発生すると、NVRAMに保存された設定情報を表すデータと、更新されたBIOSが用いる更新後の設定情報を表すデータとの互換性が損なわれる可能性が有る。係る設定情報の構成の変更には、例えば、設定情報に含まれるセットアップ項目(設定項目)の増減や、サイズの変更、セットアップ項目の配置の変更等が含まれる。この場合、VNRAMに保存されていた設定情報を表すデータを、変更後の新たなBIOSの設定にそのまま用いることができない可能性がある。また、このような変更がある場合には、例えば、NVRAM領域も書き換える必要があるが、係る書き換えにより、既存の設定が消滅し、ユーザ等による再設定(復旧処理)が必要となる。係る再設定(復旧処理)は、ユーザ等に対する負担となり、人為的なミスの要因となる。
これに対して、上記特許文献1に開示された技術は、RAM上の特定領域にパラメータが存在することを前提としており、BIOSの更新に起因してパラメータの配置やサイズ等が変化した場合には対応が困難である。また、特許文献2、特許文献3に開示された技術は、いずれもBIOSに関する設定情報を所定の記憶領域にそのまま退避し、復元する技術である。即ち、これらの技術は、BIOSに関する設定情報のサイズ、あるいは、種類等が変更された場合、変更前の設定を正常に復元できない可能性が有る。
本発明は上記のような事情を鑑みてなされたものである。即ち、本発明は、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能な情報処理装置等を提供することを主たる目的の一つとする。
上記の目的を達成すべく、本発明の一態様に係る情報処理装置は、以下の構成を備える。即ち、本発明の一態様に係る情報処理装置は、システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定される設定データを保持する第1の記憶手段と、特定の上記設定データが設定された上記システム設定情報である第2の設定情報を保持する第2の記憶手段と、自装置におけるBIOS(Basic Input Output System)に関する処理を実行可能なBIOS処理手段と、を備え、上記BIOS処理手段は、上記システムの設定が変更された場合、第1の記憶手段から読み出した上記設定データを、上記システム設定情報である第1の設定情報に反映することにより生成した上記第2の設定情報を、上記第2の記憶手段に保存し、上記設定データの更新が必要な場合、上記第1の設定情報に含まれる上記設定項目のうち、上記第2の記憶手段から読み出した上記第2の設定情報に含まれる上記設定項目と共通する上記設定項目を、当該第2の設定情報に含まれる上記設定項目に設定されたデータにより更新し、当該更新した第1の設定情報に基づいて上記第1の記憶手段における上記設定データを更新する。
また、本発明の他の態様に係る情報処理装置は、以下の構成を備える。即ち、本発明の一態様に係る情報処理装置は、システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定されるデータである設定データを保持する第1の記憶手段と、特定のタイミングにおける上記設定データが反映された上記設定項目を含む上記システム設定情報である第2の設定情報を保持する第2の記憶手段と、自装置におけるBIOSに関する処理を実行可能なBIOS処理手段と、を備え、上記BIOS処理手段は、上記特定のタイミングよりも後のタイミングにおいて、上記第1の記憶領域における上記設定データの更新が必要な場合、上記システム設定情報である第1の設定情報に含まれる上記設定項目のうち、上記第2の記憶手段から読み出した上記第2の設定情報に含まれる上記設定項目と共通する上記設定項目を、当該第2の設定情報に含まれる上記設定項目に設定されたデータを用いて更新し、当該更新した第1の設定情報に基づいて上記第1の記憶領域における上記設定データを更新する。
また、本発明の一態様に係るシステム設定方法は、以下の構成を備える。即ち、本発明の一態様に係るシステム設定方法は、情報処理装置が、システムの設定が変更されたと判定した場合に任意のデータを記憶可能な記憶領域である第1の記憶領域から読み出した当該システムの設定に関する設定データを、当該システムの設定に関する情報を表すシステム設定情報である第1の設定情報に含まれる設定項目に反映し、当該第1の設定情報に基づいて第2の設定情報を生成するとともに、生成した第2の設定情報を任意のデータを記憶可能な記憶領域である第2の記憶領域に保存し、上記設定データの更新が必要であると判定した場合に、上記第2の記憶手段に保存された上記第2の設定情報を読み出すとともに、上記第1の設定情報に含まれる上記設定項目のうち、当該読み出した第2の設定情報に含まれる上記設定項目と共通する上記設定項目を、当該第2の設定情報に含まれる上記設定項目に設定されたデータにより更新し、当該更新した第1の設定情報に基づいて上記第1の記憶手段における上記設定データを更新する構成を有する。
また、同目的は、上記構成を有する情報処理装置、あるいはシステム設定方法を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記録媒体等によっても達成される。
本発明によれば、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能である。
図1は、本発明の第1の実施形態に係る情報処理装置の概念的な構成を例示するブロック図である。 図2は、本発明の第1の実施形態に係る情報処理装置の機能的な構成の具体例を示すブロック図である。 図3は、本発明の第1の実施形態におけるセットアップフォーマットの形式を例示する図である。 図4は、本発明の第1の実施形態に係る情報処理装置が各種処理を実行する際の機能的な構成を例示するブロック図である。 図5は、本発明の第1の実施形態に係る情報処理装置が実行するバックアップ処理の具体例を示すフローチャートである。 図6は、本発明の第1の実施形態に係る情報処理装置が実行するリストア処理の具体例を示すフローチャート(1/2)である。 図7は、本発明の第1の実施形態に係る情報処理装置が実行するリストア処理の具体例を示すフローチャート(2/2)である。 図8は、本発明の第1の実施形態の変形例に係る情報処理装置の機能的な構成を例示するブロック図である。 図9は、本発明の第2の実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。 図10は、本発明の第2の実施形態に係る情報処理装置の機能的な構成を例示するブロック図である。 図11は、本発明の各実施形態に係る情報処理装置、あるいは、その構成要素を実現可能なハードウェアの構成を例示する図である。
以下、本発明を実施する形態について図面を参照して詳細に説明する。以下の各実施形態に記載されている構成は例示であり、本発明の技術範囲はそれらには限定されない。
まず、本発明の各実施形態に関する説明に先立って、本発明の理解を容易にするため、本発明に関する技術的背景等について説明する。以下の説明においては、BIOSに設定可能な、システムの設定情報を「システム設定情報」と称する。また、情報処理システムのユーザ等により、係るシステム設定情報に設定されるデータ(例えば設定値)等のセットを、「セットアップデータ」と称する。BIOSに設定可能なシステム設定情報は、例えば、システムの設定に関する1以上の設定項目(セットアップ項目)を含む。この場合、セットアップデータは、例えば、各セットアップ項目に設定された設定データのセットである。
コンピュータ等の情報処理システムのユーザは、例えば、BIOSの実行プログラムあるいはBIOS設定用の実行プログラムを実行することにより、当該BIOSに関する各種設定を実行可能である。以下、「プログラム」は、コンピュータ・プログラム等の、任意のソフトウェア・プログラムを表す。また、「実行プログラム」は、情報処理システムを構成する演算処理装置において実行可能な形式に変換されたプログラム(例えば、各種実行バイナリのファイル等)を表す。
ユーザ等により実行されたBIOSに関する設定は、例えば、NVRAM領域にセットアップデータとして保存される。BIOS(BIOSの実行プログラム)は、係るセットアップデータに従って各種処理を実行する。
情報処理システムの起動中にBIOSが使用可能なリソースが限られていることや、情報処理システムの起動を高速化する目的から、システム設定情報に含まれる設定項目ごとに、その設定値(設定データ)のみがNVRAM領域に保存される場合がある。即ち、この場合、NVRAM領域には、システムに関する各種設定データの値のみが、セットアップデータとして保存される。
この場合、例えば、BIOSの実装コードは、システム設定情報に含まれる設定項目ごとに、NVRAMに保存されたセットアップデータの先頭から所定のオフセット量だけ離間した領域のデータを、設定データとして取得するよう実装される。そして、係るBIOSの実装コードをコンパイルすることにより、システム設定情報に含まれる設定項目ごとに、所定のオフセット量に基づいて特定の領域アクセスする実行プログラム(機械解釈可能な機械コード)が生成される。即ち、係るBIOSの実行プログラムは、システム設定情報に含まれる設定項目ごとに、当該設定項目に関する設定データを所定の領域から取得する。
BIOSの変更(アップデート等)により、システム設定情報の構成が変更されると、各設定項目に関するセットアップデータの先頭からのオフセットが変わってしまうことから、互換性が損なわれる。より具体的には、例えば、設定項目の増減、設定項目ごとのデータサイズの変更、あるいは、設定項目の配置の変更等に起因して、各設定項目に関してBIOSの実行プログラムがアクセスする、セットアップデータの先頭からのオフセットが変わってしまう場合がある。この場合、更新された新たなBIOSが、係るBIOSの更新前にNVRAM領域に保存されていたセットアップデータを読み込んでも(アクセスしても)、正しい設定データを取得できない可能性が有る。
上記にしたように、このような変更がある場合には、BIOSを更新する際にNVRAM領域も書き換える必要がある。しかしながら、係る領域の書き換えは、領域の消去(クリア)を伴うため、既存の設定が消えてしまうことから、ユーザ等による再設定(即ち、復旧作業)が必要となる。係る復旧作業は、ユーザ等に対する負担となる。また、係る復旧作業に伴い、人為的なミスが発生する可能性が有る。
そこで、本発明者は、BIOSの更新等により、システム設定情報の構成(例えば、設定項目の増減等)が変更された場合でも、変更前に設定したセットアップデータを復旧可能な技術を着想した。即ち、本発明に係る技術は、例えばVNRAM領域の書き換え(クリア)が行われた場合であっても、ユーザの手動による各設定項目に対する際設定を必要とせず、変更前のセットアップデータを用いて、システムに関する設定を復旧可能である。以下の各実施形態において、本発明に係る技術について詳細に説明する。
なお、以下の各実施形態に記載した情報処理装置は1以上の専用のハードウェア装置、あるいは、コンピュータ等の汎用のハードウェア装置を用いて実現可能である。以下の各実施形態における情報処理装置は単体の装置として実現されてもよく、複数のハードウェア装置により構成されたシステムとして実現されてもよい。情報処理装置を実現可能なハードウェア構成(例えば図11)については後述する。
<第1の実施形態>
(第1の実施形態の概要)
本発明の第1の実施形態について、図面を参照して説明する。まず、本実施形態を実現可能な情報処理装置の概念的な構成について、図1を参照して説明する。
図1に例示するように、本実施形態を実現可能な情報処理装置100は、BIOS実行部(演算処理部)101と、BIOS保持部102と、バックアップデータ保持部103と、を有する。情報処理装置100を構成するこれらの構成要素の間は、任意の通信手段(例えば、通信バス等)により通信可能に接続されている。
BIOS保持部102は、図示しないBIOSの実行プログラムと、システム設定情報に設定された設定データのセットであるセットアップデータとを保持する。
バックアップデータ保持部103は、特定のタイミングにおけるセットアップデータが設定されたシステム設定情報を、バックアップデータとして保持する。
BIOS保持部102、及び、バックアップデータ保持部103は、例えば、それぞれFlash ROM等の記憶デバイスを用いて実現可能である。
BIOS実行部101は、例えば、CPU(Central Processing Unit)等の演算装置であり、BIOS保持部に保持されたBIOSの実行プログラムを読み込んで実行する。
上記のように構成された情報処理装置100は、概略以下のように動作する。なお、以下において説明する動作は、BIOS実行部がBIOSの実行プログラムを実行することにより実現される。
まず、BIOS実行部101は、BIOSの実行プログラムに含まれる情報を用いて、セットアップフォーマット(例えば図3)を生成する。係るセットアップフォーマットは、例えば、BIOSの実行プログラムに含まれるとともに、そのコンパイル時にサイズや配置等が決まるセットアップ構造体に基づいて生成される。
システム設定情報に変更が発生した場合、BIOS実行部101は、BIOS保持部102に保持されたセットアップデータを、上記セットアップフォーマットに反映することにより、バックアップデータを生成する。BIOS実行部101は、係るバックアップデータを、バックアップデータ保持部103に保存する。
BIOS実行部101は、BIOSが更新された場合には、バックアップデータ保持部103に保存されたバックアップデータを用いて、更新されたBIOSの実行プログラムに含まれる情報に基づいて生成されたセットアップフォーマットに、設定データを反映する。この場合、BIOS実行部101は、セットアップフォーマットに含まれる設定項目のうち、バックアップデータに含まれる設定項目と共通する設定項目について、バックアップデータに含まれるデータを反映する。そして、BIOS実行部101は、そのセットアップフォーマットを用いて、BIOS保持部102に設定データを保存する(即ち、BIOS保持部102のセットアップデータを書き換える。)これにより、BIOS実行部101は、BIOS保持部に保持された設定データがクリアされた場合であっても、バックアップデータを用いて変更前の設定データを復旧可能である。
(第1の実施形態の具体的な構成)
次に、本実施形態における情報処理装置のより具体的な構成について、図面を参照して説明する。図2は、本実施形態における情報処理装置200の機能的な構成を例示するブロック図である。図2を参照すると、情報処理装置200は、演算処理部(CPU)201と、BIOS保持部202と、バックアップデータ保持部203と、メモリ部204とを備える。
演算処理部201は、任意のプログラムを実行可能なCPU等の演算処理装置である。演算処理部201は、図1におけるBIOS実行部101と同様としてもよい。係る演算処理部201は、後述するBIOSの実行プログラムを実行可能である。
BIOS保持部202は、例えば、Flash ROM等の不揮発性記憶デバイスにより実現された記憶手段である。係るFlash ROMは、例えば、フラッシュメモリや、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable PROM)等のデバイスを用いて実現可能である。
BIOS保持部202は、ユーザ等により設定されたセットアップデータを保持するBIOSセットアップ保持領域202aを含む。係るBIOSセットアップ保持領域202aは、例えば、Flash ROM内に設けられたNVRAM等により実現可能である。また、BIOS保持部202は、BIOSの実行プログラム(以下、「BIOSプログラム」と称する場合がある)202cが配置された、BIOSプログラム保持領域202bを含む。
BIOSプログラム202cは、BIOSに関する各種処理が実装された実行プログラムであり、セットアップフォーマット202dを含む。係るBIOSプログラム202cは、例えば、セットアップフォーマット202dに相当するデータ構造(例えば構造体等)が組み込まれたBIOSの実装コードをコンパイルすることにより生成可能である。セットアップフォーマットについては後述する。
バックアップデータ保持部203は、BIOSに関するデータ(特には、上記セットアップデータ)をバックアップ可能な記憶領域である。より具体的には、例えば、バックアップデータ保持部203は、特定のタイミングにおけるセットアップデータをバックアップデータとして保持してもよい。バックアップデータ保持部203は、例えばFlash ROM等の不揮発記憶デバイスを用いて実現可能である。なお、図2においては、BIOS保持部202と、バックアップデータ保持部203とは、個別の構成要素として図示されているが、これらは一つの記憶デバイスにおける異なる記憶領域を用いて実現されてもよい。
メモリ部204は、任意の記憶デバイスであり、例えば、揮発性のRAMデバイス等を用いて実現可能である。係るメモリ部204には、例えば、演算処理部201において実行される各種プログラム、あるいは、当該プログラムにおいて参照されるデータ等が展開される。例えば、演算処理部201は、BIOSプログラム202cをメモリ部204に読み込み、その読み込まれた実行プログラムを実行してもよい。
次に、本実施形態におけるセットアップフォーマット202dについて説明する。図3は、本実施形態におけるセットアップフォーマット202dの形式を例示する図である。図3に例示するように、セットアップフォーマット202dは、BIOSプログラムのバージョン情報等が格納されるヘッダ情報301と、エントリ302とから構成される。セットアップフォーマット202dに含まれるエントリ302の数は、システム設定情報に含まれる設定項目の数等に応じて、任意に定められてよい。システム設定情報に含まれる一つの設定項目に対して、一つのエントリ302が割り当てられる。セットアップフォーマットは、システム設定情報に設定可能な全ての設定項目について、それぞれに対応するエントリを含んでもよい。
各エントリ302は、データサイズ303と、セットアップ名304と、設定値305とをから構成される。データサイズ303は、各エントリのデータサイズを表す。より具体的には、係るデータサイズは、設定値305のデータサイズ(例えば、バイト単位等)であってもよい。なお、各エントリのデータサイズは、例えば、所定の固定サイズであってもよい。セットアップ名304は、エントリ302が対応する設定項目を識別可能な識別情報である。例えば、セットアップ名304は、設定項目の名称を表す文字列であってもよい。上記に限定されず、セットアップ名304には、例えば、設定項目を識別可能なID(Identifier)が設定されてもよい。設定値305は、セットアップ名304により表される設定項目に設定される値(設定データ)である。
セットアップフォーマット202dは、例えば、BIOSをコンパイルした際に、システム設定情報の構成順に、データサイズ303と、セットアップ名304とが設定される。なお、この際、設定値305には、デフォルトの値が設定されてもよく、値が設定されなくてもよい。また、セットアップフォーマット202dの全体のサイズを表すために、セットアップフォーマット202dには、最後のエントリとして、データサイズ「0(ゼロ)」のエントリが追加される。これにより、係るデータサイズ「0(ゼロ)」のエントリが、セットアップフォーマット202dに含まれるエントリの終わりであることを示す。
次に、図4乃至図7を参照して本実施形態の動作について説明する。
まず、図4及び図5を参照して、情報処理装置200による、システム設定情報(より具体的には、システム設定情報に設定されるセットアップデータ)のバックアップ処理について説明する。図4は、図3に例示した情報処理装置200が処理を実行する際の機能的な構成を例示するブロック図である。図5は、システム設定情報のバックアップ処理を実行する際の、情報処理システム200の動作を例示するフローチャートである。より具体的には、図5に例示するフローチャートは、演算処理部201により実行されるBIOSプログラム202cの動作を表す。以下、演算処理部201によって実行されるBIOSプログラム202cを、単に「BIOSプログラム」と称する場合がある。
図5に例示するように、まず、ユーザ等により、BIOSに関する設定が変更される(ステップS501)。係る変更は、例えば、ユーザが、BIOSプログラム202cあるいはBIOSの設定用実行プログラム(不図示)を実行することにより、システム設定情報に含まれる特定の設定項目に対する変更等を指示した場合に発生する。なお、係る設定の変更処理は、例えば、BIOSセットアップ保持領域に保持されたセットアップデータを直接変更することにより実行されてもよい。
BIOSの設定(あるいはセットアップデータ)に変更がある場合(ステップS502においてYES)、BIOSプログラムは、自プログラムが保持するセットアップフォーマット(202d)を取得する(ステップS503)。BIOSプログラムは、取得したセットアップフォーマットを、メモリ部204に展開してもよい。なお、ステップS502においてNOの場合(即ち、BIOSの設定に変更が無い場合)、BIOSプログラムは処理を終了してもよい。
次に、BIOSプログラムは、BIOSセットアップ保持領域202aから、セットアップデータを取得する(ステップS504)。即ち、BIOSプログラムは、例えば、BIOSの設定に変更が発生したタイミングにおける、セットアップデータを取得する。
次に、BIOSプログラムは、ステップS503において取得したセットアップフォーマットに、ステップS504において取得したセットアップデータを代入する。より具体的には、BIOSプログラムは、セットアップフォーマットの各設定項目のエントリに含まれる設定値に対して、セットアップデータから取得した各設定項目の値(設定データ)を代入する。
BIOSプログラムは、例えば、システム設定情報の構成順に、セットアップデータから各設定項目に関する設定データを取得し、係る設定データをセットアップフォーマットにおける対応するエントリに代入してもよい。この際、BIOSプログラムは、例えば、セットアップフォーマットにおける各エントリのデータサイズを用いて、セットアップデータに含まれる各エントリに対応する設定データを特定してもよい。例えば、具体例として、BIOSプログラムがN番目(例えばNは自然数)のエントリにアクセスする場合を想定する。この場合、BIOSプログラムは、例えば、セットアップフォーマットにおけるエントリ1(1番目のエントリ)から、エントリN−1(N番目より一つ前のエントリ)までの各エントリのデータサイズ(図3の303)を加算した値を算出する。BIOSプログラムは、上記算出した値に、ヘッダ情報(図3の301)のサイズ等、所定の値を加算してもよい。そして、BIOSプログラムは上記算出した値を用いて、セットアップデータに含まれる、N番目のエントリに対応する設定データのオフセット位置を算出してもよい。なお、Nが1の場合(1番目のエントリの場合)、BIOSプログラムはセットアップデータの先頭(あるいは、先頭から上記所定の値だけ離間した位置)から、係るオフセット位置を算出してもよい。
なお、上記に限定されず、BIOSプログラムは、他の任意の方法により、セットアップフォーマットに対して、セットアップデータの値を代入してもよい。例えば、BIOSプログラムは、ステップS503において取得したセットアップフォーマットを展開したメモリ部204の特定領域に、ステップS504において取得したセットアップデータに含まれるデータを読み込んでもよい。セットアップフォーマットが構造体等の所定のデータ構造により実現される場合を想定する。係るデータ構造のサイズは、例えば、コンパイル時に定まる場合がある。セットアップデータと、セットアップフォーマットとのデータ構造が一致している場合、BIOSプログラムは、セットアップフォーマットを展開したメモリ領域にセットアップデータを読み込むことにより、セットアップフォーマットにセットアップデータを代入可能である。
また、BIOSプログラムは、当該BIOSプログラムのバージョン情報等、ヘッダ情報(301)をセットアップフォーマットに設定してもよい。これにより、BIOSプログラムは、バックアップデータ203aの元になるセットアップ情報204aを生成する(ステップS505)。
係るセットアップ情報204aは、BIOSセットアップ保持領域202aに保持されたセットアップデータ(設定データ)を、セットアップフォーマットに反映(代入)することにより生成されたデータである。より具体的には、セットアップ情報204aは、例えば、特定のタイミングにおいてBIOSセットアップ保持領域202aに保持されていたセットアップデータ(設定データ)がセットアップフォーマットに反映されたデータである。セットアップ情報204aは、図3に例示するセットアップフォーマットに具体的な値が設定されたデータであり、エントリごとに、データサイズ303、セットアップ名304、設定値305を含む。
次に、BIOSプログラムは、バックアップデータ保持部203に、セットアップ情報204aをバックアップデータ203aとして保存する(ステップS506)。上記したように、BIOSプログラムは、BIOSの設定に変更が生じたタイミングにおいて、BIOSセットアップ保持領域202aから取得したセットアップデータをセットアップフォーマット202dに代入し、セットアップ情報204aを生成する。即ち、BIOSの設定に変更が生じたタイミングにおけるセットアップデータを含むセットアップ情報204aが、バックアップデータ203aとして、バックアップデータ保持部203に保存される。
これにより、BIOSプログラムは、特定のタイミング(例えば、BIOSの設定が変更された場合)における、セットアップデータをバックアップすることが可能である。また、係るバックアップデータ203aには、図3に例示するようなセットアップフォーマットを構成するデータが含まれることから、設定項目を識別可能な情報(例えば、セットアップ名)が含まれる。これより、係るバックアップデータから、個別のエントリ(設定項目)に関する設定値(設定データ)を抽出することが可能である。なお、係るバックアップデータ203aは、バックアップを取得したタイミングに応じて複数保存されてもよく、最新のバックアップデータのみが保存されてもよい。
なお、上記セットアップデータのバックアップは、BIOSの設定に変更が生じたタイミングに限定されず、任意のタイミングにおいて実行されてもよい。係るバックアップが実行されるタイミングは、例えば、情報処理装置200のユーザ等により、適宜設定されてよい。即ち、係るバックアップは、例えば、任意のユーザ操作等に基づいて実行されてもよく、特定のスケジュールに沿って実行されてもよい。
次に、図4、図6、及び、図7を参照して、セットアップデータをリストア(復旧)する動作について説明する。図6及び図7は、情報処理装置200による、セットアップデータのリストア処理の過程を例示するフローチャートである。より具体的には、図6及び図7に例示するフローチャートは、演算処理部201により実行されるBIOSプログラム202cの動作を表す。
なお、以下の説明においては、BIOS(BIOSプログラムを含む)が更新されたことを想定し、係るBIOSの更新に伴い、システム設定情報の構成が変更されたことを想定する。即ち、更新後のBIOSプログラムが、BIOSプログラム保持領域202bに保存され、情報処理装置200が起動される際、係る更新後のBIOSプログラムが実行される。また、BIOSの更新に伴い、BIOSセットアップ保持領域202aに保持されたセットアップデータが更新される。この場合、BIOSセットアップ保持領域202aのセットアップデータはクリアされてもよく、規定値(デフォルト値)が設定されてもよい。なお、更新後の新たなシステム設定情報に対するセットアップデータと、更新前のセットアップデータとでは、各設定項目に対するデータの配置(オフセット等)が異なる。以下、情報処理装置200の動作について説明する。
まず、(更新された)BIOSプログラムは、情報処理装置200の起動(ブート)中に、バックアップデータ保持部203から、バックアップデータ203aを取得する(ステップS601)。
BIOSプログラムは、バックアップデータ203aのヘッダ情報(図3の301)を参照する。そして、BIOSプログラムは、バックアップデータ203aに登録されたBIOSバージョンと、実行されている当該プログラム(更新されたBIOSプログラム)自体のバージョンとが一致するか確認する(ステップS602)。
係る比較の結果、これらのBIOSのバージョンが一致しない場合(ステップS602においてNO)、BIOSプログラムは、セットアップ復元処理を実行する(ステップS603)。なお、ステップS602においてYES(バージョンが一致する場合)には、BIOSプログラムは、処理を終了してもよく、必要に応じて他の任意の処理を続行してもよい。
次に、セットアップ復元処理(ステップS603)について、図7を参照して説明する。
まず、BIOSプログラムは、自プログラムが保持するセットアップフォーマット202dを取得する(ステップS701)。
次に、BIOSプログラムは、BIOSセットアップ保持領域202aから、セットアップデータを取得する(ステップS702)。上記したように、BIOS更新に伴い、BIOSセットアップ保持領域202aがクリアされた場合、取得したセットアップデータには、規定値(デフォルト値)が設定されていてもよい。
次に、BIOSプログラムは、ステップS701において取得したセットアップフォーマットに、ステップS702において取得したセットアップデータを代入し、セットアップ情報0204aを生成する(ステップS703)。
次に、BIOSプログラムは、生成したセットアップ情報204aに含まれる全てのエントリについて、バックアップデータ203aを用いて、設定値を復旧する(ステップS704及び、ステップS705a乃至ステップS705bの繰り返し処理)。
具体的には、BIOSプログラムは、まず、カウンタNをN=1に初期化する(ステップS704)。
次に、BIOSプログラムは、セットアップ情報204aにおけるN番目のエントリのデータサイズを確認する(ステップS706)。
セットアップ情報204aにおけるN番目のエントリのデータサイズが、サイズ「0(ゼロ)」ではない場合(ステップS706においてNO)、BIOSプログラムは、以下の処理を実行する。まず、BIOSプログラムは、バックアップデータ保持部203に保存されたバックアップデータ203aに、セットアップ情報204aのN番目のエントリと共通するエントリが存在するか否かを確認する(ステップS707)。より具体的には、BIOSプログラムは、バックアップデータ203aに、セットアップ情報204aのN番目のエントリと共通するセットアップ名(図3の304)を有するエントリが存在するか否かを確認してもよい。
係る比較の結果、共通するエントリが存在する場合(ステップS708においてYES)、バックアップデータ203aに設定された設定値(設定データ)を用いて、セットアップ情報204aのエントリの設定値を更新する(ステップS709)。
次に、BIOSプログラムは、カウンタNを更新(例えばインクリメント)し(ステップS710)、セットアップ情報204aに含まれる次のエントリについて処理を続行する(ステップS705b)。
なお、ステップS708においてNO場合(即ち、共通するエントリが存在しない場合)、BIOSプログラムは、ステップS710から処理を続行する。
ステップS706においてデータサイズが「0」のエントリ(最後のエントリ)を検出した場合(ステップS706においてYES)、BIOSプログラムは、セットアップ情報204aに設定された設定値(設定データ)を、BIOSセットアップ保持領域202aに反映する(ステップS711)。即ち、BIOSプログラムは、セットアップ情報204aの全てのエントリについて、バックアップデータからの復元処理を完了した場合、復元されたセットアップ情報204aを用いて、セットアップデータを更新する。より具体的には、BIOSプログラムは、セットアップ情報204aに設定された設定データを用いて、BIOSセットアップ保持領域202aにおけるセットアップデータを更新する。
次に、BIOSプログラムは、セットアップ情報204aをバックアップデータ保持部203に、バックアップデータ203aとして保存する。
上記動作により、BIOSプログラムは、セットアップデータをリストア(復旧)する処理を完了する。
上記のように構成された本実施形態における情報処理装置200は、BIOSが更新された際に、バックアップデータ保持部203に保存されたバックアップデータ203aを用いて、セットアップデータを復旧可能である。
より具体的には、情報処理装置200は、例えばセットアップフォーマットを含むBIOSプログラムを実行し、特定のタイミングにおけるセットアップデータが反映されたセットアップ情報204aを、バックアップデータ203aとして保存可能である。即ち、特定のタイミングにおいてBIOSの設定情報(セットアップデータ)として、設定項目を特定可能な情報と、その設定項目のデータサイズを表す情報と、その設定項目の具体的な設定値とが、バックアップデータ203aに保存される。
BIOSの更新等に伴いシステム設定情報の構成が変更されると、変更後のBIOSプログラムが保持するセットアップフォーマットもシステム設定情報の構成に合せて変更される可能性が有る。より具体的には、例えば、係るセットアップフォーマットに含まれるエントリの数がシステム設定情報の構成に合せて増減する可能性が有る。これに対して、本実施形態における情報処理装置200は、更新されたセットアップフォーマットと、バックアップデータ203aとにおいて共通するエントリを検出する。そして、情報処理装置200は、当該検出したエントリの設定値(設定データ)を、バックアップデータ203aから、更新されたセットアップフォーマットに反映する。
これにより、本実施形態における情報処理装置200は、変更前の特定のタイミングにおいてバックアップデータに設定された設定値を、変更後のタイミングにおいてBIOSに対するセットアップデータに対して復旧可能である。
以上より、本実施形態における情報処理装置200によれば、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能である。これにより、情報処理装置200のユーザ等が、BIOSに関する設定を復旧する負担が軽減される。
<第1の実施形態の変形例>
次に、上記第1の実施形態の変形例について図面を参照して説明する。本変形例においては、上記第1の実施形態と同様の構成については、同様の参照符号を付すことにより、詳細な説明を省略する。
図8に例示するように、本変形例における情報処理装置800は、BMC801(BMC:Baseboard Management Controller)を備える。情報処理装置800においては、BMC801のみが上記第1の実施形態と相違し、その他の構成は上記第1の実施形態と同様である。以下、係る相違について説明する。
上記第1の実施形態に係る情報処理装置200においては、BIOSに関する設定情報(セットアップデータ)をバックアップする記憶領域として、バックアップデータ保持部203が用いられる。係るバックアップデータ保持部203は、他の構成要素と通信バス等を介して接続されたFlash ROM等により実現される。また、係るバックアップデータ保持部203に対するアクセス(バックアップデータの保存及び参照等)は、例えば、BIOSプログラムにより制御される。
バックアップデータを保持する領域は、上記に限らず、BIOSプログラムからデータの保存及び参照できる領域があれば良い。そこで、本変形例における情報処理装置800においては、一例として、BIOSプログラムはBMC801を介してバックアップデータを保存及び参照を実行する。BMC801は、例えば、情報処理装置800を構成するベースボード(主基板)に実装された管理装置であり、情報処理装置800に関する各種監視処理を実行可能である。本変形例におけるBMC801は、上記第1の実施形態におけるバックアップデータ保持部203に相当する記憶領域(図8における801a)を管理する。BMC801は、例えば、特定の通信インタフェース及びプロトコル(例えば、IPMI(Intelligent Platform Management Interface))を介して他の構成要素と通信可能である。
本変形例においては、BIOSプログラムは、例えばIPMI通信を介して、BMC133が管理するバックアップデータ保持部801aにバックアップデータ801bを保存し、また、保存されたバックアップデータ801bを参照する。
なお、上記に限定されず、バックアップデータを保存する領域はBMC801以外の任意の記憶領域に設けられてもよい。
上記のように構成された本変形例における情報処理装置800は、上記第1の実施形態における情報処理装置200と同様の機能を実現可能である。よって、本変形例における情報処理装置800は、上記第1の実施形態と同様の効果を奏する。
<第2の実施形態>
次に、本発明の第2の実施形態について図9を参照して説明する。図9は、本実施形態における情報処理装置900の機能的な構成を例示するブロック図である。
図9に例示するように、本実施形態における情報処理装置900は、BIOS処理部901と、第1の記憶部902と、第2の記憶部903と、を有する。情報処理装置900を構成するこれらの構成要素の間は、任意の通信手段を用いて通信可能に接続されていてもよい。以下、それぞれの構成要素について説明する。
第1の記憶部902は、システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定される設定データを保持する。第1の記憶部902は、システム設定情報に含まれる各設定項目に設定せれた設定データのセットを保存してもよい。係る設定データは、例えば、上記第1の実施形態におけるセットアップデータ(あるいは、セットアップデータを構成する設定データ)と同様としてもよい。なお、第1の記憶部902は、例えば、上記第1の実施形態におけるBIOSセットアップ保持領域202aと同様としてもよい。第1の記憶部902は、例えば、Flash ROM等の任意の記憶デバイスを用いて実現可能である。
第2の記憶部903は、特定の上記設定データが反映された設定項目を含む、システム設定情報である第2の設定情報を保持する。係る第2の設定情報は、例えば、上記第1の実施形態におけるバックアップデータ203aと同等としてもよい。また、係る第2の記憶部903は、例えば、上記第1の実施形態におけるバックアップデータ保持部203と同様としてもよい。第2の記憶部903は、例えば、Flash ROM等の任意の記憶デバイスを用いて実現可能である。
なお、上記説明した本実施形態における第1の記憶部902及び第2の記憶部903は、それぞれ異なる記憶デバイス(例えばFlash ROM等)を用いて実現されてもよい。また、第1の記憶部902及び第2の記憶部903は、図10に例示するように一つの記憶デバイス(図10の1001)における異なる記憶領域を用いて実現されてもよい。
BIOS処理部901は、上記システム設定情報である第1の設定情報を含み、自装置(情報処理装置900)におけるBIOSに関する処理を実行する。係る第1の設定情報は、例えば、上記第1の実施形態におけるセットアップフォーマットと同様としてもよい。なお、係るBIOSは情報処理装置900における任意の記憶手段を用いて記憶されてよい。係る記憶手段は、例えば、第1の記憶部であってもよい。なお、上記に限定されず、BIOSは、例えば、情報処理装置900の外部から、情報処理装置900を起動するタイミングにおいて任意の通信ネットワーク等を介して提供されてもよい。
BIOS処理部901は、システムの設定が変更された場合、第1の記憶部から読み出した設定データを、BIOSに含まれる第1の設定情報に反映することにより、上記第2の設定情報を生成する。そして、BIOS処理部901は、生成した第2の設定情報を、第2の記憶部に保存する。
また、BIOS処理部901は、上記設定データの更新が必要な場合、上記第2の記憶部から読み出した第2の設定情報を読み出す。そして、BIOS処理部901は、第1の設定情報に含まれる設定項目のうち、読み出した第の2設定情報に含まれる設定項目と共通する設定項目を、当該第2の設定情報に含まれる設定項目に設定されたデータにより更新する。BIOS処理部901は、当該更新した第1の設定情報に基づいて第1の記憶部における設定データを更新する。
係るBIOS処理部901は、例えば、任意の演算処理装置(CPU)を用いてBIOSに関する処理を実行可能なプログラム(コンピュータ・プログラム等のソフトウェア・プログラム)を実行することにより実現可能である。係るBIOS処理部901は、例えば、上記第1の実施形態における演算処理部201と、BIOSプログラム202cとを用いて実現可能である。
上記のように構成された本実施形態における情報処理装置900は、システムの設定が変更された際に、当該システムの設定に関する設定データを、第2の記憶部にバックアップ可能である。また、第1の記憶部に保存された設定データの更新が必要である場合、第2の記憶物にバックアップされた設定データ(第2の設定情報)と、第1の設定情報とを用いて、第1の記憶部に保存された設定データを更新(復旧)可能である。以上より、本実施形態における情報処理装置900によれば、システムに関する設定情報の構成が変更されても、変更前に設定された設定情報を復旧可能である。これにより、情報処理装置900のユーザ等が、BIOSに関する設定を復旧する負担が軽減される。
<ハードウェア及びソフトウェア・プログラム(コンピュータ・プログラム)の構成>
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
以下の説明において、上記各実施形態において説明した情報処理装置(100、200、800、900)をまとめて、単に「情報処理装置」と称する。また情報処理装置の各構成要素を、単に「情報処理装置の構成要素」と称する。
上記各実施形態において説明した情報処理装置は、1つ又は複数の専用のハードウェア装置により構成されてもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア(処理ロジックを実装した集積回路あるいは記憶デバイス等)として実現されてもよい。
例えば、情報処理装置を専用のハードウェアにより実現する場合、係る情報処理装置の構成要素は、それぞれの機能を提供可能な集積回路をSoC(System on a Chip)等により実装されてもよい。この場合、例えば、情報処理装置の構成要素が保持するデータは、SoCとして統合されたRAM(Random Access Memory)領域やフラッシュメモリ領域に記憶されてもよい。また、この場合、情報処理装置の各構成要素を接続する通信回線としては、周知の通信バスを採用してもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素間をピアツーピアで接続してもよい。情報処理装置を複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、任意の通信手段(有線、無線、またはそれらの組み合わせ)により通信可能に接続されていてもよい。
また、上述した情報処理装置は、図11に例示するような汎用のハードウェアと、係るハードウェアによって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、情報処理装置は、任意の数のハードウェア装置及びソフトウェア・プログラムにより構成されてもよい。
図11における演算装置1101は、汎用のCPU(中央処理装置:Central Processing Unit)やマイクロプロセッサ等の演算処理装置である。演算装置1101は、例えば後述する不揮発性記憶装置1103に記憶された各種ソフトウェア・プログラムを記憶装置1102に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態における情報処理装置の構成要素は、演算装置1101により実行されるソフトウェア・プログラムとして実現可能である。例えば、上記各実施形態におけるBIOS実行部101、演算処理部201、BIOS処理部901等は、演算装置1101を用いて実現可能である。
記憶装置1102は、演算装置1101から参照可能な、RAM等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置1102は、揮発性のメモリ装置であってもよい。例えば、上記各実施形態におけるメモリ部204は、記憶装置1102を用いて実現可能である。
不揮発性記憶装置1103は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置1103は、各種ソフトウェア・プログラムやデータ等を記憶可能である。例えば、上記各実施形態におけるBIOS保持部(102、202)、バックアップデータ保持部(103、203)、第1の記憶部902、第2の記憶部903等は、不揮発性記憶装置1103を用いて実現可能である。
ネットワークインタフェース1106は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のLAN(Local Area Network)接続用インタフェース装置等を採用してもよい。
ドライブ装置1104は、例えば、後述する記録媒体1105に対するデータの読み込みや書き込みを処理する装置である。
記録媒体1105は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
入出力インタフェース1107は、外部装置との間の入出力を制御する装置である。
なお、上記各実施形態における情報処理装置は、ネットワークインタフェース1106、ドライブ装置1104、及び、入出力インタフェース1107を備えてもよく、備えなくともよい。
上述した各実施形態を例に説明した本発明における情報処理装置は、例えば、図11に例示するハードウェア装置に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより、実現されてもよい。より具体的には、例えば、係る装置に対して供給したソフトウェア・プログラムを、演算装置1101が実行することによって、本発明が実現されてもよい。この場合、係るハードウェア装置で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。例えば、係るソフトウェア・プログラムは、上記各実施形態におけるBIOSプログラム202cであってもよい。
更に、上記ソフトウェア・プログラムは記録媒体1105に記録されてもよい。この場合、上記ソフトウェア・プログラムは、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置1104を通じて不揮発性記憶装置1103に格納されるよう構成されてもよい。
なお、上記の場合において、上記情報処理装置への各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置と独立した媒体に限らず、LANやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記憶媒体を含む。
また、上述した情報処理装置は、図11に例示するハードウェア装置を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、図11に例示するハードウェア装置の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図11に例示するハードウェア装置を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
100 情報処理装置
101 BIOS実行部
102 BIOS保持部
103 バックアップデータ保持部
200 情報処理装置
201 演算処理部
202 BIOS保持部
203 バックアップデータ保持部
204 メモリ部
800 情報処理装置
801 BMC
900 情報処理装置
901 BIOS処理部
902 第1の記憶部
903 第2の記憶部
1101 演算装置
1102 記憶装置
1103 不揮発性記憶装置
1104 ドライブ装置
1105 記録媒体
1106 ネットワークインタフェース
1107 入出力インタフェース

Claims (9)

  1. システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定される設定データを保持する第1の記憶手段と、
    特定の前記設定データが設定された前記システム設定情報である第2の設定情報を保持する第2の記憶手段と、
    自装置におけるBIOSに関する処理を実行可能なBIOS処理手段と、を備え、
    前記BIOS処理手段は、
    前記第1の記憶手段から任意のタイミングにおいて読み出した前記設定データを、前記システム設定情報である第1の設定情報に反映することにより生成した前記第2の設定情報を、前記設定データを読み出したタイミングに応じて、前記第2の記憶手段に複数保存し、
    前記第1の記憶手段に保持される設定データを更新する場合、特定の前記タイミングに応じて保存された第2の設定情報を、前記第2の記憶手段から読み出し、前記第1の設定情報に含まれる前記設定項目のうち、当該読み出した第2の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第2の設定情報に含まれる前記設定項目に設定されたデータにより更新し、当該更新した第1の設定情報に基づいて前記第1の記憶手段における前記設定データを更新する
    情報処理装置。
  2. 前記システム設定情報に含まれる設定項目には、少なくとも当該設定項目を識別可能な識別情報と、当該設定項目に設定されるデータとが関連付けて設定され、
    前記BIOS処理手段は、
    前記第1の記憶手段に保持される設定データを更新する場合、前記第1の設定情報に含まれる前記設定項目に設定された前記識別情報と、特定の前記タイミングに応じて保存された第2の設定情報に含まれる前記設定項目に設定された前記識別情報とを比較した結果に基づいて、前記第1の設定情報に含まれる前記設定項目と、当該第2の設定情報に含まれる前記設定項目とが等しいと判定した場合に、当該第1の設定情報に含まれる前記設定項目を、当該第2の設定情報に含まれる前記設定項目に設定されたデータを用いて更新する
    請求項1に記載の情報処理装置。
  3. 前記システム設定情報に含まれる設定項目には、更に、当該設定項目に設定されたデータのサイズを表す情報が設定され、
    前記BIOS処理手段は、
    前記第1の設定情報に含まれる設定項目に設定されたデータのサイズを表す情報を用いて、前記第1の記憶手段から読み出した前記設定データのうち、前記第1の設定情報に含まれる特定の設定項目に設定される設定データを特定し、当該特定した設定データを、当該特定の設定項目に設定されるデータに反映する
    請求項2に記載の情報処理装置。
  4. 前記システム設定情報には、自装置におけるBIOSのバージョンを表す情報が設定され、
    前記BIOS処理手段は、
    当該自装置におけるBIOSが更新された際、当該更新されたBIOSのバージョンと、特定の前記タイミングに応じて保存された第2の設定情報に設定されたBIOSのバージョンとを比較した結果が一致しない場合に、前記第1の記憶手段に記憶された前記設定データの更新が必要であると判定し、
    当該自装置におけるBIOSの更新により、前記第1の設定情報における設定項目の増減が生じた場合には、当該第1の設定情報に含まれる設定項目のうち、前記第2の記憶手段から読み出した当該第2の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第2の設定情報に含まれる前記設定項目に設定されたデータにより更新する
    請求項1乃至請求項3のいずれか情報処理装置。
  5. 前記BIOS処理手段は、
    前記第1の記憶手段に保持された、前記第1の設定情報を保持するBIOS実行手段を制御することにより、自装置におけるBIOSに関する処理を実行する、
    請求項1乃至請求項4のいずれかに記載の情報処理装置。
  6. 任意のデータを記憶可能な記憶領域である第1の記憶領域から任意のタイミングにおいて読み出したシステムの設定に関する設定データを、当該システムの設定に関する情報を表すシステム設定情報である第1の設定情報に含まれる設定項目に反映し、当該第1の設定情報に基づいて第2の設定情報を生成するとともに、生成した第2の設定情報を、前記設定データを読み出したタイミングに応じて、任意のデータを記憶可能な記憶領域である第2の記憶領域に複数保存する処理と、
    前記第1の記憶領域に保持される設定データを更新する場合に、
    特定の前記タイミングに応じて保存された第2の設定情報を、前記第2の記憶領域から読み出すとともに、前記第1の設定情報に含まれる前記設定項目のうち、当該読み出した第2の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第2の設定情報に含まれる前記設定項目に設定されたデータにより更新し、当該更新した第1の設定情報に基づいて前記第1の記憶領域における前記設定データを更新する処理と、をコンピュータに実行させる
    コンピュータ・プログラム。
  7. 前記第1の設定情報が、自コンピュータ・プログラムに組み込まれているか、又は、前記第1の設定情報が、自コンピュータ・プログラムと共に前記コンピュータに配置される、
    請求項6に記載のコンピュータ・プログラム。
  8. 任意のデータを記憶可能な記憶領域である第1の記憶領域から任意のタイミングにおいて読み出したシステムの設定に関する設定データを、当該システムの設定に関する情報を表すシステム設定情報である第1の設定情報に含まれる設定項目に反映し、当該第1の設定情報に基づいて第2の設定情報を生成するとともに、生成した第2の設定情報を、前記設定データを読み出したタイミングに応じて、任意のデータを記憶可能な記憶領域である第2の記憶領域に複数保存し、
    前記第1の記憶領域に保持される設定データを更新する場合に、
    特定の前記タイミングに応じて保存された第2の設定情報を、前記第2の記憶領域から読み出すとともに、前記第1の設定情報に含まれる前記設定項目のうち、当該読み出した第2の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第2の設定情報に含まれる前記設定項目に設定されたデータにより更新し、当該更新した第1の設定情報に基づいて前記第1の記憶領域における前記設定データを更新する
    システムの設定方法。
  9. システムの設定に関する情報を表すシステム設定情報に含まれる設定項目に設定されるデータである設定データを保持する第1の記憶手段と、
    任意のタイミングにおける前記設定データが反映された前記設定項目を含む前記システム設定情報である第2の設定情報を保持する第2の記憶手段と、
    自装置におけるBIOSに関する処理を実行可能なBIOS処理手段と、を備え、
    前記BIOS処理手段は、
    前記第1の記憶手段から前記任意のタイミングにおいて読み出した前記設定データを前記第1の設定情報に反映することにより生成した前記第2の設定情報を、前記設定データを読み出したタイミングに応じて、前記第2の記憶手段に複数保存し、
    前記任意のタイミングよりも後のタイミングにおいて、前記第1の記憶手段における前記第1の記憶手段に保持される設定データを更新する場合、特定の前記タイミングに応じて保存された第2の設定情報を、前記第2の記憶手段から読み出し、前記システム設定情報である第1の設定情報に含まれる前記設定項目のうち、当該読み出した第2の設定情報に含まれる前記設定項目と共通する前記設定項目を、当該第2の設定情報に含まれる前記設定項目に設定されたデータを用いて更新し、当該更新した第1の設定情報に基づいて前記第1の記憶手段における前記設定データを更新する
    情報処理装置。
JP2015034185A 2015-02-24 2015-02-24 情報処理装置、システム設定方法、及び、コンピュータ・プログラム Active JP6582438B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015034185A JP6582438B2 (ja) 2015-02-24 2015-02-24 情報処理装置、システム設定方法、及び、コンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015034185A JP6582438B2 (ja) 2015-02-24 2015-02-24 情報処理装置、システム設定方法、及び、コンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2016157245A JP2016157245A (ja) 2016-09-01
JP6582438B2 true JP6582438B2 (ja) 2019-10-02

Family

ID=56826253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015034185A Active JP6582438B2 (ja) 2015-02-24 2015-02-24 情報処理装置、システム設定方法、及び、コンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP6582438B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6753257B2 (ja) * 2016-10-04 2020-09-09 富士通株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
US10592232B2 (en) 2017-09-26 2020-03-17 Quanta Computer Inc. Preserving firmware setting during firmware update

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5126686B2 (ja) * 2009-01-06 2013-01-23 日本電気株式会社 情報処理装置、情報処理装置の動作方法及びそのプログラム
JP5183542B2 (ja) * 2009-03-24 2013-04-17 株式会社日立製作所 計算機システム及び設定管理方法
JP5929809B2 (ja) * 2013-03-27 2016-06-08 株式会社沖データ ファームウェア更新方法及びファームウェアプログラム

Also Published As

Publication number Publication date
JP2016157245A (ja) 2016-09-01

Similar Documents

Publication Publication Date Title
TWI515660B (zh) 韌體變量更新方法
JP5575338B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
US20110320794A1 (en) Flash System And Method For Updating The Flash System
WO2016090836A1 (zh) 一种嵌入式系统的启动方法和装置
CN111045712A (zh) 一种具有备份功能的单系统升级方法及系统
US10642623B1 (en) Preserving firmware settings during firmware updates
JP6582438B2 (ja) 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
JPWO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
JPH10307726A (ja) 起動エラー時におけるファームウェアリカバリ方式
US20190146804A1 (en) Method for synchronization of system management data
JP5846016B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
TWI541724B (zh) 寫入基本輸入輸出系統程式碼的電路與寫入方法
US9223584B2 (en) Information processing apparatus, restoring method of BIOS setup, restoring program
JP6248682B2 (ja) 情報処理装置、bios更新方法およびbios更新プログラム
JP4062429B2 (ja) メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム
JP6102441B2 (ja) 仮想マシン管理方法及び装置
JP4238930B2 (ja) メモリ書き換え制御システム。
JP5418348B2 (ja) 情報処理装置およびカラオケ装置
CN106611124A (zh) 计算机装置及其开机方法
US7490232B2 (en) Disk device using disk to rewrite firmware and firmware determination method
JP6457756B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP3308920B2 (ja) 情報処理装置
TWI529623B (zh) The Method of Dynamic Customization of Embedded System Function
TWI777565B (zh) 伺服器
KR102399103B1 (ko) 파일 시스템 기반 차량 진단 이벤트 메모리 관리 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190819

R150 Certificate of patent or registration of utility model

Ref document number: 6582438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150