(57)【特許請求の範囲】
【請求項１】
通信システムにおけるスイッチ（２０４）であって、
各ポートがそれぞれのノードに結合されており、前記それぞれのノードから、それぞれのARINC規格664パート7仮想リンクに関連付けられたフレームの少なくとも１つのフローを受信するように構成された複数のポート（２０６）であって、前記ノードのうちの１つからのフレームの前記少なくとも１つのフローが、フレームの調整されていないフローである、複数のポート（２０６）であって、それぞれのARINC規格664パート7仮想リンクの仮想リンクIDに基づいて、前記スイッチが、どのフレームのフローが、調整されていないフレームのフローであるかを識別するように構成されるものと、
前記複数のポートに結合されたトラフィックシェーピング(shaping)・モジュール（２１８）であって、各入力キューがそれぞれのARINC規格664パート7仮想リンクに関連付けられた少なくとも１つの入力キュー(queue)（２１９）を有する、トラフィックシェーピング・モジュール（２１８）と
を備えるスイッチ（２０４）であって、
前記トラフィックシェーピング・モジュールは、各ARINC規格664パート7仮想リンクのフレームを、それぞれの入力キューにバッファし、前記それぞれのARINC規格664パート7仮想リンクに基づいて、トラフィックシェーピングパラメータを、前記それぞれの入力キューにおける識別された調整されていないフレームのフローの前記フレームに適用する(apply)ように構成されており、
前記スイッチはさらに、
少なくとも１つの出力キューが各ARINC規格664パート7仮想リンクに関連付けられた複数の出力キュー（２２４）と、
前記トラフィックシェーピング・モジュールによってシェーピングされたフレームの前記フローの前記それぞれのARINC規格664パート7仮想リンクに基づいて、前記トラフィックシェーピング・モジュールによってシェーピングされたフレームの前記フローを、前記複数の出力キューのうちの１つまたは複数の出力キューに提供するように構成されたルーター（２２２）と
を備え、
調整されないフレームのフローが、トラフィックシェーピングが、フレームに適用されること無しに、ノードから送信されたフレームのフローであり、
フレームを調整することが、タイミング、スペーシング、帯域幅を調整することを含む、
通信システムにおけるスイッチ（２０４）。
【請求項２】
前記それぞれの入力キューにバッファされることになる、前記トラフィックシェーピング・モジュールによってシェーピングされたフレームの前記フローのフレームの数を、キューごとに(on a per-queue basis)構成する請求項１に記載のスイッチ。
【請求項３】
フレームのそれぞれのフローから取得された情報に基づいて、前記１つまたは複数の出力キューの各々からフレームを出力する順序を決定するように構成された請求項１に記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本出願は、以下の同時係属の米国特許出願に関し、ここにそのすべてが、参照によ本明細書に組み込まれる。
【０００２】
[0002]本願と同日に出願され、「ＶＥＲＳＡＴＩＬＥ  ＳＯＵＲＣＥ  ＰＯＲＴ  ＥＮＦＯＲＣＥＭＥＮＴ  ＦＯＲ  ＤＡＴＡ  ＮＥＴＷＯＲＫＳ」と題された米国特許出願第１３／０７３，２６０号（代理人整理番号Ｈ００２８０４６−５４０９号）であり、これは、本明細書において‘０４６出願と称される。
【０００３】
[0003]本願と同日に出願され、「ＥＭＢＥＤＤＥＤ  ＥＮＤ−ＴＯ−ＥＮＤ  ＤＥＬＡＹ  ＩＮＦＯＲＭＡＴＩＯＮ  ＦＯＲ  ＤＡＴＡ  ＮＥＴＷＯＲＫＳ」と題された米国特許出願第１３／２１７，８２３号（代理人整理番号Ｈ００２８０４８−５４０９号）であり、これは、本明細書において‘０４８出願と称される。
【背景技術】
【０００４】
[0004]Ａｅｒｏｎａｕｔｉｃａｌ  Ｒａｄｉｏ，Ｉｎｃｏｒｐｏｒａｔｅｄ（ＡＲＩＮＣ）規格６６４パート７を実装する従来のシステムでは、エンドシステムまたはノードが、出力トラフィックをシェーピングして、同じ仮想リンクの任意の２つのフレーム間の最小距離がシェーピング機能の出力において維持されることを保証する。ノードにおけるすべての出力仮想リンクのシェーピングされたトラフィックフローは次いで、スケジューラによって、エンドシステムのイーサネットポートで、共通のフローにマージされることになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願第１３／０７３，２６０号
【特許文献２】米国特許出願第１３／２１７，８２３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願の実施例は、例えば、データネットワークのための集中型トラフィックシェーピングを開示する。
【課題を解決するための手段】
【０００７】
[0005]一実施形態において、通信システムが提供される。通信システムは、複数のノードと、複数のポートを有するスイッチとを備え、各ポートは複数のノードのうちの１つに結合される。複数のノードのうちの少なくとも１つが、第１の仮想リンクに関連付けられたフレームの第１の調整されていないフローを、スイッチの複数のポートのうちの第１のポートに送信するように構成される。スイッチは、第１の調整されていないフローのフレームを、第１の仮想リンクに関連付けられた第１の入力キューにバッファすることによって、第１の仮想リンクに関連付けられたトラフィックシェーピングパラメータを、第１の仮想リンクに関連付けられた第１の入力キューにおけるフレームに適用することによって、かつ、第１の仮想リンクに基づいて、フレームの第１の調整されたフローを、１つまたは複数の出力ポートに関連付けられた１つまたは複数の出力キューに出力することによって、フレームの第１の調整されていないフローを調整するように構成される。
【０００８】
[0006]図面は例示的な実施形態のみを表し、したがって、範囲を限定するものとみなされるべきでないことを理解しながら、添付の図面の使用を通して、例示的な実施形態が、追加的な特異性および詳細と共に説明される。
【図面の簡単な説明】
【０００９】
【図１】[0007]通信システムの例示的な実施形態のブロック図である。
【図２】[0008]スイッチの例示的な実施形態のブロック図である。
【図３】[0009]スイッチの別の例示的な実施形態のブロック図である。
【図４】[0010]集中型トラフィックシェーピングの方法の例示的な実施形態の流れ図である。
【発明を実施するための形態】
【００１０】
[0011]一般的なやり方に従って、さまざまな説明される特徴は、一定の縮尺で描かれず、例示的な実施形態に関連した特定の特徴を強調するように描かれている。
[0012]以下の詳細な説明において、本明細書の一部を形成する添付の図面に対する参照が行われ、特定の説明的な実施形態が例示として示される。しかしながら、他の実施形態が利用されてもよいこと、ならびに、論理的、機械的、および電気的な変更が行われてもよいことを理解されたい。さらに、本図面および本明細書において提示される方法は、個々の行為が実施され得る順序を限定するものとして解釈されるべきではない。したがって、以下の詳細な説明は、限定的な意味に取られるべきではない。
【００１１】
[0013]図１は、通信システム１００の一実施形態のブロック図である。通信システム１００は、複数のノード１０２−１・・・１０２−Ｎ（エンドシステムとも呼ばれる）と、少なくとも１つのスイッチ１０４とを含む。通信システム１００は、スイッチ１０４を介して、ノード１０２−１・・・１０２−Ｎ間でフレームを通信するために、仮想リンクを使用するように構成される。本明細書で使用されるとき、仮想リンクは、スイッチ１０４を介して２つ以上のノード１０２を接続する単方向論理パスである。たとえば、いくつかの実施形態において、通信システム１００は、Ａｅｒｏｎａｕｔｉｃａｌ  Ｒａｄｉｏ，Ｉｎｃｏｒｐｏｒａｔｅｄ（ＡＲＩＮＣ）規格６６４パート７（アビオニクス全二重交換イーサネット（ＡＦＤＸ）とも呼ばれる）と互換性のあるプロトコルを実装するように構成された、全二重交換イーサネットネットワークである。いくつかの実施形態において、仮想リンクは、ＡＲＩＮＣ規格６６４パート７において定義されるように、唯一の送信元ノード１０２を有するように制限される。しかしながら、他の実施形態においては、‘０４６出願で説明されるように、スイッチ１０４は、複数のノード１０２を、単一の仮想リンクのための有効な送信元ノードとして受け入れるように構成される。
【００１２】
[0014]各ノード１０２は、少なくとも１つの仮想リンクのための送信元ノードとして構成される。説明目的のみのために、各ノード１０２は、図１に示される例示的な実施形態において、３つの仮想リンクのための送信元ノードとして構成される。各仮想リンクは、帯域幅割当てギャップ（バッグ）を使用して構成される。バッグは、ノードから送信される、同じ仮想リンクの任意の２つのフレーム間の最小距離である。
【００１３】
[0015]ノード１０２−２は、従来のＡＲＩＮＣ６６４パート７エンドシステムにあるように、対応するバッグに適合しているかについて各仮想リンクのフレームをチェックするように構成された仮想リンク（ＶＬ）シェーパー１１２を含む。特に、所与の仮想リンクのフレームが、対応するバッグよりも速くホストコンピュータ（図示せず）から出力される場合、ＶＬシェーパー１１２は、フレームがそれぞれのバッグに適合するように、フレームをバッファし、出力フローを調整する。所与のホストコンピュータのフレームが、それぞれのバッグよりも遅く出力される場合、ＶＬシェーパー１１２は、プロトコルによって規定された最高技術のレイテンシでフレームが即座に出力されるのを可能にする。ＶＬシェーパー１１２のＶＬシェーピング機能は、処理ユニットによって実行されるソフトウェアにおいて実装されてもよい。
【００１４】
[0016]フレームの調整されたフローは、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）１１０に入力される。ＳｅｒＤｅｓ１１０は、調整されたフローをスケジュールし、それを、ポート１０８を介してスイッチ１０４のポート１０６−２に出力されるフレームの単一の調整されたフローに多重化する。スイッチ１０４のＶＬトラフィックマネジャ１１４が、フレームの調整されたフローを、ポート１０６−２に適したすべての仮想リンクのリスト、および調整されたフレームのそれぞれのタイミングパラメータと比較することによって、それらをチェックする。フレームの調整されたフローがチェッカー機能に合格すると、それらはそれぞれの仮想リンクに関連付けられた出力ポートの出力キューにルーティングされる。
【００１５】
[0017]ノード１０２−２とは異なり、ノード１０２−１は、複数の仮想リンクのためのフレームのフローを調整しない。代わりに、ノード１０２−１は、フレームの調整されていないフローを、フレームの単一の調整されていないフローに多重化する。たとえば、いくつかの実施形態において、ＳｅｒＤｅｓ１１０は、先着順にフレームを出力するように構成される。他の実施形態において、ＳｅｒＤｅｓ１１０は、優先度ベースのキューイングなどの、異なるポリシーに基づいてフレームを出力する。しかしながら、ＳｅｒＤｅｓは、それぞれのバッグに適合させるためにフレームのフローを調整しない。フレームの調整されていないフローは、ノード１０２−１のポート１０８を介して、スイッチ１０４のポート１０６−１に出力される。フレームの調整されていないフローがスイッチにおいて受信されるとき、ＶＬトラフィックマネジャ１１４は、以下でさらに詳細に説明されるように、フレームのフローを調整するように構成される。
【００１６】
[0018]ＶＬトラフィックマネジャ１１４はまた、スイッチにおいて調整されたフローを、スケジュールし、それぞれの仮想リンクに関連付けられた出力ポートの出力キューに出力する。したがって、一般的にノード１０２において実行されるシェーピング機能およびスケジューリング機能は、ノード１０２−１からスイッチにオフロードされる。いくつかの実施形態において、各出力キューに記憶される、またはバッファされるフレームの数が、キューごとに構成される。言い換えれば、各キューにバッファされるフレームの数は、他のキューから独立して構成される。加えて、いくつかの実施形態において、各キューは、キューがいっぱいになったときに、キューの中で最も古いフレームを新たに受信されたフレームに置き換えることによって、それぞれのキューにおけるフレームを管理するように、キューごとに構成される。他の実施形態において、各キューは、キューがいっぱいになると、新たに受信されたフレームをドロップすることによって、それぞれのキューにおけるフレームを管理するように、キューごとに構成される。したがって、各キューは、それぞれのキューにおけるフレームを、他のキューから独立して管理するように構成されることが可能である。各キューはまた、先入れ先出しベースで、または優先度ベース方式で、それぞれのキューからフレームを出力するように、キューごとに構成される。いくつかの実施形態において、フレームのそれぞれのフローのフレームから取得された仮想リンクＩＤなどの情報に基づいて、優先度情報が取得される。
【００１７】
[0019]加えて、いくつかの実施形態において、シェーピング機能およびスケジューリング機能は、当業者に知られているコンポーネントを使用して、スイッチ１０４のハードウェアにおいて実行され、コンポーネントは、１つまたは複数の論理ゲート（すなわち、ＡＮＤ、ＯＲ、ＮＯＴなど）および１つまたは複数のバッファなどであるが、それらに限定されない。他の実施形態において、シェーピング機能およびスケジューリング機能は、スケジューリング機能およびシェーピング機能において使用されるさまざまな方法、プロセスタスク、計算、および制御機能を実行するための、ソフトウェアプログラム、ファームウェア、または他のコンピュータ可読命令によって機能する処理ユニットで実装される。
【００１８】
[0020]これらの命令は、一般に、コンピュータ可読命令またはデータ構造を記憶するために使用される任意の適切なコンピュータ可読媒体に記憶される。コンピュータ可読媒体は、汎用コンピュータもしくは特殊目的コンピュータ、またはプロセッサ、または任意のプログラマブル論理デバイスによってアクセスされ得る任意の利用可能な媒体として実装されてもよい。好適なプロセッサ可読媒体は、磁気媒体または光学媒体などの記憶媒体またはメモリ媒体を含むことができる。たとえば、記憶媒体またはメモリ媒体は、従来のハードディスク、コンパクトディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）などの揮発性または不揮発性媒体（同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）、ダブルデータレート（ＤＤＲ）ＲＡＭ、ＲＡＭＢＵＳ動的ＲＡＭ（ＲＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）などを含むが、これらに限定されない）、読み取り専用メモリ（ＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、およびフラッシュメモリなどを含むことができる。好適なプロセッサ可読媒体はまた、ネットワークおよび／またはワイヤレスリンクなどの通信媒体を介して伝達される電気的信号、電磁気的信号、または、デジタル信号などの伝送媒体を含むことができる。
【００１９】
[0021]ノード１０２−Ｎはまた、ノード１０２−２と同様にＶＬシェーパー１１２を含む。ノード１０２−ＮのＶＬシェーパー１１２は、ノード１０２−２のＶＬシェーパー１１２と同様に、仮想リンクのフローを調整するように動作する。しかしながら、ノード１０２−Ｎは、複数の仮想リンクのためのフレームの調整されていないフローのサブセットのみを調整するように構成される。したがって、フレームの少なくとも１つの調整されていないフローが、ノード１０２−２のＳｅｒＤｅｓ１１０においてフレームの調整されたフローに多重化される。フレームの混合されたフローは、ノード１０２−２のポート１０８を介して、スイッチ１０４のポート１０６−Ｎに出力される。ＶＬトラフィックマネジャ１１４は、調整されていないフローから調整されたフローを分離する。ＶＬトラフィックマネジャ１１４は、フレームの調整されたフローに対しては、上で説明されたチェッカー機能のみを実行する。しかしながら、ＶＬトラフィックマネジャ１１４は、フレームの調整されていないフローを調整し、スケジュールする。調整されたフローおよび調整されていないフローは次いで、仮想リンクに関連付けられたそれぞれの出力ポートの出力キューに出力される。
【００２０】
[0022]このようにして、図１のスイッチ１０４は、シェーピング（調整）機能およびスケジューリング機能を、ポート１０６−１・・・１０６−Ｎにわたって受信されたフレームのフローに適用するように、仮想リンクごとに構成される。言い換えれば、トラフィックシェーピングは、すべてのポート１０６−１・・・１０６−Ｎで受信されたフレームに適用されるのではなく、スイッチポートのサブセット上で受信されたフレームに適用される。加えて、特定のポート１０６について、シェーピングおよびスケジューリングが、それぞれのポート１０６にわたって受信されたフローのサブセットに選択的に適用されてもよい。
【００２１】
[0023]図２は、スイッチ２０４の一実施形態のブロック図である。スイッチ２０４は、（ポート１〜Ｎともラベル付けされた）ポート２０６−１・・・２０６−Ｎを含む。スイッチ２０４はまた、仮想リンク（ＶＬ）トラフィックマネジャ２１４を含む。ＶＬトラフィックマネジャ２１４は、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）２１６と、トラフィックシェーピング・モジュール２１８と、ポリシーチェッカー・モジュール２２０と、ルーター２２２とを含む。説明目的のみのために、ＶＬトラフィックマネジャ２１４は、ポート２０６−１のみに結合されているものとして表される。しかしながら、ポート２０６−２・・・２０６−Ｎもまた、ＶＬトラフィックマネジャ２１４に結合されることを理解されたい。加えて、いくつかの実施形態において、ＶＬトラフィックマネジャ２１４の機能性は、各ポート２０６を単一のＶＬトラフィックマネジャ２１４に結合するのではなく、複数のポート２０６の各々のために複製される。
【００２２】
[0024]ＳｅｒＤｅｓ２１６は、ポート２０６−１に結合されたノードから送信されたフレームの多重化されたフローを受信する。ＳｅｒＤｅｓ２１６は、フローを、フレームの個々のフローに分離する。フレームの多重化されたフローが調整されたフローを含む場合、調整されたフローは、ＳｅｒＤｅｓ２１６からポリシーチェッカー・モジュール２２０へと渡される。たとえば、いくつかの実施形態において、スイッチ２０４は、送信元ノードにおいて調整される仮想リンクのリストと、スイッチ１０４においてフロー調整を必要とする仮想リンクのリストとを備えて構成される。フレームに含まれた仮想リンクＩＤを比較することによって、スイッチ１０４は、調整されたフローと、調整されていないフローとを識別する。ポリシーチェッカー・モジュール２２０は、調整されたフローの仮想リンクが、フレームのフローが受信されたポートのために有効な仮想リンクであるかどうかを判定する。加えて、いくつかの実施形態において、ポリシーチェッカー・モジュール２２０は、トラフィックポリシングを実施する。たとえば、いくつかの実施形態において、ポリシーチェッカー・モジュール２２０は、所与の仮想リンクのフレームが、仮想リンクのためのそれぞれのバッグを超えることを防ぐように構成される。調整されたフローがチェッカー機能に合格すると、ポリシーチェッカー・モジュール２２０は、調整されたフローをルーター２２２に出力する。
【００２３】
[0025]各仮想リンクの調整されていないフローは、ＳｅｒＤｅｓ２１６からトラフィックシェーピング・モジュール２１８に出力される。トラフィックシェーピング・モジュール２１８は、各仮想リンクの、対応する調整されていないフローのための入力キュー２１９を含む。したがって、説明目的のために、この例では１つのみの入力キュー２１９が示されているが、他の実施形態においては、２つ以上の入力キュー２１９が使用されてもよいことを理解されたい。
【００２４】
[0026]トラフィックシェーピング・モジュール２１８は、各仮想リンクのフレームが、対応するバッグに適合することを保証する。特に、所与の仮想リンクのフレームが対応するバッグの許可よりも近い場合、トラフィックシェーピング・モジュール２１８は、フレームがそれぞれのバッグに適合するように、フレームを対応する入力キュー２１９にバッファし、出力フローを調整する。たとえば、いくつかの実施形態において、入力キュー２１９は、キューがいっぱいになったときに、キューの中で最も古いフレームを新たに受信されたフレームに置き換えることによって、入力キュー２１９におけるフレームを管理するように構成される。他の実施形態において、入力キューは、キューがいっぱいになると、新たに受信されたフレームをドロップすることによって、それぞれのキューにおけるフレームを管理するように構成される。加えて、対応する入力キュー２１９にバッファされることになるフレームの数は、キューごとに決定される。
【００２５】
[0027]所与の仮想リンクのフレームが十分に離れている場合、かつ、したがって仮想リンクのためのそれぞれのバッグに適合する場合、トラフィックシェーピング・モジュール２１８は、プロトコルによって規定された最高技術のレイテンシで、フレームを即座に出力する。トラフィックシェーピング・モジュール２１８は、各仮想リンクのためのフレームの調整されたフローを、ルーター２２２に出力する。
【００２６】
[0028]ルーター２２２は、フレームの調整されたフローを、それぞれの仮想リンクのための対応する出力ポート２０６にルーティングするように構成される。たとえば、図２に示されるように、仮想リンクのフレームは、そのフレームが受信された同じポートを含む、１つまたは複数の出力ポート２０６にルーティングされてもよい。特に、各仮想リンクのためのフレームは、それぞれの仮想リンクのための対応する出力ポートの出力キュー２２４に置かれる。説明目的のために、ポート２０６−４のための出力キュー２２４のみが示されるが、各ポート２０６がポートキューに関連付けられることを理解されたい。
【００２７】
[0029]図３は、スイッチ３０４の別の例示的な実施形態のブロック図である。スイッチ２０４と同様に、スイッチ３０４は、仮想リンク（ＶＬ）トラフィックマネジャ３１４を含む。ＶＬトラフィックマネジャ３１４は、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）３１６と、トラフィックシェーピング・モジュール３１８と、ポリシーチェッカー・モジュール３２０と、ルーター３２２とを含む。ＶＬトラフィックマネジャ３１４のコンポーネントの各々は、図２のＶＬトラフィックマネジャ２１４に関して上で説明されたように機能する。しかしながら、図３に示される実施形態においては、トラフィックシェーピング・モジュール３１８が、各仮想リンクのためのフレームの調整されたフローを、直接ルーター３２２にではなく、ポリシーチェッカー・モジュール３２０に出力するように構成される。したがって、この例示的な実施形態では、ポリシーチェッカー・モジュール３２０が、トラフィックシェーピング・モジュール３１８からの調整されたフローをトラフィックポリシーに適合しているかについてチェックし、各仮想リンクがそれらのフローが受信されたポートのための有効な仮想リンクであることを検証する。調整されたフローがトラフィックポリシーチェックに合格すると、フローは、上で説明されたように、ルーティングされるためにルーター３２２に渡される。
【００２８】
[0030]図４は、集中型トラフィックシェーピングの方法４００の一実施形態を表す流れ図である。方法４００は、上で説明されたスイッチ１０４、２０４、または３０４などのスイッチにおいて実装されてもよい。４０２で、各々がそれぞれの仮想リンクに対応しているフレームの複数のフローが、スイッチにおいて受信される。本明細書で使用されるとき、「フレームの調整されていないフロー」または「調整されていないフロー」は、トラフィックシェーピングがフレームに適用されずに、ノードから送信されたフレームのフローを意味するように定義される。言い換えれば、ノードは、それぞれの仮想リンクに対応するさまざまなフレームのタイミング、スペーシング、帯域幅などを調整しない、または制御しない。したがって、「フレームの制御されたフロー」は、トラフィックシェーピングポリシーが適用されているフローである。
【００２９】
[0031]いくつかの実施形態において、フレームの単一の調整されていないフローが、スイッチの各ポートで受信される。しかしながら、他の実施形態においては、複数の調整されていないフローの組合せが、スイッチの単一のポートで受信される。さらに他の実施形態においては、フレームの調整されていないフローと一緒になった調整されたフローの組合せが、１つまたは複数のポートで受信される。
【００３０】
[0032]４０４で、フレームの２つ以上のフローが単一のポートで受信された場合、上で説明されたように、フローは個々のフローに分離される。４０６で、フレームの少なくとも１つの調整されていないフローのそれぞれの仮想リンクに基づいて、フレームの複数のフローから、フレームの少なくとも１つの調整されていないフローが識別される。
【００３１】
[0033]４０８で、それぞれの仮想リンクのパラメータに従って、フレームの識別された調整されていないフローは、バッファされ、スイッチにおいてシェーピングされる。たとえば、各仮想リンクは、異なるバッグを割り当てられてもよい。したがって、各個々の調整されていないフローは、それぞれのバッグに適合するようにシェーピングされる。加えて、いくつかの実施形態において、スイッチは、ハードウェアにおいて個々のフローをシェーピングするように構成される。さらに、いくつかの実施形態において、１つまたは複数の入力キューにバッファされることになるフレームのシェーピングされたフローのフレームの数が、上で説明されたように、キューごとに決定される。
【００３２】
[0034]４１０で、フレームの個々の調整されたフローが、対応する仮想リンクに関連付けられたそれぞれのトラフィックポリシーに適合しているかについて、スイッチにおいてチェックされる。たとえば、フレームの調整されたフローが、調整されていないフローと一緒にポートで受信された場合、調整されたフローは、上で説明されたように、それぞれのトラフィックポリシーに適合しているかについてチェックされる。加えて、いくつかの実施形態において、スイッチにおいてシェーピングされた個々のフローはまた、それぞれのトラフィックポリシーに適合しているかについてチェックされる。さらに、トラフィックポリシーに適合しているかについてチェックするステップはまた、フレームのフローが、フレームのそれぞれのフローに関連付けられた仮想リンクのための有効なポートにおいて受信されたかどうかを判定するステップを含む。
【００３３】
[0035]４１２で、それぞれの仮想リンクに基づいて、シェーピングされたフローがスケジュールされ、対応する出力ポートの１つまたは複数の出力キューにルーティングされる。たとえば、調整されたフローは、それらが受信されたのと同じ入力ポートに、異なる出力ポートに、または複数の出力ポートに出力されてもよい。フレームの各受信されたフローは、フレームの各フローに関連付けられた仮想リンクに応じて、異なる出力ポートに出力されてもよいことを理解されたい。
【００３４】
[0036]４１４で、シェーピングされたフローのフレームが、１つまたは複数の出力キューから出力される。いくつかの実施形態において、１つまたは複数の出力キューからのフレームのシェーピングされたフローのフレームは、先入れ先出しポリシーに基づいて出力される。他の実施形態においては、フレームは、優先度ランキングに基づいて出力される。いくつかの実施形態において、シェーピングされたフローのフレームにおけるデータから、優先度ランキングが取得されてもよい。
【実施例１】
【００３５】
[0037]実施例１は、複数のノードと、複数のポートを有するスイッチとを備える通信システムを含み、各ポートは複数のノードのうちの１つに結合される。通信システムにおいて、複数のノードのうちの少なくとも１つが、第１の仮想リンクに関連付けられたフレームの第１の調整されていないフローを、スイッチの複数のポートのうちの第１のポートに送信するように構成される。通信システムにおいて、スイッチは、第１の調整されていないフローのフレームを、第１の仮想リンクに関連付けられた第１の入力キューにバッファすることによって、第１の仮想リンクに関連付けられたトラフィックシェーピングパラメータを、第１の仮想リンクに関連付けられた第１の入力キューにおけるフレームに適用することによって、かつ、第１の仮想リンクに基づいて、フレームの第１の調整されたフローを、１つまたは複数の出力ポートに関連付けられた１つまたは複数の出力キューに出力することによって、フレームの第１の調整されていないフローを調整するように構成される。
【実施例２】
【００３６】
[0038]実施例２は、実施例１の通信システムを含み、通信システムにおいて、少なくとも１つのノードは、第２の仮想リンクに関連付けられたフレームの第２の調整されたフローを、スイッチの第１のポートに送信するようにさらに構成される。通信システムにおいて、スイッチは、第１のポートが第２の仮想リンクのための有効な送信元ポートであることをチェックし、第１のポートが第２の仮想リンクのための有効な送信元ポートである場合に、フレームの第２の調整されたフローを１つまたは複数の出力キューに渡すように構成される。
【実施例３】
【００３７】
[0039]実施例３は、実施例１〜２のいずれかの通信システムを含み、通信システムにおいて、スイッチおよび複数のノードは、ＡＲＩＮＣ６６４パート７と互換性のあるプロトコルを実装するように構成される。
【実施例４】
【００３８】
[0040]実施例４は、実施例１〜３のいずれかの通信システムを含み、通信システムにおいて、１つまたは複数の出力キューは、第１の仮想リンクに関連付けられたフレームの第１の調整されたフローの１つまたは複数のフレームをバッファするように構成される。
【実施例５】
【００３９】
[0041]実施例５は、実施例１〜４のいずれかの通信システムを含み、通信システムにおいて、第１の入力キューは、第１の入力キューがいっぱいになったときに、第１の入力キューの中で最も古いフレームを新たに受信されたフレームに置き換えることによって、または新たに受信されたフレームをドロップすることによって、第１の入力キューにおけるフレームを管理するように構成される。
【実施例６】
【００４０】
[0042]実施例６は、実施例１〜５のいずれかの通信システムを含み、通信システムにおいて、スイッチは、先入れ先出しベースまたは優先度ベースのうちの１つに基づいて、１つまたは複数の出力キューの各々からフレームを出力するように構成される。
【実施例７】
【００４１】
[0043]実施例７は、実施例６の通信システムを含み、通信システムにおいて、スイッチは、フレームの第１の調整されたフローのフレームにおける情報から優先度情報を引き出すように構成される。
【実施例８】
【００４２】
[0044]実施例８は、通信システムにおけるスイッチを含み、スイッチは、複数のポートを備える。各ポートは、それぞれのノードに結合され、それぞれのノードから、それぞれの仮想リンクに関連付けられたフレームの少なくとも１つのフローを受信するように構成され、ここで、ノードのうちの１つからのフレームの少なくとも１つのフローは、フレームの調整されていないフローである。スイッチはさらに、複数のポートに結合されたトラフィックシェーピング・モジュールであって、各入力キューがそれぞれの仮想リンクに関連付けられた少なくとも１つの入力キューを有するトラフィックシェーピング・モジュールを備え、トラフィックシェーピング・モジュールは、各仮想リンクのフレームを、それぞれの入力キューにバッファし、それぞれの仮想リンクに基づいて、トラフィックシェーピングパラメータを、それぞれの入力キューにおけるフレームに適用するように構成される。スイッチはさらに、少なくとも１つの出力キューが各仮想リンクに関連付けられた複数の出力キューと、トラフィックシェーピング・モジュールによってシェーピングされたフレームのフローのそれぞれの仮想リンクに基づいて、トラフィックシェーピング・モジュールによってシェーピングされたフレームのフローを、複数の出力キューのうちの１つまたは複数に提供するように構成されたルーターとを備える。
【実施例９】
【００４３】
[0045]実施例９は、実施例８のスイッチを含み、スイッチは、ＡＲＩＮＣ６６４パート７と互換性のあるプロトコルを実装するように構成される。
【実施例１０】
【００４４】
[0046]実施例１０は、実施例８〜９のいずれかのスイッチを含み、スイッチは、それぞれの入力キューにバッファされることになる、トラフィックシェーピング・モジュールによってシェーピングされたフレームのフローのフレームの数を、キューごとに構成する。
【実施例１１】
【００４５】
[0047]実施例１１は、実施例８〜１０のいずれかのスイッチを含み、スイッチは、先入れ先出しベースまたは優先度ベースのうちの１つに基づいて、１つまたは複数の出力キューの各々からフレームを出力するように構成される。
【実施例１２】
【００４６】
[0048]実施例１２は、実施例８〜１１のいずれかのスイッチを含み、スイッチは、フレームのそれぞれのフローから取得された情報に基づいて、１つまたは複数の出力キューの各々からフレームを出力する順序を決定するように構成される。
【実施例１３】
【００４７】
[0049]実施例１３は、実施例８〜１２のいずれかのスイッチを含み、スイッチはさらに、同じポート上で受信されたフレームの個々のフローを分離するように構成されたデシリアライザと、フレームの各受信されたフローが、フレームの各フローに関連付けられたそれぞれの仮想リンクのための有効なポートで受信されたかどうかをチェックするように構成されたポリシーチェッカー・モジュールとを備える。
【実施例１４】
【００４８】
[0050]実施例１４は、集中型トラフィックシェーピングの方法を含み、方法は、フレームのフローの各々がそれぞれの仮想リンクに対応しているフレームの複数のフローをスイッチにおいて受信するステップと、フレームの少なくとも１つの調整されていないフローのそれぞれの仮想リンクに基づいて、フレームの複数のフローからフレームの少なくとも１つの調整されていないフローを識別するステップと、フレームの調整されていないフローのそれぞれの仮想リンクに関連付けられたトラフィックシェーピングパラメータに基づいて、フレームの少なくとも１つの識別された調整されていないフローをスイッチにおいてシェーピングするステップと、それぞれの仮想リンクに基づいて、フレームのシェーピングされたフローを１つまたは複数の出力キューにルーティングするステップとを含む。
【実施例１５】
【００４９】
[0051]実施例１５は、実施例１４の方法を含み、方法において、フレームの少なくとも１つの識別された調整されていないフローをスイッチにおいてシェーピングするステップは、フレームの少なくとも１つの識別された調整されていないフローをスイッチのハードウェアにおいてシェーピングするステップを含む。
【実施例１６】
【００５０】
[0052]実施例１６は、実施例１４〜１５のいずれかの方法を含み、方法において、フレームの複数のフローを受信するステップは、フレームの複数のフローをフレームの組み合わされたフローとして単一のポートにおいて受信するステップを含み、方法はさらに、フレームの複数のフローを、フレームの組み合わされたフローからフレームの個々のフローに分離するステップを含む。
【実施例１７】
【００５１】
[0053]実施例１７は、実施例１４〜１６のいずれかの方法を含み、方法はさらに、フレームの少なくとも１つの調整されたフローのそれぞれの仮想リンクに基づいて、フレームの複数のフローからフレームの少なくとも１つの調整されたフローを識別するステップと、フレームの少なくとも１つの識別された調整されたフローがそれぞれの仮想リンクのための有効なポートで受信されたかどうかを判定するために、フレームの少なくとも１つの識別された調整されたフローをチェックするステップとを含む。
【実施例１８】
【００５２】
[0054]実施例１８は、実施例１４〜１７のいずれかの方法を含み、方法はさらに、１つまたは複数の入力キューの各々にバッファされることになるフレームのシェーピングされたフローのフレームの数を、キューごとに決定するステップを含む。
【実施例１９】
【００５３】
[0055]実施例１９は、実施例１４〜１８のいずれかの方法を含み、方法はさらに、先入れ先出しベースまたは優先度ベースのうちの１つに基づいて、１つまたは複数の出力キューからフレームのシェーピングされたフローのフレームを出力するステップを含む。
【実施例２０】
【００５４】
[0056]実施例２０は、実施例１９の方法を含み、方法はさらに、フレームのシェーピングされたフローにおけるフレームから取得された情報に基づいて、１つまたは複数の出力キューからフレームを出力する順序を決定するステップを含む。
【００５５】
[0057]本明細書において、特定の実施形態が図示され、説明されてきたが、同じ目的を達成するように計算された任意の構成が、示された特定の実施形態の代わりに使用されてもよいことが、当業者によって認識されるであろう。したがって、本発明は、特許請求の範囲およびその均等物によってのみ限定されることが明白に意図される。
【符号の説明】
【００５６】
１００  通信システム
１０２  ノード
１０４  スイッチ
１０６  ポート
１０８  ポート
１１０  シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）
１１２  仮想リンク（ＶＬ）シェーパー
１１４  仮想リンク（ＶＬ）トラフィックマネジャ
２０４  スイッチ
２０６  ポート／出力ポート
２１４  仮想リンク（ＶＬ）トラフィックマネジャ
２１６  シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）
２１８  トラフィックシェーピング・モジュール
２１９  入力キュー
２２０  ポリシーチェッカー・モジュール
２２２  ルーター
２２４  出力キュー
３０４  スイッチ
３１４  仮想リンク（ＶＬ）トラフィックマネジャ
３１６  シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）
３１８  トラフィックシェーピング・モジュール
３２０  ポリシーチェッカー・モジュール
３２２  ルーター
【図１】
0005941309.tif 000002
【図２】
0005941309.tif 000003
【図３】
0005941309.tif 000004
【図４】
0005941309.tif 000005