(57)【要約】【課題】ＡＴＭスイッチのバッファ容量を容易に拡張することが可能な共通バッファ型ＡＴＭスイッチを提供すること。【解決手段】ＡＴＭスイッチ１００は、任意の番号が付された入力ポート１０〜１３、入力ポートからのＡＴＭセルをセル単位毎に記憶するバッファ３０１、入力ポートに対応して任意の番号が付された出力ポート３０〜３３、セルバッファの空き容量をセル単位で管理し、この結果得られた情報を処理して制御情報を出力する制御部３０３を持つ。所定のスイッチング動作を行なう通常モードと、入力ポートの特定の番号から入力されたセルがこれと同一の番号の出力ポートから出力される直進モードとを有する。少なくとも最終段に接続されるＡＴＭスイッチのみを通常モードで動作させ、最終段以外のＡＴＭスイッチを直進モードで動作させるようにする。【選択図】　　　図２０
2004040834.tif 000002
【特許請求の範囲】
【請求項１】
　少なくとも第１のＡＴＭスイッチと、第２のＡＴＭスイッチとを縦続接続してなる共通バッファ型ＡＴＭスイッチにおいて、
　前記第１、第２のＡＴＭスイッチの各々が、
　各々任意の番号が割り振られ、固定長のＡＴＭセルを入力する複数の入力手段と、
　この入力手段からのＡＴＭセルをＡＴＭセル単位ごとに記憶するための記憶手段と、
　前記入力手段に対応して各々任意の番号が割り振られ、前記記憶手段からＡＴＭセルをＡＴＭセル単位ごとに取り出して出力する複数の出力手段と、
　前記記憶手段の空き容量をＡＴＭセル単位で管理し、この管理の結果得られた情報を処理して制御情報を出力するための管理手段とを具備して、
　所定のスイッチング動作を行なう通常モードと、前記入力手段の特定の番号から入力されたＡＴＭセルがこの特定の番号と同一番号を有する前記出力手段から出力される直進モードを含む複数の動作モードを有し、
　前記少なくとも第１のＡＴＭ及び第２のＡＴＭスイッチのうち、少なくとも最終段に接続されるＡＴＭスイッチのみを前記通常モードで動作させ、最終段以外のＡＴＭスイッチを前記直進モードで動作させるようにしたことを特徴とする共通バッファ型ＡＴＭスイッチ。
【請求項２】
　少なくとも第１のＡＴＭスイッチと、第２のＡＴＭスイッチとを縦続接続してなる共通バッファ型ＡＴＭスイッチであって、
　前記第１、第２のＡＴＭスイッチの各々が、
　各々任意の番号が割り振られ、固定長のＡＴＭセルを入力する複数の入力手段と、
　この入力手段からのＡＴＭセルをＡＴＭセル単位ごとに記憶するための記憶手段と、
　前記入力手段に対応して各々任意の番号が割り振られ、前記記憶手段からＡＴＭセルをＡＴＭセル単位ごとに取り出して出力する複数の出力手段と、
　前記記憶手段の空き容量をＡＴＭセル単位で管理し、この管理の結果得られた情報を処理して制御情報を出力するための管理手段とを具備し、
　前記少なくとも第１のＡＴＭ及び第２のＡＴＭスイッチのうち、少なくとも最終段に接続されるＡＴＭスイッチについては、所定のスイッチング動作を行わせると共に、最終段以外のＡＴＭスイッチについては、前記入力手段の特定の番号から入力されたＡＴＭセルがこの特定の番号と同一番号を有する前記出力手段から出力されるように動作させることを特徴とする共通バッファ型ＡＴＭスイッチ。
【請求項３】
　共通バッファ型ＡＴＭスイッチであって、
　各内部論理キューに対応した現在のバッファ内ＡＴＭセル数をカウントするバッファ内ＡＴＭセル数カウント手段と、
　各内部論理キューに対応したバッファ内のＡＴＭセル数のしきい値を保持するしきい値保持手段と、
　このしきい値保持手段に保持された前記しきい値を、現在の、または一定期間観測した、または要求される呼設定に関する情報に基づいて動的に設定する動的しきい値設定手段と、
　前記バッファ内のＡＴＭセル数カウント手段により保持されている前記バッファ内のＡＴＭセル数が、前記しきい値保持手段により保持されている前記しきい値以上である場合には、前記共通バッファへのＡＴＭセルの入力を規制するＡＴＭセル入力規制手段とを具備したことを特徴とする共通バッファ型ＡＴＭスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、ＡＴＭ通信において転送されるＡＴＭセル（以下単にセルと呼ぶ）を交換するＡＴＭセルスイッチ（以下単にセルスイッチと呼ぶ）を複数接続してなる共通バッファ型ＡＴＭスイッチに関する。
【背景技術】
【０００２】
　まず、第１の従来技術について述べる。現在、ＡＴＭ（Asynchronous Transfer Mode) 通信方式に関する研究が、世界中の通信技術の研究者らによって精力的に行なわれている。ＡＴＭ通信方式は情報をセルという固定長のパケットにより伝送交換する。ＡＴＭ通信方式ではスイッチノード内のハードウェアによるセルスイッチにより、高速なセルの交換が可能で単位時間当たりの情報転送能力は既存の通信網を越えるものを実現可能である。
【０００３】
　ＡＴＭ通信方式は、セルのヘッダのＶＰＩ（Virtual Path Identifier)とＶＣＩ（Virtual Channel Identifier) と呼ばれる識別情報により、ひとつの物理伝送路に論理的に複数のコネクション（Virtual Connection:VC)を設定することができる。網内においては、各コネクションに対して予めルートが定められており、スイッチノードはセルのコネクション識別子ＶＰＩとＶＣＩからセルを出力すべき出力路を求める。ＶＰＩとＶＣＩは、スイッチノード間の物理的伝送路で一意に割り当てられるため、スイッチノードは、通過するセルのＶＰＩとＶＣＩの値を書き換える能力を持つ。
【０００４】
　これまで、ＡＴＭ網において品質を保証されたコネクションはＣＢＲ（Ｃonstant Bit Rate: 固定ビットレート）コネクションかＶＢＲ（Variable Bit Rate:可変ビットレート）コネクションが中心であった。ＣＢＲコネクションは、セルの伝送速度（セルレートまたは帯域ともいう、単位時間当たりの伝送セル数）が一定で予めわかっているトラヒックを伝送するコネクションであり、ＶＢＲコネクションはセルの伝送速度が一定ではないが、その最大値（ピークレート）と平均値（平均レート）などのトラヒックの性質が予めわかっているコネクションである。
【０００５】
　基本的には、１本の物理伝送路に複数のコネクションを十分な品質を保ちつつ多重化する場合には、全てのコネクションのピークレートの和が物理的伝送路の帯域以下になっていればよい。この手法をピークレート割り当てと呼ぶ。ＣＢＲコネクションのみをピークレート割り当てした場合には、物理伝送路の十分に高い利用効率が達成可能である。ＶＢＲコネクションの場合には、ピークレート割り当てでは、物理伝送路の利用効率を高くできない。そこで予め分かっているトラヒックの性質より、統計的多重化効果を用いて品質を保ちつつ利用効果を上げる技術がさかんに検討されている。
【０００６】
　ところが、計算機間のＡＴＭ通信を考えると、平均レートを始めとしたトラヒックの性質が予め予測できないという性質や、瞬間的に大量のセルを送信するが送信しないときには全くセルを送信しないというバースト性と呼ばれる性質がある。そのため、ＣＢＲやＶＢＲの様に品質を保証しつつ網の利用効率を上げることは難しい。つまり計算機間で転送されるデータは、ピークレート割り当てなどで品質を保証しようとすると網の利用効率が著しく低下し、ＶＢＲの様に統計的多重化効果を用いるとトラヒックのバースト性のためにセルスイッチのある出力ポートに同時に大量のセルが到着し、セルスイッチのバッファ量が十分でないとバッファ溢れによるセル廃棄が発生してしまう。また、セル廃棄が発生すると複数のセルで構成されているパケット単位で再送が発生し、これにより、実効的なスループットが低下する。
【０００７】
　ＣＢＲ，ＶＢＲの他のサービスクラスとして、ＵＢＲ（Unspecified Bit Rate) というサービスクラスが存在する。このクラスは、端末が出力するトラヒック特性を詳細に網に申告することを必要としない。そのかわり、網はその転送品質について一切の保証をしない、いわゆるベストエフォート（Best Effoet)サービスのクラスである。前述したように、計算機間のデータはバースト性を持っているため、ＵＢＲコネクションのセル廃棄率を満足できるものとするためにはセルスイッチに大容量のセルバッファを実装する必要があると考えられている。
【０００８】
　幸いなことに計算機間のトラヒックは転送の遅延時間、遅延揺らぎに関しての要求がＣＢＲやＶＢＲと比較して厳しくはない場合が多い。容量の大きなバッファをセルスイッチに実装することによりセルの伝送遅延時間、遅延揺らぎが増大するが、それを許容できるアプリケーションは決して少なくないと考えられる。
【０００９】
　ここで、複数の入力ポートから入力したセルを、セルに書き込まれた情報により交換して所望の出力ポートへ転送するセルスイッチを考える。セルの伝送路において一つのセルを転送する時間を１セルサイクルと呼ぶ。
【００１０】
　以下に入力バッファ型セルスイッチについて説明する。バッファ容量を比較的容易に拡張可能なセルスイッチのひとつに、入力バッファ型セルスイッチが知られている。入力バッファ型セルスイッチは、各入力ポートに対応してバッファを持つ。全ての入力バッファのキューの先頭にあるセルの出力ポート番号を１セルサイクル毎に判断して、同時に一つの出力ポートへ複数のセルが転送されないように調停する回路が必要である。入力バッファ型セルスイッチは、そのバッファの入出力スループットが入出力ポートと同じ速度で良いため、バッファの拡張が比較的容易であるという利点がある。しかし前述の調停回路が複雑であるという欠点があった。また、バッファの先頭にあるセルが、調停回路によって出力を抑制されている場合でも、その後ろにキューイングされているセルは出力できる可能性がある。しかし、入力バッファが単純なＦＩＦＯによって構成されている場合にはキューの先頭以外のセルは先頭のセルを追い越して出力されず、セルの交換効率を低下させる原因になる。この様なブロッキング現象はＨＯＬ（Head OfLine）ブロッキングとして知られている。
【００１１】
　以下に出力バッファ型スイッチについて説明する。図１７は、従来知られているバッファ容量拡張容易なセルスイッチの構成である（非特許文献１参照）。このセルスイッチは、優先転送を行なうクラス（同文献ではＣＢＲと呼んでいる）と、ベストエフォート転送を行なうクラス（同文献ではＶＢＲと呼んでいる）の２クラスを扱う。
【００１２】
　図１７は、出力バッファ型スイッチと呼ばれるセルスイッチに入力バッファ６３０を付加した構成になっている。ｋ本の入力ポートから入力したセルは入力バッファ６３０を経由して時分割バスへ出力される。ｋ個の出力バッファ６３１は、時分割バス上の自分宛のセルのみを取り込む。そして出力バッファ６３１はそれぞれに対応した出力ポートへセルを出力する。
【００１３】
　出力バッファ型セルスイッチは、その特性を完全に発揮するためには出力バッファの入力スループットをその入力ポート数（ｋ）倍にする必要がある。つまり出力バッファ６３１は、入出力ポートの伝送速度での１セルサイクル時間に、ｋセルを時分割バスから取り込んでバッファに書き込み、同時に１セルを出力する能力が必要である。
【００１４】
　図１８は、図１７の入力バッファ６３０のブロック図である。入力ポートから入力したセルは識別部６３０ａにおいてそのクラスを判定され、ＣＢＲ，ＶＢＲＭ，ＶＢＲ（１）〜ＶＢＲ（ｋ）の各キューにキューイングされる。ＣＢＲはＣＢＲのユニキャストとマルチキャストと共用のキュー、ＶＢＲ（１）〜ＶＢＲ（ｋ）はＶＢＲのユニキャストセル用のキューで、出力ポート毎に対応しており、ＶＢＲＭはＶＢＲのマルチキャストセル用のキューである。選択部６３０ｂにはフロー制御信号が入力されている。フロー制御信号は、各キュー別のフロー制御情報を転送し、その時点でそれぞれのキューからセルを出力して良いかどうかの情報を伝送する。選択部６３０ｂはフロー制御信号により許可されたキューの中から入力ポートの伝送速度での１セルサイクル時間に１セルを選択し時分割バスへ転送する。選択の優先順位は、ＣＢＲが最も高く、次にＶＢＲＭと続き、ＶＢＲ（１）からＶＢＲ（ｋ）が同じ優先度で最も優先順位が低い。ただし、ＶＢＲＭのキュー長がある閾値より小さくかつ、ＶＢＲ（１）からＶＢＲ（ｋ）のどれかのキュー長がある閾値を越えている場合は、その越えているキューの優先順位が高くなる。
【００１５】
　図１９は、図１７の出力バッファ６３１のブロック図である。時分割バスから入力したセルは識別部６３１ａにおいて自分宛のセルかどうかを判定され、そうならさらに、そのクラスを判定され、ＣＢＲ，ＶＢＲのどちらかのキューにキューイングされる。選択部６３１ｂは、優先クラスであるＣＢＲを先に出力し、ＣＢＲのキューにセルが存在しない時にＶＢＲのキューからセルを出力する。フロー制御信号は、各キュー毎の空きバッファスペースにより判断されて出力される。第ｉ番目の出力ポートのＣＢＲキュー、ＶＢＲキューの空きバッファスペースをそれぞれ、Ｘc （ｉ）Ｘv （ｉ）とする（１≦ｉ≦ｋ）。閾値ｋ（ｋはセルスイッチの入出力ポート数）、Ｓ（ｋ≧Ｓ≧Ｏ）を定めて、全ての入力バッファに対してＣＢＲセルの出力を許可する条件を、Ｘc （ｉ）≧ｋ、ＶＢＲのマルチキャストセルの出力を許可する条件をＸv （ｉ）≧ｋ、その出力ポート行きのユニキャストＶＢＲセルの出力を許可する条件をＸv （ｉ）≧ｋ、その出力ポート行きのユニキャストＶＢＲセルの出力を許可する条件をＸv （ｉ）≧ｋ＋Ｓとする。
【００１６】
　以上の構成により、図１７のセルスイッチは、性能の低下を最小限にすることができる。入力バッファのスループットは、１セルサイクルに１セルの入力と１セルの出力でよいため、１セルサイクルにｋセル書き込み１セル読み出すスループットが要求される出力バッファとは異なり比較的容易に大規模なセルバッファを実現することができる。
【００１７】
　上記した図１７の様な出力バッファ型セルスイッチは、一般的に高速の入力スループットを持つ出力バッファが“出力ポート数個”必要である。その入力スループットは完全な性能を得るためには“入力ポート数倍”の速度が必要である。この速度は時分割バスおよびそのバスにセルを乗せるための入力バッファのセル出力回路にも要求される。ＡＴＭ通信の特徴のひとつは、高速セル交換を実現可能なことであるが、出力バッファ型セルスイッチの場合は、上記のような特徴が、大きなセル交換速度を持つスイッチノードを作る際のネックとなっていた。具体的には、セルスイッチを実現する場合に、実装が困難であるか、大きなコストが必要であった。
【００１８】
　以下に第２の従来技術について述べる。ＡＴＭスイッチは、セルを蓄積するためのバッファをどの位置に設置するかにより、入力バッファ型、出力バッファ型、共通バッファ型に大別される。中でも共通バッファ型のＡＴＭスイッチが最もバッファを効率的に利用することが可能であることが知られている。このため、共通バッファ型のＡＴＭスイッチはこれまでによく検討されている。しかしながら、共通バッファ型を採用したとしてもバッファの容量が増大するにつれ、その管理および制御が複雑になること、またＡＴＭスイッチをＬＳＩチップで実現する場合が近年多いが、ＬＳＩ設計上実装できるハード量の制限があることなどから、組み込むことのできるバッファの容量はある限られた容量となってしまう。
【００１９】
　以上述べてきたことから、ＡＴＭスイッチを１つのＬＳＩチップとして実現する場合、バッファ容量はハード量として実現可能な中では最大限を目指すが、一方、セル廃棄率などのスイッチに対する要求条件を満足する範囲内では必要最小限に近いものになっているのが現状である。
【００２０】
　一方、セルはバースト的に到着する可能性がある。セルがバースト的に到着する場合においても、セルがスイッチを可能な限り洩れなく通過できる、すなわちセル廃棄をほとんど生じさせないという要求条件を満足する必要がある。そのため、ＡＴＭスイッチに要求されるバッファ容量はより大容量であることが望まれる。セルのバースト到着がどのような場合に発生するか考察すると、コンピュータ通信において広く行なわれているＴＣＰ／ＩＰプロトコルによるデータ通信、特にＴＣＰによるデータ通信がＡＴＭ網上で行なわれる際に生じることが最も予想されるケースである。ＴＣＰによるデータ通信は再送制御機構を有し、この再送制御が過度に働くと網の輻輳状態を招いてしまう。このため、ＴＣＰによるデータ通信をＡＴＭ網上で行なう際には、ＡＴＭ網に対して、再送制御の作動を極力抑えられるよう、遅延はあっても構わないがセルが廃棄があってはならないというサービス品質を要求するものと考えられる。近年、このサービス品質はＡＢＲ（Ａｖａｉｌａｂｌｅ Ｂｉｔ Ｒａｔｅ）サービスというクラスに分類されて、ＡＴＭフォーラムなどでその制御方法が取り沙汰されている。ＡＴＭスイッチはＡＢＲサービスクラスの品質を満足するよう設計することが要求されている。
【００２１】
　仮に、ＡＴＭスイッチのバッファ容量が小さくセル廃棄率が高いものとするとＴＣＰによるデータ通信時、ＯＳＩのプロトコルスタックにおいてＡＴＭレイヤおよびＡＡＬレイヤより上位のレイヤ（レイヤ３，４）にてＴＣＰによる先ほど述べた再送制御が働き、バースト到着がバースト到着を呼び起こす可能性がある。これをＡＴＭセル数のオーダの観点から述べると、１０4　個のオーダのセルをＡＴＭスイッチで扱わなければならない状況に陥る可能性があることが近年指摘されている。
【００２２】
　したがって、ＡＴＭスイッチのバッファ容量が容易に拡張できる機能は非常に重要なものである。
【００２３】
　従来は、こうした課題に対して、図３９に示すように、共通バッファ型ＡＴＭスイッチ１００の各入力ポート１０，１１，１２，１３に対応して巨大なバッファ４００ａ，４００ｂ，４００ｃ，４００ｄをそれぞれ配置して、バッファを拡張する方法がとられている。図３９中の２０，２１，２２，２３，４０，４１，４２，４３，６０，６１，６２，６３はセルの出力を制御する、いわゆるフロー制御を行なうための信号で、これによりセル廃棄が生じないよう制御を行なう。フロー制御により、各入力ポートに拡張したバッファと前記共通バッファ型ＡＴＭスイッチ１００内のバッファを一体化して動作させる。
【００２４】
　以下に、第３の従来技術について述べる。共通バッファ型のＡＴＭスイッチは、セルバッファを複数の出力ポート間で共有できるため、出力ポートごとに固定サイズのバッファ容量をもつ出力バッファ型のＡＴＭスイッチに比べ、同一のバッファ量で多くの呼を収容できるという利点があるが、その反面、負荷の高い出力ポートが存在する場合、共通バッファ内にその出力ポート宛のセルの割合が多くなることにより輻輳が発生し、負荷の低い出力ポートもこの輻輳の影響を受けてしまうという問題点がある。
【００２５】
　この問題を解決するために、非特許文献２において、共通バッファ内の出力ポートごとのＦＩＦＯバッファのバッファ長に最大値と最小値を設ける方式について述べられている。これにより、１つのＦＩＦＯバッファの輻輳が他のＦＩＦＯバッファに影響を与えることを抑制しつつ、出力バッファ型のスイッチと同一のバッファ量で多くの呼を収容可能となる。
【００２６】
　また、非特許文献３においては、スイッチにおける最大遅延時間、９９％遅延時間、遅延揺らぎといった遅延時間に関する通信品質の要求値が存在する場合に、共通バッファ内の出力ポートごとのＦＩＦＯバッファのバッファ長に上限を設けることにより、上述の１つの出力ポートの輻輳の影響を抑制し、かつ、スイッチでのセル遅延も抑制することができることが述べられている。
【非特許文献１】電子情報通信学会 信学技報 ＳＳＥ９３−６“バッファ容量拡張可能なＡＴＭスイッチ：ＸＡＴＯＭ”
【非特許文献２】Kamoun and Kleinrock, “Analysis of Shared Finite Storage in a Computer Network Node Environment Under General Traffic Conditions ”，IEEE Transactions on Communications ，Vol.COM28,No.7,pp.992-1003,Jul 1980.
【非特許文献３】小崎，高瀬，柳，田辺，郷原，“帯域制御機能を有するＡＴＭスイッチングシステム”，電子情報通信学会論文誌，Ｖｏｌ．Ｊ７６−Ｂ−Ｉ，Ｎｏ．１１，ｐｐ．８０１−８０８，１９９３年１１月
【発明の開示】
【発明が解決しようとする課題】
【００２７】
　上記した第１の従来技術において、従来のバッファ容量の拡張が容易なセルスイッチは、入力バッファ型ではＨＯＬブロッキングによるセルの交換効率の低下が避けられず、出力バッファ型では出力バッファの入力スループットが非常に大きい必要があり実現が困難であるという問題点があった。
【００２８】
　また、上記した第２の従来技術は、ＡＴＭスイッチＬＳＩの他に各入力ポート用のバッファのためのＬＳＩが必要となるため、ＡＴＭスイッチとして必要となるＬＳＩの数がＡＴＭスイッチの入力ポートの数にしたがって増えることになり、バッファを拡張できる方法に対する要望が高まっているにもかかわらず、容易に実現できなかった。
【００２９】
　また、上記した第３の従来技術においては、単に、出力ポートごとのＦＩＦＯバッファのバッファ長に上限を設けても、それらがすべての出力ポートで同一の値に設定することしかできなければ、出力ポート間で呼の到着が不均一な場合にはスイッチのバッファリソースを効率的に使用することはできない。
【００３０】
　さらに、異なる出力ポート間でバッファを共有する部分が存在するように上限を設定する場合には、呼受付制御時に共有される部分において他ポートによる輻輳の影響を受けることは避けられない。このため、他ポートの輻輳による影響を考慮してセル破棄率を計算する必要があるが、この際、全出力ポートの呼種別の呼接続本数を用いるため、計算量が膨大となり、高精度で安全側にセル廃棄率を見積もることは非常に困難である。
【００３１】
　一方、異なる出力ポート間でＦＩＦＯバッファを共有しないように上限を設けると、論理的に出力バッファ型のＡＴＭスイッチと等価になるため、従来の出力バッファに足するセル廃棄率計算手法を用いて高精度で安全側にセル廃棄率を見積もることができる。また、遅延についても上限を抑えることができるため、通信品質の保証という観点からはこのように上限を設定することが好ましいが、収容可能な呼の本数は出力バッファ型ＡＴＭスイッチと同程度に低下してしまうおそれがある。
【００３２】
　本発明は、上記事情を考慮してなされたもので、ＡＴＭスイッチのバッファ容量を容易に拡張することが可能な共通バッファ型ＡＴＭスイッチを提供することを目的とする。
【００３３】
　また、本発明は、ある出力ポートで発生した輻輳が他の出力ポートに影響しないようにして、セル廃棄率やセル遅延時間の保証を容易に行えるようにするとともに、出力バッファ型スイッチより呼損率を小さく抑えることができる共通バッファ型ＡＴＭスイッチを提供することを目的とする。
【課題を解決するための手段】
【００３４】
　本発明は、少なくとも第１のＡＴＭスイッチと、第２のＡＴＭスイッチとを縦続接続してなる共通バッファ型ＡＴＭスイッチにおいて、前記第１、第２のＡＴＭスイッチの各々が、各々任意の番号が割り振られ、固定長のＡＴＭセルを入力する複数の入力手段と、この入力手段からのＡＴＭセルをＡＴＭセル単位ごとに記憶するための記憶手段と、前記入力手段に対応して各々任意の番号が割り振られ、前記記憶手段からＡＴＭセルをＡＴＭセル単位ごとに取り出して出力する複数の出力手段と、前記記憶手段の空き容量をＡＴＭセル単位で管理し、この管理の結果得られた情報を処理して制御情報を出力するための管理手段とを具備して、所定のスイッチング動作を行なう通常モードと、前記入力手段の特定の番号から入力されたＡＴＭセルがこの特定の番号と同一番号を有する前記出力手段から出力される直進モードを含む複数の動作モードを有し、前記少なくとも第１のＡＴＭ及び第２のＡＴＭスイッチのうち、少なくとも最終段に接続されるＡＴＭスイッチのみを前記通常モードで動作させ、最終段以外のＡＴＭスイッチを前記直進モードで動作させるようにしたことを特徴とする。
【００３５】
　また、本発明は、少なくとも第１のＡＴＭスイッチと、第２のＡＴＭスイッチとを縦続接続してなる共通バッファ型ＡＴＭスイッチであって、前記第１、第２のＡＴＭスイッチの各々が、各々任意の番号が割り振られ、固定長のＡＴＭセルを入力する複数の入力手段と、この入力手段からのＡＴＭセルをＡＴＭセル単位ごとに記憶するための記憶手段と、前記入力手段に対応して各々任意の番号が割り振られ、前記記憶手段からＡＴＭセルをＡＴＭセル単位ごとに取り出して出力する複数の出力手段と、前記記憶手段の空き容量をＡＴＭセル単位で管理し、この管理の結果得られた情報を処理して制御情報を出力するための管理手段とを具備し、前記少なくとも第１のＡＴＭ及び第２のＡＴＭスイッチのうち、少なくとも最終段に接続されるＡＴＭスイッチについては、所定のスイッチング動作を行わせると共に、最終段以外のＡＴＭスイッチについては、前記入力手段の特定の番号から入力されたＡＴＭセルがこの特定の番号と同一番号を有する前記出力手段から出力されるように動作させることを特徴とする。
【００３６】
　また、本発明は、共通バッファ型ＡＴＭスイッチであって、各内部論理キューに対応した現在のバッファ内ＡＴＭセル数をカウントするバッファ内ＡＴＭセル数カウント手段と、各内部論理キューに対応したバッファ内のＡＴＭセル数のしきい値を保持するしきい値保持手段と、このしきい値保持手段に保持された前記しきい値を、現在の、または一定期間観測した、または要求される呼設定に関する情報に基づいて動的に設定する動的しきい値設定手段と、前記バッファ内のＡＴＭセル数カウント手段により保持されている前記バッファ内のＡＴＭセル数が、前記しきい値保持手段により保持されている前記しきい値以上である場合には、前記共通バッファへのＡＴＭセルの入力を規制するＡＴＭセル入力規制手段とを具備したことを特徴とする。
【発明の効果】
【００３７】
　本発明によれば、共通バッファ型ＡＴＭスイッチにおいて共通バッファのバッファ長を容易に拡張することが可能となる。また、共通バッファ型ＡＴＭスイッチの柔軟な利用が図ることが可能となる。
【００３８】
　また、本発明によれば、ある出力ポートで発生する輻輳が他の出力ポートに影響を与えることを防ぐことができる。また、セル廃棄率の計算時には呼が発生した出力ポートの状態のみを考慮すれば良いため、計算が非常に簡単になるとともに、セル遅延に関する上限を保証することもできる。さらに、呼接続状態に応じてしきい値を動的に変えることにより、出力バッファ型スイッチより呼損率を小さくでき、また、呼１本当たりの帯域が小さいほど、大群化効果により呼損率が低下する。
【発明を実施するための最良の形態】
【００３９】
　以下、図面を参照しながら本発明の実施形態について説明する。
【００４０】
　まず、第１の実施形態を説明する。第１の実施形態は、大きなセル交換速度を持つＡＴＭスイッチノードにも適したバッファ容量拡張可能なスイッチアーキテクチャである。
【００４１】
　まず、全体構成について説明する。図１は第１の実施形態に係るセルスイッチの第１の構成の実施例である。図１に示すセルスイッチ６１０において、ｋ本の入力ポートから入力バッファ６０１に入力されたセルは、単位スイッチ６０２、６０３を接続して構成されるスイッチ網６２０により交換された後、出力バッファ６０４を経て出力ポートから出力される。
【００４２】
　入力バッファ６０１の出力からスイッチ網６２０、出力バッファ６０４までの区間においては、各リンクの速度は出力ポートの速度のｎ倍になっている。
【００４３】
　第１の構成は、ｎがｋより小さくとも、従来の出力バッファ型のバッファ容量拡張が容易なセルスイッチと同等の性能が得られる。ｎの値はスイッチ網６２０の形態によるが、例えば、８入力８出力単位スイッチを使用して１６入力１６出力のセルスイッチを構成する場合は、ｎ＝２でよい。
【００４４】
　スイッチ網６２０はｍ入力ｍ出力の単位スイッチを互いに接続して構成される。１段目の単位スイッチ（１，ｉ）（ただし１≦ｉ≦ｈ）の出力リンクしそれぞれ図のようにｇ本ずつ並列に２段目の単位スイッチ（２，ｊ）（ただし１≦ｊ≦ｈ）の入力リンクと接続される。ｍ，ｇ，ｈ，ｋの関係は、ｍ≧ｇｈ，ｋ≦ｍｈである。この様な接続を２段デルタ網接続と呼ぶ。図の２段デルタ網のマルチレートノンブロッキング条件は、ｎ≧ｍ／ｇである（よって、ｎ≧ｍ／ｇ≧ｈ≧ｋ／ｍの関係がある）。１段目の単位スイッチと２段目の単位スイッチの間の並列リンクを関連法（“並列リンクのあるスイッチ網の検討”、１９９４年電子情報通信学会秋季大会、Ｂ−４３９）により入力ポートと関連づける。例えば、ある１段目の単位スイッチの入力リンクの３番目および４番目より入力したセルは、その単位スイッチと各２段目の単位スイッチを結ぶｇ本の並列リンクのうちのそれぞれ２番目を通過するように経路を選ぶ、などと関連づける。これにより、１段目の単位スイッチ内では確率的なセルの待ち合わせは生じない。
【００４５】
　以下に入力バッファ６０１について詳細に説明する。
【００４６】
　図２は本実施例のセルスイッチ６１０の入力バッファ６０１の構成の一例を説明するための図である。入力バッファ６０１はＨＯＬブロッキングの発生を防止するために、スイッチ網の出力ポート別に論理キューを持つ（Ｑ（１）からＱ（ｋ））。また、マルチキャスト用に論理キューを持つ（ＱＭ）。
【００４７】
　入力ポートから入力したセルは識別部６０１ａで、マルチキャストかユニキャストか、ユニキャストならどの出力ポート行きかを識別され、それぞれ、ＱＭ，Ｑ（１）〜Ｑ（ｋ）のキューの末尾にキューイングされる。
【００４８】
　選択部６０１ｂは、各キューのキュー長と出力ポート別フロー制御信号の内容の関係において予め定められた優先順位によりキューの先頭からセルを出力する。フロー制御信号により出力が許可されているキューのみを出力の対象とする。
【００４９】
　出力ポート別のフロー制御信号は、マルチキャスト用と各出力ポート別のユニキャスト用がある。入力バッファ内の各キューに対応しており、出力の許可／禁止を指示する。マルチキャスト用のフロー制御信号は全ての出力バッファからのマルチキャスト用フロー制御信号を論理演算したものが入力される。すなわち全てのマルチキャスト用フロー制御信号がセル出力を許可した時に、マルチキャストキューからのセルの出力が許可される。ユニキャスト用のフロー制御信号は、対応した出力ポートに接続されている出力バッファ６０４から入力される。
【００５０】
　入力バッファ６０１は、選択部６０１ａからセルをスイッチ網へ転送する部分だけｎ倍速で動作する。すなわち、入力バッファ６０１の選択部６０１ａからスイッチ網６２０へのセルの転送は入力ポートにおける１セルサイクル時間にｎセルを転送することが可能な速度である。しかし入力バッファ内部のセルバッファに必要なスループットは、入力ポートにおける１セルサイクル時間に１セルを書き込み、同時に１セルを読み出すことができればよい。これは、出力バッファ６０４や共通バッファとは異なり、セルスイッチ６１０の入出力ポート数によらないので、バッファ容量の拡張が比較的容易である。
【００５１】
　以下に単位スイッチ６０２、６０３について説明する。
【００５２】
　図３は第１の構成の１段目と２段目に用いることが可能な単位スイッチの論理的構成の一例を説明する図である。
【００５３】
　図は論理的な構成を示し、物理的な構成を表しているわけではない。単位スイッチ６０２（６０３）に入力されたセルは、識別部６０２ａがその出力リンクを判定し、適当な出力リンクに対応したキューＱ（１）からＱ（ｍ）のいずれかにキューイングされる。マルチキャストセルの場合には。識別部６０２ａにおいて複数コピーされ複数のキューにキューイングされる。選択部６０２ｃは、キューに蓄積されているセルを、キューの先頭から順に読みだし出力する。もしフロー制御信号入力（１）〜（ｍ）がセルの出力の抑制を示しているなら、そのキューからセルを出力しない。バッファ状態管理部６０２ｂは、バッファ状態情報より入力したセルをキューにキューイング可能かどうかを判断し、場合によっては入力セルの廃棄信号を識別部６０２ａに指示する。また、単位スイッチ内部のバッファ状態情報より、例えば、内部のバッファ領域に空きがない場合などにフロー制御信号出力（１）〜（ｍ）を用いて、入力リンク毎にセルの入力を抑制する。
【００５４】
　以下に単位スイッチ間のフロー制御信号について説明する。図１に示す構成では、基本的に出力バッファ６０４からスイッチ網６２０、スイッチ網６２０から入力バッファ６０１、および、２段目の単位スイッチ６０３から１段目の単位スイッチ６０２へのフロー制御信号は不要である。よって、図３に示してあるフロー制御信号入力／出力は基本的には必要ではない。しかし、フロー制御と、単位スイッチ内のバッファ量の関係については次のようなことがいえる。
【００５５】
　入力バッファ６０１へのフロー制御により単位スイッチ内のキュー長の和には入力トラヒックによらない上限値がある。単位スイッチがこの上限値以上、セルバッファを持つことにより単位スイッチ内部のバッファの空き領域が無くなることがないこの上限値を理論上十分なバッファ容量と考える。単位スイッチ内のキュー長の和が上限値に到達する確率が、現実には非常に小さい場合が考えられる。もし、理論上十分なバッファ容量を２段目単位スイッチ６０３に実装しなかったとすると、ある確率でその単位スイッチ内の全てのバッファ容量を使い切ってしまうことになる。この場合には、スイッチ網６２０の２段目単位スイッチ６０３から１段目スイッチ６０２へフロー制御をかける。すなわち図３で説明したフロー制御信号を用いて、図４の様な、単位スイッチ間のフロー制御信号を接続しセルの廃棄を防ぐことができる。
【００５６】
　しかし図４の様な構成においてフロー制御が２段目の単位スイッチ６０３から１段目の単位スイッチ６０２へ作用する場合には、図３の様な論理的構成を持つ単位スイッチでは、１段目の単位スイッチ６０２においてＨＯＬブロッキングが発生しスループットが低下する。したがって、このときのＨＯＬブロッキングによるスループットの低下とセルバッファを実装することによるハードウェア規模およびコスト増加のトレードオフにおいて、単位スイッチへの実装バッファ量を決定する必要がある。
【００５７】
　もしＨＯＬブロッキングによるスループットの低下が許容できる範囲内である場合には、単位スイッチ間のフロー制御信号は有効に作用し、２段目単位スイッチ６０３内の実装バッファ量を減少させることができる利点がある。
【００５８】
　同様に、その他のバッファ間、例えば、出力バッファ６０４とスイッチ網６２０の間や、スイッチ網６２０と入力バッファ６０１の間にもフロー制御信号を配線してもかまわない。この場合には、これらのフロー制御信号により各部の実装バッファ量を減らすことが可能であるという利点がある。
【００５９】
　以下に出力バッファ６０４について説明する。
【００６０】
　図５は第１の構成のセルスイッチ６１０の出力バッファ６０４の構成の一例を説明するための図である。スイッチ網６２０から転送されてきたセルは、キューに一時的に蓄積される。スイッチ網６２０からのセルの転送は、出力ポートでの１セルサイクル時間に最大ｎセル転送されてくる可能性がある。したがって、このキューは速度変換の役割を果たす。選択部６０４ａは拡張用フロー制御信号により出力が許可されている場合のみ、キューからセルを取り出し出力ポートへセルを出力する。
【００６１】
　以下に入力バッファ６０１へのフロー制御信号について説明する。
【００６２】
　出力バッファ６０４から入力バッファ６０１へ出力する出力ポート別フロー制御信号は、出力ポート毎のユニキャスト用とマルチキャスト用の２種類である。
【００６３】
　フロー制御信号の決定方法は、例えば、次のような二つの方法が考えられる。まずマルチキャストセルとユニキャストセルを合わせて数えたキュー長によって決める方法がある。そのときのキュー長と予め定められたふたつの閾値Ｑthm とＱthu とを比較することにより決定する（Ｑthm ≧Ｑthu とする）。キュー長が閾値Ｑthu 以上になった場合にはその出力ポート行きのユニキャストセルの転送を禁止し、キュー長がさらに大きくなり閾値Ｑthm 以上になった場合にはユニキャストセルとともにマルチキャストセルの転送を禁止する。別の方法としては、マルチキャストセルとユニキャストセルの出力バッファ内蓄積セル数を個別に計数し決める方法がある。マルチキャストセル数とユニキャストセル数が、それぞれ閾値Ｃthm ，Ｃthu を越えたかどうかでそれぞれのセルの転送の許可／禁止を決める。
【００６４】
　以下にフロー制御について述べる。
【００６５】
　出力バッファ６０４から入力バッファ６０１への出力ポート別フロー制御信号について考える。ここでは簡単化のため流体近似モデルを扱い、また、ユニキャストのセルのみが入力される状態を検討する。
【００６６】
　第１の構成の出力バッファ６０４における出力ポート別フロー制御信号の出力判断は、出力バッファ６０４に閾値Ｑthを設けることにより行なう。この閾値Ｑth以上に出力バッファ６０４のキュー長が大きくなった場合は、その出力ポート行きのセルの出力を禁止するように、各入力バッファ６０１へフロー制御信号を出力する。閾値Ｑthよりもキュー長が小さくなった場合は、その禁止信号を解除する。
【００６７】
　図６は、第１の構成の単位スイッチ内のある１つの出力ポート行きのキューのキュー長Ｑs と、対応する出力バッファ内のキュー長Ｑo の時間的変化を示したものである。
【００６８】
　まず初期状態として、単位スイッチ内および出力バッファ内にセルが蓄積されていない状態を考える。この状態から、最も単位スイッチ内のキュー長が大きくなるセルの到着の仕方は、全ての入力セルがあるひとつの出力ポートへ向かう場合である。このとき、単位スイッチ内のキュー長Ｑs の増加率は、１セルサイクルあたりｋ−ｎである。単位スイッチ内にセルが蓄積され始めると、１／ｎセルサイクルの時間差（図の（１））をおいて出力バッファ内のキューにセルが蓄積され始める。出力バッファ内キュー長Ｑo の増加率は１セルサイクルあたりｎ−１である（時間ｔ1 ）。
【００６９】
　出力バッファ内のキュー長Ｑo がＱth以上になった直後のセルサイクルにおいて、フロー制御によりその出力ポート行きのセルの単位スイッチへの入力が抑制される。閾値を越えた直後のセルサイクルから単位スイッチ内キュー長が減少し始めるまでの遅延時間をｄセルサイクルとする（時間（２））。フロー制御により単位スイッチ内のキュー長は減少する（時間ｔ2 ））。単位スイッチ内のキュー長Ｑs の減少率は、１セルサイクルあたりｎである。時間ｔ2 においても出力バッファ内キュー長は１セルサイクルあたりｎ−１の割合で増加し続ける。
【００７０】
　単位スイッチ内のキュー長がゼロになった後、１／ｎセルサイクル（時間（３）遅れて出力バッファ内キュー長が減少し始める（時間ｔ3 ）。このときの出力バッファ内キュー長Ｑo の減少率は１セルサイクルあたり１である。出力バッファ内キュー長がＱthより小さくなった場合（Ｑth−１以下になった場合）には、フロー制御信号による抑制を解除する。図中、（４）として示される差はＱthとＱth−１の差である。
【００７１】
　出力バッファにてフロー制御信号の抑制が解除された後、フロー制御信号の遅延時間ｄの経過後（時間（５））、単位スイッチ内のキュー長Ｑs が再び増加し始める。
【００７２】
　このような制御の結果生じる、単位スイッチ内のある出力ポートに対応したキュー長Ｑs の最大値Ｑsmax、出力バッファ内のキュー長Ｑo の最大値Ｑomaxを次のように求めることができる。
【数１】
2004040834.tif 000003
【００７３】
　閾値Ｑthの決定方法を次に示す。Ｑthは、フロー制御による単位スイッチへの入力抑制を解除する場合の条件により決定すればよい。もし、キュー長が閾値より短くなり、フロー制御信号を解除する場合、入力バッファにおいてキューイングされているセルが多数存在するにも関わらず、その解除により入力バッファより出力されたセルが出力バッファへ到着する前に、出力バッファのキューが空きになり出力すべきセルが無くなるようであれば、出力ポートのスループットが十分有効に活かされていないことになる。そうならないことを条件とする。
【数２】
2004040834.tif 000004
【００７４】
　（上式において、左辺の第１項の１は、図の（４）で示されるキュー長の差に関係し、第２項のｄは、図の（５）で示される時間、第３項の１／ｎは図の（１）の時間である。左辺全体はＱs がゼロになってから再びゼロでなくなるまでの時間差を示しており、それが１以下であれば出力バッファは常にセルを出力し続けることが可能である。）簡単にすると、次のようになる。
【数３】
2004040834.tif 000005
【００７５】
　上述のように、最悪到着パターンにおける単位スイッチ内のある出力ポートに対応したキュー長Ｑsmaxを求めることができた。その他のいかなるセルの到着パターンにおいてもフロー制御の抑制を解除する時刻にはＱs がゼロであるため、Ｑs はＱsmaxを越えないことは明らかである。
【００７６】
　また、最悪到着パターンにおける出力バッファのキュー長Ｑomaxを求めることができた。その他のいかなるセルの到着パターンにおいてもＱo はＱomaxを越えることはない。
【００７７】
　次に、ユニキャストコネクションのみをこのセルスイッチに設定した場合の単位スイッチ内のキュー長の和の最大値を求める。キュー長の和を最大にするセルのルーティングパターンは、全ての入力バッファより、あるひとつの出力ポート行きのセルのみが連続して入力され、フロー制御信号によりその出力ポート行きのセルの入力が禁止された直後、別のあるひとつの出力ポート行きのセルのみが連続して入力され、ということを繰り返す場合である。今、時刻ｔ＝０において単位スイッチ内のキュー長と出力バッファ内のキュー長がともにゼロであり、この時点から最悪到着パターンがセルスイッチに加わるとする。時刻ｔにおける最悪到着パータン時の単位スイッチ内の全てのキュー長の和Ｑss（ｔ）を求める。
【００７８】
　ところで、ｍ＝ｋ／ｎの関係があるスイッチ網の場合は、各出力ポートに順に最悪到着パターンを加えると、その単位スイッチのどれかの出力ポート行きの入力抑制が解除される前に全ての出力ポート行きのセル入力が抑制されることがわかる（式５よりｔ1 ＋ｔ2 ＝ｍｔ1 であるから）。すべて入力抑制がかかった状態では、単位スイッチ内部のキュー長の和は減少するから、Ｑssの最大値は、全ての入力抑制がかった時刻である。その時刻はｍｔ1 である。Ｑssは次のようになる。
【数４】
2004040834.tif 000006
【００７９】
　この最悪のセル到着パターンにおいて、スイッチ内のキュー長の和Ｑssmax はｍＱsmaxよりも小さいことがわかった。よって、ユニキャストコネクションのみの場合には、単位スイッチを共通バッファ型アーキテクチャで構成することにより、少ないバッファ量で十分な性能を得ることが可能である。
【００８０】
　以下に複数のサービスクラスについて述べる。
【００８１】
　複数クラスを扱う場合のスイッチノードの構成を図７に示す。スイッチノードは、複数のセルスイッチにより構成される。図７の場合は、ＣＢＲ用セルスイッチ６１０ｃ、ＶＢＲ用セルスイッチ６１０ｂ、ＵＢＲ用セルスイッチ６１０ａの３枚のセルスイッチを備える。扱うサービスクラスの数を増やしたい場合には、セルスイッチの枚数を増やせば良い。
【００８２】
　ＣＢＲトラヒック、ＶＢＲトラヒックは、遅延に関する品質要求がＵＢＲに比べて比較的厳しいため、セルスイッチに多くのセルバッファは必要ではない。ＣＢＲ用セルスイッチ６１０ｃおよびＶＢＲ用セルスイッチ６１０ｂは、例えば従来知られている共通バッファ型多段スイッチを用いることで十分な性能を得る。
【００８３】
　ＵＢＲトラヒックは、大容量のセルバッファが必要であり、ＵＢＲ用セルスイッチ６１０ａには、本実施例のセルスイッチを用いる。
【００８４】
　図７において、入力ポートから入力したセルは、クラスフィルタ部６２２によりそのセルの属するクラスを判定される。そして、対応するクラスのセルスイッチのみセルが入力される。クラスフィルタ部６２２は、本実施例のセルスイッチの入力バッファに実装してもかまわない。
【００８５】
　セルスイッチにてセルが交換された後、優先多重化部６２１にて各クラスのセルが多重化される。優先多重化部６２１は、ＣＢＲ用セルスイッチ６１０ｃからのセルを最も高い優先度で出力ポートへ出力し、ＶＢＲ用セルスイッチ６１０ｂからのセルが次の優先度で、ＵＢＲ用セルスイッチ６１０ａからのセルが最も低い優先度になる。優先多重化部６２１の内部のバッファ量を少なくするためには、優先多重化部６２１からセルスイッチへフロー制御信号を接続すればよい。ＣＢＲ用セルスイッチ６１０ｃからのセルに関しては、必ず最も優先して出力されるので、優先多重化部６２１からＣＢＲ用セルスイッチ６１０ｃへのフロー制御信号は不要である。優先多重化部６２１から本実施例のセルスイッチ（ＵＢＲ用）６１０ａへのフロー制御信号は、図１および図５の拡張用フロー制御信号である。
【００８６】
　上記した第１の構成によれば、単位スイッチが１段目と２段目とで同じものを使用できるため、簡単な構造の単位スイッチを使用することができるという利点がある。また、一つの単位スイッチは、一つのクラスのセルのみしか交換しないため一つのクラスあたりの単位スイッチのバッファ量を大きくとることができるという利点がある。
【００８７】
　以下に第２の構成について説明する。
【００８８】
　まず、全体構成について説明する。
【００８９】
　図８は、第２の構成の一実施例である。ｋ本の入力ポートから入力バッファ６０１に入力されたセルは、単位スイッチ６０２、６０３を接続して構成されるスイッチ網６２０により交換された後、出力ポートから出力される。
【００９０】
　第１の構成（図１）との違いは、出力バッファがなく、出力ポート別フロー制御信号を２段目の単位スイッチ６０３が出力するようになっていることである。
【００９１】
　入力バッファ６０１の出力から２段目の単位スイッチ６０３までの区間においては、各リンクの速度は出力ポートの速度のｎ倍になっている。
【００９２】
　第２の構成では、ｎがｋより小さくとも、従来の出力バッファ型のバッファ容量拡張が容易なセルスイッチと同等の性能が得られる。ｎの値はスイッチ網の形態によるが、例えば、８入力８出力単位スイッチを使用して１６入力１６出力のセルスイッチを構成する場合は、ｎ＝２でよい。
【００９３】
　スイッチ網６２０はｍ入力ｍ出力の単位スイッチを互いに接続して構成される。１段目の単位スイッチ６０２（１，ｉ）（ただし１≦ｉ≦ｈ）の出力リンクはそれぞれ図のようにｇ本ずつ並列に２段目の単位スイッチ６０３（２，ｊ）（ただし１≦ｊ≦ｈ）の入力リンクと接続される。ｍ，ｇ，ｈ，ｋの関係は、ｍ≧ｇｈ，ｋ≦ｍｈである。この様な接続を２段デルタ網接続と呼ぶ。図の２段デルタ網のマルチレートノンブロッキング条件は、ｎ≧ｍ／ｇである（よって、ｎ≧ｍ／ｇ≧ｈ≧ｋ／ｍの関係がある）。１段目の単位スイッチ６０２と２段目の単位スイッチ６０３の間の並列リンクを関連法（“並列リンクのあるスイッチ網の検討”、１９９４年電子情報通信学会秋季大会、Ｂ−４３９）により入力ポートと関連づける。例えば、ある１段目の単位スイッチの入力リンクの３番目および４番目より入力したセルは、その単位スイッチと各２段目の単位スイッチを結ぶｇ本の並列リンクのうちのそれぞれ２番目を通過するように経路を選ぶ、などと関連づける。これにより、１段目の単位スイッチ内では確率的なセルの待ち合わせは生じない。
【００９４】
　以下に入力バッファ６０１について述べる。
【００９５】
　図２は本実施例のセルスイッチの入力バッファ６０１の構成の一例を説明するための図である。入力バッファ６０１はＨＯＬブロッキングの発生を防止するために、スイッチ網６２０の出力ポート別に論理キューを持つ（Ｑ（１）からＱ（ｋ））。また、マルチキャスト用に論理キューを持つ（ＱＭ）。
【００９６】
　入力ポートから入力したセルは識別部６０１ａで、マルチキャストかユニキャストか、ユニキャストならどの出力ポート行きかを識別され、それぞれ、ＱＭ，Ｑ（１）〜Ｑ（ｋ）のキューの末尾にキューイングされる。
【００９７】
　選択部６０１ｂは、各キューのキュー長と出力ポート別フロー制御信号の内容の関係において予め定められた優先順位によりキューの先頭からセルを出力する。フロー制御信号により出力が許可されているキューのみを出力の対象とする。
【００９８】
　出力ポート別フロー制御信号は、マルチキャスト用と各出力ポート別のユニキャスト用がある。入力バッファ６０１内の各キューに対応しており、出力の許可／禁止を指示する。マルチキャスト用のフロー制御信号は全ての２段目単位スイッチ６０３からのマルチキャスト用フロー制御信号を論理演算したものが入力される。すなわち全てのマルチキャスト用フロー制御信号がセル出力を許可した時に、マルチキャストキューからのセルの出力が許可される。ユニキャスト用のフロー制御信号は、対応した出力ポートに接続されている２段目単位スイッチ６０３から入力される。
【００９９】
　入力バッファ６０１は、選択部６０１ａからセルをスイッチ網６２０へ転送する部分だけｎ倍速で動作する。すなわち、入力バッファ６０１の選択部６０１ａからスイッチ網６２０へのセルの転送は入力ポートにおける１セルサイクル時間にｎセルを転送することが可能な速度である。しかし入力バッファ内部のセルバッファに必要なスループットは、入力ポートにおける１セルサイクル時間に１セルを書き込み、同時に１セルを読み出すことができればよい。これは、出力バッファ６０４や共通バッファとは異なり、セルスイッチ６１０の入出力ポート数によらないので、バッファ容量の拡張が比較的容易である。
【０１００】
　以下に単位スイッチについて述べる。
【０１０１】
　図３は第２の構成の１段目に用いることが可能な単位スイッチ６０２の論理的構成の一例を説明する図である。
【０１０２】
　図は論理的な構成を示し、物理的な構成を表しているわけではない。単位スイッチに入力されたセルは、識別部６０２ａがその出力リンクを判定し、適当な出力リンクに対応したキューＱ（１）からＱ（ｍ）のいづれかにキューイングされる。マルチキャストセルの場合には、識別部６０２ａにおいて複数コピーされ複数のキューにキューイングされる。選択部６０２ｃは、キューに蓄積されているセルを、キューの先頭から順に読みだし出力する。もしフロー制御信号入力（１）〜（ｍ）がセルの出力の抑制を示しているなら、そのキューからセルを出力しない。バッファ状態管理部６０２ｂは、バッファ状態情報より入力したセルをキューにキューイング可能かどうかを判断し、場合によっては入力セルの廃棄信号を識別部６０２ａに指示する。また、単位スイッチ内部のバッファ状態情報より、例えば、内部のバッファ領域に空きがない場合などにフロー制御信号出力（１）〜（ｍ）を用いて、入力リンク毎にセルの入力を抑制する。
【０１０３】
　図９は第２の構成の２段目単位スイッチ６０３の論理的構成の一例を説明するための図である。基本的な構成は図３と同じであるが、単位スイッチからのセルの出力が、出力ポートでの１セルサイクル時間に最大でも、１出力リンクあたり１セルしか出力しない点と、単位スイッチ内のバッファ状態管理部６０３ｂからの入力バッファ６０１への出力ポート別フロー制御信号を出力する点が異なる。
【０１０４】
　１段目単位スイッチ６０２から転送されてきたセルは、キューに一時的に蓄積される。１段目からのセルの転送は、２段目の単位スイッチ６０３の入力リンクにおいて、出力ポートでの１セルサイクル時間に最大ｋセル転送されてくる可能性がある。したがって、単位スイッチ内のキューは、セル交換時の待ち合わせ用としての役割の他に、速度変換機能としての役割を持つ。
【０１０５】
　以下に入力バッファ６０１へのフロー制御信号について述べる。
【０１０６】
　２段目単位スイッチ６０３から入力バッファ６０１へ出力する出力ポート別フロー制御信号は、出力ポート毎のユニキャスト用とマルチキャスト用の２種類である。フロー制御信号の決定方法は、例えば、次のような二つの方法が考えられる。
【０１０７】
　まず出力リンク毎のキュー長によって決める方法がある。キュー長はマルチキャストセルとユニキャストセルを合わせて数えたものを用いる。そのときのキュー長と予め定められたふたつの閾値Ｑthm ，Ｑthu と比較することにより決定する（Ｑthm ≧Ｑthu とする）。キュー長が閾値Ｑthu 以上になった場合にはユニキャストセルの転送のみを禁止し、キュー長がさらに大きくなり閾値Ｑthm 以上になった場合にはユニキャストセルとともにマルチキャストセルの転送を禁止する。単位スイッチから出力するマルチキャストセル用のフロー制御信号は単位スイッチ内部の全ての出力リンクのキュー長がＱthm 以下になった場合に、入力バッファに対してマルチキャストセルの出力を許可する。
【０１０８】
　別の方法としては、マルチキャストセルとユニキャストセルの蓄積セル数を個別に計測し決める方法がある。単位スイッチ内の全マルチキャストセル数と出力リンク毎に計数したユニキャストセル数をそれぞれ計数し、それぞれ閾値ＣthmＣthu を越えたかどうかでそれぞれのセルの転送の許可／禁止を決める。
【０１０９】
　単位スイッチ内での複数の出力ポートへ出力されるマルチキャストセルであっても、１つの入力セルにつき、１セル分のバッファ領域して占有しないアーキテクチャの単位スイッチが知られている。その場合は単位スイッチ内に実装するバッファ量を削減できる。さらに、マルチキャスト用のフロー制御信号は、第１の構成のように出力ポートにつき１本ずつではなく、単位スイッチ毎に複数の出力ポート分を統合して１本出力されるため、単位スイッチから入力バッファへのフロー制御信号の実装も容易になるという利点がある。
【０１１０】
　以下に単位スイッチ間のフロー制御信号について述べる。
【０１１１】
　第２の構成においては、基本的にスイッチ網６２０から入力バッファ６０１、および、２段目の単位スイッチ６０３から１段目の単位スイッチ６０２へはフロー制御信号は不要であるよって、図３，図９に示してあるフロー制御信号入力／出力は基本的には必要ではない。しかし、フロー制御と、単位スイッチ内のバッファ量の関係については次のようなことがいえる。
【０１１２】
　入力バッファ６０１へのフロー制御により単位スイッチ内のキュー長の和には入力トラヒックによらない上限値がある。単位スイッチがこの上限値以上セルバッファを持つことにより単位スイッチ内部のバッファの空き領域が無くなることはない。この上限値を理論上十分なバッファ容量と考える。単位スイッチ内のキュー長の和が上限値に到達する確率が、現実には非常に小さい場合が考えられる。もし、理論上十分なバッファ容量を２段目単位スイッチ６０３に実装しなかったとすると、ある確率でその単位スイッチ内の全てのバッファ容量を使い切ってしまうことになる。この場合には、スイッチ網の２段目単位スイッチ６０３から１段目単位スイッチ６０２へフロー制御をかける。すなわち図３で説明したフロー制御信号を用いて、図４の様な、単位スイッチ間のフロー制御信号を接続しセルの廃棄を防ぐことができる。
【０１１３】
　しかし図４の様な構成においてフロー制御が２段目の単位スイッチ６０３から１段目の単位スイッチ６０２へ作用する場合には、図９の様な論理的構成を持つ単位スイッチでは、１段目の単位スイッチ６０２においてＨＯＬブロッキングが発生しスループットが低下する。したがって、このときのＨＯＬブロッキングによるスループットの低下とセルバッファを実装することによるハードウェア規模およびコスト増加のトレードオフにおいて、単位スイッチへの実装バッファ量を決定する必要がある。
【０１１４】
　もしＨＯＬブロッキングによるスループットの低下が許容できる範囲内である場合には、単位スイッチ間のフロー制御信号は有効に作用し、２段目単位スイッチ６０３内の実装バッファ量を減少させることができる利点がある。
【０１１５】
　同様に、その他のバッファ間、すなわちスイッチ網６２０と入力バッファ６０１の間にもフロー制御信号を配線してもかまわない。この場合には、これらのフロー制御信号により実装バッファ量を減らすことが可能であるという利点がある。
【０１１６】
　以下に複数のサービスクラスについて述べる。
【０１１７】
　複数クラスを扱う場合のスイッチノードの構成を図７に示す。スイッチノードは、複数のセルスイッチにより構成される。図７の場合は、ＣＢＲ用セルスイッチ６１０ｃ、ＶＢＲ用セルスイッチ６１０ｂ、ＵＢＲ用セルスイッチ６１０ａの３枚のセルスイッチを備える。扱うサービスクラスの数を増やしたい場合には、セルスイッチの枚数を増やせば良い。
【０１１８】
　ＣＢＲトラヒック、ＶＢＲトラヒックは、遅延に関する品質要求がＵＢＲに比べて比較的厳しいため、セルスイッチに多くのセルバッファは必要ではない。ＣＢＲ用セルスイッチ６１０ｃおよびＶＢＲ用セルスイッチ６１０ｂは、例えば従来知られている共通バッファ型多段スイッチを用いることで十分な性能を得る。
【０１１９】
　ＵＢＲトラヒックは、大容量のセルバッファが必要であり、ＵＢＲ用セルスイッチ６１０ａには本実施例のセルスイッチを用いる。
【０１２０】
　図７において、入力ポートから入力バッファ６０１入力したセルは、クラスフィルタ部６２２によりそのセルの属するクラスを判定される。そして、対応するクラスのセルスイッチのみセルが入力される。クラスフィルタ部６２２は、本実施例のセルスイッチの入力バッファ６０１に実装してもかまわない。
【０１２１】
　セルスイッチ６１０にてセルが交換された後、優先多重化部６２１にて各クラスのセルが多重化される。優先多重化部６２１は、ＣＢＲ用セルスイッチ６１０ｃからのセルを最も高い優先度で出力ポートへ出力し、ＶＢＲ用セルスイッチ６１０ｂからのセルが次の優先度で、ＵＢＲ用セルスイッチ６１０ａからのセルが最も低い優先度になる。優先多重化部６２１の内部のバッファ量を少なくするためには、優先多重化部６２１からセルスイッチ６１０へフロー制御信号を接続すればよい。ＣＢＲ用セルスイッチ６１０ｃからのセルに関しては、必ず最も優先して出力されるので、優先多重化部６２１からＣＢＲ用セルスイッチ６１０ｃへのフロー制御信号は不要である。優先多重化部６２１から本実施例のセルスイッチ（ＵＢＲ用）６１０ａへのフロー制御信号は、図８および図９の拡張用フロー制御信号である。
【０１２２】
　上記した第２の構成によれば、出力バッファが不要であるため、セルスイッチの全体の大きさが小さいという利点がある。さらに、単位スイッチ内部のバッファ量に直接閾値を設定できるため、単位スイッチ内部に必要なバッファ容量が第１の構成と比較して小さいという利点がある。
【０１２３】
　以下に第３の構成について述べる。
【０１２４】
　まず全体構成について述べる。
【０１２５】
　図１０は第３の構成の一実施例である。ｋ本の入力ポートから入力バッファ６０１に入力されたセルは、単位スイッチ６０２、６０３を接続して構成されるスイッチ網６２０により交換された後、出力バッファ６０４を経て出力ポートから出力される。
【０１２６】
　入力バッファ６０１の出力からスイッチ網６２０、出力バッファ６０４までの区間においては、各リンクの速度は出力ポートの速度のｎ倍になっている。
【０１２７】
　本実施例は、ｎがｋより小さくとも、従来の出力バッファ型のバッファ容量拡張が容易なセルスイッチと同等の性能が得られる。ｎの値はスイッチ網６２０の形態によるが、例えば、８入力８出力の単位スイッチを使用して１６入力１６出力のセルスイッチを構成する場合は、ｎ＝２でよい。
【０１２８】
　スイッチ網６２０はｍ入力ｍ出力の単位スイッチを互いに接続して構成される。１段目の単位スイッチ６０２（１，ｉ）（ただし１≦ｉ≦ｈ）の出力リンクはそれぞれ図のようにｇ本ずつ並列に２段目の単位スイッチ６０３（２，ｊ）（ただし１≦ｊ≦ｈ）の入力リンクと接続される。ｍ，ｇ，ｈ，ｋの関係は、ｍ≧ｇｈ，ｋ≦ｍｈである。この様な接続を２段デルタ網接続と呼ぶ。図の２段デルタ網のマルチレートノンブロッキング条件は、ｎ≧ｍ／ｇである（よって、ｎ≧ｍ／ｇ≧ｈ≧ｋ／ｍの関係がある）。１段目の単位スイッチ６０２と２段目の単位スイッチ６０３の間の並列リンクを関連法（“並列リンクのあるスイッチ網の検討”、１９９４年電子情報通信学会秋季大会、Ｂ−４３９）により入力ポートと関連づける。例えば、ある１段目の単位スイッチの入力リンクの３番目および４番目より入力したセルは、その単位スイッチと各２段目の単位スイッチを結ぶｇ本の並列リンクのうちのそれぞれ２番目を通過するように経路を選ぶ、などと関連づける。これにより、１段目の単位スイッチ内では確率的なセルの待ち合わせは生じない。
【０１２９】
　以下に入力バッファ６０１について述べる。
【０１３０】
　図１１は入力バッファ６０１の構成の一例を説明するための図である。入力バッファ６０１はＵＢＲトラヒックに対してＨＯＬブロッキングの発生を防止するために、スイッチ網６２０の出力ポート別に論理キューを持つ（ＵＢＲ（１）からＵＢＲ（ｋ））。また、ＣＢＲクラス、ＶＢＲクラス用のキューとＵＢＲのマルチキャスト用のキューを持つ（ＣＢＲ，ＶＢＲ，ＵＢＲＭ）。
【０１３１】
　入力ポートから入力したセルは識別部６０１ｃで、ＣＢＲ（ユニキャスト／マルチキャスト両方）か、ＶＢＲ（ユニキャスト／マルチキャスト両方）か、ＵＢＲマルチキャストか、ＵＢＲユニキャストのどの出力ポート行きかを識別され、それぞれＣＢＲ，ＶＢＲ，ＵＢＲＭ，ＵＢＲ（１）〜ＵＢＲ（ｋ）のキューの末尾にキューイングされる。
【０１３２】
　選択部６０１ｃは、各キューのキュー長と出力ポート別フロー制御信号の内容の関係において予め定められた優先順位によりキューの先頭からセルを出力する。フロー制御信号により出力が許可されているキューのみを出力の対象とする。
【０１３３】
　出力ポート別フロー制御信号は、ＵＢＲマルチキャスト用（ＵＢＲＭ用）、各ＵＢＲの出力ポート別のユニキャスト用（ＵＢＲ（１）用〜ＵＢＲ（ｋ）用）がある。入力バッファ６０１内のキューに対応して、出力の許可／禁止を指示する。ＵＢＲマルチキャスト用のフロー制御信号は全ての出力バッファからのＵＢＲマルチキャスト用フロー制御信号を論理演算したものが入力される。すなわち全てのＵＢＲマルチキャスト用フロー制御信号がセル出力を許可した時に、ＵＢＲマルチキャスト用キューからのセルの出力が許可される。ＵＢＲユニキャスト用のフロー制御信号は、対応した出力ポートに接続されている出力バッファ６０４から入力される。
【０１３４】
　入力バッファ６０１は、選択部６０１ｄからセルをスイッチ網６２０へ転送する部分だけｎ倍速で動作する。すなわち、入力バッファ６０１の選択部６０１ｃからセルをスイッチ網６２０へのセルの転送は入力ポートにおける１セルサイクル時間にｎセルを転送することが可能な速度である。しかし入力バッファ内部のセルバッファに必要なスループットは、入力ポートにおける１セルサイクル時間に１セルを書き込み、同時に１セルを読み出すことができればよい。これは、出力バッファ６０４や共通バッファとは異なり、セルスイッチ６１０の入出力ポート数によらないので、バッファ容量の拡張が比較的容易である。
【０１３５】
　以下に単位スイッチについて述べる。
【０１３６】
　図１２は第３の構成の１段目に用いることが可能な単位スイッチの論理的構成の一例を説明する図である。
【０１３７】
　図は論理的な構成を示し、物理的な構成を表しているわけではない。単位スイッチ６０２に入力されたセルは、識別部６０２ａによりそのクラスおよび出力リンクを判定され適当なクラス、出力リンクに対応したキューにキューイングされる。マルチキャストセルの場合には、識別部６０２ａにおいて複数のキューにコピーされキューイングされる。選択部６０２ｃは、キューに蓄積されているセルを、ＣＢＲキュー、ＶＢＲキュー、ＵＢＲキューの順の優先度で、各キューの先頭から順に読みだし出力する。もしＵＢＲフロー制御信号入力（１）〜（ｍ）がセルの出力の抑制を示しているならその出力リンクのＵＢＲキューからセルを出力しない。バッファ状態管理部６０２ｂはバッファ状態情報より入力したセルをキューにキューイング可能かどうかを判断し、場合によっては入力セルの廃棄信号を識別部６０２ａに指示する。
【０１３８】
　図１３は本実施例のセルスイッチの第３の構成の２段目の単位スイッチの論理的構成の一例を説明するための図である。基本的な構成は図１２と同じであるが、出力リンクから入力するフロー制御信号がＣＢＲ，ＶＢＲ用であることと、入力リンクに対してＵＢＲ用フロー制御信号を出力する点が異なる。選択部６０３ａは、キューに蓄積されているセルを、ＣＢＲキュー、ＶＢＲキュー、ＵＢＲキューの順の優先度で、各キューの先頭から順に読みだし出力する。もしＣＢＲ，ＶＢＲ用フロー制御信号入力（１）〜（ｍ）がセルの出力の抑制を示しているなら、その出力リンクのＣＢＲキューとＶＢＲキューからセルを出力しない。バッファ状態管理部６０３ｂは、バッファ状態情報よりＵＢＲ用フロー制御信号出力（１）〜（ｍ）を出力し、入力リンク毎にセルの入力を抑制する。
【０１３９】
　次に単位スイッチ間のフロー制御信号について述べる。
【０１４０】
　第３の構成は、基本的には出力バッファからスイッチ網、スイッチ網から入力バッファ、および、２段目の単位スイッチから１段目の単位スイッチへのＵＢＲ用フロー制御信号は不要である。よって、図１２に示してあるＵＢＲ用フロー制御信号入力と、図１３に示してあるＵＢＲ用フロー制御信号出力は基本的には必要ではない。しかし、ＵＢＲ用のフロー制御と、単位スイッチ内のバッファ量の関係について次のようなことがいえる。
【０１４１】
　入力バッファへのフロー制御により単位スイッチ内のキュー長の和には入力トラヒックによらない上限値がある。単位スイッチがこの上限値以上セルバッファを持つことにより単位スイッチ内部のバッファの空き領域が無くなることはない。この上限値を理論上十分なバッファ容量と考える。単位スイッチ内のキュー長の和が上限値に到達する確率が、現実には非常に小さい場合が考えられる。もし、理論上十分なバッファ容量を２段目単位スイッチに実装しなかったとすると、ある確率でその単位スイッチ内の全てのバッファ容量を使い切ってしまうことになる。この場合には、スイッチ網の２段目単位スイッチから１段目スイッチへフロー制御をかける。すなわち図１２で説明したフロー制御信号を用いて、図４の様な、単位スイッチ間のフロー制御信号を接続しセルの廃棄を防ぐことができる。
【０１４２】
　しかし図４の様な構成においてフロー制御が２段目の単位スイッチ６０３から１段目の単位スイッチ６０２へ作用する場合には、図１３の様な論理的構成を持つ単位スイッチでは、１段目の単位スイッチ６０２においてＨＯＬブロッキングが発生しスループットが低下する。したがって、このときのＨＯＬブロッキングによるスループットの低下とセルバッファを実装することによるハードウェア規模およびコスト増加のトレードオフにおいて、単位スイッチへの実装バッファ量を決定する必要がある。
【０１４３】
　もしＨＯＬブロッキングによるスループットの低下が許容できる範囲内である場合には、単位スイッチ間のフロー制御信号は有効に作用し、２段目単位スイッチ６０３内の実装バッファ量を減少させることができる利点がある。
【０１４４】
　同様に、その他のバッファ間、例えば、出力バッファとスイッチ網の間や、１段目単位スイッチと入力バッファの間もＵＢＲ用フロー制御信号を配線してもかまわない。この場合には、これらのフロー制御信号により実装バッファ量を減らすことが可能であるという利点がある。
【０１４５】
　以下に出力バッファについて述べる。
【０１４６】
　図１４は第３の構成のセルスイッチの出力バッファの構成の一例を説明するための図である。スイッチ網６２０から転送されてきたセルは、識別部６０４ｂにより、クラスを判定され、ＣＢＲ，ＶＢＲ，ＵＢＲの中の適当なクラスのキューに一時的に蓄積される。スイッチ網６２０からのセルの転送は、出力ポートでの１セルサイクル時間に最大ｎセル転送されてくる可能性がある。したがって、このキューは速度変換の役割を果たす。選択部６０４ａは、ＣＢＲ，ＶＢＲ，ＵＢＲの各キューから、予め定められた優先度に従ってセルを読み出す。
【０１４７】
　基本的にはＣＢＲ，ＶＢＲ用のバッファは少なくて良い。バッファからセルが溢れないように、出力バッファ６０４は、スイッチ網６２０へＣＢＲ，ＶＢＲ用フロー制御信号を出力する。ＵＢＲセルに関しては入力バッファ６０１へ出力ポート別フロー制御信号を出力する。
【０１４８】
　以下に入力バッファ６０１へのフロー制御信号について述べる。
【０１４９】
　出力バッファ６０４から入力バッファ６０１へ出力する出力ポート別フロー制御信号は、出力ポート毎のＵＢＲユニキャスト用とＵＢＲマルチキャスト用の２種類である。
【０１５０】
　ＵＢＲ用フロー制御信号の決定方法は、例えば、次のような二つの方法が考えられる。
【０１５１】
　まず、マルチキャストセルとユニキャストセルを合わせて数えたキュー長によって決める方法がある。そのときのキュー長と予め定められたふたつの閾値Ｑthm ，Ｑthu と比較することにより決定する（Ｑthm ≧Ｑthu とする）。キュー長が閾値Ｑthu 以上になった場合にはその出力ポート行きのユニキャストセルの転送を禁止し、キュー長がさらに大きくなり閾値Ｑthm 以上になった場合にはユニキャストセルとともにマルチキャストセルの転送を禁止する。
【０１５２】
　別の方法としては、マルチキャストセルとユニキャストセルの出力バッファ内蓄積セル数を個別に計数し決める方法がある。マルチキャストセル数とユニキャストセル数が、それぞれ閾値Ｃthm ，Ｃthu を越えたかどうかでそれぞれのセルの転送の許可／禁止を決める。
【０１５３】
　上記した第３の構成によれば、複数のサービスクラスに対応する場合に、第１の構成や第２の構成とは異なり複数のセルスイッチが必要ではない。そのため、スイッチノード全体のハードウェア規模が小さいという利点がある。また、第３の構成のＵＢＲに関する出力ポート別フロー制御は、第１の構成と同じ方式で動作させるため、単位スイッチならびに出力バッファに必要なＵＢＲ用のバッファ容量し、第１の構成で述べたように計算できる。
【０１５４】
　以下に第４の構成について述べる。
【０１５５】
　まず、全体構成について述べる。
【０１５６】
　図１５は第４の構成の一実施例である。ｋ本の入力ポートから入力されたセルは、単位スイッチ６０２、６０３を接続して構成されるスイッチ網６２０により交換された後、出力ポートから出力される。
【０１５７】
　第３の構成（図１０）との違いは、出力バッファがなく、出力ポート別フロー制御信号を２段目の単位スイッチ６０３が出力するようになっていることである。
【０１５８】
　入力バッファ６０１の出力から２段目の単位スイッチ６０３までの区間においては、各リンクの速度は出力ポートの速度のｎ倍になっている。
【０１５９】
　第４の構成は、ｎがｋより小さくとも、従来の出力バッファ型のバッファ容量拡張が容易なセルスイッチと同等の性能が得られる。ｎの値はスイッチ網の形態によるが、例えば、８入力８出力単位スイッチを使用して１６入力１６出力のセルスイッチを構成する場合は、ｎ＝２でよい。
【０１６０】
　スイッチ網６２０はｍ入力ｍ出力の単位スイッチを互いに接続して構成される。１段目の単位スイッチ６０２（１，ｉ）（ただし１≦ｉ≦ｈ）の出力リンクはそれぞれ図のようにｇ本ずつ並列に２段目の単位スイッチ６０３（２，ｊ）（ただし１≦ｊ≦ｈ）の入力リンクと接続される。ｍ，ｇ，ｈ，ｋの関係は、ｍ≧ｇｈ，ｋ≦ｍｈである。この様な接続を２段デルタ網接続と呼ぶ。図の２段デルタ網のマルチレートノンブロッキング条件は、ｎ≧ｍ／ｇである（よって、ｎ≧ｍ／ｇ≧ｈ≧ｋ／ｍの関係がある）。１段目の単位スイッチ６０２と２段目の単位スイッチ６０３の間の並列リンクを関連法（“並列リンクのあるスイッチ網の検討”、１９９４年電子情報通信学会秋季大会、Ｂ−４３９）により入力ポートと関連づける。例えば、ある１段目の単位スイッチの入力リンクの３番目および４番目より入力したセルは、その単位スイッチと各２段目の単位スイッチを結ぶｇ本の並列リンクのうちのそれぞれ２番目を通過するように経路を選ぶ、などと関連づける。これにより、１段目の単位スイッチ内では確率的なセルの待ち合わせは生じない。
【０１６１】
　以下に入力バッファ６０１について述べる。
【０１６２】
　図１１は本実施例のセルスイッチの入力バッファの構成の一例を説明するための図である。入力バッファ６０１はＵＢＲトラヒックに対してＨＯＬブロッキングの発生を防止するために、スイッチ網６２０の出力ポート別に論理キューを持つ（ＵＢＲ（１）からＵＢＲ（ｋ））。また、ＣＢＲクラス、ＶＢＲクラス用のキューとＵＢＲのマルチキャスト用のキューを持つ（ＣＢＲ，ＶＢＲ，ＵＢＲＭ）。
【０１６３】
　入力ポートから入力したセルは識別部６０１ｃで、ＣＢＲ（ユニキャスト／マルチキャスト両方）か、ＶＢＲ（ユニキャスト／マルチキャスト両方）か、ＵＢＲマルチキャストか、ＵＢＲユニキャストのどの出力ポート行きかを識別され、それぞれＣＢＲ，ＶＢＲ，ＵＢＲＭ，ＵＢＲ（１）〜ＵＢＲ（ｋ）のキューの末尾にキューイングされる。
【０１６４】
　選択部６０１ｄは、各キューのキュー長と出力ポート別フロー制御信号の内容の関係において予め定められた優先順位によりキューの先頭からセルを出力する。フロー制御信号により出力が許可されているキューのみを出力の対象とする。
【０１６５】
　出力ポート別フロー制御信号は、ＵＢＲマルチキャスト用（ＵＢＲＭ用）、各ＵＢＲの出力ポート別のユニキャスト用（ＵＢＲ（１）用〜ＵＢＲ（ｋ）用）がある。入力バッファ内のキューに対応して、出力の許可／禁止を指示する。ＵＢＲマルチキャスト用のフロー制御信号は全ての２段目単位スイッチ６０３からのＵＢＲマルチキャスト用フロー制御信号を論理演算したものが入力される。すなわち全てのＵＢＲマルチキャスト用フロー制御信号がセル出力を許可した時に、ＵＢＲマルチキャスト用キューからのセルの出力が許可される。ＵＢＲユニキャスト用のフロー制御信号は、対応した出力ポートに接続されている２段目単位スイッチ６０３から入力される。
【０１６６】
　入力バッファ６０１は、選択部６０１ｃからセルをスイッチ網６２０へ転送する部分だけｎ倍速で動作する。すなわち、入力バッファ６０１の選択部６０１ｃからセルをスイッチ網６２０へのセルの転送は入力ポートにおける１セルサイクル時間にｎセルを転送することが可能な速度である。しかし入力バッファ内部のセルバッファに必要なスループットは、入力ポートにおける１セルサイクル時間に１セルを書き込み、同時に１セルを読み出すことができればよい。これは、出力バッファ６０４や共通バッファとは異なり、セルスイッチ６１０の入出力ポート数によらないので、バッファ容量の拡張が比較的容易である。
【０１６７】
　以下に単位スイッチについて述べる。
【０１６８】
　図１２は第４の構成の１段目に用いることが可能な単位スイッチの論理的構成の一例を説明する図である。
【０１６９】
　図は論理的な構成を示し、物理的な構成を表しているわけではない。単位スイッチ６０２に入力されたセルは、識別部６０２ａによりそのクラスおよび出力リンクを判定され適当なクラス、出力リンクに対応したキューにキューイングされる。マルチキャストセルの場合には、識別部６０２ａにおいて複数のキューにコピーされキューイングされる。選択部６０２ｃは、キューに蓄積されているセルを、ＣＢＲキュー、ＶＢＲキュー、ＵＢＲキューの順の優先度で、各キューの先頭から順に読みだし出力する。もしフロー制御信号入力（１）〜（ｍ）がセルの出力の抑制を示しているなら、その出力リンクのＵＢＲキューからセルを出力しない。バッファ状態管理部６０２ｂは、バッファ状態情報より入力したセルをキューにキューイング可能かどうかを判断し、場合によっては入力セルの廃棄信号を識別部６０２ａに指示する。
【０１７０】
　図１６は第４の構成の２段目の単位スイッチ６０３の論理的構成の一例を説明するための図である。基本的な構成は図１２と同じであるが、単位スイッチからのセルの出力が、出力ポートでの１セルサイクル時間に最大でも、１出力リンクあたり１セルしか出力しない点と、単位スイッチ内のバッファ状態管理部から入力バッファへ出力ポート別フロー制御信号を出力する点が異なる。
【０１７１】
　１段目単位スイッチ６０２から転送されてきたセルは、キューに一時的に蓄積される１段目からのセルの転送は、２段目の単位スイッチ６０３の入力リンクにおいて、出力ポートでの１セルサイクル時間に最大ｋセル転送されてくる可能性がある。したがって、単位スイッチ内のキューは、セル交換時の待ち合わせ用としての役割の他に、速度変換機能としての役割を持つ。
【０１７２】
　以下に入力バッファ６０１へのフロー制御信号について説明する。２段目単位スイッチから６０３入力バッファ６０１へ出力する出力ポート別フロー制御信号は、出力ポート毎のＵＢＲユニキャスト用とＵＢＲマルチキャスト用の２種類である。
【０１７３】
　ＵＢＲ用フロー制御信号の決定方法は、例えば、次のような二つの方法が考えられる。
【０１７４】
　まず、出力リンク毎のキュー長によって決める方法がある。キュー長はマルチキャストセルとユニキャストセルを合わせて数えたものを用いる。そのときのキュー長と予め定められたふたつの閾値Ｑthm ，Ｑthu と比較することにより決定する（Ｑthm ≧Ｑthu とする）。キュー長が閾値Ｑthu 以上になった場合にはユニキャストセルの転送のみを禁止し、キュー長がさらに大きくなり閾値Ｑthm 以上になった場合にはユニキャストセルとともにマルチキャストセルの転送を禁止する。単位スイッチから出力するマルチキャストセル用のフロー制御信号は単位スイッチ内部の全ての出力リンクのキュー長がＱthm 以下になった場合に、入力バッファに対してマルチキャストセルの出力を許可する。
【０１７５】
　別の方法としては、マルチキャストセルとユニキャストセルの蓄積セル数を個別に計数し決める方法がある。単位スイッチ内の全マルチキャストセル数と出力リンク事に計数したユニキャストセル数をそれぞれ計数し、それぞれ閾値ＣthmＣthu を越えたかどうかでそれぞれのセルの転送の許可／禁止を決める。
【０１７６】
　単位スイッチ内で複数の出力ポートへ出力されるマルチキャストセルであっても、１つの入力セルにつき、１セル分のバッファ領域しか占有しないアーキテクチャの単位スイッチが知られている。その場合は単位スイッチ内に実装するバッファ量を削減できる。さらに、マルチキャスト用のフロー制御信号は、第１の構成のように出力ポートにつき１本ずつではなく、単位スイッチ毎に複数の出力ポート分を統合して１本出力されるため、単位スイッチから入力バッファへのフロー制御信号の実装も容易になるという利点がある。
【０１７７】
　以下に、単位スイッチ間のフロー制御信号について述べる。
【０１７８】
　第４の構成では、基本的にはスイッチ網６２０から入力バッファ６０１、および、２段目の単位スイッチ６０３から１段目の単位スイッチ６０２へはフロー制御信号は不要である。よって、図１２，図１６に示してあるＵＢＲ用フロー制御信号入力／出力は基本的には必要ない。しかし、ＵＢＲ用のフロー制御と、単位スイッチ内のバッファ量の関係について次のようなことがいえる。
【０１７９】
　入力バッファ６０１へのフロー制御により単位スイッチ内のキュー長の和には入力トラヒックによらない上限値がある。単位スイッチがこの上限値以上セルバッファを持つことにより単位スイッチ内部のバッファの空き領域が無くなることはない。この上限値を理論上十分なバッファ容量と考える。単位スイッチ内のキュー長の和が上限値に到達する確率が、現実には非常に小さい場合が考えられる。もし、理論上十分なバッファ容量を２段目単位スイッチ６０３に実装しなかったとすると、ある確率でその単位スイッチ内の全てのバッファ容量を使い切ってしまうことになる。この場合には、スイッチ網６２０の２段目単位スイッチ６０３から１段目スイッチ６０２へフロー制御をかける。すなわち図１２で説明したフロー制御信号を用いて、図４の様な、単位スイッチ間のフロー制御信号を接続しセルの廃棄を防ぐことができる。
【０１８０】
　しかし図４の様な構成においてフロー制御が２段目の単位スイッチ６０３から１段目の単位スイッチ６０２へ作用する場合には、図１６の様な論理的構成を持つ単位スイッチでは、１段目の単位スイッチ６０２においてＨＯＬブロッキングが発生しスループットが低下する。したがって、このときのＨＯＬブロッキングによるスループットの低下とセルバッファを実装することによるハードウェア規模およびコスト増加のトレードオフにおいて、単位スイッチへの実装バッファ量を決定する必要がある。
【０１８１】
　もしＨＯＬブロッキングによるスループットの低下が許容できる範囲内である場合には、単位スイッチ間のフロー制御信号は有効に作用し、２段目単位スイッチ内６０３の実装バッファ量を減少させることができる利点がある。
【０１８２】
　同様に、その他のバッファ間、すなわち１段目単位スイッチ６０２と入力バッファ６０１の間もＵＢＲ用フロー制御信号を配線してもかまわない。この場合には、これらのフロー制御信号により実装バッファ量を減らすことが可能であるという利点がある。
【０１８３】
　上記した第４の構成によれば、出力バッファが不要であるためセルスイッチの全体の大きさが小さいという利点がある。さらに、単位スイッチ内部のバッファ量に直接閾値を設定できるため、単位スイッチ内部に必要なバッファ容量が第３の構成と比較して小さいという利点がある。
【０１８４】
　なお、上記した第１、第２、第３、第４の構成例において、スイッチ網が２段デルタ網の場合は、例えばｍ＝８（８×８の単位スイッチ）、ｎ＝２（２倍速）の場合には、ｋ＝１６（セルスイッチの入出力ポート数が１６×１６）を実現することができ、ｍ＝８，ｎ＝４の場合には、ｋ＝３２を実現することができる。
【０１８５】
　また、スイッチ網は、２段デルタ網ではなく、単一の単位スイッチであってもかまわない。この場合、単位スイッチは、上述の２段目の単位スイッチと同様の構成になる。
【０１８６】
　本実施例のセルスイッチは、共通バッファ型単位スイッチを使用することにより、比較的少量の単位スイッチ内バッファで、従来の出力バッファ型セルスイッチと同等の性能を得ることが可能となる利点がある。
【０１８７】
　さらに、第１、第３の構成例において、複数の出力バッファを一つのＬＳＩに集積して実現しても良い。基板上の実装面積が減り、さらにバッファを出力ポート間で共有することができ、実装バッファ量を少なくできるという利点がある。
【０１８８】
　さらに、第３，４の構成例において、セルスイッチで扱うサービスクラスの数を増やしたアーキテクチャを容易に考えることができる。具体的には、例えば大容量のバッファが必要なサービスクラスを増やす場合は、各バッファにおいてＵＢＲ用のキューと並列に論理キューの数を増やし、かつ、バッファ間のフロー制御信号でＵＢＲ用のものがある所に、並列して新たに加わるサービスクラス用のフロー制御信号を配線すれば良い。本発明は、これらの内部でいくつかのサービスクラスを扱っているのかに関わらず有効に作用する。
【０１８９】
　次に第２の実施形態について説明する。
【０１９０】
　図２０は第２の実施形態の第１の構成を示す図である。
【０１９１】
　フロー制御を行なえる機構を有する共通バッファ型ＡＴＭスイッチを複数用いてＡＴＭスイッチの記憶手段の記憶容量を拡張する方法は、特開平４−０３８０３６において開示されているが、これに対して、第２の実施形態の第１の構成は、直進モードを実現する例としてセルのルーティングタグを利用する方法をとり、共通バッファ型ＡＴＭスイッチの記憶手段の記憶容量を拡張する詳細な実施例を示すものである。
【０１９２】
　１００ａは共通バッファ型ＡＴＭスイッチである。１００ｂは前記共通バッファ型ＡＴＭスイッチ１００ａと同一の共通バッファ型ＡＴＭスイッチであって、前記共通バッファ型ＡＴＭスイッチ１００ａの出力ポートと前記共通バッファ型ＡＴＭスイッチ１００ｂの入力ポートとをポート番号に基づいて同一の番号のポートを接続することによって、前記共通バッファ型ＡＴＭスイッチ１００ａと前記共通バッファ型ＡＴＭスイッチ１００ｂは縦続接続される。
【０１９３】
　１０，１１，１２，１３は前記共通バッファ型ＡＴＭスイッチ１００ａの入力ポートである。３０，３１，３２，３３は前記共通バッファ型ＡＴＭスイッチ１００ａの出力ポートであると同時に、前記共通バッファ型ＡＴＭスイッチ１００ｂの入力ポートでもある。５０，５１，５２，５３は前記共通バッファ型ＡＴＭスイッチ１００ｂ出力ポートである。
【０１９４】
　７０ａ，７０ｂ，７０ｃおよび７１ａ，７１ｂ，７１ｃはスイッチ内部で取り扱われるフォーマットを有するセルを表す。すなわち、７０１ａ，７０１ｂ，７０１ｃおよび７１１ａ，７１１ｂ，７１１ｃは情報部とＡＴＭスイッチ内でスイッチングのために使用されるルーティングタブを除くヘッダ部とを含んだ部分であり、７０２１ａ，７０２１ｂ，７０２１ｃおよび７１２１ａ，７１２１ｂ，７１２１ｃは前記共通バッファ型ＡＴＭスイッチ１００ａ内部で取り扱われるルーティングタグ、７０２２ａ，７０２２ｂ，７００２２ｃおよび７１２２ａ，７１２２ｂ，７１２２ｃは前記共通バッファ型ＡＴＭスイッチ１００ｂ内部で取り扱われるルーティングタグを、それぞれ示す。なお、ルーティングを除くヘッダ部にはＡＴＭセルヘッダが含まれるが、その他に、例えば、優先制御のための情報マルチキヤストのための情報などが含まれるようにしても良い。
【０１９５】
　前記共通バッファ型ＡＴＭスイッチ１００ａおよび１００ｂは、ＡＴＭスイッチを多段接続して運用した場合にセル廃棄率を良好な状態に保つために自スイッチ内の共通バッファにおけるセルの蓄積状態を管理し、これにより自スイッチの前段のスイッチからのセル出力を制御するセル出力制御信号を、セルを出力する方向とは逆向きに出力する。２０，２１，２２，２３は前記共通バッファ型ＡＴＭスイッチ１００ａからの前記セル出力制御信号、４０，４１，４２，４３は前記共通バッファ型ＡＴＭスイッチ１００ｂからの前記セル出力制御信号である。６０，６１，６２，６３は前記共通バッファ型ＡＴＭスイッチ１００ｂよりも後段のスイッチ、あるいは、別のスイッチポートから、送られてくる可能性のある前記セル出力制御信号である。
【０１９６】
　以下、前記共通バッファ型ＡＴＭスイッチ１００ｂを例に前記セル出力制御信号について説明する。仮に前記共通バッファ型ＡＴＭスイッチ１００ｂ内の共通バッファ中の“空き容量”が予め定められた水準よりも少ないとすると、入力ポート３０，３１，３２，３３のそれぞれに対応してセル流を抑制するセル出力制御信号４０，４１，４２，４３を一斉に出力する。この他の方法として、前記セル出力制御信号４０，４１，４２，４３を個別に出力するように制御することも可能である。
【０１９７】
　また、前記セル出力制御信号は、セルを共通バッファ内に確実に書き込んだ場合に前段のスイッチにセルの送信を許可する信号として、前記共通バッファ型ＡＴＭスイッチ１００ａに対して個別に出力するようにしてもよい。
【０１９８】
　以上述べてきたセル出力制御信号によりセルの送信を制御する方法は、いわゆるフロー制御と呼ばれている。
【０１９９】
　さて、第１の構成による動作を以下に説明する。まず、コネクション設定時にはコネクション設定プロセスが作動して、セルの前記ルーティングタグの各部分に情報が書き込まれる。この結果、図２０では、前記セル７０ａの前記ルーティングタグ７０２１ａおよび７０２２ａの２つの部分には、前記共通バッファ型スイッチ１００ａおよび前記共通バッファ型ＡＴＭスイッチ１００ｂにおける宛先情報としての出力ポート番号として、それぞれ＃０と＃３が書き込まれる。
【０２００】
　前記共通バッファ型ＡＴＭスイッチ１００ａに前記セル７０ａが前記入力ポート１０から入力されると、前記セル７０ａ内の前記ルーティングタグ７０２１ａを参照してスイッチングを行なう。この結果、前記セル７０ａは前記入力ポート１０と同一のポート番号＃０を有する前記出力ポート３０へ、前記セル７０ｂとして出力される。前記共通バッファ型ＡＴＭスイッチ１００ｂは前記セル７０ｂを前記入力ポート３０より受けとり、前記セル７０ｂ内の前記ルーティングタグ７０２２ｂを参照してスイッチングを行なう。この結果、前記セル７０ｂはポート番号＃３を有する前記出力ポート５３へ前記セル７０ｃとして出力される。
【０２０１】
　以上、前記セル７０ａ，７０ｂ，７０ｃに着目して、前記共通バッファ型ＡＴＭスイッチ１００ａおよび１００ｂの動作を説明したが、前記セル７１ａ，７１ｂ，７１ｃについても同様な動作により処理されるため、ここでは説明を省略する。
【０２０２】
　コネクション設定時にセル内のルーティングタグを上述のようにして設定することによって、前記共通バッファ型のＡＴＭスイッチ１００ａは、任意の入力ポートから入力されたセルが前記任意の入力ポートのポート番号と同一の番号を持つ出力ポートから出力されるように設定することができる。これに加えて、前記共通バッファ型ＡＴＭスイッチ１００ｂが上述のいずれかの方法の前記フロー制御を前記共通バッファ型ＡＴＭスイッチ１００ａに対して行なうことによって、前記共通バッファ型ＡＴＭスイッチ１００ａと前記共通バッファ型ＡＴＭスイッチ１００ｂとは協調して動作することができ、この２つを合わせて１つの共通バッファ型のＡＴＭスイッチと見なすことができる。
【０２０３】
　したがって、上記した第１の構成によると、前記フロー制御を実施できる同一の共通バッファ型ＡＴＭスイッチを２つ用意するだけで、共通バッファの容量が２倍の共通バッファ型ＡＴＭスイッチを構成することが容易に可能となる。
【０２０４】
　図２１に、図１に示した第１の構成における前記共通バッファ型ＡＴＭスイッチ１００ａおよび１００ｂのアーキテクチャを示す。図２１は従来から提案されている共通バッファ型ＡＴＭスイッチで、入出力ポート数が４の場合を表している。１０，１１，１２，１３は入力ポートを示し、３０，３１，３１，３３は出力ポートを示す。２０，２１，２２，２３は当該共通バッファ型ＡＴＭスイッチから発せられるセル出力制御信号で、当該共通バッファ型ＡＴＭスイッチ内の制御部３０３により、セルバッファ３０１の管理状況から生成される第１の制御信号４を基に作られる。４０，４１，４２，４３は、当該ＡＴＭスイッチの後段のＡＴＭスイッチから、もしくは、前記各出力ポートに対応する出力インタフェースから、送られてくるセル出力制御信号である。７は前記セル出力制御信号４０，４１，４２，４３より得られる第２の制御信号である。
【０２０５】
　前記制御部３０３は、前記入力制御部３０３０、前記アドレス制御部およびアドレス管理部３０３１、そして、前記出力制御部３０３２の３つの部分からなる。
【０２０６】
　３００は前記入力ポート１０，１１，１２，１３からのセルを前記入力制御部３０３０から切替え制御信号３を用いて時分割多重する多重化回路で、１には前記入力ポートの各々からのセルが多重化されて乗せられる。
【０２０７】
　３０１はセルバッファ（共通バッファ）で、前記１に乗せられたセルを、アドレスおよび制御信号５に書き込みアドレスおよび書き込み制御信号をのせて、これによって記憶し、また、前記アドレスおよび制御信号５として読み出しアドレスおよび読み出し制御信号を乗せることにより、セルを読み出し、６へ乗せる。前記書き込みアドレスおよび書き込み制御信号と前記読み出しアドレスおよび読み出し制御信号とは、前記多重化回路３００より送られるヘッダ部の情報２の中のルーティングタグをもとにして、前記アドレス制御部およびアドレス管理部３０３１で作られる。
【０２０８】
　３０２は分離化回路で、前記６へと乗せられたセルを、前記制御部３０３内の出力制御部３０３２より与えられる分離化回路制御信号８を用いて前記出力ポート３０，３１，３２，３３の中から、前記ルーティングタグを参照して得られた宛先の出力ポートへ順次出力する。
【０２０９】
　この前記ルーティングタグの設定によって、上に述べた第１の構成例の前記共通バッファ型ＡＴＭスイッチ１００ａのように、任意の入力ポートから入力されたセルは必ず前記任意の入力ポートと同一のポート番号を有する出力ポートから出力されるように共通バッファ型ＡＴＭスイッチ１００を動作させることが可能である。
【０２１０】
　次に第２の実施形態の第２の構成について述べる。
【０２１１】
　図２２は第２の構成を示す図である。第２の構成では第１の構成の図２０での前記共通バッファ型ＡＴＭスイッチ１００ａ，１００ｂに対して、モード設定入力を新たに設けたことに特徴がある。図中の１０１ａおよび１０１ｂは前記モード設定入力を有した同一の共通バッファ型ＡＴＭスイッチである。前記共通バッファ型ＡＴＭスイッチ１０１ａおよび１０１ｂは、前記モード設定入力として、通常のスイッチング動作を行なう通常モードと、第１の構成の図２０中の前記共通バッファ型ＡＴＭスイッチ１００ａのように、任意の入力ポートから入力されたセルは前記任意の入力ポートと同一のポート番号を有する出力ポートから出力するように動作する直進モードとを少なくとも具備する。この共通バッファ型ＡＴＭスイッチのアーキテクチャについては、後ほど詳しく述べる。
【０２１２】
　８０ａおよび８０ｂはモード設定信号で、前記共通バッファ型ＡＴＭスイッチを少なくとも通常モードと直進モードとに設定することが可能である。前記共通バッファ型ＡＴＭスイッチ１０１ａを前記モード設定信号８０ａを前記直進モードと設定して前段に、そして前記共通バッファ型ＡＴＭスイッチ１０１ｂを前記モード設定信号８０ｂを前記通常モードと設定して後段に設置し、前記共通バッファ型ＡＴＭスイッチ１０１ａの出力ポートと前記共通バッファ型ＡＴＭスイッチ１０１ｂの入力ポートとをそのポート番号に基づいて同一の番号のポートを接続して、前記共通バッファ型ＡＴＭスイッチ１０１ａおよび１０１ｂを縦続に接続する。
【０２１３】
　１０，１１，１２，１３は前記共通バッファ型ＡＴＭスイッチ１０１ａの入力ポート、３０，３１，３２，３３は前記共通バッファ型ＡＴＭスイッチ１０１ａの出力ポートであると同時に、前記共通バッファ型ＡＴＭスイッチ１０１ｂの入力ポートでもある。５０，５１，５２，５３は前記共通バッファ型ＡＴＭスイッチ１０１ｂの出力ポートである。
【０２１４】
　２０，２１，２２，２３は前記共通バッファ型ＡＴＭスイッチ１０１ａからのセル出力制御信号、４０，４１，４２，４３は前記共通バッファ型ＡＴＭスイッチ１０１ｂからのセル出力制御信号である。６０，６１，６２，６３は前記共通バッファ型ＡＴＭスイッチ１０１ｂの後段の共通バッファ型ＡＴＭスイッチ、あるいは、別のスイッチボードからのセル出力制御信号である。
【０２１５】
　７２ａ，７２ｂ，７２ｃおよび７３ａ，７３ｂ，７３ｃはスイッチ内部で取り扱われるフォーマットを有するセルを表す。すなわち、７２１ａ，７２１ｂ，７２１ｃおよび７３１ａ，７３１ｂ，７３１ｃはユーザが自由に情報を載せられる情報部を示し、７２２ａ，７２２ｂ，７２２ｃおよび７３２ａ，７３２ｂ，７３２ｃは、スイッチ内部で取り扱われるルーティングタグ、優先制御のための優先クラスの情報、マルチキャストのための情報、およびＡＴＭセルヘッダなどを含むヘッダ部を示す。
【０２１６】
　以下、第２の実施形態の第２の構成を図２２を見ながら説明する。
【０２１７】
　前記共通バッファ型ＡＴＭスイッチ１０１ａが前記直進モードに設定されるため、前記入力ポート１０より前記共通バッファ型ＡＴＭスイッチ１０１ａに入力される前記セル７２ａは、セルに含まれる全てのデータが保存された状態でそのまま前記共通バッファ型ＡＴＭスイッチ１０１ａを通過する。すなわち、前記入力ポート１０はポート番号が＃０であり、この番号を有する前記出力ポート３０へ、前記セル７２ａは前記セル７２ｂとして出力され、前記セル７２ａの前記ヘッダ部７２２ａ内の宛先情報“＃３”は、前記セル７２ｂの前記ヘッダ部７２２ｂにおいても保存されている。前記セル７２ｂは前記共通バッファ型ＡＴＭスイッチ１０１ｂに入力され、その前記ヘッダ部７２２ｂに保存されている宛先情報が＃３であることから、ポート番号＃３に対応する前記出力ポート５３へと出力されて、前記セル７２ｃとなる。
【０２１８】
　前記セル７３ａ，７３ｂ，７３ｃは、前記セル７２ａ，７２ｂ，７２ｃと同様に処理される。前記共通バッファ型ＡＴＭスイッチ１０１ａが前記直進モードに設定されるため、前記入力ポート１２より前記共通バッファ型ＡＴＭスイッチ１０１ａに入力される前記セル７３ａは、セルに含まれる全てのデータが保存された状態でそのまま前記共通バッファ型ＡＴＭスイッチ１０１ａを通過する。すなわち、前記入力ポート１２はポート番号が＃２であり、この番号を有する前記出力ポート３２へ、前記セル７３ａは前記セル７３ｂとして出力され、前記セル７３ａの前記ヘッダ部７３２ａ内の宛先情報“＃１”は、前記セル７３ｂの前記ヘッダ部７３２ｂにおいても保存されている。前記セル７３ｂは前記共通バッファ型ＡＴＭスイッチスイッチ１０１ｂに入力され、その前記ヘッダ部７３２ｂに保存されている宛先情報が＃１であることから、ポート番号＃１に対応する前記出力ポート５１へと出力されて、前記セル７３ｃとなる。
【０２１９】
　前記共通バッファ型ＡＴＭスイッチ１０１ｂが、第１の構成において述べたいずれかの方法の前記フロー制御を、前記共通バッファ型ＡＴＭスイッチ１０１ａに対して行なうことによって、前記共通バッファ型ＡＴＭスイッチ１０１ｂと前記共通バッファ型ＡＴＭスイッチ１０１ａとは協調して動作することができる。これより、前記共通バッファ型ＡＴＭスイッチ１０１ａと前記共通バッファ型ＡＴＭスイッチ１０１ｂとは１つの共通バッファ型のＡＴＭスイッチと見なすことができ、結果としてバッファ容量が２倍の共通バッファ型ＡＴＭスイッチを容易に得ることができる。
【０２２０】
　第１の構成の図２０では、前段の共通バッファ型ＡＴＭスイッチ１００ａにおいて、任意の入力ポートから入力されたセルが前記任意の入力ポートと同一のポート番号を有する出力ポートから出力されるように、コネクション設定時にコネクションプロセスによりルーティングタグの設定を行なう必要があった。これに対し、本構成では前記共通バッファ型ＡＴＭスイッチ１０１ａの前記モード設定信号８０ａを前記直進モードに設定するだけで、前段の共通バッファ型ＡＴＭスイッチである前記共通バッファ型ＡＴＭスイッチ１０１ａを、第１の構成における前記共通バッファＡＴＭスイッチ１００ａのように設定できる。
【０２２１】
　したがって、第２の構成によると第１の構成に比べてさらに容易に共通バッファの容量を２倍に拡張することが可能である。
【０２２２】
　なお、第２の構成では、前記モード設定入力はピン入力やディップスイッチなどの形態をとるものと考えられる。
【０２２３】
　図２３は図２２に示した方法を拡張して、任意のバッファ容量の共通バッファ型ＡＴＭスイッチを得る実施例である。すなわち、図２２の前記通常モードに設定された前記共通バッファ型ＡＴＭスイッチ１０１ｂの前に、同じく第２の構成の図２２の前記直進モードに設定された前記共通バッファ型ＡＴＭスイッチ１０１ａを１つではなく、任意の自然数ｎに対してｎ−１個だけ並べて、隣合うスイッチにおいて前段のスイッチの出力ポートを後段の入力ポートとをそのポート番号に基づいて同一の番号のものを接続するようにして、縦続接続を行なう。その上で、これら全ての前記共通バッファ型ＡＴＭスイッチ１０１ａおよび１０１ｂの隣合う間において前記フロー制御を行なうと、これらｎ個の前記共通バッファ型ＡＴＭスイッチ全体を１つの共通バッファ型ＡＴＭスイッチとみなすことができ、全体のバッファ容量はｎ倍となる。ｎを任意に設定することにより、任意のバッファ容量の共通バッファ型ＡＴＭスイッチを容易に得ることができる。
【０２２４】
　図２４は、図２２における前記共通バッファ型ＡＴＭスイッチ１０１ａおよび１０１ｂのアーキテクチャを示すものである。図２４は入出力ポート数が４の場合を表している。
【０２２５】
　１０，１１，１２，１３は入力ポートを示し、３０，３１，３２，３３は出力ポートを示す。２０，２１，２２，２３は当該共通バッファ型ＡＴＭスイッチから発せられるセル出力制御信号で、当該共通バッファ型ＡＴＭスイッチ内の制御部３０３により、セルバッファ３０１の管理状況から生成される第１の制御信号４を基に作られる。４０，４１，４２，４３は、当該ＡＴＭスイッチの後段のＡＴＭスイッチから、もしくは、前記各出力ポートに対応する出力インタフェースから、送られてくるセル出力制御信号である。７は前記セル出力制御信号４０，４１，４２，４３より得られる第２の制御信号である。
【０２２６】
　前記制御部３０３は、前記入力制御部３０３０、前記アドレス制御部およびアドレス管理部３０３１、そして、前記出力制御部３０３２の３つの部分からなる。 ３００は前記入力ポート１０，１１，１２，１３からのセルを前記入力制御部３０３０からの切替え制御信号３を用いて時分割多重する多重化回路で、１には前記入力ポートの各々からのセルが多重化されて乗せられる。
【０２２７】
　３０１はセルバッファ（共通バッファ）で、前記１に乗せられたセルを、アドレスおよび前記信号５に書き込みアドレスおよび書き込み制御信号をのせて、これによって記憶し、また、前記アドレスおよび制御信号５として読み出しアドレスおよび読み出し制御信号を乗せることにより、セルを読み出し、６へ乗せる。前記書き込みアドレスおよび書き込み制御信号と前記読み出しアドレスおよび読み出し制御信号とは、前記アドレス制御部およびアドレス管理部３０３１で作られる。
【０２２８】
　３０２は分離化回路で、前記６へと乗せられたセルを、前記制御部３０３内の出力制御部３０３２より与えられる分離化回路制御信号８を用いて前記出力ポート３０，３１，３２，３３の中から、前記ルーティングタグを参照して得られた宛先の出力ポートへ順次出力する。
【０２２９】
　８０は前記モード設定信号で、少なくとも前記通常モードおよび前記直進モードを設定できるようにする。
【０２３０】
　前記モード設定信号８０により前記通常モードに設定された場合には、セルを前記セルバッファ３０１に書き込む時に、ヘッダ部の情報２の中の前記ルーティングタグより解析される宛先情報を前記セルと１対１対応させて前記アドレス制御部およびアドレス管理部３０３１に記憶しておき、前記セルを前記セルバッファ３０１から読み出す時に前記宛先情報を利用することにより、前記セルは所望の出力ポートへ出力される。
【０２３１】
　前記モード設定信号８０によれ前記直進モードに設定された場合には、セルを前記セルバッファ３０１に書き込む時に、前記セルがどの入力ポートより入力されたかについてそのポート番号によって記憶しておき、この前記ポート番号を前記セルと１対１対応させて前記アドレス制御部およびアドレス管理部３０３１に記憶しておき、前記セルを前記セルバッファ３０１から読み出す時に前記ポート番号を利用することにより、前記セルは入力ポートとポート番号が同一の出力ポートから出力されるようにすることができる。
【０２３２】
　本構成のように共通バッファ型ＡＴＭスイッチに対しモード設定が行なえるようにして、少なくとも前記通常モードと前記直進モードを具備すると、以下のような利点がある。
【０２３３】
　図２２および図２３のような構成をとった時、前記直進モードに設定された共通バッファ型ＡＴＭスイッチ１０１ａでは、任意の入力ポートから入力されたセルは前記任意の入力ポートと同一ポート番号を有する出力ポートから出力されるが、上に述べたように所望の出力ポートを示す宛先情報を前記通常モードと前記直進モードとで切替えるだけであるため、セル内の、前記通常モード時には宛先情報として使用される前記ヘッダ部の情報２は、書き換えられることなく前記セルバッファ３０１内に記憶される。このため、後段の前記通常モードに設定された共通バッファ型ＡＴＭスイッチ１０１ｂにおいては、前記ヘッダ部の情報２中のルーティングタグをそのまま用いて宛先情報を得ることができ、これを利用してスイッチングすることが可能である。この結果、第１の構成の図２０のようにセルのルーティングタグを消費することなく前記直進モードに設定することができる。
【０２３４】
　図２５は、本構成の図２４中の前記制御部３０３に属するアドレス制御部およびアドレス管理部３０３１の中のアドレス制御部３０３１１において、宛先情報を取得する部分の構成について３つの実施例を示す。
【０２３５】
　ここでは、図２２において前記直進モードに設定された前記共通バッファ型ＡＴＭスイッチ１０１ａへ前記入力ポート１０より入力されたセル７２ａに注目する。そして、図２４と図２２をも参照の上、前記直進モード時の動作について述べながら、図２２の前記共通バッファ型ＡＴＭスイッチ１０１ａにおける前記アドレス制御部３０３１１の宛先情報を獲得する部分の構成を説明する。
【０２３６】
　はじめに、３つの各構成例に共通な部分について説明する。前記セル７２ａのヘッダ部７２２ａは、ヘッダ部の情報２に乗せられて制御部３０３へと渡される（図２４）。前記制御部３０３では、前記ヘッダ部の情報２から、前記共通バッファ型ＡＴＭスイッチ１０１ａにおいて通常モード時に必要とされるルーティングタグが取り出される。図２５ではこれが２ａであって、前記セル７２ａの場合にはポート番号＃３の出力ポートを示す“１１”が取り出されて、通常モード用宛先情報レジスタ３０３１１ａにセットされる。直進モード時に必要となる、セルが入力された入力ポートのポート番号は９に乗せられる。９に乗せられるデータの形態は２進表示またはビットマップ表示である。
【０２３７】
　まず、図２５（ａ）について説明する。図２５（ａ）では、前記９には入力ポートのポート番号を表す２進表示のデータが乗せられる。前記セル７２ａはポート番号＃０の前記入力ポート１０より入力されているので、前記９には“００”が乗せられている。これを直進モード用宛先情報レジスタ３０３１１ｂにセットするセレクタ３０３１１ｃでは、前記モード設定信号８０によって、前記通常モードの時には前記通常モード用宛先情報レジスタ３０３１１ａにセットされたデータが出力される。また、前記直進モードの時には前記直進モード用宛先レジスタ３０１１ｂにセットされたデータが出力される。前記共通バッファ型ＡＴＭスイッチ１０１ａは前記直進モードに設定されているので、前記セル７２ａの場合、前記直進モード用宛先レジスタ３０２１１ｂにセットされたデータ“００”が前記セレクタ３０３１１ｃによって選択される。前記セレクタ３０３１１ｃによって選択されたデータはデコーダ３０３１１ｄに渡されて、そこでビットマップ情報に変換される。前記共通バッファ型ＡＴＭスイッチ１０１ａの場合、入出力ポートの数は４であるので、２ビットデータが４ビットのビットマップ情報に変換される。前記セル７２ａの場合、“００”が前記デコーダ３０３１１ｄに渡され、ビットマップデータ“１０００”に変換され、これが宛先情報として扱われる。
【０２３８】
　次に、図２５（ｂ）について説明する。（ｂ）は（ａ）とほぼ同じ構成で、セレクタ３０３１１ｃとデコーダ３０３１１ｄの位置が逆になっている点が異なる。（ａ）と同じように、通常モード用宛先情報レジスタおよび直進モード用宛先情報レジスタには２進表示のデータがセットされ、前記セル７２ａに対しては“１１”と“００”がそれぞれ記憶される。デコーダ３０３１１ｄはこれらを受け取り、“０００１”と“１０００”とにそれぞれ変換される。前記モード設定信号８０が直進モードを示すこの場合には、この２つの４ビットのビットマップ情報の中から、直進モード用宛先情報のビットマップ情報である“１０００”が、セレクタ３０３１１ｃでは選択される。
【０２３９】
　最後に、図２５（ｃ）について説明する。（ａ），（ｂ）との大きな違いは、セルが入力された入力ポートのポート番号をビットマップ情報で前記９から受け取る点である。前記セル７２ａの場合、ポート番号＃０に対応するビットマップ情報“１０００”を前記９より受け取り、直進モード用宛先情報レジスタ３０３１１ｅにセットする。通常モード用のデータの扱いは（ｂ）と同様で、前記２ａより２進表示で与えられ、前記通常モード用宛先情報レジスタ３０３１１ａにセットし、これを前記デコーダ３０３１１ｄにおいてビットマップ情報に展開する。通常モード用、直進モード用ともにビットマップ情報に展開されたところで、前記モード設定信号８０によってどちらかの情報が取り出される。前記共通バッファ型ＡＴＭスイッチ１０１ａは前記直進モードに設定されるので、前記セル７２ａの場合、前記直進モード用宛先情報レジスタ３０３１１ｅにセットされたデータ“１０００”が前記セレクタ３０３１１ｃによって選択される。
【０２４０】
　以上、３つの構成例について述べたが、他の構成例であっても構わない。例えば、前記通常モード用宛先情報レジスタ３０３１１ａにセットされるデータはビットマップの情報であっても構わないし、また、前記９からのデータを前記直進モード用宛先情報レジスタ３０３１１ｂまたは３０３１１ｅに保持せずにそのまま処理しても良いし、さらに、最終的に得られる宛先情報はビットマップでなくて２進数で与えられるデータであってもよい。
【０２４１】
　図２６、２７、２８は、直進モード時の、アドレス制御部の宛先情報を獲得する部分の構成として図２５（ｃ）を用いたアドレス制御部およびアドレス管理部におけるアドレス獲得に関する実施例１を示す。
【０２４２】
　図２５と同様に前記セル７２ａに注目して説明する。
【０２４３】
　図２６、２７、２８の（ａ）は、前記セル７２ａが前記セルバッファ３０１に記憶される前の状態を示す。状態（ａ）では、前記セルバッファ３０１はアドレス０〜アドレス１１までセルが記憶されており、アドレス１２〜アドレス１５は“空き”であるものとする。（図では“空き”は“Ｖａｃ”で表されている。）前記セルバッファ３０１では、任意の１つのアドレスに、セル本体と、そのセルが出力される宛先の出力ポートに着目して次に出力されるべきセルの前記セルバッファ内でのアドレス、すなわち、次アドレスとが記憶されている。このように次アドレスを記憶することにより、前記セルバッファ３０１内のセルを、図２７に示すような管理形態で各出力ポート毎にセルを連鎖状にして管理している。これはリンクトリストと呼ばれているものである。例えば、ポート番号＃３の出力ポートを宛先とするセルはアドレス２，３，７，９にそれぞれ記憶されているものであり、この順番で前記セルバッファ３０１に入力および記憶されている。一例として、アドレス３にはＣｅｌｌ３が記憶されていて、次のアドレスはアドレス７であることが管理されている。アドレス９にはＣｅｌｌ９が記憶されているが、ポート番号＃３の出力ポートに対応するリンクトリストの一番最後に管理されているため、次アドレスは“ｎｕｌｌ”である。また、出力順序は、アドレス２に記憶されているＣｅｌｌ２が１番目に出力され以下、アドレス３に記憶されているＣｅｌｌ３、アドレス７に記憶されているＣｅｌｌ７、そしてアドレス９に記憶されているＣｅｌｌ９という順番で出力されていく。他のポート番号の出力ポートを宛先とするセルについても同様である。“空き”のアドレスも管理されていて、図２６、２７、２８ではアドレス１２、アドレス１３、アドレス１４、アドレス１５の順に管理されている。アドレス１５は“空き”アドレスの最後であるので、次アドレスはやはり“ｎｕｌｌ”となっている。
【０２４４】
　図２８は、アドレス制御部の宛先情報を獲得する部分の構成として図２５（ｃ）を用いた、アドレス制御部およびアドレス管理部３０３１を示す。図に示すように、前記アドレス制御部およびアドレス管理部３０３１内のアドレス管理部３０３１２ａは、各出力ポート毎および“空き”アドレスの、それぞれのリンクトリストに対応して、最初のセルと最後のセルとのアドレスをテーブルにより管理している。状態（ａ）では、ポート番号＃０の出力ポートを宛先とするセルはアドレス８を獲得したＣｅｌｌ８のみであるので、Ｃｅｌｌ８が最初のセルおよび最後のセルとして登録されている。
【０２４５】
　前記セル７２ａが、前記モード設定信号８０により前記直進モードに設定されている前記共通バッファ型ＡＴＭスイッチ１０１ａに入力されると、状態は（ａ）から（ｂ）へと変化する。この様子について説明する。
【０２４６】
　前記セル７２ａはポート番号＃０の入力ポートより入力され、また、上に述べたように前記モード設定信号８０が前記直進モードに設定されているため、前記セレクタ３０３１１ｃは宛先情報としてビットマップ“１０００”を選択し、前記アドレス管理部３０３１２ａに与える。前記アドレス管理部３０３１２ａはテーブルの＃０；“１０００”の欄を参照し、ポート番号＃０の出力ポートに対応するリンクトリストから最後のセルに対応するアドレス８を獲得する。また、前記アドレス管理部３０３１２ａはテーブルの“Ｖａｃ”の欄を参照し、“空き”アドレスのリンクトリストから最初の“空き”アドレスであるアドレス１２を獲得して、ポート番号＃０の出力ポートに対応するリンクトリストに加える。この結果、前記アドレス管理部３０３１２ａのテーブルは状態（ａ）から状態（ｂ）へ変化する。すなわち、＃０；“１０００”の欄は最後のセルとしてアドレス１２を指し、“Ｖａｃ”の欄は最初の“空き”アドレスとしてアドレス１３を指すように書き換えられる。
【０２４７】
　このようにして得られたアドレス１２を書き込みアドレスとして利用して、前記セル７２ａは前記セルバッファ３０１に記憶される。前記セル７２ａはポート番号＃０の出力ポートに対応するリンクトリストの中で最後に位置するため、次アドレス“ｎｕｌｌ”とともに記憶される。これにより、先ほど獲得したアドレス８に記憶されているＣｅｌｌ８は、ポート番号＃０の出力ポートに対応するリンクトリストの中で最後に位置するものではなくなり、アドレス１２に記憶される前記セル７２ａが次に来ることから、Ｃｅｌｌ８の次アドレスは“ｎｕｌｌ”からアドレス１２を示すように書き換えられる。なお、図２６、２７、２８では前記セル７２ａはＣｅｌｌ１２として示されている。図２６の状態（ｂ）は前記Ｃｅｌｌ１２が前記セルバッファ３０１に記憶された様子を示しており、その管理形態が図２７の状態（ｂ）である。
【０２４８】
　以上、前記直進モードに設定された前記共通バッファ型ＡＴＭスイッチ１０１ａに入力されたセルがアドレスを獲得するまでを示した。次に、簡単にセルの出力について述べる。
【０２４９】
　例えば、ポート番号＃０の出力ポート、すなわち、図２２の出力ポート３０から出力する時には、ポート番号＃０の出力ポートに対応するリンクトリストを検索して、最古のセルから出力していく。最古のセルは、前記アドレス管理部３０３１２ａのテーブルにて“最初”のセルを調査することにより得られる。前記出力ポート３０についていえば、まずアドレス８に記憶されているＣｅｌｌ８が出力され、次の前記出力ポート３０から出力するタイミングにはアドレス１２に記憶されたセルＣｅｌｌ１２（すなわち７２ａ）が出力されることになる。これにより、前記セル７２ａはポート番号＃０の入力ポート１０より入力され、同一のポート番号＃０の出力ポート３０より出力される。
【０２５０】
　以上に述べてきた動作により、直進モード時に、任意の入力ポートより入力されたセルを前記任意の入力ポートと同一のポート番号を有する出力ポートより出力させることが容易に実現可能である。
【０２５１】
　図２９は、直進モード時の、アドレス制御部の宛先情報を獲得する部分の構成として図２５（ｃ）を用いたアドレス制御部およびアドレス管理部におけるアドレス獲得に関する実施例２を示す。図２６、２７、２８と同様に、前記モード設定信号８０により前記直進モードに設定されている前記共通バッファ型ＡＴＭスイッチ１０１ａに、前記セル７２ａが入力された状態に注目して説明する。
【０２５２】
　アドレス管理部３０３１２ｂはシフトレジスタ方式のアドレス管理部である。ここで、シフトレジスタ方式のアドレス管理部については特開平５−３５１０５７に開示されている。
【０２５３】
　前記アドレス管理部３０３１２ｂでは、セルの入力毎にその時点での“空き”の段の中で最下段のアドレスを、当該セルのビットマップで示された宛先情報の出力ポートと関連づけて管理していく。
【０２５４】
　前記セル７２ａが入力される時点では、前記アドレス管理部３０３１２ｂにおいてアドレス０からアドレス１１までがすでに使用されていて、“空き”の段の中で最下段に位置するアドレスは１２となっている。すなわち、前記セルバッファ３０１の管理形態は次のようになっている。ポート番号＃０へ出力するべきセルは、前記セルバッファ３０１内のアドレス８の位置に記憶されている。同様にして、ポート番号＃１へ出力するべきセルはアドレス０，４，５，１０の位置にポート番号＃２へ出力するべきセルはアドレス１，６，１１の位置に、ポート番号＃３へ出力するべきセルはアドレス２，３，７，９の位置に、それぞれ記憶されている。
【０２５５】
　前記セル７２ａはポート番号＃０の入力ポートより入力され、また、上に述べたように前記モード設定信号８０が前記直進モードに設定されているため、前記セレクタ３０３１１ｃは宛先情報としてビットマップ“１０００”を選択し、前記アドレス管理部３０３１２ｂに与える。ここで、上に述べたアドレス１２をこのビットマップ“１０００”と関連づけて、前記セル７２ａはアドレス１２を獲得する。このようにして得られたアドレス１２を書き込みアドレスとして利用して、前記セル７２ａは前記セルバッファ３０１に記憶される。
【０２５６】
　以上、前進直進モードに設定された前記共通バッファ型ＡＴＭスイッチ１０１ａに入力されたセルがアドレスを獲得するまでを示した。
【０２５７】
　次に、セルの出力について簡単に述べる。＃０の出力ポート、すなわち、図２２の３０の出力ポートからセルを出力する時には、前記アドレス管理部３０３１２ｂに記憶されている＃０に対応する宛先情報のビットを最も下の段から上の段へ順に検索していく。図２９ではアドレス０から順にアドレス１，２，…，１４，１５と検索していく。前記セル７２ａが前記セルバッファ３０１に記憶された時点では、まず、アドレス８の位置に記憶されているセルが該当し、アドレス８を読み出しアドレスとして用いてセルを出力する。そして、前記出力ポート３０の次の出力のタイミングには、１２の位置に記憶されているセル、すなわち前記セル７２ａを出力する。
【０２５８】
　以上に述べたような動作を行なうことによって、直進モード時に、任意の入力ポートより入力されたセルを前記任意の入力ポートと同一のポート番号を有する出力ポートより出力させることが容易に実現可能である。
【０２５９】
　図３０は、前進モード時の、アドレス制御部の宛先情報を獲得する部分の構成として図２５（ｃ）を用いたアドレス制御部およびアドレス管理部におけるアドレス獲得に関する実施例３を示す。
【０２６０】
　図３０は、図２９とは原理的に同じで、優先制御を扱うため優先クラスの情報がセルのヘッダ部に記述されている場合に対応している実施例である。すなわち、図３０では、前記ヘッダ部の情報２に前記優先クラスの情報を２ａに乗せてアドレス管理部３０３１２ｃに通知する。本実施例では、前記優先クラスの情報は１ビットで表現され、優先クラスがＡおよびＢの２種類である場合を示している。
【０２６１】
　以下に図２９と同じく前記セル７２ａが入力された場合について説明する。ただし、本実施例では、前記セル７２ａは前記優先クラスの情報“Ａ”を有しているものとする。
【０２６２】
　図２９で述べた動作と同じ動作を行なうことにより前記セル７２ａはアドレス１２を獲得し、アドレス１２と宛先情報“１０００”および前記優先クラスの情報“Ａ”とを関係づけて前記アドレス管理部３０３１２ｃに記憶させる。前記セル７２ａ自体は、アドレス１２を書き込みアドレスとして用いて、前記セルバッファ３０１内のアドレス１２の位置に記憶される。
【０２６３】
　セルの出力時には前記優先クラスの情報と前記宛先情報とを用いて図２９で述べた動作と同じ動作により最下段から順に検索し、該当するセルを出力する。例えば、ポート番号＃０の出力ポートから優先クラス“Ａ”のセルを出力する時にはアドレス１２が読み出してアドレスとして獲得されて、この結果、前記セル７２ａが出力されることになる。
【０２６４】
　以上に述べたように、シフトレジスタ方式のアドレス管理部３０３１２ｃによると、優先制御も容易に実現できる上、直進モードの動作も容易に実現することが可能である。
【０２６５】
　以下に第３の構成を説明する。
【０２６６】
　図３１は第３の構成を示す図である。第３の構成では第２の構成の図２２での前記直進モード設定入力と前記通常モード設定入力とをマイクロプロセッサにより設定する点が、第２の構成とは異なる。
【０２６７】
　図中の１０１ａおよび１０１ｂは、第２の構成において図２４に示した前記モード設定入力を有する同一の共通バッファ型ＡＴＭスイッチである。前記共通バッファ型ＡＴＭスイッチ１０１ａおよび１０１ｂは、前記モード設定入力として通常のスイッチング動作を行なう通常モードと、第１の構成の図２０中の前記共通バッファ型ＡＴＭスイッチ１００ａのように、任意の入力ポートから入力されたセルは前記任意の入力ポートと同一のポート番号を有する出力ポートから出力するように動作する直進モードとを少なくとも具備する。
【０２６８】
　２００ａおよび２００ｂはマイクロプロセッサである。８０ａおよび８０ｂはモード設定信号で、前記共通バッファ型ＡＴＭスイッチを少なくとも通常モードと直進モードとに設定することが可能である。
【０２６９】
　前記共通バッファ型ＡＴＭスイッチ１０１ａを、前記モード設定信号８０ａを前記マイクロプロセッサ２００ａにより前記直進モードと設定して前段に、そして、前記共通バッファ型ＡＴＭスイッチ１０１ｂを、前記モード設定信号８０ｂを前記マイクロプロセッサ２００ｂにより前記通常モードと設定して後段に設置し、前記共通バッファ型ＡＴＭスイッチ１０１ａの出力ポートと前記共通バッファ型ＡＴＭスイッチ１０１ｂの入力ポートとをそのポート番号に基づいて同一の番号のポートを接続して、前記共通バッファ型ＡＴＭスイッチ１０１ａと前記共通バッファ型ＡＴＭスイッチ１０１ｂとを縦続に接続する。
【０２７０】
　１０，１１，１２，１３は前記共通バッファ型ＡＴＭスイッチ１０１ａの入力ポート、３０，３１，３２，３３は前記共通バッファ型ＡＴＭスイッチ１０１ａの出力ポートであると同時に、前記共通バッファ型ＡＴＭスイッチ１０１ｂの入力ポートでもある。５０，５１，５２，５３は前記共通バッファ型ＡＴＭスイッチ１０１ｂの出力ポートである。
【０２７１】
　２０，２１，２２，２３は前記共通バッファ型ＡＴＭスイッチ１０１ａからのセル出力制御信号、４０，４１，４２，４３は前記共通バッファ型ＡＴＭスイッチ１０１ｂからのセル出力制御信号である。６０，６１，６２，６３は前記共通バッファ型ＡＴＭスイッチ１０１ｂの後段の共通バッファ型ＡＴＭスイッチ、あるいは、別のスイッチボードからのセル出力制御信号である。
【０２７２】
　７２ａ，７２ｂ，７２ｃおよび７３ａ，７３ｂ，７３ｃはスイッチ内部で取り扱われるフォーマットを有するセルを表す。すなわち、７２１ａ，７２１ｂ，７２１ｃおよび７３１ａ，７３１ｂ，７３１ｃはユーザが自由に情報を載せられる情報部を示し、７２２ａ，７２２ｂ，７２２ｃおよび７３２ａ，７３２ｂ，７３２ｃは、スイッチ内部で取り扱われるルーティングタグ、優先制御のための優先クラスの情報、マルチキャストのための情報、およびＡＴＭセルヘッダなどを含むヘッダ部を示す。
【０２７３】
　以下、第３の構成を図３１を見ながら説明する。
【０２７４】
　前記共通バッファ型ＡＴＭスイッチ１０１ａが前記直進モードに設定されるため、前記入力ポート１０より前記共通バッファ型ＡＴＭスイッチ１０１ａに入力される前記セル７２ａは、セルに含まれる全てのデータが保存された状態のまま前記共通バッファ型ＡＴＭスイッチ１０１ａを通過する。すなわち、前記入力ポート１０はポート番号が＃０であり、この番号を有する前記出力ポート３０へ、前記セル７２ａは前記セル７２ｂとして出力され、前記セル７２ａの前記ヘッダ部７２２ａ内の宛先情報“＃３”は、前記セル７２ｂの前記ヘッダ部７２２ｂにおいても保存されている。前記セル７２ｂは前記共通バッファ型ＡＴＭスイッチ１０１ｂに入力され、その前記ヘッダ部７２２ｂに保存されている宛先情報が＃３であることから、ポート番号＃３に対応する前記出力ポート５３へと出力されて、前記セル７２ｃとなる。
【０２７５】
　前記セル７３ａ，７３ｂ，７３ｃは、前記セル７２ａ，７２ｂ，７２ｃと同様に処理される。前記共通バッファ型ＡＴＭスイッチ１０１ａが前記直進モードに設定されるため、前記入力ポート１２より前記共通バッファ型ＡＴＭスイッチ１０１ａに入力される前記セル７３ａは、セルに含まれる全てのデータが保存された状態でそのまま前記共通バッファ型ＡＴＭスイッチ１０１ａを通過する。すなわち、前記入力ポート１２はポート番号が＃２であり、この番号を有する前記出力ポート３２へ、前記セル７３ａは前記セル７３ｂとして出力され、前記セル７３ａの前記ヘッダ部５３２ａ内の宛先情報“＃１”は、前記セル７３ｂの前記ヘッダ部５３２ｂにおいても保存されている。前記セル７３ｂは前記共通バッファ型ＡＴＭスイッチスイッチ１０１ｂに入力され、その前記ヘッダ部に保存されている宛先情報が＃１であることから、ポート番号＃１に対応する前記出力ポート５１へと出力されて、前記セル７３ｃとなる。
【０２７６】
　前記共通バッファ型ＡＴＭスイッチ１０１ｂが、第１の構成において述べたいずれかの方法の前記フロー制御を、前記共通バッファ型ＡＴＭスイッチ１０１ａに対して行なうことによって、前記共通バッファ型ＡＴＭスイッチ１０１ｂと前記共通バッファ型ＡＴＭスイッチ１０１ａとは協調して動作することができる。これより、前記共通バッファ型ＡＴＭスイッチ１０１ａと前記共通バッファ型ＡＴＭスイッチ１０１ｂとは１つの共通バッファ型のＡＴＭスイッチと見なすことができ、結果としてバッファ容量が２倍の共通型ＡＴＭスイッチを容易に得ることができる。
【０２７７】
　本構成の図３１のように前記マイクロプロセッサ２００を使用してモード設定を行なうことの利点は、前記共通バッファ型ＡＴＭスイッチ１０１を簡単に変更して、柔軟な設定を行なうことができる可能性がある点である。
【０２７８】
　図３２は、図２４を変更して新たに入力信号を加えた、本構成の共通バッファ型ＡＴＭスイッチの実施例２である。すなわち、本構成の共通バッファ型ＡＴＭスイッチの実施例１の図２４では前記モード設定信号８０として通常モードと直販モードを少なくとも設定できるが、これに対し、本構成の共通バッファ型ＡＴＭスイッチの実施例２の図３２では前記直進モードの代わりに特殊モードを設定できるようにし、特殊モード時の入力ポートと出力ポートとの接続関係を示す特殊モード設定データを新たに入力信号として加え、柔軟な設定を行なえるようにしている。
【０２７９】
　以下、図３２について説明する。図３２は入出力ポート数が４の場合を表している。１０，１１，１２，１３は入力ポートを示し、３０，３１，３２，３３は出力ポートを示す。２０，２１，２２，２３は当該共通バッファ型ＡＴＭスイッチから発せられるセル出力制御信号で、当該共通バッファ型ＡＴＭスイッチ内の制御部３０３により、セルバッファ３０１の管理状況から生成される第１の制御信号４を基に作られる。４０，４１，４２，４３は、当該ＡＴＭスイッチの後段のＡＴＭスイッチから、もしくは、前記各出力ポートに対応する出力インタフェースから、送られてくるセル出力制御信号である。７は前記セル出力制御信号４０，４１，４２，４３より得られる第２の制御信号である。
【０２８０】
　前記制御部３０３は、前記入力制御部３０３０、前記アドレス制御部およびアドレス管理部３０３１、そして、前記出力制御部３０３２の３つの部分からなる。
【０２８１】
　３００は前記入力ポート１０，１１，１２，１３からのセルを前記入力制御部３０３０からの切替え制御信号３を用いて時分割多重する多重化回路で、１には前記入力ポートの各々からのセルが多重化されて乗せられる。
【０２８２】
　３０１はセルバッファ（共通バッファ）で、前記１に乗せられたセルを、アドレスおよび前記信号５に書き込みアドレスおよび書き込み制御信号をのせて、これによって記憶し、また、前記アドレスおよび制御信号５として読み出しアドレスおよび読み出し制御信号を乗せることにより、セルを読み出し、６へ乗せる。前記書き込みアドレスおよび書き込み制御信号と前記読み出しアドレスおよび読み出し制御信号とは、前記アドレス制御部およびアドレス管理部３０３１で作られる。
【０２８３】
　３０２は分離化回路で、前記６へと乗せられたセルを、前記制御部３０３内の出力制御部３０３２より与えられる分離化回路制御信号８を用いて前記出力ポート３０，３１，３２，３３の中から、前記ルーティングタグを参照して得られた宛先の出力ポートへ順次出力する。
【０２８４】
　８０は前記モード設定信号で、少なくとも前記通常モードおよび前記直進モードを設定できるようにする。８１は前記特殊モード時の入力ポートと出力ポートとの接続関係を示す特殊モード設定データである。
【０２８５】
　前記モード設定信号８０により前記通常モードに設定された場合には、セルを前記セルバッファ３０１に書き込む時に、ヘッダ部の情報２の中の前記ルーティングタグより解析される宛先情報を前記セルと１対１対応させて前記アドレス制御部およびアドレス管理部３０３１に記憶しておき、前記セルを前記セルバッファ３０１から読み出す時に前記宛先情報を利用することにより、前記セルは所望の出力ポートへ出力される。
【０２８６】
　前記モード設定信号８０により、前記特殊モードに設定された場合には、セルを前記セルバッファ３０１に書き込む時に、予め与えられた前記特殊モード設定データ８１を宛先情報としこれを前記セルと１対１対応させて前記アドレス制御部およびアドレス管理部３０３１に記憶しておき、前記セルを前記セルバッファ３０１から読み出す時に前記宛先情報を利用することにより、前記セルは所望の出力ポートへ出力される。
【０２８７】
　図３２に示した本実施例の共通バッファ型ＡＴＭスイッチの実施例２のように前記特殊モードを設定し、かつ、前記特殊モード設定データを与えることが可能であると、以下の幾つかの例に示すように、柔軟な設定を行なうことができる。
【０２８８】
　図３３は、図３２に示した本構成の共通のバッファ型ＡＴＭスイッチの実施例を用いたＡＴＭ多重化装置およびＡＴＭ分離化装置の実施例である。
【０２８９】
　１０，１１，１２，１３は入力ポートで、３０，３１，３２，３３は出力ポートである。８０は前記モード設定信号であり、図３３では、共通バッファ型ＡＴＭスイッチをＡＴＭ多重化装置、ＡＴＭ分離化装置および直進モードのいずれかとして、またはこれらを同時に存在させて動作するための前記特殊モードに設定されている。８１は、当該共通バッファ型ＡＴＭスイッチが前記モード設定信号８０により前記特殊モードに設定された場合に、入力ポートと出力ポートの入出力関係を記述する前記特殊モード設定データ入力である。
【０２９０】
　前記モード設定信号８０、前記特殊モード設定データ８１により入力される各信号およびデータを、マイクロプロセッサ２００により設定すると、状況に応じた設定が行なえる。図３３では、前記入力ポート１０，１１，１２より入力されたセルが前記出力ポート３０に多重化されて出力され、前記入力ポート１３より入力されたセルが前記出力ポート３１，３２，３３より分離されて出力されるように、前記特殊モード設定データ８１によって記述し、前記共通バッファ型ＡＴＭスイッチ１０２を動作させる。
【０２９１】
　図３４は図３３に示した実施例における共通バッファ型ＡＴＭスイッチ１０２の中のアドレス制御部およびアドレス管理部に属するアドレス制御部において、宛先情報を獲得する部分の構成例である。図３４（ａ）は入力ポート１０，１１１２に対するもので、図３４（ｂ）は入力ポート１３に対するものである。（ａ，（ｂ）ともにアドレス制御部３０３１１として図２５（ｃ）を用いた構成例である。
【０２９２】
　（ａ）では、入力ポート１０，１１，１２より入力されたセルはすべてポート番号＃０の出力ポート３０より出力されるため、前記特殊モード設定データ８１としてポート番号＃０に対応するビットマップ“１０００”が与えられ、特殊モード宛先情報レジスタ３０３１１ｅにセットされる。前記モード設定信号８０が前記特殊モードを設定されているため、セレクタ３０３１１ｃでは宛先情報としてビットマップ“１０００”が得られる。なお、前記モード設定信号８０が前記通常モードに設定されている場合にはルーティングタグを参照してこれが宛先情報として選ばれることになる。
【０２９３】
　（ｂ）は図２５（ｃ）に対し、以下のものを加えた構成をしている。前記特殊モード設定データ８１によって与えられる３つのデータを記憶する設定データ用レジスタ５００ａ，５００ｂ，５００ｃと、これら３つのデータの中から１つのデータを選択するセレクタ５０２ａと、前記ヘッダ部の情報２の中のＶＰＩ／ＶＣＩ値２ｂの値により前記セレクタ５０２ａを切替えるためのセレクタ切替え信号を作るためのデコーダー５０１である。前記デコーダー５０１は何らかの形によりテーブル５０１１を有して、ＶＰＩ／ＶＣＩ値２ｂと出力ポートを１対１対応させて管理する。これらの構成要素は前記アドレス制御部３０３１１内に含まれていてもよいし、前記マイクロプロセッサ２００とのインタフェースとして新たに構成してもよい。
【０２９４】
　（ｂ）では、入力ポート１３より入力されたセルはポート番号＃１の出力ポート３１、ポート番号＃２の出力ポート３２、ポート番号＃３の出力ポート３３の内、いずれかの出力ポートに出力される。このため、前記設定データ用レジスタ５００ａにはポート番号＃１に対応したビットマップ“０１００”、前記設定データ用レジスタ５００ｂにはポート番号＃２に対応したビットマップ“００１０”、前記設定データ用レジスタ５００ｃにはポート番号＃３に対応したピットマップ“０００１”がそれぞれ設定される。セルの出力を管理する前記デコーダー５０１は、コネクション設定時に前記テーブル５０１１を設定してＶＰＩ／ＶＣＩ値と出力ポートを１対１対応させる。図３４の実施例では、ＶＰＩ／ＶＣＩ値ａ、ｅのセルは出力ポート３１へ出力される。ＶＰＩ／ＶＣＩ値ｂ，ｆのセルは出力ポート３２へ出力され、ＶＰＩ／ＶＣＩ値ｃ，ｄのセルは出力ポート３３へ出力されるように設定がなされている。セルが入力ポート１３より入力されると、当該セルのＶＰＩ／ＶＣＩ値２ｂが前記デコーダー５０１に与えられて出力ポートが決定される。図３４の実施例では、ＶＰＩ／ＶＣＩ値がｃであるセルが入力され、前記セレクタ５０２ａによりビットマップ“０００１”が選択され、これが前記特殊モード宛先情報レジスタ３０３１１ｅにセットされる。前記モード設定信号８０が前記特殊モードに設定されているため、セレクタ３０３１１ｃでは宛先情報としてビットマップ“０００１”が得られる。なお、前記モード設定信号８０が前記通常モードに設定されている場合にはルーティングタグを参照してこれが宛先情報として選ばれるが、図３４では入力されたセルのルーティングタグは“０１”を示しているため、宛先情報としてビットマップ“０１００”が得られることになる。
【０２９５】
　図３５は、図３３に示した実施例における共通バッファ型ＡＴＭスイッチ１０２の中のアドレス制御部およびアドレス管理部に属するアドレス制御部において宛先情報を獲得する部分の構成例で、図３４と異なる実施例である。図３５（ａ）は入力ポート１０，１１，１２に対するもので、図３５（ｂ）は入力ポート１３に対するものである。（ａ），（ｂ）ともに前記アドレス制御部３０３１１として新たな構成を用いた例である。基本的には、図２５（ｃ）を用いた構成例であるが、前記モード設定信号８０にビット幅を持たせてモード設定部８００と特殊モード詳細設定部８０１とに分ける。すなわち、前記特殊モード詳細設定部８０１によって、前記直進モードおよび前記ＡＴＭ多重化装置を実現するモードと前記ＡＴＭ分離化装置を実現するモードとを切替え、前記モード設定部８００によって、前記直進モード、前記ＡＴＭ多重化装置を実現するモード、前記ＡＴＭ分離化装置を実現するモードのいずれかを表す前記特殊モードと、前記通常モードとを切替える。前記特殊モードの中でも、前記直進モードおよび前記ＡＴＭ多重化装置を実現するモードの場合は、前記特殊モード設定データ８１を宛先情報として利用するが、前記ＡＴＭ分離化装置を実現するモードの場合には、ルーティングタグを宛先情報として利用する。したがって、図３５に示す前記アドレス制御部３０３１１では、前記通常モードと前記ＡＴＭ分離化装置を実現するモードの場合にはルーティングタグを利用することになる。
【０２９６】
　（ａ）では、入力ポート１０，１１，１２より入力されたセルはすべてポート番号＃０の出力ポート３０より出力されるため、前記特殊モード設定データ８１としてポート番号＃０に対応するビットマツプ“１０００”が与えられ、特殊モード宛先情報レジスタ３０３１１ｅにセットされる。前記特殊モード詳細設定部８０１が前記ＡＴＭ多重化装置を実現するモードに設定されるため、前段のセレクタ３０３１１ｃは３０３１１ｅにセットされたデータを選択し、後段のセレクタ３０３１１ｃでは前記モード設定部８００が前記特殊モードに設定されるため宛先情報としてビットマップ“１０００”が得られる。なお、前記モード設定部８００が前記通常モードに設定されている場合にはルーティングタグを参照してこれが前記デコーダー３０３１１ｄにてビットマップに変換されて宛先情報として選ばれることになる。
【０２９７】
　（ｂ）では、入力ポート１３より入力されたセルはポート番号＃１の出力ポート３１、ポート番号＃２の出力ポート３２、ポート番号＃３の出力ポート３３の中から、ルーティングタグに設定される情報を見て、いずれかの出力ポートに出力される。すなわち、前記特殊モード詳細設定部８０１が前記ＡＴＭ分離化装置を実現するモードを表しているため、当該セルのヘッダ部の情報内のルーティングタグ２ａをセットした前記通常モード用宛先情報レジスタ３０３１１ａのデータ“１１”を前記デコーダ３０１１ｄを介して利用する。これにより、前段のセレクタ３０３１１ｃで“０００１”を取り出し、さらに前記モード設定部８００により前記特殊モードに設定されていることから、後段のセレクタ３０３１１ｃでは“０００１”が宛先情報として選択される。この結果、前記出力ポート３３より出力される。前記出力ポート３１，３２からも同様にして出力される。このようにして、コネクション設定時に入力ポート１３より入力される各セルのルーティングタグを予めＶＰＩ／ＣＶＩと対応させて設定しておき、このルーティングテグを参照することによって前記出力ポート３１，３２，３３のいずれかよりセルを出力させることができる。
【０２９８】
　図３５のように、ルーティングタグを設定することにより前記ＡＴＭ分離化装置を実現することの利点は、以下の様である。ＡＴＭスイッチの出力ポートを低速化して利用する目的で、前記ＡＴＭ分離化装置は用いられるため、前記ＡＴＭスイッチの入力ポート側のインタフェースにおいて、図３４の前記管理テーブル５０１１のようなテーブルを必ず持っていて、そこで前記ＡＴＭ分離化装置におけるＶＰＩ／ＶＣＩと出力ポートとの対応づけを行ない、前記ＡＴＭ分離化装置のためのルーティングタグを得ることが容易にできる。図３４ではこのテーブルと前記管理テーブル５０１１の両方を参照する必要があったが、図３５ではこのテーブルだけを参照すればよく、テーブル参照の手間が図１３に比べ半分で済むことになる。
【０２９９】
　逆に、図３４に示した実施例は、図３５の実施例に比べ、前記ＡＴＭ分離化装置を実現するモードに際してルーティングタグを消費しない点と、前記特殊モード設定データ８１を利用することから前記プロセッサ２００によって柔軟に設定が可能である点が利点である。
【０３００】
　なお、図３４および図３５に示した実施例では、各入力ポートにおいて前記アドレス制御部３０３１１の構成を同一にしてきたが、異なる構成としてもよい。例えば、前記ＡＴＭ分離化装置の入力ポートとなる入力ポートの前記アドレス制御部は、前記特殊モード設定データ８１は利用しない構成、すなわち、図２５において前記通常モード用宛先情報レジスタ３０３１１ａおよび前記デコーダー３０３１１ｄだけからなる構成としてもよい。
【０３０１】
　以上に述べた図３３の実施例によると、１つの共通バッファ型ＡＴＭスイッチでＡＴＭ多重化装置（ＭＵＸ）とＡＴＭ分離化装置（ＤＥＭＵＸ）を同時に実現することが可能であり、その結果、共通バッファ型ＡＴＭスイッチの入力および出力ポートを１つも無駄にすることなく利用することができる。
【０３０２】
　図３６は、図２４に示した共通バッファ型ＡＴＭスイッチの実施例２を用いてＡＴＭ多重化装置、ＡＴＭ分離化装置、および直進モードを同時に存在させる実施例である。
【０３０３】
　１０，１１，１２，１３は入力ポートで、３０，３１，３２，３３は出力ポートである。
【０３０４】
　８０は前記モード設定信号であり、図３６では、共通バッファ型ＡＴＭスイッチをＡＴＭ多重化装置、ＡＴＭ多重化装置および直進モードのいずれかとして、またはこれらを同時に存在させて動作させるための前記特殊モードに設定されている。８１は、当該共通バッファ型ＡＴＭスイッチが前記モード設定信号８０により前記特殊モードに設定された場合に、入力ポートと出力ポートの入出力関係を記述する前記特殊モード設定データ入力である。
【０３０５】
　前記モード設定信号８０、前記特殊モード設定データ８１により入力される各信号およびデータを、マイクロプロセッサ２００により設定すると、状況に応じた設定が行なえる。図３６では、前記入力ポート１０，１１，１２より入力されたセルが前記出力ポート３０に多重化されて出力され、前記入力ポートにより入力されたセルが前記出力ポート３２にそのまま出力され（直進モード）、前記入力ポート１３より入力されたセルが前記出力ポート３１，３３より分離されて出力されるように、前記特殊設定データ８１によって記述し、前記共通バッファ型ＡＴＭスイッチ１０２を動作させる。
【０３０６】
　図３７は図３６に示した実施例における共通バッファ型ＡＴＭスイッチ１０２の中のアドレス制御部およびアドレス管理部に属するアドレス制御部において、宛先情報を獲得する部分の構成例である。図３７（ａ）は入力ポート１０，１１に対するもので、図３７（ｂ）は入力ポート１２に対するもので、図３７（ｃ）は入力ポート１３に対するものである。（ａ），（ｂ），（ｃ）ともにアドレス制御部３０３１１として図２５（ｃ）を用いた構成例である。
【０３０７】
　（ａ）では、入力ポート１０，１１より入力されたセルはすべてポート番号＃０の出力ポート３０より出力されるため、前記特殊モード設定データ８１としてポート番号＃０に対応するビットマップ“１０００”が与えられ、前記特殊モード宛先情報レジスタ３０３１１ｅにセットされる。前記モード設定信号８０が前記特殊モードを設定されているため、セレクタ３０３１１ｃでは宛先情報としてビットマップ“１０００”が得られる。なお、前記モード設定信号８０が前記通常モードに設定されている場合にはルーティングタグを参照して、これが前記デコーダー３０３１１ｄにてビットマップに変換されて宛先情報として選ばれることになる。
【０３０８】
　（ｂ）では、入力ポート１２により入力されたセルはポート番号＃２の出力ポート３２より出力されるため、前記特殊モード設定データ８１としてポート番号＃２に対応するビットマップ“００１０”が与えられ、前記特殊モード宛先情報レジスタ３０３１１ｅにセットされる。前記モード設定信号８０が前記特殊モードを設定されているため、セレクタ３０３１１ｃでは宛先情報としてビットマップ“００１０”が得られる。なお、前記モード設定信号８０が前記通常モードに設定されている場合にはルーティングタグを参照して、これが前記デコーター３０３１１ｄにてビットマップに変換されて宛先情報として選ばれることになる。
【０３０９】
　（ｃ）は図２５（ｃ）に対し、以下のものを加えた構成をしている。前記特殊モード設定データ８１によって与えられる２つのデータを記憶する設定データ用レジスタ５００ａ，５００ｂと、これら２つのデータの中から１つのデータを選択するセレクタ５０２ｂと、前記ヘッダの情報２の中のＶＰＬ／ＶＣＩ値２ｂの値により前記セレクタ５０２ｂを切替えるためのセレクタ切替え信号を作るためのデコーダー５０１である。前記デコーダー５０１は何らかの形によりテーブル５０１１を有して、ＶＰＩ／ＶＣＩ値２ｂと出力ポートを１対１対応されて管理する。これらの構成要素は前記アドレス制御部３０３１１内に含まれてもよいし、前記マイクロプロセッサ２００とインタフェースとして新たに構成してもよい。 （ｃ）では、入力ポート１３より入力されたセルはポート番号＃１の出力ポート３１、ポート番号＃３の出力ポート３３の内、いずれかの出力ポートに出力される。このため、前記設定データ用レジスタ５００ａにはポート番号＃１に対応したビットマップ“０１００”、前記設定データ用レジスタ５００ｂにはポート番号＃３に対応したビットマップ“０００１”がそれぞれ設定される。セルの出力を管理する前記デコーダー５０１は、コネクション設定時に前記テーブル５０１１を設定してＶＰＩ／ＶＣＩ値と出力ポートを１対１対応させる。図３７の実施例では、ＶＰＩ／ＶＣＩ値ａ，ｄ，ｅ，ｆのセルは出力ポート３１へ出力され、ＶＰＩ／ＶＣＩ値ｂ，ｃのセルは出力ポート３３へ出力されるように設定がなされている。セルが入力ポート１３より入力されると、当該セルのＶＰＩ／ＶＣＩ値２ｄが前記デコーダー５０１に与えられて出力ポートが決定される。図３７の実施例では、ＶＰＩ／ＶＣＩ値がａであるセルが入力され、前記セレクタ５０２ａによりビットマップ“０１００”が選択され、これが前記特殊モート宛先情報レジスタ３０３１１ｅににセットされる。前記モード設定信号８０が前記特殊モードに設定されているため、セレクタ３０３１１ｃでは宛先情報としてビットマップ“０１００”が得られる。なお、前記モード設定信号８０が前記通常モードに設定されている場合にはルーティングタグを参照してこれが宛先情報として選ばれるが、図３７では入力されたセルのルーティングタグは“００”を示しているため、宛先情報としてビットマッブ“１０００”が得られることになる。
【０３１０】
　図３８は、図３６に示した実施例における共通バッファ型ＡＴＭスイッチ１０２の中のアドレス制御部およびアドレス管理部に属するアドレス制御部において宛先情報を獲得する部分の構成例で、図３７と異なる実施例である。図３８（ａは入力ポート１０，１１に対するもので、図３８（ｂ）は入力ポート１２に対するもので、図３８（ｃ）は入力ポート１３に対するものである。（ａ），（ｂ）（ｃ）ともに前記アドレス制御部３０３１１として図３５と同じ構成を用いた例である。
【０３１１】
　（ａ）では、入力ポート１０，１１より入力されたセルはすべてポート番号＃０の出力ポート３０より出力されるため、前記特殊設定データ８１としてポート番号＃０に対応するビットマップ“１０００”が与えられ、特殊モード宛先情報レジスタ３０３１１ｅにセットされる。前記特殊モード詳細設定部８０１が前記ＡＴＭ多重化装置を実現するモードに設定されるため、前段のセレクタ３０３１１ｃは３０３１１ｅにセットされたデータを選択し、後段のセレクタ３０３１１ｃでは前記モード設定部８００が前記特殊モードに設定されるため、宛先情報としてビットマップ“１０００”が得られる。なお、前記モード設定部８００が前記通常モードに設定されている場合にはルーティングタグを参照し、これが前記デコーダー３０３１１ｄにてビットマップに変換されて宛先情報として選ばれることになる。
【０３１２】
　（ｂ）では、入力ポート１２より入力されたセルはポート番号＃２の出力ポート３２より出力されるため、前記特殊モード設定データ８１としてポート番号＃２に対応するビットマップ“００１０”が与えられ、前記特殊モード宛先情報レジスタ３０３１１ｅにセットされる。前記直進モードに設定されるため、前段のセレクタ３０３１１ｃは前記特殊モード詳細設定部８０１によって３０３１１ｅにセットされたデータを選択し、後段のセレクタ３０３１１ｃでは前記モード設定部８００が前記特殊モードに設定されるため、宛先情報としてビットマップ“００１０”が得られる。なお、前記モード設定部８００が前記通常モードに設定されている場合にはルーティングタグを参照して、これが前記デコーダー３０３１１ｄにてビットマップに変換されて宛先情報として選ばれることになる。
【０３１３】
　（ｃ）では、入力ポート１３より入力されたセルはポート番号＃１の出力ポート３１、ポート番号＃３の出力ポート３３の中から、ルーティングタグに設定される情報を見て、いずれかの出力ポートに出力される。すなわち、前記特殊モード詳細設定部８０１が前記ＡＴＭ分離化装置を実現するモードを表しているため、当該セルのヘッダ部の情報内のルーティングタグ２ａをセットした前記通常モード用宛先情報レジスタ３０３１１ａのデータ“０１”を前記デコーダー３０１１ｄを介して利用する。これにより、前段のセレクタ３０３１１ｃで“０１００”を取り出し、さらに前記モード設定部８００により前記特殊モード設定されていることから、後段のセレクタ３０３１１ｃでは“０１００”が宛先情報として選択される。この結果、前記出力ポート３１より出力される。前記出力ポート３３からも同様にして出力される。このようにして、コネクション設定時に入力ポート１３より入力される各セルのルーティングタグを予めＶＰＩ／ＶＣＩと対応させて設定しておき、このルーティングタグを参照することによって前記出力ポート３１，３３のいずれかよりセルを出力させることができる。
【０３１４】
　図３８のように、ルーティングタグを設定することにより前記ＡＴＭ分離化装置を実現することの利点は、以下の様である。ＡＴＭスイッチの出力ポートを低速化して利用する目的で、前記ＡＴＭ分離化装置は用いられるため、前記ＡＴＭスイッチの入力ポート側のインタフェースにおいて、図３７の前記管理テーブル５０１１のようなテーブルを必ず持っていて、そこで前記ＡＴＭ分離化装置におけるＶＰＩ／ＶＣＩと出力ポートとの対応づけを行ない、前記ＡＴＭ分離化装置のためのルーティングタグを得ることが容易にできる。図３８ではこのテーブルと前記管理テーブル５０１１の両方を参照する必要があったが、図１７ではこのテーブルだけを参照すればよく、テーブル参照の手間が図３７に比べ半分で済むことになる。
【０３１５】
　逆に、図３７に示した実施例は、図３８の実施例に比べ、前記ＡＴＭ分離化装置を実現するモードに際してルーティングタグを消費しない点と、前記特殊モード設定データ８１を利用することから前記プロセッサ２００によって柔軟に設定が可能である点が利点である。
【０３１６】
　なお、図３７および図３８に示した実施例では、各入力ポートにおいて前記アドレス制御部３０３１１の構成を同一にしてきたが、異なる構成としてもよい。例えば、前記ＡＴＭ分離化装置の入力ポートとなる入力ポートの前記アドレス制御部は、前記特殊モード設定データ８１は利用しない構成、すなわち、図２５において前記通常モード用宛先情報レジスタ３０３１１ａおよび前記デコーダー３０３１１ｄだけからなる構成としてもよい。
【０３１７】
　図３６の実施例によると、１つの共通バッファ型ＡＴＭスイッチでＡＴＭ多重化装置（ＭＵＸ）、ＡＴＭ分離化装置（ＤＥＭＵＸ）および直進モードを同時に実現することが可能であり、その結果、共通バッファ型ＡＴＭスイッチの入力および出力ポートを１つも無駄にすることなく利用することができる。
【０３１８】
　以上に述べたように前記マイクロプロセッサ２００により前記特殊モード設定データ８１のデータを設定するようにすると、共通バッファ型ＡＴＭスイッチを柔軟に設定して利用することが可能である。すなわち、ＡＴＭ多重化装置として利用したり、ＡＴＭ分離化装置として利用したり、直進モードと設定された場合はバッファとして利用できる。また、前記特殊モード設定データ８１の設定によっては、図３３および図３６に示した実施例のように、ＡＴＭ多重化装置、ＡＴＭ分離化装置、バッファを同時に存在させる構成をとることができ、さらに、これらのＡＴＭ多重化装置やＡＴＭ分離化装置の規模を柔軟に変更することが可能である。
【０３１９】
　上記した第２の実施形態によれば、共通バッファ型ＡＴＭスイッチに複数の動作モードを設けてその内の１つに直進モードを用意し、この直進モードを利用することにより、同一の共通バッファ型ＡＴＭスイッチをさらに１つ用意するだけで、共通バッファ型ＡＴＭスイッチのバッファ容量の拡張が容易に行なえるようにすることが可能となる。
【０３２０】
　また、動作モードを複数設けると、直進モードを実現する以外にも、ＡＴＭ多重化装置を実現することやＡＴＭ分離化装置を実現すること、あるいは、これらのすべてを１つの共通バッファ型ＡＴＭスイッチ内に同時に実現することが可能である。
【０３２１】
　以下に本発明の第３の実施形態について説明する。
【０３２２】
　まず、第３の実施形態におけるｍ入力ｎ出力共通バッファ型ＡＴＭ交換機について説明する。
【０３２３】
　まず、第１に、動的しきい値設定部より、各内部論理キューｉ（１≦ｉ≦ｎ）ごとのバッファ内セル数のしきい値Ｋi を、現在の、または予測される、または要求される呼設定に関する情報に基づいて動的に設定する。また、各内部論理キューｉ宛の現在のバッファ内セル数Ｑi をバッファ内セル数カウント部によりカウントしておき、出力ポートｉ宛のセルがスイッチに到着したとき、Ｑi ≧Ｋiである場合にはセル入力規制部により到着セルの共通バッファへの入力を規制する。
【０３２４】
　第２に、動的しきい値設定部は、各内部論理キューｉ宛のバッファ内セル数のしきい値Ｋi を、しきい値の和ＫS ＝Ｋ1 ＋Ｋ2 ＋…＋Ｋn が共通バッファサイズＫ以下となるような値に設定する。
【０３２５】
　第１の方式により、現在の、または一定期間観測した、または要求される呼設定に関する情報に基づいて内部論理キュー毎に異なるキュー長の上限値を柔軟に設定できるため、出力ポート間で呼の到着が不均一な場合にもスイッチのバッファリソースを効率的に使用することが可能となる。
【０３２６】
　また、第２の方式により、出力バッファ型のスイッチと等価になるため、従来の出力バッファに対するセル廃棄計算手法を用いて高精度で安全側にセル廃棄率を見積もることができる。また、従来の方式と同様に遅延についてもキュー長で上限を抑えることができる。さらに、しきい値を動的に変えることにより、呼レベルでのバッファの共有化効果が期待でき、収容可能な呼の本数を出力バッファ型スイッチより通常の場合には多く、最悪の場合でも出力バッファ型スイッチと同じにすることができる。
【０３２７】
　以下に第３の実施形態のハードウェア構成について述べる。
【０３２８】
　図４０は、本発明におけるｍ入力ｎ出力共通バッファ型ＡＴＭスイッチの基本構成を示している。なお、通常、ｍ＝ｎである。
【０３２９】
　図４０において、９１１はスイッチ、９０５は共有バッファメモリ、９００はマルチプレクサ、９０１はデマルチプレクサ、９０９は共有バッファメモリ管理部、９１２はセル入力規制部、９０６はアドレス管理用キュー、９０７はバッファ内セル数カウント部、９０８はしきい値保持部、９１０は動的しきい値設定部、９１５，９１４，９１３はセル入力ポート、９０２，９０３，９０４はセル出力ポートを表す。
【０３３０】
　スイッチ９１１はスイッチの入力ポート９１５，９１４，９１３に到着したセルをポート速度のｍ倍速で動作する時分割マルチプレクサで多重して共有バッファメモリに一旦蓄積した後、ポート速度のｎ倍速で動作する時分割デマルチプレクサで宛先出力ポート９０２，９０３，９０４に分離出力する。
【０３３１】
　共有バッファメモリ管理部９０９は、共通バッファメモリ９０５に蓄積されるセルのメモリ内アドレスを内部論理キュー対応のＦＩＦＯキューで管理する。
【０３３２】
　内部論理キューは、通常、出力ポート毎に存在するが、ＶＰ（ＶｉｒｔｕａｌＰａｔｈ）あるいはＶＣ（Ｖｉｒｔｕａｌ Ｃｈａｎｎｅｌ）毎に存在する場合もある。
【０３３３】
　また、内部論理キューを階層的に設け、各階層の内部論理キュー対応に動的に設定可能なしきい値を設けることも可能である。この場合には、例えば、ＱＯＳクラス対応に内部論理キューを設け、さらに、各ＱＯＳクラス毎の論理キューを出力ポート毎の内部論理キューに分割して使用し、ＱＯＳクラス別内部論理キュー、および、各ＱＯＳクラス別内部論理キュー内の出力ポート別内部論理キューに対して異なるしきい値を設けることができる。
【０３３４】
　さらに、各内部論理キューに対して、動的に設定可能なしきい値を複数個設けることも可能である。これは、例えば、ある内部論理キューに低優先セル用のしきい値と、高優先セル用の２個のしきい値を設け、内部論理キューのキュー長が低優先セル用のしきい値以上となった場合には低優先セルの入力を規制し、さらに、高優先セル用のしきい値以上となった場合には低優先セル、高優先セル両方の入力を規制する、といった優先制御を行なう場合に有効である。本発明は、どのように内部論理キューを構成する場合においても有効である。
【０３３５】
　共有バッファメモリ管理部９０９は、共有バッファメモリに接続するアドレス出力用データ線（Ａｄｄｒ），ｒｅａｄ信号線（Ｒ），ｗｒｉｔｅ信号線（Ｗ）を用いて、１セル周期名に最大ｍ個のセルを共有バッファへ書き込み、最大ｎ個のセルを共有バッファメモリから取り出すことによりセルを所望の出力ポート９０２，９０３，９０４のうち少なくとも１つの出力ポートに交換出力する。
【０３３６】
　また、共有バッファメモリ管理部９０９はＣＰＵ処理により実現してもよい。動的しきい値設定部９１０は、信号線ｉ，Ｋi およびｗｒｉｔｅ信号線Ｗを用いて、しきい値保持部９０８が保持する内部論理キューｉに対するバッファ内セル数のしきい値Ｋi を、現在の、または一定期間観測した、または要求される呼設定に関する情報に基づいて動的に設定する。
【０３３７】
　動的しきい値設定部９１０の基本ハードウェア構成を図４１に示す。図４１において、９３０はプロセッサ、９３１はメモリ、９３２は入出力インターフェース、９３３はバスである。動的しきい値設定部９１０は、しきい値を計算し、入出力インターフェース９３２を通じてしきい値を外部に出力するソフトウェアをメモリ９３１内に有する。入出力インターフェース９３２には、外部からの呼処理用シグナリングセル、ＯＡＭセル、セル廃棄イベント等の統計情報が入力可能であり、また、磁気ディスクなどの２次記憶装置も接続可能である。
【０３３８】
　しきい値保持部９０８は、内部論理キューの数に等しい個数のレジスタから構成され、各レジスタに内部論理キュー対応のバッファ内セル数のしきい値を保持する。しきい値保持部９０８に内部論理キューｉに対するしきい値Ｋi を書き込む場合には、動的しきい値設定部９１０からの信号線ｉ、Ｋi およびｗｒｉｔｅ信号線Ｗを用い、しきい値保持部９０８から内部論理キューｉに対するしきい値Ｋi を読み込む場合には、セル入力規制部９１２からの信号線ｉ、Ｋi およびｒｅａｄ信号線Ｒを用いる。
【０３３９】
　バッファ内セル数カウント部９０７は、スイッチの各内部論理キューｉ宛の現在のバッファ内セル数Ｑi をカウントする内部論理キューの数に等しい個数のアップダウンカウンタから構成される。セルが内部論理キューに蓄積される場合にはその内部論理キューに対するカウンタ値がインクリメントされ、セルが内部論理キューから取り出される場合にはその内部論理キューに対するカウンタ値がデクリメントされる。
【０３４０】
　また、しきい値保持部９０８が内部論理キューｉに対してしきい値Ｋi を設定する際、内部論理キューｉのバッファ内セル数Ｑi がＫi 以下になるまでレジスタへのしきい値Ｋi の書き込みを行わない構成も可能である。この場合には、しきい値保持部９０８には各内部論理キューのバッファ内セル数Ｑi を入力する手段と、動的しきい値設定手段９１０からの設定要求しきい値Ｋi を一時的に保持するバッファと、Ｑi とＫi の値を比較する手段とが別に必要となる。
【０３４１】
　バッファ内セル数カウント部９０７から内部論理キューｉに対する現在のバッファ内セル数Ｑi を読み込む時には、セル入力規制部９１２からの信号線ｉ，Ｑi およびｒｅａｄ信号線Ｒを用いる。
【０３４２】
　バッファ内セル数カウント部９０７が保持する現在のバッファ内セル数Ｑi をインクリメントする時には、アドレス管理用キュー９０６からの信号線ｉおよびＩｎｃｒを用いる。信号線Ｉｎｃｒは、共有バッファメモリにセルが入力されたときにｅｎａｂｌｅとなるようにする。
【０３４３】
　バッファ内セル数カウント部９０７が保持する現在のバッファ内セル数Ｑi をデクリメントする時には、アドレス管理用キュー９０６からの信号線ｉおよびＤｅｃｒを用いる。信号線Ｄｅｃｒは、共有バッファメモリ９０５からセルが出力されたときにｅｎａｂｌｅとなるようにする。
【０３４４】
　セル入力規制部９１２は、マルチプレクサ９００から信号線Ｔによりタイミング信号とともに信号線Ｃｅｌｌにより入力されたセルのルーチングタグを検索して得られたセルの宛先内部論理キュー番号を信号線ｉに出力するとともに、ｒｅａｄ信号線Ｒをｅｎａｂｌｅとして、指定された内部論理キューに対するしきい値Ｋi を信号線Ｋi から、バッファ内セル数値Ｑi を信号線Ｑi からそれぞれ入力する。
【０３４５】
　次に、得られたＱi とＫi の値を比較し、Ｑi ≧Ｋi のときにセルの入力規制を行うが、セルの入力規制に関して以下の２つの方式がある。
【０３４６】
　第１に、Ｑi ＜Ｋi のときにのみに、セル入力規制部９１２はアドレス管理用キューに接続するＷ信号線をｅｎａｂｌｅにする方式である。これにより、内部論理キューにしきい値を越える数のセルが蓄積されなくなる。図４０は第１の方式をとった場合のスイッチ構成である。
【０３４７】
　第２に、Ｑi ≧Ｋi のときに、セル入力ポートに対して、内部論理キューｉに蓄積されるべきセルの送出を一時的に止めさせるためのフロー制御信号を送出する方式である。この場合には、フロー制御手段およびフロー制御のための信号線が共有バッファメモリ管理手段９０９に必要となる。図４２は第２の方式をとった場合のスイッチ構成である。図４２において、９４１はフロー制御信号線である。この場合には、デマルチプレクサ９０１からのタイミング信号Ｔが、アドレス管理用キュー９０６と、バッファ内セル数カウント部９０７のｒｅａｄ ｅｎａｂｌｅ入力と、しきい値保持部９０８のｒｅａｄ ｅｎａｂｌｅ入力とに出力される。また、アドレス管理用キュー９０６からのｄｅｃｒ信号は、バッファ内セル数カウント部９０７と、セル入力規制部９４０のＴｆ信号線に入力され、このときセル入力規制部９４０において、セルが送出される内部論理キューｉに対してフロー制御信号の更新が行なわれ、その結果、フロー制御信号線９４１からの出力のうち、内部論理キューｉに対応する部分の出力が変化する。セル入力ポートでは、入力されたフロー制御信号をもとに、送出を止められていない内部論理キュー宛のセルを選択してスイッチに出力する。
【０３４８】
　また、第１および第２の方式は両方同時に実装することも可能である。
【０３４９】
　次に、第１のセル入力規制方式をとった場合のセル入力規制部９１２の構成図を図４３に示す。
【０３５０】
　図４３において、９２０は内部論理キュー検索部（出力ポート検索部）、９２１は比較器である。セル入力規制部９１２は信号線Ｔからのタイミング信号とともに信号線Ｃｅｌｌにより入力されたセルのルーチングタグが入力されると、その内容から宛先の内部論理キュー番号を検索し、その値を信号線ｉに出力するとともに、外部信号線Ｒと、比較器９２１に接続された信号線Ｈｏｌｄをｅｎａｂｌｅにする。
【０３５１】
　次に、外部からの信号線Ｋi ，Ｑi から比較器９２１に指定された内部論理キュー対応のしきい値と現在のバッファ内セル数が入力され、比較結果を信号線Ｒｅｓｕｌｔから外部信号線Ｗに出力する。また、比較器９２１から内部論理キュー検索部９２０に対してＲｅｓｅｔ信号を出力する。内部論理キュー検索部９２０では、Ｒｅｓｅｔ信号入力の結果、内部論理キュー検索部９２０のＨｏｌｄ信号線の出力がｄｉｓａｂｌｅとなる。
【０３５２】
　アドレス管理用キュー９０６は、セル入力規制部９１２から信号線Ｗからのｗｒｉｔｅ信号とともに信号線ｉにより内部論理キュー番号を受けとると、指定された内部論理キューに対応するアドレスキューの最後尾に未使用の共有バッファメモリアドレスを追加する。またこのアドレスは信号線Ｗからのｗｒｉｔｅ信号とともに信号線Ａｄｄｒにも出力され、共有バッファメモリ９０５の入力データ線に乗っているセルの内容が共有バッファメモリ９０５のこのアドレスに書き込まれる。また、このときＩｎｃｒ信号線をｅｎａｂｌｅにする。
【０３５３】
　次に、第２のセル入力規制方式をとった場合のセル入力規制部９４０の構成図を図４４に示す。
【０３５４】
　図４４において、９５０は比較器、９５１はデコーダである。出力ポート検索部９２０と比較器９２１は図４３と同じ動作となる。比較器９５０は、外部信号線Ｋi 、Ｑi からそれぞれ、内部論理キューのしきい値Ｋi 、Ｑi が、外部信号線Ｔｆからフロー制御信号変更のタイミングが入力されると、Ｋi の値とＱi の値とを比較し、比較結果を信号線Ｒｅｓｕｌｔを用いてデコーダ９５１に出力する。デコーダ９５１は、外部信号線Ｔｆからのタイミング信号を受信すると、比較器９５０からのＲｅｓｕｌｔ信号、外部信号線ｉから内部論理キュー番号ｉとから、フロー制御信号線ｆi に対してＲｅｓｕｌｔ信号を出力しＨｏｌｄする。このようにして、内部論理キューｉに対するセルの送出が起こった時にフロー信号を更新する。
【０３５５】
　このようにして、最大ｍ個のセルの入力を行なった後、アドレス管理キュー９０６は、デマルチプレクサ９０１から信号線Ｔによりタイミング信号を受けとると、現在の内部論理キューに対応するアドレスキューの先頭からアドレスを１個取りだす。このアドレスは信号線Ｒからのｒｅａｄ信号とともに信号線Ａｄｄｒに出力され、共有バッファメモリ９０５の指定されたアドレスからセルが読み出されてデマルチプレクサ９０１により現在の出力ポートに出力される。このとき、現在の内部論理キュー番号を信号線ｉに出力し、Ｄｅｃｒ信号線をｅｎａｂｌｅにする。デマルチプレクサ９０１からのタイミング信号はｎ回送出され、この間に各出力ポートから１個ずつセルを出力する。なお、内部論理キューが出力ポート単位に設けられていない場合には、各出力ポートに対して現在の内部論理キューを選択するスケジューラが必要となる。
【０３５６】
　次に、動的しきい値設定部９１０における、内部論理キュー対応のバッファ内セル数のしきい値設定方法について述べる。
【０３５７】
　まず、しきい値設定時に用いる情報について述べる。
【０３５８】
　動的しきい値設定部９１０がしきい値を設定する場合に用いる呼設定に関する情報の一例として、呼あるいは呼種毎のトラヒック特性に関するパラメータや呼あるいは呼種毎に要求されるセル廃棄率やセル遅延時間、あるいは呼損率に関する通信品質、現在の、あるいは一定期間観測した呼種毎の接続本数や呼量などが挙げられる。
【０３５９】
　また、ＡＢＲサーブスクラスやＵＢＲサービスクラスのように遅延に関するＱＯＳがなく、スループットを保証するようなトラヒックに対しては、各内部論理キューにｉに対する目標スループットγi の値も動的しきい値設定部９１０がしきい値を設定する際の情報として用いられる。この場合には、しきい値Ｋi は、次のようになる。
【数５】
2004040834.tif 000007
【０３６０】
と設定することにより、目標スループットで重みづけされたしきい値設定が可能となる。ここで、Ｋb はＡＢＲ／ＵＢＲクラスに対して割り当てられる共通バッファサイズである。
【０３６１】
　なお、動的しきい値設定部９１０がしきい値を設定する場合には、これらの呼設定に関する情報のうち、現在の情報に基づいてしきい値を設定する方式、または、一定期間観測した情報に基づいてしきい値を設定する方式、あるいはあらかじめ定められた要求値に関する情報に基づいてしきい値を設定する方式、さらに、これら３つの方式の２つ以上を組み合わせてしきい値を設定する方式がある。
【０３６２】
　次に、動的しきい値設定部９１０が現在の呼設定に関する情報を用いてしきい値を設定する方式の具体例を示す。
【０３６３】
　この方式では、各出力ポートｉ対応のバッファ内セル数のしきい値Ｋi の更新を、スイッチの出力ポートｉを通る呼が発生する時、あるいはスイッチの内部論理キューｉを通る呼が終了する時のいずれかの場合に行なう。
【０３６４】
　また、ここで扱う呼はＰＶＣ（Ｐｅｒｍａｎｅｎｔ ＶＣ），ＳＶＣ（Ｓｗｉｔｃｈｅｄ ＶＣ），ＶＰのいずれでもよい。通常、交換機は呼の接続／切断処理を行なう呼処理手段を備えているが、現在の呼設定に関する情報を用いてしきい値を設定する場合には、動的しきい値設定部９１０は呼処理手段の中に含まれる構成でもよい。
【０３６５】
　この場合に呼処理手段が行う呼受付制御アルゴリズムの例を図４５に示す。この例では、呼設定に関する情報として、呼種毎の要求セル廃棄率と最大セル遅延時間、および、内部論理キュー毎の現在の呼接続本数を用いる。呼種毎のトラヒックパラメータ、および、呼種毎の要求セル廃棄率、最大セル遅延時間は時間によって変化しないため、図４５においては、現在の呼設定に関する情報を現在の呼接続本数のベクトルＳ＝（Ｎi-1 Ｎi-2 ，…，Ｎi-L ）で表わしている。これを呼接続状態ベクトルと呼ぶ。ここでＬはスイッチで扱う呼種数である。
【０３６６】
　動的しきい値設定部９１０は、あるいは呼接続状態ベクトルＳに対して、セル廃棄率に関する通信品質を保証可能な内部論理キューｉ宛のバッファ内セル数のしきい値Ｋ（Ｓ）を呼種ごとのトラヒックパラメータを用いて算出する手段をもつ。しきい値Ｋ（Ｓ）の算出手段として、以下の２つの方式がある。
【０３６７】
　第１の方式は、各呼接続状態ベクトルＳに対して、セル廃棄率を満たすために必要なしきい値Ｋ（Ｓ）をあらかじめ算出してテーブル｛Ｋ（Ｓ）｝としてメモリに保持しておき、呼接続状態Ｓをインデックスとしたテーブル検索によりしきい値Ｋ（Ｓ）を得る方式である。テーブル｛Ｋ（Ｓ）｝を作成する際には、出力バッファ型のスイッチの解析またはシミュレーションもしくは観測によって得られた結果を用いる。
【０３６８】
　Ｌ＝２の場合にテーブル｛Ｋ（Ｓ）｝を３次元的に表した模式図を図４６に示す。この方式は、しきい値の算出にかかる計算時間が呼処理に要する時間に比べて大きい場合に使用する。第２の方式は、しきい値Ｋ（Ｓ）をリアルタイムに計算する方式である。この方式は、Ｋ（Ｓ）の計算時間が呼処理に要する時間に比べて小さい場合に使用する。
【０３６９】
　また、セル遅延に関する要求品質がある場合には、動的しきい値設定部９１０は、内部論理キューｉごとのセル遅延の上限値Ｄi 、および、スイッチの共有バッファメモリサイズＫの値を保持しておく。Ｄi が全出力ポートで等しい場合には内部論理キューごとにＤi を持っておく必要はない。また、セル遅延の要求品質が規定されない場合には、図４５において、Ｋi ≦Ｄi の比較は行わないようにするか、あるいは、Ｄi ＝Ｋとおく。
【０３７０】
　内部論理キューｉにセルを蓄積する呼種ｊの呼の接続要求が発生した時、動的しきい値設定部９１０は、この呼を接続した場合の新しい呼接続状態ベクトルＳ′に対してしきい値Ｋ（Ｓ′）を求め、しきい値がＫ（Ｓ）からＫ（Ｓ′）に増加した場合の各内部論理キューに関するしきい値の総和がＫ以下のある値Ｋ′以下で、遅延に関する要求値が存在する場合にはしきい値Ｋ（Ｓ′）が遅延に関する要求値Ｄi 以下である場合に呼を接続するとともに内部論理キューｉに対するしきい値をＫ（Ｓ′）に設定する。なお、優先制御を行なう場合には、Ｋ−Ｋ′セル分の領域を低優先セル用に与え、全内部論理キューで共有して使用する。
【０３７１】
　一方、内部論理キューｉにセルを蓄積する呼種ｊの呼の切断要求が発生した時は、この呼を切断した場合の新しい呼接続状態ベクトルＳ′に対してしきい値Ｋ（Ｓ′）を求め、内部論理キューｉに対するしきい値を無条件にＫ（Ｓ′）に設定する。
【０３７２】
　また、動的しきい値設定部９１０は、内部論理キューｉの状態がＳ＝（０，０，…，０）のとき、すなわち、内部論理キューｉに蓄積されるべきセルを送出する呼が存在しない場合には、Ｋ（Ｓ）＝０となるようにする。
【０３７３】
　次に、動的しきい値設定部９１０が一定期間観測した呼設定に関する情報を用いてしきい値を設定する方式の具体例を示す。
【０３７４】
　この方式では、呼設定に関する情報として、呼種毎のトラヒック特性に関するパラメータ、呼種毎に要求されるセル廃棄率およびセル遅延時間、一定期間観測した内部論理キュー毎の呼種別の呼発生レートと呼接続時間とから計算される呼量を用いる。
【０３７５】
　次に、この方式における各内部論理キューｉ宛のバッファ内セル数のしきい値の決定方法としてＬａｇｒａｎｇｅの方法を用いた例を示す。
【０３７６】
　一定期間観測した内部論理キューｉに接続される呼種ｊの呼量をａi,j （ｅｒｌ），呼量の重みをｗi,j とし、呼量ベクトルをＡi ＝（ａi,1 ，ａi,2 ，…，ａi,L ），重みベクトルをＷi ＝（ｗi,1 ，ｗi,2 ，…，ｗi,L ），とする。呼種ごとの呼量の重みは、各呼種のトラヒックパラメータ、あるいは呼種の優先度をもとに決定する。 また、バッファ内セル数のしきい値のベクトルをＸ＝（Ｘ1 ，Ｘ2 ，…，Ｘn ）とする。
【０３７７】
　呼量ベクトルＡi が与えられた時、関数ＰAi（Ｘi ）を、呼量ベクトルＡi に対し、しきい値がＸi のときのセル廃棄率とする。また、要求セル廃棄率をＰmax とする。また、関数ｒAi（Ｘi ）を以下のように定義する。
【数６】
2004040834.tif 000008
【０３７８】
　ここで、Ｋはセル数で表される共有バッファメモリサイズであり、Ｋ′は定数である。スイッチで優先制御を行なう場合には、Ｋ−Ｋ′セル分を低優先セル用に与え、全内部論理キューで共有して使用する。
【０３７９】
　次に、Ｇ（Ｘ）＝Ｋ′（≦Ｋ）の条件の下で関数Ｈ（Ｘ）が最大となるようなしきい値ベクトルＸを以下のようにして求める。
【０３８０】
　関数Ｆ（Ｘ）を未定係数λを用いて以下のように定義する。
【数７】
2004040834.tif 000009
となるように各Ｘi と係数λを決めると、そのときのＸでＨ（Ｘ）は最大となる。
【０３８１】
　このようにして求めたＸi と、各内部論理キュー単位に定められたセル遅延に関する上限値Ｄi とを用いて、動的しきい値設定部９１０は内部論理キューｉ宛のバッファ内セル数のしきい値Ｋi を以下の値に設定する。
【０３８２】
Ｋi ＝min （Ｄi ，［Ｘi ］） （１６） また、セル遅延に関する上限値が規定されない場合には、式（１６）においてＤi ＝Ｋとおくか、あるいは、Ｋi ＝［Ｘi ］
とする。ここで、［Ｘi ］はＸi を越えない最大の整数を表す。ただし、呼量Ａi ＝（０，０，…，０）のとき、すなわち、内部論理キューｉを使用する呼が存在しない場合には、式（１６）は用いずにＫi ＝０とする。
【０３８３】
　次に、呼量係数算出関数ｒAi（Ｘi ）の整数値を求めるアルゴリズムの一例を図４７に示す。また、呼量係数算出関数ｒAi（Ｘi ）のグラフの例を図４８に示す。
【０３８４】
　なお、この方式では、呼の接続／切断時には、各内部論理キューｉでバッファサイズＫi の出力バッファ型スイッチに対する呼受付制御アルゴリズムと同様のアルゴリズムを用いて呼受付制御を行なう。
【０３８５】
　次に、動的しきい値設定部９１０が呼設定に関する情報のうち、あらかじめ定められた要求値を用いてしきい値を設定する方式の具体例を示す。ここでは、ある内部論理キューｉに対して呼接続状態ベクトルＳで与えられるだけの呼を収容しなければならないという要求があったとする。このとき、内部論理キューｉに対しては、現在の呼接続状態ベクトル内容に関わらずしきい値Ｋi をＫ（Ｓ）に設定する。ただし、このような設定はＫ（Ｓ）≦Ｋの場合にのみ可能である。
【０３８６】
　さらに、このようにしきい値を設定する以外の内部論理キューに対しては、動的しきい値設定部９１０は、呼設定に関する情報のうち、現在の情報に基づいてしきい値を設定する方式、または、一定期間観測した情報に基づいてしきい値を設定する方式を用いてしきい値を設定することもできる。
【０３８７】
　本発明は、複数の共通バッファ型ＡＴＭスイッチを任意に接続して構成したＡＴＭ交換機に対しても有効である。以下、多段接続構成の場合の動的しきい値設定部の実施例を示す。図４９に多段接続構成の場合のＡＴＭ交換機の構成を示す。
【０３８８】
　図４９において、９６０はスイッチ、９６１は単位スイッチ、９６２は動的しきい値設定部、９６３はしきい値配分部である。
【０３８９】
　しきい値配分部９６３は、現在の、または一定期間観測した、または要求される呼設定に関する情報に基づいて、スイッチ９６０内の各単位スイッチの各内部論理キューに対して動的に設定するしきい値を計算する。その際、各単位スイッチの各内部論理キューの集合の部分集合を構成し、これを内部論理キュー群とする。内部論理キュー群の構成の仕方は、単位スイッチ同士の接続の仕方（Ｄｅｌｔａ接続かマトリックス接続か、など）や内部論理キューの単位（単位スイッチの出力リンク毎かコネクション毎か、など）に依存して変わる。しきい値配分部９６３は、まず、各内部論理キュー群を一つの論理キューとみなしてしきい値を割当てる。次に、各内部論理キュー群に割り当てられたしきい値を各内部論理キューに対して配分する。
【０３９０】
　次に、しきい値配分部９６３における、内部論理キュー群の構成の仕方、およびしきい値の配分方法の例を示す。
【０３９１】
　図５０は、２×２共通バッファ単位スイッチを４個Ｄｅｌｔａ接続して構成した４×４多段共通バッファスイッチである。図５０において、９７０はスイッチ、９７１は単位スイッチ、９７２は内部論理キュー群、９７３は内部論理キュー群対応しきい値、９７４は内部論理キュー、９７５は内部論理キュー対応しきい値、９７６は内部経路である。
【０３９２】
　ここでは、内部論理キュー９７４は単位スイッチ９７１の出力リンク対応に作られている。また、しきい値配分部９６３では、内部論理キュー群９７２を多段共通バッファスイッチの内部経路対応に設ける。図５０では、内部論理キューａとｆ、ｃとｆ、ｄとｇ、ｄとｈを通る４つの内部経路が存在しているため、内部論理キュー群は（ａ，ｆ）、（ｃ，ｆ）、（ｇ，ｄ）、（ｄ，ｈ）となる。
【０３９３】
　いま、内部論理キューａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈに割り当てるしきい値をそれぞれ、Ｔa ，Ｔb ，Ｔc ，Ｔd ，Ｔe ，Ｔf ，Ｔg ，Ｔh 、内部論理キュー群（ａ，ｆ），（ｃ，ｆ），（ｄ，ｇ），（ｄ，ｈ）に割り当てるしきい値をそれぞれＴ(a,f) ，Ｔ(c,f) ，Ｔ(d,g) ，Ｔ(d,h) 、とする。図５０では、Ｔ(a,f) ＝Ｔ(c,f) ＝Ｔ(d,g) ＝Ｔ(d,h) ＝２０となっている。また、各内部経路を流れるトラヒックの使用帯域は等しいとする。
【０３９４】
　内部論理キューｆは、内部論理キュー群（ａ，ｆ）と（ｃ，ｆ）に共通しており、内部論理キューｄは、内部論理キュー群（ｄ，ｇ）と（ｄ，ｈ）に共通しているため、各内部論理キューに対するしきい値を割り当てる場合に、内部論理キュー群（ａ，ｆ）と（ｃ，ｆ）、（ｂ，ｆ）と（ｄ，ｈ）はそれぞれ、同じグループとして扱う必要がある。
【０３９５】
　このとき、以下の関係式に基づいてしきい値の配分を行なう。　
　　　　Ｔa ＋Ｔc ＋２Ｔf ＝Ｔ(a,f) ＋Ｔ(c,f) ＝４０　
　　　　　　　Ｔa ：Ｔc ：Ｔf ＝１：１：２　
　　　　２Ｔd ＋Ｔg ＋Ｔh ＝Ｔ(d,g) ＋Ｔ(d,h) ＝４０　
　　　　　　　Ｔd ：Ｔg ：Ｔh ＝２：１：１　
　以上より、Ｔb ＝Ｔc ＝１０，Ｔf ＝２０，Ｔg ＝Ｔh ＝１０，Ｔd ＝２０と計算される。なお、これらの関係式の係数およびしきい値の比の値は呼接続状態に基づいて適当な値に変更することが可能である。
【０３９６】
　図５１は、２×２共通バッファ単位スイッチを４個マトリックス接続して構成した４×４多段共通バッファスイッチである。図５１において、９８０はスイッチ、９８１は単位スイッチ、９８２は内部論理キュー群、９８３は内部論理キュー群対応しきい値、９８４は内部論理キュー、９８５は内部論理キュー対応しき９８６は内部経路、９８７はアービターである。
【０３９７】
　図５１において、アービター９８７は、異なる単位スイッチからの２本の出力リンクからの到着セルをスケジューリングして１本の出力リンクに多重する。ここでは、内部論理キューは単位スイッチの出力リンク対応に作られている。また、しきい値配分部９６３では、内部論理キュー群９８２をアービターの出力リンク対応に設ける。このとき、図５１のアービタの左側２個の内部論理キュー群（ｂ，ｄ）、（ａ，ｃ）となる。
【０３９８】
　また、各内部論理キュー群に対するしきい値が、Ｔ(d,f) ＝Ｔ(c,f) ＝Ｔ(d,g) ＝Ｔ(d,h) ＝２０のように割り当てられているものとする。また、各内部経路を流れるトラヒックの使用帯域は等しいとする。
【０３９９】
　このとき、以下の関係式に基づいてしきい値の配分を行なう。　
　　　　　　Ｔb ＋Ｔd ＝Ｔ(b,d) ＝２０　
　　　　　　　　Ｔb ：Ｔc ＝１：１　
　　　　　　Ｔa ＋Ｔc ＋Ｔ(a,c) ＝２０　
　　　　　　　　Ｔa ：Ｔc ＝１：１　
　以上より、Ｔb ＝Ｔd ＝Ｔa ＝Ｔc ＝１０と計算される。なお、これらの関係式の係数およびしきい値の比の値は呼接続状態やアービターのスケジューリングアルゴリズムに基づいて適当な値に変更することが可能である。
【０４００】
　一般に、複数のノードにより構成されるネットワークにおいて、各ノードに対するバッファ量の割当て、すなわち各ノードに対するしきい値配分も、同様に階層的に実現する。
【０４０１】
　次に、図５２に、動的しきい値設定手段と、呼処理手段、観測、シミュレーションや数値解析による性能評価とを組み合わせたスイッチ制御手段を有するＡＴＭ交換機の構成を示す。
【０４０２】
　図５２において、９９０はスイッチ、９９１はスイッチ制御部、９９２は呼処理部、９９３は動的しきい値設定部、９９４はしきい値テーブル、９９５はテーブル更新部、９９６は統計情報保持部である。
【０４０３】
　統計情報保持部９９６は、スイッチ９９０から出力される統計情報を保持する。統計情報保持部９９６が保持する統計情報としては、コネクション毎や内部論理キュー毎のセル廃棄率、呼損率、呼量などがある。
【０４０４】
　しきい値テーブル９９４は、図４６をテーブル化したもので、呼接続状態としきい値の組を１エントリとして、複数個のエントリがメモリまたはディスクに記憶される。
【０４０５】
　呼処理部９９２は、呼設定要求、あるいは呼切断要求のためのシグナリングセルをスイッチから入力すると、シグナリング中に記述されているトラヒックパタメータと、現在の呼接続状態と、呼設定要求か呼切断要求できるかの情報を動的しきい値設定部９９３に渡す。
【０４０６】
　動的しきい値設定部９９３は、トラヒックパラメータと現在の呼接続状態に基づいてしきい値テーブル９９４を検索し、得られたしきい値に変更可能かどうかを判定し、その結果を処理部９９２に出力すると同時にしきい値を変更する。判定の際には、各内部論理キューのしきい値の最大値、しきい値の和に関する最大値を用いる。また、スイッチ全体の呼損率を制御するために、あるいは呼の保留時間のばらつきによって、特定の出力ポートの呼によりバッファが長時間占有されてしまい呼損率が増大する現象を防ぐために、統計情報保持部９９６に保持される呼量や呼損率の統計情報も合わせて用いる場合もある。この場合には、各論理キューｉに設定可能なしきい値の最大値Ｋｍi を動的に変更する。Ｋｍi の変更方法として、以下の４方式がある。
【０４０７】
　第１に、統計情報保持部９９６に保持される一定期間観測した呼量を用いて、前述したようなＬａｇｒａｎｇｅの方式に基づいて計算したしきい値をＫｍi とする方式である。これにより、短時間の呼量の変動による呼損率の劣化を防ぐことが可能になる。
【０４０８】
　第２に、Ｎを内部論理キュー数として、Ｋｍi ＝Ｋ／Ｎとした場合の呼損率をＰ1 、Ｋｍi ＝Ｋに設定し、前述したような現在の呼設定に関する情報を用いてしきい値を設定する方法を用いて、呼設定を一定期間行なったときの呼損率をＰ2 とし、Ｐ1 ≦Ｐ2 の場合には次の期間においてＫｍi ＝Ｋ／Ｎとし、Ｐ1 ＞Ｐ2 の場合にはＫｍi ＝Ｋとする方式である。これにより、呼レベルでスイッチを出力バッファとして使用するか（Ｋｍi ＝Ｋ／Ｎ）共通バッファとして使用するか（Ｋｍi ＝Ｋ）を呼損率の状況に応じて切り替えることが可能となる。ここで、呼レベルでスイッチを出力バッファ（共通バッファ）として用いている場合には、呼損率Ｐ1 （Ｐ2 ）は統計情報保持部９９６に保持される値を用い、呼損率Ｐ2 （Ｐ1 ）は動的しきい値設定部９９３において呼設定をエミュレートすることにより算出する。
【０４０９】
　第３に、現在の呼損率をＰc とし、第２の方式と同様にＫｍi ＝Ｋ／Ｎ、Ｋｍi ＝Ｋとしたときの呼損率Ｐ1 、Ｐ2 を求めておき、Ｐc ＜Ｐ2 の場合にはＫｍi ＝ｍａｘ（Ｋ／Ｎ，Ｋｍi −Δ- （Ｋｍi ））とし、Ｐ1 ＜Ｐc の場合にはＫｍi ＝ｍｉｎ（Ｋ，Ｋｍi ＋Δ+ （Ｋｍi ））とする方式である。ここで、Δ-（Ｋｍi ）およびΔ+ （Ｋｍi ）は、それぞれ、現在のしきい値の最大値Ｋｍiから定まるしきい値の最大値の減少値および増加値である。これにより、呼レベルで出力バッファと共通バッファの中間的なスイッチの運用が呼損率の状況に応じて可能となる。
【０４１０】
　第４に、統計情報保持部９９６に保持される一定期間観測した呼損率が一定値Ｐ以上になるとＫｍi ＝Ｋ／Ｎに設定し、Ｐ未満の場合にはＫｍi ＝Ｋとする方式である。これにより、呼損率が大きい場合には呼レベルで出力バッファとしてスイッチを使用することが可能となる。
【０４１１】
　なお、第１からか第４の方式において、Ｋｍi の変更は、基本的に、現在内部論理キューｉに設定しているしきい値Ｋi がＫｍi 以下になってから行なう。また、内部論理キューｉに対して、遅延に関する最大値Ｄi が規定される場合には、さらに、Ｋｍi ＝ｍｉｎ（Ｋｍi 、Ｄi ）とする。
【０４１２】
　呼処理部９９２は、しきい値の変更が可能であるという判定結果が入力された場合に呼設定または呼切断要求の受付を行なう。
【０４１３】
　テーブル更新部９９５は、呼処理部９９２から現在の呼接続状態を、また、統計情報保持部９９６からセル廃棄率の観測結果をそれぞれ入力し、それに基づいてしきい値テーブルを適当な値に随時更新する。これにより、ネットワーク運用中の性能をしきい値設定に反映させることができる。
【０４１４】
　また、テーブルー更新部９９５は、計算機シュミレーション手段、あるいは数値解析手段も合わせ持つ構成もある。これは、ネットワーク運用中に新しい呼種をネットワークに収容する場合統計情報が十分得られない場合に有効である。この場合には、テーブル更新部９９５はソフトウェアパッケージとして実装される。
【０４１５】
　さらに、動的しきい値設定部９９３は、統計情報保持部９９６から内部論理キュー毎のセル廃棄率を入力し、ある内部論理キューｉのセル廃棄率が一定値以上（以下）になるとしきい値Ｋi を増加（減少）させることもできる。この場合には、更新後のしきい値の情報が統計情報保持部９９６に出力される。テーブル更新部９９５は、統計情報保持部９９６に保持される現在のしきい値の情報をもとにしきい値テーブル９９４の更新を行なう。これにより、セル廃棄率の観測値に基づいた自律的な動的しきい値設定およびＣＡＣ判定基準の変更が可能となる。
【０４１６】
　本発明は上述した各実施例に限定されるものではなく、その要旨を逸脱しない範囲で、種々変形して実施することができる。
【図面の簡単な説明】
【０４１７】
【図１】本発明の第１の実施形態の第１構成に係るセルスイッチの構成を示すブロック図
【図２】同実施形態の第１、２の構成に係る入力バッファの構成を示すブロック図
【図３】同実施形態の第１、２の構成に係る入力バッファの構成を示すブロック図
【図４】スイッチ網内部の単位スイッチ間にフロー制御信号が接続されている構成を示すブロック図
【図５】同実施形態の第１の構成に係る出力バッファの構成を示すブロック図
【図６】同実施形態の第１、３の構成に係るフロー制御信号によるキュー長の変化を示すブロック図
【図７】同実施形態の第１、２の構成に係るセルスイッチを用いた複数のサービスクラスを扱うスイッチノードの一実施例を示す構成図
【図８】同実施形態の第２構成に係るセルスイッチの構成を示すブロック図
【図９】同実施形態の第２の構成に係る２段目単位スイッチの構成を示すブロック図
【図１０】同実施形態の第３構成に係るセルスイッチの構成を示すブロック図
【図１１】同実施形態の第３、４の構成に係る入力バッファの構成を示すブロック図
【図１２】同実施形態の第３、４の構成に係る単位スイッチの構成を示すブロック図
【図１３】同実施形態の第３の構成に係る単位スイッチの構成を示すブロック図
【図１４】同実施形態の第３の構成に係る出力バッファの構成を示すブロック図
【図１５】同実施形態の第４構成に係るセルスイッチの構成を示すブロック図
【図１６】同実施形態の第４の構成に係る２段目の単位スイッチの構成を示すブロック図
【図１７】従来の出力バッファ型バッファ容量拡張容易なセルスイッチの構成を示すブロック図
【図１８】従来の出力バッファ型バッファ容量拡張容易なセルスイッチの入力バッファの構成を示すブロック図
【図１９】従来の出力バッファ型バッファ容量拡張容易なセルスイッチの出力バッファの構成を示すブロック図
【図２０】本発明の第２の実施形態の第１の構成を示す図
【図２１】従来の共通バッファ型ＡＴＭスイッチの実施例を示す図
【図２２】同実施形態の第２の構成を示す図
【図２３】第２の構成を拡張して任意のバッファ容量の共通バッファ型ＡＴＭスイッチを得る実施例を示す図
【図２４】同実施形態の第２の構成に係る共通バッファ型ＡＴＭスイッチの構成を示す図
【図２５】図２４中のアドレス制御部およびアドレス管理部に属するアドレス制御部において、宛先情報を獲得する部分の構成に関する実施例を示す図
【図２６】図２４中のアドレス制御部およびアドレス管理部における書き込みアドレス獲得に関する実施例１において、セルバッファの構成を示す図
【図２７】図２４中のアドレス制御部およびアドレス管理部における書き込みアドレス獲得に関する実施例１において、セルバッファの管理形態を示す図
【図２８】図２４中のアドレス制御部およびアドレス管理部の構成を示す図
【図２９】図２４中のアドレス制御部およびアドレス管理部における書き込みアドレス獲得に関する実施例２を示す図
【図３０】図２４中のアドレス制御部およびアドレス管理部における書き込みアドレス獲得に関する実施例３を示す図
【図３１】同実施形態の第３の構成を示す図
【図３２】本発明の第３の構成に係る共通バッファ型ＡＴＭスイッチの構成を示す図
【図３３】図３２の構成を用いてＡＴＭ多重化装置およびＡＴＭ分離化装置を同時に存在させる実施例を示す図
【図３４】図３２の構成を用いてＡＴＭ多重化装置およびＡＴＭ分離化装置を同時に存在させる実施例においてアドレス制御部およびアドレス管理部に属するアドレス制御部において、宛先情報を獲得する部分の構成に関する実施例１を示す図
【図３５】図３２の構成を用いてＡＴＭ多重化装置およびＡＴＭ分離化装置を同時に存在させる実施例においてアドレス制御部およびアドレス管理部に属するアドレス制御部において、宛先情報を獲得する部分の構成に関する実施例２を示す図
【図３６】図３２の構成を用いてＡＴＭ多重化装置ＡＴＭ分離化装置および直進モードを同時に存在させる実施例を示す図
【図３７】図３２の構成を用いてＡＴＭ多重化装置ＡＴＭ分離化装置および直進モードを同時に存在させる実施例においてアドレス制御部およびアドレス管理部に属するアドレス制御部において、宛先情報を獲得する部分の構成に関する実施例１を示す図
【図３８】図３２の構成を用いてＡＴＭ多重化装置ＡＴＭ分離化装置および直進モードを同時に存在させる実施例においてアドレス制御部およびアドレス管理部に属するアドレス制御部において、宛先情報を獲得する部分の構成に関する実施例２を示す図
【図３９】従来例を示す図
【図４０】本発明の第３の実施形態の基本構成図
【図４１】動的しきい値設定部の基本ハードウェア構成を示す図
【図４２】第２のセル入力規制方式をとった場合のスイッチの構成を示す図
【図４３】セル入力規制部の構成図
【図４４】第２のセル入力規制方式をとった場合のセル入力規制部の構成を示す図
【図４５】呼処理アルリズムを示すフローチャート
【図４６】しきい値決定に用いるテーブルの概念図
【図４７】呼量係数算出関数を求めるアルゴリズムを示すフローチャート
【図４８】呼量係数算出関数の一例を示す図
【図４９】多段接続の場合のＡＴＭ交換機の構成を示す図
【図５０】４×４ Ｄｅｌｔａ接続ＡＴＭ交換機の構成を示す図
【図５１】４×４マトリックス接続ＡＴＭ交換機の構成を示す図
【図５２】スイッチ制御部を有するＡＴＭ交換機の構成を示す図
【符号の説明】
【０４１８】
　６０１…入力バッファ、６０２…単位スイッチ（１段目）、６０３…単位スイッチ（２段目）、６０４…出力バッファ、６１０…セルスイッチ、６２０…スイッチ網、１００，１００ａ，１００ｂ，１０１，１０１ａ，１０１ｂ，１０２…共通バッファ型ＡＴＭスイッチ、１０，１１，１２，１３…１００，１００ａ，１０１１０１ａ，１０２の入力ポート、３０，３１，３２，３３…１００，１００ａ，１０１，１０１ａ，１０２の出力ポート、および、１００ｂ，１０１ｂの入力ポート、５０，５１，５２，５３…１００ｂ，１０１ｂの出力ポート、２０，２１２２，２３，４０，４１，４２，４３，６０，６１，６２，６３…セル出力制御信号、８０，８０ａ，８０ｂ…モード設定信号、８００…モード設定部、８０１…特殊モード詳細設定部、８１…特殊モード設定データ、７０ａ，７０ｂ，７０ｃ，７１ａ，７１ｂ，７１ｃ，７２ａ，７２ｂ，７２ｃ，７３ａ，７３ｂ，７３ｃ…セル、７０１ａ，７０１ｂ，７０１ｃ，７１１ａ，７１１ｂ，７１１ｃ…情報部およびルーティングタグを除くヘッダ部、７０２１ａ，７０２１ｂ，７０２１ｃ，７１２１ａ，７１２１ｂ，７１２１ｃ…ルーティングタグ、７０２２ａ，７０２２ｂ，７０２２ｃ，７１２２ａ，７１２２ｂ，７１２２ｃ…ルーティングタグ、７２１ａ，７２１ｂ，７２１ｃ，７３１ａ，７３１ｂ，７３１ｃ…情報部７２２ａ，７２２ｂ，７２２ｃ，７３２ａ，７３２ｂ，７３２ｃ…ヘッダ部、２００，２００ａ，２００ｂ…マイクロプロセッサ、３００…多重化回路（ＭＵＸ、３０１…セルバッファ、３０２…分離化回路（ＤＭＵＸ）、３０３…制御部、３０３０…入力制御部、３０３１…アドレス制御部およびアドレス管理部、３０３２…出力制御部、３０３１１…アドレス制御部、３０３１１ａ…通常モード用宛先情報レジスタ、３０３１１ｂ，３０３１１ｅ…直進モード用宛先情報レジスタ、または特殊モード用宛先情報レジスタ、３０３１１ｃ…セレクタ、３０３１１ｄ…デコーダー、３０３１１…アドレス制御部、３０３１２…アドレス管理部５００ａ，５００ｂ，５００ｃ…設定データ用レジスタ、５０１…デコーダー、５０１１…管理テーブル、５０２ａ，５０２ｂ…セレクタ、１，６…セルデータ２…ヘッダ部の情報、２ａ…ヘッダ部の情報内のルーティングタグ、２ｂ…ヘッダ部の情報内のＶＰＩ／ＶＣＩ値、３…ＭＵＸ制御信号、４…第１の制御信号、５…アドレスおよび制御信号、７…第２の制御信号、８…ＤＭＵＸ制御信号、９…入力ポート番号、４００ａ，４００ｂ，４００ｃ，４００ｄ…ＦＩＦＯ、９００…マルチプレクサ、９０１…デマルチプレクサ、９０２、９０３、９０４…セル出力ポート、９０５…共有バッファメモリ、９０６…アドレス管理用キュー、９０７…バッファ内セル数カウント部、９０８…しきい値保持部、９０９…共有バッファメモリ管理部、９１０…動的しきい値設定部、９１１…スイッチ、９１２…セル入力規制部、９１３、９１４、９１５…セル入力ポート、９３０…プロセッサ、９３１…メモリ、９３２…入出力インターフェース、９３３…バス、９４０…セル入力規制部、９４１…フロー制御信号線、９５０…比較器、９５１…デコーダ、９６０…スイッチ、９６１…単位スイッチ、９６２…動的しきい値設定部、９６３…しきい値配分部、９７０…スイッチ、９７１…単位スイッチ、９７２…内部論理キュー群、９７３…内部論理キュー群対応しきい値、９７４…内部論理キュー、９７５…内部論理キュー対応しきい値、９７６…内部経路、９８０…スイッチ、９８１…単位スイッチ、９８２…内部論理キュー群、９８３…内部論理キュー群対応しきい値、９８４…内部論理キュー、９８５…内部論理キュー対応しき９８６…内部経路、９８７…アービター、９９０…スイッチ、９９１…スイッチ制御部、９９２…呼処理部、９９３…動的しきい値設定部、９９４…しきい値テーブル、９９５…テーブル更新部、９９６…統計情報保持部
【図１】
2004040834.tif 000010
【図２】
2004040834.tif 000011
【図３】
2004040834.tif 000012
【図４】
2004040834.tif 000013
【図５】
2004040834.tif 000014
【図６】
2004040834.tif 000015
【図７】
2004040834.tif 000016
【図８】
2004040834.tif 000017
【図９】
2004040834.tif 000018
【図１０】
2004040834.tif 000019
【図１１】
2004040834.tif 000020
【図１２】
2004040834.tif 000021
【図１３】
2004040834.tif 000022
【図１４】
2004040834.tif 000023
【図１５】
2004040834.tif 000024
【図１６】
2004040834.tif 000025
【図１７】
2004040834.tif 000026
【図１８】
2004040834.tif 000027
【図１９】
2004040834.tif 000028
【図２０】
2004040834.tif 000029
【図２１】
2004040834.tif 000030
【図２２】
2004040834.tif 000031
【図２３】
2004040834.tif 000032
【図２４】
2004040834.tif 000033
【図２５】
2004040834.tif 000034
【図２６】
2004040834.tif 000035
【図２７】
2004040834.tif 000036
【図２８】
2004040834.tif 000037
【図２９】
2004040834.tif 000038
【図３０】
2004040834.tif 000039
【図３１】
2004040834.tif 000040
【図３２】
2004040834.tif 000041
【図３３】
2004040834.tif 000042
【図３４】
2004040834.tif 000043
【図３５】
2004040834.tif 000044
【図３６】
2004040834.tif 000045
【図３７】
2004040834.tif 000046
【図３８】
2004040834.tif 000047
【図３９】
2004040834.tif 000048
【図４０】
2004040834.tif 000049
【図４１】
2004040834.tif 000050
【図４２】
2004040834.tif 000051
【図４３】
2004040834.tif 000052
【図４４】
2004040834.tif 000053
【図４５】
2004040834.tif 000054
【図４６】
2004040834.tif 000055
【図４７】
2004040834.tif 000056
【図４８】
2004040834.tif 000057
【図４９】
2004040834.tif 000058
【図５０】
2004040834.tif 000059
【図５１】
2004040834.tif 000060
【図５２】
2004040834.tif 000061