(57)【特許請求の範囲】
【請求項１】
ＢＩＯＳ（Basic Input / Output System）における設定項目の値である設定値を記憶する設定値記憶部と、
前記設定値を更新可能な各インタフェースについて更新を許可するためのポリシーを記憶するポリシー記憶部と、
更新の対象となる前記設定項目およびその更新値を含む更新データが有効であるための条件を記憶する条件記憶部と、
前記設定値の更新を要求するインタフェースから、前記更新データを含む要求データを受信して格納する要求データ格納部と、
前記要求データの要求元のインタフェースについて、前記ポリシーに基づいて更新を許可するか否かを検証するとともに、前記要求データに含まれる更新データついて、前記条件に基づいて有効であるか否かを検証する検証部と、
前記要求元のインタフェースについて更新を許可すると判断され、且つ、前記要求データに含まれる更新データが有効であると判断された場合に、前記更新データを用いて前記設定値記憶部の設定値を更新する更新部と、
を備えた設定値管理装置。
【請求項２】
前記条件記憶部は、前記条件として、更新の対象となる前記設定項目に関連する他の設定項目に関する条件を記憶することを特徴とする請求項１に記載の設定値管理装置。
【請求項３】
前記条件記憶部は、前記条件として、更新の対象となる前記設定項目に関連する装置構成に関する条件を記憶することを特徴とする請求項１または請求項２に記載の設定値管理装置。
【請求項４】
前記更新部は、前記設定値記憶部に記憶された設定値の更新後に、更新後の設定値のコピーを含むバックアップ情報を前記要求データ格納部に格納し、
前記検証部は、前記要求データがバックアップからの更新を指示する情報を含む場合に、前記要求データ格納部に格納されているバックアップ情報について前記検証を行い、
前記更新部は、前記バックアップ情報について前記検証に成功した場合に、前記バックアップ情報に基づいて前記設定値記憶部の設定値を更新することを特徴とする請求項１から請求項３のいずれか１項に記載の設定値管理装置。
【請求項５】
前記要求データには、前記更新データに関するハッシュ値がさらに含まれ、
前記検証部は、さらに、前記要求データに含まれる更新データに関してハッシュ値を算出し、算出したハッシュ値と、前記要求データに含まれるハッシュ値とが一致するか否かを検証し、
前記更新部は、さらに、前記ハッシュ値が一致する場合に、前記更新データを用いて前記設定値記憶部の設定値を更新することを特徴とする請求項１から請求項４のいずれか１項に記載の設定値管理装置。
【請求項６】
前記要求データには、要求時点でのＢＩＯＳのバージョン情報がさらに含まれ、
前記検証部は、さらに、前記要求データに含まれるＢＩＯＳのバージョン情報と、現在のＢＩＯＳのバージョン情報とが一致するか否かを検証し、
前記更新部は、さらに、前記ＢＩＯＳのバージョン情報が一致する場合に、前記更新データを用いて前記設定値記憶部の設定値を更新することを特徴とする請求項１から請求項５のいずれか１項に記載の設定値管理装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の設定値管理装置と、
前記設定値管理装置によって管理される前記設定値に基づきＢＩＯＳのプログラムを実行するＢＩＯＳ部と、
を備えたコンピュータ装置。
【請求項８】
コンピュータ装置が、
ＢＩＯＳにおける設定項目の値である設定値を更新可能な各インタフェースについて更新を許可するためのポリシーと、更新の対象となる前記設定項目およびその更新値を含む更新データが有効であるための条件とを用いて、
前記設定値の更新を要求するインタフェースから、前記更新データを含む要求データを受信すると、
前記要求データの要求元のインタフェースについて、前記ポリシーに基づいて更新を許可するか否かを検証するとともに、前記要求データに含まれる更新データついて、前記条件に基づいて有効であるか否かを検証し、
前記要求元のインタフェースについて更新を許可すると判断し、且つ、前記要求データに含まれる更新データが有効であると判断した場合に、前記更新データを用いて前記設定値を更新する方法。
【請求項９】
ＢＩＯＳにおける設定項目の値である設定値を更新可能な各インタフェースについて更新を許可するためのポリシーと、更新の対象となる前記設定項目およびその更新値を含む更新データが有効であるための条件とを用いて、
前記設定値の更新を要求するインタフェースから、前記更新データを含む要求データを受信するステップと、
前記要求データの要求元のインタフェースについて、前記ポリシーに基づいて更新を許可するか否かを検証するとともに、前記要求データに含まれる更新データついて、前記条件に基づいて有効であるか否かを検証するステップと、
前記要求元のインタフェースについて更新を許可すると判断され、且つ、前記要求データに含まれる更新データが有効であると判断された場合に、前記更新データを用いて前記設定値を更新するステップと、
をコンピュータ装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＩＯＳの設定値を管理する技術に関する。
【背景技術】
【０００２】
一般に、コンピュータ装置には、ＢＩＯＳ（Basic Input / Output System）と呼ばれるプログラムが搭載されている。ＢＩＯＳは、コンピュータ装置を構成するハードウェアを制御するプログラムである。ＢＩＯＳは、コンピュータ装置の電源が投入されると実行され、ハードウェアを制御する処理を行ってから、ＯＳ（Operating System）をロードする。このようなＢＩＯＳは、各種項目について設定された値に基づいて動作する。以降、そのような項目をＢＩＯＳの設定項目とも記載し、その値をＢＩＯＳの設定値とも記載する。ＢＩＯＳの設定値は、そのＢＩＯＳに含まれる設定用のプログラムによって設定可能となっている。そのような設定用のプログラムは、ＢＩＯＳセットアップユーティリティとも呼ばれる。
【０００３】
近年、ＢＩＯＳの設定値を書き込む方法が多様化している。上述したＢＩＯＳセットアップユーティリティの他、次のような書き込み方法がある。例えば、ＯＳには、オンライン中にＢＩＯＳの設定値を書き込む機能を提供するものがある。なお、オンライン中とは、ＯＳが起動中であることをいう。また、例えば、アウトオブバンド管理機能によりリモートからＢＩＯＳの設定値を書き込む方法がある。なお、アウトオブバンド管理機能とは、ＯＳが起動していない等の通常の管理ができない状態の装置において、代替えとして提供されるリモート管理の機能をいう。また、ＢＩＯＳの設定値を、バックアップされた値に基づいて書き込む方法がある。
【０００４】
このように、ＢＩＯＳの設定値の様々な書き込み方法が可能とされている場合、複数の書き込み方法によりＢＩＯＳの設定値が書き込まれる場合を考慮する必要がある。また、書き込み方法によっては、ＢＩＯＳの設定値として書き込まれるデータの検証が不十分な可能性があり、書き込まれるデータを検証する必要がある。
【０００５】
例えば、特許文献１には、複数の書き込み方法によりＢＩＯＳの設定値が書き込まれる場合に関連する技術が記載されている。この関連技術では、更新対象のコンピュータのＢＩＯＳの設定値は、ＢＩＯＳセットアップユーティリティにより更新可能である。また、更新対象のコンピュータのＢＩＯＳの設定値は、遠隔操作側のコンピュータによっても更新可能となっている。具体的には、遠隔操作側のコンピュータは、更新対象のコンピュータに保持されるコピーデータを更新する。そして、更新対象のコンピュータは、起動時に、コピーデータがＢＩＯＳの設定値よりも新しい場合は、コピーデータをＢＩＯＳの設定値にコピーする。また、更新対象のコンピュータは、起動時に、ＢＩＯＳの設定値がコピーデータよりも新しい場合は、ＢＩＯＳの設定値をコピーデータにコピーする。そして、更新対象のコンピュータは、ＢＩＯＳの設定値を用いてＢＩＯＳを実行する。
【０００６】
また、特許文献２には、ＢＩＯＳの設定値として書き込むデータの検証に利用可能な技術が記載されている。この関連技術は、クライアントにおけるＢＩＯＳのソフトウェアが改竄されていないことをサーバが証明する。クライアントは、あらかじめ、ＢＩＯＳのハッシュ値に基づく値を自装置のセキュリティチップのＰＣＲ（Platform Configuration Register）に登録しておく。また、サーバは、クライアントにおけるＰＣＲ値をあらかじめ保持しておく。そして、サーバは、クライアントから送信されるＰＣＲ値を、保持しておいた値と比較することにより、改竄の有無を判断する。この関連技術を、ＢＩＯＳのソフトウェアの代わりにＢＩＯＳの設定値に対して適用すれば、ＢＩＯＳの設定値について改竄の有無が検証可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−９８８５７号公報
【特許文献２】特開２０１４−１７４６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の関連技術には、以下の課題がある。
【０００９】
上述したように、ＢＩＯＳの設定値の様々な書き込み方法が可能とされている場合、もし、複数の書き込み方法によりＢＩＯＳの設定値の書き込み要求があると、必ずしも所望のＢＩＯＳの設定値にならない可能性がある。
【００１０】
例えば、特許文献１に記載された関連技術では、ＢＩＯＳセットアップユーティリティまたは遠隔操作側コンピュータのうち、直近に書き込まれた方のＢＩＯＳの設定値が有効となる。しかしながら、一方の書き込み方法で書き込んだ管理者が、他方の書き込み方法で書き込まれることを認識していないケースもあり得る。そのような場合、必ずしも、直近に書き込まれた方のＢＩＯＳの設定値を有効とすることが適切であるとは限らない。一方の書き込み方法で書き込んだ管理者にとっては、意図したＢＩＯＳの設定値とならず、意図しないシステム動作を誘発する可能性がある。
【００１１】
また、特許文献２には、複数の書き込み方法によりＢＩＯＳの設定値の書き込み要求があるケースに適用可能な技術については記載されていない。
【００１２】
また、前述したように、ＢＩＯＳの設定値の書き込み方法によっては、書き込まれるデータの検証が不十分である。例えば、ＳＭＡＳＨ（Systems Management Architecture for Server Hardware）サーバ管理コマンドラインプロトコルでは、コマンドによりＢＩＯＳの設定値の１つ１つが直接書き込み可能となっている。このようなコマンドによりＢＩＯＳの設定値として書き込まれるデータは、装置構成や他の設定項目との整合性等が検証されない。このため、現状の装置構成では許容されない不正なＢＩＯＳの設定値が書き込まれる可能性がある。その結果、システムストールや意図しないシステム動作を誘発する可能性がある。
【００１３】
しかしながら、特許文献１には、ＢＩＯＳの設定値として書き込まれるデータを検証する技術については記載がない。また、特許文献２に記載された関連技術をＢＩＯＳの設定値に適用しても、以前に設定されたＢＩＯＳの設定値からの改竄の有無については検証できるが、新たなＢＩＯＳの設定値として書き込まれるデータの妥当性を検証することはできない。
【００１４】
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、ＢＩＯＳの設定値を書き込む様々な方法が提供されている場合に、ＢＩＯＳの設定値の更新によるシステムストールや意図しないシステム動作を防止する技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の設定値管理装置は、ＢＩＯＳにおける設定項目の値である設定値を記憶する設定値記憶部と、前記設定値を更新可能な各インタフェースについて更新を許可するためのポリシーを記憶するポリシー記憶部と、更新の対象となる前記設定項目およびその更新値を含む更新データが有効であるための条件を記憶する条件記憶部と、前記設定値の更新を要求するインタフェースから、前記更新データを含む要求データを受信して格納する要求データ格納部と、前記要求データの要求元のインタフェースについて、前記ポリシーに基づいて更新を許可するか否かを検証するとともに、前記要求データに含まれる更新データついて、前記条件に基づいて有効であるか否かを検証する検証部と、前記要求元のインタフェースについて更新を許可すると判断され、且つ、前記要求データに含まれる更新データが有効であると判断された場合に、前記更新データを用いて前記設定値記憶部の設定値を更新する更新部と、を備える。
【００１６】
また、本発明のコンピュータ装置は、上述の設定値管理装置と、前記設定値管理装置によって管理される前記設定値に基づきＢＩＯＳのプログラムを実行するＢＩＯＳ部と、を備える。
【００１７】
また、本発明の方法は、コンピュータ装置が、ＢＩＯＳにおける設定項目の値である設定値を更新可能な各インタフェースについて更新を許可するためのポリシーと、更新の対象となる前記設定項目およびその更新値を含む更新データが有効であるための条件とを用いて、前記設定値の更新を要求するインタフェースから、前記更新データを含む要求データを受信すると、前記要求データの要求元のインタフェースについて、前記ポリシーに基づいて更新を許可するか否かを検証するとともに、前記要求データに含まれる更新データついて、前記条件に基づいて有効であるか否かを検証し、前記要求元のインタフェースについて更新を許可すると判断し、且つ、前記要求データに含まれる更新データが有効であると判断した場合に、前記更新データを用いて前記設定値を更新する。
【００１８】
また、本発明のプログラムは、ＢＩＯＳにおける設定項目の値である設定値を更新可能な各インタフェースについて更新を許可するためのポリシーと、更新の対象となる前記設定項目およびその更新値を含む更新データが有効であるための条件とを用いて、前記設定値の更新を要求するインタフェースから、前記更新データを含む要求データを受信するステップと、前記要求データの要求元のインタフェースについて、前記ポリシーに基づいて更新を許可するか否かを検証するとともに、前記要求データに含まれる更新データついて、前記条件に基づいて有効であるか否かを検証するステップと、前記要求元のインタフェースについて更新を許可すると判断され、且つ、前記要求データに含まれる更新データが有効であると判断された場合に、前記更新データを用いて前記設定値を更新するステップと、をコンピュータ装置に実行させる。
【発明の効果】
【００１９】
本発明は、ＢＩＯＳの設定値を書き込む様々な方法が提供されている場合に、ＢＩＯＳの設定値の更新によるシステムストールや意図しないシステム動作を防止する技術を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態としてのコンピュータ装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態としてのコンピュータ装置のハードウェア構成の一例を示す図である。
【図３】本発明の第１の実施の形態における設定値管理装置の動作を説明するフローチャートである。
【図４】本発明の第２の実施の形態としてのコンピュータ装置の構成を示すブロック図である。
【図５】本発明の第２の実施の形態において条件記憶部に記憶される情報の一例を示す図である。
【図６】本発明の第２の実施の形態において要求データ格納部の構成の一例を示す図である。
【図７】本発明の第２の実施の形態における設定値管理装置の動作の概略を説明するフローチャートである。
【図８】本発明の第２の実施の形態における設定値管理装置が、条件記憶部に記憶される情報を更新する動作を説明するフローチャートである。
【図９】本発明の第２の実施の形態における設定値管理装置が、ＢＩＯＳの設定値をバックアップする動作を説明するフローチャートである。
【図１０】本発明の第２の実施の形態における設定値管理装置が、要求データを検証する動作を説明するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２２】
（第１の実施の形態）
本発明の第１の実施の形態としてのコンピュータ装置１００の機能ブロック構成を図１に示す。図１において、コンピュータ装置１００は、設定値管理装置１と、ＢＩＯＳ部８とを含む。設定値管理装置１は、ＢＩＯＳ（Basic Input / Output System）の設定値を管理する装置である。ＢＩＯＳ部８は、設定値管理装置１によって管理されるＢＩＯＳの設定値に基づき動作するＢＩＯＳのプログラムを実行する。なお、設定値管理装置１は、ＢＩＯＳ部８によって実行されるＢＩＯＳのプログラムの一部によって実現されてもよい。
【００２３】
設定値管理装置１は、設定値記憶部１１と、ポリシー記憶部１２と、条件記憶部１３と、要求データ格納部１４と、検証部１５と、更新部１６とを備える。
【００２４】
ここで、コンピュータ装置１００は、図２に示すようなハードウェア要素によって構成可能である。図２において、コンピュータ装置１００は、ＣＰＵ（Central Processing Unit）１００１と、メモリ１００２と、出力装置１００３と、入力装置１００４と、ネットワークインタフェース１００５とを含む。メモリ１００２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク等の補助記憶装置等によって構成される。また、出力装置１００３は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置１００４は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。ネットワークインタフェース１００５は、ネットワークに接続するインタフェースである。
【００２５】
この場合、設定値記憶部１１、ポリシー記憶部１２、条件記憶部１３および要求データ格納部１４は、メモリ１００２によって構成される。また、検証部１５、更新部１６およびＢＩＯＳ部８は、メモリ１００２に格納されるＢＩＯＳのプログラムを読み込んで実行し、出力装置１００３と、入力装置１００４と、ネットワークインタフェース１００５とを制御するＣＰＵ１００１によって構成される。なお、設定値管理装置１およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００２６】
次に、各機能ブロックの詳細について説明する。
【００２７】
設定値記憶部１１は、ＢＩＯＳの設定値を記憶する。ＢＩＯＳの設定値は、ＢＩＯＳにおいて設定可能な項目の値である。以降、ＢＩＯＳにおいて設定可能な項目を、設定項目とも記載する。
【００２８】
ポリシー記憶部１２は、ＢＩＯＳの設定値を更新可能な各インタフェースについて、更新を許可するためのポリシーを記憶する。例えば、ポリシー記憶部１２は、ＢＩＯＳの設定値の更新を許可する１つのインタフェースを表す情報を記憶していてもよい。ポリシーが示すインタフェース以外のインタフェースからの更新は、後述の検証部１５によって、許可されない。
【００２９】
ここで、ＢＩＯＳの設定値を更新可能なインタフェースの一例としては、例えば、ＢＩＯＳセットアップユーティリティがある。ＢＩＯＳセットアップユーティリティは、ＢＩＯＳに組み込まれ、設定値を設定するユーザインタフェースを提供するアプリケーションである。
【００３０】
また、インタフェースの他の一例としては、オンライン中のＯＳがある。背景技術で述べたように、オンライン中とは、ＯＳが起動中であることをいう。ＯＳには、オンライン中にＢＩＯＳの設定値を更新する機能を提供するものがある。
【００３１】
また、インタフェースの他の一例として、アウトオブバンド管理機能がある。背景技術で述べたように、アウトオブバンド管理とは、通常の管理ができない状態の装置において、代替えに提供されるリモート管理の機能である。そのようなアウトオブ管理機能では、例えば、ＳＭＡＳＨサーバ管理コマンドラインプロトコルにより、ＢＩＯＳの設定値を直接書き込む機能が提供される。
【００３２】
なお、ポリシー記憶部１２に記憶されるポリシーは、ＢＩＯＳセットアップユーティリティ等によって設定可能となっていてもよい。
【００３３】
条件記憶部１３は、更新データが有効であるための条件を記憶する。ここで、更新データは、更新の対象となるＢＩＯＳの設定項目およびその更新値を含む情報である。
【００３４】
要求データ格納部１４は、上述したようなインタフェースから、更新データを含む要求データを受信して格納する。
【００３５】
検証部１５は、要求データおよびその要求元のインタフェースについて、有効であるか否かの検証処理を行う。具体的には、検証部１５は、要求データの要求元のインタフェースについて、ポリシー記憶部１２に記憶されたポリシーに基づいて、更新を許可するか否かを検証する。また、検証部１５は、要求データに含まれる更新データについて、条件記憶部１３に記憶された条件に基づいて有効であるか否かを検証する。
【００３６】
更新部１６は、検証部１５によって、要求データおよびその要求元のインタフェースが有効であると判断された場合に、更新データを用いて、設定値記憶部１１の設定値を更新する。すなわち、更新部１６は、要求データの要求元のインタフェースについて更新が許可され、且つ、要求データに含まれる更新データが有効であると判断された場合に、設定値を更新する処理を行う。具体的には、更新部１６は、設定値記憶部１１の設定値のうち、更新データが表す更新の対象となる設定項目の設定値を、更新データが表す更新値に書き換える。
【００３７】
以上のように構成された設定値管理装置１の動作について、図３を参照して説明する。
【００３８】
まず、要求データ格納部１４は、設定値の更新を要求するいずれかのインタフェースから、要求データを受信し格納する（ステップＳ１）。
【００３９】
次に、検証部１５は、要求データ格納部１４に格納される要求データの要求元のインタフェースについて、ポリシー記憶部１２に記憶されたポリシーに基づいて、更新を許可するか否かを判断する（ステップＳ２）。
【００４０】
ここで、更新を許可しないと判断された場合、設定値管理装置１は、ＢＩＯＳの設定値を更新せずに動作を終了する。
【００４１】
一方、更新を許可すると判断された場合、設定値管理装置１は、受信された要求データに含まれる更新データについて、条件記憶部１３に記憶された条件に基づいて有効であるか否かを判断する（ステップＳ３）。
【００４２】
ここで、有効でないと判断された場合、設定値管理装置１は、ＢＩＯＳの設定値を更新せずに動作を終了する。
【００４３】
一方、有効であると判断された場合、更新部１６は、更新データを用いて、設定値記憶部１１の設定値を更新する（ステップＳ４）。
【００４４】
以上で、設定値管理装置１は、動作を終了する。
【００４５】
次に、本発明の第１の実施の形態の効果について述べる。
【００４６】
本発明の第１の実施の形態としての設定値管理装置は、ＢＩＯＳの設定値を書き込む様々な方法が提供されている場合に、ＢＩＯＳの設定値の更新によるシステムストールや意図しないシステム動作を防止することができる。
【００４７】
その理由について説明する。本実施の形態では、ポリシー記憶部が、設定値記憶部に記憶されるＢＩＯＳの設定値を更新可能な各インタフェースについて、更新を許可するためのポリシーを記憶しておく。また、条件記憶部が、更新データが有効であるための条件を記憶しておく。そして、要求データ格納部が、設定値の更新を要求するいずれかのインタフェースから、要求データを受信して格納すると、検証部が、要求データの要求元のインタフェースについて、ポリシー記憶部のポリシーに基づいて更新を許可するか否かを検証する。また、検証部が、要求データに含まれる更新データについて、条件記憶部の条件に基づいて有効であるか否かを検証する。そして、要求データの要求元のインタフェースについて更新が許可され、且つ、更新データが有効であると判断された場合に、更新部が、更新データを用いて設定値記憶部のＢＩＯＳの設定値を更新するからである。
【００４８】
これにより、本実施の形態は、あらかじめ定められたポリシーに従わないインタフェースからの更新を防止する。このため、本実施の形態は、ＢＩＯＳの設定値が管理者の意図しない値に更新されることがなく、意図しないシステム動作を回避できる。また、本実施の形態は、あらかじめ定められた条件を満たさない有効でないデータによる更新を防止する。このため、本実施の形態は、更新データの検証が不十分なインタフェースから更新の要求があった場合でも、ＢＩＯＳの設定値が不正な設定値に更新されることがなく、システムストールや意図しないシステム動作を誘発するリスクを回避できる。
【００４９】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００５０】
まず、本発明の第２の実施の形態としてのコンピュータ装置２００の構成を図４に示す。
【００５１】
図４において、コンピュータ装置２００は、本発明の第１の実施の形態としてのコンピュータ装置１００に対して、設定値管理装置１に替えて設定値管理装置２を備える点が異なる。設定値管理装置２は、本発明の第１の実施の形態としての設定値管理装置１に対して、ポリシー記憶部１２に替えてポリシー記憶部２２と、条件記憶部１３に替えて条件記憶部２３とを備える点が異なる。また、設定値管理装置２は、設定値管理装置１に対して、要求データ格納部１４に替えて要求データ格納部２４と、検証部１５に替えて検証部２５と、更新部１６に替えて更新部２６とを備える点がさらに異なる。
【００５２】
なお、コンピュータ装置２００およびその各機能ブロックは、図２を参照して説明した本発明の第１の実施の形態と同様のハードウェア要素によって構成可能である。ただし、コンピュータ装置２００およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００５３】
次に、各機能ブロックの詳細について説明する。
【００５４】
ポリシー記憶部２２は、更新を許可する１つ以上のインタフェースについて、それぞれを識別するインタフェース識別情報を記憶する。もし、複数のインタフェースを記憶する場合、ポリシー記憶部２２は、それらのインタフェース間の優先順位を表す情報を併せて記憶してもよい。また、ポリシー記憶部２２は、ＢＩＯＳの設定項目毎に、更新を許可する１つ以上のインタフェース識別情報を記憶してもよい。また、ポリシー記憶部２２は、バックアップからの更新を識別する識別情報を、ポリシーに含めて記憶してもよい。
【００５５】
条件記憶部２３は、条件として、更新の対象となる設定項目に関連する他の設定項目に関する条件を記憶する。また、条件記憶部２３は、条件として、更新の対象となる設定項目に関連する装置構成に関する条件を記憶する。
【００５６】
ここで、条件記憶部２３に記憶される情報の一例を図５に示す。図５において、条件記憶部２３には、条件データフォーマットと、ＢＩＯＳ設定データマップと、システム情報データマップとが記憶される。条件データフォーマットにおける各行は、本実施の形態における条件を表す。また、ＢＩＯＳ設定データマップおよびシステム情報データマップには、条件の適用時に参照される情報が格納される。
【００５７】
まず、ＢＩＯＳ設定データマップについて説明する。図５では、「ＭｅｎｕＩＤ」は、ＢＩＯＳの設定項目の識別情報を表している。また、「ＭｅｎｕＮａｍｅ」は、設定項目の名称を表している。また、「Ｖａｌｕｅ」は、その設定項目について現在設定されている設定値を表している。つまり、図５においてＢＩＯＳ設定データマップの各行は、ＢＩＯＳの設定項目についての現在の設定値を表している。ＢＩＯＳ設定データマップは、例えば、コンピュータ装置２００の起動時に、設定値記憶部１１に記憶されている設定値の内容に応じて書き込まれる。
【００５８】
次に、システム情報データマップについて説明する。図５では、「ＳｙｓｔｅｍＩＤ」は、コンピュータ装置２００のハードウェア構成に関する項目の識別情報を表している。また、「ＳｙｓｔｅｍＩｎｆｏｒｍａｔｉｏｎ」は、その項目を説明する情報を表している。また、「Ｖａｌｕｅ」は、その項目の値を表している。つまり、図５においてシステム情報データマップの各行は、コンピュータ装置２００の現在のハードウェア構成を表している。システム情報データマップは、例えば、コンピュータ装置２００の起動時に、装置構成に応じて書き込まれる。
【００５９】
次に、条件データフォーマットについて説明する。図５の条件データフォーマットにおいて、各行は、該当するＭｅｎｕＩＤの設定項目が変更可能となる条件を表している。すなわち、該当するＭｅｎｕＩＤの設定項目は、条件１、条件２、・・・、および、条件ｎの真偽についてＡＮＤやＯＲなどの論理演算結果が真となった場合に変更可能である。
【００６０】
例えば、１行目の条件は、ＭｅｎｕＩＤ．１の設定項目“ＣＰＵ  Ｃｏｒｅ  Ｃｏｕｎｔ”は、「ＳｙｓｔｅｍＩＤ．１のハードウェア構成 “ＣＰＵ  Ｃｏｒｅ  Ｃｏｕｎｔ”が６以上」という条件１が満たされる場合に、更新可能であることを表している。つまり、１行目の条件は、更新の対象となる設定項目に関連する装置構成に関する条件である。
【００６１】
また、２行目の条件は、ＭｅｎｕＩＤ．３の設定項目“ＵＥＦＩ  Ｂｏｏｔ  Ｏｒｄｅｒ＃１”は、「ＭｅｎｕＩＤ.２の設定項目“Ｂｏｏｔ  Ｍｏｄｅ”の設定値がＵＥＦＩである」という条件１が満たされる場合に、更新可能であることを表している。つまり、２行目の条件は、更新の対象となる設定項目に関連する他の設定項目に関する条件である。
【００６２】
また、条件データフォーマットにおいて、各条件は、更新の対象となる設定項目に関連する他の設定項目に関する条件と、更新の対象となる設定項目に関連する装置構成に関する条件との組合せによって構成されていてもよい。
【００６３】
なお、条件データフォーマットに含まれる情報は、事前に定められる。例えば、条件データフォーマットに含まれる情報は、ＢＩＯＳ部８の設計時や出荷時等に定められたものであってもよい。また、条件データフォーマットに含まれる情報は、ＢＩＯＳ部８の更新時に更新されるものであってもよい。
【００６４】
要求データ格納部２４は、図６に示すように、第１領域、第２領域、第３領域および第４領域からなる。
【００６５】
ここで、本実施の形態では、要求データ格納部２４に格納される要求データの詳細が、本発明の第１の実施の形態における要求データに対して異なる。要求データは、まず、本発明の第１の実施の形態と同様に、更新データを含む。さらに、要求データは、要求元のインタフェースを識別するインタフェース識別情報を含む。さらに、要求データは、更新データについて算出されたハッシュ値を含む。さらに、要求データは、要求時点でのＢＩＯＳのバージョンを表すバージョン情報を含む。
【００６６】
第１領域は、要求データに含まれる更新データを格納する。また、第２領域は、要求データに含まれるハッシュ値を格納する。また、第３領域は、要求データに含まれるインタフェース識別情報を格納する。このインタフェース識別情報は、要求元のインタフェースを表す。また、第４領域は、要求データに含まれるバージョン情報を格納する。このバージョン情報は、各インタフェースにより要求データが生成された時点でのＢＩＯＳのバージョン情報である。
【００６７】
また、本実施の形態では、要求データ格納部２４に格納される要求データは、バックアップからの更新を指示する情報を含む場合がある。例えば、第３領域に、インタフェース識別情報の代わりに、バックアップからの更新を識別する情報が格納されていてもよい。例えば、ＢＩＯＳセットアップユーティリティには、バックアップからの更新を指示する機能が含まれるものがある。この場合、ＢＩＯＳセットアップユーティリティは、要求データ格納部２４の第３領域に、当該インタフェース識別情報の代わりに、バックアップからの更新を識別する情報を書き込んでもよい。
【００６８】
検証部２５は、要求データに含まれるインタフェース識別情報と、ポリシーが示すインタフェース識別情報とを比較することにより、要求元のインタフェースについて更新が許可されるか否かを検証する。ここで、前述したように、要求データに含まれるインタフェース識別情報は、第３領域に格納されている。
【００６９】
例えば、ポリシーが示すインタフェース識別情報が１つの場合について説明する。この場合、検証部２５は、第３領域のインタフェース識別情報と、ポリシーが示すインタフェース識別情報とが一致した場合に、更新を許可すると判断すればよい。
【００７０】
また、ポリシーが示すインタフェース識別情報が複数の場合について説明する。この場合、検証部２５は、第３領域のインタフェース識別情報が、ポリシーが示すインタフェース識別情報のいずれかに一致した場合に、更新を許可すると判断すればよい。
【００７１】
また、ポリシーが示す複数のインタフェース識別情報間に優先順位が設定されている場合について説明する。例えば、いずれかのインタフェースからの要求により前回ＢＩＯＳの設定値を更新してから所定時間内に、他のインタフェースから要求データが受信されたとする。この場合、検証部２５は、前回のインタフェースと今回のインタフェースとの間の優先順位に基づいて、更新を許可するか否かを判断してもよい。つまり、例えば、検証部２５は、今回のインタフェースの優先順位が前回のインタフェースより高ければ、今回のインタフェースについて更新を許可すると判断する。また、例えば、検証部２５は、今回のインタフェースの優先順位が前回のインタフェースより低ければ、今回のインタフェースについて更新を許可しないと判断する。
【００７２】
また、ポリシーとして、設定項目毎に更新を許可するインタフェース識別情報が記憶されている場合について説明する。この場合、検証部２５は、第１領域の更新データに基づいて、更新の対象となる設定項目を特定し、特定した設定項目に関するポリシーを参照する。そして、検証部２５は、第３領域のインタフェース識別情報が、該当するポリシーが示すインタフェース識別情報のいずれかに一致した場合に、更新を許可すると判断すればよい。
【００７３】
また、検証部２５は、要求データに含まれる更新データについて、条件記憶部２３に記憶されている条件に基づいて有効であるか否かを判断する。ここで、要求データに含まれている更新データは、第１領域に格納されている。そこで、検証部２５は、第１領域の更新データに基づいて、更新の対象となる設定項目を特定する。そして、検証部２５は、特定した設定項目に関連する設定項目の設定値に関する条件や、特定した設定項目に関連する装置構成に関する条件を、条件記憶部２３から取得する。そして、検証部２５は、取得した条件が満たされる場合に、更新データが有効であると判断すればよい。
【００７４】
例えば、図５に示した例のように、条件記憶部２３に、条件データフォーマット、ＢＩＯＳ設定データマップ、および、システム情報データマップが記憶されているとする。この場合、検証部２５は、更新の対象となる設定項目に関する条件を、条件データフォーマットから検索する。そして、検証部２５は、検索した条件によって参照されているＢＩＯＳの現在の設定値または装置構成に関する情報を、ＢＩＯＳ設定データマップまたはシステム情報データマップから取得する。そして、検証部２５は、取得した情報に基づいて、該当する条件が満たされる場合に、要求データに含まれる更新データが有効であると判断すればよい。
【００７５】
また、検証部２５は、要求データに含まれる更新データに関して算出したハッシュ値が、要求データに含まれるハッシュ値と一致するか否かを検証する。前述したように、要求データに含まれる更新データは、第１領域に格納されている。また、そのハッシュ値は、第２領域に格納されている。第２領域のハッシュ値は、要求元のインタフェース側において算出されたものである。そこで、検証部２５は、第１領域の更新データのハッシュ値を算出する。そして、検証部２５は、算出したハッシュ値と、第２領域のハッシュ値とが一致する場合に、ハッシュ値に関する検証に成功したと判断すればよい。
【００７６】
また、検証部２５は、要求データに含まれるバージョン情報と、現在のＢＩＯＳのバージョン情報とが一致するか否かを検証する。ここで、要求データに含まれるバージョン情報は、第４領域に格納されている。また、現在のＢＩＯＳのバージョン情報は、現在のバージョン情報を格納する領域に格納されており、ＢＩＯＳの更新時に更新されるものとする。そこで、検証部２５は、第４領域のバージョン情報と、現在のバージョン情報を格納する領域の情報とが一致した場合に、バージョン情報に関する検証に成功したと判断すればよい。
【００７７】
なお、後述の更新部２６により、要求データ格納部２４に、ＢＩＯＳの設定値のコピーを含むバックアップ情報が格納されている場合がある。この場合、要求データがバックアップからの更新を表していれば、検証部２５は、要求データ格納部２４に格納されているバックアップ情報について、上述の各種の検証を行えばよい。すなわち、検証部２５は、バックアップ情報の一部として第１領域に格納されている全ての設定項目およびそれらの更新値を更新データとして、条件記憶部２３の条件に基づき更新データが有効であるか否かを検証する。また、検証部２５は、バックアップ情報の一部として第１領域に格納されている全ての設定項目およびそれらの更新値を更新データとして、そのハッシュ値を算出する。そして、検証部２５は、算出したハッシュ値と、バックアップ情報の一部として第２領域に格納されているハッシュ値とが一致するか否かを検証する。また、検証部２５は、第３領域に格納されているバックアップからの更新を識別する情報と、ポリシー記憶部２２に記憶されたポリシーとを比較することにより、バックアップからの更新が許可されているか否かを検証する。また、検証部２５は、第４領域に格納されているバージョン情報（すなわち、バックアップ処理が行われた時点でのバージョン情報）と、現在のバージョン情報とが一致するか否かを検証する。
【００７８】
更新部２６は、要求元のインタフェースについてポリシーに基づき更新が許可され、且つ、要求データに含まれる更新データについて、条件、ハッシュ値およびバージョン情報に基づく各検証に成功した場合に、設定値記憶部１１の設定値を更新データで更新する。
【００７９】
また、更新部２６は、設定値記憶部１１に記憶された設定値を更新した後に、設定値記憶部１１の全ての設定項目についてそれらの設定値のコピーを含むバックアップ情報を、要求データ格納部２４に格納する。以降、バックアップ情報を要求データ格納部２４に格納する処理を、バックアップ処理とも記載する。
【００８０】
バックアップ処理では、更新部２６は、設定値記憶部１１の全ての設定項目についてそれらの設定値のコピーを、要求データ格納部２４の第１領域に格納する。また、更新部２６は、第１領域に書き込む情報のハッシュ値を算出し、算出したハッシュ値を第２領域に格納する。また、更新部２６は、インタフェース識別情報およびバックアップからの更新を識別する情報のいずれにも該当しない情報（例えば、“Ｎｏｎｅ”を表す「０」）を、第３領域に格納する。また、更新部２６は、バックアップ処理時点でのＢＩＯＳのバージョン情報を第４領域に格納する。
【００８１】
また、更新部２６は、要求データにバックアップからの更新を指示する情報が含まれる場合、要求データ格納部２４に格納されているバックアップ情報についての検証部２５による上述の各種検証が成功していれば、次のように動作するよう構成される。この場合、更新部２６は、バックアップ情報に基づいて、設定値記憶部１１の設定値を更新する。具体的には、更新部２６は、バックアップ情報の一部として要求データ格納部２４の第１領域に格納されている全ての設定項目の設定値を用いて、設定値記憶部１１の設定値を更新する。
【００８２】
以上のように構成された設定値管理装置２の動作について、図面を参照して説明する。なお、ここでは、ポリシー記憶部２２には、更新を許可する１つ以上のインタフェース識別情報が、ポリシーとして記憶されているものとする。また、ＢＩＯＳの設定値を更新可能なインタフェースとして、オンライン中のＯＳには、インタフェース識別情報として１が付与されているものとする。また、アウトオブバンド管理機能には、インタフェース識別情報として２が付与されているものとする。また、ＢＩＯＳセットユーティリティには、インタフェース識別情報として３が付与されているものとする。また、バックアップからの更新を識別する情報として４が付与されているものとする。また、条件記憶部２３には、図５に一例を示した情報が記憶されているものとする。
【００８３】
まず、設定値管理装置２の動作の概要を図７に示す。以下の動作は、コンピュータ装置２００の起動時のＰＯＳＴ（Power On Self Test）処理の一環として実行される。
【００８４】
まず、検証部２５は、条件記憶部２３に記憶される情報を更新する処理を行う（ステップＳ１１）。このステップの詳細については後述する。
【００８５】
次に、検証部２５は、要求データ格納部２４の初期化処理が必要であるか否かを判断する（ステップＳ１２）。
【００８６】
例えば、検証部２５は、要求データ格納部２４の第３領域が不正な値であるか否かによって、初期化処理が必要であるか否かを判断可能である。上述の例では、第３領域は、インタフェース識別情報またはバックアップからの更新を識別する情報として１から４のいずれかの情報を格納し得る。また、第３領域は、バックアップ処理後には、０を格納する。この場合、検証部２５は、第３領域が０〜４のいずれでもなければ不正な値であるとして、初期化処理が必要であると判断してもよい。例えば、設定値管理装置２が搭載された装置が初めて起動される場合には、第３領域は不正な値を格納しており、初期化処理が必要であると判断されることになる。
【００８７】
ここで、初期化処理が必要であると判断された場合、更新部２６は、ＢＩＯＳの設定値のバックアップ処理を行う（ステップＳ１３）。このステップの詳細については後述する。
【００８８】
そして、この場合、設定値管理装置２は、バックアップ処理後に、動作を終了する。
【００８９】
一方、初期化処理が必要でないと判断された場合、検証部２５は、ＢＩＯＳの設定値の更新が要求されているか否かを判断する（ステップＳ１４）。
【００９０】
例えば、検証部２５は、要求データ格納部２４の第３領域が、インタフェース識別情報またはバックアップからの更新を識別する情報を格納しているか否かによって、ＢＩＯＳの設定値の更新が要求されているか否かを判断可能である。具体的には、検証部２５は、要求データ格納部２４の第３領域が０でなければ、ＢＩＯＳの設定値の更新が要求されていると判断し、０であれば、更新が要求されていないと判断してもよい。
【００９１】
ここで、ＢＩＯＳの設定値の更新が要求されていないと判断された場合、設定値管理装置２は、動作を終了する。
【００９２】
一方、ＢＩＯＳの設定値の更新が要求されていると判断した場合、検証部２５は、要求データの要求元のインタフェースについて、更新を許可するか否かを判断する（ステップＳ１５）。
【００９３】
具体的には、検証部２５は、要求データ格納部２４の第３領域に格納された識別情報が、ポリシーが示す識別情報のいずれかと一致するか否かを判断すればよい。
【００９４】
ここで、要求元のインタフェースについて更新を許可しないと判断された場合、更新部２６は、ＢＩＯＳの設定値のバックアップ処理を行う（ステップＳ１３）。
【００９５】
そして、この場合、設定値管理装置２は、バックアップ処理後に、動作を終了する。
【００９６】
一方、要求元のインタフェースについて更新を許可すると判断された場合、検証部２５は、要求データについて、有効であるか否かの検証を行う（ステップＳ１６）。このステップの詳細については後述する。
【００９７】
ここで、検証に成功しなかった場合（ステップＳ１７でＮｏ）、更新部２６は、ＢＩＯＳの設定値のバックアップ処理を行う（ステップＳ１３）。
【００９８】
そして、この場合、設定値管理装置２は、バックアップ処理後に、動作を終了する。
【００９９】
一方、検証に成功した場合（ステップＳ１７でＹｅｓ）、更新部２６は、要求データに含まれる更新データを用いて、設定値記憶部１１の設定値を更新する（ステップＳ１８）。
【０１００】
具体的には、更新部２６は、要求データ格納部２４の第１領域の情報が表す設定項目について、第１領域の情報が表す更新値を用いて、設定値記憶部１１の設定値を更新すればよい。そして、この場合、更新部２６は、更新後の設定値記憶部１１の情報に基づいて、条件記憶部２３のＢＩＯＳ設定データマップを更新しておいてもよい。これにより、設定値管理装置２は、コンピュータ装置２００においてＯＳが起動した後、オンライン中にＢＩＯＳの設定値を更新する要求があった場合にも、対応可能となる。
【０１０１】
そして、この場合、更新部２６は、ＢＩＯＳの設定値のバックアップ処理を行った後（ステップＳ１９）、コンピュータ装置２００を再起動するよう制御して（ステップＳ２０）、動作を終了する。
【０１０２】
なお、上述した動作は、ＰＯＳＴ処理の一環として実行されるものとして説明した。その他、例えば、オンライン中のＯＳからＢＩＯＳの設定値を更新する要求があった場合には、設定値管理装置２は、ステップＳ１５〜Ｓ２０を実行すればよい。
【０１０３】
次に、ステップＳ１１における条件記憶部２３の情報を更新する動作について、図８を参照して説明する。
【０１０４】
ここでは、まず、検証部２５は、設定値記憶部１１の各設定項目についての設定値を、条件記憶部２３におけるＢＩＯＳ設定データマップに書き込む（ステップＡ１）。
【０１０５】
次に、検証部２５は、コンピュータ装置２００のハードウェア構成に関する情報を取得して、条件記憶部２３におけるシステム情報データマップに書き込む（ステップＡ２）。
【０１０６】
以上で、条件記憶部２３の情報を更新する動作の説明を終了する。
【０１０７】
次に、ステップＳ１３、Ｓ１９におけるＢＩＯＳの設定値のバックアップ処理について、図９を参照して説明する。
【０１０８】
ここでは、まず、更新部２６は、設定値記憶部１１に記憶された全ての設定項目の設定値についてハッシュ値を算出し、要求データ格納部２４の第２領域に格納する（ステップＢ１）。
【０１０９】
次に、更新部２６は、設定値記憶部１１に記憶された全ての設定項目の設定値のコピーを、要求データ格納部２４の第１領域に格納する（ステップＢ２）。
【０１１０】
次に、更新部２６は、この時点でのＢＩＯＳのバージョン情報を、要求データ格納部２４の第４領域に格納する（ステップＢ３）。
【０１１１】
次に、更新部２６は、要求データ格納部２４の第３領域に、ＢＩＯＳの設定値の更新が要求されていないことを表す情報（ここでは、０）を格納する（ステップＢ４）。
【０１１２】
以上で、ＢＩＯＳの設定値のバックアップ処理の説明を終了する。
【０１１３】
次に、ステップＳ１６における要求データの検証処理について、図１０を参照して説明する。
【０１１４】
ここでは、まず、検証部２５は、要求データに含まれるバージョン情報が、現在のＢＩＯＳのバージョン情報と一致するか否かを判断する（ステップＣ１）。
【０１１５】
具体的には、検証部２５は、要求データ格納部２４の第４領域の情報と、現在のＢＩＯＳのバージョン情報を格納する領域の情報とが一致するか否かを判断すればよい。
【０１１６】
ここで、ＢＩＯＳのバージョン情報が一致しない場合、設定値管理装置２は、検証に失敗したことを表す情報を呼び出し元に返却して（ステップＣ５）、動作を終了する。
【０１１７】
一方、ＢＩＯＳのバージョン情報が一致する場合、検証部２５は、要求データに含まれる更新データについて、条件記憶部２３に記憶された条件に基づいて、有効であるか否かを判断する（ステップＣ２）。
【０１１８】
具体的には、検証部２５は、要求データ格納部２４の第１領域の情報に基づいて、更新の対象となる設定項目を特定する。そして、検証部２５は、更新の対象となる設定項目に関する条件を、条件データフォーマットから検索する。そして、検証部２５は、検索した条件で参照されているＢＩＯＳの設定値またはハードウェア構成に関する項目の値を、ＢＩＯＳ設定データマップまたはシステム情報データマップから取得する。そして、検証部２５は、取得したＢＩＯＳの設定値またはハードウェア構成に関する項目の値を適用して、検索した条件が満たされるか否かを判断すればよい。
【０１１９】
ここで、更新データが有効でないと判断された場合、設定値管理装置２は、検証に失敗したことを表す情報を呼び出し元に返却して（ステップＣ５）、動作を終了する。
【０１２０】
一方、更新データが有効であると判断された場合、検証部２５は、要求データに含まれる更新データのハッシュ値を算出し、算出したハッシュ値が、要求データに含まれるハッシュ値と一致するか否かを判断する（ステップＣ３）。
【０１２１】
具体的には、検証部２５は、要求データ格納部２４の第１領域の情報についてハッシュ値を算出し、算出したハッシュ値が、要求データ格納部２４の第２領域の情報と一致するか否かを判断すればよい。
【０１２２】
ここで、ハッシュ値が一致しない場合、設定値管理装置２は、検証に失敗したことを表す情報を呼び出し元に返却して（ステップＣ５）、動作を終了する。
【０１２３】
一方、ハッシュ値が一致する場合、設定値管理装置２は、検証に成功したことを表す情報を呼び出し元に返却して（ステップＣ４）、動作を終了する。
【０１２４】
以上で、要求データの検証処理の説明を終了する。
【０１２５】
次に、本発明の第２の実施の形態の効果について述べる。
【０１２６】
本発明の第２の実施の形態としての設定値管理装置は、ＢＩＯＳの設定値を書き込む様々な方法が提供されている場合に、ＢＩＯＳの設定値の更新によるシステムストールや意図しないシステム動作を、より確実に防止することができる。
【０１２７】
その理由について説明する。本実施の形態では、本発明の第１の実施の形態と同様の構成に加えて、ポリシー記憶部が、更新を許可する１つ以上のインタフェースを表す情報を記憶している。また、条件記憶部が、更新の対象となる設定項目に関連する他の設定項目に関する条件を記憶している。また、条件記憶部が、更新の対象となる設定項目に関連する装置構成に関する条件を記憶している。そして、要求データ格納部には、更新データと、そのハッシュ値と、インタフェース識別情報と、ＢＩＯＳのバージョン情報とからなる要求データが格納される。そして、検証部は、要求元のインタフェースについてポリシーに基づいて更新を許可するか否かを判断するとともに、要求データについて、条件に基づくことに加えて、ハッシュ値およびバージョン情報に基づいて、有効であるか否かを検証する。そして、更新部は、検証部による要求データおよびその要求元のインタフェースに関する各種検証に成功した場合に、更新データを用いて、設定値記憶部の設定値を更新するからである。
【０１２８】
この構成により、本実施の形態は、更新を許可するインタフェースを、より柔軟に設定することができ、意図しないインタフェースによりＢＩＯＳの設定値が更新されることをより精度よく防止できる。
【０１２９】
また、上述の構成により、本実施の形態は、更新データについてハッシュ値に基づく検証を行うことで、壊れた更新データによってＢＩＯＳの設定値が更新されること防止できる。
【０１３０】
また、上述の構成により、本実施の形態は、コンピュータ装置の出荷後にＢＩＯＳのバージョンが更新された場合に、更新後のバージョンのＢＩＯＳに対応しない更新データによってＢＩＯＳの設定値が更新されること防止できる。
【０１３１】
また、上述の構成により、本実施の形態は、ＢＩＯＳのある設定項目が、他の設定項目に依存している場合に対応することができ、更新により他の設定項目との整合性がとれなくなることを防止できる。
【０１３２】
また、上述の構成により、本実施の形態は、ＢＩＯＳのある設定項目が、装置構成に依存している場合に対応することができ、装置構成で許容されない値に更新されることを防止できる。
【０１３３】
さらに、本実施の形態では、ポリシー記憶部が、ポリシーとして、バックアップからの更新を識別する情報を記憶する。また、その場合、更新部が、ＢＩＯＳの設定値の更新後等に、ＢＩＯＳの設定値のコピーを含むバックアップ情報を、要求データ格納部に格納する。そして、この場合、検証部が、要求データ格納部に格納されているバックアップ情報を要求データとして各種検証を行う。そして、更新部が、要求データに、バックアップからの更新を指示する情報が含まれている場合、要求データ格納部に格納されたバックアップ情報を用いて、設定値記憶部の各設定値を更新する。
【０１３４】
この構成により、本実施の形態は、ＢＩＯＳの設定値が意図せず更新された場合にも元の設定値に復帰させることができる。また、本実施の形態は、バックアップ情報についても同様に検証を行うので、ＢＩＯＳの設定値が、壊れたバックアップ情報に基づいて更新されることを防止できる。また、本実施の形態は、ＢＩＯＳの設定値が、装置構成の更新等により現在の装置構成で許容されないバックアップ情報に基づいて更新されることを防止できる。
【０１３５】
このように、本実施の形態は、ＢＩＯＳの設定値が不正な値に更新されることを、より様々な要因に対応して防止することができ、システムストールや意図しないシステム動作を誘発するリスクをより確実に回避できる。
【０１３６】
なお、本実施の形態において、条件記憶部が、条件データフォーマット、ＢＩＯＳ設定データマップおよびシステム情報データマップによって構成される例を中心に説明したが、条件記憶部に記憶される情報のデータ構成は限定されない。このようなデータ構成に限らず、条件記憶部は、更新の対象となる設定項目に関連する他の設定項目に関する条件、または、更新の対象となる設定項目に関連する装置構成に関する条件を表すことができれば、どのようなデータ構成の条件を格納してもよい。
【０１３７】
また、本実施の形態において、ポリシー記憶部が、更新を許可する１つ以上のインタフェースを表すポリシーを記憶する例について説明した。その他、ポリシー記憶部が、設定項目毎にポリシーを記憶する例や、インタフェース間の優先順位を含むポリシーを記憶する例についても説明した。ただし、ポリシーの内容は、これらに限定されない。例えば、ポリシーは、時間帯やその他の要素に基づきインタフェースについて更新を許可するか否かを表すものであってもよい。ポリシーは、要求元のインタフェースについて更新を許可するか否かを判断可能な内容であればよい。
【０１３８】
また、本実施の形態において、検証部が、要求データに含まれる更新データが有効であるか否かを判断するために、条件記憶部の条件を満たすか否かに加えて、ハッシュ値およびバージョン情報による検証を行う例について説明した。ただし、検証部が更新データの有効性を判断するための検証処理は、これらに限定されない。検証部は、更新データが条件記憶部の条件を満たすか否かに加えて、その他の検証処理を行ってもよい。
【０１３９】
また、本実施の形態において、要求データが、更新データと、ハッシュ値と、インタフェース識別情報と、バージョン情報とを含む例について説明した。ただし、各インタフェースから受信する要求データの構成は限定されない。要求データは、検証部によって行われる検証に必要な各種の情報を含む構成であればよい。
【０１４０】
また、上述した各実施の形態において、ＢＩＯＳの設定値を更新可能なインタフェースとして、ＢＩＯＳセットアップユーティリティ、オンライン中のＯＳ、および、アウトオブバンド管理機能を挙げたが、インタフェースは、これらに限定されない。各実施の形態は、ＢＩＯＳの設定値を更新可能なその他各種のインタフェースに適用可能である。
【０１４１】
また、上述した本発明の各実施の形態において、設定値管理装置の各機能ブロックが、記憶装置またはＲＯＭに記憶されたコンピュータ・プログラムを実行するＣＰＵによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
【０１４２】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した設定管理装置の動作は、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に格納される。係るコンピュータ・プログラムは、当該ＣＰＵにより読み出されて実行される。このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【０１４３】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【０１４４】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【０１４５】
１００、２００    コンピュータ装置
１、２    設定値管理装置
８    ＢＩＯＳ部
１１    設定値記憶部
１２、２２    ポリシー記憶部
１３、２３    条件記憶部
１４、２４    要求データ格納部
１５、２５    検証部
１６、２６    更新部
１００１  ＣＰＵ
１００２  メモリ
１００３  出力装置
１００４  入力装置
１００５  ネットワークインタフェース
【図１】
0006617551.tif 000002
【図２】
0006617551.tif 000003
【図３】
0006617551.tif 000004
【図４】
0006617551.tif 000005
【図５】
0006617551.tif 000006
【図６】
0006617551.tif 000007
【図７】
0006617551.tif 000008
【図８】
0006617551.tif 000009
【図９】
0006617551.tif 000010
【図１０】
0006617551.tif 000011