(57)【特許請求の範囲】
【請求項１】
データ通信スイッチ（１００）のためのサービス品質（ＱｏＳ）成形方法であって、
インバウンド優先順位値（４１０）を有するパケットを受信することと、
パケットアドレス指定情報に従って、パケットのＱｏＳ情報を引き出すためのインデックス（４０８）を決定することと、
インデックス（４０８）およびインバウンド優先順位値を使用して、表（４００）からパケットのＱｏＳ情報を引き出すこととを含み、ＱｏＳ情報が、内部優先順位値およびアウトバウンド優先順位値を含み、内部優先順位値がアウトバウンド優先順位値とは異なり、前記方法が、
内部優先順位値を使用してデータ通信スイッチ（１００）のパケットに優先順位を付けることと、
パケットにアウトバウンド優先順位値を挿入することと、
アウトバウンド優先順位値でスイッチ（１００）からパケットを送信することとを含む、サービス品質（ＱｏＳ）成形方法。
【請求項２】
インバウンド優先順位値が、レイヤ２における８０２．１Ｑタグフィールド、レイヤ３におけるサービスタイプ（ＴｏＳ）フィールド、およびレイヤ３におけるＤｉｆｆＳｅｒｖの少なくとも１つからの情報を含む、請求項１に記載の方法。
【請求項３】
パケットアドレス指定情報が、レイヤ２のアドレス情報、レイヤ３のアドレス情報、およびレイヤ４のポート番号情報の少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
表（４００）が、
インデックス（４０８）およびインバウンド優先順位値（４１０）から内部優先順位値を取り出すための内部優先順位マップ（４０４）と、
インデックス（４０８）およびインバウンド優先順位値（４１０）からアウトバウンド優先順位値を取り出すためのアウトバウンド優先順位マップ（４０６）とを含む複数の表のうちの１つである、請求項１に記載の方法。
【請求項５】
スイッチ（１００）の動作中に、表（４００）を更新することができる、請求項１に記載の方法。
【請求項６】
ＱｏＳ情報を引き出すことが、表（４００）にインバウンド優先順位値をマッピングすることを含む、請求項１に記載の方法。
【請求項７】
バックプレーン（１１１）を介して相互接続されている複数のスイッチングモジュール（１０１ａ〜１０１ｃ）を有するデータ通信スイッチ（１００）であって、各スイッチングモジュール（１０１ａ〜１０１ｃ）が、
パケットアドレス指定情報を有する入力キーとインバウンド優先順位値とを含んでいるパケットをネットワークから受信するためのアクセスコントローラ（２０１）と、
アクセスコントローラ（２０１）からパケットを受信し、かつ、入力キーを出力として提供するためのスイッチングコントローラ（２１１）と、
入力キーを受信し、かつ、入力キーに基づいてインデックスを出力として提供するためのパケット転送論理（２２０）と、
インデックス（４０８）とインバウンド優先順位値とを受信し、かつ、インデックス（４０８）とインバウンド優先順位値とに基づいて表（４００）からＱｏＳ情報を選択するためのＱｏＳ成形論理（２１５）とを含み、
ＱｏＳ情報が、データ通信スイッチ（１００）のパケットに優先順位を付けるための内部優先順位値（４０４）と、スイッチから送信されたパケットに含まれるアウトバウンド優先順位値（４０６）とを含み、内部優先順位値がアウトバウンド優先順位値とは異なる、データ通信スイッチ。
【請求項８】
入力キーが、パケットに関連付けられている１つまたは複数のフロー特性を含む、請求項７に記載のデータ通信スイッチ（１００）。
【請求項９】
入力キーが、レイヤ２のアドレス情報、レイヤ３のアドレス情報、およびレイヤ４のポート番号情報の少なくとも１つを含む、請求項８に記載のデータ通信スイッチ（１００）。
【請求項１０】
インバウンド優先順位値が、レイヤ２の８０２．１Ｑタグフィールド、レイヤ３のサービスタイプ（ＴｏＳ）フィールド、およびレイヤ３のＤｉｆｆＳｅｒｖの少なくとも１つからの情報を含む、請求項７に記載のデータ通信スイッチ（１００）。
【請求項１１】
ＱｏＳ成形論理（２１５）がＱｏＳシェイパ（２１９）を含む、請求項９に記載のデータ通信スイッチ（１００）。
【請求項１２】
ＱｏＳ成形論理（２１５）が複数の表を含み、インデックス（４０８）が、ＱｏＳ情報を選択するために使用する複数の表のうちから表（４００）を選択するために使用される、請求項７に記載のデータ通信スイッチ（１００）。
【請求項１３】
インバウンド優先順位値を選択するために、インバウンド優先順位値を表（４００）にマッピングする、請求項１２に記載のデータ通信スイッチ（１００）。
【請求項１４】
パケット転送論理（２２０）が、入力キーを受信し、かつ第１の段階の動作でインデックス（４０８）を提供し、ＱｏＳ成形論理（２１５）が、インデックス（４０８）およびインバウンド優先順位値を受信し、かつ第２の段階の動作でＱｏＳ情報を選択する、請求項７に記載のデータ通信スイッチ（１００）。
【請求項１５】
入力キーが、ＱｏＳの定義に専用でない少なくとも１つのパケットフィールドからの情報を含む、請求項７に記載のデータ通信スイッチ（１００）。
【請求項１６】
表（４００）が、インデックス（４０８）およびインバウンド優先順位値（４１０）を内部優先順位値に関連付ける内部優先順位マップ（４０４）と、
インデックス（４０８）およびインバウンド優先順位値（４１０）をアウトバウンド優先順位値に関連付けるアウトバウンド優先順位マップ（４０６）とを含む、請求項１２に記載のデータ通信スイッチ（１００）。
【請求項１７】
内部優先順位値を選択するために、インバウンド優先順位値を選択される内部優先順位マップ（４０４）にマッピングし、アウトバウンド優先順位値を選択するために、インバウンド優先順位値を選択されるアウトバウンド優先順位マップにマッピングする、請求項１６に記載のデータ通信スイッチ（１００）。
【請求項１８】
パケットが、１つまたは複数の優先順位クラスの１つに関連付けられており、内部優先順位値とアウトバウンド優先順位値が、関連付けられている優先順位クラスに対応する表（４００）に基づいて選択される、請求項１７に記載のデータ通信スイッチ（１００）。
【請求項１９】
パケットを含んでいるフローのすべてのパケットが、同じ優先順位クラスに関連付けられている、請求項１８に記載のデータ通信スイッチ（１００）。
【発明の詳細な説明】
【０００１】
関連出願の相互参照
本出願は、２０００年９月２０日に出願された、「Ｈｉｇｈ  Ｓｐｅｅｄ  ＬＡＮ  Ｓｗｉｔｃｈｉｎｇ  Ｃｏｎｔｒｏｌｌｅｒ」という名称の、米国特許仮出願（出願番号第６０／２３４，０２８号）の出願日の利益を主張し、参照により、その内容を本明細書に組み込む。本出願は、２０００年１１月２１日に出願された、「ＱｏＳ  Ｓｈａｐｉｎｇ／Ｐｒｏｖｉｓｉｏｎｉｎｇ  ｆｏｒ  Ｄａｔａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｗｉｔｃｈ」という名称の、米国特許出願に関係する主題を含む。
【０００２】
【発明の属する技術分野】
本発明は、データ通信スイッチにおいてサービス品質（ＱｏＳ）を決定するための装置に関し、特に、データ通信スイッチにおいてＱｏＳの決定を段階的に実施するための装置に関する。
【０００３】
【従来の技術】
データ通信スイッチは、通常、パケットの転送プロセスを助けるための転送論理を有する。従来のパケット転送論理では、通常、アドレス指定と他の情報を含んでいるキーを入力として使用して、出力として転送情報を含んでいる結果を引き出す。
【０００４】
【発明が解決しようとする課題】
サービス品質（ＱｏＳ）の出現により、ＩＥＥＥ８０２．１Ｑおよび特化サービス（ＤｉｆｆＳｅｒｖ）など、多くのスイッチングプロトコルにより、パケット処理の一部として、インバウンドパケットのＱｏＳ情報を変更、または「成形（ｓｈａｐｉｎｇ）」することが可能になる。変更されたＱｏＳ情報は、通常、インバウンドＱｏＳ情報および受信ポートなど他のフロー特性（ｆｌｏｗ  ｐｒｏｐｅｒｔｙ）に応じて決定される。したがって、インバウンドＱｏＳ情報は、パケットの処理中に考慮されている情報のアレイに追加されるべきである。
【０００５】
多くのパケット処理スキームは、単に、インバウンドＱｏＳ情報をパケット転送論理入力キーに追加することによって、これを達成する。インバウンドＱｏＳ情報を入力キーに組み込むことによって、（結果的な出力を通して）パケット転送論理は、カスタマイズしたＱｏＳ成形情報を、インバウンドＱｏＳ情報、アドレス指定情報、及び他の情報の各組合せについて提供する。
【０００６】
しかし、そのような個別に適合させたＱｏＳ成形情報には、通常、入力キーがかなり複雑になるという代償が伴う。例えば、通常、これにより、かなりな程度の追加のメモリ要件が課され、また、通常、ネットワーク管理者が、多くの異なる組合せのフロー特性を含む複数のパケットに同じＱｏＳ成形を提供することを望むので、しばしば、必要とされる以上の柔軟性が提供される。さらに、従来のパケット転送論理をＱｏＳ成形機能で強化することが望ましいという程度まで、更新が困難であるハードにコード化したキーのサイズ制限によって、技術上の障害が提示される可能性がある。
【０００７】
したがって、インバウンドＱｏＳ情報を入力キーに統合せずに実現することが可能である、データ通信スイッチのためのＱｏＳ成形情報が必要である。
【０００８】
【課題を解決するための手段】
本発明の一実施形態は、データ通信スイッチのためのサービス品質（ＱｏＳ）成形方法を提供する。インバウンド優先順位値を有するパケットを受信する。次いで、パケットアドレス指定情報に従って、パケットのＱｏＳ成形インデックスを決定する。ＱｏＳ成形インデックスを使用して、パケットのＱｏＳ成形マップを選択する。選択したＱｏＳ成形マップを使用して、インバウンド優先順位値に基づいて、優先順位値を選択する。
【０００９】
本発明の他の実施形態は、バックプレーンを介して相互接続されている複数のスイッチングモジュールを有するデータ通信スイッチを含む。スイッチングモジュールは、ネットワークからパケットを受信するためのアクセスコントローラを含む。パケットは、入力キーとインバウンド優先順位値を含む。また、スイッチングモジュールは、アクセスコントローラからパケットを受信し、かつ、出力として入力キーを提供するためのスイッチングコントローラを含む。また、スイッチングモジュールは、パケット転送論理とＱｏＳ成形論理を含む。パケット転送論理は、入力キーを受信し、入力キーに応答して、出力として、ＱｏＳ成形インデックスを提供する。ＱｏＳ成形論理は、ＱｏＳ成形インデックスとインバウンド優先順位値を受信して、優先順位値を選択する。
【００１０】
本発明のさらに他の実施形態は、段階的に実施される、パケットのためのＱｏＳ成形スキームを有するデータ通信スイッチを含む。パケットは、インバウンド優先順位値を含む。スイッチは、第１の段階手段と第２の段階手段を含む。第１の段階手段は、１つまたは複数のパケットフロー特性を含んでいる入力キーを受信し、入力キーに応答して、ＱｏＳ成形データを出力として提供する。第２の段階手段は、ＱｏＳ成形データを受信し、ＱｏＳ成形データと入力優先順位値に応答して、内部優先順位値とアウトバウンド優先順位値を提供する。
【００１１】
本発明のこれらおよび他の態様は、添付の図面に関連して取り入れた、以下の詳細な説明を参照することによって理解することが可能である。
【００１２】
ＱｏＳは、通常、例えば（１）レイヤ２における３ビットの８０２．１Ｑタグフィールド、（２）レイヤ３における８ビットのサービスタイプ（ＴｏＳ）フィールド、（３）ＱｏＳの定義に専用であるレイヤ３における６ビットのＤｉｆｆＳｅｒｖなどのフィールドによって定義される。
【００１３】
本発明の一実施形態は、８０２．１Ｑアウェアブリッジなど、段階的に実施される、スイッチのためのＱｏＳ成形スキームを提供する。段階的に実施されるＱｏＳ成形スキームは、ＱｏＳに関係するタスクの多くの態様を広範に含み、優先順位成形、リンク共有、帯域幅規定（ｐｒｏｖｉｓｉｏｎｉｎｇ）、および帯域幅制限を含むことが可能であるが、これに限定されるものではない。また、スイッチは、データ通信スイッチと呼ぶことも可能である。
【００１４】
また、類似の段階的に実施されるＱｏＳ成形スキームを、ＤｉｆｆＳｅｒｖ（特化サービス）アウェアルータなど、他のタイプのスイッチに適用することが可能である。ＤｉｆｆＳｅｒｖアウェアルータでは、段階的に実施されるＱｏＳ成形スキームは、「Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ」（ＲＦＣ２４７５）という名称のＩＥＴＦコメント要求２４７５において指定されているＩＰデータグラムなど、レイヤ３パケットのヘッダにおけるＤｉｆｆＳｅｒｖフィールドに関して実施することが可能である。
【００１５】
段階的に実施されるＱｏＳ成形スキームは、既存のパケット転送論理を強化することによって提供することが可能である。そのような段階的に実施されるＱｏＳ成形スキームは、ネットワーク管理者によって容易に管理されることが好ましい。
【００１６】
段階的に実施されるＱｏＳ成形スキームは、２つ以上の段階を含むことが好ましい。第１の段階では、パケット転送論理は、パケットに関連付けられているフロー特性を含んでいる入力キーに応答して、ＱｏＳ成形インデックスを含む結果を戻すことが好ましい。第２の段階では、パケット転送論理から戻されたＱｏＳ成形インデックスをインバウンドＱｏＳ情報と共に使用して、スイッチにおいてパケットを優先づけするための内部ＱｏＳ情報を決定し、および／またはアウトバウンドパケットとして送信する前にパケットに含めるための、アウトバウンドＱｏＳ情報を決定することが好ましい。
【００１７】
ＱｏＳ成形インデックスを使用してパケットの内部ＱｏＳ情報および／またはアウトバウンドＱｏＳ情報を決定することは、ＱｏＳ成形インデックスに応答してＱｏＳ成形論理からＱｏＳ成形マップを戻すことを含みうる。内部ＱｏＳ情報および／またはアウトバウンドＱｏＳ情報の決定は、インバウンドＱｏＳ情報に応じて、内部ＱｏＳ情報および／またはアウトバウンドＱｏＳ情報として、ＱｏＳ成形マップにおいてデータを選択することを含みうる。
【００１８】
インバウンドＱｏＳ情報、内部ＱｏＳ情報、およびアウトバウンドＱｏＳ情報は、例えば、それぞれ、インバウンド優先順位値、内部優先順位値、およびアウトバウンド優先順位値、または、それぞれ、イングレスＱｏＳ値、内部ＱｏＳ値、および、イグレスＱｏＳ値と呼ぶことも可能である。インバウンドＱｏＳ情報とアウトバウンドＱｏＳ情報は、例えば、それぞれ、イングレス優先順位値およびイグレス優先順位値と呼ぶことも可能である。インバウンドパケットとアウトバウンドパケットは、例えば、それぞれ、イングレスパケットおよびイグレスパケットと呼ぶことも可能である。
【００１９】
【発明の実施の形態】
図１は、本発明の一実施形態におけるスイッチ１００を示す。スイッチ１００は、スイッチングモジュール１０１ａ〜１０１ｃに結合されているスイッチングバックプレーン１１１を含むことが好ましい。スイッチングバックプレーン１１１は、スイッチングファブリックを含むことが可能であるか、または、スイッチングファブリック機能は、スイッチングバックプレーンとスイッチングモジュールの間に分配することが可能である。また、スイッチングファブリック（図示せず）は、スイッチングバックプレーン１１１とスイッチングモジュール１０１ａ〜１０１ｃの間をインタフェースすることが可能である。
【００２０】
スイッチングモジュール１０１ａ〜１０１ｃは、それぞれ制御経路１０３ａと１０３ｂを介して、互いに結合されていることが好ましく、各スイッチングモジュールは、１つまたは複数のＬＡＮ１２１ａ〜１２１ｃに関連付けられていることが好ましい。ＬＡＮ１２１ａ〜１２１ｃは、１つまたは複数の仮想ローカルエリアネットワーク（ＶＬＡＮ）を含むことが好ましい。スイッチングモジュールは、データインタフェース１０４ａ〜１０４ｃを介して、ＬＡＮと通信する。
【００２１】
スイッチングモジュールは、それぞれデータ経路１０２ａ〜１０２ｃを介して、スイッチングバックプレーン１１１とインタフェースをとる。スイッチングモジュールは、パケットデータをスイッチングバックプレーン１１１に送信し、スイッチングバックプレーン１１１からパケットデータを受信することが好ましい。ソースアドレスと宛先アドレスに応じて、スイッチングモジュールからのインバウンドパケットを、アウトバウンドパケットとして、スイッチングバックプレーン１１１を介して、同じまたは異なるスイッチングモジュールに提供することが可能である。
【００２２】
スイッチングモジュール１０１ａ〜１０１ｃとＬＡＮ１２１ａ〜１２１ｃは、単に例示のために示されている。実際には、本発明のこの実施形態および他の実施形態では、より多くまたはより少ないスイッチングモジュールおよびＬＡＮが存在することが可能である。さらに、他の実施形態では、スイッチは、図１のスイッチ１００の構成とは異なる構成を有することが可能である。
【００２３】
図２は、本発明の一実施形態におけるスイッチングモジュール２００である。スイッチングモジュール２００は、図１のスイッチングモジュール１０１ａ〜１０１ｃの１つとして使用することが可能である。スイッチングモジュール２００は、パケット処理とＱｏＳ成形／規定のスキームが複数の段階で実施される、段階的に実施されるＱｏＳ成形スキームを含むことが好ましい。スイッチングモジュール２００は、１つまたは複数のデータインタフェース２０２を介して１つまたは複数のＬＡＮに結合され、内部インタフェース２０４を介してスイッチングコントローラ２１１に接続されているアクセスコントローラ２０１を含む。ＬＡＮはＶＬＡＮを含みうる。
【００２４】
アクセスコントローラ２０１は、媒体アクセスコントローラ（ＭＡＣ）を含むことが可能である。アクセスコントローラ２０１は、ＬＡＮからインバウンドパケットを受信し、それらをフォーマットして、それらをスイッチングコントローラ２１１に送信することが好ましい。また、アクセスコントローラ２０１は、スイッチングコントローラ２１１からアウトバウンドパケットを受信し、それらをフォーマットして、それらをＬＡＮに送信することが好ましい。
【００２５】
また、スイッチ２００は、パケット処理の動作を促進するために使用される他の要素を含む。これらのスイッチ要素は、パケット転送論理２２０とＱｏＳ成形論理２１５を含むことが好ましいが、これに限定されるものではない。ＱｏＳ成形論理２１５とパケット転送論理２２０は、スイッチングコントローラ２１１に結合されていることが好ましい。また、スイッチ２００は、様々な異なるタスクを実施するための他のサブモジュールを含むことが可能である。
【００２６】
スイッチ２００は、イングレスバッファ付きスイッチであることが好ましく、ほとんどの大きなバッファは、インバウンド側に配置されている。したがって、内部優先順位値とアウトバウンド優先順位値の決定は、ほとんどのバッファが配置されているインバウンド側で行われることが好ましい。他の実施形態では、内部優先順位値とアウトバウンド優先順位値の決定は、アウトバウンド側で行うことが可能である。さらに他の実施形態では、内部優先順位値とアウトバウンド優先順位値の決定は、分散処理によって実施することが可能であり、優先順位値を決定するための処理のいくつかは、インバウンド側で行われ、いくつかの処理は、アウトバウンド側で行われる。例えば、優先順位値がパケットヘッダに追加される場合、ＱｏＳ成形／規定は、アウトバウンドバッファを使用して、アウトバウンド側で実施することが可能である。
【００２７】
また、ＱｏＳ成形は、真の成形を実施するために、アウトバウンド側で実施することが可能である。真の成形は、通常、パケットが送信されるリンクに非常に近接して待機することを要求し、また、通常、それらのパケットの分類動作（ｓｏｒｔ  ｏｐｅｒａｔｉｏｎ）を要求する。アウトバウンドバッファの周辺で待機しているパケットの大きなセットが存在する場合、どのパケットを次に送信するかを決定するためにＱｏＳ成形が望ましい可能性がある。
【００２８】
スイッチングコントローラ２１１は、インバウンドパケットを受信することが好ましく、それから選択したものに内部ＱｏＳ成形とアウトバウンドＱｏＳ成形の影響を受けさせ、およびそれから選択したものを、内部インタフェース２０４を介して、アクセスコントローラ２０１に送信することが好ましい。この実施形態では、ＱｏＳ成形は、ＱｏＳ成形論理２１５とパケット転送論理２２０の助けによりもたらされる。他の実施形態では、ＱｏＳ成形は、他の要素および／または論理を使用して提供することが可能である。
【００２９】
スイッチングコントローラ２１１へのインバウンドパケットは、通常、レイヤ２の８０２．１Ｑ／ｐヘッダにおけるインバウンド優先順位値、または、レイヤ３のＩＰヘッダにおけるサービスタイプ（ＴｏＳ）フィールドを有する。８０２．１Ｑ／ｐヘッダまたはＩＰヘッダからの３つのビットを含んでいるフィールドを使用することが可能であるが、通常、両方のフィールドは同時には使用されない。例えば、インバウンド優先順位は、ＴｏＳフィールドの３ビットのＴｏＳ優先順位（ＴｏＳｐ）サブフィールドに含むことが可能である。ＩＰヘッダのＴｏＳフィールドは、特化サービスコードポイント（ＤＳＣＰ）フィールドまたはＤｉｆｆＳｅｒｖフィールドと呼ぶことも可能である。
【００３０】
インバウンドパケットがスイッチングコントローラ２１１に入るとき、スイッチングコントローラは、インバウンドパケットヘッダをパケット転送論理２２０に提供することが好ましい。他の実施形態では、スイッチングコントローラは、インバウンドパケット全体をパケット転送論理に提供することが可能である。パケット転送論理は、転送情報ファインダ２２２と転送インデックスファインダ２２４を含む。転送情報ファインダ２２２は、ヘッダキャッシュと呼ぶことも可能であり、転送インデックスファインダ２２４は、ルックアップエンジンまたは擬似ＣＡＭ（擬似内容アドレス可能メモリ）と呼ぶことも可能である。
【００３１】
転送インデックスファインダ２２４は、インバウンドパケットヘッダを受信することが好ましい。転送インデックスファインダ２２４は、レイヤ２、３、または４のヘッダ情報を使用して、インデックスを求めてルーティング表にアクセスすることが好ましい。インデックスをルックアップするために使用されるヘッダのアドレス指定情報と他の情報は、キーまたは入力キーとも呼ばれる。転送インデックスファインダは、パケットを、フローに関連付けられているインデックスを有するフローに分類することが好ましい。フローのインデックスは、ＩＤまたはフローＩＤと呼ぶことも可能である。各フローは、独自のインデックスに関連付けられていることが好ましく、同じフローに分類されるパケットは、同じインデックスに関連付けられていることが好ましい。また、各フローは、優先順位クラスに関連付けられていることが好ましく、これについては、内部優先順位マッピングとアウトバウンド優先順位マッピングに関して、以下で詳細に説明する。
【００３２】
転送インデックスファインダ２２４は、インデックスをスイッチングコントローラ２１１に提供することが好ましい。スイッチングコントローラ２１１は、インデックスを使用して、転送情報ファインダ２２２に関連付けられている大きな表の表項目をルックアップすることが好ましい。転送情報ファインダに関連付けられている大きな表は、次のホップのヘッダ表（ＮＨＨＴ）などを含むことが可能である。
【００３３】
フロー記述子と呼ぶことも可能である表項目は、フローの各パケットに対するいくつかのフィールドを有することが好ましい。表項目は、アウトバウンドパケットによって使用されるポート番号を指定するキューＩＤ（ＱＩＤ）、最大フレーム長、８０２．１Ｑタグストリッピングを実施するか否か、および、パケットをソフトウェアによって処理するか否か、などのタスクを実施するための情報を含むことが可能である。例えば、一実施形態の表項目は、ヘッダを変更する方法、ＶＬＡＮ  ＩＤ、およびＱｏＳ成形インデックスと呼ぶことも可能である６ビットの優先順位記述インデックス（ＰＤＩ）に関する情報など、レイヤ２およびレイヤ３の情報を含むことが好ましい。他の実施形態では、表項目は、レイヤ４の情報を含むことも可能である。ＰＤＩは、インバウンドパケットを異なる優先順位クラスにマッピングすることを促進することが好ましい。他の実施形態では、ＰＤＩのビットの数は、６より大きいかまたはそれより小さい可能性がある。
【００３４】
次いで、表項目を、さらにインバウンドパケットを処理するために使用するスイッチングコントローラ２１１に提供することが好ましい。また、スイッチングコントローラは、表項目を、優先順位成形、リンク共有、帯域幅規定、および帯域幅制限を含んでいるがこれに限定されないパケット処理のためのＱｏＳ成形論理２１５に提供することが好ましい。ＱｏＳ成形論理２１５は、ＱｏＳ成形マップ２１７とＱｏＳシェイパ２１９を含む。ＱｏＳシェイパは、キューマネジャを含むことが可能であり、ＱｏＳシェイパの機能は、スイッチングモジュールと、複数のスイッチングモジュールのインタフェースをとるスイッチングファブリック（図示せず）とにわたって分散することが可能である。ＱｏＳ成形マップ２１７は、パケットからＰＤＩと３ビットのインバウンド優先順位値を受信することが好ましく、内部優先順位値とアウトバウンド優先順位値について、表ルックアップを実施することが好ましい。
【００３５】
図３は、インバウンド８０２．１ｐ優先順位値とインバウンドＴｏＳ優先順位値を、内部優先順位値、アウトバウンド８０２．１ｐ優先順位値、アウトバウンドＴｏＳ優先順位値、およびアウトバウンドＤＳＣＰ（特化サービスコードポイント）にマッピングすることを示す例示的なブロック図である。
【００３６】
インバウンド８０２．１ｐの値３００とインバウンドＴｏＳの値３０２によって表されたインバウンド優先順位値が、内部優先順位値３０５とアウトバウンド優先順位値３０７を得るために使用されることが好ましい。インバウンド８０２．１ｐの値は、レイヤ２の８０２．１Ｑ／ｐヘッダに含まれており、ＴｏＳ値は、レイヤ３のＩＰヘッダに含まれている。動作モードに応じて、使用するインバウンド優先順位値は、インバウンド８０２．１ｐ優先順位値３００またはインバウンドＴｏＳ優先順位値３０２とすることが可能である。さらに、アウトバウンド優先順位値３０７は、アウトバウンド８０２．１ｐ優先順位値３１２またはアウトバウンドＴｏＳ優先順位値３１４とすることが可能である。
【００３７】
他の実施形態では、インバウンド８０２．１ｐの値とインバウンドＴｏＳの値は、ＤＳＣＰ表３０８に提供することも可能である。例えば、８ビットのインバウンドＤＳＣＰ値は、８ビットのインバウンドＴｏＳ値と同じであることが可能である。ＤＳＣＰ表３０８は、アウトバウンドＤＳＣＰマップ３０９とアウトバウンドＤＳＣＰマスク３１０を含む。アウトバウンドＤＳＣＰ値３１１は、動作モードに応じて、転送情報ファインダの表項目のＤＳＣＰ値または変更されたインバウンドＤＳＣＰ値として提供されることが好ましい。インバウンドＤＳＣＰ値は、ＤＳＣＰマップ３０９とアウトバウンドマスク３１０へのマッピングにより変更することが可能であり、ＤＳＣＰマスクを使用して、ＤＳＣＰマップのいくつかのビットを変更することが可能である。
【００３８】
図４は、本発明の一実施形態におけるＱｏＳ成形マップ２１７内の１セットの成形マップ４００を示す。ＱｏＳ成形マップ２１７は、複数の優先順位記述子の行を含む。成形マップ４００は、内部優先順位マップ４０４とアウトバウンド優先順位マップ４０６を含む。この実施形態の各優先順位記述子の行は、８つの２ビットの値を含んでいる内部優先順位マップと、８つの３ビットの値を含んでいるアウトバウンド優先順位マップを含むことが好ましい。ＰＤＩは、この実施形態ではサイズが６ビットなので、インデックスとしてＰＤＩを使用してアクセスすることが可能である最高で６４であることが可能な異なる優先順位記述子の行が存在することが可能である。他の実施形態では、ＰＤＩはサイズが６より大きいかまたはそれより小さいので、それに応じて、６４より多いまたはそれより少ないことが可能な異なる優先順位記述子の行が存在する可能性がある。
【００３９】
内部優先順位値は、この実施形態では、２つのビットのみを有し、０〜３の値を有することができるので、内部優先順位のマッピング中に、３ビットのインバウンド優先順位値を２ビットの値にマップすることが好ましい。一方、アウトバウンド優先順位値は３つのビットを有するので、何ら有意なビットを失わずに、インバウンド優先順位値をアウトバウンド優先順位値にマッピングすることが可能である。
【００４０】
各優先順位記述子の行は、優先順位クラスと関連付けられていることが好ましい。優先順位クラスは、レイヤ２およびレイヤ３のソースアドレスと宛先アドレス、およびレイヤ４のポート番号など、パケットヘッダの情報からパケットを分類中に得られることが好ましい。各優先順位クラスは、他の優先順位クラスの内部優先順位マッピング値およびアウトバウンド優先順位マッピングとは異なる内部優先順位マッピング値およびアウトバウンド優先順位マッピング値を有することが好ましい。他の実施形態では、異なる優先順位クラスに関連付けられている２つ以上の優先順位記述子の行が、同じ内部優先順位マッピング値および／またはアウトバウンド優先順位マッピング値を有することが可能である。
【００４１】
例えば、この実施形態では、優先順位クラスは、優先順位記述子インデックス（ＰＤＩ）４０２に関連付けられているＰＡＳＳ、ＦＯＲＣＥ、およびＩＮＶＥＲＴのクラス４０３を含むことが可能である。これらの優先順位クラスは、例えば、インバウンドパケットのソースアドレスに基づいて選択することが可能である。
【００４２】
ＰＤＩ４０２の各々は、特定の優先順位クラスと関連付けられていることが好ましい。例えば、図４では、優先順位インデックス＜００００００＞は、ＰＡＳＳクラスと関連付けられ、優先順位インデックス＜０００００１＞は、ＦＯＲＣＥクラスと関連付けられ、優先順位インデックス＜１１１１１１＞は、ＩＮＶＥＲＴクラスと関連付けられている。さらに、ＰＡＳＳクラスをサーバと関連付けることが可能であり、ＦＯＲＣＥクラスをＰＣと関連付けることが可能であり、ＩＮＶＥＲＴクラスを誤って構成されたネットワーク装置と関連付けることが可能である。
【００４３】
名称「パス」が示すように、ＰＡＳＳクラスに関連付けられているアウトバウンド優先順位マップは、インバウンド優先順位値をパスして、アウトバウンド優先順位値として提供することが好ましい。この実施形態の各内部優先順位値では、２つのビットのみが利用可能であるので、インバウンド優先順位値の２つの最上位ビットを内部優先順位値として使用することが好ましい。
【００４４】
名称「フォース」が示すように、ＦＯＲＣＥクラスに関連付けられている内部優先順位マップとアウトバウンド優先順位マップは、内部優先順位値とアウトバウンド優先順位値を、それぞれ３と７に強制することが好ましい。他の実施形態では、他の内部優先順位値とアウトバウンド優先順位値をＦＯＲＣＥクラスに関連付けることが可能である。さらに他の実施形態では、異なる内部優先順位値とアウトバウンド優先順位値を有する複数の異なるＦＯＲＣＥクラスが存在する可能性がある。
【００４５】
名称「インバート」が示すように、ＩＮＶＥＲＴクラスに関連付けられている内部優先順位マップは、インバウンド優先順位値の２つの最上位ビットを反転させて、内部優先順位値として提供することが好ましい。さらに、アウトバウンド優先順位マップは、インバウンド優先順位値全体を反転して、アウトバウンド優先順位値として提供する。
【００４６】
例えば、図４では、＜０，０，１，１，２，２，３，３＞の内部優先順位マップと＜０，１，２，３，４，５，６，７＞のアウトバウンド優先順位マップは、それぞれ、＜００００００＞のＰＤＩに提供される。したがって、ＰＡＳＳの優先順位クラスを有するソースを含むインバウンドパケットを受信するとき、それは、＜００００００＞のＰＤＩを含む可能性がある。そのインバウンドパケットがインバウンド優先順位値３を有する場合、インバウンド優先順位値は、内部優先順位値１とアウトバウンド優先順位値３にマッピングされる。同様に、ＦＯＲＣＥとＩＮＶＥＲＴの優先順位クラスを有するソースアドレスを含むインバウンドパケットを受信するとき、それらは、それぞれ＜０００００１＞と＜１１１１１１＞のＰＤＩを含む可能性がある。他の実施形態では、マッピングの他の優先順位クラスと他の方法を使用することが可能である。
【００４７】
新しいマッピングデータのセットが望ましい場合、ユーザは、図２のＱｏＳ成形マップ更新インタフェース２２８を使用して、＜００００００＞から＜１１１１１１＞のＰＤＩの位置において、新しい内部マップおよび／またはアウトバウンドマップを成形マップ４００に入力することが可能である。成形マップ更新信号、ならびに更新のためのマップデータを、ＱｏＳ成形マップ更新インタフェース２２８を介して、ＱｏＳ成形マップに提供することが可能である。
【００４８】
この実施形態および他の実施形態では、ソースアドレス、宛先アドレスなど以外のフロー特性を使用して、インバウンド優先順位値をそれぞれ内部優先順位値とアウトバウンド優先順位値に変換するために使用するマッピングのタイプを選択することが可能である。
【００４９】
再び図２を参照すると、内部優先順位値とアウトバウンド優先順位値を識別した後、ＱｏＳ成形マップ２１７は、これらの優先順位値をスイッチングコントローラ２１１に戻すことが好ましい。スイッチングコントローラ２１１は、新しい優先順位を含むように、インバウンドパケットを変更することが好ましい。次いで、スイッチングコントローラは、新しい内部特性とアウトバウンド特性を有するインバウンドパケットをＱｏＳシェイパ２１９に送信し、したがって、新しい優先順位値に基づいて、アウトバウンドパケットとして送信するように、インバウンドパケットを配置することができる。
【００５０】
新しいアウトバウンド優先順位値は、通常、スイッチングモジュール２００によって使用されない。次のスイッチのスイッチングモジュールが、この新しいアウトバウンド優先順位値を、内部優先順位値とアウトバウンド優先順位値の新しいセットを生成するために使用することが好ましい。
【００５１】
パケットの優先順位を新しい内部優先順位値に基づいて選択するとき、ＱｏＳシェイパは、そのパケットをスイッチングコントローラ２１１に提供し、次いでこの装置は、データインタフェース２０２を介してＬＡＮに送信するために、そのパケットをアクセスコントローラ２０１に提供する。
【００５２】
図５は、本発明の一実施形態におけるＱｏＳ成形／規定の流れ図である。ＱｏＳを有するインバウンドパケットは、ステップ５１０において、スイッチのアクセスコントローラによって受信される。アクセスコントローラは、例えば、図２のアクセスコントローラ２０１とすることが可能である。ＱｏＳは、８０２．１ｐ優先順位値とＴｏＳ優先順位値を含むことが可能であるが、これに限定されるものではない。インバウンドパケットがＱｏＳを有していない場合、そのインバウンドポートとプロトコルに基づいて、デフォルト優先順位を与えられる可能性がある。デフォルト優先順位は、レイヤ２およびレイヤ３のソースアドレスと宛先アドレス、ならびにレイヤ４のポート番号など、他のフロー特性に基づくことも可能である。
【００５３】
アクセスコントローラは、インバウンドパケットを処理して、それを、図２のスイッチングコントローラ２１１に類似していることが可能であるスイッチングコントローラに送信することが好ましい。スイッチングコントローラは、ステップ５２０において、レイヤ２およびレイヤ３のソースアドレスと宛先アドレス、ならびにレイヤ４のポート番号など、ＱｏＳの定義に専用でないパケットフィールドからの値を含むことが可能であるフロー特性に基づいて、インバウンドパケットの新しい内部ＱｏＳとアウトバウンドＱｏＳを決定することが好ましい。
【００５４】
スイッチングコントローラ２１１は、ステップ５３０において、新しい内部ＱｏＳをインバウンドパケットに適用して、ＱｏＳの優先順位付けをスイッチ内のインバウンドパケットに提供することが好ましい。スイッチングコントローラは、ステップ５４０において、アウトバウンドＱｏＳをインバウンドパケットに挿入する。次いで、インバウンドパケットを、インバウンドパケットがアウトバウンドパケットとして提供されるＬＡＮに結合されているスイッチングモジュールに提供する。アウトバウンドパケットは、新しいＱｏＳアウトバウンド優先順位で送信される。１つのスイッチングモジュールによって受信されたインバウンドパケットは、パケットの処理中に、スイッチングバックプレーンを介して他のスイッチングモジュールに提供することが可能であるので、パケットのソースアドレスと宛先アドレスによって、アウトバウンドパケットを送信するスイッチングモジュールは、インバウンドパケットを受信したスイッチングモジュールと同じまたは異なることが可能である。
【００５５】
図６は、本発明の一実施形態において段階的に実施されるＱｏＳ成形の流れ図である。例えば、図５のステップ５２０は、図６に示したように、段階的に実施することが可能である。ＱｏＳ成形インデックスは、図２のパケット転送論理２２０などで、ステップ６１０において、インバウンドパケットのフロー特性から決定されることが好ましい。次いで、ステップ６２０において、ＱｏＳ成形マップ２１７などの内部ＱｏＳ成形マップとアウトバウンドＱｏＳ成形マップを、ＱｏＳ成形インデックスに基づいて選択することが好ましい。さらに、ステップ６３０において、インバウンドＱｏＳを使用して、内部ＱｏＳ値とアウトバウンドＱｏＳ値を選択することが好ましい。
【００５６】
当業者なら、本発明は、その精神または本質的な特徴から逸脱せずに、他の特有の形態で実現することができることを理解するであろう。したがって、本記述は、あらゆる点で例示的であり、限定的ではないと見なされる。本発明の範囲は、頭記の請求項によって示されており、その等価物の意味と範囲内にあるすべての変更は、その中に含まれることを意図している。
【００５７】
例えば、本明細書に記述されているスイッチとは異なる構成を有するスイッチを使用することが可能である。例えば、記述した実施形態では、ＱｏＳ成形は、スイッチングモジュールのＱｏＳシェイパにおいて実施されることが好ましい。他の実施形態では、ＱｏＳ成形機能は、ＱｏＳ成形の一部または全部がスイッチングファブリックなど他の構成要素において実施される、分散プロセスとすることが可能である。さらに、記述した実施形態では、ＱｏＳ成形は、パケットのインバウンド処理中に、スイッチによって実施されることが好ましい。他の実施形態では、ＱｏＳ成形は、パケットのアウトバウンド処理中に、スイッチによって実施することが可能である。さらに他の実施形態では、ＱｏＳ成形／規定のいくつかの部分が、インバウンド処理中に実施することが可能であり、ＱｏＳ成形／規定の他の部分は、アウトバインド処理中に実施することが可能である。
【図面の簡単な説明】
【図１】本発明の一実施形態におけるスイッチの図である。
【図２】図１のスイッチにおいて使用することが可能であるスイッチングモジュールの図である。
【図３】本発明の一実施形態における、インバウンド優先順位値をアウトバウンド優先順位値にマッピングする図である。
【図４】本発明の一実施形態におけるＱｏＳ成形マップの図である。
【図５】本発明の一実施形態によるＱｏＳ成形／規定を記述する流れ図である。
【図６】本発明の一実施形態による段階的に実施されるＱｏＳ成形を記述する流れ図である。
【符号の説明】
１００  スイッチ
１０１ａ、１０１ｂ、１０１ｃ、２００  スイッチングモジュール
１０２ａ、１０２ｂ、１０２ｃ  データ経路
１０３ａ、１０３ｂ  制御経路
１０４ａ、１０４ｂ、１０４ｃ、２０２  データインタフェース
１１１  スイッチングバックプレーン
１２１ａ、１２１ｂ、１２１ｃ  ＬＡＮ
２０１  アクセスコントローラ
２０４  内部インタフェース
２１１  スイッチングコントローラ
２１５  ＱｏＳ成形論理
２１７  ＱｏＳ成形マップ
２１９  ＱｏＳシェイパ
２２０  パケット転送論理
２２２  転送情報ファインダ
２２４  転送インデックスファインダ
２２８  ＱｏＳ成形マップ更新
３００  インバウンド８０２．１ｐ優先順位値
３０２  インバウンドＴｏＳ値
３０４、３０６、４０４、  内部優先順位マップ
３０５  内部優先順位値
３０７  アウトバウンド優先順位値
３０８  ＤＳＣＰ表
３０９  アウトバウンドＤＳＣＰマップ
３１０  アウトバウンドＤＳＣＰマスク
３１１  アウトバウンドＤＳＣＰ値
３１２  アウトバウンド８０２．１ｐ優先順位値
３１４  アウトバウンドＴｏＳ優先順位値
４００  成形マップのセット
４０２  優先順位記述子インデックス（ＰＤＩ）
４０３  ＰＡＳＳ、ＦＯＲＣＥ、およびＩＮＶＥＲＴのクラス
４０６  アウトバウンド優先順位マップ
４１０  インバウンド優先順位値＝３
４１２  内部優先順位値＝１
４１４  アウトバウンド優先順位値＝３
【図１】
0004919559.tif 000002
【図２】
0004919559.tif 000003
【図３】
0004919559.tif 000004
【図４】
0004919559.tif 000005
【図５】
0004919559.tif 000006
【図６】
0004919559.tif 000007