(57)【特許請求の範囲】
【請求項１】
BIOSイメージを管理するための方法であって、
マシンがアクセスできる複数のBIOSイメージの各々の状態及び／または安定性に基づいて、該複数のBIOSイメージの各々を分類するステップと、
現BIOSにマークされている１以上のフラグがあるか否かを調べるために、前記マシン上で動作している前記現BIOSを検査して、前記現BIOSを置き換えるか否かを決定するステップであって、前記１以上のフラグは、前記現BIOSを、前記複数のBIOSイメージのうちのどの分類のBIOSイメージで置き換えるべきかを示す、ステップと、
前記複数のBIOSイメージの各々に付与されている前記１以上のフラグ、及び、該複数のBIOSイメージの各々の前記分類に基づいて、前記現BIOSを置換するための前記複数のBIOSイメージのうちの１つを選択するステップと、
前記現BIOSを前記選択されたBIOSイメージで書き換えるステップと、
前記現BIOSが置換されたときに、前記複数のBIOSイメージのうちの少なくとも２つの分類を更新するステップ
を含む方法。
【請求項２】
前記複数のBIOSイメージの各々が、前記複数のBIOSイメージの該各々の分類を指定するように構成されたヘッダーを含む、請求項１の方法。
【請求項３】
少なくとも２つの前記BIOSイメージの分類を更新するステップが、置換された前記現BIOSイメージを「以前」に再分類するステップと、前記複数のBIOSイメージのうちの前記１つを「現在」に再分類するステップを含む、請求項１または２の方法。
【請求項４】
前記現BIOSを置換する前に、バイナリーシグネチャを探すために前記複数のBIOSイメージのうちの前記１つを検査するステップと、
前記バイナリシグネチャが前記マシンのシグネチャに一致しない場合には、前記複数のBIOSイメージのうちの前記１つを選択しないようにするステップ
をさらに含む、請求項１〜３のいずれかの方法。
【請求項５】
前記現BIOSを前記複数のBIOSイメージのうちの前記１つで置換した後、前記複数のBIOSイメージのうちの前記１つの成功フラグをマークするステップをさらに含む、請求項１〜４のいずれかの方法。
【請求項６】
マシンであって、
前記マシンがアクセスできるコンピュータ読み取り可能メモリに結合されたプロセッサと、
前記マシンに格納されている複数のBIOSイメージと、
前記コンピュータ読み取り可能メモリから実行可能なBIOSマネージャ
を備え、
前記BIOSマネージャは、
前記複数のBIOSイメージの各々の状態及び／または安定性に基づいて、該複数のBIOSイメージの各々を分類するステップと、
現BIOSにマークされている１以上のフラグがあるか否かを調べるために前記マシン上で動作している前記現BIOSを検査して、前記現BIOSを置き換えるか否かを決定するステップであって、前記１以上のフラグは、前記現BIOSを、前記複数のBIOSイメージのうちのどの分類のBIOSイメージで置き換えるべきかを示す、ステップと、
前記複数のBIOSイメージの各々に付与されている前記１以上のフラグ、及び、該複数のBIOSイメージの各々の前記分類に基づいて、前記現BIOSを置換するための前記複数のBIOSイメージのうちの１つを選択するステップと、
前記現BIOSを、前記複数のBIOSイメージの前記１つで置換するステップと、
前記現BIOSイメージが置換されると、前記複数のBIOSイメージのうちの少なくとも２つのBIOSイメージの分類を変更するステップ
を実行するように構成されることならなる、マシン。
【請求項７】
前記複数のBIOSイメージの各々、及び、前記複数のBIOSイメージの各々の分類をリストするように構成されたBIOSデータベースをさらに備える、請求項６のマシン。
【請求項８】
前記複数のBIOSイメージのうちの少なくとも２つのBIOSイメージの前記分類が変更された後に、前記複数のBIOSイメージの各々、及び、前記複数のBIOSイメージの各々の分類をリストするBIOSログをさらに備える、請求項６または７のマシン。
【請求項９】
前記BIOSマネージャは、外部記憶装置が前記マシンに結合されているときに、前記現BIOSを前記外部記憶装置からのBIOSイメージに置換するようにさらに構成されている、請求項６〜８のいずれかのマシン。
【請求項１０】
前記BIOSログは、該BIOSログによって「破損」に分類されているBIOSイメージを修復または置換するために、前記マシンのオペレーティングシステムによってアクセスされることができる、請求項８のマシン。
【請求項１１】
マシンによってアクセス可能なコンピュータ読み取り可能プログラムであって、前記コンピュータ読み取り可能プログラムはBIOSマネージャを有し、
前記BIOSマネージャは、前記マシンに、
マシンがアクセスできる複数のBIOSイメージの各々の状態及び／または安定性に基づいて、前記複数のBIOSイメージの各々を分類するステップと、
現BIOSにマークされている１以上のフラグがあるか否かを調べるために、前記マシン上で動作している前記現BIOSを検査して、前記現BIOSを置き換えるか否かを決定するステップであって、前記１以上のフラグは、前記現BIOSを、前記複数のBIOSイメージのうちのどの分類に属するBIOSイメージで置き換えるべきかを示す、ステップと、
前記複数のBIOSイメージの各々に付与されている前記１以上のフラグ、及び、前記複数のBIOSイメージの各々の前記分類に基づいて、前記現BIOSを置換するための前記複数のBIOSイメージのうちの１つを選択するステップと、
前記現BIOSを前記複数のBIOSイメージのうちの前記１つで書き換えるステップと、
前記現BIOSを置換した後に、前記複数のBIOSイメージのうちの少なくとも２つを再分類するステップ、
を実行させることからなる、コンピュータ読み取り可能プログラム。
【請求項１２】
前記複数のBIOSイメージのうちの１つを選択する前記ステップは、前記現BIOSにマークされている前記１以上のフラグが更新フラグを有しているときには、「新しい」に分類されているBIOSイメージを選択するステップを含む、請求項１１のプログラム。
【請求項１３】
前記複数のBIOSイメージのうちの１つを選択する前記ステップは、前記現BIOSにマークされている前記１以上のフラグがロールバックフラグを有しているときには、「以前」または「デフォルト」に分類されているBIOSイメージを選択するステップを含む、請求項１１のプログラム。
【請求項１４】
前記BIOSマネージャはさらに、前記現BIOSまたは置換用BIOSイメージが破損していると判定されているときには、前記マシンに、「以前」または「デフォルト」に分類されているBIOSイメージに戻すステップを実行させる、請求項１１〜１３のいずれかのプログラム。
【請求項１５】
前記BIOSマネージャはさらに、前記マシンに、「破損」に分類されているBIOSイメージを削除または置換するステップを実行させる、請求項１４のプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
BIOS（バイオス）は、マシン（たとえばコンピュータ）用の基本入出力システムである。BIOSは、マシンのハードウェアコンポーネント及びオペレーティングシステムを初期化及び制御する。BIOSの更新、ロールバック、及び／または復旧を実行するときは、BIOSを別のBIOSで置換することが望ましい。
【図面の簡単な説明】
【０００２】
開示されている実施形態の種々の特徴及び利点は、それらの実施形態の特徴を共に例示している以下の詳細な説明及び添付の図面から明らかになろう。
【図１】本発明の１実施形態にしたがうBIOSマネージャによって管理されるBIOSイメージを有するマシンを示す。
【図２】現在のBIOSが本発明の１実施形態にしたがって置換されたときに、どのようにBIOSイメージが分類されるかを示す流れ図であり、この例では、少なくとも２つのBIOSイメージの分類が更新されている。
【図３】マシンの現在のBIOSが本発明の１実施形態にしたがって置換されたときのBIOSデータベースのリスト、BIOSイメージの分類の更新、及び、そのときに書き込まれるBIOSログを示す。
【図４】本発明の１実施形態にしたがう内蔵型のBIOSマネージャを有するマシン、及び、該１実施形態にしたがう該マシンによってアクセスされるリムーバブルメディア（取り外し可能媒体）に格納されているBIOSマネージャを示す。
【図５】本発明の１実施形態にしたがうBIOSイメージ管理の方法を示すフローチャートである。
【図６】本発明の別の実施形態にしたがうBIOSイメージ管理の方法を示すフローチャートである。
【発明を実施するための形態】
【０００３】
図１は、本発明の１実施形態にしたがうBIOSマネージャ１１０によって管理されるBIOSイメージ１３０を有するマシン（たとえばコンピュータ）１００を示す。１実施形態では、マシン１００は、BIOSイメージを使用するデスクトップ機、ラップトップ機、サーバー、及び／または、任意の装置である。図１に示すように、マシン１００は、プロセッサ１２０、BIOSマネージャ１１０、BIOSイメージ１３０、メモリ／記憶装置１８０、シグネチャ１４０、入力／出力装置１５０、ネットワークインターフェース１６０、及び、マシン１００用の通信バス１７０、及び／または、マシン１００の互いに通信する１以上のコンポーネントを備える。他の実施形態では、マシン１００は、追加のコンポーネントを備え、及び／または、マシン１００は、上記の及び図１に示されているコンポーネントに加えて、及び／または、それらのコンポーネントの代わりに、追加のコンポーネントに結合される。
【０００４】
図１に示すように、マシン１００は、該マシン１００に結合されたプロセッサ１２０を備える。プロセッサ１２０は、マシン１００が現在のBIOS（以下、現BIOSという）として使用するBIOSイメージをロードする命令を実行する。現BIOSは、マシン１００を起動し、マシン１００のハードウェアコンポーネント及びオペレーティングシステムを初期化して制御する組み込みソフトウェアである。１実施形態では、現BIOSは、マシン１００のメモリに組み込まれ、マシン１００のオペレーティングシステムから分離されたパーティションもしくは専用のパーティションに格納される。マシン１００がアクセスできるBIOSイメージ１３０の１つが、現BIOSとして使用される。
【０００５】
BIOSイメージ１３０は、マシン１００の記憶装置１８０に格納される。記憶装置１８０を該マシンに含めることができ、及び／または、記憶装置１８０を外部に設けてマシン１００が該装置１８０にアクセスできるようすることができる。１実施形態では、BIOSイメージ１３０は、UEFIパーティションなどの、記憶装置１８０の単独のパーティションに格納される。BIOSイメージ１３０は、UEFIパーティションに書き込まれて該パーティションに格納される。他の実施形態では、BIOSイメージ１３０は、マシン１００のオペレーティングシステム上のあるアプリケーションまたはBIOSマネージャ１１０によってネットワークインターフェース１６０もしくは入力／出力装置１５０を用いて、別の場所から記憶装置１８０にダウンロードされる。ネットワークインターフェース１６０を、有線ネットワークインターフェースカードまたは無線ネットワークインターフェースカードとすることができる。さらに、１実施形態では、入力／出力装置１５０を、USBドライブまたは赤外線装置とすることができる。
【０００６】
BIOSイメージ１３０は、オペレーティングシステム上で動作するあるアプリケーションによって記憶装置１８０に書き込まれる。該アプリケーションを、オペレーティングシステムと同じパーティションに格納されているソフトウェアアプリケーションとすることができ、及び、該オペレーティングシステムによって実行することができる。さらに、該アプリケーションを、マシン１００のBIOSマネージャとは別個のソフトウェアアプリケーションとすることができる。
【０００７】
上記のように、BIOSイメージ１３０は、BIOSマネージャ１１０によって管理される。BIOSマネージャ１１０は、マシン１００がアクセスできるBIOSイメージ１３０を分類する。１実施形態では、BIOSマネージャ１１０は、マシン１００に組み込まれたファームウェアである。他の実施形態では、BIOSマネージャ１１０は、マシン１００のROMに格納されているか、もしくはマシン１００がアクセスできる記憶装置１８０に格納されているソフトウェアアプリケーションであり、または、BIOSマネージャ１１０は、別の場所からマシン１００が読み取ることができ、かつアクセスできるコンピュータ読み取り可能媒体に格納される。さらに他の実施形態では、BIOSマネージャ１１０は、ローカルエリアネットワークまたはワイドエリアネットワーク（広域ネットワーク）を介して結合されたサーバーに格納されるか、または、該サーバーを通じてアクセスされる。BIOSマネージャ１１０は、マシン１００に含まれているかまたはマシン１００に取り付けられている通信バス１７０を介して、マシン１００に物理的に結合されているかまたは無線で結合される装置及び／またはコンポーネントと通信する。１実施形態では、通信バス１７０をメモリバスとすることができる。他の実施形態では、通信バス１７０をデータバスとすることができる。
【０００８】
BIOSマネージャ１１０はBIOSイメージ１３０を分類する。１実施形態では、BIOSマネージャは、BIOSイメージ１３０のヘッダー（図２）を用いて、BIOSイメージ１３０を分類する。あるいは、BIOSマネージャ１１０は、BIOSデータベース（図３）を用いてBIOSイメージ１３０を分類する。１実施形態では、マシン１００がアクセスできるBIOSイメージ１３０は、現在の状態、デフォルトの状態、以前の状態、新しい状態、及び／または、破損状態のうちの１つに分類される。
【０００９】
BIOSイメージ１３０に付与される分類は、「現在」（BIOSイメージは、現在、マシン１００を動作させているアクティブ（または有効）なBIOSイメージとして使用されている）や「破損」（BIOSイメージは正常に動作していないと判定されている）などの対応するBIOSイメージの状態及び／または安定性に基づく。さらに、分類は、作成日に基づいて付与され、この場合、「現在」として分類されたBIOSイメージの作成日を基準として用いて、「以前」（作成日が現BIOSの前）、「新しい」（作成日が現BIOSの後）、または「デフォルト」（マシン１００のアクティブなもしくは有効なBIOSとして使用された最初のBIOSイメージ）などが付与される。マシン１００がアクセスできる１以上のBIOSイメージ１３０を分類するときに、上記のものに加えて、及び／または、上記のものの代わりに、追加の要因及び考慮事項が使用され、及び考慮される。
【００１０】
さらに、他の実施形態では、マシン１００がアクセスできるBIOSイメージ１３０は、「安定している」、「最後に使用されたものである」、及び／または、「マシン１００の特定のコンポーネントで使用されるものとして特定されたもの」にさらに分類される。上記のものに加えて、及び／または、上記のものの代わりに、他の分類がBIOSイメージ１３０に付与される。１実施形態では、BIOSイメージ１３０のうちの１以上のBIOSイメージが複数の分類を含む。
【００１１】
BIOSマネージャ１１０は、BIOSイメージ１３０の分類に基づいて、BIOSイメージ１３０からあるBIOSイメージを選択して、（該選択されたBIOSイメージで）マシン１００を動作させている現BIOSを置き換える。BIOSマネージャ１１０は、現BIOSを置き換えるか否かを決定する際に、先ず、現BIOSにマークされている（たとえば何らかの印が付されている）１以上のフラグがあるか否かを調べるために現BIOSを検査する。BIOSマネージャ１１０は、マシン１００が起動して（または電源が投入されて）、現BIOSをロードしているとき（またはロードした）ときにこの検査を実施する。さらに、BIOSマネージャ１１０は、現BIOSが破損していると判定されているときには（または、そのように判定されると）、現BIOSの置換を決定する。
【００１２】
１以上のフラグは、対応するBIOSイメージの異なる状態を表すために使用される該対応するBIOSイメージのインジケータ（指標）である。BIOSイメージ１３０は、対応するBIOSが現BIOSである時（たとえば、任意の時点で現BIOSであるか否か）を表し、及び、更新、ロールバック、及び／または復旧（または復元）を実施するか否かを表す複数のフラグを含むことができる。他の実施形態では、フラグは、更新を行う場合、ロールバックを行う場合、及び／または、現BIOSが破損している（または破損した）ときに、対応するBIOSをいつ選択すべきかを示す。さらに他の実施形態では、フラグは、対応するBIOSイメージが、同じ分類の他のBIOSイメージ１３０よりも優先することを示すことができ、及び／または、更新、ロールバック、及び／もしくは、復元が成功した時点を示すことができる。フラグを、BIOSイメージ１３０の一部として格納することができ、及び、１または０でマークすることができる。さらに、フラグを、BIOSマネージャ１１０によって、または、オペレーティングシステムからのアプリケーション（もしくはオペレーティングシステム上で動作するアプリケーション）によってマークすることができる。
【００１３】
BIOSマネージャ１１０によって１以上のフラグを読み取って、現BIOSを置換するときにどの分類、及び／または、どのBIOSイメージを選択すべきかを決定する。１実施形態では、１以上のフラグは、マシン１００上のオペレーティングシステムからのあるアプリケーションによってマークされた更新フラグである（該アプリケーションは、更新フラグをa1でマークする）。この結果、BIOSマネージャ１１０は、「新しい」という分類を持つBIOSイメージを探すためにBIOSイメージ１３０を調べる。さらに、１以上のフラグは、現BIOSを、「以前」または「デフォルト」に分類されているBIOSイメージで置き換えるべきことを示すロールバックフラグまたは破損フラグである。この結果、現BIOSを置換するために利用されるBIOSイメージ１３０からのBIOSイメージの選択は、BIOSイメージ１３０の分類に基づく。
【００１４】
１実施形態では、BIOSマネージャ１１０は、更新フラグがマークされていると判定する。この場合、BIOSマネージャ１１０は、「新しい」に分類されているBIOSイメージを探すためにBIOSイメージ１３０を調べる。BIOSマネージャ１１０が「新しい」に分類されているBIOSイメージを見つけると、BIOSマネージャ１１０は、次に、「新しい」に分類されているBIOSイメージで現BIOSを置換することによって現BIOSを更新する。
【００１５】
別の実施形態では、BIOSマネージャ１１０は、現BIOSが破損していると判定する。BIOSイメージが正常に動作しないか、または、BIOSイメージがマシン１００に正常にインストールされていない場合には、BIOSイメージは破損している。BIOSマネージャ１１０は、次に、「以前」または「デフォルト」に分類されているBIOSイメージを探すためにBIOSイメージ１３０を検査する。BIOSマネージャ１１０が、「以前」または「デフォルト」に分類されているBIOSイメージを見つけると、BIOSマネージャ１１０は、次に、破損していると判定された現BIOSを、「以前」または「デフォルト」に分類されている選択されたBIOSイメージに置き換える。
【００１６】
１実施形態では、BIOSマネージャ１１０が、「デフォルト」に分類されている１つのBIOSイメージと、「以前」に分類されている別のBIOSイメージ１３０を見つけた場合には、BIOSマネージャ１１０は、「デフォルト」に分類されているBIOSイメージを選択することができる。別の実施形態では、BIOSマネージャ１１０は、優先フラグを探すために「以前」または「デフォルト」に分類されているBIOSイメージ１３０を検査することができる。「以前」または「デフォルト」に分類されているBIOSイメージ１３０のどれかでも優先フラグを含んでいる場合には、BIOSマネージャ１１０は、優先フラグを有しているBIOSイメージを選択することができる。
【００１７】
BIOSマネージャ１１０は、「以前」または「デフォルト」に分類されているBIOSイメージを選択する前に、（選択する）BIOSイメージが「破損」に追加的に分類されていないことをさらに調べる。該BIOSイメージが「破損」にも分類されている場合には、BIOSマネージャは、次に、「以前」または「デフォルト」に分類されている別のBIOSイメージを探して選択するための検査を行う。
【００１８】
さらに、他の実施形態では、BIOSマネージャ１１０は、ロールバックフラグが現BIOS中でマークされていることを判定する。この場合、BIOSマネージャ１１０は、破損していると判定された現BIOSから復旧する場合と同様に、「以前」または「デフォルト」に分類されているBIOSイメージを探すためにBIOSイメージ１３０を検査する。BIOSマネージャ１１０が、「以前」または「デフォルト」に分類されているBIOSイメージを見つけると、BIOSマネージャ１１０は、「以前」または「デフォルト」に分類されているBIOSイメージに戻す。
【００１９】
上記の実施形態と同様に、BIOSマネージャ１１０が、「デフォルト」に分類されている１つのBIOSイメージと、「以前」に分類されている別のBIOSイメージ１３０を見つけた場合には、BIOSマネージャ１１０は、「デフォルト」に分類されているBIOSイメージを選択することができる。他の実施形態では、BIOSマネージャ１１０は、優先フラグを探すために「以前」または「デフォルト」に分類されているBIOSイメージ１３０を検査することができる。「以前」または「デフォルト」に分類されているBIOSイメージ１３０のどれかでも優先フラグを含んでいる場合には、BIOSマネージャ１１０は、優先フラグを有しているBIOSイメージを選択することができる。
【００２０】
さらに、BIOSマネージャ１１０は、現BIOSイメージを置換する前に、選択されたBIOSイメージが、マシン１００のシグネチャ１４０に一致するバイナリーシグネチャを有するか否かを判定するために該選択されたBIOSイメージを検査する。マシン１００のシグネチャ１４０は、対応するBIOSイメージが、マシン１００に適合すること、及び／または、マシン１００に対して安定であることを確かめるために利用される一連の２進数である。他の実施形態では、他の適切なシグネチャ１４０を使用することができる。シグネチャ１４０を記憶装置１８０に格納することができる。選択されたBIOSイメージのバイナリーシグネチャがマシン１００に格納されているシグネチャ１４０に一致する場合には、BIOSマネージャ１１０は次に、現BIOSを選択されたBIOSイメージで書き換える（または上書きする）ことによって、現BIOSを該選択されたBIOSイメージに置き換える。シグネチャが一致しない場合には、BIOSマネージャ１１０は、一致するバイナリシグネチャを見つけて現BIOSを書き換えるまで、現BIOSを置換するために利用される別のBIOSイメージを探すためにBIOSイメージ１３０の調査を続行する。
【００２１】
現BIOSがBIOSイメージ１３０から選択されたBIOSイメージに置換されると、BIOSマネージャ１１０は、該選択されたBIOSイメージが現BIOSであると決定する。BIOSマネージャ１１０はさらに、現BIOSが破損しているか否かを判定する。現BIOSが破損している場合には、BIOSマネージャ１１０は、「以前」または「デフォルト」に分類されているBIOSイメージに戻すことによって復旧することを試みる。BIOSマネージャ１１０が現BIOSは破損していないと判定すると、BIOSマネージャ１１０は次に、現BIOSの成功フラグをマークする。さらに、BIOSマネージャは、BIOSイメージ１３０のうちの少なくとも２つのBIOSイメージの分類を更新する。
【００２２】
BIOSマネージャ１１０は、BIOSイメージ１３０の分類を更新する際に、分類が更新されることになる対応するBIOSイメージ１３０のヘッダー（図２）を変更する。さらに、BIOSマネージャ１１０は、マシン１００によってアクセスされる、BIOSイメージ１３０（の一覧）がリストされているBIOSデータベース（図３）中の対応するエントリーを更新する。BIOSマネージャ１１０は、BIOSイメージ１３０のうちの少なくとも２つのBIOSイメージの分類を更新する際に、「現在」及び「以前」に分類されているBIOSイメージを再分類する。さらに、BIOSマネージャ１１０は、現BIOSを置換するために選択されたBIOSイメージを「現在」に再分類する。１実施形態では、BIOSマネージャ１１０は、BIOSイメージ１３０のうちの少なくとも２つのBIOSイメージの分類を更新した後に、さらに、「破損」に分類されているBIOSイメージ１３０を削除する。さらに、BIOSマネージャ１１０は、破損しているBIOSイメージ１３０の予備のBIOSイメージ１３０を利用できる場合には、「破損」に分類されているBIOSイメージ１３０を置換することを試みる。
【００２３】
図２は、本発明の１実施形態にしたがって現BIOSが置換されるときの、BIOSイメージ２１０の分類状態、及び、BIOSイメージ２１０中の少なくとも２つの分類が更新される様子を示す流れ図である。上記のように、マシン２００のBIOSマネージャは、該マシン２００がアクセスできるBIOSイメージ２１０を分類する。さらに、上記のように、マシン２００がアクセスできるBIOSイメージ２１０もまた、対応するBIOSイメージ２１０の分類を指定するように構成された対応するヘッダー２２０を含む。
【００２４】
１実施形態では、図２に示すように、ヘッダー２２０は、対応するBIOSイメージ２１０がアクセスされたときに自動的にアクセスされて読み出される個別のファイルである。他の実施形態では、ヘッダー２２０は、対応するBIOSイメージ２１０のファイル自体に含まれている。ヘッダー２２０は、対応するBIOSイメージ２１０の状態を表明もしくは特定するためにBIOSマネージャによって充填され、及び／または、書き込まれる。上記し、及び、図２に示しているように、BIOSイメージ２１０は、「新しい」、「現在」、「以前」、「デフォルト」、及び／または、「破損」に分類される。さらに、図２に示されているように、BIOSイメージ１は、最初は「新しい」に分類され、BIOSイメージ２は、最初は「現在」に分類されている。
【００２５】
次に、BIOSマネージャは、BIOSイメージ１のバイナリーシグネチャ２３０がマシン２００に格納されているバイナリーシグネチャ２３０に一致する場合には、「現在」に分類されているBIOSイメージ２を、マシン２００のBIOSイメージに置き換える。１実施形態では、図２に示されているように、さらに、「新しい」に分類されているBIOSイメージ１が、現BIOSであるBIOSイメージ２を置換するために選択される。この結果、現BIOSであるBIOSイメージ２が、「新しい」に分類されているBIOSイメージ１に置き換えられるので、BIOSマネージャは更新を実行することになる。BIOSマネージャは、現BIOSを書き換えた後、続いて、BIOSイメージ２１０のうちの少なくとも２つのBIOSの分類を更新する。
【００２６】
図２に示すように、BIOSマネージャは、BIOSイメージ２１０のうちの少なくとも２つのBIOSの分類を更新する際に、BIOS２のヘッダー２２０を「現在」から「以前」に書き換えることによってBIOSイメージ２を再分類し、及び、BIOS１のヘッダー２２０を「新しい」から「現在」に書き換えることによってBIOSイメージ１を再分類する。さらに、上記し、及び図２に示すように、BIOSマネージャは、以前は「現在」に分類されていたBIOSイメージを書き換えた後、続いて、現在のBIOSであるBIOSイメージ１の成功フラグ２５０をマークする。対応するBIOSイメージのヘッダー２２０と同様に、成功フラグ２５０は、現BIOSがアクセスされるときにアクセスされる個別のファイルである。他の実施形態では、成功フラグ２５０は現BIOSの一部である。上記のように、最初の現BIOSはBIOSイメージ１で置換されている。その結果、現時点ではBIOSイメージ１が現BIOSであり、BIOSイメージ１の成功フラグ２５０がマークされることになる。
【００２７】
BIOSマネージャがBIOSイメージ２１０のうちの少なくとも２つを再分類して、現BIOSの成功フラグ２５０をマークすると、BIOSマネージャはさらに、マシン２００がアクセスできるBIOSイメージ２１０の分類をBIOSログ２４０に書き込む。いくつかの実施形態では、成功フラグ２５０は使用されない。１実施形態では、BIOSログ２４０は、マシン２００がアクセスできるBIOSイメージ２１０をリストし、並びに、マシン２００の現BIOSが置換された後のBIOSイメージ２１０の分類をリストしている、マシン２００に格納されたドキュメント（文書）またはファイルである。さらに、マシン２００において現BIOSが置換されると、BIOSログ２４０は更新され、及び／または、書き換えられる。
【００２８】
BIOSログ２４０は、マシン２００がアクセスできる記憶装置に格納される。上記のように、記憶装置は、マシン２００に結合されるかもしくは含まれる外部記憶装置もしくは内部記憶装置である。さらに、BIOSログ２４０は、BIOSイメージ２１０が格納されている記憶装置の１つのパーティションに格納される。さらに、BIOSログ２４０は、マシン２００のオペレーティングシステムによってアクセスされる。オペレーティングシステムは、BIOSログ２４０にアクセスし、及び、マシン２００がアクセスできるBIOSイメージ２１０、並びに、BIOSイメージ２１０の分類を識別する。BIOSログ２４０が存在せず、及び／または、BIOSログ２４０にアクセスできない場合には、オペレーティングシステムは、BIOSイメージ２１０が格納されている個別のパーティションにアクセスして、対応するBIOSイメージ２１０の分類を探す（または特定）するためにBIOSイメージ２１０のヘッダー２２０を検査する。
【００２９】
１実施形態では、オペレーティングシステムは、BIOSログ２４０にアクセスして、「破損」に分類されているBIOSイメージ２１０であるBIOSイメージ５及び６を特定する。別の実施形態では、オペレーティングシステムは、ヘッダー２２０を検査して、BIOSイメージ５及び６が、分類が「破損」であることを示すヘッダー２２０を有していることを特定する。オペレーティングシステムが「破損」に分類されているBIOSイメージ２１０を特定すると、オペレーティングシステムは、次に、破損しているBIOSイメージであるBIOSイメージ５及び６を削除する。代替的には、オペレーティングシステムは、破損しているBIOSイメージ５及び６を修復すること、及び／または、破損しているBIOSイメージを置換することを試みる。オペレーティングシステムは、復元ツールを利用して破損しているBIOSイメージを置換し、または、マシン２００のネットワークインターフェースもしくは入力／出力装置を介して、「破損」に分類されているBIOSイメージ２１０の破損していないバージョンをダウンロードし、及び／または、該バージョンにアクセスすることによって破損しているBIOSイメージを置換する。
【００３０】
図３は、本発明の１実施形態にしたがって、あるマシンの現BIOSが置換されるときに、BIOSイメージ３７０の分類３８０をリストし（リストするとは、たとえば、対象項目を一覧表の形式で作成し、または、該一覧表を保持し、または、該一覧表を作成することを意味する）、及び更新するBIOSデータベース３１０、並びに、BIOSマネージャによって書き込まれるBIOSログ３５０を示す。図３に示すように、マシン３００はBIOSデータベース３１０を備える。BIOSデータベース３１０は、マシン３００がアクセスできるBIOSイメージ３７０、並びに、対応するBIOSイメージ３７０の分類３８０をリストしているデータベースである。１実施形態では、BIOSデータベース３１０は、BIOSイメージ３７０をリストし、及び、BIOSイメージ３７０を格納することができる。他の実施形態では、BIOSデータベース３１０は、BIOSイメージ３７０が格納されているメモリアドレスをリストしている。さらに、BIOSデータベース３１０は、BIOSデータベース３１０にリストされているBIOSイメージ３７０の分類フィールド３８０及びバイナリーシグネチャフィールド３４０を含む。さらに、図３に示すように、BIOSデータベース３１０はマシン３００に格納される。他の実施形態では、BIOSデータベース３１０は、記憶装置３２０、または、マシン３００がアクセスできる外部記憶装置３３０に格納される。
【００３１】
図３に示すように、BIOSデータベース３１０は、マシン３００内の記憶装置３２０に結合される。１実施形態では、BIOSデータベース３１０は、マシン３００が、BIOSイメージ１、２、３及び４を含む記憶装置３２０を備えていることを最初に確認する。BIOSデータベース３１０は、次に、記憶装置３２０にあるBIOSイメージ３７０をリストし、及び、記憶装置３２０にあるBIOSイメージ３７０の分類及びバイナリーシグネチャをリストする。１実施形態では、図３に示すように、BIOSデータベース３１０にリストされているBIOSイメージ３７０の分類は略記される。他の実施形態では、バイナリーコード、すなわち、２進数列を用いて、BIOSイメージ３７０を分類することができる。BIOSマネージャは、次に、外部記憶装置３３０がマシン３００に結合されていることを検出し、及び、BIOSマネージャは、外部記憶装置３３０がBIOSイメージ５、６、７、及び８を含んでいることを確認する。BIOSマネージャは、次に、BIOSデータベース３１０がBIOSイメージ５、６、７、及び８を含むようにBIOSデータベース３１０を更新し、並びに、BIOSデータベース３１０内のそれらのBIOSイメージの分類及びバイナリーシグネチャを更新する。
【００３２】
１実施形態では、BIOSマネージャが、外部記憶装置３３０にBIOSイメージが格納されていることを検出すると、BIOSマネージャは、現BIOSを置換するBIOSイメージを選択するときに、外部記憶装置３３０にあるBIOSイメージ５、６、７、及び８に優先権（すなわち、高い優先順位）を与える。１実施形態では、上記のように、BIOSイメージは、マークされた優先フラグを含むことができる。BIOSマネージャは、マークされた優先フラグを持つBIOSイメージに優先権を与えることができる。別の実施形態では、さらに、BIOSデータベース３１０が、マシン３００がアクセスできるBIOSイメージ３７０をリストすると、BIOSマネージャは、「新しい」に分類されているBIOSイメージ６で現BIOSを書き換える命令を実行する。１実施形態では、上記のように、外部記憶装置３３０がマシン３００に取り付けられており、かつ、該外部記憶装置３３０がBIOSイメージ３７０を含んでいる場合には、現BIOSを置換するBIOSイメージを選択するときに、記憶装置３２０のBIOSイメージ３７０よりも高い優先順位が、該外部記憶装置３３０のBIOSイメージ３７０に与えられる。
【００３３】
図３に示すように、BIOSイメージ３と６はいずれも、BIOSデータベース３１０においてＮ（すなわち「新しい」）という分類を有しているが、BIOSイメージ６は外部記憶装置３３０に格納されているので、BIOSイメージ６に優先権が与えられる。さらに、BIOSイメージ６は、マークされた優先フラグを有することができる。上記のように、BIOSマネージャは、現BIOSを書き換える前に、BIOSデータベース３１０にリストされているBIOSイメージ３のバイナリーシグネチャを調べることによって、BIOSイメージ３のバイナリーシグネチャがマシン３００に格納されているシグネチャ３６０に一致するか否かを確認する。１実施形態では、上記のように、シグネチャ３６０はバイナリーシグネチャである。さらに、シグネチャ３６０は、６桁の数字列である。図３に示すように、BIOSイメージ６のバイナリーシグネチャである００１１００は、マシン３００に格納されているシグネチャ３６０である００１１００と一致している。BIOSマネージャは、BIOSイメージ６のバイナリーシグネチャが一致することを確認すると、現BIOSをBIOSイメージ６で書き換えて、BIOSデータベース３１０にリストされているBIOSイメージ３７０のうちの少なくとも２つの分類３８０を更新する。
【００３４】
図３に示すように、BIOSマネージャはさらに、BIOSデータベース１１０内のBIOSイメージ１及び６の分類、及び、対応する分類フィールドを更新する。BIOSデータベース３１０内のBIOSイメージ１の分類フィールドは、Ｃ（すなわち「現在」）からＰ（すなわち「以前」）に書き換えられる。さらに、BIOSデータベース３１０内のBIOSイメージ６の分類フィールドは、Ｎ（すなわち「新しい」）からＣ（すなわち「現在」）に書き換えられる。１実施形態では、BIOSマネージャはさらに、BIOSデータベース１１０のバイナリーシグネチャフィールド３４０を検査することによって、BIOSデータベース１１０にリストされているBIOSイメージ３７０のバイナリーシグネチャがマシン３００中のシグネチャ３６０に一致するか否かを確認する。図３に示すように、BIOS４のバイナリーシグネチャフィールドは、そのシグネチャが１１１１１１であることを示している。この結果、BIOS４のバイナリーシグネチャは、マシン３００のシグネチャ００１１００に一致しない。１実施形態では、BIOSマネージャは次に、BIOSイメージ４の分類をDe（すなわち「削除」）に変更する。別の実施形態では、BIOSマネージャは、BIOSデータベース３１０からBIOSイメージ４のリストを削除する。さらに、BIOSマネージャは、記憶装置３２０からBIOSイメージ４を削除する。
【００３５】
BIOSデータベース３１０が更新されると、BIOSマネージャは、BIOSデータベース３１０にリストされているBIOSイメージ３７０の参照、及び、BIOSデータベース３１０にリストされている対応するBIOSイメージ３７０の分類を、BIOSログ３５０に書き込む。図３に示すように、BIOSログ３５０は、BIOSイメージ１、２、３、４、５、６、７、及び８をリストしている。さらに、BIOSログ３５０は、BIOSイメージ３７０のうちの少なくとも２つの分類が更新された後に、BIOSイメージ３７０の分類をリストする。図３に示すように、BIOSログ３５０は、BIOSイメージ３がＣ（すなわち「現在」）に、BIOSイメージ１がＰ（すなわち「以前」）に、BIOSイメージ４がDe（すなわち「削除」）にそれぞれ再分類されたことを反映する。上記のように、BIOSログ３５０は、置換及び／または削除するBIOSイメージ３７０を識別するためにマシン３００のオペレーティングシステムによってアクセスされることができる。
【００３６】
図４は、本発明の１実施形態にしたがう内蔵型のBIOSマネージャ４１０を備えるマシン４００、及び、該１実施形態にしたがって該マシン４００によってアクセスされるリムーバブルメディアに格納されているBIOSマネージャ４１０を示す。説明の便宜上、リムーバブルメディアは、該マシンによって使用されるか、もしくは、該マシンに関連して使用されるアプリケーションを含み、または該アプリケーションを格納し、または該アプリケーションをやりとりし、または該アプリケーションを伝送する任意の有形の装置である。１実施形態では、上記のように、BIOSマネージャ４１０は、マシン４００の１以上のコンポーネントにROMとして組み込まれているファームウェアである。別の実施形態では、BIOSマネージャ４１０は、マシン４００に結合されるハードディスク、コンパクトディスク、フラッシュディスク、ネットワークドライブ、または、他の任意の形態のコンピュータ読み取り可能媒体に格納されて、それらの媒体から（マシン４００へと）アクセスされるソフトウェアアプリケーションである。
【００３７】
図５は、本発明の１実施形態にしたがうBIOSイメージ管理の方法を示すフローチャートである。図５の方法は、マシンがアクセスできる記憶装置、該記憶装置に格納されているBIOSイメージ、及び、該マシンにあるBIOSマネージャを使用する。他の実施形態では、図５の方法は、上記のもの並びに図１、２、３、及び４に示されているものに加えて、及び／または、それらの代わりに、追加のコンポーネント及び／または装置を使用する。
【００３８】
BIOSマネージャは最初に、マシンがアクセスできるBIOSイメージを分類する（５００）。上記のように、BIOSイメージは、対応するBIOSイメージの状態及び／または安定性に基づいて分類される。いくつかの実施形態では、BIOSイメージは、該BIOSイメージの日付（たとえば作成日付）に基づいて分類される。１実施形態では、BIOSイメージは、「新しい」、「現在」、「破損」、「以前」、及び／または「デフォルト」に分類される。さらに、上記のように、BIOSマネージャは、該マシンがアクセスできる記憶装置に格納されているBIOSイメージにアクセスする。BIOSイメージが分類された後、BIOSマネージャは、BIOSイメージのうちの１つの分類に基づいて、現BIOSを置換するBIOSイメージのうちの１つを選択する（５１０）。上記のように、BIOSマネージャは、更新するときに「新しい」に分類されているBIOSイメージを選択する。さらに、BIOSマネージャは、以前のBIOSにロールバックするとき、または、破損していると判定された現BIOSから復旧するときに、「以前」及び／または「デフォルト」に分類されているBIOSイメージを選択する。
【００３９】
BIOSイメージが選択されると、BIOSマネージャは、現BIOSを選択されたBIOSイメージで書き換える（５２０）。現BIOSが選択されたBIOSイメージで置換されると、BIOSマネージャは、現BIOSが置換されたときに、BIOSイメージのうちの少なくとも２つの分類を更新する（５３０）。１実施形態では、選択されたBIOSイメージが「デフォルト」の分類を有している場合には、BIOSマネージャは、「現在」に分類されているBIOSイメージの分類を、「現在」から「以前」に更新し、該選択されたBIOSイメージの分類を「デフォルト」から「現在」に更新する。
【００４０】
その後、このプロセスは終了するか、または、BIOSマネージャは、図５に示されている方法を繰り返すことによって該マシンの現BIOSが置換されるときに、BIOSイメージの分類の管理及び更新を続行する。１実施形態では、図５の方法は、図５に示されているステップに加えて、及び／または、それらのステップの代わりに、追加のステップを含む。
【００４１】
図６は、本発明の別の実施形態にしたがうBIOSイメージ管理の方法を示すフローチャートである。図６の方法は、マシンがアクセスできるBIOSイメージ、該マシンにあるデータベース、BIOSイメージを検証するためのシグネチャ、BIOSイメージの分類の変化を記録するBIOSログ、及び、BIOSマネージャを使用する。他の実施形態では、図６の方法は、上記のもの並びに図１、２、３、及び４に示されているものに加えて、及び／または、それらの代わりに、追加のコンポーネント及び／または装置を使用する。
【００４２】
図６に示されているように、BIOSマネージャは最初に、マシンがアクセスできるBIOSイメージを分類する（６００）。BIOSイメージは、対応するBIOSイメージの状態及び／または安定性に基づいて分類される。１実施形態では、BIOSイメージには、「新しい」、「現在」、「破損」、「以前」、及び／または「デフォルト」からなるグループ中の少なくとも１つの分類が与えられる。他の実施形態では、BIOSイメージは、BIOSイメージの日付（たとえば作成日付）に基づいて分類される。上記のように、マシンがアクセスできるBIOSイメージは、BIOSデータベースにリストされ、及び、整理（または編成）される。さらに、BIOSイメージは、対応するBIOSイメージの分類をリストするように構成されているヘッダーを含む。BIOSイメージが分類された後、BIOSマネージャは、マシンの現BIOSを置換する要求がないか検査する（６０５）。上記のように、BIOSマネージャは、現BIOSを置換するか否かを検査及び／または決定する際に、現BIOSのフラグがマークされているか否か、または、現BIOSが破損しているか否かを判定する。
【００４３】
現BIOSがマークされた更新フラグを有している場合には、BIOSマネージャは次に、現BIOSを置換して、マシンを、「新しい」に分類されているBIOSイメージで更新する（６１０）。現BIOSがマークされた更新フラグを有していない場合には、BIOSマネージャはさらに、現BIOSが破損しているか否か、または、ロールバックが要求されているか否かを判定する。現BIOSが破損しているか、現BIOSがマークされたロールバックフラグを有している場合には、BIOSマネージャは次に、以前のBIOSイメージまたはデフォルトのBIOSイメージに戻す（６２０）。
【００４４】
１実施形態では、上記のようにさらに、BIOSマネージャは、現BIOSを置換するために使用されるBIOSイメージのシグネチャを調べる（６２５）。選択されたBIOSイメージのシグネチャが一致しない場合には、BIOSマネージャは、BIOSイメージの選択を却下して、更新の要求、ロールバックの要求、及び／または、破損（の判定）の要求がされているか否かの判定に戻る。BIOSマネージャが、現BIOSを置換するために一致するシグネチャを有するBIOSイメージを選択すると、BIOSマネージャは次に、現BIOSを置換して、「現在」に分類されている新しいBIOSイメージの成功フラグをマークする（６３０）。
【００４５】
さらに、BIOSマネージャは、現BIOSが置換されると、BIOSイメージのうちの少なくとも２つの分類を更新する（６４０）。１実施形態では、上記のように、現BIOSが破損していると判定された場合には、BIOSマネージャは、現BIOSの分類を「破損」に変更し、及び、その破損しているBIOSイメージを置換するために利用される選択されたBIOSイメージの分類を「現在」に変更する。さらに、BIOSマネージャは、現BIOSを置換して、少なくとも２つの分類を更新した後、マシンのBIOSイメージに対してなされた分類の更新の要約をBIOSログに記録する（６５０）。その後、このプロセスは終了するか、または、BIOSマネージャは、図６に示されている方法を繰り返すことによってBIOSイメージの管理を続行する。１実施形態では、図６の方法は、図６に示されているステップに加えて、及び／または、それらのステップの代わりに、追加のステップを含む。
【００４６】
マシンがアクセスできるBIOSイメージを分類して、マシンの現BIOSが更新され、及び／または、ロールバックされ、及び／または、回復（復旧）されたときに、BIOSイメージの分類を更新することによって、時間を節約し、安定性及び利便性を向上させることができる。さらに、現BIOSを置き換える前に選択されたBIOSイメージのシグネチャを検証し、該BIOSイメージ及び分類をBIOSログに書き込むことによって、安全性及びBIOSの安定性を向上させることができる。
【図１】
0005367159.tif 000002
【図２】
0005367159.tif 000003
【図３】
0005367159.tif 000004
【図４】
0005367159.tif 000005
【図５】
0005367159.tif 000006
【図６】
0005367159.tif 000007