(57)【要約】      （修正有）【課題】エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理する。【解決手段】通信フロー１６００において、コンピューティング装置は、ネットワーク・インターフェース・コントローラ（NIC）を含む。NICは、NICのメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信ネットワーク・パケットをメモリ・ファブリックに分散式に書き込むよう構成される。ネットワーク・ファブリック・インターフェースは、受信したネットワーク・パケットを示すイベント・メッセージを、メモリ・ファブリックに通信上結合されたパケット・プロセッサに送るよう構成される。【選択図】図１６
2019047489.tif 000002
【特許請求の範囲】
【請求項１】
エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置であって、当該コンピューティング装置は：
計算エンジンと；
ネットワーク・インターフェース・コントローラ（NIC）とを有しており、前記NICは該NICのメモリ・ファブリックおよび複数のエージェントに通信上結合されたパケット・プロセッサを有しており、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されており、前記NICは：
前記メモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し；
前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを前記パケット・プロセッサに、前記パケット・プロセッサに関連付けられた前記メモリ・ファブリックのエージェント・ファブリック・インターフェースを介して送り；
前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し；
前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット受信イベント・メッセージを生成し；
前記パケット・プロセッサによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信する、
コンピューティング装置。
【請求項２】
前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが：
前記受信されたネットワーク・パケットの前記読み出された部分をパースし；
前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し；
前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む、
請求項１記載のコンピューティング装置。
【請求項３】
前記ネットワーク・パケット受信イベント・メッセージを前記パケット・プロセッサに送ることが、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタを含めることを含み、
前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む、
請求項１記載のコンピューティング装置。
【請求項４】
前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類し、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することを含む、請求項１記載のコンピューティング装置。
【請求項５】
前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む、請求項１記載のコンピューティング装置。
【請求項６】
前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求し、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む、請求項５記載のコンピューティング装置。
【請求項７】
前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することが、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに関連付けられている前記メモリ・ファブリックのエージェント・ファブリック・インターフェースに送信することを含む、請求項１記載のコンピューティング装置。
【請求項８】
前記NICがさらに、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除する、請求項１記載のコンピューティング装置。
【請求項９】
前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが：
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し；
前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む、
請求項１記載のコンピューティング装置。
【請求項１０】
前記NICがさらに：
前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから前記NICのホスト・インターフェースによって受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；
前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し；
前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに、前記パケット・プロセッサに関連付けられた前記メモリ・ファブリックのエージェント・ファブリック・インターフェースを介して送り；
前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し；
前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し；
前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し；
前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケットが別のコンピューティング装置に送信されるべきであるという指示を前記同定されたエージェントから受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除する、
請求項１記載のコンピューティング装置。
【請求項１１】
前記ホスト・ファブリック・インターフェースによって前記新ネットワーク・パケット・イベント・メッセージを送ることが：
前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；
前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し；
前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む、
請求項１０記載のコンピューティング装置。
【請求項１２】
エージェント‐メッシュ・アーキテクチャーにおいてコンピューティング装置によってネットワーク・パケットを処理する方法であって、当該方法は：
前記コンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）のメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し；
前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを、前記メモリ・ファブリックに通信上結合されたパケット・プロセッサに送り；
前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために複数のエージェントのうちのあるエージェントを同定する段階であって、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されている、段階を実行し；
前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すもう一つのイベント・メッセージを生成し；
前記パケット・プロセッサによって、生成された前記もう一つのイベント・メッセージを前記同定されたエージェントに送信することを含む、
方法。
【請求項１３】
前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが、（ｉ）前記受信されたネットワーク・パケットの前記読み出された部分をパースし；（ｉｉ）前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し；（ｉｉｉ）前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む、請求項１２記載の方法。
【請求項１４】
前記生成されたイベント・メッセージを前記パケット・プロセッサに送ることが、前記生成されたイベント・メッセージを、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタとともに送ることを含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む、請求項１２記載の方法。
【請求項１５】
前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類することをさらに含み、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することを含む、請求項１２記載の方法。
【請求項１６】
前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む、請求項１２記載の方法。
【請求項１７】
前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求することをさらに含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む、請求項１６記載の方法。
【請求項１８】
前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに送信することが、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに関連付けられている前記メモリ・ファブリックのエージェント・ファブリック・インターフェースに送信することを含む、請求項１２記載の方法。
【請求項１９】
前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記コンピューティング装置の計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む、請求項１２記載の方法。
【請求項２０】
前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが：
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；
前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し；
前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む、
請求項１２記載の方法。
【請求項２１】
前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記コンピューティング装置の計算エンジンから受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；
前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し；
前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに、前記パケット・プロセッサに関連付けられた前記メモリ・ファブリックのエージェント・ファブリック・インターフェースを介して送り；
前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し；
前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し；
前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し；
前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット送信イベント・メッセージを受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む、
請求項１２記載の方法。
【請求項２２】
前記ホスト・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが：
前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；
前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；
前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し；
前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む、
請求項２１記載の方法。
【請求項２３】
請求項１２ないし２２のうちいずれか一項記載の方法をコンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）に実行させるためのコンピュータ・プログラム。
【請求項２４】
請求項２３記載のコンピュータ・プログラムを記憶している、前記NICの一つまたは複数のコンピュータ可読記憶媒体。
【請求項２５】
エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置であって、当該コンピューティング装置は：
一つまたは複数のプロセッサと；
ネットワーク・インターフェース・コントローラ（NIC）とを有しており、前記NICは該NICによって実行されたときに請求項１２ないし２２のうちいずれか一項記載の方法を当該コンピューティング装置に実行させる複数の命令を記憶している、
コンピューティング装置。
【請求項２６】
エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置であって、請求項１２ないし２２のうちいずれか一項記載の方法を当該コンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）によって実行するための手段を有する、コンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は2016年11月29日に出願された米国仮特許出願第62/427,268号および2017年8月30日に出願されたインド仮特許出願第201741030632号の利益を主張するものである。同出願の内容はここに参照によってその全体において組み込まれる。
【背景技術】
【０００２】
今のパケット交換ネットワーク・アーキテクチャーでは、データはネットワーク・パケットの形でコンピューティング装置および／または装置コンポーネントの間で急速なペースで伝送される。高レベルでは、データはネットワーク・パケットにパケット化され、それがあるネットワーク・コンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）によって送信され、別のネットワーク・コンピューティング装置のNICによって受信される。受信時に、ネットワーク・パケットは典型的には処理、分類などされ、ペイロードは典型的にはメモリ（たとえばキャッシュ、メイン・メモリなど）に書き込まれる。ネットワーク・パケット・データをメモリに書き込むと、受信側NICはホスト中央処理ユニット（CPU）に、該データがさらなる処理のために利用可能であることを通知してもよい。しかしながら、ネットワーク・パケット・データの内容をホストCPUによる処理のためにNICからメモリに書き込むことは、高価でありレイテンシーを導入するか、他の何らかの負のパフォーマンス効果をもつことがある。
【図面の簡単な説明】
【０００３】
本稿に記載される概念は、限定ではなく例として、付属の図面において図示される。図示の簡明のため、図面に示される要素は必ずしも同縮尺にはなっていない。適切と考えられる場合には、対応するまたは類似の要素を示すために、参照符号が複数の図面の間で繰り返されている。
【図１】本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるデータ・センターの概念的な概観図である。
【図２】図１のデータ・センターのラックの論理的構成の例示的実施形態の図である。
【図３】本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるもう一つのデータ・センターの例示的実施形態の図である。
【図４】本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるデータ・センターのもう一つの例示的実施形態の図である。
【図５】図１、図３、図４のデータ・センターのさまざまなスレッドの間で確立されうるリンク層接続性を表わす接続性スキームの図である。
【図６】いくつかの実施形態に基づく、図１〜図４に描かれるラックの任意の特定の一つのアーキテクチャーを表わしうるラック・アーキテクチャーの図である。
【図７】図６のラック・アーキテクチャーとともに使用されうるスレッドの例示的実施形態の図である。
【図８】拡張機能を備えるスレッドのサポートを提供するためのラック・アーキテクチャーの例示的実施形態の図である。
【図９】図８のラック・アーキテクチャーに基づいて実装されるラックの例示的実施形態の図である。
【図１０】図９のラックとの関連で使うために設計されたスレッドの例示的実施形態の図である。
【図１１】本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるデータ・センターの例示的実施形態の図である。
【図１２】エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置の少なくとも一つの実施形態の簡略化されたブロック図である。
【図１３】図１２のコンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）によって確立されうる環境の少なくとも一つの実施形態の簡略化されたブロック図である。
【図１４】図１２および図１３のNICによって実行されうる、ネットワーク・パケットを受信するのに応答してイベント・メッセージを生成する方法の少なくとも一つの実施形態の簡略化された流れ図である。
【図１５】図１２および図１３のNICによって実行されうる、エージェント‐メッシュ・アーキテクチャーにおいて到来ネットワーク・パケットを処理する方法の少なくとも一つの実施形態の簡略化された流れ図である。
【図１６】図１２および図１３のNICによって実行されうる、エージェント‐メッシュ・アーキテクチャーにおいて外向きネットワーク・パケットを処理するための少なくとも一つの実施形態の簡略化された通信フロー図である。
【発明を実施するための形態】
【０００４】
本開示の概念はさまざまな修正および代替形が可能だが、その個別的実施形態が例として図面に示されており、下記で詳細に記載される。しかしながら、本開示の概念を開示されている特定の形に限定する意図はなく、逆に、本開示および付属の請求項と整合するあらゆる修正、等価物および代替をカバーすることが意図されていることを理解しておくべきである。
【０００５】
本明細書における「一つの実施形態」、「ある実施形態」、「例示的な実施形態」などへの言及は、記載されるその実施形態が特定の特徴、構造または特性を含みうることを示すが、すべての実施形態がその特定の特徴、構造または特性を含むこともあれば、必ずしも含まないこともある。さらに、そのような句は必ずしも同じ実施形態を指しているのではない。さらに、特定の特徴、構造または特性がある実施形態との関連で記述されるとき、そのような特徴、構造または特性を他の実施形態との関連で実施することは、明示されているか否かによらず、当業者の知識の範囲内であることを述べておく。さらに、「少なくとも一つのA、BおよびC」は（A）；（B）；（C）；（AおよびB）；（AおよびC）；（BおよびC）；または（A、BおよびC）を意味することができる。同様に、「A、BまたはCの少なくとも一つ」の形で挙げられた項目は（A）；（B）；（C）；（AおよびB）；（AおよびC）；（BおよびC）；または（A、BおよびC）を意味することができる。
【０００６】
開示される実施形態は、場合によっては、ハードウェア、ファームウェア、ソフトウェアまたはそれらの任意の組み合わせで実装されうる。開示される実施形態は、一時的または非一時的な機械可読（たとえばコンピュータ可読）記憶媒体に搬送されるまたは記憶される命令として実装されてもよく、該命令は一つまたは複数のプロセッサによって読まれ、実行されてもよい。機械可読記憶媒体は、機械によって読み取り可能な形で情報を記憶または伝送するための任意の記憶装置、機構または他の物理的構造（たとえば、揮発性または不揮発性メモリ、メディア・ディスクまたは他のメディア・デバイス）として具現されうる。
【０００７】
図面において、いくつかの構造的または方法の特徴が特定の配置および／または順序において示されることがあるが、そのような特定の配置および／または順序は必須ではないことがあることは理解しておくべきである。むしろ、いくつかの実施形態では、そのような特徴は、例示的な図に示したのとは異なる仕方および／または順序で配列されてもよい。さらに、構造的または方法の特徴が特定の図に含まれることは、そのような特徴がすべての実施形態において必要とされることを含意することは意図されていない。いくつかの実施形態では、含まれなくてもよく、あるいは他の特徴と組み合わされてもよい。
【０００８】
図１は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で／そのために実装されうるデータ・センターまたは他の型のコンピューティング・ネットワークを概括的に表わしうるデータ・センター１００の概念的な概観図である。図１に示されるように、データ・センター１００は一般に複数のラックを含んでいてもよく、そのそれぞれが、物理的資源のそれぞれの集合を有するコンピューティング設備を収容していてもよい。図１に描かれる特定の限定しない例では、データ・センター１００は四つのラック１０２Aないし１０２Dを含み、これらは物理的資源（PCR）のそれぞれの集合を有するコンピューティング設備を収容する。この実施形態によれば、データ・センター１００の物理的資源１０６の全体的な集合は、ラック１０２Aないし１０２Dの間に分配されている物理的資源１０５Aないし１０５Dのさまざまな集合を含む。物理的資源１０６は、たとえばプロセッサ、コプロセッサ、アクセラレータ、フィールドプログラマブルゲートアレイ（FPGA）、メモリおよび記憶といった複数の型の資源を含んでいてもよい。実施形態はこれらの例に限定されない。
【０００９】
例示的なデータ・センター１００は典型的なデータ・センターとは多くの点で異なる。たとえば、例示的実施形態では、CPU、メモリおよび他のコンポーネントといったコンポーネントが配置される回路基板（「スレッド（sled）」）は、増大した熱パフォーマンスのために設計されている。特に、図示した実施形態では、スレッドは典型的な基板より浅い。換言すれば、スレッドは、冷却ファンが位置するところで、奥行きがより短くなっている。これは、基板上で諸コンポーネントを横断して空気が進まなければならない経路の長さを減少させる。さらに、スレッドの諸コンポーネントは、典型的な回路基板よりもさらに間隔を空けられており、コンポーネントは影になる問題（すなわち、あるコンポーネントが別のコンポーネントの気流経路にあること）を軽減するまたは解消するように配置されている。例解用の実施形態では、プロセッサのような処理コンポーネントは、スレッドの上側に位置され、一方、DIMMのような近位メモリはスレッドの下側に位置される。この設計によって提供される向上した気流の結果として、コンポーネントは典型的なシステムより高い周波数および電力レベルで動作でき、それによりパフォーマンスを高める。さらに、スレッドは各ラック１０２A、１０２B、１０２C、１０２Dにおける電力およびデータ通信ケーブルと盲目的にかみあうよう構成されており、迅速に取り外され、アップグレードされ、再組み込みされおよび／または交換される能力を高めている。同様に、プロセッサ、アクセラレータ、メモリおよびデータ記憶ドライブといった、スレッドに位置する個々のコンポーネントは、互いに間隔を増しているため、簡単にアップグレードされるよう構成されている。例解用の実施形態では、コンポーネントはさらに、その正当性を証明するためにハードウェア認証機能を含む。
【００１０】
さらに、例解用の実施形態では、データ・センター１００は、EthernetおよびOmni-Pathを含む複数の他のネットワーク・アーキテクチャーをサポートする単一のネットワーク・アーキテクチャー（「ファブリック」）を利用する。例解用の実施形態におけるスレッドは、光ファイバーを介してスイッチに結合される。光ファイバーは、典型的な撚り対線（たとえばカテゴリー5、カテゴリー5e、カテゴリー6など）よりも高い帯域幅および低いレイテンシーを提供する。高帯域幅、低レイテンシーの相互接続およびネットワーク・アーキテクチャーのため、データ・センター１００は、使用において、メモリ、アクセラレータ（たとえばグラフィック・アクセラレータ、FPGA、ASICなど）およびデータ記憶ドライブといった、物理的に分かれている資源をプールして、必要に応じてそれらを計算資源（たとえばプロセッサ）に提供してもよい。それにより、計算資源は、プールされた資源に、それらがあたかもローカルであるかのようにアクセスすることができる。例解用のデータ・センター１００はさらに、さまざまな資源についての利用情報を受領し、過去の資源利用に基づいて種々の型の作業負荷についての資源利用を予測し、この情報に基づいて資源を動的に割り当て直す。
【００１１】
データ・センター１００のラック１０２A、１０２B、１０２C、１０２Dは、多様な型のメンテナンス・タスクの自動化を容易にする物理的な設計特徴を含んでいてもよい。たとえば、データ・センター１００は、ロボット的にアクセスされ、ロボット的に操作可能な資源スレッドを受け入れ、収容するよう設計されているラックを使って実装されてもよい。さらに、例解用の実施形態では、ラック１０２A、１０２B、１０２C、１０２Dは、電源について典型的であるより大きな電圧を受け取る統合された電源を含む。増大した電圧は、電源が各スレッド上のコンポーネントに追加的な電力を提供することを可能にし、それらのコンポーネントが典型的よりも高い周波数で動作できるようにする。
【００１２】
図２は、データ・センター１００のラック２０２の論理的構成を示している。図２に示されるように、ラック２０２は一般に、複数のスレッドを収容でき、各スレッドは物理的資源のそれぞれの集合を有していてもよい。図２に描かれる特定の限定しない例では、ラック２０２は物理的資源２０５−１ないし２０５−４のそれぞれの集合を有するスレッド２０４−１ないし２０４−４を収容する。物理的資源の各集合は、ラック２０２に含まれる物理的資源２０６の全体的な集合の一部をなす。図１に関し、ラック２０２がたとえばラック１０２Aを表わす場合、物理的資源２０６は、ラック１０２Aに含まれる物理的資源１０５Aに対応しうる。このように、この例のコンテキストにおいて、物理的資源１０５Aは、ラック２０２のスレッド２０４−１ないし２０４−４に含まれる物理的記憶資源２０５−１、物理的アクセラレータ資源２０５−２、物理的メモリ資源２０５−３および物理的計算資源２０５−５を含む物理的資源のそれぞれの集合から構成されてもよい。実施形態はこの例に限定されない。各スレッドは、物理的資源のさまざまな型（たとえば計算、メモリ、アクセラレータ、記憶）のそれぞれのプールを含んでいてもよい。分別された資源を有する、ロボット的にアクセス可能でありロボット的に操作可能なスレッドをもつことにより、各型の資源は互いに独立に、自分自身の最適化されたリフレッシュ・レートで、アップグレードされることができる。
【００１３】
図３は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で／そのために実装されうるものを概括的に表わしうるデータ・センター３００の例である。図３に描かれる特定の限定しない例では、データ・センター３００はラック３０２−１ないし３０２−３２を有する。さまざまな実施形態において、データ・センター３００のラックは、さまざまなアクセス経路を確定するおよび／または受け入れるような仕方で配置されてもよい。たとえば、図３に示されるように、データ・センター３００のラックは、アクセス経路３１１A、３１１B、３１１Cおよび３１１Dを確定するおよび／または受け入れるような仕方で配置されてもよい。いくつかの実施形態では、そのようなアクセス経路の存在は、一般に、ロボット・メンテナンス設備のような自動化されたメンテナンス設備が、データ・センター３００のさまざまなラックに収容された計算設備に物理的にアクセスして、自動化されたメンテナンス・タスクを実行する（たとえば、故障したスレッドを交換する、スレッドをアップグレードする）ことを可能にしうる。さまざまな実施形態において、アクセス経路３１１A、３１１B、３１１Cおよび３１１Dの寸法、ラック３０２−１ないし３０２−３２の寸法および／またはデータ・センター３００の物理的なレイアウトの一つまたは複数の他の側面は、そのような自動化された動作を容易にするように選択されてもよい。実施形態はこのコンテキストにおいて限定されない。
【００１４】
図４は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で／そのために実装されうるものを概括的に表わしうるデータ・センター４００の例である。図４に示されるように、データ・センター４００は光ファブリック４１２を備えていてもよい。光ファブリック４１２は一般に、（光ケーブルのような）光学式信号伝達媒体と、光学的スイッチング・インフラストラクチャーとを有していてもよい。該光学的スイッチング・インフラストラクチャーを介して、データ・センター４００における任意の特定のスレッドが、データ・センター４００における他の各スレッドに信号を送る（から信号を受け取る）ことができる。光ファブリック４１２が任意の所与のスレッドに提供する信号伝達接続性は、同じラック内の他のスレッドおよび他のラック内のスレッド両方への接続性を含んでいてもよい。図４に描かれる具体的な限定しない例では、データ・センター４００は四つのラック４０２Aないし４０２Dを含む。ラック４０２Aないし４０２Dはそれぞれのスレッド対４０４A-1および４０４A-2、４０４B-1および４０４B-2、４０４C-1および４０４C-2ならびに４０４D-1および４０４D-2を収容する。このように、この例では、データ・センター４００は全部で八つのスレッドを有する。光ファブリック４１２を介して、そのような各スレッドが、データ・センター４００における他の七つのスレッドのそれぞれとの信号伝達接続性を有しうる。たとえば、光ファブリック４１２を介して、ラック４０２Aにおけるスレッド４０４A-1は、ラック４０２Aにおけるスレッド４０４A-2ならびにデータ・センター４００の他のラック４０２B、４０２Cおよび４０２Dの間に分散されている六つの他のスレッド４０４B-1、４０４B-2、４０４C-1、４０４C-2、４０４D-1および４０４D-2と信号伝達接続性をもちうる。実施形態はこの例に限定されない。
【００１５】
図５は、図１、図３、図４の例示的なデータ・センター１００、３００および４００の任意のもののようなデータ・センターのさまざまなスレッドの間でいくつかの実施形態において確立されうるリンク層接続性を概括的に表わしうる接続性スキーム５００の概観を示している。接続性スキーム５００は、デュアル・モード光スイッチング・インフラストラクチャー５１４を備える光ファブリックを使って実装されてもよい。デュアル・モード光スイッチング・インフラストラクチャー５１４は、一般に、光信号伝達媒体の同じ統一された集合を介して複数のリンク層プロトコルに従って通信を受信し、そのような通信を適正にスイッチングすることができるスイッチング・インフラストラクチャーを有していてもよい。さまざまな実施形態において、デュアル・モード光スイッチング・インフラストラクチャー５１４は、一つまたは複数のデュアル・モード光スイッチ５１５を使って実装されてもよい。さまざまな実施形態において、デュアル・モード光スイッチ５１５は一般に、高次数（high-radix）スイッチを有していてもよい。いくつかの実施形態ではデュアル・モード光スイッチ５１５は四重（four-ply）スイッチのような多重（multi-ply）スイッチを有していてもよい。さまざまな実施形態において、デュアル・モード光スイッチ５１５は、通常のスイッチング・デバイスに比べて有意に短縮されたレイテンシーで通信をスイッチできるようにする統合されたシリコン・フォトニクス（integrated  silicon  photonics）を備えていてもよい。いくつかの実施形態では、デュアル・モード光スイッチ５１５は、さらに一つまたは複数のデュアル・モード光スパイン・スイッチ５２０を含むリーフ‐スパイン・アーキテクチャーにおけるリーフ・スイッチ５３０をなしていてもよい。
【００１６】
さまざまな実施形態において、デュアル・モード光スイッチ５１５は、インターネット・プロトコル（IPパケット）を担持するイーサネット〔登録商標〕プロトコル通信と、第二の、高性能コンピューティング（HPC）リンク層プロトコル（たとえばインテルのOmni-Pathアーキテクチャー、Inifinband）に基づく通信の両方を、光ファブリックの光信号伝送媒体を介して受信できてもよい。図５に反映されるように、光ファブリックへの光信号伝達接続性をもつ任意の特定のスレッド対５０４Aおよび５０４Bに関し、接続性スキーム５００はこのように、イーサネット・リンクおよびHPCリンクの両方を介したリンク層接続性のサポートを提供しうる。このように、イーサネットおよびHPC通信の両方が、単一の高帯域幅、低レイテンシーのスイッチ・ファブリックによってサポートされることができる。実施形態はこの例に限定されない。
【００１７】
図６は、いくつかの実施形態に基づく、図１ないし図４に描かれるラックの任意の特定の一つのアーキテクチャーを表わしうるラック・アーキテクチャー６００の全体的な概観である。図６に反映されるように、ラック・アーキテクチャー６００は、一般に、スレッドが挿入されうる複数のスレッド・スペースを備えていてもよく、そのそれぞれはラック・アクセス領域６０１を介してロボット的にアクセス可能であってもよい。図６に描かれる特定の限定しない例では、ラック・アーキテクチャー６００は五つのスレッド・スペース６０３−１ないし６０３−５を備える。スレッド・スペース６０３−１ないし６０３−５はそれぞれの多目的コネクタ・モジュール（MPCM:  multi-purpose  connector  module）６０１−１ないし６１６−５を備える。
【００１８】
図７は、そのような型のスレッドを表わしうるスレッド７０４の例を示している。図７に示されるように、スレッド７０４は物理的資源７０５の集合およびスレッド７０４が図６のスレッド・スペース６０３−１ないし６０３−５のいずれかのようなスレッド・スペースに挿入されるときに対応するMPCMと結合するよう設計されたMPCM  ７１６を有していてもよい。スレッド７０４は拡張コネクタ７１７をも備えていてもよい。拡張コネクタ７１７は一般に、拡張スレッド７１８のような一つまたは複数の型の拡張モジュールを受け入れることのできるソケット、スロットまたは他の型の接続要素を有していてもよい。拡張スレッド７１８上の対応するコネクタと結合することによって、拡張コネクタ７１７は物理的資源７０５に、拡張スレッド７１８にある補足的なコンピューティング資源７０５Bへのアクセスを提供しうる。実施形態はこのコンテキストにおいて限定されない。
【００１９】
図８は、図７のスレッド７０４のような拡張機能を備えるスレッドのサポートを提供するために実装されうるラック・アーキテクチャーを表わしうるラック・アーキテクチャー８００の例を示している。図８に描かれる特定の限定しない例では、ラック・アーキテクチャー８００は七つのスレッド・スペース８０３−１ないし８０３−７を含み、これらはそれぞれのMPCM  ８１６−１ないし８１６−７を備える。スレッド・スペース８０３−１ないし８０３−７はそれぞれの主要領域８０３−１Aないし８０３−７Aおよびそれぞれの拡張領域８０３−１Bないし８０３−７Bを含む。そのような各スレッド・スペースに関し、対応するMPCMが挿入されたスレッドの対応MPCMと結合されるとき、主要領域は一般に、挿入されたスレッドを物理的に受け入れているスレッド・スペースの領域をなしうる。拡張領域は一般に、挿入されたスレッドが図７の拡張スレッド７１８のような拡張モジュールをもって構成される場合に該図７の拡張スレッド７１８のような拡張モジュールを物理的に受け入れることのできるスレッド・スペースの領域をなしうる。
【００２０】
図９は、いくつかの実施形態に基づく、図８のラック・アーキテクチャー８００に基づいて実装されるラックを表わしうるラック９０２の例を示している。図９に描かれる特定の限定しない例では、ラック９０２は七つのスレッド・スペース９０３−１ないし９０３−７を含み、これらはそれぞれの主要領域９０３−１Aないし９０３−７Aおよびそれぞれの拡張領域９０３−１Bないし９０３−７Bを含む。さまざまな実施形態において、ラック９０２における温度制御は空気冷却システムを使って実装されうる。たとえば、図９に反映されているように、ラック９０２は、一般にさまざまなスレッド・スペース９０３−１ないし９０３−７内の空気冷却を提供するよう構成される複数のファン９１９を備えていてもよい。いくつかの実施形態では、スレッド・スペースの高さは通常の「1U」サーバー高さより大きい。そのような実施形態では、ファン９１９は一般に、通常のラック構成で使われるファンに比べて、比較的遅い、大きな直径の冷却ファンを有しうる。より低速でより大きな直径の冷却ファンを稼働させることは、より高速で稼働するより小さな直径の冷却ファンに比べて、同じ程度の冷却を提供しつつ、ファン寿命を伸ばしうる。スレッドは通常のラック寸法より物理的に浅い。さらに、諸コンポーネントは、熱的な影を低減するよう各スレッド上に配置される（すなわち、空気流の方向に直列に配置されない）。結果として、より幅広く、より浅いスレッドは、改善された冷却（すなわち、熱的な影なし、装置間のより多くのスペース、より大きなヒートシンクのためのより多くの余地など）のためにより高い熱設計枠（thermal  envelope）（たとえば250W）で装置が動作させられることができるので、装置パフォーマンスの増大を許容する。
【００２１】
MPCM  ９１６−１ないし９１６−７は、挿入されたスレッドに、それぞれの電力モジュール９２０−１ないし９２０−７を電源とする電力へのアクセスを提供するよう構成されてもよい。各電源は外部電源９２１から電力を引き出してもよい。さまざまな実施形態において、外部電源９２１は交流（AC）電力をラック９０２に送達してもよく、電力モジュール９２０−１ないし９２０−７はそのようなAC電力を、挿入されたスレッドに提供される直流（DC）電力に変換するよう構成されてもよい。いくつかの実施形態では、たとえば、電力モジュール９２０−１ないし９２０−７は277ボルトのAC電力を、それぞれのMPCM  ９１６−１ないし９１６−７を介して、挿入されたスレッドに提供するための、12ボルトのDC電力に変換するよう構成されてもよい。
【００２２】
MPCM  ９１６−１ないし９１６−７は、挿入されたスレッドに、図５のデュアル・モード光スイッチング・インフラストラクチャー５１４と同じ――または同様――であってもよいデュアル・モード光スイッチング・インフラストラクチャー９１４への光信号伝達接続性をも提供するよう構成されてもよい。さまざまな実施形態において、MPCM  ９１６−１ないし９１６−７に含まれる光コネクタは、挿入されたスレッドのMPCMに含まれる対応光コネクタと結合して、そのようなスレッドに、光ケーブル９２２−１ないし９２２−７のそれぞれの長さを介したデュアル・モード光スイッチング・インフラストラクチャー９１４への光信号伝達接続性を提供するよう設計されてもよい。いくつかの実施形態では、光ケーブルのそのような各長さは、その対応するMPCMから、ラック９０２のスレッド・スペースの外部である光相互接続ルーム（loom）９２３まで延びてもよい。さまざまな実施形態において、光相互接続ルーム９２３は、支柱または他の型の加重支持要素を通って配置されてもよい。実施形態はこのコンテキストにおいて限定されない。挿入されたスレッドがMPCMを介して光スイッチング・インフラストラクチャーに接続するので、新たに挿入されたスレッドを受け入れるためにラック・ケーブルを手動で構成することに典型的に費やされる資源が節約できる。
【００２３】
図１０は、いくつかの実施形態に基づく、図９のラック９０２との関連で使うために設計されたスレッドを表わしうるスレッド１００４の例を示している。スレッド１００４は、光コネクタ１０１６Aおよび電力コネクタ１０１６Bを有するMPCM  １０１６を備えていてもよい。MPCM  １０１６は、MPCM  １０１６をスレッド・スペースに挿入するのと関連して該スレッド・スペースの対応MPCMと結合するよう設計される。MPCM  １０１６をそのような対応MPCMと結合することは、電力コネクタ１０１６を対応MPCMに含まれる電力コネクタと結合させうる。これは一般に、スレッド１００４の物理的資源１００５が外部源から、電力コネクタ１０１６と、電力コネクタ１０１６を物理的資源１００５に伝導的に結合する電力伝送媒体１０２４とを介して電力を入手することを可能にしうる。
【００２４】
スレッド１００４は、デュアル・モード光ネットワーク・インターフェース回路１０２６をも含んでいてもよい。デュアル・モード光ネットワーク・インターフェース回路１０２６は一般に、図９のデュアル・モード光スイッチング・インフラストラクチャー９１４によってサポートされる複数のリンク層プロトコルのそれぞれに従って光信号伝達媒体を通じて通信することのできる回路を含んでいてもよい。いくつかの実施形態では、デュアル・モード光ネットワーク・インターフェース回路１０２６は、イーサネット・プロトコル通信および第二の、高パフォーマンス・プロトコルに基づく通信の両方ができてもよい。さまざまな実施形態において、デュアル・モード光ネットワーク・インターフェース回路１０２６は、一つまたは複数の光トランシーバ・モジュール１０２７を含んでいてもよく、そのそれぞれは一つまたは複数の光チャネルのそれぞれを通じて光信号を送受信できてもよい。実施形態はこのコンテキストにおいて限定されない。
【００２５】
MPCM  １０１６を所与のラックにおけるスレッド・スペースの対応MPCMと結合することは、光コネクタ１０１６Aを、対応MPCMに含まれる光コネクタと結合させてもよい。これは一般に、一組の光チャネル１０２５のそれぞれを介した、スレッドの光ケーブルとデュアル・モード光ネットワーク・インターフェース回路１０２６との間の光接続性を確立しうる。デュアル・モード光ネットワーク・インターフェース回路１０２６はスレッド１００４の物理的資源１００５と電気信号伝達媒体１０２８を介して通信してもよい。図９を参照して上記したような、改善された冷却を提供し、比較的より高い熱設計枠（たとえば250W）での動作を可能にするためのスレッドの寸法およびスレッド上でのコンポーネントの配置に加えて、いくつかの実施形態では、スレッドは、空気冷却を容易にするための一つまたは複数の追加的特徴を含んでいてもよい。たとえば、物理的資源１００５によって生成される熱を散逸させるよう構成されたヒートパイプおよび／またはヒートシンクである。図１０に描かれた例示的なスレッド１００４は拡張コネクタを備えていないが、スレッド１００４の設計要素を備える任意の所与のスレッドは、いくつかの実施形態によれば、拡張コネクタをも備えていてもよいことは注意するに値する。実施形態はこのコンテキストにおいて限定されない。
【００２６】
図１１は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で／そのために実装されうるものを一般に表わしうるデータ・センター１１００の例を示している。図１１に反映されているように、物理的インフラストラクチャー管理フレームワーク１１５０Aはデータ・センター１１００の物理的インフラストラクチャー１１００Aの管理を容易にするよう実装されてもよい。さまざまな実施形態において、物理的インフラストラクチャー管理フレームワーク１１５０Aの一つの機能は、物理的インフラストラクチャー１１００A内のコンピューティング設備にサービスするロボット・メンテナンス設備の使用といった、データ・センター１１００内での自動化されたメンテナンス機能を管理することであってもよい。いくつかの実施形態では、物理的インフラストラクチャー１１００Aは、物理的インフラストラクチャー１１００Aのリモートの自動管理をサポートするために十分堅牢なテレメトリー報告を実行する高度なテレメトリー・システムを備えていてもよい。さまざまな実施形態において、そのような高度なテレメトリー・システムによって提供されるテレメトリー情報は、障害予測／防止機能および容量計画機能といった特徴をサポートしてもよい。いくつかの実施形態では、物理的インフラストラクチャー管理フレームワーク１１５０Aは、ハードウェア認証（attestation）技法を使って物理的インフラストラクチャー・コンポーネントの正当性確認（authentication）を管理するよう構成されてもよい。たとえば、インストールされる各コンポーネントに付随する無線周波数識別（RFID）タグから収集された情報を解析することによって、インストール前にコンポーネントの正当性（authenticity）をロボットが検証（verify）してもよい。実施形態はこのコンテキストにおいて限定されない。
【００２７】
図１１に示されるように、データ・センター１１００の物理的インフラストラクチャー１１００Aは、デュアル・モード光スイッチング・インフラストラクチャー１１１４を含んでいてもよい光ファブリック１１１２を有していてもよい。光ファブリック１１１２およびデュアル・モード光スイッチング・インフラストラクチャー１１１４は、図４の光ファブリック４１２および図５のデュアル・モード光スイッチング・インフラストラクチャー５１４とそれぞれ同じ――または同様――であってもよく、データ・センター１１００のスレッドの間で、高帯域幅、低レイテンシーの複数プロトコル接続性を提供しうる。上記で論じたように、図１を参照するに、さまざまな実施形態において、そのような接続性の利用可能性は、アクセラレータ、メモリおよび記憶といった資源を分別し、動的にプールすることを実現可能にしうる。いくつかの実施形態では、たとえば、一つまたは複数のプールされたアクセラレータ・スレッド１１３０がデータ・センター１１００の物理的インフラストラクチャー１１００Aのうちに含められてもよく、そのそれぞれが、光ファブリック１１１２およびデュアル・モード光スイッチング・インフラストラクチャー１１１４を介して他のスレッドにグローバルにアクセス可能であるアクセラレータ資源――たとえばコプロセッサおよび／またはFPGAなど――のプールを含んでいてもよい。
【００２８】
もう一つの例では、さまざまな実施形態において、一つまたは複数のプールされた記憶スレッド１１３２がデータ・センター１１００の物理的なインフラストラクチャー１１００Aのうちに含められてもよく、そのそれぞれが、光ファブリック１１１２およびデュアル・モード光スイッチング・インフラストラクチャー１１１４を介して他のスレッドにグローバルにアクセス可能である記憶資源のプールを含んでいてもよい。いくつかの実施形態では、そのようなプールされた記憶スレッド１１３２は、半導体ドライブ（SSD）のような半導体記憶デバイスのプールを含んでいてもよい。さまざまな実施形態において、一つまたは複数の高性能処理スレッド１１３４がデータ・センター１１００の物理的インフラストラクチャー１１００Aのうちに含まれていてもよい。いくつかの実施形態では、高性能処理スレッド１１３４は、高性能プロセッサのプールおよび250W以上までのより高い熱設計枠を与えるよう空気冷却を高める冷却機能を含んでいてもよい。さまざまな実施形態において、任意の所与の高性能処理スレッド１１３４は、遠位メモリ（far  memory）拡張スレッドを受け入れることのできる拡張コネクタ１１１７を備えていてもよい。よって、その高性能処理スレッド１１３４にローカルに利用可能な該遠位メモリは、そのスレッド上に含まれるプロセッサおよび近位メモリ（near  memory）から分別される（disaggregated）。いくつかの実施形態では、そのような高性能処理スレッド１１３４は、低レイテンシーのSSD記憶を有する拡張スレッドを使って遠位メモリをもって構成されてもよい。光インフラストラクチャーは、あるスレッド上の計算資源が、同じラックまたはデータ・センター内の他の任意のラックに位置するスレッド上に分別されているリモートのアクセラレータ／FPGA、メモリおよび／またはSSD資源を利用することを許容する。リモート資源は、図５を参照して上記したスパイン‐リーフ・ネットワーク・アーキテクチャーにおいて一スイッチ・ジャンプまたは二スイッチ・ジャンプ離れて位置されることができる。実施形態はこのコンテキストにおいて限定されない。
【００２９】
さまざまな実施形態において、ソフトウェア定義されたインフラストラクチャー１１００Bのような仮想インフラストラクチャーを定義するために、抽象化の一つまたは複数の層が、物理的インフラストラクチャー１１００Aの物理的資源に適用されてもよい。いくつかの実施形態では、ソフトウェア定義されたインフラストラクチャー１１００Bの仮想コンピューティング資源１１３６は、クラウド・サービス１１４０の提供をサポートするために割り当てられてもよい。さまざまな実施形態において、仮想コンピューティング資源１１３６の特定の諸集合は、SDIサービス１１３８の形でクラウド・サービス１１４０に提供するためにグループ化されてもよい。クラウド・サービス１１４０の例は、限定なしに、サービスとしてのソフトウェア（SaaS:  software  as  a  service）サービス１１４２、サービスとしてのプラットフォーム（PaaS:  platform  as  a  service）サービス１１４４およびサービスとしてのインフラストラクチャー（IaaS:  infrastructure  as  a  service）サービス１１４６を含んでいてもよい。
【００３０】
いくつかの実施形態では、ソフトウェア定義されたインフラストラクチャー１１００Bの管理は、仮想インフラストラクチャー管理フレームワーク１１５０Bを使って実施されてもよい。さまざまな実施形態において、仮想インフラストラクチャー管理フレームワーク１１５０Bは、仮想コンピューティング資源１１３６および／またはSDIサービス１１３８のクラウド・サービス１１４０への割り当てを管理するのと関連して、作業負荷フィンガープリンティング技法および／または機械学習技法を実装するよう設計されてもよい。いくつかの実施形態では、仮想インフラストラクチャー管理フレームワーク１１５０Bは、そのような資源割り当てを実行することに関連して、テレメトリー・データを使用／参照してもよい。さまざまな実施形態において、クラウド・サービス１１４０についてのQoS管理機能を提供するために、アプリケーション／サービス管理フレームワーク１１５０Cが実装されてもよい。実施形態はこのコンテキストにおいて限定されない。
【００３１】
ここで図１２を参照するに、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するための例示的なコンピューティング装置１２００は、他のコンポーネントもあるが、計算エンジン１２０２、データ記憶装置１２１０および通信回路１２１２を含んでいる。コンピューティング装置１２００は、サーバー（たとえばスタンドアローンのサーバー、ラック・サーバー、ブレード・サーバーなど）、計算ノード、記憶ノード、スイッチ（たとえば分別された（disaggregated）スイッチ、ラックマウントのスイッチ、スタンドアローンのスイッチ、フルマネージ（fully  managed）スイッチ、部分マネージ（partially  managed）スイッチ、全二重スイッチおよび／または半二重通信モード対応スイッチ）、ルーターおよび／またはデータ・センターにおけるスレッド（たとえばスレッド２０４、４０４、５０４、１００４、１１３０、１１３２、１１３４の一つ）として具現されてもよい。そのいずれも、一つまたは複数の物理的および／または仮想的なデバイスとして具現されうる。
【００３２】
使用においては、のちにさらに詳細に述べるように、コンピューティング装置１２００のネットワーク・インターフェース・コントローラ（NIC）（たとえば通信回路１２１２のNIC  １２１４）が別のコンピューティング装置（図示せず）からネットワーク・パケットを受信する。他のコンピューティング装置は、モバイル・コンピューティング装置（たとえばスマートフォン、ラップトップ／タブレット・コンピューティング装置、ウェアラブル・コンピューティング装置など）、デスクトップ・コンピューティング装置、モノのインターネット（IoT）デバイス、サーバー（たとえばスタンドアローン、ラックマウント、ブレードなど）、スイッチ（たとえば分別されたスイッチ、ラックマウントのスイッチ、スタンドアローンのスイッチ、フルマネージ・スイッチ、部分マネージ・スイッチ、全二重スイッチおよび／または半二重通信モード対応スイッチ）、ルーター、ネットワーク機器、ウェブ機器、分散コンピューティング・システム、プロセッサ・ベースのシステムおよび／またはマルチプロセッサ・システムのようないかなる型のコンピューティング装置として具現されてもよい。そのいずれも、一つまたは複数の物理的および／または仮想的なデバイスとして具現されうる。ある例示的実施形態では、ソース・コンピューティング装置は、上記のスレッド２０４、４０４、５０４、１００４、１１３０、１１３２、１１３４の一つのようなサーバー・スレッドとして具現されてもよい。
【００３３】
ネットワーク・パケットを受信すると、NIC  １２１４のネットワーク・ファブリック・インターフェース（たとえば図１３のネットワーク・ファブリック・インターフェース１３１０）が受領されたネットワーク・パケットの内容（たとえばヘッダ（単数または複数）、ペイロード、フッタ（単数または複数）など）を分散式にNIC  １２１４のメモリ・ファブリック（たとえば図１３のメモリ・ファブリック１３１８）に書き込むよう構成される。よって、メモリ・ファブリック１３０８は、本稿でセグメントと称される複数のメモリ記憶コンポーネント（図示せず）を含み、各セグメントは受領されたネットワーク・パケットの内容の記憶をサポートするために使用可能であることが理解されるはずである。ネットワーク・ファブリック・インターフェース１３１０はさらに、受領されたネットワーク・パケットの内容をメモリ・ファブリックに書き込んだ後、イベント・メッセージを、図１３において例示的なNIC  １２１４の柔軟パケット・プロセッサ（FXP:  flexible  packet  processor）１３２４として例示的に示されるパケット・プロセッサに送信して、ネットワーク・パケットが受信されたことを示すよう構成される。
【００３４】
イベント・メッセージを受信すると、FXP  １３２４は、ネットワーク・パケットの少なくとも一部を、該関連する部分（単数または複数）が書き込まれたメモリ・ファブリックの対応する位置（単数または複数）から読むよう構成される。それにより、FXP  １３２４は、特定の型のネットワーク・パケットが受信されたときに通知されることを要求した適用可能なエージェント（単数または複数）があればそれを同定できる。そのようなエージェントは、任意の型のアクセラレータ・エージェント（たとえばリモート直接メモリ・アクセス（RDMA:  remote  direct  memory  access）エージェント、暗号エージェントなど）、一つまたは複数のダイ上コア、埋め込まれた管理プロセッサ、トラフィック・マネージャなどを含みうる。通信を容易にするため、FXP  １３２４および各エージェントは、対応するエージェント・ファブリック・インターフェース（たとえば、図１３のメモリ・ファブリック・インターフェース１３０４を参照）を含み、これは、メモリ・ファブリック１３０８を通じて通信するために統一されたプロトコルを提供するために使用可能である。よって、さまざまなエージェントは、イベント・メッセージを受信することに応答して、ホスト・ファブリック・インターフェース（たとえばホスト・ファブリック・インターフェース１３１８）がネットワーク・パケットをメモリ・ファブリックからホスト・メモリに（たとえば周辺コンポーネント相互接続エクスプレス（PCIe）または他の何らかの物理的相互接続型を通じて）送ってそれによりホストによってさらなる処理／アクションが行なわれうる前に、アクション（たとえば、読み出し／書き込み、追加的な処理、他のアクションをトリガーなど）を実行してもよい。
【００３５】
図１２に例示的に示されるように、前記の計算エンジン１２０２、データ記憶装置１２１０および通信回路１２１２に加えて、コンピューティング装置１２００はさらに、入出力（I/O）サブシステム１２０８およびいくつかの実施形態では一つまたは複数の周辺装置１２１６を含む。もちろん、他の実施形態では、コンピューティング装置１２００は、コンピューティング装置に普通に見出されるもの（たとえば電源、冷却コンポーネント、グラフィック処理ユニット（GPU）など）のような他のまたは追加的なコンポーネントを含んでいてもよい。さらに、いくつかの実施形態では、例示的コンポーネントの一つまたは複数は、別のコンポーネントに組み込まれてもよく、あるいはさもなくば別のコンポーネントの一部をなしてもよい。
【００３６】
計算エンジン１２０２は、後述するさまざまな計算機能を実行することのできる任意の型の装置または装置の集まりとして具現されうる。いくつかの実施形態では、計算エンジン１２０２は、集積回路、埋め込まれたシステム、FPGA、システムオンチップ（SoC）または他の集積システムまたはデバイスのような単一の装置として具現されてもよい。追加的に、いくつかの実施形態では、計算エンジン１２０２は、プロセッサ１２０４およびメモリ１２０６を含んでいてもよく、あるいはさもなくばプロセッサ１２０４およびメモリ１２０６として具現されてもよい。プロセッサ１２０４は、本稿に記載される機能を実行できるいかなる型のプロセッサとして具現されてもよい。たとえば、プロセッサ１２０４は、一つまたは複数の単一コアまたは複数コア・プロセッサ、マイクロコントローラまたは他のプロセッサまたは処理／制御回路として具現されてもよい。いくつかの実施形態では、プロセッサ１２０４はFPGA、特定用途向け集積回路（ASIC）、再構成可能なハードウェアもしくはハードウェア回路または本稿に記載される機能の実行を容易にするための他の特化したハードウェアとして具現されても、それらを含んでいても、あるいはさもなくばそれらに結合されていてもよい。
【００３７】
メモリ１２０６は、本稿に記載される機能を実行することのできるいかなる型の揮発性（たとえば動的ランダムアクセスメモリ（DRAM）など）または不揮発性メモリまたはデータ記憶として具現されてもよい。メモリ１２０６はメイン・メモリ（すなわち主要メモリ）および／またはキャッシュ・メモリ（すなわちメイン・メモリより高速にアクセスできるメモリ）を含んでいてもよいことを理解しておくべきである。揮発性メモリは、媒体によって記憶されるデータの状態を維持するために電力を必要とする記憶媒体であってもよい。揮発性メモリの限定しない例は、さまざまな型のランダムアクセスメモリ（RAM）、たとえば動的ランダムアクセスメモリ（DRAM）または静的ランダムアクセスメモリ（SRAM）を含んでいてもよい。
【００３８】
メモリ・モジュールにおいて使用されうるDRAMの一つの具体的な型は、同期動的ランダムアクセスメモリ（SDRAM）である。個別的実施形態では、メモリ・コンポーネントのDRAMはJEDECによって公布された規格、たとえばDDR  SDRAMについてのJESD79F、DDR2  SDRAMについてのJESD79-2F、DDR3  SDRAMについてのJESD79-3F、DDR4  SDRAMについてのJESD79-4F、低電力DDR（LPDDR）についてのJESD209、LPDDR2についてのJESD209-2、LPDDR3についてのJESD209-3およびLPDDR4についてのJESD209-4に準拠していてもよい（これらの規格はwww.jedec.orgで入手可能）。そのような規格（および同様の規格）はDDRベースの規格と称されてもよく、そのような規格を実装する記憶装置の通信インターフェースはDDRベースのインターフェースと称されてもよい。
【００３９】
ある実施形態では、メモリ・デバイスはブロック・アドレッサブルなメモリ・デバイス、たとえばNANDまたはNOR技術に基づくものである。メモリ・デバイスは、将来世代の不揮発性デバイス、たとえば三次元クロスポイント・メモリ・デバイス（たとえばインテル3D  XPoint（商標）メモリ）または他のバイト・アドレッサブルなその場書き込み（write-in-place）不揮発性メモリ・デバイスをも含んでいてもよい。ある実施形態では、メモリ・デバイスは、カルコゲニド・ガラスを使うメモリ・デバイス、複数閾値レベルNANDフラッシュメモリ、NORフラッシュメモリ、単一もしくは複数レベル相変化メモリ（PCM）、抵抗性メモリ、ナノワイヤ・メモリ、強誘電性トランジスタ・ランダムアクセスメモリ（FeTRAM）、反強誘電性メモリ、磁気抵抗性ランダムアクセスメモリ（MRAM）メモリスタ技術を組み込むメモリ、金属酸化物ベース、酸素空位ベースおよび伝導ブリッジ・ランダムアクセスメモリ（CB-RAM）を含む抵抗性メモリまたはスピン転移トルク（STT）-MRAM、スピントロニック磁気接合メモリ・ベースのデバイス、磁気トンネル接合（MTJ）ベースのデバイス、DW（Domain  Wall［磁壁］）およびSOT（Spin  Orbit  Transfer［スピン軌道転移］）ベースのデバイス、サイリスタ・ベースのメモリ・デバイスまたは上記のもしくは他のメモリの任意のものの組み合わせであってもよく、あるいはそれらを含んでいてもよい。メモリ・デバイスは、ダイそのものおよび／またはパッケージングされたメモリ・プロダクトを指しうる。
【００４０】
いくつかの実施形態では、3Dクロスポイント・メモリ（たとえばインテル3D  XPoint（商標）メモリ）は、ワード線とビット線の交差部にメモリ・セルがあって個々にアドレッシング可能であり、ビット記憶がバルク抵抗の変化に基づく、トランジスタなしの積層可能なクロスポイント・アーキテクチャーを有していてもよい。いくつかの実施形態では、メモリ１２０６の全部または一部がプロセッサ１２０４に統合されてもよい。動作において、メモリ１２０６は、動作の間に使われるさまざまなソフトウェアおよびデータ、たとえばジョブ要求データ、カーネル・マップ・データ、テレメトリー・データ、アプリケーション、プログラム、ライブラリおよびドライバを記憶してもよい。
【００４１】
計算エンジン１２０２は、コンピューティング装置１２００の他のコンポーネントに、I/Oサブシステム１２０８を介して通信可能に結合される。I/Oサブシステム１２０８は、計算エンジン１２０２との（たとえばプロセッサ１２０４および／またはメモリ１２０６との）およびコンピューティング装置１２００の他のコンポーネントとの入出力動作を容易にするための回路および／またはコンポーネントとして具現されてもよい。たとえば、I/Oサブシステム１２０８は、メモリ・コントローラ・ハブ、入出力制御ハブ、統合されたセンサー・ハブ、ファームウェア装置、通信リンク（たとえばポイントツーポイント・リンク、バス・リンク、ワイヤ、ケーブル、光ガイド、プリント回路基板トレースなど）および／または該入出力動作を容易にする他のコンポーネントおよびサブシステムとして具現されてもよく、あるいはさもなくばそれらを含んでいてもよい。いくつかの実施形態では、I/Oサブシステム１２０８はSoCの一部をなしてもよく、プロセッサ１２０４、メモリ１２０６およびコンピューティング装置１２００の他のコンポーネントと一緒に、計算エンジン１２０２に組み込まれてもよい。
【００４２】
前記一つまたは複数のデータ記憶装置１２１０は、データの短期的または長期的記憶のためのいかなる型の装置として具現されてもよい。たとえば、メモリ・デバイスおよび回路、メモリ・カード、ハードディスクドライブ、半導体ドライブまたは他のデータ記憶デバイスなどである。各データ記憶装置１２１０は、データ記憶装置１２１０のためのデータおよびファームウェア・コードを記憶するシステム・パーティションを含んでいてもよい。さらに、各データ記憶装置１２１０は、オペレーティング・システムのためのデータ・ファイルおよび実行可能物を記憶するオペレーティング・システム・パーティションをも含んでいてもよい。
【００４３】
通信回路１２１２は、コンピューティング装置１２００と他のコンピューティング装置（たとえばソース・コンピューティング装置）との間のネットワーク（図示せず）を通じたネットワーク通信を可能にすることのできる任意の通信回路、装置またはその集まりとして具現されてもよい。そのようなネットワークは、いかなる型の有線もしくは無線の通信ネットワークとして具現されてもよい。それには、グローバル・ネットワーク（たとえばインターネット）、ローカル・エリア・ネットワーク（LAN）または広域ネットワーク（WAN）、セルラー・ネットワーク（たとえばグローバル移動通信システム（GSM）、3G、ロングタームエボリューション（LTE）、ワールドワイドインターオペラビリティーフォーマイクロウェーブアクセス（WiMAX）など）、デジタル加入者線（DSL）ネットワーク、ケーブル・ネットワーク（たとえば同軸ネットワーク、ファイバー・ネットワークなど）またはそれらの任意の組み合わせが含まれる。
【００４４】
よって、通信回路１２１２は、そのような通信を実現するために任意の一つまたは複数の通信技術（たとえば有線または無線通信）および関連するプロトコル（たとえばイーサネット、ブルートゥース（登録商標）、Wi-Fi（登録商標）、WiMAXなど）を使うよう構成されうる。例示的な通信回路１２１２は、ネットワーク・インターフェース・コントローラ（NIC）１２１４を含んでいる。これは、ホスト・ファブリック・インターフェース（HFI:  host  fabric  interface）と称されてもよく、図１３においてさらに詳細に述べる。NIC  １２１４は、一つまたは複数のアドイン基板、ドーター・カード、ネットワーク・インターフェース・カード、コントローラ・チップまたは別のコンピューティング装置に／からネットワーク通信を送信／受信するためにコンピューティング装置１２００によって使用される他のデバイスとして具現されてもよい。
【００４５】
周辺装置（単数または複数）１２１６は、情報をコンピューティング装置１２００に入力するためおよび／または情報をコンピューティング装置１２００から受け取るために使用可能な任意の型の装置を含みうる。周辺装置１２１６は、キーボード、マウス、マイクロフォン、バーコード・リーダー、イメージ・スキャナーなどのようにコンピューティング装置１２００に情報を入力するため、あるいはディスプレイ、スピーカー、グラフィック回路、プリンター、プロジェクターなどのようにコンピューティング装置１２００から情報を出力するために使用可能な任意の補助装置として具現されてもよい。いくつかの実施形態では、周辺装置１２１６の一つまたは複数が入力装置および出力装置の両方として機能してもよいことは理解しておくべきである（たとえば、タッチスクリーン・ディスプレイ、ディスプレイ画面上のデジタイザーなど）。さらに、コンピューティング装置１２００に接続される周辺装置１２１６の型がたとえばコンピューティング装置１２００の型および／または意図される使用に依存しうることを理解しておくべきである。追加的または代替的に、いくつかの実施形態では、周辺装置１２１６は、USBポートのような一つまたは複数のポートを、たとえばコンピューティング装置１２００に外部周辺装置１２１６を接続するために、含んでいてもよい。
【００４６】
ここで図１３を参照するに、図１２のコンピューティング装置１２００のNIC  １２１４は、動作中に環境１３００を確立してもよい。例示的環境１３００は、物理的なネットワーク・アクセス回路１３０２、イーサネット・サブシステム１３４４、一つまたは複数のアクセラレータ・エージェント１３２６、一つまたは複数の処理コア１３２８、インフラストラクチャー１３３０、物理的なホスト・アクセス回路１３２２、FPGAインターフェース１３３６および一つまたは複数のメモリ・コントローラ１３４０を含む。環境１３００のさまざまなコンポーネントは、ハードウェア、ファームウェア、ソフトウェアまたはそれらの組み合わせとして具現されてもよい。よって、いくつかの実施形態では、環境１３００のコンポーネントの一つまたは複数は、回路または電気装置の集まりとして具現されてもよい。さらに、いくつかの実施形態では、例示的なコンポーネントの一つまたは複数は、別のコンポーネントの一部をなしてもよく、例示的なコンポーネントの一つまたは複数が互いに独立であってもよい。
【００４７】
物理的なネットワーク・アクセス回路１３０２は、はいってくるネットワーク・トラフィックを受信し、出て行くネットワーク・トラフィックをルーティング／送信するよう構成される。コンピューティング装置１２００への／からの内向きネットワーク通信の受信および外向きネットワーク通信（たとえば、ネットワーク・トラフィック、ネットワーク／パケット、ネットワーク・フローなど）の送信を容易にするために、物理的なネットワーク・アクセス回路１３０２は、NIC  １２１４の物理的なおよび仮想のネットワーク・ポート（たとえば仮想ネットワーク・インターフェース）およびそれに付随する進入（ingress）／出行（egress）バッファ／待ち行列への接続を管理する（たとえば、生成する、修正する、削除するなど）よう構成される。物理的なネットワーク・アクセス回路１３０２はさらに、物理的なネットワーク・アクセス回路１３０２において受領されたネットワーク・パケットをイーサネット・サブシステム１３４４に転送するよう構成される。たとえば、一つまたは複数の物理的なまたは仮想のイーサネット・レーンを介して転送されてもよい。
【００４８】
先述したように、メモリ・ファブリック１３０８は、統一したプロトコルを介してメモリ・ファブリック１３０８を通じて通信するために使用可能な、いくつかのメモリ・ファブリック・インターフェース１３０４を含む。例示的なメモリ・ファブリック・インターフェース１３０４は、一つまたは複数のネットワーク・ファブリック・インターフェース１３１０、複数のエージェント・ファブリック・インターフェース１３１４（たとえばエージェント・ファブリック・インターフェース１３１４ａ、１３１４ｂ、１３１４ｃ、１３１４ｄ、１３１４ｅおよび１３１４ｆ）および一つまたは複数のホスト・ファブリック・インターフェース１３１８を含む。メモリ・ファブリック・インターフェース１３０４によるメモリ・ファブリック・セグメントの割り当ておよび割り当て解除を容易にするために、メモリ・ファブリック・インターフェース１３０４のそれぞれは、通信リンク１３１６に通信上結合される。
【００４９】
例示的に示されるように、エージェント・ファブリック・インターフェース１３１４ａは、FXP  １３２のための通信インターフェースとして機能するよう構成されており、一方、エージェント・ファブリック・インターフェース１３１４ｂは、アクセラレータ・エージェント（単数または複数）１３２６のための通信インターフェースとして機能するよう構成されている。エージェント・ファブリック・インターフェース１３１４ｂが二つ以上のエージェント・ファブリック・インターフェース１３１４（たとえば、各アクセラレータ・エージェント１３２６のために一つのエージェント・ファブリック・インターフェース１３１４）を含んでいてもよいことは理解しておくべきである。やはり例示的に示されるように、エージェント・ファブリック・インターフェース１３１４ｃはダイ上コアのための通信インターフェースとして機能するよう構成され、エージェント・ファブリック・インターフェース１３１４ｄはトラフィック・マネージャ１３３４のための通信インターフェースとして機能するよう構成され、エージェント・ファブリック・インターフェース１３１４ｅはFPGAインターフェース１３３６のための通信インターフェースとして機能するよう構成され、エージェント・ファブリック・インターフェース１３１４ｆは埋め込まれた管理プロセッサ（EMP:  embedded  management  processor）ユニット１３３８のための通信インターフェースとして機能するよう構成される。
【００５０】
例示的なメモリ・ファブリック１３０８はさらに、メモリ・ファブリック１３０８の諸セグメント（図示せず）へ／からデータを読む／書き込む要求を管理するよう構成されたセグメント・プール・マネージャ１３１２を含む。要求を管理するために、いくつかの実施形態では、要求はそれぞれのメモリ・ファブリック・インターフェース１３０４からセグメント・プール・マネージャ１３１２に送信されてもよい。換言すれば、セグメント・プール・マネージャ１３１２は、エージェント（たとえば前記一つまたは複数のアクセラレータ・エージェント１３２６、前記一つまたは複数のダイ上コア１３２８、前記一つまたは複数のEMPユニット１３３８、前記トラフィック・マネージャ１１３４など）と直接にではなく、メモリ・ファブリック・インターフェース１３０４と通信するよう構成される。セグメント・プール・マネージャ１３１２はさらに、メモリ・ファブリック１３０８のメモリの諸セグメント（すなわち、ファブリック・メモリ単位）を割り当てるとともに、メモリ・ファブリック１３０８のメモリの割り当てられたセグメントを割り当て解除するよう構成される。いくつかの実施形態では、セグメント・プール・マネージャ１３１２は、メモリ・ファブリック１３０８のメモリの各セグメントを固定サイズ（たとえば256バイト）を使って割り当てるよう構成されてもよい。さらに、セグメント・プール・マネージャ１３１２は、ネットワーク・パケットのデータ・ブロックがメモリ・ファブリック１３０８に書き込まれるところを示すよう構成される。これはたとえば、特定のセグメントの書き込み位置を同定するために使用可能なセグメント・ポインタによって示されてもよい。
【００５１】
ホスト・ファブリック・インターフェース１３１８は、メモリ・ファブリック１３０８とイーサネット・サブシステム１３４４のホスト・インターフェース１３２０との間のインターフェースとして機能するよう構成される。イーサネット・サブシステム１３４４自身は物理的なホスト・アクセス回路１３２２とホスト・ファブリック・インターフェース１３１８との間のインターフェースとして機能するよう構成される。よって、ホスト・ファブリック・インターフェース１３１８は、ネットワーク・パケット・データの割り当ておよび書き込みをメモリ・ファブリック１３０８に差し向けるとともに、メモリ・ファブリック１３０８からネットワーク・パケット・データを読み、割り当て解除するよう構成されてもよい。物理的なホスト・アクセス回路１３２２は、ホスト・メモリ（たとえば図１２の計算エンジン１２０２のメモリ１２０６）へのアクセスを提供するために、コンピューティング装置の一つまたは複数のホスト・プロセッサ（たとえば図１２の計算エンジン１２０２のプロセッサ１２０４）と、PCIe相互接続のような一つまたは複数の通信リンクを介してインターフェースをもつよう構成される。
【００５２】
NIC  １２１４の例示的環境１３００は、エージェント・ファブリック・インターフェース１３１４ｃおよびインフラストラクチャー１３３０を介してメモリ・ファブリック１３０８に通信上結合される一つまたは複数のダイ上コア１３２８を含んでいる。よって、ダイ上コア１３２８は、演算対象のデータがNIC  １２１４からリモートな位置に移される必要なしに、ある種の演算を実行するよう計算パワーを提供することができる。それにより、普通ならデータを移すことによって導入されるレイテンシーが解消される。インフラストラクチャー１３３０は、ダイ上コア１３２８および／またはホスト・インターフェース１３２０の通信、状態および制御を管理するためのさまざまなコンポーネントを含んでいてもよい。たとえば、シリアル通信インターフェース（たとえば普遍非同期受信器および送信器（UART:  universal  asynchronous  receiver  and  transmitter）、シリアル周辺インターフェース（SPI:  serial  peripheral  interface）バスなど）、試験／デバッグ・インターフェース、デジタル端末センサー、I/Oコントローラなどである。SRAM  １３３２はダイ上コア１３２８に通信上結合され、ダイ上コア１３２８のためのデータ（たとえば作業待ち行列、通知、割り込みなど）を一時的に記憶するために使われてもよい。
【００５３】
例示的なイーサネット・サブシステム１３４４はさらに、エージェント・ファブリック・インターフェース１３１４ｄに通信上結合されたトラフィック・マネージャ１３３４と、エージェント・ファブリック・インターフェース１３１４ｆに通信上結合されたEMPユニット１３３８とを含む。トラフィック・マネージャ１３３４は、サービス・レベル合意（SLA:  service-level  agreement）を実施するために実行されうるような、パケット処理データ経路におけるトラフィック管理を実行するよう構成される。EMPユニット１３３８は、デバイス・ドライバによって実行することができず、オンチップで実行される必要のあるすべての管理任務を扱うよう構成される。そのような管理任務は、電源投入シーケンス、管理者待ち行列コマンドの処理、イーサネット・ポートの初期化、さまざまなファブリック構成プロトコルへの参加、受信された構成要求の処理およびイーサネット・ポートから受領された特別な構成要求の処理といったものである。
【００５４】
NIC  １２１４の例示的環境１３００はさらに、エージェント・ファブリック・インターフェース１３１４ｅに通信上結合されたFPGAインターフェース１３３６およびメモリ・ファブリック１３０８に対応するシム１３４２を介して通信上結合された一つまたは複数のメモリ・コントローラ１３４０を含む。FPGAインターフェースは、たとえば物理的なホスト・アクセス回路１３２２によって容易にされるコヒーレントな、低レイテンシーの相互接続を介して、コンピューティング装置１２００のFPGAモジュール／デバイス（図示せず）とインターフェースをもつよう構成される。メモリ・コントローラ１３４０は、NIC  １２１４の外部であるがホスト（たとえば図１２の計算エンジン１２０２のプロセッサ１２０４）ではなくNIC  １２１４によって管理されるDDR  SDRAMを駆動するよう構成された倍速データレート（DDR）メモリ・コントローラであってもよい。
【００５５】
ここで図１４を参照するに、使用において、コンピューティング装置１２００または特にコンピューティング装置１２００のNIC  １２１４は、ネットワーク・パケットを受信することに応答してイベント・メッセージを生成するための方法１４００を実行してもよい。いくつかの実施形態では、方法１４００の動作は、図１３に示されるNIC  １２１４の環境１３００の一つまたは複数のコンポーネントによって実行されてもよいことを理解しておくべきである。方法１４００はブロック１４０２で始まり、NIC  １２１４はネットワーク・パケットが（たとえばネットワーク・ファブリック・インターフェース１３１０において、物理的なネットワーク・アクセス回路１３０２を介して）受信されたかどうかを判定する。もしそうであれば、方法１４００はブロック１４０４に進み、NIC  １２１４またはより特定的にはNIC  １２１４のネットワーク・ファブリック・インターフェース１３１０は、受信されたネットワーク・パケットを分散式にメモリ・ファブリック（たとえば図１３のメモリ・ファブリック１３０８）に書き込む。そうするために、ブロック１４０６において、ネットワーク・ファブリック・インターフェース１３１０は、受信されたネットワーク・パケットの内容（たとえばヘッダ（単数または複数）、ペイロードおよびフッタ（単数または複数））を、セグメント・プール・マネージャ（たとえば図１３のセグメント・プール・マネージャ１３１２）によって以前に割り当てられたメモリ・ファブリック１３０８の複数のセグメントに書き込む。
【００５６】
ブロック１４０８では、ネットワーク・ファブリック・インターフェース１３１０は、イベント・メッセージを生成してFXP（たとえば図１３のFXP  １３２４）に送って、前記受信されたネットワーク・パケットが受信されたことを示す。いくつかの実施形態では、ネットワーク・ファブリック・インターフェース１３１０は、FXP  １３２４を巻き込む必要なしにネットワーク・ファブリック・インターフェース１３１０によって何らかの解析が実行されうるよう、何らかの処理機能を含んでいてもよいことを理解しておくべきである。たとえば、そのような実施形態において、ネットワーク・ファブリック・インターフェース１３１０は、本稿でFXP  １３２４によって実行されると記載される図１５の方法１５００において記載されるものと同様の技法を使って、ネットワーク・パケットの追加的な処理のために一つまたは複数のエージェントを識別するためにネットワーク・ファブリック・インターフェース１３１０が使用しうるある種のフローを識別するよう構成されてもよい。
【００５７】
イベント・メッセージを送るために、ブロック１４１０において、ネットワーク・ファブリック・インターフェース１３１０は、メモリ・ファブリック１３０８の専用のメッシュ層（図示せず）を使う。さらに、ブロック１４１２において、ネットワーク・ファブリック・インターフェース１３１０は、受信されたネットワーク・パケットが書き込まれたメモリ位置を同定するために使用可能なセグメント・ポインタを含める。さらに、ブロック１４１４において、ネットワーク・ファブリック・インターフェース１３１０はイベント・メッセージのサービス・クラスを識別する。実施形態に依存して、各サービス・クラスはシステム資源の異なる割り当ておよびそれに関連する異なる優先度レベルを有していてもよい。サービス・クラスに割り当てられた資源またはサービス・クラスの優先度に関わりなく、各サービス・クラスは資源の別個の割り当てをもち、それにより、サービス・クラスの間でヘッドオブライン（HOL:  head-of-line）ブロッキングがないことを理解しておくべきである。
【００５８】
サービス・クラスを決定するためにさまざまな入力が使用されうる。たとえば、ネットワーク・パケットに関連付けられたトラフィック・クラス、イベント型（たとえば受信パケット・イベント、送信パケット・イベント、非パケット・イベントなど）、関連付けられたネットワーク・ポートおよび受信されたイベント・メッセージに応答して実行されている現在の処理段階である。たとえば、FXP  １３２４は、ネットワーク・ファブリック・インターフェース１３１０から直接くる受信パケット・イベントと、第一のパスでFXP  １３２４によってすでに処理されており、次いでエージェント（たとえば解読のための暗号アクセラレータ）を通過し、その後修正されたネットワーク・パケット（たとえば解読されたパケット）を処理するためにFXP  １３２４に返送された受信パケット・イベントとを処理していてもよい。そのような条件のもとでは、各イベントは異なる識別子（たとえばプレFXPかポスト解読）を有していてもよい。よって、該異なる識別子のため、分類の結果は異なるサービス・クラスになりうる。それにより、プレFXPパケット・イベント・メッセージはポスト解読パケット・イベントから隔離されることができる（たとえばHOLブロッキングなし）。よって、FXP  １３２４は、分類に基づいてイベント・メッセージの受信に際して特定のアクションを行なってもよい。たとえば、あるサービス・クラス型を別のサービス・クラス型よりも優先させる、イベント・メッセージをホスト・インターフェース装置１３１０またはエージェント・ファブリック・インターフェース装置１３１４に送る、などである。
【００５９】
ここで図１５を参照するに、使用において、コンピューティング装置１２００またはより特定的にはコンピューティング装置１２００のNIC  １２１４は、エージェント‐メッシュ・アーキテクチャーにおいて到来ネットワーク・パケットを処理するための方法１５００を実行してもよい。いくつかの実施形態では、方法１５００の動作は、図１３に示されるNIC  １２１４の環境１３００の一つまたは複数のコンポーネントによって実行されてもよいことを理解しておくべきである。方法１５００はブロック１５０２で始まり、NIC  １２１４またはより特定的にはNIC  １２１４のFXP  １３２４は、イベント・メッセージが（たとえば該イベント・メッセージに関連付けられたネットワーク・パケットを受信したことに応答して）ネットワーク・ファブリック・インターフェース１３１０から受信されたかどうかを判定する。もしそうであれば、方法１５００はブロック１５０４に進み、FXP  １３２４はクラス型によってイベント・メッセージをフィルタリングする。
【００６０】
換言すれば、FXP  １３２４は、受信されたイベント・メッセージに割り当てられたサービス・クラスを決定する。ブロック１５０６では、FXP  １３２４は、指定されたサービス・クラス型の関数としてイベント・メッセージを調停する（arbitrate）。先述したように、サービス・クラス・イベントは複数のサービス・クラス型を含んでいてもよい。いくつかの実施形態では、FXP  １３２４は、イベント内の一つまたは複数のフィールド（たとえばイベントのメタデータ）に基づいて、サービス・クラス型指定イベント・メッセージを調整する。換言すれば、FXP  １３２４は、受信されたイベント・メッセージを、指定されたクラス型に関連付けられた待ち行列に入れ、受信されたイベント・メッセージが対応するイベント・メッセージ待ち行列から取り出された際に方法１５００の残りの動作を実行してもよい。いくつかの実施形態では、特定のサービス・クラス型をもつあるサービス・クラス待ち行列が、別のサービス・クラス型をもつ別のサービス・クラス待ち行列より高い優先度をもつことがありうることを理解しておくべきである。
【００６１】
ブロック１５０８において、FXP  １３２４は、イベント・メッセージに関連付けられたネットワーク・パケットの少なくとも一部分（たとえば、ヘッダ、ペイロードおよび／またはフッタの少なくとも一部分）を読む。そうするために、ブロック１５１０において、FXP  １３２４は、ネットワーク・パケットの少なくとも前記部分を、メモリ・ファブリック１３０８内に位置されるセグメントから読む。セグメント位置は、イベント・メッセージとともに受信されたセグメント・ポインタに基づいて決定される。さらに、ブロック１５１２において、FXP  １３２４は、読まれるべきネットワーク・パケットの部分を、イベント・メッセージを受信する対応するエージェントに関連付けられたポリシー（たとえば使用モデル）に基づいて決定する。
【００６２】
ブロック１５１４では、FXP  １３２４は、ネットワーク・パケットの追加的な処理のために一つまたは複数のエージェント（たとえば、図１３のメモリ・ファブリック・インターフェース１３０４を介してFXPに接続されていることを参照）を同定する。先述したように、エージェントは、任意の型のアクセラレータ・エージェント３１２６（たとえばリモート直接メモリ・アクセス（RDMA）エージェント、暗号エージェントなど）、一つまたは複数のダイ上コア１３２８、EMPユニット１３３８、トラフィック・マネージャ１３３４などを含みうる。エージェント（単数または複数）を同定するために、ブロック１５１６において、FXP  １３２４はネットワーク・パケットの読み出し部分をパースする。さらに、ブロック１５１８において、FXP  １３２４は、ネットワーク・パケットを、ネットワーク・パケットのパースされた読み出し部分の関数として分類する。さらに、ブロック１５２０において、FXP  １３２４は分類を、それぞれの利用可能なエージェントに関連付けられたポリシーと突き合わせて比較し、追加的な処理のためのエージェントを同定する。ある種の条件のもとでは、二つ以上のエージェントが当該ネットワーク・パケットを（たとえば前記同定されたエージェントと直列または並列に）処理する必要があることがあることを理解しておくべきである。
【００６３】
ブロック１５２２では、ある種の条件のもとで、FXP  １３２４はネットワーク・パケットを修正してもよい。もしそうであれば、ブロック１５２４において、FXP  １３２４は、修正されたネットワーク・パケットをメモリ・ファブリック１３０８に分散式に（たとえばメモリ・ファブリック１３０８の複数のセグメントにまたがって）書き戻す。ブロック１５２６では、FXP  １３２４は、別のイベント・メッセージを生成する。ブロック１５２８では、FXP  １３２４は、イベント・メッセージを、特定のサービス・クラスをもつものとして分類する。先述したように、FXP  １３２４によって実行されるサービス・クラス分類は、イベント・メッセージの一つまたは複数のパラメータに基づいていてもよい。該パラメータは、イベント・メッセージに関連付けられたネットワーク・パケットの分類、ネットワーク・パケットの修正の結果、そのイベント・メッセージを受信すると識別された別のエージェント、そのイベント・メッセージを受信すると識別された最終的なエージェント、関連付けられたトラフィック・クラスなどである。よって、ある種の条件のもとでは、そのネットワーク・パケットがブロック１５２２において修正されたなどといったある種の条件ものとで、ブロック１５０２で受信されたイベント・メッセージの割り当てられたサービス・クラスが、ブロック１５２６で生成されたイベント・メッセージに割り当てられる分類とは異なることがありうることを理解しておくべきである。
【００６４】
ブロック１５３０では、ネットワーク・パケットが適切なホストに（たとえばホスト・ファブリック・インターフェース１３１８を介して）送られる前に、FXP  １３２４は、ブロック１５２６で生成された他のイベント・メッセージを、追加的な処理のために同定されたエージェント（単数または複数）に送信する。たとえば、FXP  １３２４は、イベント・メッセージを、FPGAインターフェース１３３６およびエージェント・ファブリック・インターフェース１３１４ｅを介してFPGAに、エージェント・ファブリック・インターフェース１３１４ｃを介してダイ上コア（単数または複数）１３２８に、エージェント・ファブリック・インターフェース１３１４ｂを介してアクセラレータ・エージェント（単数または複数）（たとえばRDMAエージェント、暗号エージェントなど）に、あるいはカスタムのインターネット・プロトコル（IP）アドレスに送信してもよい。
【００６５】
ここで図１６を参照するにエージェント‐メッシュ・アーキテクチャーにおいて外向きネットワーク・パケットを処理するための通信フロー１６００の実施形態が、図１２の計算エンジン１２０２と、図１２および図１３のNICとを含む。例示的な通信フロー１６００はいくつかのデータ・フローを含み、そのいくつかは実施形態に依存して別個にまたは一緒に実行されてもよい。データ・フロー１６０２では、計算エンジン１２０２のプロセッサ１２０４が別のコンピューティング装置（図示せず）に送信されるネットワーク・パケットのためのデータを生成する。データ・フロー１６０４では、プロセッサ１２０４は、データをNIC  １２１４に、あるいはより特定的にはホスト・インターフェース１３２０に（たとえば図１３の物理的なホスト・アクセス回路１３２２を介して）送る。データ・フロー１６０６では、ホスト・インターフェース１３２０は受信されたデータをパケット化し、データ・フロー１６０８において、ネットワーク・パケットをホスト・ファブリック・インターフェース１３１８に転送する。
【００６６】
データ・フロー１６１０では、ホスト・ファブリック・インターフェース１３１８はネットワーク・パケットをメモリ・ファブリック（たとえば図１３のメモリ・ファブリック１３０８）に分散式に（たとえばメモリ・ファブリック１３０８の複数のセグメントにまたがって）書き込む。データ・フロー１６１２では、ホスト・ファブリック・インターフェース１３１８が、新たなネットワーク・パケットがメモリ・ファブリック１３１８に書き込まれたことを示すイベント・メッセージ（たとえば新たなネットワーク・パケット・イベント・メッセージ）を生成する。いくつかの実施形態では、ホスト・ファブリック・インターフェース１３１８は、FXP  １３２４を巻き込む必要なしにネットワーク・ファブリック・インターフェース１３１０によって何らかの解析が実行されうるよう、何らかの処理機能を含んでいてもよいことを理解しておくべきである。たとえば、そのような実施形態において、ホスト・ファブリック・インターフェース１３１８はある種のフローを識別するよう構成されていてもよい。かかるフローは、ここでFXP  １３２４によって実行されると記載されるデータ・フロー１６１６〜１６２０において記載されるものと同様の技法を使って、ネットワーク・パケットの追加的な処理のために前記一つまたは複数のエージェントを識別するためにホスト・ファブリック・インターフェース１３１８が使用しうるものである。
【００６７】
データ・フロー１６１４では、ホスト・ファブリック・インターフェース１３１８は、イベント・メッセージをFXP  １３２４に転送する。イベント・メッセージを受信すると、データ・フロー１６１６において、FXP  １３２４は、該新たなネットワーク・パケットの少なくとも一部分をメモリ・ファブリック１３０８からフェッチして読む。そうするために、イベント・メッセージが、前記新たなネットワーク・パケットが記憶されたメモリ・ファブリック１３０８内の位置を同定するために使用可能なポインタを含んでいてもよいことを理解しておくべきである。データ・フロー１６１８では、FXP  １３２４は、NIC  １２１４から送信するのに先立って前記新たなネットワーク・パケットに対して追加的な処理を実行するよう構成されている、NIC  １２１４の一つまたは複数のエージェント（たとえば、前記一つまたは複数のアクセラレータ・エージェント１３２６、前記一つまたは複数のダイ上コア１３２８、前記EMPユニット１３３８、前記トラフィック・マネージャ１１３４など）を同定する。データ・フロー１６２０では、FXP  １３２４は、イベント・メッセージ（たとえばネットワーク・パケット送信イベント・メッセージ）を生成し、同定されたエージェントに送信する。データ・フロー１６２２では、ネットワーク・ファブリック・インターフェース１３１０は、同定されたエージェントから、それによって実行される追加的な処理動作が完了したという指示を受信したことに応答して、別のコンピューティング装置への送信のために、ネットワーク・パケット全体をメモリ・ファブリック１３０８から読み、割り当て解除する
【実施例】
【００６８】
本稿に開示される技術の例解用の例が下記で与えられる。これらの技術の実施形態は、下記の実施例の任意の一つまたは複数および任意の組み合わせを含みうる。
【００６９】
実施例１は、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置を含み、当該コンピューティング装置は：計算エンジンと；ネットワーク・インターフェース・コントローラ（NIC）とを有しており、前記NICは該NICのメモリ・ファブリックおよび複数のエージェントに通信上結合されたパケット・プロセッサを有しており、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されており、前記NICは：  前記メモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し；  前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを前記パケット・プロセッサに送り；  前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット受信イベント・メッセージを生成し；  前記パケット・プロセッサによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信する。
【００７０】
実施例２は、実施例１の主題を含み、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが：  前記受信されたネットワーク・パケットの前記読み出された部分をパースし；  前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し；  前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む。
【００７１】
実施例３は、実施例１および２のいずれか一項の主題を含み、前記NICはさらに、前記パケット・プロセッサによって、前記ネットワーク・パケットを修正し、修正されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き戻す。
【００７２】
実施例４は、実施例１ないし３のうちいずれか一項の主題を含み、前記ネットワーク・パケット受信イベント・メッセージを前記パケット・プロセッサに送ることが、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタを含めることを含む。
【００７３】
実施例５は、実施例１ないし４のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む。
【００７４】
実施例６は、実施例１ないし５のうちいずれか一項の主題を含み、前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類し、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することを含む。
【００７５】
実施例７は、実施例１ないし６のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む。
【００７６】
実施例８は、実施例１ないし７のうちいずれか一項の主題を含み、前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求し、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む。
【００７７】
実施例９は、実施例１ないし８のうちいずれか一項の主題を含み、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することが、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに関連付けられているエージェント・ファブリック・インターフェースに送信することを含む。
【００７８】
実施例１０は、実施例１ないし９のうちいずれか一項の主題を含み、前記NICがさらに、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除する。
【００７９】
実施例１１は、実施例１０ないし１１のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが：  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し；  前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む。
【００８０】
実施例１２は、実施例１ないし１１のうちいずれか一項の主題を含み、前記NICがさらに：  前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから前記NICのホスト・インターフェースによって受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；  前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し；  前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに送り；  前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し；  前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し；  前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケットが別のコンピューティング装置に送信されるべきであるという指示を前記同定されたエージェントから受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除する。
【００８１】
実施例１３は、実施例１ないし１２のうちいずれか一項の主題を含み、前記ホスト・ファブリック・インターフェースによって前記新ネットワーク・パケット・イベント・メッセージを送ることが：  前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；  前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し；  前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む。
【００８２】
実施例１４は、エージェント‐メッシュ・アーキテクチャーにおいてコンピューティング装置によってネットワーク・パケットを処理する方法を含む。当該方法は：  前記コンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）のメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し；  前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを、前記メモリ・ファブリックに通信上結合されたパケット・プロセッサに送り；  前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために複数のエージェントのうちのあるエージェントを同定する段階であって、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されている、段階を実行し；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すもう一つのイベント・メッセージを生成し；  前記パケット・プロセッサによって、生成された前記もう一つのイベント・メッセージを前記同定されたエージェントに送信することを含む。
【００８３】
実施例１５は、実施例１４の主題を含み、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが、（ｉ）前記受信されたネットワーク・パケットの前記読み出された部分をパースし；（ｉｉ）前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し；（ｉｉｉ）前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む。
【００８４】
実施例１６は、実施例１４および１５のうちいずれか一項の主題を含み、前記パケット・プロセッサによって前記ネットワーク・パケットを修正し；前記パケット・プロセッサによって、修正されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き戻すことをさらに含む。
【００８５】
実施例１７は、実施例１４ないし１６のうちいずれか一項の主題を含み、前記生成されたイベント・メッセージを前記パケット・プロセッサに送ることが、前記生成されたイベント・メッセージを、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタとともに送ることを含む。
【００８６】
実施例１８は、実施例１４ないし１７のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む。
【００８７】
実施例１９は、実施例１４ないし１８のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類することをさらに含み、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することをさらに含む。
【００８８】
実施例２０は、実施例１４ないし１９のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む。
【００８９】
実施例２１は、実施例１４ないし２０のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求することをさらに含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む。
【００９０】
実施例２２は、実施例１４ないし２１のうちいずれか一項の主題を含み、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに送信することが、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに関連付けられているエージェント・ファブリック・インターフェースに送信することを含む。
【００９１】
実施例２３は、実施例１４ないし２２のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む。
【００９２】
実施例２４は、実施例１４ないし２３のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが：  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し；  前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む。
【００９３】
実施例２５は、実施例１４ないし２４のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み；  前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し；  前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに送り；  前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し；  前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し；  前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット送信イベント・メッセージを受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む。
【００９４】
実施例２６は、実施例１４ないし２５のうちいずれか一項の主題を含み、前記ホスト・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが：  前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し；  前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し；  前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し；  前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む。
【００９５】
実施例２７は、コンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）の一つまたは複数の機械可読媒体を含む。該機械可読媒体は、実行されたときに、前記NICに実施例１４ないし２６のうちいずれか一項の方法を実行させる複数の命令を記憶している。
【００９６】
実施例２８は、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置を含む。当該コンピューティング装置は、一つまたは複数のプロセッサと；ネットワーク・インターフェース・コントローラ（NIC）とを有する。前記NICは該NICによって実行されたときに実施例１４ないし２６のうちいずれか一項の方法を当該コンピューティング装置に実行させる複数の命令を記憶している。
【００９７】
実施例２９は、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置を含む。前記コンピューティング装置は：  前記コンピューティング装置のネットワーク・インターフェース・コントローラ（NIC）のメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込む手段；と  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成する手段と；  前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを、前記メモリ・ファブリックに通信上結合されたパケット・プロセッサに送る手段と；  前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために複数のエージェントのうちのあるエージェントを同定する手段であって、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されている、手段と；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すもう一つのイベント・メッセージを生成する手段と；  前記パケット・プロセッサによって、生成された前記もう一つのイベント・メッセージを前記同定されたエージェントに送信する手段とを含む。
【００９８】
実施例３０は、実施例２９の主題を含み、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定する手段が、（ｉ）前記受信されたネットワーク・パケットの前記読み出された部分をパースし；（ｉｉ）前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し；（ｉｉｉ）前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定する手段を含む。
【００９９】
実施例３１は、実施例２９および３０のうちいずれか一項の主題を含み、前記パケット・プロセッサによって前記ネットワーク・パケットを修正する手段と；前記パケット・プロセッサによって、修正されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き戻す手段とをさらに含む。
【０１００】
実施例３２は、実施例２９ないし３１のうちいずれか一項の主題を含み、前記生成されたイベント・メッセージを前記パケット・プロセッサに送ることが、前記生成されたイベント・メッセージを、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタとともに送る手段を含む。
【０１０１】
実施例３３は、実施例２９ないし３２のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出す手段が、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出す手段を含む。
【０１０２】
実施例３４は、実施例２９ないし３３のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類する手段をさらに含み、前記エージェントを同定する手段が、前記イベント分類に応じて前記エージェントを同定する手段を含む。
【０１０３】
実施例３５は、実施例２９ないし３４のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込む手段が、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込む手段を含む。
【０１０４】
実施例３６は、実施例２９ないし３５のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求する手段をさらに含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込む手段が、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込む手段を含む。
【０１０５】
実施例３７は、実施例２９ないし３６のうちいずれか一項の主題を含み、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに送信する手段が、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに関連付けられているエージェント・ファブリック・インターフェースに送信する手段を含む。
【０１０６】
実施例３８は、実施例２９ないし３７のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除する手段をさらに含む。
【０１０７】
実施例３９は、実施例２９ないし３８のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送る手段が：  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定する手段と；  前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成する手段と；  前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信する手段を含む。
【０１０８】
実施例４０は、実施例２９ないし３９のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込む手段と；  前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成する手段と；  前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに送る手段と；  前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と；  前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定する手段と；  前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成する手段と；  前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信する手段と；  前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット送信イベント・メッセージを受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除する手段とをさらに含む。
【０１０９】
実施例４１は、実施例２９ないし４０のうちいずれか一項の主題を含み、前記ホスト・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送る手段が：  前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と；  前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定する手段と；  前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成する手段と；  前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信する手段とを含む。
【符号の説明】
【０１１０】
１２００  コンピューティング装置
１２０２  計算エンジン
１２０４  プロセッサ
１２０６  メモリ
１２０８  I/Oサブシステム
１２１０  データ記憶装置
１２１２  通信回路
１２１６  周辺装置
１３０２  物理的なネットワーク・アクセス回路
１３０８  メモリ・ファブリック
１３１０  ネットワーク・ファブリック・インターフェース
１３１２  セグメント・プール・マネージャ
１３１８  ホスト・ファブリック・インターフェース
１３２０  ホスト・インターフェース
１３２２  物理的なホスト・アクセス回路
１３２４  柔軟パケット・プロセッサ
１３２６  アクセラレータ・エージェント
１３２８  コア
１３３０  インフラストラクチャー
１３３４  トラフィック・マネージャ
１３３６  FPGAインターフェース
１３３８  EMPユニット
１３４０  メモリ・コントローラ
１３４２  シム
１４０２  ネットワーク・パケット受信？
１４０４  受信されたネットワーク・パケットを分散式にメモリ・ファブリックに書き込む
１４０６  受信されたネットワーク・パケットの内容を、セグメント・プール・マネージャによって割り当てられたメモリ・ファブリックの複数のセグメントに書き込む
１４０８  イベント・メッセージを生成して柔軟パケット・プロセッサ（FXP）に送って、前記受信されたネットワーク・パケットが受信されたことを示す
１４１０  メモリ・ファブリックを通じてイベント・メッセージを送る
１４１２  受信されたネットワーク・パケットが書き込まれたメモリ位置を同定するために使用可能なセグメント・ポインタを含める
１４１４  イベント・メッセージのサービス・クラスを識別
１５０２  イベント・メッセージ受信？
１５０４  イベント・メッセージをクラス型によってフィルタリング
１５０６  イベント・メッセージをクラス型によって調停
１５０８  イベント・メッセージに関連するネットワーク・パケットの少なくとも一部分を読む
１５１０  イベント・メッセージとともに受領されたセグメント・ポインタに基づいて、メモリ・ファブリック内の位置から読む
１５１２  読まれるべきネットワーク・パケットの部分を、それぞれのエージェントに関連付けられたポリシーに応じて決定
１５１４  ネットワーク・パケットの追加的な処理のためにエージェントを同定
１５１６  ネットワーク・パケットの読み出し部分をパース
１５１８  ネットワーク・パケットを、ネットワーク・パケットのパースされた読み出し部分に応じて分類
１５２０  分類を、各エージェントに関連付けられたポリシーに対して比較
１５２２  ネットワーク・パケットを修正
１５２４  修正されたネットワーク・パケットをメモリ・ファブリックに分散式に書き戻す
１５２６  別のイベント・メッセージを生成
１５２８  イベント・メッセージを、特定のサービス・クラスをもつものとして分類
１５３０  前記別のイベント・メッセージを、追加的な処理のために、同定されたエージェントに送信
１６０２  ネットワーク・パケットのためのデータを生成
１６０４  データをNICに送る
１６０６  受信されたデータを新たなネットワーク・パケットにパケット化
１６０８  ネットワーク・パケットをHFIに転送
１６１０  ネットワーク・パケットをメモリ・ファブリックに分散式に書き込む
１６１２  新たなネットワーク・パケットが書き込まれたことを示すイベント・メッセージ生成
１６１４  イベント・メッセージをFXPに転送
１６１６  ネットワーク・パケットの少なくとも一部分をメモリ・ファブリックから読む
１６１８  追加的な処理のためのエージェントを同定
１６２０  イベント・メッセージを生成し、同定されたエージェントに送信
１６２２  ネットワーク・パケット全体をメモリ・ファブリックから読み、割り当て解除
【図１】
2019047489.tif 000003
【図２】
2019047489.tif 000004
【図３】
2019047489.tif 000005
【図４】
2019047489.tif 000006
【図５】
2019047489.tif 000007
【図６】
2019047489.tif 000008
【図７】
2019047489.tif 000009
【図８】
2019047489.tif 000010
【図９】
2019047489.tif 000011
【図１０】
2019047489.tif 000012
【図１１】
2019047489.tif 000013
【図１２】
2019047489.tif 000014
【図１３】
2019047489.tif 000015
【図１４】
2019047489.tif 000016
【図１５】
2019047489.tif 000017
【図１６】
2019047489.tif 000018
【外国語明細書】
2019047489000001.pdf