(57)【要約】【課題】ネットワークファブリック内のノードによるコマンドの同期実行を可能にすること。【解決手段】例は、ネットワークファブリック内のノードによるコマンドの同期実行を可能にするための技術を含み得る。ネットワークファブリックのためのファブリックマネージャをホストすることができるノード（ファブリックマネージャノード）は、ネットワークファブリック内の少なくとも一部のノードにより実行されるコマンドを含む１以上のパケットを生成することができる。いくつかの例において、同期時間にコマンドを実行するよう受信ノードに示すためのタイムスタンプも、１以上のパケットの少なくとも１つに含まれる。【選択図】図３
2016119654.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークファブリックのためのファブリックマネージャノードにおけるシステムに、
前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定させ、
前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成させ、
前記ノードのうちの前記一部の全ノードが、前記の決定された別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定させ、
前記時間間隔に基づいてタイムスタンプを生成させ、
前記１以上のパケットの少なくとも１つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めさせて、前記１以上のパケットを前記ノードのうちの前記一部に対して送信させる、
プログラム。
【請求項２】
前記の決定されたノードごとの別々の時間期間は、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づく、請求項１記載のプログラム。
【請求項３】
前記コマンドは、再構成コマンドを含む、請求項１記載のプログラム。
【請求項４】
前記再構成コマンドは、前記ノードのうちの前記一部のうちの第１のノードと第２のノードとの間をフローするデータトラフィックのためのルーティング情報又はサービス品質（ＱｏＳ）レベルを変更して、前記第１のノードと前記第２のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含む、請求項３記載のプログラム。
【請求項５】
前記異なるリンクは、前記第１のノードと前記第２のノードとの間の１以上の仮想チャネルを含む、請求項４記載のプログラム。
【請求項６】
再構成コマンドを含む前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む、請求項１記載のプログラム。
【請求項７】
前記１以上のパケットの最後のパケットが、前記タイムスタンプを含む、請求項６記載のプログラム。
【請求項８】
前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、ＩＥＥＥ１５８８−２００８を含むＩＥＥＥ１５８８規格に関連する１以上の規格又は仕様に従って動作するよう構成されており、前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記ＩＥＥＥ１５８８−２００８に従って、ネットワーク時間同期を維持する、請求項１記載のプログラム。
【請求項９】
前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成されており、前記コマンドを含む前記１以上のパケットは、１以上の管理データグラム（ＭＡＤ）としてフォーマット化されている、請求項１記載のプログラム。
【請求項１０】
前記の決定されたノードごとの別々の時間期間は、各ノードが、前記ファブリックマネージャノードからＭＡＤフォーマットの１以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づく、請求項１記載のプログラム。
【請求項１１】
ネットワークファブリックのファブリックマネージャノードにおいて、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するステップと、
前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成するステップと、
前記ノードのうちの前記一部の全ノードが、前記の決定されたノードごとの別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定するステップと、
前記時間間隔に基づいてタイムスタンプを生成するステップと、
前記１以上のパケットの少なくとも１つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めて、前記１以上のパケットを前記ノードのうちの前記一部に対して送信するステップと、
を含む方法。
【請求項１２】
前記コマンドは、再構成コマンドを含む、請求項１１記載の方法。
【請求項１３】
前記再構成コマンドは、前記ノードのうちの前記一部のうちの第１のノードと第２のノードとの間をフローするデータトラフィックのためのルーティング情報又はサービス品質（ＱｏＳ）レベルを変更して、前記第１のノードと前記第２のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み、前記異なるリンクは、前記第１のノードと前記第２のノードとの間の１以上の仮想チャネルを含む、請求項１２記載の方法。
【請求項１４】
前記再構成コマンドを含む前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む、請求項１２記載の方法。
【請求項１５】
前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、ＩＥＥＥ１５８８−２００８を含むＩＥＥＥ１５８８規格に関連する１以上の規格又は仕様に従って動作するよう構成されており、前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記ＩＥＥＥ１５８８−２００８に従って、ネットワーク時間同期を維持する、請求項１１記載の方法。
【請求項１６】
請求項１１乃至１５のうちのいずれか一項記載の方法を実行する手段を備えた装置。
【請求項１７】
ネットワークファブリック内のノードのための回路と、
コマンドを含む１以上のパケットを受信するための、前記回路により実行される受信コンポーネントと、
前記１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の１以上の他のノードとの、前記コマンドを実行する同期時間を決定するための、前記回路により実行される同期コンポーネントと、
前記同期時間に達したことに応じて前記コマンドを実行するための、前記回路により実行されるコマンドコンポーネントと、
を備えた装置。
【請求項１８】
前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み、前記再構成コマンドは、実行されたときに、前記コマンドコンポーネントが、前記ネットワークファブリック内で前記ノードと前記１以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はサービス品質（ＱｏＳ）レベルを変更して、前記ノードと前記１以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み、前記異なるリンクは、前記ノードと前記１以上の他のノードとの間の１以上の仮想チャネルを含む、請求項１７記載の装置。
【請求項１９】
前記再構成コマンドを含む前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み、前記１以上のパケットの最後のパケットが、前記タイムスタンプを含む、請求項１８記載の装置。
【請求項２０】
前記ノードは、ＩＥＥＥ１５８８−２００８を含むＩＥＥＥ１５８８規格に関連する１以上の規格又は仕様に従って動作するよう構成されており、前記ノードは、前記ＩＥＥＥ１５８８−２００８に従って、前記１以上の他のノードとのネットワーク時間同期を維持する、請求項１７記載の装置。
【請求項２１】
前記ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成されており、前記コマンドを含む前記１以上のパケットは、１以上の管理データグラム（ＭＡＤ）を含む、請求項１７記載の装置。
【請求項２２】
ネットワークファブリック内のノードにおけるシステムに、
コマンドを含む１以上のパケットを受信させ、
前記１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の１以上の他のノードとの、前記コマンドを実行する同期時間を決定させ、
前記同期時間に達したことに応じて前記コマンドを実行させる、
プログラム。
【請求項２３】
前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み、前記再構成コマンドを含む前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む、請求項２２記載のプログラム。
【請求項２４】
前記ノードは、ＩＥＥＥ１５８８−２００８を含むＩＥＥＥ１５８８規格に関連する１以上の規格又は仕様に従って動作するよう構成されており、前記ノードは、前記ＩＥＥＥ１５８８−２００８に従って、前記１以上の他のノードとのネットワーク時間同期を維持する、請求項２２記載のプログラム。
【請求項２５】
請求項１乃至１０及び請求項２２乃至２４のうちのいずれか一項記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明する例は、一般に、ネットワークファブリック（network  fabric）に関する。
【背景技術】
【０００２】
ネットワークファブリックは、複数の相互接続ノードを含み得る。これらのノードは、コンピュートノード及び／又はスイッチノードを含み得、様々なトポロジにおいて配置され得る。様々なトポロジ又はレイアウトは、数個からおそらくは数万個ものノードを含み得る。ファブリックマネージャコントローラが、ネットワークファブリック内のノード間のリンク及び／又はパスを管理又は制御するために、ネットワークファブリック内のノードのうちの少なくとも１つによりホストされ得る。ファブリックマネージャコントローラをホストするノードは、ファブリックマネージャノードと呼ばれることがあり、このファブリックマネージャノードは、ノードに、ネットワークファブリックを介してデータトラフィックを受信、処理、又は送信するためのそれぞれのノードの構成の少なくともいくつかの態様を再構成させることができる管理コマンドを、ネットワークファブリック内のノードに送信することができる。
【図面の簡単な説明】
【０００３】
【図１】例示的なシステムを示す図。
【図２】例示的な第１の時間図。
【図３】例示的な第２の時間図。
【図４】例示的なパケットフォーマットを示す図。
【図５】第１の装置の例示的なブロック図。
【図６】第１の論理フローの例を示す図。
【図７】第１の記憶媒体の例を示す図。
【図８】第２の装置の例示的なブロック図。
【図９】第２の論理フローの例を示す図。
【図１０】第２の記憶媒体の例を示す図。
【図１１】例示的なコンピューティングプラットフォームを示す図。
【発明を実施するための形態】
【０００４】
本開示で記載されているように、ネットワークファブリックのためのファブリックマネージャノードは、ネットワークファブリック内のノードに再構成させることができる管理コマンドを、そのようなノードに送信することができる。現在の実装は、ファブリックマネージャノードが、ノードに再構成させるコマンドを含むパケットを各ノードに個々に送信することを含み得る。このようなコマンドは、並列に送信され得るが、ネットワークファブリック内のネットワークトラフィック及び固有のレイテンシに加えて、送信され得る複数の並列コマンドにおける可能性のある制限が、複数のノードによりコマンドを異なる時間に受信させ得る。
【０００５】
ファブリックマネージャノードからコマンドを異なる時間に受信することは、ノードが、コマンドを実行して予測できない時間に再構成することをもたらし得る。例えば、ファブリックマネージャノードから複数の中間ノードとして位置するノードは、ファブリックマネージャノードのより近くに位置するノードよりも、相対的に長い時間を要してコマンドを受信し得る。また、いくつかの中間ノードにおけるネットワークトラフィック輻輳は、所与のノードがファブリックマネージャノードの相対的に近くにある場合でも、コマンドの配信を遅延させ得る。各ノードの再構成の予測できない時間は、ネットワークファブリックが完全には構成されない時間期間をもたらし得る。完全には構成されない状態は、データ損失、又は、おそらくは、ネットワークファブリックの少なくとも諸部分のシステムリセットを必要とし得るデッドロック状態をもたらし得る。本明細書で説明する例が必要とされるのは、このような問題に対処するためである。
【０００６】
いくつかの第１の例に従うと、ネットワークファブリックノードにおけるコマンドの同期実行のための技術は、ネットワークファブリックのためのファブリックマネージャノードにおいて、ファブリックマネージャノードに結合されているノードごとの、ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定することを含み得る。この技術は、ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成することをさらに含み得る。この技術は、ノードのうちの一部の全ノードが、決定されたノードごとの別々の時間期間に基づいて、コマンドを受信して実行するために必要とされる時間間隔を決定することと、時間間隔に基づいてタイムスタンプを生成することと、をさらに含み得る。この技術は、１以上のパケットの少なくとも１つに、ノードのうちの一部がコマンドを実行する同期時間を示すタイムスタンプを含めて、１以上のパケットをノードのうちの一部に対して送信することをさらに含み得る。
【０００７】
いくつかの第２の例において、ネットワークファブリックノードにおけるコマンドの同期実行のための技術は、ネットワークファブリック内のノードにおいて、コマンドを含む１以上のパケットを受信することを含み得る。この技術は、１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、ネットワークファブリック内の１以上の他のノードとの、コマンドを実行する同期時間を決定することをさらに含み得る。この技術は、同期時間に達したことに応じてコマンドを実行することをさらに含み得る。
【０００８】
図１は、例示的なシステム１００を示している。いくつかの例において、図１に示されるように、システム１００は、ファブリック１０５を含む。このような例に関して、ファブリック１０５は、図１において、コンピュートノード１１０−１、１１０−２、１１０−３、及び１１０−ｎを含むものとして示されている。ここで、「ｎ」は、４以上の任意の正の全整数である。いくつかの例に従うと、図１に示されるように、ファブリック１０５内のノード１１０−１〜１１０−ｎは、ローカルスイッチ１２５及び／又は大型ファブリックセクション１３５を介して相互接続され得る。ローカルスイッチ１２５は、ノード１１０−１及び１１０−２の両方に直接結合され得るのに対し、ノード１１０−３及び１１０−ｎは、大型ファブリックセクション１３５及びローカルスイッチ１２５を介して、他のノードに結合し得る。大型ファブリックセクション１３５は、１以上の中間ノードを含み得、データトラフィックは、そのような中間ノードを経由して、大型ファブリックセクション１３５に結合されているノードに到達するよう移動し得る。
【０００９】
いくつかの例において、ファブリックマネージャ（ＦＭ）コントローラは、図１に示されるノード１１０−１等のコンピュートノードによりホスト及び／又はサポートされ得る。このような例に関して、ノード１１０−１は、ファブリック１０５のためのファブリックマネージャノードとして機能するよう構成することができ、ノード１１０−２、１１０−３、及び１１０−ｎは、ファブリック１０５を介してデータトラフィックを受信、処理、又は送信することができるコンピュートノードとして機能するよう構成することができる。
【００１０】
いくつかの例に従うと、図１に示されるように、ノード１１０−２は、ローカルスイッチ１２５を介してファブリック１０５に結合される。このような例に関して、ノード１１０−２は、ファブリックマネージャノード１１０−１から、コマンドを含む１以上のパケットを受信することができ、ローカルスイッチ１２５及び大型ファブリックセクション１３５の両方を介してファブリックマネージャノード１１０−１に結合されているノード１１０−３及び１１０−ｎよりも早くコマンドを実施又は実行することができる。前述したように、大型ファブリックセクション１３５は、複数の中間ノードを含み得る。これら複数の中間ノードは、ファブリックマネージャノード１１０−１とノード１１０−２との間のより直接的なルートと比較すると、ノード１１０−３又は１１０−ｎへの、コマンドを含む１以上のパケットの配信を遅延させ得る。
【００１１】
いくつかの例において、１以上のパケットに含まれるコマンドは、再構成コマンドを含み得る。再構成コマンドは、ファブリック１０５の２以上のノード間をフローするデータトラフィックのためのサービス品質（ＱｏＳ）レベルを変更するためのものであり得、それら２以上のノード間における異なるリンクを介するデータトラフィックのフローを再構成する。このような例に関して、異なるリンクは、それら２以上のノード間の１以上の仮想チャネルを含み得、データトラフィックのフローは、それら２以上のノード間において、このような仮想チャネルを介して進む。
【００１２】
いくつかの例に従うと、１以上のパケットに含まれるコマンドは、２以上のノード間においてデータパケットが進むルート又はパスを変更するための再構成コマンドを含み得る。このような例に関して、ルート変更は、各ノードが、ルーティングテーブル、又は、ファブリック１０５の少なくとも諸部分を介してデータパケットを送信、受信、又は転送するために使用される他のルーティング情報を更新することをもたらし得る。
【００１３】
いくつかの例に従うと、ＱｏＳレベル、１以上の仮想チャネルを含む異なるリンク、又はルーティングテーブルは、２００７年１１月に公開されたＩｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って構成することができる。また、ファブリック１０５及びノード１１０−１〜１１０−ｎは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様に従って動作するよう構成することができる。このような例に関して、ファブリックマネージャノード１１０−１から送信される再構成コマンドを含む１以上のパケットは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様において説明されている管理データグラム（ＭＡＤ：management  datagram）としてフォーマット化することができる。本開示は、ＭＡＤを用いて送信される再構成コマンドに限定されるものではなく、他の規格及び仕様に関連付けられた他のフォーマット又はプロプライエタリファブリックも意図されている。
【００１４】
いくつかの例において、以下でさらに説明するように、１以上のＭＡＤは、ファブリック１０５のノードが、同期時間（synchronized  time）に再構成することを可能にするタイムスタンプ情報を含み得、これは、各ノードが、ファブリックマネージャノード１１０−１から送信された１以上のＭＡＤを受信して、コマンドを同時期間に実行するための十分な時間を可能にする。このような例に関して、ノード１１０−１〜１１０−ｎは、２００８年７月に公開されたＩＥＥＥ１５８８−２００８を含むＩＥＥＥ１５８８規格に関連する１以上の規格又は仕様に従って動作するよう構成することができる。ノード１１０−１〜１１０−ｎは、ＩＥＥＥ１５８８に従って、１以上の他のノードとの正確なネットワーク時間同期を維持することができる。本開示は、ＩＥＥＥ１５８８のみに従ったネットワーク時間同期に限定されるものではなく、ネットワーク同期のための他の方法又は技術も意図されている。
【００１５】
図２は、例示的な第１の時間図を示している。図２に示されるように、第１の時間図は、時間図２００を含む。図２に示される時間図２００は、ファブリック１０５のファブリックマネージャノード１１０−１による、時間Ｔｘにおける、ノード１１０−２及び１１０−３両方への再構成コマンドを含む（例えば、ＭＡＤとしてフォーマット化されている）１以上のパケットの送信に基づく再構成の相対時間の例を表す。Ｔｘ＋ｙにおける破線は、ノード１１０−２が１以上のパケットを受信して再構成コマンドを実行する第１の時間を表し、Ｔ１１０−２は、ファブリックマネージャ１１０−１が、ノード１１０−２から、再構成の完了の通知を受信する第２の時間を示す。Ｔｘ＋ｚにおける別の破線は、ノード１１０−３が１以上のパケットを受信して再構成コマンドを実行する第３の時間を表し、Ｔ１１０−３は、ファブリックマネージャ１１０−１が、ノード１１０−３から、再構成の完了の通知を受信する第４の時間を示す。
【００１６】
いくつかの例に従うと、図２における２つの破線間の時間量は、ファブリック１０５が未知の状態又は構成にあり得る時間の期間を表し得る。したがって、このような例に関して、時間Ｔｘ＋ｙからＴｘ＋ｚまで（２つの破線間の時間）のファブリック１０５は、古い構成又は新たな構成のいずれにも完全には構成されていないことがある。
【００１７】
いくつかの例において、ばらついた再構成時間又は異なる再構成時間は、大型ファブリックセクション１３５に含まれる中間ノードの観点からすると、問題があり得る。このような例に関して、ノード１１０−２からノード１１０−３にフローするパケットが通過する中間ノードは、大型ファブリックセクション１３５内におけるパス変更又はルート変更を要求することがある。２つの破線間の時間の間、ノード１１０−２からフローするパケットは、ノード１１０−３に到達しないことがある。なぜならば、大型ファブリックセクション１３５内の中間ノードは、（例えば、ルーティングテーブルに保持されている）間違った（古い）ルーティング情報に従って、パケットを転送していることがあるからである。間違った（古い）ルーティング情報に起因してノード１１０−３に到達しないことは、デッドロックをもたらし得る。デッドロックは、ノード１１０−２又は１１０−３で実行されているアプリケーションを機能させなくすることがある。また、デッドロックは、ファブリック１０５の少なくとも一部が、デッドロックを取り除くためにリセットされなければならないことをもたらし得る。異なる再構成時間に起因してファブリック１０５の一部又は全てをリセットすることは、望ましくない高ジッタ量をもたらし得る。
【００１８】
図３は、例示的な第２の時間図を示している。図３に示されるように、第２の時間図は、時間図３００を含む。いくつかの例において、図３に示される時間図３００は、ファブリック１０５のファブリックマネージャノード１１０−１による、時間Ｔｘにおける、ノード１１０−２及び１１０−３両方への再構成コマンドを含む（例えば、ＭＡＤとしてフォーマット化されている）１以上のパケットの送信に基づく同期再構成（synchronized  reconfiguration）の例を表す。このような例に関して、ファブリックマネージャノード１１０−１におけるロジック及び／又は機能は、１以上のパケットの少なくとも１つにタイムスタンプを含めることができる。このタイムスタンプにより、ノード１１０−２及び１１０−３におけるロジック及び／又は機能は、再構成コマンドを実行する同期時間を決定することが可能になる。
【００１９】
いくつかの例において、ファブリックマネージャノード１１０−１は、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様に従って動作することができ、ファブリックマネージャノード１１０−１のロジック及び／又は機能は、ノード１１０−２、ノード１１０−３、又はノード１１０−ｎ等のファブリック１０５の各ノードが、ファブリックマネージャノード１１０−１から送信された所与のコマンドを受信して実行するための別々の時間期間を決定することができる。このような例に関して、ノードごとの別々の時間期間は、各ノードが、ファブリックマネージャノード１１０−１から（例えば、１以上のＭＡＤを用いて送信された）所与のコマンドを受信してそのようなコマンドに応答した管理タイムアウト及び応答時間（management  timeout  and  response  time）値に少なくとも部分的に基づき得る。
【００２０】
いくつかの例に従うと、ファブリックマネージャノード１１０−１は、ファブリック１０５の、ノード１１０−２及び１１０−３を含む少なくとも一部を、同期させた形で再構成することができる。このような例に関して、ファブリックマネージャノード１１０−１のロジック及び／又は機能は、再構成コマンドを含む１以上のパケットを生成することができる。ファブリックマネージャノード１１０−１のロジック及び／又は機能は、ノード１１０−２及び１１０−３の両方が、上述した、ノード１１０−２及び１１０−３の各々の決定された別々の時間期間に基づいて、再構成コマンドを受信して実行するために必要とされる時間間隔を決定することができる。次いで、このロジック及び／又は機能は、この時間間隔に基づいてタイムスタンプを生成することができ、次いで、１以上のパケットをノード１１０−２及び１１０−３に送信することができる。図３に示されるように、いくつかの例において、タイムスタンプは、１以上のパケットの少なくとも１つに含まれ得、ノード１１０−２及び１１０−３が再構成コマンドを実行する同期時間を示すことができる。ファブリック１０５のノードの同期は、ノード１１０−２及び１１０−３が同期された形で再構成コマンドを実行することを確実にするために、ＩＥＥＥ１５８８に従って維持され得る。
【００２１】
いくつかの例において、ノード１１０−２又は１１０−３におけるロジック及び／又は機能は、再構成コマンドを含む１以上のパケットと、１以上のパケットの少なくとも１つに含まれるタイムスタンプと、を受信することができる。このような例に関して、図３に示されるように、次いで、ノード１１０−２及び１１０−３は、再構成コマンドにより示される新たな構成を記憶又はキャッシュすることができる。ノード１１０−２及び１１０−３は、再構成コマンドを受信したというそれぞれの通知を送信することができ、ファブリックマネージャノード１１０−１は、Ｔ１１０−２及びＴ１１０−３においてそれぞれ、それらの通知を受信することができる。次いで、ノード１１０−２及び１１０−３におけるロジック及び／又は機能は、タイムスタンプを使用して、再構成コマンドを実行する同期時間を決定し、次いで、図３における破線により示されるＴｒにおいて、新たな構成を実行することができる。
【００２２】
いくつかの例に従うと、ファブリックマネージャノード１１０−１におけるロジック及び／又は機能は、ノード１１０−２及び１１０−３におけるロジック及び／又は機能により認識されるインジケーションであって、同期再構成が生じるべきであるというインジケーションを、再構成コマンドを含む１以上のパケットに含めることができる。すなわち、このインジケーションは、ノード１１０−２及び１１０−３におけるロジック及び／又は機能に、同期時間に達するまで再構成を遅延させることができる。この遅延の間、再構成に関わる情報を含む各パケットは、ノード１１０−２及び１１０−３により受信されたまま記憶又はキャッシュされ得る。いくつかの例において、タイムスタンプは、１以上のパケットの最後のパケットまで含まれなくてもよい。最後のパケットにタイムスタンプを含めることにより、ファブリックマネージャノード１１０−１は、タイムスタンプを含む最後のパケットがノード１１０−２及び１１０−３に送信される前にエラーが生じた場合に、再構成を中止することが可能になる。また、タイムスタンプは、タイムスタンプ自身のパケットに含まれてもよいし、再構成情報のペイロードも含むパケットに含まれてもよい。
【００２３】
図４は、例示的なパケットフォーマット４００を示している。いくつかの例において、図４に示されるように、パケットフォーマット４００は、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様において説明されているＭＡＤベースフォーマットに類似するものであり得る。例示的なパケットフォーマット４００のバイト０−３は、ＢａｓｅＶｅｒｓｉｏｎフィールド４１０、ＭｇｍｔＣｌａｓｓフィールド４１２、ＣｌａｓｓＶｅｒｓｉｏｎフィールド４１４、Ｒｅｓｐｏｎｓｅフィールド４１６、及びＭｅｔｈｏｄフィールド４１８を含み得る。バイト４−７は、Ｓｔａｔｕｓフィールド４２２及びＣｌａｓｓＳｐｅｃｉｆｉｃフィールド４２４を含み得る。バイト８−１２は、ＴｒａｎｓａｃｔｉｏｎＩＤフィールド４３２を含み得る。バイト１６−１９は、ＡｔｔｒｉｂｕｔｅＩＤフィールド４４２、Ｉｎｄｉｃａｔｏｒフィールド４４４、及びＴｉｍｅＳｔａｍｐフィールド４４６を含み得る。バイト２０−２３は、ＡｔｔｒｉｂｕｔｅＭｏｄｉｆｉｅｒフィールド４５２を含み得る。バイト２４−２５２は、Ｄａｔａフィールド４６２を含み得る。例示的なパケットフォーマット４００は、コマンドを含む１以上のパケットをネットワークファブリック内のノードに送信するために、ネットワークファブリックのファブリックマネージャノード（例えば、ファブリックマネージャノード１１０−１）により使用され得る。本開示は、例示的なパケットフォーマット４００に限定されるものではなく、より多くのフィールド又はより少ないフィールドを含んでもよい他の例示的なパケットフォーマットや、任意の１以上の特定のフィールドのために、上述したものよりも多くのバイト又は少ないバイトを含んでもよい他の例示的なパケットフォーマットも意図されている。
【００２４】
いくつかの例において、Ｉｎｄｉｃａｔｏｒフィールド４４４及びＴｉｍｅＳｔａｍｐフィールド４４６を除く、バイト０−２５２の上述したフィールドの全てが、ＭＡＤベースフォーマットに関する、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様において説明されている情報を含み得る。例えば、ＢａｓｅＶｅｒｓｉｏｎフィールド４１０は、ＭＡＤベースフォーマットのバージョンを示し、ＭｇｍｔＣｌａｓｓフィールド４１２は、オペレーションのクラスを示し、ＣｌａｓｓＶｅｒｓｉｏｎフィールド４１４は、ＭＡＤクラス固有フォーマット（MAD  class-specific  format）のバージョンを示し、Ｒｅｓｐｏｎｓｅフィールド４１６は、応答ビットを示し、Ｍｅｔｈｏｄフィールド４１８は、管理クラスに基づいて実行するメソッドを示し、Ｓｔａｔｕｓフィールド４２２は、オペレーションのステータスを示し、ＣｌａｓｓＳｐｅｃｉｆｉｃフィールド４２４は、ＳｕｂｎｅｔＭａｎａｇｅｍｅｎｔクラスを示すことができ、ＴｒａｎｓａｃｔｉｏｎＩＤフィールド４３２は、トランザクション識別子を示し、ＡｔｔｒｉｂｕｔｅＩＤフィールド４４２は、管理クラスにより処理されるオブジェクトを定義し、ＡｔｔｒｉｂｕｔｅＭｏｄｉｆｉｅｒフィールド４５２は、属性に対するさらなるスコープを提供し、Ｄａｔａフィールド４６２は、データ、すなわち、管理コマンドに関連付けられたパケットのペイロード領域である。
【００２５】
いくつかの例に従うと、例示的なパケットフォーマット４００のＩｎｄｉｃａｔｏｒフィールド４４４は、１ビットフィールド（例えば、ビット１５）であってよく、設定時又はアサート時（例えば、１のとき）、例示的なパケットフォーマット４００のパケットを受信するノードは、同期時間に達するまで、そのパケットに関連付けられたコマンドの実行を遅延させるべきである、ということを示す。このような例に関して、同期時間は、ＴｉｍｅＳｔａｍｐフィールド４４６に含まれるタイムスタンプに基づき得る。前述したように、コマンドは、再構成コマンドを含み得る。ＴｉｍｅＳｔａｍｐフィールド４４６に含まれるタイムスタンプは、再構成コマンドに関連付けられた１以上のパケットを受信する全てのノードが、そのような１以上のパケットを受信し、再構成コマンドに関わる情報（例えば、新たな構成の情報）を一時的に記憶又はキャッシュし、次いで、同期時間に再構成コマンドを実行することを可能にするのに十分な将来の時間を表すことができる。
【００２６】
いくつかの例において、例示的なパケットフォーマット４００で生成される複数のパケットの最初のパケットが、受信ノードはコマンドの実行を遅延させるべきであるというインジケーションを、Ｉｎｄｉｃａｔｏｒフィールド４４４内に含み得る。しかしながら、ＴｉｍｅＳｔａｍｐフィールド４４６は、タイムスタンプ情報を含まないこともある。このような例に関して、タイムスタンプの欠如は、ＴｉｍｅＳｔａｍｐフィールド４４６内にタイムスタンプを含む、例示的なパケットフォーマット４００の後続のパケットが受信されるまで、コマンドを実行するための情報を一時的に記憶又はキャッシュすることを続けるよう、受信ノードに示すことができる。タイムスタンプを含む後続のパケットは、最初のパケットの直後に受信されることもあるし、タイムスタンプを含む後続のパケットが受信される前に、タイムスタンプを含まない複数のパケットが受信されることもなる。次いで、受信ノードは、後続のパケットに含まれるタイムスタンプに基づく同期時間に、複数のパケットに含まれるコマンドを実行することができる。
【００２７】
いくつかの例に従うと、タイムスタンプは、タイムスタンプ自身のフィールドに含まれるのではなく、Ｄａｔａフィールド４６２に含まれてもよい。このような例に関して、ＴｉｍｅＳｔａｍｐフィールド４４６のない例示的なパケットフォーマット４００で生成される複数のパケットの最初のパケットが、受信ノードはコマンドの実行を遅延させるべきであるというインジケーションを、Ｉｎｄｉｃａｔｏｒフィールド４４４内に含み得る。このような例に関して、Ｄａｔａフィールド４６２内のタイムスタンプの欠如は、Ｄａｔａフィールド４６２内にタイムスタンプを含む、例示的なパケットフォーマット４００の後続のパケットが受信されるまで、コマンドを実行するための情報を一時的に記憶又はキャッシュすることを続けるよう、受信ノードに示すことができる。タイムスタンプを含む後続のパケットは、最初のパケットの直後に受信されることもあるし、タイムスタンプを含む後続のパケットが受信される前に、Ｄａｔａフィールド４６２内にタイムスタンプを含まない複数のパケットが受信されることもなる。次いで、受信ノードは、最後のパケットであり得る後続のパケットのＤａｔａフィールド４６２内に含まれるタイムスタンプに基づく同期時間に、複数のパケットに含まれるコマンドを実行することができる。
【００２８】
図５は、第１の装置の例示的なブロック図を示している。図５に示されるように、第１の装置は、装置５００を含む。図５に示される装置５００は、所定のトポロジにおいて、限定された数の要素を有するが、装置５００は、所与の実装のために、必要に応じて、代替トポロジにおいて、より多くの要素又はより少ない要素を有してもよいことを理解されたい。
【００２９】
いくつかの例に従うと、装置５００は、ネットワークファブリックのためのファブリックマネージャをホスト又はサポートすることができる、ネットワークファブリック内のノード（例えば、コンピュートノード）において保持される回路５２０によりサポートされ得る。回路５２０は、１以上の、ソフトウェア又はファームウェアにより実装されたモジュール又はコンポーネント５２２−ａを実行するよう構成され得る。本明細書で使用される「ａ」、「ｂ」、「ｃ」、及び同様の指示子は、任意の正の整数を表す変数であると意図されていることに留意されたい。したがって、例えば、ある実装が、ａ＝５との値を設定する場合、コンポーネント５２２−ａのソフトウェア又はファームウェアの完全なセットは、コンポーネント５２２−１、５２２−２、５２２−３、５２２−４、又は５２２−５を含み得る。提示される例は、この文脈において限定されるものではなく、全体を通じて使用される異なる変数は、同じ整数値を表すこともあるし、異なる整数値を表すこともある。また、これらの「コンポーネント」は、コンピュータ読み取り可能な媒体に記憶されるソフトウェア／ファームウェアであり得る。これらのコンポーネントは、図５において、別々のボックスとして示されているが、このことは、これらのコンポーネントが別々のコンピュータ読み取り可能な媒体のコンポーネント（例えば、別々のメモリ等）に記憶されるとして限定するものではない。
【００３０】
いくつかの例に従うと、回路５２０は、プロセッサ又はプロセッサ回路を含み得る。回路５２０は、ネットワークファブリック内の、ファブリックマネージャノードをホストするノード（例えば、ノード１１０−１）におけるホストプロセッサ回路の一部であり得る。回路５２０は、一般に、１以上のソフトウェアコンポーネント５２２−ａを実行するよう構成され得る。回路５２０は、ＡＭＤ（登録商標）のＡｔｈｌｏｎ（登録商標）プロセッサ、Ｄｕｒｏｎ（登録商標）プロセッサ、及びＯｐｔｅｒｏｎ（登録商標）プロセッサ；ＡＲＭ（登録商標）のアプリケーション組み込みセキュアプロセッサ；ＩＢＭ（登録商標）及びＭｏｔｏｒｏｌａ（登録商標）のＤｒａｇｏｎＢａｌｌ（登録商標）プロセッサ及びＰｏｗｅｒＰＣ（登録商標）プロセッサ；ＩＢＭ（登録商標）及びＳｏｎｙ（登録商標）のＣｅｌｌプロセッサ；Ｉｎｔｅｌ（登録商標）のＡｔｏｍ（登録商標）プロセッサ、Ｃｅｌｅｒｏｎ（登録商標）プロセッサ、Ｃｏｒｅ  （２）  Ｄｕｏ（登録商標）プロセッサ、Ｃｏｒｅ  ｉ３プロセッサ、Ｃｏｒｅ  ｉ５プロセッサ、Ｃｏｒｅ  ｉ７プロセッサ、Ｉｔａｎｉｕｍ（登録商標）プロセッサ、Ｐｅｎｔｉｕｍ（登録商標）プロセッサ、Ｘｅｏｎ（登録商標）プロセッサ、Ｘｅｏｎ  Ｐｈｉ（登録商標）プロセッサ、及びＸＳｃａｌｅ（登録商標）プロセッサ；並びに同様のプロセッサを含むがこれらに限定されない種々の商用入手可能なプロセッサのうちの任意のものであり得る。いくつかの例に従うと、回路５２０はまた、特定用途向け集積回路（ＡＳＩＣ）を含んでもよく、少なくとも一部のコンポーネント５２２−ａは、ＡＳＩＣのハードウェア要素として実装されてもよい。
【００３１】
いくつかの例において、装置５００は、時間期間コンポーネント５２２−１を含み得る。時間期間コンポーネント５２２−１は、ファブリックマネージャノードに結合されているノードごとの、ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するために、回路５２０により実行され得る。このような例に関して、各ノードが、所与のコマンドを受信してそのようなコマンドに応答した管理タイムアウト及び応答時間値を示すタイムアウト／応答値５０５が受信され得る。タイムアウト／応答値５０５に関連付けられた所与のコマンドは、例示的なパケットフォーマット４００と同様のフォーマット（例えば、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様において説明されているＭＡＤベースフォーマット）であり得る。時間期間コンポーネント５２２−１は、時間期間情報５２４−ａにより、ノードごとの別々の時間期間を含み得る。時間期間情報５２４−ａは、ルックアップテーブル（ＬＵＴ）等のデータ構造を用いて、時間期間コンポーネント５２２−１により保持され得る、あるいは、時間期間コンポーネント５２２−１により評価可能である。
【００３２】
いくつかの例に従うと、装置５００はまた、コマンドコンポーネント５２２−２を含み得る。コマンドコンポーネント５２２−２は、ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成するために、回路５２０により実行され得る。このような例に関して、１以上のパケットは、例示的なパケットフォーマット４００と同様のフォーマットであり得る。
【００３３】
いくつかの例において、装置５００はまた、時間間隔コンポーネント５２２−３を含み得る。時間間隔コンポーネント５２２−３は、ノードのうちの一部の全ノードが、決定されたノードごとの別々の時間期間に基づいて、コマンドを受信して実行するために必要とされる時間間隔を決定するために、回路５２０により実行され得る。このような例に関して、時間間隔コンポーネント５２２−３は、時間期間情報５２４−ａに保持されている、ノードごとの別々の時間期間を使用して、時間間隔を決定することができる。
【００３４】
いくつかの例に従うと、装置５００はまた、タイムスタンプコンポーネント５２２−４を含み得る。タイムスタンプコンポーネント５２２−４は、時間間隔に基づいてタイムスタンプを生成するために、回路５２０により実行され得る。このような例に関して、ネットワーク（ＮＷ）時間同期情報５１０は、ＮＷ時間同期情報５２５−ｂを保持するための、ＩＥＥＥ１５８８に従って得られる情報を含み得る。タイムスタンプコンポーネント５２２−４は、ＩＥＥＥ１５８８に従ったタイミング機構を介して、ＮＷ時間同期情報５２５−ｂを保持することができ、ＮＷ時間同期情報５２５−ｂを用いてタイムスタンプを生成することができる。
【００３５】
いくつかの例において、装置５００はまた、送信コンポーネント５２２−５を含み得る。送信コンポーネント５２２−５は、１以上のパケットをノードのうちの一部に送信するために、回路５２０により実行され得る。このような例に関して、送信コンポーネント５２２−５は、１以上のパケットの少なくとも１つにタイムスタンプを含めることができる。タイムスタンプは、ノードのうちの一部がコマンドを実行する同期時間を示すことができる。パケット５１５は、ノードのうちの一部に送信される１以上のパケットを含み得、同時期間は、上述したように、ＮＷ時間同期情報５２５−ｂに含まれる情報に基づき得る。
【００３６】
装置５００の様々なコンポーネント、及び、装置５００を実装するデバイス又はノードは、オペレーションを連係させるために、様々なタイプの通信媒体を介して、互いに通信可能に結合され得る。この連携は、情報の一方向交換又は双方向交換を伴い得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形態で、情報を通信することができる。この情報は、様々な信号線に割り当てられる信号として実装され得る。そのような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施形態は、代替的に、データメッセージを使用してもよい。そのようなデータメッセージは、様々な接続を介して送信され得る。例示的な接続は、パラレルインタフェース、シリアルインタフェース、及びバスインタフェースを含む。
【００３７】
開示するアーキテクチャの新規な態様を実現するための例示的な方法を表す論理フローのセットが、本明細書に含まれる。説明の簡潔さのために、本明細書で示される１以上の方法が、一連の動作として図示及び説明されるが、当業者であれば、方法は、そのような動作の順番により限定されるものではないことが理解されよう。いくつかの動作は、実施形態に応じて、異なる順番で生じてもよいし、且つ／あるいは、本明細書で図示及び説明される他の動作と同時に生じてもよい。例えば、当業者であれば、方法は、代替的に、状態図等における一連の相互関連状態又はイベントとして表されてもよいことが理解されよう。さらに、方法において示される動作の全てが、新規な実装のために必要とされるわけではない。
【００３８】
論理フローは、ソフトウェア、ファームウェア、及び／又はハードウェアにより実装され得る。ソフトウェアの実施形態及びファームウェアの実施形態では、論理フローは、光ストレージ、磁気ストレージ、又は半導体ストレージ等の、少なくとも１つの非一時的なコンピュータ読み取り可能な媒体又は機械読み取り可能な媒体に記憶されたコンピュータ実行可能な命令により実装され得る。実施形態は、この文脈において限定されるものではない。
【００３９】
図６は、第１の論理フローの例を示している。図６に示されるように、第１の論理フローは、論理フロー６００を含む。論理フロー６００は、装置５００等の本明細書で説明した１以上のロジック、機能、又はデバイスにより実行されるオペレーションの一部又は全てを表し得る。より詳細には、論理フロー６００は、少なくとも、時間期間コンポーネント５２２−１、コマンドコンポーネント５２２−２、時間間隔コンポーネント５２２−３、タイムスタンプコンポーネント５２２−４、又は送信コンポーネント５２２−５により実装され得る。
【００４０】
いくつかの例に従うと、論理フロー６００は、ブロック６０２で、ネットワークファブリックのファブリックマネージャノードにおいて、ファブリックマネージャノードに結合されているノードごとの、ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定することができる。このような例に関して、時間期間コンポーネント５２２−１は、ノードごとの別々の時間期間を決定することができる。
【００４１】
いくつかの例において、論理フロー６００は、ブロック６０４で、ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成することができる。このような例に関して、コマンドコンポーネント５２２−２は、コマンド（例えば、再構成コマンド）を含む１以上のパケットを生成することができる。
【００４２】
いくつかの例に従うと、論理フロー６００は、ブロック６０６で、ノードのうちの一部の全ノードが、決定されたノードごとの別々の時間期間に基づいて、コマンドを受信して実行するために必要とされる時間間隔を決定することができる。このような例に関して、時間間隔コンポーネント５２２−３は、必要とされる時間間隔を決定することができる。
【００４３】
いくつかの例において、論理フロー６００は、ブロック６０８で、時間間隔に基づいてタイムスタンプを生成することができる。このような例に関して、タイムスタンプコンポーネント５２２−４は、タイムスタンプを生成することができる。タイムスタンプコンポーネント５２２−４はまた、ＩＥＥＥ１５８８に従ったネットワークファブリック内のノードにより保持されているネットワーク同期時間に従うように、このタイムスタンプを基準として用いてもよい。
【００４４】
いくつかの例に従うと、論理フロー６００は、ブロック６１０で、１以上のパケットの少なくとも１つに、ノードのうちの一部がコマンドを実行する同期時間を示すタイムスタンプを含めて、１以上のパケットをノードのうちの一部に送信することができる。このような例に関して、送信コンポーネント５２２−５は、１以上のパケットをノードのうちの一部に送信することができる。
【００４５】
図７は、第１の記憶媒体の例を示している。図７に示されるように、第１の記憶媒体は、記憶媒体７００を含む。記憶媒体７００は、製品を含み得る。いくつかの例において、記憶媒体７００は、光ストレージ、磁気ストレージ、又は半導体ストレージ等の任意の非一時的なコンピュータ読み取り可能な媒体又は機械読み取り可能な媒体を含み得る。記憶媒体７００は、論理フロー６００を実装するための命令等の様々なタイプのコンピュータ実行可能な命令を記憶することができる。コンピュータ読み取り可能な記憶媒体又は機械読み取り可能な記憶媒体の例は、揮発性メモリ、不揮発性メモリ、取り外し可能なメモリ、取り外し不可能なメモリ、消去可能なメモリ、消去不可能なメモリ、書き込み可能なメモリ、再書き込み可能なメモリ等を含む、電子的データを記憶することができる任意の有体の媒体を含み得る。コンピュータ実行可能な命令の例は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能なコード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコード、及び同様のもの等の任意の適切なタイプのコードを含み得る。例は、この文脈において限定されるものではない。
【００４６】
図８は、例示的な第２の装置のブロック図を示している。図８に示されるように、例示的な第２の装置は、装置８００を含む。図８に示される装置８００は、所定のトポロジにおいて、限定された数の要素を有するが、装置８００は、所与の実装のために、必要に応じて、代替トポロジにおいて、より多くの要素又はより少ない要素を有してもよいことを理解されたい。
【００４７】
いくつかの例に従うと、装置８００は、ネットワークファブリック内のノード（例えば、コンピュートノード）において保持される回路８２０によりサポートされ得る。回路８２０は、１以上のソフトウェアコンポーネント８２２−ａを実行するよう構成され得る。本明細書で使用される「ａ」、「ｂ」、「ｃ」、及び同様の指示子は、任意の正の整数を表す変数であると意図されていることに留意されたい。したがって、例えば、ある実装が、ａ＝３との値を設定する場合、ソフトウェアコンポーネント８２２−ａの完全なセットは、コンポーネント８２２−１、８２２−２、又は８２２−３を含み得る。例は、この文脈において限定されるものではない。
【００４８】
いくつかの例において、図８に示されるように、装置８００は、回路８２０を含む。回路８２０は、ネットワークファブリック内のノード（例えば、ノード１１０−２、１１０−３、又は１１０−ｎ）におけるホストプロセッサ回路の一部であり得る。回路８２０は、一般に、１以上のソフトウェアコンポーネント８２２−ａを実行するよう構成され得る。回路８２０は、装置５００に関して上述したプロセッサを含むがそれらに限定されない種々の商用入手可能なプロセッサのうちの任意のものであり得る。また、いくつかの例に従うと、回路８２０はまた、ＡＳＩＣであってもよく、少なくとも一部のコンポーネント８２２−ａは、ＡＳＩＣのハードウェア要素として実装されてもよい。
【００４９】
いくつかの例において、装置８００は、受信コンポーネント８２２−１を含み得る。受信コンポーネント８２２−１は、コマンド（例えば、再構成コマンド）を含む１以上のパケットを受信するために、回路８２０により実行され得る。このような例に関して、１以上のパケットは、パケット８１０に含まれ得る。
【００５０】
いくつかの例に従うと、装置８００はまた、同期コンポーネント８２２−２を含み得る。同期コンポーネント８２２−２は、１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、ネットワークファブリック内の１以上の他のノードとの、コマンドを実行する同期時間を決定するために、回路８２０により実行され得る。このような例に関して、ノードがコマンドを受信して実行するために必要とされる時間を示す情報を含むタイムアウト／応答値８０５は、ネットワークファブリックのためのファブリックマネージャノードと以前に交換されたものであり得る。タイムスタンプは、ノードがファブリックマネージャノードからコマンドを受信して実行するためにどのくらいの時間が必要とされるかを示す、ファブリックマネージャノードと交換された情報を考慮に入れることができる。また、同期コンポーネント８２２−２は、ＮＷ時間同期情報８１５に含まれる情報の交換を介して、スイッチファブリック内のノードとのＮＷ時間同期を維持することができる。ＮＷ時間同期情報８１５に含まれるこの情報は、ＮＷ時間同期情報８２４−ａを保持するために、ＩＥＥＥ１５８８に従って交換され得る。同期コンポーネント８２２−２は、ＩＥＥＥ１５８８に従ったタイミング機構を介して、ＮＷ時間同期情報８２４−ａを保持することができ、ＮＷ時間同期情報８２４−ａを用いて同期時間を決定することができる。
【００５１】
いくつかの例において、装置８００はまた、コマンドコンポーネント８２２−３を含み得る。コマンドコンポーネント８２２−３は、同期時間に達したことに応じてコマンドを実行するために、回路８２０により実行され得る。このような例に関して、コマンドは、装置８００を含むノードと、ネットワークファブリック内の１以上の他のノードと、の間におけるデータトラフィック８３０に含まれるデータトラフィックのためのルーティング情報又はＱｏＳレベルを変更する再構成コマンドを含み得る。ルーティング情報又はＱｏＳレベルの変更は、装置８００を含むノードと、１以上の他のノードとの間における異なるリンクを介するデータトラフィックのフローを再構成することをもたらし得る。異なるリンクは、例えば、（例えば、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様に従って構成される）１以上の仮想チャネルを含み得る。
【００５２】
装置８００の様々なコンポーネント、及び、装置８００を実装するデバイス又はノードは、オペレーションを連係させるために、様々なタイプの通信媒体を介して、互いに通信可能に結合され得る。この連携は、情報の一方向交換又は双方向交換を伴い得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形態で、情報を通信することができる。この情報は、様々な信号線に割り当てられる信号として実装され得る。そのような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施形態は、代替的に、データメッセージを使用してもよい。そのようなデータメッセージは、様々な接続を介して送信され得る。例示的な接続は、パラレルインタフェース、シリアルインタフェース、及びバスインタフェースを含む。
【００５３】
図９は、第２の論理フローの例を示している。図９に示されるように、第２の論理フローは、論理フロー９００を含む。論理フロー９００は、装置８００等の本明細書で説明した１以上のロジック、機能、又はデバイスにより実行されるオペレーションの一部又は全てを表し得る。より詳細には、論理フロー９００は、少なくとも、受信コンポーネント８２２−１、同期コンポーネント８２２−２、又はコマンドコンポーネント８２２−３により実装され得る。
【００５４】
いくつかの例に従うと、論理フロー９００は、ブロック９０２で、ネットワークファブリック内のノードにおいて、コマンドを含む１以上のパケットを受信することができる。このような例に関して、受信コンポーネント８２２−１は、１以上のパケットを受信することができる。
【００５５】
いくつかの例において、論理フロー９００は、ブロック９０４で、１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、ネットワークファブリック内の１以上の他のノードとの、コマンドを実行する同期時間を決定することができる。このような例に関して、同期コンポーネント８２２−２は、同期時間を決定することができる。
【００５６】
いくつかの例に従うと、論理フロー９００は、ブロック９０６で、同期時間に達したことに応じてコマンドを実行することができる。このような例に関して、コマンドコンポーネント８２２−３は、同期時間に達したことに応じてコマンドを実行することができる。実行されるコマンドは、再構成コマンドを含み得、同期時間に再構成コマンドを実行することにより、ネットワークファブリック内のノードは、実質的に同時に再構成することが可能になる。
【００５７】
図１０は、第２の記憶媒体の例を示している。図１０に示されるように、第２の記憶媒体は、記憶媒体１０００を含む。記憶媒体１０００は、製品を含み得る。いくつかの例において、記憶媒体１０００は、光ストレージ、磁気ストレージ、又は半導体ストレージ等の任意の非一時的なコンピュータ読み取り可能な媒体又は機械読み取り可能な媒体を含み得る。記憶媒体１０００は、論理フロー９００を実装するための命令等の様々なタイプのコンピュータ実行可能な命令を記憶することができる。コンピュータ読み取り可能な記憶媒体又は機械読み取り可能な記憶媒体の例は、揮発性メモリ、不揮発性メモリ、取り外し可能なメモリ、取り外し不可能なメモリ、消去可能なメモリ、消去不可能なメモリ、書き込み可能なメモリ、再書き込み可能なメモリ等を含む、電子的データを記憶することができる任意の有体の媒体を含み得る。コンピュータ実行可能な命令の例は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能なコード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコード、及び同様のもの等の任意の適切なタイプのコードを含み得る。例は、この文脈において限定されるものではない。
【００５８】
図１１は、例示的なコンピューティングプラットフォーム１１００を示している。いくつかの例において、図１１に示されるように、コンピューティングプラットフォーム１１００は、処理コンポーネント１１４０、他のプラットフォームコンポーネント１１５０、及び通信インタフェース１１６０を含み得る。いくつかの例に従うと、コンピューティングプラットフォーム１１００は、スイッチファブリック内のノード又はコンピュートノード（例えば、ファブリック１０５内のノード１１０−１〜１１０−ｎ）において実装され得る。
【００５９】
いくつかの例に従うと、処理コンポーネント１１４０は、装置５００／８００及び／又は記憶媒体７００／１０００のための処理オペレーション又はロジックを実行することができる。処理コンポーネント１１４０は、様々なハードウェア要素、ソフトウェア要素、又はそれら両方の組合せを含み得る。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子（例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、デバイスドライバ、システムプログラム、ソフトウェア開発プログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組合せを含み得る。例が、ハードウェア要素及び／又はソフトウェア要素を用いて実装されるかについて決定することは、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、及び、他の設計制約又は性能制約等の任意の数のファクタに従って、所与の例のために必要に応じて、変わり得る。
【００６０】
いくつかの例において、他のプラットフォームコンポーネント１１５０は、１以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、オシレータ、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント（例えば、デジタルディスプレイ）、電源等の共通コンピューティング要素を含み得る。メモリユニットの例は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラム可能なＲＯＭ（ＰＲＯＭ）、消去可能なプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、強誘電性高分子メモリ等の高分子メモリ、オボニックメモリ、相変化メモリ、強誘電性メモリ、ＳＯＮＯＳ（silicon-oxide-nitride-oxide-silicon）メモリ、磁気カード、光カード、ＲＡＩＤ（redundant  array  of  independent  disks）ドライブ等のデバイスのアレイ、ソリッドステートメモリデバイス（例えば、ＵＳＢメモリ）、ソリッドステートドライブ（ＳＳＤ）、及び、情報を記憶するのに適した任意の他のタイプの記憶媒体等の、１以上の高速メモリユニットの形態の様々なタイプのコンピュータ読み取り可能な記憶媒体及び機械読み取り可能な記憶媒体を含み得るが、これらに限定されるものではない。
【００６１】
いくつかの例において、通信インタフェース１１６０は、通信インタフェースをサポートするロジック及び／又は機能を含み得る。このような例に関して、通信インタフェース１１６０は、直接通信リンク又はネットワーク通信リンクを介して通信するための様々な通信プロトコル又は通信規格に従って動作する１以上の通信インタフェースを含み得る。直接通信は、ＰＣＩｅ仕様に関連するもの等の１以上の業界規格（後継版及び派生版を含む）で説明されている通信プロトコル又は通信規格の使用を介して生じ得る。ネットワーク通信は、ＩＥＥＥにより公開された１以上のＥｔｈｅｒｎｅｔ（登録商標）規格において説明されているもの等の通信プロトコル又は通信規格の使用を介して生じ得る。例えば、そのような１つのＥｔｈｅｒｎｅｔ（登録商標）規格は、ＩＥＥＥ８０２．３を含み得る。ネットワーク通信はまた、ＯｐｅｎＦｌｏｗ（登録商標）  Ｈａｒｄｗａｒｅ  Ａｂｓｔｒａｃｔｉｏｎ  ＡＰＩ仕様等の１以上のＯｐｅｎＦｌｏｗ（登録商標）仕様に従って生じ得る。ネットワーク通信はまた、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様に従って生じ得る。
【００６２】
上述したように、コンピューティングプラットフォーム１１００は、サーバコンピューティングデバイス又はクライアントコンピューティングデバイスにおいて実装され得る。したがって、本明細書で説明したコンピューティングプラットフォーム１１００の機能及び／又は特定の構成は、サーバコンピューティングデバイス又はクライアントコンピューティングデバイスのために、適切に必要に応じて、コンピューティングプラットフォーム１１００の様々な実施形態に含まれてもよいし、コンピューティングプラットフォーム１１００の様々な実施形態から除去されてもよい。
【００６３】
コンピューティングプラットフォーム１１００のコンポーネント及び機能は、ディスクリート回路、特定用途向け集積回路（ＡＳＩＣ）、論理ゲート、及び／又はシングルチップアーキテクチャの任意の組合せを用いて実装することができる。さらに、コンピューティングプラットフォーム１１００の機能は、マイクロコントローラ、プログラマブル論理アレイ、及び／若しくはマイクロプロセッサ、又は、適切に必要に応じて前述の任意の組合せを用いて実装することができる。ハードウェア要素、ファームウェア要素、及び／又はソフトウェア要素が、集合的又は個別的に、本明細書において、「ロジック（論理）」又は「回路」と呼ばれ得ることに留意されたい。
【００６４】
図１１のブロック図に示される例示的なコンピューティングプラットフォーム１１００は、多くの可能な実装のうちの機能的に説明するための一例を表していることを理解すべきである。したがって、添付の図面に示されるブロックの機能の分割、省略、又は含有は、ハードウェアコンポーネント、回路、ソフトウェア、及び／又は、このような機能を実装するための要素が、実施形態において、必ず、分割される、省略される、あるいは含まれることを示すものではない。
【００６５】
少なくとも１つの例の１以上の態様は、プロセッサにおける様々なロジックを表現する、少なくとも１つの機械読み取り可能な媒体に記憶された表現命令により実装され得る。この命令が、機械、コンピューティングデバイス、又はコンピューティングシステムにより読み出されたときに、この命令は、機械、コンピューティングデバイス、又はコンピューティングシステムに、本明細書で説明した技術を実行するロジックを組み立てさせる。「ＩＰコア」として知られているそのような表現は、有体の機械読み取り可能な媒体に記憶され、実際にロジック又はプロセッサを製造する製造機械にロードするために様々な顧客又は製造施設に供給され得る。
【００６６】
様々な例は、ハードウェア要素、ソフトウェア要素、又はそれら両方の組合せを用いて実装することができる。いくつかの例において、ハードウェア要素は、デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、回路素子（例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含み得る。いくつかの例において、ソフトウェア要素は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組合せを含み得る。例が、ハードウェア要素及び／又はソフトウェア要素を用いて実装されるかについて決定することは、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、及び、他の設計制約又は性能制約等の任意の数のファクタに従って、所与の例のために必要に応じて、変わり得る。
【００６７】
いくつかの例は、製品又は少なくとも１つのコンピュータ読み取り可能な媒体を含み得る。コンピュータ読み取り可能な媒体は、ロジックを記憶する非一時的な記憶媒体を含み得る。いくつかの例において、非一時的な記憶媒体は、揮発性メモリ、不揮発性メモリ、取り外し可能なメモリ、取り外し不可能なメモリ、消去可能なメモリ、消去不可能なメモリ、書き込み可能なメモリ、再書き込み可能なメモリ等を含む、電子的データを記憶することができる１以上のタイプのコンピュータ読み取り可能な記憶媒体を含み得る。いくつかの例において、ロジックは、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、ＡＰＩ、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組合せ等の様々なソフトウェア要素を含み得る。
【００６８】
いくつかの例に従うと、コンピュータ読み取り可能な媒体は、命令を記憶又は保持する非一時的な記憶媒体を含み得る。この命令が、機械、コンピューティングデバイス、又はコンピューティングシステムにより実行されたときに、この命令は、機械、コンピューティングデバイス、又はコンピューティングシステムに、説明した例に従って、方法及び／又はオペレーションを実行させる。命令は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能なコード、静的コード、動的コード、及び同様のもの等の任意の適切なタイプのコードを含み得る。命令は、所定の機能を実行するよう機械、コンピューティングデバイス、又はコンピューティングシステムに指示するために、所定のコンピュータ言語、方法、又はシンタックスに従って実装され得る。命令は、任意の適切な高水準プログラミング言語、低水準プログラミング言語、オブジェクト指向プログラミング言語、ビジュアルプログラミング言語、コンパイル済みプログラミング言語、及び／又は解釈済みプログラミング言語を用いて実装され得る。
【００６９】
いくつかの例は、「一例において」又は「一例」という表現とともにそれらの派生表現を用いて説明されているかもしれない。これらの用語は、その例に関連して説明される特定の特徴、構造、又は特性が、少なくとも１つの例に含まれることを意味する。本明細書の様々な箇所における「一例において」という語句の出現は、必ずしも全て同じ例を指しているわけではない。
【００７０】
いくつかの例は、「結合されている」及び「接続されている」という表現とともにそれらの派生表現を用いて説明されているかもしれない。これらの用語は、必ずしも、互いに対する同義語として意図されるものではない。例えば、「結合されている」及び／又は「接続されている」という用語を用いた説明は、２以上の要素が、互いに直接的に物理的に接触している、あるいは互いに直接的に電気的に接触していることを示し得る。しかしながら、「結合されている」という用語はまた、２以上の要素が、互いに直接的に接触してはいないが、それでも互いと協働している、あるいは互いとインタラクトしていることも意味し得る。
【００７１】
以下の例は、本明細書で説明した技術のさらなる例に関する。
【００７２】
例１．例示的な装置は、ネットワークファブリックのファブリックマネージャノードのための回路を含み得る。当該装置は、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するための、前記回路により実行される時間期間コンポーネントをさらに含み得る。当該装置は、前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成するための、前記回路により実行されるコマンドコンポーネントをさらに含み得る。当該装置は、前記ノードのうちの前記一部の全ノードが、前記の決定されたノードごとの別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定するための、前記回路により実行される時間間隔コンポーネントをさらに含み得る。当該装置は、前記時間間隔に基づいてタイムスタンプを生成するための、前記回路により実行されるタイムスタンプコンポーネントをさらに含み得る。当該装置は、前記１以上のパケットを前記ノードのうちの前記一部に対して送信するための、前記回路により実行される送信コンポーネントをさらに含み得る。前記送信コンポーネントは、前記１以上のパケットの少なくとも１つに前記タイムスタンプを含めることができる。前記タイムスタンプは、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示すことができる。
【００７３】
例２．前記時間期間コンポーネントは、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づいて、前記のノードごとの別々の時間期間を決定することができる、例１の装置。
【００７４】
例３．前記コマンドは、再構成コマンドを含む、例１の装置。
【００７５】
例４．前記再構成コマンドは、前記ノードのうちの前記一部のうちの第１のノードと第２のノードとの間をフローするデータトラフィックのためのルーティング情報又はＱｏＳレベルを変更して、前記第１のノードと前記第２のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含む、例３の装置。
【００７６】
例５．前記異なるリンクは、前記第１のノードと前記第２のノードとの間の１以上の仮想チャネルを含み得る、例４の装置。
【００７７】
例６．前記再構成コマンドを含む前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み得る、例３の装置。
【００７８】
例７．前記１以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例６の装置。
【００７９】
例８．前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、ＩＥＥＥ１５８８−２００８に関連する１以上の規格又は仕様に従って動作するよう構成することができる、例１の装置。前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記ＩＥＥＥ１５８８−２００８に従って、ネットワーク時間同期を維持することができる。
【００８０】
例９．前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成することができる、例１の装置。前記コマンドコンポーネントは、ＭＡＤフォーマットで、前記コマンドを含む１以上のパケットを生成することができる。
【００８１】
例１０．前記時間期間コンポーネントは、各ノードが、前記ファブリックマネージャノードから前記ＭＡＤフォーマットの１以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づいて、前記別々の時間期間を決定することができる、例９の装置。
【００８２】
例１１．ユーザインタフェースビューを提示するために前記回路に結合されているデジタルディスプレイをさらに含み得る、例１の装置。
【００８３】
例１２．例示的な方法は、ネットワークファブリックのファブリックマネージャノードにおいて、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するステップを含み得る。当該例示的な方法は、前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成するステップをさらに含み得る。当該例示的な方法は、前記ノードのうちの前記一部の全ノードが、前記の決定されたノードごとの別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定するステップをさらに含み得る。当該例示的な方法は、前記時間間隔に基づいてタイムスタンプを生成するステップをさらに含み得る。当該例示的な方法は、前記１以上のパケットの少なくとも１つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めて、前記１以上のパケットを前記ノードのうちの前記一部に対して送信するステップをさらに含み得る。
【００８４】
例１３．前記のノードごとの別々の時間期間を決定することは、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づいて、ノードごとの別々の時間期間を決定することを含み得る、例１２の方法。
【００８５】
例１４．前記コマンドは、再構成コマンドを含み得る、例１２の方法。
【００８６】
例１５．前記再構成コマンドは、前記ノードのうちの前記一部のうちの第１のノードと第２のノードとの間をフローするデータトラフィックのためのルーティング情報又はＱｏＳレベルを変更して、前記第１のノードと前記第２のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例１４の方法。
【００８７】
例１６．前記異なるリンクは、前記第１のノードと前記第２のノードとの間の１以上の仮想チャネルを含み得る、例１５の方法。
【００８８】
例１７．前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを有する前記再構成コマンドを含み得る、例１４の方法。
【００８９】
例１８．前記１以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例１７の方法。
【００９０】
例１９．前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、ＩＥＥＥ１５８８−２００８に関連する１以上の規格又は仕様に従って動作するよう構成することができる、例１２の方法。前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記ＩＥＥＥ１５８８−２００８に従って、ネットワーク時間同期を維持することができる。
【００９１】
例２０．前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成することができる、例１２の方法。前記コマンドのための前記１以上のパケットは、１以上のＭＡＤとしてフォーマット化することができる。
【００９２】
例２１．前記のノードごとの別々の時間期間は、各ノードが、前記ファブリックマネージャノードからＭＡＤフォーマットの１以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づいて決定することができる、例１２の方法。
【００９３】
例２２．例示的な少なくとも１つの機械読み取り可能な媒体は、サーバにおけるシステムにより実行されたことに応じて、前記システムに、例１２乃至２１のうちのいずれか１つの方法を実行させる複数の命令を含み得る。
【００９４】
例２３．例示的な装置は、例１２乃至２１のうちのいずれか１つの方法を実行する手段を含み得る。
【００９５】
例２４．例示的な少なくとも１つの機械読み取り可能な媒体は、ネットワークファブリックのためのファブリックマネージャノードにおけるシステムにより実行されたことに応じて、前記システムに、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定させることができる複数の命令を含み得る。前記複数の命令は、前記システムに、さらに、前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む１以上のパケットを生成させることができる。前記複数の命令は、前記システムに、さらに、前記ノードのうちの前記一部の全ノードが、前記の決定された別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定させることができる。前記複数の命令は、前記システムに、さらに、前記時間間隔に基づいてタイムスタンプを生成させ、前記１以上のパケットの少なくとも１つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めさせて、前記１以上のパケットを前記ノードのうちの前記一部に対して送信させることができる。
【００９６】
例２５．前記別々の時間期間は、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づいて、ノードごとに決定することができる、例２４の少なくとも１つの機械読み取り可能な媒体。
【００９７】
例２６．前記コマンドは、再構成コマンドを含み得る、例２４の少なくとも１つの機械読み取り可能な媒体。
【００９８】
例２７．前記再構成コマンドは、前記ノードのうちの前記一部のうちの第１のノードと第２のノードとの間をフローするデータトラフィックのためのルーティング情報又はＱｏＳレベルを変更して、前記第１のノードと前記第２のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例２６の少なくとも１つの機械読み取り可能な媒体。
【００９９】
例２８．前記異なるリンクは、前記第１のノードと前記第２のノードとの間の１以上の仮想チャネルを含み得る、例２７の少なくとも１つの機械読み取り可能な媒体。
【０１００】
例２９．前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む再構成コマンドを含み得る、例２４の少なくとも１つの機械読み取り可能な媒体。
【０１０１】
例３０．前記１以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例２９の少なくとも１つの機械読み取り可能な媒体。
【０１０２】
例３１．前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、ＩＥＥＥ１５８８−２００８に関連する１以上の規格又は仕様に従って動作するよう構成することができ、前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記ＩＥＥＥ１５８８−２００８に従って、ネットワーク時間同期を維持することができる、例２４の少なくとも１つの機械読み取り可能な媒体。
【０１０３】
例３２．前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成することができる、例２４の少なくとも１つの機械読み取り可能な媒体。この例では、前記コマンドを含む前記１以上のパケットは、１以上のＭＡＤとしてフォーマット化することができる。
【０１０４】
例３３．前記の決定されたノードごとの別々の時間期間は、各ノードが、前記ファブリックマネージャノードからＭＡＤフォーマットの１以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づいて決定することができる、例２４の少なくとも１つの機械読み取り可能な媒体。
【０１０５】
例３４．例示的な装置は、ネットワークファブリック内のノードのための回路を含み得る。当該装置は、コマンドを含む１以上のパケットを受信するための、前記回路により実行される受信コンポーネントをさらに含み得る。当該装置は、前記１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の１以上の他のノードとの、前記コマンドを実行する同期時間を決定するための、前記回路により実行される同期コンポーネントをさらに含み得る。当該装置は、前記同期時間に達したことに応じて前記コマンドを実行するための、前記回路により実行されるコマンドコンポーネントをさらに含み得る。
【０１０６】
例３５．前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み得る、例３４の装置。
【０１０７】
例３６．前記再構成コマンドは、実行されたときに、前記コマンドコンポーネントが、前記ネットワークファブリック内で前記ノードと前記１以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はＱｏＳレベルを変更して、前記ノードと前記１以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例３５の装置。
【０１０８】
例３７．前記異なるリンクは、前記ノードと前記１以上の他のノードとの間の１以上の仮想チャネルを含み得る、例３６の装置。
【０１０９】
例３８．前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む前記再構成コマンドを含み得る、例３５の装置。
【０１１０】
例３９．前記１以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例３８の装置。
【０１１１】
例４０．前記ノードは、ＩＥＥＥ１５８８−２００８に関連する１以上の規格又は仕様に従って動作するよう構成することができる、例３４の装置。この例では、前記ノードは、前記ＩＥＥＥ１５８８−２００８に従って、前記１以上の他のノードとのネットワーク時間同期を維持することができる。
【０１１２】
例４１．前記ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成することができる、例３４の装置。この例では、前記コマンドを含む前記１以上のパケットは、１以上のＭＡＤとすることができる。
【０１１３】
例４２．ユーザインタフェースビューを提示するために前記回路に結合されているデジタルディスプレイをさらに含み得る、例３４の装置。
【０１１４】
例４３．例示的な方法は、ネットワークファブリック内のノードにおいて、コマンドを含む１以上のパケットを受信するステップを含み得る。当該方法は、前記１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の１以上の他のノードとの、前記コマンドを実行する同期時間を決定するステップをさらに含み得る。当該方法は、前記同期時間に達したことに応じて前記コマンドを実行するステップをさらに含み得る。
【０１１５】
例４４．前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み得る、例４３の方法。
【０１１６】
例４５．前記再構成コマンドは、前記ネットワークファブリック内で前記ノードと前記１以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はＱｏＳレベルを変更して、前記ノードと前記１以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例４４の方法。
【０１１７】
例４６．前記異なるリンクは、前記ノードと前記１以上の他のノードとの間の１以上の仮想チャネルを含み得る、例４５の方法。
【０１１８】
例４７．前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む前記再構成コマンドを含み得る、例４４の方法。
【０１１９】
例４８．前記１以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例４７の方法。
【０１２０】
例４９．前記ノードは、ＩＥＥＥ１５８８−２００８に関連する１以上の規格又は仕様に従って動作するよう構成することができる、例４３の方法。この例では、前記ノードは、前記ＩＥＥＥ１５８８−２００８に従って、前記１以上の他のノードとのネットワーク時間同期を維持することができる。
【０１２１】
例５０．前記ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成することができる、例４３の方法。この例では、前記コマンドを含む前記１以上のパケットは、１以上のＭＡＤとすることができる。
【０１２２】
例５１．例示的な少なくとも１つの機械読み取り可能な媒体は、サーバにおけるシステムにより実行されたことに応じて、前記システムに、例４３乃至５０のうちのいずれか１つの方法を実行させることができる複数の命令を含み得る。
【０１２３】
例５２．例示的な装置は、例４３乃至５０のうちのいずれか１つの方法を実行する手段を含み得る。
【０１２４】
例５３．例示的な少なくとも１つの機械読み取り可能な媒体は、ネットワークファブリック内のノードにおけるシステムにより実行されたことに応じて、前記システムに、コマンドを含む１以上のパケットを受信させることができる複数の命令を含み得る。前記複数の命令は、前記システムに、さらに、前記１以上のパケットの少なくとも１つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の１以上の他のノードとの、前記コマンドを実行する同期時間を決定させることができる。前記複数の命令は、前記システムに、さらに、前記同期時間に達したことに応じて前記コマンドを実行させることができる。
【０１２５】
例５４．前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み得る、例５３の少なくとも１つの機械読み取り可能な媒体。
【０１２６】
例５５．前記再構成コマンドは、前記ネットワークファブリック内で前記ノードと前記１以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はＱｏＳレベルを変更して、前記ノードと前記１以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例５４の少なくとも１つの機械読み取り可能な媒体。
【０１２７】
例５６．前記異なるリンクは、前記ノードと前記１以上の他のノードとの間の１以上の仮想チャネルを含み得る、例５５の少なくとも１つの機械読み取り可能な媒体。
【０１２８】
例５７．前記再構成コマンドを含む前記１以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み得る、例５４の少なくとも１つの機械読み取り可能な媒体。
【０１２９】
例５８．前記１以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例５７の少なくとも１つの機械読み取り可能な媒体。
【０１３０】
例５９．前記ノードは、ＩＥＥＥ１５８８−２００８に関連する１以上の規格又は仕様に従って動作するよう構成することができ、前記ノードは、前記ＩＥＥＥ１５８８−２００８に従って、前記１以上の他のノードとのネットワーク時間同期を維持することができる、例５３の少なくとも１つの機械読み取り可能な媒体。
【０１３１】
例６０．前記ノードは、Ｉｎｆｉｎｉｂａｎｄアーキテクチャ仕様、第１巻、リリース１．２．１を含むＩｎｆｉｎｉｂａｎｄ仕様に関連する１以上の仕様又は規格に従って動作するよう構成することができる、例５３の少なくとも１つの機械読み取り可能な媒体。この例では、前記コマンドを含む前記１以上のパケットは、１以上のＭＡＤとすることができる。
【０１３２】
読者が技術的な開示内容の本質を迅速に確認できるようにする要約を求める３７Ｃ．Ｆ．Ｒセクション１．７２（ｂ）に従うよう本開示の要約が提供されていることを強調する。請求項の範囲又は意味を限定又は解釈するためには使用されないという理解の下で、要約は提出されている。加えて、上記の発明を実施するための形態において、様々な特徴が、本開示を簡素化するために、単一の例に一緒にグループ化されていることを理解できるであろう。開示の本方法は、特許請求される例が、各請求項において明示的に記載されるものよりも多くの特徴を必要とするという意図を示すものとして解釈されるべきでない。そうではなく、請求項が示すように、創造的な主題は、単一の開示した例の全ての特徴よりも少ない特徴を含む。したがって、請求項は、発明を実施するための形態に組み込まれ、各請求項は、それ自身、別々の例として独立している。特許請求の範囲において、「including（含む、有する、備える）」及び「in  which（ここで）」という用語は、それぞれ「comprising（含む、有する、備える）」及び「wherein（ここで）」という用語のわかりやすい英語の均等語として使用される。さらに、「第１の」、「第２の」、「第３の」等という用語は、単にラベルとして使用されており、その対象に対して数字的な要件を課すことを意図するものではない。
【０１３３】
構造的特徴及び／又は方法論的動作に特有の言葉で主題について説明したが、特許請求の範囲において定められる主題は、上述した特定の特徴又は動作に必ずしも限定されないことを理解すべきである。そうではなく、上述した特定の特徴及び動作は、請求項を実施する例示的な形態として開示されている。
【図１】
2016119654.tif 000003
【図２】
2016119654.tif 000004
【図３】
2016119654.tif 000005
【図４】
2016119654.tif 000006
【図５】
2016119654.tif 000007
【図６】
2016119654.tif 000008
【図７】
2016119654.tif 000009
【図８】
2016119654.tif 000010
【図９】
2016119654.tif 000011
【図１０】
2016119654.tif 000012
【図１１】
2016119654.tif 000013
【外国語明細書】
2016119654000001.pdf
2016119654000002.pdf
2016119654000003.pdf
2016119654000004.pdf