コンピュータで実施される方法であって、システム管理割り込みSMIを生成可能なI/Oコントローラに結合されているプラットフォームコントローラを備えるシステムにおいて、データへのセキュアアクセスを要求するイベントに応じて、SMIを生成して、前記システムをシステム管理モードに移行させる段階と、前記プラットフォームコントローラのリソースを用いて、エミュレートされたUSBドライブを作成する段階と前記システムのオペレーティングシステムがアクセス不可能な接続を介して、前記データを前記エミュレートされたUSBドライブから複製する段階と前記システム管理モードから移行する前に、前記データを処理する段階とを実行し、前記リソースは前記データを格納している方法。前記システム管理モードの間に、前記データの受信者の認証を行う段階をさらに実行する請求項1に記載の方法。前記プラットフォームコントローラは、ベースボード管理コントローラである請求項1または2に記載の方法。前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される請求項1から3のいずれか一項に記載の方法。前記データを企業用サーバから前記エミュレートされたUSBドライブにダウンロードする段階をさらに実行する請求項1から4のいずれか一項に記載の方法。前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする段階をさらに実行する請求項1から5のいずれか一項に記載の方法。前記プラットフォームコントローラの前記リソースを用いて前記エミュレートされたUSBドライブを作成する段階は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される請求項1から6のいずれか一項に記載の方法。プロセッサと、プラットフォームコントローラと、システム管理割り込みSMIを生成可能なI/Oコントローラと、前記プロセッサに結合されており、命令を有するメモリとを備えるシステムであって、前記命令は、データへのセキュアアクセスを要求するイベントに応じて、SMIを生成して、前記システムをシステム管理モードに移行させる段階と、前記プラットフォームコントローラのリソースを用いて、エミュレートされたUSBドライブを作成する段階と、前記システムのオペレーティングシステムがアクセス不可能な接続を介して、前記データを前記エミュレートされたUSBドライブから複製する段階と、前記システム管理モードから移行する前に、前記データを処理する段階とを実行するための命令であり、前記リソースは前記データを格納しているシステム。前記命令はさらに、前記システム管理モードの間に、前記データの受信者の認証を行う段階を実行するための命令を含む請求項8に記載のシステム。前記プラットフォームコントローラは、ベースボード管理コントローラである請求項8または9に記載のシステム。前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される請求項8から10のいずれか一項に記載のシステム。前記命令はさらに、企業用サーバからの前記データを前記エミュレートされたUSBドライブにダウンロードする段階を実行するための命令を含む請求項8から11のいずれか一項に記載のシステム。前記命令はさらに、前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする段階を実行するための命令を含む請求項8から12のいずれか一項に記載のシステム。前記プラットフォームコントローラの前記リソースを用いて前記エミュレートされたUSBドライブを作成する段階は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される請求項8から13のいずれか一項に記載のシステム。システム管理割り込みSMIを生成可能なI/Oコントローラに結合されているプラットフォームコントローラを備えるコンピュータに、データへのセキュアアクセスを要求するイベントに応じて、SMIを生成して、前記システムをシステム管理モードに移行させる手順と、前記プラットフォームコントローラのリソースを用いて、エミュレートされたUSBドライブを作成する手順と、前記システムのオペレーティングシステムがアクセス不可能な接続を介して、前記データを前記エミュレートされたUSBドライブから複製する手順と、前記システム管理モードから移行する前に、前記データを処理する手順とを実行させるためのプログラムであって、前記リソースは前記データを格納しているプログラム。前記コンピュータにさらに、前記システム管理モードの間に、前記データの受信者の認証を行う手順を実行させるための請求項15に記載のプログラム。前記プラットフォームコントローラは、ベースボード管理コントローラである請求項15または16に記載のプログラム。前記プラットフォームコントローラは、前記システムのチップセットの管理エンジンによって供給される請求項15から17のいずれか一項に記載のプログラム。前記コンピュータにさらに、前記データを企業用サーバから前記エミュレートされたUSBドライブにダウンロードする手順を実行させるための請求項15から18のいずれか一項に記載のプログラム。前記コンピュータにさらに、前記システム管理モードから移行する前に、前記エミュレートされたUSBドライブを前記オペレーティングシステムから見えなくする手順を実行させるための請求項15から19のいずれか一項に記載のプログラム。前記プラットフォームコントローラの前記リソースを用いて前記エミュレートされたUSBドライブを作成する手順は、前記エミュレートされたUSBドライブにアクセスするよう求める要求に応じて実行される請求項15から20のいずれか一項に記載のプログラム。サーバオペレーティングシステムソフトウェアおよび/または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は、サーバコンピュータシステムに対応し、デスクトップ管理インターフェースDMI111を介してチップセット120に接続されているプロセッサ110を備える。プロセッサ110は、プラットフォーム100に処理電力を供給し、シングルコアプロセッサまたはマルチコアプロセッサであってよく、プラットフォーム100に複数のプロセッサが設けられているとしてもよい。プロセッサ110は、1以上のシステムバス、通信経路または通信媒体不図示を介して、プラットフォーム100の他の構成要素に接続されるとしてよい。プロセッサ110は、ベーシックインプット/アウトプットシステムBIOS114をロードして実行することによって初期化されるとしてよい。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は、独自の専用メモリリソース、プラットフォームコントローラPCRAM184およびPCフラッシュ186を持つ。PCフラッシュ186は、プラットフォームコントローラ/BMC180を初期化するためのBMCファームウェア188を有する。プラットフォームコントローラ/BMC180もまた、独自の集積化されたビデオコントローラ不図示を持つとしてよい。プラットフォーム100の他の構成要素と協働したプラットフォーム管理サービス182の動作については、図2および図3を参照しつつ後述する。図1を再度参照すると、チップセット120は、プラットフォーム100の構成および処理を管理するべく、プロセッサ110とは無関係に動作する埋め込みマイクロプロセッサとして実現される管理エンジンME130を有する。プラットフォームコントローラ/BMC180によって提供されるセキュア且つ隔離された環境に加えて、管理エンジンME130もまた、サーバオペレーティングシステム113がアクセスできないセキュア且つ隔離された環境を提供するとしてよい。一実施形態によると、管理エンジンME130は、ユーザを認証して、周辺機器へのアクセスを制御して、プラットフォーム100のストレージデバイスに格納されているデータの保護のための暗号鍵を管理し、ネットワークコントローラ160を介して企業用サービス170に対するインターフェースを提供する。物理プラットフォームコントローラ/BMC180を省略した本発明に一実施形態によると、管理エンジンME130が、プラットフォームコントローラ/BMC180が提供されるものとして本明細書で説明している機能を提供するとしてよい。このような実施形態によると、管理エンジンME130は、自身のセキュアなRAM図1には不図示等、サーバプラットフォーム管理サービスを提供するべく自身の内部リソースを利用する。これらの内部リソースは、例えば、USB仮想ドライブをエミュレートするために利用するとしてよい。これについては、図2および図3を参照しつつさらに後述する。図1を再度参照すると、ME130と企業用サービス170との間の通信は、アウトオブバンド通信チャネル171を介して行われる。一実施形態によると、アウトオブバンド通信チャネル171は、サーバシステム上の管理エンジンME130と、サーバコンピュータシステムを管理する企業用サービス170との間のセキュア通信チャネルである。図1に示す実施形態によると、管理エンジンME130が、管理エンジンコントローラインターフェースMECI131を介してI/Oコントローラ140に結合されている。一実施形態によると、I/Oコントローラ140は、ストレージコマンドの復号および他の加速処理を実行する汎用コントローラである。図示している実施形態では、管理エンジンME130は、I/Oコントローラ140の動作を制御する。I/Oコントローラ140は、USBコントローラ150の動作を制御する。I/Oコントローラ140は、相互接続181を介してプラットフォームコントローラ/BMC180に接続されているものとして図示されている。USB接続152は、物理USB配線をUSBコントローラ150からプラットフォームコントローラ/BMC180へとルーティングし、USB接続154は、物理USB配線をUSBコントローラ150から管理エンジンME130へとルーティングする。USB接続152および154は、USB仮想ドライブをエミュレートするために用いられる。これについては、図2および図3を参照しつつさらに詳細に後述する。プラットフォーム100はさらに、ダイナミックランダムアクセスメモリDRAM112、チップセット120内のスタティックランダムアクセスメモリSRAM122、および、フラッシュメモリ190等のメモリデバイスを備える。また、先述したように、プラットフォームコントローラ/BMC180は、自身のメモリデバイスであるPCRAM184およびPCフラッシュ186を持つ。これらのメモリデバイスには、ランダムアクセスメモリRAMおよびリードオンリーメモリROMが含まれるとしてよい。本開示において、ROMという用語は概して、不揮発性メモリデバイス、例えば、消去可能プログラム可能ROMEPROM、電気的消去可能プログラム可能ROMEEPROM、フラッシュROM、フラッシュメモリ等を意味するために用いられる用語であってよい。他のストレージデバイス不図示は、インテグレーテッドドライブエレクトロニクスIDEハードドライブ等の大容量ストレージデバイス、および/または、フロッピー登録商標ディスク、光ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、バイオロジカルストレージ等の他のデバイスまたは媒体を含むとしてよい。フラッシュメモリ190は、フラッシュインターフェース191を介してチップセット120からアクセス可能である。メモリデバイスDRAM112、SRAM122およびフラッシュメモリ190に格納されているデータは、暗号化されるとしてよい。同様に、PCRAM184およびPCフラッシュ186に格納されているデータは、暗号化されているとしてよい。フラッシュメモリ190は、プラットフォーム100を初期化するために利用されるファームウェアを含む。この初期化ファームウェアは、システムコンポーネントハードウェアビデオディスプレイカードおよびハードディスク等および管理エンジンME130を含む幾つかの他のハードウェアデバイスを特定して初期化するベーシックインプット/アウトプットシステムBIOSファームウェア192を含む。BIOSファームウェア192は、公知の低機能状態で動作できるようにプラットフォーム100のシステムコンポーネントハードウェアを用意するので、さまざまな媒体に格納されている他のソフトウェアプログラム、例えば、オペレーティングシステムを、ロードすることができ、実行でき、プラットフォーム100の制御が与えられる。BIOSファームウェア192は、ブートプロセス時に管理エンジンME130の初期設定を可能とするBIOS/ME通信モジュール不図示を含むとしてよい。一実施形態によると、管理エンジンME130は、BIOS/ME通信モジュールに対して登録され、オペレーティングシステムがプラットフォーム100についてロードされる直前に、通知を受信する。この通知によって、管理エンジンME130は、ロードされているオペレーティングシステムを準備するべく所定の命令を実行することができるようになる。フラッシュメモリ190はさらに、ネットワークコントローラ160を設定するネットワークコントローラファームウェア195と、チップセット120を設定するチップセットファームウェア196とを有する。フラッシュメモリ190はさらに、データ領域198を含む。一実施形態によると、データ領域198は、暗号化されており、管理エンジンME130によってのみ読み出されるとしてよい。ME130がサービスを提供するために利用する情報は、フラッシュメモリ190のデータ領域198に格納されるとしてよい。プロセッサ110はさらに、他の構成要素、例えば、ビデオコントローラ、小型計算機システムインターフェースSCSIコントローラ、ネットワークコントローラ、ユニバーサルシリアルバスUSBコントローラ、キーボードおよびマウス等の入力デバイスに通信可能に結合されているとしてよい。プラットフォーム100はさらに、さまざまなシステム構成要素を通信可能に結合するべく、1以上のブリッジまたはハブ、例えば、メモリコントローラハブ、別の入出力I/Oコントローラハブ、PCIルートブリッジ等を備えるとしてよい。本明細書で用いる場合、バスという用語は、ポイントツーポイント経路と同様に、共有通信経路を意味するために利用される用語であるとしてよい。一部の構成要素、例えば、ネットワークコントローラ160は、例えば、バスと通信するためのインターフェース例えば、PCIコネクタを持つアダプタカードとして実現されるとしてよい。一実施形態によると、1以上のデバイスは、プログラム可能型またはプログラム不可能型のロジックデバイスまたはロジックアレイ、特定用途向け集積回路ASIC、埋め込みコンピュータ、スマートカード等の構成要素を用いて、埋め込みコントローラとして実現するとしてよい。処理システムおよびデータ処理システムという用語は、本明細書で用いる場合、一の機械、または、共に動作する複数の機械またはデバイスが通信可能に結合されている一のシステムを広く含めるものとする。処理システムの例を挙げると、これらに限定されるものではないが、分散型コンピューティングシステム、スーパーコンピュータ、高性能コンピューティングシステム、コンピューティングクラスタ、メインフレームコンピュータ、ミニコンピュータ、クライアント-サーバシステム、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット、電話、携帯情報端末PDA、手持ちデバイス、オーディオデバイスおよび/またはビデオデバイス等の娯楽デバイス、ならびに、情報を処理または送信するためのその他のデバイスがある。プラットフォーム100は、少なくとも部分的に、従来の入力デバイス、例えば、キーボード、マウス等からの入力によって、および/または、別の機械、バイオメトリクスフィードバック、または、その他の入力ソースあるいは入力信号から受信したコマンドによって、制御されるとしてよい。プラットフォーム100は、1以上のリモートデータ処理システムへの1以上の接続、例えば、ネットワークインターフェースコントローラNIC160、モデムまたは他の通信ポートまたは結合を利用するとしてよい。プラットフォーム100は、物理ネットワークおよび/または論理ネットワーク、例えば、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、イントラネット、インターネット等を用いて他の処理システム不図示に相互接続されるとしてよい。ネットワークを利用する通信は、さまざまな有線方式および/または無線方式の、短距離用または長距離用のキャリアおよびプロトコルを利用するとしてよい。例えば、無線周波数RF、衛星、マイクロ波、米国電気電子学会IEEE802.11、Bluetooth登録商標、光学、赤外線、ケーブル、レーザ等を利用するとしてよい。図2を参照すると、本発明の一実施形態に係る、セキュアサーバプラットフォーム管理サービスを提供するための、図1のシステムの構成要素の動作を説明するフローチャートである。このプロセスは、BIOS214がセキュアプラットフォーム管理サービスを必要とするイベントを処理することから開始される。例えば、プラットフォームコントローラ/BMC280が管理するプログラムまたはデータへのアクセスを必要とするI/O処理を受信することから開始される。例えば、プラットフォームコントローラ/BMC280は、PCRAM284および/また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移行要求は、インテリジェントプラットフォームマネジメントインターフェースIPMISMMインターフェースに応じて発行される。動作2.2において、SMMハンドラ215は、プラットフォームコントローラ/BMC280を呼び出して、ユーザネームおよびパスワードを渡す。プラットフォームコントローラ/BMC280は、ユーザネームおよびパスワードを受信すると、呼び出し側を認証する。この認証は、IPMI認証インターフェースに応じて実行するとしてよい。呼び出し側の認証が完了すると、動作2.3において、プラットフォームコントローラ/BMC280は、PCRAM284および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は、自身のリソースであるPCRAM284および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のPCRAM284等のリソースを利用する別の利点として、サーバコンピュータシステムでは稀なことに、電力が中断されるまで当該データがPCRAM284に保持されることが挙げられる。本明細書で開示しているメカニズムの実施形態は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの実施方法を組み合わせて実現するとしてもよい。本発明の実施形態は、プログラム可能なシステムで実行されるコンピュータプログラムとして実現されるとしてよい。当該システムは、少なくとも1つのプロセッサと、データ格納システム揮発性メモリおよび不揮発性メモリおよび/または格納素子を含む、少なくとも1つの入力デバイス、および、少なくとも1つの出力デバイスを備える。プログラムコードを入力データに適用して、本明細書に記載されている機能を実現して出力情報を生成するとしてよい。本発明の実施形態はさらに、本発明に係る処理を実行するための命令を含む機械アクセス可能媒体、または、本明細書で説明している構造、回路、装置、プロセッサおよび/またはシステムフィーチャを定義しているHDL等の設計データを含む機械アクセス可能媒体を含む。このような実施形態は、プログラム製品とも呼ばれるとしてよい。このような機械アクセス可能格納媒体は、これらに限定されないが、機械またはデバイスによって製造または形成される粒子の有形の配列、例えば、ハードディスク等の格納媒体、フロッピー登録商標ディスク、光ディスク、コンパクトディスクリードオンリーメモリCD-ROM、コンパクトディスクリライタブルCD-RW、および、光磁気ディスクを含む任意のその他の種類のディスク、リードオンリーメモリROM等の半導体デバイス、ダイナミックランダムアクセスメモリDRAM等のランダムアクセスメモリRAM、スタティックランダムアクセスメモリSRAM、消去可能プログラム可能リードオンリーメモリEPROM、フラッシュプログラム可能メモリFLASH、電気的消去可能プログラム可能リードオンリーメモリEEPROM、磁気カードまたは光カード、または、電子命令の格納に適した任意のその他の種類の媒体を含むとしてよい。出力情報は、公知の方法で、1以上の出力デバイスに適用されるとしてよい。本願において、処理システムは、例えば、デジタルシグナルプロセッサDSP、マイクロコントローラ、特定用途向け集積回路ASICまたはマイクロプロセッサ等のプロセッサを有する任意のシステムを含む。プログラムは、処理システムと通信できるように、高級プロシージャプログラミング言語またはオブジェクト指向型プログラミング言語で実装されるとしてよい。プログラムはさらに、所望される場合には、アセンブリ言語または機械言語で実装するとしてもよい。実際、本明細書で説明されるメカニズムの範囲は、任意の特定のプログラミング言語に限定されるものではない。いずれの場合であっても、言語はコンパイル型言語またはインタプリタ型言語であってよい。本明細書で示すのは、サーバプラットフォームを管理するための方法およびシステムの実施形態である。本発明の具体的な実施形態を図示および説明してきたが、当業者には、添付された請求項の範囲から逸脱することなく、数多くの点で変更、変形が可能であることが明らかである。したがって、当業者であれば、本発明の広義の側面から逸脱することなく、変更および変形し得ることを認めるであろう。請求項の範囲には、本発明の真の範囲および意図に含まれるこのような変更、変形をすべて含むものとする。