JP6174101B2 - ネットワークファブリックノードにおけるコマンドの同期実行のための技術 - Google Patents

ネットワークファブリックノードにおけるコマンドの同期実行のための技術 Download PDF

Info

Publication number
JP6174101B2
JP6174101B2 JP2015227798A JP2015227798A JP6174101B2 JP 6174101 B2 JP6174101 B2 JP 6174101B2 JP 2015227798 A JP2015227798 A JP 2015227798A JP 2015227798 A JP2015227798 A JP 2015227798A JP 6174101 B2 JP6174101 B2 JP 6174101B2
Authority
JP
Japan
Prior art keywords
node
command
nodes
time
fabric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015227798A
Other languages
English (en)
Other versions
JP2016119654A (ja
Inventor
ウェイニー アイラ
ウェイニー アイラ
アール. カルボナリ スティーヴン
アール. カルボナリ スティーヴン
ダブリュー. ミン アレグザンダー
ダブリュー. ミン アレグザンダー
ユエン シー. タイ ツン
ユエン シー. タイ ツン
スケリー ブライアン
スケリー ブライアン
コナー パトリック
コナー パトリック
Original Assignee
インテル コーポレイション
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2016119654A publication Critical patent/JP2016119654A/ja
Application granted granted Critical
Publication of JP6174101B2 publication Critical patent/JP6174101B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/023Delayed use of routing table updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Quality & Reliability (AREA)

Description

本明細書で説明する例は、一般に、ネットワークファブリック(network fabric)に関する。
ネットワークファブリックは、複数の相互接続ノードを含み得る。これらのノードは、コンピュートノード及び/又はスイッチノードを含み得、様々なトポロジにおいて配置され得る。様々なトポロジ又はレイアウトは、数個からおそらくは数万個ものノードを含み得る。ファブリックマネージャコントローラが、ネットワークファブリック内のノード間のリンク及び/又はパスを管理又は制御するために、ネットワークファブリック内のノードのうちの少なくとも1つによりホストされ得る。ファブリックマネージャコントローラをホストするノードは、ファブリックマネージャノードと呼ばれることがあり、このファブリックマネージャノードは、ノードに、ネットワークファブリックを介してデータトラフィックを受信、処理、又は送信するためのそれぞれのノードの構成の少なくともいくつかの態様を再構成させることができる管理コマンドを、ネットワークファブリック内のノードに送信することができる。
例示的なシステムを示す図。 例示的な第1の時間図。 例示的な第2の時間図。 例示的なパケットフォーマットを示す図。 第1の装置の例示的なブロック図。 第1の論理フローの例を示す図。 第1の記憶媒体の例を示す図。 第2の装置の例示的なブロック図。 第2の論理フローの例を示す図。 第2の記憶媒体の例を示す図。 例示的なコンピューティングプラットフォームを示す図。
本開示で記載されているように、ネットワークファブリックのためのファブリックマネージャノードは、ネットワークファブリック内のノードに再構成させることができる管理コマンドを、そのようなノードに送信することができる。現在の実装は、ファブリックマネージャノードが、ノードに再構成させるコマンドを含むパケットを各ノードに個々に送信することを含み得る。このようなコマンドは、並列に送信され得るが、ネットワークファブリック内のネットワークトラフィック及び固有のレイテンシに加えて、送信され得る複数の並列コマンドにおける可能性のある制限が、複数のノードによりコマンドを異なる時間に受信させ得る。
ファブリックマネージャノードからコマンドを異なる時間に受信することは、ノードが、コマンドを実行して予測できない時間に再構成することをもたらし得る。例えば、ファブリックマネージャノードから複数の中間ノードとして位置するノードは、ファブリックマネージャノードのより近くに位置するノードよりも、相対的に長い時間を要してコマンドを受信し得る。また、いくつかの中間ノードにおけるネットワークトラフィック輻輳は、所与のノードがファブリックマネージャノードの相対的に近くにある場合でも、コマンドの配信を遅延させ得る。各ノードの再構成の予測できない時間は、ネットワークファブリックが完全には構成されない時間期間をもたらし得る。完全には構成されない状態は、データ損失、又は、おそらくは、ネットワークファブリックの少なくとも諸部分のシステムリセットを必要とし得るデッドロック状態をもたらし得る。本明細書で説明する例が必要とされるのは、このような問題に対処するためである。
いくつかの第1の例に従うと、ネットワークファブリックノードにおけるコマンドの同期実行のための技術は、ネットワークファブリックのためのファブリックマネージャノードにおいて、ファブリックマネージャノードに結合されているノードごとの、ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定することを含み得る。この技術は、ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成することをさらに含み得る。この技術は、ノードのうちの一部の全ノードが、決定されたノードごとの別々の時間期間に基づいて、コマンドを受信して実行するために必要とされる時間間隔を決定することと、時間間隔に基づいてタイムスタンプを生成することと、をさらに含み得る。この技術は、1以上のパケットの少なくとも1つに、ノードのうちの一部がコマンドを実行する同期時間を示すタイムスタンプを含めて、1以上のパケットをノードのうちの一部に対して送信することをさらに含み得る。
いくつかの第2の例において、ネットワークファブリックノードにおけるコマンドの同期実行のための技術は、ネットワークファブリック内のノードにおいて、コマンドを含む1以上のパケットを受信することを含み得る。この技術は、1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、ネットワークファブリック内の1以上の他のノードとの、コマンドを実行する同期時間を決定することをさらに含み得る。この技術は、同期時間に達したことに応じてコマンドを実行することをさらに含み得る。
図1は、例示的なシステム100を示している。いくつかの例において、図1に示されるように、システム100は、ファブリック105を含む。このような例に関して、ファブリック105は、図1において、コンピュートノード110−1、110−2、110−3、及び110−nを含むものとして示されている。ここで、「n」は、4以上の任意の正の全整数である。いくつかの例に従うと、図1に示されるように、ファブリック105内のノード110−1〜110−nは、ローカルスイッチ125及び/又は大型ファブリックセクション135を介して相互接続され得る。ローカルスイッチ125は、ノード110−1及び110−2の両方に直接結合され得るのに対し、ノード110−3及び110−nは、大型ファブリックセクション135及びローカルスイッチ125を介して、他のノードに結合し得る。大型ファブリックセクション135は、1以上の中間ノードを含み得、データトラフィックは、そのような中間ノードを経由して、大型ファブリックセクション135に結合されているノードに到達するよう移動し得る。
いくつかの例において、ファブリックマネージャ(FM)コントローラは、図1に示されるノード110−1等のコンピュートノードによりホスト及び/又はサポートされ得る。このような例に関して、ノード110−1は、ファブリック105のためのファブリックマネージャノードとして機能するよう構成することができ、ノード110−2、110−3、及び110−nは、ファブリック105を介してデータトラフィックを受信、処理、又は送信することができるコンピュートノードとして機能するよう構成することができる。
いくつかの例に従うと、図1に示されるように、ノード110−2は、ローカルスイッチ125を介してファブリック105に結合される。このような例に関して、ノード110−2は、ファブリックマネージャノード110−1から、コマンドを含む1以上のパケットを受信することができ、ローカルスイッチ125及び大型ファブリックセクション135の両方を介してファブリックマネージャノード110−1に結合されているノード110−3及び110−nよりも早くコマンドを実施又は実行することができる。前述したように、大型ファブリックセクション135は、複数の中間ノードを含み得る。これら複数の中間ノードは、ファブリックマネージャノード110−1とノード110−2との間のより直接的なルートと比較すると、ノード110−3又は110−nへの、コマンドを含む1以上のパケットの配信を遅延させ得る。
いくつかの例において、1以上のパケットに含まれるコマンドは、再構成コマンドを含み得る。再構成コマンドは、ファブリック105の2以上のノード間をフローするデータトラフィックのためのサービス品質(QoS)レベルを変更するためのものであり得、それら2以上のノード間における異なるリンクを介するデータトラフィックのフローを再構成する。このような例に関して、異なるリンクは、それら2以上のノード間の1以上の仮想チャネルを含み得、データトラフィックのフローは、それら2以上のノード間において、このような仮想チャネルを介して進む。
いくつかの例に従うと、1以上のパケットに含まれるコマンドは、2以上のノード間においてデータパケットが進むルート又はパスを変更するための再構成コマンドを含み得る。このような例に関して、ルート変更は、各ノードが、ルーティングテーブル、又は、ファブリック105の少なくとも諸部分を介してデータパケットを送信、受信、又は転送するために使用される他のルーティング情報を更新することをもたらし得る。
いくつかの例に従うと、QoSレベル、1以上の仮想チャネルを含む異なるリンク、又はルーティングテーブルは、2007年11月に公開されたInfinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って構成することができる。また、ファブリック105及びノード110−1〜110−nは、Infinibandアーキテクチャ仕様に従って動作するよう構成することができる。このような例に関して、ファブリックマネージャノード110−1から送信される再構成コマンドを含む1以上のパケットは、Infinibandアーキテクチャ仕様において説明されている管理データグラム(MAD:management datagram)としてフォーマット化することができる。本開示は、MADを用いて送信される再構成コマンドに限定されるものではなく、他の規格及び仕様に関連付けられた他のフォーマット又はプロプライエタリファブリックも意図されている。
いくつかの例において、以下でさらに説明するように、1以上のMADは、ファブリック105のノードが、同期時間(synchronized time)に再構成することを可能にするタイムスタンプ情報を含み得、これは、各ノードが、ファブリックマネージャノード110−1から送信された1以上のMADを受信して、コマンドを同時期間に実行するための十分な時間を可能にする。このような例に関して、ノード110−1〜110−nは、2008年7月に公開されたIEEE1588−2008を含むIEEE1588規格に関連する1以上の規格又は仕様に従って動作するよう構成することができる。ノード110−1〜110−nは、IEEE1588に従って、1以上の他のノードとの正確なネットワーク時間同期を維持することができる。本開示は、IEEE1588のみに従ったネットワーク時間同期に限定されるものではなく、ネットワーク同期のための他の方法又は技術も意図されている。
図2は、例示的な第1の時間図を示している。図2に示されるように、第1の時間図は、時間図200を含む。図2に示される時間図200は、ファブリック105のファブリックマネージャノード110−1による、時間Txにおける、ノード110−2及び110−3両方への再構成コマンドを含む(例えば、MADとしてフォーマット化されている)1以上のパケットの送信に基づく再構成の相対時間の例を表す。Tx+yにおける破線は、ノード110−2が1以上のパケットを受信して再構成コマンドを実行する第1の時間を表し、T110−2は、ファブリックマネージャ110−1が、ノード110−2から、再構成の完了の通知を受信する第2の時間を示す。Tx+zにおける別の破線は、ノード110−3が1以上のパケットを受信して再構成コマンドを実行する第3の時間を表し、T110−3は、ファブリックマネージャ110−1が、ノード110−3から、再構成の完了の通知を受信する第4の時間を示す。
いくつかの例に従うと、図2における2つの破線間の時間量は、ファブリック105が未知の状態又は構成にあり得る時間の期間を表し得る。したがって、このような例に関して、時間Tx+yからTx+zまで(2つの破線間の時間)のファブリック105は、古い構成又は新たな構成のいずれにも完全には構成されていないことがある。
いくつかの例において、ばらついた再構成時間又は異なる再構成時間は、大型ファブリックセクション135に含まれる中間ノードの観点からすると、問題があり得る。このような例に関して、ノード110−2からノード110−3にフローするパケットが通過する中間ノードは、大型ファブリックセクション135内におけるパス変更又はルート変更を要求することがある。2つの破線間の時間の間、ノード110−2からフローするパケットは、ノード110−3に到達しないことがある。なぜならば、大型ファブリックセクション135内の中間ノードは、(例えば、ルーティングテーブルに保持されている)間違った(古い)ルーティング情報に従って、パケットを転送していることがあるからである。間違った(古い)ルーティング情報に起因してノード110−3に到達しないことは、デッドロックをもたらし得る。デッドロックは、ノード110−2又は110−3で実行されているアプリケーションを機能させなくすることがある。また、デッドロックは、ファブリック105の少なくとも一部が、デッドロックを取り除くためにリセットされなければならないことをもたらし得る。異なる再構成時間に起因してファブリック105の一部又は全てをリセットすることは、望ましくない高ジッタ量をもたらし得る。
図3は、例示的な第2の時間図を示している。図3に示されるように、第2の時間図は、時間図300を含む。いくつかの例において、図3に示される時間図300は、ファブリック105のファブリックマネージャノード110−1による、時間Txにおける、ノード110−2及び110−3両方への再構成コマンドを含む(例えば、MADとしてフォーマット化されている)1以上のパケットの送信に基づく同期再構成(synchronized reconfiguration)の例を表す。このような例に関して、ファブリックマネージャノード110−1におけるロジック及び/又は機能は、1以上のパケットの少なくとも1つにタイムスタンプを含めることができる。このタイムスタンプにより、ノード110−2及び110−3におけるロジック及び/又は機能は、再構成コマンドを実行する同期時間を決定することが可能になる。
いくつかの例において、ファブリックマネージャノード110−1は、Infinibandアーキテクチャ仕様に従って動作することができ、ファブリックマネージャノード110−1のロジック及び/又は機能は、ノード110−2、ノード110−3、又はノード110−n等のファブリック105の各ノードが、ファブリックマネージャノード110−1から送信された所与のコマンドを受信して実行するための別々の時間期間を決定することができる。このような例に関して、ノードごとの別々の時間期間は、各ノードが、ファブリックマネージャノード110−1から(例えば、1以上のMADを用いて送信された)所与のコマンドを受信してそのようなコマンドに応答した管理タイムアウト及び応答時間(management timeout and response time)値に少なくとも部分的に基づき得る。
いくつかの例に従うと、ファブリックマネージャノード110−1は、ファブリック105の、ノード110−2及び110−3を含む少なくとも一部を、同期させた形で再構成することができる。このような例に関して、ファブリックマネージャノード110−1のロジック及び/又は機能は、再構成コマンドを含む1以上のパケットを生成することができる。ファブリックマネージャノード110−1のロジック及び/又は機能は、ノード110−2及び110−3の両方が、上述した、ノード110−2及び110−3の各々の決定された別々の時間期間に基づいて、再構成コマンドを受信して実行するために必要とされる時間間隔を決定することができる。次いで、このロジック及び/又は機能は、この時間間隔に基づいてタイムスタンプを生成することができ、次いで、1以上のパケットをノード110−2及び110−3に送信することができる。図3に示されるように、いくつかの例において、タイムスタンプは、1以上のパケットの少なくとも1つに含まれ得、ノード110−2及び110−3が再構成コマンドを実行する同期時間を示すことができる。ファブリック105のノードの同期は、ノード110−2及び110−3が同期された形で再構成コマンドを実行することを確実にするために、IEEE1588に従って維持され得る。
いくつかの例において、ノード110−2又は110−3におけるロジック及び/又は機能は、再構成コマンドを含む1以上のパケットと、1以上のパケットの少なくとも1つに含まれるタイムスタンプと、を受信することができる。このような例に関して、図3に示されるように、次いで、ノード110−2及び110−3は、再構成コマンドにより示される新たな構成を記憶又はキャッシュすることができる。ノード110−2及び110−3は、再構成コマンドを受信したというそれぞれの通知を送信することができ、ファブリックマネージャノード110−1は、T110−2及びT110−3においてそれぞれ、それらの通知を受信することができる。次いで、ノード110−2及び110−3におけるロジック及び/又は機能は、タイムスタンプを使用して、再構成コマンドを実行する同期時間を決定し、次いで、図3における破線により示されるTrにおいて、新たな構成を実行することができる。
いくつかの例に従うと、ファブリックマネージャノード110−1におけるロジック及び/又は機能は、ノード110−2及び110−3におけるロジック及び/又は機能により認識されるインジケーションであって、同期再構成が生じるべきであるというインジケーションを、再構成コマンドを含む1以上のパケットに含めることができる。すなわち、このインジケーションは、ノード110−2及び110−3におけるロジック及び/又は機能に、同期時間に達するまで再構成を遅延させることができる。この遅延の間、再構成に関わる情報を含む各パケットは、ノード110−2及び110−3により受信されたまま記憶又はキャッシュされ得る。いくつかの例において、タイムスタンプは、1以上のパケットの最後のパケットまで含まれなくてもよい。最後のパケットにタイムスタンプを含めることにより、ファブリックマネージャノード110−1は、タイムスタンプを含む最後のパケットがノード110−2及び110−3に送信される前にエラーが生じた場合に、再構成を中止することが可能になる。また、タイムスタンプは、タイムスタンプ自身のパケットに含まれてもよいし、再構成情報のペイロードも含むパケットに含まれてもよい。
図4は、例示的なパケットフォーマット400を示している。いくつかの例において、図4に示されるように、パケットフォーマット400は、Infinibandアーキテクチャ仕様において説明されているMADベースフォーマットに類似するものであり得る。例示的なパケットフォーマット400のバイト0−3は、BaseVersionフィールド410、MgmtClassフィールド412、ClassVersionフィールド414、Responseフィールド416、及びMethodフィールド418を含み得る。バイト4−7は、Statusフィールド422及びClassSpecificフィールド424を含み得る。バイト8−12は、TransactionIDフィールド432を含み得る。バイト16−19は、AttributeIDフィールド442、Indicatorフィールド444、及びTimeStampフィールド446を含み得る。バイト20−23は、AttributeModifierフィールド452を含み得る。バイト24−252は、Dataフィールド462を含み得る。例示的なパケットフォーマット400は、コマンドを含む1以上のパケットをネットワークファブリック内のノードに送信するために、ネットワークファブリックのファブリックマネージャノード(例えば、ファブリックマネージャノード110−1)により使用され得る。本開示は、例示的なパケットフォーマット400に限定されるものではなく、より多くのフィールド又はより少ないフィールドを含んでもよい他の例示的なパケットフォーマットや、任意の1以上の特定のフィールドのために、上述したものよりも多くのバイト又は少ないバイトを含んでもよい他の例示的なパケットフォーマットも意図されている。
いくつかの例において、Indicatorフィールド444及びTimeStampフィールド446を除く、バイト0−252の上述したフィールドの全てが、MADベースフォーマットに関する、Infinibandアーキテクチャ仕様において説明されている情報を含み得る。例えば、BaseVersionフィールド410は、MADベースフォーマットのバージョンを示し、MgmtClassフィールド412は、オペレーションのクラスを示し、ClassVersionフィールド414は、MADクラス固有フォーマット(MAD class-specific format)のバージョンを示し、Responseフィールド416は、応答ビットを示し、Methodフィールド418は、管理クラスに基づいて実行するメソッドを示し、Statusフィールド422は、オペレーションのステータスを示し、ClassSpecificフィールド424は、SubnetManagementクラスを示すことができ、TransactionIDフィールド432は、トランザクション識別子を示し、AttributeIDフィールド442は、管理クラスにより処理されるオブジェクトを定義し、AttributeModifierフィールド452は、属性に対するさらなるスコープを提供し、Dataフィールド462は、データ、すなわち、管理コマンドに関連付けられたパケットのペイロード領域である。
いくつかの例に従うと、例示的なパケットフォーマット400のIndicatorフィールド444は、1ビットフィールド(例えば、ビット15)であってよく、設定時又はアサート時(例えば、1のとき)、例示的なパケットフォーマット400のパケットを受信するノードは、同期時間に達するまで、そのパケットに関連付けられたコマンドの実行を遅延させるべきである、ということを示す。このような例に関して、同期時間は、TimeStampフィールド446に含まれるタイムスタンプに基づき得る。前述したように、コマンドは、再構成コマンドを含み得る。TimeStampフィールド446に含まれるタイムスタンプは、再構成コマンドに関連付けられた1以上のパケットを受信する全てのノードが、そのような1以上のパケットを受信し、再構成コマンドに関わる情報(例えば、新たな構成の情報)を一時的に記憶又はキャッシュし、次いで、同期時間に再構成コマンドを実行することを可能にするのに十分な将来の時間を表すことができる。
いくつかの例において、例示的なパケットフォーマット400で生成される複数のパケットの最初のパケットが、受信ノードはコマンドの実行を遅延させるべきであるというインジケーションを、Indicatorフィールド444内に含み得る。しかしながら、TimeStampフィールド446は、タイムスタンプ情報を含まないこともある。このような例に関して、タイムスタンプの欠如は、TimeStampフィールド446内にタイムスタンプを含む、例示的なパケットフォーマット400の後続のパケットが受信されるまで、コマンドを実行するための情報を一時的に記憶又はキャッシュすることを続けるよう、受信ノードに示すことができる。タイムスタンプを含む後続のパケットは、最初のパケットの直後に受信されることもあるし、タイムスタンプを含む後続のパケットが受信される前に、タイムスタンプを含まない複数のパケットが受信されることもなる。次いで、受信ノードは、後続のパケットに含まれるタイムスタンプに基づく同期時間に、複数のパケットに含まれるコマンドを実行することができる。
いくつかの例に従うと、タイムスタンプは、タイムスタンプ自身のフィールドに含まれるのではなく、Dataフィールド462に含まれてもよい。このような例に関して、TimeStampフィールド446のない例示的なパケットフォーマット400で生成される複数のパケットの最初のパケットが、受信ノードはコマンドの実行を遅延させるべきであるというインジケーションを、Indicatorフィールド444内に含み得る。このような例に関して、Dataフィールド462内のタイムスタンプの欠如は、Dataフィールド462内にタイムスタンプを含む、例示的なパケットフォーマット400の後続のパケットが受信されるまで、コマンドを実行するための情報を一時的に記憶又はキャッシュすることを続けるよう、受信ノードに示すことができる。タイムスタンプを含む後続のパケットは、最初のパケットの直後に受信されることもあるし、タイムスタンプを含む後続のパケットが受信される前に、Dataフィールド462内にタイムスタンプを含まない複数のパケットが受信されることもなる。次いで、受信ノードは、最後のパケットであり得る後続のパケットのDataフィールド462内に含まれるタイムスタンプに基づく同期時間に、複数のパケットに含まれるコマンドを実行することができる。
図5は、第1の装置の例示的なブロック図を示している。図5に示されるように、第1の装置は、装置500を含む。図5に示される装置500は、所定のトポロジにおいて、限定された数の要素を有するが、装置500は、所与の実装のために、必要に応じて、代替トポロジにおいて、より多くの要素又はより少ない要素を有してもよいことを理解されたい。
いくつかの例に従うと、装置500は、ネットワークファブリックのためのファブリックマネージャをホスト又はサポートすることができる、ネットワークファブリック内のノード(例えば、コンピュートノード)において保持される回路520によりサポートされ得る。回路520は、1以上の、ソフトウェア又はファームウェアにより実装されたモジュール又はコンポーネント522−aを実行するよう構成され得る。本明細書で使用される「a」、「b」、「c」、及び同様の指示子は、任意の正の整数を表す変数であると意図されていることに留意されたい。したがって、例えば、ある実装が、a=5との値を設定する場合、コンポーネント522−aのソフトウェア又はファームウェアの完全なセットは、コンポーネント522−1、522−2、522−3、522−4、又は522−5を含み得る。提示される例は、この文脈において限定されるものではなく、全体を通じて使用される異なる変数は、同じ整数値を表すこともあるし、異なる整数値を表すこともある。また、これらの「コンポーネント」は、コンピュータ読み取り可能な媒体に記憶されるソフトウェア/ファームウェアであり得る。これらのコンポーネントは、図5において、別々のボックスとして示されているが、このことは、これらのコンポーネントが別々のコンピュータ読み取り可能な媒体のコンポーネント(例えば、別々のメモリ等)に記憶されるとして限定するものではない。
いくつかの例に従うと、回路520は、プロセッサ又はプロセッサ回路を含み得る。回路520は、ネットワークファブリック内の、ファブリックマネージャノードをホストするノード(例えば、ノード110−1)におけるホストプロセッサ回路の一部であり得る。回路520は、一般に、1以上のソフトウェアコンポーネント522−aを実行するよう構成され得る。回路520は、AMD(登録商標)のAthlon(登録商標)プロセッサ、Duron(登録商標)プロセッサ、及びOpteron(登録商標)プロセッサ;ARM(登録商標)のアプリケーション組み込みセキュアプロセッサ;IBM(登録商標)及びMotorola(登録商標)のDragonBall(登録商標)プロセッサ及びPowerPC(登録商標)プロセッサ;IBM(登録商標)及びSony(登録商標)のCellプロセッサ;Intel(登録商標)のAtom(登録商標)プロセッサ、Celeron(登録商標)プロセッサ、Core (2) Duo(登録商標)プロセッサ、Core i3プロセッサ、Core i5プロセッサ、Core i7プロセッサ、Itanium(登録商標)プロセッサ、Pentium(登録商標)プロセッサ、Xeon(登録商標)プロセッサ、Xeon Phi(登録商標)プロセッサ、及びXScale(登録商標)プロセッサ;並びに同様のプロセッサを含むがこれらに限定されない種々の商用入手可能なプロセッサのうちの任意のものであり得る。いくつかの例に従うと、回路520はまた、特定用途向け集積回路(ASIC)を含んでもよく、少なくとも一部のコンポーネント522−aは、ASICのハードウェア要素として実装されてもよい。
いくつかの例において、装置500は、時間期間コンポーネント522−1を含み得る。時間期間コンポーネント522−1は、ファブリックマネージャノードに結合されているノードごとの、ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するために、回路520により実行され得る。このような例に関して、各ノードが、所与のコマンドを受信してそのようなコマンドに応答した管理タイムアウト及び応答時間値を示すタイムアウト/応答値505が受信され得る。タイムアウト/応答値505に関連付けられた所与のコマンドは、例示的なパケットフォーマット400と同様のフォーマット(例えば、Infinibandアーキテクチャ仕様において説明されているMADベースフォーマット)であり得る。時間期間コンポーネント522−1は、時間期間情報524−aにより、ノードごとの別々の時間期間を含み得る。時間期間情報524−aは、ルックアップテーブル(LUT)等のデータ構造を用いて、時間期間コンポーネント522−1により保持され得る、あるいは、時間期間コンポーネント522−1により評価可能である。
いくつかの例に従うと、装置500はまた、コマンドコンポーネント522−2を含み得る。コマンドコンポーネント522−2は、ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成するために、回路520により実行され得る。このような例に関して、1以上のパケットは、例示的なパケットフォーマット400と同様のフォーマットであり得る。
いくつかの例において、装置500はまた、時間間隔コンポーネント522−3を含み得る。時間間隔コンポーネント522−3は、ノードのうちの一部の全ノードが、決定されたノードごとの別々の時間期間に基づいて、コマンドを受信して実行するために必要とされる時間間隔を決定するために、回路520により実行され得る。このような例に関して、時間間隔コンポーネント522−3は、時間期間情報524−aに保持されている、ノードごとの別々の時間期間を使用して、時間間隔を決定することができる。
いくつかの例に従うと、装置500はまた、タイムスタンプコンポーネント522−4を含み得る。タイムスタンプコンポーネント522−4は、時間間隔に基づいてタイムスタンプを生成するために、回路520により実行され得る。このような例に関して、ネットワーク(NW)時間同期情報510は、NW時間同期情報525−bを保持するための、IEEE1588に従って得られる情報を含み得る。タイムスタンプコンポーネント522−4は、IEEE1588に従ったタイミング機構を介して、NW時間同期情報525−bを保持することができ、NW時間同期情報525−bを用いてタイムスタンプを生成することができる。
いくつかの例において、装置500はまた、送信コンポーネント522−5を含み得る。送信コンポーネント522−5は、1以上のパケットをノードのうちの一部に送信するために、回路520により実行され得る。このような例に関して、送信コンポーネント522−5は、1以上のパケットの少なくとも1つにタイムスタンプを含めることができる。タイムスタンプは、ノードのうちの一部がコマンドを実行する同期時間を示すことができる。パケット515は、ノードのうちの一部に送信される1以上のパケットを含み得、同時期間は、上述したように、NW時間同期情報525−bに含まれる情報に基づき得る。
装置500の様々なコンポーネント、及び、装置500を実装するデバイス又はノードは、オペレーションを連係させるために、様々なタイプの通信媒体を介して、互いに通信可能に結合され得る。この連携は、情報の一方向交換又は双方向交換を伴い得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形態で、情報を通信することができる。この情報は、様々な信号線に割り当てられる信号として実装され得る。そのような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施形態は、代替的に、データメッセージを使用してもよい。そのようなデータメッセージは、様々な接続を介して送信され得る。例示的な接続は、パラレルインタフェース、シリアルインタフェース、及びバスインタフェースを含む。
開示するアーキテクチャの新規な態様を実現するための例示的な方法を表す論理フローのセットが、本明細書に含まれる。説明の簡潔さのために、本明細書で示される1以上の方法が、一連の動作として図示及び説明されるが、当業者であれば、方法は、そのような動作の順番により限定されるものではないことが理解されよう。いくつかの動作は、実施形態に応じて、異なる順番で生じてもよいし、且つ/あるいは、本明細書で図示及び説明される他の動作と同時に生じてもよい。例えば、当業者であれば、方法は、代替的に、状態図等における一連の相互関連状態又はイベントとして表されてもよいことが理解されよう。さらに、方法において示される動作の全てが、新規な実装のために必要とされるわけではない。
論理フローは、ソフトウェア、ファームウェア、及び/又はハードウェアにより実装され得る。ソフトウェアの実施形態及びファームウェアの実施形態では、論理フローは、光ストレージ、磁気ストレージ、又は半導体ストレージ等の、少なくとも1つの非一時的なコンピュータ読み取り可能な媒体又は機械読み取り可能な媒体に記憶されたコンピュータ実行可能な命令により実装され得る。実施形態は、この文脈において限定されるものではない。
図6は、第1の論理フローの例を示している。図6に示されるように、第1の論理フローは、論理フロー600を含む。論理フロー600は、装置500等の本明細書で説明した1以上のロジック、機能、又はデバイスにより実行されるオペレーションの一部又は全てを表し得る。より詳細には、論理フロー600は、少なくとも、時間期間コンポーネント522−1、コマンドコンポーネント522−2、時間間隔コンポーネント522−3、タイムスタンプコンポーネント522−4、又は送信コンポーネント522−5により実装され得る。
いくつかの例に従うと、論理フロー600は、ブロック602で、ネットワークファブリックのファブリックマネージャノードにおいて、ファブリックマネージャノードに結合されているノードごとの、ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定することができる。このような例に関して、時間期間コンポーネント522−1は、ノードごとの別々の時間期間を決定することができる。
いくつかの例において、論理フロー600は、ブロック604で、ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成することができる。このような例に関して、コマンドコンポーネント522−2は、コマンド(例えば、再構成コマンド)を含む1以上のパケットを生成することができる。
いくつかの例に従うと、論理フロー600は、ブロック606で、ノードのうちの一部の全ノードが、決定されたノードごとの別々の時間期間に基づいて、コマンドを受信して実行するために必要とされる時間間隔を決定することができる。このような例に関して、時間間隔コンポーネント522−3は、必要とされる時間間隔を決定することができる。
いくつかの例において、論理フロー600は、ブロック608で、時間間隔に基づいてタイムスタンプを生成することができる。このような例に関して、タイムスタンプコンポーネント522−4は、タイムスタンプを生成することができる。タイムスタンプコンポーネント522−4はまた、IEEE1588に従ったネットワークファブリック内のノードにより保持されているネットワーク同期時間に従うように、このタイムスタンプを基準として用いてもよい。
いくつかの例に従うと、論理フロー600は、ブロック610で、1以上のパケットの少なくとも1つに、ノードのうちの一部がコマンドを実行する同期時間を示すタイムスタンプを含めて、1以上のパケットをノードのうちの一部に送信することができる。このような例に関して、送信コンポーネント522−5は、1以上のパケットをノードのうちの一部に送信することができる。
図7は、第1の記憶媒体の例を示している。図7に示されるように、第1の記憶媒体は、記憶媒体700を含む。記憶媒体700は、製品を含み得る。いくつかの例において、記憶媒体700は、光ストレージ、磁気ストレージ、又は半導体ストレージ等の任意の非一時的なコンピュータ読み取り可能な媒体又は機械読み取り可能な媒体を含み得る。記憶媒体700は、論理フロー600を実装するための命令等の様々なタイプのコンピュータ実行可能な命令を記憶することができる。コンピュータ読み取り可能な記憶媒体又は機械読み取り可能な記憶媒体の例は、揮発性メモリ、不揮発性メモリ、取り外し可能なメモリ、取り外し不可能なメモリ、消去可能なメモリ、消去不可能なメモリ、書き込み可能なメモリ、再書き込み可能なメモリ等を含む、電子的データを記憶することができる任意の有体の媒体を含み得る。コンピュータ実行可能な命令の例は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能なコード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコード、及び同様のもの等の任意の適切なタイプのコードを含み得る。例は、この文脈において限定されるものではない。
図8は、例示的な第2の装置のブロック図を示している。図8に示されるように、例示的な第2の装置は、装置800を含む。図8に示される装置800は、所定のトポロジにおいて、限定された数の要素を有するが、装置800は、所与の実装のために、必要に応じて、代替トポロジにおいて、より多くの要素又はより少ない要素を有してもよいことを理解されたい。
いくつかの例に従うと、装置800は、ネットワークファブリック内のノード(例えば、コンピュートノード)において保持される回路820によりサポートされ得る。回路820は、1以上のソフトウェアコンポーネント822−aを実行するよう構成され得る。本明細書で使用される「a」、「b」、「c」、及び同様の指示子は、任意の正の整数を表す変数であると意図されていることに留意されたい。したがって、例えば、ある実装が、a=3との値を設定する場合、ソフトウェアコンポーネント822−aの完全なセットは、コンポーネント822−1、822−2、又は822−3を含み得る。例は、この文脈において限定されるものではない。
いくつかの例において、図8に示されるように、装置800は、回路820を含む。回路820は、ネットワークファブリック内のノード(例えば、ノード110−2、110−3、又は110−n)におけるホストプロセッサ回路の一部であり得る。回路820は、一般に、1以上のソフトウェアコンポーネント822−aを実行するよう構成され得る。回路820は、装置500に関して上述したプロセッサを含むがそれらに限定されない種々の商用入手可能なプロセッサのうちの任意のものであり得る。また、いくつかの例に従うと、回路820はまた、ASICであってもよく、少なくとも一部のコンポーネント822−aは、ASICのハードウェア要素として実装されてもよい。
いくつかの例において、装置800は、受信コンポーネント822−1を含み得る。受信コンポーネント822−1は、コマンド(例えば、再構成コマンド)を含む1以上のパケットを受信するために、回路820により実行され得る。このような例に関して、1以上のパケットは、パケット810に含まれ得る。
いくつかの例に従うと、装置800はまた、同期コンポーネント822−2を含み得る。同期コンポーネント822−2は、1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、ネットワークファブリック内の1以上の他のノードとの、コマンドを実行する同期時間を決定するために、回路820により実行され得る。このような例に関して、ノードがコマンドを受信して実行するために必要とされる時間を示す情報を含むタイムアウト/応答値805は、ネットワークファブリックのためのファブリックマネージャノードと以前に交換されたものであり得る。タイムスタンプは、ノードがファブリックマネージャノードからコマンドを受信して実行するためにどのくらいの時間が必要とされるかを示す、ファブリックマネージャノードと交換された情報を考慮に入れることができる。また、同期コンポーネント822−2は、NW時間同期情報815に含まれる情報の交換を介して、スイッチファブリック内のノードとのNW時間同期を維持することができる。NW時間同期情報815に含まれるこの情報は、NW時間同期情報824−aを保持するために、IEEE1588に従って交換され得る。同期コンポーネント822−2は、IEEE1588に従ったタイミング機構を介して、NW時間同期情報824−aを保持することができ、NW時間同期情報824−aを用いて同期時間を決定することができる。
いくつかの例において、装置800はまた、コマンドコンポーネント822−3を含み得る。コマンドコンポーネント822−3は、同期時間に達したことに応じてコマンドを実行するために、回路820により実行され得る。このような例に関して、コマンドは、装置800を含むノードと、ネットワークファブリック内の1以上の他のノードと、の間におけるデータトラフィック830に含まれるデータトラフィックのためのルーティング情報又はQoSレベルを変更する再構成コマンドを含み得る。ルーティング情報又はQoSレベルの変更は、装置800を含むノードと、1以上の他のノードとの間における異なるリンクを介するデータトラフィックのフローを再構成することをもたらし得る。異なるリンクは、例えば、(例えば、Infinibandアーキテクチャ仕様に従って構成される)1以上の仮想チャネルを含み得る。
装置800の様々なコンポーネント、及び、装置800を実装するデバイス又はノードは、オペレーションを連係させるために、様々なタイプの通信媒体を介して、互いに通信可能に結合され得る。この連携は、情報の一方向交換又は双方向交換を伴い得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形態で、情報を通信することができる。この情報は、様々な信号線に割り当てられる信号として実装され得る。そのような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施形態は、代替的に、データメッセージを使用してもよい。そのようなデータメッセージは、様々な接続を介して送信され得る。例示的な接続は、パラレルインタフェース、シリアルインタフェース、及びバスインタフェースを含む。
図9は、第2の論理フローの例を示している。図9に示されるように、第2の論理フローは、論理フロー900を含む。論理フロー900は、装置800等の本明細書で説明した1以上のロジック、機能、又はデバイスにより実行されるオペレーションの一部又は全てを表し得る。より詳細には、論理フロー900は、少なくとも、受信コンポーネント822−1、同期コンポーネント822−2、又はコマンドコンポーネント822−3により実装され得る。
いくつかの例に従うと、論理フロー900は、ブロック902で、ネットワークファブリック内のノードにおいて、コマンドを含む1以上のパケットを受信することができる。このような例に関して、受信コンポーネント822−1は、1以上のパケットを受信することができる。
いくつかの例において、論理フロー900は、ブロック904で、1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、ネットワークファブリック内の1以上の他のノードとの、コマンドを実行する同期時間を決定することができる。このような例に関して、同期コンポーネント822−2は、同期時間を決定することができる。
いくつかの例に従うと、論理フロー900は、ブロック906で、同期時間に達したことに応じてコマンドを実行することができる。このような例に関して、コマンドコンポーネント822−3は、同期時間に達したことに応じてコマンドを実行することができる。実行されるコマンドは、再構成コマンドを含み得、同期時間に再構成コマンドを実行することにより、ネットワークファブリック内のノードは、実質的に同時に再構成することが可能になる。
図10は、第2の記憶媒体の例を示している。図10に示されるように、第2の記憶媒体は、記憶媒体1000を含む。記憶媒体1000は、製品を含み得る。いくつかの例において、記憶媒体1000は、光ストレージ、磁気ストレージ、又は半導体ストレージ等の任意の非一時的なコンピュータ読み取り可能な媒体又は機械読み取り可能な媒体を含み得る。記憶媒体1000は、論理フロー900を実装するための命令等の様々なタイプのコンピュータ実行可能な命令を記憶することができる。コンピュータ読み取り可能な記憶媒体又は機械読み取り可能な記憶媒体の例は、揮発性メモリ、不揮発性メモリ、取り外し可能なメモリ、取り外し不可能なメモリ、消去可能なメモリ、消去不可能なメモリ、書き込み可能なメモリ、再書き込み可能なメモリ等を含む、電子的データを記憶することができる任意の有体の媒体を含み得る。コンピュータ実行可能な命令の例は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能なコード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコード、及び同様のもの等の任意の適切なタイプのコードを含み得る。例は、この文脈において限定されるものではない。
図11は、例示的なコンピューティングプラットフォーム1100を示している。いくつかの例において、図11に示されるように、コンピューティングプラットフォーム1100は、処理コンポーネント1140、他のプラットフォームコンポーネント1150、及び通信インタフェース1160を含み得る。いくつかの例に従うと、コンピューティングプラットフォーム1100は、スイッチファブリック内のノード又はコンピュートノード(例えば、ファブリック105内のノード110−1〜110−n)において実装され得る。
いくつかの例に従うと、処理コンポーネント1140は、装置500/800及び/又は記憶媒体700/1000のための処理オペレーション又はロジックを実行することができる。処理コンポーネント1140は、様々なハードウェア要素、ソフトウェア要素、又はそれら両方の組合せを含み得る。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子(例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、デバイスドライバ、システムプログラム、ソフトウェア開発プログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組合せを含み得る。例が、ハードウェア要素及び/又はソフトウェア要素を用いて実装されるかについて決定することは、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、及び、他の設計制約又は性能制約等の任意の数のファクタに従って、所与の例のために必要に応じて、変わり得る。
いくつかの例において、他のプラットフォームコンポーネント1150は、1以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、オシレータ、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント(例えば、デジタルディスプレイ)、電源等の共通コンピューティング要素を含み得る。メモリユニットの例は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラム可能なROM(PROM)、消去可能なプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能なROM(EEPROM)、フラッシュメモリ、強誘電性高分子メモリ等の高分子メモリ、オボニックメモリ、相変化メモリ、強誘電性メモリ、SONOS(silicon-oxide-nitride-oxide-silicon)メモリ、磁気カード、光カード、RAID(redundant array of independent disks)ドライブ等のデバイスのアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ)、ソリッドステートドライブ(SSD)、及び、情報を記憶するのに適した任意の他のタイプの記憶媒体等の、1以上の高速メモリユニットの形態の様々なタイプのコンピュータ読み取り可能な記憶媒体及び機械読み取り可能な記憶媒体を含み得るが、これらに限定されるものではない。
いくつかの例において、通信インタフェース1160は、通信インタフェースをサポートするロジック及び/又は機能を含み得る。このような例に関して、通信インタフェース1160は、直接通信リンク又はネットワーク通信リンクを介して通信するための様々な通信プロトコル又は通信規格に従って動作する1以上の通信インタフェースを含み得る。直接通信は、PCIe仕様に関連するもの等の1以上の業界規格(後継版及び派生版を含む)で説明されている通信プロトコル又は通信規格の使用を介して生じ得る。ネットワーク通信は、IEEEにより公開された1以上のEthernet(登録商標)規格において説明されているもの等の通信プロトコル又は通信規格の使用を介して生じ得る。例えば、そのような1つのEthernet(登録商標)規格は、IEEE802.3を含み得る。ネットワーク通信はまた、OpenFlow(登録商標) Hardware Abstraction API仕様等の1以上のOpenFlow(登録商標)仕様に従って生じ得る。ネットワーク通信はまた、Infinibandアーキテクチャ仕様に従って生じ得る。
上述したように、コンピューティングプラットフォーム1100は、サーバコンピューティングデバイス又はクライアントコンピューティングデバイスにおいて実装され得る。したがって、本明細書で説明したコンピューティングプラットフォーム1100の機能及び/又は特定の構成は、サーバコンピューティングデバイス又はクライアントコンピューティングデバイスのために、適切に必要に応じて、コンピューティングプラットフォーム1100の様々な実施形態に含まれてもよいし、コンピューティングプラットフォーム1100の様々な実施形態から除去されてもよい。
コンピューティングプラットフォーム1100のコンポーネント及び機能は、ディスクリート回路、特定用途向け集積回路(ASIC)、論理ゲート、及び/又はシングルチップアーキテクチャの任意の組合せを用いて実装することができる。さらに、コンピューティングプラットフォーム1100の機能は、マイクロコントローラ、プログラマブル論理アレイ、及び/若しくはマイクロプロセッサ、又は、適切に必要に応じて前述の任意の組合せを用いて実装することができる。ハードウェア要素、ファームウェア要素、及び/又はソフトウェア要素が、集合的又は個別的に、本明細書において、「ロジック(論理)」又は「回路」と呼ばれ得ることに留意されたい。
図11のブロック図に示される例示的なコンピューティングプラットフォーム1100は、多くの可能な実装のうちの機能的に説明するための一例を表していることを理解すべきである。したがって、添付の図面に示されるブロックの機能の分割、省略、又は含有は、ハードウェアコンポーネント、回路、ソフトウェア、及び/又は、このような機能を実装するための要素が、実施形態において、必ず、分割される、省略される、あるいは含まれることを示すものではない。
少なくとも1つの例の1以上の態様は、プロセッサにおける様々なロジックを表現する、少なくとも1つの機械読み取り可能な媒体に記憶された表現命令により実装され得る。この命令が、機械、コンピューティングデバイス、又はコンピューティングシステムにより読み出されたときに、この命令は、機械、コンピューティングデバイス、又はコンピューティングシステムに、本明細書で説明した技術を実行するロジックを組み立てさせる。「IPコア」として知られているそのような表現は、有体の機械読み取り可能な媒体に記憶され、実際にロジック又はプロセッサを製造する製造機械にロードするために様々な顧客又は製造施設に供給され得る。
様々な例は、ハードウェア要素、ソフトウェア要素、又はそれら両方の組合せを用いて実装することができる。いくつかの例において、ハードウェア要素は、デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含み得る。いくつかの例において、ソフトウェア要素は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組合せを含み得る。例が、ハードウェア要素及び/又はソフトウェア要素を用いて実装されるかについて決定することは、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、及び、他の設計制約又は性能制約等の任意の数のファクタに従って、所与の例のために必要に応じて、変わり得る。
いくつかの例は、製品又は少なくとも1つのコンピュータ読み取り可能な媒体を含み得る。コンピュータ読み取り可能な媒体は、ロジックを記憶する非一時的な記憶媒体を含み得る。いくつかの例において、非一時的な記憶媒体は、揮発性メモリ、不揮発性メモリ、取り外し可能なメモリ、取り外し不可能なメモリ、消去可能なメモリ、消去不可能なメモリ、書き込み可能なメモリ、再書き込み可能なメモリ等を含む、電子的データを記憶することができる1以上のタイプのコンピュータ読み取り可能な記憶媒体を含み得る。いくつかの例において、ロジックは、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、API、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組合せ等の様々なソフトウェア要素を含み得る。
いくつかの例に従うと、コンピュータ読み取り可能な媒体は、命令を記憶又は保持する非一時的な記憶媒体を含み得る。この命令が、機械、コンピューティングデバイス、又はコンピューティングシステムにより実行されたときに、この命令は、機械、コンピューティングデバイス、又はコンピューティングシステムに、説明した例に従って、方法及び/又はオペレーションを実行させる。命令は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能なコード、静的コード、動的コード、及び同様のもの等の任意の適切なタイプのコードを含み得る。命令は、所定の機能を実行するよう機械、コンピューティングデバイス、又はコンピューティングシステムに指示するために、所定のコンピュータ言語、方法、又はシンタックスに従って実装され得る。命令は、任意の適切な高水準プログラミング言語、低水準プログラミング言語、オブジェクト指向プログラミング言語、ビジュアルプログラミング言語、コンパイル済みプログラミング言語、及び/又は解釈済みプログラミング言語を用いて実装され得る。
いくつかの例は、「一例において」又は「一例」という表現とともにそれらの派生表現を用いて説明されているかもしれない。これらの用語は、その例に関連して説明される特定の特徴、構造、又は特性が、少なくとも1つの例に含まれることを意味する。本明細書の様々な箇所における「一例において」という語句の出現は、必ずしも全て同じ例を指しているわけではない。
いくつかの例は、「結合されている」及び「接続されている」という表現とともにそれらの派生表現を用いて説明されているかもしれない。これらの用語は、必ずしも、互いに対する同義語として意図されるものではない。例えば、「結合されている」及び/又は「接続されている」という用語を用いた説明は、2以上の要素が、互いに直接的に物理的に接触している、あるいは互いに直接的に電気的に接触していることを示し得る。しかしながら、「結合されている」という用語はまた、2以上の要素が、互いに直接的に接触してはいないが、それでも互いと協働している、あるいは互いとインタラクトしていることも意味し得る。
以下の例は、本明細書で説明した技術のさらなる例に関する。
例1.例示的な装置は、ネットワークファブリックのファブリックマネージャノードのための回路を含み得る。当該装置は、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するための、前記回路により実行される時間期間コンポーネントをさらに含み得る。当該装置は、前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成するための、前記回路により実行されるコマンドコンポーネントをさらに含み得る。当該装置は、前記ノードのうちの前記一部の全ノードが、前記の決定されたノードごとの別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定するための、前記回路により実行される時間間隔コンポーネントをさらに含み得る。当該装置は、前記時間間隔に基づいてタイムスタンプを生成するための、前記回路により実行されるタイムスタンプコンポーネントをさらに含み得る。当該装置は、前記1以上のパケットを前記ノードのうちの前記一部に対して送信するための、前記回路により実行される送信コンポーネントをさらに含み得る。前記送信コンポーネントは、前記1以上のパケットの少なくとも1つに前記タイムスタンプを含めることができる。前記タイムスタンプは、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示すことができる。
例2.前記時間期間コンポーネントは、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づいて、前記のノードごとの別々の時間期間を決定することができる、例1の装置。
例3.前記コマンドは、再構成コマンドを含む、例1の装置。
例4.前記再構成コマンドは、前記ノードのうちの前記一部のうちの第1のノードと第2のノードとの間をフローするデータトラフィックのためのルーティング情報又はQoSレベルを変更して、前記第1のノードと前記第2のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含む、例3の装置。
例5.前記異なるリンクは、前記第1のノードと前記第2のノードとの間の1以上の仮想チャネルを含み得る、例4の装置。
例6.前記再構成コマンドを含む前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み得る、例3の装置。
例7.前記1以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例6の装置。
例8.前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、IEEE1588−2008に関連する1以上の規格又は仕様に従って動作するよう構成することができる、例1の装置。前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記IEEE1588−2008に従って、ネットワーク時間同期を維持することができる。
例9.前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成することができる、例1の装置。前記コマンドコンポーネントは、MADフォーマットで、前記コマンドを含む1以上のパケットを生成することができる。
例10.前記時間期間コンポーネントは、各ノードが、前記ファブリックマネージャノードから前記MADフォーマットの1以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づいて、前記別々の時間期間を決定することができる、例9の装置。
例11.ユーザインタフェースビューを提示するために前記回路に結合されているデジタルディスプレイをさらに含み得る、例1の装置。
例12.例示的な方法は、ネットワークファブリックのファブリックマネージャノードにおいて、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するステップを含み得る。当該例示的な方法は、前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成するステップをさらに含み得る。当該例示的な方法は、前記ノードのうちの前記一部の全ノードが、前記の決定されたノードごとの別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定するステップをさらに含み得る。当該例示的な方法は、前記時間間隔に基づいてタイムスタンプを生成するステップをさらに含み得る。当該例示的な方法は、前記1以上のパケットの少なくとも1つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めて、前記1以上のパケットを前記ノードのうちの前記一部に対して送信するステップをさらに含み得る。
例13.前記のノードごとの別々の時間期間を決定することは、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づいて、ノードごとの別々の時間期間を決定することを含み得る、例12の方法。
例14.前記コマンドは、再構成コマンドを含み得る、例12の方法。
例15.前記再構成コマンドは、前記ノードのうちの前記一部のうちの第1のノードと第2のノードとの間をフローするデータトラフィックのためのルーティング情報又はQoSレベルを変更して、前記第1のノードと前記第2のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例14の方法。
例16.前記異なるリンクは、前記第1のノードと前記第2のノードとの間の1以上の仮想チャネルを含み得る、例15の方法。
例17.前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを有する前記再構成コマンドを含み得る、例14の方法。
例18.前記1以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例17の方法。
例19.前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、IEEE1588−2008に関連する1以上の規格又は仕様に従って動作するよう構成することができる、例12の方法。前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記IEEE1588−2008に従って、ネットワーク時間同期を維持することができる。
例20.前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成することができる、例12の方法。前記コマンドのための前記1以上のパケットは、1以上のMADとしてフォーマット化することができる。
例21.前記のノードごとの別々の時間期間は、各ノードが、前記ファブリックマネージャノードからMADフォーマットの1以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づいて決定することができる、例12の方法。
例22.例示的な少なくとも1つの機械読み取り可能な媒体は、サーバにおけるシステムにより実行されたことに応じて、前記システムに、例12乃至21のうちのいずれか1つの方法を実行させる複数の命令を含み得る。
例23.例示的な装置は、例12乃至21のうちのいずれか1つの方法を実行する手段を含み得る。
例24.例示的な少なくとも1つの機械読み取り可能な媒体は、ネットワークファブリックのためのファブリックマネージャノードにおけるシステムにより実行されたことに応じて、前記システムに、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定させることができる複数の命令を含み得る。前記複数の命令は、前記システムに、さらに、前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成させることができる。前記複数の命令は、前記システムに、さらに、前記ノードのうちの前記一部の全ノードが、前記の決定された別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定させることができる。前記複数の命令は、前記システムに、さらに、前記時間間隔に基づいてタイムスタンプを生成させ、前記1以上のパケットの少なくとも1つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めさせて、前記1以上のパケットを前記ノードのうちの前記一部に対して送信させることができる。
例25.前記別々の時間期間は、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づいて、ノードごとに決定することができる、例24の少なくとも1つの機械読み取り可能な媒体。
例26.前記コマンドは、再構成コマンドを含み得る、例24の少なくとも1つの機械読み取り可能な媒体。
例27.前記再構成コマンドは、前記ノードのうちの前記一部のうちの第1のノードと第2のノードとの間をフローするデータトラフィックのためのルーティング情報又はQoSレベルを変更して、前記第1のノードと前記第2のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例26の少なくとも1つの機械読み取り可能な媒体。
例28.前記異なるリンクは、前記第1のノードと前記第2のノードとの間の1以上の仮想チャネルを含み得る、例27の少なくとも1つの機械読み取り可能な媒体。
例29.前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む再構成コマンドを含み得る、例24の少なくとも1つの機械読み取り可能な媒体。
例30.前記1以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例29の少なくとも1つの機械読み取り可能な媒体。
例31.前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、IEEE1588−2008に関連する1以上の規格又は仕様に従って動作するよう構成することができ、前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記IEEE1588−2008に従って、ネットワーク時間同期を維持することができる、例24の少なくとも1つの機械読み取り可能な媒体。
例32.前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成することができる、例24の少なくとも1つの機械読み取り可能な媒体。この例では、前記コマンドを含む前記1以上のパケットは、1以上のMADとしてフォーマット化することができる。
例33.前記の決定されたノードごとの別々の時間期間は、各ノードが、前記ファブリックマネージャノードからMADフォーマットの1以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づいて決定することができる、例24の少なくとも1つの機械読み取り可能な媒体。
例34.例示的な装置は、ネットワークファブリック内のノードのための回路を含み得る。当該装置は、コマンドを含む1以上のパケットを受信するための、前記回路により実行される受信コンポーネントをさらに含み得る。当該装置は、前記1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の1以上の他のノードとの、前記コマンドを実行する同期時間を決定するための、前記回路により実行される同期コンポーネントをさらに含み得る。当該装置は、前記同期時間に達したことに応じて前記コマンドを実行するための、前記回路により実行されるコマンドコンポーネントをさらに含み得る。
例35.前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み得る、例34の装置。
例36.前記再構成コマンドは、実行されたときに、前記コマンドコンポーネントが、前記ネットワークファブリック内で前記ノードと前記1以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はQoSレベルを変更して、前記ノードと前記1以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例35の装置。
例37.前記異なるリンクは、前記ノードと前記1以上の他のノードとの間の1以上の仮想チャネルを含み得る、例36の装置。
例38.前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む前記再構成コマンドを含み得る、例35の装置。
例39.前記1以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例38の装置。
例40.前記ノードは、IEEE1588−2008に関連する1以上の規格又は仕様に従って動作するよう構成することができる、例34の装置。この例では、前記ノードは、前記IEEE1588−2008に従って、前記1以上の他のノードとのネットワーク時間同期を維持することができる。
例41.前記ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成することができる、例34の装置。この例では、前記コマンドを含む前記1以上のパケットは、1以上のMADとすることができる。
例42.ユーザインタフェースビューを提示するために前記回路に結合されているデジタルディスプレイをさらに含み得る、例34の装置。
例43.例示的な方法は、ネットワークファブリック内のノードにおいて、コマンドを含む1以上のパケットを受信するステップを含み得る。当該方法は、前記1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の1以上の他のノードとの、前記コマンドを実行する同期時間を決定するステップをさらに含み得る。当該方法は、前記同期時間に達したことに応じて前記コマンドを実行するステップをさらに含み得る。
例44.前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み得る、例43の方法。
例45.前記再構成コマンドは、前記ネットワークファブリック内で前記ノードと前記1以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はQoSレベルを変更して、前記ノードと前記1以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例44の方法。
例46.前記異なるリンクは、前記ノードと前記1以上の他のノードとの間の1以上の仮想チャネルを含み得る、例45の方法。
例47.前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含む前記再構成コマンドを含み得る、例44の方法。
例48.前記1以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例47の方法。
例49.前記ノードは、IEEE1588−2008に関連する1以上の規格又は仕様に従って動作するよう構成することができる、例43の方法。この例では、前記ノードは、前記IEEE1588−2008に従って、前記1以上の他のノードとのネットワーク時間同期を維持することができる。
例50.前記ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成することができる、例43の方法。この例では、前記コマンドを含む前記1以上のパケットは、1以上のMADとすることができる。
例51.例示的な少なくとも1つの機械読み取り可能な媒体は、サーバにおけるシステムにより実行されたことに応じて、前記システムに、例43乃至50のうちのいずれか1つの方法を実行させることができる複数の命令を含み得る。
例52.例示的な装置は、例43乃至50のうちのいずれか1つの方法を実行する手段を含み得る。
例53.例示的な少なくとも1つの機械読み取り可能な媒体は、ネットワークファブリック内のノードにおけるシステムにより実行されたことに応じて、前記システムに、コマンドを含む1以上のパケットを受信させることができる複数の命令を含み得る。前記複数の命令は、前記システムに、さらに、前記1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の1以上の他のノードとの、前記コマンドを実行する同期時間を決定させることができる。前記複数の命令は、前記システムに、さらに、前記同期時間に達したことに応じて前記コマンドを実行させることができる。
例54.前記コマンドは、前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含み得る、例53の少なくとも1つの機械読み取り可能な媒体。
例55.前記再構成コマンドは、前記ネットワークファブリック内で前記ノードと前記1以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はQoSレベルを変更して、前記ノードと前記1以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含み得る、例54の少なくとも1つの機械読み取り可能な媒体。
例56.前記異なるリンクは、前記ノードと前記1以上の他のノードとの間の1以上の仮想チャネルを含み得る、例55の少なくとも1つの機械読み取り可能な媒体。
例57.前記再構成コマンドを含む前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み得る、例54の少なくとも1つの機械読み取り可能な媒体。
例58.前記1以上のパケットの最後のパケットが、前記タイムスタンプを含み得る、例57の少なくとも1つの機械読み取り可能な媒体。
例59.前記ノードは、IEEE1588−2008に関連する1以上の規格又は仕様に従って動作するよう構成することができ、前記ノードは、前記IEEE1588−2008に従って、前記1以上の他のノードとのネットワーク時間同期を維持することができる、例53の少なくとも1つの機械読み取り可能な媒体。
例60.前記ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成することができる、例53の少なくとも1つの機械読み取り可能な媒体。この例では、前記コマンドを含む前記1以上のパケットは、1以上のMADとすることができる。
読者が技術的な開示内容の本質を迅速に確認できるようにする要約を求める37C.F.Rセクション1.72(b)に従うよう本開示の要約が提供されていることを強調する。請求項の範囲又は意味を限定又は解釈するためには使用されないという理解の下で、要約は提出されている。加えて、上記の発明を実施するための形態において、様々な特徴が、本開示を簡素化するために、単一の例に一緒にグループ化されていることを理解できるであろう。開示の本方法は、特許請求される例が、各請求項において明示的に記載されるものよりも多くの特徴を必要とするという意図を示すものとして解釈されるべきでない。そうではなく、請求項が示すように、創造的な主題は、単一の開示した例の全ての特徴よりも少ない特徴を含む。したがって、請求項は、発明を実施するための形態に組み込まれ、各請求項は、それ自身、別々の例として独立している。特許請求の範囲において、「including(含む、有する、備える)」及び「in which(ここで)」という用語は、それぞれ「comprising(含む、有する、備える)」及び「wherein(ここで)」という用語のわかりやすい英語の均等語として使用される。さらに、「第1の」、「第2の」、「第3の」等という用語は、単にラベルとして使用されており、その対象に対して数字的な要件を課すことを意図するものではない。
構造的特徴及び/又は方法論的動作に特有の言葉で主題について説明したが、特許請求の範囲において定められる主題は、上述した特定の特徴又は動作に必ずしも限定されないことを理解すべきである。そうではなく、上述した特定の特徴及び動作は、請求項を実施する例示的な形態として開示されている。

Claims (20)

  1. ネットワークファブリックのためのファブリックマネージャノードにおけるシステムに、
    前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定させ、
    前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成させ、
    前記ノードのうちの前記一部の全ノードが、前記の決定された別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定させ、
    前記時間間隔に基づいてタイムスタンプを生成させ、
    前記1以上のパケットの少なくとも1つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めさせて、前記1以上のパケットを前記ノードのうちの前記一部に対して送信させる、
    プログラムであって、
    再構成コマンドを含む前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み、前記1以上のパケットの最後のパケットが、前記タイムスタンプを含む、プログラム
  2. 前記の決定されたノードごとの別々の時間期間は、前記所与のコマンドが前記ファブリックマネージャノードから送信された時間から、それぞれのノードが前記所与のコマンドを受信して実行した時間までに基づく、請求項1記載のプログラム。
  3. 前記再構成コマンドは、前記ノードのうちの前記一部のうちの第1のノードと第2のノードとの間をフローするデータトラフィックのためのルーティング情報又はサービス品質(QoS)レベルを変更して、前記第1のノードと前記第2のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含む、請求項記載のプログラム。
  4. 前記異なるリンクは、前記第1のノードと前記第2のノードとの間の1以上の仮想チャネルを含む、請求項記載のプログラム。
  5. 前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、IEEE1588−2008を含むIEEE1588規格に関連する1以上の規格又は仕様に従って動作するよう構成されており、前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記IEEE1588−2008に従って、ネットワーク時間同期を維持する、請求項1記載のプログラム。
  6. 前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成されており、前記コマンドを含む前記1以上のパケットは、1以上の管理データグラム(MAD)としてフォーマット化されている、請求項1記載のプログラム。
  7. 前記の決定されたノードごとの別々の時間期間は、各ノードが、前記ファブリックマネージャノードからMADフォーマットの1以上のパケットを用いて送信された前記所与のコマンドを受信して前記所与のコマンドに応答した管理タイムアウト及び応答時間値に少なくとも部分的に基づく、請求項1記載のプログラム。
  8. ネットワークファブリックのファブリックマネージャノードにおいて、前記ファブリックマネージャノードに結合されているノードごとの、前記ファブリックマネージャノードから所与のコマンドを受信して実行するための別々の時間期間を決定するステップと、
    前記ファブリックマネージャノードに結合されているノードのうちの少なくとも一部に対するコマンドを含む1以上のパケットを生成するステップと、
    前記ノードのうちの前記一部の全ノードが、前記の決定されたノードごとの別々の時間期間に基づいて、前記コマンドを受信して実行するために必要とされる時間間隔を決定するステップと、
    前記時間間隔に基づいてタイムスタンプを生成するステップと、
    前記1以上のパケットの少なくとも1つに、前記ノードのうちの前記一部が前記コマンドを実行する同期時間を示す前記タイムスタンプを含めて、前記1以上のパケットを前記ノードのうちの前記一部に対して送信するステップと、
    を含む方法であって、
    再構成コマンドを含む前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み、前記1以上のパケットの最後のパケットが、前記タイムスタンプを含む、方法
  9. 前記再構成コマンドは、前記ノードのうちの前記一部のうちの第1のノードと第2のノードとの間をフローするデータトラフィックのためのルーティング情報又はサービス品質(QoS)レベルを変更して、前記第1のノードと前記第2のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含む、請求項記載の方法。
  10. 前記異なるリンクは、前記第1のノードと前記第2のノードとの間の1以上の仮想チャネルを含む、請求項9記載の方法。
  11. 前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、IEEE1588−2008を含むIEEE1588規格に関連する1以上の規格又は仕様に従って動作するよう構成されており、前記ファブリックマネージャノード及び前記ファブリックマネージャノードに結合されている各ノードは、前記IEEE1588−2008に従って、ネットワーク時間同期を維持する、請求項記載の方法。
  12. 請求項乃至11のうちのいずれか一項記載の方法を実行する手段を備えた装置。
  13. ネットワークファブリック内のノードのための回路と、
    コマンドを含む1以上のパケットを受信するための、前記回路により実行される受信コンポーネントと、
    前記1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の1以上の他のノードとの、前記コマンドを実行する同期時間を決定するための、前記回路により実行される同期コンポーネントと、
    前記同期時間に達したことに応じて前記コマンドを実行するための、前記回路により実行されるコマンドコンポーネントと、
    を備えた装置であって、
    前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含む前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み、前記1以上のパケットの最後のパケットが、前記タイムスタンプを含む、装置
  14. 記再構成コマンドは、実行されたときに、前記コマンドコンポーネントが、前記ネットワークファブリック内で前記ノードと前記1以上の他のノードとの間をフローするデータトラフィックのためのルーティング情報又はサービス品質(QoS)レベルを変更して、前記ノードと前記1以上の他のノードとの間における異なるリンクを介する前記データトラフィックのフローを再構成することを含む、請求項13記載の装置。
  15. 前記異なるリンクは、前記ノードと前記1以上の他のノードとの間の1以上の仮想チャネルを含む、請求項14記載の装置。
  16. 前記ノードは、IEEE1588−2008を含むIEEE1588規格に関連する1以上の規格又は仕様に従って動作するよう構成されており、前記ノードは、前記IEEE1588−2008に従って、前記1以上の他のノードとのネットワーク時間同期を維持する、請求項13記載の装置。
  17. 前記ノードは、Infinibandアーキテクチャ仕様、第1巻、リリース1.2.1を含むInfiniband仕様に関連する1以上の仕様又は規格に従って動作するよう構成されており、前記コマンドを含む前記1以上のパケットは、1以上の管理データグラム(MAD)を含む、請求項13記載の装置。
  18. ネットワークファブリック内のノードにおけるシステムに、
    コマンドを含む1以上のパケットを受信させ、
    前記1以上のパケットの少なくとも1つに含まれるタイムスタンプに基づいて、前記ネットワークファブリック内の1以上の他のノードとの、前記コマンドを実行する同期時間を決定させ、
    前記同期時間に達したことに応じて前記コマンドを実行させる、
    プログラムであって、
    前記ネットワークファブリック内のファブリックマネージャノードからの再構成コマンドを含む前記1以上のパケットは、前記同期時間に達するまで再構成を遅延させるためのインジケーションを含み、前記1以上のパケットの最後のパケットが、前記タイムスタンプを含む、プログラム
  19. 前記ノードは、IEEE1588−2008を含むIEEE1588規格に関連する1以上の規格又は仕様に従って動作するよう構成されており、前記ノードは、前記IEEE1588−2008に従って、前記1以上の他のノードとのネットワーク時間同期を維持する、請求項18記載のプログラム。
  20. 請求項1乃至7、18、及び19のうちのいずれか一項記載のプログラムを記憶した記憶媒体。
JP2015227798A 2014-12-23 2015-11-20 ネットワークファブリックノードにおけるコマンドの同期実行のための技術 Active JP6174101B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/582,075 US10348428B2 (en) 2014-12-23 2014-12-23 Techniques for synchronized execution of a command at network fabric nodes
US14/582,075 2014-12-23

Publications (2)

Publication Number Publication Date
JP2016119654A JP2016119654A (ja) 2016-06-30
JP6174101B2 true JP6174101B2 (ja) 2017-08-02

Family

ID=54782442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015227798A Active JP6174101B2 (ja) 2014-12-23 2015-11-20 ネットワークファブリックノードにおけるコマンドの同期実行のための技術

Country Status (5)

Country Link
US (1) US10348428B2 (ja)
EP (1) EP3048778B1 (ja)
JP (1) JP6174101B2 (ja)
KR (1) KR101748041B1 (ja)
CN (1) CN105721093B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10374926B2 (en) 2016-01-28 2019-08-06 Oracle International Corporation System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment
CN108604199B (zh) * 2016-08-23 2022-08-23 甲骨文国际公司 计算环境中支持快速混合重新配置的系统和方法、介质
CN110855458B (zh) * 2018-08-20 2022-08-26 阿里巴巴集团控股有限公司 配置命令生成方法及设备
CN114465689B (zh) * 2021-12-23 2023-10-03 东莞市李群自动化技术有限公司 通道组的信号指令同步处理方法、系统、设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH082789Y2 (ja) 1990-03-06 1996-01-29 株式会社テック チェックアウト装置
JP2998697B2 (ja) 1997-06-09 2000-01-11 日本電気株式会社 衛星通信における基準時間設定方法およびその方法を適用した広域無線ページングシステム
MXPA01005187A (es) 1998-11-24 2002-06-04 Niksun Inc Aparato y metodo para reunir y analizar datos de comunicaciones.
JP3622538B2 (ja) 1998-12-01 2005-02-23 日産自動車株式会社 エンジンの吸入空気量検出装置
US7050392B2 (en) 2001-03-30 2006-05-23 Brocade Communications Systems, Inc. In-order delivery of frames during topology change
US6920504B2 (en) 2002-05-13 2005-07-19 Qualcomm, Incorporated Method and apparatus for controlling flow of data in a communication system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US7512064B2 (en) 2004-06-15 2009-03-31 Cisco Technology, Inc. Avoiding micro-loop upon failure of fast reroute protected links
US20080037511A1 (en) * 2006-08-14 2008-02-14 Alessio Casati Supporting coordinated communication services
KR101389277B1 (ko) * 2007-10-16 2014-04-28 삼성전자주식회사 무선 센서 네트워크에서 브로드캐스팅 제어 방법
US9060342B2 (en) * 2011-04-04 2015-06-16 Saab Sensis Corporation System and method for passively determining own position listening to wireless time synchronization communications
KR20140139032A (ko) * 2012-03-21 2014-12-04 라이트플리트 코포레이션 패킷플로우 상호연결 패브릭
US20150304865A1 (en) * 2012-10-30 2015-10-22 Telefonaktiebolaget L M Ericsson (Publ) Quality of service monitoring for internet protocol based communication service
US9407733B1 (en) * 2012-11-09 2016-08-02 Marvell Israel (M.I.S.L) Ltd. Time correction using extension fields
US9031063B2 (en) * 2013-02-27 2015-05-12 Mellanox Technologies Ltd. Direct updating of network delay in synchronization packets

Also Published As

Publication number Publication date
EP3048778A1 (en) 2016-07-27
JP2016119654A (ja) 2016-06-30
CN105721093A (zh) 2016-06-29
KR101748041B1 (ko) 2017-06-15
EP3048778B1 (en) 2019-12-25
US20160182177A1 (en) 2016-06-23
CN105721093B (zh) 2019-05-28
US10348428B2 (en) 2019-07-09
KR20160076971A (ko) 2016-07-01

Similar Documents

Publication Publication Date Title
US9641627B2 (en) Techniques for remapping sessions for a multi-threaded application
JP6174101B2 (ja) ネットワークファブリックノードにおけるコマンドの同期実行のための技術
US10929157B2 (en) Techniques for checkpointing/delivery between primary and secondary virtual machines
TWI578170B (zh) 切換裝置之無縫自動回復
US10326613B2 (en) Method and system for processing spanning tree protocol (STP) state in a multichassis link aggregation (MLAG) domain
US8843689B2 (en) Concurrent repair of the PCIe switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
US11296982B2 (en) Initiator-based data-plane validation for segment routed, multiprotocol label switched (MPLS) networks
US11121940B2 (en) Techniques to meet quality of service requirements for a fabric point to point connection
CN109547233A (zh) 一种服务器网口配置的方法、装置及服务器
US20190042515A1 (en) System decoder for training accelerators
WO2016105732A1 (en) Techniques to generate a graph model for cloud infrastructure elements
US9847937B2 (en) Hardware acceleration for routing programs
JP5968841B2 (ja) ネットワーク装置及びプロセッサの監視方法
CN109802850A (zh) 通信方法和通信装置
WO2021147332A1 (zh) 信息处理方法、以太网交换芯片以及存储介质
US10805242B2 (en) Techniques for a configuration mechanism of a virtual switch
US10374874B2 (en) Reducing data plane disruption in a virtual switch
CN111343107B (zh) 信息处理方法、以太网交换芯片以及存储介质
US10824443B1 (en) State machine communication
US20160179411A1 (en) Techniques to Provide Redundant Array of Independent Disks (RAID) Services Using a Shared Pool of Configurable Computing Resources
US10491472B2 (en) Coordinating width changes for an active network link
US10536552B2 (en) Systems and methods to relocate live compute assets
Garbugli QoS-aware architectures, technologies, and middleware for the cloud continuum
WO2024089474A1 (en) Method to efficiently update information regarding network infrastructure
CN108156098A (zh) 一种基于powerlink的通信网络系统

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170705

R150 Certificate of patent or registration of utility model

Ref document number: 6174101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250