説明

データネットワークのための集中型トラフィックシェーピング

【課題】複数のノードと、複数のポートを有するスイッチとを備え、各ポートが複数のノードのうちの1つに結合された、通信システムを提供すること。
【解決手段】複数のノードのうちの少なくとも1つが、第1の仮想リンクに関連付けられたフレームの第1の調整されていないフローを、スイッチの複数のポートのうちの第1のポートに送信するように構成される。スイッチは、第1の調整されていないフローのフレームを、第1の仮想リンクに関連付けられた第1の入力キューにバッファすることによって、第1の仮想リンクに関連付けられたトラフィックシェーピングパラメータを、第1の仮想リンクに関連付けられた第1の入力キューにおけるフレームに適用することによって、かつ、第1の仮想リンクに基づいて、フレームの第1の調整されたフローを、1つまたは複数の出力ポートに関連付けられた1つまたは複数の出力キューに出力することによって、フレームの第1の調整されていないフローを調整するように構成される。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001]本出願は、以下の同時係属の米国特許出願に関し、ここにそのすべてが、参照によ本明細書に組み込まれる。
【0002】
[0002]本願と同日に出願され、「VERSATILE SOURCE PORT ENFORCEMENT FOR DATA NETWORKS」と題された米国特許出願第13/073,260号(代理人整理番号H0028046−5409号)であり、これは、本明細書において‘046出願と称される。
【0003】
[0003]本願と同日に出願され、「EMBEDDED END−TO−END DELAY INFORMATION FOR DATA NETWORKS」と題された米国特許出願第13/217,823号(代理人整理番号H0028048−5409号)であり、これは、本明細書において‘048出願と称される。
【背景技術】
【0004】
[0004]Aeronautical Radio,Incorporated(ARINC)規格664パート7を実装する従来のシステムでは、エンドシステムまたはノードが、出力トラフィックをシェーピングして、同じ仮想リンクの任意の2つのフレーム間の最小距離がシェーピング機能の出力において維持されることを保証する。ノードにおけるすべての出力仮想リンクのシェーピングされたトラフィックフローは次いで、スケジューラによって、エンドシステムのイーサネットポートで、共通のフローにマージされることになる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願第13/073,260号
【特許文献2】米国特許出願第13/217,823号
【発明の概要】
【発明が解決しようとする課題】
【0006】
本願の実施例は、例えば、データネットワークのための集中型トラフィックシェーピングを開示する。
【課題を解決するための手段】
【0007】
[0005]一実施形態において、通信システムが提供される。通信システムは、複数のノードと、複数のポートを有するスイッチとを備え、各ポートは複数のノードのうちの1つに結合される。複数のノードのうちの少なくとも1つが、第1の仮想リンクに関連付けられたフレームの第1の調整されていないフローを、スイッチの複数のポートのうちの第1のポートに送信するように構成される。スイッチは、第1の調整されていないフローのフレームを、第1の仮想リンクに関連付けられた第1の入力キューにバッファすることによって、第1の仮想リンクに関連付けられたトラフィックシェーピングパラメータを、第1の仮想リンクに関連付けられた第1の入力キューにおけるフレームに適用することによって、かつ、第1の仮想リンクに基づいて、フレームの第1の調整されたフローを、1つまたは複数の出力ポートに関連付けられた1つまたは複数の出力キューに出力することによって、フレームの第1の調整されていないフローを調整するように構成される。
【0008】
[0006]図面は例示的な実施形態のみを表し、したがって、範囲を限定するものとみなされるべきでないことを理解しながら、添付の図面の使用を通して、例示的な実施形態が、追加的な特異性および詳細と共に説明される。
【図面の簡単な説明】
【0009】
【図1】[0007]通信システムの例示的な実施形態のブロック図である。
【図2】[0008]スイッチの例示的な実施形態のブロック図である。
【図3】[0009]スイッチの別の例示的な実施形態のブロック図である。
【図4】[0010]集中型トラフィックシェーピングの方法の例示的な実施形態の流れ図である。
【発明を実施するための形態】
【0010】
[0011]一般的なやり方に従って、さまざまな説明される特徴は、一定の縮尺で描かれず、例示的な実施形態に関連した特定の特徴を強調するように描かれている。
[0012]以下の詳細な説明において、本明細書の一部を形成する添付の図面に対する参照が行われ、特定の説明的な実施形態が例示として示される。しかしながら、他の実施形態が利用されてもよいこと、ならびに、論理的、機械的、および電気的な変更が行われてもよいことを理解されたい。さらに、本図面および本明細書において提示される方法は、個々の行為が実施され得る順序を限定するものとして解釈されるべきではない。したがって、以下の詳細な説明は、限定的な意味に取られるべきではない。
【0011】
[0013]図1は、通信システム100の一実施形態のブロック図である。通信システム100は、複数のノード102−1・・・102−N(エンドシステムとも呼ばれる)と、少なくとも1つのスイッチ104とを含む。通信システム100は、スイッチ104を介して、ノード102−1・・・102−N間でフレームを通信するために、仮想リンクを使用するように構成される。本明細書で使用されるとき、仮想リンクは、スイッチ104を介して2つ以上のノード102を接続する単方向論理パスである。たとえば、いくつかの実施形態において、通信システム100は、Aeronautical Radio,Incorporated(ARINC)規格664パート7(アビオニクス全二重交換イーサネット(AFDX)とも呼ばれる)と互換性のあるプロトコルを実装するように構成された、全二重交換イーサネットネットワークである。いくつかの実施形態において、仮想リンクは、ARINC規格664パート7において定義されるように、唯一の送信元ノード102を有するように制限される。しかしながら、他の実施形態においては、‘046出願で説明されるように、スイッチ104は、複数のノード102を、単一の仮想リンクのための有効な送信元ノードとして受け入れるように構成される。
【0012】
[0014]各ノード102は、少なくとも1つの仮想リンクのための送信元ノードとして構成される。説明目的のみのために、各ノード102は、図1に示される例示的な実施形態において、3つの仮想リンクのための送信元ノードとして構成される。各仮想リンクは、帯域幅割当てギャップ(バッグ)を使用して構成される。バッグは、ノードから送信される、同じ仮想リンクの任意の2つのフレーム間の最小距離である。
【0013】
[0015]ノード102−2は、従来のARINC664パート7エンドシステムにあるように、対応するバッグに適合しているかについて各仮想リンクのフレームをチェックするように構成された仮想リンク(VL)シェーパー112を含む。特に、所与の仮想リンクのフレームが、対応するバッグよりも速くホストコンピュータ(図示せず)から出力される場合、VLシェーパー112は、フレームがそれぞれのバッグに適合するように、フレームをバッファし、出力フローを調整する。所与のホストコンピュータのフレームが、それぞれのバッグよりも遅く出力される場合、VLシェーパー112は、プロトコルによって規定された最高技術のレイテンシでフレームが即座に出力されるのを可能にする。VLシェーパー112のVLシェーピング機能は、処理ユニットによって実行されるソフトウェアにおいて実装されてもよい。
【0014】
[0016]フレームの調整されたフローは、シリアライザ/デシリアライザ(SerDes)110に入力される。SerDes110は、調整されたフローをスケジュールし、それを、ポート108を介してスイッチ104のポート106−2に出力されるフレームの単一の調整されたフローに多重化する。スイッチ104のVLトラフィックマネジャ114が、フレームの調整されたフローを、ポート106−2に適したすべての仮想リンクのリスト、および調整されたフレームのそれぞれのタイミングパラメータと比較することによって、それらをチェックする。フレームの調整されたフローがチェッカー機能に合格すると、それらはそれぞれの仮想リンクに関連付けられた出力ポートの出力キューにルーティングされる。
【0015】
[0017]ノード102−2とは異なり、ノード102−1は、複数の仮想リンクのためのフレームのフローを調整しない。代わりに、ノード102−1は、フレームの調整されていないフローを、フレームの単一の調整されていないフローに多重化する。たとえば、いくつかの実施形態において、SerDes110は、先着順にフレームを出力するように構成される。他の実施形態において、SerDes110は、優先度ベースのキューイングなどの、異なるポリシーに基づいてフレームを出力する。しかしながら、SerDesは、それぞれのバッグに適合させるためにフレームのフローを調整しない。フレームの調整されていないフローは、ノード102−1のポート108を介して、スイッチ104のポート106−1に出力される。フレームの調整されていないフローがスイッチにおいて受信されるとき、VLトラフィックマネジャ114は、以下でさらに詳細に説明されるように、フレームのフローを調整するように構成される。
【0016】
[0018]VLトラフィックマネジャ114はまた、スイッチにおいて調整されたフローを、スケジュールし、それぞれの仮想リンクに関連付けられた出力ポートの出力キューに出力する。したがって、一般的にノード102において実行されるシェーピング機能およびスケジューリング機能は、ノード102−1からスイッチにオフロードされる。いくつかの実施形態において、各出力キューに記憶される、またはバッファされるフレームの数が、キューごとに構成される。言い換えれば、各キューにバッファされるフレームの数は、他のキューから独立して構成される。加えて、いくつかの実施形態において、各キューは、キューがいっぱいになったときに、キューの中で最も古いフレームを新たに受信されたフレームに置き換えることによって、それぞれのキューにおけるフレームを管理するように、キューごとに構成される。他の実施形態において、各キューは、キューがいっぱいになると、新たに受信されたフレームをドロップすることによって、それぞれのキューにおけるフレームを管理するように、キューごとに構成される。したがって、各キューは、それぞれのキューにおけるフレームを、他のキューから独立して管理するように構成されることが可能である。各キューはまた、先入れ先出しベースで、または優先度ベース方式で、それぞれのキューからフレームを出力するように、キューごとに構成される。いくつかの実施形態において、フレームのそれぞれのフローのフレームから取得された仮想リンクIDなどの情報に基づいて、優先度情報が取得される。
【0017】
[0019]加えて、いくつかの実施形態において、シェーピング機能およびスケジューリング機能は、当業者に知られているコンポーネントを使用して、スイッチ104のハードウェアにおいて実行され、コンポーネントは、1つまたは複数の論理ゲート(すなわち、AND、OR、NOTなど)および1つまたは複数のバッファなどであるが、それらに限定されない。他の実施形態において、シェーピング機能およびスケジューリング機能は、スケジューリング機能およびシェーピング機能において使用されるさまざまな方法、プロセスタスク、計算、および制御機能を実行するための、ソフトウェアプログラム、ファームウェア、または他のコンピュータ可読命令によって機能する処理ユニットで実装される。
【0018】
[0020]これらの命令は、一般に、コンピュータ可読命令またはデータ構造を記憶するために使用される任意の適切なコンピュータ可読媒体に記憶される。コンピュータ可読媒体は、汎用コンピュータもしくは特殊目的コンピュータ、またはプロセッサ、または任意のプログラマブル論理デバイスによってアクセスされ得る任意の利用可能な媒体として実装されてもよい。好適なプロセッサ可読媒体は、磁気媒体または光学媒体などの記憶媒体またはメモリ媒体を含むことができる。たとえば、記憶媒体またはメモリ媒体は、従来のハードディスク、コンパクトディスク−読み取り専用メモリ(CD−ROM)、ランダムアクセスメモリ(RAM)などの揮発性または不揮発性媒体(同期動的ランダムアクセスメモリ(SDRAM)、ダブルデータレート(DDR)RAM、RAMBUS動的RAM(RDRAM)、静的RAM(SRAM)などを含むが、これらに限定されない)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラマブルROM(EEPROM)、およびフラッシュメモリなどを含むことができる。好適なプロセッサ可読媒体はまた、ネットワークおよび/またはワイヤレスリンクなどの通信媒体を介して伝達される電気的信号、電磁気的信号、または、デジタル信号などの伝送媒体を含むことができる。
【0019】
[0021]ノード102−Nはまた、ノード102−2と同様にVLシェーパー112を含む。ノード102−NのVLシェーパー112は、ノード102−2のVLシェーパー112と同様に、仮想リンクのフローを調整するように動作する。しかしながら、ノード102−Nは、複数の仮想リンクのためのフレームの調整されていないフローのサブセットのみを調整するように構成される。したがって、フレームの少なくとも1つの調整されていないフローが、ノード102−2のSerDes110においてフレームの調整されたフローに多重化される。フレームの混合されたフローは、ノード102−2のポート108を介して、スイッチ104のポート106−Nに出力される。VLトラフィックマネジャ114は、調整されていないフローから調整されたフローを分離する。VLトラフィックマネジャ114は、フレームの調整されたフローに対しては、上で説明されたチェッカー機能のみを実行する。しかしながら、VLトラフィックマネジャ114は、フレームの調整されていないフローを調整し、スケジュールする。調整されたフローおよび調整されていないフローは次いで、仮想リンクに関連付けられたそれぞれの出力ポートの出力キューに出力される。
【0020】
[0022]このようにして、図1のスイッチ104は、シェーピング(調整)機能およびスケジューリング機能を、ポート106−1・・・106−Nにわたって受信されたフレームのフローに適用するように、仮想リンクごとに構成される。言い換えれば、トラフィックシェーピングは、すべてのポート106−1・・・106−Nで受信されたフレームに適用されるのではなく、スイッチポートのサブセット上で受信されたフレームに適用される。加えて、特定のポート106について、シェーピングおよびスケジューリングが、それぞれのポート106にわたって受信されたフローのサブセットに選択的に適用されてもよい。
【0021】
[0023]図2は、スイッチ204の一実施形態のブロック図である。スイッチ204は、(ポート1〜Nともラベル付けされた)ポート206−1・・・206−Nを含む。スイッチ204はまた、仮想リンク(VL)トラフィックマネジャ214を含む。VLトラフィックマネジャ214は、シリアライザ/デシリアライザ(SerDes)216と、トラフィックシェーピング・モジュール218と、ポリシーチェッカー・モジュール220と、ルーター222とを含む。説明目的のみのために、VLトラフィックマネジャ214は、ポート206−1のみに結合されているものとして表される。しかしながら、ポート206−2・・・206−Nもまた、VLトラフィックマネジャ214に結合されることを理解されたい。加えて、いくつかの実施形態において、VLトラフィックマネジャ214の機能性は、各ポート206を単一のVLトラフィックマネジャ214に結合するのではなく、複数のポート206の各々のために複製される。
【0022】
[0024]SerDes216は、ポート206−1に結合されたノードから送信されたフレームの多重化されたフローを受信する。SerDes216は、フローを、フレームの個々のフローに分離する。フレームの多重化されたフローが調整されたフローを含む場合、調整されたフローは、SerDes216からポリシーチェッカー・モジュール220へと渡される。たとえば、いくつかの実施形態において、スイッチ204は、送信元ノードにおいて調整される仮想リンクのリストと、スイッチ104においてフロー調整を必要とする仮想リンクのリストとを備えて構成される。フレームに含まれた仮想リンクIDを比較することによって、スイッチ104は、調整されたフローと、調整されていないフローとを識別する。ポリシーチェッカー・モジュール220は、調整されたフローの仮想リンクが、フレームのフローが受信されたポートのために有効な仮想リンクであるかどうかを判定する。加えて、いくつかの実施形態において、ポリシーチェッカー・モジュール220は、トラフィックポリシングを実施する。たとえば、いくつかの実施形態において、ポリシーチェッカー・モジュール220は、所与の仮想リンクのフレームが、仮想リンクのためのそれぞれのバッグを超えることを防ぐように構成される。調整されたフローがチェッカー機能に合格すると、ポリシーチェッカー・モジュール220は、調整されたフローをルーター222に出力する。
【0023】
[0025]各仮想リンクの調整されていないフローは、SerDes216からトラフィックシェーピング・モジュール218に出力される。トラフィックシェーピング・モジュール218は、各仮想リンクの、対応する調整されていないフローのための入力キュー219を含む。したがって、説明目的のために、この例では1つのみの入力キュー219が示されているが、他の実施形態においては、2つ以上の入力キュー219が使用されてもよいことを理解されたい。
【0024】
[0026]トラフィックシェーピング・モジュール218は、各仮想リンクのフレームが、対応するバッグに適合することを保証する。特に、所与の仮想リンクのフレームが対応するバッグの許可よりも近い場合、トラフィックシェーピング・モジュール218は、フレームがそれぞれのバッグに適合するように、フレームを対応する入力キュー219にバッファし、出力フローを調整する。たとえば、いくつかの実施形態において、入力キュー219は、キューがいっぱいになったときに、キューの中で最も古いフレームを新たに受信されたフレームに置き換えることによって、入力キュー219におけるフレームを管理するように構成される。他の実施形態において、入力キューは、キューがいっぱいになると、新たに受信されたフレームをドロップすることによって、それぞれのキューにおけるフレームを管理するように構成される。加えて、対応する入力キュー219にバッファされることになるフレームの数は、キューごとに決定される。
【0025】
[0027]所与の仮想リンクのフレームが十分に離れている場合、かつ、したがって仮想リンクのためのそれぞれのバッグに適合する場合、トラフィックシェーピング・モジュール218は、プロトコルによって規定された最高技術のレイテンシで、フレームを即座に出力する。トラフィックシェーピング・モジュール218は、各仮想リンクのためのフレームの調整されたフローを、ルーター222に出力する。
【0026】
[0028]ルーター222は、フレームの調整されたフローを、それぞれの仮想リンクのための対応する出力ポート206にルーティングするように構成される。たとえば、図2に示されるように、仮想リンクのフレームは、そのフレームが受信された同じポートを含む、1つまたは複数の出力ポート206にルーティングされてもよい。特に、各仮想リンクのためのフレームは、それぞれの仮想リンクのための対応する出力ポートの出力キュー224に置かれる。説明目的のために、ポート206−4のための出力キュー224のみが示されるが、各ポート206がポートキューに関連付けられることを理解されたい。
【0027】
[0029]図3は、スイッチ304の別の例示的な実施形態のブロック図である。スイッチ204と同様に、スイッチ304は、仮想リンク(VL)トラフィックマネジャ314を含む。VLトラフィックマネジャ314は、シリアライザ/デシリアライザ(SerDes)316と、トラフィックシェーピング・モジュール318と、ポリシーチェッカー・モジュール320と、ルーター322とを含む。VLトラフィックマネジャ314のコンポーネントの各々は、図2のVLトラフィックマネジャ214に関して上で説明されたように機能する。しかしながら、図3に示される実施形態においては、トラフィックシェーピング・モジュール318が、各仮想リンクのためのフレームの調整されたフローを、直接ルーター322にではなく、ポリシーチェッカー・モジュール320に出力するように構成される。したがって、この例示的な実施形態では、ポリシーチェッカー・モジュール320が、トラフィックシェーピング・モジュール318からの調整されたフローをトラフィックポリシーに適合しているかについてチェックし、各仮想リンクがそれらのフローが受信されたポートのための有効な仮想リンクであることを検証する。調整されたフローがトラフィックポリシーチェックに合格すると、フローは、上で説明されたように、ルーティングされるためにルーター322に渡される。
【0028】
[0030]図4は、集中型トラフィックシェーピングの方法400の一実施形態を表す流れ図である。方法400は、上で説明されたスイッチ104、204、または304などのスイッチにおいて実装されてもよい。402で、各々がそれぞれの仮想リンクに対応しているフレームの複数のフローが、スイッチにおいて受信される。本明細書で使用されるとき、「フレームの調整されていないフロー」または「調整されていないフロー」は、トラフィックシェーピングがフレームに適用されずに、ノードから送信されたフレームのフローを意味するように定義される。言い換えれば、ノードは、それぞれの仮想リンクに対応するさまざまなフレームのタイミング、スペーシング、帯域幅などを調整しない、または制御しない。したがって、「フレームの制御されたフロー」は、トラフィックシェーピングポリシーが適用されているフローである。
【0029】
[0031]いくつかの実施形態において、フレームの単一の調整されていないフローが、スイッチの各ポートで受信される。しかしながら、他の実施形態においては、複数の調整されていないフローの組合せが、スイッチの単一のポートで受信される。さらに他の実施形態においては、フレームの調整されていないフローと一緒になった調整されたフローの組合せが、1つまたは複数のポートで受信される。
【0030】
[0032]404で、フレームの2つ以上のフローが単一のポートで受信された場合、上で説明されたように、フローは個々のフローに分離される。406で、フレームの少なくとも1つの調整されていないフローのそれぞれの仮想リンクに基づいて、フレームの複数のフローから、フレームの少なくとも1つの調整されていないフローが識別される。
【0031】
[0033]408で、それぞれの仮想リンクのパラメータに従って、フレームの識別された調整されていないフローは、バッファされ、スイッチにおいてシェーピングされる。たとえば、各仮想リンクは、異なるバッグを割り当てられてもよい。したがって、各個々の調整されていないフローは、それぞれのバッグに適合するようにシェーピングされる。加えて、いくつかの実施形態において、スイッチは、ハードウェアにおいて個々のフローをシェーピングするように構成される。さらに、いくつかの実施形態において、1つまたは複数の入力キューにバッファされることになるフレームのシェーピングされたフローのフレームの数が、上で説明されたように、キューごとに決定される。
【0032】
[0034]410で、フレームの個々の調整されたフローが、対応する仮想リンクに関連付けられたそれぞれのトラフィックポリシーに適合しているかについて、スイッチにおいてチェックされる。たとえば、フレームの調整されたフローが、調整されていないフローと一緒にポートで受信された場合、調整されたフローは、上で説明されたように、それぞれのトラフィックポリシーに適合しているかについてチェックされる。加えて、いくつかの実施形態において、スイッチにおいてシェーピングされた個々のフローはまた、それぞれのトラフィックポリシーに適合しているかについてチェックされる。さらに、トラフィックポリシーに適合しているかについてチェックするステップはまた、フレームのフローが、フレームのそれぞれのフローに関連付けられた仮想リンクのための有効なポートにおいて受信されたかどうかを判定するステップを含む。
【0033】
[0035]412で、それぞれの仮想リンクに基づいて、シェーピングされたフローがスケジュールされ、対応する出力ポートの1つまたは複数の出力キューにルーティングされる。たとえば、調整されたフローは、それらが受信されたのと同じ入力ポートに、異なる出力ポートに、または複数の出力ポートに出力されてもよい。フレームの各受信されたフローは、フレームの各フローに関連付けられた仮想リンクに応じて、異なる出力ポートに出力されてもよいことを理解されたい。
【0034】
[0036]414で、シェーピングされたフローのフレームが、1つまたは複数の出力キューから出力される。いくつかの実施形態において、1つまたは複数の出力キューからのフレームのシェーピングされたフローのフレームは、先入れ先出しポリシーに基づいて出力される。他の実施形態においては、フレームは、優先度ランキングに基づいて出力される。いくつかの実施形態において、シェーピングされたフローのフレームにおけるデータから、優先度ランキングが取得されてもよい。
【実施例1】
【0035】
[0037]実施例1は、複数のノードと、複数のポートを有するスイッチとを備える通信システムを含み、各ポートは複数のノードのうちの1つに結合される。通信システムにおいて、複数のノードのうちの少なくとも1つが、第1の仮想リンクに関連付けられたフレームの第1の調整されていないフローを、スイッチの複数のポートのうちの第1のポートに送信するように構成される。通信システムにおいて、スイッチは、第1の調整されていないフローのフレームを、第1の仮想リンクに関連付けられた第1の入力キューにバッファすることによって、第1の仮想リンクに関連付けられたトラフィックシェーピングパラメータを、第1の仮想リンクに関連付けられた第1の入力キューにおけるフレームに適用することによって、かつ、第1の仮想リンクに基づいて、フレームの第1の調整されたフローを、1つまたは複数の出力ポートに関連付けられた1つまたは複数の出力キューに出力することによって、フレームの第1の調整されていないフローを調整するように構成される。
【実施例2】
【0036】
[0038]実施例2は、実施例1の通信システムを含み、通信システムにおいて、少なくとも1つのノードは、第2の仮想リンクに関連付けられたフレームの第2の調整されたフローを、スイッチの第1のポートに送信するようにさらに構成される。通信システムにおいて、スイッチは、第1のポートが第2の仮想リンクのための有効な送信元ポートであることをチェックし、第1のポートが第2の仮想リンクのための有効な送信元ポートである場合に、フレームの第2の調整されたフローを1つまたは複数の出力キューに渡すように構成される。
【実施例3】
【0037】
[0039]実施例3は、実施例1〜2のいずれかの通信システムを含み、通信システムにおいて、スイッチおよび複数のノードは、ARINC664パート7と互換性のあるプロトコルを実装するように構成される。
【実施例4】
【0038】
[0040]実施例4は、実施例1〜3のいずれかの通信システムを含み、通信システムにおいて、1つまたは複数の出力キューは、第1の仮想リンクに関連付けられたフレームの第1の調整されたフローの1つまたは複数のフレームをバッファするように構成される。
【実施例5】
【0039】
[0041]実施例5は、実施例1〜4のいずれかの通信システムを含み、通信システムにおいて、第1の入力キューは、第1の入力キューがいっぱいになったときに、第1の入力キューの中で最も古いフレームを新たに受信されたフレームに置き換えることによって、または新たに受信されたフレームをドロップすることによって、第1の入力キューにおけるフレームを管理するように構成される。
【実施例6】
【0040】
[0042]実施例6は、実施例1〜5のいずれかの通信システムを含み、通信システムにおいて、スイッチは、先入れ先出しベースまたは優先度ベースのうちの1つに基づいて、1つまたは複数の出力キューの各々からフレームを出力するように構成される。
【実施例7】
【0041】
[0043]実施例7は、実施例6の通信システムを含み、通信システムにおいて、スイッチは、フレームの第1の調整されたフローのフレームにおける情報から優先度情報を引き出すように構成される。
【実施例8】
【0042】
[0044]実施例8は、通信システムにおけるスイッチを含み、スイッチは、複数のポートを備える。各ポートは、それぞれのノードに結合され、それぞれのノードから、それぞれの仮想リンクに関連付けられたフレームの少なくとも1つのフローを受信するように構成され、ここで、ノードのうちの1つからのフレームの少なくとも1つのフローは、フレームの調整されていないフローである。スイッチはさらに、複数のポートに結合されたトラフィックシェーピング・モジュールであって、各入力キューがそれぞれの仮想リンクに関連付けられた少なくとも1つの入力キューを有するトラフィックシェーピング・モジュールを備え、トラフィックシェーピング・モジュールは、各仮想リンクのフレームを、それぞれの入力キューにバッファし、それぞれの仮想リンクに基づいて、トラフィックシェーピングパラメータを、それぞれの入力キューにおけるフレームに適用するように構成される。スイッチはさらに、少なくとも1つの出力キューが各仮想リンクに関連付けられた複数の出力キューと、トラフィックシェーピング・モジュールによってシェーピングされたフレームのフローのそれぞれの仮想リンクに基づいて、トラフィックシェーピング・モジュールによってシェーピングされたフレームのフローを、複数の出力キューのうちの1つまたは複数に提供するように構成されたルーターとを備える。
【実施例9】
【0043】
[0045]実施例9は、実施例8のスイッチを含み、スイッチは、ARINC664パート7と互換性のあるプロトコルを実装するように構成される。
【実施例10】
【0044】
[0046]実施例10は、実施例8〜9のいずれかのスイッチを含み、スイッチは、それぞれの入力キューにバッファされることになる、トラフィックシェーピング・モジュールによってシェーピングされたフレームのフローのフレームの数を、キューごとに構成する。
【実施例11】
【0045】
[0047]実施例11は、実施例8〜10のいずれかのスイッチを含み、スイッチは、先入れ先出しベースまたは優先度ベースのうちの1つに基づいて、1つまたは複数の出力キューの各々からフレームを出力するように構成される。
【実施例12】
【0046】
[0048]実施例12は、実施例8〜11のいずれかのスイッチを含み、スイッチは、フレームのそれぞれのフローから取得された情報に基づいて、1つまたは複数の出力キューの各々からフレームを出力する順序を決定するように構成される。
【実施例13】
【0047】
[0049]実施例13は、実施例8〜12のいずれかのスイッチを含み、スイッチはさらに、同じポート上で受信されたフレームの個々のフローを分離するように構成されたデシリアライザと、フレームの各受信されたフローが、フレームの各フローに関連付けられたそれぞれの仮想リンクのための有効なポートで受信されたかどうかをチェックするように構成されたポリシーチェッカー・モジュールとを備える。
【実施例14】
【0048】
[0050]実施例14は、集中型トラフィックシェーピングの方法を含み、方法は、フレームのフローの各々がそれぞれの仮想リンクに対応しているフレームの複数のフローをスイッチにおいて受信するステップと、フレームの少なくとも1つの調整されていないフローのそれぞれの仮想リンクに基づいて、フレームの複数のフローからフレームの少なくとも1つの調整されていないフローを識別するステップと、フレームの調整されていないフローのそれぞれの仮想リンクに関連付けられたトラフィックシェーピングパラメータに基づいて、フレームの少なくとも1つの識別された調整されていないフローをスイッチにおいてシェーピングするステップと、それぞれの仮想リンクに基づいて、フレームのシェーピングされたフローを1つまたは複数の出力キューにルーティングするステップとを含む。
【実施例15】
【0049】
[0051]実施例15は、実施例14の方法を含み、方法において、フレームの少なくとも1つの識別された調整されていないフローをスイッチにおいてシェーピングするステップは、フレームの少なくとも1つの識別された調整されていないフローをスイッチのハードウェアにおいてシェーピングするステップを含む。
【実施例16】
【0050】
[0052]実施例16は、実施例14〜15のいずれかの方法を含み、方法において、フレームの複数のフローを受信するステップは、フレームの複数のフローをフレームの組み合わされたフローとして単一のポートにおいて受信するステップを含み、方法はさらに、フレームの複数のフローを、フレームの組み合わされたフローからフレームの個々のフローに分離するステップを含む。
【実施例17】
【0051】
[0053]実施例17は、実施例14〜16のいずれかの方法を含み、方法はさらに、フレームの少なくとも1つの調整されたフローのそれぞれの仮想リンクに基づいて、フレームの複数のフローからフレームの少なくとも1つの調整されたフローを識別するステップと、フレームの少なくとも1つの識別された調整されたフローがそれぞれの仮想リンクのための有効なポートで受信されたかどうかを判定するために、フレームの少なくとも1つの識別された調整されたフローをチェックするステップとを含む。
【実施例18】
【0052】
[0054]実施例18は、実施例14〜17のいずれかの方法を含み、方法はさらに、1つまたは複数の入力キューの各々にバッファされることになるフレームのシェーピングされたフローのフレームの数を、キューごとに決定するステップを含む。
【実施例19】
【0053】
[0055]実施例19は、実施例14〜18のいずれかの方法を含み、方法はさらに、先入れ先出しベースまたは優先度ベースのうちの1つに基づいて、1つまたは複数の出力キューからフレームのシェーピングされたフローのフレームを出力するステップを含む。
【実施例20】
【0054】
[0056]実施例20は、実施例19の方法を含み、方法はさらに、フレームのシェーピングされたフローにおけるフレームから取得された情報に基づいて、1つまたは複数の出力キューからフレームを出力する順序を決定するステップを含む。
【0055】
[0057]本明細書において、特定の実施形態が図示され、説明されてきたが、同じ目的を達成するように計算された任意の構成が、示された特定の実施形態の代わりに使用されてもよいことが、当業者によって認識されるであろう。したがって、本発明は、特許請求の範囲およびその均等物によってのみ限定されることが明白に意図される。
【符号の説明】
【0056】
100 通信システム
102 ノード
104 スイッチ
106 ポート
108 ポート
110 シリアライザ/デシリアライザ(SerDes)
112 仮想リンク(VL)シェーパー
114 仮想リンク(VL)トラフィックマネジャ
204 スイッチ
206 ポート/出力ポート
214 仮想リンク(VL)トラフィックマネジャ
216 シリアライザ/デシリアライザ(SerDes)
218 トラフィックシェーピング・モジュール
219 入力キュー
220 ポリシーチェッカー・モジュール
222 ルーター
224 出力キュー
304 スイッチ
314 仮想リンク(VL)トラフィックマネジャ
316 シリアライザ/デシリアライザ(SerDes)
318 トラフィックシェーピング・モジュール
320 ポリシーチェッカー・モジュール
322 ルーター

【特許請求の範囲】
【請求項1】
各ポートがそれぞれのノードに結合されており、前記それぞれのノードから、それぞれの仮想リンクに関連付けられたフレームの少なくとも1つのフローを受信するように構成された複数のポート(206)であって、前記ノードのうちの1つからのフレームの前記少なくとも1つのフローが、フレームの調整されていないフローである、複数のポート(206)と、
前記複数のポートに結合されたトラフィックシェーピング(shaping)・モジュール(218)であって、各入力キューがそれぞれの仮想リンクに関連付けられた少なくとも1つの入力キュー(queue)(219)を有する、トラフィックシェーピング・モジュール(218)と
を備えるスイッチ(204)であって、
前記トラフィックシェーピング・モジュールは、各仮想リンクのフレームを、それぞれの入力キューにバッファし、前記それぞれの仮想リンクに基づいて、トラフィックシェーピングパラメータを、前記それぞれの入力キューにおける前記フレームに適用する(apply)ように構成されており、
前記スイッチはさらに、
少なくとも1つの出力キューが各仮想リンクに関連付けられた複数の出力キュー(224)と、
前記トラフィックシェーピング・モジュールによってシェーピングされたフレームの前記フローの前記それぞれの仮想リンクに基づいて、前記トラフィックシェーピング・モジュールによってシェーピングされたフレームの前記フローを、前記複数の出力キューのうちの1つまたは複数の出力キューに提供するように構成されたルーター(222)と
を備える、通信システムにおけるスイッチ(204)。
【請求項2】
前記それぞれの入力キューにバッファされることになる、前記トラフィックシェーピング・モジュールによってシェーピングされたフレームの前記フローのフレームの数を、キューごとに(on a per-queue basis)構成する請求項1に記載のスイッチ。
【請求項3】
フレームのそれぞれのフローから取得された情報に基づいて、前記1つまたは複数の出力キューの各々からフレームを出力する順序を決定するように構成された請求項1に記載のスイッチ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−209945(P2012−209945A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−71145(P2012−71145)
【出願日】平成24年3月27日(2012.3.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(500575824)ハネウェル・インターナショナル・インコーポレーテッド (1,504)
【出願人】(306044696)テーテーテヒ・コンピューターテヒニック・アクチェンゲゼルシャフト (4)
【Fターム(参考)】