(57)【特許請求の範囲】
【請求項１】
１つまたは複数の入力回線と１つまたは複数の出力回線とに接続され、入力回線から入力されたパケットを構成するデータを、該パケットを構成するデータのヘッダ情報に従って決まる何れかの出力回線に出力するパケット交換機であって、
予め使用帯域の予約されていないパケットを構成するデータを、該データを出力する出力回線毎に一時的に保持する第一のバッファと、
予め使用帯域の予約されているパケットを構成するデータを、該データを出力する出力回線毎に一時的に保持する第二のバッファと、
上記第一のバッファに保持されているパケットを構成するデータ数をカウントする第１のカウンタ手段と、
上記第一のバッファに保持されているパケットを構成するデータの輻輳状態を該データの宛先毎に定められた優先度毎に判定する輻輳状態判定手段と、
上記第１のカウンタ手段でカウントされたパケットを構成するデータ数と、上記輻輳状態判定手段が判定した輻輳状態に応じて変更されるパケット構成データ廃棄閾値情報と、上記予め使用帯域の予約されていないパケットを構成するデータの優先度に応じて、上記予め使用帯域の予約されていないパケットを構成するデータを廃棄するか否かを決定するパケット構成データ廃棄決定手段を有することを特徴とするパケット交換機。
【請求項２】
請求項１記載のパケット交換機であって、
上記パケット構成データ廃棄閾値情報は、上記予め帯域の予約されていないパケットの宛先毎の上記第一のバッファにおける滞留パケット構成データ数の上限値であることを特徴とするパケット交換機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット交換機および固定長パケット転送制御方法に関し、更に詳しくは、輻輳制御機能を備えた非同期転送方式（ＡＴＭ：Asynchronous Transfer Mode）のパケット交換機、およびＡＴＭネットワークにおけるセル転送制御方法に関する。
【背景技術】
【０００２】
ＡＴＭネットワークにおける固定長パケット（以下、「セル」と呼ぶ）の転送に関しては、例えば、「Data Commu-nication Using ATM :Architecture, Protocols, and Resource Management」 IEEE Communication Maggin August 1994、p24-31や、「SVC Signaling : Calling All Nodes」 DATA COMMUNICATIONS JUNE 1995、p123-128、等に記載されている。
非同期転送方式のネットワークでは、発呼時のシグナリング処理によって、ユーザセルの転送経路となる送信元装置（発端末）から交換機（スイッチ）を経由した受信先装置（着端末）までの通信路に沿って呼（コネクション）を設定し、各ユーザセルのヘッダ部に付されたコネクション識別情報に基づいてセルの転送を制御する。
【０００３】
呼設定手順については、例えば、ITU-T 標準 Q.2931に記載されており、呼設定手順を実行することにより、送信元装置、経路上の各ノード装置（スイッチ）、受信先装置にコネクション情報が設定される。上記コネクション情報には、送信元−スイッチ間、スイッチ−スイッチ間、スイッチ−受信先間の各リンク上で呼を識別するための識別子や、スイッチ内でのセル転送の優先度を示すトラヒッククラス等が含まれる。上記コネクション（呼）を識別するための識別子は、ＶＰＩ(Virtual Pass Identifier)およびＶＣＩ(Virtual Connection Identifier)と呼ばれ、各セルのヘッダ部にアドレス情報として設定される。
【０００４】
各スイッチでは、伝送路から受信した各入力セルのＶＰＩ、ＶＣＩに基づいてスイッチイング処理に必要なコネクション情報を検索する。上記コネクション情報としては、例えば、内部ルーチング情報（出力ポート番号）、出力セルに付すべき識別子（出力ＶＰＩ／ＶＣＩ）、スイッチ内でのセル優先度を示すトラヒッククラス等が含まれる。
なお、セル優先度を示すトラヒッククラスに関しては、例えば、「Multimedia Traffic Management Principles for Guaranteed ATM Network Performance」IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS VOL.8、NO 3 APRIL 1990 p437-446 や、「Traffic Management for B-ISDN Services」 IEEE Network、September 1992、p10-19に記載されている。
【０００５】
セル優先度を示すトラヒッククラスとしては、ＣＢＲ（Constant Bit Rate）とＶＢＲ（Variable Bit Rate)の２つのトラヒッククラスがある。ＣＢＲは、呼設定時に網と端末との間で所定のセル転送レートを契約をしておき、網側が上記転送レートでのセル転送を保証するトラヒッククラスであり、ＶＢＲは、端末との間で契約した転送レートについて、或る程度の統計的揺らぎの発生を許容するトラヒッククラスである。このように網と端末との間で予め契約を結んでトラヒック制御を行う方式は「Preventive Control」と呼ばれている。
呼設定時に網と端末との間で転送レートに関する特別な契約を結ぶことなく、上述したＣＢＲ、ＶＢＲで他端末に割り当てられた帯域の残り帯域を利用して送信するトラヒックとして、「Best Effor Control」と呼ばれるトラヒッククラス群がある。転送レート契約を結ばない理由の１つは、バーストトラヒックを出力する端末にとっては、トラヒックの特性を呼設定時に予測することが困難なためである。
これらのBest Effor Controlのトラヒック群には、網がセルの転送に関して何んら保証しないＵＢＲ(Unspecified Bit Rate)トラヒッククラスと、網と端末との間で輻輳時にフィードバック制御を行なうことによって、セル損失が発生しないよう保証するＡＢＲ(Available Bit Rate)トラヒッククラスとがある。なお、ＡＢＲトラヒッククラスに関しては、例えば「The Rate-Based Flow Control Framework for the Available Bit Rate ATM Service」 IEEE Network March/April 1995、 p25-39に記載されている。
【０００６】
トラヒッククラスに応じた転送制御を行うスイッチの構成については、例えば、特開平6-197128号公報(従来技術１)において、各出力ポート毎にＣＢＲ用、ＶＢＲ用の２つ出力バッファを設け、各出力ポート対応に上記２つのバッファの空／塞状態を示すテーブル情報を記憶しておき、このテーブル情報を参照することによって、入力バッファ制御ユニットが、各出力ポート宛のセルの蓄積用バッファを決定するようにしたパケット交換機が記載されている。この場合、ＣＢＲ用バッファに蓄積されたセルの出力優先度をＶＢＲ用バッファのセル出力よりも高くすることにより、通信遅延に厳しい制約をもつＣＢＲトラヒックのセル群について、スイッチ内での通信遅延時間を一定値以内に抑えることができる。
【０００７】
また、例えば、ＣＢＲ用バッファに空きがない場合に、ＶＢＲ用バッファに空きがあればＶＢＲ用バッファにセルを蓄積することにより、スイッチ内で帯域の有効活用を図ることができる。なお、ＡＢＲ、ＵＢＲトラヒッククラスをサポートする場合には、上記ＣＢＲ、ＶＢＲのトラヒッククラスに加えて、更に他のトラヒッククラス対応の出力バッファを追加すればよい。
【０００８】
電子情報通信学会96年度全国大会B-598「５クラスの遅延優先制御機能を有する622Mbps 8×8 ATMスイッチLSIの開発」（従来技術２）では、CBR,VBRの各トラヒッククラスに対して、同一のトラヒッククラス内のコネクション毎のセル数カウンタ情報とコネクション毎の閾値情報とをスイッチ内に記憶しておき、セル数カウンタの値が閾値を超えた場合にセル廃棄を行う技術が示されている。
また、例えば電子情報通信学会96年度全国大会B-765「カウンタ制御による選択的セル廃棄方式」（従来技術３）には、上位プロトコルパケット（複数セルからなる上位プロトコルが扱う情報単位）の区切りを認識し、輻輳が発生した場合、パケット単位でセルの選択的連続廃棄を行うパケットレベル廃棄と呼ばれる技術が記載されている。
なお、ATMセルを扱うスイッチングシステムの構成としては、例えば特開平４ー２７６９４３号公報（従来技術４）に、各出力ポート毎に物理的に独立したバッファを設ける代わりに、複数の出力ポートに対して共通のセル蓄積用バッファを設けた構成が示されている。
【０００９】
【非特許文献１】「The Rate-Based Flow Control Framework for the Available Bit Rate ATM Service」 IEEE Network March/April 1995、 p25-39
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したように、非同期通信においては、既に幾つかのトラヒッククラスが提案されているが、これらのトラヒッククラスの使い分け以外に、各トラヒッククラス内で更に特性を細分化した形でセルの転送を制御することが望まれる。しかしながら、従来は、例えば ＵＢＲのようにセル転送に特別な保証を与えないトラヒッククラスについては、網が輻輳状態に陥った時、これらのトラヒッククラスに属する通信の品質を制御するための手段がなかった。また、従来技術２では、同一のトラヒッククラス内でさらに細かくコネクション毎の閾値に基づいてセルを廃棄するか否かを決定する技術が示されているが、セルバッファを単純に閾値によって分割した場合、セルバッファが未だ輻輳状態となっていない時でも、閾値を超えたセルが廃棄されてしまい、セルバッファ全体としての使用効率が低下するという問題があった。
【００１１】
本発明の目的は、呼設定時に網と端末との間で転送レートについての契約をしない Best Effor Control トラヒッククラス群について、セルバッファ全体の使用効率を低下させることなく、通信品質を制御できるようにしたパケット処理装置、およびセル転送制御方法を提供することにある。
本発明の他の目的は、呼設定時に端末装置からの帯域予約が困難なトラヒッククラス群について、輻輳発生時に選択的なセル廃棄制御が可能なＡＴＭ交換機等のノード装置、およびＡＴＭセル転送制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明のセル転送制御方法では、帯域予約をしない特定のトラヒッククラスに属したコネクションの設定時に、ＡＴＭ（非同期転送モード）ネットワーク内の何れかのノード装置に、上記コネクションの識別子と対応して、発側装置または網管理装置から申告されたセル廃棄に関する優先度を示す情報を記憶しておき、上記コネクションの方路上で輻輳が発生し、ノード内の出力待ちセルを保持しているセルバッファにセルが滞ってきた時、上記ノード装置が、上記セルバッファの状態と上記優先度との関係によって決まる所定の廃棄条件に従って、上記特定のトラヒッククラスに属するセルに選択的に廃棄処理を施すようにしたことを特徴とする。
【００１３】
更に詳述すると、上記ノード装置は、例えば、上記セルバッファ内に滞留しているセルのセル数をコネクション毎にカウントしたコネクション毎カウンタ値を常時更新維持し、上記優先度と上記コネクション毎カウンタ値とによって決まる所定の廃棄条件に従って、上記特定トラヒッククラスに属した各セルを廃棄するか否かを決定する。また、上記ノード装置は、セルバッファに滞留しているセルの全セル数をカウントしたセルバッファカウンタ値を常時更新維持し、上記セルバッファ全体の輻輳判定を行なうセルバッファ閾値と上記全セル数との関係に従って、上記セルバッファ輻輳時にのみ上記所定の廃棄条件に重み付けを加え、上記重み付けを加えた廃棄条件に従って、上記特定のトラヒッククラスに属するセルに選択的に廃棄処理を施す。この場合、上記特定トラヒッククラスの各セルについて、当該セルのデータ部に含まれるデータブロックが先行セルのデータ部と同一の送信メッセージから分割されたものか、新たな送信メッセージから分割されたものかを判定し、廃棄条件に該当したセルについて、送信メッセージを単位とした廃棄処理を施すようにするとよい。
メッセージ単位でのセル廃棄は、例えば、上記輻輳の状態と優先度との関係で決まる所定の廃棄条件に合致したセルについて廃棄処理を開始し、輻輳状態の変化によって廃棄条件から外れた場合でも、既廃棄セルのデータ部と同一送信メッセージの一部を含む後続のセルについては、廃棄処理を継続させる。メッセージ単位でのセル廃棄の変形として、例えば、廃棄条件に合致したセルのうち、既送出セルのデータ部と同一送信メッセージのデータブロックを含むセルについては廃棄対象から外し、後続する新たなメッセージの先頭データブロックを含むセルから廃棄処理を開始するようにしてもよい。
【００１４】
また、本発明は、複数の入力回線と複数の出力回線とに接続され、各入力回線から入力された固定長パケット（セル）をセルヘッダ情報によって決まる何れかの出力回線に転送するパケット交換機において、帯域予約をしない特定のトラヒッククラスに属したコネクションの設定時に、上記コネクションの識別子と対応して、発呼装置又は網管理装置から申告されたセル廃棄に関する優先度を示すサブクラス情報を記憶するための手段と、上記各出力ポート対応に輻輳状態を検出するための手段と、上記各入力ポートからの入力される上記特定のトラヒッククラスに属するセルについて、転送先となる出力ポートにおける輻輳状態と上記サブクラス情報との関係によって決まる所定の廃棄条件に従って選択的に廃棄処理を施すための手段とを備えたことを特徴とする。
【００１５】
更に詳述すると、本発明のパケット交換機は、複数の入力ポートと複数の出力ポートとを有し、各入力ポートから入力された固定長パケット（セル）をセルヘッダ情報によって決まる何れかの出力ポートに転送するスイッチ手段と、各入力ポートと入力回線との間に接続された入力回線インターフェイスと、各出力ポートと出力回線との間に接続された出力回線インターフェイスと、上記スイッチ手段と各入力回線インターフェイスに接続され、上記スイッチ手段との間で呼制御セルを送受信し、上記各入力インターフェイスにヘッダ書替え情報を含む制御情報を送信する呼制御装置と、上記各出力ポート毎およびコネクション毎の出力セルの輻輳状態を検出し、輻輳状態情報として上記各入力インターフェイスに通知する輻輳監視手段とからなり、
上記呼制御装置が、帯域予約をしない特定のトラヒッククラスに属したコネクションの設定時に、上記コネクション設定の要求元となった発呼装置を収容している入力インターフェイスに対して、上記コネクションの識別情報と上記発呼装置からの制御メッセージによって申告されたトラヒッククラス情報およびセル廃棄に関する優先度を示すサブクラス情報を含む制御情報を通知するための手段を有し、上記各入力インターフェイスが、コネクション設定後に各入力回線から受信した上記特定のトラヒッククラスに属するユーザセルについて、上記輻輳状態情報から判明する上記ユーザセルの転送先出力ポートにおける輻輳状態とコネクション毎の輻輳状態と上記呼制御装置から通知されたセル廃棄に関する優先度との関係によって決まる所定の廃棄条件に従って選択的にセル廃棄するためのセル廃棄制御手段を備えたことを特徴とする。
上記各入力回線インターフェイスは、例えば、各入力回線からの入力セルのヘッダ情報を書き替えるためのヘッダ変換手段と、ヘッダ変換された一時的に蓄積するための入力バッファ手段とを有し、上記セル廃棄制御手段は、上記入力バッファ手段への特定トラヒックの入力セル蓄積を上記廃棄条件に従って選択的に行う。
【００１６】
また、上記スイッチ手段は、各出力ポートと対応した出力バッファ手段と、各入力回線インターフェイスでヘッダ変換された各ユーザセルをヘッダ情報によって特定される何れかの出力バッファ手段に振り分けるための手段とからなり、上記輻輳監視手段は、各出力バッファ手段におけるユーザセルの蓄積状況から前記出力セルの輻輳状態を検出する。
なお、上記スイッチ手段が、各出力ポート毎に複数の出力バッファ手段を備え、該出力バッファ手段のうちの１つを、転送レートを保証したＣＢＲトラヒッククラスのセル用に割り当てるようになっていてもよい。また、上記スイッチ手段内の出力バッファ手段は、複数の出力ポートからのセルを共通に保持し、上記輻輳監視手段も複数の出力ポート対応の上記出力バッファ手段の空きバッファ容量を監視するように構成されていてもよい。また、上記スイッチ手段内の出力バッファ手段を共通化して構成した場合、上記セル廃棄制御手段と上記入力バッファ手段を上記各入力回線インターフェイスではなく、上記スイッチ手段内に構成してもよい。
【００１７】
本発明の構成によれば、前述した Best Effor Control トラヒッククラス群のように、帯域予約をしないトラヒッククラスに対して、サブクラスとしてセル廃棄に関する優先度情報を定義しておき、呼設定時に、発端末が、上記優先度を網に通知し、Best Effor Controlトラヒッククラスで輻輳状態が発生した場合に、同一トラヒッククラス内のセルであっても、サブクラスで指定した優先度情報に従って、優先順位の最も低いコネクションのセルから廃棄され、優先度の高いコネクションのセルは廃棄対象から除外できるようになっている。また、セル廃棄したにも拘わらず、輻輳の程度が進むと、次に優先順位の高いコネクションのセルに対してセル廃棄が起こり、輻輳が回復するに従って、優先順位の高いコネクションのセルから順に廃棄処理が中止されるようになっている。これによって、 Best Effor Control トラヒッククラス群のうちでも、優先度の高いコネクションについて通信品質を保証することが可能となる。
【発明の効果】
【００１８】
以上の説明から明らかなように、本発明によれば、輻輳状態となった時、予め設定しておいたコネクション毎の閾値情報を参照して、閾値の低いコネクションからセル廃棄し、もし複数のコネクションで閾値が等しい場合は、滞留セル数の多いコネクションから優先的にセル廃棄し、閾値情報に優先順位が付されている場合は、優先順位の低いコネクションのセルから優先的にセル廃棄することによって、優先順位の高いコネクションのトラヒックを保護するようにしている。
【発明を実施するための最良の形態】
【００１９】
本発明の第１の実施例として、出力ポート毎にＦＩＦＯ出力バッファを備え、ＣＢＲを優先トラヒックとしてセル転送制御を行うようにしたＡＴＭ交換機について説明する。
図１は、Ｎ本の入力回線とＮ本の出力回線に接続された本発明によるＡＴＭ交換機（スイッチ）１００の構成を示す。
なお、ここでは、説明の都合上、上記交換機には、Ａ、Ｂ、２つの端末装置１６２と１６４が入出力回線（加入者線）を介して収容された網構成を示しているが、上記入出力回線の１部は、交換機１００を他の交換機と接続するするためのトランクであってもよい。また、この例では、端末Ａ：１６２がスイッチ１００の左側に配置され、該端末からの送出セルが、スイッチの右側の配置された端末Ｂ：１６４に転送されように図示されているが、実際の交換機では、第ｉ番目の入力回線と第ｉ番目の出力回線とが互いに対をなし、図１における第１番目の出力回線からの出力セルが上記端末Ａに入力され、端末Ｂからの送出セルが第Ｎ番目の入力回線に入力される。網管理端末180は、網を管理するための端末である。
【００２０】
スイッチ１００は、各入力回線対応に設けられた複数の入力回線対応部（入力回線インターフェイス：ＬＩＦｉ）１０２（１０２−１〜１０２−Ｎ）と、スイッチコア部１２０と、各出力回線対応に設けられた複数の出力回線対応部（出力回線インターフェイス：ＬＩＦｏ）１０８（１０８−１〜１０８−Ｎ）と、呼制御装置（コネクション処理部：ＣＰ）１４０とから構成される。各入力回線対応部１０２は、ヘッダ変換回路１３２と、セル廃棄判定ユニット１３６と、セルバッファ１３４とから構成される。また、スイッチコア部１２０は、クロスバスイッチ回路１０５と、出力回線対応に用意された複数のＦＩＦＯ１０７（１０７−１〜１０７−Ｎ）と、上記各ＦＩＦＯ１０７に接続されたＦＩＦＯ輻輳状態判定回路１０６とから構成されている。
【００２１】
図２の（Ａ）は、各入力回線からスイッチ１００の入力回線対応部へ入力されるセル２１０のフォーマットを示す。
端末Ａが端末Ｂに送信するメッセージ（パケット）は、固定長の複数のデータブロックに分割され、各データブロックにセルヘッダが付されてセル２１０となる。各セル２１０は、ヘッダ部とデータ部２１２とからなり、ヘッダ部には、入力ＶＣＩ２１６と、上記データ部に含まれるデータブロックが上位プロトコルで扱うパケット（送信メッセージ）中のどの位置のものかを示す情報（ＰＴＹ）２１４とを含む。以下の説明では、セルが上位パケットの先頭のデータブロックを含む場合を「パケットの区切り」と呼ぶことにする。
【００２２】
ヘッダ変換回路１３２は、入力回線から入力セル２１０が入力されると、ヘッダ変換テーブルから上記セルの入力ＶＣＩ２１６と対応したヘッダ変換情報を読み出し、図２の（Ｂ）に示す内部セル２２０のフォーマットに変換する。
【００２３】
内部セル２２０のヘッダ部には、入力セル２１０の入力ＶＣＩ２１６に代わる出力ＶＣＩ２２１と、ルーチング情報（出力ポート情報）２２２と、トラヒッククラス２２４と、サブクラス２２５と、コネクション毎の廃棄閾値を示すVCIセル廃棄閾値２２７と、当該ＶＣＩのパケットが廃棄中か否かを示すパケット廃棄状態情報２２８とが付加される。内部セル２２０は、該当する出力ポートで輻輳が発生していなければ、セルバッファ１３４で廃棄処理されることなくスイッチコア部１２０に送られ、クロスバスイッチ回路１０５を経由して、ルーチング情報（出力ポート情報）が示す特定の出力バッファＦＩＦＯ１０７に送りこまれる。
【００２４】
図２の（Ｃ）は、着端末１６４との通信に先だって、発端末１６２がスイッチ１００に送出する呼設定のための制御メッセージ（コネクション情報）２３０を示す。
コネクション情報２３０は、着端末を特定する宛先アドレス情報２３２と、トラヒッククラス情報２３４と、セル廃棄に関する優先度を示すサブクラス情報２３６と、コネクション毎の廃棄閾値を示すＶＣＩセル廃棄閾値２３８と、発端末における上位プロトコルを示す端末プロトコル情報２５０とを含む。上記コネクション情報２３０は、発端末において、固定長の複数のブロックに分割され、各ブロック毎にセルヘッダを付加して得られる図２の（Ａ）と同様のフォーマットをもつ制御セルとして、スイッチ１００に送り込まれる。
【００２５】
制御セルは、スイッチコア部１２０から、図１では省略されている信号処理手段を介して、呼制御装置（コネクション処理部：ＣＰ）１４０に転送される。なお、上記信号処理手段は、各制御セルのデータ部２１２の内容（データブロック）を図２の（Ｃ）に示した元のコネクション情報（メッセージ形式）に組立てるためのものであり、スイッチコア部１２０との接続インターフェイスとして、呼制御装置１４０の一部として構成されていてもよい。
呼制御装置１４０は、上記コネクション情報に応答して実行される呼設定シーケンスにおいて、上記発端末と接続されたヘッダ変換回路１３２の変換テーブル部（図示せず）に、呼に割り当てた出力ＶＣＩ２２６と、上記宛先アドレスから特定される出力ポート情報２２６と、上記コネクション情報２３０から抽出されたトラヒッククラス２３４およびトラヒックサブクラス２３６をセットする。また呼制御装置１４０は、網管理端末１８０からのコネクション設定シーケンスにおいても同様に，所定のヘッダ変換回路１３２の変換テーブル部（図示せず）にセットする。端末間の呼（コネクション）設定が完了すると、発端末１６２は、着端末１６４宛にセル（ユーザセル）２１０の送出を開始する。
【００２６】
図３は、ＦＩＦＯ出力バッファ１０７の構成の１例を示す。
ＦＩＦＯ出力バッファ１０７は、ＣＢＲ用およびＵＢＲ用の２つのＦＩＦＯ３０１、３０２と、ＦＩＦＯ制御回路１０９と、ＦＩＦＯ長カウンタ３０４と、ＶＣＩ別カウンタ制御回路３０６と、ＶＣＩ別カウンタ３０８とから構成され、ＦＩＦＯ制御回路１０９は、ＣＢＲ用ＦＩＦＯ３０１の蓄積セルをＵＢＲ用ＦＩＦＯ３０２の蓄積セルに優先して出力する。
輻輳が発生していない通常の状態においては、各ＦＩＦＯ出力バッファ１０７ｉから出力されたユーザセルは、対応する回線出力制御部ＬＩＦｏ１０８ｉに入力され、ここで不要となった内部ヘッダ情報２２２〜２２８が除去され、情報要素２１２〜２２１からなる出力セルフォーマットで出力回線に送出される。
【００２７】
各ＦＩＦＯ出力バッファ１０７ｉ内のセルの蓄積状態を示す情報は、ＦＩＦＯ出力バッファ１０７ｉ全体の滞留セル数を示すＦＩＦＯ長カウンタ３０４と各コネクション(ＶＣＩ)毎の滞留セル数を示すＶＣ別カウンタ３０８の2つがある。
まず、ＦＩＦＯ長カウンタ３０４はＦＩＦＯ出力バッファ１０７のＣＢＲ用、ＵＢＲ用の２つのＦＩＦＯ３０１、３０２におけるセル蓄積状態をモニターし、全ＦＩＦＯ出力バッファ１０７のセル蓄積状態は信号線１５６を介して輻輳状態判定回路１０６に集められる。輻輳状態判定回路１０６は、上記セル蓄積状態を出力ポート対応の輻輳状態情報に編集し、信号線１５２を介して各入力回線対応部１０２−１〜１０２−Ｎに通知する。
【００２８】
ここで、関連して輻輳状態判定回路１０６について説明する。
図５に示すＦＩＦＯ輻輳状態判定手段１０６は出力回線毎の比較手段を備えており、ＦＩＦＯ長カウンタ情報を保持するレジスタ５１２とＦＩＦＯ長閾値情報を保持するレジスタ５１０と比較回路５１４で構成される。複数の輻輳レベルに対する判定を行なうために上記レジスタ５１０と比較回路５１４は複数個で構成してもよい。ＦＩＦＯ輻輳状態判定手段１０６に集められたＦＩＦＯ長カウンタ３０４からの信号１５６は、レジスタ５１２にセットされ、ＦＩＦＯ長閾値情報を保持するレジスタ５１０と比較回路５１４で比較される。比較結果は信号線１５２経由で回線入力制御部ＬＩＦｉ１０２−ｉに送られ、セル廃棄判定の参考情報として用いられる。輻輳状態判定回路１０６は、例えば、各出力ポートにおけるセル蓄積状態を「サブクラス輻輳状態」として分類し、上記輻輳状態情報として編集する。
【００２９】
次に、ＶＣＩ別カウンタ３０８は、ＶＣＩ別カウンタ制御回路３０６と連携して、ＦＩＦＯ回路３０２内セルのＶＣＩ毎のセル数の現在値を保持する。まず、セルのＦＩＦＯ回路３０２への入力時には、クロスバスイッチ回路１０５からＦＩＦＯ回路３０２へ送られてきた内部セルフォーマット２２０の出力ＶＣＩ２２６情報に基づいて、該当ＶＣＩのセル数をカウントアップする。逆に、ＦＩＦＯ回路３０２からの出力時には、出力ＶＣＩ２２６情報に基づいて、該当ＶＣＩのセル数をカウントダウンする。これによりＶＣＩ毎のセル数の現在値が保持される。回線入力制御部ＬＩＦｉ１０２からの読みだし要求指示が信号線３２２経由で届くと、このＶＣＩ別カウンタ３０８に保持されているＶＣＩ毎のセル数の現在値を読みだし、信号線３２４経由で回線入力制御部ＬＩＦｉ１０２内のセル廃棄判定回路４３０に送る。
【００３０】
図４は、回線入力制御部ＬＩＦｉ１０２−ｉの構成図である。回線入力制御部ＬＩＦｉ１０２−ｉはヘッダ変換回路１３２、セル廃棄判定ユニット１３６、セル廃棄手段であるセルバッファ１３４から構成される。セル廃棄判定ユニット１３６は、パケット区切り認識回路４２０、ＦＩＦＯ輻輳レベル判定回路４３０、ＶＣＩ輻輳レベル判定回路４４０、パケット廃棄判定回路４１０から構成される。
【００３１】
パケット区切り認識回路４２０は、ヘッダ変換部１３２から内部セルフォーマット２２０2のＰＴＹ２１４とパケット廃棄中状態２２６を受信し、パケットの区切りを検出し、パケット廃棄中状態と一緒に信号線４２２経由でパケット廃棄判定回路４１０に対し出力する。
ＦＩＦＯ輻輳レベル判定回路４３０は、ヘッダ変換部１３２からのトラヒックサブクラス２２５とＦＩＦＯ輻輳状態判定回路１０６からの輻輳情報１５２を受信し、図６の説明部分で述べるフローにしたがって、アクティブなトラヒックサブクラス状態を出力回線毎に求め、レジスタ４３２内に保持し、受信セルのトラヒックサブクラスとの比較結果を信号線４４２経由でパケット廃棄判定回路４１０に出す。
ＶＣＩ輻輳レベル判定回路４４０は、ヘッダ変換部１３２からのＶＣＩセル廃棄閾値２２７と、ＦＩＦＯ輻輳状態判定回路１０６からの輻輳情報１５２とＶＣＩ別カウンタ３０８とを受信し、軽輻輳状態での廃棄判定を図８に従って行ない、パケット廃棄判定回路４１０に対し軽輻輳廃棄指示信号４４２を出力する。
パケット廃棄判定回路４１０は、上記信号線４２２からのパケット区切り信号とパケット廃棄中状態、信号線４４２からの受信セルのトラヒックサブクラスとの比較結果、軽輻輳廃棄指示信号４４２を受信し、図７に示すフローの処理を行ない、入力セルの廃棄指示１５４をパケット廃棄手段であるセルバッファ１３４に出す。セルバッファ１３４は廃棄指示１５４を受信した場合、セルをスイッチコア部１２０に転送しない。
【００３２】
図６は、レジスタ４３２に保持しているアクティブなトラヒックサブクラス状態の状態遷移を示している。サブクラス輻輳状態はＮから１までの状態を持ち、ＦＩＦＯ輻輳状態判定回路からの信号１５２が重輻輳状態を示す場合にはサブクラス輻輳状態は「＋１」の状態（例えば６１２から６１０）に遷移し、軽輻輳状態を示す場合にはサブクラス輻輳状態は「ー１」の状態（例えば６１０から６１２）に遷移する。
【００３３】
図７は、パケット廃棄判定回路４１０の動作を示す。
ステップ７１２で、サブクラス輻輳状態とトラヒックサブクラスの一致するセルに対して、図８に示す上位パケットレベル廃棄判定（ステップ７３０）行ない、条件に合った場合は、上位パケットレベル廃棄を行なう。サブクラス輻輳状態に較べて大きいトラヒックサブクラスのセルは廃棄せず（ステップ７１８）、サブクラス輻輳状態に較べて小さいトラヒックサブクラスのセルは廃棄する（ステップ７１４）。
【００３４】
上位パケットレベル廃棄判定７３０では、図８に示すように、信号線４２２経由で受信したパケット廃棄中状態２２６がセル廃棄中の場合（ステップ７３２）、且つＰＴＹ２１４がパケット区切りでない場合（ステップ７３４）、セルバッファ１３４に対し、セル廃棄指示を行ない、ヘッダ変換回路１３２に対するパケット廃棄中状態点灯指示を行なう（ステップ７３６）。これによりヘッダ変換回路１３２内の該当ＶＣＩのパケット廃棄中状態が点灯する。
信号線４２２経由で受信したパケット廃棄中状態２２６がセル廃棄中ではない場合（ステップ７３２）、またはＰＴＹ２１４がパケット区切りである場合（ステップ７３４）、信号１５２による軽輻輳状態のレベルＦでＶＣＩセル廃棄閾値の値Ｓを割り算した結果Ｓ’を求め（ステップ７３８）、ＶＣＩ別カウンタ３０８の出力信号３２４の値ＣとＳ’を比較する（ステップ７４０）。ここで、Ｆは２のべき乗であると、割り算がシフト演算ですみ、また高速なスイッチング時間内でも演算できるという効果がある。
【００３５】
ステップ７４０7の結果、Ｃ＞Ｓ’の場合、ステップ７３４と同様に上位パケットの切れ目か否かを判定し（ステップ４７２）、切れ目であった場合、セル廃棄指示を行なう（ステップ７３６）。ステップ７４０の結果、Ｃ＞Ｓ’でなかった場合、またはステップ７３４と同様に上位パケットの切れ目か否かを判定し（ステップ７４２）、切れ目でなかった場合、セル廃棄指示を行なわず処理を終える。ここで、ステップ７３８,７４０ はＶＣＩ輻輳レベル判定回路４４０の動作を、その他のステップはパケット廃棄判定回路４１０の動作を説明している。
【００３６】
図９は、ステップ７３８、７４０の機能を示す。コネクション毎の閾値：Ｓとコネクション毎のセル数：Ｃとの関係によるセル廃棄判定は、ＦＩＦＯの軽輻輳状態の程度により、輻輳状態が進むにつれてセルが廃棄される場合が増えている。また、コネクション毎の閾値：Ｓの設定により、等しく設定した場合にはコネクション毎の公平さを実現でき、重要なコネクションに対して大きな閾値：Ｓを与えた場合には、他のコネクションに較べセル廃棄が発生しにくい設定とすることができる。
【００３７】
本発明によれば、スイッチ内の出力ポート全体で輻輳状態が発生すると、上記コネクション比較手段の出力に基づいてセルが廃棄され、図６で示したサブクラスでは、輻輳状態において、サブレベルの小さいコネクションからセルが廃棄される。セル廃棄しているにも拘わらず輻輳状態の程度が進むと、サブレベルの大きいコネクションからもセル廃棄が始まる。スイッチが輻輳状態から回復するにつれて、サブレベルの大きいコネクションのセルから順にセル廃棄が中止され、スイッチで発生した輻輳状態に対してサブレベルの大きいコネクションのセルが保護される。
以上の実施例では、セルバッファを出力ポート対応に設けたが、入力ポート対応に設けた場合、あるいは入出力双方にバッファを設けた場合にも本発明を適用できる。
【００３８】
次に、本発明の他の実施例として、セルバッファを複数のポートで共有したＡＴＭ交換機について説明する。
図１０において、１１０は、ＡＴＭ交換機の主要部である共通バッファスイッチ部を示す。このスイッチ部１１０は、図１に示したスイッチ１００のスイッチコア部120に置き換わるもので、図１の各入力回線対応部１０２に分散して配置されていたセル廃棄判定ユニット１３６に代えて、各回線対応部に共通のセル廃棄判定ユニット１３７を備えている。  
スイッチコア部1は、例えば入力回線Ｌ１０〜Ｌ１３に接続された155Mbps/600Mbpsの多重器１２と、出力回線Ｌ５０〜Ｌ５３に接続された600Mbps /155Mbpsの分離器１３と、共通バッファメモリ１１と、バッファメモリ制御回路１０とから構成される。図１で示した入力回線対応部１２０は、上記各入力回線Ｌ１０〜Ｌ１３に挿入されているが、この図では省略してある。
【００３９】
バッファメモリ制御回路１０は、書き込みアドレスメモリ１１１、読みだしアドレスメモリ１１２、空きアドレスバッファ１１３、帯域制御テーブル１１４、カウンタ１１５、共通バッファメモリ輻輳状態判定回路１０６、ＶＣＩ別カウンタ制御回路３０６、ＶＣＩ別カウンタ３０８およびセル廃棄判定ユニット１３７から構成される。
入力回線対応部（図示せず）でヘッダ変換された入力セルは、入力回線Ｌ１０〜Ｌ１３から多重器１２に入力され、ラインＬ２から時系列的なセル列として出力される。ここに示したスイッチコア部１２０の基本的な構成と動作は、特開平４ー２７６９４３号公報に記載されたものと同様であり、共通バッファメモリ１１へのセルの書き込みと読み出しがバッファメモリ制御回路１０によって制御される。
【００４０】
セルの書き込みサイクルでは、多重器１２からラインＬ２に出力された各セルから、ヘッダ部に付された出力ポート情報（ルーチング情報）が抽出され、これをアドレスとして書き込みアドレスメモリ１１１がアクセスされ、読み出されたアドレスが、ラインＬ３２を介して、共通バッファメモリ１１に書き込みアドレスＷＡとして与えられる。この時、共通バッファメモリ１１の空きアドレスを蓄積している空きアドレスバッファ１０３から、次セルへのポインタアドレスとして利用する空きアドレスが取り出され、ラインＬ３１を介して、書き込みアドレスメモリ１１１および共通バッファメモリ１１にそれぞれ入力データとして与えられる。
上記ポインタアドレスは、今回の書き込みアドレスＷＡに代わって、書き込みアドレスメモリ１１１内の同一メモリ領域に書き込まれ、同一ポート宛の次のセルが到着した時、共通バッファメモリ11への新たな書き込みアドレスＷＡとなる。一方、共通バッファメモリ１１に、入力セルと対にして書き込まれたポインタアドレスは、後述するセル読み出しサイクルで、共通バッファメモリ１１からセルと対にして読み出され、読み出しアドレスレジスタ１１２に保持される。これにより、セル読み出しの都度、読み出しアドレスレジスタ１１２内に、出力ポートと対応して、次回読み出すべきセルを指すポインタアドレスが記憶され、共通バッファメモリ１１内には、各出力ポートと対応して、次アドレスで論理的に接続されたキューチェーン（リスト構造）が形成される。
【００４１】
セルの書き込みサイクルと交互に行われるセルの読み出しサイクルでは、セル読み出しサイクル毎にカウントアップ動作するカウンタ１１５の出力値（カウント値）をアドレスとして、帯域制御テーブル１１４をアクセスする。上記カウント値は、分離器１３が選択するセルの出力ポートと対応しており、帯域制御テーブル１１４には、上記カウント値に対応して、セルを読み出すべき特定のキューチェーンを指定するアドレスが予め記憶してある。
上記帯域制御テーブル１１４から読み出されたキューアドレスは、読み出しアドレスメモリ１１２に、読み出しアドレス（ＲＡ）および書き込みアドレス（ＷＡ）として与えられ、上記アドレスメモリ１１２から、上記特定のキューチェーンの先頭セルを指すポインタアドレスが読み出される。上記ポインタアドレスは、ラインＬ３３を介して、共通バッファメモリ１１に読み出しアドレスとして与えられ、これによって、特定のキューチェーンの先頭セルが読み出される。上記ポインタアドレスは、共通バッファメモリからのセルの読み出しが終わると空アドレスとなるため、ラインＬ３３を介して空アドレスバッファ1１１３に格納される。この時、共通バッファメモリ１１からは、上記セルと対をなして次のポインタアドレスが読み出されており、このポインタアドレスが読み出しアドレスメモリ１１２に新たなポインタアドレスとして書き込まれる。
上述した動作によって、共通バッファメモリ１１２内では、書き込みサイクル毎に何れかのキューチェーンの後尾に新たなセルが追加され、指定のキューチェーンが空でない限り、読み出しサイクル毎に何れかのキューチェーンの先頭セルが取り外される。
【００４２】
共通バッファメモリ輻輳状態判定回路１０６は、 図１に示したスイッチコア部のＦＩＦＯ輻輳状態判定回路１０６と同様の機能を有し、ＦＩＦＯ長カウンタ３０９からラインＬ５２経由で各ポート毎のバッファ使用量を受け、ラインＬ４５に輻輳状態を出力する。なお、図１のＦＩＦＯ輻輳状態判定回路１０６では、ＦＩＦＯ３０２の容量がＦＩＦＯ長カウンタ３０４の最大値であったのに対し、上記ＦＩＦＯ長カウンタ３０９の場合、各ポート毎のバッファ使用量に対応するＦＩＦＯ長閾値レジスタ５１０の設定値として、共通バッファメモリ１１全体の容量をポート数で割った値よりも大きい値を設定することが可能であり、輻輳発生時のバッファ利用率を向上できる利点がある。
【００４３】
ＶＣＩ別カウンタ制御回路３０６は、 共通バッファ１１へのセル書き込みサイクルにおいて、ラインＬ４２から入力されるＶＣＩ情報と対応するＶＣＩ別カウンタ３０８内のセルカウント値をカウントアップし、逆に、共通バッファからのセル読み出しサイクルにおいて、ラインＬ４１から入力されるＶＣＩ情報と対応する上記ＶＣＩ別カウンタ３０８内のセルカウント値をカウントダウンする。
上記ＶＣＩ別カウンタ３０８は、多重器１２で多重化中のセルのＶＣＩ情報がラインＬ４３から入力されると、これと対応するセルカウント値をラインＬ４４に出力する。
ＦＩＦＯ長カウンタ制御回路３０７は、共通バッファ１１へのセル書き込みサイクルにおいて、ラインＬ４２から入力されるポート情報と対応するＦＩＦＯ長カウンタ３０９内のポート別のセルカウント値をカウントアップし、逆に、共通バッファからのセル読み出しサイクルにおいて、ラインＬ４１から入力されるポート情報と対応する上記ＦＩＦＯ長カウンタ３０９内のポート別セルカウント値をカウントダウンする。ポート毎のセルカウント値、すなわちＦＩＦＯ長の値は、ラインＬ５２を介して共通バッファメモリ輻輳状態判定回路１０６に転送される。
【００４４】
セル廃棄判定ユニット１３７は、図１に示したセル廃棄判定ユニット136と類似の構成を有し、ラインＬ４３から、多重器１２で多重化中のセルのＰＴＹ２１４、出力ＶＣＩ２２６、出力ポート２２１、トラヒッククラス２２２、トラヒックサブクラス２２５、セル廃棄閾値２２７およびパケット廃棄中情報２２８を受信し、ラインＬ４５から、共通バッファメモリの輻輳状態情報を受信し、ラインＬ４４から、多重器１２で多重化中のセルの出力ＶＣＩ２２６を受信し、ＶＣＩ別カウンタ３０８から、上記出力ＶＣＩ２２６に対応するセルカウント値を受信する。ラインＬ４５は、図４のライン１５２に対応する信号線である。セル廃棄判定ユニット１３７は、図４のセル廃棄判定ユニット１３６と違って、ラインＬ５１経由で、空きアドレスバッファ１０３から共通バッファメモリ１１全体の空きアドレス量（空きバッファ容量）を受信し、空きアドレスが無くなった場合は、多重器１２で多重化中のセルを無条件で廃棄するようにしている。
【００４５】
以上、本発明の１実施例として、Ｎ×Ｎのセルスイッチを例に挙げて説明したが、本発明によるセル廃棄制御は、例えば、Ｎ入力１出力の多重化装置や、１入力１出力の速度変換バッファ等の他の通信装置にも適用可能である。
また、実施例では、上位プロトコルパケットの区切りを認識し、パケット単位でセル廃棄するモードについて説明したが、輻輳発生時に、上位プロトコルパケットの区切りを待つことなく直ちにセル廃棄を開始し、部分的にセルが欠落したパケットについては、パケット区切りのセルまで廃棄を継続する廃棄モードとしてもよい。また、輻輳の状態に応じて、これらの廃棄モードを選択的に切り替えたり、上位プロトコルパケットを認識せずにセル廃棄を行うようにしてもよい。
【図面の簡単な説明】
【００４６】
【図１】本発明を適用したパケット交換機の一実施例を示すブロック図。
【図２】入力セル、内部セル、および制御メッセージフォーマットの一例を示す図。
【図３】図１における出力ＦＩＦＯ１０７の一実施例を示すブロック図。
【図４】図１におけるセル廃棄判定ユニット１３６の一実施例を示すブロック図。
【図５】図１におけるＦＩＦＯ輻輳状態判定回路１０６の一実施例を示すブロック図。
【図６】図４に示したＦＩＦＯ輻輳レベル判定回路４３０の機能を表す状態遷移図。
【図７】図４に示したパケット廃棄判定回路４１０の機能を示すフローチャート。
【図８】図７における上位パケットレベル廃棄判定処理７３０の詳細を示すフローチャート。
【図９】図４におけるＶＣＩ輻輳レベル判定回路４４０の機能を表すグラフ。
【図１０】本発明を適用したパケット交換機の他の実施例を示すブロック図。
【符号の説明】
【００４７】
100：スイッチ、102：入力回線対応部、106：輻輳状態判定回路、
107：FIFO出力バッファ、108：出力回線対応部、132：ヘッダ変換部、
136：セル廃棄判定ユニット、140：コネクション処理部。
【図１】
0003848962.tif 000002
【図２】
0003848962.tif 000003
【図３】
0003848962.tif 000004
【図４】
0003848962.tif 000005
【図５】
0003848962.tif 000006
【図６】
0003848962.tif 000007
【図７】
0003848962.tif 000008
【図８】
0003848962.tif 000009
【図９】
0003848962.tif 000010
【図１０】
0003848962.tif 000011