JP4024904B2 - データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機 - Google Patents
データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機 Download PDFInfo
- Publication number
- JP4024904B2 JP4024904B2 JP21936997A JP21936997A JP4024904B2 JP 4024904 B2 JP4024904 B2 JP 4024904B2 JP 21936997 A JP21936997 A JP 21936997A JP 21936997 A JP21936997 A JP 21936997A JP 4024904 B2 JP4024904 B2 JP 4024904B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- multicast
- output
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1553—Interconnection of ATM switching modules, e.g. ATM switching fabrics
- H04L49/1576—Crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
- H04L49/203—ATM switching fabrics with multicast or broadcast capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/256—Routing or path finding in ATM switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5651—Priority, marking, classes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機に関し、例えば、非同期転送モード(ATM)ネットワークにおける使用のための交換機におけるマルチキャスティング(multicasting)に関する。特に、本発明はマルチキャスティングを実現するためのそのような交換機における使用のためのデータユニットに関する。
【0002】
【従来の技術】
図19はATMネットワークにおける使用のために従来考えられていた交換機の各部を示す。交換機1は64個のデータユニット20 から263を含み、各データユニットは入力部40 から463と出力部60 から663を有する。明瞭化のために、データユニット20 、21 、22 、及び263の入出力部のみが図19に示されている。図19において、各データユニット2の出力部6は、ユニットの動作を明瞭化するために、関連するユニットの入力部4から分離されて示されているが、入力部4と出力部6は共に同一データユニット2の部分を形成することが理解される。
【0003】
各データユニット2は交換機の1つ以上のデータ入出力ポートDP0 からDP127 に接続されている。例えば、図19に示すように、各データユニットは一対のデータポートDPに接続されている。
図19の交換機のデータポートDPはそれぞれATM通信ラインに接続されており、そのATM通信ラインは各々、多数の分離チャネル(仮想チャネル)を提供する。各ATM仮想チャネルは固定長セルの形態でデータを運ぶ。
【0004】
交換機1はさらに、データユニット2の数と同じ数の入力ポートIP0 からIP63と出力ポートOP0 からOP63を有するクロス・コネクト・スイッチング・ユニット8を備えている。各入力部4は入力ポートIPの1つに接続されており、各出力部6は出力ポートOPの1つに接続されている。
クロス・コネクト・スイッチング・ユニット8は、その入力ポートと出力ポートの間を接続するために選択的に制御可能である。各々がその入力ポートの1つと出力ポートの1つの間の接続である64個までの同時接続が可能である。例えば、データが交換機1により、データポートDP4 (「宛先」データポート)にルーチングされるべきデータポートDP2 (「ソース」データポート)で受信されると、クロス・コネクト・スイッチング・ユニット8は、データユニット21 (これに接続されたソースデータポートDP2 を有する「ソース・データユニット」)の入力部41 を、データユニット22 (これに接続された宛先データポートDP4 を有する「宛先データユニット」)の出力部62 に接続するようになっている。こうして、ソース・データユニット21 と、宛先データユニット22 はデータユニット対を形成し、その対のソース・データユニットからその対の宛先データユニットにデータを通過させるために交換機内でデータ転送パスが割り当てられる。同時に63個までの他のそのようなデータユニット対に、クロス・コネクト・スイッチング・ユニット8によりそれぞれのデータ転送パスが割り当てられることができて、それらの対のそれぞれのソース・データユニットに接続されたソース・データポートで受信されたデータをもスイッチを介してそれらの対の、関係する宛先データポートに接続されているそれぞれの宛先データユニットに転送可能にする。
【0005】
2つ(又はそれより多い)のソース・データポートが同時に同一の宛先データポートと通信することを望むことがあり得るので、データユニット2又はクロス・コネクト・スイッチング・ユニット8、又は両者内といった、交換機内のいつくかのポイントでのデータの幾分かのバッファリングのために備えることが通常である。このバッファリングにより、2つの競合するソース・データポートの1つのデータは、それら2つの競合するソース・データポートの他方で受信されたデータを所望の宛先データポートに転送することを待機させ続ける。
【0006】
データポートに接続された仮想チャネルの中で、幾つかのチャネルは「ユニキャスト・チャネル」と呼ばれ、そのセルは交換機により単一の他の仮想チャネルに切り換えられる。しかしながら、複数のデータポートに接続された他のチャネルは「マルチキャスト」と呼ばれ、そのマルチキャストのセルは1つより多い他のチャネルに交換機により切り換えられる。こうして、そのようなマルチキャスト・チャネルから受信したセルを取り扱うためには、セルをソース・データポートから複数の宛先データポートに転送することが通常は必要である。
【0007】
そのようなマルチキャスティングを設ける多くの方法がある。例えば、係属中の英国出願第9617110.3により詳細に記載されているように、データユニットを「マルチキャスティング・グループ」内で動作させ、各グループに、1つ以上のセルをそのグループのすべての宛先データ・ユニットに同時に出力するソース・データユニットを持たせることが可能である。スイッチング・ユニットの出力ポートにおけるコンテンションを避けるために、一般的にそのようなマルチキャスティング・グループの1つ又は限られた数のみが同時に形成されることができる。こうして、この方法では、データユニットにはマルチキャスティングの機会を個別に、又は小さいグループでは、例えば、所定の時間間隔で、割り当てなければならない。
【0008】
【発明が解決しようとする課題】
しかしながら、このマルチキャスティング方法は、例えば、ソフトウエアの観点から、制御及び配置が複雑であり、且つセルのコンテンションの問題を起こしやすく、かなりのバッファリングが交換機内に設けられない限り、セル損失に導くので、依然として比較的に不十分である。
【0009】
さらに、ユニキャスト・チャネルと同じように、マルチキャスト・チャネルは異なるタイプのデータトラフィックを運ぶために使用できる。例えば、いくつかのマルチキャスト・チャネルは低優先度のコンピュータ・データ・ファイルを運ぶために使用されるが、他のマルチキャスト・チャネルは、音声やビデオのような高優先度の固定速度(CBR)トラフィックを運ぶために使用される。マルチキャスト・チャネルを含む、すべてのATMチャネルは、関連するチャネルが設定されるときに特定されるサービス(QoS)品質の要求に合致しなければならない。特に、セル転送遅延とセル転送遅延ゆらぎ(CDV)は特定のQoS要求に相応する同意された限界内になければならない。交換機を通過して同一の宛先データポートに向かう、同一の優先度を持つユニキャスト・チャネルとマルチキャスト・チャネルがあり得る。所定の時間間隔でのマルチキャスト機会の割り当てにより、交換機内での優先度を受信するマルチキャスト・チャネルが得られ、それにより、マルチキャスト・セルとユニキャスト・セルが同じ優先度を持っていても、特定のデータポートに向けられて、同じ宛先に向けられたユニキャスト・セルの後に受信されたマルチキャスト・セルは、そのユニキャスト・セルの前にその宛先データポートに転送される。
【0010】
したがって、実際には、同一の優先度の異なる仮想チャネルに対するセル・シーケンスの一貫性は保証できない。交換機内でマルチキャスト・チャネルに対してより高い優先度をを与えるようにすることにより、ユニキャスト・チャネルに対するセル遅延はネットワーク内のどこででも増大することがあり得、これは、セル転送遅延とセル転送遅延ゆらぎが音声及びビデオトラフィックのようなリアルタイムトラフィックに深刻な劣化の効果をもたらすので、厳しく避けなければならない。例えば、音声トラフィックは、短くなった不所望の信号となり、望ましくない音声効果が導入されるかも知れない。ビデオ・トラフィックはそのような遅延/位相ゆらぎに対してより影響されやすく、画素落ち、色の変化及び他の視覚的異常を表す。
【0011】
交換機を「セルフルーチング」にして、すべてのコンポーネントがスイッチング・コントローラにより直接制御されるデータのルーチングを持つ必要なしに、データが交換機の様々なコンポーネントを通る適切なルートを通過するようにし、それによりスイッチング・コントローラの負荷を軽減することも望ましいかも知れない。マルチキャスト・チャネルを行う必要性は交換機のコンポーネントの設計を複雑にし、したがって、それらのコンポーネントの設計を過剰に複雑にすることなく、セルフルーチングコンポーネントを持つそのような交換機における使用のためのマルチキャスティング法を提供することが望まれる。
【0012】
【課題を解決するための手段】
本発明の第1の態様によれば、受信したデータパケットをメモリ手段に格納させるパケット格納手段と、データパケットの所定の第1のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第1レジスタ手段内に作成するように動作可能で、且つ、データパケットの所定の第2のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第2レジスタ手段内に作成するように動作可能であるパケット登録手段と、そのように受信されたデータパケットが前記第1及び第2のカテゴリの両方に属するマルチキャスト・パケットである場合に、前記パケット登録手段に当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第1及び第2のレジスタ手段内に作成させるように動作可能なマルチキャスト・ハンドリング手段と、前記第1及び第2のレジスタ手段の各々にたいして、エントリーが作成された順序で当該レジスタ手段内のエントリーを読むことが可能で、各エントリーの読みにたいして、前記メモリ手段から対応するデータパケットを読み出して出力すことが可能なパケット出力手段と、を含む、データパケットを受け取りそれらをパケット交換回路に配信するデータユニットが提供される。
【0013】
このようなデータユニットにおいては、セル・シーケンスの一貫性は、同一のカテゴリに属するユニキャスト・パケットとマルチキャスト・パケットに対して保証され、ユニキャスト・パケットとマルチキャスト・パケットの両方に対するサービス要求の信頼性のある品質に合致することを可能にする。
前記第1及び第2のカテゴリに加えてデータパケットのさらに所定のカテゴリが存在してもよく、この場合は、データユニットはデータパケットの各異なるカテゴリのためのそのようなレジスタ手段を有し、前記マルチキャスト・ハンドリング手段は、そのようなマルチキャスト・パケットが受信されると、前記パケット登録手段に、前記パケットが属する各カテゴリのために前記レジスタ手段内に当該パケットに対応するそのようなエントリーを作成させるように働く。
【0014】
好ましくは、受信されたデータパケットは、パケット出力手段により出力された後にそれぞれの宛先に従ってカテゴライズされ、前記レジスタ手段の各々は異なる宛先に対応している。例えば、複数のデータユニットが、ユニットを相互接続しデータユニット対の間のデータ転送パスを選択的に提供するように働くスイッチング手段(スイッチング組織)と共に交換機内に採用してもよい。宛先はそれぞれ異なるデータユニットに対応することになる。
【0015】
前記レジスタ手段の各々はファースト・イン・ファースト・アウト機構、例えば、キュー持つ。これによりレジスタ手段内のエントリーが作成された順序で読み出されることが容易になる。
受信データパケットがマルチキャスト・パケットの場合は、パケット格納手段は好ましくは前記メモリ手段内の単一の位置にマルチキャスト・パケットを格納するようにさせられ、マルチキャスト・パケットが属する各カテゴリのための前記レジスタ手段内にパケット登録手段により作成された、マルチキャスト・パケットに対応するエントリーは、前記単一の位置を指し示すポインタを含む。これにより、宛先の各々に対するマルチキャスト・パケットのコピーを格納する必要が無くなる。エントリーは各適切なレジスタ手段内に作成される必要があるが、そのエントリーはパケット自体よりも極めて少ない情報しか持っていないので、パケットの迅速な登録が可能になる。
【0016】
前記メモリ手段と前記レジスタ手段の各々は好ましくは、データユニット自体の内部又は外部でよい、同一の記憶ユニット、例えばスタティックRAMを形成する。これにより、多くの異なるメモリを設ける必要はなくなる。格納手段が外部のものである場合は、その大きさはトラフィック要求に適当なように選ぶことができる。即ち、大きなトラフィックの応用には低いトラフィックの応用よりも大きな格納ユニットが必要になる。これにより柔軟性が高まり制御価格を助けることができる。
【0017】
データパケットの前記カテゴリの1つだけに属するユニキャスト・パケットである各データパケットのために、そのユニキャスト・パケットに対応するエントリーは好ましくはそのパケット自体の少なくとも幾らかのデータを含む。換言すれば、メモリ手段とレジスタ手段がすべて同一の格納手段の一部を形成する場合は、ユニキャスト・パケットに対応するエントリーがパケット自体から分離される必要がなくなり、ユニキャスト・セルが受信されるとそれらは共に関係するレジスタ手段(キュー)内に配置された単一の「記述子」内に作成できる。
【0018】
前記パケット格納手段は、好ましくは、記憶ユニットのデータブロックで自由に使用できるものを登録するために、データブロック内に記憶ユニットを組織化し且つフリープール手段を含み、パケット格納手段は、データパケットが受信されると、そのパケットを使用が自由であるとして前記フリープールにより登録された前記データブロックの1つに割り当てるように動作可能であり、そのようなユニキャスト・パケットに割り当てられたデータブロックは、そのパケットに対応する前記エントリー(例えば、上記記述子)が前記パケット出力手段により、その中でエントリーが作成された前記レジスタ手段から読まれると、前記フリープール手段により登録される。
【0019】
そのようなデータブロックのこの方法による使用により、ユニットが使用中のとき、メモリ資源をダイナミックに割り当てることを可能にし、それにより各レジスタ手段のための及びメモリ手段のための固定メモリ量を予め確保する必要がなくなる。
この場合、前記マルチキャスト・ハンドリング手段は、好ましくは、マルチキャスト・パケットに割り当てられたデータブロックの前記フリープールによる再登録を、そのマルチキャスト・パケットに対応する前記エントリーの各々が前記パケット出力手段により読み出されるまで、禁止するように動作可能である。例えば、前記マルチキャスト・パケットのデータはそのパケットに割り当てられたデータブロック内のマルチキャスト記述子に格納されてもよい。このマルチキャスト記述子は好ましくはデータパケットの異なるカテゴリにそれぞれ対応するマルチキャスト処理されたビットを含む。前記マルチキャスト・ハンドリング手段は、そのようなマルチキャスト・パケットが受信されると、当該マルチキャスト・パケットが属するカテゴリにそれぞれ対応するマルチキャスト処理されたビットを第1の状態にプリセットし、残りのマルチキャスト処理されたビットを前記第1の状態と異なる第2の状態にプリセットするように動作可能であり、且つ前記レジスタ手段の1つの中のマルチキャスト・パケットに対応するエントリーが前記出力手段から読み出されると、そのレジスタ手段に対応するマルチキャスト処理されたビットを前記第2の状態に変更し、前記マルチキャスト処理されたビットのすべてが前記第2の状態を持つことを検出すると、そのマルチキャスト・パケットに割り当てられたデータブロックを前フリープールに戻させるように動作可能である。これによりマルチキャスト記述子の処理が便利になる。
【0020】
1つの好ましい実施例においては、マルチキャスト・パケットに対応する前記エントリーの各々は前記データブロックの1つに格納されたリンク記述子内で作成され、2つの連続するユニキャスト・パケットの間で受信された少なくとも2つの連続するマルチキャスト・パケットのそれぞれ対応するエントリーは、同一のリンク記述子内に格納できる。これにより、マルチキャスト・パケットを受信する毎に各適当なレジスタ手段内に新たな記述子を生成する必要がなくなる。エントリーは関係するマルチキャスト記述子に対する単純なポインタでよいので、多くのエントリーは単一のリンク記述子内に収容することができ、メモリを節約してエントリーの作成速度は非常に速い。こうして、次のパケットが受信される前にすべてのレジスタ手段を更新することが可能になり、過剰なバッファリング又は輻輳制御処理の必要がなくなる。
【0021】
受信されたデータパケットはそれらのそれぞれの優先度にしたがってサブカテゴリ化されてもよい。この場合は、、少なくとも1つのカテゴリに対するレジスタ手段は好ましくは異なる優先度のサブカテゴリにそれぞれ対応する複数のサブレジスタ手段に分割され、パケット登録手段は、前記1つのカテゴリに属するデータパケットが受信されると、当該パケットが属する優先度のサブカテゴリに対応する前記サブレジスタ手段の上記1つの中に、そのデータパケットに対応する前記エントリーを作成するように動作可能である。パケット出力手段は優先順位で前記サブレジスタ手段を選択し、各選択されたサブレジスタ手段にたいして、そのデータパケットを出力するように動作可能であり、そのデータパケットのそれぞれの対応するエントリーは、それらのエントリーが作成された順序で当該サブレジスタ手段内にある。これにより、より高い優先度のパケットはより低い優先度のパケットに先立って出力されるが、同一の(メイン)カテゴリに属する、例えば、同一の宛先を持つユニキャスト・パケットとマルチキャスト・パケットの間の正確なパケット・シーケンスを依然として保持することが保証される。
【0022】
前記出力手段は各データパケット出力にルーティング・タグを添付するように動作可能であり、それにより、そのルーティング・タグはパケットの前記宛先を識別する情報を含んでいる。これにより、スイッチング組織のコンポーネントをセルフルーティングにできる。1実施例においては、前記出力手段は各データパケット出力に、出力されるべき次のデータパケットの前記宛先を識別する情報を含むルーティング・タグを添付するように動作可能である。この「フィードフォワード」法により、セルフルーティング・コンポーネントは、前回のパケットが取り扱われるとすぐに次のパケットにたいする形態をセットできるようにして、そのコンポーネント内のバッファリング要求を減少させるかもしれない。
【0023】
出力手段によるすべてのパケット出力は、マルチキャスト受信パケットから得られるものでも、1つだけの宛先を持っているので、ルーティング・タグは固定長である。
1つの好ましい実施例においては、データユニットはATM交換機内に採用されており、前記データパケットは各々、1つ以上のATMセルを備えている。
【0024】
この場合、前記出力手段は、そのようなマルチキャスト・パケットに対応するエントリーがそのパケットの前記宛先の1つに対応するレジスタ手段から読まれると、そのパケット出力のヘッダ部又は各ATMセルに、その宛先に対応するルーティング情報を含ませるように動作可能である。これにより、異なる宛先にたいする異なる出力パケットにユニークなセルアドレスを持たせることが可能である。
【0025】
このようなATM交換機において、各データユニットとスイッチング組織コンポーネントとは非同期的に動作してもよいが、データユニットとスイッチング組織コンポーネントは同期的に動作して一連のスイッチング・サイクルを実行することが好ましく、その交換機は、前記データユニットに接続されて、各スイッチング・サイクル内で当該ユニットの出力手段により前記エントリーの1つがそこから読まれるべき、各データユニットのレジスタ手段を選択するスイッチング制御手段をさらに備えていることが好ましい。これにより、交換機内のコンテンションの問題を避けることができ、スイッチング・コントローラがスイッチング資源を公平に、例えばデータユニット内のキューの満たされているレベルに依存してダイナミックに割り当てることが可能になる。そのような同期交換のスイッチング組織コンポーネントは本質的にメモリがなくてよく、例えば単純なクロス・コネクト・スイッチング・ユニットを使用できる。
【0026】
本発明の第2の態様によれば、データユニットにおいてデータパケットを受信し、それらをメモリ手段に格納し、そのデータパケットの所定の第1のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第1のレジスタ手段内に作成し、所定の第2のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第2のレジスタ手段内に作成し、そのような受信データパケットが前記第1及び第2のカテゴリの両方に属するマルチキャスト・パケットの場合に、当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第1及び第2のレジスタ手段内に作成し、そして前記第1及び第2のレジスタの各々に対して、当該レジスタ手段内のエントリーをそれらが作成された順序で読み、各エントリーの読みにたいして、メモリ手段から対応するデータパケットを読み出してこれをデータユニットから出力する、というステップを備える、パケット交換機のデータユニットで使用する、マルチキャスティング・データパケット方法が提供される。
本発明の第3の態様により、ルーティング情報を含むデータパケットを交換するクロス・コネクト・スイッチング・デバイスであって、複数のポートと、複数のデータ転送パスを同時に提供するように選択的に制御可能なデータ転送手段であって、各パスは前記複数のポートから選択された入力ポートと出力ポートとを有し、前記入力ポートに受信されたデータパケットを前記出力ポートに通過させるように働く、データ転送手段と、そのようなデータパケットが前記ポートの1つでそのデバイスにより受信されると、そのパケットに、前記入力ポートとしてのそのポートを有し、その前記出力ポートとして前記ルーティング情報に依存してセルフルーチング手段により選択されたポートのさらなる1つを有するそのようなデータ転送パスを割り当てるように動作可能なセルフ・ルーチング手段と、を備えるクロス・コネクト・スイッチング・デバイスが提供される。
【0027】
1実施例においては、前記データパケットの各々はそのパケット自体に関係するルーチング情報を含むが、これに替えて、前記デバイスの各ポートで受信されたデータパケットは、当該ポートにより受信されるべき次のデータパケットにたいするルーティング情報を含み、前記セルフ・ルーチング手段は各データパケットと共に受信されたルーチング情報を採用して、次のデータパケットのためのデータ転送パスを割り当てるように動作可能にしてもよい。
【0028】
【発明の実施の形態】
次に添付の図面を参照して本発明の実施の形態を説明する。
図1の交換機10は、本発明の実施例による複数のデータユニット120 から1263と、データユニットを相互に接続するクロス・コネクト・スイッチング・ユニット8とを含んでいる。
【0029】
図1の各データユニット12は、図19の入力部4の代わりの入力部14と、図19の出力部6の代わりの出力部16とを有している。
図19を参照して前記したように、64個までのデータユニット対が、クロス・コネクト・スイッチング・ユニット8により設けられるそれぞれの転送パスを介してデータを交換できる。しかしながら、データ・コンテンションの問題を避けるために、本発明の好ましい実施例においては、図1のデータユニット12とクロス・コネクト・スイッチング・ユニット8は一連のスイッチング・サイクル内で同期して動作する。各スイチングサイクルは、各データユニット対のソース・データがATMデータの少なくとも1つのセルを宛先データユニット対に転送するために十分に長くなければならない。しかし、このスイッチング・サイクルは必ずしも全てが同じ期間である必要はない。例えば、トラフィック状態に依存して、ある時には、10個のATMセルを送信するために十分な長期のスイッチング・サイクルが使用され、他の時には、交換機を介して1個のATMセルを送信するのに十分な短期のスイッチング・サイクルが使用され得る。
【0030】
又、図1に示した交換機はさらにスイッチング・コントローラ20を備え、これはデータユニット120 から1263のすべてとクロス・コネクト・スイッチング・ユニット8とに接続されている。スイチング・コントローラ20は、データユニット12とクロス・コネクト・スイッチング・ユニット8とを制御して、交換機の使用中に、データポート間の要求された接続をダイナミックに確立する。
【0031】
図2は図1のデータユニット12の1つの各部を示す。
図19における各データユニット2と同様に、データユニット12は2つの関連するデータポートDPX 及びDPX+1 を有する。
図2のデータユニット12はこれに接続された1つだけのデータポートを持つことができるか、又はこれに接続された2つ以上のデータポートを持つことができるということが理解される。さらに、各データユニット12はこれに接続された同じ数のデータポートを持つ必要はない。
【0032】
各データポートは好ましくはユーザ・ネットワーク・インターフェース(UNI)ポートである。ATMセルは、データポートDPX 及びDPX+1 において、これらのデータポートに接続されたATMチャネル(仮想チャネル)から受信される。これらのATMチャネルは固定速度(CBR)、可変速度(VBR)、アベーラブル速度(ABR)、又は非特定速度(UBR)のチャネルでよい。VBRチャネルはリアルタイム可変速度(RT−VBR)チャネル及び/又は非リアルタイム可変速度(NRT−VBR)チャネルでよい。CBR及びVBRチャネルに対してでさえ、データユニット12における当該チャネルに属するATMセルの到着時間は予測不能であり、当該チャネルを提供しているATMネットワークの変動(特に可変遅延)の影響を受ける。
【0033】
各受信ATMセルはそのヘッダ部に、データユニット12により使用されて、当該セルがどの宛先データポートに配信されるべきかを決定するルーチング情報(仮想パス識別子(VPI)と仮想チャネル識別子(VCI)からなるセルアドレス)を含んでいる。
各データポートDPX 及びDPX+1 は終端ユニット22を介してデータユニット12に接続されている。データポートDPX 及びDPX+1 の各々に到着するセルは終端ユニット22により分解(deframed)され、同期化され、エラーチェックされる。終端ユニット22は有効セルをデータユニット12に転送する。データユニット12内で、セルは入力部14のポリシング部142(オプション)により「ポリス(policed))されて、それらのセルが、当該セルが属するATMチャネルに対して前回一致したトラフィック・パラメータに従うかどうかを判定する。
【0034】
入力部14は又、ルックアップ・テーブル144aを含むアドレス変換部144を有し、そのルックアップ・テーブルは、データポートDPX 及びDPX+1 に接続された異なる受信チャネルの各々に対して、その受信チャネルのセルが転送されるべき対応する宛先データユニットを登録する。各受信セルにより運ばれるルーティング情報(セルアドレス)が採用されて、そのセルアドレスに対応する宛先データユニットの識別子が登録されているルックアップ・テーブル144aにおいてアドレスを定義する。
【0035】
このようにしてその宛先データユニットが識別されると、受信セルは、受信メモリ24に接続されている受信メモリ制御部146に送られる。受信メモリ24は、この実施例においてはデータユニット12の外部にあるが、データユニット12に含ませてもよい、例えば、スタティックRAMデバイスである。なお、図2においては、ルックアップ・テーブル144aは入力部14の内部にあるように示されているが、ルックアップ・テーブル144aは入力部の外部にある受信メモリ24に格納されてもよい。
【0036】
受信メモリ24内において、受信セルが転送されるべき異なる宛先データユニットに従って異なるキュー内に、受信セルが格納される。こうして、図1に示すように、交換機内に64個のデータユニット120 から1263がある場合は、図2に示すように、受信メモリ24は、異なる可能な宛先データユニット120 から1263のそれぞれ対応する64個のメイン受信キューRQ0 からRQ63を提供する。さらに、図2に示すように、メイン受信キューRQ0 からRQ63の各々を、セルの優先度の異なるレベルにそれぞれ対応する複数のサブキューSQ0 からSQ3に分割することが好ましい。例えば、固定速度チャネルに属するセルは最も高い優先度(優先度0)を有し、したがって、関連するメインキューの最高優先度のサブキューSQ0 に格納される。リアルタイム可変速度チャネルに属するセルは次に高い優先度(優先度1)を有し、関連するメインキューの次に高い優先度のサブキューSQ1 に格納される。非リアルタイム可変速度、アベーラブル速度及び非特定速度のチャネルに属するセルは関連するメインキューのさらに低い優先度のサブキューSQ2 及びSQ3 に格納される。優先度にしたがってセルをサブキューに分離することは本質的ではなく、ある状況においては各宛先データユニットに対して単一のメイン受信キューRQで十分である。さらに、異なる優先レベルの数は図2に示した4つには限定されない。例えば、64個の異なる優先レベルがあり得る。
【0037】
受信メモリ24は複数のデータブロックに分割され、各ブロックは「記述子」を格納するために使用される。データブロックは、データユニットの動作中にダイナミックに、異なる受信キューRQ(及び、もし使用される場合には、各メイン受信キューRQ内のサブキューSQ0からSQ3 )に割り当てられる。なぜなら、キューの大きさは予め容易には予測できず、したがって、キューの各々に対してメモリの固定量を割り当てることはメモリ資源を無駄にすることになるからである。図3を参照すると、そのようなキューの1つの構成を概略的に示しており、自由に使用できるデータブロックBのアドレス(記述子を未だ格納していない)はいわゆるフリープールFPに保持されている。使用に当たって、各キュー(又はサブキュー)に属するデータブロックはリンクされたリストLLの形態で互いにリンクされる。受信メモリ制御部146は、リンクされたリストの管理に使用するために、各受信キュー(又はサブキュー)内の最初と最後の記述子DESに対するポインタPS 及びPE を含むポインタを保持している。
【0038】
図4のAは受信キューRQの1つにおける記述子のフォーマットの1例を示している。この記述子は16個の32ビットワードを備えている。最初のワードは当該キュー内の次の記述子の受信メモリ24におけるアドレスであるリンクアドレスを格納する。2 番目のワードはマルチキャスト状態における使用のために確保されており、以下に詳細に記載する。
【0039】
記述子の続く13個のワードは、セルがユニキャスト・セルの場合のATMセルそのもの(ヘッダ及びペイロード)を格納するために使用される。最後の1つのワードはこの実施例において予備になっている(使用されない)。本実施例においては、ヘッダの最初の4バイトのみが記述子に格納され、ヘッダの5番目のバイトは、ヘッダ・エラー・チェック(HEC)バイトであり、メモリアクセスの数を減らすために格納されない。後に説明するように、HECバイトは、セルが交換機に送出されるときに再生成され得る。しかしながら、これに替えて、ユニキャスト・セルと共に受信されたHECバイトは記述子内のある適切な自由位置、例えば、最後の2つのワードの1つとか最初の不使用バイト(リンクアドレスは32ビットの全てを必要としない)に格納されてもよい。
【0040】
図4のBはユニキャスト・セルの入力部14による受信に応答して新たな記述子を生成するプロセスを示す。最初に、ユニキャスト・セルは、図4のAのフォーマットで、データブロックBi 内の記述子DESiに格納され、そのアドレスは当該受信キューRQのキュー・エンド・ポインタPEから獲得される。次いで、受信キューに配置されるべき次のセルを格納するために必要な記述子DESi+ 1 に対して新たなデータブロックBi+1 が予め確保され、この場合ブロックBi+1 のアドレスはフリープールFPから取り出されてデータブロックBi のリンク・アドレス・フィールド内とキュー・エンド・ポインタPE内とに格納される。
【0041】
こうして、データポートDPx及びDPx+1 の1つに受信された各ユニキャストATMセルは、データユニット12の入力部14により、受信メモリ24内の宛先データユニットに対応する受信キューRQ0 からRQ63の1つの中に格納される。しかしながら、受信ユニキャスト・セルは単一の宛先データ・ユニットを持っているが、受信マルチキャスト・セルは複数の宛先データユニットのグループに配信されることが要求される。
【0042】
マルチキャスト・セルはしたがって、ユニキャスト・セルと異なるように取り扱われる必要があり、この目的のために、入力部14はマルチキャスト・ハンドリング部148を含んでいる。受信セルがマルチキャスト・セルの場合は、各関連する宛先データユニットキューにわたって多数回格納されるのではなく、それ自体のマルチキャスト記述子MDES内に、1回だけ格納され、その記述子MDESのフォーマットは図5に示される。この記述子はやはり16個の32ビットワードからなる。こうして、マルチキャスト記述子を格納するために使用されるデータブロックは、図4のAの受信キュー記述子に使用されるものと同じ大きさであり、これによりメモリ制御が簡単になる。
【0043】
図5に示すように、マルチキャス記述子MDESの最初の2つのワードは、それぞれ異なる可能な宛先データユニット120 から1263に対応する64個のマルチキャスト処理されたビットMPB0 からMPB63を格納するために使用される。これらのビットの目的は以下に記載する。マルチキャスト記述子の続く13ワードはマルチキャスト・セル(ヘッダ及びペイロード)自体を格納するために使用され、最後のワードは本実施例においては予備とされる(使用されない)。
【0044】
マルチキャスト・セルのためのマルチキャスト記述子を生成することに加えて、各宛先データユニットの受信キュー内にエントリーを作成して、当該マルチキャスト・セルはその宛先データユニットに送られるべきであることを示すようにすることも必要である。本実施例においては、図4のBを参照して前述したように、図4のAの受信キュー記述子も、そのようなエントリーを作るために使用され、そのエントリーはマルチキャスト・セルが受信されると各関連する受信キューの最後の記述子内に作られ、新たな記述子が各関連する(次のセルのために確保されている)受信キューに追加される。
【0045】
次に図4のA及び図5に示す記述子を用いる受信セルの処理を詳細に説明する。前述したように、セルがデータユニット12の入力部14に受信されると、それはポリシング部(policing section)142によりオプションとしてポリスされて、そのセルが属するATMチャネルにたいして、それが前回一致したトラフィック・パラメータに従うかどうかを判定する。そのセルは次いで、アドレス変換部144により処理されてその1つ又は複数の宛先データユニットを決定する。セルがユニキャスト・セルの場合は、3番目又は15番目のワードに格納され、この場合、関連する受信キュー内の最後の記述子は、図4のBを参照して記載したプロセスを用いる。マルチキャスト有効ビット(記述子の2番目のワード)はリセットされて、記述子に格納されたセルがユニキャスト・セルであることを示す。新たな記述子は次いで、図4のBを参照して記載したように、次のセルのために確保される。これにより、ユニキャスト・セルを格納する処理は完了する。
【0046】
他方で、セルがマルチキャスト・セルの場合は、マルチキャスト・ハンドリング部148は、セルを、図5のBに示すフォーマットを持つマルチキャスト記述子MDES内に格納させる。そのマルチキャスト記述子のアドレスはフリープールFP(図3)から得られる。マルチキャスト・セルの宛先データユニットにそれぞれ対応する(マルチキャスト記述子の最初の2ワード内の)マルチキャスト処理されたビットMPB0 からMPB63は次いでセットされ、残りのマルチキャスト処理されたビットはリセットされる。例えば、受信されたマルチキャスト・セルがデータユニット120 、122 、及び125 に向けられる場合、対応するマルチキャスト処理されたビットMPB0 、MPB2 、及びMPB5 がセットされる。
【0047】
マルチキャスト・ハンドリング部148は次いで、マルチキャスト・セルが送られるべき各宛先データユニットに対して、受信キュー内の最後の記述子内にエントリーを作成する。こうして、上記の例においては、宛先データユニット120 、122 、及び125 にそれぞれ対応するキューRQ0 、RQ2 、及びRQ5 の最後の記述子内にエントリーが作成される。これらの最後の記述子の各々はやはり図4のAに示されるフォーマットを持っているが、この場合はATMセルのデータ(ペイロード)は記述子内には格納されない。そのかわり、マルチキャスト・セル・データが格納されたマルチキャスト記述子MDESのスタート・アドレスは、各関連する受信キュー内の最後の記述子のマルチキャスト・アドレス・フィールド(2番目のワード)に入れられる。記述子内のマルチキャスト有効ビットもセットされて、マルチキャスト・セルが特定のマルチキャスト・アドレスに格納されていることを示す。
【0048】
セル・ヘッダも最後の記述子の3番目のワード内に格納されるが、この場合は、マルチキャスト・セルはその指定された宛先の各々に対して異なるセル・アドレスを持つ必要があるので、セル・ヘッダはリプレースメント・セル・アドレス(VPI及びVCIフィールド)と共に格納される。異なる宛先ユニットに対する異なるリプレースメント・セル・アドレスは、マルチキャス・チャネルが設定されたときのデータユニット12の呼許可制御処理の一部として登録されて、マルチキャスト・ハンドリング部148により保持されている。この実施例においては、HECバイトは格納されていないが、それが格納されるべきであるならば、セル・アドレスの変化によりHECバイトの再計算が必要となるであろう。
【0049】
最後に、図4のBを参照して記載したように、新たな記述子が、各関連する受信キュー内に格納されるべき次のセルのために、そのキュー内に確保される。これにより、マルチキャスト・セルの格納処理は完了する。
データポートDPx 及びDPx+1 に受信されたユニキャスト・セル及びマルチキャスト・セルはこのようにして関連する受信キューに格納される。これらのセルは次いで、キューから読み出され、データユニット入力部14の出力部150により、それぞれの宛先データユニットに転送するために、スイッチング組織(例えば、図1のクロス・コネクト・スイッチング・ユニット8)に出力される。出力部150は入力部14の受信部142及び144と並列に動作するので、出力部は、新たなセルが受信部142及び144により受信され、処理され、それらのキューに格納されている間に、セルを読み出して出力することができる。
【0050】
本実施例においては、交換機は全体として一連のスイッチング・サイクル内で同期して動作し、出力部150は、ローカル・スケジューラ150aを有し、そのローカル・スケジューラ150aは制御情報を登録し、その制御情報は、外部スイッチング・コントローラ(例えば、図1のスイッチング・コントローラ20)により当該データユニット12に供給され、各スイッチング・サイクルでどの受信キュー(及び、もし使用される場合は、サブキュー)がデータをスイッチング組織に転送することを許可されるかを決定するために使用される。
【0051】
又、本実施例においては、出力部150はルーティング・タグ部150bを有し、これはスイッチング組織に出力される各セルにルーティング・タグを取り付けるように動作し、そのルーティング・タグは、図15から図17を参照して後により詳細に記載するように、スイッチング組織のコンポーネント(例えば、図1のクロス・コネクト・スイッチング・ユニット8)により採用されて当該セルのそれらのコンポーネントを介するルートを決定することができる。
【0052】
図6はルーティング・タグのフォーマットの例を示す。この場合、タグは長さが1バイトであり、これに関連するセルの開始部に配属される。即ち、ルーティング・タグ・バイトは最初のバイトであり、それにセル自体のバイトが続く。ルーティング・タグは、6個の低位ビットB0 からB5 からなるアドレス・フィールドと、2個の高位ビットB6 及びB7 からなる制御フィールドを有している。6ビットのアドレス・フィールドにより、64個までの異なる宛先データユニットの指定が可能である。制御フィールドはデータユニット12により出力されたデータパケット(即ち、ルーティング・タグ・バイト及びセル・バイト)のスタートを識別するために使用される。
【0053】
本実施例における出力部150は又、HEC演算部150cを有し、これは、関連する記述子(図4のAの記述子内の3番目のワード)に格納されているようなヘッダの最初の4バイトに基づいてスイッチング組織に出力されるべき各セルのヘッダに含ませるためのHECバイトを計算する。
異なる宛先データユニット20 から263にそれぞれ対応するメイン受信キューRQ0 からRQ63が、図2に示した優先度に従ってサブキューSQにサブ分割されると、各メインキューRQのサブキューは、最高優先度のサブキューSQ0 から始めて、出力部150により基本的に順次処理される。各サブキュー内で、記述子はそれらが当該サブキューー内に格納されている順番で読み出されて、各優先度レベルでデータポートに受信されたセルはファースト・イン・ファースト・アウトを基本としてスイッチング組織に転送される。低優先度のサブキューの処理の間に、新たな記述子が高優先度のキューに格納されると、低優先度のキューの処理は、そのサブキューにおける現在の記述子の転送の完了を、新たな高い優先度の記述子の転送の間、中断する。
【0054】
出力部150が受信キューRQから、マルチキャスト有効ビットがセットされている記述子を読むとき、それはマルチキャスト記述子の(記述子の2番目のワード内の)スタート・アドレスを読み、次いで特定されたスタート・アドレスにおける3番目から15番目のワードからマルチキャスト・セル・データを読み、そして、受信キュー記述子の3番目のワードから、要求されたリプレースメント・セルアドレスを含むセル・ヘッダを読む。HEC演算ユニット150cはマルチキャスト・セルのためのHECバイトを演算して、リプレースメント・セルアドレスを反映する。ルーティング・タグ部150bは、そこから記述子が読まれた多数の特定受信キューRQから宛先データユニットを識別する。マルチキャスト・セル・データ及びその対応ヘッダ(リプレースメント・セル・アドレス及び演算されたHECバイトを含む)は、ルーチング・タグを付けて、データパケットとしてスイッチング組織に出力される。
【0055】
出力部150は又、マルチキャスト・ハンドリング部148に、マルチキャスト・セルが出力中であることを知らせる。マルチキャスト・ハンドリング部148は次いで、現在の宛先データユニットに対応するマルチキャスト処理されたビットMPB0 からMPB63のその1つをリセットする。マルチキャスト処理されたビットのすべてがリセットされると、これはこれが現在処理されたマルチキャスト・セルに関係する最後の受信キュー記述子である事を示す。マルチキャスト・セルは要求された宛先データユニットのすべてに送られたので、マルチキャスト記述子MDESはもはや必要ではなく、そのデータブロックのスタート・アドレスはフリープールに戻される。
【0056】
他方で、マルチキャスト・ハンドリング部148が、マルチキャスト記述子内の任意のマルチキャストされたビットが依然としてセットされていることをを見いだすと、マルチキャスト・セルはマルチキャスト・セルを他の宛先データユニットに送るために依然として必要であり、従ってマルチキャスト記述子は使用され続けなければならない。
【0057】
マルチキャスティングを実現するこの方法においては、マルチキャスト・セルが受信されると、それに関係するエントリーはその宛先データユニットの各々に対する受信逆キューに正しく配置されるので、各宛先データユニットに対する正しいセル順序(ファースト・イン ファースト・アウト)は保証されている。これにより、データユニットに所定時間にマルチキャスティングの機会を割り当て、その中で、同一の優先度のマルチキャスト・セルとユニキャスト・セルが同じソース・データユニットに受信され、且つ同じ宛先データユニットに向けられると、ユニキャスト・セルが最初に受信されてもユニキャスト・セルの前にマルチキャスト・セルが宛先データユニットに転送されるという事を含む、すでに考察したマルチキャスティング法の、導入部で記載した、「キュー・ジャンピング」の問題が避けられる。
【0058】
受信キュー記述子を使用してリプレースメント・セル・アドレスを格納する代わりに、マルチキャスト・セルの宛先データユニットに要求されるすべての異なるセル・アドレスを含む、セル・アドレス・ルックアップ・テーブルをマルチキャスト記述子MDESに有効に取り付けることが可能である。このアプローチは図7に示されており、そこでは、マルチキャスト記述子の3番目のワード(これは、図5のマルチキャスト・フォーマットでは、効果的に冗長であった)が使用されて、セル・アドレス・ルックアップ・テーブルとそのテーブルの長さを示すワードを格納するマルチキャスト・グループ記述子MGDESの受信メモリ24にスタート・アドレスにたいするポインタを格納するために使用される。このルックアップ・テーブルはリプレースメント・セル・アドレス(ATMリプレースメント・ヘッダ)のリストを含み、そのリスト内のエントリーはそれぞれ異なるデータユニットに対応している。各データユニットに対応しているエントリーは、そのデータユニットのためのセルで使用されるべきリプレースメント・セル・アドレスを格納する。マルチキャスト・セルが特定のデータユニットに向けられない場合は、そのデータユニットに対応するエントリーはブランクにされたままとなる。
【0059】
あるマルチキャスト・セルに関係する受信キュー記述子が処理されるとき、前述のようにマルチキャスト記述子MDESが読まれるが、この場合はその特定の宛先ユニットに要求されるセル・アドレスは、ルックアップ・テーブルをアドレスするための多数の宛先データユニットを用いて、出力部150によりマルチキャスト・グループ記述子MGDESから検索される。
【0060】
上記の第1の実施例において、マルチキャスト・セルがデータユニット12により受信されると、マルチキャスト・ハンドリング部148は、新たなマルチキャスト記述子を書くことに加えて、(マルチキャスト記述子スタート・アドレスと、マルチキャスト有効ビットと、セルアドレスとを備える)マルチキャスト制御データを各宛先データユニットに対する受信キューの末尾にある最後の記述子に書かなければならない。要求されるメモリ・アクセス動作の数は、受信メモリ制御部146の内部に受信キューのスタートとエンドにたいするポインタPS 及びPE を格納させることにより減少する。しかしながら、もしマルチキャスト・ハンドリング部148がマルチキャスト記述子自体とマルチキャスト制御データとを各受信キュー記述子に格納するためにセル期間より長くかかる場合は、受信セルをバッファするために入力バッファ(FIFO)が入力部14に必要となろう。要求される受信キュー記述子の数はマルチキャスト・セルの宛先データユニットの数に依存する。こうして、記述子更新の数は変化し得る。入力バッファ(FIFO)で輻輳があると、そのマルチキャスト・セルが属するATMチャネルの逆方向セルに輻輳ビットをセットさせて、輻輳が軽減されるまでそのチャネルのためのデータソースがそのセル速度を減少させることができる。
【0061】
本発明の第2の実施例を次に記載する。これは、図4のAを参照して上記した第1の実施例と比べてメモリ・アクセス動作の数を減少させることができる。この第2の実施例でもやはり、各マルチキャスト・セルを、図5に示すフォーマットを持つそれ自体のマルチキャスト記述子内に格納する。さらに、このマルチキャスト記述子のアドレスは、前述したように、各関連する受信キューRQに格納される。
【0062】
しかしながら、図8に示すように、この実施例においては、図4のAに示したように受信キュー内に単一のタイプの記述子を格納した第1の実施例と異なり、2つの異なるタイプの記述子が受信キューに格納され得る。
図8に示す第1のタイプの記述子は、ユニキャスト・セルを格納するために使用されるユニキャスト記述子UDESであり、図8自体に示されるように、そのセルのヘッダは2番目のワードに格納されそのセルのペイロードは3番目から14番目のワードに格納される。記述子の最後の2つのワードは使用されない。例によって、最初のワードは当該受信キュー内の次の記述子にアドレスするためのリンクを格納する。
【0063】
ユニキャスト・セルに関係するこの実施例の動作は図4のBを参照して前述したもとの同じである。したがって、ユニキャスト・セルが受信されると、それは受信キューの(図8のフォーマットにおける)最後の記述子内に格納され、その記述子はキュー・エンド・ポインタPE により指示される。次いで、新たなブロック(図4のBにおけるBi+1 )がその受信キュー内の次のセルのために確保され、この場合、確保されたブロックのアドレスはフリープールFPから得られ、先行する記述子(即ち、その中にユニキャスト・セルが格納されたばかりの記述子)のリンク・アドレスは、キュー・エンド・ポインタPE であるとして、確保されたデータブロックのアドレスにセットされる。
【0064】
図9において、この実施例でマルチキャスト・セルがデータユニット12により受信されると、それは図5に示したマルチキャスト記述子と同じフォーマットを持つそれ自体の別のマルチキャスト記述子内に格納される。しかしながら、この場合、図8に示したユニキャスト記述子UDESの代わりに、リンク記述子LDESが確保されたデータブロックBi+1 に格納される。この場合、以下の記載から明らかとなる理由により、キュー内の次のエントリーのために新たなデータブロックは確保されない。最後に受信したユニキャスト・セルを格納するデータブロックBi にたいするアクセスは要求されない。なぜなら、そのデータブロックBi に格納された記述子内のリンク・アドレスは、リンク記述子LDESを格納するために使用されたデータブロックBi+1 をすでに指しているからである。同様に、キュー・エンド・ポインタPE はリンク記述子LDESのアドレスをすでに格納しており、したがってこの点で更新される必要がない。しかしながら、図9に示すように、この実施例においてはキュー・エンド・ポインタPE はやはり「マルチキャスト・セルの数」フィールドを持っており、このフィールドは値1にセットされていて、その限りでは、キュー・エンド・ポインタPE により現在ポイントされているリンク記述子LDESは1つだけの関連するマルチキャスト記述子MDES1 を持っていることを示している。
【0065】
リンク記述子LDESの最初のワードは、後にその目的を説明する「マルチキャスト・セルの数」フィールドと「リンク・アドレス」フィールドを提供するために使用される。リンク記述子LDESの残りの15ワードは、15個の「マルチキャスト・アドレス」フィールドを提供するために使用される。図9に示す状態においては、単一の関連するマルチキャスト記述子MDES1 のみがあり、最初の「マルチキャスト・アドレス」フィールドのみが使用中でマルチキャスト記述子MDES1 のアドレスを格納している。
【0066】
同じ宛先ユニットに宛てられたさらなる複数のマルチキャスト・セルが、その宛先データユニットにたいする他のユニキャスト・セルの前に、データユニット12により連続的に受信されると、それぞれのさらなるマルチキャスト記述子MDESが生成され、リンク記述子LDESのさらなる連続的なマルチキャスト・アドレス・フィールドによりポイントされる。新たな記述子が受信キュー自体に加えられないので、キュー・エンド・ポインタPE のみがその「マルチキャスト・セルの数」フィールドに関して更新される必要があり、その「マルチキャスト・セルの数」フィールドは、2つのさらなるマルチキャスト記述子MDES2 及びMDES1 が格納されている図10に示した状態では、値3を持っている。
【0067】
リンク記述子LDESのマルチキャスト・アドレス・フィールドの1つにおける新たなマルチキャスト・アドレスを書き込む動作は、受信メモリ24の1つだけのメモリ・アクセスを要求する。こうして、処理中の受信マルチキャスト・セルが10個の宛先データユニットに宛てられた場合、当該受信キューを更新するために10回のメモリ・アクセスのみを行うことになる。
【0068】
マルチキャスト・トラフィックが大量にある場合は、次のユニキャスト・セルの前に15個より多いマルチキャスト・セルが同一の宛先ユニットに対して受信される可能性がある。この場合、図11の示す処理が行われる。16番目の連続的なマルチキャスト・セルが受信されると、上記と同様に別のマルチキャスト記述子MDES16がそのために生成される。しかしながら、元のリンク記述子(LDES1 で示されている)はすでに一杯であり、したがって、新たなマルチキャスト・セルのためのマルチキャスト記述子MDES16のアドレスをリンク記述子LDESに格納することは不可能である。この状況に対処するために、さらなるリンク記述子LDES2 を生成する必要があり、そのアドレスはフリープールFPから獲得される。元のリンク記述子LDES1 から新たなリンク記述子LDES2 への要求されたリンクを生成するために、新たなリンク記述子のアドレスがもとのリンク記述子LDES1 のリンク・アドレス・フィールドに格納され、元のリンク記述子LDES1 のマルチキャスト・セルの数は、キュー・エンド・ポインタPE のセル・フィールドの数に基づいて、15にセットされる。
【0069】
キュー・エンド・ポインタPE は次いで、新たなリンク記述子LDES2 のアドレスをポイントするように更新され、キュー・エンド・ポインタ内のマルチキャスト・セル・フィールドの数は1にセットされる。新たなリンク記述子LDES2 の最初のマルチキャスト・アドレス・フィールドは新たなマルチキャスト・セルのためのマルチキャスト記述子MDES16のアドレスを格納するために使用される。
【0070】
最後に、図12は、一例として、5個の連続のマルチキャスト・セルを受信した後に、ユニキャスト・セルをこの実施例において受信するときになにが起きるかを示している。この場合は、図4のBを参照して前述した状況とは対照的に、そのユニキャスト・セルのための予め確保された記述子は存在しない。こうして、そのユニキャスト・セルを格納するための新たなユニキャスト記述子UDESi+1 が図8に示すフォーマットで生成される。新たなユニキャスト記述子UDESi+1 のアドレスはリンク記述子LDESのリンク・アドレス・フィールドに格納され、キュー・エンド・ポインタPE のマルチキャスト・セル・フィールドの数の内容はリンク記述子LDESのマルチキャスト・セルの数のフィールドに転送される。
【0071】
新たなデータブロックBr が次いで、受信されるべき次のセルにために確保される。確保されたデータブロックBr のアドレスはキュー・エンド・ポインタPE と新たなユニキャスト記述子UDESi+1 のリンク・アドレス・フィールドに格納される。キュー・エンド・ポインタPE のマルチキャスト・セル・フィールドの数は0にリセットされる。
本実施例においては、出力部150及びマルチキャスト・ハンドリング部148は、基本的に前述の方法と同じ方法で、各受信キューから記述子を読む。各マルチキャスト記述子MDESの最初の2つのワード内のマルチキャスト処理されたビットMPB0 からMPB63は、そのマルチキャスト記述子を要求する最後の関係する受信キューが読まれるまで、マルチキャスト記述子を維持するために漸次リセットされる。
【0072】
この実施例は、マルチキャスト・トラフィックの量がユニキャスト・トラフィックに比べて非常に多い状況において特に適切である。15個までの連続マルチキャスト・セルのためのエントリーを単一のリンク記述子LDESを用いて受信キュー内に作ることができるからである。これにより、受信メモリ24内のメモリ資源を高効率で使用できる。(通常の場合のように)リンク記述子は(新たなリンク記述子の生成を要求しながら)オーバフローしないと仮定すると、当該受信キュー内のリンク記述子の最初に利用できるマルチキャスト・アドレス・フィールド内のマルチキャスト記述子のアドレスを格納するために、宛先データユニット当たり1回だけのメモリ・アクセス動作しか要求されない。さらに、同じリンク記述子LDESが使用されて連続するマルチキャスト・セルを登録する場合は、キュー・エンド・ポインタPE のマルチキャスト・セルの数だけが更新(増加)されることが必要であり、動作を高速化する。
【0073】
前述したように、本発明の実施例によるデータユニットにより実現されるマルチキャスティング処理は、データユニットがスイッチング・コントローラ(図1の20)の制御の下で同期的に動作する図1に示した種類の交換機で有利に使用される。そのような交換機においては、それから各データユニットの出力部150が各スイッチング・サイクル内のデータを転送することを許可される特定の受信キューRQは、交換機内のセルのコンテンションを避けるようにしてスイッチ・コントローラ20により決定できる。そのようなコンテンションは、さもなければ、スイッチング・ユニットの1つの出力ポートで生じ得る(なぜなら、2つのデータユニット入力部14が共に同じデータユニット出力部16にデータを送ることを要求するから)。
【0074】
スイッチング・コントローラ20は、スイッチを介して接続を決定して、そのようなコンテンションの問題を避けることができるので、(図1のクロス・コネクト・スイッチング・ユニット8により提供される)「スイッチング組織」は、(以下に説明するように、多分、セル・パイプライン・バッファは別にして)どのようなバッファリングも必要としない。これはスイッチング組織それ自体が低価格であり得ることを意味している。
【0075】
スイッチング・コントローラ20は各データユニット12の受信メモリ24内の受信キューRQ0 からRQ63に関係する情報に対するアクセスをし、この情報、特にキューのフィル・レベルと優先度、を用いて、交換機内で遭遇している輻輳の任意のキュー(又は、設けられている場合はサブキュー)を識別し、適切なときに、入力部のローカル・スケジューラ150aに登録されている制御情報を変更してそのような輻輳を軽減する。
【0076】
このようにして各スイッチング・サイクル内で各ソース・データ・ユニットのための宛先データユニットを指定すると同時に、スイッチング・コントローラ20が制御情報をクロス・コネクト・スイッチング・ユニット8に供給してその構成を適切にセットし、各ソース・データユニットからその宛先データユニットへの要求された接続を提供することが可能である。この接続は当該スイッチング・サイクルの期間の間存在する。スイッチングサイクル内で使用するための接続が確立すると、各ソース・データユニットの出力部150はその指定された宛先データユニットのためのキューから(スイッチング・サイクルの長さに依存する)1個以上のセルを読み、そのセルをそれが接続されているクロス・コネクト・スイッチング・ユニット8の入力ポートに転送する。セル全体(ヘッダ及びペイロード)は転送される。転送速度は、例えば、622Mbps(毎秒3890万16ビットワード)である。ヘッダにより運ばれるルーティング情報は宛先データユニットが宛先データポートを決定するために必要なので、ヘッダはペイロードと共に転送される。
【0077】
クロス・コネクト・スイッチング・ユニット8の入力部に到着するデータは、やはりスイッチング・コントローラ20により与えられる制御情報に従って、スイッチング・ユニットの適切な出力ポートに転送される。その出力ポートから、データは宛先データユニット12の出力部16に受信される。
図2を再度参照すると、宛先データユニット2において、受信セル・データは出力部16の送信メモリ26に格納される。それらのセルは再び異なるキューに格納されるが、この場合、それらのキューはデータユニットに接続された2つのデータポートDPx 及びDPx+1 にそれぞれ対応している。こうして、図2に示すように、送信メモリ26は、データポートDPx に対応する第1の送信キューTQx と、データポートDPx+1 に対応する第2の送信キューTQx+1 とを有する。各セルのための宛先データポートDPx 又はDPx+1 の識別は、そのセルにより運ばれるルーティング情報(セルアドレス)を用いて出力部16により確立されて、入力部14内のルックアップ・テーブル144aに類似の他のルックアップ・テーブルをアドレスする。
【0078】
送信キューは再び、多くの異なる方法でサブキューSQにサブ分割され得る。例えば、図2はデータポートDPx のための送信キューTQx が、受信キューRQ0 かRQ63の場合のように、セル優先度に従ってサブキューSQ0 からSQ3 に分割されていることを示している。これに替えて、図2は又、データポートDPx+1 のためのメイン送信キューTQx+1 が、そのデータポートDPx+1 に接続された異なる仮想チャネルVCW からVCZ にそれぞれ対応するサブキューSQW からSQZ に分割されていることを示している。
【0079】
サブキューのタイプの任意の適切な組合せが送信メモリ26で使用できることが理解される。クロス・コネクト・スイッチング・ユニット8から受信したセルをセル優先度に基づいて排他的に(即ち、データポート当たりに基づかないで)単純に送信メモリ26内に格納することも可能である。
したがって、図2のデータユニット12を採用する交換機のこの例では、交換は2つのステージで効果的に行われることがわかる。第1のステージでは、データポートに受信されたセルはデータユニット入力部14によりそれらのそれぞれの受信メモリ24に格納される。第1のステージではさらに、これらのセルはスイッチング組織により関連する宛先データユニットの出力部16に転送され、そこでそれぞれの送信メモリ26に格納される。第2のステージの交換は、セルが送信メモリ26から、当該データユニット12に接続されている終端ユニット22の1つを介してデータポートの1つに転送されるときに行われる。
【0080】
交換機における輻輳を減らしてより多くのセルをそれらの宛先データユニットに到達させるために、各データユニット12の出力部150及びクロス・コネクト・スイッチング・ユニット8が、ある時間に、データユニットに接続されているデータポートのそれぞれのライン速度(UNIライン速度)の和よりも速い速度で動作可能であることが有利である。例えば、出力部150及びクロス・コネクト・スイッチング・ユニット8はUNIライン速度の和の2倍で動作可能である。この場合は、スイッチング・コントローラ20は、出力部150とクロス・コネクト・スイッチング・ユニット8がクロックされる周波数を増大させる命令を発行することができ、それにより、短期間の間、これらのコンポーネントが上記のより速い速度で動作する。こうして、ソース・データユニットから宛先データユニットにスイッチするためのより多くの機会を与えることができる。このことは望ましい。スイッチング組織におけるコンテンションを避けることは、セルがあるソース・データユニットからあるスイッチング・サイクルの間転送できないことを意味しているからである。したがって、出力部及びスイッチング組織のコンポーネントをより速く動作させることにより、「追いつく(キャッチアップする)」機会を与えることができる。
【0081】
同じような方法で、上記のコンポーネントがクロックされる周波数を減少させて交換処理をUNIライン速度の和より小さい速度にスローダウンさせ、それによりスイッチング・コントローラ20がデータユニット入力部14のローカル・スケジューラ150a内の制御情報を更新可能にすることも望ましい。
図2のデータユニットは交換機全体に要求されるすべてのセルキューを実現できるということがわかるであろう。こうして、交換処理に関係するすべてのメモリは、各データユニットにおける同じ場所で実現でき、従来のもののように交換機全体にわたって分布されることはない。
【0082】
スイッチング・コントローラを使用して各スイッチングサイクル内でソース−宛先のパスを決定することは、それがコンテンドしているトラフィックソースの中のスイッチ資源と利用可能な帯域の公平な割り当てを確実化することを援助できるという点で有利である。スイッチング・コントローラは、それがソース−宛先のパスを決定する点で比較的複雑であり得る。例えば、スイッチング・コントローラは、以前の経験か将来のトラフィックの流れの状況をいかに予測するかを学習することができる、ニューラル・ネットワーク又は他の適応学習手段を含むことができる。これは、スイッチング・コントローラを、将来のトラフィック状態を予測してそれらを扱うための最良のソース−宛先間パスを決定する、単に反応的ではない先行学習的なものにできる。
【0083】
次に、交換機内で図2のデータユニット12と共に使用するための他のコンポーネントを図13から図17を参照してより詳細に記載する。
図13はデータユニット12間でデータを転送するために適切なクロス・コネクト・スイッチング・ユニット8のブロック図を示す。
クロス・コネクト・スイッチング・ユニット8は、一組の入力バッファ82と、一組のマルチプレクサ84と、一組の出力バッファ86とを含んでいる。ユニットの入力ポートIP当たりに1つの入力バッファ82と、1つのマルチプレクサ84と、1つの出力バッファ86がある。前述したように、各交換サイクルに対してすべてのソース−宛先間パスが予め決定され、且つすべてのセルキューはデータユニット内で実現されるので、入力バッファ82及び出力バッファ86は出力コンテンション問題を扱う必要はない。しかしながら、バッファ82及び86は、パイプラインニング/スループット/クロック周期の短縮の目的で有利に設けられてもよい。これらの目的は1セル分のデータを越えるので、要求されるメモリ量を予測できない。
【0084】
スイッチング・ユニットはさらに、マルチプレクサ84にそれぞれ対応しているポート選択レジスタ88を備えている。アドレスデコーダ90が設けられてレジスタ88へのアクセスを制御する。
図14はマルチプレクサ84とポート選択レジスタ88をより詳細に示す。簡単化のために、図14ではスイッチング・ユニットは4つの入力ポートIP0 からIP3 と4つの出力ポートOP0 からOP3 だけを持っていると仮定されている。この場合は4つのマルチプレクサ840 から843 があり、その各々は4つの入力IPO からIP3 と1つの出力とを有している。スイッチング・ユニットの4つの入力IPO からIP3 は(図14には示されていないそれぞれの入力バッファ820 から823 を介して)マルチプレクサに接続されて、各マルチプレクサの4つの入力の各々は入力ポートIP0 からIP3 の異なる1つからデータを受け取る。マルチプレクサ840 から843 のそれぞれの出力は(図14にやはり示されていない入力バッファ820 から823 を介して)スイッチング・ユニットのそれぞれの出力ポートOP0 からOP3 に接続されている。
【0085】
各マルチプレクサ840 から843 は関連するポート選択レジスタ880 から883 に接続されている。関連するポート選択レジスタ88に格納されている制御情報に応じて、各マルチプレクサ84はその入力の1つをその出力に接続し、それによりクロス・コネクト・スイッチング・ユニット8の入力ポートIPの1つからスイッチング・ユニットの出力ポートOPの1つへのデータ転送パスを提供する。
【0086】
図13において、ポート選択レジスタ88に格納されている制御情報はスイッチング・コントローラ20により変化させられることができる。そのスイッチング・コントローラ20は、アドレス情報をアドレスデコーダ90に加えることにより、どのポート選択レジスタ88が更新されるべきかを最初に選択し、次いで適切な新たな制御情報を選択されたポート選択レジスタ88に供給する。
【0087】
上記したように、スイッチング・コントローラ20はスイッチング・ユニットを直接制御して各スイッチングサイクル内で要求されたソース−宛先パスを設定してもよい。しかしながら、スイッチング・ユニットがスイッチング・コントローラ20により間接的に制御されることも可能である。これは、図6を参照して前記したように、スイッチング・ユニットを介して転送されるべき各セルに、そのセルの宛先データユニットを指定するルーティング・タグを添付しているソース・データ・ユニットにより行われる。この場合、スイッチング・ユニットは、各セルがユニットを通過するときにそのセルとともに受信されるルーティング・タグ情報を読み、したがって、ユニットは「セルフ・ルーティング」であり得る。換言すれば、スイッチング・ユニットはルーティング・タグ情報を採用して適切な内部入力ポート−出力ポート接続を確立する。
【0088】
図15は本発明の第2の態様を実施する、ルーング・タグ情報に依存するセルフ・ルーティングである、クロス・コネクト・スイッチング・ユニット108の各部を示すブロック図を示す。
図13のクロス・コネクト・スイッチング・ユニット8のコンポーネントと同じか又は実質的に対応している図15のセルフ・ルーティング・スイッチング・ユニット108のコンポーネントには同じ参照番号を付してある。こうして、図13のスイッチング・ユニットと同様に、図15のスイッチング・ユニット108は、n個の入力ポートの各々について、入力バッファ82と、マルチプレクサ84と、出力バッファ(図示していないが、図13の出力バッファ86と同様のもの)と、ポート選択レジスタ88とを有している。しかしながら、図15における各入力ポートIP0 からIPn-1 は、ルーティング回路1100 から110n-1 をさらに備えている。このルーティング回路は当該入力ポートのための入力バッファ82と、入力コントローラ112と、宛先レジスタ114とを含んでいる。
【0089】
スイッチング・ユニット108はさらにアドレス・デコーダ116とルーティング・コントローラ118を含んでいる。アドレス・デコーダ116はルーティング情報バス120により宛先レジスタ1140 から114n-1 の各々に接続されており、ポート選択バス122によりポート選択レジスタ880 から88n-1 の各々にも接続されている。ルーティング・コントローラ118は各ルーティング回路110の入力コントローラ112に接続されており(明瞭化のために、入力コントローラ112n-1 に対する接続のみが図15に示されている)、データ及び制御バス126によりポート選択レジスタ880 から88n-1 の各々にも接続されており、宛先レジスタ選択バス128により宛先レジスタ1140 から114n-1 の各々に接続されている。このルーティング・コントローラ118はまたアドレス・デコーダ116にも接続されている。
【0090】
図15のスイッチング・ユニットの動作を次に記載する。スイッチング・ユニット108が使用されている交換機でも、同期して動作し一連のスイッチング・サイクルを実行すると仮定されている。スイッチング・ユニット108の入力ポートの1つに到着する各セルはそれに添付されたルーティング・タグを有している。
【0091】
添付されたルーティング・タグを持つセルがスイッチング・ユニット108の入力ポートで受信されると、そのセルからのルーティング・タグ・バイトはその入力ポートのためのルーティング回路110の宛先選択レジスタ114に格納される。この動作は各入力ポートについて並列に実行されるので、現在のスイッチング・サイクルで転送されるすべてのセルのそれぞれのルーティング・タグは、データ・パケット(即ち、ルーティング・タグ・バイト)の最初のバイトが受信されるとすぐに宛先レジスタ1140 から114n-1 に格納される。
【0092】
データ・パケットの残りのバイト(即ち、セル自体のバイト)が続いて受信されると、ルーティング回路110の入力バッファ82に格納される。これらのバイトが格納されている間に、ルーティング・コントローラ118は、宛先レジスタ1140 から開始して宛先レジスタ114n-1 で終わるようにして、各宛先レジスタ1140 から114n-1 を読む。
【0093】
ルーティング.コントローラは、選択信号を宛先レジスタ・バス128を介して宛先レジスタに送ることにより、読まれるべき宛先レジスタ114を選択し、選択された宛先レジスタに格納されているルーティング・タグ情報は次いでルーティング情報バス120を介してアドレス・デコーダ116に配送される。アドレス・デコーダ116は受信したルーティング・タグ情報をポート選択レジスタ・アドレスに変換し、そのポート選択レジスタ・アドレスはポート選択レジスタ選択バス122を介してすべてのポート選択レジスタ880 から88n-1 に配送される。このポート選択レジスタ・アドレスは、ルーティング・タグ情報にしたがってポート選択レジスタ880 から88n-1 の1つを指定する。ポート選択アドレスがポート選択レジスタ88に供給されるのと同時に、ルーティング・コントローラ118は、データ及び制御バス126を用いて、制御情報をこれらのレジスタに供給する。この制御情報は、指定されたポート選択レジスタにより制御されたマルチプレクサ84のn個の入力のどれが選択されるべきか、即ち、どのマルチプレクサの入力がマルチプレクサの出力に接続されるべきか、を特定する。各マルチプレクサ84にたいするn個の入力はそれぞれn個のルーティング回路1100 から110n-1 に接続されているので、要求される制御情報は単に、その宛先レジスタが丁度読まれた特定のルーティング回路の番号である。ルーティング・コントローラ118は次いでロード信号を、データ及び制御バス126を介して、ポート選択レジスタに与え、これに応答して、ポート選択レジスタ・アドレスにより指定されたポート選択レジスタは制御情報を格納する。他のポート選択レジスタは制御情報を格納しない。
【0094】
例えば、入力ポートOP0 に対するルーティング回路1100 が“7”を含んでいると(即ち、入力ポートIP0 に現在受信されているセルのルーティング・タグが、そのセルが宛先データユニット127 に配信されるべきであると指定すると)、アドレス・デコーダ116は、ポート選択レジスタ887 を指定するポート選択アドレス“7”を 生成し、ルーティング・コントローラ118はデータ及び制御バス126上に制御情報“0”を出力し、それによりOP7 の出力ポートにたいするポート選択レジスタ887 は現在処理されているルーティング回路1100 に対応する制御情報“0”を格納する。このようにして、入力ポートIP0 から出力ポートOP7 へのデータ転送パスが確立される。
【0095】
ルーティング・コントローラ118は次いで入力ポートIP1 に対する次のルーティング回路1101 内の宛先レジスタ1141 の内容を読む。このレジスタに格納されているルーティング・タグが宛先データユニット12x を指定すると、アドレス・デコーダ116はポート選択レジスタ88x を指定してその中に制御情報“1”を書き込み、それにより、入力ポートIP1 から出力ポートOPx への、他のデータ転送パスを確立する。この処理は、すべての入力ポートがそれらのそれぞれの宛先出力ポートに向けられるまで繰り返される。
【0096】
n個の入力があるので、セル・ルーティング処理はn+1クロック・サイクルを要する。ATMセル内に53バイトあるので、n<53であれば入出力パスのすべてはセルのすべてのバイトが各入力ポートで受信される前に確立できる。
ルーティング・コントローラ118によりデータ転送パスが確立するとすぐに、セルデータは入力バッファ820 から82n-1 からマルチプレクサ840 から84n-1 に転送開始できる。このデータは次いで、各マルチプレクサ840 から84n-1 により、接続されたポート選択レジスタ88n から88n-1 により指定されたマルチプレクサ入力からマルチプレクサ出力に、そして宛先データユニットにたいする適切な出力ポートに転送される。
【0097】
ルーティング・コントローラ118が上記の方法で動作するとき、各ルーティング回路110内の入力バッファ82が1セル分のデータより大きい容量を持つことが必要である、ということが理解されるであろう。例えば、各入力バッファが2セル分のデータに等しい容量を持つ必要がある。しかしながら、チップ上に占める面積を減らすために、入力バッファの各々の容量は好ましくは最小化されるべきである。
【0098】
この問題を克服するために、データ転送パスがセルの到着前に確立されるようなことなるセル・ルーティング処理を採用することが可能である。これは各データユニットに各セルCi のルーティング・タグを使用させて、当該データユニットが同じスイッチング・ユニット入力ポートに供給するという、そのセルCi のためではなく次のセルCi+1 のためのルーティング情報Ri+1 を供給(フィードフォワード)することにより達成される。
【0099】
このフィード・フォワード・セル・ルーティング処理は、図16のAに示すように、各宛先レジスタ1140 から114n-1 が「二重バッファ化」された宛先レジスタ114’で置き換えられることを要求する。この二重バッファ化された宛先レジスタ114’は入力レジスタ114aと出力レジスタ114bとを備え、次のセルCi+1 のためのルーティング情報Ri+1 が入力レジスタ114aにより受信されている間に、出力レジスタ114bは現在のセルCi のためのルーティング情報Ri を保持する。現在のセルのすべてのデータが転送されると、次のセルにたいするルーティング情報は入力レジスタから出力レジスタに転送される。
【0100】
セル・ルーティング処理の開始時(図16のBを参照)に、入力ポートに対する宛先レジスタ114’0 から114’n-1 は初期化される必要がある。これは、各データユニット2に、そのデータユニットが同一の入力ポートに送信するであろう次のセル(最初の実際のデータセル)C1のためのルーティング情報RC1を指定する、添付されたルーティング・タグRTDCと、ヌル・ペイロードとを有するダミーセルDCを送らせることにより達成される。このダミーセルに替えて、特定の初期化セルでもよい。ダミーセルにより運ばれるルーティング情報RC1は、当該入力ポートにたいする二重バッファ化された宛先レジスタ114’の入力レジスタ114aで受信される。このルーティング情報RC1は直ちに、当該宛先レジスタの入力レジスタ114aから出力レジスタ114bに転送される。これらの動作はすべての入力ポートに対して並列に行われる。
【0101】
ルーティング・コントローラ118は次いですべての宛先レジスタを読み(即ち、出力レジスタ114bを読み)、ポート選択レジスタ88n から88n-1 内に必要な情報を格納して、最初の実際のデータ・セルC1が受信される前に、要求されたデータ転送パスを確立する。こうして、最初の実際のデータ・セルC1が受信されるとすぐに、その意図された出力ポートへの転送が開始できる。
【0102】
最初のデータ・セルC1はそのルーティング・タグRTC1内に2番目のデータ・セルC2のためのルーティング情報RC2を運んでおり、この情報は、最初のデータ・セルC1のデータの転送が継続している間、二重バッファ化された宛先レジスタ114’の入力レジスタ114aに格納される。各二重バッファ化された宛先レジスタ114’の出力レジスタ114bがルーティング・コントローラ118により読まれるとすぐに、最初のデータ・セルC1と共に受信された)2番目のデータ・セルのルーティング情報RC2は当該宛先レジスタの入力レジスタ114aから出力レジスタ114bに転送される。こうして、データ・セルの2番目のセットにたいするデータ転送パスは、データ・セルの最初のセットの転送が完了するとすぐに確立することができる。
【0103】
図17は、図15のクロス・コネクト・スイッチング・ユニット108と同様に、ルーティング・タグ情報に依存するセルフ・ルーティングである、本発明の第2の態様を実施する他のクロス・コネクト・スイッチング・ユニット208の各部を示すブロック図を示す。図17のクロス・コネクト・スイッチング・ユニット208のコンポーネントは図15のクロス・コネクト・スイッチング・ユニット108のコンポーネントと同一か実質的に対応しており、同一の参照番号を付してある。
【0104】
図17のクロス・コネクト・スイッチング・ユニット208と図15のクロス・コネクト・スイッチング・ユニット108との相違点は、別の入力ポートIP及び出力ポートOPを持つ代わりに、図17のスイッチング・ユニットは双方向ポートP0 及びPn-1 のみを有する。各双方向ポートPはバッファ92を介してそのポートに関係する入力バッファ82と宛先レジスタ114とに接続されている。さらに、各マルチプレクサ84はトライ・ステート・バッファ94を介してポートPの1つに接続されている。
【0105】
クロス・コネクト・スイッチング・ユニット208はさらにコントローラ118’を備えており、これは図14のルーティング・コントローラ118の機能だけではなく入出力制御機能をも実行する。
図17におけるクロス・コネクト・スイッチング・ユニット208は図15のクロス・コネクト・スイッチング・ユニット108と基本的に同一の仕方で動作する。しかしながら、交換機、例えば図1の交換機に採用されると、その交換機はそのスイッチング・サイクルの各々において2つのフェーズ(入力フェーズと出力フェーズ)を持つ必要がある。入力フェーズでは、クロス・コネクト・スイッチング・ユニット208のポートPは入力ポートとして働き、各データユニットはデータパケット(セル)をポートPの1つに転送する。これらのセルはクロス・コネクト・スイッチング・ユニット208の入力バッファ820 から82n-1 の内部に格納される。前述したようにセル・ルーティング・タグ内で運ばれているルーティング情報に基づいてセルが入力バッファに書き込まれると、これらのセルにたいする出力ポートの選択がなされる。スイッチング・サイクルのこの入力フェーズの間は、コントローラ118’はトライ・ステート・バッファ940 から94n-1 をディスエーブルにし、それによりマルチプレクサ840 から84n-1 は双方向ポートP0 からPn-1 から分離されている。
【0106】
次いで、スイッチング・サイクルの出力フェーズの間は、双方向ポートPが出力ポートとして採用され、セルは入力バッファ820 から82n-1 から、マルチプレクサ840 及びこの時はコントローラ118’によりイネーブルになっているトライ・ステート・バッファ940 から94n-1 を介して、それぞれの決定された出力ポートPに転送される。
【0107】
図15のクロス・コネクト・スイッチング・ユニット108の同じ転送速度を提供するために、図17のクロス・コネクト・スイッチング・ユニット208はデータユニット12に接続されたデータポートのそれぞれのライン・レート(UNIライン・レート)の和の2倍で動作できなければならないことがわかるであろう。例えば、UNIライン・レートの和が622Mbpsである場合、クロス・コネクト・スイッチング・ユニット208は1.2Gbpsで動作できなければならない。
【0108】
図17のクロス・コネクト・スイッチング・ユニット208は図15のクロス・コネクト・スイッチング・ユニット108に対して、ポートの全数が半分で済むという利点がある。
勿論、図2のデータユニット12は、双方向ポートを有するがセルフ・ルーティングではないスイッチング・ユニットでも使用可能である。
【0109】
上記した、本発明を実施するマルチキャスティング法は、図15及び図17に示したセルフ・ルーティング・コンポーネントを持っていて特に有利である。なぜなら、それはこれらのコンポーネント及びデータ・ユニット自体の設計を望ましく簡単にしたまま可能にするからである。特に、ルーティング・タグ・フォーマットは、マルチキャスト・セルとユニキャスト・セルとで同じである。
【0110】
セルフ・ルーティング・コンポーネントが、1つのソース・データ・ユニットがマルチキャスト・セルをすべての意図された宛先データユニットに同時に転送する専用のマルチキャスティング・サイクルで使用されるとすると、図6に示したものと異なるルーティング・タグ・フォーマットを採用する必要があるであろう。この異なるルーティング・タグ・フォーマットにおいては、その1例が図18に示されているが、ルーティング・タグは可変長(1バイト長又は9バイト長)のものになる。第1バイトの最上位ビットは、当該ルーティング・タグが添付されているセルがユニキャスト(即ち、単一の宛先データユニットに送られる)かマルチキャスト(複数の宛先ユニットに送られる)かを示すキャスト(cast)・タイプ・ビットCTである。キャスト・タイプ・ビットCTが(0)にリセットされると、これはユニキャスト・セルを示し、この場合はルーティング・タグは1バイト長である。1バイトルーティング・タグの低位6ビットUC0 からUC5 はユニキャスト動作のための宛先データユニットを指定する。
【0111】
他方、キャスト・タイプ・ビットCTが(1)にセットされると、これはマルチキャスト・セルを示し、ルーティング・タグは9バイト長である。ルーティング・タグの最後の8バイトは、図1の64個の異なる可能な宛先データユニット120 から1263にそれぞれ対応する64個のデータユニット指定ビットO0 からO63を与える。これらのビットの各々は、セットされると、その対応する宛先データユニットはマルチキャスト・セルを受信するべきことを指示する。
【0112】
スイッチング組織のコンポーネントは、ルーティング・タグ情報を使用して、専用のマルチキャスト・サイクルと通常のユニキャスト・サイクルの両方に適切な形態にセットできる。しかしながら、スイッチング組織コンポーネントによるルーティング・タグの処理は、ルーティング・タグの複雑なフォーマットの故に複雑である。
【0113】
さらに、セルフ・ルーティング・クロス・コネクトと共にマルチキャスティングを実現する上記の方法においては、マルティキャスティンが生じるときとユニキャスティングが行われるときとでデータパケット(ルーティング・タグ及びATMセル・データ)の長さが異なる。これは、マルチキャスト・サイクルの期間は、ユニキャストのみに使用される他のスイッチング・サイクルより長くなければならないことを意味する。本発明を実施するマルチキャスティング法においては、ルーティング・タグは固定長(例えば、図6のように1バイト)でよいので、ユニキャスト・サイクルより長い可変期間のマルチキャスト・サイクルを取り扱うための用意をする必要がない。
【0114】
上記のように、本発明を実施するデータユニット及び方法はATM交換機のような交換機においてマルチキャスティングを実現でき、スイッチング組織コンポーネントからマルチキャスティング処理を効果的に除去し、それによりスイッチング組織コンポーネントの設計を単純化しスイッチング組織コンポーネントにより要求される外部メモリ量の減少を可能にする。さらに、「マルチキャスティング・グループ」、即ち、ソース宛先ユニットがマルチキャストできる宛先データユニットは、本発明の実施例によるデータユニット内に限定されない。
【0115】
本発明の実施例によるデータユニット及び方法は、データユニット及びスイッチング組織のコンポーネントが、そのスイッチング組織を経由してセルを転送するためのスケジューリングを決定するスイッチング・コントローラにより完全に制御されるような交換機における使用に特に適している。スイッチング組織は本質的にメモリがないので、スイッチング組織に輻輳はない。
【0116】
本発明の実施例によるデータユニット及び方法は、交換機のスイッチング組織内に、同期クロス・コネクト・スイッチを有する交換機に有利に採用される。しかしながら、本発明の実施例によるデータユニットは、例えば、マトリックス、デルタ及びクロス(Clos) タイプを含むメモリに基づく交換機といった、宛先/ 優先度/ トラフィック・クラス・キューを使用する他の形態の交換機にも適用可能である。
【0117】
上記の実施例はATMセルを交換するATMネットワークで使用することを意図しているが、本発明は他の実施例においてデータがパケットの形態である任意の通信ネットワークに適用できることは明らかである。
【図面の簡単な説明】
【図1】本発明の実施例による、データユニットを含むATM交換機のブロック図である。
【図2】図1の交換機内のデータユニットの1つの各部の示す概略図である。
【図3】図2のデータユニット内のそれぞれの記述子内へのATMセルの格納を示す概略図である。
【図4】Aは本発明の第1の実施例で採用された記述子の第1のタイプのフォーマットを示す概略図であり、Bは記述子を生成する動作を示す概略図である。
【図5】マルチキャスト・セルを格納するための、第1の実施例で採用された記述子の第2のタイプのフォーマットを示す概略図である。
【図6】図2のデータユニットにより適用されるルーティング・タグのフォーマットを示す概略図である。
【図7】図5に示した記述子の第2のタイプの変形された形式を示す概略図である。
【図8】ユニキャスト・セルを格納するための、本発明の第2の実施例で採用された記述子の第1のタイプのフォーマットを示す概略図である。
【図9】第2の実施例において行われる動作を示す概略図である。
【図10】第2の実施例において行われる動作を示す概略図である。
【図11】第2の実施例において行われる動作を示す概略図である。
【図12】第2の実施例において行われる動作を示す概略図である。
【図13】図2のデータユニットでの使用に適切なクロス・コネクト・スイッチイング・ユニットのブロック回路図である。
【図14】図13のスイッチイング・ユニットの各部をより詳細に示す図である。
【図15】本発明の上記第3の態様を実施し図2のデータユニットでの使用に適切な、第1のクロス・コネクト・スイッチング・ユニットを示すブロック図である。
【図16】A及びBは図15のスイッチング・ユニットに対する変形を説明するための概略図である。
【図17】本発明の上記第3の態様を実施し図2のデータユニットでの使用に適切な、第2のクロス・コネクト・スイッチング・ユニットを示すブロック図である。
【図18】本発明を具体化するものではない、マルチキャスティング法で使用されるルーチング・タグの、図6に対応する概略図である。
【図19】従来のATM交換機を示すブロック図である。
【符号の説明】
8…クロス・コネクト・スイッチング・ユニット
10…交換機
12…データユニット
14…入力ポート
16…出力ポート
20…スイッチング・コントローラ
22…終端ユニット
24…受信メモリ
Claims (24)
- 受信したデータパケットをメモリ手段に格納させるパケット格納手段と、
データパケットの所定の第1のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第1レジスタ手段内に作成するように動作可能で、且つ、データパケットの所定の第2のカテゴリに属する各データパケットを受信すると、当該パケットに対応するエントリーを第2レジスタ手段内に作成するように動作可能であるパケット登録手段と、
受信されたデータパケットが前記第1及び第2のカテゴリの両方に属するマルチキャスト・パケットである場合に、前記パケット登録手段に当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第1及び第2のレジスタ手段内に作成させるように動作可能なマルチキャスト・ハンドリング手段と、
前記第1及び第2のレジスタ手段の各々にたいして、エントリーが作成された順序で当該レジスタ手段内のエントリーを読むことが可能で、各エントリーの読みにたいして、前記メモリ手段から対応するデータパケットを読み出して出力すことが可能なパケット出力手段と、
を含み、
前記受信されたデータパケットは、前記パケット出力手段により出力された後にそれぞれの宛先に従ってカテゴライズされ、前記レジスタ手段の各々は異なる宛先に対応するようにした、
データパケットを受け取りそれらをパケット交換回路に配信するデータ
ユニット。 - 前記第1及び第2のカテゴリに加えてデータパケットのさらに所定のカテゴリを有し、且つデータパケットの各異なるカテゴリのためのレジスタ手段を有し、
前記マルチキャスト・ハンドリング手段は、マルチキャスト・パケットが受信されると、前記パケット登録手段に、前記パケットが属する各カテゴリのために前記レジスタ手段内に当該パケットに対応するエントリーを作成させるように働く、請求項1記載のデータユニット。 - 前記レジスタ手段の各々はファースト・イン・ファースト・アウト機構を持つキューの形態になっている、請求項1又は2に記載のデータユニット。
- 前記受信データパケットがマルチキャスト・パケットの場合は、前記マルチキャスト・ハンドリング手段は、前記パケット格納手段に前記メモリ手段内の単一の位置に前記マルチキャスト・パケットを格納させ、前記マルチキャスト・パケットが属する各カテゴリのための前記レジスタ手段内に前記パケット登録手段により作成された、前記マルチキャスト・パケットに対応するエントリーに、前記単一の位置を指し示すポインタを含ませるようにした、請求項1から3のいずれか一項に記載のデータユニット。
- 前記メモリ手段及び前記レジスタ手段の各々は同一の記憶ユニットを形成する、請求項1から4のいずれか一項に記載のデータユニット。
- データパケットの前記カテゴリの1つだけに属するユニキャスト・パケットである各データパケットのために、そのユニキャスト・パケットに対応するエントリーはそのパケット自体の少なくとも幾らかのデータを含む、請求項5記載のデータユニット。
- 前記パケット格納手段は、記憶ユニットのデータブロックで自由に使用できるものを登録するために、データブロック内に前記記憶ユニットを組織化し且つフリープール手段を含み、前記パケット格納手段は、データパケットが受信されると、そのパケットを使用が自由であるとして前記フリープールにより登録された前記データブロックの1つに割り当てるように動作可能であり、ユニキャスト・パケットに割り当てられたデータブロックは、そのパケットに対応する前記エントリーが前記パケット出力手段により、その中でエントリーが作成された前記レジスタ手段から読まれると、前記フリープール手段により登録されるようにした、請求項5又は6に記載のデータユニット。
- 前記マルチキャスト・ハンドリング手段は、マルチキャスト・パケットに割り当てられたデータブロックの前記フリープールによる再登録を、そのマルチキャスト・パケットに対応する前記エントリーの各々が前記パケット出力手段により読み出されるまで、禁止するように動作可能である、請求項7に記載のデータユニット。
- 前記マルチキャスト・パケットのデータはそのパケットに割り当てられたデータブロック内のマルチキャスト記述子に格納され、そのマルチキャスト記述子はデータパケットの異なるカテゴリにそれぞれ対応するマルチキャスト処理されたビットを含み、
前記マルチキャスト・ハンドリング手段は、マルチキャスト・パケットが受信されると、当該マルチキャスト・パケットが属するカテゴリにそれぞれ対応するマルチキャスト処理されたビットを第1の状態にプリセットし、残りのマルチキャスト処理されたビットを前記第1の状態と異なる第2の状態にプリセットするように動作可能であり、且つ前記レジスタ手段の1つの中のマルチキャスト・パケットに対応するエントリーが前記出力手段から読み出されると、そのレジスタ手段に対応するマルチキャスト処理されたビットを前記第2の状態に変更し、前記マルチキャスト処理されたビットのすべてが前記第2の状態を持つことを検出すると、そのマルチキャスト・パケットに割り当てられたデータブロックを前フリープールに戻させるように動作可能である、請求項8記載のデータユニット。 - マルチキャスト・パケットに対応する前記エントリーの各々は前記データブロックの1つに格納されたリンク記述子内で作成され、2つの連続するユニキャスト・パケットの間で受信された少なくとも2つの連続するマルチキャスト・パケットのそれぞれ対応するエントリーは、同一のリンク記述子内に格納できる、請求項7から9のいずれか一項に記載のデータユニット。
- 受信されたデータパケットはそれらのそれぞれの優先度にしたがってサブカテゴリ化され、少なくとも1つのカテゴリに対するレジスタ手段は異なる優先度のサブカテゴリにそれぞれ対応する複数のサブレジスタ手段に分割され、前記パケット登録手段は、前記1つのカテゴリに属するデータパケットが受信されると、当該パケットが属する優先度のサブカテゴリに対応する前記サブレジスタ手段の上記1つの中に、そのデータパケットに対応する前記エントリーを作成するように動作可能である、請求項1から10の何れか一項に記載のデータユニット。
- 前記パケット出力手段は優先順位で前記サブレジスタ手段を選択し、各選択されたサブレジスタ手段にたいして、そのデータパケットを出力するように動作可能であり、そのデータパケットのそれぞれの対応するエントリーは、それらのエントリーが作成された順序で当該サブレジスタ手段内にある、請求項11記載のデータユニット。
- 前記出力手段は各データパケット出力にルーティング・タグを添付するように動作可能であり、それにより、そのルーティング・タグはパケットの前記宛先を識別する情報を含んでいる、請求項1から12のいずれか一項に記載のデータユニット。
- 前記出力手段は各データパケット出力に、出力されるべき次のデータパケットの前記宛先を識別する情報を含むルーティング・タグを添付するように動作可能である、請求項1から12のいずれか一項に記載のデータユニット。
- 前記ルーティング・タグは固定長である、請求項13又は14に記載のデータユニット。
- 前記データパケットは各々、1つ以上のATMセルを備えている、請求項1から15のいずれか一項に記載のデータユニット。
- 前記出力手段は、マルチキャスト・パケットに対応するエントリーがそのパケットの前記宛先の1つに対応する前記レジスタ手段から読まれると、そのパケット出力のヘッダ部又は各ATMセルに、その宛先に対応するルーティング情報を含ませるように動作可能である、請求項1から16のいずれか一項に記載のデータユニット。
- 各々が請求項1から17のいずれか一項に記載のデータユニットである、複数のデータユニットと、
前記データユニットの各々の前記出力手段に接続されて、当該データユニットにより出力されたデータパケットを受け取り、それらを前記データユニットの選択されたさらなる1つに転送するスイッチング手段とを備える交換機。 - 前記データユニットと前記スイッチング手段は同期的に動作して一連のスイッチング・サイクルを実行し、前記交換機はさらに、前記データユニットに接続されて、各スイッチング・サイクル内で当該ユニットの出力手段により前記エントリーの1つがそこから読まれるべき、各データユニットのレジスタ手段を選択するスイッチング制御手段をさらに備えている、請求項18記載の交換機。
- 前記スイッチング手段はクロス・コネクト・スイッチング・ユニットを備えている、請求項18に記載の交換機。
- データユニットにおいてデータパケットを受信し、それらをメモリ手段に格納し、
そのデータパケットの所定の第1のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第1のレジスタ手段内に作成し、所定の第2のカテゴリに属する各データパケットが受信されると、当該パケットに対応するエントリーを第2のレジスタ手段内に作成し、受信データパケットが前記第1及び第2のカテゴリの両方に属するマルチキャスト・パケットの場合に、当該マルチキャスト・パケットに対応するそれぞれのエントリーを前記第1及び第2のレジスタ手段内に作成し、そして
前記第1及び第2のレジスタの各々に対して、当該レジスタ手段内のエントリーをそれらが作成された順序で読み、各エントリーの読みにたいして、メモリ手段から対応するデータパケットを読み出してこれをデータユニットから出力する、
というステップを備え、
前記受信されたデータパケットは、前記データユニットから出力された後にそれぞれの宛先に従ってカテゴライズされ、前記レジスタ手段の各々は異なる宛先に対応するようにした、
パケット交換機のデータユニットで使用する、マルチキャスティング・データパケット方法。 - ルーティング情報を含むデータパケットを交換するクロス・コネクト・スイッチング・デバイスであって、
複数のポートと、
複数のデータ転送パスを同時に提供するように選択的に制御可能なデータ転送手段であって、各パスは前記複数のポートから選択された入力ポートと出力ポートとを有し、前記入力ポートに受信されたデータパケットを前記出力ポートに通過させるように働く、データ転送手段と、
データパケットが前記ポートの1つでそのデバイスにより受信されると、そのパケットに、前記入力ポートとしてのそのポートを有し、その前記出力ポートとして前記ルーティング情報に依存してセルフルーチング手段により選択されたポートのさらなる1つを有する前記データ転送パスの一つを割り当てるように動作可能なセルフ・ルーチング手段と、
を備え、
前記デバイスの各ポートで受信されたデータパケットは、当該ポートにより受信されるべき次のデータパケットにたいするルーティング情報を含み、前記セルフ・ルーチング手段は各データパケットと共に受信されたルーチング情報を採用して、次のデータパケットのためのデータ転送パスを割り当てるように動作可能である、
クロス・コネクト・スイッチング・デバイス。 - 前記複数のポートのいくつかは、その各々がデータパケットのみを受信するためのそのデバイスの入力ポート専用であり、前記複数のポートの他方は、その各々がデータパケットのみを出力するためのそのデバイスの出力ポート専用である、請求項22に記載のデバイス。
- 前記ポートの少なくとも1つは、前記データ転送パスの一つの前記入力ポートとして又は前記出力ポートとして選択され得る双方向ポートである、請求項22に記載のデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9617100:4 | 1996-08-14 | ||
GB9617100A GB2316572B (en) | 1996-08-14 | 1996-08-14 | Multicasting in switching apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1093589A JPH1093589A (ja) | 1998-04-10 |
JP4024904B2 true JP4024904B2 (ja) | 2007-12-19 |
Family
ID=10798494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21936997A Expired - Fee Related JP4024904B2 (ja) | 1996-08-14 | 1997-08-14 | データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6349097B1 (ja) |
JP (1) | JP4024904B2 (ja) |
GB (1) | GB2316572B (ja) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2326054B (en) * | 1997-06-04 | 2002-08-07 | Roke Manor Research | Broadband telecommunications switch |
CA2239133C (en) * | 1998-05-28 | 2007-08-28 | Newbridge Networks Corporation | Multicast methodology and apparatus for backpressure - based switching fabric |
US6542496B1 (en) * | 1998-06-30 | 2003-04-01 | Hitachi, Ltd. | Packet switching method and apparatus thereof |
DE69809224T2 (de) * | 1998-08-28 | 2003-08-28 | Ibm | Vermittlungsvorrichtung mit wenigstens einem Vermittlungskern-Zugriffselement zur Verbindung von verschiedenen Protokolladaptern |
AT408172B (de) * | 1998-12-01 | 2001-09-25 | Ericsson Austria Ag | Verfahren zur konfigurierung einer netzwerksabschluss-einheit |
GB9828143D0 (en) * | 1998-12-22 | 1999-02-17 | Power X Limited | Distributed hierarchical scheduling and arbitration for bandwidth allocation |
US7382736B2 (en) | 1999-01-12 | 2008-06-03 | Mcdata Corporation | Method for scoring queued frames for selective transmission through a switch |
US6560242B1 (en) * | 1999-04-16 | 2003-05-06 | Alcatel Canada Inc. | Method and apparatus for connection format conversion in a communications network |
US6671274B1 (en) * | 1999-06-30 | 2003-12-30 | Cisco Technology, Inc. | Link list operable to increase memory bandwidth in a transmission system |
US6560237B1 (en) * | 1999-07-15 | 2003-05-06 | 3Com Corporation | Packet order assurance mechanism |
US7164683B1 (en) * | 1999-09-29 | 2007-01-16 | Northrop Grumman Corporation | Virtual path asynchronous transfer mode switching in a processing satellite communications system |
JP3518441B2 (ja) * | 1999-10-01 | 2004-04-12 | 日本電気株式会社 | ユニキャスト/マルチキャスト方式 |
US6625148B1 (en) * | 1999-11-18 | 2003-09-23 | 3Com Corporation | Self routing interconnect cross-switch |
US6754211B1 (en) * | 1999-12-01 | 2004-06-22 | Mosaid Technologies, Inc. | Method and apparatus for wire speed IP multicast forwarding |
GB9928503D0 (en) * | 1999-12-03 | 2000-02-02 | Ibm | Resource allocation in data processing systems |
KR100340039B1 (ko) * | 1999-12-23 | 2002-06-12 | 오길록 | 멀티프로토콜 레이블 스위칭 망의 에지 라우터에서의분리/재결합 패킷 메모리 제어장치 |
US6584518B1 (en) * | 2000-01-07 | 2003-06-24 | International Business Machines Corporation | Cycle saving technique for managing linked lists |
JP3667586B2 (ja) | 2000-02-28 | 2005-07-06 | 日本電気株式会社 | マルチキャストパケット転送装置、マルチキャストパケット転送システム及び記憶媒体 |
US6731645B1 (en) * | 2000-02-29 | 2004-05-04 | International Business Machines Corporation | Methods, switches, systems, and computer program products for fair transmission of data received at multiple inputs in the order received in a queued memory switch |
US6813274B1 (en) * | 2000-03-21 | 2004-11-02 | Cisco Technology, Inc. | Network switch and method for data switching using a crossbar switch fabric with output port groups operating concurrently and independently |
JP4588259B2 (ja) | 2000-09-11 | 2010-11-24 | 富士通株式会社 | 通信システム |
US6993024B1 (en) * | 2000-11-16 | 2006-01-31 | Chiaro Networks, Ltd. | System and method for router multicast control |
US6865152B2 (en) * | 2000-12-15 | 2005-03-08 | Intel Corporation | Method and apparatus for transmitting packets onto a network |
US7002980B1 (en) * | 2000-12-19 | 2006-02-21 | Chiaro Networks, Ltd. | System and method for router queue and congestion management |
US6885672B1 (en) * | 2000-12-20 | 2005-04-26 | Bellsouth Intellectual Property Corporation | System and method for provisioning virtual circuit orders on an asynchronous transfer mode subnetwork |
US6819675B2 (en) * | 2000-12-28 | 2004-11-16 | International Business Machines Corporation | Self-route multi-memory expandable packet switch with overflow processing means |
US7142515B2 (en) * | 2001-01-11 | 2006-11-28 | International Business Machines Corporation | Expandable self-route multi-memory packet switch with a configurable multicast mechanism |
FR2825866B1 (fr) * | 2001-06-12 | 2003-09-12 | France Telecom | Procede de transport de paquets a longueur variable dans des trames de circuits temporels |
US7028098B2 (en) * | 2001-07-20 | 2006-04-11 | Nokia, Inc. | Selective routing of data flows using a TCAM |
US8935333B2 (en) * | 2001-08-09 | 2015-01-13 | International Business Machines Corporation | Implementing multicast on a system area network channel adapter |
KR100459036B1 (ko) * | 2001-12-18 | 2004-12-03 | 엘지전자 주식회사 | 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 |
US7392355B2 (en) * | 2002-07-09 | 2008-06-24 | International Business Machines Corporation | Memory sharing mechanism based on priority elevation |
US7397809B2 (en) * | 2002-12-13 | 2008-07-08 | Conexant Systems, Inc. | Scheduling methods for combined unicast and multicast queuing |
US7346068B1 (en) | 2002-12-13 | 2008-03-18 | Cisco Technology, Inc. | Traffic management scheme for crossbar switch |
US7023813B2 (en) * | 2002-12-31 | 2006-04-04 | Motorola, Inc. | Methods for managing a pool of multicast addresses and allocating addresses in a communications system |
US7366780B2 (en) * | 2002-12-31 | 2008-04-29 | Motorola, Inc. | System and method for controlling and managing sessions between endpoints in a communications system |
KR100497866B1 (ko) * | 2003-05-20 | 2005-06-29 | 엘지전자 주식회사 | 에이티엠 셀 라우팅 방법 |
US7234079B2 (en) * | 2003-07-11 | 2007-06-19 | Agency For Science, Technology & Research | Method and system for enabling recovery of data stored in a computer network; a method and a system for recovering data stored in a computer network |
JP4316349B2 (ja) | 2003-10-27 | 2009-08-19 | 富士通株式会社 | パケット転送経路制御装置および制御プログラム |
US20050157719A1 (en) * | 2004-01-20 | 2005-07-21 | Robotham Robert E. | Method and apparatus for multicasting of cell or frame data |
JP4394988B2 (ja) * | 2004-03-19 | 2010-01-06 | 富士通株式会社 | パケット読出し制御方法及び装置 |
JP4311312B2 (ja) * | 2004-09-10 | 2009-08-12 | 日本電気株式会社 | 時系列データ管理方法およびプログラム |
US7873056B2 (en) * | 2004-11-18 | 2011-01-18 | Nec Corporation | Switch device, switching method and switch control program |
US8588210B2 (en) * | 2005-07-22 | 2013-11-19 | Motorola Solutions, Inc. | Method and apparatus for floor control in a communication system |
JP4992296B2 (ja) * | 2006-05-30 | 2012-08-08 | 株式会社日立製作所 | 転送処理装置 |
FR2903794B1 (fr) * | 2006-07-13 | 2008-09-05 | Coupling Wave Solutions Cws Sa | Procede de modelisation de l'activite de commutation d'un circuit numerique |
KR20080034065A (ko) * | 2006-10-13 | 2008-04-18 | 삼성전자주식회사 | 다중 채널 입력 큐 스위치 장치와 방법 |
JP2009177256A (ja) * | 2008-01-21 | 2009-08-06 | Fujitsu Ltd | パケットスイッチ装置およびパケットスイッチ方法 |
JP5104717B2 (ja) * | 2008-10-23 | 2012-12-19 | 富士通株式会社 | データ配信装置、中継装置、データ配信方法およびデータ配信プログラム |
ES2363942T3 (es) * | 2008-12-19 | 2011-08-19 | Alcatel Lucent | Elemento de red escalable con funcionalidad de segmentación y reensamblaje (sar) para conmutar señales de multiplexación por división de tiempo. |
US20160261517A1 (en) * | 2013-11-11 | 2016-09-08 | Nec Corporation | Device, session processing quality stabilization system, priority processing method, transmission method, relay method, and program |
US10320952B2 (en) * | 2016-05-16 | 2019-06-11 | Mellanox Technologies Tlv Ltd. | System-wide synchronized switch-over of multicast flows |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4661947A (en) * | 1984-09-26 | 1987-04-28 | American Telephone And Telegraph Company At&T Bell Laboratories | Self-routing packet switching network with intrastage packet communication |
CA1297567C (en) * | 1987-02-06 | 1992-03-17 | Kazuo Hajikano | Self routing-switching system |
FR2659819B1 (fr) * | 1990-03-14 | 1992-05-29 | Alcatel Nv | Reseau de commutation a trajets multiples et a autoacheminement pour la commutation de cellules a multiplexage temporel asynchrone. |
US5166926A (en) * | 1990-12-18 | 1992-11-24 | Bell Communications Research, Inc. | Packet address look-ahead technique for use in implementing a high speed packet switch |
JP3064650B2 (ja) * | 1992-03-27 | 2000-07-12 | 株式会社日立製作所 | 同報通信装置 |
US5377182A (en) * | 1993-08-18 | 1994-12-27 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Non-blocking crossbar permutation engine with constant routing latency |
DE69433109D1 (de) * | 1994-04-28 | 2003-10-09 | Hewlett Packard Co | Mehrfachsendeeinrichtung |
US5671222A (en) * | 1994-06-06 | 1997-09-23 | Lucent Technologies Inc. | Multicast routing in self-routing multistage networks |
US5436886A (en) * | 1994-07-14 | 1995-07-25 | Northern Telecom Limited | ATM switch in dual switch plane operation |
US5528588A (en) * | 1994-09-14 | 1996-06-18 | Fore Systems, Inc. | Multicast shared memory |
DE69533853T2 (de) * | 1994-10-27 | 2005-05-19 | Marconi Intellectual Property (Ringfence) Inc., Warrendale | Methode und Apparat für Mehrfachsendung von ATM-Zellen |
GB9509484D0 (en) * | 1995-05-10 | 1995-07-05 | Gen Datacomm Adv Res | Atm network switch |
AU6501496A (en) * | 1995-07-19 | 1997-02-18 | Ascom Nexion Inc. | Point-to-multipoint transmission using subqueues |
JP2842522B2 (ja) * | 1995-12-06 | 1999-01-06 | 日本電気株式会社 | Atmスイッチ及びその制御方法 |
US5898687A (en) * | 1996-07-24 | 1999-04-27 | Cisco Systems, Inc. | Arbitration mechanism for a multicast logic engine of a switching fabric circuit |
-
1996
- 1996-08-14 GB GB9617100A patent/GB2316572B/en not_active Expired - Fee Related
-
1997
- 1997-06-05 US US08/866,252 patent/US6349097B1/en not_active Expired - Lifetime
- 1997-08-14 JP JP21936997A patent/JP4024904B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2316572A (en) | 1998-02-25 |
US6349097B1 (en) | 2002-02-19 |
JPH1093589A (ja) | 1998-04-10 |
GB2316572B (en) | 2000-12-20 |
GB9617100D0 (en) | 1996-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4024904B2 (ja) | データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機 | |
JP4006205B2 (ja) | 別々の出力バッファを備えたスイッチング構成および方法 | |
JP3853920B2 (ja) | 交換機、クロスコネクト・スイッチング装置、接続装置、および、交換機におけるルーティング方法 | |
JP4080888B2 (ja) | 別々の出力を有するスイッチング機構及び方法 | |
US6426957B1 (en) | Asynchronous transfer mode based service consolidation switch | |
US5991295A (en) | Digital switch | |
EP0785698B1 (en) | Buffering of multicast cells in switching networks | |
EP1064761B1 (en) | Communication system and method for scheduling multiple and simultaneous connections in a communication system | |
EP0778686B1 (en) | ATM switch with input and output ports | |
US6768717B1 (en) | Apparatus and method for traffic shaping in a network switch | |
JPH07321822A (ja) | マルチキャスティング機能を備えた装置 | |
JPH10242999A (ja) | トラフィック成形装置 | |
JPH07321823A (ja) | マルチキャスティング機能を備えた装置 | |
US5742597A (en) | Method and device for multipoint switching and arbitration in output-request packet switch | |
US6463485B1 (en) | System for providing cell bus management in a switch platform including a write port cell count in each of a plurality of unidirectional FIFO for indicating which FIFO be able to accept more cell | |
JP2002057719A (ja) | 通信スイッチにおけるパケット再組立てのための方法および装置 | |
US8271672B1 (en) | Guaranteed bandwidth memory apparatus and method | |
JPH077520A (ja) | ローカルネットワークおよびブリッジ素子 | |
JP3919341B2 (ja) | 非同期転送モード交換装置 | |
EP1198098B1 (en) | Switching arrangement and method with separated output buffers | |
JP4504606B2 (ja) | ネットワークスイッチにおいてトラフィックを成形する装置及び方法 | |
KR20010018534A (ko) | 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조 및 그 처리방법 | |
CHEN | SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF ELECTRICAL ENGINEERING | |
JPH11510327A (ja) | 非同期転送モードベースドサービス統合交換機 | |
JPH11510324A (ja) | ペースカウンタを用いた帯域幅割付けの制御 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070319 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071004 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101012 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101012 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101012 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111012 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111012 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111012 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111012 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121012 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121012 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131012 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |