(57)【特許請求の範囲】
【請求項１】
マネージメントプロセッサを有するプロセッサと、
前記プロセッサと通信するファームウェアストレージ媒体であって、ブート処理の間に呼び出されるデフォルトイメージを記憶し、カスタマイズされたイメージを選択的に記憶するファームウェアストレージ媒体と
を備えるコンピュータシステムであって、
前記マネージメントプロセッサは、前記コンピュータシステムを遠隔で制御可能であり、
前記カスタマイズされたイメージは、ランタイムの間に、前記マネージメントプロセッサを介して、仮想的なストレージデバイスイメージとしてアクセスされ、
前記カスタマイズされたイメージが前記ファームウェアストレージ媒体に記憶されている場合、前記ブート処理は、選択的に、前記カスタマイズされたイメージの少なくとも一部を前記デフォルトイメージに追加する
コンピュータシステム。
【請求項２】
前記デフォルトイメージおよび前記カスタマイズされたイメージは、独立してフラッシュ可能である
請求項１に記載のコンピュータシステム。
【請求項３】
前記カスタマイズされたイメージは、オペレーティングシステム（ＯＳ）ブート制御ドライバを有する
請求項１に記載のコンピュータシステム。
【請求項４】
前記カスタマイズされたイメージは、ロゴ、システム名称およびシステム製造者の少なくとも１つを有する
請求項１に記載のコンピュータシステム。
【請求項５】
前記カスタマイズされたイメージは、構成設定、温度設定および電源供給設定の少なくとも１つを有する
請求項１に記載のコンピュータシステム。
【請求項６】
前記カスタマイズされたイメージは、オプションＲＯＭコードを有する
請求項１に記載のコンピュータシステム。
【請求項７】
前記ファームウェアストレージ媒体は、ベーシックインプット／アウトプットシステム（ＢＩＯＳ）を有し、
前記カスタマイズされたイメージは、仮想的なストレージデバイスイメージとしてアクセスされる
請求項１に記載のコンピュータシステム。
【請求項８】
前記カスタマイズされたイメージは、前記コンピュータシステムの周辺機器に関するドキュメンテーションまたはユーティリティの少なくとも１つを有する
請求項１に記載のコンピュータシステム。
【請求項９】
前記カスタマイズされたイメージは、前記マネージメントプロセッサを介して更新される
請求項１に記載のコンピュータシステム。
【請求項１０】
マネージメントプロセッサを有するプロセッサと、前記プロセッサと通信するファームウェアストレージ媒体であって、ブート処理の間に呼び出されるデフォルトイメージを記憶し、カスタマイズされたイメージを選択的に記憶するファームウェアストレージ媒体とを備えるコンピュータシステムのための方法であって、前記マネージメントプロセッサは、前記コンピュータシステムを遠隔で制御可能であり、
ファームウェアストレージ媒体にデフォルトイメージを記憶することと、
ランタイムの間に、前記マネージメントプロセッサを介して、前記カスタマイズされたイメージに、仮想的なストレージデバイスイメージとしてアクセスすることと、
前記ファームウェアストレージ媒体にカスタマイズされたイメージを選択的に記憶することと、
前記カスタマイズされたイメージが前記ファームウェアストレージ媒体に記憶されている場合、前記ブート処理は、選択的に、前記カスタマイズされたイメージの少なくとも一部を前記デフォルトイメージに追加して、ブート処理の一部としてタスクを完了させることと、
前記カスタマイズされたイメージが前記ファームウェアストレージ媒体に記憶されていない場合に、前記デフォルトイメージを使用して前記タスクを完了させることと
を有する方法。
【請求項１１】
前記デフォルトイメージを更新することなく前記カスタマイズされたイメージを選択的に更新すること
をさらに有する請求項１０に記載の方法。
【請求項１２】
前記カスタマイズされたイメージを更新することなく前記デフォルトイメージを選択的に更新すること
をさらに有する請求項１０に記載の方法。
【請求項１３】
少なくとも１つのアイテムを前記カスタマイズされたイメージとして記憶すること
をさらに有し、
前記アイテムは、ＯＳブート制御ドライバ、ロゴ、システム名称、システム製造者、構成設定、温度設定、電源供給設定、オプションＲＯＭコード、周辺デバイスドキュメンテーション、および周辺デバイスユーティリティからなるグループから選択される
請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピュータシステム等の多くの電子装置は、いくつかのデフォルトの機能性（functionality）を備えて製造される。
多くの場合、このような電子装置の機能性は、製造者、ベンダまたはエンドユーザによってカスタマイズされる。
あいにく、電子装置をカスタマイズすることは、しばしば、いくらかの時間および技術的な専門知識を伴う重要な仕事である。
同様に、電子装置についてのカスタマイズは、特定のベンダまたはエンドユーザに特有であり得る。
さらに、電子装置についてのカスタマイズは、時代遅れ（outdated）となり、または処置を誤る（mishandled）（改悪（corrupt）または消去される）こととなり得る。
一般に、電子装置のカスタマイズを容易にすることが望ましい。
【図面の簡単な説明】
【０００２】
次に本発明の例示の実施形態を詳細に説明するために、添付図面を参照することにする。
【０００３】
【図１】本開示の実施形態による電子装置を示す図である。
【図２】本開示の実施形態によるシステムを示す図である。
【図３】本開示の実施形態によるファームウェアストレージ媒体のセクタを示す図である。
【図４】本開示の実施形態によるカスタマイズされたファームウェアイメージを示す図である。
【図５】本開示の実施形態による方法を示す図である。
【図６】本開示の実施形態による他の方法を示す図である。
【図７】本開示の代替的な実施形態による他の方法を示す図である。
【０００４】
表記法及び用語体系
以下の説明及び特許請求の範囲の全体にわたって、特定のシステムコンポーネントを参照するために、一定の用語が使用される。
当業者には理解されるように、コンピュータ会社は、１つのコンポーネントを異なる名前で参照することがある。
この文書は、名称は異なるが機能は異ならないコンポーネントを区別するように意図していない。
以下の解説及び特許請求の範囲において、「含む（including）」及び「備える（comprising）」という用語は、オープンエンド形式で使用され、したがって、「〜を含むが、これらに限定されるものではない」ことを意味するように解釈されるべきである。
また、「結合する（"couple" or "couples"）」という用語は、間接電気接続または直接電気接続のいずれをも意味するように意図されている。
したがって、第１のデバイスが第２のデバイスに結合する場合、その接続は、直接電気接続、または他のデバイス及び接続を介した間接電気接続を通じたものとなり得る。
「システム（system）」という用語は、２つ以上の部分（部品）のコレクションを参照し、コンピュータシステム、コンピュータシステムの一部またはコンピュータシステムのネットワークを参照するのに用いられ得る。
【０００５】
詳細な説明
以下の議論は、本発明のさまざまな実施形態を対象としている。
これらの実施形態の１つ又は複数が好ましいものとなり得るが、開示される実施形態は、特許請求の範囲を含む開示の範囲を限定するものとして解釈されるべきでもなければ、別の方法で使用されるべきでもない。
加えて、当業者は、以下の説明が広い用途を有し、いずれの実施形態の議論もその実施形態の単なる例示にすぎないように意図されており、特許請求の範囲を含む開示の範囲がその実施形態に限定されることを暗示するように意図されていないことを理解するであろう。
【０００６】
実施形態への限定ではなく前置きとして、コンピュータシステム（または他のデバイス）のベンダは、ある市場の製品を設計する。
いくつかの場合では、標準の提示（offering）とは異なるように、製品をカスタマイズする必要がある。
カスタマイズの要求は、元のシステムの設計者、再ブランド化（re-brand）または再販売を意図する別の会社、またはエンドユーザから来る場合がある。
例えば、再販売者は、製品が元の製造者の製品というよりはその再販売者の製品として見られることを望み得る。
一般に、再販売者は、ブート処理の間に示される情報（例えば、パワーオンセルフテスト（power-on self-test：ＰＯＳＴ）ロゴ、システム製造者および製品の名称）を交換することを望むだろう。
加えて、再販売者は、システムが標準の提示とは異なるように動作する（例えば、ブート順序（boot order）および／またはシリアルポート構成のようないくらかのデフォルトが変更され得る）ことを望むだろう。
カスタマイズをサポートするために、デフォルトのファームウェアイメージおよびカスタムのファームウェアイメージを、他のものに悪影響を及ぼすことなく提供／更新する能力が必要とされる。
【０００７】
本明細書で説明するように、本発明の実施形態は、電子装置の選択的なカスタマイズを容易にする。
少なくともいくつかの実施形態では、電子装置は、（例えばブートタスクまたはランタイムタスクについての）デフォルトイメージを有する第１のセクタと、（例えばブートタスクまたはランタイムタスクについての）カスタマイズされたイメージについて用意された第２のセクタとを有するファームウェアストレージ媒体を備える。
電子装置によって実行されるタスクは、カスタマイズ可能なタスクまたはカスタマイズ不可能なタスクのいずれにも指定され得る。
カスタマイズ可能なタスクが引き起こされる場合、電子装置は、カスタマイズされたイメージが第２のセクタに記憶されているかを判断し、そうであれば、カスタマイズされたイメージ内の情報がカスタマイズ可能なタスクと関連しているかを判断する。
カスタマイズ可能なタスクと関連する情報が第２のセクタのカスタマイズされたイメージ内で見つかった場合、電子装置は、カスタマイズされたイメージに基づいてカスタマイズ可能なタスクを実行する。
カスタマイズ可能なタスクと関連する情報が第２のセクタ内で見つからなかった場合、電子装置は、デフォルトイメージに基づいてカスタマイズ可能なタスクを実行する。
同様に、カスタマイズ不可能なタスクが引き起こされる場合、電子装置は、デフォルトイメージに基づいてカスタマイズ不可能なタスクを実行する。
タスクがカスタマイズされたイメージまたはデフォルトイメージを使用して実行され得ない場合、必要とされる情報の検索または要求が実行される。
少なくともいくつかの実施形態では、デフォルトイメージおよびカスタマイズされたイメージは、（例えばファームウェアストレージ媒体の第１のセクタまたは第２のセクタをフラッシュ（flashing）することによって）選択的にまたは独立して更新可能である。
【０００８】
少なくともいくつかの実施形態では、ファームウェアストレージ媒体は、コンピュータシステムのベーシックインプット／アウトプットシステム（ＢＩＯＳ）を記憶する。
追加としてまたは代替として、ファームウェアストレージ媒体は、電子装置を遠隔で制御することを可能にするマネージメントプロセッサと関連付けられ得る。
このような実施形態では、デフォルトイメージの更新および／またはカスタマイズされたイメージの更新は、マネージメントプロセッサを介して実行され得る。
少なくともいくつかの実施形態では、デフォルトイメージおよびカスタマイズされたイメージは、仮想的ストレージデバイスイメージとしてアクセスされる。
仮想的ストレージデバイスイメージの例には、仮想的なフロッピー（登録商標）イメージ、仮想的な光ディスクイメージ（例えばＣＤまたはＤＶＤイメージ）、仮想的なメモリ−スティック／カードイメージ（例えばＵＳＢスティックイメージ、ＳＤカードイメージ）または他のストレージデバイスイメージが含まれる。
【０００９】
図１は、本開示の実施形態による電子装置１０２を示す。
電子装置１０２は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォン、または他の電子装置の代表であり得る。
図１に示すように、電子装置１０２は、カスタマイズ可能タスク１１２およびカスタマイズ不可能タスク１１４を選択的に実行するプロセッサ１１０を備える。
カスタマイズ可能タスク１１２およびカスタマイズ不可能タスク１１４は、プロセッサ１１０の内部にあるコードまたは別の資源（例えば、システムメモリ１３０に記憶されたアプリケーション１３４、Ｉ／Ｏポート１４０を介してアクセスされる携帯型ストレージ媒体またはネットワーク、または、Ｉ／Ｏポート１４０を介してアクセスされるネットワーク）から受信されたコードに基づき得る。
いずれの場合においても、カスタマイズ可能タスク１１２またはカスタマイズ不可能タスク１１４の少なくともいくつかを実行することは、プロセッサ１１０と結合されるファームウェアストレージ媒体１２０に記憶された情報を取り出すことを伴う。
【００１０】
示されるように、ファームウェアストレージ媒体１２０は、デフォルトイメージセクタ１２２およびカスタマイズ化（customized：カスタマイズされた）イメージセクタ１２４を備える。
デフォルトイメージセクタ１２２は、カスタマイズ可能タスク１１２および／またはカスタマイズ不可能タスク１１４を実行することに関連する情報を有する少なくとも１つのデフォルトイメージを記憶する。
カスタマイズ化イメージセクタ１２４は、少なくとも１つのカスタマイズ可能タスク１１２を実行することに関連する情報を有する少なくとも１つのカスタマイズされたイメージを選択的に記憶する。
一般に、たとえデフォルトイメージが提供されず、またはデフォルトイメージが全てのデフォルトイメージセクタ１２２を占有しなくても、デフォルトイメージセクタ１２２は、デフォルトイメージのために用意される。
同様に、たとえカスタマイズされたイメージが提供されず、またはカスタマイズされたイメージが全てのカスタマイズ化イメージセクタ１２４を占有しなくても、カスタマイズ化イメージセクタ１２４は、カスタマイズされたイメージのために用意される。
【００１１】
少なくともいくつかの実施形態では、デフォルトイメージセクタ１２２およびカスタマイズ化イメージセクタ１２４に記憶された「イメージ」は、仮想的なフロッピーイメージ、仮想的な光ディスクイメージ（例えばＣＤまたはＤＶＤイメージ）、仮想的なメモリ−スティック／カードイメージ（例えばＵＳＢスティックイメージ、ＳＤカードイメージ）または他のストレージデバイスイメージのような、仮想的ストレージデバイスイメージに対応する。
このような実施形態では、プロセッサ１１０は、仮想的イメージにマッピングされたデバイスから読み取ることによって、仮想的イメージにアクセスする。
代替的な実施形態では、デフォルトイメージセクタ１２２およびカスタマイズ化イメージセクタ１２４に記憶された「イメージ」は、適切なリードコマンド（read command）およびアドレス方式を介してプロセッサ１１０に直接にアクセス可能な情報に対応する。
【００１２】
少なくともいくつかの実施形態では、プロセッサ１１０は、選択的にファームウェア更新ユーティリティ１１６を実行する。
ファームウェア更新ユーティリティ１１６は、プロセッサ１１０の内部にあるコードまたは別の資源（例えば、システムメモリ１３０に記憶されたアプリケーション１３４、Ｉ／Ｏポート１４０を介してアクセスされる携帯型ストレージ媒体またはネットワーク、または、Ｉ／Ｏポート１４０を介してアクセスされるネットワーク）から受信されたコードに基づき得る。
実行されるとき、ファームウェア更新ユーティリティ１１６によって、プロセッサ１１０はデフォルトイメージセクタ１２２内のイメージを更新する。
追加としてまたは代替として、ファームウェア更新ユーティリティ１１６によって、プロセッサ１１０はカスタマイズ化イメージセクタ１２４内のイメージを更新する。
少なくともいくつかの実施形態では、デフォルトイメージセクタ１２２およびカスタマイズ化イメージセクタ１２４は、独立して更新される。
このような実施形態では、独立したファームウェア更新ユーティリティは、デフォルトイメージセクタ１２２およびカスタマイズ化イメージセクタ１２４を更新するのに使用され得る。
必要に応じて、独立したファームウェア更新ユーティリティは、異なるパーティー（party）によってアクセスされ得る。
例えば、第１のパーティー（例えば製造者、ベンダまたはエンドユーザ）はデフォルトイメージセクタ１２２を更新することができ得るが、一方、第２のパーティー（例えば製造者、ベンダまたはエンドユーザ）は、カスタマイズ化イメージセクタ１２４を更新し得る。
所望されるように、カスタマイズプロセスは、デフォルトの情報に影響を及ぼすことなく、製造者、ベンダまたはエンドユーザによって制御され得る。
同様に、デフォルトプロセスは、カスタマイズされる情報に影響を及ぼすことなく、製造者、ベンダまたはエンドユーザによって制御され得る。
【００１３】
示されたように、電子装置１０２は、オプションで、プロセッサ１１０に結合された、少なくとも１つのユーザ入力デバイス１６０（例えば、キーボード、タッチパッド、ボタン、キーパッド、ダイヤル、マウス、トラックボール、カードリーダ、または他の入力デバイス）および／または少なくとも１つの出力デバイス１５０（例えば、液晶ディスプレイ（ＬＣＤ）、プリンタ、ビデオモニタ、タッチスクリーンディスプレイ、発光ダイオード（ＬＥＤ）または他の出力デバイス）を備える。
言い換えれば、電子装置１０２は、直接的なユーザインターアクション（interaction）をサポートし得る。
代替的な実施形態では、電子装置１０２は、直接的なユーザインターアクションをサポートしない（例えばヘッドレスサーバ（headless server））が、他のデバイスを介してアクセス可能であり得る。
【００１４】
図２は、本開示の実施形態によるシステム２００を示す。
示されるように、システム２００は、アドミニストレータコンピュータ２５０と通信するクライアントコンピュータ２０２を備える。クライアントコンピュータ２０２は、図１を用いて説明したようにファームウェアストレージ媒体１２０を有する。
図２において、クライアントコンピュータ２０２は、ファームウェアストレージ媒体１２０と結合されるマネージメントプロセッサ２１０を備える。
マネージメントプロセッサ２１０によって、アドミニストレータコンピュータ２５０は、クライアントコンピュータ２０２と通信でき、クライアントコンピュータ２０２の機能を制御できる。
マネージメントプロセッサ２１０の１つの例は、Integrated Lights-Out（ｉＬＯ）プロセッサとして参照される。
マネージメントプロセッサ２１０によって提供される制御機能の例は、これらに限定はされないが、コンソールリダイレクション（console redirection）、温度監視、ファン制御／監視、遠隔電源管理、および遠隔媒体リダイレクションを含む。
【００１５】
少なくともいくつかの実施形態では、クライアントコンピュータ２０２は、図１を用いて説明した他のコンポーネント（例えば、プロセッサ１１０、システムメモリ１３０、および／または他のコンポーネント）のいくつかまたは全ても備える。
このような場合、ファームウェアストレージ媒体１２０は、プロセッサ１１０およびマネージメントプロセッサ２１０の両方の一部であり得、または、プロセッサ１１０およびマネージメントプロセッサ２１０の両方にアクセス可能であり得る。
代替として、ファームウェアストレージ媒体１２０のいくつかの部分はプロセッサ１１０にアクセス可能であり、一方、ファームウェアストレージ媒体１２０の他の部分はマネージメントプロセッサ２１０にアクセス可能である。
代替として、ファームウェアストレージ媒体１２０の全ての部分はプロセッサ１１０にアクセス可能であり、一方、ファームウェアストレージ媒体１２０のいくつかの部分のみがマネージメントプロセッサ２１０にアクセス可能である。
代替として、ファームウェアストレージ媒体１２０の全ての部分はマネージメントプロセッサ２１０にアクセス可能であり、一方、ファームウェアストレージ媒体１２０のいくつかの部分のみがプロセッサ１１０にアクセス可能である。
【００１６】
いくつかの実施形態によれば、マネージメントプロセッサ２１０は、ペリフェラルコンポーネントインターコネクト（Peripheral Component Interconnect：ＰＣＩ）、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＰＣＩ−Ｘ、または他のこのようなインタフェースのような、通信インタフェース（便宜上図示せず）と結合されるコンポーネントを備える。
したがって、クライアントコンピュータ２０２とアドミニストレータコンピュータ２４０との間の通信は、このようなインタフェースを介したデータの送信／受信を伴う。
追加として、クライアントコンピュータ２０２とアドミニストレータコンピュータ２４０との間の通信は、ネットワーク２４０（例えばローカルエリアネットワーク（local area network：ＬＡＮ）またはワイドエリアネットワーク（wide area network：ＷＡＮ））または直接的な接続（例えばアドミニストレータコンピュータ２５０のＩ／Ｏポート２５２）を介して発生する。
いずれの場合においても、アドミニストレータコンピュータ２５０からマネージメントプロセッサ２１０へ転送されるデータは、クライアントコンピュータ２０２による使用のため、ある通信プロトコル（例えばＴＣＰ／ＩＰのようなネットワークプロトコル）から別の通信プロトコル（例えばＵＳＢプロトコル）に変換され得る。
【００１７】
少なくともいくつかの実施形態では、マネージメントプロセッサ２１０は、データエンドポイントをエミュレートすることによって、アドミニストレータコンピュータ２５０の通信および制御機能を容易にする。
例えば、マネージメントプロセッサ２１０は、フロッピードライブ、光学ドライブ、ＵＳＢホストコントローラ、ＵＳＢ周辺機器および／またはＵＳＢハブをエミュレートして、アドミニストレータコンピュータ２５０の通信および制御機能を容易にする。
マネージメントプロセッサエミュレーションにおけるさらなる情報のため、２００５年２月２４日に出願され「Method and systems for managing a device」と表題をつけられたＵＳ  Ｐａｔ．Ａｐｐ．シリアルＮｏ．１１／０６５，９９７、および、２００６年６月２８日に出願され「Emulating a USB host controller」と表題をつけられたＵＳ  Ｐａｔ．Ａｐｐ．シリアルＮｏ．１１／４７７，０６０が参照され得る。これらは、参照により本明細書に援用される。
【００１８】
図２に示すように、アドミニストレータコンピュータ２５０は、マネージメントアプリケーション２５８を記憶するメモリに結合された、プロセッサ２５２を備える。
プロセッサ２５２によって実行されると、マネージメントアプリケーション２５８は、アドミニストレータコンピュータ２５０に、クライアントコンピュータ２０２と通信させ、クライアントコンピュータ２０２の機能を制御させる。
例として、マネージメントアプリケーション２５８は、アドミニストレータコンピュータ２５０に、クライアントコンピュータ２０２の動作および性能を監視させる。
クライアントコンピュータ２０２が"ヘッドレス"デバイス（例えばサーバ）である場合、マネージメントアプリケーション２５８は、アドミニストレータコンピュータ２５０に、クライアントコンピュータ２０２の状態に関する情報をアドミニストレータに表示させ得る。
マネージメントプロセッサ２１０のエミュレーション能力を使用して、緊急またはメンテナンス条件が発生した場合に、アドミニストレータコンピュータ２５０およびアドミニストレータコンピュータ２５０の周辺機器（例えばフロッピードライブ、ＣＤ−ＲＯＭドライブ）は、例えば、クライアントコンピュータ２０２のリブート処理を制御することができる。
このような条件が発生する場合、クライアントコンピュータ２０２は、マネージメントプロセッサ２１０によって提供された、エミュレートされたフロッピードライブイメージまたはエミュレートされた光学ドライブイメージを認識することが可能であり、ブート処理の間にこれらのイメージを使用する（たとえコンピュータ２０２の現実のフロッピードライブまたは光学ドライブが使用できないとしても）。
【００１９】
追加としてまたは代替として、マネージメントアプリケーション２５８は、選択的に、アドミニストレータコンピュータ２５０に、クライアントコンピュータ２０２に対して更新、ドライバ、ドキュメンテーション（documentation）または他のタイプのサポート情報を提供させる。
このようなサポート情報は、要求に応じて、または、アドミニストレータコンピュータ２５０によって提供されクライアントコンピュータ２０２に関連する計画的な（またはランダムの）メンテナンスオペレーションの間に、クライアントコンピュータ２０２に提供され得る。
クライアントコンピュータ２０２に必要とされるサポート情報がすでにファームウェアストレージ媒体１２０のデフォルトイメージセクタ１２２またはカスタマイズ化イメージセクタ１２４に記憶されている場合、アドミニストレータコンピュータ２５０は、サポート情報を提供するよりもむしろ、単に、ファームウェアストレージ媒体１２０のサポート情報にアクセスし得る。
さまざまな実施形態において、異なるタイプのサポート情報へのアクセスのレベルは、別々に制御し得る。
例えば、いくつかのサポート情報は、アドミニストレータコンピュータ２５０を使用してのみアクセス可能であり得るが、一方、他のサポート情報は、アドミニストレータコンピュータ２５０なしでアクセス可能である。
追加としてまたは代替として、いくつかのサポート情報は、クライアントコンピュータ２０２からのみアクセス可能であり得る（つまり、アドミニストレータコンピュータ２５０は、ファームウェアストレージ媒体１２０のいくつかのサポート情報にアクセスできない）。
【００２０】
図３は、本開示の実施形態によるファームウェアストレージ媒体３２０のセクタを示す。
少なくともいくつかの実施形態では、ファームウェアストレージ媒体３２０は、図１および図２のファームウェアストレージ媒体１２０に対応する。
示されるように、ファームウェアストレージ媒体３２０は、複数の６４Ｋバイトのセクタ３２０Ａ〜３２０Ｈを有し、セクタ３２０Ａ〜３２０Ｄおよびセクタ３２０Ｆ〜３２０Ｈは、標準ＢＩＯＳ更新（standard BIOS update）の間に更新される。
一方、セクタ３２０Ｅは、標準ＢＩＯＳ更新の間に更新されない。
少なくともいくつかの実施形態によれば、セクタ３２０Ａ〜３２０Ｄおよびセクタ３２０Ｆ〜３２０Ｈは、上述したデフォルトイメージセクタ１２２に対応し、セクタ３２０Ｅは、上述したカスタマイズ化イメージセクタ１２４に対応する。
したがって、（カスタマイズ化イメージ更新の間に）セクタ３２０Ｅが更新されるとき、セクタ３２０Ａ〜３２０Ｄおよびセクタ３２０Ｆ〜３２０Ｈは更新されない。
【００２１】
少なくともいくつかの実施形態では、ファームウェアストレージ媒体３２０は図３に示されるフォーマットとは異なる。
例えば、セクタのサイズは６４Ｋバイトに限られない。
さらに、カスタマイズ化イメージセクタ（セクタ３２０Ｅ）の位置は異なってもよい。
さらに、（セクタ３２０に加えて）追加のセクタがカスタマイズ化イメージセクタとして用意されてもよい。
さらに、セクタ３２０Ａ〜３２０Ｈは、単一のファームウェアチップのセクタまたは複数のファームウェアチップのセクタに対応し得る。
例として、ファームウェアストレージ媒体３２０は、ＢＩＯＳチップ、マネージメントプロセッサチップ、またはこれらの両方に付属され得る。
さらに、図３のファームウェアストレージ媒体３２０はＢＩＯＳに関連するが、他のファームウェアストレージ媒体はＢＩＯＳに関連しない。
【００２２】
図４は、本開示の実施形態によるカスタマイズされたファームウェアイメージを示す。
カスタマイズ化ファームウェアイメージ４００は、例えば、上述したカスタマイズ化イメージセクタ１２４に記憶され得る。
いくつかの実施形態によれば、カスタマイズ化ファームウェアイメージ４００は、対応するデバイスのブート処理の間にアクセスされるオペレーティングシステム（ＯＳ）ブート制御ドライバ４０２を有する。
追加としてまたは代替として、カスタマイズ化ファームウェアイメージ４００は、対応するデバイスのブート処理の間にアクセスされる、（ブート処理の間の表示のための）ロゴ４０４Ａ、構成設定（configuration setting）４０４Ｂ、システム名称４０４Ｃ、システム製造者４０４Ｄ、温度設定４０４Ｅ、電源供給設定４０４Ｆ、および／または、ブートコードインストーラ４０４Ｇを有する。
構成設定４０４Ｂの例には、セキュリティ設定、ブート順序、デフォルトＣＯＭポート設定および／またはデフォルトシリアルコンソール設定が含まれる。
ブート順序は、システムファームウェア（ＢＩＯＳ）がシステムに組み込まれたあり得る全てのブートデバイスからブートデバイスを選択する順序を特定する。
少なくともいくつかの実施形態では、ブートコードインストーラ４０４Ｇは、オプションのＲＯＭフォーマットまたは他のインストール技術を使用する。
ブートコードインストーラ４０４Ｇは、構成ユーティリティ（configuration utility）またはブート処理の間に呼び出され得る他のインタラクティブなアプリケーションをインストール（install）するために、デバイスのカスタム構成を実行するために、ブート処理の間にテキストまたはイメージ（例えばロゴ）を表示するために、ネットワークスタックをインストールするために、および／または、ネットワークトラフィック診断または他の機能を実行するために、製造者、ベンダ、またはエンドユーザによって使用され得る。
【００２３】
追加としてまたは代替として、カスタマイズ化ファームウェアイメージ４００は、対応するデバイスのランタイム中にアクセスされる、周辺ドキュメンテーション（peripheral documentation）４１８（例えば取扱説明書）および／または周辺ユーティリティ（peripheral utility）４２０（例えばドライバ）を有する。
様々な実施形態によれば、カスタマイズ化ファームウェアイメージ４００のエレメントは、独立して（別々のイメージとして）または一緒に（単一のイメージとして）アクセスされ得る。
さらに、カスタマイズ化ファームウェアイメージ４００のエレメントは、別々のカスタマイズ化イメージセクタまたは単一のカスタマイズ化イメージセクタに記憶され得る。
同様に、カスタマイズ化ファームウェアイメージ４００の異なるエレメントは、一緒にまたは独立して更新され得る。
さらに、カスタマイズ化ファームウェアイメージ４００の異なるエレメントは、クライアントコンピュータ（例えばクライアントコンピュータ２０２）、アドミニストレータコンピュータ（例えばアドミニストレータコンピュータ２５０）、またはこれらの両方にアクセス可能であり得る。
【００２４】
図５は、本開示の実施形態による方法５００を示す。
方法５００は、ブート処理を開始すること（ブロック５０２）を含む。
タスクがカスタマイズ可能であると認識される場合（決定ブロック５０４）、方法５００は、タスク情報がカスタマイズ化ファームウェアイメージに記憶されているかを判断する（決定ブロック５０６）。
タスクがカスタマイズ可能であると認識されない場合（決定ブロック５０４）、またはタスク情報がカスタマイズ化ファームウェアイメージに記憶されていない場合（決定ブロック５０６）、デフォルトファームウェアイメージ内の情報が使用されてタスクを完了する（ブロック５１０）。
そうでない場合、カスタマイズ化ファームウェアイメージ内の情報が使用されてタスクを完了し（ブロック５０８）、ブロック５１２においてブート処理が継続する。
【００２５】
図６は、本開示の実施形態による他の方法６００を示す。
方法６００は、ブート処理を開始すること（ブロック６０２）を含む。
ブロック６０４において、オプションＲＯＭ初期化ルーチンが呼び出される。
カスタムオプションＲＯＭがカスタマイズ化ファームウェアイメージに記憶されている場合（決定ブロック６０６）、カスタムオプションＲＯＭが呼び出され（ブロック６０８）、ブロック６１２においてブート処理が継続する。
カスタムオプションＲＯＭがカスタマイズ化ファームウェアイメージに記憶されていない場合（決定ブロック６０６）、標準オプションＲＯＭ検索および初期化が実行され（ブロック６１０）、ブロック６１２においてブート処理が継続する。
【００２６】
図７は、本開示の代替的な実施形態による他の方法７００を示す。
方法７００は、ルーチンを開始すること（ブロック７０２）を含む。
周辺ドキュメンテーションまたは周辺ユーティリティが必要とされる場合（決定ブロック７０４）、方法７００は、関連するドキュメンテーションまたはユーティリティがカスタマイズ化ファームウェアイメージに記憶されているかを判断する（決定ブロック７０６）。
そうである場合、ドキュメンテーションまたはユーティリティはカスタマイズ化ファームウェアイメージからアクセスされ（ブロック７０８）、ブロック７１２においてランタイムが継続する。
関連するドキュメンテーションまたはユーティリティがカスタマイズ化ファームウェアイメージに記憶されていない場合（決定ブロック７０６）、ドキュメンテーションまたはユーティリティは、マネージメントプロセッサ（例えばマネージメントプロセッサ２１０）を介してネットワークまたは携帯型ストレージからアクセスされ（ブロック７１０）、ブロック７１２においてランタイムが継続する。
いくつかの実施形態においては、ドキュメンテーションまたはユーティリティは、アドミニストレータコンピュータ２５０から提供される。
【００２７】
上記議論は、本発明の原理及びさまざまな実施形態の例示であるように意図されている。
上記開示が完全に理解されると、多数の変形及び変更が当業者には明らかになるであろう。
添付の特許請求の範囲は、このようなすべての変形及び変更を包含するように解釈されることが意図されている。
【図１】
0005255703.tif 000002
【図２】
0005255703.tif 000003
【図３】
0005255703.tif 000004
【図４】
0005255703.tif 000005
【図５】
0005255703.tif 000006
【図６】
0005255703.tif 000007
【図７】
0005255703.tif 000008