(57)【要約】【課題】  システムにおいて信頼できる環境を始動する。【解決手段】  本発明の１実施の形態では、本方法は、システムの始動論理プロセッサを認証し、始動論理プロセッサが認証された場合に、信頼できるエージェントを該始動論理プロセッサで評価し、該信頼できるエージェントが評価された場合に、システムの複数のプロセッサで該信頼できるエージェントを起動することを含んでいる。所定の実施の形態では、かかる信頼できるエージェントの実行の後、セキュアカーネルが起動される場合がある。本システムは、たとえば、任意のポイントツーポイント相互接続をもつ部分的又は完全に接続されたトポロジーを有するマルチプロセッササーバシステムである場合がある。【選択図】  図２
2005346689.tif 000002
【特許請求の範囲】
【請求項１】
部分的に接続されたトポロジー又は完全に接続されたトポロジーを有するシステムの複数のプロセッサでセキュアカーネルを確実に起動するステップを備える方法。
【請求項２】
該セキュアカーネルを確実に起動するために信頼できるエージェントを使用するステップをさらに備える、
請求項１記載の方法。
【請求項３】
該セキュアカーネルのアイデンティティを判断し、推移する信頼のチェインで該アイデンティティを記録するステップをさらに備える、
請求項２記載の方法。
【請求項４】
該信頼できるエージェントを使用してシステムのメモリコンフィギュレーションを評価するステップをさらに備える、
請求項２記載の方法。
【請求項５】
該メモリコンフィギュレーションは、単一のアドレス空間を有する分散されたメモリを備える、
請求項４記載の方法。
【請求項６】
該複数のプロセッサは、任意のポイントツーポイント相互接続を介して接続される、
請求項１記載の方法。
【請求項７】
システムの始動論理プロセッサを認証するステップと、
該始動論理プロセッサが認証された場合に、信頼できるエージェントを該始動論理プロセッサで評価するステップと、
該信頼できるエージェントが評価された場合に、該システムの複数のプロセッサで信頼できるエージェントを起動するステップと、
を備える方法。
【請求項８】
該信頼できるエージェントのアドレス情報を該システムのマスターハブエージェントの保護された部分に記憶するステップをさらに備える、
請求項７記載の方法。
【請求項９】
該複数のプロセッサにわたりスパニングツリーを構築するステップをさらに備える、
請求項７記載の方法。
【請求項１０】
該複数のプロセッサで該信頼できるエージェントを起動するために該スパニングツリーを使用するステップをさらに備える、
請求項９記載の方法。
【請求項１１】
バリアメカニズムを使用して該信頼できるエージェントを実行するステップをさらに備える、
請求項７記載の方法。
【請求項１２】
該信頼できるエージェントを実行した後にセキュアカーネルを実行するステップをさらに備える、
請求項１１記載の方法。
【請求項１３】
該システムのメモリコンフィギュレーションを評価するステップをさらに備える、
請求項７記載の方法。
【請求項１４】
該始動論理プロセッサを認証するステップは、該始動論理プロセッサとマスターハブエージェントとの間のダイレクト接続を確認するステップを備える、
請求項７記載の方法。
【請求項１５】
始動論理プロセッサを使用してシステムの複数のプロセッサにわたりスパニングツリーを構築するステップと、
該スパニングツリーを使用して該複数のプロセッサで信頼できるエージェントを起動するステップと、
を備える方法。
【請求項１６】
該複数のプロセッサで信頼できるエージェントを実行するステップをさらに備える、
請求項１５記載の方法。
【請求項１７】
ノンセキュアなオペレーティングシステムを使用して、セキュアカーネルをシステムのメモリにロードするステップをさらに備える、
請求項１５記載の方法。
【請求項１８】
該セキュアカーネル及び該信頼できるエージェントに関する情報を該システムのマスターハブエージェントに記憶するステップをさらに備える、
請求項１７記載の方法。
【請求項１９】
該複数のプロセッサのそれぞれを該スパニングツリーにおける固有の識別子で列挙するステップをさらに備える、
請求項１５記載の方法。
【請求項２０】
該複数のプロセッサのそれぞれに接続される多数のダウンリンクノードを該固有の識別子で関連付けするステップをさらに備える、
請求項１９記載の方法。
【請求項２１】
該スパニングツリーを構築するステップは、第一のメッセージをダイレクトに接続されたノードにブロードキャストし、該ダイレクトに接続されたノードからのリターンメッセージを受信するステップを備える、
請求項１５記載の方法。
【請求項２２】
該ダイレクトに接続されたノードから該ノードにダイレクトに接続されたダウンリンクノードに第一のメッセージを送出するステップをさらに備える、
請求項２１記載の方法。
【請求項２３】
該始動論理プロセッサを該スパニングツリーのルートとして選択するステップをさらに備える、
請求項１５記載の方法。
【請求項２４】
プロセッサコアと、
リンクコントローラと、
該プロセッサコアを該リンクコントローラにダイレクトに接続するための信頼できるハードウェアリンクと、
を備える装置。
【請求項２５】
該プロセッサコアに接続されるプロトコルエンジンをさらに備え、該プロトコルエンジンは、信頼されないエージェントにより設定される、
請求項２４記載の装置。
【請求項２６】
該プロトコルエンジンは、コモンシステムインタフェースエンジンを備える、
請求項２５記載の装置。
【請求項２７】
該プロトコルエンジンは、該リンクコントローラに接続される、
請求項２５記載の装置。
【請求項２８】
該リンクコントローラは、信頼できるエージェントが該装置を評価する前に、信頼できるハードウェアリンクを介して該プロセッサコアと通信するために適合される、
請求項２４記載の装置。
【請求項２９】
該プロセッサコア、該信頼できるハードウェアリンク、及び該リンクコントローラは、プロセッサソケットの一部である、
請求項２４記載の装置。
【請求項３０】
ポイントツーポイント相互接続を介して接続される複数のプロセッサソケットをさらに備える、
請求項２４記載の装置。
【請求項３１】
該リンクコントローラは、該リンクメッセージが受信された場合に、該プロセッサコアにダイレクトに通知するために適合される、
請求項２４記載の装置。
【請求項３２】
始動論理プロセッサを有する第一のプロセッサソケットと、
該第一のプロセッサソケットに接続されるダイナミックランダムアクセスメモリと、
該第一のプロセッサソケットに接続される第二のプロセッサソケットと、
実行された場合に、システムに対して、該始動論理プロセッサを使用して該第一のプロセッサソケットと該第二のプロセッサソケットで信頼できるエージェントを起動することを可能にする命令を含む記憶媒体と、
を備えるシステム。
【請求項３３】
該第一のプロセッサソケットにダイレクトに接続されるマスターハブエージェントをさらに備える、
請求項３２記載のシステム。
【請求項３４】
該マスターハブエージェントにダイレクトに接続されるマスターの信頼できるプラットフォームモジュールをさらに備える、
請求項３３記載のシステム。
【請求項３５】
該第一のプロセッサソケットは、リンクコントローラとプロセッサコアとの間に信頼できるハードウェアリンクを備える、
請求項３２記載のシステム。
【請求項３６】
該第一のプロセッサソケット及び該第二のプロセッサソケットは、ポイントツーポイント相互接続を介して接続される、
請求項３２記載のシステム。
【請求項３７】
該始動論理プロセッサは、該第一のプロセッサソケットと該第二のプロセッサソケットにわたりスパニングツリーを構築するために適合される、
請求項３２記載のシステム。
【請求項３８】
該ダイナミックランダムアクセスメモリは、該第一のプロセッサソケットにダイレクトに接続され、該第一のプロセッサソケット及び該第二のプロセッサソケットによりアクセス可能である、
請求項３２記載のシステム。
【請求項３９】
実行された場合に、部分的に接続されるトポロジーを備えるシステムに対して、該システムの複数のプロセッサでセキュアカーネルを確実に起動することを可能にする命令を含むコンピュータ読取り可能な記憶媒体。
【請求項４０】
実行された場合に、該システムに対して、該セキュアカーネルを確実に起動するために信頼できるエージェントを使用することを可能にする命令をさらに備える、
請求項３９記載の記憶媒体。
【請求項４１】
実行された場合に、該システムに対して、該セキュアカーネルのアイデンティティを判断し、該アイデンティティを推移する信頼のチェインに記録することを可能にする命令をさらに備える、
請求項４０記載の記憶媒体。
【請求項４２】
実行された場合に、該システムに対して、該信頼できるエージェントを使用して該システムのメモリコンフィギュレーションを評価することを可能にする命令をさらに備える、
請求項４０記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、より詳細には、コンピュータシステムでのセキュアオペレーションの始動に関する。
【背景技術】
【０００２】
リンクベースシステムのトポロジーは、ポイントツーポイントリンクにより接続される多数のノードを含んでいる場合がある。トポロジーは、完全に接続されていない場合があり、すなわち、所与のノードは、全ての他のノードにダイレクトに接続されていないが、いずれかのノードは、設定されたルーティングメカニズムに基づいて、多数のリンクを介していずれかの他のノードに到達する場合がある。例として、ノードは、プロセッサ、入力／出力（Ｉ／Ｏ）ハブ、又は別のかかる装置である場合がある。
【０００３】
システム動作のはじめで、プロセッサハードウェアは、指定されたように動作することが信頼され、リンクメカニズムは、一方のリンクコントローラから別のリンクコントローラにハードウェアにより送出されるリンクレイヤメッセージを転送することが信頼できる。さらに、リンクメカニズムは、リンクのそれぞれのエンドにあるハードウェアコンポーンネントに関する信頼できる情報を提供する。同様に、Ｉ／Ｏハブのハードウェアメカニズムは、指定されたように動作することが信頼される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
所定の実現では、別々の物理的なメモリが存在する場合があるものの、システムファブリックで実行されている所与のプロトコルは、メモリにアクセスし、メモリ全体のコヒーレントな概観及び振る舞いを単一の物理的なアドレス空間として維持するために使用される場合がある。しかし、このコヒーレントな動作は、信頼されないソフトウェアにより設定されるアドレスデコーディング及びルーティングメカニズムに依存する。したがって、設定が評価されるまで、メモリに正確にアクセスするために、かかるプロトコルを信頼することができない。特に、かかるプロトコルは、メモリのエイリアス、すなわち同じ物理アドレスを異なるマッピングで使用することのような、コンフィギュレーションエラーすなわち不適切な動作がないとして信頼することができない。したがって、かかるシステムにおいて信頼できる環境を始動することが必要とされる。
【発明を実施するための最良の形態】
【０００５】
様々な実施の形態では、システムトポロジーにおける全てのプロセッサで実行するセキュアカーネル（ｓｅｃｕｒｅ  ｋｅｒｎｅｌ）が確実に起動される場合がある。さらに、セキュアカーネルのアイデンティティが判断され、起動プロセスで使用される１以上のソフトウェアエージェントと協力して、確実なやり方で記録される場合がある。かかるやり方では、該セキュアカーネルを起動するために使用されるハードウェアに定着される推移する信頼（ｔｒａｎｓｉｔｉｖｅ  ｔｒｕｓｔ）のチェインが記録される場合がある。
【０００６】
所定の実施の形態では、信頼できるハードウェアは、マスターＩ／Ｏハブを含んでいる場合があり、このマスターＩ／Ｏハブにマスターの信頼できるプラットフォームモジュール（ＴＰＭ：  Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）が取り付けられる。（ノンセキュアな）オペレーティングシステム（ＯＳ）は、このトポロジーの見地に関する情報を有する場合がある。さらに、信頼できるソフトウェアエージェントは、その実行がいずれかの方法によっても抑制することができないように実行される場合がある。
【０００７】
ユーザ又はシステム管理者は、セキュアカーネルをシステムにロードすることを望む場合がある。本実施の形態で言及されるように、用語「セキュア」とは、システムを後に検査し、所与のカーネルがロードされたかを判定するための能力をいう。さらに、ユーザ又は第三者は、カーネルがセキュアなメモリ環境にロードされたかを更に判定する場合がある。したがって、１実施の形態では、外部のエージェントは、信頼を確立するか、又はセキュアな環境におけるソフトウェアを検査するための能力が提供されたことで、セキュアな環境内に含まれるカーネルを信頼することを決定する場合がある。１実施の形態では、検査する全体の領域を露出することよりはむしろ、セキュアなメモリ領域を表す暗号のハッシュ値（たとえば、ソフトウェアの識別値）が検査される場合がある。１実施の形態では、デジタル署名されたセキュアなソフトウェアの識別値が、外部エージェントによりハードウェアがアクセス可能なように記憶される場合がある。
【０００８】
図１Ａを参照して、本発明の１実施の形態に係るマルチプロセッサシステム上でセキュアカーネルを起動する方法に関するフローチャートが示されている。図１Ａに示されるように、本方法１００は、信頼できるエージェント及びセキュアカーネルをメモリにロードすることで開始する場合がある（ブロック１１０）。１実施の形態では、信頼されないＯＳは、信頼できるエージェント及びセキュアカーネルをシステムメモリの安全な領域にロードする場合がある。信頼できるエージェント及びセキュアカーネルは、ディスクドライブのような大容量の記憶装置に記憶され、システムの多数のプロセッサによりアクセスされる場合があるシステムメモリにロードされる場合がある。さらに、ＯＳは、セキュアカーネルと信頼できるエージェントをアドレス指定するためのページテーブルを構築する場合がある。１実施の形態では、これらページテーブルのアドレス及び長さは、システムのマスターＩ／Ｏハブにおける特定の位置に記憶される場合がある。また、ＯＳは、モジュールを認証するために使用される公開鍵を記憶する場合もある。１実施の形態では、信頼できるエージェントは、システムのコンフィギュレーション、より詳細には、システムのメモリのコンフィギュレーション（設定）を評価するために使用されるセキュア認証コードである場合がある。信頼できるエージェントは、セキュアカーネルの実行を始動するために更に使用される場合がある。
【０００９】
つぎに、ＯＳは、始動論理プロセッサ（ＩＬＰ：Ｉｎｉｔｉａｔｉｎｇ  Ｌｏｇｉｃａｌ  Ｐｒｏｃｅｓｓｏｒ）で確実な起動を発する場合がある（ブロック１２０）。かかる確実な起動は、確実なエンターを始動するためのセキュアエンター（ＳＥＮＴＥＲ）命令である場合がある。ＳＥＮＴＥＲ命令の実行により、ＩＬＰは、そのソケット及び他のプロセッサソケットの両者内での特定のバスメッセージを発し、次いで、その後のシステム動作のためのかなりの時間間隔を待つ場合がある。
【００１０】
１実施の形態では、ＩＬＰは、マスターＩ／Ｏハブにダイレクトに接続されており、このマスターＩ／Ｏハブは、マスターＴＰＭにダイレクトに接続されている場合がある。かかる実施の形態では、ＩＬＰは、ＩＬＰがマスターＴＰＭへの信頼できるパスを有しているかを評価する場合がある。たとえば、ＩＬＰソケットにおける信頼できるリンクパラメータが調べられる場合がある。かかるパスは、ファームウェア又はソフトウェアにより初期化される必要がない信頼できるハードウェアパスである場合がある。本方法の実行におけるこの点で、ＩＬＰがマイクロプロセッサソケットの一部である実施の形態では、ＩＬＰにより、ソケットにおける他の論理プロセッサ（ＯＬＰ）が停止される場合がある。
【００１１】
つぎに、ＩＬＰは、スパニングツリーを構築する場合がある（ブロック１３０）。かかるスパニングツリーは、所望のアルゴリズムに従って構築される場合がある。スパニングツリーは、ツリー構造の複数のレベルにおけるＩＬＰノードに関して、システムの全ての他のノードを識別するために使用される場合があり、ＩＬＰは、ツリーのルートとしての役割を果たす。ＩＬＰにダイレクト接続されるノードは、第二のレベルのノードである場合があり、これら第二のレベルのノードにダイレクトに接続されるノードは、第三のレベルのノードである場合がある等である。かかるスパニングツリーは、システムの適切なコンフィギュレーションを評価し、リンクベースのメッセージの異なるノードへのルーティングを可能にするために使用される場合がある。信頼できるハードウェア及びリンクのみがスパニングツリーを構築するために使用される場合がある。所定の実施の形態では、スパニングツリーは、これによりＩＬＰが各プロセッサソケットにメッセージを送出することができる信頼できるブロードキャストメカニズム、それぞれのプロセッサソケットについてブロードキャストされたメッセージに応答し、これらの応答についてＩＬＰに戻ってツリーを通過するときに要約する手段、及びＩＬＰが次のブロードキャストされたメッセージを続ける前に、全てのプロセッサソケットが既知の状態に到達したことを保証するバリアメカニズムを提供する場合がある。
【００１２】
図１Ａを更に参照して、ブロック１４０で、確実な起動のメッセージは、スパニングツリーの他のソケットに送出される場合がある。１実施の形態では、かかるメッセージは、ルートレベルから次のレベル（すなわち、ダウンリンクノード）にメッセージを送出するスパニングツリープロトコルを使用して送出される場合があり、この次のレベルは、順次、次の低いレベルにメッセージを送出する等である。これに応じて、それぞれのレベルは、その送信レベル（すなわち、アップリンクノード）に応答パケットを送る場合がある。したがって、全てのノードがメッセージ及び応答を適切に受信するとき、最後の要約的な応答パケットは、ルートノードに送られる場合がある。本方法の実行におけるこの点で、ソケットのそれぞれにある応答論理プロセッサ（ＲＬＰ：Ｒｅｓｐｏｎｄｉｎｇ  Ｌｏｇｉｃａｌ  Ｐｒｏｃｅｓｓｏｒ）は、ソケットにあるＯＬＰを停止させる。
【００１３】
ここで図１Ｂを参照して、ＩＬＰは、全ての他のノードが適切に受信し、ＳＥＮＴＥＲ命令に応答したことを示す要約的な応答を受信したとき、ＩＬＰは、信頼できるエージェントを評価する場合がある（ブロック１５０）。かかる評価は、たとえば、ハッシュ計算を実行すること、結果を予め記憶されているハッシュ値と比較することを含んでいる場合がある。次いで、かかる評価情報は、ＲＬＰに送出される場合がある（ブロック１６０）。ＲＬＰは、ＲＬＰが保護されているメモリ位置における信頼できるエージェントにアクセスし、該信頼できるエージェントを評価することを、それぞれ個々に評価する場合がある。（ブロック１７０）。
【００１４】
評価に関する要約的な応答がＲＬＰのそれぞれのＩＬＰにより受信されたとき、次いで、ＩＬＰは、システムの全てのソケット上の信頼できるエージェントの実行を制御する場合がある（ブロック１８０）。たとえば、１実施の形態では、ＩＬＰは、信頼できるエージェントの一部を始動し、信頼できるエージェントの該一部を実行したことの指示をそれぞれのソケットから待ち、次いで、次の部分に進むためにバリアメカニズムを使用する場合がある。かかる指示は、先に説明されたスパニングツリーのプロトコルを使用して送出される場合がある。
【００１５】
このように、ハードウェアは、各プロセッサソケットにある同一の信頼できるエージェントを起動するためにスパニングツリーを使用する。信頼できるエージェントは、調整されたＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）タイプの実行で、各プロセッサソケットで同時に実行する場合がある。これらの信頼できるエージェントの実行は、調整及びＩＬＰと通信するためにスパニングツリーを使用して、トポロジーのメモリ設定を完全に評価するために協力する。信頼できるエージェントが設定を効果的に評価するとき、ＩＬＰでの信頼できるエージェントの実行は、セキュアカーネルをアドレス指定し、カーネルのハッシュを計算し、該ハッシュをマスターＴＰＭに記録するために使用されるページテーブルを評価する場合がある。
【００１６】
信頼できるエージェントの実行の結果、ＩＬＰは、セキュアカーネルを起動する場合がある（ブロック１９０）。かかる時間で、セキュアカーネルはシステム動作に取って代わり、セキュアカーネル内のコードに従って実行する場合がある（ブロック１９５）。たとえば、セキュアカーネルは、システムの全てのソケットにわたり実行される場合がある。
【００１７】
ここで図２を参照して、本発明の１実施の形態に係るシステムのブロック図が示されている。図２に示されているように、システム２００は、任意の、部分的に接続されたポイントツーポイントアーキテクチャを有するマルチプロセッサシステムである場合がある。すなわち、システム２００の所定のノードは、互いにダイレクトに接続されており、他のノードは、その間に接続される中間ノードを介して通信する場合がある。他の実施の形態では、システム２００は、完全に接続されたトポロジーを有している場合がある。１実施の形態では、システム２００は、本発明の範囲はそのように限定されるものではないが、同時のマルチプロセッシング（ＳＭＰ：Ｓｉｍｕｌｔａｎｅｏｕｓ  ＭｕｌｔｉＰｒｏｃｅｓｓｉｎｇ）サーバコンピュータである場合がある。
【００１８】
すなわち、図２にはサーバプラットフォームとして示されているが、他の実施の形態では、システムは、所望のデスクトップ、モバイル、サーバ又は他のかかるプラットフォームのいずれか１つである場合があることを理解されたい。所定の実施の形態では、図２の異なるコンポーネント間の相互接続は、システム２００内にコヒーレントな共有メモリを提供するポイントツーポイント相互接続である場合があり、１つのかかる実施の形態では、その間で通信するために使用される相互接続及びプロトコルは、コモンシステムインタフェース（ＣＳＩ）を形成する場合がある。かかるやり方では、マルチプルプロセッサ、メモリ、及びシステム２００の他のコンポーネントは、お互いにコヒーレントにインタフェースする場合がある。
【００１９】
図２の実施の形態では、システム２００の全てのコンポーネントは、コヒーレントシステムを集合的に形成する場合がある。かかるコヒーレントシステムは、トランザクションが流れるチャネル間のいずれかのオーダーリング（順序付け）なしに、コヒーレントトランザクション（ｃｏｈｅｒｅｎｔ  ｔｒａｎｓａｃｔｉｏｎ）を受け入れる場合がある。コヒーレントシステムとして本実施の形態では説明されているが、コヒーレント及びノンコヒーレントトランザクションの両者が通過され、システム内のコンポーネントにより作用される場合があることを理解されたい。たとえば、システム２００に関連されるメモリの１つ、一部又は全部の領域は、ノンコヒーレントトランザクションのために予約されている場合がある。また、本発明の実施の形態は、コヒーレントシステムに限定されるものではないことを理解されたい。
【００２０】
図２に示されるように、第一のプロセッサソケット２１０は、複数のプロセッシングコア２１２ａ，２１２ｂ，２１２ｃ及び２１２ｄを含んでいる場合がある。図２の実施の形態では、４つのかかるプロセッシングコアを含むとして示されているが、他の実施の形態では、プロセッサソケットは、多かれ少なかれかかるコアを含んでいる場合があることを理解されたい。図２に更に示されるように、プロセッサコアは、バス又はリング２１５を介して互いに接続される場合がある。ＣＳＩプロトコルに従う実施の形態のような所定の実施の形態では、プロセッサソケットは、メモリコントローラ機能、ＣＳＩパケット生成及びルーティングメカニズムのような、追加のロジック機能を含んでいる場合がある。
【００２１】
例として、図２においてプロセッサソケット２１０内には、ロジック機能２１６が示されており、このロジック機能は、メモリコントローラ及び他のロジック機能を含んでいる場合がある。ロジック機能２１６は、ノード識別子（ＮＩＤ）をプロセッサソケットと関連付けする場合がある。図２において示されるように、プロセッサソケット２１０は、１実施の形態では始動論理プロセッサであることを示す１つのノード識別子を有する場合がある。ロジック機能２１６は、物理メモリマップの全てのアイテムについて対応するノード（たとえばＮＩＤ）にアドレスをマッピングするソースアドレスデコーダを含んでいる場合がある。適切なコンフィギュレーションが行われている場合、それぞれのプロセッサソケットは、ソースアドレスデコーダを有するロジック機能を含んでおり、このソースアドレスデコーダは、同じアドレスを同じノードに対応付けする場合がある。１実施の形態では、ＮＩＤは、システムの初期化に応じて信頼されないファームウェアにより割り当てられ、したがって固有なものではない場合がある。このように所定の実施の形態では、信頼できるエージェントは、それぞれのノードのＮＩＤが実際に固有であるかを判定するために使用される場合がある。所定の実施の形態では、ロジック機能２１６は、ターゲットアドレスデコーダを含んでいる場合があり、このデコーダは、たとえば、所与のプロセッサソケットにダイレクトに接続されている物理メモリといった、物理メモリにアドレスをマッピングする場合がある。
【００２２】
メモリ２１８は、プロセッサソケット２１０にダイレクトに接続される場合がある。メモリ２１８がプロセッサソケット２１０にダイレクトに接続されているが、様々な実施の形態では、システム２００内のいずれかのプロセッサソケットがメモリ２１８にアクセスする場合があることを理解されたい。メモリ２１８は、ロジック機能２１６内にあるメモリコントローラ機能を使用して、プロセッサソケット２１０とインタフェースする場合があることを理解されたい。さらに、図２には示されていないが、それぞれのプロセッサソケットは、該ソケットに関連される１以上のメモリを有している場合があることを理解されたい。それぞれのソケットが該ソケットにダイレクト接続される物理メモリを有する場合があるが、キャッシュのような追加のメモリ素子がプロセッサソケット内の個々のプロセッシングコアと関連される。１実施の形態では、多数のかかるメモリが存在し、それぞれのメモリが異なるプロセッサソケットにダイレクトに接続されるが、システム内の全てのメモリは、単一の物理的なアドレス空間としてアドレス指定される場合がある。
【００２３】
図２に更に示されるように、プロセッサソケット２１０は、プロセッサソケット２２０、プロセッサソケット２５０及びプロセッサソケット２６０にダイレクトに接続されている。さらに、プロセッサソケット２１０は、マスターＩ／Ｏハブ２９０にダイレクト接続され、このマスターＩ／Ｏハブは、順次、マスターＴＰＭ２９２に接続される。本実施の形態では詳細に説明されていないが、プロセッサソケット２３０，２４０，２７０及び２８０（及びソケット２２０，２５０及び２６０）は、プロセッサソケット２１０に関して説明されたように、同じプロセッシングコア、バス、リング及びロジック機能を有している場合がある。最後に、図２には、第二のＩ／Ｏハブ２９５が示されており、この第二のＩ／Ｏハブは、プロセッサソケット２５０，２６０，２７０及び２８０にダイレクトに接続されている。
【００２４】
Ｉ／Ｏハブ２９０及び２９５は、該ハブにダイレクトに接続されるＩ／Ｏ装置とインタフェースするために複数のポートをそれぞれ含む場合がある。たとえば、所定の実施の形態では、かかるＩ／Ｏ装置は、１以上のバススキームに準拠した装置である場合がある。１実施の形態では、かかるＩ／Ｏ装置は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ  Ｂａｓｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．０ａ（２００２年７月発表）に準拠したＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）ＥｘｐｒｅｓｓＴＭ装置である場合がある。マスターＴＰＭ２９２は、Ｔｒｕｓｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｐｌａｔｆｏｒｍ  Ａｌｌｉａｎｃｅ（ＴＣＰＡ）Ｍａｉｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．１ｂ（２００２年２月２２日発表）に準拠した信頼できるプラットフォームモジュールである場合がある。マスターＴＰＭ２９２は、セキュアな動作環境をつくり、かつ維持するために関連されるデータを保護する場合がある。特定の実施の形態では、マスターＴＰＭ２９２は、特定の暗号、復号及び／又は評価プロセスのための鍵を含む場合がある。マスターＴＰＭ２９２は、セキュアな環境で使用されるダイジェスト値及び他の情報を保持するための記憶空間を含んでいる場合もある。１実施の形態では、マスターＴＰＭ２９２における記憶空間は、電力ロスの場合にその内容を保持するための不揮発性メモリ（たとえば、フラッシュメモリ）を含んでいる場合がある。
【００２５】
図２の実施の形態では、それぞれのプロセッサソケットについて４又は５のダイレクト接続を含むものとして示されているが、他の実施の形態は、異なるソケット間で多かれ少なかれダイレクト接続を有する場合がある。さらに、異なる実施の形態では、多かれ少なかれソケットが存在しているが、それぞれのソケットは異なる数のコア及び異なる量のロジック機能を有していることを理解されたい。たとえば、単一のプロセッサシステムは単一のＩ／Ｏハブ、及び該ハブに接続される関連されるＩ／Ｏ装置を有して実現される場合がある。代替的に、（４，８，１６又は３２のような）異なる数のマルチプロセッサを有するマルチプロセッサシステムが実現される場合があり、適切な数のＩ／Ｏハブ及び他のコンポーネントが該プロセッサに接続される場合がある。いずれかのかかるプラットフォームトポロジーは、システムのコヒーレントな部分内にコヒーレンシーを提供するために、及びシステムに接続されるＩ／Ｏ装置間でのノンコヒーレントなペアツーペアトランザクションを許容するために、ポイントツーポイント相互接続を利用する場合がある。さらに、所定の実施の形態では、クロスバー、ルータ等のような更なるコンポーネントがシステム２００に存在する場合がある。
【００２６】
ここで図３を参照して、本発明の１実施の形態に係るスパニングツリーのブロック図が示されている。図３に示されるように、スパニングツリー３００は、ＩＬＰにより構築されるスパニングツリーのグラフィック表現である場合がある。より詳細には、スパニングツリー３００は、プロセッサソケット２１０がＩＬＰを含んでいる図２のシステム２００のスパニングツリーに対応している。なお、スパニングツリーのそれぞれのノードは、図２のマッチングプロセッサソケットのノード識別子に対応するノード識別子を有している。図３に示されるように、ルートレベルノード３１０は、参照符号１のノード識別子を有しており、図２のプロセッサソケット２１０に対応している。レベル２のノードは、プロセッサソケット２１０にダイレクト接続されるノードを含んでいる。特に、図３に示されるように、レベル２のノードは、ノード３１５，３２０，３２５及び３３０を含んでおり、それぞれのノードは、プロセッサソケット２１０にダイレクトに接続されるシステム２００のノードに対応しており、すなわち、プロセッサソケット２２０，２５０及び２６０、並びにマスターＩ／Ｏハブ２９０である。
【００２７】
第三のレベルのノードは、ノード３３５，３４０及び３５０を含んでいる。これらのノードのそれぞれは、第二のレベルのノードにダイレクトに接続されるノードに対応している。たとえば、（たとえば、Ｉ／Ｏハブ２９５に対応する）ノード３３５は、プロセッサソケット２５０にダイレクトに接続され、ノード３４０（すなわち、プロセッサソケット２７０に対応する）は、プロセッサソケット２６０にダイレクトに接続されており、ノード３５０（すなわち、プロセッサソフトウェア２３０に対応する）は、プロセッサソケット２２０にダイレクトに接続されている。最後に、第四のレベルのノードは、ノード３５５及び３６０を含んでおり、その両者は第三のレベルのノード、すなわちノード３４０にダイレクトに接続されている。
【００２８】
このように、スパニングツリーは、システム内の関与するソケットの番号を識別する。システムにおける（ルートソケットを除く）それぞれのソケットは、アップリンクとして識別される１つのリンクを有する場合がある。ＩＬＰにより生成されたブロードキャストメッセージは、そのアップリンクからＲＬＰにより受信される場合がある。さらに、リーフ（たとえば、図３の第四のレベルのノード）であるノードを除く全てのソケットは、ダウンリンクとして識別されるリンクを有している場合がある。それぞれのソケットは、それらのダウンリンクにブロードキャストされたメッセージを伝播する場合がある。所定の実施の形態では、ルックアップテーブル、又は図３に示されるグラフィック表現に対応する他のデータ構造が、ＩＬＰによる使用のためにプロセッサソケット２１０と関連付けされるメモリに記憶される場合がある。
【００２９】
このように、スパニングツリーの構築の終りで、スパニングツリーは、ノード数及び該ノードのレベルに関する情報を含んでいる。スパニングツリーの列挙の結果、固有の識別子がそれぞれのノードに割り当てられ、所与のノード以下のノードのカウントが決定され記憶される場合がある。このように、図３に示されるように、それぞれのノードのノード識別子（図２にも示される）に加えて、更なるスパニングツリーの固有の識別子が存在する場合がある（たとえば、ノードＩＤ  １はスパニングツリー識別子１を有しており、ノードＩＤ  ５はスパニングツリー識別子２を有している）。
【００３０】
ここで図４を参照して、本発明の１実施の形態に係る信頼できるリンクハードウェアのブロック図が示されている。かかる信頼できるリンクハードウェアは、信頼できるエージェントの実行の終了前に使用するためにプロセッサソケット内で信頼できるハードウェアリンクを提供するために使用される場合がある。かかる信頼できるハードウェアリンクは、動作及びリンクに沿ったメッセージの送信のためにファームウェア又はソフトウェアが必要とされないために信頼される場合がある。これは、信頼できるリンクハードウェア４５５ａ及び４５５ｂは、プロセッサソケット（すなわち、ソケット４１０ａ及び４１０ｂ）内に含まれている場合がある。２つのかかるソケットが図４に示されているが、ソケット４１０ａ及びそのコンポーネントが本実施の形態で説明される。図４に示されるように、ハードウェアリンク４５５ａは、プロセッサコア４２０ａとリンクコントローラ４５０ａとの間に接続されている場合がある。信頼できるハードウェアリンク４５５ａを使用することで、信頼できるリンクメッセージが送出され、ソフトウェア又はファームウェアに依存することなしにコア４２０ａから受信される場合がある。
【００３１】
対照的に、通常のシステムのメッセージング及びパケット送信について、リンクベースのメッセージは、コアインタフェース４３０ａ及びプロトコルエンジン４３５ａを通してバス又はリング４２５ａを介して、コア４２０ａに伝わり、又は該コア４２０ａから伝わる。１実施の形態では、プロトコルエンジン４３５ａは、データ及びメッセージをＣＳＩパケットにフォーマットするＣＳＩプロトコルエンジンである場合がある。さらに、バス４４０ａは、クロスバー４４５ａを通してプロトコルエンジン４３５ａを接続する。そこから、データ及びメッセージは、他のノード、プロセッサソケットと関連されるメモリ、リンクコントローラ４５０ａ、又は他の所望の位置に送出される場合がある。
【００３２】
コアインタフェース４３０ａ、プロトコルエンジン４３５ａ、及びクロスバー４４５ａを含むコンポーネントは信頼されないファームウェアによりセットアップされるため、このパスは、信頼できるエージェントの実行を終了する前に、だましのないアクセスパスを提供しない場合がある。したがって、様々な実施の形態では、ハードウェアリンク４５５ａは、コア４２０ａとリンクコントローラ４５０ａとの間にだましのないアクセスパスを提供する場合があり、このことは、信頼できるエージェントによるシステムの評価前に使用のために特に適している。たとえば、評価の前に、リンクコントローラ４５０ａ及び４５０ｂのようなリンクコントローラは、コアからの特定の命令を使用してリンクメッセージを生成するために使用される場合がある。受信リンクコントローラは、リンクメッセージの内容を取得し、信頼できるハードウェアリンク４５５ａのような信頼できるハードウェアリンクを介してプロセッサコアを直接利用可能にする場合がある。所定の実施の形態では、コアにおけるマイクロコードに、信頼できるハードウェアリンク上に新たなリンクメッセージが到達したことが通知されるように、リンクコントローラからプロセッサコアへのイベントメカニズムが行われる場合がある。リンク初期化の間、近隣のノードに関する情報は、リンクコントローラにより取得され、プロトコルエンジン及びプロセッサコアの両者が利用可能となる場合がある。かかる実施の形態では、かかる情報は、近隣のノードのノードタイプ及びノード識別子を含んでいる場合がある。
【００３３】
図４に更に示されるように、プロセッサソケット４１０ａに関して先に説明された対応するコンポーネントがプロセッサソケット４１０ｂに見られる場合がある。さらに、２つのプロセッサ間の信頼できるリンクは、リンクコントローラ４５０ａとリンクコントローラ４５０ｂの間に接続されるハードウェアリンク４６０を介して作用される場合がある。この信頼できるリンクは、信頼できるエージェントによるシステムの評価前に、プロセッサソケット間でリンクベースのメッセージを送出するために使用される場合がある。
【００３４】
ここで図５を参照して、ＩＬＰによりビューされたときの、本発明の１実施の形態に係るセキュアな起動に関するタイミングチャートが示されている。図５に示されるように、セキュアな起動５００は、信頼できるエージェント及びセキュアカーネルをメモリにロードすることで開始する（セグメント５０２）。先に説明されたように、１実施の形態では、信頼されないＯＳは、かかるロード動作を実行する場合がある。次いで、ＳＥＮＴＥＲ命令は、所望のＩＬＰを含むプロセッサソケットに送出される場合がある（セグメント５０４）。たとえば、かかる命令は、信頼されないＯＳにより発せられる場合がある。
【００３５】
ＩＬＰがＳＥＮＴＥＲ命令を受信したとき、ＩＬＰはそのソケット内の他の論理プロセッサ及び他のプロセッサ、より詳細には、それぞれのプロセッサソケットにおいて１つ存在する場合がある応答論理プロセッサ（ＲＬＰ）に同じ命令を発する場合がある。どの論理プロセッサがＩＬＰ及び／又はＲＬＰであるかに関する判定は、異なる実施の形態において変換する場合があり、ソフトウェア又はファームウェアの決定に基づく場合がある。たとえば、１実施の形態では、ＩＬＰは、ＯＳにより選択される場合がある。さらに、他のプロセッサソケット内のＲＬＰは、所与のソケットにおける全ての論理プロセッサにより選択される場合がある。時間５１０で、ＩＬＰは、該ＩＬＰがマスターＩ／Ｏハブにダイレクトに接続されたことを調べる場合がある。その後、時間５１５で、ＩＬＰは、ＳＥＮＴＥＲバスメッセージをそのソケット内のＯＬＰにブロードキャストする場合があり、それぞれのＯＬＰは、ＳＥＮＴＥＲ命令に応答する場合がある（時間５２０）。
【００３６】
この時間で、ＳＥＮＴＥＲローカルイベントが開始される場合がある（セグメント５２２）。時間５２５で、それぞれのＯＬＰは、確認応答（ＡＣＫ）を発し、待ち状態に入る場合がある。かかる待ち状態は、ＩＬＰにより待ち状態を離れることを後に命令されるまで、ＯＬＰにより維持される場合がある。
【００３７】
その後、ＳＥＮＴＥＲグローバル命令フェースに入る場合がある（セグメント５２８）。はじめに、ＩＬＰは、システム内のノードからの確認応答（ＡＣＫ）を求めるメッセージを送出する場合がある。ＡＣＫがＩＬＰにより受信されたとき、ＩＬＰは、継続命令を送出する場合がある（時間５３０）。この時間で、ＩＬＰは、スパニングツリーを構築する場合がある。
【００３８】
スパニングツリーの構築が異なる形式をとる場合があるが、１実施の形態では、スパニングツリーは、次のより低いレベルへとツリーの下へブロードキャストされるリンクレベルメッセージであるパルスを送出し、ツリーをバックアップする累積された結果を含むリンクレベルメッセージであるリターンパルスを受信することで構築される場合がある。かかるやり方では、パルスメッセージを受信するそれぞれのＲＬＰは、該パルスメッセージをそのダウンリンクに送出し、該ダウンリンクからリターンメッセージを受信する場合がある。送出されたスパニングツリーのリンクベースメッセージにより、ソケットは、それぞれのソケットにレベルを設定する。次いで、固有の識別子がそれぞれのノードに割り当てられるスパニングツリーの列挙が行われる場合がある。したがって、スパニングツリーの終了に応じて、それぞれのソケットには固有な識別子及びレベルが割り当てられ、ＩＬＰに関するその相対的な位置、並びにソケットからの、及びソケットへのアップリンク接続及びダウンリンク接続がさらに示される。
【００３９】
スパニングツリーの評価及び終了に応じて、ＩＬＰは、ＳＥＮＴＥＲ命令を全ての他のプロセッサソケットに送出する場合がある（時間５３５）。つぎに、ＩＬＰは、スパニングツリー上のノードから受信された要約的な応答をマージする場合がある（時間５４０）。ツリーにわたるアルゴリズムは、ソフトウェアのトポロジー設定がそれぞれのノードにシステムのルーティングプロトコルで使用される固有な識別子を与えたことを調べる。
【００４０】
次いで、ＩＬＰは、該ＩＬＰがマスターＩ／Ｏハブにおける指定されたアドレスで見つける信頼できるエージェントを評価（たとえば、計算及びハッシュ）及び認証（署名を確認）し、信頼できるエージェントのハッシュ値、ベースアドレス及び長さ、並びに他のプロセッサソケットへの署名を調べるために使用される公開鍵のハッシュ値をブロードキャストする（時間５５０）。かかるブロードキャストは、スパニングツリープロトコルを使用して行われる場合がある。他のソケットが信頼できるエージェントを評価したとき、他のソケットは応答メッセージを送出し、この応答メッセージは、時間５５５でＩＬＰによりマージされる。各ソケットが肯定の応答を送出する場合、ステップ５６０で、ＩＬＰは、信頼できるエージェントのハッシュをロードして（たとえば、マスターＴＰＭに）記録し、該信頼できるエージェントを起動する場合がある。１以上のソケットが肯定応答できない場合、所定の実施の形態では、セキュアな起動が終了する場合がある。図５に示される実施の形態では、信頼できるエージェントは、本発明の範囲はそのように限定されないが、（たとえば、ＳＩＮＩＴ−ＡＣ：Ｓｅｃｕｒｅ  ＩＮＩＴｉａｌｉｚａｔｉｏｎ−Ａｕｔｈｅｎｔｉｃａｔｅｄ  Ｃｏｄｅである）セキュアな信頼できるエージェント（ｓｅｃｕｒｅ  ｔｒｕｓｔｅｄ  ａｇｅｎｔ）である場合がある。
【００４１】
次いで、信頼できるエージェントが実行されている場合がある（セグメント５７２）。１実施の形態では、信頼できるエージェントの実行は、ゆるいロックステップのＳＩＭＤ実行（ｌｏｏｓｅｌｙ  ｌｏｃｋ−ｓｔｅｐ  ＳＩＭＤ  ｅｘｅｃｕｔｉｏｎ）で行われる場合がある。すなわち、同じ信頼できるエージェントは、全てのソケットで実行し、コード内の特定のバリアで同期される場合がある。たとえば、ＩＬＰは、全てのリンクに関するオプコード及びデータを含むブロードキャストメッセージを発する場合がある。それぞれのＲＬＰは、データを取得し、もしあれば、メッセージをそのダウンリンクに送出し、データを処理する場合がある。ＲＬＰがツリーのリーフである場合、ＲＬＰは、そのアップリンクに応答メッセージを送出する場合がある。ＲＬＰが中間のノードである場合、ＲＬＰは、そのダウンリンクから全ての応答を待ち、オプコードを使用して全ての応答データを要約し、要約された応答をそのアップリンクに送出する場合がある。最後に、ＩＬＰは、全ての他のソケットから要約された応答を取得したとき、同様のやり方で次のバリア位置に実行が継続される場合がある。
【００４２】
実行の間、信頼できるエージェントは、それぞれのプロセッサソケットにあるローカルコンフィギュレーション及びアドレスデコーダを評価する場合がある（時間５７０）。さらに、信頼できるエージェントは、それぞれのプロセッサソケットのノード識別子のそれぞれの固有さを評価する場合がある（時間５７５）。たとえば、信頼できるエージェントは、ソースアドレスデコーダに対してＩＬＰに送出させる場合がある（時間５８０）。次いで、ＩＬＰは、ソースアドレスデコーダの比較の結果をマージ及び分析する場合がある（時間５８５）。次いで、信頼できるエージェントは、セキュアカーネルを評価、ロード、記録及び起動することで終了する場合がある（時間５９０）。かかる評価の情報（たとえば、ハッシュ値）は、所定の実施の形態では、マスターＴＰＭに記憶される場合がある。１実施の形態では、セキュアカーネルは、本発明の範囲がそのように限定されるものではないが、セキュアな仮想マシンモニタ（ＳＶＭＭ：Ｓｅｃｕｒｅ  Ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ  ｍｏｎｉｔｏｒ）である場合がある。
【００４３】
更に図５を参照して、モニタ初期化（セグメント５９２）は、ＩＬＰに全てのソケットにおける全てのプロセッサコアを特別な命令で起動させ、全てのプロセッサにそれらの待ち状態から脱出させる。したがって、セグメント５９６で、全てのモニタが結合され、時間５９８で、全てのプロセッサコアが関与し、セキュアカーネル動作が開始する（セグメント５９９）。
【００４４】
ここで図６を参照して、本発明の１実施の形態に係るセキュアな起動に関するタイミングチャートが示されている。より詳細には、図６は、応答論理プロセッサ（ＲＬＰ）によりビューされたときの、セキュアな起動に関するタイミングチャートを示している。したがって、図６に見られるセキュアな起動６００は、図５のタイミングチャートで行われる動作に密に対応している。はじめに、ＳＥＮＴＥＲであるドアベルのイベントが行われる（セグメント６０４）。かかるイベントの間、ＲＬＰは、ＩＬＰからのＳＥＮＴＥＲのドアベルの命令により割込みされる（時間６０５）。その後、時間６１０で、ＲＬＰは、ＳＥＮＴＥＲダウンリンクメッセージをそのダウンリンクノードに（もしあれば）送出する。時間６１５で、ＲＬＰは、そのソケット内で全てのプロセッサ（すなわち、ＯＬＰ）にＳＥＮＴＥＲメッセージをブロードキャストする。ソケットにおけるそれぞれの他の論理プロセッサは、ＳＥＮＴＥＲサイクルに応答する場合がある（時間６２０）。次いで、ＳＥＮＴＥＲローカルイベントが行われ（セグメント６２２）、それぞれのＯＬＰがＩＬＰにＡＣＫを発し、ＯＬＰは待ち状態に入る（時間６２５）。
【００４５】
次いで、セグメント６２８で、ＳＥＮＴＥＲドアベルのグルーバルイベントが行われる。ダウンリンクノードからの全てのＡＣＫがＲＬＰにより受信されたとき、ＲＬＰは、継続メッセージをＩＬＰに送出する（時間６３０）。時間６３５で、ＲＬＰは、かかる継続メッセージをマージする。次いで、時間６４０で、ＲＬＰは、評価情報をＩＬＰから受信する場合がある。１実施の形態では、ＩＬＰは、信頼できるエージェントのハッシュ値、ベース、サイズ及び公開鍵のハッシュに関する情報を送出する場合がある。さらに、この時間で、ＲＬＰは、この情報をそのダウンリンクのノードに送出する場合がある。時間６４５で、ＲＬＰは、受信されたハッシュをその信頼できるエージェントのハッシュと比較する場合がある。
【００４６】
時間６５０で、ＲＬＰは、そのダウンストリームノードから評価メッセージを受信し、それらの結果をマージする。また、ＲＬＰは、要約的な応答をそのアップストリームのノードを通してＩＬＰに送出する。次いで、ＩＬＰから受信された情報に基づいて、ＲＬＰは、信頼できるエージェントの署名をロード、認証、チェックし、信頼できるエージェントを起動する（時間６５５）。
【００４７】
全てのプロセッサソケットがこのポイントに到達した場合、信頼できるエージェントは実行する（セグメント６７２）。特に、信頼できるエージェントは、それぞれのローカルコンフィギュレーション及びノードＩＤを評価し（時間６６０）、ソケット内のソースアドレスデコーダをチェック及び評価する（時間６６５及び６７０）。ＲＬＰは、ダウンリンクソケットからのこの評価の結果を受信し、該結果をそのアップリンクのプロセッサすなわちＩＬＰに送出する場合がある（時間６７５）。次いで、ＲＬＰソケットは、特別の待ち状態に入る（時間６８０）。
【００４８】
このポイントで、はじめに、ＩＬＰソケット上でセキュアカーネルが起動される（セグメント６９２）。次いで、時間６８５で、ＩＬＰ上のセキュアカーネルは、全てのソケット上の全てのプロセッサコアを特別の起動命令で起動する。この時間で、セキュアカーネルは、システムのプロセッサの一部又は全部でその実行を継続する。たとえば、セキュアンな起動に続いて、仮想マシン環境が創られ、ＳＶＭＭはシステム内の最優先コードとして動作する場合があり、仮想マシン内のＯＳ又はアプリケーションにより所定のシステムリソースへのダイレクトアクセスを許可又は否定するために使用される場合がある。
【００４９】
かかるやり方で、本発明の実施の形態は、信頼されないソフトウェア及びファームウェアによりコンフィギュレーションされている任意のコンプレックスサーバハードウェアトポロジーで、信頼できるセキュアカーネルを記録及び起動する場合がある。次いで、カーネルは、構築、記録及び認証するために信頼できるサーバ実行環境に進む場合がある。さらに、所定の実施の形態では、信頼できるエージェントは、サーバトポロジーにおいて全てのプロセッサソケット上でＳＩＭＤスタイルにより実行される場合があり、信頼できるバリア／ブロードキャストメカニズムを使用することで、任意のコンプレックスサーバトポロジーのコンフィギュレーションが評価される場合があり、ハードウェアから信頼できるエージェントへの推移する信頼により、セキュアな環境が記録及び起動することができる。
【００５０】
本実施の形態はコードで実現される場合があり、命令を実行するためにコンピュータシステムをプログラムするために使用される記憶されている命令を有する記憶媒体に記憶されている場合がある。記憶媒体は、限定されるものではないが、フロッピーディスク、光ディスク、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、コンパクトディスクリライタブル（ＣＤ−ＲＯＭ）及び光磁気ディスクを含むいずれかのタイプのディスク、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能なプログラマブルリードオンリメモリ（ＥＰＲＯＭ）、フラッシュメモリ及び電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）のような半導体デバイス、磁気又は光カード、若しくは電子的な命令を記憶するために適したいずれかのタイプのメディアを含んでいる場合がある。
【００５１】
本発明が制限された数の実施の形態に関して説明されたが、当業者であれば、これらの実施の形態から様々な変更及び変形を理解されるであろう。添付された特許請求の範囲は、本発明の真の精神及び範囲に包含されるとして全てのかかる変更及び変形をカバーすることが意図される。
【図面の簡単な説明】
【００５２】
【図１Ａ】本発明の１実施の形態に係る方法に関するフローチャートである。
【図１Ｂ】図１Ａのフローチャートに続くフローチャートである。
【図２】本発明の１実施の形態に係るシステムに関するブロック図である。
【図３】本発明の実施の形態に従って構築されるスパニングツリーに関するブロック図である。
【図４】本発明の実施の形態に係る信頼されたハードウェアリンクのブロック図である。
【図５】始動論理プロセッサによるビューとしての、本発明の１実施の形態に係るセキュア起動に関するタイミングチャートである。
【図６】応答論理プロセッサによるビューとしての、本発明の１実施の形態に係るセキュア起動に関するタイミングチャートである。
【符号の説明】
【００５３】
２００：システム
２１０，２２０，２３０，２４０，２５０，
２６０，２７０，２８０：プロセッサソケット
２１２ａ〜２１２ｄ：プロセッシングコア
２１５：バス又はリング
２１６：ロジック機能
２１８：メモリ
２９０：マスターＩ／Ｏハブ
２９２：マスターＴＰＭ
２９５：第二のＩ／Ｏハブ
【図１Ａ】
2005346689.tif 000003
【図１Ｂ】
2005346689.tif 000004
【図２】
2005346689.tif 000005
【図３】
2005346689.tif 000006
【図４】
2005346689.tif 000007
【図５】
2005346689.tif 000008
【図６】
2005346689.tif 000009