(57)【要約】      （修正有）【課題】ＰＣＩｅスイッチでのホスト間通信のセキュリティ及び分離の改良。【解決手段】ＰＣＩｅ構造は少なくとも１つのＰＣＩｅスイッチを含む。スイッチ構造を使用して、複数のホストを接続し得る。ＰＣＩｅスイッチは、ホスト間メッセージ通信のセキュリティ対策及び分離対策を実施する。管理エンティティが、仮想ＰＣＩｅ構造ＩＤ（ＶＰＦＩＤ）を定義する。ＶＰＦＩＤは、セキュリティ及び分離の実施に使用される。構造ＩＤは、他のポイントツーポイントプロトコルを有するスイッチ構造で使用されるように拡張し得る。【選択図】図１
2014099847.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
ポイントツーポイントネットワークプロトコルを有するスイッチ構造の動作方法であって、
少なくとも１つの定義されたサブネットの少なくとも１つの仮想構造ＩＤ（ＶＦＩＤ）を決定すること、
仮想構造ＩＤで、少なくとも１つのホストからの出力メッセージのパケットをタグ付けすること、
少なくとも１つのホストへの入力メッセージが、前記仮想構造ＩＤに一致するタグを有するか否かを判断することを備え、
前記入力メッセージの前記タグが承認された仮想構造ＩＤに一致する場合、入力メッセージの通常受信処理がサポートされ、前記タグが前記承認された仮想構造ＩＤに一致しない場合、前記入力メッセージが前記スイッチ構造でドロップされる、方法。
【請求項２】
前記少なくとも１つの定義されたサブネットの少なくとも１つの仮想構造ＩＤを決定することは、
スイッチ構造の管理者から、サブネットを定義する入力を受信すること、
少なくとも１つの定義されたサブネットの前記少なくとも１つの仮想構造ＩＤ（ＶＦＩＤ）を生成することを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの定義されたサブネットの少なくとも１つの仮想構造ＩＤを決定することは、
少なくとも１つの定義されたサブネットの前記少なくとも１つの仮想構造ＩＤ（ＦＶＩＤ）を定義するテーブルを生成することを含む、請求項１に記載の方法。
【請求項４】
前記ポイントツーポイントネットワークプロトコルは、ＰＣＩエクスプレスである、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記タグ付けは、ベンダー定義のメッセージングを介して実行される、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記仮想構造ＩＤが一致しない場合、エラーコードが送信者に返信される、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記判断することは、ポートから供給されるあらゆるホスト間パケットをチェックし、有効な仮想構造ＩＤがタグ付けされていない場合、前記パケットをドロップすることを含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記判断することは、有効な仮想構造ＩＤについて各受信ポートにおいてパケットをチェックし、無効な仮想構造ＩＤを有するパケットをドロップすることを含む、請求項７に記載の方法。
【請求項９】
前記スイッチ構造は、各ポートの仮想直接メモリアクセス（ＤＭＡ）エンジン機能を含み、
受信することは、スイッチ構造の管理者から、ＶＦＩＤとＤＭＡ機能との関係を定義する１つ又は複数の設定を受信することを含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記設定は、
単一ＶＦＩＤ／ＤＭＡ機能、
ＤＭＡ機能毎の複数ＶＦＩＤモード、及び
単一ＶＦＩＤを有するデフォルト設定を含み、
すべてのＤＭＡ機能は前記設定に設定される、請求項９に記載の方法。
【請求項１１】
イーサネット仮想ローカルエリアネットワーク（ＶＬＡＮ）を対応するＶＦＩＤに変換して、スイッチ構造を介してイーサネットＶＬＡＮを実行できるようにすることを更に含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
少なくとも部分的に、承認されたＶＦＩＤに一致しないタグに基づいて少なくとも１つのエラーメッセージを生成することを更に含む、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
前記少なくとも１つのエラーメッセージは、セキュリティ違反通知を含む、請求項１２に記載の方法。
【請求項１４】
管理システムと併せたＰＣＩエクスプレススイッチであって、
前記管理システム内のメモリが、仮想構造ＩＤのテーブルを記憶し、前記ＰＣＩエクスプレススイッチに結合されたホストのホスト間メッセージフローのセキュリティ及び分離を実施する、ＰＣＩエクスプレススイッチ。
【請求項１５】
ＰＣＩエクスプレススイッチは、請求項１〜１３のいずれか１項に記載の方法を実行するように構成される、請求項１４に記載のＰＣＩエクスプレススイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にはスイッチ及び電子通信に関する。より詳細には、本発明は、インテリジェントＰＣＩｅスイッチでのホスト間通信のセキュリティ及び分離の改良に関する。
【背景技術】
【０００２】
コンピュータアーキテクチャは、ここ何年かにわたり大きく進歩した。最近、チップ設計者がユニバーサルシリアルバス（ＵＳＢ）インタフェースコントローラ等の外部データインタフェースをマザーボードに含むことがますます一般的になりつつある。これらのインタフェースはホストコントローラとして知られる。次に、プロセッサは通常、入／出力（Ｉ／Ｏ）相互接続システムを介してコンピュータシステムの他の構成要素に接続される。
【０００３】
利用可能な多くの異なるコンピュータＩ／Ｏ相互接続規格がある。長年にわたり最も人気のあるものの１つは、周辺機器相互接続（ＰＣＩ）規格である。ＰＣＩにより、バスはローカルプロセッサバスを周辺機器から分離するブリッジのように機能することができ、それにより、この相互接続を介して、コンピュータの中央演算処理装置（ＣＰＵ）をＩＯ装置のホストに接続することができる。
【０００４】
最近、ＰＣＩエクスプレス（又は単にＰＣＩｅ）と呼ばれるＰＣＩの後継が普及した。ＰＣＩｅは、より高い性能、柔軟性及び次世代システムへの拡張性の増大を、既存のＰＣＩアプリケーションとのソフトウェア互換性を維持しながら提供する。レガシーＰＣＩと比較して、ＰＣＩエクスプレスプロトコルはかなり複雑であり、３層−トランザクション層、データリンク層、及び物理層−を有する。
【０００５】
ＰＣＩエクスプレスシステムでは、ルートコンプレックス装置がプロセッサ及びメモリサブシステムを、１つ又は複数のスイッチ装置で構成されるＰＣＩエクスプレススイッチ構造に接続する（しかし、スイッチなしの実施形態も可能である）。ＰＣＩエクスプレスでは、ポイントツーポイントアーキテクチャが使用される。ＰＣＩシステムでのホストブリッジと同様に、ルートコンプレックスは、ローカルＩ／Ｏ相互接続を介して相互接続されたプロセッサの代理として、トランザクション要求を生成する。ルートコンプレックス機能は、離散装置として実施してもよく、又はプロセッサと統合してもよい。ルートコンプレックスは、２つ以上のＰＣＩエクスプレスポートを含み得、複数のスイッチ装置をルートコンプレックスのポートに接続又はカスケード接続することができる。
【０００６】
本発明の譲受人は、ＰＣＩｅスイッチについての全般的な背景情報を提供する、（特許文献１）、（特許文献２）、及び（特許文献３）に記載の様々なＰＣＩｅスイッチを開発した。一例として、図１は、スイッチ管理ソフトウェアを実行中の管理ホストにより制御される標準ＰＣＩｅスイッチ１０２を有する、通常共有されるＩＯアーキテクチャを示すブロック図である。スイッチ１０２は、接続ホスト１０６及び接続ホスト１０８（「ローカルホスト」とも呼ばれる）として示される１つ又は複数のホスト、例えば、サーバ、ＰＣ、及び他の計算装置にサービス提供する。スイッチ１０２には、通常、接続ホストに何らかの種類の機能又はサービスを提供する１つ又は複数の装置１１０〜１１６も接続される。スイッチ１０２内には仮想装置１１８〜１２４がある。仮想装置１１８及び１２０が、接続ホスト１０６に接続され、仮想装置１２２及び１２４が、接続ホスト１０８に接続される。これらの仮想装置のいくつかは、物理装置１１０〜１１４へのデータパスを有する。仮想装置１１８〜１２４の機能及び役割は、「単一ルート入／出力仮想化のマルチルート共有（ＭＵＬＴＩ−ＲＯＯＴ  ＳＨＡＲＩＮＧ  ＯＦ  ＳＩＮＧＬＥ−ＲＯＯＴ  ＩＮＰＵＴ／ＯＵＴＰＵＴ  ＶＩＲＴＵＡＬＩＺＡＴＩＯＮ）」という名称の同時係属中の出願である（特許文献３）に記載され、ここには、複数のホストが、共有Ｉ／ＯメカニズムをサポートするＰＣＩｅスイッチの非トランスペアレントポートを使用して接続される場合、リソースリダイレクション方法を使用する解決策が記載された。
【０００７】
別の例として、図２は、論理装置対応ソフトウェアと共に、論理装置及び管理ホストシステムを有するＰＣＩｅスイッチを示すブロック図であり、「論理装置能力を有するＰＣＩエクスプレススイッチ（ＰＣＩ  ＥＸＰＲＥＳＳ  ＳＷＩＴＣＨ  ＷＩＴＨ  ＬＯＧＩＣＡＬ  ＤＥＶＩＣＥ  ＣＡＰＡＢＩＬＩＴＹ）」という名称の（特許文献１）に記載され、この内容を参照により本明細書に援用する。ホスト２０４及び３つの物理装置２０６〜２１０に接続された革新的なＰＣＩｅスイッチ２０２が示される。論理装置ソフトウェア及び管理システムの動作のために必要な他のソフトウェアを有する管理システムホスト２１２が、スイッチ２０２に接続される。論理装置対応ソフトウェアは、破線枠で示される論理装置２１４（統合仮想装置とも呼ばれる）を動作させる。論理装置２１４は、接続ホスト２０４と仮想的に動作する。論理装置２１４は、物理装置２０６〜２１０に続くデータパスを有する。管理システムホスト２１２は、論理装置２１４を実施する物理装置２０６〜２１０への、破線で示される制御パスを有する。これらの制御パスは、本質的に管理システム２１２内の論理装置対応ソフトウェアから生じ、論理（仮想）装置２１４の物理的な実行を担当することを示すために破線である。論理装置は、直接メモリアクセス（ＤＭＡ）エンジンにも関係付けられる。
【０００８】
「疑似物理機能を使用してのホストへの複数の仮想機能の共有（ＳＨＡＲＩＮＧ  ＭＵＬＴＩＰＬＥ  ＶＩＲＴＵＡＬ  ＦＵＮＣＴＩＯＮＳ  ＴＯ  Ａ  ＨＯＳＴ  ＵＳＩＮＧ  Ａ  ＰＳＥＵＤＯ  ＰＨＹＳＩＣＡＬ  ＦＵＮＣＴＩＯＮ）」という名称の２０１１年８月１８日に出願された（特許文献２）は、仮想化された物理機能を有するＰＣＩｅスイッチを記載している。（特許文献２）の内容は参照により本明細書に援用され、本発明の譲受人の他のＰＣＩｅスイッチ実施についての背景を提供する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許出願第１３／６２４，７８１号明細書
【特許文献２】米国特許出願第１３／２１２，７００号明細書
【特許文献３】米国特許出願第１２／９７９，９０４号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ＰＣＩｅスイッチのクラスタサイズ及び機能は増大し続けるため、メッセージフローのセキュリティは潜在的な考慮事項である。本出願の発明者らは、従来のセキュリティ手法がこれらの問題への対処に不適切であると認識していた。
【課題を解決するための手段】
【００１１】
本発明の一態様は、ＰＣＩエクスプレス等のポイントツーポイントプロトコルを有するスイッチ構造の機能を強化する方法である。仮想構造ＩＤは、スイッチ構造に結合されたホストのホスト間メッセージフローのセキュリティ及び分離を実施するために使用される。
【００１２】
一実施形態では、ＰＣＩエクスプレススイッチは管理ホストを含む。管理ホストは、管理テーブル及び関連付けられた仮想構造ＩＤを定義するために、管理者により使用される。ホストコンピュータシステムは、ＰＣＩエクスプレススイッチのポートに結合される。ＰＣＩエクスプレススイッチは、承認された仮想構造ＩＤでタグ付けされていないメッセージパケットをドロップし、それにより、ホスト間メッセージフローのセキュリティ及び分離を実施する。
【図面の簡単な説明】
【００１３】
【図１】スイッチ管理ソフトウェアを実行中のシステム管理ホストにより制御される標準ＰＣＩｅスイッチを有する通常共有されるＩＯアーキテクチャを示すブロック図である。
【図２】同時係属中の（特許文献１）による、論理装置対応ソフトウェアと共に、論理装置及び管理ホストシステムを有するＰＣＩｅスイッチを示すブロック図である。
【図３】本発明の一実施形態によるセキュリティ及び分離をサポートするＰＣＩｅスイッチを示すブロック図である。
【図４】本発明の一実施形態による仮想ＰＣＩｅ構造ＩＤの受信処理の流れ図である。
【図５】本発明の一実施形態による仮想ＰＣＩｅ構造ＩＤの送信処理の流れ図である。
【発明を実施するための形態】
【００１４】
これより、本発明を実行するために本発明者らが意図する最良の形態を含む本発明の特定の実施形態を詳細に参照する。これらの特定の実施形態の例が添付図面に示される。本発明は、これらの特定の実施形態と併せて説明されるが、本発明を記載の実施形態に限定する意図がないことが理解されるだろう。逆に、添付の特許請求の範囲により規定される本発明の趣旨及び範囲内に含み得る代替、変更、及び均等物の包含が意図される。以下の説明では、本発明の完全な理解を提供するために、特定の詳細が記される。本発明は、これらの特定の詳細のいくつか又は全てなしで実施し得る。加えて、本発明を不必要に曖昧にしないように、周知の特徴については詳述しないことがあった。
【００１５】
本発明によれば、構成要素、プロセスステップ、及び／又はデータ構造は、様々な種類の動作システム、プログラミング言語、計算プラットフォーム、コンピュータプログラム、及び／又は汎用機を使用して実施し得る。加えて、ハードワイヤード装置、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等のより汎用性が低い装置も、本明細書に開示される本発明の概念の範囲及び趣旨から逸脱せずに使用し得ることを当業者は認識するだろう。本発明は、メモリ装置等のコンピュータ可読媒体に記憶されたコンピュータ命令セットとして有形に具現することもできる。
【００１６】
本特許出願の発明者らは、ＰＣＩエクスプレス（ＰＣＩｅ）スイッチ構造アーキテクチャに伴う問題があることを認識した。特に、従来技術は、適切なセキュリティ及び分離（security and segregation）を、ＰＣＩｅ等のポイントツーポイントプロトコルを使用するスイッチ構造を介するホスト間通信に提供しない。
【００１７】
図３はＰＣＩｅスイッチ３０５を示す。一実施態様では、ＰＣＩエクスプレス３０５は、カリフォルニア州サニーベール（Ｓｕｎｎｙｖａｌｅ，Ｃａｌｉｆｏｒｎｉａ）に所在のＰＬＸテクノロジー社（ＰＬＸ  Ｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．）のカペラ２（Ｃａｐｅｌｌａ２）スイッチであり、より詳細に後述するように、セキュリティ及び分離を実施する次世代ハードウェア及びソフトウェアのフック（hook）を含む。
【００１８】
ＰＣＩｅスイッチ３０５は、内部仮想バス、仮想化ＤＭＡエンジン、及び関連付けられたＤＭＡ機能を含む。特に、接続ホストのポート毎に複数のＤＭＡ機能（ＤＭＡ  Ｆｎ０、・・・、ＤＭＡ  Ｆｎ  Ｎ）へのサポートがあり、例として、ＤＭＡ機能は、ネットワークインタフェースカード（ＮＩＣ）機能又はネットワーク記憶機能を複製することを含み得る。仮想化される物理機能のさらなる例は、「疑似物理機能を使用してのホストへの複数の仮想機能の共有（ＳＨＡＲＩＮＧ  ＭＵＬＴＩＰＬＥ  ＶＩＲＴＵＡＬ  ＦＵＮＣＴＩＯＮＳ  ＴＯ  Ａ  ＨＯＳＴ  ＵＳＩＮＧ  Ａ  ＰＳＥＵＤＯ  ＰＨＹＳＩＣＡＬ  ＦＵＮＣＴＩＯＮ）」という名称の（特許文献２）に記載され、その内容を参照により本明細書に援用する。
【００１９】
管理システムは、接続ホスト上に複数のＤＭＡ機能を設ける。（追加の管理詳細が（特許文献１）、（特許文献２）、及び（特許文献３）に記載され、これらの内容を参照により本明細書に援用する）。一実施形態では、ＤＭＡ機能はスイッチに存在し、ホストＤＭＡドライバがスイッチハードウェアで動作して、ＰＣＩｅ構造にわたるメッセージの受け渡しを行うように、管理ソフトウェアによりマッピングされる。
【００２０】
クラスタ内のノード間のメッセージングは、様々な特徴によりサポートされる。管理ＣＰＵ（ＭＣＰＵ）は、任意の接続ホストへのいくつかの論理ＤＭＡ機能を示し、一実施形態では、例えば、（特許文献１）、（特許文献２）、及び（特許文献３）に記載のメカニズムを使用し得る。それが行われると、ＤＭＡ機能は、接続ホストにネットワーク化されたエンドポイントと同様のＰＣＩｅエンドポイントとして見える。インテリジェントスイッチにより提供されるＤＭＡ機能を使用してのメッセージング送受信動作を可能にするメッセージングドライバが、このエンドポイントにロードされる。そのような各ＤＭＡ機能は、ＰＣＩｅ構造においてこの機能を一意に識別するハードウェアＩＤを有し、すべてのメッセージング機能要求は、この一意のＩＤに基づいて、接続ホスト間でスイッチによりルーティングされる。インテリジェントスイッチによりサポートされるブロードキャストメッセージングメカニズムの構成を用いて、接続された各ホストは、これらの一意のＩＤを使用して、接続されている他のホストを検出／識別することができる。
【００２１】
より高次の層のプロトコルドライバは、この一意のハードウェアＩＤに基づいてこのメッセージングインタフェース／ＤＭＡ機能の一意のＩＤを構築することができる。一例として、このメッセージングインタフェースを介するイーサネット（Ｅｔｈｅｒｎｅｔ、登録商標）トンネリングソフトウェアは、ＤＭＡインタフェースの一意の２４ビットＰＣＩｅ構造ＩＤに基づいて、このＤＭＡインタフェースのイーサネット  ＭＡＣアドレスを構築することができる。ＲＤＭＡ層ドライバは、この同じＰＣＩｅ構造ＩＤを使用して、ＤＭＡインタフェースのＧＩＤ（グローバルＩＤ）を構築することができる。これらのすべてのマッピングは、１対１の対応性を有するように行われる場合、メッセージングプロトコルのアドレッシングメカニズムとして完璧に機能する。
【００２２】
検出が行われると、異なる接続ホスト上のアプリケーションは、このＤＭＡ機能により提供されるメッセージングトランスポートを使用して互いに対話することができる。そのようなアプリケーションの例は、他の構造のために書かれたＭＰＩアプリケーション又はソケットアプリケーションを含み、このＤＭＡメッセージングインタフェースを介してシームレスに機能する。
【００２３】
このメッセージングはここで、多数の接続ホスト間のＰＣＩｅ構造で実施可能であるため、ネットワークの使用／デプロイモデルに基づいて分離するとともに、相互接続（スイッチ）のレベルで追加のセキュリティを提供する必要がある。本発明の一実施形態は、仮想構造ＩＤタグ付け及び実施に基づいてそのようなセキュリティ／分離メカニズムに対処する。
【００２４】
ＤＭＡ機能は、ＰＣＩｅ構造上の接続ホスト間のメッセージング／ホスト間通信チャネルとして機能する。このメッセージ受け渡し機能を使用して、このＰＣＩｅメッセージングメカニズムを介してトンネリングするイーサネットソフトウェア及びこのメッセージングメカニズムを介して実行されるＲＤＭＡ／記憶プロトコル等の他の構造に向けて開発された様々な上位層プロトコルを実施することができる。
【００２５】
本発明の一実施形態によれば、セキュリティが、メッセージングに全体として−特定のプロトコルに基づくセキュリティメカニズムではなく、仮想構造ＩＤを使用する、共通ＰＣＩｅ構造に基づくセキュリティメカニズムとして−提供される。
【００２６】
管理ホスト３１０は、ＣＰＵ及びメモリ（図示せず）を含み、ＰＣＩｅスイッチ３０５の管理ソフトウェアを実行する。管理ソフトウェアは、管理エンティティとして機能し、管理者がスイッチ動作を管理できるようにする。
【００２７】
いくつかの異なるホストコンピュータシステム（ホスト１、ホスト２、・・・、ホストＭ）をＰＣＩエクスプレススイッチに接続し得、各ホストは関連付けられたＣＰＵ及びメモリを有する。ＰＣＩｅ構造のスイッチのポートに接続されたホストコンピュータシステムは、すべてのホストポート又はノードがＰＣＩｅ構造スイッチにより提供されるフラットグローバルスペース（flat global space）の一部であるため、ホストシステムの間で通信することができる。
【００２８】
ＰＣＩｅ構造を介してホストコンピュータシステムを一緒に接続することにより、特に、構造により接続されるホストシステムの数が増大するため、潜在的なセキュリティ考慮事項が生じる。例示的な（しかし、非限定的な）一例として、ＰＣＩｅ構造は、８台、１６台、３２台、又は６４台の結合されたホストコンピュータシステムのクラスタサイズに対応し得る。クラスタは、ラックレベルサイズに対応することもできる。構造をより大きなサイズに拡張することにより、セキュリティ及びメッセージの分離が重要な問題になる。例えば、多くのアプリケーション環境では、セキュリティを実施し、クラスタ内のホスト間メッセージフローへの不正アクセスを阻止することが極めて重要である。
【００２９】
管理ホスト３１０は、メモリ（図示せず）に記憶されたセキュリティ・メンバシップテーブル（security and membership table）３１５を利用し、仮想ＰＣＩｅ構造ＩＤ（Virtual PCIe Fabric ID:ＶＰＦＩＤ）を定義することにより、セキュリティ及び分離を実施し、セキュリティ・メンバシップテーブル３１５は、各ホストポートをポートグループの有限集合の部分とすることができるメカニズムである。一実施形態では、（管理ソフトウェアの）管理エンティティは、ＰＣＩｅスイッチを管理し、ＰＣＩｅスイッチ内のメンバシップテーブルを使用してこのメンバシップ（membership）を制御することができる唯一のエンティティである。ＰＣＩｅスイッチにＶＰＦＩＤに基づくメンバシップが構成されると、ＰＣＩｅスイッチは、このメンバシップに基づいて厳密なルールを実施することができる。
【００３０】
メッセージフローには、ホストポート間のホスト間通信の場合、ベンダー定義のメッセージを使用してＶＰＦＩＤをタグ付けし得る。ＰＣＩｅ仕様は、ベンダー定義メッセージのプロビジョニングを含む。
【００３１】
一実施形態では、管理エンティティは、ルールセットの１つに従うことにより各ポートを構成することができる：
各出力ホスト間通信パケットに、ハードウェアでのそのポートのデフォルトＶＰＦＩＤを有するＶＰＦＩＤをタグ付けし（ベンダー定義のメッセージの部分として）、
ホストソフトウェアは、そのポートに許可されるＶＰＦＩＤの１つでホスト間通信にタグ付けする（管理エンティティは、ポート毎にこのメンバシップを１つ又は複数のＶＰＦＩＤに設定する）。
【００３２】
一実施形態では、ホスト間通信は、以下のルールセットに従って送受信両方においてＶＰＦＩＤに基づいてフィルタリングし得る：
ポートから供給されるあらゆるホスト間パケットには、そのポートの有効なＶＰＦＩＤの１つでタグ付けする必要があり、そのようなタグがない場合、パケットはドロップされる（dropped）。パケットがドロップされる場合、これについてのエラーを管理エンティティに報告することができ、
あらゆる受信ポートも、入力パケットの有効ＶＰＦＩＤをチェックし、無効なＶＰＦＩＤタグ付きホスト間パケットをドロップする。ドロップの場合、エラーを管理エンティティに報告することができる。
【００３３】
一実施形態では、これらのルールへのいくつかの例外がある。管理エンティティは、任意のポートとのホスト間通信を有することが常に可能であるべきであり、したがって、特別なＶＰＦＩＤを管理通信のために確保し得る。ＶＰＦＩＤがＰＣＩｅ構造で使用されない場合、デフォルトルールは、ポートが単一のＶＰＦＩＤを使用していると想定することとなり得る。さらに、これらのルールが単なる例であり、特定のスイッチ実施でルールを変更し得ることが理解されるだろう。
【００３４】
図４は、本発明の一実施形態によるＶＰＦＩＤの受信処理をより詳細に示すフローチャートである。一実施態様では、受信ＤＭＡエンジン処理をハードウェアで実行し得る。４０５において、受信ＤＭＡエンジンは、メッセージに対応する作業要求を受信する。４１０において、ＶＰＦＩＤが許可セットの１つに一致するか否かを判断する。肯定の場合、４１５において、ブロードキャストメッセージ及びＤＭＡ機能がブロードキャストに許可されていないかどうかを判断する。否定の場合、４１６において、通常の受信処理が実行される。肯定の場合、４１８において、メッセージは速やかにドロップされる。
【００３５】
４１０に戻り、メッセージＶＰＦＩＤが許可されたセットのいずれにも一致しない場合、４２０において、メッセージがユニキャストメッセージであるか否かが判断される。否定の場合、４１８において、メッセージは速やかにドロップされる。しかし、メッセージがユニキャストメッセージである場合、４２２において、エラーコードが送信者に返信され、ＶＰＦＩＤの失敗を示す。４２６において、ドロップパケットカウンタがデクリメントされ、４２８において、カウンタがゼロに等しいと判断される場合、４３０において、多すぎるＶＰＦＩＤ違反があることを管理者に通知する。その他の場合、４３２において、プロセスは終了する。
【００３６】
図５は、本発明の一実施形態によるＶＰＦＩＤの送信処理をより詳細に示すフローチャートであり、送信側ソフトウェア／ハードウェア処理がある。５０５において、出力メッセージ要求が、ドライバソフトウェアのキューに入れられる（queued）。５１０において、ＤＭＡ機能が単一静的ＩＤモードに構成されているか否かを判断する。肯定の場合、５２５において、ドライバはハードウェアへの作業要求をＶＰＦＩＤなしでキューに入れる。否定の場合、５１５において、メッセージと共にＶＰＦＩＤがあるか否かが判断される。肯定の場合、５２５において、ドライバは、ハードウェアへの作業要求に所与のＶＰＦＩＤをタグ付けする。否定の場合、５２５において、ドライバは、ハードウェアへの作業要求をＶＰＦＩＤなしでキューに入れる。
【００３７】
５３０において、ＶＰＦＩＤのハードウェアオーバーライド（hardware override）がスイッチに設定されているか否かが判断される。肯定の場合、ハードウェアは、作業要求内に構成されたＶＰＦＩＤを上書きする。否定の場合、ＶＰＦＩＤがＤＭＡ  ｆｎの許可セットに一致するか否かが判断される（任意選択的）。肯定の場合、５４５において、メッセージは宛先に送信される。否定の場合、５５０において、作業要求をドロップし得、エラーメッセージを生成し得る。
【００３８】
ＰＣＩｅ構造の管理者（administrator）は、管理エンティティを介して、接続されたポート間のホスト間通信のセキュアＰＣＩｅサブネットを定義することができ、したがって、ソフトウェアでの極わずかな実行時間オーバーヘッドで、構造を仮想の非接続ＰＣＩｅネットワークに分割する。一実施形態では、ＰＣＩｅ構造の管理者（信頼できるエンティティ）は以下の設定をセットアップする：
ａ．ＤＭＡ機能単位での単一ＶＰＦＩＤ／ＤＭＡ機能又は複数のＶＰＦＩＤモード（デフォルト：単一ＶＰＦＩＤモード）、
ｂ．デフォルトにより、構造全体はＶＰＦＩＤ１（デフォルトＶＰＦＩＤ）を使用し、すべてのＤＭＡ機能はこの設定に設定され、
ｃ．管理者は、このＶＰＦＩＤ設定を、この構造で所望のセキュリティサブネットに応じて所望の設定に変更することができ、
ｄ．管理者が設定をＤＭＡ機能での複数のＶＰＦＩＤモードに変更する場合、そのＤＭＡ機能を使用するホストシステムを監督して、これらの複数のＶＰＦＩＤを使用するようにソフトウェアを構成することも管理者の責任である。
【００３９】
一実施形態では、ＶＰＦＩＤを利用するＰＣＩｅ構造を介するイーサネットトンネリング解決策は、イーサネット仮想ローカルエリアネットワーク（Ethernet Virtual Local Area Network:ＶＬＡＮ）を対応するＶＰＦＩＤに変換することができる。これは主に、イーサネットアプリケーションとの下位互換性を可能にするためである。同様に、インフィニバンド（Ｉｎｆｉｎｉｂａｎｄ）のｐ鍵（pkey:パーティションキー）メカニズムもＶＰＦＩＤにマッピングすることができる。この例示的な使用事例モデルは、ＰＣＩｅ構造のイーサネットトンネリングソフトウェアによるイーサネットＶＬＡＮの対応するＶＰＦＩＤへのマッピングである。イーサネットスタックは、（対応するＶＰＦＩＤと共に）複数のＶＬＡＮを使用するように構成することができ、ホストシステムでのイーサネットトンネリングソフトウェアは、作業要求をセットアップしながら、そのＶＬＡＮ・ＩＤをＶＰＦＩＤに変換する。同様に、ＶＬＡＮに関して説明したマッピング機能と同様の類似のマッピング機能を実行することにより、他のセキュリティ対策をＶＰＦＩＤ互換にすることができる。さらなる例として、イーサネットのＶＬＡＮ及び他のプロトコルの他のそのようなセキュリティＩＤと全く同様に、ＲＤＭＡ／インフィニバンドのパーティションキーを対応するＶＰＦＩＤにマッピングすることができる。
【００４０】
ＶＰＦＩＤの一態様は、ＰＣＩｅ構造でのセキュリティ及び分離の問題に対処することである。ＰＣＩｅ構造でのノード数は、長年にわたり増大してきた。ＰＣＩｅ構造が独創的に複数のホストシステムに拡張される場合、接続されたポート間の任意のホスト間通信でのセキュリティ及びアクセス制御の必要性は、典型的なデータセンタ／企業デプロイでの要件になる。ＰＣＩｅはポイントツーポイントプロトコルである。従来技術でのホスト間通信に対して、ＰＣＩｅ構造に代わるそのような解決策はなく、ＶＰＦＩＤはそのような解決策を定義する。これは、ＰＣＩｅに基づく構造のデプロイに極めて重要な問題に対する新しい解決策である。
【００４１】
ポイントツーマルチポイントプロトコルを有する他の構造は、異なる技法を用いてセキュリティの問題を解決する。一例として、ブロードキャスト媒体であるイーサネットはポイントツーマルチポイントプロトコルを有し、ＶＬＡＮを、メンバシップに基づくセキュリティを実施するメカニズムとして使用する。しかし、ＶＬＡＮは、イーサネット構造内を移動する際、各パケット内に追加のＶＬＡＮヘッダを追加／除去することにより、イーサネットペイロードを見るように要求した。ＶＬＡＮはイーサネット構造に密に関係付けられ、したがって、イーサネットプロトコルで実行されるメッセージングアプリケーションのみに使用することができる。ＶＰＦＩＤ実施は、いくつかの主要分野でこのＶＬＡＮ実施と異なる：
ＶＰＦＩＤはポイントツーポイントプロトコルで適用され、
ＰＣＩｅ構造でのＶＰＦＩＤの実施は、メッセージング作業要求のみに適用され、このメッセージング作業要求に起因するパケット又はデータトラフィックのすべてに対して適用されるわけではない。基本ＰＣＩｅプロトコルは、このデータトラフィックのセキュリティを保証し、したがって、結果として生じるデータトラフィックでのＶＰＦＩＤは冗長である。
【００４２】
特定の例のＰＣＩｅ構造について詳細に考察したが、より一般的に、本発明は、他のポイントツーポイントプロトコルへの適用に拡張し得る。大半のポイントツーポイントネットワーキングプロトコルは、ＰＣＩｅのベンダーメッセージングと同様の特徴を含む。すなわち、大半のポイントツーポイントネットワーキングプロトコルは、仮想構造ＩＤ（Virtual Fabric ID:ＶＦＩＤ）を含むように構成されることができる。したがって、本発明は、ＰＣＩｅを使用するものを超えて他のスイッチ構造への潜在的な用途も有する。
【００４３】
記載した実施形態の様々な態様、実施形態、実施態様、又は特徴は、別個に、又は任意の組み合わせで使用することができる。記載される実施形態の様々な態様は、ソフトウェア、ハードウェア、又はハードウェア及びソフトウェアの組み合わせにより実施することができる。記載される実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとして実施することもできる。コンピュータ可読媒体は、コンピュータシステムにより後に読み取り可能なデータを記憶することができる任意のデータ記憶装置として定義される。コンピュータ可読媒体の例としては、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、及び他のデータ記憶装置が挙げられる。コンピュータ可読媒体は、コンピュータ可読コードが分散して記憶され、実行されるように、ネットワークに結合されたコンピュータシステムに分散することもできる。
【００４４】
本発明は、本発明の特定の実施形態を参照して特に示され説明されたが、本発明の趣旨又は範囲から逸脱せずに、開示された実施形態の形態及び詳細の変更を行い得ることが当業者には理解されるだろう。さらに、本発明の様々な利点、態様、及び目的は、様々な実施形態を参照して本明細書において考察したが、本発明の範囲がそのような利点、態様、及び目的への参照により限定されるべきではないことが理解されるだろう。むしろ、本発明の範囲は、添付の特許請求の範囲を参照して決定すべきである。
【図１】
2014099847.tif 000003
【図２】
2014099847.tif 000004
【図３】
2014099847.tif 000005
【図４】
2014099847.tif 000006
【図５】
2014099847.tif 000007
【外国語明細書】
2014099847000001.pdf