(57)【特許請求の範囲】
【請求項１】
受信したデータパケットをメモリ手段に格納させるパケット格納手段と、
データパケットの所定の第１のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第１レジスタ手段内に作成するように動作可能で、且つ、データパケットの所定の第２のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第２レジスタ手段内に作成するように動作可能であるパケット登録手段と、
受信されたデータパケットが前記第１及び第２のカテゴリの両方に属するマルチキャスト・パケットである場合に、前記パケット登録手段に当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第１及び第２のレジスタ手段内に作成させるように動作可能なマルチキャスト・ハンドリング手段と、
前記第１及び第２のレジスタ手段の各々にたいして、エントリーが作成された順序で当該レジスタ手段内のエントリーを読むことが可能で、各エントリーの読みにたいして、前記メモリ手段から対応するデータパケットを読み出して出力すことが可能なパケット出力手段と、
を含み、
前記受信されたデータパケットは、前記パケット出力手段により出力された後にそれぞれの宛先に従ってカテゴライズされ、前記レジスタ手段の各々は異なる宛先に対応するようにした、
データパケットを受け取りそれらをパケット交換回路に配信するデータ
ユニット。
【請求項２】
前記第１及び第２のカテゴリに加えてデータパケットのさらに所定のカテゴリを有し、且つデータパケットの各異なるカテゴリのためのレジスタ手段を有し、
前記マルチキャスト・ハンドリング手段は、マルチキャスト・パケットが受信されると、前記パケット登録手段に、前記パケットが属する各カテゴリのために前記レジスタ手段内に当該パケットに対応するエントリーを作成させるように働く、請求項１記載のデータユニット。
【請求項３】
前記レジスタ手段の各々はファースト・イン・ファースト・アウト機構を持つキューの形態になっている、請求項１又は２に記載のデータユニット。
【請求項４】
前記受信データパケットがマルチキャスト・パケットの場合は、前記マルチキャスト・ハンドリング手段は、前記パケット格納手段に前記メモリ手段内の単一の位置に前記マルチキャスト・パケットを格納させ、前記マルチキャスト・パケットが属する各カテゴリのための前記レジスタ手段内に前記パケット登録手段により作成された、前記マルチキャスト・パケットに対応するエントリーに、前記単一の位置を指し示すポインタを含ませるようにした、請求項１から３のいずれか一項に記載のデータユニット。
【請求項５】
前記メモリ手段及び前記レジスタ手段の各々は同一の記憶ユニットを形成する、請求項１から４のいずれか一項に記載のデータユニット。
【請求項６】
データパケットの前記カテゴリの１つだけに属するユニキャスト・パケットである各データパケットのために、そのユニキャスト・パケットに対応するエントリーはそのパケット自体の少なくとも幾らかのデータを含む、請求項５記載のデータユニット。
【請求項７】
前記パケット格納手段は、記憶ユニットのデータブロックで自由に使用できるものを登録するために、データブロック内に前記記憶ユニットを組織化し且つフリープール手段を含み、前記パケット格納手段は、データパケットが受信されると、そのパケットを使用が自由であるとして前記フリープールにより登録された前記データブロックの１つに割り当てるように動作可能であり、ユニキャスト・パケットに割り当てられたデータブロックは、そのパケットに対応する前記エントリーが前記パケット出力手段により、その中でエントリーが作成された前記レジスタ手段から読まれると、前記フリープール手段により登録されるようにした、請求項５又は６に記載のデータユニット。
【請求項８】
前記マルチキャスト・ハンドリング手段は、マルチキャスト・パケットに割り当てられたデータブロックの前記フリープールによる再登録を、そのマルチキャスト・パケットに対応する前記エントリーの各々が前記パケット出力手段により読み出されるまで、禁止するように動作可能である、請求項７に記載のデータユニット。
【請求項９】
前記マルチキャスト・パケットのデータはそのパケットに割り当てられたデータブロック内のマルチキャスト記述子に格納され、そのマルチキャスト記述子はデータパケットの異なるカテゴリにそれぞれ対応するマルチキャスト処理されたビットを含み、
前記マルチキャスト・ハンドリング手段は、マルチキャスト・パケットが受信されると、当該マルチキャスト・パケットが属するカテゴリにそれぞれ対応するマルチキャスト処理されたビットを第１の状態にプリセットし、残りのマルチキャスト処理されたビットを前記第１の状態と異なる第２の状態にプリセットするように動作可能であり、且つ前記レジスタ手段の１つの中のマルチキャスト・パケットに対応するエントリーが前記出力手段から読み出されると、そのレジスタ手段に対応するマルチキャスト処理されたビットを前記第２の状態に変更し、前記マルチキャスト処理されたビットのすべてが前記第２の状態を持つことを検出すると、そのマルチキャスト・パケットに割り当てられたデータブロックを前フリープールに戻させるように動作可能である、請求項８記載のデータユニット。
【請求項１０】
マルチキャスト・パケットに対応する前記エントリーの各々は前記データブロックの１つに格納されたリンク記述子内で作成され、２つの連続するユニキャスト・パケットの間で受信された少なくとも２つの連続するマルチキャスト・パケットのそれぞれ対応するエントリーは、同一のリンク記述子内に格納できる、請求項７から９のいずれか一項に記載のデータユニット。
【請求項１１】
受信されたデータパケットはそれらのそれぞれの優先度にしたがってサブカテゴリ化され、少なくとも１つのカテゴリに対するレジスタ手段は異なる優先度のサブカテゴリにそれぞれ対応する複数のサブレジスタ手段に分割され、前記パケット登録手段は、前記１つのカテゴリに属するデータパケットが受信されると、当該パケットが属する優先度のサブカテゴリに対応する前記サブレジスタ手段の上記１つの中に、そのデータパケットに対応する前記エントリーを作成するように動作可能である、請求項１から１０の何れか一項に記載のデータユニット。
【請求項１２】
前記パケット出力手段は優先順位で前記サブレジスタ手段を選択し、各選択されたサブレジスタ手段にたいして、そのデータパケットを出力するように動作可能であり、そのデータパケットのそれぞれの対応するエントリーは、それらのエントリーが作成された順序で当該サブレジスタ手段内にある、請求項１１記載のデータユニット。
【請求項１３】
前記出力手段は各データパケット出力にルーティング・タグを添付するように動作可能であり、それにより、そのルーティング・タグはパケットの前記宛先を識別する情報を含んでいる、請求項１から１２のいずれか一項に記載のデータユニット。
【請求項１４】
前記出力手段は各データパケット出力に、出力されるべき次のデータパケットの前記宛先を識別する情報を含むルーティング・タグを添付するように動作可能である、請求項１から１２のいずれか一項に記載のデータユニット。
【請求項１５】
前記ルーティング・タグは固定長である、請求項１３又は１４に記載のデータユニット。
【請求項１６】
前記データパケットは各々、１つ以上のＡＴＭセルを備えている、請求項１から１５のいずれか一項に記載のデータユニット。
【請求項１７】
前記出力手段は、マルチキャスト・パケットに対応するエントリーがそのパケットの前記宛先の１つに対応する前記レジスタ手段から読まれると、そのパケット出力のヘッダ部又は各ＡＴＭセルに、その宛先に対応するルーティング情報を含ませるように動作可能である、請求項１から１６のいずれか一項に記載のデータユニット。
【請求項１８】
各々が請求項１から１７のいずれか一項に記載のデータユニットである、複数のデータユニットと、
前記データユニットの各々の前記出力手段に接続されて、当該データユニットにより出力されたデータパケットを受け取り、それらを前記データユニットの選択されたさらなる１つに転送するスイッチング手段とを備える交換機。
【請求項１９】
前記データユニットと前記スイッチング手段は同期的に動作して一連のスイッチング・サイクルを実行し、前記交換機はさらに、前記データユニットに接続されて、各スイッチング・サイクル内で当該ユニットの出力手段により前記エントリーの１つがそこから読まれるべき、各データユニットのレジスタ手段を選択するスイッチング制御手段をさらに備えている、請求項１８記載の交換機。
【請求項２０】
前記スイッチング手段はクロス・コネクト・スイッチング・ユニットを備えている、請求項１８に記載の交換機。
【請求項２１】
データユニットにおいてデータパケットを受信し、それらをメモリ手段に格納し、
そのデータパケットの所定の第１のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第１のレジスタ手段内に作成し、所定の第２のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第２のレジスタ手段内に作成し、受信データパケットが前記第１及び第２のカテゴリの両方に属するマルチキャスト・パケットの場合に、当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第１及び第２のレジスタ手段内に作成し、そして
前記第１及び第２のレジスタの各々に対して、当該レジスタ手段内のエントリーをそれらが作成された順序で読み、各エントリーの読みにたいして、メモリ手段から対応するデータパケットを読み出してこれをデータユニットから出力する、
というステップを備え、
前記受信されたデータパケットは、前記データユニットから出力された後にそれぞれの宛先に従ってカテゴライズされ、前記レジスタ手段の各々は異なる宛先に対応するようにした、
パケット交換機のデータユニットで使用する、マルチキャスティング・データパケット方法。
【請求項２２】
ルーティング情報を含むデータパケットを交換するクロス・コネクト・スイッチング・デバイスであって、
複数のポートと、
複数のデータ転送パスを同時に提供するように選択的に制御可能なデータ転送手段であって、各パスは前記複数のポートから選択された入力ポートと出力ポートとを有し、前記入力ポートに受信されたデータパケットを前記出力ポートに通過させるように働く、データ転送手段と、
データパケットが前記ポートの１つでそのデバイスにより受信されると、そのパケットに、前記入力ポートとしてのそのポートを有し、その前記出力ポートとして前記ルーティング情報に依存してセルフルーチング手段により選択されたポートのさらなる１つを有する前記データ転送パスの一つを割り当てるように動作可能なセルフ・ルーチング手段と、
を備え、
前記デバイスの各ポートで受信されたデータパケットは、当該ポートにより受信されるべき次のデータパケットにたいするルーティング情報を含み、前記セルフ・ルーチング手段は各データパケットと共に受信されたルーチング情報を採用して、次のデータパケットのためのデータ転送パスを割り当てるように動作可能である、
クロス・コネクト・スイッチング・デバイス。
【請求項２３】
前記複数のポートのいくつかは、その各々がデータパケットのみを受信するためのそのデバイスの入力ポート専用であり、前記複数のポートの他方は、その各々がデータパケットのみを出力するためのそのデバイスの出力ポート専用である、請求項２２に記載のデバイス。
【請求項２４】
前記ポートの少なくとも１つは、前記データ転送パスの一つの前記入力ポートとして又は前記出力ポートとして選択され得る双方向ポートである、請求項２２に記載のデバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機に関し、例えば、非同期転送モード（ＡＴＭ）ネットワークにおける使用のための交換機におけるマルチキャスティング(multicasting)に関する。特に、本発明はマルチキャスティングを実現するためのそのような交換機における使用のためのデータユニットに関する。
【０００２】
【従来の技術】
図１９はＡＴＭネットワークにおける使用のために従来考えられていた交換機の各部を示す。交換機１は６４個のデータユニット２0 から２63を含み、各データユニットは入力部４0 から４63と出力部６0 から６63を有する。明瞭化のために、データユニット２0 、２1 、２2 、及び２63の入出力部のみが図１９に示されている。図１９において、各データユニット２の出力部６は、ユニットの動作を明瞭化するために、関連するユニットの入力部４から分離されて示されているが、入力部４と出力部６は共に同一データユニット２の部分を形成することが理解される。
【０００３】
各データユニット２は交換機の１つ以上のデータ入出力ポートＤＰ0 からＤＰ127 に接続されている。例えば、図１９に示すように、各データユニットは一対のデータポートＤＰに接続されている。
図１９の交換機のデータポートＤＰはそれぞれＡＴＭ通信ラインに接続されており、そのＡＴＭ通信ラインは各々、多数の分離チャネル（仮想チャネル）を提供する。各ＡＴＭ仮想チャネルは固定長セルの形態でデータを運ぶ。
【０００４】
交換機１はさらに、データユニット２の数と同じ数の入力ポートＩＰ0 からＩＰ63と出力ポートＯＰ0 からＯＰ63を有するクロス・コネクト・スイッチング・ユニット８を備えている。各入力部４は入力ポートＩＰの１つに接続されており、各出力部６は出力ポートＯＰの１つに接続されている。
クロス・コネクト・スイッチング・ユニット８は、その入力ポートと出力ポートの間を接続するために選択的に制御可能である。各々がその入力ポートの１つと出力ポートの１つの間の接続である６４個までの同時接続が可能である。例えば、データが交換機１により、データポートＤＰ4 （「宛先」データポート）にルーチングされるべきデータポートＤＰ2 （「ソース」データポート）で受信されると、クロス・コネクト・スイッチング・ユニット８は、データユニット２1 （これに接続されたソースデータポートＤＰ2 を有する「ソース・データユニット」）の入力部４1 を、データユニット２2 （これに接続された宛先データポートＤＰ4 を有する「宛先データユニット」）の出力部６2 に接続するようになっている。こうして、ソース・データユニット２1 と、宛先データユニット２2 はデータユニット対を形成し、その対のソース・データユニットからその対の宛先データユニットにデータを通過させるために交換機内でデータ転送パスが割り当てられる。同時に６３個までの他のそのようなデータユニット対に、クロス・コネクト・スイッチング・ユニット８によりそれぞれのデータ転送パスが割り当てられることができて、それらの対のそれぞれのソース・データユニットに接続されたソース・データポートで受信されたデータをもスイッチを介してそれらの対の、関係する宛先データポートに接続されているそれぞれの宛先データユニットに転送可能にする。
【０００５】
２つ（又はそれより多い）のソース・データポートが同時に同一の宛先データポートと通信することを望むことがあり得るので、データユニット２又はクロス・コネクト・スイッチング・ユニット８、又は両者内といった、交換機内のいつくかのポイントでのデータの幾分かのバッファリングのために備えることが通常である。このバッファリングにより、２つの競合するソース・データポートの１つのデータは、それら２つの競合するソース・データポートの他方で受信されたデータを所望の宛先データポートに転送することを待機させ続ける。
【０００６】
データポートに接続された仮想チャネルの中で、幾つかのチャネルは「ユニキャスト・チャネル」と呼ばれ、そのセルは交換機により単一の他の仮想チャネルに切り換えられる。しかしながら、複数のデータポートに接続された他のチャネルは「マルチキャスト」と呼ばれ、そのマルチキャストのセルは１つより多い他のチャネルに交換機により切り換えられる。こうして、そのようなマルチキャスト・チャネルから受信したセルを取り扱うためには、セルをソース・データポートから複数の宛先データポートに転送することが通常は必要である。
【０００７】
そのようなマルチキャスティングを設ける多くの方法がある。例えば、係属中の英国出願第９６１７１１０．３により詳細に記載されているように、データユニットを「マルチキャスティング・グループ」内で動作させ、各グループに、１つ以上のセルをそのグループのすべての宛先データ・ユニットに同時に出力するソース・データユニットを持たせることが可能である。スイッチング・ユニットの出力ポートにおけるコンテンションを避けるために、一般的にそのようなマルチキャスティング・グループの１つ又は限られた数のみが同時に形成されることができる。こうして、この方法では、データユニットにはマルチキャスティングの機会を個別に、又は小さいグループでは、例えば、所定の時間間隔で、割り当てなければならない。
【０００８】
【発明が解決しようとする課題】
しかしながら、このマルチキャスティング方法は、例えば、ソフトウエアの観点から、制御及び配置が複雑であり、且つセルのコンテンションの問題を起こしやすく、かなりのバッファリングが交換機内に設けられない限り、セル損失に導くので、依然として比較的に不十分である。
【０００９】
さらに、ユニキャスト・チャネルと同じように、マルチキャスト・チャネルは異なるタイプのデータトラフィックを運ぶために使用できる。例えば、いくつかのマルチキャスト・チャネルは低優先度のコンピュータ・データ・ファイルを運ぶために使用されるが、他のマルチキャスト・チャネルは、音声やビデオのような高優先度の固定速度（ＣＢＲ）トラフィックを運ぶために使用される。マルチキャスト・チャネルを含む、すべてのＡＴＭチャネルは、関連するチャネルが設定されるときに特定されるサービス（ＱｏＳ）品質の要求に合致しなければならない。特に、セル転送遅延とセル転送遅延ゆらぎ（ＣＤＶ）は特定のＱｏＳ要求に相応する同意された限界内になければならない。交換機を通過して同一の宛先データポートに向かう、同一の優先度を持つユニキャスト・チャネルとマルチキャスト・チャネルがあり得る。所定の時間間隔でのマルチキャスト機会の割り当てにより、交換機内での優先度を受信するマルチキャスト・チャネルが得られ、それにより、マルチキャスト・セルとユニキャスト・セルが同じ優先度を持っていても、特定のデータポートに向けられて、同じ宛先に向けられたユニキャスト・セルの後に受信されたマルチキャスト・セルは、そのユニキャスト・セルの前にその宛先データポートに転送される。
【００１０】
したがって、実際には、同一の優先度の異なる仮想チャネルに対するセル・シーケンスの一貫性は保証できない。交換機内でマルチキャスト・チャネルに対してより高い優先度をを与えるようにすることにより、ユニキャスト・チャネルに対するセル遅延はネットワーク内のどこででも増大することがあり得、これは、セル転送遅延とセル転送遅延ゆらぎが音声及びビデオトラフィックのようなリアルタイムトラフィックに深刻な劣化の効果をもたらすので、厳しく避けなければならない。例えば、音声トラフィックは、短くなった不所望の信号となり、望ましくない音声効果が導入されるかも知れない。ビデオ・トラフィックはそのような遅延／位相ゆらぎに対してより影響されやすく、画素落ち、色の変化及び他の視覚的異常を表す。
【００１１】
交換機を「セルフルーチング」にして、すべてのコンポーネントがスイッチング・コントローラにより直接制御されるデータのルーチングを持つ必要なしに、データが交換機の様々なコンポーネントを通る適切なルートを通過するようにし、それによりスイッチング・コントローラの負荷を軽減することも望ましいかも知れない。マルチキャスト・チャネルを行う必要性は交換機のコンポーネントの設計を複雑にし、したがって、それらのコンポーネントの設計を過剰に複雑にすることなく、セルフルーチングコンポーネントを持つそのような交換機における使用のためのマルチキャスティング法を提供することが望まれる。
【００１２】
【課題を解決するための手段】
本発明の第１の態様によれば、受信したデータパケットをメモリ手段に格納させるパケット格納手段と、データパケットの所定の第１のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第１レジスタ手段内に作成するように動作可能で、且つ、データパケットの所定の第２のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第２レジスタ手段内に作成するように動作可能であるパケット登録手段と、そのように受信されたデータパケットが前記第１及び第２のカテゴリの両方に属するマルチキャスト・パケットである場合に、前記パケット登録手段に当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第１及び第２のレジスタ手段内に作成させるように動作可能なマルチキャスト・ハンドリング手段と、前記第１及び第２のレジスタ手段の各々にたいして、エントリーが作成された順序で当該レジスタ手段内のエントリーを読むことが可能で、各エントリーの読みにたいして、前記メモリ手段から対応するデータパケットを読み出して出力すことが可能なパケット出力手段と、を含む、データパケットを受け取りそれらをパケット交換回路に配信するデータユニットが提供される。
【００１３】
このようなデータユニットにおいては、セル・シーケンスの一貫性は、同一のカテゴリに属するユニキャスト・パケットとマルチキャスト・パケットに対して保証され、ユニキャスト・パケットとマルチキャスト・パケットの両方に対するサービス要求の信頼性のある品質に合致することを可能にする。
前記第１及び第２のカテゴリに加えてデータパケットのさらに所定のカテゴリが存在してもよく、この場合は、データユニットはデータパケットの各異なるカテゴリのためのそのようなレジスタ手段を有し、前記マルチキャスト・ハンドリング手段は、そのようなマルチキャスト・パケットが受信されると、前記パケット登録手段に、前記パケットが属する各カテゴリのために前記レジスタ手段内に当該パケットに対応するそのようなエントリーを作成させるように働く。
【００１４】
好ましくは、受信されたデータパケットは、パケット出力手段により出力された後にそれぞれの宛先に従ってカテゴライズされ、前記レジスタ手段の各々は異なる宛先に対応している。例えば、複数のデータユニットが、ユニットを相互接続しデータユニット対の間のデータ転送パスを選択的に提供するように働くスイッチング手段（スイッチング組織）と共に交換機内に採用してもよい。宛先はそれぞれ異なるデータユニットに対応することになる。
【００１５】
前記レジスタ手段の各々はファースト・イン・ファースト・アウト機構、例えば、キュー持つ。これによりレジスタ手段内のエントリーが作成された順序で読み出されることが容易になる。
受信データパケットがマルチキャスト・パケットの場合は、パケット格納手段は好ましくは前記メモリ手段内の単一の位置にマルチキャスト・パケットを格納するようにさせられ、マルチキャスト・パケットが属する各カテゴリのための前記レジスタ手段内にパケット登録手段により作成された、マルチキャスト・パケットに対応するエントリーは、前記単一の位置を指し示すポインタを含む。これにより、宛先の各々に対するマルチキャスト・パケットのコピーを格納する必要が無くなる。エントリーは各適切なレジスタ手段内に作成される必要があるが、そのエントリーはパケット自体よりも極めて少ない情報しか持っていないので、パケットの迅速な登録が可能になる。
【００１６】
前記メモリ手段と前記レジスタ手段の各々は好ましくは、データユニット自体の内部又は外部でよい、同一の記憶ユニット、例えばスタティックＲＡＭを形成する。これにより、多くの異なるメモリを設ける必要はなくなる。格納手段が外部のものである場合は、その大きさはトラフィック要求に適当なように選ぶことができる。即ち、大きなトラフィックの応用には低いトラフィックの応用よりも大きな格納ユニットが必要になる。これにより柔軟性が高まり制御価格を助けることができる。
【００１７】
データパケットの前記カテゴリの１つだけに属するユニキャスト・パケットである各データパケットのために、そのユニキャスト・パケットに対応するエントリーは好ましくはそのパケット自体の少なくとも幾らかのデータを含む。換言すれば、メモリ手段とレジスタ手段がすべて同一の格納手段の一部を形成する場合は、ユニキャスト・パケットに対応するエントリーがパケット自体から分離される必要がなくなり、ユニキャスト・セルが受信されるとそれらは共に関係するレジスタ手段（キュー）内に配置された単一の「記述子」内に作成できる。
【００１８】
前記パケット格納手段は、好ましくは、記憶ユニットのデータブロックで自由に使用できるものを登録するために、データブロック内に記憶ユニットを組織化し且つフリープール手段を含み、パケット格納手段は、データパケットが受信されると、そのパケットを使用が自由であるとして前記フリープールにより登録された前記データブロックの１つに割り当てるように動作可能であり、そのようなユニキャスト・パケットに割り当てられたデータブロックは、そのパケットに対応する前記エントリー（例えば、上記記述子）が前記パケット出力手段により、その中でエントリーが作成された前記レジスタ手段から読まれると、前記フリープール手段により登録される。
【００１９】
そのようなデータブロックのこの方法による使用により、ユニットが使用中のとき、メモリ資源をダイナミックに割り当てることを可能にし、それにより各レジスタ手段のための及びメモリ手段のための固定メモリ量を予め確保する必要がなくなる。
この場合、前記マルチキャスト・ハンドリング手段は、好ましくは、マルチキャスト・パケットに割り当てられたデータブロックの前記フリープールによる再登録を、そのマルチキャスト・パケットに対応する前記エントリーの各々が前記パケット出力手段により読み出されるまで、禁止するように動作可能である。例えば、前記マルチキャスト・パケットのデータはそのパケットに割り当てられたデータブロック内のマルチキャスト記述子に格納されてもよい。このマルチキャスト記述子は好ましくはデータパケットの異なるカテゴリにそれぞれ対応するマルチキャスト処理されたビットを含む。前記マルチキャスト・ハンドリング手段は、そのようなマルチキャスト・パケットが受信されると、当該マルチキャスト・パケットが属するカテゴリにそれぞれ対応するマルチキャスト処理されたビットを第１の状態にプリセットし、残りのマルチキャスト処理されたビットを前記第１の状態と異なる第２の状態にプリセットするように動作可能であり、且つ前記レジスタ手段の１つの中のマルチキャスト・パケットに対応するエントリーが前記出力手段から読み出されると、そのレジスタ手段に対応するマルチキャスト処理されたビットを前記第２の状態に変更し、前記マルチキャスト処理されたビットのすべてが前記第２の状態を持つことを検出すると、そのマルチキャスト・パケットに割り当てられたデータブロックを前フリープールに戻させるように動作可能である。これによりマルチキャスト記述子の処理が便利になる。
【００２０】
１つの好ましい実施例においては、マルチキャスト・パケットに対応する前記エントリーの各々は前記データブロックの１つに格納されたリンク記述子内で作成され、２つの連続するユニキャスト・パケットの間で受信された少なくとも２つの連続するマルチキャスト・パケットのそれぞれ対応するエントリーは、同一のリンク記述子内に格納できる。これにより、マルチキャスト・パケットを受信する毎に各適当なレジスタ手段内に新たな記述子を生成する必要がなくなる。エントリーは関係するマルチキャスト記述子に対する単純なポインタでよいので、多くのエントリーは単一のリンク記述子内に収容することができ、メモリを節約してエントリーの作成速度は非常に速い。こうして、次のパケットが受信される前にすべてのレジスタ手段を更新することが可能になり、過剰なバッファリング又は輻輳制御処理の必要がなくなる。
【００２１】
受信されたデータパケットはそれらのそれぞれの優先度にしたがってサブカテゴリ化されてもよい。この場合は、、少なくとも１つのカテゴリに対するレジスタ手段は好ましくは異なる優先度のサブカテゴリにそれぞれ対応する複数のサブレジスタ手段に分割され、パケット登録手段は、前記１つのカテゴリに属するデータパケットが受信されると、当該パケットが属する優先度のサブカテゴリに対応する前記サブレジスタ手段の上記１つの中に、そのデータパケットに対応する前記エントリーを作成するように動作可能である。パケット出力手段は優先順位で前記サブレジスタ手段を選択し、各選択されたサブレジスタ手段にたいして、そのデータパケットを出力するように動作可能であり、そのデータパケットのそれぞれの対応するエントリーは、それらのエントリーが作成された順序で当該サブレジスタ手段内にある。これにより、より高い優先度のパケットはより低い優先度のパケットに先立って出力されるが、同一の（メイン）カテゴリに属する、例えば、同一の宛先を持つユニキャスト・パケットとマルチキャスト・パケットの間の正確なパケット・シーケンスを依然として保持することが保証される。
【００２２】
前記出力手段は各データパケット出力にルーティング・タグを添付するように動作可能であり、それにより、そのルーティング・タグはパケットの前記宛先を識別する情報を含んでいる。これにより、スイッチング組織のコンポーネントをセルフルーティングにできる。１実施例においては、前記出力手段は各データパケット出力に、出力されるべき次のデータパケットの前記宛先を識別する情報を含むルーティング・タグを添付するように動作可能である。この「フィードフォワード」法により、セルフルーティング・コンポーネントは、前回のパケットが取り扱われるとすぐに次のパケットにたいする形態をセットできるようにして、そのコンポーネント内のバッファリング要求を減少させるかもしれない。
【００２３】
出力手段によるすべてのパケット出力は、マルチキャスト受信パケットから得られるものでも、１つだけの宛先を持っているので、ルーティング・タグは固定長である。
１つの好ましい実施例においては、データユニットはＡＴＭ交換機内に採用されており、前記データパケットは各々、１つ以上のＡＴＭセルを備えている。
【００２４】
この場合、前記出力手段は、そのようなマルチキャスト・パケットに対応するエントリーがそのパケットの前記宛先の１つに対応するレジスタ手段から読まれると、そのパケット出力のヘッダ部又は各ＡＴＭセルに、その宛先に対応するルーティング情報を含ませるように動作可能である。これにより、異なる宛先にたいする異なる出力パケットにユニークなセルアドレスを持たせることが可能である。
【００２５】
このようなＡＴＭ交換機において、各データユニットとスイッチング組織コンポーネントとは非同期的に動作してもよいが、データユニットとスイッチング組織コンポーネントは同期的に動作して一連のスイッチング・サイクルを実行することが好ましく、その交換機は、前記データユニットに接続されて、各スイッチング・サイクル内で当該ユニットの出力手段により前記エントリーの１つがそこから読まれるべき、各データユニットのレジスタ手段を選択するスイッチング制御手段をさらに備えていることが好ましい。これにより、交換機内のコンテンションの問題を避けることができ、スイッチング・コントローラがスイッチング資源を公平に、例えばデータユニット内のキューの満たされているレベルに依存してダイナミックに割り当てることが可能になる。そのような同期交換のスイッチング組織コンポーネントは本質的にメモリがなくてよく、例えば単純なクロス・コネクト・スイッチング・ユニットを使用できる。
【００２６】
本発明の第２の態様によれば、データユニットにおいてデータパケットを受信し、それらをメモリ手段に格納し、そのデータパケットの所定の第１のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第１のレジスタ手段内に作成し、所定の第２のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第２のレジスタ手段内に作成し、そのような受信データパケットが前記第１及び第２のカテゴリの両方に属するマルチキャスト・パケットの場合に、当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第１及び第２のレジスタ手段内に作成し、そして前記第１及び第２のレジスタの各々に対して、当該レジスタ手段内のエントリーをそれらが作成された順序で読み、各エントリーの読みにたいして、メモリ手段から対応するデータパケットを読み出してこれをデータユニットから出力する、というステップを備える、パケット交換機のデータユニットで使用する、マルチキャスティング・データパケット方法が提供される。
本発明の第３の態様により、ルーティング情報を含むデータパケットを交換するクロス・コネクト・スイッチング・デバイスであって、複数のポートと、複数のデータ転送パスを同時に提供するように選択的に制御可能なデータ転送手段であって、各パスは前記複数のポートから選択された入力ポートと出力ポートとを有し、前記入力ポートに受信されたデータパケットを前記出力ポートに通過させるように働く、データ転送手段と、そのようなデータパケットが前記ポートの１つでそのデバイスにより受信されると、そのパケットに、前記入力ポートとしてのそのポートを有し、その前記出力ポートとして前記ルーティング情報に依存してセルフルーチング手段により選択されたポートのさらなる１つを有するそのようなデータ転送パスを割り当てるように動作可能なセルフ・ルーチング手段と、を備えるクロス・コネクト・スイッチング・デバイスが提供される。
【００２７】
１実施例においては、前記データパケットの各々はそのパケット自体に関係するルーチング情報を含むが、これに替えて、前記デバイスの各ポートで受信されたデータパケットは、当該ポートにより受信されるべき次のデータパケットにたいするルーティング情報を含み、前記セルフ・ルーチング手段は各データパケットと共に受信されたルーチング情報を採用して、次のデータパケットのためのデータ転送パスを割り当てるように動作可能にしてもよい。
【００２８】
【発明の実施の形態】
次に添付の図面を参照して本発明の実施の形態を説明する。
図１の交換機１０は、本発明の実施例による複数のデータユニット１２0 から１２63と、データユニットを相互に接続するクロス・コネクト・スイッチング・ユニット８とを含んでいる。
【００２９】
図１の各データユニット１２は、図１９の入力部４の代わりの入力部１４と、図１９の出力部６の代わりの出力部１６とを有している。
図１９を参照して前記したように、６４個までのデータユニット対が、クロス・コネクト・スイッチング・ユニット８により設けられるそれぞれの転送パスを介してデータを交換できる。しかしながら、データ・コンテンションの問題を避けるために、本発明の好ましい実施例においては、図１のデータユニット１２とクロス・コネクト・スイッチング・ユニット８は一連のスイッチング・サイクル内で同期して動作する。各スイチングサイクルは、各データユニット対のソース・データがＡＴＭデータの少なくとも１つのセルを宛先データユニット対に転送するために十分に長くなければならない。しかし、このスイッチング・サイクルは必ずしも全てが同じ期間である必要はない。例えば、トラフィック状態に依存して、ある時には、１０個のＡＴＭセルを送信するために十分な長期のスイッチング・サイクルが使用され、他の時には、交換機を介して１個のＡＴＭセルを送信するのに十分な短期のスイッチング・サイクルが使用され得る。
【００３０】
又、図１に示した交換機はさらにスイッチング・コントローラ２０を備え、これはデータユニット１２0 から１２63のすべてとクロス・コネクト・スイッチング・ユニット８とに接続されている。スイチング・コントローラ２０は、データユニット１２とクロス・コネクト・スイッチング・ユニット８とを制御して、交換機の使用中に、データポート間の要求された接続をダイナミックに確立する。
【００３１】
図２は図１のデータユニット１２の１つの各部を示す。
図１９における各データユニット２と同様に、データユニット１２は２つの関連するデータポートＤＰX 及びＤＰX+1 を有する。
図２のデータユニット１２はこれに接続された１つだけのデータポートを持つことができるか、又はこれに接続された２つ以上のデータポートを持つことができるということが理解される。さらに、各データユニット１２はこれに接続された同じ数のデータポートを持つ必要はない。
【００３２】
各データポートは好ましくはユーザ・ネットワーク・インターフェース（ＵＮＩ）ポートである。ＡＴＭセルは、データポートＤＰX 及びＤＰX+1 において、これらのデータポートに接続されたＡＴＭチャネル（仮想チャネル）から受信される。これらのＡＴＭチャネルは固定速度（ＣＢＲ）、可変速度（ＶＢＲ）、アベーラブル速度（ＡＢＲ）、又は非特定速度（ＵＢＲ）のチャネルでよい。ＶＢＲチャネルはリアルタイム可変速度（ＲＴ−ＶＢＲ）チャネル及び／又は非リアルタイム可変速度（ＮＲＴ−ＶＢＲ）チャネルでよい。ＣＢＲ及びＶＢＲチャネルに対してでさえ、データユニット１２における当該チャネルに属するＡＴＭセルの到着時間は予測不能であり、当該チャネルを提供しているＡＴＭネットワークの変動（特に可変遅延）の影響を受ける。
【００３３】
各受信ＡＴＭセルはそのヘッダ部に、データユニット１２により使用されて、当該セルがどの宛先データポートに配信されるべきかを決定するルーチング情報（仮想パス識別子（ＶＰＩ）と仮想チャネル識別子（ＶＣＩ）からなるセルアドレス）を含んでいる。
各データポートＤＰX 及びＤＰX+1 は終端ユニット２２を介してデータユニット１２に接続されている。データポートＤＰX 及びＤＰX+1 の各々に到着するセルは終端ユニット２２により分解(deframed)され、同期化され、エラーチェックされる。終端ユニット２２は有効セルをデータユニット１２に転送する。データユニット１２内で、セルは入力部１４のポリシング部１４２（オプション）により「ポリス（policed)）されて、それらのセルが、当該セルが属するＡＴＭチャネルに対して前回一致したトラフィック・パラメータに従うかどうかを判定する。
【００３４】
入力部１４は又、ルックアップ・テーブル１４４ａを含むアドレス変換部１４４を有し、そのルックアップ・テーブルは、データポートＤＰX 及びＤＰX+1 に接続された異なる受信チャネルの各々に対して、その受信チャネルのセルが転送されるべき対応する宛先データユニットを登録する。各受信セルにより運ばれるルーティング情報（セルアドレス）が採用されて、そのセルアドレスに対応する宛先データユニットの識別子が登録されているルックアップ・テーブル１４４ａにおいてアドレスを定義する。
【００３５】
このようにしてその宛先データユニットが識別されると、受信セルは、受信メモリ２４に接続されている受信メモリ制御部１４６に送られる。受信メモリ２４は、この実施例においてはデータユニット１２の外部にあるが、データユニット１２に含ませてもよい、例えば、スタティックＲＡＭデバイスである。なお、図２においては、ルックアップ・テーブル１４４ａは入力部１４の内部にあるように示されているが、ルックアップ・テーブル１４４ａは入力部の外部にある受信メモリ２４に格納されてもよい。
【００３６】
受信メモリ２４内において、受信セルが転送されるべき異なる宛先データユニットに従って異なるキュー内に、受信セルが格納される。こうして、図１に示すように、交換機内に６４個のデータユニット１２0 から１２63がある場合は、図２に示すように、受信メモリ２４は、異なる可能な宛先データユニット１２0 から１２63のそれぞれ対応する６４個のメイン受信キューＲＱ0 からＲＱ63を提供する。さらに、図２に示すように、メイン受信キューＲＱ0 からＲＱ63の各々を、セルの優先度の異なるレベルにそれぞれ対応する複数のサブキューＳＱ0 からＳＱ3に分割することが好ましい。例えば、固定速度チャネルに属するセルは最も高い優先度（優先度０）を有し、したがって、関連するメインキューの最高優先度のサブキューＳＱ0 に格納される。リアルタイム可変速度チャネルに属するセルは次に高い優先度（優先度１）を有し、関連するメインキューの次に高い優先度のサブキューＳＱ1 に格納される。非リアルタイム可変速度、アベーラブル速度及び非特定速度のチャネルに属するセルは関連するメインキューのさらに低い優先度のサブキューＳＱ2 及びＳＱ3 に格納される。優先度にしたがってセルをサブキューに分離することは本質的ではなく、ある状況においては各宛先データユニットに対して単一のメイン受信キューＲＱで十分である。さらに、異なる優先レベルの数は図２に示した４つには限定されない。例えば、６４個の異なる優先レベルがあり得る。
【００３７】
受信メモリ２４は複数のデータブロックに分割され、各ブロックは「記述子」を格納するために使用される。データブロックは、データユニットの動作中にダイナミックに、異なる受信キューＲＱ（及び、もし使用される場合には、各メイン受信キューＲＱ内のサブキューＳＱ0からＳＱ3 ）に割り当てられる。なぜなら、キューの大きさは予め容易には予測できず、したがって、キューの各々に対してメモリの固定量を割り当てることはメモリ資源を無駄にすることになるからである。図３を参照すると、そのようなキューの１つの構成を概略的に示しており、自由に使用できるデータブロックＢのアドレス（記述子を未だ格納していない）はいわゆるフリープールＦＰに保持されている。使用に当たって、各キュー（又はサブキュー）に属するデータブロックはリンクされたリストＬＬの形態で互いにリンクされる。受信メモリ制御部１４６は、リンクされたリストの管理に使用するために、各受信キュー（又はサブキュー）内の最初と最後の記述子ＤＥＳに対するポインタＰS 及びＰE を含むポインタを保持している。
【００３８】
図４のＡは受信キューＲＱの１つにおける記述子のフォーマットの１例を示している。この記述子は１６個の３２ビットワードを備えている。最初のワードは当該キュー内の次の記述子の受信メモリ２４におけるアドレスであるリンクアドレスを格納する。2 番目のワードはマルチキャスト状態における使用のために確保されており、以下に詳細に記載する。
【００３９】
記述子の続く１３個のワードは、セルがユニキャスト・セルの場合のＡＴＭセルそのもの（ヘッダ及びペイロード）を格納するために使用される。最後の１つのワードはこの実施例において予備になっている（使用されない）。本実施例においては、ヘッダの最初の４バイトのみが記述子に格納され、ヘッダの５番目のバイトは、ヘッダ・エラー・チェック（ＨＥＣ）バイトであり、メモリアクセスの数を減らすために格納されない。後に説明するように、ＨＥＣバイトは、セルが交換機に送出されるときに再生成され得る。しかしながら、これに替えて、ユニキャスト・セルと共に受信されたＨＥＣバイトは記述子内のある適切な自由位置、例えば、最後の２つのワードの１つとか最初の不使用バイト（リンクアドレスは３２ビットの全てを必要としない）に格納されてもよい。
【００４０】
図４のＢはユニキャスト・セルの入力部１４による受信に応答して新たな記述子を生成するプロセスを示す。最初に、ユニキャスト・セルは、図４のＡのフォーマットで、データブロックＢi 内の記述子ＤＥＳiに格納され、そのアドレスは当該受信キューＲＱのキュー・エンド・ポインタＰEから獲得される。次いで、受信キューに配置されるべき次のセルを格納するために必要な記述子ＤＥＳi+1 に対して新たなデータブロックＢi+1 が予め確保され、この場合ブロックＢi+1 のアドレスはフリープールＦＰから取り出されてデータブロックＢi のリンク・アドレス・フィールド内とキュー・エンド・ポインタＰE内とに格納される。
【００４１】
こうして、データポートＤＰx及びＤＰx+1 の１つに受信された各ユニキャストＡＴＭセルは、データユニット１２の入力部１４により、受信メモリ２４内の宛先データユニットに対応する受信キューＲＱ0 からＲＱ63の１つの中に格納される。しかしながら、受信ユニキャスト・セルは単一の宛先データ・ユニットを持っているが、受信マルチキャスト・セルは複数の宛先データユニットのグループに配信されることが要求される。
【００４２】
マルチキャスト・セルはしたがって、ユニキャスト・セルと異なるように取り扱われる必要があり、この目的のために、入力部１４はマルチキャスト・ハンドリング部１４８を含んでいる。受信セルがマルチキャスト・セルの場合は、各関連する宛先データユニットキューにわたって多数回格納されるのではなく、それ自体のマルチキャスト記述子ＭＤＥＳ内に、１回だけ格納され、その記述子ＭＤＥＳのフォーマットは図５に示される。この記述子はやはり１６個の３２ビットワードからなる。こうして、マルチキャスト記述子を格納するために使用されるデータブロックは、図４のＡの受信キュー記述子に使用されるものと同じ大きさであり、これによりメモリ制御が簡単になる。
【００４３】
図５に示すように、マルチキャス記述子ＭＤＥＳの最初の２つのワードは、それぞれ異なる可能な宛先データユニット１２0 から１２63に対応する６４個のマルチキャスト処理されたビットＭＰＢ0 からＭＰＢ63を格納するために使用される。これらのビットの目的は以下に記載する。マルチキャスト記述子の続く１３ワードはマルチキャスト・セル（ヘッダ及びペイロード）自体を格納するために使用され、最後のワードは本実施例においては予備とされる（使用されない）。
【００４４】
マルチキャスト・セルのためのマルチキャスト記述子を生成することに加えて、各宛先データユニットの受信キュー内にエントリーを作成して、当該マルチキャスト・セルはその宛先データユニットに送られるべきであることを示すようにすることも必要である。本実施例においては、図４のＢを参照して前述したように、図４のＡの受信キュー記述子も、そのようなエントリーを作るために使用され、そのエントリーはマルチキャスト・セルが受信されると各関連する受信キューの最後の記述子内に作られ、新たな記述子が各関連する（次のセルのために確保されている）受信キューに追加される。
【００４５】
次に図４のＡ及び図５に示す記述子を用いる受信セルの処理を詳細に説明する。前述したように、セルがデータユニット１２の入力部１４に受信されると、それはポリシング部(policing section)１４２によりオプションとしてポリスされて、そのセルが属するＡＴＭチャネルにたいして、それが前回一致したトラフィック・パラメータに従うかどうかを判定する。そのセルは次いで、アドレス変換部１４４により処理されてその１つ又は複数の宛先データユニットを決定する。セルがユニキャスト・セルの場合は、３番目又は１５番目のワードに格納され、この場合、関連する受信キュー内の最後の記述子は、図４のＢを参照して記載したプロセスを用いる。マルチキャスト有効ビット（記述子の２番目のワード）はリセットされて、記述子に格納されたセルがユニキャスト・セルであることを示す。新たな記述子は次いで、図４のＢを参照して記載したように、次のセルのために確保される。これにより、ユニキャスト・セルを格納する処理は完了する。
【００４６】
他方で、セルがマルチキャスト・セルの場合は、マルチキャスト・ハンドリング部１４８は、セルを、図５のＢに示すフォーマットを持つマルチキャスト記述子ＭＤＥＳ内に格納させる。そのマルチキャスト記述子のアドレスはフリープールＦＰ（図３）から得られる。マルチキャスト・セルの宛先データユニットにそれぞれ対応する（マルチキャスト記述子の最初の２ワード内の）マルチキャスト処理されたビットＭＰＢ0 からＭＰＢ63は次いでセットされ、残りのマルチキャスト処理されたビットはリセットされる。例えば、受信されたマルチキャスト・セルがデータユニット１２0 、１２2 、及び１２5 に向けられる場合、対応するマルチキャスト処理されたビットＭＰＢ0 、ＭＰＢ2 、及びＭＰＢ5 がセットされる。
【００４７】
マルチキャスト・ハンドリング部１４８は次いで、マルチキャスト・セルが送られるべき各宛先データユニットに対して、受信キュー内の最後の記述子内にエントリーを作成する。こうして、上記の例においては、宛先データユニット１２0 、１２2 、及び１２5 にそれぞれ対応するキューＲＱ0 、ＲＱ2 、及びＲＱ5 の最後の記述子内にエントリーが作成される。これらの最後の記述子の各々はやはり図４のＡに示されるフォーマットを持っているが、この場合はＡＴＭセルのデータ（ペイロード）は記述子内には格納されない。そのかわり、マルチキャスト・セル・データが格納されたマルチキャスト記述子ＭＤＥＳのスタート・アドレスは、各関連する受信キュー内の最後の記述子のマルチキャスト・アドレス・フィールド（２番目のワード）に入れられる。記述子内のマルチキャスト有効ビットもセットされて、マルチキャスト・セルが特定のマルチキャスト・アドレスに格納されていることを示す。
【００４８】
セル・ヘッダも最後の記述子の３番目のワード内に格納されるが、この場合は、マルチキャスト・セルはその指定された宛先の各々に対して異なるセル・アドレスを持つ必要があるので、セル・ヘッダはリプレースメント・セル・アドレス（ＶＰＩ及びＶＣＩフィールド）と共に格納される。異なる宛先ユニットに対する異なるリプレースメント・セル・アドレスは、マルチキャス・チャネルが設定されたときのデータユニット１２の呼許可制御処理の一部として登録されて、マルチキャスト・ハンドリング部１４８により保持されている。この実施例においては、ＨＥＣバイトは格納されていないが、それが格納されるべきであるならば、セル・アドレスの変化によりＨＥＣバイトの再計算が必要となるであろう。
【００４９】
最後に、図４のＢを参照して記載したように、新たな記述子が、各関連する受信キュー内に格納されるべき次のセルのために、そのキュー内に確保される。これにより、マルチキャスト・セルの格納処理は完了する。
データポートＤＰx 及びＤＰx+1 に受信されたユニキャスト・セル及びマルチキャスト・セルはこのようにして関連する受信キューに格納される。これらのセルは次いで、キューから読み出され、データユニット入力部１４の出力部１５０により、それぞれの宛先データユニットに転送するために、スイッチング組織（例えば、図１のクロス・コネクト・スイッチング・ユニット８）に出力される。出力部１５０は入力部１４の受信部１４２及び１４４と並列に動作するので、出力部は、新たなセルが受信部１４２及び１４４により受信され、処理され、それらのキューに格納されている間に、セルを読み出して出力することができる。
【００５０】
本実施例においては、交換機は全体として一連のスイッチング・サイクル内で同期して動作し、出力部１５０は、ローカル・スケジューラ１５０ａを有し、そのローカル・スケジューラ１５０ａは制御情報を登録し、その制御情報は、外部スイッチング・コントローラ（例えば、図１のスイッチング・コントローラ２０）により当該データユニット１２に供給され、各スイッチング・サイクルでどの受信キュー（及び、もし使用される場合は、サブキュー）がデータをスイッチング組織に転送することを許可されるかを決定するために使用される。
【００５１】
又、本実施例においては、出力部１５０はルーティング・タグ部１５０ｂを有し、これはスイッチング組織に出力される各セルにルーティング・タグを取り付けるように動作し、そのルーティング・タグは、図１５から図１７を参照して後により詳細に記載するように、スイッチング組織のコンポーネント（例えば、図１のクロス・コネクト・スイッチング・ユニット８）により採用されて当該セルのそれらのコンポーネントを介するルートを決定することができる。
【００５２】
図６はルーティング・タグのフォーマットの例を示す。この場合、タグは長さが１バイトであり、これに関連するセルの開始部に配属される。即ち、ルーティング・タグ・バイトは最初のバイトであり、それにセル自体のバイトが続く。ルーティング・タグは、６個の低位ビットＢ0 からＢ5 からなるアドレス・フィールドと、２個の高位ビットＢ6 及びＢ7 からなる制御フィールドを有している。６ビットのアドレス・フィールドにより、６４個までの異なる宛先データユニットの指定が可能である。制御フィールドはデータユニット１２により出力されたデータパケット（即ち、ルーティング・タグ・バイト及びセル・バイト）のスタートを識別するために使用される。
【００５３】
本実施例における出力部１５０は又、ＨＥＣ演算部１５０ｃを有し、これは、関連する記述子（図４のＡの記述子内の３番目のワード）に格納されているようなヘッダの最初の４バイトに基づいてスイッチング組織に出力されるべき各セルのヘッダに含ませるためのＨＥＣバイトを計算する。
異なる宛先データユニット２0 から２63にそれぞれ対応するメイン受信キューＲＱ0 からＲＱ63が、図２に示した優先度に従ってサブキューＳＱにサブ分割されると、各メインキューＲＱのサブキューは、最高優先度のサブキューＳＱ0 から始めて、出力部１５０により基本的に順次処理される。各サブキュー内で、記述子はそれらが当該サブキューー内に格納されている順番で読み出されて、各優先度レベルでデータポートに受信されたセルはファースト・イン・ファースト・アウトを基本としてスイッチング組織に転送される。低優先度のサブキューの処理の間に、新たな記述子が高優先度のキューに格納されると、低優先度のキューの処理は、そのサブキューにおける現在の記述子の転送の完了を、新たな高い優先度の記述子の転送の間、中断する。
【００５４】
出力部１５０が受信キューＲＱから、マルチキャスト有効ビットがセットされている記述子を読むとき、それはマルチキャスト記述子の（記述子の２番目のワード内の）スタート・アドレスを読み、次いで特定されたスタート・アドレスにおける３番目から１５番目のワードからマルチキャスト・セル・データを読み、そして、受信キュー記述子の３番目のワードから、要求されたリプレースメント・セルアドレスを含むセル・ヘッダを読む。ＨＥＣ演算ユニット１５０ｃはマルチキャスト・セルのためのＨＥＣバイトを演算して、リプレースメント・セルアドレスを反映する。ルーティング・タグ部１５０ｂは、そこから記述子が読まれた多数の特定受信キューＲＱから宛先データユニットを識別する。マルチキャスト・セル・データ及びその対応ヘッダ（リプレースメント・セル・アドレス及び演算されたＨＥＣバイトを含む）は、ルーチング・タグを付けて、データパケットとしてスイッチング組織に出力される。
【００５５】
出力部１５０は又、マルチキャスト・ハンドリング部１４８に、マルチキャスト・セルが出力中であることを知らせる。マルチキャスト・ハンドリング部１４８は次いで、現在の宛先データユニットに対応するマルチキャスト処理されたビットＭＰＢ0 からＭＰＢ63のその１つをリセットする。マルチキャスト処理されたビットのすべてがリセットされると、これはこれが現在処理されたマルチキャスト・セルに関係する最後の受信キュー記述子である事を示す。マルチキャスト・セルは要求された宛先データユニットのすべてに送られたので、マルチキャスト記述子ＭＤＥＳはもはや必要ではなく、そのデータブロックのスタート・アドレスはフリープールに戻される。
【００５６】
他方で、マルチキャスト・ハンドリング部１４８が、マルチキャスト記述子内の任意のマルチキャストされたビットが依然としてセットされていることをを見いだすと、マルチキャスト・セルはマルチキャスト・セルを他の宛先データユニットに送るために依然として必要であり、従ってマルチキャスト記述子は使用され続けなければならない。
【００５７】
マルチキャスティングを実現するこの方法においては、マルチキャスト・セルが受信されると、それに関係するエントリーはその宛先データユニットの各々に対する受信逆キューに正しく配置されるので、各宛先データユニットに対する正しいセル順序（ファースト・イン  ファースト・アウト）は保証されている。これにより、データユニットに所定時間にマルチキャスティングの機会を割り当て、その中で、同一の優先度のマルチキャスト・セルとユニキャスト・セルが同じソース・データユニットに受信され、且つ同じ宛先データユニットに向けられると、ユニキャスト・セルが最初に受信されてもユニキャスト・セルの前にマルチキャスト・セルが宛先データユニットに転送されるという事を含む、すでに考察したマルチキャスティング法の、導入部で記載した、「キュー・ジャンピング」の問題が避けられる。
【００５８】
受信キュー記述子を使用してリプレースメント・セル・アドレスを格納する代わりに、マルチキャスト・セルの宛先データユニットに要求されるすべての異なるセル・アドレスを含む、セル・アドレス・ルックアップ・テーブルをマルチキャスト記述子ＭＤＥＳに有効に取り付けることが可能である。このアプローチは図７に示されており、そこでは、マルチキャスト記述子の３番目のワード（これは、図５のマルチキャスト・フォーマットでは、効果的に冗長であった）が使用されて、セル・アドレス・ルックアップ・テーブルとそのテーブルの長さを示すワードを格納するマルチキャスト・グループ記述子ＭＧＤＥＳの受信メモリ２４にスタート・アドレスにたいするポインタを格納するために使用される。このルックアップ・テーブルはリプレースメント・セル・アドレス（ＡＴＭリプレースメント・ヘッダ）のリストを含み、そのリスト内のエントリーはそれぞれ異なるデータユニットに対応している。各データユニットに対応しているエントリーは、そのデータユニットのためのセルで使用されるべきリプレースメント・セル・アドレスを格納する。マルチキャスト・セルが特定のデータユニットに向けられない場合は、そのデータユニットに対応するエントリーはブランクにされたままとなる。
【００５９】
あるマルチキャスト・セルに関係する受信キュー記述子が処理されるとき、前述のようにマルチキャスト記述子ＭＤＥＳが読まれるが、この場合はその特定の宛先ユニットに要求されるセル・アドレスは、ルックアップ・テーブルをアドレスするための多数の宛先データユニットを用いて、出力部１５０によりマルチキャスト・グループ記述子ＭＧＤＥＳから検索される。
【００６０】
上記の第１の実施例において、マルチキャスト・セルがデータユニット１２により受信されると、マルチキャスト・ハンドリング部１４８は、新たなマルチキャスト記述子を書くことに加えて、（マルチキャスト記述子スタート・アドレスと、マルチキャスト有効ビットと、セルアドレスとを備える）マルチキャスト制御データを各宛先データユニットに対する受信キューの末尾にある最後の記述子に書かなければならない。要求されるメモリ・アクセス動作の数は、受信メモリ制御部１４６の内部に受信キューのスタートとエンドにたいするポインタＰS 及びＰE を格納させることにより減少する。しかしながら、もしマルチキャスト・ハンドリング部１４８がマルチキャスト記述子自体とマルチキャスト制御データとを各受信キュー記述子に格納するためにセル期間より長くかかる場合は、受信セルをバッファするために入力バッファ（ＦＩＦＯ）が入力部１４に必要となろう。要求される受信キュー記述子の数はマルチキャスト・セルの宛先データユニットの数に依存する。こうして、記述子更新の数は変化し得る。入力バッファ（ＦＩＦＯ）で輻輳があると、そのマルチキャスト・セルが属するＡＴＭチャネルの逆方向セルに輻輳ビットをセットさせて、輻輳が軽減されるまでそのチャネルのためのデータソースがそのセル速度を減少させることができる。
【００６１】
本発明の第２の実施例を次に記載する。これは、図４のＡを参照して上記した第１の実施例と比べてメモリ・アクセス動作の数を減少させることができる。この第２の実施例でもやはり、各マルチキャスト・セルを、図５に示すフォーマットを持つそれ自体のマルチキャスト記述子内に格納する。さらに、このマルチキャスト記述子のアドレスは、前述したように、各関連する受信キューＲＱに格納される。
【００６２】
しかしながら、図８に示すように、この実施例においては、図４のＡに示したように受信キュー内に単一のタイプの記述子を格納した第１の実施例と異なり、２つの異なるタイプの記述子が受信キューに格納され得る。
図８に示す第１のタイプの記述子は、ユニキャスト・セルを格納するために使用されるユニキャスト記述子ＵＤＥＳであり、図８自体に示されるように、そのセルのヘッダは２番目のワードに格納されそのセルのペイロードは３番目から１４番目のワードに格納される。記述子の最後の２つのワードは使用されない。例によって、最初のワードは当該受信キュー内の次の記述子にアドレスするためのリンクを格納する。
【００６３】
ユニキャスト・セルに関係するこの実施例の動作は図４のＢを参照して前述したもとの同じである。したがって、ユニキャスト・セルが受信されると、それは受信キューの（図８のフォーマットにおける）最後の記述子内に格納され、その記述子はキュー・エンド・ポインタＰE により指示される。次いで、新たなブロック（図４のＢにおけるＢi+1 ）がその受信キュー内の次のセルのために確保され、この場合、確保されたブロックのアドレスはフリープールＦＰから得られ、先行する記述子（即ち、その中にユニキャスト・セルが格納されたばかりの記述子）のリンク・アドレスは、キュー・エンド・ポインタＰE であるとして、確保されたデータブロックのアドレスにセットされる。
【００６４】
図９において、この実施例でマルチキャスト・セルがデータユニット１２により受信されると、それは図５に示したマルチキャスト記述子と同じフォーマットを持つそれ自体の別のマルチキャスト記述子内に格納される。しかしながら、この場合、図８に示したユニキャスト記述子ＵＤＥＳの代わりに、リンク記述子ＬＤＥＳが確保されたデータブロックＢi+1 に格納される。この場合、以下の記載から明らかとなる理由により、キュー内の次のエントリーのために新たなデータブロックは確保されない。最後に受信したユニキャスト・セルを格納するデータブロックＢi にたいするアクセスは要求されない。なぜなら、そのデータブロックＢi に格納された記述子内のリンク・アドレスは、リンク記述子ＬＤＥＳを格納するために使用されたデータブロックＢi+1 をすでに指しているからである。同様に、キュー・エンド・ポインタＰE はリンク記述子ＬＤＥＳのアドレスをすでに格納しており、したがってこの点で更新される必要がない。しかしながら、図９に示すように、この実施例においてはキュー・エンド・ポインタＰE はやはり「マルチキャスト・セルの数」フィールドを持っており、このフィールドは値１にセットされていて、その限りでは、キュー・エンド・ポインタＰE により現在ポイントされているリンク記述子ＬＤＥＳは１つだけの関連するマルチキャスト記述子ＭＤＥＳ1 を持っていることを示している。
【００６５】
リンク記述子ＬＤＥＳの最初のワードは、後にその目的を説明する「マルチキャスト・セルの数」フィールドと「リンク・アドレス」フィールドを提供するために使用される。リンク記述子ＬＤＥＳの残りの１５ワードは、１５個の「マルチキャスト・アドレス」フィールドを提供するために使用される。図９に示す状態においては、単一の関連するマルチキャスト記述子ＭＤＥＳ1 のみがあり、最初の「マルチキャスト・アドレス」フィールドのみが使用中でマルチキャスト記述子ＭＤＥＳ1 のアドレスを格納している。
【００６６】
同じ宛先ユニットに宛てられたさらなる複数のマルチキャスト・セルが、その宛先データユニットにたいする他のユニキャスト・セルの前に、データユニット１２により連続的に受信されると、それぞれのさらなるマルチキャスト記述子ＭＤＥＳが生成され、リンク記述子ＬＤＥＳのさらなる連続的なマルチキャスト・アドレス・フィールドによりポイントされる。新たな記述子が受信キュー自体に加えられないので、キュー・エンド・ポインタＰE のみがその「マルチキャスト・セルの数」フィールドに関して更新される必要があり、その「マルチキャスト・セルの数」フィールドは、２つのさらなるマルチキャスト記述子ＭＤＥＳ2 及びＭＤＥＳ1 が格納されている図１０に示した状態では、値３を持っている。
【００６７】
リンク記述子ＬＤＥＳのマルチキャスト・アドレス・フィールドの１つにおける新たなマルチキャスト・アドレスを書き込む動作は、受信メモリ２４の１つだけのメモリ・アクセスを要求する。こうして、処理中の受信マルチキャスト・セルが１０個の宛先データユニットに宛てられた場合、当該受信キューを更新するために１０回のメモリ・アクセスのみを行うことになる。
【００６８】
マルチキャスト・トラフィックが大量にある場合は、次のユニキャスト・セルの前に１５個より多いマルチキャスト・セルが同一の宛先ユニットに対して受信される可能性がある。この場合、図１１の示す処理が行われる。１６番目の連続的なマルチキャスト・セルが受信されると、上記と同様に別のマルチキャスト記述子ＭＤＥＳ16がそのために生成される。しかしながら、元のリンク記述子（ＬＤＥＳ1 で示されている）はすでに一杯であり、したがって、新たなマルチキャスト・セルのためのマルチキャスト記述子ＭＤＥＳ16のアドレスをリンク記述子ＬＤＥＳに格納することは不可能である。この状況に対処するために、さらなるリンク記述子ＬＤＥＳ2 を生成する必要があり、そのアドレスはフリープールＦＰから獲得される。元のリンク記述子ＬＤＥＳ1 から新たなリンク記述子ＬＤＥＳ2 への要求されたリンクを生成するために、新たなリンク記述子のアドレスがもとのリンク記述子ＬＤＥＳ1 のリンク・アドレス・フィールドに格納され、元のリンク記述子ＬＤＥＳ1 のマルチキャスト・セルの数は、キュー・エンド・ポインタＰE のセル・フィールドの数に基づいて、１５にセットされる。
【００６９】
キュー・エンド・ポインタＰE は次いで、新たなリンク記述子ＬＤＥＳ2 のアドレスをポイントするように更新され、キュー・エンド・ポインタ内のマルチキャスト・セル・フィールドの数は１にセットされる。新たなリンク記述子ＬＤＥＳ2 の最初のマルチキャスト・アドレス・フィールドは新たなマルチキャスト・セルのためのマルチキャスト記述子ＭＤＥＳ16のアドレスを格納するために使用される。
【００７０】
最後に、図１２は、一例として、５個の連続のマルチキャスト・セルを受信した後に、ユニキャスト・セルをこの実施例において受信するときになにが起きるかを示している。この場合は、図４のＢを参照して前述した状況とは対照的に、そのユニキャスト・セルのための予め確保された記述子は存在しない。こうして、そのユニキャスト・セルを格納するための新たなユニキャスト記述子ＵＤＥＳi+1 が図８に示すフォーマットで生成される。新たなユニキャスト記述子ＵＤＥＳi+1 のアドレスはリンク記述子ＬＤＥＳのリンク・アドレス・フィールドに格納され、キュー・エンド・ポインタＰE のマルチキャスト・セル・フィールドの数の内容はリンク記述子ＬＤＥＳのマルチキャスト・セルの数のフィールドに転送される。
【００７１】
新たなデータブロックＢr が次いで、受信されるべき次のセルにために確保される。確保されたデータブロックＢr のアドレスはキュー・エンド・ポインタＰE と新たなユニキャスト記述子ＵＤＥＳi+1 のリンク・アドレス・フィールドに格納される。キュー・エンド・ポインタＰE のマルチキャスト・セル・フィールドの数は０にリセットされる。
本実施例においては、出力部１５０及びマルチキャスト・ハンドリング部１４８は、基本的に前述の方法と同じ方法で、各受信キューから記述子を読む。各マルチキャスト記述子ＭＤＥＳの最初の２つのワード内のマルチキャスト処理されたビットＭＰＢ0 からＭＰＢ63は、そのマルチキャスト記述子を要求する最後の関係する受信キューが読まれるまで、マルチキャスト記述子を維持するために漸次リセットされる。
【００７２】
この実施例は、マルチキャスト・トラフィックの量がユニキャスト・トラフィックに比べて非常に多い状況において特に適切である。１５個までの連続マルチキャスト・セルのためのエントリーを単一のリンク記述子ＬＤＥＳを用いて受信キュー内に作ることができるからである。これにより、受信メモリ２４内のメモリ資源を高効率で使用できる。（通常の場合のように）リンク記述子は（新たなリンク記述子の生成を要求しながら）オーバフローしないと仮定すると、当該受信キュー内のリンク記述子の最初に利用できるマルチキャスト・アドレス・フィールド内のマルチキャスト記述子のアドレスを格納するために、宛先データユニット当たり１回だけのメモリ・アクセス動作しか要求されない。さらに、同じリンク記述子ＬＤＥＳが使用されて連続するマルチキャスト・セルを登録する場合は、キュー・エンド・ポインタＰE のマルチキャスト・セルの数だけが更新（増加）されることが必要であり、動作を高速化する。
【００７３】
前述したように、本発明の実施例によるデータユニットにより実現されるマルチキャスティング処理は、データユニットがスイッチング・コントローラ（図１の２０）の制御の下で同期的に動作する図１に示した種類の交換機で有利に使用される。そのような交換機においては、それから各データユニットの出力部１５０が各スイッチング・サイクル内のデータを転送することを許可される特定の受信キューＲＱは、交換機内のセルのコンテンションを避けるようにしてスイッチ・コントローラ２０により決定できる。そのようなコンテンションは、さもなければ、スイッチング・ユニットの１つの出力ポートで生じ得る（なぜなら、２つのデータユニット入力部１４が共に同じデータユニット出力部１６にデータを送ることを要求するから）。
【００７４】
スイッチング・コントローラ２０は、スイッチを介して接続を決定して、そのようなコンテンションの問題を避けることができるので、（図１のクロス・コネクト・スイッチング・ユニット８により提供される）「スイッチング組織」は、（以下に説明するように、多分、セル・パイプライン・バッファは別にして）どのようなバッファリングも必要としない。これはスイッチング組織それ自体が低価格であり得ることを意味している。
【００７５】
スイッチング・コントローラ２０は各データユニット１２の受信メモリ２４内の受信キューＲＱ0 からＲＱ63に関係する情報に対するアクセスをし、この情報、特にキューのフィル・レベルと優先度、を用いて、交換機内で遭遇している輻輳の任意のキュー（又は、設けられている場合はサブキュー）を識別し、適切なときに、入力部のローカル・スケジューラ１５０ａに登録されている制御情報を変更してそのような輻輳を軽減する。
【００７６】
このようにして各スイッチング・サイクル内で各ソース・データ・ユニットのための宛先データユニットを指定すると同時に、スイッチング・コントローラ２０が制御情報をクロス・コネクト・スイッチング・ユニット８に供給してその構成を適切にセットし、各ソース・データユニットからその宛先データユニットへの要求された接続を提供することが可能である。この接続は当該スイッチング・サイクルの期間の間存在する。スイッチングサイクル内で使用するための接続が確立すると、各ソース・データユニットの出力部１５０はその指定された宛先データユニットのためのキューから（スイッチング・サイクルの長さに依存する）１個以上のセルを読み、そのセルをそれが接続されているクロス・コネクト・スイッチング・ユニット８の入力ポートに転送する。セル全体（ヘッダ及びペイロード）は転送される。転送速度は、例えば、６２２Ｍｂｐｓ（毎秒３８９０万１６ビットワード）である。ヘッダにより運ばれるルーティング情報は宛先データユニットが宛先データポートを決定するために必要なので、ヘッダはペイロードと共に転送される。
【００７７】
クロス・コネクト・スイッチング・ユニット８の入力部に到着するデータは、やはりスイッチング・コントローラ２０により与えられる制御情報に従って、スイッチング・ユニットの適切な出力ポートに転送される。その出力ポートから、データは宛先データユニット１２の出力部１６に受信される。
図２を再度参照すると、宛先データユニット２において、受信セル・データは出力部１６の送信メモリ２６に格納される。それらのセルは再び異なるキューに格納されるが、この場合、それらのキューはデータユニットに接続された２つのデータポートＤＰx 及びＤＰx+1 にそれぞれ対応している。こうして、図２に示すように、送信メモリ２６は、データポートＤＰx に対応する第１の送信キューＴＱx と、データポートＤＰx+1 に対応する第２の送信キューＴＱx+1 とを有する。各セルのための宛先データポートＤＰx 又はＤＰx+1 の識別は、そのセルにより運ばれるルーティング情報（セルアドレス）を用いて出力部１６により確立されて、入力部１４内のルックアップ・テーブル１４４ａに類似の他のルックアップ・テーブルをアドレスする。
【００７８】
送信キューは再び、多くの異なる方法でサブキューＳＱにサブ分割され得る。例えば、図２はデータポートＤＰx のための送信キューＴＱx が、受信キューＲＱ0 かＲＱ63の場合のように、セル優先度に従ってサブキューＳＱ0 からＳＱ3 に分割されていることを示している。これに替えて、図２は又、データポートＤＰx+1 のためのメイン送信キューＴＱx+1 が、そのデータポートＤＰx+1 に接続された異なる仮想チャネルＶＣW からＶＣZ にそれぞれ対応するサブキューＳＱW からＳＱZ に分割されていることを示している。
【００７９】
サブキューのタイプの任意の適切な組合せが送信メモリ２６で使用できることが理解される。クロス・コネクト・スイッチング・ユニット８から受信したセルをセル優先度に基づいて排他的に（即ち、データポート当たりに基づかないで）単純に送信メモリ２６内に格納することも可能である。
したがって、図２のデータユニット１２を採用する交換機のこの例では、交換は２つのステージで効果的に行われることがわかる。第１のステージでは、データポートに受信されたセルはデータユニット入力部１４によりそれらのそれぞれの受信メモリ２４に格納される。第１のステージではさらに、これらのセルはスイッチング組織により関連する宛先データユニットの出力部１６に転送され、そこでそれぞれの送信メモリ２６に格納される。第２のステージの交換は、セルが送信メモリ２６から、当該データユニット１２に接続されている終端ユニット２２の１つを介してデータポートの１つに転送されるときに行われる。
【００８０】
交換機における輻輳を減らしてより多くのセルをそれらの宛先データユニットに到達させるために、各データユニット１２の出力部１５０及びクロス・コネクト・スイッチング・ユニット８が、ある時間に、データユニットに接続されているデータポートのそれぞれのライン速度（ＵＮＩライン速度）の和よりも速い速度で動作可能であることが有利である。例えば、出力部１５０及びクロス・コネクト・スイッチング・ユニット８はＵＮＩライン速度の和の２倍で動作可能である。この場合は、スイッチング・コントローラ２０は、出力部１５０とクロス・コネクト・スイッチング・ユニット８がクロックされる周波数を増大させる命令を発行することができ、それにより、短期間の間、これらのコンポーネントが上記のより速い速度で動作する。こうして、ソース・データユニットから宛先データユニットにスイッチするためのより多くの機会を与えることができる。このことは望ましい。スイッチング組織におけるコンテンションを避けることは、セルがあるソース・データユニットからあるスイッチング・サイクルの間転送できないことを意味しているからである。したがって、出力部及びスイッチング組織のコンポーネントをより速く動作させることにより、「追いつく（キャッチアップする）」機会を与えることができる。
【００８１】
同じような方法で、上記のコンポーネントがクロックされる周波数を減少させて交換処理をＵＮＩライン速度の和より小さい速度にスローダウンさせ、それによりスイッチング・コントローラ２０がデータユニット入力部１４のローカル・スケジューラ１５０ａ内の制御情報を更新可能にすることも望ましい。
図２のデータユニットは交換機全体に要求されるすべてのセルキューを実現できるということがわかるであろう。こうして、交換処理に関係するすべてのメモリは、各データユニットにおける同じ場所で実現でき、従来のもののように交換機全体にわたって分布されることはない。
【００８２】
スイッチング・コントローラを使用して各スイッチングサイクル内でソース−宛先のパスを決定することは、それがコンテンドしているトラフィックソースの中のスイッチ資源と利用可能な帯域の公平な割り当てを確実化することを援助できるという点で有利である。スイッチング・コントローラは、それがソース−宛先のパスを決定する点で比較的複雑であり得る。例えば、スイッチング・コントローラは、以前の経験か将来のトラフィックの流れの状況をいかに予測するかを学習することができる、ニューラル・ネットワーク又は他の適応学習手段を含むことができる。これは、スイッチング・コントローラを、将来のトラフィック状態を予測してそれらを扱うための最良のソース−宛先間パスを決定する、単に反応的ではない先行学習的なものにできる。
【００８３】
次に、交換機内で図２のデータユニット１２と共に使用するための他のコンポーネントを図１３から図１７を参照してより詳細に記載する。
図１３はデータユニット１２間でデータを転送するために適切なクロス・コネクト・スイッチング・ユニット８のブロック図を示す。
クロス・コネクト・スイッチング・ユニット８は、一組の入力バッファ８２と、一組のマルチプレクサ８４と、一組の出力バッファ８６とを含んでいる。ユニットの入力ポートＩＰ当たりに１つの入力バッファ８２と、１つのマルチプレクサ８４と、１つの出力バッファ８６がある。前述したように、各交換サイクルに対してすべてのソース−宛先間パスが予め決定され、且つすべてのセルキューはデータユニット内で実現されるので、入力バッファ８２及び出力バッファ８６は出力コンテンション問題を扱う必要はない。しかしながら、バッファ８２及び８６は、パイプラインニング／スループット／クロック周期の短縮の目的で有利に設けられてもよい。これらの目的は１セル分のデータを越えるので、要求されるメモリ量を予測できない。
【００８４】
スイッチング・ユニットはさらに、マルチプレクサ８４にそれぞれ対応しているポート選択レジスタ８８を備えている。アドレスデコーダ９０が設けられてレジスタ８８へのアクセスを制御する。
図１４はマルチプレクサ８４とポート選択レジスタ８８をより詳細に示す。簡単化のために、図１４ではスイッチング・ユニットは４つの入力ポートＩＰ0 からＩＰ3 と４つの出力ポートＯＰ0 からＯＰ3 だけを持っていると仮定されている。この場合は４つのマルチプレクサ８４0 から８４3 があり、その各々は４つの入力ＩＰO からＩＰ3 と１つの出力とを有している。スイッチング・ユニットの４つの入力ＩＰO からＩＰ3 は（図１４には示されていないそれぞれの入力バッファ８２0 から８２3 を介して）マルチプレクサに接続されて、各マルチプレクサの４つの入力の各々は入力ポートＩＰ0 からＩＰ3 の異なる１つからデータを受け取る。マルチプレクサ８４0 から８４3 のそれぞれの出力は（図１４にやはり示されていない入力バッファ８２0 から８２3 を介して）スイッチング・ユニットのそれぞれの出力ポートＯＰ0 からＯＰ3 に接続されている。
【００８５】
各マルチプレクサ８４0 から８４3 は関連するポート選択レジスタ８８0 から８８3 に接続されている。関連するポート選択レジスタ８８に格納されている制御情報に応じて、各マルチプレクサ８４はその入力の１つをその出力に接続し、それによりクロス・コネクト・スイッチング・ユニット８の入力ポートＩＰの１つからスイッチング・ユニットの出力ポートＯＰの１つへのデータ転送パスを提供する。
【００８６】
図１３において、ポート選択レジスタ８８に格納されている制御情報はスイッチング・コントローラ２０により変化させられることができる。そのスイッチング・コントローラ２０は、アドレス情報をアドレスデコーダ９０に加えることにより、どのポート選択レジスタ８８が更新されるべきかを最初に選択し、次いで適切な新たな制御情報を選択されたポート選択レジスタ８８に供給する。
【００８７】
上記したように、スイッチング・コントローラ２０はスイッチング・ユニットを直接制御して各スイッチングサイクル内で要求されたソース−宛先パスを設定してもよい。しかしながら、スイッチング・ユニットがスイッチング・コントローラ２０により間接的に制御されることも可能である。これは、図６を参照して前記したように、スイッチング・ユニットを介して転送されるべき各セルに、そのセルの宛先データユニットを指定するルーティング・タグを添付しているソース・データ・ユニットにより行われる。この場合、スイッチング・ユニットは、各セルがユニットを通過するときにそのセルとともに受信されるルーティング・タグ情報を読み、したがって、ユニットは「セルフ・ルーティング」であり得る。換言すれば、スイッチング・ユニットはルーティング・タグ情報を採用して適切な内部入力ポート−出力ポート接続を確立する。
【００８８】
図１５は本発明の第２の態様を実施する、ルーング・タグ情報に依存するセルフ・ルーティングである、クロス・コネクト・スイッチング・ユニット１０８の各部を示すブロック図を示す。
図１３のクロス・コネクト・スイッチング・ユニット８のコンポーネントと同じか又は実質的に対応している図１５のセルフ・ルーティング・スイッチング・ユニット１０８のコンポーネントには同じ参照番号を付してある。こうして、図１３のスイッチング・ユニットと同様に、図１５のスイッチング・ユニット１０８は、ｎ個の入力ポートの各々について、入力バッファ８２と、マルチプレクサ８４と、出力バッファ（図示していないが、図１３の出力バッファ８６と同様のもの）と、ポート選択レジスタ８８とを有している。しかしながら、図１５における各入力ポートＩＰ0 からＩＰn-1 は、ルーティング回路１１０0 から１１０n-1 をさらに備えている。このルーティング回路は当該入力ポートのための入力バッファ８２と、入力コントローラ１１２と、宛先レジスタ１１４とを含んでいる。
【００８９】
スイッチング・ユニット１０８はさらにアドレス・デコーダ１１６とルーティング・コントローラ１１８を含んでいる。アドレス・デコーダ１１６はルーティング情報バス１２０により宛先レジスタ１１４0 から１１４n-1 の各々に接続されており、ポート選択バス１２２によりポート選択レジスタ８８0 から８８n-1 の各々にも接続されている。ルーティング・コントローラ１１８は各ルーティング回路１１０の入力コントローラ１１２に接続されており（明瞭化のために、入力コントローラ１１２n-1 に対する接続のみが図１５に示されている）、データ及び制御バス１２６によりポート選択レジスタ８８0 から８８n-1 の各々にも接続されており、宛先レジスタ選択バス１２８により宛先レジスタ１１４0 から１１４n-1 の各々に接続されている。このルーティング・コントローラ１１８はまたアドレス・デコーダ１１６にも接続されている。
【００９０】
図１５のスイッチング・ユニットの動作を次に記載する。スイッチング・ユニット１０８が使用されている交換機でも、同期して動作し一連のスイッチング・サイクルを実行すると仮定されている。スイッチング・ユニット１０８の入力ポートの１つに到着する各セルはそれに添付されたルーティング・タグを有している。
【００９１】
添付されたルーティング・タグを持つセルがスイッチング・ユニット１０８の入力ポートで受信されると、そのセルからのルーティング・タグ・バイトはその入力ポートのためのルーティング回路１１０の宛先選択レジスタ１１４に格納される。この動作は各入力ポートについて並列に実行されるので、現在のスイッチング・サイクルで転送されるすべてのセルのそれぞれのルーティング・タグは、データ・パケット（即ち、ルーティング・タグ・バイト）の最初のバイトが受信されるとすぐに宛先レジスタ１１４0 から１１４n-1 に格納される。
【００９２】
データ・パケットの残りのバイト（即ち、セル自体のバイト）が続いて受信されると、ルーティング回路１１０の入力バッファ８２に格納される。これらのバイトが格納されている間に、ルーティング・コントローラ１１８は、宛先レジスタ１１４0 から開始して宛先レジスタ１１４n-1 で終わるようにして、各宛先レジスタ１１４0 から１１４n-1 を読む。
【００９３】
ルーティング．コントローラは、選択信号を宛先レジスタ・バス１２８を介して宛先レジスタに送ることにより、読まれるべき宛先レジスタ１１４を選択し、選択された宛先レジスタに格納されているルーティング・タグ情報は次いでルーティング情報バス１２０を介してアドレス・デコーダ１１６に配送される。アドレス・デコーダ１１６は受信したルーティング・タグ情報をポート選択レジスタ・アドレスに変換し、そのポート選択レジスタ・アドレスはポート選択レジスタ選択バス１２２を介してすべてのポート選択レジスタ８８0 から８８n-1 に配送される。このポート選択レジスタ・アドレスは、ルーティング・タグ情報にしたがってポート選択レジスタ８８0 から８８n-1 の１つを指定する。ポート選択アドレスがポート選択レジスタ８８に供給されるのと同時に、ルーティング・コントローラ１１８は、データ及び制御バス１２６を用いて、制御情報をこれらのレジスタに供給する。この制御情報は、指定されたポート選択レジスタにより制御されたマルチプレクサ８４のｎ個の入力のどれが選択されるべきか、即ち、どのマルチプレクサの入力がマルチプレクサの出力に接続されるべきか、を特定する。各マルチプレクサ８４にたいするｎ個の入力はそれぞれｎ個のルーティング回路１１０0 から１１０n-1 に接続されているので、要求される制御情報は単に、その宛先レジスタが丁度読まれた特定のルーティング回路の番号である。ルーティング・コントローラ１１８は次いでロード信号を、データ及び制御バス１２６を介して、ポート選択レジスタに与え、これに応答して、ポート選択レジスタ・アドレスにより指定されたポート選択レジスタは制御情報を格納する。他のポート選択レジスタは制御情報を格納しない。
【００９４】
例えば、入力ポートＯＰ0 に対するルーティング回路１１０0 が“７”を含んでいると（即ち、入力ポートＩＰ0 に現在受信されているセルのルーティング・タグが、そのセルが宛先データユニット１２7 に配信されるべきであると指定すると）、アドレス・デコーダ１１６は、ポート選択レジスタ８８7 を指定するポート選択アドレス“７”を  生成し、ルーティング・コントローラ１１８はデータ及び制御バス１２６上に制御情報“０”を出力し、それによりＯＰ7 の出力ポートにたいするポート選択レジスタ８８7 は現在処理されているルーティング回路１１０0 に対応する制御情報“０”を格納する。このようにして、入力ポートＩＰ0 から出力ポートＯＰ7 へのデータ転送パスが確立される。
【００９５】
ルーティング・コントローラ１１８は次いで入力ポートＩＰ1 に対する次のルーティング回路１１０1 内の宛先レジスタ１１４1 の内容を読む。このレジスタに格納されているルーティング・タグが宛先データユニット１２x を指定すると、アドレス・デコーダ１１６はポート選択レジスタ８８x を指定してその中に制御情報“１”を書き込み、それにより、入力ポートＩＰ1 から出力ポートＯＰx への、他のデータ転送パスを確立する。この処理は、すべての入力ポートがそれらのそれぞれの宛先出力ポートに向けられるまで繰り返される。
【００９６】
ｎ個の入力があるので、セル・ルーティング処理はｎ＋１クロック・サイクルを要する。ＡＴＭセル内に５３バイトあるので、ｎ＜５３であれば入出力パスのすべてはセルのすべてのバイトが各入力ポートで受信される前に確立できる。
ルーティング・コントローラ１１８によりデータ転送パスが確立するとすぐに、セルデータは入力バッファ８２0 から８２n-1 からマルチプレクサ８４0 から８４n-1 に転送開始できる。このデータは次いで、各マルチプレクサ８４0 から８４n-1 により、接続されたポート選択レジスタ８８n から８８n-1 により指定されたマルチプレクサ入力からマルチプレクサ出力に、そして宛先データユニットにたいする適切な出力ポートに転送される。
【００９７】
ルーティング・コントローラ１１８が上記の方法で動作するとき、各ルーティング回路１１０内の入力バッファ８２が１セル分のデータより大きい容量を持つことが必要である、ということが理解されるであろう。例えば、各入力バッファが２セル分のデータに等しい容量を持つ必要がある。しかしながら、チップ上に占める面積を減らすために、入力バッファの各々の容量は好ましくは最小化されるべきである。
【００９８】
この問題を克服するために、データ転送パスがセルの到着前に確立されるようなことなるセル・ルーティング処理を採用することが可能である。これは各データユニットに各セルＣi のルーティング・タグを使用させて、当該データユニットが同じスイッチング・ユニット入力ポートに供給するという、そのセルＣi のためではなく次のセルＣi+1 のためのルーティング情報Ｒi+1 を供給（フィードフォワード）することにより達成される。
【００９９】
このフィード・フォワード・セル・ルーティング処理は、図１６のＡに示すように、各宛先レジスタ１１４0 から１１４n-1 が「二重バッファ化」された宛先レジスタ１１４’で置き換えられることを要求する。この二重バッファ化された宛先レジスタ１１４’は入力レジスタ１１４ａと出力レジスタ１１４ｂとを備え、次のセルＣi+1 のためのルーティング情報Ｒi+1 が入力レジスタ１１４ａにより受信されている間に、出力レジスタ１１４ｂは現在のセルＣi のためのルーティング情報Ｒi を保持する。現在のセルのすべてのデータが転送されると、次のセルにたいするルーティング情報は入力レジスタから出力レジスタに転送される。
【０１００】
セル・ルーティング処理の開始時（図１６のＢを参照）に、入力ポートに対する宛先レジスタ１１４’0 から１１４’n-1 は初期化される必要がある。これは、各データユニット２に、そのデータユニットが同一の入力ポートに送信するであろう次のセル（最初の実際のデータセル）Ｃ１のためのルーティング情報ＲC1を指定する、添付されたルーティング・タグＲＴDCと、ヌル・ペイロードとを有するダミーセルＤＣを送らせることにより達成される。このダミーセルに替えて、特定の初期化セルでもよい。ダミーセルにより運ばれるルーティング情報ＲC1は、当該入力ポートにたいする二重バッファ化された宛先レジスタ１１４’の入力レジスタ１１４ａで受信される。このルーティング情報ＲC1は直ちに、当該宛先レジスタの入力レジスタ１１４ａから出力レジスタ１１４ｂに転送される。これらの動作はすべての入力ポートに対して並列に行われる。
【０１０１】
ルーティング・コントローラ１１８は次いですべての宛先レジスタを読み（即ち、出力レジスタ１１４ｂを読み）、ポート選択レジスタ８８n から８８n-1 内に必要な情報を格納して、最初の実際のデータ・セルＣ１が受信される前に、要求されたデータ転送パスを確立する。こうして、最初の実際のデータ・セルＣ１が受信されるとすぐに、その意図された出力ポートへの転送が開始できる。
【０１０２】
最初のデータ・セルＣ１はそのルーティング・タグＲＴC1内に２番目のデータ・セルＣ２のためのルーティング情報ＲC2を運んでおり、この情報は、最初のデータ・セルＣ１のデータの転送が継続している間、二重バッファ化された宛先レジスタ１１４’の入力レジスタ１１４ａに格納される。各二重バッファ化された宛先レジスタ１１４’の出力レジスタ１１４ｂがルーティング・コントローラ１１８により読まれるとすぐに、最初のデータ・セルＣ１と共に受信された）２番目のデータ・セルのルーティング情報ＲC2は当該宛先レジスタの入力レジスタ１１４ａから出力レジスタ１１４ｂに転送される。こうして、データ・セルの２番目のセットにたいするデータ転送パスは、データ・セルの最初のセットの転送が完了するとすぐに確立することができる。
【０１０３】
図１７は、図１５のクロス・コネクト・スイッチング・ユニット１０８と同様に、ルーティング・タグ情報に依存するセルフ・ルーティングである、本発明の第２の態様を実施する他のクロス・コネクト・スイッチング・ユニット２０８の各部を示すブロック図を示す。図１７のクロス・コネクト・スイッチング・ユニット２０８のコンポーネントは図１５のクロス・コネクト・スイッチング・ユニット１０８のコンポーネントと同一か実質的に対応しており、同一の参照番号を付してある。
【０１０４】
図１７のクロス・コネクト・スイッチング・ユニット２０８と図１５のクロス・コネクト・スイッチング・ユニット１０８との相違点は、別の入力ポートＩＰ及び出力ポートＯＰを持つ代わりに、図１７のスイッチング・ユニットは双方向ポートＰ0 及びＰn-1 のみを有する。各双方向ポートＰはバッファ９２を介してそのポートに関係する入力バッファ８２と宛先レジスタ１１４とに接続されている。さらに、各マルチプレクサ８４はトライ・ステート・バッファ９４を介してポートＰの１つに接続されている。
【０１０５】
クロス・コネクト・スイッチング・ユニット２０８はさらにコントローラ１１８’を備えており、これは図１４のルーティング・コントローラ１１８の機能だけではなく入出力制御機能をも実行する。
図１７におけるクロス・コネクト・スイッチング・ユニット２０８は図１５のクロス・コネクト・スイッチング・ユニット１０８と基本的に同一の仕方で動作する。しかしながら、交換機、例えば図１の交換機に採用されると、その交換機はそのスイッチング・サイクルの各々において２つのフェーズ（入力フェーズと出力フェーズ）を持つ必要がある。入力フェーズでは、クロス・コネクト・スイッチング・ユニット２０８のポートＰは入力ポートとして働き、各データユニットはデータパケット（セル）をポートＰの１つに転送する。これらのセルはクロス・コネクト・スイッチング・ユニット２０８の入力バッファ８２0 から８２n-1 の内部に格納される。前述したようにセル・ルーティング・タグ内で運ばれているルーティング情報に基づいてセルが入力バッファに書き込まれると、これらのセルにたいする出力ポートの選択がなされる。スイッチング・サイクルのこの入力フェーズの間は、コントローラ１１８’はトライ・ステート・バッファ９４0 から９４n-1 をディスエーブルにし、それによりマルチプレクサ８４0 から８４n-1 は双方向ポートＰ0 からＰn-1 から分離されている。
【０１０６】
次いで、スイッチング・サイクルの出力フェーズの間は、双方向ポートＰが出力ポートとして採用され、セルは入力バッファ８２0 から８２n-1 から、マルチプレクサ８４0 及びこの時はコントローラ１１８’によりイネーブルになっているトライ・ステート・バッファ９４0 から９４n-1 を介して、それぞれの決定された出力ポートＰに転送される。
【０１０７】
図１５のクロス・コネクト・スイッチング・ユニット１０８の同じ転送速度を提供するために、図１７のクロス・コネクト・スイッチング・ユニット２０８はデータユニット１２に接続されたデータポートのそれぞれのライン・レート（ＵＮＩライン・レート）の和の２倍で動作できなければならないことがわかるであろう。例えば、ＵＮＩライン・レートの和が６２２Ｍｂｐｓである場合、クロス・コネクト・スイッチング・ユニット２０８は１．２Ｇｂｐｓで動作できなければならない。
【０１０８】
図１７のクロス・コネクト・スイッチング・ユニット２０８は図１５のクロス・コネクト・スイッチング・ユニット１０８に対して、ポートの全数が半分で済むという利点がある。
勿論、図２のデータユニット１２は、双方向ポートを有するがセルフ・ルーティングではないスイッチング・ユニットでも使用可能である。
【０１０９】
上記した、本発明を実施するマルチキャスティング法は、図１５及び図１７に示したセルフ・ルーティング・コンポーネントを持っていて特に有利である。なぜなら、それはこれらのコンポーネント及びデータ・ユニット自体の設計を望ましく簡単にしたまま可能にするからである。特に、ルーティング・タグ・フォーマットは、マルチキャスト・セルとユニキャスト・セルとで同じである。
【０１１０】
セルフ・ルーティング・コンポーネントが、１つのソース・データ・ユニットがマルチキャスト・セルをすべての意図された宛先データユニットに同時に転送する専用のマルチキャスティング・サイクルで使用されるとすると、図６に示したものと異なるルーティング・タグ・フォーマットを採用する必要があるであろう。この異なるルーティング・タグ・フォーマットにおいては、その１例が図１８に示されているが、ルーティング・タグは可変長（１バイト長又は９バイト長）のものになる。第１バイトの最上位ビットは、当該ルーティング・タグが添付されているセルがユニキャスト（即ち、単一の宛先データユニットに送られる）かマルチキャスト（複数の宛先ユニットに送られる）かを示すキャスト(cast)・タイプ・ビットＣＴである。キャスト・タイプ・ビットＣＴが（０）にリセットされると、これはユニキャスト・セルを示し、この場合はルーティング・タグは１バイト長である。１バイトルーティング・タグの低位６ビットＵＣ0 からＵＣ5 はユニキャスト動作のための宛先データユニットを指定する。
【０１１１】
他方、キャスト・タイプ・ビットＣＴが（１）にセットされると、これはマルチキャスト・セルを示し、ルーティング・タグは９バイト長である。ルーティング・タグの最後の８バイトは、図１の６４個の異なる可能な宛先データユニット１２0 から１２63にそれぞれ対応する６４個のデータユニット指定ビットＯ0 からＯ63を与える。これらのビットの各々は、セットされると、その対応する宛先データユニットはマルチキャスト・セルを受信するべきことを指示する。
【０１１２】
スイッチング組織のコンポーネントは、ルーティング・タグ情報を使用して、専用のマルチキャスト・サイクルと通常のユニキャスト・サイクルの両方に適切な形態にセットできる。しかしながら、スイッチング組織コンポーネントによるルーティング・タグの処理は、ルーティング・タグの複雑なフォーマットの故に複雑である。
【０１１３】
さらに、セルフ・ルーティング・クロス・コネクトと共にマルチキャスティングを実現する上記の方法においては、マルティキャスティンが生じるときとユニキャスティングが行われるときとでデータパケット（ルーティング・タグ及びＡＴＭセル・データ）の長さが異なる。これは、マルチキャスト・サイクルの期間は、ユニキャストのみに使用される他のスイッチング・サイクルより長くなければならないことを意味する。本発明を実施するマルチキャスティング法においては、ルーティング・タグは固定長（例えば、図６のように１バイト）でよいので、ユニキャスト・サイクルより長い可変期間のマルチキャスト・サイクルを取り扱うための用意をする必要がない。
【０１１４】
上記のように、本発明を実施するデータユニット及び方法はＡＴＭ交換機のような交換機においてマルチキャスティングを実現でき、スイッチング組織コンポーネントからマルチキャスティング処理を効果的に除去し、それによりスイッチング組織コンポーネントの設計を単純化しスイッチング組織コンポーネントにより要求される外部メモリ量の減少を可能にする。さらに、「マルチキャスティング・グループ」、即ち、ソース宛先ユニットがマルチキャストできる宛先データユニットは、本発明の実施例によるデータユニット内に限定されない。
【０１１５】
本発明の実施例によるデータユニット及び方法は、データユニット及びスイッチング組織のコンポーネントが、そのスイッチング組織を経由してセルを転送するためのスケジューリングを決定するスイッチング・コントローラにより完全に制御されるような交換機における使用に特に適している。スイッチング組織は本質的にメモリがないので、スイッチング組織に輻輳はない。
【０１１６】
本発明の実施例によるデータユニット及び方法は、交換機のスイッチング組織内に、同期クロス・コネクト・スイッチを有する交換機に有利に採用される。しかしながら、本発明の実施例によるデータユニットは、例えば、マトリックス、デルタ及びクロス（Clos) タイプを含むメモリに基づく交換機といった、宛先/ 優先度/ トラフィック・クラス・キューを使用する他の形態の交換機にも適用可能である。
【０１１７】
上記の実施例はＡＴＭセルを交換するＡＴＭネットワークで使用することを意図しているが、本発明は他の実施例においてデータがパケットの形態である任意の通信ネットワークに適用できることは明らかである。
【図面の簡単な説明】
【図１】本発明の実施例による、データユニットを含むＡＴＭ交換機のブロック図である。
【図２】図１の交換機内のデータユニットの１つの各部の示す概略図である。
【図３】図２のデータユニット内のそれぞれの記述子内へのＡＴＭセルの格納を示す概略図である。
【図４】Ａは本発明の第１の実施例で採用された記述子の第１のタイプのフォーマットを示す概略図であり、Ｂは記述子を生成する動作を示す概略図である。
【図５】マルチキャスト・セルを格納するための、第１の実施例で採用された記述子の第２のタイプのフォーマットを示す概略図である。
【図６】図２のデータユニットにより適用されるルーティング・タグのフォーマットを示す概略図である。
【図７】図５に示した記述子の第２のタイプの変形された形式を示す概略図である。
【図８】ユニキャスト・セルを格納するための、本発明の第２の実施例で採用された記述子の第１のタイプのフォーマットを示す概略図である。
【図９】第２の実施例において行われる動作を示す概略図である。
【図１０】第２の実施例において行われる動作を示す概略図である。
【図１１】第２の実施例において行われる動作を示す概略図である。
【図１２】第２の実施例において行われる動作を示す概略図である。
【図１３】図２のデータユニットでの使用に適切なクロス・コネクト・スイッチイング・ユニットのブロック回路図である。
【図１４】図１３のスイッチイング・ユニットの各部をより詳細に示す図である。
【図１５】本発明の上記第３の態様を実施し図２のデータユニットでの使用に適切な、第１のクロス・コネクト・スイッチング・ユニットを示すブロック図である。
【図１６】Ａ及びＢは図１５のスイッチング・ユニットに対する変形を説明するための概略図である。
【図１７】本発明の上記第３の態様を実施し図２のデータユニットでの使用に適切な、第２のクロス・コネクト・スイッチング・ユニットを示すブロック図である。
【図１８】本発明を具体化するものではない、マルチキャスティング法で使用されるルーチング・タグの、図６に対応する概略図である。
【図１９】従来のＡＴＭ交換機を示すブロック図である。
【符号の説明】
８…クロス・コネクト・スイッチング・ユニット
１０…交換機
１２…データユニット
１４…入力ポート
１６…出力ポート
２０…スイッチング・コントローラ
２２…終端ユニット
２４…受信メモリ
【図１】
0004024904.tif 000002
【図２】
0004024904.tif 000003
【図３】
0004024904.tif 000004
【図４】
0004024904.tif 000005
【図５】
0004024904.tif 000006
【図６】
0004024904.tif 000007
【図７】
0004024904.tif 000008
【図８】
0004024904.tif 000009
【図９】
0004024904.tif 000010
【図１０】
0004024904.tif 000011
【図１１】
0004024904.tif 000012
【図１２】
0004024904.tif 000013
【図１３】
0004024904.tif 000014
【図１４】
0004024904.tif 000015
【図１５】
0004024904.tif 000016
【図１６】
0004024904.tif 000017
【図１７】
0004024904.tif 000018
【図１８】
0004024904.tif 000019
【図１９】
0004024904.tif 000020