JP5860504B2 - サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ - Google Patents

サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ Download PDF

Info

Publication number
JP5860504B2
JP5860504B2 JP2014121401A JP2014121401A JP5860504B2 JP 5860504 B2 JP5860504 B2 JP 5860504B2 JP 2014121401 A JP2014121401 A JP 2014121401A JP 2014121401 A JP2014121401 A JP 2014121401A JP 5860504 B2 JP5860504 B2 JP 5860504B2
Authority
JP
Japan
Prior art keywords
usb drive
platform controller
controller
new version
processor
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.)
Expired - Fee Related
Application number
JP2014121401A
Other languages
English (en)
Other versions
JP2014194820A (ja
JP2014194820A5 (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2014194820A publication Critical patent/JP2014194820A/ja
Publication of JP2014194820A5 publication Critical patent/JP2014194820A5/ja
Application granted granted Critical
Publication of JP5860504B2 publication Critical patent/JP5860504B2/ja
Expired - Fee Related 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

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

Description

本開示は概して、コンピューティング環境の管理に関する。
<著作権情報>
本文献の記載内容は、著作権保護の対象となるものである。著作権保有者は、米国特許商標庁の特許ファイルまたは特許記録の内容については何人による特許開示内容の複製に反対するものではないが、それ以外については著作権に関する全ての権利を保有する。
あらゆる場所でインターネットが利用可能となると共に、サーバコンピュータシステムの利用が広まっている。サーバコンピュータシステムは大抵の場合、大規模な組織における特定の利用者に対して、または、インターネットを介した不特定のユーザに対して、ネットワーク全体に不可欠なサービスを提供する。多くのサーバは、ウェブサーバ、印刷サーバおよびデータベースサーバ等、専用機能を持つ。ビジネスによっては、事業経営のために重要な何百もの、時には何千ものサーバコンピュータシステムを「サーバファーム」または「サービスプロセッサコンプレックス」内で維持しているものがある。
企業用サーバは、短期間の障害であってもシステムの購入およびインストールよりコストが高くなるので、故障に対する耐性が非常に高いことが理想的である。例えば、国の証券取引所では、たった数分間のダウンタイムであっても、故障したシステムを全て、より信頼性の高いシステムと交換する費用を惜しまない十分な理由となる。信頼性を高めるべく、サーバの大半は、エラーを検出して訂正する機能を持つメモリ、予備ディスク、予備電源等を利用する。このようなコンポーネントもまた、頻繁にホットスワップが可能であり、管理者は、サーバの電源を落とすことなく実行中のサーバでこういったコンポーネントを交換することができる。サーバは通常、資格を持ったエンジニアによって管理されるので、サーバのオペレーティングシステムは、使い易さよりも安定性および性能を優先して構成されており、Linux(登録商標)オペレーティングシステムは、デスクトップコンピュータよりもはるかに大きい割合を占めている。サーバオペレーティングシステム、ベーシックインプット/アウトプットシステム(BIOS)ファームウェアおよびその他のシステムファームウェアに対する更新は、セキュア且つできる限り短時間に実行する必要がある。
本発明の一実施形態に係る、セキュアサーバプラットフォーム管理を可能とするプラットフォームを示すブロック図である。 本発明の一実施形態に係る、セキュアサーバプラットフォーム管理サービスを提供する際の、図1のシステムの構成要素の動作を説明するためのフローチャートである。 本発明の一実施形態に係る、セキュアサーバプラットフォーム管理サービスを提供する際の、図1のシステムの構成要素の動作を説明するためのフローチャートである。
サーバオペレーティングシステムソフトウェアおよび/またはBIOSおよび他のシステムファームウェアを更新する現在のメカニズムは、オペレーティングシステムがロードした後に、フラッシュメモリまたはハードドライブパーティションからロードしたBIOSファームウェアに、ペイロードを埋め込むことに限定されている。このような更新は通常、システムがシステム管理モード(SMM)である間に行われる。SMMは、最初にIntel386SLでリリースされ、後続のIntelアーキテクチャにおいて、最新型のマイクロプロセッサで利用可能となるコンピュータシステムの動作モードである。SMMにおいては、全ての通常の実行内容(オペレーティングシステムを含む)は一時停止され、特別な別のソフトウェア(通常は、ファームウェア、または、ハードウェアに支援されたデバッガ)を高特権モードで実行する。SMMによって、独立したメモリおよび実行環境が提供され、SMMコードは、オペレーティングシステムには見えないが、ホスト物理メモリに対して完全なアクセスを持ち、周辺機器ハードウェアを完全に制御している。
SMMは通常、システムを設定するため、メモリまたはチップセットのエラー等のシステムイベントを処理するため、CPU温度が高温に到達するとシャットダウン等のシステム安全機能を実行するため、ファンのスイッチを入れる等の電力管理処理を実行するため、そして、ハードウェアをエミュレートするために用いられる。SMMは従来、システム管理割り込みに対するサービスを提供するために開始されるモードであり、プログラム実行を再開する(管理ソフトウェアおよびアプリケーションソフトウェアを含むソフトウェアスタックに戻る)。ベーシックインプット/アウトプットシステム(BIOS)は通常、SMMの間は、システムの動作を制限しない。
BIOSファームウェアは通常、フラッシュメモリデバイスにロードされる。フラッシュメモリデバイスは、スペースが限られており、サイズはシステム毎に異なる。埋め込むことはさらに、システムソフトウェアまたはファームウェアに変化する。これは、BIOSファームウェアまたはハードドライブパーティションのペイロードシステムソフトウェアは、ペイロードのサイズを制限する必要があるためである。さらに、ペイロードは一度ロードされればサーバオペレーティングシステムによって読み出し可能なので、ウィルスに感染したサーバオペレーティングシステムにペイロードがさらされてしまうセキュリティリスクがある。可能な解決方法の1つとして、ペイロードの署名済みバージョンを供給するという方法があるが、署名の認証およびペイロードの読み出しは、SMM中に、一回のシステム管理割り込みを処理するための時間制約を守りつつ実行しなければならない。このような時間制約によってさらに、サーバシステム用のシステムソフトウェアおよび/またはファームウェアの更新を含むペイロードを分配する機能が制限されてしまう。
このような問題点を克服するべく本願で提案する解決方法は、サーバシステム用のシステムソフトウェアおよび/またはファームウェアの更新を含むペイロードをオンデマンド方式のセキュアなI/O処理で分配する。このI/O処理は、エミュレートされたUSBドライブからサーバオペレーティングシステムがアクセス不可能なセキュア通信チャネルを介して実行される。USBドライブは、プラットフォームコントローラRAMおよび/またはフラッシュメモリを用いてエミュレートされる。
BIOSファームウェアにペイロードを埋め込んでフラッシュメモリのサイズ制限に縛られる方法、または、サイズが制限されたハードドライブパーティションにペイロードを入れる方法とは異なり、ペイロードのサイズは任意のサイズとすることができる。ペイロードは、オペレーティングシステムソフトウェア、BIOS画像、診断ソフトウェア、および/または、ユニファイド・エクステンシブル・ファームウェア・インターフェース(UEFI)モジュールを含むとしてよい。ペイロードの受信者の認証が完了した後でのみI/O処理用にセキュア通信チャネルを構築することができ、感染している可能性があるサーバオペレーティングシステムによるアクセスに対してペイロードを保護することができる。さらに、ペイロードは、BIOS更新スケジュールに左右されることなくオンデマンド方式で配信することができ、ペイロードはUSBドライブに対する書込処理の速度で配信することができる。
本発明の実施形態は、セキュアにサーバプラットフォームを管理する方法、装置、システムおよびコンピュータプログラム製品であって、BIOS、他のシステムファームウェア、および、サーバコンピュータシステムのオペレーティングシステムに対する更新を提供する方法、装置、システムおよびコンピュータプログラム製品を提供するとしてよい。一実施形態に係る方法は、システム管理割り込み(SMI)を生成可能なI/Oコントローラに結合されているプラットフォームコントローラを備えるシステムにおいて、データへのセキュアアクセスを必要とするイベントに応じて、システムをシステム管理モードに移行させるべくSMIを生成する段階と、プラットフォームコントローラのリソースを利用してエミュレートされたUSBドライブを作成する段階と、エミュレートされたUSBドライブからシステムのオペレーティングシステムがアクセス不可能な接続を介してデータを複製する段階と、システム管理モードから移行する前にデータを処理する段階とを備える。尚、リソースは、データを格納する。当該方法はさらに、システム管理モード中に、データの受信者の認証を行う段階をさらに備えるとしてよい。当該方法はさらに、プラットフォームコントローラがI/Oコントローラに対してI/Oイベントをアサートする段階をさらに備えるとしてよい。当該方法はさらに、I/OコントローラがI/Oイベントを介してデータを受信する段階を備えるとしてよい。一実施形態によると、プラットフォームコントローラは、ベースボード管理コントローラである。別の実施形態によると、プラットフォームコントローラは、システムのチップセットの管理エンジンによって用意される。一実施形態によると、当該方法はさらに、企業用サーバからエミュレートされたUSBドライブへとデータをダウンロードする段階を備える。当該方法はさらに、システムがシステム管理モードから移行する前に、エミュレートされたUSBドライブをオペレーティングシステムから見えないようにする段階を備えるとしてよい。当該方法を実行するための命令を備えるシステムおよびコンピュータプログラム製品も提供される。
本明細書において本発明の「一実施形態」または「ある実施形態」という場合、当該実施形態に関連付けて説明する特定の特徴、構造または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。このため、「一実施形態において」「一実施形態によると」等の表現が明細書中で何度も見られるが、必ずしも全てが同じ実施形態を意味するわけではない。
説明の便宜上、本発明を深く理解していただくべく、具体的な構成および詳細な内容を記載する。しかし、当業者には、本発明の実施形態は本明細書に記載する具体的な構成および詳細な内容を採用せずに実施し得ることが明らかである。さらに、公知の特徴については、本発明をあいまいにすることを避けるべく、省略するか簡単に説明するにとどめる場合がある。本明細書ではさまざまな例を挙げる。これらは、本発明の具体的な実施形態を説明するためのものに過ぎない。本発明の範囲は、本明細書に記載する例に限定されるものではない。
本明細書で用いる場合、「アウトオブバンド(OOB)」という用語は、主流から独立した通信、例えば、サーバデバイスとクライアントデバイスの管理モジュールとの間の通信であって、クライアントデバイスのオペレーティングシステム(OS)とは無関係に実行される通信を説明する用語である。本明細書では、クライアントデバイスはサーバコンピュータシステムであってよい。一方、サーバデバイスは、別の企業用管理サーバシステムで実行される企業用管理モジュールであってよい。
図1は、本発明の一実施形態に係る、BIOSおよび他のシステムファームウェア、さらに、サーバオペレーティングシステムに対してセキュアシステム管理を実行するプラットフォームのブロック図である。プラットフォーム100は、サーバコンピュータシステムに対応し、デスクトップ管理インターフェース(DMI)111を介してチップセット120に接続されているプロセッサ110を備える。プロセッサ110は、プラットフォーム100に処理電力を供給し、シングルコアプロセッサまたはマルチコアプロセッサであってよく、プラットフォーム100に複数のプロセッサが設けられているとしてもよい。プロセッサ110は、1以上のシステムバス、通信経路または通信媒体(不図示)を介して、プラットフォーム100の他の構成要素に接続されるとしてよい。プロセッサ110は、ベーシックインプット/アウトプットシステム(BIOS)114をロードして実行することによって初期化されるとしてよい。BIOS114はこの後、サーバオペレーティングシステム113をロードするとしてよい。動作について、プロセッサ110は、最終的にシステム管理モード(SMM)に移行するとしてよい。SMMハンドラ115を呼び出してSMMに移行する。SMMの間は、全ての通常の実行内容(オペレーティングシステム113を含む)を一時停止して、特別な別のソフトウェア(通常は、ファームウェア、または、ハードウェアに支援されているデバッガ)を高特権モードで実行する。SMMは独立したメモリおよび実行環境を提供し、SMMコードは、サーバオペレーティングシステム113に見えないがホスト物理メモリに対する完全なアクセスを持ち、周辺機器ハードウェアを完全に制御する。
図1に戻って、プラットフォームコントローラ/BMC180は、企業用サービス170とプラットフォームハードウェアとの間のアウトオブバンドインターフェースを管理するためのロジックを提供する。例えば、プラットフォームコントローラ/BMC180は、インテリジェント・プラットフォーム・マネジメント・インターフェース(IPMI)アーキテクチャに応じたベースボード・マネジメント・コントローラ(BMC)によって提供されるとしてよい。IPMI等のアウトオブバンドインターフェースは、プロセッサ110で実行されているサーバオペレーティングシステム113とは無関係に動作し、動作可能なオペレーティングシステムが無い場合であっても、システム管理ソフトウェアを利用している管理者がプラットフォーム100を管理できるようにする。一実施形態によると、プロセッサ110は、サーバオペレーティングシステム113の指示により動作する一方、プラットフォームコントローラ/BMC180は、サーバオペレーティングシステム113によるアクセスが不可のセキュア且つ隔離された環境を提供する。プラットフォームコントローラ/BMC180は、ネットワークコントローラ160およびアウトオブバンド通信チャネル171を介して、企業用サービス170に通信可能に結合されている。アウトオブバンド通信チャネル171は、企業用サービス170が直接プラットフォーム100のハードウェアと通信できるようにする。
企業用サービス170を用いて、プラットフォームコントローラ/BMC180は、プラットフォーム100等のプラットフォームの管理および構成に関する企業全体でのポリシーとの一貫性を維持し、例えば、本発明の一実施形態に係るサーバプラットフォーム管理サービスを提供する。プラットフォーム管理サービス182は、プラットフォームコントローラ/BMC180によって実行されるファームウェアとして実現されるとしてよい。プラットフォーム管理サービス182は、BIOS114、他のシステムファームウェアおよびサーバオペレーティングシステム113を管理する。プラットフォームコントローラ/BMC180は、独自の専用メモリリソース、プラットフォームコントローラ(PC)RAM184およびPCフラッシュ186を持つ。PCフラッシュ186は、プラットフォームコントローラ/BMC180を初期化するためのBMCファームウェア188を有する。プラットフォームコントローラ/BMC180もまた、独自の集積化されたビデオコントローラ(不図示)を持つとしてよい。プラットフォーム100の他の構成要素と協働したプラットフォーム管理サービス182の動作については、図2および図3を参照しつつ後述する。
図1を再度参照すると、チップセット120は、プラットフォーム100の構成および処理を管理するべく、プロセッサ110とは無関係に動作する埋め込みマイクロプロセッサとして実現される管理エンジン(ME)130を有する。プラットフォームコントローラ/BMC180によって提供されるセキュア且つ隔離された環境に加えて、管理エンジン(ME)130もまた、サーバオペレーティングシステム113がアクセスできないセキュア且つ隔離された環境を提供するとしてよい。一実施形態によると、管理エンジン(ME)130は、ユーザを認証して、周辺機器へのアクセスを制御して、プラットフォーム100のストレージデバイスに格納されているデータの保護のための暗号鍵を管理し、ネットワークコントローラ160を介して企業用サービス170に対するインターフェースを提供する。
物理プラットフォームコントローラ/BMC180を省略した本発明に一実施形態によると、管理エンジン(ME)130が、プラットフォームコントローラ/BMC180が提供されるものとして本明細書で説明している機能を提供するとしてよい。このような実施形態によると、管理エンジン(ME)130は、自身のセキュアなRAM(図1には不図示)等、サーバプラットフォーム管理サービスを提供するべく自身の内部リソースを利用する。これらの内部リソースは、例えば、USB仮想ドライブをエミュレートするために利用するとしてよい。これについては、図2および図3を参照しつつさらに後述する。
図1を再度参照すると、ME130と企業用サービス170との間の通信は、アウトオブバンド通信チャネル171を介して行われる。一実施形態によると、アウトオブバンド通信チャネル171は、サーバシステム上の管理エンジン(ME)130と、サーバコンピュータシステムを管理する企業用サービス170との間のセキュア通信チャネルである。
図1に示す実施形態によると、管理エンジン(ME)130が、管理エンジンコントローラインターフェース(MECI)131を介してI/Oコントローラ140に結合されている。一実施形態によると、I/Oコントローラ140は、ストレージコマンドの復号および他の加速処理を実行する汎用コントローラである。図示している実施形態では、管理エンジン(ME)130は、I/Oコントローラ140の動作を制御する。I/Oコントローラ140は、USBコントローラ150の動作を制御する。I/Oコントローラ140は、相互接続181を介してプラットフォームコントローラ/BMC180に接続されているものとして図示されている。USB接続152は、物理USB配線をUSBコントローラ150からプラットフォームコントローラ/BMC180へとルーティングし、USB接続154は、物理USB配線をUSBコントローラ150から管理エンジン(ME)130へとルーティングする。USB接続152および154は、USB仮想ドライブをエミュレートするために用いられる。これについては、図2および図3を参照しつつさらに詳細に後述する。
プラットフォーム100はさらに、ダイナミックランダムアクセスメモリ(DRAM)112、チップセット120内のスタティックランダムアクセスメモリ(SRAM)122、および、フラッシュメモリ190等のメモリデバイスを備える。また、先述したように、プラットフォームコントローラ/BMC180は、自身のメモリデバイスであるPC RAM184およびPCフラッシュ186を持つ。これらのメモリデバイスには、ランダムアクセスメモリ(RAM)およびリードオンリーメモリ(ROM)が含まれるとしてよい。本開示において、「ROM」という用語は概して、不揮発性メモリデバイス、例えば、消去可能プログラム可能ROM(EPROM)、電気的消去可能プログラム可能ROM(EEPROM)、フラッシュROM、フラッシュメモリ等を意味するために用いられる用語であってよい。他のストレージデバイス(不図示)は、インテグレーテッドドライブエレクトロニクス(IDE)ハードドライブ等の大容量ストレージデバイス、および/または、フロッピー(登録商標)ディスク、光ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、バイオロジカルストレージ等の他のデバイスまたは媒体を含むとしてよい。
フラッシュメモリ190は、フラッシュインターフェース191を介してチップセット120からアクセス可能である。メモリデバイスDRAM112、SRAM122およびフラッシュメモリ190に格納されているデータは、暗号化されるとしてよい。同様に、PC RAM184およびPCフラッシュ186に格納されているデータは、暗号化されているとしてよい。
フラッシュメモリ190は、プラットフォーム100を初期化するために利用されるファームウェアを含む。この初期化ファームウェアは、システムコンポーネントハードウェア(ビデオディスプレイカードおよびハードディスク等)および管理エンジン(ME)130を含む幾つかの他のハードウェアデバイスを特定して初期化するベーシックインプット/アウトプットシステム(BIOS)ファームウェア192を含む。BIOSファームウェア192は、公知の低機能状態で動作できるようにプラットフォーム100のシステムコンポーネントハードウェアを用意するので、さまざまな媒体に格納されている他のソフトウェアプログラム、例えば、オペレーティングシステムを、ロードすることができ、実行でき、プラットフォーム100の制御が与えられる。BIOSファームウェア192は、ブートプロセス時に管理エンジン(ME)130の初期設定を可能とするBIOS/ME通信モジュール(不図示)を含むとしてよい。一実施形態によると、管理エンジン(ME)130は、BIOS/ME通信モジュールに対して登録され、オペレーティングシステムがプラットフォーム100についてロードされる直前に、通知を受信する。この通知によって、管理エンジン(ME)130は、ロードされているオペレーティングシステムを準備するべく所定の命令を実行することができるようになる。
フラッシュメモリ190はさらに、ネットワークコントローラ160を設定するネットワークコントローラファームウェア195と、チップセット120を設定するチップセットファームウェア196とを有する。フラッシュメモリ190はさらに、データ領域198を含む。一実施形態によると、データ領域198は、暗号化されており、管理エンジン(ME)130によってのみ読み出されるとしてよい。ME130がサービスを提供するために利用する情報は、フラッシュメモリ190のデータ領域198に格納されるとしてよい。
プロセッサ110はさらに、他の構成要素、例えば、ビデオコントローラ、小型計算機システムインターフェース(SCSI)コントローラ、ネットワークコントローラ、ユニバーサルシリアルバス(USB)コントローラ、キーボードおよびマウス等の入力デバイスに通信可能に結合されているとしてよい。プラットフォーム100はさらに、さまざまなシステム構成要素を通信可能に結合するべく、1以上のブリッジまたはハブ、例えば、メモリコントローラハブ、別の入出力(I/O)コントローラハブ、PCIルートブリッジ等を備えるとしてよい。本明細書で用いる場合、「バス」という用語は、ポイント・ツー・ポイント経路と同様に、共有通信経路を意味するために利用される用語であるとしてよい。
一部の構成要素、例えば、ネットワークコントローラ160は、例えば、バスと通信するためのインターフェース(例えば、PCIコネクタ)を持つアダプタカードとして実現されるとしてよい。一実施形態によると、1以上のデバイスは、プログラム可能型またはプログラム不可能型のロジックデバイスまたはロジックアレイ、特定用途向け集積回路(ASIC)、埋め込みコンピュータ、スマートカード等の構成要素を用いて、埋め込みコントローラとして実現するとしてよい。
「処理システム」および「データ処理システム」という用語は、本明細書で用いる場合、一の機械、または、共に動作する複数の機械またはデバイスが通信可能に結合されている一のシステムを広く含めるものとする。処理システムの例を挙げると、これらに限定されるものではないが、分散型コンピューティングシステム、スーパーコンピュータ、高性能コンピューティングシステム、コンピューティングクラスタ、メインフレームコンピュータ、ミニコンピュータ、クライアント−サーバシステム、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット、電話、携帯情報端末(PDA)、手持ちデバイス、オーディオデバイスおよび/またはビデオデバイス等の娯楽デバイス、ならびに、情報を処理または送信するためのその他のデバイスがある。
プラットフォーム100は、少なくとも部分的に、従来の入力デバイス、例えば、キーボード、マウス等からの入力によって、および/または、別の機械、バイオメトリクスフィードバック、または、その他の入力ソースあるいは入力信号から受信したコマンドによって、制御されるとしてよい。プラットフォーム100は、1以上のリモートデータ処理システムへの1以上の接続、例えば、ネットワークインターフェースコントローラ(NIC)160、モデムまたは他の通信ポートまたは結合を利用するとしてよい。
プラットフォーム100は、物理ネットワークおよび/または論理ネットワーク、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、イントラネット、インターネット等を用いて他の処理システム(不図示)に相互接続されるとしてよい。ネットワークを利用する通信は、さまざまな有線方式および/または無線方式の、短距離用または長距離用のキャリアおよびプロトコルを利用するとしてよい。例えば、無線周波数(RF)、衛星、マイクロ波、米国電気電子学会(IEEE)802.11、Bluetooth(登録商標)、光学、赤外線、ケーブル、レーザ等を利用するとしてよい。
図2を参照すると、本発明の一実施形態に係る、セキュアサーバプラットフォーム管理サービスを提供するための、図1のシステムの構成要素の動作を説明するフローチャートである。このプロセスは、BIOS214がセキュアプラットフォーム管理サービスを必要とするイベントを処理することから開始される。例えば、プラットフォームコントローラ/BMC280が管理するプログラムまたはデータへのアクセスを必要とするI/O処理を受信することから開始される。例えば、プラットフォームコントローラ/BMC280は、PC RAM284および/またPCフラッシュ286の未使用部分等のセキュアメモリにBIOSファームウェアを複製することによって、BIOSファームウェアの新バージョンを利用できるようにするとしてよい。プラットフォームコントローラ/BMC280はその後、BIOS214に新しいBIOSファームウェアを読み出させるI/O処理をトリガするとしてよい。
プラットフォームコントローラ/BMC280のサービスを受信するため、そして、オペレーティングシステム213がプラットフォームコントローラ/BMC280との通信へのアクセス権を持たないようにするため、BIOS214は、プロセッサ210を、システム管理モード(SMM)に移行させる。BIOS214は、プラットフォームコントローラ/BMC280に対して、プロセッサ210がSMMに移行したことを証明する。BIOS214とプラットフォームコントローラ/BMC280との間の通信は、BIOS214の信用情報の認証時にのみ発生する。これらの信用情報は、システム初期化時およびオペレーティングシステム213のロード前に行われる情報のやり取りによって構築されるとしてよい。これらの信用情報は、プラットフォームコントローラ/BMC280からBIOS214へと供給されるランダムに生成された識別子であるとしてよく、一回のブートセッションにのみ利用するとしてよい。他の形式のユーザネームおよびパスワードを利用して、BIOS214を認証し、プロセッサ210がSMMに移行したことを示すとしてもよい。
セキュアプラットフォーム管理サービスが必要とされていることを特定することに応じて、動作2.1において、BIOS214は、システム管理モード(SMM)への移行要求、および、認証のためのユーザネームおよびパスワードでSMMハンドラ215を呼び出す。一実施形態によると、SMM移行要求は、インテリジェント・プラットフォーム・マネジメント・インターフェース(IPMI)SMMインターフェースに応じて発行される。動作2.2において、SMMハンドラ215は、プラットフォームコントローラ/BMC280を呼び出して、ユーザネームおよびパスワードを渡す。プラットフォームコントローラ/BMC280は、ユーザネームおよびパスワードを受信すると、呼び出し側を認証する。この認証は、IPMI認証インターフェースに応じて実行するとしてよい。呼び出し側の認証が完了すると、動作2.3において、プラットフォームコントローラ/BMC280は、PC RAM284およびPCフラッシュ286のリソースを用いて、USB仮想ドライブ202のエミュレーションを開始する。動作2.4において、プラットフォームコントローラ/BMC280は、ステータス情報をSMMハンドラ215に対して供給し、動作2.5において、SMMハンドラ215は、デバイスステータス情報をBIOS214に渡す。デバイスステータス情報に応じて、BIOS214は、プラットフォームコントローラ/BMC280につながっている物理USBポートに対応付けられているサブシステムにおいてUSBデバイスの発見処理を開始する。動作2.6において、BIOS214は、SMMハンドラ215を介したUSB仮想ドライブ202へのアクセスを要求する。BIOS214がUSB仮想ドライブ202との間で通信を設定すると、動作2.7において、BIOS214は、SMMハンドラ215を介して、USB3.0の速度(4ギガビット/秒または実質的には3.2ギガビット/秒の転送)で通常のUSBコマンドを用いて、TSEG(または、RAMの他の保護されたセキュアな部分、例えば、図1のDRAM112)へとデータを転送するための通信を行う。BIOS214がメモリへのデータ転送を完了すると、BIOS214は、確認応答をプラットフォームコントローラ/BMC280に送る。プラットフォームコントローラ/BMS280は、確認応答に応じて、オペレーティングシステム213およびSMMハンドラ215を含むホストからデバイスが見えなくする。BIOS214はこの後、SMMからホストドメインへと戻る。プロセッサ210がSMMである間に全てのデータ処理が実行されるので、サーバオペレーティングシステム113は、USB仮想デバイス202を認識せず、行われた通信も認識しない。
別の実施形態によると、I/O処理は、図1の企業用サービス170から命令を受信すると、プラットフォームコントローラ/BMC180によって開始されるとしてよい。この場合、プラットフォームコントローラ/BMC280は、システムをSMMに移行させ、エミュレートされたUSBドライブにデータを書き込み、供給されたデータを読むようにBIOS214に通知する。
図3を参照すると、本発明の一実施形態に係る、セキュアプラットフォーム管理サービスを供給するための、図1のシステムの構成要素の動作を説明するためのフローチャートが図示されている。図3に示す処理は、図2のシステム構成要素によって実行されるものとして説明されている。当該プロセスは、BIOS214がセキュアプラットフォーム管理サービスを要求するイベントを処理することから開始される。例えば、プラットフォームコントローラ/BMC280が管理するプログラムまたはデータへのアクセスを必要とするI/O処理を受信することから開始される。「BIOSがセキュアデータへのアクセスを要求」ステップ302では、BIOS214は、セキュアプラットフォーム管理サービスへのアクセスが必要であるという判断を下す。「BIOSはSMMに移行」ステップ303に進み、BIOS214がシステム管理割り込み(SMI)を発行して、プロセッサ210をシステム管理モード(SMM)に移行させる。
「BIOSがSMMハンドラを介してBMCに要求を送る」ステップ304に進み、BIOS214はセキュアデータにアクセスするための要求を送信する。「BIOSはSMMハンドラを介してBMCに認証を送る」ステップ306に進み、BIOS214が、ユーザネームおよびパスワード等の認証情報をSMMハンドラ215に送る。SMMハンドラ215は、認証情報をプラットフォームコントローラ/BMC280に渡す。一実施形態によると、認証要求は、IPMI認証インターフェースに応じて提供される。この後、「BMCが認証を確認」ステップ308に進み、プラットフォームコントローラ/BMC280が受信者を認証する。この認証処理を行う際、プラットフォームコントローラ/BMC280は、プラットフォーム100がシステム管理モード(SMM)で動作していること、および、プラットフォームコントローラ/BMC280に接続されている汎用I/Oコントローラ(I/Oコントローラ240等)で要求が発行されていることを確認する。
「BMCは認証を確認」ステップ308から、「BMCはUSBドライブのエミュレーションを開始」ステップ310へと進み、プラットフォームコントローラ/BMC280は、USB仮想ドライブのエミュレーションを開始する。USBドライブをエミュレートする際、プラットフォームコントローラ/BMC280は、自身のリソースであるPC RAM284およびPCフラッシュ286内の空き空間を利用して、USB仮想ドライブ用のメモリを提供する。
この後、「BMCはBIOSに対してI/Oイベントをアサート」ステップ312に進み、プラットフォームコントローラ/BMC280は、SMMハンドラ215を介して、BIOS214に対してI/Oイベントをアサートする。この後、「BIOSはセキュアUSBドライブをエニュメレート」ステップ314に進む。BIOS214はさらに、見えるデバイスをエニュメレートして、この中に、この時点において、USB仮想ドライブ202が含まれる。
この後、「BIOSはデータをセキュアメモリとの間で転送」ステップ316に進み、BIOS214はこの後、エミュレートされたUSB仮想ドライブ202を利用してI/O処理を実行する。USB仮想ドライブからのI/O処理が完了すると、「BIOSがBMCを認識」ステップ318に進み、BIOS214がプラットフォームコントローラ/BMC280に対するI/Oイベントを認識して、BIOS214がI/Oイベントを完了したことを示す。プラットフォームコントローラ/BMC280が、BIOS214から、認識した旨の確認応答を受信すると、プラットフォームコントローラ/BMC280は、「BMCはUSBリダイレクトドライブのエミュレーションを中止」ステップ320において、USBリダイレクトドライブのエミュレーションを中止する。この後、「BIOSはデータを処理(消費)して、SMMから移行」ステップ322に進み、BIOS214は、I/O処理によるデータを処理および/または消費する。例えば、I/O処理がBIOSファームウェアへの更新を配信すると、BIOS214は図1のフラッシュメモリ190においてBIOSファームウェア192を上書きするとしてよい。これに代えて、BIOS214は、他のメモリにデータを書き込み、後に別のシステム管理割り込み(SMI)の際にデータを処理するとしてもよい。データの消費が完了すると、プロセッサ210はSMMから移行する。
USB3.0の高速帯域幅を持ってすれば、オペレーティングシステムのシステム管理割り込み(SMI)のタイムアウト制限を守りつつも、大きなペイロードを配信することができる。プラットフォームコントローラ/BMC280は、サイズ制限またはBIOS更新スケジュールに関係なく、オペレーティングシステムの更新、BIOSファームウェアの更新、診断ソフトウェアおよび他のシステムファームウェアの更新を実行することができる。アウトオブバンド方式でBIOS更新および/またはBIOS修復を実行することができる。
データの格納にプラットフォームコントローラ/BMC280のPC RAM284等のリソースを利用する別の利点として、サーバコンピュータシステムでは稀なことに、電力が中断されるまで当該データがPC RAM284に保持されることが挙げられる。
本明細書で開示しているメカニズムの実施形態は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの実施方法を組み合わせて実現するとしてもよい。本発明の実施形態は、プログラム可能なシステムで実行されるコンピュータプログラムとして実現されるとしてよい。当該システムは、少なくとも1つのプロセッサと、データ格納システム(揮発性メモリおよび不揮発性メモリおよび/または格納素子を含む)、少なくとも1つの入力デバイス、および、少なくとも1つの出力デバイスを備える。
プログラムコードを入力データに適用して、本明細書に記載されている機能を実現して出力情報を生成するとしてよい。本発明の実施形態はさらに、本発明に係る処理を実行するための命令を含む機械アクセス可能媒体、または、本明細書で説明している構造、回路、装置、プロセッサおよび/またはシステムフィーチャを定義しているHDL等の設計データを含む機械アクセス可能媒体を含む。このような実施形態は、プログラム製品とも呼ばれるとしてよい。
このような機械アクセス可能格納媒体は、これらに限定されないが、機械またはデバイスによって製造または形成される粒子の有形の配列、例えば、ハードディスク等の格納媒体、フロッピー(登録商標)ディスク、光ディスク、コンパクトディスクリードオンリーメモリ(CD−ROM)、コンパクトディスクリライタブル(CD−RW)、および、光磁気ディスクを含む任意のその他の種類のディスク、リードオンリーメモリ(ROM)等の半導体デバイス、ダイナミックランダムアクセスメモリ(DRAM)等のランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、消去可能プログラム可能リードオンリーメモリ(EPROM)、フラッシュプログラム可能メモリ(FLASH)、電気的消去可能プログラム可能リードオンリーメモリ(EEPROM)、磁気カードまたは光カード、または、電子命令の格納に適した任意のその他の種類の媒体を含むとしてよい。
出力情報は、公知の方法で、1以上の出力デバイスに適用されるとしてよい。本願において、処理システムは、例えば、デジタルシグナルプロセッサ(DSP)、マイクロコントローラ、特定用途向け集積回路(ASIC)またはマイクロプロセッサ等のプロセッサを有する任意のシステムを含む。
プログラムは、処理システムと通信できるように、高級プロシージャプログラミング言語またはオブジェクト指向型プログラミング言語で実装されるとしてよい。プログラムはさらに、所望される場合には、アセンブリ言語または機械言語で実装するとしてもよい。実際、本明細書で説明されるメカニズムの範囲は、任意の特定のプログラミング言語に限定されるものではない。いずれの場合であっても、言語はコンパイル型言語またはインタプリタ型言語であってよい。
本明細書で示すのは、サーバプラットフォームを管理するための方法およびシステムの実施形態である。本発明の具体的な実施形態を図示および説明してきたが、当業者には、添付された請求項の範囲から逸脱することなく、数多くの点で変更、変形が可能であることが明らかである。したがって、当業者であれば、本発明の広義の側面から逸脱することなく、変更および変形し得ることを認めるであろう。請求項の範囲には、本発明の真の範囲および意図に含まれるこのような変更、変形をすべて含むものとする。
なお、本願明細書に記載の実施形態によれば、以下の構成もまた開示される。
[項目1]
コンピュータで実施される方法であって、
システム管理割り込み(SMI)を生成可能なI/Oコントローラに結合されているプラットフォームコントローラを備えるシステムにおいて、
データへのセキュアアクセスを要求するイベントに応じて、SMIを生成して、前記システムをシステム管理モードに移行させる段階と、
前記プラットフォームコントローラのリソースを用いて、エミュレートされたUSBドライブを作成する段階と
前記システムのオペレーティングシステムがアクセス不可能な接続を介して、前記データを前記エミュレートされたUSBドライブから複製する段階と
前記システム管理モードから移行する前に、前記データを処理する段階と
を実行し、
前記リソースは前記データを格納している方法。
[項目2]
前記システム管理モードの間に、前記データの受信者の認証を行う段階をさらに実行する項目1に記載の方法。
[項目3]
前記プラットフォームコントローラは、ベースボード管理コントローラである項目1または2に記載の方法。
[項目4]
前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される項目1から3のいずれか一項に記載の方法。
[項目5]
前記データを企業用サーバから前記エミュレートされたUSBドライブにダウンロードする段階をさらに実行する項目1から4のいずれか一項に記載の方法。
[項目6]
前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする段階をさらに実行する項目1から5のいずれか一項に記載の方法。
[項目7]
前記プラットフォームコントローラの前記リソースを用いて前記エミュレートされたUSBドライブを作成する段階は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される項目1から6のいずれか一項に記載の方法。
[項目8]
プロセッサと、
プラットフォームコントローラと、
システム管理割り込み(SMI)を生成可能なI/Oコントローラと、
前記プロセッサに結合されており、命令を有するメモリと
を備えるシステムであって、
前記命令は、
データへのセキュアアクセスを要求するイベントに応じて、SMIを生成して、前記システムをシステム管理モードに移行させる段階と、
前記プラットフォームコントローラのリソースを用いて、エミュレートされたUSBドライブを作成する段階と、
前記システムのオペレーティングシステムがアクセス不可能な接続を介して、前記データを前記エミュレートされたUSBドライブから複製する段階と、
前記システム管理モードから移行する前に、前記データを処理する段階と
を実行するための命令であり、
前記リソースは前記データを格納しているシステム。
[項目9]
前記命令はさらに、前記システム管理モードの間に、前記データの受信者の認証を行う段階を実行するための命令を含む項目8に記載のシステム。
[項目10]
前記プラットフォームコントローラは、ベースボード管理コントローラである項目8または9に記載のシステム。
[項目11]
前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される項目8から10のいずれか一項に記載のシステム。
[項目12]
前記命令はさらに、企業用サーバからの前記データを前記エミュレートされたUSBド
ライブにダウンロードする段階を実行するための命令を含む項目8から11のいずれか一項に記載のシステム。
[項目13]
前記命令はさらに、前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする段階を実行するための命令を含む項目8から12のいずれか一項に記載のシステム。
[項目14]
前記プラットフォームコントローラの前記リソースを用いて前記エミュレートされたUSBドライブを作成する段階は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される項目8から13のいずれか一項に記載のシステム。
[項目15]
システム管理割り込み(SMI)を生成可能なI/Oコントローラに結合されているプラットフォームコントローラを備えるコンピュータに、
データへのセキュアアクセスを要求するイベントに応じて、SMIを生成して、前記システムをシステム管理モードに移行させる手順と、
前記プラットフォームコントローラのリソースを用いて、エミュレートされたUSBドライブを作成する手順と、
前記システムのオペレーティングシステムがアクセス不可能な接続を介して、前記データを前記エミュレートされたUSBドライブから複製する手順と、
前記システム管理モードから移行する前に、前記データを処理する手順と
を実行させるためのプログラムであって、
前記リソースは前記データを格納しているプログラム。
[項目16]
前記コンピュータにさらに、前記システム管理モードの間に、前記データの受信者の認証を行う手順を実行させるための項目15に記載のプログラム。
[項目17]
前記プラットフォームコントローラは、ベースボード管理コントローラである項目15または16に記載のプログラム。
[項目18]
前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される項目15から17のいずれか一項に記載のプログラム。
[項目19]
前記コンピュータにさらに、前記データを企業用サーバから前記エミュレートされたUSBドライブにダウンロードする手順を実行させるための項目15から18のいずれか一項に記載のプログラム。
[項目20]
前記コンピュータにさらに、前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする手順を実行させるための項目15から19のいずれか一項に記載のプログラム。
[項目21]
前記プラットフォームコントローラの前記リソースを用いて前記エミュレートされたUSBドライブを作成する手順は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される項目15から20のいずれか一項に記載のプログラム。

Claims (21)

  1. システム管理割り込み(SMI)を生成可能なI/Oコントローラに結合されているプラットフォームコントローラおよびプロセッサを備えるコンピュータに、
    システムファームウェアの新しいバージョンが利用可能であることを通知するイベントに応じて、前記プロセッサが、SMIを生成して、前記コンピュータをシステム管理モードに移行させる手順と、
    前記プラットフォームコントローラが、前記プラットフォームコントローラのメモリリソースをエミュレートされたUSBドライブのメモリとして用いて、前記エミュレートされたUSBドライブを作成する手順と、
    前記プロセッサが、前記コンピュータのオペレーティングシステムがアクセス不可能な接続を介して、前記システムファームウェアの前記新しいバージョンを前記エミュレートされたUSBドライブを用いた前記メモリリソースから複製する手順と、
    前記システム管理モードから移行する前に、前記プロセッサが、既存のシステムファームウェアを前記システムファームウェアの前記新しいバージョンで上書きする手順と
    を実行させるためのプログラムであって、
    前記メモリリソースは前記システムファームウェアの前記新しいバージョンを格納しているプログラム。
  2. 前記コンピュータにさらに、前記コンピュータが前記システム管理モードである間に、前記システムファームウェアの前記新しいバージョンの受信者としての前記プロセッサの認証を行う手順を実行させるための請求項1に記載のプログラム。
  3. 前記プラットフォームコントローラは、ベースボード管理コントローラである請求項1または2に記載のプログラム。
  4. 前記プラットフォームコントローラは、前記コンピュータのチップセットの管理エンジンによって供給される請求項1または2に記載のプログラム。
  5. 前記コンピュータにさらに、前記システムファームウェアの前記新しいバージョンを企業用サーバから前記エミュレートされたUSBドライブにダウンロードする手順を実行させるための請求項1から4のいずれか一項に記載のプログラム。
  6. 前記コンピュータにさらに、前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする手順を実行させるための請求項1から5のいずれか一項に記載のプログラム。
  7. 前記エミュレートされたUSBドライブの前記メモリとして前記プラットフォームコントローラの前記メモリリソースを用いて前記エミュレートされたUSBドライブを作成する手順は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される請求項1から6のいずれか一項に記載のプログラム。
  8. コンピュータで実施される方法であって、
    システム管理割り込み(SMI)を生成可能なI/Oコントローラに結合されているプラットフォームコントローラおよびプロセッサを備えるシステムにおいて、
    システムファームウェアの新しいバージョンが利用可能であることを通知するイベントに応じて、前記プロセッサが、SMIを生成して、前記システムをシステム管理モードに移行させる段階と、
    前記プラットフォームコントローラが、エミュレートされたUSBドライブのメモリとして前記プラットフォームコントローラのメモリリソースを用いて、前記エミュレートされたUSBドライブを作成する段階と、
    前記プロセッサが、前記コンピュータのオペレーティングシステムがアクセス不可能な接続を介して、前記システムファームウェアの前記新しいバージョンを前記エミュレートされたUSBドライブを用いた前記メモリリソースから複製する段階と
    前記システム管理モードから移行する前に、前記プロセッサが、既存のシステムファームウェアを前記システムファームウェアの前記新しいバージョンで上書きする段階と
    を実行し、
    前記メモリリソースは前記システムファームウェアの前記新しいバージョンを格納している方法。
  9. 前記コンピュータが前記システム管理モードである間に、前記システムファームウェアの前記新しいバージョンの受信者としての前記プロセッサの認証を行う段階をさらに実行する請求項8に記載の方法。
  10. 前記プラットフォームコントローラは、ベースボード管理コントローラである請求項8または9に記載の方法。
  11. 前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される請求項8または9に記載の方法。
  12. 前記システムファームウェアの前記新しいバージョンを企業用サーバから前記エミュレートされたUSBドライブにダウンロードする段階をさらに実行する請求項8から11のいずれか一項に記載の方法。
  13. 前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする段階をさらに実行する請求項8から12のいずれか一項に記載の方法。
  14. 前記エミュレートされたUSBドライブの前記メモリとして前記プラットフォームコントローラの前記メモリリソースを用いて前記エミュレートされたUSBドライブを作成する段階は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される請求項8から13のいずれか一項に記載の方法。
  15. プロセッサと、
    プラットフォームコントローラと、
    システム管理割り込み(SMI)を生成可能なI/Oコントローラと、
    前記プロセッサに結合されており、命令を有するメモリと
    を備えるシステムであって、
    前記命令は、
    システムファームウェアの新しいバージョンが利用可能であることを通知するイベントに応じて、前記プロセッサが、SMIを生成して、前記システムをシステム管理モードに移行させる段階と、
    前記プラットフォームコントローラが、エミュレートされたUSBドライブのメモリとして前記プラットフォームコントローラのメモリリソースを用いて、前記エミュレートされたUSBドライブを作成する段階と、
    前記プロセッサが、前記システムのオペレーティングシステムがアクセス不可能な接続を介して、前記システムファームウェアの前記新しいバージョンを前記エミュレートされたUSBドライブを用いた前記メモリリソースから複製する段階と、
    前記システム管理モードから移行する前に、前記プロセッサが、既存のシステムファームウェアを前記システムファームウェアの前記新しいバージョンで上書きする段階と
    を実行するための命令であり、
    前記メモリリソースは前記システムファームウェアの前記新しいバージョンを格納しているシステム。
  16. 前記命令はさらに、前記システムが前記システム管理モードにある間に、前記システムファームウェアの前記新しいバージョンの受信者としての前記プロセッサの認証を行う段階を実行するための命令を含む請求項15に記載のシステム。
  17. 前記プラットフォームコントローラは、ベースボード管理コントローラである請求項15または16に記載のシステム。
  18. 前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される請求項15または16に記載のシステム。
  19. 前記命令はさらに、企業用サーバからの前記システムファームウェアの前記新しいバージョンを前記エミュレートされたUSBドライブにダウンロードする段階を実行するための命令を含む請求項15から18のいずれか一項に記載のシステム。
  20. 前記命令はさらに、前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする段階を実行するための命令を含む請求項15から19のいずれか一項に記載のシステム。
  21. 前記ミュレートされたUSBドライブの前記メモリとして前記プラットフォームコントローラの前記メモリリソースを用いて前記エミュレートされたUSBドライブを作成する段階は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される請求項15から20のいずれか一項に記載のシステム。
JP2014121401A 2010-09-30 2014-06-12 サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ Expired - Fee Related JP5860504B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/894,876 US8428929B2 (en) 2010-09-30 2010-09-30 Demand based USB proxy for data stores in service processor complex
US12/894,876 2010-09-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013528406A Division JP5715256B2 (ja) 2010-09-30 2011-09-30 サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ

Publications (3)

Publication Number Publication Date
JP2014194820A JP2014194820A (ja) 2014-10-09
JP2014194820A5 JP2014194820A5 (ja) 2014-11-20
JP5860504B2 true JP5860504B2 (ja) 2016-02-16

Family

ID=45890843

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013528406A Expired - Fee Related JP5715256B2 (ja) 2010-09-30 2011-09-30 サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ
JP2014121401A Expired - Fee Related JP5860504B2 (ja) 2010-09-30 2014-06-12 サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013528406A Expired - Fee Related JP5715256B2 (ja) 2010-09-30 2011-09-30 サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ

Country Status (8)

Country Link
US (2) US8428929B2 (ja)
EP (1) EP2622533B1 (ja)
JP (2) JP5715256B2 (ja)
KR (1) KR101453266B1 (ja)
CN (1) CN103119560B (ja)
SG (1) SG188991A1 (ja)
TW (1) TWI530872B (ja)
WO (1) WO2012045038A1 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8428929B2 (en) 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex
CN103154927A (zh) * 2010-10-16 2013-06-12 惠普发展公司,有限责任合伙企业 设备硬件代理
CN102479166A (zh) * 2010-11-26 2012-05-30 鸿富锦精密工业(深圳)有限公司 共享串口的系统及方法
US9372699B2 (en) * 2011-04-08 2016-06-21 Insyde Software Corp. System and method for processing requests to alter system security databases and firmware stores in a unified extensible firmware interface-compliant computing device
US9021244B2 (en) * 2011-11-04 2015-04-28 Insyde Software Corp. Secure boot administration in a Unified Extensible Firmware Interface (UEFI)-compliant computing device
US8904507B2 (en) * 2011-11-29 2014-12-02 American Megatrends, Inc. System and method for controlling user access to a service processor
US20130297718A1 (en) * 2012-05-07 2013-11-07 Samsung Electronics Co., Ltd. Server device, client device, data sharing system and method for sharing data between client device and server device thereof
US8972969B2 (en) * 2012-06-08 2015-03-03 Adobe Systems Incorporated Out of band services updates
US20140123100A1 (en) * 2012-10-29 2014-05-01 Jump Soft A.S. System and method for implementing information systems
US9043776B2 (en) * 2012-10-31 2015-05-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Transferring files to a baseboard management controller (‘BMC’) in a computing system
TWI478538B (zh) * 2012-11-28 2015-03-21 Inventec Corp 伺服器系統
US9047263B2 (en) 2013-01-24 2015-06-02 Dell Products L.P. System and method for secure SMI memory services
WO2014150478A1 (en) * 2013-03-15 2014-09-25 Insyde Software Corp. System and method for managing and diagnosing a computing device equipped with unified extensible firmware interface (uefi)-compliant firmware
WO2014143040A1 (en) * 2013-03-15 2014-09-18 American Megatrends, Inc System and method of web-based virtual media redirection
US9304783B2 (en) * 2013-05-09 2016-04-05 American Megatrends, Inc. Digital signage management and content delivery system and method thereof
US9235710B2 (en) 2013-05-23 2016-01-12 Cisco Technology, Inc. Out of band management of basic input/output system secure boot variables
CN104424405B (zh) * 2013-09-09 2017-12-29 联想(北京)有限公司 一种信息处理方法和装置
CN104516800B (zh) 2013-09-27 2018-12-21 联想企业方案(新加坡)有限公司 服务器主板诊断的方法、系统和相关电路系统
US8910283B1 (en) 2013-11-21 2014-12-09 Kaspersky Lab Zao Firmware-level security agent supporting operating system-level security in computer system
JP2015114841A (ja) * 2013-12-11 2015-06-22 富士通株式会社 情報処理装置、制御プログラム、及びデータ移動方法
US9311504B2 (en) 2014-06-23 2016-04-12 Ivo Welch Anti-identity-theft method and hardware database device
US10360051B2 (en) * 2014-12-22 2019-07-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
US9910664B2 (en) * 2015-05-04 2018-03-06 American Megatrends, Inc. System and method of online firmware update for baseboard management controller (BMC) devices
US10097534B2 (en) * 2015-08-28 2018-10-09 Dell Products L.P. System and method to redirect hardware secure USB storage devices in high latency VDI environments
US10749858B2 (en) 2015-09-04 2020-08-18 Hewlett Packard Enterprise Development Lp Secure login information
CN105160258B (zh) * 2015-09-21 2018-10-02 苏州中太服务器有限公司 一种防止用户非法修改os的方法
CN105808468B (zh) * 2016-03-21 2021-09-14 联想(北京)有限公司 一种控制方法、视频控制器及控制系统
US10120740B2 (en) * 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10331434B2 (en) * 2016-12-21 2019-06-25 Quanta Computer Inc. System and method for remotely updating firmware
US10824437B1 (en) * 2017-04-27 2020-11-03 American Megatrends International, Llc Platform management for computing systems without baseboard management controllers
CN107025094A (zh) * 2017-05-16 2017-08-08 郑州云海信息技术有限公司 一种数据读写管理方法及系统
EP3454216B1 (en) * 2017-09-08 2020-11-18 Nxp B.V. Method for protecting unauthorized data access from a memory
KR102320313B1 (ko) * 2017-11-16 2021-11-02 한국전자기술연구원 서버 메인보드 제어를 위한 통합 bsp 활용 방법
US11120136B1 (en) * 2018-06-06 2021-09-14 Amazon Technologies, Inc. Managing system firmware
US10452386B1 (en) 2018-07-19 2019-10-22 American Megatrends International, Llc Non-destructive update of discrete components of firmware
US11137995B2 (en) * 2019-02-13 2021-10-05 International Business Machines Corporation Updating firmware of a microcontroller
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
US11023220B2 (en) * 2019-09-26 2021-06-01 Dell Products L.P. Firmware update with integrated smart sequence and action engine
US11137994B2 (en) 2019-11-08 2021-10-05 Microsoft Technology Licensing, Llc Baseboard management controller firmware update
CN113810209B (zh) * 2020-06-12 2024-03-22 戴尔产品有限公司 通过带外信道进行的服务器初始配置
US11354259B1 (en) 2020-12-08 2022-06-07 Hewlett Packard Enterprise Development Lp Computer system configurations based on accessing data elements presented by baseboard management controllers
US11416233B1 (en) * 2021-04-21 2022-08-16 Dell Products, L.P. Software upgrade system and method for a baseboard management controller configured in an information handling system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773046A (ja) * 1992-12-07 1995-03-17 Intel Corp コンピュータシステムで回路をエミュレートする 方法及び装置
US6715074B1 (en) * 1999-07-27 2004-03-30 Hewlett-Packard Development Company, L.P. Virus resistant and hardware independent method of flashing system bios
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
DE10027084C2 (de) 2000-05-31 2002-07-18 Honda Motor Co Ltd Leitschaufel und Leitschaufelkaskade für einen Axialverdichter
JP3561211B2 (ja) * 2000-06-27 2004-09-02 株式会社東芝 情報処理装置および不揮発性記憶装置の書き換え制御方法
TW515959B (en) * 2001-05-10 2003-01-01 Via Tech Inc Method for memory data access by system management interrupt and computer system thereof
US6848046B2 (en) * 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
JP3702233B2 (ja) * 2002-02-21 2005-10-05 株式会社東芝 情報処理システムおよびプログラム実行モード制御方法
US7305668B2 (en) * 2002-07-31 2007-12-04 Intel Corporation Secure method to perform computer system firmware updates
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US7400648B2 (en) * 2004-05-28 2008-07-15 International Business Machines Corporation Virtual USB communications port
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US7752428B2 (en) 2005-03-31 2010-07-06 Intel Corporation System and method for trusted early boot flow
US7555676B2 (en) 2005-07-18 2009-06-30 Dell Products L.P. Systems and methods for providing remotely accessible in-system emulation and/or debugging
US7546487B2 (en) 2005-09-15 2009-06-09 Intel Corporation OS and firmware coordinated error handling using transparent firmware intercept and firmware services
US7712145B2 (en) * 2006-03-30 2010-05-04 Intel Corporation Chipset configuration authentication via manageability engine
JP2007280261A (ja) * 2006-04-11 2007-10-25 Silex Technology Inc ネットワーク上の機器を共有可能とする可搬型仮想記憶装置
US7660937B2 (en) * 2006-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Emulating a USB host controller
EP1933257B1 (en) * 2006-12-12 2013-02-27 Agfa Graphics N.V. Method to reduce unprinted substrate waste during digital printing
US20080250165A1 (en) * 2007-04-03 2008-10-09 Eddy Reynolds USB port access management
JP2008287505A (ja) * 2007-05-17 2008-11-27 Toshiba Corp 情報処理装置およびレガシーエミュレーション処理停止制御方法
JP2011197702A (ja) * 2008-07-14 2011-10-06 Victor Co Of Japan Ltd データ書き込み方法、及びデータ書き込み装置
US9086913B2 (en) 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US8850601B2 (en) * 2009-05-18 2014-09-30 Hewlett-Packard Development Company, L.P. Systems and methods of determining a trust level from system management mode
US8566613B2 (en) * 2010-06-11 2013-10-22 Intel Corporation Multi-owner deployment of firmware images
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex

Also Published As

Publication number Publication date
US8428929B2 (en) 2013-04-23
US20130218551A1 (en) 2013-08-22
KR20130058058A (ko) 2013-06-03
EP2622533A1 (en) 2013-08-07
JP2013537335A (ja) 2013-09-30
WO2012045038A1 (en) 2012-04-05
EP2622533B1 (en) 2015-11-18
JP5715256B2 (ja) 2015-05-07
TW201220194A (en) 2012-05-16
EP2622533A4 (en) 2014-03-12
US20120084552A1 (en) 2012-04-05
JP2014194820A (ja) 2014-10-09
KR101453266B1 (ko) 2014-10-22
US8965749B2 (en) 2015-02-24
SG188991A1 (en) 2013-05-31
CN103119560A (zh) 2013-05-22
CN103119560B (zh) 2016-09-21
TWI530872B (zh) 2016-04-21

Similar Documents

Publication Publication Date Title
JP5860504B2 (ja) サービスプロセッサコンプレックスにおけるデータストア用のデマンドベースのusbプロキシ
EP3805968B1 (en) Technologies for secure hardware and software attestation for trusted i/o
US9501665B2 (en) Method and apparatus for remotely provisioning software-based security coprocessors
KR100855803B1 (ko) 협동적 임베디드 에이전트
US8074262B2 (en) Method and apparatus for migrating virtual trusted platform modules
US7587595B2 (en) Method and apparatus for providing software-based security coprocessors
CN109564523B (zh) 使用机会性管理程序降低性能可变性
US20060256107A1 (en) Methods and apparatus for generating endorsement credentials for software-based security coprocessors
US20230140209A1 (en) System and method for secure access to a distributed virtual firmware network drive
US20230342472A1 (en) Computer System, Trusted Function Component, and Running Method
US11531760B1 (en) Baseboard management controller (BMC)-based security processor
US20210374005A1 (en) Systems and methods for verifying and preserving the integrity of basic input/output system before powering on of host system and management engine
US10956564B2 (en) Systems and methods for key-based isolation of system management interrupt (SMI) functions and data
US11748520B2 (en) Protection of a secured application in a cluster
US11409541B2 (en) Systems and methods for binding secondary operating system to platform basic input/output system
US8819321B2 (en) Systems and methods for providing instant-on functionality on an embedded controller
CN116069584A (zh) 将监控服务扩展到可信云运营商域中
US11995452B2 (en) Firmware memory map namespace for concurrent containers
US20240143814A1 (en) Dynamic and secure access to uefi services based on indicator of attack driver
US20220222349A1 (en) Information handling system host to management controller attestation service channel
US11847226B1 (en) Baseboard Management Controller (BMC)-based security processor
Veklich et al. DEVELOPMENT OF SECURED COMPUTING WINDOWS-CLUSTER BASED ON DESKTOP PC PLATFORM

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150929

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151218

R150 Certificate of patent or registration of utility model

Ref document number: 5860504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees