(57)【要約】  本ＢＩＯＳ構成の更新技術は、様々な製造業者からのコンピューティングシステムのセットを単一の管理者コンソールからリモートに構成する能力をシステム管理者に与える。ＢＩＯＳ構成記述は、コンピューティングシステム内のハードウェア設定を定義するために使用される。ＢＩＯＳ構成記述は、様々な製造業者が自身のコンピューティングシステム内の構成可能要素に対するインタフェースを設計するときに使用するスキーマを、予め定義することができる。代替的に、ＢＩＯＳ構成記述は、様々な製造業者が自身のコンピューティングシステム内の構成可能要素に対するインタフェースを設計するときに使用する規則のセットを定義することができる。ＢＩＯＳ構成記述を用いると、１つの管理アプリケーションは、様々な製造業者からのコンピューティングシステムにおける構成可能要素にアクセスすることができる。
2009535690.tif 000002
【特許請求の範囲】
【請求項１】
リストを位置指定する（６０２）ステップと、
各オブジェクトが、ＢＩＯＳ構成記述（２２０）に基づいて定義され、かつコンピューティングシステム（１００）に関連付けられた基本入力／出力システム（１４０）を介してアクセス可能な前記コンピューティングシステム内の構成可能要素（２３０）と関連付けられている、前記リスト内の複数のオブジェクトを識別する（６０４）ステップと、
前記複数のオブジェクトの関連するオブジェクトに基づいて、前記コンピューティングシステムのシステムメモリ（１０４）のユーザエリア（２０２）に存在するアプリケーション（２１０）を介して、前記構成可能要素の設定を変更する（５０４）ステップと
を含む方法を実行するコンピュータ読み取り可能な命令を記録したことを特徴とする、少なくとも１つのコンピュータ読み取り可能な媒体。
【請求項２】
前記ＢＩＯＳ構成記述は、前記複数のオブジェクトを定義するための予め定義されたフォーマットを指定するスキーマを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項３】
前記スキーマは、前記構成可能要素と関連付けられた一意の識別子を含むことを特徴とする請求項２に記載のコンピュータ読み取り可能な媒体。
【請求項４】
前記少なくとも１つの設定を変更するステップは、前記一意の識別子と関連付けられた少なくとも１つのメソッドを実行するステップを含むことを特徴とする請求項３に記載のコンピュータ読み取り可能な媒体。
【請求項５】
前記ＢＩＯＳ構成記述は、前記複数のオブジェクトを定義するための規則のセットを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項６】
前記規則のセットは、前記構成可能要素を所望のフォーマットで定義するときに使用する修飾子を含むことを特徴とする請求項５に記載のコンピュータ読み取り可能な媒体。
【請求項７】
前記所望のフォーマットは、管理されるオブジェクトのフォーマットを含むことを特徴とする請求項６に記載のコンピュータ読み取り可能な媒体。
【請求項８】
データ構造を記録したコンピュータ読み取り可能な媒体であって、
ａ）構成可能要素クラス（３３２）をハードウェア依存のコンポーネント（２０６）と関連付ける一意の識別子（３２５）と関連付けられた一意の識別子の修飾子（３２４）と、
ｂ）前記クラスに関して定義されたプロパティ（３５２）と
を含み、
所定のユーザモードデータ処理操作（５００）の間に、前記ユーザモード処理操作は、前記一意の識別子を、前記一意の識別子を利用して前記プロパティに関連付けられたハードウェア設定を変更する（５０４）ためのメソッド（７０８）を識別する、前記ハードウェア依存のコンポーネントに送信することを特徴とするコンピュータ読み取り可能な媒体。
【請求項９】
前記ハードウェア依存のコンポーネントは、前記ユーザモードのデータ処理操作より高い特権モードで動作することを特徴とする請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１０】
前記プロパティを記述するプロパティ記述値と関連付けられたプロパティ記述修飾子をさらに含むことを特徴とする請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１１】
前記プロパティのディスプレイ名を記述するプロパティディスプレイ名と関連付けられたプロパティ名修飾子をさらに含むことを特徴とする請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１２】
前記プロパティの初期化の際に前記プロパティに割り当てられるデフォルト値と関連付けられたデフォルト修飾子をさらに含むことを特徴とする請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１３】
前記デフォルト値は、予め定められたユーザモードのデータ処理操作が前記プロパティをリセットすると前記プロパティに割り当てられることを特徴とする請求項１２に記載のコンピュータ読み取り可能な媒体。
【請求項１４】
前記予め定められたユーザモードのデータ処理操作が前記プロパティの変更を可能にすることを示す、前記プロパティと関連付けられた書き込み修飾子をさらに含むことを特徴とする請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１５】
前記予め定められたユーザモードのデータ処理操作が前記プロパティの現在の値を前記ハードウェア依存のコンポーネントから取得することができることを示す、前記プロパティと関連付けられた読み出し修飾子をさらに含むことを特徴とする請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１６】
コンピュータシステムであって、
プロセッサ（１０２）と、
前記プロセッサによって実行されると構成可能要素（２３０）を構成する方法（５００）を実行する複数の命令（１４４）がロードされたメモリ（１０４）と
を備え、前記方法は、
ａ）リストの位置を取得する（６０２）ステップと、
ｂ）構成記述（２２０）に基づいて、前記構成可能要素と関連付けられた、前記リスト内のオブジェクトを識別する（６０４）ステップと、
ｃ）前記オブジェクトと関連付けられた前記リストからプロパティを識別する（６１４）ステップと、
ｄ）前記プロパティと関連付けられたタイプ（６２０）および少なくとも１つの修飾子を（６２２）取得するステップと、
ｅ）前記タイプおよび前記少なくとも１つの修飾子に基づいてユーザインタフェース要素（６２４）を表示するステップと
を含むことを特徴とするコンピューティングシステム。
【請求項１７】
前記位置は、予め定義された名前空間を含むことを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記構成記述は、前記コンピューティングシステムの基本入力／出力システム内の前記構成可能要素を定義するための予め定義されたスキーマを含むことを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記構成記述は、前記コンピューティングシステムの基本入力／出力システム内の前記構成可能要素を定義するときに従う規則のセットを含むことを特徴とする請求項１６記載のシステム。
【請求項２０】
前記ユーザインタフェース要素とのやり取りに基づいて前記構成可能要素を変更するステップをさらに含むことを特徴とする請求項１６記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＩＯＳ構成の更新技術に関する。
【背景技術】
【０００２】
コンピューティングシステムは、コンピューティングシステム内のハードウェア要素を制御する基本入力／出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）を有する。例えば、ＢＩＯＳは、キーボード、ディスプレイスクリーン、ディスクドライブなどを制御するコードを含むことができる。典型的には、ＢＩＯＳは、コンピューティングシステムの一部であるＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）チップに記憶されている。ＢＩＯＳは、ＲＯＭ内にあるので、コンピューティングシステムの起動に常に利用可能である。一部のコンピューティングシステムでは、コンピューティングシステムを起動するたびに、ＢＩＯＳを、ＲＯＭからより高速のＲＡＭ（ｒａｍｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）にコピーして解凍することができる。これにより、コンピューティングシステムをより早く起動すること、およびより小さいＲＯＭ記憶装置サイズが可能になる。ＢＩＯＳを、必要な場合にＢＩＯＳの更新を可能にするフラッシュメモリチップに記憶することもできる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＢＩＯＳによって制御されるハードウェア要素の設定（ｓｅｔｔｉｎｇｓ）を構成するために、ユーザは、コンピュータシステム製造業者（すなわち、相手先商標製品の製造会社（ＯＥＭ））によって提供されるＢＩＯＳセットアップユーティリティとやり取りをする。ＢＩＯＳセットアップユーティリティは、ローカルＢＩＯＳセットアップユーティリティを実行するコンピューティングシステムと物理的にやり取りをしているユーザによってアクセスされることがある。さらに、一部の製造業者は、ユーザがネットワークを介してコンピューティングシステムを構成することを可能にするリモートＢＩＯＳセットアップユーティリティを提供する。しかしながら、ローカルユーティリティおよびリモートユーティリティの両方がシステム依存型である。したがって、ある製造業者からのリモートネットワークユーティリティは、別の製造業者からのコンピューティングシステムのＢＩＯＳセッティングを変更することができない。さらに、ＢＩＯＳセットアップユーティリティとやり取りしている間、オペレーティングシステムは介在しない。したがって、システム管理者は、オペレーティングシステムが存在する、様々な製造業者からのコンピューティングシステムのセットを、単一のリモート管理者コンソール（ａｄｍｉｎｉｓｔｏｒａｔｏｒ  ｃｏｎｓｏｌｅ）で実行中の管理アプリケーションを使用して、リモートに構成することができない。
【課題を解決するための手段】
【０００４】
本ＢＩＯＳ構成の更新技術（ＢＩＯＳ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｕｐｄａｔｅ  ｔｅｃｈｎｉｑｕｅ）は、システム管理者に、単一の管理者コンソールから、様々な製造業者によるコンピューティングシステムのセットをリモートで構成する能力を与える。ＢＩＯＳ構成記述（ＢＩＯＳ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｄｅｓｃｒｉｐｔｉｏｎ）は、コンピューティングシステム内のハードウェアのセッティングを定義するのに使用される。ＢＩＯＳ構成記述は、様々な製造業者がコンピューティングシステム内の構成可能要素（ｃｏｎｆｉｇｕｒａｂｌｅ  ｅｌｅｍｅｎｔｓ）とのインタフェースを設計するときに使用するスキーマを、予め定義することができる。代替的にＢＩＯＳ構成記述は、様々な製造業者がコンピューティングシステム内の構成可能要素とのインタフェースを設計するときに使用する規則のセットを、定義することができる。ＢＩＯＳ構成記述を使用すると、１つの管理アプリケーションが、様々な製造業者からのコンピューティングシステムの複数の構成可能要素にアクセスすることができる。
【０００５】
この「課題を解決するための手段」は、以下の「発明を実施するための最良の形態」においてさらに説明される概念の選択を簡略化した形式で紹介するために提供される。この「課題を解決するための手段」は、特許請求される対象の重要な特徴または本質的な特徴を識別するようには意図されておらず、特許請求される対象の範囲を決定する際の助けとして用いられることも意図されていない。
【発明を実施するための最良の形態】
【０００６】
限定的でなくかつ包括的でない実施形態を添付の図面を参照して説明する。図面において同様の参照番号は、特に明記しない限り、様々な図を通して同様の部分を指す。便宜上、参照番号の最も左の桁は、その参照番号が最初に現れる特定の図を識別する。
【０００７】
以下の説明は、あるアプリケーションに様々な製造業者からのコンピューティングシステムにおけるＢＩＯＳ設定（ＢＩＯＳ  ｓｅｔｔｉｎｇｓ）を構成する能力を与える、ＢＩＯＳ構成の更新技術を対象とする。要約すると、該技術は、コンピューティングシステム内の構成可能なハードウェア要素を記述するＢＩＯＳ構成記述を利用する。本ＢＩＯＳ構成の更新技術に関するこれらおよび他の態様を、ここで詳述する。
【０００８】
図１は、本明細書で説明されるＢＩＯＳ構成の更新技術の一実施形態を実装するのに使用することができる説明的なコンピューティングシステムである。該システムは、コンピューティングデバイス１００などのコンピューティングデバイスを含む。コンピューティングデバイス１００は、パーソナルコンピュータ、ラップトップ、サーバ、ハンドヘルドまたはモバイルデバイス（例えば、携帯電話、デジタルアシスタント）などの任意のタイプのコンピュータデバイスを表す。非常に基本的な構成では、コンピューティングデバイス１００は、典型的には、少なくとも１つの処理装置１０２およびシステムメモリ１０４を含む。コンピュータデバイスの正確な構成およびタイプに応じて、システムメモリ１０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこれら２つの何らかの組合せとすることができる。システムメモリ１０４は、典型的にＢＩＯＳ１４０、オペレーティングシステム１０６、１つまたは複数のプログラムモジュール１０８を含み、さらにプログラムデータ１１０を含むことができる。本ＢＩＯＳ構成の更新技術に関して、ＢＩＯＳ１４０は、ＢＩＯＳ構成の更新技術を実装する１つまたは複数のコンポーネント１４２を含むことができる。さらに、オペレーティングシステム１０６は、ＢＩＯＳ構成の更新技術を実装する１つまたは複数のコンポーネント１４４を含むことができる。コンポーネント１４２および１４４については、図２を参照して以下で詳述する。プログラムモジュール１０８は、コンポーネント１４２および１４４内で実装されるＢＩＯＳ構成の更新技術を利用する管理アプリケーション１４６を含むことができる。この基本的な構成は、破線１１２内のコンポーネントによって図１に図示されている。
【０００９】
コンピューティングデバイス１００は、さらなる機能または機能性を有することができる。例えば、コンピューティングデバイス１００は、例えば磁気ディスク、光ディスク、またはテープなどの追加のデータ記憶装置（取り外し可能および／または取り外し不可能）も含むことができる。このような追加の記憶装置は、取り外し可能の記憶装置１２０および取り外し不可能の記憶装置１２２により図１に図示されている。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶する任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能および取り外し不可能の媒体を含むことができる。システムメモリ１０４、取り外し可能の記憶装置１２０、および取り外し不可能の記憶装置１２２は、全てコンピュータ記憶媒体の例である。したがって、コンピュータ記憶媒体は、これらに限定されるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ-ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を記憶するのに使用可能でありかつコンピューティングデバイス１００によってアクセス可能な任意の他の媒体を含むことができる。任意の上記のコンピュータ記憶媒体はデバイス１００の一部とすることができる。
【００１０】
コンピューティングデバイス１００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置１２４も有することができる。コンピューティングデバイス１００は、デバイスが他のコンピュータデバイス１３０と通信することを可能にする通信接続１２８をネットワーク上などに含むこともでき、その結果、あるコンピューティングシステム上のアプリケーション１４６が、本ＢＩＯＳ構成の更新技術に従って別のコンピューティングシステム上のハードウェア設定を変更することができる。通信接続１２８は、通信媒体の一例である。通信媒体を、典型的に、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータによって具現化することができる。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ読み取り可能な媒体は、コンピュータがアクセスすることができる任意の利用可能媒体とすることができる。限定ではなく例として、コンピュータ読み取り可能な媒体は、「コンピュータ記憶媒体」および「通信媒体」を含むことができる。
【００１１】
様々なモジュールおよび技術を、１つまたは複数のコンピュータまたは他のデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で本明細書において説明することができる。一般的に、プログラムモジュールには、特定のタスクを実行するため、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュールおよび同等のものを、ネイティブコードとして実行することができ、または、仮想マシンもしくは他のジャストインタイムのコンパイル実行環境などにおいてダウンロードして実行することができる。典型的にプログラムモジュールの機能を、様々な実施形態において所望通りに組み合わせ、または分散することができる。これらのモジュールおよび技術の実装を、ある形式のコンピュータ読み取り可能な媒体に記憶し、またはこれを介して送信することができる。
【００１２】
図２は、図１のコンピューティングシステムなどの１つまたは複数のコンピューティングシステムに存在する、本ＢＩＯＳ構成の更新技術の一実施形態を具体化しているコンポーネントの機能ブロック図である。セクション２０２内で動作するコンポーネントは、一般にユーザモードと呼ばれる非特権モード（ｕｎｐｒｉｖｉｌｅｇｅｄ  ｍｏｄｅ）で動作する。セクション２０４内で動作するコンポーネントは、一般にカーネルモードと呼ばれる特権モード（ｐｒｉｖｉｌｅｇｅｄ  ｍｏｄｅ）で動作する。当業者にとって公知であるように、「カーネルモード」とは、オペレーティングシステム（ｏｓ）の最も特権的かつ保護されたレベルにおいて生じる処理をいう。カーネルモードのコンポーネントは、保護されたメモリ内に存在し、基本オペレーティングシステムのサービスを提供する。「ユーザモード」とは、アプリケーション層で生じかつカーネルモードドライバに対する一般的なアクセスを有しない処理をいう。セクション２０６内のコンポーネントは、ハードウェア要素のレジスタなどのハードウェアレベルであり、それによりハードウェアを構成可能にする。これらのハードウェアコンポーネント（例えば、構成可能要素２３０−２３６）は、典型的に、少なくとも１つの変更可能な設定を有する。構成可能要素は、無線ネットワークカード、ディスプレイ、ＣＤ−ＲＯＭドライブなどの任意のタイプのハードウェアデバイスとすることができる。
【００１３】
本ＢＩＯＳ構成の更新技術の一実施形態は、管理レイヤコンポーネント２１２、マッピングコンポーネント２１４、インタフェースコンポーネントを搭載するオペレーティングシステム２１６、およびＢＩＯＳ２１８についてのいくつかの周知のコンポーネントを利用することができる。例えば、管理レイヤコンポーネント２１２は、ＷＭＩ（Ｗｉｎｄｏｗｓ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ）システムを含むことができ、該ＷＭＩシステムは、ハードウェア要素などの装備されたコンポーネントが、ユーザモードおよびカーネルモードの両方において、ユーザモードの管理アプリケーション２１０に情報および通知を与えることができるインタフェースを提供する。ＢＩＯＳ２１８は、電力制御インタフェース（ＡＣＰＩ：Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）コード（図示せず）を含み、該ＡＣＰＩコードは、ＡＣＰＩ準拠のハードウェアの機能を制御する方法を含むことができる。ＡＣＰＩコードを、コンパイルして、ＢＩＯＳの一部として記憶することができる。ＡＣＰＩコードの方法は、次いで、ＡＣＰＩハードウェアの機能と通信する周知のＡＣＰＩドライバなどの、カーネルモードドライバ（例えば、インタフェースコンポーネント２１６を搭載するオペレーティングシステム）に組み込まれた仮想マシンによって翻訳され実行されることがある。マッピングコンポーネント２１４は、ＡＣＰＩ−ＷＭＩマッピングドライバを含み、該ＡＣＰＩ−ＷＭＩマッピングドライバは、ＷＭＩ（すなわち、管理レイヤコンポーネント２１２）からコマンドを受信して、該コマンドをＡＣＰＩ準拠のコマンドに変換して、ＡＣＰＩドライバ（すなわち、インタフェースコンポーネント２１６を搭載するＯＳ）を介してＡＣＰＩ準拠のコマンドを発行する。管理レイヤコンポーネント、マッピングコンポーネント、インタフェースコンポーネントを搭載するｏｓ、およびＢＩＯＳに関するこれらの従来のコンポーネントの間のやり取りは、周知である。しかしながら、これらのコンポーネントは、例示だけを目的とし、他の動作環境において他の適用可能なコンポーネントを用いることから本ＢＩＯＳ構成の更新技術の利用可能性を制限するものではない。
【００１４】
要約すると、コンポーネント２１２、２１４、２１６、および２１８は、管理アプリケーション２１０からハードウェア要素２３０−２３６へデータを流す「パイプ」を提供する。しかしながら、上記で検討したように、ＢＩＯＳの構成２１８は、コンピュータ製品、ＢＩＯＳデザイナなどによって決まる。したがって、管理アプリケーション２１０は、各製品がそれらのコンピューティングシステムのＢＩＯＳをどのように構成しているか知らず、そのため、これらの異なるコンピューティングシステムにおける構成設定を管理することができない。
【００１５】
しかしながら、本ＢＩＯＳ構成の更新技術によると、ＢＩＯＳ構成記述２２０が提供される。要約すると、ＢＩＯＳ構成記述２２０は、コンピュータ製造業者が自身のハードウェア要素（すなわち、構成可能要素）を定義する方法を記述する。図３とともに後述される一実施形態では、ＢＩＯＳ構成記述２２０は、構成可能要素および構成可能要素の潜在的な値（ｐｏｔｅｎｔｉａｌ  ｖａｌｕｅ）を詳述する、予め定義されたスキーマを含む。図４とともに後述される別の実施形態では、ＢＩＯＳ構成記述２２０は、構成可能要素および構成可能要素の潜在的な値を定義する規則のセットを含む。さらなる改良において、構成可能要素に関するオブジェクト定義２２２を、任意選択的にＢＩＯＳ２１８に記憶することができる。簡潔に言うと、図３とともに後述されるこれらのオブジェクト定義は、ＢＩＯＳ構成記述２２０に適合する。ＢＩＯＳ２１８はマップ２２４も含む。簡潔に言うと、図７とともに後述されるマップ２２４は、一意の識別子を、関連する構成可能要素を構成する１つまたは複数のメソッド（ｍｅｔｈｏｄｓ）と関連付ける。一意の識別子は、ＢＩＯＳ構成記述において定義され、管理レイヤコンポーネント２１２および管理アプリケーション２１０に利用可能である。したがって、管理アプリケーションは、特定の一意の識別子を知る必要がない。その代わりに、分かりやすい名前および／またはオブジェクト名を管理アプリケーションによって使用して、ＢＩＯＳ内の対応する設定を変更することができる。管理アプリケーション２１０は、構成可能要素と同じコンピューティングシステム（すなわち、ローカルモード）において実行することができ、または異なるコンピューティングシステム（すなわち、リモートモード）において実行することができるということが注目される。
【００１６】
図３は、図２のＢＩＯＳ構成記述の例を示す、無線コントローラの予め定義されたスキーマを実装する例示的なＢＩＯＳ構成記述である。一実施形態では、ＢＩＯＳ構成記述３００は、業界標準のＣＩＭ（ｃｏｍｍｏｎ  ｉｎｆｏｒｍａｔｉｏｎ  ｍｏｄｅｌ）を実装することができる。当業者には分かるように、ＣＩＭは、オブジェクト指向プログラミングの技術を用いて、オブジェクトクラス、プロパティ、メソッドなどのための一貫した定義およびデータ構造を提供する。一実施形態では、ＣＩＭを、ＭＯＦ（Ｍａｎａｇｅｄ  Ｏｂｊｅｃｔ  Ｆｏｒｍａｔ）言語を用いて実装することができる。したがって、この実施形態に関してＢＩＯＳ構成記述は、ＭＯＦ（Ｍａｎａｇｅｄ  Ｏｂｊｅｃｔ  Ｆｏｒｍａｔ）クラスのリストを伴うことができる。各ＭＯＦクラスは、構成可能要素の１つを記述する。
【００１７】
上記のように、ＢＩＯＳ構成記述を、スキーマを予め定義することにより実装することができる。予め定義されたスキーマは、製造業者が自身のＢＩＯＳを設計するときに利用される。スキーマは予め定義されているため、管理アプリケーションは、管理アプリケーションが開発されるときに該スキーマを知っている。したがって、管理アプリケーションは、スキーマについてのこの知識を管理アプリケーションのためのコードに取り込む。図３は、例示的な予め定義されたスキーマ内の構成可能要素を予め定義するための１つのフォーマットを図示している。
【００１８】
ＢＩＯＳ構成記述３００は、メタデータ３１０、クラス情報３３０、およびプロパティ情報３５０を含む。メタデータ３１０は、構成可能要素または構成可能要素のプロパティに関する修飾子（ｑｕａｌｉｆｉｅｒ）を記述する。例えば、スキーマの実施例３００では、メタデータ３１０は、サポートされる管理レイヤコンポーネントのタイプを指定する第１のメタデータ修飾子３１２（例えば、「ＷＭＩ」）を含む。第２のメタデータ修飾子３１４（例えば、「Ｄｙｎａｍｉｃ」）は、構成可能要素の値は管理アプリケーションが値をクエリするたびに発見されることを指定する。第３のメタデータ修飾子３１６（例えば、「Ｐｒｏｖｉｄｅｒ」）および対応するメタデータ値３１７（例えば、「ＷＭＩＰｒｏｖ」）は、どの管理レイヤのサブコンポーネント（プロバイダとしても知られる）が構成可能要素の値を取り出すことに関与するかを指定する。言い換えると、修飾子３１７およびメタデータ値３１７は、構成可能要素にアクセスする方法について管理レイヤコンポーネントの詳細を指定する。第４のメタデータ修飾子３１８（例えば、「ＤｉｓｐｌａｙＮａｍｅ」）および対応するメタデータ値３１９（例えば、「Ｏｎｂｏａｒｄ  ８０２．１１ｘ  Ｗｉｒｅｌｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ」）は、定義されている構成可能要素と関連するディスプレイ名を指定する。第５のメタデータ修飾子３２０（例えば、「Ｄｅｓｃｒｉｐｔｉｏｎ」）および対応するメタデータ値３２１（例えば、「Ｃｏｎｆｉｇｕｒｅｓ  ｔｈｅ  ｏｎｂｏａｒｄ  ８０２．１１ｘ  ｗｉｒｅｌｅｓｓ  ｃｏｎｔｒｏｌｌｅｒ」）は、定義されている、関連する構成可能要素に関する記述を指定する。第６のメタデータ修飾子３２２（例えば、「Ｌｏｃａｌｅ」）および対応するメタデータ値３２３（例えば、「ｏｘ４０９」）は、ＤｉｓｐｌａｙＮａｍｅ３１８およびＤｅｓｃｒｉｐｔｉｏｎ３２０の（複数の地域（ｇｅｏｇｒａｐｈｉｅｓ）および言語に関するテキストのローカル化のための）テキストのロケール（ｌｏｃａｌｅ）を指定する。第７のメタデータ修飾子３２４（例えば、「ＧＵＩＤ」）および対応するメタデータ値３２５（例えば、「２Ｅ５ＥＣ０ＣＤ−７４８Ｆ−４ｅ３ｆ−Ｂ６３Ｄ−６ＦＣＢＦ５ＡＥＢ６０Ｆ」）は、構成可能要素の一意の識別子を指定する。後述されるように、この一意の識別子は、ＢＩＯＳによって使用され、関連する構成可能要素の構成の設定を変更する方法を識別する。いくつかのメタデータ修飾子が図３に図示されているが、ＢＩＯＳ構成記述は、これらのメタデータ修飾子のサブセットのみを定義してもよく、また追加のメタデータ修飾子などを定義してもよい。さらに、図３に図示したテキスト名を変更することができる。スキーマが予め定義され、管理アプリケーションの開発者およびＢＩＯＳ実装者によって順守されている限り、得られたフォーマットおよび命名規則は、いくつかの形式の１つとすることができる。
【００１９】
上記のように、ＢＩＯＳ構成記述３００は、クラス情報３３０およびプロパティ情報３５０も含む。クラス情報３３０は、他のクラス３３３（例えば、ＭＳ＿ＢＩＯＳＳｅｔｔｉｎｇｓ）から継承することができるクラス３３２（例えば、「Ｏｎｂｏａｒｄ８０２１１Ｗｉｒｅｌｅｓｓ」）を識別する。クラス情報３３０は、２つの変数３３４（例えば、ｓｔｒｉｎｇ  ＩｎｓｔａｎｃｅＮａｍｅ）および３３６（例えば、Ｂｏｏｌｅａｎ  Ａｃｔｉｖｅ）、ならびにそれぞれ対応する属性３３５（例えば、［ｒｅａｄ,  ｋｅｙ］）および属性３３７（例えば、［ｒｅａｄ］）も含むことができる。これらの変数は、管理アプリケーションによって使用され、ある時点で存在する構成可能要素のオブジェクトの１つのインスタンスが存在することを確実にすることができる。変数宣言を有する属性の使用は、本技術分野では周知である。クラス情報３３０が定義されると、プロパティ情報３５０が定義される。ＢＩＯＳ構成記述３００は、クラス３３２と関連付けられた１つのプロパティ情報３５０のみを図示しているが、同じ方法で複数のプロパティ情報を１つの構成可能要素に関して定義することができる。各プロパティ情報３５０は、クラスのグループ内で定義され、プロパティ識別子３３９およびプロパティ番号３３８によって識別される。各プロパティ情報３５０内に、いくつかの修飾子がある（例えば、修飾子３４０−３４８）。一部の修飾子は、修飾子３４２−３４８などの、関連する値を有する。許可修飾子（ｐｅｒｍｉｓｓｉｏｎ  ｑｕａｌｉｆｉｅｒ）３４０は、関連するプロパティが読み出され、および／または書き込まれることがあるか否かを識別する。プロパティディスプレイ名修飾子３４２は、プロパティディスプレイ名データ３４２と関連付けられ、プロパティディスプレイ名が使用可能であるか使用不可能であるかを指定する。言い換えると、プロパティディスプレイ名修飾子３４２は、ＢＩＯＳ設定を変更するためのユーザインタフェースが、プロパティのディスプレイ名を示すことができるか否かを制御する。プロパティ記述修飾子３４４は、プロパティ記述データ３４５と関連付けられ、ディスプレイ名修飾子が使用可能である場合に表示することができる記述を指定する。値修飾子３４６は、値データ３４７と関連付けられ、関連するプロパティのユーザインタフェースに現れることがある文字列を指定する。値データは、第１の文字列が０値などと関連付けられるゼロインデックスのリストの形式とすることができる。デフォルト修飾子３４８は、デフォルト値３４９と関連付けられ、ユーザインタフェースに初期表示されるか、または関連する構成可能要素のリセットの際に表示されるデフォルト値を識別する。プロパティ情報３５０も、プロパティ３５２に関する宣言（例えば、「Ｂｏｏｌｅａｎ  Ｅｎａｂｌｅ」）を含む。
【００２０】
このように、スキーマ３００は、構成可能要素、および関連するメタデータを予め定義する。したがって、管理アプリケーションは、開発期間中にこのスキーマについて知っており、管理アプリケーションが開発されると任意の特定の設定とやり取りをする方法を決定することができる。しかしながら、ＤｉｓｐｌａｙＮａｍｅおよびＤｅｓｃｒｉｐｔｉｏｎｓがスキーマにおいて定義されても、管理アプリケーションは、関連する構成可能要素に関してそのディスプレイ名および記述を使用することができる。予め定義されたスキーマ３００がコンピュータ製造業者に配布され、その結果、コンピュータ製造業者のコンピューティングシステムのＢＩＯＳを、スキーマに合致させることができる。
【００２１】
別の実施形態では、スキーマ３００は予め定義されないが、ＢＩＯＳ構成記述は、スキーマの要素を記述するための規則を指定する。これらの規則は、管理アプリケーションの開発の前に提供されるフレームワークベースのスキーマを提供する。実際のスキーマコードは、管理アプリケーションが開発された後に提供される。したがって、管理アプリケーションを、ＢＩＯＳ構成スキーマ内の構成可能要素の全体のリストを知ることなく作成することができる。規則は、予め定義されたスキーマ内の上記で定義された修飾子の使用を指定することがあるが、修飾子と関連付けられた実際の値をコンピューティングシステム製造業者が決定することを可能にする。
【００２２】
図４は、図２のＢＩＯＳ構成記述の別の例を示す、フレームワークベースのスキーマを実装する例示的なＢＩＯＳ構成記述である。例示的なフレームワークベースのスキーマは、２つの表４００および４３０を使用して図示されている。表４００は、修飾子およびその関連する規則を指定する２つの列４０２および４０４を有する。各行４１０−４２４は、例示的なフレームワークベースのスキーマにおける修飾子の１つ、およびその関連する規則を指定する。修飾子は、ディスプレイ名修飾子４１０、記述修飾子４１２、書き込み修飾子４１４、デフォルト修飾子４１６、値修飾子４１８、プロパティディスプレイ名修飾子４２０、プロパティ記述修飾子４２２、およびヘルプ修飾子４２４を含むことができる。これらの修飾子の多くは、予め定義したスキーマに関して上述の対応する修飾子を有する。したがって、簡潔にするために、これらの修飾子についての説明は繰り返さない。フレームワークベースのスキーマは、コンピューティングシステムの構成可能要素を記述するスキーマコードを生成して該スキーマコードとやり取りをする方法についてのガイダンスを提供することが注目されよう。要約すると、表４３０は、定義されるプロパティのタイプ（すなわち、プロパティタイプの列４３２）に基づいてユーザインタフェースを構築するための１つの例示的な技術（すなわち、規則の列４３４）を指定する。例えば、行４４０は、プロパティがブールタイプの場合、ラジオボタンコントロールが値修飾子４１８からのラベルで表示されることを指定する。行４４２は、プロパティが整数タイプであって値修飾子が識別されなかった場合、整数を表示するコントロールが表示されることを指定する。行４４４は、プロパティが整数タイプであって値修飾子が識別される場合、値修飾子からドロップダウンリストが表示されることを指定する。行４４６は、プロパティが文字列タイプの場合、任意の文字列を入力するためにテキストボックスが表示されることを指定する。さらに、フレームワークベースのスキーマは、複数のプロパティを定義する方法などを指定することができる。
【００２３】
図５は、例示的なＢＩＯＳ構成の更新プロセス５００の一実施形態を示すフローチャートである。ＢＩＯＳ構成更新プロセス５００は、ブロック５０２で始まり、予め定義されたスキーマおよび／またはフレームワークベースのスキーマを利用することができる。ブロック５０２で、ユーザインタフェースは、ＢＩＯＳ構成記述に基づいて表示される。ＢＩＯＳ構成記述が予め定義されたスキーマを利用する場合、構成可能要素のそれぞれは管理アプリケーションが開発されるときに知られているため、管理アプリケーションはすでにコード化されたユーザインタフェースを有することができる。ＢＩＯＳ構成記述がフレームワークベースのスキーマを利用する場合、管理アプリケーションは実行時にユーザインタフェースを構築することを必要とする。実行時にユーザインタフェースを構築する１つの例示的なプロセスを図６とともに説明する。処理はブロック５０４に続く。
【００２４】
ブロック５０４で、ユーザインタフェースとのやり取りの間に指定された設定は、構成可能要素内で変更される。典型的にユーザインタフェースは、選択可能な更新ボタンを含む。更新ボタンが選択されると、ユーザインタフェースで行われる変更が決定され、次いでこれらの変更は、更新すべき関連する構成可能要素に送信される。各ユーザインタフェース要素は構成可能要素と関連付けられ、各構成可能要素は一意の識別子を有するため、管理アプリケーションは、更新するための値を、管理レイヤを介して構成可能要素に渡すことができる。管理レイヤは、該値を、一意の識別子に基づいてパイプを介して構成可能要素に渡す。図７は、構成可能要素の設定を変更するときに、図５における使用に適した図１のコンピューティングシステム内の構成可能要素とＢＩＯＳメソッド（ＢＩＯＳ  ｍｅｔｈｏｄｓ）との間のマッピングを示す説明的な表である。図７に示されるように、ＢＩＯＳマップ７００は、一意の識別子（例えば、ＧＵＩＤ）７０２を１つまたは複数のメソッド７０４と関連付ける。これらのメソッドは、値（もしあれば）をとり、関連する構成可能要素の設定を変更する。例えば、「Ｏｎｂｏａｒｄ８０２１１Ｗｉｒｅｌｅｓｓ」ボードは、「２Ｅ５ＥＣ０ＣＤ−７４８Ｆ−４ｅ３ｆ−Ｂ６３Ｄ−６ＦＣＢＦ５ＡＥＢ６０Ｆ」ＧＵＩＤと関連付けられる。マップ７００を使用して、メソッドＡ７０８を起動し、「Ｏｎｂｏａｒｄ８０２１１Ｗｉｒｅｌｅｓｓ」ボードの設定を変更する。
【００２５】
図６は、ＢＩＯＳ構成記述に基づいて実行時にユーザインタフェースを構築するプロセス６００の一実施形態を図示するフローチャートである。プロセス６００は、リストが位置指定（ｌｏｃａｔｅ）されるブロック６０２で始まる。一実施形態では、位置は、ｒｏｏｔ＼＼ｗｍｉ＼＼ｂｉｏｓなどの予め定義された名前空間とすることができる。この名前空間にオブジェクトを追加することは、よく知られており、典型的にはコンピューティングシステムを起動するときに行われる。処理はブロック６０４に続く。
【００２６】
ブロック６０４で、リスト内のオブジェクトが識別される。処理はブロック６０６に継続する。
【００２７】
ブロック６０６では、位置指定される各オブジェクトに対して、ブロック６１０、６１２および６１４が実行される。ブロック６１０では、構成可能要素のディスプレイ名を取得する。ブロック６１２では、構成可能要素の関連する記述を取得する。ブロック６１４はオブジェクトのプロパティごとに実行され、ブロック６１４は、ブロック６２０、６２２および６２４を含む。ブロック６２０では、プロパティのタイプを取得する。ブロック６２２では、プロパティの修飾子を取得する。ブロック６２４では、図４の表４３０に示されるフレームワークベースのスキーマにおいて指定された規則に従って、タイプおよび修飾子に基づいて、プロパティのユーザインタフェース要素を表示する。オブジェクトのプロパティおよび各オブジェクトを全て処理すると、ユーザインタフェースが構築され、ユーザとやり取りをする準備が整う。
【００２８】
したがって、説明したように、本ＢＩＯＳ構成の更新技術は、様々な製造業者からのコンピューティングシステムにおけるハードウェア要素を首尾よく管理する。管理アプリケーションを、予め定義されたスキーマに基づいてユーザインタフェースを用いて「ハードコード化（ｈａｒｄ  ｃｏｄｅｄ）」することができ、または管理アプリケーションは、フレームワークベースのスキーマに基づいて実行時にユーザインタフェースを構築することができる。ユーザインタフェースはしたがって、様々な製造業者のＢＩＯＳ構成に適合することができ、ある便利なユーザインタフェースとのやり取りを可能にして、構成可能要素の全ての設定を変更することができる。例示的な実施形態およびアプリケーションを図示し説明してきたが、本発明は上述と完全に同じ構成およびリソースに制限されないことは理解されよう。特許請求される発明の範囲から逸脱することなく、本明細書に開示される本発明の方法およびシステムの配置、動作および詳細に、当業者に明らかである様々な修正、変更および変形を行うことができる。
【図面の簡単な説明】
【００２９】
【図１】一実施形態にしたがって本明細書で説明されるＢＩＯＳ構成の更新技術を実装するのに使用することができる例示的なコンピューティングシステムの図である。
【図２】図１のコンピューティングシステムなどの、１つまたは複数のコンピューティングシステムに存在する本ＢＩＯＳ構成の更新技術の一実施形態を具体化するコンポーネントの機能ブロック図である。
【図３】図２の例示的なＢＩＯＳ構成記述を図示する、無線コントローラの予め定義されたスキーマを実装する例示的なＢＩＯＳ構成記述の図である。
【図４】図２の別の例示的なＢＩＯＳ構成記述を図示する、フレームワークベースのスキーマを実装する例示的なＢＩＯＳ構成記述の図である。
【図５】例示的なＢＩＯＳ更新プロセスの一実施形態を示すフローチャートである。
【図６】ＢＩＯＳ構成記述に基づいてユーザインタフェースを構築するプロセスの一実施形態を示すフローチャートである。
【図７】構成可能要素の設定を変更するときに、図４における使用に適した図１のコンピューティングシステム内の構成可能要素とＢＩＯＳメソッドとの間のマッピングを示す例示的な表である。
【図１】
2009535690.tif 000003
【図２】
2009535690.tif 000004
【図３】
2009535690.tif 000005
【図４】
2009535690.tif 000006
【図５】
2009535690.tif 000007
【図６】
2009535690.tif 000008
【図７】
2009535690.tif 000009
【国際調査報告】
2009535690.tif 000010
2009535690.tif 000011