JP5346278B2 - Bios構成の更新技術 - Google Patents

Bios構成の更新技術 Download PDF

Info

Publication number
JP5346278B2
JP5346278B2 JP2009507682A JP2009507682A JP5346278B2 JP 5346278 B2 JP5346278 B2 JP 5346278B2 JP 2009507682 A JP2009507682 A JP 2009507682A JP 2009507682 A JP2009507682 A JP 2009507682A JP 5346278 B2 JP5346278 B2 JP 5346278B2
Authority
JP
Japan
Prior art keywords
property
bios configuration
bios
configurable element
qualifier
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
JP2009507682A
Other languages
English (en)
Other versions
JP2009535690A (ja
JP2009535690A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009535690A publication Critical patent/JP2009535690A/ja
Publication of JP2009535690A5 publication Critical patent/JP2009535690A5/ja
Application granted granted Critical
Publication of JP5346278B2 publication Critical patent/JP5346278B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

本発明は、BIOS構成の更新技術に関する。
コンピューティングシステムは、コンピューティングシステム内のハードウェア要素を制御する基本入力/出力システム(BIOS:basic input/output system)を有する。例えば、BIOSは、キーボード、ディスプレイスクリーン、ディスクドライブなどを制御するコードを含むことができる。典型的には、BIOSは、コンピューティングシステムの一部であるROM(read only memory)チップに記憶されている。BIOSは、ROM内にあるので、コンピューティングシステムの起動に常に利用可能である。一部のコンピューティングシステムでは、コンピューティングシステムを起動するたびに、BIOSを、ROMからより高速のRAM(ramdom access memory)にコピーして解凍することができる。これにより、コンピューティングシステムをより早く起動すること、およびより小さいROM記憶装置サイズが可能になる。BIOSを、必要な場合にBIOSの更新を可能にするフラッシュメモリチップに記憶することもできる。
BIOSによって制御されるハードウェア要素の設定(settings)を構成するために、ユーザは、コンピュータシステム製造業者(すなわち、相手先商標製品の製造会社(OEM))によって提供されるBIOSセットアップユーティリティとやり取りをする。BIOSセットアップユーティリティは、ローカルBIOSセットアップユーティリティを実行するコンピューティングシステムと物理的にやり取りをしているユーザによってアクセスされることがある。さらに、一部の製造業者は、ユーザがネットワークを介してコンピューティングシステムを構成することを可能にするリモートBIOSセットアップユーティリティを提供する。しかしながら、ローカルユーティリティおよびリモートユーティリティの両方がシステム依存型である。したがって、ある製造業者からのリモートネットワークユーティリティは、別の製造業者からのコンピューティングシステムのBIOSセッティングを変更することができない。さらに、BIOSセットアップユーティリティとやり取りしている間、オペレーティングシステムは介在しない。したがって、システム管理者は、オペレーティングシステムが存在する、様々な製造業者からのコンピューティングシステムのセットを、単一のリモート管理者コンソール(administorator console)で実行中の管理アプリケーションを使用して、リモートに構成することができない。
本BIOS構成の更新技術(BIOS configuration update technique)は、システム管理者に、単一の管理者コンソールから、様々な製造業者によるコンピューティングシステムのセットをリモートで構成する能力を与える。BIOS構成記述(BIOS configuration description)は、コンピューティングシステム内のハードウェアのセッティングを定義するのに使用される。BIOS構成記述は、様々な製造業者がコンピューティングシステム内の構成可能要素(configurable elements)とのインタフェースを設計するときに使用するスキーマを、予め定義することができる。代替的にBIOS構成記述は、様々な製造業者がコンピューティングシステム内の構成可能要素とのインタフェースを設計するときに使用する規則のセットを、定義することができる。BIOS構成記述を使用すると、1つの管理アプリケーションが、様々な製造業者からのコンピューティングシステムの複数の構成可能要素にアクセスすることができる。
この「課題を解決するための手段」は、以下の「発明を実施するための最良の形態」においてさらに説明される概念の選択を簡略化した形式で紹介するために提供される。この「課題を解決するための手段」は、特許請求される対象の重要な特徴または本質的な特徴を識別するようには意図されておらず、特許請求される対象の範囲を決定する際の助けとして用いられることも意図されていない。
限定的でなくかつ包括的でない実施形態を添付の図面を参照して説明する。図面において同様の参照番号は、特に明記しない限り、様々な図を通して同様の部分を指す。便宜上、参照番号の最も左の桁は、その参照番号が最初に現れる特定の図を識別する。
以下の説明は、あるアプリケーションに様々な製造業者からのコンピューティングシステムにおけるBIOS設定(BIOS settings)を構成する能力を与える、BIOS構成の更新技術を対象とする。要約すると、該技術は、コンピューティングシステム内の構成可能なハードウェア要素を記述するBIOS構成記述を利用する。本BIOS構成の更新技術に関するこれらおよび他の態様を、ここで詳述する。
図1は、本明細書で説明されるBIOS構成の更新技術の一実施形態を実装するのに使用することができる説明的なコンピューティングシステムである。該システムは、コンピューティングデバイス100などのコンピューティングデバイスを含む。コンピューティングデバイス100は、パーソナルコンピュータ、ラップトップ、サーバ、ハンドヘルドまたはモバイルデバイス(例えば、携帯電話、デジタルアシスタント)などの任意のタイプのコンピュータデバイスを表す。非常に基本的な構成では、コンピューティングデバイス100は、典型的には、少なくとも1つの処理装置102およびシステムメモリ104を含む。コンピュータデバイスの正確な構成およびタイプに応じて、システムメモリ104は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはこれら2つの何らかの組合せとすることができる。システムメモリ104は、典型的にBIOS140、オペレーティングシステム106、1つまたは複数のプログラムモジュール108を含み、さらにプログラムデータ110を含むことができる。本BIOS構成の更新技術に関して、BIOS140は、BIOS構成の更新技術を実装する1つまたは複数のコンポーネント142を含むことができる。さらに、オペレーティングシステム106は、BIOS構成の更新技術を実装する1つまたは複数のコンポーネント144を含むことができる。コンポーネント142および144については、図2を参照して以下で詳述する。プログラムモジュール108は、コンポーネント142および144内で実装されるBIOS構成の更新技術を利用する管理アプリケーション146を含むことができる。この基本的な構成は、破線112内のコンポーネントによって図1に図示されている。
コンピューティングデバイス100は、さらなる機能または機能性を有することができる。例えば、コンピューティングデバイス100は、例えば磁気ディスク、光ディスク、またはテープなどの追加のデータ記憶装置(取り外し可能および/または取り外し不可能)も含むことができる。このような追加の記憶装置は、取り外し可能の記憶装置120および取り外し不可能の記憶装置122により図1に図示されている。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶する任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能および取り外し不可能の媒体を含むことができる。システムメモリ104、取り外し可能の記憶装置120、および取り外し不可能の記憶装置122は、全てコンピュータ記憶媒体の例である。したがって、コンピュータ記憶媒体は、これらに限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を記憶するのに使用可能でありかつコンピューティングデバイス100によってアクセス可能な任意の他の媒体を含むことができる。任意の上記のコンピュータ記憶媒体はデバイス100の一部とすることができる。
コンピューティングデバイス100は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置124も有することができる。コンピューティングデバイス100は、デバイスが他のコンピュータデバイス130と通信することを可能にする通信接続128をネットワーク上などに含むこともでき、その結果、あるコンピューティングシステム上のアプリケーション146が、本BIOS構成の更新技術に従って別のコンピューティングシステム上のハードウェア設定を変更することができる。通信接続128は、通信媒体の一例である。通信媒体を、典型的に、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータによって具現化することができる。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ読み取り可能な媒体は、コンピュータがアクセスすることができる任意の利用可能媒体とすることができる。限定ではなく例として、コンピュータ読み取り可能な媒体は、「コンピュータ記憶媒体」および「通信媒体」を含むことができる。
様々なモジュールおよび技術を、1つまたは複数のコンピュータまたは他のデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で本明細書において説明することができる。一般的に、プログラムモジュールには、特定のタスクを実行するため、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュールおよび同等のものを、ネイティブコードとして実行することができ、または、仮想マシンもしくは他のジャストインタイムのコンパイル実行環境などにおいてダウンロードして実行することができる。典型的にプログラムモジュールの機能を、様々な実施形態において所望通りに組み合わせ、または分散することができる。これらのモジュールおよび技術の実装を、ある形式のコンピュータ読み取り可能な媒体に記憶し、またはこれを介して送信することができる。
図2は、図1のコンピューティングシステムなどの1つまたは複数のコンピューティングシステムに存在する、本BIOS構成の更新技術の一実施形態を具体化しているコンポーネントの機能ブロック図である。セクション202内で動作するコンポーネントは、一般にユーザモードと呼ばれる非特権モード(unprivileged mode)で動作する。セクション204内で動作するコンポーネントは、一般にカーネルモードと呼ばれる特権モード(privileged mode)で動作する。当業者にとって公知であるように、「カーネルモード」とは、オペレーティングシステム(os)の最も特権的かつ保護されたレベルにおいて生じる処理をいう。カーネルモードのコンポーネントは、保護されたメモリ内に存在し、基本オペレーティングシステムのサービスを提供する。「ユーザモード」とは、アプリケーション層で生じかつカーネルモードドライバに対する一般的なアクセスを有しない処理をいう。セクション206内のコンポーネントは、ハードウェア要素のレジスタなどのハードウェアレベルであり、それによりハードウェアを構成可能にする。これらのハードウェアコンポーネント(例えば、構成可能要素230−236)は、典型的に、少なくとも1つの変更可能な設定を有する。構成可能要素は、無線ネットワークカード、ディスプレイ、CD−ROMドライブなどの任意のタイプのハードウェアデバイスとすることができる。
本BIOS構成の更新技術の一実施形態は、管理レイヤコンポーネント212、マッピングコンポーネント214、インタフェースコンポーネントを搭載するオペレーティングシステム216、およびBIOS218についてのいくつかの周知のコンポーネントを利用することができる。例えば、管理レイヤコンポーネント212は、WMI(Windows Management Instrumentation)システムを含むことができ、該WMIシステムは、ハードウェア要素などの装備されたコンポーネントが、ユーザモードおよびカーネルモードの両方において、ユーザモードの管理アプリケーション210に情報および通知を与えることができるインタフェースを提供する。BIOS218は、電力制御インタフェース(ACPI:Advanced Configuration and Power Interface)コード(図示せず)を含み、該ACPIコードは、ACPI準拠のハードウェアの機能を制御する方法を含むことができる。ACPIコードを、コンパイルして、BIOSの一部として記憶することができる。ACPIコードの方法は、次いで、ACPIハードウェアの機能と通信する周知のACPIドライバなどの、カーネルモードドライバ(例えば、インタフェースコンポーネント216を搭載するオペレーティングシステム)に組み込まれた仮想マシンによって翻訳され実行されることがある。マッピングコンポーネント214は、ACPI−WMIマッピングドライバを含み、該ACPI−WMIマッピングドライバは、WMI(すなわち、管理レイヤコンポーネント212)からコマンドを受信して、該コマンドをACPI準拠のコマンドに変換して、ACPIドライバ(すなわち、インタフェースコンポーネント216を搭載するOS)を介してACPI準拠のコマンドを発行する。管理レイヤコンポーネント、マッピングコンポーネント、インタフェースコンポーネントを搭載するos、およびBIOSに関するこれらの従来のコンポーネントの間のやり取りは、周知である。しかしながら、これらのコンポーネントは、例示だけを目的とし、他の動作環境において他の適用可能なコンポーネントを用いることから本BIOS構成の更新技術の利用可能性を制限するものではない。
要約すると、コンポーネント212、214、216、および218は、管理アプリケーション210からハードウェア要素230−236へデータを流す「パイプ」を提供する。しかしながら、上記で検討したように、BIOSの構成218は、コンピュータ製品、BIOSデザイナなどによって決まる。したがって、管理アプリケーション210は、各製品がそれらのコンピューティングシステムのBIOSをどのように構成しているか知らず、そのため、これらの異なるコンピューティングシステムにおける構成設定を管理することができない。
しかしながら、本BIOS構成の更新技術によると、BIOS構成記述220が提供される。要約すると、BIOS構成記述220は、コンピュータ製造業者が自身のハードウェア要素(すなわち、構成可能要素)を定義する方法を記述する。図3とともに後述される一実施形態では、BIOS構成記述220は、構成可能要素および構成可能要素の潜在的な値(potential value)を詳述する、予め定義されたスキーマを含む。図4とともに後述される別の実施形態では、BIOS構成記述220は、構成可能要素および構成可能要素の潜在的な値を定義する規則のセットを含む。さらなる改良において、構成可能要素に関するオブジェクト定義222を、任意選択的にBIOS218に記憶することができる。簡潔に言うと、図3とともに後述されるこれらのオブジェクト定義は、BIOS構成記述220に適合する。BIOS218はマップ224も含む。簡潔に言うと、図7とともに後述されるマップ224は、一意の識別子を、関連する構成可能要素を構成する1つまたは複数のメソッド(methods)と関連付ける。一意の識別子は、BIOS構成記述において定義され、管理レイヤコンポーネント212および管理アプリケーション210に利用可能である。したがって、管理アプリケーションは、特定の一意の識別子を知る必要がない。その代わりに、分かりやすい名前および/またはオブジェクト名を管理アプリケーションによって使用して、BIOS内の対応する設定を変更することができる。管理アプリケーション210は、構成可能要素と同じコンピューティングシステム(すなわち、ローカルモード)において実行することができ、または異なるコンピューティングシステム(すなわち、リモートモード)において実行することができるということが注目される。
図3は、図2のBIOS構成記述の例を示す、無線コントローラの予め定義されたスキーマを実装する例示的なBIOS構成記述である。一実施形態では、BIOS構成記述300は、業界標準のCIM(common information model)を実装することができる。当業者には分かるように、CIMは、オブジェクト指向プログラミングの技術を用いて、オブジェクトクラス、プロパティ、メソッドなどのための一貫した定義およびデータ構造を提供する。一実施形態では、CIMを、MOF(Managed Object Format)言語を用いて実装することができる。したがって、この実施形態に関してBIOS構成記述は、MOF(Managed Object Format)クラスのリストを伴うことができる。各MOFクラスは、構成可能要素の1つを記述する。
上記のように、BIOS構成記述を、スキーマを予め定義することにより実装することができる。予め定義されたスキーマは、製造業者が自身のBIOSを設計するときに利用される。スキーマは予め定義されているため、管理アプリケーションは、管理アプリケーションが開発されるときに該スキーマを知っている。したがって、管理アプリケーションは、スキーマについてのこの知識を管理アプリケーションのためのコードに取り込む。図3は、例示的な予め定義されたスキーマ内の構成可能要素を予め定義するための1つのフォーマットを図示している。
BIOS構成記述300は、メタデータ310、クラス情報330、およびプロパティ情報350を含む。メタデータ310は、構成可能要素または構成可能要素のプロパティに関する修飾子(qualifier)を記述する。例えば、スキーマの実施例300では、メタデータ310は、サポートされる管理レイヤコンポーネントのタイプを指定する第1のメタデータ修飾子312(例えば、「WMI」)を含む。第2のメタデータ修飾子314(例えば、「Dynamic」)は、構成可能要素の値は管理アプリケーションが値をクエリするたびに発見されることを指定する。第3のメタデータ修飾子316(例えば、「Provider」)および対応するメタデータ値317(例えば、「WMIProv」)は、どの管理レイヤのサブコンポーネント(プロバイダとしても知られる)が構成可能要素の値を取り出すことに関与するかを指定する。言い換えると、修飾子317およびメタデータ値317は、構成可能要素にアクセスする方法について管理レイヤコンポーネントの詳細を指定する。第4のメタデータ修飾子318(例えば、「DisplayName」)および対応するメタデータ値319(例えば、「Onboard 802.11x Wireless Controller Configuration」)は、定義されている構成可能要素と関連するディスプレイ名を指定する。第5のメタデータ修飾子320(例えば、「Description」)および対応するメタデータ値321(例えば、「Configures the onboard 802.11x wireless controller」)は、定義されている、関連する構成可能要素に関する記述を指定する。第6のメタデータ修飾子322(例えば、「Locale」)および対応するメタデータ値323(例えば、「ox409」)は、DisplayName318およびDescription320の(複数の地域(geographies)および言語に関するテキストのローカル化のための)テキストのロケール(locale)を指定する。第7のメタデータ修飾子324(例えば、「GUID」)および対応するメタデータ値325(例えば、「2E5EC0CD−748F−4e3f−B63D−6FCBF5AEB60F」)は、構成可能要素の一意の識別子を指定する。後述されるように、この一意の識別子は、BIOSによって使用され、関連する構成可能要素の構成の設定を変更する方法を識別する。いくつかのメタデータ修飾子が図3に図示されているが、BIOS構成記述は、これらのメタデータ修飾子のサブセットのみを定義してもよく、また追加のメタデータ修飾子などを定義してもよい。さらに、図3に図示したテキスト名を変更することができる。スキーマが予め定義され、管理アプリケーションの開発者およびBIOS実装者によって順守されている限り、得られたフォーマットおよび命名規則は、いくつかの形式の1つとすることができる。
上記のように、BIOS構成記述300は、クラス情報330およびプロパティ情報350も含む。クラス情報330は、他のクラス333(例えば、MS_BIOSSettings)から継承することができるクラス332(例えば、「Onboard80211Wireless」)を識別する。クラス情報330は、2つの変数334(例えば、string InstanceName)および336(例えば、Boolean Active)、ならびにそれぞれ対応する属性335(例えば、[read, key])および属性337(例えば、[read])も含むことができる。これらの変数は、管理アプリケーションによって使用され、ある時点で存在する構成可能要素のオブジェクトの1つのインスタンスが存在することを確実にすることができる。変数宣言を有する属性の使用は、本技術分野では周知である。クラス情報330が定義されると、プロパティ情報350が定義される。BIOS構成記述300は、クラス332と関連付けられた1つのプロパティ情報350のみを図示しているが、同じ方法で複数のプロパティ情報を1つの構成可能要素に関して定義することができる。各プロパティ情報350は、クラスのグループ内で定義され、プロパティ識別子339およびプロパティ番号338によって識別される。各プロパティ情報350内に、いくつかの修飾子がある(例えば、修飾子340−348)。一部の修飾子は、修飾子342−348などの、関連する値を有する。許可修飾子(permission qualifier)340は、関連するプロパティが読み出され、および/または書き込まれることがあるか否かを識別する。プロパティディスプレイ名修飾子342は、プロパティディスプレイ名データ342と関連付けられ、プロパティディスプレイ名が使用可能であるか使用不可能であるかを指定する。言い換えると、プロパティディスプレイ名修飾子342は、BIOS設定を変更するためのユーザインタフェースが、プロパティのディスプレイ名を示すことができるか否かを制御する。プロパティ記述修飾子344は、プロパティ記述データ345と関連付けられ、ディスプレイ名修飾子が使用可能である場合に表示することができる記述を指定する。値修飾子346は、値データ347と関連付けられ、関連するプロパティのユーザインタフェースに現れることがある文字列を指定する。値データは、第1の文字列が0値などと関連付けられるゼロインデックスのリストの形式とすることができる。デフォルト修飾子348は、デフォルト値349と関連付けられ、ユーザインタフェースに初期表示されるか、または関連する構成可能要素のリセットの際に表示されるデフォルト値を識別する。プロパティ情報350も、プロパティ352に関する宣言(例えば、「Boolean Enable」)を含む。
このように、スキーマ300は、構成可能要素、および関連するメタデータを予め定義する。したがって、管理アプリケーションは、開発期間中にこのスキーマについて知っており、管理アプリケーションが開発されると任意の特定の設定とやり取りをする方法を決定することができる。しかしながら、DisplayNameおよびDescriptionsがスキーマにおいて定義されても、管理アプリケーションは、関連する構成可能要素に関してそのディスプレイ名および記述を使用することができる。予め定義されたスキーマ300がコンピュータ製造業者に配布され、その結果、コンピュータ製造業者のコンピューティングシステムのBIOSを、スキーマに合致させることができる。
別の実施形態では、スキーマ300は予め定義されないが、BIOS構成記述は、スキーマの要素を記述するための規則を指定する。これらの規則は、管理アプリケーションの開発の前に提供されるフレームワークベースのスキーマを提供する。実際のスキーマコードは、管理アプリケーションが開発された後に提供される。したがって、管理アプリケーションを、BIOS構成スキーマ内の構成可能要素の全体のリストを知ることなく作成することができる。規則は、予め定義されたスキーマ内の上記で定義された修飾子の使用を指定することがあるが、修飾子と関連付けられた実際の値をコンピューティングシステム製造業者が決定することを可能にする。
図4は、図2のBIOS構成記述の別の例を示す、フレームワークベースのスキーマを実装する例示的なBIOS構成記述である。例示的なフレームワークベースのスキーマは、2つの表400および430を使用して図示されている。表400は、修飾子およびその関連する規則を指定する2つの列402および404を有する。各行410−424は、例示的なフレームワークベースのスキーマにおける修飾子の1つ、およびその関連する規則を指定する。修飾子は、ディスプレイ名修飾子410、記述修飾子412、書き込み修飾子414、デフォルト修飾子416、値修飾子418、プロパティディスプレイ名修飾子420、プロパティ記述修飾子422、およびヘルプ修飾子424を含むことができる。これらの修飾子の多くは、予め定義したスキーマに関して上述の対応する修飾子を有する。したがって、簡潔にするために、これらの修飾子についての説明は繰り返さない。フレームワークベースのスキーマは、コンピューティングシステムの構成可能要素を記述するスキーマコードを生成して該スキーマコードとやり取りをする方法についてのガイダンスを提供することが注目されよう。要約すると、表430は、定義されるプロパティのタイプ(すなわち、プロパティタイプの列432)に基づいてユーザインタフェースを構築するための1つの例示的な技術(すなわち、規則の列434)を指定する。例えば、行440は、プロパティがブールタイプの場合、ラジオボタンコントロールが値修飾子418からのラベルで表示されることを指定する。行442は、プロパティが整数タイプであって値修飾子が識別されなかった場合、整数を表示するコントロールが表示されることを指定する。行444は、プロパティが整数タイプであって値修飾子が識別される場合、値修飾子からドロップダウンリストが表示されることを指定する。行446は、プロパティが文字列タイプの場合、任意の文字列を入力するためにテキストボックスが表示されることを指定する。さらに、フレームワークベースのスキーマは、複数のプロパティを定義する方法などを指定することができる。
図5は、例示的なBIOS構成の更新プロセス500の一実施形態を示すフローチャートである。BIOS構成更新プロセス500は、ブロック502で始まり、予め定義されたスキーマおよび/またはフレームワークベースのスキーマを利用することができる。ブロック502で、ユーザインタフェースは、BIOS構成記述に基づいて表示される。BIOS構成記述が予め定義されたスキーマを利用する場合、構成可能要素のそれぞれは管理アプリケーションが開発されるときに知られているため、管理アプリケーションはすでにコード化されたユーザインタフェースを有することができる。BIOS構成記述がフレームワークベースのスキーマを利用する場合、管理アプリケーションは実行時にユーザインタフェースを構築することを必要とする。実行時にユーザインタフェースを構築する1つの例示的なプロセスを図6とともに説明する。処理はブロック504に続く。
ブロック504で、ユーザインタフェースとのやり取りの間に指定された設定は、構成可能要素内で変更される。典型的にユーザインタフェースは、選択可能な更新ボタンを含む。更新ボタンが選択されると、ユーザインタフェースで行われる変更が決定され、次いでこれらの変更は、更新すべき関連する構成可能要素に送信される。各ユーザインタフェース要素は構成可能要素と関連付けられ、各構成可能要素は一意の識別子を有するため、管理アプリケーションは、更新するための値を、管理レイヤを介して構成可能要素に渡すことができる。管理レイヤは、該値を、一意の識別子に基づいてパイプを介して構成可能要素に渡す。図7は、構成可能要素の設定を変更するときに、図5における使用に適した図1のコンピューティングシステム内の構成可能要素とBIOSメソッド(BIOS methods)との間のマッピングを示す説明的な表である。図7に示されるように、BIOSマップ700は、一意の識別子(例えば、GUID)702を1つまたは複数のメソッド704と関連付ける。これらのメソッドは、値(もしあれば)をとり、関連する構成可能要素の設定を変更する。例えば、「Onboard80211Wireless」ボードは、「2E5EC0CD−748F−4e3f−B63D−6FCBF5AEB60F」GUIDと関連付けられる。マップ700を使用して、メソッドA708を起動し、「Onboard80211Wireless」ボードの設定を変更する。
図6は、BIOS構成記述に基づいて実行時にユーザインタフェースを構築するプロセス600の一実施形態を図示するフローチャートである。プロセス600は、リストが位置指定(locate)されるブロック602で始まる。一実施形態では、位置は、root\\wmi\\biosなどの予め定義された名前空間とすることができる。この名前空間にオブジェクトを追加することは、よく知られており、典型的にはコンピューティングシステムを起動するときに行われる。処理はブロック604に続く。
ブロック604で、リスト内のオブジェクトが識別される。処理はブロック606に継続する。
ブロック606では、位置指定される各オブジェクトに対して、ブロック610、612および614が実行される。ブロック610では、構成可能要素のディスプレイ名を取得する。ブロック612では、構成可能要素の関連する記述を取得する。ブロック614はオブジェクトのプロパティごとに実行され、ブロック614は、ブロック620、622および624を含む。ブロック620では、プロパティのタイプを取得する。ブロック622では、プロパティの修飾子を取得する。ブロック624では、図4の表430に示されるフレームワークベースのスキーマにおいて指定された規則に従って、タイプおよび修飾子に基づいて、プロパティのユーザインタフェース要素を表示する。オブジェクトのプロパティおよび各オブジェクトを全て処理すると、ユーザインタフェースが構築され、ユーザとやり取りをする準備が整う。
したがって、説明したように、本BIOS構成の更新技術は、様々な製造業者からのコンピューティングシステムにおけるハードウェア要素を首尾よく管理する。管理アプリケーションを、予め定義されたスキーマに基づいてユーザインタフェースを用いて「ハードコード化(hard coded)」することができ、または管理アプリケーションは、フレームワークベースのスキーマに基づいて実行時にユーザインタフェースを構築することができる。ユーザインタフェースはしたがって、様々な製造業者のBIOS構成に適合することができ、ある便利なユーザインタフェースとのやり取りを可能にして、構成可能要素の全ての設定を変更することができる。例示的な実施形態およびアプリケーションを図示し説明してきたが、本発明は上述と完全に同じ構成およびリソースに制限されないことは理解されよう。特許請求される発明の範囲から逸脱することなく、本明細書に開示される本発明の方法およびシステムの配置、動作および詳細に、当業者に明らかである様々な修正、変更および変形を行うことができる。
一実施形態にしたがって本明細書で説明されるBIOS構成の更新技術を実装するのに使用することができる例示的なコンピューティングシステムの図である。 図1のコンピューティングシステムなどの、1つまたは複数のコンピューティングシステムに存在する本BIOS構成の更新技術の一実施形態を具体化するコンポーネントの機能ブロック図である。 図2の例示的なBIOS構成記述を図示する、無線コントローラの予め定義されたスキーマを実装する例示的なBIOS構成記述の図である。 図2の別の例示的なBIOS構成記述を図示する、フレームワークベースのスキーマを実装する例示的なBIOS構成記述の図である。 例示的なBIOS更新プロセスの一実施形態を示すフローチャートである。 BIOS構成記述に基づいてユーザインタフェースを構築するプロセスの一実施形態を示すフローチャートである。 構成可能要素の設定を変更するときに、図4における使用に適した図1のコンピューティングシステム内の構成可能要素とBIOSメソッドとの間のマッピングを示す例示的な表である。

Claims (9)

  1. 構成可能要素に関連付けられた複数のオブジェクトのリストの位置を取得するステップと、
    前記リスト内の前記複数のオブジェクトを識別するステップであって、各オブジェクトは、BIOS構成記述に基づいて定義されている、前記BIOS構成記述は、前記構成可能要素に対する一意の識別子を指定するメタデータ値を含む、ステップと、
    前記構成可能要素の設定を、前記複数のオブジェクトのうち関連付けられたオブジェクトに基づいて、前記コンピューティングシステムのシステムメモリのユーザエリアに存在するアプリケーションを介して、変更するステップと
    を含む方法を実行するためのコンピュータ読み取り可能な命令を記録した少なくとも1つのコンピュータ読み取り可能な記録媒体であって、
    前記BIOS構成記述は、前記複数のオブジェクトを定義するための規則のセットを備え、
    前記規則のセットは、前記構成可能要素を所望のフォーマットで定義するときに使用する修飾子を含み、前記規則のセットは、前記コンピュータシステムの製造業者による前記修飾子に関連付けられた実際の値の決定を可能にし、
    前記修飾子および前記規則のセットは、
    構成可能要素クラスを命名する文字列であるディスプレイ名規則に関連付けられた、ディスプレイ名修飾子と、
    前記構成可能要素クラスに関する記述を提供する文字列である記述規則に関連付けられた、記述修飾子と、
    プロパティ値の変更を許可する書き込み規則に関連付けられた、書き込み修飾子と、
    プロパティ値をリセットするのに使用されるデフォルト修飾子に関連する値であるデフォルト規則に関連付けられた、デフォルト修飾子と、
    許可された値のリストである値規則に関連付けられた、値修飾子と、
    プロパティ値の変更を許可するプロパティディスプレイ名規則に関連付けられた、プロパティディスプレイ名修飾子と、
    前記プロパティの記述を提供する文字列であるプロパティ記述規則に関連付けられた、プロパティ記述修飾子と、
    前記プロパティおよびその値に関するさらなる情報を提供する文字列であるヘルプ規則に関連付けられた、ヘルプ修飾子と
    を含むことを特徴とする、コンピュータ読み取り可能な記録媒体。
  2. 前記BIOS構成記述は、前記複数のオブジェクトを定義するための予め定義されたフォーマットを指定するスキーマを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  3. 前記スキーマは、前記構成可能要素と関連付けられた一意の識別子を含むことを特徴とする請求項2に記載のコンピュータ読み取り可能な記録媒体。
  4. 前記少なくとも1つの設定を変更するステップは、前記一意の識別子と関連付けられた少なくとも1つのメソッドを実行するステップを含むことを特徴とする請求項3に記載のコンピュータ読み取り可能な記録媒体。
  5. 前記所望のフォーマットは、管理されるオブジェクトのフォーマットを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  6. プロセッサと、
    前記プロセッサによって実行されると、構成可能要素を構成するための方法を実行する複数の命令がロードされるメモリと
    を備えたコンピューティングシステムであって、前記方法は、
    a)構成可能要素に関連付けられた複数のオブジェクトのリストの位置を取得するステップと、
    b)前記構成可能要素と関連付けられている前記リスト内のオブジェクトを、BIOS構成記述に基づいて識別するステップと、
    c)前記リストから前記オブジェクトと関連付けられたプロパティを識別するステップと、
    d)前記プロパティと関連付けられたタイプおよび少なくとも1つの修飾子を取得するステップと、
    e)前記タイプおよび前記少なくとも1つの修飾子に基づいて前記プロパティのユーザインタフェース要素を表示するステップと
    を含み、
    前記BIOS構成記述は、該コンピューティングシステムの基本入力/出力システム内の前記構成可能要素を定義するときに従う規則のセットを備え、
    前記規則のセットは、前記構成可能要素を所望のフォーマットで定義するときに使用する修飾子を含み、前記規則のセットは、該コンピュータシステムの製造業者による前記修飾子に関連付けられた実際の値の決定を可能にすることを特徴とするコンピューティングシステム。
  7. 前記位置は、予め定義された名前空間を含むことを特徴とする請求項に記載のシステム。
  8. 前記BIOS構成記述は、該コンピューティングシステムの基本入力/出力システム内の前記構成可能要素を定義するための予め定義されたスキーマを含むことを特徴とする請求項に記載のシステム。
  9. 前記方法は、前記ユーザインタフェース要素との対話に基づいて前記構成可能要素を変更するステップをさらに含むことを特徴とする請求項に記載のシステム。
JP2009507682A 2006-04-27 2007-03-08 Bios構成の更新技術 Active JP5346278B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/380,638 2006-04-27
US11/380,638 US7698546B2 (en) 2006-04-27 2006-04-27 BIOS configuration update technique
PCT/US2007/006032 WO2007130210A1 (en) 2006-04-27 2007-03-08 Bios configuration update technique

Publications (3)

Publication Number Publication Date
JP2009535690A JP2009535690A (ja) 2009-10-01
JP2009535690A5 JP2009535690A5 (ja) 2010-04-22
JP5346278B2 true JP5346278B2 (ja) 2013-11-20

Family

ID=38649681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009507682A Active JP5346278B2 (ja) 2006-04-27 2007-03-08 Bios構成の更新技術

Country Status (6)

Country Link
US (1) US7698546B2 (ja)
EP (1) EP2024818A4 (ja)
JP (1) JP5346278B2 (ja)
KR (1) KR101330508B1 (ja)
CN (1) CN101432690B (ja)
WO (1) WO2007130210A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797729B2 (en) * 2000-10-26 2010-09-14 O2Micro International Ltd. Pre-boot authentication system
US8032472B2 (en) * 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices
EP2195968A2 (en) * 2007-09-14 2010-06-16 Softkvm, Llc Software method and system for controlling and observing computer networking devices
TWI359426B (en) * 2007-09-17 2012-03-01 Asustek Comp Inc Method for recording parameter of memory and metho
KR101305502B1 (ko) * 2008-07-10 2013-09-05 삼성전자주식회사 컴퓨터 시스템 및 그 제어 방법
EP2202639B1 (en) * 2008-12-24 2012-09-12 VirtualLogix SA Virtual machine monitor
DE112009005012T5 (de) * 2009-08-25 2012-06-21 Hewlett-Packard Development Co., L.P. Eine Mehrzahl von Schnittstellendateien, die für einen Zugriff auf ein BIOS nutzbar sind
US9003001B2 (en) * 2010-03-15 2015-04-07 Cisco Technology, Inc. Bios parameter virtualization via BIOS configuration profiles
JP5284403B2 (ja) * 2011-03-28 2013-09-11 株式会社東芝 オントロジ更新装置、方法、およびシステム
CN102736908B (zh) * 2011-04-14 2017-06-06 研祥智能科技股份有限公司 远程设置cmos参数的***、装置及方法
TWI438676B (zh) * 2011-04-20 2014-05-21 Giga Byte Tech Co Ltd 基本輸入輸出系統之觸控設定方法、電腦系統及其記錄媒體
US8635269B2 (en) * 2011-05-27 2014-01-21 General Electric Company Systems and methods to provide access to a network
EP2680137A4 (en) * 2011-07-27 2014-03-26 Huawei Tech Co Ltd METHOD AND SYSTEM FOR MANAGING BIOS CONFIGURATION DATA OF A BASE INPUT / OUTPUT SYSTEM
CN103064697B (zh) * 2011-10-24 2016-03-02 联想(北京)有限公司 管理引擎的配置方法和计算机
KR20150000486A (ko) 2012-04-18 2015-01-02 헤레우스 프레셔스 메탈즈 노스 아메리카 콘쇼호켄 엘엘씨 태양전지 접촉부의 인쇄 방법
CN104239026B (zh) * 2013-06-21 2019-12-27 伊姆西公司 用于度量存储***性能的方法和装置
TWI480802B (zh) * 2013-11-18 2015-04-11 Insyde Software Corp Platform system, universal extension firmware interface Basic input and output system Support for hardware configuration changes, recording media and computer program products
CN104503798A (zh) * 2014-12-29 2015-04-08 杭州华三通信技术有限公司 服务器的配置方法及装置
US9904543B2 (en) * 2015-10-26 2018-02-27 Hewlett-Packard Development Company, L.P. Setting a build indicator to enable or disable a feature
TWI562071B (en) * 2015-11-04 2016-12-11 Mitac Computing Technology Corp Method for startup inspection and computer system using the same
US9875113B2 (en) * 2015-12-09 2018-01-23 Quanta Computer Inc. System and method for managing BIOS setting configurations
US10305750B1 (en) 2016-07-29 2019-05-28 Juniper Networks, Inc. Methods and apparatus for centralized configuration management of heterogenous network devices through software-based node unification
US11221841B2 (en) 2018-08-03 2022-01-11 Hewlett-Packard Development Company, L.P. BIOS personalities
TWI714958B (zh) * 2019-01-30 2021-01-01 神雲科技股份有限公司 更改基本輸入輸出系統設定的方法
CN109992312B (zh) * 2019-03-26 2021-09-14 联想(北京)有限公司 电子设备的启动方法、装置以及***
US11960337B2 (en) 2020-01-22 2024-04-16 Hewlett-Packard Development Company, L.P. Customized thermal and power policies in computers
CN113220511A (zh) * 2020-02-06 2021-08-06 伊姆西Ip控股有限责任公司 测试bios的方法、设备和计算机可读存储介质
US20220342904A1 (en) * 2021-04-27 2022-10-27 Synerio Technologies, Inc. System and Method of Execution Context Processing with Addressable Universal Data Location
CN114116035B (zh) * 2022-01-26 2022-05-10 深圳市吉方工控有限公司 Windows下的BIOS设置方法、装置及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2016396C (en) * 1989-05-15 1994-03-15 Refus J. Archon Initial program load (ipl) based on an object abstraction for a data processing system
CA2126950A1 (en) 1993-07-30 1995-01-31 Bryan M. Willman Booting a computer system using a last known good set of configuration data
US5594874A (en) 1993-09-30 1997-01-14 Cirrus Logic, Inc. Automatic bus setting, sensing and switching interface unit
US5903894A (en) 1997-03-03 1999-05-11 Microsoft Corporation System and method for using a hierarchical data structure to control and identify devices and represent connections between the devices
US6185677B1 (en) * 1998-09-30 2001-02-06 Phoenix Technologies Ltd. Automatic generation of ACPI source language for peripheral resource configuration
JP2000137672A (ja) * 1998-10-29 2000-05-16 Nec Software Hokkaido Ltd Bios設定情報の変更方法
EP1161716B1 (en) 1999-02-15 2013-11-27 Hewlett-Packard Development Company, L.P. Trusted computing platform
JP4325019B2 (ja) * 1999-05-25 2009-09-02 富士ゼロックス株式会社 パラメータ設定システム
US6636961B1 (en) 1999-07-09 2003-10-21 International Business Machines Corporation System and method for configuring personal systems
US7017143B1 (en) 1999-12-01 2006-03-21 Microsoft Corporation External resource files for application development and management
WO2001046803A2 (en) * 1999-12-21 2001-06-28 Intel Corporation Architecture for dynamically exposing hardware capabilities using a page description language
US6594757B1 (en) 2000-02-25 2003-07-15 Intel Corporation Remote BIOS upgrade of an appliance server by rebooting from updated BIOS that has been downloaded into service partition before flashing programmable ROM
US6671802B1 (en) 2000-04-13 2003-12-30 Hewlett-Packard Development Company, L.P. Performance optimization of computer system by dynamically and immediately updating a configuration setting based on detected change in preferred use
US6598159B1 (en) 2000-06-27 2003-07-22 Intel Corporation Option-ROM boot
US6732267B1 (en) 2000-09-11 2004-05-04 Dell Products L.P. System and method for performing remote BIOS updates
KR100385184B1 (ko) 2000-10-19 2003-05-27 삼성전자주식회사 컴퓨터 및 컴퓨터의 운영체계 정보 자동 설정 방법
CN1170224C (zh) * 2001-01-09 2004-10-06 神基科技股份有限公司 能完成启动程序的电脑***开机方法
US7278143B2 (en) * 2001-06-28 2007-10-02 Microsoft Corporation System and related methods for accessing management functionality through a command line utility
TW535112B (en) 2001-10-02 2003-06-01 Via Tech Inc Method for initializing computer system
EP1357475A1 (en) 2002-04-23 2003-10-29 Hewlett-Packard Company Data processing system and method
US7114064B2 (en) * 2002-11-14 2006-09-26 Hewlett-Packard Development Company, L.P. System and method for accessing an advanced configuration and power interface (ACPI) namespace nodal tree
US7219343B2 (en) 2003-04-10 2007-05-15 International Business Machines Corporation Firmware update mechanism in a multi-node data processing system
US7234054B2 (en) 2004-02-09 2007-06-19 Intel Corporation Method and apparatus for enabling platform configuration
EP1574949A1 (en) 2004-03-12 2005-09-14 Sap Ag Method for modifying the software configuration of a computer system

Also Published As

Publication number Publication date
JP2009535690A (ja) 2009-10-01
EP2024818A4 (en) 2010-07-28
EP2024818A1 (en) 2009-02-18
US20070255936A1 (en) 2007-11-01
KR101330508B1 (ko) 2013-11-15
WO2007130210A1 (en) 2007-11-15
US7698546B2 (en) 2010-04-13
CN101432690A (zh) 2009-05-13
KR20080112322A (ko) 2008-12-24
CN101432690B (zh) 2012-03-14

Similar Documents

Publication Publication Date Title
JP5346278B2 (ja) Bios構成の更新技術
CN101650660B (zh) 从中央存储装置引导计算机***
KR101790190B1 (ko) 애플리케이션 시나리오 식별 방법, 전력 소비 관리 방법, 장치 및 단말기 장치
JP4812337B2 (ja) フォームタイプを使用してフォームを生成する方法および装置
JP5933002B2 (ja) ランタイムシステム
RU2398266C2 (ru) Использование механизма привязки данных для выполнения привязки команд
US8762936B2 (en) Dynamic design-time extensions support in an integrated development environment
CN102541619B (zh) 虚拟机管理装置和方法
Zimmer et al. Beyond BIOS: developing with the unified extensible firmware interface
US20100235831A1 (en) Method for dynamic configuration of virtual machine
US9342703B2 (en) Managing storage permissions for logical volume managers
CN109739600B (zh) 数据处理方法、介质、装置和计算设备
JP2005346719A (ja) 完全な柔軟性を有する自動化に基づくユーザインターフェースを生成する方法および装置
JP7096762B2 (ja) コントロールを使用して汎用プログラムを構成する技法
US7149978B1 (en) Methods for managing host adapter settings
CN104536788A (zh) 使应用的安装自动化的***和方法
MX2008003417A (es) Acciones de control definidas en forma declarativa.
CN113377458B (zh) 插件管理方法、装置、电子设备和存储介质
US9542207B2 (en) Plurality of interface files usable for access to BIOS

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120615

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120918

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130314

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

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: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130816

R150 Certificate of patent or registration of utility model

Ref document number: 5346278

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250