(57)【要約】      （修正有）【課題】サブネット管理をサポートするシステム及び方法を提供する。【解決手段】ネットワーク環境において、システムは、サブネットにおけるサブネットアドミニストレータ（ＳＡ）をＳＡプロキシに関連付ける。ＳＡプロキシは、クライアントノードから要求を受け取る。ＳＡは、ＳＡプロキシから転送される１つ以上の要求を処理する。専用のキューペア（ＱＰ）ナンバーが各クライアントノードについて割り当てられる。ＳＭは、サブネットにおいて、ＳＡとクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出する。システムは、ＳＭノードに関連付けられるポートとクライアントノードに関連付けられるポートとの間でＲＣ接続を確立するよう、ＳＭノードに関連付けられるポートについての接続状態をセットアップする。ＳＭは、クライアントノードに関連付けられるポートをアクティベートする。【選択図】図１
2019134461.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク環境においてサブネット管理をサポートするための方法であって、
サブネットにおけるサブネットアドミニストレータ（ＳＡ）を１つ以上のＳＡプロキシに関連付けることと、
前記１つ以上のＳＡプロキシを介して１つ以上のクライアントノードから１つ以上の要求を受け取ることと、
前記１つ以上のＳＡプロキシから転送される前記１つ以上の要求を前記ＳＡを介して処理することとを含む、方法。
【請求項２】
前記サブネットが、ファットツリートポロジまたはホストポートからの接続が１つ以上のリーフスイッチを介するトポロジのうちの少なくとも１つとして実現されるインフィニバンド（ＩＢ）サブネットであることを可能にすることをさらに含む、請求項１に記載の方法。
【請求項３】
ＳＡプロキシとしてクライアントノードに直接的に接続するリーフスイッチ上で管理プロセッサを使用することをさらに含む、先行する請求項のいずれか１項に記載の方法。
【請求項４】
前記１つ以上のクライアントノードについて、ＳＡアクセスのために専用のパーティションをセットアップすることをさらに含み、前記１つ以上のクライアントノードは、ネットワークファブリックにおけるクライアントノードの物理的なサブセットと、ネットワークファブリックにおけるクライアントノードの論理的なサブセットとのうちの少なくとも１つを含む、先行する請求項のいずれか１項に記載の方法。
【請求項５】
前記１つ以上のクライアントノードにおいて、各クライアントノードについて専用のキューペア（ＱＰ）ナンバーを割り当てることをさらに含む、先行する請求項のいずれか１項に記載の方法。
【請求項６】
各指定されるＱＰナンバーに明示的に関連付けられるパケット受信バッファの専用のセットのみを各クライアントノードが使用することを保証することをさらに含む、先行する請求項のいずれか１項に記載の方法。
【請求項７】
異なるクライアントノードからの前記１つ以上の要求の実際の処理は公平なインターリービングとともに行われることを保証することをさらに含む、先行する請求項のいずれか１項に記載の方法。
【請求項８】
前記１つ以上のＳＡプロキシについて公平性およびフォワードプログレスを保証するよう、ファブリック状態を管理する中央エンティティを使用することをさらに含む、先行する請求項のいずれか１項に記載の方法。
【請求項９】
専用のパーティションナンバーと、１つ以上のクライアントポートについての専用のＱＰナンバーとを選択するよう１つ以上の規定を使用することをさらに含む、先行する請求項のいずれか１項に記載の方法。
【請求項１０】
特定のクライアントＱＰナンバーへのアクセスを、指定される特定のクライアントポートに制限するために、前記１つ以上のクライアントノードに関連付けられるクライアントポートについて信頼されたホストチャネルアダプタインプリメンテーションを使用し、ＳＡ要求パケットにおける信頼されたソースＬＩＤ情報に依拠する、請求項９に記載の方法。
【請求項１１】
ネットワーク環境においてサブネット管理をサポートするためのシステムであって、
１つ以上のマイクロプロセッサと、
１つ以上のＳＡプロキシに関連付けられるサブネットアドミニストレータ（ＳＡ）とを含み、
前記１つ以上のマイクロプロセッサ上で実行される前記１つ以上のＳＡプロキシは、１つ以上のクライアントノードから１つ以上の要求を受け取るよう動作し、
前記ＳＡは、前記１つ以上のＳＡプロキシから転送される前記１つ以上の要求を処理するよう動作する、システム。
【請求項１２】
前記サブネットは、ファットツリートポロジまたはホストポートからの接続がリーフスイッチを介するトポロジのうちの少なくとも１つとして実現されるインフィニバンド（ＩＢ）サブネットである、請求項１１に記載のシステム。
【請求項１３】
クライアントノードに直接的に接続するリーフスイッチ上の管理プロセッサがＳＡプロキシとして使用される、請求項１１または１２に記載のシステム。
【請求項１４】
ＳＡアクセスについての専用のパーティションは、前記１つ以上のクライアントノードについてセットアップされ、前記１つ以上のクライアントノードは、ネットワークファブリックにおけるクライアントノードの物理的なサブセットと、ネットワークファブリックにおけるクライアントノードの論理的なサブセットとのうちの少なくとも１つを含む、請求項１１〜１３のいずれか１項に記載のシステム。
【請求項１５】
専用のキューペア（ＱＰ）ナンバーが、各クライアントノードについて割り当てられる、請求項１１〜１４のいずれか１項に記載のシステム。
【請求項１６】
各クライアントノードは、各指定されるＱＰナンバーに明示的に関連付けられるパケット受信バッファの専用のセットのみを使用することが可能である、請求項１５に記載のシステム。
【請求項１７】
異なるクライアントノードから受け取られる前記１つ以上の要求の実際の処理は公平なインターリービングとともに行われる、請求項１１〜１６のいずれか１項に記載のシステム。
【請求項１８】
前記１つ以上のＳＡプロキシについて公平性およびフォワードプログレスを保証する、ファブリック状態を管理する中央エンティティをさらに含む、請求項１１〜１７のいずれか１項に記載のシステム。
【請求項１９】
専用のパーティションナンバーと、１つ以上のクライアントポートについての専用のＱＰナンバーとを選択するよう１つ以上の規定が使用され、および／または、
特定のクライアントＱＰナンバーへのアクセスを、指定される特定のクライアントポートに制限するために、前記１つ以上のクライアントノードに関連付けられるクライアントポートについて信頼されたホストチャネルアダプタインプリメンテーションが使用され、かつ、ＳＡ要求パケットにおける信頼されたソースＬＩＤ情報に依拠する、請求項１１〜１８のいずれか１項に記載のシステム。
【請求項２０】
マシン読取可能なフォーマットのプログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、請求項１〜１０のいずれか１項に記載の方法を前記コンピュータシステムに行なわせる、コンピュータプログラム。
【請求項２１】
一時的でないマシン読取可能記憶媒体上に格納される、請求項２０に記載のコンピュータプログラムを含む、コンピュータプログラムプロダクト。
【請求項２２】
実行されると、システムに請求項１〜１０のいずれか１項に記載の方法を行なわせる命令を格納する、一時的でないマシン記憶媒体。
【請求項２３】
命令を格納する一時的でないマシン読取可能記憶媒体であって、前記命令は、実行されると、システムに
サブネットにおけるサブネットアドミニストレータ（ＳＡ）を１つ以上のＳＡプロキシに関連付けることと、
前記１つ以上のＳＡプロキシを介して１つ以上のクライアントノードから１つ以上の要求を受け取ることと、
前記１つ以上のＳＡプロキシから転送される前記１つ以上の要求を前記ＳＡを介して処理することとを含むステップを実行させる、一時的でないマシン読取可能記憶媒体。
【請求項２４】
ネットワーク環境においてサブネット管理をサポートするための方法であって、
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間で信頼性のある接続（ＲＣ）をセットアップするための情報を、サブネットにおけるＳＭノード上のサブネットマネージャ（ＳＭ）を介して抽出することと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間で前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについての１つ以上の接続状態をセットアップすることと、
前記ＳＭを介して、前記クライアントノードに関連付けられる前記ポートをアクティベートすることとを含む、方法。
【請求項２５】
前記クライアントノードに関連付けられるサブネット管理エージェント（ＳＭＡ）を介して、前記クライアントノードがＲＣベースのＳＡアクセスについてサポートを有することを示す能力をアドバタイズすることさらに含む、請求項２４に記載の方法。
【請求項２６】
前記クライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第１のセットを確立することをさらに含み、前記１つ以上のＲＣＱＰの第１のセットは、ＲＣベースのＳＡアクセスについて割り当てられる１つ以上のキューペア（ＱＰ）ナンバーに関連付けられる、請求項２４または２５に記載の方法。
【請求項２７】
前記ＳＭクライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第２のセットを確立することをさらに含み、
前記１つ以上のＲＣＱＰの第２のセットについてのＱＰナンバーは、
前記クライアントノードに関連付けられる前記ポートに割り当てられるベースのローカル識別子（ＬＩＤ）のファンクションと、
前記クライアントノードに関連付けられる前記ＳＭＡについて前記ＳＭによってセットアップされるＳＭＡ属性と
のうちの１つに基づく、請求項２６に記載の方法。
【請求項２８】
前記ＲＣ接続を確立するよう管理メッセージ交換を使用することをさらに含む、先行する請求項２４〜２７のいずれか１項に記載の方法。
【請求項２９】
前記ＲＣ接続を使用して前記ＳＡにメッセージを前記クライアントノードを介して送信することをさらに含む、先行する請求項２４〜２８のいずれか１項に記載の方法。
【請求項３０】
メッセージバッファメモリを効率的に利用するために複数のＲＣ接続を使用することを
さらに含む、先行する請求項２４〜２９のいずれか１項に記載の方法。
【請求項３１】
１つ以上のＲＣ接続を介して前記ＳＡおよびＳＡプロキシのうちの少なくとも１つから転送される状態情報を含むよう、前記クライアントノードにおいてあらかじめ定義されたメモリエリアをセットアップすることをさらに含む、先行する請求項２４〜３０のいずれか１項に記載の方法。
【請求項３２】
１つ以上のイベントに関して少なくとも１つのパーティションにおける複数のクライアントノードに通知するよう、１つ以上のマルチキャストメッセージを前記ＳＡを介して送信することをさらに含む、先行する請求項２４〜３１のいずれか１項に記載の方法。
【請求項３３】
各前記マルチキャストメッセージにシーケンスナンバーを割り当てることをさらに含む、請求項３２に記載の方法。
【請求項３４】
ネットワーク環境においてサブネット管理をサポートするためのシステムであって、
１つ以上のマイクロプロセッサと、
前記１つ以上のマイクロプロセッサ上で実行される、サブネットにおけるＳＭノード上のサブネットマネージャ（ＳＭ）とを含み、前記ＳＭは、
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出することと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間で前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについての１つ以上の接続状態をセットアップすることと、
前記クライアントノードに関連付けられる前記ポートをアクティベートすることとを行なうよう動作する、システム。
【請求項３５】
前記クライアントノードに関連付けられるサブネット管理エージェント（ＳＭＡ）は、前記クライアントノードがＲＣベースのＳＡアクセスについてサポートを有することを示す能力をアドバタイズするよう動作する、請求項３４に記載のシステム。
【請求項３６】
前記クライアントノードは、前記クライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第１のセットを確立するよう動作し、前記１つ以上のＲＣＱＰの第１のセットは、前記ＲＣベースのＳＡアクセスについて割り当てられる１つ以上のキューペア（ＱＰ）ナンバーに関連付けられる、請求項３４または３５に記載のシステム。
【請求項３７】
前記ＳＭは、前記ＳＭノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第２のセットを確立するよう動作し、
前記１つ以上のＲＣＱＰの第２のセットについてのＱＰナンバーは、
前記クライアントノードに関連付けられる前記ポートに割り当てられるベースのローカル識別子（ＬＩＤ）のファンクションと、
前記クライアントノードに関連付けられる前記ＳＭＡについて前記ＳＭによってセットアップされるＳＭＡ属性と
のうちの１つに基づく、請求項３６に記載のシステム。
【請求項３８】
前記ＳＭは、前記ＲＣ接続を確立するために管理メッセージ交換を使用するよう動作する、請求項３４〜３７のいずれか１項に記載のシステム。
【請求項３９】
前記クライアントノードは、前記ＲＣ接続を使用して前記ＳＡにメッセージを送信するよう動作する、請求項３４〜３８のいずれか１項に記載のシステム。
【請求項４０】
メッセージバッファメモリを効率的に利用するために複数のＲＣ接続が使用される、請求項３４〜３９のいずれか１項に記載のシステム。
【請求項４１】
１つ以上のＲＣ接続を介して前記ＳＡおよびＳＡプロキシのうちの少なくとも１つから転送される状態情報を含むよう、前記クライアントノードにおいてあらかじめ定義されたメモリエリアがセットアップされる、請求項３４〜４０のいずれか１項に記載のシステム。
【請求項４２】
前記ＳＡは、１つ以上のイベントに関して少なくとも１つのパーティションにおける複数のクライアントノードに通知するよう１つ以上のマルチキャストメッセージを送信し、各前記マルチキャストメッセージにシーケンスナンバーを割り当てるよう動作する、請求項３４〜４１のいずれか１項に記載のシステム。
【請求項４３】
マシン読取可能なフォーマットのプログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、請求項２４〜３３のいずれか１項に記載の方法を前記コンピュータシステムに行なわせる、コンピュータプログラム。
【請求項４４】
一時的でないマシン読取可能記憶媒体上に格納される、請求項４３に記載のコンピュータプログラムを含む、コンピュータプログラムプロダクト。
【請求項４５】
実行されると、システムに請求項２４〜３３のいずれか１項に記載の方法を行なわせる命令を格納する、一時的でないマシン読取可能記憶媒体。
【請求項４６】
命令を格納する一時的でないマシン読取可能記憶媒体であって、前記命令は、実行されると、システムに
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間で信頼性のある接続（ＲＣ）をセットアップするための情報を、サブネットにおけるＳＭノード上のサブネットマネージャ（ＳＭ）を介して抽出することと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間で前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについての１つ以上の接続状態をセットアップすることと、
前記ＳＭを介して、前記クライアントノードに関連付けられる前記ポートをアクティベートすることとを含むステップを行なわせる、一時的でないマシン読取可能記憶媒体。
【請求項４７】
ネットワーク環境においてサブネット管理をサポートするためのシステムであって、
サブネットにおけるサブネットアドミニストレータ（ＳＡ）を１つ以上のＳＡプロキシに関連付けるように構成される関連付ユニットと、
前記１つ以上のＳＡプロキシを介して１つ以上のクライアントノードから１つ以上の要求を受け取るように構成される受取ユニットと、
前記１つ以上のＳＡプロキシから転送される前記１つ以上の要求を前記ＳＡを介して処理するように構成される処理ユニットとを含む、システム。
【請求項４８】
前記サブネットは、ファットツリートポロジまたはホストポートからの接続がリーフスイッチを介するトポロジのうちの少なくとも１つとして実現されるインフィニバンド（ＩＢ）サブネットである、請求項４７に記載のシステム。
【請求項４９】
クライアントノードに直接的に接続するリーフスイッチ上の管理プロセッサがＳＡプロキシとして使用される、請求項４７に記載のシステム。
【請求項５０】
ＳＡアクセスについての専用のパーティションは、前記１つ以上のクライアントノードについてセットアップされ、前記１つ以上のクライアントノードは、ネットワークファブリックにおけるクライアントノードの物理的なサブセットと、ネットワークファブリックにおけるクライアントノードの論理的なサブセットとのうちの少なくとも１つを含む、請求項４７に記載のシステム。
【請求項５１】
専用のキューペア（ＱＰ）ナンバーは、各クライアントノードについて割り当てられる、請求項４７に記載のシステム。
【請求項５２】
各クライアントノードは、各指定されるＱＰナンバーに明示的に関連付けられるパケット受信バッファの専用のセットのみを使用することが可能である、請求項５１に記載のシステム。
【請求項５３】
異なるクライアントノードから受け取られる前記１つ以上の要求の実際の処理は公平なインターリービングとともに行われる、請求項４７に記載のシステム。
【請求項５４】
前記１つ以上のＳＡプロキシについて公平性およびフォワードプログレスを保証する、ファブリック状態を管理する中央エンティティをさらに含む、請求項４７に記載のシステム。
【請求項５５】
専用のパーティションナンバーと、１つ以上のクライアントポートについての専用のＱＰナンバーとを選択するよう１つ以上の規定が使用され、および／または、
特定のクライアントＱＰナンバーへのアクセスを、指定される特定のクライアントポートに制限するために、前記１つ以上のクライアントノードに関連付けられるクライアントポートについて信頼されたホストチャネルアダプタインプリメンテーションが使用され、かつ、ＳＡ要求パケットにおける信頼されたソースＬＩＤ情報に依拠する、請求項４７に記載のシステム。
【請求項５６】
サブネットマネージャであって、
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出するように構成される抽出ユニットと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間に前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについて１つ以上の接続状態をセットアップするように構成されるセットアップユニットと、
前記クライアントノードに関連付けられる前記ポートをアクティベートするように構成されるアクティベートユニットとを含む、サブネットマネージャ。
【請求項５７】
前記クライアントノードに関連付けられるサブネット管理エージェント（ＳＭＡ）は、前記クライアントノードがＲＣベースのＳＡアクセスについてサポートを有することを示す能力をアドバタイズするよう動作する、請求項５６に記載のサブネットマネージャ。
【請求項５８】
前記クライアントノードは、前記クライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第１のセットを確立するよう動作し、前記１つ以上のＲＣＱＰの第１のセットは、前記ＲＣベースのＳＡアクセスについて割り当てられる１つ以上のキューペア（ＱＰ）ナンバーに関連付けられる、請求項５６に記載のサブネットマネージャ。
【請求項５９】
前記ＳＭノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（Ｑ
Ｐ）の第２のセットを確立するように構成される確立ユニットをさらに含み、
前記１つ以上のＲＣＱＰの第２のセットについてのＱＰナンバーは、
前記クライアントノードに関連付けられる前記ポートに割り当てられるベースのローカル識別子（ＬＩＤ）のファンクションと、
前記クライアントノードに関連付けられる前記ＳＭＡについて前記ＳＭによってセットアップされるＳＭＡ属性と
のうちの１つに基づく、請求項５８に記載のサブネットマネージャ。
【請求項６０】
前記ＲＣ接続を確立するために管理メッセージ交換が使用される、請求項５６に記載のサブネットマネージャ。
【請求項６１】
前記クライアントノードは、前記ＲＣ接続を使用して前記ＳＡにメッセージを送信するよう動作する、請求項５６に記載のサブネットマネージャ。
【請求項６２】
メッセージバッファメモリを効率的に利用するために複数のＲＣ接続が使用される、請求項５６に記載のサブネットマネージャ。
【請求項６３】
ＲＣ接続を介して前記ＳＡおよびＳＡプロキシのうちの少なくとも１つから転送される状態情報を含むよう、前記クライアントノードにおいてあらかじめ定義されたメモリエリアがセットアップされる、請求項５６に記載のサブネットマネージャ。
【請求項６４】
１つ以上のイベントに関して少なくとも１つのパーティションにおける複数のクライアントノードに通知するために１つ以上のマルチキャストメッセージを送信するように構成される送信ユニットと、
シーケンスナンバーを各前記マルチキャストメッセージに割り当てるように構成される割当ユニットとをさらに含む、請求項５６に記載のサブネットマネージャ。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示
この特許文書の開示の一部は、著作権の保護下にある内容を含む。著作権所有者は、特許商標庁の特許ファイルまたはレコードに現れるので、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
【０００２】
発明の分野
本発明は、一般にコンピュータシステムに関し、特に、ミドルウェアおよびアプリケーションの実行のための設計されたシステムに関する。
【背景技術】
【０００３】
背景
より大きなクラウドコンピューティングアーキテクチャが導入されるにつれて、従来のネットワークおよびストレージに関連付けられる性能および管理上のボトルネックが重要な問題になっている。インフィニバンド（ＩＢ:InfiniBand）技術は、クラウドコンピュ
ーティングファブリックの基礎として、展開が増加している。これは、本発明の実施形態が対応することが意図される一般的な領域である。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
ミドルウェアおよびアプリケーションの実行のための設計されたシステムまたはミドルウェアマシン環境のようなネットワーク環境においてサブネット管理をサポートし得るシステムおよび方法が本願明細書において記載される。システムは、サブネットにおけるサブネットアドミニストレータ（ＳＡ）を１つ以上のＳＡプロキシに関連付け得る。さらに、１つ以上のＳＡプロキシは、１つ以上のクライアントノードから１つ以上の要求を受け取り得る。次いで、ＳＡが、１つ以上のＳＡプロキシから転送される１つ以上の要求を処理し得る。さらに、専用のキューペア（ＱＰ）ナンバーが各クライアントノードについて割り当てられ得るので、あらかじめ定義された周知のＱＰナンバーに初期要求を常に送信する必要はない。
【０００５】
ミドルウェアおよびアプリケーションの実行のための設計されたシステムまたはミドルウェアマシン環境のようなネットワーク環境においてサブネット管理をサポートし得るシステムおよび方法が本願明細書において記載される。サブネットマネージャ（ＳＭ）は、サブネットにおいて、サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出し得る。さらに、システムは、ＳＭノードに関連付けられるポートとクライアントノードに関連付けられるポートとの間にＲＣ接続を確立するよう、ＳＭノードに関連付けられるポートについて１つ以上の接続状態をセットアップし得る。次いで、ＳＭは、クライアントノードに関連付けられるポートをアクティベートし得る。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態に従った、ネットワーク環境において分散型サブネットアドミニストレータ（ＳＡ）スキームをサポートする図を示す図である。
【図２】本発明の実施形態に従った、ネットワーク環境におけるＳＡアクセスに対するサービス妨害（ＤｏＳ）攻撃を防止する図を示す図である。
【図３】本発明の実施形態に従った、ネットワーク環境において分散型サブネットアドミニストレータ（ＳＡ）スキームをサポートするための例示的なフローチャートを示す図である。
【図４】本発明の実施形態に従った、ネットワーク環境において信頼性のある接続（ＲＣ）に基づいてサブネットアドミニストレータ（ＳＡ）アクセスをサポートする図を示す図である。
【図５】本発明の実施形態に従った、ネットワーク環境においてサブネットアドミニストレータ（ＳＡ）と複数のクライアントノードとの間の通信をサポートする図を示す図である。
【図６】本発明の実施形態に従った、ネットワーク環境において信頼性のある接続（ＲＣ）に基づいてサブネットアドミニストレータ（ＳＡ）アクセスをサポートするための例示的なフローチャートを示す図である。
【図７】本発明の実施形態に従った、ネットワーク環境においてサブネット管理をサポートするためのシステムのブロック図である。
【図８】本発明の実施形態に従った、分散データグリッドにおいて非同期呼出をサポートするためのサブネットマネージャのブロック図である。
【図９】本発明の実施形態の機能構成を示す図である。
【図１０】本発明の実施形態を実現するためのコンピュータシステムを示す図である。
【発明を実施するための形態】
【０００７】
詳細な説明
本発明は、限定目的ではなく例示目的で、添付の図面の図において示される。当該図面においては、同様の参照符号が同様の要素を示す。なお、この開示における「ある」、「１つ」または「いくつか」の実施形態への参照は、必ずしも同じ実施形態に対してなされるものではなく、このような参照は、少なくとも１つの実施形態を意味する。
【０００８】
以下の本発明の記載は、高性能ネットワークについての例として、インフィニバンド（ＩＢ）ネットワークを使用する。他のタイプの高性能ネットワークが限定なしで使用され得るということは、当業者には明らかであろう。
【０００９】
ミドルウェアおよびアプリケーションの実行のための設計されたシステムまたはミドルウェアマシン環境といったネットワーク環境においてサブネットアドミニストレータ（ＳＡ：subnet administrator）アクセスをサポートし得るシステムおよび方法が本願明細書において記載される。
【００１０】
インフィニバンド（ＩＢ）アーキテクチャ
ＩＢアーキテクチャはシリアルポイントツーポイント技術である。ＩＢネットワークまたはサブネットの各々は、スイッチおよびポイントツーポイントリンクを使用して相互接続されるホストのセットを含み得る。単一のサブネットは、１万より多いノードまでスケーラブルであり得、２つ以上のサブネットがＩＢルータを使用して相互接続され得る。サブネット内のホストおよびスイッチは、ローカル識別子（ＬＩＤ：local identifier）を使用してアドレス指定されており、たとえば単一のサブネットは４９１５１個のユニキャストアドレスに限定され得る。
【００１１】
ＩＢサブネットは、サブセットにおけるスイッチ、ルータおよびホストチャネルアダプタ（ＨＣＡ：host channel adapter）に存在するすべてのＩＢポートの構成を含むサブネットを初期化および起動することを担う少なくとも１つのサブネットマネージャ（ＳＭ）を使用し得る。ＳＭの役割はさらに、ルーティングテーブル演算および展開を含む。ネットワークのルーティングの目的は、完全な接続性と、デッドロックのないことと、すべてのソースおよびデスティネーションペアの間のロードバランシングとを得ることである。ルーティングテーブルはネットワーク初期化時に計算され得、このプロセスは、ルーティングテーブルを更新して最適な性能を保証するために、トポロジが変更するたびに繰り返され得る。
【００１２】
ＩＢネットワークにおけるＨＣＡは、キューペア（ＱＰ：queue pair）を使用して、互いに通信し得る。ＱＰは、通信セットアップの間に作り出され、ＱＰナンバー、ＨＣＡポート、デスティネーションＬＩＤ、キューサイズおよびトランスポートサービスといった初期属性のセットが供給される。他方、通信においてＨＣＡに関連付けられるＱＰは、通信が終わった際に破棄される。ＨＣＡは多くのＱＰを処理し得、各ＱＰは、キューのペア、すなわち、送信キュー（ＳＱ：send queue）および受信キュー（ＲＱ：receive queue
）からなる。１つのそのようなペアが、当該通信に参加している各エンドノードに存在する。送信キューは、リモートノードに転送されるワーク要求を保持する一方、受信キューは、リモートノードから受け取ったデータで何を行なうべきかについての情報を保持する。ＱＰに加えて、各ＨＣＡは、送信キューおよび受信キューのセットに関連付けられる１つ以上の完了キュー（ＣＱ：completion queue）を有し得る。ＣＱは、送信および受信キューにポスティングしたワーク要求についての完了通知を保持する。
【００１３】
ＩＢアーキテクチャはフレキシブルなアーキテクチャである。ＩＢサブネットを構成および維持することは、特別なインバンドサブネット管理パケット（ＳＭＰ：subnet management packet）を介して行なわれ得る。ＳＭの機能は、原理上、ＩＢサブネットにおける任意のノードから実現され得る。ＩＢサブネットにおける各エンドポートは、自身に方向付けられるＳＭＰベースの要求パケットを処理することを担う関連付けられたサブネット管理エージェント（ＳＭＡ）を有し得る。ＩＢアーキテクチャにおいて、同じポートは、ＳＭＰベースの通信を使用するＳＭインスタンスまたは他のソフトウェアコンポーネントを表わし得る。したがって、ＳＭＰオペレーションの良好に定義されたサブセットのみがＳＭＡによって処理され得る。
【００１４】
ＳＭＰは、ファブリックにおいて、たとえばフロー制御されていない特別なバーチャルレーン（ＶＬ１５）といった、専用のパケットバッファリソースを使用する（すなわち、ＳＭＰパケットはバッファオーバフローの場合にはドロップされ得る）。さらに、ＳＭＰは、ＳＭがエンドポートのローカル識別子（ＬＩＤ）に基づきセットアップするルーティング、または、ルートがセンダーによって完全に定義されるとともにパケットに埋め込まれるダイレクトルートをＳＭＰが使用し得るルーティングを使用し得る。ダイレクトルートを使用して、ＨＣＡおよびスイッチ上のポートナンバーの順序づけられたシーケンスで、パケットのパスはファブリックを通過する。
【００１５】
ＳＭは、すべてのスイッチおよび／またはすべてのＨＣＡにおいて存在するＳＭＡを使用して、変更についてネットワークを監視し得る。ＳＭＡは、トラップ（trap）および通知（notice）を使用して、新しい接続、切断およびポート状態変化といった変更をＳＭに通信する。トラップは、あるイベントに関してエンドノードを警告するように送信されるメッセージである。トラップは、イベントを説明する詳細を有する通知属性を含み得る。異なるトラップは、異なるイベントについて定義され得る。トラップの不必要な配布を低減するために、ＩＢは、エンドノードが通知されることを望むトラップを明示的に利用（subscribe）するのに必要とされるイベント転送メカニズムを適用する。
【００１６】
ＩＢアーキテクチャは、どのＩＢエンドポートが他のＩＢエンドポートと通信することが許可されるべきであるかを定義する方法としてパーティションを提供する。パーティショニングは、ＩＢファブリック上のすべての非ＳＭＰパケットについて定義される。デフォルトパーティション以外のパーティションの使用は随意である。パケットのパーティションは、１５ビットのパーティションナンバーおよびシングルビットのメンバータイプ（完全（full）または限定（limited））からなる１６ビットのＰ＿Ｋｅｙによって定義さ
れ得る。
【００１７】
ホストポートまたはＨＣＡポートのパーティションメンバーシップは、ＳＭが、当該ホストについての現在のパーティションメンバーシップポリシーに対応するＰ＿Ｋｅｙ値を有するポートのＰ＿Ｋｅｙテーブルをセットアップする前提に基づき得る。ホストが完全には信頼されないかもしれない可能性を補償するために、ＩＢアーキテクチャはさらに、スイッチポートがパーティションエンフォースメント（partition enforcement）を行な
うよう随意にセットアップされ得ることを定義する。したがって、ホストポートに接続するスイッチポートのＰ＿Ｋｅｙテーブルが、ホストポートがメンバーであると考えられるのと同じパーティションを反映するようセットアップされ得る（すなわちイーサネット（登録商標）ＬＡＮにおけるスイッチエンフォースされたＶＬＡＮ制御と実質上同等）。
【００１８】
ＩＢアーキテクチャは、ＳＭＰを介してＩＢサブネットの完全なインバンド構成およびメンテナンスを可能にするので、ＳＭＰ自体は如何なるパーティションメンバーシップ制限にも従わない。したがって、ＩＢファブリック上の如何なるラフな（rough）または損
なわれたノードも任意のファブリック構成（パーティションメンバーシップを含む）を定義することが可能である可能性を回避するために、他の保護メカニズムが必要である。
【００１９】
ＩＢアーキテクチャによって提供されるフレキシビリティは、ＩＢファブリック／サブネットのアドミニストレータ、たとえば、ＨＰＣクラスタが、ファブリックにおいて１つ以上のスイッチ上で埋め込まれたＳＭインスタンスを使用するかどうか、および／または、ＳＭファンクションを実行するためにＩＢファブリック上で１つ以上のホストをセットアップするかどうかを決定することを可能にする。さらに、ＳＭによって使用されるＳＭＰによって定義されるワイヤプロトコルはＡＰＩを通じて利用可能であるので、異なるツールおよびコマンドが、発見、診断のためのそのようなＳＭＰの使用に基づいて実現され得、如何なる現在のサブネットマネージャオペレーションからも独立して制御される。
【００２０】
セキュリティの観点から、ＩＢアーキテクチャのフレキシビリティは、ＩＢファブリックに接続されるさまざまなホストへのルートアクセスと、ＩＢファブリック構成へのアクセスを可能にするルートアクセスとの間に根本的な差が存在しないことを示す。これは、物理的に安全かつ安定しているシステムにとって良好である。しかしながら、これは、ＩＢファブリック上の異なるホストが異なるシステムアドミニストレータによって制御されており、かつ、そのようなホストがＩＢファブリック上において互いから論理的に分離されるべきであるシステム構成には問題であり得る。
【００２１】
サブネットアドミニストレータ（ＳＡ）およびサービス妨害（ＤｏＳ）攻撃
サブネットアドミニストレータ（ＳＡ）は、サブネットに関する異なる情報を格納し得るマスターＳＭに関連付けられるサブネットデータベースである。さまざまなエンドノードがＱＰを確立するのを支援し得るＳＡとの通信は、たとえばＱＰ１といった指定されたＱＰを通じて一般的なサービス管理データグラム（ＭＡＤ：management datagram）を送
信することに基づき得る。さらに、センダーおよびレシーバの両方は、ＱＰを介して通信を確立するために、ソース／デスティネーションＬＩＤ、サービスレベル（ＳＬ： service level）および最大伝送単位（ＭＴＵ：maximum transmission unit）といった情報を
必要とし得る。そのような情報は、ＳＡによって提供されるパスレコードとして既知のデータ構造から抽出され得る。パスレコードを得るために、エンドノードは、たとえばSubnAdmGet/SubnAdmGetableオペレーションを用いて、ＳＡに対してパスレコードクエリを実
行し得る。その後、ＳＡは、要求されたパスレコードをエンドノードに返し得る。
【００２２】
たとえば、ＩＢの仕様は、サブネットアドミニストレータ（ＳＡ）へのすべての要求が、ローカルＩＢポート情報におけるＳＭ＿ＬＩＤの値によって定義されたデスティネーションＬＩＤ、すなわち、サブネットマネージャ（ＳＭ）によってセットアップされたデスティネーションＬＩＤに送信されるということを定義している。さらに、それらの要求は、さらにＳＭによってローカルＩＢポート情報においてセットアップされ得るＳＭ＿ＳＬ値によって定義されるＳＬ値を使用し得る。
【００２３】
さらに、ＩＢ仕様は、ＳＡとの通信を確立するために使用されるデスティネーションＱＰが一般的なサービスインターフェイスＱＰ（すなわちＱＰ１）であるということを定義している。さらに、これらの値のための代替物がセットアップされ得ない場合、１クライアントポートベースで、ＳＡとの通信は、クライアントノードが初期ＳＡ要求をする前にこの情報を観察することを可能にする態様でデフォルトパーティション上で実行され得る。初期要求の後、ＳＡは、クライアントにリダイレクト応答を送信し、ＳＡにアクセスするために異なるアドレスを使用することをクライアントに指示し得る。アドレスのこの変更は、異なるデスティネーションポート、異なるＳＬ、異なるパーティションおよび異なるデスティネーションＱＰナンバーを含み得る。
【００２４】
したがって、初期要求がデフォルトパーティションを使用してＱＰ１に送信される必要がある限り、たとえば、不正クライアントもしくはエラー状態のクライアントがＳＡポートのＱＰ１をオーバーロードさせている場合、および／または、複数のソースからの大量のトラフィックの結果、ＳＡポート自身がオーバーロードしている場合には、ＳＡアクセスに対するサービス妨害（ＤｏＳ）攻撃がサブネットにおいて起こり得る可能性がある。
【００２５】
分散型サブネットアドミニストレータ（ＳＡ）スキーム
図１は、本発明の実施形態に従った、ネットワーク環境における分散型サブネットアドミニストレータ（ＳＡ）スキームをサポートする図を示す。図１に示されるように、ネットワーク環境１００におけるＩＢサブネット１１０は、複数のスイッチ（たとえばファットツリートポロジまたはホストポートからの接続がリーフスイッチを介する任意のトポロジにおけるリーフスイッチ１１１〜１１４）を含み得る。さらに、ＩＢサブネット１１０は、サブネットマネージャ（ＳＭ）１０１およびサブネットアドミニストレータ（ＳＡ）１０２を含み得る。
【００２６】
ＳＡ要求によりＳＡポートがオーバーロードすることを回避するために、当該システムは、システムにおけるＳＡ１０２の全クライアントロードをＳＡプロキシ１２１〜１２４を介して異なるＳＡポートへ分散するよう分散型ＳＡスキームを使用し得る。たとえば、リーフスイッチ１１１〜１１４に直接的に接続するクライアントノード１３１〜１３４についてのＳＡプロキシ１２１〜１２４は、それぞれのリーフスイッチ１１１〜１１４上の管理プロセッサであり得る。
【００２７】
さらに、ローカルリーフスイッチ１１１〜１１４上のスイッチインプリメンテーションは、ローカルリーフスイッチ１１１〜１１４がＳＡ１０２のプロキシポートに対する入力帯域幅の公平なシェアを取得し得ることのみを保証し得る。したがって、ローカルリーフスイッチ１１１〜１１４上のローカルＳＡプロキシ１２１〜１２４のみを使用するようＳＡクライアントノード１３１〜１３４を制限することによって、クライアントノードは、他のローカルクライアントによるフォワードプログレス（forward progress）を防止でき
ない。
【００２８】
さらに、ＳＡプロキシインプリメンテーションは、異なるローカルＳＡクライアント１３１〜１３４からの要求の実際の処理が、異なるローカルクライアント１３１〜１３４の間での公平なインターリービングとともに行なわれ得るということを保証し得る。したがって、各良好に振る舞うクライアントノード１３１〜１３４は、許容可能な応答時間および妥当なフォワードプログレスを確保または達成し得る。
【００２９】
本発明の実施形態に従うと、ＳＡクライアントノード１３１〜１３４と異なり、ＳＡプロキシ１２１〜１２４は、全体的なファブリックインプリメンテーションによって完全に制御されるとともに当該ファブリックについてオーナ権限を有する管理エンティティ（人間またはソフトウェア）によってのみ管理される信頼されたソフトウェアコンポーネントを表わし得る。したがって、全体のファブリック状態が、たとえばＳＭ１０１といった中央エンティティによって維持される場合に、さまざまなＳＡプロキシインスタンス１２１〜１２４と中央エンティティとの間のプロトコルは、すべてのＳＡプロキシインスタンス１２１〜１２４について公平性およびフォワードプログレスを保証し得る。
【００３０】
図２は、本発明の実施形態に従った、ネットワーク環境におけるＳＡアクセスに対するサービス妨害（ＤｏＳ）攻撃を防止する図を示す。図２に示されるように、ネットワーク環境２００は、複数のスイッチ（たとえばリーフスイッチ２１１〜２１３）を含み得る。さらに、リーフスイッチ２１１〜２１３の各々は、ＳＡ２０２と通信し得るＳＡプロキシ２２１〜２２３をサポートするように構成され得る。
【００３１】
さらに、リーフスイッチ２１１〜２１３の各々は、１つ以上のクライアントノードまたはホストノードに接続し得る。たとえば、クライアントノード２３１〜２３２はＳＡポート２４１を介してＳＡプロキシ２２１に接続され、クライアントノード２３３〜２３５はＳＡポート２４２を介してＳＡプロキシ２２２に接続され、クライアントノード２３６〜２３８はＳＡポート２４３を介してＳＡプロキシ２２３に接続される。
【００３２】
さらに、ＳＡアクセスのためのさまざまな専用パーティションが、ネットワーク環境２００にセットアップされ得る。図２に示されるように、ＳＡアクセスについての専用のパーティション２５０は、ファブリックにおけるクライアントノードの物理的なサブセット（たとえばリーフスイッチ２１３に直接的に接続されるノード２３６〜２３８のセット）についてセットアップされ得る。さらに、ＳＡアクセスについての専用のパーティション２５２は、論理的なサブセット（たとえば、特定のテナントまたはシステムに属するとともにそもそも既にパーティションを共有している場合のあるノード２３２〜２３４のセット）についてセットアップされ得る。したがって、ＳＭ２０１は、クライアントノード２３１〜２３８が、関連するパーティションに存在しないＳＡポートにアクセスするのを防止し得、これによりそのようなトラフィックが送られることも防止し得る。
【００３３】
さらに、専用のＱＰナンバーは、ＱＰ１に初期要求を常に送信する必要性がないように、各クライアントノード２３１〜２３８について割り当てられ得る。その後、指定されたクライアントノードのみが、指定されたＳＡポートにて特定されたＱＰナンバーについて受け入れられ得る。たとえば、ＳＡインプリメンテーションは、各クライアントノード２３１〜２３８が、各指定されたＱＰに明示的に関連付けられるパケット受信バッファの専用のセットのみを使用し得ることを保証し得る。したがって、システムは、すべての利用可能な受信バッファをクライアントノードがポートレベルにて消費し得ないことを保証し得、これにより、他のクライアントがフォワードプログレスを行なうのを防止し得る。
【００３４】
本発明の実施形態に従うと、システムは、さまざまな専用パーティションを定義するＳ
Ａ＿Ｐａｒｔｉｔｉｏｎフィールドと、さまざまな専用のＱＰナンバーを定義するＳＡ＿ＱＰフィールドとを含むようＩＢポート情報を拡張し得る。したがって、システムは、如何なるローカルクライアントノードもローカルＳＡポート上のＱＰ１をオーバーロードさせるのを防止し得るとともに、すべてのＳＡポートがデフォルトパーティションのフルメンバーである場合でも、如何なるノードも非ローカルＳＡポートに要求を送ることを防止し得る。
【００３５】
さらに、システムは、関連付けられるＳＭＡインプリメンテーションが、ＩＢポート情報としてＳＭによってセットアップされる情報の如何なる修正も許可しない場合でも、クライアントポートについて分散型ＳＡスキームを促進し得る。たとえば、ＳＡ／ＳＡプロキシにアクセスするためのパーティションナンバー（Ｐ＿Ｋｅｙ）を選択するための１つの規定は、ローカルポートＰ＿Ｋｅｙテーブルにおける第１のＰ＿Ｋｅｙ値を使用することであり得る。
【００３６】
さらに、如何なる明示的な付加的なローカルＩＢポート情報も有することなく演繹的に既知となる専用のＱＰナンバーを使用するために、規定は、デスティネーションＱＰナンバーとしてローカルポートＬＩＤ値を使用することであり得る。代替的には、システムは、ＳＡアクセスについて使用されるデスティネーションＱＰナンバー内のビットフィールドにおける値として、ローカルＬＩＤナンバーを使用し得る。いずれの場合においても、デスティネーションＱＰナンバーの残りは、あらかじめ定義された周知のナンバー（すなわち現在のＱＰ１値といった）であるか、または、さまざまなＩＢクライアントノード２３１〜２３８上のＩＢソフトウェアスタックについての一般的な構成パラメータの一部として定義され得る構成パラメータであり得る。
【００３７】
本発明の実施形態に従うと、システムは、各クライアントポートについて信頼されたＨＣＡインプリメンテーションを提供することに基づき得る。たとえば、信頼されたＨＣＡインプリメンテーションは、各ＳＡ要求におけるソースＬＩＤが常に、対応するクライアントポートについてＳＭによって定義される正しい値であることを保証し得る。さらに、ＳＡプロキシインプリメンテーションは、クライアントソースＬＩＤ値が、たとえば特定ビットフィールドとしての、各クライアントポートデスティネーションＱＰナンバーの部分であることを保証し得る。代替的には、デスティネーションＱＰのコンテキストは、（たとえばＩＢ仕様において定義されるような）被接続モードＱＰと同様の態様で、入力パケットがＱＰに届けられることを可能にするための特定のパケットソースＬＩＤを定義するためにセットアップされ得る。したがって、ＳＡポートハードウェアインプリメンテーションは、レガシーインプリメンテーションに対して有意な拡張を必要とすることなく、かつ、ＳＡプロキシインスタンスにアクセスするために専用のパーティションを使用する各クライアントポートに依存することなく、ＱＰレベルでの簡潔なアクセス制御を可能にし得る。
【００３８】
図３は、本発明の実施形態に従った、ネットワーク環境において分散型サブネットアドミニストレータ（ＳＡ）スキームをサポートするための例示的なフローチャートを示す。図３に示されるように、ステップ３０１では、システムは、サブネットにおけるサブネットアドミニストレータ（ＳＡ）を１つ以上のＳＡプロキシに関連付け得る。その後、ステップ３０２では、上記１つ以上のＳＡプロキシは、１つ以上のクライアントノードから１つ以上の要求を受け取り得る。さらに、ステップ３０３では、上記ＳＡは、上記１つ以上のＳＡプロキシから転送される１つ以上の要求を処理し得る。
【００３９】
サブネットアドミニストレータ（ＳＡ）アクセスのための信頼性のある接続（ＲＣ）
本発明の実施形態に従うと、システムは、信頼性のある接続（ＲＣ）に基づいてサブネットアドミニストレータ（ＳＡ）へのアクセスを提供し得る。（たとえばエンドツーエン
ド信頼性、完全なトランスポートオフロード、大きなメッセージおよびリモートダイレクトメモリアクセスをサポートするＩＢＲＣトランスポートサービス）。
【００４０】
図４は、本発明の実施形態に従った、ネットワーク環境における信頼性のある接続（ＲＣ）に基づいて、サブネットアドミニストレータ（ＳＡ）アクセスをサポートする図を示す。図４に示されるように、ネットワーク環境４００は、ＳＭノード４０３上のサブネットマネージャ（ＳＭ）４０１と、ホストチャネルアダプタ（ＨＣＡ）４０４に接続されるクライアントノード４０２とを含み得る。
【００４１】
本発明の実施形態に従うと、クライアントノード４０２についてのＨＣＡ４０４上のサブネット管理エージェント（ＳＭＡ）４０６は、クライアントノード４０２がＲＣベースのＳＡアクセスをサポートすることを示す能力４０５をアドバタイズし得る。
【００４２】
さらに、ＳＭＡ４０６は、ＲＣベースのＳＡアクセスについて利用可能なＱＰナンバー４１５のセットをアドバタイズすることにより、１つ以上のキューペア（ＱＰ）４１１を公開（expose）し得る。たとえば、ＳＭＡ４０６は、ＲＣベースのＳＡアクセスについて割り当てられたＱＰナンバーの良好に定義されたセット（たとえばＱＰナンバー２〜Ｎ）を有していることを保証し得るか、または、ＳＭＡ４０６が、１つ以上のノード固有のＳＭＡ属性値として、ＲＣベースのＳＡアクセスについて割り当てられたＱＰナンバー（たとえばｎ〜ｍ（ｎおよびｍの両方はクライアントノード４０２によって定義され得る））を報告し得ることを保証し得る。
【００４３】
さらに、サブネットアドミニストレータ（ＳＡ）４２２に関連付けられるＳＭ４０１は、ＩＢサブネットにおける各クライアントノードのタイプについての情報と、さらにこれらのクライアントノードの異なる能力についての情報とを抽出することができる。ＳＭ４０１は、ディスカバリの間、能力４０５およびＱＰナンバー４１５の情報の両方を記録することができる。したがって、ＳＭ４０１は、その側でのＲＣ接続をセットアップするために必要な情報を取得し得る。
【００４４】
その後、ＳＭ４０１および／またはＳＡ４２２は、ＳＭノード４０３上において、たとえばポート４１３の後ろにローカルＲＣＱＰ４１２を確立し得る。ここで、ポート４１３は、すべてのポートをセットアップするためにＳＭ４０１が使用するＳＭＬＩＤ属性を使用して定義され得る。
【００４５】
図４に示されるように、ＳＭ４０１は、特定のクライアントノード４０２についての接続状態によりＲＣＱＰ４１２を構成した後、クライアントノード４０２上でポート４１４をアクティベートし得る。たとえば、ＳＭ４０１は、ポート４１４をアクティブ状態にセットすることによって、クライアントノード４０２上のポート４１４を動作状態にし得る。
【００４６】
さらに、ＳＭ４０１は、ＲＣベースのＳＡアクセスが利用可能であることを、明示的にクライアントノード４０２に信号通知し得る。たとえば、クライアントノード４０２に代わってＳＭ４０１および／またはＳＡ４２２によって確立されるＲＣＱＰ４１２についてのＱＰナンバーは、クライアントノードポート４１４に割り当てられるベースＬＩＤのファンクションであり得る。言いかえれば、クライアントノード４０２は、ＲＣＱＰ４１２のためのＱＰナンバーを演繹的に知ることができる。
【００４７】
代替的には、クライアントノード４０２と通信するために使用されるＲＣＱＰ４１２についてのＱＰナンバーは、独立してかつ動的に割り当てられ得る。たとえば、ＲＣＱＰ４１２についてのＱＰナンバーは、ＳＭＬＩＤのような、ＳＭ４０１が他のプロパティと共
にクライアントノード４０２上でＳＭＡ４０６についてセットアップし得るＳＭＡ属性であり得る。
【００４８】
その後、クライアントノード４０２は、クライアントノード４０２側のポート４１４がＳＭ４０１によってアクティベートされた後、ＳＡアクセスについての接続情報によりローカルＲＣＱＰ４１１を更新し得る。そのような接続情報は、１つ以上のＳＭＡ属性から抽出され得るか、または、演繹的に既知である情報に基づいて取得され得る。その後、クライアントノード４０２は、たとえばＳＡ４２２とのさらなる接続管理プロトコル通信なしで、ＳＡ４２２に要求を送ることを開始し得る。
【００４９】
本発明の実施形態に従うと、システムは、ＳＡがＲＣＱＰ上で入力メッセージを受け取る準備ができていることの指示として、アクティブ状態へのクライアントノード側上のポートのセッティングを使用する規定を利用し得る。図４に示されるように、クライアントノード４０２は、クライアントノード４０２上のポート４１４がアクティベートされた後、ＳＡ４２２がＲＣＱＰ４１２上で入力メッセージを受け取る準備ができている（すなわちＲＣＱＰ４１２が既に動作状態へ構成されている）ということを認識し得る。
【００５０】
さらに、ＳＡ４２２は、クライアントノード４０２から第１の入力メッセージを受け取った後、ＲＣ接続４１０がクライアントノード４０２によって確立されたとを仮定し得る。これに対応して、ＳＡ４０３は、さまざまなイベントの応答および通知を含み得る１つ以上のメッセージをクライアントノード４０２に送り得る。
【００５１】
代替的には、クライアントノード４０２およびＳＡ４２２は、ＱＰナンバーがどのように確立されるかから独立して、通信管理メッセージ交換４２０に基づいて、必要なＲＣ接続を確立し得る。
【００５２】
さらに、メッセージバッファメモリを効率的に利用するために、システムは、複数の接続をサポートするよう上記のプロトコルを拡張し得る。本発明の実施形態に従うと、システムは、異なる接続について異なる最大のメッセージサイズを使用することを可能にする。たとえば、システムは、単純な小さなメッセージ要求／応答プロトコルをサポートするために１つのＲＣ接続を使用し得るとともに、マルチパス応答のようなより大きなメッセージをサポートするために別のＲＣ接続を使用し得る。
【００５３】
図４に示されるように、システムは、１つ以上のＲＣ接続を介して、ＳＡ４２２またはＳＡプロキシから転送される状態情報を含むために、クライアントノード４０２において１つ以上のあらかじめ定義されたメモリエリア４２１をセットアップし得る。たとえば、あらかじめ定義されたメモリエリア４２１は、ローカルクライアントノード４０２から、クライアントノード４０２が到達し得る他のすべてのクライアントノードへのすべての可能であるパスを含み得る。
【００５４】
さらに、ＳＡ４２２は、たとえば多くのパスが使用される場合に、ＲＤＭＡ書込を使用して、あらかじめ定義されたメモリエリア４２１を更新し得る。たとえば、任意のその後の更新は、更新を必要とする正確なセクションをターゲットとする選択されたＲＤＭＡ書込を使用して実現され得る。さらに、そのような選択された更新は、ＲＣ接続についての専用のイベントを介して実現されるイベントメッセージ、または、ＲＤＭＡ書込オペレーションに関連付けられる即値データとして実現されるイベントメッセージを伴い得る。
【００５５】
本発明の実施形態に従うと、クライアントノード４０２は、たとえばＳＭ４０１がＳＡアクセスについてのＲＣ能力を明示的に信号通知しない場合に、ＳＡアクセスをサポートするよう管理データグラム（ＭＡＤ）ベースのプロトコルを使用し得る。たとえば、ＩＢ
サブネットにおけるクライアントノードとＳＡとの間のインタラクションおよび通信プロトコルは、２５６バイトの信頼性の低いデータグラム（ＵＤ：unreliable datagram）で
あるＭＡＤに基づいて定義され得る。ここで、ＵＤベースのＭＡＤは、すべてのＩＢエンドノードがサポートすることができる最小のパケットフォーマットおよびプロトコルを表わす。
【００５６】
さらに、単一のＭＡＤパケットよりサイズが大きいメッセージの信頼性のある転送を提供するために、信頼性のあるマルチパケットプロトコル（ＲＭＰＰ：reliable multi-packet protocol）のような付加的なソフトウェアベースのプロトコルが、ＭＡＤプロトコル上でサポートされ得る。他方、有効にされたＨＣＡの後ろでＳＡファンクションが実現されるとともに有効にされたＨＣＡからほとんどのクライアントが動作している場合に特に、信頼性のあるメッセージ転送についてソフトウェアベースのプロトコルを使用することは、信頼性のある接続についてＨＣＡ能力を利用するほど、効率的でない場合がある。
【００５７】
図５は、本発明の実施形態に従った、ネットワーク環境においてサブネットアドミニストレータ（ＳＡ）と複数のクライアントノードとの間の通信をサポートする図を示す。図５に示されるように、ネットワーク環境５００は、サブネットマネージャ（ＳＭ）５０１と、複数のクライアントノード（たとえばクライアントノード５１１〜５１４）とを含み得る。さらに、ＳＭ５０１はサブネットアドミニストレータ（ＳＡ）５０２に関連付けられ得、クライアントノード５１１〜５１４は、各々がＳＭＡ５３１〜５３４をサポートし得るＨＣＡ５２１〜５２４に接続し得る。
【００５８】
本発明の実施形態に従うと、システムは、多くのクライアントノードと通信するために、ＳＡ５０２が異なるマルチキャストメッセージを送信することを可能にする。たとえば、ＳＡ５０２は、関連するイベントに関してクライアントノード５１１〜５１４に通知するために、ＩＢサブネットの異なるパーティション（たとえば１つ以上のＳＡアクセスパーティション）において１つ以上のマルチキャストメッセージを送信し得る。
【００５９】
さらに、システムは、異なるシーケンスナンバーを有する関連するパーティションにおいてマルチキャストメッセージを構成し得る。したがって、関連するパーティションにおけるクライアントノード５１１〜５１４は、欠けているイベントを検出し得、その後、当該欠けているイベントメッセージについてＳＡ５０３に要求し得る。図５に示されるように、クライアントノード５１１〜５１４は、マルチキャストベースのイベントメッセージの受信を確認するよう、ＲＣベースのメッセージ（すなわちユニキャストメッセージ）を使用し得る。
【００６０】
図５に示されるように、ＳＡ５０２は、マルチキャストベースのイベントメッセージについての確認がクライアントノード５１４から受け取られていないと判定すると、ＳＡ５０２は、たとえばＳＡ５０２からクライアントノード５１４まで専用のＲＣ接続を介する代わりに、ユニキャストメッセージを使用して、クライアントノード５１４にイベントメッセージを再び送信し得る。
【００６１】
図６は、本発明の実施形態に従った、ネットワーク環境において信頼性のある接続（ＲＣ）に基づいてサブネットアドミニストレータ（ＳＡ）アクセスをサポートするための例示的なフローチャートを示す。図６に示されるように、ステップ６０１では、サブネットにおけるサブネットマネージャ（ＳＭ）は、サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間の信頼性のある接続（ＲＣ）をセットアップするための情報を抽出し得る。その後、ステップ６０２では、ＳＭは、ＳＭノードに関連付けられるポートと上記クライアントノードに関連付けられるポートとの間にＲＣ接続を確立するよう、ＳＭノードに関連付けられるポートについて１つ以上の接続状態をセットアップし得る。さら
に、ステップ６０３では、ＳＭは、上記クライアントノードに関連付けられるポートをアクティベートし得る。
【００６２】
図７は、本発明の実施形態に従った、ネットワーク環境においてサブネット管理をサポートするためのシステム７００のブロック図である。システム７００のブロックは、本発明の原理を実施するために、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組合せによって実現され得る。当業者であれば、図７に記載されるブロックは、上述のように、本発明の原理を実現するために、組み合されてもよく、またはサブブロックへと分離されてもよいということが理解される。したがって、本願明細書における記載は、本願明細書において記載される機能ブロックの任意の可能な組合せ、分離、またはさらなる定義をサポートし得る。
【００６３】
図７に示されるように、ネットワーク環境においてサブネット管理をサポートするためのシステム７００は、関連付ユニット７１０、受取ユニット７２０、および、処理ユニット７３０を含む。関連付ユニット７１０は、サブネットにおけるサブネットアドミニストレータ（ＳＡ）を１つ以上のＳＡプロキシに関連付け得る。受取ユニット７２０は、上記１つ以上のＳＡプロキシを介して、１つ以上のクライアントノードから１つ以上の要求を受け取り得る。処理ユニット７３０は、前記ＳＡを介して、上記１つ以上のＳＡプロキシから転送される上記１つ以上の要求を処理し得る。
【００６４】
本発明の実施形態に従うと、サブネットは、ファットツリートポロジまたはホストポートからの接続がリーフスイッチを介するトポロジのうちの少なくとも１つとして実現されるインフィニバンド（ＩＢ）サブネットであり得る。
【００６５】
本発明の実施形態に従うと、クライアントノードに直接的に接続するリーフスイッチ上の管理プロセッサはＳＡプロキシとして使用され得る。
【００６６】
本発明の実施形態に従うと、ＳＡアクセスについての専用のパーティションは、上記１つ以上のクライアントノードについてセットアップされ得る。１つ以上のクライアントノードは、ネットワークファブリックにおけるクライアントノードの物理的なサブセットと、ネットワークファブリックにおけるクライアントノードの論理的なサブセットとのうち少なくとも１つを含み得る。
【００６７】
本発明の実施形態に従うと、専用のキューペア（ＱＰ）ナンバーが、各クライアントノードについて割り当てられ得る。
【００６８】
本発明の実施形態に従うと、各クライアントノードは、各指定されたＱＰナンバーに明示的に関連付けられるパケット受信バッファの専用のセットのみを使用し得る。
【００６９】
本発明の実施形態に従うと、異なるクライアントノードから受け取られる１つ以上の要求の実際の処理は、公平なインターリービングとともに行なわれ得る。
【００７０】
本発明の実施形態に従うと、システム７００はさらに、１つ以上のＳＡプロキシに公平性およびフォワードプログレスを保証する、ファブリック状態を管理する中央エンティティを含み得る。
【００７１】
本発明の実施形態に従うと、１つ以上の規定は、特定のクライアントＱＰナンバーへのアクセスを、指定された特定のクライアントポートに制限するために、専用のパーティションナンバーと、１つ以上のクライアントポートについての専用のＱＰナンバーとを選択するよう使用され得、および／または、信頼されたホストチャネルアダプタインプリメン
テーションは、１つ以上のクライアントノードに関連付けられるクライアントポートについて使用され得、ＳＡ要求パケットにおける信頼されたソースＬＩＤ情報に依拠する。
【００７２】
図８は、本発明の実施形態に従った、ネットワーク環境においてサブネット管理をサポートするためのサブネットマネージャ８００のブロック図である。サブネットマネージャ８００は、抽出ユニット８１０、セットアップユニット８２０、および、アクティベートユニット８３０を含み得る。抽出ユニット８１０は、サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出し得る。セットアップユニット８２０は、ＳＭノードに関連付けられるポートとクライアントノードに関連付けられるポートとの間にＲＣ接続を確立するよう、ＳＭノードに関連付けられるポートについて１つ以上の接続状態をセットアップし得る。アクティベートユニット８３０は、上記クライアントノードに関連付けられるポートをアクティベートし得る。
【００７３】
本発明の実施形態に従うと、クライアントノードに関連付けられるサブネット管理エージェント（ＳＭＡ）は、クライアントノードがＲＣベースのＳＡアクセスについてサポートを有することを示す能力をアドバタイズするよう動作し得る。
【００７４】
本発明の実施形態に従うと、クライアントノードは、クライアントノードに関連付けられるポートについて、１つ以上のＲＣキューペア（ＱＰ）の第１のセットを確立するために動作し得る。１つ以上のＲＣＱＰの第１のセットは、ＲＣベースのＳＡアクセスについて割り当てられる１つ以上のキューペア（ＱＰ）ナンバーに関連付けられ得る。
【００７５】
本発明の実施形態に従うと、サブネットマネージャ８００はさらに、確立ユニット（図示せず）を含み得る。確立ユニットは、ＳＭノードに関連付けられるポートについて、１つ以上のＲＣキューペア（ＱＰ）の第２のセットを確立し得る。１つ以上のＲＣＱＰの第２のセットについてのＱＰナンバーは、クライアントノードに関連付けられるポートに割り当てられるベースのローカル識別子（ＬＩＤ）のファンクションと、クライアントノードに関連付けられるＳＭＡについてＳＭによってセットアップされるＳＭＡ属性とのうちの１つに基づき得る。
【００７６】
本発明の実施形態に従うと、ＲＣ接続を確立するために管理メッセージ交換が使用され得る。
【００７７】
本発明の実施形態に従うと、クライアントノードは、ＲＣ接続を使用して、ＳＡにメッセージを送信するよう動作し得る。
【００７８】
本発明の実施形態に従うと、メッセージバッファメモリを効率的に利用するために複数のＲＣ接続が使用され得る。
【００７９】
本発明の実施形態に従うと、あらかじめ定義されたメモリエリアが、ＲＣ接続を介してＳＡおよびＳＡプロキシのうちの少なくとも１つから転送される状態情報を含むようクライアントノードにおいてセットアップされ得る。
【００８０】
本発明の実施形態に従うと、サブネットマネージャ８００はさらに、送信ユニット（図示せず）および割当ユニット（図示せず）を含み得る。送信ユニットは、１つ以上のイベントに関して少なくとも１つのパーティションにおける複数のクライアントノードに通知するために１つ以上のマルチキャストメッセージを送信し得る。割当ユニットは、シーケンスナンバーを各マルチキャストメッセージに割り当て得る。
【００８１】
図９を参照して、本発明の実施形態に従ったシステム９００が示される。図９は、システム９００によって実現される機能構成の図を示す。システム９００は、抽出モジュール９１０と、メモリモジュール９２０と、セッティングモジュール９３０と、サブネットマネージャ（ＳＭ）ノードに関連付けられるポート９４０と、クライアントノードに関連付けられるポート９５０と、アクティベートモジュールとを含む。
【００８２】
抽出ユニット９１０は、サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出する。当該情報はメモリモジュール９２０に格納される。セッティングモジュール９３０は、ＳＭノードに関連付けられるポート９４０とクライアントノードに関連付けられるポート９５０との間にＲＣ接続を確立するよう、ＳＭノードに関連付けられるポート９４０について１つ以上の接続状態をセットアップする。アクティベートモジュール９６０は、クライアントノードに関連付けられるポート９５０をアクティベートする。
【００８３】
図１０は、周知のハードウェア要素を含むコンピュータシステム１０００の図を示す。すなわち、コンピュータシステム１０００は、中央処理装置（ＣＰＵ）１０１０、マウス１０２０、キーボード１０３０、ランダムアクセスメモリ（ＲＡＭ）１０４０、ハードディスク１０５０、ディスクドライブ１０６０、通信インターフェイス（Ｉ／Ｆ）１０７０、およびモニタ１０８０を含む。コンピュータシステム１０００は、システム９００を構成するノードとして機能し得る。
【００８４】
本発明の実施形態に従うと、抽出モジュール９１０と、セッティングモジュール９３０と、ＳＭノードに関連付けられるポート９４０と、クライアントノード９５０に関連付けられるポート９５０と、アクティベートモジュール９６０とは、１つ以上のコンピュータシステム９００によって提供される。抽出モジュール９１０と、セッティングモジュール９３０と、ＳＭノードに関連付けられるポート９４０と、クライアントノード９５０に関連付けられるポート９５０と、アクティベートモジュール９６０とがＣＰＵ１０１０によって実現される。さらに別の局面において、抽出モジュール９１０と、セッティングモジュール９３０と、ＳＭノードに関連付けられるポート９４０と、クライアントノード９５０に関連付けられるポート９５０と、アクティベートモジュール９６０とが実現されるように、１つより多いプロセッサが使用され得る。すなわち、抽出モジュール９１０と、メモリモジュール９２０と、セッティングモジュール９３０と、ＳＭノードに関連付けられるポート９４０と、クライアントノード９５０に関連付けられるポート９５０と、アクティベートモジュール９６０とのいずれかは、互いから物理的にリモートであり得る。
【００８５】
さらに別の局面において、システム９００は、抽出モジュール９１０と、セッティングモジュール９３０と、ＳＭノードに関連付けられるポート９４０と、クライアントノード９５０に関連付けられるポート９５０と、アクティベートモジュール９６０として機能する複数のハードワイヤード回路を使用することにより実現され得る。
【００８６】
本発明は、１つ以上のプロセッサ、メモリ、および／または本開示の教示に従ってプログラムされたコンピュータ読取可能な記録媒体を含む１つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
【００８７】
いくつかの実施形態では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー
ディスク（登録商標）、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリ素子、磁気または光学カード、ナノシステム（分子メモリＩＣを含む）、または命令および／またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
【００８８】
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記修正例および変形例は、記載された機能の任意の関連する組合せを含む。上記の実施形態は、本発明の原理およびその実際的な適用を最もよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施形態について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。
【図１】
2019134461.tif 000003
【図２】
2019134461.tif 000004
【図３】
2019134461.tif 000005
【図４】
2019134461.tif 000006
【図５】
2019134461.tif 000007
【図６】
2019134461.tif 000008
【図７】
2019134461.tif 000009
【図８】
2019134461.tif 000010
【図９】
2019134461.tif 000011
【図１０】
2019134461.tif 000012
【手続補正書】
【提出日】平成31年4月12日(2019.4.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク環境においてサブネット管理をサポートするための方法であって、
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間で信頼性のある接続（ＲＣ）をセットアップするための情報を、サブネットにおけるＳＭノード上のサブネットマネージャ（ＳＭ）を介して抽出することと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間で前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについての１つ以上の接続状態をセットアップすることと、
前記ＳＭを介して、前記クライアントノードに関連付けられる前記ポートをアクティベートすることとを含む、方法。
【手続補正書】
【提出日】平成31年4月22日(2019.4.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク環境においてサブネット管理をサポートするための方法であって、
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間で信頼性のある接続（ＲＣ）をセットアップするための情報を、サブネットにおけるＳＭノード上のサブネットマネージャ（ＳＭ）を介して抽出することと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間で前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについての１つ以上の接続状態をセットアップすることと、
前記ＳＭを介して、前記クライアントノードに関連付けられる前記ポートをアクティベートすることとを含む、方法。
【請求項２】
前記クライアントノードに関連付けられるサブネット管理エージェント（ＳＭＡ）を介して、前記クライアントノードがＲＣベースのＳＡアクセスについてサポートを有することを示す能力をアドバタイズすることさらに含む、請求項１に記載の方法。
【請求項３】
前記クライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第１のセットを確立することをさらに含み、前記１つ以上のＲＣＱＰの第１のセットは、ＲＣベースのＳＡアクセスについて割り当てられる１つ以上のキューペア（ＱＰ）ナンバーに関連付けられる、請求項１または２に記載の方法。
【請求項４】
前記ＳＭクライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第２のセットを確立することをさらに含み、
前記１つ以上のＲＣＱＰの第２のセットについてのＱＰナンバーは、
前記クライアントノードに関連付けられる前記ポートに割り当てられるベースのローカル識別子（ＬＩＤ）のファンクションと、
前記クライアントノードに関連付けられる前記ＳＭＡについて前記ＳＭによってセットアップされるＳＭＡ属性と
のうちの１つに基づく、請求項３に記載の方法。
【請求項５】
前記ＲＣ接続を確立するよう管理メッセージ交換を使用することをさらに含む、先行する請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記ＲＣ接続を使用して前記ＳＡにメッセージを前記クライアントノードを介して送信することをさらに含む、先行する請求項１〜５のいずれか１項に記載の方法。
【請求項７】
メッセージバッファメモリを効率的に利用するために複数のＲＣ接続を使用することをさらに含む、先行する請求項１〜６のいずれか１項に記載の方法。
【請求項８】
１つ以上のＲＣ接続を介して前記ＳＡおよびＳＡプロキシのうちの少なくとも１つから転送される状態情報を含むよう、前記クライアントノードにおいてあらかじめ定義されたメモリエリアをセットアップすることと、
１つ以上のイベントに関して少なくとも１つのパーティションにおける複数のクライアントノードに通知するよう、１つ以上のマルチキャストメッセージを前記ＳＡを介して送信することと、
各前記マルチキャストメッセージにシーケンスナンバーを割り当てることとをさらに含む、請求項７に記載の方法。
【請求項９】
ネットワーク環境においてサブネット管理をサポートするためのシステムであって、
１つ以上のマイクロプロセッサと、
前記１つ以上のマイクロプロセッサ上で実行される、サブネットにおけるＳＭノード上のサブネットマネージャ（ＳＭ）とを含み、前記ＳＭは、
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出することと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間で前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについての１つ以上の接続状態をセットアップすることと、
前記クライアントノードに関連付けられる前記ポートをアクティベートすることとを行なうよう動作する、システム。
【請求項１０】
前記クライアントノードに関連付けられるサブネット管理エージェント（ＳＭＡ）は、前記クライアントノードがＲＣベースのＳＡアクセスについてサポートを有することを示す能力をアドバタイズするよう動作し、
前記クライアントノードは、前記クライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第１のセットを確立するよう動作し、前記１つ以上のＲＣＱＰの第１のセットは、前記ＲＣベースのＳＡアクセスについて割り当てられる１つ以上のキューペア（ＱＰ）ナンバーに関連付けられ、
前記ＳＭは、前記ＳＭノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第２のセットを確立するよう動作し、
前記１つ以上のＲＣＱＰの第２のセットについてのＱＰナンバーは、
前記クライアントノードに関連付けられる前記ポートに割り当てられるベースのローカル識別子（ＬＩＤ）のファンクションと、
前記クライアントノードに関連付けられる前記ＳＭＡについて前記ＳＭによってセットアップされるＳＭＡ属性と
のうちの１つに基づき、
前記ＳＭは、前記ＲＣ接続を確立するために管理メッセージ交換を使用するよう動作し、
前記クライアントノードは、前記ＲＣ接続を使用して前記ＳＡにメッセージを送信するよう動作し、
メッセージバッファメモリを効率的に利用するために複数のＲＣ接続が使用され、
１つ以上のＲＣ接続を介して前記ＳＡおよびＳＡプロキシのうちの少なくとも１つから転送される状態情報を含むよう、前記クライアントノードにおいてあらかじめ定義されたメモリエリアがセットアップされ、
前記ＳＡは、１つ以上のイベントに関して少なくとも１つのパーティションにおける複数のクライアントノードに通知するよう１つ以上のマルチキャストメッセージを送信し、各前記マルチキャストメッセージにシーケンスナンバーを割り当てるよう動作する、請求項９に記載のシステム。
【請求項１１】
ネットワーク環境においてサブネット管理をサポートするためのシステムであって、
サブネットにおけるサブネットアドミニストレータ（ＳＡ）を１つ以上のＳＡプロキシに関連付けるように構成される関連付ユニットと、
前記１つ以上のＳＡプロキシを介して１つ以上のクライアントノードから１つ以上の要求を受け取るように構成される受取ユニットと、
前記１つ以上のＳＡプロキシから転送される前記１つ以上の要求を前記ＳＡを介して処理するように構成される処理ユニットとを含む、システム。
【請求項１２】
前記サブネットは、ファットツリートポロジまたはホストポートからの接続がリーフスイッチを介するトポロジのうちの少なくとも１つとして実現されるインフィニバンド（ＩＢ）サブネットであり、
クライアントノードに直接的に接続するリーフスイッチ上の管理プロセッサがＳＡプロキシとして使用され、
ＳＡアクセスについての専用のパーティションは、前記１つ以上のクライアントノードについてセットアップされ、前記１つ以上のクライアントノードは、ネットワークファブリックにおけるクライアントノードの物理的なサブセットと、ネットワークファブリックにおけるクライアントノードの論理的なサブセットとのうちの少なくとも１つを含み、
専用のキューペア（ＱＰ）ナンバーは、各クライアントノードについて割り当てられ、
各クライアントノードは、各指定されるＱＰナンバーに明示的に関連付けられるパケット受信バッファの専用のセットのみを使用することが可能であり、
異なるクライアントノードから受け取られる前記１つ以上の要求の実際の処理は公平なインターリービングとともに行われ、
前記１つ以上のＳＡプロキシについて公平性およびフォワードプログレスを保証する、ファブリック状態を管理する中央エンティティをさらに含み、
専用のパーティションナンバーと、１つ以上のクライアントポートについての専用のＱＰナンバーとを選択するよう１つ以上の規定が使用され、および／または、
特定のクライアントＱＰナンバーへのアクセスを、指定される特定のクライアントポートに制限するために、前記１つ以上のクライアントノードに関連付けられるクライアントポートについて信頼されたホストチャネルアダプタインプリメンテーションが使用され、かつ、ＳＡ要求パケットにおける信頼されたソースＬＩＤ情報に依拠する、請求項１１に記載のシステム。
【請求項１３】
サブネットマネージャであって、
サブネットアドミニストレータ（ＳＡ）とクライアントノードとの間に信頼性のある接続（ＲＣ）をセットアップするための情報を抽出するように構成される抽出ユニットと、
前記ＳＭノードに関連付けられるポートと前記クライアントノードに関連付けられるポートとの間に前記ＲＣ接続を確立するよう、前記ＳＭノードに関連付けられる前記ポートについて１つ以上の接続状態をセットアップするように構成されるセットアップユニットと、
前記クライアントノードに関連付けられる前記ポートをアクティベートするように構成されるアクティベートユニットとを含む、サブネットマネージャ。
【請求項１４】
前記クライアントノードに関連付けられるサブネット管理エージェント（ＳＭＡ）は、前記クライアントノードがＲＣベースのＳＡアクセスについてサポートを有することを示す能力をアドバタイズするよう動作し、
前記クライアントノードは、前記クライアントノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第１のセットを確立するよう動作し、前記１つ以上のＲＣＱＰの第１のセットは、前記ＲＣベースのＳＡアクセスについて割り当てられる１つ以上のキューペア（ＱＰ）ナンバーに関連付けられ、
前記ＳＭノードに関連付けられる前記ポートについて、１つ以上のＲＣキューペア（ＱＰ）の第２のセットを確立するように構成される確立ユニットをさらに含み、
前記１つ以上のＲＣＱＰの第２のセットについてのＱＰナンバーは、
前記クライアントノードに関連付けられる前記ポートに割り当てられるベースのローカル識別子（ＬＩＤ）のファンクションと、
前記クライアントノードに関連付けられる前記ＳＭＡについて前記ＳＭによってセットアップされるＳＭＡ属性と
のうちの１つに基づき、
前記ＲＣ接続を確立するために管理メッセージ交換が使用され、
前記クライアントノードは、前記ＲＣ接続を使用して前記ＳＡにメッセージを送信するよう動作し、
メッセージバッファメモリを効率的に利用するために複数のＲＣ接続が使用され、
ＲＣ接続を介して前記ＳＡおよびＳＡプロキシのうちの少なくとも１つから転送される状態情報を含むよう、前記クライアントノードにおいてあらかじめ定義されたメモリエリアがセットアップされ、
１つ以上のイベントに関して少なくとも１つのパーティションにおける複数のクライアントノードに通知するために１つ以上のマルチキャストメッセージを送信するように構成される送信ユニットと、
シーケンスナンバーを各前記マルチキャストメッセージに割り当てるように構成される割当ユニットとをさらに含む、請求項１３に記載のサブネットマネージャ。
【請求項１５】
マシン読取可能なフォーマットのプログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、請求項１〜８のいずれか１項に記載の方法を前記コンピュータシステムに行なわせる、コンピュータプログラム。
【外国語明細書】
2019134461000001.pdf