(57)【要約】【課題】データ・スイッチにおいてマルチキャスト・トラフィックのレベルを算定するための方法及びシステムを提供する。【解決手段】データ・スイッチは、固定サイズのデータ・パケットを入力ポートから共用メモリを通して出力ポートに誘導するように構成され、共用メモリは、データ・パケットの単一のコピーをバッファに一時的に保持する。出力ポートは、それぞれ、出力ポート・キューを備えており、その出力ポート・キューは、出力ポートを介してデータ・スイッチから出て行くためのデータ・パケットを保持するバッファに対するポインタを含む。本発明は、データ・パケットを現在保持している共用メモリ・バッファの総数がカウントされ、出力キューに見られるバッファ・ポインタの総数に比較される。従って、マルチキャスト・インデックス（ＭＣＩ）の計算を行わせるレベルのマルチキャスト・トラフィックのメトリックが得られる。更に、本発明は、データ・スイッチがスイッチ・コア・アダプテーション層（ＳＣＡＬ）と共に使用される。ＳＣＡＬは、マルチキャスト入力キューを含む複数の出力ポートを宛先とする着信データ・トラフィックを保持する。トラフィックは、一組のトラフィック優先順位クラスに基づいて処理されるので、マルチキャスト入力キューに関連したマルチキャスト閾値ＭＣＴ（Ｐ）が優先順位毎にセット又は更新される。従って、着信データ・トラフィックを受信している間、ＭＣＩは計算され続け、各ＳＣＡＬにおいて、各優先順位クラス（Ｐ）に対して、ＭＣＩがＭＣＴ（Ｐ）に比較され、対応するマルチキャスト・トラフィックが保持されなければならないかどうかを決定する。　本発明は、固定サイズ・データ・パケット・スイッチを使用して通信ネットワークにおけるトラフィック輻輳を防止する助けとなる。本発明を使わない場合、そのようなトラフィック輻輳は、高レベルのマルチキャスト及びブロードキャスト・トラフィックがネットワーク・ノードにおいてサポートされなければならない時に生じるであろう。【特許請求の範囲】
【請求項１】
データ・スイッチ［１００、１０１］においてマルチキャスト・トラフィックのレベルを算定するための方法にして、
前記データ・スイッチは、入力ポート［１２０］から出力ポート［１３０］に固定サイズのデータ・パケット［１９０］を誘導することを目的とし、前記固定サイズのデータ・パケットの単一のコピーを一時的に保持するための共用メモリ［１１０］を含み、
前記共用メモリは、前記固定サイズのデータ・パケットを記憶するためのバッファ［１１５］を含み、
前記出力ポートの各々は、出力ポート・キュー［１３２］を具備し、前記バッファのうち、前記出力ポートを介して前記データ・スイッチから出て行くべき前記データ・パケットを保持するバッファに対するポインタ［１３４］を含み、
前記データ・スイッチから出て行くべきデータ・パケットを現在保持している前記共用メモリ［１１０］におけるバッファ［１１５］の総数をカウントする［２００］ステップと、
前記バッファに対する前記ポインタ［２３１］の総数を、前記出力ポート・キュー［１３２］のすべてにわたってカウントする［２１０］ステップと、
を含む方法。
【請求項２】
前記マルチキャスト・トラフィックのレベルに対するメトリックは、前記データ・パケットを現在保持している前記共用メモリにおけるバッファの総数と前記出力ポート・キューすべてに存在する前記バッファに対するポインタの総数との間の差であるマルチキャスト・インデックス（ＭＣＩ）［２５０］を計算することを含む、請求項１に記載の方法。
【請求項３】
前記マルチキャスト・トラフィックのレベルに対するメトリックは、前記データ・パケットを現在保持している前記共用メモリにおけるバッファの総数と前記出力ポート・キューすべてに存在する前記バッファに対するポインタの総数との比率であるマルチキャスト・インデックス（ＭＣＩ）［２５０］を計算することを含む、請求項１に記載の方法。
【請求項４】
前記データ・スイッチは、スイッチ・コア・アダプテーション層（ＳＣＡＬ）［１５０］と共に使用され、
前記ＳＣＡＬは、前記データ・スイッチを通して誘導され且つ前記出力ポート［１３０］の複数個を宛先とする着信データ・トラフィックを保持することを目的とするマルチキャスト入力キュー［１７２］を含み、
前記データ・スイッチ及び前記ＳＣＡＬは一組の優先順位クラス（Ｐ）［１８０］に基づいて前記着信データ・トラフィックを共に処理し、
前記優先順位クラスの各々に対して、
前記着信データ・トラフィックを受け取り始める前に、前記マルチキャスト入力キュー［１７２］に関連したマルチキャスト閾値ＭＣＴ（Ｐ）をセットするステップ［４００］と、
前記着信データ・トラフィックを受け取る間、前記マルチキャスト閾値ＭＣＴ（Ｐ）を任意選択的に受け取るステップと、
を更に有する、請求項１乃至３のいずれか１つに記載の方法。
【請求項５】
前記ＭＣＩの計算を継続するステップ［４１０］と、
前記優先順位クラス（Ｐ）［１８０］の各々に対して、前記ＳＣＡＬ［１５０］において、前記ＭＣＩと前記ＭＣＴ（Ｐ）とを比較して、現在の計算されたＭＣＩが前記ＭＣＴ（Ｐ）よりも大きいかどうかを決定するステップ［４３０］と、
前記ＭＣＩが前記ＭＣＴ（Ｐ）よりも大きい場合［４３２］、その優先順位及び低い優先順位すべてに対する前記着信データ・トラフィックを前記マルチキャスト入力キュー［１７２］において保持するように前記ＳＣＡＬに命令するステップ［４５０］と、
ＭＣＩが前記ＭＣＴ（Ｐ）よりも大きくない場合［４３１］、高い優先順位に対する着信データ・トラフィックが現在保持されていない時にはその優先順位に対する着信データ・トラフィックをリリースするように前記ＳＣＡＬに命令するステップ［４４０］と、
着信データ・トラフィックを受け取っている時、前記ステップすべての循環を繰り返すステップ［４６０］と、
請求項４に記載の方法。
【請求項６】
スイッチにおいてマルチキャスト・トラフィックを制御するためのシステムにして、請求項１乃至５のいずれか１つに記載の方法を実行するように適応した手段を含むシステム。
【請求項７】
請求項１乃至５のいずれか１つに記載の方法を実行するための命令を含む、コンピュータ等の可読媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概して云えば、通信ネットワークに関する。更に詳しく云えば、本発明は、データ・ネットワーク交換ノードにおいて使用されるパケット・スイッチのマルチキャスト及びブロードキャスト・トラフィックを制御するためのシステム及び方法に関する。本発明は、非常に高いレベルのマルチキャスト及びブロードキャスト・トラフィックが許された場合に生じるあらゆる種類のトラフィック障害を防ぐことに関する。
【０００２】
【従来の技術】
過去数年にわたって、通信ネットワークにおける帯域幅に対する需要に対する継続した増大は、光ファイバから作られた通信回線の配備を活気づけてきた。更に、光ファイバの本質的に巨大な帯域幅容量をより良く活用するために、ＷＤＭ（Ｗａｖｅ Ｌｅｎｇｔｈ Ｄｉｖｉｓｉｏｎ Ｍｕｌｔｉｐｌｅｘｉｎｇ − 波長分割多重方式）システムが注目されている。従って、大きな通信ネットワークにおいて益々大きなデータを搬送することに対するボトルネックは、最早、以前のようにリンクにあるのではなく、むしろ、交換ノードにある。データを搬送するための種々のプロトコルとして、ＡＴＭ（非同期転送モード）、フレーム・リレー、及びＩＰ（インターネット・プロトコル）のようなものが実際に使用されているが、毎秒数百ギガビット又は数百テラビットの範囲における集合データ・トラフィックを処理することができるネットワーク・ノードの実際のインプリメンテーションは、現在は、主として、高性能のパケット交換装置を特に使用する交換技法に依存している。多くの種々の方法が、ネットワーク・ノードにおいて交換を実行することを理論的に可能である場合に、人気のある解決方法は、上記に述べたようなエンド・ユーザをリンクするために実際に使用されている高度な通信プロトコルに関係なく、固定サイズ・パケット（セルとも呼ばれる）交換装置を採用することである。
【０００３】
それらの装置は、他の解決方法、特に、リング・アーキテクチャ又はバス・アーキテクチャの上に形成されることが多い可変長パケットを処理する解決方法よりもパフォーマンスに関して容易に調整可能である。例えば、Ｎ個の入力及びＮ個の出力を有するブラック・ボックスのように見えるＮｘＮスイッチは、任意の着信リンクから任意の発信リンクに固定サイズのパケットを移動させることができるように作られる。着信リンクは、入力ポートを介して、しかし間接的にスイッチ機構に接続される。スイッチが固定サイズのパケットを処理するように調整されること、及び多くのプロトコルの可変長パケットを直接に移動させることができないという事実が考慮して、実務では、一般に複雑な物理的プロトコル、例えば、ＳＯＮＥＴ（同期光ネットワーク標準）、及びスイッチング・ノードで使用される或る高度の通信プロトコルにも適応させるために、物理的着信リンク、例えば、光ファイバ接続と実際のスイッチ機構の入力ポートとの間に回線アダプタに対するポートがいつも存在する。逆に、スイッチ機構と発信リンクとの間のインターフェースは出力ポートと呼ばれ、出力アダプタも存在する。
【０００４】
従って、光ファイバの配備の結果生じる帯域幅の大きな増加に適応させることをスイッチが実際に可能にした場合、それらの装置がポイント・ツー・ポイント通信を確立するように固有に作られ、従って、１つの着信リンクと１つの発信リンクとをリンクする時にそれらのアーキテクチャが最も良く適するということは変わらない。（共用媒体上の接続された各アダプタはとにかくその共用媒体のすべてのトラフィックを監視しているので）本来マルチキャスト又はブロードキャストをサポートするリング又はバスを一例とする共用媒体（ｓｈａｒｅｄ−ｍｅｄｉｕｍ）アーキテクチャとは逆に、スイッチにおいてそれらのネットワーク必須の機能を実行することは簡単ではない。入力ポートを介して入って来るパケットは、何らかの方法で、出力ポートのうちの或るものに複製されること（マルチキャスト）又はそれらのすべてに複製されること（ブロードキャスト）が必要である。パケットが実際には複製されないので、内部メモリを節約するためには、マルチキャスト及びブロードキャストの管理が複雑になる。
【０００５】
更に重要なことには、それは、他のスイッチ・リソースを特に消費する傾向があり、従って、ユニキャスト・トラフィックを犠牲にしてスイッチ内部の帯域幅がトラフィック輻輳を増大させ又は引き起こさせる大きな一因となり得る。各マルチキャスト・フローに対して複雑さが加わった例として、同じパケットを送らなければならない時に通過する出力ポートのリストが維持されなければならず、そのリストの最後のポートがサービスされるまで、複製されるべきパケットの１つのコピーもリリースされ得ないということがある。そこで、リング又はバスに基づく共用媒体の解決方法が光ファイバの配備に伴う帯域幅の大きな需要に対処できなかった一方で、スイッチ、特に固定パケット・スイッチの使用が、テラビット・スイッチング機能を実現するための見込みのある解決方法であると証明されたということは、これらの必須のオペレーションに十分に適合しないアーキテクチャを有し、しかも適切に制御されない場合にトラック輻輳を急激に生じさせると云う遙かに深刻な問題となる傾向がある装置を使用してブロードキャスト及びマルチキャストを効果的にサポートできるように洗練された機構をスイッチにおいて実装しなければならないという犠牲をしたということになる。
【０００６】
【発明が解決しようとする課題】
従って、本発明の広い目的は、マルチキャスト及びブロードキャスト・トラフィックがネットワーク・ノードにおいてサポートされた結果として通信ネットワークにおいてトラフィック輻輳が生じないように援助することにある。
【０００７】
本発明の更に特定的な目的は、固定サイズのパケット・スイッチにおいて処理されるべきマルチキャスト及びブロードキャスト・トラフィックのレベルを制御することを目的とする方法及び装置を提供することにある。
【０００８】
本発明の更にもう１つの目的は、固定サイズ・パケット・スイッチにおける任意の所与の瞬間において処理されるマルチキャスト及びブロードキャスト・トラフィックの全体的なレベルを判断するための簡単なメトリックを定義することにある。
【０００９】
本発明の更にもう１つの目的は、スイッチ内部のリソースのより良い利用を可能にすることにある。
【００１０】
添付図面を参照して以下の説明を考察することにより、当業者には、本発明の更なる目的、特徴、及び利点が明らかになるであろう。本願には、何らかの更なる利点が組み込まれ得るものと考えられる。
【課題を解決するための手段】
【００１１】
データ・スイッチにおいてマルチキャスト・トラフィックのレベルを算定するための方法及びシステムが開示される。本発明は、固定サイズのデータ・パケットを入力ポートから出力ポートに誘導することを目的とし且つ固定サイズのデータ・パケットの単一のコピーを一時的に保持するための共用メモリを含む、データ・スイッチに関するものである。その共用メモリは、固定サイズのデータ・パケットを記憶するためのバッファから成る。出力ポートは、それぞれ、出力ポート・キューを備えており、その出力ポート・キューは、それらバッファのうち、出力ポートを介してデータ・スイッチから出て行くためのデータ・パケットを保持するバッファに対するポインタを含む。そこで、本発明は、データ・スイッチから出て行くためのデータ・パケットを現在保持している共用メモリ・バッファの総数がカウントされるものと仮定する。更に、すべての出力ポート・キューに関して、それらのバッファに対するポインタの総数がカウントされる。従って、それら２つの数を比較することによって、マルチキャスト・インデックス（Ｍｕｌｔｉ−Ｃａｓｔ Ｉｎｄｅｘ − ＭＣＩ）の計算を行わせるマルチキャスト・トラフィックのレベルに関するメトリックが得られる。
【００１２】
本発明は、更に、データ・スイッチがスイッチ・コア・アダプテーション層（Ｓｗｉｔｃｈ Ｃｏｒｅ Ａｄａｐｔａｔｉｏｎ ｌａｙｅｒ − ＳＣＡＬ）と共に使用される。そのＳＣＡＬは、複数の出力ポートを宛先とする着信データ・トラフィックを保持するためのマルチキャスト入力キューを含む。トラフィックは、一組のトラフィック優先順位クラスに基づいて、データ・スイッチ及びＳＣＡＬによって処理される。従って、マルチキャスト入力キューに関連したマルチキャスト閾値ＭＣＴ（Ｐ）が優先順位毎にセット又は更新される。着信データ・トラフィックを受信している間、ＭＣＩは計算され続け、各ＳＣＡＬ［１５０］において、各優先順位クラス（Ｐ）に対して、ＭＣＩがＭＣＴ（Ｐ）に比較され、それの方が大きいかどうかを決定する。それの方が大きい場合、ＳＣＡＬは、その優先順位及びすべての低い優先順位に対する着信データ・トラフィックをマルチキャスト入力キューに保持するように命令される。それの方が大きくない場合、ＳＣＡＬは、その優先順位に対する着信データ・トラフィックを、しかし、それより高い優先順位のものが現在保持されてない場合、リリースするように命令される。
【００１３】
本発明は、固定サイズ・データ・パケット・スイッチを使用して、通信ネットワークにおけるトラフィック輻輳を防止する助けとなる。本発明を使わない場合、そのようなトラフィック輻輳が、高レベルのマルチキャスト及びブロードキャスト・トラフィックがネットワーク・ノードにおいてサポートされなければならない場合に生じるであろう。
【００１４】
【発明の実施の形態】
図１は、本発明を良好に利用し得る種類のスイッチ素子［１００］の概念を示す。そのスイッチ素子は、入力ポート［１２０］及び出力ポート［１３０］を有する共用メモリ［１１０］であり、この特定の例は、８ポート・スイッチ素子を特徴としている。
【００１５】
一般に、複数のそのようなスイッチ素子が使用されなければならないということは、ここでは述べるに値することである。実際には、それらは、ポートの数、ポート速度、及び（又は）スイッチ全体のパフォーマンスを増大させ、特定のアプリケーションの要件に適合し得るスイッチ機構をインプリメントすることを可能にするように、種々の拡張モードで結合されなければならない。本発明は、スイッチ素子［１００］のような単一の又は複数のスイッチ素子からもなお実行され得るので、以下の説明では、単純化の目的で、単一のスイッチ素子が使用されると仮定する。それらのうちの幾つかが実際に結合されなければならない場合、それらの設計は、それらが、例えば、より高い速度のより多くのポートを持った単一のスイッチ素子と同等の単一のエンティティとして作用するようなものであると仮定される。
【００１６】
ポートと関連して、入力ルータ［１２５］及び出力ルータ［１３５］が存在する。入力サイドでは、データ・パケットが入力ポートから共用メモリにおけるバッファに経路指定され［１２６］、そこから、例えば、出力ポートに向けて［１３６］パケットを、出力ルータ［１３５］が読み出すために使用される。従って、パケットが受信される時、それは、スイッチ素子制御セクション、即ち、制御ロジック［１４０］によってフリー・バッファ、又は、パケット・バッファ［１１５］を割り当てられる。そこで、スイッチ素子のリスト及び各スイッチ素子におけるそれらの対応するポート識別子を指定するルーティング・ベクトルがパケットに付加される。この動作方法は、スイッチ機構では、ルーティング・ベクトルが、スイッチにおけるルーティング・テーブルを使用してスイッチ機構における初期スイッチ素子によって決定されるので、ソース・ルーティングと呼ばれる。パケットが受信された後、制御ロジック［１４０］は、現在のルーティング・ベクトルを分析し、それを一時的に保持するパケット・バッファ［１１５］のアドレスを［１３２］のような出力キューに入れる。従って、パケット・バッファ・アドレスを知ると、［１３２］のような出力キューが共用メモリから対応するパケットを読み出すことができるので、最終的には、それらは、対応する出力ポート［１３０］を介してスイッチ素子［１００］から出て行く。
【００１７】
いずれのポート識別子にも対応しない特別のルーティング・タグを使用して、マルチキャスト及びブロードキャスト・オペレーションが実行される。マルチキャストを実行するためには、パケットのルーティング・タグが出力ポートのリストに対応する。パケットの単一のコピーが共用メモリのパケット・バッファ［１１５］に保持され、そのバッファのアドレスが、例えば、２つの出力キュー［１３４］におけるすべての対応する出力キューにコピーされる。従って、データ・パケットは、一回しか記憶される必要がなく、一方、これは、代わりに複製されるデータが記憶される共用メモリ内の位置に対するポインタである。「送信時の複製（ｒｅｐｌｉｃａｔｉｏｎ ａｔ ｓｅｎｄｉｎｇ − ＲＡＳ）」と呼ばれるこの技法は、最小のメモリ・リソースによって究極のパフォーマンスを提供し、パケットの単なるコピーが２回読み出されること［１３６、１３７］を可能にする。マルチキャストに関するこの特定の例では、そのコピーが、２つの対応する出力ポートを通して出て行く。
【００１８】
更に、従来の技術の項において簡単に既述したように、スイッチ機構は、ライン（回線）アダプテーション層（以下では、スイッチ・コア・アダプテーション層の代わりにＳＣＡＬと呼ばれる）へのポートを介して、通信回線とインターフェースしなければならない。イン・スイッチ・ポート及びアウト・スイッチ・ポートのペアに対して１つのそのようなＳＣＡＬ［１５０］が存在する。それの主たる目的は、特に、通信回線、例えば、光ファイバのイン・パス［１６１］及びアウト・パス［１６２］におけるデータをそのスイッチのイン・ポート［１２１］及びアウト・ポート［１３１］に搬送するために使用される一般に複雑なプロトコルを適応させることである。更に、ＳＣＡＬのもう１つの主要な役割は、スイッチ素子［１００、１０１］が損失のないスイッチング機能を実際に果たすのを助けることである。更に、トラック輻輳を防ぐことを助けるために、及び如何なるパケット廃棄も回避するために、ＳＣＡＬ［１５０］の入力レッグは、スイッチに存在する部分の上に、即ち、共用メモリ［１１０］の上に、更なるバッファを備えている。それが実際に実施される方法に関係なく、このエクストラ・バッファが一連のキューとして、即ち、出力ポート［１７１］に対して１つ及びマルチキャスト・トラフィック［１７２］に対して１つずつ編成される。それらのキューの目的は、着信トラフィックを、それがスイッチに入る前に、必要な場合に、一時的に保持することである。従って、複数の出力ポートを介してスイッチを出て行かなければならないすべてのトラフィック、即ち、マルチキャスト・トラフィックに対して共通のキュー［１７２］が存在する。単一の出力ポートを宛先とするトラフィック、即ち、ユニキャスト・トラフィックに対して、１つのポート当たり１つの専用のキュー［１７１］が存在する。
【００１９】
更に、図１に示された種類のスイッチング機能は、特殊化されたタイプのサービスをエンド・ユーザに提供するように、優先順位に基づいてトラフィックのクラスを管理しなければならない。一例として、本発明の説明では、（更に多くの又は少ないレベルが考えられるけれども）４つの優先順位レベル（０−３）が仮定される。レベル０は、この説明では、最高の優先順位を有し、より低い優先順位、即ち、レベル１、レベル２、及びレベル３の輻輳対トラフィックの場合、対応するトラフィックが処理されなければならない。更に、輻輳を防ぐための最後の手段として或るパケット廃棄が生じなければならない場合、これは優先順位３のトラフィックでもって開始するであろう。従って、スイッチ素子，例えば、［１３２］において又はＳＣＡＬにおいて使用された種々のキューに関連して、優先順位レベル当たり１つのウォータマーク（ｗａｔｅｒｍａｒｋ、水位線、水位標）［１８０］が存在する。キューが満たされていき或るウォータマークが越される［１８１］時、これは、この説明の残り部分で更に説明される適切なアクションすべてに対するトリガとして作用する。ウォータマークは、スイッチの共用メモリ［１１０］を満たすことにも関連する。この後者の場合、取られるアクションは総体的なものであり、即ち、共用メモリの対応する優先順位ウォータマークが越される場合、例えば優先順位レベル３のスイッチ入力トラフィックをすべて保持しなければならないすべてのＳＣＡＬに関連している。それに反して、これが、出力キュー［１３２］の優先順位レベル３のウォータマークであってそれが越される場合、アクションは更に選択的である。それらは、依然としてすべてＳＣＡＬと関連するけれども、そのポート［１３２］に対するトラフィックだけが、対応するＳＣＡＬ入力キューにおいて保持されなければならない。
【００２０】
結局、すべてのパーティにキューのすべてのステータス及び共用メモリの占有を知らせる機構は、スイッチ機構を構成するスイッチ素子の特定の設計に大きく依存している。これは本発明の範囲を超え、従って、本発明を実施する時に他の多くの代替え方法が使用され得るけれども、望ましい操作方法は、出力ポート、例えば、［１３１］又は入力ポート、例えば、［１２１］を通してスイッチを離れる又はスイッチに入ってくるパケット［１９０］のヘッダ部分（オーバヘッド）［１９１］においてこのタイプの情報を保持することが含まれる。特に、スイッチ素子［１００］において生じるものは、トラフィック出力ポート、例えば［１３１］を通して報告され得るし、ＳＣＡＬの入力レッグに送り戻される［１９２］。この後者は、スイッチの内部状態に関して更新されて保持され、従って、［１３２］のようなすべての出力キューの充足状態をいつもわかっている。従って、各ＳＣＡＬは、ビジーの出力ポートを宛先とするトラフィックを一時的に保持するというような適切なアクションを取ることができる。同様に、制御情報が、入力ポート［１２１］を介してそのスイッチに入って来るデータ・パケットによって搬送され、この情報が、すべてのスイッチ・ポート［１３０］を出て行くトラフィックを通して他のすべてのＳＣＡＬにできる限りブロードキャストされるようにする。
【００２１】
インバンド制御（ｉｎ−ｂａｎｄ ｃｏｎｔｒｏｌｌｉｎｇ）と呼ばれるこの方法は、エンド・ユーザのデータのみならず、スイッチ制御情報もまた搬送するためにスイッチ帯域幅を利用し、それを受け取る必要があるすべてのパーティにこの後者を容易にスプレッドすることを可能にする。この方法は、スイッチ性能及び特性を拡張するためにスイッチ素子が追加されなければならない時、非常に良くスケール・アップする。特に、この方法は、特定の信号Ｉ／Ｏがデータのように及びデータと共に搬送されるので、それが種々のコンポーネントの間における制御情報の交換に向けられる必要がなく、個々のスイッチ素子を監視する役割を持つ中央制御セクションが存在することを仮定する必要もない。
【００２２】
図２は、スイッチにおいて任意の所与の瞬間に生じるマルチキャストの密度を算定するために使用されるメトリックを示す。図１に示されたスイッチの構造のために、共用メモリ［２２０］の実際の充足状態［２００］とバッファ・ポインタ、例えば、［２３１］の形でポート出力キュー［２３０］において制御セクションによりエンキューされた（しかも、未だ送られてない）ものの和［２１０］とを比較することを含む簡単なメトリックが使用可能である。そこで、交換トラフィックを一時的に保持するために共用メモリにおいて現在割り当てられているバッファの数が、ポート出力キューにあるバッファ・ポインタの合計数に比較される。それら２つの数が同じである場合、明らかに、一時的に保持された各パケットとそれの単一の宛先ポートとの間に１対１の対応があるので、それは、マルチキャストが必要ないことを意味する。しかし、入って来るトラフィックのうちの或るものにおいてマルチキャストが必要であるということが決定されたために幾つかのパケットが複数の出力ポートを介してスイッチから出て行かなければならなくなると直ちに、これは、複数の出力キューにおいてバッファ・ポインタを複製するという結果を生じる。従って、バッファ・ポインタの和は、共用メモリにおいて割り当てられたバッファの数よりも大きくなり、それによって、マルチキャストの密度を測定する。トラフィック優先順位に従って適切なアクションが取られるように、そのようなメトリックに基づいたマルチキャスト・インデックス（ＭＣＩ）が発生されなければならない［２４０］。
【００２３】
このメトリックを生成する幾つかの方法が考えられる。例えば、出力キューに存在するバッファ・ポインタの合計数と共用メモリにおいて割り当てられたバッファの数との比率が計算され、その結果、ＭＣＩインデックス数が１に等しいか又は１よりも大きくなる。そのＭＣＩインデックスが高ければ高いほど密度が大きくなるということが、インプリメンテーション依存の（「共用メモリのそれぞれのサイズ」対「出力キューのサイズの和」に依存する）上限値を持つマルチキャストのレベルである。本発明を実施するこの方法は、分割が行われなければならないものと仮定し、その分割は、非常に高い速度でそれを行うための複雑なハードウェアを必要とする。もっと簡単な方法には、その代わりに差を計算することが含まれる。これは簡単な加算機が必要とされる。従って、マルチキャストが行われない時、ゼロのインデックス値が戻され、前のケースにおけるように、インデックス値が高ければ高いほど密度が大きくなるということが、インプリメンテーション依存の上限を持ったマルチキャストのレベルである。従って、本発明の望ましい実施例では、マルチキャスト密度を算定するために使用される簡単なメトリックは次のようになる：
ＭＣＩ ＝ ΣＮＯＱＰＰ − ＳＭＡＰＢ
但し、ＭＣＩ＝マルチキャスト・インデックス
ＯＱＰＰ＝出力キュー・パケット・ポインタ（Ｎ個のポートに及ぶ）
ＳＭＡＰＢ＝共用メモリに割り当てられたパケット・バッファ。
【００２４】
しかし、本発明の望ましい実施例におけるこの簡単なマルチキャスト・インデックスの選択が、マルチキャストの密度を表すインデックスを生成するための代替えの更に複雑な方法を使用するものも排除しないということは理解されなければならない。
【００２５】
簡単に上記したように、「共用メモリの相対的な充足」対「出力ポート・キューにおいてキューされるものの和」の比率、又はそれを測定するための任意の代替え方法が、本発明の精神から逸脱することなく、特定のインプリメンテーションにおいて選択可能である。
【００２６】
図３及び図４は、拘束のないマルチキャストから問題を生じる従来技術における２つの典型的な状況を簡単に示す。これは、図５に示される本発明の利点をよりよく理解する助けとなる。
【００２７】
図３は、共用メモリが、例えば、優先順位３の且つ同じ出力ポート［３１０］を宛先とした多くのマルチキャスト・パケット［３００］を或る時点で保持している時に生じる問題の一例である。この場合、対応する出力キューは満杯であるので、優先順位３のウォータマーク［３２０］はすぐに越される。従って、スイッチ制御情報をすべてのスイッチ・コンポーネントにスプレッドすること［３２５］を可能にする前述の機構を通して、所与の出力ポート・キュー［３１０］が次第に大きくなるという事実をすべてのＳＣＡＬ入力レッグ［３３０］がすぐに知ることになる。その結果、対応するユニキャスト入力キュー、例えば、この例では優先順位３に対する入力キュー［３３１］における受信したトラフィックがそのポートに対する各ＳＣＡＬユニキャスト・キューに保持される。しかし、ＳＣＡＬ入力マルチキャスト・キュー、例えば、［３３２］は特定のポートに専用のものではないので、それらは、優先順位３の共用メモリ・ウォータマーク［３４０］が越されない間、その優先順位に対するそれらのトラフィックを保持するように命令されない。これは、マルチキャスト・トラフィック及びユニキャスト・トラフィックの間の大きな不公平を導く。それは、特定の出力キューが次第に大きくなっている理由が前者の結果だけではないにしてもほとんど前者の結果であるけれども、この後者だけが保持されるためである。従って、これらのケースでは、ユニキャスト・トラフィックを中止することは、その問題を解決する大きな助けにはならない。
【００２８】
図４は、マルチキャストのレベルが制御されない場合に遭遇する困難に関するもう１つの例を示す。マルチキャスト・パケットが共用メモリにおいて受け付けられる時、しかも、それらがほとんど１つ又は複数の出力ポート［３５０］を宛先としているためにマルチキャスト・トラフィックが或る出力ポートに一時的に偏倚している（しかし、理想的には、それはすべての出力ポートに等しくスプレッドされなければならない）場合、共用メモリは急速に大きくなって、対応する優先順位のウォータマーク、例えば優先順位３のウォータマーク［３９０］を越える傾向がある。従って、共用メモリにおける優先順位３のウォータマークが実際に越されると、直ちにその優先順位に対するすべてのトラフィックが各ＳＣＡＬ［３８０］におけるすべてのユニキャスト及びマルチキャスト・キュー、例えば、［３８１、３８２］において保持される。これは、たとえ、他の出力ポート・キュー［３６０］がビジーでなく、その優先順位に対するトラフィックを完全に処理することができても生じる。これは、或る優先順位のすべてのトラフィック（即ち、この例ではレベル３のトラフィック、又は優先順位２のウォータマークが越される場合等ではレベル２及びレベル３のトラフィック）が、例えば、出力ポートの宛先に関係なく［３８２］に無条件に保持されるので、不公平を生じる。しかし、それら出力ポートの或るものは、アイドルであるか又はその優先順位に対して軽く負荷をかけられ［３６０］、従ってスイッチ・リソースの利用中という結果を生じることがある。
【００２９】
図５は、本発明を実行する方法を示す。図２において示されたように計算されたマルチキャスト・インデックスＭＣＩ［３９５］が優先順位ＭＣＰ（Ｐ）に対するプログラム可能マルチキャスト閾値［３９７］に比較される［３９６］。従って、スイッチのユーザは、それ自身の特定のアプリケーションに対する行為をカストマイズする自由を有する。そこで、本発明は、通常はイン・ポートとアウト・ポートとの間のデータの流れを制御するために使用される他のすべての機構上でＳＣＡＬ［３３０、３８０］のマルチキャスト・キューを制御する可能性をイネーブルする。更に詳しく云えば、マルチキャストのレベルが、そのようにしてユーザによりセットされた閾値より低いか又は閾値に等しい場合、マルチキャスト・トラフィックに関する限り、特別なことは何も行われない。しかし、セットされた閾値が越される場合、即ち、ＭＣＩがＭＣＴ（Ｐ）よりも大きくなる場合［３９８］、これは、マルチキャスト・キュー［３３２、３８２］のトラフィックを保持するためにすべてのＳＣＡＬ入力レッグ［３３０、３８０］に報告される。これは、図３に関連して説明した問題が生じるのを防ぐために共用メモリの実際の充足状態に関係なく行われる（マルチキャスト・トラフィックは、それが１つ又は複数の出力ポート・キュー［３１０］において見られる輻輳に対する主要な貢献になったとしても、流れることを可能にされた）。換言すれば、ＳＣＡＬマルチキャスト・キューは、図３の構成においてマルチキャスト・トラフィックが実際に停止する時、スイッチにおいて所与の瞬間に見られるマルチキャストの全体的な実際のレベルに基づいたそれら自身の独立した制御を有する。従って、この機構は、マルチキャスト・キューを保持するという決定が最早共用メモリの充足状態に基づかないので、図４において説明した問題を免れることも可能にする。従って、ＳＣＡＬマルチキャスト・キューは、トラフィックを或る優先順位レベルで送ることを許され得るので、マルチキャスト・インデックスが対応する閾値以下に残っている限り、あまりビジーでないポート［３６０］がそれを処理する機会を得る。
【００３０】
図６は、本発明による方法のステップを示す。従って、マルチキャスト・インデックス、即ち、ＭＣＩはスイッチにおいて計算され続ける［４１０］。この前に、アプリケーションに従って一度だけ又は規則的に更新されて、優先順位に対するマルチキャスト閾値ＭＣＴ（Ｐ）がセットされる［４００］。この後者が、ＭＣＩに比較される［４２０］。ステップ［４３０］に対する答えが否定的である場合、即ち、ＭＣＩがＭＣＩ（Ｐ）よりも小さいか又はそれに等しい場合［４３１］、ＳＣＡＬは、既により高い優先順位のトラフィックがその時保持されてない場合、その優先順位に対応する予め保持している状態をリリースするように命令される［４４０］。ステップ４３０に対する答えが肯定的である場合、即ち、ＭＣＩがＭＣＴ（Ｐ）よりも大きい場合、ＳＣＡＬは、現在の優先順位のトラフィック、及びより低い優先順位のトラフィックが存在する場合にはそれらのトラフィックすべてを含めて保持するように命令される［４５０］。その後、スイッチがアップであって動作している間、その方法は循環し続け［４６０］、ステップ［４００］を再び始める。これは、すべての優先順位クラスのトラフィックをカバーするように直列的に又は並列的に行われる。低い優先順位クラスのトラフィックを最初に保持するために、マルチキャスト閾値は、優先順位が高ければ高いほど閾値が大きくなるようセットされる［４００］。
【００３１】
図１に示された種類のスイッチ素子［１００、１０１］に関連して説明したけれども、本発明が異なる環境においても同様に実施され得ることは当業者には明らかであろう。特に、本発明は、サブ・ポートを実装した単一のＳＣＡＬから複数の通信回線［１６２］が処理される場合に、発信トラフィックを更に保持するためのメモリを有するＳＣＡＬ機能［１５０］の出力レッグにも適用する。この場合、マルチキャストが各サブ・ポートまで搬出されなければならないので、図面に関連して詳細に説明したような種類の問題が、それを免れるために本発明の実施を必要とするＳＣＡＬ出力レッグにおいてのみ生じることがあり得る。
【図面の簡単な説明】
【図１】
本発明を良好に利用し得るタイプのスイッチを示す。
【図２】
マルチキャスト・トラフィックのレベルを算定するマルチキャスト・インデックス（ＭＣＩ）を本発明が生成する方法を示す。
【図３】
本発明によって解決されるべき問題点を示す。
【図４】
本発明によって解決されるべき更なる問題点を示す。
【図５】
本発明を実行するために、ＭＣＩが優先順位毎のマルチキャスト閾値、即ち、ＭＣＩ（Ｐ）に比較される方法を示す。
【図６】
本発明による方法のステップを示す。
【符号の説明】
１００、１０１　スイッチ素子
１１０　共用メモリ
１１５　パケット・バッファ
１２０　入力ポート
１２５　入力ルータ
１３０　出力ポート
１３５　出力ルータ
１４０　制御ロジック
１５０　スイッチ・コア・アダプテーション層（ＳＣＡＬ）
１８０　ウォータマーク
【図１】
2004509512.tif 000002
【図２】
2004509512.tif 000003
【図３】
2004509512.tif 000004
【図４】
2004509512.tif 000005
【図５】
2004509512.tif 000006
【図６】
2004509512.tif 000007
【国際公開パンフレット】
2004509512.tif 000008
2004509512.tif 000009
2004509512.tif 000010
2004509512.tif 000011
2004509512.tif 000012
2004509512.tif 000013
2004509512.tif 000014
2004509512.tif 000015
2004509512.tif 000016
2004509512.tif 000017
2004509512.tif 000018
2004509512.tif 000019
2004509512.tif 000020
2004509512.tif 000021
2004509512.tif 000022
2004509512.tif 000023
2004509512.tif 000024
2004509512.tif 000025
2004509512.tif 000026
2004509512.tif 000027
2004509512.tif 000028
2004509512.tif 000029
2004509512.tif 000030
【国際公開パンフレット（コレクトバージョン）】
2004509512.tif 000031
【国際調査報告】
2004509512.tif 000032
2004509512.tif 000033
2004509512.tif 000034