(57)【要約】      （修正有）【課題】ハードウェアを利用してバスデバイスＩＤ、および、ソフトウェア更新、ソフトウェア、およびドライバをプラットフォームに対して遠隔提供できる。【解決手段】管理エンジンを利用して、起動処理中に設定サイクルをトラップすることができ、その後は、オペレーティングシステムエニュメレーションに応じて行うことができる。この結果、仮想バスデバイスを作成することができる。バスデバイスを利用することで、オペレーティングシステムが破損していたり機能していなかったりするときであってもプラットフォームにソフトウェアを提供することができる。【選択図】図１
2011123875.tif 000002
【特許請求の範囲】
【請求項１】
プラットフォームの管理エンジン内の対象デバイスで設定サイクルをトラップする段階と、
前記プラットフォーム上に仮想バスデバイスを作成する段階と
を備える方法。
【請求項２】
前記仮想バスデバイスを利用して前記プラットフォーム上にソフトウェアを提供する段階を備える請求項１に記載の方法。
【請求項３】
プロビジョニングサーバから前記プラットフォーム上にソフトウェアを提供する段階を備える請求項２に記載の方法。
【請求項４】
前記プラットフォームの起動中に設定サイクルをトラップする段階を備える請求項１に記載の方法。
【請求項５】
前記プラットフォームの起動後に設定サイクルをトラップする段階を備える請求項１に記載の方法。
【請求項６】
システムメモリマッピングされた入出力スペースを、前記管理エンジン経由で前記仮想バスデバイス用のベースアドレスレジスタを含むようプログラミングする段階を備える請求項１に記載の方法。
【請求項７】
管理エンジンファームウェアにプロビジョニングサーバのドメインネームを事前に提供する段階を備える請求項１に記載の方法。
【請求項８】
起動時に前記管理エンジンファームウェアに既に仮想デバイス識別子が提供されているか否かをチェックする段階を備える請求項７に記載の方法。
【請求項９】
インターネット経由で前記プロビジョニングサーバへの接続を開始する段階を備える請求項８に記載の方法。
【請求項１０】
セキュアなメカニズムを利用して、前記仮想デバイス識別子、ベンダ識別子、または機能識別子を提供する段階を備える請求項９に記載の方法。
【請求項１１】
命令を格納するコンピュータ可読媒体であって、前記命令をコンピュータが実行することにより、
プラットフォームの管理エンジン内の対象デバイスで設定サイクルをトラップさせ、
前記プラットフォーム上に仮想バスデバイスを作成させる
コンピュータ可読媒体。
【請求項１２】
前記仮想バスデバイスを利用して前記プラットフォーム上にソフトウェアを提供させる命令をさらに格納する請求項１１に記載の媒体。
【請求項１３】
プロビジョニングサーバから前記プラットフォーム上にソフトウェアを提供させる命令をさらに格納する請求項１２に記載の媒体。
【請求項１４】
前記プラットフォームの起動中に設定サイクルをトラップさせる命令をさらに格納する請求項１１に記載の媒体。
【請求項１５】
前記プラットフォームの起動後に設定サイクルをトラップさせる命令をさらに格納する請求項１１に記載の媒体。
【請求項１６】
システムメモリマッピングされた入出力スペースを、前記管理エンジン経由で前記仮想バスデバイス用のベースアドレスレジスタを含むようプログラミングさせる命令をさらに格納する請求項１１に記載の媒体。
【請求項１７】
管理エンジンファームウェアにプロビジョニングサーバのドメインネームを提供させる命令をさらに格納する請求項１１に記載の媒体。
【請求項１８】
起動時に前記管理エンジンファームウェアに既に仮想デバイス識別子が提供されているか否かをチェックさせる命令をさらに格納する請求項１７に記載の媒体。
【請求項１９】
インターネット経由で前記プロビジョニングサーバへの接続を開始させる命令をさらに格納する請求項１８に記載の媒体。
【請求項２０】
セキュアなメカニズムを利用して、仮想デバイス識別子、ベンダ識別子、または機能識別子を提供させる命令をさらに格納する請求項１９に記載の媒体。
【請求項２１】
プロセッサと、
前記プロセッサに連結されたバスと、
前記バスに連結された管理エンジンと、
設定サイクルをトラップして前記バス上に仮想バスデバイスを作成する、前記管理エンジン内の設定バス対象と
を備える装置。
【請求項２２】
前記仮想バスデバイスは前記装置上にソフトウェアを提供する請求項２１に記載の装置。
【請求項２３】
前記設定バス対象は、起動中に設定サイクルをトラップする請求項２２に記載の装置。
【請求項２４】
前記設定バス対象は、起動後に設定サイクルをトラップする請求項２１に記載の装置。
【請求項２５】
前記プロセッサは、前記管理エンジン経由で前記仮想バスデバイス用のベースアドレスレジスタを含むメモリマッピングされた入出力スペースを含む請求項２１に記載の装置。
【請求項２６】
前記管理エンジンは、プロビジョニングサーバのドメインネームを事前に提供されたファームウェアを含む請求項２１に記載の装置。
【請求項２７】
前記管理エンジンは、起動時に前記管理エンジンのファームウェアに既に仮想デバイス識別子が提供されているか否かをチェックする請求項２６に記載の装置。
【請求項２８】
前記管理エンジンは、インターネット経由で前記プロビジョニングサーバへの接続を開始する請求項２７に記載の装置。
【請求項２９】
前記管理エンジンは、セキュアなメカニズムを利用して、仮想デバイス識別子、ベンダ識別子、または機能識別子を提供する請求項２８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は概して管理エンジン（ＭＥ）に係る。
【背景技術】
【０００２】
管理エンジンまたはサービスプロセッサは、隔離され保護されたコンピューティングリソースであり、法人資産管理の向上および法人資産管理技術の標準化等の、インストールされたいずれのオペレーティングシステムからも独立した情報技術管理上の特徴を提供する。これには、クライアントに対して管理上の特徴を提供するファームウェアも含まれる。さらには、システムアドミニストレータに、管理エンジンを搭載したプラットフォームを遠隔管理させることもできる。
【０００３】
管理エンジンは、ホストオペレーティングシステムに直接管理エンジンと通信させて、イベントのシステム管理情報を交換させることのできる双方向バスであるホストエンベデッドコントローラインタフェース（ＨＥＣＩ）を含んでよい。ＨＥＣＩは、ホストオペレーティングシステムに他のデバイス（例えば帯域外コントローラ、ローカルエリアネットワークにおける起動、および、電源供給デバイス）を制御させることができる。
【０００４】
管理エンジンは、管理サービス用の低電力の帯域外実行エンジンを提供する軽量マイクロカーネルオペレーティングシステムを実行するエンベデッドコントローラである。システム初期化段階において、管理エンジンはコードをシステムフラッシュメモリからロードする。これにより、メインオペレーティングシステムが立ち上がる前の稼動が可能となる。
【０００５】
ランタイムデータの記憶に関しては、管理エンジンは、より高速且つより効率的な処理のための少量のオンチップキャッシュメモリにアクセスすることに加えて、ランタイムである保護されたメモリにアクセスすることができる。場合によっては、保護されたメモリは、システムメモリにおける保護された領域であってよい。管理エンジンの特徴の１つに、自身の電力状態がホストオペレーティングシステムの電力状態とは独立している、というものがある。この特徴によって管理エンジンは、システムの中央処理装置およびその他のコンポーネントが深いスリープ状態にあるときであっても、稼動することができる。
【０００６】
この結果、管理エンジンは、システムに電力が供給されると直ぐに完全に機能するコンポーネントとなることができる。これにより、システムの残りのコンポーネントを起動させることなく情報技術管理コンソールからの帯域外コマンドに応答することが可能となり、消費電力を節約することができる。
【０００７】
ホストオペレーティングシステムの不在中には、管理エンジンはネットワークインタフェースに直接アクセスを行うことでネットワークにアクセスする。管理エンジン・マネージャビリティ・サービス（management engine manageability service）は、固有および専用のトランスポートレベル（レベル４）ポートを利用して通常のホストトラフィックからマネージャビリティトラフィックを峻別することにより、ホストオペレーティングシステムのインターネットプロトコルアドレスを共有する。
【０００８】
多くの場合にソフトウェアをプラットフォームに提供することが望ましい。プラットフォームは、ソフトウェアを利用するコンピュータベースのデバイスであればいずれであってもよい。場合によっては、エンドユーザに供給された後にプラットフォームの更新版を提供することが望ましい場合もある。一方、ユーザに新たなソフトウェアを供給する場合もある。ドライバも供給されることがある。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態の概略図である。
【図２】本発明の一実施形態のフローチャートである。
【図３】一実施形態のプロセッサアドレススペースおよびメモリマップを示す。
【図４】一実施形態におけるメモリマッピングされた入出力スペースのマップである。
【図５】一実施形態における一般的なＰＣＩデバイスＩＤ用の管理エンジンのセキュアな提供を示す概略図である。
【図６】一実施形態におけるソフトウェア提供のフローチャートである。
【発明を実施するための形態】
【００１０】
一部の実施形態においては、プラットフォームは設定可能な仮想バスデバイスを有してよく、ファームウェアおよびソフトウェアの更新および他のウェブサービスを自動的に行うことができる。この一般的なメカニズムはハードウェアに実装することができ、設定可能な仮想バスデバイスを提供するのに利用されてよく、これにより、ソフトウェア配信を助けることができる。他の利用方法には、ファームウェアおよびドライバの更新、および、プレシリコンのハードウェア設計およびデバッグの提供が含まれる。仮想バスデバイスは管理エンジンによりセキュアに実装されてよく、この場合に、プラットフォームオペレーティングシステムから独立している。従ってオペレーティングシステムが破損した場合であっても更新版を提供することができる。
【００１１】
図１を参照すると、一実施形態においてプラットフォーム１０は、グラフィックプロセッサ（ｇｆｘ）１４およびダイナミックランダムアクセスメモリ（ｄｒａｍ）１６に連結された中央処理装置１２を含んでよい。プロセッサ１２はバス１８に連結されてよく、これは一実施形態ではＰＣＩ（Peripheral Component Interconnect）またはＰＣＩバスを有し、特に一実施形態ではＰＣＩエクスプレスバスであってよい。オレゴン州（郵便番号９７００６）ビーバートンのＰＣＩ−ＳＩＧ社から市販されているＰＣＩエクスプレス（ＰＣＩｅ）２．０ベース仕様（０１−１５−２００７）を参照のこと。
【００１２】
バス１８にはバスデバイス２０が接続されてよい。さらにバス１８には管理エンジンコア２２が連結されてよい。管理エンジンコア２２は、管理エンジンファームウェア２６および設定バス対象２４を含んでよい。バス対象２４は一見したところ実際のバスデバイスに見えるので、これを利用して管理エンジンコア２２は、起動中には基本入出力システム（ＢＩＯＳ）から、且つ、その後のエニュメレーション中にはオペレーティングシステム（ＯＳ）から、設定サイクルをトラップすることができる。
【００１３】
図２を参照すると、一実施形態では管理エンジンから独立しているプラットフォームが先ず、期間３０において基本入出力システムの制御の下に起動するべく動作して、起動の後にオペレーティングシステムに制御を受けるようになる。図２のシーケンスは、一部の実施形態ではファームウェア、ソフトウェア、またはハードウェアに実装可能である。ソフトウェアを採用する実施形態では、図２のシーケンスは、例えば管理エンジンコア２２内に常駐しているコントローラまたはコンピュータにより実行される命令を利用することができる。命令は、任意のコントローラまたはプロセッサにより実行されて、任意の適切な格納装置（半導体メモリ、光学メモリ、または磁気メモリ等のコンピュータ可読媒体等）に格納することができる。
【００１４】
システム起動プロセス中には、基本入出力システムの制御の下に、デバイスのエニュメレーションが開始される（図中の３２で示す）。プラットフォームは、設定バス対象の設定サイクルをトラップする（３４で示す）。プラットフォームは、一実施形態では管理エンジンから独立しており、その後に、基本入出力システムに対して応答を送る。基本入出力システムは、プロセッサのメモリマッピングされた入出力（ＭＭＩＯ）スペースを、管理エンジンＵＭＡ（management engine uniform memory access）領域用のベースアドレスレジスタを含むようプログラミングする（３６で示す）。そしてシステムが立ち上がる（３８で示す）。その後、オペレーティングシステムは、自身のバスデバイス・エニュメレーションを始める（４０で示す）。ここでもまた、プラットフォームは、設定バス対象４２の設定サイクルをトラップする。この結果、設定バス対象は、設定システムにここが実際の別のバスデバイスであると信じ込ませることができる。このバスデバイスはエニュメレーションされた形では実在しないことから、仮想デバイスと称される場合がある。これにより管理エンジンは、管理エンジンの制御の元に設定可能なセキュアな方法で、バスデバイスとして振舞ってサービスを提供することができる。
【００１５】
管理エンジンファームウェアは、仮想バスデバイス識別子およびトラップバス設定要求をセキュアに提供するロジックを有する。仮想バスデバイスのセキュアな提供には、一部の実施形態では管理エンジンファームウェアにより既にサポート済みであるＣＩＲＡ（Client Initiated Remote Access）等のプロトコルを利用することができる。このようにして管理エンジンファームウェアは、バスハードウェア経由で送られるバス設定要求に対して応答する。
【００１６】
バス設定対象デバイスハードウェアは、管理エンジンに対してバスデバイス識別子を提供する役割を担い、バス対象デバイスとして機能して、バスが送ってくるバス設定要求をトラップして、その情報を管理エンジンファームウェアに送る。
【００１７】
図３に示す一部の実施形態では、プロセッサアドレススペースまたはメモリは、メモリマップ入出力メモリスペース（図示されている）、グラフィック、システムメモリ、ブートＲＯＭ、および、コンベンショナルメモリに含まれるディスクオペレーティングシステムを含む（これらも図示されている）。
【００１８】
図４に示すデバイスメモリマッピングされた入出力（ＭＭＩＯ）スペースにおいて、仮想デバイス用のバス設定レジスタがホストメモリにマッピングされる。バス設定スペースは、アドレスｏｏｈのビット０から１５にベンダ識別子４６を含み、ビット１６から３１にデバイス識別子４４を含み、０４ｈにコマンド５０とステータス４８とを含む。さらに０８ｈにクラスコード５２を含む。２４ｈから１０ｈには、ベースアドレスレジスタ５４が含まれている。
【００１９】
図５を参照すると、管理エンジンの仮想バスデバイスＩＤのソフトウェア、ソフトウェア更新、ドライバ等をセキュアに提供する処理（プロビジョニングアプリケーション６２）は、管理エンジンファームウェアに対して、インターネット経由でプロビジョニングサーバ６０のＦＱＤＮ（完全修飾ドメイン名）を事前に提供することから始まる。一実施形態では、管理エンジンファームウェア２０が起動すると、最初のシステム起動中に、管理エンジンファームウェアは、管理エンジンファームウェア内に既に仮想ＰＣＩデバイスＩＤが提供されていないかどうかチェックすることができる。
【００２０】
図６では事前に提供されている場合が７０で示されており、起動後にシーケンスは、ブロック７２でデバイス識別子（ＩＤ）をチェックする。デバイスＩＤが既に存在している場合には、フローを終了する。さもなくば７４で、インターネット経由で遠隔プロビジョニングサーバへの接続を開始する。ブロック７６で示すように、任意のセキュアなメカニズムを利用して、仮想バスデバイスＩＤ、ベンダＩＤ、および／または、機能ＩＤを管理エンジンに提供して、チップセットのデバイスにシミュレーションさせることができる。提供し終わると、サーバは、７８で示すように管理エンジンとの接続を停止する。この段階において、管理エンジン内の管理エンジンファームウェアおよびＰＣＩ対象ファームウェアは、あたかも新たなハードウェアがプラットフォームに接続されたかのようにして、ＰＣＩデバイスをシミュレーションすることができる。
【００２１】
この結果、ハードウェアを利用してバスデバイスＩＤ、および、ソフトウェア更新、ソフトウェア、およびドライバをプラットフォームに対して遠隔提供することができる。この処理は管理エンジン経由で行われるので、ホストオペレーティングシステムから独立している。これは、ホストオペレーティングシステムの状態に関わらず動作可能であることを意味する。コンポーネントの多くは既に管理エンジン内にあるので、消費者にとってはかなりの価値がある。
【００２２】
本明細書の随所に見られる「一実施形態（one embodiment）（an embodiment）」といった言い回しは、その実施形態との関連で記載されている特定の特徴、構造、または特性が、本発明が含む少なくとも１つの実装例に含まれていることを意味する。従って、「一実施形形態において」といった言い回しは、必ずしも同じ実施形態のことを意味するわけではない。さらに、特定の特徴、構造、または特性は、示されている特定の実施形態以外の他の適切な形態で実施することができ、これら全ての他の形態も本願の請求項の範囲内に含まれてよい。
【００２３】
本発明を限られた数の実施形態との関連で説明してきたが、当業者であれば、その変形例および変更例を数多く想到することができるであろう。添付請求項はこれら全ての変形例および変更例を、本発明の精神および範囲内に含むことが意図されている。
【図１】
2011123875.tif 000003
【図２】
2011123875.tif 000004
【図３】
2011123875.tif 000005
【図４】
2011123875.tif 000006
【図５】
2011123875.tif 000007
【図６】
2011123875.tif 000008
【手続補正書】
【提出日】平成22年11月19日(2010.11.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プラットフォームの管理エンジン内の対象デバイスで設定サイクルをトラップする段階と、
前記プラットフォーム上に仮想バスデバイスを作成する段階と
を備える方法。
【請求項２】
前記仮想バスデバイスを利用して前記プラットフォーム上にソフトウェアを提供する段階を備える請求項１に記載の方法。
【請求項３】
プロビジョニングサーバから前記プラットフォーム上にソフトウェアを提供する段階を備える請求項２に記載の方法。
【請求項４】
前記プラットフォームの起動中に設定サイクルをトラップする段階を備える請求項１に記載の方法。
【請求項５】
前記プラットフォームの起動後に設定サイクルをトラップする段階を備える請求項１に記載の方法。
【請求項６】
システムメモリマッピングされた入出力スペースを、前記管理エンジン経由で前記仮想バスデバイス用のベースアドレスレジスタを含むようプログラミングする段階を備える請求項１に記載の方法。
【請求項７】
管理エンジンファームウェアにプロビジョニングサーバのドメインネームを事前に提供する段階を備える請求項１に記載の方法。
【請求項８】
起動時に前記管理エンジンファームウェアに既に仮想デバイス識別子が提供されているか否かをチェックする段階を備える請求項７に記載の方法。
【請求項９】
インターネット経由で前記プロビジョニングサーバへの接続を開始する段階を備える請求項８に記載の方法。
【請求項１０】
セキュアなメカニズムを利用して、前記仮想デバイス識別子、ベンダ識別子、または機能識別子を提供する段階を備える請求項９に記載の方法。
【請求項１１】
コンピュータに、
プラットフォームの管理エンジン内の対象デバイスで設定サイクルをトラップさせ、
前記プラットフォーム上に仮想バスデバイスを作成させる
ためのプログラム。
【請求項１２】
さらに、前記仮想バスデバイスを利用して前記プラットフォーム上にソフトウェアを提供させる請求項１１に記載のプログラム。
【請求項１３】
さらに、プロビジョニングサーバから前記プラットフォーム上にソフトウェアを提供させる請求項１２に記載のプログラム。
【請求項１４】
前記プラットフォームの起動中に設定サイクルをトラップさせる命令をさらに格納する請求項１１に記載のプログラム。
【請求項１５】
さらに、前記プラットフォームの起動後に設定サイクルをトラップさせる請求項１１に記載のプログラム。
【請求項１６】
さらに、システムメモリマッピングされた入出力スペースを、前記管理エンジン経由で前記仮想バスデバイス用のベースアドレスレジスタを含むようプログラミングさせる請求項１１に記載のプログラム。
【請求項１７】
さらに、管理エンジンファームウェアにプロビジョニングサーバのドメインネームを提供させる請求項１１に記載のプログラム。
【請求項１８】
さらに、起動時に前記管理エンジンファームウェアに既に仮想デバイス識別子が提供されているか否かをチェックさせる請求項１７に記載のプログラム。
【請求項１９】
さらに、インターネット経由で前記プロビジョニングサーバへの接続を開始させる請求項１８に記載のプログラム。
【請求項２０】
さらに、セキュアなメカニズムを利用して、仮想デバイス識別子、ベンダ識別子、または機能識別子を提供させる請求項１９に記載のプログラム。
【請求項２１】
プロセッサと、
前記プロセッサに連結されたバスと、
前記バスに連結された管理エンジンと、
設定サイクルをトラップして前記バス上に仮想バスデバイスを作成する、前記管理エンジン内の設定バス対象と
を備える装置。
【請求項２２】
前記仮想バスデバイスは前記装置上にソフトウェアを提供する請求項２１に記載の装置。
【請求項２３】
前記設定バス対象は、起動中に設定サイクルをトラップする請求項２２に記載の装置。
【請求項２４】
前記設定バス対象は、起動後に設定サイクルをトラップする請求項２１に記載の装置。
【請求項２５】
前記プロセッサは、前記管理エンジン経由で前記仮想バスデバイス用のベースアドレスレジスタを含むメモリマッピングされた入出力スペースを含む請求項２１に記載の装置。
【請求項２６】
前記管理エンジンは、プロビジョニングサーバのドメインネームを事前に提供されたファームウェアを含む請求項２１に記載の装置。
【請求項２７】
前記管理エンジンは、起動時に前記管理エンジンのファームウェアに既に仮想デバイス識別子が提供されているか否かをチェックする請求項２６に記載の装置。
【請求項２８】
前記管理エンジンは、インターネット経由で前記プロビジョニングサーバへの接続を開始する請求項２７に記載の装置。
【請求項２９】
前記管理エンジンは、セキュアなメカニズムを利用して、仮想デバイス識別子、ベンダ識別子、または機能識別子を提供する請求項２８に記載の装置。
【外国語明細書】
2011123875000001.pdf