(57)【要約】  マルチポートスイッチ（１８０）が、スイッチで受信したデータフレームをどのように転送するかを記述したアクションタグを生成するアクション生成器（３１８）を含む。ポートフィルタ（３１６）が、受信したパケットについてポリシー式と差別化サービスコードポイント（ＤＳＣＰ）信号とを生成する。アクション生成器（３１８）におけるデコーダ（４１１）とアクションメモリ（４１２）とによって優先度が最も高いポリシー式を選択し、このポリシー式を使ってデータフレームの優先度情報を参照する。アクション生成器のステートマシン（４１０）がＤＳＣＰ信号を受信する。結果タグインタフェース（４１３）がステートマシン（４１０）からＤＳＣＰフィールドを受信し、アクションメモリ（４１２）から優先度情報を受信する。これらの信号に基づいて、結果タグインタフェース（４１３）が最終アクションタグを構成する。
2005509308.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータフレームを受信するように構成された複数の入力ポート（３１０、３２０）と、受信したデータフレーム各々についてポリシー情報およびサービスクラス情報を生成するように構成されたポートフィルタ（３１６）と、を含む、ネットワークにおいて情報を転送するためのネットワークデバイスであって、
ポリシー情報に対応するアクションタグを格納するメモリ（４１２）と、
サービスクラス情報と受信したデータフレームに対応するアクションタグとに基づいて、受信したデータフレーム各々について最終アクションタグを生成するように構成された結果タグインタフェース（４１３）と、を特徴とするネットワークデバイス。
【請求項２】
ポートフィルタ（３１６）からポリシー情報を受信し、ポリシー情報によって示される優先度が最も高いポリシー式を選択し、優先度が最も高いポリシー式に対応するメモリにアドレス信号を出力するように構成されたデコーダ（４１１）をさらに含む、請求項１に記載のネットワークデバイス。
【請求項３】
ポートフィルタ（３１６）とメモリ（４１２）とに接続されたステートマシン（４１０）をさらに含み、該ステートマシン（４１０）はサービスクラス情報を受信するように構成され、かつ、メモリをアクティブにしてサービスクラス情報の受信に応答して格納されたアクションタグを読み出すものである、請求項１に記載のネットワークデバイス。
【請求項４】
ポートフィルタ（３１６）がさらにエラー信号を生成し、ステートマシン（４１０）がこのエラー信号を受信し、該エラー信号に基づいてサービスクラス情報にエラーが含まれるか否かを判断する、請求項３に記載のネットワークデバイス。
【請求項５】
複数の結果タグインタフェースから最終アクションタグを受信し、受信した最終アクションタグを複数の最終アクションタグからなる単一のストリームとして出力するように構成されたアクションタグ生成器（３４０）をさらに含む、請求項１に記載のネットワークデバイス。
【請求項６】
ネットワークデバイスで受信したデータフレームについての優先度レベル情報を特定するための方法であって、
ネットワークのポリシー式に基づいて複数の優先度レベルに対応する優先度レベル情報でメモリ（４１２）をプログラムし、
複数のデータフレームを受信し、
メモリ（４１２）にアクセスして受信したデータフレーム各々に関連する優先度レベル情報を特定し、
受信したデータフレーム各々から差別化サービスコードポイント（ＤＳＣＰ）データを抽出し、
ＤＳＣＰデータと優先度レベル情報とに基づいて受信したデータフレームについて最終アクションタグを生成し、
生成された最終アクションタグに基づいてネットワークデバイスからデータフレームを送信することを含む、方法。
【請求項７】
最終アクションタグが各々、
サービスのクラスのうちのひとつに関するＤＳＣＰデータおよび優先度データのうちのひとつを格納するように構成された差別化サービスコードポイント（ＤＳＣＰ）／優先度フィールド（６０５〜６１０）と、
受信したデータフレームのうちの対応するひとつを間引くか否かを示すデータを格納するように構成された拒否フィールド（６０２）と、
対応するデータフレームを管理デバイスに転送するか否かを示すデータを格納するように構成された管理側に転送フィールド（６０３）と、
ＤＳＣＰ／優先度フィールドに有効な優先度データが格納されているか否かを示すデータを格納するように構成された優先度フィールド（６０４）と、
ＤＳＣＰ／優先度フィールドに有効なＤＳＣＰデータが格納されているか否かを示すデータを格納するように構成されたＤＳＣＰフィールド（６０１）と、を含む、請求項６に記載の方法。
【請求項８】
データフレーム各々について、データフレームにエラーが含まれるか否かを示す信号を受信し、
該信号によってデータフレームにエラーが存在することが示された場合に拒否フィールド（６０２）を設定してデータフレームを間引くべきであることを示すことをさらに含む、請求項６に記載の方法。
【請求項９】
受信したＤＳＣＰデータにゼロ以外の値がある場合に、最終アクションタグにＤＳＣＰデータを使用し、
受信したＤＳＣＰフィールドにゼロの値がある場合に、最終アクションタグにメモリからアクセスされる優先度レベル情報を使用することをさらに含む、請求項６に記載の方法。
【請求項１０】
パケットベースのネットワークにおいてデータフレームを受信するための先入れ先出しバッファ（３１２）と、
受信したデータフレームについて、ポリシー情報であって、特定の一データフレームについてのポリシー情報が該特定の一データフレームに与えるべき優先度レベルに関する情報を含むポリシー情報と、サービスクラス情報と、を生成するためのポートフィルタ（３１６）と、
データフレーム各々についてポリシー情報およびサービスクラス情報から優先度レベルのうちのひとつを選択し、この選択に基づいて最終アクションタグを生成するためのアクション生成器コンポーネント（３１８）と、
データフレームの最終アクションタグに基づいてデータフレームを送信するための出力ポート（２４０）と、を含む、システム。
【請求項１１】
最終アクションタグが各々、
サービスのクラスのうちのひとつに関するＤＳＣＰデータおよび優先度データのうちのひとつを格納するように構成された差別化サービスコードポイント（ＤＳＣＰ）／優先度フィールド（６０５〜６１０）と、
データフレームのうちの対応するひとつを間引くか否かを示すデータを格納するように構成された拒否フィールド（６０２）と、
対応するデータフレームを管理デバイスに転送するか否かを示すデータを格納するように構成された管理側に転送フィールド（６０３）と、
ＤＳＣＰ／優先度フィールドに有効な優先度データが格納されているか否かを示すデータを格納するように構成された優先度フィールド（６０４）と、
ＤＳＣＰ／優先度フィールドに有効なＤＳＣＰデータが格納されているか否かを示すデータを格納するように構成されたＤＳＣＰフィールド（６０１）と、を含む、請求項１０に記載のシステム。
【請求項１２】
アクション生成器コンポーネントがさらに、ポリシー情報の優先度レベルに対応するアクションタグを格納するためのメモリ（４１２）を含む、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広義には通信システムおよび方法に関し、特に、サービスクラスの異なる複数のパケットを転送するためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータネットワークでは、多数のネットワークステーションが通信媒体を介して相互に接続されているのが一般的である。たとえば、広く用いられているローカルエリアネットワーク（ＬＡＮ）スキームのひとつに、複数のステーションを共有または専用のシリアルデータパスに接続するイーサネット８０２．３がある。これらのステーションは、データパスとこのパスに接続されたステーションとの間にあるスイッチまたは他の何らかのネットワークデバイスと通信を行うことが多い。このスイッチは一般にパケットの通信を制御し、パケットを受信してそれぞれ適切な宛先に転送するためのロジックを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のネットワークスイッチの中には自己が転送するパケットに対して異なるクラスのサービスを提供しているものがある。この場合、パケットに対して提供される各クラスのサービスの内容が、パケットヘッダの差別化サービスフィールドと呼ばれるフィールドに定義される。標準のインターネットプロトコルに差別化サービスを付加することで、ネットワーク内の各スイッチでのシグナリングやパーフロー（ｐｅｒ−ｆｌｏｗ）状態がなくても拡張性のあるサービスを区別することが可能になる。差別化サービスフィールドを用いると、優先度や他のパケット転送情報をスイッチ側で判断することができる。
【０００４】
パケットによっては差別化サービスフィールドを持たないものもある。代わりに、そのパケットのヘッダ部分に、スイッチをパケットに割り当てるべき優先度レベルが直接記述されていることがある。あるいは、またはこれに加えて、スイッチはあらかじめ定められたポリシー式をパケットに適用し、パケットをどのようにして取り扱うべきかを判断することができる。ポリシー式の一例として、特定のＩＰアドレスからのパケットをすべてスイッチでブロックすることができる。
【０００５】
従来技術では、埋め込まれた差別化サービスコード、優先度フィールドおよび／またはポリシー式に基づいてパケットを効率よく転送できるようにすることに需要がある。
【課題を解決するための手段】
【０００６】
発明の開示
本発明に係るシステムおよび方法は、パケットベースのネットワークで受信されるパケットについての転送プロパティを記述したアクションタグを効率よく作成することで、上記の需要および他の需要に対処するものである。
【０００７】
本発明の利点および特徴について、ある程度までを以下の説明に記載し、ある程度は以下の説明から当業者であれば明らかになるか、あるいは本発明を実施することで確認することができよう。また、添付の特許請求の範囲に個別に記載されているような本発明の利点および特徴を実感し、得ることができよう。
【０００８】
本発明によれば、上記の利点および他の利点がネットワークデバイスによってある程度達成される。このネットワークデバイスは、データフレームを受信するように構成された入力ポートを含む。受信したデータフレーム各々についてのポリシー情報およびサービスクラス情報がポートフィルタによって生成される。ポリシー情報に対応するアクションタグがメモリに格納される。サービスクラス情報とポリシー情報に対応するアクションタグとに基づいて、最終アクションタグが結果タグインタフェースによって生成される。
【０００９】
本発明に係る方法では、ネットワークデバイスが受信するデータフレームごとに優先度レベル情報を特定する。この方法は、ネットワークポリシー式に基づいて優先度レベルに対応する優先度レベル情報でメモリをプログラムし、メモリにアクセスして受信したデータフレームに関連する優先度レベル情報を特定することを含む。差別化サービスコードポイント（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ；ＤＳＣＰ）データを受信したデータフレームから抽出し、ＤＳＣＰデータと優先度レベル情報とに基づいて受信したデータフレーム用に最終アクションタグを生成する。最後に、生成した最終アクションタグに基づいてネットワークデバイスからデータフレームを送信する。
【００１０】
以下の詳細な説明から、本発明の他の利点および特徴が当業者にとって容易に理解できるものとなろう。図示して説明する実施形態は、本発明を実施するために企図されるベストモードを例示するためのものである。本発明は、自明のさまざまな点で本発明から逸脱することなく改変可能である。したがって、図面は事実上例示的なものとみなされ、限定的なものとみなされるものではない。
【発明を実施するための最良の形態】
【００１１】
以下、イーサネット（ＩＥＥＥ  ８０２．３）ネットワークなどのパケット交換網におけるスイッチを例をあげて本発明について説明する。しかしながら、下記において詳細に説明するように、本発明は他のパケット交換システムならびに他のタイプのシステム全般にも適用可能なものであることが明らかになろう。
【００１２】
スイッチアーキテクチャの概要
図１は、本発明に係るシステムおよび方法を実施できる代表的なシステムのブロック図である。この代表的なシステムはイーサネット（ＩＥＥＥ  ８０２．３）ネットワークなどのパケット交換網１００を含み得る。パケット交換網１００は、ネットワークステーション１１０と、トランスフォーマ１２０、トランシーバ１３０および１４０と、ネットワークノード１５０と、ホスト１６０と、外部メモリ１７０と、マルチポートスイッチ１８０とを含み得る。ネットワークステーション１１０は、構成の異なるコンピュータなどの従来の通信装置を含み得る。たとえば、このデバイスは、ネットワークデータ転送速度１０メガビット／秒（Ｍｂ／ｓ）または１００Ｍｂ／ｓでデータを送受信することができる。
【００１３】
１０／１００Ｍｂ／ｓのネットワークステーション１１０は各々、半二重イーサネットまたは全二重イーサネットのプロトコルに従って、マルチポートスイッチ１８０との間でデータを送受信することができる。イーサネットプロトコルＩＳＯ／ＩＥＣ  ８８０２−３（ＡＮＳＩ／ＩＥＥＥ規格８０２．３、１９９３年版）では、すべてのステーション１１０に等しくネットワークチャネルへのアクセスを許可する半二重の媒体アクセス機構を規定している。半二重環境でのトラフィックを送信媒体上で区別することはできない場合がある。むしろ、各半二重ステーション１１０に、衝突検出型搬送波検知多重アクセス（ＣＳＭＡ／ＣＤ）を使って送信媒体上のトラフィックに聞き耳を立てるイーサネットインタフェースカードを持たせることができる。ネットワークトラフィックがないことを検出するには、送信媒体上の受信キャリアが非アクティブな状態になったことを検知する。
【００１４】
送信すべきデータのあるステーション１１０はいずれも、送信媒体上の受信キャリアが非アクティブになった後にパケット間隔（ＩＰＧ）インターバルとして知られるあらかじめ定められた長さの時間だけ待機すれば、チャネルへのアクセスを試みることができる。複数のステーション１１０が同一のリンクに接続されている場合、受信キャリアが非アクティブになったことを検知してＩＰＧインターバルが経過するとそれぞれのステーション１１０がデータを送信しようとしかねないため、衝突が発生する可能性がある。よって、送信側ステーション１１０で送信媒体を監視し、別のステーション１１０が同じリンクで同時にデータを送信したことが原因で衝突が発生していないかどうかを判断することができる。衝突が検出されると、どちらのステーション１１０も送信を中断し、任意の時間だけ待機した後、再び送信を試みる。
【００１５】
全二重モードで動作する１０／１００Ｍｂ／ｓのネットワークステーション１１０は、イーサネット規格ＩＥＥＥ  ８０２．３ｕに従ってデータパケットの送受信を行うことができる。全二重環境では、各リンクパートナー（すなわち、１０／１００Ｍｂ／ｓのネットワークステーション１１０と対応するマルチポートスイッチ１８０）間でデータパケットを同時送受信を可能にする双方向の二地点間通信リンクが得られる。
【００１６】
トランスフォーマ１２０は、ネットワークステーション１１０とトランシーバ１３０との間をＡＣカップリングする磁気トランスを含み得る。一方、トランシーバ１３０は、それぞれのシリアル媒体独立インタフェース（Ｓｅｒｉａｌ  Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ；ＳＭＩＩ）または節約型媒体独立インタフェース（Ｒｅｄｕｃｅｄ  Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ；ＲＭＩＩ）を介してマルチポートスイッチ１８０と通信する１０／１００Ｍｂ／ｓの物理層トランシーバを含み得る。各トランシーバ１３０についてはマルチポートスイッチ１８０と最大４ヶ所のネットワークステーション１１０との間でＳＭＩＩ／ＲＭＩＩを介してデータパケットを送受信するように構成できる。ＳＭＩＩ／ＲＭＩＩは、各ネットワークステーション１１０と対応するトランシーバ１３０とによるデータパケットの同時送受信を可能にできるだけの十分なデータ転送速度で動作し得るものである。
【００１７】
トランシーバ１４０は、たとえば高速ネットワーク送信媒体を介してネットワークノード１５０などのノードとの通信を達成する１０００Ｍｂ／ｓ（すなわち１Ｇｂ／ｓ）の物理層トランシーバを１つまたはそれ以上含み得る。ネットワークノード１５０は、ネットワーク速度１Ｇｂ／ｓでデータパケットを送受信する１Ｇｂ／ｓのネットワークノードを１つまたはそれ以上含み得る。また、ネットワークノード１５０は、たとえば、サーバまたは高速バックボーンネットワークへのゲートウェイを含み得る。
【００１８】
ホスト１６０は、マルチポートスイッチ１８０の全体としての動作を制御するための外部管理機能を提供するコンピュータデバイスを含み得る。外部メモリ１７０は、マルチポートスイッチ１８０用の外部記憶装置となる同期型スタティックランダムアクセスメモリ（ＳＳＲＡＭ）を含み得る。外部メモリ１７０はそれぞれ、６４ビット幅のデータパスと１７ビット幅のアドレスパスとを有する電子デバイス技術合同協議会（ＪＥＤＥＣ）のパイプラインバーストＳＳＲＡＭまたはゼロ・バス・ターンアラウンド（ＺＢＴ）ＳＳＲＡＭを含み得る。外部メモリ１７０は、ワード長６４ビットで１２８Ｋ単位の上位バンクおよび下位バンクとしてアドレス可能なものであってもよい。外部メモリ１７０のサイズは、パイプラインによって１クロックサイクルごとにデータの転送が可能な状態で少なくとも１メガバイトであると好ましい。
【００１９】
マルチポートスイッチ１８０は、ネットワークステーション１１０またはネットワークノード１５０から受信したデータパケットを、イーサネットプロトコルなどの適切な送信プロトコルに従ってしかるべき宛先に向けて選択的に転送する。マルチポートスイッチ１８０を複数（ライン１９０を介して）まとめてカスケード接続し、マルチポートスイッチ１８０の機能性を拡張するようにしてもよい。
【００２０】
図２は、本発明に係る実施例によるマルチポートスイッチ１８０の詳細図である。マルチポートスイッチ１８０は、受信機２０５と、送信機２１０と、データバス２１５と、スケジューラ２２０と、フロー制御ロジック２２５と、バッファ管理ロジック２３０と、ポートベクトルキュー（ＰＶＱ）２３５と、出力制御キュー２４０と、内部ルールチェッカー（ＩＲＣ）２４５と、レジスタ２５０と、管理情報ベース（ＭＩＢ）カウンタ２５５と、ホストインタフェース（Ｉ／Ｆ）２６０と、外部メモリインタフェース２６５と、ＥＥＰＲＯＭインタフェース２７０と、ＬＥＤインタフェース２７５と、ジョイントテストアクショングループ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ；ＪＴＡＧ）インタフェース２８０とを含み得る。
【００２１】
受信機２０５は、媒体アクセス制御（ＭＡＣ）モジュールと、先入れ先出し（ＦＩＦＯ）バッファなどの受信バッファとを含み得る。受信モジュールは、ＳＭＩＩ、ＲＭＩＩ、ギガビット媒体独立インタフェース（ＧＭＩＩ）、１０ビットインタフェース（ＴＢＩ）、他のマルチポートスイッチ１８０（図１）を用いた拡張用の独自インタフェースをサポートする入力ポートを含み得る。拡張ポート（ＥＰ）を利用し、所定のプロトコルに従って他のマルチポートスイッチ１８０との間でデータを転送するようにしてもよい。拡張ポートを用いることで、マルチポートスイッチ１８０を複数まとめてカスケード接続し、バックボーンネットワークを構成することができる。受信モジュールはそれぞれ、ネットワークステーション１１０および／またはネットワークノード１５０からデータパケットを受信し、このパケットを対応する受信ＦＩＦＯに格納するキューイングロジックを含み得る。キューイングロジックは、外部メモリインタフェース２６５を介して、パケットのうち処理すべき部分をＩＲＣ２４５に送信したり、格納すべき部分を外部メモリ１７０に送信したりすることができる。
【００２２】
送信機２１０は、ＭＡＣモジュールとＦＩＦＯバッファなどの送信バッファとを含み得る。送信モジュールは、ＳＭＩＩ、ＧＭＩＩ、ＴＢＩ、他のマルチポートスイッチ１８０を用いた拡張用の独自インタフェースをサポートする出力ポートを含み得る。送信モジュールはそれぞれ、外部メモリ１７０からパケットを取得し、これらのパケットを対応する送信ＦＩＦＯに格納するデキューイングロジックを含み得る。送信モジュールは、対応する送信ＦＩＦＯからデータパケットを読み出したり、これらのパケットをネットワークステーション１１０および／またはネットワークノード１５０に送信したりすることができる。本発明に係る別の実施例では、受信機２０５および送信機２１０の機能を、データパケットの受信と送信の両方を管理するトランシーバによって行うようにしてもよい。
【００２３】
データバス２１５は、受信機２０５、送信機２１０、ＩＲＣ２４５、外部メモリインタフェース２６５を接続する導体を１本またはそれ以上含み得る。スケジューラ２２０は、受信機２０５のキューイングロジックと送信機２１０のデキューイングロジックとによって外部メモリ１７０へのアクセスを制御するロジックを含み得る。マルチポートスイッチ１８０はノンブロッキングスイッチとして動作するように構成されており、ネットワークデータはスイッチポートからそれぞれのワイヤレート１０Ｍｂ／ｓ、１００Ｍｂ／ｓまたは１０００Ｍｂ／ｓで送受信される。よって、スケジューラ２２０は、各ポートごとにアクセスを制御し、外部メモリ１７０の帯域利用を最適化することができる。
【００２４】
フロー制御ロジック２２５は、バッファ管理ロジック２３０、ＰＶＱ２３５、出力制御キュー２４０と連携動作して送信機２１０によるパケットの送信を制御するロジックを含み得る。フロー制御ロジック２２５は、データのトラフィック量に応じて効率のよい方法で送信機２１０からパケットが出力されるように送信機２１０を制御することができる。バッファ管理ロジック２３０は、マルチポートスイッチ１８０内でのメモリの利用状況を監視するロジックを含み得る。たとえば、データパケットがその宛先となる出力ポート（単数または複数）に向けて送信されていれば、バッファ管理ロジック２３０はフレームポインタの利用状況とフレームポインタの再利用とを管理することができる。フレームポインタは、外部メモリ１７０に格納された、送信を必要とするデータフレームの位置を特定する。
【００２５】
ＰＶＱ２３５は、データフレームの送信を受信するための出力ポートに対応した出力制御キュー２４０に含まれる適切な出力キュー（単数または複数）へのフレームポインタを入手するロジックを含み得る。マルチコピーフレームでは、ＰＶＱ２３５は同じフレームポインタのいくつかのコピーを２つ以上の出力キューに供給することができる。
【００２６】
出力制御キュー２４０は、送信機２１０の各送信モジュールに対応するＦＩＦＯ型の出力キューを含み得る。各出力キューは、フレームに対する優先度の異なる複数の順位キューを含み得る。たとえば、必要なアクセスレイテンシーが低いフレーム（マルチメディア用途用のフレームや管理フレームなど）に高い順位キューを用いるようにすればよい。ＦＩＦＯ型の出力キューに格納されたフレームポインタを、それぞれの送信モジュールについてのデキューイングロジックで処理することができる。デキューイングロジックは、フレームポインタを利用して外部メモリ１７０にアクセスし、フレームポインタによって指定されたメモリ位置でデータフレームを読み出す。
【００２７】
ＩＲＣ２４５は、受信機２０５から受信したデータパケットについてフレーム転送決定を行う内部意志決定エンジンを含み得る。ＩＲＣ２４５はデータバス２１５を監視し（すなわち「覗き」）、送信元、宛先、仮想ローカルエリアネットワーク（ＶＬＡＮ）アドレス情報をはじめとする受信パケットのヘッダ情報など、データフレームの一部と、フレームポインタ値とを判断する。ＩＲＣ２４５は、ヘッダ情報を利用して、フレームポインタで指定された位置に格納されたデータフレームがどの出力ポートから出力されるかを判断することができる。よって、ＩＲＣ２４５は、特定のデータフレームをひとつのポートで出力すべき（すなわちユニキャスト）であるか、複数のポートで出力すべき（すなわちマルチキャスト）であるか、すべてのポートで出力すべき（すなわちブロードキャスト）であるか、どのポートでも出力すべきではない（すなわち破棄）かを判断することができる。
【００２８】
たとえば、各データフレームは送信元アドレスと宛先アドレスとを特定するヘッダを含み得る。ＩＲＣ２４５は、宛先アドレスを利用してデータフレームを出力するのに適切な出力ポートを特定することができる。また、フレームヘッダは、フレームをネットワークステーション１１０のグループの１ヶ所またはそれ以上のメンバ宛の情報として特定するＶＬＡＮアドレス情報も含み得る。あるいは、ＩＲＣ２４５は、拡張ポートを介して別のマルチポートスイッチ１８０にデータフレームを転送すべきであることを判断できる。したがって、ＩＲＣ２４５は、外部メモリ１７０に一時的に格納されたフレームを、１つの出力ポートに出力すべきか、複数の出力ポートに出力すべきか、どの出力ポートにも出力すべきではないか、あるいは別のマルチポートスイッチ１８０に出力すべきかを判断する。
【００２９】
ＩＲＣ２４５は、その転送決定を転送記述子の形でＰＶＱ２３５に出力することができる。転送記述子は、たとえば、フレームを送信すべき各出力ポートを特定するポートベクトル、入力ポート番号またはＶＬＡＮ情報を含み得る。ＰＶＱ２３５は、転送記述子をデコードしてフレームポインタを得ることができる。フレームポインタを入手したら、ＰＶＱ２３５はこれを出力制御キュー２４０内の適切な出力キューに供給することができる。
【００３０】
また、ＩＲＣ２４５はレイヤ３フィルタリングを行うこともできる。たとえば、ＩＲＣ２４５は、各受信データパケットを最大１２８のプログラム可能なパターンについて検討し、その結果に基づいてパケットを処理することができる。ここでの結果を用いて、ＩＲＣ２４５によるパケットの間引き、パケットのホスト１６０への転送あるいはユーザ優先度または差別化サービスコードポイント（ＤＳＣＰ）のパケットへの割り当てを指示することができる。ユーザの優先度とＤＳＣＰとは独立して出力優先度クラスにマッピングが可能なものである。
【００３１】
レジスタ２５０は、ホストインタフェース２６０が利用するコンフィギュレーションレジスタおよびステータスレジスタを含み得る。ＭＩＢカウンタ２５５は、統計的なネットワーク情報をホスト１６０が利用するＭＩＢオブジェクトの形で提供することができる。ホストインタフェース２６０は、マルチポートスイッチ１８０の全体としての動作をホスト１６０などの外部管理エントリによって制御できるようにする標準インタフェースを含み得る。ホストインタフェース２６０は、指定のレジスタ空間内のホストアクセスをデコードし、レジスタ２５０に対してコンフィギュレーション情報およびステータス情報を読み書きすることができる。
【００３２】
外部メモリインタフェース２６５は、外部メモリ１７０へのアクセスを可能にする標準インタフェースを含み得る。外部メモリインタフェース２６５は、スケジューラ２２０が決定した、割り当てられたタイムスロットの間、ダイレクトメモリアクセス（ＤＭＡ）トランザクションにおける外部メモリ１７０でのパケットデータの外部記憶を可能にする。本発明に係る実施例では、外部メモリインタフェース２６５は少なくとも６６ＭＨｚのクロック周波数で動作し、好ましくは１００ＭＨｚまたはそれ以上の周波数で動作する。
【００３３】
ＥＥＰＲＯＭインタフェース２７０は、ＥＥＰＲＯＭなどの別の外部メモリに対する標準インタフェースを含み得る。ＬＥＤインタフェース２７５は、外部ＬＥＤロジックに対する標準インタフェースを含み得る。ＬＥＤインタフェース２７５は、入力ポートと出力ポートの状態を外部ＬＥＤロジックに送信することができる。ＬＥＤロジックは、人間が読み取り可能なＬＥＤディスプレイ素子を駆動することができる。ＪＴＡＧインタフェース２８０は、たとえばマルチポートスイッチ１８０でバウンダリスキャンテストを行うことができるようにするための外部試験機器に対する標準インタフェースを含み得る。
【００３４】
スイッチアーキテクチャについての上記の説明は、パケット交換網におけるスイッチの動作についての概要を提供するものである。たとえばマルチポートスイッチ１８０で実現できるような本発明の特徴のさらに詳細な説明については後述する。
【００３５】
代表的なアクションタグの生成
本願明細書にて説明するように、受信機２０５のポートフィルタとＰＶＱ２３５との間にはアクションタグ生成器が設けられている。アクションタグ生成器は、受信したデータフレームについて、データフレームの転送をスイッチでどのように取り扱うかを示すアクションタグを生成する。アクションタグ生成器は、優先度またはデータフレームの差別化サービス（ｄｉｆｆｅｒｅｎｔｉａｌ  ｓｅｒｖｉｃｅ）フィールドに基づいてアクションタグをサポートすることができる。
【００３６】
図３は、本発明に係る実施例によるマルチポートスイッチ１８０の一部を示す詳細図である。マルチポートスイッチ１８０の図３に示す部分は、受信機２０５と、データバス２１５と、ＰＶＱ２３５と、出力制御キュー２４０と、ＩＲＣ２４５と、レジスタ２５０と、ホストインタフェース２６０と、外部メモリインタフェース２６５とを含む。受信機２０５は、それぞれ入力ポートＩ乃至Ｎに対応したＭＡＣモジュール３１０および３２０と、アクションタグ生成器３４０とを含み得る。各ＭＡＣモジュールは、受信ＦＩＦＯバッファ３１２と、キューイングロジック３１４と、ポートフィルタ３１６と、アクション生成コンポーネント３１８とを含み得る。
【００３７】
受信ＦＩＦＯバッファ３１２は、対応する入力ポートで受信したデータフレームを一時的にバッファするＦＩＦＯを含み得る。キューイングロジック３１４は、外部メモリインタフェース２６５を介しての受信ＦＩＦＯバッファ３１２から外部メモリ１７０（図１）へのデータフレームの転送を担うロジックを含み得る。ポートフィルタ３１６は、受信したデータフレームに関連するポリシー情報を判断するためのロジックを含み得る。たとえばポートフィルタ３１６は受信したデータフレームにポリシー規則を適用し、このデータフレームに関する１つまたはそれ以上のポリシー式を特定することができる。ポリシー式では、データフレームに完全優先処理をほどこすべきか、相対的優先処理をほどこすべきか、デフォルトの処理をすべきか、あるいはデータフレームを間引くべきか、管理デバイスに送信すべきかなど、受信したデータフレームに対して行われる処理のタイプを指定することができる。
【００３８】
アクション生成器コンポーネント３１８は、ポートフィルタ３１６の結果に対してアクションタグ生成器３４０と連動して動作し、受信したデータフレーム各々についてのアクションタグを生成する。アクションタグは、たとえば、データフレームと関連することになる優先度レベルを指定するものである。
【００３９】
出力制御キュー２４０は、異なる優先度レベルに関連する順位キュー３５０を含み得る。順位キュー３５０はそれぞれ、対応する優先度レベルのデータフレームに関する転送記述子を格納することができる。分かりやすくするために、図３には高い優先度と低い優先度の２つの優先度レベルに関連する順位キュー３５０を示してある。本発明に係る他の実施例では、優先度レベルおよび関連する順位キュー３５０の数を変えてもよい。たとえば、優先度レベルを、高い優先度レベル、中程度の優先度レベル、低い優先度レベルに対応させたり、あるいは優先度レベル高、優先度レベル中−高、優先度レベル中−低、優先度レベル低に対応させたりすることができる。
【００４０】
レジスタ２５０は、順位キュー３５０に対応する優先度レベルでプログラムされたレジスタを１つまたはそれ以上含み得る。ホスト１６０は、ホストインタフェース２６０を介してレジスタ２５０に優先度レベルをプログラムすることができる。ＰＶＱ２３５は、レジスタ２５０からの優先度レベルを利用して、出力制御キュー２４０内の順位キュー３４０を特定し、スイッチ１８０が受信したデータフレームに対応するフレーム記述子を格納することができる。
【００４１】
図４は、本発明に係る実施例によるアクション生成コンポーネント３１８と、ポートフィルタ３１６と、アクションタグ生成器３４０とを示す代表的な図である。図４に示すように、アクション生成コンポーネント３１８は、ステートマシン４１０と、デコーダ４１１と、アクションメモリ４１２と、結果タグインタフェース４１３とを含む。
【００４２】
アクション生成器コンポーネント３１８は、ポートフィルタ３１６からのポリシー情報を受信する。アクション生成コンポーネント３１８はポリシー情報に基づいてタグ情報を生成し、このタグ情報をアクションタグ生成器３４０に送信する。この情報を用いて、アクションタグ生成器３４０が最終アクションタグを生成する。ＰＶＱ２３５では対応するデータフレームをどのように処理するかをアクションタグを使って判断する。また、アクションタグ生成器３４０は、外部メモリ１７０内のデータフレームを特定するフレームポインタをＰＶＱ２３５に送信することもできる。
【００４３】
デコーダ４１１には６４ビットの優先度デコーダを用いることができる。決定器４１１は、ポートフィルタ３１６からのポリシー情報を適用可能な１つまたはそれ以上ポリシー式のアイデンティフィケーションとして受信する。これに応じて、デコーダ４１１は優先度が最も高いポリシー式を（デコーダ４１１のあらかじめ定められたプログラミングに基づいて）最終マッチとして選択することができる。これを受けてデコーダ４１１はマッチしたポリシー式に対応するアドレスをアクションメモリ４１２に向けて出力し、アクションメモリではこのアドレスを使ってアクションタグを出力する。たとえば、アクションメモリ４１２を、６４種類のポリシー式のうちのひとつに対応する６４行のエントリがあるテーブルとして構成することができる。デコーダ４１１は選択したポリシー式の番号（すなわち１〜６４）を出力することができ、これがアクションメモリ４１２の適切な行に直接アドレスされる。
【００４４】
アクションメモリ４１２は、マルチポートスイッチ１８０が受信したデータフレームを処理できる方法に関する情報を格納することができる。図５は、本発明に係る実施例におけるアクションメモリ４１２内の代表的なテーブルエントリ５００を示す図である。エントリ５００は、優先度フィールド３１０と、拒否（Ｄ）フィールド５１１と、管理側に転送（ｆｏｒｗａｒｄ−ｔｏ−ｍａｎａｇｅｍｅｎｔ）（Ｍ）フィールド５１２と、優先度（Ｐ）フィールド５１３とを含み得る。３ビットの優先度フィールド５１０は、８つの優先度レベルのうちのどれをパケットに持たせるかを特定するためのものである。１ビットの拒否フィールド５１２には、データフレームを間引くべきか否かを特定するデータを含み得る。１ビットの管理側に転送フィールド５１１には、データフレームをホスト１６０などの管理デバイスに送信すべきか否かを特定するデータを含み得る。１ビットの優先度フィールド５１３は、優先度フィールド５１０に有効なデータが含まれているか否かを示すことのできるものである。
【００４５】
図４に戻ると、結果タグステートマシン４１０は、ポートフィルタ３１６からの差別化サービス情報を取り扱う。ポートフィルタ３１６は、たとえば、データフレームに必要なサービスを特定するステートマシン４１０に６ビットの差別化サービスコードフィールド（「ＤＳＣＰ」）を送信することができる。データフレームがＤＳＣＰと関連していない場合、ポートフィルタ３１６は各ビットにゼロが立つＤＳＣＰフィールドを送信する。また、ステートマシン４１０は、ポートフィルタ３１６からのエラー信号を受信することもできる。この信号は、パケットの差別化サービス情報の受信時または処理時のエラーを示すものである。データフレームはキューイングロジック３１４から外部メモリ１７０に送信されるため、ポートフィルタ３１６はバス２１５を覗くことでデータフレームごとにＤＳＣＰフィールドを抽出することができる。
【００４６】
データフレームのＤＳＣＰフィールドの受信時、ステートマシン４１０はアクションメモリ４１２に接続されたストローブ線をアクティブにする。これによってデコーダ４１１によってインデックス化されたテーブルエントリがアクションメモリ４１２から出力される。このテーブルエントリは、結果タグインタフェース４１３で受信される。また、ステートマシン４１０は、ＤＳＣＰフィールド情報を結果タグインタフェース４１３に送信することもできる。結果タグインタフェース４１３は、ステートマシン４１０からのＤＳＣＰフィールドの受信とアクションメモリ４１２からのテーブルエントリ５００の受信とに応答して、完全なアクションタグを生成してこれをアクションタグ生成器３４０に転送する。アクションタグ生成器３４０は各アクション生成コンポーネント３１８からのアクションタグを受信し、これをＰＶＱ２３５に転送する。アクションタグをＰＶＱ２３５に転送する際、外部メモリ１７０内のフレームを参照するポインタなどのデータフレームに関する追加データをアクションタグ生成器によって付加するようにしてもよい。各アクション生成コンポーネント３１８からのアクションタグについては、複数のタグからなる単一のストリームとしてＰＶＱ２３５に転送するようにしてもよい。
【００４７】
図６は、アクションタグ生成器３４０が受信する代表的なアクションタグ６００を示す図である。ＤＳＣＰ／優先度フィールド６０５〜６１０には、提供されることになるサービスまたはデータフレームに与えられることになる優先度を特定するデータを含み得る。パケットに提供されるサービスとしては、ケイ・ニコルズ（Ｋ．Ｎｉｃｈｏｌｓ）著、「Ｄｅｆｉｎｉｔｉｏｎ  ｏｆ  ｔｈｅ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｆｉｅｌｄ  （ＤＳ  Ｆｉｅｌｄ）  ｉｎ  ｔｈｅ  ＩＰｖ４  ａｎｄ  ＩＰｖ６  Ｈｅａｄｅｒｓ」、ＲＦＣ２４７４、ｆｔｐ：／／ｆｔｐ．ｎｏｒｍｏｓ．ｏｒｇ／ｉｅｔｆ／ｒｆｃ／ｒｆｃ２４７４．ｔｘｔ、１９９８年１２月およびエス・ブレーク（Ｓ．Ｂｌａｋｅ）著、「Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ」、ｆｔｐ：／／ｆｔｐ．ｎｏｒｍｏｓ．ｏｒｇ／ｉｅｔｆ／ｒｆｃ／ｒｆｃ２４７５．ｔｘｔ、１９９８年１２月に記載されているものなどの差別化サービスをあげることができる。
【００４８】
フィールド６０２〜６０４はそれぞれ、拒否フィールド５１１、管理側に転送フィールド５１２、優先度フィールド５１３からの情報を含み得るものである。また、フィールド６０１は、フィールド６０５〜６１０に差別化サービス情報が含まれているか否かを示すビットを含むものであってもよい。
【００４９】
ＤＳＣＰを特定する場合のフィールド６０５〜６１０のさまざまな構成の代表的な意味を以下の表Ｉに示す。表中、「クラス」は度合いの異なるデフォルトのデータフレーム転送を示し、「相対的優先転送（ａｓｓｕｒｅｄ  ｆｏｒｗａｒｄｉｎｇ）」は優先的なベストエフォートであるデータフレーム転送を示し、「完全優先転送（ｅｘｐｅｄｉｔｅｄ  ｆｏｒｗａｒｄｉｎｇ）」はレイテンシー、パケットロス、遅延変動のレベルが最も低い状態でのデータフレーム転送を示す。
【００５０】
【表１】
2005509308.tif 000003
【００５１】
優先度を特定する場合のフィールド６０５〜６１０のさまざまな構成の代表的な意味を以下の表ＩＩに示す。
【００５２】
【表２】
2005509308.tif 000004
【００５３】
代表的な処理
図７は、ポートフィルタ３１６、アクション生成器コンポーネント３１８、アクション生成器３４０の動作をさらに詳細に示すフローチャートである。開始にあたって、ポートフィルタ３１６は、ＤＳＣＰフィールド、エラー信号、ポリシー情報をアクション生成コンポーネント３１８に対して出力することができる（行為７０１）。エラー信号がエラーを示している場合は、ステートマシン４１０が受信したデータフレームについての間引き処理を開始する（行為７０２および７０３）。それ以外の場合はステートマシン４１０はアクションメモリ４１２に対するストローブ信号をアクティブにする（行為７０４）。これに応じて、アクションメモリ４１２は、デコーダ４１１によってインデックス化されたテーブルエントリを結果タグインタフェース４１３に出力する（行為７０５）。ステートマシン４１０は自己が受信したＤＳＣＰフィールドを結果タグインタフェース４１３に転送する（行為７０６）。
【００５４】
ＤＳＣＰフィールドの値がゼロである場合は、そのデータフレームが差別化サービスを使っていないことになる。このような状況では、結果タグインタフェース４１３はエントリをアクションメモリ４１２からアクションタグ生成器３４０に転送する（行為７０７および７０８）。このため、ポートフィルタ３１６からのポリシー式によってデータフレームの優先度が判断される。しかしながら、ＤＳＣＰフィールドの値がゼロ以外である場合は、結果タグインタフェース４１３はテーブルエントリ５００からフィールド５１１〜５１３をアクションタグフィールド６０２〜６０４にコピーし、アクションタグ６００を完成させる（行為７０７および７０９）。結果タグインタフェース４１３は、完成したアクションタグをアクションタグ生成器３４０に転送し、このアクションタグ生成器がアクションタグをＰＶＱ２３５に転送する（行為７１０および７１１）。このようにして、ポリシー情報および差別化サービスクラス情報に基づいてアクションタグを生成すべくポートフィルタ３１６、アクション生成コンポーネント３１８、アクションタグ生成器３４０が動作する。
【００５５】
上述したように、マルチポートスイッチ内の機構は、マルチポートスイッチにプログラムされたポリシー規則などの複数の転送ルールまたはパケット内の差別化サービスクラス情報に関連し得るデータパケットの転送を効率よく処理する。
【００５６】
本願開示においては、本発明の好ましい実施形態ならびにその汎用性を示すいくつかの例についてのみ図示して説明したが、本発明はさまざまな他の組み合わせおよび環境における使用が可能であり、本願明細書にて明示した発明概念の範囲内でいくつかの改変が可能なものであることは理解できよう。たとえば、図７に関して一連の行為について説明したが、本発明に係る他の実施例において各行為の順番を変えても構わない。
【図面の簡単な説明】
【００５７】
添付の図面を参照するが、図中、同一の参照符号を付した要素は全体を通して同様の要素を表すものとする。
【図１】本発明に係るシステムおよび方法を実施できる、代表的なシステムのブロック図である。
【図２】本発明に係る実施例による、図１のマルチポートスイッチの詳細図である。
【図３】本発明に係る実施例による、図２のマルチポートスイッチの一部を示す図である。
【図４】マルチポートスイッチにおけるアクション生成コンポーネントを一層詳細に示す代表的な図である。
【図５】図３のアクションメモリ内のエントリの代表的な図である。
【図６】アクションタグの代表的な図である。
【図７】図２のマルチポートスイッチのポートフィルタおよびアクション生成器を動作させるための代表的な処理のフローチャートである。
【図１】
2005509308.tif 000005
【図２】
2005509308.tif 000006
【図３】
2005509308.tif 000007
【図４】
2005509308.tif 000008
【図５】
2005509308.tif 000009
【図６】
2005509308.tif 000010
【図７】
2005509308.tif 000011
【国際調査報告】
2005509308.tif 000012
2005509308.tif 000013
2005509308.tif 000014